@indielayer/ui 0.2.3 → 1.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/README.md +28 -12
  2. package/env.d.ts +1 -0
  3. package/lib/components/alert/Alert.vue.d.ts +42 -0
  4. package/lib/components/avatar/Avatar.vue.d.ts +49 -0
  5. package/lib/components/badge/Badge.vue.d.ts +70 -0
  6. package/lib/components/breadcrumbs/Breadcrumbs.vue.d.ts +30 -0
  7. package/lib/components/button/Button.vue.d.ts +87 -0
  8. package/lib/components/button/ButtonGroup.vue.d.ts +49 -0
  9. package/lib/components/card/Card.vue.d.ts +17 -0
  10. package/lib/components/checkbox/Checkbox.vue.d.ts +81 -0
  11. package/lib/components/collapse/Collapse.vue.d.ts +47 -0
  12. package/lib/components/container/Container.vue.d.ts +14 -0
  13. package/lib/components/divider/Divider.vue.d.ts +10 -0
  14. package/lib/components/drawer/Drawer.vue.d.ts +73 -0
  15. package/lib/components/form/Form.vue.d.ts +46 -0
  16. package/lib/components/icon/Icon.vue.d.ts +36 -0
  17. package/lib/components/image/Image.vue.d.ts +8 -0
  18. package/lib/components/index.d.ts +45 -0
  19. package/lib/components/input/Input.vue.d.ts +114 -0
  20. package/lib/components/link/Link.vue.d.ts +36 -0
  21. package/lib/components/menu/Menu.vue.d.ts +50 -0
  22. package/lib/components/menu/MenuItem.vue.d.ts +102 -0
  23. package/lib/components/modal/Modal.vue.d.ts +34 -0
  24. package/lib/components/notifications/Notifications.vue.d.ts +104 -0
  25. package/lib/components/pagination/Pagination.vue.d.ts +58 -0
  26. package/lib/components/pagination/PaginationItem.vue.d.ts +32 -0
  27. package/lib/components/popover/Popover.vue.d.ts +64 -0
  28. package/lib/components/popover/PopoverContainer.vue.d.ts +14 -0
  29. package/lib/components/progress/Progress.vue.d.ts +42 -0
  30. package/lib/components/radio/Radio.vue.d.ts +79 -0
  31. package/lib/components/scroll/Scroll.vue.d.ts +29 -0
  32. package/lib/components/select/Select.vue.d.ts +100 -0
  33. package/lib/components/skeleton/Skeleton.vue.d.ts +14 -0
  34. package/lib/components/slider/Slider.vue.d.ts +96 -0
  35. package/lib/components/spacer/Spacer.vue.d.ts +2 -0
  36. package/lib/components/spinner/Spinner.vue.d.ts +16 -0
  37. package/lib/components/tab/Tab.vue.d.ts +47 -0
  38. package/lib/components/tab/TabGroup.vue.d.ts +41 -0
  39. package/lib/components/table/Table.vue.d.ts +81 -0
  40. package/lib/components/table/TableBody.vue.d.ts +2 -0
  41. package/lib/components/table/TableCell.vue.d.ts +33 -0
  42. package/lib/components/table/TableHead.vue.d.ts +2 -0
  43. package/lib/components/table/TableHeader.vue.d.ts +33 -0
  44. package/lib/components/table/TableRow.vue.d.ts +23 -0
  45. package/lib/components/tag/Tag.vue.d.ts +45 -0
  46. package/lib/components/textarea/Textarea.vue.d.ts +101 -0
  47. package/lib/components/toggle/Toggle.vue.d.ts +79 -0
  48. package/lib/components/tooltip/Tooltip.vue.d.ts +2 -0
  49. package/lib/composables/colors-utils.d.ts +8 -0
  50. package/lib/composables/colors.d.ts +26 -0
  51. package/lib/composables/common.d.ts +14 -0
  52. package/lib/composables/css.d.ts +5 -0
  53. package/lib/composables/index.d.ts +7 -0
  54. package/lib/composables/inputtable.d.ts +37 -0
  55. package/lib/composables/interactive.d.ts +10 -0
  56. package/lib/composables/keys.d.ts +7 -0
  57. package/lib/composables/notification.d.ts +1 -0
  58. package/lib/create.d.ts +11 -0
  59. package/lib/index.cjs.js +15 -0
  60. package/lib/index.d.ts +6 -0
  61. package/lib/index.es.js +6164 -0
  62. package/lib/install.d.ts +4 -0
  63. package/lib/nuxt.js +32 -0
  64. package/lib/nuxt.plugin.js +8 -0
  65. package/lib/style.css +1 -0
  66. package/lib/tailwind.preset.js +43 -14
  67. package/lib/version.d.ts +2 -0
  68. package/package.json +48 -28
  69. package/src/components/alert/Alert.vue +164 -0
  70. package/src/components/avatar/Avatar.vue +114 -97
  71. package/src/components/badge/Badge.vue +107 -0
  72. package/src/components/breadcrumbs/Breadcrumbs.vue +60 -0
  73. package/src/components/button/Button.vue +405 -128
  74. package/src/components/button/ButtonGroup.vue +73 -0
  75. package/src/components/card/Card.vue +16 -21
  76. package/src/components/checkbox/Checkbox.vue +162 -85
  77. package/src/components/collapse/Collapse.vue +152 -89
  78. package/src/components/container/Container.vue +13 -11
  79. package/src/components/divider/Divider.vue +15 -19
  80. package/src/components/drawer/Drawer.vue +244 -0
  81. package/src/components/form/Form.vue +32 -22
  82. package/src/components/icon/Icon.vue +43 -33
  83. package/src/components/image/Image.vue +26 -20
  84. package/src/components/index.ts +45 -0
  85. package/src/components/input/Input.vue +149 -146
  86. package/src/components/link/Link.vue +73 -52
  87. package/src/components/menu/Menu.vue +118 -0
  88. package/src/components/menu/MenuItem.vue +277 -0
  89. package/src/components/modal/Modal.vue +157 -93
  90. package/src/components/notifications/Notifications.vue +318 -0
  91. package/src/components/pagination/Pagination.vue +157 -50
  92. package/src/components/pagination/PaginationItem.vue +49 -26
  93. package/src/components/popover/Popover.vue +167 -146
  94. package/src/components/popover/PopoverContainer.vue +13 -18
  95. package/src/components/progress/Progress.vue +68 -102
  96. package/src/components/radio/Radio.vue +161 -92
  97. package/src/components/scroll/Scroll.vue +143 -0
  98. package/src/components/select/Select.vue +362 -109
  99. package/src/components/skeleton/Skeleton.vue +13 -11
  100. package/src/components/slider/Slider.vue +240 -0
  101. package/src/components/spacer/Spacer.vue +8 -0
  102. package/src/components/spinner/Spinner.vue +28 -28
  103. package/src/components/tab/Tab.vue +100 -0
  104. package/src/components/tab/TabGroup.vue +151 -0
  105. package/src/components/table/Table.vue +101 -86
  106. package/src/components/table/TableBody.vue +8 -6
  107. package/src/components/table/TableCell.vue +43 -55
  108. package/src/components/table/TableHead.vue +9 -7
  109. package/src/components/table/TableHeader.vue +39 -54
  110. package/src/components/table/TableRow.vue +26 -34
  111. package/src/components/tag/Tag.vue +67 -62
  112. package/src/components/textarea/Textarea.vue +116 -126
  113. package/src/components/toggle/Toggle.vue +117 -101
  114. package/src/components/tooltip/Tooltip.vue +18 -14
  115. package/src/composables/colors-utils.ts +378 -0
  116. package/src/composables/colors.ts +82 -0
  117. package/src/composables/common.ts +20 -0
  118. package/src/composables/css.ts +45 -0
  119. package/src/composables/index.ts +7 -0
  120. package/src/composables/{inputtable.js → inputtable.ts} +45 -74
  121. package/src/composables/interactive.ts +16 -0
  122. package/src/composables/keys.ts +8 -0
  123. package/src/composables/notification.ts +10 -0
  124. package/src/create.ts +36 -0
  125. package/src/exports/nuxt.js +32 -0
  126. package/src/exports/nuxt.plugin.js +8 -0
  127. package/src/exports/tailwind.preset.js +55 -0
  128. package/src/index.ts +8 -0
  129. package/src/install.ts +8 -0
  130. package/src/shims-vue.d.ts +6 -0
  131. package/src/version.ts +1 -0
  132. package/volar.d.ts +52 -0
  133. package/lib/cjs/components/avatar/Avatar.vue.js +0 -9
  134. package/lib/cjs/components/avatar/Avatar.vue_vue_type_script_lang.js +0 -86
  135. package/lib/cjs/components/avatar/Avatar.vue_vue_type_template_id_2549fb8f_lang.js +0 -50
  136. package/lib/cjs/components/button/Button.vue.js +0 -9
  137. package/lib/cjs/components/button/Button.vue_vue_type_script_lang.js +0 -82
  138. package/lib/cjs/components/button/Button.vue_vue_type_template_id_5975756f_lang.js +0 -100
  139. package/lib/cjs/components/card/Card.vue.js +0 -9
  140. package/lib/cjs/components/card/Card.vue_vue_type_script_lang.js +0 -18
  141. package/lib/cjs/components/card/Card.vue_vue_type_template_id_7be81122_lang.js +0 -22
  142. package/lib/cjs/components/checkbox/Checkbox.vue.js +0 -9
  143. package/lib/cjs/components/checkbox/Checkbox.vue_vue_type_script_lang.js +0 -58
  144. package/lib/cjs/components/checkbox/Checkbox.vue_vue_type_template_id_fa43bd62_lang.js +0 -102
  145. package/lib/cjs/components/collapse/Collapse.vue.js +0 -9
  146. package/lib/cjs/components/collapse/Collapse.vue_vue_type_script_lang.js +0 -66
  147. package/lib/cjs/components/collapse/Collapse.vue_vue_type_template_id_06a1c88f_lang.js +0 -64
  148. package/lib/cjs/components/colors.vue.js +0 -12
  149. package/lib/cjs/components/colors.vue_vue_type_template_id_79d16100_lang.js +0 -406
  150. package/lib/cjs/components/container/Container.vue.js +0 -9
  151. package/lib/cjs/components/container/Container.vue_vue_type_script_lang.js +0 -14
  152. package/lib/cjs/components/container/Container.vue_vue_type_template_id_05f5acf3_lang.js +0 -16
  153. package/lib/cjs/components/divider/Divider.vue.js +0 -9
  154. package/lib/cjs/components/divider/Divider.vue_vue_type_script_lang.js +0 -18
  155. package/lib/cjs/components/divider/Divider.vue_vue_type_template_id_3a349aa3_lang.js +0 -49
  156. package/lib/cjs/components/form/Form.vue.js +0 -9
  157. package/lib/cjs/components/form/Form.vue_vue_type_script_lang.js +0 -95
  158. package/lib/cjs/components/form/Form.vue_vue_type_template_id_a6cab022_lang.js +0 -20
  159. package/lib/cjs/components/icon/Icon.vue.js +0 -9
  160. package/lib/cjs/components/icon/Icon.vue_vue_type_script_lang.js +0 -26
  161. package/lib/cjs/components/icon/Icon.vue_vue_type_template_id_0933a10f_lang.js +0 -32
  162. package/lib/cjs/components/image/Image.vue.js +0 -9
  163. package/lib/cjs/components/image/Image.vue_vue_type_script_lang.js +0 -28
  164. package/lib/cjs/components/image/Image.vue_vue_type_template_id_f1ec3bb2_lang.js +0 -13
  165. package/lib/cjs/components/index.js +0 -87
  166. package/lib/cjs/components/input/Input.vue.js +0 -9
  167. package/lib/cjs/components/input/Input.vue_vue_type_script_lang.js +0 -101
  168. package/lib/cjs/components/input/Input.vue_vue_type_template_id_21c870c5_lang.js +0 -126
  169. package/lib/cjs/components/link/Link.vue.js +0 -9
  170. package/lib/cjs/components/link/Link.vue_vue_type_script_lang.js +0 -47
  171. package/lib/cjs/components/link/Link.vue_vue_type_template_id_044f59af_lang.js +0 -59
  172. package/lib/cjs/components/modal/Modal.vue.js +0 -9
  173. package/lib/cjs/components/modal/Modal.vue_vue_type_script_lang.js +0 -55
  174. package/lib/cjs/components/modal/Modal.vue_vue_type_template_id_177f8d4b_lang.js +0 -81
  175. package/lib/cjs/components/note/Note.vue.js +0 -9
  176. package/lib/cjs/components/note/Note.vue_vue_type_script_lang.js +0 -24
  177. package/lib/cjs/components/note/Note.vue_vue_type_template_id_2b99d6a2_lang.js +0 -100
  178. package/lib/cjs/components/pagination/Pagination.vue.js +0 -9
  179. package/lib/cjs/components/pagination/Pagination.vue_vue_type_script_lang.js +0 -43
  180. package/lib/cjs/components/pagination/Pagination.vue_vue_type_template_id_084845ef_lang.js +0 -54
  181. package/lib/cjs/components/pagination/PaginationItem.vue.js +0 -9
  182. package/lib/cjs/components/pagination/PaginationItem.vue_vue_type_script_lang.js +0 -24
  183. package/lib/cjs/components/pagination/PaginationItem.vue_vue_type_template_id_241a3fbc_lang.js +0 -27
  184. package/lib/cjs/components/popover/Popover.vue.js +0 -10
  185. package/lib/cjs/components/popover/Popover.vue_vue_type_script_lang.js +0 -72
  186. package/lib/cjs/components/popover/Popover.vue_vue_type_style_index_0_id_da70cc8a_lang.css.js +0 -8
  187. package/lib/cjs/components/popover/Popover.vue_vue_type_template_id_da70cc8a_lang.js +0 -63
  188. package/lib/cjs/components/popover/PopoverContainer.vue.js +0 -9
  189. package/lib/cjs/components/popover/PopoverContainer.vue_vue_type_script_lang.js +0 -21
  190. package/lib/cjs/components/popover/PopoverContainer.vue_vue_type_template_id_798f1294_lang.js +0 -16
  191. package/lib/cjs/components/popover/PopoverItem.vue.js +0 -9
  192. package/lib/cjs/components/popover/PopoverItem.vue_vue_type_script_lang.js +0 -34
  193. package/lib/cjs/components/popover/PopoverItem.vue_vue_type_template_id_84692424_lang.js +0 -50
  194. package/lib/cjs/components/progress/Progress.vue.js +0 -9
  195. package/lib/cjs/components/progress/Progress.vue_vue_type_script_lang.js +0 -62
  196. package/lib/cjs/components/progress/Progress.vue_vue_type_template_id_9ab7cee2_lang.js +0 -77
  197. package/lib/cjs/components/radio/Radio.vue.js +0 -9
  198. package/lib/cjs/components/radio/Radio.vue_vue_type_script_lang.js +0 -61
  199. package/lib/cjs/components/radio/Radio.vue_vue_type_template_id_808cc132_lang.js +0 -120
  200. package/lib/cjs/components/select/Select.vue.js +0 -9
  201. package/lib/cjs/components/select/Select.vue_vue_type_script_lang.js +0 -62
  202. package/lib/cjs/components/select/Select.vue_vue_type_template_id_18b7de2f_lang.js +0 -122
  203. package/lib/cjs/components/skeleton/Skeleton.vue.js +0 -9
  204. package/lib/cjs/components/skeleton/Skeleton.vue_vue_type_script_lang.js +0 -14
  205. package/lib/cjs/components/skeleton/Skeleton.vue_vue_type_template_id_6ac606e2_lang.js +0 -18
  206. package/lib/cjs/components/spacer/Spacer.vue.js +0 -12
  207. package/lib/cjs/components/spacer/Spacer.vue_vue_type_template_id_793ae82f_lang.js +0 -13
  208. package/lib/cjs/components/spinner/Spinner.vue.js +0 -9
  209. package/lib/cjs/components/spinner/Spinner.vue_vue_type_script_lang.js +0 -14
  210. package/lib/cjs/components/spinner/Spinner.vue_vue_type_template_id_714bd8a3_lang.js +0 -29
  211. package/lib/cjs/components/status/StatusDot.vue.js +0 -9
  212. package/lib/cjs/components/status/StatusDot.vue_vue_type_script_lang.js +0 -24
  213. package/lib/cjs/components/status/StatusDot.vue_vue_type_template_id_367d150a_lang.js +0 -25
  214. package/lib/cjs/components/table/Table.vue.js +0 -9
  215. package/lib/cjs/components/table/Table.vue_vue_type_script_lang.js +0 -117
  216. package/lib/cjs/components/table/Table.vue_vue_type_template_id_c0433c66_lang.js +0 -88
  217. package/lib/cjs/components/table/TableBody.vue.js +0 -9
  218. package/lib/cjs/components/table/TableBody.vue_vue_type_script_lang.js +0 -7
  219. package/lib/cjs/components/table/TableBody.vue_vue_type_template_id_7288bc0f_lang.js +0 -13
  220. package/lib/cjs/components/table/TableCell.vue.js +0 -9
  221. package/lib/cjs/components/table/TableCell.vue_vue_type_script_lang.js +0 -63
  222. package/lib/cjs/components/table/TableCell.vue_vue_type_template_id_5349a862_lang.js +0 -35
  223. package/lib/cjs/components/table/TableHead.vue.js +0 -9
  224. package/lib/cjs/components/table/TableHead.vue_vue_type_script_lang.js +0 -7
  225. package/lib/cjs/components/table/TableHead.vue_vue_type_template_id_6ae9fd66_lang.js +0 -18
  226. package/lib/cjs/components/table/TableHeader.vue.js +0 -9
  227. package/lib/cjs/components/table/TableHeader.vue_vue_type_script_lang.js +0 -48
  228. package/lib/cjs/components/table/TableHeader.vue_vue_type_template_id_9d5bd38c_lang.js +0 -78
  229. package/lib/cjs/components/table/TableRow.vue.js +0 -9
  230. package/lib/cjs/components/table/TableRow.vue_vue_type_script_lang.js +0 -33
  231. package/lib/cjs/components/table/TableRow.vue_vue_type_template_id_7c4a8ffd_lang.js +0 -26
  232. package/lib/cjs/components/tabs/Tab.vue.js +0 -9
  233. package/lib/cjs/components/tabs/Tab.vue_vue_type_script_lang.js +0 -62
  234. package/lib/cjs/components/tabs/Tab.vue_vue_type_template_id_3cfc6374_lang.js +0 -29
  235. package/lib/cjs/components/tabs/Tabs.vue.js +0 -9
  236. package/lib/cjs/components/tabs/Tabs.vue_vue_type_script_lang.js +0 -37
  237. package/lib/cjs/components/tabs/Tabs.vue_vue_type_template_id_663bac2f_lang.js +0 -16
  238. package/lib/cjs/components/tag/Tag.vue.js +0 -9
  239. package/lib/cjs/components/tag/Tag.vue_vue_type_script_lang.js +0 -39
  240. package/lib/cjs/components/tag/Tag.vue_vue_type_template_id_0aa571b6_lang.js +0 -77
  241. package/lib/cjs/components/textarea/Textarea.vue.js +0 -9
  242. package/lib/cjs/components/textarea/Textarea.vue_vue_type_script_lang.js +0 -113
  243. package/lib/cjs/components/textarea/Textarea.vue_vue_type_template_id_03d2272f_lang.js +0 -70
  244. package/lib/cjs/components/toast/Toast.vue.js +0 -9
  245. package/lib/cjs/components/toast/Toast.vue_vue_type_script_lang.js +0 -87
  246. package/lib/cjs/components/toast/Toast.vue_vue_type_template_id_fe243282_lang.js +0 -64
  247. package/lib/cjs/components/toggle/Toggle.vue.js +0 -9
  248. package/lib/cjs/components/toggle/Toggle.vue_vue_type_script_lang.js +0 -58
  249. package/lib/cjs/components/toggle/Toggle.vue_vue_type_template_id_5a9e0b2f_lang.js +0 -96
  250. package/lib/cjs/components/tooltip/Tooltip.vue.js +0 -9
  251. package/lib/cjs/components/tooltip/Tooltip.vue_vue_type_script_lang.js +0 -15
  252. package/lib/cjs/components/tooltip/Tooltip.vue_vue_type_template_id_213cff12_lang.js +0 -30
  253. package/lib/cjs/composables/common.js +0 -28
  254. package/lib/cjs/composables/inputtable.js +0 -162
  255. package/lib/cjs/composables/interactive.js +0 -41
  256. package/lib/cjs/index.js +0 -129
  257. package/lib/cjs/node_modules/style-inject/dist/style-inject.es.js +0 -30
  258. package/lib/esm/components/avatar/Avatar.vue.js +0 -6
  259. package/lib/esm/components/avatar/Avatar.vue_vue_type_script_lang.js +0 -84
  260. package/lib/esm/components/avatar/Avatar.vue_vue_type_template_id_2549fb8f_lang.js +0 -46
  261. package/lib/esm/components/button/Button.vue.js +0 -6
  262. package/lib/esm/components/button/Button.vue_vue_type_script_lang.js +0 -80
  263. package/lib/esm/components/button/Button.vue_vue_type_template_id_5975756f_lang.js +0 -96
  264. package/lib/esm/components/card/Card.vue.js +0 -6
  265. package/lib/esm/components/card/Card.vue_vue_type_script_lang.js +0 -16
  266. package/lib/esm/components/card/Card.vue_vue_type_template_id_7be81122_lang.js +0 -18
  267. package/lib/esm/components/checkbox/Checkbox.vue.js +0 -6
  268. package/lib/esm/components/checkbox/Checkbox.vue_vue_type_script_lang.js +0 -56
  269. package/lib/esm/components/checkbox/Checkbox.vue_vue_type_template_id_fa43bd62_lang.js +0 -98
  270. package/lib/esm/components/collapse/Collapse.vue.js +0 -6
  271. package/lib/esm/components/collapse/Collapse.vue_vue_type_script_lang.js +0 -64
  272. package/lib/esm/components/collapse/Collapse.vue_vue_type_template_id_06a1c88f_lang.js +0 -60
  273. package/lib/esm/components/colors.vue.js +0 -10
  274. package/lib/esm/components/colors.vue_vue_type_template_id_79d16100_lang.js +0 -402
  275. package/lib/esm/components/container/Container.vue.js +0 -6
  276. package/lib/esm/components/container/Container.vue_vue_type_script_lang.js +0 -12
  277. package/lib/esm/components/container/Container.vue_vue_type_template_id_05f5acf3_lang.js +0 -12
  278. package/lib/esm/components/divider/Divider.vue.js +0 -6
  279. package/lib/esm/components/divider/Divider.vue_vue_type_script_lang.js +0 -16
  280. package/lib/esm/components/divider/Divider.vue_vue_type_template_id_3a349aa3_lang.js +0 -45
  281. package/lib/esm/components/form/Form.vue.js +0 -6
  282. package/lib/esm/components/form/Form.vue_vue_type_script_lang.js +0 -93
  283. package/lib/esm/components/form/Form.vue_vue_type_template_id_a6cab022_lang.js +0 -16
  284. package/lib/esm/components/icon/Icon.vue.js +0 -6
  285. package/lib/esm/components/icon/Icon.vue_vue_type_script_lang.js +0 -24
  286. package/lib/esm/components/icon/Icon.vue_vue_type_template_id_0933a10f_lang.js +0 -28
  287. package/lib/esm/components/image/Image.vue.js +0 -6
  288. package/lib/esm/components/image/Image.vue_vue_type_script_lang.js +0 -26
  289. package/lib/esm/components/image/Image.vue_vue_type_template_id_f1ec3bb2_lang.js +0 -9
  290. package/lib/esm/components/index.js +0 -40
  291. package/lib/esm/components/input/Input.vue.js +0 -6
  292. package/lib/esm/components/input/Input.vue_vue_type_script_lang.js +0 -99
  293. package/lib/esm/components/input/Input.vue_vue_type_template_id_21c870c5_lang.js +0 -122
  294. package/lib/esm/components/link/Link.vue.js +0 -6
  295. package/lib/esm/components/link/Link.vue_vue_type_script_lang.js +0 -45
  296. package/lib/esm/components/link/Link.vue_vue_type_template_id_044f59af_lang.js +0 -55
  297. package/lib/esm/components/modal/Modal.vue.js +0 -6
  298. package/lib/esm/components/modal/Modal.vue_vue_type_script_lang.js +0 -53
  299. package/lib/esm/components/modal/Modal.vue_vue_type_template_id_177f8d4b_lang.js +0 -77
  300. package/lib/esm/components/note/Note.vue.js +0 -6
  301. package/lib/esm/components/note/Note.vue_vue_type_script_lang.js +0 -22
  302. package/lib/esm/components/note/Note.vue_vue_type_template_id_2b99d6a2_lang.js +0 -96
  303. package/lib/esm/components/pagination/Pagination.vue.js +0 -6
  304. package/lib/esm/components/pagination/Pagination.vue_vue_type_script_lang.js +0 -41
  305. package/lib/esm/components/pagination/Pagination.vue_vue_type_template_id_084845ef_lang.js +0 -50
  306. package/lib/esm/components/pagination/PaginationItem.vue.js +0 -6
  307. package/lib/esm/components/pagination/PaginationItem.vue_vue_type_script_lang.js +0 -22
  308. package/lib/esm/components/pagination/PaginationItem.vue_vue_type_template_id_241a3fbc_lang.js +0 -23
  309. package/lib/esm/components/popover/Popover.vue.js +0 -7
  310. package/lib/esm/components/popover/Popover.vue_vue_type_script_lang.js +0 -70
  311. package/lib/esm/components/popover/Popover.vue_vue_type_style_index_0_id_da70cc8a_lang.css.js +0 -6
  312. package/lib/esm/components/popover/Popover.vue_vue_type_template_id_da70cc8a_lang.js +0 -59
  313. package/lib/esm/components/popover/PopoverContainer.vue.js +0 -6
  314. package/lib/esm/components/popover/PopoverContainer.vue_vue_type_script_lang.js +0 -19
  315. package/lib/esm/components/popover/PopoverContainer.vue_vue_type_template_id_798f1294_lang.js +0 -12
  316. package/lib/esm/components/popover/PopoverItem.vue.js +0 -6
  317. package/lib/esm/components/popover/PopoverItem.vue_vue_type_script_lang.js +0 -32
  318. package/lib/esm/components/popover/PopoverItem.vue_vue_type_template_id_84692424_lang.js +0 -46
  319. package/lib/esm/components/progress/Progress.vue.js +0 -6
  320. package/lib/esm/components/progress/Progress.vue_vue_type_script_lang.js +0 -60
  321. package/lib/esm/components/progress/Progress.vue_vue_type_template_id_9ab7cee2_lang.js +0 -73
  322. package/lib/esm/components/radio/Radio.vue.js +0 -6
  323. package/lib/esm/components/radio/Radio.vue_vue_type_script_lang.js +0 -59
  324. package/lib/esm/components/radio/Radio.vue_vue_type_template_id_808cc132_lang.js +0 -116
  325. package/lib/esm/components/select/Select.vue.js +0 -6
  326. package/lib/esm/components/select/Select.vue_vue_type_script_lang.js +0 -60
  327. package/lib/esm/components/select/Select.vue_vue_type_template_id_18b7de2f_lang.js +0 -118
  328. package/lib/esm/components/skeleton/Skeleton.vue.js +0 -6
  329. package/lib/esm/components/skeleton/Skeleton.vue_vue_type_script_lang.js +0 -12
  330. package/lib/esm/components/skeleton/Skeleton.vue_vue_type_template_id_6ac606e2_lang.js +0 -14
  331. package/lib/esm/components/spacer/Spacer.vue.js +0 -10
  332. package/lib/esm/components/spacer/Spacer.vue_vue_type_template_id_793ae82f_lang.js +0 -9
  333. package/lib/esm/components/spinner/Spinner.vue.js +0 -6
  334. package/lib/esm/components/spinner/Spinner.vue_vue_type_script_lang.js +0 -12
  335. package/lib/esm/components/spinner/Spinner.vue_vue_type_template_id_714bd8a3_lang.js +0 -25
  336. package/lib/esm/components/status/StatusDot.vue.js +0 -6
  337. package/lib/esm/components/status/StatusDot.vue_vue_type_script_lang.js +0 -22
  338. package/lib/esm/components/status/StatusDot.vue_vue_type_template_id_367d150a_lang.js +0 -21
  339. package/lib/esm/components/table/Table.vue.js +0 -6
  340. package/lib/esm/components/table/Table.vue_vue_type_script_lang.js +0 -115
  341. package/lib/esm/components/table/Table.vue_vue_type_template_id_c0433c66_lang.js +0 -84
  342. package/lib/esm/components/table/TableBody.vue.js +0 -6
  343. package/lib/esm/components/table/TableBody.vue_vue_type_script_lang.js +0 -5
  344. package/lib/esm/components/table/TableBody.vue_vue_type_template_id_7288bc0f_lang.js +0 -9
  345. package/lib/esm/components/table/TableCell.vue.js +0 -6
  346. package/lib/esm/components/table/TableCell.vue_vue_type_script_lang.js +0 -61
  347. package/lib/esm/components/table/TableCell.vue_vue_type_template_id_5349a862_lang.js +0 -31
  348. package/lib/esm/components/table/TableHead.vue.js +0 -6
  349. package/lib/esm/components/table/TableHead.vue_vue_type_script_lang.js +0 -5
  350. package/lib/esm/components/table/TableHead.vue_vue_type_template_id_6ae9fd66_lang.js +0 -14
  351. package/lib/esm/components/table/TableHeader.vue.js +0 -6
  352. package/lib/esm/components/table/TableHeader.vue_vue_type_script_lang.js +0 -46
  353. package/lib/esm/components/table/TableHeader.vue_vue_type_template_id_9d5bd38c_lang.js +0 -74
  354. package/lib/esm/components/table/TableRow.vue.js +0 -6
  355. package/lib/esm/components/table/TableRow.vue_vue_type_script_lang.js +0 -31
  356. package/lib/esm/components/table/TableRow.vue_vue_type_template_id_7c4a8ffd_lang.js +0 -22
  357. package/lib/esm/components/tabs/Tab.vue.js +0 -6
  358. package/lib/esm/components/tabs/Tab.vue_vue_type_script_lang.js +0 -60
  359. package/lib/esm/components/tabs/Tab.vue_vue_type_template_id_3cfc6374_lang.js +0 -25
  360. package/lib/esm/components/tabs/Tabs.vue.js +0 -6
  361. package/lib/esm/components/tabs/Tabs.vue_vue_type_script_lang.js +0 -35
  362. package/lib/esm/components/tabs/Tabs.vue_vue_type_template_id_663bac2f_lang.js +0 -12
  363. package/lib/esm/components/tag/Tag.vue.js +0 -6
  364. package/lib/esm/components/tag/Tag.vue_vue_type_script_lang.js +0 -37
  365. package/lib/esm/components/tag/Tag.vue_vue_type_template_id_0aa571b6_lang.js +0 -73
  366. package/lib/esm/components/textarea/Textarea.vue.js +0 -6
  367. package/lib/esm/components/textarea/Textarea.vue_vue_type_script_lang.js +0 -111
  368. package/lib/esm/components/textarea/Textarea.vue_vue_type_template_id_03d2272f_lang.js +0 -66
  369. package/lib/esm/components/toast/Toast.vue.js +0 -6
  370. package/lib/esm/components/toast/Toast.vue_vue_type_script_lang.js +0 -85
  371. package/lib/esm/components/toast/Toast.vue_vue_type_template_id_fe243282_lang.js +0 -60
  372. package/lib/esm/components/toggle/Toggle.vue.js +0 -6
  373. package/lib/esm/components/toggle/Toggle.vue_vue_type_script_lang.js +0 -56
  374. package/lib/esm/components/toggle/Toggle.vue_vue_type_template_id_5a9e0b2f_lang.js +0 -92
  375. package/lib/esm/components/tooltip/Tooltip.vue.js +0 -6
  376. package/lib/esm/components/tooltip/Tooltip.vue_vue_type_script_lang.js +0 -13
  377. package/lib/esm/components/tooltip/Tooltip.vue_vue_type_template_id_213cff12_lang.js +0 -26
  378. package/lib/esm/composables/common.js +0 -23
  379. package/lib/esm/composables/inputtable.js +0 -155
  380. package/lib/esm/composables/interactive.js +0 -35
  381. package/lib/esm/index.js +0 -85
  382. package/lib/esm/node_modules/style-inject/dist/style-inject.es.js +0 -28
  383. package/lib/umd/index.js +0 -4349
  384. package/src/components/colors.vue +0 -396
  385. package/src/components/index.js +0 -40
  386. package/src/components/note/Note.vue +0 -74
  387. package/src/components/popover/PopoverItem.vue +0 -65
  388. package/src/components/status/StatusDot.vue +0 -41
  389. package/src/components/tabs/Tab.vue +0 -81
  390. package/src/components/tabs/Tabs.vue +0 -44
  391. package/src/components/toast/Toast.vue +0 -139
  392. package/src/composables/common.js +0 -21
  393. package/src/composables/interactive.js +0 -36
  394. package/src/index.js +0 -16
  395. package/src/nuxt.js +0 -13
  396. package/src/tailwind.preset.js +0 -24
