@indielayer/ui 0.2.3 → 1.0.0-alpha.2

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 (396) hide show
  1. package/README.md +28 -12
  2. package/env.d.ts +1 -0
  3. package/lib/components/alert/Alert.vue.d.ts +42 -0
  4. package/lib/components/avatar/Avatar.vue.d.ts +49 -0
  5. package/lib/components/badge/Badge.vue.d.ts +70 -0
  6. package/lib/components/breadcrumbs/Breadcrumbs.vue.d.ts +30 -0
  7. package/lib/components/button/Button.vue.d.ts +87 -0
  8. package/lib/components/button/ButtonGroup.vue.d.ts +49 -0
  9. package/lib/components/card/Card.vue.d.ts +17 -0
  10. package/lib/components/checkbox/Checkbox.vue.d.ts +81 -0
  11. package/lib/components/collapse/Collapse.vue.d.ts +47 -0
  12. package/lib/components/container/Container.vue.d.ts +14 -0
  13. package/lib/components/divider/Divider.vue.d.ts +10 -0
  14. package/lib/components/drawer/Drawer.vue.d.ts +73 -0
  15. package/lib/components/form/Form.vue.d.ts +46 -0
  16. package/lib/components/icon/Icon.vue.d.ts +36 -0
  17. package/lib/components/image/Image.vue.d.ts +8 -0
  18. package/lib/components/index.d.ts +45 -0
  19. package/lib/components/input/Input.vue.d.ts +114 -0
  20. package/lib/components/link/Link.vue.d.ts +36 -0
  21. package/lib/components/menu/Menu.vue.d.ts +50 -0
  22. package/lib/components/menu/MenuItem.vue.d.ts +102 -0
  23. package/lib/components/modal/Modal.vue.d.ts +34 -0
  24. package/lib/components/notifications/Notifications.vue.d.ts +104 -0
  25. package/lib/components/pagination/Pagination.vue.d.ts +58 -0
  26. package/lib/components/pagination/PaginationItem.vue.d.ts +32 -0
  27. package/lib/components/popover/Popover.vue.d.ts +64 -0
  28. package/lib/components/popover/PopoverContainer.vue.d.ts +14 -0
  29. package/lib/components/progress/Progress.vue.d.ts +42 -0
  30. package/lib/components/radio/Radio.vue.d.ts +79 -0
  31. package/lib/components/scroll/Scroll.vue.d.ts +29 -0
  32. package/lib/components/select/Select.vue.d.ts +100 -0
  33. package/lib/components/skeleton/Skeleton.vue.d.ts +14 -0
  34. package/lib/components/slider/Slider.vue.d.ts +96 -0
  35. package/lib/components/spacer/Spacer.vue.d.ts +2 -0
  36. package/lib/components/spinner/Spinner.vue.d.ts +16 -0
  37. package/lib/components/tab/Tab.vue.d.ts +47 -0
  38. package/lib/components/tab/TabGroup.vue.d.ts +41 -0
  39. package/lib/components/table/Table.vue.d.ts +81 -0
  40. package/lib/components/table/TableBody.vue.d.ts +2 -0
  41. package/lib/components/table/TableCell.vue.d.ts +33 -0
  42. package/lib/components/table/TableHead.vue.d.ts +2 -0
  43. package/lib/components/table/TableHeader.vue.d.ts +33 -0
  44. package/lib/components/table/TableRow.vue.d.ts +23 -0
  45. package/lib/components/tag/Tag.vue.d.ts +45 -0
  46. package/lib/components/textarea/Textarea.vue.d.ts +101 -0
  47. package/lib/components/toggle/Toggle.vue.d.ts +79 -0
  48. package/lib/components/tooltip/Tooltip.vue.d.ts +2 -0
  49. package/lib/composables/colors-utils.d.ts +8 -0
  50. package/lib/composables/colors.d.ts +26 -0
  51. package/lib/composables/common.d.ts +14 -0
  52. package/lib/composables/css.d.ts +5 -0
  53. package/lib/composables/index.d.ts +7 -0
  54. package/lib/composables/inputtable.d.ts +37 -0
  55. package/lib/composables/interactive.d.ts +10 -0
  56. package/lib/composables/keys.d.ts +7 -0
  57. package/lib/composables/notification.d.ts +1 -0
  58. package/lib/create.d.ts +11 -0
  59. package/lib/index.cjs.js +15 -0
  60. package/lib/index.d.ts +6 -0
  61. package/lib/index.es.js +6164 -0
  62. package/lib/install.d.ts +4 -0
  63. package/lib/nuxt.js +32 -0
  64. package/lib/nuxt.plugin.js +8 -0
  65. package/lib/style.css +1 -0
  66. package/lib/tailwind.preset.js +43 -14
  67. package/lib/version.d.ts +2 -0
  68. package/package.json +48 -28
  69. package/src/components/alert/Alert.vue +164 -0
  70. package/src/components/avatar/Avatar.vue +114 -97
  71. package/src/components/badge/Badge.vue +107 -0
  72. package/src/components/breadcrumbs/Breadcrumbs.vue +60 -0
  73. package/src/components/button/Button.vue +405 -128
  74. package/src/components/button/ButtonGroup.vue +73 -0
  75. package/src/components/card/Card.vue +16 -21
  76. package/src/components/checkbox/Checkbox.vue +162 -85
  77. package/src/components/collapse/Collapse.vue +152 -89
  78. package/src/components/container/Container.vue +13 -11
  79. package/src/components/divider/Divider.vue +15 -19
  80. package/src/components/drawer/Drawer.vue +244 -0
  81. package/src/components/form/Form.vue +32 -22
  82. package/src/components/icon/Icon.vue +43 -33
  83. package/src/components/image/Image.vue +26 -20
  84. package/src/components/index.ts +45 -0
  85. package/src/components/input/Input.vue +149 -146
  86. package/src/components/link/Link.vue +73 -52
  87. package/src/components/menu/Menu.vue +118 -0
  88. package/src/components/menu/MenuItem.vue +277 -0
  89. package/src/components/modal/Modal.vue +157 -93
  90. package/src/components/notifications/Notifications.vue +318 -0
  91. package/src/components/pagination/Pagination.vue +157 -50
  92. package/src/components/pagination/PaginationItem.vue +49 -26
  93. package/src/components/popover/Popover.vue +167 -146
  94. package/src/components/popover/PopoverContainer.vue +13 -18
  95. package/src/components/progress/Progress.vue +68 -102
  96. package/src/components/radio/Radio.vue +161 -92
  97. package/src/components/scroll/Scroll.vue +143 -0
  98. package/src/components/select/Select.vue +362 -109
  99. package/src/components/skeleton/Skeleton.vue +13 -11
  100. package/src/components/slider/Slider.vue +240 -0
  101. package/src/components/spacer/Spacer.vue +8 -0
  102. package/src/components/spinner/Spinner.vue +28 -28
  103. package/src/components/tab/Tab.vue +100 -0
  104. package/src/components/tab/TabGroup.vue +151 -0
  105. package/src/components/table/Table.vue +101 -86
  106. package/src/components/table/TableBody.vue +8 -6
  107. package/src/components/table/TableCell.vue +43 -55
  108. package/src/components/table/TableHead.vue +9 -7
  109. package/src/components/table/TableHeader.vue +39 -54
  110. package/src/components/table/TableRow.vue +26 -34
  111. package/src/components/tag/Tag.vue +67 -62
  112. package/src/components/textarea/Textarea.vue +116 -126
  113. package/src/components/toggle/Toggle.vue +117 -101
  114. package/src/components/tooltip/Tooltip.vue +18 -14
  115. package/src/composables/colors-utils.ts +378 -0
  116. package/src/composables/colors.ts +82 -0
  117. package/src/composables/common.ts +20 -0
  118. package/src/composables/css.ts +45 -0
  119. package/src/composables/index.ts +7 -0
  120. package/src/composables/{inputtable.js → inputtable.ts} +45 -74
  121. package/src/composables/interactive.ts +16 -0
  122. package/src/composables/keys.ts +8 -0
  123. package/src/composables/notification.ts +10 -0
  124. package/src/create.ts +36 -0
  125. package/src/exports/nuxt.js +32 -0
  126. package/src/exports/nuxt.plugin.js +8 -0
  127. package/src/exports/tailwind.preset.js +55 -0
  128. package/src/index.ts +8 -0
  129. package/src/install.ts +8 -0
  130. package/src/shims-vue.d.ts +6 -0
  131. package/src/version.ts +1 -0
  132. package/volar.d.ts +52 -0
  133. package/lib/cjs/components/avatar/Avatar.vue.js +0 -9
  134. package/lib/cjs/components/avatar/Avatar.vue_vue_type_script_lang.js +0 -86
  135. package/lib/cjs/components/avatar/Avatar.vue_vue_type_template_id_2549fb8f_lang.js +0 -50
  136. package/lib/cjs/components/button/Button.vue.js +0 -9
  137. package/lib/cjs/components/button/Button.vue_vue_type_script_lang.js +0 -82
  138. package/lib/cjs/components/button/Button.vue_vue_type_template_id_5975756f_lang.js +0 -100
  139. package/lib/cjs/components/card/Card.vue.js +0 -9
  140. package/lib/cjs/components/card/Card.vue_vue_type_script_lang.js +0 -18
  141. package/lib/cjs/components/card/Card.vue_vue_type_template_id_7be81122_lang.js +0 -22
  142. package/lib/cjs/components/checkbox/Checkbox.vue.js +0 -9
  143. package/lib/cjs/components/checkbox/Checkbox.vue_vue_type_script_lang.js +0 -58
  144. package/lib/cjs/components/checkbox/Checkbox.vue_vue_type_template_id_fa43bd62_lang.js +0 -102
  145. package/lib/cjs/components/collapse/Collapse.vue.js +0 -9
  146. package/lib/cjs/components/collapse/Collapse.vue_vue_type_script_lang.js +0 -66
  147. package/lib/cjs/components/collapse/Collapse.vue_vue_type_template_id_06a1c88f_lang.js +0 -64
  148. package/lib/cjs/components/colors.vue.js +0 -12
  149. package/lib/cjs/components/colors.vue_vue_type_template_id_79d16100_lang.js +0 -406
  150. package/lib/cjs/components/container/Container.vue.js +0 -9
  151. package/lib/cjs/components/container/Container.vue_vue_type_script_lang.js +0 -14
  152. package/lib/cjs/components/container/Container.vue_vue_type_template_id_05f5acf3_lang.js +0 -16
  153. package/lib/cjs/components/divider/Divider.vue.js +0 -9
  154. package/lib/cjs/components/divider/Divider.vue_vue_type_script_lang.js +0 -18
  155. package/lib/cjs/components/divider/Divider.vue_vue_type_template_id_3a349aa3_lang.js +0 -49
  156. package/lib/cjs/components/form/Form.vue.js +0 -9
  157. package/lib/cjs/components/form/Form.vue_vue_type_script_lang.js +0 -95
  158. package/lib/cjs/components/form/Form.vue_vue_type_template_id_a6cab022_lang.js +0 -20
  159. package/lib/cjs/components/icon/Icon.vue.js +0 -9
  160. package/lib/cjs/components/icon/Icon.vue_vue_type_script_lang.js +0 -26
  161. package/lib/cjs/components/icon/Icon.vue_vue_type_template_id_0933a10f_lang.js +0 -32
  162. package/lib/cjs/components/image/Image.vue.js +0 -9
  163. package/lib/cjs/components/image/Image.vue_vue_type_script_lang.js +0 -28
  164. package/lib/cjs/components/image/Image.vue_vue_type_template_id_f1ec3bb2_lang.js +0 -13
  165. package/lib/cjs/components/index.js +0 -87
  166. package/lib/cjs/components/input/Input.vue.js +0 -9
  167. package/lib/cjs/components/input/Input.vue_vue_type_script_lang.js +0 -101
  168. package/lib/cjs/components/input/Input.vue_vue_type_template_id_21c870c5_lang.js +0 -126
  169. package/lib/cjs/components/link/Link.vue.js +0 -9
  170. package/lib/cjs/components/link/Link.vue_vue_type_script_lang.js +0 -47
  171. package/lib/cjs/components/link/Link.vue_vue_type_template_id_044f59af_lang.js +0 -59
  172. package/lib/cjs/components/modal/Modal.vue.js +0 -9
  173. package/lib/cjs/components/modal/Modal.vue_vue_type_script_lang.js +0 -55
  174. package/lib/cjs/components/modal/Modal.vue_vue_type_template_id_177f8d4b_lang.js +0 -81
  175. package/lib/cjs/components/note/Note.vue.js +0 -9
  176. package/lib/cjs/components/note/Note.vue_vue_type_script_lang.js +0 -24
  177. package/lib/cjs/components/note/Note.vue_vue_type_template_id_2b99d6a2_lang.js +0 -100
  178. package/lib/cjs/components/pagination/Pagination.vue.js +0 -9
  179. package/lib/cjs/components/pagination/Pagination.vue_vue_type_script_lang.js +0 -43
  180. package/lib/cjs/components/pagination/Pagination.vue_vue_type_template_id_084845ef_lang.js +0 -54
  181. package/lib/cjs/components/pagination/PaginationItem.vue.js +0 -9
  182. package/lib/cjs/components/pagination/PaginationItem.vue_vue_type_script_lang.js +0 -24
  183. package/lib/cjs/components/pagination/PaginationItem.vue_vue_type_template_id_241a3fbc_lang.js +0 -27
  184. package/lib/cjs/components/popover/Popover.vue.js +0 -10
  185. package/lib/cjs/components/popover/Popover.vue_vue_type_script_lang.js +0 -72
  186. package/lib/cjs/components/popover/Popover.vue_vue_type_style_index_0_id_da70cc8a_lang.css.js +0 -8
  187. package/lib/cjs/components/popover/Popover.vue_vue_type_template_id_da70cc8a_lang.js +0 -63
  188. package/lib/cjs/components/popover/PopoverContainer.vue.js +0 -9
  189. package/lib/cjs/components/popover/PopoverContainer.vue_vue_type_script_lang.js +0 -21
  190. package/lib/cjs/components/popover/PopoverContainer.vue_vue_type_template_id_798f1294_lang.js +0 -16
  191. package/lib/cjs/components/popover/PopoverItem.vue.js +0 -9
  192. package/lib/cjs/components/popover/PopoverItem.vue_vue_type_script_lang.js +0 -34
  193. package/lib/cjs/components/popover/PopoverItem.vue_vue_type_template_id_84692424_lang.js +0 -50
  194. package/lib/cjs/components/progress/Progress.vue.js +0 -9
  195. package/lib/cjs/components/progress/Progress.vue_vue_type_script_lang.js +0 -62
  196. package/lib/cjs/components/progress/Progress.vue_vue_type_template_id_9ab7cee2_lang.js +0 -77
  197. package/lib/cjs/components/radio/Radio.vue.js +0 -9
  198. package/lib/cjs/components/radio/Radio.vue_vue_type_script_lang.js +0 -61
  199. package/lib/cjs/components/radio/Radio.vue_vue_type_template_id_808cc132_lang.js +0 -120
  200. package/lib/cjs/components/select/Select.vue.js +0 -9
  201. package/lib/cjs/components/select/Select.vue_vue_type_script_lang.js +0 -62
  202. package/lib/cjs/components/select/Select.vue_vue_type_template_id_18b7de2f_lang.js +0 -122
  203. package/lib/cjs/components/skeleton/Skeleton.vue.js +0 -9
  204. package/lib/cjs/components/skeleton/Skeleton.vue_vue_type_script_lang.js +0 -14
  205. package/lib/cjs/components/skeleton/Skeleton.vue_vue_type_template_id_6ac606e2_lang.js +0 -18
  206. package/lib/cjs/components/spacer/Spacer.vue.js +0 -12
  207. package/lib/cjs/components/spacer/Spacer.vue_vue_type_template_id_793ae82f_lang.js +0 -13
  208. package/lib/cjs/components/spinner/Spinner.vue.js +0 -9
  209. package/lib/cjs/components/spinner/Spinner.vue_vue_type_script_lang.js +0 -14
  210. package/lib/cjs/components/spinner/Spinner.vue_vue_type_template_id_714bd8a3_lang.js +0 -29
  211. package/lib/cjs/components/status/StatusDot.vue.js +0 -9
  212. package/lib/cjs/components/status/StatusDot.vue_vue_type_script_lang.js +0 -24
  213. package/lib/cjs/components/status/StatusDot.vue_vue_type_template_id_367d150a_lang.js +0 -25
  214. package/lib/cjs/components/table/Table.vue.js +0 -9
  215. package/lib/cjs/components/table/Table.vue_vue_type_script_lang.js +0 -117
  216. package/lib/cjs/components/table/Table.vue_vue_type_template_id_c0433c66_lang.js +0 -88
  217. package/lib/cjs/components/table/TableBody.vue.js +0 -9
  218. package/lib/cjs/components/table/TableBody.vue_vue_type_script_lang.js +0 -7
  219. package/lib/cjs/components/table/TableBody.vue_vue_type_template_id_7288bc0f_lang.js +0 -13
  220. package/lib/cjs/components/table/TableCell.vue.js +0 -9
  221. package/lib/cjs/components/table/TableCell.vue_vue_type_script_lang.js +0 -63
  222. package/lib/cjs/components/table/TableCell.vue_vue_type_template_id_5349a862_lang.js +0 -35
  223. package/lib/cjs/components/table/TableHead.vue.js +0 -9
  224. package/lib/cjs/components/table/TableHead.vue_vue_type_script_lang.js +0 -7
  225. package/lib/cjs/components/table/TableHead.vue_vue_type_template_id_6ae9fd66_lang.js +0 -18
  226. package/lib/cjs/components/table/TableHeader.vue.js +0 -9
  227. package/lib/cjs/components/table/TableHeader.vue_vue_type_script_lang.js +0 -48
  228. package/lib/cjs/components/table/TableHeader.vue_vue_type_template_id_9d5bd38c_lang.js +0 -78
  229. package/lib/cjs/components/table/TableRow.vue.js +0 -9
  230. package/lib/cjs/components/table/TableRow.vue_vue_type_script_lang.js +0 -33
  231. package/lib/cjs/components/table/TableRow.vue_vue_type_template_id_7c4a8ffd_lang.js +0 -26
  232. package/lib/cjs/components/tabs/Tab.vue.js +0 -9
  233. package/lib/cjs/components/tabs/Tab.vue_vue_type_script_lang.js +0 -62
  234. package/lib/cjs/components/tabs/Tab.vue_vue_type_template_id_3cfc6374_lang.js +0 -29
  235. package/lib/cjs/components/tabs/Tabs.vue.js +0 -9
  236. package/lib/cjs/components/tabs/Tabs.vue_vue_type_script_lang.js +0 -37
  237. package/lib/cjs/components/tabs/Tabs.vue_vue_type_template_id_663bac2f_lang.js +0 -16
  238. package/lib/cjs/components/tag/Tag.vue.js +0 -9
  239. package/lib/cjs/components/tag/Tag.vue_vue_type_script_lang.js +0 -39
  240. package/lib/cjs/components/tag/Tag.vue_vue_type_template_id_0aa571b6_lang.js +0 -77
  241. package/lib/cjs/components/textarea/Textarea.vue.js +0 -9
  242. package/lib/cjs/components/textarea/Textarea.vue_vue_type_script_lang.js +0 -113
  243. package/lib/cjs/components/textarea/Textarea.vue_vue_type_template_id_03d2272f_lang.js +0 -70
  244. package/lib/cjs/components/toast/Toast.vue.js +0 -9
  245. package/lib/cjs/components/toast/Toast.vue_vue_type_script_lang.js +0 -87
  246. package/lib/cjs/components/toast/Toast.vue_vue_type_template_id_fe243282_lang.js +0 -64
  247. package/lib/cjs/components/toggle/Toggle.vue.js +0 -9
  248. package/lib/cjs/components/toggle/Toggle.vue_vue_type_script_lang.js +0 -58
  249. package/lib/cjs/components/toggle/Toggle.vue_vue_type_template_id_5a9e0b2f_lang.js +0 -96
  250. package/lib/cjs/components/tooltip/Tooltip.vue.js +0 -9
  251. package/lib/cjs/components/tooltip/Tooltip.vue_vue_type_script_lang.js +0 -15
  252. package/lib/cjs/components/tooltip/Tooltip.vue_vue_type_template_id_213cff12_lang.js +0 -30
  253. package/lib/cjs/composables/common.js +0 -28
  254. package/lib/cjs/composables/inputtable.js +0 -162
  255. package/lib/cjs/composables/interactive.js +0 -41
  256. package/lib/cjs/index.js +0 -129
  257. package/lib/cjs/node_modules/style-inject/dist/style-inject.es.js +0 -30
  258. package/lib/esm/components/avatar/Avatar.vue.js +0 -6
  259. package/lib/esm/components/avatar/Avatar.vue_vue_type_script_lang.js +0 -84
  260. package/lib/esm/components/avatar/Avatar.vue_vue_type_template_id_2549fb8f_lang.js +0 -46
  261. package/lib/esm/components/button/Button.vue.js +0 -6
  262. package/lib/esm/components/button/Button.vue_vue_type_script_lang.js +0 -80
  263. package/lib/esm/components/button/Button.vue_vue_type_template_id_5975756f_lang.js +0 -96
  264. package/lib/esm/components/card/Card.vue.js +0 -6
  265. package/lib/esm/components/card/Card.vue_vue_type_script_lang.js +0 -16
  266. package/lib/esm/components/card/Card.vue_vue_type_template_id_7be81122_lang.js +0 -18
  267. package/lib/esm/components/checkbox/Checkbox.vue.js +0 -6
  268. package/lib/esm/components/checkbox/Checkbox.vue_vue_type_script_lang.js +0 -56
  269. package/lib/esm/components/checkbox/Checkbox.vue_vue_type_template_id_fa43bd62_lang.js +0 -98
  270. package/lib/esm/components/collapse/Collapse.vue.js +0 -6
  271. package/lib/esm/components/collapse/Collapse.vue_vue_type_script_lang.js +0 -64
  272. package/lib/esm/components/collapse/Collapse.vue_vue_type_template_id_06a1c88f_lang.js +0 -60
  273. package/lib/esm/components/colors.vue.js +0 -10
  274. package/lib/esm/components/colors.vue_vue_type_template_id_79d16100_lang.js +0 -402
  275. package/lib/esm/components/container/Container.vue.js +0 -6
  276. package/lib/esm/components/container/Container.vue_vue_type_script_lang.js +0 -12
  277. package/lib/esm/components/container/Container.vue_vue_type_template_id_05f5acf3_lang.js +0 -12
  278. package/lib/esm/components/divider/Divider.vue.js +0 -6
  279. package/lib/esm/components/divider/Divider.vue_vue_type_script_lang.js +0 -16
  280. package/lib/esm/components/divider/Divider.vue_vue_type_template_id_3a349aa3_lang.js +0 -45
  281. package/lib/esm/components/form/Form.vue.js +0 -6
  282. package/lib/esm/components/form/Form.vue_vue_type_script_lang.js +0 -93
  283. package/lib/esm/components/form/Form.vue_vue_type_template_id_a6cab022_lang.js +0 -16
  284. package/lib/esm/components/icon/Icon.vue.js +0 -6
  285. package/lib/esm/components/icon/Icon.vue_vue_type_script_lang.js +0 -24
  286. package/lib/esm/components/icon/Icon.vue_vue_type_template_id_0933a10f_lang.js +0 -28
  287. package/lib/esm/components/image/Image.vue.js +0 -6
  288. package/lib/esm/components/image/Image.vue_vue_type_script_lang.js +0 -26
  289. package/lib/esm/components/image/Image.vue_vue_type_template_id_f1ec3bb2_lang.js +0 -9
  290. package/lib/esm/components/index.js +0 -40
  291. package/lib/esm/components/input/Input.vue.js +0 -6
  292. package/lib/esm/components/input/Input.vue_vue_type_script_lang.js +0 -99
  293. package/lib/esm/components/input/Input.vue_vue_type_template_id_21c870c5_lang.js +0 -122
  294. package/lib/esm/components/link/Link.vue.js +0 -6
  295. package/lib/esm/components/link/Link.vue_vue_type_script_lang.js +0 -45
  296. package/lib/esm/components/link/Link.vue_vue_type_template_id_044f59af_lang.js +0 -55
  297. package/lib/esm/components/modal/Modal.vue.js +0 -6
  298. package/lib/esm/components/modal/Modal.vue_vue_type_script_lang.js +0 -53
  299. package/lib/esm/components/modal/Modal.vue_vue_type_template_id_177f8d4b_lang.js +0 -77
  300. package/lib/esm/components/note/Note.vue.js +0 -6
  301. package/lib/esm/components/note/Note.vue_vue_type_script_lang.js +0 -22
  302. package/lib/esm/components/note/Note.vue_vue_type_template_id_2b99d6a2_lang.js +0 -96
  303. package/lib/esm/components/pagination/Pagination.vue.js +0 -6
  304. package/lib/esm/components/pagination/Pagination.vue_vue_type_script_lang.js +0 -41
  305. package/lib/esm/components/pagination/Pagination.vue_vue_type_template_id_084845ef_lang.js +0 -50
  306. package/lib/esm/components/pagination/PaginationItem.vue.js +0 -6
  307. package/lib/esm/components/pagination/PaginationItem.vue_vue_type_script_lang.js +0 -22
  308. package/lib/esm/components/pagination/PaginationItem.vue_vue_type_template_id_241a3fbc_lang.js +0 -23
  309. package/lib/esm/components/popover/Popover.vue.js +0 -7
  310. package/lib/esm/components/popover/Popover.vue_vue_type_script_lang.js +0 -70
  311. package/lib/esm/components/popover/Popover.vue_vue_type_style_index_0_id_da70cc8a_lang.css.js +0 -6
  312. package/lib/esm/components/popover/Popover.vue_vue_type_template_id_da70cc8a_lang.js +0 -59
  313. package/lib/esm/components/popover/PopoverContainer.vue.js +0 -6
  314. package/lib/esm/components/popover/PopoverContainer.vue_vue_type_script_lang.js +0 -19
  315. package/lib/esm/components/popover/PopoverContainer.vue_vue_type_template_id_798f1294_lang.js +0 -12
  316. package/lib/esm/components/popover/PopoverItem.vue.js +0 -6
  317. package/lib/esm/components/popover/PopoverItem.vue_vue_type_script_lang.js +0 -32
  318. package/lib/esm/components/popover/PopoverItem.vue_vue_type_template_id_84692424_lang.js +0 -46
  319. package/lib/esm/components/progress/Progress.vue.js +0 -6
  320. package/lib/esm/components/progress/Progress.vue_vue_type_script_lang.js +0 -60
  321. package/lib/esm/components/progress/Progress.vue_vue_type_template_id_9ab7cee2_lang.js +0 -73
  322. package/lib/esm/components/radio/Radio.vue.js +0 -6
  323. package/lib/esm/components/radio/Radio.vue_vue_type_script_lang.js +0 -59
  324. package/lib/esm/components/radio/Radio.vue_vue_type_template_id_808cc132_lang.js +0 -116
  325. package/lib/esm/components/select/Select.vue.js +0 -6
  326. package/lib/esm/components/select/Select.vue_vue_type_script_lang.js +0 -60
  327. package/lib/esm/components/select/Select.vue_vue_type_template_id_18b7de2f_lang.js +0 -118
  328. package/lib/esm/components/skeleton/Skeleton.vue.js +0 -6
  329. package/lib/esm/components/skeleton/Skeleton.vue_vue_type_script_lang.js +0 -12
  330. package/lib/esm/components/skeleton/Skeleton.vue_vue_type_template_id_6ac606e2_lang.js +0 -14
  331. package/lib/esm/components/spacer/Spacer.vue.js +0 -10
  332. package/lib/esm/components/spacer/Spacer.vue_vue_type_template_id_793ae82f_lang.js +0 -9
  333. package/lib/esm/components/spinner/Spinner.vue.js +0 -6
  334. package/lib/esm/components/spinner/Spinner.vue_vue_type_script_lang.js +0 -12
  335. package/lib/esm/components/spinner/Spinner.vue_vue_type_template_id_714bd8a3_lang.js +0 -25
  336. package/lib/esm/components/status/StatusDot.vue.js +0 -6
  337. package/lib/esm/components/status/StatusDot.vue_vue_type_script_lang.js +0 -22
  338. package/lib/esm/components/status/StatusDot.vue_vue_type_template_id_367d150a_lang.js +0 -21
  339. package/lib/esm/components/table/Table.vue.js +0 -6
  340. package/lib/esm/components/table/Table.vue_vue_type_script_lang.js +0 -115
  341. package/lib/esm/components/table/Table.vue_vue_type_template_id_c0433c66_lang.js +0 -84
  342. package/lib/esm/components/table/TableBody.vue.js +0 -6
  343. package/lib/esm/components/table/TableBody.vue_vue_type_script_lang.js +0 -5
  344. package/lib/esm/components/table/TableBody.vue_vue_type_template_id_7288bc0f_lang.js +0 -9
  345. package/lib/esm/components/table/TableCell.vue.js +0 -6
  346. package/lib/esm/components/table/TableCell.vue_vue_type_script_lang.js +0 -61
  347. package/lib/esm/components/table/TableCell.vue_vue_type_template_id_5349a862_lang.js +0 -31
  348. package/lib/esm/components/table/TableHead.vue.js +0 -6
  349. package/lib/esm/components/table/TableHead.vue_vue_type_script_lang.js +0 -5
  350. package/lib/esm/components/table/TableHead.vue_vue_type_template_id_6ae9fd66_lang.js +0 -14
  351. package/lib/esm/components/table/TableHeader.vue.js +0 -6
  352. package/lib/esm/components/table/TableHeader.vue_vue_type_script_lang.js +0 -46
  353. package/lib/esm/components/table/TableHeader.vue_vue_type_template_id_9d5bd38c_lang.js +0 -74
  354. package/lib/esm/components/table/TableRow.vue.js +0 -6
  355. package/lib/esm/components/table/TableRow.vue_vue_type_script_lang.js +0 -31
  356. package/lib/esm/components/table/TableRow.vue_vue_type_template_id_7c4a8ffd_lang.js +0 -22
  357. package/lib/esm/components/tabs/Tab.vue.js +0 -6
  358. package/lib/esm/components/tabs/Tab.vue_vue_type_script_lang.js +0 -60
  359. package/lib/esm/components/tabs/Tab.vue_vue_type_template_id_3cfc6374_lang.js +0 -25
  360. package/lib/esm/components/tabs/Tabs.vue.js +0 -6
  361. package/lib/esm/components/tabs/Tabs.vue_vue_type_script_lang.js +0 -35
  362. package/lib/esm/components/tabs/Tabs.vue_vue_type_template_id_663bac2f_lang.js +0 -12
  363. package/lib/esm/components/tag/Tag.vue.js +0 -6
  364. package/lib/esm/components/tag/Tag.vue_vue_type_script_lang.js +0 -37
  365. package/lib/esm/components/tag/Tag.vue_vue_type_template_id_0aa571b6_lang.js +0 -73
  366. package/lib/esm/components/textarea/Textarea.vue.js +0 -6
  367. package/lib/esm/components/textarea/Textarea.vue_vue_type_script_lang.js +0 -111
  368. package/lib/esm/components/textarea/Textarea.vue_vue_type_template_id_03d2272f_lang.js +0 -66
  369. package/lib/esm/components/toast/Toast.vue.js +0 -6
  370. package/lib/esm/components/toast/Toast.vue_vue_type_script_lang.js +0 -85
  371. package/lib/esm/components/toast/Toast.vue_vue_type_template_id_fe243282_lang.js +0 -60
  372. package/lib/esm/components/toggle/Toggle.vue.js +0 -6
  373. package/lib/esm/components/toggle/Toggle.vue_vue_type_script_lang.js +0 -56
  374. package/lib/esm/components/toggle/Toggle.vue_vue_type_template_id_5a9e0b2f_lang.js +0 -92
  375. package/lib/esm/components/tooltip/Tooltip.vue.js +0 -6
  376. package/lib/esm/components/tooltip/Tooltip.vue_vue_type_script_lang.js +0 -13
  377. package/lib/esm/components/tooltip/Tooltip.vue_vue_type_template_id_213cff12_lang.js +0 -26
  378. package/lib/esm/composables/common.js +0 -23
  379. package/lib/esm/composables/inputtable.js +0 -155
  380. package/lib/esm/composables/interactive.js +0 -35
  381. package/lib/esm/index.js +0 -85
  382. package/lib/esm/node_modules/style-inject/dist/style-inject.es.js +0 -28
  383. package/lib/umd/index.js +0 -4349
  384. package/src/components/colors.vue +0 -396
  385. package/src/components/index.js +0 -40
  386. package/src/components/note/Note.vue +0 -74
  387. package/src/components/popover/PopoverItem.vue +0 -65
  388. package/src/components/status/StatusDot.vue +0 -41
  389. package/src/components/tabs/Tab.vue +0 -81
  390. package/src/components/tabs/Tabs.vue +0 -44
  391. package/src/components/toast/Toast.vue +0 -139
  392. package/src/composables/common.js +0 -21
  393. package/src/composables/interactive.js +0 -36
  394. package/src/index.js +0 -16
  395. package/src/nuxt.js +0 -13
  396. package/src/tailwind.preset.js +0 -24
