@health-samurai/react-components 0.0.0-alpha.2 → 0.0.0-alpha.21
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/LICENSE +21 -0
- package/README.md +102 -1
- package/dist/bundle.css +2349 -754
- package/dist/src/components/button-dropdown.d.ts +10 -0
- package/dist/src/components/button-dropdown.d.ts.map +1 -0
- package/dist/src/components/button-dropdown.js +70 -0
- package/dist/src/components/button-dropdown.js.map +1 -0
- package/dist/src/components/button-dropdown.stories.js +48 -0
- package/dist/src/components/button-dropdown.stories.js.map +1 -0
- package/dist/src/components/code-editor/fhir-autocomplete.d.ts +70 -0
- package/dist/src/components/code-editor/fhir-autocomplete.d.ts.map +1 -0
- package/dist/src/components/code-editor/fhir-autocomplete.js +1850 -0
- package/dist/src/components/code-editor/fhir-autocomplete.js.map +1 -0
- package/dist/src/components/code-editor/fhir-autocomplete.test.js +1099 -0
- package/dist/src/components/code-editor/fhir-autocomplete.test.js.map +1 -0
- package/dist/src/components/code-editor/http/grammar/http.d.ts +3 -0
- package/dist/src/components/code-editor/http/grammar/http.d.ts.map +1 -0
- package/dist/src/components/code-editor/http/grammar/http.grammar +74 -0
- package/dist/src/components/code-editor/http/grammar/http.js +38 -0
- package/dist/src/components/code-editor/http/grammar/http.js.map +1 -0
- package/dist/src/components/code-editor/http/grammar/http.terms.d.ts +2 -0
- package/dist/src/components/code-editor/http/grammar/http.terms.d.ts.map +1 -0
- package/dist/src/components/code-editor/http/grammar/http.terms.js +4 -0
- package/dist/src/components/code-editor/http/grammar/http.terms.js.map +1 -0
- package/dist/src/components/code-editor/http/grammar/http.test.js +80 -0
- package/dist/src/components/code-editor/http/grammar/http.test.js.map +1 -0
- package/dist/src/components/code-editor/http/index.d.ts +12 -0
- package/dist/src/components/code-editor/http/index.d.ts.map +1 -0
- package/dist/src/components/code-editor/http/index.js +486 -0
- package/dist/src/components/code-editor/http/index.js.map +1 -0
- package/dist/src/components/code-editor/index.d.ts +39 -1
- package/dist/src/components/code-editor/index.d.ts.map +1 -1
- package/dist/src/components/code-editor/index.js +1792 -45
- package/dist/src/components/code-editor/index.js.map +1 -1
- package/dist/src/components/code-editor/json-ast.d.ts +46 -0
- package/dist/src/components/code-editor/json-ast.d.ts.map +1 -0
- package/dist/src/components/code-editor/json-ast.js +465 -0
- package/dist/src/components/code-editor/json-ast.js.map +1 -0
- package/dist/src/components/code-editor/json-ast.test.js +206 -0
- package/dist/src/components/code-editor/json-ast.test.js.map +1 -0
- package/dist/src/components/code-editor/sql-completion.d.ts +22 -0
- package/dist/src/components/code-editor/sql-completion.d.ts.map +1 -0
- package/dist/src/components/code-editor/sql-completion.js +897 -0
- package/dist/src/components/code-editor/sql-completion.js.map +1 -0
- package/dist/src/components/code-editor.stories.js +280 -3
- package/dist/src/components/code-editor.stories.js.map +1 -1
- package/dist/src/components/copy-icon.d.ts +5 -1
- package/dist/src/components/copy-icon.d.ts.map +1 -1
- package/dist/src/components/copy-icon.js +41 -3
- package/dist/src/components/copy-icon.js.map +1 -1
- package/dist/src/components/data-table.d.ts +9 -0
- package/dist/src/components/data-table.d.ts.map +1 -0
- package/dist/src/components/data-table.js +66 -0
- package/dist/src/components/data-table.js.map +1 -0
- package/dist/src/components/data-table.stories.js +240 -0
- package/dist/src/components/data-table.stories.js.map +1 -0
- package/dist/src/components/date-picker-input.d.ts +10 -0
- package/dist/src/components/date-picker-input.d.ts.map +1 -0
- package/dist/src/components/date-picker-input.js +90 -0
- package/dist/src/components/date-picker-input.js.map +1 -0
- package/dist/src/components/date-picker-input.stories.js +76 -0
- package/dist/src/components/date-picker-input.stories.js.map +1 -0
- package/dist/src/components/fhir-structure-view.d.ts +34 -0
- package/dist/src/components/fhir-structure-view.d.ts.map +1 -0
- package/dist/src/components/fhir-structure-view.js +230 -0
- package/dist/src/components/fhir-structure-view.js.map +1 -0
- package/dist/src/components/fhir-structure-view.stories.js +447 -0
- package/dist/src/components/fhir-structure-view.stories.js.map +1 -0
- package/dist/src/components/icon-button.d.ts +12 -0
- package/dist/src/components/icon-button.d.ts.map +1 -0
- package/dist/src/components/icon-button.js +41 -0
- package/dist/src/components/icon-button.js.map +1 -0
- package/dist/src/components/icon-button.stories.js +157 -0
- package/dist/src/components/icon-button.stories.js.map +1 -0
- package/dist/src/components/operation-outcome-view.d.ts +27 -0
- package/dist/src/components/operation-outcome-view.d.ts.map +1 -0
- package/dist/src/components/operation-outcome-view.js +198 -0
- package/dist/src/components/operation-outcome-view.js.map +1 -0
- package/dist/src/components/operation-outcome-view.stories.js +207 -0
- package/dist/src/components/operation-outcome-view.stories.js.map +1 -0
- package/dist/src/components/request-line-editor.d.ts +13 -35
- package/dist/src/components/request-line-editor.d.ts.map +1 -1
- package/dist/src/components/request-line-editor.js +73 -49
- package/dist/src/components/request-line-editor.js.map +1 -1
- package/dist/src/components/request-line-editor.stories.js +17 -53
- package/dist/src/components/request-line-editor.stories.js.map +1 -1
- package/dist/src/components/sandbox.d.ts +13 -0
- package/dist/src/components/sandbox.d.ts.map +1 -0
- package/dist/src/components/sandbox.js +107 -0
- package/dist/src/components/sandbox.js.map +1 -0
- package/dist/src/components/sandbox.stories.js +126 -0
- package/dist/src/components/sandbox.stories.js.map +1 -0
- package/dist/src/components/segment-control.d.ts +13 -0
- package/dist/src/components/segment-control.d.ts.map +1 -0
- package/dist/src/components/segment-control.js +33 -0
- package/dist/src/components/segment-control.js.map +1 -0
- package/dist/src/components/segment-control.stories.js +68 -0
- package/dist/src/components/segment-control.stories.js.map +1 -0
- package/dist/src/components/split-button.d.ts +12 -0
- package/dist/src/components/split-button.d.ts.map +1 -0
- package/dist/src/components/split-button.js +33 -0
- package/dist/src/components/split-button.js.map +1 -0
- package/dist/src/components/split-button.stories.js +84 -0
- package/dist/src/components/split-button.stories.js.map +1 -0
- package/dist/src/components/tag.d.ts +16 -0
- package/dist/src/components/tag.d.ts.map +1 -0
- package/dist/src/components/tag.js +198 -0
- package/dist/src/components/tag.js.map +1 -0
- package/dist/src/components/tag.stories.js +459 -0
- package/dist/src/components/tag.stories.js.map +1 -0
- package/dist/src/components/tile.d.ts +15 -0
- package/dist/src/components/tile.d.ts.map +1 -0
- package/dist/src/components/tile.js +76 -0
- package/dist/src/components/tile.js.map +1 -0
- package/dist/src/components/tile.stories.js +167 -0
- package/dist/src/components/tile.stories.js.map +1 -0
- package/dist/src/components/toolbar.d.ts +18 -0
- package/dist/src/components/toolbar.d.ts.map +1 -0
- package/dist/src/components/toolbar.js +61 -0
- package/dist/src/components/toolbar.js.map +1 -0
- package/dist/src/components/toolbar.stories.js +69 -0
- package/dist/src/components/toolbar.stories.js.map +1 -0
- package/dist/src/components/tree-view.d.ts +47 -0
- package/dist/src/components/tree-view.d.ts.map +1 -0
- package/dist/src/components/tree-view.js +122 -0
- package/dist/src/components/tree-view.js.map +1 -0
- package/dist/src/components/tree-view.stories.js +283 -0
- package/dist/src/components/tree-view.stories.js.map +1 -0
- package/dist/src/icons.d.ts +11 -0
- package/dist/src/icons.d.ts.map +1 -0
- package/dist/src/icons.js +328 -0
- package/dist/src/icons.js.map +1 -0
- package/dist/src/index.css +358 -74
- package/dist/src/index.d.ts +17 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +17 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/shadcn/components/ui/accordion.d.ts +2 -2
- package/dist/src/shadcn/components/ui/accordion.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/accordion.js +35 -9
- package/dist/src/shadcn/components/ui/accordion.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert-dialog.d.ts +12 -4
- package/dist/src/shadcn/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/alert-dialog.js +128 -18
- package/dist/src/shadcn/components/ui/alert-dialog.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert-dialog.stories.js +269 -19
- package/dist/src/shadcn/components/ui/alert-dialog.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert.d.ts +29 -6
- package/dist/src/shadcn/components/ui/alert.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/alert.js +50 -19
- package/dist/src/shadcn/components/ui/alert.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert.stories.js +140 -36
- package/dist/src/shadcn/components/ui/alert.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/aspect-ratio.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/aspect-ratio.js +1 -0
- package/dist/src/shadcn/components/ui/aspect-ratio.js.map +1 -1
- package/dist/src/shadcn/components/ui/avatar.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/avatar.js +4 -3
- package/dist/src/shadcn/components/ui/avatar.js.map +1 -1
- package/dist/src/shadcn/components/ui/avatar.stories.js +68 -2
- package/dist/src/shadcn/components/ui/avatar.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/badge.d.ts +1 -1
- package/dist/src/shadcn/components/ui/badge.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/badge.js +16 -5
- package/dist/src/shadcn/components/ui/badge.js.map +1 -1
- package/dist/src/shadcn/components/ui/breadcrumb.d.ts +5 -2
- package/dist/src/shadcn/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/breadcrumb.js +98 -13
- package/dist/src/shadcn/components/ui/breadcrumb.js.map +1 -1
- package/dist/src/shadcn/components/ui/breadcrumb.stories.js +205 -45
- package/dist/src/shadcn/components/ui/breadcrumb.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/button.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/button.js +65 -11
- package/dist/src/shadcn/components/ui/button.js.map +1 -1
- package/dist/src/shadcn/components/ui/button.stories.js +99 -17
- package/dist/src/shadcn/components/ui/button.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/calendar.d.ts +1 -1
- package/dist/src/shadcn/components/ui/calendar.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/calendar.js +1 -0
- package/dist/src/shadcn/components/ui/calendar.js.map +1 -1
- package/dist/src/shadcn/components/ui/card.d.ts +5 -1
- package/dist/src/shadcn/components/ui/card.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/card.js +28 -7
- package/dist/src/shadcn/components/ui/card.js.map +1 -1
- package/dist/src/shadcn/components/ui/card.stories.js +23 -2
- package/dist/src/shadcn/components/ui/card.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/carousel.d.ts +1 -1
- package/dist/src/shadcn/components/ui/carousel.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/carousel.js +1 -0
- package/dist/src/shadcn/components/ui/carousel.js.map +1 -1
- package/dist/src/shadcn/components/ui/chart.d.ts +5 -5
- package/dist/src/shadcn/components/ui/chart.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/chart.js +4 -3
- package/dist/src/shadcn/components/ui/chart.js.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.d.ts +5 -1
- package/dist/src/shadcn/components/ui/checkbox.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.js +46 -6
- package/dist/src/shadcn/components/ui/checkbox.js.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.stories.js +156 -46
- package/dist/src/shadcn/components/ui/checkbox.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/combobox.d.ts +29 -0
- package/dist/src/shadcn/components/ui/combobox.d.ts.map +1 -0
- package/dist/src/shadcn/components/ui/combobox.js +226 -0
- package/dist/src/shadcn/components/ui/combobox.js.map +1 -0
- package/dist/src/shadcn/components/ui/combobox.stories.js +167 -0
- package/dist/src/shadcn/components/ui/combobox.stories.js.map +1 -0
- package/dist/src/shadcn/components/ui/command.d.ts +4 -2
- package/dist/src/shadcn/components/ui/command.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/command.js +75 -13
- package/dist/src/shadcn/components/ui/command.js.map +1 -1
- package/dist/src/shadcn/components/ui/command.stories.js +277 -57
- package/dist/src/shadcn/components/ui/command.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/context-menu.d.ts +7 -3
- package/dist/src/shadcn/components/ui/context-menu.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/context-menu.js +120 -13
- package/dist/src/shadcn/components/ui/context-menu.js.map +1 -1
- package/dist/src/shadcn/components/ui/dialog.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/dialog.js +35 -7
- package/dist/src/shadcn/components/ui/dialog.js.map +1 -1
- package/dist/src/shadcn/components/ui/drawer.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/drawer.js +27 -5
- package/dist/src/shadcn/components/ui/drawer.js.map +1 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.d.ts +7 -3
- package/dist/src/shadcn/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.js +122 -14
- package/dist/src/shadcn/components/ui/dropdown-menu.js.map +1 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.stories.js +22 -5
- package/dist/src/shadcn/components/ui/dropdown-menu.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/form.d.ts +2 -2
- package/dist/src/shadcn/components/ui/form.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/form.js +17 -8
- package/dist/src/shadcn/components/ui/form.js.map +1 -1
- package/dist/src/shadcn/components/ui/hover-card.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/hover-card.js +2 -1
- package/dist/src/shadcn/components/ui/hover-card.js.map +1 -1
- package/dist/src/shadcn/components/ui/input-otp.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/input-otp.js +1 -0
- package/dist/src/shadcn/components/ui/input-otp.js.map +1 -1
- package/dist/src/shadcn/components/ui/input.d.ts +3 -1
- package/dist/src/shadcn/components/ui/input.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/input.js +126 -17
- package/dist/src/shadcn/components/ui/input.js.map +1 -1
- package/dist/src/shadcn/components/ui/input.stories.js +218 -29
- package/dist/src/shadcn/components/ui/input.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/label.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/label.js +9 -1
- package/dist/src/shadcn/components/ui/label.js.map +1 -1
- package/dist/src/shadcn/components/ui/menubar.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/menubar.js +35 -13
- package/dist/src/shadcn/components/ui/menubar.js.map +1 -1
- package/dist/src/shadcn/components/ui/pagination.d.ts +9 -2
- package/dist/src/shadcn/components/ui/pagination.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/pagination.js +41 -24
- package/dist/src/shadcn/components/ui/pagination.js.map +1 -1
- package/dist/src/shadcn/components/ui/pagination.stories.js +44 -37
- package/dist/src/shadcn/components/ui/pagination.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/popover.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/popover.js +13 -1
- package/dist/src/shadcn/components/ui/popover.js.map +1 -1
- package/dist/src/shadcn/components/ui/progress.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/progress.js +6 -2
- package/dist/src/shadcn/components/ui/progress.js.map +1 -1
- package/dist/src/shadcn/components/ui/radio-button-group.d.ts +21 -0
- package/dist/src/shadcn/components/ui/radio-button-group.d.ts.map +1 -0
- package/dist/src/shadcn/components/ui/radio-button-group.js +148 -0
- package/dist/src/shadcn/components/ui/radio-button-group.js.map +1 -0
- package/dist/src/shadcn/components/ui/radio-button-group.stories.js +283 -0
- package/dist/src/shadcn/components/ui/radio-button-group.stories.js.map +1 -0
- package/dist/src/shadcn/components/ui/radio-group.d.ts +5 -1
- package/dist/src/shadcn/components/ui/radio-group.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.js +40 -7
- package/dist/src/shadcn/components/ui/radio-group.js.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.stories.js +107 -32
- package/dist/src/shadcn/components/ui/radio-group.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/resizable.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/resizable.js +2 -1
- package/dist/src/shadcn/components/ui/resizable.js.map +1 -1
- package/dist/src/shadcn/components/ui/resizable.stories.js +2 -2
- package/dist/src/shadcn/components/ui/resizable.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/scroll-area.js +10 -3
- package/dist/src/shadcn/components/ui/scroll-area.js.map +1 -1
- package/dist/src/shadcn/components/ui/select.d.ts +1 -2
- package/dist/src/shadcn/components/ui/select.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/select.js +49 -19
- package/dist/src/shadcn/components/ui/select.js.map +1 -1
- package/dist/src/shadcn/components/ui/select.stories.js +193 -70
- package/dist/src/shadcn/components/ui/select.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/separator.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/separator.js +8 -1
- package/dist/src/shadcn/components/ui/separator.js.map +1 -1
- package/dist/src/shadcn/components/ui/sheet.js +1 -1
- package/dist/src/shadcn/components/ui/sheet.js.map +1 -1
- package/dist/src/shadcn/components/ui/sidebar.d.ts +4 -4
- package/dist/src/shadcn/components/ui/sidebar.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/sidebar.js +21 -6
- package/dist/src/shadcn/components/ui/sidebar.js.map +1 -1
- package/dist/src/shadcn/components/ui/skeleton.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/skeleton.js +3 -1
- package/dist/src/shadcn/components/ui/skeleton.js.map +1 -1
- package/dist/src/shadcn/components/ui/slider.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/slider.js +35 -4
- package/dist/src/shadcn/components/ui/slider.js.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.d.ts +24 -2
- package/dist/src/shadcn/components/ui/sonner.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.js +127 -9
- package/dist/src/shadcn/components/ui/sonner.js.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.stories.js +251 -12
- package/dist/src/shadcn/components/ui/sonner.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/switch.d.ts +7 -1
- package/dist/src/shadcn/components/ui/switch.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/switch.js +55 -3
- package/dist/src/shadcn/components/ui/switch.js.map +1 -1
- package/dist/src/shadcn/components/ui/switch.stories.js +84 -9
- package/dist/src/shadcn/components/ui/switch.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/table.d.ts +23 -6
- package/dist/src/shadcn/components/ui/table.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/table.js +65 -20
- package/dist/src/shadcn/components/ui/table.js.map +1 -1
- package/dist/src/shadcn/components/ui/table.stories.js +217 -97
- package/dist/src/shadcn/components/ui/table.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.d.ts +30 -5
- package/dist/src/shadcn/components/ui/tabs.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.js +470 -23
- package/dist/src/shadcn/components/ui/tabs.js.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.stories.js +405 -181
- package/dist/src/shadcn/components/ui/tabs.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/textarea.d.ts +8 -1
- package/dist/src/shadcn/components/ui/textarea.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/textarea.js +30 -2
- package/dist/src/shadcn/components/ui/textarea.js.map +1 -1
- package/dist/src/shadcn/components/ui/textarea.stories.js +85 -4
- package/dist/src/shadcn/components/ui/textarea.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle-group.d.ts +3 -3
- package/dist/src/shadcn/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/toggle-group.js +14 -12
- package/dist/src/shadcn/components/ui/toggle-group.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle.d.ts +3 -4
- package/dist/src/shadcn/components/ui/toggle.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/toggle.js +44 -16
- package/dist/src/shadcn/components/ui/toggle.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle.stories.js +130 -7
- package/dist/src/shadcn/components/ui/toggle.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/tooltip.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tooltip.js +12 -1
- package/dist/src/shadcn/components/ui/tooltip.js.map +1 -1
- package/dist/src/shadcn/components/ui/tree.d.ts +29 -0
- package/dist/src/shadcn/components/ui/tree.d.ts.map +1 -0
- package/dist/src/shadcn/components/ui/tree.js +135 -0
- package/dist/src/shadcn/components/ui/tree.js.map +1 -0
- package/dist/src/shadcn/shadcn.css +4 -4
- package/dist/src/tokens.css +50 -20
- package/dist/src/typography.css +78 -15
- package/package.json +84 -64
- package/src/components/button-dropdown.stories.tsx +41 -0
- package/src/components/button-dropdown.tsx +97 -0
- package/src/components/code-editor/fhir-autocomplete.test.ts +993 -0
- package/src/components/code-editor/fhir-autocomplete.ts +2322 -0
- package/src/components/code-editor/http/grammar/http.grammar +74 -0
- package/src/components/code-editor/http/grammar/http.terms.ts +9 -0
- package/src/components/code-editor/http/grammar/http.test.ts +110 -0
- package/src/components/code-editor/http/grammar/http.ts +21 -0
- package/src/components/code-editor/http/index.ts +424 -0
- package/src/components/code-editor/index.tsx +1944 -42
- package/src/components/code-editor/json-ast.test.ts +230 -0
- package/src/components/code-editor/json-ast.ts +590 -0
- package/src/components/code-editor/sql-completion.ts +1112 -0
- package/src/components/code-editor.stories.tsx +325 -2
- package/src/components/copy-icon.tsx +57 -3
- package/src/components/data-table.stories.tsx +91 -0
- package/src/components/data-table.tsx +126 -0
- package/src/components/date-picker-input.stories.tsx +79 -0
- package/src/components/date-picker-input.tsx +104 -0
- package/src/components/fhir-structure-view.stories.tsx +439 -0
- package/src/components/fhir-structure-view.tsx +233 -0
- package/src/components/icon-button.stories.tsx +86 -0
- package/src/components/icon-button.tsx +57 -0
- package/src/components/operation-outcome-view.stories.tsx +163 -0
- package/src/components/operation-outcome-view.tsx +254 -0
- package/src/components/request-line-editor.stories.tsx +17 -27
- package/src/components/request-line-editor.tsx +103 -61
- package/src/components/sandbox.stories.tsx +131 -0
- package/src/components/sandbox.tsx +191 -0
- package/src/components/segment-control.stories.tsx +61 -0
- package/src/components/segment-control.tsx +83 -0
- package/src/components/split-button.stories.tsx +68 -0
- package/src/components/split-button.tsx +74 -0
- package/src/components/tag.stories.tsx +371 -0
- package/src/components/tag.tsx +236 -0
- package/src/components/tile.stories.tsx +149 -0
- package/src/components/tile.tsx +105 -0
- package/src/components/toolbar.stories.tsx +64 -0
- package/src/components/toolbar.tsx +98 -0
- package/src/components/tree-view.stories.tsx +265 -0
- package/src/components/tree-view.tsx +246 -0
- package/src/icons.tsx +331 -0
- package/src/index.css +358 -74
- package/src/index.tsx +17 -3
- package/src/shadcn/components/ui/accordion.tsx +91 -10
- package/src/shadcn/components/ui/alert-dialog.stories.tsx +209 -15
- package/src/shadcn/components/ui/alert-dialog.tsx +236 -26
- package/src/shadcn/components/ui/alert.stories.tsx +120 -21
- package/src/shadcn/components/ui/alert.tsx +125 -28
- package/src/shadcn/components/ui/aspect-ratio.tsx +1 -0
- package/src/shadcn/components/ui/avatar.stories.tsx +74 -1
- package/src/shadcn/components/ui/avatar.tsx +22 -6
- package/src/shadcn/components/ui/badge.tsx +67 -18
- package/src/shadcn/components/ui/breadcrumb.stories.tsx +161 -41
- package/src/shadcn/components/ui/breadcrumb.tsx +172 -23
- package/src/shadcn/components/ui/button.stories.tsx +106 -18
- package/src/shadcn/components/ui/button.tsx +151 -55
- package/src/shadcn/components/ui/calendar.tsx +1 -0
- package/src/shadcn/components/ui/card.stories.tsx +17 -3
- package/src/shadcn/components/ui/card.tsx +89 -14
- package/src/shadcn/components/ui/carousel.tsx +1 -0
- package/src/shadcn/components/ui/chart.tsx +9 -5
- package/src/shadcn/components/ui/checkbox.stories.tsx +78 -30
- package/src/shadcn/components/ui/checkbox.tsx +91 -8
- package/src/shadcn/components/ui/combobox.stories.tsx +148 -0
- package/src/shadcn/components/ui/combobox.tsx +324 -0
- package/src/shadcn/components/ui/command.stories.tsx +184 -39
- package/src/shadcn/components/ui/command.tsx +218 -37
- package/src/shadcn/components/ui/context-menu.tsx +333 -40
- package/src/shadcn/components/ui/dialog.tsx +101 -13
- package/src/shadcn/components/ui/drawer.tsx +94 -18
- package/src/shadcn/components/ui/dropdown-menu.stories.tsx +18 -2
- package/src/shadcn/components/ui/dropdown-menu.tsx +334 -68
- package/src/shadcn/components/ui/form.tsx +22 -11
- package/src/shadcn/components/ui/hover-card.tsx +2 -1
- package/src/shadcn/components/ui/input-otp.tsx +1 -0
- package/src/shadcn/components/ui/input.stories.tsx +235 -27
- package/src/shadcn/components/ui/input.tsx +400 -29
- package/src/shadcn/components/ui/label.tsx +22 -4
- package/src/shadcn/components/ui/menubar.tsx +188 -43
- package/src/shadcn/components/ui/pagination.stories.tsx +8 -2
- package/src/shadcn/components/ui/pagination.tsx +65 -8
- package/src/shadcn/components/ui/popover.tsx +36 -4
- package/src/shadcn/components/ui/progress.tsx +21 -5
- package/src/shadcn/components/ui/radio-button-group.stories.tsx +247 -0
- package/src/shadcn/components/ui/radio-button-group.tsx +188 -0
- package/src/shadcn/components/ui/radio-group.stories.tsx +70 -14
- package/src/shadcn/components/ui/radio-group.tsx +85 -9
- package/src/shadcn/components/ui/resizable.stories.tsx +2 -2
- package/src/shadcn/components/ui/resizable.tsx +2 -1
- package/src/shadcn/components/ui/scroll-area.tsx +34 -5
- package/src/shadcn/components/ui/select.stories.tsx +108 -32
- package/src/shadcn/components/ui/select.tsx +182 -36
- package/src/shadcn/components/ui/separator.tsx +16 -5
- package/src/shadcn/components/ui/sheet.tsx +1 -1
- package/src/shadcn/components/ui/sidebar.tsx +69 -26
- package/src/shadcn/components/ui/skeleton.tsx +4 -1
- package/src/shadcn/components/ui/slider.tsx +83 -11
- package/src/shadcn/components/ui/sonner.stories.tsx +238 -17
- package/src/shadcn/components/ui/sonner.tsx +254 -11
- package/src/shadcn/components/ui/switch.stories.tsx +52 -5
- package/src/shadcn/components/ui/switch.tsx +92 -7
- package/src/shadcn/components/ui/table.stories.tsx +252 -72
- package/src/shadcn/components/ui/table.tsx +204 -26
- package/src/shadcn/components/ui/tabs.stories.tsx +235 -123
- package/src/shadcn/components/ui/tabs.tsx +694 -36
- package/src/shadcn/components/ui/textarea.stories.tsx +94 -2
- package/src/shadcn/components/ui/textarea.tsx +70 -5
- package/src/shadcn/components/ui/toggle-group.tsx +35 -13
- package/src/shadcn/components/ui/toggle.stories.tsx +92 -5
- package/src/shadcn/components/ui/toggle.tsx +96 -23
- package/src/shadcn/components/ui/tooltip.tsx +34 -8
- package/src/shadcn/components/ui/tree.tsx +257 -0
- package/src/shadcn/shadcn.css +4 -4
- package/src/tokens.css +50 -20
- package/src/typography.css +78 -15
- package/dist/src/components/code-editor.stories.d.ts +0 -7
- package/dist/src/components/code-editor.stories.d.ts.map +0 -1
- package/dist/src/components/request-line-editor.stories.d.ts +0 -11
- package/dist/src/components/request-line-editor.stories.d.ts.map +0 -1
- package/dist/src/index.stories.d.ts +0 -14
- package/dist/src/index.stories.d.ts.map +0 -1
- package/dist/src/index.stories.js +0 -19
- package/dist/src/index.stories.js.map +0 -1
- package/dist/src/shadcn/components/ui/accordion.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/accordion.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/alert-dialog.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/alert-dialog.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/alert.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/alert.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/aspect-ratio.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/aspect-ratio.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/avatar.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/avatar.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/badge.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/badge.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/breadcrumb.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/breadcrumb.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/button.stories.d.ts +0 -23
- package/dist/src/shadcn/components/ui/button.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/calendar.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/calendar.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/card.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/card.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/carousel.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/carousel.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/chart.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/chart.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/checkbox.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/checkbox.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/collapsible.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/collapsible.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/command.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/command.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/context-menu.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/context-menu.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/dialog.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/dialog.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/drawer.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/drawer.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/dropdown-menu.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/form.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/form.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/hover-card.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/hover-card.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/input-otp.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/input-otp.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/input.stories.d.ts +0 -18
- package/dist/src/shadcn/components/ui/input.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/label.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/label.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/menubar.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/menubar.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/navigation-menu.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/navigation-menu.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/pagination.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/pagination.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/popover.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/popover.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/progress.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/progress.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/radio-group.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/radio-group.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/resizable.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/resizable.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/scroll-area.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/scroll-area.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/select.stories.d.ts +0 -11
- package/dist/src/shadcn/components/ui/select.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/separator.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/separator.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/sheet.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/sheet.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/sidebar.stories.d.ts +0 -11
- package/dist/src/shadcn/components/ui/sidebar.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/skeleton.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/skeleton.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/slider.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/slider.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/sonner.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/sonner.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/switch.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/switch.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/table.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/table.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/tabs.stories.d.ts +0 -32
- package/dist/src/shadcn/components/ui/tabs.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/textarea.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/textarea.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/toggle-group.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/toggle-group.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/toggle.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/toggle.stories.d.ts.map +0 -1
- package/dist/src/shadcn/components/ui/tooltip.stories.d.ts +0 -8
- package/dist/src/shadcn/components/ui/tooltip.stories.d.ts.map +0 -1
- package/src/index.stories.tsx +0 -21
|
@@ -1,62 +1,107 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ArrowDownIcon, ArrowUpDownIcon, ArrowUpIcon } from "lucide-react";
|
|
3
|
+
import * as React from "react";
|
|
2
4
|
import { cn } from "../../lib/utils.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
// Table container
|
|
6
|
+
const tableContainerStyles = cn("relative", "h-full", "w-full", "overflow-auto");
|
|
7
|
+
// Table base
|
|
8
|
+
const tableStyles = cn("w-full", "caption-bottom", "text-sm", "border-collapse", "border-spacing-0");
|
|
9
|
+
// Table header
|
|
10
|
+
const tableHeaderStyles = cn("bg-bg-secondary", "[&_tr]:border-b", "[&_tr]:border-border-secondary", "[&_tr]:h-8");
|
|
11
|
+
// Table header sticky variant
|
|
12
|
+
const tableHeaderStickyStyles = cn("sticky", "top-0", "z-10");
|
|
13
|
+
// Table body
|
|
14
|
+
const tableBodyStyles = cn("[&_tr:last-child]:border-0", "[&_tr]:hover:bg-bg-hover");
|
|
15
|
+
// Table footer
|
|
16
|
+
const tableFooterStyles = cn("bg-bg-secondary", "border-t", "border-border-secondary", "font-medium", "[&>tr]:last:border-b-0");
|
|
17
|
+
// Table row
|
|
18
|
+
const tableRowStyles = cn("h-7", "transition-colors", "duration-150");
|
|
19
|
+
// Table head cell
|
|
20
|
+
const tableHeadStyles = cn("group/head", "text-text-secondary", "h-8", "px-4", "py-2", "text-left", "align-middle", "typo-body-xs", "whitespace-nowrap", "transition-colors", "duration-150", "hover:bg-bg-tertiary", "[&:has([role=checkbox])]:pr-0");
|
|
21
|
+
// Table head sort icon
|
|
22
|
+
const tableSortIconStyles = cn("size-3.5", "shrink-0", "transition-opacity", "duration-150");
|
|
23
|
+
// Table cell
|
|
24
|
+
const tableCellStyles = cn("px-4", "py-1", "align-middle", "whitespace-nowrap", "text-sm", "text-grey-700", "[&:has([role=checkbox])]:pr-0");
|
|
25
|
+
// Table cell link variant
|
|
26
|
+
const tableCellLinkStyles = cn("text-text-link", "cursor-pointer", "hover:underline");
|
|
27
|
+
// Table caption
|
|
28
|
+
const tableCaptionStyles = cn("text-text-secondary", "mt-4", "text-xs", "text-left");
|
|
29
|
+
// Context for sticky header
|
|
30
|
+
const TableStickyContext = /*#__PURE__*/ React.createContext(false);
|
|
31
|
+
function Table({ className, zebra = false, stickyHeader = false, ...props }) {
|
|
32
|
+
return /*#__PURE__*/ _jsx(TableStickyContext.Provider, {
|
|
33
|
+
value: stickyHeader,
|
|
34
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
35
|
+
"data-slot": "table-container",
|
|
36
|
+
className: tableContainerStyles,
|
|
37
|
+
children: /*#__PURE__*/ _jsx("table", {
|
|
38
|
+
"data-slot": "table",
|
|
39
|
+
"data-zebra": zebra,
|
|
40
|
+
className: cn(tableStyles, className),
|
|
41
|
+
...props
|
|
42
|
+
})
|
|
11
43
|
})
|
|
12
44
|
});
|
|
13
45
|
}
|
|
14
46
|
function TableHeader({ className, ...props }) {
|
|
47
|
+
const stickyHeader = React.useContext(TableStickyContext);
|
|
15
48
|
return /*#__PURE__*/ _jsx("thead", {
|
|
16
49
|
"data-slot": "table-header",
|
|
17
|
-
className: cn(
|
|
50
|
+
className: cn(tableHeaderStyles, stickyHeader && tableHeaderStickyStyles, className),
|
|
18
51
|
...props
|
|
19
52
|
});
|
|
20
53
|
}
|
|
21
54
|
function TableBody({ className, ...props }) {
|
|
22
55
|
return /*#__PURE__*/ _jsx("tbody", {
|
|
23
56
|
"data-slot": "table-body",
|
|
24
|
-
className: cn(
|
|
57
|
+
className: cn(tableBodyStyles, className),
|
|
25
58
|
...props
|
|
26
59
|
});
|
|
27
60
|
}
|
|
28
61
|
function TableFooter({ className, ...props }) {
|
|
29
62
|
return /*#__PURE__*/ _jsx("tfoot", {
|
|
30
63
|
"data-slot": "table-footer",
|
|
31
|
-
className: cn(
|
|
64
|
+
className: cn(tableFooterStyles, className),
|
|
32
65
|
...props
|
|
33
66
|
});
|
|
34
67
|
}
|
|
35
|
-
function TableRow({ className, ...props }) {
|
|
68
|
+
function TableRow({ className, zebra = false, index = 0, selected = false, ...props }) {
|
|
69
|
+
const isOdd = index % 2 === 1;
|
|
36
70
|
return /*#__PURE__*/ _jsx("tr", {
|
|
37
71
|
"data-slot": "table-row",
|
|
38
|
-
className: cn("
|
|
72
|
+
className: cn(tableRowStyles, !zebra && "border-b", !zebra && "border-border-secondary", zebra && isOdd && "bg-bg-secondary", selected && "bg-bg-hover", className),
|
|
39
73
|
...props
|
|
40
74
|
});
|
|
41
75
|
}
|
|
42
|
-
function TableHead({ className, ...props }) {
|
|
76
|
+
function TableHead({ className, sortable = false, sorted = false, children, ...props }) {
|
|
77
|
+
const SortIcon = sorted === "asc" ? ArrowUpIcon : sorted === "desc" ? ArrowDownIcon : ArrowUpDownIcon;
|
|
43
78
|
return /*#__PURE__*/ _jsx("th", {
|
|
44
79
|
"data-slot": "table-head",
|
|
45
|
-
className: cn(
|
|
46
|
-
...props
|
|
80
|
+
className: cn(tableHeadStyles, sortable && "cursor-pointer select-none", className),
|
|
81
|
+
...props,
|
|
82
|
+
children: sortable ? /*#__PURE__*/ _jsxs("div", {
|
|
83
|
+
className: "flex items-center gap-1",
|
|
84
|
+
children: [
|
|
85
|
+
children,
|
|
86
|
+
/*#__PURE__*/ _jsx(SortIcon, {
|
|
87
|
+
className: cn(tableSortIconStyles, sorted ? "opacity-100" : "opacity-0 group-hover/head:opacity-30")
|
|
88
|
+
})
|
|
89
|
+
]
|
|
90
|
+
}) : children
|
|
47
91
|
});
|
|
48
92
|
}
|
|
49
|
-
function TableCell({ className, ...props }) {
|
|
93
|
+
function TableCell({ className, type = "text", ...props }) {
|
|
50
94
|
return /*#__PURE__*/ _jsx("td", {
|
|
51
95
|
"data-slot": "table-cell",
|
|
52
|
-
|
|
96
|
+
"data-type": type,
|
|
97
|
+
className: cn(tableCellStyles, type === "link" && tableCellLinkStyles, className),
|
|
53
98
|
...props
|
|
54
99
|
});
|
|
55
100
|
}
|
|
56
101
|
function TableCaption({ className, ...props }) {
|
|
57
102
|
return /*#__PURE__*/ _jsx("caption", {
|
|
58
103
|
"data-slot": "table-caption",
|
|
59
|
-
className: cn(
|
|
104
|
+
className: cn(tableCaptionStyles, className),
|
|
60
105
|
...props
|
|
61
106
|
});
|
|
62
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/shadcn/components/ui/table.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/table.tsx"],"sourcesContent":["import { ArrowDownIcon, ArrowUpDownIcon, ArrowUpIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\n// Table container\nconst tableContainerStyles = cn(\n\t\"relative\",\n\t\"h-full\",\n\t\"w-full\",\n\t\"overflow-auto\",\n);\n\n// Table base\nconst tableStyles = cn(\n\t\"w-full\",\n\t\"caption-bottom\",\n\t\"text-sm\",\n\t\"border-collapse\",\n\t\"border-spacing-0\",\n);\n\n// Table header\nconst tableHeaderStyles = cn(\n\t\"bg-bg-secondary\",\n\t\"[&_tr]:border-b\",\n\t\"[&_tr]:border-border-secondary\",\n\t\"[&_tr]:h-8\",\n);\n\n// Table header sticky variant\nconst tableHeaderStickyStyles = cn(\"sticky\", \"top-0\", \"z-10\");\n\n// Table body\nconst tableBodyStyles = cn(\n\t\"[&_tr:last-child]:border-0\",\n\t\"[&_tr]:hover:bg-bg-hover\",\n);\n\n// Table footer\nconst tableFooterStyles = cn(\n\t\"bg-bg-secondary\",\n\t\"border-t\",\n\t\"border-border-secondary\",\n\t\"font-medium\",\n\t\"[&>tr]:last:border-b-0\",\n);\n\n// Table row\nconst tableRowStyles = cn(\"h-7\", \"transition-colors\", \"duration-150\");\n\n// Table head cell\nconst tableHeadStyles = cn(\n\t\"group/head\",\n\t\"text-text-secondary\",\n\t\"h-8\",\n\t\"px-4\",\n\t\"py-2\",\n\t\"text-left\",\n\t\"align-middle\",\n\t\"typo-body-xs\",\n\t\"whitespace-nowrap\",\n\t\"transition-colors\",\n\t\"duration-150\",\n\t\"hover:bg-bg-tertiary\",\n\t\"[&:has([role=checkbox])]:pr-0\",\n);\n\n// Table head sort icon\nconst tableSortIconStyles = cn(\n\t\"size-3.5\",\n\t\"shrink-0\",\n\t\"transition-opacity\",\n\t\"duration-150\",\n);\n\n// Table cell\nconst tableCellStyles = cn(\n\t\"px-4\",\n\t\"py-1\",\n\t\"align-middle\",\n\t\"whitespace-nowrap\",\n\t\"text-sm\",\n\t\"text-grey-700\",\n\t\"[&:has([role=checkbox])]:pr-0\",\n);\n\n// Table cell link variant\nconst tableCellLinkStyles = cn(\n\t\"text-text-link\",\n\t\"cursor-pointer\",\n\t\"hover:underline\",\n);\n\n// Table caption\nconst tableCaptionStyles = cn(\n\t\"text-text-secondary\",\n\t\"mt-4\",\n\t\"text-xs\",\n\t\"text-left\",\n);\n\n// Context for sticky header\nconst TableStickyContext = React.createContext(false);\n\ntype TableProps = React.ComponentProps<\"table\"> & {\n\tzebra?: boolean | undefined;\n\tstickyHeader?: boolean | undefined;\n};\n\nfunction Table({\n\tclassName,\n\tzebra = false,\n\tstickyHeader = false,\n\t...props\n}: TableProps) {\n\treturn (\n\t\t<TableStickyContext.Provider value={stickyHeader}>\n\t\t\t<div data-slot=\"table-container\" className={tableContainerStyles}>\n\t\t\t\t<table\n\t\t\t\t\tdata-slot=\"table\"\n\t\t\t\t\tdata-zebra={zebra}\n\t\t\t\t\tclassName={cn(tableStyles, className)}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</TableStickyContext.Provider>\n\t);\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n\tconst stickyHeader = React.useContext(TableStickyContext);\n\n\treturn (\n\t\t<thead\n\t\t\tdata-slot=\"table-header\"\n\t\t\tclassName={cn(\n\t\t\t\ttableHeaderStyles,\n\t\t\t\tstickyHeader && tableHeaderStickyStyles,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n\treturn (\n\t\t<tbody\n\t\t\tdata-slot=\"table-body\"\n\t\t\tclassName={cn(tableBodyStyles, className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<\"tfoot\">) {\n\treturn (\n\t\t<tfoot\n\t\t\tdata-slot=\"table-footer\"\n\t\t\tclassName={cn(tableFooterStyles, className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\ntype TableRowProps = React.ComponentProps<\"tr\"> & {\n\tzebra?: boolean | undefined;\n\tindex?: number | undefined;\n\tselected?: boolean | undefined;\n};\n\nfunction TableRow({\n\tclassName,\n\tzebra = false,\n\tindex = 0,\n\tselected = false,\n\t...props\n}: TableRowProps) {\n\tconst isOdd = index % 2 === 1;\n\n\treturn (\n\t\t<tr\n\t\t\tdata-slot=\"table-row\"\n\t\t\tclassName={cn(\n\t\t\t\ttableRowStyles,\n\t\t\t\t!zebra && \"border-b\",\n\t\t\t\t!zebra && \"border-border-secondary\",\n\t\t\t\tzebra && isOdd && \"bg-bg-secondary\",\n\t\t\t\tselected && \"bg-bg-hover\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\ntype TableHeadProps = React.ComponentProps<\"th\"> & {\n\tsortable?: boolean | undefined;\n\tsorted?: \"asc\" | \"desc\" | false | undefined;\n};\n\nfunction TableHead({\n\tclassName,\n\tsortable = false,\n\tsorted = false,\n\tchildren,\n\t...props\n}: TableHeadProps) {\n\tconst SortIcon =\n\t\tsorted === \"asc\"\n\t\t\t? ArrowUpIcon\n\t\t\t: sorted === \"desc\"\n\t\t\t\t? ArrowDownIcon\n\t\t\t\t: ArrowUpDownIcon;\n\n\treturn (\n\t\t<th\n\t\t\tdata-slot=\"table-head\"\n\t\t\tclassName={cn(\n\t\t\t\ttableHeadStyles,\n\t\t\t\tsortable && \"cursor-pointer select-none\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{sortable ? (\n\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t{children}\n\t\t\t\t\t<SortIcon\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\ttableSortIconStyles,\n\t\t\t\t\t\t\tsorted ? \"opacity-100\" : \"opacity-0 group-hover/head:opacity-30\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\tchildren\n\t\t\t)}\n\t\t</th>\n\t);\n}\n\ntype CellType = \"text\" | \"link\";\n\ntype TableCellProps = React.ComponentProps<\"td\"> & {\n\ttype?: CellType | undefined;\n};\n\nfunction TableCell({ className, type = \"text\", ...props }: TableCellProps) {\n\treturn (\n\t\t<td\n\t\t\tdata-slot=\"table-cell\"\n\t\t\tdata-type={type}\n\t\t\tclassName={cn(\n\t\t\t\ttableCellStyles,\n\t\t\t\ttype === \"link\" && tableCellLinkStyles,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TableCaption({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"caption\">) {\n\treturn (\n\t\t<caption\n\t\t\tdata-slot=\"table-caption\"\n\t\t\tclassName={cn(tableCaptionStyles, className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tTable,\n\tTableHeader,\n\tTableBody,\n\tTableFooter,\n\tTableHead,\n\tTableRow,\n\tTableCell,\n\tTableCaption,\n\ttype TableProps,\n\ttype TableRowProps,\n\ttype TableHeadProps,\n\ttype TableCellProps,\n\ttype CellType,\n};\n"],"names":["ArrowDownIcon","ArrowUpDownIcon","ArrowUpIcon","React","cn","tableContainerStyles","tableStyles","tableHeaderStyles","tableHeaderStickyStyles","tableBodyStyles","tableFooterStyles","tableRowStyles","tableHeadStyles","tableSortIconStyles","tableCellStyles","tableCellLinkStyles","tableCaptionStyles","TableStickyContext","createContext","Table","className","zebra","stickyHeader","props","Provider","value","div","data-slot","table","data-zebra","TableHeader","useContext","thead","TableBody","tbody","TableFooter","tfoot","TableRow","index","selected","isOdd","tr","TableHead","sortable","sorted","children","SortIcon","th","TableCell","type","td","data-type","TableCaption","caption"],"mappings":"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"}
|
|
@@ -1,112 +1,232 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
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
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { Controls, Primary, Title } from "@storybook/addon-docs/blocks";
|
|
4
|
+
import { createColumnHelper, flexRender, getCoreRowModel, getSortedRowModel, useReactTable } from "@tanstack/react-table";
|
|
5
|
+
import { useState } from "react";
|
|
6
|
+
import { Checkbox } from "./checkbox.js";
|
|
7
|
+
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "./table.js";
|
|
8
|
+
const statuses = [
|
|
9
|
+
"Paid",
|
|
10
|
+
"Pending",
|
|
11
|
+
"Unpaid"
|
|
12
|
+
];
|
|
13
|
+
const methods = [
|
|
14
|
+
"Credit Card",
|
|
15
|
+
"PayPal",
|
|
16
|
+
"Bank Transfer"
|
|
17
|
+
];
|
|
18
|
+
const invoiceData = Array.from({
|
|
19
|
+
length: 50
|
|
20
|
+
}, (_, i)=>({
|
|
21
|
+
invoice: `INV${String(i + 1).padStart(3, "0")}`,
|
|
22
|
+
paymentStatus: statuses[i % statuses.length],
|
|
23
|
+
totalAmount: 100 + i * 73 % 900,
|
|
24
|
+
paymentMethod: methods[i % methods.length]
|
|
25
|
+
}));
|
|
26
|
+
const columnHelper = createColumnHelper();
|
|
27
|
+
const columns = [
|
|
28
|
+
columnHelper.accessor("invoice", {
|
|
29
|
+
header: "Invoice",
|
|
30
|
+
cell: (info)=>String(info.getValue()),
|
|
31
|
+
enableSorting: true
|
|
32
|
+
}),
|
|
33
|
+
columnHelper.accessor("paymentStatus", {
|
|
34
|
+
header: "Status",
|
|
35
|
+
cell: (info)=>String(info.getValue()),
|
|
36
|
+
enableSorting: true
|
|
37
|
+
}),
|
|
38
|
+
columnHelper.accessor("paymentMethod", {
|
|
39
|
+
header: "Method",
|
|
40
|
+
cell: (info)=>String(info.getValue()),
|
|
41
|
+
enableSorting: true
|
|
42
|
+
}),
|
|
43
|
+
columnHelper.accessor("totalAmount", {
|
|
44
|
+
header: "Amount",
|
|
45
|
+
cell: (info)=>{
|
|
46
|
+
const value = info.getValue();
|
|
47
|
+
return `$${value.toFixed(2)}`;
|
|
48
|
+
},
|
|
49
|
+
enableSorting: true
|
|
50
|
+
})
|
|
51
|
+
];
|
|
52
|
+
const selectColumn = {
|
|
53
|
+
id: "select",
|
|
54
|
+
header: ({ table })=>/*#__PURE__*/ _jsx(Checkbox, {
|
|
55
|
+
size: "small",
|
|
56
|
+
checked: table.getIsAllPageRowsSelected() ? true : table.getIsSomePageRowsSelected() ? "indeterminate" : false,
|
|
57
|
+
onCheckedChange: (value)=>table.toggleAllPageRowsSelected(!!value),
|
|
58
|
+
"aria-label": "Select all"
|
|
59
|
+
}),
|
|
60
|
+
cell: ({ row })=>/*#__PURE__*/ _jsx(Checkbox, {
|
|
61
|
+
size: "small",
|
|
62
|
+
checked: row.getIsSelected(),
|
|
63
|
+
onCheckedChange: (value)=>row.toggleSelected(!!value),
|
|
64
|
+
"aria-label": "Select row"
|
|
65
|
+
}),
|
|
66
|
+
enableSorting: false
|
|
67
|
+
};
|
|
68
|
+
function TableWithSorting({ zebra = false, selectable = false, stickyHeader = false } = {}) {
|
|
69
|
+
const [sorting, setSorting] = useState([]);
|
|
70
|
+
const [rowSelection, setRowSelection] = useState({});
|
|
71
|
+
const tableColumns = selectable ? [
|
|
72
|
+
selectColumn,
|
|
73
|
+
...columns
|
|
74
|
+
] : columns;
|
|
75
|
+
const table = useReactTable({
|
|
76
|
+
data: invoiceData,
|
|
77
|
+
columns: tableColumns,
|
|
78
|
+
state: {
|
|
79
|
+
sorting,
|
|
80
|
+
rowSelection
|
|
81
|
+
},
|
|
82
|
+
onSortingChange: setSorting,
|
|
83
|
+
onRowSelectionChange: setRowSelection,
|
|
84
|
+
getCoreRowModel: getCoreRowModel(),
|
|
85
|
+
getSortedRowModel: getSortedRowModel()
|
|
86
|
+
});
|
|
87
|
+
return /*#__PURE__*/ _jsxs(Table, {
|
|
88
|
+
zebra: zebra,
|
|
89
|
+
stickyHeader: stickyHeader,
|
|
90
|
+
children: [
|
|
91
|
+
/*#__PURE__*/ _jsx(TableHeader, {
|
|
92
|
+
children: table.getHeaderGroups().map((headerGroup)=>/*#__PURE__*/ _jsx(TableRow, {
|
|
93
|
+
children: headerGroup.headers.map((header)=>/*#__PURE__*/ _jsx(TableHead, {
|
|
94
|
+
onClick: header.column.getToggleSortingHandler(),
|
|
95
|
+
sortable: header.column.getCanSort(),
|
|
96
|
+
sorted: header.column.getIsSorted() || false,
|
|
97
|
+
children: flexRender(header.column.columnDef.header, header.getContext())
|
|
98
|
+
}, header.id))
|
|
99
|
+
}, headerGroup.id))
|
|
100
|
+
}),
|
|
101
|
+
/*#__PURE__*/ _jsx(TableBody, {
|
|
102
|
+
children: table.getRowModel().rows.map((row, index)=>/*#__PURE__*/ _jsx(TableRow, {
|
|
103
|
+
zebra: zebra,
|
|
104
|
+
index: index,
|
|
105
|
+
selected: row.getIsSelected(),
|
|
106
|
+
children: row.getVisibleCells().map((cell)=>/*#__PURE__*/ _jsx(TableCell, {
|
|
107
|
+
type: cell.column.id === "invoice" ? "link" : "text",
|
|
108
|
+
children: flexRender(cell.column.columnDef.cell, cell.getContext())
|
|
109
|
+
}, cell.id))
|
|
110
|
+
}, row.id))
|
|
111
|
+
})
|
|
112
|
+
]
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
const meta = {
|
|
116
|
+
title: "Component/Table",
|
|
117
|
+
component: TableWithSorting,
|
|
118
|
+
parameters: {
|
|
119
|
+
docs: {
|
|
120
|
+
page: ()=>/*#__PURE__*/ _jsxs(_Fragment, {
|
|
121
|
+
children: [
|
|
122
|
+
/*#__PURE__*/ _jsx(Title, {}),
|
|
123
|
+
/*#__PURE__*/ _jsx(Primary, {}),
|
|
124
|
+
/*#__PURE__*/ _jsx(Controls, {})
|
|
125
|
+
]
|
|
126
|
+
})
|
|
127
|
+
}
|
|
33
128
|
},
|
|
34
|
-
{
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
129
|
+
argTypes: {
|
|
130
|
+
zebra: {
|
|
131
|
+
control: "boolean",
|
|
132
|
+
description: "Enable alternating row background colors"
|
|
133
|
+
},
|
|
134
|
+
selectable: {
|
|
135
|
+
control: "boolean",
|
|
136
|
+
description: "Enable row selection with checkboxes"
|
|
137
|
+
},
|
|
138
|
+
stickyHeader: {
|
|
139
|
+
control: "boolean",
|
|
140
|
+
description: "Keep header fixed while scrolling"
|
|
141
|
+
}
|
|
39
142
|
},
|
|
40
|
-
{
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
paymentMethod: "Credit Card"
|
|
143
|
+
args: {
|
|
144
|
+
zebra: false,
|
|
145
|
+
selectable: false,
|
|
146
|
+
stickyHeader: false
|
|
45
147
|
}
|
|
46
|
-
];
|
|
47
|
-
const meta = {
|
|
48
|
-
title: "Component/Table"
|
|
49
148
|
};
|
|
50
149
|
export default meta;
|
|
150
|
+
export const Default = {
|
|
151
|
+
tags: [
|
|
152
|
+
"!dev"
|
|
153
|
+
],
|
|
154
|
+
render: ({ zebra = false, selectable = false, stickyHeader = false } = {})=>/*#__PURE__*/ _jsx("div", {
|
|
155
|
+
className: "h-80",
|
|
156
|
+
children: /*#__PURE__*/ _jsx(TableWithSorting, {
|
|
157
|
+
zebra: zebra,
|
|
158
|
+
selectable: selectable,
|
|
159
|
+
stickyHeader: stickyHeader
|
|
160
|
+
})
|
|
161
|
+
})
|
|
162
|
+
};
|
|
51
163
|
export const Demo = {
|
|
52
|
-
|
|
164
|
+
tags: [
|
|
165
|
+
"!autodocs"
|
|
166
|
+
],
|
|
167
|
+
render: ()=>/*#__PURE__*/ _jsxs("div", {
|
|
168
|
+
className: "space-y-8 p-6",
|
|
53
169
|
children: [
|
|
54
|
-
/*#__PURE__*/
|
|
55
|
-
children:
|
|
170
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
171
|
+
children: [
|
|
172
|
+
/*#__PURE__*/ _jsx("h3", {
|
|
173
|
+
className: "text-lg font-semibold mb-4 text-text-primary",
|
|
174
|
+
children: "Without Zebra Striping"
|
|
175
|
+
}),
|
|
176
|
+
/*#__PURE__*/ _jsx("div", {
|
|
177
|
+
className: "h-80",
|
|
178
|
+
children: /*#__PURE__*/ _jsx(TableWithSorting, {
|
|
179
|
+
zebra: false,
|
|
180
|
+
stickyHeader: true
|
|
181
|
+
})
|
|
182
|
+
})
|
|
183
|
+
]
|
|
56
184
|
}),
|
|
57
|
-
/*#__PURE__*/
|
|
58
|
-
children:
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
children: "Method"
|
|
69
|
-
}),
|
|
70
|
-
/*#__PURE__*/ _jsx(TableHead, {
|
|
71
|
-
className: "text-right",
|
|
72
|
-
children: "Amount"
|
|
185
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
186
|
+
children: [
|
|
187
|
+
/*#__PURE__*/ _jsx("h3", {
|
|
188
|
+
className: "text-lg font-semibold mb-4 text-text-primary",
|
|
189
|
+
children: "With Zebra Striping"
|
|
190
|
+
}),
|
|
191
|
+
/*#__PURE__*/ _jsx("div", {
|
|
192
|
+
className: "h-80",
|
|
193
|
+
children: /*#__PURE__*/ _jsx(TableWithSorting, {
|
|
194
|
+
zebra: true,
|
|
195
|
+
stickyHeader: true
|
|
73
196
|
})
|
|
74
|
-
|
|
75
|
-
|
|
197
|
+
})
|
|
198
|
+
]
|
|
76
199
|
}),
|
|
77
|
-
/*#__PURE__*/
|
|
78
|
-
children:
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
className: "text-right",
|
|
92
|
-
children: invoice.totalAmount
|
|
93
|
-
})
|
|
94
|
-
]
|
|
95
|
-
}, invoice.invoice))
|
|
200
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
201
|
+
children: [
|
|
202
|
+
/*#__PURE__*/ _jsx("h3", {
|
|
203
|
+
className: "text-lg font-semibold mb-4 text-text-primary",
|
|
204
|
+
children: "Selectable"
|
|
205
|
+
}),
|
|
206
|
+
/*#__PURE__*/ _jsx("div", {
|
|
207
|
+
className: "h-80",
|
|
208
|
+
children: /*#__PURE__*/ _jsx(TableWithSorting, {
|
|
209
|
+
selectable: true,
|
|
210
|
+
stickyHeader: true
|
|
211
|
+
})
|
|
212
|
+
})
|
|
213
|
+
]
|
|
96
214
|
}),
|
|
97
|
-
/*#__PURE__*/
|
|
98
|
-
children:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
215
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
216
|
+
children: [
|
|
217
|
+
/*#__PURE__*/ _jsx("h3", {
|
|
218
|
+
className: "text-lg font-semibold mb-4 text-text-primary",
|
|
219
|
+
children: "Selectable + Zebra"
|
|
220
|
+
}),
|
|
221
|
+
/*#__PURE__*/ _jsx("div", {
|
|
222
|
+
className: "h-80",
|
|
223
|
+
children: /*#__PURE__*/ _jsx(TableWithSorting, {
|
|
224
|
+
selectable: true,
|
|
225
|
+
zebra: true,
|
|
226
|
+
stickyHeader: true
|
|
107
227
|
})
|
|
108
|
-
|
|
109
|
-
|
|
228
|
+
})
|
|
229
|
+
]
|
|
110
230
|
})
|
|
111
231
|
]
|
|
112
232
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/shadcn/components/ui/table.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCaption,\n\tTableCell,\n\tTableFooter,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"#shadcn/components/ui/table\";\n\nconst invoices = [\n\t{\n\t\tinvoice: \"INV001\",\n\t\tpaymentStatus: \"Paid\",\n\t\ttotalAmount: \"$250.00\",\n\t\tpaymentMethod: \"Credit Card\",\n\t},\n\t{\n\t\tinvoice: \"INV002\",\n\t\tpaymentStatus: \"Pending\",\n\t\ttotalAmount: \"$150.00\",\n\t\tpaymentMethod: \"PayPal\",\n\t},\n\t{\n\t\tinvoice: \"INV003\",\n\t\tpaymentStatus: \"Unpaid\",\n\t\ttotalAmount: \"$350.00\",\n\t\tpaymentMethod: \"Bank Transfer\",\n\t},\n\t{\n\t\tinvoice: \"INV004\",\n\t\tpaymentStatus: \"Paid\",\n\t\ttotalAmount: \"$450.00\",\n\t\tpaymentMethod: \"Credit Card\",\n\t},\n\t{\n\t\tinvoice: \"INV005\",\n\t\tpaymentStatus: \"Paid\",\n\t\ttotalAmount: \"$550.00\",\n\t\tpaymentMethod: \"PayPal\",\n\t},\n\t{\n\t\tinvoice: \"INV006\",\n\t\tpaymentStatus: \"Pending\",\n\t\ttotalAmount: \"$200.00\",\n\t\tpaymentMethod: \"Bank Transfer\",\n\t},\n\t{\n\t\tinvoice: \"INV007\",\n\t\tpaymentStatus: \"Unpaid\",\n\t\ttotalAmount: \"$300.00\",\n\t\tpaymentMethod: \"Credit Card\",\n\t},\n];\n\nconst meta = {\n\ttitle: \"Component/Table\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => (\n\t\t<Table>\n\t\t\t<TableCaption>A list of your recent invoices.</TableCaption>\n\t\t\t<TableHeader>\n\t\t\t\t<TableRow>\n\t\t\t\t\t<TableHead className=\"w-[100px]\">Invoice</TableHead>\n\t\t\t\t\t<TableHead>Status</TableHead>\n\t\t\t\t\t<TableHead>Method</TableHead>\n\t\t\t\t\t<TableHead className=\"text-right\">Amount</TableHead>\n\t\t\t\t</TableRow>\n\t\t\t</TableHeader>\n\t\t\t<TableBody>\n\t\t\t\t{invoices.map((invoice) => (\n\t\t\t\t\t<TableRow key={invoice.invoice}>\n\t\t\t\t\t\t<TableCell className=\"font-medium\">{invoice.invoice}</TableCell>\n\t\t\t\t\t\t<TableCell>{invoice.paymentStatus}</TableCell>\n\t\t\t\t\t\t<TableCell>{invoice.paymentMethod}</TableCell>\n\t\t\t\t\t\t<TableCell className=\"text-right\">{invoice.totalAmount}</TableCell>\n\t\t\t\t\t</TableRow>\n\t\t\t\t))}\n\t\t\t</TableBody>\n\t\t\t<TableFooter>\n\t\t\t\t<TableRow>\n\t\t\t\t\t<TableCell colSpan={3}>Total</TableCell>\n\t\t\t\t\t<TableCell className=\"text-right\">$2,500.00</TableCell>\n\t\t\t\t</TableRow>\n\t\t\t</TableFooter>\n\t\t</Table>\n\t),\n} satisfies Story;\n"],"names":["Table","TableBody","TableCaption","TableCell","TableFooter","TableHead","TableHeader","TableRow","invoices","invoice","paymentStatus","totalAmount","paymentMethod","meta","title","Demo","render","className","map","colSpan"],"mappings":";AACA,SACCA,KAAK,EACLC,SAAS,EACTC,YAAY,EACZC,SAAS,EACTC,WAAW,EACXC,SAAS,EACTC,WAAW,EACXC,QAAQ,QACF,aAA8B;AAErC,MAAMC,WAAW;IAChB;QACCC,SAAS;QACTC,eAAe;QACfC,aAAa;QACbC,eAAe;IAChB;IACA;QACCH,SAAS;QACTC,eAAe;QACfC,aAAa;QACbC,eAAe;IAChB;IACA;QACCH,SAAS;QACTC,eAAe;QACfC,aAAa;QACbC,eAAe;IAChB;IACA;QACCH,SAAS;QACTC,eAAe;QACfC,aAAa;QACbC,eAAe;IAChB;IACA;QACCH,SAAS;QACTC,eAAe;QACfC,aAAa;QACbC,eAAe;IAChB;IACA;QACCH,SAAS;QACTC,eAAe;QACfC,aAAa;QACbC,eAAe;IAChB;IACA;QACCH,SAAS;QACTC,eAAe;QACfC,aAAa;QACbC,eAAe;IAChB;CACA;AAED,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ,kBACP,MAAChB;;8BACA,KAACE;8BAAa;;8BACd,KAACI;8BACA,cAAA,MAACC;;0CACA,KAACF;gCAAUY,WAAU;0CAAY;;0CACjC,KAACZ;0CAAU;;0CACX,KAACA;0CAAU;;0CACX,KAACA;gCAAUY,WAAU;0CAAa;;;;;8BAGpC,KAAChB;8BACCO,SAASU,GAAG,CAAC,CAACT,wBACd,MAACF;;8CACA,KAACJ;oCAAUc,WAAU;8CAAeR,QAAQA,OAAO;;8CACnD,KAACN;8CAAWM,QAAQC,aAAa;;8CACjC,KAACP;8CAAWM,QAAQG,aAAa;;8CACjC,KAACT;oCAAUc,WAAU;8CAAcR,QAAQE,WAAW;;;2BAJxCF,QAAQA,OAAO;;8BAQhC,KAACL;8BACA,cAAA,MAACG;;0CACA,KAACJ;gCAAUgB,SAAS;0CAAG;;0CACvB,KAAChB;gCAAUc,WAAU;0CAAa;;;;;;;AAKvC,EAAkB"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/table.stories.tsx"],"sourcesContent":["\"use client\";\n\nimport { Controls, Primary, Title } from \"@storybook/addon-docs/blocks\";\nimport type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport {\n\ttype ColumnDef,\n\tcreateColumnHelper,\n\tflexRender,\n\tgetCoreRowModel,\n\tgetSortedRowModel,\n\ttype RowSelectionState,\n\ttype SortingState,\n\tuseReactTable,\n} from \"@tanstack/react-table\";\nimport { useState } from \"react\";\n\nimport { Checkbox } from \"#shadcn/components/ui/checkbox\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"#shadcn/components/ui/table\";\n\ntype Invoice = {\n\tinvoice: string;\n\tpaymentStatus: \"Paid\" | \"Pending\" | \"Unpaid\";\n\ttotalAmount: number;\n\tpaymentMethod: string;\n};\n\nconst statuses: Invoice[\"paymentStatus\"][] = [\"Paid\", \"Pending\", \"Unpaid\"];\nconst methods: Invoice[\"paymentMethod\"][] = [\n\t\"Credit Card\",\n\t\"PayPal\",\n\t\"Bank Transfer\",\n];\n\nconst invoiceData: Invoice[] = Array.from({ length: 50 }, (_, i) => ({\n\tinvoice: `INV${String(i + 1).padStart(3, \"0\")}`,\n\tpaymentStatus: statuses[i % statuses.length] as string,\n\ttotalAmount: 100 + ((i * 73) % 900),\n\tpaymentMethod: methods[i % methods.length] as string,\n}));\n\nconst columnHelper = createColumnHelper<Invoice>();\n\nconst columns = [\n\tcolumnHelper.accessor(\"invoice\", {\n\t\theader: \"Invoice\",\n\t\tcell: (info) => String(info.getValue()),\n\t\tenableSorting: true,\n\t}),\n\tcolumnHelper.accessor(\"paymentStatus\", {\n\t\theader: \"Status\",\n\t\tcell: (info) => String(info.getValue()),\n\t\tenableSorting: true,\n\t}),\n\tcolumnHelper.accessor(\"paymentMethod\", {\n\t\theader: \"Method\",\n\t\tcell: (info) => String(info.getValue()),\n\t\tenableSorting: true,\n\t}),\n\tcolumnHelper.accessor(\"totalAmount\", {\n\t\theader: \"Amount\",\n\t\tcell: (info) => {\n\t\t\tconst value = info.getValue();\n\t\t\treturn `$${value.toFixed(2)}`;\n\t\t},\n\t\tenableSorting: true,\n\t}),\n];\n\nconst selectColumn: ColumnDef<Invoice, unknown> = {\n\tid: \"select\",\n\theader: ({ table }) => (\n\t\t<Checkbox\n\t\t\tsize=\"small\"\n\t\t\tchecked={\n\t\t\t\ttable.getIsAllPageRowsSelected()\n\t\t\t\t\t? true\n\t\t\t\t\t: table.getIsSomePageRowsSelected()\n\t\t\t\t\t\t? \"indeterminate\"\n\t\t\t\t\t\t: false\n\t\t\t}\n\t\t\tonCheckedChange={(value) => table.toggleAllPageRowsSelected(!!value)}\n\t\t\taria-label=\"Select all\"\n\t\t/>\n\t),\n\tcell: ({ row }) => (\n\t\t<Checkbox\n\t\t\tsize=\"small\"\n\t\t\tchecked={row.getIsSelected()}\n\t\t\tonCheckedChange={(value) => row.toggleSelected(!!value)}\n\t\t\taria-label=\"Select row\"\n\t\t/>\n\t),\n\tenableSorting: false,\n};\n\nfunction TableWithSorting({\n\tzebra = false,\n\tselectable = false,\n\tstickyHeader = false,\n}: {\n\tzebra?: boolean;\n\tselectable?: boolean;\n\tstickyHeader?: boolean;\n} = {}) {\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst [rowSelection, setRowSelection] = useState<RowSelectionState>({});\n\n\tconst tableColumns = selectable ? [selectColumn, ...columns] : columns;\n\n\tconst table = useReactTable({\n\t\tdata: invoiceData,\n\t\tcolumns: tableColumns,\n\t\tstate: {\n\t\t\tsorting,\n\t\t\trowSelection,\n\t\t},\n\t\tonSortingChange: setSorting,\n\t\tonRowSelectionChange: setRowSelection,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t});\n\n\treturn (\n\t\t<Table zebra={zebra} stickyHeader={stickyHeader}>\n\t\t\t<TableHeader>\n\t\t\t\t{table.getHeaderGroups().map((headerGroup) => (\n\t\t\t\t\t<TableRow key={headerGroup.id}>\n\t\t\t\t\t\t{headerGroup.headers.map((header) => (\n\t\t\t\t\t\t\t<TableHead\n\t\t\t\t\t\t\t\tkey={header.id}\n\t\t\t\t\t\t\t\tonClick={header.column.getToggleSortingHandler()}\n\t\t\t\t\t\t\t\tsortable={header.column.getCanSort()}\n\t\t\t\t\t\t\t\tsorted={header.column.getIsSorted() || false}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\t\t\theader.column.columnDef.header,\n\t\t\t\t\t\t\t\t\theader.getContext(),\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</TableHead>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</TableRow>\n\t\t\t\t))}\n\t\t\t</TableHeader>\n\t\t\t<TableBody>\n\t\t\t\t{table.getRowModel().rows.map((row, index) => (\n\t\t\t\t\t<TableRow\n\t\t\t\t\t\tkey={row.id}\n\t\t\t\t\t\tzebra={zebra}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\tselected={row.getIsSelected()}\n\t\t\t\t\t>\n\t\t\t\t\t\t{row.getVisibleCells().map((cell) => (\n\t\t\t\t\t\t\t<TableCell\n\t\t\t\t\t\t\t\tkey={cell.id}\n\t\t\t\t\t\t\t\ttype={cell.column.id === \"invoice\" ? \"link\" : \"text\"}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{flexRender(cell.column.columnDef.cell, cell.getContext())}\n\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</TableRow>\n\t\t\t\t))}\n\t\t\t</TableBody>\n\t\t</Table>\n\t);\n}\n\nconst meta = {\n\ttitle: \"Component/Table\",\n\tcomponent: TableWithSorting,\n\tparameters: {\n\t\tdocs: {\n\t\t\tpage: () => (\n\t\t\t\t<>\n\t\t\t\t\t<Title />\n\t\t\t\t\t<Primary />\n\t\t\t\t\t<Controls />\n\t\t\t\t</>\n\t\t\t),\n\t\t},\n\t},\n\targTypes: {\n\t\tzebra: {\n\t\t\tcontrol: \"boolean\",\n\t\t\tdescription: \"Enable alternating row background colors\",\n\t\t},\n\t\tselectable: {\n\t\t\tcontrol: \"boolean\",\n\t\t\tdescription: \"Enable row selection with checkboxes\",\n\t\t},\n\t\tstickyHeader: {\n\t\t\tcontrol: \"boolean\",\n\t\t\tdescription: \"Keep header fixed while scrolling\",\n\t\t},\n\t},\n\targs: {\n\t\tzebra: false,\n\t\tselectable: false,\n\t\tstickyHeader: false,\n\t},\n} satisfies Meta<typeof TableWithSorting>;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Default = {\n\ttags: [\"!dev\"],\n\trender: ({\n\t\tzebra = false,\n\t\tselectable = false,\n\t\tstickyHeader = false,\n\t}: {\n\t\tzebra?: boolean;\n\t\tselectable?: boolean;\n\t\tstickyHeader?: boolean;\n\t} = {}) => (\n\t\t<div className=\"h-80\">\n\t\t\t<TableWithSorting\n\t\t\t\tzebra={zebra}\n\t\t\t\tselectable={selectable}\n\t\t\t\tstickyHeader={stickyHeader}\n\t\t\t/>\n\t\t</div>\n\t),\n} satisfies Story;\n\nexport const Demo = {\n\ttags: [\"!autodocs\"],\n\trender: () => (\n\t\t<div className=\"space-y-8 p-6\">\n\t\t\t<div>\n\t\t\t\t<h3 className=\"text-lg font-semibold mb-4 text-text-primary\">\n\t\t\t\t\tWithout Zebra Striping\n\t\t\t\t</h3>\n\t\t\t\t<div className=\"h-80\">\n\t\t\t\t\t<TableWithSorting zebra={false} stickyHeader={true} />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h3 className=\"text-lg font-semibold mb-4 text-text-primary\">\n\t\t\t\t\tWith Zebra Striping\n\t\t\t\t</h3>\n\t\t\t\t<div className=\"h-80\">\n\t\t\t\t\t<TableWithSorting zebra={true} stickyHeader={true} />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h3 className=\"text-lg font-semibold mb-4 text-text-primary\">\n\t\t\t\t\tSelectable\n\t\t\t\t</h3>\n\t\t\t\t<div className=\"h-80\">\n\t\t\t\t\t<TableWithSorting selectable={true} stickyHeader={true} />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h3 className=\"text-lg font-semibold mb-4 text-text-primary\">\n\t\t\t\t\tSelectable + Zebra\n\t\t\t\t</h3>\n\t\t\t\t<div className=\"h-80\">\n\t\t\t\t\t<TableWithSorting\n\t\t\t\t\t\tselectable={true}\n\t\t\t\t\t\tzebra={true}\n\t\t\t\t\t\tstickyHeader={true}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t),\n} satisfies Story;\n"],"names":["Controls","Primary","Title","createColumnHelper","flexRender","getCoreRowModel","getSortedRowModel","useReactTable","useState","Checkbox","Table","TableBody","TableCell","TableHead","TableHeader","TableRow","statuses","methods","invoiceData","Array","from","length","_","i","invoice","String","padStart","paymentStatus","totalAmount","paymentMethod","columnHelper","columns","accessor","header","cell","info","getValue","enableSorting","value","toFixed","selectColumn","id","table","size","checked","getIsAllPageRowsSelected","getIsSomePageRowsSelected","onCheckedChange","toggleAllPageRowsSelected","aria-label","row","getIsSelected","toggleSelected","TableWithSorting","zebra","selectable","stickyHeader","sorting","setSorting","rowSelection","setRowSelection","tableColumns","data","state","onSortingChange","onRowSelectionChange","getHeaderGroups","map","headerGroup","headers","onClick","column","getToggleSortingHandler","sortable","getCanSort","sorted","getIsSorted","columnDef","getContext","getRowModel","rows","index","selected","getVisibleCells","type","meta","title","component","parameters","docs","page","argTypes","control","description","args","Default","tags","render","div","className","Demo","h3"],"mappings":"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"}
|
|
@@ -1,16 +1,41 @@
|
|
|
1
1
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
2
2
|
import { type VariantProps } from "class-variance-authority";
|
|
3
|
-
import
|
|
3
|
+
import * as React from "react";
|
|
4
4
|
import { Button } from "./button";
|
|
5
5
|
declare const tabsVariants: (props?: ({
|
|
6
|
-
variant?: "browser" | null | undefined;
|
|
6
|
+
variant?: "secondary" | "browser" | "tertiary" | null | undefined;
|
|
7
7
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
-
|
|
8
|
+
type TabsProps<T extends string> = Omit<React.ComponentProps<typeof TabsPrimitive.Root> & VariantProps<typeof tabsVariants>, "value" | "defaultValue" | "onValueChange"> & {
|
|
9
|
+
value?: T;
|
|
10
|
+
defaultValue?: T;
|
|
11
|
+
onValueChange?: (value: T) => void;
|
|
12
|
+
};
|
|
13
|
+
declare function Tabs<T extends string = string>({ className, variant, ...props }: TabsProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
9
14
|
export declare function TabsAddButton(props: React.ComponentProps<typeof Button>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
|
|
15
|
+
type EdgeScrollPosition = "touch" | "depart";
|
|
16
|
+
type FlowType = "overflow" | "underflow";
|
|
17
|
+
type TabsListProps = {
|
|
18
|
+
onLeftEdge?: (position: EdgeScrollPosition) => void;
|
|
19
|
+
onRightEdge?: (position: EdgeScrollPosition) => void;
|
|
20
|
+
onFlow?: (flow: FlowType) => void;
|
|
21
|
+
onResize?: (entries: ResizeObserverEntry[]) => void;
|
|
22
|
+
onTabChange?: (mutationRecords: MutationRecord[]) => void;
|
|
23
|
+
} & React.ComponentProps<typeof TabsPrimitive.List>;
|
|
24
|
+
declare function TabsList({ className, onLeftEdge, onRightEdge, onResize, onFlow, onTabChange, ...props }: TabsListProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
declare function TabsBrowserList({ className, children, onReorder, ...props }: React.ComponentProps<typeof TabsPrimitive.List> & {
|
|
26
|
+
onReorder?: (fromIndex: number, toIndex: number) => void;
|
|
27
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export declare function TabsListDropdown({ tabs, handleTabSelect, handleCloseTab, }: {
|
|
29
|
+
tabs: {
|
|
30
|
+
id: string;
|
|
31
|
+
content: React.ReactNode;
|
|
32
|
+
}[];
|
|
33
|
+
handleTabSelect?: (tabId: string) => void;
|
|
34
|
+
handleCloseTab?: (tabId: string) => void;
|
|
35
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
36
|
declare function TabsTrigger({ className, onClose, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger> & {
|
|
12
37
|
onClose?: (value: string) => void;
|
|
13
38
|
}): import("react/jsx-runtime").JSX.Element;
|
|
14
39
|
declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
export { Tabs, TabsList, TabsTrigger, TabsContent };
|
|
40
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent, TabsBrowserList };
|
|
16
41
|
//# sourceMappingURL=tabs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/tabs.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/tabs.tsx"],"names":[],"mappings":"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"}
|