@dowel-ui/react 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/LICENSE +21 -0
- package/dist/blocks/admin-users/meta.js +27 -0
- package/dist/blocks/admin-users/meta.js.map +1 -0
- package/dist/blocks/ai-chat/meta.js +30 -0
- package/dist/blocks/ai-chat/meta.js.map +1 -0
- package/dist/blocks/dashboard/meta.js +23 -0
- package/dist/blocks/dashboard/meta.js.map +1 -0
- package/dist/blocks/forgot-password/meta.js +24 -0
- package/dist/blocks/forgot-password/meta.js.map +1 -0
- package/dist/blocks/login/meta.js +26 -0
- package/dist/blocks/login/meta.js.map +1 -0
- package/dist/blocks/pricing/meta.js +24 -0
- package/dist/blocks/pricing/meta.js.map +1 -0
- package/dist/blocks/settings/meta.js +29 -0
- package/dist/blocks/settings/meta.js.map +1 -0
- package/dist/blocks/signup/meta.js +25 -0
- package/dist/blocks/signup/meta.js.map +1 -0
- package/dist/components/accordion/accordion.d.ts +19 -0
- package/dist/components/accordion/accordion.d.ts.map +1 -0
- package/dist/components/accordion/accordion.js +58 -0
- package/dist/components/accordion/accordion.js.map +1 -0
- package/dist/components/accordion/index.d.ts +2 -0
- package/dist/components/accordion/index.js +2 -0
- package/dist/components/accordion/meta.js +17 -0
- package/dist/components/accordion/meta.js.map +1 -0
- package/dist/components/activity-feed/activity-feed.d.ts +39 -0
- package/dist/components/activity-feed/activity-feed.d.ts.map +1 -0
- package/dist/components/activity-feed/activity-feed.js +77 -0
- package/dist/components/activity-feed/activity-feed.js.map +1 -0
- package/dist/components/activity-feed/index.d.ts +2 -0
- package/dist/components/activity-feed/index.js +2 -0
- package/dist/components/activity-feed/meta.js +17 -0
- package/dist/components/activity-feed/meta.js.map +1 -0
- package/dist/components/ai-agent-status/ai-agent-status.d.ts +30 -0
- package/dist/components/ai-agent-status/ai-agent-status.d.ts.map +1 -0
- package/dist/components/ai-agent-status/ai-agent-status.js +43 -0
- package/dist/components/ai-agent-status/ai-agent-status.js.map +1 -0
- package/dist/components/ai-agent-status/index.d.ts +2 -0
- package/dist/components/ai-agent-status/index.js +2 -0
- package/dist/components/ai-agent-status/meta.js +17 -0
- package/dist/components/ai-agent-status/meta.js.map +1 -0
- package/dist/components/ai-conversation/ai-conversation.d.ts +45 -0
- package/dist/components/ai-conversation/ai-conversation.d.ts.map +1 -0
- package/dist/components/ai-conversation/ai-conversation.js +138 -0
- package/dist/components/ai-conversation/ai-conversation.js.map +1 -0
- package/dist/components/ai-conversation/index.d.ts +2 -0
- package/dist/components/ai-conversation/index.js +2 -0
- package/dist/components/ai-conversation/meta.js +17 -0
- package/dist/components/ai-conversation/meta.js.map +1 -0
- package/dist/components/ai-message/ai-message.d.ts +56 -0
- package/dist/components/ai-message/ai-message.d.ts.map +1 -0
- package/dist/components/ai-message/ai-message.js +90 -0
- package/dist/components/ai-message/ai-message.js.map +1 -0
- package/dist/components/ai-message/index.d.ts +2 -0
- package/dist/components/ai-message/index.js +2 -0
- package/dist/components/ai-message/meta.js +17 -0
- package/dist/components/ai-message/meta.js.map +1 -0
- package/dist/components/ai-model-selector/ai-model-selector.d.ts +42 -0
- package/dist/components/ai-model-selector/ai-model-selector.d.ts.map +1 -0
- package/dist/components/ai-model-selector/ai-model-selector.js +48 -0
- package/dist/components/ai-model-selector/ai-model-selector.js.map +1 -0
- package/dist/components/ai-model-selector/index.d.ts +2 -0
- package/dist/components/ai-model-selector/index.js +2 -0
- package/dist/components/ai-model-selector/meta.js +17 -0
- package/dist/components/ai-model-selector/meta.js.map +1 -0
- package/dist/components/ai-prompt-input/ai-prompt-input.d.ts +61 -0
- package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -0
- package/dist/components/ai-prompt-input/ai-prompt-input.js +170 -0
- package/dist/components/ai-prompt-input/ai-prompt-input.js.map +1 -0
- package/dist/components/ai-prompt-input/index.d.ts +2 -0
- package/dist/components/ai-prompt-input/index.js +2 -0
- package/dist/components/ai-prompt-input/meta.js +17 -0
- package/dist/components/ai-prompt-input/meta.js.map +1 -0
- package/dist/components/ai-reasoning/ai-reasoning.d.ts +24 -0
- package/dist/components/ai-reasoning/ai-reasoning.d.ts.map +1 -0
- package/dist/components/ai-reasoning/ai-reasoning.js +64 -0
- package/dist/components/ai-reasoning/ai-reasoning.js.map +1 -0
- package/dist/components/ai-reasoning/index.d.ts +2 -0
- package/dist/components/ai-reasoning/index.js +2 -0
- package/dist/components/ai-reasoning/meta.js +17 -0
- package/dist/components/ai-reasoning/meta.js.map +1 -0
- package/dist/components/ai-response/ai-response.d.ts +36 -0
- package/dist/components/ai-response/ai-response.d.ts.map +1 -0
- package/dist/components/ai-response/ai-response.js +46 -0
- package/dist/components/ai-response/ai-response.js.map +1 -0
- package/dist/components/ai-response/index.d.ts +2 -0
- package/dist/components/ai-response/index.js +2 -0
- package/dist/components/ai-response/meta.js +17 -0
- package/dist/components/ai-response/meta.js.map +1 -0
- package/dist/components/ai-sources/ai-sources.d.ts +44 -0
- package/dist/components/ai-sources/ai-sources.d.ts.map +1 -0
- package/dist/components/ai-sources/ai-sources.js +112 -0
- package/dist/components/ai-sources/ai-sources.js.map +1 -0
- package/dist/components/ai-sources/index.d.ts +2 -0
- package/dist/components/ai-sources/index.js +2 -0
- package/dist/components/ai-sources/meta.js +17 -0
- package/dist/components/ai-sources/meta.js.map +1 -0
- package/dist/components/ai-token-usage/ai-token-usage.d.ts +34 -0
- package/dist/components/ai-token-usage/ai-token-usage.d.ts.map +1 -0
- package/dist/components/ai-token-usage/ai-token-usage.js +58 -0
- package/dist/components/ai-token-usage/ai-token-usage.js.map +1 -0
- package/dist/components/ai-token-usage/index.d.ts +2 -0
- package/dist/components/ai-token-usage/index.js +2 -0
- package/dist/components/ai-token-usage/meta.js +17 -0
- package/dist/components/ai-token-usage/meta.js.map +1 -0
- package/dist/components/ai-tool/ai-tool.d.ts +50 -0
- package/dist/components/ai-tool/ai-tool.d.ts.map +1 -0
- package/dist/components/ai-tool/ai-tool.js +129 -0
- package/dist/components/ai-tool/ai-tool.js.map +1 -0
- package/dist/components/ai-tool/index.d.ts +2 -0
- package/dist/components/ai-tool/index.js +2 -0
- package/dist/components/ai-tool/meta.js +17 -0
- package/dist/components/ai-tool/meta.js.map +1 -0
- package/dist/components/alert/alert.d.ts +32 -0
- package/dist/components/alert/alert.d.ts.map +1 -0
- package/dist/components/alert/alert.js +49 -0
- package/dist/components/alert/alert.js.map +1 -0
- package/dist/components/alert/index.d.ts +2 -0
- package/dist/components/alert/index.js +2 -0
- package/dist/components/alert/meta.js +17 -0
- package/dist/components/alert/meta.js.map +1 -0
- package/dist/components/avatar/avatar.d.ts +23 -0
- package/dist/components/avatar/avatar.d.ts.map +1 -0
- package/dist/components/avatar/avatar.js +44 -0
- package/dist/components/avatar/avatar.js.map +1 -0
- package/dist/components/avatar/index.d.ts +2 -0
- package/dist/components/avatar/index.js +2 -0
- package/dist/components/avatar/meta.js +17 -0
- package/dist/components/avatar/meta.js.map +1 -0
- package/dist/components/badge/badge.d.ts +20 -0
- package/dist/components/badge/badge.d.ts.map +1 -0
- package/dist/components/badge/badge.js +47 -0
- package/dist/components/badge/badge.js.map +1 -0
- package/dist/components/badge/index.d.ts +2 -0
- package/dist/components/badge/index.js +2 -0
- package/dist/components/badge/meta.js +17 -0
- package/dist/components/badge/meta.js.map +1 -0
- package/dist/components/button/button.d.ts +28 -0
- package/dist/components/button/button.d.ts.map +1 -0
- package/dist/components/button/button.js +77 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/button/index.js +2 -0
- package/dist/components/button/meta.js +17 -0
- package/dist/components/button/meta.js.map +1 -0
- package/dist/components/calendar/calendar.d.ts +16 -0
- package/dist/components/calendar/calendar.d.ts.map +1 -0
- package/dist/components/calendar/calendar.js +70 -0
- package/dist/components/calendar/calendar.js.map +1 -0
- package/dist/components/calendar/index.d.ts +2 -0
- package/dist/components/calendar/index.js +2 -0
- package/dist/components/calendar/meta.js +17 -0
- package/dist/components/calendar/meta.js.map +1 -0
- package/dist/components/card/card.d.ts +23 -0
- package/dist/components/card/card.d.ts.map +1 -0
- package/dist/components/card/card.js +53 -0
- package/dist/components/card/card.js.map +1 -0
- package/dist/components/card/index.d.ts +2 -0
- package/dist/components/card/index.js +2 -0
- package/dist/components/card/meta.js +17 -0
- package/dist/components/card/meta.js.map +1 -0
- package/dist/components/checkbox/checkbox.d.ts +15 -0
- package/dist/components/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.js +45 -0
- package/dist/components/checkbox/checkbox.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +2 -0
- package/dist/components/checkbox/index.js +2 -0
- package/dist/components/checkbox/meta.js +17 -0
- package/dist/components/checkbox/meta.js.map +1 -0
- package/dist/components/code-block/code-block.d.ts +46 -0
- package/dist/components/code-block/code-block.d.ts.map +1 -0
- package/dist/components/code-block/code-block.js +110 -0
- package/dist/components/code-block/code-block.js.map +1 -0
- package/dist/components/code-block/index.d.ts +2 -0
- package/dist/components/code-block/index.js +2 -0
- package/dist/components/code-block/meta.js +17 -0
- package/dist/components/code-block/meta.js.map +1 -0
- package/dist/components/combobox/combobox.d.ts +59 -0
- package/dist/components/combobox/combobox.d.ts.map +1 -0
- package/dist/components/combobox/combobox.js +346 -0
- package/dist/components/combobox/combobox.js.map +1 -0
- package/dist/components/combobox/index.d.ts +2 -0
- package/dist/components/combobox/index.js +2 -0
- package/dist/components/combobox/meta.js +17 -0
- package/dist/components/combobox/meta.js.map +1 -0
- package/dist/components/command/command.d.ts +65 -0
- package/dist/components/command/command.d.ts.map +1 -0
- package/dist/components/command/command.js +330 -0
- package/dist/components/command/command.js.map +1 -0
- package/dist/components/command/index.d.ts +2 -0
- package/dist/components/command/index.js +2 -0
- package/dist/components/command/meta.js +17 -0
- package/dist/components/command/meta.js.map +1 -0
- package/dist/components/data-table/data-table.d.ts +91 -0
- package/dist/components/data-table/data-table.d.ts.map +1 -0
- package/dist/components/data-table/data-table.js +263 -0
- package/dist/components/data-table/data-table.js.map +1 -0
- package/dist/components/data-table/index.d.ts +2 -0
- package/dist/components/data-table/index.js +2 -0
- package/dist/components/data-table/meta.js +22 -0
- package/dist/components/data-table/meta.js.map +1 -0
- package/dist/components/date-picker/date-picker.d.ts +31 -0
- package/dist/components/date-picker/date-picker.d.ts.map +1 -0
- package/dist/components/date-picker/date-picker.js +123 -0
- package/dist/components/date-picker/date-picker.js.map +1 -0
- package/dist/components/date-picker/index.d.ts +2 -0
- package/dist/components/date-picker/index.js +2 -0
- package/dist/components/date-picker/meta.js +21 -0
- package/dist/components/date-picker/meta.js.map +1 -0
- package/dist/components/dialog/dialog.d.ts +30 -0
- package/dist/components/dialog/dialog.d.ts.map +1 -0
- package/dist/components/dialog/dialog.js +79 -0
- package/dist/components/dialog/dialog.js.map +1 -0
- package/dist/components/dialog/index.d.ts +2 -0
- package/dist/components/dialog/index.js +2 -0
- package/dist/components/dialog/meta.js +17 -0
- package/dist/components/dialog/meta.js.map +1 -0
- package/dist/components/drawer/drawer.d.ts +32 -0
- package/dist/components/drawer/drawer.d.ts.map +1 -0
- package/dist/components/drawer/drawer.js +153 -0
- package/dist/components/drawer/drawer.js.map +1 -0
- package/dist/components/drawer/index.d.ts +2 -0
- package/dist/components/drawer/index.js +2 -0
- package/dist/components/drawer/meta.js +17 -0
- package/dist/components/drawer/meta.js.map +1 -0
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +43 -0
- package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -0
- package/dist/components/dropdown-menu/dropdown-menu.js +130 -0
- package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/components/dropdown-menu/index.d.ts +2 -0
- package/dist/components/dropdown-menu/index.js +2 -0
- package/dist/components/dropdown-menu/meta.js +17 -0
- package/dist/components/dropdown-menu/meta.js.map +1 -0
- package/dist/components/empty-state/empty-state.d.ts +24 -0
- package/dist/components/empty-state/empty-state.d.ts.map +1 -0
- package/dist/components/empty-state/empty-state.js +73 -0
- package/dist/components/empty-state/empty-state.js.map +1 -0
- package/dist/components/empty-state/index.d.ts +2 -0
- package/dist/components/empty-state/index.js +2 -0
- package/dist/components/empty-state/meta.js +17 -0
- package/dist/components/empty-state/meta.js.map +1 -0
- package/dist/components/form/form.d.ts +43 -0
- package/dist/components/form/form.d.ts.map +1 -0
- package/dist/components/form/form.js +127 -0
- package/dist/components/form/form.js.map +1 -0
- package/dist/components/form/index.d.ts +2 -0
- package/dist/components/form/index.js +2 -0
- package/dist/components/form/meta.js +17 -0
- package/dist/components/form/meta.js.map +1 -0
- package/dist/components/input/index.d.ts +2 -0
- package/dist/components/input/index.js +2 -0
- package/dist/components/input/input.d.ts +21 -0
- package/dist/components/input/input.d.ts.map +1 -0
- package/dist/components/input/input.js +34 -0
- package/dist/components/input/input.js.map +1 -0
- package/dist/components/input/meta.js +17 -0
- package/dist/components/input/meta.js.map +1 -0
- package/dist/components/label/index.d.ts +2 -0
- package/dist/components/label/index.js +2 -0
- package/dist/components/label/label.d.ts +14 -0
- package/dist/components/label/label.d.ts.map +1 -0
- package/dist/components/label/label.js +20 -0
- package/dist/components/label/label.js.map +1 -0
- package/dist/components/label/meta.js +17 -0
- package/dist/components/label/meta.js.map +1 -0
- package/dist/components/pagination/index.d.ts +2 -0
- package/dist/components/pagination/index.js +2 -0
- package/dist/components/pagination/meta.js +17 -0
- package/dist/components/pagination/meta.js.map +1 -0
- package/dist/components/pagination/pagination.d.ts +33 -0
- package/dist/components/pagination/pagination.d.ts.map +1 -0
- package/dist/components/pagination/pagination.js +143 -0
- package/dist/components/pagination/pagination.js.map +1 -0
- package/dist/components/popover/index.d.ts +2 -0
- package/dist/components/popover/index.js +2 -0
- package/dist/components/popover/meta.js +17 -0
- package/dist/components/popover/meta.js.map +1 -0
- package/dist/components/popover/popover.d.ts +24 -0
- package/dist/components/popover/popover.d.ts.map +1 -0
- package/dist/components/popover/popover.js +60 -0
- package/dist/components/popover/popover.js.map +1 -0
- package/dist/components/progress/index.d.ts +2 -0
- package/dist/components/progress/index.js +2 -0
- package/dist/components/progress/meta.js +17 -0
- package/dist/components/progress/meta.js.map +1 -0
- package/dist/components/progress/progress.d.ts +21 -0
- package/dist/components/progress/progress.d.ts.map +1 -0
- package/dist/components/progress/progress.js +55 -0
- package/dist/components/progress/progress.js.map +1 -0
- package/dist/components/radio-group/index.d.ts +2 -0
- package/dist/components/radio-group/index.js +2 -0
- package/dist/components/radio-group/meta.js +17 -0
- package/dist/components/radio-group/meta.js.map +1 -0
- package/dist/components/radio-group/radio-group.d.ts +17 -0
- package/dist/components/radio-group/radio-group.d.ts.map +1 -0
- package/dist/components/radio-group/radio-group.js +29 -0
- package/dist/components/radio-group/radio-group.js.map +1 -0
- package/dist/components/select/index.d.ts +2 -0
- package/dist/components/select/index.js +2 -0
- package/dist/components/select/meta.js +17 -0
- package/dist/components/select/meta.js.map +1 -0
- package/dist/components/select/select.d.ts +37 -0
- package/dist/components/select/select.d.ts.map +1 -0
- package/dist/components/select/select.js +128 -0
- package/dist/components/select/select.js.map +1 -0
- package/dist/components/separator/index.d.ts +2 -0
- package/dist/components/separator/index.js +2 -0
- package/dist/components/separator/meta.js +17 -0
- package/dist/components/separator/meta.js.map +1 -0
- package/dist/components/separator/separator.d.ts +15 -0
- package/dist/components/separator/separator.d.ts.map +1 -0
- package/dist/components/separator/separator.js +23 -0
- package/dist/components/separator/separator.js.map +1 -0
- package/dist/components/sheet/index.d.ts +2 -0
- package/dist/components/sheet/index.js +2 -0
- package/dist/components/sheet/meta.js +17 -0
- package/dist/components/sheet/meta.js.map +1 -0
- package/dist/components/sheet/sheet.d.ts +31 -0
- package/dist/components/sheet/sheet.d.ts.map +1 -0
- package/dist/components/sheet/sheet.js +90 -0
- package/dist/components/sheet/sheet.js.map +1 -0
- package/dist/components/skeleton/index.d.ts +2 -0
- package/dist/components/skeleton/index.js +2 -0
- package/dist/components/skeleton/meta.js +17 -0
- package/dist/components/skeleton/meta.js.map +1 -0
- package/dist/components/skeleton/skeleton.d.ts +20 -0
- package/dist/components/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/skeleton/skeleton.js +29 -0
- package/dist/components/skeleton/skeleton.js.map +1 -0
- package/dist/components/slider/index.d.ts +2 -0
- package/dist/components/slider/index.js +2 -0
- package/dist/components/slider/meta.js +17 -0
- package/dist/components/slider/meta.js.map +1 -0
- package/dist/components/slider/slider.d.ts +29 -0
- package/dist/components/slider/slider.d.ts.map +1 -0
- package/dist/components/slider/slider.js +61 -0
- package/dist/components/slider/slider.js.map +1 -0
- package/dist/components/spinner/index.d.ts +2 -0
- package/dist/components/spinner/index.js +2 -0
- package/dist/components/spinner/meta.js +17 -0
- package/dist/components/spinner/meta.js.map +1 -0
- package/dist/components/spinner/spinner.d.ts +21 -0
- package/dist/components/spinner/spinner.d.ts.map +1 -0
- package/dist/components/spinner/spinner.js +45 -0
- package/dist/components/spinner/spinner.js.map +1 -0
- package/dist/components/switch/index.d.ts +2 -0
- package/dist/components/switch/index.js +2 -0
- package/dist/components/switch/meta.js +17 -0
- package/dist/components/switch/meta.js.map +1 -0
- package/dist/components/switch/switch.d.ts +15 -0
- package/dist/components/switch/switch.d.ts.map +1 -0
- package/dist/components/switch/switch.js +21 -0
- package/dist/components/switch/switch.js.map +1 -0
- package/dist/components/table/index.d.ts +2 -0
- package/dist/components/table/index.js +2 -0
- package/dist/components/table/meta.js +17 -0
- package/dist/components/table/meta.js.map +1 -0
- package/dist/components/table/table.d.ts +41 -0
- package/dist/components/table/table.d.ts.map +1 -0
- package/dist/components/table/table.js +78 -0
- package/dist/components/table/table.js.map +1 -0
- package/dist/components/tabs/index.d.ts +2 -0
- package/dist/components/tabs/index.js +2 -0
- package/dist/components/tabs/meta.js +17 -0
- package/dist/components/tabs/meta.js.map +1 -0
- package/dist/components/tabs/tabs.d.ts +28 -0
- package/dist/components/tabs/tabs.d.ts.map +1 -0
- package/dist/components/tabs/tabs.js +58 -0
- package/dist/components/tabs/tabs.js.map +1 -0
- package/dist/components/toast/index.d.ts +3 -0
- package/dist/components/toast/index.js +3 -0
- package/dist/components/toast/meta.js +17 -0
- package/dist/components/toast/meta.js.map +1 -0
- package/dist/components/toast/toast-store.d.ts +84 -0
- package/dist/components/toast/toast-store.d.ts.map +1 -0
- package/dist/components/toast/toast-store.js +115 -0
- package/dist/components/toast/toast-store.js.map +1 -0
- package/dist/components/toast/toast.d.ts +39 -0
- package/dist/components/toast/toast.d.ts.map +1 -0
- package/dist/components/toast/toast.js +140 -0
- package/dist/components/toast/toast.js.map +1 -0
- package/dist/components/tooltip/index.d.ts +2 -0
- package/dist/components/tooltip/index.js +2 -0
- package/dist/components/tooltip/meta.js +17 -0
- package/dist/components/tooltip/meta.js.map +1 -0
- package/dist/components/tooltip/tooltip.d.ts +24 -0
- package/dist/components/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip.js +38 -0
- package/dist/components/tooltip/tooltip.js.map +1 -0
- package/dist/index.d.ts +97 -0
- package/dist/index.js +51 -0
- package/dist/lib/styles.d.ts +21 -0
- package/dist/lib/styles.d.ts.map +1 -0
- package/dist/lib/styles.js +22 -0
- package/dist/lib/styles.js.map +1 -0
- package/dist/lib/utils.d.ts +11 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +21 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/registry/blocks.d.ts +15 -0
- package/dist/registry/blocks.d.ts.map +1 -0
- package/dist/registry/blocks.js +32 -0
- package/dist/registry/blocks.js.map +1 -0
- package/dist/registry/components.d.ts +18 -0
- package/dist/registry/components.d.ts.map +1 -0
- package/dist/registry/components.js +112 -0
- package/dist/registry/components.js.map +1 -0
- package/dist/registry/schema.d.ts +44 -0
- package/dist/registry/schema.d.ts.map +1 -0
- package/dist/registry/schema.js +33 -0
- package/dist/registry/schema.js.map +1 -0
- package/package.json +74 -0
- package/src/blocks/admin-users/admin-users.stories.tsx +83 -0
- package/src/blocks/admin-users/admin-users.test.tsx +159 -0
- package/src/blocks/admin-users/admin-users.tsx +251 -0
- package/src/blocks/admin-users/index.ts +1 -0
- package/src/blocks/admin-users/meta.ts +27 -0
- package/src/blocks/ai-chat/ai-chat.stories.tsx +149 -0
- package/src/blocks/ai-chat/ai-chat.test.tsx +166 -0
- package/src/blocks/ai-chat/ai-chat.tsx +280 -0
- package/src/blocks/ai-chat/index.ts +7 -0
- package/src/blocks/ai-chat/meta.ts +32 -0
- package/src/blocks/dashboard/dashboard.stories.tsx +106 -0
- package/src/blocks/dashboard/dashboard.test.tsx +94 -0
- package/src/blocks/dashboard/dashboard.tsx +192 -0
- package/src/blocks/dashboard/index.ts +6 -0
- package/src/blocks/dashboard/meta.ts +18 -0
- package/src/blocks/forgot-password/forgot-password.stories.tsx +41 -0
- package/src/blocks/forgot-password/forgot-password.test.tsx +62 -0
- package/src/blocks/forgot-password/forgot-password.tsx +158 -0
- package/src/blocks/forgot-password/index.ts +1 -0
- package/src/blocks/forgot-password/meta.ts +18 -0
- package/src/blocks/login/index.ts +1 -0
- package/src/blocks/login/login.stories.tsx +46 -0
- package/src/blocks/login/login.test.tsx +100 -0
- package/src/blocks/login/login.tsx +178 -0
- package/src/blocks/login/meta.ts +18 -0
- package/src/blocks/pricing/index.ts +1 -0
- package/src/blocks/pricing/meta.ts +18 -0
- package/src/blocks/pricing/pricing.stories.tsx +62 -0
- package/src/blocks/pricing/pricing.test.tsx +101 -0
- package/src/blocks/pricing/pricing.tsx +176 -0
- package/src/blocks/settings/index.ts +6 -0
- package/src/blocks/settings/meta.ts +29 -0
- package/src/blocks/settings/settings.stories.tsx +94 -0
- package/src/blocks/settings/settings.test.tsx +167 -0
- package/src/blocks/settings/settings.tsx +317 -0
- package/src/blocks/signup/index.ts +1 -0
- package/src/blocks/signup/meta.ts +18 -0
- package/src/blocks/signup/signup.stories.tsx +27 -0
- package/src/blocks/signup/signup.test.tsx +97 -0
- package/src/blocks/signup/signup.tsx +240 -0
- package/src/components/accordion/accordion.stories.tsx +90 -0
- package/src/components/accordion/accordion.test.tsx +156 -0
- package/src/components/accordion/accordion.tsx +88 -0
- package/src/components/accordion/index.ts +9 -0
- package/src/components/accordion/meta.ts +16 -0
- package/src/components/activity-feed/activity-feed.stories.tsx +163 -0
- package/src/components/activity-feed/activity-feed.test.tsx +125 -0
- package/src/components/activity-feed/activity-feed.tsx +115 -0
- package/src/components/activity-feed/index.ts +12 -0
- package/src/components/activity-feed/meta.ts +17 -0
- package/src/components/ai-agent-status/ai-agent-status.stories.tsx +86 -0
- package/src/components/ai-agent-status/ai-agent-status.test.tsx +66 -0
- package/src/components/ai-agent-status/ai-agent-status.tsx +88 -0
- package/src/components/ai-agent-status/index.ts +6 -0
- package/src/components/ai-agent-status/meta.ts +17 -0
- package/src/components/ai-conversation/ai-conversation.stories.tsx +126 -0
- package/src/components/ai-conversation/ai-conversation.test.tsx +144 -0
- package/src/components/ai-conversation/ai-conversation.tsx +229 -0
- package/src/components/ai-conversation/index.ts +9 -0
- package/src/components/ai-conversation/meta.ts +20 -0
- package/src/components/ai-message/ai-message.stories.tsx +106 -0
- package/src/components/ai-message/ai-message.test.tsx +160 -0
- package/src/components/ai-message/ai-message.tsx +162 -0
- package/src/components/ai-message/index.ts +13 -0
- package/src/components/ai-message/meta.ts +17 -0
- package/src/components/ai-model-selector/ai-model-selector.stories.tsx +66 -0
- package/src/components/ai-model-selector/ai-model-selector.test.tsx +120 -0
- package/src/components/ai-model-selector/ai-model-selector.tsx +112 -0
- package/src/components/ai-model-selector/index.ts +1 -0
- package/src/components/ai-model-selector/meta.ts +17 -0
- package/src/components/ai-prompt-input/ai-prompt-input.stories.tsx +145 -0
- package/src/components/ai-prompt-input/ai-prompt-input.test.tsx +273 -0
- package/src/components/ai-prompt-input/ai-prompt-input.tsx +306 -0
- package/src/components/ai-prompt-input/index.ts +11 -0
- package/src/components/ai-prompt-input/meta.ts +18 -0
- package/src/components/ai-reasoning/ai-reasoning.stories.tsx +60 -0
- package/src/components/ai-reasoning/ai-reasoning.test.tsx +95 -0
- package/src/components/ai-reasoning/ai-reasoning.tsx +106 -0
- package/src/components/ai-reasoning/index.ts +7 -0
- package/src/components/ai-reasoning/meta.ts +17 -0
- package/src/components/ai-response/ai-response.stories.tsx +75 -0
- package/src/components/ai-response/ai-response.test.tsx +96 -0
- package/src/components/ai-response/ai-response.tsx +95 -0
- package/src/components/ai-response/index.ts +7 -0
- package/src/components/ai-response/meta.ts +17 -0
- package/src/components/ai-sources/ai-sources.stories.tsx +93 -0
- package/src/components/ai-sources/ai-sources.test.tsx +102 -0
- package/src/components/ai-sources/ai-sources.tsx +186 -0
- package/src/components/ai-sources/index.ts +11 -0
- package/src/components/ai-sources/meta.ts +17 -0
- package/src/components/ai-token-usage/ai-token-usage.stories.tsx +59 -0
- package/src/components/ai-token-usage/ai-token-usage.test.tsx +83 -0
- package/src/components/ai-token-usage/ai-token-usage.tsx +105 -0
- package/src/components/ai-token-usage/index.ts +6 -0
- package/src/components/ai-token-usage/meta.ts +16 -0
- package/src/components/ai-tool/ai-tool.stories.tsx +96 -0
- package/src/components/ai-tool/ai-tool.test.tsx +137 -0
- package/src/components/ai-tool/ai-tool.tsx +235 -0
- package/src/components/ai-tool/index.ts +13 -0
- package/src/components/ai-tool/meta.ts +17 -0
- package/src/components/alert/alert.stories.tsx +101 -0
- package/src/components/alert/alert.test.tsx +94 -0
- package/src/components/alert/alert.tsx +89 -0
- package/src/components/alert/index.ts +8 -0
- package/src/components/alert/meta.ts +16 -0
- package/src/components/avatar/avatar.stories.tsx +58 -0
- package/src/components/avatar/avatar.test.tsx +64 -0
- package/src/components/avatar/avatar.tsx +68 -0
- package/src/components/avatar/index.ts +9 -0
- package/src/components/avatar/meta.ts +15 -0
- package/src/components/badge/badge.stories.tsx +68 -0
- package/src/components/badge/badge.test.tsx +61 -0
- package/src/components/badge/badge.tsx +54 -0
- package/src/components/badge/index.ts +1 -0
- package/src/components/badge/meta.ts +15 -0
- package/src/components/button/button.stories.tsx +128 -0
- package/src/components/button/button.test.tsx +224 -0
- package/src/components/button/button.tsx +114 -0
- package/src/components/button/index.ts +1 -0
- package/src/components/button/meta.ts +16 -0
- package/src/components/calendar/calendar.stories.tsx +105 -0
- package/src/components/calendar/calendar.test.tsx +255 -0
- package/src/components/calendar/calendar.tsx +115 -0
- package/src/components/calendar/index.ts +1 -0
- package/src/components/calendar/meta.ts +17 -0
- package/src/components/card/card.stories.tsx +61 -0
- package/src/components/card/card.test.tsx +66 -0
- package/src/components/card/card.tsx +81 -0
- package/src/components/card/index.ts +9 -0
- package/src/components/card/meta.ts +16 -0
- package/src/components/checkbox/checkbox.stories.tsx +124 -0
- package/src/components/checkbox/checkbox.test.tsx +121 -0
- package/src/components/checkbox/checkbox.tsx +66 -0
- package/src/components/checkbox/index.ts +1 -0
- package/src/components/checkbox/meta.ts +16 -0
- package/src/components/code-block/code-block.stories.tsx +62 -0
- package/src/components/code-block/code-block.test.tsx +139 -0
- package/src/components/code-block/code-block.tsx +188 -0
- package/src/components/code-block/index.ts +1 -0
- package/src/components/code-block/meta.ts +17 -0
- package/src/components/combobox/combobox.stories.tsx +171 -0
- package/src/components/combobox/combobox.test.tsx +429 -0
- package/src/components/combobox/combobox.tsx +544 -0
- package/src/components/combobox/index.ts +15 -0
- package/src/components/combobox/meta.ts +17 -0
- package/src/components/command/command.stories.tsx +152 -0
- package/src/components/command/command.test.tsx +380 -0
- package/src/components/command/command.tsx +482 -0
- package/src/components/command/index.ts +17 -0
- package/src/components/command/meta.ts +18 -0
- package/src/components/data-table/data-table.stories.tsx +151 -0
- package/src/components/data-table/data-table.test.tsx +288 -0
- package/src/components/data-table/data-table.tsx +485 -0
- package/src/components/data-table/index.ts +13 -0
- package/src/components/data-table/meta.ts +19 -0
- package/src/components/date-picker/date-picker.stories.tsx +103 -0
- package/src/components/date-picker/date-picker.test.tsx +205 -0
- package/src/components/date-picker/date-picker.tsx +198 -0
- package/src/components/date-picker/index.ts +6 -0
- package/src/components/date-picker/meta.ts +18 -0
- package/src/components/dialog/dialog.stories.tsx +140 -0
- package/src/components/dialog/dialog.test.tsx +186 -0
- package/src/components/dialog/dialog.tsx +132 -0
- package/src/components/dialog/index.ts +16 -0
- package/src/components/dialog/meta.ts +16 -0
- package/src/components/drawer/drawer.stories.tsx +111 -0
- package/src/components/drawer/drawer.test.tsx +187 -0
- package/src/components/drawer/drawer.tsx +293 -0
- package/src/components/drawer/index.ts +16 -0
- package/src/components/drawer/meta.ts +16 -0
- package/src/components/dropdown-menu/dropdown-menu.stories.tsx +128 -0
- package/src/components/dropdown-menu/dropdown-menu.test.tsx +321 -0
- package/src/components/dropdown-menu/dropdown-menu.tsx +242 -0
- package/src/components/dropdown-menu/index.ts +21 -0
- package/src/components/dropdown-menu/meta.ts +17 -0
- package/src/components/empty-state/empty-state.stories.tsx +70 -0
- package/src/components/empty-state/empty-state.test.tsx +97 -0
- package/src/components/empty-state/empty-state.tsx +92 -0
- package/src/components/empty-state/index.ts +9 -0
- package/src/components/empty-state/meta.ts +16 -0
- package/src/components/form/form.stories.tsx +144 -0
- package/src/components/form/form.test.tsx +203 -0
- package/src/components/form/form.tsx +221 -0
- package/src/components/form/index.ts +13 -0
- package/src/components/form/meta.ts +17 -0
- package/src/components/input/index.ts +1 -0
- package/src/components/input/input.stories.tsx +84 -0
- package/src/components/input/input.test.tsx +108 -0
- package/src/components/input/input.tsx +51 -0
- package/src/components/input/meta.ts +15 -0
- package/src/components/label/index.ts +1 -0
- package/src/components/label/label.stories.tsx +51 -0
- package/src/components/label/label.test.tsx +55 -0
- package/src/components/label/label.tsx +26 -0
- package/src/components/label/meta.ts +15 -0
- package/src/components/pagination/index.ts +10 -0
- package/src/components/pagination/meta.ts +17 -0
- package/src/components/pagination/pagination.stories.tsx +129 -0
- package/src/components/pagination/pagination.test.tsx +119 -0
- package/src/components/pagination/pagination.tsx +142 -0
- package/src/components/popover/index.ts +9 -0
- package/src/components/popover/meta.ts +18 -0
- package/src/components/popover/popover.stories.tsx +84 -0
- package/src/components/popover/popover.test.tsx +163 -0
- package/src/components/popover/popover.tsx +89 -0
- package/src/components/progress/index.ts +1 -0
- package/src/components/progress/meta.ts +17 -0
- package/src/components/progress/progress.stories.tsx +90 -0
- package/src/components/progress/progress.test.tsx +78 -0
- package/src/components/progress/progress.tsx +70 -0
- package/src/components/radio-group/index.ts +6 -0
- package/src/components/radio-group/meta.ts +16 -0
- package/src/components/radio-group/radio-group.stories.tsx +102 -0
- package/src/components/radio-group/radio-group.test.tsx +152 -0
- package/src/components/radio-group/radio-group.tsx +53 -0
- package/src/components/select/index.ts +14 -0
- package/src/components/select/meta.ts +16 -0
- package/src/components/select/select.stories.tsx +137 -0
- package/src/components/select/select.test.tsx +209 -0
- package/src/components/select/select.tsx +222 -0
- package/src/components/separator/index.ts +1 -0
- package/src/components/separator/meta.ts +15 -0
- package/src/components/separator/separator.stories.tsx +42 -0
- package/src/components/separator/separator.test.tsx +46 -0
- package/src/components/separator/separator.tsx +33 -0
- package/src/components/sheet/index.ts +14 -0
- package/src/components/sheet/meta.ts +16 -0
- package/src/components/sheet/sheet.stories.tsx +107 -0
- package/src/components/sheet/sheet.test.tsx +152 -0
- package/src/components/sheet/sheet.tsx +160 -0
- package/src/components/skeleton/index.ts +1 -0
- package/src/components/skeleton/meta.ts +15 -0
- package/src/components/skeleton/skeleton.stories.tsx +46 -0
- package/src/components/skeleton/skeleton.test.tsx +57 -0
- package/src/components/skeleton/skeleton.tsx +28 -0
- package/src/components/slider/index.ts +1 -0
- package/src/components/slider/meta.ts +19 -0
- package/src/components/slider/slider.stories.tsx +87 -0
- package/src/components/slider/slider.test.tsx +148 -0
- package/src/components/slider/slider.tsx +135 -0
- package/src/components/spinner/index.ts +1 -0
- package/src/components/spinner/meta.ts +15 -0
- package/src/components/spinner/spinner.stories.tsx +47 -0
- package/src/components/spinner/spinner.test.tsx +41 -0
- package/src/components/spinner/spinner.tsx +68 -0
- package/src/components/switch/index.ts +1 -0
- package/src/components/switch/meta.ts +15 -0
- package/src/components/switch/switch.stories.tsx +70 -0
- package/src/components/switch/switch.test.tsx +101 -0
- package/src/components/switch/switch.tsx +42 -0
- package/src/components/table/index.ts +11 -0
- package/src/components/table/meta.ts +17 -0
- package/src/components/table/table.stories.tsx +131 -0
- package/src/components/table/table.test.tsx +153 -0
- package/src/components/table/table.tsx +138 -0
- package/src/components/tabs/index.ts +11 -0
- package/src/components/tabs/meta.ts +17 -0
- package/src/components/tabs/tabs.stories.tsx +139 -0
- package/src/components/tabs/tabs.test.tsx +148 -0
- package/src/components/tabs/tabs.tsx +106 -0
- package/src/components/toast/index.ts +24 -0
- package/src/components/toast/meta.ts +18 -0
- package/src/components/toast/toast-store.ts +181 -0
- package/src/components/toast/toast.stories.tsx +167 -0
- package/src/components/toast/toast.test.tsx +306 -0
- package/src/components/toast/toast.tsx +241 -0
- package/src/components/tooltip/index.ts +8 -0
- package/src/components/tooltip/meta.ts +17 -0
- package/src/components/tooltip/tooltip.stories.tsx +89 -0
- package/src/components/tooltip/tooltip.test.tsx +120 -0
- package/src/components/tooltip/tooltip.tsx +58 -0
- package/src/index.ts +50 -0
- package/src/lib/styles.ts +26 -0
- package/src/lib/utils.test.ts +32 -0
- package/src/lib/utils.ts +24 -0
- package/src/registry/blocks.ts +30 -0
- package/src/registry/components.ts +114 -0
- package/src/registry/meta.test.ts +234 -0
- package/src/registry/schema.ts +58 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { cn } from "../../lib/utils.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
//#region src/components/alert/alert.tsx
|
|
5
|
+
const alertVariants = cva(cn("relative grid w-full grid-cols-[0_1fr] items-start gap-y-1 rounded-lg border px-4 py-3 text-sm", "has-[>svg]:grid-cols-[calc(var(--size-icon-md))_1fr] has-[>svg]:gap-x-3", "[&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current"), {
|
|
6
|
+
variants: { variant: {
|
|
7
|
+
default: "border-border bg-card text-card-foreground",
|
|
8
|
+
destructive: "border-destructive/30 bg-destructive/8 text-foreground [&>svg]:text-destructive",
|
|
9
|
+
success: "border-success/30 bg-success/8 text-foreground [&>svg]:text-success",
|
|
10
|
+
warning: "border-warning/35 bg-warning/10 text-foreground [&>svg]:text-warning",
|
|
11
|
+
info: "border-info/30 bg-info/8 text-foreground [&>svg]:text-info"
|
|
12
|
+
} },
|
|
13
|
+
defaultVariants: { variant: "default" }
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* A callout that draws attention to a message.
|
|
17
|
+
*
|
|
18
|
+
* `live` defaults to `off` rather than always rendering role="alert". A live
|
|
19
|
+
* region that exists on first paint announces itself for no reason and trains
|
|
20
|
+
* users to ignore it; opt in when the alert actually appears in response to
|
|
21
|
+
* something.
|
|
22
|
+
*/
|
|
23
|
+
function Alert({ className, variant, live = "off", ...props }) {
|
|
24
|
+
return /* @__PURE__ */ jsx("div", {
|
|
25
|
+
"data-slot": "alert",
|
|
26
|
+
role: live === "assertive" ? "alert" : live === "polite" ? "status" : void 0,
|
|
27
|
+
"aria-live": live === "off" ? void 0 : live,
|
|
28
|
+
className: cn(alertVariants({ variant }), className),
|
|
29
|
+
...props
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function AlertTitle({ className, ...props }) {
|
|
33
|
+
return /* @__PURE__ */ jsx("div", {
|
|
34
|
+
"data-slot": "alert-title",
|
|
35
|
+
className: cn("col-start-2 font-medium tracking-tight", className),
|
|
36
|
+
...props
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function AlertDescription({ className, ...props }) {
|
|
40
|
+
return /* @__PURE__ */ jsx("div", {
|
|
41
|
+
"data-slot": "alert-description",
|
|
42
|
+
className: cn("col-start-2 text-sm text-muted-foreground [&_p]:leading-relaxed", className),
|
|
43
|
+
...props
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
export { Alert, AlertDescription, AlertTitle, alertVariants };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.js","names":[],"sources":["../../../src/components/alert/alert.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport type { ComponentPropsWithRef } from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst alertVariants = cva(\n cn(\n \"relative grid w-full grid-cols-[0_1fr] items-start gap-y-1 rounded-lg border px-4 py-3 text-sm\",\n \"has-[>svg]:grid-cols-[calc(var(--size-icon-md))_1fr] has-[>svg]:gap-x-3\",\n \"[&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n ),\n {\n variants: {\n variant: {\n default: \"border-border bg-card text-card-foreground\",\n destructive:\n \"border-destructive/30 bg-destructive/8 text-foreground [&>svg]:text-destructive\",\n success: \"border-success/30 bg-success/8 text-foreground [&>svg]:text-success\",\n warning: \"border-warning/35 bg-warning/10 text-foreground [&>svg]:text-warning\",\n info: \"border-info/30 bg-info/8 text-foreground [&>svg]:text-info\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\n/**\n * How urgently the alert should interrupt a screen reader.\n *\n * - `off` (default): a static notice already present when the page rendered.\n * - `polite`: appeared in response to something the user did; announce at the\n * next pause.\n * - `assertive`: an error that must interrupt whatever is being read.\n */\nexport type AlertLive = \"off\" | \"polite\" | \"assertive\";\n\nexport interface AlertProps\n extends ComponentPropsWithRef<\"div\">, VariantProps<typeof alertVariants> {\n live?: AlertLive;\n}\n\n/**\n * A callout that draws attention to a message.\n *\n * `live` defaults to `off` rather than always rendering role=\"alert\". A live\n * region that exists on first paint announces itself for no reason and trains\n * users to ignore it; opt in when the alert actually appears in response to\n * something.\n */\nexport function Alert({ className, variant, live = \"off\", ...props }: AlertProps) {\n const role = live === \"assertive\" ? \"alert\" : live === \"polite\" ? \"status\" : undefined;\n\n return (\n <div\n data-slot=\"alert\"\n role={role}\n aria-live={live === \"off\" ? undefined : live}\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport function AlertTitle({ className, ...props }: ComponentPropsWithRef<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\"col-start-2 font-medium tracking-tight\", className)}\n {...props}\n />\n );\n}\n\nexport function AlertDescription({ className, ...props }: ComponentPropsWithRef<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"col-start-2 text-sm text-muted-foreground [&_p]:leading-relaxed\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { alertVariants };\n"],"mappings":";;;;AAKA,MAAM,gBAAgB,IACpB,GACE,kGACA,2EACA,6DACF,GACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;EACF,SAAS;EACT,SAAS;EACT,MAAM;CACR,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;;;;;;;;;AAyBA,SAAgB,MAAM,EAAE,WAAW,SAAS,OAAO,OAAO,GAAG,SAAqB;CAGhF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,MALS,SAAS,cAAc,UAAU,SAAS,WAAW,WAAW,KAAA;EAMzE,aAAW,SAAS,QAAQ,KAAA,IAAY;EACxC,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;EACnD,GAAI;CACL,CAAA;AAEL;AAEA,SAAgB,WAAW,EAAE,WAAW,GAAG,SAAuC;CAChF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,0CAA0C,SAAS;EACjE,GAAI;CACL,CAAA;AAEL;AAEA,SAAgB,iBAAiB,EAAE,WAAW,GAAG,SAAuC;CACtF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,mEACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/alert/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "alert",
|
|
5
|
+
title: "Alert",
|
|
6
|
+
description: "A callout that draws attention to an important message.",
|
|
7
|
+
category: "feedback",
|
|
8
|
+
status: "stable",
|
|
9
|
+
dependencies: ["class-variance-authority"],
|
|
10
|
+
registryDependencies: [],
|
|
11
|
+
files: ["alert.tsx"],
|
|
12
|
+
a11y: "Not a live region by default. Pass live=\"polite\" for alerts that appear in response to a user action, or live=\"assertive\" for errors that must interrupt. Variant colour is never the only signal — the title carries the meaning."
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { meta };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/alert/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"alert\",\n title: \"Alert\",\n description: \"A callout that draws attention to an important message.\",\n category: \"feedback\",\n status: \"stable\",\n dependencies: [\"class-variance-authority\"],\n registryDependencies: [],\n files: [\"alert.tsx\"],\n a11y:\n 'Not a live region by default. Pass live=\"polite\" for alerts that appear in response to ' +\n 'a user action, or live=\"assertive\" for errors that must interrupt. Variant colour is ' +\n \"never the only signal — the title carries the meaning.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,0BAA0B;CACzC,sBAAsB,CAAC;CACvB,OAAO,CAAC,WAAW;CACnB,MACE;AAGJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Avatar } from "radix-ui";
|
|
2
|
+
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
import { ComponentPropsWithRef } from "react";
|
|
4
|
+
//#region src/components/avatar/avatar.d.ts
|
|
5
|
+
declare const avatarVariants: (props?: ({
|
|
6
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
interface AvatarProps extends ComponentPropsWithRef<typeof Avatar.Root>, VariantProps<typeof avatarVariants> {}
|
|
9
|
+
/** Image representation of a user or entity, with a text fallback. */
|
|
10
|
+
declare function Avatar$1({ className, size, ...props }: AvatarProps): import("react").JSX.Element;
|
|
11
|
+
type AvatarImageProps = ComponentPropsWithRef<typeof Avatar.Image>;
|
|
12
|
+
declare function AvatarImage({ className, ...props }: AvatarImageProps): import("react").JSX.Element;
|
|
13
|
+
type AvatarFallbackProps = ComponentPropsWithRef<typeof Avatar.Fallback>;
|
|
14
|
+
/**
|
|
15
|
+
* Shown while the image loads and if it fails.
|
|
16
|
+
*
|
|
17
|
+
* Radix only renders this once the image has actually errored or is still
|
|
18
|
+
* pending, so there is never a flash of initials over a cached image.
|
|
19
|
+
*/
|
|
20
|
+
declare function AvatarFallback({ className, ...props }: AvatarFallbackProps): import("react").JSX.Element;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { Avatar$1 as Avatar, AvatarFallback, AvatarFallbackProps, AvatarImage, AvatarImageProps, AvatarProps, avatarVariants };
|
|
23
|
+
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","names":[],"sources":["../../../src/components/avatar/avatar.tsx"],"mappings":";;;;cAMM,iBAAc;;6CAgBnB;UAEgB,oBAEb,6BAA6B,OAAgB,OAC7C,oBAAoB;;iBAGR,WAAS,WAAW,SAAS,SAAS,8BAAW,IAAA;KAMrD,mBAAmB,6BAA6B,OAAgB;iBAE5D,cAAc,cAAc,SAAS,mCAAgB,IAAA;KASzD,sBAAsB,6BAA6B,OAAgB;;;;;;;iBAQ/D,iBAAiB,cAAc,SAAS,sCAAmB,IAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { cn } from "../../lib/utils.js";
|
|
2
|
+
import { Avatar } from "radix-ui";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
//#region src/components/avatar/avatar.tsx
|
|
6
|
+
const avatarVariants = cva("relative flex shrink-0 overflow-hidden rounded-full bg-muted select-none", {
|
|
7
|
+
variants: { size: {
|
|
8
|
+
xs: "size-6 text-2xs",
|
|
9
|
+
sm: "size-8 text-xs",
|
|
10
|
+
md: "size-10 text-sm",
|
|
11
|
+
lg: "size-12 text-base",
|
|
12
|
+
xl: "size-16 text-lg"
|
|
13
|
+
} },
|
|
14
|
+
defaultVariants: { size: "md" }
|
|
15
|
+
});
|
|
16
|
+
/** Image representation of a user or entity, with a text fallback. */
|
|
17
|
+
function Avatar$1({ className, size, ...props }) {
|
|
18
|
+
return /* @__PURE__ */ jsx(Avatar.Root, {
|
|
19
|
+
className: cn(avatarVariants({ size }), className),
|
|
20
|
+
...props
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function AvatarImage({ className, ...props }) {
|
|
24
|
+
return /* @__PURE__ */ jsx(Avatar.Image, {
|
|
25
|
+
className: cn("aspect-square size-full object-cover", className),
|
|
26
|
+
...props
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Shown while the image loads and if it fails.
|
|
31
|
+
*
|
|
32
|
+
* Radix only renders this once the image has actually errored or is still
|
|
33
|
+
* pending, so there is never a flash of initials over a cached image.
|
|
34
|
+
*/
|
|
35
|
+
function AvatarFallback({ className, ...props }) {
|
|
36
|
+
return /* @__PURE__ */ jsx(Avatar.Fallback, {
|
|
37
|
+
className: cn("flex size-full items-center justify-center bg-muted font-medium text-muted-foreground", className),
|
|
38
|
+
...props
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export { Avatar$1 as Avatar, AvatarFallback, AvatarImage, avatarVariants };
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.js","names":["Avatar","AvatarPrimitive"],"sources":["../../../src/components/avatar/avatar.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport type { ComponentPropsWithRef } from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst avatarVariants = cva(\n \"relative flex shrink-0 overflow-hidden rounded-full bg-muted select-none\",\n {\n variants: {\n size: {\n xs: \"size-6 text-2xs\",\n sm: \"size-8 text-xs\",\n md: \"size-10 text-sm\",\n lg: \"size-12 text-base\",\n xl: \"size-16 text-lg\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\nexport interface AvatarProps\n extends\n ComponentPropsWithRef<typeof AvatarPrimitive.Root>,\n VariantProps<typeof avatarVariants> {}\n\n/** Image representation of a user or entity, with a text fallback. */\nexport function Avatar({ className, size, ...props }: AvatarProps) {\n return (\n <AvatarPrimitive.Root className={cn(avatarVariants({ size }), className)} {...props} />\n );\n}\n\nexport type AvatarImageProps = ComponentPropsWithRef<typeof AvatarPrimitive.Image>;\n\nexport function AvatarImage({ className, ...props }: AvatarImageProps) {\n return (\n <AvatarPrimitive.Image\n className={cn(\"aspect-square size-full object-cover\", className)}\n {...props}\n />\n );\n}\n\nexport type AvatarFallbackProps = ComponentPropsWithRef<typeof AvatarPrimitive.Fallback>;\n\n/**\n * Shown while the image loads and if it fails.\n *\n * Radix only renders this once the image has actually errored or is still\n * pending, so there is never a flash of initials over a cached image.\n */\nexport function AvatarFallback({ className, ...props }: AvatarFallbackProps) {\n return (\n <AvatarPrimitive.Fallback\n className={cn(\n \"flex size-full items-center justify-center bg-muted font-medium text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { avatarVariants };\n"],"mappings":";;;;;AAMA,MAAM,iBAAiB,IACrB,4EACA;CACE,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;CACN,EACF;CACA,iBAAiB,EACf,MAAM,KACR;AACF,CACF;;AAQA,SAAgBA,SAAO,EAAE,WAAW,MAAM,GAAG,SAAsB;CACjE,OACE,oBAACC,OAAgB,MAAjB;EAAsB,WAAW,GAAG,eAAe,EAAE,KAAK,CAAC,GAAG,SAAS;EAAG,GAAI;CAAQ,CAAA;AAE1F;AAIA,SAAgB,YAAY,EAAE,WAAW,GAAG,SAA2B;CACrE,OACE,oBAACA,OAAgB,OAAjB;EACE,WAAW,GAAG,wCAAwC,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL;;;;;;;AAUA,SAAgB,eAAe,EAAE,WAAW,GAAG,SAA8B;CAC3E,OACE,oBAACA,OAAgB,UAAjB;EACE,WAAW,GACT,yFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/avatar/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "avatar",
|
|
5
|
+
title: "Avatar",
|
|
6
|
+
description: "An image representation of a user or entity with a graceful text fallback.",
|
|
7
|
+
category: "display",
|
|
8
|
+
status: "stable",
|
|
9
|
+
dependencies: ["class-variance-authority", "radix-ui"],
|
|
10
|
+
registryDependencies: [],
|
|
11
|
+
files: ["avatar.tsx"],
|
|
12
|
+
a11y: "Give AvatarImage a meaningful alt, or alt=\"\" when the adjacent text already names the person. Fallback initials are decorative and are not announced separately."
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { meta };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/avatar/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"avatar\",\n title: \"Avatar\",\n description: \"An image representation of a user or entity with a graceful text fallback.\",\n category: \"display\",\n status: \"stable\",\n dependencies: [\"class-variance-authority\", \"radix-ui\"],\n registryDependencies: [],\n files: [\"avatar.tsx\"],\n a11y:\n 'Give AvatarImage a meaningful alt, or alt=\"\" when the adjacent text already names the ' +\n \"person. Fallback initials are decorative and are not announced separately.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,4BAA4B,UAAU;CACrD,sBAAsB,CAAC;CACvB,OAAO,CAAC,YAAY;CACpB,MACE;AAEJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import { ComponentPropsWithRef } from "react";
|
|
3
|
+
//#region src/components/badge/badge.d.ts
|
|
4
|
+
declare const badgeVariants: (props?: ({
|
|
5
|
+
variant?: "default" | "destructive" | "success" | "warning" | "info" | "secondary" | "outline" | null | undefined;
|
|
6
|
+
size?: "sm" | "md" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
interface BadgeProps extends ComponentPropsWithRef<"span">, VariantProps<typeof badgeVariants> {
|
|
9
|
+
asChild?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Compact status or category marker.
|
|
13
|
+
*
|
|
14
|
+
* Colour alone never carries the meaning: the label text must say what the
|
|
15
|
+
* badge means, so the monochrome theme and colour-blind users lose nothing.
|
|
16
|
+
*/
|
|
17
|
+
declare function Badge({ className, variant, size, asChild, ...props }: BadgeProps): import("react").JSX.Element;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { Badge, BadgeProps, badgeVariants };
|
|
20
|
+
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.d.ts","names":[],"sources":["../../../src/components/badge/badge.tsx"],"mappings":";;;cAOM,gBAAa;;;6CA4BlB;UAEgB,mBACP,+BAA+B,oBAAoB;EAC3D;;;;;;;;iBASc,QAAQ,WAAW,SAAS,MAAM,YAAoB,SAAS,6BAAU,IAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { focusRing, iconSlot } from "../../lib/styles.js";
|
|
2
|
+
import { cn } from "../../lib/utils.js";
|
|
3
|
+
import { Slot } from "radix-ui";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
//#region src/components/badge/badge.tsx
|
|
7
|
+
const badgeVariants = cva(cn("inline-flex w-fit shrink-0 items-center justify-center gap-1 rounded-full border font-medium whitespace-nowrap", "[&_svg:not([class*='size-'])]:size-3", focusRing, iconSlot), {
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
default: "border-transparent bg-primary text-primary-foreground",
|
|
11
|
+
secondary: "border-transparent bg-secondary text-secondary-foreground",
|
|
12
|
+
outline: "border-border-strong bg-transparent text-foreground",
|
|
13
|
+
destructive: "border-transparent bg-destructive text-destructive-foreground",
|
|
14
|
+
success: "border-transparent bg-success text-success-foreground",
|
|
15
|
+
warning: "border-transparent bg-warning text-warning-foreground",
|
|
16
|
+
info: "border-transparent bg-info text-info-foreground"
|
|
17
|
+
},
|
|
18
|
+
size: {
|
|
19
|
+
sm: "h-5 px-1.5 text-2xs",
|
|
20
|
+
md: "h-6 px-2 text-xs"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: {
|
|
24
|
+
variant: "default",
|
|
25
|
+
size: "md"
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
/**
|
|
29
|
+
* Compact status or category marker.
|
|
30
|
+
*
|
|
31
|
+
* Colour alone never carries the meaning: the label text must say what the
|
|
32
|
+
* badge means, so the monochrome theme and colour-blind users lose nothing.
|
|
33
|
+
*/
|
|
34
|
+
function Badge({ className, variant, size, asChild = false, ...props }) {
|
|
35
|
+
const Comp = asChild ? Slot.Root : "span";
|
|
36
|
+
return /* @__PURE__ */ jsx(Comp, {
|
|
37
|
+
className: cn(badgeVariants({
|
|
38
|
+
variant,
|
|
39
|
+
size
|
|
40
|
+
}), className),
|
|
41
|
+
...props
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { Badge, badgeVariants };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","names":[],"sources":["../../../src/components/badge/badge.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport type { ComponentPropsWithRef } from \"react\";\n\nimport { focusRing, iconSlot } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\nconst badgeVariants = cva(\n cn(\n \"inline-flex w-fit shrink-0 items-center justify-center gap-1 rounded-full border font-medium whitespace-nowrap\",\n \"[&_svg:not([class*='size-'])]:size-3\",\n focusRing,\n iconSlot,\n ),\n {\n variants: {\n variant: {\n default: \"border-transparent bg-primary text-primary-foreground\",\n secondary: \"border-transparent bg-secondary text-secondary-foreground\",\n outline: \"border-border-strong bg-transparent text-foreground\",\n destructive: \"border-transparent bg-destructive text-destructive-foreground\",\n success: \"border-transparent bg-success text-success-foreground\",\n warning: \"border-transparent bg-warning text-warning-foreground\",\n info: \"border-transparent bg-info text-info-foreground\",\n },\n size: {\n sm: \"h-5 px-1.5 text-2xs\",\n md: \"h-6 px-2 text-xs\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport interface BadgeProps\n extends ComponentPropsWithRef<\"span\">, VariantProps<typeof badgeVariants> {\n asChild?: boolean;\n}\n\n/**\n * Compact status or category marker.\n *\n * Colour alone never carries the meaning: the label text must say what the\n * badge means, so the monochrome theme and colour-blind users lose nothing.\n */\nexport function Badge({ className, variant, size, asChild = false, ...props }: BadgeProps) {\n const Comp = asChild ? Slot.Root : \"span\";\n return <Comp className={cn(badgeVariants({ variant, size }), className)} {...props} />;\n}\n\nexport { badgeVariants };\n"],"mappings":";;;;;;AAOA,MAAM,gBAAgB,IACpB,GACE,kHACA,wCACA,WACA,QACF,GACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,WAAW;GACX,SAAS;GACT,aAAa;GACb,SAAS;GACT,SAAS;GACT,MAAM;EACR;EACA,MAAM;GACJ,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF;;;;;;;AAaA,SAAgB,MAAM,EAAE,WAAW,SAAS,MAAM,UAAU,OAAO,GAAG,SAAqB;CACzF,MAAM,OAAO,UAAU,KAAK,OAAO;CACnC,OAAO,oBAAC,MAAD;EAAM,WAAW,GAAG,cAAc;GAAE;GAAS;EAAK,CAAC,GAAG,SAAS;EAAG,GAAI;CAAQ,CAAA;AACvF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/badge/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "badge",
|
|
5
|
+
title: "Badge",
|
|
6
|
+
description: "A compact marker for status, counts and categories.",
|
|
7
|
+
category: "display",
|
|
8
|
+
status: "stable",
|
|
9
|
+
dependencies: ["class-variance-authority", "radix-ui"],
|
|
10
|
+
registryDependencies: [],
|
|
11
|
+
files: ["badge.tsx"],
|
|
12
|
+
a11y: "The badge label must convey the meaning on its own; variant colour is decoration. Use asChild to render an interactive badge as a link or button rather than adding handlers."
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { meta };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/badge/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"badge\",\n title: \"Badge\",\n description: \"A compact marker for status, counts and categories.\",\n category: \"display\",\n status: \"stable\",\n dependencies: [\"class-variance-authority\", \"radix-ui\"],\n registryDependencies: [],\n files: [\"badge.tsx\"],\n a11y:\n \"The badge label must convey the meaning on its own; variant colour is decoration. \" +\n \"Use asChild to render an interactive badge as a link or button rather than adding handlers.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,4BAA4B,UAAU;CACrD,sBAAsB,CAAC;CACvB,OAAO,CAAC,WAAW;CACnB,MACE;AAEJ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import { ComponentPropsWithRef } from "react";
|
|
3
|
+
//#region src/components/button/button.d.ts
|
|
4
|
+
declare const buttonVariants: (props?: ({
|
|
5
|
+
variant?: "link" | "destructive" | "primary" | "secondary" | "outline" | "ghost" | null | undefined;
|
|
6
|
+
size?: "sm" | "md" | "lg" | "icon" | "icon-sm" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
interface ButtonProps extends ComponentPropsWithRef<"button">, VariantProps<typeof buttonVariants> {
|
|
9
|
+
/**
|
|
10
|
+
* Renders the child element as the button instead of a `<button>`, keeping
|
|
11
|
+
* every style and behaviour. Use it for links that should look like buttons.
|
|
12
|
+
*/
|
|
13
|
+
asChild?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Shows a spinner and suppresses activation.
|
|
16
|
+
*
|
|
17
|
+
* Unlike `disabled`, a loading button stays focusable: taking focus away from
|
|
18
|
+
* the control a user just activated strands their keyboard position, and the
|
|
19
|
+
* state is transient by definition. Activation is blocked via `aria-disabled`
|
|
20
|
+
* plus a guarded click handler.
|
|
21
|
+
*/
|
|
22
|
+
loading?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/** Triggers an action or event. */
|
|
25
|
+
declare function Button({ className, variant, size, asChild, loading, disabled, onClick, children, ...props }: ButtonProps): import("react").JSX.Element;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { Button, ButtonProps, buttonVariants };
|
|
28
|
+
//# sourceMappingURL=button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.d.ts","names":[],"sources":["../../../src/components/button/button.tsx"],"mappings":";;;cAUM,iBAAc;;;6CAyCnB;UAEgB,oBACP,iCAAiC,oBAAoB;;;;;EAK7D;;;;;;;;;EASA;;;iBAIc,SACd,WACA,SACA,MACA,SACA,SACA,UACA,SACA,aACG,SACF,8BAAW,IAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { disabledStyles, focusRing, iconSlot } from "../../lib/styles.js";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { Spinner } from "../spinner/spinner.js";
|
|
5
|
+
import { Slot } from "radix-ui";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { cva } from "class-variance-authority";
|
|
8
|
+
//#region src/components/button/button.tsx
|
|
9
|
+
const buttonVariants = cva(cn("inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap select-none", "transition-[background-color,border-color,color,box-shadow] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]", focusRing, disabledStyles, iconSlot), {
|
|
10
|
+
variants: {
|
|
11
|
+
variant: {
|
|
12
|
+
primary: "bg-primary text-primary-foreground hover:bg-primary-hover active:bg-primary-active",
|
|
13
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-accent active:bg-border",
|
|
14
|
+
outline: "border border-input bg-background text-foreground hover:bg-accent hover:text-accent-foreground active:bg-secondary",
|
|
15
|
+
ghost: "text-foreground hover:bg-accent hover:text-accent-foreground active:bg-secondary",
|
|
16
|
+
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 active:bg-destructive/80",
|
|
17
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
18
|
+
},
|
|
19
|
+
size: {
|
|
20
|
+
sm: "h-8 gap-1.5 rounded-md px-3 text-sm",
|
|
21
|
+
md: "h-9 gap-2 rounded-md px-4 text-sm",
|
|
22
|
+
lg: "h-10 gap-2 rounded-lg px-5 text-base",
|
|
23
|
+
icon: "size-9 rounded-md",
|
|
24
|
+
"icon-sm": "size-8 rounded-md"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
compoundVariants: [
|
|
28
|
+
{
|
|
29
|
+
variant: "link",
|
|
30
|
+
size: "sm",
|
|
31
|
+
className: "h-auto px-0"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
variant: "link",
|
|
35
|
+
size: "md",
|
|
36
|
+
className: "h-auto px-0"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
variant: "link",
|
|
40
|
+
size: "lg",
|
|
41
|
+
className: "h-auto px-0"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
defaultVariants: {
|
|
45
|
+
variant: "primary",
|
|
46
|
+
size: "md"
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
/** Triggers an action or event. */
|
|
50
|
+
function Button({ className, variant, size, asChild = false, loading = false, disabled, onClick, children, ...props }) {
|
|
51
|
+
const Comp = asChild ? Slot.Root : "button";
|
|
52
|
+
function handleClick(event) {
|
|
53
|
+
if (loading) {
|
|
54
|
+
event.preventDefault();
|
|
55
|
+
event.stopPropagation();
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
onClick?.(event);
|
|
59
|
+
}
|
|
60
|
+
return /* @__PURE__ */ jsxs(Comp, {
|
|
61
|
+
className: cn(buttonVariants({
|
|
62
|
+
variant,
|
|
63
|
+
size
|
|
64
|
+
}), className),
|
|
65
|
+
disabled,
|
|
66
|
+
"aria-disabled": loading || void 0,
|
|
67
|
+
"aria-busy": loading || void 0,
|
|
68
|
+
"data-loading": loading || void 0,
|
|
69
|
+
onClick: handleClick,
|
|
70
|
+
...props,
|
|
71
|
+
children: [loading ? /* @__PURE__ */ jsx(Spinner, { size: size === "lg" ? "lg" : "sm" }) : null, /* @__PURE__ */ jsx(Slot.Slottable, { children })]
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
//#endregion
|
|
75
|
+
export { Button, buttonVariants };
|
|
76
|
+
|
|
77
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","names":[],"sources":["../../../src/components/button/button.tsx"],"sourcesContent":["\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport type { ComponentPropsWithRef, MouseEvent } from \"react\";\n\nimport { Spinner } from \"@/components/spinner\";\nimport { disabledStyles, focusRing, iconSlot } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n cn(\n \"inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap select-none\",\n \"transition-[background-color,border-color,color,box-shadow] duration-[var(--duration-fast)] ease-[var(--ease-out-quint)]\",\n focusRing,\n disabledStyles,\n iconSlot,\n ),\n {\n variants: {\n variant: {\n primary:\n \"bg-primary text-primary-foreground hover:bg-primary-hover active:bg-primary-active\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-accent active:bg-border\",\n outline:\n \"border border-input bg-background text-foreground hover:bg-accent hover:text-accent-foreground active:bg-secondary\",\n ghost:\n \"text-foreground hover:bg-accent hover:text-accent-foreground active:bg-secondary\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 active:bg-destructive/80\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n sm: \"h-8 gap-1.5 rounded-md px-3 text-sm\",\n md: \"h-9 gap-2 rounded-md px-4 text-sm\",\n lg: \"h-10 gap-2 rounded-lg px-5 text-base\",\n icon: \"size-9 rounded-md\",\n \"icon-sm\": \"size-8 rounded-md\",\n },\n },\n compoundVariants: [\n // A link has no box, so box padding and height would only misalign it.\n { variant: \"link\", size: \"sm\", className: \"h-auto px-0\" },\n { variant: \"link\", size: \"md\", className: \"h-auto px-0\" },\n { variant: \"link\", size: \"lg\", className: \"h-auto px-0\" },\n ],\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n },\n },\n);\n\nexport interface ButtonProps\n extends ComponentPropsWithRef<\"button\">, VariantProps<typeof buttonVariants> {\n /**\n * Renders the child element as the button instead of a `<button>`, keeping\n * every style and behaviour. Use it for links that should look like buttons.\n */\n asChild?: boolean;\n /**\n * Shows a spinner and suppresses activation.\n *\n * Unlike `disabled`, a loading button stays focusable: taking focus away from\n * the control a user just activated strands their keyboard position, and the\n * state is transient by definition. Activation is blocked via `aria-disabled`\n * plus a guarded click handler.\n */\n loading?: boolean;\n}\n\n/** Triggers an action or event. */\nexport function Button({\n className,\n variant,\n size,\n asChild = false,\n loading = false,\n disabled,\n onClick,\n children,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n function handleClick(event: MouseEvent<HTMLButtonElement>) {\n if (loading) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n onClick?.(event);\n }\n\n return (\n <Comp\n className={cn(buttonVariants({ variant, size }), className)}\n disabled={disabled}\n aria-disabled={loading || undefined}\n aria-busy={loading || undefined}\n data-loading={loading || undefined}\n onClick={handleClick}\n {...props}\n >\n {loading ? <Spinner size={size === \"lg\" ? \"lg\" : \"sm\"} /> : null}\n {/* Slottable marks which child Slot should merge into when asChild is set.\n Without it, adding the spinner would give Slot two children and break\n every `asChild` button the moment it started loading. */}\n <Slot.Slottable>{children}</Slot.Slottable>\n </Comp>\n );\n}\n\nexport { buttonVariants };\n"],"mappings":";;;;;;;;AAUA,MAAM,iBAAiB,IACrB,GACE,8FACA,4HACA,WACA,gBACA,QACF,GACA;CACE,UAAU;EACR,SAAS;GACP,SACE;GACF,WAAW;GACX,SACE;GACF,OACE;GACF,aACE;GACF,MAAM;EACR;EACA,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,WAAW;EACb;CACF;CACA,kBAAkB;EAEhB;GAAE,SAAS;GAAQ,MAAM;GAAM,WAAW;EAAc;EACxD;GAAE,SAAS;GAAQ,MAAM;GAAM,WAAW;EAAc;EACxD;GAAE,SAAS;GAAQ,MAAM;GAAM,WAAW;EAAc;CAC1D;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF;;AAqBA,SAAgB,OAAO,EACrB,WACA,SACA,MACA,UAAU,OACV,UAAU,OACV,UACA,SACA,UACA,GAAG,SACW;CACd,MAAM,OAAO,UAAU,KAAK,OAAO;CAEnC,SAAS,YAAY,OAAsC;EACzD,IAAI,SAAS;GACX,MAAM,eAAe;GACrB,MAAM,gBAAgB;GACtB;EACF;EACA,UAAU,KAAK;CACjB;CAEA,OACE,qBAAC,MAAD;EACE,WAAW,GAAG,eAAe;GAAE;GAAS;EAAK,CAAC,GAAG,SAAS;EAChD;EACV,iBAAe,WAAW,KAAA;EAC1B,aAAW,WAAW,KAAA;EACtB,gBAAc,WAAW,KAAA;EACzB,SAAS;EACT,GAAI;EAPN,UAAA,CASG,UAAU,oBAAC,SAAD,EAAS,MAAM,SAAS,OAAO,OAAO,KAAO,CAAA,IAAI,MAI5D,oBAAC,KAAK,WAAN,EAAiB,SAAyB,CAAA,CACtC;;AAEV"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/button/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "button",
|
|
5
|
+
title: "Button",
|
|
6
|
+
description: "Triggers an action or event, with variants for every level of emphasis.",
|
|
7
|
+
category: "foundation",
|
|
8
|
+
status: "stable",
|
|
9
|
+
dependencies: ["class-variance-authority", "radix-ui"],
|
|
10
|
+
registryDependencies: ["spinner"],
|
|
11
|
+
files: ["button.tsx"],
|
|
12
|
+
a11y: "Keyboard activatable via Enter and Space. The loading state uses aria-disabled and aria-busy rather than the disabled attribute, so focus is never stranded mid-action. Use `size=\"icon\"` only with an accessible name from aria-label or visually hidden text."
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { meta };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/button/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"button\",\n title: \"Button\",\n description: \"Triggers an action or event, with variants for every level of emphasis.\",\n category: \"foundation\",\n status: \"stable\",\n dependencies: [\"class-variance-authority\", \"radix-ui\"],\n registryDependencies: [\"spinner\"],\n files: [\"button.tsx\"],\n a11y:\n \"Keyboard activatable via Enter and Space. The loading state uses aria-disabled and \" +\n \"aria-busy rather than the disabled attribute, so focus is never stranded mid-action. \" +\n 'Use `size=\"icon\"` only with an accessible name from aria-label or visually hidden text.',\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,4BAA4B,UAAU;CACrD,sBAAsB,CAAC,SAAS;CAChC,OAAO,CAAC,YAAY;CACpB,MACE;AAGJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DayPickerProps } from "react-day-picker";
|
|
2
|
+
//#region src/components/calendar/calendar.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* A date grid for selecting a day, several days or a range.
|
|
5
|
+
*
|
|
6
|
+
* Wraps `react-day-picker`, which supplies the parts that are genuinely hard —
|
|
7
|
+
* locale-aware week layout, the roving-focus grid keyboard model, range
|
|
8
|
+
* selection and out-of-month handling. This file is the design layer over it:
|
|
9
|
+
* every class comes from our tokens, so the calendar re-skins with the rest of
|
|
10
|
+
* the system rather than shipping its own visual language.
|
|
11
|
+
*/
|
|
12
|
+
type CalendarProps = DayPickerProps;
|
|
13
|
+
declare function Calendar({ className, classNames, showOutsideDays, ...props }: CalendarProps): import("react").JSX.Element;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { Calendar, CalendarProps };
|
|
16
|
+
//# sourceMappingURL=calendar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","names":[],"sources":["../../../src/components/calendar/calendar.tsx"],"mappings":";;;;;;;;;;;KAiBY,gBAAgB;iBAEZ,WACd,WACA,YACA,oBACG,SACF,gCAAa,IAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { focusRing } from "../../lib/styles.js";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { buttonVariants } from "../button/button.js";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { DayPicker, getDefaultClassNames } from "react-day-picker";
|
|
7
|
+
//#region src/components/calendar/calendar.tsx
|
|
8
|
+
function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
9
|
+
const defaults = getDefaultClassNames();
|
|
10
|
+
return /* @__PURE__ */ jsx(DayPicker, {
|
|
11
|
+
"data-slot": "calendar",
|
|
12
|
+
showOutsideDays,
|
|
13
|
+
className: cn("p-3", className),
|
|
14
|
+
classNames: {
|
|
15
|
+
...defaults,
|
|
16
|
+
root: cn(defaults.root, "w-fit"),
|
|
17
|
+
months: cn(defaults.months, "flex flex-col gap-4 sm:flex-row"),
|
|
18
|
+
month: cn(defaults.month, "flex flex-col gap-4"),
|
|
19
|
+
nav: cn(defaults.nav, "absolute inset-x-3 top-3 flex items-center justify-between"),
|
|
20
|
+
button_previous: cn(buttonVariants({
|
|
21
|
+
variant: "ghost",
|
|
22
|
+
size: "icon-sm"
|
|
23
|
+
}), "opacity-60 hover:opacity-100"),
|
|
24
|
+
button_next: cn(buttonVariants({
|
|
25
|
+
variant: "ghost",
|
|
26
|
+
size: "icon-sm"
|
|
27
|
+
}), "opacity-60 hover:opacity-100"),
|
|
28
|
+
month_caption: cn(defaults.month_caption, "flex h-8 items-center justify-center"),
|
|
29
|
+
caption_label: cn(defaults.caption_label, "text-sm font-medium"),
|
|
30
|
+
dropdowns: cn(defaults.dropdowns, "flex items-center gap-2 text-sm font-medium"),
|
|
31
|
+
dropdown_root: cn(defaults.dropdown_root, "relative rounded-md border border-input"),
|
|
32
|
+
dropdown: cn(defaults.dropdown, "absolute inset-0 opacity-0"),
|
|
33
|
+
month_grid: cn(defaults.month_grid, "w-full border-collapse"),
|
|
34
|
+
weekdays: cn(defaults.weekdays, "flex"),
|
|
35
|
+
weekday: cn(defaults.weekday, "w-9 text-2xs font-normal text-muted-foreground select-none"),
|
|
36
|
+
week: cn(defaults.week, "mt-1 flex w-full"),
|
|
37
|
+
week_number_header: cn(defaults.week_number_header, "w-9"),
|
|
38
|
+
week_number: cn(defaults.week_number, "text-2xs text-muted-foreground"),
|
|
39
|
+
day: cn(defaults.day, "group/day size-9 p-0 text-center text-sm"),
|
|
40
|
+
day_button: cn(defaults.day_button, "size-9 rounded-md font-normal transition-colors duration-[var(--duration-instant)]", "hover:bg-accent hover:text-accent-foreground", "group-data-[selected=true]/day:bg-primary group-data-[selected=true]/day:text-primary-foreground", "group-data-[selected=true]/day:hover:bg-primary-hover", "disabled:pointer-events-none disabled:opacity-40", focusRing),
|
|
41
|
+
range_start: cn(defaults.range_start, "rounded-l-md bg-accent"),
|
|
42
|
+
range_middle: cn(defaults.range_middle, "bg-accent [&>button]:bg-transparent [&>button]:text-accent-foreground"),
|
|
43
|
+
range_end: cn(defaults.range_end, "rounded-r-md bg-accent"),
|
|
44
|
+
today: cn(defaults.today, "[&>button]:font-semibold [&>button]:text-primary"),
|
|
45
|
+
outside: cn(defaults.outside, "text-muted-foreground opacity-50"),
|
|
46
|
+
disabled: cn(defaults.disabled, "opacity-40"),
|
|
47
|
+
hidden: cn(defaults.hidden, "invisible"),
|
|
48
|
+
...classNames
|
|
49
|
+
},
|
|
50
|
+
components: { Chevron: ({ orientation, className: chevronClassName, ...chevronProps }) => /* @__PURE__ */ jsx("svg", {
|
|
51
|
+
viewBox: "0 0 24 24",
|
|
52
|
+
fill: "none",
|
|
53
|
+
"aria-hidden": "true",
|
|
54
|
+
className: cn("size-4", chevronClassName),
|
|
55
|
+
...chevronProps,
|
|
56
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
57
|
+
d: orientation === "left" ? "m14 6-6 6 6 6" : orientation === "right" ? "m10 6 6 6-6 6" : orientation === "up" ? "m6 14 6-6 6 6" : "m6 10 6 6 6-6",
|
|
58
|
+
stroke: "currentColor",
|
|
59
|
+
strokeWidth: "2",
|
|
60
|
+
strokeLinecap: "round",
|
|
61
|
+
strokeLinejoin: "round"
|
|
62
|
+
})
|
|
63
|
+
}) },
|
|
64
|
+
...props
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//#endregion
|
|
68
|
+
export { Calendar };
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=calendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.js","names":[],"sources":["../../../src/components/calendar/calendar.tsx"],"sourcesContent":["\"use client\";\n\nimport { DayPicker, getDefaultClassNames, type DayPickerProps } from \"react-day-picker\";\n\nimport { buttonVariants } from \"@/components/button\";\nimport { focusRing } from \"@/lib/styles\";\nimport { cn } from \"@/lib/utils\";\n\n/**\n * A date grid for selecting a day, several days or a range.\n *\n * Wraps `react-day-picker`, which supplies the parts that are genuinely hard —\n * locale-aware week layout, the roving-focus grid keyboard model, range\n * selection and out-of-month handling. This file is the design layer over it:\n * every class comes from our tokens, so the calendar re-skins with the rest of\n * the system rather than shipping its own visual language.\n */\nexport type CalendarProps = DayPickerProps;\n\nexport function Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n const defaults = getDefaultClassNames();\n\n return (\n <DayPicker\n data-slot=\"calendar\"\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n ...defaults,\n root: cn(defaults.root, \"w-fit\"),\n months: cn(defaults.months, \"flex flex-col gap-4 sm:flex-row\"),\n month: cn(defaults.month, \"flex flex-col gap-4\"),\n nav: cn(defaults.nav, \"absolute inset-x-3 top-3 flex items-center justify-between\"),\n button_previous: cn(\n buttonVariants({ variant: \"ghost\", size: \"icon-sm\" }),\n \"opacity-60 hover:opacity-100\",\n ),\n button_next: cn(\n buttonVariants({ variant: \"ghost\", size: \"icon-sm\" }),\n \"opacity-60 hover:opacity-100\",\n ),\n month_caption: cn(defaults.month_caption, \"flex h-8 items-center justify-center\"),\n caption_label: cn(defaults.caption_label, \"text-sm font-medium\"),\n dropdowns: cn(defaults.dropdowns, \"flex items-center gap-2 text-sm font-medium\"),\n dropdown_root: cn(defaults.dropdown_root, \"relative rounded-md border border-input\"),\n dropdown: cn(defaults.dropdown, \"absolute inset-0 opacity-0\"),\n month_grid: cn(defaults.month_grid, \"w-full border-collapse\"),\n weekdays: cn(defaults.weekdays, \"flex\"),\n weekday: cn(\n defaults.weekday,\n \"w-9 text-2xs font-normal text-muted-foreground select-none\",\n ),\n week: cn(defaults.week, \"mt-1 flex w-full\"),\n week_number_header: cn(defaults.week_number_header, \"w-9\"),\n week_number: cn(defaults.week_number, \"text-2xs text-muted-foreground\"),\n day: cn(defaults.day, \"group/day size-9 p-0 text-center text-sm\"),\n day_button: cn(\n defaults.day_button,\n \"size-9 rounded-md font-normal transition-colors duration-[var(--duration-instant)]\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"group-data-[selected=true]/day:bg-primary group-data-[selected=true]/day:text-primary-foreground\",\n \"group-data-[selected=true]/day:hover:bg-primary-hover\",\n \"disabled:pointer-events-none disabled:opacity-40\",\n focusRing,\n ),\n // Range middles keep the muted surface so the two ends stay legible as\n // the actual selection.\n range_start: cn(defaults.range_start, \"rounded-l-md bg-accent\"),\n range_middle: cn(\n defaults.range_middle,\n \"bg-accent [&>button]:bg-transparent [&>button]:text-accent-foreground\",\n ),\n range_end: cn(defaults.range_end, \"rounded-r-md bg-accent\"),\n today: cn(defaults.today, \"[&>button]:font-semibold [&>button]:text-primary\"),\n outside: cn(defaults.outside, \"text-muted-foreground opacity-50\"),\n disabled: cn(defaults.disabled, \"opacity-40\"),\n hidden: cn(defaults.hidden, \"invisible\"),\n ...classNames,\n }}\n components={{\n Chevron: ({ orientation, className: chevronClassName, ...chevronProps }) => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n aria-hidden=\"true\"\n className={cn(\"size-4\", chevronClassName)}\n {...chevronProps}\n >\n <path\n d={\n orientation === \"left\"\n ? \"m14 6-6 6 6 6\"\n : orientation === \"right\"\n ? \"m10 6 6 6-6 6\"\n : orientation === \"up\"\n ? \"m6 14 6-6 6 6\"\n : \"m6 10 6 6 6-6\"\n }\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ),\n }}\n {...props}\n />\n );\n}\n"],"mappings":";;;;;;;AAmBA,SAAgB,SAAS,EACvB,WACA,YACA,kBAAkB,MAClB,GAAG,SACa;CAChB,MAAM,WAAW,qBAAqB;CAEtC,OACE,oBAAC,WAAD;EACE,aAAU;EACO;EACjB,WAAW,GAAG,OAAO,SAAS;EAC9B,YAAY;GACV,GAAG;GACH,MAAM,GAAG,SAAS,MAAM,OAAO;GAC/B,QAAQ,GAAG,SAAS,QAAQ,iCAAiC;GAC7D,OAAO,GAAG,SAAS,OAAO,qBAAqB;GAC/C,KAAK,GAAG,SAAS,KAAK,4DAA4D;GAClF,iBAAiB,GACf,eAAe;IAAE,SAAS;IAAS,MAAM;GAAU,CAAC,GACpD,8BACF;GACA,aAAa,GACX,eAAe;IAAE,SAAS;IAAS,MAAM;GAAU,CAAC,GACpD,8BACF;GACA,eAAe,GAAG,SAAS,eAAe,sCAAsC;GAChF,eAAe,GAAG,SAAS,eAAe,qBAAqB;GAC/D,WAAW,GAAG,SAAS,WAAW,6CAA6C;GAC/E,eAAe,GAAG,SAAS,eAAe,yCAAyC;GACnF,UAAU,GAAG,SAAS,UAAU,4BAA4B;GAC5D,YAAY,GAAG,SAAS,YAAY,wBAAwB;GAC5D,UAAU,GAAG,SAAS,UAAU,MAAM;GACtC,SAAS,GACP,SAAS,SACT,4DACF;GACA,MAAM,GAAG,SAAS,MAAM,kBAAkB;GAC1C,oBAAoB,GAAG,SAAS,oBAAoB,KAAK;GACzD,aAAa,GAAG,SAAS,aAAa,gCAAgC;GACtE,KAAK,GAAG,SAAS,KAAK,0CAA0C;GAChE,YAAY,GACV,SAAS,YACT,sFACA,gDACA,oGACA,yDACA,oDACA,SACF;GAGA,aAAa,GAAG,SAAS,aAAa,wBAAwB;GAC9D,cAAc,GACZ,SAAS,cACT,uEACF;GACA,WAAW,GAAG,SAAS,WAAW,wBAAwB;GAC1D,OAAO,GAAG,SAAS,OAAO,kDAAkD;GAC5E,SAAS,GAAG,SAAS,SAAS,kCAAkC;GAChE,UAAU,GAAG,SAAS,UAAU,YAAY;GAC5C,QAAQ,GAAG,SAAS,QAAQ,WAAW;GACvC,GAAG;EACL;EACA,YAAY,EACV,UAAU,EAAE,aAAa,WAAW,kBAAkB,GAAG,mBACvD,oBAAC,OAAD;GACE,SAAQ;GACR,MAAK;GACL,eAAY;GACZ,WAAW,GAAG,UAAU,gBAAgB;GACxC,GAAI;GAEJ,UAAA,oBAAC,QAAD;IACE,GACE,gBAAgB,SACZ,kBACA,gBAAgB,UACd,kBACA,gBAAgB,OACd,kBACA;IAEV,QAAO;IACP,aAAY;IACZ,eAAc;IACd,gBAAe;GAChB,CAAA;EACE,CAAA,EAET;EACA,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { defineMeta } from "../../registry/schema.js";
|
|
2
|
+
//#region src/components/calendar/meta.ts
|
|
3
|
+
const meta = defineMeta({
|
|
4
|
+
name: "calendar",
|
|
5
|
+
title: "Calendar",
|
|
6
|
+
description: "A date grid for selecting a day, several days or a range.",
|
|
7
|
+
category: "form",
|
|
8
|
+
status: "stable",
|
|
9
|
+
dependencies: ["react-day-picker"],
|
|
10
|
+
registryDependencies: ["button"],
|
|
11
|
+
files: ["calendar.tsx"],
|
|
12
|
+
a11y: "A real grid with roving focus: arrows move by day, Page Up/Down by month, Home/End to the ends of a week. Selection is announced through aria-selected, and the month caption is a live region so moving between months is announced. Give the calendar an accessible name when more than one is on the page."
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { meta };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.js","names":[],"sources":["../../../src/components/calendar/meta.ts"],"sourcesContent":["import { defineMeta } from \"@/registry/schema\";\n\nexport const meta = defineMeta({\n name: \"calendar\",\n title: \"Calendar\",\n description: \"A date grid for selecting a day, several days or a range.\",\n category: \"form\",\n status: \"stable\",\n dependencies: [\"react-day-picker\"],\n registryDependencies: [\"button\"],\n files: [\"calendar.tsx\"],\n a11y:\n \"A real grid with roving focus: arrows move by day, Page Up/Down by month, Home/End to the \" +\n \"ends of a week. Selection is announced through aria-selected, and the month caption is a \" +\n \"live region so moving between months is announced. Give the calendar an accessible name \" +\n \"when more than one is on the page.\",\n});\n"],"mappings":";;AAEA,MAAa,OAAO,WAAW;CAC7B,MAAM;CACN,OAAO;CACP,aAAa;CACb,UAAU;CACV,QAAQ;CACR,cAAc,CAAC,kBAAkB;CACjC,sBAAsB,CAAC,QAAQ;CAC/B,OAAO,CAAC,cAAc;CACtB,MACE;AAIJ,CAAC"}
|