themelia-ui 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/themelia-ui/SKILL.md +50 -50
- package/.agents/skills/themelia-ui/references/api-compatibility.md +7 -7
- package/.agents/skills/themelia-ui/references/composition-ladder.md +6 -6
- package/.agents/skills/themelia-ui/references/composition.md +28 -27
- package/.agents/skills/themelia-ui/references/forms.md +6 -2
- package/.agents/skills/themelia-ui/references/framework-wiring.md +28 -13
- package/.agents/skills/themelia-ui/references/i18n.md +4 -4
- package/.agents/skills/themelia-ui/references/imports.md +11 -12
- package/.agents/skills/themelia-ui/references/installation.md +47 -31
- package/.agents/skills/themelia-ui/references/migration.md +106 -42
- package/.agents/skills/themelia-ui/references/provider-and-scoping.md +19 -7
- package/.agents/skills/themelia-ui/references/theming.md +127 -101
- package/.agents/skills/themelia-ui/references/troubleshooting.md +55 -29
- package/.agents/skills/themelia-ui/references/verification.md +7 -7
- package/CHANGELOG.md +618 -959
- package/README.md +208 -400
- package/SECURITY.md +47 -50
- package/dist/{accordion-DLW9FGTP.js → accordion-6YPJ9XRO.js} +3 -5
- package/dist/{action-menu-DqQX1_H8.js → action-menu-BNLURfMK.js} +4 -5
- package/dist/admin/patterns/access.js +10 -12
- package/dist/admin/patterns/commerce.js +22 -23
- package/dist/{alert-dialog-DzqaOiE5.js → alert-dialog-BMVo6Z-8.js} +1 -1
- package/dist/{avatar-2v-o_zEv.js → avatar-CS7zow2q.js} +1 -2
- package/dist/{badge-D34FkKLD.js → badge-CxOuTfVr.js} +2 -3
- package/dist/base/accordion.js +1 -2
- package/dist/base/action-menu.js +1 -2
- package/dist/base/alert-dialog.js +1 -2
- package/dist/base/aspect-ratio.js +0 -2
- package/dist/base/avatar.js +1 -2
- package/dist/base/badge.js +1 -2
- package/dist/base/batch-action-bar.js +1 -2
- package/dist/base/buttons.js +1 -2
- package/dist/base/cards.js +1 -2
- package/dist/base/carousel.js +1 -3
- package/dist/base/chart.js +0 -1
- package/dist/base/choice-inputs.js +1 -2
- package/dist/base/combobox.js +1 -2
- package/dist/base/command.js +1 -2
- package/dist/base/context-menu.js +2 -3
- package/dist/base/copyable.js +1 -2
- package/dist/base/date-pickers.js +1 -2
- package/dist/base/dialog.js +1 -2
- package/dist/base/display.js +1 -2
- package/dist/base/dropdown-menu.js +1 -2
- package/dist/base/feedback.js +1 -2
- package/dist/base/forms-numeric.js +1 -2
- package/dist/base/forms.js +1 -2
- package/dist/base/hover-card.js +1 -3
- package/dist/base/input-group.js +1 -2
- package/dist/base/item.js +1 -2
- package/dist/base/label.js +1 -2
- package/dist/base/menubar.js +0 -2
- package/dist/base/navigation-menu.js +1 -3
- package/dist/base/navigation.js +1 -2
- package/dist/base/otp-input.js +2 -4
- package/dist/base/overlay.js +1 -2
- package/dist/base/popover-menu.js +1 -2
- package/dist/base/popover.js +1 -2
- package/dist/base/qr-code.js +47 -45
- package/dist/base/repeaters.js +1 -2
- package/dist/base/resizable.js +0 -2
- package/dist/base/sheet.js +1 -2
- package/dist/base/sidebar.js +1 -2
- package/dist/base/skeleton.js +1 -2
- package/dist/base/spinner.js +1 -2
- package/dist/base/structure.js +0 -1
- package/dist/base/table.js +1 -2
- package/dist/base/text-inputs.js +1 -2
- package/dist/base/timeline.js +1 -2
- package/dist/base/toaster.js +1 -2
- package/dist/base/toggle.js +0 -2
- package/dist/base/toolbar.js +1 -2
- package/dist/base/tooltip.js +1 -2
- package/dist/base/typography.js +1 -2
- package/dist/base/upload.js +1 -2
- package/dist/base/value-inputs.js +1 -2
- package/dist/{batch-action-bar-BRCopWlT.js → batch-action-bar-BZYNKXdV.js} +2 -3
- package/dist/{buttons-Corm-KHK.js → buttons-CqXKWty3.js} +4 -4
- package/dist/{cards-CEtNjl6A.js → cards-C6Ulbkw7.js} +8 -10
- package/dist/chart-nomhJ87z.js +0 -1
- package/dist/{choice-inputs-Ca9PoQwa.js → choice-inputs-OUDn0kQw.js} +7 -8
- package/dist/{combobox-Dl1xWnR7.js → combobox-C8oP92bT.js} +8 -10
- package/dist/{command-DWZf3CPI.js → command-Bp3B6pUu.js} +3 -4
- package/dist/{comments-CIZ1L-DR.js → comments-CAnDlyXO.js} +487 -494
- package/dist/components/admin/patterns/access/credential-list.d.ts +2 -1
- package/dist/components/admin/patterns/access/role-permissions.d.ts +1 -0
- package/dist/components/admin/patterns/access/sensitive-action.d.ts +4 -1
- package/dist/components/admin/patterns/commerce/account.d.ts +2 -1
- package/dist/components/admin/patterns/commerce/booking.d.ts +4 -0
- package/dist/components/admin/patterns/commerce/cart.d.ts +18 -15
- package/dist/components/admin/patterns/commerce/commerce.types.d.ts +2 -2
- package/dist/components/admin/patterns/commerce/inventory-section.d.ts +13 -1
- package/dist/components/admin/patterns/commerce/loyalty.d.ts +5 -1
- package/dist/components/admin/patterns/commerce/order-detail.d.ts +31 -9
- package/dist/components/admin/patterns/commerce/order-line-item.d.ts +4 -1
- package/dist/components/admin/patterns/commerce/order-transactions.d.ts +4 -0
- package/dist/components/admin/patterns/commerce/order.d.ts +8 -2
- package/dist/components/admin/patterns/commerce/seo-listing.d.ts +8 -2
- package/dist/components/admin/patterns/commerce/seo-score.d.ts +4 -0
- package/dist/components/admin/patterns/commerce/summary-panel.d.ts +16 -1
- package/dist/components/admin/patterns/commerce/vendor-profile.d.ts +10 -1
- package/dist/components/base/accordion/accordion.d.ts +11 -3
- package/dist/components/base/action-menu/action-menu.d.ts +56 -14
- package/dist/components/base/action-menu/action-menu.types.d.ts +27 -15
- package/dist/components/base/action-menu/index.d.ts +2 -1
- package/dist/components/base/alert-dialog/alert-dialog.d.ts +10 -0
- package/dist/components/base/aspect-ratio/aspect-ratio.d.ts +3 -2
- package/dist/components/base/avatar/avatar.d.ts +14 -1
- package/dist/components/base/avatar/stacked-avatars.d.ts +8 -3
- package/dist/components/base/badge/badge.d.ts +10 -6
- package/dist/components/base/batch-action-bar/batch-action-bar.d.ts +2 -1
- package/dist/components/base/buttons/button-group.d.ts +11 -2
- package/dist/components/base/buttons/button.d.ts +17 -7
- package/dist/components/base/buttons/loader-button.d.ts +11 -3
- package/dist/components/base/buttons/text-button.d.ts +14 -1
- package/dist/components/base/buttons/tooltip-button.d.ts +8 -2
- package/dist/components/base/cards/card-actions.d.ts +25 -8
- package/dist/components/base/cards/card-skeleton.d.ts +8 -0
- package/dist/components/base/cards/card.d.ts +44 -9
- package/dist/components/base/cards/index.d.ts +1 -0
- package/dist/components/base/carousel/carousel-context.d.ts +4 -0
- package/dist/components/base/carousel/carousel.d.ts +35 -3
- package/dist/components/base/chart/chart.d.ts +39 -3
- package/dist/components/base/chart/sparkline.d.ts +5 -0
- package/dist/components/base/choice-inputs/card-checkbox-group.d.ts +8 -0
- package/dist/components/base/choice-inputs/card-radio-group.d.ts +15 -1
- package/dist/components/base/choice-inputs/checkbox.d.ts +12 -2
- package/dist/components/base/choice-inputs/list-radio-group.d.ts +10 -0
- package/dist/components/base/choice-inputs/pill-radio-group.d.ts +14 -2
- package/dist/components/base/choice-inputs/radio.d.ts +14 -2
- package/dist/components/base/choice-inputs/select-popup.d.ts +19 -1
- package/dist/components/base/choice-inputs/select.d.ts +52 -11
- package/dist/components/base/choice-inputs/switch-card.d.ts +5 -0
- package/dist/components/base/choice-inputs/switch.d.ts +8 -1
- package/dist/components/base/choice-inputs/toggle-field.d.ts +15 -2
- package/dist/components/base/combobox/combobox-filter.d.ts +4 -0
- package/dist/components/base/combobox/combobox.d.ts +50 -13
- package/dist/components/base/command/command.d.ts +23 -4
- package/dist/components/base/context-menu/context-menu.d.ts +33 -0
- package/dist/components/base/copyable/copyable.d.ts +26 -8
- package/dist/components/base/copyable/use-copy-to-clipboard.d.ts +7 -5
- package/dist/components/base/date-pickers/calendar.d.ts +21 -4
- package/dist/components/base/date-pickers/date-picker-bands.d.ts +9 -0
- package/dist/components/base/date-pickers/date-picker.d.ts +28 -5
- package/dist/components/base/date-pickers/month-year-picker.d.ts +4 -0
- package/dist/components/base/date-pickers/presets-pickers.d.ts +7 -0
- package/dist/components/base/date-pickers/time-picker.d.ts +9 -2
- package/dist/components/base/dialog/dialog.d.ts +8 -0
- package/dist/components/base/direction/direction.d.ts +10 -0
- package/dist/components/base/display/boolean-indicator.d.ts +6 -1
- package/dist/components/base/display/collapsible.d.ts +9 -0
- package/dist/components/base/display/content-block.d.ts +13 -2
- package/dist/components/base/display/date-block.d.ts +26 -6
- package/dist/components/base/display/icon-badge.d.ts +10 -1
- package/dist/components/base/display/inline-stat.d.ts +10 -3
- package/dist/components/base/display/kbd.d.ts +10 -1
- package/dist/components/base/display/metadata-list.d.ts +41 -5
- package/dist/components/base/display/placeholder-pattern.d.ts +5 -0
- package/dist/components/base/display/scroll-area.d.ts +4 -0
- package/dist/components/base/display/separator.d.ts +14 -2
- package/dist/components/base/display/visually-hidden.d.ts +4 -0
- package/dist/components/base/dropdown-menu/dropdown-menu.d.ts +50 -4
- package/dist/components/base/feedback/alert-metadata.d.ts +2 -0
- package/dist/components/base/feedback/alert.d.ts +16 -2
- package/dist/components/base/feedback/empty-illustrations.d.ts +24 -5
- package/dist/components/base/feedback/empty.d.ts +30 -3
- package/dist/components/base/feedback/progress-circle.d.ts +17 -2
- package/dist/components/base/feedback/progress.d.ts +9 -0
- package/dist/components/base/feedback/states.d.ts +12 -2
- package/dist/components/base/forms/field-group.d.ts +7 -0
- package/dist/components/base/forms/form-field.d.ts +19 -5
- package/dist/components/base/forms/workflow.d.ts +27 -4
- package/dist/components/base/forms-numeric/currency-input.d.ts +19 -2
- package/dist/components/base/forms-numeric/currency-symbols.d.ts +5 -1
- package/dist/components/base/forms-numeric/decimal-input.d.ts +17 -6
- package/dist/components/base/forms-numeric/decimal.format.d.ts +8 -1
- package/dist/components/base/forms-numeric/money-input.d.ts +5 -0
- package/dist/components/base/forms-numeric/percentage-input.d.ts +6 -0
- package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +4 -0
- package/dist/components/base/forms-numeric/unit-inputs.d.ts +56 -6
- package/dist/components/base/hover-card/hover-card.d.ts +13 -2
- package/dist/components/base/input-group/input-group.d.ts +39 -16
- package/dist/components/base/item/item.d.ts +38 -17
- package/dist/components/base/label/label.d.ts +12 -1
- package/dist/components/base/menubar/menubar.d.ts +13 -1
- package/dist/components/base/navigation/breadcrumbs.d.ts +16 -1
- package/dist/components/base/navigation/index.d.ts +1 -0
- package/dist/components/base/navigation/language-switcher.d.ts +12 -1
- package/dist/components/base/navigation/navigation-tabs.d.ts +8 -2
- package/dist/components/base/navigation/navigation-tabs.strings.d.ts +4 -0
- package/dist/components/base/navigation/overflow-tab-bar.d.ts +14 -0
- package/dist/components/base/navigation/page-heading.d.ts +5 -2
- package/dist/components/base/navigation/pagination.d.ts +32 -18
- package/dist/components/base/navigation/pagination.range.d.ts +4 -1
- package/dist/components/base/navigation/tabs.d.ts +23 -4
- package/dist/components/base/navigation-menu/navigation-menu.d.ts +20 -5
- package/dist/components/base/otp-input/otp-input.d.ts +18 -2
- package/dist/components/base/overlay/overlay.d.ts +22 -4
- package/dist/components/base/overlay/overlay.types.d.ts +54 -6
- package/dist/components/base/overlay/partials/overlay-body.d.ts +4 -1
- package/dist/components/base/overlay/partials/overlay-description.d.ts +4 -1
- package/dist/components/base/overlay/partials/overlay-footer.d.ts +4 -1
- package/dist/components/base/overlay/partials/overlay-header.d.ts +5 -1
- package/dist/components/base/overlay/partials/overlay-title.d.ts +4 -1
- package/dist/components/base/popover/popover.d.ts +50 -6
- package/dist/components/base/popover-menu/popover-menu.d.ts +81 -23
- package/dist/components/base/popover-menu/popover-menu.strings.d.ts +6 -1
- package/dist/components/base/popover-menu/popover-menu.types.d.ts +4 -0
- package/dist/components/base/qr-code/qr-code.d.ts +20 -4
- package/dist/components/base/repeaters/key-value-editor.d.ts +9 -1
- package/dist/components/base/repeaters/localized-fields.d.ts +11 -1
- package/dist/components/base/repeaters/localized-string-repeater.d.ts +6 -0
- package/dist/components/base/repeaters/object-repeater.d.ts +12 -1
- package/dist/components/base/repeaters/repeater.d.ts +27 -4
- package/dist/components/base/repeaters/string-repeater.d.ts +2 -0
- package/dist/components/base/resizable/resizable.d.ts +15 -2
- package/dist/components/base/sheet/sheet.d.ts +14 -1
- package/dist/components/base/sidebar/sidebar-context.d.ts +17 -3
- package/dist/components/base/sidebar/sidebar-store.d.ts +4 -2
- package/dist/components/base/sidebar/sidebar.d.ts +81 -14
- package/dist/components/base/skeleton/composed-skeletons.d.ts +17 -3
- package/dist/components/base/skeleton/skeleton.d.ts +1 -0
- package/dist/components/base/slot/slot.d.ts +5 -4
- package/dist/components/base/spinner/spinner.d.ts +12 -1
- package/dist/components/base/structure/bleed.d.ts +9 -2
- package/dist/components/base/structure/split.d.ts +15 -6
- package/dist/components/base/structure/stack.d.ts +25 -4
- package/dist/components/base/table/table.d.ts +30 -3
- package/dist/components/base/text-inputs/field-shell.d.ts +5 -0
- package/dist/components/base/text-inputs/input.d.ts +27 -8
- package/dist/components/base/text-inputs/native-select.d.ts +4 -0
- package/dist/components/base/text-inputs/password-input.d.ts +9 -1
- package/dist/components/base/text-inputs/search-input.d.ts +18 -1
- package/dist/components/base/text-inputs/slug-field.d.ts +13 -3
- package/dist/components/base/text-inputs/slugify.d.ts +1 -0
- package/dist/components/base/text-inputs/textarea.d.ts +16 -4
- package/dist/components/base/text-inputs/use-field-value.d.ts +3 -2
- package/dist/components/base/timeline/stepper.d.ts +24 -4
- package/dist/components/base/timeline/timeline.d.ts +21 -2
- package/dist/components/base/toaster/toast-store.d.ts +24 -4
- package/dist/components/base/toaster/toaster.d.ts +25 -5
- package/dist/components/base/toggle/toggle.d.ts +20 -6
- package/dist/components/base/toolbar/toolbar.d.ts +14 -5
- package/dist/components/base/tooltip/tooltip.d.ts +12 -2
- package/dist/components/base/typography/rich-text/rich-text.d.ts +6 -0
- package/dist/components/base/typography/text/text.d.ts +16 -8
- package/dist/components/base/upload/dropzone.d.ts +6 -0
- package/dist/components/base/upload/file-picker-input.d.ts +5 -0
- package/dist/components/base/upload/file-upload.d.ts +25 -6
- package/dist/components/base/upload/media-gallery.d.ts +4 -0
- package/dist/components/base/upload/media-upload.d.ts +15 -2
- package/dist/components/base/upload/preview-image.d.ts +4 -0
- package/dist/components/base/upload/upload-queue.d.ts +22 -5
- package/dist/components/base/upload/upload.types.d.ts +6 -1
- package/dist/components/base/upload/use-file-drop-target.d.ts +3 -2
- package/dist/components/base/upload/validate-files.d.ts +4 -1
- package/dist/components/base/value-inputs/color-input.d.ts +23 -4
- package/dist/components/base/value-inputs/date-time-input.d.ts +4 -0
- package/dist/components/base/value-inputs/phone-input.d.ts +25 -6
- package/dist/components/base/value-inputs/slider.d.ts +32 -4
- package/dist/components/base/value-inputs/tags-input.d.ts +19 -5
- package/dist/components/features/actions/action-adapters.d.ts +15 -0
- package/dist/components/features/actions/action-overlay-outlet.d.ts +4 -0
- package/dist/components/features/actions/action-provider.d.ts +1 -0
- package/dist/components/features/actions/action-scope.d.ts +4 -0
- package/dist/components/features/actions/action-store.d.ts +4 -0
- package/dist/components/features/actions/actions.types.d.ts +10 -0
- package/dist/components/features/actions/hooks.d.ts +22 -0
- package/dist/components/features/activities/activities-feed.d.ts +1 -0
- package/dist/components/features/activities/activities.types.d.ts +70 -9
- package/dist/components/features/activities/activity-headline.d.ts +5 -0
- package/dist/components/features/activities/activity-log.d.ts +4 -0
- package/dist/components/features/activities/activity-parts.d.ts +25 -1
- package/dist/components/features/activities/activity-row.d.ts +5 -0
- package/dist/components/features/activities/use-activity-resources.d.ts +5 -0
- package/dist/components/features/ai-chat/ai-chat-parts.d.ts +19 -0
- package/dist/components/features/ai-chat/ai-chat.d.ts +34 -2
- package/dist/components/features/ai-chat/ai-chat.types.d.ts +13 -3
- package/dist/components/features/ai-chat/ai-content-surfaces.d.ts +11 -0
- package/dist/components/features/ai-chat/ai-message-surfaces.d.ts +8 -0
- package/dist/components/features/ai-chat/ai-work-surfaces.d.ts +14 -0
- package/dist/components/features/ai-chat/use-ai-chat-scroll.d.ts +6 -0
- package/dist/components/features/async-preview/async-preview-bundles.d.ts +4 -1
- package/dist/components/features/async-preview/async-preview-context.d.ts +4 -0
- package/dist/components/features/async-preview/async-preview.d.ts +24 -1
- package/dist/components/features/async-preview/async-preview.types.d.ts +38 -6
- package/dist/components/features/async-preview/preview-trigger-cell.d.ts +8 -1
- package/dist/components/features/async-preview/use-async-preview.d.ts +4 -0
- package/dist/components/features/combobox/async-combobox.d.ts +10 -0
- package/dist/components/features/combobox/combobox-dropdown.d.ts +5 -0
- package/dist/components/features/combobox/combobox.types.d.ts +30 -2
- package/dist/components/features/combobox/highlighted-text.d.ts +4 -0
- package/dist/components/features/combobox/resource-combobox.d.ts +20 -2
- package/dist/components/features/combobox/suggestions-combobox.d.ts +8 -0
- package/dist/components/features/combobox/use-combobox-core.d.ts +5 -0
- package/dist/components/features/combobox/use-suggestions.d.ts +10 -0
- package/dist/components/features/comments/comment-attachment-chip.d.ts +5 -0
- package/dist/components/features/comments/comment-content.d.ts +6 -1
- package/dist/components/features/comments/comment-item.d.ts +6 -0
- package/dist/components/features/comments/comments.d.ts +5 -0
- package/dist/components/features/comments/comments.types.d.ts +60 -9
- package/dist/components/features/comments/use-attachment-upload.d.ts +5 -0
- package/dist/components/features/comments/use-comments.d.ts +5 -0
- package/dist/components/features/data-view/data-view.d.ts +25 -1
- package/dist/components/features/data-view/data-view.types.d.ts +37 -2
- package/dist/components/features/data-view/use-data-view.d.ts +6 -0
- package/dist/components/features/event-calendar/event-calendar-day-cell.d.ts +5 -0
- package/dist/components/features/event-calendar/event-calendar-event-badge.d.ts +4 -0
- package/dist/components/features/event-calendar/event-calendar-event-card.d.ts +5 -0
- package/dist/components/features/event-calendar/event-calendar-header.d.ts +4 -0
- package/dist/components/features/event-calendar/event-calendar-legend.d.ts +4 -0
- package/dist/components/features/event-calendar/event-calendar.d.ts +4 -0
- package/dist/components/features/event-calendar/event-calendar.types.d.ts +39 -6
- package/dist/components/features/event-calendar/use-event-calendar.d.ts +5 -0
- package/dist/components/features/filters/filter-cache.d.ts +14 -8
- package/dist/components/features/filters/filter-context.d.ts +15 -1
- package/dist/components/features/filters/filter-editors.d.ts +25 -1
- package/dist/components/features/filters/filter-error-boundary.d.ts +5 -0
- package/dist/components/features/filters/filter-layout.d.ts +10 -1
- package/dist/components/features/filters/filter-operator-select.d.ts +5 -0
- package/dist/components/features/filters/filter-pill.d.ts +5 -0
- package/dist/components/features/filters/filter-query.d.ts +10 -0
- package/dist/components/features/filters/filter-tabs.d.ts +9 -0
- package/dist/components/features/filters/filter-value-display.d.ts +5 -0
- package/dist/components/features/filters/filters-button.d.ts +5 -0
- package/dist/components/features/filters/filters.types.d.ts +26 -2
- package/dist/components/features/filters/search-filters.d.ts +6 -0
- package/dist/components/features/filters/use-async-options.d.ts +5 -0
- package/dist/components/features/filters/use-filter-groups.d.ts +6 -0
- package/dist/components/features/global-search/global-search-dialog.d.ts +4 -0
- package/dist/components/features/global-search/global-search-empty-state.d.ts +1 -0
- package/dist/components/features/global-search/global-search-footer.d.ts +4 -0
- package/dist/components/features/global-search/global-search-idle-state.d.ts +4 -0
- package/dist/components/features/global-search/global-search-input.d.ts +4 -0
- package/dist/components/features/global-search/global-search-result-row.d.ts +4 -0
- package/dist/components/features/global-search/global-search-tabs.d.ts +4 -0
- package/dist/components/features/global-search/global-search.d.ts +5 -0
- package/dist/components/features/global-search/global-search.types.d.ts +36 -6
- package/dist/components/features/global-search/use-global-search.d.ts +5 -0
- package/dist/components/features/kanban/kanban-context.d.ts +2 -0
- package/dist/components/features/kanban/kanban.d.ts +22 -0
- package/dist/components/features/kanban/kanban.types.d.ts +24 -3
- package/dist/components/features/kanban/use-kanban.d.ts +5 -0
- package/dist/components/features/map/map-runtime.d.ts +8 -1
- package/dist/components/features/map/map.d.ts +132 -10
- package/dist/components/features/map/place-autocomplete.d.ts +4 -0
- package/dist/components/features/map/place-search.d.ts +5 -1
- package/dist/components/features/media-library/media-library-detail.d.ts +4 -0
- package/dist/components/features/media-library/media-library-parts.d.ts +22 -3
- package/dist/components/features/media-library/media-library-table.d.ts +4 -1
- package/dist/components/features/media-library/media-library-views.d.ts +8 -0
- package/dist/components/features/media-library/media-library.d.ts +4 -0
- package/dist/components/features/media-library/media-library.types.d.ts +50 -4
- package/dist/components/features/media-library/media-preview.d.ts +4 -2
- package/dist/components/features/media-library/media-resource-gallery.d.ts +5 -0
- package/dist/components/features/media-library/use-media-library.d.ts +6 -1
- package/dist/components/features/mentions/mention-content.d.ts +8 -2
- package/dist/components/features/mentions/mention-html.d.ts +4 -3
- package/dist/components/features/mentions/mention-inline-suggestions.d.ts +8 -1
- package/dist/components/features/mentions/mention-picker.d.ts +5 -0
- package/dist/components/features/mentions/mention-suggestion-list.d.ts +8 -0
- package/dist/components/features/mentions/mentions.types.d.ts +4 -1
- package/dist/components/features/mentions/use-mentions-search.d.ts +23 -2
- package/dist/components/features/mentions/use-mentions.d.ts +14 -2
- package/dist/components/features/overlays/action-dialog.d.ts +5 -0
- package/dist/components/features/overlays/action-sheet.d.ts +4 -0
- package/dist/components/features/overlays/overlays.types.d.ts +53 -11
- package/dist/components/features/overlays/use-overlay-actions.d.ts +5 -0
- package/dist/components/features/overlays/use-overlay-visibility.d.ts +10 -1
- package/dist/components/features/products/product-cards.d.ts +16 -0
- package/dist/components/features/products/product-options-matrix.d.ts +5 -0
- package/dist/components/features/products/product-parts.d.ts +40 -4
- package/dist/components/features/products/product-variant-details.d.ts +5 -0
- package/dist/components/features/products/product-variant-editor.d.ts +4 -0
- package/dist/components/features/products/product-variants.d.ts +4 -0
- package/dist/components/features/products/products.types.d.ts +91 -9
- package/dist/components/features/resource/resource.d.ts +14 -0
- package/dist/components/features/resource/resource.types.d.ts +36 -8
- package/dist/components/features/resource-assignment/resource-assignment.d.ts +13 -3
- package/dist/components/features/resource-assignment/resource-assignment.types.d.ts +49 -8
- package/dist/components/features/resource-assignment/use-shared-resource-card.d.ts +4 -0
- package/dist/components/features/rich-text-editor/rich-text-editor-toolbar.d.ts +7 -2
- package/dist/components/features/rich-text-editor/rich-text-editor.d.ts +9 -0
- package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +52 -13
- package/dist/components/features/schema-form/schema-form-actions.d.ts +5 -0
- package/dist/components/features/schema-form/schema-form-field.d.ts +5 -0
- package/dist/components/features/schema-form/schema-form.d.ts +4 -0
- package/dist/components/features/schema-form/schema-form.types.d.ts +53 -5
- package/dist/components/features/schema-form/use-schema-form.d.ts +5 -0
- package/dist/components/features/sync/sync-range-form.d.ts +4 -0
- package/dist/components/features/sync/sync.types.d.ts +9 -2
- package/dist/components/features/table/cell-renderers.d.ts +26 -1
- package/dist/components/features/table/cell-value.d.ts +5 -0
- package/dist/components/features/table/column-visibility-toggle.d.ts +1 -0
- package/dist/components/features/table/data-table-actions.d.ts +4 -0
- package/dist/components/features/table/data-table-body.d.ts +1 -0
- package/dist/components/features/table/data-table-header.d.ts +4 -0
- package/dist/components/features/table/data-table-size.d.ts +1 -0
- package/dist/components/features/table/data-table-toolbar.d.ts +5 -0
- package/dist/components/features/table/fullscreen-toggle.d.ts +4 -0
- package/dist/components/features/table/index.d.ts +2 -1
- package/dist/components/features/table/resource-cell.d.ts +3 -8
- package/dist/components/features/table/table.types.d.ts +54 -6
- package/dist/components/features/table/use-fullscreen-modality.d.ts +5 -0
- package/dist/components/features/table/use-table-scroll.d.ts +5 -0
- package/dist/components/features/theme-tweaker/theme-scope.d.ts +5 -0
- package/dist/components/features/theme-tweaker/theme-tweaker.d.ts +6 -0
- package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +8 -1
- package/dist/components/features/theme-tweaker/ui-config-settings.d.ts +5 -0
- package/dist/components/features/theme-tweaker/use-applied-theme.d.ts +12 -0
- package/dist/components/layout/app-shell/app-shell.d.ts +33 -5
- package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +25 -2
- package/dist/components/layout/auth/auth-card.d.ts +9 -1
- package/dist/components/layout/auth/auth.d.ts +25 -5
- package/dist/components/layout/auth/auth.types.d.ts +1 -0
- package/dist/components/layout/auth/index.d.ts +1 -0
- package/dist/components/layout/containers/containers.d.ts +6 -5
- package/dist/components/layout/header/header.d.ts +7 -2
- package/dist/components/layout/header/index.d.ts +1 -0
- package/dist/components/layout/header/partials/header-breadcrumbs.d.ts +6 -0
- package/dist/components/layout/header/partials/header-notifications.d.ts +5 -0
- package/dist/components/layout/header/partials/header-search.d.ts +8 -2
- package/dist/components/layout/header/partials/header-tool.d.ts +9 -1
- package/dist/components/layout/header/partials/header-user-menu.d.ts +5 -0
- package/dist/components/layout/index.d.ts +2 -1
- package/dist/components/layout/layout.types.d.ts +3 -6
- package/dist/components/layout/navigation/breadcrumb-progress.d.ts +5 -0
- package/dist/components/layout/navigation/category-nav.d.ts +5 -0
- package/dist/components/layout/navigation/index.d.ts +1 -0
- package/dist/components/layout/navigation/section-nav.d.ts +1 -0
- package/dist/components/layout/navigation/side-nav.d.ts +11 -12
- package/dist/components/layout/page/index.d.ts +1 -0
- package/dist/components/layout/page/page-actions.d.ts +5 -1
- package/dist/components/layout/page/page-header.d.ts +18 -3
- package/dist/components/layout/page/page.d.ts +2 -0
- package/dist/components/layout/settings/index.d.ts +1 -0
- package/dist/components/layout/settings/settings.d.ts +16 -4
- package/dist/components/layout/sidebar/app-sidebar.d.ts +12 -4
- package/dist/components/layout/sidebar/index.d.ts +1 -1
- package/dist/components/layout/sidebar/nav.types.d.ts +3 -2
- package/dist/components/layout/sidebar/partials/sidebar-logo.d.ts +5 -0
- package/dist/components/layout/sidebar/partials/sidebar-user.d.ts +5 -0
- package/dist/components/layout/sidebar/partials/sidebar-workspace.d.ts +4 -0
- package/dist/components/layout/workspace/index.d.ts +1 -0
- package/dist/components/layout/workspace/workspace-layout.d.ts +5 -0
- package/dist/components/layout/workspace/workspace-locale-strip.d.ts +5 -0
- package/dist/components/layout/workspace/workspace-nav.d.ts +5 -0
- package/dist/components/layout/workspace/workspace.d.ts +7 -1
- package/dist/components/patterns/analytics/analytics.types.d.ts +9 -0
- package/dist/components/patterns/analytics/metric-gradient.d.ts +6 -0
- package/dist/components/patterns/analytics/metric-grid.d.ts +1 -0
- package/dist/components/patterns/analytics/metric-micro-grid.d.ts +6 -0
- package/dist/components/patterns/analytics/metric-skeleton.d.ts +5 -0
- package/dist/components/patterns/analytics/metric-trend-chip.d.ts +6 -0
- package/dist/components/patterns/analytics/metric.d.ts +18 -2
- package/dist/components/patterns/onboarding/checklist.d.ts +7 -2
- package/dist/components/patterns/timelines/changelog-timeline.d.ts +4 -0
- package/dist/components/patterns/timelines/milestones-timeline.d.ts +4 -0
- package/dist/components/patterns/timelines/steps.d.ts +4 -0
- package/dist/components/primitives/address.d.ts +8 -3
- package/dist/components/primitives/address.format.d.ts +3 -2
- package/dist/components/primitives/coordinates.d.ts +18 -4
- package/dist/components/primitives/date.d.ts +44 -3
- package/dist/components/primitives/date.format.d.ts +6 -3
- package/dist/components/primitives/dimensions.d.ts +5 -0
- package/dist/components/primitives/dimensions.format.d.ts +1 -0
- package/dist/components/primitives/duration.d.ts +6 -1
- package/dist/components/primitives/file-size.d.ts +18 -1
- package/dist/components/primitives/file-size.format.d.ts +1 -0
- package/dist/components/primitives/initials-format.d.ts +2 -1
- package/dist/components/primitives/initials.d.ts +8 -1
- package/dist/components/primitives/inline-list.d.ts +9 -3
- package/dist/components/primitives/link.d.ts +17 -3
- package/dist/components/primitives/money.d.ts +31 -7
- package/dist/components/primitives/name.d.ts +9 -0
- package/dist/components/primitives/name.format.d.ts +1 -0
- package/dist/components/primitives/number.d.ts +8 -1
- package/dist/components/primitives/quantity.d.ts +10 -2
- package/dist/components/primitives/range.d.ts +14 -2
- package/dist/components/primitives/ratio.d.ts +4 -0
- package/dist/components/primitives/value.d.ts +13 -3
- package/dist/containers-B8d8U9GS.js +0 -1
- package/dist/{copyable-CRdTLtmK.js → copyable-H1TUEY-H.js} +3 -4
- package/dist/core.css +1 -1
- package/dist/css/access.css +1 -1
- package/dist/css/accordion.css +1 -1
- package/dist/css/action-menu.css +1 -1
- package/dist/css/activities.css +1 -1
- package/dist/css/ai-chat.css +1 -1
- package/dist/css/analytics.css +1 -1
- package/dist/css/app-shell.css +1 -1
- package/dist/css/async-preview.css +1 -1
- package/dist/css/auth.css +1 -1
- package/dist/css/avatar.css +1 -1
- package/dist/css/badge.css +1 -1
- package/dist/css/batch-action-bar.css +1 -1
- package/dist/css/buttons.css +1 -1
- package/dist/css/cards.css +1 -1
- package/dist/css/carousel.css +1 -1
- package/dist/css/chart.css +1 -1
- package/dist/css/choice-inputs.css +1 -1
- package/dist/css/combobox.css +1 -1
- package/dist/css/combobox2.css +1 -1
- package/dist/css/command.css +1 -1
- package/dist/css/comments.css +1 -1
- package/dist/css/commerce.css +1 -1
- package/dist/css/copyable.css +1 -1
- package/dist/css/data-view.css +1 -1
- package/dist/css/date-pickers.css +1 -1
- package/dist/css/display.css +1 -1
- package/dist/css/dropdown-menu.css +1 -1
- package/dist/css/event-calendar.css +1 -1
- package/dist/css/feedback.css +1 -1
- package/dist/css/filters.css +1 -1
- package/dist/css/forms.css +1 -1
- package/dist/css/global-search.css +1 -1
- package/dist/css/header.css +1 -1
- package/dist/css/hover-card.css +1 -1
- package/dist/css/input-group.css +1 -1
- package/dist/css/item.css +1 -1
- package/dist/css/kanban.css +1 -1
- package/dist/css/label.css +1 -1
- package/dist/css/map.css +1 -1
- package/dist/css/media-library.css +1 -1
- package/dist/css/mentions.css +1 -1
- package/dist/css/navigation-menu.css +1 -1
- package/dist/css/navigation.css +1 -1
- package/dist/css/navigation2.css +1 -1
- package/dist/css/overlay.css +1 -1
- package/dist/css/popover-menu.css +1 -1
- package/dist/css/popover.css +1 -1
- package/dist/css/products.css +1 -1
- package/dist/css/qr-code.css +1 -1
- package/dist/css/repeaters.css +1 -1
- package/dist/css/resource-assignment.css +1 -1
- package/dist/css/resource.css +1 -1
- package/dist/css/rich-text-editor.css +1 -1
- package/dist/css/schema-form.css +1 -1
- package/dist/css/sidebar2.css +1 -1
- package/dist/css/skeleton.css +1 -1
- package/dist/css/styles.css +1 -1
- package/dist/css/sync.css +1 -1
- package/dist/css/table.css +1 -1
- package/dist/css/table2.css +1 -1
- package/dist/css/text-inputs.css +1 -1
- package/dist/css/theme-tweaker.css +1 -1
- package/dist/css/timeline.css +1 -1
- package/dist/css/toaster.css +1 -1
- package/dist/css/toggle.css +1 -1
- package/dist/css/toolbar.css +1 -1
- package/dist/css/tooltip.css +1 -1
- package/dist/css/typography.css +1 -1
- package/dist/css/upload.css +1 -1
- package/dist/css/value-inputs.css +1 -1
- package/dist/css/workspace.css +1 -1
- package/dist/{date-pickers-Dy9BVNnb.js → date-pickers-DOwIT-Nk.js} +6 -7
- package/dist/{dialog-CLwUz8Gb.js → dialog-CtFCuTUF.js} +1 -1
- package/dist/{display-DVhYS75K.js → display-B3Q17h5z.js} +13 -12
- package/dist/{dropdown-menu-CIXxWTpw.js → dropdown-menu-TyNLCLML.js} +1 -2
- package/dist/features/actions.js +1 -2
- package/dist/features/activities.js +361 -365
- package/dist/features/ai-chat.js +13 -14
- package/dist/features/async-preview.js +6 -8
- package/dist/features/combobox.js +6 -8
- package/dist/features/comments.js +1 -2
- package/dist/features/data-view.js +6 -8
- package/dist/features/event-calendar.js +10 -12
- package/dist/features/filters.js +1 -2
- package/dist/features/global-search.js +10 -12
- package/dist/features/kanban.js +4 -7
- package/dist/features/map.js +318 -319
- package/dist/features/media-library.js +751 -773
- package/dist/features/mentions.js +1 -2
- package/dist/features/overlays.js +1 -2
- package/dist/features/products.js +17 -19
- package/dist/features/resource-assignment.js +6 -8
- package/dist/features/resource.js +6 -8
- package/dist/features/rich-text-editor.js +1 -2
- package/dist/features/schema-form.css +1 -1
- package/dist/features/schema-form.js +207 -225
- package/dist/features/sync.js +3 -5
- package/dist/features/table.js +1 -2
- package/dist/features/theme-tweaker.js +107 -128
- package/dist/{feedback-BmquisO3.js → feedback-DRerHGuV.js} +7 -8
- package/dist/{filters-BD0zRwCE.js → filters-DOLKRSmb.js} +25 -21
- package/dist/{forms-zF9SP3Ai.js → forms-CPrGGif_.js} +5 -8
- package/dist/{forms-numeric-DzxBaEg1.js → forms-numeric-CPVsL7Vf.js} +2 -3
- package/dist/index.css +3 -3
- package/dist/index.js +2 -3
- package/dist/{input-group-CTSiVEGd.js → input-group-BYe0rhoB.js} +3 -4
- package/dist/{item-OVu-oGxQ.js → item-B3yQ26as.js} +3 -4
- package/dist/{label-DYJT1uER.js → label-DumoMDm6.js} +1 -2
- package/dist/layout/app-shell.js +1 -3
- package/dist/layout/auth.js +7 -7
- package/dist/layout/containers.js +0 -1
- package/dist/layout/header.js +30 -32
- package/dist/layout/navigation.js +1 -2
- package/dist/layout/page.js +17 -22
- package/dist/layout/settings.js +2 -3
- package/dist/layout/sidebar.js +88 -91
- package/dist/layout/workspace.js +9 -12
- package/dist/lib/action-presentation.d.ts +1 -1
- package/dist/lib/forms/field-binding.d.ts +20 -6
- package/dist/lib/forms-rhf/index.d.ts +3 -2
- package/dist/lib/navigation.d.ts +21 -8
- package/dist/lib/theming/recipes.d.ts +5 -2
- package/dist/lib/ui-provider/context.d.ts +12 -1
- package/dist/lib/ui-provider/csp-provider.d.ts +5 -0
- package/dist/lib/ui-provider/hooks.d.ts +34 -8
- package/dist/lib/ui-provider/index.d.ts +1 -1
- package/dist/lib/ui-provider/portal-host.d.ts +13 -9
- package/dist/lib/ui-provider/root.d.ts +19 -3
- package/dist/lib/ui-provider/scope.d.ts +15 -14
- package/dist/lib/ui-provider/types.d.ts +93 -17
- package/dist/lib/ui-provider/ui-scope.d.ts +11 -5
- package/dist/{mentions-BU1sDupC.js → mentions-BbsEHlcH.js} +6 -7
- package/dist/navigation-B4eUU9E8.js +35 -0
- package/dist/{navigation-D00jGH59.js → navigation-CsqTA16F.js} +183 -182
- package/dist/{navigation-BRv9Xerv.js → navigation-DzxzPuwg.js} +78 -76
- package/dist/{overlay-Bdri8Z7E.js → overlay-WQOsLd69.js} +2 -3
- package/dist/{overlays-CaBkEKRc.js → overlays-DvVoS3td.js} +7 -8
- package/dist/patterns/analytics.js +42 -47
- package/dist/patterns/onboarding.js +4 -6
- package/dist/patterns/timelines.js +1 -2
- package/dist/{popover-Dt8IXXKy.js → popover-DriLnIFc.js} +2 -3
- package/dist/{popover-menu-BeNyDDo1.js → popover-menu-C2UCMAe7.js} +5 -6
- package/dist/{primitives-B2aeaudR.js → primitives-D0bdDozz.js} +7 -8
- package/dist/primitives.css +3 -3
- package/dist/primitives.js +1 -2
- package/dist/profiles/admin.json +2 -2
- package/dist/profiles/general.json +2 -2
- package/dist/{repeaters-C43GWEE_.js → repeaters-DuP1N0nw.js} +5 -6
- package/dist/{rich-text-editor-CVo4FB26.js → rich-text-editor-BQXFe9oN.js} +4 -5
- package/dist/{sheet-BP2BmI-Z.js → sheet-CKcmRbJ9.js} +2 -2
- package/dist/{sidebar-DOmsOhCp.js → sidebar-D0N6ckJL.js} +47 -47
- package/dist/{skeleton-vN_fsg7X.js → skeleton-DGR9df28.js} +1 -2
- package/dist/{spinner-Bv-2R-7S.js → spinner-CUAVFecI.js} +1 -2
- package/dist/structure-D0WGQAP3.js +0 -1
- package/dist/style.css +1 -1
- package/dist/styles/FACTORS.md +2 -6
- package/dist/styles/SCOPES.md +27 -9
- package/dist/styles/TOKENS.md +171 -19
- package/dist/styles/index.css +0 -1
- package/dist/styles/map.css +14 -8
- package/dist/styles/mentions.css +37 -44
- package/dist/styles/tailwind.css +2 -1
- package/dist/styles/themes/default.css +17 -15
- package/dist/styles/theming/colors.css +29 -24
- package/dist/styles/theming/feedback.css +0 -1
- package/dist/styles/theming/focus.css +15 -8
- package/dist/styles/theming/motion.css +8 -5
- package/dist/styles/theming/overlay.css +7 -0
- package/dist/styles/theming/sizing.css +9 -5
- package/dist/styles/theming/text.css +3 -1
- package/dist/styles/theming/typography.css +3 -0
- package/dist/styles/tokens/components.css +1 -1
- package/dist/styles/tokens/primitives.css +1 -1
- package/dist/styles/tokens/states.css +4 -4
- package/dist/{table-CzsDKBR2.js → table-BC4qqsUb.js} +4 -5
- package/dist/{table-CtUahid0.js → table-BHDpjajL.js} +192 -196
- package/dist/tailwind.css +2 -1
- package/dist/{text-inputs-BBpgIQEI.js → text-inputs-DF_lD7pA.js} +1 -2
- package/dist/{theming-y5FKH_La.js → theming-D6KRU7hO.js} +9 -9
- package/dist/theming.js +1 -1
- package/dist/{timeline-DskNs3lw.js → timeline-BdaGRyj-.js} +2 -3
- package/dist/{timelines-wlcL01Rf.js → timelines-BB7550mz.js} +5 -6
- package/dist/{toaster-CaTwpule.js → toaster-bBMgXm8z.js} +1 -2
- package/dist/tokens.json +9 -9
- package/dist/{toolbar-CvUhAFhi.js → toolbar-DWRywF0R.js} +1 -2
- package/dist/{tooltip-B82dN7Oy.js → tooltip-t1VQQ2tZ.js} +1 -2
- package/dist/{typography-B8Iurhy1.js → typography-BkxEiwQ1.js} +1 -2
- package/dist/{ui-provider-BzyJxcKH.js → ui-provider-Cmoq6i_D.js} +87 -75
- package/dist/ui-provider.js +1 -1
- package/dist/{upload-BL8HIPbS.js → upload-B38YZeFJ.js} +5 -6
- package/dist/{value-inputs-DQGHd7k8.js → value-inputs-Q4ymjXlV.js} +5 -6
- package/docs/README.md +14 -19
- package/docs/build/recipes.md +12773 -2076
- package/docs/generated/component-index.json +1796 -1617
- package/docs/generated/components/INDEX.md +100 -100
- package/docs/generated/components/admin--patterns--access.md +66 -12
- package/docs/generated/components/admin--patterns--commerce.md +797 -110
- package/docs/generated/components/base--accordion.md +70 -9
- package/docs/generated/components/base--action-menu.md +256 -73
- package/docs/generated/components/base--alert-dialog.md +49 -18
- package/docs/generated/components/base--aspect-ratio.md +25 -5
- package/docs/generated/components/base--avatar.md +65 -11
- package/docs/generated/components/base--badge.md +40 -9
- package/docs/generated/components/base--batch-action-bar.md +70 -10
- package/docs/generated/components/base--buttons.md +229 -40
- package/docs/generated/components/base--cards.md +294 -71
- package/docs/generated/components/base--carousel.md +82 -22
- package/docs/generated/components/base--chart.md +132 -28
- package/docs/generated/components/base--choice-inputs.md +321 -73
- package/docs/generated/components/base--combobox.md +273 -29
- package/docs/generated/components/base--command.md +100 -12
- package/docs/generated/components/base--context-menu.md +61 -9
- package/docs/generated/components/base--copyable.md +83 -22
- package/docs/generated/components/base--date-pickers.md +174 -37
- package/docs/generated/components/base--dialog.md +93 -16
- package/docs/generated/components/base--direction.md +35 -11
- package/docs/generated/components/base--display.md +553 -100
- package/docs/generated/components/base--dropdown-menu.md +134 -12
- package/docs/generated/components/base--feedback.md +289 -55
- package/docs/generated/components/base--forms-numeric.md +180 -60
- package/docs/generated/components/base--forms.md +238 -55
- package/docs/generated/components/base--hover-card.md +42 -10
- package/docs/generated/components/base--input-group.md +127 -22
- package/docs/generated/components/base--item.md +122 -23
- package/docs/generated/components/base--label.md +25 -4
- package/docs/generated/components/base--menubar.md +50 -11
- package/docs/generated/components/base--navigation-menu.md +60 -22
- package/docs/generated/components/base--navigation.md +349 -89
- package/docs/generated/components/base--otp-input.md +27 -6
- package/docs/generated/components/base--overlay.md +579 -114
- package/docs/generated/components/base--popover-menu.md +170 -57
- package/docs/generated/components/base--popover.md +137 -22
- package/docs/generated/components/base--qr-code.md +44 -7
- package/docs/generated/components/base--repeaters.md +188 -42
- package/docs/generated/components/base--resizable.md +42 -8
- package/docs/generated/components/base--sheet.md +173 -31
- package/docs/generated/components/base--sidebar.md +134 -91
- package/docs/generated/components/base--skeleton.md +59 -14
- package/docs/generated/components/base--slot.md +30 -10
- package/docs/generated/components/base--spinner.md +50 -11
- package/docs/generated/components/base--structure.md +387 -28
- package/docs/generated/components/base--table.md +143 -54
- package/docs/generated/components/base--text-inputs.md +234 -38
- package/docs/generated/components/base--timeline.md +158 -45
- package/docs/generated/components/base--toaster.md +132 -28
- package/docs/generated/components/base--toggle.md +85 -17
- package/docs/generated/components/base--toolbar.md +83 -33
- package/docs/generated/components/base--tooltip.md +40 -9
- package/docs/generated/components/base--typography.md +372 -19
- package/docs/generated/components/base--upload.md +191 -53
- package/docs/generated/components/base--value-inputs.md +243 -51
- package/docs/generated/components/features--actions.md +146 -14
- package/docs/generated/components/features--activities.md +225 -41
- package/docs/generated/components/features--ai-chat.md +390 -56
- package/docs/generated/components/features--async-preview.md +314 -25
- package/docs/generated/components/features--combobox.md +287 -61
- package/docs/generated/components/features--comments.md +335 -51
- package/docs/generated/components/features--data-view.md +156 -47
- package/docs/generated/components/features--event-calendar.md +130 -31
- package/docs/generated/components/features--filters.md +240 -31
- package/docs/generated/components/features--global-search.md +136 -29
- package/docs/generated/components/features--kanban.md +148 -29
- package/docs/generated/components/features--map.md +215 -52
- package/docs/generated/components/features--media-library.md +324 -75
- package/docs/generated/components/features--mentions.md +267 -34
- package/docs/generated/components/features--overlays.md +211 -42
- package/docs/generated/components/features--products.md +459 -104
- package/docs/generated/components/features--resource-assignment.md +191 -36
- package/docs/generated/components/features--resource.md +229 -47
- package/docs/generated/components/features--rich-text-editor--tiptap.md +3 -3
- package/docs/generated/components/features--rich-text-editor.md +112 -31
- package/docs/generated/components/features--schema-form.md +265 -29
- package/docs/generated/components/features--sync.md +47 -17
- package/docs/generated/components/features--table.md +289 -61
- package/docs/generated/components/features--theme-tweaker.md +43 -8
- package/docs/generated/components/forms-rhf.md +6 -5
- package/docs/generated/components/forms.md +75 -21
- package/docs/generated/components/layout--app-shell.md +256 -26
- package/docs/generated/components/layout--auth.md +241 -45
- package/docs/generated/components/layout--containers.md +44 -17
- package/docs/generated/components/layout--header.md +125 -20
- package/docs/generated/components/layout--navigation.md +129 -19
- package/docs/generated/components/layout--page.md +122 -37
- package/docs/generated/components/layout--settings.md +72 -11
- package/docs/generated/components/layout--sidebar.md +200 -12
- package/docs/generated/components/layout--workspace.md +131 -17
- package/docs/generated/components/patterns--analytics.md +176 -33
- package/docs/generated/components/patterns--onboarding.md +37 -10
- package/docs/generated/components/patterns--timelines.md +78 -16
- package/docs/generated/components/primitives.md +812 -215
- package/docs/generated/components/theming.md +5 -4
- package/docs/generated/components/ui-provider.md +442 -147
- package/docs/generated/composition-ladder.md +6 -6
- package/docs/generated/imports.md +11 -12
- package/docs/generated/migration-broad-imports.json +29 -4
- package/docs/generated/migration-broad-imports.md +9 -8
- package/docs/generated/migration-codemod.json +30 -4
- package/docs/generated/migration.md +171 -20
- package/docs/generated/profiles.md +111 -112
- package/docs/generated/public-api.md +1070 -1070
- package/docs/generated/recipes.json +2571 -1737
- package/docs/learn/api-compatibility.md +7 -7
- package/docs/learn/composition.md +28 -27
- package/docs/learn/forms.md +6 -2
- package/docs/learn/framework-wiring.md +28 -13
- package/docs/learn/i18n.md +4 -4
- package/docs/learn/installation.md +47 -31
- package/docs/learn/migration.md +106 -42
- package/docs/learn/provider-and-scoping.md +19 -7
- package/docs/learn/theming.md +127 -101
- package/docs/learn/troubleshooting.md +55 -29
- package/docs/learn/verification.md +7 -7
- package/package.json +205 -809
- package/scripts/consumer/codemod.mjs +1 -1
- package/scripts/consumer/find-component.mjs +79 -52
- package/src/styles/FACTORS.md +2 -6
- package/src/styles/SCOPES.md +27 -9
- package/src/styles/TOKENS.md +171 -19
- package/.agents/skills/themelia-ui/references/components/INDEX.json +0 -17940
- package/.agents/skills/themelia-ui/references/components/INDEX.md +0 -106
- package/.agents/skills/themelia-ui/references/components/admin--patterns--access.md +0 -196
- package/.agents/skills/themelia-ui/references/components/admin--patterns--commerce.md +0 -2040
- package/.agents/skills/themelia-ui/references/components/base--accordion.md +0 -148
- package/.agents/skills/themelia-ui/references/components/base--action-menu.md +0 -315
- package/.agents/skills/themelia-ui/references/components/base--alert-dialog.md +0 -90
- package/.agents/skills/themelia-ui/references/components/base--aspect-ratio.md +0 -59
- package/.agents/skills/themelia-ui/references/components/base--avatar.md +0 -166
- package/.agents/skills/themelia-ui/references/components/base--badge.md +0 -95
- package/.agents/skills/themelia-ui/references/components/base--batch-action-bar.md +0 -97
- package/.agents/skills/themelia-ui/references/components/base--buttons.md +0 -265
- package/.agents/skills/themelia-ui/references/components/base--cards.md +0 -296
- package/.agents/skills/themelia-ui/references/components/base--carousel.md +0 -187
- package/.agents/skills/themelia-ui/references/components/base--chart.md +0 -204
- package/.agents/skills/themelia-ui/references/components/base--choice-inputs.md +0 -544
- package/.agents/skills/themelia-ui/references/components/base--combobox.md +0 -304
- package/.agents/skills/themelia-ui/references/components/base--command.md +0 -151
- package/.agents/skills/themelia-ui/references/components/base--context-menu.md +0 -175
- package/.agents/skills/themelia-ui/references/components/base--copyable.md +0 -128
- package/.agents/skills/themelia-ui/references/components/base--date-pickers.md +0 -441
- package/.agents/skills/themelia-ui/references/components/base--dialog.md +0 -67
- package/.agents/skills/themelia-ui/references/components/base--direction.md +0 -62
- package/.agents/skills/themelia-ui/references/components/base--display.md +0 -736
- package/.agents/skills/themelia-ui/references/components/base--dropdown-menu.md +0 -173
- package/.agents/skills/themelia-ui/references/components/base--feedback.md +0 -458
- package/.agents/skills/themelia-ui/references/components/base--forms-numeric.md +0 -476
- package/.agents/skills/themelia-ui/references/components/base--forms.md +0 -365
- package/.agents/skills/themelia-ui/references/components/base--hover-card.md +0 -97
- package/.agents/skills/themelia-ui/references/components/base--input-group.md +0 -154
- package/.agents/skills/themelia-ui/references/components/base--item.md +0 -167
- package/.agents/skills/themelia-ui/references/components/base--label.md +0 -47
- package/.agents/skills/themelia-ui/references/components/base--menubar.md +0 -75
- package/.agents/skills/themelia-ui/references/components/base--navigation-menu.md +0 -139
- package/.agents/skills/themelia-ui/references/components/base--navigation.md +0 -517
- package/.agents/skills/themelia-ui/references/components/base--otp-input.md +0 -76
- package/.agents/skills/themelia-ui/references/components/base--overlay.md +0 -385
- package/.agents/skills/themelia-ui/references/components/base--popover-menu.md +0 -180
- package/.agents/skills/themelia-ui/references/components/base--popover.md +0 -138
- package/.agents/skills/themelia-ui/references/components/base--qr-code.md +0 -94
- package/.agents/skills/themelia-ui/references/components/base--repeaters.md +0 -413
- package/.agents/skills/themelia-ui/references/components/base--resizable.md +0 -92
- package/.agents/skills/themelia-ui/references/components/base--sheet.md +0 -101
- package/.agents/skills/themelia-ui/references/components/base--sidebar.md +0 -477
- package/.agents/skills/themelia-ui/references/components/base--skeleton.md +0 -161
- package/.agents/skills/themelia-ui/references/components/base--slot.md +0 -53
- package/.agents/skills/themelia-ui/references/components/base--spinner.md +0 -74
- package/.agents/skills/themelia-ui/references/components/base--structure.md +0 -315
- package/.agents/skills/themelia-ui/references/components/base--table.md +0 -247
- package/.agents/skills/themelia-ui/references/components/base--text-inputs.md +0 -364
- package/.agents/skills/themelia-ui/references/components/base--timeline.md +0 -210
- package/.agents/skills/themelia-ui/references/components/base--toaster.md +0 -200
- package/.agents/skills/themelia-ui/references/components/base--toggle.md +0 -91
- package/.agents/skills/themelia-ui/references/components/base--toolbar.md +0 -168
- package/.agents/skills/themelia-ui/references/components/base--tooltip.md +0 -75
- package/.agents/skills/themelia-ui/references/components/base--typography.md +0 -251
- package/.agents/skills/themelia-ui/references/components/base--upload.md +0 -573
- package/.agents/skills/themelia-ui/references/components/base--value-inputs.md +0 -402
- package/.agents/skills/themelia-ui/references/components/features--actions.md +0 -886
- package/.agents/skills/themelia-ui/references/components/features--activities.md +0 -928
- package/.agents/skills/themelia-ui/references/components/features--ai-chat.md +0 -1187
- package/.agents/skills/themelia-ui/references/components/features--async-preview.md +0 -436
- package/.agents/skills/themelia-ui/references/components/features--combobox.md +0 -523
- package/.agents/skills/themelia-ui/references/components/features--comments.md +0 -687
- package/.agents/skills/themelia-ui/references/components/features--data-view.md +0 -386
- package/.agents/skills/themelia-ui/references/components/features--event-calendar.md +0 -482
- package/.agents/skills/themelia-ui/references/components/features--filters.md +0 -924
- package/.agents/skills/themelia-ui/references/components/features--global-search.md +0 -393
- package/.agents/skills/themelia-ui/references/components/features--kanban.md +0 -357
- package/.agents/skills/themelia-ui/references/components/features--map.md +0 -696
- package/.agents/skills/themelia-ui/references/components/features--media-library.md +0 -987
- package/.agents/skills/themelia-ui/references/components/features--mentions.md +0 -496
- package/.agents/skills/themelia-ui/references/components/features--overlays.md +0 -391
- package/.agents/skills/themelia-ui/references/components/features--products.md +0 -1492
- package/.agents/skills/themelia-ui/references/components/features--resource-assignment.md +0 -266
- package/.agents/skills/themelia-ui/references/components/features--resource.md +0 -300
- package/.agents/skills/themelia-ui/references/components/features--rich-text-editor--tiptap.md +0 -58
- package/.agents/skills/themelia-ui/references/components/features--rich-text-editor.md +0 -356
- package/.agents/skills/themelia-ui/references/components/features--schema-form.md +0 -600
- package/.agents/skills/themelia-ui/references/components/features--sync.md +0 -125
- package/.agents/skills/themelia-ui/references/components/features--table.md +0 -817
- package/.agents/skills/themelia-ui/references/components/features--theme-tweaker.md +0 -586
- package/.agents/skills/themelia-ui/references/components/forms-rhf.md +0 -51
- package/.agents/skills/themelia-ui/references/components/forms.md +0 -122
- package/.agents/skills/themelia-ui/references/components/layout--app-shell.md +0 -178
- package/.agents/skills/themelia-ui/references/components/layout--auth.md +0 -281
- package/.agents/skills/themelia-ui/references/components/layout--containers.md +0 -146
- package/.agents/skills/themelia-ui/references/components/layout--header.md +0 -362
- package/.agents/skills/themelia-ui/references/components/layout--navigation.md +0 -249
- package/.agents/skills/themelia-ui/references/components/layout--page.md +0 -221
- package/.agents/skills/themelia-ui/references/components/layout--settings.md +0 -90
- package/.agents/skills/themelia-ui/references/components/layout--sidebar.md +0 -273
- package/.agents/skills/themelia-ui/references/components/layout--workspace.md +0 -288
- package/.agents/skills/themelia-ui/references/components/patterns--analytics.md +0 -614
- package/.agents/skills/themelia-ui/references/components/patterns--onboarding.md +0 -110
- package/.agents/skills/themelia-ui/references/components/patterns--timelines.md +0 -256
- package/.agents/skills/themelia-ui/references/components/primitives.md +0 -1358
- package/.agents/skills/themelia-ui/references/components/theming.md +0 -153
- package/.agents/skills/themelia-ui/references/components/ui-provider.md +0 -725
- package/dist/accordion-BH9vNfdb.cjs +0 -1
- package/dist/action-menu-BFDQbOMx.cjs +0 -1
- package/dist/admin/patterns/access.cjs +0 -1
- package/dist/admin/patterns/commerce.cjs +0 -1
- package/dist/alert-dialog-BPePUOHx.cjs +0 -1
- package/dist/avatar-Cdw0zuGn.cjs +0 -1
- package/dist/badge-BRX7GXRH.cjs +0 -1
- package/dist/base/accordion.cjs +0 -1
- package/dist/base/action-menu.cjs +0 -1
- package/dist/base/alert-dialog.cjs +0 -1
- package/dist/base/aspect-ratio.cjs +0 -1
- package/dist/base/avatar.cjs +0 -1
- package/dist/base/badge.cjs +0 -1
- package/dist/base/batch-action-bar.cjs +0 -1
- package/dist/base/buttons.cjs +0 -1
- package/dist/base/cards.cjs +0 -1
- package/dist/base/carousel.cjs +0 -1
- package/dist/base/chart.cjs +0 -1
- package/dist/base/choice-inputs.cjs +0 -1
- package/dist/base/combobox.cjs +0 -1
- package/dist/base/command.cjs +0 -1
- package/dist/base/context-menu.cjs +0 -1
- package/dist/base/copyable.cjs +0 -1
- package/dist/base/date-pickers.cjs +0 -1
- package/dist/base/dialog.cjs +0 -1
- package/dist/base/direction.cjs +0 -1
- package/dist/base/display.cjs +0 -1
- package/dist/base/dropdown-menu.cjs +0 -1
- package/dist/base/feedback.cjs +0 -1
- package/dist/base/forms-numeric.cjs +0 -1
- package/dist/base/forms.cjs +0 -1
- package/dist/base/hover-card.cjs +0 -1
- package/dist/base/input-group.cjs +0 -1
- package/dist/base/item.cjs +0 -1
- package/dist/base/label.cjs +0 -1
- package/dist/base/menubar.cjs +0 -1
- package/dist/base/navigation-menu.cjs +0 -1
- package/dist/base/navigation.cjs +0 -1
- package/dist/base/otp-input.cjs +0 -1
- package/dist/base/overlay.cjs +0 -1
- package/dist/base/popover-menu.cjs +0 -1
- package/dist/base/popover.cjs +0 -1
- package/dist/base/qr-code.cjs +0 -1
- package/dist/base/repeaters.cjs +0 -1
- package/dist/base/resizable.cjs +0 -1
- package/dist/base/sheet.cjs +0 -1
- package/dist/base/sidebar.cjs +0 -1
- package/dist/base/skeleton.cjs +0 -1
- package/dist/base/slot.cjs +0 -1
- package/dist/base/spinner.cjs +0 -1
- package/dist/base/structure.cjs +0 -1
- package/dist/base/table.cjs +0 -1
- package/dist/base/text-inputs.cjs +0 -1
- package/dist/base/timeline.cjs +0 -1
- package/dist/base/toaster.cjs +0 -1
- package/dist/base/toggle.cjs +0 -1
- package/dist/base/toolbar.cjs +0 -1
- package/dist/base/tooltip.cjs +0 -1
- package/dist/base/typography.cjs +0 -1
- package/dist/base/upload.cjs +0 -1
- package/dist/base/value-inputs.cjs +0 -1
- package/dist/batch-action-bar-Cvnz248b.cjs +0 -1
- package/dist/buttons-CMsvnL6-.cjs +0 -1
- package/dist/cards-CO5LHALb.cjs +0 -1
- package/dist/chart-BYGLuXR9.cjs +0 -1
- package/dist/choice-inputs-CySnLjfA.cjs +0 -1
- package/dist/combobox-CTUFSblt.cjs +0 -1
- package/dist/command-BSvB58XI.cjs +0 -1
- package/dist/comments-CVD4jB9V.cjs +0 -1
- package/dist/components/admin/patterns/access/admin.strings.d.cts +0 -18
- package/dist/components/admin/patterns/access/credential-list.d.cts +0 -30
- package/dist/components/admin/patterns/access/index.d.cts +0 -8
- package/dist/components/admin/patterns/access/role-permissions.d.cts +0 -22
- package/dist/components/admin/patterns/access/sensitive-action.d.cts +0 -10
- package/dist/components/admin/patterns/commerce/account.d.cts +0 -70
- package/dist/components/admin/patterns/commerce/address-lines.d.cts +0 -8
- package/dist/components/admin/patterns/commerce/booking.d.cts +0 -36
- package/dist/components/admin/patterns/commerce/cart.d.cts +0 -91
- package/dist/components/admin/patterns/commerce/commerce.strings.d.cts +0 -233
- package/dist/components/admin/patterns/commerce/commerce.types.d.cts +0 -45
- package/dist/components/admin/patterns/commerce/format-amount.d.cts +0 -10
- package/dist/components/admin/patterns/commerce/index.d.cts +0 -23
- package/dist/components/admin/patterns/commerce/inventory-section.d.cts +0 -37
- package/dist/components/admin/patterns/commerce/invoice.d.cts +0 -50
- package/dist/components/admin/patterns/commerce/loyalty.d.cts +0 -25
- package/dist/components/admin/patterns/commerce/order-customer.d.cts +0 -20
- package/dist/components/admin/patterns/commerce/order-detail.d.cts +0 -63
- package/dist/components/admin/patterns/commerce/order-line-item.d.cts +0 -29
- package/dist/components/admin/patterns/commerce/order-transactions.d.cts +0 -23
- package/dist/components/admin/patterns/commerce/order.d.cts +0 -87
- package/dist/components/admin/patterns/commerce/seo-listing.d.cts +0 -13
- package/dist/components/admin/patterns/commerce/seo-score.d.cts +0 -56
- package/dist/components/admin/patterns/commerce/summary-panel.d.cts +0 -18
- package/dist/components/admin/patterns/commerce/vendor-profile.d.cts +0 -38
- package/dist/components/admin/patterns/index.d.cts +0 -2
- package/dist/components/base/accordion/accordion.d.cts +0 -20
- package/dist/components/base/accordion/accordion.types.d.cts +0 -33
- package/dist/components/base/accordion/index.d.cts +0 -3
- package/dist/components/base/action-menu/action-menu.d.cts +0 -58
- package/dist/components/base/action-menu/action-menu.strings.d.cts +0 -7
- package/dist/components/base/action-menu/action-menu.types.d.cts +0 -93
- package/dist/components/base/action-menu/context-actions.d.cts +0 -19
- package/dist/components/base/action-menu/index.d.cts +0 -5
- package/dist/components/base/alert-dialog/alert-dialog.d.cts +0 -19
- package/dist/components/base/alert-dialog/index.d.cts +0 -1
- package/dist/components/base/aspect-ratio/aspect-ratio.d.cts +0 -12
- package/dist/components/base/aspect-ratio/index.d.cts +0 -1
- package/dist/components/base/avatar/avatar.d.cts +0 -14
- package/dist/components/base/avatar/avatar.strings.d.cts +0 -11
- package/dist/components/base/avatar/index.d.cts +0 -3
- package/dist/components/base/avatar/stacked-avatars.d.cts +0 -22
- package/dist/components/base/badge/badge.d.cts +0 -25
- package/dist/components/base/badge/badge.variants.d.cts +0 -6
- package/dist/components/base/badge/index.d.cts +0 -2
- package/dist/components/base/batch-action-bar/batch-action-bar.d.cts +0 -19
- package/dist/components/base/batch-action-bar/batch-action-bar.strings.d.cts +0 -9
- package/dist/components/base/batch-action-bar/index.d.cts +0 -2
- package/dist/components/base/buttons/button-group.d.cts +0 -15
- package/dist/components/base/buttons/button.d.cts +0 -34
- package/dist/components/base/buttons/button.strings.d.cts +0 -5
- package/dist/components/base/buttons/button.types.d.cts +0 -13
- package/dist/components/base/buttons/index.d.cts +0 -7
- package/dist/components/base/buttons/loader-button.d.cts +0 -21
- package/dist/components/base/buttons/text-button.d.cts +0 -8
- package/dist/components/base/buttons/tooltip-button.d.cts +0 -17
- package/dist/components/base/cards/card-actions.d.cts +0 -22
- package/dist/components/base/cards/card-skeleton.d.cts +0 -14
- package/dist/components/base/cards/card.d.cts +0 -61
- package/dist/components/base/cards/card.strings.d.cts +0 -10
- package/dist/components/base/cards/card.types.d.cts +0 -14
- package/dist/components/base/cards/index.d.cts +0 -6
- package/dist/components/base/cards/partials/card-header.d.cts +0 -19
- package/dist/components/base/cards/partials/card-regions.d.cts +0 -7
- package/dist/components/base/cards/partials/index.d.cts +0 -2
- package/dist/components/base/carousel/carousel-context.d.cts +0 -17
- package/dist/components/base/carousel/carousel.d.cts +0 -33
- package/dist/components/base/carousel/carousel.strings.d.cts +0 -13
- package/dist/components/base/carousel/index.d.cts +0 -3
- package/dist/components/base/chart/chart.d.cts +0 -62
- package/dist/components/base/chart/index.d.cts +0 -3
- package/dist/components/base/chart/sparkline.d.cts +0 -12
- package/dist/components/base/choice-inputs/card-checkbox-group.d.cts +0 -11
- package/dist/components/base/choice-inputs/card-group-columns.d.cts +0 -6
- package/dist/components/base/choice-inputs/card-radio-group.d.cts +0 -12
- package/dist/components/base/choice-inputs/checkbox.d.cts +0 -7
- package/dist/components/base/choice-inputs/choice.types.d.cts +0 -39
- package/dist/components/base/choice-inputs/index.d.cts +0 -13
- package/dist/components/base/choice-inputs/list-radio-group.d.cts +0 -10
- package/dist/components/base/choice-inputs/partials/choice-icon.d.cts +0 -6
- package/dist/components/base/choice-inputs/partials/choice-parts.d.cts +0 -25
- package/dist/components/base/choice-inputs/partials/index.d.cts +0 -2
- package/dist/components/base/choice-inputs/partials/radio-option-group.d.cts +0 -14
- package/dist/components/base/choice-inputs/pill-radio-group.d.cts +0 -13
- package/dist/components/base/choice-inputs/radio.d.cts +0 -11
- package/dist/components/base/choice-inputs/select-popup.d.cts +0 -19
- package/dist/components/base/choice-inputs/select.d.cts +0 -67
- package/dist/components/base/choice-inputs/select.strings.d.cts +0 -7
- package/dist/components/base/choice-inputs/switch-card.d.cts +0 -6
- package/dist/components/base/choice-inputs/switch.d.cts +0 -9
- package/dist/components/base/choice-inputs/toggle-field.d.cts +0 -35
- package/dist/components/base/combobox/combobox-filter.d.cts +0 -2
- package/dist/components/base/combobox/combobox.d.cts +0 -65
- package/dist/components/base/combobox/combobox.strings.d.cts +0 -9
- package/dist/components/base/combobox/index.d.cts +0 -3
- package/dist/components/base/command/command.d.cts +0 -27
- package/dist/components/base/command/command.strings.d.cts +0 -7
- package/dist/components/base/command/index.d.cts +0 -3
- package/dist/components/base/context-menu/context-menu.d.cts +0 -31
- package/dist/components/base/context-menu/index.d.cts +0 -1
- package/dist/components/base/copyable/copyable.d.cts +0 -26
- package/dist/components/base/copyable/copyable.strings.d.cts +0 -11
- package/dist/components/base/copyable/index.d.cts +0 -3
- package/dist/components/base/copyable/use-copy-to-clipboard.d.cts +0 -23
- package/dist/components/base/date-pickers/calendar.d.cts +0 -19
- package/dist/components/base/date-pickers/calendar.types.d.cts +0 -18
- package/dist/components/base/date-pickers/date-picker-bands.d.cts +0 -16
- package/dist/components/base/date-pickers/date-picker.d.cts +0 -39
- package/dist/components/base/date-pickers/date-pickers.strings.d.cts +0 -32
- package/dist/components/base/date-pickers/index.d.cts +0 -11
- package/dist/components/base/date-pickers/month-year-picker.d.cts +0 -18
- package/dist/components/base/date-pickers/presets-pickers.d.cts +0 -19
- package/dist/components/base/date-pickers/presets.d.cts +0 -18
- package/dist/components/base/date-pickers/time-picker.d.cts +0 -30
- package/dist/components/base/date-pickers/time-picker.strings.d.cts +0 -9
- package/dist/components/base/dialog/dialog.d.cts +0 -8
- package/dist/components/base/dialog/index.d.cts +0 -1
- package/dist/components/base/direction/direction.d.cts +0 -6
- package/dist/components/base/direction/index.d.cts +0 -1
- package/dist/components/base/display/boolean-indicator.d.cts +0 -9
- package/dist/components/base/display/boolean-indicator.strings.d.cts +0 -7
- package/dist/components/base/display/collapsible.d.cts +0 -10
- package/dist/components/base/display/content-block.d.cts +0 -24
- package/dist/components/base/display/date-block.d.cts +0 -26
- package/dist/components/base/display/icon-badge.d.cts +0 -17
- package/dist/components/base/display/index.d.cts +0 -15
- package/dist/components/base/display/inline-stat.d.cts +0 -16
- package/dist/components/base/display/kbd.d.cts +0 -4
- package/dist/components/base/display/metadata-list.d.cts +0 -59
- package/dist/components/base/display/metadata-list.strings.d.cts +0 -7
- package/dist/components/base/display/metadata-value.d.cts +0 -88
- package/dist/components/base/display/placeholder-pattern.d.cts +0 -3
- package/dist/components/base/display/scroll-area.d.cts +0 -6
- package/dist/components/base/display/separator.d.cts +0 -15
- package/dist/components/base/display/visually-hidden.d.cts +0 -12
- package/dist/components/base/dropdown-menu/dropdown-menu.d.cts +0 -58
- package/dist/components/base/dropdown-menu/index.d.cts +0 -1
- package/dist/components/base/feedback/alert-metadata.d.cts +0 -9
- package/dist/components/base/feedback/alert.d.cts +0 -22
- package/dist/components/base/feedback/empty-illustrations.d.cts +0 -13
- package/dist/components/base/feedback/empty.d.cts +0 -47
- package/dist/components/base/feedback/empty.strings.d.cts +0 -8
- package/dist/components/base/feedback/index.d.cts +0 -9
- package/dist/components/base/feedback/progress-circle.d.cts +0 -19
- package/dist/components/base/feedback/progress-range.d.cts +0 -6
- package/dist/components/base/feedback/progress.d.cts +0 -16
- package/dist/components/base/feedback/states.d.cts +0 -19
- package/dist/components/base/feedback/states.strings.d.cts +0 -10
- package/dist/components/base/forms/field-group.d.cts +0 -10
- package/dist/components/base/forms/form-field.d.cts +0 -42
- package/dist/components/base/forms/index.d.cts +0 -4
- package/dist/components/base/forms/workflow.d.cts +0 -71
- package/dist/components/base/forms/workflow.strings.d.cts +0 -16
- package/dist/components/base/forms-numeric/currency-input.d.cts +0 -21
- package/dist/components/base/forms-numeric/currency-symbols.d.cts +0 -2
- package/dist/components/base/forms-numeric/decimal-input.d.cts +0 -30
- package/dist/components/base/forms-numeric/decimal.format.d.cts +0 -13
- package/dist/components/base/forms-numeric/forms-numeric.strings.d.cts +0 -29
- package/dist/components/base/forms-numeric/index.d.cts +0 -10
- package/dist/components/base/forms-numeric/money-input.d.cts +0 -12
- package/dist/components/base/forms-numeric/percentage-input.d.cts +0 -10
- package/dist/components/base/forms-numeric/rounding-mode-select.d.cts +0 -12
- package/dist/components/base/forms-numeric/rounding-mode-select.strings.d.cts +0 -4
- package/dist/components/base/forms-numeric/unit-inputs.d.cts +0 -95
- package/dist/components/base/hover-card/hover-card.d.cts +0 -23
- package/dist/components/base/hover-card/index.d.cts +0 -1
- package/dist/components/base/index.d.cts +0 -54
- package/dist/components/base/input-group/index.d.cts +0 -2
- package/dist/components/base/input-group/input-group.d.cts +0 -29
- package/dist/components/base/item/index.d.cts +0 -1
- package/dist/components/base/item/item.d.cts +0 -37
- package/dist/components/base/label/index.d.cts +0 -1
- package/dist/components/base/label/label.d.cts +0 -3
- package/dist/components/base/menubar/index.d.cts +0 -1
- package/dist/components/base/menubar/menubar.d.cts +0 -7
- package/dist/components/base/navigation/breadcrumbs.d.cts +0 -24
- package/dist/components/base/navigation/index.d.cts +0 -10
- package/dist/components/base/navigation/language-switcher.d.cts +0 -20
- package/dist/components/base/navigation/navigation-tabs.d.cts +0 -23
- package/dist/components/base/navigation/navigation-tabs.strings.d.cts +0 -9
- package/dist/components/base/navigation/navigation.strings.d.cts +0 -27
- package/dist/components/base/navigation/overflow-tab-bar.d.cts +0 -23
- package/dist/components/base/navigation/page-heading.d.cts +0 -47
- package/dist/components/base/navigation/pagination.d.cts +0 -37
- package/dist/components/base/navigation/pagination.range.d.cts +0 -2
- package/dist/components/base/navigation/tabs.d.cts +0 -34
- package/dist/components/base/navigation-menu/index.d.cts +0 -1
- package/dist/components/base/navigation-menu/navigation-menu.d.cts +0 -35
- package/dist/components/base/otp-input/index.d.cts +0 -2
- package/dist/components/base/otp-input/otp-input.d.cts +0 -12
- package/dist/components/base/otp-input/otp-input.strings.d.cts +0 -13
- package/dist/components/base/overlay/index.d.cts +0 -3
- package/dist/components/base/overlay/overlay-context.d.cts +0 -19
- package/dist/components/base/overlay/overlay.d.cts +0 -24
- package/dist/components/base/overlay/overlay.strings.d.cts +0 -5
- package/dist/components/base/overlay/overlay.types.d.cts +0 -53
- package/dist/components/base/overlay/partials/index.d.cts +0 -5
- package/dist/components/base/overlay/partials/overlay-body.d.cts +0 -3
- package/dist/components/base/overlay/partials/overlay-description.d.cts +0 -3
- package/dist/components/base/overlay/partials/overlay-footer.d.cts +0 -3
- package/dist/components/base/overlay/partials/overlay-header.d.cts +0 -3
- package/dist/components/base/overlay/partials/overlay-title.d.cts +0 -3
- package/dist/components/base/popover/index.d.cts +0 -2
- package/dist/components/base/popover/popover.d.cts +0 -32
- package/dist/components/base/popover-menu/index.d.cts +0 -3
- package/dist/components/base/popover-menu/popover-menu.d.cts +0 -112
- package/dist/components/base/popover-menu/popover-menu.strings.d.cts +0 -15
- package/dist/components/base/popover-menu/popover-menu.types.d.cts +0 -16
- package/dist/components/base/qr-code/index.d.cts +0 -2
- package/dist/components/base/qr-code/qr-code.d.cts +0 -26
- package/dist/components/base/qr-code/qr-code.strings.d.cts +0 -10
- package/dist/components/base/repeaters/index.d.cts +0 -8
- package/dist/components/base/repeaters/key-value-editor.d.cts +0 -20
- package/dist/components/base/repeaters/localized-fields.d.cts +0 -49
- package/dist/components/base/repeaters/localized-string-repeater.d.cts +0 -20
- package/dist/components/base/repeaters/object-repeater.d.cts +0 -42
- package/dist/components/base/repeaters/repeater.d.cts +0 -29
- package/dist/components/base/repeaters/repeaters.strings.d.cts +0 -32
- package/dist/components/base/repeaters/string-repeater.d.cts +0 -16
- package/dist/components/base/resizable/index.d.cts +0 -1
- package/dist/components/base/resizable/resizable.d.cts +0 -16
- package/dist/components/base/sheet/index.d.cts +0 -1
- package/dist/components/base/sheet/sheet.d.cts +0 -14
- package/dist/components/base/sheet/sheet.types.d.cts +0 -17
- package/dist/components/base/sidebar/index.d.cts +0 -6
- package/dist/components/base/sidebar/sidebar-context.d.cts +0 -19
- package/dist/components/base/sidebar/sidebar-store.d.cts +0 -19
- package/dist/components/base/sidebar/sidebar.d.cts +0 -105
- package/dist/components/base/sidebar/sidebar.strings.d.cts +0 -8
- package/dist/components/base/skeleton/composed-skeletons.d.cts +0 -42
- package/dist/components/base/skeleton/index.d.cts +0 -3
- package/dist/components/base/skeleton/skeleton.d.cts +0 -3
- package/dist/components/base/skeleton/skeleton.strings.d.cts +0 -10
- package/dist/components/base/slot/index.d.cts +0 -1
- package/dist/components/base/slot/slot.d.cts +0 -13
- package/dist/components/base/spinner/index.d.cts +0 -1
- package/dist/components/base/spinner/spinner.d.cts +0 -13
- package/dist/components/base/structure/adaptive-grid.d.cts +0 -13
- package/dist/components/base/structure/bleed.d.cts +0 -13
- package/dist/components/base/structure/grid.d.cts +0 -22
- package/dist/components/base/structure/index.d.cts +0 -6
- package/dist/components/base/structure/split.d.cts +0 -24
- package/dist/components/base/structure/stack.d.cts +0 -19
- package/dist/components/base/structure/structure.maps.d.cts +0 -10
- package/dist/components/base/structure/structure.types.d.cts +0 -19
- package/dist/components/base/table/index.d.cts +0 -3
- package/dist/components/base/table/table.d.cts +0 -44
- package/dist/components/base/table/table.strings.d.cts +0 -10
- package/dist/components/base/text-inputs/field-shell.d.cts +0 -22
- package/dist/components/base/text-inputs/index.d.cts +0 -11
- package/dist/components/base/text-inputs/input.d.cts +0 -31
- package/dist/components/base/text-inputs/input.strings.d.cts +0 -9
- package/dist/components/base/text-inputs/native-select.d.cts +0 -6
- package/dist/components/base/text-inputs/password-input.d.cts +0 -12
- package/dist/components/base/text-inputs/password-input.strings.d.cts +0 -8
- package/dist/components/base/text-inputs/search-input.d.cts +0 -7
- package/dist/components/base/text-inputs/slug-field.d.cts +0 -16
- package/dist/components/base/text-inputs/slugify.d.cts +0 -12
- package/dist/components/base/text-inputs/textarea.d.cts +0 -26
- package/dist/components/base/text-inputs/use-field-value.d.cts +0 -29
- package/dist/components/base/timeline/index.d.cts +0 -3
- package/dist/components/base/timeline/stepper.d.cts +0 -39
- package/dist/components/base/timeline/stepper.strings.d.cts +0 -10
- package/dist/components/base/timeline/timeline.d.cts +0 -28
- package/dist/components/base/toaster/index.d.cts +0 -4
- package/dist/components/base/toaster/toast-store.d.cts +0 -72
- package/dist/components/base/toaster/toaster.d.cts +0 -29
- package/dist/components/base/toaster/toaster.strings.d.cts +0 -7
- package/dist/components/base/toaster/toaster.types.d.cts +0 -12
- package/dist/components/base/toggle/index.d.cts +0 -1
- package/dist/components/base/toggle/toggle.d.cts +0 -16
- package/dist/components/base/toolbar/index.d.cts +0 -1
- package/dist/components/base/toolbar/toolbar.d.cts +0 -28
- package/dist/components/base/tooltip/index.d.cts +0 -1
- package/dist/components/base/tooltip/tooltip.d.cts +0 -12
- package/dist/components/base/typography/display-label/display-label.d.cts +0 -6
- package/dist/components/base/typography/display-label/index.d.cts +0 -1
- package/dist/components/base/typography/heading/heading.d.cts +0 -20
- package/dist/components/base/typography/heading/index.d.cts +0 -1
- package/dist/components/base/typography/index.d.cts +0 -8
- package/dist/components/base/typography/rich-text/rich-text.d.cts +0 -15
- package/dist/components/base/typography/text/index.d.cts +0 -2
- package/dist/components/base/typography/text/text.d.cts +0 -50
- package/dist/components/base/typography/text-link/index.d.cts +0 -1
- package/dist/components/base/typography/text-link/text-link.d.cts +0 -16
- package/dist/components/base/upload/dropzone.d.cts +0 -25
- package/dist/components/base/upload/file-picker-input.d.cts +0 -17
- package/dist/components/base/upload/file-upload.d.cts +0 -41
- package/dist/components/base/upload/file-upload.strings.d.cts +0 -20
- package/dist/components/base/upload/index.d.cts +0 -16
- package/dist/components/base/upload/media-gallery.d.cts +0 -20
- package/dist/components/base/upload/media-upload.d.cts +0 -29
- package/dist/components/base/upload/preview-image.d.cts +0 -9
- package/dist/components/base/upload/upload-queue.d.cts +0 -48
- package/dist/components/base/upload/upload.strings.d.cts +0 -58
- package/dist/components/base/upload/upload.types.d.cts +0 -27
- package/dist/components/base/upload/use-file-drop-target.d.cts +0 -23
- package/dist/components/base/upload/validate-files.d.cts +0 -15
- package/dist/components/base/value-inputs/color-input.d.cts +0 -19
- package/dist/components/base/value-inputs/country-prefixes.d.cts +0 -16
- package/dist/components/base/value-inputs/date-time-input.d.cts +0 -21
- package/dist/components/base/value-inputs/index.d.cts +0 -7
- package/dist/components/base/value-inputs/phone-input.d.cts +0 -22
- package/dist/components/base/value-inputs/slider.d.cts +0 -50
- package/dist/components/base/value-inputs/tags-input.d.cts +0 -44
- package/dist/components/base/value-inputs/value-inputs.strings.d.cts +0 -37
- package/dist/components/features/actions/action-adapters.d.cts +0 -77
- package/dist/components/features/actions/action-overlay-outlet.d.cts +0 -2
- package/dist/components/features/actions/action-provider.d.cts +0 -3
- package/dist/components/features/actions/action-scope.d.cts +0 -3
- package/dist/components/features/actions/action-store.d.cts +0 -58
- package/dist/components/features/actions/actions.strings.d.cts +0 -2
- package/dist/components/features/actions/actions.types.d.cts +0 -322
- package/dist/components/features/actions/hooks.d.cts +0 -8
- package/dist/components/features/actions/index.d.cts +0 -9
- package/dist/components/features/activities/activities-feed.d.cts +0 -2
- package/dist/components/features/activities/activities.config.d.cts +0 -5
- package/dist/components/features/activities/activities.strings.d.cts +0 -32
- package/dist/components/features/activities/activities.types.d.cts +0 -347
- package/dist/components/features/activities/activity-event-adapter.d.cts +0 -35
- package/dist/components/features/activities/activity-headline.d.cts +0 -11
- package/dist/components/features/activities/activity-log.d.cts +0 -3
- package/dist/components/features/activities/activity-parts.d.cts +0 -54
- package/dist/components/features/activities/activity-row.d.cts +0 -43
- package/dist/components/features/activities/index.d.cts +0 -11
- package/dist/components/features/activities/use-activity-feed.d.cts +0 -33
- package/dist/components/features/activities/use-activity-resources.d.cts +0 -18
- package/dist/components/features/ai-chat/ai-chat-parts.d.cts +0 -87
- package/dist/components/features/ai-chat/ai-chat.d.cts +0 -32
- package/dist/components/features/ai-chat/ai-chat.strings.d.cts +0 -128
- package/dist/components/features/ai-chat/ai-chat.types.d.cts +0 -330
- package/dist/components/features/ai-chat/ai-content-surfaces.d.cts +0 -5
- package/dist/components/features/ai-chat/ai-message-surfaces.d.cts +0 -5
- package/dist/components/features/ai-chat/ai-work-surfaces.d.cts +0 -5
- package/dist/components/features/ai-chat/index.d.cts +0 -8
- package/dist/components/features/ai-chat/use-ai-chat-scroll.d.cts +0 -17
- package/dist/components/features/async-preview/async-preview-bundles.d.cts +0 -22
- package/dist/components/features/async-preview/async-preview-context.d.cts +0 -10
- package/dist/components/features/async-preview/async-preview.d.cts +0 -11
- package/dist/components/features/async-preview/async-preview.strings.d.cts +0 -9
- package/dist/components/features/async-preview/async-preview.types.d.cts +0 -112
- package/dist/components/features/async-preview/index.d.cts +0 -9
- package/dist/components/features/async-preview/preview-trigger-cell.d.cts +0 -29
- package/dist/components/features/async-preview/use-async-preview.d.cts +0 -9
- package/dist/components/features/combobox/async-combobox.d.cts +0 -3
- package/dist/components/features/combobox/combobox-dropdown.d.cts +0 -32
- package/dist/components/features/combobox/combobox.strings.d.cts +0 -40
- package/dist/components/features/combobox/combobox.types.d.cts +0 -96
- package/dist/components/features/combobox/fetching-combobox.d.cts +0 -33
- package/dist/components/features/combobox/highlighted-text.d.cts +0 -4
- package/dist/components/features/combobox/index.d.cts +0 -9
- package/dist/components/features/combobox/resource-combobox.d.cts +0 -54
- package/dist/components/features/combobox/suggestions-combobox.d.cts +0 -32
- package/dist/components/features/combobox/use-combobox-core.d.cts +0 -34
- package/dist/components/features/combobox/use-suggestions.d.cts +0 -50
- package/dist/components/features/comments/comment-attachment-chip.d.cts +0 -13
- package/dist/components/features/comments/comment-composer.d.cts +0 -10
- package/dist/components/features/comments/comment-content.d.cts +0 -14
- package/dist/components/features/comments/comment-item.d.cts +0 -2
- package/dist/components/features/comments/comment-thread-context.d.cts +0 -17
- package/dist/components/features/comments/comment-timeline.d.cts +0 -2
- package/dist/components/features/comments/comments.d.cts +0 -2
- package/dist/components/features/comments/comments.strings.d.cts +0 -67
- package/dist/components/features/comments/comments.types.d.cts +0 -290
- package/dist/components/features/comments/index.d.cts +0 -10
- package/dist/components/features/comments/use-attachment-upload.d.cts +0 -19
- package/dist/components/features/comments/use-comments.d.cts +0 -36
- package/dist/components/features/data-view/data-view-filtering.d.cts +0 -4
- package/dist/components/features/data-view/data-view.d.cts +0 -9
- package/dist/components/features/data-view/data-view.strings.d.cts +0 -13
- package/dist/components/features/data-view/data-view.types.d.cts +0 -114
- package/dist/components/features/data-view/index.d.cts +0 -5
- package/dist/components/features/data-view/use-data-view.d.cts +0 -2
- package/dist/components/features/event-calendar/event-calendar-day-cell.d.cts +0 -2
- package/dist/components/features/event-calendar/event-calendar-event-badge.d.cts +0 -2
- package/dist/components/features/event-calendar/event-calendar-event-card.d.cts +0 -7
- package/dist/components/features/event-calendar/event-calendar-header.d.cts +0 -2
- package/dist/components/features/event-calendar/event-calendar-legend.d.cts +0 -2
- package/dist/components/features/event-calendar/event-calendar.d.cts +0 -2
- package/dist/components/features/event-calendar/event-calendar.strings.d.cts +0 -30
- package/dist/components/features/event-calendar/event-calendar.types.d.cts +0 -170
- package/dist/components/features/event-calendar/index.d.cts +0 -11
- package/dist/components/features/event-calendar/use-event-calendar-data.d.cts +0 -7
- package/dist/components/features/event-calendar/use-event-calendar.d.cts +0 -12
- package/dist/components/features/filters/filter-cache.d.cts +0 -31
- package/dist/components/features/filters/filter-context.d.cts +0 -21
- package/dist/components/features/filters/filter-editors.d.cts +0 -17
- package/dist/components/features/filters/filter-error-boundary.d.cts +0 -10
- package/dist/components/features/filters/filter-layout.d.cts +0 -14
- package/dist/components/features/filters/filter-operator-select.d.cts +0 -7
- package/dist/components/features/filters/filter-operators.d.cts +0 -10
- package/dist/components/features/filters/filter-pill.d.cts +0 -14
- package/dist/components/features/filters/filter-query.d.cts +0 -20
- package/dist/components/features/filters/filter-sheet.d.cts +0 -7
- package/dist/components/features/filters/filter-store.d.cts +0 -8
- package/dist/components/features/filters/filter-tabs.d.cts +0 -10
- package/dist/components/features/filters/filter-utils.d.cts +0 -6
- package/dist/components/features/filters/filter-validators.d.cts +0 -15
- package/dist/components/features/filters/filter-value-display.d.cts +0 -7
- package/dist/components/features/filters/filters-button.d.cts +0 -9
- package/dist/components/features/filters/filters.strings.d.cts +0 -67
- package/dist/components/features/filters/filters.types.d.cts +0 -177
- package/dist/components/features/filters/index.d.cts +0 -21
- package/dist/components/features/filters/search-filters.d.cts +0 -11
- package/dist/components/features/filters/use-async-options.d.cts +0 -16
- package/dist/components/features/filters/use-filter-groups.d.cts +0 -18
- package/dist/components/features/global-search/global-search-dialog.d.cts +0 -9
- package/dist/components/features/global-search/global-search-empty-state.d.cts +0 -8
- package/dist/components/features/global-search/global-search-footer.d.cts +0 -12
- package/dist/components/features/global-search/global-search-idle-state.d.cts +0 -12
- package/dist/components/features/global-search/global-search-input.d.cts +0 -13
- package/dist/components/features/global-search/global-search-result-row.d.cts +0 -13
- package/dist/components/features/global-search/global-search-tabs.d.cts +0 -10
- package/dist/components/features/global-search/global-search.d.cts +0 -2
- package/dist/components/features/global-search/global-search.strings.d.cts +0 -19
- package/dist/components/features/global-search/global-search.types.d.cts +0 -97
- package/dist/components/features/global-search/index.d.cts +0 -11
- package/dist/components/features/global-search/use-global-search.d.cts +0 -28
- package/dist/components/features/index.d.cts +0 -29
- package/dist/components/features/kanban/index.d.cts +0 -5
- package/dist/components/features/kanban/kanban-context.d.cts +0 -18
- package/dist/components/features/kanban/kanban.d.cts +0 -12
- package/dist/components/features/kanban/kanban.strings.d.cts +0 -11
- package/dist/components/features/kanban/kanban.types.d.cts +0 -96
- package/dist/components/features/kanban/use-kanban.d.cts +0 -21
- package/dist/components/features/map/index.d.cts +0 -5
- package/dist/components/features/map/map-draw-globals.d.cts +0 -47
- package/dist/components/features/map/map-runtime.d.cts +0 -36
- package/dist/components/features/map/map.d.cts +0 -138
- package/dist/components/features/map/map.strings.d.cts +0 -42
- package/dist/components/features/map/place-autocomplete.d.cts +0 -69
- package/dist/components/features/map/place-search.d.cts +0 -10
- package/dist/components/features/map/resolve-tile-layer.d.cts +0 -18
- package/dist/components/features/media-library/index.d.cts +0 -8
- package/dist/components/features/media-library/media-icons.d.cts +0 -3
- package/dist/components/features/media-library/media-library-detail.d.cts +0 -13
- package/dist/components/features/media-library/media-library-parts.d.cts +0 -112
- package/dist/components/features/media-library/media-library-table.d.cts +0 -8
- package/dist/components/features/media-library/media-library-views.d.cts +0 -23
- package/dist/components/features/media-library/media-library.d.cts +0 -4
- package/dist/components/features/media-library/media-library.strings.d.cts +0 -240
- package/dist/components/features/media-library/media-library.types.d.cts +0 -304
- package/dist/components/features/media-library/media-preview.d.cts +0 -10
- package/dist/components/features/media-library/media-resource-gallery.d.cts +0 -2
- package/dist/components/features/media-library/use-media-library.d.cts +0 -8
- package/dist/components/features/mentions/index.d.cts +0 -10
- package/dist/components/features/mentions/mention-chip.d.cts +0 -13
- package/dist/components/features/mentions/mention-content.d.cts +0 -14
- package/dist/components/features/mentions/mention-html.d.cts +0 -29
- package/dist/components/features/mentions/mention-inline-suggestions.d.cts +0 -24
- package/dist/components/features/mentions/mention-picker.d.cts +0 -18
- package/dist/components/features/mentions/mention-suggestion-list.d.cts +0 -32
- package/dist/components/features/mentions/mentions.strings.d.cts +0 -16
- package/dist/components/features/mentions/mentions.types.d.cts +0 -69
- package/dist/components/features/mentions/use-mentions-search.d.cts +0 -42
- package/dist/components/features/mentions/use-mentions.d.cts +0 -28
- package/dist/components/features/overlays/action-dialog.d.cts +0 -2
- package/dist/components/features/overlays/action-overlay-frame.d.cts +0 -34
- package/dist/components/features/overlays/action-sheet.d.cts +0 -2
- package/dist/components/features/overlays/confirm-dialog.d.cts +0 -2
- package/dist/components/features/overlays/index.d.cts +0 -7
- package/dist/components/features/overlays/overlay-parts.d.cts +0 -44
- package/dist/components/features/overlays/overlays.strings.d.cts +0 -7
- package/dist/components/features/overlays/overlays.types.d.cts +0 -104
- package/dist/components/features/overlays/use-overlay-actions.d.cts +0 -23
- package/dist/components/features/overlays/use-overlay-visibility.d.cts +0 -37
- package/dist/components/features/products/index.d.cts +0 -10
- package/dist/components/features/products/product-cards.d.cts +0 -10
- package/dist/components/features/products/product-options-matrix.d.cts +0 -2
- package/dist/components/features/products/product-parts.d.cts +0 -69
- package/dist/components/features/products/product-percent.d.cts +0 -2
- package/dist/components/features/products/product-tone.d.cts +0 -4
- package/dist/components/features/products/product-variant-details.d.cts +0 -2
- package/dist/components/features/products/product-variant-editor.d.cts +0 -2
- package/dist/components/features/products/product-variants.d.cts +0 -10
- package/dist/components/features/products/products.strings.d.cts +0 -237
- package/dist/components/features/products/products.types.d.cts +0 -467
- package/dist/components/features/resource/index.d.cts +0 -3
- package/dist/components/features/resource/resource.d.cts +0 -8
- package/dist/components/features/resource/resource.strings.d.cts +0 -12
- package/dist/components/features/resource/resource.types.d.cts +0 -129
- package/dist/components/features/resource-assignment/index.d.cts +0 -4
- package/dist/components/features/resource-assignment/resource-assignment.d.cts +0 -14
- package/dist/components/features/resource-assignment/resource-assignment.strings.d.cts +0 -9
- package/dist/components/features/resource-assignment/resource-assignment.types.d.cts +0 -113
- package/dist/components/features/resource-assignment/use-shared-resource-card.d.cts +0 -18
- package/dist/components/features/rich-text-editor/editor-dom.d.cts +0 -27
- package/dist/components/features/rich-text-editor/exec-command-engine.d.cts +0 -2
- package/dist/components/features/rich-text-editor/index.d.cts +0 -7
- package/dist/components/features/rich-text-editor/rich-text-editor-toolbar.d.cts +0 -27
- package/dist/components/features/rich-text-editor/rich-text-editor.d.cts +0 -5
- package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.cts +0 -27
- package/dist/components/features/rich-text-editor/rich-text-editor.types.d.cts +0 -87
- package/dist/components/features/rich-text-editor/rich-text-engine.contract.d.cts +0 -7
- package/dist/components/features/rich-text-editor/rich-text-engine.types.d.cts +0 -36
- package/dist/components/features/rich-text-editor/tiptap/index.d.cts +0 -1
- package/dist/components/features/rich-text-editor/tiptap/mention-node.d.cts +0 -3
- package/dist/components/features/rich-text-editor/tiptap/tiptap-engine.d.cts +0 -10
- package/dist/components/features/rich-text-editor/use-editor-document.d.cts +0 -21
- package/dist/components/features/schema-form/index.d.cts +0 -7
- package/dist/components/features/schema-form/schema-form-actions.d.cts +0 -13
- package/dist/components/features/schema-form/schema-form-field.d.cts +0 -7
- package/dist/components/features/schema-form/schema-form.d.cts +0 -2
- package/dist/components/features/schema-form/schema-form.strings.d.cts +0 -15
- package/dist/components/features/schema-form/schema-form.types.d.cts +0 -215
- package/dist/components/features/schema-form/schema-form.utils.d.cts +0 -29
- package/dist/components/features/schema-form/use-schema-form.d.cts +0 -19
- package/dist/components/features/sync/index.d.cts +0 -3
- package/dist/components/features/sync/sync-range-form.d.cts +0 -2
- package/dist/components/features/sync/sync.strings.d.cts +0 -9
- package/dist/components/features/sync/sync.types.d.cts +0 -35
- package/dist/components/features/table/cell-renderers.d.cts +0 -64
- package/dist/components/features/table/cell-value.d.cts +0 -49
- package/dist/components/features/table/column-visibility-toggle.d.cts +0 -3
- package/dist/components/features/table/data-table-actions.d.cts +0 -3
- package/dist/components/features/table/data-table-body.d.cts +0 -3
- package/dist/components/features/table/data-table-header.d.cts +0 -3
- package/dist/components/features/table/data-table-size.d.cts +0 -3
- package/dist/components/features/table/data-table-toolbar.d.cts +0 -3
- package/dist/components/features/table/data-table.d.cts +0 -5
- package/dist/components/features/table/fullscreen-toggle.d.cts +0 -14
- package/dist/components/features/table/index.d.cts +0 -16
- package/dist/components/features/table/resource-cell.d.cts +0 -35
- package/dist/components/features/table/table-helpers.d.cts +0 -12
- package/dist/components/features/table/table.strings.d.cts +0 -58
- package/dist/components/features/table/table.types.d.cts +0 -198
- package/dist/components/features/table/use-fullscreen-modality.d.cts +0 -2
- package/dist/components/features/table/use-table-scroll.d.cts +0 -17
- package/dist/components/features/theme-tweaker/index.d.cts +0 -9
- package/dist/components/features/theme-tweaker/theme-scope.d.cts +0 -2
- package/dist/components/features/theme-tweaker/theme-tweaker.d.cts +0 -2
- package/dist/components/features/theme-tweaker/theme-tweaker.fields.d.cts +0 -2
- package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.cts +0 -67
- package/dist/components/features/theme-tweaker/theme-tweaker.types.d.cts +0 -123
- package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.cts +0 -28
- package/dist/components/features/theme-tweaker/ui-config-settings.d.cts +0 -9
- package/dist/components/features/theme-tweaker/ui-config-settings.strings.d.cts +0 -34
- package/dist/components/features/theme-tweaker/use-applied-theme.d.cts +0 -11
- package/dist/components/layout/app-shell/app-shell.d.cts +0 -49
- package/dist/components/layout/app-shell/index.d.cts +0 -6
- package/dist/components/layout/app-shell/topbar-sidebar-layout.d.cts +0 -54
- package/dist/components/layout/auth/auth-card.d.cts +0 -17
- package/dist/components/layout/auth/auth-footer-links.d.cts +0 -2
- package/dist/components/layout/auth/auth.d.cts +0 -70
- package/dist/components/layout/auth/auth.strings.d.cts +0 -7
- package/dist/components/layout/auth/auth.types.d.cts +0 -36
- package/dist/components/layout/auth/index.d.cts +0 -5
- package/dist/components/layout/containers/containers.d.cts +0 -58
- package/dist/components/layout/containers/index.d.cts +0 -1
- package/dist/components/layout/header/header.d.cts +0 -35
- package/dist/components/layout/header/header.strings.d.cts +0 -35
- package/dist/components/layout/header/header.types.d.cts +0 -113
- package/dist/components/layout/header/index.d.cts +0 -8
- package/dist/components/layout/header/partials/header-breadcrumbs.d.cts +0 -2
- package/dist/components/layout/header/partials/header-notifications.d.cts +0 -2
- package/dist/components/layout/header/partials/header-search.d.cts +0 -7
- package/dist/components/layout/header/partials/header-tool.d.cts +0 -4
- package/dist/components/layout/header/partials/header-user-menu.d.cts +0 -2
- package/dist/components/layout/hooks/use-active-path.d.cts +0 -2
- package/dist/components/layout/index.d.cts +0 -14
- package/dist/components/layout/layout.types.d.cts +0 -42
- package/dist/components/layout/navigation/breadcrumb-progress.d.cts +0 -20
- package/dist/components/layout/navigation/category-nav.d.cts +0 -21
- package/dist/components/layout/navigation/index.d.cts +0 -5
- package/dist/components/layout/navigation/navigation.strings.d.cts +0 -19
- package/dist/components/layout/navigation/section-nav.d.cts +0 -25
- package/dist/components/layout/navigation/side-nav.d.cts +0 -49
- package/dist/components/layout/page/index.d.cts +0 -5
- package/dist/components/layout/page/page-actions.d.cts +0 -27
- package/dist/components/layout/page/page-actions.strings.d.cts +0 -4
- package/dist/components/layout/page/page-header.d.cts +0 -36
- package/dist/components/layout/page/page-header.strings.d.cts +0 -7
- package/dist/components/layout/page/page.d.cts +0 -16
- package/dist/components/layout/settings/index.d.cts +0 -2
- package/dist/components/layout/settings/settings.d.cts +0 -23
- package/dist/components/layout/sidebar/app-sidebar.d.cts +0 -61
- package/dist/components/layout/sidebar/index.d.cts +0 -7
- package/dist/components/layout/sidebar/nav.types.d.cts +0 -28
- package/dist/components/layout/sidebar/partials/sidebar-logo.d.cts +0 -9
- package/dist/components/layout/sidebar/partials/sidebar-user.d.cts +0 -15
- package/dist/components/layout/sidebar/partials/sidebar-workspace.d.cts +0 -19
- package/dist/components/layout/sidebar/sidebar.strings.d.cts +0 -15
- package/dist/components/layout/workspace/index.d.cts +0 -5
- package/dist/components/layout/workspace/workspace-layout.d.cts +0 -28
- package/dist/components/layout/workspace/workspace-locale-strip.d.cts +0 -21
- package/dist/components/layout/workspace/workspace-nav.d.cts +0 -42
- package/dist/components/layout/workspace/workspace.d.cts +0 -32
- package/dist/components/layout/workspace/workspace.strings.d.cts +0 -21
- package/dist/components/patterns/analytics/activity-heatmap.d.cts +0 -14
- package/dist/components/patterns/analytics/analytics.strings.d.cts +0 -64
- package/dist/components/patterns/analytics/analytics.types.d.cts +0 -71
- package/dist/components/patterns/analytics/chart-card.d.cts +0 -11
- package/dist/components/patterns/analytics/format-metric-value.d.cts +0 -7
- package/dist/components/patterns/analytics/index.d.cts +0 -18
- package/dist/components/patterns/analytics/metric-bar.d.cts +0 -13
- package/dist/components/patterns/analytics/metric-comparison.d.cts +0 -12
- package/dist/components/patterns/analytics/metric-gradient.d.cts +0 -14
- package/dist/components/patterns/analytics/metric-grid.d.cts +0 -16
- package/dist/components/patterns/analytics/metric-micro-grid.d.cts +0 -15
- package/dist/components/patterns/analytics/metric-skeleton.d.cts +0 -6
- package/dist/components/patterns/analytics/metric-trend-chip.d.cts +0 -9
- package/dist/components/patterns/analytics/metric.d.cts +0 -19
- package/dist/components/patterns/analytics/time-ruler.d.cts +0 -10
- package/dist/components/patterns/index.d.cts +0 -3
- package/dist/components/patterns/onboarding/checklist.d.cts +0 -28
- package/dist/components/patterns/onboarding/index.d.cts +0 -5
- package/dist/components/patterns/onboarding/onboarding.strings.d.cts +0 -10
- package/dist/components/patterns/timelines/changelog-timeline.d.cts +0 -19
- package/dist/components/patterns/timelines/index.d.cts +0 -5
- package/dist/components/patterns/timelines/milestones-timeline.d.cts +0 -18
- package/dist/components/patterns/timelines/steps.d.cts +0 -27
- package/dist/components/patterns/timelines/timelines.strings.d.cts +0 -33
- package/dist/components/primitives/address.d.cts +0 -24
- package/dist/components/primitives/address.format.d.cts +0 -48
- package/dist/components/primitives/coordinates.d.cts +0 -25
- package/dist/components/primitives/date.d.cts +0 -52
- package/dist/components/primitives/date.format.d.cts +0 -15
- package/dist/components/primitives/dimensions.d.cts +0 -19
- package/dist/components/primitives/dimensions.format.d.cts +0 -9
- package/dist/components/primitives/duration.d.cts +0 -21
- package/dist/components/primitives/file-size.d.cts +0 -17
- package/dist/components/primitives/file-size.format.d.cts +0 -10
- package/dist/components/primitives/index.d.cts +0 -32
- package/dist/components/primitives/initials-format.d.cts +0 -21
- package/dist/components/primitives/initials.d.cts +0 -15
- package/dist/components/primitives/inline-list.d.cts +0 -30
- package/dist/components/primitives/link.d.cts +0 -36
- package/dist/components/primitives/money.d.cts +0 -36
- package/dist/components/primitives/name.d.cts +0 -8
- package/dist/components/primitives/name.format.d.cts +0 -5
- package/dist/components/primitives/number.d.cts +0 -21
- package/dist/components/primitives/primitives.strings.d.cts +0 -30
- package/dist/components/primitives/quantity.d.cts +0 -48
- package/dist/components/primitives/range.d.cts +0 -19
- package/dist/components/primitives/ratio.d.cts +0 -37
- package/dist/components/primitives/value-children.d.cts +0 -2
- package/dist/components/primitives/value.d.cts +0 -38
- package/dist/containers-C8npPEqC.cjs +0 -1
- package/dist/copyable-Bbd_Tsxc.cjs +0 -1
- package/dist/cvm-CHrYqf6y.cjs +0 -1
- package/dist/date-pickers-C6rE7fLo.cjs +0 -1
- package/dist/dialog-Bf7tBRkZ.cjs +0 -1
- package/dist/display-BUiiuPS9.cjs +0 -1
- package/dist/dropdown-menu-0OW7zJto.cjs +0 -1
- package/dist/features/actions.cjs +0 -1
- package/dist/features/activities.cjs +0 -1
- package/dist/features/ai-chat.cjs +0 -3
- package/dist/features/async-preview.cjs +0 -1
- package/dist/features/combobox.cjs +0 -1
- package/dist/features/comments.cjs +0 -1
- package/dist/features/data-view.cjs +0 -1
- package/dist/features/event-calendar.cjs +0 -1
- package/dist/features/filters.cjs +0 -1
- package/dist/features/global-search.cjs +0 -1
- package/dist/features/kanban.cjs +0 -1
- package/dist/features/map.cjs +0 -1
- package/dist/features/media-library.cjs +0 -1
- package/dist/features/mentions.cjs +0 -1
- package/dist/features/overlays.cjs +0 -1
- package/dist/features/products.cjs +0 -1
- package/dist/features/resource-assignment.cjs +0 -1
- package/dist/features/resource.cjs +0 -1
- package/dist/features/rich-text-editor/tiptap.cjs +0 -1
- package/dist/features/rich-text-editor.cjs +0 -1
- package/dist/features/schema-form.cjs +0 -1
- package/dist/features/sync.cjs +0 -1
- package/dist/features/table.cjs +0 -1
- package/dist/features/theme-tweaker.cjs +0 -12
- package/dist/feedback-Da53xAUT.cjs +0 -1
- package/dist/filters-B8dkhzan.cjs +0 -1
- package/dist/forms-BEQN1X5A.cjs +0 -1
- package/dist/forms-numeric-B1cqc9Vn.cjs +0 -1
- package/dist/forms-rhf.cjs +0 -1
- package/dist/forms.cjs +0 -1
- package/dist/hooks/index.d.cts +0 -8
- package/dist/hooks/use-command-shortcut.d.cts +0 -12
- package/dist/hooks/use-controllable-state.d.cts +0 -14
- package/dist/hooks/use-debounce.d.cts +0 -4
- package/dist/hooks/use-debounced-callback.d.cts +0 -14
- package/dist/hooks/use-files.d.cts +0 -54
- package/dist/hooks/use-form-errors.d.cts +0 -16
- package/dist/hooks/use-hydrated.d.cts +0 -5
- package/dist/hooks/use-latest.d.cts +0 -6
- package/dist/hooks/use-mobile.d.cts +0 -2
- package/dist/hooks/use-native-dialog.d.cts +0 -33
- package/dist/hooks/use-object-urls.d.cts +0 -9
- package/dist/hooks/use-synced-state.d.cts +0 -7
- package/dist/index.cjs +0 -1
- package/dist/index.d.cts +0 -2
- package/dist/input-group-Bnc24cRI.cjs +0 -1
- package/dist/item-Cye3hJmr.cjs +0 -1
- package/dist/label-Cr4NpRvn.cjs +0 -1
- package/dist/layout/app-shell.cjs +0 -1
- package/dist/layout/auth.cjs +0 -1
- package/dist/layout/containers.cjs +0 -1
- package/dist/layout/header.cjs +0 -1
- package/dist/layout/navigation.cjs +0 -1
- package/dist/layout/page.cjs +0 -1
- package/dist/layout/settings.cjs +0 -1
- package/dist/layout/sidebar.cjs +0 -1
- package/dist/layout/workspace.cjs +0 -1
- package/dist/layout.types-CMzK1wjV.cjs +0 -1
- package/dist/layout.types-CTDrZCGP.js +0 -17
- package/dist/lib/action-presentation.d.cts +0 -18
- package/dist/lib/component-vocabulary.d.cts +0 -12
- package/dist/lib/cvm.d.cts +0 -27
- package/dist/lib/cx.d.cts +0 -2
- package/dist/lib/format.d.cts +0 -43
- package/dist/lib/forms/field-binding.d.cts +0 -39
- package/dist/lib/forms/index.d.cts +0 -1
- package/dist/lib/forms-rhf/index.d.cts +0 -7
- package/dist/lib/navigation.d.cts +0 -37
- package/dist/lib/observers.d.cts +0 -13
- package/dist/lib/render-with-children.d.cts +0 -2
- package/dist/lib/responsive.d.cts +0 -18
- package/dist/lib/sanitize-html.d.cts +0 -1
- package/dist/lib/scroll-edges.d.cts +0 -17
- package/dist/lib/strings.d.cts +0 -28
- package/dist/lib/theming/contrast.d.cts +0 -20
- package/dist/lib/theming/index.d.cts +0 -4
- package/dist/lib/theming/recipes.d.cts +0 -20
- package/dist/lib/theming/types.d.cts +0 -8
- package/dist/lib/ui-provider/context.d.cts +0 -19
- package/dist/lib/ui-provider/csp-provider.d.cts +0 -10
- package/dist/lib/ui-provider/defaults.d.cts +0 -6
- package/dist/lib/ui-provider/hooks.d.cts +0 -33
- package/dist/lib/ui-provider/index.d.cts +0 -11
- package/dist/lib/ui-provider/portal-host.d.cts +0 -22
- package/dist/lib/ui-provider/provider.d.cts +0 -20
- package/dist/lib/ui-provider/root.d.cts +0 -20
- package/dist/lib/ui-provider/scope.d.cts +0 -20
- package/dist/lib/ui-provider/tokens.d.cts +0 -14
- package/dist/lib/ui-provider/tokens.generated.d.cts +0 -4
- package/dist/lib/ui-provider/types.d.cts +0 -153
- package/dist/lib/ui-provider/ui-scope.d.cts +0 -17
- package/dist/lib/ui-provider/use-iphone-input-zoom.d.cts +0 -2
- package/dist/mentions-DbQAE-Ug.cjs +0 -1
- package/dist/navigation-BaIANCwE.cjs +0 -1
- package/dist/navigation-BmZabEfZ.cjs +0 -1
- package/dist/navigation-CnYYy8iw.cjs +0 -1
- package/dist/navigation-Db1UQSIU.js +0 -24
- package/dist/observers-jagR5BK7.cjs +0 -1
- package/dist/overlay-D1wEvshK.cjs +0 -1
- package/dist/overlays-BnWOasE6.cjs +0 -1
- package/dist/patterns/analytics.cjs +0 -1
- package/dist/patterns/onboarding.cjs +0 -1
- package/dist/patterns/timelines.cjs +0 -1
- package/dist/popover-BUebuMJK.cjs +0 -1
- package/dist/popover-menu-Cm10om_m.cjs +0 -1
- package/dist/primitives-BP7kGVYZ.cjs +0 -1
- package/dist/primitives.cjs +0 -1
- package/dist/render-with-children-BZwzInAH.cjs +0 -1
- package/dist/repeaters-BIvKI1CQ.cjs +0 -1
- package/dist/responsive-BwbJtEmd.cjs +0 -1
- package/dist/rich-text-editor-CqqHeJDp.cjs +0 -1
- package/dist/rolldown-runtime-BocRIvOZ.cjs +0 -1
- package/dist/scroll-edges-CrUcSo-b.cjs +0 -1
- package/dist/sheet-FA8TfP1E.cjs +0 -1
- package/dist/sidebar-C-TSBDj5.cjs +0 -1
- package/dist/skeleton-3RdcmQ7K.cjs +0 -1
- package/dist/slot-B-qWS3Ng.cjs +0 -1
- package/dist/spinner-ChYwza6q.cjs +0 -1
- package/dist/strings-BiKL6k6b.cjs +0 -1
- package/dist/structure-CXTLV2t8.cjs +0 -1
- package/dist/styles/theming/mentions.css +0 -33
- package/dist/styles.cjs +0 -0
- package/dist/styles.d.cts +0 -0
- package/dist/styles.d.ts +0 -0
- package/dist/styles.js +0 -1
- package/dist/table-B9zwmrtt.cjs +0 -1
- package/dist/table-CaFQyjTz.cjs +0 -1
- package/dist/text-inputs-D4w3Z2-F.cjs +0 -1
- package/dist/theming-B52zPV1p.cjs +0 -1
- package/dist/theming.cjs +0 -1
- package/dist/timeline-B3f7rEXh.cjs +0 -1
- package/dist/timelines-DJdBmWPj.cjs +0 -1
- package/dist/tiptap-engine-Chjm-1px.cjs +0 -1
- package/dist/toaster-D3Fsaf3I.cjs +0 -1
- package/dist/toolbar-Bap7y244.cjs +0 -1
- package/dist/tooltip-Dewu4Ynm.cjs +0 -1
- package/dist/types/index.d.cts +0 -7
- package/dist/types/locale.types.d.cts +0 -13
- package/dist/types/navigation.types.d.cts +0 -13
- package/dist/types/pagination.types.d.cts +0 -27
- package/dist/typography-LMez-POJ.cjs +0 -1
- package/dist/ui-provider-B3v22pQY.cjs +0 -1
- package/dist/ui-provider.cjs +0 -1
- package/dist/upload-5tzkI0NC.cjs +0 -1
- package/dist/use-controllable-state-BdbrdEWI.cjs +0 -1
- package/dist/use-debounce-CKfx87CG.cjs +0 -1
- package/dist/use-debounced-callback-BiZB-QB2.cjs +0 -1
- package/dist/use-hydrated-DwqJ02th.cjs +0 -1
- package/dist/use-latest-BT2X4Opg.cjs +0 -1
- package/dist/use-mobile-COk5j6jT.cjs +0 -1
- package/dist/use-synced-state-CoPfjLRG.cjs +0 -1
- package/dist/value-inputs-DzErolfh.cjs +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,131 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.0.0 — 2026-09-27
|
|
4
|
+
|
|
5
|
+
A major release. The package is ES modules whose JavaScript imports no CSS, so each module's
|
|
6
|
+
stylesheet is imported beside it; every `renderLink` takes one shape; and the published
|
|
7
|
+
catalogue uses the documentation's words. Read
|
|
8
|
+
[Upgrading to 3.0](docs/learn/migration.md#upgrading-to-30), then run the packaged codemod
|
|
9
|
+
from your project, dry first:
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
node node_modules/themelia-ui/scripts/consumer/codemod.mjs --dry-run src/
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
The [migration reference](https://unpkg.com/themelia-ui/docs/generated/migration.md) lists
|
|
16
|
+
every change with its replacement.
|
|
17
|
+
|
|
18
|
+
### Breaking
|
|
19
|
+
|
|
20
|
+
- The package is ES modules only, and its JavaScript imports no CSS. Import each module's
|
|
21
|
+
stylesheet beside its JavaScript, or `style.css` once: a component whose stylesheet is not
|
|
22
|
+
imported renders unstyled. `themelia-ui/styles` is gone; import `themelia-ui/core.css`. The
|
|
23
|
+
CommonJS build and its `.cjs` and `.d.cts` files are gone too, each export has one
|
|
24
|
+
JavaScript target, and the package is about 2 MB smaller. In exchange, Node loads the
|
|
25
|
+
package as it is: server rendering and test runners need no configuration for it, and
|
|
26
|
+
CommonJS code on Node 20.19 or later can `require()` it. Jest still needs the package
|
|
27
|
+
exempted in `transformIgnorePatterns`.
|
|
28
|
+
- `Scope` takes `render` instead of `as`, like every component that can become a different
|
|
29
|
+
element: `<Scope vars={vars} as="section">` becomes
|
|
30
|
+
`<Scope vars={vars} render={<section />}>`. It also passes the element's own props through
|
|
31
|
+
(`id`, `aria-*`, `ref`), as `UIScope` does, and its props are exported as `ScopeProps`.
|
|
32
|
+
- The published catalogue uses the documentation's words, modules and tiers:
|
|
33
|
+
- `docs/generated/component-index.json` is schema 3. `modules` replaces `families`; each
|
|
34
|
+
entry's `tier` (`foundations`, `primitives`, `base`, `layout`, `features` or `blocks`)
|
|
35
|
+
replaces `layer`, and `dependsOn` replaces `dependsOnFamilies`. Component guidance that
|
|
36
|
+
falls back to its module's text has `guidanceSource: "module"`.
|
|
37
|
+
- `docs/generated/recipes.json`: `module`, `modules` and `supportingModules` replace
|
|
38
|
+
`family`, `families` and `supportingFamilies`.
|
|
39
|
+
- `themelia-ui/profiles/general.json` and `admin.json`: `modules` replaces `families`.
|
|
40
|
+
- `find-component.mjs` takes `--module=` and `--tier=` instead of `--family=` and
|
|
41
|
+
`--layer=`, and its `--json` records carry `module`, `tier` and `dependsOn`.
|
|
42
|
+
- Props typed from a variant map are declared, so they no longer accept `null`: `Badge`'s
|
|
43
|
+
`tone` and `variant` (and a metadata value's `badgeTone` and `badgeVariant`), `Alert`'s
|
|
44
|
+
`tone` and `variant`, `Item`'s `surface`, `ItemMedia`'s `variant`, `InputGroupAddon`'s
|
|
45
|
+
`align` and `InputGroupButton`'s `size`. Leave the prop out for the default.
|
|
46
|
+
- Every component that renders a link takes one `renderLink` shape, `LinkRenderer`, so one
|
|
47
|
+
router adapter serves the kit. `ActionMenu`, `ActionButtons`, a card's action strip,
|
|
48
|
+
`ResourceCell` and `SideNav` took shapes of their own; `ActionLinkRenderer`,
|
|
49
|
+
`ActionLinkRenderProps` and `ResourceCellLinkProps` are gone. A renderer returns one
|
|
50
|
+
element. `Pagination` takes `pageHref={(page) => …}`, which makes every control a link by
|
|
51
|
+
itself, and its `renderLink` receives the same props as every other renderer.
|
|
52
|
+
|
|
53
|
+
### Added
|
|
54
|
+
|
|
55
|
+
- `LinkRenderer` and `LinkRenderProps`, the type of `renderLink`, are exported from every
|
|
56
|
+
module whose components take one: `base/action-menu`, `base/cards`, `base/navigation`,
|
|
57
|
+
`features/table`, and `layout/auth`, `header`, `navigation`, `page`, `settings`, `sidebar`
|
|
58
|
+
and `workspace`.
|
|
59
|
+
|
|
60
|
+
### Changed
|
|
61
|
+
|
|
62
|
+
- The packaged skill is about 110 KB instead of 2.4 MB. It no longer copies the per-module
|
|
63
|
+
API references and the component index, which ship under `docs/generated`; it names them
|
|
64
|
+
there, and `find-component.mjs` reads the index from there. Re-run the skill installer to
|
|
65
|
+
replace an installed copy.
|
|
66
|
+
|
|
67
|
+
### Fixed
|
|
68
|
+
|
|
69
|
+
- `Time`, `DateTime` and comment timestamps follow the provider's `dates.timeFormat`; they
|
|
70
|
+
showed `HH:mm` whatever it was set to.
|
|
71
|
+
- A `MetadataList` info button is named after its fact ("Amount info"), not after its
|
|
72
|
+
tooltip text.
|
|
73
|
+
- A disabled `SideNav` entry renders without a destination; the keyboard could still reach
|
|
74
|
+
and follow it.
|
|
75
|
+
- `themelia-ui/primitives.css` compiles under Tailwind v4. It imported its neighbours by bare
|
|
76
|
+
file name, which `@tailwindcss/cli`, `@tailwindcss/postcss` and `@tailwindcss/vite` before
|
|
77
|
+
4.3 resolve as package names ("Can't resolve 'core.css'"). Its imports are now relative.
|
|
78
|
+
- A nested `UIScope` keeps what an enclosing provider or scope set through `config`:
|
|
79
|
+
`theme.colors`, `theme.vars`, type sizes and fonts. Semantic colours are declared again at
|
|
80
|
+
every scope boundary, so the nested scope painted the kit's defaults while `useUIConfig()`
|
|
81
|
+
reported the merged values. Each scope now writes the merged overrides on its element.
|
|
82
|
+
|
|
83
|
+
## 2.0.1 — 2026-09-25
|
|
84
|
+
|
|
85
|
+
Every family now paints each role with one token. No public API changes. If your CSS reads a
|
|
86
|
+
retired colour step or component variable, run the codemod from your project, dry first:
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
node node_modules/themelia-ui/scripts/consumer/codemod.mjs --dry-run src/
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
[`src/styles/TOKENS.md`](src/styles/TOKENS.md) states the contract by role:
|
|
93
|
+
|
|
94
|
+
- **Shape.** `--radius` for wrappers and `--radius-sm` for every item and every control at
|
|
95
|
+
every size, checkboxes, glyph buttons, swatches and badges included; the half radius that
|
|
96
|
+
2.0.0 gave small controls and badges is gone. A wrapper nested in a Card (Alert, bordered
|
|
97
|
+
Empty, choice and switch cards, upload rows, ContentBlock) steps down to `--radius-sm`.
|
|
98
|
+
Nested corners are arithmetic on the two, and no state changes a radius.
|
|
99
|
+
- **Fills.** Grounds are `--background`, `--card`, `--popover` and `--sidebar`. Every
|
|
100
|
+
card-like surface sits on `--card` in dark too; the framed Card no longer lifts to the
|
|
101
|
+
popover grey. Neutral fills are `--muted-50` (wells), `--muted-20` (strips) and
|
|
102
|
+
`--foreground-8/-10/-20` (chips, skeletons, tracks). New `--surface-ground` lets sticky
|
|
103
|
+
cells, rings and fades match the surface they sit on.
|
|
104
|
+
- **States.** Hover is `--accent` on controls and `--accent-50` on rows. The current
|
|
105
|
+
navigation item is the neutral `--accent` at medium weight; selection takes the brand
|
|
106
|
+
ladder and outranks hover. One focus ring. Disabled is `cursor: not-allowed`. State colour
|
|
107
|
+
changes share `--transition-control` on `--ease-out`.
|
|
108
|
+
- **Tones.** Each hue has one ladder: ink, wash (5%), soft (10%), soft hover (20%) and line
|
|
109
|
+
(30%, warning 40%). Badge, Alert, Button tones, mentions, chips, timeline, calendar and
|
|
110
|
+
progress all use it.
|
|
111
|
+
- **Edges.** `--border` outside, `--border-60` inside, `--control-border` for controls in a
|
|
112
|
+
row with fields, and one invalid edge.
|
|
113
|
+
- **Elevation.** None, `--shadow-xs` at rest, `--shadow-sm` on hover, `--popover-shadow` for
|
|
114
|
+
every anchored popup, `--shadow-lg` floating and `--shadow-xl` modal.
|
|
115
|
+
- **Type and size.** One weight per role: medium for labels, rows and controls, semibold for
|
|
116
|
+
surface titles and figures. Links use `--link-color` and `--link-underline-offset`, control
|
|
117
|
+
heights and paddings come in matching pairs, and every derived length is a whole pixel.
|
|
118
|
+
- Glyph buttons below the smallest control come in two sizes: the icon size inside a field,
|
|
119
|
+
the large icon size elsewhere.
|
|
120
|
+
- The dark `--sidebar-primary` is neutral, as in light.
|
|
121
|
+
- Fixed: `deriveThemeElevation` derives every tier from the default theme's geometry and
|
|
122
|
+
`--shadow-ink`, so `intensity: 0.8` reproduces the default ladder. It emitted literal black
|
|
123
|
+
layers, so the first Theme Tweaker change flattened `--shadow-md` and dropped a tinted ink.
|
|
124
|
+
|
|
3
125
|
## 2.0.0 — 2026-09-25
|
|
4
126
|
|
|
5
|
-
A major release. It consolidates the visual system and the token surface
|
|
6
|
-
text colours, one control height, one spacing ladder
|
|
127
|
+
A major release. It consolidates the visual system and the token surface (two radii, two
|
|
128
|
+
text colours, one control height, one spacing ladder) and removes names that were only
|
|
7
129
|
another component under a second name. Read
|
|
8
130
|
[Upgrading to 2.0](docs/learn/migration.md#upgrading-to-20), then run the packaged codemod
|
|
9
131
|
from your project, dry first:
|
|
@@ -12,984 +134,521 @@ from your project, dry first:
|
|
|
12
134
|
node node_modules/themelia-ui/scripts/consumer/codemod.mjs --dry-run src/
|
|
13
135
|
```
|
|
14
136
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
take
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
`
|
|
51
|
-
`
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
137
|
+
The [migration reference](docs/generated/migration.md) lists every removed name, token and
|
|
138
|
+
utility with its replacement.
|
|
139
|
+
|
|
140
|
+
### Breaking
|
|
141
|
+
|
|
142
|
+
- **One name per component.** Props and behaviour are unchanged under the remaining name.
|
|
143
|
+
- `Dialog`, `Sheet` and `AlertDialog`, their `Trigger`, `Close`, `Body`, `Title`,
|
|
144
|
+
`Description`, `Header` and `Footer` parts, and `DialogDismissArea` are the `Overlay`
|
|
145
|
+
parts from `themelia-ui/base/overlay`. The presets keep what sets something:
|
|
146
|
+
`DialogContent`, `SheetContent`, and `AlertDialogContent` with `AlertDialogAction`,
|
|
147
|
+
`AlertDialogCancel` and `AlertDialogMedia`. CSS aimed at `.dialog--header` and the like
|
|
148
|
+
targets `.overlay--header` / `.overlay--footer` inside the preset's `--component` class.
|
|
149
|
+
- A menubar's menus are dropdown menus: `MenubarMenu` is `DropdownMenu`, and every other
|
|
150
|
+
`Menubar*` part except `MenubarTrigger` is the `DropdownMenu*` part with the same suffix.
|
|
151
|
+
Import `themelia-ui/base/dropdown-menu.css` beside the menubar's stylesheet.
|
|
152
|
+
- `SettingsShell` is `AsideNavShell` and `ToggleGroupItem` is `Toggle`. The `DialogProps`,
|
|
153
|
+
`SettingsShellProps` and `ToggleGroupItemProps` types are `OverlayRootProps`,
|
|
154
|
+
`AsideNavShellProps` and `ToggleProps`.
|
|
155
|
+
- `themelia-ui/features/suggestions` and its stylesheet are no longer published. Import the
|
|
156
|
+
same names from `themelia-ui/features/combobox`; the codemod rewrites both.
|
|
157
|
+
- **A navigation menu has one panel.** `NavigationMenu` owns a shared panel that each
|
|
158
|
+
`NavigationMenuContent` draws into, so moving between entries resizes one surface and idle
|
|
159
|
+
entries no longer paint a dot. `side`, `sideOffset` and `container` move from
|
|
160
|
+
`NavigationMenuContent` to `NavigationMenu`, which also takes `align` (default `"start"`).
|
|
161
|
+
Panel links sit one per row. `NavigationMenuIndicator` draws a chevron that turns while its
|
|
162
|
+
panel is open; remove an empty one you relied on to draw nothing.
|
|
163
|
+
- **Two text colours.** Text is `--foreground` or `--muted-foreground`. `Text type="discrete"`
|
|
164
|
+
is `type="secondary"`, which resolves to `--muted-foreground`; `--text-role-discrete` and
|
|
165
|
+
`--foreground-80` are removed. Heading subtitles, navigation links and empty-state icons
|
|
166
|
+
take the muted colour.
|
|
167
|
+
- **Two radii.** `--radius` (1rem) for containers and `--radius-sm` (0.5rem) for what sits
|
|
168
|
+
inside them, both plain values set at `:root`; nothing derives one from the other, so a
|
|
169
|
+
theme that sets `--radius` sets `--radius-sm` too. A container insets its items by the
|
|
170
|
+
difference, `--space-md`, so a highlighted row sits concentric in its menu.
|
|
171
|
+
`--radius-surface`, `--radius-popup`, `--radius-control`, `--radius-inner` and the `-md` to
|
|
172
|
+
`-4xl` ladder are removed; `rounded-md`, `rounded-lg` and larger are Tailwind's own radii
|
|
173
|
+
again. `UIConfig.theme.radiusSm` sits beside `radius`, and the Theme Tweaker edits both.
|
|
174
|
+
- **One density factor.** `--space-scale` merges into `--density-scale`, which now moves
|
|
175
|
+
spacing and control geometry alike; `--density-preset-scale` is removed. `--density-scale`
|
|
176
|
+
is a raw input like `--text-scale`: set on `:root`, it reaches inside every provider.
|
|
177
|
+
Every density-scaled length is rounded to a whole pixel. Controls are 34, 30 and 24px at the
|
|
178
|
+
default (the small tiers were 30.2 and 22.67px) and 32, 28 and 23px under `compact`.
|
|
179
|
+
Navigation-menu triggers take the control height (were 36px), menubar triggers the small
|
|
180
|
+
height (were 28px) and toast actions the smallest.
|
|
181
|
+
- **One name per value.** Tokens that restated another under a component name are removed:
|
|
182
|
+
`--menu-surface-p`, `--menu-row-px`, `--field-h`, `--field-px`, `--field-py`, `--text-xxs`,
|
|
183
|
+
and the heading, label and link colours (headings and labels paint `--text-role-main`,
|
|
184
|
+
subtitles `--text-role-secondary`, links `--link-color`). `--height-action` merges into
|
|
185
|
+
`--height-control`, and `--action`, `--action-sm` and `--action-2xs` into `--control-h`,
|
|
186
|
+
`--control-h-sm` and `--control-h-2xs`. The sidebar width is `--sidebar-width` for Sidebar
|
|
187
|
+
and every shell, and the top-bar height is `--shell-header-height` (3.5rem). The codemod
|
|
188
|
+
renames each; the migration reference lists the component variables that went with them.
|
|
189
|
+
- **`RANGE_PRESETS` is removed**, as its 1.x deprecation announced. Build presets with
|
|
190
|
+
`createRangePresets({ strings, weekStartsOn })` from the provider's week, so "This week"
|
|
191
|
+
agrees with the calendar beside it.
|
|
192
|
+
- **Unwired API is removed.** `PopoverContent`'s `onOpenAutoFocus` and `onInteractOutside`
|
|
193
|
+
(use Base UI's `initialFocus`/`finalFocus` and `onOpenChange`), `CommandStrings.empty`
|
|
194
|
+
(`CommandEmpty` renders its children) and `UIConfig.motion.durations.slow`.
|
|
195
|
+
- **`Textarea`** puts `className` and `textarea--component` on the `<textarea>`, like `Input`,
|
|
196
|
+
so a caller can set `resize`. Select the box with `[data-slot="textarea-frame"]`.
|
|
197
|
+
- **A browser floor.** Chrome and Edge 125, Firefox 121 and Safari 16.4 or newer, set by
|
|
198
|
+
`round()`, `:has()` and `:dir()`.
|
|
199
|
+
- **Types.** `ResolvedUIConfig.overlay` is required (code that builds a resolved config
|
|
200
|
+
spreads `DEFAULT_UI_CONFIG`). `OverflowTabBar` no longer accepts the `defaultValue` it
|
|
201
|
+
ignored. An exhaustive switch over `TabListProps["variant"]` needs a `"pill"` case. A
|
|
202
|
+
complete `UIConfigSettingsStrings` translation adds `labels.darkMenus` and
|
|
203
|
+
`darkMenusDescription`.
|
|
204
|
+
|
|
205
|
+
### Added
|
|
206
|
+
|
|
207
|
+
- The codemod ships in the package:
|
|
208
|
+
`node node_modules/themelia-ui/scripts/consumer/codemod.mjs [--dry-run] <paths…>`. Beyond
|
|
209
|
+
moved and broad imports, it renames every custom property 1.0.4 declared and 2.0 does not,
|
|
210
|
+
wherever a stylesheet reads or sets it or a script reads it through `var()`, a style key or
|
|
211
|
+
the CSSOM, and the Tailwind utilities the bridge no longer emits. It reports without editing
|
|
212
|
+
a removed token with no successor, an override that now sets a shared name, and
|
|
213
|
+
`rounded-md` and larger.
|
|
86
214
|
- The kit ships its typefaces: Geist for text and Geist Mono for code and identifiers (SIL OFL
|
|
87
215
|
1.1), as variable-weight woff2 files in `dist/fonts/`, one per script, loaded by `core.css`.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
-
|
|
97
|
-
|
|
98
|
-
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
`
|
|
120
|
-
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
- Tighten the agent skills and consumer scripts. The consumer skill gains an upgrade path
|
|
144
|
-
(codemod, then reinstall the skill), `UIRoot`'s `documentTarget` caveat, the dark-menu
|
|
145
|
-
default, and Base UI state attributes in place of `data-state`; its link to the full 2.0
|
|
146
|
-
change list pointed at itself and now opens the packaged migration reference. A family
|
|
147
|
-
used only together with another says so — the menubar's reference and index record name
|
|
148
|
-
`base/dropdown-menu` and its stylesheet — and a declaration's `@deprecated` tag prints in
|
|
149
|
-
its reference. The codemod carries a moved family's stylesheet import with it and names the
|
|
150
|
-
migration document by its installed path. `css-tokens` merged into `token-system`, which now
|
|
151
|
-
gives the token-removal steps; `css-authoring` states the 2.0 visual contract; the skill
|
|
152
|
-
generator clears each mirror, which removes three stale reference files that had taught
|
|
153
|
-
`--radius-surface` since the first commit, and `verify docs-freshness` rejects any removed
|
|
154
|
-
token outside a migration guide.
|
|
155
|
-
- Let Tailwind's `rounded-sm` and `font-*` follow a theme again. 2.0 made `--radius-sm` a
|
|
156
|
-
literal, and the bridge's `@theme inline` froze it into the utility as `0.5rem`, so a theme,
|
|
157
|
-
`UIConfig.theme.radiusSm` or `typography.fonts` moved every kit component and left the
|
|
158
|
-
utilities behind. Restated literals now sit in a plain `@theme` and their utilities read the
|
|
159
|
-
variable at the element; Tailwind's preflight font follows `--font-sans` with them. Formulas
|
|
160
|
-
and kit references stay inline. `verify consumer-scripts` compiles the bridge with
|
|
161
|
-
Tailwind and checks both, and that what it emits to `:root` is the kit's own value.
|
|
162
|
-
- Ship the codemod. `node node_modules/themelia-ui/scripts/consumer/codemod.mjs [--dry-run]
|
|
163
|
-
<paths…>` runs from a consumer's project; `npm run codemod` was a repository script that
|
|
164
|
-
read files the package does not publish. Beyond moved and broad imports it now renames the
|
|
165
|
-
67 custom properties 1.0.4 declared and 2.0 does not, wherever a stylesheet reads or sets
|
|
166
|
-
them or a script reads them through `var()`, a style key or the CSSOM, and the Tailwind
|
|
167
|
-
utilities the bridge no longer emits. It reports, without editing, a token removed with no
|
|
168
|
-
successor, an override that now sets a shared name, and `rounded-lg` and larger. Twelve of
|
|
169
|
-
those removals had no migration record; `verify migrations` now checks every name in
|
|
170
|
-
`architecture/token-surface.json` is declared or mapped, every mapping lands on a declared
|
|
171
|
-
token, and no mapping renames a live one.
|
|
172
|
-
- Put every package spacing on the ladder. About two dozen values sat between two steps —
|
|
173
|
-
10, 14, 18 and 20px. Table cells are 12px (rows 4px taller), aside navigation rows take the
|
|
216
|
+
Text now renders alike on every platform, so anything sized to its text may be slightly
|
|
217
|
+
wider or narrower than under 1.x. A theme that sets `--font-sans` and `--font-mono`
|
|
218
|
+
downloads none of the files.
|
|
219
|
+
- `UIConfig.overlay.darkMenus` (default `true`) keeps dropdown, context, action and menubar
|
|
220
|
+
menus dark on a light page; `false` lets them follow the scheme around them, and a nested
|
|
221
|
+
`UIScope` can set either. The overlay settings merge per field, so a scope that sets
|
|
222
|
+
`backdropBlur` keeps its parent's other overlay settings. The Theme Tweaker has a "Dark
|
|
223
|
+
menus" toggle.
|
|
224
|
+
- `UIConfig.overlay.backdropBlur` (px or a CSS length; default none) blurs the page behind a
|
|
225
|
+
modal overlay.
|
|
226
|
+
- `ContextAction<T>`, an `ActionDefinition` whose handler and `visible`/`disabled`
|
|
227
|
+
predicates take the record, with a `placement` that pins it inline or sends it to the
|
|
228
|
+
overflow menu. `resolveContextActions` binds a set to one record and `splitActions` divides
|
|
229
|
+
it. Table row, kanban card and activity actions and `PageActions` all resolve through it.
|
|
230
|
+
- `NavigationTabs` for a bar of links: a `<nav>` with `aria-current="page"`. `OverflowTabBar`
|
|
231
|
+
runs on `Tabs`, and a bar with nothing selected still has a tab stop. The filled-chip look
|
|
232
|
+
is `variant="pill"` on any `TabList` or `NavigationTabs`.
|
|
233
|
+
- `PopoverMenuPanel`, the body of `PopoverMenu`, for a surface that brings its own popup.
|
|
234
|
+
`PopoverMenu` gains `error`, `onRetry`, `minSearchLength` and `label`, and a throwing
|
|
235
|
+
`onValueChange` reaches `onError` from every commit path. Without a search field its list
|
|
236
|
+
is the tab stop, a named listbox that announces the highlighted row, so filter pills work
|
|
237
|
+
from the keyboard and a screen reader.
|
|
238
|
+
- Base `Stepper`, a numbered sequence drawn as a `bar` or a `trail`, which `StepsBar` and
|
|
239
|
+
`BreadcrumbProgress` render. The current step carries `aria-current="step"`, a finished step
|
|
240
|
+
says so, and a narrow trail hides its labels visually rather than removing them.
|
|
241
|
+
`BreadcrumbProgressStrings.step` takes an optional third status argument.
|
|
242
|
+
- `Card` gains `titleLevel`, which renders the title as a heading, and `media`, a full-bleed
|
|
243
|
+
strip above the header. `AuthCard` is a `Card` and `WorkspaceRecordHeader` a `PageHeading`.
|
|
244
|
+
- `ComboboxPopupInput` puts a combobox's search field inside its popup. `ResourceCombobox`
|
|
245
|
+
gains controlled search, `defaultOpen`, `clearSearchOnClose` and `requestDelay`;
|
|
246
|
+
`SuggestionsCombobox` gains form props, `portalContainer` and `highlightMatch`;
|
|
247
|
+
`ComboboxInputTrigger` and `ComboboxChip` take `strings`.
|
|
248
|
+
- `CommentThreadOptions` on `Comments`, `CommentTimeline` and `CommentItem`:
|
|
249
|
+
`commentActions`, `maxVisibleReplies`, `clampLines`, `maxVisibleAttachments` and
|
|
250
|
+
`reactionChoices`. A thread shows its last three replies, folds a body after six lines and
|
|
251
|
+
shows three attachments before "Show N more"; pass `0` to any of the three to show
|
|
252
|
+
everything. The new `CommentsStrings` keys are optional.
|
|
253
|
+
- `ToggleField` gains `surface`, `icon`, `hint` and `uncheckedValue`, and `SwitchCard` is
|
|
254
|
+
`ToggleField surface="card"`. `Dropzone` gains `label`, `hint` and a caller's input id.
|
|
255
|
+
- `SidebarMenuButton` takes a `tooltip` for the collapsed icon rail.
|
|
256
|
+
`FiltersButton.labelVisibility` restores the labelled add-filter control. `TableSkeleton`
|
|
257
|
+
takes `framed` (default on; pass `false` inside a card that draws its own edge).
|
|
258
|
+
- `--destructive-accent` for destructive text on a destructive tint, `--accent-50` for row
|
|
259
|
+
hover, and `--field-focus-ring`.
|
|
260
|
+
- Every public part carries its `{name}--component` hook, among them Alert's parts, Avatar's,
|
|
261
|
+
Command's, the content, items and separators of DropdownMenu and ContextMenu, InputGroup's,
|
|
262
|
+
Item's, Popover's, Label, Skeleton and TooltipContent.
|
|
263
|
+
- The packaged assistant skill covers upgrading (run the codemod, then reinstall the skill),
|
|
264
|
+
`UIRoot`'s `documentTarget`, the dark-menu default and Base UI's state attributes, and a
|
|
265
|
+
declaration's `@deprecated` tag prints in its reference.
|
|
266
|
+
|
|
267
|
+
### Changed
|
|
268
|
+
|
|
269
|
+
- **Spacing sits on the ladder** (2, 4, 6, 8, 12, 16 and 24px). Values between two steps
|
|
270
|
+
moved to one: table cells are 12px (rows 4px taller), aside navigation rows take the
|
|
174
271
|
sidebar's 8px inset, toggles and pill radios the control inset, Item rows 12px, and the
|
|
175
|
-
accordion, alert, toast, chart tooltip and calendar gaps the nearest step
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
`data-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
`
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
`
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
`
|
|
293
|
-
`
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
barrel. Preset date pickers forward `ref` to their trigger.
|
|
308
|
-
- Popup rows sit concentric in their surface. `--radius-inner` is now the popup radius less
|
|
309
|
-
the popup inset, so a highlighted row in a dropdown, select, combobox, command list or
|
|
310
|
-
popover menu follows the menu's corner at every radius preset instead of a fixed fraction
|
|
311
|
-
of `--radius` that only lined up at one of them.
|
|
312
|
-
- The menubar is the quiet strip its own documentation described: one rule underneath and no
|
|
313
|
-
outlined frame or inset around the triggers. The indeterminate progress band now crosses
|
|
314
|
-
the whole track, off-edge to off-edge, in both directions; it used to stop 80% across and
|
|
315
|
-
snap back. An inline `BatchActionBar` shares the floating dock's geometry — popup radius,
|
|
316
|
-
compact inset, the same action rhythm — and differs only in being flat and in flow.
|
|
317
|
-
- Global search reads as one structure: every fact on a result's second line is the same
|
|
318
|
-
size (the subtitle ran a step larger than the facts beside it), a status badge sits on that
|
|
319
|
-
line without making its row taller, amounts end on the same edge as "See all", group
|
|
320
|
-
headings share the rows' inset, and the tab strip is a slim band under the field rather
|
|
321
|
-
than a second header of the same height.
|
|
322
|
-
|
|
323
|
-
- The combobox family runs on one engine. `ResourceCombobox` and `SuggestionsCombobox` are
|
|
324
|
-
presets of one self-fetching picker and `AsyncCombobox` / `AsyncMultiCombobox` share its
|
|
325
|
-
wiring; `SuggestionsCombobox` and `useSuggestions` now live in `features/combobox`. Drift
|
|
326
|
-
between the copies is resolved: a field with no preload says "Type to
|
|
327
|
-
search…" rather than "No results found.", a query waiting on the debounce shows "Searching…",
|
|
328
|
-
an error belongs to the query that failed, a disabled picker no longer fetches, each chip's
|
|
329
|
-
remove control names its value, and picker rows match the base combobox rows. Additive
|
|
330
|
-
options: `ResourceCombobox` gains controlled search, `defaultOpen`, `clearSearchOnClose` and
|
|
331
|
-
`requestDelay`; `SuggestionsCombobox` gains form props, `portalContainer` and
|
|
332
|
-
`highlightMatch`; `ComboboxInputTrigger` and `ComboboxChip` take `strings`.
|
|
333
|
-
- Comments read as a social thread: each comment is a bubble beside its avatar with the
|
|
334
|
-
author, a relative `<time>` and "edited" in its header; replies hang off a thread line with
|
|
335
|
-
"Show N replies" and "Show N earlier replies" expanders; long bodies fold behind "See more";
|
|
336
|
-
attachments past the first few fold behind "Show N more"; reactions, Reply and the overflow
|
|
337
|
-
menu sit in one quiet row. Reply opens a composer inside the thread and editing happens in
|
|
338
|
-
place, each with its own draft, and focus returns when either closes. New optional
|
|
339
|
-
`CommentThreadOptions` — `commentActions`, `maxVisibleReplies`, `clampLines`,
|
|
340
|
-
`maxVisibleAttachments`, `reactionChoices` — on `Comments`, `CommentTimeline` and
|
|
341
|
-
`CommentItem`; new `CommentsStrings` keys are optional in the type.
|
|
342
|
-
- Catalogue: Overlay is the one page for overlays, and Dialog, AlertDialog and Sheet are
|
|
343
|
-
presented as its presets; Data view and Data table are one page; Async combobox is part of
|
|
344
|
-
the Combobox page. `/dialog`, `/sheet`, `/data-table` and `/async-combobox` redirect.
|
|
345
|
-
- **Breaking (2.0):** names that were only another kit component under a second name are
|
|
346
|
-
removed, along with the entry point that only re-exported another. Dialog, sheet and alert
|
|
347
|
-
dialog keep the parts that set something (`DialogContent`, `SheetContent`, and the alert
|
|
348
|
-
dialog's content, media and answers); `Dialog`/`Sheet`/`AlertDialog`, their `Trigger`,
|
|
349
|
-
`Body`, `Title`, `Description`, `Header` and `Footer`, `DialogClose`, `SheetClose` and
|
|
350
|
-
`DialogDismissArea` become the `Overlay` parts they always were — the header and footer
|
|
351
|
-
parts only added a class no stylesheet read. The action overlays' shared frame draws
|
|
352
|
-
Overlay's header, body and footer itself. A menubar's menus are `DropdownMenu` and its parts
|
|
353
|
-
around `MenubarTrigger`: `MenubarMenu` is `DropdownMenu`, and `MenubarContent`,
|
|
354
|
-
`MenubarItem` and the other eleven `Menubar*` parts are the `DropdownMenu*` part of the
|
|
355
|
-
same suffix (`MenubarPortal` is `DropdownMenuPortal`).
|
|
356
|
-
`SettingsShell` is `AsideNavShell`, `ToggleGroupItem` is `Toggle`, and the `DialogProps`,
|
|
357
|
-
`SettingsShellProps` and `ToggleGroupItemProps` types are `OverlayRootProps`,
|
|
358
|
-
`AsideNavShellProps` and `ToggleProps`. `themelia-ui/features/suggestions` and its
|
|
359
|
-
stylesheet are no longer published; import the same names from
|
|
360
|
-
`themelia-ui/features/combobox` (the codemod rewrites the specifier and its stylesheet).
|
|
361
|
-
- One edge for every control that sits beside another. Fields, selects, comboboxes, date
|
|
362
|
-
pickers, popover triggers, filter pills, neutral and secondary outline buttons, the
|
|
363
|
-
header's search trigger and the rich-text editor frame all draw `--control-border`, now
|
|
364
|
-
30% foreground (was 40% on fields, 35% on outline buttons and the bare `--border` on filter
|
|
365
|
-
pills) — lighter than the old field edge and darker than the old pill edge. The idle edge
|
|
366
|
-
measures 2.4:1 on the light canvas, a deliberate calm below WCAG 1.4.11's 3:1; hover
|
|
367
|
-
(4.5:1), focus (4.3:1) and invalid edges still clear it, and the token test holds the idle
|
|
368
|
-
edge to its own 2.3:1 floor.
|
|
369
|
-
- A command row that is not checked no longer reserves its hidden check mark, so a trailing
|
|
370
|
-
caption in a `CommandItem` sits at the row's end instead of midway along it.
|
|
371
|
-
- Catalogue navigation: twelve task-shaped groups, each showing how many pages it holds,
|
|
372
|
-
with labelled sections inside the long ones (Forms › Text, Choice, Numbers…; Data display ›
|
|
373
|
-
Collections, Content…; Features and Blocks by task). Navigation, Feedback & status and
|
|
374
|
-
Overlays & menus are groups of their own; Batch action bar and Copyable moved to Actions,
|
|
375
|
-
Scroll area to Foundations. The page breadcrumb and search results name the section too.
|
|
376
|
-
The "Menubar, hover card & co." page is seven pages, one per family and each on its own
|
|
377
|
-
import path: Menubar, Navigation menu, Hover card, Resizable panels, One-time code input,
|
|
378
|
-
Aspect ratio and Keyboard key.
|
|
379
|
-
- **Breaking (2.0):** a navigation menu has one panel. Every `NavigationMenuContent` built
|
|
380
|
-
its own portal and popup, so moving between entries swapped surfaces instead of resizing
|
|
381
|
-
one, and each idle entry painted a dot (a 0x0 popup's ring shadow). `NavigationMenu` now
|
|
382
|
-
owns the shared panel and each content block is drawn into it; `side`, `sideOffset` and
|
|
383
|
-
`container` move from `NavigationMenuContent` to `NavigationMenu`, which also takes `align`
|
|
384
|
-
(default `"start"`, so the panel lines up with its entry instead of centring). Panel links
|
|
385
|
-
sit one per row. `NavigationMenuIndicator` draws a chevron that turns while its panel is
|
|
386
|
-
open (it drew nothing without children).
|
|
387
|
-
- **Breaking (2.0):** two text colours. Text is `--foreground` or `--muted-foreground`;
|
|
388
|
-
`Text type="secondary"` resolves to `--muted-foreground`, and the `discrete` type, the
|
|
389
|
-
`--text-role-discrete` token and `--foreground-80` are gone. Heading subtitles, navigation
|
|
390
|
-
links, avatar initials and empty-state icons that painted a third or fourth grey read the
|
|
391
|
-
same muted colour as every other supporting line.
|
|
392
|
-
- **Breaking (2.0):** two radii, both plain values set once at `:root`: `--radius` (1rem)
|
|
393
|
-
for containers and `--radius-sm` (0.5rem) for everything inside or small — inputs,
|
|
394
|
-
buttons, rows, chips, badges, tooltips. Nothing derives one from the other; they are
|
|
395
|
-
complementary, so a container of `--radius-sm` items insets them by the difference
|
|
396
|
-
(`--space-md`) and a row sits concentric in its menu. `--radius-surface`,
|
|
397
|
-
`--radius-popup`, `--radius-control`, `--radius-inner` and the `-md` to `-4xl` ladder are
|
|
398
|
-
removed (296 uses renamed; the Tailwind bridge and composition gate follow). New
|
|
399
|
-
`UIConfig.theme.radiusSm` beside `radius`; the ThemeTweaker edits both.
|
|
400
|
-
- **Breaking (2.0):** one name per value. `--menu-surface-p`, `--menu-row-px`, `--field-h`,
|
|
401
|
-
`--field-px`, `--text-xxs` and the heading, label and link colour roles restated another
|
|
402
|
-
token under a second name and are removed (popups inset by `--space-md`; headings and
|
|
403
|
-
labels paint `--text-role-main`, subtitles `--text-role-secondary`, links
|
|
404
|
-
`--link-color`). Buttons and fields share one height: `--height-action` merges into
|
|
405
|
-
`--height-control`, and the `--action`, `--action-sm` and `--action-2xs` ladder into
|
|
406
|
-
`--control-h`, `--control-h-sm` and `--control-h-2xs`.
|
|
407
|
-
- One name per role, continued. The sidebar width had four names (`--shell-sidebar-width`,
|
|
408
|
-
the app shell's and the workspace's copies, and Sidebar's own) and the shells restated
|
|
409
|
-
16rem, so the theme knob moved no shell: it is `--sidebar-width` now, for Sidebar and
|
|
410
|
-
every shell. The header height knob was 4.5rem while the shell hard-coded 3.5rem; the
|
|
411
|
-
knob is 3.5rem, drives every top bar through `--shell-header-h`, and the media library's
|
|
412
|
-
scroll offset reads it. The medallion is `--size-medallion` (it was restated four times),
|
|
413
|
-
the switch track is `--choice-size`, the dropdown menu uses `--popover-shadow`, the two
|
|
414
|
-
sidebar action sizes are one, menu and list rows share `--row-px`, and the button,
|
|
415
|
-
toast, sidebar and accordion read the kit's steps instead of renaming them. A dead
|
|
416
|
-
`--badge-destructive-bg` and its two dark overrides are gone.
|
|
417
|
-
- Contrast and shape fixes found while verifying the above. The dark `--accent` steps down
|
|
418
|
-
to a new neutral-750, so muted text and toned badges on a selected row or active tab stay
|
|
419
|
-
above 4.5:1. Avatar initials take the main ink. `--destructive-accent` joins the other tone
|
|
420
|
-
accents for destructive text on a destructive tint (Badge and the analytics deltas read
|
|
421
|
-
it). Small controls cap their corner at 30% of their height, so an 18px checkbox is no
|
|
422
|
-
longer a circle and a 20px icon button no longer a near-circle; full-size controls are
|
|
423
|
-
unaffected at every corner preset. Submenus clear their parent again, the AI-chat queue
|
|
424
|
-
mirrors under RTL, the activity heatmap's weekday labels are no longer clipped, and a
|
|
425
|
-
batch action bar docked inside a panel fits it on a phone.
|
|
426
|
-
- Hardening pass. The token gate no longer lets a bare alias hide behind a test that names
|
|
427
|
-
it or behind a family prefix. The composition gate now fails a hover, selection or open
|
|
428
|
-
state filled from the `--muted` family, text painted in an alpha step of the two text
|
|
429
|
-
colours, and an empty rule. The geometry suite fails a small square that nearly closes
|
|
430
|
-
into a circle and caps corners at the roundest preset instead of a stale 14px, and a new
|
|
431
|
-
sweep fails any text clipped at its start edge, at desktop and phone widths. A calendar's
|
|
432
|
-
disabled day, the breadcrumb separator and a disabled workspace step use the two text
|
|
433
|
-
colours; a secondary mention chip lifts on hover instead of fading. Item's image media and
|
|
434
|
-
a file row's thumbnail share the medallion size; the header's inset is `--space-xl`. Hover
|
|
435
|
-
cards and the header's tool popup cap at the positioner's available width, and toasts at
|
|
436
|
-
their containing block, so all three fit inside a scoped portal host. The AI chat's step
|
|
437
|
-
connector mirrors under RTL. Thirty-five CSS rules that no component applied are gone,
|
|
438
|
-
along with five scope blocks the token merges had emptied. Thirty-eight literal component tokens that were restated at every scope
|
|
439
|
-
boundary are declared once at `:root`, so an override set on a wrapper is no longer
|
|
440
|
-
reset by the next nested scope — and DevTools no longer lists a struck-through copy per
|
|
441
|
-
boundary.
|
|
442
|
-
- One hover language. Neutral hover and selection fills had six values (`--muted`, three
|
|
443
|
-
`--muted-*` steps, `--accent`, `--muted-40` most of all), and every `--muted` one went
|
|
444
|
-
darker than a dark card — a hole, not a lift. Controls, popup cursors and
|
|
445
|
-
selected/current/open states take `--accent`; hover over page rows and large surfaces takes
|
|
446
|
-
`--accent-50` (added to the alpha ladder). The header search, drawn as a field, hovers like
|
|
447
|
-
one. Calendar chips deepen their own tone on hover instead of turning grey.
|
|
448
|
-
- Fields focus the way they fail: the edge firms to the focus colour and a soft 22% halo
|
|
449
|
-
(`--field-focus-ring`) sits round it, instead of a solid ring welded to the border. Applied
|
|
450
|
-
to every field, shell, input group, OTP slot and colour picker.
|
|
451
|
-
- Buttons no longer scale on press; the label jumped and joined groups and overlay footers
|
|
452
|
-
opened gaps between neighbours.
|
|
453
|
-
- Overlays move better: the dialog enters over 200ms from 97% with a slight rise and leaves
|
|
454
|
-
in 150ms; sheets slide their full width out of their edge; the scrim fades with the
|
|
455
|
-
surface. New `UIProvider config.overlay.backdropBlur` (px or CSS length, default none)
|
|
456
|
-
blurs the page behind a modal overlay. An overlay with no body draws one rule between its
|
|
457
|
-
header and footer, not two.
|
|
458
|
-
- Cards are framed by default: a bezel of `--muted-50` round a content plate whose corner is
|
|
459
|
-
`--radius-sm` inside the frame's `--radius`, with media, footer and primary action
|
|
460
|
-
following the inner corner.
|
|
461
|
-
- `DateBlock` is a calendar leaf — the month as a band across the top, the day under it,
|
|
462
|
-
then weekday, year and time — on the small radius, and it has its own catalogue page.
|
|
463
|
-
Inline it is a phrase at the size of its line. Metadata list and Inline stat are separate
|
|
464
|
-
pages.
|
|
465
|
-
- `TableSkeleton` reads as a table: the table's edge (`framed`, default on), a wide first
|
|
466
|
-
column, a right-aligned last one, ragged row measures and short head labels. `PageSkeleton`
|
|
467
|
-
is PageHeader's row over card-shaped panels, and `TwoColumnPageSkeleton` a record beside
|
|
468
|
-
its owner and facts; title bars are glyph height rather than a line-box pill.
|
|
469
|
-
- `ScrollArea`'s styled scrollbar now runs in Chromium (the standard `scrollbar-*` pair had
|
|
470
|
-
switched it off): the thumb is inset from the edge, stops short of rounded corners and is
|
|
471
|
-
findable against a white card. Firefox keeps the thin standard bar.
|
|
472
|
-
- One match highlight. `<mark>` is styled once in the base layer — an amber wash under full
|
|
473
|
-
ink, square-ended, with no shift in the text — replacing three different treatments in
|
|
474
|
-
global search, the combobox and rich text. Global search marks every occurrence.
|
|
475
|
-
- Timeline dots are opaque, so the connector no longer shows through tinted markers.
|
|
476
|
-
- `PreviewTriggerCell`'s hover ground is an even inset paid back by its margins (rows are
|
|
477
|
-
no taller than plain ones), and its caret sits on the value's line.
|
|
478
|
-
- `MetadataList` compact density tightens gaps only; values no longer drop to 12px under
|
|
479
|
-
14px labels, and a custom `render` sits in the value's box so it takes the value's size.
|
|
480
|
-
- The pending badge dot is a thin ring rather than a bold "o"; neutral `IconBadge` uses the
|
|
481
|
-
avatar fallback's disc so two medallions in one list match; mention chips take the line's
|
|
482
|
-
size and the badge corner.
|
|
483
|
-
- A repeater nested inside another no longer takes its parent's handle indent or carded
|
|
484
|
-
row inset on its footer.
|
|
485
|
-
- AI chat, comments, media library, event calendar, product variants and analytics polish:
|
|
486
|
-
one fill per surface, chip heights and borders unified, supporting text on the two
|
|
487
|
-
colours, aligned glyphs, and narrow-width layouts fixed (details in
|
|
488
|
-
`pending-issues.md`).
|
|
272
|
+
accordion, alert, toast, chart tooltip and calendar gaps the nearest step. DataTable's `sm`,
|
|
273
|
+
default and `lg` cells are 8, 12 and 16px and follow density.
|
|
274
|
+
- **Shapes.** Each element has one radius at rest, on hover and on focus; twenty-two
|
|
275
|
+
components, among them accordion triggers, tabs, tab panels, table and scroll containers,
|
|
276
|
+
the carousel track and side-nav items, were square until focused. Nested items follow their
|
|
277
|
+
container's curve (the parent's radius less the inset): enclosed tabs, attached toggles,
|
|
278
|
+
media-library segments, gallery controls, input-group buttons, the AI chat queue and the
|
|
279
|
+
metric bar's period button. The batch action bar, reaction picker and event calendar's jump
|
|
280
|
+
popover inset by `--space-md` like a menu. `Button` reads `--button-radius`, so a
|
|
281
|
+
container can set the concentric value. Cards are framed by default: a `--muted-50` bezel
|
|
282
|
+
round a content plate whose corner is `--radius-sm` inside the frame's `--radius`.
|
|
283
|
+
- **Edges and focus.** Fields, selects, comboboxes, date pickers, popover triggers, filter
|
|
284
|
+
pills, neutral and secondary outline buttons, the header's search trigger and the rich-text
|
|
285
|
+
editor frame share `--control-border`, 30% foreground (fields were 40%, outline buttons 35%
|
|
286
|
+
and filter pills `--border`). The idle edge measures 2.4:1 on the light canvas, a
|
|
287
|
+
deliberate calm below WCAG 1.4.11's 3:1; hover (4.5:1), focus (4.3:1) and invalid edges
|
|
288
|
+
clear it. A focused field firms its edge to the focus colour inside a soft 22% halo, on
|
|
289
|
+
every field, shell, input group, OTP slot and colour picker. Hairlines read `--border-width`
|
|
290
|
+
and `--border-width-strong`.
|
|
291
|
+
- **Hover and selection.** Controls, popup cursors and selected, current and open states take
|
|
292
|
+
`--accent`; page rows and large surfaces hover with `--accent-50`, where fills from the
|
|
293
|
+
`--muted` family read as holes in dark. The header search hovers like a field, and
|
|
294
|
+
calendar chips deepen their own tone. The sidebar marks the current page with a lifted row,
|
|
295
|
+
the whole accent with a small shadow and medium weight, in place of an inset bar.
|
|
296
|
+
- **Dark mode.** The dark `--accent` steps down to a new neutral-750, so muted text and toned
|
|
297
|
+
badges on a selected row or active tab stay above 4.5:1. A `Scope`, a `data-density`
|
|
298
|
+
region or a provider on the default `system` scheme inside a `.dark` or
|
|
299
|
+
`data-theme="dark"` tree stays dark instead of reverting to light, and class-only dark
|
|
300
|
+
islands such as inverted menus re-derive component tokens.
|
|
301
|
+
- **Motion.** Buttons no longer scale on press. The dialog enters over 200ms from 97% with a
|
|
302
|
+
slight rise and leaves in 150ms, sheets slide their full width out of their edge, and the
|
|
303
|
+
scrim fades with the surface. The indeterminate progress band crosses the whole track in
|
|
304
|
+
both directions.
|
|
305
|
+
- **Match highlight.** `<mark>` is styled once in the base layer: an amber wash under full
|
|
306
|
+
ink, square-ended, with no shift in the text. Global search marks every occurrence.
|
|
307
|
+
- Consolidated components keep their public names: `CardRadioGroup` and `ListRadioGroup` are
|
|
308
|
+
one option group laid out two ways, `FileUpload` renders `Dropzone` and shows its drop
|
|
309
|
+
prompt, `ActionDialog`, `ActionSheet` and `ConfirmDialog` share one frame,
|
|
310
|
+
`ResourceCombobox` and `SuggestionsCombobox` are presets of one self-fetching picker whose
|
|
311
|
+
wiring `AsyncCombobox` and `AsyncMultiCombobox` share, and primitives' `Link` renders
|
|
312
|
+
`TextLink`. `SuggestionsCombobox` and `useSuggestions` live in `features/combobox`.
|
|
313
|
+
- `Slot` merges props: classes join, both handlers run (the child's first) and the child's
|
|
314
|
+
style wins.
|
|
315
|
+
- `PageActions` collapses below the kit's `lg` breakpoint, 1024px, rather than at 1040px;
|
|
316
|
+
pass `breakpoint={1040}` to keep the old width.
|
|
317
|
+
- A dialog is capped at the viewport less the overlay edge inset, like a sheet, rather than
|
|
318
|
+
90vw, and `ActionDialog`'s `"full"` width is that cap.
|
|
319
|
+
- `useCopyToClipboard` confirms for 2000ms, as `Copyable` did (was 1600ms).
|
|
320
|
+
- DatePicker's trigger is a combobox (`aria-haspopup="dialog"`) named by its label, with the
|
|
321
|
+
date as its value, so a required or invalid date field announces it. Tests find it with
|
|
322
|
+
`getByRole("combobox", { name })`.
|
|
323
|
+
- `StackedAvatarsStrings.overflow` supplies the "+N" chip text.
|
|
324
|
+
- `Text numeric` keeps the text's typeface and uses tabular figures; the monospace stack adds
|
|
325
|
+
the platform monospace faces before the generic fallback.
|
|
326
|
+
- Hashed class names drop `-module` (`button__root___sSlE7`). Target the stable
|
|
327
|
+
`{name}--component` classes instead.
|
|
328
|
+
- InputGroup no longer pads addons that carry `border-b` or `border-t` classes.
|
|
329
|
+
- `DataView`'s add-filter control is icon-only, with a tooltip and an accessible name.
|
|
330
|
+
- Surfaces: the menubar is one quiet strip under a rule; an inline `BatchActionBar` shares the
|
|
331
|
+
floating dock's geometry; comments read as a thread of bubbles with "Show N replies",
|
|
332
|
+
"See more" and in-place reply and edit, each with its own draft; Global Search has quieter
|
|
333
|
+
chrome (a rule under the search row, muted group labels, "See all" as a text button,
|
|
334
|
+
tabular tab counts) and even result lines; the Media Library toolbar is split into
|
|
335
|
+
search/type and refine/view bands; `DateBlock` is a calendar leaf; `TableSkeleton`,
|
|
336
|
+
`PageSkeleton` and `TwoColumnPageSkeleton` take the shape of what they stand in for;
|
|
337
|
+
overlay headers take a small optical top inset; `Item` rows use the control radius; neutral
|
|
338
|
+
`IconBadge` uses the avatar's disc; the pending badge dot is a thin ring; AI chat, activity,
|
|
339
|
+
event calendar, product variants and analytics share sizes, fills and borders.
|
|
340
|
+
|
|
341
|
+
### Fixed
|
|
342
|
+
|
|
343
|
+
- **Keyboard and assistive technology.** Popups opened inside a dialog (select, combobox,
|
|
344
|
+
popover menu, date picker) portal into it and are operable. The popover menu moves by arrow
|
|
345
|
+
keys. The calendar is one tab stop with PageUp/PageDown, Home/End and Shift paging. Time
|
|
346
|
+
segments are spinbuttons that clamp, snap and wrap. The pill radio group roves with the
|
|
347
|
+
arrow keys, and `OverflowTabBar` is one tab stop. A loading `Button` keeps focus
|
|
348
|
+
(`aria-disabled`), and `SubmitStateButton` shows its busy and done states in its visible
|
|
349
|
+
label. Toasts pause on hover and focus, dismiss with Escape and return focus. A `Table` is a
|
|
350
|
+
tab stop only while it scrolls, named by its caption, `aria-label` or
|
|
351
|
+
`strings.scrollRegion`. ⌘B toggles only the sidebar around the focus. Keyboard focus stays
|
|
352
|
+
visible on clipped scroll areas, tabs and tab panels, the command palette's search field
|
|
353
|
+
shows focus, and the map draws the kit's focus ring inside its frame.
|
|
354
|
+
- **Forms.** `DecimalInput` reads a pasted "€1,234.50", steps an off-grid value to the nearest
|
|
355
|
+
step, disables the stepper at `min`/`max` and keeps focus in the field. `ErrorSummary` is
|
|
356
|
+
named by its heading, takes `autoFocus` and styles its links. `FormField` groups
|
|
357
|
+
(`htmlFor={false}`) and `FieldGroup` are described by their hint. `PasswordInput`'s reveal
|
|
358
|
+
control reports one state and forwards input strings. `LocalizedStringField` takes the
|
|
359
|
+
field's label and hint and names its input with the locale; `LocalizedObjectField` labels
|
|
360
|
+
each field. `ColorInput` names each swatch and marks an unpaintable value invalid once
|
|
361
|
+
editing stops. File and image uploads put `aria-invalid` and the hint on the input, name the
|
|
362
|
+
picker, accept the same file after removal and move focus to the next row; the upload list
|
|
363
|
+
offers retry and remove on a failed row and announces finished transfers. Textarea `rows`,
|
|
364
|
+
`minRows` and `maxRows` size from the real padding, and a textarea at `maxLength` shows the
|
|
365
|
+
limit. The phone input keeps Canada when +1 is shared and reads custom countries.
|
|
366
|
+
`PillRadioGroup` submits its value. Clear controls in inputs and textareas have a 24px
|
|
367
|
+
target.
|
|
368
|
+
- **Combobox.** A field with no preload says "Type to search…", a query waiting on the debounce
|
|
369
|
+
shows "Searching…", an error belongs to the query that failed, a disabled picker does not
|
|
370
|
+
fetch, each chip's remove control names its value, and picker rows match the base rows.
|
|
371
|
+
- **Right-to-left.** Shipped CSS keeps `:dir(rtl)`, so the carousel, kanban, navigation and
|
|
372
|
+
both tables honour `dir="rtl"`. The carousel's arrows and index, the table's scroll arrows,
|
|
373
|
+
toast centring, the AI chat queue and its step connector work in RTL.
|
|
374
|
+
- **Layout.** Wide tables fade the edge with more columns; end-aligned sortable headers line
|
|
375
|
+
up with their values; the sticky header uses the card surface; the selected row outranks
|
|
376
|
+
hover, and header, footer and empty rows do not hover. A `CardFooter` passed as a child
|
|
377
|
+
renders as the footer. `MetadataList` keeps a surrounding density scope, tightens only gaps
|
|
378
|
+
when compact, and sits a custom `render` in the value's box. Carousel and tab-bar fades are
|
|
379
|
+
masks, correct in dark, on cards and in RTL; the carousel honours reduced motion; tabs reveal
|
|
380
|
+
the selected tab clear of the fade. Pagination stays on one row at phone width, sheets pad
|
|
381
|
+
for the safe area, and a kanban board scrolls horizontally. `AsideNavShell` without a title
|
|
382
|
+
keeps main and aside on one row. Submenus clear their parent. Hover cards and the header's
|
|
383
|
+
tool popup cap at the available width, and toasts at their containing block, so they fit a
|
|
384
|
+
scoped portal host. `ScrollArea`'s styled scrollbar runs in Chromium. A command row that is
|
|
385
|
+
not checked no longer reserves space for its check mark.
|
|
386
|
+
- **Theming.** Theme Tweaker exports reach inside a `UIProvider` and apply under
|
|
387
|
+
`colorScheme: "dark"`: shared values are written at every scope boundary, and each scheme
|
|
388
|
+
at its explicit selectors and the `prefers-color-scheme` blocks. `ThemeSelectors` gains
|
|
389
|
+
`systemLight` and `systemDark`; re-export a saved theme to pick this up.
|
|
390
|
+
`--destructive-accent` flips inside a nested `.dark`. Tailwind's `rounded-sm`
|
|
391
|
+
and `font-*` follow a theme, and the preflight font follows `--font-sans`. Literal component
|
|
392
|
+
tokens are declared once at `:root`, so an override set on a wrapper is no longer reset by a
|
|
393
|
+
nested scope.
|
|
394
|
+
- **Other.** A pager's `renderLink` element becomes the control, so router links keep the
|
|
395
|
+
button's geometry. A date picker opens on its selected month, and preset date pickers
|
|
396
|
+
forward `ref` to their trigger. Mention chips take the line's size and the badge corner,
|
|
397
|
+
with a floor at the smallest type step. Chart `nameKey` and `labelKey` read the payload.
|
|
398
|
+
`ObjectRepeater` keeps row state across reorder, and a nested repeater no longer takes its
|
|
399
|
+
parent's handle indent. `CellValue` hands money strings to `Money` and honours
|
|
400
|
+
`dateLocale`. English left in the date picker, repeater, table, slider, search and upload
|
|
401
|
+
moved into their strings. Warning text uses the warning ink, avatar initials the main ink.
|
|
402
|
+
The event calendar's previous and next buttons are a `ButtonGroup`, so the focus ring is
|
|
403
|
+
not clipped. `NavigationTabs` no longer pulls in the layout layer.
|
|
489
404
|
|
|
490
405
|
## 1.0.4 — 2026-09-22
|
|
491
406
|
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
appropriate to their surface—border and lift for bordered cards, stronger elevation for
|
|
521
|
-
framed cards, and a quiet background for flat cards—without covering nested controls.
|
|
522
|
-
- Keep the full component-search label visible in the mobile preview header by giving search
|
|
523
|
-
sole ownership of the flexible space and hiding the desktop keyboard hint at that width.
|
|
524
|
-
- `AppSidebar`: a parent entry without an `href` now opens and closes on click, with
|
|
525
|
-
`aria-expanded` on the row. The first frame is still derived from the current URL, so a
|
|
526
|
-
nested route arrives with its group open, and a navigation returns every group to that
|
|
527
|
-
derived state. `SidebarItemContext` gains an optional `toggle` for custom rows.
|
|
528
|
-
- `PageHeading` / `PageHeader`: when the headline row holds actions, the description
|
|
529
|
-
sits a medium step below it instead of four pixels under the buttons.
|
|
407
|
+
### Changed
|
|
408
|
+
|
|
409
|
+
- Corners: a 12px default surface radius and a 14px rounded preset, with tighter control and
|
|
410
|
+
nested roles, so inputs, buttons, menus, cards and composite controls keep their hierarchy
|
|
411
|
+
instead of drifting towards pills. Ledgers, activity details, comparison summaries, upload
|
|
412
|
+
rows, transcript tools, attachments and other nested regions use the tighter inner radius;
|
|
413
|
+
genuine cards and shells keep the structural one.
|
|
414
|
+
- Compact floating surfaces take a shared popup radius: menus, submenus, listboxes, popovers,
|
|
415
|
+
tooltips, chart tooltips, mention pickers and map popups stay tighter than cards and
|
|
416
|
+
dialogs, and nested menus keep a 4px gap. Command fields, enclosed tabs, colour inputs and
|
|
417
|
+
map chrome follow the roles.
|
|
418
|
+
- Eight distinct key-plus-ambient elevation tiers replace duplicate and non-monotonic
|
|
419
|
+
shadows.
|
|
420
|
+
- Browser selection, editing carets, range and progress tracks and avatar fallbacks take
|
|
421
|
+
theme-aware colours in light and dark.
|
|
422
|
+
- `CardPrimaryAction`: a whole-card link responds on hover-capable devices with a treatment
|
|
423
|
+
that suits its surface (border and lift for bordered cards, stronger elevation for framed
|
|
424
|
+
cards, a quiet background for flat cards) without covering nested controls.
|
|
425
|
+
- `AppSidebar`: a parent entry without an `href` opens and closes on click, with
|
|
426
|
+
`aria-expanded` on the row. The first frame still follows the current URL, and navigation
|
|
427
|
+
returns every group to that state. `SidebarItemContext` gains an optional `toggle`.
|
|
428
|
+
|
|
429
|
+
### Fixed
|
|
430
|
+
|
|
431
|
+
- Item, media list rows, filter options, async preview cells and place results keep a small
|
|
432
|
+
step between primary and secondary lines.
|
|
433
|
+
- `PageHeading` and `PageHeader` place the description a medium step below a headline row
|
|
434
|
+
that holds actions.
|
|
530
435
|
- The optional peer range for `react-leaflet-markercluster` is `^5.0.0-rc.0`, the only
|
|
531
|
-
published 5.x; `^5.0.0`
|
|
532
|
-
|
|
436
|
+
published 5.x; `^5.0.0` made `npm install` fail for consumers of `features/map`.
|
|
437
|
+
|
|
438
|
+
See [Upgrading to 1.0.4](docs/learn/migration.md#upgrading-to-104).
|
|
533
439
|
|
|
534
440
|
## 1.0.3 — 2026-09-17
|
|
535
441
|
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
and
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
- Reshape comments into compact conversation bubbles with inline reply/reaction controls,
|
|
592
|
-
a shared moderation menu, and connected replies that stay readable in narrow panels.
|
|
593
|
-
Expose reply expansion and reaction state to assistive technology, and retain deeper
|
|
594
|
-
replies. Preserve paragraph and list structure when rendering live mentions.
|
|
595
|
-
|
|
596
|
-
- Recompose GlobalSearch with shared Item, Badge, ScrollArea, and loading components;
|
|
597
|
-
unify media, wrap context and tags, simplify match highlights, and keep amounts readable
|
|
598
|
-
on narrow screens. Correct grouped keyboard order, async selection, IME handling,
|
|
599
|
-
result scrolling, group counts, thumbnail images, and dialog selection dismissal.
|
|
600
|
-
|
|
601
|
-
- Harmonize Card, ContentBlock, and Overlay header typography and small title/description
|
|
602
|
-
gaps. Give overlay headers and footers a little more vertical padding.
|
|
603
|
-
|
|
604
|
-
- Remove empty icon columns from iconless ActionMenu rows and apply ellipsis to long
|
|
605
|
-
labels in fixed-width menus, including checkbox and link actions.
|
|
606
|
-
|
|
607
|
-
- Center toolbar separators at icon height and simplify the formatting preview, removing
|
|
608
|
-
empty card padding, narrowing its font-size field, and repairing its API navigation link.
|
|
609
|
-
- Keep the Header preview's sticky backdrop inside its rounded frame so the top borders
|
|
610
|
-
follow the same corner radius as the bottom borders.
|
|
611
|
-
- Align PageHeading and PageHeader title icons to the first title baseline, including
|
|
612
|
-
narrow layouts where badges or actions wrap.
|
|
613
|
-
- Keep Item label/value pairs compact with tight line heights and no added inter-line gap,
|
|
614
|
-
including nested filter values.
|
|
442
|
+
Unified component spacing and typography, live app theming, and accessible tab overflow.
|
|
443
|
+
|
|
444
|
+
### Added
|
|
445
|
+
|
|
446
|
+
- `TabList` shows overflow arrows automatically, scrolling through ScrollArea for touch and
|
|
447
|
+
trackpads, revealing the selected tab without scrolling the page, and supporting RTL and
|
|
448
|
+
reduced motion; the controls disappear when the row fits. `TabList.edgeFade` adds soft
|
|
449
|
+
overflow edges that follow scroll position and text direction.
|
|
450
|
+
- `ThemeTweaker` works as a live app tool: a floating launcher with compact appearance
|
|
451
|
+
controls, advanced values, a full-page workspace, and reset and export controls.
|
|
452
|
+
|
|
453
|
+
### Changed
|
|
454
|
+
|
|
455
|
+
- Block and feature families share composition and typography: group labels go through
|
|
456
|
+
`DisplayLabel`, facts through `MetadataList` and primary text through provider defaults,
|
|
457
|
+
with no local font or opacity overrides. Commerce blocks use the canonical component
|
|
458
|
+
typography directly.
|
|
459
|
+
- Card, ContentBlock and overlay spacing follows the shared surface X/Y controls, with local
|
|
460
|
+
inset overrides kept. Header typography and title/description gaps match across the three,
|
|
461
|
+
and overlay headers and footers have a little more vertical padding. Metadata labels wrap,
|
|
462
|
+
and dark scopes inherit custom fonts.
|
|
463
|
+
- Commerce: unified financial ledgers, aligned order and refund metadata, a compact shipment
|
|
464
|
+
timeline that follows the latest reached event, responsive invoice lists, readable stock
|
|
465
|
+
quantities, clearer monetary labels, stronger loyalty balances and ruled booking rows.
|
|
466
|
+
Order summaries skip obsolete or terminal next steps.
|
|
467
|
+
- Catalogue blocks: compact SEO checks, grouped inventory fields and stock summaries, clearer
|
|
468
|
+
supplier profiles and consistent booking typography. Records are read-only without a change
|
|
469
|
+
handler.
|
|
470
|
+
- Activity: divided date groups, quieter timeline rails, a visible details control, separate
|
|
471
|
+
changes, context and related-record sections, before/after values in a description list,
|
|
472
|
+
and actions after the information they act on.
|
|
473
|
+
- Comments: compact conversation bubbles with inline reply and reaction controls, a shared
|
|
474
|
+
moderation menu, and connected replies that stay readable in narrow panels. Reply expansion
|
|
475
|
+
and reaction state are exposed to assistive technology, and deeper replies are kept.
|
|
476
|
+
- GlobalSearch is recomposed from Item, Badge, ScrollArea and the loading components, with
|
|
477
|
+
unified media, wrapping context and tags, simpler match highlights and readable amounts on
|
|
478
|
+
narrow screens.
|
|
479
|
+
|
|
480
|
+
### Fixed
|
|
481
|
+
|
|
482
|
+
- Sheets honour named and custom cross-axis sizes.
|
|
483
|
+
- GlobalSearch: grouped keyboard order, async selection, IME input, result scrolling, group
|
|
484
|
+
counts, thumbnails and dismissal after a selection in the dialog.
|
|
485
|
+
- Prices stay beside their content on narrow screens, booking date tiles are compact, stock
|
|
486
|
+
toggles stay readable on phones, and `AdaptiveGrid` keeps its columns inside narrow
|
|
487
|
+
containers. `StepsBar` scrolls from the keyboard.
|
|
488
|
+
- Loyalty movement signs are normalised, failed cart thumbnails recover, and a code cannot be
|
|
489
|
+
submitted or removed while pending.
|
|
490
|
+
- Live mentions keep paragraph and list structure.
|
|
491
|
+
- Iconless `ActionMenu` rows have no empty icon column, and long labels in fixed-width menus
|
|
492
|
+
truncate, checkbox and link actions included.
|
|
493
|
+
- Toolbar separators are centred at icon height. PageHeading and PageHeader title icons align
|
|
494
|
+
to the first title baseline. Item label/value pairs stay compact.
|
|
495
|
+
|
|
496
|
+
See [Upgrading to 1.0.3](docs/learn/migration.md#upgrading-to-103).
|
|
615
497
|
|
|
616
498
|
## 1.0.2 — 2026-09-16
|
|
617
499
|
|
|
618
|
-
|
|
619
|
-
|
|
500
|
+
Mobile data workflows, activity and mention presentation, media management, async
|
|
501
|
+
interactions and foundational controls.
|
|
620
502
|
|
|
621
503
|
### Upgrade notes
|
|
622
504
|
|
|
623
|
-
Review
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
###
|
|
628
|
-
|
|
629
|
-
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
###
|
|
640
|
-
|
|
641
|
-
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
-
|
|
654
|
-
|
|
655
|
-
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
-
|
|
704
|
-
|
|
705
|
-
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
-
|
|
709
|
-
|
|
710
|
-
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
- Follow standalone type re-exports, aliases and cycles in API compatibility snapshots;
|
|
719
|
-
detect member removals, newly required members and narrowing behind those exports.
|
|
720
|
-
|
|
721
|
-
- Polish admin-shell containment, scrolling, mobile drawers and left/right navigation;
|
|
722
|
-
add provider configuration and full-width stacked composition options.
|
|
723
|
-
- Correct auth centering and split-container responsiveness; demonstrate card, bare,
|
|
724
|
-
split and composed auth screens with validation and recovery states.
|
|
725
|
-
- Compose sidebar router callbacks with mobile dismissal and make workspace navigation
|
|
726
|
-
keyboard-operable with real button/link semantics.
|
|
727
|
-
- Add media-library fetch retry, accessible progress and result announcements, preserved
|
|
728
|
-
filter/selection state, and responsive type filters.
|
|
729
|
-
- Keep loading-button names stable for assistive technology and preserve grouped-button
|
|
730
|
-
geometry around progress announcements.
|
|
731
|
-
- Omit preview artwork, test-helper declarations and macOS metadata from library packages.
|
|
732
|
-
|
|
733
|
-
- Improve avatar/image upload click targets, touch edit affordances, removal focus, and
|
|
734
|
-
form error descriptions. Keep mixed-drop rejection feedback and stack mobile examples.
|
|
735
|
-
- Cancel pending search drafts when filters are cleared or saved views change.
|
|
736
|
-
- Add disabled pagination controls, retain result counts for zero/one-page data views,
|
|
737
|
-
and demonstrate real filtering, sorting, pagination, and empty-state recovery.
|
|
738
|
-
|
|
739
|
-
- Validate handwritten API-table names against their owning TypeScript symbols, including
|
|
740
|
-
nested types, hook arguments/results, and exported APIs. Correct stale callback, upload,
|
|
741
|
-
layout, and token documentation; report unresolved runtime defaults explicitly.
|
|
742
|
-
- Correct Theme Tweaker's provider guidance and demonstrate live configuration updates,
|
|
743
|
-
retaining the last valid locale while an edit is incomplete.
|
|
744
|
-
- Hide decorative command separators from the accessibility tree and improve destructive
|
|
745
|
-
badge text contrast on muted surfaces. Remove the resolved accessibility allowances.
|
|
746
|
-
- Correct translucent-color measurement and add regressions for popup token overrides,
|
|
747
|
-
empty-state alignment, numeric steppers, calendar ranges, and provider updates.
|
|
505
|
+
Review [Upgrading to 1.0.2](docs/learn/migration.md#upgrading-to-102) for the TipTap peers,
|
|
506
|
+
Slider wrapper types, decimal Money strings, mobile filter presentation and opt-in iPhone
|
|
507
|
+
field sizing.
|
|
508
|
+
|
|
509
|
+
### Added
|
|
510
|
+
|
|
511
|
+
- Media Library grid, list and metadata-table views and a reusable selection bar;
|
|
512
|
+
`applyItemPatch` for consumer-owned record shapes; fetch retry; announced progress and
|
|
513
|
+
results; responsive type filters.
|
|
514
|
+
- `ActivityFeed` takes `error` and `onRetry`, and `ActivityLog` supports loading, error and
|
|
515
|
+
retry, keeping loaded history, expanded details and composer drafts through refreshes.
|
|
516
|
+
- Schema Form's optional `strings.submitError` customises failed-save feedback.
|
|
517
|
+
- `UIProvider config={{ forms: { preventIPhoneZoom: true } }}` applies a 16px minimum to
|
|
518
|
+
native fields on iPhones; off by default.
|
|
519
|
+
- Admin shell provider configuration and full-width stacked composition options.
|
|
520
|
+
|
|
521
|
+
### Changed
|
|
522
|
+
|
|
523
|
+
- `RichTextEditor` uses TipTap by default, with real formatting and history, source mode,
|
|
524
|
+
controlled updates and atomic mention chips. Props, ref and the custom-engine API are
|
|
525
|
+
unchanged, and the `execCommand` factory remains for explicit integrations. The editor,
|
|
526
|
+
comments and activities need `@tiptap/core`, `@tiptap/pm` and `@tiptap/starter-kit`;
|
|
527
|
+
root and unrelated imports do not. HTML is normalised to the TipTap schema.
|
|
528
|
+
- Below 768px, DataView and FilterLayout move their controls into a 90%-width sheet with
|
|
529
|
+
saved-view selection, per-filter clearing and staged editors. `mobilePresentation="inline"`
|
|
530
|
+
keeps an inline layout.
|
|
531
|
+
- Activity headlines are simpler, with timestamps and source labels apart from row actions,
|
|
532
|
+
and resource facts expand with the event details. Narrow comment cards give the message the
|
|
533
|
+
full width and keep their actions below it.
|
|
534
|
+
- Mention suggestions use compact menu geometry and the shared Item and Command rows.
|
|
535
|
+
- Slider callbacks infer scalar or range payloads; explicitly typed wrappers may need a
|
|
536
|
+
generic parameter.
|
|
537
|
+
- A single dot in a Money string is a decimal separator, and malformed amounts render the
|
|
538
|
+
empty state.
|
|
539
|
+
- Centred dialogs cap at 90% of the viewport; overlay close icons follow the interface icon
|
|
540
|
+
scale with a larger click target.
|
|
541
|
+
- Field typography is the same at every width.
|
|
542
|
+
|
|
543
|
+
### Fixed
|
|
544
|
+
|
|
545
|
+
- Base fields disable clear, reveal, step and prefix actions with the field, keep
|
|
546
|
+
intermediate numeric entry and step with ArrowUp/ArrowDown. `FormField` labels reach
|
|
547
|
+
composite controls through `aria-labelledby`. Standard buttons stay put when pressed.
|
|
548
|
+
- Uncontrolled slider readouts and submitted values stay current.
|
|
549
|
+
- Tag inputs keep rejected pasted tags, split typed entries by their delimiter, honour IME
|
|
550
|
+
composition, keep keyboard removal at the limit and omit disabled tags from form data.
|
|
551
|
+
- Primitives: empty and non-finite states, DMS rounding, fractional-byte units, custom
|
|
552
|
+
date-range patterns and same-day collapse. Canonical decimal money strings are preserved.
|
|
553
|
+
- Mentions: Arrow and Enter select without moving the editor caret, Escape dismisses, and an
|
|
554
|
+
unchanged caret callback no longer reopens a dismissed query.
|
|
555
|
+
- Action overlays resist duplicate confirmations, cancellation and stale completions;
|
|
556
|
+
confirmations and sheets are labelled for assistive technology; non-modal sheets sit above
|
|
557
|
+
sticky page chrome and honour Escape, including when a nested control consumes it; empty
|
|
558
|
+
dialog body bands are gone.
|
|
559
|
+
- Comboboxes honour externally controlled opening and dismissal, keep multi-select drafts
|
|
560
|
+
across result changes, compare selections by key and link errors to their fields.
|
|
561
|
+
- Async Preview reuses hover requests, cancels on close or record change, recovers under
|
|
562
|
+
Strict Mode, respects cache expiry, and names its popovers.
|
|
563
|
+
- Schema Form owns pending async submissions, prevents duplicate saves, keeps values after
|
|
564
|
+
errors and focuses validation failures; invalid JSON blocks submission, reset clears its
|
|
565
|
+
draft, and disabled fields no longer block validation.
|
|
566
|
+
- Media Library keeps detail drafts after failed saves, keeps assets visible during deletes,
|
|
567
|
+
keeps selected records across remote searches, and improves selection markers, document
|
|
568
|
+
placeholders, keyboard detail focus and narrow layouts. Upload helpers expose stable staged
|
|
569
|
+
file ids, guard duplicate starts, keep failed files for retry and ignore cancelled or
|
|
570
|
+
completed callbacks; uploads require a handler.
|
|
571
|
+
- Saved-view tabs and selects agree on operator defaults, custom selections and ordered
|
|
572
|
+
ranges. Pending filters are unavailable to keyboard and pointer, progress is announced, and
|
|
573
|
+
search-only filters can be cleared. Clearing filters or changing a saved view cancels
|
|
574
|
+
pending search drafts. DataView shows filter failures beside fallback rows.
|
|
575
|
+
- Activity presentation density stays separate from theme and density scopes, so an explicit
|
|
576
|
+
light theme holds on a dark-system device. Activity-feed header and footer slots stay
|
|
577
|
+
mounted through empty and loading states, so an empty log can take its first comment.
|
|
578
|
+
- Focus returns after Safari pointer users dismiss overlays, mobile navigation, resource
|
|
579
|
+
assignment and site search; rendered trigger callbacks and refs are preserved.
|
|
580
|
+
- Keyboard Kanban reordering is complete, narrow-screen lanes stay usable, and event-calendar
|
|
581
|
+
bounds compare by local day.
|
|
582
|
+
- Comment submissions stay locked until complete, drafts and pending actions are isolated per
|
|
583
|
+
record, errors are announced, and attachments do not upload twice under Strict Mode.
|
|
584
|
+
- Activity ordering is stable for missing dates, and expanded ids are de-duplicated.
|
|
585
|
+
- Chat controls reflect their callbacks; resource confirmations resist duplicates and stale
|
|
586
|
+
completions; action dialogs have accessible names and descriptions.
|
|
587
|
+
- Admin shell containment, scrolling, mobile drawers and left/right navigation; auth centring
|
|
588
|
+
and split-container responsiveness; sidebar router callbacks compose with mobile dismissal;
|
|
589
|
+
workspace navigation uses real buttons and links.
|
|
590
|
+
- Loading buttons keep a stable accessible name, and grouped buttons keep their geometry
|
|
591
|
+
around progress announcements.
|
|
592
|
+
- Avatar and image uploads have larger click targets, touch edit affordances, removal focus
|
|
593
|
+
and error descriptions, and keep mixed-drop rejection feedback.
|
|
594
|
+
- Pagination controls disable at the ends, and data views keep result counts for zero and one
|
|
595
|
+
page.
|
|
596
|
+
- Theme Tweaker keeps the last valid locale while an edit is incomplete.
|
|
597
|
+
- Decorative command separators are hidden from the accessibility tree, and destructive badge
|
|
598
|
+
text has more contrast on muted surfaces.
|
|
599
|
+
- The package no longer includes preview artwork, test-helper declarations or macOS metadata.
|
|
748
600
|
|
|
749
601
|
## 1.0.1
|
|
750
602
|
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
snapshot include the public package rename from `@themelia/ui` to `themelia-ui`
|
|
754
|
-
(`0b3917a`), updated consumer documentation and shipped agent guidance (`3f9cc63`),
|
|
755
|
-
and the package/lockfile version bump (`9f6d9f2`).
|
|
603
|
+
Released 2026-09-14. The package is renamed from `@themelia/ui` to `themelia-ui`; the
|
|
604
|
+
documentation and the packaged assistant skill use the new name.
|
|
756
605
|
|
|
757
606
|
## 1.0.0 — initial repository baseline
|
|
758
607
|
|
|
759
|
-
The
|
|
608
|
+
The first stable release. Later changes follow
|
|
760
609
|
[the compatibility policy](docs/learn/api-compatibility.md).
|
|
761
610
|
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
refuses the rest, because a codemod cannot decide whether a child is the element to
|
|
807
|
-
become or the content.
|
|
808
|
-
|
|
809
|
-
Retiring it exposed a defect in the surviving spelling: `PopoverTrigger` inferred Base
|
|
810
|
-
UI's `nativeButton` from the element on the `asChild` path ONLY, so the canonical form
|
|
811
|
-
shipped `<a href="/x" type="button">` — where `type` on an anchor is the MIME-type hint
|
|
812
|
-
for the destination, not a button type. The deprecated branch had been carrying the fix.
|
|
813
|
-
|
|
814
|
-
**`themelia-ui/tailwind.css`** bridges the token contract into Tailwind v4, so
|
|
815
|
-
`bg-primary`, `rounded-surface` and `p-md` mean what they mean everywhere else in the
|
|
816
|
-
kit. Import it even if you never write one of those: both projects descend from shadcn,
|
|
817
|
-
41 custom-property names collide, and without the bridge Tailwind's defaults silently win
|
|
818
|
-
23 of them — the whole radius ladder, six type steps, three font stacks. `--text-sm`
|
|
819
|
-
becomes a flat `0.875rem`, which drops the kit's `--text-scale` fallback and stops scoped
|
|
820
|
-
type scaling.
|
|
821
|
-
|
|
822
|
-
**`themelia-ui/theming`** publishes the theme-synthesis recipes without the React
|
|
823
|
-
feature they used to live behind, so a build script can turn a brand seed into CSS
|
|
824
|
-
variables. Its foreground picker now MEASURES WCAG contrast instead of thresholding OKLCH
|
|
825
|
-
lightness — a behaviour change recorded in the migration map, because `#3b82f6` went from
|
|
826
|
-
white at 3.52:1 (failing AA) to dark at 5.11:1.
|
|
827
|
-
|
|
828
|
-
**`themelia-ui/tokens.json`** is the contract in W3C DTCG format for Figma and
|
|
829
|
-
design tooling: 164 tokens, OKLCH colour objects with a `hex` fallback, light and dark as
|
|
830
|
-
aliases. What it cannot carry is stated in its own `$extensions` rather than hidden —
|
|
831
|
-
`calc()` is resolved so a derived dimension loses its link to the token it derives from,
|
|
832
|
-
and the shadow ladder is absent because DTCG has no `color-mix`.
|
|
833
|
-
|
|
834
|
-
### Release truth, consumer guidance, and the rich-text seam
|
|
835
|
-
|
|
836
|
-
The last phase before 1.0. What changed is mostly what the package can PROVE about
|
|
837
|
-
itself.
|
|
838
|
-
|
|
839
|
-
**Readiness is an artifact, not a document.** `docs/generated/release-readiness.md`
|
|
840
|
-
was committed and said "`1.0.0` is ready to publish" while the evidence behind it
|
|
841
|
-
named a commit five commits back, on a tree whose live verdict was HOLD. It could
|
|
842
|
-
not say otherwise: its generator stripped the commit and the timestamp so the
|
|
843
|
-
committed file would stop churning. The verdict now renders to `.release/`, which
|
|
844
|
-
is ignored, and names the commit it is about. Nothing committed asserts current
|
|
845
|
-
release state.
|
|
846
|
-
|
|
847
|
-
**Status comes from one fact source.** README said `0.9.0` and `baseline/report.json`
|
|
848
|
-
recorded 37 lint warnings for a 1.0.0 package with none, and the anti-drift gate
|
|
849
|
-
passed over both. `collectRepositoryFacts` feeds README's status block, which is now
|
|
850
|
-
under `verify:docs-freshness` — putting `0.9.0` back fails `npm run verify`.
|
|
851
|
-
|
|
852
|
-
**The consumer skill ships.** `files` was `["dist"]`, so the tarball carried 1,878
|
|
853
|
-
build artefacts and no guidance. It now carries the agent skill, its references, the
|
|
854
|
-
component index, an offline installer and a finder that answers from `node_modules`
|
|
855
|
-
with no checkout and no registry lookup.
|
|
856
|
-
|
|
857
|
-
**No known string debt.** Two ratcheted baselines holding 102 findings are gone. Three
|
|
858
|
-
were real — a screen-reader-only "Unread", the em dash before a quoted block's
|
|
859
|
-
attribution, and the curly quotes around a search term; the last two are typography
|
|
860
|
-
rather than words, which a list of strings hides. Seventeen unreachable override keys
|
|
861
|
-
are resolved: two named something real and unlabelled and are wired, fifteen named
|
|
862
|
-
nothing their component renders and are removed. The remaining 82 findings are
|
|
863
|
-
exceptions that each name a reason from a closed set and the declaration that owns
|
|
864
|
-
them.
|
|
865
|
-
|
|
866
|
-
**Two reference consumers.** `examples/consumer-general` and `examples/consumer-admin`
|
|
867
|
-
install from the packed tarball and are typechecked, built and server-rendered on
|
|
868
|
-
every run. They take opposite branches on optional peers, which is what proves the
|
|
869
|
-
forms seam is real rather than described.
|
|
870
|
-
|
|
871
|
-
**The catalogue has headroom again.** `dist/style.css` was 219 bytes under its
|
|
872
|
-
ceiling; a final pass over the concatenation — and only over the concatenation — leaves it
|
|
873
|
-
at 71,814 gzip bytes, 1,914 under the 72 KiB target. The three representative exact-CSS
|
|
874
|
-
recipes remain inside their 32, 48 and 58 KB budgets.
|
|
875
|
-
|
|
876
|
-
**Profiles are a dependency ceiling, stated as one.** `themelia-ui/profiles/general.json`
|
|
877
|
-
and `.../admin.json` publish every subpath below each ceiling and the peers that come
|
|
878
|
-
with it. The documentation no longer describes `general` as a subject-matter category.
|
|
879
|
-
|
|
880
|
-
**Rich text has a stable engine contract.** `RichTextEngine` is the seam between the
|
|
881
|
-
editor's chrome and whatever edits the document; one shared suite runs against the
|
|
882
|
-
built-in `execCommand` engine and a TipTap adapter behind its own exact subpath. The
|
|
883
|
-
contract is stable; the default engine remains experimental.
|
|
884
|
-
|
|
885
|
-
**Fixed along the way:** `RichText` rendered nothing at all — it sanitised `html` and
|
|
886
|
-
handed it to `Text`, which returned null whenever it had no children, so rich comment
|
|
887
|
-
content lost its paragraphs and its quoted blocks. Four of eleven type roles scaled by
|
|
888
|
-
the SPACING factor, so `--space-scale: 1.25` inverted the type ladder. The SSR sweep
|
|
889
|
-
became 96 named cases, halving the unit suite. `Copyable`'s clipboard behaviour is one
|
|
890
|
-
`useCopyToClipboard` hook instead of five disagreeing copies, and typography gained
|
|
891
|
-
`truncate`, removing the kit's most-repeated CSS from 21 families.
|
|
892
|
-
|
|
893
|
-
### The surface
|
|
894
|
-
|
|
895
|
-
**199 published subpaths** across **98 families**, each importable on its own:
|
|
896
|
-
|
|
897
|
-
| layer | families | may import |
|
|
898
|
-
|---|---|---|
|
|
899
|
-
| `foundation` | 4 | — |
|
|
900
|
-
| `typography` | 1 | foundation |
|
|
901
|
-
| `primitives` | 1 | foundation, typography |
|
|
902
|
-
| `base` | 53 | foundation, typography, primitives |
|
|
903
|
-
| `patterns` | 3 | everything below |
|
|
904
|
-
| `layout` | 9 | foundation, typography, primitives, base |
|
|
905
|
-
| `features` | 25 | foundation, typography, primitives, base |
|
|
906
|
-
| `admin` | 2 | everything below |
|
|
907
|
-
|
|
908
|
-
There is no `./base` or `./features` aggregate, and there will not be one: an aggregate
|
|
909
|
-
subpath is how a consumer who wanted a Button ends up with the optional peers of a chart.
|
|
910
|
-
|
|
911
|
-
The exported declarations are recorded name by name with normalised signatures in
|
|
912
|
-
`architecture/api-snapshot.json`. `verify:api-snapshot` fails on a removal, a removed
|
|
913
|
-
interface member, an optional member made required, or a changed member type.
|
|
914
|
-
|
|
915
|
-
### Profiles
|
|
916
|
-
|
|
917
|
-
96 families are `general` — domain-neutral presentation. 2 are `admin`, which is B2B
|
|
918
|
-
lifecycle vocabulary, and **nothing general may import from admin**. `verify:architecture`
|
|
919
|
-
enforces the direction.
|
|
920
|
-
|
|
921
|
-
### CSS delivery
|
|
922
|
-
|
|
923
|
-
Three ways in, and the narrow one is the default the documentation leads with:
|
|
924
|
-
|
|
925
|
-
```ts
|
|
926
|
-
import { Button } from "themelia-ui/base/buttons"
|
|
927
|
-
import "themelia-ui/base/buttons.css" // the family, and the tokens it needs
|
|
928
|
-
```
|
|
929
|
-
|
|
930
|
-
- **94 stylesheet subpaths** — one per family that draws anything, plus `core.css` and
|
|
931
|
-
`primitives.css`.
|
|
932
|
-
- `core.css` alone is the token layer, for your own CSS. A family sheet already `@import`s
|
|
933
|
-
it; you do not need both.
|
|
934
|
-
- `style.css` is the whole catalogue at **71,814 bytes gzip (70 KiB)**. It is the right
|
|
935
|
-
choice for an application that uses most of the kit and the wrong one for a public page
|
|
936
|
-
using a handful of components; exact-family recipes are budgeted independently.
|
|
937
|
-
|
|
938
|
-
The cascade layer order — `tokens, theming, base, components, utilities` — is declared by
|
|
939
|
-
`core.css`. Every family stylesheet imports that contract first, so consumers need a
|
|
940
|
-
separate `core.css` import only when their own CSS needs tokens before a family loads.
|
|
941
|
-
|
|
942
|
-
### Experimental
|
|
943
|
-
|
|
944
|
-
**`features/rich-text-editor`.** Its editing engine is `document.execCommand`, which is
|
|
945
|
-
deprecated with no standard replacement. It works in every current browser, and it is not a
|
|
946
|
-
foundation to freeze a stable API on: expect its internals to change within 1.x.
|
|
947
|
-
`RichTextEditorHandle` is the seam intended to survive that. It produces **unsanitized
|
|
948
|
-
HTML** — see [SECURITY.md](SECURITY.md).
|
|
949
|
-
|
|
950
|
-
Every other family is `stable`.
|
|
951
|
-
|
|
952
|
-
### Deprecated, removal targets 2.0
|
|
953
|
-
|
|
954
|
-
11 declarations carry `@deprecated` with a named replacement. Two shapes:
|
|
955
|
-
|
|
956
|
-
- **`asChild`** on the components that predate Base UI's contract. Use `render`, which they
|
|
957
|
-
already accept.
|
|
958
|
-
- **`RANGE_PRESETS`** — an English constant computed on date-fns's own week, which is Sunday
|
|
959
|
-
while this package's default is Monday. Use `createRangePresets({ strings, weekStartsOn })`.
|
|
960
|
-
|
|
961
|
-
`docs/generated/migration.md` and `docs/generated/migration-broad-imports.md` are generated
|
|
962
|
-
and name every symbol with its replacement.
|
|
963
|
-
|
|
964
|
-
### Peers
|
|
965
|
-
|
|
966
|
-
React `>=19.0.0 <20`, proven at both ends by `verify:react-matrix` rather than inferred
|
|
967
|
-
from whichever version was installed. Twelve optional peers are contained per family by
|
|
968
|
-
the packed-package verification.
|
|
969
|
-
|
|
970
|
-
### What a release proves
|
|
971
|
-
|
|
972
|
-
`npm run verify:release` runs the 48-step static chain, packed-package consumer contracts,
|
|
973
|
-
reference consumers, API snapshot, CSS budgets, and 620 browser tests, and writes
|
|
974
|
-
`.release/readiness.json` as
|
|
975
|
-
each one passes. A record that is missing, unfinished, from another commit or from a dirty
|
|
976
|
-
tree cannot support a publish — which makes publishing after an incomplete gate unreachable
|
|
977
|
-
rather than merely discouraged.
|
|
978
|
-
|
|
979
|
-
### Known debt carried into 1.0
|
|
980
|
-
|
|
981
|
-
- **One dependency-owned accessibility ceiling.** The `/command` preview retains one
|
|
982
|
-
`aria-required-children` finding in cmdk-generated markup. Kit-owned findings are closed,
|
|
983
|
-
and the ratchet fails if the count grows.
|
|
984
|
-
- **The documentation bundle is intentionally broad.** Its all-routes production build
|
|
985
|
-
emits a large-chunk warning. Consumer applications avoid that bundle through exact
|
|
986
|
-
JavaScript and CSS family entrypoints.
|
|
987
|
-
- **Two RSC boundaries that family granularity cannot reach.** `Separator` needs no client
|
|
988
|
-
runtime, but it ships from `base/display` beside `Collapsible` and `DateBlock`, which
|
|
989
|
-
both hold real hooks — so the family is client and `Separator` goes with it. And
|
|
990
|
-
`Money`, `Number` and the date primitives read the provider's locale through
|
|
991
|
-
`useFormatting()`, which is a hook, so `primitives` is client by construction. Neither
|
|
992
|
-
is a bug; both are the cost of drawing the boundary per family, and moving `Separator`
|
|
993
|
-
to a server-pure family is the fix when it is worth a breaking import change.
|
|
994
|
-
|
|
995
|
-
The accessibility ceiling is recorded rather than hidden and gated so it cannot grow.
|
|
611
|
+
- **98 families on exact subpaths** across eight layers: foundation, typography, primitives,
|
|
612
|
+
base, layout, features, patterns and admin. Each family is importable on its own, and there
|
|
613
|
+
are no layer barrels such as `themelia-ui/base`, so an optional peer is reachable only from
|
|
614
|
+
the families that use it.
|
|
615
|
+
- **Two profiles.** `general` families are domain-neutral; the two `admin` families carry B2B
|
|
616
|
+
lifecycle vocabulary and may build on general families, never the reverse.
|
|
617
|
+
`themelia-ui/profiles/general.json` and `admin.json` list every subpath below each ceiling
|
|
618
|
+
and the peers that come with it.
|
|
619
|
+
- **CSS per family.** `themelia-ui/<family>.css` carries a family's rules and imports
|
|
620
|
+
`core.css`, which declares the tokens, themes and the cascade layer order
|
|
621
|
+
`tokens, theming, base, components, utilities`. `style.css` is the whole catalogue in one
|
|
622
|
+
file.
|
|
623
|
+
- **One scale contract.** `--scale` moves the whole interface, density moves geometry and the
|
|
624
|
+
type scale moves text, with no per-family factors; density keeps type readable across nested
|
|
625
|
+
provider, theme and portal boundaries.
|
|
626
|
+
- **`render` is the only polymorphic prop.** `PopoverTrigger` infers Base UI's
|
|
627
|
+
`nativeButton` from the rendered element, so `render={<a href="/x" />}` produces a link
|
|
628
|
+
without `type="button"`.
|
|
629
|
+
- **Server Components.** `"use client"` is the first statement of every interactive entry, in
|
|
630
|
+
ESM and CJS; server-pure families carry none.
|
|
631
|
+
- **Theming outside React.** `themelia-ui/theming` turns a brand seed into CSS variables, and
|
|
632
|
+
its foreground picker measures WCAG contrast (`#3b82f6` now takes dark text at 5.11:1, not
|
|
633
|
+
white at 3.52:1). `themelia-ui/tokens.json` is the token contract in W3C DTCG format, with
|
|
634
|
+
OKLCH colours and a `hex` fallback. `themelia-ui/tailwind.css` bridges the tokens into
|
|
635
|
+
Tailwind v4; import it in any Tailwind app, because the two share custom-property names and
|
|
636
|
+
Tailwind's defaults would otherwise win.
|
|
637
|
+
- **Components.** An accessible Toolbar family, `render` composition for `FormField` and
|
|
638
|
+
`FieldShell`, normalised linear and circular progress ranges, `CSPProvider`, roving focus in
|
|
639
|
+
the editor and data-table toolbars, and a `truncate` prop on typography.
|
|
640
|
+
- **Rich text.** `RichTextEngine` is a stable seam between the editor's chrome and the engine
|
|
641
|
+
that edits the document. The default `execCommand` engine is experimental, and the editor
|
|
642
|
+
produces unsanitised HTML; `RichText` renders stored HTML through an allow-list. See
|
|
643
|
+
[SECURITY.md](SECURITY.md).
|
|
644
|
+
- **Documentation in the package**: the guides, one generated API reference per family, the
|
|
645
|
+
assistant skill with an offline installer, and a component finder that answers from
|
|
646
|
+
`node_modules`.
|
|
647
|
+
- **Peers.** React `>=19.0.0 <20`. Twelve optional peers, each reached only by the families
|
|
648
|
+
that need it.
|
|
649
|
+
- **Deprecated:** `RANGE_PRESETS`, an English constant on date-fns's Sunday week; use
|
|
650
|
+
`createRangePresets({ strings, weekStartsOn })`. Removed in 2.0.
|
|
651
|
+
- **Known limitations.** `Separator` ships from `base/display` beside hooks, so it is a client
|
|
652
|
+
component, and `primitives` is client because `Money`, `Number` and the date primitives read
|
|
653
|
+
the provider's locale through a hook. The Command family's cmdk markup has one axe
|
|
654
|
+
`aria-required-children` finding.
|