@indielayer/ui 1.3.0 → 1.4.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 (419) 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 +49 -0
  17. package/docs/components/common/CopyButton.vue +50 -0
  18. package/docs/components/common/DocumentPage.vue +289 -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 +143 -0
  22. package/docs/components/toolbar/PreToolbar.vue +18 -0
  23. package/docs/components/toolbar/Toolbar.vue +63 -0
  24. package/docs/components/toolbar/ToolbarColorToggle.vue +49 -0
  25. package/docs/icons.ts +61 -0
  26. package/docs/layouts/default.vue +29 -0
  27. package/docs/layouts/simple.vue +3 -0
  28. package/docs/main.ts +33 -0
  29. package/docs/pages/colors.vue +125 -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 +18 -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 +46 -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 +15 -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 +70 -0
  87. package/docs/pages/component/modal/index.vue +36 -0
  88. package/docs/pages/component/modal/usage.vue +61 -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 +45 -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 +137 -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 +22 -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 +14 -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 +16 -0
  138. package/docs/pages/error.vue +6 -0
  139. package/docs/pages/icons.vue +105 -0
  140. package/docs/pages/index.vue +157 -0
  141. package/docs/pages/play.vue +19 -0
  142. package/docs/pages/typography.vue +95 -0
  143. package/docs/router/index.ts +75 -0
  144. package/exports/tailwind.preset.js +1 -0
  145. package/lib/common/icons.d.ts +4 -1
  146. package/lib/common/icons.js +14 -11
  147. package/lib/components/accordion/Accordion.vue.d.ts +63 -0
  148. package/lib/components/accordion/Accordion.vue.js +40 -0
  149. package/lib/components/accordion/Accordion.vue2.js +4 -0
  150. package/lib/components/{collapse/Collapse.vue.d.ts → accordion/AccordionItem.vue.d.ts} +33 -18
  151. package/lib/components/accordion/AccordionItem.vue.js +140 -0
  152. package/lib/components/accordion/AccordionItem.vue2.js +4 -0
  153. package/lib/components/accordion/index.d.ts +4 -0
  154. package/lib/components/accordion/theme/Accordion.base.theme.d.ts +3 -0
  155. package/lib/components/accordion/theme/Accordion.base.theme.js +8 -0
  156. package/lib/components/accordion/theme/Accordion.carbon.theme.d.ts +3 -0
  157. package/lib/components/accordion/theme/Accordion.carbon.theme.js +5 -0
  158. package/lib/components/accordion/theme/AccordionItem.base.theme.d.ts +3 -0
  159. package/lib/components/accordion/theme/AccordionItem.base.theme.js +16 -0
  160. package/lib/components/accordion/theme/AccordionItem.carbon.theme.d.ts +3 -0
  161. package/lib/components/accordion/theme/AccordionItem.carbon.theme.js +5 -0
  162. package/lib/components/alert/theme/Alert.carbon.theme.js +39 -3
  163. package/lib/components/avatar/Avatar.vue.d.ts +2 -2
  164. package/lib/components/badge/Badge.vue.d.ts +2 -2
  165. package/lib/components/button/Button.vue.d.ts +3 -3
  166. package/lib/components/button/ButtonGroup.vue.d.ts +3 -3
  167. package/lib/components/button/theme/Button.carbon.theme.js +1 -1
  168. package/lib/components/carousel/CarouselSlide.vue.d.ts +19 -8
  169. package/lib/components/carousel/CarouselSlide.vue.js +2 -2
  170. package/lib/components/carousel/CarouselSlide.vue2.js +25 -18
  171. package/lib/components/checkbox/Checkbox.vue.d.ts +22 -10
  172. package/lib/components/checkbox/Checkbox.vue2.js +106 -72
  173. package/lib/components/checkbox/theme/Checkbox.base.theme.js +38 -31
  174. package/lib/components/checkbox/theme/Checkbox.carbon.theme.js +38 -31
  175. package/lib/components/container/Container.vue.d.ts +13 -0
  176. package/lib/components/container/Container.vue.js +15 -11
  177. package/lib/components/container/theme/Container.base.theme.js +7 -4
  178. package/lib/components/drawer/Drawer.vue.d.ts +4 -4
  179. package/lib/components/form/Form.vue.d.ts +25 -2
  180. package/lib/components/form/Form.vue.js +67 -36
  181. package/lib/components/form/theme/Form.base.theme.js +8 -4
  182. package/lib/components/form/theme/Form.carbon.theme.js +10 -3
  183. package/lib/components/formGroup/FormGroup.vue.d.ts +132 -0
  184. package/lib/components/formGroup/FormGroup.vue.js +82 -0
  185. package/lib/components/formGroup/FormGroup.vue2.js +4 -0
  186. package/lib/components/formGroup/__tests__/FormGroup.spec.d.ts +1 -0
  187. package/lib/components/formGroup/index.d.ts +2 -0
  188. package/lib/components/formGroup/theme/FormGroup.base.theme.d.ts +3 -0
  189. package/lib/components/formGroup/theme/FormGroup.base.theme.js +11 -0
  190. package/lib/components/formGroup/theme/FormGroup.carbon.theme.d.ts +3 -0
  191. package/lib/components/formGroup/theme/FormGroup.carbon.theme.js +11 -0
  192. package/lib/components/icon/theme/Icon.base.theme.js +1 -1
  193. package/lib/components/icon/theme/Icon.carbon.theme.js +4 -4
  194. package/lib/components/index.d.ts +3 -1
  195. package/lib/components/index.js +106 -100
  196. package/lib/components/input/Input.vue.d.ts +12 -9
  197. package/lib/components/input/Input.vue.js +39 -39
  198. package/lib/components/input/theme/Input.carbon.theme.js +1 -1
  199. package/lib/components/inputFooter/theme/InputFooter.base.theme.js +1 -1
  200. package/lib/components/inputFooter/theme/InputFooter.carbon.theme.js +1 -1
  201. package/lib/components/label/Label.vue.d.ts +3 -3
  202. package/lib/components/label/theme/Label.carbon.theme.js +7 -6
  203. package/lib/components/link/Link.vue.d.ts +1 -1
  204. package/lib/components/link/Link.vue.js +2 -2
  205. package/lib/components/link/Link.vue2.js +1 -1
  206. package/lib/components/link/theme/Link.base.theme.js +4 -4
  207. package/lib/components/link/theme/Link.carbon.theme.js +23 -3
  208. package/lib/components/loader/theme/Loader.carbon.theme.js +1 -1
  209. package/lib/components/menu/Menu.vue.d.ts +6 -5
  210. package/lib/components/menu/Menu.vue.js +43 -40
  211. package/lib/components/menu/MenuItem.vue.d.ts +4 -4
  212. package/lib/components/menu/MenuItem.vue.js +2 -2
  213. package/lib/components/menu/MenuItem.vue2.js +1 -1
  214. package/lib/components/menu/theme/MenuItem.base.theme.js +3 -3
  215. package/lib/components/modal/Modal.vue.d.ts +98 -3
  216. package/lib/components/modal/Modal.vue.js +153 -100
  217. package/lib/components/modal/theme/Modal.base.theme.js +15 -9
  218. package/lib/components/modal/theme/Modal.carbon.theme.js +27 -3
  219. package/lib/components/notifications/Notifications.vue.js +56 -53
  220. package/lib/components/notifications/theme/Notifications.base.theme.js +1 -1
  221. package/lib/components/notifications/theme/Notifications.carbon.theme.js +8 -3
  222. package/lib/components/popover/Popover.vue.d.ts +3 -3
  223. package/lib/components/radio/Radio.vue.d.ts +17 -12
  224. package/lib/components/radio/Radio.vue2.js +81 -66
  225. package/lib/components/radio/theme/Radio.base.theme.js +19 -16
  226. package/lib/components/radio/theme/Radio.carbon.theme.js +32 -29
  227. package/lib/components/select/Select.vue.d.ts +13 -10
  228. package/lib/components/select/Select.vue.js +115 -116
  229. package/lib/components/select/theme/Select.base.theme.js +10 -10
  230. package/lib/components/select/theme/Select.carbon.theme.js +5 -5
  231. package/lib/components/skeleton/Skeleton.vue.d.ts +19 -1
  232. package/lib/components/skeleton/Skeleton.vue.js +25 -15
  233. package/lib/components/skeleton/theme/Skeleton.base.theme.js +7 -4
  234. package/lib/components/slider/Slider.vue.d.ts +12 -6
  235. package/lib/components/slider/Slider.vue.js +3 -4
  236. package/lib/components/slider/theme/Slider.carbon.theme.js +4 -4
  237. package/lib/components/spinner/Spinner.vue.d.ts +1 -1
  238. package/lib/components/spinner/Spinner.vue.js +16 -17
  239. package/lib/components/stepper/Stepper.vue.d.ts +137 -0
  240. package/lib/components/stepper/Stepper.vue.js +128 -0
  241. package/lib/components/stepper/Stepper.vue2.js +4 -0
  242. package/lib/components/stepper/__tests__/Stepper.spec.d.ts +1 -0
  243. package/lib/components/stepper/index.d.ts +2 -0
  244. package/lib/components/stepper/theme/Stepper.base.theme.d.ts +3 -0
  245. package/lib/components/stepper/theme/Stepper.base.theme.js +20 -0
  246. package/lib/components/stepper/theme/Stepper.carbon.theme.d.ts +3 -0
  247. package/lib/components/{collapse/theme/Collapse.carbon.theme.js → stepper/theme/Stepper.carbon.theme.js} +1 -1
  248. package/lib/components/tab/Tab.vue.d.ts +11 -5
  249. package/lib/components/tab/Tab.vue.js +65 -50
  250. package/lib/components/tab/TabGroup.vue.d.ts +1 -1
  251. package/lib/components/tab/TabGroup.vue.js +5 -5
  252. package/lib/components/tab/theme/Tab.base.theme.js +2 -1
  253. package/lib/components/tab/theme/Tab.carbon.theme.js +6 -5
  254. package/lib/components/tab/theme/TabGroup.carbon.theme.js +28 -2
  255. package/lib/components/table/Table.vue.d.ts +115 -9
  256. package/lib/components/table/Table.vue.js +209 -98
  257. package/lib/components/table/TableCell.vue.d.ts +4 -5
  258. package/lib/components/table/TableCell.vue.js +21 -22
  259. package/lib/components/table/TableHead.vue.d.ts +16 -0
  260. package/lib/components/table/TableHead.vue.js +21 -0
  261. package/lib/components/table/TableHead.vue2.js +4 -0
  262. package/lib/components/table/TableHeader.vue.d.ts +4 -0
  263. package/lib/components/table/TableHeader.vue.js +45 -54
  264. package/lib/components/table/TableRow.vue.d.ts +15 -1
  265. package/lib/components/table/TableRow.vue.js +21 -25
  266. package/lib/components/table/index.d.ts +4 -2
  267. package/lib/components/table/theme/Table.base.theme.js +7 -6
  268. package/lib/components/table/theme/Table.carbon.theme.js +11 -3
  269. package/lib/components/table/theme/TableCell.base.theme.js +3 -3
  270. package/lib/components/table/theme/TableCell.carbon.theme.js +9 -3
  271. package/lib/components/table/theme/TableHead.base.theme.d.ts +3 -0
  272. package/lib/components/table/theme/TableHead.base.theme.js +9 -0
  273. package/lib/components/table/theme/TableHead.carbon.theme.d.ts +3 -0
  274. package/lib/components/table/theme/TableHead.carbon.theme.js +9 -0
  275. package/lib/components/table/theme/TableHeader.base.theme.d.ts +3 -0
  276. package/lib/components/table/theme/TableHeader.base.theme.js +12 -0
  277. package/lib/components/table/theme/TableHeader.carbon.theme.d.ts +3 -0
  278. package/lib/components/table/theme/TableHeader.carbon.theme.js +12 -0
  279. package/lib/components/table/theme/TableRow.base.theme.d.ts +3 -0
  280. package/lib/components/table/theme/TableRow.base.theme.js +11 -0
  281. package/lib/components/table/theme/TableRow.carbon.theme.d.ts +3 -0
  282. package/lib/components/table/theme/TableRow.carbon.theme.js +11 -0
  283. package/lib/components/tag/Tag.vue.d.ts +3 -3
  284. package/lib/components/tag/Tag.vue.js +17 -17
  285. package/lib/components/tag/theme/Tag.base.theme.js +14 -13
  286. package/lib/components/tag/theme/Tag.carbon.theme.js +14 -14
  287. package/lib/components/textarea/Textarea.vue.d.ts +11 -8
  288. package/lib/components/textarea/Textarea.vue.js +34 -34
  289. package/lib/components/textarea/theme/Textarea.carbon.theme.js +1 -1
  290. package/lib/components/toggle/Toggle.vue.d.ts +12 -12
  291. package/lib/components/toggle/Toggle.vue.js +37 -39
  292. package/lib/composables/keys.d.ts +5 -1
  293. package/lib/composables/keys.js +8 -6
  294. package/lib/composables/useFocusTrap.d.ts +6 -0
  295. package/lib/composables/useFocusTrap.js +45 -0
  296. package/lib/composables/useInputtable.d.ts +6 -0
  297. package/lib/composables/useInputtable.js +59 -42
  298. package/lib/index.js +137 -129
  299. package/lib/index.umd.js +3 -3
  300. package/lib/nuxt.mjs +33 -0
  301. package/lib/nuxt.plugin.js +8 -0
  302. package/lib/tailwind.preset.js +41 -0
  303. package/lib/theme.d.ts +8 -2
  304. package/lib/themes/base/components.d.ts +7 -1
  305. package/lib/themes/base/components.js +98 -86
  306. package/lib/themes/carbon/components.d.ts +7 -1
  307. package/lib/themes/carbon/components.js +98 -86
  308. package/lib/version.d.ts +1 -1
  309. package/lib/version.js +1 -1
  310. package/package.json +7 -2
  311. package/src/common/icons.ts +4 -1
  312. package/src/components/accordion/Accordion.vue +55 -0
  313. package/src/components/{collapse/Collapse.vue → accordion/AccordionItem.vue} +51 -32
  314. package/src/components/accordion/__tests__/Accordion.spec.ts +11 -0
  315. package/src/components/accordion/index.ts +4 -0
  316. package/src/components/accordion/theme/Accordion.base.theme.ts +9 -0
  317. package/src/components/accordion/theme/Accordion.carbon.theme.ts +7 -0
  318. package/src/components/accordion/theme/AccordionItem.base.theme.ts +38 -0
  319. package/src/components/accordion/theme/AccordionItem.carbon.theme.ts +7 -0
  320. package/src/components/alert/theme/Alert.carbon.theme.ts +54 -2
  321. package/src/components/button/theme/Button.carbon.theme.ts +1 -1
  322. package/src/components/carousel/CarouselSlide.vue +9 -4
  323. package/src/components/checkbox/Checkbox.vue +69 -20
  324. package/src/components/checkbox/theme/Checkbox.base.theme.ts +15 -1
  325. package/src/components/checkbox/theme/Checkbox.carbon.theme.ts +17 -3
  326. package/src/components/container/Container.vue +4 -0
  327. package/src/components/container/theme/Container.base.theme.ts +7 -1
  328. package/src/components/form/Form.vue +26 -5
  329. package/src/components/form/theme/Form.base.theme.ts +9 -1
  330. package/src/components/form/theme/Form.carbon.theme.ts +12 -2
  331. package/src/components/formGroup/FormGroup.vue +116 -0
  332. package/src/components/formGroup/__tests__/FormGroup.spec.ts +11 -0
  333. package/src/components/formGroup/index.ts +2 -0
  334. package/src/components/formGroup/theme/FormGroup.base.theme.ts +16 -0
  335. package/src/components/formGroup/theme/FormGroup.carbon.theme.ts +16 -0
  336. package/src/components/icon/theme/Icon.base.theme.ts +1 -1
  337. package/src/components/icon/theme/Icon.carbon.theme.ts +3 -4
  338. package/src/components/index.ts +3 -1
  339. package/src/components/input/Input.vue +3 -3
  340. package/src/components/input/theme/Input.carbon.theme.ts +1 -1
  341. package/src/components/inputFooter/theme/InputFooter.base.theme.ts +1 -1
  342. package/src/components/inputFooter/theme/InputFooter.carbon.theme.ts +1 -1
  343. package/src/components/label/theme/Label.carbon.theme.ts +8 -3
  344. package/src/components/link/Link.vue +1 -1
  345. package/src/components/link/theme/Link.carbon.theme.ts +23 -2
  346. package/src/components/loader/theme/Loader.carbon.theme.ts +1 -1
  347. package/src/components/menu/Menu.vue +8 -5
  348. package/src/components/menu/MenuItem.vue +1 -1
  349. package/src/components/menu/theme/MenuItem.base.theme.ts +3 -3
  350. package/src/components/modal/Modal.vue +110 -50
  351. package/src/components/modal/theme/Modal.base.theme.ts +28 -12
  352. package/src/components/modal/theme/Modal.carbon.theme.ts +55 -2
  353. package/src/components/notifications/Notifications.vue +5 -5
  354. package/src/components/notifications/theme/Notifications.base.theme.ts +1 -1
  355. package/src/components/notifications/theme/Notifications.carbon.theme.ts +12 -2
  356. package/src/components/radio/Radio.vue +39 -15
  357. package/src/components/radio/theme/Radio.base.theme.ts +7 -1
  358. package/src/components/radio/theme/Radio.carbon.theme.ts +13 -7
  359. package/src/components/select/Select.vue +10 -11
  360. package/src/components/select/theme/Select.base.theme.ts +1 -1
  361. package/src/components/select/theme/Select.carbon.theme.ts +2 -2
  362. package/src/components/skeleton/Skeleton.vue +18 -2
  363. package/src/components/skeleton/theme/Skeleton.base.theme.ts +8 -1
  364. package/src/components/slider/Slider.vue +1 -2
  365. package/src/components/slider/theme/Slider.carbon.theme.ts +1 -1
  366. package/src/components/spinner/Spinner.vue +2 -2
  367. package/src/components/stepper/Stepper.vue +153 -0
  368. package/src/components/{collapse/__tests__/Collapse.spec.ts → stepper/__tests__/Stepper.spec.ts} +3 -3
  369. package/src/components/stepper/index.ts +6 -0
  370. package/src/components/stepper/theme/Stepper.base.theme.ts +45 -0
  371. package/src/components/stepper/theme/Stepper.carbon.theme.ts +7 -0
  372. package/src/components/tab/Tab.vue +20 -6
  373. package/src/components/tab/TabGroup.vue +2 -2
  374. package/src/components/tab/theme/Tab.base.theme.ts +2 -0
  375. package/src/components/tab/theme/Tab.carbon.theme.ts +4 -2
  376. package/src/components/tab/theme/TabGroup.carbon.theme.ts +50 -2
  377. package/src/components/table/Table.vue +123 -27
  378. package/src/components/table/TableCell.vue +5 -6
  379. package/src/components/table/TableHead.vue +25 -0
  380. package/src/components/table/TableHeader.vue +35 -56
  381. package/src/components/table/TableRow.vue +19 -17
  382. package/src/components/table/index.ts +4 -2
  383. package/src/components/table/theme/Table.base.theme.ts +9 -7
  384. package/src/components/table/theme/Table.carbon.theme.ts +18 -2
  385. package/src/components/table/theme/TableCell.base.theme.ts +1 -1
  386. package/src/components/table/theme/TableCell.carbon.theme.ts +24 -2
  387. package/src/components/table/theme/TableHead.base.theme.ts +10 -0
  388. package/src/components/table/theme/TableHead.carbon.theme.ts +10 -0
  389. package/src/components/table/theme/TableHeader.base.theme.ts +28 -0
  390. package/src/components/table/theme/TableHeader.carbon.theme.ts +28 -0
  391. package/src/components/table/theme/TableRow.base.theme.ts +21 -0
  392. package/src/components/table/theme/TableRow.carbon.theme.ts +21 -0
  393. package/src/components/tag/Tag.vue +4 -4
  394. package/src/components/tag/theme/Tag.base.theme.ts +4 -4
  395. package/src/components/tag/theme/Tag.carbon.theme.ts +5 -6
  396. package/src/components/textarea/Textarea.vue +3 -3
  397. package/src/components/textarea/theme/Textarea.carbon.theme.ts +1 -1
  398. package/src/components/toggle/Toggle.vue +2 -4
  399. package/src/composables/keys.ts +5 -1
  400. package/src/composables/useFocusTrap.ts +106 -0
  401. package/src/composables/useInputtable.ts +31 -3
  402. package/src/theme.ts +14 -2
  403. package/src/themes/base/components.ts +7 -1
  404. package/src/themes/carbon/components.ts +7 -1
  405. package/src/version.ts +1 -1
  406. package/volar.d.ts +5 -1
  407. package/lib/components/collapse/Collapse.vue.js +0 -131
  408. package/lib/components/collapse/Collapse.vue2.js +0 -4
  409. package/lib/components/collapse/index.d.ts +0 -2
  410. package/lib/components/collapse/theme/Collapse.base.theme.d.ts +0 -3
  411. package/lib/components/collapse/theme/Collapse.base.theme.js +0 -10
  412. package/lib/components/collapse/theme/Collapse.carbon.theme.d.ts +0 -3
  413. package/lib/components/table/TableHead.d.ts +0 -2
  414. package/lib/components/table/TableHead.js +0 -19
  415. package/src/components/collapse/index.ts +0 -2
  416. package/src/components/collapse/theme/Collapse.base.theme.ts +0 -13
  417. package/src/components/collapse/theme/Collapse.carbon.theme.ts +0 -7
  418. package/src/components/table/TableHead.tsx +0 -14
  419. /package/lib/components/{collapse/__tests__/Collapse.spec.d.ts → accordion/__tests__/Accordion.spec.d.ts} +0 -0
