@cognite/aura 0.3.5 → 1.46105.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +264 -0
- package/DESIGN.md +638 -281
- package/LICENSE +21 -0
- package/README.md +21 -13
- package/dist/colors-deprecated.css +587 -0
- package/dist/colors.css +803 -830
- package/dist/components/index.d.ts +63 -57
- package/dist/components/index.js +62 -59
- package/dist/components/index.js.map +1 -0
- package/dist/components/ui/core/accordion/accordion.d.ts +19 -18
- package/dist/components/ui/core/accordion/accordion.js +99 -78
- package/dist/components/ui/core/accordion/accordion.js.map +1 -0
- package/dist/components/ui/core/action-toolbar/action-toolbar-motion.d.ts +8 -0
- package/dist/components/ui/core/action-toolbar/action-toolbar-motion.js +125 -0
- package/dist/components/ui/core/action-toolbar/action-toolbar-motion.js.map +1 -0
- package/dist/components/ui/core/action-toolbar/action-toolbar.d.ts +31 -31
- package/dist/components/ui/core/action-toolbar/action-toolbar.js +156 -106
- package/dist/components/ui/core/action-toolbar/action-toolbar.js.map +1 -0
- package/dist/components/ui/core/alert/alert.d.ts +25 -25
- package/dist/components/ui/core/alert/alert.js +181 -152
- package/dist/components/ui/core/alert/alert.js.map +1 -0
- package/dist/components/ui/core/avatar/avatar.d.ts +10 -9
- package/dist/components/ui/core/avatar/avatar.js +75 -65
- package/dist/components/ui/core/avatar/avatar.js.map +1 -0
- package/dist/components/ui/core/badge/badge.d.ts +13 -12
- package/dist/components/ui/core/badge/badge.js +88 -72
- package/dist/components/ui/core/badge/badge.js.map +1 -0
- package/dist/components/ui/core/banner/banner.d.ts +18 -18
- package/dist/components/ui/core/banner/banner.js +179 -142
- package/dist/components/ui/core/banner/banner.js.map +1 -0
- package/dist/components/ui/core/breadcrumb/breadcrumb.d.ts +12 -12
- package/dist/components/ui/core/breadcrumb/breadcrumb.js +139 -104
- package/dist/components/ui/core/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/ui/core/button/button.d.ts +7 -7
- package/dist/components/ui/core/button/button.gallery.d.ts +2 -0
- package/dist/components/ui/core/button/button.gallery.js +76 -0
- package/dist/components/ui/core/button/button.gallery.js.map +1 -0
- package/dist/components/ui/core/button/button.js +57 -47
- package/dist/components/ui/core/button/button.js.map +1 -0
- package/dist/components/ui/core/button-group/button-group.d.ts +9 -9
- package/dist/components/ui/core/button-group/button-group.js +50 -40
- package/dist/components/ui/core/button-group/button-group.js.map +1 -0
- package/dist/components/ui/core/calendar/calendar-header.d.ts +7 -7
- package/dist/components/ui/core/calendar/calendar-header.js +102 -63
- package/dist/components/ui/core/calendar/calendar-header.js.map +1 -0
- package/dist/components/ui/core/calendar/calendar-utils.d.ts +30 -30
- package/dist/components/ui/core/calendar/calendar-utils.js +116 -39
- package/dist/components/ui/core/calendar/calendar-utils.js.map +1 -0
- package/dist/components/ui/core/calendar/calendar.d.ts +10 -10
- package/dist/components/ui/core/calendar/calendar.js +95 -66
- package/dist/components/ui/core/calendar/calendar.js.map +1 -0
- package/dist/components/ui/core/calendar/constants.js +3 -0
- package/dist/components/ui/core/calendar/constants.js.map +1 -0
- package/dist/components/ui/core/card/card.d.ts +20 -20
- package/dist/components/ui/core/card/card.js +133 -104
- package/dist/components/ui/core/card/card.js.map +1 -0
- package/dist/components/ui/core/chart/chart.d.ts +55 -53
- package/dist/components/ui/core/chart/chart.js +196 -116
- package/dist/components/ui/core/chart/chart.js.map +1 -0
- package/dist/components/ui/core/chart/index.d.ts +2 -2
- package/dist/components/ui/core/chart/index.js +3 -2
- package/dist/components/ui/core/chart/index.js.map +1 -0
- package/dist/components/ui/core/checkbox/checkbox.d.ts +9 -9
- package/dist/components/ui/core/checkbox/checkbox.js +88 -68
- package/dist/components/ui/core/checkbox/checkbox.js.map +1 -0
- package/dist/components/ui/core/checkbox/checkbox.metadata.d.ts +1 -1
- package/dist/components/ui/core/checkbox/checkbox.metadata.js +6 -7
- package/dist/components/ui/core/checkbox/checkbox.metadata.js.map +1 -0
- package/dist/components/ui/core/code-block/code-block.d.ts +19 -19
- package/dist/components/ui/core/code-block/code-block.js +259 -175
- package/dist/components/ui/core/code-block/code-block.js.map +1 -0
- package/dist/components/ui/core/collapsible/collapsible.d.ts +5 -5
- package/dist/components/ui/core/collapsible/collapsible.js +36 -30
- package/dist/components/ui/core/collapsible/collapsible.js.map +1 -0
- package/dist/components/ui/core/combobox/combobox.d.ts +13 -13
- package/dist/components/ui/core/combobox/combobox.js +89 -40
- package/dist/components/ui/core/combobox/combobox.js.map +1 -0
- package/dist/components/ui/core/command/command.d.ts +20 -18
- package/dist/components/ui/core/command/command.js +137 -85
- package/dist/components/ui/core/command/command.js.map +1 -0
- package/dist/components/ui/core/conversation/conversation.d.ts +14 -0
- package/dist/components/ui/core/conversation/conversation.js +51 -0
- package/dist/components/ui/core/conversation/conversation.js.map +1 -0
- package/dist/components/ui/core/count/count.d.ts +8 -6
- package/dist/components/ui/core/count/count.js +51 -21
- package/dist/components/ui/core/count/count.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-cell.d.ts +7 -7
- package/dist/components/ui/core/data-grid/data-grid-cell.js +22 -22
- package/dist/components/ui/core/data-grid/data-grid-cell.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-filter-clauses.d.ts +14 -0
- package/dist/components/ui/core/data-grid/data-grid-filter-clauses.js +36 -0
- package/dist/components/ui/core/data-grid/data-grid-filter-clauses.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-filter-panel.d.ts +41 -0
- package/dist/components/ui/core/data-grid/data-grid-filter-panel.js +273 -0
- package/dist/components/ui/core/data-grid/data-grid-filter-panel.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-footer.d.ts +6 -0
- package/dist/components/ui/core/data-grid/data-grid-footer.js +34 -0
- package/dist/components/ui/core/data-grid/data-grid-footer.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-header-row.d.ts +10 -10
- package/dist/components/ui/core/data-grid/data-grid-header-row.js +69 -55
- package/dist/components/ui/core/data-grid/data-grid-header-row.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-header.d.ts +11 -0
- package/dist/components/ui/core/data-grid/data-grid-header.js +67 -0
- package/dist/components/ui/core/data-grid/data-grid-header.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-row.d.ts +15 -15
- package/dist/components/ui/core/data-grid/data-grid-row.js +104 -76
- package/dist/components/ui/core/data-grid/data-grid-row.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid.d.ts +85 -35
- package/dist/components/ui/core/data-grid/data-grid.fixtures.d.ts +7 -7
- package/dist/components/ui/core/data-grid/data-grid.fixtures.js +139 -0
- package/dist/components/ui/core/data-grid/data-grid.fixtures.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid.js +402 -132
- package/dist/components/ui/core/data-grid/data-grid.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid.utils.d.ts +3 -3
- package/dist/components/ui/core/data-grid/data-grid.utils.js +44 -33
- package/dist/components/ui/core/data-grid/data-grid.utils.js.map +1 -0
- package/dist/components/ui/core/data-grid/index.d.ts +4 -1
- package/dist/components/ui/core/data-grid/index.js +5 -2
- package/dist/components/ui/core/data-grid/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.d.ts +11 -13
- package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js +85 -61
- package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-picker/index.d.ts +3 -3
- package/dist/components/ui/core/date-time-pickers/date-picker/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-picker/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-picker/types.d.ts +14 -14
- package/dist/components/ui/core/date-time-pickers/date-picker/types.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-picker/types.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.d.ts +2 -2
- package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js +51 -36
- package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.d.ts +11 -13
- package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js +89 -64
- package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-range-picker/index.d.ts +3 -3
- package/dist/components/ui/core/date-time-pickers/date-range-picker/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-range-picker/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-range-picker/types.d.ts +20 -20
- package/dist/components/ui/core/date-time-pickers/date-range-picker/types.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-range-picker/types.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.d.ts +4 -4
- package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js +95 -60
- package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.d.ts +15 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.js +120 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/index.d.ts +3 -1
- package/dist/components/ui/core/date-time-pickers/date-time-picker/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/types.d.ts +25 -32
- package/dist/components/ui/core/date-time-pickers/date-time-picker/types.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/types.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.d.ts +2 -2
- package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.js +78 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.d.ts +13 -15
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js +165 -119
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.d.ts +3 -3
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.d.ts +37 -37
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.d.ts +3 -3
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js +163 -104
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/index.d.ts +17 -12
- package/dist/components/ui/core/date-time-pickers/index.js +10 -6
- package/dist/components/ui/core/date-time-pickers/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.d.ts +5 -5
- package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js +52 -42
- package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/constants.d.ts +6 -1
- package/dist/components/ui/core/date-time-pickers/shared/constants.js +23 -0
- package/dist/components/ui/core/date-time-pickers/shared/constants.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.d.ts +16 -15
- package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js +87 -64
- package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.d.ts +10 -9
- package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js +89 -38
- package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.d.ts +5 -5
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js +34 -23
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.d.ts +23 -23
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js +95 -52
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.d.ts +5 -5
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js +22 -18
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.d.ts +19 -19
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js +41 -24
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.d.ts +13 -13
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js +33 -24
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.d.ts +5 -5
- package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js +9 -4
- package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.d.ts +13 -9
- package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js +22 -17
- package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.d.ts +2 -2
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.d.ts +13 -13
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js +49 -40
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.d.ts +7 -7
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js +41 -34
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-picker/index.d.ts +3 -3
- package/dist/components/ui/core/date-time-pickers/time-picker/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/time-picker/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.d.ts +12 -14
- package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js +99 -79
- package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-picker/types.d.ts +20 -20
- package/dist/components/ui/core/date-time-pickers/time-picker/types.js +3 -0
- package/dist/components/ui/core/date-time-pickers/time-picker/types.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.d.ts +2 -2
- package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js +63 -41
- package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/index.d.ts +3 -1
- package/dist/components/ui/core/date-time-pickers/time-range-picker/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.d.ts +14 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.js +115 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/types.d.ts +30 -36
- package/dist/components/ui/core/date-time-pickers/time-range-picker/types.js +3 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/types.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.d.ts +2 -2
- package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.js +145 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/utils/date-input.d.ts +56 -0
- package/dist/components/ui/core/date-time-pickers/utils/date-input.js +67 -0
- package/dist/components/ui/core/date-time-pickers/utils/date-input.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.d.ts +18 -18
- package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.js +42 -0
- package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/utils/format-utils.d.ts +31 -29
- package/dist/components/ui/core/date-time-pickers/utils/format-utils.js +56 -0
- package/dist/components/ui/core/date-time-pickers/utils/format-utils.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/utils/segment-utils.d.ts +21 -21
- package/dist/components/ui/core/date-time-pickers/utils/segment-utils.js +170 -0
- package/dist/components/ui/core/date-time-pickers/utils/segment-utils.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/utils/time-utils.d.ts +28 -28
- package/dist/components/ui/core/date-time-pickers/utils/time-utils.js +88 -7
- package/dist/components/ui/core/date-time-pickers/utils/time-utils.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/utils/time-validation.d.ts +17 -17
- package/dist/components/ui/core/date-time-pickers/utils/time-validation.js +43 -0
- package/dist/components/ui/core/date-time-pickers/utils/time-validation.js.map +1 -0
- package/dist/components/ui/core/dialog/dialog.d.ts +12 -9
- package/dist/components/ui/core/dialog/dialog.js +90 -82
- package/dist/components/ui/core/dialog/dialog.js.map +1 -0
- package/dist/components/ui/core/dropdown-menu/dropdown-menu.d.ts +22 -19
- package/dist/components/ui/core/dropdown-menu/dropdown-menu.js +204 -149
- package/dist/components/ui/core/dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/components/ui/core/empty-state/empty-state.context.d.ts +4 -4
- package/dist/components/ui/core/empty-state/empty-state.context.js +8 -5
- package/dist/components/ui/core/empty-state/empty-state.context.js.map +1 -0
- package/dist/components/ui/core/empty-state/empty-state.d.ts +14 -14
- package/dist/components/ui/core/empty-state/empty-state.js +96 -82
- package/dist/components/ui/core/empty-state/empty-state.js.map +1 -0
- package/dist/components/ui/core/helper-text/helper-text.d.ts +7 -7
- package/dist/components/ui/core/helper-text/helper-text.js +55 -36
- package/dist/components/ui/core/helper-text/helper-text.js.map +1 -0
- package/dist/components/ui/core/hover-card/hover-card.d.ts +7 -6
- package/dist/components/ui/core/hover-card/hover-card.js +56 -52
- package/dist/components/ui/core/hover-card/hover-card.js.map +1 -0
- package/dist/components/ui/core/inline-citation/inline-citation.d.ts +26 -25
- package/dist/components/ui/core/inline-citation/inline-citation.js +121 -97
- package/dist/components/ui/core/inline-citation/inline-citation.js.map +1 -0
- package/dist/components/ui/core/input/input.d.ts +2 -2
- package/dist/components/ui/core/input/input.js +15 -13
- package/dist/components/ui/core/input/input.js.map +1 -0
- package/dist/components/ui/core/input-group/input-group.d.ts +25 -14
- package/dist/components/ui/core/input-group/input-group.js +149 -76
- package/dist/components/ui/core/input-group/input-group.js.map +1 -0
- package/dist/components/ui/core/item/item.d.ts +20 -0
- package/dist/components/ui/core/item/item.js +93 -0
- package/dist/components/ui/core/item/item.js.map +1 -0
- package/dist/components/ui/core/kbd/kbd.d.ts +3 -3
- package/dist/components/ui/core/kbd/kbd.js +24 -20
- package/dist/components/ui/core/kbd/kbd.js.map +1 -0
- package/dist/components/ui/core/label/label.d.ts +3 -3
- package/dist/components/ui/core/label/label.js +33 -26
- package/dist/components/ui/core/label/label.js.map +1 -0
- package/dist/components/ui/core/loader/loader.d.ts +6 -6
- package/dist/components/ui/core/loader/loader.js +97 -80
- package/dist/components/ui/core/loader/loader.js.map +1 -0
- package/dist/components/ui/core/message/message-response-default-streamdown-controls.d.ts +9 -9
- package/dist/components/ui/core/message/message-response-default-streamdown-controls.js +19 -12
- package/dist/components/ui/core/message/message-response-default-streamdown-controls.js.map +1 -0
- package/dist/components/ui/core/message/message-response-math-plugin.d.ts +3 -0
- package/dist/components/ui/core/message/message-response-math-plugin.js +6 -0
- package/dist/components/ui/core/message/message-response-math-plugin.js.map +1 -0
- package/dist/components/ui/core/message/message.d.ts +27 -23
- package/dist/components/ui/core/message/message.js +453 -316
- package/dist/components/ui/core/message/message.js.map +1 -0
- package/dist/components/ui/core/overflow-list/overflow-list.d.ts +21 -0
- package/dist/components/ui/core/overflow-list/overflow-list.js +197 -0
- package/dist/components/ui/core/overflow-list/overflow-list.js.map +1 -0
- package/dist/components/ui/core/overflow-list/overflow-list.utils.d.ts +37 -35
- package/dist/components/ui/core/overflow-list/overflow-list.utils.js +206 -0
- package/dist/components/ui/core/overflow-list/overflow-list.utils.js.map +1 -0
- package/dist/components/ui/core/pagination/pagination-size-context.d.ts +2 -2
- package/dist/components/ui/core/pagination/pagination-size-context.js +6 -5
- package/dist/components/ui/core/pagination/pagination-size-context.js.map +1 -0
- package/dist/components/ui/core/pagination/pagination-teleport.d.ts +9 -9
- package/dist/components/ui/core/pagination/pagination-teleport.js +127 -84
- package/dist/components/ui/core/pagination/pagination-teleport.js.map +1 -0
- package/dist/components/ui/core/pagination/pagination-teleport.utils.js +6 -6
- package/dist/components/ui/core/pagination/pagination-teleport.utils.js.map +1 -0
- package/dist/components/ui/core/pagination/pagination.d.ts +39 -39
- package/dist/components/ui/core/pagination/pagination.js +294 -234
- package/dist/components/ui/core/pagination/pagination.js.map +1 -0
- package/dist/components/ui/core/popover/popover.d.ts +12 -11
- package/dist/components/ui/core/popover/popover.js +104 -89
- package/dist/components/ui/core/popover/popover.js.map +1 -0
- package/dist/components/ui/core/progress/progress.d.ts +9 -8
- package/dist/components/ui/core/progress/progress.js +50 -35
- package/dist/components/ui/core/progress/progress.js.map +1 -0
- package/dist/components/ui/core/prompt-input/prompt-input.d.ts +27 -27
- package/dist/components/ui/core/prompt-input/prompt-input.js +342 -271
- package/dist/components/ui/core/prompt-input/prompt-input.js.map +1 -0
- package/dist/components/ui/core/radio-group/radio-group.d.ts +12 -12
- package/dist/components/ui/core/radio-group/radio-group.js +88 -58
- package/dist/components/ui/core/radio-group/radio-group.js.map +1 -0
- package/dist/components/ui/core/reasoning/reasoning.d.ts +7 -7
- package/dist/components/ui/core/reasoning/reasoning.js +68 -56
- package/dist/components/ui/core/reasoning/reasoning.js.map +1 -0
- package/dist/components/ui/core/scroll-area/scroll-area.d.ts +4 -4
- package/dist/components/ui/core/scroll-area/scroll-area.js +50 -40
- package/dist/components/ui/core/scroll-area/scroll-area.js.map +1 -0
- package/dist/components/ui/core/search/search.d.ts +8 -8
- package/dist/components/ui/core/search/search.js +122 -76
- package/dist/components/ui/core/search/search.js.map +1 -0
- package/dist/components/ui/core/segmented-control/segmented-control.d.ts +10 -10
- package/dist/components/ui/core/segmented-control/segmented-control.js +203 -149
- package/dist/components/ui/core/segmented-control/segmented-control.js.map +1 -0
- package/dist/components/ui/core/select/select.d.ts +27 -26
- package/dist/components/ui/core/select/select.js +213 -168
- package/dist/components/ui/core/select/select.js.map +1 -0
- package/dist/components/ui/core/separator/separator.d.ts +2 -2
- package/dist/components/ui/core/separator/separator.js +13 -13
- package/dist/components/ui/core/separator/separator.js.map +1 -0
- package/dist/components/ui/core/shimmer/shimmer.d.ts +8 -8
- package/dist/components/ui/core/shimmer/shimmer.js +64 -40
- package/dist/components/ui/core/shimmer/shimmer.js.map +1 -0
- package/dist/components/ui/core/skeleton/skeleton.d.ts +2 -2
- package/dist/components/ui/core/skeleton/skeleton.js +13 -13
- package/dist/components/ui/core/skeleton/skeleton.js.map +1 -0
- package/dist/components/ui/core/slider/slider.d.ts +7 -7
- package/dist/components/ui/core/slider/slider.js +51 -39
- package/dist/components/ui/core/slider/slider.js.map +1 -0
- package/dist/components/ui/core/sonner-toast/sonner-toast.d.ts +2 -2
- package/dist/components/ui/core/sonner-toast/sonner-toast.js +67 -54
- package/dist/components/ui/core/sonner-toast/sonner-toast.js.map +1 -0
- package/dist/components/ui/core/sources/sources.d.ts +12 -12
- package/dist/components/ui/core/sources/sources.js +87 -58
- package/dist/components/ui/core/sources/sources.js.map +1 -0
- package/dist/components/ui/core/switch/switch.d.ts +9 -9
- package/dist/components/ui/core/switch/switch.js +83 -61
- package/dist/components/ui/core/switch/switch.js.map +1 -0
- package/dist/components/ui/core/switch/switch.metadata.d.ts +1 -1
- package/dist/components/ui/core/switch/switch.metadata.js +8 -0
- package/dist/components/ui/core/switch/switch.metadata.js.map +1 -0
- package/dist/components/ui/core/tabs/tabs.d.ts +20 -18
- package/dist/components/ui/core/tabs/tabs.js +176 -147
- package/dist/components/ui/core/tabs/tabs.js.map +1 -0
- package/dist/components/ui/core/tabs/tabs.utils.d.ts +1 -1
- package/dist/components/ui/core/tabs/tabs.utils.js +10 -6
- package/dist/components/ui/core/tabs/tabs.utils.js.map +1 -0
- package/dist/components/ui/core/textarea/textarea.d.ts +2 -2
- package/dist/components/ui/core/textarea/textarea.js +13 -13
- package/dist/components/ui/core/textarea/textarea.js.map +1 -0
- package/dist/components/ui/core/toggle/toggle.d.ts +9 -9
- package/dist/components/ui/core/toggle/toggle.js +60 -54
- package/dist/components/ui/core/toggle/toggle.js.map +1 -0
- package/dist/components/ui/core/tool/tool.d.ts +18 -18
- package/dist/components/ui/core/tool/tool.js +167 -126
- package/dist/components/ui/core/tool/tool.js.map +1 -0
- package/dist/components/ui/core/toolbar/toolbar.d.ts +37 -0
- package/dist/components/ui/core/toolbar/toolbar.js +171 -0
- package/dist/components/ui/core/toolbar/toolbar.js.map +1 -0
- package/dist/components/ui/core/tooltip/tooltip.d.ts +8 -7
- package/dist/components/ui/core/tooltip/tooltip.js +53 -46
- package/dist/components/ui/core/tooltip/tooltip.js.map +1 -0
- package/dist/components/ui/core/topbar/topbar.d.ts +26 -26
- package/dist/components/ui/core/topbar/topbar.js +160 -105
- package/dist/components/ui/core/topbar/topbar.js.map +1 -0
- package/dist/components/ui/core/tree/tree.d.ts +20 -0
- package/dist/components/ui/core/tree/tree.js +100 -0
- package/dist/components/ui/core/tree/tree.js.map +1 -0
- package/dist/eslint/index.d.ts +5 -5
- package/dist/eslint/index.js +9 -5
- package/dist/eslint/index.js.map +1 -0
- package/dist/eslint/no-overriding-styles.d.ts +1 -1
- package/dist/eslint/no-overriding-styles.js +341 -201
- package/dist/eslint/no-overriding-styles.js.map +1 -0
- package/dist/icons/index.d.ts +1 -1
- package/dist/icons/index.js +2 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/ai/types.d.ts +43 -43
- package/dist/lib/ai/types.js +3 -0
- package/dist/lib/ai/types.js.map +1 -0
- package/dist/lib/decorative-variant-classes.d.ts +53 -0
- package/dist/lib/decorative-variant-classes.js +58 -0
- package/dist/lib/decorative-variant-classes.js.map +1 -0
- package/dist/lib/highlight-code.d.ts +11 -8
- package/dist/lib/highlight-code.js +58 -40
- package/dist/lib/highlight-code.js.map +1 -0
- package/dist/lib/portal-container-context.d.ts +1 -1
- package/dist/lib/portal-container-context.js +8 -8
- package/dist/lib/portal-container-context.js.map +1 -0
- package/dist/lib/shared-theme-from-url.d.ts +13 -0
- package/dist/lib/shared-theme-from-url.js +61 -0
- package/dist/lib/shared-theme-from-url.js.map +1 -0
- package/dist/lib/style-scope.d.ts +2 -2
- package/dist/lib/style-scope.js +6 -6
- package/dist/lib/style-scope.js.map +1 -0
- package/dist/lib/theme-share-url.d.ts +31 -0
- package/dist/lib/theme-share-url.js +116 -0
- package/dist/lib/theme-share-url.js.map +1 -0
- package/dist/lib/types.d.ts +39 -39
- package/dist/lib/types.js +3 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/use-controllable-state.d.ts +4 -7
- package/dist/lib/use-controllable-state.js +34 -21
- package/dist/lib/use-controllable-state.js.map +1 -0
- package/dist/lib/utils.d.ts +63 -34
- package/dist/lib/utils.js +134 -32
- package/dist/lib/utils.js.map +1 -0
- package/dist/styles.css +2 -1
- package/dist/styles.source.css +24 -12
- package/dist/utils/assign-ref.d.ts +3 -0
- package/dist/utils/assign-ref.js +13 -0
- package/dist/utils/assign-ref.js.map +1 -0
- package/package.json +46 -11
- package/src/components/ui/core/button/button.md +93 -0
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { ForwardRefExoticComponent, RefAttributes, ReactNode } from
|
|
2
|
-
import { TooltipPopupProps, TooltipPositionerProps
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { type ForwardRefExoticComponent, type RefAttributes, type ReactNode } from "react";
|
|
2
|
+
import type { TooltipPopupProps, TooltipPositionerProps } from "@base-ui/react/tooltip";
|
|
3
|
+
import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip";
|
|
4
|
+
declare function TooltipProvider({ delayDuration, ...props }: Omit<TooltipPrimitive.Provider.Props, "delay"> & {
|
|
5
|
+
delayDuration?: number;
|
|
5
6
|
}): ReactNode;
|
|
6
7
|
declare function Tooltip({ disableHoverableContent, ...props }: TooltipPrimitive.Root.Props & {
|
|
7
|
-
|
|
8
|
+
disableHoverableContent?: boolean;
|
|
8
9
|
}): ReactNode;
|
|
9
|
-
declare const TooltipTrigger: ForwardRefExoticComponent<Omit<TooltipPrimitive.Trigger.Props<unknown>,
|
|
10
|
-
declare const TooltipContent: ForwardRefExoticComponent<Omit<TooltipPopupProps & Pick<TooltipPositionerProps,
|
|
10
|
+
declare const TooltipTrigger: ForwardRefExoticComponent<Omit<TooltipPrimitive.Trigger.Props<unknown>, "ref"> & RefAttributes<HTMLButtonElement>>;
|
|
11
|
+
declare const TooltipContent: ForwardRefExoticComponent<Omit<TooltipPopupProps & Pick<TooltipPositionerProps, "align" | "alignOffset" | "side" | "sideOffset">, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
11
12
|
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
|
|
@@ -1,49 +1,56 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
});
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip";
|
|
4
|
+
import { usePortalContainer } from "../../../../lib/portal-container-context.js";
|
|
5
|
+
import { cn } from "../../../../lib/utils.js";
|
|
6
|
+
function TooltipProvider({ delayDuration = 300, ...props }) {
|
|
7
|
+
return /*#__PURE__*/ _jsx(TooltipPrimitive.Provider, {
|
|
8
|
+
"data-slot": "tooltip-provider",
|
|
9
|
+
delay: delayDuration,
|
|
10
|
+
...props
|
|
11
|
+
});
|
|
13
12
|
}
|
|
14
|
-
function
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
function Tooltip({ disableHoverableContent, ...props }) {
|
|
14
|
+
return /*#__PURE__*/ _jsx(TooltipPrimitive.Root, {
|
|
15
|
+
"data-slot": "tooltip",
|
|
16
|
+
disableHoverablePopup: disableHoverableContent,
|
|
17
|
+
...props
|
|
18
|
+
});
|
|
20
19
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
var l = n(({ className: n, side: o = "top", sideOffset: s = 9, align: c = "center", alignOffset: l = 0, children: u, ...d }, f) => {
|
|
28
|
-
let p = t();
|
|
29
|
-
return /* @__PURE__ */ r(a.Portal, {
|
|
30
|
-
container: p,
|
|
31
|
-
children: /* @__PURE__ */ r(a.Positioner, {
|
|
32
|
-
align: c,
|
|
33
|
-
alignOffset: l,
|
|
34
|
-
side: o,
|
|
35
|
-
sideOffset: s,
|
|
36
|
-
className: "isolate z-50 min-w-max",
|
|
37
|
-
children: /* @__PURE__ */ i(a.Popup, {
|
|
38
|
-
ref: f,
|
|
39
|
-
"data-slot": "tooltip-content",
|
|
40
|
-
className: e("data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-raised-background text-foreground-fixed-light z-50 inline-flex min-h-9 w-fit max-w-80 items-center origin-(--transform-origin) rounded-lg px-3 py-2 text-sm font-medium leading-4.5 shadow-sm", n),
|
|
41
|
-
...d,
|
|
42
|
-
children: [u, /* @__PURE__ */ r(a.Arrow, { className: "size-2.5 -translate-y-1/2 rotate-45 rounded-xs data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 bg-raised-background fill-raised-background z-50 data-[side=bottom]:top-1 data-[side=bottom]:-mt-0.5 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5 data-[side=top]:-mt-0.5" })]
|
|
43
|
-
})
|
|
44
|
-
})
|
|
45
|
-
});
|
|
20
|
+
const TooltipTrigger = /*#__PURE__*/ forwardRef((props, ref)=>{
|
|
21
|
+
return /*#__PURE__*/ _jsx(TooltipPrimitive.Trigger, {
|
|
22
|
+
ref: ref,
|
|
23
|
+
"data-slot": "tooltip-trigger",
|
|
24
|
+
...props
|
|
25
|
+
});
|
|
46
26
|
});
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
27
|
+
TooltipTrigger.displayName = 'TooltipTrigger';
|
|
28
|
+
const TooltipContent = /*#__PURE__*/ forwardRef(({ className, side = 'top', sideOffset = 9, align = 'center', alignOffset = 0, children, ...props }, ref)=>{
|
|
29
|
+
const container = usePortalContainer();
|
|
30
|
+
return /*#__PURE__*/ _jsx(TooltipPrimitive.Portal, {
|
|
31
|
+
container: container,
|
|
32
|
+
children: /*#__PURE__*/ _jsx(TooltipPrimitive.Positioner, {
|
|
33
|
+
align: align,
|
|
34
|
+
alignOffset: alignOffset,
|
|
35
|
+
side: side,
|
|
36
|
+
sideOffset: sideOffset,
|
|
37
|
+
className: "isolate z-50 min-w-max",
|
|
38
|
+
children: /*#__PURE__*/ _jsxs(TooltipPrimitive.Popup, {
|
|
39
|
+
ref: ref,
|
|
40
|
+
"data-slot": "tooltip-content",
|
|
41
|
+
className: cn('data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-popover-background-fixed-dark text-popover-foreground-fixed-dark z-50 inline-flex min-h-9 w-fit max-w-80 items-center origin-(--transform-origin) rounded-lg px-3 py-2 text-sm font-medium leading-4.5 shadow-sm', className),
|
|
42
|
+
...props,
|
|
43
|
+
children: [
|
|
44
|
+
children,
|
|
45
|
+
/*#__PURE__*/ _jsx(TooltipPrimitive.Arrow, {
|
|
46
|
+
className: "size-2.5 -translate-y-1/2 rotate-45 rounded-xs data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 bg-popover-background-fixed-dark fill-popover-background-fixed-dark z-50 data-[side=bottom]:top-1 data-[side=bottom]:-mt-0.5 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5 data-[side=top]:-mt-0.5"
|
|
47
|
+
})
|
|
48
|
+
]
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
TooltipContent.displayName = 'TooltipContent';
|
|
54
|
+
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ui/core/tooltip/tooltip.tsx"],"sourcesContent":["import {\n type ForwardRefExoticComponent,\n type RefAttributes,\n type ReactNode,\n forwardRef,\n type ComponentRef,\n} from 'react';\n\nimport type {\n TooltipPopupProps,\n TooltipPositionerProps,\n} from '@base-ui/react/tooltip';\nimport { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip';\n\nimport { usePortalContainer } from '../../../../lib/portal-container-context';\nimport { cn } from '../../../../lib/utils';\n\nfunction TooltipProvider({\n delayDuration = 300,\n ...props\n}: Omit<TooltipPrimitive.Provider.Props, 'delay'> & {\n delayDuration?: number;\n}): ReactNode {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({\n disableHoverableContent,\n ...props\n}: TooltipPrimitive.Root.Props & {\n disableHoverableContent?: boolean;\n}): ReactNode {\n return (\n <TooltipPrimitive.Root\n data-slot=\"tooltip\"\n disableHoverablePopup={disableHoverableContent}\n {...props}\n />\n );\n}\n\nconst TooltipTrigger: ForwardRefExoticComponent<\n Omit<TooltipPrimitive.Trigger.Props<unknown>, 'ref'> &\n RefAttributes<HTMLButtonElement>\n> = forwardRef<HTMLButtonElement, TooltipPrimitive.Trigger.Props>(\n (props, ref) => {\n return (\n <TooltipPrimitive.Trigger\n ref={ref}\n data-slot=\"tooltip-trigger\"\n {...props}\n />\n );\n }\n);\nTooltipTrigger.displayName = 'TooltipTrigger';\n\nconst TooltipContent: ForwardRefExoticComponent<\n Omit<\n TooltipPopupProps &\n Pick<\n TooltipPositionerProps,\n 'align' | 'alignOffset' | 'side' | 'sideOffset'\n >,\n 'ref'\n > &\n RefAttributes<HTMLDivElement>\n> = forwardRef<\n ComponentRef<typeof TooltipPrimitive.Popup>,\n TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n 'align' | 'alignOffset' | 'side' | 'sideOffset'\n >\n>(\n (\n {\n className,\n side = 'top',\n sideOffset = 9,\n align = 'center',\n alignOffset = 0,\n children,\n ...props\n },\n ref\n ) => {\n const container = usePortalContainer();\n return (\n <TooltipPrimitive.Portal container={container}>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50 min-w-max\"\n >\n <TooltipPrimitive.Popup\n ref={ref}\n data-slot=\"tooltip-content\"\n className={cn(\n 'data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-popover-background-fixed-dark text-popover-foreground-fixed-dark z-50 inline-flex min-h-9 w-fit max-w-80 items-center origin-(--transform-origin) rounded-lg px-3 py-2 text-sm font-medium leading-4.5 shadow-sm',\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"size-2.5 -translate-y-1/2 rotate-45 rounded-xs data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 bg-popover-background-fixed-dark fill-popover-background-fixed-dark z-50 data-[side=bottom]:top-1 data-[side=bottom]:-mt-0.5 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5 data-[side=top]:-mt-0.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n );\n }\n);\nTooltipContent.displayName = 'TooltipContent';\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"names":["forwardRef","Tooltip","TooltipPrimitive","usePortalContainer","cn","TooltipProvider","delayDuration","props","Provider","data-slot","delay","disableHoverableContent","Root","disableHoverablePopup","TooltipTrigger","ref","Trigger","displayName","TooltipContent","className","side","sideOffset","align","alignOffset","children","container","Portal","Positioner","Popup","Arrow"],"mappings":";AAAA,SAIEA,UAAU,QAEL,QAAQ;AAMf,SAASC,WAAWC,gBAAgB,QAAQ,yBAAyB;AAErE,SAASC,kBAAkB,QAAQ,8CAA2C;AAC9E,SAASC,EAAE,QAAQ,2BAAwB;AAE3C,SAASC,gBAAgB,EACvBC,gBAAgB,GAAG,EACnB,GAAGC,OAGJ;IACC,qBACE,KAACL,iBAAiBM,QAAQ;QACxBC,aAAU;QACVC,OAAOJ;QACN,GAAGC,KAAK;;AAGf;AAEA,SAASN,QAAQ,EACfU,uBAAuB,EACvB,GAAGJ,OAGJ;IACC,qBACE,KAACL,iBAAiBU,IAAI;QACpBH,aAAU;QACVI,uBAAuBF;QACtB,GAAGJ,KAAK;;AAGf;AAEA,MAAMO,+BAGFd,WACF,CAACO,OAAOQ;IACN,qBACE,KAACb,iBAAiBc,OAAO;QACvBD,KAAKA;QACLN,aAAU;QACT,GAAGF,KAAK;;AAGf;AAEFO,eAAeG,WAAW,GAAG;AAE7B,MAAMC,+BAUFlB,WAQF,CACE,EACEmB,SAAS,EACTC,OAAO,KAAK,EACZC,aAAa,CAAC,EACdC,QAAQ,QAAQ,EAChBC,cAAc,CAAC,EACfC,QAAQ,EACR,GAAGjB,OACJ,EACDQ;IAEA,MAAMU,YAAYtB;IAClB,qBACE,KAACD,iBAAiBwB,MAAM;QAACD,WAAWA;kBAClC,cAAA,KAACvB,iBAAiByB,UAAU;YAC1BL,OAAOA;YACPC,aAAaA;YACbH,MAAMA;YACNC,YAAYA;YACZF,WAAU;sBAEV,cAAA,MAACjB,iBAAiB0B,KAAK;gBACrBb,KAAKA;gBACLN,aAAU;gBACVU,WAAWf,GACT,isBACAe;gBAED,GAAGZ,KAAK;;oBAERiB;kCACD,KAACtB,iBAAiB2B,KAAK;wBAACV,WAAU;;;;;;AAK5C;AAEFD,eAAeD,WAAW,GAAG;AAE7B,SAAShB,OAAO,EAAEa,cAAc,EAAEI,cAAc,EAAEb,eAAe,GAAG"}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { ForwardRefExoticComponent, RefAttributes, ComponentProps, ReactNode } from
|
|
2
|
-
import { Avatar } from
|
|
3
|
-
import { Button } from
|
|
4
|
-
declare const Topbar: ForwardRefExoticComponent<ComponentProps<
|
|
5
|
-
declare const TopbarLeft: ForwardRefExoticComponent<ComponentProps<
|
|
6
|
-
type TopbarIconProps = Omit<ComponentProps<typeof Avatar>,
|
|
7
|
-
|
|
1
|
+
import { type ForwardRefExoticComponent, type RefAttributes, type ComponentProps, type ReactNode } from "react";
|
|
2
|
+
import { Avatar } from "../avatar/avatar";
|
|
3
|
+
import { Button } from "../button/button";
|
|
4
|
+
declare const Topbar: ForwardRefExoticComponent<ComponentProps<"div"> & RefAttributes<HTMLDivElement>>;
|
|
5
|
+
declare const TopbarLeft: ForwardRefExoticComponent<ComponentProps<"div"> & RefAttributes<HTMLDivElement>>;
|
|
6
|
+
type TopbarIconProps = Omit<ComponentProps<typeof Avatar>, "sizes" | "variant" | "children"> & {
|
|
7
|
+
children: ReactNode;
|
|
8
8
|
};
|
|
9
|
-
declare const TopbarIcon: ForwardRefExoticComponent<Omit<TopbarIconProps,
|
|
10
|
-
declare const TopbarBreadcrumbs: ForwardRefExoticComponent<ComponentProps<
|
|
11
|
-
declare const TopbarMetadata: ForwardRefExoticComponent<ComponentProps<
|
|
12
|
-
declare const TopbarCenter: ForwardRefExoticComponent<ComponentProps<
|
|
13
|
-
declare const TopbarRight: ForwardRefExoticComponent<ComponentProps<
|
|
14
|
-
type TopbarTheme =
|
|
15
|
-
type TopbarThemeSwitcherProps = ComponentProps<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
9
|
+
declare const TopbarIcon: ForwardRefExoticComponent<Omit<TopbarIconProps, "ref"> & RefAttributes<HTMLSpanElement>>;
|
|
10
|
+
declare const TopbarBreadcrumbs: ForwardRefExoticComponent<ComponentProps<"nav"> & RefAttributes<HTMLElement>>;
|
|
11
|
+
declare const TopbarMetadata: ForwardRefExoticComponent<ComponentProps<"span"> & RefAttributes<HTMLSpanElement>>;
|
|
12
|
+
declare const TopbarCenter: ForwardRefExoticComponent<ComponentProps<"div"> & RefAttributes<HTMLDivElement>>;
|
|
13
|
+
declare const TopbarRight: ForwardRefExoticComponent<ComponentProps<"div"> & RefAttributes<HTMLDivElement>>;
|
|
14
|
+
type TopbarTheme = "light" | "dark";
|
|
15
|
+
type TopbarThemeSwitcherProps = ComponentProps<"div"> & {
|
|
16
|
+
theme?: TopbarTheme;
|
|
17
|
+
onThemeChange?: (theme: TopbarTheme) => void;
|
|
18
|
+
availableThemes?: readonly TopbarTheme[];
|
|
19
|
+
toggleThemeLabel?: string;
|
|
20
|
+
lightModeTitle?: string;
|
|
21
|
+
darkModeTitle?: string;
|
|
22
|
+
switchThemeLabel?: string;
|
|
23
|
+
lightModeLabel?: string;
|
|
24
|
+
darkModeLabel?: string;
|
|
25
25
|
};
|
|
26
|
-
declare const TopbarThemeSwitcher: ForwardRefExoticComponent<Omit<TopbarThemeSwitcherProps,
|
|
27
|
-
declare const TopbarAction: ForwardRefExoticComponent<Omit<ComponentProps<typeof Button>,
|
|
28
|
-
export { Topbar, TopbarAction, TopbarBreadcrumbs, TopbarCenter, TopbarIcon, TopbarLeft, TopbarMetadata, TopbarRight, TopbarThemeSwitcher, type TopbarTheme
|
|
26
|
+
declare const TopbarThemeSwitcher: ForwardRefExoticComponent<Omit<TopbarThemeSwitcherProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
27
|
+
declare const TopbarAction: ForwardRefExoticComponent<Omit<ComponentProps<typeof Button>, "ref"> & RefAttributes<HTMLElement>>;
|
|
28
|
+
export { Topbar, TopbarAction, TopbarBreadcrumbs, TopbarCenter, TopbarIcon, TopbarLeft, TopbarMetadata, TopbarRight, TopbarThemeSwitcher, type TopbarTheme };
|
|
@@ -1,106 +1,161 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var y = f(({ className: t, ...n }, r) => /* @__PURE__ */ h("div", {
|
|
19
|
-
ref: r,
|
|
20
|
-
"data-slot": "topbar-left",
|
|
21
|
-
className: e("flex min-w-0 items-center gap-0.5", t),
|
|
22
|
-
...n
|
|
23
|
-
}));
|
|
24
|
-
y.displayName = "TopbarLeft";
|
|
25
|
-
var b = f(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ h(l, {
|
|
26
|
-
ref: r,
|
|
27
|
-
"data-slot": "topbar-icon",
|
|
28
|
-
sizes: "xxsm",
|
|
29
|
-
variant: "fjord",
|
|
30
|
-
className: e,
|
|
31
|
-
...n,
|
|
32
|
-
children: /* @__PURE__ */ h(u, { children: t })
|
|
33
|
-
}));
|
|
34
|
-
b.displayName = "TopbarIcon";
|
|
35
|
-
var x = f(({ className: e, ...t }, n) => /* @__PURE__ */ h(d, {
|
|
36
|
-
ref: n,
|
|
37
|
-
"data-slot": "topbar-breadcrumbs",
|
|
38
|
-
className: e,
|
|
39
|
-
...t
|
|
40
|
-
}));
|
|
41
|
-
x.displayName = "TopbarBreadcrumbs";
|
|
42
|
-
var S = f(({ className: t, ...n }, r) => /* @__PURE__ */ h("span", {
|
|
43
|
-
ref: r,
|
|
44
|
-
"data-slot": "topbar-metadata",
|
|
45
|
-
className: e("px-2 pt-0.5 text-xs leading-3.5 tracking-tightest text-muted-foreground", t),
|
|
46
|
-
...n
|
|
47
|
-
}));
|
|
48
|
-
S.displayName = "TopbarMetadata";
|
|
49
|
-
var C = f(({ className: t, ...n }, r) => /* @__PURE__ */ h("div", {
|
|
50
|
-
ref: r,
|
|
51
|
-
"data-slot": "topbar-center",
|
|
52
|
-
className: e("flex min-w-0 flex-1 items-center justify-center", t),
|
|
53
|
-
...n
|
|
54
|
-
}));
|
|
55
|
-
C.displayName = "TopbarCenter";
|
|
56
|
-
var w = f(({ className: t, ...n }, r) => /* @__PURE__ */ h("div", {
|
|
57
|
-
ref: r,
|
|
58
|
-
"data-slot": "topbar-right",
|
|
59
|
-
className: e("flex min-w-0 flex-1 items-center justify-end gap-2", t),
|
|
60
|
-
...n
|
|
61
|
-
}));
|
|
62
|
-
w.displayName = "TopbarRight";
|
|
63
|
-
var T = ["light", "dark"], E = (e) => e === "light" || e === "dark", D = f(({ className: l, theme: u = "light", onThemeChange: d, availableThemes: f = T, toggleThemeLabel: _ = "Toggle theme", lightModeTitle: v = "Light mode", darkModeTitle: y = "Dark mode", switchThemeLabel: b = "Switch Theme", lightModeLabel: x = "Light mode", darkModeLabel: S = "Dark mode", ...C }, w) => {
|
|
64
|
-
let D = f.includes("light"), O = f.includes("dark");
|
|
65
|
-
return f.length < 2 ? null : /* @__PURE__ */ h("div", {
|
|
66
|
-
ref: w,
|
|
67
|
-
"data-slot": "topbar-theme-switcher",
|
|
68
|
-
className: e("flex items-center gap-1", l),
|
|
69
|
-
...C,
|
|
70
|
-
children: /* @__PURE__ */ g(n, {
|
|
71
|
-
modal: !1,
|
|
72
|
-
children: [/* @__PURE__ */ h(c, { render: /* @__PURE__ */ h(t, {
|
|
73
|
-
variant: "ghost",
|
|
74
|
-
size: "icon-sm",
|
|
75
|
-
"aria-label": _,
|
|
76
|
-
children: u === "light" ? /* @__PURE__ */ h(m, { children: /* @__PURE__ */ h("title", { children: v }) }) : /* @__PURE__ */ h(p, { children: /* @__PURE__ */ h("title", { children: y }) })
|
|
77
|
-
}) }), /* @__PURE__ */ h(r, {
|
|
78
|
-
align: "end",
|
|
79
|
-
className: "w-40",
|
|
80
|
-
children: /* @__PURE__ */ g(i, { children: [/* @__PURE__ */ h(a, { children: b }), /* @__PURE__ */ g(o, {
|
|
81
|
-
value: u,
|
|
82
|
-
onValueChange: (e) => {
|
|
83
|
-
E(e) && d?.(e);
|
|
84
|
-
},
|
|
85
|
-
children: [D ? /* @__PURE__ */ h(s, {
|
|
86
|
-
value: "light",
|
|
87
|
-
children: x
|
|
88
|
-
}) : null, O ? /* @__PURE__ */ h(s, {
|
|
89
|
-
value: "dark",
|
|
90
|
-
children: S
|
|
91
|
-
}) : null]
|
|
92
|
-
})] })
|
|
93
|
-
})]
|
|
94
|
-
})
|
|
95
|
-
});
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { IconMoon, IconSun } from "@tabler/icons-react";
|
|
4
|
+
import { cn } from "../../../../lib/utils.js";
|
|
5
|
+
import { Avatar, AvatarIcon } from "../avatar/avatar.js";
|
|
6
|
+
import { Breadcrumb } from "../breadcrumb/breadcrumb.js";
|
|
7
|
+
import { Button } from "../button/button.js";
|
|
8
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuTrigger } from "../dropdown-menu/dropdown-menu.js";
|
|
9
|
+
const TOPBAR_ROOT_CLASSES = cn('flex h-11 w-full items-center gap-2 rounded-t-lg border-b border-default bg-muted-background px-3 py-2', '[&:has(>[data-slot=topbar-center])>[data-slot=topbar-right]]:flex-none');
|
|
10
|
+
const Topbar = /*#__PURE__*/ forwardRef(({ className, role = 'banner', ...props }, ref)=>{
|
|
11
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
12
|
+
ref: ref,
|
|
13
|
+
"data-slot": "topbar",
|
|
14
|
+
role: role,
|
|
15
|
+
className: cn(TOPBAR_ROOT_CLASSES, className),
|
|
16
|
+
...props
|
|
17
|
+
});
|
|
96
18
|
});
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
19
|
+
Topbar.displayName = 'Topbar';
|
|
20
|
+
const TopbarLeft = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>{
|
|
21
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
22
|
+
ref: ref,
|
|
23
|
+
"data-slot": "topbar-left",
|
|
24
|
+
className: cn('flex min-w-0 items-center gap-0.5', className),
|
|
25
|
+
...props
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
TopbarLeft.displayName = 'TopbarLeft';
|
|
29
|
+
const TopbarIcon = /*#__PURE__*/ forwardRef(({ className, children, ...props }, ref)=>{
|
|
30
|
+
return /*#__PURE__*/ _jsx(Avatar, {
|
|
31
|
+
ref: ref,
|
|
32
|
+
"data-slot": "topbar-icon",
|
|
33
|
+
sizes: "xxsm",
|
|
34
|
+
variant: "decorative-2",
|
|
35
|
+
className: className,
|
|
36
|
+
...props,
|
|
37
|
+
children: /*#__PURE__*/ _jsx(AvatarIcon, {
|
|
38
|
+
children: children
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
TopbarIcon.displayName = 'TopbarIcon';
|
|
43
|
+
const TopbarBreadcrumbs = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>{
|
|
44
|
+
return /*#__PURE__*/ _jsx(Breadcrumb, {
|
|
45
|
+
ref: ref,
|
|
46
|
+
"data-slot": "topbar-breadcrumbs",
|
|
47
|
+
className: className,
|
|
48
|
+
...props
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
TopbarBreadcrumbs.displayName = 'TopbarBreadcrumbs';
|
|
52
|
+
const TopbarMetadata = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>{
|
|
53
|
+
return /*#__PURE__*/ _jsx("span", {
|
|
54
|
+
ref: ref,
|
|
55
|
+
"data-slot": "topbar-metadata",
|
|
56
|
+
className: cn('px-2 pt-0.5 text-xs leading-3.5 tracking-tightest text-muted-foreground', className),
|
|
57
|
+
...props
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
TopbarMetadata.displayName = 'TopbarMetadata';
|
|
61
|
+
const TopbarCenter = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>{
|
|
62
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
63
|
+
ref: ref,
|
|
64
|
+
"data-slot": "topbar-center",
|
|
65
|
+
className: cn('flex min-w-0 flex-1 items-center justify-center', className),
|
|
66
|
+
...props
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
TopbarCenter.displayName = 'TopbarCenter';
|
|
70
|
+
const TopbarRight = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>{
|
|
71
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
72
|
+
ref: ref,
|
|
73
|
+
"data-slot": "topbar-right",
|
|
74
|
+
className: cn('flex min-w-0 flex-1 items-center justify-end gap-2', className),
|
|
75
|
+
...props
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
TopbarRight.displayName = 'TopbarRight';
|
|
79
|
+
const DEFAULT_TOPBAR_THEME_SWITCHER_THEMES = [
|
|
80
|
+
'light',
|
|
81
|
+
'dark'
|
|
82
|
+
];
|
|
83
|
+
const isTopbarTheme = (theme)=>{
|
|
84
|
+
return theme === 'light' || theme === 'dark';
|
|
85
|
+
};
|
|
86
|
+
const TopbarThemeSwitcher = /*#__PURE__*/ forwardRef(({ className, theme = 'light', onThemeChange, availableThemes = DEFAULT_TOPBAR_THEME_SWITCHER_THEMES, toggleThemeLabel = 'Toggle theme', lightModeTitle = 'Light mode', darkModeTitle = 'Dark mode', switchThemeLabel = 'Switch Theme', lightModeLabel = 'Light mode', darkModeLabel = 'Dark mode', ...props }, ref)=>{
|
|
87
|
+
const hasLightTheme = availableThemes.includes('light');
|
|
88
|
+
const hasDarkTheme = availableThemes.includes('dark');
|
|
89
|
+
if (availableThemes.length < 2) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
93
|
+
ref: ref,
|
|
94
|
+
"data-slot": "topbar-theme-switcher",
|
|
95
|
+
className: cn('flex items-center gap-1', className),
|
|
96
|
+
...props,
|
|
97
|
+
children: /*#__PURE__*/ _jsxs(DropdownMenu, {
|
|
98
|
+
modal: false,
|
|
99
|
+
children: [
|
|
100
|
+
/*#__PURE__*/ _jsx(DropdownMenuTrigger, {
|
|
101
|
+
render: /*#__PURE__*/ _jsx(Button, {
|
|
102
|
+
variant: "ghost",
|
|
103
|
+
size: "icon-sm",
|
|
104
|
+
"aria-label": toggleThemeLabel,
|
|
105
|
+
children: theme === 'light' ? /*#__PURE__*/ _jsx(IconSun, {
|
|
106
|
+
children: /*#__PURE__*/ _jsx("title", {
|
|
107
|
+
children: lightModeTitle
|
|
108
|
+
})
|
|
109
|
+
}) : /*#__PURE__*/ _jsx(IconMoon, {
|
|
110
|
+
children: /*#__PURE__*/ _jsx("title", {
|
|
111
|
+
children: darkModeTitle
|
|
112
|
+
})
|
|
113
|
+
})
|
|
114
|
+
})
|
|
115
|
+
}),
|
|
116
|
+
/*#__PURE__*/ _jsx(DropdownMenuContent, {
|
|
117
|
+
align: "end",
|
|
118
|
+
className: "w-40",
|
|
119
|
+
children: /*#__PURE__*/ _jsxs(DropdownMenuGroup, {
|
|
120
|
+
children: [
|
|
121
|
+
/*#__PURE__*/ _jsx(DropdownMenuLabel, {
|
|
122
|
+
children: switchThemeLabel
|
|
123
|
+
}),
|
|
124
|
+
/*#__PURE__*/ _jsxs(DropdownMenuRadioGroup, {
|
|
125
|
+
value: theme,
|
|
126
|
+
onValueChange: (value)=>{
|
|
127
|
+
if (isTopbarTheme(value)) {
|
|
128
|
+
onThemeChange?.(value);
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
children: [
|
|
132
|
+
hasLightTheme ? /*#__PURE__*/ _jsx(DropdownMenuRadioItem, {
|
|
133
|
+
value: "light",
|
|
134
|
+
children: lightModeLabel
|
|
135
|
+
}) : null,
|
|
136
|
+
hasDarkTheme ? /*#__PURE__*/ _jsx(DropdownMenuRadioItem, {
|
|
137
|
+
value: "dark",
|
|
138
|
+
children: darkModeLabel
|
|
139
|
+
}) : null
|
|
140
|
+
]
|
|
141
|
+
})
|
|
142
|
+
]
|
|
143
|
+
})
|
|
144
|
+
})
|
|
145
|
+
]
|
|
146
|
+
})
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
TopbarThemeSwitcher.displayName = 'TopbarThemeSwitcher';
|
|
150
|
+
const TopbarAction = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>{
|
|
151
|
+
return /*#__PURE__*/ _jsx(Button, {
|
|
152
|
+
ref: ref,
|
|
153
|
+
"data-slot": "topbar-action",
|
|
154
|
+
className: className,
|
|
155
|
+
...props
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
TopbarAction.displayName = 'TopbarAction';
|
|
159
|
+
export { Topbar, TopbarAction, TopbarBreadcrumbs, TopbarCenter, TopbarIcon, TopbarLeft, TopbarMetadata, TopbarRight, TopbarThemeSwitcher };
|
|
160
|
+
|
|
161
|
+
//# sourceMappingURL=topbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ui/core/topbar/topbar.tsx"],"sourcesContent":["import {\n type ForwardRefExoticComponent,\n type RefAttributes,\n type ComponentProps,\n type ComponentRef,\n type ForwardedRef,\n type ReactNode,\n forwardRef,\n} from 'react';\n\nimport { IconMoon, IconSun } from '@tabler/icons-react';\n\nimport { cn } from '../../../../lib/utils';\nimport { Avatar, AvatarIcon } from '../avatar/avatar';\nimport { Breadcrumb } from '../breadcrumb/breadcrumb';\nimport { Button } from '../button/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuTrigger,\n} from '../dropdown-menu/dropdown-menu';\n\nconst TOPBAR_ROOT_CLASSES = cn(\n 'flex h-11 w-full items-center gap-2 rounded-t-lg border-b border-default bg-muted-background px-3 py-2',\n '[&:has(>[data-slot=topbar-center])>[data-slot=topbar-right]]:flex-none'\n);\n\ntype TopbarProps = ComponentProps<'div'>;\n\nconst Topbar: ForwardRefExoticComponent<\n ComponentProps<'div'> & RefAttributes<HTMLDivElement>\n> = forwardRef<HTMLDivElement, TopbarProps>(\n (\n { className, role = 'banner', ...props }: TopbarProps,\n ref: ForwardedRef<HTMLDivElement>\n ) => {\n return (\n <div\n ref={ref}\n data-slot=\"topbar\"\n role={role}\n className={cn(TOPBAR_ROOT_CLASSES, className)}\n {...props}\n />\n );\n }\n);\nTopbar.displayName = 'Topbar';\n\ntype TopbarLeftProps = ComponentProps<'div'>;\n\nconst TopbarLeft: ForwardRefExoticComponent<\n ComponentProps<'div'> & RefAttributes<HTMLDivElement>\n> = forwardRef<HTMLDivElement, TopbarLeftProps>(\n (\n { className, ...props }: TopbarLeftProps,\n ref: ForwardedRef<HTMLDivElement>\n ) => {\n return (\n <div\n ref={ref}\n data-slot=\"topbar-left\"\n className={cn('flex min-w-0 items-center gap-0.5', className)}\n {...props}\n />\n );\n }\n);\nTopbarLeft.displayName = 'TopbarLeft';\n\ntype TopbarIconProps = Omit<\n ComponentProps<typeof Avatar>,\n 'sizes' | 'variant' | 'children'\n> & { children: ReactNode };\n\nconst TopbarIcon: ForwardRefExoticComponent<\n Omit<TopbarIconProps, 'ref'> & RefAttributes<HTMLSpanElement>\n> = forwardRef<ComponentRef<typeof Avatar>, TopbarIconProps>(\n (\n { className, children, ...props }: TopbarIconProps,\n ref: ForwardedRef<ComponentRef<typeof Avatar>>\n ) => {\n return (\n <Avatar\n ref={ref}\n data-slot=\"topbar-icon\"\n sizes=\"xxsm\"\n variant=\"decorative-2\"\n className={className}\n {...props}\n >\n <AvatarIcon>{children}</AvatarIcon>\n </Avatar>\n );\n }\n);\nTopbarIcon.displayName = 'TopbarIcon';\n\ntype TopbarBreadcrumbsProps = ComponentProps<typeof Breadcrumb>;\n\nconst TopbarBreadcrumbs: ForwardRefExoticComponent<\n ComponentProps<'nav'> & RefAttributes<HTMLElement>\n> = forwardRef<ComponentRef<typeof Breadcrumb>, TopbarBreadcrumbsProps>(\n (\n { className, ...props }: TopbarBreadcrumbsProps,\n ref: ForwardedRef<ComponentRef<typeof Breadcrumb>>\n ) => {\n return (\n <Breadcrumb\n ref={ref}\n data-slot=\"topbar-breadcrumbs\"\n className={className}\n {...props}\n />\n );\n }\n);\nTopbarBreadcrumbs.displayName = 'TopbarBreadcrumbs';\n\ntype TopbarMetadataProps = ComponentProps<'span'>;\n\nconst TopbarMetadata: ForwardRefExoticComponent<\n ComponentProps<'span'> & RefAttributes<HTMLSpanElement>\n> = forwardRef<HTMLSpanElement, TopbarMetadataProps>(\n (\n { className, ...props }: TopbarMetadataProps,\n ref: ForwardedRef<HTMLSpanElement>\n ) => {\n return (\n <span\n ref={ref}\n data-slot=\"topbar-metadata\"\n className={cn(\n 'px-2 pt-0.5 text-xs leading-3.5 tracking-tightest text-muted-foreground',\n className\n )}\n {...props}\n />\n );\n }\n);\nTopbarMetadata.displayName = 'TopbarMetadata';\n\ntype TopbarCenterProps = ComponentProps<'div'>;\n\nconst TopbarCenter: ForwardRefExoticComponent<\n ComponentProps<'div'> & RefAttributes<HTMLDivElement>\n> = forwardRef<HTMLDivElement, TopbarCenterProps>(\n (\n { className, ...props }: TopbarCenterProps,\n ref: ForwardedRef<HTMLDivElement>\n ) => {\n return (\n <div\n ref={ref}\n data-slot=\"topbar-center\"\n className={cn(\n 'flex min-w-0 flex-1 items-center justify-center',\n className\n )}\n {...props}\n />\n );\n }\n);\nTopbarCenter.displayName = 'TopbarCenter';\n\ntype TopbarRightProps = ComponentProps<'div'>;\n\nconst TopbarRight: ForwardRefExoticComponent<\n ComponentProps<'div'> & RefAttributes<HTMLDivElement>\n> = forwardRef<HTMLDivElement, TopbarRightProps>(\n (\n { className, ...props }: TopbarRightProps,\n ref: ForwardedRef<HTMLDivElement>\n ) => {\n return (\n <div\n ref={ref}\n data-slot=\"topbar-right\"\n className={cn(\n 'flex min-w-0 flex-1 items-center justify-end gap-2',\n className\n )}\n {...props}\n />\n );\n }\n);\nTopbarRight.displayName = 'TopbarRight';\n\ntype TopbarTheme = 'light' | 'dark';\n\nconst DEFAULT_TOPBAR_THEME_SWITCHER_THEMES: TopbarTheme[] = ['light', 'dark'];\n\nconst isTopbarTheme = (theme: string): theme is TopbarTheme => {\n return theme === 'light' || theme === 'dark';\n};\n\ntype TopbarThemeSwitcherProps = ComponentProps<'div'> & {\n theme?: TopbarTheme;\n onThemeChange?: (theme: TopbarTheme) => void;\n availableThemes?: readonly TopbarTheme[];\n toggleThemeLabel?: string;\n lightModeTitle?: string;\n darkModeTitle?: string;\n switchThemeLabel?: string;\n lightModeLabel?: string;\n darkModeLabel?: string;\n};\n\nconst TopbarThemeSwitcher: ForwardRefExoticComponent<\n Omit<TopbarThemeSwitcherProps, 'ref'> & RefAttributes<HTMLDivElement>\n> = forwardRef<HTMLDivElement, TopbarThemeSwitcherProps>(\n (\n {\n className,\n theme = 'light',\n onThemeChange,\n availableThemes = DEFAULT_TOPBAR_THEME_SWITCHER_THEMES,\n toggleThemeLabel = 'Toggle theme',\n lightModeTitle = 'Light mode',\n darkModeTitle = 'Dark mode',\n switchThemeLabel = 'Switch Theme',\n lightModeLabel = 'Light mode',\n darkModeLabel = 'Dark mode',\n ...props\n }: TopbarThemeSwitcherProps,\n ref: ForwardedRef<HTMLDivElement>\n ) => {\n const hasLightTheme = availableThemes.includes('light');\n const hasDarkTheme = availableThemes.includes('dark');\n\n if (availableThemes.length < 2) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n data-slot=\"topbar-theme-switcher\"\n className={cn('flex items-center gap-1', className)}\n {...props}\n >\n <DropdownMenu modal={false}>\n <DropdownMenuTrigger\n render={\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={toggleThemeLabel}\n >\n {theme === 'light' ? (\n <IconSun>\n <title>{lightModeTitle}</title>\n </IconSun>\n ) : (\n <IconMoon>\n <title>{darkModeTitle}</title>\n </IconMoon>\n )}\n </Button>\n }\n />\n <DropdownMenuContent align=\"end\" className=\"w-40\">\n <DropdownMenuGroup>\n <DropdownMenuLabel>{switchThemeLabel}</DropdownMenuLabel>\n <DropdownMenuRadioGroup\n value={theme}\n onValueChange={(value: string) => {\n if (isTopbarTheme(value)) {\n onThemeChange?.(value);\n }\n }}\n >\n {hasLightTheme ? (\n <DropdownMenuRadioItem value=\"light\">\n {lightModeLabel}\n </DropdownMenuRadioItem>\n ) : null}\n {hasDarkTheme ? (\n <DropdownMenuRadioItem value=\"dark\">\n {darkModeLabel}\n </DropdownMenuRadioItem>\n ) : null}\n </DropdownMenuRadioGroup>\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n }\n);\nTopbarThemeSwitcher.displayName = 'TopbarThemeSwitcher';\n\ntype TopbarActionProps = ComponentProps<typeof Button>;\n\nconst TopbarAction: ForwardRefExoticComponent<\n Omit<ComponentProps<typeof Button>, 'ref'> & RefAttributes<HTMLElement>\n> = forwardRef<ComponentRef<typeof Button>, TopbarActionProps>(\n (\n { className, ...props }: TopbarActionProps,\n ref: ForwardedRef<ComponentRef<typeof Button>>\n ) => {\n return (\n <Button\n ref={ref}\n data-slot=\"topbar-action\"\n className={className}\n {...props}\n />\n );\n }\n);\nTopbarAction.displayName = 'TopbarAction';\n\nexport {\n Topbar,\n TopbarAction,\n TopbarBreadcrumbs,\n TopbarCenter,\n TopbarIcon,\n TopbarLeft,\n TopbarMetadata,\n TopbarRight,\n TopbarThemeSwitcher,\n type TopbarTheme,\n};\n"],"names":["forwardRef","IconMoon","IconSun","cn","Avatar","AvatarIcon","Breadcrumb","Button","DropdownMenu","DropdownMenuContent","DropdownMenuGroup","DropdownMenuLabel","DropdownMenuRadioGroup","DropdownMenuRadioItem","DropdownMenuTrigger","TOPBAR_ROOT_CLASSES","Topbar","className","role","props","ref","div","data-slot","displayName","TopbarLeft","TopbarIcon","children","sizes","variant","TopbarBreadcrumbs","TopbarMetadata","span","TopbarCenter","TopbarRight","DEFAULT_TOPBAR_THEME_SWITCHER_THEMES","isTopbarTheme","theme","TopbarThemeSwitcher","onThemeChange","availableThemes","toggleThemeLabel","lightModeTitle","darkModeTitle","switchThemeLabel","lightModeLabel","darkModeLabel","hasLightTheme","includes","hasDarkTheme","length","modal","render","size","aria-label","title","align","value","onValueChange","TopbarAction"],"mappings":";AAAA,SAOEA,UAAU,QACL,QAAQ;AAEf,SAASC,QAAQ,EAAEC,OAAO,QAAQ,sBAAsB;AAExD,SAASC,EAAE,QAAQ,2BAAwB;AAC3C,SAASC,MAAM,EAAEC,UAAU,QAAQ,sBAAmB;AACtD,SAASC,UAAU,QAAQ,8BAA2B;AACtD,SAASC,MAAM,QAAQ,sBAAmB;AAC1C,SACEC,YAAY,EACZC,mBAAmB,EACnBC,iBAAiB,EACjBC,iBAAiB,EACjBC,sBAAsB,EACtBC,qBAAqB,EACrBC,mBAAmB,QACd,oCAAiC;AAExC,MAAMC,sBAAsBZ,GAC1B,0GACA;AAKF,MAAMa,uBAEFhB,WACF,CACE,EAAEiB,SAAS,EAAEC,OAAO,QAAQ,EAAE,GAAGC,OAAoB,EACrDC;IAEA,qBACE,KAACC;QACCD,KAAKA;QACLE,aAAU;QACVJ,MAAMA;QACND,WAAWd,GAAGY,qBAAqBE;QAClC,GAAGE,KAAK;;AAGf;AAEFH,OAAOO,WAAW,GAAG;AAIrB,MAAMC,2BAEFxB,WACF,CACE,EAAEiB,SAAS,EAAE,GAAGE,OAAwB,EACxCC;IAEA,qBACE,KAACC;QACCD,KAAKA;QACLE,aAAU;QACVL,WAAWd,GAAG,qCAAqCc;QAClD,GAAGE,KAAK;;AAGf;AAEFK,WAAWD,WAAW,GAAG;AAOzB,MAAME,2BAEFzB,WACF,CACE,EAAEiB,SAAS,EAAES,QAAQ,EAAE,GAAGP,OAAwB,EAClDC;IAEA,qBACE,KAAChB;QACCgB,KAAKA;QACLE,aAAU;QACVK,OAAM;QACNC,SAAQ;QACRX,WAAWA;QACV,GAAGE,KAAK;kBAET,cAAA,KAACd;sBAAYqB;;;AAGnB;AAEFD,WAAWF,WAAW,GAAG;AAIzB,MAAMM,kCAEF7B,WACF,CACE,EAAEiB,SAAS,EAAE,GAAGE,OAA+B,EAC/CC;IAEA,qBACE,KAACd;QACCc,KAAKA;QACLE,aAAU;QACVL,WAAWA;QACV,GAAGE,KAAK;;AAGf;AAEFU,kBAAkBN,WAAW,GAAG;AAIhC,MAAMO,+BAEF9B,WACF,CACE,EAAEiB,SAAS,EAAE,GAAGE,OAA4B,EAC5CC;IAEA,qBACE,KAACW;QACCX,KAAKA;QACLE,aAAU;QACVL,WAAWd,GACT,2EACAc;QAED,GAAGE,KAAK;;AAGf;AAEFW,eAAeP,WAAW,GAAG;AAI7B,MAAMS,6BAEFhC,WACF,CACE,EAAEiB,SAAS,EAAE,GAAGE,OAA0B,EAC1CC;IAEA,qBACE,KAACC;QACCD,KAAKA;QACLE,aAAU;QACVL,WAAWd,GACT,mDACAc;QAED,GAAGE,KAAK;;AAGf;AAEFa,aAAaT,WAAW,GAAG;AAI3B,MAAMU,4BAEFjC,WACF,CACE,EAAEiB,SAAS,EAAE,GAAGE,OAAyB,EACzCC;IAEA,qBACE,KAACC;QACCD,KAAKA;QACLE,aAAU;QACVL,WAAWd,GACT,sDACAc;QAED,GAAGE,KAAK;;AAGf;AAEFc,YAAYV,WAAW,GAAG;AAI1B,MAAMW,uCAAsD;IAAC;IAAS;CAAO;AAE7E,MAAMC,gBAAgB,CAACC;IACrB,OAAOA,UAAU,WAAWA,UAAU;AACxC;AAcA,MAAMC,oCAEFrC,WACF,CACE,EACEiB,SAAS,EACTmB,QAAQ,OAAO,EACfE,aAAa,EACbC,kBAAkBL,oCAAoC,EACtDM,mBAAmB,cAAc,EACjCC,iBAAiB,YAAY,EAC7BC,gBAAgB,WAAW,EAC3BC,mBAAmB,cAAc,EACjCC,iBAAiB,YAAY,EAC7BC,gBAAgB,WAAW,EAC3B,GAAG1B,OACsB,EAC3BC;IAEA,MAAM0B,gBAAgBP,gBAAgBQ,QAAQ,CAAC;IAC/C,MAAMC,eAAeT,gBAAgBQ,QAAQ,CAAC;IAE9C,IAAIR,gBAAgBU,MAAM,GAAG,GAAG;QAC9B,OAAO;IACT;IAEA,qBACE,KAAC5B;QACCD,KAAKA;QACLE,aAAU;QACVL,WAAWd,GAAG,2BAA2Bc;QACxC,GAAGE,KAAK;kBAET,cAAA,MAACX;YAAa0C,OAAO;;8BACnB,KAACpC;oBACCqC,sBACE,KAAC5C;wBACCqB,SAAQ;wBACRwB,MAAK;wBACLC,cAAYb;kCAEXJ,UAAU,wBACT,KAAClC;sCACC,cAAA,KAACoD;0CAAOb;;2CAGV,KAACxC;sCACC,cAAA,KAACqD;0CAAOZ;;;;;8BAMlB,KAACjC;oBAAoB8C,OAAM;oBAAMtC,WAAU;8BACzC,cAAA,MAACP;;0CACC,KAACC;0CAAmBgC;;0CACpB,MAAC/B;gCACC4C,OAAOpB;gCACPqB,eAAe,CAACD;oCACd,IAAIrB,cAAcqB,QAAQ;wCACxBlB,gBAAgBkB;oCAClB;gCACF;;oCAECV,8BACC,KAACjC;wCAAsB2C,OAAM;kDAC1BZ;yCAED;oCACHI,6BACC,KAACnC;wCAAsB2C,OAAM;kDAC1BX;yCAED;;;;;;;;;AAOlB;AAEFR,oBAAoBd,WAAW,GAAG;AAIlC,MAAMmC,6BAEF1D,WACF,CACE,EAAEiB,SAAS,EAAE,GAAGE,OAA0B,EAC1CC;IAEA,qBACE,KAACb;QACCa,KAAKA;QACLE,aAAU;QACVL,WAAWA;QACV,GAAGE,KAAK;;AAGf;AAEFuC,aAAanC,WAAW,GAAG;AAE3B,SACEP,MAAM,EACN0C,YAAY,EACZ7B,iBAAiB,EACjBG,YAAY,EACZP,UAAU,EACVD,UAAU,EACVM,cAAc,EACdG,WAAW,EACXI,mBAAmB,GAEnB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import { type ItemInstance } from "@headless-tree/core";
|
|
3
|
+
type TreeProps<T> = {
|
|
4
|
+
rootItemId: string;
|
|
5
|
+
items: Record<string, T>;
|
|
6
|
+
getChildren: (item: T) => string[];
|
|
7
|
+
getItemName: (item: T) => string;
|
|
8
|
+
expandedItems?: string[];
|
|
9
|
+
defaultExpandedItems?: string[];
|
|
10
|
+
onExpandedItemsChange?: (expandedItems: string[]) => void;
|
|
11
|
+
checkboxes?: boolean;
|
|
12
|
+
checkedItems?: string[];
|
|
13
|
+
defaultCheckedItems?: string[];
|
|
14
|
+
onCheckedItemsChange?: (checked: string[]) => void;
|
|
15
|
+
className?: string;
|
|
16
|
+
children: (item: ItemInstance<T>) => ReactNode;
|
|
17
|
+
};
|
|
18
|
+
declare function Tree<T>({ rootItemId, items, getChildren, getItemName, expandedItems: expandedItemsProp, defaultExpandedItems, onExpandedItemsChange, checkboxes, checkedItems: checkedItemsProp, defaultCheckedItems, onCheckedItemsChange, className, children }: TreeProps<T>): ReactNode;
|
|
19
|
+
export { Tree };
|
|
20
|
+
export type { TreeProps };
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CheckedState, checkboxesFeature, hotkeysCoreFeature, syncDataLoaderFeature } from "@headless-tree/core";
|
|
3
|
+
import { useTree } from "@headless-tree/react";
|
|
4
|
+
import { IconChevronRight } from "@tabler/icons-react";
|
|
5
|
+
import { useControllableState } from "../../../../lib/use-controllable-state.js";
|
|
6
|
+
import { cn } from "../../../../lib/utils.js";
|
|
7
|
+
import { Item, ItemCheckbox, ItemGroup } from "../item/item.js";
|
|
8
|
+
const EMPTY_ITEMS = [];
|
|
9
|
+
function Tree({ rootItemId, items, getChildren, getItemName, expandedItems: expandedItemsProp, defaultExpandedItems = EMPTY_ITEMS, onExpandedItemsChange, checkboxes = false, checkedItems: checkedItemsProp, defaultCheckedItems = EMPTY_ITEMS, onCheckedItemsChange, className, children }) {
|
|
10
|
+
const [expandedItems, setExpandedItems] = useControllableState({
|
|
11
|
+
prop: expandedItemsProp,
|
|
12
|
+
defaultProp: defaultExpandedItems,
|
|
13
|
+
onChange: onExpandedItemsChange
|
|
14
|
+
});
|
|
15
|
+
const [checkedItems, setCheckedItems] = useControllableState({
|
|
16
|
+
prop: checkedItemsProp,
|
|
17
|
+
defaultProp: defaultCheckedItems,
|
|
18
|
+
onChange: onCheckedItemsChange
|
|
19
|
+
});
|
|
20
|
+
const tree = useTree({
|
|
21
|
+
rootItemId,
|
|
22
|
+
getItemName: (item)=>getItemName(item.getItemData()),
|
|
23
|
+
isItemFolder: (item)=>getChildren(item.getItemData()).length > 0,
|
|
24
|
+
dataLoader: {
|
|
25
|
+
getItem: (itemId)=>items[itemId],
|
|
26
|
+
getChildren: (itemId)=>getChildren(items[itemId])
|
|
27
|
+
},
|
|
28
|
+
state: {
|
|
29
|
+
expandedItems,
|
|
30
|
+
checkedItems
|
|
31
|
+
},
|
|
32
|
+
setExpandedItems,
|
|
33
|
+
setCheckedItems,
|
|
34
|
+
features: [
|
|
35
|
+
syncDataLoaderFeature,
|
|
36
|
+
hotkeysCoreFeature,
|
|
37
|
+
...checkboxes ? [
|
|
38
|
+
checkboxesFeature
|
|
39
|
+
] : []
|
|
40
|
+
]
|
|
41
|
+
});
|
|
42
|
+
return /*#__PURE__*/ _jsx(ItemGroup, {
|
|
43
|
+
...tree.getContainerProps(),
|
|
44
|
+
className: cn('flex flex-col gap-1.5', className),
|
|
45
|
+
children: tree.getItems().map((item)=>/*#__PURE__*/ _jsx(TreeItem, {
|
|
46
|
+
item: item,
|
|
47
|
+
checkboxes: checkboxes,
|
|
48
|
+
children: children(item)
|
|
49
|
+
}, item.getId()))
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function TreeItem({ item, children, checkboxes }) {
|
|
53
|
+
const level = item.getItemMeta().level;
|
|
54
|
+
const isFolder = item.isFolder();
|
|
55
|
+
const isExpanded = item.isExpanded();
|
|
56
|
+
const checkedState = checkboxes ? item.getCheckedState() : null;
|
|
57
|
+
const chevron = /*#__PURE__*/ _jsx(IconChevronRight, {
|
|
58
|
+
"aria-hidden": true,
|
|
59
|
+
"data-slot": "tree-chevron",
|
|
60
|
+
"data-open": isExpanded ? '' : undefined,
|
|
61
|
+
className: cn('size-4 shrink-0 text-medium-foreground transition-transform duration-200 data-open:rotate-90', !isFolder && 'invisible')
|
|
62
|
+
});
|
|
63
|
+
return /*#__PURE__*/ _jsxs(Item, {
|
|
64
|
+
selected: checkedState === CheckedState.Checked || checkedState === CheckedState.Indeterminate,
|
|
65
|
+
...item.getProps(),
|
|
66
|
+
onClick: ()=>item.setFocused(),
|
|
67
|
+
children: [
|
|
68
|
+
Array.from({
|
|
69
|
+
length: level
|
|
70
|
+
}, (_, index)=>/*#__PURE__*/ _jsx("span", {
|
|
71
|
+
"aria-hidden": "true",
|
|
72
|
+
"data-slot": "tree-indent",
|
|
73
|
+
className: "w-4 shrink-0"
|
|
74
|
+
}, `${item.getId()}-indent-${index}`)),
|
|
75
|
+
isFolder ? /*#__PURE__*/ _jsx("button", {
|
|
76
|
+
type: "button",
|
|
77
|
+
tabIndex: -1,
|
|
78
|
+
"aria-label": `${isExpanded ? 'Collapse' : 'Expand'} ${item.getItemName()}`,
|
|
79
|
+
className: "shrink-0",
|
|
80
|
+
onClick: ()=>{
|
|
81
|
+
isExpanded ? item.collapse() : item.expand();
|
|
82
|
+
},
|
|
83
|
+
children: chevron
|
|
84
|
+
}) : chevron,
|
|
85
|
+
checkboxes ? /*#__PURE__*/ _jsx(ItemCheckbox, {
|
|
86
|
+
className: "shrink-0",
|
|
87
|
+
"aria-label": `Select ${item.getItemName()}`,
|
|
88
|
+
checked: checkedState === CheckedState.Checked,
|
|
89
|
+
indeterminate: checkedState === CheckedState.Indeterminate,
|
|
90
|
+
onCheckedChange: ()=>{
|
|
91
|
+
item.toggleCheckedState();
|
|
92
|
+
}
|
|
93
|
+
}) : null,
|
|
94
|
+
children
|
|
95
|
+
]
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
export { Tree };
|
|
99
|
+
|
|
100
|
+
//# sourceMappingURL=tree.js.map
|