@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
@@ -2,8 +2,11 @@
2
2
  import { optionalBooleanProp } from '../../common/props'
3
3
 
4
4
  const dividerProps = {
5
- label: String,
6
- vertical: optionalBooleanProp(),
5
+ label: {
6
+ type: String,
7
+ description: 'Optional text shown between the divider lines.',
8
+ },
9
+ vertical: optionalBooleanProp('Renders the divider vertically instead of horizontally.'),
7
10
  }
8
11
 
9
12
  export type DividerProps = ExtractPublicPropTypes<typeof dividerProps>
@@ -11,7 +14,10 @@ export type DividerProps = ExtractPublicPropTypes<typeof dividerProps>
11
14
  type InternalClasses = 'wrapper' | 'label' | 'line'
12
15
  export interface DividerTheme extends ThemeComponent<DividerProps, InternalClasses> {}
13
16
 
14
- export default { name: 'XDivider' }
17
+ export default {
18
+ name: 'XDivider',
19
+ docs: {},
20
+ }
15
21
  </script>
16
22
 
17
23
  <script setup lang="ts">
@@ -1,27 +1,38 @@
1
1
  <script lang="ts">
2
2
  const drawerPosition = ['left', 'right', 'top', 'bottom'] as const
3
3
  const drawerProps = {
4
- modelValue: Boolean,
4
+ modelValue: {
5
+ type: Boolean,
6
+ description: 'Open state (v-model).',
7
+ },
5
8
  position: {
6
9
  type: String as PropType<DrawerPosition>,
7
10
  default: 'left',
11
+ description: 'Edge the drawer attaches to (left, right, top, bottom).',
8
12
  },
9
13
  teleportTo: {
10
14
  type: [String, Object] as PropType<string | HTMLElement>,
11
15
  default: 'body',
16
+ description: 'Teleport target when the drawer is detached (overlay mode).',
12
17
  },
13
18
  width: {
14
19
  type: [String, Number],
15
20
  default: 220,
21
+ description: 'Panel width in pixels when position is left or right.',
16
22
  },
17
23
  height: {
18
24
  type: [String, Number],
19
25
  default: 320,
26
+ description: 'Panel height in pixels when position is top or bottom.',
27
+ },
28
+ breakpoint: {
29
+ type: [String, Number],
30
+ description: 'Below this viewport size the drawer becomes an overlay. Tailwind key or pixel width.',
20
31
  },
21
- breakpoint: [String, Number],
22
32
  backdrop: {
23
33
  type: Boolean,
24
34
  default: true,
35
+ description: 'Shows a dimmed backdrop behind the drawer when detached.',
25
36
  },
26
37
  }
27
38
 
@@ -37,6 +48,20 @@ export default {
37
48
  validators: {
38
49
  position: drawerPosition,
39
50
  },
51
+ docs: {
52
+ slots: {
53
+ default: 'Main drawer body (scrollable).',
54
+ header: 'Content above the scrollable body.',
55
+ footer: 'Content below the scrollable body.',
56
+ },
57
+ emits: {
58
+ 'update:modelValue': 'Emitted when open state changes (v-model).',
59
+ },
60
+ methods: {
61
+ open: 'Open the drawer.',
62
+ close: 'Close the drawer.',
63
+ },
64
+ },
40
65
  }
41
66
  </script>
42
67
 
@@ -4,13 +4,20 @@ import { emptyIcon } from '../../common/icons'
4
4
 
5
5
  const emptyProps = {
6
6
  ...useCommon.props(),
7
- title: String,
8
- description: String,
7
+ title: {
8
+ type: String,
9
+ description: 'Primary empty-state heading.',
10
+ },
11
+ description: {
12
+ type: String,
13
+ description: 'Supporting text shown below the title.',
14
+ },
9
15
  icon: {
10
16
  type: String,
11
17
  default: emptyIcon,
18
+ description: 'Icon name shown above the title.',
12
19
  },
13
- bordered: optionalBooleanProp(),
20
+ bordered: optionalBooleanProp('Adds a border around the empty state.'),
14
21
  }
15
22
 
16
23
  export type EmptyProps = ExtractPublicPropTypes<typeof emptyProps>