@@ -1,173 +1,194 @@
1
- <template>
2
- <div
3
- class="inline-block relative xpopover"
4
- :class="[
5
- { 'hover': hover,
6
- 'is-open': isOpen,
7
- },
8
- $attrs.class,
9
- $attrs.staticClass,
10
- ]"
11
- >
12
- <div class="flex" @click="!hover ? toggle() : null">
13
- <slot></slot>
14
- </div>
1
+ <script lang="ts">
2
+ import { computed, defineComponent, ref, useCssModule, watch, type PropType } from 'vue'
3
+ import { onClickOutside } from '@vueuse/core'
15
4
 
16
- <div
17
- v-if="!hover"
18
- class="fixed inset-0 opacity-0 z-40"
19
- :class="[isOpen ? 'visible' : 'invisible']"
20
- @click.self="close()"
21
- ></div>
22
-
23
- <div
24
- class="absolute w-fit bottom-0 left-0 right-0 sm:p-0 transform transition-transform z-50 xpopover-content whitespace-nowrap max-w-xs"
25
- :class="[
26
- {
27
- // align-left
28
- 'left-0 right-auto': align === 'left' && ['bottom', 'top'].includes(position),
29
- // align-center
30
- 'left-1/2 right-auto -translate-x-1/2': align === 'center' && ['bottom', 'top'].includes(position),
31
- // align-right
32
- 'right-0 left-auto': align === 'right' && ['bottom', 'top'].includes(position),
33
- // align-top
34
- 'top-0 bottom-auto': align === 'top' && ['left', 'right'].includes(position),
35
- // align-middle
36
- '-translate-y-1/2 top-1/2 bottom-auto': align === 'center' && ['left', 'right'].includes(position),
37
- // align-bottom
38
- 'bottom-0': align === 'bottom' && ['left', 'right'].includes(position),
39
-
40
- // position-top
41
- 'xpopover-top bottom-full pb-2': position === 'top',
42
- // position-right
43
- 'xpopover-right left-full pl-2': position === 'right',
44
- // position-bottom
45
- 'xpopover-bottom top-full bottom-0': position === 'bottom',
46
- // position-left
47
- 'xpopover-left right-full left-auto pr-2': position === 'left',
48
- }
49
- ]"
50
- @click="dismissible ? close() : null"
51
- >
52
- <slot name="content"></slot>
53
- </div>
54
- </div>
55
- </template>
56
-
57
- <script>
58
- const validator = {
59
- align: [
60
- 'bottom',
61
- 'center',
62
- 'left',
63
- 'right',
64
- 'top',
65
- ],
66
- position: [
67
- 'bottom',
68
- 'left',
69
- 'right',
70
- 'top',
71
- ],
5
+ const validators = {
6
+ align: ['bottom','center','left','right','top'],
7
+ position: ['bottom','left','right','top'],
72
8
  }
73
9
 
74
- export default {
10
+ export default defineComponent({
75
11
  name: 'XPopover',
76
12
 
77
- validator,
13
+ validators,
78
14
 
79
15
  props: {
80
16
  align: {
81
- type: String,
17
+ type: String as PropType<'bottom' | 'center' | 'left' | 'right' | 'top'>,
82
18
  default: 'center',
83
- validator: (value) => validator.align.includes(value),
19
+ validator: (value: string) => validators.align.includes(value),
84
20
  },
85
-
86
- hover: {
87
- type: Boolean,
88
- default: false,
21
+ position: {
22
+ type: String as PropType<'bottom' | 'left' | 'right' | 'top'>,
23
+ default: 'bottom',
24
+ validator: (value: string) => validators.position.includes(value),
89
25
  },
90
-
91
- dismissible: {
26
+ dismissOnClick: {
92
27
  type: Boolean,
93
28
  default: true,
94
29
  },
95
-
96
- position: {
97
- default: 'bottom',
98
- type: String,
99
- validator: (value) => validator.position.includes(value),
100
- },
30
+ disabled: Boolean,
31
+ hover: Boolean,
32
+ block: Boolean,
101
33
  },
102
34
 
103
- data() {
104
- return {
105
- isOpen: false,
35
+ emits: ['open', 'close', 'toggle'],
36
+
37
+ expose: ['open', 'close', 'toggle', 'isOpen'],
38
+
39
+ setup(props, { emit }) {
40
+ const elRef = ref<HTMLElement>()
41
+ const isOpen = ref(false)
42
+
43
+ let stopClickOutside: undefined | (()=> void) = undefined
44
+
45
+ watch(isOpen, (newValue, oldValue) => {
46
+ if (props.hover) return
47
+
48
+ if (stopClickOutside) {
49
+ stopClickOutside()
50
+ stopClickOutside = undefined
51
+ }
52
+
53
+ if (newValue) {
54
+ setTimeout(() => {
55
+ stopClickOutside = onClickOutside(elRef, close)
56
+ })
57
+ }
58
+ })
59
+
60
+ const $style = useCssModule()
61
+ const classes = computed(() => {
62
+ const c = []
63
+
64
+ c.push({
65
+ // align-left
66
+ 'left-0 right-auto': props.align === 'left' && ['bottom', 'top'].includes(props.position),
67
+ // align-center
68
+ 'left-1/2 right-auto -translate-x-1/2': props.align === 'center' && ['bottom', 'top'].includes(props.position),
69
+ // align-right
70
+ 'right-0 left-auto': props.align === 'right' && ['bottom', 'top'].includes(props.position),
71
+ // align-top
72
+ 'top-0 bottom-auto': props.align === 'top' && ['left', 'right'].includes(props.position),
73
+ // align-middle
74
+ '-translate-y-1/2 top-1/2 bottom-auto': props.align === 'center' && ['left', 'right'].includes(props.position),
75
+ // align-bottom
76
+ 'bottom-0': props.align === 'bottom' && ['left', 'right'].includes(props.position),
77
+ })
78
+
79
+ if (props.position === 'top') c.push(`bottom-full pb-2 ${$style.popoverTop}`)
80
+ if (props.position === 'right') c.push(`left-full pl-2 ${$style.popoverRight}`)
81
+ if (props.position === 'bottom') c.push(`top-full bottom-0 ${$style.popoverBottom}`)
82
+ if (props.position === 'left') c.push(`right-full left-auto pr-2 ${$style.popoverLeft}`)
83
+
84
+ if (props.block) c.push('min-w-full')
85
+
86
+ return c
87
+ })
88
+
89
+ function close() {
90
+ if (props.disabled) return
91
+ isOpen.value = false
92
+ emit('close')
106
93
  }
107
- },
108
94
 
109
- methods: {
110
- close() {
111
- this.isOpen = false
112
- this.$emit('close')
113
- },
95
+ function open() {
96
+ if (props.disabled) return
97
+ isOpen.value = true
98
+ emit('open')
99
+ }
114
100
 
115
- open() {
116
- this.isOpen = true
117
- this.$emit('open')
118
- },
101
+ function toggle() {
102
+ if (props.disabled) return
103
+ isOpen.value = !isOpen.value
104
+ emit('toggle', isOpen.value)
105
+ }
119
106
 
120
- toggle() {
121
- this.isOpen = !this.isOpen
122
- this.$emit('toggle', this.isOpen)
123
- },
107
+ return {
108
+ elRef,
109
+ isOpen,
110
+ classes,
111
+ close,
112
+ open,
113
+ toggle,
114
+ }
124
115
  },
125
- }
116
+ })
126
117
  </script>
127
118
 
128
- <style lang="css">
129
- .xpopover-content {
130
- visibility: hidden;
131
- transition-duration: .1s;
132
- transition-timing-function: cubic-bezier(.4,0,1,1);
133
- }
134
- .xpopover-top {
135
- --tw-translate-y: 0.5rem;
136
- }
137
- .xpopover-right {
138
- --tw-translate-x: -0.5rem;
139
- }
140
- .xpopover-bottom {
141
- --tw-translate-y: -0.25rem;
142
- }
143
- .xpopover-left {
144
- --tw-translate-x: 0.5rem;
145
- }
146
-
147
- .xpopover.hover:hover .xpopover-content,
148
- .xpopover.is-open .xpopover-content {
149
- visibility: visible;
150
- transition-duration: .15s;
151
- transition-timing-function: cubic-bezier(0,0,.2,1);
152
- }
153
-
154
- .xpopover.hover:hover .xpopover-top,
155
- .xpopover.is-open .xpopover-top {
156
- --tw-translate-y: 0.25rem;
157
- }
158
-
159
- .xpopover.hover:hover .xpopover-right,
160
- .xpopover.is-open .xpopover-right {
161
- --tw-translate-x: 0px;
162
- }
119
+ <template>
120
+ <div
121
+ ref="elRef"
122
+ class="inline-block relative"
123
+ :class="[
124
+ $style.popover,
125
+ [hover ? $style.hover : ''],
126
+ [isOpen ? $style['is-open'] : ''],
127
+ { 'w-full': block }
128
+ ]"
129
+ >
130
+ <div class="flex" @click="!hover ? toggle() : null">
131
+ <slot></slot>
132
+ </div>
163
133
 
164
- .xpopover.hover:hover .xpopover-bottom,
165
- .xpopover.is-open .xpopover-bottom {
166
- --tw-translate-y: 0.25rem;
167
- }
134
+ <div
135
+ class="absolute w-fit bottom-0 left-0 right-0 sm:p-0 transform transition-transform z-40 max-w-xs"
136
+ :class="[
137
+ $style.popoverContent,
138
+ classes
139
+ ]"
140
+ @click="dismissOnClick ? close() : null"
141
+ >
142
+ <slot name="content"></slot>
143
+ </div>
144
+ </div>
145
+ </template>
168
146
 
169
- .xpopover.hover:hover .xpopover-left,
170
- .xpopover.is-open .xpopover-left {
171
- --tw-translate-x: 0px;
147
+ <style lang="postcss" module>
148
+ .popover {
149
+ .popoverContent {
150
+ visibility: hidden;
151
+ transition-duration: .1s;
152
+ transition-timing-function: cubic-bezier(.4,0,1,1);
153
+ }
154
+ .popoverTop {
155
+ --tw-translate-y: 0.5rem;
156
+ }
157
+ .popoverRight {
158
+ --tw-translate-x: -0.5rem;
159
+ }
160
+ .popoverBottom {
161
+ --tw-translate-y: -0.25rem;
162
+ }
163
+ .popoverLeft {
164
+ --tw-translate-x: 0.5rem;
165
+ }
166
+
167
+ &.hover:hover .popoverContent,
168
+ &.is-open .popoverContent {
169
+ visibility: visible;
170
+ transition-duration: .15s;
171
+ transition-timing-function: cubic-bezier(0,0,.2,1);
172
+ }
173
+
174
+ &.hover:hover .popoverTop,
175
+ &.is-open .popoverTop {
176
+ --tw-translate-y: 0.25rem;
177
+ }
178
+
179
+ &.hover:hover .popoverRight,
180
+ &.is-open .popoverRight {
181
+ --tw-translate-x: 0px;
182
+ }
183
+
184
+ &.hover:hover .popoverBottom,
185
+ &.is-open .popoverBottom {
186
+ --tw-translate-y: 0.25rem;
187
+ }
188
+
189
+ &.hover:hover .popoverLeft,
190
+ &.is-open .popoverLeft {
191
+ --tw-translate-x: 0px;
192
+ }
172
193
  }
173
194
  </style>
@@ -1,14 +1,7 @@
1
- <template>
2
- <component
3
- :is="tag"
4
- class="inline-block w-full bg-white dark:bg-gray-700 shadow-lg rounded-md border-t border border-gray-200 dark:border-gray-800"
5
- >
6
- <slot></slot>
7
- </component>
8
- </template>
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue'
9
3
 
10
- <script>
11
- export default {
4
+ export default defineComponent({
12
5
  name: 'XPopoverContainer',
13
6
 
14
7
  props: {
@@ -17,12 +10,14 @@ export default {
17
10
  type: String,
18
11
  },
19
12
  },
20
-
21
- created() {
22
- if (this.$parent.$options.name !== 'XPopover') {
23
- this.$destroy()
24
- throw new Error('PopoverContainer must be wrap with Popover')
25
- }
26
- },
27
- }
13
+ })
28
14
  </script>
15
+
16
+ <template>
17
+ <component
18
+ :is="tag"
19
+ class="block w-full bg-white dark:bg-gray-700 shadow-lg rounded-md border border-gray-200 dark:border-gray-800"
20
+ >
21
+ <slot></slot>
22
+ </component>
23
+ </template>
@@ -1,120 +1,86 @@
1
- <template>
2
- <component :is="tag" class="w-full">
3
- <div
4
- v-if="variant === 'bar'"
5
- class="rounded-lg bg-gray-200 dark:bg-gray-700 overflow-hidden"
6
- >
7
- <div
8
- class="h-2 rounded-lg transition-all duration-200"
9
- :class="[`bg-${color}-500`]"
10
- :style="{
11
- width: `${percentage}%`,
12
- }"
13
- ></div>
14
- </div>
1
+ <script lang="ts">
2
+ import { computed, defineComponent, type PropType } from 'vue'
3
+ import { useCSS } from '../../composables/css'
4
+ import { useColors } from '../../composables/colors'
15
5
 
16
- <svg
17
- v-if="variant === 'circle'"
18
- class="transform -rotate-90"
19
- viewBox="0 0 100 100"
20
- >
21
- <circle
22
- class="text-gray-200 dark:text-gray-700"
23
- stroke="currentColor"
24
- stroke-linejoin="round"
25
- stroke-linecap="round"
26
- stroke-width="4"
27
- fill="none"
28
- cx="50"
29
- cy="50"
30
- r="40"
31
- />
32
- <circle
33
- class="transition-all duration-200"
34
- :class="[`text-${color}-500`]"
35
- :style="{ strokeDasharray: `${circleProgress} 252` }"
36
- stroke="currentColor"
37
- stroke-linejoin="round"
38
- stroke-linecap="round"
39
- stroke-width="4"
40
- fill="none"
41
- cx="50"
42
- cy="50"
43
- r="40"
44
- />
45
- </svg>
6
+ // const validators = {
7
+ // variant: ['bar','score'],
8
+ // }
46
9
 
47
- <div
48
- v-if="variant === 'score'"
49
- class="space-x-1 inline-block"
50
- >
51
- <div
52
- v-for="index in scoreLength"
53
- :key="index"
54
- class="rounded-sm h-2 w-3 inline-block"
55
- :class="isScoreActive(index) ? [`bg-${color}-500`]: ['bg-gray-200 dark:bg-gray-700']"
56
- ></div>
57
- </div>
58
- </component>
59
- </template>
60
-
61
- <script>
62
- const validator = {
63
- variant: [
64
- 'bar',
65
- 'circle',
66
- 'score',
67
- ],
68
- }
69
-
70
- export default {
10
+ export default defineComponent({
71
11
  name: 'XProgress',
72
12
 
73
- validator,
13
+ // validators,
74
14
 
75
15
  props: {
76
- color: {
77
- type: String,
78
- default: 'primary',
79
- },
80
-
16
+ ...useColors.props('primary'),
81
17
  percentage: {
82
18
  type: Number,
83
19
  default: 0,
84
- validator: (val) => val >= 0 && val <= 100,
85
- },
86
-
87
- scoreLength: {
88
- type: Number,
89
- default: 3,
90
- },
91
-
92
- tag: {
93
- type: String,
94
- default: 'div',
20
+ validator: (value: number) => value >= 0 && value <= 100,
95
21
  },
96
-
97
- variant: {
98
- type: String,
99
- default: 'bar',
100
- validator: (value) => validator.variant.includes(value),
22
+ // variant: {
23
+ // type: String as PropType<'bar' | 'score'>,
24
+ // default: 'bar',
25
+ // validator: (value: string) => validators.variant.includes(value),
26
+ // },
27
+ gradient: Boolean,
28
+ animate: {
29
+ type: Boolean,
30
+ default: true,
101
31
  },
32
+ thick: Boolean,
102
33
  },
103
34
 
104
- computed: {
105
- circleProgress() {
106
- const progressLimit = 251
35
+ setup(props) {
36
+ const css = useCSS('progress')
37
+ const colors = useColors()
38
+ const style = computed(() => {
39
+ const color = colors.getPalette(props.color)
40
+ const vars = []
107
41
 
108
- return (progressLimit / 100) * this.percentage
109
- },
110
- },
42
+ vars.push(css.variables({
43
+ bg: color[500],
44
+ }))
111
45
 
112
- methods: {
113
- isScoreActive(item) {
114
- if (this.percentage > (item - 1) * (100 / this.scoreLength)) return true
46
+ if (props.gradient) vars.push({
47
+ '--tw-gradient-stops': `${color[100]}, ${color[800]}`,
48
+ })
115
49
 
116
- return false
117
- },
50
+ return vars
51
+ })
52
+
53
+ return {
54
+ style,
55
+ }
118
56
  },
119
- }
57
+ })
120
58
  </script>
59
+
60
+ <template>
61
+ <div
62
+ class="relative rounded bg-gray-100 dark:bg-gray-700 overflow-hidden pointer-events-none"
63
+ :class="[thick ? 'h-1.5' : 'h-1']"
64
+ :style="style"
65
+ >
66
+ <div
67
+ class="h-full"
68
+ :class="[
69
+ gradient ? 'bg-gradient-to-r' : 'bg-[color:var(--x-progress-bg)]',
70
+ {
71
+ 'duration-150 transition-[width]': animate
72
+ }
73
+ ]"
74
+ :style="[!gradient ? {width: `${percentage}%`} : '']"
75
+ >
76
+ </div>
77
+ <div
78
+ v-if="gradient"
79
+ class="absolute h-full bg-gray-100 dark:bg-gray-700 right-0 top-0"
80
+ :class="{ 'duration-150 transition-[width]': animate }"
81
+ :style="{
82
+ width: `${100 - percentage}%`
83
+ }"
84
+ ></div>
85
+ </div>
86
+ </template>