@cellarnode/ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/chat-api.d.ts +14 -0
- package/dist/chat/chat-api.d.ts.map +1 -0
- package/dist/chat/chat-api.js +36 -0
- package/dist/chat/chat-api.js.map +1 -0
- package/dist/chat/chat-toggle-button.d.ts +8 -0
- package/dist/chat/chat-toggle-button.d.ts.map +1 -0
- package/dist/chat/chat-toggle-button.js +8 -0
- package/dist/chat/chat-toggle-button.js.map +1 -0
- package/dist/chat/chat-ws.d.ts +61 -0
- package/dist/chat/chat-ws.d.ts.map +1 -0
- package/dist/chat/chat-ws.js +217 -0
- package/dist/chat/chat-ws.js.map +1 -0
- package/dist/chat/communication-hub-widget.d.ts +21 -0
- package/dist/chat/communication-hub-widget.d.ts.map +1 -0
- package/dist/chat/communication-hub-widget.js +49 -0
- package/dist/chat/communication-hub-widget.js.map +1 -0
- package/dist/chat/communication-panel.d.ts +3 -0
- package/dist/chat/communication-panel.d.ts.map +1 -0
- package/dist/chat/communication-panel.js +34 -0
- package/dist/chat/communication-panel.js.map +1 -0
- package/dist/chat/index.d.ts +17 -0
- package/dist/chat/index.d.ts.map +1 -0
- package/dist/chat/index.js +11 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/messenger-layout.d.ts +25 -0
- package/dist/chat/messenger-layout.d.ts.map +1 -0
- package/dist/chat/messenger-layout.js +70 -0
- package/dist/chat/messenger-layout.js.map +1 -0
- package/dist/chat/negotiation-event-card.d.ts +9 -0
- package/dist/chat/negotiation-event-card.d.ts.map +1 -0
- package/dist/chat/negotiation-event-card.js +39 -0
- package/dist/chat/negotiation-event-card.js.map +1 -0
- package/dist/chat/timeline-utils.d.ts +7 -0
- package/dist/chat/timeline-utils.d.ts.map +1 -0
- package/dist/chat/timeline-utils.js +40 -0
- package/dist/chat/timeline-utils.js.map +1 -0
- package/dist/chat/types.d.ts +132 -0
- package/dist/chat/types.d.ts.map +1 -0
- package/dist/chat/types.js +3 -0
- package/dist/chat/types.js.map +1 -0
- package/dist/chat/unified-timeline.d.ts +13 -0
- package/dist/chat/unified-timeline.d.ts.map +1 -0
- package/dist/chat/unified-timeline.js +97 -0
- package/dist/chat/unified-timeline.js.map +1 -0
- package/dist/chat/use-chat.d.ts +10 -0
- package/dist/chat/use-chat.d.ts.map +1 -0
- package/dist/chat/use-chat.js +280 -0
- package/dist/chat/use-chat.js.map +1 -0
- package/dist/components/accordion.d.ts +8 -0
- package/dist/components/accordion.d.ts.map +1 -0
- package/dist/components/accordion.js +19 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert.d.ts +29 -0
- package/dist/components/alert.d.ts.map +1 -0
- package/dist/components/alert.js +31 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/animated-list.d.ts +20 -0
- package/dist/components/animated-list.d.ts.map +1 -0
- package/dist/components/animated-list.js +50 -0
- package/dist/components/animated-list.js.map +1 -0
- package/dist/components/avatar.d.ts +19 -0
- package/dist/components/avatar.d.ts.map +1 -0
- package/dist/components/avatar.js +18 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.d.ts +39 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/badge.js +35 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/button.d.ts +64 -0
- package/dist/components/button.d.ts.map +1 -0
- package/dist/components/button.js +174 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/button.stories.d.ts +13 -0
- package/dist/components/button.stories.d.ts.map +1 -0
- package/dist/components/button.stories.js +48 -0
- package/dist/components/button.stories.js.map +1 -0
- package/dist/components/card.d.ts +9 -0
- package/dist/components/card.d.ts.map +1 -0
- package/dist/components/card.js +17 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/checkbox.d.ts +37 -0
- package/dist/components/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox.js +84 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/combobox.d.ts +20 -0
- package/dist/components/combobox.d.ts.map +1 -0
- package/dist/components/combobox.js +87 -0
- package/dist/components/combobox.js.map +1 -0
- package/dist/components/command.d.ts +12 -0
- package/dist/components/command.d.ts.map +1 -0
- package/dist/components/command.js +31 -0
- package/dist/components/command.js.map +1 -0
- package/dist/components/description-list.d.ts +4 -0
- package/dist/components/description-list.d.ts.map +1 -0
- package/dist/components/description-list.js +12 -0
- package/dist/components/description-list.js.map +1 -0
- package/dist/components/dialog.d.ts +30 -0
- package/dist/components/dialog.d.ts.map +1 -0
- package/dist/components/dialog.js +32 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/divider.d.ts +4 -0
- package/dist/components/divider.d.ts.map +1 -0
- package/dist/components/divider.js +6 -0
- package/dist/components/divider.js.map +1 -0
- package/dist/components/drawer.d.ts +23 -0
- package/dist/components/drawer.d.ts.map +1 -0
- package/dist/components/drawer.js +23 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +26 -0
- package/dist/components/dropdown-menu.d.ts.map +1 -0
- package/dist/components/dropdown-menu.js +52 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/dropdown.d.ts +37 -0
- package/dist/components/dropdown.d.ts.map +1 -0
- package/dist/components/dropdown.js +79 -0
- package/dist/components/dropdown.js.map +1 -0
- package/dist/components/fieldset.d.ts +22 -0
- package/dist/components/fieldset.d.ts.map +1 -0
- package/dist/components/fieldset.js +25 -0
- package/dist/components/fieldset.js.map +1 -0
- package/dist/components/form.d.ts +25 -0
- package/dist/components/form.d.ts.map +1 -0
- package/dist/components/form.js +60 -0
- package/dist/components/form.js.map +1 -0
- package/dist/components/heading.d.ts +7 -0
- package/dist/components/heading.d.ts.map +1 -0
- package/dist/components/heading.js +11 -0
- package/dist/components/heading.js.map +1 -0
- package/dist/components/input.d.ts +11 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/input.js +57 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/kanban-board.d.ts +78 -0
- package/dist/components/kanban-board.d.ts.map +1 -0
- package/dist/components/kanban-board.js +18 -0
- package/dist/components/kanban-board.js.map +1 -0
- package/dist/components/kanban-board.stories.d.ts +10 -0
- package/dist/components/kanban-board.stories.d.ts.map +1 -0
- package/dist/components/kanban-board.stories.js +125 -0
- package/dist/components/kanban-board.stories.js.map +1 -0
- package/dist/components/kanban-card.d.ts +8 -0
- package/dist/components/kanban-card.d.ts.map +1 -0
- package/dist/components/kanban-card.js +13 -0
- package/dist/components/kanban-card.js.map +1 -0
- package/dist/components/kanban-dnd-board.d.ts +8 -0
- package/dist/components/kanban-dnd-board.d.ts.map +1 -0
- package/dist/components/kanban-dnd-board.js +104 -0
- package/dist/components/kanban-dnd-board.js.map +1 -0
- package/dist/components/label.d.ts +5 -0
- package/dist/components/label.d.ts.map +1 -0
- package/dist/components/label.js +9 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/link.d.ts +12 -0
- package/dist/components/link.d.ts.map +1 -0
- package/dist/components/link.js +14 -0
- package/dist/components/link.js.map +1 -0
- package/dist/components/listbox.d.ts +16 -0
- package/dist/components/listbox.d.ts.map +1 -0
- package/dist/components/listbox.js +88 -0
- package/dist/components/listbox.js.map +1 -0
- package/dist/components/pagination.d.ts +18 -0
- package/dist/components/pagination.d.ts.map +1 -0
- package/dist/components/pagination.js +22 -0
- package/dist/components/pagination.js.map +1 -0
- package/dist/components/popover.d.ts +11 -0
- package/dist/components/popover.d.ts.map +1 -0
- package/dist/components/popover.js +27 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/radio.d.ts +38 -0
- package/dist/components/radio.d.ts.map +1 -0
- package/dist/components/radio.js +87 -0
- package/dist/components/radio.js.map +1 -0
- package/dist/components/scroll-area.d.ts +6 -0
- package/dist/components/scroll-area.d.ts.map +1 -0
- package/dist/components/scroll-area.js +14 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/select.d.ts +6 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/select.js +41 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.d.ts +5 -0
- package/dist/components/separator.d.ts.map +1 -0
- package/dist/components/separator.js +9 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/shadcn-badge.d.ts +10 -0
- package/dist/components/shadcn-badge.d.ts.map +1 -0
- package/dist/components/shadcn-badge.js +25 -0
- package/dist/components/shadcn-badge.js.map +1 -0
- package/dist/components/shadcn-button.d.ts +11 -0
- package/dist/components/shadcn-button.d.ts.map +1 -0
- package/dist/components/shadcn-button.js +36 -0
- package/dist/components/shadcn-button.js.map +1 -0
- package/dist/components/shadcn-dialog.d.ts +18 -0
- package/dist/components/shadcn-dialog.d.ts.map +1 -0
- package/dist/components/shadcn-dialog.js +37 -0
- package/dist/components/shadcn-dialog.js.map +1 -0
- package/dist/components/shadcn-input.d.ts +4 -0
- package/dist/components/shadcn-input.d.ts.map +1 -0
- package/dist/components/shadcn-input.js +7 -0
- package/dist/components/shadcn-input.js.map +1 -0
- package/dist/components/shadcn-select.d.ts +14 -0
- package/dist/components/shadcn-select.d.ts.map +1 -0
- package/dist/components/shadcn-select.js +32 -0
- package/dist/components/shadcn-select.js.map +1 -0
- package/dist/components/shadcn-textarea.d.ts +4 -0
- package/dist/components/shadcn-textarea.d.ts.map +1 -0
- package/dist/components/shadcn-textarea.js +7 -0
- package/dist/components/shadcn-textarea.js.map +1 -0
- package/dist/components/sheet.d.ts +26 -0
- package/dist/components/sheet.d.ts.map +1 -0
- package/dist/components/sheet.js +37 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/sidebar.d.ts +68 -0
- package/dist/components/sidebar.d.ts.map +1 -0
- package/dist/components/sidebar.js +208 -0
- package/dist/components/sidebar.js.map +1 -0
- package/dist/components/skeleton.d.ts +3 -0
- package/dist/components/skeleton.d.ts.map +1 -0
- package/dist/components/skeleton.js +7 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slider.d.ts +5 -0
- package/dist/components/slider.d.ts.map +1 -0
- package/dist/components/slider.js +8 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/sonner.d.ts +11 -0
- package/dist/components/sonner.d.ts.map +1 -0
- package/dist/components/sonner.js +14 -0
- package/dist/components/sonner.js.map +1 -0
- package/dist/components/switch.d.ts +30 -0
- package/dist/components/switch.d.ts.map +1 -0
- package/dist/components/switch.js +68 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table.d.ts +17 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/table.js +41 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +12 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tabs.js +30 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/text.d.ts +6 -0
- package/dist/components/text.d.ts.map +1 -0
- package/dist/components/text.js +16 -0
- package/dist/components/text.js.map +1 -0
- package/dist/components/textarea.d.ts +8 -0
- package/dist/components/textarea.d.ts.map +1 -0
- package/dist/components/textarea.js +38 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/toast.d.ts +16 -0
- package/dist/components/toast.d.ts.map +1 -0
- package/dist/components/toast.js +34 -0
- package/dist/components/toast.js.map +1 -0
- package/dist/components/toaster.d.ts +2 -0
- package/dist/components/toaster.d.ts.map +1 -0
- package/dist/components/toaster.js +10 -0
- package/dist/components/toaster.js.map +1 -0
- package/dist/components/tooltip.d.ts +8 -0
- package/dist/components/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip.js +11 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/use-toast.d.ts +3 -0
- package/dist/components/use-toast.d.ts.map +1 -0
- package/dist/components/use-toast.js +3 -0
- package/dist/components/use-toast.js.map +1 -0
- package/dist/globe/data/country-geo.d.ts +15 -0
- package/dist/globe/data/country-geo.d.ts.map +1 -0
- package/dist/globe/data/country-geo.js +81 -0
- package/dist/globe/data/country-geo.js.map +1 -0
- package/dist/globe/electron-arc.d.ts +30 -0
- package/dist/globe/electron-arc.d.ts.map +1 -0
- package/dist/globe/electron-arc.js +119 -0
- package/dist/globe/electron-arc.js.map +1 -0
- package/dist/globe/globe-theme.d.ts +34 -0
- package/dist/globe/globe-theme.d.ts.map +1 -0
- package/dist/globe/globe-theme.js +118 -0
- package/dist/globe/globe-theme.js.map +1 -0
- package/dist/globe/globe-types.d.ts +42 -0
- package/dist/globe/globe-types.d.ts.map +1 -0
- package/dist/globe/globe-types.js +5 -0
- package/dist/globe/globe-types.js.map +1 -0
- package/dist/globe/globe-view.d.ts +27 -0
- package/dist/globe/globe-view.d.ts.map +1 -0
- package/dist/globe/globe-view.js +601 -0
- package/dist/globe/globe-view.js.map +1 -0
- package/dist/globe/globe-view.stories.d.ts +42 -0
- package/dist/globe/globe-view.stories.d.ts.map +1 -0
- package/dist/globe/globe-view.stories.js +319 -0
- package/dist/globe/globe-view.stories.js.map +1 -0
- package/dist/globe/index.d.ts +12 -0
- package/dist/globe/index.d.ts.map +1 -0
- package/dist/globe/index.js +7 -0
- package/dist/globe/index.js.map +1 -0
- package/dist/globe/map/country-code-map.d.ts +10 -0
- package/dist/globe/map/country-code-map.d.ts.map +1 -0
- package/dist/globe/map/country-code-map.js +15 -0
- package/dist/globe/map/country-code-map.js.map +1 -0
- package/dist/globe/map/map-geometry.d.ts +10 -0
- package/dist/globe/map/map-geometry.d.ts.map +1 -0
- package/dist/globe/map/map-geometry.js +57 -0
- package/dist/globe/map/map-geometry.js.map +1 -0
- package/dist/globe/map/map-materials.d.ts +8 -0
- package/dist/globe/map/map-materials.d.ts.map +1 -0
- package/dist/globe/map/map-materials.js +32 -0
- package/dist/globe/map/map-materials.js.map +1 -0
- package/dist/globe/map/map-projection.d.ts +11 -0
- package/dist/globe/map/map-projection.d.ts.map +1 -0
- package/dist/globe/map/map-projection.js +17 -0
- package/dist/globe/map/map-projection.js.map +1 -0
- package/dist/globe/scene-extras.d.ts +10 -0
- package/dist/globe/scene-extras.d.ts.map +1 -0
- package/dist/globe/scene-extras.js +69 -0
- package/dist/globe/scene-extras.js.map +1 -0
- package/dist/hooks/use-kanban-dnd.d.ts +23 -0
- package/dist/hooks/use-kanban-dnd.d.ts.map +1 -0
- package/dist/hooks/use-kanban-dnd.js +22 -0
- package/dist/hooks/use-kanban-dnd.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +2 -0
- package/dist/hooks/use-mobile.d.ts.map +1 -0
- package/dist/hooks/use-mobile.js +16 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/hooks/use-toast.d.ts +45 -0
- package/dist/hooks/use-toast.d.ts.map +1 -0
- package/dist/hooks/use-toast.js +125 -0
- package/dist/hooks/use-toast.js.map +1 -0
- package/dist/index.d.ts +58 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +68 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/currencies.d.ts +33 -0
- package/dist/lib/currencies.d.ts.map +1 -0
- package/dist/lib/currencies.js +13 -0
- package/dist/lib/currencies.js.map +1 -0
- package/dist/lib/kanban-transitions.d.ts +12 -0
- package/dist/lib/kanban-transitions.d.ts.map +1 -0
- package/dist/lib/kanban-transitions.js +13 -0
- package/dist/lib/kanban-transitions.js.map +1 -0
- package/dist/lib/semantic-tones.d.ts +4 -0
- package/dist/lib/semantic-tones.d.ts.map +1 -0
- package/dist/lib/semantic-tones.js +35 -0
- package/dist/lib/semantic-tones.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +6 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/offer/attachments-folder.d.ts +13 -0
- package/dist/offer/attachments-folder.d.ts.map +1 -0
- package/dist/offer/attachments-folder.js +20 -0
- package/dist/offer/attachments-folder.js.map +1 -0
- package/dist/offer/confirm-action-dialog.d.ts +18 -0
- package/dist/offer/confirm-action-dialog.d.ts.map +1 -0
- package/dist/offer/confirm-action-dialog.js +57 -0
- package/dist/offer/confirm-action-dialog.js.map +1 -0
- package/dist/offer/index.d.ts +11 -0
- package/dist/offer/index.d.ts.map +1 -0
- package/dist/offer/index.js +6 -0
- package/dist/offer/index.js.map +1 -0
- package/dist/offer/inline-counter-form.d.ts +19 -0
- package/dist/offer/inline-counter-form.d.ts.map +1 -0
- package/dist/offer/inline-counter-form.js +59 -0
- package/dist/offer/inline-counter-form.js.map +1 -0
- package/dist/offer/negotiation-event-card.d.ts +9 -0
- package/dist/offer/negotiation-event-card.d.ts.map +1 -0
- package/dist/offer/negotiation-event-card.js +39 -0
- package/dist/offer/negotiation-event-card.js.map +1 -0
- package/dist/offer/offer-status-badge.d.ts +8 -0
- package/dist/offer/offer-status-badge.d.ts.map +1 -0
- package/dist/offer/offer-status-badge.js +35 -0
- package/dist/offer/offer-status-badge.js.map +1 -0
- package/dist/offer/types.d.ts +43 -0
- package/dist/offer/types.d.ts.map +1 -0
- package/dist/offer/types.js +2 -0
- package/dist/offer/types.js.map +1 -0
- package/dist/theme/index.d.ts +2 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +2 -0
- package/dist/theme/index.js.map +1 -0
- package/package.json +166 -0
- package/src/theme/tokens.css +475 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../src/components/badge.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,MAAM,GAAG;IACb,GAAG,EAAE,oIAAoI;IACzI,MAAM,EACJ,sJAAsJ;IACxJ,KAAK,EACH,gJAAgJ;IAClJ,MAAM,EACJ,sJAAsJ;IACxJ,IAAI,EAAE,0IAA0I;IAChJ,KAAK,EACH,gJAAgJ;IAClJ,OAAO,EACL,kJAAkJ;IACpJ,KAAK,EAAE,+IAA+I;IACtJ,IAAI,EAAE,+IAA+I;IACrJ,IAAI,EAAE,0IAA0I;IAChJ,GAAG,EAAE,oIAAoI;IACzI,IAAI,EAAE,sHAAsH;IAC5H,MAAM,EACJ,gIAAgI;IAClI,MAAM,EACJ,gIAAgI;IAClI,MAAM,EACJ,gIAAgI;IAClI,OAAO,EACL,4JAA4J;IAC9J,IAAI,EAAE,0IAA0I;IAChJ,IAAI,EAAE,0IAA0I;IAChJ,IAAI,EAAE,mIAAmI;CAC1I,CAAA;AAID,MAAM,UAAU,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAuD;IAChH,OAAO,CACL,kBACM,KAAK,EACT,SAAS,EAAE,IAAI,CACb,SAAS,EACT,sHAAsH,EACtH,MAAM,CAAC,KAAK,CAAC,CACd,GACD,CACH,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,WAAW,CACxD,EACE,KAAK,GAAG,MAAM,EACd,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAIP,EACH,GAAoC;IAEpC,MAAM,OAAO,GAAG,IAAI,CAClB,SAAS,EACT,oJAAoJ,CACrJ,CAAA;IAED,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACtC,KAAC,IAAI,OAAK,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAA4C,YACpF,KAAC,WAAW,cACV,KAAC,KAAK,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAS,GAC3B,GACT,CACR,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,CAAC,MAAM,OAAK,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,YACtD,KAAC,WAAW,cACV,KAAC,KAAK,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAS,GAC3B,GACE,CACnB,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as Headless from '@headlessui/react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Link } from './link';
|
|
4
|
+
declare const styles: {
|
|
5
|
+
base: string[];
|
|
6
|
+
solid: string[];
|
|
7
|
+
outline: string[];
|
|
8
|
+
plain: string[];
|
|
9
|
+
colors: {
|
|
10
|
+
'dark/zinc': string[];
|
|
11
|
+
light: string[];
|
|
12
|
+
'dark/white': string[];
|
|
13
|
+
dark: string[];
|
|
14
|
+
white: string[];
|
|
15
|
+
zinc: string[];
|
|
16
|
+
indigo: string[];
|
|
17
|
+
cyan: string[];
|
|
18
|
+
red: string[];
|
|
19
|
+
orange: string[];
|
|
20
|
+
amber: string[];
|
|
21
|
+
yellow: string[];
|
|
22
|
+
lime: string[];
|
|
23
|
+
green: string[];
|
|
24
|
+
emerald: string[];
|
|
25
|
+
brand: string[];
|
|
26
|
+
teal: string[];
|
|
27
|
+
sky: string[];
|
|
28
|
+
blue: string[];
|
|
29
|
+
violet: string[];
|
|
30
|
+
purple: string[];
|
|
31
|
+
fuchsia: string[];
|
|
32
|
+
pink: string[];
|
|
33
|
+
rose: string[];
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
type ButtonProps = ({
|
|
37
|
+
color?: keyof typeof styles.colors;
|
|
38
|
+
outline?: never;
|
|
39
|
+
plain?: never;
|
|
40
|
+
} | {
|
|
41
|
+
color?: never;
|
|
42
|
+
outline: true;
|
|
43
|
+
plain?: never;
|
|
44
|
+
} | {
|
|
45
|
+
color?: never;
|
|
46
|
+
outline?: never;
|
|
47
|
+
plain: true;
|
|
48
|
+
}) & {
|
|
49
|
+
className?: string;
|
|
50
|
+
children: React.ReactNode;
|
|
51
|
+
} & (({
|
|
52
|
+
href?: never;
|
|
53
|
+
} & Omit<Headless.ButtonProps, 'as' | 'className'>) | ({
|
|
54
|
+
href: string;
|
|
55
|
+
} & Omit<React.ComponentPropsWithoutRef<typeof Link>, 'className'>));
|
|
56
|
+
export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLElement>>;
|
|
57
|
+
/**
|
|
58
|
+
* Expand the hit area to at least 44×44px on touch devices
|
|
59
|
+
*/
|
|
60
|
+
export declare function TouchTarget({ children }: {
|
|
61
|
+
children: React.ReactNode;
|
|
62
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAE7C,OAAO,KAAqB,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6JX,CAAA;AAED,KAAK,WAAW,GAAG,CACf;IAAE,KAAK,CAAC,EAAE,MAAM,OAAO,MAAM,CAAC,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACtE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAC/C;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,CAClD,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,CAClD,CAAC;IAAE,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GACnE,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CACtF,CAAA;AAEH,eAAO,MAAM,MAAM,iFAmBjB,CAAA;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAUtE"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as Headless from '@headlessui/react';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import { forwardRef } from 'react';
|
|
5
|
+
import { Link } from './link';
|
|
6
|
+
const styles = {
|
|
7
|
+
base: [
|
|
8
|
+
// Base
|
|
9
|
+
'relative isolate inline-flex items-baseline justify-center gap-x-2 rounded-lg border text-base/6 font-semibold',
|
|
10
|
+
// Sizing
|
|
11
|
+
'px-[calc(--spacing(3.5)-1px)] py-[calc(--spacing(2.5)-1px)] sm:px-[calc(--spacing(3)-1px)] sm:py-[calc(--spacing(1.5)-1px)] sm:text-sm/6',
|
|
12
|
+
// Focus
|
|
13
|
+
'focus:not-data-focus:outline-hidden data-focus:outline-2 data-focus:outline-offset-2 data-focus:outline-ring',
|
|
14
|
+
// Disabled
|
|
15
|
+
'data-disabled:opacity-50',
|
|
16
|
+
// Icon
|
|
17
|
+
'*:data-[slot=icon]:-mx-0.5 *:data-[slot=icon]:my-0.5 *:data-[slot=icon]:size-5 *:data-[slot=icon]:shrink-0 *:data-[slot=icon]:self-center *:data-[slot=icon]:text-(--btn-icon) sm:*:data-[slot=icon]:my-1 sm:*:data-[slot=icon]:size-4 forced-colors:[--btn-icon:ButtonText] forced-colors:data-hover:[--btn-icon:ButtonText]',
|
|
18
|
+
],
|
|
19
|
+
solid: [
|
|
20
|
+
// Optical border, implemented as the button background to avoid corner artifacts
|
|
21
|
+
'border-transparent bg-(--btn-border)',
|
|
22
|
+
// Dark mode: border is rendered on `after` so background is set to button background
|
|
23
|
+
'dark:bg-(--btn-bg)',
|
|
24
|
+
// Button background, implemented as foreground layer to stack on top of pseudo-border layer
|
|
25
|
+
'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-lg)-1px)] before:bg-(--btn-bg)',
|
|
26
|
+
// Drop shadow, applied to the inset `before` layer so it blends with the border
|
|
27
|
+
'before:shadow-sm',
|
|
28
|
+
// Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo
|
|
29
|
+
'dark:before:hidden',
|
|
30
|
+
// Dark mode: Subtle white outline is applied using a border
|
|
31
|
+
'dark:border-white/5',
|
|
32
|
+
// Shim/overlay, inset to match button foreground and used for hover state + highlight shadow
|
|
33
|
+
'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-lg)-1px)]',
|
|
34
|
+
// Inner highlight shadow
|
|
35
|
+
'after:shadow-[inset_0_1px_--theme(--color-white/15%)]',
|
|
36
|
+
// White overlay on hover
|
|
37
|
+
'data-active:after:bg-(--btn-hover-overlay) data-hover:after:bg-(--btn-hover-overlay)',
|
|
38
|
+
// Dark mode: `after` layer expands to cover entire button
|
|
39
|
+
'dark:after:-inset-px dark:after:rounded-lg',
|
|
40
|
+
// Disabled
|
|
41
|
+
'data-disabled:before:shadow-none data-disabled:after:shadow-none',
|
|
42
|
+
],
|
|
43
|
+
outline: [
|
|
44
|
+
// Base
|
|
45
|
+
'border-zinc-950/10 text-zinc-950 data-active:bg-zinc-950/2.5 data-hover:bg-zinc-950/2.5',
|
|
46
|
+
// Dark mode
|
|
47
|
+
'dark:border-white/15 dark:text-white dark:[--btn-bg:transparent] dark:data-active:bg-white/5 dark:data-hover:bg-white/5',
|
|
48
|
+
// Icon
|
|
49
|
+
'[--btn-icon:var(--color-zinc-500)] data-active:[--btn-icon:var(--color-zinc-700)] data-hover:[--btn-icon:var(--color-zinc-700)] dark:data-active:[--btn-icon:var(--color-zinc-400)] dark:data-hover:[--btn-icon:var(--color-zinc-400)]',
|
|
50
|
+
],
|
|
51
|
+
plain: [
|
|
52
|
+
// Base
|
|
53
|
+
'border-transparent text-zinc-950 data-active:bg-zinc-950/5 data-hover:bg-zinc-950/5',
|
|
54
|
+
// Dark mode
|
|
55
|
+
'dark:text-white dark:data-active:bg-white/10 dark:data-hover:bg-white/10',
|
|
56
|
+
// Icon
|
|
57
|
+
'[--btn-icon:var(--color-zinc-500)] data-active:[--btn-icon:var(--color-zinc-700)] data-hover:[--btn-icon:var(--color-zinc-700)] dark:[--btn-icon:var(--color-zinc-500)] dark:data-active:[--btn-icon:var(--color-zinc-400)] dark:data-hover:[--btn-icon:var(--color-zinc-400)]',
|
|
58
|
+
],
|
|
59
|
+
colors: {
|
|
60
|
+
'dark/zinc': [
|
|
61
|
+
'text-white [--btn-bg:var(--color-zinc-900)] [--btn-border:var(--color-zinc-950)]/90 [--btn-hover-overlay:var(--color-white)]/10',
|
|
62
|
+
'dark:text-white dark:[--btn-bg:var(--color-zinc-600)] dark:[--btn-hover-overlay:var(--color-white)]/5',
|
|
63
|
+
'[--btn-icon:var(--color-zinc-400)] data-active:[--btn-icon:var(--color-zinc-300)] data-hover:[--btn-icon:var(--color-zinc-300)]',
|
|
64
|
+
],
|
|
65
|
+
light: [
|
|
66
|
+
'text-zinc-950 [--btn-bg:white] [--btn-border:var(--color-zinc-950)]/10 [--btn-hover-overlay:var(--color-zinc-950)]/2.5 data-active:[--btn-border:var(--color-zinc-950)]/15 data-hover:[--btn-border:var(--color-zinc-950)]/15',
|
|
67
|
+
'dark:text-white dark:[--btn-hover-overlay:var(--color-white)]/5 dark:[--btn-bg:var(--color-zinc-800)]',
|
|
68
|
+
'[--btn-icon:var(--color-zinc-500)] data-active:[--btn-icon:var(--color-zinc-700)] data-hover:[--btn-icon:var(--color-zinc-700)] dark:[--btn-icon:var(--color-zinc-500)] dark:data-active:[--btn-icon:var(--color-zinc-400)] dark:data-hover:[--btn-icon:var(--color-zinc-400)]',
|
|
69
|
+
],
|
|
70
|
+
'dark/white': [
|
|
71
|
+
'text-white [--btn-bg:var(--color-zinc-900)] [--btn-border:var(--color-zinc-950)]/90 [--btn-hover-overlay:var(--color-white)]/10',
|
|
72
|
+
'dark:text-zinc-950 dark:[--btn-bg:white] dark:[--btn-hover-overlay:var(--color-zinc-950)]/5',
|
|
73
|
+
'[--btn-icon:var(--color-zinc-400)] data-active:[--btn-icon:var(--color-zinc-300)] data-hover:[--btn-icon:var(--color-zinc-300)] dark:[--btn-icon:var(--color-zinc-500)] dark:data-active:[--btn-icon:var(--color-zinc-400)] dark:data-hover:[--btn-icon:var(--color-zinc-400)]',
|
|
74
|
+
],
|
|
75
|
+
dark: [
|
|
76
|
+
'text-white [--btn-bg:var(--color-zinc-900)] [--btn-border:var(--color-zinc-950)]/90 [--btn-hover-overlay:var(--color-white)]/10',
|
|
77
|
+
'dark:[--btn-hover-overlay:var(--color-white)]/5 dark:[--btn-bg:var(--color-zinc-800)]',
|
|
78
|
+
'[--btn-icon:var(--color-zinc-400)] data-active:[--btn-icon:var(--color-zinc-300)] data-hover:[--btn-icon:var(--color-zinc-300)]',
|
|
79
|
+
],
|
|
80
|
+
white: [
|
|
81
|
+
'text-zinc-950 [--btn-bg:white] [--btn-border:var(--color-zinc-950)]/10 [--btn-hover-overlay:var(--color-zinc-950)]/2.5 data-active:[--btn-border:var(--color-zinc-950)]/15 data-hover:[--btn-border:var(--color-zinc-950)]/15',
|
|
82
|
+
'dark:[--btn-hover-overlay:var(--color-zinc-950)]/5',
|
|
83
|
+
'[--btn-icon:var(--color-zinc-400)] data-active:[--btn-icon:var(--color-zinc-500)] data-hover:[--btn-icon:var(--color-zinc-500)]',
|
|
84
|
+
],
|
|
85
|
+
zinc: [
|
|
86
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-zinc-600)] [--btn-border:var(--color-zinc-700)]/90',
|
|
87
|
+
'dark:[--btn-hover-overlay:var(--color-white)]/5',
|
|
88
|
+
'[--btn-icon:var(--color-zinc-400)] data-active:[--btn-icon:var(--color-zinc-300)] data-hover:[--btn-icon:var(--color-zinc-300)]',
|
|
89
|
+
],
|
|
90
|
+
indigo: [
|
|
91
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-indigo-500)] [--btn-border:var(--color-indigo-600)]/90',
|
|
92
|
+
'[--btn-icon:var(--color-indigo-300)] data-active:[--btn-icon:var(--color-indigo-200)] data-hover:[--btn-icon:var(--color-indigo-200)]',
|
|
93
|
+
],
|
|
94
|
+
cyan: [
|
|
95
|
+
'text-cyan-950 [--btn-bg:var(--color-cyan-300)] [--btn-border:var(--color-cyan-400)]/80 [--btn-hover-overlay:var(--color-white)]/25',
|
|
96
|
+
'[--btn-icon:var(--color-cyan-500)]',
|
|
97
|
+
],
|
|
98
|
+
red: [
|
|
99
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-red-600)] [--btn-border:var(--color-red-700)]/90',
|
|
100
|
+
'[--btn-icon:var(--color-red-300)] data-active:[--btn-icon:var(--color-red-200)] data-hover:[--btn-icon:var(--color-red-200)]',
|
|
101
|
+
],
|
|
102
|
+
orange: [
|
|
103
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-orange-500)] [--btn-border:var(--color-orange-600)]/90',
|
|
104
|
+
'[--btn-icon:var(--color-orange-300)] data-active:[--btn-icon:var(--color-orange-200)] data-hover:[--btn-icon:var(--color-orange-200)]',
|
|
105
|
+
],
|
|
106
|
+
amber: [
|
|
107
|
+
'text-amber-950 [--btn-hover-overlay:var(--color-white)]/25 [--btn-bg:var(--color-amber-400)] [--btn-border:var(--color-amber-500)]/80',
|
|
108
|
+
'[--btn-icon:var(--color-amber-600)]',
|
|
109
|
+
],
|
|
110
|
+
yellow: [
|
|
111
|
+
'text-yellow-950 [--btn-hover-overlay:var(--color-white)]/25 [--btn-bg:var(--color-yellow-300)] [--btn-border:var(--color-yellow-400)]/80',
|
|
112
|
+
'[--btn-icon:var(--color-yellow-600)] data-active:[--btn-icon:var(--color-yellow-700)] data-hover:[--btn-icon:var(--color-yellow-700)]',
|
|
113
|
+
],
|
|
114
|
+
lime: [
|
|
115
|
+
'text-lime-950 [--btn-hover-overlay:var(--color-white)]/25 [--btn-bg:var(--color-lime-300)] [--btn-border:var(--color-lime-400)]/80',
|
|
116
|
+
'[--btn-icon:var(--color-lime-600)] data-active:[--btn-icon:var(--color-lime-700)] data-hover:[--btn-icon:var(--color-lime-700)]',
|
|
117
|
+
],
|
|
118
|
+
green: [
|
|
119
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-green-600)] [--btn-border:var(--color-green-700)]/90',
|
|
120
|
+
'[--btn-icon:var(--color-white)]/60 data-active:[--btn-icon:var(--color-white)]/80 data-hover:[--btn-icon:var(--color-white)]/80',
|
|
121
|
+
],
|
|
122
|
+
emerald: [
|
|
123
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-emerald-600)] [--btn-border:var(--color-emerald-700)]/90',
|
|
124
|
+
'[--btn-icon:var(--color-white)]/60 data-active:[--btn-icon:var(--color-white)]/80 data-hover:[--btn-icon:var(--color-white)]/80',
|
|
125
|
+
],
|
|
126
|
+
brand: [
|
|
127
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-brand-primary)] [--btn-border:var(--color-brand-primary)]',
|
|
128
|
+
'[--btn-icon:var(--color-white)]/60 data-active:[--btn-icon:var(--color-white)]/80 data-hover:[--btn-icon:var(--color-white)]/80',
|
|
129
|
+
],
|
|
130
|
+
teal: [
|
|
131
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-brand-primary)] [--btn-border:var(--color-brand-primary)]',
|
|
132
|
+
'[--btn-icon:var(--color-white)]/60 data-active:[--btn-icon:var(--color-white)]/80 data-hover:[--btn-icon:var(--color-white)]/80',
|
|
133
|
+
],
|
|
134
|
+
sky: [
|
|
135
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-sky-500)] [--btn-border:var(--color-sky-600)]/80',
|
|
136
|
+
'[--btn-icon:var(--color-white)]/60 data-active:[--btn-icon:var(--color-white)]/80 data-hover:[--btn-icon:var(--color-white)]/80',
|
|
137
|
+
],
|
|
138
|
+
blue: [
|
|
139
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-blue-600)] [--btn-border:var(--color-blue-700)]/90',
|
|
140
|
+
'[--btn-icon:var(--color-blue-400)] data-active:[--btn-icon:var(--color-blue-300)] data-hover:[--btn-icon:var(--color-blue-300)]',
|
|
141
|
+
],
|
|
142
|
+
violet: [
|
|
143
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-violet-500)] [--btn-border:var(--color-violet-600)]/90',
|
|
144
|
+
'[--btn-icon:var(--color-violet-300)] data-active:[--btn-icon:var(--color-violet-200)] data-hover:[--btn-icon:var(--color-violet-200)]',
|
|
145
|
+
],
|
|
146
|
+
purple: [
|
|
147
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-purple-500)] [--btn-border:var(--color-purple-600)]/90',
|
|
148
|
+
'[--btn-icon:var(--color-purple-300)] data-active:[--btn-icon:var(--color-purple-200)] data-hover:[--btn-icon:var(--color-purple-200)]',
|
|
149
|
+
],
|
|
150
|
+
fuchsia: [
|
|
151
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-fuchsia-500)] [--btn-border:var(--color-fuchsia-600)]/90',
|
|
152
|
+
'[--btn-icon:var(--color-fuchsia-300)] data-active:[--btn-icon:var(--color-fuchsia-200)] data-hover:[--btn-icon:var(--color-fuchsia-200)]',
|
|
153
|
+
],
|
|
154
|
+
pink: [
|
|
155
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-pink-500)] [--btn-border:var(--color-pink-600)]/90',
|
|
156
|
+
'[--btn-icon:var(--color-pink-300)] data-active:[--btn-icon:var(--color-pink-200)] data-hover:[--btn-icon:var(--color-pink-200)]',
|
|
157
|
+
],
|
|
158
|
+
rose: [
|
|
159
|
+
'text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-rose-500)] [--btn-border:var(--color-rose-600)]/90',
|
|
160
|
+
'[--btn-icon:var(--color-rose-300)] data-active:[--btn-icon:var(--color-rose-200)] data-hover:[--btn-icon:var(--color-rose-200)]',
|
|
161
|
+
],
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
export const Button = forwardRef(function Button({ color, outline, plain, className, children, ...props }, ref) {
|
|
165
|
+
const classes = clsx(className, styles.base, outline ? styles.outline : plain ? styles.plain : clsx(styles.solid, styles.colors[color ?? 'dark/zinc']));
|
|
166
|
+
return typeof props.href === 'string' ? (_jsx(Link, { ...props, className: classes, ref: ref, children: _jsx(TouchTarget, { children: children }) })) : (_jsx(Headless.Button, { ...props, className: clsx(classes, 'cursor-default'), ref: ref, children: _jsx(TouchTarget, { children: children }) }));
|
|
167
|
+
});
|
|
168
|
+
/**
|
|
169
|
+
* Expand the hit area to at least 44×44px on touch devices
|
|
170
|
+
*/
|
|
171
|
+
export function TouchTarget({ children }) {
|
|
172
|
+
return (_jsxs(_Fragment, { children: [_jsx("span", { className: "absolute top-1/2 left-1/2 size-[max(100%,2.75rem)] -translate-x-1/2 -translate-y-1/2 pointer-fine:hidden", "aria-hidden": "true" }), children] }));
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import { Button } from "./button";
|
|
3
|
+
declare const meta: Meta<typeof Button>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Button>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Brand: Story;
|
|
8
|
+
export declare const Emerald: Story;
|
|
9
|
+
export declare const Outline: Story;
|
|
10
|
+
export declare const Plain: Story;
|
|
11
|
+
export declare const Colors: Story;
|
|
12
|
+
export declare const Disabled: Story;
|
|
13
|
+
//# sourceMappingURL=button.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.stories.d.ts","sourceRoot":"","sources":["../../src/components/button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAI7B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAC;AAErC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAgBpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from "./button";
|
|
3
|
+
const meta = {
|
|
4
|
+
title: "Components/Button",
|
|
5
|
+
component: Button,
|
|
6
|
+
tags: ["autodocs"],
|
|
7
|
+
};
|
|
8
|
+
export default meta;
|
|
9
|
+
export const Default = {
|
|
10
|
+
args: {
|
|
11
|
+
children: "Click me",
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
export const Brand = {
|
|
15
|
+
args: {
|
|
16
|
+
color: "brand",
|
|
17
|
+
children: "Brand",
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
export const Emerald = {
|
|
21
|
+
args: {
|
|
22
|
+
color: "emerald",
|
|
23
|
+
children: "Emerald",
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
export const Outline = {
|
|
27
|
+
args: {
|
|
28
|
+
outline: true,
|
|
29
|
+
children: "Outline",
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
export const Plain = {
|
|
33
|
+
args: {
|
|
34
|
+
plain: true,
|
|
35
|
+
children: "Plain",
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
export const Colors = {
|
|
39
|
+
render: () => (_jsxs("div", { className: "flex flex-wrap gap-4", children: [_jsx(Button, { color: "brand", children: "Brand" }), _jsx(Button, { color: "emerald", children: "Emerald" }), _jsx(Button, { color: "indigo", children: "Indigo" }), _jsx(Button, { color: "red", children: "Red" }), _jsx(Button, { color: "orange", children: "Orange" }), _jsx(Button, { color: "sky", children: "Sky" }), _jsx(Button, { color: "blue", children: "Blue" }), _jsx(Button, { color: "violet", children: "Violet" }), _jsx(Button, { color: "pink", children: "Pink" }), _jsx(Button, { outline: true, children: "Outline" }), _jsx(Button, { plain: true, children: "Plain" })] })),
|
|
40
|
+
};
|
|
41
|
+
export const Disabled = {
|
|
42
|
+
args: {
|
|
43
|
+
color: "brand",
|
|
44
|
+
disabled: true,
|
|
45
|
+
children: "Disabled",
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=button.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.stories.js","sourceRoot":"","sources":["../../src/components/button.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,IAAI,GAAwB;IAChC,KAAK,EAAE,mBAAmB;IAC1B,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC;AAEF,eAAe,IAAI,CAAC;AAGpB,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,OAAO;KAClB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;KACpB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,SAAS;KACpB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,IAAI,EAAE;QACJ,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,OAAO;KAClB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,eAAK,SAAS,EAAC,sBAAsB,aACnC,KAAC,MAAM,IAAC,KAAK,EAAC,OAAO,sBAAe,EACpC,KAAC,MAAM,IAAC,KAAK,EAAC,SAAS,wBAAiB,EACxC,KAAC,MAAM,IAAC,KAAK,EAAC,QAAQ,uBAAgB,EACtC,KAAC,MAAM,IAAC,KAAK,EAAC,KAAK,oBAAa,EAChC,KAAC,MAAM,IAAC,KAAK,EAAC,QAAQ,uBAAgB,EACtC,KAAC,MAAM,IAAC,KAAK,EAAC,KAAK,oBAAa,EAChC,KAAC,MAAM,IAAC,KAAK,EAAC,MAAM,qBAAc,EAClC,KAAC,MAAM,IAAC,KAAK,EAAC,QAAQ,uBAAgB,EACtC,KAAC,MAAM,IAAC,KAAK,EAAC,MAAM,qBAAc,EAClC,KAAC,MAAM,IAAC,OAAO,8BAAiB,EAChC,KAAC,MAAM,IAAC,KAAK,4BAAe,IACxB,CACP;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
3
|
+
declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
+
declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
5
|
+
declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
6
|
+
declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
+
export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
|
|
9
|
+
//# sourceMappingURL=card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/components/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,IAAI,6GAER,CAAC;AAGH,QAAA,MAAM,UAAU,6GAIf,CAAC;AAGF,QAAA,MAAM,SAAS,uHAId,CAAC;AAGF,QAAA,MAAM,eAAe,yHAIpB,CAAC;AAGF,QAAA,MAAM,WAAW,6GAEhB,CAAC;AAGF,QAAA,MAAM,UAAU,6GAIf,CAAC;AAGF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn } from "../lib/utils";
|
|
4
|
+
const Card = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("rounded-lg border bg-card text-card-foreground shadow-apple-sm", className), ...props })));
|
|
5
|
+
Card.displayName = "Card";
|
|
6
|
+
const CardHeader = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("flex flex-col space-y-3 p-8", className), ...props })));
|
|
7
|
+
CardHeader.displayName = "CardHeader";
|
|
8
|
+
const CardTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx("h3", { ref: ref, className: cn("text-xl font-medium leading-none tracking-tight", className), ...props })));
|
|
9
|
+
CardTitle.displayName = "CardTitle";
|
|
10
|
+
const CardDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx("p", { ref: ref, className: cn("text-sm text-muted-foreground leading-relaxed", className), ...props })));
|
|
11
|
+
CardDescription.displayName = "CardDescription";
|
|
12
|
+
const CardContent = React.forwardRef(({ className, ...props }, ref) => _jsx("div", { ref: ref, className: cn("p-8 pt-0", className), ...props }));
|
|
13
|
+
CardContent.displayName = "CardContent";
|
|
14
|
+
const CardFooter = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("flex items-center p-8 pt-0", className), ...props })));
|
|
15
|
+
CardFooter.displayName = "CardFooter";
|
|
16
|
+
export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
|
|
17
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/components/card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAuD,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACpH,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,gEAAgE,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACzH,CAAC,CAAC;AACH,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;AAE1B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACtF,CACF,CAAC;AACF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAChC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,aAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,iDAAiD,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACzG,CACF,CAAC;AACF,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAEpC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CACtC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,YAAG,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,+CAA+C,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACtG,CACF,CAAC;AACF,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC;AAEhD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACrG,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACrF,CACF,CAAC;AACF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as Headless from '@headlessui/react';
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
export declare function CheckboxGroup({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare function CheckboxField({ className, ...props }: {
|
|
5
|
+
className?: string;
|
|
6
|
+
} & Omit<Headless.FieldProps, 'as' | 'className'>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare const colors: {
|
|
8
|
+
'dark/zinc': string[];
|
|
9
|
+
'dark/white': string[];
|
|
10
|
+
white: string;
|
|
11
|
+
dark: string;
|
|
12
|
+
zinc: string;
|
|
13
|
+
red: string;
|
|
14
|
+
orange: string;
|
|
15
|
+
amber: string;
|
|
16
|
+
yellow: string;
|
|
17
|
+
lime: string;
|
|
18
|
+
green: string;
|
|
19
|
+
emerald: string;
|
|
20
|
+
teal: string;
|
|
21
|
+
cyan: string;
|
|
22
|
+
sky: string;
|
|
23
|
+
blue: string;
|
|
24
|
+
indigo: string;
|
|
25
|
+
violet: string;
|
|
26
|
+
purple: string;
|
|
27
|
+
fuchsia: string;
|
|
28
|
+
pink: string;
|
|
29
|
+
rose: string;
|
|
30
|
+
};
|
|
31
|
+
type Color = keyof typeof colors;
|
|
32
|
+
export declare function Checkbox({ color, className, ...props }: {
|
|
33
|
+
color?: Color;
|
|
34
|
+
className?: string;
|
|
35
|
+
} & Omit<Headless.CheckboxProps, 'as' | 'className'>): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/components/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAE7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,2CAc3F;AAED,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,WAAW,CAAC,2CAoBxE;AA8BD,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAuCX,CAAA;AAED,KAAK,KAAK,GAAG,MAAM,OAAO,MAAM,CAAA;AAEhC,wBAAgB,QAAQ,CAAC,EACvB,KAAmB,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE;IACD,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,CAAC,2CAiCnD"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as Headless from '@headlessui/react';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
export function CheckboxGroup({ className, ...props }) {
|
|
5
|
+
return (_jsx("div", { "data-slot": "control", ...props, className: clsx(className,
|
|
6
|
+
// Basic groups
|
|
7
|
+
'space-y-3',
|
|
8
|
+
// With descriptions
|
|
9
|
+
'has-data-[slot=description]:space-y-6 has-data-[slot=description]:**:data-[slot=label]:font-medium') }));
|
|
10
|
+
}
|
|
11
|
+
export function CheckboxField({ className, ...props }) {
|
|
12
|
+
return (_jsx(Headless.Field, { "data-slot": "field", ...props, className: clsx(className,
|
|
13
|
+
// Base layout
|
|
14
|
+
'grid grid-cols-[1.125rem_1fr] gap-x-4 gap-y-1 sm:grid-cols-[1rem_1fr]',
|
|
15
|
+
// Control layout
|
|
16
|
+
'*:data-[slot=control]:col-start-1 *:data-[slot=control]:row-start-1 *:data-[slot=control]:mt-0.75 sm:*:data-[slot=control]:mt-1',
|
|
17
|
+
// Label layout
|
|
18
|
+
'*:data-[slot=label]:col-start-2 *:data-[slot=label]:row-start-1',
|
|
19
|
+
// Description layout
|
|
20
|
+
'*:data-[slot=description]:col-start-2 *:data-[slot=description]:row-start-2',
|
|
21
|
+
// With description
|
|
22
|
+
'has-data-[slot=description]:**:data-[slot=label]:font-medium') }));
|
|
23
|
+
}
|
|
24
|
+
const base = [
|
|
25
|
+
// Basic layout
|
|
26
|
+
'relative isolate flex size-4.5 items-center justify-center rounded-[0.3125rem] sm:size-4',
|
|
27
|
+
// Background color + shadow applied to inset pseudo element, so shadow blends with border in light mode
|
|
28
|
+
'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(0.3125rem-1px)] before:bg-white before:shadow-sm',
|
|
29
|
+
// Background color when checked
|
|
30
|
+
'group-data-checked:before:bg-(--checkbox-checked-bg)',
|
|
31
|
+
// Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo
|
|
32
|
+
'dark:before:hidden',
|
|
33
|
+
// Background color applied to control in dark mode
|
|
34
|
+
'dark:bg-white/5 dark:group-data-checked:bg-(--checkbox-checked-bg)',
|
|
35
|
+
// Border
|
|
36
|
+
'border border-zinc-950/15 group-data-checked:border-transparent group-data-hover:group-data-checked:border-transparent group-data-hover:border-zinc-950/30 group-data-checked:bg-(--checkbox-checked-border)',
|
|
37
|
+
'dark:border-white/15 dark:group-data-checked:border-white/5 dark:group-data-hover:group-data-checked:border-white/5 dark:group-data-hover:border-white/30',
|
|
38
|
+
// Inner highlight shadow
|
|
39
|
+
'after:absolute after:inset-0 after:rounded-[calc(0.3125rem-1px)] after:shadow-[inset_0_1px_--theme(--color-white/15%)]',
|
|
40
|
+
'dark:after:-inset-px dark:after:hidden dark:after:rounded-[0.3125rem] dark:group-data-checked:after:block',
|
|
41
|
+
// Focus ring
|
|
42
|
+
'group-data-focus:outline-2 group-data-focus:outline-offset-2 group-data-focus:outline-blue-500',
|
|
43
|
+
// Disabled state
|
|
44
|
+
'group-data-disabled:opacity-50',
|
|
45
|
+
'group-data-disabled:border-zinc-950/25 group-data-disabled:bg-zinc-950/5 group-data-disabled:[--checkbox-check:var(--color-zinc-950)]/50 group-data-disabled:before:bg-transparent',
|
|
46
|
+
'dark:group-data-disabled:border-white/20 dark:group-data-disabled:bg-white/2.5 dark:group-data-disabled:[--checkbox-check:var(--color-white)]/50 dark:group-data-checked:group-data-disabled:after:hidden',
|
|
47
|
+
// Forced colors mode
|
|
48
|
+
'forced-colors:[--checkbox-check:HighlightText] forced-colors:[--checkbox-checked-bg:Highlight] forced-colors:group-data-disabled:[--checkbox-check:Highlight]',
|
|
49
|
+
'dark:forced-colors:[--checkbox-check:HighlightText] dark:forced-colors:[--checkbox-checked-bg:Highlight] dark:forced-colors:group-data-disabled:[--checkbox-check:Highlight]',
|
|
50
|
+
];
|
|
51
|
+
const colors = {
|
|
52
|
+
'dark/zinc': [
|
|
53
|
+
'[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-zinc-900)] [--checkbox-checked-border:var(--color-zinc-950)]/90',
|
|
54
|
+
'dark:[--checkbox-checked-bg:var(--color-zinc-600)]',
|
|
55
|
+
],
|
|
56
|
+
'dark/white': [
|
|
57
|
+
'[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-zinc-900)] [--checkbox-checked-border:var(--color-zinc-950)]/90',
|
|
58
|
+
'dark:[--checkbox-check:var(--color-zinc-900)] dark:[--checkbox-checked-bg:var(--color-white)] dark:[--checkbox-checked-border:var(--color-zinc-950)]/15',
|
|
59
|
+
],
|
|
60
|
+
white: '[--checkbox-check:var(--color-zinc-900)] [--checkbox-checked-bg:var(--color-white)] [--checkbox-checked-border:var(--color-zinc-950)]/15',
|
|
61
|
+
dark: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-zinc-900)] [--checkbox-checked-border:var(--color-zinc-950)]/90',
|
|
62
|
+
zinc: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-zinc-600)] [--checkbox-checked-border:var(--color-zinc-700)]/90',
|
|
63
|
+
red: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-red-600)] [--checkbox-checked-border:var(--color-red-700)]/90',
|
|
64
|
+
orange: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-orange-500)] [--checkbox-checked-border:var(--color-orange-600)]/90',
|
|
65
|
+
amber: '[--checkbox-check:var(--color-amber-950)] [--checkbox-checked-bg:var(--color-amber-400)] [--checkbox-checked-border:var(--color-amber-500)]/80',
|
|
66
|
+
yellow: '[--checkbox-check:var(--color-yellow-950)] [--checkbox-checked-bg:var(--color-yellow-300)] [--checkbox-checked-border:var(--color-yellow-400)]/80',
|
|
67
|
+
lime: '[--checkbox-check:var(--color-lime-950)] [--checkbox-checked-bg:var(--color-lime-300)] [--checkbox-checked-border:var(--color-lime-400)]/80',
|
|
68
|
+
green: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-green-600)] [--checkbox-checked-border:var(--color-green-700)]/90',
|
|
69
|
+
emerald: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-emerald-600)] [--checkbox-checked-border:var(--color-emerald-700)]/90',
|
|
70
|
+
teal: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-teal-600)] [--checkbox-checked-border:var(--color-teal-700)]/90',
|
|
71
|
+
cyan: '[--checkbox-check:var(--color-cyan-950)] [--checkbox-checked-bg:var(--color-cyan-300)] [--checkbox-checked-border:var(--color-cyan-400)]/80',
|
|
72
|
+
sky: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-sky-500)] [--checkbox-checked-border:var(--color-sky-600)]/80',
|
|
73
|
+
blue: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-blue-600)] [--checkbox-checked-border:var(--color-blue-700)]/90',
|
|
74
|
+
indigo: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-indigo-500)] [--checkbox-checked-border:var(--color-indigo-600)]/90',
|
|
75
|
+
violet: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-violet-500)] [--checkbox-checked-border:var(--color-violet-600)]/90',
|
|
76
|
+
purple: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-purple-500)] [--checkbox-checked-border:var(--color-purple-600)]/90',
|
|
77
|
+
fuchsia: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-fuchsia-500)] [--checkbox-checked-border:var(--color-fuchsia-600)]/90',
|
|
78
|
+
pink: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-pink-500)] [--checkbox-checked-border:var(--color-pink-600)]/90',
|
|
79
|
+
rose: '[--checkbox-check:var(--color-white)] [--checkbox-checked-bg:var(--color-rose-500)] [--checkbox-checked-border:var(--color-rose-600)]/90',
|
|
80
|
+
};
|
|
81
|
+
export function Checkbox({ color = 'dark/zinc', className, ...props }) {
|
|
82
|
+
return (_jsx(Headless.Checkbox, { "data-slot": "control", ...props, className: clsx(className, 'group inline-flex focus:outline-hidden'), children: _jsx("span", { className: clsx([base, colors[color]]), children: _jsxs("svg", { className: "size-4 stroke-(--checkbox-check) opacity-0 group-data-checked:opacity-100 sm:h-3.5 sm:w-3.5", viewBox: "0 0 14 14", fill: "none", children: [_jsx("path", { className: "opacity-100 group-data-indeterminate:opacity-0", d: "M3 8L6 11L11 3.5", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { className: "opacity-0 group-data-indeterminate:opacity-100", d: "M3 7H11", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" })] }) }) }));
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/components/checkbox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as Headless from '@headlessui/react';
|
|
2
|
+
export declare function Combobox<T>({ options, displayValue, filter, anchor, className, placeholder, autoFocus, 'aria-label': ariaLabel, children, ...props }: {
|
|
3
|
+
options: T[];
|
|
4
|
+
displayValue: (value: T | null) => string | undefined;
|
|
5
|
+
filter?: (value: T, query: string) => boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
autoFocus?: boolean;
|
|
9
|
+
'aria-label'?: string;
|
|
10
|
+
children: (value: NonNullable<T>) => React.ReactElement;
|
|
11
|
+
} & Omit<Headless.ComboboxProps<T, false>, 'as' | 'multiple' | 'children'> & {
|
|
12
|
+
anchor?: 'top' | 'bottom';
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function ComboboxOption<T>({ children, className, ...props }: {
|
|
15
|
+
className?: string;
|
|
16
|
+
children?: React.ReactNode;
|
|
17
|
+
} & Omit<Headless.ComboboxOptionProps<'div', T>, 'as' | 'className'>): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function ComboboxLabel({ className, ...props }: React.ComponentPropsWithoutRef<'span'>): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare function ComboboxDescription({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
//# sourceMappingURL=combobox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../src/components/combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAI7C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAC1B,OAAO,EACP,YAAY,EACZ,MAAM,EACN,MAAiB,EACjB,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE;IACD,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,KAAK,MAAM,GAAG,SAAS,CAAA;IACrD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,YAAY,CAAA;CACxD,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;CAAE,2CA+FzG;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAChC,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,IAAI,CAC1D,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,EACtC,IAAI,GAAG,WAAW,CACnB,2CAuCA;AAED,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,2CAE5F;AAED,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,2CAY5G"}
|