@@ -23,6 +30,14 @@ export default {
23
30
  validators: {
24
31
  ...useCommon.validators(),
25
32
  },
33
+ docs: {
34
+ slots: {
35
+ icon: 'Custom icon; overrides the `icon` prop.',
36
+ title: 'Custom title content; overrides the `title` prop.',
37
+ description: 'Custom description content; overrides the `description` prop.',
38
+ actions: 'Action controls shown below the description.',
39
+ },
40
+ },
26
41
  }
27
42
  </script>
28
43
 
@@ -3,21 +3,34 @@ const formProps = {
3
3
  autoValidate: {
4
4
  type: Boolean,
5
5
  default: true,
6
+ description: 'Runs validation on all registered fields before emitting submit.',
6
7
  },
7
8
  autoFocus: {
8
9
  type: Boolean,
9
10
  default: true,
11
+ description: 'Focuses the first registered field when the form mounts.',
12
+ },
13
+ disabled: {
14
+ type: Boolean,
15
+ description: 'Disables all fields inside the form fieldset.',
10
16
  },
11
- disabled: Boolean,
12
17
  errors: {
13
18
  type: [Array, Object] as PropType<FormError[] | FormError>,
14
19
  default: () => ([]),
20
+ description: 'External field errors (`field` + `msg`) applied to registered inputs.',
21
+ },
22
+ title: {
23
+ type: String,
24
+ description: 'Optional title shown in the default header.',
25
+ },
26
+ description: {
27
+ type: String,
28
+ description: 'Optional description shown under the title in the default header.',
15
29
  },
16
- title: String,
17
- description: String,
18
30
  hasFooter: {
19
31
  type: Boolean,
20
32
  default: true,
33
+ description: 'Renders the footer slot area for form actions.',
21
34
  },
22
35
  }
23
36
 
@@ -46,6 +59,22 @@ export interface FormTheme extends ThemeComponent<FormProps, InternalClasses> {}
46
59
 
47
60
  export default {
48
61
  name: 'XForm',
62
+ docs: {
63
+ slots: {
64
+ default: 'Form fields and content inside the fieldset.',
65
+ header: 'Custom header; overrides the default title/description block.',
66
+ footer: 'Custom footer; wraps primary and secondary actions by default.',
67
+ 'primary-action': 'Primary action control in the default footer.',
68
+ 'secondary-action': 'Secondary action control in the default footer.',
69
+ },
70
+ emits: {
71
+ submit: 'Emitted on form submit with whether validation passed.',
72
+ },
73
+ methods: {
74
+ validate: 'Validate all registered fields; focuses the first invalid field.',
75
+ submit: 'Programmatically submit the form (runs auto-validate when enabled).',
76
+ },
77
+ },
49
78
  }
50
79
  </script>
51
80
 
@@ -5,6 +5,7 @@ const formGroupProps = {
5
5
  vertical: {
6
6
  type: Boolean,
7
7
  default: false,
8
+ description: 'Stacks child controls vertically instead of in a row.',
8
9
  },
9
10
  }
10
11
 
@@ -34,6 +35,17 @@ export interface FormGroupTheme extends ThemeComponent<FormGroupProps, InternalC
34
35
 
35
36
  export default {
36
37
  name: 'XFormGroup',
38
+ docs: {
39
+ slots: {
40
+ default: 'Grouped inputs (radios, checkboxes, radio buttons, etc.).',
41
+ },
42
+ emits: {
43
+ ...useInputtable.emitDocs(),
44
+ },
45
+ methods: {
46
+ ...useInputtable.methodDocs(),
47
+ },
48
+ },
37
49
  }
38
50
  </script>
39
51
 
@@ -6,11 +6,13 @@ const iconProps = {
6
6
  icon: {
7
7
  type: String,
8
8
  required: true,
9
+ description: 'Icon name from the injected icon set, or raw SVG path markup.',
9
10
  },
10
- filled: optionalBooleanProp(),
11
+ filled: optionalBooleanProp('Renders a filled icon instead of an outline stroke.'),
11
12
  viewBox: {
12
13
  type: String,
13
14
  default: '0 0 24 24',
15
+ description: 'SVG viewBox when rendering path markup.',
14
16
  },
15
17
  }
16
18
 
@@ -26,6 +28,7 @@ export default {
26
28
  validators: {
27
29
  ...useCommon.validators(),
28
30
  },
31
+ docs: {},
29
32
  }
30
33
  </script>
31
34
 
