@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,73 +1,89 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
}), o = t(({ className: t, variant: n, size: o, outline: s, dot: c, background: l, urgent: u = !1, children: d, render: f, ...p }, m) => {
|
|
43
|
-
let h = !d, g = n && !(/* @__PURE__ */ new Set([
|
|
44
|
-
"mountain",
|
|
45
|
-
"fjord",
|
|
46
|
-
"nordic",
|
|
47
|
-
"aurora",
|
|
48
|
-
"dusk",
|
|
49
|
-
"orange"
|
|
50
|
-
])).has(n), _ = s === !0 && g;
|
|
51
|
-
return i({
|
|
52
|
-
defaultTagName: "span",
|
|
53
|
-
ref: m,
|
|
54
|
-
props: r({ className: e(a({
|
|
55
|
-
variant: n,
|
|
56
|
-
size: o,
|
|
57
|
-
outline: _,
|
|
58
|
-
background: !_ && l,
|
|
59
|
-
dot: c
|
|
60
|
-
}), _ && n === "error" && "text-destructive-foreground", _ && n === "warning" && "text-warning-foreground", _ && n === "success" && "text-success-foreground", _ && n === "inProgress" && "text-info-foreground", _ && n === "archived" && "text-neutral-foreground", c && h && "h-2 w-2 min-h-2 min-w-2 max-h-2 max-w-2 rounded-full p-0 border-0", c && u && "bg-destructive-background text-destructive-foreground-on-critical", t) }, {
|
|
61
|
-
...p,
|
|
62
|
-
children: d
|
|
63
|
-
}),
|
|
64
|
-
render: f,
|
|
65
|
-
state: {
|
|
66
|
-
slot: "badge",
|
|
67
|
-
variant: n
|
|
68
|
-
}
|
|
69
|
-
});
|
|
1
|
+
import { forwardRef } from "react";
|
|
2
|
+
import { mergeProps } from "@base-ui/react/merge-props";
|
|
3
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { decorativeBadgeVariantClasses, legacyDecorativeBadgeVariantClasses } from "../../../../lib/decorative-variant-classes.js";
|
|
6
|
+
import { cn } from "../../../../lib/utils.js";
|
|
7
|
+
const badgeVariants = cva('inline-flex h-5 items-center align-middle justify-center rounded-md border px-1 text-sm font-medium leading-[18px] w-fit whitespace-nowrap shrink-0 gap-1 [&>svg]:pointer-events-none [&>svg]:size-3 outline-none focus-visible:border-ring focus-visible:ring-ring-muted focus-visible:ring aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden', {
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
...decorativeBadgeVariantClasses,
|
|
11
|
+
...legacyDecorativeBadgeVariantClasses,
|
|
12
|
+
secondary: 'border-transparent bg-secondary-background text-secondary-foreground',
|
|
13
|
+
error: 'border-transparent bg-critical-background text-critical-foreground',
|
|
14
|
+
warning: 'border-transparent bg-warning-background text-warning-foreground',
|
|
15
|
+
success: 'border-transparent bg-success-background text-success-foreground',
|
|
16
|
+
inProgress: 'border-transparent bg-info-background text-info-foreground',
|
|
17
|
+
archived: 'border-transparent bg-neutral-background text-neutral-foreground',
|
|
18
|
+
closable: 'border-transparent bg-secondary-background text-secondary-foreground hover:bg-secondary-background-hover cursor-pointer'
|
|
19
|
+
},
|
|
20
|
+
size: {
|
|
21
|
+
default: '',
|
|
22
|
+
icon: 'w-5 px-0 py-0'
|
|
23
|
+
},
|
|
24
|
+
outline: {
|
|
25
|
+
true: 'border-default'
|
|
26
|
+
},
|
|
27
|
+
background: {
|
|
28
|
+
false: 'bg-transparent'
|
|
29
|
+
},
|
|
30
|
+
dot: {
|
|
31
|
+
true: 'min-w-5 rounded-md border border-base-background px-1 gap-0'
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
defaultVariants: {
|
|
35
|
+
variant: 'decorative-1',
|
|
36
|
+
size: 'default',
|
|
37
|
+
outline: false,
|
|
38
|
+
background: true,
|
|
39
|
+
dot: false
|
|
40
|
+
}
|
|
70
41
|
});
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
42
|
+
const dotEmptyFillByVariant = {
|
|
43
|
+
success: 'bg-success-foreground-strong',
|
|
44
|
+
error: 'bg-critical-foreground-strong',
|
|
45
|
+
warning: 'bg-warning-foreground-strong',
|
|
46
|
+
inProgress: 'bg-info-foreground-strong',
|
|
47
|
+
archived: 'bg-neutral-foreground-strong'
|
|
48
|
+
};
|
|
49
|
+
const dotEmptyFillFallback = 'bg-info-foreground-strong';
|
|
50
|
+
const Badge = /*#__PURE__*/ forwardRef(({ className, variant, size, outline, dot, background, urgent = false, children, render, ...props }, ref)=>{
|
|
51
|
+
const isEmpty = !children;
|
|
52
|
+
const filledOnlyVariants = new Set([
|
|
53
|
+
'decorative-1',
|
|
54
|
+
'decorative-2',
|
|
55
|
+
'decorative-3',
|
|
56
|
+
'decorative-4',
|
|
57
|
+
'decorative-5',
|
|
58
|
+
'decorative-6',
|
|
59
|
+
'decorative-7'
|
|
60
|
+
]);
|
|
61
|
+
const canBeOutlined = variant && !filledOnlyVariants.has(variant);
|
|
62
|
+
const isOutlined = outline === true && canBeOutlined;
|
|
63
|
+
const resolvedVariant = variant ?? 'decorative-1';
|
|
64
|
+
return useRender({
|
|
65
|
+
defaultTagName: 'span',
|
|
66
|
+
ref,
|
|
67
|
+
props: mergeProps({
|
|
68
|
+
className: cn(badgeVariants({
|
|
69
|
+
variant,
|
|
70
|
+
size,
|
|
71
|
+
outline: isOutlined,
|
|
72
|
+
background: isOutlined ? false : background,
|
|
73
|
+
dot
|
|
74
|
+
}), isOutlined && variant === 'error' && 'text-critical-foreground', isOutlined && variant === 'warning' && 'text-warning-foreground', isOutlined && variant === 'success' && 'text-success-foreground', isOutlined && variant === 'inProgress' && 'text-info-foreground', isOutlined && variant === 'archived' && 'text-neutral-foreground', dot && isEmpty && 'h-2 w-2 min-h-2 min-w-2 max-h-2 max-w-2 rounded-full p-0 border border-base-background bg-transparent', dot && isEmpty && urgent && 'bg-critical-foreground-strong', dot && isEmpty && !urgent && (dotEmptyFillByVariant[resolvedVariant] ?? dotEmptyFillFallback), dot && !isEmpty && (urgent ? 'bg-critical-background text-critical-foreground' : 'bg-medium-background text-medium-foreground border-default'), className)
|
|
75
|
+
}, {
|
|
76
|
+
...props,
|
|
77
|
+
children
|
|
78
|
+
}),
|
|
79
|
+
render,
|
|
80
|
+
state: {
|
|
81
|
+
slot: 'badge',
|
|
82
|
+
variant
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
Badge.displayName = 'Badge';
|
|
87
|
+
export { Badge, badgeVariants };
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ui/core/badge/badge.tsx"],"sourcesContent":["import type { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport type { ClassProp } from 'class-variance-authority/types';\n\nimport {\n decorativeBadgeVariantClasses,\n legacyDecorativeBadgeVariantClasses,\n type DecorativeVariantProp,\n} from '../../../../lib/decorative-variant-classes';\nimport { cn } from '../../../../lib/utils';\n\ninterface BadgeVariantProps {\n variant?:\n | DecorativeVariantProp\n | 'secondary'\n | 'error'\n | 'warning'\n | 'success'\n | 'inProgress'\n | 'archived'\n | 'closable'\n | null;\n size?: 'default' | 'icon' | null;\n outline?: boolean | null;\n background?: boolean | null;\n dot?: boolean | null;\n}\n\nconst badgeVariants: (\n props?: (BadgeVariantProps & ClassProp) | undefined\n) => string = cva(\n 'inline-flex h-5 items-center align-middle justify-center rounded-md border px-1 text-sm font-medium leading-[18px] w-fit whitespace-nowrap shrink-0 gap-1 [&>svg]:pointer-events-none [&>svg]:size-3 outline-none focus-visible:border-ring focus-visible:ring-ring-muted focus-visible:ring aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden',\n {\n variants: {\n variant: {\n ...decorativeBadgeVariantClasses,\n ...legacyDecorativeBadgeVariantClasses,\n secondary:\n 'border-transparent bg-secondary-background text-secondary-foreground',\n error:\n 'border-transparent bg-critical-background text-critical-foreground',\n warning:\n 'border-transparent bg-warning-background text-warning-foreground',\n success:\n 'border-transparent bg-success-background text-success-foreground',\n inProgress:\n 'border-transparent bg-info-background text-info-foreground',\n archived:\n 'border-transparent bg-neutral-background text-neutral-foreground',\n closable:\n 'border-transparent bg-secondary-background text-secondary-foreground hover:bg-secondary-background-hover cursor-pointer',\n },\n size: {\n default: '',\n icon: 'w-5 px-0 py-0',\n },\n outline: {\n true: 'border-default',\n },\n background: {\n false: 'bg-transparent',\n },\n dot: {\n true: 'min-w-5 rounded-md border border-base-background px-1 gap-0',\n },\n },\n defaultVariants: {\n variant: 'decorative-1',\n size: 'default',\n outline: false,\n background: true,\n dot: false,\n },\n }\n);\n\nconst dotEmptyFillByVariant: Partial<\n Record<NonNullable<BadgeVariantProps['variant']>, string>\n> = {\n success: 'bg-success-foreground-strong',\n error: 'bg-critical-foreground-strong',\n warning: 'bg-warning-foreground-strong',\n inProgress: 'bg-info-foreground-strong',\n archived: 'bg-neutral-foreground-strong',\n};\n\nconst dotEmptyFillFallback = 'bg-info-foreground-strong';\n\ntype BadgeProps = useRender.ComponentProps<'span'> &\n VariantProps<typeof badgeVariants> & {\n urgent?: boolean;\n };\n\nconst Badge: ForwardRefExoticComponent<\n Omit<BadgeProps, 'ref'> & RefAttributes<HTMLSpanElement>\n> = forwardRef<HTMLSpanElement, BadgeProps>(\n (\n {\n className,\n variant,\n size,\n outline,\n dot,\n background,\n urgent = false,\n children,\n render,\n ...props\n },\n ref\n ) => {\n const isEmpty = !children;\n\n const filledOnlyVariants = new Set<\n NonNullable<BadgeVariantProps['variant']>\n >([\n 'decorative-1',\n 'decorative-2',\n 'decorative-3',\n 'decorative-4',\n 'decorative-5',\n 'decorative-6',\n 'decorative-7',\n ]);\n const canBeOutlined = variant && !filledOnlyVariants.has(variant);\n const isOutlined = outline === true && canBeOutlined;\n const resolvedVariant = variant ?? 'decorative-1';\n\n return useRender({\n defaultTagName: 'span',\n ref,\n props: mergeProps<'span'>(\n {\n className: cn(\n badgeVariants({\n variant,\n size,\n outline: isOutlined,\n background: isOutlined ? false : background,\n dot,\n }),\n isOutlined && variant === 'error' && 'text-critical-foreground',\n isOutlined && variant === 'warning' && 'text-warning-foreground',\n isOutlined && variant === 'success' && 'text-success-foreground',\n isOutlined && variant === 'inProgress' && 'text-info-foreground',\n isOutlined && variant === 'archived' && 'text-neutral-foreground',\n dot &&\n isEmpty &&\n 'h-2 w-2 min-h-2 min-w-2 max-h-2 max-w-2 rounded-full p-0 border border-base-background bg-transparent',\n dot && isEmpty && urgent && 'bg-critical-foreground-strong',\n dot &&\n isEmpty &&\n !urgent &&\n (dotEmptyFillByVariant[resolvedVariant] ?? dotEmptyFillFallback),\n dot &&\n !isEmpty &&\n (urgent\n ? 'bg-critical-background text-critical-foreground'\n : 'bg-medium-background text-medium-foreground border-default'),\n className\n ),\n },\n { ...props, children }\n ),\n render,\n state: {\n slot: 'badge',\n variant,\n },\n });\n }\n);\n\nBadge.displayName = 'Badge';\n\nexport { Badge, badgeVariants };\n"],"names":["forwardRef","mergeProps","useRender","cva","decorativeBadgeVariantClasses","legacyDecorativeBadgeVariantClasses","cn","badgeVariants","variants","variant","secondary","error","warning","success","inProgress","archived","closable","size","default","icon","outline","true","background","false","dot","defaultVariants","dotEmptyFillByVariant","dotEmptyFillFallback","Badge","className","urgent","children","render","props","ref","isEmpty","filledOnlyVariants","Set","canBeOutlined","has","isOutlined","resolvedVariant","defaultTagName","state","slot","displayName"],"mappings":"AACA,SAASA,UAAU,QAAQ,QAAQ;AAEnC,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAA4BC,GAAG,QAAQ,2BAA2B;AAGlE,SACEC,6BAA6B,EAC7BC,mCAAmC,QAE9B,gDAA6C;AACpD,SAASC,EAAE,QAAQ,2BAAwB;AAmB3C,MAAMC,gBAEQJ,IACZ,qbACA;IACEK,UAAU;QACRC,SAAS;YACP,GAAGL,6BAA6B;YAChC,GAAGC,mCAAmC;YACtCK,WACE;YACFC,OACE;YACFC,SACE;YACFC,SACE;YACFC,YACE;YACFC,UACE;YACFC,UACE;QACJ;QACAC,MAAM;YACJC,SAAS;YACTC,MAAM;QACR;QACAC,SAAS;YACPC,MAAM;QACR;QACAC,YAAY;YACVC,OAAO;QACT;QACAC,KAAK;YACHH,MAAM;QACR;IACF;IACAI,iBAAiB;QACfhB,SAAS;QACTQ,MAAM;QACNG,SAAS;QACTE,YAAY;QACZE,KAAK;IACP;AACF;AAGF,MAAME,wBAEF;IACFb,SAAS;IACTF,OAAO;IACPC,SAAS;IACTE,YAAY;IACZC,UAAU;AACZ;AAEA,MAAMY,uBAAuB;AAO7B,MAAMC,sBAEF5B,WACF,CACE,EACE6B,SAAS,EACTpB,OAAO,EACPQ,IAAI,EACJG,OAAO,EACPI,GAAG,EACHF,UAAU,EACVQ,SAAS,KAAK,EACdC,QAAQ,EACRC,MAAM,EACN,GAAGC,OACJ,EACDC;IAEA,MAAMC,UAAU,CAACJ;IAEjB,MAAMK,qBAAqB,IAAIC,IAE7B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACD,MAAMC,gBAAgB7B,WAAW,CAAC2B,mBAAmBG,GAAG,CAAC9B;IACzD,MAAM+B,aAAapB,YAAY,QAAQkB;IACvC,MAAMG,kBAAkBhC,WAAW;IAEnC,OAAOP,UAAU;QACfwC,gBAAgB;QAChBR;QACAD,OAAOhC,WACL;YACE4B,WAAWvB,GACTC,cAAc;gBACZE;gBACAQ;gBACAG,SAASoB;gBACTlB,YAAYkB,aAAa,QAAQlB;gBACjCE;YACF,IACAgB,cAAc/B,YAAY,WAAW,4BACrC+B,cAAc/B,YAAY,aAAa,2BACvC+B,cAAc/B,YAAY,aAAa,2BACvC+B,cAAc/B,YAAY,gBAAgB,wBAC1C+B,cAAc/B,YAAY,cAAc,2BACxCe,OACEW,WACA,yGACFX,OAAOW,WAAWL,UAAU,iCAC5BN,OACEW,WACA,CAACL,UACAJ,CAAAA,qBAAqB,CAACe,gBAAgB,IAAId,oBAAmB,GAChEH,OACE,CAACW,WACAL,CAAAA,SACG,oDACA,4DAA2D,GACjED;QAEJ,GACA;YAAE,GAAGI,KAAK;YAAEF;QAAS;QAEvBC;QACAW,OAAO;YACLC,MAAM;YACNnC;QACF;IACF;AACF;AAGFmB,MAAMiB,WAAW,GAAG;AAEpB,SAASjB,KAAK,EAAErB,aAAa,GAAG"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { ForwardRefExoticComponent, RefAttributes, ComponentProps, ComponentType, HTMLAttributes } from
|
|
2
|
-
import { IconProps } from
|
|
3
|
-
import { VariantProps } from
|
|
4
|
-
import { ClassProp } from
|
|
5
|
-
import { Badge } from
|
|
6
|
-
import { Button } from
|
|
1
|
+
import { type ForwardRefExoticComponent, type RefAttributes, type ComponentProps, type ComponentType, type HTMLAttributes } from "react";
|
|
2
|
+
import type { IconProps } from "@tabler/icons-react";
|
|
3
|
+
import { type VariantProps } from "class-variance-authority";
|
|
4
|
+
import type { ClassProp } from "class-variance-authority/types";
|
|
5
|
+
import { Badge } from "../badge/badge";
|
|
6
|
+
import { Button } from "../button/button";
|
|
7
7
|
interface BannerVariantProps {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
variant?: "default" | "info" | "destructive" | "warning" | null;
|
|
9
|
+
inset?: boolean | null;
|
|
10
10
|
}
|
|
11
11
|
declare const bannerVariants: (props?: (BannerVariantProps & ClassProp) | undefined) => string;
|
|
12
12
|
type BannerProps = HTMLAttributes<HTMLDivElement> & VariantProps<typeof bannerVariants> & {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
visible?: boolean;
|
|
14
|
+
defaultVisible?: boolean;
|
|
15
|
+
onClose?: () => void;
|
|
16
16
|
};
|
|
17
|
-
declare const Banner: ForwardRefExoticComponent<Omit<BannerProps,
|
|
17
|
+
declare const Banner: ForwardRefExoticComponent<Omit<BannerProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
18
18
|
type TablerIconComponent = ComponentType<IconProps>;
|
|
19
19
|
declare const BannerIcon: ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
20
|
-
|
|
20
|
+
icon: TablerIconComponent;
|
|
21
21
|
} & RefAttributes<HTMLDivElement>>;
|
|
22
22
|
type BannerTitleProps = HTMLAttributes<HTMLParagraphElement>;
|
|
23
23
|
declare const BannerTitle: ForwardRefExoticComponent<BannerTitleProps & RefAttributes<HTMLParagraphElement>>;
|
|
24
|
-
declare const BannerStatus: ForwardRefExoticComponent<Omit<ComponentProps<typeof Badge>,
|
|
24
|
+
declare const BannerStatus: ForwardRefExoticComponent<Omit<ComponentProps<typeof Badge>, "ref"> & RefAttributes<HTMLSpanElement>>;
|
|
25
25
|
type BannerActionsProps = HTMLAttributes<HTMLDivElement>;
|
|
26
26
|
declare const BannerActions: ForwardRefExoticComponent<BannerActionsProps & RefAttributes<HTMLDivElement>>;
|
|
27
|
-
declare const BannerAction: ForwardRefExoticComponent<Omit<ComponentProps<typeof Button>,
|
|
28
|
-
type BannerCloseProps = Omit<ComponentProps<typeof Button>,
|
|
29
|
-
declare const BannerClose: ForwardRefExoticComponent<Omit<BannerCloseProps,
|
|
30
|
-
export { Banner, BannerIcon, BannerTitle, BannerStatus, BannerActions, BannerAction, BannerClose
|
|
27
|
+
declare const BannerAction: ForwardRefExoticComponent<Omit<ComponentProps<typeof Button>, "ref"> & RefAttributes<HTMLElement>>;
|
|
28
|
+
type BannerCloseProps = Omit<ComponentProps<typeof Button>, "size">;
|
|
29
|
+
declare const BannerClose: ForwardRefExoticComponent<Omit<BannerCloseProps, "ref"> & RefAttributes<HTMLElement>>;
|
|
30
|
+
export { Banner, BannerIcon, BannerTitle, BannerStatus, BannerActions, BannerAction, BannerClose };
|
|
@@ -1,149 +1,186 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, forwardRef, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { cn } from "../../../../lib/utils.js";
|
|
5
|
+
import { Badge } from "../badge/badge.js";
|
|
6
|
+
import { Button } from "../button/button.js";
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
8
|
+
const noop = (_show)=>{};
|
|
9
|
+
const BannerContext = /*#__PURE__*/ createContext({
|
|
10
|
+
show: true,
|
|
11
|
+
setShow: noop,
|
|
12
|
+
variant: 'default'
|
|
11
13
|
});
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
+
function isUpdater(next) {
|
|
15
|
+
return typeof next === 'function';
|
|
14
16
|
}
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
function useBannerVisibility({ visible, defaultVisible, onClose }) {
|
|
18
|
+
const [uncontrolledVisible, setUncontrolledVisible] = useState(defaultVisible);
|
|
19
|
+
const isControlled = visible !== undefined;
|
|
20
|
+
const currentValue = isControlled ? visible : uncontrolledVisible;
|
|
21
|
+
const onCloseRef = useRef(onClose);
|
|
22
|
+
useEffect(()=>{
|
|
23
|
+
onCloseRef.current = onClose;
|
|
24
|
+
}, [
|
|
25
|
+
onClose
|
|
26
|
+
]);
|
|
27
|
+
const setValue = useCallback((next)=>{
|
|
28
|
+
if (isControlled) {
|
|
29
|
+
const resolved = isUpdater(next) ? next(visible) : next;
|
|
30
|
+
if (!resolved) {
|
|
31
|
+
onCloseRef.current?.();
|
|
32
|
+
}
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
setUncontrolledVisible((prev)=>{
|
|
36
|
+
const resolved = isUpdater(next) ? next(prev) : next;
|
|
37
|
+
if (!resolved) {
|
|
38
|
+
onCloseRef.current?.();
|
|
39
|
+
}
|
|
40
|
+
return resolved;
|
|
41
|
+
});
|
|
42
|
+
}, [
|
|
43
|
+
isControlled,
|
|
44
|
+
visible
|
|
45
|
+
]);
|
|
46
|
+
return [
|
|
47
|
+
currentValue,
|
|
48
|
+
setValue
|
|
49
|
+
];
|
|
29
50
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}), _ = i(({ children: t, visible: n, defaultVisible: r = !0, onClose: i, className: a, inset: o = !1, variant: s = "default", ...l }, u) => {
|
|
48
|
-
let f = s ?? "default", [m, _] = h({
|
|
49
|
-
defaultVisible: r,
|
|
50
|
-
visible: n,
|
|
51
|
-
onClose: i
|
|
52
|
-
}), v = c(() => ({
|
|
53
|
-
show: m ?? !0,
|
|
54
|
-
setShow: _,
|
|
55
|
-
variant: f
|
|
56
|
-
}), [
|
|
57
|
-
m,
|
|
58
|
-
_,
|
|
59
|
-
f
|
|
60
|
-
]);
|
|
61
|
-
return m ? /* @__PURE__ */ d(p.Provider, {
|
|
62
|
-
value: v,
|
|
63
|
-
children: /* @__PURE__ */ d("div", {
|
|
64
|
-
ref: u,
|
|
65
|
-
"data-slot": "banner",
|
|
66
|
-
className: e(g({
|
|
67
|
-
variant: f,
|
|
68
|
-
inset: o
|
|
69
|
-
}), a),
|
|
70
|
-
...l,
|
|
71
|
-
children: /* @__PURE__ */ d("div", {
|
|
72
|
-
"data-slot": "banner-content",
|
|
73
|
-
className: "flex h-7 w-full items-center self-stretch gap-2",
|
|
74
|
-
children: t
|
|
75
|
-
})
|
|
76
|
-
})
|
|
77
|
-
}) : null;
|
|
51
|
+
const bannerVariants = cva('flex w-full h-11 flex-col items-start justify-center px-3 py-0', {
|
|
52
|
+
variants: {
|
|
53
|
+
variant: {
|
|
54
|
+
default: 'bg-neutral-background text-foreground-fixed-dark',
|
|
55
|
+
info: 'bg-info-background text-foreground-fixed-dark',
|
|
56
|
+
warning: 'bg-warning-background text-foreground-fixed-dark',
|
|
57
|
+
destructive: 'bg-destructive-background text-foreground-fixed-dark'
|
|
58
|
+
},
|
|
59
|
+
inset: {
|
|
60
|
+
true: 'rounded-lg',
|
|
61
|
+
false: ''
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
defaultVariants: {
|
|
65
|
+
variant: 'default',
|
|
66
|
+
inset: false
|
|
67
|
+
}
|
|
78
68
|
});
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
69
|
+
const Banner = /*#__PURE__*/ forwardRef(({ children, visible, defaultVisible = true, onClose, className, inset = false, variant = 'default', ...props }, ref)=>{
|
|
70
|
+
const resolvedVariant = variant ?? 'default';
|
|
71
|
+
const [show, setShow] = useBannerVisibility({
|
|
72
|
+
defaultVisible,
|
|
73
|
+
visible,
|
|
74
|
+
onClose
|
|
75
|
+
});
|
|
76
|
+
const contextValue = useMemo(()=>({
|
|
77
|
+
show: show ?? true,
|
|
78
|
+
setShow,
|
|
79
|
+
variant: resolvedVariant
|
|
80
|
+
}), [
|
|
81
|
+
show,
|
|
82
|
+
setShow,
|
|
83
|
+
resolvedVariant
|
|
84
|
+
]);
|
|
85
|
+
if (!show) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
return /*#__PURE__*/ _jsx(BannerContext.Provider, {
|
|
89
|
+
value: contextValue,
|
|
90
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
91
|
+
ref: ref,
|
|
92
|
+
"data-slot": "banner",
|
|
93
|
+
className: cn(bannerVariants({
|
|
94
|
+
variant: resolvedVariant,
|
|
95
|
+
inset
|
|
96
|
+
}), className),
|
|
97
|
+
...props,
|
|
98
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
99
|
+
"data-slot": "banner-content",
|
|
100
|
+
className: "flex h-7 w-full items-center self-stretch gap-2",
|
|
101
|
+
children: children
|
|
102
|
+
})
|
|
103
|
+
})
|
|
104
|
+
});
|
|
94
105
|
});
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
warning: "warning"
|
|
114
|
-
}[c],
|
|
115
|
-
className: e("shrink-0", i),
|
|
116
|
-
...a
|
|
117
|
-
});
|
|
106
|
+
Banner.displayName = 'Banner';
|
|
107
|
+
const ICON_COLOR_CLASSES = {
|
|
108
|
+
default: 'text-neutral-foreground-on-neutral',
|
|
109
|
+
info: 'text-info-foreground-on-info',
|
|
110
|
+
warning: 'text-warning-foreground-on-warning',
|
|
111
|
+
destructive: 'text-destructive-foreground-on-critical'
|
|
112
|
+
};
|
|
113
|
+
const BannerIcon = /*#__PURE__*/ forwardRef(({ icon: Icon, className, ...props }, ref)=>{
|
|
114
|
+
const { variant } = useContext(BannerContext);
|
|
115
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
116
|
+
ref: ref,
|
|
117
|
+
"data-slot": "banner-icon",
|
|
118
|
+
className: cn('flex h-4 w-4 shrink-0 items-center justify-center', ICON_COLOR_CLASSES[variant], className),
|
|
119
|
+
...props,
|
|
120
|
+
children: /*#__PURE__*/ _jsx(Icon, {
|
|
121
|
+
size: 16
|
|
122
|
+
})
|
|
123
|
+
});
|
|
118
124
|
});
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}));
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
...t
|
|
145
|
-
});
|
|
125
|
+
BannerIcon.displayName = 'BannerIcon';
|
|
126
|
+
const BannerTitle = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ _jsx("p", {
|
|
127
|
+
ref: ref,
|
|
128
|
+
"data-slot": "banner-title",
|
|
129
|
+
className: cn('flex min-w-0 flex-1 items-center text-base font-medium leading-5 tracking-tighter text-foreground-fixed-dark', className),
|
|
130
|
+
...props
|
|
131
|
+
}));
|
|
132
|
+
BannerTitle.displayName = 'BannerTitle';
|
|
133
|
+
const BannerStatus = /*#__PURE__*/ forwardRef(({ outline = true, variant, className, ...props }, ref)=>{
|
|
134
|
+
const { variant: bannerVariant } = useContext(BannerContext);
|
|
135
|
+
const variantMap = {
|
|
136
|
+
default: 'secondary',
|
|
137
|
+
info: 'inProgress',
|
|
138
|
+
destructive: 'error',
|
|
139
|
+
warning: 'warning'
|
|
140
|
+
};
|
|
141
|
+
const badgeVariant = variant ?? variantMap[bannerVariant];
|
|
142
|
+
return /*#__PURE__*/ _jsx(Badge, {
|
|
143
|
+
ref: ref,
|
|
144
|
+
"data-slot": "banner-status",
|
|
145
|
+
outline: outline,
|
|
146
|
+
variant: badgeVariant,
|
|
147
|
+
className: cn('shrink-0', className),
|
|
148
|
+
...props
|
|
149
|
+
});
|
|
146
150
|
});
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
151
|
+
BannerStatus.displayName = 'BannerStatus';
|
|
152
|
+
const BannerActions = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ _jsx("div", {
|
|
153
|
+
ref: ref,
|
|
154
|
+
"data-slot": "banner-actions",
|
|
155
|
+
className: cn('ml-auto flex h-7 shrink-0 items-center gap-2', className),
|
|
156
|
+
...props
|
|
157
|
+
}));
|
|
158
|
+
BannerActions.displayName = 'BannerActions';
|
|
159
|
+
const BannerAction = /*#__PURE__*/ forwardRef(({ variant = 'ghost', size = 'sm', className, ...props }, ref)=>{
|
|
160
|
+
return /*#__PURE__*/ _jsx(Button, {
|
|
161
|
+
ref: ref,
|
|
162
|
+
"data-slot": "banner-action",
|
|
163
|
+
className: cn('h-7 min-w-16 shrink-0 rounded px-2 text-sm font-medium leading-4.5 text-medium-foreground hover:bg-transparent dark:hover:bg-transparent hover:text-medium-foreground disabled:bg-transparent dark:disabled:bg-transparent disabled:text-base-foreground-disabled', className),
|
|
164
|
+
size: size,
|
|
165
|
+
variant: variant,
|
|
166
|
+
...props
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
BannerAction.displayName = 'BannerAction';
|
|
170
|
+
const BannerClose = /*#__PURE__*/ forwardRef(({ onClick, ...props }, ref)=>{
|
|
171
|
+
const { setShow } = useContext(BannerContext);
|
|
172
|
+
const handleClick = (e)=>{
|
|
173
|
+
setShow(false);
|
|
174
|
+
onClick?.(e);
|
|
175
|
+
};
|
|
176
|
+
return /*#__PURE__*/ _jsx(BannerAction, {
|
|
177
|
+
ref: ref,
|
|
178
|
+
"data-slot": "banner-close",
|
|
179
|
+
onClick: handleClick,
|
|
180
|
+
...props
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
BannerClose.displayName = 'BannerClose';
|
|
184
|
+
export { Banner, BannerIcon, BannerTitle, BannerStatus, BannerActions, BannerAction, BannerClose };
|
|
185
|
+
|
|
186
|
+
//# sourceMappingURL=banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ui/core/banner/banner.tsx"],"sourcesContent":["import {\n type ForwardRefExoticComponent,\n type RefAttributes,\n type ComponentProps,\n type ComponentRef,\n type ComponentType,\n type HTMLAttributes,\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport type { IconProps } from '@tabler/icons-react';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport type { ClassProp } from 'class-variance-authority/types';\n\nimport { cn } from '../../../../lib/utils';\nimport { Badge } from '../badge/badge';\nimport { Button } from '../button/button';\n\ntype BannerVariant = 'default' | 'info' | 'destructive' | 'warning';\ntype SetStateAction<T> = T | ((prev: T) => T);\n\ntype BannerContextProps = {\n show: boolean;\n setShow: (show: boolean) => void;\n variant: BannerVariant;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (_show: boolean) => {};\n\nconst BannerContext = createContext<BannerContextProps>({\n show: true,\n setShow: noop,\n variant: 'default',\n});\n\nfunction isUpdater<T>(next: SetStateAction<T>): next is (prev: T) => T {\n return typeof next === 'function';\n}\n\nfunction useBannerVisibility({\n visible,\n defaultVisible,\n onClose,\n}: {\n visible?: boolean;\n defaultVisible: boolean;\n onClose?: () => void;\n}): readonly [boolean, (next: SetStateAction<boolean>) => void] {\n const [uncontrolledVisible, setUncontrolledVisible] =\n useState(defaultVisible);\n const isControlled = visible !== undefined;\n const currentValue = isControlled ? visible : uncontrolledVisible;\n\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n onCloseRef.current = onClose;\n }, [onClose]);\n\n const setValue = useCallback(\n (next: SetStateAction<boolean>) => {\n if (isControlled) {\n const resolved = isUpdater(next) ? next(visible) : next;\n\n if (!resolved) {\n onCloseRef.current?.();\n }\n\n return;\n }\n\n setUncontrolledVisible((prev) => {\n const resolved = isUpdater(next) ? next(prev) : next;\n\n if (!resolved) {\n onCloseRef.current?.();\n }\n\n return resolved;\n });\n },\n [isControlled, visible]\n );\n\n return [currentValue, setValue];\n}\n\ninterface BannerVariantProps {\n variant?: 'default' | 'info' | 'destructive' | 'warning' | null;\n inset?: boolean | null;\n}\n\nconst bannerVariants: (\n props?: (BannerVariantProps & ClassProp) | undefined\n) => string = cva(\n 'flex w-full h-11 flex-col items-start justify-center px-3 py-0',\n {\n variants: {\n variant: {\n default: 'bg-neutral-background text-foreground-fixed-dark',\n info: 'bg-info-background text-foreground-fixed-dark',\n warning: 'bg-warning-background text-foreground-fixed-dark',\n destructive: 'bg-destructive-background text-foreground-fixed-dark',\n },\n inset: {\n true: 'rounded-lg',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n inset: false,\n },\n }\n);\n\ntype BannerProps = HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof bannerVariants> & {\n visible?: boolean;\n defaultVisible?: boolean;\n onClose?: () => void;\n };\n\nconst Banner: ForwardRefExoticComponent<\n Omit<BannerProps, 'ref'> & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, BannerProps>(\n (\n {\n children,\n visible,\n defaultVisible = true,\n onClose,\n className,\n inset = false,\n variant = 'default',\n ...props\n },\n ref\n ) => {\n const resolvedVariant: BannerVariant = variant ?? 'default';\n const [show, setShow] = useBannerVisibility({\n defaultVisible,\n visible,\n onClose,\n });\n\n const contextValue = useMemo(\n () => ({ show: show ?? true, setShow, variant: resolvedVariant }),\n [show, setShow, resolvedVariant]\n );\n\n if (!show) {\n return null;\n }\n\n return (\n <BannerContext.Provider value={contextValue}>\n <div\n ref={ref}\n data-slot=\"banner\"\n className={cn(\n bannerVariants({ variant: resolvedVariant, inset }),\n className\n )}\n {...props}\n >\n <div\n data-slot=\"banner-content\"\n className=\"flex h-7 w-full items-center self-stretch gap-2\"\n >\n {children}\n </div>\n </div>\n </BannerContext.Provider>\n );\n }\n);\nBanner.displayName = 'Banner';\n\ntype TablerIconComponent = ComponentType<IconProps>;\n\ntype BannerIconProps = HTMLAttributes<HTMLDivElement> & {\n icon: TablerIconComponent;\n};\n\nconst ICON_COLOR_CLASSES: Record<BannerVariant, string> = {\n default: 'text-neutral-foreground-on-neutral',\n info: 'text-info-foreground-on-info',\n warning: 'text-warning-foreground-on-warning',\n destructive: 'text-destructive-foreground-on-critical',\n};\n\nconst BannerIcon: ForwardRefExoticComponent<\n HTMLAttributes<HTMLDivElement> & {\n icon: TablerIconComponent;\n } & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, BannerIconProps>(\n ({ icon: Icon, className, ...props }, ref) => {\n const { variant } = useContext(BannerContext);\n\n return (\n <div\n ref={ref}\n data-slot=\"banner-icon\"\n className={cn(\n 'flex h-4 w-4 shrink-0 items-center justify-center',\n ICON_COLOR_CLASSES[variant],\n className\n )}\n {...props}\n >\n <Icon size={16} />\n </div>\n );\n }\n);\nBannerIcon.displayName = 'BannerIcon';\n\ntype BannerTitleProps = HTMLAttributes<HTMLParagraphElement>;\n\nconst BannerTitle: ForwardRefExoticComponent<\n BannerTitleProps & RefAttributes<HTMLParagraphElement>\n> = forwardRef<ComponentRef<'p'>, BannerTitleProps>(\n ({ className, ...props }, ref) => (\n <p\n ref={ref}\n data-slot=\"banner-title\"\n className={cn(\n 'flex min-w-0 flex-1 items-center text-base font-medium leading-5 tracking-tighter text-foreground-fixed-dark',\n className\n )}\n {...props}\n />\n )\n);\nBannerTitle.displayName = 'BannerTitle';\n\ntype BannerStatusProps = ComponentProps<typeof Badge>;\n\nconst BannerStatus: ForwardRefExoticComponent<\n Omit<ComponentProps<typeof Badge>, 'ref'> & RefAttributes<HTMLSpanElement>\n> = forwardRef<ComponentRef<typeof Badge>, BannerStatusProps>(\n ({ outline = true, variant, className, ...props }, ref) => {\n const { variant: bannerVariant } = useContext(BannerContext);\n\n const variantMap: Record<\n BannerVariant,\n 'secondary' | 'warning' | 'error' | 'inProgress'\n > = {\n default: 'secondary',\n info: 'inProgress',\n destructive: 'error',\n warning: 'warning',\n };\n\n const badgeVariant = variant ?? variantMap[bannerVariant];\n\n return (\n <Badge\n ref={ref}\n data-slot=\"banner-status\"\n outline={outline}\n variant={badgeVariant}\n className={cn('shrink-0', className)}\n {...props}\n />\n );\n }\n);\nBannerStatus.displayName = 'BannerStatus';\n\ntype BannerActionsProps = HTMLAttributes<HTMLDivElement>;\n\nconst BannerActions: ForwardRefExoticComponent<\n BannerActionsProps & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, BannerActionsProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"banner-actions\"\n className={cn('ml-auto flex h-7 shrink-0 items-center gap-2', className)}\n {...props}\n />\n )\n);\nBannerActions.displayName = 'BannerActions';\n\ntype BannerActionProps = ComponentProps<typeof Button>;\n\nconst BannerAction: ForwardRefExoticComponent<\n Omit<ComponentProps<typeof Button>, 'ref'> & RefAttributes<HTMLElement>\n> = forwardRef<ComponentRef<typeof Button>, BannerActionProps>(\n ({ variant = 'ghost', size = 'sm', className, ...props }, ref) => {\n return (\n <Button\n ref={ref}\n data-slot=\"banner-action\"\n className={cn(\n 'h-7 min-w-16 shrink-0 rounded px-2 text-sm font-medium leading-4.5 text-medium-foreground hover:bg-transparent dark:hover:bg-transparent hover:text-medium-foreground disabled:bg-transparent dark:disabled:bg-transparent disabled:text-base-foreground-disabled',\n className\n )}\n size={size}\n variant={variant}\n {...props}\n />\n );\n }\n);\nBannerAction.displayName = 'BannerAction';\n\ntype BannerCloseProps = Omit<ComponentProps<typeof Button>, 'size'>;\n\nconst BannerClose: ForwardRefExoticComponent<\n Omit<BannerCloseProps, 'ref'> & RefAttributes<HTMLElement>\n> = forwardRef<ComponentRef<typeof Button>, BannerCloseProps>(\n ({ onClick, ...props }, ref) => {\n const { setShow } = useContext(BannerContext);\n\n type ButtonClickHandler = NonNullable<\n ComponentProps<typeof Button>['onClick']\n >;\n const handleClick = (e: Parameters<ButtonClickHandler>[0]) => {\n setShow(false);\n onClick?.(e);\n };\n\n return (\n <BannerAction\n ref={ref}\n data-slot=\"banner-close\"\n onClick={handleClick}\n {...props}\n />\n );\n }\n);\nBannerClose.displayName = 'BannerClose';\n\nexport {\n Banner,\n BannerIcon,\n BannerTitle,\n BannerStatus,\n BannerActions,\n BannerAction,\n BannerClose,\n};\n"],"names":["createContext","forwardRef","useCallback","useContext","useEffect","useMemo","useRef","useState","cva","cn","Badge","Button","noop","_show","BannerContext","show","setShow","variant","isUpdater","next","useBannerVisibility","visible","defaultVisible","onClose","uncontrolledVisible","setUncontrolledVisible","isControlled","undefined","currentValue","onCloseRef","current","setValue","resolved","prev","bannerVariants","variants","default","info","warning","destructive","inset","true","false","defaultVariants","Banner","children","className","props","ref","resolvedVariant","contextValue","Provider","value","div","data-slot","displayName","ICON_COLOR_CLASSES","BannerIcon","icon","Icon","size","BannerTitle","p","BannerStatus","outline","bannerVariant","variantMap","badgeVariant","BannerActions","BannerAction","BannerClose","onClick","handleClick","e"],"mappings":"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"}
|