@indielayer/ui 0.2.4 → 1.0.0-alpha.3

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 +6172 -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 +50 -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 -92
  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 -135
  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 -69
  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 -122
  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 -67
  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 -120
  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 -4361
  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 -19
  396. package/src/tailwind.preset.js +0 -24
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ install: (app: import("vue").App<any>, installOptions?: import("./create").IndielayerUIOptions) => void;
3
+ };
4
+ export default _default;
package/lib/nuxt.js ADDED
@@ -0,0 +1,32 @@
1
+ import { defineNuxtModule, addPlugin, createResolver } from '@nuxt/kit'
2
+ import { fileURLToPath } from 'node:url'
3
+
4
+ export default defineNuxtModule({
5
+ meta: {
6
+ name: '@indielayer/ui',
7
+ configKey: 'indielayer',
8
+ compatibility: {
9
+ nuxt: '^3.0.0',
10
+ },
11
+ },
12
+ defaults: {
13
+ prefix: 'X',
14
+ },
15
+ async setup(options, nuxt) {
16
+ // Create resolver to resolve relative paths
17
+ const { resolve } = createResolver(import.meta.url)
18
+
19
+ nuxt.options.runtimeConfig.public.indielayerOptions = options
20
+
21
+ // plugin install
22
+ addPlugin(resolve('./nuxt.plugin.js'))
23
+
24
+ // nuxt install
25
+ nuxt.hook('components:dirs', (dirs) => {
26
+ dirs.push({
27
+ path: fileURLToPath(new URL('../src/components', import.meta.url)),
28
+ prefix: options?.prefix ? options?.prefix : 'X',
29
+ })
30
+ })
31
+ },
32
+ })
@@ -0,0 +1,8 @@
1
+ import { defineNuxtPlugin } from '#app'
2
+ import create from '../src/create'
3
+
4
+ export default defineNuxtPlugin((nuxtApp) => {
5
+ const UI = create(nuxtApp.$config.indielayerOptions)
6
+
7
+ nuxtApp.vueApp.use(UI)
8
+ })
package/lib/style.css ADDED
@@ -0,0 +1 @@
1
+ ._alert_1sdha_2[data-v-35ce54d8]{color:var(--x-alert-text);background-color:var(--x-alert-bg);border-color:var(--x-alert-border)}._alert--glow_1sdha_1[data-v-35ce54d8]{box-shadow:0 0 #000,0 0 #000,0 10px 15px -3px var(--x-alert-glow),0 4px 6px -4px var(--x-alert-glow)}.dark ._alert_1sdha_2[data-v-35ce54d8]{color:var(--x-dark-alert-text, var(--x-alert-text));background-color:var(--x-dark-alert-bg, var(--x-alert-bg));border-color:var(--x-dark-alert-border, var(--x-alert-border))}._avatar_v7jzc_2[data-v-243016db]{color:var(--x-avatar-text);background-color:var(--x-avatar-bg);border-color:var(--x-avatar-border)}.dark ._avatar_v7jzc_2[data-v-243016db]{color:var(--x-dark-avatar-text, var(--x-avatar-text));background-color:var(--x-dark-avatar-bg, var(--x-avatar-bg));border-color:var(--x-dark-avatar-border, var(--x-avatar-border))}._button_1sbr9_2[data-v-d8eeb328]{color:var(--x-button-text);background-color:var(--x-button-bg);border-color:var(--x-button-border)}._button--glow_1sbr9_1[data-v-d8eeb328]{box-shadow:0 0 #000,0 0 #000,0 10px 15px -3px var(--x-button-glow),0 4px 6px -4px var(--x-button-glow)}._button_1sbr9_2[data-v-d8eeb328]:hover{color:var(--x-button-text-hover, var(--x-button-text));background-color:var(--x-button-bg-hover, var(--x-button-bg));border-color:var(--x-button-border-hover, var(--x-button-border))}._button_1sbr9_2[data-v-d8eeb328]:active{color:var(--x-button-text-active, var(--x-button-text));background-color:var(--x-button-bg-active, var(--x-button-bg));border-color:var(--x-button-border-active, var(--x-button-border))}.dark ._button_1sbr9_2[data-v-d8eeb328]{color:var(--x-dark-button-text, var(--x-button-text));background-color:var(--x-dark-button-bg, var(--x-button-bg));border-color:var(--x-dark-button-border, var(--x-button-border))}.dark ._button_1sbr9_2[data-v-d8eeb328]:hover{color:var(--x-dark-button-text-hover, var(--x-dark-button-text, var(--x-button-text)));background-color:var(--x-dark-button-bg-hover, var(--x-dark-button-bg, var(--x-button-bg)));border-color:var(--x-dark-button-border-hover, var(--x-dark-button-border, var(--x-button-border)))}.dark ._button_1sbr9_2[data-v-d8eeb328]:active{color:var(--x-dark-button-text-active, var(--x-dark-button-text));background-color:var(--x-dark-button-bg-active, var(--x-dark-button-bg, var(--x-button-bg)));border-color:var(--x-dark-button-border-active, var(--x-dark-button-border, var(--x-button-border)))}._button-group_s7fyl_2:not(._button-group--rounded_s7fyl_1)>:first-child{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-left-width:1px}._button-group_s7fyl_2:not(._button-group--rounded_s7fyl_1)>:last-child{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}._button-group--rounded_s7fyl_1>:first-of-type{border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-left-width:1px}._button-group--rounded_s7fyl_1>:last-child{border-top-right-radius:9999px;border-bottom-right-radius:9999px}._checkbox--glow_1dz66_1[data-v-54fce636]{box-shadow:0 0 #000,0 0 #000,0 10px 15px -3px var(--x-glow),0 4px 6px -4px var(--x-glow)}._scrollWrap_1k3q9_2[data-v-ff88aa62]:before,._scrollWrap_1k3q9_2[data-v-ff88aa62]:after{content:"";pointer-events:none;position:absolute;z-index:1;transition:box-shadow .2s}._scrollWrap_1k3q9_2._horizontal_1k3q9_11[data-v-ff88aa62]:before,._scrollWrap_1k3q9_2._horizontal_1k3q9_11[data-v-ff88aa62]:after{top:0;bottom:0;width:20px}._scrollWrap_1k3q9_2._vertical_1k3q9_17[data-v-ff88aa62]:before,._scrollWrap_1k3q9_2._vertical_1k3q9_17[data-v-ff88aa62]:after{right:0;left:0;height:20px}._scrollWrap_1k3q9_2._horizontal_1k3q9_11[data-v-ff88aa62]:before{left:0}._scrollWrap_1k3q9_2._horizontal_1k3q9_11[data-v-ff88aa62]:after{right:0}._scrollWrap_1k3q9_2._vertical_1k3q9_17[data-v-ff88aa62]:before{top:0}._scrollWrap_1k3q9_2._vertical_1k3q9_17[data-v-ff88aa62]:after{bottom:0}._scrollWrap_1k3q9_2._shadow-left_1k3q9_36[data-v-ff88aa62]:before{box-shadow:inset 12px 0 10px -10px #00000012}._scrollWrap_1k3q9_2._shadow-right_1k3q9_40[data-v-ff88aa62]:after{box-shadow:inset -12px 0 10px -10px #00000012}._scrollWrap_1k3q9_2._shadow-top_1k3q9_44[data-v-ff88aa62]:before{box-shadow:inset 0 12px 10px -10px #00000012}._scrollWrap_1k3q9_2._shadow-bottom_1k3q9_48[data-v-ff88aa62]:after{box-shadow:inset 0 -12px 10px -10px #00000012}._hideScroll_1k3q9_53[data-v-ff88aa62]{-ms-overflow-style:auto;scrollbar-width:none}._hideScroll_1k3q9_53[data-v-ff88aa62]::-webkit-scrollbar{display:none}._link--shadow_1tilo_1[data-v-b6c57c10]{box-shadow:inset 0 -.315em 0 0 var(--x-shadow)}._link--shadow_1tilo_1[data-v-b6c57c10]:hover{box-shadow:inset 0 -1.125em 0 0 var(--x-shadow)}.dark ._link--shadow_1tilo_1[data-v-b6c57c10]{box-shadow:inset 0 -.315em 0 0 var(--x-dark-shadow)}.dark ._link--shadow_1tilo_1[data-v-b6c57c10]:hover{box-shadow:inset 0 -1.125em 0 0 var(--x-dark-shadow)}._menu-item_1v1kj_2[data-v-2c7185df]{color:var(--x-text);background-color:var(--x-bg)}._menu-item_1v1kj_2[data-v-2c7185df]:before{content:"";position:absolute;left:-1px;height:100%;width:1px;background-color:transparent}._menu-item_1v1kj_2[data-v-2c7185df]:hover{color:var(--x-text-hover, var(--x-text));background-color:var(--x-bg-hover, var(--x-bg))}.dark ._menu-item_1v1kj_2[data-v-2c7185df]{color:var(--x-dark-text);background:var(--x-dark-bg)}.dark ._menu-item_1v1kj_2[data-v-2c7185df]:hover{color:var(--x-dark-text-hover, var(--x-dark-text));background-color:var(--x-dark-bg-hover, var(--x-dark-bg))}.x-menu-inner ._menu-item_1v1kj_2[data-v-2c7185df]:hover:before,.x-menu-inner ._menu-item--active_1v1kj_1[data-v-2c7185df]:before{background-color:var(--x-border-hover)}._popover_2vipi_2 ._popoverContent_2vipi_3{visibility:hidden;transition-duration:.1s;transition-timing-function:cubic-bezier(.4,0,1,1)}._popover_2vipi_2 ._popoverTop_2vipi_8{--tw-translate-y: .5rem}._popover_2vipi_2 ._popoverRight_2vipi_11{--tw-translate-x: -.5rem}._popover_2vipi_2 ._popoverBottom_2vipi_14{--tw-translate-y: -.25rem}._popover_2vipi_2 ._popoverLeft_2vipi_17{--tw-translate-x: .5rem}._popover_2vipi_2._hover_2vipi_21:hover ._popoverContent_2vipi_3,._popover_2vipi_2._is-open_2vipi_22 ._popoverContent_2vipi_3{visibility:visible;transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1)}._popover_2vipi_2._hover_2vipi_21:hover ._popoverTop_2vipi_8,._popover_2vipi_2._is-open_2vipi_22 ._popoverTop_2vipi_8{--tw-translate-y: .25rem}._popover_2vipi_2._hover_2vipi_21:hover ._popoverRight_2vipi_11,._popover_2vipi_2._is-open_2vipi_22 ._popoverRight_2vipi_11{--tw-translate-x: 0px}._popover_2vipi_2._hover_2vipi_21:hover ._popoverBottom_2vipi_14,._popover_2vipi_2._is-open_2vipi_22 ._popoverBottom_2vipi_14{--tw-translate-y: .25rem}._popover_2vipi_2._hover_2vipi_21:hover ._popoverLeft_2vipi_17,._popover_2vipi_2._is-open_2vipi_22 ._popoverLeft_2vipi_17{--tw-translate-x: 0px}._radio--glow_14rlz_1[data-v-857bd200]{box-shadow:0 0 #000,0 0 #000,0 10px 15px -3px var(--x-glow),0 4px 6px -4px var(--x-glow)}
@@ -1,26 +1,55 @@
1
- 'use strict';
1
+ const colors = require('tailwindcss/colors')
2
2
 
3
- const { borderRadius } = require('tailwindcss/defaultTheme');
4
- const colors = require('tailwindcss/colors');
5
-
6
- module.exports = {
3
+ module.exports = (useDark = true) => ({
7
4
  theme: {
8
5
  extend: {
9
6
  colors: {
10
- primary: colors.blue,
7
+ primary: colors.emerald,
11
8
  secondary: colors.slate,
12
9
  success: colors.green,
13
10
  warning: colors.yellow,
14
11
  error: colors.red,
15
12
  },
16
- borderRadius: {
17
- button: borderRadius.md,
18
- form: borderRadius.md,
19
- },
20
- backgroundImage: {
21
- 'dark-image': 'linear-gradient(rgba(0, 0, 0, 0.15) 0 0)',
22
- 'darker-image': 'linear-gradient(rgba(0, 0, 0, 0.30) 0 0)',
13
+ borderColor: colors.gray[100],
14
+ fontFamily: {
15
+ sans: [
16
+ 'Inter',
17
+ '-apple-system',
18
+ 'BlinkMacSystemFont',
19
+ 'ui-sans-serif',
20
+ 'system-ui',
21
+ '"Segoe UI"',
22
+ 'Roboto',
23
+ '"Helvetica Neue"',
24
+ 'Arial',
25
+ '"Noto Sans"',
26
+ 'sans-serif',
27
+ '"Apple Color Emoji"',
28
+ '"Segoe UI Emoji"',
29
+ '"Segoe UI Symbol"',
30
+ '"Noto Color Emoji"',
31
+ ],
23
32
  },
24
33
  },
25
34
  },
26
- };
35
+ plugins: useDark ? [
36
+ ({ addBase, config }) => {
37
+ addBase({
38
+ html: {
39
+ color: config('theme.colors.gray.900'),
40
+ backgroundColor: 'white',
41
+ },
42
+ 'html.dark': {
43
+ color: config('theme.colors.gray.100'),
44
+ backgroundColor: config('theme.colors.gray.900'),
45
+ },
46
+ '*, ::before, ::after': {
47
+ borderColor: colors.gray[200],
48
+ },
49
+ '.dark *, .dark ::before, .dark ::after': {
50
+ borderColor: colors.slate[700],
51
+ },
52
+ })
53
+ },
54
+ ] : [],
55
+ })
@@ -0,0 +1,2 @@
1
+ declare const _default: "1.0.0-alpha.3";
2
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indielayer/ui",
3
- "version": "0.2.4",
3
+ "version": "1.0.0-alpha.3",
4
4
  "description": "Indielayer UI Components with Tailwind CSS build for Vue 3",
5
5
  "author": {
6
6
  "name": "João Teixeira",
@@ -8,6 +8,7 @@
8
8
  },
9
9
  "keywords": [
10
10
  "vue",
11
+ "vue 3",
11
12
  "tailwindcss",
12
13
  "components",
13
14
  "ui framework",
@@ -18,43 +19,53 @@
18
19
  ],
19
20
  "files": [
20
21
  "lib",
21
- "src"
22
+ "src",
23
+ "*.d.ts",
24
+ "README.md"
22
25
  ],
23
- "main": "lib/cjs",
24
- "module": "lib/esm",
25
- "browser": "lib/umd",
26
+ "main": "lib/index.cjs.js",
27
+ "module": "lib/index.es.js",
28
+ "typings": "lib/index.d.ts",
26
29
  "exports": {
27
30
  ".": {
28
- "import": "./lib/esm/index.js",
29
- "require": "./lib/cjs/index.js"
31
+ "import": "./lib/index.es.js",
32
+ "require": "./lib/index.cjs.js"
30
33
  },
31
- "./nuxt": "./src/nuxt.js",
34
+ "./nuxt": "./lib/nuxt.js",
35
+ "./style": "./lib/style.css",
36
+ "./styles": "./lib/style.css",
37
+ "./nuxt.plugin": "./lib/nuxt.plugin.js",
38
+ "./nuxt.plugin.js": "./lib/nuxt.plugin.js",
32
39
  "./tailwind.preset": "./lib/tailwind.preset.js",
33
40
  "./tailwind.preset.js": "./lib/tailwind.preset.js"
34
41
  },
35
42
  "sideEffects": false,
36
- "scripts": {
37
- "dev": "npm run serve",
38
- "build": "NODE_ENV=production rollup --config ./rollup.config.js",
39
- "serve": "rollup --config ./rollup.config.js --watch",
40
- "test": "echo \"Error: no test specified\" && exit 1"
41
- },
42
- "dependencies": {
43
- "vue": "^3.0.5"
43
+ "peerDependencies": {
44
+ "tailwindcss": "^3.0.0",
45
+ "vue": "^3.0.0"
44
46
  },
45
47
  "devDependencies": {
46
- "@rollup/plugin-node-resolve": "^13.0.0",
47
- "@vue/cli-service": "~4.5.0",
48
- "@vue/compiler-sfc": "^3.0.0",
48
+ "@cypress/vite-dev-server": "^2.2.2",
49
+ "@cypress/vue": "^3.1.1",
50
+ "@rushstack/eslint-patch": "^1.1.3",
51
+ "@types/node": "^17.0.30",
52
+ "@vitejs/plugin-vue": "^2.3.1",
53
+ "@vitejs/plugin-vue-jsx": "^1.3.10",
54
+ "@vue/tsconfig": "^0.1.3",
55
+ "@vueuse/core": "^8.4.2",
49
56
  "autoprefixer": "^10.4.0",
57
+ "chokidar-cli": "^3.0.0",
58
+ "clean-css": "^5.3.0",
59
+ "cypress": "^9.6.0",
60
+ "eslint": "^8.16.0",
61
+ "eslint-plugin-cypress": "^2.12.1",
50
62
  "postcss": "^8.4.4",
51
- "rollup": "^2.48.0",
52
- "rollup-plugin-cleaner": "^1.0.0",
53
- "rollup-plugin-commonjs": "^10.1.0",
54
- "rollup-plugin-postcss": "^4.0.1",
55
- "rollup-plugin-terser": "^7.0.2",
56
- "rollup-plugin-vue": "^6.0.0",
57
- "tailwindcss": "^3.0.0"
63
+ "start-server-and-test": "^1.14.0",
64
+ "tailwindcss": "^3.0.0",
65
+ "typescript": "^4.7.2",
66
+ "vite": "^2.9.5",
67
+ "vue": "^3.2.33",
68
+ "vue-tsc": "^0.34.15"
58
69
  },
59
70
  "browserslist": [
60
71
  "> 1%",
@@ -73,5 +84,16 @@
73
84
  "publishConfig": {
74
85
  "access": "public"
75
86
  },
76
- "gitHead": "bc828716102b0e6063aa0db9cd74c84e46fbe9a7"
77
- }
87
+ "scripts": {
88
+ "dev": "pnpm build-only && chokidar \"./src/**\" -c \"pnpm build-only\"",
89
+ "dev2": "vite build --watch",
90
+ "build": "pnpm generate && vite build",
91
+ "build-prod": "pnpm build && pnpm gen-types",
92
+ "typecheck": "vue-tsc --noEmit",
93
+ "build-only": "vite build",
94
+ "generate": "pnpm gen-version",
95
+ "gen-types": "vue-tsc --declaration --emitDeclarationOnly",
96
+ "gen-version": "node .scripts/gen-version.js",
97
+ "test": "echo \"Error: no test specified\" && exit 1"
98
+ }
99
+ }
@@ -0,0 +1,164 @@
1
+ <script lang="ts">
2
+ import { computed, defineComponent, type PropType } from 'vue'
3
+ import { useColors } from '../../composables/colors'
4
+ import { useCSS } from '../../composables/css'
5
+
6
+ export default defineComponent({
7
+ name: 'XAlert',
8
+
9
+ props: {
10
+ ...useColors.props(),
11
+ tag: {
12
+ type: String,
13
+ default: 'div',
14
+ },
15
+ type: String as PropType<'info' | 'success' | 'error' | 'warning' | undefined>,
16
+ glow: Boolean,
17
+ light: Boolean,
18
+ outlined: Boolean,
19
+ removable: Boolean,
20
+ },
21
+
22
+ emits: ['remove'],
23
+
24
+ setup(props) {
25
+ const css = useCSS('alert')
26
+ const colors = useColors()
27
+ const gray = colors.getPalette('gray')
28
+ const styles = computed(() => {
29
+ const color = colors.getPalette(props.color)
30
+ const vars: (object | string)[] = []
31
+
32
+ if (props.glow) vars.push(css.get('glow', colors.getColorOpacity(color[500], 0.5)))
33
+
34
+ if (props.color) {
35
+ if (props.light) {
36
+ vars.push(css.variables({
37
+ bg: color[50],
38
+ text: color[600],
39
+ icon: color[600],
40
+ border: props.outlined ? color[600] : color[50],
41
+ dark: {
42
+ bg: color[200],
43
+ text: color[800],
44
+ icon: color[600],
45
+ border: props.outlined ? color[500] : color[200],
46
+ },
47
+ }))
48
+ } else {
49
+ vars.push(css.variables({
50
+ bg: props.outlined ? 'transparent' : color[600],
51
+ text: props.outlined ? color[600] : color[50],
52
+ icon: props.outlined ? color[600] : color[50],
53
+ border: color[600],
54
+ dark: {
55
+ border: color[400],
56
+ text: props.outlined ? color[400] : color[50],
57
+ },
58
+ }))
59
+ }
60
+
61
+ return vars
62
+ }
63
+
64
+ vars.push(css.variables({
65
+ bg: 'transparent',
66
+ text: color[500],
67
+ border: color[300],
68
+ dark: {
69
+ bg: 'transparent',
70
+ text: color[300],
71
+ border: color[500],
72
+ },
73
+ }))
74
+
75
+ return vars
76
+ })
77
+
78
+ return {
79
+ styles,
80
+ }
81
+ },
82
+ })
83
+ </script>
84
+
85
+ <template>
86
+ <component
87
+ :is="tag"
88
+ class="flex rounded-md px-4 py-2 border items-center"
89
+ :class="[
90
+ $style['alert'],
91
+ glow ? $style['alert--glow'] : '',
92
+ ]"
93
+ :style="styles"
94
+ >
95
+ <div v-if="$slots.icon" class="flex-none pr-2">
96
+ <slot name="icon"></slot>
97
+ </div>
98
+ <svg
99
+ v-else-if="type"
100
+ width="24"
101
+ height="24"
102
+ viewBox="0 0 24 24"
103
+ stroke="currentColor"
104
+ stroke-linejoin="round"
105
+ stroke-linecap="round"
106
+ fill="none"
107
+ role="presentation"
108
+ class="flex-none stroke-2 w-5 h-5 mr-2 text-[color:var(--x-alert-icon)] dark:text-[color:var(--x-dark-alert-icon)]"
109
+ >
110
+ <template v-if="type === 'info'">
111
+ <path d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
112
+ </template>
113
+
114
+ <template v-if="type === 'success'">
115
+ <path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
116
+ </template>
117
+
118
+ <template v-if="type === 'error'">
119
+ <path d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
120
+ </template>
121
+ <template v-if="type === 'warning'">
122
+ <path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
123
+ </template>
124
+ </svg>
125
+
126
+ <slot></slot>
127
+
128
+ <template v-if="removable">
129
+ <div class="flex-grow"></div>
130
+ <svg
131
+ width="24"
132
+ height="24"
133
+ viewBox="0 0 24 24"
134
+ stroke="currentColor"
135
+ stroke-linejoin="round"
136
+ stroke-linecap="round"
137
+ fill="none"
138
+ role="presentation"
139
+ class="stroke-2 w-5 h-5 ml-1 cursor-pointer shrink-0"
140
+ @click="(e) => $emit('remove', e)"
141
+ >
142
+ <path d="M6 18L18 6M6 6l12 12" />
143
+ </svg>
144
+ </template>
145
+ </component>
146
+ </template>
147
+
148
+ <style lang="postcss" module scoped>
149
+ .alert {
150
+ color: var(--x-alert-text);
151
+ background-color: var(--x-alert-bg);
152
+ border-color: var(--x-alert-border);
153
+
154
+ &--glow {
155
+ box-shadow: 0 0 #000, 0 0 #000, 0 10px 15px -3px var(--x-alert-glow), 0 4px 6px -4px var(--x-alert-glow);
156
+ }
157
+
158
+ :global(.dark) & {
159
+ color: var(--x-dark-alert-text, var(--x-alert-text));
160
+ background-color: var(--x-dark-alert-bg, var(--x-alert-bg));
161
+ border-color: var(--x-dark-alert-border, var(--x-alert-border));
162
+ }
163
+ }
164
+ </style>
@@ -1,120 +1,137 @@
1
- <template>
2
- <component
3
- :is="tag"
4
- class="inline-flex items-center justify-center overflow-hidden"
5
- :class="[
6
- // color
7
- { [`bg-${color}-500 text-${color}-50`]: !source && !outlined },
8
- {
9
- // border
10
- 'border border-gray-400 dark:border-gray-500': !source && outlined,
11
-
12
- // size
13
- 'h-6 w-6 text-xs': size === 'xs',
14
- 'h-7 w-7 text-sm': size === 'sm',
15
- 'h-10 w-10': !['xs', 'sm', 'lg', 'xl'].includes(size),
16
- 'h-12 w-12 text-lg': size === 'lg',
17
- 'h-20 w-20 text-2xl': size === 'xl',
18
- 'h-36 w-36 text-2xl': size === '2xl',
19
- },
20
- squared ? 'rounded-md' : 'rounded-full'
21
- ]"
22
- >
23
- <span
24
- v-if="!source && name"
25
- class="leading-none"
26
- >{{ initials }}</span>
1
+ <script lang="ts">
2
+ import { computed, defineComponent, ref, watch } from 'vue'
3
+ import { useCommon } from '../../composables/common'
4
+ import { useColors } from '../../composables/colors'
5
+ import { useCSS } from '../../composables/css'
27
6
 
