svelora 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +145 -0
- package/dist/Accordion/Accordion.svelte +207 -0
- package/dist/Accordion/Accordion.svelte.d.ts +6 -0
- package/dist/Accordion/accordion.types.d.ts +225 -0
- package/dist/Accordion/accordion.types.js +1 -0
- package/dist/Accordion/accordion.variants.d.ts +88 -0
- package/dist/Accordion/accordion.variants.js +28 -0
- package/dist/Accordion/index.d.ts +2 -0
- package/dist/Accordion/index.js +1 -0
- package/dist/Alert/Alert.svelte +131 -0
- package/dist/Alert/Alert.svelte.d.ts +5 -0
- package/dist/Alert/alert.types.d.ts +103 -0
- package/dist/Alert/alert.types.js +1 -0
- package/dist/Alert/alert.variants.d.ts +213 -0
- package/dist/Alert/alert.variants.js +293 -0
- package/dist/Alert/index.d.ts +2 -0
- package/dist/Alert/index.js +1 -0
- package/dist/Avatar/Avatar.svelte +114 -0
- package/dist/Avatar/Avatar.svelte.d.ts +6 -0
- package/dist/Avatar/avatar.types.d.ts +73 -0
- package/dist/Avatar/avatar.types.js +1 -0
- package/dist/Avatar/avatar.variants.d.ts +316 -0
- package/dist/Avatar/avatar.variants.js +39 -0
- package/dist/Avatar/index.d.ts +2 -0
- package/dist/Avatar/index.js +1 -0
- package/dist/AvatarGroup/AvatarGroup.svelte +71 -0
- package/dist/AvatarGroup/AvatarGroup.svelte.d.ts +5 -0
- package/dist/AvatarGroup/avatar-group.types.d.ts +49 -0
- package/dist/AvatarGroup/avatar-group.types.js +1 -0
- package/dist/AvatarGroup/avatar-group.variants.d.ts +258 -0
- package/dist/AvatarGroup/avatar-group.variants.js +35 -0
- package/dist/AvatarGroup/index.d.ts +2 -0
- package/dist/AvatarGroup/index.js +1 -0
- package/dist/Badge/Badge.svelte +79 -0
- package/dist/Badge/Badge.svelte.d.ts +5 -0
- package/dist/Badge/badge.types.d.ts +83 -0
- package/dist/Badge/badge.types.js +1 -0
- package/dist/Badge/badge.variants.d.ts +303 -0
- package/dist/Badge/badge.variants.js +259 -0
- package/dist/Badge/index.d.ts +2 -0
- package/dist/Badge/index.js +1 -0
- package/dist/Banner/Banner.svelte +130 -0
- package/dist/Banner/Banner.svelte.d.ts +5 -0
- package/dist/Banner/banner.types.d.ts +148 -0
- package/dist/Banner/banner.types.js +1 -0
- package/dist/Banner/banner.variants.d.ts +293 -0
- package/dist/Banner/banner.variants.js +86 -0
- package/dist/Banner/index.d.ts +2 -0
- package/dist/Banner/index.js +1 -0
- package/dist/Breadcrumb/Breadcrumb.svelte +79 -0
- package/dist/Breadcrumb/Breadcrumb.svelte.d.ts +5 -0
- package/dist/Breadcrumb/breadcrumb.types.d.ts +66 -0
- package/dist/Breadcrumb/breadcrumb.types.js +1 -0
- package/dist/Breadcrumb/breadcrumb.variants.d.ts +138 -0
- package/dist/Breadcrumb/breadcrumb.variants.js +53 -0
- package/dist/Breadcrumb/index.d.ts +2 -0
- package/dist/Breadcrumb/index.js +1 -0
- package/dist/Button/Button.svelte +177 -0
- package/dist/Button/Button.svelte.d.ts +5 -0
- package/dist/Button/button.types.d.ts +151 -0
- package/dist/Button/button.types.js +1 -0
- package/dist/Button/button.variants.d.ts +388 -0
- package/dist/Button/button.variants.js +461 -0
- package/dist/Button/index.d.ts +2 -0
- package/dist/Button/index.js +1 -0
- package/dist/Calendar/Calendar.svelte +344 -0
- package/dist/Calendar/Calendar.svelte.d.ts +6 -0
- package/dist/Calendar/calendar.types.d.ts +122 -0
- package/dist/Calendar/calendar.types.js +1 -0
- package/dist/Calendar/calendar.variants.d.ts +553 -0
- package/dist/Calendar/calendar.variants.js +368 -0
- package/dist/Calendar/index.d.ts +2 -0
- package/dist/Calendar/index.js +1 -0
- package/dist/Card/Card.svelte +54 -0
- package/dist/Card/Card.svelte.d.ts +5 -0
- package/dist/Card/card.types.d.ts +36 -0
- package/dist/Card/card.types.js +1 -0
- package/dist/Card/card.variants.d.ts +108 -0
- package/dist/Card/card.variants.js +32 -0
- package/dist/Card/index.d.ts +2 -0
- package/dist/Card/index.js +1 -0
- package/dist/Carousel/Carousel.svelte +277 -0
- package/dist/Carousel/Carousel.svelte.d.ts +26 -0
- package/dist/Carousel/carousel.types.d.ts +251 -0
- package/dist/Carousel/carousel.types.js +1 -0
- package/dist/Carousel/carousel.variants.d.ts +408 -0
- package/dist/Carousel/carousel.variants.js +88 -0
- package/dist/Carousel/index.d.ts +2 -0
- package/dist/Carousel/index.js +1 -0
- package/dist/Checkbox/Checkbox.svelte +161 -0
- package/dist/Checkbox/Checkbox.svelte.d.ts +6 -0
- package/dist/Checkbox/checkbox.types.d.ts +101 -0
- package/dist/Checkbox/checkbox.types.js +1 -0
- package/dist/Checkbox/checkbox.variants.d.ts +448 -0
- package/dist/Checkbox/checkbox.variants.js +209 -0
- package/dist/Checkbox/index.d.ts +2 -0
- package/dist/Checkbox/index.js +1 -0
- package/dist/CheckboxGroup/CheckboxGroup.svelte +219 -0
- package/dist/CheckboxGroup/CheckboxGroup.svelte.d.ts +5 -0
- package/dist/CheckboxGroup/checkbox-group.types.d.ts +130 -0
- package/dist/CheckboxGroup/checkbox-group.types.js +1 -0
- package/dist/CheckboxGroup/checkbox-group.variants.d.ts +553 -0
- package/dist/CheckboxGroup/checkbox-group.variants.js +231 -0
- package/dist/CheckboxGroup/index.d.ts +2 -0
- package/dist/CheckboxGroup/index.js +1 -0
- package/dist/Chip/Chip.svelte +51 -0
- package/dist/Chip/Chip.svelte.d.ts +5 -0
- package/dist/Chip/chip.types.d.ts +66 -0
- package/dist/Chip/chip.types.js +1 -0
- package/dist/Chip/chip.variants.d.ts +418 -0
- package/dist/Chip/chip.variants.js +74 -0
- package/dist/Chip/index.d.ts +2 -0
- package/dist/Chip/index.js +1 -0
- package/dist/Collapsible/Collapsible.svelte +69 -0
- package/dist/Collapsible/Collapsible.svelte.d.ts +6 -0
- package/dist/Collapsible/CollapsibleTestWrapper.svelte +17 -0
- package/dist/Collapsible/CollapsibleTestWrapper.svelte.d.ts +4 -0
- package/dist/Collapsible/collapsible.types.d.ts +77 -0
- package/dist/Collapsible/collapsible.types.js +1 -0
- package/dist/Collapsible/collapsible.variants.d.ts +53 -0
- package/dist/Collapsible/collapsible.variants.js +21 -0
- package/dist/Collapsible/index.d.ts +2 -0
- package/dist/Collapsible/index.js +1 -0
- package/dist/Command/Command.svelte +183 -0
- package/dist/Command/Command.svelte.d.ts +6 -0
- package/dist/Command/CommandTestWrapper.svelte +13 -0
- package/dist/Command/CommandTestWrapper.svelte.d.ts +4 -0
- package/dist/Command/command.types.d.ts +100 -0
- package/dist/Command/command.types.js +1 -0
- package/dist/Command/command.variants.d.ts +226 -0
- package/dist/Command/command.variants.js +86 -0
- package/dist/Command/index.d.ts +2 -0
- package/dist/Command/index.js +1 -0
- package/dist/Container/Container.svelte +21 -0
- package/dist/Container/Container.svelte.d.ts +5 -0
- package/dist/Container/container.types.d.ts +19 -0
- package/dist/Container/container.types.js +1 -0
- package/dist/Container/container.variants.d.ts +29 -0
- package/dist/Container/container.variants.js +9 -0
- package/dist/Container/index.d.ts +2 -0
- package/dist/Container/index.js +1 -0
- package/dist/ContextMenu/ContextMenu.svelte +344 -0
- package/dist/ContextMenu/ContextMenu.svelte.d.ts +6 -0
- package/dist/ContextMenu/context-menu.types.d.ts +265 -0
- package/dist/ContextMenu/context-menu.types.js +1 -0
- package/dist/ContextMenu/context-menu.variants.d.ts +307 -0
- package/dist/ContextMenu/context-menu.variants.js +144 -0
- package/dist/ContextMenu/index.d.ts +2 -0
- package/dist/ContextMenu/index.js +1 -0
- package/dist/Drawer/Drawer.svelte +207 -0
- package/dist/Drawer/Drawer.svelte.d.ts +6 -0
- package/dist/Drawer/DrawerTriggerTestWrapper.svelte +10 -0
- package/dist/Drawer/DrawerTriggerTestWrapper.svelte.d.ts +18 -0
- package/dist/Drawer/drawer.types.d.ts +116 -0
- package/dist/Drawer/drawer.types.js +1 -0
- package/dist/Drawer/drawer.variants.d.ts +193 -0
- package/dist/Drawer/drawer.variants.js +139 -0
- package/dist/Drawer/index.d.ts +2 -0
- package/dist/Drawer/index.js +1 -0
- package/dist/DropdownMenu/DropdownMenu.svelte +363 -0
- package/dist/DropdownMenu/DropdownMenu.svelte.d.ts +6 -0
- package/dist/DropdownMenu/DropdownMenuTriggerTestWrapper.svelte +12 -0
- package/dist/DropdownMenu/DropdownMenuTriggerTestWrapper.svelte.d.ts +7 -0
- package/dist/DropdownMenu/dropdown-menu.types.d.ts +279 -0
- package/dist/DropdownMenu/dropdown-menu.types.js +1 -0
- package/dist/DropdownMenu/dropdown-menu.variants.d.ts +312 -0
- package/dist/DropdownMenu/dropdown-menu.variants.js +149 -0
- package/dist/DropdownMenu/index.d.ts +2 -0
- package/dist/DropdownMenu/index.js +1 -0
- package/dist/Editor/Editor.svelte +756 -0
- package/dist/Editor/Editor.svelte.d.ts +6 -0
- package/dist/Editor/EditorUrlPrompt.svelte +94 -0
- package/dist/Editor/EditorUrlPrompt.svelte.d.ts +15 -0
- package/dist/Editor/SlashPopup.svelte +74 -0
- package/dist/Editor/SlashPopup.svelte.d.ts +11 -0
- package/dist/Editor/editor.extensions.d.ts +23 -0
- package/dist/Editor/editor.extensions.js +132 -0
- package/dist/Editor/editor.schemas.d.ts +5 -0
- package/dist/Editor/editor.schemas.js +27 -0
- package/dist/Editor/editor.slash.svelte.d.ts +25 -0
- package/dist/Editor/editor.slash.svelte.js +299 -0
- package/dist/Editor/editor.suggestion.d.ts +7 -0
- package/dist/Editor/editor.suggestion.js +165 -0
- package/dist/Editor/editor.toolbar.d.ts +11 -0
- package/dist/Editor/editor.toolbar.js +204 -0
- package/dist/Editor/editor.types.d.ts +367 -0
- package/dist/Editor/editor.types.js +1 -0
- package/dist/Editor/editor.variants.d.ts +303 -0
- package/dist/Editor/editor.variants.js +135 -0
- package/dist/Editor/index.d.ts +55 -0
- package/dist/Editor/index.js +54 -0
- package/dist/Empty/Empty.svelte +118 -0
- package/dist/Empty/Empty.svelte.d.ts +5 -0
- package/dist/Empty/empty.types.d.ts +91 -0
- package/dist/Empty/empty.types.js +1 -0
- package/dist/Empty/empty.variants.d.ts +308 -0
- package/dist/Empty/empty.variants.js +73 -0
- package/dist/Empty/index.d.ts +2 -0
- package/dist/Empty/index.js +1 -0
- package/dist/FieldGroup/FieldGroup.svelte +53 -0
- package/dist/FieldGroup/FieldGroup.svelte.d.ts +5 -0
- package/dist/FieldGroup/field-group.types.d.ts +37 -0
- package/dist/FieldGroup/field-group.types.js +1 -0
- package/dist/FieldGroup/field-group.variants.d.ts +116 -0
- package/dist/FieldGroup/field-group.variants.js +49 -0
- package/dist/FieldGroup/index.d.ts +2 -0
- package/dist/FieldGroup/index.js +1 -0
- package/dist/FileUpload/FileUpload.svelte +639 -0
- package/dist/FileUpload/FileUpload.svelte.d.ts +8 -0
- package/dist/FileUpload/file-upload.types.d.ts +203 -0
- package/dist/FileUpload/file-upload.types.js +1 -0
- package/dist/FileUpload/file-upload.variants.d.ts +397 -0
- package/dist/FileUpload/file-upload.variants.js +224 -0
- package/dist/FileUpload/index.d.ts +2 -0
- package/dist/FileUpload/index.js +1 -0
- package/dist/Form/Form.svelte +197 -0
- package/dist/Form/Form.svelte.d.ts +26 -0
- package/dist/Form/form.context.svelte.d.ts +64 -0
- package/dist/Form/form.context.svelte.js +478 -0
- package/dist/Form/form.types.d.ts +164 -0
- package/dist/Form/form.types.js +12 -0
- package/dist/Form/form.variants.d.ts +39 -0
- package/dist/Form/form.variants.js +17 -0
- package/dist/Form/index.d.ts +4 -0
- package/dist/Form/index.js +6 -0
- package/dist/Form/validate-schema.d.ts +13 -0
- package/dist/Form/validate-schema.js +113 -0
- package/dist/FormField/FormField.svelte +186 -0
- package/dist/FormField/FormField.svelte.d.ts +5 -0
- package/dist/FormField/form-field.types.d.ts +109 -0
- package/dist/FormField/form-field.types.js +1 -0
- package/dist/FormField/form-field.variants.d.ts +313 -0
- package/dist/FormField/form-field.variants.js +74 -0
- package/dist/FormField/index.d.ts +2 -0
- package/dist/FormField/index.js +1 -0
- package/dist/Icon/Icon.svelte +46 -0
- package/dist/Icon/Icon.svelte.d.ts +6 -0
- package/dist/Icon/icon.types.d.ts +49 -0
- package/dist/Icon/icon.types.js +1 -0
- package/dist/Icon/index.d.ts +2 -0
- package/dist/Icon/index.js +1 -0
- package/dist/Input/Input.svelte +199 -0
- package/dist/Input/Input.svelte.d.ts +26 -0
- package/dist/Input/index.d.ts +2 -0
- package/dist/Input/index.js +1 -0
- package/dist/Input/input.types.d.ts +113 -0
- package/dist/Input/input.types.js +1 -0
- package/dist/Input/input.variants.d.ts +398 -0
- package/dist/Input/input.variants.js +387 -0
- package/dist/Kbd/Kbd.svelte +45 -0
- package/dist/Kbd/Kbd.svelte.d.ts +5 -0
- package/dist/Kbd/index.d.ts +3 -0
- package/dist/Kbd/index.js +2 -0
- package/dist/Kbd/kbd.types.d.ts +91 -0
- package/dist/Kbd/kbd.types.js +1 -0
- package/dist/Kbd/kbd.variants.d.ts +180 -0
- package/dist/Kbd/kbd.variants.js +168 -0
- package/dist/Kbd/useKbd.svelte.d.ts +29 -0
- package/dist/Kbd/useKbd.svelte.js +248 -0
- package/dist/Link/Link.svelte +168 -0
- package/dist/Link/Link.svelte.d.ts +5 -0
- package/dist/Link/index.d.ts +2 -0
- package/dist/Link/index.js +1 -0
- package/dist/Link/link.types.d.ts +86 -0
- package/dist/Link/link.types.js +1 -0
- package/dist/Link/link.variants.d.ts +113 -0
- package/dist/Link/link.variants.js +43 -0
- package/dist/Modal/Modal.svelte +218 -0
- package/dist/Modal/Modal.svelte.d.ts +5 -0
- package/dist/Modal/ModalTriggerTestWrapper.svelte +10 -0
- package/dist/Modal/ModalTriggerTestWrapper.svelte.d.ts +18 -0
- package/dist/Modal/index.d.ts +2 -0
- package/dist/Modal/index.js +1 -0
- package/dist/Modal/modal.types.d.ts +155 -0
- package/dist/Modal/modal.types.js +1 -0
- package/dist/Modal/modal.variants.d.ts +303 -0
- package/dist/Modal/modal.variants.js +90 -0
- package/dist/Pagination/Pagination.svelte +253 -0
- package/dist/Pagination/Pagination.svelte.d.ts +6 -0
- package/dist/Pagination/index.d.ts +2 -0
- package/dist/Pagination/index.js +1 -0
- package/dist/Pagination/pagination.types.d.ts +191 -0
- package/dist/Pagination/pagination.types.js +1 -0
- package/dist/Pagination/pagination.variants.d.ts +160 -0
- package/dist/Pagination/pagination.variants.js +125 -0
- package/dist/PinInput/PinInput.svelte +162 -0
- package/dist/PinInput/PinInput.svelte.d.ts +6 -0
- package/dist/PinInput/index.d.ts +2 -0
- package/dist/PinInput/index.js +1 -0
- package/dist/PinInput/pin-input.types.d.ts +110 -0
- package/dist/PinInput/pin-input.types.js +1 -0
- package/dist/PinInput/pin-input.variants.d.ts +303 -0
- package/dist/PinInput/pin-input.variants.js +196 -0
- package/dist/Popover/Popover.svelte +122 -0
- package/dist/Popover/Popover.svelte.d.ts +6 -0
- package/dist/Popover/index.d.ts +2 -0
- package/dist/Popover/index.js +1 -0
- package/dist/Popover/popover.types.d.ts +58 -0
- package/dist/Popover/popover.types.js +1 -0
- package/dist/Popover/popover.variants.d.ts +53 -0
- package/dist/Popover/popover.variants.js +31 -0
- package/dist/Progress/Progress.svelte +135 -0
- package/dist/Progress/Progress.svelte.d.ts +6 -0
- package/dist/Progress/index.d.ts +2 -0
- package/dist/Progress/index.js +1 -0
- package/dist/Progress/progress.types.d.ts +71 -0
- package/dist/Progress/progress.types.js +1 -0
- package/dist/Progress/progress.variants.d.ts +513 -0
- package/dist/Progress/progress.variants.js +204 -0
- package/dist/RadioGroup/RadioGroup.svelte +226 -0
- package/dist/RadioGroup/RadioGroup.svelte.d.ts +6 -0
- package/dist/RadioGroup/index.d.ts +2 -0
- package/dist/RadioGroup/index.js +1 -0
- package/dist/RadioGroup/radio-group.types.d.ts +111 -0
- package/dist/RadioGroup/radio-group.types.js +1 -0
- package/dist/RadioGroup/radio-group.variants.d.ts +543 -0
- package/dist/RadioGroup/radio-group.variants.js +232 -0
- package/dist/Select/Select.svelte +461 -0
- package/dist/Select/Select.svelte.d.ts +6 -0
- package/dist/Select/index.d.ts +2 -0
- package/dist/Select/index.js +1 -0
- package/dist/Select/select.types.d.ts +263 -0
- package/dist/Select/select.types.js +1 -0
- package/dist/Select/select.variants.d.ts +713 -0
- package/dist/Select/select.variants.js +482 -0
- package/dist/SelectMenu/SelectMenu.svelte +637 -0
- package/dist/SelectMenu/SelectMenu.svelte.d.ts +5 -0
- package/dist/SelectMenu/SelectMenuFormFieldTestWrapper.svelte +11 -0
- package/dist/SelectMenu/SelectMenuFormFieldTestWrapper.svelte.d.ts +7 -0
- package/dist/SelectMenu/index.d.ts +2 -0
- package/dist/SelectMenu/index.js +1 -0
- package/dist/SelectMenu/select-menu.types.d.ts +326 -0
- package/dist/SelectMenu/select-menu.types.js +1 -0
- package/dist/SelectMenu/select-menu.variants.d.ts +795 -0
- package/dist/SelectMenu/select-menu.variants.js +70 -0
- package/dist/Separator/Separator.svelte +77 -0
- package/dist/Separator/Separator.svelte.d.ts +6 -0
- package/dist/Separator/index.d.ts +2 -0
- package/dist/Separator/index.js +1 -0
- package/dist/Separator/separator.types.d.ts +53 -0
- package/dist/Separator/separator.types.js +1 -0
- package/dist/Separator/separator.variants.d.ts +509 -0
- package/dist/Separator/separator.variants.js +110 -0
- package/dist/Skeleton/Skeleton.svelte +39 -0
- package/dist/Skeleton/Skeleton.svelte.d.ts +5 -0
- package/dist/Skeleton/index.d.ts +2 -0
- package/dist/Skeleton/index.js +1 -0
- package/dist/Skeleton/skeleton.types.d.ts +27 -0
- package/dist/Skeleton/skeleton.types.js +1 -0
- package/dist/Skeleton/skeleton.variants.d.ts +18 -0
- package/dist/Skeleton/skeleton.variants.js +12 -0
- package/dist/Slideover/Slideover.svelte +212 -0
- package/dist/Slideover/Slideover.svelte.d.ts +5 -0
- package/dist/Slideover/SlideoverTriggerTestWrapper.svelte +10 -0
- package/dist/Slideover/SlideoverTriggerTestWrapper.svelte.d.ts +18 -0
- package/dist/Slideover/index.d.ts +2 -0
- package/dist/Slideover/index.js +1 -0
- package/dist/Slideover/slideover.types.d.ts +154 -0
- package/dist/Slideover/slideover.types.js +1 -0
- package/dist/Slideover/slideover.variants.d.ts +298 -0
- package/dist/Slideover/slideover.variants.js +145 -0
- package/dist/Slider/Slider.svelte +129 -0
- package/dist/Slider/Slider.svelte.d.ts +6 -0
- package/dist/Slider/index.d.ts +2 -0
- package/dist/Slider/index.js +1 -0
- package/dist/Slider/slider.types.d.ts +55 -0
- package/dist/Slider/slider.types.js +1 -0
- package/dist/Slider/slider.variants.d.ts +383 -0
- package/dist/Slider/slider.variants.js +102 -0
- package/dist/Stepper/Stepper.svelte +254 -0
- package/dist/Stepper/Stepper.svelte.d.ts +5 -0
- package/dist/Stepper/index.d.ts +2 -0
- package/dist/Stepper/index.js +1 -0
- package/dist/Stepper/stepper.types.d.ts +223 -0
- package/dist/Stepper/stepper.types.js +1 -0
- package/dist/Stepper/stepper.variants.d.ts +428 -0
- package/dist/Stepper/stepper.variants.js +204 -0
- package/dist/Switch/Switch.svelte +150 -0
- package/dist/Switch/Switch.svelte.d.ts +6 -0
- package/dist/Switch/index.d.ts +2 -0
- package/dist/Switch/index.js +1 -0
- package/dist/Switch/switch.types.d.ts +80 -0
- package/dist/Switch/switch.types.js +1 -0
- package/dist/Switch/switch.variants.d.ts +433 -0
- package/dist/Switch/switch.variants.js +171 -0
- package/dist/Table/Table.svelte +667 -0
- package/dist/Table/Table.svelte.d.ts +26 -0
- package/dist/Table/index.d.ts +2 -0
- package/dist/Table/index.js +1 -0
- package/dist/Table/table.types.d.ts +202 -0
- package/dist/Table/table.types.js +1 -0
- package/dist/Table/table.utils.d.ts +54 -0
- package/dist/Table/table.utils.js +167 -0
- package/dist/Table/table.variants.d.ts +205 -0
- package/dist/Table/table.variants.js +126 -0
- package/dist/Tabs/Tabs.svelte +188 -0
- package/dist/Tabs/Tabs.svelte.d.ts +6 -0
- package/dist/Tabs/index.d.ts +2 -0
- package/dist/Tabs/index.js +1 -0
- package/dist/Tabs/tabs.types.d.ts +207 -0
- package/dist/Tabs/tabs.types.js +1 -0
- package/dist/Tabs/tabs.variants.d.ts +298 -0
- package/dist/Tabs/tabs.variants.js +251 -0
- package/dist/Textarea/Textarea.svelte +215 -0
- package/dist/Textarea/Textarea.svelte.d.ts +5 -0
- package/dist/Textarea/index.d.ts +2 -0
- package/dist/Textarea/index.js +1 -0
- package/dist/Textarea/textarea.types.d.ts +103 -0
- package/dist/Textarea/textarea.types.js +1 -0
- package/dist/Textarea/textarea.variants.d.ts +403 -0
- package/dist/Textarea/textarea.variants.js +404 -0
- package/dist/ThemeModeButton/ThemeModeButton.svelte +74 -0
- package/dist/ThemeModeButton/ThemeModeButton.svelte.d.ts +5 -0
- package/dist/ThemeModeButton/index.d.ts +2 -0
- package/dist/ThemeModeButton/index.js +1 -0
- package/dist/ThemeModeButton/theme-mode-button.types.d.ts +69 -0
- package/dist/ThemeModeButton/theme-mode-button.types.js +1 -0
- package/dist/ThemeModeButton/theme-mode-button.variants.d.ts +21 -0
- package/dist/ThemeModeButton/theme-mode-button.variants.js +17 -0
- package/dist/Timeline/Timeline.svelte +116 -0
- package/dist/Timeline/Timeline.svelte.d.ts +5 -0
- package/dist/Timeline/index.d.ts +2 -0
- package/dist/Timeline/index.js +1 -0
- package/dist/Timeline/timeline.types.d.ts +138 -0
- package/dist/Timeline/timeline.types.js +1 -0
- package/dist/Timeline/timeline.variants.d.ts +413 -0
- package/dist/Timeline/timeline.variants.js +201 -0
- package/dist/Toast/Toaster.svelte +619 -0
- package/dist/Toast/Toaster.svelte.d.ts +5 -0
- package/dist/Toast/index.d.ts +4 -0
- package/dist/Toast/index.js +2 -0
- package/dist/Toast/toast.d.ts +38 -0
- package/dist/Toast/toast.js +73 -0
- package/dist/Toast/toast.types.d.ts +19 -0
- package/dist/Toast/toast.types.js +1 -0
- package/dist/Toast/toast.variants.d.ts +7 -0
- package/dist/Toast/toast.variants.js +5 -0
- package/dist/Tooltip/Tooltip.svelte +151 -0
- package/dist/Tooltip/Tooltip.svelte.d.ts +6 -0
- package/dist/Tooltip/TooltipTestWrapper.svelte +8 -0
- package/dist/Tooltip/TooltipTestWrapper.svelte.d.ts +4 -0
- package/dist/Tooltip/index.d.ts +2 -0
- package/dist/Tooltip/index.js +1 -0
- package/dist/Tooltip/tooltip.types.d.ts +62 -0
- package/dist/Tooltip/tooltip.types.js +1 -0
- package/dist/Tooltip/tooltip.variants.d.ts +68 -0
- package/dist/Tooltip/tooltip.variants.js +35 -0
- package/dist/User/User.svelte +98 -0
- package/dist/User/User.svelte.d.ts +5 -0
- package/dist/User/index.d.ts +2 -0
- package/dist/User/index.js +1 -0
- package/dist/User/user.types.d.ts +78 -0
- package/dist/User/user.types.js +1 -0
- package/dist/User/user.variants.d.ts +368 -0
- package/dist/User/user.variants.js +85 -0
- package/dist/config.d.ts +73 -0
- package/dist/config.js +108 -0
- package/dist/hooks/HookContextProbe.svelte +7 -0
- package/dist/hooks/HookContextProbe.svelte.d.ts +18 -0
- package/dist/hooks/HookContextProvider.svelte +9 -0
- package/dist/hooks/HookContextProvider.svelte.d.ts +18 -0
- package/dist/hooks/HookEmitProbe.svelte +14 -0
- package/dist/hooks/HookEmitProbe.svelte.d.ts +18 -0
- package/dist/hooks/index.d.ts +14 -0
- package/dist/hooks/index.js +7 -0
- package/dist/hooks/useClickOutside.svelte.d.ts +31 -0
- package/dist/hooks/useClickOutside.svelte.js +37 -0
- package/dist/hooks/useClipboard.svelte.d.ts +30 -0
- package/dist/hooks/useClipboard.svelte.js +45 -0
- package/dist/hooks/useDebounce.svelte.d.ts +36 -0
- package/dist/hooks/useDebounce.svelte.js +56 -0
- package/dist/hooks/useEscapeKeydown.svelte.d.ts +31 -0
- package/dist/hooks/useEscapeKeydown.svelte.js +37 -0
- package/dist/hooks/useFormField.svelte.d.ts +54 -0
- package/dist/hooks/useFormField.svelte.js +65 -0
- package/dist/hooks/useInfiniteScroll.svelte.d.ts +57 -0
- package/dist/hooks/useInfiniteScroll.svelte.js +69 -0
- package/dist/hooks/useMediaQuery.svelte.d.ts +31 -0
- package/dist/hooks/useMediaQuery.svelte.js +38 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.js +57 -0
- package/dist/theme.css +680 -0
- package/package.json +237 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
/**
|
|
3
|
+
* Form component variants.
|
|
4
|
+
*
|
|
5
|
+
* The Form component renders a near-styleless `<form>` (or `<div>` for nested forms) —
|
|
6
|
+
* matching Nuxt UI v4's minimal form theme. This exists primarily so users can inject
|
|
7
|
+
* shared form spacing via `defineConfig({ form: { slots: { root: 'space-y-4' } } })`.
|
|
8
|
+
*/
|
|
9
|
+
export const formVariants = tv({
|
|
10
|
+
slots: {
|
|
11
|
+
root: ''
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
export const formDefaults = {
|
|
15
|
+
defaultVariants: {},
|
|
16
|
+
slots: {}
|
|
17
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { default as Form } from './Form.svelte';
|
|
2
|
+
export { getFormContext } from './form.context.svelte.js';
|
|
3
|
+
export type { FormApi, FormData, FormError, FormErrorEvent, FormErrorWithId, FormInputEvents, FormProps, FormSchema, FormSubmitEvent, FormValidateOpts, InferInput, InferOutput, JoiSchema, StandardSchemaV1 } from './form.types.js';
|
|
4
|
+
export { FormValidationException } from './form.types.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as Form } from './Form.svelte';
|
|
2
|
+
// Exposed so users can build custom input components that integrate with a parent Form
|
|
3
|
+
// (read errors, emit blur/input/change/focus events). Internal implementation details
|
|
4
|
+
// like FormContext, validateSchema, getAtPath, etc. are intentionally not re-exported.
|
|
5
|
+
export { getFormContext } from './form.context.svelte.js';
|
|
6
|
+
export { FormValidationException } from './form.types.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { StandardSchemaV1 } from '@standard-schema/spec';
|
|
2
|
+
import type { FormError, FormSchema, JoiSchema } from './form.types.js';
|
|
3
|
+
export declare function isStandardSchema(schema: unknown): schema is StandardSchemaV1;
|
|
4
|
+
export declare function isJoiSchema(schema: unknown): schema is JoiSchema;
|
|
5
|
+
export interface ValidateResult<T = unknown> {
|
|
6
|
+
errors: FormError[] | null;
|
|
7
|
+
value: T | null;
|
|
8
|
+
}
|
|
9
|
+
export declare function validateStandardSchema<T>(state: unknown, schema: StandardSchemaV1<unknown, T>): Promise<ValidateResult<T>>;
|
|
10
|
+
export declare function validateJoiSchema<T>(state: unknown, schema: JoiSchema): Promise<ValidateResult<T>>;
|
|
11
|
+
export declare function validateSchema<T>(state: unknown, schema: FormSchema): Promise<ValidateResult<T>>;
|
|
12
|
+
export declare function getAtPath<T extends Record<string, unknown>>(data: T, path?: string): unknown;
|
|
13
|
+
export declare function setAtPath<T extends Record<string, unknown>>(data: T, path: string, value: unknown): T;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
// ==================== TYPE GUARDS ====================
|
|
2
|
+
export function isStandardSchema(schema) {
|
|
3
|
+
return (typeof schema === 'object' &&
|
|
4
|
+
schema !== null &&
|
|
5
|
+
'~standard' in schema &&
|
|
6
|
+
typeof schema['~standard'] === 'object');
|
|
7
|
+
}
|
|
8
|
+
export function isJoiSchema(schema) {
|
|
9
|
+
if (typeof schema !== 'object' || schema === null)
|
|
10
|
+
return false;
|
|
11
|
+
const s = schema;
|
|
12
|
+
return (typeof s.validate === 'function' &&
|
|
13
|
+
typeof s.validateAsync === 'function' &&
|
|
14
|
+
'$_root' in s &&
|
|
15
|
+
typeof s.type === 'string');
|
|
16
|
+
}
|
|
17
|
+
// ==================== NORMALIZE STANDARD SCHEMA PATH ====================
|
|
18
|
+
function normalizePath(path) {
|
|
19
|
+
if (!path || path.length === 0)
|
|
20
|
+
return '';
|
|
21
|
+
return path
|
|
22
|
+
.map((segment) => {
|
|
23
|
+
if (typeof segment === 'object' && segment !== null && 'key' in segment) {
|
|
24
|
+
return String(segment.key);
|
|
25
|
+
}
|
|
26
|
+
return String(segment);
|
|
27
|
+
})
|
|
28
|
+
.join('.');
|
|
29
|
+
}
|
|
30
|
+
// ==================== STANDARD SCHEMA VALIDATOR ====================
|
|
31
|
+
// Handles Zod 3.24+, Valibot 1.0+, Yup 1.7+ (and any other library
|
|
32
|
+
// implementing the Standard Schema spec).
|
|
33
|
+
export async function validateStandardSchema(state, schema) {
|
|
34
|
+
let result = schema['~standard'].validate(state);
|
|
35
|
+
if (result instanceof Promise)
|
|
36
|
+
result = await result;
|
|
37
|
+
if ('issues' in result && result.issues) {
|
|
38
|
+
return {
|
|
39
|
+
errors: result.issues.map((issue) => ({
|
|
40
|
+
name: normalizePath(issue.path),
|
|
41
|
+
message: issue.message
|
|
42
|
+
})),
|
|
43
|
+
value: null
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
errors: null,
|
|
48
|
+
value: result.value
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
// ==================== JOI VALIDATOR ====================
|
|
52
|
+
export async function validateJoiSchema(state, schema) {
|
|
53
|
+
// abortEarly: false → collect all errors, not just the first.
|
|
54
|
+
const result = schema.validate(state, { abortEarly: false });
|
|
55
|
+
if (result.error) {
|
|
56
|
+
return {
|
|
57
|
+
errors: result.error.details.map((detail) => ({
|
|
58
|
+
name: detail.path.map(String).join('.'),
|
|
59
|
+
message: detail.message
|
|
60
|
+
})),
|
|
61
|
+
value: null
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
errors: null,
|
|
66
|
+
value: (result.value ?? null)
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
// ==================== DISPATCH ====================
|
|
70
|
+
export function validateSchema(state, schema) {
|
|
71
|
+
// Joi is checked first, even though Joi 18+ also implements Standard Schema:
|
|
72
|
+
// Joi's Standard Schema impl defaults to `abortEarly: true` (stopping at the
|
|
73
|
+
// first error), whereas we want to surface ALL errors per field so the user
|
|
74
|
+
// can see every invalid field at once. The dedicated Joi adapter passes
|
|
75
|
+
// `{ abortEarly: false }` explicitly.
|
|
76
|
+
if (isJoiSchema(schema)) {
|
|
77
|
+
return validateJoiSchema(state, schema);
|
|
78
|
+
}
|
|
79
|
+
if (isStandardSchema(schema)) {
|
|
80
|
+
return validateStandardSchema(state, schema);
|
|
81
|
+
}
|
|
82
|
+
throw new Error('Form validation failed: Unsupported form schema');
|
|
83
|
+
}
|
|
84
|
+
// ==================== PATH UTILITIES (nested form support) ====================
|
|
85
|
+
export function getAtPath(data, path) {
|
|
86
|
+
if (!path)
|
|
87
|
+
return data;
|
|
88
|
+
return path.split('.').reduce((value, key) => {
|
|
89
|
+
if (value === null || value === undefined)
|
|
90
|
+
return undefined;
|
|
91
|
+
return value[key];
|
|
92
|
+
}, data);
|
|
93
|
+
}
|
|
94
|
+
export function setAtPath(data, path, value) {
|
|
95
|
+
if (!path) {
|
|
96
|
+
return Object.assign(data, value);
|
|
97
|
+
}
|
|
98
|
+
if (!data)
|
|
99
|
+
return data;
|
|
100
|
+
const keys = path.split('.');
|
|
101
|
+
let current = data;
|
|
102
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
103
|
+
const key = keys[i];
|
|
104
|
+
if (current[key] === undefined || current[key] === null) {
|
|
105
|
+
const nextKey = keys[i + 1];
|
|
106
|
+
current[key] = !Number.isNaN(Number(nextKey)) ? [] : {};
|
|
107
|
+
}
|
|
108
|
+
current = current[key];
|
|
109
|
+
}
|
|
110
|
+
const lastKey = keys[keys.length - 1];
|
|
111
|
+
current[lastKey] = value;
|
|
112
|
+
return data;
|
|
113
|
+
}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { FormFieldProps } from './form-field.types.js'
|
|
3
|
+
|
|
4
|
+
export type Props = FormFieldProps
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<script lang="ts">
|
|
8
|
+
import { Label, useId } from 'bits-ui'
|
|
9
|
+
import { setContext, untrack } from 'svelte'
|
|
10
|
+
import { getComponentConfig } from '../config.js'
|
|
11
|
+
import { getFormContext } from '../Form/form.context.svelte.js'
|
|
12
|
+
import { FORM_FIELD_CONTEXT_KEY, type FormFieldContext } from '../hooks/useFormField.svelte.js'
|
|
13
|
+
import { formFieldDefaults, formFieldVariants } from './form-field.variants.js'
|
|
14
|
+
|
|
15
|
+
const config = getComponentConfig('formField', formFieldDefaults)
|
|
16
|
+
|
|
17
|
+
let {
|
|
18
|
+
ref = $bindable(null),
|
|
19
|
+
ui,
|
|
20
|
+
name,
|
|
21
|
+
label,
|
|
22
|
+
description,
|
|
23
|
+
hint,
|
|
24
|
+
help,
|
|
25
|
+
error,
|
|
26
|
+
size = config.defaultVariants.size ?? 'md',
|
|
27
|
+
required = false,
|
|
28
|
+
orientation = config.defaultVariants.orientation ?? 'vertical',
|
|
29
|
+
eagerValidation,
|
|
30
|
+
validateOnInputDelay,
|
|
31
|
+
errorPattern,
|
|
32
|
+
class: className,
|
|
33
|
+
children,
|
|
34
|
+
labelSlot,
|
|
35
|
+
hintSlot,
|
|
36
|
+
descriptionSlot,
|
|
37
|
+
helpSlot,
|
|
38
|
+
errorSlot,
|
|
39
|
+
...restProps
|
|
40
|
+
}: Props = $props()
|
|
41
|
+
|
|
42
|
+
const id = useId()
|
|
43
|
+
const ariaId = $derived(name ? `form-field-${name}` : id)
|
|
44
|
+
|
|
45
|
+
// Form-level context (undefined when FormField is used standalone).
|
|
46
|
+
const formCtx = getFormContext()
|
|
47
|
+
|
|
48
|
+
// Resolve error: explicit `error` prop always wins; otherwise ask the Form for
|
|
49
|
+
// errors matching this field's name (or errorPattern regex, if provided).
|
|
50
|
+
const resolvedError = $derived.by<string | boolean | undefined>(() => {
|
|
51
|
+
if (error !== undefined) return error
|
|
52
|
+
if (!formCtx || !name) return undefined
|
|
53
|
+
const errs = errorPattern ? formCtx.getErrors(errorPattern) : formCtx.getErrors(name)
|
|
54
|
+
return errs[0]?.message
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
// Register this field with the form. Split into two effects:
|
|
58
|
+
//
|
|
59
|
+
// 1. Lifecycle effect — tracks only `name`. Handles the initial registration
|
|
60
|
+
// and cleanup on unmount / rename. Reads other entry fields via `untrack`
|
|
61
|
+
// so they don't retrigger the lifecycle.
|
|
62
|
+
// 2. Update effect — tracks ariaId / errorPattern / eagerValidation /
|
|
63
|
+
// validateOnInputDelay and rewrites the entry via `.set()`. No cleanup —
|
|
64
|
+
// a single atomic overwrite, so no window where the registry is empty.
|
|
65
|
+
//
|
|
66
|
+
// Without this split, changing an unrelated prop (e.g. errorPattern) would
|
|
67
|
+
// cause cleanup→re-register, briefly leaving `#fieldRegistry.get(name)`
|
|
68
|
+
// undefined for any concurrent `#resolveErrorIds` call.
|
|
69
|
+
$effect(() => {
|
|
70
|
+
if (!formCtx || !name) return
|
|
71
|
+
const registeredName = name
|
|
72
|
+
untrack(() => {
|
|
73
|
+
formCtx.registerField(registeredName, {
|
|
74
|
+
id: ariaId,
|
|
75
|
+
pattern: errorPattern,
|
|
76
|
+
eagerValidation,
|
|
77
|
+
validateOnInputDelay
|
|
78
|
+
})
|
|
79
|
+
})
|
|
80
|
+
return () => {
|
|
81
|
+
formCtx.unregisterField(registeredName)
|
|
82
|
+
}
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
$effect(() => {
|
|
86
|
+
if (!formCtx || !name) return
|
|
87
|
+
formCtx.registerField(name, {
|
|
88
|
+
id: ariaId,
|
|
89
|
+
pattern: errorPattern,
|
|
90
|
+
eagerValidation,
|
|
91
|
+
validateOnInputDelay
|
|
92
|
+
})
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
const variantSlots = $derived(formFieldVariants({ size, required, orientation }))
|
|
96
|
+
const classes = $derived({
|
|
97
|
+
root: variantSlots.root({ class: [config.slots.root, className, ui?.root] }),
|
|
98
|
+
wrapper: variantSlots.wrapper({ class: [config.slots.wrapper, ui?.wrapper] }),
|
|
99
|
+
labelWrapper: variantSlots.labelWrapper({
|
|
100
|
+
class: [config.slots.labelWrapper, ui?.labelWrapper]
|
|
101
|
+
}),
|
|
102
|
+
label: variantSlots.label({ class: [config.slots.label, ui?.label] }),
|
|
103
|
+
container: variantSlots.container({ class: [config.slots.container, ui?.container] }),
|
|
104
|
+
description: variantSlots.description({
|
|
105
|
+
class: [config.slots.description, ui?.description]
|
|
106
|
+
}),
|
|
107
|
+
error: variantSlots.error({ class: [config.slots.error, ui?.error] }),
|
|
108
|
+
hint: variantSlots.hint({ class: [config.slots.hint, ui?.hint] }),
|
|
109
|
+
help: variantSlots.help({ class: [config.slots.help, ui?.help] })
|
|
110
|
+
})
|
|
111
|
+
|
|
112
|
+
const hasError = $derived(resolvedError !== undefined && resolvedError !== false)
|
|
113
|
+
const errorMessage = $derived(typeof resolvedError === 'string' ? resolvedError : undefined)
|
|
114
|
+
|
|
115
|
+
setContext<FormFieldContext>(FORM_FIELD_CONTEXT_KEY, {
|
|
116
|
+
get name() {
|
|
117
|
+
return name
|
|
118
|
+
},
|
|
119
|
+
get size() {
|
|
120
|
+
return size
|
|
121
|
+
},
|
|
122
|
+
get error() {
|
|
123
|
+
return resolvedError
|
|
124
|
+
},
|
|
125
|
+
get ariaId() {
|
|
126
|
+
return ariaId
|
|
127
|
+
},
|
|
128
|
+
get eagerValidation() {
|
|
129
|
+
return eagerValidation
|
|
130
|
+
},
|
|
131
|
+
get validateOnInputDelay() {
|
|
132
|
+
return validateOnInputDelay
|
|
133
|
+
},
|
|
134
|
+
get errorPattern() {
|
|
135
|
+
return errorPattern
|
|
136
|
+
}
|
|
137
|
+
})
|
|
138
|
+
</script>
|
|
139
|
+
|
|
140
|
+
<div bind:this={ref} class={classes.root} {...restProps}>
|
|
141
|
+
<div class={classes.wrapper}>
|
|
142
|
+
{#if label || labelSlot || hint || hintSlot}
|
|
143
|
+
<div class={classes.labelWrapper}>
|
|
144
|
+
{#if labelSlot}
|
|
145
|
+
{@render labelSlot({ label })}
|
|
146
|
+
{:else if label}
|
|
147
|
+
<Label.Root for={ariaId} class={classes.label}>
|
|
148
|
+
{label}
|
|
149
|
+
</Label.Root>
|
|
150
|
+
{/if}
|
|
151
|
+
|
|
152
|
+
{#if hintSlot}
|
|
153
|
+
{@render hintSlot({ hint })}
|
|
154
|
+
{:else if hint}
|
|
155
|
+
<span class={classes.hint}>{hint}</span>
|
|
156
|
+
{/if}
|
|
157
|
+
</div>
|
|
158
|
+
{/if}
|
|
159
|
+
|
|
160
|
+
{#if descriptionSlot}
|
|
161
|
+
{@render descriptionSlot({ description })}
|
|
162
|
+
{:else if description}
|
|
163
|
+
<p id="{ariaId}-description" class={classes.description}>{description}</p>
|
|
164
|
+
{/if}
|
|
165
|
+
</div>
|
|
166
|
+
|
|
167
|
+
<div class={classes.container}>
|
|
168
|
+
{#if children}
|
|
169
|
+
{@render children({ error: resolvedError })}
|
|
170
|
+
{/if}
|
|
171
|
+
|
|
172
|
+
{#if hasError && (errorMessage || errorSlot)}
|
|
173
|
+
{#if errorSlot}
|
|
174
|
+
{@render errorSlot({ error: resolvedError })}
|
|
175
|
+
{:else if errorMessage}
|
|
176
|
+
<p id="{ariaId}-error" class={classes.error}>{errorMessage}</p>
|
|
177
|
+
{/if}
|
|
178
|
+
{:else if help || helpSlot}
|
|
179
|
+
{#if helpSlot}
|
|
180
|
+
{@render helpSlot({ help })}
|
|
181
|
+
{:else if help}
|
|
182
|
+
<p id="{ariaId}-help" class={classes.help}>{help}</p>
|
|
183
|
+
{/if}
|
|
184
|
+
{/if}
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import type { ClassNameValue } from 'tailwind-merge';
|
|
4
|
+
import type { FormFieldSlots, FormFieldVariantProps } from './form-field.variants.js';
|
|
5
|
+
export type FormFieldProps = Omit<HTMLAttributes<HTMLDivElement>, 'class'> & {
|
|
6
|
+
/**
|
|
7
|
+
* Bindable reference to the root DOM element.
|
|
8
|
+
*/
|
|
9
|
+
ref?: HTMLElement | null;
|
|
10
|
+
/**
|
|
11
|
+
* The name of the form field, used for matching form errors.
|
|
12
|
+
*/
|
|
13
|
+
name?: string;
|
|
14
|
+
/**
|
|
15
|
+
* The label text displayed above the form control.
|
|
16
|
+
*/
|
|
17
|
+
label?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Additional description text displayed below the label.
|
|
20
|
+
*/
|
|
21
|
+
description?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Hint text displayed next to the label (right side).
|
|
24
|
+
*/
|
|
25
|
+
hint?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Help text displayed below the form control.
|
|
28
|
+
*/
|
|
29
|
+
help?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Error message to display. When set, replaces the help text.
|
|
32
|
+
* Can be a string (error message) or boolean (error state without message).
|
|
33
|
+
*/
|
|
34
|
+
error?: string | boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Controls the size of the form field labels and text.
|
|
37
|
+
* @default 'md'
|
|
38
|
+
*/
|
|
39
|
+
size?: NonNullable<FormFieldVariantProps['size']>;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the field is required. Adds an asterisk indicator to the label.
|
|
42
|
+
* @default false
|
|
43
|
+
*/
|
|
44
|
+
required?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Controls the layout direction.
|
|
47
|
+
* @default 'vertical'
|
|
48
|
+
*/
|
|
49
|
+
orientation?: NonNullable<FormFieldVariantProps['orientation']>;
|
|
50
|
+
/**
|
|
51
|
+
* When `true`, input events validate this field before first blur.
|
|
52
|
+
* By default, `input`-triggered validation only runs after the field has
|
|
53
|
+
* been blurred at least once.
|
|
54
|
+
*/
|
|
55
|
+
eagerValidation?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Per-field override for the form's `validateOnInputDelay` (debounce in ms).
|
|
58
|
+
*/
|
|
59
|
+
validateOnInputDelay?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Regex pattern to match form errors for this field (in addition to exact name match).
|
|
62
|
+
* Useful for array-style fields like `items.0.name`, `items.1.name`, etc.
|
|
63
|
+
*/
|
|
64
|
+
errorPattern?: RegExp;
|
|
65
|
+
/**
|
|
66
|
+
* Additional CSS classes for the root element.
|
|
67
|
+
*/
|
|
68
|
+
class?: ClassNameValue;
|
|
69
|
+
/**
|
|
70
|
+
* Override styles for specific form field slots.
|
|
71
|
+
*/
|
|
72
|
+
ui?: Partial<Record<FormFieldSlots, ClassNameValue>>;
|
|
73
|
+
/**
|
|
74
|
+
* The default slot content (form control).
|
|
75
|
+
*/
|
|
76
|
+
children?: Snippet<[{
|
|
77
|
+
error?: string | boolean;
|
|
78
|
+
}]>;
|
|
79
|
+
/**
|
|
80
|
+
* Custom label slot.
|
|
81
|
+
*/
|
|
82
|
+
labelSlot?: Snippet<[{
|
|
83
|
+
label?: string;
|
|
84
|
+
}]>;
|
|
85
|
+
/**
|
|
86
|
+
* Custom hint slot.
|
|
87
|
+
*/
|
|
88
|
+
hintSlot?: Snippet<[{
|
|
89
|
+
hint?: string;
|
|
90
|
+
}]>;
|
|
91
|
+
/**
|
|
92
|
+
* Custom description slot.
|
|
93
|
+
*/
|
|
94
|
+
descriptionSlot?: Snippet<[{
|
|
95
|
+
description?: string;
|
|
96
|
+
}]>;
|
|
97
|
+
/**
|
|
98
|
+
* Custom help slot.
|
|
99
|
+
*/
|
|
100
|
+
helpSlot?: Snippet<[{
|
|
101
|
+
help?: string;
|
|
102
|
+
}]>;
|
|
103
|
+
/**
|
|
104
|
+
* Custom error slot.
|
|
105
|
+
*/
|
|
106
|
+
errorSlot?: Snippet<[{
|
|
107
|
+
error?: string | boolean;
|
|
108
|
+
}]>;
|
|
109
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|