@@ -0,0 +1,157 @@
1
+ <template>
2
+ <div>
3
+ <section class="p-4 lg:p-8 max-w-4xl xl:max-w-7xl mx-auto">
4
+ <h2 class="text-4xl font-semibold">Getting Started</h2>
5
+ <h1 class="text-lg my-2 text-gray-500 dark:text-gray-400">Tailwind CSS UI components for Vue.js 3 / Nuxt.js 3. Build and prototype fast web applications.</h1>
6
+ <x-divider class="mt-4 mb-8"/>
7
+
8
+ <h3 class="text-2xl mb-4">Quickstart a new Vue 3 or Nuxt 3 project</h3>
9
+ <p class="my-4">
10
+ This following command will install and execute <x-link
11
+ external
12
+ href="https://github.com/indielayer/ui/tree/main/packages/create-ui"
13
+ target="_blank"
14
+ shadow
15
+ color="primary"
16
+ >@indielayer/create-ui</x-link>, the official Indielayer UI project scaffolding tool. You will be presented with prompts for a number of optional features such as TypeScript.
17
+ </p>
18
+ <code-snippet :code="`npm init @indielayer/ui`" lang="bash"/>
19
+ <pre class="bg-slate-600 text-slate-50 text-xs mt-4 px-4 py-2 rounded-md">? Project type: › - Use arrow-keys. Return to submit.
20
+ ❯ Vue 3
21
+ Nuxt 3</pre>
22
+
23
+ <h3 class="text-2xl mt-16 mb-4 text-gray-500">Manual guide</h3>
24
+ <h3 class="text-2xl mb-4">1. Install via package manager</h3>
25
+ <multi-snippet
26
+ :snippets="[{
27
+ label: 'npm',
28
+ lang: 'bash',
29
+ code: 'npm install @indielayer/ui'
30
+ }, {
31
+ label: 'yarn',
32
+ lang: 'bash',
33
+ code: 'yarn add @indielayer/ui'
34
+ }, {
35
+ label: 'pnpm',
36
+ lang: 'bash',
37
+ code: 'pnpm add @indielayer/ui'
38
+ }]"
39
+ />
40
+
41
+ <h3 class="text-2xl mt-8 mb-4">2. Setup TailwindCSS</h3>
42
+ <p>If you do not have Tailwind CSS 3 installed in your project, please see the <x-link href="https://tailwindcss.com/docs/guides/vite" external shadow color="primary">Tailwind 3 Vite install guide here</x-link> before proceeding.</p>
43
+ <p class="my-4">
44
+ Add Indielayer Tailwind CSS preset <b>tailwind.preset.js</b> to your Tailwind CSS configuration file tailwind.config.js and <b>purge css configurations.</b>
45
+ </p>
46
+ <code-snippet
47
+ lang="js"
48
+ :code="`// tailwind.config.js
49
+ const colors = require('tailwindcss/colors')
50
+ const indielayer = require('@indielayer/ui/tailwind.preset')
51
+
52
+ module.exports = {
53
+ darkMode: 'class',
54
+ // load indielayer ui presets
55
+ presets: [indielayer()],
56
+ // allow PurgeCSS to analyze components
57
+ content: [
58
+ './index.html',
59
+ './**/*.vue',
60
+ './src/**/*.{vue,js,ts,jsx,tsx}',
61
+ 'node_modules/@indielayer/ui/{lib,src}/**/*',
62
+ ],
63
+ theme: {
64
+ extend: {
65
+ colors: {
66
+ primary: colors.emerald,
67
+ secondary: colors.slate,
68
+ success: colors.green,
69
+ warning: colors.yellow,
70
+ error: colors.red,
71
+ },
72
+ },
73
+ },
74
+ plugins: [],
75
+ }`"
76
+ />
77
+ <h3 class="text-2xl mt-8 mb-4">3. Load the UI in your project</h3>
78
+ <h4 class="text-xl mt-8 mb-4">Load on a Vue 3 project</h4>
79
+ <code-snippet
80
+ lang="js"
81
+ :code="`import { createApp } from 'vue'
82
+ import UI from '@indielayer/ui'
83
+
84
+ const app = createApp(App)
85
+
86
+ app.use(UI, {
87
+ prefix: 'X',
88
+ })`"
89
+ />
90
+ <h4 class="text-xl mt-8 mb-4">Load on a Nuxt 3 project</h4>
91
+ <multi-snippet
92
+ class="my-4"
93
+ :snippets="[{
94
+ label: 'npm',
95
+ lang: 'bash',
96
+ code: 'npm install @indielayer/ui @vueuse/core floating-vue -D'
97
+ }, {
98
+ label: 'yarn',
99
+ lang: 'bash',
100
+ code: 'yarn add @indielayer/ui @vueuse/core floating-vue -D'
101
+ }, {
102
+ label: 'pnpm',
103
+ lang: 'bash',
104
+ code: 'pnpm add @indielayer/ui @vueuse/core floating-vue -D'
105
+ }]"
106
+ />
107
+ <code-snippet
108
+ lang="js"
109
+ :code="`import { colors } from '@indielayer/ui'
110
+
111
+ // https://nuxt.com/docs/api/configuration/nuxt-config
112
+ export default defineNuxtConfig({
113
+ modules: [
114
+ ['@indielayer/ui/nuxt', {
115
+ theme: {
116
+ colors: {
117
+ primary: colors.emerald,
118
+ secondary: colors.slate,
119
+ success: colors.green,
120
+ warning: colors.yellow,
121
+ error: colors.red,
122
+ },
123
+ },
124
+ }],
125
+ ],
126
+ css: ['~/assets/tailwind.css'],
127
+ /**
128
+ * @tailwind base;
129
+ * @tailwind components;
130
+ * @tailwind utilities;
131
+ */
132
+ postcss: {
133
+ plugins: {
134
+ 'tailwindcss/nesting': {},
135
+ tailwindcss: {},
136
+ autoprefixer: {},
137
+ },
138
+ },
139
+ })`"
140
+ />
141
+ <h3 class="text-2xl mt-8 mb-4">4. (optional) Load only the components you want</h3>
142
+ <code-snippet
143
+ lang="js"
144
+ :code="`import { createApp } from 'vue'
145
+ import { createUI, XButton, XAlert } from '@indielayer/ui'
146
+
147
+ const app = createApp(App)
148
+
149
+ const UI = createUI({
150
+ components: [XButton, XAlert],
151
+ })
152
+
153
+ app.use(UI)`"
154
+ />
155
+ </section>
156
+ </div>
157
+ </template>
@@ -0,0 +1,19 @@
1
+ <script>
2
+
3
+ export default {
4
+ components: {
5
+
6
+ },
7
+ data() {
8
+ return {
9
+
10
+ }
11
+ },
12
+ }
13
+ </script>
14
+
15
+ <template>
16
+ <div class="p-10">
17
+ hello
18
+ </div>
19
+ </template>
@@ -0,0 +1,95 @@
1
+ <script setup lang="ts">
2
+ const textClasses = {
3
+ 'text-xs': {
4
+ size: '0.75rem',
5
+ line: '1rem',
6
+ },
7
+ 'text-sm': {
8
+ size: '0.875rem',
9
+ line: '1.25rem',
10
+ },
11
+ 'text-base': {
12
+ size: '1rem',
13
+ line: '1.5rem',
14
+ },
15
+ 'text-lg': {
16
+ size: '1.125rem',
17
+ line: '1.75rem',
18
+ },
19
+ 'text-xl': {
20
+ size: '1.25rem',
21
+ line: '1.75rem',
22
+ },
23
+ 'text-2xl': {
24
+ size: '1.5rem',
25
+ line: '2rem',
26
+ },
27
+ 'text-3xl': {
28
+ size: '1.875rem',
29
+ line: '2.25rem',
30
+ },
31
+ 'text-4xl': {
32
+ size: '2.25rem',
33
+ line: '2.5rem',
34
+ },
35
+ 'text-5xl': {
36
+ size: '3rem',
37
+ line: 'auto',
38
+ },
39
+ 'text-6xl': {
40
+ size: '3.75rem',
41
+ line: 'auto',
42
+ },
43
+ 'text-7xl': {
44
+ size: '4.5rem',
45
+ line: 'auto',
46
+ },
47
+ 'text-8xl': {
48
+ size: '6rem',
49
+ line: 'auto',
50
+ },
51
+ 'text-9xl': {
52
+ size: '8rem',
53
+ line: 'auto',
54
+ },
55
+ }
56
+
57
+ </script>
58
+
59
+ <template>
60
+ <div>
61
+ <section class="p-4 lg:p-8 max-w-4xl xl:max-w-7xl mx-auto">
62
+ <h1 class="text-4xl font-semibold">Typography</h1>
63
+ <h2 class="text-lg my-2 text-gray-500 dark:text-gray-400">Big letters, small letters, fonts and stuff</h2>
64
+
65
+ <x-divider class="mt-4 mb-8"/>
66
+
67
+ <div>
68
+ <div>Main font</div>
69
+ <div class="text-gray-500 dark:text-gray-400">Inter</div>
70
+ <div class="text-6xl mt-4">AaBbCc</div>
71
+ </div>
72
+
73
+ <div class="mt-10">
74
+ <table class="text-left w-full">
75
+ <tr>
76
+ <th class="py-2">Class</th>
77
+ <th>Size</th>
78
+ <th>Line Height</th>
79
+ <th>Preview</th>
80
+ </tr>
81
+ <tr v-for="(c, key) in textClasses" :key="key" class="border-t">
82
+ <td class="py-2">{{ key }}</td>
83
+ <td class="text-secondary-500 font-light">{{ c.size }}</td>
84
+ <td class="text-secondary-500 font-light">{{ c.line }}</td>
85
+ <td :class="key" class="max-w-lg truncate">Preview text</td>
86
+ </tr>
87
+ </table>
88
+ </div>
89
+
90
+ <div class="text-secondary-500 mt-4">
91
+ See more about Tailwind typography classes here -> <x-link href="https://tailwindcss.com/docs/font-size" target="_blank" underline>Tailwind Documentation</x-link>
92
+ </div>
93
+ </section>
94
+ </div>
95
+ </template>
@@ -0,0 +1,75 @@
1
+ import { createRouter, createWebHistory, type RouteRecordRaw } from 'vue-router'
2
+
3
+ // layouts
4
+ import DefaultLayout from '../layouts/default.vue'
5
+ import SimpleLayout from '../layouts/simple.vue'
6
+
7
+ // help
8
+ import HomePage from '../pages/index.vue'
9
+ import IconsPage from '../pages/icons.vue'
10
+ import PlayPage from '../pages/play.vue'
11
+ import TypographyPage from '../pages/typography.vue'
12
+ import ColorsPage from '../pages/colors.vue'
13
+
14
+ const pages: Record<string, any> = import.meta.glob('../pages/component/*/index.vue', { eager: true })
15
+
16
+ const componentPages: RouteRecordRaw[] = []
17
+
18
+ Object.keys(pages).forEach((path) => {
19
+ const match = path.match(/\/pages\/component\/(.*)\/index\.vue$/)
20
+
21
+ if (match) {
22
+ const name = match[1].toLowerCase()
23
+
24
+ componentPages.push({
25
+ path: name,
26
+ component: pages[path].default,
27
+ })
28
+ }
29
+ })
30
+
31
+ const routes: RouteRecordRaw[] = [{
32
+ path: '/',
33
+ component: DefaultLayout,
34
+ children: [{
35
+ path: '',
36
+ redirect: { name: 'getting-started' },
37
+ }, {
38
+ path: 'getting-started',
39
+ name: 'getting-started',
40
+ component: HomePage,
41
+ }, {
42
+ path: 'icons',
43
+ name: 'icons',
44
+ component: IconsPage,
45
+ }, {
46
+ path: 'typography',
47
+ name: 'typography',
48
+ component: TypographyPage,
49
+ }, {
50
+ path: 'colors',
51
+ name: 'colors',
52
+ component: ColorsPage,
53
+ }, {
54
+ path: 'component',
55
+ component: SimpleLayout,
56
+ children: componentPages,
57
+ }],
58
+ }, {
59
+ path: '/play',
60
+ component: PlayPage,
61
+ }]
62
+
63
+ const router = createRouter({
64
+ history: createWebHistory('/'),
65
+ routes,
66
+ scrollBehavior(to, from, savedPosition) {
67
+ if (savedPosition) {
68
+ return savedPosition
69
+ } else {
70
+ return { top: 0 }
71
+ }
72
+ },
73
+ })
74
+
75
+ export default router
@@ -28,6 +28,7 @@ module.exports = () => ({
28
28
  secondary: getColorVarPallete('secondary'),
29
29
  success: getColorVarPallete('success'),
30
30
  warning: getColorVarPallete('warning'),
31
+ danger: getColorVarPallete('error'),
31
32
  error: getColorVarPallete('error'),
32
33
  },
33
34
  borderColor: getColorVar('border'),
@@ -11,5 +11,8 @@ export declare const dotsIcon = "<path d=\"M5 12h.01M12 12h.01M19 12h.01M6 12a1
11
11
  export declare const prevIcon = "<path d=\"M15 19l-7-7 7-7\" />";
12
12
  export declare const nextIcon = "<path d=\"M9 5l7 7-7 7\" />";
13
13
  export declare const checkIcon = "<path d=\"M5 13l4 4L19 7\" />";
14
- export declare const chevronDownIcon = "<path d=\"M8 9l4-4 4 4m0 6l-4 4-4-4\" />";
14
+ export declare const selectIcon = "<path d=\"M8 9l4-4 4 4m0 6l-4 4-4-4\" />";
15
15
  export declare const externalIcon = "<line x1=\"7\" y1=\"17\" x2=\"17\" y2=\"7\" /><polyline points=\"7 7 17 7 17 17\" />";
16
+ export declare const stepperPristineIcon = "<path d=\"M7.5 4.21v.01M4.21 7.5v.01M3 12v.01m1.21 4.49v.01m3.29 3.28v.01M12 21v.01m4.5-1.22v.01m3.29-3.3v.01M21 12v.01M19.79 7.5v.01m-3.29-3.3v.01M12 3v.01\"/>";
17
+ export declare const stepperIncompleteIcon = "<svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" fill=\"currentColor\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M23.7642 6.8593l1.2851-1.5315A13.976 13.976 0 0020.8672 2.887l-.6836 1.8776A11.9729 11.9729 0 0123.7642 6.8593zM27.81 14l1.9677-.4128A13.8888 13.8888 0 0028.14 9.0457L26.4087 10A12.52 12.52 0 0127.81 14zM20.1836 27.2354l.6836 1.8776a13.976 13.976 0 004.1821-2.4408l-1.2851-1.5315A11.9729 11.9729 0 0120.1836 27.2354zM26.4087 22L28.14 23a14.14 14.14 0 001.6382-4.5872L27.81 18.0659A12.1519 12.1519 0 0126.4087 22zM16 30V2a14 14 0 000 28z\"></path></svg>";
18
+ export declare const chevronDownIcon = "<path d=\"M19 9l-7 7-7-7\" />";
@@ -1,17 +1,20 @@
1
- const c = '<path d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />', n = '<path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />', o = '<path d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />', t = '<path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />', a = '<path d="M6 18L18 6M6 6l12 12" />', h = '<path d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" />', M = '<path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" /><path d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z" />', s = '<path d="M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21" />', p = '<path d="M5 12h.01M12 12h.01M19 12h.01M6 12a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0z" />', e = '<path d="M15 19l-7-7 7-7" />', l = '<path d="M9 5l7 7-7 7" />', d = '<path d="M5 13l4 4L19 7" />', I = '<path d="M8 9l4-4 4 4m0 6l-4 4-4-4" />', m = '<line x1="7" y1="17" x2="17" y2="7" /><polyline points="7 7 17 7 17 17" />';
1
+ const t = '<path d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />', c = '<path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />', o = '<path d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />', n = '<path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />', a = '<path d="M6 18L18 6M6 6l12 12" />', M = '<path d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" />', e = '<path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" /><path d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z" />', s = '<path d="M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21" />', h = '<path d="M5 12h.01M12 12h.01M19 12h.01M6 12a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0z" />', l = '<path d="M15 19l-7-7 7-7" />', p = '<path d="M9 5l7 7-7 7" />', v = '<path d="M5 13l4 4L19 7" />', d = '<path d="M8 9l4-4 4 4m0 6l-4 4-4-4" />', m = '<line x1="7" y1="17" x2="17" y2="7" /><polyline points="7 7 17 7 17 17" />', r = '<path d="M7.5 4.21v.01M4.21 7.5v.01M3 12v.01m1.21 4.49v.01m3.29 3.28v.01M12 21v.01m4.5-1.22v.01m3.29-3.3v.01M21 12v.01M19.79 7.5v.01m-3.29-3.3v.01M12 3v.01"/>', I = '<svg focusable="false" preserveAspectRatio="xMidYMid meet" fill="currentColor" viewBox="0 0 32 32" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><path d="M23.7642 6.8593l1.2851-1.5315A13.976 13.976 0 0020.8672 2.887l-.6836 1.8776A11.9729 11.9729 0 0123.7642 6.8593zM27.81 14l1.9677-.4128A13.8888 13.8888 0 0028.14 9.0457L26.4087 10A12.52 12.52 0 0127.81 14zM20.1836 27.2354l.6836 1.8776a13.976 13.976 0 004.1821-2.4408l-1.2851-1.5315A11.9729 11.9729 0 0120.1836 27.2354zM26.4087 22L28.14 23a14.14 14.14 0 001.6382-4.5872L27.81 18.0659A12.1519 12.1519 0 0126.4087 22zM16 30V2a14 14 0 000 28z"></path></svg>', i = '<path d="M19 9l-7 7-7-7" />';
2
2
  export {
3
- h as avatarIcon,
4
- d as checkIcon,
5
- I as chevronDownIcon,
3
+ M as avatarIcon,
4
+ v as checkIcon,
5
+ i as chevronDownIcon,
6
6
  a as closeIcon,
7
- p as dotsIcon,
7
+ h as dotsIcon,
8
8
  o as errorIcon,
9
9
  m as externalIcon,
10
- M as eyeIcon,
10
+ e as eyeIcon,
11
11
  s as eyeVisibleIcon,
12
- c as infoIcon,
13
- l as nextIcon,
14
- e as prevIcon,
15
- n as successIcon,
16
- t as warningIcon
12
+ t as infoIcon,
13
+ p as nextIcon,
14
+ l as prevIcon,
15
+ d as selectIcon,
16
+ I as stepperIncompleteIcon,
17
+ r as stepperPristineIcon,
18
+ c as successIcon,
19
+ n as warningIcon
17
20
  };
@@ -0,0 +1,63 @@
1
+ import { type ExtractPublicPropTypes, type PropType } from 'vue';
2
+ import { type ThemeComponent } from '../../composables/useTheme';
3
+ declare const accordionProps: {
4
+ tag: {
5
+ type: StringConstructor;
6
+ default: string;
7
+ };
8
+ disabled: BooleanConstructor;
9
+ expanded: BooleanConstructor;
10
+ showIcon: {
11
+ type: BooleanConstructor;
12
+ default: boolean;
13
+ };
14
+ icon: StringConstructor;
15
+ iconAlign: PropType<"left" | "right">;
16
+ };
17
+ export type AccordionProps = ExtractPublicPropTypes<typeof accordionProps>;
18
+ export type AccordionInjection = AccordionProps & {
19
+ isInsideAccordion: boolean;
20
+ };
21
+ type InternalClasses = 'wrapper';
22
+ export interface AccordionTheme extends ThemeComponent<AccordionProps, InternalClasses> {
23
+ }
24
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
25
+ tag: {
26
+ type: StringConstructor;
27
+ default: string;
28
+ };
29
+ disabled: BooleanConstructor;
30
+ expanded: BooleanConstructor;
31
+ showIcon: {
32
+ type: BooleanConstructor;
33
+ default: boolean;
34
+ };
35
+ icon: StringConstructor;
36
+ iconAlign: PropType<"left" | "right">;
37
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
38
+ tag: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
42
+ disabled: BooleanConstructor;
43
+ expanded: BooleanConstructor;
44
+ showIcon: {
45
+ type: BooleanConstructor;
46
+ default: boolean;
47
+ };
48
+ icon: StringConstructor;
49
+ iconAlign: PropType<"left" | "right">;
50
+ }>>, {
51
+ disabled: boolean;
52
+ tag: string;
53
+ expanded: boolean;
54
+ showIcon: boolean;
55
+ }, {}>, {
56
+ default?(_: {}): any;
57
+ }>;
58
+ export default _default;
59
+ type __VLS_WithTemplateSlots<T, S> = T & {
60
+ new (): {
61
+ $slots: S;
62
+ };
63
+ };
@@ -0,0 +1,40 @@
1
+ import { defineComponent as a, provide as i, openBlock as l, createElementBlock as d, normalizeStyle as p, unref as e, normalizeClass as m, renderSlot as u } from "vue";
2
+ import { useTheme as f } from "../../composables/useTheme.js";
3
+ import { injectAccordionKey as _ } from "../../composables/keys.js";
4
+ const y = {
5
+ tag: {
6
+ type: String,
7
+ default: "div"
8
+ },
9
+ disabled: Boolean,
10
+ expanded: Boolean,
11
+ showIcon: {
12
+ type: Boolean,
13
+ default: !0
14
+ },
15
+ icon: String,
16
+ iconAlign: String
17
+ }, g = {
18
+ name: "XAccordion",
19
+ validators: {}
20
+ }, h = /* @__PURE__ */ a({
21
+ ...g,
22
+ props: y,
23
+ setup(n) {
24
+ const o = n;
25
+ i(_, { ...o, isInsideAccordion: !0 });
26
+ const { styles: t, classes: r, className: s } = f("Accordion", {}, o);
27
+ return (c, A) => (l(), d("div", {
28
+ style: p(e(t)),
29
+ class: m([
30
+ e(s),
31
+ e(r).wrapper
32
+ ])
33
+ }, [
34
+ u(c.$slots, "default")
35
+ ], 6));
36
+ }
37
+ });
38
+ export {
39
+ h as default
40
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./Accordion.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -1,22 +1,31 @@
1
- import { type ExtractPublicPropTypes } from 'vue';
1
+ import { type ExtractPublicPropTypes, type PropType } from 'vue';
2
2
  import { type ThemeComponent } from '../../composables/useTheme';
3
- declare const collapseProps: {
3
+ declare const accordionItemAlign: readonly ["left", "right"];
4
+ declare const accordionItemProps: {
4
5
  tag: {
5
6
  type: StringConstructor;
6
7
  default: string;
7
8
  };
8
9
  disabled: BooleanConstructor;
9
10
  expanded: BooleanConstructor;
10
- showIcon: BooleanConstructor;
11
+ showIcon: {
12
+ type: BooleanConstructor;
13
+ default: boolean;
14
+ };
11
15
  icon: StringConstructor;
12
- color: {
13
- readonly type: StringConstructor;
14
- readonly default: string | undefined;
16
+ iconAlign: {
17
+ type: PropType<"left" | "right">;
18
+ default: string;
15
19
  };
16
20
  };
17
- export type CollapseProps = ExtractPublicPropTypes<typeof collapseProps>;
21
+ export type AccordionItemAlign = typeof accordionItemAlign[number];
22
+ export type AccordionItemProps = ExtractPublicPropTypes<typeof accordionItemProps>;
18
23
  type InternalClasses = 'wrapper' | 'icon' | 'content';
19
- export interface CollapseTheme extends ThemeComponent<CollapseProps, InternalClasses> {
24
+ type InternalData = {
25
+ collapsed: boolean;
26
+ isInsideAccordion: boolean;
27
+ };
28
+ export interface AccordionItemTheme extends ThemeComponent<AccordionItemProps, InternalClasses, InternalData> {
20
29
  }
21
30
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
22
31
  tag: {
@@ -25,11 +34,14 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
25
34
  };
26
35
  disabled: BooleanConstructor;
27
36
  expanded: BooleanConstructor;
28
- showIcon: BooleanConstructor;
37
+ showIcon: {
38
+ type: BooleanConstructor;
39
+ default: boolean;
40
+ };
29
41
  icon: StringConstructor;
30
- color: {
31
- readonly type: StringConstructor;
32
- readonly default: string | undefined;
42
+ iconAlign: {
43
+ type: PropType<"left" | "right">;
44
+ default: string;
33
45
  };
34
46
  }, {
35
47
  toggle: () => void;
@@ -42,20 +54,23 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
42
54
  };
43
55
  disabled: BooleanConstructor;
44
56
  expanded: BooleanConstructor;
45
- showIcon: BooleanConstructor;
57
+ showIcon: {
58
+ type: BooleanConstructor;
59
+ default: boolean;
60
+ };
46
61
  icon: StringConstructor;
47
- color: {
48
- readonly type: StringConstructor;
49
- readonly default: string | undefined;
62
+ iconAlign: {
63
+ type: PropType<"left" | "right">;
64
+ default: string;
50
65
  };
51
66
  }>> & {
52
67
  onExpand?: ((...args: any[]) => any) | undefined;
53
68
  }, {
54
- color: string;
55
- tag: string;
56
69
  disabled: boolean;
70
+ tag: string;
57
71
  expanded: boolean;
58
72
  showIcon: boolean;
73
+ iconAlign: "left" | "right";
59
74
  }, {}>, {
60
75
  default?(_: {
61
76
  collapsed: boolean;