@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indielayer/ui",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Indielayer UI Components with Tailwind CSS build for Vue 3",
5
5
  "author": {
6
6
  "name": "João Teixeira",
@@ -45,14 +45,15 @@
45
45
  "@rollup/plugin-node-resolve": "^13.0.0",
46
46
  "@vue/cli-service": "~4.5.0",
47
47
  "@vue/compiler-sfc": "^3.0.0",
48
- "postcss": "^8.3.8",
48
+ "autoprefixer": "^10.4.0",
49
+ "postcss": "^8.4.4",
49
50
  "rollup": "^2.48.0",
50
51
  "rollup-plugin-cleaner": "^1.0.0",
51
52
  "rollup-plugin-commonjs": "^10.1.0",
52
53
  "rollup-plugin-postcss": "^4.0.1",
53
54
  "rollup-plugin-terser": "^7.0.2",
54
55
  "rollup-plugin-vue": "^6.0.0",
55
- "tailwindcss": "^2.1.2"
56
+ "tailwindcss": "^3.0.0"
56
57
  },
57
58
  "browserslist": [
58
59
  "> 1%",
@@ -71,5 +72,5 @@
71
72
  "publishConfig": {
72
73
  "access": "public"
73
74
  },
74
- "gitHead": "7b8d5ef1f9022fa4e3da29f914a763f785dfbda8"
75
+ "gitHead": "6d9d6573e24610ef4d5362b6cea0db9aaa94ea09"
75
76
  }
@@ -1,45 +1,34 @@
1
1
  <template>
2
2
  <component
3
- :is="$props.tag"
4
- v-bind="$attrs"
3
+ :is="tag"
5
4
  class="inline-flex items-center justify-center overflow-hidden"
6
5
  :class="[
7
6
  // color
8
- !$props.src ? {
9
- 'bg-blue-500 text-blue-50': $props.color === 'blue',
10
- 'bg-gray-500 text-gray-50': $props.color === 'gray',
11
- 'bg-green-500 text-green-50': $props.color === 'green',
12
- 'bg-indigo-500 text-indigo-50': $props.color === 'indigo',
13
- 'bg-pink-500 text-pink-50': $props.color === 'pink',
14
- 'bg-primary-500 text-primary-50': $props.color === 'primary',
15
- 'bg-purple-500 text-purple-50': $props.color === 'purple',
16
- 'bg-red-500 text-red-50': $props.color === 'red',
17
- 'bg-yellow-500 text-yellow-50': $props.color === 'yellow',
18
- } : {},
7
+ { [`bg-${color}-500 text-${color}-50`]: !source && !outlined },
19
8
  {
9
+ // border
10
+ 'border border-gray-400 dark:border-gray-500': !source && outlined,
11
+
20
12
  // size
21
- 'h-6 w-6 text-xs': $props.size === 'xs',
22
- 'h-7 w-7 text-sm': $props.size === 'sm',
23
- 'h-10 w-10': !['xs', 'sm', 'lg', 'xl'].includes($props.size),
24
- 'h-12 w-12 text-lg': $props.size === 'lg',
25
- 'h-20 w-20 text-2xl': $props.size === 'xl',
26
- 'h-36 w-36 text-2xl': $props.size === '2xl',
27
-
28
- // variant
29
- 'rounded-full': $props.variant === 'rounded',
30
- 'rounded-md': $props.variant === 'squared',
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',
31
19
  },
20
+ squared ? 'rounded-md' : 'rounded-full'
32
21
  ]"
33
22
  >
34
23
  <span
35
- v-if="!$props.src && $props.name"
24
+ v-if="!source && name"
36
25
  class="leading-none"
37
- >{{ $options.initials($props.name) }}</span>
26
+ >{{ initials }}</span>
38
27
 
39
28
  <img
40
- v-if="$props.src"
41
- :alt="$props.alt"
42
- :src="$props.src"
29
+ v-if="source"
30
+ :alt="alt"
31
+ :src="src"
43
32
  class="h-full w-full"
