@indielayer/ui 1.0.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -2
  3. package/{src/exports/nuxt.js → exports/nuxt.mjs} +1 -1
  4. package/{lib → exports}/nuxt.plugin.js +1 -1
  5. package/lib/_virtual/_plugin-vue_export-helper.js +9 -0
  6. package/lib/common/icons.js +18 -0
  7. package/lib/common/utils.d.ts +4 -0
  8. package/lib/common/utils.js +25 -0
  9. package/lib/components/alert/Alert.theme.d.ts +10 -8
  10. package/lib/components/alert/Alert.theme.js +41 -0
  11. package/lib/components/alert/Alert.vue.d.ts +33 -7
  12. package/lib/components/alert/Alert.vue.js +9 -0
  13. package/lib/components/alert/Alert.vue2.js +62 -0
  14. package/lib/components/alert/Alert.vue3.js +8 -0
  15. package/lib/components/alert/index.d.ts +3 -0
  16. package/lib/components/avatar/Avatar.theme.d.ts +13 -7
  17. package/lib/components/avatar/Avatar.theme.js +25 -0
  18. package/lib/components/avatar/Avatar.vue.d.ts +32 -3
  19. package/lib/components/avatar/Avatar.vue.js +9 -0
  20. package/lib/components/avatar/Avatar.vue2.js +76 -0
  21. package/lib/components/avatar/Avatar.vue3.js +7 -0
  22. package/lib/components/avatar/index.d.ts +3 -0
  23. package/lib/components/badge/Badge.theme.d.ts +10 -8
  24. package/lib/components/badge/Badge.theme.js +12 -0
  25. package/lib/components/badge/Badge.vue.d.ts +54 -9
  26. package/lib/components/badge/Badge.vue.js +94 -0
  27. package/lib/components/badge/Badge.vue2.js +4 -0
  28. package/lib/components/badge/index.d.ts +3 -0
  29. package/lib/components/breadcrumbs/Breadcrumbs.theme.d.ts +10 -8
  30. package/lib/components/breadcrumbs/Breadcrumbs.theme.js +10 -0
  31. package/lib/components/breadcrumbs/Breadcrumbs.vue.d.ts +20 -6
  32. package/lib/components/breadcrumbs/Breadcrumbs.vue.js +79 -0
  33. package/lib/components/breadcrumbs/Breadcrumbs.vue2.js +4 -0
  34. package/lib/components/breadcrumbs/index.d.ts +3 -0
  35. package/lib/components/button/Button.theme.d.ts +12 -9
  36. package/lib/components/button/Button.theme.js +138 -0
  37. package/lib/components/button/Button.vue.d.ts +49 -8
  38. package/lib/components/button/Button.vue.js +9 -0
  39. package/lib/components/button/Button.vue2.js +115 -0
  40. package/lib/components/button/Button.vue3.js +8 -0
  41. package/lib/components/button/ButtonGroup.theme.d.ts +12 -5
  42. package/lib/components/button/ButtonGroup.theme.js +8 -0
  43. package/lib/components/button/ButtonGroup.vue.d.ts +44 -6
  44. package/lib/components/button/ButtonGroup.vue.js +9 -0
  45. package/lib/components/button/ButtonGroup.vue2.js +54 -0
  46. package/lib/components/button/ButtonGroup.vue3.js +7 -0
  47. package/lib/components/button/index.d.ts +6 -0
  48. package/lib/components/card/Card.theme.d.ts +10 -7
  49. package/lib/components/card/Card.theme.js +8 -0
  50. package/lib/components/card/Card.vue.d.ts +17 -1
  51. package/lib/components/card/Card.vue.js +31 -0
  52. package/lib/components/card/Card.vue2.js +4 -0
  53. package/lib/components/card/index.d.ts +3 -0
  54. package/lib/components/checkbox/Checkbox.theme.d.ts +13 -10
  55. package/lib/components/checkbox/Checkbox.theme.js +52 -0
  56. package/lib/components/checkbox/Checkbox.vue.d.ts +46 -7
  57. package/lib/components/checkbox/Checkbox.vue.js +9 -0
  58. package/lib/components/checkbox/Checkbox.vue2.js +108 -0
  59. package/lib/components/checkbox/Checkbox.vue3.js +6 -0
  60. package/lib/components/checkbox/index.d.ts +3 -0
  61. package/lib/components/collapse/Collapse.theme.d.ts +10 -9
  62. package/lib/components/collapse/Collapse.theme.js +10 -0
  63. package/lib/components/collapse/Collapse.vue.d.ts +32 -2
  64. package/lib/components/collapse/Collapse.vue.js +132 -0
  65. package/lib/components/collapse/Collapse.vue2.js +4 -0
  66. package/lib/components/collapse/index.d.ts +3 -0
  67. package/lib/components/container/Container.theme.d.ts +10 -6
  68. package/lib/components/container/Container.theme.js +8 -0
  69. package/lib/components/container/Container.vue.d.ts +16 -1
  70. package/lib/components/container/Container.vue.js +30 -0
  71. package/lib/components/container/Container.vue2.js +4 -0
  72. package/lib/components/container/index.d.ts +3 -0
  73. package/lib/components/divider/Divider.theme.d.ts +10 -9
  74. package/lib/components/divider/Divider.theme.js +10 -0
  75. package/lib/components/divider/Divider.vue.d.ts +7 -1
  76. package/lib/components/divider/Divider.vue.js +53 -0
  77. package/lib/components/divider/Divider.vue2.js +4 -0
  78. package/lib/components/divider/index.d.ts +3 -0
  79. package/lib/components/drawer/Drawer.theme.d.ts +10 -7
  80. package/lib/components/drawer/Drawer.theme.js +9 -0
  81. package/lib/components/drawer/Drawer.vue.d.ts +50 -14
  82. package/lib/components/drawer/Drawer.vue.js +171 -0
  83. package/lib/components/drawer/Drawer.vue2.js +4 -0
  84. package/lib/components/drawer/index.d.ts +3 -0
  85. package/lib/components/form/Form.theme.d.ts +10 -6
  86. package/lib/components/form/Form.theme.js +8 -0
  87. package/lib/components/form/Form.vue.d.ts +34 -6
  88. package/lib/components/form/Form.vue.js +79 -0
  89. package/lib/components/form/Form.vue2.js +4 -0
  90. package/lib/components/form/index.d.ts +3 -0
  91. package/lib/components/helpers/InputError.d.ts +2 -2
  92. package/lib/components/helpers/InputError.js +18 -0
  93. package/lib/components/icon/Icon.theme.d.ts +10 -7
  94. package/lib/components/icon/Icon.theme.js +11 -0
  95. package/lib/components/icon/Icon.vue.d.ts +22 -4
  96. package/lib/components/icon/Icon.vue.js +74 -0
  97. package/lib/components/icon/Icon.vue2.js +4 -0
  98. package/lib/components/icon/index.d.ts +3 -0
  99. package/lib/components/image/Image.theme.d.ts +10 -6
  100. package/lib/components/image/Image.theme.js +8 -0
  101. package/lib/components/image/Image.vue.d.ts +6 -1
  102. package/lib/components/image/Image.vue.js +32 -0
  103. package/lib/components/image/Image.vue2.js +4 -0
  104. package/lib/components/image/index.d.ts +3 -0
  105. package/lib/components/index.d.ts +35 -45
  106. package/lib/components/index.js +92 -0
  107. package/lib/components/input/Input.theme.d.ts +12 -10
  108. package/lib/components/input/Input.theme.js +21 -0
  109. package/lib/components/input/Input.vue.d.ts +73 -22
  110. package/lib/components/input/Input.vue.js +140 -0
  111. package/lib/components/input/Input.vue2.js +4 -0
  112. package/lib/components/input/index.d.ts +3 -0
  113. package/lib/components/link/Link.theme.d.ts +10 -8
  114. package/lib/components/link/Link.theme.js +25 -0
  115. package/lib/components/link/Link.vue.d.ts +25 -2
  116. package/lib/components/link/Link.vue.js +9 -0
  117. package/lib/components/link/Link.vue2.js +48 -0
  118. package/lib/components/link/Link.vue3.js +8 -0
  119. package/lib/components/link/index.d.ts +3 -0
  120. package/lib/components/menu/Menu.theme.d.ts +10 -6
  121. package/lib/components/menu/Menu.theme.js +8 -0
  122. package/lib/components/menu/Menu.vue.d.ts +62 -9
  123. package/lib/components/menu/Menu.vue.js +133 -0
  124. package/lib/components/menu/Menu.vue2.js +4 -0
  125. package/lib/components/menu/MenuItem.theme.d.ts +13 -7
  126. package/lib/components/menu/MenuItem.theme.js +86 -0
  127. package/lib/components/menu/MenuItem.vue.d.ts +63 -14
  128. package/lib/components/menu/MenuItem.vue.js +9 -0
  129. package/lib/components/menu/MenuItem.vue2.js +143 -0
  130. package/lib/components/menu/MenuItem.vue3.js +7 -0
  131. package/lib/components/menu/index.d.ts +6 -0
  132. package/lib/components/modal/Modal.theme.d.ts +10 -13
  133. package/lib/components/modal/Modal.theme.js +17 -0
  134. package/lib/components/modal/Modal.vue.d.ts +24 -2
  135. package/lib/components/modal/Modal.vue.js +127 -0
  136. package/lib/components/modal/Modal.vue2.js +4 -0
  137. package/lib/components/modal/index.d.ts +3 -0
  138. package/lib/components/notifications/Notifications.theme.d.ts +10 -8
  139. package/lib/components/notifications/Notifications.theme.js +10 -0
  140. package/lib/components/notifications/Notifications.vue.d.ts +56 -16
  141. package/lib/components/notifications/Notifications.vue.js +234 -0
  142. package/lib/components/notifications/Notifications.vue2.js +4 -0
  143. package/lib/components/notifications/index.d.ts +3 -0
  144. package/lib/components/pagination/Pagination.theme.d.ts +10 -9
  145. package/lib/components/pagination/Pagination.theme.js +13 -0
  146. package/lib/components/pagination/Pagination.vue.d.ts +28 -5
  147. package/lib/components/pagination/Pagination.vue.js +131 -0
  148. package/lib/components/pagination/Pagination.vue2.js +4 -0
  149. package/lib/components/pagination/PaginationItem.theme.d.ts +10 -7
  150. package/lib/components/pagination/PaginationItem.theme.js +8 -0
  151. package/lib/components/pagination/PaginationItem.vue.d.ts +17 -2
  152. package/lib/components/pagination/PaginationItem.vue.js +48 -0
  153. package/lib/components/pagination/PaginationItem.vue2.js +4 -0
  154. package/lib/components/pagination/index.d.ts +6 -0
  155. package/lib/components/popover/Popover.theme.d.ts +10 -7
  156. package/lib/components/popover/Popover.theme.js +9 -0
  157. package/lib/components/popover/Popover.vue.d.ts +48 -10
  158. package/lib/components/popover/Popover.vue.js +9 -0
  159. package/lib/components/popover/Popover.vue2.js +106 -0
  160. package/lib/components/popover/Popover.vue3.js +15 -0
  161. package/lib/components/popover/PopoverContainer.theme.d.ts +10 -6
  162. package/lib/components/popover/PopoverContainer.theme.js +8 -0
  163. package/lib/components/popover/PopoverContainer.vue.d.ts +16 -1
  164. package/lib/components/popover/PopoverContainer.vue.js +30 -0
  165. package/lib/components/popover/PopoverContainer.vue2.js +4 -0
  166. package/lib/components/popover/index.d.ts +6 -0
  167. package/lib/components/progress/Progress.theme.d.ts +10 -10
  168. package/lib/components/progress/Progress.theme.js +18 -0
  169. package/lib/components/progress/Progress.vue.d.ts +21 -2
  170. package/lib/components/progress/Progress.vue.js +51 -0
  171. package/lib/components/progress/Progress.vue2.js +4 -0
  172. package/lib/components/progress/index.d.ts +3 -0
  173. package/lib/components/radio/Radio.theme.d.ts +13 -11
  174. package/lib/components/radio/Radio.theme.js +67 -0
  175. package/lib/components/radio/Radio.vue.d.ts +48 -9
  176. package/lib/components/radio/Radio.vue.js +9 -0
  177. package/lib/components/radio/Radio.vue2.js +117 -0
  178. package/lib/components/radio/Radio.vue3.js +10 -0
  179. package/lib/components/radio/index.d.ts +3 -0
  180. package/lib/components/scroll/Scroll.theme.d.ts +10 -6
  181. package/lib/components/scroll/Scroll.theme.js +8 -0
  182. package/lib/components/scroll/Scroll.vue.d.ts +20 -2
  183. package/lib/components/scroll/Scroll.vue.js +9 -0
  184. package/lib/components/scroll/Scroll.vue2.js +64 -0
  185. package/lib/components/scroll/Scroll.vue3.js +17 -0
  186. package/lib/components/scroll/index.d.ts +3 -0
  187. package/lib/components/select/Select.theme.d.ts +13 -12
  188. package/lib/components/select/Select.theme.js +23 -0
  189. package/lib/components/select/Select.vue.d.ts +44 -8
  190. package/lib/components/select/Select.vue.js +269 -0
  191. package/lib/components/select/Select.vue2.js +4 -0
  192. package/lib/components/select/index.d.ts +3 -0
  193. package/lib/components/skeleton/Skeleton.theme.d.ts +10 -6
  194. package/lib/components/skeleton/Skeleton.theme.js +8 -0
  195. package/lib/components/skeleton/Skeleton.vue.d.ts +9 -1
  196. package/lib/components/skeleton/Skeleton.vue.js +30 -0
  197. package/lib/components/skeleton/Skeleton.vue2.js +4 -0
  198. package/lib/components/skeleton/index.d.ts +3 -0
  199. package/lib/components/slider/Slider.theme.d.ts +10 -10
  200. package/lib/components/slider/Slider.theme.js +20 -0
  201. package/lib/components/slider/Slider.vue.d.ts +55 -7
  202. package/lib/components/slider/Slider.vue.js +148 -0
  203. package/lib/components/slider/Slider.vue2.js +4 -0
  204. package/lib/components/slider/index.d.ts +2 -0
  205. package/lib/components/spacer/Spacer.d.ts +1 -1
  206. package/lib/components/spacer/Spacer.js +12 -0
  207. package/lib/components/spacer/index.d.ts +1 -0
  208. package/lib/components/spinner/Spinner.vue.d.ts +14 -1
  209. package/lib/components/spinner/Spinner.vue.js +28 -0
  210. package/lib/components/spinner/Spinner.vue2.js +4 -0
  211. package/lib/components/spinner/index.d.ts +2 -0
  212. package/lib/components/tab/Tab.theme.d.ts +12 -9
  213. package/lib/components/tab/Tab.theme.js +13 -0
  214. package/lib/components/tab/Tab.vue.d.ts +44 -9
  215. package/lib/components/tab/Tab.vue.js +129 -0
  216. package/lib/components/tab/Tab.vue2.js +4 -0
  217. package/lib/components/tab/TabGroup.theme.d.ts +10 -10
  218. package/lib/components/tab/TabGroup.theme.js +27 -0
  219. package/lib/components/tab/TabGroup.vue.d.ts +61 -9
  220. package/lib/components/tab/TabGroup.vue.js +133 -0
  221. package/lib/components/tab/TabGroup.vue2.js +4 -0
  222. package/lib/components/tab/index.d.ts +4 -0
  223. package/lib/components/table/Table.theme.d.ts +10 -8
  224. package/lib/components/table/Table.theme.js +12 -0
  225. package/lib/components/table/Table.vue.d.ts +269 -51
  226. package/lib/components/table/Table.vue.js +147 -0
  227. package/lib/components/table/Table.vue2.js +4 -0
  228. package/lib/components/table/TableBody.d.ts +1 -1
  229. package/lib/components/table/TableBody.js +15 -0
  230. package/lib/components/table/TableCell.theme.d.ts +10 -7
  231. package/lib/components/table/TableCell.theme.js +11 -0
  232. package/lib/components/table/TableCell.vue.d.ts +35 -6
  233. package/lib/components/table/TableCell.vue.js +43 -0
  234. package/lib/components/table/TableCell.vue2.js +4 -0
  235. package/lib/components/table/TableHead.d.ts +1 -1
  236. package/lib/components/table/TableHead.js +19 -0
  237. package/lib/components/table/TableHeader.vue.d.ts +34 -9
  238. package/lib/components/table/TableHeader.vue.js +78 -0
  239. package/lib/components/table/TableHeader.vue2.js +4 -0
  240. package/lib/components/table/TableRow.vue.d.ts +8 -1
  241. package/lib/components/table/TableRow.vue.js +32 -0
  242. package/lib/components/table/TableRow.vue2.js +4 -0
  243. package/lib/components/table/index.d.ts +9 -0
  244. package/lib/components/tag/Tag.theme.d.ts +10 -9
  245. package/lib/components/tag/Tag.theme.js +23 -0
  246. package/lib/components/tag/Tag.vue.d.ts +31 -4
  247. package/lib/components/tag/Tag.vue.js +61 -0
  248. package/lib/components/tag/Tag.vue2.js +4 -0
  249. package/lib/components/tag/index.d.ts +2 -0
  250. package/lib/components/textarea/Textarea.theme.d.ts +13 -9
  251. package/lib/components/textarea/Textarea.theme.js +16 -0
  252. package/lib/components/textarea/Textarea.vue.d.ts +59 -17
  253. package/lib/components/textarea/Textarea.vue.js +110 -0
  254. package/lib/components/textarea/Textarea.vue2.js +4 -0
  255. package/lib/components/textarea/index.d.ts +2 -0
  256. package/lib/components/toggle/Toggle.theme.d.ts +10 -11
  257. package/lib/components/toggle/Toggle.theme.js +29 -0
  258. package/lib/components/toggle/Toggle.vue.d.ts +39 -7
  259. package/lib/components/toggle/Toggle.vue.js +110 -0
  260. package/lib/components/toggle/Toggle.vue2.js +4 -0
  261. package/lib/components/toggle/index.d.ts +2 -0
  262. package/lib/components/tooltip/Tooltip.vue.d.ts +12 -1
  263. package/lib/components/tooltip/Tooltip.vue.js +27 -0
  264. package/lib/components/tooltip/Tooltip.vue2.js +4 -0
  265. package/lib/components/tooltip/index.d.ts +2 -0
  266. package/lib/composables/colors-utils.js +19 -0
  267. package/lib/composables/colors.d.ts +6 -4
  268. package/lib/composables/colors.js +52 -0
  269. package/lib/composables/common.d.ts +1 -1
  270. package/lib/composables/common.js +17 -0
  271. package/lib/composables/css.d.ts +1 -1
  272. package/lib/composables/css.js +26 -0
  273. package/lib/composables/inputtable.d.ts +4 -4
  274. package/lib/composables/inputtable.js +78 -0
  275. package/lib/composables/interactive.js +17 -0
  276. package/lib/composables/keys.d.ts +6 -3
  277. package/lib/composables/keys.js +10 -0
  278. package/lib/composables/notifications.d.ts +1 -1
  279. package/lib/composables/notifications.js +9 -0
  280. package/lib/composables/theme.d.ts +13 -7
  281. package/lib/composables/theme.js +59 -0
  282. package/lib/create.d.ts +1 -1
  283. package/lib/create.js +19 -0
  284. package/lib/index.js +121 -0
  285. package/lib/index.umd.js +1 -0
  286. package/lib/install.js +10 -0
  287. package/lib/node_modules/.pnpm/@vueuse_core@10.2.0_vue@3.3.4/node_modules/@vueuse/core/index.js +379 -0
  288. package/lib/node_modules/.pnpm/@vueuse_shared@10.2.0_vue@3.3.4/node_modules/@vueuse/shared/index.js +90 -0
  289. package/lib/version.d.ts +1 -1
  290. package/lib/version.js +4 -0
  291. package/package.json +54 -54
  292. package/src/common/utils.ts +25 -2
  293. package/src/components/alert/Alert.theme.ts +15 -6
  294. package/src/components/alert/Alert.vue +26 -13
  295. package/src/components/alert/index.ts +3 -0
  296. package/src/components/avatar/Avatar.theme.ts +16 -4
  297. package/src/components/avatar/Avatar.vue +20 -15
  298. package/src/components/avatar/index.ts +3 -0
  299. package/src/components/badge/Badge.theme.ts +13 -3
  300. package/src/components/badge/Badge.vue +30 -15
  301. package/src/components/badge/index.ts +3 -0
  302. package/src/components/breadcrumbs/Breadcrumbs.theme.ts +12 -2
  303. package/src/components/breadcrumbs/Breadcrumbs.vue +24 -21
  304. package/src/components/breadcrumbs/index.ts +3 -0
  305. package/src/components/button/Button.theme.ts +23 -19
  306. package/src/components/button/Button.vue +30 -19
  307. package/src/components/button/ButtonGroup.theme.ts +14 -1
  308. package/src/components/button/ButtonGroup.vue +33 -19
  309. package/src/components/button/index.ts +7 -0
  310. package/src/components/card/Card.theme.ts +13 -3
  311. package/src/components/card/Card.vue +12 -7
  312. package/src/components/card/index.ts +3 -0
  313. package/src/components/checkbox/Checkbox.theme.ts +19 -7
  314. package/src/components/checkbox/Checkbox.vue +21 -12
  315. package/src/components/checkbox/index.ts +3 -0
  316. package/src/components/collapse/Collapse.theme.ts +13 -3
  317. package/src/components/collapse/Collapse.vue +28 -24
  318. package/src/components/collapse/index.ts +3 -0
  319. package/src/components/container/Container.theme.ts +12 -2
  320. package/src/components/container/Container.vue +11 -6
  321. package/src/components/container/index.ts +3 -0
  322. package/src/components/divider/Divider.theme.ts +13 -3
  323. package/src/components/divider/Divider.vue +9 -4
  324. package/src/components/divider/index.ts +3 -0
  325. package/src/components/drawer/Drawer.theme.ts +12 -2
  326. package/src/components/drawer/Drawer.vue +50 -41
  327. package/src/components/drawer/index.ts +3 -0
  328. package/src/components/form/Form.theme.ts +12 -2
  329. package/src/components/form/Form.vue +40 -31
  330. package/src/components/form/index.ts +3 -0
  331. package/src/components/helpers/InputError.tsx +2 -2
  332. package/src/components/icon/Icon.theme.ts +13 -3
  333. package/src/components/icon/Icon.vue +24 -15
  334. package/src/components/icon/__tests__/Icon.spec.ts +5 -1
  335. package/src/components/icon/index.ts +3 -0
  336. package/src/components/image/Image.theme.ts +12 -2
  337. package/src/components/image/Image.vue +8 -4
  338. package/src/components/image/index.ts +3 -0
  339. package/src/components/index.ts +35 -45
  340. package/src/components/input/Input.theme.ts +17 -6
  341. package/src/components/input/Input.vue +33 -22
  342. package/src/components/input/index.ts +3 -0
  343. package/src/components/link/Link.theme.ts +13 -3
  344. package/src/components/link/Link.vue +20 -12
  345. package/src/components/link/index.ts +3 -0
  346. package/src/components/menu/Menu.theme.ts +12 -2
  347. package/src/components/menu/Menu.vue +59 -23
  348. package/src/components/menu/MenuItem.theme.ts +17 -5
  349. package/src/components/menu/MenuItem.vue +65 -52
  350. package/src/components/menu/index.ts +7 -0
  351. package/src/components/modal/Modal.theme.ts +13 -3
  352. package/src/components/modal/Modal.vue +23 -12
  353. package/src/components/modal/index.ts +3 -0
  354. package/src/components/notifications/Notifications.theme.ts +12 -2
  355. package/src/components/notifications/Notifications.vue +53 -49
  356. package/src/components/notifications/index.ts +9 -0
  357. package/src/components/pagination/Pagination.theme.ts +15 -5
  358. package/src/components/pagination/Pagination.vue +24 -18
  359. package/src/components/pagination/PaginationItem.theme.ts +13 -3
  360. package/src/components/pagination/PaginationItem.vue +14 -10
  361. package/src/components/pagination/index.ts +7 -0
  362. package/src/components/popover/Popover.theme.ts +12 -2
  363. package/src/components/popover/Popover.vue +56 -46
  364. package/src/components/popover/PopoverContainer.theme.ts +12 -2
  365. package/src/components/popover/PopoverContainer.vue +11 -6
  366. package/src/components/popover/index.ts +7 -0
  367. package/src/components/progress/Progress.theme.ts +14 -4
  368. package/src/components/progress/Progress.vue +16 -16
  369. package/src/components/progress/index.ts +3 -0
  370. package/src/components/radio/Radio.theme.ts +19 -7
  371. package/src/components/radio/Radio.vue +24 -14
  372. package/src/components/radio/index.ts +3 -0
  373. package/src/components/scroll/Scroll.theme.ts +12 -2
  374. package/src/components/scroll/Scroll.vue +37 -26
  375. package/src/components/scroll/index.ts +3 -0
  376. package/src/components/select/Select.theme.ts +20 -6
  377. package/src/components/select/Select.vue +28 -20
  378. package/src/components/select/index.ts +3 -0
  379. package/src/components/skeleton/Skeleton.theme.ts +12 -2
  380. package/src/components/skeleton/Skeleton.vue +11 -6
  381. package/src/components/skeleton/index.ts +3 -0
  382. package/src/components/slider/Slider.theme.ts +14 -4
  383. package/src/components/slider/Slider.vue +24 -16
  384. package/src/components/slider/index.ts +2 -0
  385. package/src/components/spacer/index.ts +1 -0
  386. package/src/components/spinner/Spinner.vue +18 -8
  387. package/src/components/spinner/index.ts +2 -0
  388. package/src/components/tab/Tab.theme.ts +15 -3
  389. package/src/components/tab/Tab.vue +85 -68
  390. package/src/components/tab/TabGroup.theme.ts +15 -5
  391. package/src/components/tab/TabGroup.vue +67 -22
  392. package/src/components/tab/index.ts +5 -0
  393. package/src/components/table/Table.theme.ts +14 -4
  394. package/src/components/table/Table.vue +41 -31
  395. package/src/components/table/TableCell.theme.ts +13 -3
  396. package/src/components/table/TableCell.vue +22 -16
  397. package/src/components/table/TableHeader.vue +20 -17
  398. package/src/components/table/TableRow.vue +1 -1
  399. package/src/components/table/index.ts +10 -0
  400. package/src/components/tag/Tag.theme.ts +14 -4
  401. package/src/components/tag/Tag.vue +22 -13
  402. package/src/components/tag/index.ts +2 -0
  403. package/src/components/textarea/Textarea.theme.ts +18 -30
  404. package/src/components/textarea/Textarea.vue +28 -19
  405. package/src/components/textarea/index.ts +2 -0
  406. package/src/components/toggle/Toggle.theme.ts +16 -6
  407. package/src/components/toggle/Toggle.vue +21 -12
  408. package/src/components/toggle/index.ts +2 -0
  409. package/src/components/tooltip/Tooltip.vue +5 -0
  410. package/src/components/tooltip/index.ts +2 -0
  411. package/src/composables/colors-utils.ts +4 -346
  412. package/src/composables/colors.ts +21 -17
  413. package/src/composables/common.ts +1 -1
  414. package/src/composables/css.ts +4 -4
  415. package/src/composables/inputtable.ts +8 -8
  416. package/src/composables/interactive.ts +2 -2
  417. package/src/composables/keys.ts +6 -3
  418. package/src/composables/theme.ts +30 -27
  419. package/src/create.ts +6 -7
  420. package/src/version.ts +1 -1
  421. package/volar.d.ts +0 -2
  422. package/lib/components/tooltip/Tooltip.theme.d.ts +0 -11
  423. package/lib/index.cjs.js +0 -1
  424. package/lib/index.es.js +0 -7184
  425. package/lib/nuxt.js +0 -33
  426. package/src/components/tooltip/Tooltip.theme.ts +0 -51
  427. package/src/exports/nuxt.plugin.js +0 -8
  428. package/src/exports/tailwind.preset.js +0 -55
  429. /package/{lib → exports}/tailwind.preset.js +0 -0
