@cognite/aura 0.3.4 → 1.46104.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 +48 -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 +23 -0
- 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 +70 -0
- 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 +105 -0
- 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 +404 -0
- 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 +51 -0
- 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 -0
- package/dist/components/ui/core/data-grid/index.js +5 -0
- 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 +17 -11
- package/dist/components/ui/core/segmented-control/segmented-control.js +204 -108
- 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 +50 -11
- package/src/components/ui/core/button/button.md +93 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ui/core/prompt-input/prompt-input.tsx"],"sourcesContent":["import {\n type FC,\n type ForwardRefExoticComponent,\n type RefAttributes,\n type ChangeEvent,\n type ComponentProps,\n type ComponentRef,\n type HTMLAttributes,\n type KeyboardEventHandler,\n type PropsWithChildren,\n type ReactNode,\n type SyntheticEvent,\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react';\n\nimport {\n IconInfoCircle,\n IconLoader2,\n IconPlus,\n IconSend,\n IconSquare,\n IconX,\n} from '@tabler/icons-react';\n\nimport type { ChatStatus } from '../../../../lib/ai/types';\nimport { cn } from '../../../../lib/utils';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from '../command/command';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '../dropdown-menu/dropdown-menu';\nimport { HelperText } from '../helper-text/helper-text';\nimport {\n HoverCard,\n HoverCardContent,\n HoverCardTrigger,\n} from '../hover-card/hover-card';\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupTextarea,\n} from '../input-group/input-group';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '../select/select';\n\ntype TextInputContext = {\n value: string;\n setInput: (v: string) => void;\n clear: () => void;\n};\n\ntype PromptInputControllerProps = {\n textInput: TextInputContext;\n};\n\n// eslint-disable-next-line @eslint-react/naming-convention/context-name\nconst PromptInputController = createContext<PromptInputControllerProps | null>(\n null\n);\n\nconst usePromptInputController = (): PromptInputControllerProps => {\n const ctx = useContext(PromptInputController);\n if (!ctx) {\n throw new Error(\n 'Wrap your component inside <PromptInputProvider> to use usePromptInputController().'\n );\n }\n return ctx;\n};\n\nconst useOptionalPromptInputController = () =>\n useContext(PromptInputController);\n\ntype PromptInputProviderProps = PropsWithChildren<{\n initialInput?: string;\n}>;\n\nfunction PromptInputProvider({\n initialInput: initialTextInput = '',\n children,\n}: PromptInputProviderProps): ReactNode {\n const [textInput, setTextInput] = useState(initialTextInput);\n const clearInput = useCallback(() => setTextInput(''), []);\n\n const controller = useMemo<PromptInputControllerProps>(\n () => ({\n textInput: {\n value: textInput,\n setInput: setTextInput,\n clear: clearInput,\n },\n }),\n [textInput, clearInput]\n );\n\n return (\n <PromptInputController.Provider value={controller}>\n {children}\n </PromptInputController.Provider>\n );\n}\n\ntype PromptInputMessage = {\n text?: string;\n};\n\ntype PromptInputProps = Omit<HTMLAttributes<HTMLFormElement>, 'onSubmit'> & {\n onSubmit: (\n message: PromptInputMessage,\n event: SyntheticEvent<HTMLFormElement>\n ) => void | Promise<void>;\n helperText?: ReactNode | false;\n errorMessage?: string;\n};\n\nconst PromptInput: FC<PromptInputProps> = ({\n className,\n onSubmit,\n helperText,\n errorMessage,\n children,\n ...props\n}) => {\n const controller = useOptionalPromptInputController();\n const [submissionError, setSubmissionError] = useState<string | null>(null);\n\n const handleSubmit = (event: SyntheticEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n const form = event.currentTarget;\n const text = controller\n ? controller.textInput.value\n : (() => {\n const formData = new FormData(form);\n const entry = formData.get('message');\n return typeof entry === 'string' ? entry : '';\n })();\n\n if (!controller) {\n form.reset();\n }\n\n try {\n const result = onSubmit({ text }, event);\n\n if (result instanceof Promise) {\n result\n .then(() => {\n setSubmissionError(null);\n controller?.textInput.clear();\n })\n .catch((error) => {\n console.error('PromptInput: Submission error:', error);\n setSubmissionError(\n error instanceof Error\n ? error.message\n : 'Failed to submit. Please try again.'\n );\n });\n } else {\n setSubmissionError(null);\n controller?.textInput.clear();\n }\n } catch (error) {\n console.error('PromptInput: Submission error:', error);\n setSubmissionError(\n error instanceof Error\n ? error.message\n : 'Failed to submit. Please try again.'\n );\n }\n };\n\n const defaultHelperText = (\n <HelperText size=\"xs\" icon={<IconInfoCircle />}>\n AI doesn't always get it right. Be sure to check results\n </HelperText>\n );\n\n const helperTextToRender =\n helperText === false ? null : (helperText ?? defaultHelperText);\n\n return (\n <div className=\"w-full flex flex-col gap-2\">\n <form\n data-slot=\"prompt-input\"\n className={cn('w-full', className)}\n onSubmit={handleSubmit}\n {...props}\n >\n <InputGroup className=\"shadow-none rounded-xl has-[[data-slot=input-group-control]:is(:read-only,[aria-disabled=true])]:border-transparent has-[[data-slot=input-group-control]:is(:read-only,[aria-disabled=true])]:bg-medium-background has-[[data-slot=input-group-control]:is(:read-only,[aria-disabled=true])]:shadow-none hover:has-[[data-slot=input-group-control]:is(:read-only,[aria-disabled=true])]:border-transparent hover:has-[[data-slot=input-group-control]:is(:read-only,[aria-disabled=true])]:bg-medium-background-hover hover:has-[[data-slot=input-group-control]:is(:read-only,[aria-disabled=true])]:text-muted-foreground\">\n {children}\n </InputGroup>\n </form>\n {errorMessage || submissionError ? (\n <HelperText size=\"xs\" isError>\n {errorMessage || submissionError}\n </HelperText>\n ) : (\n helperTextToRender\n )}\n </div>\n );\n};\nPromptInput.displayName = 'PromptInput';\n\ntype PromptInputBodyProps = HTMLAttributes<HTMLDivElement>;\n\nconst PromptInputBody: ForwardRefExoticComponent<\n PromptInputBodyProps & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, PromptInputBodyProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"prompt-input-body\"\n className={cn('contents', className)}\n {...props}\n />\n )\n);\nPromptInputBody.displayName = 'PromptInputBody';\n\ntype PromptInputTextareaProps = ComponentProps<typeof InputGroupTextarea>;\n\nconst PromptInputTextarea: ForwardRefExoticComponent<\n Omit<PromptInputTextareaProps, 'ref'> & RefAttributes<HTMLTextAreaElement>\n> = forwardRef<\n ComponentRef<typeof InputGroupTextarea>,\n PromptInputTextareaProps\n>(\n (\n { onChange, className, placeholder = 'Type your message...', ...props },\n ref\n ) => {\n const controller = useOptionalPromptInputController();\n const [isComposing, setIsComposing] = useState(false);\n\n const handleKeyDown: KeyboardEventHandler<HTMLTextAreaElement> = (e) => {\n if (e.key === 'Enter') {\n if (isComposing || e.nativeEvent.isComposing) {\n return;\n }\n if (e.shiftKey) {\n return;\n }\n e.preventDefault();\n e.currentTarget.form?.requestSubmit();\n }\n };\n\n const controlledProps = controller\n ? {\n value: controller.textInput.value,\n onChange: (e: ChangeEvent<HTMLTextAreaElement>) => {\n controller.textInput.setInput(e.currentTarget.value);\n onChange?.(e);\n },\n }\n : {\n onChange,\n };\n\n return (\n <InputGroupTextarea\n ref={ref}\n className={cn(\n 'field-sizing-content max-h-48 min-h-18 rounded-t-xl md:text-base tracking-tightest p-2.75 leading-5',\n className\n )}\n name=\"message\"\n onCompositionEnd={() => setIsComposing(false)}\n onCompositionStart={() => setIsComposing(true)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n {...props}\n {...controlledProps}\n />\n );\n }\n);\nPromptInputTextarea.displayName = 'PromptInputTextarea';\n\ntype PromptInputHeaderProps = Omit<\n ComponentProps<typeof InputGroupAddon>,\n 'align'\n>;\n\nconst PromptInputHeader: ForwardRefExoticComponent<\n Omit<PromptInputHeaderProps, 'ref'> & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<typeof InputGroupAddon>, PromptInputHeaderProps>(\n ({ className, ...props }, ref) => (\n <InputGroupAddon\n ref={ref}\n align=\"block-end\"\n className={cn('order-first flex-wrap gap-1', className)}\n {...props}\n />\n )\n);\nPromptInputHeader.displayName = 'PromptInputHeader';\n\ntype PromptInputFooterProps = Omit<\n ComponentProps<typeof InputGroupAddon>,\n 'align'\n>;\n\nconst PromptInputFooter: ForwardRefExoticComponent<\n Omit<PromptInputFooterProps, 'ref'> & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<typeof InputGroupAddon>, PromptInputFooterProps>(\n ({ className, ...props }, ref) => (\n <InputGroupAddon\n ref={ref}\n align=\"block-end\"\n className={cn('justify-between gap-1 p-2.75', className)}\n {...props}\n />\n )\n);\nPromptInputFooter.displayName = 'PromptInputFooter';\n\ntype PromptInputToolsProps = HTMLAttributes<HTMLDivElement>;\n\nconst PromptInputTools: ForwardRefExoticComponent<\n PromptInputToolsProps & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, PromptInputToolsProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"prompt-input-tools\"\n className={cn('flex items-center gap-2', className)}\n {...props}\n />\n )\n);\nPromptInputTools.displayName = 'PromptInputTools';\n\ntype PromptInputButtonProps = ComponentProps<typeof InputGroupButton>;\n\nconst PromptInputButton: ForwardRefExoticComponent<\n Omit<PromptInputButtonProps, 'ref'> & RefAttributes<HTMLElement>\n> = forwardRef<ComponentRef<typeof InputGroupButton>, PromptInputButtonProps>(\n ({ variant = 'ghost', className, size, ...props }, ref) => {\n const childCount =\n props.children === undefined || props.children === null\n ? 0\n : Array.isArray(props.children)\n ? props.children.length\n : 1;\n const newSize = size ?? (childCount > 1 ? 'sm' : 'icon-sm');\n\n return (\n <InputGroupButton\n ref={ref}\n className={cn(className)}\n size={newSize}\n type=\"button\"\n variant={variant}\n {...props}\n />\n );\n }\n);\nPromptInputButton.displayName = 'PromptInputButton';\n\ntype PromptInputActionMenuProps = ComponentProps<typeof DropdownMenu>;\nconst PromptInputActionMenu: FC<PromptInputActionMenuProps> = (props) => (\n <DropdownMenu {...props} />\n);\nPromptInputActionMenu.displayName = 'PromptInputActionMenu';\n\ntype PromptInputActionMenuTriggerProps = PromptInputButtonProps;\n\nconst PromptInputActionMenuTrigger: FC<PromptInputActionMenuTriggerProps> = ({\n className,\n children,\n ...props\n}) => (\n <DropdownMenuTrigger\n render={\n <PromptInputButton className={className} {...props}>\n {children ?? <IconPlus className=\"size-4\" />}\n </PromptInputButton>\n }\n />\n);\nPromptInputActionMenuTrigger.displayName = 'PromptInputActionMenuTrigger';\n\ntype PromptInputActionMenuContentProps = ComponentProps<\n typeof DropdownMenuContent\n>;\nconst PromptInputActionMenuContent: FC<PromptInputActionMenuContentProps> = ({\n className,\n ...props\n}) => (\n <DropdownMenuContent align=\"start\" className={cn(className)} {...props} />\n);\nPromptInputActionMenuContent.displayName = 'PromptInputActionMenuContent';\n\ntype PromptInputActionMenuItemProps = ComponentProps<typeof DropdownMenuItem>;\nconst PromptInputActionMenuItem: FC<PromptInputActionMenuItemProps> = ({\n className,\n ...props\n}) => <DropdownMenuItem className={cn(className)} {...props} />;\nPromptInputActionMenuItem.displayName = 'PromptInputActionMenuItem';\n\ntype PromptInputSubmitProps = ComponentProps<typeof InputGroupButton> & {\n status?: ChatStatus;\n};\n\nconst PromptInputSubmit: ForwardRefExoticComponent<\n Omit<PromptInputSubmitProps, 'ref'> & RefAttributes<HTMLElement>\n> = forwardRef<ComponentRef<typeof InputGroupButton>, PromptInputSubmitProps>(\n (\n {\n className,\n variant = 'default',\n size = 'icon-sm',\n status,\n children,\n ...props\n },\n ref\n ) => {\n let Icon = <IconSend className=\"size-4\" />;\n\n if (status === 'submitted') {\n Icon = <IconLoader2 className=\"size-4 animate-spin\" />;\n } else if (status === 'streaming') {\n Icon = <IconSquare className=\"size-4\" />;\n } else if (status === 'error') {\n Icon = <IconX className=\"size-4\" />;\n }\n\n return (\n <InputGroupButton\n ref={ref}\n aria-label=\"Submit\"\n className={cn(className)}\n data-status={status}\n size={size}\n type=\"submit\"\n variant={variant}\n {...props}\n >\n {children ?? Icon}\n </InputGroupButton>\n );\n }\n);\nPromptInputSubmit.displayName = 'PromptInputSubmit';\n\ntype PromptInputModelSelectProps = ComponentProps<typeof Select>;\n\nconst PromptInputModelSelect: FC<PromptInputModelSelectProps> = (props) => (\n <Select {...props} />\n);\nPromptInputModelSelect.displayName = 'PromptInputModelSelect';\n\ntype PromptInputModelSelectTriggerProps = ComponentProps<typeof SelectTrigger>;\n\nconst PromptInputModelSelectTrigger: FC<PromptInputModelSelectTriggerProps> = ({\n className,\n ...props\n}) => (\n <SelectTrigger\n className={cn(\n 'border-none bg-transparent font-medium text-muted-foreground shadow-none transition-colors',\n 'hover:bg-base-background-hover hover:text-base-foreground aria-expanded:bg-base-background-hover aria-expanded:text-base-foreground',\n className\n )}\n {...props}\n />\n);\nPromptInputModelSelectTrigger.displayName = 'PromptInputModelSelectTrigger';\n\ntype PromptInputModelSelectContentProps = ComponentProps<typeof SelectContent>;\n\nconst PromptInputModelSelectContent: FC<PromptInputModelSelectContentProps> = ({\n className,\n ...props\n}) => <SelectContent className={cn(className)} {...props} />;\nPromptInputModelSelectContent.displayName = 'PromptInputModelSelectContent';\n\ntype PromptInputModelSelectItemProps = ComponentProps<typeof SelectItem>;\n\nconst PromptInputModelSelectItem: FC<PromptInputModelSelectItemProps> = ({\n className,\n ...props\n}) => <SelectItem className={cn(className)} {...props} />;\nPromptInputModelSelectItem.displayName = 'PromptInputModelSelectItem';\n\ntype PromptInputModelSelectValueProps = ComponentProps<typeof SelectValue>;\n\nconst PromptInputModelSelectValue: FC<PromptInputModelSelectValueProps> = ({\n className,\n ...props\n}) => <SelectValue className={cn(className)} {...props} />;\nPromptInputModelSelectValue.displayName = 'PromptInputModelSelectValue';\n\ntype PromptInputHoverCardProps = ComponentProps<typeof HoverCard>;\n\nconst PromptInputHoverCard: FC<PromptInputHoverCardProps> = ({\n openDelay = 0,\n closeDelay = 0,\n ...props\n}) => <HoverCard closeDelay={closeDelay} openDelay={openDelay} {...props} />;\nPromptInputHoverCard.displayName = 'PromptInputHoverCard';\n\ntype PromptInputHoverCardTriggerProps = ComponentProps<typeof HoverCardTrigger>;\n\nconst PromptInputHoverCardTrigger: FC<PromptInputHoverCardTriggerProps> = (\n props\n) => <HoverCardTrigger {...props} />;\nPromptInputHoverCardTrigger.displayName = 'PromptInputHoverCardTrigger';\n\ntype PromptInputHoverCardContentProps = ComponentProps<typeof HoverCardContent>;\n\nconst PromptInputHoverCardContent: FC<PromptInputHoverCardContentProps> = ({\n align = 'start',\n ...props\n}) => <HoverCardContent align={align} {...props} />;\nPromptInputHoverCardContent.displayName = 'PromptInputHoverCardContent';\n\ntype PromptInputTabsListProps = HTMLAttributes<HTMLDivElement>;\n\nconst PromptInputTabsList: ForwardRefExoticComponent<\n PromptInputTabsListProps & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, PromptInputTabsListProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"prompt-input-tabs-list\"\n className={cn(className)}\n {...props}\n />\n )\n);\nPromptInputTabsList.displayName = 'PromptInputTabsList';\n\ntype PromptInputTabProps = HTMLAttributes<HTMLDivElement>;\n\nconst PromptInputTab: ForwardRefExoticComponent<\n PromptInputTabProps & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, PromptInputTabProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"prompt-input-tab\"\n className={cn(className)}\n {...props}\n />\n )\n);\nPromptInputTab.displayName = 'PromptInputTab';\n\ntype PromptInputTabLabelProps = HTMLAttributes<HTMLHeadingElement>;\n\nconst PromptInputTabLabel: ForwardRefExoticComponent<\n PromptInputTabLabelProps & RefAttributes<HTMLHeadingElement>\n> = forwardRef<ComponentRef<'h3'>, PromptInputTabLabelProps>(\n ({ className, children, ...props }, ref) => (\n <h3\n ref={ref}\n data-slot=\"prompt-input-tab-label\"\n className={cn(\n 'mb-2 px-3 font-medium text-muted-foreground text-xs',\n className\n )}\n {...props}\n >\n {children}\n </h3>\n )\n);\nPromptInputTabLabel.displayName = 'PromptInputTabLabel';\n\ntype PromptInputTabBodyProps = HTMLAttributes<HTMLDivElement>;\n\nconst PromptInputTabBody: ForwardRefExoticComponent<\n PromptInputTabBodyProps & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, PromptInputTabBodyProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"prompt-input-tab-body\"\n className={cn('space-y-1', className)}\n {...props}\n />\n )\n);\nPromptInputTabBody.displayName = 'PromptInputTabBody';\n\ntype PromptInputTabItemProps = HTMLAttributes<HTMLDivElement>;\n\nconst PromptInputTabItem: ForwardRefExoticComponent<\n PromptInputTabItemProps & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, PromptInputTabItemProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"prompt-input-tab-item\"\n className={cn(\n 'flex items-center gap-2 px-3 py-2 text-xs hover:bg-base-background-hover',\n className\n )}\n {...props}\n />\n )\n);\nPromptInputTabItem.displayName = 'PromptInputTabItem';\n\ntype PromptInputCommandProps = ComponentProps<typeof Command>;\n\nconst PromptInputCommand: FC<PromptInputCommandProps> = ({\n className,\n ...props\n}) => <Command className={cn(className)} {...props} />;\nPromptInputCommand.displayName = 'PromptInputCommand';\n\ntype PromptInputCommandInputProps = ComponentProps<typeof CommandInput>;\n\nconst PromptInputCommandInput: FC<PromptInputCommandInputProps> = ({\n className,\n ...props\n}) => <CommandInput className={cn(className)} {...props} />;\nPromptInputCommandInput.displayName = 'PromptInputCommandInput';\n\ntype PromptInputCommandListProps = ComponentProps<typeof CommandList>;\n\nconst PromptInputCommandList: FC<PromptInputCommandListProps> = ({\n className,\n ...props\n}) => <CommandList className={cn(className)} {...props} />;\nPromptInputCommandList.displayName = 'PromptInputCommandList';\n\ntype PromptInputCommandEmptyProps = ComponentProps<typeof CommandEmpty>;\n\nconst PromptInputCommandEmpty: FC<PromptInputCommandEmptyProps> = ({\n className,\n ...props\n}) => <CommandEmpty className={cn(className)} {...props} />;\nPromptInputCommandEmpty.displayName = 'PromptInputCommandEmpty';\n\ntype PromptInputCommandGroupProps = ComponentProps<typeof CommandGroup>;\n\nconst PromptInputCommandGroup: FC<PromptInputCommandGroupProps> = ({\n className,\n ...props\n}) => <CommandGroup className={cn(className)} {...props} />;\nPromptInputCommandGroup.displayName = 'PromptInputCommandGroup';\n\ntype PromptInputCommandItemProps = ComponentProps<typeof CommandItem>;\n\nconst PromptInputCommandItem: FC<PromptInputCommandItemProps> = ({\n className,\n ...props\n}) => <CommandItem className={cn(className)} {...props} />;\nPromptInputCommandItem.displayName = 'PromptInputCommandItem';\n\ntype PromptInputCommandSeparatorProps = ComponentProps<typeof CommandSeparator>;\n\nconst PromptInputCommandSeparator: FC<PromptInputCommandSeparatorProps> = ({\n className,\n ...props\n}) => <CommandSeparator className={cn(className)} {...props} />;\nPromptInputCommandSeparator.displayName = 'PromptInputCommandSeparator';\n\nexport {\n usePromptInputController,\n PromptInputProvider,\n PromptInput,\n PromptInputBody,\n PromptInputTextarea,\n PromptInputHeader,\n PromptInputFooter,\n PromptInputTools,\n PromptInputButton,\n PromptInputActionMenu,\n PromptInputActionMenuTrigger,\n PromptInputActionMenuContent,\n PromptInputActionMenuItem,\n PromptInputSubmit,\n PromptInputModelSelect,\n PromptInputModelSelectTrigger,\n PromptInputModelSelectContent,\n PromptInputModelSelectItem,\n PromptInputModelSelectValue,\n PromptInputHoverCard,\n PromptInputHoverCardTrigger,\n PromptInputHoverCardContent,\n PromptInputTabsList,\n PromptInputTab,\n PromptInputTabLabel,\n PromptInputTabBody,\n PromptInputTabItem,\n PromptInputCommand,\n PromptInputCommandInput,\n PromptInputCommandList,\n PromptInputCommandEmpty,\n PromptInputCommandGroup,\n PromptInputCommandItem,\n PromptInputCommandSeparator,\n};\n"],"names":["createContext","forwardRef","useCallback","useContext","useMemo","useState","IconInfoCircle","IconLoader2","IconPlus","IconSend","IconSquare","IconX","cn","Command","CommandEmpty","CommandGroup","CommandInput","CommandItem","CommandList","CommandSeparator","DropdownMenu","DropdownMenuContent","DropdownMenuItem","DropdownMenuTrigger","HelperText","HoverCard","HoverCardContent","HoverCardTrigger","InputGroup","InputGroupAddon","InputGroupButton","InputGroupTextarea","Select","SelectContent","SelectItem","SelectTrigger","SelectValue","PromptInputController","usePromptInputController","ctx","Error","useOptionalPromptInputController","PromptInputProvider","initialInput","initialTextInput","children","textInput","setTextInput","clearInput","controller","value","setInput","clear","Provider","PromptInput","className","onSubmit","helperText","errorMessage","props","submissionError","setSubmissionError","handleSubmit","event","preventDefault","form","currentTarget","text","formData","FormData","entry","get","reset","result","Promise","then","catch","error","console","message","defaultHelperText","size","icon","helperTextToRender","div","data-slot","isError","displayName","PromptInputBody","ref","PromptInputTextarea","onChange","placeholder","isComposing","setIsComposing","handleKeyDown","e","key","nativeEvent","shiftKey","requestSubmit","controlledProps","name","onCompositionEnd","onCompositionStart","onKeyDown","PromptInputHeader","align","PromptInputFooter","PromptInputTools","PromptInputButton","variant","childCount","undefined","Array","isArray","length","newSize","type","PromptInputActionMenu","PromptInputActionMenuTrigger","render","PromptInputActionMenuContent","PromptInputActionMenuItem","PromptInputSubmit","status","Icon","aria-label","data-status","PromptInputModelSelect","PromptInputModelSelectTrigger","PromptInputModelSelectContent","PromptInputModelSelectItem","PromptInputModelSelectValue","PromptInputHoverCard","openDelay","closeDelay","PromptInputHoverCardTrigger","PromptInputHoverCardContent","PromptInputTabsList","PromptInputTab","PromptInputTabLabel","h3","PromptInputTabBody","PromptInputTabItem","PromptInputCommand","PromptInputCommandInput","PromptInputCommandList","PromptInputCommandEmpty","PromptInputCommandGroup","PromptInputCommandItem","PromptInputCommandSeparator"],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { ForwardRefExoticComponent, RefAttributes, HTMLAttributes } from
|
|
2
|
-
import { Radio as RadioPrimitive } from
|
|
3
|
-
import { RadioGroup as RadioGroupPrimitive } from
|
|
4
|
-
import { VariantProps } from
|
|
5
|
-
import { ClassProp } from
|
|
6
|
-
type Orientation =
|
|
1
|
+
import { type ForwardRefExoticComponent, type RefAttributes, type HTMLAttributes } from "react";
|
|
2
|
+
import { Radio as RadioPrimitive } from "@base-ui/react/radio";
|
|
3
|
+
import { RadioGroup as RadioGroupPrimitive } from "@base-ui/react/radio-group";
|
|
4
|
+
import { type VariantProps } from "class-variance-authority";
|
|
5
|
+
import type { ClassProp } from "class-variance-authority/types";
|
|
6
|
+
type Orientation = "horizontal" | "vertical";
|
|
7
7
|
type RadioGroupProps = RadioGroupPrimitive.Props & {
|
|
8
|
-
|
|
8
|
+
orientation?: Orientation;
|
|
9
9
|
};
|
|
10
|
-
declare const RadioGroup: ForwardRefExoticComponent<Omit<RadioGroupProps,
|
|
10
|
+
declare const RadioGroup: ForwardRefExoticComponent<Omit<RadioGroupProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
11
11
|
interface RadioGroupItemVariantProps {
|
|
12
|
-
|
|
12
|
+
variant?: "default" | "card" | null;
|
|
13
13
|
}
|
|
14
14
|
declare const radioGroupItemVariants: (props?: (RadioGroupItemVariantProps & ClassProp) | undefined) => string;
|
|
15
15
|
type RadioGroupItemProps = HTMLAttributes<HTMLLabelElement> & VariantProps<typeof radioGroupItemVariants>;
|
|
16
|
-
declare const RadioGroupItem: ForwardRefExoticComponent<Omit<RadioGroupItemProps,
|
|
17
|
-
declare const RadioGroupItemControl: ForwardRefExoticComponent<Omit<RadioPrimitive.Root.Props<unknown>,
|
|
16
|
+
declare const RadioGroupItem: ForwardRefExoticComponent<Omit<RadioGroupItemProps, "ref"> & RefAttributes<HTMLLabelElement>>;
|
|
17
|
+
declare const RadioGroupItemControl: ForwardRefExoticComponent<Omit<RadioPrimitive.Root.Props<unknown>, "ref"> & RefAttributes<HTMLElement>>;
|
|
18
18
|
declare const RadioGroupItemLabel: ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>>;
|
|
19
19
|
declare const RadioGroupItemDescription: ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>>;
|
|
20
|
-
export { RadioGroup, RadioGroupItem, RadioGroupItemControl, RadioGroupItemDescription, RadioGroupItemLabel
|
|
20
|
+
export { RadioGroup, RadioGroupItem, RadioGroupItemControl, RadioGroupItemDescription, RadioGroupItemLabel };
|
|
@@ -1,58 +1,88 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { forwardRef
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, forwardRef, useContext, useId } from "react";
|
|
3
|
+
import { Radio as RadioPrimitive } from "@base-ui/react/radio";
|
|
4
|
+
import { RadioGroup as RadioGroupPrimitive } from "@base-ui/react/radio-group";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
import { cn, focusState, selectionItemBase, selectionItemCard, selectionItemDefault, selectionItemDescription, selectionItemLabel } from "../../../../lib/utils.js";
|
|
7
|
+
const RadioGroup = /*#__PURE__*/ forwardRef(({ className, orientation = 'vertical', ...props }, ref)=>{
|
|
8
|
+
return /*#__PURE__*/ _jsx(RadioGroupPrimitive, {
|
|
9
|
+
ref: ref,
|
|
10
|
+
"data-slot": "radio-group",
|
|
11
|
+
"data-orientation": orientation,
|
|
12
|
+
"aria-orientation": orientation,
|
|
13
|
+
className: cn(orientation === 'horizontal' ? 'flex items-center gap-2' : 'grid has-[[data-variant=card]]:gap-2', className),
|
|
14
|
+
...props
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
RadioGroup.displayName = 'RadioGroup';
|
|
18
|
+
const RadioGroupItemLabelIdContext = /*#__PURE__*/ createContext(undefined);
|
|
19
|
+
const radioGroupItemVariants = cva(cn('group/radio-group-item', selectionItemBase), {
|
|
20
|
+
variants: {
|
|
21
|
+
variant: {
|
|
22
|
+
default: selectionItemDefault,
|
|
23
|
+
card: selectionItemCard
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
defaultVariants: {
|
|
27
|
+
variant: 'default'
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
const RadioGroupItem = /*#__PURE__*/ forwardRef(({ className, variant, children, ...props }, ref)=>{
|
|
31
|
+
const labelId = useId();
|
|
32
|
+
return /*#__PURE__*/ _jsx(RadioGroupItemLabelIdContext.Provider, {
|
|
33
|
+
value: labelId,
|
|
34
|
+
children: /*#__PURE__*/ _jsx("label", {
|
|
35
|
+
ref: ref,
|
|
36
|
+
"data-slot": "radio-group-item",
|
|
37
|
+
"data-variant": variant ?? 'default',
|
|
38
|
+
className: cn(radioGroupItemVariants({
|
|
39
|
+
variant
|
|
40
|
+
}), className),
|
|
41
|
+
...props,
|
|
42
|
+
children: children
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
RadioGroupItem.displayName = 'RadioGroupItem';
|
|
47
|
+
const RadioGroupItemControl = /*#__PURE__*/ forwardRef(({ className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, ...props }, ref)=>{
|
|
48
|
+
const labelId = useContext(RadioGroupItemLabelIdContext);
|
|
49
|
+
return /*#__PURE__*/ _jsx(RadioPrimitive.Root, {
|
|
50
|
+
ref: ref,
|
|
51
|
+
"data-slot": "radio-group-item-control",
|
|
52
|
+
"aria-label": ariaLabel,
|
|
53
|
+
"aria-labelledby": ariaLabelledBy ?? (ariaLabel ? undefined : labelId),
|
|
54
|
+
className: cn("group relative flex size-4 shrink-0 items-center justify-center rounded-full bg-transparent outline-none before:pointer-events-none before:absolute before:inset-0 before:z-0 before:box-border before:rounded-full before:border-[1.5px] before:border-muted-foreground before:bg-transparent before:transition-[background-color,border-color,box-shadow] before:content-['']", 'data-[checked]:not-data-disabled:before:border-primary-background data-[checked]:not-data-disabled:before:bg-transparent', 'hover:before:border-muted-foreground-hover group-hover/radio-group-item:before:border-muted-foreground-hover', 'data-[checked]:not-data-disabled:hover:before:border-primary-background-hover', 'data-[checked]:not-data-disabled:group-hover/radio-group-item:before:border-primary-background-hover', 'data-disabled:not-data-checked:before:border-disabled data-disabled:not-data-checked:before:bg-transparent', 'data-disabled:not-data-checked:hover:before:border-disabled data-disabled:not-data-checked:group-hover/radio-group-item:before:border-disabled data-disabled:not-data-checked:group-hover/radio-group-item:before:bg-transparent', 'data-disabled:data-checked:before:border-base-foreground-disabled data-disabled:data-checked:before:bg-transparent', 'data-disabled:data-checked:hover:before:border-base-foreground-disabled data-disabled:data-checked:group-hover/radio-group-item:before:border-base-foreground-disabled', focusState, className),
|
|
55
|
+
...props,
|
|
56
|
+
children: /*#__PURE__*/ _jsx(RadioPrimitive.Indicator, {
|
|
57
|
+
"data-slot": "radio-group-item-indicator",
|
|
58
|
+
className: "relative z-10 flex items-center justify-center size-full",
|
|
59
|
+
children: /*#__PURE__*/ _jsx("span", {
|
|
60
|
+
className: "size-2.5 rounded-full group-not-data-[disabled]:bg-primary-background group-not-data-[disabled]:group-hover:bg-primary-background-hover group-data-[disabled]:bg-base-foreground-disabled"
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
RadioGroupItemControl.displayName = 'RadioGroupItemControl';
|
|
66
|
+
const RadioGroupItemLabel = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>{
|
|
67
|
+
const labelId = useContext(RadioGroupItemLabelIdContext);
|
|
68
|
+
return /*#__PURE__*/ _jsx("span", {
|
|
69
|
+
ref: ref,
|
|
70
|
+
"data-slot": "radio-group-item-label",
|
|
71
|
+
className: cn(selectionItemLabel, 'group-has-[[data-checked]]/radio-group-item:text-base-foreground', 'group-has-[[data-disabled]]/radio-group-item:text-base-foreground-disabled', className),
|
|
72
|
+
...props,
|
|
73
|
+
id: labelId
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
RadioGroupItemLabel.displayName = 'RadioGroupItemLabel';
|
|
77
|
+
const RadioGroupItemDescription = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>{
|
|
78
|
+
return /*#__PURE__*/ _jsx("span", {
|
|
79
|
+
ref: ref,
|
|
80
|
+
"data-slot": "radio-group-item-description",
|
|
81
|
+
className: cn(selectionItemDescription, 'group-has-[[data-disabled]]/radio-group-item:text-base-foreground-disabled', className),
|
|
82
|
+
...props
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
RadioGroupItemDescription.displayName = 'RadioGroupItemDescription';
|
|
86
|
+
export { RadioGroup, RadioGroupItem, RadioGroupItemControl, RadioGroupItemDescription, RadioGroupItemLabel };
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=radio-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ui/core/radio-group/radio-group.tsx"],"sourcesContent":["import {\n type ForwardRefExoticComponent,\n type RefAttributes,\n type ComponentRef,\n type HTMLAttributes,\n createContext,\n forwardRef,\n useContext,\n useId,\n} from 'react';\n\nimport { Radio as RadioPrimitive } from '@base-ui/react/radio';\nimport { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport type { ClassProp } from 'class-variance-authority/types';\n\nimport {\n cn,\n focusState,\n selectionItemBase,\n selectionItemCard,\n selectionItemDefault,\n selectionItemDescription,\n selectionItemLabel,\n} from '../../../../lib/utils';\n\ntype Orientation = 'horizontal' | 'vertical';\n\ntype RadioGroupProps = RadioGroupPrimitive.Props & {\n orientation?: Orientation;\n};\n\nconst RadioGroup: ForwardRefExoticComponent<\n Omit<RadioGroupProps, 'ref'> & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<typeof RadioGroupPrimitive>, RadioGroupProps>(\n ({ className, orientation = 'vertical', ...props }, ref) => {\n return (\n <RadioGroupPrimitive\n ref={ref}\n data-slot=\"radio-group\"\n data-orientation={orientation}\n aria-orientation={orientation}\n className={cn(\n orientation === 'horizontal'\n ? 'flex items-center gap-2'\n : 'grid has-[[data-variant=card]]:gap-2',\n className\n )}\n {...props}\n />\n );\n }\n);\nRadioGroup.displayName = 'RadioGroup';\n\nconst RadioGroupItemLabelIdContext = createContext<string | undefined>(\n undefined\n);\n\ninterface RadioGroupItemVariantProps {\n variant?: 'default' | 'card' | null;\n}\n\nconst radioGroupItemVariants: (\n props?: (RadioGroupItemVariantProps & ClassProp) | undefined\n) => string = cva(cn('group/radio-group-item', selectionItemBase), {\n variants: {\n variant: {\n default: selectionItemDefault,\n card: selectionItemCard,\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\ntype RadioGroupItemProps = HTMLAttributes<HTMLLabelElement> &\n VariantProps<typeof radioGroupItemVariants>;\n\nconst RadioGroupItem: ForwardRefExoticComponent<\n Omit<RadioGroupItemProps, 'ref'> & RefAttributes<HTMLLabelElement>\n> = forwardRef<ComponentRef<'label'>, RadioGroupItemProps>(\n ({ className, variant, children, ...props }, ref) => {\n const labelId = useId();\n return (\n <RadioGroupItemLabelIdContext.Provider value={labelId}>\n <label\n ref={ref}\n data-slot=\"radio-group-item\"\n data-variant={variant ?? 'default'}\n className={cn(radioGroupItemVariants({ variant }), className)}\n {...props}\n >\n {children}\n </label>\n </RadioGroupItemLabelIdContext.Provider>\n );\n }\n);\nRadioGroupItem.displayName = 'RadioGroupItem';\n\nconst RadioGroupItemControl: ForwardRefExoticComponent<\n Omit<RadioPrimitive.Root.Props<unknown>, 'ref'> & RefAttributes<HTMLElement>\n> = forwardRef<\n ComponentRef<typeof RadioPrimitive.Root>,\n RadioPrimitive.Root.Props\n>(\n (\n {\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...props\n },\n ref\n ) => {\n const labelId = useContext(RadioGroupItemLabelIdContext);\n return (\n <RadioPrimitive.Root\n ref={ref}\n data-slot=\"radio-group-item-control\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy ?? (ariaLabel ? undefined : labelId)}\n className={cn(\n \"group relative flex size-4 shrink-0 items-center justify-center rounded-full bg-transparent outline-none before:pointer-events-none before:absolute before:inset-0 before:z-0 before:box-border before:rounded-full before:border-[1.5px] before:border-muted-foreground before:bg-transparent before:transition-[background-color,border-color,box-shadow] before:content-['']\",\n 'data-[checked]:not-data-disabled:before:border-primary-background data-[checked]:not-data-disabled:before:bg-transparent',\n 'hover:before:border-muted-foreground-hover group-hover/radio-group-item:before:border-muted-foreground-hover',\n 'data-[checked]:not-data-disabled:hover:before:border-primary-background-hover',\n 'data-[checked]:not-data-disabled:group-hover/radio-group-item:before:border-primary-background-hover',\n 'data-disabled:not-data-checked:before:border-disabled data-disabled:not-data-checked:before:bg-transparent',\n 'data-disabled:not-data-checked:hover:before:border-disabled data-disabled:not-data-checked:group-hover/radio-group-item:before:border-disabled data-disabled:not-data-checked:group-hover/radio-group-item:before:bg-transparent',\n 'data-disabled:data-checked:before:border-base-foreground-disabled data-disabled:data-checked:before:bg-transparent',\n 'data-disabled:data-checked:hover:before:border-base-foreground-disabled data-disabled:data-checked:group-hover/radio-group-item:before:border-base-foreground-disabled',\n focusState,\n className\n )}\n {...props}\n >\n <RadioPrimitive.Indicator\n data-slot=\"radio-group-item-indicator\"\n className=\"relative z-10 flex items-center justify-center size-full\"\n >\n <span className=\"size-2.5 rounded-full group-not-data-[disabled]:bg-primary-background group-not-data-[disabled]:group-hover:bg-primary-background-hover group-data-[disabled]:bg-base-foreground-disabled\" />\n </RadioPrimitive.Indicator>\n </RadioPrimitive.Root>\n );\n }\n);\nRadioGroupItemControl.displayName = 'RadioGroupItemControl';\n\nconst RadioGroupItemLabel: ForwardRefExoticComponent<\n HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>\n> = forwardRef<ComponentRef<'span'>, HTMLAttributes<HTMLSpanElement>>(\n ({ className, ...props }, ref) => {\n const labelId = useContext(RadioGroupItemLabelIdContext);\n return (\n <span\n ref={ref}\n data-slot=\"radio-group-item-label\"\n className={cn(\n selectionItemLabel,\n 'group-has-[[data-checked]]/radio-group-item:text-base-foreground',\n 'group-has-[[data-disabled]]/radio-group-item:text-base-foreground-disabled',\n className\n )}\n {...props}\n id={labelId}\n />\n );\n }\n);\nRadioGroupItemLabel.displayName = 'RadioGroupItemLabel';\n\nconst RadioGroupItemDescription: ForwardRefExoticComponent<\n HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>\n> = forwardRef<ComponentRef<'span'>, HTMLAttributes<HTMLSpanElement>>(\n ({ className, ...props }, ref) => {\n return (\n <span\n ref={ref}\n data-slot=\"radio-group-item-description\"\n className={cn(\n selectionItemDescription,\n 'group-has-[[data-disabled]]/radio-group-item:text-base-foreground-disabled',\n className\n )}\n {...props}\n />\n );\n }\n);\nRadioGroupItemDescription.displayName = 'RadioGroupItemDescription';\n\nexport {\n RadioGroup,\n RadioGroupItem,\n RadioGroupItemControl,\n RadioGroupItemDescription,\n RadioGroupItemLabel,\n};\n"],"names":["createContext","forwardRef","useContext","useId","Radio","RadioPrimitive","RadioGroup","RadioGroupPrimitive","cva","cn","focusState","selectionItemBase","selectionItemCard","selectionItemDefault","selectionItemDescription","selectionItemLabel","className","orientation","props","ref","data-slot","data-orientation","aria-orientation","displayName","RadioGroupItemLabelIdContext","undefined","radioGroupItemVariants","variants","variant","default","card","defaultVariants","RadioGroupItem","children","labelId","Provider","value","label","data-variant","RadioGroupItemControl","ariaLabel","ariaLabelledBy","Root","aria-label","aria-labelledby","Indicator","span","RadioGroupItemLabel","id","RadioGroupItemDescription"],"mappings":";AAAA,SAKEA,aAAa,EACbC,UAAU,EACVC,UAAU,EACVC,KAAK,QACA,QAAQ;AAEf,SAASC,SAASC,cAAc,QAAQ,uBAAuB;AAC/D,SAASC,cAAcC,mBAAmB,QAAQ,6BAA6B;AAC/E,SAA4BC,GAAG,QAAQ,2BAA2B;AAGlE,SACEC,EAAE,EACFC,UAAU,EACVC,iBAAiB,EACjBC,iBAAiB,EACjBC,oBAAoB,EACpBC,wBAAwB,EACxBC,kBAAkB,QACb,2BAAwB;AAQ/B,MAAMT,2BAEFL,WACF,CAAC,EAAEe,SAAS,EAAEC,cAAc,UAAU,EAAE,GAAGC,OAAO,EAAEC;IAClD,qBACE,KAACZ;QACCY,KAAKA;QACLC,aAAU;QACVC,oBAAkBJ;QAClBK,oBAAkBL;QAClBD,WAAWP,GACTQ,gBAAgB,eACZ,4BACA,wCACJD;QAED,GAAGE,KAAK;;AAGf;AAEFZ,WAAWiB,WAAW,GAAG;AAEzB,MAAMC,6CAA+BxB,cACnCyB;AAOF,MAAMC,yBAEQlB,IAAIC,GAAG,0BAA0BE,oBAAoB;IACjEgB,UAAU;QACRC,SAAS;YACPC,SAAShB;YACTiB,MAAMlB;QACR;IACF;IACAmB,iBAAiB;QACfH,SAAS;IACX;AACF;AAKA,MAAMI,+BAEF/B,WACF,CAAC,EAAEe,SAAS,EAAEY,OAAO,EAAEK,QAAQ,EAAE,GAAGf,OAAO,EAAEC;IAC3C,MAAMe,UAAU/B;IAChB,qBACE,KAACqB,6BAA6BW,QAAQ;QAACC,OAAOF;kBAC5C,cAAA,KAACG;YACClB,KAAKA;YACLC,aAAU;YACVkB,gBAAcV,WAAW;YACzBZ,WAAWP,GAAGiB,uBAAuB;gBAAEE;YAAQ,IAAIZ;YAClD,GAAGE,KAAK;sBAERe;;;AAIT;AAEFD,eAAeT,WAAW,GAAG;AAE7B,MAAMgB,sCAEFtC,WAIF,CACE,EACEe,SAAS,EACT,cAAcwB,SAAS,EACvB,mBAAmBC,cAAc,EACjC,GAAGvB,OACJ,EACDC;IAEA,MAAMe,UAAUhC,WAAWsB;IAC3B,qBACE,KAACnB,eAAeqC,IAAI;QAClBvB,KAAKA;QACLC,aAAU;QACVuB,cAAYH;QACZI,mBAAiBH,kBAAmBD,CAAAA,YAAYf,YAAYS,OAAM;QAClElB,WAAWP,GACT,mXACA,4HACA,gHACA,iFACA,wGACA,8GACA,oOACA,sHACA,0KACAC,YACAM;QAED,GAAGE,KAAK;kBAET,cAAA,KAACb,eAAewC,SAAS;YACvBzB,aAAU;YACVJ,WAAU;sBAEV,cAAA,KAAC8B;gBAAK9B,WAAU;;;;AAIxB;AAEFuB,sBAAsBhB,WAAW,GAAG;AAEpC,MAAMwB,oCAEF9C,WACF,CAAC,EAAEe,SAAS,EAAE,GAAGE,OAAO,EAAEC;IACxB,MAAMe,UAAUhC,WAAWsB;IAC3B,qBACE,KAACsB;QACC3B,KAAKA;QACLC,aAAU;QACVJ,WAAWP,GACTM,oBACA,oEACA,8EACAC;QAED,GAAGE,KAAK;QACT8B,IAAId;;AAGV;AAEFa,oBAAoBxB,WAAW,GAAG;AAElC,MAAM0B,0CAEFhD,WACF,CAAC,EAAEe,SAAS,EAAE,GAAGE,OAAO,EAAEC;IACxB,qBACE,KAAC2B;QACC3B,KAAKA;QACLC,aAAU;QACVJ,WAAWP,GACTK,0BACA,8EACAE;QAED,GAAGE,KAAK;;AAGf;AAEF+B,0BAA0B1B,WAAW,GAAG;AAExC,SACEjB,UAAU,EACV0B,cAAc,EACdO,qBAAqB,EACrBU,yBAAyB,EACzBF,mBAAmB,GACnB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ForwardRefExoticComponent, RefAttributes, ComponentProps } from
|
|
2
|
-
declare const Reasoning: ForwardRefExoticComponent<ComponentProps<
|
|
3
|
-
type ReasoningHeaderProps = ComponentProps<
|
|
4
|
-
|
|
1
|
+
import { type ForwardRefExoticComponent, type RefAttributes, type ComponentProps } from "react";
|
|
2
|
+
declare const Reasoning: ForwardRefExoticComponent<ComponentProps<"div"> & RefAttributes<HTMLDivElement>>;
|
|
3
|
+
type ReasoningHeaderProps = ComponentProps<"div"> & {
|
|
4
|
+
title?: string;
|
|
5
5
|
};
|
|
6
|
-
declare const ReasoningHeader: ForwardRefExoticComponent<Omit<ReasoningHeaderProps,
|
|
7
|
-
declare const ReasoningContent: ForwardRefExoticComponent<ComponentProps<
|
|
8
|
-
declare const ReasoningItem: ForwardRefExoticComponent<ComponentProps<
|
|
6
|
+
declare const ReasoningHeader: ForwardRefExoticComponent<Omit<ReasoningHeaderProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
7
|
+
declare const ReasoningContent: ForwardRefExoticComponent<ComponentProps<"div"> & RefAttributes<HTMLDivElement>>;
|
|
8
|
+
declare const ReasoningItem: ForwardRefExoticComponent<ComponentProps<"div"> & RefAttributes<HTMLDivElement>>;
|
|
9
9
|
export { Reasoning, ReasoningContent, ReasoningHeader, ReasoningItem };
|
|
@@ -1,57 +1,69 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { createContext
|
|
3
|
-
import { IconBrain
|
|
4
|
-
import {
|
|
5
|
-
|
|
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
|
-
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, forwardRef, useContext } from "react";
|
|
3
|
+
import { IconBrain } from "@tabler/icons-react";
|
|
4
|
+
import { cn } from "../../../../lib/utils.js";
|
|
5
|
+
const ReasoningDecorationsContext = /*#__PURE__*/ createContext(true);
|
|
6
|
+
const useReasoningDecorations = ()=>useContext(ReasoningDecorationsContext);
|
|
7
|
+
const Reasoning = /*#__PURE__*/ forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ _jsx("div", {
|
|
8
|
+
ref: ref,
|
|
9
|
+
"data-slot": "reasoning",
|
|
10
|
+
className: cn('relative flex w-full flex-col gap-2 not-prose py-2', className),
|
|
11
|
+
...props,
|
|
12
|
+
children: children
|
|
13
|
+
}));
|
|
14
|
+
Reasoning.displayName = 'Reasoning';
|
|
15
|
+
const ReasoningHeader = /*#__PURE__*/ forwardRef(({ className, title = 'Reasoning', children, ...props }, ref)=>/*#__PURE__*/ _jsxs("div", {
|
|
16
|
+
ref: ref,
|
|
17
|
+
"data-slot": "reasoning-header",
|
|
18
|
+
className: cn('flex items-center gap-2 text-base leading-5 tracking-tighter text-muted-foreground', className),
|
|
19
|
+
...props,
|
|
20
|
+
children: [
|
|
21
|
+
/*#__PURE__*/ _jsx(IconBrain, {
|
|
22
|
+
className: "size-4 shrink-0"
|
|
23
|
+
}),
|
|
24
|
+
children ?? /*#__PURE__*/ _jsx("span", {
|
|
25
|
+
children: title
|
|
26
|
+
})
|
|
27
|
+
]
|
|
28
|
+
}));
|
|
29
|
+
ReasoningHeader.displayName = 'ReasoningHeader';
|
|
30
|
+
const ReasoningContent = /*#__PURE__*/ forwardRef(({ className, children, ...props }, ref)=>{
|
|
31
|
+
const hasMultipleChildren = Array.isArray(children) && children.filter(Boolean).length > 1;
|
|
32
|
+
return /*#__PURE__*/ _jsx(ReasoningDecorationsContext.Provider, {
|
|
33
|
+
value: hasMultipleChildren,
|
|
34
|
+
children: /*#__PURE__*/ _jsx(ReasoningContentInner, {
|
|
35
|
+
ref: ref,
|
|
36
|
+
className: className,
|
|
37
|
+
...props,
|
|
38
|
+
children: children
|
|
39
|
+
})
|
|
40
|
+
});
|
|
33
41
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}));
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
42
|
+
ReasoningContent.displayName = 'ReasoningContent';
|
|
43
|
+
const ReasoningContentInner = /*#__PURE__*/ forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ _jsx("div", {
|
|
44
|
+
ref: ref,
|
|
45
|
+
"data-slot": "reasoning-content-inner",
|
|
46
|
+
className: cn('relative flex flex-col gap-0 pl-4', className),
|
|
47
|
+
...props,
|
|
48
|
+
children: children
|
|
49
|
+
}));
|
|
50
|
+
ReasoningContentInner.displayName = 'ReasoningContentInner';
|
|
51
|
+
const ReasoningItem = /*#__PURE__*/ forwardRef(({ className, children, ...props }, ref)=>{
|
|
52
|
+
const showDecorations = useReasoningDecorations();
|
|
53
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
54
|
+
ref: ref,
|
|
55
|
+
"data-slot": "reasoning-item",
|
|
56
|
+
className: cn('relative', showDecorations && [
|
|
57
|
+
'before:absolute before:-left-2.75 before:top-4 before:z-10 before:size-1.75 before:rounded-full before:bg-default',
|
|
58
|
+
'after:absolute after:-left-2 after:top-0 after:bottom-0 after:w-px after:bg-default',
|
|
59
|
+
'first:after:top-4',
|
|
60
|
+
'last:after:bottom-auto last:after:h-4'
|
|
61
|
+
], className),
|
|
62
|
+
...props,
|
|
63
|
+
children: children
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
ReasoningItem.displayName = 'ReasoningItem';
|
|
67
|
+
export { Reasoning, ReasoningContent, ReasoningHeader, ReasoningItem };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=reasoning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ui/core/reasoning/reasoning.tsx"],"sourcesContent":["import {\n type ForwardRefExoticComponent,\n type RefAttributes,\n type ComponentProps,\n type ComponentRef,\n createContext,\n forwardRef,\n useContext,\n} from 'react';\n\nimport { IconBrain } from '@tabler/icons-react';\n\nimport { cn } from '../../../../lib/utils';\n\nconst ReasoningDecorationsContext = createContext<boolean>(true);\nconst useReasoningDecorations = () => useContext(ReasoningDecorationsContext);\n\ntype ReasoningProps = ComponentProps<'div'>;\n\nconst Reasoning: ForwardRefExoticComponent<\n ComponentProps<'div'> & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, ReasoningProps>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"reasoning\"\n className={cn(\n 'relative flex w-full flex-col gap-2 not-prose py-2',\n className\n )}\n {...props}\n >\n {children}\n </div>\n )\n);\nReasoning.displayName = 'Reasoning';\n\ntype ReasoningHeaderProps = ComponentProps<'div'> & {\n title?: string;\n};\n\nconst ReasoningHeader: ForwardRefExoticComponent<\n Omit<ReasoningHeaderProps, 'ref'> & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, ReasoningHeaderProps>(\n ({ className, title = 'Reasoning', children, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"reasoning-header\"\n className={cn(\n 'flex items-center gap-2 text-base leading-5 tracking-tighter text-muted-foreground',\n className\n )}\n {...props}\n >\n <IconBrain className=\"size-4 shrink-0\" />\n {children ?? <span>{title}</span>}\n </div>\n )\n);\nReasoningHeader.displayName = 'ReasoningHeader';\n\ntype ReasoningContentProps = ComponentProps<'div'>;\n\nconst ReasoningContent: ForwardRefExoticComponent<\n ComponentProps<'div'> & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, ReasoningContentProps>(\n ({ className, children, ...props }, ref) => {\n const hasMultipleChildren =\n Array.isArray(children) && children.filter(Boolean).length > 1;\n return (\n <ReasoningDecorationsContext.Provider value={hasMultipleChildren}>\n <ReasoningContentInner ref={ref} className={className} {...props}>\n {children}\n </ReasoningContentInner>\n </ReasoningDecorationsContext.Provider>\n );\n }\n);\nReasoningContent.displayName = 'ReasoningContent';\n\nconst ReasoningContentInner = forwardRef<\n ComponentRef<'div'>,\n ReasoningContentProps\n>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"reasoning-content-inner\"\n className={cn('relative flex flex-col gap-0 pl-4', className)}\n {...props}\n >\n {children}\n </div>\n));\nReasoningContentInner.displayName = 'ReasoningContentInner';\n\ntype ReasoningItemProps = ComponentProps<'div'>;\n\nconst ReasoningItem: ForwardRefExoticComponent<\n ComponentProps<'div'> & RefAttributes<HTMLDivElement>\n> = forwardRef<ComponentRef<'div'>, ReasoningItemProps>(\n ({ className, children, ...props }, ref) => {\n const showDecorations = useReasoningDecorations();\n\n return (\n <div\n ref={ref}\n data-slot=\"reasoning-item\"\n className={cn(\n 'relative',\n showDecorations && [\n 'before:absolute before:-left-2.75 before:top-4 before:z-10 before:size-1.75 before:rounded-full before:bg-default',\n 'after:absolute after:-left-2 after:top-0 after:bottom-0 after:w-px after:bg-default',\n 'first:after:top-4',\n 'last:after:bottom-auto last:after:h-4',\n ],\n className\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n);\nReasoningItem.displayName = 'ReasoningItem';\n\nexport { Reasoning, ReasoningContent, ReasoningHeader, ReasoningItem };\n"],"names":["createContext","forwardRef","useContext","IconBrain","cn","ReasoningDecorationsContext","useReasoningDecorations","Reasoning","className","children","props","ref","div","data-slot","displayName","ReasoningHeader","title","span","ReasoningContent","hasMultipleChildren","Array","isArray","filter","Boolean","length","Provider","value","ReasoningContentInner","ReasoningItem","showDecorations"],"mappings":";AAAA,SAKEA,aAAa,EACbC,UAAU,EACVC,UAAU,QACL,QAAQ;AAEf,SAASC,SAAS,QAAQ,sBAAsB;AAEhD,SAASC,EAAE,QAAQ,2BAAwB;AAE3C,MAAMC,4CAA8BL,cAAuB;AAC3D,MAAMM,0BAA0B,IAAMJ,WAAWG;AAIjD,MAAME,0BAEFN,WACF,CAAC,EAAEO,SAAS,EAAEC,QAAQ,EAAE,GAAGC,OAAO,EAAEC,oBAClC,KAACC;QACCD,KAAKA;QACLE,aAAU;QACVL,WAAWJ,GACT,sDACAI;QAED,GAAGE,KAAK;kBAERD;;AAIPF,UAAUO,WAAW,GAAG;AAMxB,MAAMC,gCAEFd,WACF,CAAC,EAAEO,SAAS,EAAEQ,QAAQ,WAAW,EAAEP,QAAQ,EAAE,GAAGC,OAAO,EAAEC,oBACvD,MAACC;QACCD,KAAKA;QACLE,aAAU;QACVL,WAAWJ,GACT,sFACAI;QAED,GAAGE,KAAK;;0BAET,KAACP;gBAAUK,WAAU;;YACpBC,0BAAY,KAACQ;0BAAMD;;;;AAI1BD,gBAAgBD,WAAW,GAAG;AAI9B,MAAMI,iCAEFjB,WACF,CAAC,EAAEO,SAAS,EAAEC,QAAQ,EAAE,GAAGC,OAAO,EAAEC;IAClC,MAAMQ,sBACJC,MAAMC,OAAO,CAACZ,aAAaA,SAASa,MAAM,CAACC,SAASC,MAAM,GAAG;IAC/D,qBACE,KAACnB,4BAA4BoB,QAAQ;QAACC,OAAOP;kBAC3C,cAAA,KAACQ;YAAsBhB,KAAKA;YAAKH,WAAWA;YAAY,GAAGE,KAAK;sBAC7DD;;;AAIT;AAEFS,iBAAiBJ,WAAW,GAAG;AAE/B,MAAMa,sCAAwB1B,WAG5B,CAAC,EAAEO,SAAS,EAAEC,QAAQ,EAAE,GAAGC,OAAO,EAAEC,oBACpC,KAACC;QACCD,KAAKA;QACLE,aAAU;QACVL,WAAWJ,GAAG,qCAAqCI;QAClD,GAAGE,KAAK;kBAERD;;AAGLkB,sBAAsBb,WAAW,GAAG;AAIpC,MAAMc,8BAEF3B,WACF,CAAC,EAAEO,SAAS,EAAEC,QAAQ,EAAE,GAAGC,OAAO,EAAEC;IAClC,MAAMkB,kBAAkBvB;IAExB,qBACE,KAACM;QACCD,KAAKA;QACLE,aAAU;QACVL,WAAWJ,GACT,YACAyB,mBAAmB;YACjB;YACA;YACA;YACA;SACD,EACDrB;QAED,GAAGE,KAAK;kBAERD;;AAGP;AAEFmB,cAAcd,WAAW,GAAG;AAE5B,SAASP,SAAS,EAAEW,gBAAgB,EAAEH,eAAe,EAAEa,aAAa,GAAG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ForwardRefExoticComponent, RefAttributes } from
|
|
2
|
-
import { ScrollAreaRootProps, ScrollAreaScrollbarProps } from
|
|
3
|
-
declare const ScrollArea: ForwardRefExoticComponent<Omit<ScrollAreaRootProps,
|
|
4
|
-
declare const ScrollBar: ForwardRefExoticComponent<Omit<ScrollAreaScrollbarProps,
|
|
1
|
+
import { type ForwardRefExoticComponent, type RefAttributes } from "react";
|
|
2
|
+
import type { ScrollAreaRootProps, ScrollAreaScrollbarProps } from "@base-ui/react/scroll-area";
|
|
3
|
+
declare const ScrollArea: ForwardRefExoticComponent<Omit<ScrollAreaRootProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
4
|
+
declare const ScrollBar: ForwardRefExoticComponent<Omit<ScrollAreaScrollbarProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
5
5
|
export { ScrollArea, ScrollBar };
|
|
@@ -1,41 +1,51 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { forwardRef
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
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
|
-
className: e("group/scroll-area-scrollbar flex touch-none select-none items-start transition-colors", s ? "w-full py-0.5 px-3" : "inline-flex self-stretch px-0.5 py-3", t),
|
|
32
|
-
...i,
|
|
33
|
-
children: /* @__PURE__ */ r(a.Thumb, {
|
|
34
|
-
"data-slot": "scroll-area-thumb",
|
|
35
|
-
className: e("relative rounded-full bg-secondary-background transition-colors group-hover/scroll-area-scrollbar:bg-secondary-background-hover", s ? "h-1 min-w-10" : "w-1 min-h-10")
|
|
36
|
-
})
|
|
37
|
-
});
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { ScrollArea as ScrollAreaPrimitive } from "@base-ui/react/scroll-area";
|
|
4
|
+
import { cn, focusRing } from "../../../../lib/utils.js";
|
|
5
|
+
const ScrollArea = /*#__PURE__*/ forwardRef(({ className, children, ...props }, ref)=>{
|
|
6
|
+
return /*#__PURE__*/ _jsxs(ScrollAreaPrimitive.Root, {
|
|
7
|
+
ref: ref,
|
|
8
|
+
"data-slot": "scroll-area",
|
|
9
|
+
className: cn('relative group/scroll-area', className),
|
|
10
|
+
...props,
|
|
11
|
+
children: [
|
|
12
|
+
/*#__PURE__*/ _jsx(ScrollAreaPrimitive.Viewport, {
|
|
13
|
+
"data-slot": "scroll-area-viewport",
|
|
14
|
+
className: `size-full rounded-[inherit] transition-[color,box-shadow] ${focusRing}`,
|
|
15
|
+
children: /*#__PURE__*/ _jsx(ScrollAreaPrimitive.Content, {
|
|
16
|
+
"data-slot": "scroll-area-content",
|
|
17
|
+
children: children
|
|
18
|
+
})
|
|
19
|
+
}),
|
|
20
|
+
/*#__PURE__*/ _jsx(ScrollBar, {
|
|
21
|
+
orientation: "vertical"
|
|
22
|
+
}),
|
|
23
|
+
/*#__PURE__*/ _jsx(ScrollBar, {
|
|
24
|
+
orientation: "horizontal"
|
|
25
|
+
}),
|
|
26
|
+
/*#__PURE__*/ _jsx(ScrollAreaPrimitive.Corner, {
|
|
27
|
+
"data-slot": "scroll-area-corner"
|
|
28
|
+
})
|
|
29
|
+
]
|
|
30
|
+
});
|
|
38
31
|
});
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
const ScrollBar = /*#__PURE__*/ forwardRef(({ className, orientation = 'vertical', ...props }, ref)=>{
|
|
33
|
+
const isHorizontal = orientation === 'horizontal';
|
|
34
|
+
return /*#__PURE__*/ _jsx(ScrollAreaPrimitive.Scrollbar, {
|
|
35
|
+
ref: ref,
|
|
36
|
+
"data-slot": "scroll-area-scrollbar",
|
|
37
|
+
"data-orientation": orientation,
|
|
38
|
+
orientation: orientation,
|
|
39
|
+
className: cn('group/scroll-area-scrollbar flex touch-none select-none items-start transition-colors', isHorizontal ? 'w-full py-0.5 px-3' : 'inline-flex self-stretch px-0.5 py-3', className),
|
|
40
|
+
...props,
|
|
41
|
+
children: /*#__PURE__*/ _jsx(ScrollAreaPrimitive.Thumb, {
|
|
42
|
+
"data-slot": "scroll-area-thumb",
|
|
43
|
+
className: cn('relative rounded-full bg-secondary-background transition-colors group-hover/scroll-area-scrollbar:bg-secondary-background-hover', isHorizontal ? 'h-1 min-w-10' : 'w-1 min-h-10')
|
|
44
|
+
})
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
ScrollArea.displayName = 'ScrollArea';
|
|
48
|
+
ScrollBar.displayName = 'ScrollBar';
|
|
49
|
+
export { ScrollArea, ScrollBar };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=scroll-area.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ui/core/scroll-area/scroll-area.tsx"],"sourcesContent":["import {\n type ForwardRefExoticComponent,\n type RefAttributes,\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n type ForwardedRef,\n} from 'react';\n\nimport type {\n ScrollAreaRootProps,\n ScrollAreaScrollbarProps,\n} from '@base-ui/react/scroll-area';\nimport { ScrollArea as ScrollAreaPrimitive } from '@base-ui/react/scroll-area';\n\nimport { cn, focusRing } from '../../../../lib/utils';\n\nconst ScrollArea: ForwardRefExoticComponent<\n Omit<ScrollAreaRootProps, 'ref'> & RefAttributes<HTMLDivElement>\n> = forwardRef<\n ComponentRef<typeof ScrollAreaPrimitive.Root>,\n ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(\n (\n {\n className,\n children,\n ...props\n }: ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>,\n ref: ForwardedRef<ComponentRef<typeof ScrollAreaPrimitive.Root>>\n ) => {\n return (\n <ScrollAreaPrimitive.Root\n ref={ref}\n data-slot=\"scroll-area\"\n className={cn('relative group/scroll-area', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className={`size-full rounded-[inherit] transition-[color,box-shadow] ${focusRing}`}\n >\n <ScrollAreaPrimitive.Content data-slot=\"scroll-area-content\">\n {children}\n </ScrollAreaPrimitive.Content>\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar orientation=\"vertical\" />\n <ScrollBar orientation=\"horizontal\" />\n <ScrollAreaPrimitive.Corner data-slot=\"scroll-area-corner\" />\n </ScrollAreaPrimitive.Root>\n );\n }\n);\n\nconst ScrollBar: ForwardRefExoticComponent<\n Omit<ScrollAreaScrollbarProps, 'ref'> & RefAttributes<HTMLDivElement>\n> = forwardRef<\n ComponentRef<typeof ScrollAreaPrimitive.Scrollbar>,\n ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Scrollbar>\n>(\n (\n {\n className,\n orientation = 'vertical',\n ...props\n }: ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Scrollbar>,\n ref: ForwardedRef<ComponentRef<typeof ScrollAreaPrimitive.Scrollbar>>\n ) => {\n const isHorizontal = orientation === 'horizontal';\n\n return (\n <ScrollAreaPrimitive.Scrollbar\n ref={ref}\n data-slot=\"scroll-area-scrollbar\"\n data-orientation={orientation}\n orientation={orientation}\n className={cn(\n 'group/scroll-area-scrollbar flex touch-none select-none items-start transition-colors',\n isHorizontal\n ? 'w-full py-0.5 px-3'\n : 'inline-flex self-stretch px-0.5 py-3',\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.Thumb\n data-slot=\"scroll-area-thumb\"\n className={cn(\n 'relative rounded-full bg-secondary-background transition-colors group-hover/scroll-area-scrollbar:bg-secondary-background-hover',\n isHorizontal ? 'h-1 min-w-10' : 'w-1 min-h-10'\n )}\n />\n </ScrollAreaPrimitive.Scrollbar>\n );\n }\n);\n\nScrollArea.displayName = 'ScrollArea';\nScrollBar.displayName = 'ScrollBar';\n\nexport { ScrollArea, ScrollBar };\n"],"names":["forwardRef","ScrollArea","ScrollAreaPrimitive","cn","focusRing","className","children","props","ref","Root","data-slot","Viewport","Content","ScrollBar","orientation","Corner","isHorizontal","Scrollbar","data-orientation","Thumb","displayName"],"mappings":";AAAA,SAKEA,UAAU,QAEL,QAAQ;AAMf,SAASC,cAAcC,mBAAmB,QAAQ,6BAA6B;AAE/E,SAASC,EAAE,EAAEC,SAAS,QAAQ,2BAAwB;AAEtD,MAAMH,2BAEFD,WAIF,CACE,EACEK,SAAS,EACTC,QAAQ,EACR,GAAGC,OACuD,EAC5DC;IAEA,qBACE,MAACN,oBAAoBO,IAAI;QACvBD,KAAKA;QACLE,aAAU;QACVL,WAAWF,GAAG,8BAA8BE;QAC3C,GAAGE,KAAK;;0BAET,KAACL,oBAAoBS,QAAQ;gBAC3BD,aAAU;gBACVL,WAAW,CAAC,0DAA0D,EAAED,WAAW;0BAEnF,cAAA,KAACF,oBAAoBU,OAAO;oBAACF,aAAU;8BACpCJ;;;0BAGL,KAACO;gBAAUC,aAAY;;0BACvB,KAACD;gBAAUC,aAAY;;0BACvB,KAACZ,oBAAoBa,MAAM;gBAACL,aAAU;;;;AAG5C;AAGF,MAAMG,0BAEFb,WAIF,CACE,EACEK,SAAS,EACTS,cAAc,UAAU,EACxB,GAAGP,OAC4D,EACjEC;IAEA,MAAMQ,eAAeF,gBAAgB;IAErC,qBACE,KAACZ,oBAAoBe,SAAS;QAC5BT,KAAKA;QACLE,aAAU;QACVQ,oBAAkBJ;QAClBA,aAAaA;QACbT,WAAWF,GACT,yFACAa,eACI,uBACA,wCACJX;QAED,GAAGE,KAAK;kBAET,cAAA,KAACL,oBAAoBiB,KAAK;YACxBT,aAAU;YACVL,WAAWF,GACT,mIACAa,eAAe,iBAAiB;;;AAK1C;AAGFf,WAAWmB,WAAW,GAAG;AACzBP,UAAUO,WAAW,GAAG;AAExB,SAASnB,UAAU,EAAEY,SAAS,GAAG"}
|