@@ -1,60 +1,22 @@
1
- <template>
2
- <table
3
- class="w-full relative"
4
- :class="[
5
- {
6
- 'overflow-x-scroll sm:overflow-x-auto whitespace-wrap sm:whitespace-normal block sm:table': scrollable,
7
- 'relative': stickyHeader,
8
- 'table-fixed': fixed,
9
- }
10
- ]"
11
- >
12
- <table-head>
13
- <table-header
14
- v-for="(header, index) in headers"
15
- :key="index"
16
- :sticky-header="stickyHeader"
17
- :text-align="header.align"
18
- :sort="getSort(header.value, sort)"
19
- :sortable="header.sortable"
20
- @click="header.sortable ? sortHeader(header) : null"
21
- >
22
- {{ header.text }}
23
- </table-header>
24
- </table-head>
25
- <table-body>
26
- <table-row v-for="(item, index) in items" :key="index" clickable @click="$emit('click-row', item)">
27
- <table-cell
28
- v-for="(header, index2) in headers"
29
- :key="index2"
30
- :text-align="header.align"
31
- :dense="dense"
32
- :fixed="fixed"
33
- >
34
- <slot :name="`item-${header.value}`" :item="item">
35
- {{ getPath(item, header.value) }}
36
- </slot>
37
- </table-cell>
38
- </table-row>
39
- </table-body>
40
- <div
41
- v-if="loading"
42
- class="absolute inset-0 flex items-center justify-center z-40 bg-gray-300 rounded opacity-50"
43
- >
44
- <x-spinner size="lg"/>
45
- </div>
46
- </table>
47
- </template>
1
+ <script lang="ts">
2
+ import { defineComponent, type PropType } from 'vue'
48
3
 
