@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
|
@@ -1,122 +1,420 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
const VDP_DESC = 'Passed through to @vuepic/vue-datepicker.'
|
|
3
|
+
|
|
2
4
|
const vueDatepickerProps = {
|
|
3
|
-
multiCalendars: {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
multiCalendars: {
|
|
6
|
+
type: [Boolean, Number, String, Object] as PropType<VueDatePickerProps['multiCalendars']>, default: undefined,
|
|
7
|
+
description: VDP_DESC,
|
|
8
|
+
},
|
|
9
|
+
modelValue: {
|
|
10
|
+
type: [String, Date, Array, Object, Number] as PropType<ModelValue>, default: null,
|
|
11
|
+
description: VDP_DESC,
|
|
12
|
+
},
|
|
13
|
+
modelType: {
|
|
14
|
+
type: String as PropType<VueDatePickerProps['modelType']>, default: null,
|
|
15
|
+
description: VDP_DESC,
|
|
16
|
+
},
|
|
17
|
+
position: {
|
|
18
|
+
type: String as PropType<VueDatePickerProps['position']>, default: 'center',
|
|
19
|
+
description: VDP_DESC,
|
|
20
|
+
},
|
|
21
|
+
dark: {
|
|
22
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
23
|
+
description: VDP_DESC,
|
|
24
|
+
},
|
|
8
25
|
format: {
|
|
9
26
|
type: [String, Function] as PropType<VueDatePickerProps['format']>,
|
|
10
27
|
default: () => null,
|
|
28
|
+
description: VDP_DESC,
|
|
29
|
+
},
|
|
30
|
+
autoPosition: {
|
|
31
|
+
type: Boolean as PropType<boolean>, default: true,
|
|
32
|
+
description: VDP_DESC,
|
|
33
|
+
},
|
|
34
|
+
altPosition: {
|
|
35
|
+
type: Function as PropType<VueDatePickerProps['altPosition']>, default: null,
|
|
36
|
+
description: VDP_DESC,
|
|
37
|
+
},
|
|
38
|
+
transitions: {
|
|
39
|
+
type: [Boolean, Object] as PropType<boolean | Partial<VueDatePickerProps['transitions']>>, default: true,
|
|
40
|
+
description: VDP_DESC,
|
|
41
|
+
},
|
|
42
|
+
formatLocale: {
|
|
43
|
+
type: Object as PropType<Locale>, default: null,
|
|
44
|
+
description: VDP_DESC,
|
|
45
|
+
},
|
|
46
|
+
utc: {
|
|
47
|
+
type: [Boolean, String] as PropType<boolean | 'preserve'>, default: false,
|
|
48
|
+
description: VDP_DESC,
|
|
49
|
+
},
|
|
50
|
+
ariaLabels: {
|
|
51
|
+
type: Object as PropType<Partial<VueDatePickerProps['ariaLabels']>>, default: () => ({}),
|
|
52
|
+
description: VDP_DESC,
|
|
53
|
+
},
|
|
54
|
+
offset: {
|
|
55
|
+
type: [Number, String] as PropType<number | string>, default: 10,
|
|
56
|
+
description: VDP_DESC,
|
|
57
|
+
},
|
|
58
|
+
hideNavigation: {
|
|
59
|
+
type: Array as PropType<VueDatePickerProps['hideNavigation']>, default: () => [],
|
|
60
|
+
description: VDP_DESC,
|
|
61
|
+
},
|
|
62
|
+
timezone: {
|
|
63
|
+
type: [String, Object] as PropType<VueDatePickerProps['timezone']>, default: null,
|
|
64
|
+
description: VDP_DESC,
|
|
65
|
+
},
|
|
66
|
+
vertical: {
|
|
67
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
68
|
+
description: VDP_DESC,
|
|
69
|
+
},
|
|
70
|
+
disableMonthYearSelect: {
|
|
71
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
72
|
+
description: VDP_DESC,
|
|
73
|
+
},
|
|
74
|
+
disableYearSelect: {
|
|
75
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
76
|
+
description: VDP_DESC,
|
|
77
|
+
},
|
|
78
|
+
dayClass: {
|
|
79
|
+
type: Function as PropType<(date: Date) => string>, default: null,
|
|
80
|
+
description: VDP_DESC,
|
|
81
|
+
},
|
|
82
|
+
yearRange: {
|
|
83
|
+
type: Array as PropType<number[]>, default: () => [1900, 2100],
|
|
84
|
+
description: VDP_DESC,
|
|
85
|
+
},
|
|
86
|
+
enableTimePicker: {
|
|
87
|
+
type: Boolean as PropType<boolean>, default: true,
|
|
88
|
+
description: VDP_DESC,
|
|
89
|
+
},
|
|
90
|
+
autoApply: {
|
|
91
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
92
|
+
description: VDP_DESC,
|
|
93
|
+
},
|
|
94
|
+
disabledDates: {
|
|
95
|
+
type: [Array, Function] as PropType<VueDatePickerProps['disabledDates']>, default: () => [],
|
|
96
|
+
description: VDP_DESC,
|
|
97
|
+
},
|
|
98
|
+
monthNameFormat: {
|
|
99
|
+
type: String as PropType<'long' | 'short'>, default: 'short',
|
|
100
|
+
description: VDP_DESC,
|
|
101
|
+
},
|
|
102
|
+
startDate: {
|
|
103
|
+
type: [Date, String] as PropType<string | Date>, default: null,
|
|
104
|
+
description: VDP_DESC,
|
|
105
|
+
},
|
|
106
|
+
startTime: {
|
|
107
|
+
type: [Object, Array] as PropType<VueDatePickerProps['startTime']>, default: null,
|
|
108
|
+
description: VDP_DESC,
|
|
109
|
+
},
|
|
110
|
+
hideOffsetDates: {
|
|
111
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
112
|
+
description: VDP_DESC,
|
|
113
|
+
},
|
|
114
|
+
noToday: {
|
|
115
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
116
|
+
description: VDP_DESC,
|
|
117
|
+
},
|
|
118
|
+
disabledWeekDays: {
|
|
119
|
+
type: Array as PropType<string[] | number[]>, default: () => [],
|
|
120
|
+
description: VDP_DESC,
|
|
121
|
+
},
|
|
122
|
+
allowedDates: {
|
|
123
|
+
type: Array as PropType<string[] | Date[]>, default: null,
|
|
124
|
+
description: VDP_DESC,
|
|
125
|
+
},
|
|
126
|
+
nowButtonLabel: {
|
|
127
|
+
type: String as PropType<string>, default: 'Now',
|
|
128
|
+
description: VDP_DESC,
|
|
129
|
+
},
|
|
130
|
+
markers: {
|
|
131
|
+
type: Array as PropType<VueDatePickerProps['markers']>, default: () => [],
|
|
132
|
+
description: VDP_DESC,
|
|
133
|
+
},
|
|
134
|
+
escClose: {
|
|
135
|
+
type: Boolean as PropType<boolean>, default: true,
|
|
136
|
+
description: VDP_DESC,
|
|
137
|
+
},
|
|
138
|
+
spaceConfirm: {
|
|
139
|
+
type: Boolean as PropType<boolean>, default: true,
|
|
140
|
+
description: VDP_DESC,
|
|
141
|
+
},
|
|
142
|
+
monthChangeOnArrows: {
|
|
143
|
+
type: Boolean as PropType<boolean>, default: true,
|
|
144
|
+
description: VDP_DESC,
|
|
145
|
+
},
|
|
146
|
+
presetDates: {
|
|
147
|
+
type: Array as PropType<VueDatePickerProps['presetDates']>, default: () => [],
|
|
148
|
+
description: VDP_DESC,
|
|
149
|
+
},
|
|
150
|
+
flow: {
|
|
151
|
+
type: Array as PropType<VueDatePickerProps['flow']>, default: () => [],
|
|
152
|
+
description: VDP_DESC,
|
|
153
|
+
},
|
|
154
|
+
partialFlow: {
|
|
155
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
156
|
+
description: VDP_DESC,
|
|
157
|
+
},
|
|
158
|
+
preventMinMaxNavigation: {
|
|
159
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
160
|
+
description: VDP_DESC,
|
|
161
|
+
},
|
|
162
|
+
reverseYears: {
|
|
163
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
164
|
+
description: VDP_DESC,
|
|
165
|
+
},
|
|
166
|
+
weekPicker: {
|
|
167
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
168
|
+
description: VDP_DESC,
|
|
169
|
+
},
|
|
170
|
+
filters: {
|
|
171
|
+
type: Object as PropType<Partial<VueDatePickerProps['filters']>>, default: () => ({}),
|
|
172
|
+
description: VDP_DESC,
|
|
173
|
+
},
|
|
174
|
+
arrowNavigation: {
|
|
175
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
176
|
+
description: VDP_DESC,
|
|
11
177
|
},
|
|
12
|
-
autoPosition: { type: Boolean as PropType<boolean>, default: true },
|
|
13
|
-
altPosition: { type: Function as PropType<VueDatePickerProps['altPosition']>, default: null },
|
|
14
|
-
transitions: { type: [Boolean, Object] as PropType<boolean | Partial<VueDatePickerProps['transitions']>>, default: true },
|
|
15
|
-
formatLocale: { type: Object as PropType<Locale>, default: null },
|
|
16
|
-
utc: { type: [Boolean, String] as PropType<boolean | 'preserve'>, default: false },
|
|
17
|
-
ariaLabels: { type: Object as PropType<Partial<VueDatePickerProps['ariaLabels']>>, default: () => ({}) },
|
|
18
|
-
offset: { type: [Number, String] as PropType<number | string>, default: 10 },
|
|
19
|
-
hideNavigation: { type: Array as PropType<VueDatePickerProps['hideNavigation']>, default: () => [] },
|
|
20
|
-
timezone: { type: [String, Object] as PropType<VueDatePickerProps['timezone']>, default: null },
|
|
21
|
-
vertical: { type: Boolean as PropType<boolean>, default: false },
|
|
22
|
-
disableMonthYearSelect: { type: Boolean as PropType<boolean>, default: false },
|
|
23
|
-
disableYearSelect: { type: Boolean as PropType<boolean>, default: false },
|
|
24
|
-
dayClass: { type: Function as PropType<(date: Date) => string>, default: null },
|
|
25
|
-
yearRange: { type: Array as PropType<number[]>, default: () => [1900, 2100] },
|
|
26
|
-
enableTimePicker: { type: Boolean as PropType<boolean>, default: true },
|
|
27
|
-
autoApply: { type: Boolean as PropType<boolean>, default: false },
|
|
28
|
-
disabledDates: { type: [Array, Function] as PropType<VueDatePickerProps['disabledDates']>, default: () => [] },
|
|
29
|
-
monthNameFormat: { type: String as PropType<'long' | 'short'>, default: 'short' },
|
|
30
|
-
startDate: { type: [Date, String] as PropType<string | Date>, default: null },
|
|
31
|
-
startTime: { type: [Object, Array] as PropType<VueDatePickerProps['startTime']>, default: null },
|
|
32
|
-
hideOffsetDates: { type: Boolean as PropType<boolean>, default: false },
|
|
33
|
-
noToday: { type: Boolean as PropType<boolean>, default: false },
|
|
34
|
-
disabledWeekDays: { type: Array as PropType<string[] | number[]>, default: () => [] },
|
|
35
|
-
allowedDates: { type: Array as PropType<string[] | Date[]>, default: null },
|
|
36
|
-
nowButtonLabel: { type: String as PropType<string>, default: 'Now' },
|
|
37
|
-
markers: { type: Array as PropType<VueDatePickerProps['markers']>, default: () => [] },
|
|
38
|
-
escClose: { type: Boolean as PropType<boolean>, default: true },
|
|
39
|
-
spaceConfirm: { type: Boolean as PropType<boolean>, default: true },
|
|
40
|
-
monthChangeOnArrows: { type: Boolean as PropType<boolean>, default: true },
|
|
41
|
-
presetDates: { type: Array as PropType<VueDatePickerProps['presetDates']>, default: () => [] },
|
|
42
|
-
flow: { type: Array as PropType<VueDatePickerProps['flow']>, default: () => [] },
|
|
43
|
-
partialFlow: { type: Boolean as PropType<boolean>, default: false },
|
|
44
|
-
preventMinMaxNavigation: { type: Boolean as PropType<boolean>, default: false },
|
|
45
|
-
reverseYears: { type: Boolean as PropType<boolean>, default: false },
|
|
46
|
-
weekPicker: { type: Boolean as PropType<boolean>, default: false },
|
|
47
|
-
filters: { type: Object as PropType<Partial<VueDatePickerProps['filters']>>, default: () => ({}) },
|
|
48
|
-
arrowNavigation: { type: Boolean as PropType<boolean>, default: false },
|
|
49
178
|
highlight: {
|
|
50
179
|
type: [Function, Object] as PropType<VueDatePickerProps['highlight']>,
|
|
51
180
|
default: null,
|
|
181
|
+
description: VDP_DESC,
|
|
182
|
+
},
|
|
183
|
+
teleport: {
|
|
184
|
+
type: [String, Boolean, Object] as PropType<string | boolean | HTMLElement>, default: null,
|
|
185
|
+
description: VDP_DESC,
|
|
186
|
+
},
|
|
187
|
+
teleportCenter: {
|
|
188
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
189
|
+
description: VDP_DESC,
|
|
190
|
+
},
|
|
191
|
+
locale: {
|
|
192
|
+
type: String as PropType<string>, default: 'en-Us',
|
|
193
|
+
description: VDP_DESC,
|
|
194
|
+
},
|
|
195
|
+
weekNumName: {
|
|
196
|
+
type: String as PropType<string>, default: 'W',
|
|
197
|
+
description: VDP_DESC,
|
|
198
|
+
},
|
|
199
|
+
weekStart: {
|
|
200
|
+
type: [Number, String] as PropType<VueDatePickerProps['weekStart']>, default: 1,
|
|
201
|
+
description: VDP_DESC,
|
|
52
202
|
},
|
|
53
|
-
teleport: { type: [String, Boolean, Object] as PropType<string | boolean | HTMLElement>, default: null },
|
|
54
|
-
teleportCenter: { type: Boolean as PropType<boolean>, default: false },
|
|
55
|
-
locale: { type: String as PropType<string>, default: 'en-Us' },
|
|
56
|
-
weekNumName: { type: String as PropType<string>, default: 'W' },
|
|
57
|
-
weekStart: { type: [Number, String] as PropType<VueDatePickerProps['weekStart']>, default: 1 },
|
|
58
203
|
weekNumbers: {
|
|
59
204
|
type: [String, Function, Object] as PropType<VueDatePickerProps['weekNumbers']>,
|
|
60
205
|
default: null,
|
|
206
|
+
description: VDP_DESC,
|
|
207
|
+
},
|
|
208
|
+
monthChangeOnScroll: {
|
|
209
|
+
type: [Boolean, String] as PropType<boolean | 'inverse'>, default: true,
|
|
210
|
+
description: VDP_DESC,
|
|
61
211
|
},
|
|
62
|
-
monthChangeOnScroll: { type: [Boolean, String] as PropType<boolean | 'inverse'>, default: true },
|
|
63
212
|
dayNames: {
|
|
64
213
|
type: [Function, Array] as PropType<((lang: string, weekStart: number) => string[]) | string[]>,
|
|
65
214
|
default: null,
|
|
215
|
+
description: VDP_DESC,
|
|
216
|
+
},
|
|
217
|
+
monthPicker: {
|
|
218
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
219
|
+
description: VDP_DESC,
|
|
220
|
+
},
|
|
221
|
+
customProps: {
|
|
222
|
+
type: Object as PropType<Record<string, unknown>>, default: null,
|
|
223
|
+
description: VDP_DESC,
|
|
224
|
+
},
|
|
225
|
+
yearPicker: {
|
|
226
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
227
|
+
description: VDP_DESC,
|
|
228
|
+
},
|
|
229
|
+
modelAuto: {
|
|
230
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
231
|
+
description: VDP_DESC,
|
|
232
|
+
},
|
|
233
|
+
selectText: {
|
|
234
|
+
type: String as PropType<string>, default: 'Select',
|
|
235
|
+
description: VDP_DESC,
|
|
236
|
+
},
|
|
237
|
+
cancelText: {
|
|
238
|
+
type: String as PropType<string>, default: 'Cancel',
|
|
239
|
+
description: VDP_DESC,
|
|
66
240
|
},
|
|
67
|
-
monthPicker: { type: Boolean as PropType<boolean>, default: false },
|
|
68
|
-
customProps: { type: Object as PropType<Record<string, unknown>>, default: null },
|
|
69
|
-
yearPicker: { type: Boolean as PropType<boolean>, default: false },
|
|
70
|
-
modelAuto: { type: Boolean as PropType<boolean>, default: false },
|
|
71
|
-
selectText: { type: String as PropType<string>, default: 'Select' },
|
|
72
|
-
cancelText: { type: String as PropType<string>, default: 'Cancel' },
|
|
73
241
|
previewFormat: {
|
|
74
242
|
type: [String, Function] as PropType<VueDatePickerProps['previewFormat']>,
|
|
75
243
|
default: () => '',
|
|
244
|
+
description: VDP_DESC,
|
|
245
|
+
},
|
|
246
|
+
multiDates: {
|
|
247
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
248
|
+
description: VDP_DESC,
|
|
249
|
+
},
|
|
250
|
+
ignoreTimeValidation: {
|
|
251
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
252
|
+
description: VDP_DESC,
|
|
253
|
+
},
|
|
254
|
+
minDate: {
|
|
255
|
+
type: [Date, String] as PropType<Date | string>, default: null,
|
|
256
|
+
description: VDP_DESC,
|
|
257
|
+
},
|
|
258
|
+
maxDate: {
|
|
259
|
+
type: [Date, String] as PropType<Date | string>, default: null,
|
|
260
|
+
description: VDP_DESC,
|
|
261
|
+
},
|
|
262
|
+
minTime: {
|
|
263
|
+
type: Object as PropType<Partial<TimeModel>>, default: null,
|
|
264
|
+
description: VDP_DESC,
|
|
265
|
+
},
|
|
266
|
+
maxTime: {
|
|
267
|
+
type: Object as PropType<Partial<TimeModel>>, default: null,
|
|
268
|
+
description: VDP_DESC,
|
|
269
|
+
},
|
|
270
|
+
placeholder: {
|
|
271
|
+
type: String as PropType<string>, default: '',
|
|
272
|
+
description: VDP_DESC,
|
|
273
|
+
},
|
|
274
|
+
hideInputIcon: {
|
|
275
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
276
|
+
description: VDP_DESC,
|
|
277
|
+
},
|
|
278
|
+
clearable: {
|
|
279
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
280
|
+
description: VDP_DESC,
|
|
281
|
+
},
|
|
282
|
+
alwaysClearable: {
|
|
283
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
284
|
+
description: VDP_DESC,
|
|
285
|
+
},
|
|
286
|
+
state: {
|
|
287
|
+
type: Boolean as PropType<VueDatePickerProps['state']>, default: null,
|
|
288
|
+
description: VDP_DESC,
|
|
289
|
+
},
|
|
290
|
+
required: {
|
|
291
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
292
|
+
description: VDP_DESC,
|
|
293
|
+
},
|
|
294
|
+
autocomplete: {
|
|
295
|
+
type: String as PropType<string>, default: 'off',
|
|
296
|
+
description: VDP_DESC,
|
|
297
|
+
},
|
|
298
|
+
timePicker: {
|
|
299
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
300
|
+
description: VDP_DESC,
|
|
301
|
+
},
|
|
302
|
+
enableSeconds: {
|
|
303
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
304
|
+
description: VDP_DESC,
|
|
305
|
+
},
|
|
306
|
+
is24: {
|
|
307
|
+
type: Boolean as PropType<boolean>, default: true,
|
|
308
|
+
description: VDP_DESC,
|
|
309
|
+
},
|
|
310
|
+
noHoursOverlay: {
|
|
311
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
312
|
+
description: VDP_DESC,
|
|
313
|
+
},
|
|
314
|
+
noMinutesOverlay: {
|
|
315
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
316
|
+
description: VDP_DESC,
|
|
317
|
+
},
|
|
318
|
+
noSecondsOverlay: {
|
|
319
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
320
|
+
description: VDP_DESC,
|
|
321
|
+
},
|
|
322
|
+
hoursGridIncrement: {
|
|
323
|
+
type: [String, Number] as PropType<string | number>, default: 1,
|
|
324
|
+
description: VDP_DESC,
|
|
325
|
+
},
|
|
326
|
+
minutesGridIncrement: {
|
|
327
|
+
type: [String, Number] as PropType<string | number>, default: 5,
|
|
328
|
+
description: VDP_DESC,
|
|
329
|
+
},
|
|
330
|
+
secondsGridIncrement: {
|
|
331
|
+
type: [String, Number] as PropType<string | number>, default: 5,
|
|
332
|
+
description: VDP_DESC,
|
|
333
|
+
},
|
|
334
|
+
hoursIncrement: {
|
|
335
|
+
type: [Number, String] as PropType<number | string>, default: 1,
|
|
336
|
+
description: VDP_DESC,
|
|
337
|
+
},
|
|
338
|
+
minutesIncrement: {
|
|
339
|
+
type: [Number, String] as PropType<number | string>, default: 1,
|
|
340
|
+
description: VDP_DESC,
|
|
341
|
+
},
|
|
342
|
+
secondsIncrement: {
|
|
343
|
+
type: [Number, String] as PropType<number | string>, default: 1,
|
|
344
|
+
description: VDP_DESC,
|
|
345
|
+
},
|
|
346
|
+
range: {
|
|
347
|
+
type: [Boolean, Object] as PropType<VueDatePickerProps['range']>, default: false,
|
|
348
|
+
description: VDP_DESC,
|
|
349
|
+
},
|
|
350
|
+
uid: {
|
|
351
|
+
type: String as PropType<string>, default: null,
|
|
352
|
+
description: VDP_DESC,
|
|
353
|
+
},
|
|
354
|
+
inline: {
|
|
355
|
+
type: [Boolean, Object] as PropType<VueDatePickerProps['inline']>, default: false,
|
|
356
|
+
description: VDP_DESC,
|
|
357
|
+
},
|
|
358
|
+
textInput: {
|
|
359
|
+
type: [Boolean, Object] as PropType<VueDatePickerProps['textInput']>, default: false,
|
|
360
|
+
description: VDP_DESC,
|
|
361
|
+
},
|
|
362
|
+
noDisabledRange: {
|
|
363
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
364
|
+
description: VDP_DESC,
|
|
365
|
+
},
|
|
366
|
+
sixWeeks: {
|
|
367
|
+
type: [Boolean, String] as PropType<VueDatePickerProps['sixWeeks']>, default: false,
|
|
368
|
+
description: VDP_DESC,
|
|
369
|
+
},
|
|
370
|
+
actionRow: {
|
|
371
|
+
type: Object as PropType<Partial<any>>, default: () => ({}),
|
|
372
|
+
description: VDP_DESC,
|
|
373
|
+
},
|
|
374
|
+
focusStartDate: {
|
|
375
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
376
|
+
description: VDP_DESC,
|
|
377
|
+
},
|
|
378
|
+
disabledTimes: {
|
|
379
|
+
type: [Function, Array] as PropType<VueDatePickerProps['disabledTimes']>, default: undefined,
|
|
380
|
+
description: VDP_DESC,
|
|
381
|
+
},
|
|
382
|
+
showLastInRange: {
|
|
383
|
+
type: Boolean as PropType<boolean>, default: true,
|
|
384
|
+
description: VDP_DESC,
|
|
385
|
+
},
|
|
386
|
+
timePickerInline: {
|
|
387
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
388
|
+
description: VDP_DESC,
|
|
389
|
+
},
|
|
390
|
+
calendar: {
|
|
391
|
+
type: Function as PropType<VueDatePickerProps['calendar']>, default: null,
|
|
392
|
+
description: VDP_DESC,
|
|
393
|
+
},
|
|
394
|
+
config: {
|
|
395
|
+
type: Object as PropType<Partial<VueDatePickerProps['config']>>, default: undefined,
|
|
396
|
+
description: VDP_DESC,
|
|
397
|
+
},
|
|
398
|
+
quarterPicker: {
|
|
399
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
400
|
+
description: VDP_DESC,
|
|
401
|
+
},
|
|
402
|
+
yearFirst: {
|
|
403
|
+
type: Boolean as PropType<boolean>, default: false,
|
|
404
|
+
description: VDP_DESC,
|
|
405
|
+
},
|
|
406
|
+
onInternalModelChange: {
|
|
407
|
+
type: [Function, Object] as PropType<(...args: any[]) => void>, default: null,
|
|
408
|
+
description: VDP_DESC,
|
|
409
|
+
},
|
|
410
|
+
enableMinutes: {
|
|
411
|
+
type: Boolean as PropType<boolean>, default: true,
|
|
412
|
+
description: VDP_DESC,
|
|
413
|
+
},
|
|
414
|
+
ui: {
|
|
415
|
+
type: Object as PropType<Partial<VueDatePickerProps['ui']>>, default: () => ({}),
|
|
416
|
+
description: VDP_DESC,
|
|
76
417
|
},
|
|
77
|
-
multiDates: { type: Boolean as PropType<boolean>, default: false },
|
|
78
|
-
ignoreTimeValidation: { type: Boolean as PropType<boolean>, default: false },
|
|
79
|
-
minDate: { type: [Date, String] as PropType<Date | string>, default: null },
|
|
80
|
-
maxDate: { type: [Date, String] as PropType<Date | string>, default: null },
|
|
81
|
-
minTime: { type: Object as PropType<Partial<TimeModel>>, default: null },
|
|
82
|
-
maxTime: { type: Object as PropType<Partial<TimeModel>>, default: null },
|
|
83
|
-
placeholder: { type: String as PropType<string>, default: '' },
|
|
84
|
-
hideInputIcon: { type: Boolean as PropType<boolean>, default: false },
|
|
85
|
-
clearable: { type: Boolean as PropType<boolean>, default: false },
|
|
86
|
-
alwaysClearable: { type: Boolean as PropType<boolean>, default: false },
|
|
87
|
-
state: { type: Boolean as PropType<VueDatePickerProps['state']>, default: null },
|
|
88
|
-
required: { type: Boolean as PropType<boolean>, default: false },
|
|
89
|
-
autocomplete: { type: String as PropType<string>, default: 'off' },
|
|
90
|
-
timePicker: { type: Boolean as PropType<boolean>, default: false },
|
|
91
|
-
enableSeconds: { type: Boolean as PropType<boolean>, default: false },
|
|
92
|
-
is24: { type: Boolean as PropType<boolean>, default: true },
|
|
93
|
-
noHoursOverlay: { type: Boolean as PropType<boolean>, default: false },
|
|
94
|
-
noMinutesOverlay: { type: Boolean as PropType<boolean>, default: false },
|
|
95
|
-
noSecondsOverlay: { type: Boolean as PropType<boolean>, default: false },
|
|
96
|
-
hoursGridIncrement: { type: [String, Number] as PropType<string | number>, default: 1 },
|
|
97
|
-
minutesGridIncrement: { type: [String, Number] as PropType<string | number>, default: 5 },
|
|
98
|
-
secondsGridIncrement: { type: [String, Number] as PropType<string | number>, default: 5 },
|
|
99
|
-
hoursIncrement: { type: [Number, String] as PropType<number | string>, default: 1 },
|
|
100
|
-
minutesIncrement: { type: [Number, String] as PropType<number | string>, default: 1 },
|
|
101
|
-
secondsIncrement: { type: [Number, String] as PropType<number | string>, default: 1 },
|
|
102
|
-
range: { type: [Boolean, Object] as PropType<VueDatePickerProps['range']>, default: false },
|
|
103
|
-
uid: { type: String as PropType<string>, default: null },
|
|
104
|
-
inline: { type: [Boolean, Object] as PropType<VueDatePickerProps['inline']>, default: false },
|
|
105
|
-
textInput: { type: [Boolean, Object] as PropType<VueDatePickerProps['textInput']>, default: false },
|
|
106
|
-
noDisabledRange: { type: Boolean as PropType<boolean>, default: false },
|
|
107
|
-
sixWeeks: { type: [Boolean, String] as PropType<VueDatePickerProps['sixWeeks']>, default: false },
|
|
108
|
-
actionRow: { type: Object as PropType<Partial<any>>, default: () => ({}) },
|
|
109
|
-
focusStartDate: { type: Boolean as PropType<boolean>, default: false },
|
|
110
|
-
disabledTimes: { type: [Function, Array] as PropType<VueDatePickerProps['disabledTimes']>, default: undefined },
|
|
111
|
-
showLastInRange: { type: Boolean as PropType<boolean>, default: true },
|
|
112
|
-
timePickerInline: { type: Boolean as PropType<boolean>, default: false },
|
|
113
|
-
calendar: { type: Function as PropType<VueDatePickerProps['calendar']>, default: null },
|
|
114
|
-
config: { type: Object as PropType<Partial<VueDatePickerProps['config']>>, default: undefined },
|
|
115
|
-
quarterPicker: { type: Boolean as PropType<boolean>, default: false },
|
|
116
|
-
yearFirst: { type: Boolean as PropType<boolean>, default: false },
|
|
117
|
-
onInternalModelChange: { type: [Function, Object] as PropType<(...args: any[]) => void>, default: null },
|
|
118
|
-
enableMinutes: { type: Boolean as PropType<boolean>, default: true },
|
|
119
|
-
ui: { type: Object as PropType<Partial<VueDatePickerProps['ui']>>, default: () => ({}) },
|
|
120
418
|
}
|
|
121
419
|
|
|
122
420
|
const datepickerProps = {
|
|
@@ -134,6 +432,19 @@ export interface DatepickerTheme extends ThemeComponent<DatepickerProps, Interna
|
|
|
134
432
|
|
|
135
433
|
export default {
|
|
136
434
|
name: 'XDatepicker',
|
|
435
|
+
docs: {
|
|
436
|
+
slots: {
|
|
437
|
+
'dp-input': 'Custom input trigger; receives value, onEnter, and onTab from vue-datepicker.',
|
|
438
|
+
},
|
|
439
|
+
emits: {
|
|
440
|
+
...useInputtable.emitDocs(),
|
|
441
|
+
},
|
|
442
|
+
methods: {
|
|
443
|
+
focus: 'Focus the datepicker input.',
|
|
444
|
+
blur: 'Remove focus from the datepicker input.',
|
|
445
|
+
validate: 'Run validation on the underlying input.',
|
|
446
|
+
},
|
|
447
|
+
},
|
|
137
448
|
}
|
|
138
449
|
</script>
|
|
139
450
|
|
|
@@ -143,7 +454,7 @@ import { useMutationObserver } from '@vueuse/core'
|
|
|
143
454
|
import { useCommon } from '../../composables/useCommon'
|
|
144
455
|
import { useInputtable } from '../../composables/useInputtable'
|
|
145
456
|
import { useInteractive } from '../../composables/useInteractive'
|
|
146
|
-
import { useTheme, type ThemeComponent } from '../../composables/useTheme'
|
|
457
|
+
import { useTheme, type StyleValue, type ThemeComponent } from '../../composables/useTheme'
|
|
147
458
|
import type { Size } from '../../composables/useCommon'
|
|
148
459
|
import { injectInputGroupKey } from '../../composables/keys'
|
|
149
460
|
import XInput from '../input/Input.vue'
|
|
@@ -151,6 +462,39 @@ import type { Locale } from 'date-fns'
|
|
|
151
462
|
import VueDatepicker, { type ModelValue, type TimeModel, type VueDatePickerProps } from '@vuepic/vue-datepicker'
|
|
152
463
|
import '@vuepic/vue-datepicker/dist/main.css'
|
|
153
464
|
|
|
465
|
+
let datepickerThemeSeq = 0
|
|
466
|
+
|
|
467
|
+
/** Flatten theme StyleValue into CSS declarations for a teleported menu stylesheet. */
|
|
468
|
+
function styleValueToCssText(value: StyleValue | StyleValue[]): string {
|
|
469
|
+
const decls: string[] = []
|
|
470
|
+
|
|
471
|
+
const visit = (v: unknown) => {
|
|
472
|
+
if (v === null || v === undefined || v === false) return
|
|
473
|
+
if (typeof v === 'string') {
|
|
474
|
+
const trimmed = v.trim()
|
|
475
|
+
|
|
476
|
+
if (trimmed) decls.push(trimmed.endsWith(';') ? trimmed.slice(0, -1) : trimmed)
|
|
477
|
+
|
|
478
|
+
return
|
|
479
|
+
}
|
|
480
|
+
if (Array.isArray(v)) {
|
|
481
|
+
v.forEach(visit)
|
|
482
|
+
|
|
483
|
+
return
|
|
484
|
+
}
|
|
485
|
+
if (typeof v === 'object') {
|
|
486
|
+
for (const [key, val] of Object.entries(v as Record<string, unknown>)) {
|
|
487
|
+
if (val === null || val === undefined || val === false) continue
|
|
488
|
+
decls.push(`${key}: ${val}`)
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
visit(value)
|
|
494
|
+
|
|
495
|
+
return decls.join(';\n')
|
|
496
|
+
}
|
|
497
|
+
|
|
154
498
|
const props = defineProps(datepickerProps)
|
|
155
499
|
|
|
156
500
|
const inputGroup = inject(injectInputGroupKey, {
|
|
@@ -191,7 +535,7 @@ function validate() {
|
|
|
191
535
|
inputRef.value?.validate()
|
|
192
536
|
}
|
|
193
537
|
|
|
194
|
-
const htmlNode = document
|
|
538
|
+
const htmlNode = typeof document !== 'undefined' ? document.querySelector('html') : null
|
|
195
539
|
const dark = ref(htmlNode?.classList.contains('dark') ?? false)
|
|
196
540
|
|
|
197
541
|
useMutationObserver(htmlNode, (mutations) => {
|
|
@@ -207,6 +551,26 @@ const { hideFooterInternal } = useInputtable(props, { focus, emit })
|
|
|
207
551
|
defineExpose({ focus, blur, validate })
|
|
208
552
|
|
|
209
553
|
const { styles, classes, className } = useTheme('Datepicker', {}, props, { isInsideInputGroup })
|
|
554
|
+
|
|
555
|
+
// Teleported menus leave the wrapper, so theme CSS vars must travel with the menu.
|
|
556
|
+
const menuThemeClass = `x-datepicker-menu-${++datepickerThemeSeq}`
|
|
557
|
+
|
|
558
|
+
const mergedUi = computed(() => {
|
|
559
|
+
const userUi = props.ui ?? {}
|
|
560
|
+
const userMenu = userUi.menu
|
|
561
|
+
const menu = [
|
|
562
|
+
...(Array.isArray(userMenu) ? userMenu : userMenu ? [userMenu] : []),
|
|
563
|
+
menuThemeClass,
|
|
564
|
+
]
|
|
565
|
+
|
|
566
|
+
return { ...userUi, menu }
|
|
567
|
+
})
|
|
568
|
+
|
|
569
|
+
const menuThemeCss = computed(() => {
|
|
570
|
+
const declarations = styleValueToCssText(styles.value)
|
|
571
|
+
|
|
572
|
+
return declarations ? `.${menuThemeClass}{\n${declarations}\n}` : ''
|
|
573
|
+
})
|
|
210
574
|
</script>
|
|
211
575
|
|
|
212
576
|
<template>
|
|
@@ -218,8 +582,9 @@ const { styles, classes, className } = useTheme('Datepicker', {}, props, { isIns
|
|
|
218
582
|
isInsideInputGroup ? 'flex-1 min-w-0' : '',
|
|
219
583
|
]"
|
|
220
584
|
>
|
|
585
|
+
<component :is="'style'">{{ menuThemeCss }}</component>
|
|
221
586
|
<vue-datepicker
|
|
222
|
-
:ui="
|
|
587
|
+
:ui="mergedUi"
|
|
223
588
|
:model-value="modelValue"
|
|
224
589
|
:multi-calendars="multiCalendars"
|
|
225
590
|
:model-type="modelType"
|
|
@@ -436,7 +801,7 @@ const { styles, classes, className } = useTheme('Datepicker', {}, props, { isIns
|
|
|
436
801
|
}
|
|
437
802
|
|
|
438
803
|
.dp__action_row {
|
|
439
|
-
border-top: 1px solid #eee;
|
|
804
|
+
border-top: 1px solid var(--dp-border-color, #eee);
|
|
440
805
|
margin-top: 10px;
|
|
441
806
|
}
|
|
442
807
|
</style>
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest'
|
|
2
2
|
import { mount } from '@vue/test-utils'
|
|
3
3
|
import Datepicker from '../Datepicker.vue'
|
|
4
|
+
import { injectThemeKey } from '../../../composables/keys'
|
|
5
|
+
import BaseTheme from '../../../themes/base'
|
|
6
|
+
|
|
7
|
+
const themeProvide = {
|
|
8
|
+
global: {
|
|
9
|
+
provide: {
|
|
10
|
+
[injectThemeKey as symbol]: BaseTheme,
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
}
|
|
4
14
|
|
|
5
15
|
describe('Datepicker', () => {
|
|
6
16
|
it('renders properly', () => {
|
|
@@ -8,4 +18,25 @@ describe('Datepicker', () => {
|
|
|
8
18
|
|
|
9
19
|
expect(wrapper.vm).toBeTruthy()
|
|
10
20
|
})
|
|
21
|
+
|
|
22
|
+
it('exposes teleport prop for the menu (null uses VueDatePicker default)', () => {
|
|
23
|
+
const wrapper = mount(Datepicker)
|
|
24
|
+
|
|
25
|
+
expect(wrapper.props('teleport')).toBe(null)
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
it('applies a theme class to the menu for teleported styles', () => {
|
|
29
|
+
const wrapper = mount(Datepicker, themeProvide)
|
|
30
|
+
const css = wrapper.find('style').text()
|
|
31
|
+
const match = css.match(/\.x-datepicker-menu-\d+/)
|
|
32
|
+
|
|
33
|
+
expect(match).toBeTruthy()
|
|
34
|
+
expect(css).toContain('--x-datepicker-')
|
|
35
|
+
|
|
36
|
+
const menuClass = match![0].slice(1)
|
|
37
|
+
const dp = wrapper.findComponent({ name: 'VueDatePicker' })
|
|
38
|
+
|
|
39
|
+
expect(dp.exists()).toBe(true)
|
|
40
|
+
expect(dp.props('ui').menu).toContain(menuClass)
|
|
41
|
+
})
|
|
11
42
|
})
|