@indielayer/ui 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/lib/cjs/components/Colors.vue.js +11 -0
  2. package/lib/cjs/components/Colors.vue_vue_type_template_id_039e5c98_lang.js +406 -0
  3. package/lib/cjs/components/avatar/Avatar.vue.js +3 -3
  4. package/lib/cjs/components/avatar/Avatar.vue_vue_type_script_lang.js +86 -0
  5. package/lib/cjs/components/avatar/Avatar.vue_vue_type_template_id_d5090cb0_lang.js +50 -0
  6. package/lib/cjs/components/button/Button.vue.js +3 -3
  7. package/lib/cjs/components/button/{Button.vue_vue&type=script&lang.js → Button.vue_vue_type_script_lang.js} +15 -39
  8. package/lib/cjs/components/button/Button.vue_vue_type_template_id_1be5b88c_lang.js +100 -0
  9. package/lib/cjs/components/card/Card.vue.js +3 -3
  10. package/lib/cjs/components/card/{Card.vue_vue&type=script&lang.js → Card.vue_vue_type_script_lang.js} +0 -0
  11. package/lib/cjs/components/card/{Card.vue_vue&type=template&id=5a1806fe&lang.js → Card.vue_vue_type_template_id_6e221de0_lang.js} +6 -6
  12. package/lib/cjs/components/checkbox/Checkbox.vue.js +3 -3
  13. package/lib/cjs/components/checkbox/Checkbox.vue_vue_type_script_lang.js +58 -0
  14. package/lib/cjs/components/checkbox/Checkbox.vue_vue_type_template_id_d00d1178_lang.js +102 -0
  15. package/lib/cjs/components/collapse/Collapse.vue.js +2 -2
  16. package/lib/cjs/components/collapse/{Collapse.vue_vue&type=script&lang.js → Collapse.vue_vue_type_script_lang.js} +0 -0
  17. package/lib/cjs/components/collapse/{Collapse.vue_vue&type=template&id=65032827&lang.js → Collapse.vue_vue_type_template_id_65032827_lang.js} +0 -0
  18. package/lib/cjs/components/container/Container.vue.js +3 -3
  19. package/lib/cjs/components/container/{Container.vue_vue&type=script&lang.js → Container.vue_vue_type_script_lang.js} +0 -0
  20. package/lib/cjs/components/container/{Container.vue_vue&type=template&id=7b2991c1&lang.js → Container.vue_vue_type_template_id_1109578e_lang.js} +2 -2
  21. package/lib/cjs/components/divider/Divider.vue.js +3 -3
  22. package/lib/cjs/components/divider/{Divider.vue_vue&type=script&lang.js → Divider.vue_vue_type_script_lang.js} +0 -0
  23. package/lib/cjs/components/divider/{Divider.vue_vue&type=template&id=61c5e3d4&lang.js → Divider.vue_vue_type_template_id_041f3bf1_lang.js} +15 -15
  24. package/lib/cjs/components/form/Form.vue.js +2 -3
  25. package/lib/cjs/components/form/Form.vue_vue_type_script_lang.js +109 -0
  26. package/lib/cjs/components/icon/Icon.vue.js +3 -3
  27. package/lib/cjs/components/icon/{Icon.vue_vue&type=script&lang.js → Icon.vue_vue_type_script_lang.js} +6 -5
  28. package/lib/cjs/components/icon/{Icon.vue_vue&type=template&id=2e35bbff&lang.js → Icon.vue_vue_type_template_id_4fe868d3_lang.js} +10 -10
  29. package/lib/cjs/components/image/Image.vue.js +8 -0
  30. package/lib/cjs/components/image/Image.vue_vue_type_script_lang.js +28 -0
  31. package/lib/cjs/components/image/Image.vue_vue_type_template_id_d7718e2c_lang.js +13 -0
  32. package/lib/cjs/components/index.js +41 -37
  33. package/lib/cjs/components/input/Input.vue.js +3 -3
  34. package/lib/cjs/components/input/Input.vue_vue_type_script_lang.js +101 -0
  35. package/lib/cjs/components/input/{Input.vue_vue&type=template&id=046941e3&lang.js → Input.vue_vue_type_template_id_0a66306d_lang.js} +44 -45
  36. package/lib/cjs/components/link/Link.vue.js +3 -3
  37. package/lib/cjs/components/link/{Link.vue_vue&type=script&lang.js → Link.vue_vue_type_script_lang.js} +0 -0
  38. package/lib/cjs/components/link/{Link.vue_vue&type=template&id=cd8b503c&lang.js → Link.vue_vue_type_template_id_291038eb_lang.js} +13 -13
  39. package/lib/cjs/components/modal/Modal.vue.js +3 -3
  40. package/lib/cjs/components/modal/{Modal.vue_vue&type=script&lang.js → Modal.vue_vue_type_script_lang.js} +0 -0
  41. package/lib/cjs/components/modal/{Modal.vue_vue&type=template&id=31c76cbc&lang.js → Modal.vue_vue_type_template_id_1597a9fe_lang.js} +1 -1
  42. package/lib/cjs/components/note/Note.vue.js +3 -3
  43. package/lib/cjs/components/{skeleton/Skeleton.vue_vue&type=script&lang.js → note/Note.vue_vue_type_script_lang.js} +7 -2
  44. package/lib/cjs/components/note/{Note.vue_vue&type=template&id=ea427b4c&lang.js → Note.vue_vue_type_template_id_79616501_lang.js} +8 -22
  45. package/lib/cjs/components/pagination/Pagination.vue.js +3 -3
  46. package/lib/cjs/components/pagination/{Pagination.vue_vue&type=script&lang.js → Pagination.vue_vue_type_script_lang.js} +5 -5
  47. package/lib/cjs/components/pagination/{Pagination.vue_vue&type=template&id=0f4659a9&lang.js → Pagination.vue_vue_type_template_id_7b1569fe_lang.js} +8 -8
  48. package/lib/cjs/components/pagination/PaginationItem.vue.js +2 -2
  49. package/lib/cjs/components/pagination/{PaginationItem.vue_vue&type=script&lang.js → PaginationItem.vue_vue_type_script_lang.js} +0 -0
  50. package/lib/cjs/components/pagination/{PaginationItem.vue_vue&type=template&id=a1d67888&lang.js → PaginationItem.vue_vue_type_template_id_a1d67888_lang.js} +0 -0
  51. package/lib/cjs/components/popover/Popover.vue.js +4 -4
  52. package/lib/cjs/components/popover/{Popover.vue_vue&type=script&lang.js → Popover.vue_vue_type_script_lang.js} +0 -0
  53. package/lib/cjs/components/popover/{Popover.vue_vue&type=style&index=0&id=3d4ab1ae&lang.css.js → Popover.vue_vue_type_style_index_0_id_ef94d0dc_lang.css.js} +0 -0
  54. package/lib/cjs/components/popover/{Popover.vue_vue&type=template&id=3d4ab1ae&lang.js → Popover.vue_vue_type_template_id_ef94d0dc_lang.js} +1 -1
  55. package/lib/cjs/components/popover/PopoverContainer.vue.js +3 -3
  56. package/lib/cjs/components/popover/{PopoverContainer.vue_vue&type=script&lang.js → PopoverContainer.vue_vue_type_script_lang.js} +0 -0
  57. package/lib/cjs/components/popover/{PopoverContainer.vue_vue&type=template&id=c3f5df12&lang.js → PopoverContainer.vue_vue_type_template_id_49e694b6_lang.js} +2 -2
  58. package/lib/cjs/components/popover/PopoverItem.vue.js +3 -3
  59. package/lib/cjs/components/popover/{PopoverItem.vue_vue&type=script&lang.js → PopoverItem.vue_vue_type_script_lang.js} +0 -0
  60. package/lib/cjs/components/popover/{PopoverItem.vue_vue&type=template&id=33f77d45&lang.js → PopoverItem.vue_vue_type_template_id_f493838c_lang.js} +9 -9
  61. package/lib/cjs/components/progress/Progress.vue.js +3 -3
  62. package/lib/cjs/components/progress/{Progress.vue_vue&type=script&lang.js → Progress.vue_vue_type_script_lang.js} +2 -9
  63. package/lib/cjs/components/progress/{Progress.vue_vue&type=template&id=a5bfeb16&lang.js → Progress.vue_vue_type_template_id_73a39445_lang.js} +5 -21
  64. package/lib/cjs/components/radio/Radio.vue.js +3 -3
  65. package/lib/cjs/components/radio/Radio.vue_vue_type_script_lang.js +61 -0
  66. package/lib/cjs/components/radio/Radio.vue_vue_type_template_id_7229826f_lang.js +120 -0
  67. package/lib/cjs/components/select/Select.vue.js +3 -3
  68. package/lib/cjs/components/select/Select.vue_vue_type_script_lang.js +62 -0
  69. package/lib/cjs/components/select/Select.vue_vue_type_template_id_e15ccf42_lang.js +122 -0
  70. package/lib/cjs/components/skeleton/Skeleton.vue.js +3 -3
  71. package/lib/cjs/components/{tabs/Tabs.vue_vue&type=script&lang.js → skeleton/Skeleton.vue_vue_type_script_lang.js} +2 -2
  72. package/lib/cjs/components/skeleton/{Skeleton.vue_vue&type=template&id=f4226afe&lang.js → Skeleton.vue_vue_type_template_id_a9c4d78c_lang.js} +2 -6
  73. package/lib/cjs/components/spacer/Spacer.vue.js +1 -1
  74. package/lib/cjs/components/spacer/{Spacer.vue_vue&type=template&id=3c2aca79&lang.js → Spacer.vue_vue_type_template_id_3c2aca79_lang.js} +0 -0
  75. package/lib/cjs/components/spinner/Spinner.vue.js +3 -3
  76. package/lib/cjs/components/spinner/{Spinner.vue_vue&type=script&lang.js → Spinner.vue_vue_type_script_lang.js} +0 -0
  77. package/lib/cjs/components/spinner/{Spinner.vue_vue&type=template&id=435d3ecf&lang.js → Spinner.vue_vue_type_template_id_60c76aa5_lang.js} +4 -4
  78. package/lib/cjs/components/status/StatusDot.vue.js +3 -3
  79. package/lib/cjs/components/status/{StatusDot.vue_vue&type=script&lang.js → StatusDot.vue_vue_type_script_lang.js} +1 -13
  80. package/lib/cjs/components/status/StatusDot.vue_vue_type_template_id_1d82aee7_lang.js +25 -0
  81. package/lib/cjs/components/table/Table.vue.js +2 -2
  82. package/lib/cjs/components/table/{Table.vue_vue&type=script&lang.js → Table.vue_vue_type_script_lang.js} +6 -6
  83. package/lib/cjs/components/table/{Table.vue_vue&type=template&id=50d6ab12&lang.js → Table.vue_vue_type_template_id_50d6ab12_lang.js} +0 -0
  84. package/lib/cjs/components/table/TableBody.vue.js +2 -2
  85. package/lib/cjs/components/table/{TableBody.vue_vue&type=script&lang.js → TableBody.vue_vue_type_script_lang.js} +0 -0
  86. package/lib/cjs/components/table/{TableBody.vue_vue&type=template&id=fd21b336&lang.js → TableBody.vue_vue_type_template_id_fd21b336_lang.js} +0 -0
  87. package/lib/cjs/components/table/TableCell.vue.js +2 -2
  88. package/lib/cjs/components/table/{TableCell.vue_vue&type=script&lang.js → TableCell.vue_vue_type_script_lang.js} +0 -0
  89. package/lib/cjs/components/table/{TableCell.vue_vue&type=template&id=6b8d1953&lang.js → TableCell.vue_vue_type_template_id_6b8d1953_lang.js} +0 -0
  90. package/lib/cjs/components/table/TableHead.vue.js +2 -2
  91. package/lib/cjs/components/table/{TableHead.vue_vue&type=script&lang.js → TableHead.vue_vue_type_script_lang.js} +0 -0
  92. package/lib/cjs/components/table/{TableHead.vue_vue&type=template&id=c753405c&lang.js → TableHead.vue_vue_type_template_id_c753405c_lang.js} +0 -0
  93. package/lib/cjs/components/table/TableHeader.vue.js +3 -3
  94. package/lib/cjs/components/table/{TableHeader.vue_vue&type=script&lang.js → TableHeader.vue_vue_type_script_lang.js} +0 -0
  95. package/lib/cjs/components/table/{TableHeader.vue_vue&type=template&id=34196e32&lang.js → TableHeader.vue_vue_type_template_id_20f1eb1e_lang.js} +5 -5
  96. package/lib/cjs/components/table/TableRow.vue.js +3 -3
  97. package/lib/cjs/components/table/{TableRow.vue_vue&type=script&lang.js → TableRow.vue_vue_type_script_lang.js} +0 -0
  98. package/lib/cjs/components/table/{TableRow.vue_vue&type=template&id=4ffea48c&lang.js → TableRow.vue_vue_type_template_id_75239b39_lang.js} +5 -5
  99. package/lib/cjs/components/tabs/Tab.vue.js +3 -3
  100. package/lib/cjs/components/tabs/Tab.vue_vue_type_script_lang.js +62 -0
  101. package/lib/cjs/components/tabs/Tab.vue_vue_type_template_id_3ad17bb5_lang.js +29 -0
  102. package/lib/cjs/components/tabs/Tabs.vue.js +3 -3
  103. package/lib/cjs/components/tabs/Tabs.vue_vue_type_script_lang.js +37 -0
  104. package/lib/cjs/components/tabs/{Tabs.vue_vue&type=template&id=17799e08&lang.js → Tabs.vue_vue_type_template_id_4f5b59bd_lang.js} +2 -2
  105. package/lib/cjs/components/tag/Tag.vue.js +3 -3
  106. package/lib/cjs/components/tag/{Tag.vue_vue&type=script&lang.js → Tag.vue_vue_type_script_lang.js} +0 -18
  107. package/lib/cjs/components/tag/Tag.vue_vue_type_template_id_3d8994a5_lang.js +77 -0
  108. package/lib/cjs/components/textarea/Textarea.vue.js +3 -3
  109. package/lib/cjs/components/textarea/Textarea.vue_vue_type_script_lang.js +113 -0
  110. package/lib/cjs/components/textarea/Textarea.vue_vue_type_template_id_6ebcc37a_lang.js +70 -0
  111. package/lib/cjs/components/toast/Toast.vue.js +2 -2
  112. package/lib/cjs/components/toast/{Toast.vue_vue&type=script&lang.js → Toast.vue_vue_type_script_lang.js} +0 -0
  113. package/lib/cjs/components/toast/{Toast.vue_vue&type=template&id=0278d8f5&lang.js → Toast.vue_vue_type_template_id_0278d8f5_lang.js} +0 -0
  114. package/lib/cjs/components/toggle/Toggle.vue.js +3 -3
  115. package/lib/cjs/components/toggle/Toggle.vue_vue_type_script_lang.js +58 -0
  116. package/lib/cjs/components/toggle/Toggle.vue_vue_type_template_id_0dc1ddd9_lang.js +96 -0
  117. package/lib/cjs/components/tooltip/Tooltip.vue.js +2 -2
  118. package/lib/cjs/components/tooltip/{Tooltip.vue_vue&type=script&lang.js → Tooltip.vue_vue_type_script_lang.js} +2 -2
  119. package/lib/cjs/components/tooltip/{Tooltip.vue_vue&type=template&id=72e65c1a&lang.js → Tooltip.vue_vue_type_template_id_72e65c1a_lang.js} +0 -0
  120. package/lib/cjs/composables/common.js +28 -0
  121. package/lib/cjs/composables/inputtable.js +143 -0
  122. package/lib/cjs/composables/interactive.js +43 -0
  123. package/lib/cjs/index.js +42 -38
  124. package/lib/esm/components/Colors.vue.js +9 -0
  125. package/lib/esm/components/Colors.vue_vue_type_template_id_039e5c98_lang.js +402 -0
  126. package/lib/esm/components/avatar/Avatar.vue.js +3 -3
  127. package/lib/esm/components/avatar/Avatar.vue_vue_type_script_lang.js +84 -0
  128. package/lib/esm/components/avatar/Avatar.vue_vue_type_template_id_d5090cb0_lang.js +46 -0
  129. package/lib/esm/components/button/Button.vue.js +3 -3
  130. package/lib/esm/components/button/{Button.vue_vue&type=script&lang.js → Button.vue_vue_type_script_lang.js} +15 -39
  131. package/lib/esm/components/button/Button.vue_vue_type_template_id_1be5b88c_lang.js +96 -0
  132. package/lib/esm/components/card/Card.vue.js +3 -3
  133. package/lib/esm/components/card/{Card.vue_vue&type=script&lang.js → Card.vue_vue_type_script_lang.js} +0 -0
  134. package/lib/esm/components/card/Card.vue_vue_type_template_id_6e221de0_lang.js +18 -0
  135. package/lib/esm/components/checkbox/Checkbox.vue.js +3 -3
  136. package/lib/esm/components/checkbox/Checkbox.vue_vue_type_script_lang.js +56 -0
  137. package/lib/esm/components/checkbox/Checkbox.vue_vue_type_template_id_d00d1178_lang.js +98 -0
  138. package/lib/esm/components/collapse/Collapse.vue.js +3 -3
  139. package/lib/esm/components/collapse/{Collapse.vue_vue&type=script&lang.js → Collapse.vue_vue_type_script_lang.js} +0 -0
  140. package/lib/esm/components/collapse/{Collapse.vue_vue&type=template&id=65032827&lang.js → Collapse.vue_vue_type_template_id_65032827_lang.js} +0 -0
  141. package/lib/esm/components/container/Container.vue.js +3 -3
  142. package/lib/esm/components/container/{Container.vue_vue&type=script&lang.js → Container.vue_vue_type_script_lang.js} +0 -0
  143. package/lib/esm/components/container/Container.vue_vue_type_template_id_1109578e_lang.js +12 -0
  144. package/lib/esm/components/divider/Divider.vue.js +3 -3
  145. package/lib/esm/components/divider/{Divider.vue_vue&type=script&lang.js → Divider.vue_vue_type_script_lang.js} +0 -0
  146. package/lib/esm/components/divider/Divider.vue_vue_type_template_id_041f3bf1_lang.js +45 -0
  147. package/lib/esm/components/form/Form.vue.js +2 -5
  148. package/lib/esm/components/form/Form.vue_vue_type_script_lang.js +107 -0
  149. package/lib/esm/components/icon/Icon.vue.js +3 -3
  150. package/lib/esm/components/icon/{Icon.vue_vue&type=script&lang.js → Icon.vue_vue_type_script_lang.js} +6 -5
  151. package/lib/esm/components/icon/Icon.vue_vue_type_template_id_4fe868d3_lang.js +28 -0
  152. package/lib/esm/components/image/Image.vue.js +5 -0
  153. package/lib/esm/components/image/Image.vue_vue_type_script_lang.js +26 -0
  154. package/lib/esm/components/image/Image.vue_vue_type_template_id_d7718e2c_lang.js +9 -0
  155. package/lib/esm/components/index.js +39 -37
  156. package/lib/esm/components/input/Input.vue.js +3 -3
  157. package/lib/esm/components/input/Input.vue_vue_type_script_lang.js +99 -0
  158. package/lib/esm/components/input/{Input.vue_vue&type=template&id=046941e3&lang.js → Input.vue_vue_type_template_id_0a66306d_lang.js} +45 -46
  159. package/lib/esm/components/link/Link.vue.js +3 -3
  160. package/lib/esm/components/link/{Link.vue_vue&type=script&lang.js → Link.vue_vue_type_script_lang.js} +0 -0
  161. package/lib/esm/components/link/{Link.vue_vue&type=template&id=cd8b503c&lang.js → Link.vue_vue_type_template_id_291038eb_lang.js} +14 -14
  162. package/lib/esm/components/modal/Modal.vue.js +3 -3
  163. package/lib/esm/components/modal/{Modal.vue_vue&type=script&lang.js → Modal.vue_vue_type_script_lang.js} +0 -0
  164. package/lib/esm/components/modal/{Modal.vue_vue&type=template&id=31c76cbc&lang.js → Modal.vue_vue_type_template_id_1597a9fe_lang.js} +1 -1
  165. package/lib/esm/components/note/Note.vue.js +3 -3
  166. package/lib/esm/components/{skeleton/Skeleton.vue_vue&type=script&lang.js → note/Note.vue_vue_type_script_lang.js} +7 -2
  167. package/lib/esm/components/note/{Note.vue_vue&type=template&id=ea427b4c&lang.js → Note.vue_vue_type_template_id_79616501_lang.js} +9 -23
  168. package/lib/esm/components/pagination/Pagination.vue.js +3 -3
  169. package/lib/esm/components/pagination/{Pagination.vue_vue&type=script&lang.js → Pagination.vue_vue_type_script_lang.js} +5 -5
  170. package/lib/esm/components/pagination/{Pagination.vue_vue&type=template&id=0f4659a9&lang.js → Pagination.vue_vue_type_template_id_7b1569fe_lang.js} +8 -8
  171. package/lib/esm/components/pagination/PaginationItem.vue.js +3 -3
  172. package/lib/esm/components/pagination/{PaginationItem.vue_vue&type=script&lang.js → PaginationItem.vue_vue_type_script_lang.js} +0 -0
  173. package/lib/esm/components/pagination/{PaginationItem.vue_vue&type=template&id=a1d67888&lang.js → PaginationItem.vue_vue_type_template_id_a1d67888_lang.js} +0 -0
  174. package/lib/esm/components/popover/Popover.vue.js +4 -4
  175. package/lib/esm/components/popover/{Popover.vue_vue&type=script&lang.js → Popover.vue_vue_type_script_lang.js} +0 -0
  176. package/lib/esm/components/popover/{Popover.vue_vue&type=style&index=0&id=3d4ab1ae&lang.css.js → Popover.vue_vue_type_style_index_0_id_ef94d0dc_lang.css.js} +0 -0
  177. package/lib/esm/components/popover/{Popover.vue_vue&type=template&id=3d4ab1ae&lang.js → Popover.vue_vue_type_template_id_ef94d0dc_lang.js} +1 -1
  178. package/lib/esm/components/popover/PopoverContainer.vue.js +3 -3
  179. package/lib/esm/components/popover/{PopoverContainer.vue_vue&type=script&lang.js → PopoverContainer.vue_vue_type_script_lang.js} +0 -0
  180. package/lib/esm/components/popover/PopoverContainer.vue_vue_type_template_id_49e694b6_lang.js +12 -0
  181. package/lib/esm/components/popover/PopoverItem.vue.js +3 -3
  182. package/lib/esm/components/popover/{PopoverItem.vue_vue&type=script&lang.js → PopoverItem.vue_vue_type_script_lang.js} +0 -0
  183. package/lib/esm/components/popover/{PopoverItem.vue_vue&type=template&id=33f77d45&lang.js → PopoverItem.vue_vue_type_template_id_f493838c_lang.js} +10 -10
  184. package/lib/esm/components/progress/Progress.vue.js +3 -3
  185. package/lib/esm/components/progress/{Progress.vue_vue&type=script&lang.js → Progress.vue_vue_type_script_lang.js} +2 -9
  186. package/lib/esm/components/progress/{Progress.vue_vue&type=template&id=a5bfeb16&lang.js → Progress.vue_vue_type_template_id_73a39445_lang.js} +5 -21
  187. package/lib/esm/components/radio/Radio.vue.js +3 -3
  188. package/lib/esm/components/radio/Radio.vue_vue_type_script_lang.js +59 -0
  189. package/lib/esm/components/radio/Radio.vue_vue_type_template_id_7229826f_lang.js +116 -0
  190. package/lib/esm/components/select/Select.vue.js +3 -3
  191. package/lib/esm/components/select/Select.vue_vue_type_script_lang.js +60 -0
  192. package/lib/esm/components/select/Select.vue_vue_type_template_id_e15ccf42_lang.js +118 -0
  193. package/lib/esm/components/skeleton/Skeleton.vue.js +3 -3
  194. package/lib/esm/components/{tabs/Tabs.vue_vue&type=script&lang.js → skeleton/Skeleton.vue_vue_type_script_lang.js} +2 -2
  195. package/lib/esm/components/skeleton/Skeleton.vue_vue_type_template_id_a9c4d78c_lang.js +14 -0
  196. package/lib/esm/components/spacer/Spacer.vue.js +1 -1
  197. package/lib/esm/components/spacer/{Spacer.vue_vue&type=template&id=3c2aca79&lang.js → Spacer.vue_vue_type_template_id_3c2aca79_lang.js} +0 -0
  198. package/lib/esm/components/spinner/Spinner.vue.js +3 -3
  199. package/lib/esm/components/spinner/{Spinner.vue_vue&type=script&lang.js → Spinner.vue_vue_type_script_lang.js} +0 -0
  200. package/lib/esm/components/spinner/{Spinner.vue_vue&type=template&id=435d3ecf&lang.js → Spinner.vue_vue_type_template_id_60c76aa5_lang.js} +4 -4
  201. package/lib/esm/components/status/StatusDot.vue.js +3 -3
  202. package/lib/esm/components/status/{StatusDot.vue_vue&type=script&lang.js → StatusDot.vue_vue_type_script_lang.js} +1 -13
  203. package/lib/esm/components/status/StatusDot.vue_vue_type_template_id_1d82aee7_lang.js +21 -0
  204. package/lib/esm/components/table/Table.vue.js +3 -3
  205. package/lib/esm/components/table/{Table.vue_vue&type=script&lang.js → Table.vue_vue_type_script_lang.js} +6 -6
  206. package/lib/esm/components/table/{Table.vue_vue&type=template&id=50d6ab12&lang.js → Table.vue_vue_type_template_id_50d6ab12_lang.js} +0 -0
  207. package/lib/esm/components/table/TableBody.vue.js +3 -3
  208. package/lib/esm/components/table/{TableBody.vue_vue&type=script&lang.js → TableBody.vue_vue_type_script_lang.js} +0 -0
  209. package/lib/esm/components/table/{TableBody.vue_vue&type=template&id=fd21b336&lang.js → TableBody.vue_vue_type_template_id_fd21b336_lang.js} +0 -0
  210. package/lib/esm/components/table/TableCell.vue.js +3 -3
  211. package/lib/esm/components/table/{TableCell.vue_vue&type=script&lang.js → TableCell.vue_vue_type_script_lang.js} +0 -0
  212. package/lib/esm/components/table/{TableCell.vue_vue&type=template&id=6b8d1953&lang.js → TableCell.vue_vue_type_template_id_6b8d1953_lang.js} +0 -0
  213. package/lib/esm/components/table/TableHead.vue.js +3 -3
  214. package/lib/esm/components/table/{TableHead.vue_vue&type=script&lang.js → TableHead.vue_vue_type_script_lang.js} +0 -0
  215. package/lib/esm/components/table/{TableHead.vue_vue&type=template&id=c753405c&lang.js → TableHead.vue_vue_type_template_id_c753405c_lang.js} +0 -0
  216. package/lib/esm/components/table/TableHeader.vue.js +3 -3
  217. package/lib/esm/components/table/{TableHeader.vue_vue&type=script&lang.js → TableHeader.vue_vue_type_script_lang.js} +0 -0
  218. package/lib/esm/components/table/{TableHeader.vue_vue&type=template&id=34196e32&lang.js → TableHeader.vue_vue_type_template_id_20f1eb1e_lang.js} +6 -6
  219. package/lib/esm/components/table/TableRow.vue.js +3 -3
  220. package/lib/esm/components/table/{TableRow.vue_vue&type=script&lang.js → TableRow.vue_vue_type_script_lang.js} +0 -0
  221. package/lib/esm/components/table/{TableRow.vue_vue&type=template&id=4ffea48c&lang.js → TableRow.vue_vue_type_template_id_75239b39_lang.js} +6 -6
  222. package/lib/esm/components/tabs/Tab.vue.js +3 -3
  223. package/lib/esm/components/tabs/Tab.vue_vue_type_script_lang.js +60 -0
  224. package/lib/esm/components/tabs/Tab.vue_vue_type_template_id_3ad17bb5_lang.js +25 -0
  225. package/lib/esm/components/tabs/Tabs.vue.js +3 -3
  226. package/lib/esm/components/tabs/Tabs.vue_vue_type_script_lang.js +35 -0
  227. package/lib/esm/components/tabs/Tabs.vue_vue_type_template_id_4f5b59bd_lang.js +12 -0
  228. package/lib/esm/components/tag/Tag.vue.js +3 -3
  229. package/lib/esm/components/tag/{Tag.vue_vue&type=script&lang.js → Tag.vue_vue_type_script_lang.js} +0 -18
  230. package/lib/esm/components/tag/Tag.vue_vue_type_template_id_3d8994a5_lang.js +73 -0
  231. package/lib/esm/components/textarea/Textarea.vue.js +3 -3
  232. package/lib/esm/components/textarea/Textarea.vue_vue_type_script_lang.js +111 -0
  233. package/lib/esm/components/textarea/Textarea.vue_vue_type_template_id_6ebcc37a_lang.js +66 -0
  234. package/lib/esm/components/toast/Toast.vue.js +3 -3
  235. package/lib/esm/components/toast/{Toast.vue_vue&type=script&lang.js → Toast.vue_vue_type_script_lang.js} +0 -0
  236. package/lib/esm/components/toast/{Toast.vue_vue&type=template&id=0278d8f5&lang.js → Toast.vue_vue_type_template_id_0278d8f5_lang.js} +0 -0
  237. package/lib/esm/components/toggle/Toggle.vue.js +3 -3
  238. package/lib/esm/components/toggle/Toggle.vue_vue_type_script_lang.js +56 -0
  239. package/lib/esm/components/toggle/Toggle.vue_vue_type_template_id_0dc1ddd9_lang.js +92 -0
  240. package/lib/esm/components/tooltip/Tooltip.vue.js +3 -3
  241. package/lib/esm/components/tooltip/{Tooltip.vue_vue&type=script&lang.js → Tooltip.vue_vue_type_script_lang.js} +2 -2
  242. package/lib/esm/components/tooltip/{Tooltip.vue_vue&type=template&id=72e65c1a&lang.js → Tooltip.vue_vue_type_template_id_72e65c1a_lang.js} +0 -0
  243. package/lib/esm/composables/common.js +23 -0
  244. package/lib/esm/composables/inputtable.js +136 -0
  245. package/lib/esm/composables/interactive.js +37 -0
  246. package/lib/esm/index.js +40 -38
  247. package/lib/tailwind.preset.js +5 -42
  248. package/lib/umd/index.js +1 -1
  249. package/package.json +5 -4
  250. package/src/components/avatar/Avatar.vue +59 -60
  251. package/src/components/button/Button.vue +52 -120
  252. package/src/components/card/Card.vue +2 -3
  253. package/src/components/checkbox/Checkbox.vue +50 -56
  254. package/src/components/colors.vue +396 -0
  255. package/src/components/container/Container.vue +1 -2
  256. package/src/components/divider/Divider.vue +10 -11
  257. package/src/components/form/Form.vue +57 -43
  258. package/src/components/icon/Icon.vue +11 -11
  259. package/src/components/image/Image.vue +30 -0
  260. package/src/components/index.js +2 -0
  261. package/src/components/input/Input.vue +18 -130
  262. package/src/components/link/Link.vue +9 -10
  263. package/src/components/modal/Modal.vue +1 -1
  264. package/src/components/note/Note.vue +8 -35
  265. package/src/components/pagination/Pagination.vue +12 -12
  266. package/src/components/popover/Popover.vue +1 -1
  267. package/src/components/popover/PopoverContainer.vue +0 -1
  268. package/src/components/popover/PopoverItem.vue +5 -6
  269. package/src/components/progress/Progress.vue +7 -30
  270. package/src/components/radio/Radio.vue +46 -56
  271. package/src/components/select/Select.vue +52 -127
  272. package/src/components/skeleton/Skeleton.vue +2 -11
  273. package/src/components/spinner/Spinner.vue +4 -4
  274. package/src/components/status/StatusDot.vue +11 -39
  275. package/src/components/table/TableHeader.vue +0 -1
  276. package/src/components/table/TableRow.vue +0 -1
  277. package/src/components/tabs/Tab.vue +45 -13
  278. package/src/components/tabs/Tabs.vue +24 -2
  279. package/src/components/tag/Tag.vue +17 -47
  280. package/src/components/textarea/Textarea.vue +40 -130
  281. package/src/components/toggle/Toggle.vue +82 -85
  282. package/src/composables/common.js +21 -0
  283. package/src/composables/inputtable.js +138 -0
  284. package/src/composables/interactive.js +38 -0
  285. package/src/tailwind.preset.js +5 -42
  286. package/lib/cjs/components/avatar/Avatar.vue_vue&type=script&lang.js +0 -76
  287. package/lib/cjs/components/avatar/Avatar.vue_vue&type=template&id=36a4d50f&lang.js +0 -60
  288. package/lib/cjs/components/button/Button.vue_vue&type=template&id=365674ca&lang.js +0 -142
  289. package/lib/cjs/components/checkbox/Checkbox.vue_vue&type=script&lang.js +0 -69
  290. package/lib/cjs/components/checkbox/Checkbox.vue_vue&type=template&id=bf794940&lang.js +0 -78
  291. package/lib/cjs/components/form/Form.vue_vue&type=script&lang.js +0 -87
  292. package/lib/cjs/components/form/Form.vue_vue&type=template&id=341983a2&lang.js +0 -20
  293. package/lib/cjs/components/input/Input.vue_vue&type=script&lang.js +0 -210
  294. package/lib/cjs/components/note/Note.vue_vue&type=script&lang.js +0 -36
  295. package/lib/cjs/components/radio/Radio.vue_vue&type=script&lang.js +0 -76
  296. package/lib/cjs/components/radio/Radio.vue_vue&type=template&id=7736acd0&lang.js +0 -100
  297. package/lib/cjs/components/select/Select.vue_vue&type=script&lang.js +0 -150
  298. package/lib/cjs/components/select/Select.vue_vue&type=template&id=6ccf0009&lang.js +0 -97
  299. package/lib/cjs/components/status/StatusDot.vue_vue&type=template&id=75d1a520&lang.js +0 -40
  300. package/lib/cjs/components/tabs/Tab.vue_vue&type=script&lang.js +0 -29
  301. package/lib/cjs/components/tabs/Tab.vue_vue&type=template&id=42dce82e&lang.js +0 -29
  302. package/lib/cjs/components/tag/Tag.vue_vue&type=template&id=289ac1d7&lang.js +0 -87
  303. package/lib/cjs/components/textarea/Textarea.vue_vue&type=script&lang.js +0 -202
  304. package/lib/cjs/components/textarea/Textarea.vue_vue&type=template&id=9e7d494a&lang.js +0 -68
  305. package/lib/cjs/components/toggle/Toggle.vue_vue&type=script&lang.js +0 -65
  306. package/lib/cjs/components/toggle/Toggle.vue_vue&type=template&id=2dc56b20&lang.js +0 -77
  307. package/lib/esm/components/avatar/Avatar.vue_vue&type=script&lang.js +0 -74
  308. package/lib/esm/components/avatar/Avatar.vue_vue&type=template&id=36a4d50f&lang.js +0 -56
  309. package/lib/esm/components/button/Button.vue_vue&type=template&id=365674ca&lang.js +0 -138
  310. package/lib/esm/components/card/Card.vue_vue&type=template&id=5a1806fe&lang.js +0 -18
  311. package/lib/esm/components/checkbox/Checkbox.vue_vue&type=script&lang.js +0 -67
  312. package/lib/esm/components/checkbox/Checkbox.vue_vue&type=template&id=bf794940&lang.js +0 -74
  313. package/lib/esm/components/container/Container.vue_vue&type=template&id=7b2991c1&lang.js +0 -12
  314. package/lib/esm/components/divider/Divider.vue_vue&type=template&id=61c5e3d4&lang.js +0 -45
  315. package/lib/esm/components/form/Form.vue_vue&type=script&lang.js +0 -85
  316. package/lib/esm/components/form/Form.vue_vue&type=template&id=341983a2&lang.js +0 -16
  317. package/lib/esm/components/icon/Icon.vue_vue&type=template&id=2e35bbff&lang.js +0 -28
  318. package/lib/esm/components/input/Input.vue_vue&type=script&lang.js +0 -208
  319. package/lib/esm/components/note/Note.vue_vue&type=script&lang.js +0 -34
  320. package/lib/esm/components/popover/PopoverContainer.vue_vue&type=template&id=c3f5df12&lang.js +0 -12
  321. package/lib/esm/components/radio/Radio.vue_vue&type=script&lang.js +0 -74
  322. package/lib/esm/components/radio/Radio.vue_vue&type=template&id=7736acd0&lang.js +0 -96
  323. package/lib/esm/components/select/Select.vue_vue&type=script&lang.js +0 -148
  324. package/lib/esm/components/select/Select.vue_vue&type=template&id=6ccf0009&lang.js +0 -93
  325. package/lib/esm/components/skeleton/Skeleton.vue_vue&type=template&id=f4226afe&lang.js +0 -18
  326. package/lib/esm/components/status/StatusDot.vue_vue&type=template&id=75d1a520&lang.js +0 -36
  327. package/lib/esm/components/tabs/Tab.vue_vue&type=script&lang.js +0 -27
  328. package/lib/esm/components/tabs/Tab.vue_vue&type=template&id=42dce82e&lang.js +0 -25
  329. package/lib/esm/components/tabs/Tabs.vue_vue&type=template&id=17799e08&lang.js +0 -12
  330. package/lib/esm/components/tag/Tag.vue_vue&type=template&id=289ac1d7&lang.js +0 -83
  331. package/lib/esm/components/textarea/Textarea.vue_vue&type=script&lang.js +0 -200
  332. package/lib/esm/components/textarea/Textarea.vue_vue&type=template&id=9e7d494a&lang.js +0 -64
  333. package/lib/esm/components/toggle/Toggle.vue_vue&type=script&lang.js +0 -63
  334. package/lib/esm/components/toggle/Toggle.vue_vue&type=template&id=2dc56b20&lang.js +0 -73
