@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.
Files changed (326) hide show
  1. package/docs/App.vue +19 -4
  2. package/docs/assets/css/tailwind.css +7 -1
  3. package/docs/components/Cookies.vue +3 -1
  4. package/docs/components/common/CodePreview.vue +1 -1
  5. package/docs/components/common/DocsCopyPage.vue +200 -0
  6. package/docs/components/common/DocumentPage.vue +76 -23
  7. package/docs/components/toolbar/ToolbarColorToggle.vue +29 -18
  8. package/docs/components/toolbar/ToolbarSearch.vue +4 -4
  9. package/docs/composables/useDocMeta.ts +63 -4
  10. package/docs/icons.ts +3 -0
  11. package/docs/main.ts +25 -26
  12. package/docs/pages/component/accordion/index.vue +2 -2
  13. package/docs/pages/component/alert/index.vue +2 -2
  14. package/docs/pages/component/avatar/index.vue +4 -4
  15. package/docs/pages/component/badge/index.vue +2 -2
  16. package/docs/pages/component/breadcrumbs/index.vue +2 -2
  17. package/docs/pages/component/button/button-group.vue +3 -3
  18. package/docs/pages/component/button/index.vue +14 -7
  19. package/docs/pages/component/button/tooltip.vue +10 -0
  20. package/docs/pages/component/card/index.vue +2 -2
  21. package/docs/pages/component/carousel/index.vue +2 -2
  22. package/docs/pages/component/checkbox/index.vue +5 -5
  23. package/docs/pages/component/container/index.vue +2 -2
  24. package/docs/pages/component/datepicker/index.vue +2 -2
  25. package/docs/pages/component/divider/index.vue +4 -4
  26. package/docs/pages/component/drawer/index.vue +2 -2
  27. package/docs/pages/component/empty/index.vue +3 -3
  28. package/docs/pages/component/form/index.vue +2 -2
  29. package/docs/pages/component/formGroup/index.vue +2 -2
  30. package/docs/pages/component/infiniteLoader/index.vue +3 -3
  31. package/docs/pages/component/input/index.vue +5 -5
  32. package/docs/pages/component/inputGroup/index.vue +3 -3
  33. package/docs/pages/component/inputGroup/validation.vue +6 -1
  34. package/docs/pages/component/link/index.vue +2 -2
  35. package/docs/pages/component/loader/index.vue +2 -2
  36. package/docs/pages/component/menu/index.vue +2 -2
  37. package/docs/pages/component/modal/index.vue +3 -3
  38. package/docs/pages/component/notifications/index.vue +2 -2
  39. package/docs/pages/component/pagination/index.vue +2 -2
  40. package/docs/pages/component/popover/index.vue +2 -2
  41. package/docs/pages/component/popover/usage.vue +14 -0
  42. package/docs/pages/component/progress/index.vue +3 -3
  43. package/docs/pages/component/qrCode/index.vue +2 -2
  44. package/docs/pages/component/radio/index.vue +3 -3
  45. package/docs/pages/component/scroll/index.vue +3 -3
  46. package/docs/pages/component/select/index.vue +5 -5
  47. package/docs/pages/component/skeleton/index.vue +2 -2
  48. package/docs/pages/component/slider/index.vue +2 -2
  49. package/docs/pages/component/spacer/index.vue +2 -2
  50. package/docs/pages/component/spinner/index.vue +3 -3
  51. package/docs/pages/component/table/index.vue +4 -4
  52. package/docs/pages/component/tabs/index.vue +2 -2
  53. package/docs/pages/component/tabs/usage.vue +26 -0
  54. package/docs/pages/component/tag/index.vue +2 -2
  55. package/docs/pages/component/textarea/index.vue +4 -4
  56. package/docs/pages/component/toggle/index.vue +4 -4
  57. package/docs/pages/component/upload/index.vue +2 -2
  58. package/docs/pages/component/upload/usage.vue +1 -0
  59. package/docs/pages/component/virtualGrid/index.vue +2 -2
  60. package/docs/pages/component/virtualList/index.vue +3 -3
  61. package/docs/pages/icons.vue +2 -2
  62. package/docs/router/index.ts +39 -44
  63. package/docs/search/components.json +1 -1
  64. package/docs/search/index.json +1 -1
  65. package/lib/common/buttonGroupRadius.d.ts +3 -0
  66. package/lib/common/buttonGroupRadius.js +6 -0
  67. package/lib/common/props.d.ts +1 -1
  68. package/lib/common/props.js +10 -9
  69. package/lib/components/accordion/Accordion.vue.d.ts +42 -9
  70. package/lib/components/accordion/Accordion.vue_vue_type_script_setup_true_lang.js +18 -6
  71. package/lib/components/accordion/AccordionItem.vue.d.ts +33 -6
  72. package/lib/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js +31 -6
  73. package/lib/components/alert/Alert.vue.d.ts +27 -6
  74. package/lib/components/alert/Alert.vue_vue_type_script_setup_true_lang.js +20 -6
  75. package/lib/components/avatar/Avatar.vue.d.ts +45 -9
  76. package/lib/components/avatar/Avatar.vue_vue_type_script_setup_true_lang.js +17 -6
  77. package/lib/components/badge/Badge.vue.d.ts +54 -9
  78. package/lib/components/badge/Badge.vue_vue_type_script_setup_true_lang.js +26 -9
  79. package/lib/components/breadcrumbs/Breadcrumbs.vue.d.ts +30 -6
  80. package/lib/components/breadcrumbs/Breadcrumbs.vue_vue_type_script_setup_true_lang.js +13 -5
  81. package/lib/components/button/Button.js +2 -2
  82. package/lib/components/button/Button.vue.d.ts +138 -28
  83. package/lib/components/button/Button.vue_vue_type_script_setup_true_lang.js +192 -70
  84. package/lib/components/button/ButtonGroup.js +4 -5
  85. package/lib/components/button/ButtonGroup.vue.d.ts +54 -10
  86. package/lib/components/button/ButtonGroup.vue_vue_type_script_setup_true_lang.js +30 -19
  87. package/lib/components/button/theme/Button.base.theme.js +6 -5
  88. package/lib/components/button/theme/Button.carbon.theme.js +6 -5
  89. package/lib/components/card/Card.vue.d.ts +3 -0
  90. package/lib/components/card/Card.vue_vue_type_script_setup_true_lang.js +4 -2
  91. package/lib/components/carousel/Carousel.vue.d.ts +21 -3
  92. package/lib/components/carousel/Carousel.vue_vue_type_script_setup_true_lang.js +23 -5
  93. package/lib/components/carousel/CarouselSlide.js +2 -2
  94. package/lib/components/carousel/CarouselSlide.vue.d.ts +3 -0
  95. package/lib/components/carousel/CarouselSlide.vue_vue_type_script_setup_true_lang.js +3 -1
  96. 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
  97. package/lib/components/checkbox/Checkbox.vue.d.ts +198 -45
  98. package/lib/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +20 -3
  99. package/lib/components/container/Container.vue.d.ts +6 -0
  100. package/lib/components/container/Container.vue_vue_type_script_setup_true_lang.js +5 -2
  101. package/lib/components/datepicker/Datepicker.vue.d.ts +462 -36
  102. package/lib/components/datepicker/Datepicker.vue_vue_type_script_setup_true_lang.js +294 -153
  103. package/lib/components/divider/Divider.vue.d.ts +12 -3
  104. package/lib/components/divider/Divider.vue_vue_type_script_setup_true_lang.js +6 -2
  105. package/lib/components/drawer/Drawer.vue.d.ts +39 -6
  106. package/lib/components/drawer/Drawer.vue_vue_type_script_setup_true_lang.js +30 -7
  107. package/lib/components/empty/Empty.vue.d.ts +30 -6
  108. package/lib/components/empty/Empty.vue_vue_type_script_setup_true_lang.js +17 -4
  109. package/lib/components/form/Form.vue.d.ts +48 -9
  110. package/lib/components/form/Form.vue_vue_type_script_setup_true_lang.js +34 -7
  111. package/lib/components/formGroup/FormGroup.vue.d.ts +171 -39
  112. package/lib/components/formGroup/FormGroup.vue_vue_type_script_setup_true_lang.js +15 -9
  113. package/lib/components/icon/Icon.vue.d.ts +9 -0
  114. package/lib/components/icon/Icon.vue_vue_type_script_setup_true_lang.js +6 -3
  115. package/lib/components/image/Image.vue.d.ts +12 -3
  116. package/lib/components/image/Image.vue_vue_type_script_setup_true_lang.js +5 -1
  117. package/lib/components/index.js +18 -18
  118. package/lib/components/input/Input.vue.d.ts +291 -66
  119. package/lib/components/input/Input.vue_vue_type_script_setup_true_lang.js +53 -15
  120. package/lib/components/inputFooter/InputFooter.vue.d.ts +48 -12
  121. package/lib/components/inputFooter/InputFooter.vue_vue_type_script_setup_true_lang.js +18 -5
  122. package/lib/components/inputGroup/InputGroup.vue.d.ts +171 -39
  123. package/lib/components/inputGroup/InputGroup.vue_vue_type_script_setup_true_lang.js +6 -1
  124. package/lib/components/label/Label.vue.d.ts +78 -18
  125. package/lib/components/label/Label.vue_vue_type_script_setup_true_lang.js +28 -8
  126. package/lib/components/link/Link.js +2 -2
  127. package/lib/components/link/Link.vue.d.ts +18 -3
  128. package/lib/components/link/Link.vue_vue_type_script_setup_true_lang.js +10 -5
  129. package/lib/components/loader/Loader.vue.d.ts +30 -6
  130. package/lib/components/loader/Loader.vue_vue_type_script_setup_true_lang.js +11 -3
  131. package/lib/components/menu/Menu.vue.d.ts +51 -9
  132. package/lib/components/menu/Menu.vue_vue_type_script_setup_true_lang.js +24 -8
  133. package/lib/components/menu/MenuItem.js +2 -2
  134. package/lib/components/menu/MenuItem.vue.d.ts +198 -45
  135. package/lib/components/menu/MenuItem.vue_vue_type_script_setup_true_lang.js +84 -23
  136. 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
  137. package/lib/components/modal/Modal.vue.d.ts +177 -39
  138. package/lib/components/modal/Modal.vue_vue_type_script_setup_true_lang.js +104 -23
  139. package/lib/components/notifications/Notifications.vue.d.ts +24 -0
  140. package/lib/components/notifications/Notifications.vue_vue_type_script_setup_true_lang.js +39 -12
  141. package/lib/components/pagination/Pagination.vue.d.ts +12 -0
  142. package/lib/components/pagination/Pagination.vue_vue_type_script_setup_true_lang.js +8 -4
  143. package/lib/components/pagination/PaginationItem.vue.d.ts +18 -3
  144. package/lib/components/pagination/PaginationItem.vue_vue_type_script_setup_true_lang.js +8 -3
  145. package/lib/components/popover/Popover.vue.d.ts +204 -45
  146. package/lib/components/popover/Popover.vue_vue_type_script_setup_true_lang.js +157 -66
  147. package/lib/components/popover/PopoverContainer.vue.d.ts +3 -0
  148. package/lib/components/popover/PopoverContainer.vue_vue_type_script_setup_true_lang.js +3 -1
  149. package/lib/components/popover/PopoverContentBoundary.js +5 -0
  150. package/lib/components/popover/PopoverContentBoundary.vue.d.ts +9 -0
  151. package/lib/components/popover/PopoverContentBoundary.vue_vue_type_script_setup_true_lang.js +18 -0
  152. package/lib/components/popover/theme/PopoverContainer.base.theme.js +1 -1
  153. package/lib/components/progress/Progress.vue.d.ts +9 -0
  154. package/lib/components/progress/Progress.vue_vue_type_script_setup_true_lang.js +7 -4
  155. package/lib/components/qrCode/QrCode.vue.d.ts +24 -3
  156. package/lib/components/qrCode/QrCode.vue_vue_type_script_setup_true_lang.js +13 -5
  157. package/lib/components/radio/Radio.vue.d.ts +186 -42
  158. package/lib/components/radio/Radio.vue_vue_type_script_setup_true_lang.js +10 -2
  159. package/lib/components/radioButton/RadioButton.vue.d.ts +186 -42
  160. package/lib/components/radioButton/RadioButton.vue_vue_type_script_setup_true_lang.js +9 -1
  161. package/lib/components/scroll/Scroll.vue.d.ts +3 -0
  162. package/lib/components/scroll/Scroll.vue_vue_type_script_setup_true_lang.js +9 -4
  163. package/lib/components/select/Select.vue.d.ts +633 -144
  164. package/lib/components/select/Select.vue_vue_type_script_setup_true_lang.js +224 -189
  165. package/lib/components/skeleton/Skeleton.vue.d.ts +6 -0
  166. package/lib/components/skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js +5 -2
  167. package/lib/components/slider/Slider.js +1 -1
  168. package/lib/components/slider/Slider.vue.d.ts +180 -39
  169. package/lib/components/slider/Slider.vue_vue_type_script_setup_true_lang.js +14 -3
  170. package/lib/components/spinner/Spinner.vue.d.ts +6 -0
  171. package/lib/components/spinner/Spinner.vue_vue_type_script_setup_true_lang.js +3 -1
  172. package/lib/components/stepper/Stepper.vue.d.ts +120 -24
  173. package/lib/components/stepper/Stepper.vue_vue_type_script_setup_true_lang.js +63 -15
  174. package/lib/components/tab/Tab.vue.d.ts +112 -31
  175. package/lib/components/tab/Tab.vue_vue_type_script_setup_true_lang.js +166 -95
  176. package/lib/components/tab/TabGroup.vue.d.ts +47 -12
  177. package/lib/components/tab/TabGroup.vue_vue_type_script_setup_true_lang.js +93 -49
  178. package/lib/components/tab/theme/Tab.base.theme.js +6 -6
  179. package/lib/components/tab/theme/Tab.carbon.theme.js +6 -6
  180. package/lib/components/tab/theme/TabGroup.base.theme.js +7 -7
  181. package/lib/components/tab/theme/TabGroup.carbon.theme.js +3 -3
  182. package/lib/components/table/Table.vue.d.ts +45 -9
  183. package/lib/components/table/Table.vue_vue_type_script_setup_true_lang.js +82 -27
  184. package/lib/components/table/TableCell.vue.d.ts +54 -12
  185. package/lib/components/table/TableCell.vue_vue_type_script_setup_true_lang.js +23 -8
  186. package/lib/components/table/TableHead.vue_vue_type_script_setup_true_lang.js +2 -1
  187. package/lib/components/table/TableHeader.vue.d.ts +18 -3
  188. package/lib/components/table/TableHeader.vue_vue_type_script_setup_true_lang.js +10 -4
  189. package/lib/components/table/TableRow.vue.d.ts +15 -3
  190. package/lib/components/table/TableRow.vue_vue_type_script_setup_true_lang.js +10 -5
  191. package/lib/components/tag/Tag.vue.d.ts +33 -6
  192. package/lib/components/tag/Tag.vue_vue_type_script_setup_true_lang.js +21 -7
  193. package/lib/components/textarea/Textarea.vue.d.ts +237 -54
  194. package/lib/components/textarea/Textarea.vue_vue_type_script_setup_true_lang.js +38 -13
  195. package/lib/components/themeProvider/ThemeProvider.vue.d.ts +10 -4
  196. package/lib/components/themeProvider/ThemeProvider.vue_vue_type_script_setup_true_lang.js +6 -1
  197. package/lib/components/toggle/Toggle.vue.d.ts +174 -39
  198. package/lib/components/toggle/Toggle.vue_vue_type_script_setup_true_lang.js +5 -1
  199. package/lib/components/tooltip/ToggleTip.vue.d.ts +24 -6
  200. package/lib/components/tooltip/ToggleTip.vue_vue_type_script_setup_true_lang.js +9 -2
  201. package/lib/components/tooltip/Tooltip.vue.d.ts +30 -6
  202. package/lib/components/tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +16 -4
  203. package/lib/components/upload/Upload.vue.d.ts +249 -57
  204. package/lib/components/upload/Upload.vue_vue_type_script_setup_true_lang.js +156 -125
  205. package/lib/components/upload/fileAccept.d.ts +6 -0
  206. package/lib/components/upload/fileAccept.js +17 -0
  207. package/lib/composables/useColors.d.ts +1 -0
  208. package/lib/composables/useColors.js +2 -1
  209. package/lib/composables/useCommon.d.ts +1 -0
  210. package/lib/composables/useCommon.js +2 -1
  211. package/lib/composables/useFocusTrap.js +1 -1
  212. package/lib/composables/useInputtable.d.ts +45 -10
  213. package/lib/composables/useInputtable.js +56 -14
  214. package/lib/composables/useInteractive.d.ts +13 -3
  215. package/lib/composables/useInteractive.js +14 -4
  216. package/lib/index.js +12 -12
  217. package/lib/index.umd.js +9 -10
  218. package/lib/themes/base/styles.d.ts +1 -1
  219. package/lib/themes/base/styles.js +1 -1
  220. package/lib/themes/carbon/styles.d.ts +1 -1
  221. package/lib/themes/carbon/styles.js +1 -1
  222. package/lib/version.d.ts +1 -1
  223. package/lib/version.js +1 -1
  224. package/lib/virtual/components/infiniteLoader/InfiniteLoader.vue.d.ts +27 -16
  225. package/lib/virtual/components/infiniteLoader/InfiniteLoader.vue_vue_type_script_setup_true_lang.js +25 -5
  226. package/lib/virtual/components/virtualGrid/VirtualGrid.vue.d.ts +108 -86
  227. package/lib/virtual/components/virtualGrid/VirtualGrid.vue_vue_type_script_setup_true_lang.js +91 -21
  228. package/lib/virtual/components/virtualList/VirtualList.vue.d.ts +62 -48
  229. package/lib/virtual/components/virtualList/VirtualList.vue_vue_type_script_setup_true_lang.js +64 -13
  230. package/lib/virtual/components/virtualList/useDynamicRowHeight.js +4 -3
  231. package/package.json +5 -3
  232. package/src/common/buttonGroupRadius.ts +16 -0
  233. package/src/common/props.ts +10 -9
  234. package/src/components/accordion/Accordion.vue +20 -4
  235. package/src/components/accordion/AccordionItem.vue +28 -3
  236. package/src/components/alert/Alert.vue +22 -6
  237. package/src/components/avatar/Avatar.vue +20 -5
  238. package/src/components/badge/Badge.vue +24 -5
  239. package/src/components/breadcrumbs/Breadcrumbs.vue +15 -5
  240. package/src/components/button/Button.vue +140 -5
  241. package/src/components/button/ButtonGroup.vue +41 -25
  242. package/src/components/button/__tests__/ Button.spec.ts +41 -0
  243. package/src/components/button/__tests__/ ButtonGroup.spec.ts +32 -0
  244. package/src/components/button/theme/Button.base.theme.ts +4 -1
  245. package/src/components/button/theme/Button.carbon.theme.ts +5 -4
  246. package/src/components/card/Card.vue +10 -2
  247. package/src/components/carousel/Carousel.vue +22 -2
  248. package/src/components/carousel/CarouselSlide.vue +6 -0
  249. package/src/components/checkbox/Checkbox.vue +22 -3
  250. package/src/components/container/Container.vue +10 -1
  251. package/src/components/datepicker/Datepicker.vue +466 -101
  252. package/src/components/datepicker/__tests__/Datepicker.spec.ts +31 -0
  253. package/src/components/divider/Divider.vue +9 -3
  254. package/src/components/drawer/Drawer.vue +27 -2
  255. package/src/components/empty/Empty.vue +18 -3
  256. package/src/components/form/Form.vue +32 -3
  257. package/src/components/formGroup/FormGroup.vue +12 -0
  258. package/src/components/icon/Icon.vue +4 -1
  259. package/src/components/image/Image.vue +8 -2
  260. package/src/components/input/Input.vue +54 -12
  261. package/src/components/inputFooter/InputFooter.vue +21 -6
  262. package/src/components/inputGroup/InputGroup.vue +12 -1
  263. package/src/components/label/Label.vue +31 -7
  264. package/src/components/link/Link.vue +16 -5
  265. package/src/components/loader/Loader.vue +10 -2
  266. package/src/components/menu/Menu.vue +23 -5
  267. package/src/components/menu/MenuItem.vue +78 -17
  268. package/src/components/modal/Modal.vue +90 -15
  269. package/src/components/notifications/Notifications.vue +23 -0
  270. package/src/components/notifications/__tests__/Notifications.spec.ts +44 -4
  271. package/src/components/pagination/Pagination.vue +9 -1
  272. package/src/components/pagination/PaginationItem.vue +11 -2
  273. package/src/components/popover/Popover.vue +113 -18
  274. package/src/components/popover/PopoverContainer.vue +9 -1
  275. package/src/components/popover/PopoverContentBoundary.vue +32 -0
  276. package/src/components/popover/__tests__/Popover.spec.ts +51 -0
  277. package/src/components/popover/theme/PopoverContainer.base.theme.ts +1 -1
  278. package/src/components/progress/Progress.vue +8 -3
  279. package/src/components/qrCode/QrCode.vue +9 -1
  280. package/src/components/radio/Radio.vue +16 -2
  281. package/src/components/radioButton/RadioButton.vue +15 -1
  282. package/src/components/scroll/Scroll.vue +15 -4
  283. package/src/components/select/Select.vue +53 -16
  284. package/src/components/skeleton/Skeleton.vue +3 -0
  285. package/src/components/slider/Slider.vue +15 -0
  286. package/src/components/spinner/Spinner.vue +2 -0
  287. package/src/components/stepper/Stepper.vue +57 -9
  288. package/src/components/tab/Tab.vue +153 -63
  289. package/src/components/tab/TabGroup.vue +110 -26
  290. package/src/components/tab/__tests__/Tab.spec.ts +53 -0
  291. package/src/components/tab/__tests__/TabGroup.spec.ts +113 -0
  292. package/src/components/tab/theme/Tab.base.theme.ts +24 -2
  293. package/src/components/tab/theme/Tab.carbon.theme.ts +30 -7
  294. package/src/components/tab/theme/TabGroup.base.theme.ts +12 -9
  295. package/src/components/tab/theme/TabGroup.carbon.theme.ts +6 -2
  296. package/src/components/table/Table.vue +76 -19
  297. package/src/components/table/TableCell.vue +25 -6
  298. package/src/components/table/TableHead.vue +9 -2
  299. package/src/components/table/TableHeader.vue +16 -3
  300. package/src/components/table/TableRow.vue +17 -5
  301. package/src/components/tag/Tag.vue +22 -6
  302. package/src/components/textarea/Textarea.vue +40 -11
  303. package/src/components/themeProvider/ThemeProvider.vue +22 -7
  304. package/src/components/toggle/Toggle.vue +9 -1
  305. package/src/components/tooltip/ToggleTip.vue +12 -3
  306. package/src/components/tooltip/Tooltip.vue +19 -3
  307. package/src/components/upload/Upload.vue +46 -16
  308. package/src/components/upload/__tests__/fileAccept.spec.ts +39 -0
  309. package/src/components/upload/fileAccept.ts +29 -0
  310. package/src/composables/useColors.ts +1 -0
  311. package/src/composables/useCommon.ts +1 -0
  312. package/src/composables/useFocusTrap.ts +3 -1
  313. package/src/composables/useInputtable.ts +66 -10
  314. package/src/composables/useInteractive.ts +13 -3
  315. package/src/themes/base/styles.ts +2 -3
  316. package/src/themes/carbon/styles.ts +2 -3
  317. package/src/version.ts +1 -1
  318. package/src/virtual/components/infiniteLoader/InfiniteLoader.vue +33 -1
  319. package/src/virtual/components/virtualGrid/VirtualGrid.vue +104 -10
  320. package/src/virtual/components/virtualList/VirtualList.vue +73 -8
  321. package/src/virtual/components/virtualList/useDynamicRowHeight.ts +9 -2
  322. package/volar.d.ts +3 -0
  323. package/docs/layouts/simple.vue +0 -5
  324. package/lib/components/button/ButtonGroup.vue_vue_type_style_index_0_lang.module.js +0 -7
  325. /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
  326. /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: { type: [Boolean, Number, String, Object] as PropType<VueDatePickerProps['multiCalendars']>, default: undefined },
4
- modelValue: { type: [String, Date, Array, Object, Number] as PropType<ModelValue>, default: null },
5
- modelType: { type: String as PropType<VueDatePickerProps['modelType']>, default: null },
6
- position: { type: String as PropType<VueDatePickerProps['position']>, default: 'center' },
7
- dark: { type: Boolean as PropType<boolean>, default: false },
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?.querySelector('html')
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="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
  })