@@ -1,6 +1,9 @@
1
1
  <script lang="ts">
2
2
  const imageProps = {
3
- src: String,
3
+ src: {
4
+ type: String,
5
+ description: 'Image URL. Shows a transparent placeholder until the image loads.',
6
+ },
4
7
  }
5
8
 
6
9
  export type ImageProps = ExtractPublicPropTypes<typeof imageProps>
@@ -8,7 +11,10 @@ export type ImageProps = ExtractPublicPropTypes<typeof imageProps>
8
11
  type InternalClasses = 'wrapper'
9
12
  export interface ImageTheme extends ThemeComponent<ImageProps, InternalClasses> {}
10
13
 
11
- export default { name: 'XImage' }
14
+ export default {
15
+ name: 'XImage',
16
+ docs: {},
17
+ }
12
18
  </script>
13
19
 
14
20
  <script setup lang="ts">
@@ -9,27 +9,57 @@ const inputProps = {
9
9
  showPasswordToggle: {
10
10
  type: Boolean,
11
11
  default: true,
12
+ description: 'Shows a visibility toggle when `type` is `password`.',
12
13
  },
13
14
  dir: {
14
15
  type: String as PropType<'ltr' | 'rtl'>,
15
16
  default: 'ltr',
17
+ description: 'Text direction for the native input (`ltr` or `rtl`).',
18
+ },
19
+ icon: {
20
+ type: String,
21
+ description: 'Shortcut for `iconLeft`.',
22
+ },
23
+ iconLeft: {
24
+ type: String,
25
+ description: 'Icon name shown before the input value.',
26
+ },
27
+ iconRight: {
28
+ type: String,
29
+ description: 'Icon name shown after the input value.',
30
+ },
31
+ max: {
32
+ type: [Number, String],
33
+ description: 'Native `max` attribute (typically for number inputs).',
34
+ },
35
+ maxlength: {
36
+ type: [Number, String],
37
+ description: 'Maximum character length for the input value.',
38
+ },
39
+ min: {
40
+ type: [Number, String],
41
+ description: 'Native `min` attribute (typically for number inputs).',
42
+ },
43
+ minlength: {
44
+ type: [Number, String],
45
+ description: 'Minimum character length for the input value.',
46
+ },
47
+ placeholder: {
48
+ type: String,
49
+ description: 'Placeholder text shown when the value is empty.',
16
50
  },
17
- icon: String,
18
- iconLeft: String,
19
- iconRight: String,
20
- max: [Number, String],
21
- maxlength: [Number, String],
22
- min: [Number, String],
23
- minlength: [Number, String],
24
- placeholder: String,
25
51
  type: {
26
52
  type: String,
27
53
  default: 'text',
54
+ description: 'Native input type (text, password, email, number, etc.).',
55
+ },
56
+ step: {
57
+ type: [Number, String],
58
+ description: 'Native `step` attribute for numeric inputs.',
28
59
  },
29
- step: [Number, String],
30
- block: optionalBooleanProp(),
31
- showCounter: optionalBooleanProp(),
32
- clearable: optionalBooleanProp(),
60
+ block: optionalBooleanProp('Stretches to the full width of the parent.'),
61
+ showCounter: optionalBooleanProp('Shows a character counter in the footer.'),
62
+ clearable: optionalBooleanProp('Shows a clear button when the value is not empty.'),
33
63
  }
34
64
 
35
65
  export type InputProps = ExtractPublicPropTypes<typeof inputProps>
@@ -43,6 +73,18 @@ export default {
43
73
  validators: {
44
74
  ...useCommon.validators(),
45
75
  },
76
+ docs: {
77
+ slots: {
78
+ prefix: 'Content before the input (left adornment).',
79
+ suffix: 'Content after the input (right adornment).',
80
+ },
81
+ emits: {
82
+ ...useInputtable.emitDocs(),
83
+ },
84
+ methods: {
85
+ ...useInputtable.methodDocs(),
86
+ },
87
+ },
46
88
  }
47
89
  </script>
48
90
 
@@ -2,11 +2,23 @@
2
2
  import { optionalBooleanProp } from '../../common/props'
3
3
 