@@ -1,23 +1,27 @@
1
1
  <script lang="ts">
2
+ const scrollProps = {
3
+ shadow: Boolean,
4
+ horizontal: Boolean,
5
+ mousewheel: Boolean,
6
+ scrollbar: {
7
+ type: Boolean,
8
+ default: true,
9
+ },
10
+ }
11
+
12
+ export type ScrollProps = ExtractPublicPropTypes<typeof scrollProps>
13
+
2
14
  export default { name: 'XScroll' }
3
15
  </script>
4
16
 
5
17
  <script setup lang="ts">
6
- import { ref, toRefs } from 'vue'
18
+ import { ref, toRefs, type ExtractPublicPropTypes } from 'vue'
7
19
  import { useScroll, useResizeObserver, useEventListener } from '@vueuse/core'
8
20
  import { useTheme } from '../../composables/theme'
9
21
 
10
22
  import theme from './Scroll.theme'
11
23
 
12
- const props = defineProps({
13
- shadow: Boolean,
14
- horizontal: Boolean,
15
- mousewheel: Boolean,
16
- scrollbar: {
17
- type: Boolean,
18
- default: true,
19
- },
20
- })
24
+ const props = defineProps(scrollProps)
21
25
 
22
26
  const scrollEl = ref<HTMLElement | null>(null)