49
- <script>
50
4
  import TableHead from './TableHead.vue'
51
- import TableHeader from './TableHeader.vue'
5
+ import TableHeader, { type Sort, type Align } from './TableHeader.vue'
52
6
  import TableBody from './TableBody.vue'
53
7
  import TableRow from './TableRow.vue'
54
8
  import TableCell from './TableCell.vue'
55
9
  import XSpinner from '../spinner/Spinner.vue'
56
10
 
57
- export default {
11
+ export type Header = {
12
+ sortable?: boolean,
13
+ sort?: string[],
14
+ align?: Align,
15
+ value: string,
16
+ text: string,
17
+ }
18
+
19
+ export default defineComponent({
58
20
  name: 'XTable',
59
21
 
60
22
  components: {
@@ -67,60 +29,52 @@ export default {
67
29
  },
68
30
 
69
31
  props: {
70
- loading: {
71
- type: Boolean,
72
- default: false,
73
- },
74
-
75
32
  headers: {
76
- type: Array,
33
+ type: Array as PropType<Array<Header>>,
77
34
  default: () => [],
78
35
  },
79
-
80
36
  items: {
81
37
  type: Array,
82
38
  default: () => [],
83
39
  },
84
-
85
40
  sort: {
86
- type: Array,
41
+ type: Array as PropType<Array<string>>,
87
42
  default: () => [],
88
43
  },
89
-
90
- dense: {
91
- type: Boolean,
92
- default: false,
93
- },
94
-
95
- fixed: {
96
- type: Boolean,
97
- default: false,
98
- },
99
-
44
+ loading: Boolean,
45
+ dense: Boolean,
46
+ fixed: Boolean,
47
+ striped: Boolean,
48
+ pointer: Boolean,
100
49
  scrollable: {
101
50
  type: Boolean,
102
51
  default: true,
103
52
  },
104
-
105
53
  stickyHeader: {
106
54
  type: Boolean,
107
55
  default: true,
108
56
  },
109
57
  },
110
58
 
111
- methods: {
112
- getSort(headerValue, sort) {
59
+ emits: ['update:sort', 'click-row'],
60
+
61
+ setup(props, { emit }) {
62
+ function getSort(headerValue: string, sort: string[]): Sort {
113
63
  for (let i = 0; i < sort.length; i++) {
114
64
  const { 0: value, 1: order } = sort[i].split(',')
115
65
 
116
- if (headerValue === value) return parseInt(order)
66
+ if (headerValue === value) {
67
+ if (parseInt(order) > 0) return 1
68
+ else return -1
69
+ }
117
70
  }
118
71
 
119
- return null
120
- },
121
- sortHeader(header) {
72
+ return undefined
73
+ }
74
+
75
+ function sortHeader(header: Header) {
122
76
  // update sort array
123
- const sort = this.sort.slice(0)
77
+ const sort = props.sort.slice(0)
124
78
  let exists = false
125
79
 
126
80
  for (let i = 0; i < sort.length; i++) {
@@ -143,15 +97,76 @@ export default {
143
97
 
144
98
  if (!exists) sort.push(`${header.value},-1`)
145
99
 
146
- this.$emit('update:sort', sort)
147
- },
148
- getPath(obj, path, defValue) {
149
- if (!path) return undefined
100
+ emit('update:sort', sort)
101
+ }
102
+
103
+ function getValue(item: any, path: string | string[]) {
104
+ if (!path) return ''
150
105
  const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g)
151
- const result = pathArray.reduce((prevObj, key) => prevObj && prevObj[key], obj)
106
+ const result = pathArray?.reduce((prevObj: any, key: string) => prevObj && prevObj[key], item)
152
107
 
153
- return result === undefined ? defValue : result
154
- },
108
+ return result ?? ''
109
+ }
110
+
111
+ return {
112
+ getSort,
113
+ getValue,
114
+ sortHeader,
115
+ }
155
116
  },
156
- }
117
+ })
157
118
  </script>
119
+
120
+ <template>
121
+ <table
122
+ class="w-full relative"
123
+ :class="[
124
+ {
125
+ 'overflow-x-scroll sm:overflow-x-auto whitespace-wrap sm:whitespace-normal block sm:table': scrollable,
126
+ 'relative': stickyHeader,
127
+ 'table-fixed': fixed,
128
+ }
129
+ ]"
130
+ >
131
+ <table-head>
132
+ <table-header
133
+ v-for="(header, index) in headers"
134
+ :key="index"
135
+ :sticky-header="stickyHeader"
136
+ :text-align="header.align"
137
+ :sort="getSort(header.value, sort)"
138
+ :sortable="header.sortable"
139
+ @click="header.sortable ? sortHeader(header) : null"
140
+ >
141
+ {{ header.text }}
142
+ </table-header>
143
+ </table-head>
144
+ <table-body>
145
+ <table-row
146
+ v-for="(item, index) in items"
147
+ :key="index"
148
+ :pointer="pointer"
149
+ :striped="striped"
150
+ @click="$emit('click-row', item)"
151
+ >
152
+ <table-cell
153
+ v-for="(header, index2) in headers"
154
+ :key="index2"
155
+ :text-align="header.align"
156
+ :dense="dense"
157
+ :fixed="fixed"
158
+ >
159
+ <slot :name="`item-${header.value}`" :item="item">
160
+ {{ getValue(item, header.value) }}
161
+ </slot>
162
+ </table-cell>
163
+ </table-row>
164
+ </table-body>
165
+ <div
166
+ v-if="loading"
167
+ class="absolute inset-0 flex items-center justify-center z-40 bg-gray-300 dark:bg-gray-600 rounded opacity-50"
168
+ >
169
+ <x-spinner size="lg"/>
170
+ </div>
171
+ </table>
172
+ </template>
@@ -1,11 +1,13 @@
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue'
3
+
4
+ export default defineComponent({
5
+ name: 'XTableBody',
6
+ })
7
+ </script>
8
+
1
9
  <template>
2
10
  <tbody>
3
11
  <slot></slot>
4
12
  </tbody>
5
13
  </template>
6
-
7
- <script>
8
- export default {
9
- name: 'XTableBody',
10
- }
11
- </script>
@@ -1,34 +1,7 @@
1
- <template>
2
- <td
3
- class="last:pr-0"
4
- :class="[
5
- {
6
- // density
7
- 'py-1 pr-2': dense,
8
- 'py-2 pr-4': !dense,
9
- // text-align
10
- 'text-left': textAlign === 'left',
11
- 'text-center': textAlign === 'center',
12
- 'text-right': textAlign === 'right',
13
- 'text-justify': textAlign === 'justify',
14
- // vertical-align
15
- 'align-baseline': verticalAlign === 'baseline',
16
- 'align-bottom': verticalAlign === 'bottom',
17
- 'align-middle': verticalAlign === 'middle',
18
- 'align-text-bottom': verticalAlign === 'text-bottom',
19
- 'align-text-top': verticalAlign === 'text-top',
20
- 'align-top': verticalAlign === 'top',
21
- // truncate
22
- 'truncate': truncate && fixed,
23
- },
24
- ]"
25
- >
26
- <slot></slot>
27
- </td>
28
- </template>
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue'
29
3
 
30
- <script>
31
- const validator = {
4
+ const validators = {
32
5
  textAlign: [
33
6
  null,
34
7
  'left',
@@ -47,44 +20,59 @@ const validator = {
47
20
  ],
48
21
  }
49
22
 
50
- export default {
23
+ export default defineComponent({
51
24
  name: 'XTableCell',
52
25
 
53
- validator,
26
+ validators,
54
27
 
55
28
  props: {
56
29
  textAlign: {
57
- default: null,
58
30
  type: String,
59
- validator: (value) => validator.textAlign.includes(value),
60
- },
61
-
62
- truncate: {
63
- default: false,
64
- type: Boolean,
31
+ validator: (value: string) => validators.textAlign.includes(value),
65
32
  },
66
-
67
- dense: {
68
- default: false,
69
- type: Boolean,
70
- },
71
-
72
- fixed: {
73
- default: false,
74
- type: Boolean,
75
- },
76
-
33
+ truncate: Boolean,
34
+ dense: Boolean,
35
+ fixed: Boolean,
77
36
  verticalAlign: {
78
- default: null,
79
37
  type: String,
80
- validator: (value) => validator.verticalAlign.includes(value),
38
+ default: 'middle',
39
+ validator: (value: string) => validators.verticalAlign.includes(value),
81
40
  },
82
41
  },
83
42
 
84
- created() {
85
- if (this.truncate && !this.fixed) {
43
+ setup(props) {
44
+ if (props.truncate && !props.fixed) {
86
45
  console.warn('Table must have "fixed" property set to true when using TableCell "truncate" property')
87
46
  }
88
47
  },
89
- }
48
+ })
90
49
  </script>
50
+
51
+ <template>
52
+ <td
53
+ class="last:pr-0 px-3"
54
+ :class="[
55
+ {
56
+ // density
57
+ 'py-2': dense,
58
+ 'py-4': !dense,
59
+ // text-align
60
+ 'text-left': textAlign === 'left',
61
+ 'text-center': textAlign === 'center',
62
+ 'text-right': textAlign === 'right',
63
+ 'text-justify': textAlign === 'justify',
64
+ // vertical-align
65
+ 'align-baseline': verticalAlign === 'baseline',
66
+ 'align-bottom': verticalAlign === 'bottom',
67
+ 'align-middle': verticalAlign === 'middle',
68
+ 'align-text-bottom': verticalAlign === 'text-bottom',
69
+ 'align-text-top': verticalAlign === 'text-top',
70
+ 'align-top': verticalAlign === 'top',
71
+ // truncate
72
+ 'truncate': truncate && fixed,
73
+ },
74
+ ]"
75
+ >
76
+ <slot></slot>
77
+ </td>
78
+ </template>
@@ -1,13 +1,15 @@
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue'
3
+
4
+ export default defineComponent({
5
+ name: 'XTableHead',
6
+ })
7
+ </script>
8
+
1
9
  <template>
2
10
  <thead class="align-bottom">
3
- <tr class="text-sm text-gray-700 dark:text-gray-400">
11
+ <tr class="text-sm text-gray-600 dark:text-gray-400 border-b">
4
12
  <slot></slot>
5
13
  </tr>
6
14
  </thead>
7
15
  </template>
8
-
9
- <script>
10
- export default {
11
- name: 'XTableHead',
12
- }
13
- </script>
@@ -1,28 +1,61 @@
1
+ <script lang="ts">
2
+ import { defineComponent, type PropType } from 'vue'
3
+
4
+ export type Sort = 1 | -1 | undefined
5
+ export type Align = 'left' | 'center' | 'right' | 'justify' | undefined
6
+
7
+ const validators = {
8
+ sort: [1,-1],
9
+ textAlign: ['left','center','right','justify'],
10
+ }
11
+
12
+ export default defineComponent({
13
+ name: 'XTableHeader',
14
+
15
+ validators,
16
+
17
+ props: {
18
+ sort: {
19
+ type: Number as PropType<Sort>,
20
+ validator: (value: number) => validators.sort.includes(value),
21
+ },
22
+ sortable: Boolean,
23
+ textAlign: {
24
+ type: String as PropType<Align>,
25
+ default: 'left',
26
+ validator: (value: string) => validators.textAlign.includes(value),
27
+ },
28
+ stickyHeader: Boolean,
29
+ },
30
+ })
31
+ </script>
32
+
1
33
  <template>
2
34
  <th
3
- class="py-2 bg-gray-50 dark:bg-gray-800 font-medium tracking-wide uppercase text-xs pr-1 last:pr-0"
35
+ class="py-2 font-semibold tracking-widest uppercase text-xs px-3"
4
36
  :class="[
5
37
  {
6
- //sort
38
+ // sort
7
39
  'cursor-pointer hover:text-gray-800 dark:hover:text-gray-300 transition-colors duration-150 ease-in-out': sortable,
8
- //stickyHeader
40
+ // stickyHeader
9
41
  'sticky top-0': stickyHeader,
10
42
  // textAlign
11
43
  'text-left': textAlign === 'left',
12
- 'text-center': textAlign === 'center',
13
44
  'text-right': textAlign === 'right',
45
+ 'text-center': textAlign === 'center',
14
46
  'text-justify': textAlign === 'justify',
15
47
  },
16
48
  ]"
17
49
  >
18
50
  <div
19
51
  v-if="sortable"
20
- class="flex items-center"
52
+ class="relative inline-block"
21
53
  >
22
54
  <slot></slot>
23
55
 
24
56
  <svg
25
- v-if="[1, -1].includes(sort)"
57
+ v-if="sort && [1, -1].includes(sort)"
58
+ class="absolute stroke-2 w-3 h-3 ml-0.5 -right-3 top-0.5"
26
59
  width="24"
27
60
  height="24"
28
61
  viewBox="0 0 24 24"
@@ -31,7 +64,6 @@
31
64
  stroke-linecap="round"
32
65
  fill="none"
33
66
  role="presentation"
34
- class="inline-block stroke-2 w-3 h-3 ml-0.5"
35
67
  >
36
68
  <template v-if="sort === -1">
37
69
  <line
@@ -60,50 +92,3 @@
60
92
  </template>
61
93
  </th>
62
94
  </template>
63
-
64
- <script>
65
- const validator = {
66
- sort: [
67
- null,
68
- 1,
69
- -1,
70
- ],
71
- textAlign: [
72
- null,
73
- 'left',
74
- 'center',
75
- 'right',
76
- 'justify',
77
- ],
78
- }
79
-
80
- export default {
81
- name: 'XTableHeader',
82
-
83
- validator,
84
-
85
- props: {
86
- sort: {
87
- type: [Number, Boolean],
88
- default: null,
89
- validator: (value) => validator.sort.includes(value),
90
- },
91
-
92
- sortable: {
93
- type: Boolean,
94
- default: false,
95
- },
96
-
97
- textAlign: {
98
- type: String,
99
- default: 'left',
100
- validator: (value) => validator.textAlign.includes(value),
101
- },
102
-
103
- stickyHeader: {
104
- type: Boolean,
105
- default: false,
106
- },
107
- },
108
- }
109
- </script>
@@ -1,9 +1,33 @@
1
+ <script lang="ts">
2
+ import { defineComponent, type PropType } from 'vue'
3
+
4
+ const validators = {
5
+ verticalAlign: ['baseline','bottom','middle','text-bottom','text-top','top'],
6
+ }
7
+
8
+ export default defineComponent({
9
+ name: 'XTableRow',
10
+
11
+ validators,
12
+
13
+ props: {
14
+ pointer: Boolean,
15
+ striped: Boolean,
16
+ verticalAlign: {
17
+ type: String as PropType<'baseline' | 'bottom' | 'middle' | 'text-bottom' | 'text-top' | 'top'>,
18
+ default: 'top',
19
+ validator: (value: string) => validators.verticalAlign.includes(value),
20
+ },
21
+ },
22
+ })
23
+ </script>
24
+
1
25
  <template>
2
26
  <tr
3
- class="border-b border-gray-200 dark:border-gray-700"
4
27
  :class="[
28
+ striped ? 'odd:bg-gray-50 dark:odd:bg-gray-800' : 'border-b border-gray-200 dark:border-gray-700',
5
29
  {
6
- 'hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer': clickable,
30
+ 'hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer': pointer,
7
31
  // vertical-align
8
32
  'align-baseline': verticalAlign === 'baseline',
9
33
  'align-bottom': verticalAlign === 'bottom',
@@ -17,35 +41,3 @@
17
41
  <slot></slot>
18
42
  </tr>
19
43
  </template>
20
-
21
- <script>
22
- const validator = {
23
- verticalAlign: [
24
- 'baseline',
25
- 'bottom',
26
- 'middle',
27
- 'text-bottom',
28
- 'text-top',
29
- 'top',
30
- ],
31
- }
32
-
33
- export default {
34
- name: 'XTableRow',
35
-
36
- validator,
37
-
38
- props: {
39
- clickable: {
40
- type: Boolean,
41
- default: false,
42
- },
43
-
44
- verticalAlign: {
45
- type: String,
46
- default: 'top',
47
- validator: (value) => validator.verticalAlign.includes(value),
48
- },
49
- },
50
- }
51
- </script>