@indielayer/ui 0.1.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/lib/cjs/components/avatar/Avatar.vue.js +8 -0
  2. package/lib/cjs/components/avatar/Avatar.vue_vue_type_script_lang.js +86 -0
  3. package/lib/cjs/components/avatar/Avatar.vue_vue_type_template_id_d5090cb0_lang.js +50 -0
  4. package/lib/cjs/components/button/Button.vue.js +8 -0
  5. package/lib/cjs/{src/components/button/Button.vue_vue&type=script&lang.js → components/button/Button.vue_vue_type_script_lang.js} +15 -39
  6. package/lib/cjs/components/button/Button.vue_vue_type_template_id_1be5b88c_lang.js +100 -0
  7. package/lib/cjs/components/card/Card.vue.js +8 -0
  8. package/lib/cjs/{src/components/card/Card.vue_vue&type=script&lang.js → components/card/Card.vue_vue_type_script_lang.js} +0 -0
  9. package/lib/cjs/{src/components/card/Card.vue_vue&type=template&id=5a1806fe&lang.js → components/card/Card.vue_vue_type_template_id_6e221de0_lang.js} +6 -6
  10. package/lib/cjs/{src/components → components}/checkbox/Checkbox.vue.js +3 -3
  11. package/lib/cjs/components/checkbox/Checkbox.vue_vue_type_script_lang.js +58 -0
  12. package/lib/cjs/components/checkbox/Checkbox.vue_vue_type_template_id_d00d1178_lang.js +102 -0
  13. package/lib/cjs/{src/components → components}/collapse/Collapse.vue.js +2 -2
  14. package/lib/cjs/{src/components/collapse/Collapse.vue_vue&type=script&lang.js → components/collapse/Collapse.vue_vue_type_script_lang.js} +0 -0
  15. package/lib/cjs/{src/components/collapse/Collapse.vue_vue&type=template&id=65032827&lang.js → components/collapse/Collapse.vue_vue_type_template_id_65032827_lang.js} +0 -0
  16. package/lib/cjs/components/colors.vue.js +11 -0
  17. package/lib/cjs/components/colors.vue_vue_type_template_id_227ea690_lang.js +406 -0
  18. package/lib/cjs/{src/components → components}/container/Container.vue.js +3 -3
  19. package/lib/cjs/{src/components/container/Container.vue_vue&type=script&lang.js → components/container/Container.vue_vue_type_script_lang.js} +0 -0
  20. package/lib/cjs/{src/components/container/Container.vue_vue&type=template&id=7b2991c1&lang.js → components/container/Container.vue_vue_type_template_id_1109578e_lang.js} +2 -2
  21. package/lib/cjs/{src/components → components}/divider/Divider.vue.js +3 -3
  22. package/lib/cjs/{src/components/divider/Divider.vue_vue&type=script&lang.js → components/divider/Divider.vue_vue_type_script_lang.js} +0 -0
  23. package/lib/cjs/{src/components/divider/Divider.vue_vue&type=template&id=61c5e3d4&lang.js → components/divider/Divider.vue_vue_type_template_id_041f3bf1_lang.js} +15 -15
  24. package/lib/cjs/components/form/Form.vue.js +8 -0
  25. package/lib/cjs/components/form/Form.vue_vue_type_script_lang.js +95 -0
  26. package/lib/cjs/{src/components/form/Form.vue_vue&type=template&id=341983a2&lang.js → components/form/Form.vue_vue_type_template_id_bf90a49e_lang.js} +2 -2
  27. package/lib/cjs/components/icon/Icon.vue.js +8 -0
  28. package/lib/cjs/{src/components/icon/Icon.vue_vue&type=script&lang.js → components/icon/Icon.vue_vue_type_script_lang.js} +6 -5
  29. package/lib/cjs/{src/components/icon/Icon.vue_vue&type=template&id=2e35bbff&lang.js → components/icon/Icon.vue_vue_type_template_id_4fe868d3_lang.js} +10 -10
  30. package/lib/cjs/components/image/Image.vue.js +8 -0
  31. package/lib/cjs/components/image/Image.vue_vue_type_script_lang.js +28 -0
  32. package/lib/cjs/components/image/Image.vue_vue_type_template_id_d7718e2c_lang.js +13 -0
  33. package/lib/cjs/{src/components → components}/index.js +41 -37
  34. package/lib/cjs/components/input/Input.vue.js +8 -0
  35. package/lib/cjs/components/input/Input.vue_vue_type_script_lang.js +101 -0
  36. package/lib/cjs/{src/components/input/Input.vue_vue&type=template&id=046941e3&lang.js → components/input/Input.vue_vue_type_template_id_0a66306d_lang.js} +44 -45
  37. package/lib/cjs/components/link/Link.vue.js +8 -0
  38. package/lib/cjs/{src/components/link/Link.vue_vue&type=script&lang.js → components/link/Link.vue_vue_type_script_lang.js} +0 -0
  39. package/lib/cjs/{src/components/link/Link.vue_vue&type=template&id=cd8b503c&lang.js → components/link/Link.vue_vue_type_template_id_291038eb_lang.js} +13 -13
  40. package/lib/cjs/components/modal/Modal.vue.js +8 -0
  41. package/lib/cjs/{src/components/modal/Modal.vue_vue&type=script&lang.js → components/modal/Modal.vue_vue_type_script_lang.js} +0 -0
  42. package/lib/cjs/{src/components/modal/Modal.vue_vue&type=template&id=31c76cbc&lang.js → components/modal/Modal.vue_vue_type_template_id_1597a9fe_lang.js} +1 -1
  43. package/lib/cjs/components/note/Note.vue.js +8 -0
  44. package/lib/cjs/{src/components/skeleton/Skeleton.vue_vue&type=script&lang.js → components/note/Note.vue_vue_type_script_lang.js} +7 -2
  45. package/lib/cjs/{src/components/note/Note.vue_vue&type=template&id=ea427b4c&lang.js → components/note/Note.vue_vue_type_template_id_79616501_lang.js} +8 -22
  46. package/lib/cjs/{src/components → components}/pagination/Pagination.vue.js +3 -3
  47. package/lib/cjs/{src/components/pagination/Pagination.vue_vue&type=script&lang.js → components/pagination/Pagination.vue_vue_type_script_lang.js} +5 -5
  48. package/lib/cjs/{src/components/pagination/Pagination.vue_vue&type=template&id=0f4659a9&lang.js → components/pagination/Pagination.vue_vue_type_template_id_7b1569fe_lang.js} +8 -8
  49. package/lib/cjs/{src/components → components}/pagination/PaginationItem.vue.js +2 -2
  50. package/lib/cjs/{src/components/pagination/PaginationItem.vue_vue&type=script&lang.js → components/pagination/PaginationItem.vue_vue_type_script_lang.js} +0 -0
  51. package/lib/cjs/{src/components/pagination/PaginationItem.vue_vue&type=template&id=a1d67888&lang.js → components/pagination/PaginationItem.vue_vue_type_template_id_a1d67888_lang.js} +0 -0
  52. package/lib/cjs/components/popover/Popover.vue.js +9 -0
  53. package/lib/cjs/{src/components/popover/Popover.vue_vue&type=script&lang.js → components/popover/Popover.vue_vue_type_script_lang.js} +0 -0
  54. package/lib/cjs/{src/components/popover/Popover.vue_vue&type=style&index=0&id=3d4ab1ae&lang.css.js → components/popover/Popover.vue_vue_type_style_index_0_id_ef94d0dc_lang.css.js} +1 -1
  55. package/lib/cjs/{src/components/popover/Popover.vue_vue&type=template&id=3d4ab1ae&lang.js → components/popover/Popover.vue_vue_type_template_id_ef94d0dc_lang.js} +1 -1
  56. package/lib/cjs/components/popover/PopoverContainer.vue.js +8 -0
  57. package/lib/cjs/{src/components/popover/PopoverContainer.vue_vue&type=script&lang.js → components/popover/PopoverContainer.vue_vue_type_script_lang.js} +0 -0
  58. package/lib/cjs/{src/components/popover/PopoverContainer.vue_vue&type=template&id=c3f5df12&lang.js → components/popover/PopoverContainer.vue_vue_type_template_id_49e694b6_lang.js} +2 -2
  59. package/lib/cjs/{src/components → components}/popover/PopoverItem.vue.js +3 -3
  60. package/lib/cjs/{src/components/popover/PopoverItem.vue_vue&type=script&lang.js → components/popover/PopoverItem.vue_vue_type_script_lang.js} +0 -0
  61. package/lib/cjs/{src/components/popover/PopoverItem.vue_vue&type=template&id=33f77d45&lang.js → components/popover/PopoverItem.vue_vue_type_template_id_f493838c_lang.js} +9 -9
  62. package/lib/cjs/{src/components → components}/progress/Progress.vue.js +3 -3
  63. package/lib/cjs/{src/components/progress/Progress.vue_vue&type=script&lang.js → components/progress/Progress.vue_vue_type_script_lang.js} +2 -9
  64. package/lib/cjs/{src/components/progress/Progress.vue_vue&type=template&id=a5bfeb16&lang.js → components/progress/Progress.vue_vue_type_template_id_73a39445_lang.js} +5 -21
  65. package/lib/cjs/components/radio/Radio.vue.js +8 -0
  66. package/lib/cjs/components/radio/Radio.vue_vue_type_script_lang.js +61 -0
  67. package/lib/cjs/components/radio/Radio.vue_vue_type_template_id_7229826f_lang.js +120 -0
  68. package/lib/cjs/components/select/Select.vue.js +8 -0
  69. package/lib/cjs/components/select/Select.vue_vue_type_script_lang.js +62 -0
  70. package/lib/cjs/components/select/Select.vue_vue_type_template_id_e15ccf42_lang.js +122 -0
  71. package/lib/cjs/{src/components → components}/skeleton/Skeleton.vue.js +3 -3
  72. package/lib/cjs/{src/components/tabs/Tabs.vue_vue&type=script&lang.js → components/skeleton/Skeleton.vue_vue_type_script_lang.js} +2 -2
  73. package/lib/cjs/{src/components/skeleton/Skeleton.vue_vue&type=template&id=f4226afe&lang.js → components/skeleton/Skeleton.vue_vue_type_template_id_a9c4d78c_lang.js} +2 -6
  74. package/lib/cjs/{src/components → components}/spacer/Spacer.vue.js +1 -1
  75. package/lib/cjs/{src/components/spacer/Spacer.vue_vue&type=template&id=3c2aca79&lang.js → components/spacer/Spacer.vue_vue_type_template_id_3c2aca79_lang.js} +0 -0
  76. package/lib/cjs/{src/components → components}/spinner/Spinner.vue.js +3 -3
  77. package/lib/cjs/{src/components/spinner/Spinner.vue_vue&type=script&lang.js → components/spinner/Spinner.vue_vue_type_script_lang.js} +0 -0
  78. package/lib/cjs/{src/components/spinner/Spinner.vue_vue&type=template&id=435d3ecf&lang.js → components/spinner/Spinner.vue_vue_type_template_id_60c76aa5_lang.js} +4 -4
  79. package/lib/cjs/{src/components → components}/status/StatusDot.vue.js +3 -3
  80. package/lib/cjs/{src/components/status/StatusDot.vue_vue&type=script&lang.js → components/status/StatusDot.vue_vue_type_script_lang.js} +1 -13
  81. package/lib/cjs/components/status/StatusDot.vue_vue_type_template_id_1d82aee7_lang.js +25 -0
  82. package/lib/cjs/{src/components → components}/table/Table.vue.js +2 -2
  83. package/lib/cjs/{src/components/table/Table.vue_vue&type=script&lang.js → components/table/Table.vue_vue_type_script_lang.js} +6 -6
  84. package/lib/cjs/{src/components/table/Table.vue_vue&type=template&id=50d6ab12&lang.js → components/table/Table.vue_vue_type_template_id_50d6ab12_lang.js} +0 -0
  85. package/lib/cjs/{src/components → components}/table/TableBody.vue.js +2 -2
  86. package/lib/cjs/{src/components/table/TableBody.vue_vue&type=script&lang.js → components/table/TableBody.vue_vue_type_script_lang.js} +0 -0
  87. package/lib/cjs/{src/components/table/TableBody.vue_vue&type=template&id=fd21b336&lang.js → components/table/TableBody.vue_vue_type_template_id_fd21b336_lang.js} +0 -0
  88. package/lib/cjs/{src/components → components}/table/TableCell.vue.js +2 -2
  89. package/lib/cjs/{src/components/table/TableCell.vue_vue&type=script&lang.js → components/table/TableCell.vue_vue_type_script_lang.js} +0 -0
  90. package/lib/cjs/{src/components/table/TableCell.vue_vue&type=template&id=6b8d1953&lang.js → components/table/TableCell.vue_vue_type_template_id_6b8d1953_lang.js} +0 -0
  91. package/lib/cjs/{src/components → components}/table/TableHead.vue.js +2 -2
  92. package/lib/cjs/{src/components/table/TableHead.vue_vue&type=script&lang.js → components/table/TableHead.vue_vue_type_script_lang.js} +0 -0
  93. package/lib/cjs/{src/components/table/TableHead.vue_vue&type=template&id=c753405c&lang.js → components/table/TableHead.vue_vue_type_template_id_c753405c_lang.js} +0 -0
  94. package/lib/cjs/{src/components → components}/table/TableHeader.vue.js +3 -3
  95. package/lib/cjs/{src/components/table/TableHeader.vue_vue&type=script&lang.js → components/table/TableHeader.vue_vue_type_script_lang.js} +0 -0
  96. package/lib/cjs/{src/components/table/TableHeader.vue_vue&type=template&id=34196e32&lang.js → components/table/TableHeader.vue_vue_type_template_id_20f1eb1e_lang.js} +5 -5
  97. package/lib/cjs/{src/components → components}/table/TableRow.vue.js +3 -3
  98. package/lib/cjs/{src/components/table/TableRow.vue_vue&type=script&lang.js → components/table/TableRow.vue_vue_type_script_lang.js} +0 -0
  99. package/lib/cjs/{src/components/table/TableRow.vue_vue&type=template&id=4ffea48c&lang.js → components/table/TableRow.vue_vue_type_template_id_75239b39_lang.js} +5 -5
  100. package/lib/cjs/components/tabs/Tab.vue.js +8 -0
  101. package/lib/cjs/components/tabs/Tab.vue_vue_type_script_lang.js +62 -0
  102. package/lib/cjs/components/tabs/Tab.vue_vue_type_template_id_3ad17bb5_lang.js +29 -0
  103. package/lib/cjs/components/tabs/Tabs.vue.js +8 -0
  104. package/lib/cjs/components/tabs/Tabs.vue_vue_type_script_lang.js +37 -0
  105. package/lib/cjs/{src/components/tabs/Tabs.vue_vue&type=template&id=17799e08&lang.js → components/tabs/Tabs.vue_vue_type_template_id_4f5b59bd_lang.js} +2 -2
  106. package/lib/cjs/components/tag/Tag.vue.js +8 -0
  107. package/lib/cjs/{src/components/tag/Tag.vue_vue&type=script&lang.js → components/tag/Tag.vue_vue_type_script_lang.js} +0 -18
  108. package/lib/cjs/components/tag/Tag.vue_vue_type_template_id_3d8994a5_lang.js +77 -0
  109. package/lib/cjs/{src/components → components}/textarea/Textarea.vue.js +3 -3
  110. package/lib/cjs/components/textarea/Textarea.vue_vue_type_script_lang.js +113 -0
  111. package/lib/cjs/components/textarea/Textarea.vue_vue_type_template_id_6ebcc37a_lang.js +70 -0
  112. package/lib/cjs/{src/components → components}/toast/Toast.vue.js +2 -2
  113. package/lib/cjs/{src/components/toast/Toast.vue_vue&type=script&lang.js → components/toast/Toast.vue_vue_type_script_lang.js} +0 -0
  114. package/lib/cjs/{src/components/toast/Toast.vue_vue&type=template&id=0278d8f5&lang.js → components/toast/Toast.vue_vue_type_template_id_0278d8f5_lang.js} +0 -0
  115. package/lib/cjs/components/toggle/Toggle.vue.js +8 -0
  116. package/lib/cjs/components/toggle/Toggle.vue_vue_type_script_lang.js +58 -0
  117. package/lib/cjs/components/toggle/Toggle.vue_vue_type_template_id_0dc1ddd9_lang.js +96 -0
  118. package/lib/cjs/{src/components → components}/tooltip/Tooltip.vue.js +2 -2
  119. package/lib/cjs/{src/components/tooltip/Tooltip.vue_vue&type=script&lang.js → components/tooltip/Tooltip.vue_vue_type_script_lang.js} +2 -2
  120. package/lib/cjs/{src/components/tooltip/Tooltip.vue_vue&type=template&id=72e65c1a&lang.js → components/tooltip/Tooltip.vue_vue_type_template_id_72e65c1a_lang.js} +0 -0
  121. package/lib/cjs/composables/common.js +28 -0
  122. package/lib/cjs/composables/inputtable.js +162 -0
  123. package/lib/cjs/composables/interactive.js +41 -0
  124. package/lib/cjs/{src/index.js → index.js} +42 -37
  125. package/lib/esm/components/avatar/Avatar.vue.js +5 -0
  126. package/lib/esm/components/avatar/Avatar.vue_vue_type_script_lang.js +84 -0
  127. package/lib/esm/components/avatar/Avatar.vue_vue_type_template_id_d5090cb0_lang.js +46 -0
  128. package/lib/esm/components/button/Button.vue.js +5 -0
  129. package/lib/esm/{src/components/button/Button.vue_vue&type=script&lang.js → components/button/Button.vue_vue_type_script_lang.js} +15 -39
  130. package/lib/esm/components/button/Button.vue_vue_type_template_id_1be5b88c_lang.js +96 -0
  131. package/lib/esm/components/card/Card.vue.js +5 -0
  132. package/lib/esm/{src/components/card/Card.vue_vue&type=script&lang.js → components/card/Card.vue_vue_type_script_lang.js} +0 -0
  133. package/lib/esm/components/card/Card.vue_vue_type_template_id_6e221de0_lang.js +18 -0
  134. package/lib/esm/components/checkbox/Checkbox.vue.js +5 -0
  135. package/lib/esm/components/checkbox/Checkbox.vue_vue_type_script_lang.js +56 -0
  136. package/lib/esm/components/checkbox/Checkbox.vue_vue_type_template_id_d00d1178_lang.js +98 -0
  137. package/lib/esm/components/collapse/Collapse.vue.js +5 -0
  138. package/lib/esm/{src/components/collapse/Collapse.vue_vue&type=script&lang.js → components/collapse/Collapse.vue_vue_type_script_lang.js} +0 -0
  139. package/lib/esm/{src/components/collapse/Collapse.vue_vue&type=template&id=65032827&lang.js → components/collapse/Collapse.vue_vue_type_template_id_65032827_lang.js} +0 -0
  140. package/lib/esm/components/colors.vue.js +9 -0
  141. package/lib/esm/components/colors.vue_vue_type_template_id_227ea690_lang.js +402 -0
  142. package/lib/esm/components/container/Container.vue.js +5 -0
  143. package/lib/esm/{src/components/container/Container.vue_vue&type=script&lang.js → components/container/Container.vue_vue_type_script_lang.js} +0 -0
  144. package/lib/esm/components/container/Container.vue_vue_type_template_id_1109578e_lang.js +12 -0
  145. package/lib/esm/components/divider/Divider.vue.js +5 -0
  146. package/lib/esm/{src/components/divider/Divider.vue_vue&type=script&lang.js → components/divider/Divider.vue_vue_type_script_lang.js} +0 -0
  147. package/lib/esm/components/divider/Divider.vue_vue_type_template_id_041f3bf1_lang.js +45 -0
  148. package/lib/esm/components/form/Form.vue.js +5 -0
  149. package/lib/esm/components/form/Form.vue_vue_type_script_lang.js +93 -0
  150. package/lib/esm/{src/components/form/Form.vue_vue&type=template&id=341983a2&lang.js → components/form/Form.vue_vue_type_template_id_bf90a49e_lang.js} +2 -2
  151. package/lib/esm/components/icon/Icon.vue.js +5 -0
  152. package/lib/esm/{src/components/icon/Icon.vue_vue&type=script&lang.js → components/icon/Icon.vue_vue_type_script_lang.js} +6 -5
  153. package/lib/esm/components/icon/Icon.vue_vue_type_template_id_4fe868d3_lang.js +28 -0
  154. package/lib/esm/components/image/Image.vue.js +5 -0
  155. package/lib/esm/components/image/Image.vue_vue_type_script_lang.js +26 -0
  156. package/lib/esm/components/image/Image.vue_vue_type_template_id_d7718e2c_lang.js +9 -0
  157. package/lib/esm/components/index.js +40 -0
  158. package/lib/esm/components/input/Input.vue.js +5 -0
  159. package/lib/esm/components/input/Input.vue_vue_type_script_lang.js +99 -0
  160. package/lib/esm/{src/components/input/Input.vue_vue&type=template&id=046941e3&lang.js → components/input/Input.vue_vue_type_template_id_0a66306d_lang.js} +45 -46
  161. package/lib/esm/components/link/Link.vue.js +5 -0
  162. package/lib/esm/{src/components/link/Link.vue_vue&type=script&lang.js → components/link/Link.vue_vue_type_script_lang.js} +0 -0
  163. package/lib/esm/{src/components/link/Link.vue_vue&type=template&id=cd8b503c&lang.js → components/link/Link.vue_vue_type_template_id_291038eb_lang.js} +14 -14
  164. package/lib/esm/components/modal/Modal.vue.js +5 -0
  165. package/lib/esm/{src/components/modal/Modal.vue_vue&type=script&lang.js → components/modal/Modal.vue_vue_type_script_lang.js} +0 -0
  166. package/lib/esm/{src/components/modal/Modal.vue_vue&type=template&id=31c76cbc&lang.js → components/modal/Modal.vue_vue_type_template_id_1597a9fe_lang.js} +1 -1
  167. package/lib/esm/components/note/Note.vue.js +5 -0
  168. package/lib/esm/{src/components/skeleton/Skeleton.vue_vue&type=script&lang.js → components/note/Note.vue_vue_type_script_lang.js} +7 -2
  169. package/lib/esm/{src/components/note/Note.vue_vue&type=template&id=ea427b4c&lang.js → components/note/Note.vue_vue_type_template_id_79616501_lang.js} +9 -23
  170. package/lib/esm/components/pagination/Pagination.vue.js +5 -0
  171. package/lib/esm/{src/components/pagination/Pagination.vue_vue&type=script&lang.js → components/pagination/Pagination.vue_vue_type_script_lang.js} +5 -5
  172. package/lib/esm/{src/components/pagination/Pagination.vue_vue&type=template&id=0f4659a9&lang.js → components/pagination/Pagination.vue_vue_type_template_id_7b1569fe_lang.js} +8 -8
  173. package/lib/esm/components/pagination/PaginationItem.vue.js +5 -0
  174. package/lib/esm/{src/components/pagination/PaginationItem.vue_vue&type=script&lang.js → components/pagination/PaginationItem.vue_vue_type_script_lang.js} +0 -0
  175. package/lib/esm/{src/components/pagination/PaginationItem.vue_vue&type=template&id=a1d67888&lang.js → components/pagination/PaginationItem.vue_vue_type_template_id_a1d67888_lang.js} +0 -0
  176. package/lib/esm/components/popover/Popover.vue.js +6 -0
  177. package/lib/esm/{src/components/popover/Popover.vue_vue&type=script&lang.js → components/popover/Popover.vue_vue_type_script_lang.js} +0 -0
  178. package/lib/esm/{src/components/popover/Popover.vue_vue&type=style&index=0&id=3d4ab1ae&lang.css.js → components/popover/Popover.vue_vue_type_style_index_0_id_ef94d0dc_lang.css.js} +1 -1
  179. package/lib/esm/{src/components/popover/Popover.vue_vue&type=template&id=3d4ab1ae&lang.js → components/popover/Popover.vue_vue_type_template_id_ef94d0dc_lang.js} +1 -1
  180. package/lib/esm/components/popover/PopoverContainer.vue.js +5 -0
  181. package/lib/esm/{src/components/popover/PopoverContainer.vue_vue&type=script&lang.js → components/popover/PopoverContainer.vue_vue_type_script_lang.js} +0 -0
  182. package/lib/esm/components/popover/PopoverContainer.vue_vue_type_template_id_49e694b6_lang.js +12 -0
  183. package/lib/esm/components/popover/PopoverItem.vue.js +5 -0
  184. package/lib/esm/{src/components/popover/PopoverItem.vue_vue&type=script&lang.js → components/popover/PopoverItem.vue_vue_type_script_lang.js} +0 -0
  185. package/lib/esm/{src/components/popover/PopoverItem.vue_vue&type=template&id=33f77d45&lang.js → components/popover/PopoverItem.vue_vue_type_template_id_f493838c_lang.js} +10 -10
  186. package/lib/esm/components/progress/Progress.vue.js +5 -0
  187. package/lib/esm/{src/components/progress/Progress.vue_vue&type=script&lang.js → components/progress/Progress.vue_vue_type_script_lang.js} +2 -9
  188. package/lib/esm/{src/components/progress/Progress.vue_vue&type=template&id=a5bfeb16&lang.js → components/progress/Progress.vue_vue_type_template_id_73a39445_lang.js} +5 -21
  189. package/lib/esm/components/radio/Radio.vue.js +5 -0
  190. package/lib/esm/components/radio/Radio.vue_vue_type_script_lang.js +59 -0
  191. package/lib/esm/components/radio/Radio.vue_vue_type_template_id_7229826f_lang.js +116 -0
  192. package/lib/esm/components/select/Select.vue.js +5 -0
  193. package/lib/esm/components/select/Select.vue_vue_type_script_lang.js +60 -0
  194. package/lib/esm/components/select/Select.vue_vue_type_template_id_e15ccf42_lang.js +118 -0
  195. package/lib/esm/components/skeleton/Skeleton.vue.js +5 -0
  196. package/lib/esm/{src/components/tabs/Tabs.vue_vue&type=script&lang.js → components/skeleton/Skeleton.vue_vue_type_script_lang.js} +2 -2
  197. package/lib/esm/components/skeleton/Skeleton.vue_vue_type_template_id_a9c4d78c_lang.js +14 -0
  198. package/lib/esm/{src/components → components}/spacer/Spacer.vue.js +1 -1
  199. package/lib/esm/{src/components/spacer/Spacer.vue_vue&type=template&id=3c2aca79&lang.js → components/spacer/Spacer.vue_vue_type_template_id_3c2aca79_lang.js} +0 -0
  200. package/lib/esm/components/spinner/Spinner.vue.js +5 -0
  201. package/lib/esm/{src/components/spinner/Spinner.vue_vue&type=script&lang.js → components/spinner/Spinner.vue_vue_type_script_lang.js} +0 -0
  202. package/lib/esm/{src/components/spinner/Spinner.vue_vue&type=template&id=435d3ecf&lang.js → components/spinner/Spinner.vue_vue_type_template_id_60c76aa5_lang.js} +4 -4
  203. package/lib/esm/components/status/StatusDot.vue.js +5 -0
  204. package/lib/esm/{src/components/status/StatusDot.vue_vue&type=script&lang.js → components/status/StatusDot.vue_vue_type_script_lang.js} +1 -13
  205. package/lib/esm/components/status/StatusDot.vue_vue_type_template_id_1d82aee7_lang.js +21 -0
  206. package/lib/esm/components/table/Table.vue.js +5 -0
  207. package/lib/esm/{src/components/table/Table.vue_vue&type=script&lang.js → components/table/Table.vue_vue_type_script_lang.js} +6 -6
  208. package/lib/esm/{src/components/table/Table.vue_vue&type=template&id=50d6ab12&lang.js → components/table/Table.vue_vue_type_template_id_50d6ab12_lang.js} +0 -0
  209. package/lib/esm/components/table/TableBody.vue.js +5 -0
  210. package/lib/esm/{src/components/table/TableBody.vue_vue&type=script&lang.js → components/table/TableBody.vue_vue_type_script_lang.js} +0 -0
  211. package/lib/esm/{src/components/table/TableBody.vue_vue&type=template&id=fd21b336&lang.js → components/table/TableBody.vue_vue_type_template_id_fd21b336_lang.js} +0 -0
  212. package/lib/esm/components/table/TableCell.vue.js +5 -0
  213. package/lib/esm/{src/components/table/TableCell.vue_vue&type=script&lang.js → components/table/TableCell.vue_vue_type_script_lang.js} +0 -0
  214. package/lib/esm/{src/components/table/TableCell.vue_vue&type=template&id=6b8d1953&lang.js → components/table/TableCell.vue_vue_type_template_id_6b8d1953_lang.js} +0 -0
  215. package/lib/esm/components/table/TableHead.vue.js +5 -0
  216. package/lib/esm/{src/components/table/TableHead.vue_vue&type=script&lang.js → components/table/TableHead.vue_vue_type_script_lang.js} +0 -0
  217. package/lib/esm/{src/components/table/TableHead.vue_vue&type=template&id=c753405c&lang.js → components/table/TableHead.vue_vue_type_template_id_c753405c_lang.js} +0 -0
  218. package/lib/esm/components/table/TableHeader.vue.js +5 -0
  219. package/lib/esm/{src/components/table/TableHeader.vue_vue&type=script&lang.js → components/table/TableHeader.vue_vue_type_script_lang.js} +0 -0
  220. package/lib/esm/{src/components/table/TableHeader.vue_vue&type=template&id=34196e32&lang.js → components/table/TableHeader.vue_vue_type_template_id_20f1eb1e_lang.js} +6 -6
  221. package/lib/esm/components/table/TableRow.vue.js +5 -0
  222. package/lib/esm/{src/components/table/TableRow.vue_vue&type=script&lang.js → components/table/TableRow.vue_vue_type_script_lang.js} +0 -0
  223. package/lib/esm/{src/components/table/TableRow.vue_vue&type=template&id=4ffea48c&lang.js → components/table/TableRow.vue_vue_type_template_id_75239b39_lang.js} +6 -6
  224. package/lib/esm/components/tabs/Tab.vue.js +5 -0
  225. package/lib/esm/components/tabs/Tab.vue_vue_type_script_lang.js +60 -0
  226. package/lib/esm/components/tabs/Tab.vue_vue_type_template_id_3ad17bb5_lang.js +25 -0
  227. package/lib/esm/components/tabs/Tabs.vue.js +5 -0
  228. package/lib/esm/components/tabs/Tabs.vue_vue_type_script_lang.js +35 -0
  229. package/lib/esm/components/tabs/Tabs.vue_vue_type_template_id_4f5b59bd_lang.js +12 -0
  230. package/lib/esm/components/tag/Tag.vue.js +5 -0
  231. package/lib/esm/{src/components/tag/Tag.vue_vue&type=script&lang.js → components/tag/Tag.vue_vue_type_script_lang.js} +0 -18
  232. package/lib/esm/components/tag/Tag.vue_vue_type_template_id_3d8994a5_lang.js +73 -0
  233. package/lib/esm/components/textarea/Textarea.vue.js +5 -0
  234. package/lib/esm/components/textarea/Textarea.vue_vue_type_script_lang.js +111 -0
  235. package/lib/esm/components/textarea/Textarea.vue_vue_type_template_id_6ebcc37a_lang.js +66 -0
  236. package/lib/esm/components/toast/Toast.vue.js +5 -0
  237. package/lib/esm/{src/components/toast/Toast.vue_vue&type=script&lang.js → components/toast/Toast.vue_vue_type_script_lang.js} +0 -0
  238. package/lib/esm/{src/components/toast/Toast.vue_vue&type=template&id=0278d8f5&lang.js → components/toast/Toast.vue_vue_type_template_id_0278d8f5_lang.js} +0 -0
  239. package/lib/esm/components/toggle/Toggle.vue.js +5 -0
  240. package/lib/esm/components/toggle/Toggle.vue_vue_type_script_lang.js +56 -0
  241. package/lib/esm/components/toggle/Toggle.vue_vue_type_template_id_0dc1ddd9_lang.js +92 -0
  242. package/lib/esm/components/tooltip/Tooltip.vue.js +5 -0
  243. package/lib/esm/{src/components/tooltip/Tooltip.vue_vue&type=script&lang.js → components/tooltip/Tooltip.vue_vue_type_script_lang.js} +2 -2
  244. package/lib/esm/{src/components/tooltip/Tooltip.vue_vue&type=template&id=72e65c1a&lang.js → components/tooltip/Tooltip.vue_vue_type_template_id_72e65c1a_lang.js} +0 -0
  245. package/lib/esm/composables/common.js +23 -0
  246. package/lib/esm/composables/inputtable.js +155 -0
  247. package/lib/esm/composables/interactive.js +35 -0
  248. package/lib/esm/{src/index.js → index.js} +40 -37
  249. package/lib/tailwind.preset.js +5 -42
  250. package/lib/umd/index.js +1 -1
  251. package/package.json +11 -9
  252. package/src/components/avatar/Avatar.vue +120 -0
  253. package/src/components/button/Button.vue +156 -0
  254. package/src/components/card/Card.vue +30 -0
  255. package/src/components/checkbox/Checkbox.vue +128 -0
  256. package/src/components/collapse/Collapse.vue +118 -0
  257. package/src/components/colors.vue +396 -0
  258. package/src/components/container/Container.vue +21 -0
  259. package/src/components/divider/Divider.vue +56 -0
  260. package/src/components/form/Form.vue +101 -0
  261. package/src/components/icon/Icon.vue +46 -0
  262. package/src/components/image/Image.vue +30 -0
  263. package/src/components/index.js +40 -0
  264. package/src/components/input/Input.vue +195 -0
  265. package/src/components/link/Link.vue +89 -0
  266. package/src/components/modal/Modal.vue +111 -0
  267. package/src/components/note/Note.vue +74 -0
  268. package/src/components/pagination/Pagination.vue +74 -0
  269. package/src/components/pagination/PaginationItem.vue +35 -0
  270. package/src/components/popover/Popover.vue +173 -0
  271. package/src/components/popover/PopoverContainer.vue +28 -0
  272. package/src/components/popover/PopoverItem.vue +65 -0
  273. package/src/components/progress/Progress.vue +120 -0
  274. package/src/components/radio/Radio.vue +151 -0
  275. package/src/components/select/Select.vue +155 -0
  276. package/src/components/skeleton/Skeleton.vue +21 -0
  277. package/src/components/spacer/Spacer.vue +3 -0
  278. package/src/components/spinner/Spinner.vue +45 -0
  279. package/src/components/status/StatusDot.vue +41 -0
  280. package/src/components/table/Table.vue +157 -0
  281. package/src/components/table/TableBody.vue +11 -0
  282. package/src/components/table/TableCell.vue +90 -0
  283. package/src/components/table/TableHead.vue +13 -0
  284. package/src/components/table/TableHeader.vue +109 -0
  285. package/src/components/table/TableRow.vue +51 -0
  286. package/src/components/tabs/Tab.vue +81 -0
  287. package/src/components/tabs/Tabs.vue +44 -0
  288. package/src/components/tag/Tag.vue +93 -0
  289. package/src/components/textarea/Textarea.vue +166 -0
  290. package/src/components/toast/Toast.vue +139 -0
  291. package/src/components/toggle/Toggle.vue +128 -0
  292. package/src/components/tooltip/Tooltip.vue +22 -0
  293. package/src/composables/common.js +21 -0
  294. package/src/composables/inputtable.js +157 -0
  295. package/src/composables/interactive.js +36 -0
  296. package/src/index.js +16 -0
  297. package/src/nuxt.js +14 -0
  298. package/src/tailwind.preset.js +24 -0
  299. package/lib/cjs/src/components/avatar/Avatar.vue.js +0 -8
  300. package/lib/cjs/src/components/avatar/Avatar.vue_vue&type=script&lang.js +0 -76
  301. package/lib/cjs/src/components/avatar/Avatar.vue_vue&type=template&id=36a4d50f&lang.js +0 -60
  302. package/lib/cjs/src/components/button/Button.vue.js +0 -8
  303. package/lib/cjs/src/components/button/Button.vue_vue&type=template&id=365674ca&lang.js +0 -142
  304. package/lib/cjs/src/components/card/Card.vue.js +0 -8
  305. package/lib/cjs/src/components/checkbox/Checkbox.vue_vue&type=script&lang.js +0 -69
  306. package/lib/cjs/src/components/checkbox/Checkbox.vue_vue&type=template&id=bf794940&lang.js +0 -78
  307. package/lib/cjs/src/components/form/Form.vue.js +0 -8
  308. package/lib/cjs/src/components/form/Form.vue_vue&type=script&lang.js +0 -87
  309. package/lib/cjs/src/components/icon/Icon.vue.js +0 -8
  310. package/lib/cjs/src/components/input/Input.vue.js +0 -8
  311. package/lib/cjs/src/components/input/Input.vue_vue&type=script&lang.js +0 -210
  312. package/lib/cjs/src/components/link/Link.vue.js +0 -8
  313. package/lib/cjs/src/components/modal/Modal.vue.js +0 -8
  314. package/lib/cjs/src/components/note/Note.vue.js +0 -8
  315. package/lib/cjs/src/components/note/Note.vue_vue&type=script&lang.js +0 -36
  316. package/lib/cjs/src/components/popover/Popover.vue.js +0 -9
  317. package/lib/cjs/src/components/popover/PopoverContainer.vue.js +0 -8
  318. package/lib/cjs/src/components/radio/Radio.vue.js +0 -8
  319. package/lib/cjs/src/components/radio/Radio.vue_vue&type=script&lang.js +0 -76
  320. package/lib/cjs/src/components/radio/Radio.vue_vue&type=template&id=7736acd0&lang.js +0 -100
  321. package/lib/cjs/src/components/select/Select.vue.js +0 -8
  322. package/lib/cjs/src/components/select/Select.vue_vue&type=script&lang.js +0 -150
  323. package/lib/cjs/src/components/select/Select.vue_vue&type=template&id=6ccf0009&lang.js +0 -97
  324. package/lib/cjs/src/components/status/StatusDot.vue_vue&type=template&id=75d1a520&lang.js +0 -40
  325. package/lib/cjs/src/components/tabs/Tab.vue.js +0 -8
  326. package/lib/cjs/src/components/tabs/Tab.vue_vue&type=script&lang.js +0 -29
  327. package/lib/cjs/src/components/tabs/Tab.vue_vue&type=template&id=42dce82e&lang.js +0 -29
  328. package/lib/cjs/src/components/tabs/Tabs.vue.js +0 -8
  329. package/lib/cjs/src/components/tag/Tag.vue.js +0 -8
  330. package/lib/cjs/src/components/tag/Tag.vue_vue&type=template&id=289ac1d7&lang.js +0 -87
  331. package/lib/cjs/src/components/textarea/Textarea.vue_vue&type=script&lang.js +0 -202
  332. package/lib/cjs/src/components/textarea/Textarea.vue_vue&type=template&id=9e7d494a&lang.js +0 -68
  333. package/lib/cjs/src/components/toggle/Toggle.vue.js +0 -8
  334. package/lib/cjs/src/components/toggle/Toggle.vue_vue&type=script&lang.js +0 -65
  335. package/lib/cjs/src/components/toggle/Toggle.vue_vue&type=template&id=2dc56b20&lang.js +0 -77
  336. package/lib/esm/src/components/avatar/Avatar.vue.js +0 -5
  337. package/lib/esm/src/components/avatar/Avatar.vue_vue&type=script&lang.js +0 -74
  338. package/lib/esm/src/components/avatar/Avatar.vue_vue&type=template&id=36a4d50f&lang.js +0 -56
  339. package/lib/esm/src/components/button/Button.vue.js +0 -5
  340. package/lib/esm/src/components/button/Button.vue_vue&type=template&id=365674ca&lang.js +0 -138
  341. package/lib/esm/src/components/card/Card.vue.js +0 -5
  342. package/lib/esm/src/components/card/Card.vue_vue&type=template&id=5a1806fe&lang.js +0 -18
  343. package/lib/esm/src/components/checkbox/Checkbox.vue.js +0 -5
  344. package/lib/esm/src/components/checkbox/Checkbox.vue_vue&type=script&lang.js +0 -67
  345. package/lib/esm/src/components/checkbox/Checkbox.vue_vue&type=template&id=bf794940&lang.js +0 -74
  346. package/lib/esm/src/components/collapse/Collapse.vue.js +0 -5
  347. package/lib/esm/src/components/container/Container.vue.js +0 -5
  348. package/lib/esm/src/components/container/Container.vue_vue&type=template&id=7b2991c1&lang.js +0 -12
  349. package/lib/esm/src/components/divider/Divider.vue.js +0 -5
  350. package/lib/esm/src/components/divider/Divider.vue_vue&type=template&id=61c5e3d4&lang.js +0 -45
  351. package/lib/esm/src/components/form/Form.vue.js +0 -5
  352. package/lib/esm/src/components/form/Form.vue_vue&type=script&lang.js +0 -85
  353. package/lib/esm/src/components/icon/Icon.vue.js +0 -5
  354. package/lib/esm/src/components/icon/Icon.vue_vue&type=template&id=2e35bbff&lang.js +0 -28
  355. package/lib/esm/src/components/index.js +0 -38
  356. package/lib/esm/src/components/input/Input.vue.js +0 -5
  357. package/lib/esm/src/components/input/Input.vue_vue&type=script&lang.js +0 -208
  358. package/lib/esm/src/components/link/Link.vue.js +0 -5
  359. package/lib/esm/src/components/modal/Modal.vue.js +0 -5
  360. package/lib/esm/src/components/note/Note.vue.js +0 -5
  361. package/lib/esm/src/components/note/Note.vue_vue&type=script&lang.js +0 -34
  362. package/lib/esm/src/components/pagination/Pagination.vue.js +0 -5
  363. package/lib/esm/src/components/pagination/PaginationItem.vue.js +0 -5
  364. package/lib/esm/src/components/popover/Popover.vue.js +0 -6
  365. package/lib/esm/src/components/popover/PopoverContainer.vue.js +0 -5
  366. package/lib/esm/src/components/popover/PopoverContainer.vue_vue&type=template&id=c3f5df12&lang.js +0 -12
  367. package/lib/esm/src/components/popover/PopoverItem.vue.js +0 -5
  368. package/lib/esm/src/components/progress/Progress.vue.js +0 -5
  369. package/lib/esm/src/components/radio/Radio.vue.js +0 -5
  370. package/lib/esm/src/components/radio/Radio.vue_vue&type=script&lang.js +0 -74
  371. package/lib/esm/src/components/radio/Radio.vue_vue&type=template&id=7736acd0&lang.js +0 -96
  372. package/lib/esm/src/components/select/Select.vue.js +0 -5
  373. package/lib/esm/src/components/select/Select.vue_vue&type=script&lang.js +0 -148
  374. package/lib/esm/src/components/select/Select.vue_vue&type=template&id=6ccf0009&lang.js +0 -93
  375. package/lib/esm/src/components/skeleton/Skeleton.vue.js +0 -5
  376. package/lib/esm/src/components/skeleton/Skeleton.vue_vue&type=template&id=f4226afe&lang.js +0 -18
  377. package/lib/esm/src/components/spinner/Spinner.vue.js +0 -5
  378. package/lib/esm/src/components/status/StatusDot.vue.js +0 -5
  379. package/lib/esm/src/components/status/StatusDot.vue_vue&type=template&id=75d1a520&lang.js +0 -36
  380. package/lib/esm/src/components/table/Table.vue.js +0 -5
  381. package/lib/esm/src/components/table/TableBody.vue.js +0 -5
  382. package/lib/esm/src/components/table/TableCell.vue.js +0 -5
  383. package/lib/esm/src/components/table/TableHead.vue.js +0 -5
  384. package/lib/esm/src/components/table/TableHeader.vue.js +0 -5
  385. package/lib/esm/src/components/table/TableRow.vue.js +0 -5
  386. package/lib/esm/src/components/tabs/Tab.vue.js +0 -5
  387. package/lib/esm/src/components/tabs/Tab.vue_vue&type=script&lang.js +0 -27
  388. package/lib/esm/src/components/tabs/Tab.vue_vue&type=template&id=42dce82e&lang.js +0 -25
  389. package/lib/esm/src/components/tabs/Tabs.vue.js +0 -5
  390. package/lib/esm/src/components/tabs/Tabs.vue_vue&type=template&id=17799e08&lang.js +0 -12
  391. package/lib/esm/src/components/tag/Tag.vue.js +0 -5
  392. package/lib/esm/src/components/tag/Tag.vue_vue&type=template&id=289ac1d7&lang.js +0 -83
  393. package/lib/esm/src/components/textarea/Textarea.vue.js +0 -5
  394. package/lib/esm/src/components/textarea/Textarea.vue_vue&type=script&lang.js +0 -200
  395. package/lib/esm/src/components/textarea/Textarea.vue_vue&type=template&id=9e7d494a&lang.js +0 -64
  396. package/lib/esm/src/components/toast/Toast.vue.js +0 -5
  397. package/lib/esm/src/components/toggle/Toggle.vue.js +0 -5
  398. package/lib/esm/src/components/toggle/Toggle.vue_vue&type=script&lang.js +0 -63
  399. package/lib/esm/src/components/toggle/Toggle.vue_vue&type=template&id=2dc56b20&lang.js +0 -73
  400. package/lib/esm/src/components/tooltip/Tooltip.vue.js +0 -5
