@indielayer/ui 1.3.0 → 1.5.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 (479) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +4 -4
  3. package/docs/App.vue +25 -0
  4. package/docs/assets/css/hljs.css +302 -0
  5. package/docs/assets/css/tailwind.css +46 -0
  6. package/docs/assets/images/error.svg +1 -0
  7. package/docs/assets/images/logo.png +0 -0
  8. package/docs/assets/images/logo_mini.svg +10 -0
  9. package/docs/assets/images/logo_white.png +0 -0
  10. package/docs/assets/images/logo_word.svg +12 -0
  11. package/docs/assets/images/logo_word_dark.svg +12 -0
  12. package/docs/assets/images/photo1.jpeg +0 -0
  13. package/docs/assets/images/photo2.jpeg +0 -0
  14. package/docs/components/Cookies.vue +42 -0
  15. package/docs/components/common/CodePreview.vue +80 -0
  16. package/docs/components/common/CodeSnippet.vue +47 -0
  17. package/docs/components/common/CopyButton.vue +50 -0
  18. package/docs/components/common/DocumentPage.vue +285 -0
  19. package/docs/components/common/Indielayer-theme.json +702 -0
  20. package/docs/components/common/MultiSnippet.vue +26 -0
  21. package/docs/components/menu/DocsMenu.vue +96 -0
  22. package/docs/components/toolbar/PreToolbar.vue +16 -0
  23. package/docs/components/toolbar/Toolbar.vue +76 -0
  24. package/docs/components/toolbar/ToolbarColorToggle.vue +49 -0
  25. package/docs/icons.ts +61 -0
  26. package/docs/layouts/default.vue +33 -0
  27. package/docs/layouts/simple.vue +3 -0
  28. package/docs/main.ts +33 -0
  29. package/docs/pages/colors.vue +120 -0
  30. package/docs/pages/component/accordion/index.vue +29 -0
  31. package/docs/pages/component/accordion/usage.vue +30 -0
  32. package/docs/pages/component/alert/index.vue +29 -0
  33. package/docs/pages/component/alert/usage.vue +18 -0
  34. package/docs/pages/component/avatar/index.vue +43 -0
  35. package/docs/pages/component/avatar/size.vue +9 -0
  36. package/docs/pages/component/avatar/usage.vue +9 -0
  37. package/docs/pages/component/avatar/variants.vue +8 -0
  38. package/docs/pages/component/badge/index.vue +29 -0
  39. package/docs/pages/component/badge/usage.vue +50 -0
  40. package/docs/pages/component/breadcrumbs/index.vue +29 -0
  41. package/docs/pages/component/breadcrumbs/usage.vue +19 -0
  42. package/docs/pages/component/button/button-group.vue +22 -0
  43. package/docs/pages/component/button/icons.vue +9 -0
  44. package/docs/pages/component/button/index.vue +64 -0
  45. package/docs/pages/component/button/size.vue +9 -0
  46. package/docs/pages/component/button/states.vue +6 -0
  47. package/docs/pages/component/button/usage.vue +12 -0
  48. package/docs/pages/component/button/variants.vue +7 -0
  49. package/docs/pages/component/card/index.vue +29 -0
  50. package/docs/pages/component/card/usage.vue +6 -0
  51. package/docs/pages/component/carousel/index.vue +29 -0
  52. package/docs/pages/component/carousel/usage.vue +10 -0
  53. package/docs/pages/component/checkbox/index.vue +50 -0
  54. package/docs/pages/component/checkbox/size.vue +9 -0
  55. package/docs/pages/component/checkbox/states.vue +9 -0
  56. package/docs/pages/component/checkbox/usage.vue +15 -0
  57. package/docs/pages/component/checkbox/variants.vue +8 -0
  58. package/docs/pages/component/container/index.vue +29 -0
  59. package/docs/pages/component/container/usage.vue +3 -0
  60. package/docs/pages/component/divider/index.vue +43 -0
  61. package/docs/pages/component/divider/label.vue +12 -0
  62. package/docs/pages/component/divider/usage.vue +7 -0
  63. package/docs/pages/component/divider/vertical.vue +7 -0
  64. package/docs/pages/component/drawer/index.vue +29 -0
  65. package/docs/pages/component/drawer/usage.vue +56 -0
  66. package/docs/pages/component/form/index.vue +29 -0
  67. package/docs/pages/component/form/usage.vue +96 -0
  68. package/docs/pages/component/formGroup/index.vue +29 -0
  69. package/docs/pages/component/formGroup/usage.vue +47 -0
  70. package/docs/pages/component/icon/index.vue +36 -0
  71. package/docs/pages/component/icon/usage.vue +6 -0
  72. package/docs/pages/component/icon/variants.vue +14 -0
  73. package/docs/pages/component/image/index.vue +29 -0
  74. package/docs/pages/component/image/usage.vue +8 -0
  75. package/docs/pages/component/input/index.vue +50 -0
  76. package/docs/pages/component/input/size.vue +13 -0
  77. package/docs/pages/component/input/states.vue +12 -0
  78. package/docs/pages/component/input/usage.vue +14 -0
  79. package/docs/pages/component/input/variants.vue +18 -0
  80. package/docs/pages/component/link/index.vue +29 -0
  81. package/docs/pages/component/link/usage.vue +12 -0
  82. package/docs/pages/component/loader/index.vue +29 -0
  83. package/docs/pages/component/loader/usage.vue +7 -0
  84. package/docs/pages/component/menu/index.vue +29 -0
  85. package/docs/pages/component/menu/usage.vue +69 -0
  86. package/docs/pages/component/modal/composed.vue +71 -0
  87. package/docs/pages/component/modal/index.vue +36 -0
  88. package/docs/pages/component/modal/usage.vue +66 -0
  89. package/docs/pages/component/notifications/index.vue +29 -0
  90. package/docs/pages/component/notifications/usage.vue +56 -0
  91. package/docs/pages/component/pagination/index.vue +29 -0
  92. package/docs/pages/component/pagination/usage.vue +17 -0
  93. package/docs/pages/component/popover/index.vue +29 -0
  94. package/docs/pages/component/popover/usage.vue +21 -0
  95. package/docs/pages/component/progress/index.vue +36 -0
  96. package/docs/pages/component/progress/usage.vue +7 -0
  97. package/docs/pages/component/progress/variants.vue +18 -0
  98. package/docs/pages/component/radio/index.vue +50 -0
  99. package/docs/pages/component/radio/size.vue +15 -0
  100. package/docs/pages/component/radio/states.vue +13 -0
  101. package/docs/pages/component/radio/usage.vue +14 -0
  102. package/docs/pages/component/radio/variants.vue +39 -0
  103. package/docs/pages/component/scroll/horizontal.vue +14 -0
  104. package/docs/pages/component/scroll/index.vue +36 -0
  105. package/docs/pages/component/scroll/usage.vue +5 -0
  106. package/docs/pages/component/select/index.vue +43 -0
  107. package/docs/pages/component/select/states.vue +22 -0
  108. package/docs/pages/component/select/usage.vue +46 -0
  109. package/docs/pages/component/select/variants.vue +23 -0
  110. package/docs/pages/component/skeleton/index.vue +29 -0
  111. package/docs/pages/component/skeleton/usage.vue +10 -0
  112. package/docs/pages/component/slider/index.vue +29 -0
  113. package/docs/pages/component/slider/usage.vue +15 -0
  114. package/docs/pages/component/spacer/index.vue +29 -0
  115. package/docs/pages/component/spacer/usage.vue +8 -0
  116. package/docs/pages/component/spinner/index.vue +36 -0
  117. package/docs/pages/component/spinner/usage.vue +3 -0
  118. package/docs/pages/component/spinner/variants.vue +9 -0
  119. package/docs/pages/component/stepper/index.vue +29 -0
  120. package/docs/pages/component/stepper/usage.vue +21 -0
  121. package/docs/pages/component/table/index.vue +36 -0
  122. package/docs/pages/component/table/states.vue +28 -0
  123. package/docs/pages/component/table/usage.vue +107 -0
  124. package/docs/pages/component/tabs/index.vue +29 -0
  125. package/docs/pages/component/tabs/usage.vue +142 -0
  126. package/docs/pages/component/tag/index.vue +29 -0
  127. package/docs/pages/component/tag/usage.vue +27 -0
  128. package/docs/pages/component/textarea/index.vue +43 -0
  129. package/docs/pages/component/textarea/states.vue +13 -0
  130. package/docs/pages/component/textarea/usage.vue +19 -0
  131. package/docs/pages/component/textarea/variants.vue +15 -0
  132. package/docs/pages/component/toggle/index.vue +43 -0
  133. package/docs/pages/component/toggle/states.vue +13 -0
  134. package/docs/pages/component/toggle/usage.vue +12 -0
  135. package/docs/pages/component/toggle/variants.vue +15 -0
  136. package/docs/pages/component/tooltip/index.vue +29 -0
  137. package/docs/pages/component/tooltip/usage.vue +12 -0
  138. package/docs/pages/error.vue +6 -0
  139. package/docs/pages/icons.vue +101 -0
  140. package/docs/pages/index.vue +153 -0
  141. package/docs/pages/play.vue +7 -0
  142. package/docs/pages/typography.vue +91 -0
  143. package/docs/router/index.ts +77 -0
  144. package/lib/common/icons.d.ts +4 -1
  145. package/lib/common/icons.js +14 -11
  146. package/lib/components/accordion/Accordion.vue.d.ts +63 -0
  147. package/lib/components/accordion/Accordion.vue.js +40 -0
  148. package/lib/components/accordion/Accordion.vue2.js +4 -0
  149. package/lib/components/{collapse/Collapse.vue.d.ts → accordion/AccordionItem.vue.d.ts} +33 -18
  150. package/lib/components/accordion/AccordionItem.vue.js +140 -0
  151. package/lib/components/accordion/AccordionItem.vue2.js +4 -0
  152. package/lib/components/accordion/index.d.ts +4 -0
  153. package/lib/components/accordion/theme/Accordion.base.theme.d.ts +3 -0
  154. package/lib/components/accordion/theme/Accordion.base.theme.js +8 -0
  155. package/lib/components/accordion/theme/Accordion.carbon.theme.d.ts +3 -0
  156. package/lib/components/accordion/theme/Accordion.carbon.theme.js +5 -0
  157. package/lib/components/accordion/theme/AccordionItem.base.theme.d.ts +3 -0
  158. package/lib/components/accordion/theme/AccordionItem.base.theme.js +16 -0
  159. package/lib/components/accordion/theme/AccordionItem.carbon.theme.d.ts +3 -0
  160. package/lib/components/accordion/theme/AccordionItem.carbon.theme.js +5 -0
  161. package/lib/components/alert/theme/Alert.carbon.theme.js +39 -3
  162. package/lib/components/avatar/Avatar.vue.d.ts +2 -2
  163. package/lib/components/badge/Badge.vue.d.ts +2 -2
  164. package/lib/components/badge/Badge.vue.js +7 -7
  165. package/lib/components/breadcrumbs/theme/Breadcrumbs.base.theme.js +1 -1
  166. package/lib/components/button/Button.vue.d.ts +3 -3
  167. package/lib/components/button/ButtonGroup.vue.d.ts +3 -3
  168. package/lib/components/button/theme/Button.base.theme.js +7 -7
  169. package/lib/components/button/theme/Button.carbon.theme.js +1 -1
  170. package/lib/components/card/theme/Card.base.theme.js +1 -1
  171. package/lib/components/carousel/CarouselSlide.vue.d.ts +19 -8
  172. package/lib/components/carousel/CarouselSlide.vue.js +2 -2
  173. package/lib/components/carousel/CarouselSlide.vue2.js +25 -18
  174. package/lib/components/checkbox/Checkbox.vue.d.ts +25 -10
  175. package/lib/components/checkbox/Checkbox.vue2.js +106 -72
  176. package/lib/components/checkbox/theme/Checkbox.base.theme.js +38 -31
  177. package/lib/components/checkbox/theme/Checkbox.carbon.theme.js +38 -31
  178. package/lib/components/container/Container.vue.d.ts +13 -0
  179. package/lib/components/container/Container.vue.js +15 -11
  180. package/lib/components/container/theme/Container.base.theme.js +7 -4
  181. package/lib/components/divider/Divider.vue.js +14 -14
  182. package/lib/components/divider/theme/Divider.base.theme.js +2 -2
  183. package/lib/components/drawer/Drawer.vue.d.ts +4 -4
  184. package/lib/components/drawer/Drawer.vue.js +2 -2
  185. package/lib/components/drawer/theme/Drawer.base.theme.js +1 -1
  186. package/lib/components/form/Form.vue.d.ts +25 -2
  187. package/lib/components/form/Form.vue.js +67 -36
  188. package/lib/components/form/theme/Form.base.theme.js +7 -3
  189. package/lib/components/form/theme/Form.carbon.theme.js +10 -3
  190. package/lib/components/formGroup/FormGroup.vue.d.ts +135 -0
  191. package/lib/components/formGroup/FormGroup.vue.js +83 -0
  192. package/lib/components/formGroup/FormGroup.vue2.js +4 -0
  193. package/lib/components/formGroup/__tests__/FormGroup.spec.d.ts +1 -0
  194. package/lib/components/formGroup/index.d.ts +2 -0
  195. package/lib/components/formGroup/theme/FormGroup.base.theme.d.ts +3 -0
  196. package/lib/components/formGroup/theme/FormGroup.base.theme.js +11 -0
  197. package/lib/components/formGroup/theme/FormGroup.carbon.theme.d.ts +3 -0
  198. package/lib/components/formGroup/theme/FormGroup.carbon.theme.js +11 -0
  199. package/lib/components/icon/theme/Icon.base.theme.js +2 -2
  200. package/lib/components/icon/theme/Icon.carbon.theme.js +4 -4
  201. package/lib/components/index.d.ts +3 -1
  202. package/lib/components/index.js +102 -95
  203. package/lib/components/input/Input.vue.d.ts +15 -9
  204. package/lib/components/input/Input.vue.js +43 -42
  205. package/lib/components/input/theme/Input.base.theme.js +10 -10
  206. package/lib/components/input/theme/Input.carbon.theme.js +10 -10
  207. package/lib/components/inputFooter/theme/InputFooter.base.theme.js +3 -3
  208. package/lib/components/inputFooter/theme/InputFooter.carbon.theme.js +3 -3
  209. package/lib/components/label/Label.vue.d.ts +6 -3
  210. package/lib/components/label/Label.vue.js +26 -20
  211. package/lib/components/label/theme/Label.base.theme.js +1 -1
  212. package/lib/components/label/theme/Label.carbon.theme.js +8 -7
  213. package/lib/components/link/Link.vue.d.ts +1 -1
  214. package/lib/components/link/Link.vue.js +1 -1
  215. package/lib/components/link/Link.vue2.js +4 -4
  216. package/lib/components/link/theme/Link.base.theme.js +4 -4
  217. package/lib/components/link/theme/Link.carbon.theme.js +23 -3
  218. package/lib/components/loader/theme/Loader.base.theme.js +1 -1
  219. package/lib/components/loader/theme/Loader.carbon.theme.js +2 -2
  220. package/lib/components/menu/Menu.vue.d.ts +6 -5
  221. package/lib/components/menu/Menu.vue.js +44 -41
  222. package/lib/components/menu/MenuItem.vue.d.ts +4 -4
  223. package/lib/components/menu/MenuItem.vue.js +2 -2
  224. package/lib/components/menu/MenuItem.vue2.js +1 -1
  225. package/lib/components/menu/theme/MenuItem.base.theme.js +22 -32
  226. package/lib/components/modal/Modal.vue.d.ts +102 -3
  227. package/lib/components/modal/Modal.vue.js +157 -100
  228. package/lib/components/modal/theme/Modal.base.theme.js +15 -9
  229. package/lib/components/modal/theme/Modal.carbon.theme.js +27 -3
  230. package/lib/components/notifications/Notifications.vue.js +57 -54
  231. package/lib/components/notifications/theme/Notifications.base.theme.js +2 -2
  232. package/lib/components/notifications/theme/Notifications.carbon.theme.js +8 -3
  233. package/lib/components/pagination/Pagination.vue.js +27 -27
  234. package/lib/components/popover/Popover.vue.d.ts +16 -3
  235. package/lib/components/popover/Popover.vue.js +13 -8
  236. package/lib/components/popover/Popover.vue2.js +3 -2
  237. package/lib/components/popover/Popover.vue3.js +2 -3
  238. package/lib/components/popover/theme/PopoverContainer.base.theme.js +4 -4
  239. package/lib/components/popover/theme/PopoverContainer.carbon.theme.js +4 -4
  240. package/lib/components/progress/Progress.vue.js +11 -11
  241. package/lib/components/progress/theme/Progress.base.theme.js +10 -10
  242. package/lib/components/radio/Radio.vue.d.ts +20 -12
  243. package/lib/components/radio/Radio.vue2.js +81 -66
  244. package/lib/components/radio/theme/Radio.base.theme.js +34 -31
  245. package/lib/components/radio/theme/Radio.carbon.theme.js +33 -30
  246. package/lib/components/select/Select.vue.d.ts +29 -10
  247. package/lib/components/select/Select.vue.js +121 -119
  248. package/lib/components/select/theme/Select.base.theme.js +6 -6
  249. package/lib/components/select/theme/Select.carbon.theme.js +11 -11
  250. package/lib/components/skeleton/Skeleton.vue.d.ts +19 -1
  251. package/lib/components/skeleton/Skeleton.vue.js +25 -15
  252. package/lib/components/skeleton/theme/Skeleton.base.theme.js +7 -4
  253. package/lib/components/slider/Slider.vue.d.ts +15 -6
  254. package/lib/components/slider/Slider.vue.js +4 -5
  255. package/lib/components/slider/theme/Slider.carbon.theme.js +8 -8
  256. package/lib/components/spinner/Spinner.vue.d.ts +1 -1
  257. package/lib/components/spinner/Spinner.vue.js +16 -17
  258. package/lib/components/stepper/Stepper.vue.d.ts +137 -0
  259. package/lib/components/stepper/Stepper.vue.js +128 -0
  260. package/lib/components/stepper/Stepper.vue2.js +4 -0
  261. package/lib/components/stepper/__tests__/Stepper.spec.d.ts +1 -0
  262. package/lib/components/stepper/index.d.ts +2 -0
  263. package/lib/components/stepper/theme/Stepper.base.theme.d.ts +3 -0
  264. package/lib/components/stepper/theme/Stepper.base.theme.js +20 -0
  265. package/lib/components/stepper/theme/Stepper.carbon.theme.d.ts +3 -0
  266. package/lib/components/{collapse/theme/Collapse.carbon.theme.js → stepper/theme/Stepper.carbon.theme.js} +1 -1
  267. package/lib/components/tab/Tab.vue.d.ts +11 -5
  268. package/lib/components/tab/Tab.vue.js +72 -56
  269. package/lib/components/tab/TabGroup.vue.d.ts +1 -1
  270. package/lib/components/tab/TabGroup.vue.js +5 -5
  271. package/lib/components/tab/theme/Tab.base.theme.js +2 -1
  272. package/lib/components/tab/theme/Tab.carbon.theme.js +6 -5
  273. package/lib/components/tab/theme/TabGroup.base.theme.js +15 -15
  274. package/lib/components/tab/theme/TabGroup.carbon.theme.js +29 -3
  275. package/lib/components/table/Table.vue.d.ts +115 -9
  276. package/lib/components/table/Table.vue.js +188 -79
  277. package/lib/components/table/TableCell.vue.d.ts +4 -5
  278. package/lib/components/table/TableCell.vue.js +21 -22
  279. package/lib/components/table/TableHead.vue.d.ts +16 -0
  280. package/lib/components/table/TableHead.vue.js +21 -0
  281. package/lib/components/table/TableHead.vue2.js +4 -0
  282. package/lib/components/table/TableHeader.vue.d.ts +4 -0
  283. package/lib/components/table/TableHeader.vue.js +45 -54
  284. package/lib/components/table/TableRow.vue.d.ts +15 -1
  285. package/lib/components/table/TableRow.vue.js +21 -25
  286. package/lib/components/table/index.d.ts +4 -2
  287. package/lib/components/table/theme/Table.base.theme.js +6 -5
  288. package/lib/components/table/theme/Table.carbon.theme.js +11 -3
  289. package/lib/components/table/theme/TableCell.base.theme.js +3 -3
  290. package/lib/components/table/theme/TableCell.carbon.theme.js +9 -3
  291. package/lib/components/table/theme/TableHead.base.theme.d.ts +3 -0
  292. package/lib/components/table/theme/TableHead.base.theme.js +9 -0
  293. package/lib/components/table/theme/TableHead.carbon.theme.d.ts +3 -0
  294. package/lib/components/table/theme/TableHead.carbon.theme.js +9 -0
  295. package/lib/components/table/theme/TableHeader.base.theme.d.ts +3 -0
  296. package/lib/components/table/theme/TableHeader.base.theme.js +12 -0
  297. package/lib/components/table/theme/TableHeader.carbon.theme.d.ts +3 -0
  298. package/lib/components/table/theme/TableHeader.carbon.theme.js +12 -0
  299. package/lib/components/table/theme/TableRow.base.theme.d.ts +3 -0
  300. package/lib/components/table/theme/TableRow.base.theme.js +11 -0
  301. package/lib/components/table/theme/TableRow.carbon.theme.d.ts +3 -0
  302. package/lib/components/table/theme/TableRow.carbon.theme.js +11 -0
  303. package/lib/components/tag/Tag.vue.d.ts +3 -3
  304. package/lib/components/tag/Tag.vue.js +18 -18
  305. package/lib/components/tag/theme/Tag.base.theme.js +14 -13
  306. package/lib/components/tag/theme/Tag.carbon.theme.js +14 -14
  307. package/lib/components/textarea/Textarea.vue.d.ts +18 -8
  308. package/lib/components/textarea/Textarea.vue.js +44 -42
  309. package/lib/components/textarea/theme/Textarea.base.theme.js +6 -6
  310. package/lib/components/textarea/theme/Textarea.carbon.theme.js +6 -6
  311. package/lib/components/toggle/Toggle.vue.d.ts +15 -12
  312. package/lib/components/toggle/Toggle.vue.js +51 -53
  313. package/lib/components/toggle/theme/Toggle.base.theme.js +1 -1
  314. package/lib/components/tooltip/ToggleTip.vue.d.ts +14 -0
  315. package/lib/components/tooltip/ToggleTip.vue.js +29 -0
  316. package/lib/components/tooltip/ToggleTip.vue2.js +4 -0
  317. package/lib/components/tooltip/Tooltip.vue.d.ts +22 -3
  318. package/lib/components/tooltip/Tooltip.vue.js +26 -17
  319. package/lib/components/tooltip/__tests__/ToggleTip.spec.d.ts +1 -0
  320. package/lib/components/tooltip/index.d.ts +2 -0
  321. package/lib/composables/keys.d.ts +5 -1
  322. package/lib/composables/keys.js +8 -6
  323. package/lib/composables/useColors.js +9 -9
  324. package/lib/composables/useFocusTrap.d.ts +6 -0
  325. package/lib/composables/useFocusTrap.js +45 -0
  326. package/lib/composables/useInputtable.d.ts +7 -0
  327. package/lib/composables/useInputtable.js +64 -46
  328. package/lib/index.js +139 -129
  329. package/lib/index.umd.js +7 -3
  330. package/lib/nuxt.mjs +33 -0
  331. package/lib/nuxt.plugin.js +8 -0
  332. package/lib/tailwind.preset.js +40 -0
  333. package/lib/theme.d.ts +8 -2
  334. package/lib/themes/base/components.d.ts +7 -1
  335. package/lib/themes/base/components.js +98 -86
  336. package/lib/themes/base/index.js +3 -6
  337. package/lib/themes/base/styles.css.js +4 -0
  338. package/lib/themes/carbon/components.d.ts +7 -1
  339. package/lib/themes/carbon/components.js +98 -86
  340. package/lib/version.d.ts +1 -1
  341. package/lib/version.js +1 -1
  342. package/package.json +8 -2
  343. package/src/common/icons.ts +4 -1
  344. package/src/components/accordion/Accordion.vue +55 -0
  345. package/src/components/{collapse/Collapse.vue → accordion/AccordionItem.vue} +51 -32
  346. package/src/components/accordion/__tests__/Accordion.spec.ts +11 -0
  347. package/src/components/accordion/index.ts +4 -0
  348. package/src/components/accordion/theme/Accordion.base.theme.ts +9 -0
  349. package/src/components/accordion/theme/Accordion.carbon.theme.ts +7 -0
  350. package/src/components/accordion/theme/AccordionItem.base.theme.ts +38 -0
  351. package/src/components/accordion/theme/AccordionItem.carbon.theme.ts +7 -0
  352. package/src/components/alert/theme/Alert.carbon.theme.ts +54 -2
  353. package/src/components/badge/Badge.vue +1 -1
  354. package/src/components/breadcrumbs/theme/Breadcrumbs.base.theme.ts +1 -1
  355. package/src/components/button/theme/Button.base.theme.ts +2 -2
  356. package/src/components/button/theme/Button.carbon.theme.ts +1 -1
  357. package/src/components/card/theme/Card.base.theme.ts +1 -1
  358. package/src/components/carousel/CarouselSlide.vue +9 -4
  359. package/src/components/checkbox/Checkbox.vue +69 -20
  360. package/src/components/checkbox/theme/Checkbox.base.theme.ts +22 -8
  361. package/src/components/checkbox/theme/Checkbox.carbon.theme.ts +18 -4
  362. package/src/components/container/Container.vue +4 -0
  363. package/src/components/container/theme/Container.base.theme.ts +7 -1
  364. package/src/components/divider/Divider.vue +1 -1
  365. package/src/components/divider/theme/Divider.base.theme.ts +2 -2
  366. package/src/components/drawer/Drawer.vue +2 -2
  367. package/src/components/drawer/theme/Drawer.base.theme.ts +1 -1
  368. package/src/components/form/Form.vue +26 -5
  369. package/src/components/form/theme/Form.base.theme.ts +9 -1
  370. package/src/components/form/theme/Form.carbon.theme.ts +12 -2
  371. package/src/components/formGroup/FormGroup.vue +117 -0
  372. package/src/components/formGroup/__tests__/FormGroup.spec.ts +11 -0
  373. package/src/components/formGroup/index.ts +2 -0
  374. package/src/components/formGroup/theme/FormGroup.base.theme.ts +16 -0
  375. package/src/components/formGroup/theme/FormGroup.carbon.theme.ts +16 -0
  376. package/src/components/icon/theme/Icon.base.theme.ts +3 -3
  377. package/src/components/icon/theme/Icon.carbon.theme.ts +3 -4
  378. package/src/components/index.ts +3 -1
  379. package/src/components/input/Input.vue +5 -4
  380. package/src/components/input/theme/Input.base.theme.ts +5 -5
  381. package/src/components/input/theme/Input.carbon.theme.ts +6 -6
  382. package/src/components/inputFooter/theme/InputFooter.base.theme.ts +3 -3
  383. package/src/components/inputFooter/theme/InputFooter.carbon.theme.ts +3 -3
  384. package/src/components/label/Label.vue +4 -1
  385. package/src/components/label/theme/Label.base.theme.ts +1 -1
  386. package/src/components/label/theme/Label.carbon.theme.ts +9 -4
  387. package/src/components/link/Link.vue +1 -1
  388. package/src/components/link/theme/Link.carbon.theme.ts +23 -2
  389. package/src/components/loader/theme/Loader.base.theme.ts +1 -1
  390. package/src/components/loader/theme/Loader.carbon.theme.ts +2 -2
  391. package/src/components/menu/Menu.vue +11 -8
  392. package/src/components/menu/MenuItem.vue +1 -1
  393. package/src/components/menu/theme/MenuItem.base.theme.ts +32 -36
  394. package/src/components/modal/Modal.vue +117 -52
  395. package/src/components/modal/theme/Modal.base.theme.ts +31 -12
  396. package/src/components/modal/theme/Modal.carbon.theme.ts +55 -2
  397. package/src/components/notifications/Notifications.vue +6 -6
  398. package/src/components/notifications/theme/Notifications.base.theme.ts +2 -2
  399. package/src/components/notifications/theme/Notifications.carbon.theme.ts +12 -2
  400. package/src/components/pagination/Pagination.vue +3 -3
  401. package/src/components/popover/Popover.vue +77 -2
  402. package/src/components/popover/theme/PopoverContainer.base.theme.ts +1 -1
  403. package/src/components/popover/theme/PopoverContainer.carbon.theme.ts +1 -1
  404. package/src/components/progress/Progress.vue +1 -1
  405. package/src/components/progress/theme/Progress.base.theme.ts +2 -2
  406. package/src/components/radio/Radio.vue +39 -15
  407. package/src/components/radio/theme/Radio.base.theme.ts +15 -9
  408. package/src/components/radio/theme/Radio.carbon.theme.ts +14 -8
  409. package/src/components/select/Select.vue +17 -15
  410. package/src/components/select/theme/Select.base.theme.ts +8 -8
  411. package/src/components/select/theme/Select.carbon.theme.ts +9 -9
  412. package/src/components/skeleton/Skeleton.vue +18 -2
  413. package/src/components/skeleton/theme/Skeleton.base.theme.ts +8 -1
  414. package/src/components/slider/Slider.vue +2 -3
  415. package/src/components/slider/theme/Slider.carbon.theme.ts +1 -1
  416. package/src/components/spinner/Spinner.vue +2 -2
  417. package/src/components/stepper/Stepper.vue +153 -0
  418. package/src/components/{collapse/__tests__/Collapse.spec.ts → stepper/__tests__/Stepper.spec.ts} +3 -3
  419. package/src/components/stepper/index.ts +6 -0
  420. package/src/components/stepper/theme/Stepper.base.theme.ts +45 -0
  421. package/src/components/stepper/theme/Stepper.carbon.theme.ts +7 -0
  422. package/src/components/tab/Tab.vue +21 -7
  423. package/src/components/tab/TabGroup.vue +2 -2
  424. package/src/components/tab/theme/Tab.base.theme.ts +2 -0
  425. package/src/components/tab/theme/Tab.carbon.theme.ts +4 -2
  426. package/src/components/tab/theme/TabGroup.base.theme.ts +4 -4
  427. package/src/components/tab/theme/TabGroup.carbon.theme.ts +50 -2
  428. package/src/components/table/Table.vue +125 -27
  429. package/src/components/table/TableCell.vue +5 -6
  430. package/src/components/table/TableHead.vue +25 -0
  431. package/src/components/table/TableHeader.vue +35 -56
  432. package/src/components/table/TableRow.vue +19 -17
  433. package/src/components/table/index.ts +4 -2
  434. package/src/components/table/theme/Table.base.theme.ts +9 -7
  435. package/src/components/table/theme/Table.carbon.theme.ts +18 -2
  436. package/src/components/table/theme/TableCell.base.theme.ts +1 -1
  437. package/src/components/table/theme/TableCell.carbon.theme.ts +24 -2
  438. package/src/components/table/theme/TableHead.base.theme.ts +10 -0
  439. package/src/components/table/theme/TableHead.carbon.theme.ts +10 -0
  440. package/src/components/table/theme/TableHeader.base.theme.ts +28 -0
  441. package/src/components/table/theme/TableHeader.carbon.theme.ts +28 -0
  442. package/src/components/table/theme/TableRow.base.theme.ts +21 -0
  443. package/src/components/table/theme/TableRow.carbon.theme.ts +21 -0
  444. package/src/components/tag/Tag.vue +4 -4
  445. package/src/components/tag/theme/Tag.base.theme.ts +4 -4
  446. package/src/components/tag/theme/Tag.carbon.theme.ts +5 -6
  447. package/src/components/textarea/Textarea.vue +6 -4
  448. package/src/components/textarea/theme/Textarea.base.theme.ts +5 -4
  449. package/src/components/textarea/theme/Textarea.carbon.theme.ts +5 -5
  450. package/src/components/toggle/Toggle.vue +5 -7
  451. package/src/components/toggle/theme/Toggle.base.theme.ts +1 -1
  452. package/src/components/tooltip/ToggleTip.vue +31 -0
  453. package/src/components/tooltip/Tooltip.vue +14 -4
  454. package/src/components/tooltip/__tests__/ToggleTip.spec.ts +11 -0
  455. package/src/components/tooltip/index.ts +3 -0
  456. package/src/composables/keys.ts +5 -1
  457. package/src/composables/useColors.ts +1 -1
  458. package/src/composables/useFocusTrap.ts +106 -0
  459. package/src/composables/useInputtable.ts +32 -3
  460. package/src/theme.ts +14 -2
  461. package/src/themes/base/components.ts +7 -1
  462. package/src/themes/base/index.ts +0 -3
  463. package/src/themes/base/styles.css +4 -0
  464. package/src/themes/carbon/components.ts +7 -1
  465. package/src/version.ts +1 -1
  466. package/volar.d.ts +6 -1
  467. package/lib/components/collapse/Collapse.vue.js +0 -131
  468. package/lib/components/collapse/Collapse.vue2.js +0 -4
  469. package/lib/components/collapse/index.d.ts +0 -2
  470. package/lib/components/collapse/theme/Collapse.base.theme.d.ts +0 -3
  471. package/lib/components/collapse/theme/Collapse.base.theme.js +0 -10
  472. package/lib/components/collapse/theme/Collapse.carbon.theme.d.ts +0 -3
  473. package/lib/components/table/TableHead.d.ts +0 -2
  474. package/lib/components/table/TableHead.js +0 -19
  475. package/src/components/collapse/index.ts +0 -2
  476. package/src/components/collapse/theme/Collapse.base.theme.ts +0 -13
  477. package/src/components/collapse/theme/Collapse.carbon.theme.ts +0 -7
  478. package/src/components/table/TableHead.tsx +0 -14
  479. /package/lib/components/{collapse/__tests__/Collapse.spec.d.ts → accordion/__tests__/Accordion.spec.d.ts} +0 -0