23
27
 
@@ -48,7 +52,7 @@ const { styles, classes, className } = useTheme('scroll', theme, props)
48
52
  :class="[
49
53
  className,
50
54
  classes.wrapper,
51
- $style.scrollWrap,
55
+ $style.scrollwrap,
52
56
  horizontal ? [
53
57
  $style.horizontal,
54
58
  {
@@ -70,7 +74,7 @@ const { styles, classes, className } = useTheme('scroll', theme, props)
70
74
  :class="[
71
75
  [horizontal ? 'overflow-x-auto' : 'overflow-y-auto'],
72
76
  {
73
- [$style.hideScroll]: !scrollbar,
77
+ [$style.hidescroll]: !scrollbar,
74
78
  }
75
79
  ]"
76
80
  >
@@ -80,60 +84,67 @@ const { styles, classes, className } = useTheme('scroll', theme, props)
80
84
  </template>
81
85
 
82
86
  <style lang="postcss" module>
83
- .scrollWrap {
84
- &:before, &:after {
87
+ .scrollwrap {
88
+ &::before,
89
+ &::after {
85
90
  content: "";
86
91
  pointer-events: none;
87
92
  position: absolute;
88
93
  z-index: 1;
89
- transition: box-shadow .2s;
94
+ transition: box-shadow 0.2s;
90
95
  }
91
96
 
92
- &.horizontal:before, &.horizontal:after {
97
+ &.horizontal::before,
98
+ &.horizontal::after {
93
99
  top: 0;
94
100
  bottom: 0;
95
101
  width: 20px;
96
102
  }
97
103
 
98
- &.vertical:before, &.vertical:after {
104
+ &.vertical::before,
105
+ &.vertical::after {
99
106
  right: 0;
100
107
  left: 0;
101
108
  height: 20px;
102
109
  }
103
110
 
104
- &.horizontal:before {
111
+ &.horizontal::before {
105
112
  left: 0;
106
113
  }
107
- &.horizontal:after {
114
+
115
+ &.horizontal::after {
108
116
  right: 0;
109
117
  }
110
- &.vertical:before {
118
+
119
+ &.vertical::before {
111
120
  top: 0;
112
121
  }
113
- &.vertical:after {
122
+
123
+ &.vertical::after {
114
124
  bottom: 0;
115
125
  }
116
126
 
117
- &.shadow-left:before {
127
+ &.shadow-left::before {
118
128
  box-shadow: inset 12px 0 10px -10px rgb(0 0 0 / 7%);
119
129
  }
120
130
 
121
- &.shadow-right:after {
131
+ &.shadow-right::after {
122
132
  box-shadow: inset -12px 0 10px -10px rgb(0 0 0 / 7%);
123
133
  }
124
134
 
125
- &.shadow-top:before {
135
+ &.shadow-top::before {
126
136
  box-shadow: inset 0 12px 10px -10px rgb(0 0 0 / 7%);
127
137
  }
128
138
 
129
- &.shadow-bottom:after {
139
+ &.shadow-bottom::after {
130
140
  box-shadow: inset 0 -12px 10px -10px rgb(0 0 0 / 7%);
131
141
  }
132
142
  }
133
143
 
134
- .hideScroll {
144
+ .hidescroll {
135
145
  -ms-overflow-style: auto;
136
146
  scrollbar-width: none;
147
+
137
148
  &::-webkit-scrollbar {
138
149
  display: none;
139
150
  }
@@ -0,0 +1,3 @@
1
+ export { default as XScroll } from './Scroll.vue'
2
+ export type { ScrollProps } from './Scroll.vue'
3
+ export type { ScrollTheme } from './Scroll.theme'
@@ -1,10 +1,22 @@
1
- import type { ThemeParams } from '../../composables/theme'
1
+ import type { Ref } from 'vue'
2
+ import type { ThemeClasses, ThemeComponent } from '../../composables/theme'
3
+ import type { SelectProps } from './Select.vue'
2
4
 
3
- export default {
5
+ type InternalClasses = 'wrapper' | 'label' | 'box' | 'content' | 'iconWrapper' | 'icon'
6
+ type InternalExtraData = {
7
+ errorInternal: Ref<boolean>;
8
+ }
9
+
10
+ interface InternalTheme extends ThemeComponent<SelectProps, InternalClasses, InternalExtraData> {}
11
+ export interface SelectTheme extends Omit<InternalTheme, 'classes'> {
12
+ classes?: Partial<ThemeClasses<SelectProps, InternalClasses, InternalExtraData>>;
13
+ }
14
+
15
+ const theme: InternalTheme = {
4
16
  classes: {
5
17
  wrapper: 'inline-block align-bottom text-left focus:outline-none',
6
18
 
7
- label: ({ props }: ThemeParams) => {
19
+ label: ({ props }) => {
8
20
  let c = 'font-medium text-gray-800 dark:text-gray-200 mb-1'
9
21
 
10
22
  if (props.size === 'xs') c += ' text-xs'
@@ -15,7 +27,7 @@ export default {
15
27
  return c
16
28
  },
17
29
 
18
- box: ({ props, data }: ThemeParams) => {
30
+ box: ({ props, data }) => {
19
31
  let c = 'w-full border border-gray-300 dark:border-gray-700 pr-8 outline-transparent outline outline-2 outline-offset-[-1px] transition-all duration-150 ease-in-out rounded-md shadow-sm'
20
32
 
21
33
  if (!data.errorInternal && !props.disabled) c += ' hover:border-gray-400 dark:hover:border-gray-500'
@@ -37,7 +49,7 @@ export default {
37
49
 
38
50
  iconWrapper: 'pointer-events-none absolute inset-y-0 right-0 flex items-center px-2',
39
51
 
40
- icon: ({ props }: ThemeParams) => {
52
+ icon: ({ props }) => {
41
53
  if (props.size === 'sm' || props.size === 'xs') return 'h-3 w-3'
42
54
  else if (props.size === 'lg') return 'h-6 w-6'
43
55
  else if (props.size === 'xl') return 'h-7 w-7'
@@ -46,9 +58,11 @@ export default {
46
58
  },
47
59
  },
48
60
 
49
- styles: ({ props, colors, css }: ThemeParams) => {
61
+ styles: ({ props, colors, css }) => {
50
62
  const color = colors.getPalette('primary')
51
63
 
52
64
  return css.get('border', color[500])
53
65
  },
54
66
  }
67
+
68
+ export default theme
@@ -1,9 +1,34 @@
1
1
  <script lang="ts">
2
- export default { name: 'XSelect' }
2
+ const selectProps = {
3
+ ...useCommon.props(),
4
+ ...useInteractive.props(),
5
+ ...useInputtable.props(),
6
+ placeholder: String,
7
+ options: Array as PropType<SelectOption[]>,
8
+ multiple: Boolean,
9
+ label: String,
10
+ helper: String,
11
+ flat: Boolean,
12
+ }
13
+
14
+ export type SelectOption = {
15
+ value: number | string;
16
+ disabled: boolean;
17
+ label: string;
18
+ }
19
+
20
+ export type SelectProps = ExtractPublicPropTypes<typeof selectProps>
21
+
22
+ export default {
23
+ name: 'XSelect',
24
+ validators: {
25
+ ...useCommon.validators(),
26
+ },
27
+ }
3
28
  </script>
4
29
 
5
30
  <script setup lang="ts">
6
- import { computed, ref, watch, type PropType } from 'vue'
31
+ import { computed, ref, watch, type PropType, type ExtractPublicPropTypes } from 'vue'
7
32
  import { useEventListener } from '@vueuse/core'
8
33
  import { useCommon } from '../../composables/common'
9
34
  import { useInputtable } from '../../composables/inputtable'
@@ -21,23 +46,7 @@ import XInputError from '../helpers/InputError'
21
46
 
22
47
  import theme from './Select.theme'
23
48
 
24
- export type SelectOption = {
25
- value: number | string,
26
- disabled: boolean,
27
- label: string
28
- }
29
-
30
- const props = defineProps({
31
- ...useCommon.props(),
32
- ...useInteractive.props(),
33
- ...useInputtable.props(),
34
- placeholder: String,
35
- options: Array as PropType<Array<SelectOption>>,
36
- multiple: Boolean,
37
- label: String,
38
- helper: String,
39
- flat: Boolean,
40
- })
49
+ const props = defineProps(selectProps)
41
50
 
42
51
  const emit = defineEmits(useInputtable.emits())
43
52
 
@@ -321,7 +330,6 @@ defineExpose({ focus, blur, reset, validate, setError })
321
330
  :disabled="disabled || loading"
322
331
  :multiple="multiple"
323
332
  :readonly="readonly"
324
- :value="modelValue"
325
333
  v-on="inputListeners"
326
334
  >
327
335
  <option
@@ -0,0 +1,3 @@
1
+ export { default as XSelect } from './Select.vue'
2
+ export type { SelectProps, SelectOption } from './Select.vue'
3
+ export type { SelectTheme } from './Select.theme'
@@ -1,7 +1,17 @@
1
- import type { ThemeParams } from '../../composables/theme'
1
+ import type { ThemeClasses, ThemeComponent } from '../../composables/theme'
2
+ import type { SkeletonProps } from './Skeleton.vue'
2
3
 
3
- export default {
4
+ type InternalClasses = 'wrapper'
5
+
6
+ interface InternalTheme extends ThemeComponent<SkeletonProps, InternalClasses> {}
7
+ export interface SkeletonTheme extends Omit<InternalTheme, 'classes'> {
8
+ classes?: Partial<ThemeClasses<SkeletonProps, InternalClasses>>;
9
+ }
10
+
11
+ const theme: InternalTheme = {
4
12
  classes: {
5
13
  wrapper: 'animate-pulse bg-gray-300 dark:bg-gray-600 rounded-md',
6
14
  },
7
15
  }
16
+
17
+ export default theme
@@ -1,18 +1,23 @@
1
1
  <script lang="ts">
2
+ const skeletonProps = {
3
+ tag: {
4
+ type: String,
5
+ default: 'div',
6
+ },
7
+ }
8
+
9
+ export type SkeletonProps = ExtractPublicPropTypes<typeof skeletonProps>
10
+
2
11
  export default { name: 'XSkeleton' }
3
12
  </script>
4
13
 
5
14
  <script setup lang="ts">
15
+ import type { ExtractPublicPropTypes } from 'vue'
6
16
  import { useTheme } from '../../composables/theme'
7
17
 
8
18
  import theme from './Skeleton.theme'
9
19
 
10
- const props = defineProps({
11
- tag: {
12
- type: String,
13
- default: 'div',
14
- },
15
- })
20
+ const props = defineProps(skeletonProps)
16
21
 
17
22
  const { styles, classes, className } = useTheme('skeleton', theme, props)
18
23
  </script>
@@ -0,0 +1,3 @@
1
+ export { default as XSkeleton } from './Skeleton.vue'
2
+ export type { SkeletonProps } from './Skeleton.vue'
3
+ export type { SkeletonTheme } from './Skeleton.theme'
@@ -1,10 +1,18 @@
1
- import type { ThemeParams } from '../../composables/theme'
1
+ import type { ThemeClasses, ThemeComponent } from '../../composables/theme'
2
+ import type { SliderProps } from './Slider.vue'
2
3
 
3
- export default {
4
+ type InternalClasses = 'wrapper' | 'label' | 'drag'
5
+
6
+ interface InternalTheme extends ThemeComponent<SliderProps, InternalClasses> {}
7
+ export interface SliderTheme extends Omit<InternalTheme, 'classes'> {
8
+ classes?: Partial<ThemeClasses<SliderProps, InternalClasses>>;
9
+ }
10
+
11
+ const theme: InternalTheme = {
4
12
  classes: {
5
13
  wrapper: 'inline-block align-bottom text-left focus:outline-none',
6
14
 
7
- label: ({ props }: ThemeParams) => {
15
+ label: ({ props }) => {
8
16
  let c = 'font-medium text-gray-800 dark:text-gray-200 mb-1'
9
17
 
10
18
  if (props.size === 'xs') c += ' text-xs'
@@ -18,7 +26,7 @@ export default {
18
26
  drag: 'w-[20px] h-[20px] -mt-[13px] -ml-[10px] rounded-full bg-white border shadow-sm',
19
27
  },
20
28
 
21
- styles: ({ props, colors, css }: ThemeParams) => {
29
+ styles: ({ props, colors, css }) => {
22
30
  const primary = colors.getPalette('primary')
23
31
  const color = colors.getPalette(props.color)
24
32
 
@@ -28,3 +36,5 @@ export default {
28
36
  })
29
37
  },
30
38
  }
39
+
40
+ export default theme
@@ -1,9 +1,30 @@
1
1
  <script lang="ts">
2
- export default { name: 'XSlider' }
2
+ const sliderProps = {
3
+ ...useCommon.props(),
4
+ ...useColors.props('primary'),
5
+ ...useInteractive.props(),
6
+ ...useInputtable.props(),
7
+ label: String,
8
+ min: Number,
9
+ max: Number,
10
+ step: {
11
+ type: Number,
12
+ default: 1,
13
+ },
14
+ gradient: Boolean,
15
+ }
16
+
17
+ export type SliderProps = ExtractPublicPropTypes<typeof sliderProps>
18
+ export default {
19
+ name: 'XSlider',
20
+ validators: {
21
+ ...useCommon.validators(),
22
+ },
23
+ }
3
24
  </script>
4
25
 
5
26
  <script setup lang="ts">
6
- import { computed, ref, watch } from 'vue'
27
+ import { computed, ref, watch, type ExtractPublicPropTypes } from 'vue'
7
28
  import { useEventListener } from '@vueuse/core'
8
29
  import { useCommon } from '../../composables/common'
9
30
  import { useColors } from '../../composables/colors'
@@ -15,20 +36,7 @@ import XProgress from '../../components/progress/Progress.vue'
15
36
 
16
37
  import theme from './Slider.theme'
17
38
 
18
- const props = defineProps({
19
- ...useCommon.props(),
20
- ...useColors.props('primary'),
21
- ...useInteractive.props(),
22
- ...useInputtable.props(),
23
- label: String,
24
- min: Number,
25
- max: Number,
26
- step: {
27
- type: Number,
28
- default: 1,
29
- },
30
- gradient: Boolean,
31
- })
39
+ const props = defineProps(sliderProps)
32
40
 
33
41
  const emit = defineEmits(useInputtable.emits(false))
34
42
 
@@ -0,0 +1,2 @@
1
+ export { default as XSlider } from './Slider.vue'
2
+ export type { SliderProps } from './Slider.vue'
@@ -0,0 +1 @@
1
+ export { default as XSpacer } from './Spacer'
@@ -1,19 +1,29 @@
1
1
  <script lang="ts">
2
- export default { name: 'XSpinner' }
2
+ const spinnerProps = {
3
+ ...useCommon.props(),
4
+ icon: {
5
+ type: String,
6
+ default: '<g fill="none" fill-rule="evenodd"><g transform="translate(1 1)" stroke-width="2"><circle stroke-opacity=".5" cx="18" cy="18" r="18"/><path d="M36 18c0-9.94-8.06-18-18-18"><animateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur="0.5s" repeatCount="indefinite"/></path></g></g>',
7
+ },
8
+ }
9
+
10
+ export type SpinnerProps = ExtractPublicPropTypes<typeof spinnerProps>
11
+
12
+ export default {
13
+ name: 'XSpinner',
14
+ validators: {
15
+ ...useCommon.validators(),
16
+ },
17
+ }
3
18
  </script>
4
19
 
5
20
  <script setup lang="ts">
21
+ import type { ExtractPublicPropTypes } from 'vue'
6
22
  import { useCommon } from '../../composables/common'
7
23
 
8
24
  import XIcon from '../../components/icon/Icon.vue'
9
25
 
10
- const props = defineProps({
11
- ...useCommon.props(),
12
- icon: {
13
- type: String,
14
- default: '<g fill="none" fill-rule="evenodd"><g transform="translate(1 1)" stroke-width="2"><circle stroke-opacity=".5" cx="18" cy="18" r="18"/><path d="M36 18c0-9.94-8.06-18-18-18"><animateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur="0.5s" repeatCount="indefinite"/></path></g></g>',
15
- },
16
- })
26
+ defineProps(spinnerProps)
17
27
  </script>
18
28
 
19
29
  <template>
@@ -0,0 +1,2 @@
1
+ export { default as XSpinner } from './Spinner.vue'
2
+ export type { SpinnerProps } from './Spinner.vue'
@@ -1,8 +1,18 @@
1
- import type { ThemeParams } from '../../composables/theme'
1
+ import type { ThemeClasses, ThemeComponent } from '../../composables/theme'
2
+ import type { TabProps } from './Tab.vue'
3
+ import type { TabGroupInjection } from './TabGroup.vue'
2
4
 
3
- export default {
5
+ type InternalClasses = 'wrapper' | 'label' | 'icon'
6
+ type InternalExtraData = Pick<TabGroupInjection, 'state'>['state']
7
+
8
+ interface InternalTheme extends ThemeComponent<TabProps, InternalClasses, InternalExtraData> {}
9
+ export interface TabTheme extends Omit<InternalTheme, 'classes'> {
10
+ classes?: Partial<ThemeClasses<TabProps, InternalClasses, InternalExtraData>>;
11
+ }
12
+
13
+ const theme: InternalTheme = {
4
14
  classes: {
5
- wrapper: ({ props, data }: ThemeParams) => {
15
+ wrapper: ({ props, data }) => {
6
16
  const c = ['py-2 transition-colors duration-150 ease-in-out whitespace-nowrap text-center']
7
17
 
8
18
  if (data.variant === 'block') c.push('px-8')
@@ -20,3 +30,5 @@ export default {
20
30
  icon: 'mr-1.5',
21
31
  },
22
32
  }
33
+
34
+ export default theme