@@ -1,53 +1,58 @@
1
1
  <template>
2
2
  <label
3
- class="inline-block cursor-pointer focus:outline-none"
3
+ ref="focusRef"
4
+ class="inline-block mb-1 relative cursor-pointer focus:outline-none"
4
5
  :class="{
5
- 'rounded border border-gray-300 dark:border-gray-700 p-2 hover:border-primary-500 dark:hover:border-primary-500': bordered,
6
- 'transition-colors duration-150 ease-in-out': bordered,
7
- 'border-primary-500 dark:border-primary-500': checked && !disabled,
6
+ ['rounded border p-2 hover:border-gray-500 dark:hover:border-gray-500 transition-colors duration-150 ease-in-out']: bordered,
7
+ [`border-gray-300 dark:border-gray-700`]: bordered && !selected,
8
+ [`border-${color}-500 dark:border-${color}-500`]: bordered && selected && !disabled,
8
9
  }"
9
- :aria-checked="checked ? 'true' : 'false'"
10
+ :aria-checked="selected ? 'true' : 'false'"
10
11
  :aria-disabled="disabled ? 'true' : null"
11
12
  :tabindex="0"
13
+ @keypress.prevent.stop.enter.space="$emit('update:modelValue', value)"
12
14
  >
13
15
  <div
