Skip to content

v10.4.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 03:23
· 24 commits to main since this release
a420e9d

Version 10.4.0 adds a new ToggleGroup component, expands import paths, enhances CodeEditor, Space, and Toast APIs, and updates an internal hook dependency.

New and Updated Features

  • ToggleGroup – independently pressed action buttons (e.g., text formatting or filter chips) with support for icons, icon‑only display, disabled states, sizes, vertical orientation, and RTL keyboard navigation. onChange reports pressed values in option order.
  • Prop‑type exports – the root entry now exports the prop types of 18 atoms: ButtonProps, CheckboxProps, ColorPickerProps, DatePickerProps, FloatButtonProps, InputProps, PopoverProps, ProgressProps, RadioProps, RichTextEditorProps, SelectProps, SkeletonProps, SliderProps, SpinProps, SwitchProps, TagProps, TooltipProps, and TypographyProps (type‑only, no runtime change).
  • CodeEditor – added a language prop. An Extension replaces the built‑in JS/TS/JSX mode; passing null renders plain text. Omitted, the editor behaves as before.
  • Deep‑import subpaths – 30 components now have dedicated subpaths (e.g., import Modal from '@jbpark/ui-kit/Modal'). Each subpath exposes only a default export, matching existing patterns.
  • Space – added a justify prop for main‑axis placement (start, end, center, space-between, space-around, space-evenly) in both horizontal and vertical layouts, and a stretch option for align. Defaults remain unchanged.
  • Toast – new placement options (top-start, top, top-end, bottom-start, bottom, bottom-end), update‑by‑ID, loading status, visible‑toast limit, and Toast.config({ maxCount, placement, duration }). Toasts beyond maxCount are queued instead of dropped. onClose now runs at most once per toast, and toasts fit narrow screens.

Dependency Update

  • Updated @jbpark/use-hooks to 4.6.0. Tour now tracks its step target with useElementPosition (no listeners or observers while closed), and Mentions and Layout.Sider read their latest callbacks through useLatest. Behavior is unchanged.

What's Changed

  • refactor(ui): adopt use-hooks 4.6 for tour target tracking and latest callbacks by @pjb0811 in #530
  • ci: run Storybook stories and play functions in CI by @pjb0811 in #533
  • chore(deps): update dependency @tsdown/css to v0.23.1 by @renovate[bot] in #520
  • chore(deps): update dependency prettier to v3.9.10 by @renovate[bot] in #521
  • docs: point CLAUDE.md at the shared global instructions by @pjb0811 in #535
  • feat(space): add main-axis justify and stretch alignment by @pjb0811 in #536
  • feat(toggle-group): add independently pressed action button groups by @pjb0811 in #537
  • feat(toast): add placement, update by id, loading status, and max visible toasts by @pjb0811 in #540
  • docs: align CLAUDE.md component template and core list with the code by @pjb0811 in #547
  • feat(ui): export the props types of 18 atoms from the root entry by @pjb0811 in #548
  • refactor(ui): move Empty to molecules so Table no longer imports a higher tier by @pjb0811 in #549
  • docs(web): add Tooltip and Tabs pages and fail when a component has no page by @pjb0811 in #550
  • feat(ui): add deep-import subpaths for the 30 components that lacked one by @pjb0811 in #551
  • docs(ui): list every component and export in the package README by @pjb0811 in #552
  • feat(ui): add a language prop to CodeEditor by @pjb0811 in #553
  • chore: version packages by @github-actions[bot] in #531

Full Changelog: v10.3.0...v10.4.0