@jcsoftdev/ui 0.1.6 → 0.2.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 +102 -0
- package/README.md +28 -7
- package/THIRD_PARTY_NOTICES.md +66 -0
- package/dist/ai/attachment/attachment.d.ts +5 -1
- package/dist/ai/attachment/attachment.js +18 -7
- package/dist/ai/chain-of-thought/chain-of-thought.d.ts +5 -1
- package/dist/ai/chain-of-thought/chain-of-thought.js +61 -39
- package/dist/ai/chat-list/chat-list.d.ts +5 -1
- package/dist/ai/chat-list/chat-list.js +98 -59
- package/dist/ai/chat-message/chat-message.d.ts +5 -1
- package/dist/ai/chat-message/chat-message.js +31 -11
- package/dist/ai/code-block/code-block.d.ts +5 -1
- package/dist/ai/code-block/code-block.js +37 -19
- package/dist/ai/conversation/conversation.d.ts +5 -1
- package/dist/ai/conversation/conversation.js +23 -5
- package/dist/ai/internal/disclosure.d.ts +3 -1
- package/dist/ai/internal/disclosure.js +7 -3
- package/dist/ai/loader/loader.d.ts +5 -1
- package/dist/ai/loader/loader.js +6 -4
- package/dist/ai/markdown/markdown.d.ts +5 -1
- package/dist/ai/markdown/markdown.js +86 -56
- package/dist/ai/message-actions/message-actions.js +1 -1
- package/dist/ai/prompt-input/prompt-input.d.ts +5 -1
- package/dist/ai/prompt-input/prompt-input.js +73 -41
- package/dist/ai/source/source.d.ts +5 -1
- package/dist/ai/source/source.js +35 -8
- package/dist/ai/tool-call/tool-call.d.ts +5 -1
- package/dist/ai/tool-call/tool-call.js +43 -21
- package/dist/atoms/avatar/avatar.d.ts +7 -3
- package/dist/atoms/avatar/avatar.js +54 -7
- package/dist/atoms/avatar/index.d.ts +1 -1
- package/dist/atoms/avatar-group/avatar-group.d.ts +3 -6
- package/dist/atoms/avatar-group/avatar-group.js +8 -2
- package/dist/atoms/big-date/big-date.js +2 -2
- package/dist/atoms/button/button.d.ts +19 -1
- package/dist/atoms/button/button.js +26 -14
- package/dist/atoms/button/index.d.ts +1 -1
- package/dist/atoms/button/index.js +8 -2
- package/dist/atoms/checkbox/checkbox.d.ts +16 -4
- package/dist/atoms/checkbox/checkbox.js +103 -15
- package/dist/atoms/checkbox/index.d.ts +1 -1
- package/dist/atoms/chip/chip.d.ts +2 -0
- package/dist/atoms/chip/chip.js +5 -4
- package/dist/atoms/chip/index.d.ts +1 -1
- package/dist/atoms/chip/index.js +3 -2
- package/dist/atoms/icon/icon-map.d.ts +39 -39
- package/dist/atoms/icon/icon-map.js +1 -1
- package/dist/atoms/icon/icon.d.ts +5 -6
- package/dist/atoms/icon/icon.js +3 -3
- package/dist/atoms/internal/status-icons.js +1 -1
- package/dist/atoms/led/index.d.ts +1 -1
- package/dist/atoms/led/led.d.ts +7 -3
- package/dist/atoms/led/led.js +25 -11
- package/dist/atoms/progress/index.d.ts +1 -1
- package/dist/atoms/progress/progress.d.ts +8 -3
- package/dist/atoms/progress/progress.js +38 -10
- package/dist/atoms/radio-group/index.d.ts +1 -1
- package/dist/atoms/radio-group/radio-group-primitive.d.ts +24 -0
- package/dist/atoms/radio-group/radio-group-primitive.js +156 -0
- package/dist/atoms/radio-group/radio-group.d.ts +8 -4
- package/dist/atoms/radio-group/radio-group.js +34 -11
- package/dist/atoms/status-dot/index.d.ts +1 -1
- package/dist/atoms/status-dot/status-dot.d.ts +7 -3
- package/dist/atoms/status-dot/status-dot.js +26 -16
- package/dist/atoms/status-pill/index.d.ts +1 -1
- package/dist/atoms/status-pill/status-pill.d.ts +7 -3
- package/dist/atoms/status-pill/status-pill.js +13 -4
- package/dist/atoms/switch/index.d.ts +1 -1
- package/dist/atoms/switch/switch.d.ts +15 -4
- package/dist/atoms/switch/switch.js +90 -14
- package/dist/atoms/trend-chip/index.d.ts +1 -1
- package/dist/atoms/trend-chip/trend-chip.d.ts +5 -1
- package/dist/atoms/trend-chip/trend-chip.js +13 -4
- package/dist/brand/logo-forge.js +1 -1
- package/dist/calendar/day-chip/day-chip.d.ts +9 -2
- package/dist/calendar/day-chip/day-chip.js +9 -6
- package/dist/calendar/day-chip/index.d.ts +1 -1
- package/dist/calendar/day-chip/index.js +3 -2
- package/dist/calendar/event-block/event-block.d.ts +10 -3
- package/dist/calendar/event-block/event-block.js +23 -10
- package/dist/calendar/event-block/index.d.ts +1 -1
- package/dist/calendar/event-block/index.js +6 -2
- package/dist/calendar/month-view/index.d.ts +1 -1
- package/dist/calendar/month-view/month-view.d.ts +5 -1
- package/dist/calendar/month-view/month-view.js +56 -30
- package/dist/calendar/timeline-view/index.d.ts +1 -1
- package/dist/calendar/timeline-view/timeline-view.d.ts +5 -1
- package/dist/calendar/timeline-view/timeline-view.js +21 -7
- package/dist/calendar/week-view/index.d.ts +1 -1
- package/dist/calendar/week-view/week-view.d.ts +5 -1
- package/dist/calendar/week-view/week-view.js +144 -113
- package/dist/charts/bar-chart/bar-race-chart.js +4 -4
- package/dist/charts/bubble-map/bubble-map.js +1 -1
- package/dist/charts/bullet-chart/bullet-chart.js +2 -2
- package/dist/charts/candlestick-chart/candlestick-chart.js +3 -3
- package/dist/charts/chart-grid/chart-grid.js +2 -2
- package/dist/charts/chord-chart/chord-chart.js +1 -1
- package/dist/charts/choropleth-map/choropleth-map.js +1 -1
- package/dist/charts/core/axes.js +3 -3
- package/dist/charts/core/breadcrumb.js +1 -1
- package/dist/charts/core/cartesian/annotations.js +3 -3
- package/dist/charts/core/cartesian/cartesian-chart.js +1 -1
- package/dist/charts/core/cartesian/category-group-axis.js +1 -1
- package/dist/charts/core/cartesian/ink-layer.js +1 -1
- package/dist/charts/core/cartesian/marks.js +1 -1
- package/dist/charts/core/chart-states.js +2 -2
- package/dist/charts/core/distribution/layout.js +1 -1
- package/dist/charts/core/distribution/marks.js +2 -2
- package/dist/charts/core/distribution/xy-points.js +4 -4
- package/dist/charts/core/export-menu.js +1 -1
- package/dist/charts/core/legend.js +2 -2
- package/dist/charts/core/tooltip.js +3 -3
- package/dist/charts/crossfilter/crossfilter.js +4 -4
- package/dist/charts/donut-chart/donut-chart.js +1 -1
- package/dist/charts/dumbbell-chart/dumbbell-chart.js +5 -5
- package/dist/charts/fill-gauge-chart/fill-gauge-chart.js +1 -1
- package/dist/charts/funnel-chart/funnel-chart.js +6 -6
- package/dist/charts/gantt-chart/gantt-chart.js +7 -7
- package/dist/charts/gantt-chart/gantt-marks.js +5 -5
- package/dist/charts/gauge-chart/gauge-chart.js +4 -4
- package/dist/charts/globe-chart/globe-chart.js +1 -1
- package/dist/charts/heatmap-chart/heatmap-grid.js +7 -7
- package/dist/charts/hierarchy-morph/hierarchy-morph.js +3 -3
- package/dist/charts/histogram/histogram.js +1 -1
- package/dist/charts/icicle-chart/icicle-chart.js +2 -2
- package/dist/charts/isotype-rows/isotype-rows.js +3 -3
- package/dist/charts/lollipop-chart/lollipop-chart.js +1 -1
- package/dist/charts/maps/geo/map-data-table.js +3 -3
- package/dist/charts/maps/geo/map-legend.js +5 -5
- package/dist/charts/maps/geo/map-viewport.js +1 -1
- package/dist/charts/parliament-chart/parliament-chart.js +2 -2
- package/dist/charts/pictogram-chart/pictogram-chart.js +1 -1
- package/dist/charts/polar-area-chart/polar-area-chart.js +2 -2
- package/dist/charts/progress-units/progress-units.js +1 -1
- package/dist/charts/radar-chart/radar-chart.js +1 -1
- package/dist/charts/radial-bar-chart/radial-bar-chart.js +1 -1
- package/dist/charts/sankey-chart/sankey-chart.js +5 -5
- package/dist/charts/slope-chart/slope-chart.js +1 -1
- package/dist/charts/sparkline/sparkline.js +1 -1
- package/dist/charts/stock-chart/stock-chart.js +1 -1
- package/dist/charts/stock-chart/stock-drawing-layer.js +4 -4
- package/dist/charts/stock-chart/stock-plot.js +3 -3
- package/dist/charts/stream-graph/stream-graph.js +1 -1
- package/dist/charts/sunburst-chart/sunburst-chart.js +1 -1
- package/dist/charts/timeline-chart/timeline-chart.js +3 -3
- package/dist/charts/tree-chart/tree-card.js +6 -6
- package/dist/charts/tree-chart/tree-chart.js +5 -5
- package/dist/charts/treemap-chart/treemap-chart.js +3 -3
- package/dist/charts/waterfall-chart/waterfall-chart.js +2 -2
- package/dist/containers/action-bar/action-bar.d.ts +5 -1
- package/dist/containers/action-bar/action-bar.js +26 -8
- package/dist/containers/action-bar/index.d.ts +1 -1
- package/dist/containers/banner/banner.d.ts +5 -1
- package/dist/containers/banner/banner.js +20 -5
- package/dist/containers/card/card.js +1 -1
- package/dist/containers/carousel/carousel.d.ts +6 -2
- package/dist/containers/carousel/carousel.js +38 -20
- package/dist/containers/carousel/index.d.ts +1 -1
- package/dist/containers/comment/comment.js +1 -1
- package/dist/containers/confirm-action/confirm-action.d.ts +5 -1
- package/dist/containers/confirm-action/confirm-action.js +30 -9
- package/dist/containers/data-grid/chart-panel.js +4 -4
- package/dist/containers/data-grid/column-menu.js +12 -12
- package/dist/containers/data-grid/data-grid.demos.js +13 -13
- package/dist/containers/data-grid/data-grid.js +37 -37
- package/dist/containers/data-grid/data-grid.samples.js +1 -1
- package/dist/containers/data-grid/filter-builder-editor.js +6 -6
- package/dist/containers/data-grid/formula-bar.js +4 -4
- package/dist/containers/data-grid/grid-toolbar.js +6 -6
- package/dist/containers/data-grid/spreadsheet.demos.d.ts +1 -1
- package/dist/containers/data-grid/spreadsheet.demos.js +1 -1
- package/dist/containers/data-grid/tool-panel.js +11 -11
- package/dist/containers/description-list/description-list.js +1 -1
- package/dist/containers/facts/facts.js +2 -2
- package/dist/containers/file-tree/file-tree.d.ts +5 -1
- package/dist/containers/file-tree/file-tree.js +81 -57
- package/dist/containers/file-tree/index.d.ts +1 -1
- package/dist/containers/generic-row/generic-row.js +3 -3
- package/dist/containers/hbars/hbars.js +5 -5
- package/dist/containers/item-card-group/index.d.ts +1 -1
- package/dist/containers/item-card-group/item-card-group.d.ts +5 -1
- package/dist/containers/item-card-group/item-card-group.js +88 -43
- package/dist/containers/kanban/index.d.ts +1 -1
- package/dist/containers/kanban/kanban.d.ts +5 -1
- package/dist/containers/kanban/kanban.js +74 -23
- package/dist/containers/kpi/kpi.d.ts +7 -4
- package/dist/containers/kpi/kpi.js +21 -7
- package/dist/containers/kpi-group/index.d.ts +1 -1
- package/dist/containers/kpi-group/kpi-group.d.ts +5 -1
- package/dist/containers/kpi-group/kpi-group.js +55 -27
- package/dist/containers/page-header/page-header.js +2 -2
- package/dist/containers/responsive-list/responsive-list.d.ts +5 -1
- package/dist/containers/responsive-list/responsive-list.js +83 -37
- package/dist/containers/settings-layout/settings-layout.js +1 -1
- package/dist/containers/settings-row/settings-row.d.ts +5 -1
- package/dist/containers/settings-row/settings-row.js +7 -5
- package/dist/containers/table/table.js +5 -5
- package/dist/containers/timeline/index.d.ts +1 -1
- package/dist/containers/timeline/timeline.d.ts +5 -1
- package/dist/containers/timeline/timeline.js +65 -14
- package/dist/dashboards/layout.js +2 -2
- package/dist/forms/accent-picker/accent-picker.d.ts +7 -4
- package/dist/forms/accent-picker/accent-picker.js +13 -6
- package/dist/forms/accent-picker/index.d.ts +1 -1
- package/dist/forms/checkbox-button-group/checkbox-button-group.d.ts +6 -2
- package/dist/forms/checkbox-button-group/checkbox-button-group.js +12 -2
- package/dist/forms/checkbox-button-group/index.d.ts +1 -1
- package/dist/forms/dropzone/dropzone.d.ts +5 -1
- package/dist/forms/dropzone/dropzone.js +26 -6
- package/dist/forms/dropzone/index.d.ts +1 -1
- package/dist/forms/emoji-picker/emoji-picker.d.ts +5 -1
- package/dist/forms/emoji-picker/emoji-picker.js +55 -24
- package/dist/forms/emoji-picker/index.d.ts +1 -1
- package/dist/forms/emoji-reaction-button/emoji-reaction-button.d.ts +9 -2
- package/dist/forms/emoji-reaction-button/emoji-reaction-button.js +24 -10
- package/dist/forms/emoji-reaction-button/index.d.ts +1 -1
- package/dist/forms/field/field.d.ts +7 -4
- package/dist/forms/field/field.js +31 -8
- package/dist/forms/field/index.d.ts +1 -1
- package/dist/forms/inline-select/inline-select.js +1 -1
- package/dist/forms/input-icon/index.d.ts +1 -1
- package/dist/forms/input-icon/input-icon.d.ts +6 -2
- package/dist/forms/input-icon/input-icon.js +7 -4
- package/dist/forms/internal/button-option.d.ts +4 -1
- package/dist/forms/internal/button-option.js +13 -5
- package/dist/forms/native-select/index.d.ts +1 -1
- package/dist/forms/native-select/native-select.d.ts +5 -1
- package/dist/forms/native-select/native-select.js +8 -3
- package/dist/forms/number-stepper/index.d.ts +1 -1
- package/dist/forms/number-stepper/index.js +3 -1
- package/dist/forms/number-stepper/number-stepper.d.ts +5 -1
- package/dist/forms/number-stepper/number-stepper.js +17 -5
- package/dist/forms/pin-input/index.d.ts +1 -1
- package/dist/forms/pin-input/pin-input.d.ts +5 -1
- package/dist/forms/pin-input/pin-input.js +52 -34
- package/dist/forms/radio-button-group/index.d.ts +1 -1
- package/dist/forms/radio-button-group/radio-button-group.d.ts +6 -2
- package/dist/forms/radio-button-group/radio-button-group.js +7 -2
- package/dist/forms/rating/index.d.ts +1 -1
- package/dist/forms/rating/rating.d.ts +5 -1
- package/dist/forms/rating/rating.js +23 -8
- package/dist/forms/select/select.js +1 -1
- package/dist/forms/slider/index.d.ts +1 -1
- package/dist/forms/slider/slider.d.ts +4 -0
- package/dist/forms/slider/slider.js +45 -8
- package/dist/i18n/strings.d.ts +3 -0
- package/dist/i18n/strings.js +4 -2
- package/dist/icons/alert-triangle.d.ts +1 -0
- package/dist/icons/alert-triangle.js +4 -0
- package/dist/icons/archive.d.ts +2 -0
- package/dist/icons/archive.js +12 -0
- package/dist/icons/armchair.d.ts +2 -0
- package/dist/icons/armchair.js +13 -0
- package/dist/icons/arrow-down-right.d.ts +2 -0
- package/dist/icons/arrow-down-right.js +11 -0
- package/dist/icons/arrow-down-to-line.d.ts +2 -0
- package/dist/icons/arrow-down-to-line.js +12 -0
- package/dist/icons/arrow-down.d.ts +2 -0
- package/dist/icons/arrow-down.js +11 -0
- package/dist/icons/arrow-left-to-line.d.ts +2 -0
- package/dist/icons/arrow-left-to-line.js +12 -0
- package/dist/icons/arrow-left.d.ts +2 -0
- package/dist/icons/arrow-left.js +11 -0
- package/dist/icons/arrow-right-to-line.d.ts +2 -0
- package/dist/icons/arrow-right-to-line.js +12 -0
- package/dist/icons/arrow-right.d.ts +2 -0
- package/dist/icons/arrow-right.js +11 -0
- package/dist/icons/arrow-up-from-line.d.ts +2 -0
- package/dist/icons/arrow-up-from-line.js +12 -0
- package/dist/icons/arrow-up-right.d.ts +2 -0
- package/dist/icons/arrow-up-right.js +11 -0
- package/dist/icons/arrow-up-to-line.d.ts +2 -0
- package/dist/icons/arrow-up-to-line.js +12 -0
- package/dist/icons/arrow-up.d.ts +2 -0
- package/dist/icons/arrow-up.js +11 -0
- package/dist/icons/banknote.d.ts +2 -0
- package/dist/icons/banknote.js +12 -0
- package/dist/icons/bar-chart2.d.ts +1 -0
- package/dist/icons/bar-chart2.js +4 -0
- package/dist/icons/bar-chart3.d.ts +1 -0
- package/dist/icons/bar-chart3.js +4 -0
- package/dist/icons/bell.d.ts +2 -0
- package/dist/icons/bell.js +11 -0
- package/dist/icons/bold.d.ts +2 -0
- package/dist/icons/bold.js +8 -0
- package/dist/icons/book-open.d.ts +2 -0
- package/dist/icons/book-open.js +11 -0
- package/dist/icons/boxes.d.ts +2 -0
- package/dist/icons/boxes.js +21 -0
- package/dist/icons/brain.d.ts +2 -0
- package/dist/icons/brain.js +17 -0
- package/dist/icons/calculator.d.ts +2 -0
- package/dist/icons/calculator.js +19 -0
- package/dist/icons/calendar-check.d.ts +2 -0
- package/dist/icons/calendar-check.js +14 -0
- package/dist/icons/calendar-clock.d.ts +2 -0
- package/dist/icons/calendar-clock.js +15 -0
- package/dist/icons/calendar-days.d.ts +2 -0
- package/dist/icons/calendar-days.js +19 -0
- package/dist/icons/calendar-plus.d.ts +2 -0
- package/dist/icons/calendar-plus.js +15 -0
- package/dist/icons/calendar-x.d.ts +2 -0
- package/dist/icons/calendar-x.js +15 -0
- package/dist/icons/calendar.d.ts +2 -0
- package/dist/icons/calendar.js +13 -0
- package/dist/icons/camera.d.ts +2 -0
- package/dist/icons/camera.js +11 -0
- package/dist/icons/chart-column.d.ts +2 -0
- package/dist/icons/chart-column.js +13 -0
- package/dist/icons/chart-no-axes-column.d.ts +2 -0
- package/dist/icons/chart-no-axes-column.js +12 -0
- package/dist/icons/check-check.d.ts +2 -0
- package/dist/icons/check-check.js +11 -0
- package/dist/icons/check-circle2.d.ts +1 -0
- package/dist/icons/check-circle2.js +4 -0
- package/dist/icons/check.d.ts +2 -0
- package/dist/icons/check.js +8 -0
- package/dist/icons/chevron-down.d.ts +2 -0
- package/dist/icons/chevron-down.js +8 -0
- package/dist/icons/chevron-left.d.ts +2 -0
- package/dist/icons/chevron-left.js +8 -0
- package/dist/icons/chevron-right.d.ts +2 -0
- package/dist/icons/chevron-right.js +8 -0
- package/dist/icons/chevrons-left.d.ts +2 -0
- package/dist/icons/chevrons-left.js +11 -0
- package/dist/icons/chevrons-right.d.ts +2 -0
- package/dist/icons/chevrons-right.js +11 -0
- package/dist/icons/chevrons-up-down.d.ts +2 -0
- package/dist/icons/chevrons-up-down.js +11 -0
- package/dist/icons/circle-alert.d.ts +2 -0
- package/dist/icons/circle-alert.js +12 -0
- package/dist/icons/circle-check.d.ts +2 -0
- package/dist/icons/circle-check.js +11 -0
- package/dist/icons/circle-x.d.ts +2 -0
- package/dist/icons/circle-x.js +12 -0
- package/dist/icons/clipboard-list.d.ts +2 -0
- package/dist/icons/clipboard-list.js +15 -0
- package/dist/icons/clock.d.ts +2 -0
- package/dist/icons/clock.js +11 -0
- package/dist/icons/coins.d.ts +2 -0
- package/dist/icons/coins.js +13 -0
- package/dist/icons/columns-3.d.ts +2 -0
- package/dist/icons/columns-3.js +12 -0
- package/dist/icons/construction.d.ts +2 -0
- package/dist/icons/construction.js +17 -0
- package/dist/icons/copy.d.ts +2 -0
- package/dist/icons/copy.js +11 -0
- package/dist/icons/credit-card.d.ts +2 -0
- package/dist/icons/credit-card.js +12 -0
- package/dist/icons/download.d.ts +2 -0
- package/dist/icons/download.js +12 -0
- package/dist/icons/ellipsis-vertical.d.ts +2 -0
- package/dist/icons/ellipsis-vertical.js +12 -0
- package/dist/icons/external-link.d.ts +2 -0
- package/dist/icons/external-link.js +12 -0
- package/dist/icons/eye-off.d.ts +2 -0
- package/dist/icons/eye-off.js +13 -0
- package/dist/icons/face-slightly-smiling-plus.d.ts +2 -0
- package/dist/icons/face-slightly-smiling-plus.js +15 -0
- package/dist/icons/face-slightly-smiling.d.ts +2 -0
- package/dist/icons/face-slightly-smiling.js +13 -0
- package/dist/icons/file-code.d.ts +2 -0
- package/dist/icons/file-code.js +13 -0
- package/dist/icons/file-image.d.ts +2 -0
- package/dist/icons/file-image.js +13 -0
- package/dist/icons/file-spreadsheet.d.ts +2 -0
- package/dist/icons/file-spreadsheet.js +15 -0
- package/dist/icons/file-text.d.ts +2 -0
- package/dist/icons/file-text.js +14 -0
- package/dist/icons/file.d.ts +2 -0
- package/dist/icons/file.js +11 -0
- package/dist/icons/filter.d.ts +1 -0
- package/dist/icons/filter.js +4 -0
- package/dist/icons/folder-open.d.ts +2 -0
- package/dist/icons/folder-open.js +8 -0
- package/dist/icons/folder.d.ts +2 -0
- package/dist/icons/folder.js +8 -0
- package/dist/icons/funnel.d.ts +2 -0
- package/dist/icons/funnel.js +8 -0
- package/dist/icons/grip-vertical.d.ts +2 -0
- package/dist/icons/grip-vertical.js +15 -0
- package/dist/icons/heading-2.d.ts +2 -0
- package/dist/icons/heading-2.js +13 -0
- package/dist/icons/icon-base.d.ts +14 -0
- package/dist/icons/icon-base.js +39 -0
- package/dist/icons/inbox.d.ts +2 -0
- package/dist/icons/inbox.js +11 -0
- package/dist/icons/index.d.ts +145 -0
- package/dist/icons/index.js +291 -0
- package/dist/icons/info.d.ts +2 -0
- package/dist/icons/info.js +12 -0
- package/dist/icons/italic.d.ts +2 -0
- package/dist/icons/italic.js +12 -0
- package/dist/icons/landmark.d.ts +2 -0
- package/dist/icons/landmark.js +15 -0
- package/dist/icons/layers.d.ts +2 -0
- package/dist/icons/layers.js +12 -0
- package/dist/icons/layout-dashboard.d.ts +2 -0
- package/dist/icons/layout-dashboard.js +13 -0
- package/dist/icons/layout-grid.d.ts +2 -0
- package/dist/icons/layout-grid.js +13 -0
- package/dist/icons/link-2.d.ts +2 -0
- package/dist/icons/link-2.js +12 -0
- package/dist/icons/list-checks.d.ts +2 -0
- package/dist/icons/list-checks.js +14 -0
- package/dist/icons/list-filter.d.ts +2 -0
- package/dist/icons/list-filter.js +12 -0
- package/dist/icons/list-ordered.d.ts +2 -0
- package/dist/icons/list-ordered.js +15 -0
- package/dist/icons/list.d.ts +2 -0
- package/dist/icons/list.js +15 -0
- package/dist/icons/loader-circle.d.ts +2 -0
- package/dist/icons/loader-circle.js +8 -0
- package/dist/icons/lock.d.ts +2 -0
- package/dist/icons/lock.js +11 -0
- package/dist/icons/log-out.d.ts +2 -0
- package/dist/icons/log-out.js +12 -0
- package/dist/icons/map-pin.d.ts +2 -0
- package/dist/icons/map-pin.js +11 -0
- package/dist/icons/menu.d.ts +2 -0
- package/dist/icons/menu.js +12 -0
- package/dist/icons/message-circle.d.ts +2 -0
- package/dist/icons/message-circle.js +8 -0
- package/dist/icons/message-square.d.ts +2 -0
- package/dist/icons/message-square.js +8 -0
- package/dist/icons/minus.d.ts +2 -0
- package/dist/icons/minus.js +8 -0
- package/dist/icons/moon.d.ts +2 -0
- package/dist/icons/moon.js +8 -0
- package/dist/icons/move-horizontal.d.ts +2 -0
- package/dist/icons/move-horizontal.js +12 -0
- package/dist/icons/octagon-x.d.ts +2 -0
- package/dist/icons/octagon-x.js +12 -0
- package/dist/icons/package.d.ts +2 -0
- package/dist/icons/package.js +13 -0
- package/dist/icons/panel-right.d.ts +2 -0
- package/dist/icons/panel-right.js +11 -0
- package/dist/icons/paperclip.d.ts +2 -0
- package/dist/icons/paperclip.js +8 -0
- package/dist/icons/pause.d.ts +2 -0
- package/dist/icons/pause.js +11 -0
- package/dist/icons/pen-line.d.ts +2 -0
- package/dist/icons/pen-line.js +11 -0
- package/dist/icons/pencil.d.ts +2 -0
- package/dist/icons/pencil.js +11 -0
- package/dist/icons/phone.d.ts +2 -0
- package/dist/icons/phone.js +8 -0
- package/dist/icons/pin-off.d.ts +2 -0
- package/dist/icons/pin-off.js +13 -0
- package/dist/icons/play.d.ts +2 -0
- package/dist/icons/play.js +8 -0
- package/dist/icons/plus.d.ts +2 -0
- package/dist/icons/plus.js +11 -0
- package/dist/icons/redo-2.d.ts +2 -0
- package/dist/icons/redo-2.js +11 -0
- package/dist/icons/refresh-cw.d.ts +2 -0
- package/dist/icons/refresh-cw.js +13 -0
- package/dist/icons/rotate-ccw.d.ts +2 -0
- package/dist/icons/rotate-ccw.js +11 -0
- package/dist/icons/scan-barcode.d.ts +2 -0
- package/dist/icons/scan-barcode.js +16 -0
- package/dist/icons/scissors.d.ts +2 -0
- package/dist/icons/scissors.js +14 -0
- package/dist/icons/scroll-text.d.ts +2 -0
- package/dist/icons/scroll-text.js +13 -0
- package/dist/icons/search.d.ts +2 -0
- package/dist/icons/search.js +11 -0
- package/dist/icons/send.d.ts +2 -0
- package/dist/icons/send.js +11 -0
- package/dist/icons/settings.d.ts +2 -0
- package/dist/icons/settings.js +11 -0
- package/dist/icons/shield.d.ts +2 -0
- package/dist/icons/shield.js +8 -0
- package/dist/icons/shopping-bag.d.ts +2 -0
- package/dist/icons/shopping-bag.js +12 -0
- package/dist/icons/shopping-cart.d.ts +2 -0
- package/dist/icons/shopping-cart.js +13 -0
- package/dist/icons/sliders-horizontal.d.ts +2 -0
- package/dist/icons/sliders-horizontal.js +18 -0
- package/dist/icons/smartphone.d.ts +2 -0
- package/dist/icons/smartphone.js +11 -0
- package/dist/icons/smile-plus.d.ts +1 -0
- package/dist/icons/smile-plus.js +4 -0
- package/dist/icons/smile.d.ts +1 -0
- package/dist/icons/smile.js +4 -0
- package/dist/icons/sparkles.d.ts +2 -0
- package/dist/icons/sparkles.js +13 -0
- package/dist/icons/square.d.ts +2 -0
- package/dist/icons/square.js +8 -0
- package/dist/icons/star.d.ts +2 -0
- package/dist/icons/star.js +8 -0
- package/dist/icons/sun.d.ts +2 -0
- package/dist/icons/sun.js +18 -0
- package/dist/icons/tags.d.ts +2 -0
- package/dist/icons/tags.js +12 -0
- package/dist/icons/thumbs-down.d.ts +2 -0
- package/dist/icons/thumbs-down.js +11 -0
- package/dist/icons/thumbs-up.d.ts +2 -0
- package/dist/icons/thumbs-up.js +11 -0
- package/dist/icons/trash.d.ts +2 -0
- package/dist/icons/trash.js +14 -0
- package/dist/icons/trash2.d.ts +1 -0
- package/dist/icons/trash2.js +4 -0
- package/dist/icons/triangle-alert.d.ts +2 -0
- package/dist/icons/triangle-alert.js +12 -0
- package/dist/icons/truck.d.ts +2 -0
- package/dist/icons/truck.js +14 -0
- package/dist/icons/underline.d.ts +2 -0
- package/dist/icons/underline.js +11 -0
- package/dist/icons/undo-2.d.ts +2 -0
- package/dist/icons/undo-2.js +11 -0
- package/dist/icons/unlink.d.ts +2 -0
- package/dist/icons/unlink.js +15 -0
- package/dist/icons/upload.d.ts +2 -0
- package/dist/icons/upload.js +12 -0
- package/dist/icons/user-check.d.ts +2 -0
- package/dist/icons/user-check.js +12 -0
- package/dist/icons/user-cog.d.ts +2 -0
- package/dist/icons/user-cog.js +20 -0
- package/dist/icons/user-plus.d.ts +2 -0
- package/dist/icons/user-plus.js +13 -0
- package/dist/icons/user-round.d.ts +2 -0
- package/dist/icons/user-round.js +11 -0
- package/dist/icons/user.d.ts +2 -0
- package/dist/icons/user.js +11 -0
- package/dist/icons/users.d.ts +2 -0
- package/dist/icons/users.js +13 -0
- package/dist/icons/video.d.ts +2 -0
- package/dist/icons/video.js +11 -0
- package/dist/icons/wallet.d.ts +2 -0
- package/dist/icons/wallet.js +11 -0
- package/dist/icons/wrench.d.ts +2 -0
- package/dist/icons/wrench.js +8 -0
- package/dist/icons/x.d.ts +2 -0
- package/dist/icons/x.js +11 -0
- package/dist/icons/xcircle.d.ts +1 -0
- package/dist/icons/xcircle.js +4 -0
- package/dist/icons/xoctagon.d.ts +1 -0
- package/dist/icons/xoctagon.js +4 -0
- package/dist/navigation/floating-toc/floating-toc.d.ts +5 -1
- package/dist/navigation/floating-toc/floating-toc.js +42 -23
- package/dist/navigation/floating-toc/index.d.ts +1 -1
- package/dist/navigation/segmented/segmented.d.ts +19 -7
- package/dist/navigation/segmented/segmented.js +84 -19
- package/dist/navigation/stepper/index.d.ts +1 -1
- package/dist/navigation/stepper/stepper.d.ts +7 -3
- package/dist/navigation/stepper/stepper.js +17 -6
- package/dist/navigation/tabs/tabs.d.ts +28 -11
- package/dist/navigation/tabs/tabs.js +134 -14
- package/dist/overlays/context-menu/context-menu.d.ts +5 -5
- package/dist/overlays/context-menu/context-menu.js +5 -8
- package/dist/overlays/dialog/dialog.d.ts +11 -6
- package/dist/overlays/dialog/dialog.js +18 -10
- package/dist/overlays/dialog/index.d.ts +1 -1
- package/dist/overlays/dialog/index.js +2 -0
- package/dist/overlays/drawer/drawer.d.ts +12 -7
- package/dist/overlays/drawer/drawer.js +24 -11
- package/dist/overlays/drawer/index.d.ts +1 -1
- package/dist/overlays/drawer/index.js +2 -0
- package/dist/overlays/dropdown-menu/dropdown-menu.d.ts +26 -10
- package/dist/overlays/dropdown-menu/dropdown-menu.js +89 -20
- package/dist/overlays/dropdown-menu/index.d.ts +1 -1
- package/dist/overlays/dropdown-menu/index.js +12 -0
- package/dist/overlays/hover-card/hover-card.d.ts +2 -2
- package/dist/overlays/hover-card/hover-card.js +3 -3
- package/dist/overlays/popover/index.d.ts +1 -1
- package/dist/overlays/popover/index.js +2 -0
- package/dist/overlays/popover/popover.d.ts +11 -9
- package/dist/overlays/popover/popover.js +6 -3
- package/dist/overlays/toaster/index.d.ts +1 -1
- package/dist/overlays/toaster/index.js +4 -1
- package/dist/overlays/toaster/toast-store.d.ts +39 -0
- package/dist/overlays/toaster/toast-store.js +63 -0
- package/dist/overlays/toaster/toast.d.ts +11 -0
- package/dist/overlays/toaster/toast.js +10 -0
- package/dist/overlays/toaster/toaster.d.ts +24 -5
- package/dist/overlays/toaster/toaster.js +218 -16
- package/dist/palette/command-palette/command-palette.d.ts +6 -2
- package/dist/palette/command-palette/command-palette.js +94 -44
- package/dist/palette/command-palette/index.d.ts +1 -1
- package/dist/primitives/command/command.d.ts +82 -0
- package/dist/primitives/command/command.js +488 -0
- package/dist/primitives/command/score.d.ts +15 -0
- package/dist/primitives/command/score.js +73 -0
- package/dist/primitives/command/store.d.ts +89 -0
- package/dist/primitives/command/store.js +205 -0
- package/dist/primitives/dialog/dialog.d.ts +38 -0
- package/dist/primitives/dialog/dialog.js +251 -0
- package/dist/primitives/focusable.d.ts +21 -0
- package/dist/primitives/focusable.js +59 -0
- package/dist/primitives/global-singleton.d.ts +5 -0
- package/dist/primitives/global-singleton.js +9 -0
- package/dist/primitives/hide-others.d.ts +14 -0
- package/dist/primitives/hide-others.js +79 -0
- package/dist/primitives/index.d.ts +25 -0
- package/dist/primitives/index.js +30 -0
- package/dist/primitives/layer-stack.d.ts +8 -0
- package/dist/primitives/layer-stack.js +23 -0
- package/dist/primitives/menu/grace.d.ts +17 -0
- package/dist/primitives/menu/grace.js +27 -0
- package/dist/primitives/menu/menu.d.ts +97 -0
- package/dist/primitives/menu/menu.js +871 -0
- package/dist/primitives/menu/navigation.d.ts +6 -0
- package/dist/primitives/menu/navigation.js +12 -0
- package/dist/primitives/menu/typeahead.d.ts +6 -0
- package/dist/primitives/menu/typeahead.js +16 -0
- package/dist/primitives/pointer-events-lock.d.ts +15 -0
- package/dist/primitives/pointer-events-lock.js +37 -0
- package/dist/primitives/popover/popover.d.ts +33 -0
- package/dist/primitives/popover/popover.js +244 -0
- package/dist/primitives/popper/geometry.d.ts +67 -0
- package/dist/primitives/popper/geometry.js +143 -0
- package/dist/primitives/popper/popper.d.ts +44 -0
- package/dist/primitives/popper/popper.js +313 -0
- package/dist/primitives/portal.d.ts +6 -0
- package/dist/primitives/portal.js +20 -0
- package/dist/primitives/scroll-lock.d.ts +4 -0
- package/dist/primitives/scroll-lock.js +92 -0
- package/dist/primitives/use-dismissable-layer.d.ts +37 -0
- package/dist/primitives/use-dismissable-layer.js +113 -0
- package/dist/primitives/use-focus-scope.d.ts +22 -0
- package/dist/primitives/use-focus-scope.js +91 -0
- package/dist/primitives/use-layer.d.ts +2 -0
- package/dist/primitives/use-layer.js +14 -0
- package/dist/primitives/use-presence.d.ts +14 -0
- package/dist/primitives/use-presence.js +87 -0
- package/dist/rich-text/index.d.ts +1 -1
- package/dist/rich-text/rich-text-editor.d.ts +5 -1
- package/dist/rich-text/rich-text-editor.js +42 -10
- package/dist/shell/app-shell/app-shell.d.ts +3 -4
- package/dist/shell/app-shell/app-shell.js +4 -2
- package/dist/shell/sidebar/index.d.ts +1 -1
- package/dist/shell/sidebar/sidebar.d.ts +5 -1
- package/dist/shell/sidebar/sidebar.js +49 -37
- package/dist/shell/topbar/index.d.ts +1 -1
- package/dist/shell/topbar/topbar.d.ts +5 -1
- package/dist/shell/topbar/topbar.js +91 -45
- package/dist/showcase/controls-bento.js +2 -2
- package/dist/showcase/kit-tiles.js +1 -1
- package/dist/showcase/operations-bento.js +1 -1
- package/dist/showcase/shell.js +1 -1
- package/dist/states/empty-state/empty-state.js +2 -2
- package/dist/states/error-state/error-state.js +4 -4
- package/dist/states/forbidden-state/forbidden-state.js +2 -2
- package/dist/states/offline-banner/offline-banner.js +1 -1
- package/dist/utils/class-groups.d.ts +20 -0
- package/dist/utils/class-groups.js +809 -0
- package/dist/utils/class-merge.d.ts +17 -0
- package/dist/utils/class-merge.js +187 -0
- package/dist/utils/class-names.d.ts +9 -0
- package/dist/utils/class-names.js +0 -0
- package/dist/utils/class-tokens.generated.d.ts +8 -0
- package/dist/utils/class-tokens.generated.js +98 -0
- package/dist/utils/class-validators.d.ts +27 -0
- package/dist/utils/class-validators.js +78 -0
- package/dist/utils/cn.d.ts +33 -2
- package/dist/utils/cn.js +43 -82
- package/dist/utils/compose.d.ts +7 -0
- package/dist/utils/compose.js +15 -0
- package/dist/utils/form-bubble.d.ts +30 -0
- package/dist/utils/form-bubble.js +120 -0
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.js +7 -1
- package/dist/utils/roving-focus.d.ts +42 -0
- package/dist/utils/roving-focus.js +67 -0
- package/dist/utils/slot.d.ts +16 -0
- package/dist/utils/slot.js +74 -0
- package/dist/utils/use-controllable-state.d.ts +13 -0
- package/dist/utils/use-controllable-state.js +32 -0
- package/icons/LICENSE-lucide +43 -0
- package/icons/README.md +15 -0
- package/icons/aliases.json +12 -0
- package/icons/svg/archive.svg +5 -0
- package/icons/svg/armchair.svg +6 -0
- package/icons/svg/arrow-down-right.svg +4 -0
- package/icons/svg/arrow-down-to-line.svg +5 -0
- package/icons/svg/arrow-down.svg +4 -0
- package/icons/svg/arrow-left-to-line.svg +5 -0
- package/icons/svg/arrow-left.svg +4 -0
- package/icons/svg/arrow-right-to-line.svg +5 -0
- package/icons/svg/arrow-right.svg +4 -0
- package/icons/svg/arrow-up-from-line.svg +5 -0
- package/icons/svg/arrow-up-right.svg +4 -0
- package/icons/svg/arrow-up-to-line.svg +5 -0
- package/icons/svg/arrow-up.svg +4 -0
- package/icons/svg/banknote.svg +5 -0
- package/icons/svg/bell.svg +4 -0
- package/icons/svg/bold.svg +3 -0
- package/icons/svg/book-open.svg +4 -0
- package/icons/svg/boxes.svg +14 -0
- package/icons/svg/brain.svg +10 -0
- package/icons/svg/calculator.svg +12 -0
- package/icons/svg/calendar-check.svg +7 -0
- package/icons/svg/calendar-clock.svg +8 -0
- package/icons/svg/calendar-days.svg +12 -0
- package/icons/svg/calendar-plus.svg +8 -0
- package/icons/svg/calendar-x.svg +8 -0
- package/icons/svg/calendar.svg +6 -0
- package/icons/svg/camera.svg +4 -0
- package/icons/svg/chart-column.svg +6 -0
- package/icons/svg/chart-no-axes-column.svg +5 -0
- package/icons/svg/check-check.svg +4 -0
- package/icons/svg/check.svg +3 -0
- package/icons/svg/chevron-down.svg +3 -0
- package/icons/svg/chevron-left.svg +3 -0
- package/icons/svg/chevron-right.svg +3 -0
- package/icons/svg/chevrons-left.svg +4 -0
- package/icons/svg/chevrons-right.svg +4 -0
- package/icons/svg/chevrons-up-down.svg +4 -0
- package/icons/svg/circle-alert.svg +5 -0
- package/icons/svg/circle-check.svg +4 -0
- package/icons/svg/circle-x.svg +5 -0
- package/icons/svg/clipboard-list.svg +8 -0
- package/icons/svg/clock.svg +4 -0
- package/icons/svg/coins.svg +6 -0
- package/icons/svg/columns-3.svg +5 -0
- package/icons/svg/construction.svg +10 -0
- package/icons/svg/copy.svg +4 -0
- package/icons/svg/credit-card.svg +5 -0
- package/icons/svg/download.svg +5 -0
- package/icons/svg/ellipsis-vertical.svg +5 -0
- package/icons/svg/external-link.svg +5 -0
- package/icons/svg/eye-off.svg +6 -0
- package/icons/svg/face-slightly-smiling-plus.svg +8 -0
- package/icons/svg/face-slightly-smiling.svg +6 -0
- package/icons/svg/file-code.svg +6 -0
- package/icons/svg/file-image.svg +6 -0
- package/icons/svg/file-spreadsheet.svg +8 -0
- package/icons/svg/file-text.svg +7 -0
- package/icons/svg/file.svg +4 -0
- package/icons/svg/folder-open.svg +3 -0
- package/icons/svg/folder.svg +3 -0
- package/icons/svg/funnel.svg +3 -0
- package/icons/svg/grip-vertical.svg +8 -0
- package/icons/svg/heading-2.svg +6 -0
- package/icons/svg/inbox.svg +4 -0
- package/icons/svg/info.svg +5 -0
- package/icons/svg/italic.svg +5 -0
- package/icons/svg/landmark.svg +8 -0
- package/icons/svg/layers.svg +5 -0
- package/icons/svg/layout-dashboard.svg +6 -0
- package/icons/svg/layout-grid.svg +6 -0
- package/icons/svg/link-2.svg +5 -0
- package/icons/svg/list-checks.svg +7 -0
- package/icons/svg/list-filter.svg +5 -0
- package/icons/svg/list-ordered.svg +8 -0
- package/icons/svg/list.svg +8 -0
- package/icons/svg/loader-circle.svg +3 -0
- package/icons/svg/lock.svg +4 -0
- package/icons/svg/log-out.svg +5 -0
- package/icons/svg/map-pin.svg +4 -0
- package/icons/svg/menu.svg +5 -0
- package/icons/svg/message-circle.svg +3 -0
- package/icons/svg/message-square.svg +3 -0
- package/icons/svg/minus.svg +3 -0
- package/icons/svg/moon.svg +3 -0
- package/icons/svg/move-horizontal.svg +5 -0
- package/icons/svg/octagon-x.svg +5 -0
- package/icons/svg/package.svg +6 -0
- package/icons/svg/panel-right.svg +4 -0
- package/icons/svg/paperclip.svg +3 -0
- package/icons/svg/pause.svg +4 -0
- package/icons/svg/pen-line.svg +4 -0
- package/icons/svg/pencil.svg +4 -0
- package/icons/svg/phone.svg +3 -0
- package/icons/svg/pin-off.svg +6 -0
- package/icons/svg/play.svg +3 -0
- package/icons/svg/plus.svg +4 -0
- package/icons/svg/redo-2.svg +4 -0
- package/icons/svg/refresh-cw.svg +6 -0
- package/icons/svg/rotate-ccw.svg +4 -0
- package/icons/svg/scan-barcode.svg +9 -0
- package/icons/svg/scissors.svg +7 -0
- package/icons/svg/scroll-text.svg +6 -0
- package/icons/svg/search.svg +4 -0
- package/icons/svg/send.svg +4 -0
- package/icons/svg/settings.svg +4 -0
- package/icons/svg/shield.svg +3 -0
- package/icons/svg/shopping-bag.svg +5 -0
- package/icons/svg/shopping-cart.svg +6 -0
- package/icons/svg/sliders-horizontal.svg +11 -0
- package/icons/svg/smartphone.svg +4 -0
- package/icons/svg/sparkles.svg +6 -0
- package/icons/svg/square.svg +3 -0
- package/icons/svg/star.svg +3 -0
- package/icons/svg/sun.svg +11 -0
- package/icons/svg/tags.svg +5 -0
- package/icons/svg/thumbs-down.svg +4 -0
- package/icons/svg/thumbs-up.svg +4 -0
- package/icons/svg/trash.svg +7 -0
- package/icons/svg/triangle-alert.svg +5 -0
- package/icons/svg/truck.svg +7 -0
- package/icons/svg/underline.svg +4 -0
- package/icons/svg/undo-2.svg +4 -0
- package/icons/svg/unlink.svg +8 -0
- package/icons/svg/upload.svg +5 -0
- package/icons/svg/user-check.svg +5 -0
- package/icons/svg/user-cog.svg +13 -0
- package/icons/svg/user-plus.svg +6 -0
- package/icons/svg/user-round.svg +4 -0
- package/icons/svg/user.svg +4 -0
- package/icons/svg/users.svg +6 -0
- package/icons/svg/video.svg +4 -0
- package/icons/svg/wallet.svg +4 -0
- package/icons/svg/wrench.svg +3 -0
- package/icons/svg/x.svg +4 -0
- package/package.json +26 -24
- package/scripts/build-theme.mjs +8 -0
- package/src/ai/attachment/attachment.tsx +28 -5
- package/src/ai/chain-of-thought/chain-of-thought.tsx +47 -10
- package/src/ai/chat-list/chat-list.tsx +55 -10
- package/src/ai/chat-message/chat-message.tsx +25 -6
- package/src/ai/code-block/code-block.tsx +28 -7
- package/src/ai/conversation/conversation.tsx +24 -5
- package/src/ai/internal/disclosure.tsx +8 -2
- package/src/ai/loader/loader.tsx +14 -3
- package/src/ai/markdown/markdown.tsx +80 -35
- package/src/ai/message-actions/message-actions.tsx +1 -1
- package/src/ai/prompt-input/prompt-input.tsx +50 -10
- package/src/ai/source/source.tsx +44 -7
- package/src/ai/tool-call/tool-call.tsx +47 -12
- package/src/atoms/avatar/avatar.tsx +77 -12
- package/src/atoms/avatar/index.ts +1 -1
- package/src/atoms/avatar-group/avatar-group.tsx +7 -9
- package/src/atoms/big-date/big-date.tsx +2 -2
- package/src/atoms/button/button.tsx +42 -14
- package/src/atoms/button/index.ts +4 -0
- package/src/atoms/checkbox/checkbox.tsx +119 -18
- package/src/atoms/checkbox/index.ts +1 -1
- package/src/atoms/chip/chip.tsx +4 -3
- package/src/atoms/chip/index.ts +1 -1
- package/src/atoms/icon/icon-map.ts +4 -4
- package/src/atoms/icon/icon.tsx +7 -8
- package/src/atoms/internal/status-icons.tsx +1 -1
- package/src/atoms/led/index.ts +1 -1
- package/src/atoms/led/led.tsx +21 -6
- package/src/atoms/progress/index.ts +1 -1
- package/src/atoms/progress/progress.tsx +52 -13
- package/src/atoms/radio-group/index.ts +1 -0
- package/src/atoms/radio-group/radio-group-primitive.tsx +196 -0
- package/src/atoms/radio-group/radio-group.tsx +48 -14
- package/src/atoms/status-dot/index.ts +1 -0
- package/src/atoms/status-dot/status-dot.tsx +18 -5
- package/src/atoms/status-pill/index.ts +1 -1
- package/src/atoms/status-pill/status-pill.tsx +21 -6
- package/src/atoms/switch/index.ts +1 -1
- package/src/atoms/switch/switch.tsx +102 -15
- package/src/atoms/trend-chip/index.ts +1 -1
- package/src/atoms/trend-chip/trend-chip.tsx +17 -4
- package/src/brand/logo-forge.tsx +1 -1
- package/src/calendar/day-chip/day-chip.tsx +16 -6
- package/src/calendar/day-chip/index.ts +1 -1
- package/src/calendar/event-block/event-block.tsx +44 -9
- package/src/calendar/event-block/index.ts +6 -1
- package/src/calendar/month-view/index.ts +1 -1
- package/src/calendar/month-view/month-view.tsx +37 -6
- package/src/calendar/timeline-view/index.ts +1 -1
- package/src/calendar/timeline-view/timeline-view.tsx +26 -7
- package/src/calendar/week-view/index.ts +1 -1
- package/src/calendar/week-view/week-view.tsx +50 -10
- package/src/charts/README.md +1 -1
- package/src/charts/bar-chart/bar-race-chart.tsx +4 -4
- package/src/charts/bubble-map/bubble-map.tsx +1 -1
- package/src/charts/bullet-chart/bullet-chart.tsx +2 -2
- package/src/charts/candlestick-chart/candlestick-chart.tsx +3 -3
- package/src/charts/chart-grid/chart-grid.tsx +2 -2
- package/src/charts/chord-chart/chord-chart.tsx +1 -1
- package/src/charts/choropleth-map/choropleth-map.tsx +1 -1
- package/src/charts/core/axes.tsx +3 -3
- package/src/charts/core/breadcrumb.tsx +1 -1
- package/src/charts/core/cartesian/annotations.tsx +3 -3
- package/src/charts/core/cartesian/cartesian-chart.tsx +1 -1
- package/src/charts/core/cartesian/category-group-axis.tsx +1 -1
- package/src/charts/core/cartesian/ink-layer.tsx +1 -1
- package/src/charts/core/cartesian/marks.tsx +1 -1
- package/src/charts/core/chart-states.tsx +2 -2
- package/src/charts/core/distribution/layout.ts +1 -1
- package/src/charts/core/distribution/marks.tsx +2 -2
- package/src/charts/core/distribution/xy-points.tsx +4 -4
- package/src/charts/core/export-menu.tsx +1 -1
- package/src/charts/core/legend.tsx +2 -2
- package/src/charts/core/tooltip.tsx +3 -3
- package/src/charts/crossfilter/crossfilter.tsx +4 -4
- package/src/charts/donut-chart/donut-chart.tsx +1 -1
- package/src/charts/dumbbell-chart/dumbbell-chart.tsx +5 -5
- package/src/charts/fill-gauge-chart/fill-gauge-chart.tsx +1 -1
- package/src/charts/funnel-chart/funnel-chart.tsx +6 -6
- package/src/charts/gantt-chart/gantt-chart.tsx +7 -7
- package/src/charts/gantt-chart/gantt-marks.tsx +6 -6
- package/src/charts/gauge-chart/gauge-chart.tsx +4 -4
- package/src/charts/globe-chart/globe-chart.tsx +1 -1
- package/src/charts/heatmap-chart/heatmap-grid.tsx +7 -7
- package/src/charts/hierarchy-morph/hierarchy-morph.tsx +3 -3
- package/src/charts/histogram/histogram.tsx +1 -1
- package/src/charts/icicle-chart/icicle-chart.tsx +2 -2
- package/src/charts/isotype-rows/isotype-rows.tsx +3 -3
- package/src/charts/lollipop-chart/lollipop-chart.tsx +1 -1
- package/src/charts/maps/geo/map-data-table.tsx +3 -3
- package/src/charts/maps/geo/map-legend.tsx +5 -5
- package/src/charts/maps/geo/map-viewport.tsx +1 -1
- package/src/charts/parliament-chart/parliament-chart.tsx +2 -2
- package/src/charts/pictogram-chart/pictogram-chart.tsx +1 -1
- package/src/charts/polar-area-chart/polar-area-chart.tsx +2 -2
- package/src/charts/progress-units/progress-units.tsx +1 -1
- package/src/charts/radar-chart/radar-chart.tsx +1 -1
- package/src/charts/radial-bar-chart/radial-bar-chart.tsx +1 -1
- package/src/charts/sankey-chart/sankey-chart.tsx +5 -5
- package/src/charts/slope-chart/slope-chart.tsx +1 -1
- package/src/charts/sparkline/sparkline.tsx +1 -1
- package/src/charts/stock-chart/stock-chart.tsx +1 -1
- package/src/charts/stock-chart/stock-drawing-layer.tsx +4 -4
- package/src/charts/stock-chart/stock-plot.tsx +3 -3
- package/src/charts/stream-graph/stream-graph.tsx +1 -1
- package/src/charts/sunburst-chart/sunburst-chart.tsx +1 -1
- package/src/charts/timeline-chart/timeline-chart.tsx +3 -3
- package/src/charts/tree-chart/tree-card.tsx +6 -6
- package/src/charts/tree-chart/tree-chart.tsx +5 -5
- package/src/charts/treemap-chart/treemap-chart.tsx +3 -3
- package/src/charts/waterfall-chart/waterfall-chart.tsx +2 -2
- package/src/containers/action-bar/action-bar.tsx +21 -4
- package/src/containers/action-bar/index.ts +1 -1
- package/src/containers/banner/banner.tsx +19 -5
- package/src/containers/card/card.tsx +1 -1
- package/src/containers/carousel/carousel.tsx +38 -10
- package/src/containers/carousel/index.ts +1 -1
- package/src/containers/comment/comment.tsx +1 -1
- package/src/containers/confirm-action/confirm-action.tsx +41 -8
- package/src/containers/data-grid/chart-panel.tsx +4 -4
- package/src/containers/data-grid/column-menu.tsx +14 -14
- package/src/containers/data-grid/data-grid.demos.tsx +13 -13
- package/src/containers/data-grid/data-grid.samples.tsx +1 -1
- package/src/containers/data-grid/data-grid.tsx +38 -38
- package/src/containers/data-grid/filter-builder-editor.tsx +6 -6
- package/src/containers/data-grid/formula-bar.tsx +4 -4
- package/src/containers/data-grid/grid-toolbar.tsx +7 -7
- package/src/containers/data-grid/spreadsheet.demos.tsx +1 -1
- package/src/containers/data-grid/tool-panel.tsx +11 -11
- package/src/containers/description-list/description-list.tsx +1 -1
- package/src/containers/facts/facts.tsx +2 -2
- package/src/containers/file-tree/file-tree.tsx +30 -9
- package/src/containers/file-tree/index.ts +1 -1
- package/src/containers/generic-row/generic-row.tsx +3 -3
- package/src/containers/hbars/hbars.tsx +5 -5
- package/src/containers/item-card-group/index.ts +1 -0
- package/src/containers/item-card-group/item-card-group.tsx +65 -13
- package/src/containers/kanban/index.ts +1 -1
- package/src/containers/kanban/kanban.tsx +67 -11
- package/src/containers/kpi/kpi.tsx +26 -8
- package/src/containers/kpi-group/index.ts +1 -1
- package/src/containers/kpi-group/kpi-group.tsx +37 -8
- package/src/containers/page-header/page-header.tsx +2 -2
- package/src/containers/responsive-list/responsive-list.tsx +57 -10
- package/src/containers/settings-layout/settings-layout.tsx +1 -1
- package/src/containers/settings-row/settings-row.tsx +20 -5
- package/src/containers/table/table.tsx +5 -5
- package/src/containers/timeline/index.ts +1 -0
- package/src/containers/timeline/timeline.tsx +68 -12
- package/src/dashboards/layout.tsx +2 -2
- package/src/forms/accent-picker/accent-picker.tsx +23 -13
- package/src/forms/accent-picker/index.ts +1 -0
- package/src/forms/checkbox-button-group/checkbox-button-group.tsx +19 -2
- package/src/forms/checkbox-button-group/index.ts +1 -0
- package/src/forms/dropzone/dropzone.tsx +27 -5
- package/src/forms/dropzone/index.ts +1 -0
- package/src/forms/emoji-picker/emoji-picker.tsx +50 -10
- package/src/forms/emoji-picker/index.ts +1 -1
- package/src/forms/emoji-reaction-button/emoji-reaction-button.tsx +35 -8
- package/src/forms/emoji-reaction-button/index.ts +2 -0
- package/src/forms/field/field.tsx +38 -9
- package/src/forms/field/index.ts +1 -1
- package/src/forms/inline-select/inline-select.tsx +1 -1
- package/src/forms/input-icon/index.ts +1 -1
- package/src/forms/input-icon/input-icon.tsx +13 -5
- package/src/forms/internal/button-option.tsx +15 -5
- package/src/forms/native-select/index.ts +1 -0
- package/src/forms/native-select/native-select.tsx +13 -3
- package/src/forms/number-stepper/index.ts +5 -1
- package/src/forms/number-stepper/number-stepper.tsx +18 -5
- package/src/forms/pin-input/index.ts +1 -1
- package/src/forms/pin-input/pin-input.tsx +22 -3
- package/src/forms/radio-button-group/index.ts +1 -0
- package/src/forms/radio-button-group/radio-button-group.tsx +14 -2
- package/src/forms/rating/index.ts +1 -1
- package/src/forms/rating/rating.tsx +27 -8
- package/src/forms/select/select.tsx +1 -1
- package/src/forms/slider/index.ts +1 -0
- package/src/forms/slider/slider.tsx +46 -6
- package/src/i18n/strings.ts +3 -0
- package/src/icons/alert-triangle.tsx +3 -0
- package/src/icons/archive.tsx +13 -0
- package/src/icons/armchair.tsx +14 -0
- package/src/icons/arrow-down-right.tsx +12 -0
- package/src/icons/arrow-down-to-line.tsx +13 -0
- package/src/icons/arrow-down.tsx +12 -0
- package/src/icons/arrow-left-to-line.tsx +13 -0
- package/src/icons/arrow-left.tsx +12 -0
- package/src/icons/arrow-right-to-line.tsx +13 -0
- package/src/icons/arrow-right.tsx +12 -0
- package/src/icons/arrow-up-from-line.tsx +13 -0
- package/src/icons/arrow-up-right.tsx +12 -0
- package/src/icons/arrow-up-to-line.tsx +13 -0
- package/src/icons/arrow-up.tsx +12 -0
- package/src/icons/banknote.tsx +13 -0
- package/src/icons/bar-chart2.tsx +3 -0
- package/src/icons/bar-chart3.tsx +3 -0
- package/src/icons/bell.tsx +12 -0
- package/src/icons/bold.tsx +11 -0
- package/src/icons/book-open.tsx +12 -0
- package/src/icons/boxes.tsx +22 -0
- package/src/icons/brain.tsx +18 -0
- package/src/icons/calculator.tsx +20 -0
- package/src/icons/calendar-check.tsx +15 -0
- package/src/icons/calendar-clock.tsx +16 -0
- package/src/icons/calendar-days.tsx +20 -0
- package/src/icons/calendar-plus.tsx +16 -0
- package/src/icons/calendar-x.tsx +16 -0
- package/src/icons/calendar.tsx +14 -0
- package/src/icons/camera.tsx +12 -0
- package/src/icons/chart-column.tsx +14 -0
- package/src/icons/chart-no-axes-column.tsx +13 -0
- package/src/icons/check-check.tsx +12 -0
- package/src/icons/check-circle2.tsx +3 -0
- package/src/icons/check.tsx +11 -0
- package/src/icons/chevron-down.tsx +11 -0
- package/src/icons/chevron-left.tsx +11 -0
- package/src/icons/chevron-right.tsx +11 -0
- package/src/icons/chevrons-left.tsx +12 -0
- package/src/icons/chevrons-right.tsx +12 -0
- package/src/icons/chevrons-up-down.tsx +12 -0
- package/src/icons/circle-alert.tsx +13 -0
- package/src/icons/circle-check.tsx +12 -0
- package/src/icons/circle-x.tsx +13 -0
- package/src/icons/clipboard-list.tsx +16 -0
- package/src/icons/clock.tsx +12 -0
- package/src/icons/coins.tsx +14 -0
- package/src/icons/columns-3.tsx +13 -0
- package/src/icons/construction.tsx +18 -0
- package/src/icons/copy.tsx +12 -0
- package/src/icons/credit-card.tsx +13 -0
- package/src/icons/download.tsx +13 -0
- package/src/icons/ellipsis-vertical.tsx +13 -0
- package/src/icons/external-link.tsx +13 -0
- package/src/icons/eye-off.tsx +14 -0
- package/src/icons/face-slightly-smiling-plus.tsx +16 -0
- package/src/icons/face-slightly-smiling.tsx +14 -0
- package/src/icons/file-code.tsx +14 -0
- package/src/icons/file-image.tsx +14 -0
- package/src/icons/file-spreadsheet.tsx +16 -0
- package/src/icons/file-text.tsx +15 -0
- package/src/icons/file.tsx +12 -0
- package/src/icons/filter.tsx +3 -0
- package/src/icons/folder-open.tsx +11 -0
- package/src/icons/folder.tsx +11 -0
- package/src/icons/funnel.tsx +11 -0
- package/src/icons/grip-vertical.tsx +16 -0
- package/src/icons/heading-2.tsx +14 -0
- package/src/icons/icon-base.tsx +51 -0
- package/src/icons/inbox.tsx +12 -0
- package/src/icons/index.ts +146 -0
- package/src/icons/info.tsx +13 -0
- package/src/icons/italic.tsx +13 -0
- package/src/icons/landmark.tsx +16 -0
- package/src/icons/layers.tsx +13 -0
- package/src/icons/layout-dashboard.tsx +14 -0
- package/src/icons/layout-grid.tsx +14 -0
- package/src/icons/link-2.tsx +13 -0
- package/src/icons/list-checks.tsx +15 -0
- package/src/icons/list-filter.tsx +13 -0
- package/src/icons/list-ordered.tsx +16 -0
- package/src/icons/list.tsx +16 -0
- package/src/icons/loader-circle.tsx +11 -0
- package/src/icons/lock.tsx +12 -0
- package/src/icons/log-out.tsx +13 -0
- package/src/icons/map-pin.tsx +12 -0
- package/src/icons/menu.tsx +13 -0
- package/src/icons/message-circle.tsx +11 -0
- package/src/icons/message-square.tsx +11 -0
- package/src/icons/minus.tsx +11 -0
- package/src/icons/moon.tsx +11 -0
- package/src/icons/move-horizontal.tsx +13 -0
- package/src/icons/octagon-x.tsx +13 -0
- package/src/icons/package.tsx +14 -0
- package/src/icons/panel-right.tsx +12 -0
- package/src/icons/paperclip.tsx +11 -0
- package/src/icons/pause.tsx +12 -0
- package/src/icons/pen-line.tsx +12 -0
- package/src/icons/pencil.tsx +12 -0
- package/src/icons/phone.tsx +11 -0
- package/src/icons/pin-off.tsx +14 -0
- package/src/icons/play.tsx +11 -0
- package/src/icons/plus.tsx +12 -0
- package/src/icons/redo-2.tsx +12 -0
- package/src/icons/refresh-cw.tsx +14 -0
- package/src/icons/rotate-ccw.tsx +12 -0
- package/src/icons/scan-barcode.tsx +17 -0
- package/src/icons/scissors.tsx +15 -0
- package/src/icons/scroll-text.tsx +14 -0
- package/src/icons/search.tsx +12 -0
- package/src/icons/send.tsx +12 -0
- package/src/icons/settings.tsx +12 -0
- package/src/icons/shield.tsx +11 -0
- package/src/icons/shopping-bag.tsx +13 -0
- package/src/icons/shopping-cart.tsx +14 -0
- package/src/icons/sliders-horizontal.tsx +19 -0
- package/src/icons/smartphone.tsx +12 -0
- package/src/icons/smile-plus.tsx +3 -0
- package/src/icons/smile.tsx +3 -0
- package/src/icons/sparkles.tsx +14 -0
- package/src/icons/square.tsx +11 -0
- package/src/icons/star.tsx +11 -0
- package/src/icons/sun.tsx +19 -0
- package/src/icons/tags.tsx +13 -0
- package/src/icons/thumbs-down.tsx +12 -0
- package/src/icons/thumbs-up.tsx +12 -0
- package/src/icons/trash.tsx +15 -0
- package/src/icons/trash2.tsx +3 -0
- package/src/icons/triangle-alert.tsx +13 -0
- package/src/icons/truck.tsx +15 -0
- package/src/icons/underline.tsx +12 -0
- package/src/icons/undo-2.tsx +12 -0
- package/src/icons/unlink.tsx +16 -0
- package/src/icons/upload.tsx +13 -0
- package/src/icons/user-check.tsx +13 -0
- package/src/icons/user-cog.tsx +21 -0
- package/src/icons/user-plus.tsx +14 -0
- package/src/icons/user-round.tsx +12 -0
- package/src/icons/user.tsx +12 -0
- package/src/icons/users.tsx +14 -0
- package/src/icons/video.tsx +12 -0
- package/src/icons/wallet.tsx +12 -0
- package/src/icons/wrench.tsx +11 -0
- package/src/icons/x.tsx +12 -0
- package/src/icons/xcircle.tsx +3 -0
- package/src/icons/xoctagon.tsx +3 -0
- package/src/navigation/floating-toc/floating-toc.tsx +25 -5
- package/src/navigation/floating-toc/index.ts +1 -1
- package/src/navigation/segmented/segmented.tsx +106 -18
- package/src/navigation/stepper/index.ts +1 -1
- package/src/navigation/stepper/stepper.tsx +22 -6
- package/src/navigation/tabs/tabs.tsx +190 -23
- package/src/overlays/context-menu/context-menu.tsx +9 -14
- package/src/overlays/dialog/dialog.tsx +24 -12
- package/src/overlays/dialog/index.ts +2 -0
- package/src/overlays/drawer/drawer.tsx +29 -13
- package/src/overlays/drawer/index.ts +2 -0
- package/src/overlays/dropdown-menu/dropdown-menu.tsx +107 -28
- package/src/overlays/dropdown-menu/index.ts +9 -0
- package/src/overlays/hover-card/hover-card.tsx +4 -4
- package/src/overlays/popover/index.ts +1 -0
- package/src/overlays/popover/popover.tsx +10 -7
- package/src/overlays/toaster/index.ts +9 -1
- package/src/overlays/toaster/toast-store.ts +100 -0
- package/src/overlays/toaster/toast.ts +18 -0
- package/src/overlays/toaster/toaster.tsx +277 -18
- package/src/palette/command-palette/command-palette.tsx +65 -15
- package/src/palette/command-palette/index.ts +1 -0
- package/src/primitives/command/command.tsx +621 -0
- package/src/primitives/command/score.ts +104 -0
- package/src/primitives/command/store.ts +280 -0
- package/src/primitives/dialog/dialog.tsx +316 -0
- package/src/primitives/focusable.ts +85 -0
- package/src/primitives/global-singleton.ts +10 -0
- package/src/primitives/hide-others.ts +116 -0
- package/src/primitives/index.ts +42 -0
- package/src/primitives/layer-stack.ts +27 -0
- package/src/primitives/menu/grace.ts +40 -0
- package/src/primitives/menu/menu.tsx +1129 -0
- package/src/primitives/menu/navigation.ts +15 -0
- package/src/primitives/menu/typeahead.ts +22 -0
- package/src/primitives/pointer-events-lock.ts +48 -0
- package/src/primitives/popover/popover.tsx +316 -0
- package/src/primitives/popper/geometry.ts +250 -0
- package/src/primitives/popper/popper.tsx +434 -0
- package/src/primitives/portal.tsx +23 -0
- package/src/primitives/scroll-lock.ts +114 -0
- package/src/primitives/use-dismissable-layer.ts +171 -0
- package/src/primitives/use-focus-scope.ts +127 -0
- package/src/primitives/use-layer.ts +14 -0
- package/src/primitives/use-presence.ts +111 -0
- package/src/rich-text/index.ts +1 -0
- package/src/rich-text/rich-text-editor.tsx +57 -10
- package/src/shell/app-shell/app-shell.tsx +6 -4
- package/src/shell/sidebar/index.ts +1 -0
- package/src/shell/sidebar/sidebar.tsx +32 -6
- package/src/shell/topbar/index.ts +1 -1
- package/src/shell/topbar/topbar.tsx +57 -10
- package/src/showcase/controls-bento.tsx +2 -2
- package/src/showcase/kit-tiles.tsx +1 -1
- package/src/showcase/operations-bento.tsx +1 -1
- package/src/showcase/shell.tsx +1 -1
- package/src/states/empty-state/empty-state.tsx +2 -2
- package/src/states/error-state/error-state.tsx +4 -4
- package/src/states/forbidden-state/forbidden-state.tsx +2 -2
- package/src/states/offline-banner/offline-banner.tsx +1 -1
- package/src/utils/class-groups.ts +851 -0
- package/src/utils/class-merge.ts +248 -0
- package/src/utils/class-names.ts +9 -0
- package/src/utils/class-tokens.generated.ts +101 -0
- package/src/utils/class-validators.ts +69 -0
- package/src/utils/cn.ts +82 -87
- package/src/utils/compose.ts +19 -0
- package/src/utils/form-bubble.tsx +147 -0
- package/src/utils/index.ts +9 -1
- package/src/utils/roving-focus.ts +116 -0
- package/src/utils/slot.tsx +91 -0
- package/src/utils/use-controllable-state.ts +47 -0
- package/styles/Theme.kt +1 -1
- package/styles/theme.css +15 -0
- package/styles/tokens.css +1 -1
- package/tokens/default.json +18 -2
|
@@ -4,22 +4,6 @@
|
|
|
4
4
|
// biome-ignore-all lint/a11y/useFocusableInteractive: footer and empty-state cells are read, not navigated.
|
|
5
5
|
"use client";
|
|
6
6
|
|
|
7
|
-
import {
|
|
8
|
-
ArrowDown,
|
|
9
|
-
ArrowDownToLine,
|
|
10
|
-
ArrowUp,
|
|
11
|
-
ArrowUpToLine,
|
|
12
|
-
BarChart3,
|
|
13
|
-
ChevronDown,
|
|
14
|
-
ChevronLeft,
|
|
15
|
-
ChevronRight,
|
|
16
|
-
ChevronsLeft,
|
|
17
|
-
ChevronsRight,
|
|
18
|
-
CircleAlert,
|
|
19
|
-
Copy,
|
|
20
|
-
GripVertical,
|
|
21
|
-
PinOff,
|
|
22
|
-
} from "lucide-react";
|
|
23
7
|
import {
|
|
24
8
|
type ClipboardEvent,
|
|
25
9
|
type CSSProperties,
|
|
@@ -41,6 +25,22 @@ import {
|
|
|
41
25
|
import { Chip } from "../../atoms/chip/chip.js";
|
|
42
26
|
import { formatCurrency, formatNumber } from "../../charts/core/format.js";
|
|
43
27
|
import { Sparkline } from "../../charts/sparkline/sparkline.js";
|
|
28
|
+
import {
|
|
29
|
+
ArrowDown,
|
|
30
|
+
ArrowDownToLine,
|
|
31
|
+
ArrowUp,
|
|
32
|
+
ArrowUpToLine,
|
|
33
|
+
BarChart3,
|
|
34
|
+
ChevronDown,
|
|
35
|
+
ChevronLeft,
|
|
36
|
+
ChevronRight,
|
|
37
|
+
ChevronsLeft,
|
|
38
|
+
ChevronsRight,
|
|
39
|
+
CircleAlert,
|
|
40
|
+
Copy,
|
|
41
|
+
GripVertical,
|
|
42
|
+
PinOff,
|
|
43
|
+
} from "../../icons/index.js";
|
|
44
44
|
import { cn } from "../../utils/cn.js";
|
|
45
45
|
import { computePinOffsets, type PinPosition, sanitizePinned } from "../table/pin.js";
|
|
46
46
|
import { type GridChartKind, type RangeChartData, rangeToChart } from "./chart-range.js";
|
|
@@ -2110,7 +2110,7 @@ export function DataGrid<T>({
|
|
|
2110
2110
|
className={cn(
|
|
2111
2111
|
cellBase,
|
|
2112
2112
|
sticky,
|
|
2113
|
-
"select-none whitespace-nowrap font-[650] text-
|
|
2113
|
+
"select-none whitespace-nowrap font-[650] text-fs-110 text-ink-3 uppercase tracking-[.07em]",
|
|
2114
2114
|
sortable && "cursor-pointer hover:text-ink",
|
|
2115
2115
|
drop === "before" && "shadow-[inset_2px_0_0_var(--accent)]",
|
|
2116
2116
|
drop === "after" && "shadow-[inset_-2px_0_0_var(--accent)]",
|
|
@@ -2125,7 +2125,7 @@ export function DataGrid<T>({
|
|
|
2125
2125
|
{formulasOn ? (
|
|
2126
2126
|
<span
|
|
2127
2127
|
aria-hidden="true"
|
|
2128
|
-
className="shrink-0 rounded-xs bg-surface-2 px-1 font-[650] text-
|
|
2128
|
+
className="shrink-0 rounded-xs bg-surface-2 px-1 font-[650] text-fs-100 text-ink-3 normal-case tracking-normal"
|
|
2129
2129
|
>
|
|
2130
2130
|
{cellLetter(column.id)}
|
|
2131
2131
|
</span>
|
|
@@ -2141,7 +2141,7 @@ export function DataGrid<T>({
|
|
|
2141
2141
|
<ArrowDown aria-hidden="true" className="size-3" />
|
|
2142
2142
|
)}
|
|
2143
2143
|
{sort.length > 1 ? (
|
|
2144
|
-
<span className="text-
|
|
2144
|
+
<span className="text-fs-100 tabular-nums">{state.index + 1}</span>
|
|
2145
2145
|
) : null}
|
|
2146
2146
|
{state.index > 0 ? (
|
|
2147
2147
|
<span className="sr-only">
|
|
@@ -2252,7 +2252,7 @@ export function DataGrid<T>({
|
|
|
2252
2252
|
if (!editing) return null;
|
|
2253
2253
|
const errorId = `${helpId}-error`;
|
|
2254
2254
|
const editorClass = cn(
|
|
2255
|
-
"h-[calc(100%-6px)] w-full min-w-0 rounded-xs border bg-surface px-1.5 text-
|
|
2255
|
+
"h-[calc(100%-6px)] w-full min-w-0 rounded-xs border bg-surface px-1.5 text-fs-130 text-ink outline-none",
|
|
2256
2256
|
editing.error ? "border-danger" : "border-accent",
|
|
2257
2257
|
);
|
|
2258
2258
|
const common = {
|
|
@@ -2299,7 +2299,7 @@ export function DataGrid<T>({
|
|
|
2299
2299
|
<span
|
|
2300
2300
|
id={errorId}
|
|
2301
2301
|
role="alert"
|
|
2302
|
-
className="absolute top-full left-1 z-5 mt-0.5 flex max-w-64 items-center gap-1.5 rounded-xs border border-danger bg-surface px-2 py-1 text-
|
|
2302
|
+
className="absolute top-full left-1 z-5 mt-0.5 flex max-w-64 items-center gap-1.5 rounded-xs border border-danger bg-surface px-2 py-1 text-fs-120 text-danger shadow-overlay"
|
|
2303
2303
|
>
|
|
2304
2304
|
<CircleAlert aria-hidden="true" className="size-3.5 shrink-0" />
|
|
2305
2305
|
{editing.error}
|
|
@@ -2335,7 +2335,7 @@ export function DataGrid<T>({
|
|
|
2335
2335
|
tabIndex={labelActive ? 0 : -1}
|
|
2336
2336
|
role="gridcell"
|
|
2337
2337
|
aria-expanded={!row.collapsed}
|
|
2338
|
-
className={cn(cellBase, "cursor-pointer overflow-visible text-
|
|
2338
|
+
className={cn(cellBase, "cursor-pointer overflow-visible text-fs-130")}
|
|
2339
2339
|
>
|
|
2340
2340
|
<span
|
|
2341
2341
|
className="sticky left-3 flex w-fit max-w-full min-w-0 items-center gap-1.5 whitespace-nowrap font-[650] text-ink"
|
|
@@ -2354,7 +2354,7 @@ export function DataGrid<T>({
|
|
|
2354
2354
|
</span>
|
|
2355
2355
|
<span className="shrink-0 font-normal text-ink-3">{header}:</span>
|
|
2356
2356
|
<span className="min-w-0 truncate">{row.label}</span>
|
|
2357
|
-
<Chip className="h-5 shrink-0 px-2 text-
|
|
2357
|
+
<Chip className="h-5 shrink-0 px-2 text-fs-110">{row.count}</Chip>
|
|
2358
2358
|
</span>
|
|
2359
2359
|
</td>
|
|
2360
2360
|
);
|
|
@@ -2372,7 +2372,7 @@ export function DataGrid<T>({
|
|
|
2372
2372
|
style={pinStyle(position)}
|
|
2373
2373
|
className={cn(
|
|
2374
2374
|
cellBase,
|
|
2375
|
-
"cursor-pointer text-
|
|
2375
|
+
"cursor-pointer text-fs-130",
|
|
2376
2376
|
position && "sticky z-1 bg-surface-2",
|
|
2377
2377
|
pinShadow(position),
|
|
2378
2378
|
column && alignClass[columnAlign(column)],
|
|
@@ -2702,7 +2702,7 @@ export function DataGrid<T>({
|
|
|
2702
2702
|
onDragOver={reorderAllowed ? (event) => onRowDragOver(event, row.key) : undefined}
|
|
2703
2703
|
onDrop={reorderAllowed ? (event) => onRowDrop(event, row.key) : undefined}
|
|
2704
2704
|
className={cn(
|
|
2705
|
-
"group/row text-
|
|
2705
|
+
"group/row text-fs-130 text-ink hover:bg-surface-2 aria-selected:bg-accent-soft",
|
|
2706
2706
|
"data-[drop=before]:[&>td]:shadow-[inset_0_2px_0_var(--accent)] data-[drop=after]:[&>td]:shadow-[inset_0_-2px_0_var(--accent)]",
|
|
2707
2707
|
"data-[divider=top]:[&>td]:border-b-line-strong",
|
|
2708
2708
|
)}
|
|
@@ -2781,7 +2781,7 @@ export function DataGrid<T>({
|
|
|
2781
2781
|
key={idOfColumn(entry)}
|
|
2782
2782
|
style={pinStyle(position)}
|
|
2783
2783
|
className={cn(
|
|
2784
|
-
"sticky bottom-0 overflow-hidden border-t-divider bg-surface px-3 font-[650] text-
|
|
2784
|
+
"sticky bottom-0 overflow-hidden border-t-divider bg-surface px-3 font-[650] text-fs-130 text-ink @max-sm/grid:px-2",
|
|
2785
2785
|
position ? "z-3" : "z-2",
|
|
2786
2786
|
pinShadow(position),
|
|
2787
2787
|
column && alignClass[columnAlign(column)],
|
|
@@ -2794,7 +2794,7 @@ export function DataGrid<T>({
|
|
|
2794
2794
|
{formatAggregate(value, column.aggregate, column)}
|
|
2795
2795
|
</span>
|
|
2796
2796
|
) : c === firstDataIndex ? (
|
|
2797
|
-
<span className="text-
|
|
2797
|
+
<span className="text-fs-110 text-ink-3 uppercase tracking-[.07em]">{labels.total}</span>
|
|
2798
2798
|
) : null}
|
|
2799
2799
|
</td>
|
|
2800
2800
|
);
|
|
@@ -2858,7 +2858,7 @@ export function DataGrid<T>({
|
|
|
2858
2858
|
role={cell.label ? "columnheader" : "presentation"}
|
|
2859
2859
|
colSpan={cell.span}
|
|
2860
2860
|
className={cn(
|
|
2861
|
-
"sticky overflow-clip border-b-divider bg-surface px-3 text-center font-[650] text-
|
|
2861
|
+
"sticky overflow-clip border-b-divider bg-surface px-3 text-center font-[650] text-fs-110 text-ink-3 uppercase tracking-[.07em] @max-sm/grid:px-2",
|
|
2862
2862
|
zone === "center" ? "z-2" : "z-3",
|
|
2863
2863
|
cell.label && "border-x",
|
|
2864
2864
|
)}
|
|
@@ -3074,13 +3074,13 @@ export function DataGrid<T>({
|
|
|
3074
3074
|
{sourceActive && remote.failed && remote.total !== null ? (
|
|
3075
3075
|
<div
|
|
3076
3076
|
role="alert"
|
|
3077
|
-
className="flex flex-wrap items-center gap-2 border-b-divider bg-danger-soft px-3 py-2 text-
|
|
3077
|
+
className="flex flex-wrap items-center gap-2 border-b-divider bg-danger-soft px-3 py-2 text-fs-130 text-danger"
|
|
3078
3078
|
>
|
|
3079
3079
|
<CircleAlert aria-hidden="true" className="size-4 shrink-0" />
|
|
3080
3080
|
<span className="min-w-0 flex-1">{labels.loadError}</span>
|
|
3081
3081
|
<button
|
|
3082
3082
|
type="button"
|
|
3083
|
-
className="rounded-control border border-danger px-2.5 py-1 font-[600] text-
|
|
3083
|
+
className="rounded-control border border-danger px-2.5 py-1 font-[600] text-fs-125 hover:bg-surface"
|
|
3084
3084
|
onClick={remote.retry}
|
|
3085
3085
|
>
|
|
3086
3086
|
{labels.retry}
|
|
@@ -3171,7 +3171,7 @@ export function DataGrid<T>({
|
|
|
3171
3171
|
))
|
|
3172
3172
|
) : bodyLength === 0 ? (
|
|
3173
3173
|
<tr aria-rowindex={groupLevels + 2}>
|
|
3174
|
-
<td colSpan={colSpan} className="px-4 py-10 text-center text-
|
|
3174
|
+
<td colSpan={colSpan} className="px-4 py-10 text-center text-fs-130 text-ink-3">
|
|
3175
3175
|
<div className="sticky left-0 inline-flex max-w-[calc(100cqw-2rem)] flex-col items-center gap-2">
|
|
3176
3176
|
<span>
|
|
3177
3177
|
{sourceActive && remote.failed
|
|
@@ -3183,7 +3183,7 @@ export function DataGrid<T>({
|
|
|
3183
3183
|
{sourceActive && remote.failed ? (
|
|
3184
3184
|
<button
|
|
3185
3185
|
type="button"
|
|
3186
|
-
className="rounded-control border-divider px-2.5 py-1 font-[600] text-
|
|
3186
|
+
className="rounded-control border-divider px-2.5 py-1 font-[600] text-fs-125 text-ink-2 hover:text-ink"
|
|
3187
3187
|
onClick={remote.retry}
|
|
3188
3188
|
>
|
|
3189
3189
|
{labels.retry}
|
|
@@ -3191,7 +3191,7 @@ export function DataGrid<T>({
|
|
|
3191
3191
|
) : emptyFiltered ? (
|
|
3192
3192
|
<button
|
|
3193
3193
|
type="button"
|
|
3194
|
-
className="rounded-control border-divider px-2.5 py-1 font-[600] text-
|
|
3194
|
+
className="rounded-control border-divider px-2.5 py-1 font-[600] text-fs-125 text-ink-2 hover:text-ink"
|
|
3195
3195
|
onClick={() => {
|
|
3196
3196
|
setFiltersState({});
|
|
3197
3197
|
setSearch("");
|
|
@@ -3230,7 +3230,7 @@ export function DataGrid<T>({
|
|
|
3230
3230
|
</div>
|
|
3231
3231
|
</div>
|
|
3232
3232
|
{rangeSelection ? (
|
|
3233
|
-
<div className="flex flex-wrap items-center gap-x-4 gap-y-1 border-t-divider px-3 py-1.5 text-
|
|
3233
|
+
<div className="flex flex-wrap items-center gap-x-4 gap-y-1 border-t-divider px-3 py-1.5 text-fs-125 text-ink-2">
|
|
3234
3234
|
{stats && cellRange ? (
|
|
3235
3235
|
<>
|
|
3236
3236
|
<span className="font-[650] text-ink">{labels.rangeCells(rangeCellCount)}</span>
|
|
@@ -3262,7 +3262,7 @@ export function DataGrid<T>({
|
|
|
3262
3262
|
<button
|
|
3263
3263
|
type="button"
|
|
3264
3264
|
onClick={openChart}
|
|
3265
|
-
className="ml-auto inline-flex h-7 items-center gap-1.5 rounded-control border-divider bg-surface-control px-2 font-[600] text-
|
|
3265
|
+
className="ml-auto inline-flex h-7 items-center gap-1.5 rounded-control border-divider bg-surface-control px-2 font-[600] text-fs-120 text-ink-2 hover:border-line-strong hover:text-ink [&_svg]:size-3.5"
|
|
3266
3266
|
>
|
|
3267
3267
|
<BarChart3 aria-hidden="true" />
|
|
3268
3268
|
{labels.chart}
|
|
@@ -3272,7 +3272,7 @@ export function DataGrid<T>({
|
|
|
3272
3272
|
type="button"
|
|
3273
3273
|
onClick={copyRange}
|
|
3274
3274
|
className={cn(
|
|
3275
|
-
"inline-flex h-7 items-center gap-1.5 rounded-control border-divider bg-surface-control px-2 font-[600] text-
|
|
3275
|
+
"inline-flex h-7 items-center gap-1.5 rounded-control border-divider bg-surface-control px-2 font-[600] text-fs-120 text-ink-2 hover:border-line-strong hover:text-ink [&_svg]:size-3.5",
|
|
3276
3276
|
!charts && "ml-auto",
|
|
3277
3277
|
)}
|
|
3278
3278
|
>
|
|
@@ -3355,14 +3355,14 @@ function Pagination({
|
|
|
3355
3355
|
return (
|
|
3356
3356
|
<nav
|
|
3357
3357
|
aria-label={labels.rowsPerPage}
|
|
3358
|
-
className="flex flex-wrap items-center justify-end gap-x-3 gap-y-1 border-t-divider px-2 py-1.5 text-
|
|
3358
|
+
className="flex flex-wrap items-center justify-end gap-x-3 gap-y-1 border-t-divider px-2 py-1.5 text-fs-125 text-ink-2"
|
|
3359
3359
|
>
|
|
3360
3360
|
<label className="flex items-center gap-2">
|
|
3361
3361
|
<span>{labels.rowsPerPage}</span>
|
|
3362
3362
|
<select
|
|
3363
3363
|
value={pageSize}
|
|
3364
3364
|
onChange={(event) => onPageSize(Number(event.target.value))}
|
|
3365
|
-
className="h-control-sm rounded-input border-control bg-surface-control px-1.5 text-
|
|
3365
|
+
className="h-control-sm rounded-input border-control bg-surface-control px-1.5 text-fs-125 text-ink"
|
|
3366
3366
|
>
|
|
3367
3367
|
{[...new Set([...options, pageSize])]
|
|
3368
3368
|
.sort((a, b) => a - b)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { Plus, Trash2 } from "
|
|
3
|
+
import { Plus, Trash2 } from "../../icons/index.js";
|
|
4
4
|
import { cn } from "../../utils/cn.js";
|
|
5
5
|
import {
|
|
6
6
|
addChild,
|
|
@@ -30,9 +30,9 @@ export interface FilterBuilderProps<T> {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
const fieldClass =
|
|
33
|
-
"h-control-sm w-full min-w-0 rounded-input border-control bg-surface-control px-2 text-
|
|
33
|
+
"h-control-sm w-full min-w-0 rounded-input border-control bg-surface-control px-2 text-fs-130 text-ink placeholder:text-ink-3 focus-visible:border-accent focus-visible:outline-none";
|
|
34
34
|
const buttonClass =
|
|
35
|
-
"inline-flex h-control-sm shrink-0 items-center gap-1.5 whitespace-nowrap rounded-control border-divider bg-surface-control px-2.5 font-[600] text-
|
|
35
|
+
"inline-flex h-control-sm shrink-0 items-center gap-1.5 whitespace-nowrap rounded-control border-divider bg-surface-control px-2.5 font-[600] text-fs-125 text-ink-2 hover:border-line-strong hover:text-ink [&_svg]:size-3.5";
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* Builds a filter of nested AND / OR groups of conditions (column, operator, value). It is a
|
|
@@ -98,7 +98,7 @@ function GroupEditor<T>({
|
|
|
98
98
|
onClick={() =>
|
|
99
99
|
onChange(updateNode(root, group.id, (n) => ({ ...n, logic }) as FilterNode))
|
|
100
100
|
}
|
|
101
|
-
className="h-full rounded-xs px-2 font-[600] text-
|
|
101
|
+
className="h-full rounded-xs px-2 font-[600] text-fs-120 text-ink-3 hover:text-ink aria-pressed:bg-accent-soft aria-pressed:text-accent-ink"
|
|
102
102
|
>
|
|
103
103
|
{logic === "and" ? labels.matchAll : labels.matchAny}
|
|
104
104
|
</button>
|
|
@@ -136,13 +136,13 @@ function GroupEditor<T>({
|
|
|
136
136
|
)}
|
|
137
137
|
</div>
|
|
138
138
|
{group.children.length === 0 ? (
|
|
139
|
-
<p className="px-1 text-
|
|
139
|
+
<p className="px-1 text-fs-125 text-ink-3">{labels.noConditions}</p>
|
|
140
140
|
) : (
|
|
141
141
|
<ul className="grid gap-2">
|
|
142
142
|
{group.children.map((child, index) => (
|
|
143
143
|
<li key={child.id} className="grid gap-1">
|
|
144
144
|
{index > 0 ? (
|
|
145
|
-
<span className="font-[650] text-
|
|
145
|
+
<span className="font-[650] text-fs-110 text-ink-3 uppercase tracking-[.07em]">
|
|
146
146
|
{group.logic === "and" ? labels.filterAnd : labels.filterOr}
|
|
147
147
|
</span>
|
|
148
148
|
) : null}
|
|
@@ -36,12 +36,12 @@ export function FormulaBar({
|
|
|
36
36
|
<div className="flex min-w-0 items-center gap-2 border-b-divider px-2 py-1.5">
|
|
37
37
|
<span
|
|
38
38
|
title={labels.cell}
|
|
39
|
-
className="grid h-control-sm min-w-12 shrink-0 place-items-center rounded-xs bg-surface-2 px-2 font-[650] text-
|
|
39
|
+
className="grid h-control-sm min-w-12 shrink-0 place-items-center rounded-xs bg-surface-2 px-2 font-[650] text-fs-120 text-ink-2 tabular-nums"
|
|
40
40
|
>
|
|
41
41
|
<span className="sr-only">{labels.cell}: </span>
|
|
42
42
|
{address || "—"}
|
|
43
43
|
</span>
|
|
44
|
-
<span aria-hidden="true" className="shrink-0 font-[650] text-
|
|
44
|
+
<span aria-hidden="true" className="shrink-0 font-[650] text-fs-130 text-accent-ink italic">
|
|
45
45
|
fx
|
|
46
46
|
</span>
|
|
47
47
|
<input
|
|
@@ -66,12 +66,12 @@ export function FormulaBar({
|
|
|
66
66
|
}
|
|
67
67
|
}}
|
|
68
68
|
className={cn(
|
|
69
|
-
"h-control-sm min-w-0 flex-1 rounded-input border-control bg-surface-control px-2 font-mono text-
|
|
69
|
+
"h-control-sm min-w-0 flex-1 rounded-input border-control bg-surface-control px-2 font-mono text-fs-130 text-ink placeholder:text-ink-3 focus-visible:border-accent focus-visible:outline-none disabled:opacity-60",
|
|
70
70
|
error && "border-danger",
|
|
71
71
|
)}
|
|
72
72
|
/>
|
|
73
73
|
{error ? (
|
|
74
|
-
<span role="alert" className="shrink-0 text-
|
|
74
|
+
<span role="alert" className="shrink-0 text-fs-120 text-danger">
|
|
75
75
|
{error}
|
|
76
76
|
</span>
|
|
77
77
|
) : null}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
+
import type { ReactNode } from "react";
|
|
3
4
|
import {
|
|
4
5
|
Columns3,
|
|
5
6
|
Download,
|
|
@@ -12,8 +13,7 @@ import {
|
|
|
12
13
|
Trash2,
|
|
13
14
|
Undo2,
|
|
14
15
|
X,
|
|
15
|
-
} from "
|
|
16
|
-
import type { ReactNode } from "react";
|
|
16
|
+
} from "../../icons/index.js";
|
|
17
17
|
import { Popover, PopoverContent, PopoverTrigger } from "../../overlays/popover/popover.js";
|
|
18
18
|
import { cn } from "../../utils/cn.js";
|
|
19
19
|
import type { DataGridLabels } from "./labels.js";
|
|
@@ -22,7 +22,7 @@ import type { DataGridColumn, Density } from "./types.js";
|
|
|
22
22
|
const DENSITIES: Density[] = ["compact", "normal", "comfortable"];
|
|
23
23
|
|
|
24
24
|
const buttonClass =
|
|
25
|
-
"inline-flex h-control-sm shrink-0 items-center gap-1.5 whitespace-nowrap rounded-control border-divider bg-surface-control px-2.5 font-[600] text-
|
|
25
|
+
"inline-flex h-control-sm shrink-0 items-center gap-1.5 whitespace-nowrap rounded-control border-divider bg-surface-control px-2.5 font-[600] text-fs-125 text-ink-2 hover:border-line-strong hover:text-ink [&_svg]:size-3.5";
|
|
26
26
|
|
|
27
27
|
export interface GridToolbarProps<T> {
|
|
28
28
|
labels: DataGridLabels;
|
|
@@ -106,7 +106,7 @@ export function GridToolbar<T>({
|
|
|
106
106
|
value={search}
|
|
107
107
|
placeholder={labels.searchPlaceholder}
|
|
108
108
|
onChange={(event) => onSearch(event.target.value)}
|
|
109
|
-
className="h-control-sm w-full min-w-0 rounded-input border-control bg-surface-control pr-2 pl-8 text-
|
|
109
|
+
className="h-control-sm w-full min-w-0 rounded-input border-control bg-surface-control pr-2 pl-8 text-fs-130 text-ink placeholder:text-ink-3 focus-visible:border-accent focus-visible:outline-none"
|
|
110
110
|
/>
|
|
111
111
|
</label>
|
|
112
112
|
|
|
@@ -167,7 +167,7 @@ export function GridToolbar<T>({
|
|
|
167
167
|
);
|
|
168
168
|
})}
|
|
169
169
|
|
|
170
|
-
<p className="mr-auto text-
|
|
170
|
+
<p className="mr-auto text-fs-120 text-ink-3" aria-live="polite">
|
|
171
171
|
{labels.rowsCount(rowCount)}
|
|
172
172
|
{selectedCount ? ` · ${labels.selectedCount(selectedCount)}` : ""}
|
|
173
173
|
</p>
|
|
@@ -226,7 +226,7 @@ export function GridToolbar<T>({
|
|
|
226
226
|
type="button"
|
|
227
227
|
aria-pressed={density === option}
|
|
228
228
|
onClick={() => onDensity(option)}
|
|
229
|
-
className="h-full rounded-xs px-2 font-[600] text-
|
|
229
|
+
className="h-full rounded-xs px-2 font-[600] text-fs-120 text-ink-3 hover:text-ink aria-pressed:bg-accent-soft aria-pressed:text-accent-ink"
|
|
230
230
|
>
|
|
231
231
|
{labels.densities[option]}
|
|
232
232
|
</button>
|
|
@@ -247,7 +247,7 @@ export function GridToolbar<T>({
|
|
|
247
247
|
return (
|
|
248
248
|
<label
|
|
249
249
|
key={column.id}
|
|
250
|
-
className="flex min-h-8 items-center gap-2 rounded-xs px-1.5 text-
|
|
250
|
+
className="flex min-h-8 items-center gap-2 rounded-xs px-1.5 text-fs-130 text-ink hover:bg-surface-2"
|
|
251
251
|
>
|
|
252
252
|
<input
|
|
253
253
|
type="checkbox"
|
|
@@ -13,7 +13,7 @@ import type { CellValue, DataGridColumn } from "./types.js";
|
|
|
13
13
|
|
|
14
14
|
export type SheetControls = Pick<DataGridProps<Venta>, "density" | "height">;
|
|
15
15
|
|
|
16
|
-
export const note = "text-
|
|
16
|
+
export const note = "text-fs-125 text-ink-3";
|
|
17
17
|
|
|
18
18
|
export function Stack({ children }: { children: ReactNode }) {
|
|
19
19
|
return <div className="grid gap-2">{children}</div>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { ArrowDown, ArrowUp } from "lucide-react";
|
|
4
3
|
import { type ReactNode, useId } from "react";
|
|
4
|
+
import { ArrowDown, ArrowUp } from "../../icons/index.js";
|
|
5
5
|
import { cn } from "../../utils/cn.js";
|
|
6
6
|
import type { DataGridLabels } from "./labels.js";
|
|
7
7
|
import type { PivotConfig } from "./pivot.js";
|
|
@@ -41,14 +41,14 @@ export interface GridToolPanelProps<T> {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
const selectClass =
|
|
44
|
-
"h-control-sm w-full min-w-0 rounded-input border-control bg-surface-control px-2 text-
|
|
44
|
+
"h-control-sm w-full min-w-0 rounded-input border-control bg-surface-control px-2 text-fs-130 text-ink focus-visible:border-accent focus-visible:outline-none";
|
|
45
45
|
const iconButton =
|
|
46
46
|
"grid size-6 shrink-0 place-items-center rounded-xs text-ink-3 hover:bg-surface hover:text-ink disabled:pointer-events-none disabled:opacity-30 [&_svg]:size-3.5";
|
|
47
47
|
|
|
48
48
|
function Section({ title, children }: { title: string; children: ReactNode }) {
|
|
49
49
|
return (
|
|
50
50
|
<section className="grid gap-1 border-b-divider p-2 last:border-b-0">
|
|
51
|
-
<h3 className="px-1 pb-0.5 font-[650] text-
|
|
51
|
+
<h3 className="px-1 pb-0.5 font-[650] text-fs-110 text-ink-3 uppercase tracking-[.07em]">
|
|
52
52
|
{title}
|
|
53
53
|
</h3>
|
|
54
54
|
{children}
|
|
@@ -68,7 +68,7 @@ function Check({
|
|
|
68
68
|
children: ReactNode;
|
|
69
69
|
}) {
|
|
70
70
|
return (
|
|
71
|
-
<label className="flex min-h-7 min-w-0 flex-1 items-center gap-2 text-
|
|
71
|
+
<label className="flex min-h-7 min-w-0 flex-1 items-center gap-2 text-fs-130 text-ink">
|
|
72
72
|
<input
|
|
73
73
|
type="checkbox"
|
|
74
74
|
className="size-4 shrink-0 accent-accent"
|
|
@@ -122,7 +122,7 @@ export function GridToolPanel<T>({
|
|
|
122
122
|
aria-label={labels.toolPanel}
|
|
123
123
|
style={maxHeight ? { maxHeight } : undefined}
|
|
124
124
|
className={cn(
|
|
125
|
-
"min-h-0 min-w-0 overflow-y-auto bg-surface-2/40 text-
|
|
125
|
+
"min-h-0 min-w-0 overflow-y-auto bg-surface-2/40 text-fs-130 @max-2xl/grid:max-h-72 @max-2xl/grid:border-b-divider @2xl/grid:w-64 @2xl/grid:shrink-0 @2xl/grid:border-l-divider",
|
|
126
126
|
className,
|
|
127
127
|
)}
|
|
128
128
|
>
|
|
@@ -181,7 +181,7 @@ export function GridToolPanel<T>({
|
|
|
181
181
|
{column.header}
|
|
182
182
|
</Check>
|
|
183
183
|
{groupBy.includes(column.id) ? (
|
|
184
|
-
<span className="text-
|
|
184
|
+
<span className="text-fs-110 text-ink-3 tabular-nums">
|
|
185
185
|
{groupBy.indexOf(column.id) + 1}
|
|
186
186
|
</span>
|
|
187
187
|
) : null}
|
|
@@ -203,7 +203,7 @@ export function GridToolPanel<T>({
|
|
|
203
203
|
{pivotOn ? (
|
|
204
204
|
<div className="grid gap-2 pt-1">
|
|
205
205
|
<fieldset className="grid gap-0.5 border-0 p-0">
|
|
206
|
-
<legend className="px-1 pb-0.5 text-
|
|
206
|
+
<legend className="px-1 pb-0.5 text-fs-120 text-ink-3">{labels.pivotRows}</legend>
|
|
207
207
|
{dimensions
|
|
208
208
|
.filter((column) => column.id !== pivot.column)
|
|
209
209
|
.map((column) => (
|
|
@@ -224,7 +224,7 @@ export function GridToolPanel<T>({
|
|
|
224
224
|
))}
|
|
225
225
|
</fieldset>
|
|
226
226
|
<label className="grid gap-1" htmlFor={`${id}-column`}>
|
|
227
|
-
<span className="px-1 text-
|
|
227
|
+
<span className="px-1 text-fs-120 text-ink-3">{labels.pivotColumn}</span>
|
|
228
228
|
<select
|
|
229
229
|
id={`${id}-column`}
|
|
230
230
|
className={selectClass}
|
|
@@ -245,7 +245,7 @@ export function GridToolPanel<T>({
|
|
|
245
245
|
</select>
|
|
246
246
|
</label>
|
|
247
247
|
<label className="grid gap-1" htmlFor={`${id}-value`}>
|
|
248
|
-
<span className="px-1 text-
|
|
248
|
+
<span className="px-1 text-fs-120 text-ink-3">{labels.pivotValue}</span>
|
|
249
249
|
<select
|
|
250
250
|
id={`${id}-value`}
|
|
251
251
|
className={selectClass}
|
|
@@ -261,7 +261,7 @@ export function GridToolPanel<T>({
|
|
|
261
261
|
</select>
|
|
262
262
|
</label>
|
|
263
263
|
<label className="grid gap-1" htmlFor={`${id}-aggregate`}>
|
|
264
|
-
<span className="px-1 text-
|
|
264
|
+
<span className="px-1 text-fs-120 text-ink-3">{labels.pivotAggregate}</span>
|
|
265
265
|
<select
|
|
266
266
|
id={`${id}-aggregate`}
|
|
267
267
|
className={selectClass}
|
|
@@ -276,7 +276,7 @@ export function GridToolPanel<T>({
|
|
|
276
276
|
</select>
|
|
277
277
|
</label>
|
|
278
278
|
{pivotValid ? null : (
|
|
279
|
-
<p role="status" className="px-1 text-
|
|
279
|
+
<p role="status" className="px-1 text-fs-120 text-ink-3">
|
|
280
280
|
{labels.pivotIncomplete}
|
|
281
281
|
</p>
|
|
282
282
|
)}
|
|
@@ -13,7 +13,7 @@ export function DescriptionList({ className, ...props }: DescriptionListProps) {
|
|
|
13
13
|
<div className="@container/dl min-w-0">
|
|
14
14
|
<dl
|
|
15
15
|
className={cn(
|
|
16
|
-
"grid grid-cols-[auto_minmax(0,1fr)] gap-x-4 gap-y-
|
|
16
|
+
"grid grid-cols-[auto_minmax(0,1fr)] gap-x-4 gap-y-2.25 text-fs-130",
|
|
17
17
|
"[&_dt]:text-ink-3 [&_dd]:m-0 [&_dd]:min-w-0 [&_dd]:break-words [&_dd]:text-right [&_dd]:font-semibold",
|
|
18
18
|
"@max-sm/dl:grid-cols-1 @max-sm/dl:gap-y-0.5 @max-sm/dl:[&_dd]:mb-2 @max-sm/dl:[&_dd]:text-left",
|
|
19
19
|
className,
|
|
@@ -14,8 +14,8 @@ export function Facts({ className, ...props }: FactsProps) {
|
|
|
14
14
|
<dl
|
|
15
15
|
className={cn(
|
|
16
16
|
"mt-3.5 grid grid-cols-3 gap-3.5 border-t-divider border-dashed pt-3.5",
|
|
17
|
-
"[&_dt]:font-semibold [&_dt]:text-
|
|
18
|
-
"[&_dd]:mt-0.5 [&_dd]:font-[620] [&_dd]:text-
|
|
17
|
+
"[&_dt]:font-semibold [&_dt]:text-fs-115 [&_dt]:text-ink-3",
|
|
18
|
+
"[&_dd]:mt-0.5 [&_dd]:font-[620] [&_dd]:text-fs-130",
|
|
19
19
|
"[&_dt]:break-words [&_dd]:break-words @max-[560px]/facts:grid-cols-1",
|
|
20
20
|
className,
|
|
21
21
|
)}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
+
import { type KeyboardEvent, useMemo, useRef, useState } from "react";
|
|
3
4
|
import {
|
|
4
5
|
ChevronRight,
|
|
5
6
|
File,
|
|
@@ -8,9 +9,9 @@ import {
|
|
|
8
9
|
FileText,
|
|
9
10
|
Folder,
|
|
10
11
|
FolderOpen,
|
|
11
|
-
type
|
|
12
|
-
} from "
|
|
13
|
-
import
|
|
12
|
+
type IconComponent,
|
|
13
|
+
} from "../../icons/index.js";
|
|
14
|
+
import type { ClassNames } from "../../utils/class-names.js";
|
|
14
15
|
import { cn } from "../../utils/cn.js";
|
|
15
16
|
import {
|
|
16
17
|
type FileTreeNode,
|
|
@@ -21,6 +22,8 @@ import {
|
|
|
21
22
|
typeahead,
|
|
22
23
|
} from "./model.js";
|
|
23
24
|
|
|
25
|
+
export type FileTreePart = "root" | "tree" | "item" | "chevron" | "icon" | "name";
|
|
26
|
+
|
|
24
27
|
export interface FileTreeProps {
|
|
25
28
|
nodes: FileTreeNode[];
|
|
26
29
|
/** Accessible name of the tree. */
|
|
@@ -32,6 +35,8 @@ export interface FileTreeProps {
|
|
|
32
35
|
defaultExpandedIds?: string[];
|
|
33
36
|
onExpandedChange?: (ids: string[]) => void;
|
|
34
37
|
className?: string;
|
|
38
|
+
/** Per-part classes merged with `cn`; consumer classes win. `className` still targets the root and is merged last. */
|
|
39
|
+
classNames?: ClassNames<FileTreePart>;
|
|
35
40
|
}
|
|
36
41
|
|
|
37
42
|
const TREE_KEYS: readonly string[] = [
|
|
@@ -43,7 +48,7 @@ const TREE_KEYS: readonly string[] = [
|
|
|
43
48
|
"End",
|
|
44
49
|
];
|
|
45
50
|
|
|
46
|
-
function iconFor(name: string):
|
|
51
|
+
function iconFor(name: string): IconComponent {
|
|
47
52
|
const ext = name.split(".").pop()?.toLowerCase() ?? "";
|
|
48
53
|
if (["png", "jpg", "jpeg", "gif", "svg", "webp"].includes(ext)) return FileImage;
|
|
49
54
|
if (["ts", "tsx", "js", "jsx", "json", "css", "html"].includes(ext)) return FileCode;
|
|
@@ -65,6 +70,7 @@ export function FileTree({
|
|
|
65
70
|
defaultExpandedIds = [],
|
|
66
71
|
onExpandedChange,
|
|
67
72
|
className,
|
|
73
|
+
classNames,
|
|
68
74
|
}: FileTreeProps) {
|
|
69
75
|
const [selectedState, setSelectedState] = useState(defaultSelectedId);
|
|
70
76
|
const [expandedState, setExpandedState] = useState(defaultExpandedIds);
|
|
@@ -127,8 +133,13 @@ export function FileTree({
|
|
|
127
133
|
};
|
|
128
134
|
|
|
129
135
|
return (
|
|
130
|
-
<div className={cn("@container/tree min-w-0", className)}>
|
|
131
|
-
<div
|
|
136
|
+
<div className={cn("@container/tree min-w-0", classNames?.root, className)}>
|
|
137
|
+
<div
|
|
138
|
+
ref={listRef}
|
|
139
|
+
role="tree"
|
|
140
|
+
aria-label={label}
|
|
141
|
+
className={cn("flex flex-col gap-0.5", classNames?.tree)}
|
|
142
|
+
>
|
|
132
143
|
{rows.map((row) => {
|
|
133
144
|
const isSelected = row.node.id === selected;
|
|
134
145
|
const Icon = row.isFolder ? (row.expanded ? FolderOpen : Folder) : iconFor(row.node.name);
|
|
@@ -158,9 +169,15 @@ export function FileTree({
|
|
|
158
169
|
className={cn(
|
|
159
170
|
"pressable flex min-h-control-sm min-w-0 cursor-pointer items-center gap-density-sm rounded-button pe-control-x text-body text-ink outline-none hover:bg-surface-2 focus-visible:focus-ring",
|
|
160
171
|
isSelected && "bg-accent-soft font-semibold text-accent-ink shadow-selected",
|
|
172
|
+
classNames?.item,
|
|
161
173
|
)}
|
|
162
174
|
>
|
|
163
|
-
<span
|
|
175
|
+
<span
|
|
176
|
+
className={cn(
|
|
177
|
+
"flex size-4 shrink-0 items-center justify-center text-ink-3",
|
|
178
|
+
classNames?.chevron,
|
|
179
|
+
)}
|
|
180
|
+
>
|
|
164
181
|
{row.isFolder ? (
|
|
165
182
|
<ChevronRight
|
|
166
183
|
aria-hidden="true"
|
|
@@ -173,9 +190,13 @@ export function FileTree({
|
|
|
173
190
|
</span>
|
|
174
191
|
<Icon
|
|
175
192
|
aria-hidden="true"
|
|
176
|
-
className={cn(
|
|
193
|
+
className={cn(
|
|
194
|
+
"size-4 shrink-0",
|
|
195
|
+
row.isFolder ? "text-accent-ink" : "text-ink-3",
|
|
196
|
+
classNames?.icon,
|
|
197
|
+
)}
|
|
177
198
|
/>
|
|
178
|
-
<span className="min-w-0 truncate">{row.node.name}</span>
|
|
199
|
+
<span className={cn("min-w-0 truncate", classNames?.name)}>{row.node.name}</span>
|
|
179
200
|
</div>
|
|
180
201
|
);
|
|
181
202
|
})}
|
|
@@ -12,7 +12,7 @@ export function GenericRow({ className, ...props }: GenericRowProps) {
|
|
|
12
12
|
return (
|
|
13
13
|
<div
|
|
14
14
|
className={cn(
|
|
15
|
-
"grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 border-t-divider px-4 py-
|
|
15
|
+
"grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 border-t-divider px-4 py-2.75 first:border-t-0",
|
|
16
16
|
className,
|
|
17
17
|
)}
|
|
18
18
|
{...props}
|
|
@@ -30,12 +30,12 @@ export function GenericRowContent({ className, ...props }: GenericRowContentProp
|
|
|
30
30
|
export type GenericRowTitleProps = ComponentPropsWithoutRef<"div">;
|
|
31
31
|
|
|
32
32
|
export function GenericRowTitle({ className, ...props }: GenericRowTitleProps) {
|
|
33
|
-
return <div className={cn("break-words font-[650] text-
|
|
33
|
+
return <div className={cn("break-words font-[650] text-fs-130", className)} {...props} />;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
export type GenericRowMetaProps = ComponentPropsWithoutRef<"div">;
|
|
37
37
|
|
|
38
38
|
/** Secondary metadata under the title. */
|
|
39
39
|
export function GenericRowMeta({ className, ...props }: GenericRowMetaProps) {
|
|
40
|
-
return <div className={cn("break-words text-
|
|
40
|
+
return <div className={cn("break-words text-fs-120 text-ink-3", className)} {...props} />;
|
|
41
41
|
}
|