@@ -1,6 +1,7 @@
1
- import type { ExtractPublicPropTypes, PropType } from 'vue';
1
+ import { type ExtractPublicPropTypes, type PropType } from 'vue';
2
2
  import { type ThemeComponent } from '../../composables/useTheme';
3
3
  import { type TableHeaderAlign } from './TableHeader.vue';
4
+ import type { SkeletonShape } from '../skeleton/Skeleton.vue';
4
5
  declare const tableProps: {
5
6
  headers: {
6
7
  type: PropType<TableHeader[]>;
@@ -15,6 +16,12 @@ declare const tableProps: {
15
16
  default: () => never[];
16
17
  };
17
18
  loading: BooleanConstructor;
19
+ loadingSkeleton: BooleanConstructor;
20
+ loadingLines: {
21
+ type: (StringConstructor | NumberConstructor)[];
22
+ default: number;
23
+ };
24
+ error: BooleanConstructor;
18
25
  dense: BooleanConstructor;
19
26
  fixed: BooleanConstructor;
20
27
  striped: BooleanConstructor;
@@ -27,6 +34,7 @@ declare const tableProps: {
27
34
  type: BooleanConstructor;
28
35
  default: boolean;
29
36
  };
37
+ expandable: BooleanConstructor;
30
38
  };
31
39
  export type TableHeader = {
32
40
  sortable?: boolean;
@@ -35,33 +43,43 @@ export type TableHeader = {
35
43
  value?: string;
36
44
  text?: string;
37
45
  width?: string | number;
46
+ truncate?: boolean;
47
+ skeletonShape?: SkeletonShape;
38
48
  };
39
49
  export type TableProps = ExtractPublicPropTypes<typeof tableProps>;
40
- type InternalClasses = 'wrapper' | 'loadingWrapper';
50
+ type InternalClasses = 'wrapper' | 'table' | 'loadingWrapper';
41
51
  export interface TableTheme extends ThemeComponent<TableProps, InternalClasses> {
42
52
  }
43
53
  declare const _default: <T>(__VLS_props: Partial<{
44
54
  sort: string[];
55
+ error: boolean;
45
56
  items: T[];
46
57
  loading: boolean;
47
58
  fixed: boolean;
48
59
  headers: TableHeader[];
60
+ loadingSkeleton: boolean;
61
+ loadingLines: string | number;
49
62
  dense: boolean;
50
63
  striped: boolean;
51
64
  pointer: boolean;
52
65
  scrollable: boolean;
53
66
  stickyHeader: boolean;
67
+ expandable: boolean;
54
68
  }> & Omit<{
55
69
  readonly sort: string[];
70
+ readonly error: boolean;
56
71
  readonly items: T[];
57
72
  readonly loading: boolean;
58
73
  readonly fixed: boolean;
59
74
  readonly headers: TableHeader[];
75
+ readonly loadingSkeleton: boolean;
76
+ readonly loadingLines: string | number;
60
77
  readonly dense: boolean;
61
78
  readonly striped: boolean;
62
79
  readonly pointer: boolean;
63
80
  readonly scrollable: boolean;
64
81
  readonly stickyHeader: boolean;
82
+ readonly expandable: boolean;
65
83
  "onUpdate:sort"?: ((...args: any[]) => any) | undefined;
66
84
  "onClick-row"?: ((...args: any[]) => any) | undefined;
67
85
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
@@ -78,6 +96,12 @@ declare const _default: <T>(__VLS_props: Partial<{
78
96
  default: () => never[];
79
97
  };
80
98
  loading: BooleanConstructor;
99
+ loadingSkeleton: BooleanConstructor;
100
+ loadingLines: {
101
+ type: (StringConstructor | NumberConstructor)[];
102
+ default: number;
103
+ };
104
+ error: BooleanConstructor;
81
105
  dense: BooleanConstructor;
82
106
  fixed: BooleanConstructor;
83
107
  striped: BooleanConstructor;
@@ -90,32 +114,41 @@ declare const _default: <T>(__VLS_props: Partial<{
90
114
  type: BooleanConstructor;
91
115
  default: boolean;
92
116
  };
117
+ expandable: BooleanConstructor;
93
118
  }>> & {
94
119
  "onUpdate:sort"?: ((...args: any[]) => any) | undefined;
95
120
  "onClick-row"?: ((...args: any[]) => any) | undefined;
96
- }, "sort" | "items" | "loading" | "fixed" | "headers" | "dense" | "striped" | "pointer" | "scrollable" | "stickyHeader"> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: Pick<{
121
+ }, "sort" | "error" | "items" | "loading" | "fixed" | "headers" | "loadingSkeleton" | "loadingLines" | "dense" | "striped" | "pointer" | "scrollable" | "stickyHeader" | "expandable"> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: Pick<{
97
122
  props: Partial<{
98
123
  sort: string[];
124
+ error: boolean;
99
125
  items: T[];
100
126
  loading: boolean;
101
127
  fixed: boolean;
102
128
  headers: TableHeader[];
129
+ loadingSkeleton: boolean;
130
+ loadingLines: string | number;
103
131
  dense: boolean;
104
132
  striped: boolean;
105
133
  pointer: boolean;
106
134
  scrollable: boolean;
107
135
  stickyHeader: boolean;
136
+ expandable: boolean;
108
137
  }> & Omit<{
109
138
  readonly sort: string[];
139
+ readonly error: boolean;
110
140
  readonly items: T[];
111
141
  readonly loading: boolean;
112
142
  readonly fixed: boolean;
113
143
  readonly headers: TableHeader[];
144
+ readonly loadingSkeleton: boolean;
145
+ readonly loadingLines: string | number;
114
146
  readonly dense: boolean;
115
147
  readonly striped: boolean;
116
148
  readonly pointer: boolean;
117
149
  readonly scrollable: boolean;
118
150
  readonly stickyHeader: boolean;
151
+ readonly expandable: boolean;
119
152
  "onUpdate:sort"?: ((...args: any[]) => any) | undefined;
120
153
  "onClick-row"?: ((...args: any[]) => any) | undefined;
121
154
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
@@ -132,6 +165,12 @@ declare const _default: <T>(__VLS_props: Partial<{
132
165
  default: () => never[];
133
166
  };
134
167
  loading: BooleanConstructor;
168
+ loadingSkeleton: BooleanConstructor;
169
+ loadingLines: {
170
+ type: (StringConstructor | NumberConstructor)[];
171
+ default: number;
172
+ };
173
+ error: BooleanConstructor;
135
174
  dense: BooleanConstructor;
136
175
  fixed: BooleanConstructor;
137
176
  striped: BooleanConstructor;
@@ -144,39 +183,60 @@ declare const _default: <T>(__VLS_props: Partial<{
144
183
  type: BooleanConstructor;
145
184
  default: boolean;
146
185
  };
186
+ expandable: BooleanConstructor;
147
187
  }>> & {
148
188
  "onUpdate:sort"?: ((...args: any[]) => any) | undefined;
149
189
  "onClick-row"?: ((...args: any[]) => any) | undefined;
150
- }, "sort" | "items" | "loading" | "fixed" | "headers" | "dense" | "striped" | "pointer" | "scrollable" | "stickyHeader">;
190
+ }, "sort" | "error" | "items" | "loading" | "fixed" | "headers" | "loadingSkeleton" | "loadingLines" | "dense" | "striped" | "pointer" | "scrollable" | "stickyHeader" | "expandable">;
151
191
  expose(exposed: {}): void;
152
192
  attrs: any;
153
193
  slots: Partial<Record<string, (_: {
194
+ header: TableHeader;
195
+ }) => any>> & Partial<Record<string, (_: {
196
+ item: number;
197
+ }) => any>> & Partial<Record<string, (_: {
154
198
  item: T;
155
- }) => any>>;
199
+ }) => any>> & {
200
+ title?(_: {}): any;
201
+ actions?(_: {}): any;
202
+ error?(_: {}): any;
203
+ empty?(_: {}): any;
204
+ "expanded-row"?(_: {
205
+ item: T;
206
+ }): any;
207
+ };
156
208
  emit: (event: "update:sort" | "click-row", ...args: any[]) => void;
157
209
  }, "emit" | "attrs" | "slots"> | undefined, __VLS_setup?: {
158
210
  props: Partial<{
159
211
  sort: string[];
212
+ error: boolean;
160
213
  items: T[];
161
214
  loading: boolean;
162
215
  fixed: boolean;
163
216
  headers: TableHeader[];
217
+ loadingSkeleton: boolean;
218
+ loadingLines: string | number;
164
219
  dense: boolean;
165
220
  striped: boolean;
166
221
  pointer: boolean;
167
222
  scrollable: boolean;
168
223
  stickyHeader: boolean;
224
+ expandable: boolean;
169
225
  }> & Omit<{
170
226
  readonly sort: string[];
227
+ readonly error: boolean;
171
228
  readonly items: T[];
172
229
  readonly loading: boolean;
173
230
  readonly fixed: boolean;
174
231
  readonly headers: TableHeader[];
232
+ readonly loadingSkeleton: boolean;
233
+ readonly loadingLines: string | number;
175
234
  readonly dense: boolean;
176
235
  readonly striped: boolean;
177
236
  readonly pointer: boolean;
178
237
  readonly scrollable: boolean;
179
238
  readonly stickyHeader: boolean;
239
+ readonly expandable: boolean;
180
240
  "onUpdate:sort"?: ((...args: any[]) => any) | undefined;
181
241
  "onClick-row"?: ((...args: any[]) => any) | undefined;
182
242
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
@@ -193,6 +253,12 @@ declare const _default: <T>(__VLS_props: Partial<{
193
253
  default: () => never[];
194
254
  };
195
255
  loading: BooleanConstructor;
256
+ loadingSkeleton: BooleanConstructor;
257
+ loadingLines: {
258
+ type: (StringConstructor | NumberConstructor)[];
259
+ default: number;
260
+ };
261
+ error: BooleanConstructor;
196
262
  dense: BooleanConstructor;
197
263
  fixed: BooleanConstructor;
198
264
  striped: BooleanConstructor;
@@ -205,15 +271,28 @@ declare const _default: <T>(__VLS_props: Partial<{
205
271
  type: BooleanConstructor;
206
272
  default: boolean;
207
273
  };
274
+ expandable: BooleanConstructor;
208
275
  }>> & {
209
276
  "onUpdate:sort"?: ((...args: any[]) => any) | undefined;
210
277
  "onClick-row"?: ((...args: any[]) => any) | undefined;
211
- }, "sort" | "items" | "loading" | "fixed" | "headers" | "dense" | "striped" | "pointer" | "scrollable" | "stickyHeader">;
278
+ }, "sort" | "error" | "items" | "loading" | "fixed" | "headers" | "loadingSkeleton" | "loadingLines" | "dense" | "striped" | "pointer" | "scrollable" | "stickyHeader" | "expandable">;
212
279
  expose(exposed: {}): void;
213
280
  attrs: any;
214
281
  slots: Partial<Record<string, (_: {
282
+ header: TableHeader;
283
+ }) => any>> & Partial<Record<string, (_: {
284
+ item: number;
285
+ }) => any>> & Partial<Record<string, (_: {
215
286
  item: T;
216
- }) => any>>;
287
+ }) => any>> & {
288
+ title?(_: {}): any;
289
+ actions?(_: {}): any;
290
+ error?(_: {}): any;
291
+ empty?(_: {}): any;
292
+ "expanded-row"?(_: {
293
+ item: T;
294
+ }): any;
295
+ };
217
296
  emit: (event: "update:sort" | "click-row", ...args: any[]) => void;
218
297
  }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
219
298
  [key: string]: any;
@@ -221,26 +300,34 @@ declare const _default: <T>(__VLS_props: Partial<{
221
300
  __ctx?: {
222
301
  props: Partial<{
223
302
  sort: string[];
303
+ error: boolean;
224
304
  items: T[];
225
305
  loading: boolean;
226
306
  fixed: boolean;
227
307
  headers: TableHeader[];
308
+ loadingSkeleton: boolean;
309
+ loadingLines: string | number;
228
310
  dense: boolean;
229
311
  striped: boolean;
230
312
  pointer: boolean;
231
313
  scrollable: boolean;
232
314
  stickyHeader: boolean;
315
+ expandable: boolean;
233
316
  }> & Omit<{
234
317
  readonly sort: string[];
318
+ readonly error: boolean;
235
319
  readonly items: T[];
236
320
  readonly loading: boolean;
237
321
  readonly fixed: boolean;
238
322
  readonly headers: TableHeader[];
323
+ readonly loadingSkeleton: boolean;
324
+ readonly loadingLines: string | number;
239
325
  readonly dense: boolean;
240
326
  readonly striped: boolean;
241
327
  readonly pointer: boolean;
242
328
  readonly scrollable: boolean;
243
329
  readonly stickyHeader: boolean;
330
+ readonly expandable: boolean;
244
331
  "onUpdate:sort"?: ((...args: any[]) => any) | undefined;
245
332
  "onClick-row"?: ((...args: any[]) => any) | undefined;
246
333
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
@@ -257,6 +344,12 @@ declare const _default: <T>(__VLS_props: Partial<{
257
344
  default: () => never[];
258
345
  };
259
346
  loading: BooleanConstructor;
347
+ loadingSkeleton: BooleanConstructor;
348
+ loadingLines: {
349
+ type: (StringConstructor | NumberConstructor)[];
350
+ default: number;
351
+ };
352
+ error: BooleanConstructor;
260
353
  dense: BooleanConstructor;
261
354
  fixed: BooleanConstructor;
262
355
  striped: BooleanConstructor;
@@ -269,15 +362,28 @@ declare const _default: <T>(__VLS_props: Partial<{
269
362
  type: BooleanConstructor;
270
363
  default: boolean;
271
364
  };
365
+ expandable: BooleanConstructor;
272
366
  }>> & {
273
367
  "onUpdate:sort"?: ((...args: any[]) => any) | undefined;
274
368
  "onClick-row"?: ((...args: any[]) => any) | undefined;
275
- }, "sort" | "items" | "loading" | "fixed" | "headers" | "dense" | "striped" | "pointer" | "scrollable" | "stickyHeader">;
369
+ }, "sort" | "error" | "items" | "loading" | "fixed" | "headers" | "loadingSkeleton" | "loadingLines" | "dense" | "striped" | "pointer" | "scrollable" | "stickyHeader" | "expandable">;
276
370
  expose(exposed: {}): void;
277
371
  attrs: any;
278
372
  slots: Partial<Record<string, (_: {
373
+ header: TableHeader;
374
+ }) => any>> & Partial<Record<string, (_: {
375
+ item: number;
376
+ }) => any>> & Partial<Record<string, (_: {
279
377
  item: T;
280
- }) => any>>;
378
+ }) => any>> & {
379
+ title?(_: {}): any;
380
+ actions?(_: {}): any;
381
+ error?(_: {}): any;
382
+ empty?(_: {}): any;
383
+ "expanded-row"?(_: {
384
+ item: T;
385
+ }): any;
386
+ };
281
387
  emit: (event: "update:sort" | "click-row", ...args: any[]) => void;
282
388
  } | undefined;
283
389
  };
@@ -1,12 +1,15 @@
1
- import { defineComponent as N, openBlock as s, createElementBlock as a, createElementVNode as x, normalizeStyle as H, unref as i, normalizeClass as g, createVNode as f, withCtx as u, Fragment as d, renderList as c, createBlock as m, createTextVNode as v, toDisplayString as b, renderSlot as S, createCommentVNode as V } from "vue";
2
- import { useTheme as z } from "../../composables/useTheme.js";
3
- import X from "./TableHead.js";
4
- import E from "./TableHeader.vue.js";
5
- import h from "./TableBody.js";
6
- import D from "./TableRow.vue.js";
7
- import F from "./TableCell.vue.js";
8
- import I from "../spinner/Spinner.vue.js";
9
- const L = { class: "w-full overflow-x-auto" }, P = {
1
+ import { defineComponent as E, ref as J, watch as X, openBlock as n, createElementBlock as a, normalizeClass as c, unref as u, renderSlot as i, createElementVNode as f, normalizeStyle as F, createVNode as p, withCtx as d, createBlock as m, createCommentVNode as $, Fragment as y, renderList as g, createTextVNode as _, toDisplayString as C } from "vue";
2
+ import { useTheme as O } from "../../composables/useTheme.js";
3
+ import P from "./TableHead.vue.js";
4
+ import N from "./TableHeader.vue.js";
5
+ import W from "./TableBody.js";
6
+ import S from "./TableRow.vue.js";
7
+ import w from "./TableCell.vue.js";
8
+ import q from "../spinner/Spinner.vue.js";
9
+ import G from "../skeleton/Skeleton.vue.js";
10
+ import K from "../icon/Icon.vue.js";
11
+ import { chevronDownIcon as M } from "../../common/icons.js";
12
+ const Q = { key: 1 }, R = ["colspan"], U = { key: 2 }, Y = ["colspan"], Z = ["onClick"], j = { key: 0 }, x = { colspan: "999" }, ee = {
10
13
  headers: {
11
14
  type: Array,
12
15
  default: () => []
@@ -20,6 +23,12 @@ const L = { class: "w-full overflow-x-auto" }, P = {
20
23
  default: () => []
21
24
  },
22
25
  loading: Boolean,
26
+ loadingSkeleton: Boolean,
27
+ loadingLines: {
28
+ type: [Number, String],
29
+ default: 3
30
+ },
31
+ error: Boolean,
23
32
  dense: Boolean,
24
33
  fixed: Boolean,
25
34
  striped: Boolean,
@@ -31,116 +40,216 @@ const L = { class: "w-full overflow-x-auto" }, P = {
31
40
  stickyHeader: {
32
41
  type: Boolean,
33
42
  default: !0
34
- }
35
- }, W = { name: "XTable" }, Y = /* @__PURE__ */ N({
36
- ...W,
43
+ },
44
+ expandable: Boolean
45
+ }, te = { name: "XTable" }, pe = /* @__PURE__ */ E({
46
+ ...te,
37
47
  props: {
38
- ...P,
48
+ ...ee,
39
49
  items: {
40
50
  type: Array,
41
51
  default: () => []
42
52
  }
43
53
  },
44
54
  emits: ["update:sort", "click-row"],
45
- setup(p, { emit: B }) {
46
- const y = p, $ = B;
47
- function _(t, r) {
48
- if (t)
49
- for (let e = 0; e < r.length; e++) {
50
- const { 0: l, 1: o } = r[e].split(",");
51
- if (t === l)
52
- return parseInt(o) > 0 ? 1 : -1;
55
+ setup(h, { emit: z }) {
56
+ const v = h;
57
+ function A(e) {
58
+ try {
59
+ return JSON.parse(JSON.stringify(e));
60
+ } catch {
61
+ return [];
62
+ }
63
+ }
64
+ const k = J([]);
65
+ X(() => v.items, (e) => {
66
+ v.expandable && (k.value = A(e));
67
+ }, { immediate: !0 });
68
+ const T = z;
69
+ function H(e, o) {
70
+ if (e)
71
+ for (let t = 0; t < o.length; t++) {
72
+ const { 0: l, 1: s } = o[t].split(",");
73
+ if (e === l)
74
+ return parseInt(s) > 0 ? 1 : -1;
53
75
  }
54
76
  }
55
- function w(t) {
56
- const r = y.sort.slice(0);
57
- let e = !1;
58
- for (let l = 0; l < r.length; l++) {
59
- const { 0: o, 1: n } = r[l].split(",");
60
- if (o === t.value) {
61
- if (e = !0, n === "-1") {
62
- r.splice(l, 1, `${t.value},1`);
77
+ function V(e) {
78
+ const o = v.sort.slice(0);
79
+ let t = !1;
80
+ for (let l = 0; l < o.length; l++) {
81
+ const { 0: s, 1: r } = o[l].split(",");
82
+ if (s === e.value) {
83
+ if (t = !0, r === "-1") {
84
+ o.splice(l, 1, `${e.value},1`);
63
85
  break;
64
- } else if (n === "1") {
65
- r.splice(l, 1);
86
+ } else if (r === "1") {
87
+ o.splice(l, 1);
66
88
  break;
67
89
  }
68
90
  }
69
91
  }
70
- e || r.push(`${t.value},-1`), $("update:sort", r);
92
+ t || o.push(`${e.value},-1`), T("update:sort", o);
71
93
  }
72
- function C(t, r) {
73
- if (!r)
94
+ function I(e, o) {
95
+ if (!o)
74
96
  return "";
75
- const e = Array.isArray(r) ? r : r.match(/([^[.\]])+/g);
76
- return (e == null ? void 0 : e.reduce((o, n) => o && o[n], t)) ?? "";
97
+ const t = Array.isArray(o) ? o : o.match(/([^[.\]])+/g);
98
+ return (t == null ? void 0 : t.reduce((s, r) => s && s[r], e)) ?? "";
77
99
  }
78
- const { styles: T, classes: k, className: A } = z("Table", {}, y);
79
- return (t, r) => (s(), a("div", L, [
80
- x("table", {
81
- style: H(i(T)),
82
- class: g([
83
- i(A),
84
- i(k).wrapper
85
- ])
100
+ const { styles: L, classes: b, className: D } = O("Table", {}, v);
101
+ return (e, o) => (n(), a("div", {
102
+ class: c([u(D), u(b).wrapper])
103
+ }, [
104
+ i(e.$slots, "title"),
105
+ i(e.$slots, "actions"),
106
+ f("table", {
107
+ style: F(u(L)),
108
+ class: c(u(b).table)
86
109
  }, [
87
- f(i(X), null, {
88
- default: u(() => [
89
- (s(!0), a(d, null, c(t.headers, (e, l) => (s(), m(E, {
110
+ p(P, null, {
111
+ default: d(() => [
112
+ e.expandable ? (n(), m(N, {
113
+ key: 0,
114
+ width: "48",
115
+ class: "!p-0",
116
+ "sticky-header": e.stickyHeader
117
+ }, null, 8, ["sticky-header"])) : $("", !0),
118
+ (n(!0), a(y, null, g(e.headers, (t, l) => (n(), m(N, {
90
119
  key: l,
91
- "sticky-header": t.stickyHeader,
92
- "text-align": e.align,
93
- sort: _(e.value, t.sort),
94
- sortable: e.sortable,
95
- width: e.width,
96
- onClick: (o) => e.sortable ? w(e) : null
120
+ "sticky-header": e.stickyHeader,
121
+ "text-align": t.align,
122
+ sort: H(t.value, e.sort),
123
+ sortable: t.sortable,
124
+ width: t.width,
125
+ onClick: (s) => t.sortable ? V(t) : null
97
126
  }, {
98
- default: u(() => [
99
- v(b(e.text), 1)
127
+ default: d(() => [
128
+ i(e.$slots, `header-${t.value}`, { header: t }, () => [
129
+ _(C(t.text), 1)
130
+ ])
100
131
  ]),
101
132
  _: 2
102
133
  }, 1032, ["sticky-header", "text-align", "sort", "sortable", "width", "onClick"]))), 128))
103
134
  ]),
104
- _: 1
135
+ _: 3
105
136
  }),
106
- f(i(h), null, {
107
- default: u(() => [
108
- (s(!0), a(d, null, c(p.items, (e, l) => (s(), m(D, {
137
+ p(u(W), null, {
138
+ default: d(() => [
139
+ e.loading ? (n(!0), a(y, { key: 0 }, g(Number(e.loadingLines), (t, l) => (n(), m(S, {
109
140
  key: l,
110
- pointer: t.pointer,
111
- striped: t.striped,
112
- onClick: (o) => t.$emit("click-row", e)
141
+ striped: e.striped
113
142
  }, {
114
- default: u(() => [
115
- (s(!0), a(d, null, c(t.headers, (o, n) => (s(), m(F, {
116
- key: n,
117
- "text-align": o.align,
118
- dense: t.dense,
119
- fixed: t.fixed
143
+ default: d(() => [
144
+ (n(!0), a(y, null, g(e.headers, (s, r) => (n(), m(w, {
145
+ key: r,
146
+ "text-align": s.align,
147
+ width: s.width,
148
+ dense: e.dense,
149
+ fixed: e.fixed
120
150
  }, {
121
- default: u(() => [
122
- S(t.$slots, `item-${o.value}`, { item: e }, () => [
123
- v(b(C(e, o.value)), 1)
151
+ default: d(() => [
152
+ i(e.$slots, `loading-${s.value}`, { item: t }, () => [
153
+ p(G, {
154
+ class: c(["max-w-[60%]", {
155
+ "mx-auto": s.align === "center",
156
+ "ml-auto": s.align === "right"
157
+ }]),
158
+ shape: s.skeletonShape || "line"
159
+ }, null, 8, ["shape", "class"])
124
160
  ])
125
161
  ]),
126
162
  _: 2
127
- }, 1032, ["text-align", "dense", "fixed"]))), 128))
163
+ }, 1032, ["text-align", "width", "dense", "fixed"]))), 128))
128
164
  ]),
129
165
  _: 2
130
- }, 1032, ["pointer", "striped", "onClick"]))), 128))
166
+ }, 1032, ["striped"]))), 128)) : e.error ? (n(), a("tr", Q, [
167
+ f("td", {
168
+ colspan: e.headers.length
169
+ }, [
170
+ i(e.$slots, "error")
171
+ ], 8, R)
172
+ ])) : !h.items || h.items.length === 0 ? (n(), a("tr", U, [
173
+ f("td", {
174
+ colspan: e.headers.length
175
+ }, [
176
+ i(e.$slots, "empty")
177
+ ], 8, Y)
178
+ ])) : (n(!0), a(y, { key: 3 }, g(h.items, (t, l) => {
179
+ var s;
180
+ return n(), a(y, { key: l }, [
181
+ p(S, {
182
+ pointer: e.pointer,
183
+ striped: e.striped,
184
+ onClick: (r) => e.$emit("click-row", t)
185
+ }, {
186
+ default: d(() => [
187
+ e.expandable ? (n(), m(w, {
188
+ key: 0,
189
+ width: "48",
190
+ class: "!p-1"
191
+ }, {
192
+ default: d(() => {
193
+ var r;
194
+ return [
195
+ f("button", {
196
+ class: "p-4",
197
+ onClick: (B) => k.value[l].__expanded = !k.value[l].__expanded
198
+ }, [
199
+ p(K, {
200
+ icon: u(M),
201
+ size: e.dense ? "xs" : "md",
202
+ class: c(["transition-transform", {
203
+ "rotate-180": (r = k.value[l]) == null ? void 0 : r.__expanded
204
+ }])
205
+ }, null, 8, ["icon", "size", "class"])
206
+ ], 8, Z)
207
+ ];
208
+ }),
209
+ _: 2
210
+ }, 1024)) : $("", !0),
211
+ (n(!0), a(y, null, g(e.headers, (r, B) => (n(), m(w, {
212
+ key: B,
213
+ "text-align": r.align,
214
+ truncate: r.truncate,
215
+ width: r.width,
216
+ dense: e.dense,
217
+ fixed: e.fixed
218
+ }, {
219
+ default: d(() => [
220
+ i(e.$slots, `item-${r.value}`, { item: t }, () => [
221
+ _(C(I(t, r.value)), 1)
222
+ ])
223
+ ]),
224
+ _: 2
225
+ }, 1032, ["text-align", "truncate", "width", "dense", "fixed"]))), 128))
226
+ ]),
227
+ _: 2
228
+ }, 1032, ["pointer", "striped", "onClick"]),
229
+ e.expandable ? (n(), a("tr", j, [
230
+ f("td", x, [
231
+ f("div", {
232
+ class: c(["overflow-hidden transition-opacity", [(s = k.value[l]) != null && s.__expanded ? "" : "opacity-0 max-h-0"]])
233
+ }, [
234
+ i(e.$slots, "expanded-row", { item: t })
235
+ ], 2)
236
+ ])
237
+ ])) : $("", !0)
238
+ ], 64);
239
+ }), 128))
131
240
  ]),
132
241
  _: 3
133
242
  }),
134
- t.loading ? (s(), a("div", {
243
+ e.loading ? (n(), a("div", {
135
244
  key: 0,
136
- class: g(i(k).loadingWrapper)
245
+ class: c(u(b).loadingWrapper)
137
246
  }, [
138
- f(I, { size: "lg" })
139
- ], 2)) : V("", !0)
247
+ p(q, { size: "lg" })
248
+ ], 2)) : $("", !0)
140
249
  ], 6)
141
- ]));
250
+ ], 2));
142
251
  }
143
252
  });
144
253
  export {
145
- Y as default
254
+ pe as default
146
255
  };