@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
|
@@ -20,20 +20,20 @@ declare function ChartContainer({ id, className, children, config, ...props }: R
|
|
|
20
20
|
config: ChartConfig;
|
|
21
21
|
children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
|
|
22
22
|
}): import("react/jsx-runtime").JSX.Element;
|
|
23
|
-
declare
|
|
23
|
+
declare function ChartStyle({ id, config }: {
|
|
24
24
|
id: string;
|
|
25
25
|
config: ChartConfig;
|
|
26
|
-
})
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
27
27
|
declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
|
|
28
|
-
declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }:
|
|
28
|
+
declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: RechartsPrimitive.TooltipContentProps & React.ComponentProps<"div"> & {
|
|
29
29
|
hideLabel?: boolean;
|
|
30
30
|
hideIndicator?: boolean;
|
|
31
31
|
indicator?: "line" | "dot" | "dashed";
|
|
32
32
|
nameKey?: string;
|
|
33
33
|
labelKey?: string;
|
|
34
34
|
}): import("react/jsx-runtime").JSX.Element | null;
|
|
35
|
-
declare const ChartLegend:
|
|
36
|
-
declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React.ComponentProps<"div"> & Pick<RechartsPrimitive.
|
|
35
|
+
declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
|
|
36
|
+
declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React.ComponentProps<"div"> & Pick<RechartsPrimitive.DefaultLegendContentProps, "payload" | "verticalAlign"> & {
|
|
37
37
|
hideIcon?: boolean;
|
|
38
38
|
nameKey?: string;
|
|
39
39
|
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/chart.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/chart.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAC;AAK9C,QAAA,MAAM,MAAM;;;CAAwC,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;KACxB,CAAC,IAAI,MAAM,GAAG;QACd,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC3B,GAAG,CACD;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GACjC;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAC/D;CACD,CAAC;AAkBF,iBAAS,cAAc,CAAC,EACvB,EAAE,EACF,SAAS,EACT,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAC7B,OAAO,iBAAiB,CAAC,mBAAmB,CAC5C,CAAC,UAAU,CAAC,CAAC;CACd,2CAsBA;AAED,iBAAS,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,kDAgCtE;AAED,QAAA,MAAM,YAAY,kCAA4B,CAAC;AAE/C,iBAAS,mBAAmB,CAAC,EAC5B,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAiB,EACjB,SAAiB,EACjB,aAAqB,EACrB,KAAK,EACL,cAAc,EACd,cAAc,EACd,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,GACR,EAAE,iBAAiB,CAAC,mBAAmB,GACvC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,kDAyHD;AAED,QAAA,MAAM,WAAW,sGAA2B,CAAC;AAE7C,iBAAS,kBAAkB,CAAC,EAC3B,SAAS,EACT,QAAgB,EAChB,OAAO,EACP,aAAwB,EACxB,OAAO,GACP,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAC7B,IAAI,CACH,iBAAiB,CAAC,yBAAyB,EAC3C,SAAS,GAAG,eAAe,CAC3B,GAAG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,kDA0CD;AAyCD,OAAO,EACN,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,UAAU,GACV,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
3
|
import * as React from "react";
|
|
3
4
|
import * as RechartsPrimitive from "recharts";
|
|
@@ -39,7 +40,7 @@ function ChartContainer({ id, className, children, config, ...props }) {
|
|
|
39
40
|
})
|
|
40
41
|
});
|
|
41
42
|
}
|
|
42
|
-
|
|
43
|
+
function ChartStyle({ id, config }) {
|
|
43
44
|
const colorConfig = Object.entries(config).filter(([, config])=>config.theme || config.color);
|
|
44
45
|
if (!colorConfig.length) {
|
|
45
46
|
return null;
|
|
@@ -57,7 +58,7 @@ ${colorConfig.map(([key, itemConfig])=>{
|
|
|
57
58
|
`).join("\n")
|
|
58
59
|
}
|
|
59
60
|
});
|
|
60
|
-
}
|
|
61
|
+
}
|
|
61
62
|
const ChartTooltip = RechartsPrimitive.Tooltip;
|
|
62
63
|
function ChartTooltipContent({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey }) {
|
|
63
64
|
const { config } = useChart();
|
|
@@ -142,7 +143,7 @@ function ChartTooltipContent({ active, payload, className, indicator = "dot", hi
|
|
|
142
143
|
})
|
|
143
144
|
]
|
|
144
145
|
})
|
|
145
|
-
}, item.dataKey);
|
|
146
|
+
}, String(item.dataKey ?? index));
|
|
146
147
|
})
|
|
147
148
|
})
|
|
148
149
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/shadcn/components/ui/chart.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const;\n\nexport type ChartConfig = {\n\t[k in string]: {\n\t\tlabel?: React.ReactNode;\n\t\ticon?: React.ComponentType;\n\t} & (\n\t\t| { color?: string; theme?: never }\n\t\t| { color?: never; theme: Record<keyof typeof THEMES, string> }\n\t);\n};\n\ntype ChartContextProps = {\n\tconfig: ChartConfig;\n};\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n\tconst context = React.useContext(ChartContext);\n\n\tif (!context) {\n\t\tthrow new Error(\"useChart must be used within a <ChartContainer />\");\n\t}\n\n\treturn context;\n}\n\nfunction ChartContainer({\n\tid,\n\tclassName,\n\tchildren,\n\tconfig,\n\t...props\n}: React.ComponentProps<\"div\"> & {\n\tconfig: ChartConfig;\n\tchildren: React.ComponentProps<\n\t\ttypeof RechartsPrimitive.ResponsiveContainer\n\t>[\"children\"];\n}) {\n\tconst uniqueId = React.useId();\n\tconst chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`;\n\n\treturn (\n\t\t<ChartContext.Provider value={{ config }}>\n\t\t\t<div\n\t\t\t\tdata-slot=\"chart\"\n\t\t\t\tdata-chart={chartId}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ChartStyle id={chartId} config={config} />\n\t\t\t\t<RechartsPrimitive.ResponsiveContainer>\n\t\t\t\t\t{children}\n\t\t\t\t</RechartsPrimitive.ResponsiveContainer>\n\t\t\t</div>\n\t\t</ChartContext.Provider>\n\t);\n}\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n\tconst colorConfig = Object.entries(config).filter(\n\t\t([, config]) => config.theme || config.color,\n\t);\n\n\tif (!colorConfig.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<style\n\t\t\t// biome-ignore lint/security/noDangerouslySetInnerHtml: FIXME: unchanged shadcn\n\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t__html: Object.entries(THEMES)\n\t\t\t\t\t.map(\n\t\t\t\t\t\t([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n\t.map(([key, itemConfig]) => {\n\t\tconst color =\n\t\t\titemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n\t\t\titemConfig.color;\n\t\treturn color ? ` --color-${key}: ${color};` : null;\n\t})\n\t.join(\"\\n\")}\n}\n`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\\n\"),\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nfunction ChartTooltipContent({\n\tactive,\n\tpayload,\n\tclassName,\n\tindicator = \"dot\",\n\thideLabel = false,\n\thideIndicator = false,\n\tlabel,\n\tlabelFormatter,\n\tlabelClassName,\n\tformatter,\n\tcolor,\n\tnameKey,\n\tlabelKey,\n}: React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n\tReact.ComponentProps<\"div\"> & {\n\t\thideLabel?: boolean;\n\t\thideIndicator?: boolean;\n\t\tindicator?: \"line\" | \"dot\" | \"dashed\";\n\t\tnameKey?: string;\n\t\tlabelKey?: string;\n\t}) {\n\tconst { config } = useChart();\n\n\tconst tooltipLabel = React.useMemo(() => {\n\t\tif (hideLabel || !payload?.length) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst [item] = payload;\n\t\tconst key = `${labelKey || item?.dataKey || item?.name || \"value\"}`;\n\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\tconst value =\n\t\t\t!labelKey && typeof label === \"string\"\n\t\t\t\t? config[label as keyof typeof config]?.label || label\n\t\t\t\t: itemConfig?.label;\n\n\t\tif (labelFormatter) {\n\t\t\treturn (\n\t\t\t\t<div className={cn(\"font-medium\", labelClassName)}>\n\t\t\t\t\t{labelFormatter(value, payload)}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (!value) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <div className={cn(\"font-medium\", labelClassName)}>{value}</div>;\n\t}, [\n\t\tlabel,\n\t\tlabelFormatter,\n\t\tpayload,\n\t\thideLabel,\n\t\tlabelClassName,\n\t\tconfig,\n\t\tlabelKey,\n\t]);\n\n\tif (!active || !payload?.length) {\n\t\treturn null;\n\t}\n\n\tconst nestLabel = payload.length === 1 && indicator !== \"dot\";\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{!nestLabel ? tooltipLabel : null}\n\t\t\t<div className=\"grid gap-1.5\">\n\t\t\t\t{payload.map((item, index) => {\n\t\t\t\t\tconst key = `${nameKey || item.name || item.dataKey || \"value\"}`;\n\t\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\t\t\t\tconst indicatorColor = color || item.payload.fill || item.color;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={item.dataKey}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5\",\n\t\t\t\t\t\t\t\tindicator === \"dot\" && \"items-center\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{formatter && item?.value !== undefined && item.name ? (\n\t\t\t\t\t\t\t\tformatter(item.value, item.name, item, index, item.payload)\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{itemConfig?.icon ? (\n\t\t\t\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t!hideIndicator && (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"h-2.5 w-2.5\": indicator === \"dot\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"w-1\": indicator === \"line\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"w-0 border-[1.5px] border-dashed bg-transparent\":\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindicator === \"dashed\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"my-0.5\": nestLabel && indicator === \"dashed\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"--color-bg\": indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"--color-border\": indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\"flex flex-1 justify-between leading-none\",\n\t\t\t\t\t\t\t\t\t\t\tnestLabel ? \"items-end\" : \"items-center\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"grid gap-1.5\">\n\t\t\t\t\t\t\t\t\t\t\t{nestLabel ? tooltipLabel : null}\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t{itemConfig?.label || item.name}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{item.value && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-foreground font-mono font-medium tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t\t\t{item.value.toLocaleString()}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nfunction ChartLegendContent({\n\tclassName,\n\thideIcon = false,\n\tpayload,\n\tverticalAlign = \"bottom\",\n\tnameKey,\n}: React.ComponentProps<\"div\"> &\n\tPick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n\t\thideIcon?: boolean;\n\t\tnameKey?: string;\n\t}) {\n\tconst { config } = useChart();\n\n\tif (!payload?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"flex items-center justify-center gap-4\",\n\t\t\t\tverticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{payload.map((item) => {\n\t\t\t\tconst key = `${nameKey || item.dataKey || \"value\"}`;\n\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={item.value}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{itemConfig?.icon && !hideIcon ? (\n\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"h-2 w-2 shrink-0 rounded-[2px]\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tbackgroundColor: item.color,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{itemConfig?.label}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n\tconfig: ChartConfig,\n\tpayload: unknown,\n\tkey: string,\n) {\n\tif (typeof payload !== \"object\" || payload === null) {\n\t\treturn undefined;\n\t}\n\n\tconst payloadPayload =\n\t\t\"payload\" in payload &&\n\t\ttypeof payload.payload === \"object\" &&\n\t\tpayload.payload !== null\n\t\t\t? payload.payload\n\t\t\t: undefined;\n\n\tlet configLabelKey: string = key;\n\n\tif (\n\t\tkey in payload &&\n\t\ttypeof payload[key as keyof typeof payload] === \"string\"\n\t) {\n\t\tconfigLabelKey = payload[key as keyof typeof payload] as string;\n\t} else if (\n\t\tpayloadPayload &&\n\t\tkey in payloadPayload &&\n\t\ttypeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n\t) {\n\t\tconfigLabelKey = payloadPayload[\n\t\t\tkey as keyof typeof payloadPayload\n\t\t] as string;\n\t}\n\n\treturn configLabelKey in config\n\t\t? config[configLabelKey]\n\t\t: config[key as keyof typeof config];\n}\n\nexport {\n\tChartContainer,\n\tChartTooltip,\n\tChartTooltipContent,\n\tChartLegend,\n\tChartLegendContent,\n\tChartStyle,\n};\n"],"names":["React","RechartsPrimitive","cn","THEMES","light","dark","ChartContext","createContext","useChart","context","useContext","Error","ChartContainer","id","className","children","config","props","uniqueId","useId","chartId","replace","Provider","value","div","data-slot","data-chart","ChartStyle","ResponsiveContainer","colorConfig","Object","entries","filter","theme","color","length","style","dangerouslySetInnerHTML","__html","map","prefix","key","itemConfig","join","ChartTooltip","Tooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","tooltipLabel","useMemo","item","dataKey","name","getPayloadConfigFromPayload","nestLabel","index","indicatorColor","fill","undefined","icon","span","toLocaleString","ChartLegend","Legend","ChartLegendContent","hideIcon","verticalAlign","backgroundColor","payloadPayload","configLabelKey"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/chart.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const;\n\nexport type ChartConfig = {\n\t[k in string]: {\n\t\tlabel?: React.ReactNode;\n\t\ticon?: React.ComponentType;\n\t} & (\n\t\t| { color?: string; theme?: never }\n\t\t| { color?: never; theme: Record<keyof typeof THEMES, string> }\n\t);\n};\n\ntype ChartContextProps = {\n\tconfig: ChartConfig;\n};\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n\tconst context = React.useContext(ChartContext);\n\n\tif (!context) {\n\t\tthrow new Error(\"useChart must be used within a <ChartContainer />\");\n\t}\n\n\treturn context;\n}\n\nfunction ChartContainer({\n\tid,\n\tclassName,\n\tchildren,\n\tconfig,\n\t...props\n}: React.ComponentProps<\"div\"> & {\n\tconfig: ChartConfig;\n\tchildren: React.ComponentProps<\n\t\ttypeof RechartsPrimitive.ResponsiveContainer\n\t>[\"children\"];\n}) {\n\tconst uniqueId = React.useId();\n\tconst chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`;\n\n\treturn (\n\t\t<ChartContext.Provider value={{ config }}>\n\t\t\t<div\n\t\t\t\tdata-slot=\"chart\"\n\t\t\t\tdata-chart={chartId}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ChartStyle id={chartId} config={config} />\n\t\t\t\t<RechartsPrimitive.ResponsiveContainer>\n\t\t\t\t\t{children}\n\t\t\t\t</RechartsPrimitive.ResponsiveContainer>\n\t\t\t</div>\n\t\t</ChartContext.Provider>\n\t);\n}\n\nfunction ChartStyle({ id, config }: { id: string; config: ChartConfig }) {\n\tconst colorConfig = Object.entries(config).filter(\n\t\t([, config]) => config.theme || config.color,\n\t);\n\n\tif (!colorConfig.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<style\n\t\t\t// biome-ignore lint/security/noDangerouslySetInnerHtml: FIXME: unchanged shadcn\n\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t__html: Object.entries(THEMES)\n\t\t\t\t\t.map(\n\t\t\t\t\t\t([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n\t.map(([key, itemConfig]) => {\n\t\tconst color =\n\t\t\titemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n\t\t\titemConfig.color;\n\t\treturn color ? ` --color-${key}: ${color};` : null;\n\t})\n\t.join(\"\\n\")}\n}\n`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\\n\"),\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nfunction ChartTooltipContent({\n\tactive,\n\tpayload,\n\tclassName,\n\tindicator = \"dot\",\n\thideLabel = false,\n\thideIndicator = false,\n\tlabel,\n\tlabelFormatter,\n\tlabelClassName,\n\tformatter,\n\tcolor,\n\tnameKey,\n\tlabelKey,\n}: RechartsPrimitive.TooltipContentProps &\n\tReact.ComponentProps<\"div\"> & {\n\t\thideLabel?: boolean;\n\t\thideIndicator?: boolean;\n\t\tindicator?: \"line\" | \"dot\" | \"dashed\";\n\t\tnameKey?: string;\n\t\tlabelKey?: string;\n\t}) {\n\tconst { config } = useChart();\n\n\tconst tooltipLabel = React.useMemo(() => {\n\t\tif (hideLabel || !payload?.length) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst [item] = payload;\n\t\tconst key = `${labelKey || item?.dataKey || item?.name || \"value\"}`;\n\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\tconst value =\n\t\t\t!labelKey && typeof label === \"string\"\n\t\t\t\t? config[label as keyof typeof config]?.label || label\n\t\t\t\t: itemConfig?.label;\n\n\t\tif (labelFormatter) {\n\t\t\treturn (\n\t\t\t\t<div className={cn(\"font-medium\", labelClassName)}>\n\t\t\t\t\t{labelFormatter(value, payload)}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (!value) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <div className={cn(\"font-medium\", labelClassName)}>{value}</div>;\n\t}, [\n\t\tlabel,\n\t\tlabelFormatter,\n\t\tpayload,\n\t\thideLabel,\n\t\tlabelClassName,\n\t\tconfig,\n\t\tlabelKey,\n\t]);\n\n\tif (!active || !payload?.length) {\n\t\treturn null;\n\t}\n\n\tconst nestLabel = payload.length === 1 && indicator !== \"dot\";\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{!nestLabel ? tooltipLabel : null}\n\t\t\t<div className=\"grid gap-1.5\">\n\t\t\t\t{payload.map((item, index) => {\n\t\t\t\t\tconst key = `${nameKey || item.name || item.dataKey || \"value\"}`;\n\t\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\t\t\t\tconst indicatorColor = color || item.payload.fill || item.color;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={String(item.dataKey ?? index)}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5\",\n\t\t\t\t\t\t\t\tindicator === \"dot\" && \"items-center\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{formatter && item?.value !== undefined && item.name ? (\n\t\t\t\t\t\t\t\tformatter(item.value, item.name, item, index, item.payload)\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{itemConfig?.icon ? (\n\t\t\t\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t!hideIndicator && (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"h-2.5 w-2.5\": indicator === \"dot\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"w-1\": indicator === \"line\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"w-0 border-[1.5px] border-dashed bg-transparent\":\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindicator === \"dashed\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"my-0.5\": nestLabel && indicator === \"dashed\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"--color-bg\": indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"--color-border\": indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\"flex flex-1 justify-between leading-none\",\n\t\t\t\t\t\t\t\t\t\t\tnestLabel ? \"items-end\" : \"items-center\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"grid gap-1.5\">\n\t\t\t\t\t\t\t\t\t\t\t{nestLabel ? tooltipLabel : null}\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t{itemConfig?.label || item.name}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{item.value && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-foreground font-mono font-medium tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t\t\t{item.value.toLocaleString()}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nfunction ChartLegendContent({\n\tclassName,\n\thideIcon = false,\n\tpayload,\n\tverticalAlign = \"bottom\",\n\tnameKey,\n}: React.ComponentProps<\"div\"> &\n\tPick<\n\t\tRechartsPrimitive.DefaultLegendContentProps,\n\t\t\"payload\" | \"verticalAlign\"\n\t> & {\n\t\thideIcon?: boolean;\n\t\tnameKey?: string;\n\t}) {\n\tconst { config } = useChart();\n\n\tif (!payload?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"flex items-center justify-center gap-4\",\n\t\t\t\tverticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{payload.map((item) => {\n\t\t\t\tconst key = `${nameKey || item.dataKey || \"value\"}`;\n\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={item.value}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{itemConfig?.icon && !hideIcon ? (\n\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"h-2 w-2 shrink-0 rounded-[2px]\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tbackgroundColor: item.color,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{itemConfig?.label}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n\tconfig: ChartConfig,\n\tpayload: unknown,\n\tkey: string,\n) {\n\tif (typeof payload !== \"object\" || payload === null) {\n\t\treturn undefined;\n\t}\n\n\tconst payloadPayload =\n\t\t\"payload\" in payload &&\n\t\ttypeof payload.payload === \"object\" &&\n\t\tpayload.payload !== null\n\t\t\t? payload.payload\n\t\t\t: undefined;\n\n\tlet configLabelKey: string = key;\n\n\tif (\n\t\tkey in payload &&\n\t\ttypeof payload[key as keyof typeof payload] === \"string\"\n\t) {\n\t\tconfigLabelKey = payload[key as keyof typeof payload] as string;\n\t} else if (\n\t\tpayloadPayload &&\n\t\tkey in payloadPayload &&\n\t\ttypeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n\t) {\n\t\tconfigLabelKey = payloadPayload[\n\t\t\tkey as keyof typeof payloadPayload\n\t\t] as string;\n\t}\n\n\treturn configLabelKey in config\n\t\t? config[configLabelKey]\n\t\t: config[key as keyof typeof config];\n}\n\nexport {\n\tChartContainer,\n\tChartTooltip,\n\tChartTooltipContent,\n\tChartLegend,\n\tChartLegendContent,\n\tChartStyle,\n};\n"],"names":["React","RechartsPrimitive","cn","THEMES","light","dark","ChartContext","createContext","useChart","context","useContext","Error","ChartContainer","id","className","children","config","props","uniqueId","useId","chartId","replace","Provider","value","div","data-slot","data-chart","ChartStyle","ResponsiveContainer","colorConfig","Object","entries","filter","theme","color","length","style","dangerouslySetInnerHTML","__html","map","prefix","key","itemConfig","join","ChartTooltip","Tooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","tooltipLabel","useMemo","item","dataKey","name","getPayloadConfigFromPayload","nestLabel","index","indicatorColor","fill","undefined","icon","span","toLocaleString","String","ChartLegend","Legend","ChartLegendContent","hideIcon","verticalAlign","backgroundColor","payloadPayload","configLabelKey"],"mappings":"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"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
3
|
import type * as React from "react";
|
|
3
|
-
declare
|
|
4
|
+
declare const checkboxVariants: (props?: ({
|
|
5
|
+
size?: "small" | "regular" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
declare function Checkbox({ className, size, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root> & VariantProps<typeof checkboxVariants>): import("react/jsx-runtime").JSX.Element;
|
|
4
8
|
export { Checkbox };
|
|
5
9
|
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/checkbox.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/checkbox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAiDpC,QAAA,MAAM,gBAAgB;;8EAUpB,CAAC;AAaH,iBAAS,QAAQ,CAAC,EACjB,SAAS,EACT,IAAI,EACJ,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,GACrD,YAAY,CAAC,OAAO,gBAAgB,CAAC,2CA6BrC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,17 +1,57 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
3
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
3
|
-
import {
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { CheckIcon, MinusIcon } from "lucide-react";
|
|
4
6
|
import { cn } from "../../lib/utils.js";
|
|
5
|
-
|
|
7
|
+
// Checkbox root styles
|
|
8
|
+
const baseCheckboxStyles = cn(// Layout
|
|
9
|
+
"inline-flex", "items-center", "justify-center", "peer", "shrink-0", // Shape
|
|
10
|
+
"rounded-[2px]", // Interaction
|
|
11
|
+
"outline-none", "cursor-pointer", // Animation
|
|
12
|
+
"transition-colors", "duration-200", // Default state
|
|
13
|
+
"bg-bg-primary", "border-border-dark", // Checked state
|
|
14
|
+
"data-[state=checked]:bg-[var(--color-fg-link)]", "data-[state=checked]:border-[var(--color-fg-link)]", "data-[state=checked]:text-white", // Indeterminate state
|
|
15
|
+
"data-[state=indeterminate]:bg-[var(--color-fg-link)]", "data-[state=indeterminate]:border-[var(--color-fg-link)]", "data-[state=indeterminate]:text-white", // Disabled states
|
|
16
|
+
"disabled:cursor-not-allowed", "disabled:bg-bg-primary", "disabled:border-[var(--color-fg-disabled)]", "disabled:data-[state=checked]:bg-[var(--color-fg-disabled)]", "disabled:data-[state=checked]:border-[var(--color-fg-disabled)]", "disabled:data-[state=checked]:text-[var(--color-fg-secondary)]", "disabled:data-[state=indeterminate]:bg-[var(--color-fg-disabled)]", "disabled:data-[state=indeterminate]:border-[var(--color-fg-disabled)]", "disabled:data-[state=indeterminate]:text-[var(--color-fg-secondary)]", // Focus styles
|
|
17
|
+
"focus-visible:ring-4", "focus-visible:ring-ring-blue", "focus-visible:border-border-link", // Hover styles
|
|
18
|
+
"disabled:hover:ring-0");
|
|
19
|
+
const checkboxVariants = cva(baseCheckboxStyles, {
|
|
20
|
+
variants: {
|
|
21
|
+
size: {
|
|
22
|
+
regular: "size-5 border-[1.5px]",
|
|
23
|
+
small: "size-4 border-[1.5px]"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
defaultVariants: {
|
|
27
|
+
size: "regular"
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
// Checkbox indicator styles
|
|
31
|
+
const checkboxIndicatorStyles = cn(// Layout
|
|
32
|
+
"flex", "items-center", "justify-center", // Colors
|
|
33
|
+
"text-white", "disabled:text-[var(--color-fg-secondary)]");
|
|
34
|
+
function Checkbox({ className, size, ...props }) {
|
|
6
35
|
return /*#__PURE__*/ _jsx(CheckboxPrimitive.Root, {
|
|
7
36
|
"data-slot": "checkbox",
|
|
8
|
-
className: cn(
|
|
37
|
+
className: cn(checkboxVariants({
|
|
38
|
+
size
|
|
39
|
+
}), className),
|
|
9
40
|
...props,
|
|
10
41
|
children: /*#__PURE__*/ _jsx(CheckboxPrimitive.Indicator, {
|
|
42
|
+
forceMount: true,
|
|
11
43
|
"data-slot": "checkbox-indicator",
|
|
12
|
-
className: "
|
|
13
|
-
children: /*#__PURE__*/ _jsx(
|
|
14
|
-
className: "size-3.5"
|
|
44
|
+
className: cn(checkboxIndicatorStyles, "data-[state=unchecked]:opacity-0"),
|
|
45
|
+
children: props.checked === "indeterminate" ? /*#__PURE__*/ _jsx(MinusIcon, {
|
|
46
|
+
className: cn(size === "small" ? "size-2.5" : "size-3.5"),
|
|
47
|
+
style: {
|
|
48
|
+
strokeWidth: 3
|
|
49
|
+
}
|
|
50
|
+
}) : /*#__PURE__*/ _jsx(CheckIcon, {
|
|
51
|
+
className: cn(size === "small" ? "size-2.5" : "size-3.5"),
|
|
52
|
+
style: {
|
|
53
|
+
strokeWidth: 3
|
|
54
|
+
}
|
|
15
55
|
})
|
|
16
56
|
})
|
|
17
57
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/shadcn/components/ui/checkbox.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/checkbox.tsx"],"sourcesContent":["\"use client\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { CheckIcon, MinusIcon } from \"lucide-react\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\n// Checkbox root styles\nconst baseCheckboxStyles = cn(\n\t// Layout\n\t\"inline-flex\",\n\t\"items-center\",\n\t\"justify-center\",\n\t\"peer\",\n\t\"shrink-0\",\n\t// Shape\n\t\"rounded-[2px]\",\n\t// Interaction\n\t\"outline-none\",\n\t\"cursor-pointer\",\n\t// Animation\n\t\"transition-colors\",\n\t\"duration-200\",\n\t// Default state\n\t\"bg-bg-primary\",\n\t\"border-border-dark\",\n\t// Checked state\n\t\"data-[state=checked]:bg-[var(--color-fg-link)]\",\n\t\"data-[state=checked]:border-[var(--color-fg-link)]\",\n\t\"data-[state=checked]:text-white\",\n\t// Indeterminate state\n\t\"data-[state=indeterminate]:bg-[var(--color-fg-link)]\",\n\t\"data-[state=indeterminate]:border-[var(--color-fg-link)]\",\n\t\"data-[state=indeterminate]:text-white\",\n\t// Disabled states\n\t\"disabled:cursor-not-allowed\",\n\t\"disabled:bg-bg-primary\",\n\t\"disabled:border-[var(--color-fg-disabled)]\",\n\t\"disabled:data-[state=checked]:bg-[var(--color-fg-disabled)]\",\n\t\"disabled:data-[state=checked]:border-[var(--color-fg-disabled)]\",\n\t\"disabled:data-[state=checked]:text-[var(--color-fg-secondary)]\",\n\t\"disabled:data-[state=indeterminate]:bg-[var(--color-fg-disabled)]\",\n\t\"disabled:data-[state=indeterminate]:border-[var(--color-fg-disabled)]\",\n\t\"disabled:data-[state=indeterminate]:text-[var(--color-fg-secondary)]\",\n\t// Focus styles\n\t\"focus-visible:ring-4\",\n\t\"focus-visible:ring-ring-blue\",\n\t\"focus-visible:border-border-link\",\n\t// Hover styles\n\t\"disabled:hover:ring-0\",\n);\n\nconst checkboxVariants = cva(baseCheckboxStyles, {\n\tvariants: {\n\t\tsize: {\n\t\t\tregular: \"size-5 border-[1.5px]\",\n\t\t\tsmall: \"size-4 border-[1.5px]\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"regular\",\n\t},\n});\n\n// Checkbox indicator styles\nconst checkboxIndicatorStyles = cn(\n\t// Layout\n\t\"flex\",\n\t\"items-center\",\n\t\"justify-center\",\n\t// Colors\n\t\"text-white\",\n\t\"disabled:text-[var(--color-fg-secondary)]\",\n);\n\nfunction Checkbox({\n\tclassName,\n\tsize,\n\t...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root> &\n\tVariantProps<typeof checkboxVariants>) {\n\treturn (\n\t\t<CheckboxPrimitive.Root\n\t\t\tdata-slot=\"checkbox\"\n\t\t\tclassName={cn(checkboxVariants({ size }), className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<CheckboxPrimitive.Indicator\n\t\t\t\tforceMount\n\t\t\t\tdata-slot=\"checkbox-indicator\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\tcheckboxIndicatorStyles,\n\t\t\t\t\t\"data-[state=unchecked]:opacity-0\",\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{props.checked === \"indeterminate\" ? (\n\t\t\t\t\t<MinusIcon\n\t\t\t\t\t\tclassName={cn(size === \"small\" ? \"size-2.5\" : \"size-3.5\")}\n\t\t\t\t\t\tstyle={{ strokeWidth: 3 }}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<CheckIcon\n\t\t\t\t\t\tclassName={cn(size === \"small\" ? \"size-2.5\" : \"size-3.5\")}\n\t\t\t\t\t\tstyle={{ strokeWidth: 3 }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</CheckboxPrimitive.Indicator>\n\t\t</CheckboxPrimitive.Root>\n\t);\n}\n\nexport { Checkbox };\n"],"names":["CheckboxPrimitive","cva","CheckIcon","MinusIcon","cn","baseCheckboxStyles","checkboxVariants","variants","size","regular","small","defaultVariants","checkboxIndicatorStyles","Checkbox","className","props","Root","data-slot","Indicator","forceMount","checked","style","strokeWidth"],"mappings":"AAAA;;AACA,YAAYA,uBAAuB,2BAA2B;AAC9D,SAASC,GAAG,QAA2B,2BAA2B;AAClE,SAASC,SAAS,EAAEC,SAAS,QAAQ,eAAe;AAGpD,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,uBAAuB;AACvB,MAAMC,qBAAqBD,GAC1B,SAAS;AACT,eACA,gBACA,kBACA,QACA,YACA,QAAQ;AACR,iBACA,cAAc;AACd,gBACA,kBACA,YAAY;AACZ,qBACA,gBACA,gBAAgB;AAChB,iBACA,sBACA,gBAAgB;AAChB,kDACA,sDACA,mCACA,sBAAsB;AACtB,wDACA,4DACA,yCACA,kBAAkB;AAClB,+BACA,0BACA,8CACA,+DACA,mEACA,kEACA,qEACA,yEACA,wEACA,eAAe;AACf,wBACA,gCACA,oCACA,eAAe;AACf;AAGD,MAAME,mBAAmBL,IAAII,oBAAoB;IAChDE,UAAU;QACTC,MAAM;YACLC,SAAS;YACTC,OAAO;QACR;IACD;IACAC,iBAAiB;QAChBH,MAAM;IACP;AACD;AAEA,4BAA4B;AAC5B,MAAMI,0BAA0BR,GAC/B,SAAS;AACT,QACA,gBACA,kBACA,SAAS;AACT,cACA;AAGD,SAASS,SAAS,EACjBC,SAAS,EACTN,IAAI,EACJ,GAAGO,OAEkC;IACrC,qBACC,KAACf,kBAAkBgB,IAAI;QACtBC,aAAU;QACVH,WAAWV,GAAGE,iBAAiB;YAAEE;QAAK,IAAIM;QACzC,GAAGC,KAAK;kBAET,cAAA,KAACf,kBAAkBkB,SAAS;YAC3BC,UAAU;YACVF,aAAU;YACVH,WAAWV,GACVQ,yBACA;sBAGAG,MAAMK,OAAO,KAAK,gCAClB,KAACjB;gBACAW,WAAWV,GAAGI,SAAS,UAAU,aAAa;gBAC9Ca,OAAO;oBAAEC,aAAa;gBAAE;+BAGzB,KAACpB;gBACAY,WAAWV,GAAGI,SAAS,UAAU,aAAa;gBAC9Ca,OAAO;oBAAEC,aAAa;gBAAE;;;;AAM9B;AAEA,SAAST,QAAQ,GAAG"}
|
|
@@ -7,73 +7,183 @@ const meta = {
|
|
|
7
7
|
export default meta;
|
|
8
8
|
export const Demo = {
|
|
9
9
|
render: ()=>/*#__PURE__*/ _jsxs("div", {
|
|
10
|
-
className: "flex
|
|
10
|
+
className: "flex gap-12",
|
|
11
11
|
children: [
|
|
12
12
|
/*#__PURE__*/ _jsxs("div", {
|
|
13
|
-
className: "flex
|
|
13
|
+
className: "flex flex-col gap-6",
|
|
14
14
|
children: [
|
|
15
|
-
/*#__PURE__*/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/*#__PURE__*/ _jsx(Checkbox, {
|
|
28
|
-
id: "terms-2",
|
|
29
|
-
defaultChecked: true
|
|
15
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
16
|
+
className: "flex items-center gap-3",
|
|
17
|
+
children: [
|
|
18
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
19
|
+
id: "terms",
|
|
20
|
+
size: "regular"
|
|
21
|
+
}),
|
|
22
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
23
|
+
htmlFor: "terms",
|
|
24
|
+
children: "Unchecked"
|
|
25
|
+
})
|
|
26
|
+
]
|
|
30
27
|
}),
|
|
31
28
|
/*#__PURE__*/ _jsxs("div", {
|
|
32
|
-
className: "
|
|
29
|
+
className: "flex items-center gap-3",
|
|
33
30
|
children: [
|
|
31
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
32
|
+
id: "terms-2",
|
|
33
|
+
size: "regular",
|
|
34
|
+
defaultChecked: true
|
|
35
|
+
}),
|
|
34
36
|
/*#__PURE__*/ _jsx(Label, {
|
|
35
37
|
htmlFor: "terms-2",
|
|
36
|
-
children: "
|
|
38
|
+
children: "Checked"
|
|
39
|
+
})
|
|
40
|
+
]
|
|
41
|
+
}),
|
|
42
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
43
|
+
className: "flex items-center gap-3",
|
|
44
|
+
children: [
|
|
45
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
46
|
+
id: "indeterminate",
|
|
47
|
+
size: "regular",
|
|
48
|
+
checked: "indeterminate"
|
|
49
|
+
}),
|
|
50
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
51
|
+
htmlFor: "indeterminate",
|
|
52
|
+
children: "Indeterminate"
|
|
53
|
+
})
|
|
54
|
+
]
|
|
55
|
+
}),
|
|
56
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
57
|
+
className: "flex items-center gap-3",
|
|
58
|
+
children: [
|
|
59
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
60
|
+
id: "disabled",
|
|
61
|
+
size: "regular",
|
|
62
|
+
disabled: true
|
|
63
|
+
}),
|
|
64
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
65
|
+
htmlFor: "disabled",
|
|
66
|
+
children: "Disabled unchecked"
|
|
67
|
+
})
|
|
68
|
+
]
|
|
69
|
+
}),
|
|
70
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
71
|
+
className: "flex items-center gap-3",
|
|
72
|
+
children: [
|
|
73
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
74
|
+
id: "disabled-checked",
|
|
75
|
+
size: "regular",
|
|
76
|
+
disabled: true,
|
|
77
|
+
defaultChecked: true
|
|
78
|
+
}),
|
|
79
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
80
|
+
htmlFor: "disabled-checked",
|
|
81
|
+
children: "Disabled checked"
|
|
82
|
+
})
|
|
83
|
+
]
|
|
84
|
+
}),
|
|
85
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
86
|
+
className: "flex items-center gap-3",
|
|
87
|
+
children: [
|
|
88
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
89
|
+
id: "disabled-indeterminate",
|
|
90
|
+
size: "regular",
|
|
91
|
+
disabled: true,
|
|
92
|
+
checked: "indeterminate"
|
|
37
93
|
}),
|
|
38
|
-
/*#__PURE__*/ _jsx(
|
|
39
|
-
|
|
40
|
-
children: "
|
|
94
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
95
|
+
htmlFor: "disabled-indeterminate",
|
|
96
|
+
children: "Disabled indeterminate"
|
|
41
97
|
})
|
|
42
98
|
]
|
|
43
99
|
})
|
|
44
100
|
]
|
|
45
101
|
}),
|
|
46
102
|
/*#__PURE__*/ _jsxs("div", {
|
|
47
|
-
className: "flex
|
|
103
|
+
className: "flex flex-col gap-6",
|
|
48
104
|
children: [
|
|
49
|
-
/*#__PURE__*/
|
|
50
|
-
|
|
51
|
-
|
|
105
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
106
|
+
className: "flex items-center gap-3",
|
|
107
|
+
children: [
|
|
108
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
109
|
+
id: "terms-small",
|
|
110
|
+
size: "small"
|
|
111
|
+
}),
|
|
112
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
113
|
+
htmlFor: "terms-small",
|
|
114
|
+
children: "Unchecked"
|
|
115
|
+
})
|
|
116
|
+
]
|
|
52
117
|
}),
|
|
53
|
-
/*#__PURE__*/
|
|
54
|
-
|
|
55
|
-
children:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
118
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
119
|
+
className: "flex items-center gap-3",
|
|
120
|
+
children: [
|
|
121
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
122
|
+
id: "terms-2-small",
|
|
123
|
+
size: "small",
|
|
124
|
+
defaultChecked: true
|
|
125
|
+
}),
|
|
126
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
127
|
+
htmlFor: "terms-2-small",
|
|
128
|
+
children: "Checked"
|
|
129
|
+
})
|
|
130
|
+
]
|
|
66
131
|
}),
|
|
67
132
|
/*#__PURE__*/ _jsxs("div", {
|
|
68
|
-
className: "
|
|
133
|
+
className: "flex items-center gap-3",
|
|
69
134
|
children: [
|
|
70
|
-
/*#__PURE__*/ _jsx(
|
|
71
|
-
|
|
72
|
-
|
|
135
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
136
|
+
id: "indeterminate-small",
|
|
137
|
+
size: "small",
|
|
138
|
+
checked: "indeterminate"
|
|
73
139
|
}),
|
|
74
|
-
/*#__PURE__*/ _jsx(
|
|
75
|
-
|
|
76
|
-
children: "
|
|
140
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
141
|
+
htmlFor: "indeterminate-small",
|
|
142
|
+
children: "Indeterminate"
|
|
143
|
+
})
|
|
144
|
+
]
|
|
145
|
+
}),
|
|
146
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
147
|
+
className: "flex items-center gap-3",
|
|
148
|
+
children: [
|
|
149
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
150
|
+
id: "disabled-small",
|
|
151
|
+
size: "small",
|
|
152
|
+
disabled: true
|
|
153
|
+
}),
|
|
154
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
155
|
+
htmlFor: "disabled-small",
|
|
156
|
+
children: "Disabled unchecked"
|
|
157
|
+
})
|
|
158
|
+
]
|
|
159
|
+
}),
|
|
160
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
161
|
+
className: "flex items-center gap-3",
|
|
162
|
+
children: [
|
|
163
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
164
|
+
id: "disabled-checked-small",
|
|
165
|
+
size: "small",
|
|
166
|
+
disabled: true,
|
|
167
|
+
defaultChecked: true
|
|
168
|
+
}),
|
|
169
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
170
|
+
htmlFor: "disabled-checked-small",
|
|
171
|
+
children: "Disabled checked"
|
|
172
|
+
})
|
|
173
|
+
]
|
|
174
|
+
}),
|
|
175
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
176
|
+
className: "flex items-center gap-3",
|
|
177
|
+
children: [
|
|
178
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
179
|
+
id: "disabled-indeterminate-small",
|
|
180
|
+
size: "small",
|
|
181
|
+
disabled: true,
|
|
182
|
+
checked: "indeterminate"
|
|
183
|
+
}),
|
|
184
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
185
|
+
htmlFor: "disabled-indeterminate-small",
|
|
186
|
+
children: "Disabled indeterminate"
|
|
77
187
|
})
|
|
78
188
|
]
|
|
79
189
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/shadcn/components/ui/checkbox.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Checkbox } from \"#shadcn/components/ui/checkbox\";\nimport { Label } from \"#shadcn/components/ui/label\";\n\nconst meta = {\n\ttitle: \"Component/Checkbox\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => (\n\t\t<div className=\"flex flex-col gap-6\">\n\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t<Checkbox id=\"terms\" />\n\t\t\t\t<Label htmlFor=\"terms\">
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/checkbox.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Checkbox } from \"#shadcn/components/ui/checkbox\";\nimport { Label } from \"#shadcn/components/ui/label\";\n\nconst meta = {\n\ttitle: \"Component/Checkbox\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => (\n\t\t<div className=\"flex gap-12\">\n\t\t\t{/* Regular size */}\n\t\t\t<div className=\"flex flex-col gap-6\">\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<Checkbox id=\"terms\" size=\"regular\" />\n\t\t\t\t\t<Label htmlFor=\"terms\">Unchecked</Label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<Checkbox id=\"terms-2\" size=\"regular\" defaultChecked />\n\t\t\t\t\t<Label htmlFor=\"terms-2\">Checked</Label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<Checkbox id=\"indeterminate\" size=\"regular\" checked=\"indeterminate\" />\n\t\t\t\t\t<Label htmlFor=\"indeterminate\">Indeterminate</Label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<Checkbox id=\"disabled\" size=\"regular\" disabled />\n\t\t\t\t\t<Label htmlFor=\"disabled\">Disabled unchecked</Label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tid=\"disabled-checked\"\n\t\t\t\t\t\tsize=\"regular\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\tdefaultChecked\n\t\t\t\t\t/>\n\t\t\t\t\t<Label htmlFor=\"disabled-checked\">Disabled checked</Label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tid=\"disabled-indeterminate\"\n\t\t\t\t\t\tsize=\"regular\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\tchecked=\"indeterminate\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Label htmlFor=\"disabled-indeterminate\">Disabled indeterminate</Label>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{/* Small size */}\n\t\t\t<div className=\"flex flex-col gap-6\">\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<Checkbox id=\"terms-small\" size=\"small\" />\n\t\t\t\t\t<Label htmlFor=\"terms-small\">Unchecked</Label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<Checkbox id=\"terms-2-small\" size=\"small\" defaultChecked />\n\t\t\t\t\t<Label htmlFor=\"terms-2-small\">Checked</Label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tid=\"indeterminate-small\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tchecked=\"indeterminate\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Label htmlFor=\"indeterminate-small\">Indeterminate</Label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<Checkbox id=\"disabled-small\" size=\"small\" disabled />\n\t\t\t\t\t<Label htmlFor=\"disabled-small\">Disabled unchecked</Label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tid=\"disabled-checked-small\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\tdefaultChecked\n\t\t\t\t\t/>\n\t\t\t\t\t<Label htmlFor=\"disabled-checked-small\">Disabled checked</Label>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tid=\"disabled-indeterminate-small\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\tchecked=\"indeterminate\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Label htmlFor=\"disabled-indeterminate-small\">\n\t\t\t\t\t\tDisabled indeterminate\n\t\t\t\t\t</Label>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t),\n} satisfies Story;\n"],"names":["Checkbox","Label","meta","title","Demo","render","div","className","id","size","htmlFor","defaultChecked","checked","disabled"],"mappings":";AACA,SAASA,QAAQ,QAAQ,gBAAiC;AAC1D,SAASC,KAAK,QAAQ,aAA8B;AAEpD,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ,kBACP,MAACC;YAAIC,WAAU;;8BAEd,MAACD;oBAAIC,WAAU;;sCACd,MAACD;4BAAIC,WAAU;;8CACd,KAACP;oCAASQ,IAAG;oCAAQC,MAAK;;8CAC1B,KAACR;oCAAMS,SAAQ;8CAAQ;;;;sCAExB,MAACJ;4BAAIC,WAAU;;8CACd,KAACP;oCAASQ,IAAG;oCAAUC,MAAK;oCAAUE,cAAc;;8CACpD,KAACV;oCAAMS,SAAQ;8CAAU;;;;sCAE1B,MAACJ;4BAAIC,WAAU;;8CACd,KAACP;oCAASQ,IAAG;oCAAgBC,MAAK;oCAAUG,SAAQ;;8CACpD,KAACX;oCAAMS,SAAQ;8CAAgB;;;;sCAEhC,MAACJ;4BAAIC,WAAU;;8CACd,KAACP;oCAASQ,IAAG;oCAAWC,MAAK;oCAAUI,QAAQ;;8CAC/C,KAACZ;oCAAMS,SAAQ;8CAAW;;;;sCAE3B,MAACJ;4BAAIC,WAAU;;8CACd,KAACP;oCACAQ,IAAG;oCACHC,MAAK;oCACLI,QAAQ;oCACRF,cAAc;;8CAEf,KAACV;oCAAMS,SAAQ;8CAAmB;;;;sCAEnC,MAACJ;4BAAIC,WAAU;;8CACd,KAACP;oCACAQ,IAAG;oCACHC,MAAK;oCACLI,QAAQ;oCACRD,SAAQ;;8CAET,KAACX;oCAAMS,SAAQ;8CAAyB;;;;;;8BAI1C,MAACJ;oBAAIC,WAAU;;sCACd,MAACD;4BAAIC,WAAU;;8CACd,KAACP;oCAASQ,IAAG;oCAAcC,MAAK;;8CAChC,KAACR;oCAAMS,SAAQ;8CAAc;;;;sCAE9B,MAACJ;4BAAIC,WAAU;;8CACd,KAACP;oCAASQ,IAAG;oCAAgBC,MAAK;oCAAQE,cAAc;;8CACxD,KAACV;oCAAMS,SAAQ;8CAAgB;;;;sCAEhC,MAACJ;4BAAIC,WAAU;;8CACd,KAACP;oCACAQ,IAAG;oCACHC,MAAK;oCACLG,SAAQ;;8CAET,KAACX;oCAAMS,SAAQ;8CAAsB;;;;sCAEtC,MAACJ;4BAAIC,WAAU;;8CACd,KAACP;oCAASQ,IAAG;oCAAiBC,MAAK;oCAAQI,QAAQ;;8CACnD,KAACZ;oCAAMS,SAAQ;8CAAiB;;;;sCAEjC,MAACJ;4BAAIC,WAAU;;8CACd,KAACP;oCACAQ,IAAG;oCACHC,MAAK;oCACLI,QAAQ;oCACRF,cAAc;;8CAEf,KAACV;oCAAMS,SAAQ;8CAAyB;;;;sCAEzC,MAACJ;4BAAIC,WAAU;;8CACd,KAACP;oCACAQ,IAAG;oCACHC,MAAK;oCACLI,QAAQ;oCACRD,SAAQ;;8CAET,KAACX;oCAAMS,SAAQ;8CAA+B;;;;;;;;AAOnD,EAAkB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface ComboboxOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
interface ComboboxProps {
|
|
6
|
+
options: ComboboxOption[];
|
|
7
|
+
value?: string;
|
|
8
|
+
onValueChange?: (value: string) => void;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
searchPlaceholder?: string;
|
|
11
|
+
emptyText?: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function Combobox({ options, value, onValueChange, placeholder, searchPlaceholder, emptyText, disabled, className, }: ComboboxProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
interface MultiComboboxProps {
|
|
17
|
+
options: ComboboxOption[];
|
|
18
|
+
value?: string[];
|
|
19
|
+
onValueChange?: (value: string[]) => void;
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
searchPlaceholder?: string;
|
|
22
|
+
emptyText?: string;
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
className?: string;
|
|
25
|
+
maxDisplay?: number;
|
|
26
|
+
}
|
|
27
|
+
export declare function MultiCombobox({ options, value, onValueChange, placeholder, searchPlaceholder, emptyText, disabled, className, maxDisplay, }: MultiComboboxProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=combobox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/combobox.tsx"],"names":[],"mappings":"AAwEA,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAED,UAAU,aAAa;IACtB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,wBAAgB,QAAQ,CAAC,EACxB,OAAO,EACP,KAAK,EACL,aAAa,EACb,WAAgC,EAChC,iBAA+B,EAC/B,SAA+B,EAC/B,QAAgB,EAChB,SAAS,GACT,EAAE,aAAa,2CAwEf;AAED,UAAU,kBAAkB;IAC3B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,EAC7B,OAAO,EACP,KAAU,EACV,aAAa,EACb,WAAiC,EACjC,iBAA+B,EAC/B,SAA+B,EAC/B,QAAgB,EAChB,SAAS,EACT,UAAc,GACd,EAAE,kBAAkB,2CA8HpB"}
|