4
4
  const inputFooterProps = {
5
- helper: String,
6
- error: String,
7
- characterCount: Number,
8
- maxCharacters: [Number, String],
9
- showCounter: optionalBooleanProp(),
5
+ helper: {
6
+ type: String,
7
+ description: 'Helper text shown when there is no error.',
8
+ },
9
+ error: {
10
+ type: String,
11
+ description: 'Error message; takes priority over helper text.',
12
+ },
13
+ characterCount: {
14
+ type: Number,
15
+ description: 'Current character count for the counter.',
16
+ },
17
+ maxCharacters: {
18
+ type: [Number, String],
19
+ description: 'Maximum characters shown as `count/max` in the counter.',
20
+ },
21
+ showCounter: optionalBooleanProp('Shows the character counter.'),
10
22
  }
11
23
 
12
24
  export type InputFooterProps = ExtractPublicPropTypes<typeof inputFooterProps>
@@ -14,7 +26,10 @@ export type InputFooterProps = ExtractPublicPropTypes<typeof inputFooterProps>
14
26
  type InternalClasses = 'wrapper' | 'helperText' | 'errorText' | 'container' | 'counter'
15
27
  export interface InputFooterTheme extends ThemeComponent<InputFooterProps, InternalClasses> {}
16
28
 
17
- export default { name: 'XInputFooter' }
29
+ export default {
30
+ name: 'XInputFooter',
31
+ docs: {},
32
+ }
18
33
  </script>
19
34
 
20
35
  <script setup lang="ts">
@@ -9,7 +9,7 @@ const inputGroupProps = {
9
9
  ...useCommon.props(),
10
10
  ...useInteractive.props(),
11
11
  ...useInputtable.props(),
12
- block: optionalBooleanProp(),
12
+ block: optionalBooleanProp('Stretches the group to the full width of the parent.'),
13
13
  }
14
14
 
15
15
  export type InputGroupProps = ExtractPublicPropTypes<typeof inputGroupProps>
@@ -43,6 +43,17 @@ export default {
43
43
  validators: {
44
44
  ...useCommon.validators(),
45
45
  },
46
+ docs: {
47
+ slots: {
48
+ default: 'Grouped controls (inputs, buttons, or other adornments).',
49
+ },
50
+ emits: {
51
+ ...useInputtable.emitDocs(),
52
+ },
53
+ methods: {
54
+ ...useInputtable.methodDocs(),
55
+ },
56
+ },
46
57
  }
47
58
  </script>
48
59
 
@@ -3,17 +3,36 @@ import { optionalBooleanProp } from '../../common/props'
3
3
 
4
4
  const labelProps = {
5
5
  ...useCommon.props(),
6
- label: String,
7
- disabled: Boolean,
8
- required: Boolean,
9
- block: optionalBooleanProp(),
10
- isInsideForm: Boolean,
11
- isInsideInputGroup: Boolean,
6
+ label: {
7
+ type: String,
8
+ description: 'Visible label text.',
9
+ },
10
+ disabled: {
11
+ type: Boolean,
12
+ description: 'Applies disabled styling to the label.',
13
+ },
14
+ required: {
15
+ type: Boolean,
16
+ description: 'Marks the label as required for form fields.',
17
+ },
18
+ block: optionalBooleanProp('Stretches to the full width of the parent.'),
19
+ isInsideForm: {
20
+ type: Boolean,
21
+ description: 'Indicates the label is rendered inside a form layout.',
22
+ },
23
+ isInsideInputGroup: {
24
+ type: Boolean,
25
+ description: 'Indicates the label is rendered inside an input group.',
26
+ },
12
27
  tag: {
13
28
  type: String,
14
29
  default: 'label',
30
+ description: 'Root element tag. Use `fieldset` for grouped controls.',
31
+ },
32
+ tooltip: {
33
+ type: String,
34
+ description: 'Tooltip text shown next to the label via a toggle tip.',
15
35
  },
16
- tooltip: String,
17
36
  }
18
37
 
19
38
  export type LabelProps = ExtractPublicPropTypes<typeof labelProps>
@@ -26,6 +45,11 @@ export default {
26
45
  validators: {
27
46
  ...useCommon.validators(),
28
47
  },
48
+ docs: {
49
+ slots: {
50
+ default: 'Labeled control or content.',
51
+ },
52
+ },
29
53
  }
30
54
  </script>
31
55
 
