@indielayer/ui 0.0.0-dev-20240125104319
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 +43 -0
- package/env.d.ts +1 -0
- package/exports/nuxt.mjs +33 -0
- package/exports/nuxt.plugin.js +8 -0
- package/exports/tailwind.preset.js +41 -0
- package/lib/_virtual/_plugin-vue_export-helper.js +9 -0
- package/lib/common/colors.d.ts +7 -0
- package/lib/common/colors.js +19 -0
- package/lib/common/icons.d.ts +17 -0
- package/lib/common/icons.js +19 -0
- package/lib/common/utils.d.ts +38 -0
- package/lib/common/utils.js +25 -0
- package/lib/components/accordion/Accordion.vue.d.ts +60 -0
- package/lib/components/accordion/Accordion.vue.js +40 -0
- package/lib/components/accordion/Accordion.vue2.js +4 -0
- package/lib/components/accordion/AccordionItem.vue.d.ts +88 -0
- package/lib/components/accordion/AccordionItem.vue.js +138 -0
- package/lib/components/accordion/AccordionItem.vue2.js +4 -0
- package/lib/components/accordion/__tests__/Accordion.spec.d.ts +1 -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 +8 -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 +16 -0
- package/lib/components/alert/Alert.vue.d.ts +61 -0
- package/lib/components/alert/Alert.vue.js +9 -0
- package/lib/components/alert/Alert.vue2.js +61 -0
- package/lib/components/alert/Alert.vue3.js +8 -0
- package/lib/components/alert/__tests__/Alert.spec.d.ts +1 -0
- package/lib/components/alert/index.d.ts +2 -0
- package/lib/components/alert/theme/Alert.base.theme.d.ts +3 -0
- package/lib/components/alert/theme/Alert.base.theme.js +41 -0
- package/lib/components/alert/theme/Alert.carbon.theme.d.ts +3 -0
- package/lib/components/alert/theme/Alert.carbon.theme.js +41 -0
- package/lib/components/avatar/Avatar.vue.d.ts +82 -0
- package/lib/components/avatar/Avatar.vue.js +9 -0
- package/lib/components/avatar/Avatar.vue2.js +75 -0
- package/lib/components/avatar/Avatar.vue3.js +7 -0
- package/lib/components/avatar/__tests__/Avatar.spec.d.ts +1 -0
- package/lib/components/avatar/index.d.ts +2 -0
- package/lib/components/avatar/theme/Avatar.base.theme.d.ts +3 -0
- package/lib/components/avatar/theme/Avatar.base.theme.js +25 -0
- package/lib/components/avatar/theme/Avatar.carbon.theme.d.ts +3 -0
- package/lib/components/avatar/theme/Avatar.carbon.theme.js +5 -0
- package/lib/components/badge/Badge.vue.d.ts +123 -0
- package/lib/components/badge/Badge.vue.js +93 -0
- package/lib/components/badge/Badge.vue2.js +4 -0
- package/lib/components/badge/__tests__/Badge.spec.d.ts +1 -0
- package/lib/components/badge/index.d.ts +2 -0
- package/lib/components/badge/theme/Badge.base.theme.d.ts +3 -0
- package/lib/components/badge/theme/Badge.base.theme.js +12 -0
- package/lib/components/badge/theme/Badge.carbon.theme.d.ts +3 -0
- package/lib/components/badge/theme/Badge.carbon.theme.js +5 -0
- package/lib/components/breadcrumbs/Breadcrumbs.vue.d.ts +62 -0
- package/lib/components/breadcrumbs/Breadcrumbs.vue.js +69 -0
- package/lib/components/breadcrumbs/Breadcrumbs.vue2.js +4 -0
- package/lib/components/breadcrumbs/__tests__/Breadcrumbs.spec.d.ts +1 -0
- package/lib/components/breadcrumbs/index.d.ts +2 -0
- package/lib/components/breadcrumbs/theme/Breadcrumbs.base.theme.d.ts +3 -0
- package/lib/components/breadcrumbs/theme/Breadcrumbs.base.theme.js +10 -0
- package/lib/components/breadcrumbs/theme/Breadcrumbs.carbon.theme.d.ts +3 -0
- package/lib/components/breadcrumbs/theme/Breadcrumbs.carbon.theme.js +10 -0
- package/lib/components/button/Button.vue.d.ts +145 -0
- package/lib/components/button/Button.vue.js +9 -0
- package/lib/components/button/Button.vue2.js +117 -0
- package/lib/components/button/Button.vue3.js +8 -0
- package/lib/components/button/ButtonGroup.vue.d.ts +113 -0
- package/lib/components/button/ButtonGroup.vue.js +9 -0
- package/lib/components/button/ButtonGroup.vue2.js +53 -0
- package/lib/components/button/ButtonGroup.vue3.js +7 -0
- package/lib/components/button/__tests__/ Button.spec.d.ts +1 -0
- package/lib/components/button/__tests__/ ButtonGroup.spec.d.ts +1 -0
- package/lib/components/button/index.d.ts +4 -0
- package/lib/components/button/theme/Button.base.theme.d.ts +3 -0
- package/lib/components/button/theme/Button.base.theme.js +138 -0
- package/lib/components/button/theme/Button.carbon.theme.d.ts +3 -0
- package/lib/components/button/theme/Button.carbon.theme.js +138 -0
- package/lib/components/button/theme/ButtonGroup.base.theme.d.ts +3 -0
- package/lib/components/button/theme/ButtonGroup.base.theme.js +8 -0
- package/lib/components/button/theme/ButtonGroup.carbon.theme.d.ts +3 -0
- package/lib/components/button/theme/ButtonGroup.carbon.theme.js +8 -0
- package/lib/components/card/Card.vue.d.ts +37 -0
- package/lib/components/card/Card.vue.js +30 -0
- package/lib/components/card/Card.vue2.js +4 -0
- package/lib/components/card/__tests__/Card.spec.d.ts +1 -0
- package/lib/components/card/index.d.ts +2 -0
- package/lib/components/card/theme/Card.base.theme.d.ts +3 -0
- package/lib/components/card/theme/Card.base.theme.js +8 -0
- package/lib/components/card/theme/Card.carbon.theme.d.ts +3 -0
- package/lib/components/card/theme/Card.carbon.theme.js +5 -0
- package/lib/components/carousel/Carousel.vue.d.ts +85 -0
- package/lib/components/carousel/Carousel.vue.js +94 -0
- package/lib/components/carousel/Carousel.vue2.js +4 -0
- package/lib/components/carousel/CarouselSlide.vue.d.ts +22 -0
- package/lib/components/carousel/CarouselSlide.vue.js +9 -0
- package/lib/components/carousel/CarouselSlide.vue2.js +25 -0
- package/lib/components/carousel/CarouselSlide.vue3.js +6 -0
- package/lib/components/carousel/__tests__/Carousel.spec.d.ts +1 -0
- package/lib/components/carousel/index.d.ts +4 -0
- package/lib/components/carousel/theme/Carousel.base.theme.d.ts +3 -0
- package/lib/components/carousel/theme/Carousel.base.theme.js +16 -0
- package/lib/components/carousel/theme/Carousel.carbon.theme.d.ts +3 -0
- package/lib/components/carousel/theme/Carousel.carbon.theme.js +5 -0
- package/lib/components/carousel/theme/CarouselSlide.base.theme.d.ts +3 -0
- package/lib/components/carousel/theme/CarouselSlide.base.theme.js +8 -0
- package/lib/components/carousel/theme/CarouselSlide.carbon.theme.d.ts +3 -0
- package/lib/components/carousel/theme/CarouselSlide.carbon.theme.js +5 -0
- package/lib/components/checkbox/Checkbox.vue.d.ts +155 -0
- package/lib/components/checkbox/Checkbox.vue.js +9 -0
- package/lib/components/checkbox/Checkbox.vue2.js +142 -0
- package/lib/components/checkbox/Checkbox.vue3.js +6 -0
- package/lib/components/checkbox/__tests__/Checkbox.spec.d.ts +1 -0
- package/lib/components/checkbox/index.d.ts +2 -0
- package/lib/components/checkbox/theme/Checkbox.base.theme.d.ts +3 -0
- package/lib/components/checkbox/theme/Checkbox.base.theme.js +59 -0
- package/lib/components/checkbox/theme/Checkbox.carbon.theme.d.ts +3 -0
- package/lib/components/checkbox/theme/Checkbox.carbon.theme.js +59 -0
- package/lib/components/container/Container.vue.d.ts +33 -0
- package/lib/components/container/Container.vue.js +29 -0
- package/lib/components/container/Container.vue2.js +4 -0
- package/lib/components/container/__tests__/Container.spec.d.ts +1 -0
- package/lib/components/container/index.d.ts +2 -0
- package/lib/components/container/theme/Container.base.theme.d.ts +3 -0
- package/lib/components/container/theme/Container.base.theme.js +8 -0
- package/lib/components/container/theme/Container.carbon.theme.d.ts +3 -0
- package/lib/components/container/theme/Container.carbon.theme.js +5 -0
- package/lib/components/divider/Divider.vue.d.ts +20 -0
- package/lib/components/divider/Divider.vue.js +52 -0
- package/lib/components/divider/Divider.vue2.js +4 -0
- package/lib/components/divider/__tests__/Divider.spec.d.ts +1 -0
- package/lib/components/divider/index.d.ts +2 -0
- package/lib/components/divider/theme/Divider.base.theme.d.ts +3 -0
- package/lib/components/divider/theme/Divider.base.theme.js +10 -0
- package/lib/components/divider/theme/Divider.carbon.theme.d.ts +3 -0
- package/lib/components/divider/theme/Divider.carbon.theme.js +5 -0
- package/lib/components/drawer/Drawer.vue.d.ts +101 -0
- package/lib/components/drawer/Drawer.vue.js +170 -0
- package/lib/components/drawer/Drawer.vue2.js +4 -0
- package/lib/components/drawer/__tests__/Drawer.spec.d.ts +1 -0
- package/lib/components/drawer/index.d.ts +2 -0
- package/lib/components/drawer/theme/Drawer.base.theme.d.ts +3 -0
- package/lib/components/drawer/theme/Drawer.base.theme.js +9 -0
- package/lib/components/drawer/theme/Drawer.carbon.theme.d.ts +3 -0
- package/lib/components/drawer/theme/Drawer.carbon.theme.js +5 -0
- package/lib/components/form/Form.vue.d.ts +103 -0
- package/lib/components/form/Form.vue.js +109 -0
- package/lib/components/form/Form.vue2.js +4 -0
- package/lib/components/form/__tests__/Form.spec.d.ts +1 -0
- package/lib/components/form/index.d.ts +2 -0
- package/lib/components/form/theme/Form.base.theme.d.ts +3 -0
- package/lib/components/form/theme/Form.base.theme.js +12 -0
- package/lib/components/form/theme/Form.carbon.theme.d.ts +3 -0
- package/lib/components/form/theme/Form.carbon.theme.js +12 -0
- 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/Icon.vue.d.ts +64 -0
- package/lib/components/icon/Icon.vue.js +73 -0
- package/lib/components/icon/Icon.vue2.js +4 -0
- package/lib/components/icon/__tests__/Icon.spec.d.ts +1 -0
- package/lib/components/icon/index.d.ts +2 -0
- package/lib/components/icon/theme/Icon.base.theme.d.ts +3 -0
- package/lib/components/icon/theme/Icon.base.theme.js +11 -0
- package/lib/components/icon/theme/Icon.carbon.theme.d.ts +3 -0
- package/lib/components/icon/theme/Icon.carbon.theme.js +8 -0
- package/lib/components/image/Image.vue.d.ts +15 -0
- package/lib/components/image/Image.vue.js +31 -0
- package/lib/components/image/Image.vue2.js +4 -0
- package/lib/components/image/__tests__/Image.spec.d.ts +1 -0
- package/lib/components/image/index.d.ts +2 -0
- package/lib/components/image/theme/Image.base.theme.d.ts +3 -0
- package/lib/components/image/theme/Image.base.theme.js +8 -0
- package/lib/components/image/theme/Image.carbon.theme.d.ts +3 -0
- package/lib/components/image/theme/Image.carbon.theme.js +5 -0
- package/lib/components/index.d.ts +42 -0
- package/lib/components/index.js +111 -0
- package/lib/components/input/Input.vue.d.ts +208 -0
- package/lib/components/input/Input.vue.js +147 -0
- package/lib/components/input/Input.vue2.js +4 -0
- package/lib/components/input/__tests__/Input.spec.d.ts +1 -0
- package/lib/components/input/index.d.ts +2 -0
- package/lib/components/input/theme/Input.base.theme.d.ts +3 -0
- package/lib/components/input/theme/Input.base.theme.js +17 -0
- package/lib/components/input/theme/Input.carbon.theme.d.ts +3 -0
- package/lib/components/input/theme/Input.carbon.theme.js +17 -0
- package/lib/components/inputFooter/InputFooter.vue.d.ts +18 -0
- package/lib/components/inputFooter/InputFooter.vue.js +27 -0
- package/lib/components/inputFooter/InputFooter.vue2.js +4 -0
- package/lib/components/inputFooter/__tests__/InputFooter.spec.d.ts +1 -0
- package/lib/components/inputFooter/index.d.ts +2 -0
- package/lib/components/inputFooter/theme/InputFooter.base.theme.d.ts +3 -0
- package/lib/components/inputFooter/theme/InputFooter.base.theme.js +10 -0
- package/lib/components/inputFooter/theme/InputFooter.carbon.theme.d.ts +3 -0
- package/lib/components/inputFooter/theme/InputFooter.carbon.theme.js +10 -0
- package/lib/components/label/Label.vue.d.ts +68 -0
- package/lib/components/label/Label.vue.js +48 -0
- package/lib/components/label/Label.vue2.js +4 -0
- package/lib/components/label/__tests__/Label.spec.d.ts +1 -0
- package/lib/components/label/index.d.ts +2 -0
- package/lib/components/label/theme/Label.base.theme.d.ts +3 -0
- package/lib/components/label/theme/Label.base.theme.js +15 -0
- package/lib/components/label/theme/Label.carbon.theme.d.ts +3 -0
- package/lib/components/label/theme/Label.carbon.theme.js +12 -0
- package/lib/components/link/Link.vue.d.ts +61 -0
- package/lib/components/link/Link.vue.js +9 -0
- package/lib/components/link/Link.vue2.js +47 -0
- package/lib/components/link/Link.vue3.js +8 -0
- package/lib/components/link/__tests__/Link.spec.d.ts +1 -0
- package/lib/components/link/index.d.ts +2 -0
- package/lib/components/link/theme/Link.base.theme.d.ts +3 -0
- package/lib/components/link/theme/Link.base.theme.js +25 -0
- package/lib/components/link/theme/Link.carbon.theme.d.ts +3 -0
- package/lib/components/link/theme/Link.carbon.theme.js +5 -0
- package/lib/components/loader/Loader.vue.d.ts +49 -0
- package/lib/components/loader/Loader.vue.js +54 -0
- package/lib/components/loader/Loader.vue2.js +4 -0
- package/lib/components/loader/__tests__/Loader.spec.d.ts +1 -0
- package/lib/components/loader/index.d.ts +2 -0
- package/lib/components/loader/theme/Loader.base.theme.d.ts +3 -0
- package/lib/components/loader/theme/Loader.base.theme.js +11 -0
- package/lib/components/loader/theme/Loader.carbon.theme.d.ts +3 -0
- package/lib/components/loader/theme/Loader.carbon.theme.js +11 -0
- package/lib/components/menu/Menu.vue.d.ts +123 -0
- package/lib/components/menu/Menu.vue.js +135 -0
- package/lib/components/menu/Menu.vue2.js +4 -0
- package/lib/components/menu/MenuItem.vue.d.ts +154 -0
- package/lib/components/menu/MenuItem.vue.js +9 -0
- package/lib/components/menu/MenuItem.vue2.js +142 -0
- package/lib/components/menu/MenuItem.vue3.js +7 -0
- package/lib/components/menu/__tests__/Menu.spec.d.ts +1 -0
- package/lib/components/menu/__tests__/MenuItem.spec.d.ts +1 -0
- package/lib/components/menu/index.d.ts +4 -0
- package/lib/components/menu/theme/Menu.base.theme.d.ts +3 -0
- package/lib/components/menu/theme/Menu.base.theme.js +8 -0
- package/lib/components/menu/theme/Menu.carbon.theme.d.ts +3 -0
- package/lib/components/menu/theme/Menu.carbon.theme.js +5 -0
- package/lib/components/menu/theme/MenuItem.base.theme.d.ts +3 -0
- package/lib/components/menu/theme/MenuItem.base.theme.js +86 -0
- package/lib/components/menu/theme/MenuItem.carbon.theme.d.ts +3 -0
- package/lib/components/menu/theme/MenuItem.carbon.theme.js +5 -0
- package/lib/components/modal/Modal.vue.d.ts +150 -0
- package/lib/components/modal/Modal.vue.js +179 -0
- package/lib/components/modal/Modal.vue2.js +4 -0
- package/lib/components/modal/__tests__/Modal.spec.d.ts +1 -0
- package/lib/components/modal/index.d.ts +2 -0
- package/lib/components/modal/theme/Modal.base.theme.d.ts +3 -0
- package/lib/components/modal/theme/Modal.base.theme.js +23 -0
- package/lib/components/modal/theme/Modal.carbon.theme.d.ts +3 -0
- package/lib/components/modal/theme/Modal.carbon.theme.js +29 -0
- package/lib/components/notifications/Notifications.vue.d.ts +143 -0
- package/lib/components/notifications/Notifications.vue.js +236 -0
- package/lib/components/notifications/Notifications.vue2.js +4 -0
- package/lib/components/notifications/__tests__/Notifications.spec.d.ts +1 -0
- package/lib/components/notifications/index.d.ts +2 -0
- package/lib/components/notifications/theme/Notifications.base.theme.d.ts +3 -0
- package/lib/components/notifications/theme/Notifications.base.theme.js +10 -0
- package/lib/components/notifications/theme/Notifications.carbon.theme.d.ts +3 -0
- package/lib/components/notifications/theme/Notifications.carbon.theme.js +10 -0
- package/lib/components/pagination/Pagination.vue.d.ts +76 -0
- package/lib/components/pagination/Pagination.vue.js +131 -0
- package/lib/components/pagination/Pagination.vue2.js +4 -0
- package/lib/components/pagination/PaginationItem.vue.d.ts +52 -0
- package/lib/components/pagination/PaginationItem.vue.js +47 -0
- package/lib/components/pagination/PaginationItem.vue2.js +4 -0
- package/lib/components/pagination/__tests__/Pagination.spec.d.ts +1 -0
- package/lib/components/pagination/__tests__/PaginationItem.spec.d.ts +1 -0
- package/lib/components/pagination/index.d.ts +4 -0
- package/lib/components/pagination/theme/Pagination.base.theme.d.ts +3 -0
- package/lib/components/pagination/theme/Pagination.base.theme.js +13 -0
- package/lib/components/pagination/theme/Pagination.carbon.theme.d.ts +3 -0
- package/lib/components/pagination/theme/Pagination.carbon.theme.js +5 -0
- package/lib/components/pagination/theme/PaginationItem.base.theme.d.ts +3 -0
- package/lib/components/pagination/theme/PaginationItem.base.theme.js +8 -0
- package/lib/components/pagination/theme/PaginationItem.carbon.theme.d.ts +3 -0
- package/lib/components/pagination/theme/PaginationItem.carbon.theme.js +5 -0
- package/lib/components/popover/Popover.vue.d.ts +211 -0
- package/lib/components/popover/Popover.vue.js +129 -0
- package/lib/components/popover/Popover.vue2.js +4 -0
- package/lib/components/popover/Popover.vue3.js +5 -0
- package/lib/components/popover/PopoverContainer.vue.d.ts +33 -0
- package/lib/components/popover/PopoverContainer.vue.js +29 -0
- package/lib/components/popover/PopoverContainer.vue2.js +4 -0
- package/lib/components/popover/__tests__/Popover.spec.d.ts +1 -0
- package/lib/components/popover/__tests__/PopoverContainer.spec.d.ts +1 -0
- package/lib/components/popover/index.d.ts +4 -0
- package/lib/components/popover/theme/Popover.base.theme.d.ts +3 -0
- package/lib/components/popover/theme/Popover.base.theme.js +9 -0
- package/lib/components/popover/theme/Popover.carbon.theme.d.ts +3 -0
- package/lib/components/popover/theme/Popover.carbon.theme.js +5 -0
- package/lib/components/popover/theme/PopoverContainer.base.theme.d.ts +3 -0
- package/lib/components/popover/theme/PopoverContainer.base.theme.js +8 -0
- package/lib/components/popover/theme/PopoverContainer.carbon.theme.d.ts +3 -0
- package/lib/components/popover/theme/PopoverContainer.carbon.theme.js +8 -0
- package/lib/components/progress/Progress.vue.d.ts +63 -0
- package/lib/components/progress/Progress.vue.js +50 -0
- package/lib/components/progress/Progress.vue2.js +4 -0
- package/lib/components/progress/__tests__/Progress.spec.d.ts +1 -0
- package/lib/components/progress/index.d.ts +2 -0
- package/lib/components/progress/theme/Progress.base.theme.d.ts +3 -0
- package/lib/components/progress/theme/Progress.base.theme.js +18 -0
- package/lib/components/progress/theme/Progress.carbon.theme.d.ts +3 -0
- package/lib/components/progress/theme/Progress.carbon.theme.js +5 -0
- package/lib/components/radio/Radio.vue.d.ts +149 -0
- package/lib/components/radio/Radio.vue.js +9 -0
- package/lib/components/radio/Radio.vue2.js +132 -0
- package/lib/components/radio/Radio.vue3.js +10 -0
- package/lib/components/radio/__tests__/Radio.spec.d.ts +1 -0
- package/lib/components/radio/index.d.ts +2 -0
- package/lib/components/radio/theme/Radio.base.theme.d.ts +3 -0
- package/lib/components/radio/theme/Radio.base.theme.js +70 -0
- package/lib/components/radio/theme/Radio.carbon.theme.d.ts +3 -0
- package/lib/components/radio/theme/Radio.carbon.theme.js +64 -0
- package/lib/components/scroll/Scroll.vue.d.ts +47 -0
- package/lib/components/scroll/Scroll.vue.js +9 -0
- package/lib/components/scroll/Scroll.vue2.js +63 -0
- package/lib/components/scroll/Scroll.vue3.js +17 -0
- package/lib/components/scroll/__tests__/Scroll.spec.d.ts +1 -0
- package/lib/components/scroll/index.d.ts +2 -0
- package/lib/components/scroll/theme/Scroll.base.theme.d.ts +3 -0
- package/lib/components/scroll/theme/Scroll.base.theme.js +8 -0
- package/lib/components/scroll/theme/Scroll.carbon.theme.d.ts +3 -0
- package/lib/components/scroll/theme/Scroll.carbon.theme.js +5 -0
- package/lib/components/select/Select.vue.d.ts +150 -0
- package/lib/components/select/Select.vue.js +346 -0
- package/lib/components/select/Select.vue2.js +4 -0
- package/lib/components/select/__tests__/Select.spec.d.ts +1 -0
- package/lib/components/select/index.d.ts +2 -0
- package/lib/components/select/theme/Select.base.theme.d.ts +3 -0
- package/lib/components/select/theme/Select.base.theme.js +22 -0
- package/lib/components/select/theme/Select.carbon.theme.d.ts +3 -0
- package/lib/components/select/theme/Select.carbon.theme.js +22 -0
- package/lib/components/skeleton/Skeleton.vue.d.ts +26 -0
- package/lib/components/skeleton/Skeleton.vue.js +29 -0
- package/lib/components/skeleton/Skeleton.vue2.js +4 -0
- package/lib/components/skeleton/__tests__/Skeleton.spec.d.ts +1 -0
- package/lib/components/skeleton/index.d.ts +2 -0
- package/lib/components/skeleton/theme/Skeleton.base.theme.d.ts +3 -0
- package/lib/components/skeleton/theme/Skeleton.base.theme.js +8 -0
- package/lib/components/skeleton/theme/Skeleton.carbon.theme.d.ts +3 -0
- package/lib/components/skeleton/theme/Skeleton.carbon.theme.js +5 -0
- package/lib/components/slider/Slider.vue.d.ts +165 -0
- package/lib/components/slider/Slider.vue.js +148 -0
- package/lib/components/slider/Slider.vue2.js +4 -0
- package/lib/components/slider/__tests__/Slider.spec.d.ts +1 -0
- package/lib/components/slider/index.d.ts +2 -0
- package/lib/components/slider/theme/Slider.base.theme.d.ts +3 -0
- package/lib/components/slider/theme/Slider.base.theme.js +16 -0
- package/lib/components/slider/theme/Slider.carbon.theme.d.ts +3 -0
- package/lib/components/slider/theme/Slider.carbon.theme.js +16 -0
- package/lib/components/spacer/Spacer.d.ts +2 -0
- package/lib/components/spacer/Spacer.js +12 -0
- package/lib/components/spacer/__tests__/Spacer.spec.d.ts +1 -0
- package/lib/components/spacer/index.d.ts +1 -0
- package/lib/components/spinner/Spinner.vue.d.ts +38 -0
- package/lib/components/spinner/Spinner.vue.js +27 -0
- package/lib/components/spinner/Spinner.vue2.js +4 -0
- package/lib/components/spinner/__tests__/Spinner.spec.d.ts +1 -0
- package/lib/components/spinner/index.d.ts +2 -0
- 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/stepper/theme/Stepper.carbon.theme.js +5 -0
- package/lib/components/tab/Tab.vue.d.ts +92 -0
- package/lib/components/tab/Tab.vue.js +148 -0
- package/lib/components/tab/Tab.vue2.js +4 -0
- package/lib/components/tab/TabGroup.vue.d.ts +126 -0
- package/lib/components/tab/TabGroup.vue.js +135 -0
- package/lib/components/tab/TabGroup.vue2.js +4 -0
- package/lib/components/tab/__tests__/Tab.spec.d.ts +1 -0
- package/lib/components/tab/__tests__/TabGroup.spec.d.ts +1 -0
- package/lib/components/tab/index.d.ts +4 -0
- package/lib/components/tab/theme/Tab.base.theme.d.ts +3 -0
- package/lib/components/tab/theme/Tab.base.theme.js +15 -0
- package/lib/components/tab/theme/Tab.carbon.theme.d.ts +3 -0
- package/lib/components/tab/theme/Tab.carbon.theme.js +18 -0
- package/lib/components/tab/theme/TabGroup.base.theme.d.ts +3 -0
- package/lib/components/tab/theme/TabGroup.base.theme.js +31 -0
- package/lib/components/tab/theme/TabGroup.carbon.theme.d.ts +3 -0
- package/lib/components/tab/theme/TabGroup.carbon.theme.js +31 -0
- package/lib/components/table/Table.vue.d.ts +284 -0
- package/lib/components/table/Table.vue.js +146 -0
- package/lib/components/table/Table.vue2.js +4 -0
- package/lib/components/table/TableBody.d.ts +2 -0
- package/lib/components/table/TableBody.js +15 -0
- package/lib/components/table/TableCell.vue.d.ts +66 -0
- package/lib/components/table/TableCell.vue.js +42 -0
- package/lib/components/table/TableCell.vue2.js +4 -0
- package/lib/components/table/TableHead.d.ts +2 -0
- package/lib/components/table/TableHead.js +19 -0
- package/lib/components/table/TableHeader.vue.d.ts +58 -0
- package/lib/components/table/TableHeader.vue.js +78 -0
- package/lib/components/table/TableHeader.vue2.js +4 -0
- package/lib/components/table/TableRow.vue.d.ts +30 -0
- package/lib/components/table/TableRow.vue.js +32 -0
- package/lib/components/table/TableRow.vue2.js +4 -0
- package/lib/components/table/__tests__/Table.spec.d.ts +1 -0
- package/lib/components/table/index.d.ts +9 -0
- package/lib/components/table/theme/Table.base.theme.d.ts +3 -0
- package/lib/components/table/theme/Table.base.theme.js +12 -0
- package/lib/components/table/theme/Table.carbon.theme.d.ts +3 -0
- package/lib/components/table/theme/Table.carbon.theme.js +5 -0
- package/lib/components/table/theme/TableCell.base.theme.d.ts +3 -0
- package/lib/components/table/theme/TableCell.base.theme.js +11 -0
- package/lib/components/table/theme/TableCell.carbon.theme.d.ts +3 -0
- package/lib/components/table/theme/TableCell.carbon.theme.js +5 -0
- package/lib/components/tag/Tag.vue.d.ts +76 -0
- package/lib/components/tag/Tag.vue.js +60 -0
- package/lib/components/tag/Tag.vue2.js +4 -0
- package/lib/components/tag/__tests__/Tag.spec.d.ts +1 -0
- package/lib/components/tag/index.d.ts +2 -0
- package/lib/components/tag/theme/Tag.base.theme.d.ts +3 -0
- package/lib/components/tag/theme/Tag.base.theme.js +23 -0
- package/lib/components/tag/theme/Tag.carbon.theme.d.ts +3 -0
- package/lib/components/tag/theme/Tag.carbon.theme.js +24 -0
- package/lib/components/textarea/Textarea.vue.d.ts +173 -0
- package/lib/components/textarea/Textarea.vue.js +113 -0
- package/lib/components/textarea/Textarea.vue2.js +4 -0
- package/lib/components/textarea/__tests__/Textarea.spec.d.ts +1 -0
- package/lib/components/textarea/index.d.ts +2 -0
- package/lib/components/textarea/theme/Textarea.base.theme.d.ts +3 -0
- package/lib/components/textarea/theme/Textarea.base.theme.js +12 -0
- package/lib/components/textarea/theme/Textarea.carbon.theme.d.ts +3 -0
- package/lib/components/textarea/theme/Textarea.carbon.theme.js +12 -0
- package/lib/components/themeProvider/ThemeProvider.vue.d.ts +15 -0
- package/lib/components/themeProvider/ThemeProvider.vue.js +18 -0
- package/lib/components/themeProvider/ThemeProvider.vue2.js +4 -0
- package/lib/components/themeProvider/index.d.ts +1 -0
- package/lib/components/toggle/Toggle.vue.d.ts +134 -0
- package/lib/components/toggle/Toggle.vue.js +108 -0
- package/lib/components/toggle/Toggle.vue2.js +4 -0
- package/lib/components/toggle/__tests__/Toggle.spec.d.ts +1 -0
- package/lib/components/toggle/index.d.ts +2 -0
- package/lib/components/toggle/theme/Toggle.base.theme.d.ts +3 -0
- package/lib/components/toggle/theme/Toggle.base.theme.js +29 -0
- package/lib/components/toggle/theme/Toggle.carbon.theme.d.ts +3 -0
- package/lib/components/toggle/theme/Toggle.carbon.theme.js +5 -0
- package/lib/components/tooltip/Tooltip.vue.d.ts +13 -0
- package/lib/components/tooltip/Tooltip.vue.js +31 -0
- package/lib/components/tooltip/Tooltip.vue2.js +4 -0
- package/lib/components/tooltip/__tests__/Tooltip.spec.d.ts +1 -0
- package/lib/components/tooltip/index.d.ts +2 -0
- package/lib/composables/index.d.ts +7 -0
- package/lib/composables/keys.d.ts +19 -0
- package/lib/composables/keys.js +12 -0
- package/lib/composables/useCSS.d.ts +6 -0
- package/lib/composables/useCSS.js +26 -0
- package/lib/composables/useColors.d.ts +32 -0
- package/lib/composables/useColors.js +52 -0
- package/lib/composables/useCommon.d.ts +15 -0
- package/lib/composables/useCommon.js +17 -0
- package/lib/composables/useFocusTrap.d.ts +6 -0
- package/lib/composables/useFocusTrap.js +45 -0
- package/lib/composables/useInputtable.d.ts +50 -0
- package/lib/composables/useInputtable.js +110 -0
- package/lib/composables/useInteractive.d.ts +23 -0
- package/lib/composables/useInteractive.js +22 -0
- package/lib/composables/useNotifications.d.ts +2 -0
- package/lib/composables/useNotifications.js +9 -0
- package/lib/composables/useTheme.d.ts +29 -0
- package/lib/composables/useTheme.js +59 -0
- package/lib/create.d.ts +12 -0
- package/lib/create.js +21 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.js +145 -0
- package/lib/index.umd.js +166 -0
- package/lib/install.d.ts +4 -0
- package/lib/install.js +10 -0
- package/lib/node_modules/.pnpm/@floating-ui_core@1.5.3/node_modules/@floating-ui/core/dist/floating-ui.core.js +497 -0
- package/lib/node_modules/.pnpm/@floating-ui_dom@1.1.1/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.js +217 -0
- package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.1/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +116 -0
- package/lib/node_modules/.pnpm/@vueuse_core@10.2.0_vue@3.3.9/node_modules/@vueuse/core/index.js +379 -0
- package/lib/node_modules/.pnpm/@vueuse_shared@10.2.0_vue@3.3.9/node_modules/@vueuse/shared/index.js +90 -0
- package/lib/node_modules/.pnpm/floating-vue@5.2.0_vue@3.3.9/node_modules/floating-vue/dist/floating-vue.js +1346 -0
- 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 +59 -0
- package/lib/theme.js +14 -0
- package/lib/themes/base/components.d.ts +46 -0
- package/lib/themes/base/components.js +94 -0
- package/lib/themes/base/index.d.ts +3 -0
- package/lib/themes/base/index.js +14 -0
- package/lib/themes/base/styles.css.js +87 -0
- package/lib/themes/carbon/components.d.ts +46 -0
- package/lib/themes/carbon/components.js +94 -0
- package/lib/themes/carbon/index.d.ts +3 -0
- package/lib/themes/carbon/index.js +14 -0
- package/lib/themes/carbon/styles.css.js +86 -0
- package/lib/themes/index.d.ts +2 -0
- package/lib/version.d.ts +2 -0
- package/lib/version.js +4 -0
- package/package.json +110 -0
- package/src/common/colors.ts +36 -0
- package/src/common/icons.ts +17 -0
- package/src/common/utils.ts +93 -0
- package/src/components/accordion/Accordion.vue +51 -0
- package/src/components/accordion/AccordionItem.vue +183 -0
- 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 +9 -0
- package/src/components/accordion/theme/AccordionItem.base.theme.ts +35 -0
- package/src/components/accordion/theme/AccordionItem.carbon.theme.ts +35 -0
- package/src/components/alert/Alert.vue +101 -0
- package/src/components/alert/__tests__/Alert.spec.ts +11 -0
- package/src/components/alert/index.ts +2 -0
- package/src/components/alert/theme/Alert.base.theme.ts +58 -0
- package/src/components/alert/theme/Alert.carbon.theme.ts +59 -0
- package/src/components/avatar/Avatar.vue +108 -0
- package/src/components/avatar/__tests__/Avatar.spec.ts +11 -0
- package/src/components/avatar/index.ts +2 -0
- package/src/components/avatar/theme/Avatar.base.theme.ts +41 -0
- package/src/components/avatar/theme/Avatar.carbon.theme.ts +7 -0
- package/src/components/badge/Badge.vue +129 -0
- package/src/components/badge/__tests__/Badge.spec.ts +11 -0
- package/src/components/badge/index.ts +2 -0
- package/src/components/badge/theme/Badge.base.theme.ts +15 -0
- package/src/components/badge/theme/Badge.carbon.theme.ts +7 -0
- package/src/components/breadcrumbs/Breadcrumbs.vue +75 -0
- package/src/components/breadcrumbs/__tests__/Breadcrumbs.spec.ts +11 -0
- package/src/components/breadcrumbs/index.ts +2 -0
- package/src/components/breadcrumbs/theme/Breadcrumbs.base.theme.ts +11 -0
- package/src/components/breadcrumbs/theme/Breadcrumbs.carbon.theme.ts +12 -0
- package/src/components/button/Button.vue +191 -0
- package/src/components/button/ButtonGroup.vue +90 -0
- package/src/components/button/__tests__/ Button.spec.ts +11 -0
- package/src/components/button/__tests__/ ButtonGroup.spec.ts +11 -0
- package/src/components/button/index.ts +5 -0
- package/src/components/button/theme/Button.base.theme.ts +229 -0
- package/src/components/button/theme/Button.carbon.theme.ts +237 -0
- package/src/components/button/theme/ButtonGroup.base.theme.ts +9 -0
- package/src/components/button/theme/ButtonGroup.carbon.theme.ts +9 -0
- package/src/components/card/Card.vue +38 -0
- package/src/components/card/__tests__/Card.spec.ts +11 -0
- package/src/components/card/index.ts +2 -0
- package/src/components/card/theme/Card.base.theme.ts +9 -0
- package/src/components/card/theme/Card.carbon.theme.ts +7 -0
- package/src/components/carousel/Carousel.vue +138 -0
- package/src/components/carousel/CarouselSlide.vue +45 -0
- package/src/components/carousel/__tests__/Carousel.spec.ts +11 -0
- package/src/components/carousel/index.ts +4 -0
- package/src/components/carousel/theme/Carousel.base.theme.ts +25 -0
- package/src/components/carousel/theme/Carousel.carbon.theme.ts +7 -0
- package/src/components/carousel/theme/CarouselSlide.base.theme.ts +9 -0
- package/src/components/carousel/theme/CarouselSlide.carbon.theme.ts +7 -0
- package/src/components/checkbox/Checkbox.vue +178 -0
- package/src/components/checkbox/__tests__/Checkbox.spec.ts +11 -0
- package/src/components/checkbox/index.ts +2 -0
- package/src/components/checkbox/theme/Checkbox.base.theme.ts +108 -0
- package/src/components/checkbox/theme/Checkbox.carbon.theme.ts +108 -0
- package/src/components/container/Container.vue +37 -0
- package/src/components/container/__tests__/Container.spec.ts +11 -0
- package/src/components/container/index.ts +2 -0
- package/src/components/container/theme/Container.base.theme.ts +9 -0
- package/src/components/container/theme/Container.carbon.theme.ts +7 -0
- package/src/components/divider/Divider.vue +62 -0
- package/src/components/divider/__tests__/Divider.spec.ts +11 -0
- package/src/components/divider/index.ts +2 -0
- package/src/components/divider/theme/Divider.base.theme.ts +13 -0
- package/src/components/divider/theme/Divider.carbon.theme.ts +7 -0
- package/src/components/drawer/Drawer.vue +249 -0
- package/src/components/drawer/__tests__/Drawer.spec.ts +11 -0
- package/src/components/drawer/index.ts +2 -0
- package/src/components/drawer/theme/Drawer.base.theme.ts +11 -0
- package/src/components/drawer/theme/Drawer.carbon.theme.ts +7 -0
- package/src/components/form/Form.vue +159 -0
- package/src/components/form/__tests__/Form.spec.ts +11 -0
- package/src/components/form/index.ts +2 -0
- package/src/components/form/theme/Form.base.theme.ts +17 -0
- package/src/components/form/theme/Form.carbon.theme.ts +17 -0
- 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/Icon.vue +119 -0
- package/src/components/icon/__tests__/Icon.spec.ts +15 -0
- package/src/components/icon/index.ts +2 -0
- package/src/components/icon/theme/Icon.base.theme.ts +18 -0
- package/src/components/icon/theme/Icon.carbon.theme.ts +9 -0
- package/src/components/image/Image.vue +42 -0
- package/src/components/image/__tests__/Image.spec.ts +11 -0
- package/src/components/image/index.ts +2 -0
- package/src/components/image/theme/Image.base.theme.ts +9 -0
- package/src/components/image/theme/Image.carbon.theme.ts +7 -0
- package/src/components/index.ts +42 -0
- package/src/components/input/Input.vue +181 -0
- package/src/components/input/__tests__/Input.spec.ts +11 -0
- package/src/components/input/index.ts +2 -0
- package/src/components/input/theme/Input.base.theme.ts +35 -0
- package/src/components/input/theme/Input.carbon.theme.ts +37 -0
- package/src/components/inputFooter/InputFooter.vue +29 -0
- package/src/components/inputFooter/__tests__/InputFooter.spec.ts +11 -0
- package/src/components/inputFooter/index.ts +2 -0
- package/src/components/inputFooter/theme/InputFooter.base.theme.ts +11 -0
- package/src/components/inputFooter/theme/InputFooter.carbon.theme.ts +11 -0
- package/src/components/label/Label.vue +54 -0
- package/src/components/label/__tests__/Label.spec.ts +11 -0
- package/src/components/label/index.ts +2 -0
- package/src/components/label/theme/Label.base.theme.ts +27 -0
- package/src/components/label/theme/Label.carbon.theme.ts +20 -0
- package/src/components/link/Link.vue +94 -0
- package/src/components/link/__tests__/Link.spec.ts +11 -0
- package/src/components/link/index.ts +2 -0
- package/src/components/link/theme/Link.base.theme.ts +28 -0
- package/src/components/link/theme/Link.carbon.theme.ts +7 -0
- package/src/components/loader/Loader.vue +59 -0
- package/src/components/loader/__tests__/Loader.spec.ts +11 -0
- package/src/components/loader/index.ts +2 -0
- package/src/components/loader/theme/Loader.base.theme.ts +12 -0
- package/src/components/loader/theme/Loader.carbon.theme.ts +12 -0
- package/src/components/menu/Menu.vue +173 -0
- package/src/components/menu/MenuItem.vue +209 -0
- package/src/components/menu/__tests__/Menu.spec.ts +11 -0
- package/src/components/menu/__tests__/MenuItem.spec.ts +11 -0
- package/src/components/menu/index.ts +5 -0
- package/src/components/menu/theme/Menu.base.theme.ts +9 -0
- package/src/components/menu/theme/Menu.carbon.theme.ts +7 -0
- package/src/components/menu/theme/MenuItem.base.theme.ts +109 -0
- package/src/components/menu/theme/MenuItem.carbon.theme.ts +7 -0
- package/src/components/modal/Modal.vue +226 -0
- package/src/components/modal/__tests__/Modal.spec.ts +11 -0
- package/src/components/modal/index.ts +2 -0
- package/src/components/modal/theme/Modal.base.theme.ts +47 -0
- package/src/components/modal/theme/Modal.carbon.theme.ts +60 -0
- package/src/components/notifications/Notifications.vue +318 -0
- package/src/components/notifications/__tests__/Notifications.spec.ts +11 -0
- package/src/components/notifications/index.ts +9 -0
- package/src/components/notifications/theme/Notifications.base.theme.ts +13 -0
- package/src/components/notifications/theme/Notifications.carbon.theme.ts +17 -0
- package/src/components/pagination/Pagination.vue +172 -0
- package/src/components/pagination/PaginationItem.vue +57 -0
- package/src/components/pagination/__tests__/Pagination.spec.ts +11 -0
- package/src/components/pagination/__tests__/PaginationItem.spec.ts +11 -0
- package/src/components/pagination/index.ts +5 -0
- package/src/components/pagination/theme/Pagination.base.theme.ts +29 -0
- package/src/components/pagination/theme/Pagination.carbon.theme.ts +7 -0
- package/src/components/pagination/theme/PaginationItem.base.theme.ts +16 -0
- package/src/components/pagination/theme/PaginationItem.carbon.theme.ts +7 -0
- package/src/components/popover/Popover.vue +205 -0
- package/src/components/popover/PopoverContainer.vue +37 -0
- package/src/components/popover/__tests__/Popover.spec.ts +11 -0
- package/src/components/popover/__tests__/PopoverContainer.spec.ts +11 -0
- package/src/components/popover/index.ts +5 -0
- package/src/components/popover/theme/Popover.base.theme.ts +11 -0
- package/src/components/popover/theme/Popover.carbon.theme.ts +7 -0
- package/src/components/popover/theme/PopoverContainer.base.theme.ts +9 -0
- package/src/components/popover/theme/PopoverContainer.carbon.theme.ts +9 -0
- package/src/components/progress/Progress.vue +63 -0
- package/src/components/progress/__tests__/Progress.spec.ts +11 -0
- package/src/components/progress/index.ts +2 -0
- package/src/components/progress/theme/Progress.base.theme.ts +28 -0
- package/src/components/progress/theme/Progress.carbon.theme.ts +7 -0
- package/src/components/radio/Radio.vue +179 -0
- package/src/components/radio/__tests__/Radio.spec.ts +11 -0
- package/src/components/radio/index.ts +2 -0
- package/src/components/radio/theme/Radio.base.theme.ts +129 -0
- package/src/components/radio/theme/Radio.carbon.theme.ts +110 -0
- package/src/components/scroll/Scroll.vue +155 -0
- package/src/components/scroll/__tests__/Scroll.spec.ts +11 -0
- package/src/components/scroll/index.ts +2 -0
- package/src/components/scroll/theme/Scroll.base.theme.ts +9 -0
- package/src/components/scroll/theme/Scroll.carbon.theme.ts +7 -0
- package/src/components/select/Select.vue +452 -0
- package/src/components/select/__tests__/Select.spec.ts +11 -0
- package/src/components/select/index.ts +2 -0
- package/src/components/select/theme/Select.base.theme.ts +56 -0
- package/src/components/select/theme/Select.carbon.theme.ts +54 -0
- package/src/components/skeleton/Skeleton.vue +37 -0
- package/src/components/skeleton/__tests__/Skeleton.spec.ts +11 -0
- package/src/components/skeleton/index.ts +2 -0
- package/src/components/skeleton/theme/Skeleton.base.theme.ts +9 -0
- package/src/components/skeleton/theme/Skeleton.carbon.theme.ts +7 -0
- package/src/components/slider/Slider.vue +216 -0
- package/src/components/slider/__tests__/Slider.spec.ts +11 -0
- package/src/components/slider/index.ts +2 -0
- package/src/components/slider/theme/Slider.base.theme.ts +21 -0
- package/src/components/slider/theme/Slider.carbon.theme.ts +21 -0
- package/src/components/spacer/Spacer.tsx +8 -0
- package/src/components/spacer/__tests__/Spacer.spec.ts +11 -0
- package/src/components/spacer/index.ts +1 -0
- package/src/components/spinner/Spinner.vue +31 -0
- package/src/components/spinner/__tests__/Spinner.spec.ts +11 -0
- package/src/components/spinner/index.ts +2 -0
- package/src/components/stepper/Stepper.vue +153 -0
- package/src/components/stepper/__tests__/Stepper.spec.ts +11 -0
- 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 +179 -0
- package/src/components/tab/TabGroup.vue +185 -0
- package/src/components/tab/__tests__/Tab.spec.ts +11 -0
- package/src/components/tab/__tests__/TabGroup.spec.ts +11 -0
- package/src/components/tab/index.ts +11 -0
- package/src/components/tab/theme/Tab.base.theme.ts +28 -0
- package/src/components/tab/theme/Tab.carbon.theme.ts +34 -0
- package/src/components/tab/theme/TabGroup.base.theme.ts +55 -0
- package/src/components/tab/theme/TabGroup.carbon.theme.ts +55 -0
- package/src/components/table/Table.vue +174 -0
- package/src/components/table/TableBody.tsx +8 -0
- package/src/components/table/TableCell.vue +57 -0
- package/src/components/table/TableHead.tsx +14 -0
- package/src/components/table/TableHeader.vue +95 -0
- package/src/components/table/TableRow.vue +46 -0
- package/src/components/table/__tests__/Table.spec.ts +11 -0
- package/src/components/table/index.ts +10 -0
- package/src/components/table/theme/Table.base.theme.ts +21 -0
- package/src/components/table/theme/Table.carbon.theme.ts +7 -0
- package/src/components/table/theme/TableCell.base.theme.ts +29 -0
- package/src/components/table/theme/TableCell.carbon.theme.ts +7 -0
- package/src/components/tag/Tag.vue +80 -0
- package/src/components/tag/__tests__/Tag.spec.ts +11 -0
- package/src/components/tag/index.ts +2 -0
- package/src/components/tag/theme/Tag.base.theme.ts +34 -0
- package/src/components/tag/theme/Tag.carbon.theme.ts +34 -0
- package/src/components/textarea/Textarea.vue +147 -0
- package/src/components/textarea/__tests__/Textarea.spec.ts +11 -0
- package/src/components/textarea/index.ts +2 -0
- package/src/components/textarea/theme/Textarea.base.theme.ts +27 -0
- package/src/components/textarea/theme/Textarea.carbon.theme.ts +29 -0
- package/src/components/themeProvider/ThemeProvider.vue +28 -0
- package/src/components/themeProvider/index.ts +1 -0
- package/src/components/toggle/Toggle.vue +122 -0
- package/src/components/toggle/__tests__/Toggle.spec.ts +11 -0
- package/src/components/toggle/index.ts +2 -0
- package/src/components/toggle/theme/Toggle.base.theme.ts +53 -0
- package/src/components/toggle/theme/Toggle.carbon.theme.ts +7 -0
- package/src/components/tooltip/Tooltip.vue +26 -0
- package/src/components/tooltip/__tests__/Tooltip.spec.ts +11 -0
- package/src/components/tooltip/index.ts +2 -0
- package/src/composables/index.ts +7 -0
- package/src/composables/keys.ts +20 -0
- package/src/composables/useCSS.ts +50 -0
- package/src/composables/useColors.ts +98 -0
- package/src/composables/useCommon.ts +21 -0
- package/src/composables/useFocusTrap.ts +106 -0
- package/src/composables/useInputtable.ts +172 -0
- package/src/composables/useInteractive.ts +28 -0
- package/src/composables/useNotifications.ts +11 -0
- package/src/composables/useTheme.ts +97 -0
- package/src/create.ts +43 -0
- package/src/index.ts +10 -0
- package/src/install.ts +8 -0
- package/src/shims-vue.d.ts +6 -0
- package/src/theme.ts +125 -0
- package/src/themes/base/components.ts +46 -0
- package/src/themes/base/index.ts +15 -0
- package/src/themes/base/styles.css +83 -0
- package/src/themes/carbon/components.ts +46 -0
- package/src/themes/carbon/index.ts +15 -0
- package/src/themes/carbon/styles.css +82 -0
- package/src/themes/index.ts +2 -0
- package/src/version.ts +1 -0
- package/volar.d.ts +60 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
const o = `html {
|
|
2
|
+
color: #111827;
|
|
3
|
+
background-color: white;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
html.dark {
|
|
7
|
+
color: #f3f4f6;
|
|
8
|
+
background-color: #111827;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
*,
|
|
12
|
+
::before,
|
|
13
|
+
::after {
|
|
14
|
+
border-color: #e5e7eb;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.dark *,
|
|
18
|
+
.dark ::before,
|
|
19
|
+
.dark ::after {
|
|
20
|
+
border-color: #374151;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
:root {
|
|
24
|
+
--font-family-sans: "IBM Plex Sans", "Helvetica Neue", arial, sans-serif;
|
|
25
|
+
--font-family-mono: "IBM Plex Mono", "Menlo", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", courier, monospace;
|
|
26
|
+
--border-color: 226, 232, 240;
|
|
27
|
+
--primary-color-50: 236, 253, 245;
|
|
28
|
+
--primary-color-100: 209, 250, 229;
|
|
29
|
+
--primary-color-200: 167, 243, 208;
|
|
30
|
+
--primary-color-300: 110, 231, 183;
|
|
31
|
+
--primary-color-400: 52, 211, 153;
|
|
32
|
+
--primary-color-500: 16, 185, 129;
|
|
33
|
+
--primary-color-600: 5, 150, 105;
|
|
34
|
+
--primary-color-700: 4, 120, 87;
|
|
35
|
+
--primary-color-800: 6, 95, 70;
|
|
36
|
+
--primary-color-900: 6, 78, 59;
|
|
37
|
+
--primary-color-950: 2, 44, 34;
|
|
38
|
+
--secondary-color-50: 248, 250, 252;
|
|
39
|
+
--secondary-color-100: 241, 245, 249;
|
|
40
|
+
--secondary-color-200: 226, 232, 240;
|
|
41
|
+
--secondary-color-300: 203, 213, 225;
|
|
42
|
+
--secondary-color-400: 148, 163, 184;
|
|
43
|
+
--secondary-color-500: 100, 116, 139;
|
|
44
|
+
--secondary-color-600: 71, 85, 105;
|
|
45
|
+
--secondary-color-700: 51, 65, 85;
|
|
46
|
+
--secondary-color-800: 30, 41, 59;
|
|
47
|
+
--secondary-color-900: 15, 23, 42;
|
|
48
|
+
--secondary-color-950: 2, 6, 23;
|
|
49
|
+
--success-color-50: 240, 253, 244;
|
|
50
|
+
--success-color-100: 220, 252, 231;
|
|
51
|
+
--success-color-200: 187, 247, 208;
|
|
52
|
+
--success-color-300: 134, 239, 172;
|
|
53
|
+
--success-color-400: 74, 222, 128;
|
|
54
|
+
--success-color-500: 34, 197, 94;
|
|
55
|
+
--success-color-600: 22, 163, 74;
|
|
56
|
+
--success-color-700: 21, 128, 61;
|
|
57
|
+
--success-color-800: 22, 101, 52;
|
|
58
|
+
--success-color-900: 20, 83, 45;
|
|
59
|
+
--success-color-950: 5, 46, 22;
|
|
60
|
+
--warning-color-50: 254, 252, 232;
|
|
61
|
+
--warning-color-100: 254, 249, 195;
|
|
62
|
+
--warning-color-200: 254, 240, 138;
|
|
63
|
+
--warning-color-300: 253, 224, 71;
|
|
64
|
+
--warning-color-400: 250, 204, 21;
|
|
65
|
+
--warning-color-500: 234, 179, 8;
|
|
66
|
+
--warning-color-600: 202, 138, 4;
|
|
67
|
+
--warning-color-700: 161, 98, 7;
|
|
68
|
+
--warning-color-800: 133, 77, 14;
|
|
69
|
+
--warning-color-900: 113, 63, 18;
|
|
70
|
+
--warning-color-950: 66, 32, 6;
|
|
71
|
+
--error-color-50: 254, 242, 242;
|
|
72
|
+
--error-color-100: 254, 226, 226;
|
|
73
|
+
--error-color-200: 254, 202, 202;
|
|
74
|
+
--error-color-300: 252, 165, 165;
|
|
75
|
+
--error-color-400: 248, 113, 113;
|
|
76
|
+
--error-color-500: 239, 68, 68;
|
|
77
|
+
--error-color-600: 220, 38, 38;
|
|
78
|
+
--error-color-700: 185, 28, 28;
|
|
79
|
+
--error-color-800: 153, 27, 27;
|
|
80
|
+
--error-color-900: 127, 29, 29;
|
|
81
|
+
--error-color-950: 69, 10, 10;
|
|
82
|
+
}
|
|
83
|
+
`;
|
|
84
|
+
export {
|
|
85
|
+
o as default
|
|
86
|
+
};
|
package/lib/version.d.ts
ADDED
package/lib/version.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@indielayer/ui",
|
|
3
|
+
"version": "0.0.0-dev-20240125104319",
|
|
4
|
+
"description": "Indielayer UI Components with Tailwind CSS build for Vue 3",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "João Teixeira",
|
|
7
|
+
"url": "https://indielayer.com/"
|
|
8
|
+
},
|
|
9
|
+
"keywords": [
|
|
10
|
+
"vue",
|
|
11
|
+
"vue 3",
|
|
12
|
+
"tailwindcss",
|
|
13
|
+
"components",
|
|
14
|
+
"ui framework",
|
|
15
|
+
"component framework",
|
|
16
|
+
"ui library",
|
|
17
|
+
"component library",
|
|
18
|
+
"indielayer"
|
|
19
|
+
],
|
|
20
|
+
"files": [
|
|
21
|
+
"lib",
|
|
22
|
+
"src",
|
|
23
|
+
"*.d.ts",
|
|
24
|
+
"exports",
|
|
25
|
+
"README.md"
|
|
26
|
+
],
|
|
27
|
+
"type": "module",
|
|
28
|
+
"main": "lib/index.umd.js",
|
|
29
|
+
"module": "lib/index.js",
|
|
30
|
+
"types": "lib/index.d.ts",
|
|
31
|
+
"exports": {
|
|
32
|
+
".": {
|
|
33
|
+
"import": "./lib/index.js",
|
|
34
|
+
"require": "./lib/index.umd.js",
|
|
35
|
+
"types": "./lib/index.d.ts"
|
|
36
|
+
},
|
|
37
|
+
"./nuxt": "./exports/nuxt.mjs",
|
|
38
|
+
"./nuxt.plugin": "./exports/nuxt.plugin.js",
|
|
39
|
+
"./nuxt.plugin.js": "./exports/nuxt.plugin.js",
|
|
40
|
+
"./tailwind.preset": "./exports/tailwind.preset.js",
|
|
41
|
+
"./tailwind.preset.js": "./exports/tailwind.preset.js"
|
|
42
|
+
},
|
|
43
|
+
"sideEffects": false,
|
|
44
|
+
"peerDependencies": {
|
|
45
|
+
"tailwindcss": "^3.0.0",
|
|
46
|
+
"vue": "^3.0.0"
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@indielayer/stylelint-config": "^1.0.0",
|
|
50
|
+
"@rushstack/eslint-patch": "^1.3.2",
|
|
51
|
+
"@tsconfig/node18": "^2.0.1",
|
|
52
|
+
"@types/jsdom": "^21.1.1",
|
|
53
|
+
"@types/node": "^18.16.18",
|
|
54
|
+
"@vitejs/plugin-vue": "^4.2.3",
|
|
55
|
+
"@vitejs/plugin-vue-jsx": "^3.0.1",
|
|
56
|
+
"@vue/test-utils": "^2.4.0",
|
|
57
|
+
"@vue/tsconfig": "^0.4.0",
|
|
58
|
+
"@vueuse/core": "^10.2.0",
|
|
59
|
+
"autoprefixer": "^10.4.0",
|
|
60
|
+
"c8": "^7.12.0",
|
|
61
|
+
"clean-css": "^5.3.0",
|
|
62
|
+
"eslint": "^8.43.0",
|
|
63
|
+
"floating-vue": "^5.2.0",
|
|
64
|
+
"jsdom": "^22.1.0",
|
|
65
|
+
"postcss": "^8.4.4",
|
|
66
|
+
"rollup-plugin-visualizer": "^5.9.2",
|
|
67
|
+
"shiki": "^0.14.3",
|
|
68
|
+
"stylelint": "^14.16.1",
|
|
69
|
+
"tailwindcss": "^3.3.2",
|
|
70
|
+
"typescript": "^5.2.2",
|
|
71
|
+
"vite": "^4.4.11",
|
|
72
|
+
"vitest": "^0.32.2",
|
|
73
|
+
"vue": "^3.3.9",
|
|
74
|
+
"vue-router": "^4.2.2",
|
|
75
|
+
"vue-tsc": "^1.8.2"
|
|
76
|
+
},
|
|
77
|
+
"browserslist": [
|
|
78
|
+
"> 1%",
|
|
79
|
+
"last 2 versions",
|
|
80
|
+
"not dead"
|
|
81
|
+
],
|
|
82
|
+
"bugs": {
|
|
83
|
+
"url": "https://github.com/indielayer/ui/issues"
|
|
84
|
+
},
|
|
85
|
+
"homepage": "https://github.com/indielayer/ui#readme",
|
|
86
|
+
"license": "MIT",
|
|
87
|
+
"repository": {
|
|
88
|
+
"type": "git",
|
|
89
|
+
"url": "git+https://github.com/indielayer/ui.git"
|
|
90
|
+
},
|
|
91
|
+
"publishConfig": {
|
|
92
|
+
"access": "public"
|
|
93
|
+
},
|
|
94
|
+
"scripts": {
|
|
95
|
+
"dev": "vite dev --mode docs",
|
|
96
|
+
"build": "pnpm generate && vite build",
|
|
97
|
+
"build:docs": "pnpm build --mode docs",
|
|
98
|
+
"build:prod": "pnpm build && pnpm gen-types",
|
|
99
|
+
"build:watch": "pnpm generate && vite build --watch",
|
|
100
|
+
"build:only": "vite build",
|
|
101
|
+
"build:stats": "VITE_VISUALIZER=Y npm run build",
|
|
102
|
+
"generate": "pnpm gen-version",
|
|
103
|
+
"gen-types": "vue-tsc --declaration --emitDeclarationOnly -p tsconfig.vitest.json --composite false",
|
|
104
|
+
"gen-version": "node .scripts/gen-version.cjs",
|
|
105
|
+
"test": "pnpm test:unit",
|
|
106
|
+
"test:unit": "vitest --environment jsdom",
|
|
107
|
+
"typecheck": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
|
|
108
|
+
"stylelint": "stylelint \"**/*.{css,vue,postcss,scss,sass}\" --ignore-path .gitignore"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Tone, ColorLibrary } from '../composables/useColors'
|
|
2
|
+
|
|
3
|
+
const isHex = (hex: string) => /^#(?:[A-Fa-f0-9]{3}){1,2}$/.test(hex)
|
|
4
|
+
const isRGB = (rgb: string) => /^rgb[(](?:\s*0*(?:\d\d?(?:\.\d+)?(?:\s*%)?|\.\d+\s*%|100(?:\.0*)?\s*%|(?:1\d\d|2[0-4]\d|25[0-5])(?:\.\d+)?)\s*(?:,(?![)])|(?=[)]))){3}[)]$/.test(rgb)
|
|
5
|
+
const isRGBA = (rgba: string) => /^^rgba[(](?:\s*0*(?:\d\d?(?:\.\d+)?(?:\s*%)?|\.\d+\s*%|100(?:\.0*)?\s*%|(?:1\d\d|2[0-4]\d|25[0-5])(?:\.\d+)?)\s*,){3}\s*0*(?:\.\d+|1(?:\.0*)?)\s*[)]$/.test(rgba)
|
|
6
|
+
const parseRGB = (rgb: string) => rgb.match(/\((.*?)\)/)?.[1].split(',')
|
|
7
|
+
const hexToRGB = (hex: string) => hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (m, r, g, b) => '#' + r + r + g + g + b + b)
|
|
8
|
+
.substring(1).match(/.{2}/g)
|
|
9
|
+
?.map((x) => parseInt(x, 16))
|
|
10
|
+
|
|
11
|
+
export const setOpacity = (color: string, opacity: number) => {
|
|
12
|
+
const [r, g, b] = (isHex(color) ? hexToRGB(color) : parseRGB(color)) ?? [0, 0, 0]
|
|
13
|
+
|
|
14
|
+
return 'rgba' + '(' + r + ',' + g + ',' + b + ',' + opacity + ')'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const isValidColor = (color: string) => isHex(color) || isRGB(color) || isRGBA(color)
|
|
18
|
+
|
|
19
|
+
export const colorShade = (color: string, percentage: number) => {
|
|
20
|
+
const lighten = percentage < 0
|
|
21
|
+
const base = lighten ? 1 + percentage : 1 - percentage
|
|
22
|
+
const shade = lighten ? 0 : percentage * 255 ** 2
|
|
23
|
+
const calcPrimary = (p: string | number) => Math.round((base * Math.floor(Number(p)) ** 2 + shade) ** 0.5)
|
|
24
|
+
|
|
25
|
+
const [r, g, b, a] = (isHex(color) ? hexToRGB(color) : parseRGB(color)) ?? [0, 0, 0]
|
|
26
|
+
const red = calcPrimary(r)
|
|
27
|
+
const green = calcPrimary(g)
|
|
28
|
+
const blue = calcPrimary(b)
|
|
29
|
+
|
|
30
|
+
return 'rgb' + (a ? 'a(' : '(') + red + ',' + green + ',' + blue + (a ? ',' + a : ')')
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const shades: Tone[] = ['50', '100', '200', '300', '400', '500', '600', '700', '800', '900']
|
|
34
|
+
export const indielayerColors = ['primary', 'secondary', 'success', 'warning', 'error']
|
|
35
|
+
|
|
36
|
+
export const tailwindColors: ColorLibrary = Object.freeze({ 'slate': { '50': '#f8fafc', '100': '#f1f5f9', '200': '#e2e8f0', '300': '#cbd5e1', '400': '#94a3b8', '500': '#64748b', '600': '#475569', '700': '#334155', '800': '#1e293b', '900': '#0f172a', '950': '#020617' }, 'gray': { '50': '#f9fafb', '100': '#f3f4f6', '200': '#e5e7eb', '300': '#d1d5db', '400': '#9ca3af', '500': '#6b7280', '600': '#4b5563', '700': '#374151', '800': '#1f2937', '900': '#111827', '950': '#030712' }, 'zinc': { '50': '#fafafa', '100': '#f4f4f5', '200': '#e4e4e7', '300': '#d4d4d8', '400': '#a1a1aa', '500': '#71717a', '600': '#52525b', '700': '#3f3f46', '800': '#27272a', '900': '#18181b', '950': '#09090b' }, 'neutral': { '50': '#fafafa', '100': '#f5f5f5', '200': '#e5e5e5', '300': '#d4d4d4', '400': '#a3a3a3', '500': '#737373', '600': '#525252', '700': '#404040', '800': '#262626', '900': '#171717', '950': '#0a0a0a' }, 'stone': { '50': '#fafaf9', '100': '#f5f5f4', '200': '#e7e5e4', '300': '#d6d3d1', '400': '#a8a29e', '500': '#78716c', '600': '#57534e', '700': '#44403c', '800': '#292524', '900': '#1c1917', '950': '#0c0a09' }, 'red': { '50': '#fef2f2', '100': '#fee2e2', '200': '#fecaca', '300': '#fca5a5', '400': '#f87171', '500': '#ef4444', '600': '#dc2626', '700': '#b91c1c', '800': '#991b1b', '900': '#7f1d1d', '950': '#450a0a' }, 'orange': { '50': '#fff7ed', '100': '#ffedd5', '200': '#fed7aa', '300': '#fdba74', '400': '#fb923c', '500': '#f97316', '600': '#ea580c', '700': '#c2410c', '800': '#9a3412', '900': '#7c2d12', '950': '#431407' }, 'amber': { '50': '#fffbeb', '100': '#fef3c7', '200': '#fde68a', '300': '#fcd34d', '400': '#fbbf24', '500': '#f59e0b', '600': '#d97706', '700': '#b45309', '800': '#92400e', '900': '#78350f', '950': '#451a03' }, 'yellow': { '50': '#fefce8', '100': '#fef9c3', '200': '#fef08a', '300': '#fde047', '400': '#facc15', '500': '#eab308', '600': '#ca8a04', '700': '#a16207', '800': '#854d0e', '900': '#713f12', '950': '#422006' }, 'lime': { '50': '#f7fee7', '100': '#ecfccb', '200': '#d9f99d', '300': '#bef264', '400': '#a3e635', '500': '#84cc16', '600': '#65a30d', '700': '#4d7c0f', '800': '#3f6212', '900': '#365314', '950': '#1a2e05' }, 'green': { '50': '#f0fdf4', '100': '#dcfce7', '200': '#bbf7d0', '300': '#86efac', '400': '#4ade80', '500': '#22c55e', '600': '#16a34a', '700': '#15803d', '800': '#166534', '900': '#14532d', '950': '#052e16' }, 'emerald': { '50': '#ecfdf5', '100': '#d1fae5', '200': '#a7f3d0', '300': '#6ee7b7', '400': '#34d399', '500': '#10b981', '600': '#059669', '700': '#047857', '800': '#065f46', '900': '#064e3b', '950': '#022c22' }, 'teal': { '50': '#f0fdfa', '100': '#ccfbf1', '200': '#99f6e4', '300': '#5eead4', '400': '#2dd4bf', '500': '#14b8a6', '600': '#0d9488', '700': '#0f766e', '800': '#115e59', '900': '#134e4a', '950': '#042f2e' }, 'cyan': { '50': '#ecfeff', '100': '#cffafe', '200': '#a5f3fc', '300': '#67e8f9', '400': '#22d3ee', '500': '#06b6d4', '600': '#0891b2', '700': '#0e7490', '800': '#155e75', '900': '#164e63', '950': '#083344' }, 'sky': { '50': '#f0f9ff', '100': '#e0f2fe', '200': '#bae6fd', '300': '#7dd3fc', '400': '#38bdf8', '500': '#0ea5e9', '600': '#0284c7', '700': '#0369a1', '800': '#075985', '900': '#0c4a6e', '950': '#082f49' }, 'blue': { '50': '#eff6ff', '100': '#dbeafe', '200': '#bfdbfe', '300': '#93c5fd', '400': '#60a5fa', '500': '#3b82f6', '600': '#2563eb', '700': '#1d4ed8', '800': '#1e40af', '900': '#1e3a8a', '950': '#172554' }, 'indigo': { '50': '#eef2ff', '100': '#e0e7ff', '200': '#c7d2fe', '300': '#a5b4fc', '400': '#818cf8', '500': '#6366f1', '600': '#4f46e5', '700': '#4338ca', '800': '#3730a3', '900': '#312e81', '950': '#1e1b4b' }, 'violet': { '50': '#f5f3ff', '100': '#ede9fe', '200': '#ddd6fe', '300': '#c4b5fd', '400': '#a78bfa', '500': '#8b5cf6', '600': '#7c3aed', '700': '#6d28d9', '800': '#5b21b6', '900': '#4c1d95', '950': '#2e1065' }, 'purple': { '50': '#faf5ff', '100': '#f3e8ff', '200': '#e9d5ff', '300': '#d8b4fe', '400': '#c084fc', '500': '#a855f7', '600': '#9333ea', '700': '#7e22ce', '800': '#6b21a8', '900': '#581c87', '950': '#3b0764' }, 'fuchsia': { '50': '#fdf4ff', '100': '#fae8ff', '200': '#f5d0fe', '300': '#f0abfc', '400': '#e879f9', '500': '#d946ef', '600': '#c026d3', '700': '#a21caf', '800': '#86198f', '900': '#701a75', '950': '#4a044e' }, 'pink': { '50': '#fdf2f8', '100': '#fce7f3', '200': '#fbcfe8', '300': '#f9a8d4', '400': '#f472b6', '500': '#ec4899', '600': '#db2777', '700': '#be185d', '800': '#9d174d', '900': '#831843', '950': '#500724' }, 'rose': { '50': '#fff1f2', '100': '#ffe4e6', '200': '#fecdd3', '300': '#fda4af', '400': '#fb7185', '500': '#f43f5e', '600': '#e11d48', '700': '#be123c', '800': '#9f1239', '900': '#881337', '950': '#4c0519' }, 'lightBlue': { '50': '#f0f9ff', '100': '#e0f2fe', '200': '#bae6fd', '300': '#7dd3fc', '400': '#38bdf8', '500': '#0ea5e9', '600': '#0284c7', '700': '#0369a1', '800': '#075985', '900': '#0c4a6e', '950': '#082f49' }, 'warmGray': { '50': '#fafaf9', '100': '#f5f5f4', '200': '#e7e5e4', '300': '#d6d3d1', '400': '#a8a29e', '500': '#78716c', '600': '#57534e', '700': '#44403c', '800': '#292524', '900': '#1c1917', '950': '#0c0a09' }, 'trueGray': { '50': '#fafafa', '100': '#f5f5f5', '200': '#e5e5e5', '300': '#d4d4d4', '400': '#a3a3a3', '500': '#737373', '600': '#525252', '700': '#404040', '800': '#262626', '900': '#171717', '950': '#0a0a0a' }, 'coolGray': { '50': '#f9fafb', '100': '#f3f4f6', '200': '#e5e7eb', '300': '#d1d5db', '400': '#9ca3af', '500': '#6b7280', '600': '#4b5563', '700': '#374151', '800': '#1f2937', '900': '#111827', '950': '#030712' }, 'blueGray': { '50': '#f8fafc', '100': '#f1f5f9', '200': '#e2e8f0', '300': '#cbd5e1', '400': '#94a3b8', '500': '#64748b', '600': '#475569', '700': '#334155', '800': '#1e293b', '900': '#0f172a', '950': '#020617' } })
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const infoIcon = '<path d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />'
|
|
2
|
+
export const successIcon = '<path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />'
|
|
3
|
+
export const errorIcon = '<path d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />'
|
|
4
|
+
export const warningIcon = '<path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />'
|
|
5
|
+
export const closeIcon = '<path d="M6 18L18 6M6 6l12 12" />'
|
|
6
|
+
export const avatarIcon = '<path d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" />'
|
|
7
|
+
export const arrowRightIcon = '<path d="M13 7l5 5m0 0l-5 5m5-5H6" />'
|
|
8
|
+
export const eyeIcon = '<path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" /><path d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z" />'
|
|
9
|
+
export const eyeVisibleIcon = '<path d="M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21" />'
|
|
10
|
+
export const dotsIcon = '<path d="M5 12h.01M12 12h.01M19 12h.01M6 12a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0z" />'
|
|
11
|
+
export const prevIcon = '<path d="M15 19l-7-7 7-7" />'
|
|
12
|
+
export const nextIcon = '<path d="M9 5l7 7-7 7" />'
|
|
13
|
+
export const checkIcon = '<path d="M5 13l4 4L19 7" />'
|
|
14
|
+
export const chevronDownIcon = '<path d="M8 9l4-4 4 4m0 6l-4 4-4-4" />'
|
|
15
|
+
export const externalIcon = '<line x1="7" y1="17" x2="17" y2="7" /><polyline points="7 7 17 7 17 17" />'
|
|
16
|
+
export const stepperPristineIcon = '<path d="M7.5 4.21v.01M4.21 7.5v.01M3 12v.01m1.21 4.49v.01m3.29 3.28v.01M12 21v.01m4.5-1.22v.01m3.29-3.3v.01M21 12v.01M19.79 7.5v.01m-3.29-3.3v.01M12 3v.01"/>'
|
|
17
|
+
export const stepperIncompleteIcon = '<svg focusable="false" preserveAspectRatio="xMidYMid meet" fill="currentColor" viewBox="0 0 32 32" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><path d="M23.7642 6.8593l1.2851-1.5315A13.976 13.976 0 0020.8672 2.887l-.6836 1.8776A11.9729 11.9729 0 0123.7642 6.8593zM27.81 14l1.9677-.4128A13.8888 13.8888 0 0028.14 9.0457L26.4087 10A12.52 12.52 0 0127.81 14zM20.1836 27.2354l.6836 1.8776a13.976 13.976 0 004.1821-2.4408l-1.2851-1.5315A11.9729 11.9729 0 0120.1836 27.2354zM26.4087 22L28.14 23a14.14 14.14 0 001.6382-4.5872L27.81 18.0659A12.1519 12.1519 0 0126.4087 22zM16 30V2a14 14 0 000 28z"></path></svg>'
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { unref, isRef } from 'vue'
|
|
2
|
+
|
|
3
|
+
export const isObject = (val: unknown): val is object => val !== null && typeof val === 'object'
|
|
4
|
+
export const isArray = (val: unknown): val is [] => Array.isArray(val)
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
6
|
+
export const isFunction = (val: unknown): val is Function => typeof val === 'function'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Deeply unref a value, recursing into objects and arrays.
|
|
10
|
+
*
|
|
11
|
+
* @param {Mixed} val - The value to deeply unref.
|
|
12
|
+
* @return {Mixed}
|
|
13
|
+
*/
|
|
14
|
+
export const deepUnref = (val: any) => {
|
|
15
|
+
const checkedVal = isRef(val) ? unref(val) : val
|
|
16
|
+
|
|
17
|
+
if (!isObject(checkedVal)) {
|
|
18
|
+
return checkedVal
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (isArray(checkedVal)) {
|
|
22
|
+
return unrefArray(checkedVal)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return unrefObject(checkedVal)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Unref a value, recursing into it if it's an object.
|
|
30
|
+
*
|
|
31
|
+
* @param {Mixed} val - The value to unref.
|
|
32
|
+
* @return {Mixed}
|
|
33
|
+
*/
|
|
34
|
+
export const smartUnref = (val: any) => {
|
|
35
|
+
// Non-ref object? Go deeper!
|
|
36
|
+
if (val !== null && !isRef(val) && typeof val === 'object') {
|
|
37
|
+
return deepUnref(val)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return unref(val)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Unref an array, recursively.
|
|
45
|
+
*
|
|
46
|
+
* @param {Array} arr - The array to unref.
|
|
47
|
+
* @return {Array}
|
|
48
|
+
*/
|
|
49
|
+
export const unrefArray: any = (arr: []) => arr.map(smartUnref)
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Unref an object, recursively.
|
|
53
|
+
*
|
|
54
|
+
* @param {Object} obj - The object to unref.
|
|
55
|
+
* @return {Object}
|
|
56
|
+
*/
|
|
57
|
+
export const unrefObject = (obj: any) => {
|
|
58
|
+
const unreffed: any = {}
|
|
59
|
+
|
|
60
|
+
// Object? un-ref it!
|
|
61
|
+
Object.keys(obj).forEach((key) => {
|
|
62
|
+
unreffed[key] = smartUnref(obj[key])
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
return unreffed
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Merge two objects, deeply.
|
|
70
|
+
* @param {Object} source - The source object.
|
|
71
|
+
* @param {Object} target - The target object.
|
|
72
|
+
* @return {Object}
|
|
73
|
+
*/
|
|
74
|
+
export const mergeRightDeep = (source: any = {}, target: any = {}) => {
|
|
75
|
+
const sourceKeys = Object.keys(source)
|
|
76
|
+
const targetKeys = Object.keys(target)
|
|
77
|
+
|
|
78
|
+
const merged = { ...source }
|
|
79
|
+
|
|
80
|
+
targetKeys.forEach((key) => {
|
|
81
|
+
if (sourceKeys.includes(key)) {
|
|
82
|
+
if (isObject(source[key]) && isObject(target[key])) {
|
|
83
|
+
merged[key] = mergeRightDeep(source[key], target[key])
|
|
84
|
+
} else {
|
|
85
|
+
merged[key] = target[key]
|
|
86
|
+
}
|
|
87
|
+
} else {
|
|
88
|
+
merged[key] = target[key]
|
|
89
|
+
}
|
|
90
|
+
})
|
|
91
|
+
|
|
92
|
+
return merged
|
|
93
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
const accordionProps = {
|
|
3
|
+
tag: {
|
|
4
|
+
type: String,
|
|
5
|
+
default: 'div',
|
|
6
|
+
},
|
|
7
|
+
disabled: Boolean,
|
|
8
|
+
expanded: Boolean,
|
|
9
|
+
showIcon: {
|
|
10
|
+
type: Boolean,
|
|
11
|
+
default: true,
|
|
12
|
+
},
|
|
13
|
+
icon: String,
|
|
14
|
+
iconAlign: String as PropType<AccordionItemAlign>,
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export type AccordionProps = ExtractPublicPropTypes<typeof accordionProps>
|
|
18
|
+
|
|
19
|
+
type InternalClasses = 'wrapper'
|
|
20
|
+
export interface AccordionTheme extends ThemeComponent<AccordionProps, InternalClasses> {}
|
|
21
|
+
|
|
22
|
+
export default {
|
|
23
|
+
name: 'XAccordion',
|
|
24
|
+
validators: {},
|
|
25
|
+
}
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<script setup lang="ts">
|
|
29
|
+
import { type ExtractPublicPropTypes, type PropType, provide } from 'vue'
|
|
30
|
+
import { useTheme, type ThemeComponent } from '../../composables/useTheme'
|
|
31
|
+
import type { AccordionItemAlign } from './AccordionItem.vue'
|
|
32
|
+
import { injectAccordionKey } from '../../composables/keys'
|
|
33
|
+
|
|
34
|
+
const props = defineProps(accordionProps)
|
|
35
|
+
|
|
36
|
+
provide(injectAccordionKey, props)
|
|
37
|
+
|
|
38
|
+
const { styles, classes, className } = useTheme('Accordion', {}, props)
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
<template>
|
|
42
|
+
<div
|
|
43
|
+
:style="styles"
|
|
44
|
+
:class="[
|
|
45
|
+
className,
|
|
46
|
+
classes.wrapper,
|
|
47
|
+
]"
|
|
48
|
+
>
|
|
49
|
+
<slot></slot>
|
|
50
|
+
</div>
|
|
51
|
+
</template>
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
const accordionItemAlign = ['left', 'right'] as const
|
|
3
|
+
const accordionItemProps = {
|
|
4
|
+
tag: {
|
|
5
|
+
type: String,
|
|
6
|
+
default: 'div',
|
|
7
|
+
},
|
|
8
|
+
disabled: Boolean,
|
|
9
|
+
expanded: Boolean,
|
|
10
|
+
showIcon: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: true,
|
|
13
|
+
},
|
|
14
|
+
icon: String,
|
|
15
|
+
iconAlign: {
|
|
16
|
+
type: String as PropType<AccordionItemAlign>,
|
|
17
|
+
default: 'right',
|
|
18
|
+
},
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type AccordionItemAlign = typeof accordionItemAlign[number]
|
|
22
|
+
export type AccordionItemProps = ExtractPublicPropTypes<typeof accordionItemProps>
|
|
23
|
+
|
|
24
|
+
type InternalClasses = 'wrapper' | 'icon' | 'content'
|
|
25
|
+
type InternalData = {
|
|
26
|
+
collapsed: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface AccordionItemTheme extends ThemeComponent<AccordionItemProps, InternalClasses, InternalData> {}
|
|
29
|
+
|
|
30
|
+
export default {
|
|
31
|
+
name: 'XAccordionItem',
|
|
32
|
+
validators: {
|
|
33
|
+
iconAlign: accordionItemAlign,
|
|
34
|
+
},
|
|
35
|
+
}
|
|
36
|
+
</script>
|
|
37
|
+
|
|
38
|
+
<script setup lang="ts">
|
|
39
|
+
import { ref, watch, type ExtractPublicPropTypes, type PropType, inject, computed, reactive } from 'vue'
|
|
40
|
+
import { useTheme, type ThemeComponent } from '../../composables/useTheme'
|
|
41
|
+
|
|
42
|
+
import XIcon from '../../components/icon/Icon.vue'
|
|
43
|
+
import { injectAccordionKey } from '../../composables/keys'
|
|
44
|
+
|
|
45
|
+
const props = defineProps(accordionItemProps)
|
|
46
|
+
|
|
47
|
+
const emit = defineEmits(['expand'])
|
|
48
|
+
|
|
49
|
+
const accordionProps = inject(injectAccordionKey, {})
|
|
50
|
+
|
|
51
|
+
const computedIconAlign = computed(() => accordionProps.iconAlign || props.iconAlign)
|
|
52
|
+
const computedProps = reactive({
|
|
53
|
+
iconAlign: computedIconAlign,
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
const collapsed = ref(!props.expanded)
|
|
57
|
+
const animated = ref(true)
|
|
58
|
+
|
|
59
|
+
watch(() => props.expanded, () => {
|
|
60
|
+
collapsed.value = !props.expanded
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
function onBeforeEnter(el: Element) {
|
|
64
|
+
if (animated.value) (el as HTMLElement).style.height = '0px'
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function onEnter(el: Element, done: () => void) {
|
|
68
|
+
if (!animated.value) done()
|
|
69
|
+
else {
|
|
70
|
+
el.addEventListener('transitionend', done)
|
|
71
|
+
setTimeout(() => {
|
|
72
|
+
(el as HTMLElement).style.height = `${el.scrollHeight}px`
|
|
73
|
+
}, 1)
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function onAfterEnter(el: Element) {
|
|
78
|
+
if (!animated.value) {
|
|
79
|
+
animated.value = true
|
|
80
|
+
} else {
|
|
81
|
+
(el as HTMLElement).style.removeProperty('height')
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function onBeforeLeave(el: Element) {
|
|
86
|
+
if (!animated.value) return
|
|
87
|
+
(el as HTMLElement).style.height = `${el.scrollHeight}px`
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function onLeave(el: Element, done: () => void) {
|
|
91
|
+
if (!animated.value) done()
|
|
92
|
+
else {
|
|
93
|
+
el.addEventListener('transitionend', done)
|
|
94
|
+
setTimeout(() => {
|
|
95
|
+
(el as HTMLElement).style.height = '0px'
|
|
96
|
+
}, 1)
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function onAfterLeave(el: Element) {
|
|
101
|
+
if (!animated.value) {
|
|
102
|
+
animated.value = true
|
|
103
|
+
} else {
|
|
104
|
+
(el as HTMLElement).style.removeProperty('height')
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function open(anim = true) {
|
|
109
|
+
animated.value = anim
|
|
110
|
+
collapsed.value = false
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function close(anim = true) {
|
|
114
|
+
animated.value = anim
|
|
115
|
+
collapsed.value = true
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function toggle() {
|
|
119
|
+
if (!props.disabled) collapsed.value = !collapsed.value
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function onExpand(anim = true) {
|
|
123
|
+
open(anim)
|
|
124
|
+
emit('expand')
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const { styles, classes, className } = useTheme('AccordionItem', {}, {
|
|
128
|
+
...props,
|
|
129
|
+
...computedProps,
|
|
130
|
+
}, { collapsed })
|
|
131
|
+
|
|
132
|
+
defineExpose({ toggle, open, close })
|
|
133
|
+
</script>
|
|
134
|
+
|
|
135
|
+
<template>
|
|
136
|
+
<component
|
|
137
|
+
:is="tag"
|
|
138
|
+
:style="styles"
|
|
139
|
+
:class="className"
|
|
140
|
+
:aria-disabled="disabled"
|
|
141
|
+
:aria-expanded="collapsed ? 'false' : 'true'"
|
|
142
|
+
>
|
|
143
|
+
<button
|
|
144
|
+
:class="classes.wrapper"
|
|
145
|
+
@click="toggle"
|
|
146
|
+
>
|
|
147
|
+
<div class="flex-1 overflow-hidden">
|
|
148
|
+
<slot :collapsed="collapsed"></slot>
|
|
149
|
+
</div>
|
|
150
|
+
|
|
151
|
+
<div v-if="showIcon" :class="classes.icon">
|
|
152
|
+
<x-icon v-if="icon" :icon="icon" />
|
|
153
|
+
<svg
|
|
154
|
+
v-else
|
|
155
|
+
viewBox="0 0 24 24"
|
|
156
|
+
stroke="currentColor"
|
|
157
|
+
fill="none"
|
|
158
|
+
role="presentation"
|
|
159
|
+
class="stroke-2 w-4 h-4"
|
|
160
|
+
>
|
|
161
|
+
<path d="M19 9l-7 7-7-7" />
|
|
162
|
+
</svg>
|
|
163
|
+
</div>
|
|
164
|
+
</button>
|
|
165
|
+
|
|
166
|
+
<template v-if="$slots.summary">
|
|
167
|
+
<slot name="summary"></slot>
|
|
168
|
+
</template>
|
|
169
|
+
|
|
170
|
+
<transition
|
|
171
|
+
@before-enter="onBeforeEnter"
|
|
172
|
+
@enter="onEnter"
|
|
173
|
+
@after-enter="onAfterEnter"
|
|
174
|
+
@before-leave="onBeforeLeave"
|
|
175
|
+
@leave="onLeave"
|
|
176
|
+
@after-leave="onAfterLeave"
|
|
177
|
+
>
|
|
178
|
+
<div v-show="!collapsed" :class="classes.content">
|
|
179
|
+
<slot name="content" :expand="onExpand" :collapsed="collapsed"></slot>
|
|
180
|
+
</div>
|
|
181
|
+
</transition>
|
|
182
|
+
</component>
|
|
183
|
+
</template>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { mount } from '@vue/test-utils'
|
|
3
|
+
import Accordion from '../Accordion.vue'
|
|
4
|
+
|
|
5
|
+
describe('Accordion', () => {
|
|
6
|
+
it('renders properly', () => {
|
|
7
|
+
const wrapper = mount(Accordion)
|
|
8
|
+
|
|
9
|
+
expect(wrapper.vm).toBeTruthy()
|
|
10
|
+
})
|
|
11
|
+
})
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { default as XAccordion } from './Accordion.vue'
|
|
2
|
+
export type { AccordionProps, AccordionTheme } from './Accordion.vue'
|
|
3
|
+
export { default as XAccordionItem } from './AccordionItem.vue'
|
|
4
|
+
export type { AccordionItemProps, AccordionItemTheme } from './AccordionItem.vue'
|