@@ -0,0 +1,173 @@
1
+ <template>
2
+ <div
3
+ class="inline-block relative xpopover"
4
+ :class="[
5
+ { 'hover': hover,
6
+ 'is-open': isOpen,
7
+ },
8
+ $attrs.class,
9
+ $attrs.staticClass,
10
+ ]"
11
+ >
12
+ <div class="flex" @click="!hover ? toggle() : null">
13
+ <slot></slot>
14
+ </div>
15
+
16
+ <div
17
+ v-if="!hover"
18
+ class="fixed inset-0 opacity-0 z-40"
19
+ :class="[isOpen ? 'visible' : 'invisible']"
20
+ @click.self="close()"
21
+ ></div>
22
+
23
+ <div
24
+ class="absolute w-fit bottom-0 left-0 right-0 sm:p-0 transform transition-transform z-50 xpopover-content whitespace-nowrap max-w-xs"
25
+ :class="[
26
+ {
27
+ // align-left
28
+ 'left-0 right-auto': align === 'left' && ['bottom', 'top'].includes(position),
29
+ // align-center
30
+ 'left-1/2 right-auto -translate-x-1/2': align === 'center' && ['bottom', 'top'].includes(position),
31
+ // align-right
32
+ 'right-0 left-auto': align === 'right' && ['bottom', 'top'].includes(position),
33
+ // align-top
34
+ 'top-0 bottom-auto': align === 'top' && ['left', 'right'].includes(position),
35
+ // align-middle
36
+ '-translate-y-1/2 top-1/2 bottom-auto': align === 'center' && ['left', 'right'].includes(position),
37
+ // align-bottom
38
+ 'bottom-0': align === 'bottom' && ['left', 'right'].includes(position),
39
+
40
+ // position-top
41
+ 'xpopover-top bottom-full pb-2': position === 'top',
42
+ // position-right
43
+ 'xpopover-right left-full pl-2': position === 'right',
44
+ // position-bottom
45
+ 'xpopover-bottom top-full bottom-0': position === 'bottom',
46
+ // position-left
47
+ 'xpopover-left right-full left-auto pr-2': position === 'left',
48
+ }
49
+ ]"
50
+ @click="dismissible ? close() : null"
51
+ >
52
+ <slot name="content"></slot>
53
+ </div>
54
+ </div>
55
+ </template>
56
+
57
+ <script>
58
+ const validator = {
59
+ align: [
60
+ 'bottom',
61
+ 'center',
62
+ 'left',
63
+ 'right',
64
+ 'top',
65
+ ],
66
+ position: [
67
+ 'bottom',
68
+ 'left',
69
+ 'right',
70
+ 'top',
71
+ ],
72
+ }
73
+
74
+ export default {
75
+ name: 'XPopover',
76
+
77
+ validator,
78
+
79
+ props: {
80
+ align: {
81
+ type: String,
82
+ default: 'center',
83
+ validator: (value) => validator.align.includes(value),
84
+ },
85
+
86
+ hover: {
87
+ type: Boolean,
88
+ default: false,
89
+ },
90
+
91
+ dismissible: {
92
+ type: Boolean,
93
+ default: true,
94
+ },
95
+
96
+ position: {
97
+ default: 'bottom',
98
+ type: String,
99
+ validator: (value) => validator.position.includes(value),
100
+ },
101
+ },
102
+
103
+ data() {
104
+ return {
105
+ isOpen: false,
106
+ }
107
+ },
108
+
109
+ methods: {
110
+ close() {
111
+ this.isOpen = false
112
+ this.$emit('close')
113
+ },
114
+
115
+ open() {
116
+ this.isOpen = true
117
+ this.$emit('open')
118
+ },
119
+
120
+ toggle() {
121
+ this.isOpen = !this.isOpen
122
+ this.$emit('toggle', this.isOpen)
123
+ },
124
+ },
125
+ }
126
+ </script>
127
+
128
+ <style lang="css">
129
+ .xpopover-content {
130
+ visibility: hidden;
131
+ transition-duration: .1s;
132
+ transition-timing-function: cubic-bezier(.4,0,1,1);
133
+ }
134
+ .xpopover-top {
135
+ --tw-translate-y: 0.5rem;
136
+ }
137
+ .xpopover-right {
138
+ --tw-translate-x: -0.5rem;
139
+ }
140
+ .xpopover-bottom {
141
+ --tw-translate-y: -0.25rem;
142
+ }
143
+ .xpopover-left {
144
+ --tw-translate-x: 0.5rem;
145
+ }
146
+
147
+ .xpopover.hover:hover .xpopover-content,
148
+ .xpopover.is-open .xpopover-content {
149
+ visibility: visible;
150
+ transition-duration: .15s;
151
+ transition-timing-function: cubic-bezier(0,0,.2,1);
152
+ }
153
+
154
+ .xpopover.hover:hover .xpopover-top,
155
+ .xpopover.is-open .xpopover-top {
156
+ --tw-translate-y: 0.25rem;
157
+ }
158
+
159
+ .xpopover.hover:hover .xpopover-right,
160
+ .xpopover.is-open .xpopover-right {
161
+ --tw-translate-x: 0px;
162
+ }
163
+
164
+ .xpopover.hover:hover .xpopover-bottom,
165
+ .xpopover.is-open .xpopover-bottom {
166
+ --tw-translate-y: 0.25rem;
167
+ }
168
+
169
+ .xpopover.hover:hover .xpopover-left,
170
+ .xpopover.is-open .xpopover-left {
171
+ --tw-translate-x: 0px;
172
+ }
173
+ </style>
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <component
3
+ :is="tag"
4
+ class="inline-block w-full bg-white dark:bg-gray-700 shadow-lg rounded-md border-t border border-gray-200 dark:border-gray-800"
5
+ >
6
+ <slot></slot>
7
+ </component>
8
+ </template>
9
+
10
+ <script>
11
+ export default {
12
+ name: 'XPopoverContainer',
13
+
14
+ props: {
15
+ tag: {
16
+ default: 'div',
17
+ type: String,
18
+ },
19
+ },
20
+
21
+ created() {
22
+ if (this.$parent.$options.name !== 'XPopover') {
23
+ this.$destroy()
24
+ throw new Error('PopoverContainer must be wrap with Popover')
25
+ }
26
+ },
27
+ }
28
+ </script>
@@ -0,0 +1,65 @@
1
+ <template>
2
+ <component
3
+ :is="tag"
4
+ class="px-2 py-1 block rounded transition-colors duration-100 ease-in-out whitespace-nowrap"
5
+ :class="[
6
+ {
7
+ 'flex items-center': $slots.prefix || $slots.suffix,
8
+ 'hover:bg-gray-100 dark:hover:bg-gray-800': variant === 'base' && !disabled,
9
+ 'hover:text-error-500 hover:bg-error-50': variant === 'error' && !disabled,
10
+ 'opacity-70': disabled,
11
+ 'cursor-pointer': !disabled,
12
+ },
13
+
14
+ ]"
15
+ >
16
+ <span
17
+ v-if="$slots.prefix"
18
+ class="inline-flex items-center mr-2"
19
+ >
20
+ <slot name="prefix"></slot>
21
+ </span>
22
+ <span :class="{ 'flex-1': $slots.prefix || $slots.suffix }">
23
+ <slot></slot>
24
+ </span>
25
+ <span
26
+ v-if="$slots.suffix"
27
+ class="inline-flex items-center ml-1"
28
+ >
29
+ <slot name="suffix"></slot>
30
+ </span>
31
+ </component>
32
+ </template>
33
+
34
+ <script>
35
+ const validator = {
36
+ variant: [
37
+ 'base',
38
+ 'error',
39
+ ],
40
+ }
41
+
42
+ export default {
43
+ name: 'XPopoverItem',
44
+
45
+ validator,
46
+
47
+ props: {
48
+ disabled: {
49
+ default: false,
50
+ type: Boolean,
51
+ },
52
+
53
+ variant: {
54
+ default: 'base',
55
+ type: String,
56
+ validator: (value) => validator.variant.includes(value),
57
+ },
58
+
59
+ tag: {
60
+ default: 'div',
61
+ type: String,
62
+ },
63
+ },
64
+ }
65
+ </script>
@@ -0,0 +1,120 @@
1
+ <template>
2
+ <component :is="tag" class="w-full">
3
+ <div
4
+ v-if="variant === 'bar'"
5
+ class="rounded-lg bg-gray-200 dark:bg-gray-700 overflow-hidden"
6
+ >
7
+ <div
8
+ class="h-2 rounded-lg transition-all duration-200"
9
+ :class="[`bg-${color}-500`]"
10
+ :style="{
11
+ width: `${percentage}%`,
12
+ }"
13
+ ></div>
14
+ </div>
15
+
16
+ <svg
17
+ v-if="variant === 'circle'"
18
+ class="transform -rotate-90"
19
+ viewBox="0 0 100 100"
20
+ >
21
+ <circle
22
+ class="text-gray-200 dark:text-gray-700"
23
+ stroke="currentColor"
24
+ stroke-linejoin="round"
25
+ stroke-linecap="round"
26
+ stroke-width="4"
27
+ fill="none"
28
+ cx="50"
29
+ cy="50"
30
+ r="40"
31
+ />
32
+ <circle
33
+ class="transition-all duration-200"
34
+ :class="[`text-${color}-500`]"
35
+ :style="{ strokeDasharray: `${circleProgress} 252` }"
36
+ stroke="currentColor"
37
+ stroke-linejoin="round"
38
+ stroke-linecap="round"
39
+ stroke-width="4"
40
+ fill="none"
41
+ cx="50"
42
+ cy="50"
43
+ r="40"
44
+ />
45
+ </svg>
46
+
47
+ <div
48
+ v-if="variant === 'score'"
49
+ class="space-x-1 inline-block"
50
+ >
51
+ <div
52
+ v-for="index in scoreLength"
53
+ :key="index"
54
+ class="rounded-sm h-2 w-3 inline-block"
55
+ :class="isScoreActive(index) ? [`bg-${color}-500`]: ['bg-gray-200 dark:bg-gray-700']"
56
+ ></div>
57
+ </div>
58
+ </component>
59
+ </template>
60
+
61
+ <script>
62
+ const validator = {
63
+ variant: [
64
+ 'bar',
65
+ 'circle',
66
+ 'score',
67
+ ],
68
+ }
69
+
70
+ export default {
71
+ name: 'XProgress',
72
+
73
+ validator,
74
+
75
+ props: {
76
+ color: {
77
+ type: String,
78
+ default: 'primary',
79
+ },
80
+
81
+ percentage: {
82
+ type: Number,
83
+ default: 0,
84
+ validator: (val) => val >= 0 && val <= 100,
85
+ },
86
+
87
+ scoreLength: {
88
+ type: Number,
89
+ default: 3,
90
+ },
91
+
92
+ tag: {
93
+ type: String,
94
+ default: 'div',
95
+ },
96
+
97
+ variant: {
98
+ type: String,
99
+ default: 'bar',
100
+ validator: (value) => validator.variant.includes(value),
101
+ },
102
+ },
103
+
104
+ computed: {
105
+ circleProgress() {
106
+ const progressLimit = 251
107
+
108
+ return (progressLimit / 100) * this.percentage
109
+ },
110
+ },
111
+
112
+ methods: {
113
+ isScoreActive(item) {
114
+ if (this.percentage > (item - 1) * (100 / this.scoreLength)) return true
115
+
116
+ return false
117
+ },
118
+ },
119
+ }
120
+ </script>
@@ -0,0 +1,151 @@
1
+ <template>
2
+ <label
3
+ ref="focusRef"
4
+ class="inline-block mb-1 relative cursor-pointer focus:outline-none"
5
+ :class="{
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,
9
+ }"
10
+ :aria-checked="selected ? 'true' : 'false'"
11
+ :aria-disabled="disabled ? 'true' : null"
12
+ :tabindex="0"
13
+ @keypress.prevent.stop.enter.space="$emit('update:modelValue', value)"
14
+ >
15
+ <div
16
+ class="flex items-center"
17
+ :class="{ 'cursor-not-allowed': disabled }"
18
+ >
19
+ <input
20
+ v-model="selected"
21
+ type="radio"
22
+ class="invisible absolute"
23
+ :disabled="disabled || loading"
24
+ :name="name"
25
+ :required="required"
26
+ :value="modelValue"
27
+ />
28
+ <div
29
+ class="rounded-full flex justify-center items-center flex-shrink-0"
30
+ :class="[
31
+ {
32
+ // shadow
33
+ 'shadow': !flat && !loading,
34
+ [`shadow-lg shadow-${color}-500/50`]: !flat && glow && selected,
35
+
36
+ 'h-4 w-4': size === 'sm' || size === 'xs',
37
+ 'h-5 w-5': !['xs', 'sm', 'xl'].includes(size),
38
+ 'h-6 w-6': size === 'xl',
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,
47
+ }
48
+ ]"
49
+ >
50
+ <x-spinner v-if="loading" :size="size" class="absolute" />
51
+ <svg
52
+ v-else
53
+ class="fill-current text-gray-100"
54
+ :class="{
55
+ 'opacity-0': !selected,
56
+ 'h-2 w-2': size === 'sm' || size === 'xs',
57
+ 'h-3 w-3': !['xs', 'sm', 'xl'].includes(size),
58
+ 'h-4 w-4': size === 'xl',
59
+ }"
60
+ viewBox="0 0 20 20"
61
+ >
62
+ <path d="M0 11l2-2 5 5L18 3l2 2L7 18z" />
63
+ </svg>
64
+ </div>
65
+ <span
66
+ v-if="label"
67
+ class="font-medium text-gray-800 dark:text-gray-200 pl-2"
68
+ :class="{
69
+ 'text-xs': size === 'xs',
70
+ 'text-sm': size === 'sm',
71
+ 'text-lg': size === 'lg',
72
+ 'text-xl': size === 'xl',
73
+ }"
74
+ v-text="label"
75
+ ></span>
76
+ </div>
77
+
78
+ <div
79
+ v-if="$slots.default"
80
+ :class="{
81
+ 'text-xs pl-6': size === 'xs',
82
+ 'text-sm pl-6': size === 'sm',
83
+ 'pl-7': !['xs', 'sm', 'lg', 'xl'].includes(size),
84
+ 'text-lg pl-7': size === 'lg',
85
+ 'text-lg pl-8': size === 'xl',
86
+ }"
87
+ >
88
+ <slot></slot>
89
+ </div>
90
+ <p v-if="errorInternal" class="text-sm text-error-500 mt-1" v-text="errorInternal"></p>
91
+ </label>
92
+ </template>
93
+
94
+ <script>
95
+ import { withProps, withValidator, withEmits, useInputtable } from '../../composables/inputtable'
96
+ import XSpinner from '../spinner/Spinner.vue'
97
+
98
+ export default {
99
+ name: 'XRadio',
100
+ components: {
101
+ XSpinner,
102
+ },
103
+
104
+ validator: {
105
+ ...withValidator(),
106
+ },
107
+
108
+ props: {
109
+ ...withProps(),
110
+ bordered: {
111
+ type: Boolean,
112
+ default: false,
113
+ },
114
+
115
+ value: {
116
+ type: [String, Number, Boolean, Function, Object, Array],
117
+ default: null,
118
+ },
119
+
120
+ label: {
121
+ type: String,
122
+ default: null,
123
+ },
124
+
125
+ glow: {
126
+ type: Boolean,
127
+ default: false,
128
+ },
129
+ },
130
+
131
+ emits: withEmits(false),
132
+
133
+ setup(props, { attrs, emit }) {
134
+ return {
135
+ ...useInputtable(props, { attrs, emit, useListeners: false }),
136
+ }
137
+ },
138
+
139
+ computed: {
140
+ selected: {
141
+ get() {
142
+ return this.value === this.modelValue
143
+ },
144
+
145
+ set() {
146
+ this.$emit('update:modelValue', this.value)
147
+ },
148
+ },
149
+ },
150
+ }
151
+ </script>
@@ -0,0 +1,155 @@
1
+ <template>
2
+ <label class="inline-block mb-1 relative pb-2">
3
+ <p
4
+ v-if="label"
5
+ class="font-medium text-gray-800 dark:text-gray-200 mb-1"
6
+ :class="{
7
+ 'text-xs': size === 'xs',
8
+ 'text-sm': size === 'sm',
9
+ 'text-lg': size === 'lg',
10
+ 'text-xl': size === 'xl',
11
+ }"
12
+ v-text="label"
13
+ ></p>
14
+
15
+ <div class="relative">
16
+ <select
17
+ ref="focusRef"
18
+ v-model="selected"
19
+ class="block appearance-none w-full border border-gray-300 dark:border-gray-700 pr-8 rounded-form leading-tight
20
+ focus:outline-none focus:border-primary-500 dark:focus:border-primary-500 transition-colors duration-150 ease-in-out"
21
+ :class="[
22
+ disabled
23
+ ? 'bg-gray-200 dark:bg-gray-800 text-gray-800 dark:text-gray-200 cursor-not-allowed'
24
+ : 'bg-white dark:bg-gray-900',
25
+ {
26
+ // shadow
27
+ 'shadow': !flat,
28
+
29
+ // size
30
+ 'py-1': size === 'auto',
31
+ 'px-2 py-1 text-xs': size === 'xs',
32
+ 'px-2 py-1 text-sm': size === 'sm',
33
+ 'px-3 py-2': !['auto', 'xs', 'sm', 'lg', 'xl'].includes(size),
34
+ 'px-4 py-3 text-lg': size === 'lg',
35
+ 'px-6 py-6 text-xl': size === 'xl',
36
+ },
37
+ {
38
+ 'text-gray-400 dark:text-gray-500': modelValue === '' || modelValue === null,
39
+
40
+ // error
41
+ 'border-error-500 focus:border-error-500 dark:focus:border-error-500': errorInternal,
42
+ },
43
+ ]"
44
+ :disabled="disabled || loading"
45
+ :name="name"
46
+ :readonly="readonly"
47
+ :value="modelValue"
48
+ v-on="inputListeners"
49
+ >
50
+ <option
51
+ v-if="placeholder"
52
+ disabled
53
+ value=""
54
+ >
55
+ {{ placeholder }}
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>
65
+ <slot></slot>
66
+ </select>
67
+
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" />
70
+ <svg
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
+ ]"
81
+ viewBox="0 0 24 24"
82
+ stroke="currentColor"
83
+ stroke-linejoin="round"
84
+ stroke-linecap="round"
85
+ fill="none"
86
+ >
87
+ <path d="M18 8L12 2L6 8" />
88
+ <path d="M18 16L12 22L6 16" />
89
+ </svg>
90
+ </div>
91
+ </div>
92
+
93
+ <p v-if="errorInternal" class="text-sm text-error-500 mt-1" v-text="errorInternal"></p>
94
+ </label>
95
+ </template>
96
+
97
+ <script>
98
+ import { withProps, withValidator, withEmits, useInputtable } from '../../composables/inputtable'
99
+ import XSpinner from '../spinner/Spinner.vue'
100
+
101
+ export default {
102
+ name: 'XSelect',
103
+ components: {
104
+ XSpinner,
105
+ },
106
+
107
+ validator: {
108
+ ...withValidator(),
109
+ },
110
+
111
+ props: {
112
+ ...withProps(),
113
+
114
+ placeholder: {
115
+ type: String,
116
+ default: null,
117
+ },
118
+
119
+ flat: {
120
+ type: Boolean,
121
+ default: false,
122
+ },
123
+
124
+ label: {
125
+ type: String,
126
+ default: null,
127
+ },
128
+
129
+ options: {
130
+ type: Array,
131
+ default: null,
132
+ },
133
+ },
134
+
135
+ emits: withEmits(false),
136
+
137
+ setup(props, { attrs, emit }) {
138
+ return {
139
+ ...useInputtable(props, { attrs, emit, useListeners: false }),
140
+ }
141
+ },
142
+
143
+ computed: {
144
+ selected: {
145
+ get() {
146
+ return this.modelValue
147
+ },
148
+
149
+ set(val) {
150
+ this.$emit('update:modelValue', val)
151
+ },
152
+ },
153
+ },
154
+ }
155
+ </script>
@@ -0,0 +1,21 @@
1
+ <template>
2
+ <component
3
+ :is="tag"
4
+ class="animate-pulse bg-gray-300 dark:bg-gray-600 rounded-md"
5
+ >
6
+ &#8203;
7
+ </component>
8
+ </template>
9
+
10
+ <script>
11
+ export default {
12
+ name: 'XSkeleton',
13
+
14
+ props: {
15
+ tag: {
16
+ type: String,
17
+ default: 'div',
18
+ },
19
+ },
20
+ }
21
+ </script>