@inspirecn/react 1.0.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/README.md +46 -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 +90 -0
- package/dist/components/alert/Alert.d.ts +13 -0
- package/dist/components/alert/Alert.d.ts.map +1 -0
- package/dist/components/alert/Alert.js +100 -0
- package/dist/components/alert-dialog/AlertDialog.d.ts +44 -0
- package/dist/components/alert-dialog/AlertDialog.d.ts.map +1 -0
- package/dist/components/alert-dialog/AlertDialog.js +174 -0
- package/dist/components/aspect-ratio/AspectRatio.d.ts +4 -0
- package/dist/components/aspect-ratio/AspectRatio.d.ts.map +1 -0
- package/dist/components/aspect-ratio/AspectRatio.js +13 -0
- package/dist/components/avatar/Avatar.d.ts +19 -0
- package/dist/components/avatar/Avatar.d.ts.map +1 -0
- package/dist/components/avatar/Avatar.js +86 -0
- package/dist/components/badge/Badge.d.ts +16 -0
- package/dist/components/badge/Badge.d.ts.map +1 -0
- package/dist/components/badge/Badge.js +46 -0
- package/dist/components/body-text/BodyText.d.ts +17 -0
- package/dist/components/body-text/BodyText.d.ts.map +1 -0
- package/dist/components/body-text/BodyText.js +51 -0
- package/dist/components/breadcrumb/Breadcrumb.d.ts +30 -0
- package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/components/breadcrumb/Breadcrumb.js +220 -0
- package/dist/components/button/Button.d.ts +24 -0
- package/dist/components/button/Button.d.ts.map +1 -0
- package/dist/components/button/Button.js +95 -0
- package/dist/components/button-group/ButtonGroup.d.ts +12 -0
- package/dist/components/button-group/ButtonGroup.d.ts.map +1 -0
- package/dist/components/button-group/ButtonGroup.js +59 -0
- package/dist/components/calendar/Calendar.d.ts +10 -0
- package/dist/components/calendar/Calendar.d.ts.map +1 -0
- package/dist/components/calendar/Calendar.js +147 -0
- package/dist/components/card/Card.d.ts +10 -0
- package/dist/components/card/Card.d.ts.map +1 -0
- package/dist/components/card/Card.js +81 -0
- package/dist/components/carousel/Carousel.d.ts +20 -0
- package/dist/components/carousel/Carousel.d.ts.map +1 -0
- package/dist/components/carousel/Carousel.js +153 -0
- package/dist/components/chart/Chart.d.ts +43 -0
- package/dist/components/chart/Chart.d.ts.map +1 -0
- package/dist/components/chart/Chart.js +175 -0
- package/dist/components/checkbox/Checkbox.d.ts +11 -0
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/Checkbox.js +43 -0
- package/dist/components/code-box/Codebox.d.ts +11 -0
- package/dist/components/code-box/Codebox.d.ts.map +1 -0
- package/dist/components/code-box/Codebox.js +251 -0
- package/dist/components/collapsible/Collapsible.d.ts +6 -0
- package/dist/components/collapsible/Collapsible.d.ts.map +1 -0
- package/dist/components/collapsible/Collapsible.js +31 -0
- package/dist/components/combobox/Combobox.d.ts +161 -0
- package/dist/components/combobox/Combobox.d.ts.map +1 -0
- package/dist/components/combobox/Combobox.js +330 -0
- package/dist/components/command/Command.d.ts +19 -0
- package/dist/components/command/Command.d.ts.map +1 -0
- package/dist/components/command/Command.js +128 -0
- package/dist/components/container/Container.d.ts +14 -0
- package/dist/components/container/Container.d.ts.map +1 -0
- package/dist/components/container/Container.js +27 -0
- package/dist/components/context-menu/ContextMenu.d.ts +26 -0
- package/dist/components/context-menu/ContextMenu.d.ts.map +1 -0
- package/dist/components/context-menu/ContextMenu.js +193 -0
- package/dist/components/count-animation/CountAnimation.d.ts +5 -0
- package/dist/components/count-animation/CountAnimation.d.ts.map +1 -0
- package/dist/components/count-animation/CountAnimation.js +19 -0
- package/dist/components/date-time-picker/DateTimePicker.d.ts +38 -0
- package/dist/components/date-time-picker/DateTimePicker.d.ts.map +1 -0
- package/dist/components/date-time-picker/DateTimePicker.js +287 -0
- package/dist/components/dialog/Dialog.d.ts +18 -0
- package/dist/components/dialog/Dialog.d.ts.map +1 -0
- package/dist/components/dialog/Dialog.js +138 -0
- package/dist/components/dialog/FilterDropdown.d.ts +7 -0
- package/dist/components/dialog/FilterDropdown.d.ts.map +1 -0
- package/dist/components/dialog/FilterDropdown.js +38 -0
- package/dist/components/display-error/DisplayError.d.ts +11 -0
- package/dist/components/display-error/DisplayError.d.ts.map +1 -0
- package/dist/components/display-error/DisplayError.js +34 -0
- package/dist/components/drawer/Drawer.d.ts +14 -0
- package/dist/components/drawer/Drawer.d.ts.map +1 -0
- package/dist/components/drawer/Drawer.js +114 -0
- package/dist/components/dropdown-menu/DropdownMenu.d.ts +41 -0
- package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenu.js +282 -0
- package/dist/components/empty/Empty.d.ts +12 -0
- package/dist/components/empty/Empty.d.ts.map +1 -0
- package/dist/components/empty/Empty.js +87 -0
- package/dist/components/empty-state/EmptyState.d.ts +12 -0
- package/dist/components/empty-state/EmptyState.d.ts.map +1 -0
- package/dist/components/empty-state/EmptyState.js +43 -0
- package/dist/components/field/Field.d.ts +25 -0
- package/dist/components/field/Field.d.ts.map +1 -0
- package/dist/components/field/Field.js +164 -0
- package/dist/components/file-uploader/FileUploader.d.ts +34 -0
- package/dist/components/file-uploader/FileUploader.d.ts.map +1 -0
- package/dist/components/file-uploader/FileUploader.js +124 -0
- package/dist/components/file-uploader/types.d.ts +32 -0
- package/dist/components/file-uploader/types.d.ts.map +1 -0
- package/dist/components/file-uploader/types.js +1 -0
- package/dist/components/file-uploader/useFileUploader.d.ts +22 -0
- package/dist/components/file-uploader/useFileUploader.d.ts.map +1 -0
- package/dist/components/file-uploader/useFileUploader.js +115 -0
- package/dist/components/form/FieldArray.d.ts +26 -0
- package/dist/components/form/FieldArray.d.ts.map +1 -0
- package/dist/components/form/FieldArray.js +16 -0
- package/dist/components/form/Form.d.ts +25 -0
- package/dist/components/form/Form.d.ts.map +1 -0
- package/dist/components/form/Form.js +124 -0
- package/dist/components/form/GenericForm.d.ts +42 -0
- package/dist/components/form/GenericForm.d.ts.map +1 -0
- package/dist/components/form/GenericForm.js +55 -0
- package/dist/components/form/fields/CheckboxField.d.ts +33 -0
- package/dist/components/form/fields/CheckboxField.d.ts.map +1 -0
- package/dist/components/form/fields/CheckboxField.js +66 -0
- package/dist/components/form/fields/CheckboxGroupField.d.ts +50 -0
- package/dist/components/form/fields/CheckboxGroupField.d.ts.map +1 -0
- package/dist/components/form/fields/CheckboxGroupField.js +64 -0
- package/dist/components/form/fields/ColorPickerField.d.ts +12 -0
- package/dist/components/form/fields/ColorPickerField.d.ts.map +1 -0
- package/dist/components/form/fields/ColorPickerField.js +140 -0
- package/dist/components/form/fields/ComboboxField.d.ts +32 -0
- package/dist/components/form/fields/ComboboxField.d.ts.map +1 -0
- package/dist/components/form/fields/ComboboxField.js +93 -0
- package/dist/components/form/fields/DateTimeField.d.ts +77 -0
- package/dist/components/form/fields/DateTimeField.d.ts.map +1 -0
- package/dist/components/form/fields/DateTimeField.js +99 -0
- package/dist/components/form/fields/FieldDescription.d.ts +10 -0
- package/dist/components/form/fields/FieldDescription.d.ts.map +1 -0
- package/dist/components/form/fields/FieldDescription.js +30 -0
- package/dist/components/form/fields/FileField.d.ts +16 -0
- package/dist/components/form/fields/FileField.d.ts.map +1 -0
- package/dist/components/form/fields/FileField.js +79 -0
- package/dist/components/form/fields/FileUploaderField.d.ts +72 -0
- package/dist/components/form/fields/FileUploaderField.d.ts.map +1 -0
- package/dist/components/form/fields/FileUploaderField.js +79 -0
- package/dist/components/form/fields/InputPhoneField.d.ts +40 -0
- package/dist/components/form/fields/InputPhoneField.d.ts.map +1 -0
- package/dist/components/form/fields/InputPhoneField.js +48 -0
- package/dist/components/form/fields/InputTagsField.d.ts +32 -0
- package/dist/components/form/fields/InputTagsField.d.ts.map +1 -0
- package/dist/components/form/fields/InputTagsField.js +50 -0
- package/dist/components/form/fields/RadioGroupField.d.ts +40 -0
- package/dist/components/form/fields/RadioGroupField.d.ts.map +1 -0
- package/dist/components/form/fields/RadioGroupField.js +61 -0
- package/dist/components/form/fields/ResetButton.d.ts +19 -0
- package/dist/components/form/fields/ResetButton.d.ts.map +1 -0
- package/dist/components/form/fields/ResetButton.js +25 -0
- package/dist/components/form/fields/SelectField.d.ts +44 -0
- package/dist/components/form/fields/SelectField.d.ts.map +1 -0
- package/dist/components/form/fields/SelectField.js +59 -0
- package/dist/components/form/fields/SubmitButton.d.ts +27 -0
- package/dist/components/form/fields/SubmitButton.d.ts.map +1 -0
- package/dist/components/form/fields/SubmitButton.js +36 -0
- package/dist/components/form/fields/SwitchField.d.ts +40 -0
- package/dist/components/form/fields/SwitchField.d.ts.map +1 -0
- package/dist/components/form/fields/SwitchField.js +77 -0
- package/dist/components/form/fields/TextField.d.ts +25 -0
- package/dist/components/form/fields/TextField.d.ts.map +1 -0
- package/dist/components/form/fields/TextField.js +98 -0
- package/dist/components/form/fields/TextareaField.d.ts +44 -0
- package/dist/components/form/fields/TextareaField.d.ts.map +1 -0
- package/dist/components/form/fields/TextareaField.js +71 -0
- package/dist/components/form/fields/UniqueTextField.d.ts +38 -0
- package/dist/components/form/fields/UniqueTextField.d.ts.map +1 -0
- package/dist/components/form/fields/UniqueTextField.js +171 -0
- package/dist/components/form/index.d.ts +20 -0
- package/dist/components/form/index.d.ts.map +1 -0
- package/dist/components/form/index.js +40 -0
- package/dist/components/form/useTriggerForm.d.ts +11 -0
- package/dist/components/form/useTriggerForm.d.ts.map +1 -0
- package/dist/components/form/useTriggerForm.js +14 -0
- package/dist/components/heading/Heading.d.ts +18 -0
- package/dist/components/heading/Heading.d.ts.map +1 -0
- package/dist/components/heading/Heading.js +71 -0
- package/dist/components/hover-card/HoverCard.d.ts +7 -0
- package/dist/components/hover-card/HoverCard.d.ts.map +1 -0
- package/dist/components/hover-card/HoverCard.js +41 -0
- package/dist/components/icon/Icon.d.ts +22 -0
- package/dist/components/icon/Icon.d.ts.map +1 -0
- package/dist/components/icon/Icon.js +71 -0
- package/dist/components/index.d.ts +76 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +426 -0
- package/dist/components/input/Input.d.ts +11 -0
- package/dist/components/input/Input.d.ts.map +1 -0
- package/dist/components/input/Input.js +66 -0
- package/dist/components/input-group/InputGroup.d.ts +17 -0
- package/dist/components/input-group/InputGroup.d.ts.map +1 -0
- package/dist/components/input-group/InputGroup.js +129 -0
- package/dist/components/input-otp/input-otp.d.ts +16 -0
- package/dist/components/input-otp/input-otp.d.ts.map +1 -0
- package/dist/components/input-otp/input-otp.js +72 -0
- package/dist/components/input-phone/InputPhone.d.ts +13 -0
- package/dist/components/input-phone/InputPhone.d.ts.map +1 -0
- package/dist/components/input-phone/InputPhone.js +116 -0
- package/dist/components/input-tags/InputTags.d.ts +28 -0
- package/dist/components/input-tags/InputTags.d.ts.map +1 -0
- package/dist/components/input-tags/InputTags.js +88 -0
- package/dist/components/item/Item.d.ts +24 -0
- package/dist/components/item/Item.d.ts.map +1 -0
- package/dist/components/item/Item.js +162 -0
- package/dist/components/kbd/Kbd.d.ts +4 -0
- package/dist/components/kbd/Kbd.d.ts.map +1 -0
- package/dist/components/kbd/Kbd.js +26 -0
- package/dist/components/label/Label.d.ts +11 -0
- package/dist/components/label/Label.d.ts.map +1 -0
- package/dist/components/label/Label.js +26 -0
- package/dist/components/menubar/Menubar.d.ts +27 -0
- package/dist/components/menubar/Menubar.d.ts.map +1 -0
- package/dist/components/menubar/Menubar.js +212 -0
- package/dist/components/native-select/NativeSelect.d.ts +6 -0
- package/dist/components/native-select/NativeSelect.d.ts.map +1 -0
- package/dist/components/native-select/NativeSelect.js +44 -0
- package/dist/components/navbar/Navbar.d.ts +3 -0
- package/dist/components/navbar/Navbar.d.ts.map +1 -0
- package/dist/components/navbar/Navbar.js +69 -0
- package/dist/components/navigation-menu/NavigationMenu.d.ts +15 -0
- package/dist/components/navigation-menu/NavigationMenu.d.ts.map +1 -0
- package/dist/components/navigation-menu/NavigationMenu.js +112 -0
- package/dist/components/open-dialog/OpenDialog.d.ts +9 -0
- package/dist/components/open-dialog/OpenDialog.d.ts.map +1 -0
- package/dist/components/open-dialog/OpenDialog.js +35 -0
- package/dist/components/pagination/Pagination.d.ts +31 -0
- package/dist/components/pagination/Pagination.d.ts.map +1 -0
- package/dist/components/pagination/Pagination.js +216 -0
- package/dist/components/pagination/PaginationProvider.d.ts +33 -0
- package/dist/components/pagination/PaginationProvider.d.ts.map +1 -0
- package/dist/components/pagination/PaginationProvider.js +65 -0
- package/dist/components/pagination/types.d.ts +22 -0
- package/dist/components/pagination/types.d.ts.map +1 -0
- package/dist/components/pagination/types.js +1 -0
- package/dist/components/popover/Popover.d.ts +8 -0
- package/dist/components/popover/Popover.d.ts.map +1 -0
- package/dist/components/popover/Popover.js +49 -0
- package/dist/components/profile-pic-uploader/ProfilePicUploader.d.ts +12 -0
- package/dist/components/profile-pic-uploader/ProfilePicUploader.d.ts.map +1 -0
- package/dist/components/profile-pic-uploader/ProfilePicUploader.js +233 -0
- package/dist/components/profile-pic-uploader/index.d.ts +3 -0
- package/dist/components/profile-pic-uploader/index.d.ts.map +1 -0
- package/dist/components/profile-pic-uploader/index.js +4 -0
- package/dist/components/progress/Progress.d.ts +189 -0
- package/dist/components/progress/Progress.d.ts.map +1 -0
- package/dist/components/progress/Progress.js +283 -0
- package/dist/components/radio-group/RadioGroup.d.ts +16 -0
- package/dist/components/radio-group/RadioGroup.d.ts.map +1 -0
- package/dist/components/radio-group/RadioGroup.js +50 -0
- package/dist/components/resizable-panel/ResizablePanel.d.ts +9 -0
- package/dist/components/resizable-panel/ResizablePanel.d.ts.map +1 -0
- package/dist/components/resizable-panel/ResizablePanel.js +44 -0
- package/dist/components/scroll-area/ScrollArea.d.ts +6 -0
- package/dist/components/scroll-area/ScrollArea.d.ts.map +1 -0
- package/dist/components/scroll-area/ScrollArea.js +39 -0
- package/dist/components/section/Section.d.ts +12 -0
- package/dist/components/section/Section.d.ts.map +1 -0
- package/dist/components/section/Section.js +84 -0
- package/dist/components/select/Select.d.ts +16 -0
- package/dist/components/select/Select.d.ts.map +1 -0
- package/dist/components/select/Select.js +148 -0
- package/dist/components/separator/Separator.d.ts +5 -0
- package/dist/components/separator/Separator.d.ts.map +1 -0
- package/dist/components/separator/Separator.js +20 -0
- package/dist/components/sheet/Sheet.d.ts +16 -0
- package/dist/components/sheet/Sheet.d.ts.map +1 -0
- package/dist/components/sheet/Sheet.js +127 -0
- package/dist/components/sidebar/HeaderDropDown.d.ts +3 -0
- package/dist/components/sidebar/HeaderDropDown.d.ts.map +1 -0
- package/dist/components/sidebar/HeaderDropDown.js +39 -0
- package/dist/components/sidebar/Sidebar.d.ts +70 -0
- package/dist/components/sidebar/Sidebar.d.ts.map +1 -0
- package/dist/components/sidebar/Sidebar.js +514 -0
- package/dist/components/sidebar/SidebarFooterContent.d.ts +3 -0
- package/dist/components/sidebar/SidebarFooterContent.d.ts.map +1 -0
- package/dist/components/sidebar/SidebarFooterContent.js +66 -0
- package/dist/components/sidebar/SidebarHeaderLogo.d.ts +2 -0
- package/dist/components/sidebar/SidebarHeaderLogo.d.ts.map +1 -0
- package/dist/components/sidebar/SidebarHeaderLogo.js +34 -0
- package/dist/components/skeleton/Skeleton.d.ts +3 -0
- package/dist/components/skeleton/Skeleton.d.ts.map +1 -0
- package/dist/components/skeleton/Skeleton.js +15 -0
- package/dist/components/slider/Slider.d.ts +6 -0
- package/dist/components/slider/Slider.d.ts.map +1 -0
- package/dist/components/slider/Slider.js +39 -0
- package/dist/components/sonner/Sonner.d.ts +4 -0
- package/dist/components/sonner/Sonner.d.ts.map +1 -0
- package/dist/components/sonner/Sonner.js +55 -0
- package/dist/components/spinner/Spinner.d.ts +11 -0
- package/dist/components/spinner/Spinner.d.ts.map +1 -0
- package/dist/components/spinner/Spinner.js +49 -0
- package/dist/components/stack/Stack.d.ts +14 -0
- package/dist/components/stack/Stack.d.ts.map +1 -0
- package/dist/components/stack/Stack.js +29 -0
- package/dist/components/subText/SubText.d.ts +13 -0
- package/dist/components/subText/SubText.d.ts.map +1 -0
- package/dist/components/subText/SubText.js +50 -0
- package/dist/components/switch/Switch.d.ts +5 -0
- package/dist/components/switch/Switch.d.ts.map +1 -0
- package/dist/components/switch/Switch.js +41 -0
- package/dist/components/table/Table.d.ts +32 -0
- package/dist/components/table/Table.d.ts.map +1 -0
- package/dist/components/table/Table.js +243 -0
- package/dist/components/table-empty-state/TableEmptyState.d.ts +11 -0
- package/dist/components/table-empty-state/TableEmptyState.d.ts.map +1 -0
- package/dist/components/table-empty-state/TableEmptyState.js +52 -0
- package/dist/components/tabs/Tabs.d.ts +12 -0
- package/dist/components/tabs/Tabs.d.ts.map +1 -0
- package/dist/components/tabs/Tabs.js +84 -0
- package/dist/components/text-link/LinkText.d.ts +14 -0
- package/dist/components/text-link/LinkText.d.ts.map +1 -0
- package/dist/components/text-link/LinkText.js +42 -0
- package/dist/components/textarea/Textarea.d.ts +7 -0
- package/dist/components/textarea/Textarea.d.ts.map +1 -0
- package/dist/components/textarea/Textarea.js +28 -0
- package/dist/components/toggle/Toggle.d.ts +10 -0
- package/dist/components/toggle/Toggle.d.ts.map +1 -0
- package/dist/components/toggle/Toggle.js +41 -0
- package/dist/components/toggle-group/ToggleGroup.d.ts +10 -0
- package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -0
- package/dist/components/toggle-group/ToggleGroup.js +78 -0
- package/dist/components/tooltip/Tooltip.d.ts +18 -0
- package/dist/components/tooltip/Tooltip.d.ts.map +1 -0
- package/dist/components/tooltip/Tooltip.js +83 -0
- package/dist/fonts/index.css +49 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +12 -0
- package/dist/hooks/use-countdown.d.ts +20 -0
- package/dist/hooks/use-countdown.d.ts.map +1 -0
- package/dist/hooks/use-countdown.js +21 -0
- package/dist/hooks/use-debounce.d.ts +20 -0
- package/dist/hooks/use-debounce.d.ts.map +1 -0
- package/dist/hooks/use-debounce.js +15 -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 +14 -0
- package/dist/hooks/useDragScroll.d.ts +6 -0
- package/dist/hooks/useDragScroll.d.ts.map +1 -0
- package/dist/hooks/useDragScroll.js +26 -0
- package/dist/hooks/useImageCrop.d.ts +41 -0
- package/dist/hooks/useImageCrop.d.ts.map +1 -0
- package/dist/hooks/useImageCrop.js +84 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +456 -0
- package/dist/lib/datetime.d.ts +8 -0
- package/dist/lib/datetime.d.ts.map +1 -0
- package/dist/lib/datetime.js +44 -0
- package/dist/lib/index.d.ts +4 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +15 -0
- package/dist/lib/string.d.ts +4 -0
- package/dist/lib/string.d.ts.map +1 -0
- package/dist/lib/string.js +12 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +8 -0
- package/dist/styles/globals.css +60 -0
- package/dist/styles/tokens.css +249 -0
- package/dist/theme/ThemeProvider.d.ts +5 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/theme/ThemeProvider.js +17 -0
- package/dist/theme/ToggleTheme.d.ts +2 -0
- package/dist/theme/ToggleTheme.d.ts.map +1 -0
- package/dist/theme/ToggleTheme.js +29 -0
- package/dist/theme/index.d.ts +4 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +9 -0
- package/dist/theme/theme.d.ts +8 -0
- package/dist/theme/theme.d.ts.map +1 -0
- package/dist/theme/theme.js +15 -0
- package/dist/vite.svg +1 -0
- package/package.json +156 -0
- package/postcss.config.mjs +6 -0
- package/src/styles/globals.css +60 -0
- package/src/styles/tokens.css +249 -0
- package/src/styles/tokens.json +253 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { useFormContext as d } from "react-hook-form";
|
|
2
|
+
import { InfoIcon as p } from "lucide-react";
|
|
3
|
+
import { cn as l } from "../../../lib/utils.js";
|
|
4
|
+
import { Checkbox as h } from "../../checkbox/Checkbox.js";
|
|
5
|
+
import { FormField as f, FormItem as F, FormControl as N, FormMessage as C } from "../Form.js";
|
|
6
|
+
import { Tooltip as g } from "../../tooltip/Tooltip.js";
|
|
7
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
8
|
+
const k = ({
|
|
9
|
+
name: o,
|
|
10
|
+
label: r,
|
|
11
|
+
disabled: s = !1,
|
|
12
|
+
required: m = !1,
|
|
13
|
+
className: a,
|
|
14
|
+
labelInfo: c,
|
|
15
|
+
labelOptional: i
|
|
16
|
+
}) => {
|
|
17
|
+
const {
|
|
18
|
+
control: x
|
|
19
|
+
} = d();
|
|
20
|
+
return /* @__PURE__ */ e(f, {
|
|
21
|
+
control: x,
|
|
22
|
+
name: o,
|
|
23
|
+
render: ({
|
|
24
|
+
field: n
|
|
25
|
+
}) => /* @__PURE__ */ t(F, {
|
|
26
|
+
className: l(a),
|
|
27
|
+
children: [/* @__PURE__ */ e(N, {
|
|
28
|
+
children: /* @__PURE__ */ t("div", {
|
|
29
|
+
className: "flex items-center gap-2",
|
|
30
|
+
children: [/* @__PURE__ */ e(h, {
|
|
31
|
+
checked: n.value,
|
|
32
|
+
onCheckedChange: n.onChange,
|
|
33
|
+
disabled: s,
|
|
34
|
+
id: o
|
|
35
|
+
}), r && /* @__PURE__ */ t("label", {
|
|
36
|
+
htmlFor: o,
|
|
37
|
+
className: l("flex select-none items-center gap-2 text-heading-xs! font-normal text-text-primary cursor-pointer", s && "cursor-not-allowed opacity-50"),
|
|
38
|
+
children: [/* @__PURE__ */ t("span", {
|
|
39
|
+
className: "flex items-center gap-1",
|
|
40
|
+
children: [r, m && /* @__PURE__ */ e("span", {
|
|
41
|
+
className: "text-delete",
|
|
42
|
+
children: "*"
|
|
43
|
+
}), i && /* @__PURE__ */ e("span", {
|
|
44
|
+
className: "text-text-secondary text-xs ml-1",
|
|
45
|
+
children: "(optional)"
|
|
46
|
+
})]
|
|
47
|
+
}), c && /* @__PURE__ */ e(g, {
|
|
48
|
+
text: c,
|
|
49
|
+
side: "top",
|
|
50
|
+
sideOffset: 5,
|
|
51
|
+
children: /* @__PURE__ */ e(p, {
|
|
52
|
+
className: "text-text-secondary size-4 cursor-help shrink-0"
|
|
53
|
+
})
|
|
54
|
+
})]
|
|
55
|
+
})]
|
|
56
|
+
})
|
|
57
|
+
}), /* @__PURE__ */ e(C, {
|
|
58
|
+
className: "mt-1 text-xs text-delete"
|
|
59
|
+
})]
|
|
60
|
+
})
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
k.displayName = "CheckboxField";
|
|
64
|
+
export {
|
|
65
|
+
k as CheckboxField
|
|
66
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { FieldValues, Path } from 'react-hook-form';
|
|
2
|
+
type Option = {
|
|
3
|
+
text: string;
|
|
4
|
+
value: string;
|
|
5
|
+
};
|
|
6
|
+
type Props<T extends FieldValues> = {
|
|
7
|
+
name: Path<T>;
|
|
8
|
+
label?: string;
|
|
9
|
+
options: Option[];
|
|
10
|
+
className?: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
column?: boolean;
|
|
13
|
+
required?: boolean;
|
|
14
|
+
labelInfo?: string;
|
|
15
|
+
minRequired?: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* CheckboxGroupField. A checkbox group field component.
|
|
19
|
+
*
|
|
20
|
+
* @param name - The name of the field.
|
|
21
|
+
* @param label - The label of the field.
|
|
22
|
+
* @param options - The options of the field.
|
|
23
|
+
* @param className - The class name of the field.
|
|
24
|
+
* @param disabled - The disabled flag of the field.
|
|
25
|
+
* @param column - The column flag of the field.
|
|
26
|
+
* @param required - The required flag of the field.
|
|
27
|
+
* @param labelInfo - Additional information for the group label.
|
|
28
|
+
* @param minRequired - The minimum number of checkboxes that must be selected.
|
|
29
|
+
* @returns A checkbox group field component.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```tsx
|
|
33
|
+
* <CheckboxGroupField
|
|
34
|
+
* name="skills"
|
|
35
|
+
* label="Skills"
|
|
36
|
+
* options={[
|
|
37
|
+
* { text: 'React', value: 'react' },
|
|
38
|
+
* { text: 'Vue', value: 'vue' },
|
|
39
|
+
* { text: 'Angular', value: 'angular' },
|
|
40
|
+
* ]}
|
|
41
|
+
* minRequired={2}
|
|
42
|
+
* />
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare const CheckboxGroupField: {
|
|
46
|
+
<T extends FieldValues>({ name, label, options, className, disabled, column, required, labelInfo, }: Props<T>): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
displayName: string;
|
|
48
|
+
};
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=CheckboxGroupField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxGroupField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/CheckboxGroupField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,IAAI,EAAkB,MAAM,iBAAiB,CAAC;AAWpE,KAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,CAAC,CAAC,SAAS,WAAW,IAAI;IAClC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,eAAO,MAAM,kBAAkB;KAAI,CAAC,SAAS,WAAW,+EASrD,KAAK,CAAC,CAAC,CAAC;;CA0DV,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { useFormContext as f } from "react-hook-form";
|
|
2
|
+
import { cn as C } from "../../../lib/utils.js";
|
|
3
|
+
import { Checkbox as F } from "../../checkbox/Checkbox.js";
|
|
4
|
+
import { FormField as v, FormItem as g, FormLabel as k, FormControl as N, FormMessage as b } from "../Form.js";
|
|
5
|
+
import { jsx as e, jsxs as c } from "react/jsx-runtime";
|
|
6
|
+
const y = ({
|
|
7
|
+
name: t,
|
|
8
|
+
label: o,
|
|
9
|
+
options: n,
|
|
10
|
+
className: u,
|
|
11
|
+
disabled: d = !1,
|
|
12
|
+
column: x = !0,
|
|
13
|
+
required: s = !1,
|
|
14
|
+
labelInfo: m
|
|
15
|
+
}) => {
|
|
16
|
+
const {
|
|
17
|
+
control: i
|
|
18
|
+
} = f();
|
|
19
|
+
return /* @__PURE__ */ e(v, {
|
|
20
|
+
control: i,
|
|
21
|
+
name: t,
|
|
22
|
+
render: ({
|
|
23
|
+
field: l
|
|
24
|
+
}) => {
|
|
25
|
+
const a = Array.isArray(l.value) ? l.value : [];
|
|
26
|
+
return /* @__PURE__ */ c(g, {
|
|
27
|
+
className: u,
|
|
28
|
+
children: [o && /* @__PURE__ */ c(k, {
|
|
29
|
+
children: [/* @__PURE__ */ e("span", {
|
|
30
|
+
children: o
|
|
31
|
+
}), s && /* @__PURE__ */ e("span", {
|
|
32
|
+
className: "ml-1 text-delete",
|
|
33
|
+
"aria-label": "required",
|
|
34
|
+
children: "*"
|
|
35
|
+
}), m && /* @__PURE__ */ e("span", {
|
|
36
|
+
className: "text-muted-foreground ml-1 text-sm",
|
|
37
|
+
children: m
|
|
38
|
+
})]
|
|
39
|
+
}), /* @__PURE__ */ e(N, {
|
|
40
|
+
children: /* @__PURE__ */ e("div", {
|
|
41
|
+
className: C("flex gap-4", x ? "flex-col" : "flex-row flex-wrap"),
|
|
42
|
+
role: "group",
|
|
43
|
+
"aria-required": s,
|
|
44
|
+
children: n.map((r) => /* @__PURE__ */ e(F, {
|
|
45
|
+
id: `${t}-${r.value}`,
|
|
46
|
+
checked: a.includes(r.value),
|
|
47
|
+
onCheckedChange: (h) => {
|
|
48
|
+
h ? l.onChange([...a, r.value]) : l.onChange(a.filter((p) => p !== r.value));
|
|
49
|
+
},
|
|
50
|
+
disabled: d,
|
|
51
|
+
label: r.text
|
|
52
|
+
}, r.value))
|
|
53
|
+
})
|
|
54
|
+
}), /* @__PURE__ */ e(b, {
|
|
55
|
+
className: "mt-1 text-xs text-delete"
|
|
56
|
+
})]
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
y.displayName = "CheckboxGroupField";
|
|
62
|
+
export {
|
|
63
|
+
y as CheckboxGroupField
|
|
64
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FieldValues, Path } from 'react-hook-form';
|
|
2
|
+
export type ColorPickerFieldProps<T extends FieldValues> = {
|
|
3
|
+
name: Path<T>;
|
|
4
|
+
label?: string;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
required?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
presetColors?: string[];
|
|
10
|
+
};
|
|
11
|
+
export declare const ColorPickerField: <T extends FieldValues>({ name, label, placeholder, required, className, disabled, presetColors, }: ColorPickerFieldProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=ColorPickerField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorPickerField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/ColorPickerField.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,IAAI,EAAkB,MAAM,iBAAiB,CAAC;AAQpE,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,WAAW,IAAI;IACzD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAsBF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,WAAW,EAAE,4EAQrD,qBAAqB,CAAC,CAAC,CAAC,4CAqG1B,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { useState as C } from "react";
|
|
2
|
+
import { useFormContext as x } from "react-hook-form";
|
|
3
|
+
import { FormField as N, FormItem as y, FormControl as F, FormMessage as P } from "../Form.js";
|
|
4
|
+
import { cn as t } from "@inspirecn/ui/lib/utils";
|
|
5
|
+
import { Label as d } from "../../label/Label.js";
|
|
6
|
+
import { Button as O } from "../../button/Button.js";
|
|
7
|
+
import { Popover as k, PopoverTrigger as w, PopoverContent as E } from "../../popover/Popover.js";
|
|
8
|
+
import { Input as I } from "../../input/Input.js";
|
|
9
|
+
import { jsx as r, jsxs as a } from "react/jsx-runtime";
|
|
10
|
+
const L = [
|
|
11
|
+
"#0ea5e9",
|
|
12
|
+
// sky-500
|
|
13
|
+
"#06b6d4",
|
|
14
|
+
// cyan-500
|
|
15
|
+
"#10b981",
|
|
16
|
+
// emerald-500
|
|
17
|
+
"#22c55e",
|
|
18
|
+
// green-500
|
|
19
|
+
"#8b5cf6",
|
|
20
|
+
// violet-500
|
|
21
|
+
"#a855f7",
|
|
22
|
+
// purple-500
|
|
23
|
+
"#ec4899",
|
|
24
|
+
// pink-500
|
|
25
|
+
"#ef4444",
|
|
26
|
+
// red-500
|
|
27
|
+
"#f97316",
|
|
28
|
+
// orange-500
|
|
29
|
+
"#f59e0b",
|
|
30
|
+
// amber-500
|
|
31
|
+
"#eab308",
|
|
32
|
+
// yellow-500
|
|
33
|
+
"#84cc16",
|
|
34
|
+
// lime-500
|
|
35
|
+
"#06b6d4",
|
|
36
|
+
// cyan-500
|
|
37
|
+
"#10b981",
|
|
38
|
+
// emerald-500
|
|
39
|
+
"#6b7280",
|
|
40
|
+
// gray-500
|
|
41
|
+
"#374151",
|
|
42
|
+
// gray-700
|
|
43
|
+
"#1f2937"
|
|
44
|
+
// gray-800
|
|
45
|
+
], D = ({
|
|
46
|
+
name: p,
|
|
47
|
+
label: m,
|
|
48
|
+
placeholder: f = "Select a color",
|
|
49
|
+
required: l = !1,
|
|
50
|
+
className: h,
|
|
51
|
+
disabled: i = !1,
|
|
52
|
+
presetColors: u = L
|
|
53
|
+
}) => {
|
|
54
|
+
const {
|
|
55
|
+
control: b
|
|
56
|
+
} = x(), [v, c] = C(!1), g = (e) => e ? e.startsWith("#") ? e.toUpperCase() : `#${e.toUpperCase()}` : "";
|
|
57
|
+
return /* @__PURE__ */ r(N, {
|
|
58
|
+
control: b,
|
|
59
|
+
name: p,
|
|
60
|
+
render: ({
|
|
61
|
+
field: e,
|
|
62
|
+
fieldState: n
|
|
63
|
+
}) => /* @__PURE__ */ a(y, {
|
|
64
|
+
className: t(h),
|
|
65
|
+
children: [m && /* @__PURE__ */ r(d, {
|
|
66
|
+
htmlFor: e.name,
|
|
67
|
+
required: l,
|
|
68
|
+
optional: !l,
|
|
69
|
+
children: m
|
|
70
|
+
}), /* @__PURE__ */ r(F, {
|
|
71
|
+
children: /* @__PURE__ */ a("div", {
|
|
72
|
+
className: "flex gap-2",
|
|
73
|
+
children: [/* @__PURE__ */ a(k, {
|
|
74
|
+
open: v,
|
|
75
|
+
onOpenChange: c,
|
|
76
|
+
children: [/* @__PURE__ */ r(w, {
|
|
77
|
+
asChild: !0,
|
|
78
|
+
children: /* @__PURE__ */ r(O, {
|
|
79
|
+
type: "button",
|
|
80
|
+
variant: "outline",
|
|
81
|
+
className: t("h-10 w-12 border-2 p-1", n.error && "border-destructive"),
|
|
82
|
+
disabled: i,
|
|
83
|
+
children: /* @__PURE__ */ r("div", {
|
|
84
|
+
className: "border-border h-full w-full rounded-sm border",
|
|
85
|
+
style: {
|
|
86
|
+
backgroundColor: e.value || "#ffffff"
|
|
87
|
+
}
|
|
88
|
+
})
|
|
89
|
+
})
|
|
90
|
+
}), /* @__PURE__ */ r(E, {
|
|
91
|
+
className: "w-64 p-4",
|
|
92
|
+
align: "start",
|
|
93
|
+
children: /* @__PURE__ */ r("div", {
|
|
94
|
+
className: "space-y-4",
|
|
95
|
+
children: /* @__PURE__ */ a("div", {
|
|
96
|
+
children: [/* @__PURE__ */ r(d, {
|
|
97
|
+
className: "text-sm font-medium",
|
|
98
|
+
children: "Preset Colors"
|
|
99
|
+
}), /* @__PURE__ */ r("div", {
|
|
100
|
+
className: "mt-2 grid grid-cols-6 gap-2",
|
|
101
|
+
children: u.map((o, s) => /* @__PURE__ */ r("button", {
|
|
102
|
+
type: "button",
|
|
103
|
+
className: t("h-8 w-8 rounded-sm border-2 transition-all hover:scale-110", e.value === o ? "border-primary ring-primary/20 ring-2" : "border-border hover:border-primary/50"),
|
|
104
|
+
style: {
|
|
105
|
+
backgroundColor: o
|
|
106
|
+
},
|
|
107
|
+
onClick: () => {
|
|
108
|
+
e.onChange(o), c(!1);
|
|
109
|
+
},
|
|
110
|
+
title: o
|
|
111
|
+
}, `${o}-${s}`))
|
|
112
|
+
})]
|
|
113
|
+
})
|
|
114
|
+
})
|
|
115
|
+
})]
|
|
116
|
+
}), /* @__PURE__ */ r("div", {
|
|
117
|
+
className: "flex-1",
|
|
118
|
+
children: /* @__PURE__ */ r(I, {
|
|
119
|
+
type: "text",
|
|
120
|
+
placeholder: f,
|
|
121
|
+
value: e.value || "",
|
|
122
|
+
onChange: (o) => {
|
|
123
|
+
const s = g(o.target.value);
|
|
124
|
+
e.onChange(s);
|
|
125
|
+
},
|
|
126
|
+
className: t("font-mono text-sm", n.error && "border-destructive"),
|
|
127
|
+
disabled: i,
|
|
128
|
+
hasError: !!n.error
|
|
129
|
+
})
|
|
130
|
+
})]
|
|
131
|
+
})
|
|
132
|
+
}), /* @__PURE__ */ r(P, {
|
|
133
|
+
className: "line-clamp-1 text-xs"
|
|
134
|
+
})]
|
|
135
|
+
})
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
export {
|
|
139
|
+
D as ColorPickerField
|
|
140
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { FieldValues, Path } from 'react-hook-form';
|
|
3
|
+
import { ComboboxOption, FetchOptionsFunction } from '../../combobox/Combobox';
|
|
4
|
+
type ComboboxFieldProps<T extends FieldValues, O extends object = Record<string, unknown>> = {
|
|
5
|
+
name: Path<T>;
|
|
6
|
+
label?: string;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
inputClass?: string;
|
|
10
|
+
options?: ComboboxOption<O>[];
|
|
11
|
+
fetchOptions?: FetchOptionsFunction<O>;
|
|
12
|
+
async?: boolean;
|
|
13
|
+
multi?: boolean;
|
|
14
|
+
placeholder?: string;
|
|
15
|
+
searchPlaceholder?: string;
|
|
16
|
+
emptyMessage?: string;
|
|
17
|
+
loadingMessage?: string;
|
|
18
|
+
errorMessage?: string;
|
|
19
|
+
debounceMs?: number;
|
|
20
|
+
width?: string;
|
|
21
|
+
allowCreation?: boolean;
|
|
22
|
+
createItemLabel?: string;
|
|
23
|
+
onCreateItem?: (value: string) => void | Promise<void>;
|
|
24
|
+
renderOption?: (option: ComboboxOption<O>, isSelected: boolean) => ReactNode;
|
|
25
|
+
renderCreateItem?: (value: string, onClick: () => void) => ReactNode;
|
|
26
|
+
};
|
|
27
|
+
export declare const ComboboxField: {
|
|
28
|
+
<T extends FieldValues, O extends object = Record<string, unknown>>({ name, label, required, className, inputClass, options, fetchOptions, async, multi, placeholder, searchPlaceholder, emptyMessage, loadingMessage, errorMessage, debounceMs, width, allowCreation, createItemLabel, onCreateItem, renderOption, renderCreateItem, }: ComboboxFieldProps<T, O>): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
displayName: string;
|
|
30
|
+
};
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=ComboboxField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/ComboboxField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAkB,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAEL,cAAc,EACd,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AASjC,KAAK,kBAAkB,CACrB,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACxC;IACF,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGvD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,KAAK,SAAS,CAAC;IAC7E,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC;CACtE,CAAC;AAEF,eAAO,MAAM,aAAa;KACxB,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,MAAM,iSAuBf,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;;CA2D1B,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { useFormContext as V } from "react-hook-form";
|
|
2
|
+
import { cn as m } from "../../../lib/utils.js";
|
|
3
|
+
import { Combobox as k } from "../../combobox/Combobox.js";
|
|
4
|
+
import { FormField as q, FormItem as z, FormLabel as A, FormControl as B, FormMessage as D } from "../Form.js";
|
|
5
|
+
import { jsx as a, jsxs as c } from "react/jsx-runtime";
|
|
6
|
+
const E = ({
|
|
7
|
+
name: n,
|
|
8
|
+
label: l,
|
|
9
|
+
required: d = !1,
|
|
10
|
+
className: i,
|
|
11
|
+
inputClass: u,
|
|
12
|
+
options: v,
|
|
13
|
+
fetchOptions: x,
|
|
14
|
+
async: f,
|
|
15
|
+
multi: o = !1,
|
|
16
|
+
placeholder: g = "Select an option",
|
|
17
|
+
searchPlaceholder: h,
|
|
18
|
+
emptyMessage: C = "No results found.",
|
|
19
|
+
loadingMessage: F = "Loading options...",
|
|
20
|
+
errorMessage: b = "Something went wrong",
|
|
21
|
+
debounceMs: N = 300,
|
|
22
|
+
width: p,
|
|
23
|
+
allowCreation: y = !1,
|
|
24
|
+
createItemLabel: S = "Create",
|
|
25
|
+
onCreateItem: j,
|
|
26
|
+
renderOption: w,
|
|
27
|
+
renderCreateItem: L
|
|
28
|
+
}) => {
|
|
29
|
+
const {
|
|
30
|
+
control: M
|
|
31
|
+
} = V();
|
|
32
|
+
return /* @__PURE__ */ a(q, {
|
|
33
|
+
control: M,
|
|
34
|
+
name: n,
|
|
35
|
+
render: ({
|
|
36
|
+
field: r,
|
|
37
|
+
fieldState: {
|
|
38
|
+
error: I
|
|
39
|
+
}
|
|
40
|
+
}) => /* @__PURE__ */ c(z, {
|
|
41
|
+
className: m("flex flex-col", i),
|
|
42
|
+
children: [l && /* @__PURE__ */ c(A, {
|
|
43
|
+
htmlFor: n,
|
|
44
|
+
children: [l, d && /* @__PURE__ */ a("span", {
|
|
45
|
+
className: "text-destructive ml-1",
|
|
46
|
+
children: "*"
|
|
47
|
+
})]
|
|
48
|
+
}), /* @__PURE__ */ a(B, {
|
|
49
|
+
children: /* @__PURE__ */ a(k, {
|
|
50
|
+
options: v,
|
|
51
|
+
fetchOptions: x,
|
|
52
|
+
async: f,
|
|
53
|
+
multi: o,
|
|
54
|
+
value: o ? void 0 : r.value,
|
|
55
|
+
multiValue: o ? r.value : void 0,
|
|
56
|
+
onChange: o ? void 0 : (e) => {
|
|
57
|
+
const s = typeof e == "string" ? e : e == null ? void 0 : e.value;
|
|
58
|
+
r.onChange(s);
|
|
59
|
+
},
|
|
60
|
+
onMultiChange: o ? (e) => {
|
|
61
|
+
if (!e) {
|
|
62
|
+
r.onChange([]);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const s = e.map((t) => typeof t == "string" ? t : t.value);
|
|
66
|
+
r.onChange(s);
|
|
67
|
+
} : void 0,
|
|
68
|
+
placeholder: g,
|
|
69
|
+
searchPlaceholder: h,
|
|
70
|
+
emptyMessage: C,
|
|
71
|
+
loadingMessage: F,
|
|
72
|
+
errorMessage: b,
|
|
73
|
+
debounceMs: N,
|
|
74
|
+
width: p,
|
|
75
|
+
className: m(u, {
|
|
76
|
+
"border-destructive": I
|
|
77
|
+
}),
|
|
78
|
+
allowCreation: y,
|
|
79
|
+
createItemLabel: S,
|
|
80
|
+
onCreateItem: j,
|
|
81
|
+
renderOption: w,
|
|
82
|
+
renderCreateItem: L
|
|
83
|
+
})
|
|
84
|
+
}), /* @__PURE__ */ a(D, {
|
|
85
|
+
className: "text-delete text-xs"
|
|
86
|
+
})]
|
|
87
|
+
})
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
E.displayName = "ComboboxField";
|
|
91
|
+
export {
|
|
92
|
+
E as ComboboxField
|
|
93
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Matcher } from 'react-day-picker';
|
|
2
|
+
import { FieldValues, Path } from 'react-hook-form';
|
|
3
|
+
import { DateTimePickerDisplayMode, DateTimePickerInputMode, DateTimePickerMode } from '../../date-time-picker/DateTimePicker';
|
|
4
|
+
export type DateTimeFieldProps<T extends FieldValues> = {
|
|
5
|
+
name: Path<T>;
|
|
6
|
+
label?: string;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
mode?: DateTimePickerMode;
|
|
10
|
+
displayMode?: DateTimePickerDisplayMode;
|
|
11
|
+
inputMode?: DateTimePickerInputMode;
|
|
12
|
+
placeholder?: string;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
disabledDates?: Matcher | Matcher[];
|
|
15
|
+
minDate?: Date;
|
|
16
|
+
maxDate?: Date;
|
|
17
|
+
timeStep?: number;
|
|
18
|
+
minTime?: string;
|
|
19
|
+
maxTime?: string;
|
|
20
|
+
inputClassName?: string;
|
|
21
|
+
timeInputClassName?: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* DateTimeField - A form field component for date and time selection.
|
|
25
|
+
*
|
|
26
|
+
* @param name - The name of the field in the form.
|
|
27
|
+
* @param label - The label for the field.
|
|
28
|
+
* @param required - Whether the field is required.
|
|
29
|
+
* @param className - The class name for the form item container.
|
|
30
|
+
* @param mode - Selection mode: 'single', 'multiple', or 'range'.
|
|
31
|
+
* @param displayMode - What to display: 'date', 'time', or 'datetime'.
|
|
32
|
+
* @param inputMode - Input style: 'input' or 'select'.
|
|
33
|
+
* @param placeholder - Placeholder text when no value is selected.
|
|
34
|
+
* @param disabled - Whether the field is disabled.
|
|
35
|
+
* @param disabledDates - Dates that should be disabled in the calendar.
|
|
36
|
+
* @param minDate - Minimum selectable date.
|
|
37
|
+
* @param maxDate - Maximum selectable date.
|
|
38
|
+
* @param timeStep - Time step in seconds (default: 60).
|
|
39
|
+
* @param minTime - Minimum selectable time (HH:mm format).
|
|
40
|
+
* @param maxTime - Maximum selectable time (HH:mm format).
|
|
41
|
+
* @param inputClassName - Class name for the date input.
|
|
42
|
+
* @param timeInputClassName - Class name for the time input.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* // Date only field
|
|
46
|
+
* <DateTimeField
|
|
47
|
+
* name="birthDate"
|
|
48
|
+
* label="Birth Date"
|
|
49
|
+
* displayMode="date"
|
|
50
|
+
* />
|
|
51
|
+
*
|
|
52
|
+
* // Date and time field
|
|
53
|
+
* <DateTimeField
|
|
54
|
+
* name="appointment"
|
|
55
|
+
* label="Appointment"
|
|
56
|
+
* displayMode="datetime"
|
|
57
|
+
* />
|
|
58
|
+
*
|
|
59
|
+
* // Time only field
|
|
60
|
+
* <DateTimeField
|
|
61
|
+
* name="meetingTime"
|
|
62
|
+
* label="Meeting Time"
|
|
63
|
+
* displayMode="time"
|
|
64
|
+
* />
|
|
65
|
+
*
|
|
66
|
+
* // Date range picker
|
|
67
|
+
* <DateTimeField
|
|
68
|
+
* name="vacationPeriod"
|
|
69
|
+
* label="Vacation Period"
|
|
70
|
+
* mode="range"
|
|
71
|
+
* />
|
|
72
|
+
*/
|
|
73
|
+
export declare const DateTimeField: {
|
|
74
|
+
<T extends FieldValues>({ name, label, required, className, mode, displayMode, inputMode, placeholder, disabled, disabledDates, minDate, maxDate, timeStep, minTime, maxTime, inputClassName, timeInputClassName, }: DateTimeFieldProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
75
|
+
displayName: string;
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=DateTimeField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimeField.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/DateTimeField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,IAAI,EAAkB,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAEnB,MAAM,uCAAuC,CAAC;AAS/C,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,IAAI;IAEtD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAGpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;IAGf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,aAAa;KAAI,CAAC,SAAS,WAAW,+LA4BhD,kBAAkB,CAAC,CAAC,CAAC;;CA8GvB,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { useFormContext as H } from "react-hook-form";
|
|
2
|
+
import { cn as I } from "../../../lib/utils.js";
|
|
3
|
+
import { DateTimePicker as L } from "../../date-time-picker/DateTimePicker.js";
|
|
4
|
+
import { FormField as S, FormItem as q, FormLabel as z, FormControl as G, FormMessage as J } from "../Form.js";
|
|
5
|
+
import { jsx as e, jsxs as c } from "react/jsx-runtime";
|
|
6
|
+
const K = ({
|
|
7
|
+
name: o,
|
|
8
|
+
label: i,
|
|
9
|
+
required: f = !1,
|
|
10
|
+
className: d,
|
|
11
|
+
// Core configuration
|
|
12
|
+
mode: a = "single",
|
|
13
|
+
displayMode: n = "date",
|
|
14
|
+
inputMode: p = "input",
|
|
15
|
+
// UI Customization
|
|
16
|
+
placeholder: D,
|
|
17
|
+
disabled: F = !1,
|
|
18
|
+
// Validation
|
|
19
|
+
disabledDates: h,
|
|
20
|
+
minDate: x,
|
|
21
|
+
maxDate: y,
|
|
22
|
+
// Time picker specific props
|
|
23
|
+
timeStep: b = 60,
|
|
24
|
+
minTime: g,
|
|
25
|
+
maxTime: j,
|
|
26
|
+
// Styling
|
|
27
|
+
inputClassName: A,
|
|
28
|
+
timeInputClassName: C
|
|
29
|
+
}) => {
|
|
30
|
+
const {
|
|
31
|
+
control: N,
|
|
32
|
+
formState: T
|
|
33
|
+
} = H(), {
|
|
34
|
+
errors: k
|
|
35
|
+
} = T, P = k[o], V = (t) => t ? typeof t == "object" && t !== null && ("date" in t || "time" in t) ? t : t instanceof Date ? {
|
|
36
|
+
date: t
|
|
37
|
+
} : Array.isArray(t) && t.every((r) => r instanceof Date) ? {
|
|
38
|
+
date: t
|
|
39
|
+
} : t && typeof t == "object" && t !== null && "from" in t && "to" in t && (t.from instanceof Date || t.from === void 0) && (t.to instanceof Date || t.to === void 0) ? {
|
|
40
|
+
date: t
|
|
41
|
+
} : {} : {}, w = (t) => {
|
|
42
|
+
if (n === "date")
|
|
43
|
+
return t.date;
|
|
44
|
+
if (n === "time")
|
|
45
|
+
return t.time || "";
|
|
46
|
+
if (n === "datetime") {
|
|
47
|
+
if (t.date && t.time) {
|
|
48
|
+
const r = Array.isArray(t.date) ? t.date[0] : t.date;
|
|
49
|
+
if (r instanceof Date && t.time) {
|
|
50
|
+
const m = t.time.split(":").map(Number), B = m[0] || 0, E = m[1] || 0, s = new Date(r);
|
|
51
|
+
return s.setHours(B, E, 0, 0), s;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return t.date;
|
|
55
|
+
}
|
|
56
|
+
return t;
|
|
57
|
+
};
|
|
58
|
+
return /* @__PURE__ */ e(S, {
|
|
59
|
+
control: N,
|
|
60
|
+
name: o,
|
|
61
|
+
render: ({
|
|
62
|
+
field: t
|
|
63
|
+
}) => /* @__PURE__ */ c(q, {
|
|
64
|
+
className: I(d),
|
|
65
|
+
children: [i && /* @__PURE__ */ c(z, {
|
|
66
|
+
htmlFor: o,
|
|
67
|
+
children: [/* @__PURE__ */ e("span", {
|
|
68
|
+
children: i
|
|
69
|
+
}), f && /* @__PURE__ */ e("span", {
|
|
70
|
+
className: "ml-1 text-red-500",
|
|
71
|
+
children: "*"
|
|
72
|
+
})]
|
|
73
|
+
}), /* @__PURE__ */ e(G, {
|
|
74
|
+
children: /* @__PURE__ */ e(L, {
|
|
75
|
+
mode: a,
|
|
76
|
+
displayMode: n,
|
|
77
|
+
inputMode: p,
|
|
78
|
+
value: V(t.value),
|
|
79
|
+
onValueChange: (r) => t.onChange(w(r)),
|
|
80
|
+
placeholder: D,
|
|
81
|
+
disabled: F,
|
|
82
|
+
error: !!P,
|
|
83
|
+
disabledDates: h,
|
|
84
|
+
minDate: x,
|
|
85
|
+
maxDate: y,
|
|
86
|
+
timeStep: b,
|
|
87
|
+
minTime: g,
|
|
88
|
+
maxTime: j,
|
|
89
|
+
inputClassName: A,
|
|
90
|
+
timeInputClassName: C
|
|
91
|
+
})
|
|
92
|
+
}), /* @__PURE__ */ e(J, {})]
|
|
93
|
+
})
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
K.displayName = "DateTimeField";
|
|
97
|
+
export {
|
|
98
|
+
K as DateTimeField
|
|
99
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
export type FieldDescriptionProps = {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
leftIcon?: ReactNode;
|
|
5
|
+
rightIcon?: ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
isError?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const FieldDescription: ({ children, leftIcon, rightIcon, className, isError, }: FieldDescriptionProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
+
//# sourceMappingURL=FieldDescription.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldDescription.d.ts","sourceRoot":"","sources":["../../../../src/components/form/fields/FieldDescription.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,wDAM9B,qBAAqB,mDAuBvB,CAAC"}
|