44
33
  />
45
34
  </component>
@@ -47,17 +36,6 @@
47
36
 
48
37
  <script>
49
38
  const validator = {
50
- color: [
51
- 'blue',
52
- 'gray',
53
- 'green',
54
- 'indigo',
55
- 'pink',
56
- 'primary',
57
- 'purple',
58
- 'red',
59
- 'yellow',
60
- ],
61
39
  variant: [
62
40
  'rounded',
63
41
  'squared',
@@ -69,53 +47,74 @@ export default {
69
47
 
70
48
  validator,
71
49
 
72
- initials(name) {
73
- if (name) {
74
- const initials = name.match(/\b\w/g) || []
75
-
76
- return ((initials.shift() || '') + (initials.pop() || '')).toUpperCase()
77
- }
78
-
79
- return ''
80
- },
81
-
82
50
  props: {
83
51
  alt: {
84
- default: null,
85
52
  type: String,
53
+ default: null,
86
54
  },
87
55
 
88
56
  color: {
89
- default: 'primary',
90
57
  type: String,
91
- validator: (value) => validator.color.includes(value),
58
+ default: 'primary',
92
59
  },
93
60
 
94
61
  name: {
95
- default: null,
96
62
  type: String,
63
+ default: null,
97
64
  },
98
65
 
99
66
  size: {
100
- default: null,
101
67
  type: String,
68
+ default: null,
69
+ },
70
+
71
+ outlined: {
72
+ type: Boolean,
73
+ default: false,
102
74
  },
103
75
 
104
76
  src: {
105
- default: null,
106
77
  type: String,
78
+ default: null,
107
79
  },
108
80
 
109
81
  tag: {
110
- default: 'span',
111
82
  type: String,
83
+ default: 'span',
112
84
  },
113
85
 
114
- variant: {
115
- default: 'rounded',
116
- type: String,
117
- validator: (value) => validator.variant.includes(value),
86
+ squared: {
87
+ type: Boolean,
88
+ default: false,
118
89
  },
119
90
  },
91
+
92
+ data() {
93
+ return {
94
+ source: null,
95
+ }
96
+ },
97
+
98
+ computed: {
99
+ initials() {
100
+ if (this.name) {
101
+ const initials = this.name.match(/\b\w/g) || []
102
+
103
+ return ((initials.shift() || '') + (initials.pop() || '')).toUpperCase()
104
+ }
105
+
106
+ return ''
107
+ },
108
+ },
109
+
110
+ mounted() {
111
+ if (this.src) {
112
+ const img = new Image()
113
+
114
+ img.onload = () => { this.source = this.src }
115
+ img.onerror = () => { }
116
+ img.src = this.src
117
+ }
118
+ },
120
119
  }
121
120
  </script>
@@ -1,148 +1,90 @@
1
1
  <template>
2
2
  <component
3
- :is="$props.to ? 'router-link' : $props.tag"
4
- :to="$props.to"
5
- v-bind="$attrs"
6
- class="relative leading-tight transition-colors duration-150 cursor-pointer focus:outline-none flex items-center justify-center font-medium"
3
+ :is="to ? 'router-link' : tag"
4
+ ref="focusRef"
5
+ :to="to"
6
+ class="relative leading-tight transition-colors duration-150 cursor-pointer focus:outline-none inline-block items-center justify-center font-medium"
7
7
  :class="[
8
8
  {
9
- // shadow
10
- 'shadow': !$props.flat,
9
+ 'shadow': !flat && !glow,
10
+ [`shadow-lg shadow-${color}-500/50`]: !flat && glow,
11
11
  },
12
- $props.disabled ?
12
+ disabled ?
13
13
  // disabled
14
14
  'border-gray-300 dark:border-gray-600 bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-400 cursor-not-allowed'
15
15
  : {
16
16
  // not disabled
17
-
18
- // borders
19
- 'border border-primary-500 dark:border-primary-700 hover:border-primary-600 dark:hover:border-primary-500':
20
- $props.color === 'primary',
21
- 'border border-secondary-500 dark:border-secondary-700 hover:border-secondary-600 dark:hover:border-secondary-500':
22
- $props.color === 'secondary',
23
- 'border border-success-500 dark:border-success-700 hover:border-success-600 dark:hover:border-success-500':
24
- $props.color === 'success',
25
- 'border border-error-500 dark:border-error-700 hover:border-error-600 dark:hover:border-error-500':
26
- $props.color === 'error',
27
- 'border border-warning-500 dark:border-warning-700 hover:border-warning-600 dark:hover:border-warning-500':
28
- $props.color === 'warning',
29
- 'border border-gray dark:border-gray-900 hover:border-gray-700 dark:hover:border-gray-500':
30
- $props.color === 'gray',
17
+ [`border border-${color}-500 text-${color}-500`]: outlined,
31
18
 
32
19
  // colors
33
- 'text-primary-50 bg-primary-500':
34
- $props.color === 'primary' && !$props.outlined,
35
- 'text-secondary-50 bg-secondary-500':
36
- $props.color === 'secondary' && !$props.outlined,
37
- 'text-success-50 bg-success-500':
38
- $props.color === 'success' && !$props.outlined,
39
- 'text-error-50 bg-error-500':
40
- $props.color === 'error' && !$props.outlined,
41
- 'text-warning-50 bg-warning-500':
42
- $props.color === 'warning' && !$props.outlined,
43
- 'text-gray-50 bg-gray-800':
44
- $props.color === 'gray' && !$props.outlined,
45
-
46
- 'border border-gray-300 dark:border-gray-600': $props.outlined,
20
+ [`border border-transparent text-${color}-50 bg-${color}-500`]: !outlined,
47
21
 
48
22
  // colors hovers | actives
49
- 'hover:bg-primary-600 active:bg-primary-800':
50
- $props.color === 'primary' && !$props.loading && !$props.outlined,
51
- 'hover:bg-secondary-600 active:bg-secondary-800':
52
- $props.color === 'secondary' && !$props.loading && !$props.outlined,
53
- 'hover:bg-success-600 active:bg-success-800':
54
- $props.color === 'success' && !$props.loading && !$props.outlined,
55
- 'hover:bg-error-600 active:bg-error-800':
56
- $props.color === 'error' && !$props.loading && !$props.outlined,
57
- 'hover:bg-warning-600 active:bg-warning-800':
58
- $props.color === 'warning' && !$props.loading && !$props.outlined,
59
- 'hover:bg-gray-700 active:bg-gray-800':
60
- $props.color === 'gray' && !$props.loading && !$props.outlined,
61
- 'hover:bg-gray-100 dark:hover:bg-gray-700 active:bg-gray-200 dark:active:bg-gray-600':
62
- $props.color === 'none' && !$props.loading && $props.outlined,
63
- 'hover:text-gray-500 dark:hover:text-gray-400':
64
- $props.color === 'none' && !$props.loading && !$props.outlined,
23
+ 'hover:bg-dark-image active:bg-darker-image active:shadow-none': !loading && !outlined,
24
+ [`hover:bg-gray-100 active:bg-gray-200 dark:hover:bg-gray-700 dark:hover:active:bg-gray-600`]: !loading && outlined,
65
25
  },
66
26
  $slots.default ? {
67
27
  // size
68
- 'py-1': $props.size === 'auto',
69
- 'px-2 py-1 text-xs': $props.size === 'xs',
70
- 'px-2 py-1 text-sm': $props.size === 'sm',
71
- 'px-4 py-2': !['auto', 'xs', 'sm', 'lg', 'xl'].includes($props.size),
72
- 'px-6 py-3 text-lg': $props.size === 'lg',
73
- 'px-10 py-6 text-xl': $props.size === 'xl',
28
+ 'py-1': size === 'auto',
29
+ 'px-2 py-1 text-xs': size === 'xs',
30
+ 'px-2 py-1 text-sm': size === 'sm',
31
+ 'px-4 py-2': !['auto', 'xs', 'sm', 'lg', 'xl'].includes(size),
32
+ 'px-6 py-3 text-lg': size === 'lg',
33
+ 'px-10 py-6 text-xl': size === 'xl',
74
34
  } : 'px-3 py-2',
75
35
  {
76
36
  // icon
77
- 'inline-flex items-center': $slots.icon || $props.icon,
37
+ 'inline-flex items-center': icon,
78
38
 
79
39
  // group
80
- 'rounded-button': $props.group === false,
81
- 'rounded-l-button': $props.group === 'first',
82
- 'rounded-r-button': $props.group === 'last',
40
+ 'rounded-button': group === false,
41
+ 'rounded-l-button': group === 'first',
42
+ 'rounded-r-button': group === 'last',
83
43
 
84
- '!rounded-full': $props.rounded,
44
+ '!rounded-full': rounded,
85
45
 
86
46
  // loading
87
- 'cursor-default': $props.loading,
47
+ 'cursor-default': loading,
88
48
 
89
49
  // content
90
- 'flex items-center justify-center': $props.loading,
91
- 'flex-row-reverse': $props.icon && $props.iconRight
50
+ 'flex items-center justify-center': loading,
51
+ 'flex-row-reverse': icon && iconRight
92
52
  },
93
53
 
94
54
  ]"
95
55
 
96
- :aria-busy="$props.loading ? 'true' : null"
97
- :aria-disabled="$props.tag !== 'button' && $props.disabled ? 'true' : null"
98
- :disabled="$props.disabled || $props.loading"
99
- :type="$props.tag === 'button' ? $props.type : null"
56
+ :aria-busy="loading ? 'true' : null"
57
+ :aria-disabled="tag !== 'button' && disabled ? 'true' : null"
58
+ :disabled="disabled || loading"
59
+ :type="tag === 'button' ? type : null"
100
60
  >
101
- <x-spinner v-if="$props.loading" :size="$props.size" class="absolute" />
61
+ <x-spinner v-if="loading" :size="size" class="absolute" />
102
62
  <span
103
- v-if="$props.icon"
63
+ v-if="icon"
104
64
  class="flex"
105
65
  :class="[{
106
- 'mr-2': $slots.default && !$props.iconRight,
107
- 'ml-2': $slots.default && $props.iconRight,
108
- 'invisible': $props.loading
66
+ 'mr-2': $slots.default && !iconRight,
67
+ 'ml-2': $slots.default && iconRight,
68
+ 'invisible': loading
109
69
  }]"
