@burtson-labs/ui 0.13.1 → 0.14.1
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/LICENSES/DEPENDENCIES.txt +2745 -0
- package/LICENSES/Radix-MIT.txt +21 -0
- package/LICENSES/cmdk-MIT.txt +21 -0
- package/LICENSES/overrides/react-remove-scroll-bar.txt +26 -0
- package/LICENSES/shadcn-MIT.txt +21 -0
- package/README.md +20 -12
- package/THIRD_PARTY_NOTICES.md +15 -3
- package/dist/components/accordion.d.ts +4 -4
- package/dist/components/accordion.js +22 -18
- package/dist/components/accordion.js.map +1 -1
- package/dist/components/alert-dialog.d.ts +13 -11
- package/dist/components/alert-dialog.js +41 -31
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/alert.d.ts +5 -3
- package/dist/components/alert.js +12 -7
- package/dist/components/alert.js.map +1 -1
- package/dist/components/app-shell.d.ts +7 -6
- package/dist/components/app-shell.js +22 -14
- package/dist/components/app-shell.js.map +1 -1
- package/dist/components/attachment.d.ts +3 -3
- package/dist/components/attachment.js +11 -7
- package/dist/components/attachment.js.map +1 -1
- package/dist/components/audio-player.d.ts +2 -2
- package/dist/components/audio-player.js +9 -6
- package/dist/components/audio-player.js.map +1 -1
- package/dist/components/avatar.d.ts +4 -4
- package/dist/components/avatar.js +16 -12
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/badge.d.ts +1 -1
- package/dist/components/badge.js +15 -13
- package/dist/components/badge.js.map +1 -1
- package/dist/components/breadcrumb.d.ts +8 -8
- package/dist/components/breadcrumb.js +27 -20
- package/dist/components/breadcrumb.js.map +1 -1
- package/dist/components/button.d.ts +9 -2
- package/dist/components/button.js +15 -6
- package/dist/components/button.js.map +1 -1
- package/dist/components/card.d.ts +9 -9
- package/dist/components/card.js +33 -23
- package/dist/components/card.js.map +1 -1
- package/dist/components/chat-history.d.ts +1 -1
- package/dist/components/chat-history.js +11 -9
- package/dist/components/chat-history.js.map +1 -1
- package/dist/components/chat-layout.d.ts +1 -1
- package/dist/components/chat-layout.js +8 -3
- package/dist/components/chat-layout.js.map +1 -1
- package/dist/components/checkbox-card.d.ts +3 -3
- package/dist/components/checkbox-card.js +12 -10
- package/dist/components/checkbox-card.js.map +1 -1
- package/dist/components/checkbox.d.ts +24 -3
- package/dist/components/checkbox.js +52 -9
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/collapsible.d.ts +3 -3
- package/dist/components/collapsible.js +14 -11
- package/dist/components/collapsible.js.map +1 -1
- package/dist/components/combobox.d.ts +14 -4
- package/dist/components/combobox.js +19 -8
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/command.d.ts +68 -12
- package/dist/components/command.js +48 -34
- package/dist/components/command.js.map +1 -1
- package/dist/components/composer.d.ts +2 -2
- package/dist/components/composer.js +10 -7
- package/dist/components/composer.js.map +1 -1
- package/dist/components/connection-status.d.ts +3 -3
- package/dist/components/connection-status.js +19 -14
- package/dist/components/connection-status.js.map +1 -1
- package/dist/components/context-menu.d.ts +15 -14
- package/dist/components/context-menu.js +52 -41
- package/dist/components/context-menu.js.map +1 -1
- package/dist/components/conversation.d.ts +1 -1
- package/dist/components/conversation.js +7 -5
- package/dist/components/conversation.js.map +1 -1
- package/dist/components/copy-button.d.ts +1 -1
- package/dist/components/copy-button.js +4 -2
- package/dist/components/copy-button.js.map +1 -1
- package/dist/components/data-table.d.ts +7 -2
- package/dist/components/data-table.js +17 -42
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/dialog.d.ts +19 -10
- package/dist/components/dialog.js +50 -33
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/dropdown-menu.d.ts +15 -14
- package/dist/components/dropdown-menu.js +52 -41
- package/dist/components/dropdown-menu.js.map +1 -1
- package/dist/components/editor-tabs.d.ts +1 -1
- package/dist/components/editor-tabs.js +7 -5
- package/dist/components/editor-tabs.js.map +1 -1
- package/dist/components/empty-state.d.ts +5 -5
- package/dist/components/empty-state.js +17 -11
- package/dist/components/empty-state.js.map +1 -1
- package/dist/components/error-summary.d.ts +21 -0
- package/dist/components/error-summary.js +62 -0
- package/dist/components/error-summary.js.map +1 -0
- package/dist/components/field.d.ts +66 -7
- package/dist/components/field.js +152 -20
- package/dist/components/field.js.map +1 -1
- package/dist/components/form-actions.d.ts +18 -0
- package/dist/components/form-actions.js +30 -0
- package/dist/components/form-actions.js.map +1 -0
- package/dist/components/icon-button.d.ts +3 -1
- package/dist/components/icon-button.js +6 -3
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/input.d.ts +42 -7
- package/dist/components/input.js +54 -10
- package/dist/components/input.js.map +1 -1
- package/dist/components/kbd.d.ts +2 -2
- package/dist/components/kbd.js +8 -5
- package/dist/components/kbd.js.map +1 -1
- package/dist/components/label.d.ts +7 -2
- package/dist/components/label.js +14 -7
- package/dist/components/label.js.map +1 -1
- package/dist/components/markdown.d.ts +4 -3
- package/dist/components/markdown.js +8 -6
- package/dist/components/markdown.js.map +1 -1
- package/dist/components/menubar.d.ts +17 -15
- package/dist/components/menubar.js +58 -45
- package/dist/components/menubar.js.map +1 -1
- package/dist/components/message-actions.d.ts +3 -3
- package/dist/components/message-actions.js +16 -12
- package/dist/components/message-actions.js.map +1 -1
- package/dist/components/message.d.ts +1 -1
- package/dist/components/message.js +6 -3
- package/dist/components/message.js.map +1 -1
- package/dist/components/mobile-nav.d.ts +1 -1
- package/dist/components/mobile-nav.js +7 -5
- package/dist/components/mobile-nav.js.map +1 -1
- package/dist/components/native-select.d.ts +16 -0
- package/dist/components/native-select.js +33 -0
- package/dist/components/native-select.js.map +1 -0
- package/dist/components/navigation-menu.d.ts +13 -12
- package/dist/components/navigation-menu.js +43 -33
- package/dist/components/navigation-menu.js.map +1 -1
- package/dist/components/number-input.d.ts +23 -0
- package/dist/components/number-input.js +45 -0
- package/dist/components/number-input.js.map +1 -0
- package/dist/components/onboarding-checklist.d.ts +1 -1
- package/dist/components/onboarding-checklist.js +5 -3
- package/dist/components/onboarding-checklist.js.map +1 -1
- package/dist/components/page-header.d.ts +7 -6
- package/dist/components/page-header.js +23 -15
- package/dist/components/page-header.js.map +1 -1
- package/dist/components/pagination.d.ts +1 -1
- package/dist/components/pagination.js +4 -2
- package/dist/components/pagination.js.map +1 -1
- package/dist/components/popover.d.ts +14 -11
- package/dist/components/popover.js +30 -23
- package/dist/components/popover.js.map +1 -1
- package/dist/components/progress.d.ts +2 -2
- package/dist/components/progress.js +11 -9
- package/dist/components/progress.js.map +1 -1
- package/dist/components/radio-group.d.ts +23 -4
- package/dist/components/radio-group.js +56 -14
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/reasoning.d.ts +3 -3
- package/dist/components/reasoning.js +14 -11
- package/dist/components/reasoning.js.map +1 -1
- package/dist/components/resizable.js +1 -0
- package/dist/components/resizable.js.map +1 -1
- package/dist/components/scroll-area.d.ts +4 -3
- package/dist/components/scroll-area.js +18 -14
- package/dist/components/scroll-area.js.map +1 -1
- package/dist/components/secret-input.d.ts +3 -2
- package/dist/components/secret-input.js +7 -4
- package/dist/components/secret-input.js.map +1 -1
- package/dist/components/select.d.ts +12 -7
- package/dist/components/select.js +42 -35
- package/dist/components/select.js.map +1 -1
- package/dist/components/separator.d.ts +2 -2
- package/dist/components/separator.js +8 -6
- package/dist/components/separator.js.map +1 -1
- package/dist/components/sheet.d.ts +11 -9
- package/dist/components/sheet.js +41 -29
- package/dist/components/sheet.js.map +1 -1
- package/dist/components/skeleton.d.ts +2 -1
- package/dist/components/skeleton.js +7 -4
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/slider.d.ts +10 -6
- package/dist/components/slider.js +16 -7
- package/dist/components/slider.js.map +1 -1
- package/dist/components/source.d.ts +2 -2
- package/dist/components/source.js +10 -7
- package/dist/components/source.js.map +1 -1
- package/dist/components/spinner.d.ts +4 -2
- package/dist/components/spinner.js +5 -3
- package/dist/components/spinner.js.map +1 -1
- package/dist/components/stat-card.d.ts +27 -2
- package/dist/components/stat-card.js +70 -9
- package/dist/components/stat-card.js.map +1 -1
- package/dist/components/status.d.ts +7 -6
- package/dist/components/status.js +12 -5
- package/dist/components/status.js.map +1 -1
- package/dist/components/steps.d.ts +1 -1
- package/dist/components/steps.js +5 -3
- package/dist/components/steps.js.map +1 -1
- package/dist/components/switch.d.ts +47 -3
- package/dist/components/switch.js +89 -11
- package/dist/components/switch.js.map +1 -1
- package/dist/components/table.d.ts +29 -12
- package/dist/components/table.js +80 -34
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.d.ts +10 -5
- package/dist/components/tabs.js +29 -19
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/textarea.d.ts +6 -1
- package/dist/components/textarea.js +4 -3
- package/dist/components/textarea.js.map +1 -1
- package/dist/components/toast.d.ts +11 -7
- package/dist/components/toast.js +37 -27
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toaster.d.ts +4 -2
- package/dist/components/toaster.js +7 -2
- package/dist/components/toaster.js.map +1 -1
- package/dist/components/tool-call.d.ts +2 -2
- package/dist/components/tool-call.js +15 -12
- package/dist/components/tool-call.js.map +1 -1
- package/dist/components/toolbar.d.ts +9 -4
- package/dist/components/toolbar.js +15 -9
- package/dist/components/toolbar.js.map +1 -1
- package/dist/components/tooltip.d.ts +4 -3
- package/dist/components/tooltip.js +17 -13
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/tour.js +10 -8
- package/dist/components/tour.js.map +1 -1
- package/dist/components/tree-view.d.ts +1 -1
- package/dist/components/tree-view.js +10 -5
- package/dist/components/tree-view.js.map +1 -1
- package/dist/components/voice-recorder.d.ts +1 -1
- package/dist/components/voice-recorder.js +5 -2
- package/dist/components/voice-recorder.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +17 -12
- package/dist/lib/media.d.ts +18 -0
- package/dist/lib/media.js +34 -0
- package/dist/lib/media.js.map +1 -0
- package/dist/lib/utils.d.ts +32 -0
- package/dist/lib/utils.js +33 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/mui/index.js +20 -8
- package/dist/mui/index.js.map +1 -1
- package/dist/primitives/vendor/cmdk/command-score.d.ts +1 -0
- package/dist/primitives/vendor/cmdk/command-score.js +64 -0
- package/dist/primitives/vendor/cmdk/command-score.js.map +1 -0
- package/dist/primitives/vendor/cmdk/index.d.ts +384 -0
- package/dist/primitives/vendor/cmdk/index.js +687 -0
- package/dist/primitives/vendor/cmdk/index.js.map +1 -0
- package/dist/primitives/vendor/radix/number/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/number/number.d.ts +2 -0
- package/dist/primitives/vendor/radix/number/number.js +9 -0
- package/dist/primitives/vendor/radix/number/number.js.map +1 -0
- package/dist/primitives/vendor/radix/primitive/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/primitive/is-development.d.ts +1 -0
- package/dist/primitives/vendor/radix/primitive/is-development.js +7 -0
- package/dist/primitives/vendor/radix/primitive/is-development.js.map +1 -0
- package/dist/primitives/vendor/radix/primitive/primitive.d.ts +14 -0
- package/dist/primitives/vendor/radix/primitive/primitive.js +12 -0
- package/dist/primitives/vendor/radix/primitive/primitive.js.map +1 -0
- package/dist/primitives/vendor/radix/primitive/types.d.ts +5 -0
- package/dist/primitives/vendor/radix/react-accordion/accordion.d.ts +112 -0
- package/dist/primitives/vendor/radix/react-accordion/accordion.js +266 -0
- package/dist/primitives/vendor/radix/react-accordion/accordion.js.map +1 -0
- package/dist/primitives/vendor/radix/react-accordion/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-alert-dialog/alert-dialog.d.ts +49 -0
- package/dist/primitives/vendor/radix/react-alert-dialog/alert-dialog.js +122 -0
- package/dist/primitives/vendor/radix/react-alert-dialog/alert-dialog.js.map +1 -0
- package/dist/primitives/vendor/radix/react-alert-dialog/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-arrow/arrow.d.ts +9 -0
- package/dist/primitives/vendor/radix/react-arrow/arrow.js +22 -0
- package/dist/primitives/vendor/radix/react-arrow/arrow.js.map +1 -0
- package/dist/primitives/vendor/radix/react-arrow/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-avatar/avatar.d.ts +19 -0
- package/dist/primitives/vendor/radix/react-avatar/avatar.js +132 -0
- package/dist/primitives/vendor/radix/react-avatar/avatar.js.map +1 -0
- package/dist/primitives/vendor/radix/react-avatar/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-checkbox/checkbox.d.ts +47 -0
- package/dist/primitives/vendor/radix/react-checkbox/checkbox.js +197 -0
- package/dist/primitives/vendor/radix/react-checkbox/checkbox.js.map +1 -0
- package/dist/primitives/vendor/radix/react-checkbox/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-collapsible/collapsible.d.ts +31 -0
- package/dist/primitives/vendor/radix/react-collapsible/collapsible.js +133 -0
- package/dist/primitives/vendor/radix/react-collapsible/collapsible.js.map +1 -0
- package/dist/primitives/vendor/radix/react-collapsible/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-collection/collection-legacy.d.ts +21 -0
- package/dist/primitives/vendor/radix/react-collection/collection-legacy.js +84 -0
- package/dist/primitives/vendor/radix/react-collection/collection-legacy.js.map +1 -0
- package/dist/primitives/vendor/radix/react-collection/collection.d.ts +32 -0
- package/dist/primitives/vendor/radix/react-collection/index.d.ts +4 -0
- package/dist/primitives/vendor/radix/react-collection/ordered-dictionary.d.ts +51 -0
- package/dist/primitives/vendor/radix/react-compose-refs/compose-refs.d.ts +13 -0
- package/dist/primitives/vendor/radix/react-compose-refs/compose-refs.js +43 -0
- package/dist/primitives/vendor/radix/react-compose-refs/compose-refs.js.map +1 -0
- package/dist/primitives/vendor/radix/react-compose-refs/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-context/create-context.d.ts +45 -0
- package/dist/primitives/vendor/radix/react-context/create-context.js +74 -0
- package/dist/primitives/vendor/radix/react-context/create-context.js.map +1 -0
- package/dist/primitives/vendor/radix/react-context/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-context-menu/context-menu.d.ts +95 -0
- package/dist/primitives/vendor/radix/react-context-menu/context-menu.js +279 -0
- package/dist/primitives/vendor/radix/react-context-menu/context-menu.js.map +1 -0
- package/dist/primitives/vendor/radix/react-context-menu/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-dialog/dialog.d.ts +97 -0
- package/dist/primitives/vendor/radix/react-dialog/dialog.js +262 -0
- package/dist/primitives/vendor/radix/react-dialog/dialog.js.map +1 -0
- package/dist/primitives/vendor/radix/react-dialog/index.d.ts +4 -0
- package/dist/primitives/vendor/radix/react-direction/direction.d.ts +10 -0
- package/dist/primitives/vendor/radix/react-direction/direction.js +13 -0
- package/dist/primitives/vendor/radix/react-direction/direction.js.map +1 -0
- package/dist/primitives/vendor/radix/react-direction/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-dismissable-layer/dismissable-layer.d.ts +61 -0
- package/dist/primitives/vendor/radix/react-dismissable-layer/dismissable-layer.js +336 -0
- package/dist/primitives/vendor/radix/react-dismissable-layer/dismissable-layer.js.map +1 -0
- package/dist/primitives/vendor/radix/react-dismissable-layer/index.d.ts +4 -0
- package/dist/primitives/vendor/radix/react-dropdown-menu/dropdown-menu.d.ts +95 -0
- package/dist/primitives/vendor/radix/react-dropdown-menu/dropdown-menu.js +257 -0
- package/dist/primitives/vendor/radix/react-dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/primitives/vendor/radix/react-dropdown-menu/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-focus-guards/focus-guards.d.ts +11 -0
- package/dist/primitives/vendor/radix/react-focus-guards/focus-guards.js +49 -0
- package/dist/primitives/vendor/radix/react-focus-guards/focus-guards.js.map +1 -0
- package/dist/primitives/vendor/radix/react-focus-guards/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-focus-scope/focus-scope.d.ts +31 -0
- package/dist/primitives/vendor/radix/react-focus-scope/focus-scope.js +221 -0
- package/dist/primitives/vendor/radix/react-focus-scope/focus-scope.js.map +1 -0
- package/dist/primitives/vendor/radix/react-focus-scope/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-id/id.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-id/id.js +17 -0
- package/dist/primitives/vendor/radix/react-id/id.js.map +1 -0
- package/dist/primitives/vendor/radix/react-id/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-label/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-label/label.d.ts +9 -0
- package/dist/primitives/vendor/radix/react-label/label.js +21 -0
- package/dist/primitives/vendor/radix/react-label/label.js.map +1 -0
- package/dist/primitives/vendor/radix/react-menu/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-menu/menu.d.ts +173 -0
- package/dist/primitives/vendor/radix/react-menu/menu.js +806 -0
- package/dist/primitives/vendor/radix/react-menu/menu.js.map +1 -0
- package/dist/primitives/vendor/radix/react-menubar/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-menubar/menubar.d.ts +106 -0
- package/dist/primitives/vendor/radix/react-menubar/menubar.js +377 -0
- package/dist/primitives/vendor/radix/react-menubar/menubar.js.map +1 -0
- package/dist/primitives/vendor/radix/react-navigation-menu/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-navigation-menu/navigation-menu.d.ts +124 -0
- package/dist/primitives/vendor/radix/react-navigation-menu/navigation-menu.js +743 -0
- package/dist/primitives/vendor/radix/react-navigation-menu/navigation-menu.js.map +1 -0
- package/dist/primitives/vendor/radix/react-popover/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-popover/popover.d.ts +83 -0
- package/dist/primitives/vendor/radix/react-popover/popover.js +236 -0
- package/dist/primitives/vendor/radix/react-popover/popover.js.map +1 -0
- package/dist/primitives/vendor/radix/react-popper/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-popper/popper.d.ts +44 -0
- package/dist/primitives/vendor/radix/react-popper/popper.js +276 -0
- package/dist/primitives/vendor/radix/react-popper/popper.js.map +1 -0
- package/dist/primitives/vendor/radix/react-portal/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-portal/portal.d.ts +13 -0
- package/dist/primitives/vendor/radix/react-portal/portal.js +21 -0
- package/dist/primitives/vendor/radix/react-portal/portal.js.map +1 -0
- package/dist/primitives/vendor/radix/react-presence/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-presence/presence.d.ts +11 -0
- package/dist/primitives/vendor/radix/react-presence/presence.js +152 -0
- package/dist/primitives/vendor/radix/react-presence/presence.js.map +1 -0
- package/dist/primitives/vendor/radix/react-presence/use-state-machine.d.ts +10 -0
- package/dist/primitives/vendor/radix/react-presence/use-state-machine.js +12 -0
- package/dist/primitives/vendor/radix/react-presence/use-state-machine.js.map +1 -0
- package/dist/primitives/vendor/radix/react-primitive/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-primitive/primitive.d.ts +56 -0
- package/dist/primitives/vendor/radix/react-primitive/primitive.js +84 -0
- package/dist/primitives/vendor/radix/react-primitive/primitive.js.map +1 -0
- package/dist/primitives/vendor/radix/react-progress/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-progress/progress.d.ts +17 -0
- package/dist/primitives/vendor/radix/react-progress/progress.js +79 -0
- package/dist/primitives/vendor/radix/react-progress/progress.js.map +1 -0
- package/dist/primitives/vendor/radix/react-radio-group/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-radio-group/radio-group.d.ts +55 -0
- package/dist/primitives/vendor/radix/react-radio-group/radio-group.js +173 -0
- package/dist/primitives/vendor/radix/react-radio-group/radio-group.js.map +1 -0
- package/dist/primitives/vendor/radix/react-radio-group/radio.d.ts +62 -0
- package/dist/primitives/vendor/radix/react-radio-group/radio.js +150 -0
- package/dist/primitives/vendor/radix/react-radio-group/radio.js.map +1 -0
- package/dist/primitives/vendor/radix/react-roving-focus/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-roving-focus/roving-focus-group.d.ts +47 -0
- package/dist/primitives/vendor/radix/react-roving-focus/roving-focus-group.js +218 -0
- package/dist/primitives/vendor/radix/react-roving-focus/roving-focus-group.js.map +1 -0
- package/dist/primitives/vendor/radix/react-scroll-area/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-scroll-area/scroll-area.d.ts +121 -0
- package/dist/primitives/vendor/radix/react-scroll-area/scroll-area.js +713 -0
- package/dist/primitives/vendor/radix/react-scroll-area/scroll-area.js.map +1 -0
- package/dist/primitives/vendor/radix/react-scroll-area/use-state-machine.d.ts +10 -0
- package/dist/primitives/vendor/radix/react-scroll-area/use-state-machine.js +12 -0
- package/dist/primitives/vendor/radix/react-scroll-area/use-state-machine.js.map +1 -0
- package/dist/primitives/vendor/radix/react-select/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-select/select.d.ts +163 -0
- package/dist/primitives/vendor/radix/react-select/select.js +1040 -0
- package/dist/primitives/vendor/radix/react-select/select.js.map +1 -0
- package/dist/primitives/vendor/radix/react-separator/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-separator/separator.d.ts +20 -0
- package/dist/primitives/vendor/radix/react-separator/separator.js +29 -0
- package/dist/primitives/vendor/radix/react-separator/separator.js.map +1 -0
- package/dist/primitives/vendor/radix/react-slot/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-slot/slot.d.ts +29 -0
- package/dist/primitives/vendor/radix/react-slot/slot.js +107 -0
- package/dist/primitives/vendor/radix/react-slot/slot.js.map +1 -0
- package/dist/primitives/vendor/radix/react-switch/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-switch/switch.d.ts +41 -0
- package/dist/primitives/vendor/radix/react-switch/switch.js +185 -0
- package/dist/primitives/vendor/radix/react-switch/switch.js.map +1 -0
- package/dist/primitives/vendor/radix/react-tabs/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-tabs/tabs.d.ts +54 -0
- package/dist/primitives/vendor/radix/react-tabs/tabs.js +145 -0
- package/dist/primitives/vendor/radix/react-tabs/tabs.js.map +1 -0
- package/dist/primitives/vendor/radix/react-toast/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-toast/toast.d.ts +125 -0
- package/dist/primitives/vendor/radix/react-toast/toast.js +557 -0
- package/dist/primitives/vendor/radix/react-toast/toast.js.map +1 -0
- package/dist/primitives/vendor/radix/react-tooltip/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-tooltip/tooltip.d.ts +99 -0
- package/dist/primitives/vendor/radix/react-tooltip/tooltip.js +503 -0
- package/dist/primitives/vendor/radix/react-tooltip/tooltip.js.map +1 -0
- package/dist/primitives/vendor/radix/react-use-callback-ref/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-use-callback-ref/use-callback-ref.d.ts +6 -0
- package/dist/primitives/vendor/radix/react-use-callback-ref/use-callback-ref.js +18 -0
- package/dist/primitives/vendor/radix/react-use-callback-ref/use-callback-ref.js.map +1 -0
- package/dist/primitives/vendor/radix/react-use-controllable-state/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-use-controllable-state/use-controllable-state-reducer.d.ts +28 -0
- package/dist/primitives/vendor/radix/react-use-controllable-state/use-controllable-state.d.ts +11 -0
- package/dist/primitives/vendor/radix/react-use-controllable-state/use-controllable-state.js +59 -0
- package/dist/primitives/vendor/radix/react-use-controllable-state/use-controllable-state.js.map +1 -0
- package/dist/primitives/vendor/radix/react-use-effect-event/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-use-effect-event/use-effect-event.d.ts +7 -0
- package/dist/primitives/vendor/radix/react-use-is-hydrated/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-use-is-hydrated/use-is-hydrated-legacy.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-use-is-hydrated/use-is-hydrated-legacy.js +18 -0
- package/dist/primitives/vendor/radix/react-use-is-hydrated/use-is-hydrated-legacy.js.map +1 -0
- package/dist/primitives/vendor/radix/react-use-is-hydrated/use-is-hydrated.d.ts +6 -0
- package/dist/primitives/vendor/radix/react-use-is-hydrated/use-is-hydrated.js +19 -0
- package/dist/primitives/vendor/radix/react-use-is-hydrated/use-is-hydrated.js.map +1 -0
- package/dist/primitives/vendor/radix/react-use-layout-effect/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-use-layout-effect/use-layout-effect.d.ts +10 -0
- package/dist/primitives/vendor/radix/react-use-layout-effect/use-layout-effect.js +15 -0
- package/dist/primitives/vendor/radix/react-use-layout-effect/use-layout-effect.js.map +1 -0
- package/dist/primitives/vendor/radix/react-use-previous/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-use-previous/use-previous.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-use-previous/use-previous.js +20 -0
- package/dist/primitives/vendor/radix/react-use-previous/use-previous.js.map +1 -0
- package/dist/primitives/vendor/radix/react-use-size/index.d.ts +1 -0
- package/dist/primitives/vendor/radix/react-use-size/use-size.d.ts +5 -0
- package/dist/primitives/vendor/radix/react-use-size/use-size.js +42 -0
- package/dist/primitives/vendor/radix/react-use-size/use-size.js.map +1 -0
- package/dist/primitives/vendor/radix/react-visually-hidden/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/react-visually-hidden/visually-hidden.d.ts +21 -0
- package/dist/primitives/vendor/radix/react-visually-hidden/visually-hidden.js +32 -0
- package/dist/primitives/vendor/radix/react-visually-hidden/visually-hidden.js.map +1 -0
- package/dist/primitives/vendor/radix/rect/index.d.ts +2 -0
- package/dist/primitives/vendor/radix/rect/observe-element-rect.d.ts +16 -0
- package/dist/styles.css +1 -1
- package/dist/theme.css +36 -17
- package/dist/tokens.d.ts +78 -36
- package/dist/tokens.js +63 -32
- package/dist/tokens.js.map +1 -1
- package/package.json +25 -13
- package/vendor-manifest.json +1101 -0
package/dist/tokens.d.ts
CHANGED
|
@@ -24,33 +24,60 @@ export declare const radius: {
|
|
|
24
24
|
readonly xl: "1rem";
|
|
25
25
|
readonly full: "9999px";
|
|
26
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* Shadows by elevation: xs resting controls, sm cards, md raised cards and
|
|
29
|
+
* tooltips, lg floating surfaces (popovers, menus, toasts), xl modal windows
|
|
30
|
+
* (dialogs, sheets). Borders carry hierarchy; the shadow only says "floating".
|
|
31
|
+
*/
|
|
27
32
|
export declare const shadow: {
|
|
28
33
|
readonly xs: "0 1px 2px rgb(10 8 14 / 0.05)";
|
|
29
34
|
readonly sm: "0 1px 3px rgb(10 8 14 / 0.08), 0 1px 2px rgb(10 8 14 / 0.05)";
|
|
30
35
|
readonly md: "0 10px 30px rgb(10 8 14 / 0.10), 0 2px 8px rgb(10 8 14 / 0.06)";
|
|
36
|
+
readonly lg: "0 16px 48px rgb(0 0 0 / 0.18)";
|
|
37
|
+
readonly xl: "0 24px 80px rgb(0 0 0 / 0.28)";
|
|
31
38
|
readonly focus: "0 0 0 3px color-mix(in srgb, var(--ring) 22%, transparent)";
|
|
32
39
|
};
|
|
33
40
|
export declare const fontSans = "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif";
|
|
34
41
|
export declare const fontMono = "\"JetBrains Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace";
|
|
42
|
+
/**
|
|
43
|
+
* Motion timing, for CSS (theme.css exposes them as --duration-* and
|
|
44
|
+
* --ease-*, and every `transition-*` utility uses fast/standard by default)
|
|
45
|
+
* and for code that animates outside CSS (MUI transitions, JS animation).
|
|
46
|
+
* Things leave faster than they arrive; `emphasis` is for surfaces that
|
|
47
|
+
* change the layout (drawers, dialogs, expanding panels).
|
|
48
|
+
*/
|
|
49
|
+
export declare const duration: {
|
|
50
|
+
readonly fast: 120;
|
|
51
|
+
readonly standard: 180;
|
|
52
|
+
readonly emphasis: 240;
|
|
53
|
+
readonly exit: 140;
|
|
54
|
+
};
|
|
55
|
+
export declare const easing: {
|
|
56
|
+
readonly standard: "cubic-bezier(0.2, 0, 0, 1)";
|
|
57
|
+
readonly emphasized: "cubic-bezier(0.16, 1, 0.3, 1)";
|
|
58
|
+
readonly exit: "cubic-bezier(0.4, 0, 1, 1)";
|
|
59
|
+
/** A drawer's glide: fast start, long settle. */
|
|
60
|
+
readonly drawer: "cubic-bezier(0.32, 0.72, 0, 1)";
|
|
61
|
+
};
|
|
35
62
|
/**
|
|
36
63
|
* Motion. Surfaces enter from where they come from: popovers and menus slide a
|
|
37
64
|
* few pixels from their trigger side (--bl-tx/--bl-ty, set per side by the
|
|
38
|
-
* component), dialogs zoom slightly, sheets glide in with
|
|
39
|
-
* everything leaves faster than it arrived
|
|
40
|
-
* of it off (theme.css).
|
|
65
|
+
* component), dialogs zoom slightly, sheets glide in with the drawer ease, and
|
|
66
|
+
* everything leaves faster than it arrived, all on the duration and easing
|
|
67
|
+
* tokens above. prefers-reduced-motion turns all of it off (theme.css).
|
|
41
68
|
*/
|
|
42
69
|
export declare const motion: {
|
|
43
70
|
readonly animations: {
|
|
44
|
-
readonly in: "bl-in
|
|
71
|
+
readonly in: "bl-in 180ms cubic-bezier(0.16, 1, 0.3, 1)";
|
|
45
72
|
readonly out: "bl-out 140ms cubic-bezier(0.4, 0, 1, 1) forwards";
|
|
46
|
-
readonly 'fade-in': "bl-fade-in
|
|
47
|
-
readonly 'fade-out': "bl-fade-out
|
|
48
|
-
readonly 'sheet-in': "bl-sheet-in
|
|
49
|
-
readonly 'sheet-out': "bl-sheet-out
|
|
50
|
-
readonly 'accordion-down': "bl-accordion-down
|
|
51
|
-
readonly 'accordion-up': "bl-accordion-up
|
|
52
|
-
readonly 'collapsible-down': "bl-collapsible-down
|
|
53
|
-
readonly 'collapsible-up': "bl-collapsible-up
|
|
73
|
+
readonly 'fade-in': "bl-fade-in 180ms cubic-bezier(0.2, 0, 0, 1)";
|
|
74
|
+
readonly 'fade-out': "bl-fade-out 140ms cubic-bezier(0.4, 0, 1, 1) forwards";
|
|
75
|
+
readonly 'sheet-in': "bl-sheet-in 240ms cubic-bezier(0.32, 0.72, 0, 1)";
|
|
76
|
+
readonly 'sheet-out': "bl-sheet-out 180ms cubic-bezier(0.4, 0, 1, 1) forwards";
|
|
77
|
+
readonly 'accordion-down': "bl-accordion-down 180ms cubic-bezier(0.16, 1, 0.3, 1)";
|
|
78
|
+
readonly 'accordion-up': "bl-accordion-up 140ms cubic-bezier(0.4, 0, 1, 1)";
|
|
79
|
+
readonly 'collapsible-down': "bl-collapsible-down 180ms cubic-bezier(0.16, 1, 0.3, 1)";
|
|
80
|
+
readonly 'collapsible-up': "bl-collapsible-up 140ms cubic-bezier(0.4, 0, 1, 1)";
|
|
54
81
|
};
|
|
55
82
|
readonly keyframes: {
|
|
56
83
|
readonly 'bl-in': {
|
|
@@ -120,27 +147,30 @@ export declare const motion: {
|
|
|
120
147
|
};
|
|
121
148
|
};
|
|
122
149
|
/**
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
150
|
+
* Named elevation levels over the shadow scale: 0 flat, 1 resting control,
|
|
151
|
+
* 2 card, 3 raised card or tooltip, 4 floating surface (popover, menu,
|
|
152
|
+
* toast), 5 modal (dialog, sheet).
|
|
126
153
|
*/
|
|
127
|
-
export declare const duration: {
|
|
128
|
-
readonly fast: 120;
|
|
129
|
-
readonly standard: 180;
|
|
130
|
-
readonly emphasis: 240;
|
|
131
|
-
readonly exit: 140;
|
|
132
|
-
};
|
|
133
|
-
export declare const easing: {
|
|
134
|
-
readonly standard: "cubic-bezier(0.2, 0, 0, 1)";
|
|
135
|
-
readonly emphasized: "cubic-bezier(0.16, 1, 0.3, 1)";
|
|
136
|
-
readonly exit: "cubic-bezier(0.4, 0, 1, 1)";
|
|
137
|
-
};
|
|
138
|
-
/** Named elevation levels over the shadow scale: 0 flat, 1 resting control, 2 card, 3 floating. */
|
|
139
154
|
export declare const elevation: {
|
|
140
155
|
readonly 0: "none";
|
|
141
156
|
readonly 1: "0 1px 2px rgb(10 8 14 / 0.05)";
|
|
142
157
|
readonly 2: "0 1px 3px rgb(10 8 14 / 0.08), 0 1px 2px rgb(10 8 14 / 0.05)";
|
|
143
158
|
readonly 3: "0 10px 30px rgb(10 8 14 / 0.10), 0 2px 8px rgb(10 8 14 / 0.06)";
|
|
159
|
+
readonly 4: "0 16px 48px rgb(0 0 0 / 0.18)";
|
|
160
|
+
readonly 5: "0 24px 80px rgb(0 0 0 / 0.28)";
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* Stacking order, so an app's own layers can slot between the kit's: sticky
|
|
164
|
+
* table headers and lifted controls (10), app chrome such as headers and
|
|
165
|
+
* bottom tab bars (40), floating and modal surfaces (50; nesting order comes
|
|
166
|
+
* from DOM order, a popover inside a dialog is appended later and sits above
|
|
167
|
+
* it), toasts (100), which stay visible over a dialog.
|
|
168
|
+
*/
|
|
169
|
+
export declare const layer: {
|
|
170
|
+
readonly raised: 10;
|
|
171
|
+
readonly chrome: 40;
|
|
172
|
+
readonly overlay: 50;
|
|
173
|
+
readonly toast: 100;
|
|
144
174
|
};
|
|
145
175
|
export type AccentTokens = Pick<Palette, 'primary' | 'primary-foreground' | 'brand' | 'brand-hover' | 'brand-soft' | 'brand-soft-foreground' | 'accent' | 'accent-foreground' | 'ring'>;
|
|
146
176
|
/** Mix `a` toward `b` by `t` (0 = a, 1 = b), in sRGB. */
|
|
@@ -170,6 +200,8 @@ export declare const tokens: {
|
|
|
170
200
|
readonly xs: "0 1px 2px rgb(10 8 14 / 0.05)";
|
|
171
201
|
readonly sm: "0 1px 3px rgb(10 8 14 / 0.08), 0 1px 2px rgb(10 8 14 / 0.05)";
|
|
172
202
|
readonly md: "0 10px 30px rgb(10 8 14 / 0.10), 0 2px 8px rgb(10 8 14 / 0.06)";
|
|
203
|
+
readonly lg: "0 16px 48px rgb(0 0 0 / 0.18)";
|
|
204
|
+
readonly xl: "0 24px 80px rgb(0 0 0 / 0.28)";
|
|
173
205
|
readonly focus: "0 0 0 3px color-mix(in srgb, var(--ring) 22%, transparent)";
|
|
174
206
|
};
|
|
175
207
|
readonly elevation: {
|
|
@@ -177,19 +209,27 @@ export declare const tokens: {
|
|
|
177
209
|
readonly 1: "0 1px 2px rgb(10 8 14 / 0.05)";
|
|
178
210
|
readonly 2: "0 1px 3px rgb(10 8 14 / 0.08), 0 1px 2px rgb(10 8 14 / 0.05)";
|
|
179
211
|
readonly 3: "0 10px 30px rgb(10 8 14 / 0.10), 0 2px 8px rgb(10 8 14 / 0.06)";
|
|
212
|
+
readonly 4: "0 16px 48px rgb(0 0 0 / 0.18)";
|
|
213
|
+
readonly 5: "0 24px 80px rgb(0 0 0 / 0.28)";
|
|
214
|
+
};
|
|
215
|
+
readonly layer: {
|
|
216
|
+
readonly raised: 10;
|
|
217
|
+
readonly chrome: 40;
|
|
218
|
+
readonly overlay: 50;
|
|
219
|
+
readonly toast: 100;
|
|
180
220
|
};
|
|
181
221
|
readonly motion: {
|
|
182
222
|
readonly animations: {
|
|
183
|
-
readonly in: "bl-in
|
|
223
|
+
readonly in: "bl-in 180ms cubic-bezier(0.16, 1, 0.3, 1)";
|
|
184
224
|
readonly out: "bl-out 140ms cubic-bezier(0.4, 0, 1, 1) forwards";
|
|
185
|
-
readonly 'fade-in': "bl-fade-in
|
|
186
|
-
readonly 'fade-out': "bl-fade-out
|
|
187
|
-
readonly 'sheet-in': "bl-sheet-in
|
|
188
|
-
readonly 'sheet-out': "bl-sheet-out
|
|
189
|
-
readonly 'accordion-down': "bl-accordion-down
|
|
190
|
-
readonly 'accordion-up': "bl-accordion-up
|
|
191
|
-
readonly 'collapsible-down': "bl-collapsible-down
|
|
192
|
-
readonly 'collapsible-up': "bl-collapsible-up
|
|
225
|
+
readonly 'fade-in': "bl-fade-in 180ms cubic-bezier(0.2, 0, 0, 1)";
|
|
226
|
+
readonly 'fade-out': "bl-fade-out 140ms cubic-bezier(0.4, 0, 1, 1) forwards";
|
|
227
|
+
readonly 'sheet-in': "bl-sheet-in 240ms cubic-bezier(0.32, 0.72, 0, 1)";
|
|
228
|
+
readonly 'sheet-out': "bl-sheet-out 180ms cubic-bezier(0.4, 0, 1, 1) forwards";
|
|
229
|
+
readonly 'accordion-down': "bl-accordion-down 180ms cubic-bezier(0.16, 1, 0.3, 1)";
|
|
230
|
+
readonly 'accordion-up': "bl-accordion-up 140ms cubic-bezier(0.4, 0, 1, 1)";
|
|
231
|
+
readonly 'collapsible-down': "bl-collapsible-down 180ms cubic-bezier(0.16, 1, 0.3, 1)";
|
|
232
|
+
readonly 'collapsible-up': "bl-collapsible-up 140ms cubic-bezier(0.4, 0, 1, 1)";
|
|
193
233
|
};
|
|
194
234
|
readonly keyframes: {
|
|
195
235
|
readonly 'bl-in': {
|
|
@@ -268,6 +308,8 @@ export declare const tokens: {
|
|
|
268
308
|
readonly standard: "cubic-bezier(0.2, 0, 0, 1)";
|
|
269
309
|
readonly emphasized: "cubic-bezier(0.16, 1, 0.3, 1)";
|
|
270
310
|
readonly exit: "cubic-bezier(0.4, 0, 1, 1)";
|
|
311
|
+
/** A drawer's glide: fast start, long settle. */
|
|
312
|
+
readonly drawer: "cubic-bezier(0.32, 0.72, 0, 1)";
|
|
271
313
|
};
|
|
272
314
|
readonly fontSans: "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif";
|
|
273
315
|
readonly fontMono: "\"JetBrains Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace";
|
package/dist/tokens.js
CHANGED
|
@@ -31,7 +31,7 @@ var light = {
|
|
|
31
31
|
"recording-foreground": "#ffffff",
|
|
32
32
|
border: "#e5dfe8",
|
|
33
33
|
"border-strong": "#cfc5d5",
|
|
34
|
-
input: "#
|
|
34
|
+
input: "#908a95",
|
|
35
35
|
ring: "#a60ee5",
|
|
36
36
|
brand: "#a60ee5",
|
|
37
37
|
"brand-hover": "#8f0bc7",
|
|
@@ -70,7 +70,7 @@ var dark = {
|
|
|
70
70
|
"recording-foreground": "#1b090b",
|
|
71
71
|
border: "#2a2732",
|
|
72
72
|
"border-strong": "#403a49",
|
|
73
|
-
input: "#
|
|
73
|
+
input: "#68646e",
|
|
74
74
|
ring: "#c65ef1",
|
|
75
75
|
brand: "#c65ef1",
|
|
76
76
|
"brand-hover": "#d384f3",
|
|
@@ -87,33 +87,60 @@ var radius = {
|
|
|
87
87
|
xl: "1rem",
|
|
88
88
|
full: "9999px"
|
|
89
89
|
};
|
|
90
|
+
/**
|
|
91
|
+
* Shadows by elevation: xs resting controls, sm cards, md raised cards and
|
|
92
|
+
* tooltips, lg floating surfaces (popovers, menus, toasts), xl modal windows
|
|
93
|
+
* (dialogs, sheets). Borders carry hierarchy; the shadow only says "floating".
|
|
94
|
+
*/
|
|
90
95
|
var shadow = {
|
|
91
96
|
xs: "0 1px 2px rgb(10 8 14 / 0.05)",
|
|
92
97
|
sm: "0 1px 3px rgb(10 8 14 / 0.08), 0 1px 2px rgb(10 8 14 / 0.05)",
|
|
93
98
|
md: "0 10px 30px rgb(10 8 14 / 0.10), 0 2px 8px rgb(10 8 14 / 0.06)",
|
|
99
|
+
lg: "0 16px 48px rgb(0 0 0 / 0.18)",
|
|
100
|
+
xl: "0 24px 80px rgb(0 0 0 / 0.28)",
|
|
94
101
|
focus: "0 0 0 3px color-mix(in srgb, var(--ring) 22%, transparent)"
|
|
95
102
|
};
|
|
96
103
|
var fontSans = "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif";
|
|
97
104
|
var fontMono = "\"JetBrains Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace";
|
|
98
105
|
/**
|
|
106
|
+
* Motion timing, for CSS (theme.css exposes them as --duration-* and
|
|
107
|
+
* --ease-*, and every `transition-*` utility uses fast/standard by default)
|
|
108
|
+
* and for code that animates outside CSS (MUI transitions, JS animation).
|
|
109
|
+
* Things leave faster than they arrive; `emphasis` is for surfaces that
|
|
110
|
+
* change the layout (drawers, dialogs, expanding panels).
|
|
111
|
+
*/
|
|
112
|
+
var duration = {
|
|
113
|
+
fast: 120,
|
|
114
|
+
standard: 180,
|
|
115
|
+
emphasis: 240,
|
|
116
|
+
exit: 140
|
|
117
|
+
};
|
|
118
|
+
var easing = {
|
|
119
|
+
standard: "cubic-bezier(0.2, 0, 0, 1)",
|
|
120
|
+
emphasized: "cubic-bezier(0.16, 1, 0.3, 1)",
|
|
121
|
+
exit: "cubic-bezier(0.4, 0, 1, 1)",
|
|
122
|
+
/** A drawer's glide: fast start, long settle. */
|
|
123
|
+
drawer: "cubic-bezier(0.32, 0.72, 0, 1)"
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
99
126
|
* Motion. Surfaces enter from where they come from: popovers and menus slide a
|
|
100
127
|
* few pixels from their trigger side (--bl-tx/--bl-ty, set per side by the
|
|
101
|
-
* component), dialogs zoom slightly, sheets glide in with
|
|
102
|
-
* everything leaves faster than it arrived
|
|
103
|
-
* of it off (theme.css).
|
|
128
|
+
* component), dialogs zoom slightly, sheets glide in with the drawer ease, and
|
|
129
|
+
* everything leaves faster than it arrived, all on the duration and easing
|
|
130
|
+
* tokens above. prefers-reduced-motion turns all of it off (theme.css).
|
|
104
131
|
*/
|
|
105
132
|
var motion = {
|
|
106
133
|
animations: {
|
|
107
|
-
in:
|
|
108
|
-
out:
|
|
109
|
-
"fade-in":
|
|
110
|
-
"fade-out":
|
|
111
|
-
"sheet-in":
|
|
112
|
-
"sheet-out":
|
|
113
|
-
"accordion-down":
|
|
114
|
-
"accordion-up":
|
|
115
|
-
"collapsible-down":
|
|
116
|
-
"collapsible-up":
|
|
134
|
+
in: `bl-in ${duration.standard}ms ${easing.emphasized}`,
|
|
135
|
+
out: `bl-out ${duration.exit}ms ${easing.exit} forwards`,
|
|
136
|
+
"fade-in": `bl-fade-in ${duration.standard}ms ${easing.standard}`,
|
|
137
|
+
"fade-out": `bl-fade-out ${duration.exit}ms ${easing.exit} forwards`,
|
|
138
|
+
"sheet-in": `bl-sheet-in ${duration.emphasis}ms ${easing.drawer}`,
|
|
139
|
+
"sheet-out": `bl-sheet-out ${duration.standard}ms ${easing.exit} forwards`,
|
|
140
|
+
"accordion-down": `bl-accordion-down ${duration.standard}ms ${easing.emphasized}`,
|
|
141
|
+
"accordion-up": `bl-accordion-up ${duration.exit}ms ${easing.exit}`,
|
|
142
|
+
"collapsible-down": `bl-collapsible-down ${duration.standard}ms ${easing.emphasized}`,
|
|
143
|
+
"collapsible-up": `bl-collapsible-up ${duration.exit}ms ${easing.exit}`
|
|
117
144
|
},
|
|
118
145
|
keyframes: {
|
|
119
146
|
"bl-in": { from: {
|
|
@@ -147,27 +174,30 @@ var motion = {
|
|
|
147
174
|
}
|
|
148
175
|
};
|
|
149
176
|
/**
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
177
|
+
* Named elevation levels over the shadow scale: 0 flat, 1 resting control,
|
|
178
|
+
* 2 card, 3 raised card or tooltip, 4 floating surface (popover, menu,
|
|
179
|
+
* toast), 5 modal (dialog, sheet).
|
|
153
180
|
*/
|
|
154
|
-
var duration = {
|
|
155
|
-
fast: 120,
|
|
156
|
-
standard: 180,
|
|
157
|
-
emphasis: 240,
|
|
158
|
-
exit: 140
|
|
159
|
-
};
|
|
160
|
-
var easing = {
|
|
161
|
-
standard: "cubic-bezier(0.2, 0, 0, 1)",
|
|
162
|
-
emphasized: "cubic-bezier(0.16, 1, 0.3, 1)",
|
|
163
|
-
exit: "cubic-bezier(0.4, 0, 1, 1)"
|
|
164
|
-
};
|
|
165
|
-
/** Named elevation levels over the shadow scale: 0 flat, 1 resting control, 2 card, 3 floating. */
|
|
166
181
|
var elevation = {
|
|
167
182
|
0: "none",
|
|
168
183
|
1: shadow.xs,
|
|
169
184
|
2: shadow.sm,
|
|
170
|
-
3: shadow.md
|
|
185
|
+
3: shadow.md,
|
|
186
|
+
4: shadow.lg,
|
|
187
|
+
5: shadow.xl
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* Stacking order, so an app's own layers can slot between the kit's: sticky
|
|
191
|
+
* table headers and lifted controls (10), app chrome such as headers and
|
|
192
|
+
* bottom tab bars (40), floating and modal surfaces (50; nesting order comes
|
|
193
|
+
* from DOM order, a popover inside a dialog is appended later and sits above
|
|
194
|
+
* it), toasts (100), which stay visible over a dialog.
|
|
195
|
+
*/
|
|
196
|
+
var layer = {
|
|
197
|
+
raised: 10,
|
|
198
|
+
chrome: 40,
|
|
199
|
+
overlay: 50,
|
|
200
|
+
toast: 100
|
|
171
201
|
};
|
|
172
202
|
function parseHex(hex) {
|
|
173
203
|
const h = hex.replace("#", "").trim();
|
|
@@ -242,6 +272,7 @@ var tokens = {
|
|
|
242
272
|
radius,
|
|
243
273
|
shadow,
|
|
244
274
|
elevation,
|
|
275
|
+
layer,
|
|
245
276
|
motion,
|
|
246
277
|
duration,
|
|
247
278
|
easing,
|
|
@@ -249,6 +280,6 @@ var tokens = {
|
|
|
249
280
|
fontMono
|
|
250
281
|
};
|
|
251
282
|
//#endregion
|
|
252
|
-
export { accentTokens, brand, contrast, dark, tokens as default, tokens, duration, easing, elevation, fontMono, fontSans, light, mix, motion, radius, shadow };
|
|
283
|
+
export { accentTokens, brand, contrast, dark, tokens as default, tokens, duration, easing, elevation, fontMono, fontSans, layer, light, mix, motion, radius, shadow };
|
|
253
284
|
|
|
254
285
|
//# sourceMappingURL=tokens.js.map
|
package/dist/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","names":[],"sources":["../src/tokens.ts"],"sourcesContent":["/**\n * Burtson UI design tokens. This file is the single source for colour, radius,\n * shadow and type: `scripts/theme.mjs` writes src/styles/theme.css from it, and the\n * MUI adapter (`@burtson-labs/ui/mui`) builds its palette from it, so Tailwind\n * apps and MUI apps render the same brand.\n *\n * Burtson's design language: technical, quiet, precise. Purple (`brand`) is a\n * signal colour for selection, focus, primary actions and small accents, not a\n * panel fill. Dark is a first-class palette, not an inversion of light. The\n * base colour names stay registry-compatible, so source copied into an app\n * keeps working.\n */\n\nexport type ColorToken =\n | 'background'\n | 'foreground'\n | 'surface'\n | 'surface-raised'\n | 'surface-muted'\n | 'card'\n | 'card-foreground'\n | 'popover'\n | 'popover-foreground'\n | 'primary'\n | 'primary-foreground'\n | 'secondary'\n | 'secondary-foreground'\n | 'muted'\n | 'muted-foreground'\n | 'accent'\n | 'accent-foreground'\n | 'destructive'\n | 'destructive-foreground'\n | 'success'\n | 'success-foreground'\n | 'warning'\n | 'warning-foreground'\n | 'info'\n | 'info-foreground'\n | 'recording'\n | 'recording-foreground'\n | 'border'\n | 'border-strong'\n | 'input'\n | 'ring'\n | 'brand'\n | 'brand-hover'\n | 'brand-soft'\n | 'brand-soft-foreground'\n | 'code'\n | 'code-foreground';\n\nexport type Palette = Record<ColorToken, string>;\n\n/** Burtson Labs purple. Use as signal, not wallpaper. */\nexport const brand = '#a60ee5';\n\nexport const light: Palette = {\n background: '#fbfafc',\n foreground: '#17131c',\n surface: '#ffffff',\n 'surface-raised': '#ffffff',\n 'surface-muted': '#f7f4f9',\n card: '#ffffff',\n 'card-foreground': '#17131c',\n popover: '#ffffff',\n 'popover-foreground': '#17131c',\n primary: '#8f0bc7',\n 'primary-foreground': '#ffffff',\n secondary: '#f1edf4',\n 'secondary-foreground': '#29212f',\n muted: '#f4f1f6',\n 'muted-foreground': '#6c6472',\n accent: '#f3e7fb',\n 'accent-foreground': '#561071',\n destructive: '#c92d3f',\n 'destructive-foreground': '#ffffff',\n success: '#0e7a56',\n 'success-foreground': '#ffffff',\n warning: '#9b5c08',\n 'warning-foreground': '#ffffff',\n info: '#2563eb',\n 'info-foreground': '#ffffff',\n // Live microphone capture. Red by convention, but its own token: recording\n // is a state, not an error, and apps can retint it without touching errors.\n recording: '#d6293e',\n 'recording-foreground': '#ffffff',\n border: '#e5dfe8',\n 'border-strong': '#cfc5d5',\n input: '#d8cfdd',\n ring: '#a60ee5',\n brand: '#a60ee5',\n 'brand-hover': '#8f0bc7',\n 'brand-soft': '#f5e8fc',\n 'brand-soft-foreground': '#5b1476',\n code: '#18141d',\n 'code-foreground': '#f5f0f7',\n};\n\nexport const dark: Palette = {\n background: '#0d0d12',\n foreground: '#f2eef5',\n surface: '#121218',\n 'surface-raised': '#18171f',\n 'surface-muted': '#17151c',\n card: '#14131a',\n 'card-foreground': '#f2eef5',\n popover: '#18171f',\n 'popover-foreground': '#f2eef5',\n primary: '#8f0bc7',\n 'primary-foreground': '#ffffff',\n secondary: '#211e28',\n 'secondary-foreground': '#e7e0eb',\n muted: '#1b1921',\n 'muted-foreground': '#a49ca9',\n accent: '#291734',\n 'accent-foreground': '#efd7fa',\n destructive: '#ef5b65',\n 'destructive-foreground': '#1b090b',\n success: '#36c58d',\n 'success-foreground': '#07160f',\n warning: '#f3b24c',\n 'warning-foreground': '#201304',\n info: '#6ea8ff',\n 'info-foreground': '#071226',\n recording: '#f2616d',\n 'recording-foreground': '#1b090b',\n border: '#2a2732',\n 'border-strong': '#403a49',\n input: '#34303d',\n ring: '#c65ef1',\n brand: '#c65ef1',\n 'brand-hover': '#d384f3',\n 'brand-soft': '#291734',\n 'brand-soft-foreground': '#efd7fa',\n code: '#09090d',\n 'code-foreground': '#f5f0f7',\n};\n\nexport const radius = {\n xs: '0.375rem',\n sm: '0.5rem',\n md: '0.625rem',\n lg: '0.75rem',\n xl: '1rem',\n full: '9999px',\n} as const;\n\nexport const shadow = {\n xs: '0 1px 2px rgb(10 8 14 / 0.05)',\n sm: '0 1px 3px rgb(10 8 14 / 0.08), 0 1px 2px rgb(10 8 14 / 0.05)',\n md: '0 10px 30px rgb(10 8 14 / 0.10), 0 2px 8px rgb(10 8 14 / 0.06)',\n focus: '0 0 0 3px color-mix(in srgb, var(--ring) 22%, transparent)',\n} as const;\n\nexport const fontSans =\n 'Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif';\nexport const fontMono =\n '\"JetBrains Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace';\n\n/**\n * Motion. Surfaces enter from where they come from: popovers and menus slide a\n * few pixels from their trigger side (--bl-tx/--bl-ty, set per side by the\n * component), dialogs zoom slightly, sheets glide in with a drawer ease, and\n * everything leaves faster than it arrived. prefers-reduced-motion turns all\n * of it off (theme.css).\n */\nexport const motion = {\n animations: {\n in: 'bl-in 200ms cubic-bezier(0.16, 1, 0.3, 1)',\n out: 'bl-out 140ms cubic-bezier(0.4, 0, 1, 1) forwards',\n 'fade-in': 'bl-fade-in 200ms ease-out',\n 'fade-out': 'bl-fade-out 150ms ease-in forwards',\n 'sheet-in': 'bl-sheet-in 340ms cubic-bezier(0.32, 0.72, 0, 1)',\n 'sheet-out': 'bl-sheet-out 220ms cubic-bezier(0.4, 0, 1, 1) forwards',\n 'accordion-down': 'bl-accordion-down 200ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'accordion-up': 'bl-accordion-up 160ms ease-out',\n 'collapsible-down': 'bl-collapsible-down 200ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'collapsible-up': 'bl-collapsible-up 160ms ease-out',\n },\n keyframes: {\n 'bl-in': {\n from: {\n opacity: '0',\n transform: 'translate3d(var(--bl-tx, 0), var(--bl-ty, 0), 0) scale(var(--bl-scale, 0.96))',\n },\n },\n 'bl-out': {\n to: {\n opacity: '0',\n transform: 'translate3d(var(--bl-tx, 0), var(--bl-ty, 0), 0) scale(var(--bl-scale, 0.96))',\n },\n },\n 'bl-fade-in': { from: { opacity: '0' } },\n 'bl-fade-out': { to: { opacity: '0' } },\n 'bl-sheet-in': {\n from: { transform: 'translate3d(var(--bl-sheet-x, 100%), var(--bl-sheet-y, 0), 0)' },\n },\n 'bl-sheet-out': {\n to: { transform: 'translate3d(var(--bl-sheet-x, 100%), var(--bl-sheet-y, 0), 0)' },\n },\n 'bl-accordion-down': {\n from: { height: '0' },\n to: { height: 'var(--radix-accordion-content-height)' },\n },\n 'bl-accordion-up': {\n from: { height: 'var(--radix-accordion-content-height)' },\n to: { height: '0' },\n },\n 'bl-collapsible-down': {\n from: { height: '0' },\n to: { height: 'var(--radix-collapsible-content-height)' },\n },\n 'bl-collapsible-up': {\n from: { height: 'var(--radix-collapsible-content-height)' },\n to: { height: '0' },\n },\n },\n} as const;\n\n/**\n * Motion timing for code that animates outside CSS (MUI transitions, JS\n * animation). Things leave faster than they arrive; `emphasis` is for\n * surfaces that change the layout (drawers, dialogs, expanding panels).\n */\nexport const duration = { fast: 120, standard: 180, emphasis: 240, exit: 140 } as const;\nexport const easing = {\n standard: 'cubic-bezier(0.2, 0, 0, 1)',\n emphasized: 'cubic-bezier(0.16, 1, 0.3, 1)',\n exit: 'cubic-bezier(0.4, 0, 1, 1)',\n} as const;\n\n/** Named elevation levels over the shadow scale: 0 flat, 1 resting control, 2 card, 3 floating. */\nexport const elevation = { 0: 'none', 1: shadow.xs, 2: shadow.sm, 3: shadow.md } as const;\n\n// ─── Accent ────────────────────────────────────────────────────────────────\n\nexport type AccentTokens = Pick<\n Palette,\n | 'primary'\n | 'primary-foreground'\n | 'brand'\n | 'brand-hover'\n | 'brand-soft'\n | 'brand-soft-foreground'\n | 'accent'\n | 'accent-foreground'\n | 'ring'\n>;\n\ntype Rgb = [number, number, number];\n\nfunction parseHex(hex: string): Rgb {\n const h = hex.replace('#', '').trim();\n const full = h.length === 3 ? [...h].map((c) => c + c).join('') : h.slice(0, 6);\n if (!/^[0-9a-f]{6}$/i.test(full)) throw new Error(`Not a hex colour: ${hex}`);\n return [0, 2, 4].map((i) => parseInt(full.slice(i, i + 2), 16)) as Rgb;\n}\n\nconst toHex = (rgb: Rgb) =>\n '#' +\n rgb\n .map((v) =>\n Math.round(Math.max(0, Math.min(255, v)))\n .toString(16)\n .padStart(2, '0'),\n )\n .join('');\n\n/** Mix `a` toward `b` by `t` (0 = a, 1 = b), in sRGB. */\nexport function mix(a: string, b: string, t: number): string {\n const x = parseHex(a);\n const y = parseHex(b);\n return toHex([0, 1, 2].map((i) => x[i]! + (y[i]! - x[i]!) * t) as Rgb);\n}\n\nfunction luminance(hex: string): number {\n const c = parseHex(hex).map((v) => {\n const s = v / 255;\n return s <= 0.03928 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * c[0]! + 0.7152 * c[1]! + 0.0722 * c[2]!;\n}\n\n/** WCAG contrast ratio between two hex colours. */\nexport function contrast(a: string, b: string): number {\n const [hi, lo] = [luminance(a), luminance(b)].sort((m, n) => n - m) as [number, number];\n return (hi + 0.05) / (lo + 0.05);\n}\n\n/** Step `color` toward `target` until it reaches `ratio` against `against`. */\nfunction ensureContrast(color: string, against: string, ratio: number, target: string): string {\n let c = color;\n for (let i = 0; i < 20 && contrast(c, against) < ratio; i++) c = mix(c, target, 0.1);\n return c;\n}\n\n/**\n * Brand tokens for any accent colour, kept legible: the primary fill always\n * carries its foreground at 4.5:1, and the brand colour used for links, focus\n * and selected text reads at 4.5:1 on the page background. Tenants and skins\n * choose an accent; they never choose the contrast.\n */\nexport function accentTokens(accent: string, mode: 'light' | 'dark'): AccentTokens {\n const p = mode === 'dark' ? dark : light;\n const white = '#ffffff';\n // A dark foreground on light fills (yellow, cyan) instead of forcing white.\n // White text on the fill whenever darkening the accent a little gets there\n // (purples, blues, greens, reds: the usual brand colours, which read as the\n // brand when they carry white). Dark text only for genuinely light accents\n // such as yellow or pale cyan, where white would need the colour ruined.\n const onFill = contrast(accent, white) >= 2.6 ? white : '#111111';\n const primary =\n onFill === white\n ? ensureContrast(accent, white, 4.5, '#000000')\n : ensureContrast(accent, '#111111', 4.5, white);\n const brand =\n mode === 'dark'\n ? ensureContrast(mix(accent, white, 0.12), p.background, 4.5, white)\n : ensureContrast(accent, p.background, 4.5, '#000000');\n const brandHover = mode === 'dark' ? mix(brand, white, 0.18) : mix(brand, '#000000', 0.14);\n const soft = mode === 'dark' ? mix(p.background, accent, 0.16) : mix(white, accent, 0.1);\n const softFg = mode === 'dark' ? mix(accent, white, 0.72) : mix(accent, '#000000', 0.55);\n return {\n primary,\n 'primary-foreground': onFill,\n brand,\n 'brand-hover': brandHover,\n 'brand-soft': soft,\n 'brand-soft-foreground': ensureContrast(softFg, soft, 4.5, mode === 'dark' ? white : '#000000'),\n accent: soft,\n 'accent-foreground': ensureContrast(softFg, soft, 4.5, mode === 'dark' ? white : '#000000'),\n ring: brand,\n };\n}\n\nexport const tokens = {\n brand,\n light,\n dark,\n radius,\n shadow,\n elevation,\n motion,\n duration,\n easing,\n fontSans,\n fontMono,\n} as const;\nexport default tokens;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tokens.js","names":[],"sources":["../src/tokens.ts"],"sourcesContent":["/**\n * Burtson UI design tokens. This file is the single source for colour, radius,\n * shadow and type: `scripts/theme.mjs` writes src/styles/theme.css from it, and the\n * MUI adapter (`@burtson-labs/ui/mui`) builds its palette from it, so Tailwind\n * apps and MUI apps render the same brand.\n *\n * Burtson's design language: technical, quiet, precise. Purple (`brand`) is a\n * signal colour for selection, focus, primary actions and small accents, not a\n * panel fill. Dark is a first-class palette, not an inversion of light. The\n * base colour names stay registry-compatible, so source copied into an app\n * keeps working.\n */\n\nexport type ColorToken =\n | 'background'\n | 'foreground'\n | 'surface'\n | 'surface-raised'\n | 'surface-muted'\n | 'card'\n | 'card-foreground'\n | 'popover'\n | 'popover-foreground'\n | 'primary'\n | 'primary-foreground'\n | 'secondary'\n | 'secondary-foreground'\n | 'muted'\n | 'muted-foreground'\n | 'accent'\n | 'accent-foreground'\n | 'destructive'\n | 'destructive-foreground'\n | 'success'\n | 'success-foreground'\n | 'warning'\n | 'warning-foreground'\n | 'info'\n | 'info-foreground'\n | 'recording'\n | 'recording-foreground'\n | 'border'\n | 'border-strong'\n | 'input'\n | 'ring'\n | 'brand'\n | 'brand-hover'\n | 'brand-soft'\n | 'brand-soft-foreground'\n | 'code'\n | 'code-foreground';\n\nexport type Palette = Record<ColorToken, string>;\n\n/** Burtson Labs purple. Use as signal, not wallpaper. */\nexport const brand = '#a60ee5';\n\nexport const light: Palette = {\n background: '#fbfafc',\n foreground: '#17131c',\n surface: '#ffffff',\n 'surface-raised': '#ffffff',\n 'surface-muted': '#f7f4f9',\n card: '#ffffff',\n 'card-foreground': '#17131c',\n popover: '#ffffff',\n 'popover-foreground': '#17131c',\n primary: '#8f0bc7',\n 'primary-foreground': '#ffffff',\n secondary: '#f1edf4',\n 'secondary-foreground': '#29212f',\n muted: '#f4f1f6',\n 'muted-foreground': '#6c6472',\n accent: '#f3e7fb',\n 'accent-foreground': '#561071',\n destructive: '#c92d3f',\n 'destructive-foreground': '#ffffff',\n success: '#0e7a56',\n 'success-foreground': '#ffffff',\n warning: '#9b5c08',\n 'warning-foreground': '#ffffff',\n info: '#2563eb',\n 'info-foreground': '#ffffff',\n // Live microphone capture. Red by convention, but its own token: recording\n // is a state, not an error, and apps can retint it without touching errors.\n recording: '#d6293e',\n 'recording-foreground': '#ffffff',\n border: '#e5dfe8',\n 'border-strong': '#cfc5d5',\n // The field border: 3:1 on every light surface (WCAG 1.4.11), so a field\n // is identifiable by its outline alone. Also the unchecked box, dot and\n // off track of Checkbox, RadioGroup and Switch.\n input: '#908a95',\n ring: '#a60ee5',\n brand: '#a60ee5',\n 'brand-hover': '#8f0bc7',\n 'brand-soft': '#f5e8fc',\n 'brand-soft-foreground': '#5b1476',\n code: '#18141d',\n 'code-foreground': '#f5f0f7',\n};\n\nexport const dark: Palette = {\n background: '#0d0d12',\n foreground: '#f2eef5',\n surface: '#121218',\n 'surface-raised': '#18171f',\n 'surface-muted': '#17151c',\n card: '#14131a',\n 'card-foreground': '#f2eef5',\n popover: '#18171f',\n 'popover-foreground': '#f2eef5',\n primary: '#8f0bc7',\n 'primary-foreground': '#ffffff',\n secondary: '#211e28',\n 'secondary-foreground': '#e7e0eb',\n muted: '#1b1921',\n 'muted-foreground': '#a49ca9',\n accent: '#291734',\n 'accent-foreground': '#efd7fa',\n destructive: '#ef5b65',\n 'destructive-foreground': '#1b090b',\n success: '#36c58d',\n 'success-foreground': '#07160f',\n warning: '#f3b24c',\n 'warning-foreground': '#201304',\n info: '#6ea8ff',\n 'info-foreground': '#071226',\n recording: '#f2616d',\n 'recording-foreground': '#1b090b',\n border: '#2a2732',\n 'border-strong': '#403a49',\n input: '#68646e',\n ring: '#c65ef1',\n brand: '#c65ef1',\n 'brand-hover': '#d384f3',\n 'brand-soft': '#291734',\n 'brand-soft-foreground': '#efd7fa',\n code: '#09090d',\n 'code-foreground': '#f5f0f7',\n};\n\nexport const radius = {\n xs: '0.375rem',\n sm: '0.5rem',\n md: '0.625rem',\n lg: '0.75rem',\n xl: '1rem',\n full: '9999px',\n} as const;\n\n/**\n * Shadows by elevation: xs resting controls, sm cards, md raised cards and\n * tooltips, lg floating surfaces (popovers, menus, toasts), xl modal windows\n * (dialogs, sheets). Borders carry hierarchy; the shadow only says \"floating\".\n */\nexport const shadow = {\n xs: '0 1px 2px rgb(10 8 14 / 0.05)',\n sm: '0 1px 3px rgb(10 8 14 / 0.08), 0 1px 2px rgb(10 8 14 / 0.05)',\n md: '0 10px 30px rgb(10 8 14 / 0.10), 0 2px 8px rgb(10 8 14 / 0.06)',\n lg: '0 16px 48px rgb(0 0 0 / 0.18)',\n xl: '0 24px 80px rgb(0 0 0 / 0.28)',\n focus: '0 0 0 3px color-mix(in srgb, var(--ring) 22%, transparent)',\n} as const;\n\nexport const fontSans =\n 'Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif';\nexport const fontMono =\n '\"JetBrains Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace';\n\n/**\n * Motion timing, for CSS (theme.css exposes them as --duration-* and\n * --ease-*, and every `transition-*` utility uses fast/standard by default)\n * and for code that animates outside CSS (MUI transitions, JS animation).\n * Things leave faster than they arrive; `emphasis` is for surfaces that\n * change the layout (drawers, dialogs, expanding panels).\n */\nexport const duration = { fast: 120, standard: 180, emphasis: 240, exit: 140 } as const;\nexport const easing = {\n standard: 'cubic-bezier(0.2, 0, 0, 1)',\n emphasized: 'cubic-bezier(0.16, 1, 0.3, 1)',\n exit: 'cubic-bezier(0.4, 0, 1, 1)',\n /** A drawer's glide: fast start, long settle. */\n drawer: 'cubic-bezier(0.32, 0.72, 0, 1)',\n} as const;\n\n/**\n * Motion. Surfaces enter from where they come from: popovers and menus slide a\n * few pixels from their trigger side (--bl-tx/--bl-ty, set per side by the\n * component), dialogs zoom slightly, sheets glide in with the drawer ease, and\n * everything leaves faster than it arrived, all on the duration and easing\n * tokens above. prefers-reduced-motion turns all of it off (theme.css).\n */\nexport const motion = {\n animations: {\n in: `bl-in ${duration.standard}ms ${easing.emphasized}`,\n out: `bl-out ${duration.exit}ms ${easing.exit} forwards`,\n 'fade-in': `bl-fade-in ${duration.standard}ms ${easing.standard}`,\n 'fade-out': `bl-fade-out ${duration.exit}ms ${easing.exit} forwards`,\n 'sheet-in': `bl-sheet-in ${duration.emphasis}ms ${easing.drawer}`,\n 'sheet-out': `bl-sheet-out ${duration.standard}ms ${easing.exit} forwards`,\n 'accordion-down': `bl-accordion-down ${duration.standard}ms ${easing.emphasized}`,\n 'accordion-up': `bl-accordion-up ${duration.exit}ms ${easing.exit}`,\n 'collapsible-down': `bl-collapsible-down ${duration.standard}ms ${easing.emphasized}`,\n 'collapsible-up': `bl-collapsible-up ${duration.exit}ms ${easing.exit}`,\n },\n keyframes: {\n 'bl-in': {\n from: {\n opacity: '0',\n transform: 'translate3d(var(--bl-tx, 0), var(--bl-ty, 0), 0) scale(var(--bl-scale, 0.96))',\n },\n },\n 'bl-out': {\n to: {\n opacity: '0',\n transform: 'translate3d(var(--bl-tx, 0), var(--bl-ty, 0), 0) scale(var(--bl-scale, 0.96))',\n },\n },\n 'bl-fade-in': { from: { opacity: '0' } },\n 'bl-fade-out': { to: { opacity: '0' } },\n 'bl-sheet-in': {\n from: { transform: 'translate3d(var(--bl-sheet-x, 100%), var(--bl-sheet-y, 0), 0)' },\n },\n 'bl-sheet-out': {\n to: { transform: 'translate3d(var(--bl-sheet-x, 100%), var(--bl-sheet-y, 0), 0)' },\n },\n 'bl-accordion-down': {\n from: { height: '0' },\n to: { height: 'var(--radix-accordion-content-height)' },\n },\n 'bl-accordion-up': {\n from: { height: 'var(--radix-accordion-content-height)' },\n to: { height: '0' },\n },\n 'bl-collapsible-down': {\n from: { height: '0' },\n to: { height: 'var(--radix-collapsible-content-height)' },\n },\n 'bl-collapsible-up': {\n from: { height: 'var(--radix-collapsible-content-height)' },\n to: { height: '0' },\n },\n },\n} as const;\n\n/**\n * Named elevation levels over the shadow scale: 0 flat, 1 resting control,\n * 2 card, 3 raised card or tooltip, 4 floating surface (popover, menu,\n * toast), 5 modal (dialog, sheet).\n */\nexport const elevation = {\n 0: 'none',\n 1: shadow.xs,\n 2: shadow.sm,\n 3: shadow.md,\n 4: shadow.lg,\n 5: shadow.xl,\n} as const;\n\n/**\n * Stacking order, so an app's own layers can slot between the kit's: sticky\n * table headers and lifted controls (10), app chrome such as headers and\n * bottom tab bars (40), floating and modal surfaces (50; nesting order comes\n * from DOM order, a popover inside a dialog is appended later and sits above\n * it), toasts (100), which stay visible over a dialog.\n */\nexport const layer = { raised: 10, chrome: 40, overlay: 50, toast: 100 } as const;\n\n// ─── Accent ────────────────────────────────────────────────────────────────\n\nexport type AccentTokens = Pick<\n Palette,\n | 'primary'\n | 'primary-foreground'\n | 'brand'\n | 'brand-hover'\n | 'brand-soft'\n | 'brand-soft-foreground'\n | 'accent'\n | 'accent-foreground'\n | 'ring'\n>;\n\ntype Rgb = [number, number, number];\n\nfunction parseHex(hex: string): Rgb {\n const h = hex.replace('#', '').trim();\n const full = h.length === 3 ? [...h].map((c) => c + c).join('') : h.slice(0, 6);\n if (!/^[0-9a-f]{6}$/i.test(full)) throw new Error(`Not a hex colour: ${hex}`);\n return [0, 2, 4].map((i) => parseInt(full.slice(i, i + 2), 16)) as Rgb;\n}\n\nconst toHex = (rgb: Rgb) =>\n '#' +\n rgb\n .map((v) =>\n Math.round(Math.max(0, Math.min(255, v)))\n .toString(16)\n .padStart(2, '0'),\n )\n .join('');\n\n/** Mix `a` toward `b` by `t` (0 = a, 1 = b), in sRGB. */\nexport function mix(a: string, b: string, t: number): string {\n const x = parseHex(a);\n const y = parseHex(b);\n return toHex([0, 1, 2].map((i) => x[i]! + (y[i]! - x[i]!) * t) as Rgb);\n}\n\nfunction luminance(hex: string): number {\n const c = parseHex(hex).map((v) => {\n const s = v / 255;\n return s <= 0.03928 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * c[0]! + 0.7152 * c[1]! + 0.0722 * c[2]!;\n}\n\n/** WCAG contrast ratio between two hex colours. */\nexport function contrast(a: string, b: string): number {\n const [hi, lo] = [luminance(a), luminance(b)].sort((m, n) => n - m) as [number, number];\n return (hi + 0.05) / (lo + 0.05);\n}\n\n/** Step `color` toward `target` until it reaches `ratio` against `against`. */\nfunction ensureContrast(color: string, against: string, ratio: number, target: string): string {\n let c = color;\n for (let i = 0; i < 20 && contrast(c, against) < ratio; i++) c = mix(c, target, 0.1);\n return c;\n}\n\n/**\n * Brand tokens for any accent colour, kept legible: the primary fill always\n * carries its foreground at 4.5:1, and the brand colour used for links, focus\n * and selected text reads at 4.5:1 on the page background. Tenants and skins\n * choose an accent; they never choose the contrast.\n */\nexport function accentTokens(accent: string, mode: 'light' | 'dark'): AccentTokens {\n const p = mode === 'dark' ? dark : light;\n const white = '#ffffff';\n // A dark foreground on light fills (yellow, cyan) instead of forcing white.\n // White text on the fill whenever darkening the accent a little gets there\n // (purples, blues, greens, reds: the usual brand colours, which read as the\n // brand when they carry white). Dark text only for genuinely light accents\n // such as yellow or pale cyan, where white would need the colour ruined.\n const onFill = contrast(accent, white) >= 2.6 ? white : '#111111';\n const primary =\n onFill === white\n ? ensureContrast(accent, white, 4.5, '#000000')\n : ensureContrast(accent, '#111111', 4.5, white);\n const brand =\n mode === 'dark'\n ? ensureContrast(mix(accent, white, 0.12), p.background, 4.5, white)\n : ensureContrast(accent, p.background, 4.5, '#000000');\n const brandHover = mode === 'dark' ? mix(brand, white, 0.18) : mix(brand, '#000000', 0.14);\n const soft = mode === 'dark' ? mix(p.background, accent, 0.16) : mix(white, accent, 0.1);\n const softFg = mode === 'dark' ? mix(accent, white, 0.72) : mix(accent, '#000000', 0.55);\n return {\n primary,\n 'primary-foreground': onFill,\n brand,\n 'brand-hover': brandHover,\n 'brand-soft': soft,\n 'brand-soft-foreground': ensureContrast(softFg, soft, 4.5, mode === 'dark' ? white : '#000000'),\n accent: soft,\n 'accent-foreground': ensureContrast(softFg, soft, 4.5, mode === 'dark' ? white : '#000000'),\n ring: brand,\n };\n}\n\nexport const tokens = {\n brand,\n light,\n dark,\n radius,\n shadow,\n elevation,\n layer,\n motion,\n duration,\n easing,\n fontSans,\n fontMono,\n} as const;\nexport default tokens;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burtson-labs/ui",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "React components for Burtson Labs products
|
|
3
|
+
"version": "0.14.1",
|
|
4
|
+
"description": "React components for Burtson Labs products with locally maintained MIT-licensed primitives, Tailwind v4 styling, and Burtson Icons.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Burtson Labs",
|
|
@@ -53,26 +53,36 @@
|
|
|
53
53
|
"dist",
|
|
54
54
|
"README.md",
|
|
55
55
|
"LICENSE",
|
|
56
|
-
"THIRD_PARTY_NOTICES.md"
|
|
56
|
+
"THIRD_PARTY_NOTICES.md",
|
|
57
|
+
"LICENSES",
|
|
58
|
+
"vendor-manifest.json"
|
|
57
59
|
],
|
|
58
60
|
"scripts": {
|
|
59
|
-
"dev": "npm run registry && vite --config site/vite.config.ts",
|
|
60
|
-
"build": "node scripts/build.mjs",
|
|
61
|
-
"site": "npm run registry && vite build --config site/vite.config.ts && node --experimental-strip-types --no-warnings scripts/route-pages.mjs",
|
|
61
|
+
"dev": "npm run api && npm run registry && vite --config site/vite.config.ts",
|
|
62
|
+
"build": "npm run licenses && node scripts/build.mjs",
|
|
63
|
+
"site": "npm run api && npm run licenses && npm run registry && vite build --config site/vite.config.ts && node --experimental-strip-types --no-warnings scripts/route-pages.mjs",
|
|
62
64
|
"preview": "vite preview --config site/vite.config.ts",
|
|
63
65
|
"lint": "eslint .",
|
|
64
66
|
"format": "prettier --write .",
|
|
65
67
|
"format:check": "prettier --check .",
|
|
66
68
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
67
69
|
"test": "vitest run",
|
|
68
|
-
"
|
|
70
|
+
"smoke": "playwright test",
|
|
71
|
+
"check": "npm run vendor:check && npm run api:check && npm run typecheck && npm run lint && npm run format:check && npm test && npm run build && npm run site && npm run registry:check && npm run vendor:check",
|
|
69
72
|
"prepublishOnly": "npm run check",
|
|
70
73
|
"theme": "node --experimental-strip-types --no-warnings scripts/theme.mjs",
|
|
71
74
|
"registry": "node --experimental-strip-types --no-warnings scripts/registry.mjs",
|
|
72
|
-
"og": "npm run site && node scripts/og.mjs"
|
|
75
|
+
"og": "npm run site && node scripts/og.mjs",
|
|
76
|
+
"api": "node scripts/api-reference.mjs",
|
|
77
|
+
"api:check": "node scripts/api-reference.mjs --check",
|
|
78
|
+
"licenses": "node scripts/licenses.mjs",
|
|
79
|
+
"vendor:check": "node scripts/verify-vendor.mjs",
|
|
80
|
+
"vendor:record": "node scripts/verify-vendor.mjs --record",
|
|
81
|
+
"registry:check": "npm run registry && node scripts/verify-registry.mjs",
|
|
82
|
+
"package:check": "npm run build && node scripts/verify-package.mjs"
|
|
73
83
|
},
|
|
74
84
|
"peerDependencies": {
|
|
75
|
-
"@burtson-labs/icons": ">=0.
|
|
85
|
+
"@burtson-labs/icons": ">=0.5.0",
|
|
76
86
|
"@emotion/react": ">=11",
|
|
77
87
|
"@mui/material": ">=6",
|
|
78
88
|
"react": ">=18",
|
|
@@ -89,18 +99,20 @@
|
|
|
89
99
|
"dependencies": {
|
|
90
100
|
"class-variance-authority": "^0.7.1",
|
|
91
101
|
"clsx": "^2.1.1",
|
|
92
|
-
"cmdk": "^1.1.1",
|
|
93
|
-
"radix-ui": "^1.6.7",
|
|
94
102
|
"react-resizable-panels": "^4.13.3",
|
|
95
|
-
"tailwind-merge": "^3.7.0"
|
|
103
|
+
"tailwind-merge": "^3.7.0",
|
|
104
|
+
"@floating-ui/react-dom": "2.1.9",
|
|
105
|
+
"aria-hidden": "1.2.6",
|
|
106
|
+
"react-remove-scroll": "2.7.2"
|
|
96
107
|
},
|
|
97
108
|
"devDependencies": {
|
|
98
109
|
"@burtson-labs/frontend-standards": "github:Burtson-Labs/frontend-standards#3d007ff818835a72aaa53087b1f86fedf35bebfe",
|
|
99
|
-
"@burtson-labs/icons": "^0.
|
|
110
|
+
"@burtson-labs/icons": "^0.5.0",
|
|
100
111
|
"@emotion/react": "^11.14.0",
|
|
101
112
|
"@emotion/styled": "^11.14.1",
|
|
102
113
|
"@eslint/js": "^9.39.5",
|
|
103
114
|
"@mui/material": "^9.4.0",
|
|
115
|
+
"@playwright/test": "^1.63.0",
|
|
104
116
|
"@tailwindcss/cli": "^4.3.3",
|
|
105
117
|
"@tailwindcss/vite": "^4.3.3",
|
|
106
118
|
"@testing-library/dom": "^10.4.2",
|