28
- <img
29
- v-if="source"
30
- :alt="alt"
31
- :src="src"
32
- class="h-full w-full"
33
- />
34
- </component>
35
- </template>
7
+ import XIcon from '../../components/icon/Icon.vue'
36
8
 
37
- <script>
38
- const validator = {
39
- variant: [
40
- 'rounded',
41
- 'squared',
42
- ],
43
- }
44
-
45
- export default {
9
+ export default defineComponent({
46
10
  name: 'XAvatar',
47
11
 
48
- validator,
49
-
50
- props: {
51
- alt: {
52
- type: String,
53
- default: null,
54
- },
55
-
56
- color: {
57
- type: String,
58
- default: 'primary',
59
- },
60
-
61
- name: {
62
- type: String,
63
- default: null,
64
- },
65
-
66
- size: {
67
- type: String,
68
- default: null,
69
- },
70
-
71
- outlined: {
72
- type: Boolean,
73
- default: false,
74
- },
12
+ components: {
13
+ XIcon,
14
+ },
75
15
 
76
- src: {
77
- type: String,
78
- default: null,
79
- },
16
+ validators: {
17
+ ...useCommon.validators(),
18
+ },
80
19
 
20
+ props: {
21
+ ...useCommon.props(),
22
+ ...useColors.props('primary'),
81
23
  tag: {
82
24
  type: String,
83
- default: 'span',
25
+ default: 'div',
84
26
  },
85
-
86
- squared: {
87
- type: Boolean,
88
- default: false,
89
- },
90
- },
91
-
92
- data() {
93
- return {
94
- source: null,
95
- }
27
+ name: String,
28
+ alt: String,
29
+ image: String,
30
+ outlined: Boolean,
31
+ rounded: Boolean,
96
32
  },
97
33
 
98
- computed: {
99
- initials() {
100
- if (this.name) {
101
- const initials = this.name.match(/\b\w/g) || []
34
+ setup(props) {
35
+ const avatarIcon = '<path d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" />'
36
+ const source = ref<string>()
37
+ const initials = computed(() => {
38
+ if (props.name) {
39
+ const initials = props.name.match(/\b\w/g) || []
102
40
 
103
41
  return ((initials.shift() || '') + (initials.pop() || '')).toUpperCase()
104
42
  }
105
43
 
106
44
  return ''
107
- },
108
- },
45
+ })
109
46
 
110
- mounted() {
111
- if (this.src) {
47
+ watch(() => props.image, (src) => {
48
+ if (!src) return
112
49
  const img = new Image()
113
50
 
114
- img.onload = () => { this.source = this.src }
51
+ img.onload = () => { source.value = props.image }
115
52
  img.onerror = () => { }
116
- img.src = this.src
53
+ img.src = src
54
+ }, {
55
+ immediate: true,
56
+ })
57
+
58
+ const sizeClasses = computed(() => {
59
+ if (props.size === 'xs') return 'h-6 w-6 text-xs'
60
+ else if (props.size === 'sm') return 'h-9 w-9 text-sm'
61
+ else if (props.size === 'lg') return 'h-12 w-12 text-lg'
62
+ else if (props.size === 'xl') return 'h-[3.75rem] w-[3.75rem] text-xl'
63
+
64
+ return 'h-10 w-10'
65
+ })
66
+
67
+ const css = useCSS('avatar')
68
+ const colors = useColors()
69
+ const styles = computed(() => {
70
+ const color = colors.getPalette(props.color)
71
+
72
+ if (source.value) return css.variables({
73
+ bg: 'transparent',
74
+ border: props.outlined ? color[500] : 'transparent',
75
+ })
76
+
77
+ return css.variables({
78
+ bg: color[100],
79
+ text: color[500],
80
+ border: props.outlined ? color[500] : 'transparent',
81
+ dark: {
82
+ bg: color[200],
83
+ },
84
+ })
85
+ })
86
+
87
+ return {
88
+ avatarIcon,
89
+ source,
90
+ initials,
91
+ sizeClasses,
92
+ styles,
117
93
  }
118
94
  },
119
- }
95
+ })
120
96
  </script>
97
+
98
+ <template>
99
+ <component
100
+ :is="tag"
101
+ class="relative inline-flex items-center justify-center overflow-hidden align-middle border box-content"
102
+ :style="styles"
103
+ :class="[
104
+ $style.avatar,
105
+ sizeClasses,
106
+ rounded ? 'rounded-full' : 'rounded-md'
107
+ ]"
108
+ >
109
+ <span
110
+ v-if="!source && name"
111
+ class="leading-none"
112
+ >{{ initials }}</span>
113
+ <slot v-else>
114
+ <x-icon :size="size" :icon="avatarIcon"/>
115
+ </slot>
116
+ <img
117
+ v-if="source"
118
+ :alt="alt"
119
+ :src="image"
120
+ class="h-full w-full"
121
+ />
122
+ </component>
123
+ </template>
124
+
125
+ <style lang="postcss" module scoped>
126
+ .avatar {
127
+ color: var(--x-avatar-text);
128
+ background-color: var(--x-avatar-bg);
129
+ border-color: var(--x-avatar-border);
130
+
131
+ :global(.dark) & {
132
+ color: var(--x-dark-avatar-text, var(--x-avatar-text));
133
+ background-color: var(--x-dark-avatar-bg, var(--x-avatar-bg));
134
+ border-color: var(--x-dark-avatar-border, var(--x-avatar-border));
135
+ }
136
+ }
137
+ </style>