14
16
  class="flex items-center"
15
17
  :class="{ 'cursor-not-allowed': disabled }"
16
18
  >
17
19
  <input
18
- ref="input"
19
20
  v-model="selected"
20
21
  type="radio"
21
22
  class="invisible absolute"
22
- :disabled="disabled"
23
+ :disabled="disabled || loading"
23
24
  :name="name"
24
25
  :required="required"
25
- :value="value"
26
+ :value="modelValue"
26
27
  />
27
28
  <div
28
- class="border rounded-full flex justify-center items-center flex-none"
29
+ class="rounded-full flex justify-center items-center flex-shrink-0"
29
30
  :class="[
30
31
  {
31
32
  // shadow
32
- 'shadow': !flat,
33
+ 'shadow': !flat && !loading,
34
+ [`shadow-lg shadow-${color}-500/50`]: !flat && glow && selected,
33
35
 
34
36
  'h-4 w-4': size === 'sm' || size === 'xs',
35
37
  'h-5 w-5': !['xs', 'sm', 'xl'].includes(size),
36
38
  'h-6 w-6': size === 'xl',
37
-
38
- 'hover:border-primary-500': !disabled,
39
- 'bg-primary-500 border-primary-500': checked && !disabled,
40
- 'bg-white dark:bg-gray-900 border-gray-300 dark:border-gray-700': !checked && !disabled,
41
- // disabled
42
- 'bg-gray-500 border-gray-600 dark:border-gray-400': checked && disabled,
43
- 'bg-gray-200 border-gray-300 dark:border-gray-700': !checked && disabled,
39
+ },
40
+ disabled ? {
41
+ 'bg-gray-500 border-gray-600 dark:border-gray-400': selected,
42
+ 'bg-gray-200 border-gray-300 dark:border-gray-700': !selected,
43
+ } :
44
+ {
45
+ [`bg-${color}-500 border-${color}-500`]: selected && !loading,
46
+ 'border bg-white dark:bg-gray-900 border-gray-300 dark:border-gray-700': !selected && !loading,
44
47
  }