110
70
  >
111
- <x-icon :size="$props.size" :icon="$props.icon" />
71
+ <x-icon :size="size" :icon="icon" />
112
72
  </span>
113
- <span
114
- :class="{
115
- 'invisible': $props.loading
116
- }"
117
- >
73
+ <span :class="{ 'invisible': loading }">
118
74
  <slot></slot>
119
75
  </span>
120
76
  </component>
121
77
  </template>
122
78
 
123
79
  <script>
124
- const validator = {
125
- group: [
126
- false,
127
- true,
128
- '',
129
- 'first',
130
- 'last',
131
- ],
132
- color: [
133
- 'primary',
134
- 'secondary',
135
- 'success',
136
- 'error',
137
- 'warning',
138
- 'gray',
139
- 'none',
140
- ],
141
- }
142
-
80
+ import { withProps, withValidator, useInteractive } from '../../composables/interactive'
143
81
  import XSpinner from '../spinner/Spinner.vue'
144
82
  import XIcon from '../icon/Icon.vue'
145
83
 
84
+ const validator = {
85
+ group: [false, true, '', 'first', 'last'],
86
+ }
87
+
146
88
  export default {
147
89
  name: 'XButton',
148
90
  components: {
@@ -150,13 +92,13 @@ export default {
150
92
  XIcon,
151
93
  },
152
94
 
153
- validator,
95
+ validator: {
96
+ ...withValidator(),
97
+ ...validator,
98
+ },
154
99
 
155
100
  props: {
156
- disabled: {
157
- type: Boolean,
158
- default: false,
159
- },
101
+ ...withProps(),
160
102
 
161
103
  group: {
162
104
  default: false,
@@ -174,21 +116,11 @@ export default {
174
116
  default: false,
175
117
  },
176
118
 
177
- loading: {
178
- type: Boolean,
179
- default: false,
180
- },
181
-
182
119
  to: {
183
120
  type: String,
184
121
  default: undefined,
185
122
  },
186
123
 
187
- size: {
188
- type: String,
189
- default: null,
190
- },
191
-
192
124
  tag: {
193
125
  type: String,
194
126
  default: 'button',
@@ -209,16 +141,16 @@ export default {
209
141
  default: false,
210
142
  },
211
143
 
212
- flat: {
144
+ glow: {
213
145
  type: Boolean,
214
146
  default: false,
215
147
  },
148
+ },
216
149
 
217
- color: {
218
- type: String,
219
- default: 'primary',
220
- validator: (value) => validator.color.includes(value),
221
- },
150
+ setup() {
151
+ return {
152
+ ...useInteractive(),
153
+ }
222
154
  },
223
155
  }
224
156
  </script>
@@ -1,11 +1,10 @@
1
1
  <template>
2
2
  <component
3
- :is="$props.tag"
4
- v-bind="$attrs"
3
+ :is="tag"
5
4
  class="rounded bg-white dark:bg-gray-800"
6
5
  :class="[
7
6
  {
8
- 'shadow': !$props.flat,
7
+ 'shadow': !flat,
9
8
  },
10
9
  ]"
11
10
  >
@@ -1,44 +1,48 @@
1
1
  <template>
2
- <label
3
- class="block mb-1 relative cursor-pointer"
4
- :class="hideDetails ? 'pb-2' : 'pb-6'"
5
- >
2
+ <label class="inline-block mb-1 relative cursor-pointer pb-2">
6
3
  <div
4
+ ref="focusRef"
7
5
  class="flex items-center"
8
6
  :class="{ 'cursor-not-allowed': disabled }"
7
+ :tabindex="0"
8
+ @keypress.prevent.stop.enter.space="toggle"
9
9
  >
10
10
  <input
11
- ref="input"
12
- v-model="selected"
11
+ v-model="checked"
12
+ :aria-checked="checked ? 'true' : 'false'"
13
+ :aria-disabled="disabled ? 'true' : null"
13
14
  type="checkbox"
14
15
  class="invisible absolute"
15
- :disabled="disabled"
16
+ :disabled="disabled || loading"
16
17
  :name="name"
17
18
  :required="required"
18
19
  :value="modelValue"
19
20
  />
20
21
  <div
21
- class="border rounded flex justify-center items-center flex-none"
22
+ class="rounded flex justify-center items-center flex-shrink-0"
22
23
  :class="[
23
24
  {
24
- // shadow
25
- 'shadow': !flat,
25
+ 'shadow': !flat && !loading,
26
+ [`shadow-lg shadow-${color}-500/50`]: !flat && glow && modelValue,
26
27
 
27
28
  'h-4 w-4': size === 'sm' || size === 'xs',
28
29
  'h-5 w-5': !['xs', 'sm', 'xl'].includes(size),
29
30
  'h-6 w-6': size === 'xl',
30
-
31
- 'hover:border-primary-500': !disabled,
32
- 'bg-primary-500 border-primary-500': modelValue && !disabled,
33
- 'bg-white dark:bg-gray-900 border-gray-300 dark:border-gray-700': !modelValue && !disabled,
34
- // disabled
35
- 'bg-gray-500 border-gray-600 dark:border-gray-400': modelValue && disabled,
36
- 'bg-gray-200 border-gray-300 dark:border-gray-700': !modelValue && disabled,
31
+ },
32
+ disabled ? {
33
+ 'bg-gray-500 border-gray-600 dark:border-gray-400': modelValue,
34
+ 'bg-gray-200 border-gray-300 dark:border-gray-700': !modelValue,
35
+ } :
36
+ {
37
+ [`bg-${color}-500 border-${color}-500`]: modelValue && !loading,
38
+ 'border bg-white dark:bg-gray-900 border-gray-300 hover:border-gray-900 dark:border-gray-700': !modelValue && !loading,
37
39
  }
38
40
  ]"
39
41
  >
42
+ <x-spinner v-if="loading" :size="size" class="absolute" />
40
43
  <svg
41
- class="fill-current text-primary-100"
44
+ v-else
45
+ class="fill-current text-gray-100"
42
46
  :class="{
43
47
  'opacity-0': !modelValue,
44
48
  'h-2 w-2': size === 'sm' || size === 'xs',
@@ -50,71 +54,61 @@
50
54
  <path d="M0 11l2-2 5 5L18 3l2 2L7 18z" />
51
55
  </svg>
52
56
  </div>
53
- <span
54
- v-if="label"
55
- class="font-medium text-gray-800 dark:text-gray-200 pl-2"
57
+ <div
58
+ class="inline-block font-medium text-gray-800 dark:text-gray-200 pl-2"
56
59
  :class="{
57
60
  'text-xs': size === 'xs',
58
61
  'text-sm': size === 'sm',
59
62
  'text-lg': size === 'lg',
60
63
  'text-xl': size === 'xl',
61
64
  }"
62
- v-text="label"
63
- ></span>
65
+ >
66
+ <span v-if="label" v-text="label"></span>
67
+ <slot v-else></slot>
68
+ </div>
64
69
  </div>
70
+ <p v-if="errorInternal" class="text-sm text-error-500 mt-1" v-text="errorInternal"></p>
65
71
  </label>
66
72
  </template>
67
73
 
68
74
  <script>
75
+ import { withProps, withValidator, withEmits, useInputtable } from '../../composables/inputtable'
76
+ import XSpinner from '../spinner/Spinner.vue'
77
+
69
78
  export default {
70
79
  name: 'XCheckbox',
80
+ components: {
81
+ XSpinner,
82
+ },
71
83
 
72
- props: {
73
- disabled: {
74
- type: Boolean,
75
- default: false,
76
- },
77
-
78
- name: {
79
- type: String,
80
- default: null,
81
- },
82
-
83
- required: {
84
- type: Boolean,
85
- default: false,
86
- },
84
+ validator: {
85
+ ...withValidator(),
86
+ },
87
87
 
88
- size: {
89
- type: String,
90
- default: null,
91
- },
88
+ props: {
89
+ ...withProps(),
92
90
 
93
91
  label: {
94
92
  type: String,
95
93
  default: null,
96
94
  },
97
95
 
98
- flat: {
96
+ glow: {
99
97
  type: Boolean,
100
98
  default: false,
101
99
  },
100
+ },
102
101
 
103
- modelValue: {
104
- type: [String, Number, Boolean, Function, Object, Array],
105
- default: null,
106
- },
102
+ emits: withEmits(false),
107
103
 
108
- hideDetails: {
109
- type: Boolean,
110
- default: false,
111
- },
104
+ setup(props, { attrs, emit }) {
105
+ return {
106
+ ...useInputtable(props, { attrs, emit, useListeners: false }),
107
+ }
112
108
  },
113
109
 
114
- emits: ['update:modelValue'],
115
-
116
110
  computed: {
117
- selected: {
111
+ checked: {
118
112
  get() {
119
113
  return this.modelValue
120
114
  },
@@ -126,8 +120,8 @@ export default {
126
120
  },
127
121
 
128
122
  methods: {
129
- focus() {
130
- this.$refs.input.focus()
123
+ toggle() {
124
+ this.$emit('update:modelValue', !this.modelValue)
131
125
  },
132
126
  },
133
127
  }