@indielayer/ui 1.3.0 → 1.4.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 +1 -1
- package/README.md +4 -4
- package/docs/App.vue +25 -0
- package/docs/assets/css/hljs.css +302 -0
- package/docs/assets/css/tailwind.css +46 -0
- package/docs/assets/images/error.svg +1 -0
- package/docs/assets/images/logo.png +0 -0
- package/docs/assets/images/logo_mini.svg +10 -0
- package/docs/assets/images/logo_white.png +0 -0
- package/docs/assets/images/logo_word.svg +12 -0
- package/docs/assets/images/logo_word_dark.svg +12 -0
- package/docs/assets/images/photo1.jpeg +0 -0
- package/docs/assets/images/photo2.jpeg +0 -0
- package/docs/components/Cookies.vue +42 -0
- package/docs/components/common/CodePreview.vue +80 -0
- package/docs/components/common/CodeSnippet.vue +49 -0
- package/docs/components/common/CopyButton.vue +50 -0
- package/docs/components/common/DocumentPage.vue +289 -0
- package/docs/components/common/Indielayer-theme.json +702 -0
- package/docs/components/common/MultiSnippet.vue +26 -0
- package/docs/components/menu/DocsMenu.vue +143 -0
- package/docs/components/toolbar/PreToolbar.vue +18 -0
- package/docs/components/toolbar/Toolbar.vue +63 -0
- package/docs/components/toolbar/ToolbarColorToggle.vue +49 -0
- package/docs/icons.ts +61 -0
- package/docs/layouts/default.vue +29 -0
- package/docs/layouts/simple.vue +3 -0
- package/docs/main.ts +33 -0
- package/docs/pages/colors.vue +125 -0
- package/docs/pages/component/accordion/index.vue +29 -0
- package/docs/pages/component/accordion/usage.vue +30 -0
- package/docs/pages/component/alert/index.vue +29 -0
- package/docs/pages/component/alert/usage.vue +18 -0
- package/docs/pages/component/avatar/index.vue +43 -0
- package/docs/pages/component/avatar/size.vue +9 -0
- package/docs/pages/component/avatar/usage.vue +9 -0
- package/docs/pages/component/avatar/variants.vue +8 -0
- package/docs/pages/component/badge/index.vue +29 -0
- package/docs/pages/component/badge/usage.vue +50 -0
- package/docs/pages/component/breadcrumbs/index.vue +29 -0
- package/docs/pages/component/breadcrumbs/usage.vue +19 -0
- package/docs/pages/component/button/button-group.vue +18 -0
- package/docs/pages/component/button/icons.vue +9 -0
- package/docs/pages/component/button/index.vue +64 -0
- package/docs/pages/component/button/size.vue +9 -0
- package/docs/pages/component/button/states.vue +6 -0
- package/docs/pages/component/button/usage.vue +12 -0
- package/docs/pages/component/button/variants.vue +7 -0
- package/docs/pages/component/card/index.vue +29 -0
- package/docs/pages/component/card/usage.vue +6 -0
- package/docs/pages/component/carousel/index.vue +29 -0
- package/docs/pages/component/carousel/usage.vue +10 -0
- package/docs/pages/component/checkbox/index.vue +50 -0
- package/docs/pages/component/checkbox/size.vue +9 -0
- package/docs/pages/component/checkbox/states.vue +9 -0
- package/docs/pages/component/checkbox/usage.vue +15 -0
- package/docs/pages/component/checkbox/variants.vue +8 -0
- package/docs/pages/component/container/index.vue +29 -0
- package/docs/pages/component/container/usage.vue +3 -0
- package/docs/pages/component/divider/index.vue +43 -0
- package/docs/pages/component/divider/label.vue +12 -0
- package/docs/pages/component/divider/usage.vue +7 -0
- package/docs/pages/component/divider/vertical.vue +7 -0
- package/docs/pages/component/drawer/index.vue +29 -0
- package/docs/pages/component/drawer/usage.vue +56 -0
- package/docs/pages/component/form/index.vue +29 -0
- package/docs/pages/component/form/usage.vue +96 -0
- package/docs/pages/component/formGroup/index.vue +29 -0
- package/docs/pages/component/formGroup/usage.vue +46 -0
- package/docs/pages/component/icon/index.vue +36 -0
- package/docs/pages/component/icon/usage.vue +6 -0
- package/docs/pages/component/icon/variants.vue +14 -0
- package/docs/pages/component/image/index.vue +29 -0
- package/docs/pages/component/image/usage.vue +8 -0
- package/docs/pages/component/input/index.vue +50 -0
- package/docs/pages/component/input/size.vue +13 -0
- package/docs/pages/component/input/states.vue +12 -0
- package/docs/pages/component/input/usage.vue +15 -0
- package/docs/pages/component/input/variants.vue +18 -0
- package/docs/pages/component/link/index.vue +29 -0
- package/docs/pages/component/link/usage.vue +12 -0
- package/docs/pages/component/loader/index.vue +29 -0
- package/docs/pages/component/loader/usage.vue +7 -0
- package/docs/pages/component/menu/index.vue +29 -0
- package/docs/pages/component/menu/usage.vue +69 -0
- package/docs/pages/component/modal/composed.vue +70 -0
- package/docs/pages/component/modal/index.vue +36 -0
- package/docs/pages/component/modal/usage.vue +61 -0
- package/docs/pages/component/notifications/index.vue +29 -0
- package/docs/pages/component/notifications/usage.vue +56 -0
- package/docs/pages/component/pagination/index.vue +29 -0
- package/docs/pages/component/pagination/usage.vue +17 -0
- package/docs/pages/component/popover/index.vue +29 -0
- package/docs/pages/component/popover/usage.vue +21 -0
- package/docs/pages/component/progress/index.vue +36 -0
- package/docs/pages/component/progress/usage.vue +7 -0
- package/docs/pages/component/progress/variants.vue +18 -0
- package/docs/pages/component/radio/index.vue +50 -0
- package/docs/pages/component/radio/size.vue +15 -0
- package/docs/pages/component/radio/states.vue +13 -0
- package/docs/pages/component/radio/usage.vue +14 -0
- package/docs/pages/component/radio/variants.vue +39 -0
- package/docs/pages/component/scroll/horizontal.vue +14 -0
- package/docs/pages/component/scroll/index.vue +36 -0
- package/docs/pages/component/scroll/usage.vue +5 -0
- package/docs/pages/component/select/index.vue +43 -0
- package/docs/pages/component/select/states.vue +22 -0
- package/docs/pages/component/select/usage.vue +45 -0
- package/docs/pages/component/select/variants.vue +23 -0
- package/docs/pages/component/skeleton/index.vue +29 -0
- package/docs/pages/component/skeleton/usage.vue +10 -0
- package/docs/pages/component/slider/index.vue +29 -0
- package/docs/pages/component/slider/usage.vue +15 -0
- package/docs/pages/component/spacer/index.vue +29 -0
- package/docs/pages/component/spacer/usage.vue +8 -0
- package/docs/pages/component/spinner/index.vue +36 -0
- package/docs/pages/component/spinner/usage.vue +3 -0
- package/docs/pages/component/spinner/variants.vue +9 -0
- package/docs/pages/component/stepper/index.vue +29 -0
- package/docs/pages/component/stepper/usage.vue +21 -0
- package/docs/pages/component/table/index.vue +36 -0
- package/docs/pages/component/table/states.vue +28 -0
- package/docs/pages/component/table/usage.vue +107 -0
- package/docs/pages/component/tabs/index.vue +29 -0
- package/docs/pages/component/tabs/usage.vue +137 -0
- package/docs/pages/component/tag/index.vue +29 -0
- package/docs/pages/component/tag/usage.vue +27 -0
- package/docs/pages/component/textarea/index.vue +43 -0
- package/docs/pages/component/textarea/states.vue +13 -0
- package/docs/pages/component/textarea/usage.vue +22 -0
- package/docs/pages/component/textarea/variants.vue +15 -0
- package/docs/pages/component/toggle/index.vue +43 -0
- package/docs/pages/component/toggle/states.vue +13 -0
- package/docs/pages/component/toggle/usage.vue +14 -0
- package/docs/pages/component/toggle/variants.vue +15 -0
- package/docs/pages/component/tooltip/index.vue +29 -0
- package/docs/pages/component/tooltip/usage.vue +16 -0
- package/docs/pages/error.vue +6 -0
- package/docs/pages/icons.vue +105 -0
- package/docs/pages/index.vue +157 -0
- package/docs/pages/play.vue +19 -0
- package/docs/pages/typography.vue +95 -0
- package/docs/router/index.ts +75 -0
- package/exports/tailwind.preset.js +1 -0
- package/lib/common/icons.d.ts +4 -1
- package/lib/common/icons.js +14 -11
- package/lib/components/accordion/Accordion.vue.d.ts +63 -0
- package/lib/components/accordion/Accordion.vue.js +40 -0
- package/lib/components/accordion/Accordion.vue2.js +4 -0
- package/lib/components/{collapse/Collapse.vue.d.ts → accordion/AccordionItem.vue.d.ts} +33 -18
- package/lib/components/accordion/AccordionItem.vue.js +140 -0
- package/lib/components/accordion/AccordionItem.vue2.js +4 -0
- package/lib/components/accordion/index.d.ts +4 -0
- package/lib/components/accordion/theme/Accordion.base.theme.d.ts +3 -0
- package/lib/components/accordion/theme/Accordion.base.theme.js +8 -0
- package/lib/components/accordion/theme/Accordion.carbon.theme.d.ts +3 -0
- package/lib/components/accordion/theme/Accordion.carbon.theme.js +5 -0
- package/lib/components/accordion/theme/AccordionItem.base.theme.d.ts +3 -0
- package/lib/components/accordion/theme/AccordionItem.base.theme.js +16 -0
- package/lib/components/accordion/theme/AccordionItem.carbon.theme.d.ts +3 -0
- package/lib/components/accordion/theme/AccordionItem.carbon.theme.js +5 -0
- package/lib/components/alert/theme/Alert.carbon.theme.js +39 -3
- package/lib/components/avatar/Avatar.vue.d.ts +2 -2
- package/lib/components/badge/Badge.vue.d.ts +2 -2
- package/lib/components/button/Button.vue.d.ts +3 -3
- package/lib/components/button/ButtonGroup.vue.d.ts +3 -3
- package/lib/components/button/theme/Button.carbon.theme.js +1 -1
- package/lib/components/carousel/CarouselSlide.vue.d.ts +19 -8
- package/lib/components/carousel/CarouselSlide.vue.js +2 -2
- package/lib/components/carousel/CarouselSlide.vue2.js +25 -18
- package/lib/components/checkbox/Checkbox.vue.d.ts +22 -10
- package/lib/components/checkbox/Checkbox.vue2.js +106 -72
- package/lib/components/checkbox/theme/Checkbox.base.theme.js +38 -31
- package/lib/components/checkbox/theme/Checkbox.carbon.theme.js +38 -31
- package/lib/components/container/Container.vue.d.ts +13 -0
- package/lib/components/container/Container.vue.js +15 -11
- package/lib/components/container/theme/Container.base.theme.js +7 -4
- package/lib/components/drawer/Drawer.vue.d.ts +4 -4
- package/lib/components/form/Form.vue.d.ts +25 -2
- package/lib/components/form/Form.vue.js +67 -36
- package/lib/components/form/theme/Form.base.theme.js +8 -4
- package/lib/components/form/theme/Form.carbon.theme.js +10 -3
- package/lib/components/formGroup/FormGroup.vue.d.ts +132 -0
- package/lib/components/formGroup/FormGroup.vue.js +82 -0
- package/lib/components/formGroup/FormGroup.vue2.js +4 -0
- package/lib/components/formGroup/__tests__/FormGroup.spec.d.ts +1 -0
- package/lib/components/formGroup/index.d.ts +2 -0
- package/lib/components/formGroup/theme/FormGroup.base.theme.d.ts +3 -0
- package/lib/components/formGroup/theme/FormGroup.base.theme.js +11 -0
- package/lib/components/formGroup/theme/FormGroup.carbon.theme.d.ts +3 -0
- package/lib/components/formGroup/theme/FormGroup.carbon.theme.js +11 -0
- package/lib/components/icon/theme/Icon.base.theme.js +1 -1
- package/lib/components/icon/theme/Icon.carbon.theme.js +4 -4
- package/lib/components/index.d.ts +3 -1
- package/lib/components/index.js +106 -100
- package/lib/components/input/Input.vue.d.ts +12 -9
- package/lib/components/input/Input.vue.js +39 -39
- package/lib/components/input/theme/Input.carbon.theme.js +1 -1
- package/lib/components/inputFooter/theme/InputFooter.base.theme.js +1 -1
- package/lib/components/inputFooter/theme/InputFooter.carbon.theme.js +1 -1
- package/lib/components/label/Label.vue.d.ts +3 -3
- package/lib/components/label/theme/Label.carbon.theme.js +7 -6
- package/lib/components/link/Link.vue.d.ts +1 -1
- package/lib/components/link/Link.vue.js +2 -2
- package/lib/components/link/Link.vue2.js +1 -1
- package/lib/components/link/theme/Link.base.theme.js +4 -4
- package/lib/components/link/theme/Link.carbon.theme.js +23 -3
- package/lib/components/loader/theme/Loader.carbon.theme.js +1 -1
- package/lib/components/menu/Menu.vue.d.ts +6 -5
- package/lib/components/menu/Menu.vue.js +43 -40
- package/lib/components/menu/MenuItem.vue.d.ts +4 -4
- package/lib/components/menu/MenuItem.vue.js +2 -2
- package/lib/components/menu/MenuItem.vue2.js +1 -1
- package/lib/components/menu/theme/MenuItem.base.theme.js +3 -3
- package/lib/components/modal/Modal.vue.d.ts +98 -3
- package/lib/components/modal/Modal.vue.js +153 -100
- package/lib/components/modal/theme/Modal.base.theme.js +15 -9
- package/lib/components/modal/theme/Modal.carbon.theme.js +27 -3
- package/lib/components/notifications/Notifications.vue.js +56 -53
- package/lib/components/notifications/theme/Notifications.base.theme.js +1 -1
- package/lib/components/notifications/theme/Notifications.carbon.theme.js +8 -3
- package/lib/components/popover/Popover.vue.d.ts +3 -3
- package/lib/components/radio/Radio.vue.d.ts +17 -12
- package/lib/components/radio/Radio.vue2.js +81 -66
- package/lib/components/radio/theme/Radio.base.theme.js +19 -16
- package/lib/components/radio/theme/Radio.carbon.theme.js +32 -29
- package/lib/components/select/Select.vue.d.ts +13 -10
- package/lib/components/select/Select.vue.js +115 -116
- package/lib/components/select/theme/Select.base.theme.js +10 -10
- package/lib/components/select/theme/Select.carbon.theme.js +5 -5
- package/lib/components/skeleton/Skeleton.vue.d.ts +19 -1
- package/lib/components/skeleton/Skeleton.vue.js +25 -15
- package/lib/components/skeleton/theme/Skeleton.base.theme.js +7 -4
- package/lib/components/slider/Slider.vue.d.ts +12 -6
- package/lib/components/slider/Slider.vue.js +3 -4
- package/lib/components/slider/theme/Slider.carbon.theme.js +4 -4
- package/lib/components/spinner/Spinner.vue.d.ts +1 -1
- package/lib/components/spinner/Spinner.vue.js +16 -17
- package/lib/components/stepper/Stepper.vue.d.ts +137 -0
- package/lib/components/stepper/Stepper.vue.js +128 -0
- package/lib/components/stepper/Stepper.vue2.js +4 -0
- package/lib/components/stepper/__tests__/Stepper.spec.d.ts +1 -0
- package/lib/components/stepper/index.d.ts +2 -0
- package/lib/components/stepper/theme/Stepper.base.theme.d.ts +3 -0
- package/lib/components/stepper/theme/Stepper.base.theme.js +20 -0
- package/lib/components/stepper/theme/Stepper.carbon.theme.d.ts +3 -0
- package/lib/components/{collapse/theme/Collapse.carbon.theme.js → stepper/theme/Stepper.carbon.theme.js} +1 -1
- package/lib/components/tab/Tab.vue.d.ts +11 -5
- package/lib/components/tab/Tab.vue.js +65 -50
- package/lib/components/tab/TabGroup.vue.d.ts +1 -1
- package/lib/components/tab/TabGroup.vue.js +5 -5
- package/lib/components/tab/theme/Tab.base.theme.js +2 -1
- package/lib/components/tab/theme/Tab.carbon.theme.js +6 -5
- package/lib/components/tab/theme/TabGroup.carbon.theme.js +28 -2
- package/lib/components/table/Table.vue.d.ts +115 -9
- package/lib/components/table/Table.vue.js +209 -98
- package/lib/components/table/TableCell.vue.d.ts +4 -5
- package/lib/components/table/TableCell.vue.js +21 -22
- package/lib/components/table/TableHead.vue.d.ts +16 -0
- package/lib/components/table/TableHead.vue.js +21 -0
- package/lib/components/table/TableHead.vue2.js +4 -0
- package/lib/components/table/TableHeader.vue.d.ts +4 -0
- package/lib/components/table/TableHeader.vue.js +45 -54
- package/lib/components/table/TableRow.vue.d.ts +15 -1
- package/lib/components/table/TableRow.vue.js +21 -25
- package/lib/components/table/index.d.ts +4 -2
- package/lib/components/table/theme/Table.base.theme.js +7 -6
- package/lib/components/table/theme/Table.carbon.theme.js +11 -3
- package/lib/components/table/theme/TableCell.base.theme.js +3 -3
- package/lib/components/table/theme/TableCell.carbon.theme.js +9 -3
- package/lib/components/table/theme/TableHead.base.theme.d.ts +3 -0
- package/lib/components/table/theme/TableHead.base.theme.js +9 -0
- package/lib/components/table/theme/TableHead.carbon.theme.d.ts +3 -0
- package/lib/components/table/theme/TableHead.carbon.theme.js +9 -0
- package/lib/components/table/theme/TableHeader.base.theme.d.ts +3 -0
- package/lib/components/table/theme/TableHeader.base.theme.js +12 -0
- package/lib/components/table/theme/TableHeader.carbon.theme.d.ts +3 -0
- package/lib/components/table/theme/TableHeader.carbon.theme.js +12 -0
- package/lib/components/table/theme/TableRow.base.theme.d.ts +3 -0
- package/lib/components/table/theme/TableRow.base.theme.js +11 -0
- package/lib/components/table/theme/TableRow.carbon.theme.d.ts +3 -0
- package/lib/components/table/theme/TableRow.carbon.theme.js +11 -0
- package/lib/components/tag/Tag.vue.d.ts +3 -3
- package/lib/components/tag/Tag.vue.js +17 -17
- package/lib/components/tag/theme/Tag.base.theme.js +14 -13
- package/lib/components/tag/theme/Tag.carbon.theme.js +14 -14
- package/lib/components/textarea/Textarea.vue.d.ts +11 -8
- package/lib/components/textarea/Textarea.vue.js +34 -34
- package/lib/components/textarea/theme/Textarea.carbon.theme.js +1 -1
- package/lib/components/toggle/Toggle.vue.d.ts +12 -12
- package/lib/components/toggle/Toggle.vue.js +37 -39
- package/lib/composables/keys.d.ts +5 -1
- package/lib/composables/keys.js +8 -6
- package/lib/composables/useFocusTrap.d.ts +6 -0
- package/lib/composables/useFocusTrap.js +45 -0
- package/lib/composables/useInputtable.d.ts +6 -0
- package/lib/composables/useInputtable.js +59 -42
- package/lib/index.js +137 -129
- package/lib/index.umd.js +3 -3
- package/lib/nuxt.mjs +33 -0
- package/lib/nuxt.plugin.js +8 -0
- package/lib/tailwind.preset.js +41 -0
- package/lib/theme.d.ts +8 -2
- package/lib/themes/base/components.d.ts +7 -1
- package/lib/themes/base/components.js +98 -86
- package/lib/themes/carbon/components.d.ts +7 -1
- package/lib/themes/carbon/components.js +98 -86
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +7 -2
- package/src/common/icons.ts +4 -1
- package/src/components/accordion/Accordion.vue +55 -0
- package/src/components/{collapse/Collapse.vue → accordion/AccordionItem.vue} +51 -32
- package/src/components/accordion/__tests__/Accordion.spec.ts +11 -0
- package/src/components/accordion/index.ts +4 -0
- package/src/components/accordion/theme/Accordion.base.theme.ts +9 -0
- package/src/components/accordion/theme/Accordion.carbon.theme.ts +7 -0
- package/src/components/accordion/theme/AccordionItem.base.theme.ts +38 -0
- package/src/components/accordion/theme/AccordionItem.carbon.theme.ts +7 -0
- package/src/components/alert/theme/Alert.carbon.theme.ts +54 -2
- package/src/components/button/theme/Button.carbon.theme.ts +1 -1
- package/src/components/carousel/CarouselSlide.vue +9 -4
- package/src/components/checkbox/Checkbox.vue +69 -20
- package/src/components/checkbox/theme/Checkbox.base.theme.ts +15 -1
- package/src/components/checkbox/theme/Checkbox.carbon.theme.ts +17 -3
- package/src/components/container/Container.vue +4 -0
- package/src/components/container/theme/Container.base.theme.ts +7 -1
- package/src/components/form/Form.vue +26 -5
- package/src/components/form/theme/Form.base.theme.ts +9 -1
- package/src/components/form/theme/Form.carbon.theme.ts +12 -2
- package/src/components/formGroup/FormGroup.vue +116 -0
- package/src/components/formGroup/__tests__/FormGroup.spec.ts +11 -0
- package/src/components/formGroup/index.ts +2 -0
- package/src/components/formGroup/theme/FormGroup.base.theme.ts +16 -0
- package/src/components/formGroup/theme/FormGroup.carbon.theme.ts +16 -0
- package/src/components/icon/theme/Icon.base.theme.ts +1 -1
- package/src/components/icon/theme/Icon.carbon.theme.ts +3 -4
- package/src/components/index.ts +3 -1
- package/src/components/input/Input.vue +3 -3
- package/src/components/input/theme/Input.carbon.theme.ts +1 -1
- package/src/components/inputFooter/theme/InputFooter.base.theme.ts +1 -1
- package/src/components/inputFooter/theme/InputFooter.carbon.theme.ts +1 -1
- package/src/components/label/theme/Label.carbon.theme.ts +8 -3
- package/src/components/link/Link.vue +1 -1
- package/src/components/link/theme/Link.carbon.theme.ts +23 -2
- package/src/components/loader/theme/Loader.carbon.theme.ts +1 -1
- package/src/components/menu/Menu.vue +8 -5
- package/src/components/menu/MenuItem.vue +1 -1
- package/src/components/menu/theme/MenuItem.base.theme.ts +3 -3
- package/src/components/modal/Modal.vue +110 -50
- package/src/components/modal/theme/Modal.base.theme.ts +28 -12
- package/src/components/modal/theme/Modal.carbon.theme.ts +55 -2
- package/src/components/notifications/Notifications.vue +5 -5
- package/src/components/notifications/theme/Notifications.base.theme.ts +1 -1
- package/src/components/notifications/theme/Notifications.carbon.theme.ts +12 -2
- package/src/components/radio/Radio.vue +39 -15
- package/src/components/radio/theme/Radio.base.theme.ts +7 -1
- package/src/components/radio/theme/Radio.carbon.theme.ts +13 -7
- package/src/components/select/Select.vue +10 -11
- package/src/components/select/theme/Select.base.theme.ts +1 -1
- package/src/components/select/theme/Select.carbon.theme.ts +2 -2
- package/src/components/skeleton/Skeleton.vue +18 -2
- package/src/components/skeleton/theme/Skeleton.base.theme.ts +8 -1
- package/src/components/slider/Slider.vue +1 -2
- package/src/components/slider/theme/Slider.carbon.theme.ts +1 -1
- package/src/components/spinner/Spinner.vue +2 -2
- package/src/components/stepper/Stepper.vue +153 -0
- package/src/components/{collapse/__tests__/Collapse.spec.ts → stepper/__tests__/Stepper.spec.ts} +3 -3
- package/src/components/stepper/index.ts +6 -0
- package/src/components/stepper/theme/Stepper.base.theme.ts +45 -0
- package/src/components/stepper/theme/Stepper.carbon.theme.ts +7 -0
- package/src/components/tab/Tab.vue +20 -6
- package/src/components/tab/TabGroup.vue +2 -2
- package/src/components/tab/theme/Tab.base.theme.ts +2 -0
- package/src/components/tab/theme/Tab.carbon.theme.ts +4 -2
- package/src/components/tab/theme/TabGroup.carbon.theme.ts +50 -2
- package/src/components/table/Table.vue +123 -27
- package/src/components/table/TableCell.vue +5 -6
- package/src/components/table/TableHead.vue +25 -0
- package/src/components/table/TableHeader.vue +35 -56
- package/src/components/table/TableRow.vue +19 -17
- package/src/components/table/index.ts +4 -2
- package/src/components/table/theme/Table.base.theme.ts +9 -7
- package/src/components/table/theme/Table.carbon.theme.ts +18 -2
- package/src/components/table/theme/TableCell.base.theme.ts +1 -1
- package/src/components/table/theme/TableCell.carbon.theme.ts +24 -2
- package/src/components/table/theme/TableHead.base.theme.ts +10 -0
- package/src/components/table/theme/TableHead.carbon.theme.ts +10 -0
- package/src/components/table/theme/TableHeader.base.theme.ts +28 -0
- package/src/components/table/theme/TableHeader.carbon.theme.ts +28 -0
- package/src/components/table/theme/TableRow.base.theme.ts +21 -0
- package/src/components/table/theme/TableRow.carbon.theme.ts +21 -0
- package/src/components/tag/Tag.vue +4 -4
- package/src/components/tag/theme/Tag.base.theme.ts +4 -4
- package/src/components/tag/theme/Tag.carbon.theme.ts +5 -6
- package/src/components/textarea/Textarea.vue +3 -3
- package/src/components/textarea/theme/Textarea.carbon.theme.ts +1 -1
- package/src/components/toggle/Toggle.vue +2 -4
- package/src/composables/keys.ts +5 -1
- package/src/composables/useFocusTrap.ts +106 -0
- package/src/composables/useInputtable.ts +31 -3
- package/src/theme.ts +14 -2
- package/src/themes/base/components.ts +7 -1
- package/src/themes/carbon/components.ts +7 -1
- package/src/version.ts +1 -1
- package/volar.d.ts +5 -1
- package/lib/components/collapse/Collapse.vue.js +0 -131
- package/lib/components/collapse/Collapse.vue2.js +0 -4
- package/lib/components/collapse/index.d.ts +0 -2
- package/lib/components/collapse/theme/Collapse.base.theme.d.ts +0 -3
- package/lib/components/collapse/theme/Collapse.base.theme.js +0 -10
- package/lib/components/collapse/theme/Collapse.carbon.theme.d.ts +0 -3
- package/lib/components/table/TableHead.d.ts +0 -2
- package/lib/components/table/TableHead.js +0 -19
- package/src/components/collapse/index.ts +0 -2
- package/src/components/collapse/theme/Collapse.base.theme.ts +0 -13
- package/src/components/collapse/theme/Collapse.carbon.theme.ts +0 -7
- package/src/components/table/TableHead.tsx +0 -14
- /package/lib/components/{collapse/__tests__/Collapse.spec.d.ts → accordion/__tests__/Accordion.spec.d.ts} +0 -0
|
@@ -3,7 +3,7 @@ const t = {
|
|
|
3
3
|
wrapper: "",
|
|
4
4
|
input: ({ props: r, data: a }) => {
|
|
5
5
|
const e = ["resize-none appearance-none block w-full placeholder-gray-400 dark:placeholder-gray-500 outline-transparent outline outline-2 outline-offset-[-1px] transition duration-150 ease-in-out border-gray-300 dark:border-gray-700 border-b text-sm px-4"];
|
|
6
|
-
return !a.errorInternal && !r.disabled && e.push("hover:border-gray-400 dark:hover:border-gray-500"), r.size === "xs" || r.size === "sm" ? e.push("py-1.5") : r.size === "lg" || r.size === "xl" ? e.push("py-3.5") : e.push("py-2.5"), r.disabled ? e.push("bg-gray-100 dark:bg-gray-900 text-gray-300 cursor-not-allowed") : r.readonly ? e.push("bg-white dark:bg-gray-900 text-gray-700") : e.push("bg-gray-
|
|
6
|
+
return !a.errorInternal && !r.disabled && e.push("hover:border-gray-400 dark:hover:border-gray-500"), r.size === "xs" || r.size === "sm" ? e.push("py-1.5") : r.size === "lg" || r.size === "xl" ? e.push("py-3.5") : e.push("py-2.5"), r.disabled ? e.push("bg-gray-100 dark:bg-gray-900 text-gray-300 cursor-not-allowed") : r.readonly ? e.push("bg-white dark:bg-gray-900 text-gray-700") : e.push("bg-gray-50 dark:bg-gray-800 text-gray-700 dark:text-gray-200"), e;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
}, s = t;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { type ExtractPublicPropTypes } from 'vue';
|
|
2
2
|
import { type ThemeComponent } from '../../composables/useTheme';
|
|
3
3
|
declare const toggleProps: {
|
|
4
|
-
id: StringConstructor;
|
|
5
|
-
label: StringConstructor;
|
|
6
|
-
helper: StringConstructor;
|
|
7
4
|
glow: BooleanConstructor;
|
|
8
5
|
modelValue: import("vue").PropType<string | number | boolean | object | any[] | undefined>;
|
|
6
|
+
id: StringConstructor;
|
|
9
7
|
name: StringConstructor;
|
|
10
8
|
readonly: BooleanConstructor;
|
|
11
9
|
required: BooleanConstructor;
|
|
@@ -13,6 +11,8 @@ declare const toggleProps: {
|
|
|
13
11
|
readonly type: BooleanConstructor;
|
|
14
12
|
readonly default: true;
|
|
15
13
|
};
|
|
14
|
+
label: StringConstructor;
|
|
15
|
+
helper: StringConstructor;
|
|
16
16
|
error: StringConstructor;
|
|
17
17
|
hideFooter: BooleanConstructor;
|
|
18
18
|
rules: {
|
|
@@ -41,11 +41,9 @@ type InternalClasses = 'wrapper' | 'label' | 'buttonWrapper' | 'button';
|
|
|
41
41
|
export interface ToggleTheme extends ThemeComponent<ToggleProps, InternalClasses> {
|
|
42
42
|
}
|
|
43
43
|
declare const _default: import("vue").DefineComponent<{
|
|
44
|
-
id: StringConstructor;
|
|
45
|
-
label: StringConstructor;
|
|
46
|
-
helper: StringConstructor;
|
|
47
44
|
glow: BooleanConstructor;
|
|
48
45
|
modelValue: import("vue").PropType<string | number | boolean | object | any[] | undefined>;
|
|
46
|
+
id: StringConstructor;
|
|
49
47
|
name: StringConstructor;
|
|
50
48
|
readonly: BooleanConstructor;
|
|
51
49
|
required: BooleanConstructor;
|
|
@@ -53,6 +51,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
53
51
|
readonly type: BooleanConstructor;
|
|
54
52
|
readonly default: true;
|
|
55
53
|
};
|
|
54
|
+
label: StringConstructor;
|
|
55
|
+
helper: StringConstructor;
|
|
56
56
|
error: StringConstructor;
|
|
57
57
|
hideFooter: BooleanConstructor;
|
|
58
58
|
rules: {
|
|
@@ -82,11 +82,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
82
82
|
validate: (val?: any) => boolean;
|
|
83
83
|
setError: (val: string) => void;
|
|
84
84
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
85
|
-
id: StringConstructor;
|
|
86
|
-
label: StringConstructor;
|
|
87
|
-
helper: StringConstructor;
|
|
88
85
|
glow: BooleanConstructor;
|
|
89
86
|
modelValue: import("vue").PropType<string | number | boolean | object | any[] | undefined>;
|
|
87
|
+
id: StringConstructor;
|
|
90
88
|
name: StringConstructor;
|
|
91
89
|
readonly: BooleanConstructor;
|
|
92
90
|
required: BooleanConstructor;
|
|
@@ -94,6 +92,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
94
92
|
readonly type: BooleanConstructor;
|
|
95
93
|
readonly default: true;
|
|
96
94
|
};
|
|
95
|
+
label: StringConstructor;
|
|
96
|
+
helper: StringConstructor;
|
|
97
97
|
error: StringConstructor;
|
|
98
98
|
hideFooter: BooleanConstructor;
|
|
99
99
|
rules: {
|
|
@@ -119,14 +119,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
119
119
|
}>> & {
|
|
120
120
|
[x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
|
|
121
121
|
}, {
|
|
122
|
-
|
|
123
|
-
required: boolean;
|
|
122
|
+
disabled: boolean;
|
|
124
123
|
glow: boolean;
|
|
125
124
|
color: string;
|
|
126
|
-
|
|
125
|
+
size: import("../../composables/useCommon").Size;
|
|
127
126
|
loading: boolean;
|
|
128
127
|
loadingStatus: import("../loader/Loader.vue").LoaderStatus;
|
|
129
128
|
readonly: boolean;
|
|
129
|
+
required: boolean;
|
|
130
130
|
validateOnInput: boolean;
|
|
131
131
|
hideFooter: boolean;
|
|
132
132
|
rules: unknown[];
|
|
@@ -1,51 +1,49 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useTheme as
|
|
1
|
+
import { defineComponent as T, ref as $, computed as D, openBlock as t, createElementBlock as b, normalizeClass as o, unref as r, createElementVNode as a, normalizeStyle as R, withDirectives as S, vModelCheckbox as F, toDisplayString as L, createCommentVNode as i, createBlock as c } from "vue";
|
|
2
|
+
import { useTheme as M } from "../../composables/useTheme.js";
|
|
3
3
|
import { useCommon as f } from "../../composables/useCommon.js";
|
|
4
|
-
import { useColors as
|
|
4
|
+
import { useColors as P } from "../../composables/useColors.js";
|
|
5
5
|
import { useInputtable as n } from "../../composables/useInputtable.js";
|
|
6
|
-
import { useInteractive as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
const
|
|
6
|
+
import { useInteractive as v } from "../../composables/useInteractive.js";
|
|
7
|
+
import U from "../spinner/Spinner.vue.js";
|
|
8
|
+
import W from "../inputFooter/InputFooter.vue.js";
|
|
9
|
+
const X = { class: "flex items-center" }, j = ["id", "aria-checked", "aria-disabled", "disabled", "name", "required", "value"], A = ["textContent"], G = {
|
|
10
10
|
...f.props(),
|
|
11
|
-
...
|
|
12
|
-
...
|
|
11
|
+
...P.props("primary"),
|
|
12
|
+
...v.props(),
|
|
13
13
|
...n.props(),
|
|
14
|
-
id: String,
|
|
15
|
-
label: String,
|
|
16
|
-
helper: String,
|
|
17
14
|
glow: Boolean
|
|
18
|
-
},
|
|
15
|
+
}, H = {
|
|
19
16
|
name: "XToggle",
|
|
20
17
|
validators: {
|
|
21
18
|
...f.validators()
|
|
22
19
|
}
|
|
23
|
-
},
|
|
24
|
-
...
|
|
25
|
-
props:
|
|
20
|
+
}, ee = /* @__PURE__ */ T({
|
|
21
|
+
...H,
|
|
22
|
+
props: G,
|
|
26
23
|
emits: n.emits(!1),
|
|
27
|
-
setup(
|
|
28
|
-
const
|
|
24
|
+
setup(h, { expose: k, emit: y }) {
|
|
25
|
+
const d = h, u = y, m = $(null), l = D({
|
|
29
26
|
get() {
|
|
30
|
-
return !!
|
|
27
|
+
return !!d.modelValue;
|
|
31
28
|
},
|
|
32
29
|
set(e) {
|
|
33
30
|
u("update:modelValue", e);
|
|
34
31
|
}
|
|
35
|
-
}), { focus: p, blur: w } =
|
|
32
|
+
}), { focus: p, blur: w } = v(m), {
|
|
36
33
|
errorInternal: C,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
hideFooterInternal: V,
|
|
35
|
+
reset: z,
|
|
36
|
+
validate: B,
|
|
37
|
+
setError: I
|
|
38
|
+
} = n(d, { focus: p, emit: u, withListeners: !1 }), { styles: q, classes: s, className: E } = M("Toggle", {}, d);
|
|
39
|
+
return k({ focus: p, blur: w, reset: z, validate: B, setError: I }), (e, g) => (t(), b("label", {
|
|
42
40
|
class: o(["inline-block", [
|
|
43
|
-
r(
|
|
41
|
+
r(E),
|
|
44
42
|
r(s).wrapper,
|
|
45
43
|
e.disabled ? "cursor-not-allowed" : "cursor-pointer"
|
|
46
44
|
]])
|
|
47
45
|
}, [
|
|
48
|
-
a("div",
|
|
46
|
+
a("div", X, [
|
|
49
47
|
a("div", {
|
|
50
48
|
class: o(["flex items-center rounded-full transition-colors duration-300 border-[3px] shrink-0 !border-transparent", {
|
|
51
49
|
[`shadow-lg shadow-${e.color}-500/50`]: e.glow && e.modelValue,
|
|
@@ -53,16 +51,16 @@ const W = { class: "flex items-center" }, X = ["id", "aria-checked", "aria-disab
|
|
|
53
51
|
"bg-gray-100 dark:bg-gray-700": e.disabled || e.loading,
|
|
54
52
|
"bg-[color:var(--x-toggle-bg)] dark:bg-[color:var(--x-toggle-dark-bg)]": !e.disabled && l.value
|
|
55
53
|
}]),
|
|
56
|
-
style:
|
|
54
|
+
style: R(r(q))
|
|
57
55
|
}, [
|
|
58
56
|
a("div", {
|
|
59
57
|
class: o(r(s).buttonWrapper)
|
|
60
58
|
}, [
|
|
61
|
-
|
|
59
|
+
S(a("input", {
|
|
62
60
|
id: e.id,
|
|
63
61
|
ref_key: "elRef",
|
|
64
62
|
ref: m,
|
|
65
|
-
"onUpdate:modelValue": g[0] || (g[0] = (
|
|
63
|
+
"onUpdate:modelValue": g[0] || (g[0] = (N) => l.value = N),
|
|
66
64
|
"aria-checked": l.value ? "true" : "false",
|
|
67
65
|
"aria-disabled": e.disabled ? "true" : void 0,
|
|
68
66
|
type: "checkbox",
|
|
@@ -71,8 +69,8 @@ const W = { class: "flex items-center" }, X = ["id", "aria-checked", "aria-disab
|
|
|
71
69
|
name: e.name,
|
|
72
70
|
required: e.required,
|
|
73
71
|
value: e.modelValue
|
|
74
|
-
}, null, 8,
|
|
75
|
-
[
|
|
72
|
+
}, null, 8, j), [
|
|
73
|
+
[F, l.value]
|
|
76
74
|
]),
|
|
77
75
|
a("div", {
|
|
78
76
|
class: o([
|
|
@@ -86,18 +84,18 @@ const W = { class: "flex items-center" }, X = ["id", "aria-checked", "aria-disab
|
|
|
86
84
|
}, null, 2)
|
|
87
85
|
], 2)
|
|
88
86
|
], 6),
|
|
89
|
-
e.label ? (
|
|
87
|
+
e.label ? (t(), b("span", {
|
|
90
88
|
key: 0,
|
|
91
89
|
class: o(["ml-2", r(s).label]),
|
|
92
|
-
textContent:
|
|
93
|
-
}, null, 10,
|
|
94
|
-
e.loading ? (
|
|
90
|
+
textContent: L(e.label)
|
|
91
|
+
}, null, 10, A)) : i("", !0),
|
|
92
|
+
e.loading ? (t(), c(U, {
|
|
95
93
|
key: 1,
|
|
96
94
|
size: e.size,
|
|
97
95
|
class: "ml-1"
|
|
98
|
-
}, null, 8, ["size"])) :
|
|
96
|
+
}, null, 8, ["size"])) : i("", !0)
|
|
99
97
|
]),
|
|
100
|
-
|
|
98
|
+
r(V) ? i("", !0) : (t(), c(W, {
|
|
101
99
|
key: 0,
|
|
102
100
|
error: r(C),
|
|
103
101
|
helper: e.helper
|
|
@@ -106,5 +104,5 @@ const W = { class: "flex items-center" }, X = ["id", "aria-checked", "aria-disab
|
|
|
106
104
|
}
|
|
107
105
|
});
|
|
108
106
|
export {
|
|
109
|
-
|
|
107
|
+
ee as default
|
|
110
108
|
};
|
|
@@ -4,12 +4,16 @@ import type { TabGroupInjection } from '../components/tab/TabGroup.vue';
|
|
|
4
4
|
import type { ButtonGroupInjection } from '../components/button/ButtonGroup.vue';
|
|
5
5
|
import type { NotificationInjection } from '../components/notifications/Notifications.vue';
|
|
6
6
|
import type { IconInjection } from '../components/icon/Icon.vue';
|
|
7
|
+
import type { FormGroupInjection } from '../components/formGroup';
|
|
8
|
+
import type { AccordionInjection } from '../components/accordion';
|
|
7
9
|
import type { UIOptions } from '../create';
|
|
8
10
|
import type { UITheme } from '../theme';
|
|
9
11
|
export declare const injectOptionsKey: InjectionKey<UIOptions>;
|
|
10
12
|
export declare const injectThemeKey: InjectionKey<MaybeRef<UITheme>>;
|
|
11
|
-
export declare const
|
|
13
|
+
export declare const injectTabGroupKey: InjectionKey<TabGroupInjection>;
|
|
12
14
|
export declare const injectFormKey: InjectionKey<FormInjection>;
|
|
15
|
+
export declare const injectFormGroupKey: InjectionKey<FormGroupInjection>;
|
|
13
16
|
export declare const injectIconsKey: InjectionKey<IconInjection>;
|
|
14
17
|
export declare const injectButtonGroupKey: InjectionKey<ButtonGroupInjection>;
|
|
15
18
|
export declare const injectNotificationKey: InjectionKey<NotificationInjection>;
|
|
19
|
+
export declare const injectAccordionKey: InjectionKey<AccordionInjection>;
|
package/lib/composables/keys.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
const o = Symbol(), t = Symbol(), n = Symbol(),
|
|
1
|
+
const o = Symbol(), t = Symbol(), n = Symbol(), c = Symbol(), e = Symbol(), y = Symbol(), i = Symbol(), m = Symbol(), s = Symbol();
|
|
2
2
|
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
s as injectAccordionKey,
|
|
4
|
+
i as injectButtonGroupKey,
|
|
5
|
+
e as injectFormGroupKey,
|
|
6
|
+
c as injectFormKey,
|
|
7
|
+
y as injectIconsKey,
|
|
8
|
+
m as injectNotificationKey,
|
|
7
9
|
o as injectOptionsKey,
|
|
8
|
-
n as
|
|
10
|
+
n as injectTabGroupKey,
|
|
9
11
|
t as injectThemeKey
|
|
10
12
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ComponentPublicInstance } from 'vue';
|
|
2
|
+
import { type MaybeRef } from 'vue';
|
|
3
|
+
export declare function useFocusTrap(): {
|
|
4
|
+
initFocusTrap: (targetRef: MaybeRef<HTMLElement | ComponentPublicInstance | null>) => Promise<void>;
|
|
5
|
+
clearFocusTrap: () => void;
|
|
6
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { onUnmounted as y, unref as p, nextTick as x } from "vue";
|
|
2
|
+
const m = 'button:not([tabindex="-1"]), [href], input, select, textarea, li, a, [tabindex]:not([tabindex="-1"])';
|
|
3
|
+
function w() {
|
|
4
|
+
let n = [], u = null, s = null, r = null;
|
|
5
|
+
async function b(e) {
|
|
6
|
+
e = p(e), e && (await x(), f(e), s && s.focus(), document.addEventListener("keydown", d), u = new MutationObserver(() => f(e)), e.$el ? u.observe(e.$el, { childList: !0, subtree: !0 }) : u.observe(e, { childList: !0, subtree: !0 }));
|
|
7
|
+
}
|
|
8
|
+
function f(e) {
|
|
9
|
+
if (e === null)
|
|
10
|
+
return;
|
|
11
|
+
let c;
|
|
12
|
+
e.$el ? c = e == null ? void 0 : e.$el.querySelectorAll(m) : e.querySelectorAll(m), n = Array.from(c || []), s = n[0] || null, r = n[n.length - 1] || null;
|
|
13
|
+
}
|
|
14
|
+
const d = (e) => {
|
|
15
|
+
var c;
|
|
16
|
+
if (e.key === "Tab") {
|
|
17
|
+
const t = e.shiftKey, o = document.activeElement;
|
|
18
|
+
if (!o) {
|
|
19
|
+
e.preventDefault(), (c = n[0]) == null || c.focus();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const l = n[0], i = n[n.length - 1];
|
|
23
|
+
!t && o === i ? (e.preventDefault(), l == null || l.focus()) : t && o === l && (e.preventDefault(), i == null || i.focus());
|
|
24
|
+
} else if (e.key === "ArrowUp" || e.key === "ArrowLeft") {
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
const t = document.activeElement, o = n.indexOf(t), l = n[o - 1];
|
|
27
|
+
l ? l.focus() : r && r.focus();
|
|
28
|
+
} else if (e.key === "ArrowDown" || e.key === "ArrowRight") {
|
|
29
|
+
e.preventDefault();
|
|
30
|
+
const t = document.activeElement, o = n.indexOf(t), l = n[o + 1];
|
|
31
|
+
l ? l.focus() : s && s.focus();
|
|
32
|
+
}
|
|
33
|
+
}, a = () => {
|
|
34
|
+
document.removeEventListener("keydown", d), u == null || u.disconnect();
|
|
35
|
+
};
|
|
36
|
+
return y(() => {
|
|
37
|
+
a();
|
|
38
|
+
}), {
|
|
39
|
+
initFocusTrap: b,
|
|
40
|
+
clearFocusTrap: a
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
w as useFocusTrap
|
|
45
|
+
};
|
|
@@ -12,14 +12,17 @@ export declare const useInputtable: {
|
|
|
12
12
|
}): {
|
|
13
13
|
isFirstValidation: import("vue").Ref<boolean>;
|
|
14
14
|
errorInternal: any;
|
|
15
|
+
hideFooterInternal: any;
|
|
15
16
|
isFocused: import("vue").Ref<boolean>;
|
|
16
17
|
isInsideForm: boolean;
|
|
18
|
+
isInsideFormGroup: boolean;
|
|
17
19
|
inputListeners: MaybeRef<{
|
|
18
20
|
focus: (event: Event) => void;
|
|
19
21
|
blur: (event: Event) => void;
|
|
20
22
|
input: (event: Event) => void;
|
|
21
23
|
change: (event: Event) => void;
|
|
22
24
|
}>;
|
|
25
|
+
formGroup: import("..").FormGroupInjection;
|
|
23
26
|
reset: () => void;
|
|
24
27
|
validate: (val?: any) => boolean;
|
|
25
28
|
setError: (val: string) => void;
|
|
@@ -27,6 +30,7 @@ export declare const useInputtable: {
|
|
|
27
30
|
emits(withListeners?: boolean): string[];
|
|
28
31
|
props(): {
|
|
29
32
|
readonly modelValue: PropType<string | number | boolean | object | any[] | undefined>;
|
|
33
|
+
readonly id: StringConstructor;
|
|
30
34
|
readonly name: StringConstructor;
|
|
31
35
|
readonly readonly: BooleanConstructor;
|
|
32
36
|
readonly required: BooleanConstructor;
|
|
@@ -34,6 +38,8 @@ export declare const useInputtable: {
|
|
|
34
38
|
readonly type: BooleanConstructor;
|
|
35
39
|
readonly default: true;
|
|
36
40
|
};
|
|
41
|
+
readonly label: StringConstructor;
|
|
42
|
+
readonly helper: StringConstructor;
|
|
37
43
|
readonly error: StringConstructor;
|
|
38
44
|
readonly hideFooter: BooleanConstructor;
|
|
39
45
|
readonly rules: {
|
|
@@ -1,51 +1,62 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
import { injectFormKey as
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
|
|
1
|
+
import { ref as i, watch as h, inject as G, computed as j, onMounted as A, onUnmounted as O } from "vue";
|
|
2
|
+
import { injectFormGroupKey as K, injectFormKey as M } from "./keys.js";
|
|
3
|
+
const y = (r, { focus: I, emit: o, withListeners: b = !0 }) => {
|
|
4
|
+
const s = i(!0), n = i(r.error), v = i(r.hideFooter), V = r.name ? r.name : (Math.random() + 1).toString(36).substring(7), a = i(V);
|
|
5
|
+
h(() => r.error, (e) => {
|
|
6
6
|
n.value = e;
|
|
7
|
-
}),
|
|
8
|
-
e && (
|
|
7
|
+
}), h(() => r.name, (e) => {
|
|
8
|
+
e && (a.value = e);
|
|
9
9
|
});
|
|
10
|
-
const
|
|
10
|
+
const t = G(K, {
|
|
11
|
+
registerInputGroup: () => {
|
|
12
|
+
},
|
|
13
|
+
unregisterInputGroup: () => {
|
|
14
|
+
},
|
|
15
|
+
setValue: () => {
|
|
16
|
+
},
|
|
17
|
+
isInsideFormGroup: !1,
|
|
18
|
+
value: void 0
|
|
19
|
+
});
|
|
20
|
+
t.isInsideFormGroup && (v.value = !0);
|
|
21
|
+
const c = G(M, {
|
|
11
22
|
registerInput: () => {
|
|
12
23
|
},
|
|
13
24
|
unregisterInput: () => {
|
|
14
25
|
},
|
|
15
26
|
isInsideForm: !1
|
|
16
|
-
}),
|
|
17
|
-
n.value = "",
|
|
18
|
-
},
|
|
27
|
+
}), S = () => {
|
|
28
|
+
n.value = "", s.value = !0, o("update:modelValue", "");
|
|
29
|
+
}, F = (e) => {
|
|
19
30
|
n.value = e;
|
|
20
|
-
},
|
|
21
|
-
e = e ||
|
|
22
|
-
for (let
|
|
23
|
-
const
|
|
24
|
-
let
|
|
25
|
-
if (typeof
|
|
26
|
-
|
|
27
|
-
else if (Array.isArray(
|
|
28
|
-
const { 0:
|
|
29
|
-
|
|
31
|
+
}, m = (e) => {
|
|
32
|
+
e = e || r.modelValue, s.value = !1;
|
|
33
|
+
for (let p = 0; p < r.rules.length; p++) {
|
|
34
|
+
const u = r.rules[p];
|
|
35
|
+
let l = !0;
|
|
36
|
+
if (typeof u == "function")
|
|
37
|
+
l = u(e);
|
|
38
|
+
else if (Array.isArray(u) && u.length === 2) {
|
|
39
|
+
const { 0: d, 1: g } = u;
|
|
40
|
+
l = d(e, g);
|
|
30
41
|
} else {
|
|
31
|
-
const
|
|
32
|
-
|
|
42
|
+
const d = u.fn, { options: g } = u;
|
|
43
|
+
l = d(e, g);
|
|
33
44
|
}
|
|
34
|
-
if (
|
|
35
|
-
return n.value =
|
|
45
|
+
if (l !== !0)
|
|
46
|
+
return n.value = l, !1;
|
|
36
47
|
}
|
|
37
48
|
return n.value = "", !0;
|
|
38
|
-
}, f =
|
|
49
|
+
}, f = i(!1), B = b ? j(() => ({
|
|
39
50
|
focus: (e) => {
|
|
40
|
-
f.value = !0,
|
|
51
|
+
f.value = !0, o("focus", e);
|
|
41
52
|
},
|
|
42
53
|
blur: (e) => {
|
|
43
|
-
f.value = !1,
|
|
54
|
+
f.value = !1, o("blur", e);
|
|
44
55
|
},
|
|
45
56
|
input: (e) => {
|
|
46
|
-
|
|
57
|
+
r.validateOnInput && !s.value && m(e.target.value), o("update:modelValue", e.target.value);
|
|
47
58
|
},
|
|
48
|
-
change: (e) =>
|
|
59
|
+
change: (e) => o("change", e)
|
|
49
60
|
})) : {
|
|
50
61
|
focus: () => {
|
|
51
62
|
},
|
|
@@ -56,24 +67,28 @@ const p = (t, { focus: h, emit: u, withListeners: y = !0 }) => {
|
|
|
56
67
|
change: () => {
|
|
57
68
|
}
|
|
58
69
|
};
|
|
59
|
-
return
|
|
60
|
-
c.registerInput(
|
|
61
|
-
}),
|
|
62
|
-
c.unregisterInput(
|
|
70
|
+
return A(() => {
|
|
71
|
+
t.isInsideFormGroup ? t.registerInputGroup(a.value, I) : c.registerInput(a.value, I, m, F);
|
|
72
|
+
}), O(() => {
|
|
73
|
+
t.isInsideFormGroup ? t.unregisterInputGroup(a.value) : c.unregisterInput(a.value);
|
|
63
74
|
}), {
|
|
64
|
-
isFirstValidation:
|
|
75
|
+
isFirstValidation: s,
|
|
65
76
|
errorInternal: n,
|
|
77
|
+
hideFooterInternal: v,
|
|
66
78
|
isFocused: f,
|
|
67
79
|
isInsideForm: c.isInsideForm,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
80
|
+
isInsideFormGroup: t.isInsideFormGroup,
|
|
81
|
+
inputListeners: B,
|
|
82
|
+
formGroup: t,
|
|
83
|
+
reset: S,
|
|
84
|
+
validate: m,
|
|
85
|
+
setError: F
|
|
72
86
|
};
|
|
73
87
|
};
|
|
74
|
-
|
|
75
|
-
|
|
88
|
+
y.emits = (r = !0) => r ? ["update:modelValue", "blur", "focus", "input", "change"] : ["update:modelValue"];
|
|
89
|
+
y.props = () => ({
|
|
76
90
|
modelValue: [String, Number, Boolean, Object, Array],
|
|
91
|
+
id: String,
|
|
77
92
|
name: String,
|
|
78
93
|
readonly: Boolean,
|
|
79
94
|
required: Boolean,
|
|
@@ -81,6 +96,8 @@ p.props = () => ({
|
|
|
81
96
|
type: Boolean,
|
|
82
97
|
default: !0
|
|
83
98
|
},
|
|
99
|
+
label: String,
|
|
100
|
+
helper: String,
|
|
84
101
|
error: String,
|
|
85
102
|
hideFooter: Boolean,
|
|
86
103
|
rules: {
|
|
@@ -89,5 +106,5 @@ p.props = () => ({
|
|
|
89
106
|
}
|
|
90
107
|
});
|
|
91
108
|
export {
|
|
92
|
-
|
|
109
|
+
y as useInputtable
|
|
93
110
|
};
|