@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
@@ -0,0 +1,378 @@
1
+ import type { Tone, ColorLibrary, ColorPalette } from './colors'
2
+
3
+ const isHex = (hex: string) => /^#(?:[A-Fa-f0-9]{3}){1,2}$/.test(hex)
4
+ const isRGB = (rgb: string) => /^rgb[(](?:\s*0*(?:\d\d?(?:\.\d+)?(?:\s*%)?|\.\d+\s*%|100(?:\.0*)?\s*%|(?:1\d\d|2[0-4]\d|25[0-5])(?:\.\d+)?)\s*(?:,(?![)])|(?=[)]))){3}[)]$/.test(rgb)
5
+ const isRGBA = (rgba: string) => /^^rgba[(](?:\s*0*(?:\d\d?(?:\.\d+)?(?:\s*%)?|\.\d+\s*%|100(?:\.0*)?\s*%|(?:1\d\d|2[0-4]\d|25[0-5])(?:\.\d+)?)\s*,){3}\s*0*(?:\.\d+|1(?:\.0*)?)\s*[)]$/.test(rgba)
6
+ const parseRGB = (rgb: string) => rgb.match(/(?<=\().+?(?=\))/g)?.[0].split(',')
7
+ const hexToRGB = (hex: string) => hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (m, r, g, b) => '#' + r + r + g + g + b + b)
8
+ .substring(1).match(/.{2}/g)
9
+ ?.map((x) => parseInt(x, 16))
10
+
11
+ export const setOpacity = (color: string, opacity: number) => {
12
+ const [r, g, b] = (isHex(color) ? hexToRGB(color) : parseRGB(color)) ?? [0,0,0]
13
+
14
+ return 'rgba' + '(' + r + ',' + g + ',' + b + ',' + opacity + ')'
15
+ }
16
+
17
+ export const isValidColor = (color: string) => isHex(color) || isRGB(color) || isRGBA(color)
18
+
19
+ export const colorShade = (color: string, percentage: number) => {
20
+ const lighten = percentage < 0
21
+ const base = lighten ? 1 + percentage : 1 - percentage
22
+ const shade = lighten ? 0 : percentage * 255 ** 2
23
+ const calcPrimary = (p: string | number) => Math.round((base * Math.floor(Number(p)) ** 2 + shade) ** 0.5)
24
+
25
+ const [r, g, b, a] = (isHex(color) ? hexToRGB(color) : parseRGB(color)) ?? [0,0,0]
26
+ const red = calcPrimary(r)
27
+ const green = calcPrimary(g)
28
+ const blue = calcPrimary(b)
29
+
30
+ return 'rgb' + (a ? 'a(' : '(') + red + ',' + green + ',' + blue + (a ? ',' + a : ')')
31
+ }
32
+
33
+ export const shades: Tone[] = ['50', '100', '200', '300', '400', '500', '600', '700', '800', '900']
34
+ export const indielayerColors = ['primary', 'secondary', 'success', 'warning', 'error']
35
+
36
+ // calculate custom colors
37
+ export function calculateColors(): ColorLibrary {
38
+ const cc = computedColors
39
+ const customColors: ColorLibrary = {}
40
+ const e = document.createElement('div')
41
+
42
+ document.body.appendChild(e)
43
+
44
+ indielayerColors.forEach((color) => {
45
+ const c: ColorPalette = { ...tailwindColors.gray }
46
+
47
+ shades.forEach((shade) => {
48
+ e.className = `bg-${color}-${shade}`
49
+ c[shade] = window.getComputedStyle(e ,null).getPropertyValue('background-color')
50
+ })
51
+
52
+ customColors[color] = c
53
+ })
54
+
55
+ e.remove()
56
+
57
+ return customColors
58
+ }
59
+
60
+ const computedColors = Object.freeze([
61
+ 'bg-primary-50',
62
+ 'bg-primary-100',
63
+ 'bg-primary-200',
64
+ 'bg-primary-300',
65
+ 'bg-primary-400',
66
+ 'bg-primary-500',
67
+ 'bg-primary-600',
68
+ 'bg-primary-700',
69
+ 'bg-primary-800',
70
+ 'bg-primary-900',
71
+ 'bg-secondary-50',
72
+ 'bg-secondary-100',
73
+ 'bg-secondary-200',
74
+ 'bg-secondary-300',
75
+ 'bg-secondary-400',
76
+ 'bg-secondary-500',
77
+ 'bg-secondary-600',
78
+ 'bg-secondary-700',
79
+ 'bg-secondary-800',
80
+ 'bg-secondary-900',
81
+ 'bg-error-50',
82
+ 'bg-error-100',
83
+ 'bg-error-200',
84
+ 'bg-error-300',
85
+ 'bg-error-400',
86
+ 'bg-error-500',
87
+ 'bg-error-600',
88
+ 'bg-error-700',
89
+ 'bg-error-800',
90
+ 'bg-error-900',
91
+ 'bg-warning-50',
92
+ 'bg-warning-100',
93
+ 'bg-warning-200',
94
+ 'bg-warning-300',
95
+ 'bg-warning-400',
96
+ 'bg-warning-500',
97
+ 'bg-warning-600',
98
+ 'bg-warning-700',
99
+ 'bg-warning-800',
100
+ 'bg-warning-900',
101
+ 'bg-success-50',
102
+ 'bg-success-100',
103
+ 'bg-success-200',
104
+ 'bg-success-300',
105
+ 'bg-success-400',
106
+ 'bg-success-500',
107
+ 'bg-success-600',
108
+ 'bg-success-700',
109
+ 'bg-success-800',
110
+ 'bg-success-900',
111
+ ])
112
+
113
+ export const tailwindColors: ColorLibrary = Object.freeze({
114
+ slate: {
115
+ 50: '#f8fafc',
116
+ 100: '#f1f5f9',
117
+ 200: '#e2e8f0',
118
+ 300: '#cbd5e1',
119
+ 400: '#94a3b8',
120
+ 500: '#64748b',
121
+ 600: '#475569',
122
+ 700: '#334155',
123
+ 800: '#1e293b',
124
+ 900: '#0f172a',
125
+ },
126
+ gray: {
127
+ 50: '#f9fafb',
128
+ 100: '#f3f4f6',
129
+ 200: '#e5e7eb',
130
+ 300: '#d1d5db',
131
+ 400: '#9ca3af',
132
+ 500: '#6b7280',
133
+ 600: '#4b5563',
134
+ 700: '#374151',
135
+ 800: '#1f2937',
136
+ 900: '#111827',
137
+ },
138
+ zinc: {
139
+ 50: '#fafafa',
140
+ 100: '#f4f4f5',
141
+ 200: '#e4e4e7',
142
+ 300: '#d4d4d8',
143
+ 400: '#a1a1aa',
144
+ 500: '#71717a',
145
+ 600: '#52525b',
146
+ 700: '#3f3f46',
147
+ 800: '#27272a',
148
+ 900: '#18181b',
149
+ },
150
+ neutral: {
151
+ 50: '#fafafa',
152
+ 100: '#f5f5f5',
153
+ 200: '#e5e5e5',
154
+ 300: '#d4d4d4',
155
+ 400: '#a3a3a3',
156
+ 500: '#737373',
157
+ 600: '#525252',
158
+ 700: '#404040',
159
+ 800: '#262626',
160
+ 900: '#171717',
161
+ },
162
+ stone: {
163
+ 50: '#fafaf9',
164
+ 100: '#f5f5f4',
165
+ 200: '#e7e5e4',
166
+ 300: '#d6d3d1',
167
+ 400: '#a8a29e',
168
+ 500: '#78716c',
169
+ 600: '#57534e',
170
+ 700: '#44403c',
171
+ 800: '#292524',
172
+ 900: '#1c1917',
173
+ },
174
+ red: {
175
+ 50: '#fef2f2',
176
+ 100: '#fee2e2',
177
+ 200: '#fecaca',
178
+ 300: '#fca5a5',
179
+ 400: '#f87171',
180
+ 500: '#ef4444',
181
+ 600: '#dc2626',
182
+ 700: '#b91c1c',
183
+ 800: '#991b1b',
184
+ 900: '#7f1d1d',
185
+ },
186
+ orange: {
187
+ 50: '#fff7ed',
188
+ 100: '#ffedd5',
189
+ 200: '#fed7aa',
190
+ 300: '#fdba74',
191
+ 400: '#fb923c',
192
+ 500: '#f97316',
193
+ 600: '#ea580c',
194
+ 700: '#c2410c',
195
+ 800: '#9a3412',
196
+ 900: '#7c2d12',
197
+ },
198
+ amber: {
199
+ 50: '#fffbeb',
200
+ 100: '#fef3c7',
201
+ 200: '#fde68a',
202
+ 300: '#fcd34d',
203
+ 400: '#fbbf24',
204
+ 500: '#f59e0b',
205
+ 600: '#d97706',
206
+ 700: '#b45309',
207
+ 800: '#92400e',
208
+ 900: '#78350f',
209
+ },
210
+ yellow: {
211
+ 50: '#fefce8',
212
+ 100: '#fef9c3',
213
+ 200: '#fef08a',
214
+ 300: '#fde047',
215
+ 400: '#facc15',
216
+ 500: '#eab308',
217
+ 600: '#ca8a04',
218
+ 700: '#a16207',
219
+ 800: '#854d0e',
220
+ 900: '#713f12',
221
+ },
222
+ lime: {
223
+ 50: '#f7fee7',
224
+ 100: '#ecfccb',
225
+ 200: '#d9f99d',
226
+ 300: '#bef264',
227
+ 400: '#a3e635',
228
+ 500: '#84cc16',
229
+ 600: '#65a30d',
230
+ 700: '#4d7c0f',
231
+ 800: '#3f6212',
232
+ 900: '#365314',
233
+ },
234
+ green: {
235
+ 50: '#f0fdf4',
236
+ 100: '#dcfce7',
237
+ 200: '#bbf7d0',
238
+ 300: '#86efac',
239
+ 400: '#4ade80',
240
+ 500: '#22c55e',
241
+ 600: '#16a34a',
242
+ 700: '#15803d',
243
+ 800: '#166534',
244
+ 900: '#14532d',
245
+ },
246
+ emerald: {
247
+ 50: '#ecfdf5',
248
+ 100: '#d1fae5',
249
+ 200: '#a7f3d0',
250
+ 300: '#6ee7b7',
251
+ 400: '#34d399',
252
+ 500: '#10b981',
253
+ 600: '#059669',
254
+ 700: '#047857',
255
+ 800: '#065f46',
256
+ 900: '#064e3b',
257
+ },
258
+ teal: {
259
+ 50: '#f0fdfa',
260
+ 100: '#ccfbf1',
261
+ 200: '#99f6e4',
262
+ 300: '#5eead4',
263
+ 400: '#2dd4bf',
264
+ 500: '#14b8a6',
265
+ 600: '#0d9488',
266
+ 700: '#0f766e',
267
+ 800: '#115e59',
268
+ 900: '#134e4a',
269
+ },
270
+ cyan: {
271
+ 50: '#ecfeff',
272
+ 100: '#cffafe',
273
+ 200: '#a5f3fc',
274
+ 300: '#67e8f9',
275
+ 400: '#22d3ee',
276
+ 500: '#06b6d4',
277
+ 600: '#0891b2',
278
+ 700: '#0e7490',
279
+ 800: '#155e75',
280
+ 900: '#164e63',
281
+ },
282
+ sky: {
283
+ 50: '#f0f9ff',
284
+ 100: '#e0f2fe',
285
+ 200: '#bae6fd',
286
+ 300: '#7dd3fc',
287
+ 400: '#38bdf8',
288
+ 500: '#0ea5e9',
289
+ 600: '#0284c7',
290
+ 700: '#0369a1',
291
+ 800: '#075985',
292
+ 900: '#0c4a6e',
293
+ },
294
+ blue: {
295
+ 50: '#eff6ff',
296
+ 100: '#dbeafe',
297
+ 200: '#bfdbfe',
298
+ 300: '#93c5fd',
299
+ 400: '#60a5fa',
300
+ 500: '#3b82f6',
301
+ 600: '#2563eb',
302
+ 700: '#1d4ed8',
303
+ 800: '#1e40af',
304
+ 900: '#1e3a8a',
305
+ },
306
+ indigo: {
307
+ 50: '#eef2ff',
308
+ 100: '#e0e7ff',
309
+ 200: '#c7d2fe',
310
+ 300: '#a5b4fc',
311
+ 400: '#818cf8',
312
+ 500: '#6366f1',
313
+ 600: '#4f46e5',
314
+ 700: '#4338ca',
315
+ 800: '#3730a3',
316
+ 900: '#312e81',
317
+ },
318
+ violet: {
319
+ 50: '#f5f3ff',
320
+ 100: '#ede9fe',
321
+ 200: '#ddd6fe',
322
+ 300: '#c4b5fd',
323
+ 400: '#a78bfa',
324
+ 500: '#8b5cf6',
325
+ 600: '#7c3aed',
326
+ 700: '#6d28d9',
327
+ 800: '#5b21b6',
328
+ 900: '#4c1d95',
329
+ },
330
+ purple: {
331
+ 50: '#faf5ff',
332
+ 100: '#f3e8ff',
333
+ 200: '#e9d5ff',
334
+ 300: '#d8b4fe',
335
+ 400: '#c084fc',
336
+ 500: '#a855f7',
337
+ 600: '#9333ea',
338
+ 700: '#7e22ce',
339
+ 800: '#6b21a8',
340
+ 900: '#581c87',
341
+ },
342
+ fuchsia: {
343
+ 50: '#fdf4ff',
344
+ 100: '#fae8ff',
345
+ 200: '#f5d0fe',
346
+ 300: '#f0abfc',
347
+ 400: '#e879f9',
348
+ 500: '#d946ef',
349
+ 600: '#c026d3',
350
+ 700: '#a21caf',
351
+ 800: '#86198f',
352
+ 900: '#701a75',
353
+ },
354
+ pink: {
355
+ 50: '#fdf2f8',
356
+ 100: '#fce7f3',
357
+ 200: '#fbcfe8',
358
+ 300: '#f9a8d4',
359
+ 400: '#f472b6',
360
+ 500: '#ec4899',
361
+ 600: '#db2777',
362
+ 700: '#be185d',
363
+ 800: '#9d174d',
364
+ 900: '#831843',
365
+ },
366
+ rose: {
367
+ 50: '#fff1f2',
368
+ 100: '#ffe4e6',
369
+ 200: '#fecdd3',
370
+ 300: '#fda4af',
371
+ 400: '#fb7185',
372
+ 500: '#f43f5e',
373
+ 600: '#e11d48',
374
+ 700: '#be123c',
375
+ 800: '#9f1239',
376
+ 900: '#881337',
377
+ },
378
+ })
@@ -0,0 +1,82 @@
1
+ import { inject } from 'vue'
2
+ import { injectColorsKey } from './keys'
3
+ import { isValidColor, tailwindColors, colorShade, setOpacity } from './colors-utils'
4
+
5
+ export type Tone = '50' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900'
6
+
7
+ export interface ColorPalette {
8
+ 50: string
9
+ 100: string
10
+ 200: string
11
+ 300: string
12
+ 400: string
13
+ 500: string
14
+ 600: string
15
+ 700: string
16
+ 800: string
17
+ 900: string
18
+ }
19
+
20
+ export type ColorLibrary = Record<string, ColorPalette>
21
+
22
+ const colorCache: ColorLibrary = {}
23
+
24
+ const defaultColors = {
25
+ primary: tailwindColors.sky,
26
+ secondary: tailwindColors.slate,
27
+ success: tailwindColors.green,
28
+ warning: tailwindColors.yellow,
29
+ error: tailwindColors.red,
30
+ }
31
+
32
+ export const useColors = () => {
33
+ const customColors = inject(injectColorsKey) || defaultColors
34
+ // if (Object.keys(customColors).length === 0) customColors = calculateColors()
35
+
36
+ const getTailwindColor = (color: string) => tailwindColors[color]
37
+
38
+ const getColorOpacity = (color: string, opacity: number) => setOpacity(color, opacity)
39
+
40
+ const getPalette = (color: string): ColorPalette => {
41
+ const twColor = getTailwindColor(color)
42
+
43
+ if (twColor) return twColor
44
+ if (colorCache[color]) return colorCache[color]
45
+ if (customColors[color]) return customColors[color]
46
+
47
+ if (!isValidColor(color)) {
48
+ console.warn(`Invalid color: ${color}`)
49
+
50
+ return getTailwindColor('gray')
51
+ }
52
+
53
+ const palette = {
54
+ 50: colorShade(color, 0.9),
55
+ 100: colorShade(color, 0.8),
56
+ 200: colorShade(color, 0.6),
57
+ 300: colorShade(color, 0.4),
58
+ 400: colorShade(color, 0.1),
59
+ 500: color,
60
+ 600: colorShade(color, -0.1),
61
+ 700: colorShade(color, -0.25),
62
+ 800: colorShade(color, -0.58),
63
+ 900: colorShade(color, -0.7),
64
+ }
65
+
66
+ colorCache[color] = palette
67
+
68
+ return palette
69
+ }
70
+
71
+ return {
72
+ getPalette,
73
+ getColorOpacity,
74
+ }
75
+ }
76
+
77
+ useColors.props = (defaultColor?: string) => ({
78
+ color: {
79
+ type: String,
80
+ default: defaultColor,
81
+ },
82
+ } as const)
@@ -0,0 +1,20 @@
1
+ import type { PropType } from 'vue'
2
+
3
+ export type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | undefined
4
+
5
+ export const useCommon = () => {}
6
+
7
+ const validators = Object.freeze({
8
+ size: ['xs', 'sm', 'md', 'lg', 'xl'],
9
+ })
10
+
11
+ useCommon.props = () => ({
12
+ size: {
13
+ type: String as PropType<Size>,
14
+ validator: (value: string) => validators.size.includes(value),
15
+ },
16
+ } as const)
17
+
18
+ useCommon.validators = () => ({
19
+ ...validators,
20
+ })
@@ -0,0 +1,45 @@
1
+ const themes = ['dark']
2
+ const modifiers = ['hover', 'active', 'focus', 'visited']
3
+
4
+ const isTheme = (theme: string) => themes.includes(theme)
5
+ const isModifier = (modifier: string) => modifiers.includes(modifier)
6
+
7
+ export const useCSS = (namespace?: string) => {
8
+
9
+ const get = (name: string, value: string, theme?: string, modifier?: string) => `${variable(name,theme,modifier)}: ${value}`
10
+
11
+ const variable = (name: string, theme?: string, modifier?: string) =>
12
+ `--x${theme ? `-${theme}` : ''}${namespace ? `-${namespace}` : ''}-${name}${modifier ? `-${modifier}` : ''}`
13
+
14
+ const variables = (object: Record<string, string | object>, theme?: string, modifier?: string) => {
15
+ let styles: Record<string, string> = {}
16
+
17
+ for (const key in object) {
18
+ const keyValue = object[key]
19
+
20
+ if (!keyValue) break
21
+
22
+ if (isTheme(key)) {
23
+ styles = {
24
+ ...styles,
25
+ ...variables(<any>keyValue, key, modifier),
26
+ }
27
+ } else if (isModifier(key)) {
28
+ styles = {
29
+ ...styles,
30
+ ...variables(<any>keyValue, theme, key),
31
+ }
32
+ } else {
33
+ styles[variable(key, theme, modifier)] = <string>keyValue
34
+ }
35
+ }
36
+
37
+ return styles
38
+ }
39
+
40
+ return {
41
+ get,
42
+ variable,
43
+ variables,
44
+ }
45
+ }
@@ -0,0 +1,7 @@
1
+ export * from './keys'
2
+ export * from './common'
3
+ export * from './colors'
4
+ export * from './css'
5
+ export * from './inputtable'
6
+ export * from './interactive'
7
+ export * from './notification'
@@ -1,59 +1,14 @@
1
+ import type { Ref, PropType } from 'vue'
1
2
  import { ref, computed, inject, watch, onMounted, onUnmounted } from 'vue'
