@indielayer/ui 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/App.vue +19 -4
- package/docs/assets/css/tailwind.css +7 -1
- package/docs/components/Cookies.vue +3 -1
- package/docs/components/common/CodePreview.vue +1 -1
- package/docs/components/common/DocsCopyPage.vue +200 -0
- package/docs/components/common/DocumentPage.vue +76 -23
- package/docs/components/toolbar/ToolbarColorToggle.vue +29 -18
- package/docs/components/toolbar/ToolbarSearch.vue +4 -4
- package/docs/composables/useDocMeta.ts +63 -4
- package/docs/icons.ts +3 -0
- package/docs/main.ts +25 -26
- package/docs/pages/component/accordion/index.vue +2 -2
- package/docs/pages/component/alert/index.vue +2 -2
- package/docs/pages/component/avatar/index.vue +4 -4
- package/docs/pages/component/badge/index.vue +2 -2
- package/docs/pages/component/breadcrumbs/index.vue +2 -2
- package/docs/pages/component/button/button-group.vue +3 -3
- package/docs/pages/component/button/index.vue +14 -7
- package/docs/pages/component/button/tooltip.vue +10 -0
- package/docs/pages/component/card/index.vue +2 -2
- package/docs/pages/component/carousel/index.vue +2 -2
- package/docs/pages/component/checkbox/index.vue +5 -5
- package/docs/pages/component/container/index.vue +2 -2
- package/docs/pages/component/datepicker/index.vue +2 -2
- package/docs/pages/component/divider/index.vue +4 -4
- package/docs/pages/component/drawer/index.vue +2 -2
- package/docs/pages/component/empty/index.vue +3 -3
- package/docs/pages/component/form/index.vue +2 -2
- package/docs/pages/component/formGroup/index.vue +2 -2
- package/docs/pages/component/infiniteLoader/index.vue +3 -3
- package/docs/pages/component/input/index.vue +5 -5
- package/docs/pages/component/inputGroup/index.vue +3 -3
- package/docs/pages/component/inputGroup/validation.vue +6 -1
- package/docs/pages/component/link/index.vue +2 -2
- package/docs/pages/component/loader/index.vue +2 -2
- package/docs/pages/component/menu/index.vue +2 -2
- package/docs/pages/component/modal/index.vue +3 -3
- package/docs/pages/component/notifications/index.vue +2 -2
- package/docs/pages/component/pagination/index.vue +2 -2
- package/docs/pages/component/popover/index.vue +2 -2
- package/docs/pages/component/popover/usage.vue +14 -0
- package/docs/pages/component/progress/index.vue +3 -3
- package/docs/pages/component/qrCode/index.vue +2 -2
- package/docs/pages/component/radio/index.vue +3 -3
- package/docs/pages/component/scroll/index.vue +3 -3
- package/docs/pages/component/select/index.vue +5 -5
- package/docs/pages/component/skeleton/index.vue +2 -2
- package/docs/pages/component/slider/index.vue +2 -2
- package/docs/pages/component/spacer/index.vue +2 -2
- package/docs/pages/component/spinner/index.vue +3 -3
- package/docs/pages/component/table/index.vue +4 -4
- package/docs/pages/component/tabs/index.vue +2 -2
- package/docs/pages/component/tabs/usage.vue +26 -0
- package/docs/pages/component/tag/index.vue +2 -2
- package/docs/pages/component/textarea/index.vue +4 -4
- package/docs/pages/component/toggle/index.vue +4 -4
- package/docs/pages/component/upload/index.vue +2 -2
- package/docs/pages/component/upload/usage.vue +1 -0
- package/docs/pages/component/virtualGrid/index.vue +2 -2
- package/docs/pages/component/virtualList/index.vue +3 -3
- package/docs/pages/icons.vue +2 -2
- package/docs/router/index.ts +39 -44
- package/docs/search/components.json +1 -1
- package/docs/search/index.json +1 -1
- package/lib/common/buttonGroupRadius.d.ts +3 -0
- package/lib/common/buttonGroupRadius.js +6 -0
- package/lib/common/props.d.ts +1 -1
- package/lib/common/props.js +10 -9
- package/lib/components/accordion/Accordion.vue.d.ts +42 -9
- package/lib/components/accordion/Accordion.vue_vue_type_script_setup_true_lang.js +18 -6
- package/lib/components/accordion/AccordionItem.vue.d.ts +33 -6
- package/lib/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js +31 -6
- package/lib/components/alert/Alert.vue.d.ts +27 -6
- package/lib/components/alert/Alert.vue_vue_type_script_setup_true_lang.js +20 -6
- package/lib/components/avatar/Avatar.vue.d.ts +45 -9
- package/lib/components/avatar/Avatar.vue_vue_type_script_setup_true_lang.js +17 -6
- package/lib/components/badge/Badge.vue.d.ts +54 -9
- package/lib/components/badge/Badge.vue_vue_type_script_setup_true_lang.js +26 -9
- package/lib/components/breadcrumbs/Breadcrumbs.vue.d.ts +30 -6
- package/lib/components/breadcrumbs/Breadcrumbs.vue_vue_type_script_setup_true_lang.js +13 -5
- package/lib/components/button/Button.js +2 -2
- package/lib/components/button/Button.vue.d.ts +138 -28
- package/lib/components/button/Button.vue_vue_type_script_setup_true_lang.js +192 -70
- package/lib/components/button/ButtonGroup.js +4 -5
- package/lib/components/button/ButtonGroup.vue.d.ts +54 -10
- package/lib/components/button/ButtonGroup.vue_vue_type_script_setup_true_lang.js +30 -19
- package/lib/components/button/theme/Button.base.theme.js +6 -5
- package/lib/components/button/theme/Button.carbon.theme.js +6 -5
- package/lib/components/card/Card.vue.d.ts +3 -0
- package/lib/components/card/Card.vue_vue_type_script_setup_true_lang.js +4 -2
- package/lib/components/carousel/Carousel.vue.d.ts +21 -3
- package/lib/components/carousel/Carousel.vue_vue_type_script_setup_true_lang.js +23 -5
- package/lib/components/carousel/CarouselSlide.js +2 -2
- package/lib/components/carousel/CarouselSlide.vue.d.ts +3 -0
- package/lib/components/carousel/CarouselSlide.vue_vue_type_script_setup_true_lang.js +3 -1
- package/lib/components/carousel/{CarouselSlide.vue_vue_type_style_index_0_scoped_e90d2127_lang.module.js → CarouselSlide.vue_vue_type_style_index_0_scoped_4f559831_lang.module.js} +1 -1
- package/lib/components/checkbox/Checkbox.vue.d.ts +198 -45
- package/lib/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +20 -3
- package/lib/components/container/Container.vue.d.ts +6 -0
- package/lib/components/container/Container.vue_vue_type_script_setup_true_lang.js +5 -2
- package/lib/components/datepicker/Datepicker.vue.d.ts +462 -36
- package/lib/components/datepicker/Datepicker.vue_vue_type_script_setup_true_lang.js +294 -153
- package/lib/components/divider/Divider.vue.d.ts +12 -3
- package/lib/components/divider/Divider.vue_vue_type_script_setup_true_lang.js +6 -2
- package/lib/components/drawer/Drawer.vue.d.ts +39 -6
- package/lib/components/drawer/Drawer.vue_vue_type_script_setup_true_lang.js +30 -7
- package/lib/components/empty/Empty.vue.d.ts +30 -6
- package/lib/components/empty/Empty.vue_vue_type_script_setup_true_lang.js +17 -4
- package/lib/components/form/Form.vue.d.ts +48 -9
- package/lib/components/form/Form.vue_vue_type_script_setup_true_lang.js +34 -7
- package/lib/components/formGroup/FormGroup.vue.d.ts +171 -39
- package/lib/components/formGroup/FormGroup.vue_vue_type_script_setup_true_lang.js +15 -9
- package/lib/components/icon/Icon.vue.d.ts +9 -0
- package/lib/components/icon/Icon.vue_vue_type_script_setup_true_lang.js +6 -3
- package/lib/components/image/Image.vue.d.ts +12 -3
- package/lib/components/image/Image.vue_vue_type_script_setup_true_lang.js +5 -1
- package/lib/components/index.js +18 -18
- package/lib/components/input/Input.vue.d.ts +291 -66
- package/lib/components/input/Input.vue_vue_type_script_setup_true_lang.js +53 -15
- package/lib/components/inputFooter/InputFooter.vue.d.ts +48 -12
- package/lib/components/inputFooter/InputFooter.vue_vue_type_script_setup_true_lang.js +18 -5
- package/lib/components/inputGroup/InputGroup.vue.d.ts +171 -39
- package/lib/components/inputGroup/InputGroup.vue_vue_type_script_setup_true_lang.js +6 -1
- package/lib/components/label/Label.vue.d.ts +78 -18
- package/lib/components/label/Label.vue_vue_type_script_setup_true_lang.js +28 -8
- package/lib/components/link/Link.js +2 -2
- package/lib/components/link/Link.vue.d.ts +18 -3
- package/lib/components/link/Link.vue_vue_type_script_setup_true_lang.js +10 -5
- package/lib/components/loader/Loader.vue.d.ts +30 -6
- package/lib/components/loader/Loader.vue_vue_type_script_setup_true_lang.js +11 -3
- package/lib/components/menu/Menu.vue.d.ts +51 -9
- package/lib/components/menu/Menu.vue_vue_type_script_setup_true_lang.js +24 -8
- package/lib/components/menu/MenuItem.js +2 -2
- package/lib/components/menu/MenuItem.vue.d.ts +198 -45
- package/lib/components/menu/MenuItem.vue_vue_type_script_setup_true_lang.js +84 -23
- package/lib/components/menu/{MenuItem.vue_vue_type_style_index_0_scoped_2a6b7341_lang.module.js → MenuItem.vue_vue_type_style_index_0_scoped_5aebaff3_lang.module.js} +1 -1
- package/lib/components/modal/Modal.vue.d.ts +177 -39
- package/lib/components/modal/Modal.vue_vue_type_script_setup_true_lang.js +104 -23
- package/lib/components/notifications/Notifications.vue.d.ts +24 -0
- package/lib/components/notifications/Notifications.vue_vue_type_script_setup_true_lang.js +39 -12
- package/lib/components/pagination/Pagination.vue.d.ts +12 -0
- package/lib/components/pagination/Pagination.vue_vue_type_script_setup_true_lang.js +8 -4
- package/lib/components/pagination/PaginationItem.vue.d.ts +18 -3
- package/lib/components/pagination/PaginationItem.vue_vue_type_script_setup_true_lang.js +8 -3
- package/lib/components/popover/Popover.vue.d.ts +204 -45
- package/lib/components/popover/Popover.vue_vue_type_script_setup_true_lang.js +157 -66
- package/lib/components/popover/PopoverContainer.vue.d.ts +3 -0
- package/lib/components/popover/PopoverContainer.vue_vue_type_script_setup_true_lang.js +3 -1
- package/lib/components/popover/PopoverContentBoundary.js +5 -0
- package/lib/components/popover/PopoverContentBoundary.vue.d.ts +9 -0
- package/lib/components/popover/PopoverContentBoundary.vue_vue_type_script_setup_true_lang.js +18 -0
- package/lib/components/popover/theme/PopoverContainer.base.theme.js +1 -1
- package/lib/components/progress/Progress.vue.d.ts +9 -0
- package/lib/components/progress/Progress.vue_vue_type_script_setup_true_lang.js +7 -4
- package/lib/components/qrCode/QrCode.vue.d.ts +24 -3
- package/lib/components/qrCode/QrCode.vue_vue_type_script_setup_true_lang.js +13 -5
- package/lib/components/radio/Radio.vue.d.ts +186 -42
- package/lib/components/radio/Radio.vue_vue_type_script_setup_true_lang.js +10 -2
- package/lib/components/radioButton/RadioButton.vue.d.ts +186 -42
- package/lib/components/radioButton/RadioButton.vue_vue_type_script_setup_true_lang.js +9 -1
- package/lib/components/scroll/Scroll.vue.d.ts +3 -0
- package/lib/components/scroll/Scroll.vue_vue_type_script_setup_true_lang.js +9 -4
- package/lib/components/select/Select.vue.d.ts +633 -144
- package/lib/components/select/Select.vue_vue_type_script_setup_true_lang.js +224 -189
- package/lib/components/skeleton/Skeleton.vue.d.ts +6 -0
- package/lib/components/skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js +5 -2
- package/lib/components/slider/Slider.js +1 -1
- package/lib/components/slider/Slider.vue.d.ts +180 -39
- package/lib/components/slider/Slider.vue_vue_type_script_setup_true_lang.js +14 -3
- package/lib/components/spinner/Spinner.vue.d.ts +6 -0
- package/lib/components/spinner/Spinner.vue_vue_type_script_setup_true_lang.js +3 -1
- package/lib/components/stepper/Stepper.vue.d.ts +120 -24
- package/lib/components/stepper/Stepper.vue_vue_type_script_setup_true_lang.js +63 -15
- package/lib/components/tab/Tab.vue.d.ts +112 -31
- package/lib/components/tab/Tab.vue_vue_type_script_setup_true_lang.js +166 -95
- package/lib/components/tab/TabGroup.vue.d.ts +47 -12
- package/lib/components/tab/TabGroup.vue_vue_type_script_setup_true_lang.js +93 -49
- package/lib/components/tab/theme/Tab.base.theme.js +6 -6
- package/lib/components/tab/theme/Tab.carbon.theme.js +6 -6
- package/lib/components/tab/theme/TabGroup.base.theme.js +7 -7
- package/lib/components/tab/theme/TabGroup.carbon.theme.js +3 -3
- package/lib/components/table/Table.vue.d.ts +45 -9
- package/lib/components/table/Table.vue_vue_type_script_setup_true_lang.js +82 -27
- package/lib/components/table/TableCell.vue.d.ts +54 -12
- package/lib/components/table/TableCell.vue_vue_type_script_setup_true_lang.js +23 -8
- package/lib/components/table/TableHead.vue_vue_type_script_setup_true_lang.js +2 -1
- package/lib/components/table/TableHeader.vue.d.ts +18 -3
- package/lib/components/table/TableHeader.vue_vue_type_script_setup_true_lang.js +10 -4
- package/lib/components/table/TableRow.vue.d.ts +15 -3
- package/lib/components/table/TableRow.vue_vue_type_script_setup_true_lang.js +10 -5
- package/lib/components/tag/Tag.vue.d.ts +33 -6
- package/lib/components/tag/Tag.vue_vue_type_script_setup_true_lang.js +21 -7
- package/lib/components/textarea/Textarea.vue.d.ts +237 -54
- package/lib/components/textarea/Textarea.vue_vue_type_script_setup_true_lang.js +38 -13
- package/lib/components/themeProvider/ThemeProvider.vue.d.ts +10 -4
- package/lib/components/themeProvider/ThemeProvider.vue_vue_type_script_setup_true_lang.js +6 -1
- package/lib/components/toggle/Toggle.vue.d.ts +174 -39
- package/lib/components/toggle/Toggle.vue_vue_type_script_setup_true_lang.js +5 -1
- package/lib/components/tooltip/ToggleTip.vue.d.ts +24 -6
- package/lib/components/tooltip/ToggleTip.vue_vue_type_script_setup_true_lang.js +9 -2
- package/lib/components/tooltip/Tooltip.vue.d.ts +30 -6
- package/lib/components/tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +16 -4
- package/lib/components/upload/Upload.vue.d.ts +249 -57
- package/lib/components/upload/Upload.vue_vue_type_script_setup_true_lang.js +156 -125
- package/lib/components/upload/fileAccept.d.ts +6 -0
- package/lib/components/upload/fileAccept.js +17 -0
- package/lib/composables/useColors.d.ts +1 -0
- package/lib/composables/useColors.js +2 -1
- package/lib/composables/useCommon.d.ts +1 -0
- package/lib/composables/useCommon.js +2 -1
- package/lib/composables/useFocusTrap.js +1 -1
- package/lib/composables/useInputtable.d.ts +45 -10
- package/lib/composables/useInputtable.js +56 -14
- package/lib/composables/useInteractive.d.ts +13 -3
- package/lib/composables/useInteractive.js +14 -4
- package/lib/index.js +12 -12
- package/lib/index.umd.js +9 -10
- package/lib/themes/base/styles.d.ts +1 -1
- package/lib/themes/base/styles.js +1 -1
- package/lib/themes/carbon/styles.d.ts +1 -1
- package/lib/themes/carbon/styles.js +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/virtual/components/infiniteLoader/InfiniteLoader.vue.d.ts +27 -16
- package/lib/virtual/components/infiniteLoader/InfiniteLoader.vue_vue_type_script_setup_true_lang.js +25 -5
- package/lib/virtual/components/virtualGrid/VirtualGrid.vue.d.ts +108 -86
- package/lib/virtual/components/virtualGrid/VirtualGrid.vue_vue_type_script_setup_true_lang.js +91 -21
- package/lib/virtual/components/virtualList/VirtualList.vue.d.ts +62 -48
- package/lib/virtual/components/virtualList/VirtualList.vue_vue_type_script_setup_true_lang.js +64 -13
- package/lib/virtual/components/virtualList/useDynamicRowHeight.js +4 -3
- package/package.json +5 -3
- package/src/common/buttonGroupRadius.ts +16 -0
- package/src/common/props.ts +10 -9
- package/src/components/accordion/Accordion.vue +20 -4
- package/src/components/accordion/AccordionItem.vue +28 -3
- package/src/components/alert/Alert.vue +22 -6
- package/src/components/avatar/Avatar.vue +20 -5
- package/src/components/badge/Badge.vue +24 -5
- package/src/components/breadcrumbs/Breadcrumbs.vue +15 -5
- package/src/components/button/Button.vue +140 -5
- package/src/components/button/ButtonGroup.vue +41 -25
- package/src/components/button/__tests__/ Button.spec.ts +41 -0
- package/src/components/button/__tests__/ ButtonGroup.spec.ts +32 -0
- package/src/components/button/theme/Button.base.theme.ts +4 -1
- package/src/components/button/theme/Button.carbon.theme.ts +5 -4
- package/src/components/card/Card.vue +10 -2
- package/src/components/carousel/Carousel.vue +22 -2
- package/src/components/carousel/CarouselSlide.vue +6 -0
- package/src/components/checkbox/Checkbox.vue +22 -3
- package/src/components/container/Container.vue +10 -1
- package/src/components/datepicker/Datepicker.vue +466 -101
- package/src/components/datepicker/__tests__/Datepicker.spec.ts +31 -0
- package/src/components/divider/Divider.vue +9 -3
- package/src/components/drawer/Drawer.vue +27 -2
- package/src/components/empty/Empty.vue +18 -3
- package/src/components/form/Form.vue +32 -3
- package/src/components/formGroup/FormGroup.vue +12 -0
- package/src/components/icon/Icon.vue +4 -1
- package/src/components/image/Image.vue +8 -2
- package/src/components/input/Input.vue +54 -12
- package/src/components/inputFooter/InputFooter.vue +21 -6
- package/src/components/inputGroup/InputGroup.vue +12 -1
- package/src/components/label/Label.vue +31 -7
- package/src/components/link/Link.vue +16 -5
- package/src/components/loader/Loader.vue +10 -2
- package/src/components/menu/Menu.vue +23 -5
- package/src/components/menu/MenuItem.vue +78 -17
- package/src/components/modal/Modal.vue +90 -15
- package/src/components/notifications/Notifications.vue +23 -0
- package/src/components/notifications/__tests__/Notifications.spec.ts +44 -4
- package/src/components/pagination/Pagination.vue +9 -1
- package/src/components/pagination/PaginationItem.vue +11 -2
- package/src/components/popover/Popover.vue +113 -18
- package/src/components/popover/PopoverContainer.vue +9 -1
- package/src/components/popover/PopoverContentBoundary.vue +32 -0
- package/src/components/popover/__tests__/Popover.spec.ts +51 -0
- package/src/components/popover/theme/PopoverContainer.base.theme.ts +1 -1
- package/src/components/progress/Progress.vue +8 -3
- package/src/components/qrCode/QrCode.vue +9 -1
- package/src/components/radio/Radio.vue +16 -2
- package/src/components/radioButton/RadioButton.vue +15 -1
- package/src/components/scroll/Scroll.vue +15 -4
- package/src/components/select/Select.vue +53 -16
- package/src/components/skeleton/Skeleton.vue +3 -0
- package/src/components/slider/Slider.vue +15 -0
- package/src/components/spinner/Spinner.vue +2 -0
- package/src/components/stepper/Stepper.vue +57 -9
- package/src/components/tab/Tab.vue +153 -63
- package/src/components/tab/TabGroup.vue +110 -26
- package/src/components/tab/__tests__/Tab.spec.ts +53 -0
- package/src/components/tab/__tests__/TabGroup.spec.ts +113 -0
- package/src/components/tab/theme/Tab.base.theme.ts +24 -2
- package/src/components/tab/theme/Tab.carbon.theme.ts +30 -7
- package/src/components/tab/theme/TabGroup.base.theme.ts +12 -9
- package/src/components/tab/theme/TabGroup.carbon.theme.ts +6 -2
- package/src/components/table/Table.vue +76 -19
- package/src/components/table/TableCell.vue +25 -6
- package/src/components/table/TableHead.vue +9 -2
- package/src/components/table/TableHeader.vue +16 -3
- package/src/components/table/TableRow.vue +17 -5
- package/src/components/tag/Tag.vue +22 -6
- package/src/components/textarea/Textarea.vue +40 -11
- package/src/components/themeProvider/ThemeProvider.vue +22 -7
- package/src/components/toggle/Toggle.vue +9 -1
- package/src/components/tooltip/ToggleTip.vue +12 -3
- package/src/components/tooltip/Tooltip.vue +19 -3
- package/src/components/upload/Upload.vue +46 -16
- package/src/components/upload/__tests__/fileAccept.spec.ts +39 -0
- package/src/components/upload/fileAccept.ts +29 -0
- package/src/composables/useColors.ts +1 -0
- package/src/composables/useCommon.ts +1 -0
- package/src/composables/useFocusTrap.ts +3 -1
- package/src/composables/useInputtable.ts +66 -10
- package/src/composables/useInteractive.ts +13 -3
- package/src/themes/base/styles.ts +2 -3
- package/src/themes/carbon/styles.ts +2 -3
- package/src/version.ts +1 -1
- package/src/virtual/components/infiniteLoader/InfiniteLoader.vue +33 -1
- package/src/virtual/components/virtualGrid/VirtualGrid.vue +104 -10
- package/src/virtual/components/virtualList/VirtualList.vue +73 -8
- package/src/virtual/components/virtualList/useDynamicRowHeight.ts +9 -2
- package/volar.d.ts +3 -0
- package/docs/layouts/simple.vue +0 -5
- package/lib/components/button/ButtonGroup.vue_vue_type_style_index_0_lang.module.js +0 -7
- /package/lib/components/button/{Button.vue_vue_type_style_index_0_scoped_4402fde2_lang.module.js → Button.vue_vue_type_style_index_0_scoped_486cb9c0_lang.module.js} +0 -0
- /package/lib/components/link/{Link.vue_vue_type_style_index_0_scoped_8e0e4d08_lang.module.js → Link.vue_vue_type_style_index_0_scoped_3ee61e03_lang.module.js} +0 -0
package/docs/main.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { createHead } from '@unhead/vue/client'
|
|
1
|
+
import { ViteSSG } from 'vite-ssg'
|
|
3
2
|
import UI, { BaseTheme } from '@indielayer/ui'
|
|
4
3
|
import App from './App.vue'
|
|
5
|
-
import
|
|
4
|
+
import { routes, scrollBehavior } from './router'
|
|
6
5
|
import icons from './icons'
|
|
7
6
|
|
|
8
7
|
// global components
|
|
@@ -12,32 +11,32 @@ import MultiSnippet from './components/common/MultiSnippet.vue'
|
|
|
12
11
|
import CodePreview from './components/common/CodePreview.vue'
|
|
13
12
|
import DocumentPage from './components/common/DocumentPage.vue'
|
|
14
13
|
import DocsHero from './components/common/DocsHero.vue'
|
|
14
|
+
import DocsCopyPage from './components/common/DocsCopyPage.vue'
|
|
15
15
|
|
|
16
16
|
// css
|
|
17
17
|
import './assets/css/tailwind.css'
|
|
18
18
|
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
icons,
|
|
26
|
-
theme: BaseTheme,
|
|
27
|
-
defaults: {
|
|
28
|
-
// Empty: {
|
|
29
|
-
// bordered: true,
|
|
30
|
-
// },
|
|
19
|
+
export const createApp = ViteSSG(
|
|
20
|
+
App,
|
|
21
|
+
{
|
|
22
|
+
routes,
|
|
23
|
+
scrollBehavior,
|
|
24
|
+
base: import.meta.env.BASE_URL,
|
|
31
25
|
},
|
|
32
|
-
})
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
({ app }) => {
|
|
27
|
+
app.use(UI, {
|
|
28
|
+
prefix: 'X',
|
|
29
|
+
icons,
|
|
30
|
+
theme: BaseTheme,
|
|
31
|
+
defaults: {},
|
|
32
|
+
})
|
|
35
33
|
|
|
36
|
-
app.component('CopyButton', CopyButton)
|
|
37
|
-
app.component('CodeSnippet', CodeSnippet)
|
|
38
|
-
app.component('MultiSnippet', MultiSnippet)
|
|
39
|
-
app.component('CodePreview', CodePreview)
|
|
40
|
-
app.component('DocumentPage', DocumentPage)
|
|
41
|
-
app.component('DocsHero', DocsHero)
|
|
42
|
-
|
|
43
|
-
|
|
34
|
+
app.component('CopyButton', CopyButton)
|
|
35
|
+
app.component('CodeSnippet', CodeSnippet)
|
|
36
|
+
app.component('MultiSnippet', MultiSnippet)
|
|
37
|
+
app.component('CodePreview', CodePreview)
|
|
38
|
+
app.component('DocumentPage', DocumentPage)
|
|
39
|
+
app.component('DocsHero', DocsHero)
|
|
40
|
+
app.component('DocsCopyPage', DocsCopyPage)
|
|
41
|
+
},
|
|
42
|
+
)
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Accordion'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Collapsible panels for showing and hiding related content. Use x-accordion with x-accordion-item when space is limited and users need progressive disclosure.'
|
|
8
8
|
const components = [XAccordion, XAccordionItem]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Alert'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Inline notices for system, feature, or page status—success, warning, error, or info. Use alerts when the message should stay visible until addressed.'
|
|
8
8
|
const components = [XAlert]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -8,21 +8,21 @@ import SizeDemoCode from './size.vue?raw'
|
|
|
8
8
|
import SizeDemo from './size.vue'
|
|
9
9
|
|
|
10
10
|
const title = 'Avatar'
|
|
11
|
-
const description = '
|
|
11
|
+
const description = 'Displays a user\'s photo, initials, or icon in a compact frame. Use avatars in lists, headers, and comments to identify people at a glance.'
|
|
12
12
|
const components = [XAvatar]
|
|
13
13
|
const demos = [{
|
|
14
14
|
name: 'Usage',
|
|
15
|
-
description: '',
|
|
15
|
+
description: 'Basic example with common props.',
|
|
16
16
|
code: UsageDemoCode,
|
|
17
17
|
component: UsageDemo,
|
|
18
18
|
}, {
|
|
19
19
|
name: 'Variants',
|
|
20
|
-
description: '',
|
|
20
|
+
description: 'Color and style variants.',
|
|
21
21
|
code: VariantsDemoCode,
|
|
22
22
|
component: VariantsDemo,
|
|
23
23
|
}, {
|
|
24
24
|
name: 'Size',
|
|
25
|
-
description: '',
|
|
25
|
+
description: 'Size options from xs to lg.',
|
|
26
26
|
code: SizeDemoCode,
|
|
27
27
|
component: SizeDemo,
|
|
28
28
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Badge'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Small status indicators that overlay or sit beside another element—counts, labels, or presence dots. Use badges to draw attention without interrupting the layout.'
|
|
8
8
|
const components = [XBadge]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Breadcrumbs'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Shows the current page\'s place in a navigational hierarchy. Use breadcrumbs for deep page trees so users can jump back to parent sections.'
|
|
8
8
|
const components = [XBreadcrumbs]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
<x-button>right</x-button>
|
|
11
11
|
</x-button-group>
|
|
12
12
|
<x-button-group color="primary" light outlined>
|
|
13
|
-
<x-button icon="edit"/>
|
|
14
|
-
<x-button icon="code"/>
|
|
15
|
-
<x-button icon="smile"/>
|
|
13
|
+
<x-button icon="edit" tooltip="Edit" />
|
|
14
|
+
<x-button icon="code" tooltip="Code" />
|
|
15
|
+
<x-button icon="smile" tooltip="Smile" />
|
|
16
16
|
</x-button-group>
|
|
17
17
|
<x-button-group color="indigo" outlined disabled>
|
|
18
18
|
<x-button>left</x-button>
|
|
@@ -6,6 +6,8 @@ import VariantsDemoCode from './variants.vue?raw'
|
|
|
6
6
|
import VariantsDemo from './variants.vue'
|
|
7
7
|
import IconsDemoCode from './icons.vue?raw'
|
|
8
8
|
import IconsDemo from './icons.vue'
|
|
9
|
+
import TooltipDemoCode from './tooltip.vue?raw'
|
|
10
|
+
import TooltipDemo from './tooltip.vue'
|
|
9
11
|
import ButtonGroupDemoCode from './button-group.vue?raw'
|
|
10
12
|
import ButtonGroupDemo from './button-group.vue'
|
|
11
13
|
import SizeDemoCode from './size.vue?raw'
|
|
@@ -14,36 +16,41 @@ import StatesDemoCode from './states.vue?raw'
|
|
|
14
16
|
import StatesDemo from './states.vue'
|
|
15
17
|
|
|
16
18
|
const title = 'Button'
|
|
17
|
-
const description = '
|
|
19
|
+
const description = 'Clickable controls for primary actions—submit, open dialogs, or run commands. Customize style, size, and icons; group related actions with x-button-group.'
|
|
18
20
|
const components = [XButton, XButtonGroup]
|
|
19
21
|
const demos = [{
|
|
20
22
|
name: 'Usage',
|
|
21
|
-
description: '',
|
|
23
|
+
description: 'Basic example with common props.',
|
|
22
24
|
code: UsageDemoCode,
|
|
23
25
|
component: UsageDemo,
|
|
24
26
|
}, {
|
|
25
27
|
name: 'Variants',
|
|
26
|
-
description: '',
|
|
28
|
+
description: 'Color and style variants.',
|
|
27
29
|
code: VariantsDemoCode,
|
|
28
30
|
component: VariantsDemo,
|
|
29
31
|
}, {
|
|
30
32
|
name: 'Icons',
|
|
31
|
-
description: '',
|
|
33
|
+
description: 'Leading, trailing, and icon-only buttons.',
|
|
32
34
|
code: IconsDemoCode,
|
|
33
35
|
component: IconsDemo,
|
|
36
|
+
}, {
|
|
37
|
+
name: 'Tooltip',
|
|
38
|
+
description: 'Buttons with hover tooltips.',
|
|
39
|
+
code: TooltipDemoCode,
|
|
40
|
+
component: TooltipDemo,
|
|
34
41
|
}, {
|
|
35
42
|
name: 'Size',
|
|
36
|
-
description: '',
|
|
43
|
+
description: 'Size options from xs to lg.',
|
|
37
44
|
code: SizeDemoCode,
|
|
38
45
|
component: SizeDemo,
|
|
39
46
|
}, {
|
|
40
47
|
name: 'Button Group',
|
|
41
|
-
description: '',
|
|
48
|
+
description: 'Joined buttons sharing a common group layout.',
|
|
42
49
|
code: ButtonGroupDemoCode,
|
|
43
50
|
component: ButtonGroupDemo,
|
|
44
51
|
}, {
|
|
45
52
|
name: 'States',
|
|
46
|
-
description: '',
|
|
53
|
+
description: 'Disabled, loading, and other interactive states.',
|
|
47
54
|
code: StatesDemoCode,
|
|
48
55
|
component: StatesDemo,
|
|
49
56
|
}]
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex flex-wrap items-center gap-4">
|
|
3
|
+
<x-button icon="check" tooltip="Save your changes" />
|
|
4
|
+
<x-button ghost icon="smile" tooltip="More options" />
|
|
5
|
+
<x-button icon="heart" tooltip="Favorite" tooltip-position="bottom" />
|
|
6
|
+
<x-button tooltip="Delete this item" tooltip-position="right">
|
|
7
|
+
Delete
|
|
8
|
+
</x-button>
|
|
9
|
+
</div>
|
|
10
|
+
</template>
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Card'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'A bordered content container for grouping related information, media, and actions. Use cards in grids and dashboards when each block should stand alone.'
|
|
8
8
|
const components = [XCard]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Carousel'
|
|
7
|
-
const description = 'A
|
|
7
|
+
const description = 'A sliding viewport for cycling through images or content panels. Use carousels for galleries and featured items when horizontal space is limited.'
|
|
8
8
|
const components = [XCarousel]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -10,26 +10,26 @@ import StatesDemoCode from './states.vue?raw'
|
|
|
10
10
|
import StatesDemo from './states.vue'
|
|
11
11
|
|
|
12
12
|
const title = 'Checkbox'
|
|
13
|
-
const description = '
|
|
13
|
+
const description = 'Multi-select controls for choosing one or more options independently. Use checkboxes for settings and lists where more than one choice can be active.'
|
|
14
14
|
const components = [XCheckbox]
|
|
15
15
|
const demos = [{
|
|
16
16
|
name: 'Usage',
|
|
17
|
-
description: '',
|
|
17
|
+
description: 'Basic example with common props.',
|
|
18
18
|
code: UsageDemoCode,
|
|
19
19
|
component: UsageDemo,
|
|
20
20
|
}, {
|
|
21
21
|
name: 'Variants',
|
|
22
|
-
description: '',
|
|
22
|
+
description: 'Color and style variants.',
|
|
23
23
|
code: VariantsDemoCode,
|
|
24
24
|
component: VariantsDemo,
|
|
25
25
|
}, {
|
|
26
26
|
name: 'Size',
|
|
27
|
-
description: '',
|
|
27
|
+
description: 'Size options from xs to lg.',
|
|
28
28
|
code: SizeDemoCode,
|
|
29
29
|
component: SizeDemo,
|
|
30
30
|
}, {
|
|
31
31
|
name: 'States',
|
|
32
|
-
description: '',
|
|
32
|
+
description: 'Disabled, indeterminate, and other interactive states.',
|
|
33
33
|
code: StatesDemoCode,
|
|
34
34
|
component: StatesDemo,
|
|
35
35
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Container'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Layout wrapper that constrains content width and alignment for consistent page structure. Use containers to center and pad main content across breakpoints.'
|
|
8
8
|
const components = [XContainer]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Datepicker'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Date and time picker styled as a wrapper around @vuepic/vue-datepicker. Use it for forms that need calendar or datetime selection with Indielayer look and feel.'
|
|
8
8
|
const components = [XDatepicker]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -8,21 +8,21 @@ import VerticalDemoCode from './vertical.vue?raw'
|
|
|
8
8
|
import VerticalDemo from './vertical.vue'
|
|
9
9
|
|
|
10
10
|
const title = 'Divider'
|
|
11
|
-
const description = '
|
|
11
|
+
const description = 'A horizontal or vertical rule that separates sections of content. Use dividers in lists, toolbars, and layouts to create clear visual breaks.'
|
|
12
12
|
const components = [XDivider]
|
|
13
13
|
const demos = [{
|
|
14
14
|
name: 'Usage',
|
|
15
|
-
description: '',
|
|
15
|
+
description: 'Basic horizontal divider between content.',
|
|
16
16
|
code: UsageDemoCode,
|
|
17
17
|
component: UsageDemo,
|
|
18
18
|
}, {
|
|
19
19
|
name: 'Label',
|
|
20
|
-
description: '',
|
|
20
|
+
description: 'Divider with a centered or inline label.',
|
|
21
21
|
code: LabelDemoCode,
|
|
22
22
|
component: LabelDemo,
|
|
23
23
|
}, {
|
|
24
24
|
name: 'Vertical',
|
|
25
|
-
description: '',
|
|
25
|
+
description: 'Vertical divider for side-by-side layouts.',
|
|
26
26
|
code: VerticalDemoCode,
|
|
27
27
|
component: VerticalDemo,
|
|
28
28
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Drawer'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Panels that slide in from the screen edge for navigation, filters, or extra content. Use drawers when side context should overlay without leaving the page.'
|
|
8
8
|
const components = [XDrawer]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -12,17 +12,17 @@ const description = 'Empty states communicate when there is no content to show.
|
|
|
12
12
|
const components = [XEmpty]
|
|
13
13
|
const demos = [{
|
|
14
14
|
name: 'Usage',
|
|
15
|
-
description: '',
|
|
15
|
+
description: 'Title, description, and optional icon for empty content.',
|
|
16
16
|
code: UsageDemoCode,
|
|
17
17
|
component: UsageDemo,
|
|
18
18
|
}, {
|
|
19
19
|
name: 'Actions',
|
|
20
|
-
description: '',
|
|
20
|
+
description: 'Empty state with call-to-action buttons.',
|
|
21
21
|
code: ActionsDemoCode,
|
|
22
22
|
component: ActionsDemo,
|
|
23
23
|
}, {
|
|
24
24
|
name: 'Bordered',
|
|
25
|
-
description: '',
|
|
25
|
+
description: 'Empty state inside a bordered container.',
|
|
26
26
|
code: BorderedDemoCode,
|
|
27
27
|
component: BorderedDemo,
|
|
28
28
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Form'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Structured form wrapper for collecting and validating user input. Use x-form to group fields, run validation, and handle submit in one place.'
|
|
8
8
|
const components = [XForm]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'FormGroup'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Groups related fields with a shared label and validation context. Use form groups for checkboxes, radios, or inputs that belong to one logical section.'
|
|
8
8
|
const components = [XFormGroup]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -6,16 +6,16 @@ import ComposableDemoCode from './composable.vue?raw'
|
|
|
6
6
|
import ComposableDemo from './composable.vue'
|
|
7
7
|
|
|
8
8
|
const title = 'InfiniteLoader'
|
|
9
|
-
const description = '
|
|
9
|
+
const description = 'Loads more list items as the user scrolls near the end of a container. Use InfiniteLoader for feeds and catalogs that grow on demand.'
|
|
10
10
|
const components = [XInfiniteLoader]
|
|
11
11
|
const demos = [{
|
|
12
12
|
name: 'Usage',
|
|
13
|
-
description: '',
|
|
13
|
+
description: 'Scroll to load more items as you reach the end.',
|
|
14
14
|
code: UsageDemoCode,
|
|
15
15
|
component: UsageDemo,
|
|
16
16
|
}, {
|
|
17
17
|
name: 'Composable',
|
|
18
|
-
description: '',
|
|
18
|
+
description: 'Using the infinite-loader composable API.',
|
|
19
19
|
code: ComposableDemoCode,
|
|
20
20
|
component: ComposableDemo,
|
|
21
21
|
}]
|
|
@@ -10,26 +10,26 @@ import SizeDemoCode from './size.vue?raw'
|
|
|
10
10
|
import SizeDemo from './size.vue'
|
|
11
11
|
|
|
12
12
|
const title = 'Input'
|
|
13
|
-
const description = '
|
|
13
|
+
const description = 'Single-line text field for entering and editing short values. Use x-input in forms for names, emails, search, and other one-line data.'
|
|
14
14
|
const components = [XInput]
|
|
15
15
|
const demos = [{
|
|
16
16
|
name: 'Usage',
|
|
17
|
-
description: '',
|
|
17
|
+
description: 'Basic example with common props.',
|
|
18
18
|
code: UsageDemoCode,
|
|
19
19
|
component: UsageDemo,
|
|
20
20
|
}, {
|
|
21
21
|
name: 'Variants',
|
|
22
|
-
description: '',
|
|
22
|
+
description: 'Color and style variants.',
|
|
23
23
|
code: VariantsDemoCode,
|
|
24
24
|
component: VariantsDemo,
|
|
25
25
|
}, {
|
|
26
26
|
name: 'Size',
|
|
27
|
-
description: '',
|
|
27
|
+
description: 'Size options from xs to lg.',
|
|
28
28
|
code: SizeDemoCode,
|
|
29
29
|
component: SizeDemo,
|
|
30
30
|
}, {
|
|
31
31
|
name: 'States',
|
|
32
|
-
description: '',
|
|
32
|
+
description: 'Disabled, loading, and other interactive states.',
|
|
33
33
|
code: StatesDemoCode,
|
|
34
34
|
component: StatesDemo,
|
|
35
35
|
}]
|
|
@@ -12,17 +12,17 @@ const description = 'Input groups combine multiple inline fields (Input, Textare
|
|
|
12
12
|
const components = [XInputGroup]
|
|
13
13
|
const demos = [{
|
|
14
14
|
name: 'Usage',
|
|
15
|
-
description: '',
|
|
15
|
+
description: 'Basic example with common props.',
|
|
16
16
|
code: UsageDemoCode,
|
|
17
17
|
component: UsageDemo,
|
|
18
18
|
}, {
|
|
19
19
|
name: 'Mixed',
|
|
20
|
-
description: '',
|
|
20
|
+
description: 'Mixing inputs, selects, and buttons in one group.',
|
|
21
21
|
code: MixedDemoCode,
|
|
22
22
|
component: MixedDemo,
|
|
23
23
|
}, {
|
|
24
24
|
name: 'Validation',
|
|
25
|
-
description: '',
|
|
25
|
+
description: 'Shared validation and footer messaging.',
|
|
26
26
|
code: ValidationDemoCode,
|
|
27
27
|
component: ValidationDemo,
|
|
28
28
|
}]
|
|
@@ -23,7 +23,12 @@ const rules = {
|
|
|
23
23
|
helper="Select date and time"
|
|
24
24
|
:rules="[rules.required]"
|
|
25
25
|
>
|
|
26
|
-
<x-datepicker
|
|
26
|
+
<x-datepicker
|
|
27
|
+
v-model="start"
|
|
28
|
+
teleport="body"
|
|
29
|
+
placeholder="Date"
|
|
30
|
+
:enable-time-picker="false"
|
|
31
|
+
/>
|
|
27
32
|
<x-input v-model="end" type="time" placeholder="Time" />
|
|
28
33
|
</x-input-group>
|
|
29
34
|
</div>
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Link'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Styled anchor for navigating to another page or external URL. Use x-link when you need consistent link styling, external indicators, and accessibility.'
|
|
8
8
|
const components = [XLink]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Loader'
|
|
7
|
-
const description = 'Loader
|
|
7
|
+
const description = 'Full-area loading overlay that blocks interaction while content or an action completes. Use Loader when the whole region should wait before continuing.'
|
|
8
8
|
const components = [XLoader]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Menu'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Dropdown list of actionable items triggered from a button or other control. Use x-menu with x-menu-item for contextual actions and navigation.'
|
|
8
8
|
const components = [XMenu, XMenuItem]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -6,16 +6,16 @@ import ComposedDemoCode from './composed.vue?raw'
|
|
|
6
6
|
import ComposedDemo from './composed.vue'
|
|
7
7
|
|
|
8
8
|
const title = 'Modal'
|
|
9
|
-
const description = '
|
|
9
|
+
const description = 'Dialog overlay that focuses attention on a task or message above the current page. Use modals for confirmations, forms, and details that need temporary focus.'
|
|
10
10
|
const components = [XModal]
|
|
11
11
|
const demos = [{
|
|
12
12
|
name: 'Usage',
|
|
13
|
-
description: '',
|
|
13
|
+
description: 'Basic example with common props.',
|
|
14
14
|
code: UsageDemoCode,
|
|
15
15
|
component: UsageDemo,
|
|
16
16
|
}, {
|
|
17
17
|
name: 'Composed',
|
|
18
|
-
description: '',
|
|
18
|
+
description: 'Modal with header, body, and footer slots.',
|
|
19
19
|
code: ComposedDemoCode,
|
|
20
20
|
component: ComposedDemo,
|
|
21
21
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Notifications'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Toast-style feedback for success, warning, or error after an action. Use notifications for transient messages that should not block the page.'
|
|
8
8
|
const components = [XNotifications]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Pagination'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Controls for moving through large result sets page by page. Use pagination with tables, lists, and search results to keep each view manageable.'
|
|
8
8
|
const components = [XPagination]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|
|
@@ -4,11 +4,11 @@ import UsageDemoCode from './usage.vue?raw'
|
|
|
4
4
|
import UsageDemo from './usage.vue'
|
|
5
5
|
|
|
6
6
|
const title = 'Popover'
|
|
7
|
-
const description = '
|
|
7
|
+
const description = 'Floating panel anchored to a trigger for extra content or actions. Use popovers for menus and contextual UI without leaving the current view.'
|
|
8
8
|
const components = [XPopover, XPopoverContainer]
|
|
9
9
|
const demos = [{
|
|
10
10
|
name: 'Usage',
|
|
11
|
-
description: '',
|
|
11
|
+
description: 'Basic example with common props.',
|
|
12
12
|
code: UsageDemoCode,
|
|
13
13
|
component: UsageDemo,
|
|
14
14
|
}]
|