@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,43 @@
|
|
|
1
|
+
import * as l from "react";
|
|
2
|
+
import * as a from "@radix-ui/react-checkbox";
|
|
3
|
+
import { CheckIcon as b } from "lucide-react";
|
|
4
|
+
import { cn as h } from "@inspirecn/ui/lib/utils";
|
|
5
|
+
import { Label as p } from "../label/Label.js";
|
|
6
|
+
import { jsxs as f, jsx as e } from "react/jsx-runtime";
|
|
7
|
+
function g({
|
|
8
|
+
className: i,
|
|
9
|
+
label: r,
|
|
10
|
+
labelRequired: c,
|
|
11
|
+
labelOptional: d,
|
|
12
|
+
labelInfo: s,
|
|
13
|
+
id: n,
|
|
14
|
+
...t
|
|
15
|
+
}) {
|
|
16
|
+
const m = l.useId(), o = n || m;
|
|
17
|
+
return /* @__PURE__ */ f("div", {
|
|
18
|
+
className: "flex items-center gap-2",
|
|
19
|
+
children: [/* @__PURE__ */ e(a.Root, {
|
|
20
|
+
"data-slot": "checkbox",
|
|
21
|
+
id: o,
|
|
22
|
+
className: h("border-border-primary bg-surface-white data-[state=checked]:bg-cta-primary hover:bg-hover-secondary hover:border-cta-primary peer disabled:border-border-primary size-4 shrink-0 rounded-sm border outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-transparent data-[state=checked]:text-white", i),
|
|
23
|
+
...t,
|
|
24
|
+
children: /* @__PURE__ */ e(a.Indicator, {
|
|
25
|
+
"data-slot": "checkbox-indicator",
|
|
26
|
+
className: "flex items-center justify-center text-current transition-none",
|
|
27
|
+
children: /* @__PURE__ */ e(b, {
|
|
28
|
+
className: "size-3.5"
|
|
29
|
+
})
|
|
30
|
+
})
|
|
31
|
+
}), r && /* @__PURE__ */ e(p, {
|
|
32
|
+
htmlFor: o,
|
|
33
|
+
required: c,
|
|
34
|
+
optional: d,
|
|
35
|
+
info: s,
|
|
36
|
+
disabled: t.disabled,
|
|
37
|
+
children: r
|
|
38
|
+
})]
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
g as Checkbox
|
|
43
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface CodeboxProps extends React.ComponentProps<'div'> {
|
|
3
|
+
code: string;
|
|
4
|
+
language?: string;
|
|
5
|
+
filename?: string;
|
|
6
|
+
showLineNumbers?: boolean;
|
|
7
|
+
variant?: 'default' | 'bordered';
|
|
8
|
+
}
|
|
9
|
+
declare function Codebox({ code, className, language, filename, showLineNumbers, variant, ...props }: CodeboxProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export { Codebox };
|
|
11
|
+
//# sourceMappingURL=Codebox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Codebox.d.ts","sourceRoot":"","sources":["../../../src/components/code-box/Codebox.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,UAAU,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;CAClC;AAED,iBAAS,OAAO,CAAC,EACf,IAAI,EACJ,SAAS,EACT,QAAuB,EACvB,QAAQ,EACR,eAAuB,EACvB,OAAmB,EACnB,GAAG,KAAK,EACT,EAAE,YAAY,2CA6Sd;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { cn as t } from "@inspirecn/ui/lib/utils";
|
|
2
|
+
import d from "highlight.js";
|
|
3
|
+
import { FileIcon as w, TerminalIcon as N, CheckIcon as j, CopyIcon as u } from "lucide-react";
|
|
4
|
+
import * as n from "react";
|
|
5
|
+
import { jsxs as a, Fragment as l, jsx as o } from "react/jsx-runtime";
|
|
6
|
+
function H({
|
|
7
|
+
code: r,
|
|
8
|
+
className: g,
|
|
9
|
+
language: s = "typescript",
|
|
10
|
+
filename: x,
|
|
11
|
+
showLineNumbers: f = !1,
|
|
12
|
+
variant: e = "default",
|
|
13
|
+
...k
|
|
14
|
+
}) {
|
|
15
|
+
const [i, b] = n.useState(!1), [h, y] = n.useState("");
|
|
16
|
+
n.useEffect(() => {
|
|
17
|
+
if (r)
|
|
18
|
+
try {
|
|
19
|
+
const c = s && d.getLanguage(s) ? d.highlight(r, {
|
|
20
|
+
language: s
|
|
21
|
+
}) : d.highlightAuto(r);
|
|
22
|
+
y(c.value);
|
|
23
|
+
} catch (c) {
|
|
24
|
+
console.error("Error highlighting code:", c), y(r);
|
|
25
|
+
}
|
|
26
|
+
}, [r, s]);
|
|
27
|
+
const m = async () => {
|
|
28
|
+
await navigator.clipboard.writeText(r), b(!0), setTimeout(() => b(!1), 2e3);
|
|
29
|
+
}, v = r.split(`
|
|
30
|
+
`).length;
|
|
31
|
+
return /* @__PURE__ */ a(l, {
|
|
32
|
+
children: [/* @__PURE__ */ o("style", {
|
|
33
|
+
children: `
|
|
34
|
+
/* Scrollbar Styles */
|
|
35
|
+
.codebox-scroll::-webkit-scrollbar {
|
|
36
|
+
width: 4px;
|
|
37
|
+
height: 4px;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.codebox-scroll::-webkit-scrollbar-track {
|
|
41
|
+
background: transparent;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.codebox-scroll::-webkit-scrollbar-thumb {
|
|
45
|
+
background-color: var(--color-border-primary);
|
|
46
|
+
border-radius: 100px;
|
|
47
|
+
background-clip: content-box;
|
|
48
|
+
border: 2px solid transparent;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.codebox-scroll::-webkit-scrollbar-thumb:hover {
|
|
52
|
+
background-color: var(--color-text-secondary);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.codebox-scroll {
|
|
56
|
+
scrollbar-width: thin;
|
|
57
|
+
margin-right: 4px;
|
|
58
|
+
scrollbar-color: var(--color-border-primary) transparent;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* Syntax Highlighting - Light Mode Default */
|
|
62
|
+
.codebox-syntax .hljs-comment,
|
|
63
|
+
.codebox-syntax .hljs-quote {
|
|
64
|
+
color: var(--color-grey-500);
|
|
65
|
+
font-style: italic;
|
|
66
|
+
}
|
|
67
|
+
.codebox-syntax .hljs-doctag,
|
|
68
|
+
.codebox-syntax .hljs-keyword,
|
|
69
|
+
.codebox-syntax .hljs-formula {
|
|
70
|
+
color: var(--color-pomegranate-600);
|
|
71
|
+
}
|
|
72
|
+
.codebox-syntax .hljs-section,
|
|
73
|
+
.codebox-syntax .hljs-name,
|
|
74
|
+
.codebox-syntax .hljs-selector-tag,
|
|
75
|
+
.codebox-syntax .hljs-deletion,
|
|
76
|
+
.codebox-syntax .hljs-subst {
|
|
77
|
+
color: var(--color-primary-600);
|
|
78
|
+
}
|
|
79
|
+
.codebox-syntax .hljs-literal {
|
|
80
|
+
color: var(--color-primary-600);
|
|
81
|
+
}
|
|
82
|
+
.codebox-syntax .hljs-string,
|
|
83
|
+
.codebox-syntax .hljs-regexp,
|
|
84
|
+
.codebox-syntax .hljs-addition,
|
|
85
|
+
.codebox-syntax .hljs-attribute,
|
|
86
|
+
.codebox-syntax .hljs-meta .hljs-string {
|
|
87
|
+
color: var(--color-primary-600);
|
|
88
|
+
}
|
|
89
|
+
.codebox-syntax .hljs-attr,
|
|
90
|
+
.codebox-syntax .hljs-variable,
|
|
91
|
+
.codebox-syntax .hljs-template-variable,
|
|
92
|
+
.codebox-syntax .hljs-type,
|
|
93
|
+
.codebox-syntax .hljs-selector-class,
|
|
94
|
+
.codebox-syntax .hljs-selector-attr,
|
|
95
|
+
.codebox-syntax .hljs-selector-pseudo,
|
|
96
|
+
.codebox-syntax .hljs-number {
|
|
97
|
+
color: var(--color-supernova-600);
|
|
98
|
+
}
|
|
99
|
+
.codebox-syntax .hljs-symbol,
|
|
100
|
+
.codebox-syntax .hljs-bullet,
|
|
101
|
+
.codebox-syntax .hljs-link,
|
|
102
|
+
.codebox-syntax .hljs-meta,
|
|
103
|
+
.codebox-syntax .hljs-selector-id,
|
|
104
|
+
.codebox-syntax .hljs-title {
|
|
105
|
+
color: var(--color-primary-600);
|
|
106
|
+
}
|
|
107
|
+
.codebox-syntax .hljs-built_in,
|
|
108
|
+
.codebox-syntax .hljs-title.class_,
|
|
109
|
+
.codebox-syntax .hljs-class .hljs-title {
|
|
110
|
+
color: var(--color-supernova-600);
|
|
111
|
+
}
|
|
112
|
+
.codebox-syntax .hljs-emphasis {
|
|
113
|
+
font-style: italic;
|
|
114
|
+
}
|
|
115
|
+
.codebox-syntax .hljs-strong {
|
|
116
|
+
font-weight: bold;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* Syntax Highlighting - Dark Mode Overrides */
|
|
120
|
+
.dark .codebox-syntax .hljs-comment,
|
|
121
|
+
.dark .codebox-syntax .hljs-quote {
|
|
122
|
+
color: var(--color-grey-500);
|
|
123
|
+
}
|
|
124
|
+
.dark .codebox-syntax .hljs-doctag,
|
|
125
|
+
.dark .codebox-syntax .hljs-keyword,
|
|
126
|
+
.dark .codebox-syntax .hljs-formula {
|
|
127
|
+
color: var(--color-pomegranate-400);
|
|
128
|
+
}
|
|
129
|
+
.dark .codebox-syntax .hljs-section,
|
|
130
|
+
.dark .codebox-syntax .hljs-name,
|
|
131
|
+
.dark .codebox-syntax .hljs-selector-tag,
|
|
132
|
+
.dark .codebox-syntax .hljs-deletion,
|
|
133
|
+
.dark .codebox-syntax .hljs-subst {
|
|
134
|
+
color: var(--color-primary-300);
|
|
135
|
+
}
|
|
136
|
+
.dark .codebox-syntax .hljs-literal {
|
|
137
|
+
color: var(--color-primary-300);
|
|
138
|
+
}
|
|
139
|
+
.dark .codebox-syntax .hljs-string,
|
|
140
|
+
.dark .codebox-syntax .hljs-regexp,
|
|
141
|
+
.dark .codebox-syntax .hljs-addition,
|
|
142
|
+
.dark .codebox-syntax .hljs-attribute,
|
|
143
|
+
.dark .codebox-syntax .hljs-meta .hljs-string {
|
|
144
|
+
color: var(--color-primary-300);
|
|
145
|
+
}
|
|
146
|
+
.dark .codebox-syntax .hljs-attr,
|
|
147
|
+
.dark .codebox-syntax .hljs-variable,
|
|
148
|
+
.dark .codebox-syntax .hljs-template-variable,
|
|
149
|
+
.dark .codebox-syntax .hljs-type,
|
|
150
|
+
.dark .codebox-syntax .hljs-selector-class,
|
|
151
|
+
.dark .codebox-syntax .hljs-selector-attr,
|
|
152
|
+
.dark .codebox-syntax .hljs-selector-pseudo,
|
|
153
|
+
.dark .codebox-syntax .hljs-number {
|
|
154
|
+
color: var(--color-supernova-400);
|
|
155
|
+
}
|
|
156
|
+
.dark .codebox-syntax .hljs-symbol,
|
|
157
|
+
.dark .codebox-syntax .hljs-bullet,
|
|
158
|
+
.dark .codebox-syntax .hljs-link,
|
|
159
|
+
.dark .codebox-syntax .hljs-meta,
|
|
160
|
+
.dark .codebox-syntax .hljs-selector-id,
|
|
161
|
+
.dark .codebox-syntax .hljs-title {
|
|
162
|
+
color: var(--color-primary-300);
|
|
163
|
+
}
|
|
164
|
+
.dark .codebox-syntax .hljs-built_in,
|
|
165
|
+
.dark .codebox-syntax .hljs-title.class_,
|
|
166
|
+
.dark .codebox-syntax .hljs-class .hljs-title {
|
|
167
|
+
color: var(--color-supernova-400);
|
|
168
|
+
}
|
|
169
|
+
`
|
|
170
|
+
}), /* @__PURE__ */ a("div", {
|
|
171
|
+
"data-slot": "codebox",
|
|
172
|
+
className: t("group relative flex flex-col overflow-hidden", e === "default" && "bg-surface-white rounded-md", e === "bordered" && "border-border-primary bg-surface-white rounded-md border", g || "w-121.75"),
|
|
173
|
+
...k,
|
|
174
|
+
children: [e === "bordered" && /* @__PURE__ */ a("div", {
|
|
175
|
+
className: "bg-surface-white/50 border-border-primary/5 flex items-center justify-between border-b px-4 py-2.5",
|
|
176
|
+
children: [/* @__PURE__ */ o("div", {
|
|
177
|
+
className: "flex items-center gap-2",
|
|
178
|
+
children: /* @__PURE__ */ o("div", {
|
|
179
|
+
className: "text-text-secondary flex items-center gap-2 text-xs font-medium opacity-80",
|
|
180
|
+
children: x ? /* @__PURE__ */ a(l, {
|
|
181
|
+
children: [/* @__PURE__ */ o(w, {
|
|
182
|
+
className: "h-3.5 w-3.5"
|
|
183
|
+
}), /* @__PURE__ */ o("span", {
|
|
184
|
+
children: x
|
|
185
|
+
})]
|
|
186
|
+
}) : /* @__PURE__ */ a(l, {
|
|
187
|
+
children: [/* @__PURE__ */ o(N, {
|
|
188
|
+
className: "h-3.5 w-3.5"
|
|
189
|
+
}), /* @__PURE__ */ o("span", {
|
|
190
|
+
className: "uppercase",
|
|
191
|
+
children: s
|
|
192
|
+
})]
|
|
193
|
+
})
|
|
194
|
+
})
|
|
195
|
+
}), /* @__PURE__ */ o("button", {
|
|
196
|
+
onClick: m,
|
|
197
|
+
className: t("flex items-center gap-1.5 rounded-md px-2 py-1 transition-all duration-200", "text-text-secondary hover:text-text-primary bg-cta-secondary text-xs font-medium", "focus:ring-border-primary/20 cursor-pointer focus:ring-2 focus:outline-none"),
|
|
198
|
+
"aria-label": "Copy code",
|
|
199
|
+
children: i ? /* @__PURE__ */ a(l, {
|
|
200
|
+
children: [/* @__PURE__ */ o(j, {
|
|
201
|
+
className: "text-delivered h-3.5 w-3.5"
|
|
202
|
+
}), /* @__PURE__ */ o("span", {
|
|
203
|
+
className: "text-delivered",
|
|
204
|
+
children: "Copied"
|
|
205
|
+
})]
|
|
206
|
+
}) : /* @__PURE__ */ a(l, {
|
|
207
|
+
children: [/* @__PURE__ */ o(u, {
|
|
208
|
+
className: "h-3.5 w-3.5"
|
|
209
|
+
}), /* @__PURE__ */ o("span", {
|
|
210
|
+
children: "Copy"
|
|
211
|
+
})]
|
|
212
|
+
})
|
|
213
|
+
})]
|
|
214
|
+
}), e === "default" && /* @__PURE__ */ o("button", {
|
|
215
|
+
onClick: m,
|
|
216
|
+
className: t("absolute top-4 right-4 z-10 flex h-8 w-8 items-center justify-center rounded-md", "transition-all duration-200", "text-cta-primary hover:text-cta-primary/80", "cursor-pointer opacity-0 group-hover:opacity-100 focus:opacity-100"),
|
|
217
|
+
"aria-label": "Copy code",
|
|
218
|
+
children: i ? /* @__PURE__ */ o(j, {
|
|
219
|
+
className: "text-delivered h-4 w-4"
|
|
220
|
+
}) : /* @__PURE__ */ o(u, {
|
|
221
|
+
className: "h-4 w-4"
|
|
222
|
+
})
|
|
223
|
+
}), /* @__PURE__ */ a("div", {
|
|
224
|
+
className: t("relative flex min-h-12.5", e === "default" && "bg-transparent", e === "bordered" && "bg-surface-white"),
|
|
225
|
+
children: [f && /* @__PURE__ */ o("div", {
|
|
226
|
+
className: t("border-border-primary/5 flex-none border-r py-4 pr-2 pl-3 text-right select-none", e === "default" && "bg-text-primary/5", e === "bordered" && "bg-surface-secondary/30"),
|
|
227
|
+
children: Array.from({
|
|
228
|
+
length: v
|
|
229
|
+
}).map((c, p) => /* @__PURE__ */ o("div", {
|
|
230
|
+
className: "text-text-secondary/40 font-mono text-xs leading-6",
|
|
231
|
+
children: p + 1
|
|
232
|
+
}, p))
|
|
233
|
+
}), /* @__PURE__ */ o("pre", {
|
|
234
|
+
className: t("codebox-scroll max-h-58 flex-1 overflow-y-auto p-4 text-wrap", e === "default" && "pr-10"),
|
|
235
|
+
children: h ? /* @__PURE__ */ o("code", {
|
|
236
|
+
className: t("codebox-syntax tab-4 block font-mono text-sm leading-6", "text-text-primary language-" + s),
|
|
237
|
+
dangerouslySetInnerHTML: {
|
|
238
|
+
__html: h
|
|
239
|
+
}
|
|
240
|
+
}) : /* @__PURE__ */ o("code", {
|
|
241
|
+
className: t("codebox-syntax tab-4 block font-mono text-sm leading-6", "text-text-primary language-" + s),
|
|
242
|
+
children: r
|
|
243
|
+
})
|
|
244
|
+
})]
|
|
245
|
+
})]
|
|
246
|
+
})]
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
export {
|
|
250
|
+
H as Codebox
|
|
251
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
2
|
+
declare function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare function CollapsibleTrigger({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function CollapsibleContent({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export { Collapsible, CollapsibleTrigger, CollapsibleContent };
|
|
6
|
+
//# sourceMappingURL=Collapsible.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../../src/components/collapsible/Collapsible.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AAEpE,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,2CAExD;AAED,iBAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,2CAOtE;AAED,iBAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,2CAOtE;AAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as o from "@radix-ui/react-collapsible";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
function i({
|
|
4
|
+
...l
|
|
5
|
+
}) {
|
|
6
|
+
return /* @__PURE__ */ t(o.Root, {
|
|
7
|
+
"data-slot": "collapsible",
|
|
8
|
+
...l
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
function r({
|
|
12
|
+
...l
|
|
13
|
+
}) {
|
|
14
|
+
return /* @__PURE__ */ t(o.CollapsibleTrigger, {
|
|
15
|
+
"data-slot": "collapsible-trigger",
|
|
16
|
+
...l
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function a({
|
|
20
|
+
...l
|
|
21
|
+
}) {
|
|
22
|
+
return /* @__PURE__ */ t(o.CollapsibleContent, {
|
|
23
|
+
"data-slot": "collapsible-content",
|
|
24
|
+
...l
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
i as Collapsible,
|
|
29
|
+
a as CollapsibleContent,
|
|
30
|
+
r as CollapsibleTrigger
|
|
31
|
+
};
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Base structure for combobox options
|
|
4
|
+
*/
|
|
5
|
+
export type ComboboxOptionBase = {
|
|
6
|
+
value: string;
|
|
7
|
+
label: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
meta?: Record<string, unknown>;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Combobox option type that extends the base with additional properties
|
|
13
|
+
*/
|
|
14
|
+
export type ComboboxOption<T extends object = Record<string, unknown>> = ComboboxOptionBase & T;
|
|
15
|
+
/**
|
|
16
|
+
* Function type for fetching options based on a search query (for async mode)
|
|
17
|
+
*/
|
|
18
|
+
export type FetchOptionsFunction<T extends object = Record<string, unknown>> = (query: string) => Promise<ComboboxOption<T>[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Union type for the value prop - can be string (sync) or ComboboxOption (async)
|
|
21
|
+
*/
|
|
22
|
+
export type ComboboxValue<T extends object = Record<string, unknown>> = string | ComboboxOption<T> | null;
|
|
23
|
+
/**
|
|
24
|
+
* Union type for multi-select value prop
|
|
25
|
+
*/
|
|
26
|
+
export type ComboboxMultiValue<T extends object = Record<string, unknown>> = string[] | ComboboxOption<T>[] | null;
|
|
27
|
+
/**
|
|
28
|
+
* Union type for the onChange callback - can handle both sync and async values
|
|
29
|
+
*/
|
|
30
|
+
export type ComboboxOnChange<T extends object = Record<string, unknown>> = (value: ComboboxValue<T>) => void;
|
|
31
|
+
/**
|
|
32
|
+
* Union type for multi-select onChange callback
|
|
33
|
+
*/
|
|
34
|
+
export type ComboboxMultiOnChange<T extends object = Record<string, unknown>> = (value: ComboboxMultiValue<T>) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Props for the unified Combobox component
|
|
37
|
+
*/
|
|
38
|
+
export type ComboboxProps<T extends object = Record<string, unknown>> = {
|
|
39
|
+
/** Array of options for synchronous mode */
|
|
40
|
+
options?: ComboboxOption<T>[];
|
|
41
|
+
/** Function to fetch options for asynchronous mode */
|
|
42
|
+
fetchOptions?: FetchOptionsFunction<T>;
|
|
43
|
+
/** Whether to use async mode (defaults to false if options are provided) */
|
|
44
|
+
async?: boolean;
|
|
45
|
+
/** Whether to enable multi-select mode */
|
|
46
|
+
multi?: boolean;
|
|
47
|
+
/** Controlled value for the combobox (single select) */
|
|
48
|
+
value?: ComboboxValue<T>;
|
|
49
|
+
/** Controlled value for multi-select mode */
|
|
50
|
+
multiValue?: ComboboxMultiValue<T>;
|
|
51
|
+
/** Default value for uncontrolled usage (single select) */
|
|
52
|
+
defaultValue?: ComboboxValue<T>;
|
|
53
|
+
/** Default value for uncontrolled usage (multi-select) */
|
|
54
|
+
defaultMultiValue?: ComboboxMultiValue<T>;
|
|
55
|
+
/** Callback when an option is selected (single select) */
|
|
56
|
+
onChange?: ComboboxOnChange<T>;
|
|
57
|
+
/** Callback when options are selected (multi-select) */
|
|
58
|
+
onMultiChange?: ComboboxMultiOnChange<T>;
|
|
59
|
+
/** Legacy callback for backward compatibility (string values only) */
|
|
60
|
+
onValueChange?: (value: string) => void;
|
|
61
|
+
/** Placeholder text when no option is selected */
|
|
62
|
+
placeholder?: string;
|
|
63
|
+
/** Placeholder text for the search input */
|
|
64
|
+
searchPlaceholder?: string;
|
|
65
|
+
/** Message to display when no options are found */
|
|
66
|
+
emptyMessage?: string;
|
|
67
|
+
/** Message to display while loading options (async mode) */
|
|
68
|
+
loadingMessage?: string;
|
|
69
|
+
/** Message to display when an error occurs (async mode) */
|
|
70
|
+
errorMessage?: string;
|
|
71
|
+
/** Debounce time in milliseconds for search queries (async mode) */
|
|
72
|
+
debounceMs?: number;
|
|
73
|
+
/** Width of the combobox */
|
|
74
|
+
width?: string;
|
|
75
|
+
/** Additional class names */
|
|
76
|
+
className?: string;
|
|
77
|
+
/** Whether to allow creation of new items */
|
|
78
|
+
allowCreation?: boolean;
|
|
79
|
+
/** Label for the create item option */
|
|
80
|
+
createItemLabel?: string;
|
|
81
|
+
/** Callback when a new item is created */
|
|
82
|
+
onCreateItem?: (value: string) => void | Promise<void>;
|
|
83
|
+
/** Custom children to render in the popover content */
|
|
84
|
+
children?: ReactNode;
|
|
85
|
+
/** Custom renderer for options */
|
|
86
|
+
renderOption?: (option: ComboboxOption<T>, isSelected: boolean) => ReactNode;
|
|
87
|
+
/** Custom renderer for the create item option */
|
|
88
|
+
renderCreateItem?: (value: string, onClick: () => void) => ReactNode;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Unified Combobox - A flexible combobox component that supports both synchronous and asynchronous scenarios
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* // Synchronous usage
|
|
95
|
+
* <Combobox
|
|
96
|
+
* options={[
|
|
97
|
+
* { value: 'apple', label: 'Apple' },
|
|
98
|
+
* { value: 'banana', label: 'Banana' },
|
|
99
|
+
* { value: 'orange', label: 'Orange' },
|
|
100
|
+
* ]}
|
|
101
|
+
* onChange={(value) => console.log('Selected:', value)}
|
|
102
|
+
* />
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* // Asynchronous usage
|
|
106
|
+
* <Combobox
|
|
107
|
+
* fetchOptions={(query) => fetchUsers(query)}
|
|
108
|
+
* async={true}
|
|
109
|
+
* onChange={(user) => console.log('Selected user:', user)}
|
|
110
|
+
* />
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* // With creation capability (async mode)
|
|
114
|
+
* <Combobox
|
|
115
|
+
* fetchOptions={(query) => fetchTags(query)}
|
|
116
|
+
* async={true}
|
|
117
|
+
* allowCreation={true}
|
|
118
|
+
* onCreateItem={(tagName) => createNewTag(tagName)}
|
|
119
|
+
* createItemLabel="Add tag"
|
|
120
|
+
* />
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* // Controlled component (sync mode)
|
|
124
|
+
* const [fruit, setFruit] = useState('apple');
|
|
125
|
+
*
|
|
126
|
+
* <Combobox
|
|
127
|
+
* options={[
|
|
128
|
+
* { value: 'apple', label: 'Apple' },
|
|
129
|
+
* { value: 'banana', label: 'Banana' },
|
|
130
|
+
* { value: 'orange', label: 'Orange' },
|
|
131
|
+
* ]}
|
|
132
|
+
* value={fruit}
|
|
133
|
+
* onChange={setFruit}
|
|
134
|
+
* />
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* // Controlled component (async mode)
|
|
138
|
+
* const [selectedUser, setSelectedUser] = useState<ComboboxOption<User> | null>(null);
|
|
139
|
+
*
|
|
140
|
+
* <Combobox
|
|
141
|
+
* fetchOptions={(query) => fetchUsers(query)}
|
|
142
|
+
* async={true}
|
|
143
|
+
* value={selectedUser}
|
|
144
|
+
* onChange={setSelectedUser}
|
|
145
|
+
* />
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* // Custom rendering
|
|
149
|
+
* <Combobox
|
|
150
|
+
* fetchOptions={(query) => fetchUsers(query)}
|
|
151
|
+
* async={true}
|
|
152
|
+
* renderOption={(user, isSelected) => (
|
|
153
|
+
* <div className={isSelected ? 'selected' : ''}>
|
|
154
|
+
* <img src={user.avatar} alt={user.name} />
|
|
155
|
+
* <span>{user.name}</span>
|
|
156
|
+
* </div>
|
|
157
|
+
* )}
|
|
158
|
+
* />
|
|
159
|
+
*/
|
|
160
|
+
export declare const Combobox: <T extends object = Record<string, unknown>>({ options, fetchOptions, async: isAsyncMode, multi: isMultiMode, value, multiValue, defaultValue, defaultMultiValue, onChange, onMultiChange, onValueChange, placeholder, searchPlaceholder, emptyMessage, loadingMessage, errorMessage, debounceMs, width, className, allowCreation, createItemLabel, onCreateItem, children, renderOption, renderCreateItem, }: ComboboxProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
161
|
+
//# sourceMappingURL=Combobox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/Combobox.tsx"],"names":[],"mappings":"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"}
|