@@ -6,11 +6,15 @@ const linkProps = {
6
6
  tag: {
7
7
  type: String,
8
8
  default: 'a',
9
+ description: 'Root element tag. Becomes a router-link when `to` is set.',
9
10
  },
10
- to: [String, Object],
11
- shadow: optionalBooleanProp(),
12
- external: optionalBooleanProp(),
13
- underline: optionalBooleanProp(),
11
+ to: {
12
+ type: [String, Object],
13
+ description: 'Vue Router location; renders as a link when set.',
14
+ },
15
+ shadow: optionalBooleanProp('Inset shadow highlight under the link text.'),
16
+ external: optionalBooleanProp('Appends an external-link icon after the label.'),
17
+ underline: optionalBooleanProp('Underlines the link text.'),
14
18
  }
15
19
 
16
20
  export type LinkProps = ExtractPublicPropTypes<typeof linkProps>
@@ -18,7 +22,14 @@ export type LinkProps = ExtractPublicPropTypes<typeof linkProps>
18
22
  type InternalClasses = 'wrapper'
19
23
  export interface LinkTheme extends ThemeComponent<LinkProps, InternalClasses> {}
20
24
 
21
- export default { name: 'XLink' }
25
+ export default {
26
+ name: 'XLink',
27
+ docs: {
28
+ slots: {
29
+ default: 'Link label and content.',
30
+ },
31
+ },
32
+ }
22
33
  </script>
23
34
 
24
35
  <script setup lang="ts">
@@ -4,9 +4,16 @@ const loaderProps = {
4
4
  status: {
5
5
  type: String as PropType<LoaderStatus>,
6
6
  default: 'active',
7
+ description: 'Visual status (active spinner, success, or error).',
8
+ },
9
+ icon: {
10
+ type: String,
11
+ description: 'Custom spinner icon when status is `active`.',
12
+ },
13
+ label: {
14
+ type: String,
15
+ description: 'Optional text shown next to the status icon.',
7
16
  },
8
- icon: String,
9
- label: String,
10
17
  }
11
18
 
12
19
  export type LoaderStatus = 'active' | 'success' | 'error'
@@ -21,6 +28,7 @@ export default {
21
28
  ...useCommon.validators(),
22
29
  status: ['active', 'success', 'error'],
23
30
  },
31
+ docs: {},
24
32
  }
25
33
  </script>
26
34
 
@@ -4,23 +4,35 @@ import { optionalBooleanProp } from '../../common/props'
4
4
  const menuProps = {
5
5
  ...useCommon.props(),
6
6
  ...useColors.props('secondary'),
7
- items: Array as PropType<MenuArrayItem[]>,
7
+ items: {
8
+ type: Array as PropType<MenuArrayItem[]>,
9
+ description: 'Menu tree. Each item may nest `items`, links, icons, and dividers.',
10
+ },
8
11
  collapsible: {
9
12
  type: Boolean,
10
13
  default: true,
14
+ description: 'Allows nested groups to collapse when they have child items.',
15
+ },
16
+ collapseIcon: {
17
+ type: String,
18
+ description: 'Default icon for collapsible group headers.',
19
+ },
20
+ expanded: optionalBooleanProp('Default expanded state for collapsible groups.'),
21
+ disabled: {
22
+ type: Boolean,
23
+ description: 'Disables all menu items.',
11
24
  },
12
- collapseIcon: String,
13
- expanded: optionalBooleanProp(),
14
- disabled: Boolean,
15
25
  rounded: {
16
26
  type: Boolean,
17
27
  default: true,
28
+ description: 'Applies rounded corners to menu items.',
18
29
  },
19
30
  filled: {
20
31
  type: Boolean,
21
32
  default: true,
33
+ description: 'Filled item backgrounds (vs. minimal text-only look).',
22
34
  },
23
- minimal: optionalBooleanProp(),
35
+ minimal: optionalBooleanProp('Hides item labels; icons-only layout.'),
24
36
  }
25
37
 
26
38
  export type MenuArrayItem = {
@@ -60,6 +72,12 @@ export default {
60
72
  validators: {
61
73
  ...useCommon.validators(),
62
74
  },
75
+ docs: {
76
+ emits: {
77
+ expand: 'Emitted when a nested group expands or a linked item becomes active.',
78
+ 'item-click': 'Emitted when a menu item is clicked.',
79
+ },
80
+ },
63
81
  }
64
82
  </script>
65
83