@qijenchen/design-system 0.1.0-beta.10
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/README.md +163 -0
- package/dist/components/Accordion/accordion.d.ts +37 -0
- package/dist/components/Accordion/accordion.d.ts.map +1 -0
- package/dist/components/Accordion/accordion.js +78 -0
- package/dist/components/Accordion/accordion.js.map +1 -0
- package/dist/components/Alert/alert.d.ts +47 -0
- package/dist/components/Alert/alert.d.ts.map +1 -0
- package/dist/components/Alert/alert.js +132 -0
- package/dist/components/Alert/alert.js.map +1 -0
- package/dist/components/AppShell/_demo-helpers.d.ts +49 -0
- package/dist/components/AppShell/_demo-helpers.d.ts.map +1 -0
- package/dist/components/AppShell/app-shell.d.ts +76 -0
- package/dist/components/AppShell/app-shell.d.ts.map +1 -0
- package/dist/components/AppShell/app-shell.js +214 -0
- package/dist/components/AppShell/app-shell.js.map +1 -0
- package/dist/components/AspectRatio/aspect-ratio.d.ts +40 -0
- package/dist/components/AspectRatio/aspect-ratio.d.ts.map +1 -0
- package/dist/components/AspectRatio/aspect-ratio.js +23 -0
- package/dist/components/AspectRatio/aspect-ratio.js.map +1 -0
- package/dist/components/Avatar/avatar.d.ts +85 -0
- package/dist/components/Avatar/avatar.d.ts.map +1 -0
- package/dist/components/Avatar/avatar.js +195 -0
- package/dist/components/Avatar/avatar.js.map +1 -0
- package/dist/components/Badge/badge.d.ts +43 -0
- package/dist/components/Badge/badge.d.ts.map +1 -0
- package/dist/components/Badge/badge.js +69 -0
- package/dist/components/Badge/badge.js.map +1 -0
- package/dist/components/Breadcrumb/breadcrumb.d.ts +163 -0
- package/dist/components/Breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist/components/Breadcrumb/breadcrumb.js +300 -0
- package/dist/components/Breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/BulkActionBar/bulk-action-bar.d.ts +46 -0
- package/dist/components/BulkActionBar/bulk-action-bar.d.ts.map +1 -0
- package/dist/components/BulkActionBar/bulk-action-bar.js +78 -0
- package/dist/components/BulkActionBar/bulk-action-bar.js.map +1 -0
- package/dist/components/Button/button-group.d.ts +49 -0
- package/dist/components/Button/button-group.d.ts.map +1 -0
- package/dist/components/Button/button-group.js +46 -0
- package/dist/components/Button/button-group.js.map +1 -0
- package/dist/components/Button/button.d.ts +203 -0
- package/dist/components/Button/button.d.ts.map +1 -0
- package/dist/components/Button/button.js +309 -0
- package/dist/components/Button/button.js.map +1 -0
- package/dist/components/Calendar/calendar.d.ts +81 -0
- package/dist/components/Calendar/calendar.d.ts.map +1 -0
- package/dist/components/Calendar/calendar.js +282 -0
- package/dist/components/Calendar/calendar.js.map +1 -0
- package/dist/components/Carousel/carousel.d.ts +61 -0
- package/dist/components/Carousel/carousel.d.ts.map +1 -0
- package/dist/components/Carousel/carousel.js +276 -0
- package/dist/components/Carousel/carousel.js.map +1 -0
- package/dist/components/Chart/chart.d.ts +94 -0
- package/dist/components/Chart/chart.d.ts.map +1 -0
- package/dist/components/Chart/chart.js +233 -0
- package/dist/components/Chart/chart.js.map +1 -0
- package/dist/components/Checkbox/checkbox-group.d.ts +58 -0
- package/dist/components/Checkbox/checkbox-group.d.ts.map +1 -0
- package/dist/components/Checkbox/checkbox-group.js +28 -0
- package/dist/components/Checkbox/checkbox-group.js.map +1 -0
- package/dist/components/Checkbox/checkbox.d.ts +73 -0
- package/dist/components/Checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox/checkbox.js +125 -0
- package/dist/components/Checkbox/checkbox.js.map +1 -0
- package/dist/components/Chip/chip.d.ts +54 -0
- package/dist/components/Chip/chip.d.ts.map +1 -0
- package/dist/components/Chip/chip.js +224 -0
- package/dist/components/Chip/chip.js.map +1 -0
- package/dist/components/CircularProgress/circular-progress.d.ts +40 -0
- package/dist/components/CircularProgress/circular-progress.d.ts.map +1 -0
- package/dist/components/CircularProgress/circular-progress.js +118 -0
- package/dist/components/CircularProgress/circular-progress.js.map +1 -0
- package/dist/components/Coachmark/coachmark.d.ts +100 -0
- package/dist/components/Coachmark/coachmark.d.ts.map +1 -0
- package/dist/components/Coachmark/coachmark.js +107 -0
- package/dist/components/Coachmark/coachmark.js.map +1 -0
- package/dist/components/Combobox/combobox.d.ts +150 -0
- package/dist/components/Combobox/combobox.d.ts.map +1 -0
- package/dist/components/Combobox/combobox.js +595 -0
- package/dist/components/Combobox/combobox.js.map +1 -0
- package/dist/components/Command/command.d.ts +106 -0
- package/dist/components/Command/command.d.ts.map +1 -0
- package/dist/components/Command/command.js +123 -0
- package/dist/components/Command/command.js.map +1 -0
- package/dist/components/DataTable/active-editor-controller.d.ts +66 -0
- package/dist/components/DataTable/active-editor-controller.d.ts.map +1 -0
- package/dist/components/DataTable/cell-registry.d.ts +37 -0
- package/dist/components/DataTable/cell-registry.d.ts.map +1 -0
- package/dist/components/DataTable/cell-registry.js +377 -0
- package/dist/components/DataTable/cell-registry.js.map +1 -0
- package/dist/components/DataTable/column-types.d.ts +145 -0
- package/dist/components/DataTable/column-types.d.ts.map +1 -0
- package/dist/components/DataTable/column-types.js +17 -0
- package/dist/components/DataTable/column-types.js.map +1 -0
- package/dist/components/DataTable/data-table-column-visibility-panel.d.ts +49 -0
- package/dist/components/DataTable/data-table-column-visibility-panel.d.ts.map +1 -0
- package/dist/components/DataTable/data-table-filter-panel.d.ts +30 -0
- package/dist/components/DataTable/data-table-filter-panel.d.ts.map +1 -0
- package/dist/components/DataTable/data-table-interaction-layer.d.ts +78 -0
- package/dist/components/DataTable/data-table-interaction-layer.d.ts.map +1 -0
- package/dist/components/DataTable/data-table-interaction-layer.js +220 -0
- package/dist/components/DataTable/data-table-interaction-layer.js.map +1 -0
- package/dist/components/DataTable/data-table-sort-manager.d.ts +19 -0
- package/dist/components/DataTable/data-table-sort-manager.d.ts.map +1 -0
- package/dist/components/DataTable/data-table.d.ts +181 -0
- package/dist/components/DataTable/data-table.d.ts.map +1 -0
- package/dist/components/DataTable/data-table.js +1851 -0
- package/dist/components/DataTable/data-table.js.map +1 -0
- package/dist/components/DataTable/filter-operators.d.ts +116 -0
- package/dist/components/DataTable/filter-operators.d.ts.map +1 -0
- package/dist/components/DataTable/filter-tree.d.ts +66 -0
- package/dist/components/DataTable/filter-tree.d.ts.map +1 -0
- package/dist/components/DataTable/lib/column-meta.d.ts +49 -0
- package/dist/components/DataTable/lib/column-meta.d.ts.map +1 -0
- package/dist/components/DateGrid/date-grid.d.ts +61 -0
- package/dist/components/DateGrid/date-grid.d.ts.map +1 -0
- package/dist/components/DateGrid/date-grid.js +168 -0
- package/dist/components/DateGrid/date-grid.js.map +1 -0
- package/dist/components/DatePicker/date-picker.d.ts +119 -0
- package/dist/components/DatePicker/date-picker.d.ts.map +1 -0
- package/dist/components/DatePicker/date-picker.js +743 -0
- package/dist/components/DatePicker/date-picker.js.map +1 -0
- package/dist/components/DescriptionList/description-list.d.ts +60 -0
- package/dist/components/DescriptionList/description-list.d.ts.map +1 -0
- package/dist/components/DescriptionList/description-list.js +77 -0
- package/dist/components/DescriptionList/description-list.js.map +1 -0
- package/dist/components/Dialog/dialog.d.ts +54 -0
- package/dist/components/Dialog/dialog.d.ts.map +1 -0
- package/dist/components/Dialog/dialog.js +151 -0
- package/dist/components/Dialog/dialog.js.map +1 -0
- package/dist/components/DropdownMenu/dropdown-menu.d.ts +111 -0
- package/dist/components/DropdownMenu/dropdown-menu.d.ts.map +1 -0
- package/dist/components/DropdownMenu/dropdown-menu.js +288 -0
- package/dist/components/DropdownMenu/dropdown-menu.js.map +1 -0
- package/dist/components/Empty/empty.d.ts +40 -0
- package/dist/components/Empty/empty.d.ts.map +1 -0
- package/dist/components/Empty/empty.js +66 -0
- package/dist/components/Empty/empty.js.map +1 -0
- package/dist/components/Field/field-context.d.ts +77 -0
- package/dist/components/Field/field-context.d.ts.map +1 -0
- package/dist/components/Field/field-context.js +37 -0
- package/dist/components/Field/field-context.js.map +1 -0
- package/dist/components/Field/field-types.d.ts +5 -0
- package/dist/components/Field/field-types.d.ts.map +1 -0
- package/dist/components/Field/field-types.js +13 -0
- package/dist/components/Field/field-types.js.map +1 -0
- package/dist/components/Field/field-wrapper.d.ts +17 -0
- package/dist/components/Field/field-wrapper.d.ts.map +1 -0
- package/dist/components/Field/field-wrapper.js +252 -0
- package/dist/components/Field/field-wrapper.js.map +1 -0
- package/dist/components/Field/field.d.ts +127 -0
- package/dist/components/Field/field.d.ts.map +1 -0
- package/dist/components/Field/field.js +295 -0
- package/dist/components/Field/field.js.map +1 -0
- package/dist/components/FieldControlGroup/field-control-group.d.ts +74 -0
- package/dist/components/FieldControlGroup/field-control-group.d.ts.map +1 -0
- package/dist/components/FieldControlGroup/field-control-group.js +62 -0
- package/dist/components/FieldControlGroup/field-control-group.js.map +1 -0
- package/dist/components/FileItem/file-item.d.ts +44 -0
- package/dist/components/FileItem/file-item.d.ts.map +1 -0
- package/dist/components/FileItem/file-item.js +202 -0
- package/dist/components/FileItem/file-item.js.map +1 -0
- package/dist/components/FileUpload/file-upload.d.ts +97 -0
- package/dist/components/FileUpload/file-upload.d.ts.map +1 -0
- package/dist/components/FileUpload/file-upload.js +231 -0
- package/dist/components/FileUpload/file-upload.js.map +1 -0
- package/dist/components/FileViewer/file-viewer-types.d.ts +73 -0
- package/dist/components/FileViewer/file-viewer-types.d.ts.map +1 -0
- package/dist/components/FileViewer/file-viewer.d.ts +82 -0
- package/dist/components/FileViewer/file-viewer.d.ts.map +1 -0
- package/dist/components/FileViewer/file-viewer.js +752 -0
- package/dist/components/FileViewer/file-viewer.js.map +1 -0
- package/dist/components/FileViewer/image-renderer.d.ts +9 -0
- package/dist/components/FileViewer/image-renderer.d.ts.map +1 -0
- package/dist/components/FileViewer/image-renderer.js +165 -0
- package/dist/components/FileViewer/image-renderer.js.map +1 -0
- package/dist/components/HoverCard/hover-card.d.ts +30 -0
- package/dist/components/HoverCard/hover-card.d.ts.map +1 -0
- package/dist/components/HoverCard/hover-card.js +61 -0
- package/dist/components/HoverCard/hover-card.js.map +1 -0
- package/dist/components/Input/input.d.ts +72 -0
- package/dist/components/Input/input.d.ts.map +1 -0
- package/dist/components/Input/input.js +148 -0
- package/dist/components/Input/input.js.map +1 -0
- package/dist/components/LinkInput/link-input.d.ts +46 -0
- package/dist/components/LinkInput/link-input.d.ts.map +1 -0
- package/dist/components/LinkInput/link-input.js +215 -0
- package/dist/components/LinkInput/link-input.js.map +1 -0
- package/dist/components/Menu/menu-item.d.ts +83 -0
- package/dist/components/Menu/menu-item.d.ts.map +1 -0
- package/dist/components/Menu/menu-item.js +209 -0
- package/dist/components/Menu/menu-item.js.map +1 -0
- package/dist/components/NameCard/name-card.d.ts +85 -0
- package/dist/components/NameCard/name-card.d.ts.map +1 -0
- package/dist/components/NameCard/name-card.js +153 -0
- package/dist/components/NameCard/name-card.js.map +1 -0
- package/dist/components/Notice/notice.d.ts +69 -0
- package/dist/components/Notice/notice.d.ts.map +1 -0
- package/dist/components/Notice/notice.js +121 -0
- package/dist/components/Notice/notice.js.map +1 -0
- package/dist/components/NumberInput/number-input.d.ts +57 -0
- package/dist/components/NumberInput/number-input.d.ts.map +1 -0
- package/dist/components/NumberInput/number-input.js +131 -0
- package/dist/components/NumberInput/number-input.js.map +1 -0
- package/dist/components/OverflowIndicator/overflow-indicator.d.ts +23 -0
- package/dist/components/OverflowIndicator/overflow-indicator.d.ts.map +1 -0
- package/dist/components/OverflowIndicator/overflow-indicator.js +111 -0
- package/dist/components/OverflowIndicator/overflow-indicator.js.map +1 -0
- package/dist/components/PeoplePicker/avatar-stack-overflow.d.ts +57 -0
- package/dist/components/PeoplePicker/avatar-stack-overflow.d.ts.map +1 -0
- package/dist/components/PeoplePicker/avatar-stack-overflow.js +35 -0
- package/dist/components/PeoplePicker/avatar-stack-overflow.js.map +1 -0
- package/dist/components/PeoplePicker/people-picker-helpers.d.ts +7 -0
- package/dist/components/PeoplePicker/people-picker-helpers.d.ts.map +1 -0
- package/dist/components/PeoplePicker/people-picker-helpers.js +25 -0
- package/dist/components/PeoplePicker/people-picker-helpers.js.map +1 -0
- package/dist/components/PeoplePicker/people-picker.d.ts +77 -0
- package/dist/components/PeoplePicker/people-picker.d.ts.map +1 -0
- package/dist/components/PeoplePicker/people-picker.js +263 -0
- package/dist/components/PeoplePicker/people-picker.js.map +1 -0
- package/dist/components/PeoplePicker/person-display.d.ts +66 -0
- package/dist/components/PeoplePicker/person-display.d.ts.map +1 -0
- package/dist/components/PeoplePicker/person-display.js +203 -0
- package/dist/components/PeoplePicker/person-display.js.map +1 -0
- package/dist/components/Popover/popover.d.ts +50 -0
- package/dist/components/Popover/popover.d.ts.map +1 -0
- package/dist/components/Popover/popover.js +113 -0
- package/dist/components/Popover/popover.js.map +1 -0
- package/dist/components/ProgressBar/progress-bar.d.ts +37 -0
- package/dist/components/ProgressBar/progress-bar.d.ts.map +1 -0
- package/dist/components/ProgressBar/progress-bar.js +86 -0
- package/dist/components/ProgressBar/progress-bar.js.map +1 -0
- package/dist/components/RadioGroup/radio-group.d.ts +78 -0
- package/dist/components/RadioGroup/radio-group.d.ts.map +1 -0
- package/dist/components/RadioGroup/radio-group.js +153 -0
- package/dist/components/RadioGroup/radio-group.js.map +1 -0
- package/dist/components/Rating/rating.d.ts +46 -0
- package/dist/components/Rating/rating.d.ts.map +1 -0
- package/dist/components/Rating/rating.js +179 -0
- package/dist/components/Rating/rating.js.map +1 -0
- package/dist/components/ScrollArea/scroll-area.d.ts +45 -0
- package/dist/components/ScrollArea/scroll-area.d.ts.map +1 -0
- package/dist/components/ScrollArea/scroll-area.js +65 -0
- package/dist/components/ScrollArea/scroll-area.js.map +1 -0
- package/dist/components/SegmentedControl/segmented-control.d.ts +102 -0
- package/dist/components/SegmentedControl/segmented-control.d.ts.map +1 -0
- package/dist/components/SegmentedControl/segmented-control.js +171 -0
- package/dist/components/SegmentedControl/segmented-control.js.map +1 -0
- package/dist/components/Select/select.d.ts +102 -0
- package/dist/components/Select/select.d.ts.map +1 -0
- package/dist/components/Select/select.js +435 -0
- package/dist/components/Select/select.js.map +1 -0
- package/dist/components/SelectMenu/select-menu.d.ts +103 -0
- package/dist/components/SelectMenu/select-menu.d.ts.map +1 -0
- package/dist/components/SelectMenu/select-menu.js +239 -0
- package/dist/components/SelectMenu/select-menu.js.map +1 -0
- package/dist/components/SelectionControl/selection-item.d.ts +69 -0
- package/dist/components/SelectionControl/selection-item.d.ts.map +1 -0
- package/dist/components/SelectionControl/selection-item.js +142 -0
- package/dist/components/SelectionControl/selection-item.js.map +1 -0
- package/dist/components/Separator/separator.d.ts +17 -0
- package/dist/components/Separator/separator.d.ts.map +1 -0
- package/dist/components/Separator/separator.js +39 -0
- package/dist/components/Separator/separator.js.map +1 -0
- package/dist/components/Sheet/sheet.d.ts +56 -0
- package/dist/components/Sheet/sheet.d.ts.map +1 -0
- package/dist/components/Sheet/sheet.js +145 -0
- package/dist/components/Sheet/sheet.js.map +1 -0
- package/dist/components/Sidebar/sidebar.d.ts +195 -0
- package/dist/components/Sidebar/sidebar.d.ts.map +1 -0
- package/dist/components/Sidebar/sidebar.js +826 -0
- package/dist/components/Sidebar/sidebar.js.map +1 -0
- package/dist/components/Skeleton/skeleton.d.ts +16 -0
- package/dist/components/Skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/Skeleton/skeleton.js +30 -0
- package/dist/components/Skeleton/skeleton.js.map +1 -0
- package/dist/components/Slider/slider.d.ts +48 -0
- package/dist/components/Slider/slider.d.ts.map +1 -0
- package/dist/components/Slider/slider.js +108 -0
- package/dist/components/Slider/slider.js.map +1 -0
- package/dist/components/Steps/steps.d.ts +71 -0
- package/dist/components/Steps/steps.d.ts.map +1 -0
- package/dist/components/Steps/steps.js +583 -0
- package/dist/components/Steps/steps.js.map +1 -0
- package/dist/components/Switch/switch.d.ts +112 -0
- package/dist/components/Switch/switch.d.ts.map +1 -0
- package/dist/components/Switch/switch.js +179 -0
- package/dist/components/Switch/switch.js.map +1 -0
- package/dist/components/Tabs/tabs.d.ts +104 -0
- package/dist/components/Tabs/tabs.d.ts.map +1 -0
- package/dist/components/Tabs/tabs.js +316 -0
- package/dist/components/Tabs/tabs.js.map +1 -0
- package/dist/components/Tag/tag.d.ts +86 -0
- package/dist/components/Tag/tag.d.ts.map +1 -0
- package/dist/components/Tag/tag.js +172 -0
- package/dist/components/Tag/tag.js.map +1 -0
- package/dist/components/Textarea/textarea.d.ts +74 -0
- package/dist/components/Textarea/textarea.d.ts.map +1 -0
- package/dist/components/Textarea/textarea.js +224 -0
- package/dist/components/Textarea/textarea.js.map +1 -0
- package/dist/components/TimePicker/time-columns.d.ts +46 -0
- package/dist/components/TimePicker/time-columns.d.ts.map +1 -0
- package/dist/components/TimePicker/time-columns.js +173 -0
- package/dist/components/TimePicker/time-columns.js.map +1 -0
- package/dist/components/TimePicker/time-picker.d.ts +94 -0
- package/dist/components/TimePicker/time-picker.d.ts.map +1 -0
- package/dist/components/TimePicker/time-picker.js +253 -0
- package/dist/components/TimePicker/time-picker.js.map +1 -0
- package/dist/components/Toast/toast.d.ts +61 -0
- package/dist/components/Toast/toast.d.ts.map +1 -0
- package/dist/components/Toast/toast.js +76 -0
- package/dist/components/Toast/toast.js.map +1 -0
- package/dist/components/Tooltip/tooltip.d.ts +20 -0
- package/dist/components/Tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip/tooltip.js +53 -0
- package/dist/components/Tooltip/tooltip.js.map +1 -0
- package/dist/components/TreeView/tree-view.d.ts +166 -0
- package/dist/components/TreeView/tree-view.d.ts.map +1 -0
- package/dist/components/TreeView/tree-view.js +617 -0
- package/dist/components/TreeView/tree-view.js.map +1 -0
- package/dist/hooks/use-controllable.d.ts +16 -0
- package/dist/hooks/use-controllable.d.ts.map +1 -0
- package/dist/hooks/use-controllable.js +26 -0
- package/dist/hooks/use-controllable.js.map +1 -0
- package/dist/hooks/use-is-narrow-viewport.d.ts +2 -0
- package/dist/hooks/use-is-narrow-viewport.d.ts.map +1 -0
- package/dist/hooks/use-is-narrow-viewport.js +19 -0
- package/dist/hooks/use-is-narrow-viewport.js.map +1 -0
- package/dist/hooks/use-is-touch-device.d.ts +8 -0
- package/dist/hooks/use-is-touch-device.d.ts.map +1 -0
- package/dist/hooks/use-is-touch-device.js +16 -0
- package/dist/hooks/use-is-touch-device.js.map +1 -0
- package/dist/hooks/use-overflow-items.d.ts +124 -0
- package/dist/hooks/use-overflow-items.d.ts.map +1 -0
- package/dist/hooks/use-overflow-items.js +97 -0
- package/dist/hooks/use-overflow-items.js.map +1 -0
- package/dist/index.d.ts +74 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +371 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/drag-visual.d.ts +158 -0
- package/dist/lib/drag-visual.d.ts.map +1 -0
- package/dist/lib/drag-visual.js +96 -0
- package/dist/lib/drag-visual.js.map +1 -0
- package/dist/lib/i18n/i18n-context.d.ts +105 -0
- package/dist/lib/i18n/i18n-context.d.ts.map +1 -0
- package/dist/lib/multi-select-ordering.d.ts +54 -0
- package/dist/lib/multi-select-ordering.d.ts.map +1 -0
- package/dist/lib/multi-select-ordering.js +13 -0
- package/dist/lib/multi-select-ordering.js.map +1 -0
- package/dist/lib/utils.d.ts +12 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +79 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/patterns/element-anatomy/item-anatomy.d.ts +370 -0
- package/dist/patterns/element-anatomy/item-anatomy.d.ts.map +1 -0
- package/dist/patterns/element-anatomy/item-anatomy.js +272 -0
- package/dist/patterns/element-anatomy/item-anatomy.js.map +1 -0
- package/dist/patterns/header-canonical/chrome-header.d.ts +80 -0
- package/dist/patterns/header-canonical/chrome-header.d.ts.map +1 -0
- package/dist/patterns/header-canonical/chrome-header.js +75 -0
- package/dist/patterns/header-canonical/chrome-header.js.map +1 -0
- package/dist/patterns/horizontal-overflow/horizontal-overflow.d.ts +101 -0
- package/dist/patterns/horizontal-overflow/horizontal-overflow.d.ts.map +1 -0
- package/dist/patterns/horizontal-overflow/horizontal-overflow.js +105 -0
- package/dist/patterns/horizontal-overflow/horizontal-overflow.js.map +1 -0
- package/dist/patterns/overlay-surface/overlay-surface.d.ts +28 -0
- package/dist/patterns/overlay-surface/overlay-surface.d.ts.map +1 -0
- package/dist/patterns/overlay-surface/overlay-surface.js +85 -0
- package/dist/patterns/overlay-surface/overlay-surface.js.map +1 -0
- package/dist/patterns/resize-handle/resize-handle.d.ts +102 -0
- package/dist/patterns/resize-handle/resize-handle.d.ts.map +1 -0
- package/dist/patterns/resize-handle/resize-handle.js +74 -0
- package/dist/patterns/resize-handle/resize-handle.js.map +1 -0
- package/dist/react-day-picker.css +457 -0
- package/dist/stories-helpers/anatomy/anatomy-utils.d.ts +40 -0
- package/dist/stories-helpers/anatomy/anatomy-utils.d.ts.map +1 -0
- package/dist/tokens/elevation/overlay-geometry.d.ts +12 -0
- package/dist/tokens/elevation/overlay-geometry.d.ts.map +1 -0
- package/dist/tokens/elevation/overlay-geometry.js +7 -0
- package/dist/tokens/elevation/overlay-geometry.js.map +1 -0
- package/dist/tokens/motion/motion.d.ts +15 -0
- package/dist/tokens/motion/motion.d.ts.map +1 -0
- package/dist/tokens/motion/motion.js +9 -0
- package/dist/tokens/motion/motion.js.map +1 -0
- package/dist/tokens/uiSize/icon-size.d.ts +53 -0
- package/dist/tokens/uiSize/icon-size.d.ts.map +1 -0
- package/package.json +92 -0
- package/src/README.md +32 -0
- package/src/components/Accordion/accordion.tsx +104 -0
- package/src/components/Alert/alert.tsx +188 -0
- package/src/components/AppShell/_demo-helpers.tsx +198 -0
- package/src/components/AppShell/app-shell.tsx +364 -0
- package/src/components/AspectRatio/aspect-ratio.tsx +58 -0
- package/src/components/Avatar/avatar.tsx +368 -0
- package/src/components/Badge/badge.tsx +104 -0
- package/src/components/Breadcrumb/breadcrumb.tsx +619 -0
- package/src/components/BulkActionBar/bulk-action-bar.tsx +156 -0
- package/src/components/Button/button-group.tsx +96 -0
- package/src/components/Button/button.tsx +539 -0
- package/src/components/Calendar/calendar.tsx +411 -0
- package/src/components/Carousel/carousel.tsx +371 -0
- package/src/components/Chart/chart.tsx +376 -0
- package/src/components/Checkbox/checkbox-group.tsx +94 -0
- package/src/components/Checkbox/checkbox.tsx +237 -0
- package/src/components/Chip/chip.tsx +359 -0
- package/src/components/CircularProgress/circular-progress.tsx +204 -0
- package/src/components/Coachmark/coachmark.tsx +255 -0
- package/src/components/Combobox/combobox.tsx +826 -0
- package/src/components/Command/command.tsx +187 -0
- package/src/components/DataTable/active-editor-controller.ts +72 -0
- package/src/components/DataTable/cell-registry.tsx +520 -0
- package/src/components/DataTable/column-types.ts +180 -0
- package/src/components/DataTable/data-table-column-visibility-panel.tsx +261 -0
- package/src/components/DataTable/data-table-filter-panel.tsx +813 -0
- package/src/components/DataTable/data-table-interaction-layer.tsx +483 -0
- package/src/components/DataTable/data-table-sort-manager.tsx +210 -0
- package/src/components/DataTable/data-table.css +165 -0
- package/src/components/DataTable/data-table.tsx +2924 -0
- package/src/components/DataTable/filter-operators.ts +225 -0
- package/src/components/DataTable/filter-tree.ts +313 -0
- package/src/components/DataTable/lib/column-meta.ts +79 -0
- package/src/components/DateGrid/date-grid.tsx +209 -0
- package/src/components/DatePicker/date-picker.tsx +1114 -0
- package/src/components/DescriptionList/description-list.tsx +141 -0
- package/src/components/Dialog/dialog.tsx +267 -0
- package/src/components/DropdownMenu/dropdown-menu.tsx +475 -0
- package/src/components/Empty/empty.tsx +108 -0
- package/src/components/Field/field-context.ts +136 -0
- package/src/components/Field/field-types.ts +52 -0
- package/src/components/Field/field-wrapper.tsx +348 -0
- package/src/components/Field/field.tsx +535 -0
- package/src/components/FieldControlGroup/field-control-group.tsx +136 -0
- package/src/components/FileItem/file-item.tsx +322 -0
- package/src/components/FileUpload/file-upload.tsx +326 -0
- package/src/components/FileViewer/file-viewer-types.ts +76 -0
- package/src/components/FileViewer/file-viewer.tsx +1065 -0
- package/src/components/FileViewer/image-renderer.tsx +256 -0
- package/src/components/HoverCard/hover-card.tsx +79 -0
- package/src/components/Input/input.tsx +233 -0
- package/src/components/LinkInput/link-input.tsx +304 -0
- package/src/components/Menu/menu-item.tsx +334 -0
- package/src/components/NameCard/name-card.tsx +319 -0
- package/src/components/Notice/notice.tsx +196 -0
- package/src/components/NumberInput/number-input.tsx +203 -0
- package/src/components/OverflowIndicator/overflow-indicator.tsx +156 -0
- package/src/components/PeoplePicker/avatar-stack-overflow.ts +100 -0
- package/src/components/PeoplePicker/people-picker-helpers.ts +76 -0
- package/src/components/PeoplePicker/people-picker.tsx +455 -0
- package/src/components/PeoplePicker/person-display.tsx +358 -0
- package/src/components/Popover/popover.tsx +183 -0
- package/src/components/ProgressBar/progress-bar.tsx +157 -0
- package/src/components/README.md +58 -0
- package/src/components/RadioGroup/radio-group.tsx +261 -0
- package/src/components/Rating/rating.tsx +295 -0
- package/src/components/ScrollArea/scroll-area.tsx +110 -0
- package/src/components/SegmentedControl/segmented-control.tsx +304 -0
- package/src/components/Select/select.tsx +658 -0
- package/src/components/SelectMenu/select-menu.tsx +430 -0
- package/src/components/SelectionControl/selection-item.tsx +261 -0
- package/src/components/Separator/separator.tsx +48 -0
- package/src/components/Sheet/sheet.tsx +240 -0
- package/src/components/Sidebar/sidebar.tsx +1280 -0
- package/src/components/Skeleton/skeleton.tsx +35 -0
- package/src/components/Slider/slider.tsx +158 -0
- package/src/components/Steps/steps.tsx +850 -0
- package/src/components/Switch/switch.tsx +285 -0
- package/src/components/Tabs/tabs.tsx +515 -0
- package/src/components/Tag/tag.tsx +246 -0
- package/src/components/Textarea/textarea.tsx +280 -0
- package/src/components/TimePicker/time-columns.tsx +260 -0
- package/src/components/TimePicker/time-picker.tsx +419 -0
- package/src/components/Toast/toast.tsx +129 -0
- package/src/components/Tooltip/tooltip.tsx +68 -0
- package/src/components/TreeView/tree-view.tsx +1031 -0
- package/src/hooks/use-controllable.ts +40 -0
- package/src/hooks/use-is-narrow-viewport.ts +19 -0
- package/src/hooks/use-is-touch-device.ts +21 -0
- package/src/hooks/use-overflow-items.ts +256 -0
- package/src/index.ts +85 -0
- package/src/lib/README.md +82 -0
- package/src/lib/drag-visual.ts +272 -0
- package/src/lib/i18n/README.md +60 -0
- package/src/lib/i18n/i18n-context.tsx +129 -0
- package/src/lib/multi-select-ordering.ts +61 -0
- package/src/lib/utils.ts +93 -0
- package/src/patterns/README.md +67 -0
- package/src/patterns/element-anatomy/item-anatomy.tsx +744 -0
- package/src/patterns/header-canonical/chrome-header.tsx +175 -0
- package/src/patterns/header-canonical/header-canonical.css +27 -0
- package/src/patterns/horizontal-overflow/horizontal-overflow.tsx +217 -0
- package/src/patterns/overlay-surface/overlay-surface.tsx +191 -0
- package/src/patterns/resize-handle/resize-handle.tsx +188 -0
- package/src/stories-helpers/anatomy/anatomy-utils.tsx +64 -0
- package/src/styles/preset.css +31 -0
- package/src/styles/tokens.css +35 -0
- package/src/tokens/README.md +53 -0
- package/src/tokens/color/primitives.css +429 -0
- package/src/tokens/color/semantic.css +539 -0
- package/src/tokens/elevation/overlay-geometry.ts +13 -0
- package/src/tokens/layoutSpace/layoutSpace.css +36 -0
- package/src/tokens/motion/motion.css +30 -0
- package/src/tokens/motion/motion.ts +17 -0
- package/src/tokens/opacity/opacity.css +23 -0
- package/src/tokens/radius/radius.css +19 -0
- package/src/tokens/typography/typography.css +118 -0
- package/src/tokens/uiSize/icon-size.ts +52 -0
- package/src/tokens/uiSize/uiSize.css +125 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════════════════════════════════
|
|
2
|
+
Opacity Tokens
|
|
3
|
+
═══════════════════════════════════════════════════════════════════════
|
|
4
|
+
|
|
5
|
+
系統內唯一的 opacity token(disabled 狀態)。其他所有透明度需求
|
|
6
|
+
應透過 alpha 色階(--white-aN / --black-aN)解決,不另開 opacity token。
|
|
7
|
+
|
|
8
|
+
**Drag-and-drop reuse(2026-05-06 v14.5.2 對齊 Atlassian Pragmatic)**:
|
|
9
|
+
- Drag source 半透殘影 → reuse `opacity-disabled`(0.45)。Atlassian Pragmatic
|
|
10
|
+
guidelines 也是 reuse `opacity.disabled`(他們值 0.40,我們 0.45,role 一致)。
|
|
11
|
+
- DragOverlay ghost 不另 dim,用 `opacity:1` + `shadow-[var(--elevation-200)]`
|
|
12
|
+
表達 "lifted preview"(對齊 dnd-kit / Material / Atlassian canonical)。
|
|
13
|
+
═══════════════════════════════════════════════════════════════════════ */
|
|
14
|
+
|
|
15
|
+
@theme inline {
|
|
16
|
+
--opacity-disabled: 0.45;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
/* ── Custom Utility ── */
|
|
21
|
+
@utility opacity-disabled {
|
|
22
|
+
opacity: var(--opacity-disabled);
|
|
23
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════════════════════════════════
|
|
2
|
+
Radius Tokens
|
|
3
|
+
═══════════════════════════════════════════════════════════════════════
|
|
4
|
+
|
|
5
|
+
見 radius.spec.md 的使用原則。
|
|
6
|
+
|
|
7
|
+
xs :2px(極小視覺 indicator,如 Chart legend swatch 8×8 色塊)
|
|
8
|
+
sm / md:4px(小元件、Tag、Badge、Button、Field、checkbox 等)
|
|
9
|
+
lg :8px(卡片、彈窗、容器層)
|
|
10
|
+
full :9999px(pill / circular,Avatar、Switch track 等)
|
|
11
|
+
═══════════════════════════════════════════════════════════════════════ */
|
|
12
|
+
|
|
13
|
+
@theme inline {
|
|
14
|
+
--radius-xs: 2px;
|
|
15
|
+
--radius-sm: 4px;
|
|
16
|
+
--radius-md: 4px;
|
|
17
|
+
--radius-lg: 8px;
|
|
18
|
+
--radius-full: 9999px;
|
|
19
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════════════════════════════════
|
|
2
|
+
Typography Tokens
|
|
3
|
+
═══════════════════════════════════════════════════════════════════════
|
|
4
|
+
|
|
5
|
+
┌─ 設計原則 ────────────────────────────────────────────────────────────┐
|
|
6
|
+
│ font-size 與預設 line-height 烤進 token。 │
|
|
7
|
+
│ font-weight 永遠由使用端疊加,不寫死在 token。 │
|
|
8
|
+
│ │
|
|
9
|
+
│ line-height 的選擇基於「是否適合多行閱讀」: │
|
|
10
|
+
│ lh 1.5 → 適合閱讀的連續段落(14px / 16px) │
|
|
11
|
+
│ lh 1.3 → 標題、短文字、不需閱讀行距的場景 │
|
|
12
|
+
│ │
|
|
13
|
+
│ 12px 以下不適合作為連續閱讀內文,一律 lh 1.3。 │
|
|
14
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
15
|
+
|
|
16
|
+
┌─ Heading scale 全部 lh 1.3 ────────────────────────────────────────┐
|
|
17
|
+
│ text-h1 48px 頁面主標題 │
|
|
18
|
+
│ text-h2 32px 區塊標題 │
|
|
19
|
+
│ text-h3 24px 子區塊標題 │
|
|
20
|
+
│ text-h4 20px 小節標題 │
|
|
21
|
+
│ text-h5 16px 元件層級標題 │
|
|
22
|
+
│ text-h6 14px 最小層級標題 │
|
|
23
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
24
|
+
|
|
25
|
+
┌─ Body scale lh 1.5,可用 leading-compact 覆蓋為 1.3 ──────────────┐
|
|
26
|
+
│ text-body-lg 16px 16px 為主版面的段落內文 │
|
|
27
|
+
│ text-body 14px ★ 主要內文基準 │
|
|
28
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
29
|
+
|
|
30
|
+
┌─ Supplementary scale 全部 lh 1.3 ──────────────────────────────────┐
|
|
31
|
+
│ text-caption 12px 圖表附註、元件 helper text、標籤文字 │
|
|
32
|
+
│ text-footnote 10px 法律文字、來源標注(極少用) │
|
|
33
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
34
|
+
═══════════════════════════════════════════════════════════════════════ */
|
|
35
|
+
|
|
36
|
+
:root {
|
|
37
|
+
/* Font Size */
|
|
38
|
+
--font-h1-size: 48px;
|
|
39
|
+
--font-h2-size: 32px;
|
|
40
|
+
--font-h3-size: 24px;
|
|
41
|
+
--font-h4-size: 20px;
|
|
42
|
+
--font-h5-size: 16px;
|
|
43
|
+
--font-h6-size: 14px;
|
|
44
|
+
|
|
45
|
+
--font-body-lg-size: 16px;
|
|
46
|
+
--font-body-size: 14px;
|
|
47
|
+
|
|
48
|
+
--font-caption-size: 12px;
|
|
49
|
+
--font-footnote-size: 10px;
|
|
50
|
+
|
|
51
|
+
/* ─ Letter-spacing(role-specific only;raw tracking-* utility 禁用)─
|
|
52
|
+
`--tracking-shortcut`:鍵盤快捷鍵顯示專用(⌘K / Ctrl+S 等)。寬一階
|
|
53
|
+
letter-spacing 讓 glyph 之間呼吸感對齊鍵帽 visual idiom — 對齊
|
|
54
|
+
Material / GitHub Primer / Polaris KeyboardKey / Tailwind「wider tracking
|
|
55
|
+
for uppercase buttons + labels」canonical。0.1em 與 Tailwind tracking-widest
|
|
56
|
+
相同值但語義特定(不放任 raw utility 漏)。 */
|
|
57
|
+
--tracking-shortcut: 0.1em;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
/* ── Tailwind Theme Bridge ──
|
|
62
|
+
font-sans — Roboto 為品牌字體(假設系統已有,不另外載入 web font)
|
|
63
|
+
|
|
64
|
+
┌─ Stack 順序 ───────────────────────────────────────────────────────┐
|
|
65
|
+
│ 1. Roboto(假設系統有;沒有則 fallback) │
|
|
66
|
+
│ 2. OS 系統字 fallback(macOS / Windows / generic) │
|
|
67
|
+
│ 3. CJK 字體 fallback(瀏覽器 glyph-level fallback 自動觸發) │
|
|
68
|
+
│ 4. generic + emoji │
|
|
69
|
+
└────────────────────────────────────────────────────────────────────┘
|
|
70
|
+
|
|
71
|
+
原理:瀏覽器做 glyph-level fallback,自動沿 stack 找有對應字元的字體 */
|
|
72
|
+
@theme {
|
|
73
|
+
--font-sans:
|
|
74
|
+
/* Brand font — 假設系統已有 */
|
|
75
|
+
Roboto,
|
|
76
|
+
/* Latin OS fallback */
|
|
77
|
+
-apple-system, BlinkMacSystemFont,
|
|
78
|
+
"Segoe UI Variable", "Segoe UI",
|
|
79
|
+
system-ui,
|
|
80
|
+
/* Japanese */
|
|
81
|
+
"Hiragino Sans", "Yu Gothic UI", Meiryo, "Noto Sans JP",
|
|
82
|
+
/* Korean */
|
|
83
|
+
"Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR",
|
|
84
|
+
/* Chinese (TC) */
|
|
85
|
+
"PingFang TC", "Microsoft JhengHei UI", "Microsoft JhengHei",
|
|
86
|
+
/* generic */
|
|
87
|
+
sans-serif,
|
|
88
|
+
/* emoji */
|
|
89
|
+
"Apple Color Emoji", "Segoe UI Emoji";
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
/* ── Tailwind Utility Bridge ── */
|
|
94
|
+
|
|
95
|
+
@utility text-h1 { font-size: var(--font-h1-size); line-height: 1.3; }
|
|
96
|
+
@utility text-h2 { font-size: var(--font-h2-size); line-height: 1.3; }
|
|
97
|
+
@utility text-h3 { font-size: var(--font-h3-size); line-height: 1.3; }
|
|
98
|
+
@utility text-h4 { font-size: var(--font-h4-size); line-height: 1.3; }
|
|
99
|
+
@utility text-h5 { font-size: var(--font-h5-size); line-height: 1.3; }
|
|
100
|
+
@utility text-h6 { font-size: var(--font-h6-size); line-height: 1.3; }
|
|
101
|
+
|
|
102
|
+
@utility text-body-lg { font-size: var(--font-body-lg-size); line-height: 1.5; }
|
|
103
|
+
@utility text-body { font-size: var(--font-body-size); line-height: 1.5; }
|
|
104
|
+
|
|
105
|
+
@utility text-caption { font-size: var(--font-caption-size); line-height: 1.3; }
|
|
106
|
+
@utility text-footnote { font-size: var(--font-footnote-size); line-height: 1.3; }
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
/* ── line-height override
|
|
110
|
+
leading-normal (1.5) 已是 Tailwind 內建,只補 leading-compact ── */
|
|
111
|
+
@utility leading-compact { line-height: 1.3; }
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
/* ── Letter-spacing semantic utility(對齊 single semantic value per role 哲學)──
|
|
115
|
+
`tracking-shortcut`:鍵盤快捷鍵 hint(Command / DropdownMenuShortcut 等)。
|
|
116
|
+
禁 raw `tracking-(tight|wide|wider|widest|tighter)` per typography.spec.md L91-105
|
|
117
|
+
+ utility-registry.json block list。新增 role 需新 token + 新 @utility。 */
|
|
118
|
+
@utility tracking-shortcut { letter-spacing: var(--tracking-shortcut); }
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Icon Size SSOT — cross-domain re-export entry
|
|
3
|
+
*
|
|
4
|
+
* Owner:`packages/design-system/src/patterns/element-anatomy/item-anatomy.tsx:66` `ICON_SIZE`
|
|
5
|
+
* Spec:`packages/design-system/src/tokens/uiSize/uiSize.spec.md` 「Icon Size Tier」段
|
|
6
|
+
*
|
|
7
|
+
* ── 為什麼 re-export 不直接動 owner ──
|
|
8
|
+
* `ICON_SIZE` const codified in `item-anatomy.tsx` 是 row primitive SSOT(MenuItem / TreeView /
|
|
9
|
+
* Sidebar / DropdownMenu / SelectionItem / Item-anatomy 等 row-based primitives 消費)。
|
|
10
|
+
*
|
|
11
|
+
* Form control(Button / Input / Combobox / DatePicker / Tabs / Select / SegmentedControl 等)
|
|
12
|
+
* 不該 cross-domain import patterns/element-anatomy(會造成 components→patterns 反向 dependency
|
|
13
|
+
* 增加 cycle 風險)。透過 `tokens/uiSize/` 作 token home 是 cross-domain SSOT 的慣例(token 是 DS
|
|
14
|
+
* 內最底層,所有 layer 都可 consume 不違反 dependency direction)。
|
|
15
|
+
*
|
|
16
|
+
* ── Tier ──
|
|
17
|
+
* `field-height-xs / sm / md` → icon **16px**
|
|
18
|
+
* `field-height-lg` → icon **20px**
|
|
19
|
+
*
|
|
20
|
+
* 詳 spec L132+ Icon Size Tier 段(stroke 下限 12px / Tag-Field 配對 / etc.)
|
|
21
|
+
*
|
|
22
|
+
* ── Consumer 用法 ──
|
|
23
|
+
* ```tsx
|
|
24
|
+
* import { ICON_SIZE } from '@/design-system/tokens/uiSize/icon-size'
|
|
25
|
+
*
|
|
26
|
+
* // sm/md → 16, lg → 20
|
|
27
|
+
* <LucideIcon size={ICON_SIZE[size]} />
|
|
28
|
+
*
|
|
29
|
+
* // form control xs(field-height-xs 24)用 ICON_SIZE.sm(同 16,per spec L132 Tier)
|
|
30
|
+
* <LucideIcon size={size === 'xs' ? ICON_SIZE.sm : ICON_SIZE[size]} />
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* ── 防漂移 ──
|
|
34
|
+
* 1. uiSize.spec.md「Icon Size Tier」段 codify 16/16/16/20 tier(text-based canonical)
|
|
35
|
+
* 2. 本 const 程式化 SSOT(type-safe Record<RowSize, number>)
|
|
36
|
+
* 3. Hook `check_icon_size_literal.sh`(write-time regex 攔非標準 literal)
|
|
37
|
+
* 4. Audit Dim「Icon size literal compliance」DS-wide audit-time scan
|
|
38
|
+
*
|
|
39
|
+
* ── Carve-out(不適用本 SSOT)──
|
|
40
|
+
* - `rating.spec.md` Rating star 20/24/24(identity scale,cite Ant/Material/Airbnb)
|
|
41
|
+
* - `avatar.spec.md` Avatar 內 icon `round_even(size × 0.6)`(Material/Apple HIG)
|
|
42
|
+
* - `empty.tsx` Empty 用 Avatar 48 wrap → icon 28(Avatar formula derived)
|
|
43
|
+
* - `file-viewer.tsx` thumb 64 → icon 20(thumbnail file-type indicator,hardcode 無公式)
|
|
44
|
+
* - `circular-progress.tsx` `strokeWidth = max(2, size/10)`(stroke ring 厚度公式,非 icon)
|
|
45
|
+
* - `steps.tsx` INDICATOR_ICON_SIZE `{sm:0, md:16, lg:20}`(部分對齊 tier,sm 因圓圈 8px 太小)
|
|
46
|
+
* - `slider.tsx` thumb 固定不隨 size 變(視覺 single tier)
|
|
47
|
+
* - `checkbox.tsx` + `switch.tsx` check `{sm:12, md:12, lg:16}`(form-control internal,stroke 下限)
|
|
48
|
+
*
|
|
49
|
+
* 詳 uiSize.spec.md「跨 regime pointer index」段。
|
|
50
|
+
*/
|
|
51
|
+
export { ICON_SIZE } from '@/design-system/patterns/element-anatomy/item-anatomy'
|
|
52
|
+
export type { RowSize } from '@/design-system/patterns/element-anatomy/item-anatomy'
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/* ═══════════════════════════════════════════════════════════════════════
|
|
2
|
+
Component Size — Semantic Tokens
|
|
3
|
+
═══════════════════════════════════════════════════════════════════════
|
|
4
|
+
|
|
5
|
+
元件高度的語義 token。rem 單位,尊重使用者瀏覽器字體設定(WCAG)。
|
|
6
|
+
透過 data-density 切換 md / lg 模式。
|
|
7
|
+
|
|
8
|
+
┌─ Field Height ────────────────────────────────────────────────────┐
|
|
9
|
+
│ Button、Input、Checkbox/Radio SelectionItem 等互動元件 │
|
|
10
|
+
│ xs 固定不隨 density 縮放(密集 UI、Button xs) │
|
|
11
|
+
│ sm / md / lg 隨 density 響應 │
|
|
12
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
13
|
+
|
|
14
|
+
┌─ Table Row ───────────────────────────────────────────────────────┐
|
|
15
|
+
│ DataTable 行高 │
|
|
16
|
+
│ sm / md / lg 三種尺寸,density 切換統一 +0.5rem (+8px) │
|
|
17
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
18
|
+
═══════════════════════════════════════════════════════════════════════ */
|
|
19
|
+
|
|
20
|
+
:root {
|
|
21
|
+
/* Field Height — Button、Input、SelectionItem、SegmentedControl */
|
|
22
|
+
--field-height-xs: 1.5rem; /* 24px — 固定,不隨 density 縮放 */
|
|
23
|
+
--field-height-sm: 1.75rem; /* 28px */
|
|
24
|
+
--field-height-md: 2rem; /* 32px */
|
|
25
|
+
--field-height-lg: 2.25rem; /* 36px */
|
|
26
|
+
|
|
27
|
+
/* Table Row Height — DataTable */
|
|
28
|
+
--table-row-sm: 2rem; /* 32px */
|
|
29
|
+
--table-row-md: 2.5rem; /* 40px */
|
|
30
|
+
--table-row-lg: 3rem; /* 48px */
|
|
31
|
+
|
|
32
|
+
/* Tab Height — Tabs
|
|
33
|
+
獨立於 field-height 與 table-row:tabs 是 navigation container,
|
|
34
|
+
需要比 form control 更大的呼吸感。數值目前與 table-row 對齊,
|
|
35
|
+
但概念獨立,不用 var() alias — 未來任何一方調整都不牽動另一方。 */
|
|
36
|
+
--tab-height-sm: 2rem; /* 32px — ★ 預設(2026-05-17 從 md 改),overlay / chrome / dense */
|
|
37
|
+
--tab-height-md: 2.5rem; /* 40px — future tier(無 recommended use case,2026-05-17 從 default 降級) */
|
|
38
|
+
--tab-height-lg: 3rem; /* 48px — 獨立 tabs 取代 chrome header(= --chrome-header-height) */
|
|
39
|
+
|
|
40
|
+
/* Chrome Header Height — Sidebar / FileViewer Toolbar+InfoPanel / app top bar / page header
|
|
41
|
+
+ Overlay family chrome (Dialog/Sheet/Popover/Coachmark header+footer via overlay-surface SurfaceHeader/SurfaceFooter)
|
|
42
|
+
(SSOT,2026-05-23 deep-audit Phase A Decision 1 codify per user verbatim「決策一照你建議」 —
|
|
43
|
+
從 src/globals.css 搬到 DS tokens 因 npm-package consumer 沒 src/globals.css 會崩 header 高度,違 M17 SSOT 鐵律)
|
|
44
|
+
consumer:patterns/header-canonical/chrome-header.tsx、overlay-surface.tsx、dialog.tsx 等
|
|
45
|
+
世界級對照:Linear 48px / Atlassian 48-56 / Material small AppBar 48-56 / VS Code activity-bar 48
|
|
46
|
+
── 為什麼是 48 / 56(hardcode,非公式) ──
|
|
47
|
+
世界級 app 的 header 高度集中在 40–64px,甜蜜點 48–56。
|
|
48
|
+
兩個值都 snap 到 8px grid。anchor 是 field-height-md(容納 md Button + 上下呼吸空間)。
|
|
49
|
+
不寫成 calc() 公式因為 lg 無法完美遵守(54 → 56 為了 8px grid 取整),hardcode 比假公式誠實。 */
|
|
50
|
+
--chrome-header-height: 3rem; /* 48px */
|
|
51
|
+
|
|
52
|
+
/* Tree Indent — TreeView + DataTable nested rows(SSOT,2026-05-04)
|
|
53
|
+
公式:chevronSize + gap-2 = 16+8(sm/md)/ 20+8(lg)
|
|
54
|
+
Consumer:TreeView depth indent / DataTable nested row depth indent */
|
|
55
|
+
--tree-indent-sm: 1.5rem; /* 24px */
|
|
56
|
+
--tree-indent-md: 1.5rem; /* 24px */
|
|
57
|
+
--tree-indent-lg: 1.75rem; /* 28px */
|
|
58
|
+
|
|
59
|
+
/* DataTable Panel Widths — Sort manager / Filter panel cells(SSOT,2026-05-23 deep-audit Phase A.4 Decision 2 codify per user verbatim「決策二照你建議做」+「確保最SSOT最簡潔」)
|
|
60
|
+
Consumer:data-table-sort-manager.tsx / data-table-filter-panel.tsx
|
|
61
|
+
不 density-scale(panels 是 floating layout,不該跟密度走)
|
|
62
|
+
Naming aligned to family `--<component>-<part>-<size>`(per --field-height-* / --table-row-* / --tab-height-* precedent)*/
|
|
63
|
+
--data-table-sort-panel-width: 30rem; /* 480px — sort manager root container width */
|
|
64
|
+
--data-table-filter-field-width: 10rem; /* 160px — filter cell column selector(flat + nested 同 width) */
|
|
65
|
+
--data-table-filter-op-width: 7.5rem; /* 120px — filter cell operator selector(when value cell exists) */
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
[data-ui-size="lg"],
|
|
69
|
+
[data-density="lg"] {
|
|
70
|
+
--field-height-sm: 2rem; /* 32px */
|
|
71
|
+
--field-height-md: 2.25rem; /* 36px */
|
|
72
|
+
--field-height-lg: 2.5rem; /* 40px */
|
|
73
|
+
|
|
74
|
+
--table-row-sm: 2.5rem; /* 40px */
|
|
75
|
+
--table-row-md: 3rem; /* 48px */
|
|
76
|
+
--table-row-lg: 3.5rem; /* 56px */
|
|
77
|
+
|
|
78
|
+
--tab-height-sm: 2.5rem; /* 40px */
|
|
79
|
+
--tab-height-md: 3rem; /* 48px */
|
|
80
|
+
--tab-height-lg: 3.5rem; /* 56px */
|
|
81
|
+
|
|
82
|
+
--chrome-header-height: 3.5rem; /* 56px(lg density) */
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* 2026-04-22:md reset selector — 當祖先層級(e.g. html[data-density="lg"])已 cascading
|
|
86
|
+
lg overrides 下來,subtree 元件(Popover / DropdownMenu / Tooltip 等)宣告 `data-density="md"`
|
|
87
|
+
或 `data-ui-size="md"` 時必須能 reset 回 md default,否則 Portal 逃逸 + cascading
|
|
88
|
+
會讓 lock md 失效(Meta-Pattern M3 Portal subtree context drift 類)。 */
|
|
89
|
+
[data-ui-size="md"],
|
|
90
|
+
[data-density="md"] {
|
|
91
|
+
--field-height-sm: 1.75rem; /* 28px — md default */
|
|
92
|
+
--field-height-md: 2rem; /* 32px — md default */
|
|
93
|
+
--field-height-lg: 2.25rem; /* 36px — md default */
|
|
94
|
+
|
|
95
|
+
--table-row-sm: 2rem; /* 32px */
|
|
96
|
+
--table-row-md: 2.5rem; /* 40px */
|
|
97
|
+
--table-row-lg: 3rem; /* 48px */
|
|
98
|
+
|
|
99
|
+
--tab-height-sm: 2rem; /* 32px */
|
|
100
|
+
--tab-height-md: 2.5rem; /* 40px */
|
|
101
|
+
--tab-height-lg: 3rem; /* 48px */
|
|
102
|
+
|
|
103
|
+
--tree-indent-sm: 1.5rem; /* 24px — md default */
|
|
104
|
+
--tree-indent-md: 1.5rem; /* 24px — md default */
|
|
105
|
+
--tree-indent-lg: 1.75rem; /* 28px — md default */
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
/* ── Tailwind Theme Bridge ──
|
|
110
|
+
橋接成 spacing utility,讓 h-field-md / h-table-row-lg 等 class 可用 */
|
|
111
|
+
@theme inline {
|
|
112
|
+
--spacing-field-xs: var(--field-height-xs);
|
|
113
|
+
--spacing-field-sm: var(--field-height-sm);
|
|
114
|
+
--spacing-field-md: var(--field-height-md);
|
|
115
|
+
--spacing-field-lg: var(--field-height-lg);
|
|
116
|
+
--spacing-table-row-sm: var(--table-row-sm);
|
|
117
|
+
--spacing-table-row-md: var(--table-row-md);
|
|
118
|
+
--spacing-table-row-lg: var(--table-row-lg);
|
|
119
|
+
--spacing-tab-sm: var(--tab-height-sm);
|
|
120
|
+
--spacing-tab-md: var(--tab-height-md);
|
|
121
|
+
--spacing-tab-lg: var(--tab-height-lg);
|
|
122
|
+
--spacing-tree-indent-sm: var(--tree-indent-sm);
|
|
123
|
+
--spacing-tree-indent-md: var(--tree-indent-md);
|
|
124
|
+
--spacing-tree-indent-lg: var(--tree-indent-lg);
|
|
125
|
+
}
|