2
- import {
3
- withValidator as withInteractiveValidator,
4
- withProps as withInteractiveProps,
5
- useInteractive,
6
- } from './interactive'
7
-
8
- const validator = {
9
- ...withInteractiveValidator(),
10
- }
11
-
12
- export const withProps = () => ({
13
- ...withInteractiveProps(),
14
- name: {
15
- type: String,
16
- default: null,
17
- },
18
- modelValue: {
19
- type: [String, Number, Boolean, Function, Object, Array],
20
- default: null,
21
- },
22
- readonly: {
23
- type: Boolean,
24
- default: false,
25
- },
26
- required: {
27
- type: Boolean,
28
- default: false,
29
- },
30
- validateOnInput: {
31
- type: Boolean,
32
- default: true,
33
- },
34
- error: {
35
- type: String,
36
- default: '',
37
- },
38
- rules: {
39
- type: Array,
40
- default: () => [],
41
- },
42
- })
43
-
44
- export const withValidator = () => validator
3
+ import { injectFormKey } from './keys'
45
4
 
46
- export const withEmits = (useListeners = true) => {
47
- const emits = ['update:modelValue']
48
-
49
- if (!useListeners) return emits
50
-
51
- return emits.concat(['blur', 'focus', 'input', 'change'])
5
+ export interface XFormInputMethods {
6
+ focus: ()=> void,
7
+ validate: (val: any)=> boolean,
8
+ setError: (val: string)=> void
52
9
  }
53
10
 
54
- export const useInputtable = (props, { attrs, emit, useListeners = true } = {}) => {
55
- const interactive = useInteractive()
56
-
11
+ export const useInputtable = (props: any, { focus, emit, withListeners = true }: { focus: ()=> void, emit: any, withListeners?: boolean }) => {
57
12
  const isFirstValidation = ref(true)
58
13
  const errorInternal = ref(props.error)
59
14
 
@@ -63,9 +18,10 @@ export const useInputtable = (props, { attrs, emit, useListeners = true } = {})
63
18
  watch(() => props.error, (val) => { errorInternal.value = val })
64
19
  watch(() => props.name, (val) => { if (val) nameInternal.value = val })
65
20
 
66
- const form = inject('form', {
67
- registerInput: () => {},
68
- unregisterInput: () => {},
21
+ const form = inject(injectFormKey, {
22
+ registerInput: (inputName: string, methods: XFormInputMethods) => {},
23
+ unregisterInput: (inputName: string) => {},
24
+ isInsideForm: false,
69
25
  })
70
26
 
71
27
  const reset = () => {
@@ -74,11 +30,11 @@ export const useInputtable = (props, { attrs, emit, useListeners = true } = {})
74
30
  emit('update:modelValue', '')
75
31
  }
76
32
 
77
- const setError = (val) => {
33
+ const setError = (val: string) => {
78
34
  errorInternal.value = val
79
35
  }
80
36
 
81
- const validate = (val) => {
37
+ const validate = (val: any): boolean => {
82
38
  val = val || props.modelValue
83
39
 
84
40
  isFirstValidation.value = false
@@ -118,21 +74,20 @@ export const useInputtable = (props, { attrs, emit, useListeners = true } = {})
118
74
  return true
119
75
  }
120
76
 
121
- const inputListeners = useListeners ? computed(() => {
77
+ const inputListeners = withListeners ? computed(() => {
122
78
  return {
123
- attrs,
124
- blur: (event) => emit('blur', event),
125
- focus: (event) => emit('focus', event),
126
- input: (event) => {
127
- if (props.validateOnInput && !isFirstValidation.value) validate(event.target.value)
128
- emit('update:modelValue', event.target.value)
79
+ blur: (event: Event) => emit('blur', event),
80
+ focus: (event: Event) => emit('focus', event),
81
+ input: (event: Event) => {
82
+ if (props.validateOnInput && !isFirstValidation.value) validate((event.target as HTMLInputElement).value)
83
+ emit('update:modelValue', (event.target as HTMLInputElement).value)
129
84
  },
130
- change: (event) => emit('change', event),
85
+ change: (event: Event) => emit('change', event),
131
86
  }
132
- }) : ref({})
87
+ }) : {}
133
88
 
134
89
  onMounted(() => {
135
- form.registerInput(nameInternal.value, { focus: interactive.focus, validate, setError })
90
+ form.registerInput(nameInternal.value, focus, validate, setError)
136
91
  })
137
92
 
138
93
  onUnmounted(() => {
@@ -140,18 +95,34 @@ export const useInputtable = (props, { attrs, emit, useListeners = true } = {})
140
95
  })
141
96
 
142
97
  return {
143
- ...interactive,
144
-
145
- // data
146
98
  isFirstValidation,
147
99
  errorInternal,
148
-
149
- // computed
100
+ isInsideForm: form.isInsideForm,
150
101
  inputListeners,
151
-
152
- // methods
153
102
  reset,
154
103
  validate,
155
104
  setError,
156
105
  }
157
106
  }
107
+
108
+ useInputtable.emits = (withListeners = true): string[] => {
109
+ return withListeners ?
110
+ ['update:modelValue', 'blur', 'focus', 'input', 'change'] :
111
+ ['update:modelValue']
112
+ }
113
+
114
+ useInputtable.props = () => ({
115
+ modelValue: [String, Number, Boolean, Object, Array] as PropType<[string, number, boolean, object, []]>,
116
+ name: String,
117
+ readonly: Boolean,
118
+ required: Boolean,
119
+ validateOnInput: {
120
+ type: Boolean,
121
+ default: true,
122
+ },
123
+ error: String,
124
+ rules: {
125
+ type: Array,
126
+ default: () => [],
127
+ },
128
+ } as const)