45
48
  ]"
46
49
  >
50
+ <x-spinner v-if="loading" :size="size" class="absolute" />
47
51
  <svg
48
- class="fill-current text-primary-100"
52
+ v-else
53
+ class="fill-current text-gray-100"
49
54
  :class="{
50
- 'opacity-0': !checked,
55
+ 'opacity-0': !selected,
51
56
  'h-2 w-2': size === 'sm' || size === 'xs',
52
57
  'h-3 w-3': !['xs', 'sm', 'xl'].includes(size),
53
58
  'h-4 w-4': size === 'xl',
@@ -82,80 +87,65 @@
82
87
  >
83
88
  <slot></slot>
84
89
  </div>
90
+ <p v-if="errorInternal" class="text-sm text-error-500 mt-1" v-text="errorInternal"></p>
85
91
  </label>
86
92
  </template>
87
93
 
88
94
  <script>
95
+ import { withProps, withValidator, withEmits, useInputtable } from '../../composables/inputtable'
96
+ import XSpinner from '../spinner/Spinner.vue'
97
+
89
98
  export default {
90
99
  name: 'XRadio',
100
+ components: {
101
+ XSpinner,
102
+ },
91
103
 
92
- model: {
93
- prop: 'options',
94
- event: 'change',
104
+ validator: {
105
+ ...withValidator(),
95
106
  },
96
107
 
97
108
  props: {
109
+ ...withProps(),
98
110
  bordered: {
99
111
  type: Boolean,
100
112
  default: false,
101
113
  },
102
114
 
103
- disabled: {
104
- type: Boolean,
105
- default: false,
106
- },
107
-
108
- options: {
115
+ value: {
109
116
  type: [String, Number, Boolean, Function, Object, Array],
110
117
  default: null,
111
118
  },
112
119
 
113
- name: {
114
- type: String,
115
- default: null,
116
- },
117
-
118
- size: {
119
- type: String,
120
- default: null,
121
- },
122
-
123
120
  label: {
124
121
  type: String,
125
122
  default: null,
126
123
  },
127
124
 
128
- required: {
125
+ glow: {
129
126
  type: Boolean,
130
127
  default: false,
131
128
  },
129
+ },
132
130
 
133
- value: {
134
- type: [String, Number, Boolean, Function, Object, Array],
135
- default: null,
136
- },
131
+ emits: withEmits(false),
132
+
133
+ setup(props, { attrs, emit }) {
134
+ return {
135
+ ...useInputtable(props, { attrs, emit, useListeners: false }),
136
+ }
137
137
  },
138
138
 
139
139
  computed: {
140
- checked() {
141
- return this.options === this.value
142
- },
143
-
144
140
  selected: {
145
141
  get() {
146
- return this.options
142
+ return this.value === this.modelValue
147
143
  },
148
144
 
149
- set(val) {
150
- this.$emit('change', val)
145
+ set() {
146
+ this.$emit('update:modelValue', this.value)
151
147
  },
152
148
  },
153
149
  },
154
-
155
- methods: {
156
- focus() {
157
- this.$refs.input.focus()
158
- },
159
- },
160
150
  }
161
151
  </script>
@@ -1,8 +1,5 @@
1
1
  <template>
2
- <label
3
- class="block mb-1 relative"
4
- :class="hideDetails ? 'pb-2' : 'pb-6'"
5
- >
2
+ <label class="inline-block mb-1 relative pb-2">
6
3
  <p
7
4
  v-if="label"
8
5
  class="font-medium text-gray-800 dark:text-gray-200 mb-1"
@@ -17,7 +14,8 @@
17
14
 
18
15
  <div class="relative">
19
16
  <select
20
- ref="input"
17
+ ref="focusRef"
18
+ v-model="selected"
21
19
  class="block appearance-none w-full border border-gray-300 dark:border-gray-700 pr-8 rounded-form leading-tight
22
20
  focus:outline-none focus:border-primary-500 dark:focus:border-primary-500 transition-colors duration-150 ease-in-out"
23
21
  :class="[
@@ -26,7 +24,7 @@
26
24
  : 'bg-white dark:bg-gray-900',
27
25
  {
28
26
  // shadow
29
- 'border shadow': !flat,
27
+ 'shadow': !flat,
30
28
 
31
29
  // size
32
30
  'py-1': size === 'auto',
@@ -37,18 +35,17 @@
37
35
  'px-6 py-6 text-xl': size === 'xl',
38
36
  },
39
37
  {
40
- 'text-gray-700 dark:text-gray-200': value === '' || value === null,
38
+ 'text-gray-400 dark:text-gray-500': modelValue === '' || modelValue === null,
41
39
 
42
40
  // error
43
41
  'border-error-500 focus:border-error-500 dark:focus:border-error-500': errorInternal,
44
42
  },
45
43
  ]"
46
- :disabled="disabled"
44
+ :disabled="disabled || loading"
47
45
  :name="name"
48
46
  :readonly="readonly"
49
- :value="value"
50
-
51
- v-on="listeners"
47
+ :value="modelValue"
48
+ v-on="inputListeners"
52
49
  >
53
50
  <option
54
51
  v-if="placeholder"
@@ -57,13 +54,30 @@
57
54
  >
58
55
  {{ placeholder }}
59
56
  </option>
57
+ <option
58
+ v-for="(option, index) in options"
59
+ :key="index"
60
+ :value="option.value"
61
+ :disabled="option.disabled"
62
+ >
63
+ {{ option.label }}
64
+ </option>
60
65
  <slot></slot>
61
66
  </select>
62
67
 
63
68
  <div class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2">
69
+ <x-spinner v-if="loading" :size="size" />
64
70
  <svg
65
- class="h-4 w-4 stroke-2"
66
- :class="[disabled ? 'text-gray-600 dark:text-gray-400': 'text-gray-700 dark:text-gray-300']"
71
+ v-else
72
+ class="stroke-2"
73
+ :class="[
74
+ disabled ? 'text-gray-600 dark:text-gray-400': 'text-gray-700 dark:text-gray-300',
75
+ {
76
+ 'h-3 w-3': size === 'sm' || size === 'xs',
77
+ 'h-4 w-4': !['xs', 'sm', 'xl'].includes(size),
78
+ 'h-5 w-5': size === 'xl',
79
+ }
80
+ ]"
67
81
  viewBox="0 0 24 24"
68
82
  stroke="currentColor"
69
83
  stroke-linejoin="round"
@@ -81,149 +95,60 @@
81
95
  </template>
82
96
 
83
97
  <script>
98
+ import { withProps, withValidator, withEmits, useInputtable } from '../../composables/inputtable'
99
+ import XSpinner from '../spinner/Spinner.vue'
100
+
84
101
  export default {
85
102
  name: 'XSelect',
103
+ components: {
104
+ XSpinner,
105
+ },
86
106
 
87
- props: {
88
- disabled: {
89
- default: false,
90
- type: Boolean,
91
- },
92
-
93
- name: {
94
- type: String,
95
- default: null,
96
- },
97
-
98
- validateOnInput: {
99
- type: Boolean,
100
- default: true,
101
- },
107
+ validator: {
108
+ ...withValidator(),
109
+ },
102
110
 
103
- hideDetails: {
104
- type: Boolean,
105
- default: false,
106
- },
111
+ props: {
112
+ ...withProps(),
107
113
 
108
114
  placeholder: {
109
115
  type: String,
110
116
  default: null,
111
117
  },
112
118
 
113
- readonly: {
114
- type: Boolean,
115
- default: null,
116
- },
117
-
118
119
  flat: {
119
120
  type: Boolean,
120
121
  default: false,
121
122
  },
122
123
 
123
- size: {
124
- type: String,
125
- default: null,
126
- },
127
-
128
124
  label: {
129
125
  type: String,
130
126
  default: null,
131
127
  },
132
128
 
133
- value: {
134
- type: [String, Number],
135
- default: null,
136
- },
137
-
138
- error: {
139
- type: String,
140
- default: '',
141
- },
142
-
143
- rules: {
129
+ options: {
144
130
  type: Array,
145
- default: () => [],
131
+ default: null,
146
132
  },
147
133
  },
148
134
 
149
- data() {
135
+ emits: withEmits(false),
136
+
137
+ setup(props, { attrs, emit }) {
150
138
  return {
151
- isFirstValidation: true,
152
- errorInternal: this.error,
139
+ ...useInputtable(props, { attrs, emit, useListeners: false }),
153
140
  }
154
141
  },
155
142
 
156
143
  computed: {
157
- listeners() {
158
- return {
159
- // Add listeners from parent
160
- ...this.$attrs,
161
- // Ensure that the component works with v-model
162
- blur: (event) => this.$emit('blur', event),
163
- focus: (event) => this.$emit('focus', event),
164
- input: (event) => {
165
- if (this.validateOnInput && !this.isFirstValidation) this.validate(event.target.value)
166
- this.$emit('input', event.target.value)
167
- this.$emit('select', event.target.value)
168
- },
169
- }
170
- },
171
- },
172
-
173
- watch: {
174
- error(val) {
175
- this.errorInternal = val
176
- },
177
- },
178
-
179
- methods: {
180
- reset() {
181
- this.errorInternal = ''
182
- this.isFirstValidation = true
183
- this.$emit('input', '')
184
- this.$emit('select', '')
185
- },
186
- focus() {
187
- this.$refs.input.focus()
188
- },
189
- validate(val) {
190
- val = val || this.value
191
-
192
- this.isFirstValidation = false
193
-
194
- for (let i = 0; i < this.rules.length; i++) {
195
- const item = this.rules[i]
196
-
197
- let isValid = true
198
-
199
- // Direct Function
200
- if (typeof item === 'function') {
201
- const rule = item
202
-
203
- isValid = rule(val)
204
- } else if (Array.isArray(item) && item.length === 2) {
205
- // Rule array [function, options]
206
- const { 0: rule, 1: options } = item
207
-
208
- isValid = rule(val, options)
209
- } else {
210
- // Rule object { fn, options }
211
- const rule = item.fn
212
- const { options } = item
213
-
214
- isValid = rule(val, options)
215
- }
216
-
217
- if (isValid !== true) {
218
- this.errorInternal = isValid
219
-
220
- return false
221
- }
222
- }
223
-
224
- this.errorInternal = ''
225
-
226
- return true
144
+ selected: {
145
+ get() {
146
+ return this.modelValue
147
+ },
148
+
149
+ set(val) {
150
+ this.$emit('update:modelValue', val)
151
+ },
227
152
  },
228
153
  },
229
154
  }
@@ -1,11 +1,7 @@
1
1
  <template>
2
2
  <component
3
- :is="$props.tag"
4
- v-bind="$attrs"
5
- class="animate-pulse bg-gray-300 dark:bg-gray-600"
6
- :class="[
7
- $props.rounded ? 'rounded-full' : 'rounded-sm',
8
- ]"
3
+ :is="tag"
4
+ class="animate-pulse bg-gray-300 dark:bg-gray-600 rounded-md"
9
5
  >
10
6
  &#8203;
11
7
  </component>
@@ -16,11 +12,6 @@ export default {
16
12
  name: 'XSkeleton',
17
13
 
18
14
  props: {
19
- rounded: {
20
- type: Boolean,
21
- default: false,
22
- },
23
-
24
15
  tag: {
25
16
  type: String,
26
17
  default: 'div',
@@ -2,10 +2,10 @@
2
2
  <svg
3
3
  :class="[
4
4
  {
5
- 'h-3 w-3': $props.size === 'xs',
6
- 'h-4 w-4': $props.size === 'sm',
7
- 'h-5 w-5': !['xs', 'sm', 'xl'].includes($props.size),
8
- 'h-6 w-6': $props.size === 'xl',
5
+ 'h-3 w-3': size === 'xs',
6
+ 'h-4 w-4': size === 'sm',
7
+ 'h-5 w-5': !['xs', 'sm', 'xl'].includes(size),
8
+ 'h-6 w-6': size === 'xl',
9
9
  },
10
10
 
11
11
  ]"
@@ -1,63 +1,35 @@
1
1
  <template>
2
2
  <component
3
- :is="$props.tag"
4
- v-bind="$attrs"
5
- class="inline-block relative h-3 w-3"
3
+ :is="tag"
4
+ class="inline-block relative"
6
5
  >
6
+ <slot></slot>
7
7
  <div
8
- v-if="$props.animate"
9
- class="animate-ping absolute h-full w-full rounded-full opacity-75"
10
- :class="[
11
- {
12
- // status
13
- 'bg-primary-400': $props.status === 'primary',
14
- 'bg-error-400': $props.status === 'error',
15
- 'bg-success-400': $props.status === 'success',
16
- 'bg-warning-400': $props.status === 'warning',
17
- },
18
- ]"
19
- ></div>
20
-
8
+ v-if="animate"
9
+ class="animate-ping opacity-75 absolute -top-0.5 -right-0.5 rounded-full h-3 w-3 z-10"
10
+ :class="[`bg-${color}-500`]"
11
+ >
12
+ </div>
21
13
  <div
22
- class="absolute rounded-full h-full w-full"
23
- :class="[
24
- {
25
- // status
26
- 'bg-primary-500': $props.status === 'primary',
27
- 'bg-error-500': $props.status === 'error',
28
- 'bg-success-500': $props.status === 'success',
29
- 'bg-warning-500': $props.status === 'warning',
30
- },
31
- ]"
14
+ class="absolute -top-0.5 -right-0.5 rounded-full h-3 w-3 z-10"
15
+ :class="[`bg-${color}-500`]"
32
16
  ></div>
33
17
  </component>
34
18
  </template>
35
19
 
36
20
  <script>
37
- const validator = {
38
- status: [
39
- 'primary',
40
- 'error',
41
- 'success',
42
- 'warning',
43
- ],
44
- }
45
-
46
21
  export default {
47
22
  name: 'XStatusDot',
48
23
 
49
- validator,
50
-
51
24
  props: {
52
25
  animate: {
53
26
  type: Boolean,
54
27
  default: false,
55
28
  },
56
29
 
57
- status: {
30
+ color: {
58
31
  type: String,
59
32
  default: 'primary',
60
- validator: (value) => validator.status.includes(value),
61
33
  },
62
34
 
63
35
  tag: {
@@ -14,7 +14,6 @@
14
14
  'text-justify': textAlign === 'justify',
15
15
  },
16
16
  ]"
17
- v-bind="$attrs"
18
17
  >
19
18
  <div
20
19
  v-if="sortable"
@@ -13,7 +13,6 @@
13
13
  'align-top': verticalAlign === 'top',
14
14
  },
15
15
  ]"
16
- v-bind="$attrs"
17
16
  >
18
17
  <slot></slot>
19
18
  </tr>
@@ -1,26 +1,27 @@
1
1
  <template>
2
2
  <component
3
- :is="$props.to ? 'router-link' : $props.tag"
4
- v-bind="$attrs"
5
- :to="$props.to"
3
+ :is="to ? 'router-link' : tag"
4
+ :to="to"
6
5
  class="pb-2 transition-colors duration-150 ease-in-out"
7
6
  :class="[
8
7
  {
9
- 'border-b-2 border-primary-500 text-primary-500': $props.selected,
10
- 'hover:text-primary-500': !$props.disabled,
11
- 'cursor-pointer': !$props.disabled,
12
- 'cursor-not-allowed': $props.disabled,
13
- 'cursor-not-allowed text-gray-500': $props.disabled && !$props.selected,
8
+ [`border-b-2 border-${color}-500 text-${color}-500`]: selected,
9
+ 'cursor-pointer': !disabled,
10
+ 'cursor-not-allowed': disabled,
11
+ 'cursor-not-allowed text-gray-500': disabled && !selected,
14
12
  },
15
13
  ]"
16
- :aria-disabled="$props.disabled ? 'true' : null"
17
- :aria-selected="$props.selected ? 'true' : 'false'"
14
+ :aria-disabled="disabled ? 'true' : null"
15
+ :aria-selected="selected ? 'true' : 'false'"
16
+ @click="onClickTab"
18
17
  >
19
18
  <slot></slot>
20
19
  </component>
21
20
  </template>
22
21
 
23
22
  <script>
23
+ import { inject, reactive, computed, toRefs } from 'vue'
24
+
24
25
  export default {
25
26
  name: 'XTab',
26
27
 
@@ -30,9 +31,14 @@ export default {
30
31
  default: false,
31
32
  },
32
33
 
33
- selected: {
34
- type: Boolean,
35
- default: false,
34
+ value: {
35
+ type: [String, Number],
36
+ default: null,
37
+ },
38
+
39
+ color: {
40
+ type: String,
41
+ default: 'primary',
36
42
  },
37
43
 
38
44
  tag: {
@@ -45,5 +51,31 @@ export default {
45
51
  default: undefined,
46
52
  },
47
53
  },
54
+
55
+ setup(props) {
56
+ const tabs = inject(
57
+ 'tabs',
58
+ {
59
+ state: reactive({
60
+ active: null,
61
+ }),
62
+ activateTab: () => {},
63
+ },
64
+ )
65
+
66
+ const state = reactive({
67
+ selected: computed(() => tabs.state.active === props.value),
68
+ })
69
+
70
+ function onClickTab() {
71
+ tabs.activateTab(props.value)
72
+ }
73
+
74
+ return {
75
+ ...toRefs(state),
76
+ tabs,
77
+ onClickTab,
78
+ }
79
+ },
48
80
  }
49
81
  </script>