@health-samurai/react-components 0.0.0-alpha.4 → 0.0.0-alpha.6
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/dist/bundle.css +1375 -484
- 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.d.ts +2 -0
- package/dist/src/components/code-editor/http/grammar/http.test.d.ts.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 +4 -0
- package/dist/src/components/code-editor/http/index.d.ts.map +1 -0
- package/dist/src/components/code-editor/http/index.js +66 -0
- package/dist/src/components/code-editor/http/index.js.map +1 -0
- package/dist/src/components/code-editor/index.d.ts +14 -2
- package/dist/src/components/code-editor/index.d.ts.map +1 -1
- package/dist/src/components/code-editor/index.js +309 -20
- package/dist/src/components/code-editor/index.js.map +1 -1
- package/dist/src/components/code-editor.stories.d.ts +1 -0
- package/dist/src/components/code-editor.stories.d.ts.map +1 -1
- package/dist/src/components/code-editor.stories.js +255 -2
- 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 +8 -0
- package/dist/src/components/data-table.d.ts.map +1 -0
- package/dist/src/components/data-table.js +65 -0
- package/dist/src/components/data-table.js.map +1 -0
- package/dist/src/components/data-table.stories.d.ts +7 -0
- package/dist/src/components/data-table.stories.d.ts.map +1 -0
- package/dist/src/components/data-table.stories.js +44 -0
- package/dist/src/components/data-table.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 +229 -0
- package/dist/src/components/fhir-structure-view.js.map +1 -0
- package/dist/src/components/fhir-structure-view.stories.d.ts +7 -0
- package/dist/src/components/fhir-structure-view.stories.d.ts.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/patient-table.d.ts +73 -0
- package/dist/src/components/patient-table.d.ts.map +1 -0
- package/dist/src/components/patient-table.js +921 -0
- package/dist/src/components/patient-table.js.map +1 -0
- package/dist/src/components/patient-table.stories.d.ts +111 -0
- package/dist/src/components/patient-table.stories.d.ts.map +1 -0
- package/dist/src/components/patient-table.stories.js +172 -0
- package/dist/src/components/patient-table.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 +72 -49
- package/dist/src/components/request-line-editor.js.map +1 -1
- package/dist/src/components/request-line-editor.stories.d.ts.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/segment-control.d.ts +16 -0
- package/dist/src/components/segment-control.d.ts.map +1 -0
- package/dist/src/components/segment-control.js +48 -0
- package/dist/src/components/segment-control.js.map +1 -0
- package/dist/src/components/segment-control.stories.d.ts +15 -0
- package/dist/src/components/segment-control.stories.d.ts.map +1 -0
- package/dist/src/components/segment-control.stories.js +33 -0
- package/dist/src/components/segment-control.stories.js.map +1 -0
- package/dist/src/components/split-button.d.ts +5 -0
- package/dist/src/components/split-button.d.ts.map +1 -0
- package/dist/src/components/split-button.js +12 -0
- package/dist/src/components/split-button.js.map +1 -0
- package/dist/src/components/split-button.stories.d.ts +7 -0
- package/dist/src/components/split-button.stories.d.ts.map +1 -0
- package/dist/src/components/split-button.stories.js +57 -0
- package/dist/src/components/split-button.stories.js.map +1 -0
- package/dist/src/components/tree-view.d.ts +22 -0
- package/dist/src/components/tree-view.d.ts.map +1 -0
- package/dist/src/components/tree-view.js +101 -0
- package/dist/src/components/tree-view.js.map +1 -0
- package/dist/src/components/tree-view.stories.d.ts +13 -0
- package/dist/src/components/tree-view.stories.d.ts.map +1 -0
- package/dist/src/components/tree-view.stories.js +274 -0
- package/dist/src/components/tree-view.stories.js.map +1 -0
- package/dist/src/icons.d.ts +9 -0
- package/dist/src/icons.d.ts.map +1 -0
- package/dist/src/icons.js +279 -0
- package/dist/src/icons.js.map +1 -0
- package/dist/src/index.css +42 -3
- package/dist/src/index.d.ts +9 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/shadcn/components/ui/accordion.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/accordion.js +23 -5
- package/dist/src/shadcn/components/ui/accordion.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert-dialog.d.ts +3 -1
- package/dist/src/shadcn/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/alert-dialog.js +5 -2
- package/dist/src/shadcn/components/ui/alert-dialog.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/alert.js +12 -5
- package/dist/src/shadcn/components/ui/alert.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/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.map +1 -1
- package/dist/src/shadcn/components/ui/breadcrumb.js +6 -6
- package/dist/src/shadcn/components/ui/breadcrumb.js.map +1 -1
- package/dist/src/shadcn/components/ui/button.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/button.js +19 -11
- package/dist/src/shadcn/components/ui/button.js.map +1 -1
- package/dist/src/shadcn/components/ui/card.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/card.js +14 -6
- package/dist/src/shadcn/components/ui/card.js.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.js +20 -5
- package/dist/src/shadcn/components/ui/checkbox.js.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.stories.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.stories.js +44 -35
- package/dist/src/shadcn/components/ui/checkbox.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/combobox.d.ts +18 -0
- package/dist/src/shadcn/components/ui/combobox.d.ts.map +1 -0
- package/dist/src/shadcn/components/ui/combobox.js +121 -0
- package/dist/src/shadcn/components/ui/combobox.js.map +1 -0
- package/dist/src/shadcn/components/ui/combobox.stories.d.ts +11 -0
- package/dist/src/shadcn/components/ui/combobox.stories.d.ts.map +1 -0
- package/dist/src/shadcn/components/ui/combobox.stories.js +16 -0
- package/dist/src/shadcn/components/ui/combobox.stories.js.map +1 -0
- package/dist/src/shadcn/components/ui/command.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/command.js +73 -12
- package/dist/src/shadcn/components/ui/command.js.map +1 -1
- package/dist/src/shadcn/components/ui/command.stories.js +0 -1
- package/dist/src/shadcn/components/ui/command.stories.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 +26 -5
- package/dist/src/shadcn/components/ui/drawer.js.map +1 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.js +12 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.js.map +1 -1
- package/dist/src/shadcn/components/ui/form.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/form.js +12 -4
- package/dist/src/shadcn/components/ui/form.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/label.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/label.js +8 -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.map +1 -1
- package/dist/src/shadcn/components/ui/pagination.js +6 -6
- package/dist/src/shadcn/components/ui/pagination.js.map +1 -1
- package/dist/src/shadcn/components/ui/popover.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/popover.js +12 -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-group.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.js +11 -6
- package/dist/src/shadcn/components/ui/radio-group.js.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.stories.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.stories.js +57 -34
- package/dist/src/shadcn/components/ui/radio-group.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 +9 -3
- package/dist/src/shadcn/components/ui/scroll-area.js.map +1 -1
- package/dist/src/shadcn/components/ui/select.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/select.js +49 -14
- package/dist/src/shadcn/components/ui/select.js.map +1 -1
- package/dist/src/shadcn/components/ui/select.stories.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/select.stories.js +1 -4
- 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 +7 -1
- package/dist/src/shadcn/components/ui/separator.js.map +1 -1
- package/dist/src/shadcn/components/ui/sidebar.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/sidebar.js +20 -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 +34 -4
- package/dist/src/shadcn/components/ui/slider.js.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.d.ts +16 -1
- package/dist/src/shadcn/components/ui/sonner.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.js +23 -3
- package/dist/src/shadcn/components/ui/sonner.js.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.stories.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.stories.js +19 -11
- package/dist/src/shadcn/components/ui/sonner.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/switch.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/switch.js +18 -2
- package/dist/src/shadcn/components/ui/switch.js.map +1 -1
- package/dist/src/shadcn/components/ui/table.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/table.js +12 -8
- package/dist/src/shadcn/components/ui/table.js.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.d.ts +21 -3
- package/dist/src/shadcn/components/ui/tabs.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.js +315 -9
- package/dist/src/shadcn/components/ui/tabs.js.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.stories.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.stories.js +50 -1
- package/dist/src/shadcn/components/ui/tabs.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/textarea.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/textarea.js +15 -1
- package/dist/src/shadcn/components/ui/textarea.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/toggle-group.js +6 -2
- package/dist/src/shadcn/components/ui/toggle-group.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/toggle.js +18 -6
- package/dist/src/shadcn/components/ui/toggle.js.map +1 -1
- package/dist/src/shadcn/components/ui/tooltip.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tooltip.js +11 -1
- package/dist/src/shadcn/components/ui/tooltip.js.map +1 -1
- package/dist/src/shadcn/components/ui/tree.d.ts +28 -0
- package/dist/src/shadcn/components/ui/tree.d.ts.map +1 -0
- package/dist/src/shadcn/components/ui/tree.js +122 -0
- package/dist/src/shadcn/components/ui/tree.js.map +1 -0
- package/dist/src/typography.css +12 -0
- package/package.json +13 -2
- 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 +87 -0
- package/src/components/code-editor/index.tsx +307 -21
- package/src/components/code-editor.stories.tsx +295 -1
- package/src/components/copy-icon.tsx +57 -3
- package/src/components/data-table.stories.tsx +38 -0
- package/src/components/data-table.tsx +117 -0
- package/src/components/fhir-structure-view.stories.tsx +439 -0
- package/src/components/fhir-structure-view.tsx +231 -0
- package/src/components/patient-table.stories.tsx +111 -0
- package/src/components/patient-table.tsx +1301 -0
- package/src/components/request-line-editor.stories.tsx +17 -27
- package/src/components/request-line-editor.tsx +98 -61
- package/src/components/segment-control.stories.tsx +29 -0
- package/src/components/segment-control.tsx +80 -0
- package/src/components/split-button.stories.tsx +49 -0
- package/src/components/split-button.tsx +17 -0
- package/src/components/tree-view.stories.tsx +259 -0
- package/src/components/tree-view.tsx +172 -0
- package/src/icons.tsx +287 -0
- package/src/index.css +42 -3
- package/src/index.tsx +9 -2
- package/src/shadcn/components/ui/accordion.tsx +66 -8
- package/src/shadcn/components/ui/alert-dialog.tsx +6 -2
- package/src/shadcn/components/ui/alert.tsx +53 -15
- package/src/shadcn/components/ui/avatar.tsx +17 -6
- package/src/shadcn/components/ui/badge.tsx +67 -18
- package/src/shadcn/components/ui/breadcrumb.tsx +35 -7
- package/src/shadcn/components/ui/button.tsx +118 -57
- package/src/shadcn/components/ui/card.tsx +44 -13
- package/src/shadcn/components/ui/checkbox.stories.tsx +20 -24
- package/src/shadcn/components/ui/checkbox.tsx +45 -4
- package/src/shadcn/components/ui/combobox.stories.tsx +19 -0
- package/src/shadcn/components/ui/combobox.tsx +142 -0
- package/src/shadcn/components/ui/command.stories.tsx +1 -1
- package/src/shadcn/components/ui/command.tsx +192 -36
- package/src/shadcn/components/ui/dialog.tsx +101 -13
- package/src/shadcn/components/ui/drawer.tsx +93 -18
- package/src/shadcn/components/ui/dropdown-menu.tsx +37 -9
- package/src/shadcn/components/ui/form.tsx +16 -4
- package/src/shadcn/components/ui/input.tsx +400 -29
- package/src/shadcn/components/ui/label.tsx +21 -4
- package/src/shadcn/components/ui/menubar.tsx +188 -43
- package/src/shadcn/components/ui/pagination.tsx +12 -6
- package/src/shadcn/components/ui/popover.tsx +35 -4
- package/src/shadcn/components/ui/progress.tsx +21 -5
- package/src/shadcn/components/ui/radio-group.stories.tsx +22 -14
- package/src/shadcn/components/ui/radio-group.tsx +42 -5
- package/src/shadcn/components/ui/scroll-area.tsx +33 -5
- package/src/shadcn/components/ui/select.stories.tsx +0 -2
- package/src/shadcn/components/ui/select.tsx +184 -33
- package/src/shadcn/components/ui/separator.tsx +15 -5
- package/src/shadcn/components/ui/sidebar.tsx +68 -26
- package/src/shadcn/components/ui/skeleton.tsx +4 -1
- package/src/shadcn/components/ui/slider.tsx +82 -11
- package/src/shadcn/components/ui/sonner.stories.tsx +19 -15
- package/src/shadcn/components/ui/sonner.tsx +53 -3
- package/src/shadcn/components/ui/switch.tsx +53 -7
- package/src/shadcn/components/ui/table.tsx +38 -11
- package/src/shadcn/components/ui/tabs.stories.tsx +32 -0
- package/src/shadcn/components/ui/tabs.tsx +456 -17
- package/src/shadcn/components/ui/textarea.tsx +42 -4
- package/src/shadcn/components/ui/toggle-group.tsx +27 -5
- package/src/shadcn/components/ui/toggle.tsx +59 -18
- package/src/shadcn/components/ui/tooltip.tsx +33 -8
- package/src/shadcn/components/ui/tree.tsx +233 -0
- package/src/typography.css +12 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/popover.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/popover.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAsCpC,iBAAS,OAAO,CAAC,EAChB,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAEpD;AAED,iBAAS,cAAc,CAAC,EACvB,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,2CAEvD;AAED,iBAAS,cAAc,CAAC,EACvB,SAAS,EACT,KAAgB,EAChB,UAAc,EACd,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,2CAYvD;AAED,iBAAS,aAAa,CAAC,EACtB,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,2CAEtD;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
4
4
|
import { cn } from "../../lib/utils.js";
|
|
5
|
+
// Popover content styles
|
|
6
|
+
const popoverContentStyles = cn(// Layout
|
|
7
|
+
"z-50", "w-72", "origin-(--radix-popover-content-transform-origin)", "outline-hidden", // Shape
|
|
8
|
+
"rounded-md", // Borders
|
|
9
|
+
"border", "border-border-primary", // Background & Colors
|
|
10
|
+
"bg-bg-primary", "text-text-primary", // Spacing
|
|
11
|
+
"p-4", // Shadow
|
|
12
|
+
"shadow-md", // Animations - open
|
|
13
|
+
"data-[state=open]:animate-in", "data-[state=open]:fade-in-0", "data-[state=open]:zoom-in-95", // Animations - closed
|
|
14
|
+
"data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0", "data-[state=closed]:zoom-out-95", // Slide animations
|
|
15
|
+
"data-[side=bottom]:slide-in-from-top-2", "data-[side=left]:slide-in-from-right-2", "data-[side=right]:slide-in-from-left-2", "data-[side=top]:slide-in-from-bottom-2");
|
|
5
16
|
function Popover({ ...props }) {
|
|
6
17
|
return /*#__PURE__*/ _jsx(PopoverPrimitive.Root, {
|
|
7
18
|
"data-slot": "popover",
|
|
@@ -20,7 +31,7 @@ function PopoverContent({ className, align = "center", sideOffset = 4, ...props
|
|
|
20
31
|
"data-slot": "popover-content",
|
|
21
32
|
align: align,
|
|
22
33
|
sideOffset: sideOffset,
|
|
23
|
-
className: cn(
|
|
34
|
+
className: cn(popoverContentStyles, className),
|
|
24
35
|
...props
|
|
25
36
|
})
|
|
26
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/shadcn/components/ui/popover.tsx"],"sourcesContent":["\"use client\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction Popover({\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n\treturn <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n\treturn <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n\tclassName,\n\talign = \"center\",\n\tsideOffset = 4,\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n\treturn (\n\t\t<PopoverPrimitive.Portal>\n\t\t\t<PopoverPrimitive.Content\n\t\t\t\tdata-slot=\"popover-content\"\n\t\t\t\talign={align}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tclassName={cn(
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/popover.tsx"],"sourcesContent":["\"use client\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\n// Popover content styles\nconst popoverContentStyles = cn(\n\t// Layout\n\t\"z-50\",\n\t\"w-72\",\n\t\"origin-(--radix-popover-content-transform-origin)\",\n\t\"outline-hidden\",\n\t// Shape\n\t\"rounded-md\",\n\t// Borders\n\t\"border\",\n\t\"border-border-primary\",\n\t// Background & Colors\n\t\"bg-bg-primary\",\n\t\"text-text-primary\",\n\t// Spacing\n\t\"p-4\",\n\t// Shadow\n\t\"shadow-md\",\n\t// Animations - open\n\t\"data-[state=open]:animate-in\",\n\t\"data-[state=open]:fade-in-0\",\n\t\"data-[state=open]:zoom-in-95\",\n\t// Animations - closed\n\t\"data-[state=closed]:animate-out\",\n\t\"data-[state=closed]:fade-out-0\",\n\t\"data-[state=closed]:zoom-out-95\",\n\t// Slide animations\n\t\"data-[side=bottom]:slide-in-from-top-2\",\n\t\"data-[side=left]:slide-in-from-right-2\",\n\t\"data-[side=right]:slide-in-from-left-2\",\n\t\"data-[side=top]:slide-in-from-bottom-2\",\n);\n\nfunction Popover({\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n\treturn <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n\treturn <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n\tclassName,\n\talign = \"center\",\n\tsideOffset = 4,\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n\treturn (\n\t\t<PopoverPrimitive.Portal>\n\t\t\t<PopoverPrimitive.Content\n\t\t\t\tdata-slot=\"popover-content\"\n\t\t\t\talign={align}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tclassName={cn(popoverContentStyles, className)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</PopoverPrimitive.Portal>\n\t);\n}\n\nfunction PopoverAnchor({\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n\treturn <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };\n"],"names":["PopoverPrimitive","cn","popoverContentStyles","Popover","props","Root","data-slot","PopoverTrigger","Trigger","PopoverContent","className","align","sideOffset","Portal","Content","PopoverAnchor","Anchor"],"mappings":"AAAA;;AACA,YAAYA,sBAAsB,0BAA0B;AAG5D,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,yBAAyB;AACzB,MAAMC,uBAAuBD,GAC5B,SAAS;AACT,QACA,QACA,qDACA,kBACA,QAAQ;AACR,cACA,UAAU;AACV,UACA,yBACA,sBAAsB;AACtB,iBACA,qBACA,UAAU;AACV,OACA,SAAS;AACT,aACA,oBAAoB;AACpB,gCACA,+BACA,gCACA,sBAAsB;AACtB,mCACA,kCACA,mCACA,mBAAmB;AACnB,0CACA,0CACA,0CACA;AAGD,SAASE,QAAQ,EAChB,GAAGC,OACiD;IACpD,qBAAO,KAACJ,iBAAiBK,IAAI;QAACC,aAAU;QAAW,GAAGF,KAAK;;AAC5D;AAEA,SAASG,eAAe,EACvB,GAAGH,OACoD;IACvD,qBAAO,KAACJ,iBAAiBQ,OAAO;QAACF,aAAU;QAAmB,GAAGF,KAAK;;AACvE;AAEA,SAASK,eAAe,EACvBC,SAAS,EACTC,QAAQ,QAAQ,EAChBC,aAAa,CAAC,EACd,GAAGR,OACoD;IACvD,qBACC,KAACJ,iBAAiBa,MAAM;kBACvB,cAAA,KAACb,iBAAiBc,OAAO;YACxBR,aAAU;YACVK,OAAOA;YACPC,YAAYA;YACZF,WAAWT,GAAGC,sBAAsBQ;YACnC,GAAGN,KAAK;;;AAIb;AAEA,SAASW,cAAc,EACtB,GAAGX,OACmD;IACtD,qBAAO,KAACJ,iBAAiBgB,MAAM;QAACV,aAAU;QAAkB,GAAGF,KAAK;;AACrE;AAEA,SAASD,OAAO,EAAEI,cAAc,EAAEE,cAAc,EAAEM,aAAa,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/progress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/progress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAuBpC,iBAAS,QAAQ,CAAC,EACjB,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,2CAcrD;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
|
+
// Progress root styles
|
|
5
|
+
const progressRootStyles = cn("relative", "h-2", "w-full", "overflow-hidden", "rounded-full", "bg-bg-quaternary");
|
|
6
|
+
// Progress indicator styles
|
|
7
|
+
const progressIndicatorStyles = cn("bg-bg-link", "h-full", "w-full", "flex-1", "transition-all");
|
|
4
8
|
function Progress({ className, value, ...props }) {
|
|
5
9
|
return /*#__PURE__*/ _jsx(ProgressPrimitive.Root, {
|
|
6
10
|
"data-slot": "progress",
|
|
7
|
-
className: cn(
|
|
11
|
+
className: cn(progressRootStyles, className),
|
|
8
12
|
...props,
|
|
9
13
|
children: /*#__PURE__*/ _jsx(ProgressPrimitive.Indicator, {
|
|
10
14
|
"data-slot": "progress-indicator",
|
|
11
|
-
className:
|
|
15
|
+
className: progressIndicatorStyles,
|
|
12
16
|
style: {
|
|
13
17
|
transform: `translateX(-${100 - (value || 0)}%)`
|
|
14
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/shadcn/components/ui/progress.tsx"],"sourcesContent":["import * as ProgressPrimitive from \"@radix-ui/react-progress\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction Progress({\n\tclassName,\n\tvalue,\n\t...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n\treturn (\n\t\t<ProgressPrimitive.Root\n\t\t\tdata-slot=\"progress\"\n\t\t\tclassName={cn(
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/progress.tsx"],"sourcesContent":["import * as ProgressPrimitive from \"@radix-ui/react-progress\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\n// Progress root styles\nconst progressRootStyles = cn(\n\t\"relative\",\n\t\"h-2\",\n\t\"w-full\",\n\t\"overflow-hidden\",\n\t\"rounded-full\",\n\t\"bg-bg-quaternary\",\n);\n\n// Progress indicator styles\nconst progressIndicatorStyles = cn(\n\t\"bg-bg-link\",\n\t\"h-full\",\n\t\"w-full\",\n\t\"flex-1\",\n\t\"transition-all\",\n);\n\nfunction Progress({\n\tclassName,\n\tvalue,\n\t...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n\treturn (\n\t\t<ProgressPrimitive.Root\n\t\t\tdata-slot=\"progress\"\n\t\t\tclassName={cn(progressRootStyles, className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ProgressPrimitive.Indicator\n\t\t\t\tdata-slot=\"progress-indicator\"\n\t\t\t\tclassName={progressIndicatorStyles}\n\t\t\t\tstyle={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n\t\t\t/>\n\t\t</ProgressPrimitive.Root>\n\t);\n}\n\nexport { Progress };\n"],"names":["ProgressPrimitive","cn","progressRootStyles","progressIndicatorStyles","Progress","className","value","props","Root","data-slot","Indicator","style","transform"],"mappings":";AAAA,YAAYA,uBAAuB,2BAA2B;AAG9D,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,uBAAuB;AACvB,MAAMC,qBAAqBD,GAC1B,YACA,OACA,UACA,mBACA,gBACA;AAGD,4BAA4B;AAC5B,MAAME,0BAA0BF,GAC/B,cACA,UACA,UACA,UACA;AAGD,SAASG,SAAS,EACjBC,SAAS,EACTC,KAAK,EACL,GAAGC,OACkD;IACrD,qBACC,KAACP,kBAAkBQ,IAAI;QACtBC,aAAU;QACVJ,WAAWJ,GAAGC,oBAAoBG;QACjC,GAAGE,KAAK;kBAET,cAAA,KAACP,kBAAkBU,SAAS;YAC3BD,aAAU;YACVJ,WAAWF;YACXQ,OAAO;gBAAEC,WAAW,CAAC,YAAY,EAAE,MAAON,CAAAA,SAAS,CAAA,EAAG,EAAE,CAAC;YAAC;;;AAI9D;AAEA,SAASF,QAAQ,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/radio-group.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/radio-group.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,iBAAS,UAAU,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,2CAQvD;AAED,iBAAS,cAAc,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,2CAwDvD;AAED,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1,25 +1,30 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
4
|
-
import { CircleIcon } from "lucide-react";
|
|
5
4
|
import { cn } from "../../lib/utils.js";
|
|
6
5
|
function RadioGroup({ className, ...props }) {
|
|
7
6
|
return /*#__PURE__*/ _jsx(RadioGroupPrimitive.Root, {
|
|
8
7
|
"data-slot": "radio-group",
|
|
9
|
-
className: cn("grid gap-3", className),
|
|
8
|
+
className: cn("grid", "gap-3", className),
|
|
10
9
|
...props
|
|
11
10
|
});
|
|
12
11
|
}
|
|
13
12
|
function RadioGroupItem({ className, ...props }) {
|
|
14
13
|
return /*#__PURE__*/ _jsx(RadioGroupPrimitive.Item, {
|
|
15
14
|
"data-slot": "radio-group-item",
|
|
16
|
-
className: cn(
|
|
15
|
+
className: cn(// Base styles
|
|
16
|
+
"aspect-square", "size-4", "shrink-0", "rounded-full", "overflow-hidden", "relative", "outline-none", "cursor-pointer", // Animations
|
|
17
|
+
"transition-all", "duration-200", "active:scale-90", "active:duration-75", // Default state:
|
|
18
|
+
"bg-white", "border-[1.6px]", "border-solid", "border-border-primary", // Checked state:
|
|
19
|
+
"data-[state=checked]:bg-bg-link", "data-[state=checked]:border-bg-link", // Disabled states
|
|
20
|
+
"disabled:cursor-not-allowed", "disabled:active:scale-100", "disabled:bg-white", "disabled:border-border-secondary", "disabled:data-[state=checked]:bg-border-secondary", "disabled:data-[state=checked]:border-border-secondary", // Focus styles
|
|
21
|
+
"focus-visible:ring-2", "focus-visible:ring-bg-link", "focus-visible:ring-offset-2", className),
|
|
17
22
|
...props,
|
|
18
23
|
children: /*#__PURE__*/ _jsx(RadioGroupPrimitive.Indicator, {
|
|
19
24
|
"data-slot": "radio-group-indicator",
|
|
20
|
-
className: "
|
|
21
|
-
children: /*#__PURE__*/ _jsx(
|
|
22
|
-
className: "
|
|
25
|
+
className: cn("absolute", "inset-0", "flex", "items-center", "justify-center"),
|
|
26
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
27
|
+
className: cn("size-1.5", "rounded-full", "bg-white")
|
|
23
28
|
})
|
|
24
29
|
})
|
|
25
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/shadcn/components/ui/radio-group.tsx"],"sourcesContent":["\"use client\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/radio-group.tsx"],"sourcesContent":["\"use client\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction RadioGroup({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n\treturn (\n\t\t<RadioGroupPrimitive.Root\n\t\t\tdata-slot=\"radio-group\"\n\t\t\tclassName={cn(\"grid\", \"gap-3\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction RadioGroupItem({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n\treturn (\n\t\t<RadioGroupPrimitive.Item\n\t\t\tdata-slot=\"radio-group-item\"\n\t\t\tclassName={cn(\n\t\t\t\t// Base styles\n\t\t\t\t\"aspect-square\",\n\t\t\t\t\"size-4\",\n\t\t\t\t\"shrink-0\",\n\t\t\t\t\"rounded-full\",\n\t\t\t\t\"overflow-hidden\",\n\t\t\t\t\"relative\",\n\t\t\t\t\"outline-none\",\n\t\t\t\t\"cursor-pointer\",\n\t\t\t\t// Animations\n\t\t\t\t\"transition-all\",\n\t\t\t\t\"duration-200\",\n\t\t\t\t\"active:scale-90\",\n\t\t\t\t\"active:duration-75\",\n\t\t\t\t// Default state:\n\t\t\t\t\"bg-white\",\n\t\t\t\t\"border-[1.6px]\",\n\t\t\t\t\"border-solid\",\n\t\t\t\t\"border-border-primary\",\n\t\t\t\t// Checked state:\n\t\t\t\t\"data-[state=checked]:bg-bg-link\",\n\t\t\t\t\"data-[state=checked]:border-bg-link\",\n\t\t\t\t// Disabled states\n\t\t\t\t\"disabled:cursor-not-allowed\",\n\t\t\t\t\"disabled:active:scale-100\",\n\t\t\t\t\"disabled:bg-white\",\n\t\t\t\t\"disabled:border-border-secondary\",\n\t\t\t\t\"disabled:data-[state=checked]:bg-border-secondary\",\n\t\t\t\t\"disabled:data-[state=checked]:border-border-secondary\",\n\t\t\t\t// Focus styles\n\t\t\t\t\"focus-visible:ring-2\",\n\t\t\t\t\"focus-visible:ring-bg-link\",\n\t\t\t\t\"focus-visible:ring-offset-2\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<RadioGroupPrimitive.Indicator\n\t\t\t\tdata-slot=\"radio-group-indicator\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"absolute\",\n\t\t\t\t\t\"inset-0\",\n\t\t\t\t\t\"flex\",\n\t\t\t\t\t\"items-center\",\n\t\t\t\t\t\"justify-center\",\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className={cn(\"size-1.5\", \"rounded-full\", \"bg-white\")} />\n\t\t\t</RadioGroupPrimitive.Indicator>\n\t\t</RadioGroupPrimitive.Item>\n\t);\n}\n\nexport { RadioGroup, RadioGroupItem };\n"],"names":["RadioGroupPrimitive","cn","RadioGroup","className","props","Root","data-slot","RadioGroupItem","Item","Indicator","div"],"mappings":"AAAA;;AACA,YAAYA,yBAAyB,8BAA8B;AAGnE,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,SAASC,WAAW,EACnBC,SAAS,EACT,GAAGC,OACoD;IACvD,qBACC,KAACJ,oBAAoBK,IAAI;QACxBC,aAAU;QACVH,WAAWF,GAAG,QAAQ,SAASE;QAC9B,GAAGC,KAAK;;AAGZ;AAEA,SAASG,eAAe,EACvBJ,SAAS,EACT,GAAGC,OACoD;IACvD,qBACC,KAACJ,oBAAoBQ,IAAI;QACxBF,aAAU;QACVH,WAAWF,GACV,cAAc;QACd,iBACA,UACA,YACA,gBACA,mBACA,YACA,gBACA,kBACA,aAAa;QACb,kBACA,gBACA,mBACA,sBACA,iBAAiB;QACjB,YACA,kBACA,gBACA,yBACA,iBAAiB;QACjB,mCACA,uCACA,kBAAkB;QAClB,+BACA,6BACA,qBACA,oCACA,qDACA,yDACA,eAAe;QACf,wBACA,8BACA,+BACAE;QAEA,GAAGC,KAAK;kBAET,cAAA,KAACJ,oBAAoBS,SAAS;YAC7BH,aAAU;YACVH,WAAWF,GACV,YACA,WACA,QACA,gBACA;sBAGD,cAAA,KAACS;gBAAIP,WAAWF,GAAG,YAAY,gBAAgB;;;;AAInD;AAEA,SAASC,UAAU,EAAEK,cAAc,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.stories.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/radio-group.stories.tsx"],"names":[],"mappings":"AAIA,QAAA,MAAM,IAAI;;CAEM,CAAC;AACjB,eAAe,IAAI,CAAC;AAIpB,eAAO,MAAM,IAAI;;
|
|
1
|
+
{"version":3,"file":"radio-group.stories.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/radio-group.stories.tsx"],"names":[],"mappings":"AAIA,QAAA,MAAM,IAAI;;CAEM,CAAC;AACjB,eAAe,IAAI,CAAC;AAIpB,eAAO,MAAM,IAAI;;CAyBA,CAAC"}
|
|
@@ -6,47 +6,70 @@ const meta = {
|
|
|
6
6
|
};
|
|
7
7
|
export default meta;
|
|
8
8
|
export const Demo = {
|
|
9
|
-
render: ()=>/*#__PURE__*/ _jsxs(
|
|
10
|
-
|
|
9
|
+
render: ()=>/*#__PURE__*/ _jsxs("div", {
|
|
10
|
+
className: "space-y-6",
|
|
11
11
|
children: [
|
|
12
|
-
/*#__PURE__*/ _jsxs(
|
|
13
|
-
|
|
12
|
+
/*#__PURE__*/ _jsxs(RadioGroup, {
|
|
13
|
+
defaultValue: "checked",
|
|
14
14
|
children: [
|
|
15
|
-
/*#__PURE__*/
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
16
|
+
className: "flex items-center gap-3",
|
|
17
|
+
children: [
|
|
18
|
+
/*#__PURE__*/ _jsx(RadioGroupItem, {
|
|
19
|
+
value: "default",
|
|
20
|
+
id: "r1"
|
|
21
|
+
}),
|
|
22
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
23
|
+
htmlFor: "r1",
|
|
24
|
+
children: "Default"
|
|
25
|
+
})
|
|
26
|
+
]
|
|
18
27
|
}),
|
|
19
|
-
/*#__PURE__*/
|
|
20
|
-
|
|
21
|
-
children:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
29
|
+
className: "flex items-center gap-3",
|
|
30
|
+
children: [
|
|
31
|
+
/*#__PURE__*/ _jsx(RadioGroupItem, {
|
|
32
|
+
value: "checked",
|
|
33
|
+
id: "r2"
|
|
34
|
+
}),
|
|
35
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
36
|
+
htmlFor: "r2",
|
|
37
|
+
children: "Checked"
|
|
38
|
+
})
|
|
39
|
+
]
|
|
31
40
|
}),
|
|
32
|
-
/*#__PURE__*/
|
|
33
|
-
|
|
34
|
-
children:
|
|
41
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
42
|
+
className: "flex items-center gap-3",
|
|
43
|
+
children: [
|
|
44
|
+
/*#__PURE__*/ _jsx(RadioGroupItem, {
|
|
45
|
+
value: "disabled",
|
|
46
|
+
id: "r3",
|
|
47
|
+
disabled: true
|
|
48
|
+
}),
|
|
49
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
50
|
+
htmlFor: "r3",
|
|
51
|
+
children: "Disabled"
|
|
52
|
+
})
|
|
53
|
+
]
|
|
35
54
|
})
|
|
36
55
|
]
|
|
37
56
|
}),
|
|
38
|
-
/*#__PURE__*/
|
|
39
|
-
|
|
40
|
-
children:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
57
|
+
/*#__PURE__*/ _jsx(RadioGroup, {
|
|
58
|
+
defaultValue: "disabled-checked",
|
|
59
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
60
|
+
className: "flex items-center gap-3",
|
|
61
|
+
children: [
|
|
62
|
+
/*#__PURE__*/ _jsx(RadioGroupItem, {
|
|
63
|
+
value: "disabled-checked",
|
|
64
|
+
id: "r4",
|
|
65
|
+
disabled: true
|
|
66
|
+
}),
|
|
67
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
68
|
+
htmlFor: "r4",
|
|
69
|
+
children: "Disabled Checked"
|
|
70
|
+
})
|
|
71
|
+
]
|
|
72
|
+
})
|
|
50
73
|
})
|
|
51
74
|
]
|
|
52
75
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/shadcn/components/ui/radio-group.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Label } from \"#shadcn/components/ui/label\";\nimport { RadioGroup, RadioGroupItem } from \"#shadcn/components/ui/radio-group\";\n\nconst meta = {\n\ttitle: \"Component/Radio group\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => (\n\t\t<RadioGroup defaultValue=\"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/radio-group.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Label } from \"#shadcn/components/ui/label\";\nimport { RadioGroup, RadioGroupItem } from \"#shadcn/components/ui/radio-group\";\n\nconst meta = {\n\ttitle: \"Component/Radio group\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => (\n\t\t<div className=\"space-y-6\">\n\t\t\t<RadioGroup defaultValue=\"checked\">\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<RadioGroupItem value=\"default\" id=\"r1\" />\n\t\t\t\t\t<Label htmlFor=\"r1\">Default</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<RadioGroupItem value=\"checked\" id=\"r2\" />\n\t\t\t\t\t<Label htmlFor=\"r2\">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<RadioGroupItem value=\"disabled\" id=\"r3\" disabled />\n\t\t\t\t\t<Label htmlFor=\"r3\">Disabled</Label>\n\t\t\t\t</div>\n\t\t\t</RadioGroup>\n\t\t\t<RadioGroup defaultValue=\"disabled-checked\">\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<RadioGroupItem value=\"disabled-checked\" id=\"r4\" disabled />\n\t\t\t\t\t<Label htmlFor=\"r4\">Disabled Checked</Label>\n\t\t\t\t</div>\n\t\t\t</RadioGroup>\n\t\t</div>\n\t),\n} satisfies Story;\n"],"names":["Label","RadioGroup","RadioGroupItem","meta","title","Demo","render","div","className","defaultValue","value","id","htmlFor","disabled"],"mappings":";AACA,SAASA,KAAK,QAAQ,aAA8B;AACpD,SAASC,UAAU,EAAEC,cAAc,QAAQ,mBAAoC;AAE/E,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ,kBACP,MAACC;YAAIC,WAAU;;8BACd,MAACP;oBAAWQ,cAAa;;sCACxB,MAACF;4BAAIC,WAAU;;8CACd,KAACN;oCAAeQ,OAAM;oCAAUC,IAAG;;8CACnC,KAACX;oCAAMY,SAAQ;8CAAK;;;;sCAErB,MAACL;4BAAIC,WAAU;;8CACd,KAACN;oCAAeQ,OAAM;oCAAUC,IAAG;;8CACnC,KAACX;oCAAMY,SAAQ;8CAAK;;;;sCAErB,MAACL;4BAAIC,WAAU;;8CACd,KAACN;oCAAeQ,OAAM;oCAAWC,IAAG;oCAAKE,QAAQ;;8CACjD,KAACb;oCAAMY,SAAQ;8CAAK;;;;;;8BAGtB,KAACX;oBAAWQ,cAAa;8BACxB,cAAA,MAACF;wBAAIC,WAAU;;0CACd,KAACN;gCAAeQ,OAAM;gCAAmBC,IAAG;gCAAKE,QAAQ;;0CACzD,KAACb;gCAAMY,SAAQ;0CAAK;;;;;;;AAKzB,EAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/scroll-area.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/scroll-area.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAgCpC,iBAAS,UAAU,CAAC,EACnB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,2CAiBvD;AAED,iBAAS,SAAS,CAAC,EAClB,SAAS,EACT,WAAwB,EACxB,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,2CAqBtE;AAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
4
4
|
import { cn } from "../../lib/utils.js";
|
|
5
|
+
// Scroll area viewport styles
|
|
6
|
+
const scrollAreaViewportStyles = cn("size-full", "rounded-[inherit]", "transition-[color,box-shadow]", "outline-none", "focus-visible:ring-2", "focus-visible:ring-utility-blue/70", "focus-visible:outline-1");
|
|
7
|
+
// Scroll bar base styles
|
|
8
|
+
const scrollBarBaseStyles = cn("flex", "touch-none", "p-px", "transition-colors", "select-none");
|
|
9
|
+
// Scroll bar thumb styles
|
|
10
|
+
const scrollBarThumbStyles = cn("bg-border-primary", "relative", "flex-1", "rounded-full");
|
|
5
11
|
function ScrollArea({ className, children, ...props }) {
|
|
6
12
|
return /*#__PURE__*/ _jsxs(ScrollAreaPrimitive.Root, {
|
|
7
13
|
"data-slot": "scroll-area",
|
|
@@ -10,7 +16,7 @@ function ScrollArea({ className, children, ...props }) {
|
|
|
10
16
|
children: [
|
|
11
17
|
/*#__PURE__*/ _jsx(ScrollAreaPrimitive.Viewport, {
|
|
12
18
|
"data-slot": "scroll-area-viewport",
|
|
13
|
-
className:
|
|
19
|
+
className: scrollAreaViewportStyles,
|
|
14
20
|
children: children
|
|
15
21
|
}),
|
|
16
22
|
/*#__PURE__*/ _jsx(ScrollBar, {}),
|
|
@@ -22,11 +28,11 @@ function ScrollBar({ className, orientation = "vertical", ...props }) {
|
|
|
22
28
|
return /*#__PURE__*/ _jsx(ScrollAreaPrimitive.ScrollAreaScrollbar, {
|
|
23
29
|
"data-slot": "scroll-area-scrollbar",
|
|
24
30
|
orientation: orientation,
|
|
25
|
-
className: cn(
|
|
31
|
+
className: cn(scrollBarBaseStyles, orientation === "vertical" && cn("h-full", "w-2.5", "border-l", "border-l-transparent"), orientation === "horizontal" && cn("h-2.5", "flex-col", "border-t", "border-t-transparent"), className),
|
|
26
32
|
...props,
|
|
27
33
|
children: /*#__PURE__*/ _jsx(ScrollAreaPrimitive.ScrollAreaThumb, {
|
|
28
34
|
"data-slot": "scroll-area-thumb",
|
|
29
|
-
className:
|
|
35
|
+
className: scrollBarThumbStyles
|
|
30
36
|
})
|
|
31
37
|
});
|
|
32
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/shadcn/components/ui/scroll-area.tsx"],"sourcesContent":["\"use client\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction ScrollArea({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.Root\n\t\t\tdata-slot=\"scroll-area\"\n\t\t\tclassName={cn(\"relative\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.Viewport\n\t\t\t\tdata-slot=\"scroll-area-viewport\"\n\t\t\t\tclassName
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/scroll-area.tsx"],"sourcesContent":["\"use client\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\n// Scroll area viewport styles\nconst scrollAreaViewportStyles = cn(\n\t\"size-full\",\n\t\"rounded-[inherit]\",\n\t\"transition-[color,box-shadow]\",\n\t\"outline-none\",\n\t\"focus-visible:ring-2\",\n\t\"focus-visible:ring-utility-blue/70\",\n\t\"focus-visible:outline-1\",\n);\n\n// Scroll bar base styles\nconst scrollBarBaseStyles = cn(\n\t\"flex\",\n\t\"touch-none\",\n\t\"p-px\",\n\t\"transition-colors\",\n\t\"select-none\",\n);\n\n// Scroll bar thumb styles\nconst scrollBarThumbStyles = cn(\n\t\"bg-border-primary\",\n\t\"relative\",\n\t\"flex-1\",\n\t\"rounded-full\",\n);\n\nfunction ScrollArea({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.Root\n\t\t\tdata-slot=\"scroll-area\"\n\t\t\tclassName={cn(\"relative\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.Viewport\n\t\t\t\tdata-slot=\"scroll-area-viewport\"\n\t\t\t\tclassName={scrollAreaViewportStyles}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScrollAreaPrimitive.Viewport>\n\t\t\t<ScrollBar />\n\t\t\t<ScrollAreaPrimitive.Corner />\n\t\t</ScrollAreaPrimitive.Root>\n\t);\n}\n\nfunction ScrollBar({\n\tclassName,\n\torientation = \"vertical\",\n\t...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.ScrollAreaScrollbar\n\t\t\tdata-slot=\"scroll-area-scrollbar\"\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\tscrollBarBaseStyles,\n\t\t\t\torientation === \"vertical\" &&\n\t\t\t\t\tcn(\"h-full\", \"w-2.5\", \"border-l\", \"border-l-transparent\"),\n\t\t\t\torientation === \"horizontal\" &&\n\t\t\t\t\tcn(\"h-2.5\", \"flex-col\", \"border-t\", \"border-t-transparent\"),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.ScrollAreaThumb\n\t\t\t\tdata-slot=\"scroll-area-thumb\"\n\t\t\t\tclassName={scrollBarThumbStyles}\n\t\t\t/>\n\t\t</ScrollAreaPrimitive.ScrollAreaScrollbar>\n\t);\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":["ScrollAreaPrimitive","cn","scrollAreaViewportStyles","scrollBarBaseStyles","scrollBarThumbStyles","ScrollArea","className","children","props","Root","data-slot","Viewport","ScrollBar","Corner","orientation","ScrollAreaScrollbar","ScrollAreaThumb"],"mappings":"AAAA;;AACA,YAAYA,yBAAyB,8BAA8B;AAGnE,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,8BAA8B;AAC9B,MAAMC,2BAA2BD,GAChC,aACA,qBACA,iCACA,gBACA,wBACA,sCACA;AAGD,yBAAyB;AACzB,MAAME,sBAAsBF,GAC3B,QACA,cACA,QACA,qBACA;AAGD,0BAA0B;AAC1B,MAAMG,uBAAuBH,GAC5B,qBACA,YACA,UACA;AAGD,SAASI,WAAW,EACnBC,SAAS,EACTC,QAAQ,EACR,GAAGC,OACoD;IACvD,qBACC,MAACR,oBAAoBS,IAAI;QACxBC,aAAU;QACVJ,WAAWL,GAAG,YAAYK;QACzB,GAAGE,KAAK;;0BAET,KAACR,oBAAoBW,QAAQ;gBAC5BD,aAAU;gBACVJ,WAAWJ;0BAEVK;;0BAEF,KAACK;0BACD,KAACZ,oBAAoBa,MAAM;;;AAG9B;AAEA,SAASD,UAAU,EAClBN,SAAS,EACTQ,cAAc,UAAU,EACxB,GAAGN,OACmE;IACtE,qBACC,KAACR,oBAAoBe,mBAAmB;QACvCL,aAAU;QACVI,aAAaA;QACbR,WAAWL,GACVE,qBACAW,gBAAgB,cACfb,GAAG,UAAU,SAAS,YAAY,yBACnCa,gBAAgB,gBACfb,GAAG,SAAS,YAAY,YAAY,yBACrCK;QAEA,GAAGE,KAAK;kBAET,cAAA,KAACR,oBAAoBgB,eAAe;YACnCN,aAAU;YACVJ,WAAWF;;;AAIf;AAEA,SAASC,UAAU,EAAEO,SAAS,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AA4DpC,QAAA,MAAM,qBAAqB;;;8EAezB,CAAC;AAEH,iBAAS,MAAM,CAAC,EACf,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnD;AAED,iBAAS,WAAW,CAAC,EACpB,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,WAAW,CAAC,EACpB,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,aAAa,CAAC,EACtB,SAAS,EACT,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GACtD,YAAY,CAAC,OAAO,qBAAqB,CAAC,2CAa1C;AAED,iBAAS,aAAa,CAAC,EACtB,SAAS,EACT,QAAQ,EACR,QAAmB,EACnB,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAuEtD;AAED,iBAAS,WAAW,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAcpD;AAED,iBAAS,UAAU,CAAC,EACnB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAoEnD;AAED,iBAAS,eAAe,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,2CAexD;AAED,iBAAS,oBAAoB,CAAC,EAC7B,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,2CAa7D;AAED,iBAAS,sBAAsB,CAAC,EAC/B,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,2CAa/D;AAED,OAAO,EACN,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACX,CAAC"}
|
|
@@ -3,15 +3,31 @@ import * as SelectPrimitive from "@radix-ui/react-select";
|
|
|
3
3
|
import { cva } from "class-variance-authority";
|
|
4
4
|
import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
5
5
|
import { cn } from "../../lib/utils.js";
|
|
6
|
-
|
|
6
|
+
// Base select trigger styles
|
|
7
|
+
const baseSelectTriggerStyles = cn(// Layout
|
|
8
|
+
"flex", "w-full", "items-center", "justify-between", "gap-2", "whitespace-nowrap", // Shape
|
|
9
|
+
"rounded-md", // Borders
|
|
10
|
+
"border", "border-border-primary", // Background & Colors
|
|
11
|
+
"bg-transparent", "text-sm", // Spacing
|
|
12
|
+
"px-3", "py-2", // Transitions
|
|
13
|
+
"transition-colors", "duration-300", "outline-none", // Hover
|
|
14
|
+
"hover:border-border-primary_hover", // Focus
|
|
15
|
+
"focus-visible:ring-2", "focus-visible:ring-utility-blue/70", // Placeholder
|
|
16
|
+
"data-[placeholder]:text-text-tertiary", // Selection
|
|
17
|
+
"selection:bg-selection", "selection:text-text-primary", // SVG icons
|
|
18
|
+
"[&_svg:not([class*='text-'])]:text-text-tertiary", "[&_svg]:pointer-events-none", "[&_svg]:shrink-0", "[&_svg:not([class*='size-'])]:size-4", // Value styles
|
|
19
|
+
"*:data-[slot=select-value]:line-clamp-1", "*:data-[slot=select-value]:flex", "*:data-[slot=select-value]:items-center", "*:data-[slot=select-value]:gap-2", // Disabled
|
|
20
|
+
"disabled:pointer-events-none", "disabled:cursor-not-allowed", "disabled:text-text-disabled", "disabled:bg-bg-disabled", "disabled:border-border-disabled", // Invalid
|
|
21
|
+
"aria-invalid:text-text-error-primary", "aria-invalid:border-border-error", "aria-invalid:ring-2", "aria-invalid:ring-utility-red/70");
|
|
22
|
+
const selectTriggerVariants = cva(baseSelectTriggerStyles, {
|
|
7
23
|
variants: {
|
|
8
24
|
size: {
|
|
9
|
-
regular: "h-9",
|
|
10
|
-
small: "h-8"
|
|
25
|
+
regular: cn("h-9"),
|
|
26
|
+
small: cn("h-8")
|
|
11
27
|
},
|
|
12
28
|
variant: {
|
|
13
|
-
default: "",
|
|
14
|
-
compound: "border-r-0 typo-label"
|
|
29
|
+
default: cn(""),
|
|
30
|
+
compound: cn("border-r-0", "typo-label")
|
|
15
31
|
}
|
|
16
32
|
},
|
|
17
33
|
defaultVariants: {
|
|
@@ -50,9 +66,7 @@ function SelectTrigger({ className, size, variant, children, ...props }) {
|
|
|
50
66
|
children,
|
|
51
67
|
/*#__PURE__*/ _jsx(SelectPrimitive.Icon, {
|
|
52
68
|
asChild: true,
|
|
53
|
-
children: /*#__PURE__*/ _jsx(ChevronDownIcon, {
|
|
54
|
-
className: "size-4 opacity-50"
|
|
55
|
-
})
|
|
69
|
+
children: /*#__PURE__*/ _jsx(ChevronDownIcon, {})
|
|
56
70
|
})
|
|
57
71
|
]
|
|
58
72
|
});
|
|
@@ -61,13 +75,22 @@ function SelectContent({ className, children, position = "popper", ...props }) {
|
|
|
61
75
|
return /*#__PURE__*/ _jsx(SelectPrimitive.Portal, {
|
|
62
76
|
children: /*#__PURE__*/ _jsxs(SelectPrimitive.Content, {
|
|
63
77
|
"data-slot": "select-content",
|
|
64
|
-
className: cn(
|
|
78
|
+
className: cn(// Layout
|
|
79
|
+
"relative", "z-50", "group", "min-w-[8rem]", "max-h-(--radix-select-content-available-height)", "origin-(--radix-select-content-transform-origin)", "overflow-x-hidden", "overflow-y-auto", // Shape
|
|
80
|
+
"rounded-md", // Borders
|
|
81
|
+
"border", "border-border-primary", // Background & Colors
|
|
82
|
+
"bg-bg-primary", "text-text-primary", // Spacing
|
|
83
|
+
"py-1", // Shadow
|
|
84
|
+
"shadow-lg", // Animations - open
|
|
85
|
+
"data-[state=open]:animate-in", "data-[state=open]:fade-in-0", "data-[state=open]:zoom-in-95", // Animations - closed
|
|
86
|
+
"data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0", "data-[state=closed]:zoom-out-95", // Slide animations
|
|
87
|
+
"data-[side=bottom]:slide-in-from-top-2", "data-[side=left]:slide-in-from-right-2", "data-[side=right]:slide-in-from-left-2", "data-[side=top]:slide-in-from-bottom-2", position === "popper" && cn("data-[side=bottom]:translate-y-1", "data-[side=left]:-translate-x-1", "data-[side=right]:translate-x-1", "data-[side=top]:-translate-y-1"), className),
|
|
65
88
|
position: position,
|
|
66
89
|
...props,
|
|
67
90
|
children: [
|
|
68
91
|
/*#__PURE__*/ _jsx(SelectScrollUpButton, {}),
|
|
69
92
|
/*#__PURE__*/ _jsx(SelectPrimitive.Viewport, {
|
|
70
|
-
className: cn("p-1", position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),
|
|
93
|
+
className: cn("p-1", position === "popper" && cn("h-[var(--radix-select-trigger-height)]", "w-full", "min-w-[var(--radix-select-trigger-width)]", "scroll-my-1")),
|
|
71
94
|
children: children
|
|
72
95
|
}),
|
|
73
96
|
/*#__PURE__*/ _jsx(SelectScrollDownButton, {})
|
|
@@ -78,18 +101,30 @@ function SelectContent({ className, children, position = "popper", ...props }) {
|
|
|
78
101
|
function SelectLabel({ className, ...props }) {
|
|
79
102
|
return /*#__PURE__*/ _jsx(SelectPrimitive.Label, {
|
|
80
103
|
"data-slot": "select-label",
|
|
81
|
-
className: cn("text-
|
|
104
|
+
className: cn("text-text-tertiary", "px-2", "py-1.5", "typo-label", className),
|
|
82
105
|
...props
|
|
83
106
|
});
|
|
84
107
|
}
|
|
85
108
|
function SelectItem({ className, children, ...props }) {
|
|
86
109
|
return /*#__PURE__*/ _jsxs(SelectPrimitive.Item, {
|
|
87
110
|
"data-slot": "select-item",
|
|
88
|
-
className: cn(
|
|
111
|
+
className: cn(// Layout
|
|
112
|
+
"relative", "flex", "w-full", "items-center", "cursor-default", "select-none", // Shape
|
|
113
|
+
"rounded-md", // Spacing
|
|
114
|
+
"py-1.5", "pl-3", "pr-8", "mb-0.5", "last:mb-0", // Typography
|
|
115
|
+
"text-sm", "text-text-primary", // Interaction
|
|
116
|
+
"outline-hidden", // Hover
|
|
117
|
+
"hover:bg-bg-tertiary", // Active
|
|
118
|
+
"active:text-text-primary", // Focus
|
|
119
|
+
"focus-visible:bg-bg-tertiary", // Checked state
|
|
120
|
+
"data-[state=checked]:bg-bg-tertiary", "data-[state=checked]:text-text-primary", "group-hover:data-[state=checked]:bg-transparent", // Disabled
|
|
121
|
+
"data-[disabled]:pointer-events-none", "data-[disabled]:opacity-50", // SVG icons
|
|
122
|
+
"[&_svg:not([class*='text-'])]:text-text-tertiary", "[&_svg]:pointer-events-none", "[&_svg]:shrink-0", "[&_svg:not([class*='size-'])]:size-4", // Span styles
|
|
123
|
+
"*:[span]:last:flex", "*:[span]:last:items-center", "*:[span]:last:gap-2", className),
|
|
89
124
|
...props,
|
|
90
125
|
children: [
|
|
91
126
|
/*#__PURE__*/ _jsx("span", {
|
|
92
|
-
className: "absolute right-2 flex size-3.5 items-center justify-center",
|
|
127
|
+
className: cn("absolute", "right-2", "flex", "size-3.5", "items-center", "justify-center"),
|
|
93
128
|
children: /*#__PURE__*/ _jsx(SelectPrimitive.ItemIndicator, {
|
|
94
129
|
children: /*#__PURE__*/ _jsx(CheckIcon, {
|
|
95
130
|
className: "size-4"
|
|
@@ -105,7 +140,7 @@ function SelectItem({ className, children, ...props }) {
|
|
|
105
140
|
function SelectSeparator({ className, ...props }) {
|
|
106
141
|
return /*#__PURE__*/ _jsx(SelectPrimitive.Separator, {
|
|
107
142
|
"data-slot": "select-separator",
|
|
108
|
-
className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className),
|
|
143
|
+
className: cn("bg-border-separator", "pointer-events-none", "-mx-1", "my-1", "h-px", className),
|
|
109
144
|
...props
|
|
110
145
|
});
|
|
111
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/shadcn/components/ui/select.tsx"],"sourcesContent":["import * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport type * as React from \"react\";\nimport { cn } from \"#shadcn/lib/utils\";\n\nconst selectTriggerVariants = cva(\n\tcn(\n\t\t\"border-border-primary hover:border-border-primary_hover data-[placeholder]:text-text-quternary selection:bg-bg-primary\",\n\t\t\"selection:text-text-primary-foreground [&_svg:not([class*='text-'])]:text-text-quternary flex w-fit items-center justify-between\",\n\t\t\"gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none\",\n\t\t\"disabled:pointer-events-none disabled:cursor-not-allowed disabled:text-text-disabled focus-visible:ring-2 focus-visible:ring-border-link\",\n\t\t\"data-[state=open]:ring-2 data-[state=open]:ring-border-link disabled:bg-bg-disabled aria-invalid:ring-destructive\",\n\t\t\"aria-invalid:text-text-error-primary aria-invalid:border-border-error-primary *:data-[slot=select-value]:line-clamp-1\",\n\t\t\"*:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2\",\n\t\t\"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n\t),\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\tregular: \"h-9\",\n\t\t\t\tsmall: \"h-8\",\n\t\t\t},\n\t\t\tvariant: {\n\t\t\t\tdefault: \"\",\n\t\t\t\tcompound: \"border-r-0 typo-label\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"regular\",\n\t\t\tvariant: \"default\",\n\t\t},\n\t},\n);\n\nfunction Select({\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n\treturn <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n\treturn <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n\treturn <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n\tclassName,\n\tsize,\n\tvariant,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> &\n\tVariantProps<typeof selectTriggerVariants>) {\n\treturn (\n\t\t<SelectPrimitive.Trigger\n\t\t\tdata-slot=\"select-trigger\"\n\t\t\tclassName={cn(selectTriggerVariants({ variant, size, className }))}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t\t<SelectPrimitive.Icon asChild>\n\t\t\t\t<ChevronDownIcon className=\"size-4 opacity-50\" />\n\t\t\t</SelectPrimitive.Icon>\n\t\t</SelectPrimitive.Trigger>\n\t);\n}\n\nfunction SelectContent({\n\tclassName,\n\tchildren,\n\tposition = \"popper\",\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n\treturn (\n\t\t<SelectPrimitive.Portal>\n\t\t\t<SelectPrimitive.Content\n\t\t\t\tdata-slot=\"select-content\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tposition={position}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<SelectScrollUpButton />\n\t\t\t\t<SelectPrimitive.Viewport\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"p-1\",\n\t\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\t\"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SelectPrimitive.Viewport>\n\t\t\t\t<SelectScrollDownButton />\n\t\t\t</SelectPrimitive.Content>\n\t\t</SelectPrimitive.Portal>\n\t);\n}\n\nfunction SelectLabel({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n\treturn (\n\t\t<SelectPrimitive.Label\n\t\t\tdata-slot=\"select-label\"\n\t\t\tclassName={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SelectItem({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n\treturn (\n\t\t<SelectPrimitive.Item\n\t\t\tdata-slot=\"select-item\"\n\t\t\tclassName={cn(\n\t\t\t\t\"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n\t\t\t\t<SelectPrimitive.ItemIndicator>\n\t\t\t\t\t<CheckIcon className=\"size-4\" />\n\t\t\t\t</SelectPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t\t<SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n\t\t</SelectPrimitive.Item>\n\t);\n}\n\nfunction SelectSeparator({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n\treturn (\n\t\t<SelectPrimitive.Separator\n\t\t\tdata-slot=\"select-separator\"\n\t\t\tclassName={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SelectScrollUpButton({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollUpButton\n\t\t\tdata-slot=\"select-scroll-up-button\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex cursor-default items-center justify-center py-1\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronUpIcon className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollUpButton>\n\t);\n}\n\nfunction SelectScrollDownButton({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollDownButton\n\t\t\tdata-slot=\"select-scroll-down-button\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex cursor-default items-center justify-center py-1\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronDownIcon className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollDownButton>\n\t);\n}\n\nexport {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectLabel,\n\tSelectScrollDownButton,\n\tSelectScrollUpButton,\n\tSelectSeparator,\n\tSelectTrigger,\n\tSelectValue,\n};\n"],"names":["SelectPrimitive","cva","CheckIcon","ChevronDownIcon","ChevronUpIcon","cn","selectTriggerVariants","variants","size","regular","small","variant","default","compound","defaultVariants","Select","props","Root","data-slot","SelectGroup","Group","SelectValue","Value","SelectTrigger","className","children","Trigger","Icon","asChild","SelectContent","position","Portal","Content","SelectScrollUpButton","Viewport","SelectScrollDownButton","SelectLabel","Label","SelectItem","Item","span","ItemIndicator","ItemText","SelectSeparator","Separator","ScrollUpButton","ScrollDownButton"],"mappings":";AAAA,YAAYA,qBAAqB,yBAAyB;AAC1D,SAASC,GAAG,QAA2B,2BAA2B;AAClE,SAASC,SAAS,EAAEC,eAAe,EAAEC,aAAa,QAAQ,eAAe;AAEzE,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,MAAMC,wBAAwBL,IAC7BI,GACC,0HACA,oIACA,mIACA,4IACA,qHACA,yHACA,4GACA,sFAED;IACCE,UAAU;QACTC,MAAM;YACLC,SAAS;YACTC,OAAO;QACR;QACAC,SAAS;YACRC,SAAS;YACTC,UAAU;QACX;IACD;IACAC,iBAAiB;QAChBN,MAAM;QACNG,SAAS;IACV;AACD;AAGD,SAASI,OAAO,EACf,GAAGC,OACgD;IACnD,qBAAO,KAAChB,gBAAgBiB,IAAI;QAACC,aAAU;QAAU,GAAGF,KAAK;;AAC1D;AAEA,SAASG,YAAY,EACpB,GAAGH,OACiD;IACpD,qBAAO,KAAChB,gBAAgBoB,KAAK;QAACF,aAAU;QAAgB,GAAGF,KAAK;;AACjE;AAEA,SAASK,YAAY,EACpB,GAAGL,OACiD;IACpD,qBAAO,KAAChB,gBAAgBsB,KAAK;QAACJ,aAAU;QAAgB,GAAGF,KAAK;;AACjE;AAEA,SAASO,cAAc,EACtBC,SAAS,EACThB,IAAI,EACJG,OAAO,EACPc,QAAQ,EACR,GAAGT,OAEuC;IAC1C,qBACC,MAAChB,gBAAgB0B,OAAO;QACvBR,aAAU;QACVM,WAAWnB,GAAGC,sBAAsB;YAAEK;YAASH;YAAMgB;QAAU;QAC9D,GAAGR,KAAK;;YAERS;0BACD,KAACzB,gBAAgB2B,IAAI;gBAACC,OAAO;0BAC5B,cAAA,KAACzB;oBAAgBqB,WAAU;;;;;AAI/B;AAEA,SAASK,cAAc,EACtBL,SAAS,EACTC,QAAQ,EACRK,WAAW,QAAQ,EACnB,GAAGd,OACmD;IACtD,qBACC,KAAChB,gBAAgB+B,MAAM;kBACtB,cAAA,MAAC/B,gBAAgBgC,OAAO;YACvBd,aAAU;YACVM,WAAWnB,GACV,ijBACAyB,aAAa,YACZ,mIACDN;YAEDM,UAAUA;YACT,GAAGd,KAAK;;8BAET,KAACiB;8BACD,KAACjC,gBAAgBkC,QAAQ;oBACxBV,WAAWnB,GACV,OACAyB,aAAa,YACZ;8BAGDL;;8BAEF,KAACU;;;;AAIL;AAEA,SAASC,YAAY,EACpBZ,SAAS,EACT,GAAGR,OACiD;IACpD,qBACC,KAAChB,gBAAgBqC,KAAK;QACrBnB,aAAU;QACVM,WAAWnB,GAAG,6CAA6CmB;QAC1D,GAAGR,KAAK;;AAGZ;AAEA,SAASsB,WAAW,EACnBd,SAAS,EACTC,QAAQ,EACR,GAAGT,OACgD;IACnD,qBACC,MAAChB,gBAAgBuC,IAAI;QACpBrB,aAAU;QACVM,WAAWnB,GACV,6aACAmB;QAEA,GAAGR,KAAK;;0BAET,KAACwB;gBAAKhB,WAAU;0BACf,cAAA,KAACxB,gBAAgByC,aAAa;8BAC7B,cAAA,KAACvC;wBAAUsB,WAAU;;;;0BAGvB,KAACxB,gBAAgB0C,QAAQ;0BAAEjB;;;;AAG9B;AAEA,SAASkB,gBAAgB,EACxBnB,SAAS,EACT,GAAGR,OACqD;IACxD,qBACC,KAAChB,gBAAgB4C,SAAS;QACzB1B,aAAU;QACVM,WAAWnB,GAAG,iDAAiDmB;QAC9D,GAAGR,KAAK;;AAGZ;AAEA,SAASiB,qBAAqB,EAC7BT,SAAS,EACT,GAAGR,OAC0D;IAC7D,qBACC,KAAChB,gBAAgB6C,cAAc;QAC9B3B,aAAU;QACVM,WAAWnB,GACV,wDACAmB;QAEA,GAAGR,KAAK;kBAET,cAAA,KAACZ;YAAcoB,WAAU;;;AAG5B;AAEA,SAASW,uBAAuB,EAC/BX,SAAS,EACT,GAAGR,OAC4D;IAC/D,qBACC,KAAChB,gBAAgB8C,gBAAgB;QAChC5B,aAAU;QACVM,WAAWnB,GACV,wDACAmB;QAEA,GAAGR,KAAK;kBAET,cAAA,KAACb;YAAgBqB,WAAU;;;AAG9B;AAEA,SACCT,MAAM,EACNc,aAAa,EACbV,WAAW,EACXmB,UAAU,EACVF,WAAW,EACXD,sBAAsB,EACtBF,oBAAoB,EACpBU,eAAe,EACfpB,aAAa,EACbF,WAAW,GACV"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/select.tsx"],"sourcesContent":["import * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport type * as React from \"react\";\nimport { cn } from \"#shadcn/lib/utils\";\n\n// Base select trigger styles\nconst baseSelectTriggerStyles = cn(\n\t// Layout\n\t\"flex\",\n\t\"w-full\",\n\t\"items-center\",\n\t\"justify-between\",\n\t\"gap-2\",\n\t\"whitespace-nowrap\",\n\t// Shape\n\t\"rounded-md\",\n\t// Borders\n\t\"border\",\n\t\"border-border-primary\",\n\t// Background & Colors\n\t\"bg-transparent\",\n\t\"text-sm\",\n\t// Spacing\n\t\"px-3\",\n\t\"py-2\",\n\t// Transitions\n\t\"transition-colors\",\n\t\"duration-300\",\n\t\"outline-none\",\n\t// Hover\n\t\"hover:border-border-primary_hover\",\n\t// Focus\n\t\"focus-visible:ring-2\",\n\t\"focus-visible:ring-utility-blue/70\",\n\t// Placeholder\n\t\"data-[placeholder]:text-text-tertiary\",\n\t// Selection\n\t\"selection:bg-selection\",\n\t\"selection:text-text-primary\",\n\t// SVG icons\n\t\"[&_svg:not([class*='text-'])]:text-text-tertiary\",\n\t\"[&_svg]:pointer-events-none\",\n\t\"[&_svg]:shrink-0\",\n\t\"[&_svg:not([class*='size-'])]:size-4\",\n\t// Value styles\n\t\"*:data-[slot=select-value]:line-clamp-1\",\n\t\"*:data-[slot=select-value]:flex\",\n\t\"*:data-[slot=select-value]:items-center\",\n\t\"*:data-[slot=select-value]:gap-2\",\n\t// Disabled\n\t\"disabled:pointer-events-none\",\n\t\"disabled:cursor-not-allowed\",\n\t\"disabled:text-text-disabled\",\n\t\"disabled:bg-bg-disabled\",\n\t\"disabled:border-border-disabled\",\n\t// Invalid\n\t\"aria-invalid:text-text-error-primary\",\n\t\"aria-invalid:border-border-error\",\n\t\"aria-invalid:ring-2\",\n\t\"aria-invalid:ring-utility-red/70\",\n);\n\nconst selectTriggerVariants = cva(baseSelectTriggerStyles, {\n\tvariants: {\n\t\tsize: {\n\t\t\tregular: cn(\"h-9\"),\n\t\t\tsmall: cn(\"h-8\"),\n\t\t},\n\t\tvariant: {\n\t\t\tdefault: cn(\"\"),\n\t\t\tcompound: cn(\"border-r-0\", \"typo-label\"),\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"regular\",\n\t\tvariant: \"default\",\n\t},\n});\n\nfunction Select({\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n\treturn <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n\treturn <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n\treturn <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n\tclassName,\n\tsize,\n\tvariant,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> &\n\tVariantProps<typeof selectTriggerVariants>) {\n\treturn (\n\t\t<SelectPrimitive.Trigger\n\t\t\tdata-slot=\"select-trigger\"\n\t\t\tclassName={cn(selectTriggerVariants({ variant, size, className }))}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t\t<SelectPrimitive.Icon asChild>\n\t\t\t\t<ChevronDownIcon />\n\t\t\t</SelectPrimitive.Icon>\n\t\t</SelectPrimitive.Trigger>\n\t);\n}\n\nfunction SelectContent({\n\tclassName,\n\tchildren,\n\tposition = \"popper\",\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n\treturn (\n\t\t<SelectPrimitive.Portal>\n\t\t\t<SelectPrimitive.Content\n\t\t\t\tdata-slot=\"select-content\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t// Layout\n\t\t\t\t\t\"relative\",\n\t\t\t\t\t\"z-50\",\n\t\t\t\t\t\"group\",\n\t\t\t\t\t\"min-w-[8rem]\",\n\t\t\t\t\t\"max-h-(--radix-select-content-available-height)\",\n\t\t\t\t\t\"origin-(--radix-select-content-transform-origin)\",\n\t\t\t\t\t\"overflow-x-hidden\",\n\t\t\t\t\t\"overflow-y-auto\",\n\t\t\t\t\t// Shape\n\t\t\t\t\t\"rounded-md\",\n\t\t\t\t\t// Borders\n\t\t\t\t\t\"border\",\n\t\t\t\t\t\"border-border-primary\",\n\t\t\t\t\t// Background & Colors\n\t\t\t\t\t\"bg-bg-primary\",\n\t\t\t\t\t\"text-text-primary\",\n\t\t\t\t\t// Spacing\n\t\t\t\t\t\"py-1\",\n\t\t\t\t\t// Shadow\n\t\t\t\t\t\"shadow-lg\",\n\t\t\t\t\t// Animations - open\n\t\t\t\t\t\"data-[state=open]:animate-in\",\n\t\t\t\t\t\"data-[state=open]:fade-in-0\",\n\t\t\t\t\t\"data-[state=open]:zoom-in-95\",\n\t\t\t\t\t// Animations - closed\n\t\t\t\t\t\"data-[state=closed]:animate-out\",\n\t\t\t\t\t\"data-[state=closed]:fade-out-0\",\n\t\t\t\t\t\"data-[state=closed]:zoom-out-95\",\n\t\t\t\t\t// Slide animations\n\t\t\t\t\t\"data-[side=bottom]:slide-in-from-top-2\",\n\t\t\t\t\t\"data-[side=left]:slide-in-from-right-2\",\n\t\t\t\t\t\"data-[side=right]:slide-in-from-left-2\",\n\t\t\t\t\t\"data-[side=top]:slide-in-from-bottom-2\",\n\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\tcn(\n\t\t\t\t\t\t\t\"data-[side=bottom]:translate-y-1\",\n\t\t\t\t\t\t\t\"data-[side=left]:-translate-x-1\",\n\t\t\t\t\t\t\t\"data-[side=right]:translate-x-1\",\n\t\t\t\t\t\t\t\"data-[side=top]:-translate-y-1\",\n\t\t\t\t\t\t),\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tposition={position}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<SelectScrollUpButton />\n\t\t\t\t<SelectPrimitive.Viewport\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"p-1\",\n\t\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\tcn(\n\t\t\t\t\t\t\t\t\"h-[var(--radix-select-trigger-height)]\",\n\t\t\t\t\t\t\t\t\"w-full\",\n\t\t\t\t\t\t\t\t\"min-w-[var(--radix-select-trigger-width)]\",\n\t\t\t\t\t\t\t\t\"scroll-my-1\",\n\t\t\t\t\t\t\t),\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SelectPrimitive.Viewport>\n\t\t\t\t<SelectScrollDownButton />\n\t\t\t</SelectPrimitive.Content>\n\t\t</SelectPrimitive.Portal>\n\t);\n}\n\nfunction SelectLabel({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n\treturn (\n\t\t<SelectPrimitive.Label\n\t\t\tdata-slot=\"select-label\"\n\t\t\tclassName={cn(\n\t\t\t\t\"text-text-tertiary\",\n\t\t\t\t\"px-2\",\n\t\t\t\t\"py-1.5\",\n\t\t\t\t\"typo-label\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SelectItem({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n\treturn (\n\t\t<SelectPrimitive.Item\n\t\t\tdata-slot=\"select-item\"\n\t\t\tclassName={cn(\n\t\t\t\t// Layout\n\t\t\t\t\"relative\",\n\t\t\t\t\"flex\",\n\t\t\t\t\"w-full\",\n\t\t\t\t\"items-center\",\n\t\t\t\t\"cursor-default\",\n\t\t\t\t\"select-none\",\n\t\t\t\t// Shape\n\t\t\t\t\"rounded-md\",\n\t\t\t\t// Spacing\n\t\t\t\t\"py-1.5\",\n\t\t\t\t\"pl-3\",\n\t\t\t\t\"pr-8\",\n\t\t\t\t\"mb-0.5\",\n\t\t\t\t\"last:mb-0\",\n\t\t\t\t// Typography\n\t\t\t\t\"text-sm\",\n\t\t\t\t\"text-text-primary\",\n\t\t\t\t// Interaction\n\t\t\t\t\"outline-hidden\",\n\t\t\t\t// Hover\n\t\t\t\t\"hover:bg-bg-tertiary\",\n\t\t\t\t// Active\n\t\t\t\t\"active:text-text-primary\",\n\t\t\t\t// Focus\n\t\t\t\t\"focus-visible:bg-bg-tertiary\",\n\t\t\t\t// Checked state\n\t\t\t\t\"data-[state=checked]:bg-bg-tertiary\",\n\t\t\t\t\"data-[state=checked]:text-text-primary\",\n\t\t\t\t\"group-hover:data-[state=checked]:bg-transparent\",\n\t\t\t\t// Disabled\n\t\t\t\t\"data-[disabled]:pointer-events-none\",\n\t\t\t\t\"data-[disabled]:opacity-50\",\n\t\t\t\t// SVG icons\n\t\t\t\t\"[&_svg:not([class*='text-'])]:text-text-tertiary\",\n\t\t\t\t\"[&_svg]:pointer-events-none\",\n\t\t\t\t\"[&_svg]:shrink-0\",\n\t\t\t\t\"[&_svg:not([class*='size-'])]:size-4\",\n\t\t\t\t// Span styles\n\t\t\t\t\"*:[span]:last:flex\",\n\t\t\t\t\"*:[span]:last:items-center\",\n\t\t\t\t\"*:[span]:last:gap-2\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"absolute\",\n\t\t\t\t\t\"right-2\",\n\t\t\t\t\t\"flex\",\n\t\t\t\t\t\"size-3.5\",\n\t\t\t\t\t\"items-center\",\n\t\t\t\t\t\"justify-center\",\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<SelectPrimitive.ItemIndicator>\n\t\t\t\t\t<CheckIcon className=\"size-4\" />\n\t\t\t\t</SelectPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t\t<SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n\t\t</SelectPrimitive.Item>\n\t);\n}\n\nfunction SelectSeparator({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n\treturn (\n\t\t<SelectPrimitive.Separator\n\t\t\tdata-slot=\"select-separator\"\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-border-separator\",\n\t\t\t\t\"pointer-events-none\",\n\t\t\t\t\"-mx-1\",\n\t\t\t\t\"my-1\",\n\t\t\t\t\"h-px\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SelectScrollUpButton({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollUpButton\n\t\t\tdata-slot=\"select-scroll-up-button\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex cursor-default items-center justify-center py-1\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronUpIcon className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollUpButton>\n\t);\n}\n\nfunction SelectScrollDownButton({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollDownButton\n\t\t\tdata-slot=\"select-scroll-down-button\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex cursor-default items-center justify-center py-1\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronDownIcon className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollDownButton>\n\t);\n}\n\nexport {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectLabel,\n\tSelectScrollDownButton,\n\tSelectScrollUpButton,\n\tSelectSeparator,\n\tSelectTrigger,\n\tSelectValue,\n};\n"],"names":["SelectPrimitive","cva","CheckIcon","ChevronDownIcon","ChevronUpIcon","cn","baseSelectTriggerStyles","selectTriggerVariants","variants","size","regular","small","variant","default","compound","defaultVariants","Select","props","Root","data-slot","SelectGroup","Group","SelectValue","Value","SelectTrigger","className","children","Trigger","Icon","asChild","SelectContent","position","Portal","Content","SelectScrollUpButton","Viewport","SelectScrollDownButton","SelectLabel","Label","SelectItem","Item","span","ItemIndicator","ItemText","SelectSeparator","Separator","ScrollUpButton","ScrollDownButton"],"mappings":";AAAA,YAAYA,qBAAqB,yBAAyB;AAC1D,SAASC,GAAG,QAA2B,2BAA2B;AAClE,SAASC,SAAS,EAAEC,eAAe,EAAEC,aAAa,QAAQ,eAAe;AAEzE,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,6BAA6B;AAC7B,MAAMC,0BAA0BD,GAC/B,SAAS;AACT,QACA,UACA,gBACA,mBACA,SACA,qBACA,QAAQ;AACR,cACA,UAAU;AACV,UACA,yBACA,sBAAsB;AACtB,kBACA,WACA,UAAU;AACV,QACA,QACA,cAAc;AACd,qBACA,gBACA,gBACA,QAAQ;AACR,qCACA,QAAQ;AACR,wBACA,sCACA,cAAc;AACd,yCACA,YAAY;AACZ,0BACA,+BACA,YAAY;AACZ,oDACA,+BACA,oBACA,wCACA,eAAe;AACf,2CACA,mCACA,2CACA,oCACA,WAAW;AACX,gCACA,+BACA,+BACA,2BACA,mCACA,UAAU;AACV,wCACA,oCACA,uBACA;AAGD,MAAME,wBAAwBN,IAAIK,yBAAyB;IAC1DE,UAAU;QACTC,MAAM;YACLC,SAASL,GAAG;YACZM,OAAON,GAAG;QACX;QACAO,SAAS;YACRC,SAASR,GAAG;YACZS,UAAUT,GAAG,cAAc;QAC5B;IACD;IACAU,iBAAiB;QAChBN,MAAM;QACNG,SAAS;IACV;AACD;AAEA,SAASI,OAAO,EACf,GAAGC,OACgD;IACnD,qBAAO,KAACjB,gBAAgBkB,IAAI;QAACC,aAAU;QAAU,GAAGF,KAAK;;AAC1D;AAEA,SAASG,YAAY,EACpB,GAAGH,OACiD;IACpD,qBAAO,KAACjB,gBAAgBqB,KAAK;QAACF,aAAU;QAAgB,GAAGF,KAAK;;AACjE;AAEA,SAASK,YAAY,EACpB,GAAGL,OACiD;IACpD,qBAAO,KAACjB,gBAAgBuB,KAAK;QAACJ,aAAU;QAAgB,GAAGF,KAAK;;AACjE;AAEA,SAASO,cAAc,EACtBC,SAAS,EACThB,IAAI,EACJG,OAAO,EACPc,QAAQ,EACR,GAAGT,OAEuC;IAC1C,qBACC,MAACjB,gBAAgB2B,OAAO;QACvBR,aAAU;QACVM,WAAWpB,GAAGE,sBAAsB;YAAEK;YAASH;YAAMgB;QAAU;QAC9D,GAAGR,KAAK;;YAERS;0BACD,KAAC1B,gBAAgB4B,IAAI;gBAACC,OAAO;0BAC5B,cAAA,KAAC1B;;;;AAIL;AAEA,SAAS2B,cAAc,EACtBL,SAAS,EACTC,QAAQ,EACRK,WAAW,QAAQ,EACnB,GAAGd,OACmD;IACtD,qBACC,KAACjB,gBAAgBgC,MAAM;kBACtB,cAAA,MAAChC,gBAAgBiC,OAAO;YACvBd,aAAU;YACVM,WAAWpB,GACV,SAAS;YACT,YACA,QACA,SACA,gBACA,mDACA,oDACA,qBACA,mBACA,QAAQ;YACR,cACA,UAAU;YACV,UACA,yBACA,sBAAsB;YACtB,iBACA,qBACA,UAAU;YACV,QACA,SAAS;YACT,aACA,oBAAoB;YACpB,gCACA,+BACA,gCACA,sBAAsB;YACtB,mCACA,kCACA,mCACA,mBAAmB;YACnB,0CACA,0CACA,0CACA,0CACA0B,aAAa,YACZ1B,GACC,oCACA,mCACA,mCACA,mCAEFoB;YAEDM,UAAUA;YACT,GAAGd,KAAK;;8BAET,KAACiB;8BACD,KAAClC,gBAAgBmC,QAAQ;oBACxBV,WAAWpB,GACV,OACA0B,aAAa,YACZ1B,GACC,0CACA,UACA,6CACA;8BAIFqB;;8BAEF,KAACU;;;;AAIL;AAEA,SAASC,YAAY,EACpBZ,SAAS,EACT,GAAGR,OACiD;IACpD,qBACC,KAACjB,gBAAgBsC,KAAK;QACrBnB,aAAU;QACVM,WAAWpB,GACV,sBACA,QACA,UACA,cACAoB;QAEA,GAAGR,KAAK;;AAGZ;AAEA,SAASsB,WAAW,EACnBd,SAAS,EACTC,QAAQ,EACR,GAAGT,OACgD;IACnD,qBACC,MAACjB,gBAAgBwC,IAAI;QACpBrB,aAAU;QACVM,WAAWpB,GACV,SAAS;QACT,YACA,QACA,UACA,gBACA,kBACA,eACA,QAAQ;QACR,cACA,UAAU;QACV,UACA,QACA,QACA,UACA,aACA,aAAa;QACb,WACA,qBACA,cAAc;QACd,kBACA,QAAQ;QACR,wBACA,SAAS;QACT,4BACA,QAAQ;QACR,gCACA,gBAAgB;QAChB,uCACA,0CACA,mDACA,WAAW;QACX,uCACA,8BACA,YAAY;QACZ,oDACA,+BACA,oBACA,wCACA,cAAc;QACd,sBACA,8BACA,uBACAoB;QAEA,GAAGR,KAAK;;0BAET,KAACwB;gBACAhB,WAAWpB,GACV,YACA,WACA,QACA,YACA,gBACA;0BAGD,cAAA,KAACL,gBAAgB0C,aAAa;8BAC7B,cAAA,KAACxC;wBAAUuB,WAAU;;;;0BAGvB,KAACzB,gBAAgB2C,QAAQ;0BAAEjB;;;;AAG9B;AAEA,SAASkB,gBAAgB,EACxBnB,SAAS,EACT,GAAGR,OACqD;IACxD,qBACC,KAACjB,gBAAgB6C,SAAS;QACzB1B,aAAU;QACVM,WAAWpB,GACV,uBACA,uBACA,SACA,QACA,QACAoB;QAEA,GAAGR,KAAK;;AAGZ;AAEA,SAASiB,qBAAqB,EAC7BT,SAAS,EACT,GAAGR,OAC0D;IAC7D,qBACC,KAACjB,gBAAgB8C,cAAc;QAC9B3B,aAAU;QACVM,WAAWpB,GACV,wDACAoB;QAEA,GAAGR,KAAK;kBAET,cAAA,KAACb;YAAcqB,WAAU;;;AAG5B;AAEA,SAASW,uBAAuB,EAC/BX,SAAS,EACT,GAAGR,OAC4D;IAC/D,qBACC,KAACjB,gBAAgB+C,gBAAgB;QAChC5B,aAAU;QACVM,WAAWpB,GACV,wDACAoB;QAEA,GAAGR,KAAK;kBAET,cAAA,KAACd;YAAgBsB,WAAU;;;AAG9B;AAEA,SACCT,MAAM,EACNc,aAAa,EACbV,WAAW,EACXmB,UAAU,EACVF,WAAW,EACXD,sBAAsB,EACtBF,oBAAoB,EACpBU,eAAe,EACfpB,aAAa,EACbF,WAAW,GACV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.stories.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/select.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"select.stories.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/select.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAW5D,QAAA,MAAM,IAAI;;CAEM,CAAC;AACjB,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,IAAI;;CAiBA,CAAC;AAElB,eAAO,MAAM,mBAAmB,EAAE,KAqBjC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Label } from "./label.js";
|
|
3
|
-
import { Select, SelectContent, SelectGroup, SelectItem,
|
|
3
|
+
import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from "./select.js";
|
|
4
4
|
const meta = {
|
|
5
5
|
title: "Component/Select"
|
|
6
6
|
};
|
|
@@ -17,9 +17,6 @@ export const Demo = {
|
|
|
17
17
|
/*#__PURE__*/ _jsx(SelectContent, {
|
|
18
18
|
children: /*#__PURE__*/ _jsxs(SelectGroup, {
|
|
19
19
|
children: [
|
|
20
|
-
/*#__PURE__*/ _jsx(SelectLabel, {
|
|
21
|
-
children: "Fruits"
|
|
22
|
-
}),
|
|
23
20
|
/*#__PURE__*/ _jsx(SelectItem, {
|
|
24
21
|
value: "apple",
|
|
25
22
|
children: "Apple"
|