@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,3 @@
1
+ <template>
2
+ <div class="flex-grow"></div>
3
+ </template>
@@ -0,0 +1,45 @@
1
+ <template>
2
+ <svg
3
+ :class="[
4
+ {
5
+ 'h-3 w-3': size === 'xs',
6
+ 'h-4 w-4': size === 'sm',
7
+ 'h-5 w-5': !['xs', 'sm', 'xl'].includes(size),
8
+ 'h-6 w-6': size === 'xl',
9
+ },
10
+
11
+ ]"
12
+ viewBox="0 0 38 38"
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ style="stroke: currentColor"
15
+ >
16
+ <g fill="none" fill-rule="evenodd">
17
+ <g transform="translate(1 1)" stroke-width="2">
18
+ <circle stroke-opacity=".5" cx="18" cy="18" r="18"/>
19
+ <path d="M36 18c0-9.94-8.06-18-18-18">
20
+ <animateTransform
21
+ attributeName="transform"
22
+ type="rotate"
23
+ from="0 18 18"
24
+ to="360 18 18"
25
+ dur="0.5s"
26
+ repeatCount="indefinite"
27
+ />
28
+ </path>
29
+ </g>
30
+ </g>
31
+ </svg>
32
+ </template>
33
+
34
+ <script>
35
+ export default {
36
+ name: 'XSpinner',
37
+
38
+ props: {
39
+ size: {
40
+ type: String,
41
+ default: null,
42
+ },
43
+ },
44
+ }
45
+ </script>
@@ -0,0 +1,41 @@
1
+ <template>
2
+ <component
3
+ :is="tag"
4
+ class="inline-block relative"
5
+ >
6
+ <slot></slot>
7
+ <div
8
+ v-if="animate"
9
+ class="animate-ping opacity-75 absolute -top-0.5 -right-0.5 rounded-full h-3 w-3 z-10"
10
+ :class="[`bg-${color}-500`]"
11
+ >
12
+ </div>
13
+ <div
14
+ class="absolute -top-0.5 -right-0.5 rounded-full h-3 w-3 z-10"
15
+ :class="[`bg-${color}-500`]"
16
+ ></div>
17
+ </component>
18
+ </template>
19
+
20
+ <script>
21
+ export default {
22
+ name: 'XStatusDot',
23
+
24
+ props: {
25
+ animate: {
26
+ type: Boolean,
27
+ default: false,
28
+ },
29
+
30
+ color: {
31
+ type: String,
32
+ default: 'primary',
33
+ },
34
+
35
+ tag: {
36
+ type: String,
37
+ default: 'div',
38
+ },
39
+ },
40
+ }
41
+ </script>
@@ -0,0 +1,157 @@
1
+ <template>
2
+ <table
3
+ class="w-full relative"
4
+ :class="[
5
+ {
6
+ 'overflow-x-scroll sm:overflow-x-auto whitespace-wrap sm:whitespace-normal block sm:table': scrollable,
7
+ 'relative': stickyHeader,
8
+ 'table-fixed': fixed,
9
+ }
10
+ ]"
11
+ >
12
+ <table-head>
13
+ <table-header
14
+ v-for="(header, index) in headers"
15
+ :key="index"
16
+ :sticky-header="stickyHeader"
17
+ :text-align="header.align"
18
+ :sort="getSort(header.value, sort)"
19
+ :sortable="header.sortable"
20
+ @click="header.sortable ? sortHeader(header) : null"
21
+ >
22
+ {{ header.text }}
23
+ </table-header>
24
+ </table-head>
25
+ <table-body>
26
+ <table-row v-for="(item, index) in items" :key="index" clickable @click="$emit('click-row', item)">
27
+ <table-cell
28
+ v-for="(header, index2) in headers"
29
+ :key="index2"
30
+ :text-align="header.align"
31
+ :dense="dense"
32
+ :fixed="fixed"
33
+ >
34
+ <slot :name="`item-${header.value}`" :item="item">
35
+ {{ getPath(item, header.value) }}
36
+ </slot>
37
+ </table-cell>
38
+ </table-row>
39
+ </table-body>
40
+ <div
41
+ v-if="loading"
42
+ class="absolute inset-0 flex items-center justify-center z-40 bg-gray-300 rounded opacity-50"
43
+ >
44
+ <x-spinner size="lg"/>
45
+ </div>
46
+ </table>
47
+ </template>
48
+
49
+ <script>
50
+ import TableHead from './TableHead.vue'
51
+ import TableHeader from './TableHeader.vue'
52
+ import TableBody from './TableBody.vue'
53
+ import TableRow from './TableRow.vue'
54
+ import TableCell from './TableCell.vue'
55
+ import XSpinner from '../spinner/Spinner.vue'
56
+
57
+ export default {
58
+ name: 'XTable',
59
+
60
+ components: {
61
+ TableHead,
62
+ TableHeader,
63
+ TableBody,
64
+ TableRow,
65
+ TableCell,
66
+ XSpinner,
67
+ },
68
+
69
+ props: {
70
+ loading: {
71
+ type: Boolean,
72
+ default: false,
73
+ },
74
+
75
+ headers: {
76
+ type: Array,
77
+ default: () => [],
78
+ },
79
+
80
+ items: {
81
+ type: Array,
82
+ default: () => [],
83
+ },
84
+
85
+ sort: {
86
+ type: Array,
87
+ default: () => [],
88
+ },
89
+
90
+ dense: {
91
+ type: Boolean,
92
+ default: false,
93
+ },
94
+
95
+ fixed: {
96
+ type: Boolean,
97
+ default: false,
98
+ },
99
+
100
+ scrollable: {
101
+ type: Boolean,
102
+ default: true,
103
+ },
104
+
105
+ stickyHeader: {
106
+ type: Boolean,
107
+ default: true,
108
+ },
109
+ },
110
+
111
+ methods: {
112
+ getSort(headerValue, sort) {
113
+ for (let i = 0; i < sort.length; i++) {
114
+ const { 0: value, 1: order } = sort[i].split(',')
115
+
116
+ if (headerValue === value) return parseInt(order)
117
+ }
118
+
119
+ return null
120
+ },
121
+ sortHeader(header) {
122
+ // update sort array
123
+ const sort = this.sort.slice(0)
124
+ let exists = false
125
+
126
+ for (let i = 0; i < sort.length; i++) {
127
+ const { 0: value, 1: order } = sort[i].split(',')
128
+
129
+ if (value === header.value) {
130
+ exists = true
131
+
132
+ if (order === '-1') {
133
+ // update position to 1
134
+ sort.splice(i, 1, `${header.value},1`)
135
+ break
136
+ } else if (order === '1') {
137
+ // delete position
138
+ sort.splice(i, 1)
139
+ break
140
+ }
141
+ }
142
+ }
143
+
144
+ if (!exists) sort.push(`${header.value},-1`)
145
+
146
+ this.$emit('update:sort', sort)
147
+ },
148
+ getPath(obj, path, defValue) {
149
+ if (!path) return undefined
150
+ const pathArray = Array.isArray(path) ? path : path.match(/([^[.\]])+/g)
151
+ const result = pathArray.reduce((prevObj, key) => prevObj && prevObj[key], obj)
152
+
153
+ return result === undefined ? defValue : result
154
+ },
155
+ },
156
+ }
157
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <tbody>
3
+ <slot></slot>
4
+ </tbody>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: 'XTableBody',
10
+ }
11
+ </script>
@@ -0,0 +1,90 @@
1
+ <template>
2
+ <td
3
+ class="last:pr-0"
4
+ :class="[
5
+ {
6
+ // density
7
+ 'py-1 pr-2': dense,
8
+ 'py-2 pr-4': !dense,
9
+ // text-align
10
+ 'text-left': textAlign === 'left',
11
+ 'text-center': textAlign === 'center',
12
+ 'text-right': textAlign === 'right',
13
+ 'text-justify': textAlign === 'justify',
14
+ // vertical-align
15
+ 'align-baseline': verticalAlign === 'baseline',
16
+ 'align-bottom': verticalAlign === 'bottom',
17
+ 'align-middle': verticalAlign === 'middle',
18
+ 'align-text-bottom': verticalAlign === 'text-bottom',
19
+ 'align-text-top': verticalAlign === 'text-top',
20
+ 'align-top': verticalAlign === 'top',
21
+ // truncate
22
+ 'truncate': truncate && fixed,
23
+ },
24
+ ]"
25
+ >
26
+ <slot></slot>
27
+ </td>
28
+ </template>
29
+
30
+ <script>
31
+ const validator = {
32
+ textAlign: [
33
+ null,
34
+ 'left',
35
+ 'center',
36
+ 'right',
37
+ 'justify',
38
+ ],
39
+ verticalAlign: [
40
+ null,
41
+ 'baseline',
42
+ 'bottom',
43
+ 'middle',
44
+ 'text-bottom',
45
+ 'text-top',
46
+ 'top',
47
+ ],
48
+ }
49
+
50
+ export default {
51
+ name: 'XTableCell',
52
+
53
+ validator,
54
+
55
+ props: {
56
+ textAlign: {
57
+ default: null,
58
+ type: String,
59
+ validator: (value) => validator.textAlign.includes(value),
60
+ },
61
+
62
+ truncate: {
63
+ default: false,
64
+ type: Boolean,
65
+ },
66
+
67
+ dense: {
68
+ default: false,
69
+ type: Boolean,
70
+ },
71
+
72
+ fixed: {
73
+ default: false,
74
+ type: Boolean,
75
+ },
76
+
77
+ verticalAlign: {
78
+ default: null,
79
+ type: String,
80
+ validator: (value) => validator.verticalAlign.includes(value),
81
+ },
82
+ },
83
+
84
+ created() {
85
+ if (this.truncate && !this.fixed) {
86
+ console.warn('Table must have "fixed" property set to true when using TableCell "truncate" property')
87
+ }
88
+ },
89
+ }
90
+ </script>
@@ -0,0 +1,13 @@
1
+ <template>
2
+ <thead class="align-bottom">
3
+ <tr class="text-sm text-gray-700 dark:text-gray-400">
4
+ <slot></slot>
5
+ </tr>
6
+ </thead>
7
+ </template>
8
+
9
+ <script>
10
+ export default {
11
+ name: 'XTableHead',
12
+ }
13
+ </script>
@@ -0,0 +1,109 @@
1
+ <template>
2
+ <th
3
+ class="py-2 bg-gray-50 dark:bg-gray-800 font-medium tracking-wide uppercase text-xs pr-1 last:pr-0"
4
+ :class="[
5
+ {
6
+ //sort
7
+ 'cursor-pointer hover:text-gray-800 dark:hover:text-gray-300 transition-colors duration-150 ease-in-out': sortable,
8
+ //stickyHeader
9
+ 'sticky top-0': stickyHeader,
10
+ // textAlign
11
+ 'text-left': textAlign === 'left',
12
+ 'text-center': textAlign === 'center',
13
+ 'text-right': textAlign === 'right',
14
+ 'text-justify': textAlign === 'justify',
15
+ },
16
+ ]"
17
+ >
18
+ <div
19
+ v-if="sortable"
20
+ class="flex items-center"
21
+ >
22
+ <slot></slot>
23
+
24
+ <svg
25
+ v-if="[1, -1].includes(sort)"
26
+ width="24"
27
+ height="24"
28
+ viewBox="0 0 24 24"
29
+ stroke="currentColor"
30
+ stroke-linejoin="round"
31
+ stroke-linecap="round"
32
+ fill="none"
33
+ role="presentation"
34
+ class="inline-block stroke-2 w-3 h-3 ml-0.5"
35
+ >
36
+ <template v-if="sort === -1">
37
+ <line
38
+ x1="12"
39
+ y1="5"
40
+ x2="12"
41
+ y2="19"
42
+ />
43
+ <polyline points="19 12 12 19 5 12" />
44
+ </template>
45
+
46
+ <template v-if="sort === 1">
47
+ <line
48
+ x1="12"
49
+ y1="19"
50
+ x2="12"
51
+ y2="5"
52
+ />
53
+ <polyline points="5 12 12 5 19 12" />
54
+ </template>
55
+ </svg>
56
+ </div>
57
+
58
+ <template v-else>
59
+ <slot></slot>
60
+ </template>
61
+ </th>
62
+ </template>
63
+
64
+ <script>
65
+ const validator = {
66
+ sort: [
67
+ null,
68
+ 1,
69
+ -1,
70
+ ],
71
+ textAlign: [
72
+ null,
73
+ 'left',
74
+ 'center',
75
+ 'right',
76
+ 'justify',
77
+ ],
78
+ }
79
+
80
+ export default {
81
+ name: 'XTableHeader',
82
+
83
+ validator,
84
+
85
+ props: {
86
+ sort: {
87
+ type: [Number, Boolean],
88
+ default: null,
89
+ validator: (value) => validator.sort.includes(value),
90
+ },
91
+
92
+ sortable: {
93
+ type: Boolean,
94
+ default: false,
95
+ },
96
+
97
+ textAlign: {
98
+ type: String,
99
+ default: 'left',
100
+ validator: (value) => validator.textAlign.includes(value),
101
+ },
102
+
103
+ stickyHeader: {
104
+ type: Boolean,
105
+ default: false,
106
+ },
107
+ },
108
+ }
109
+ </script>
@@ -0,0 +1,51 @@
1
+ <template>
2
+ <tr
3
+ class="border-b border-gray-200 dark:border-gray-700"
4
+ :class="[
5
+ {
6
+ 'hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer': clickable,
7
+ // vertical-align
8
+ 'align-baseline': verticalAlign === 'baseline',
9
+ 'align-bottom': verticalAlign === 'bottom',
10
+ 'align-middle': verticalAlign === 'middle',
11
+ 'align-text-bottom': verticalAlign === 'text-bottom',
12
+ 'align-text-top': verticalAlign === 'text-top',
13
+ 'align-top': verticalAlign === 'top',
14
+ },
15
+ ]"
16
+ >
17
+ <slot></slot>
18
+ </tr>
19
+ </template>
20
+
21
+ <script>
22
+ const validator = {
23
+ verticalAlign: [
24
+ 'baseline',
25
+ 'bottom',
26
+ 'middle',
27
+ 'text-bottom',
28
+ 'text-top',
29
+ 'top',
30
+ ],
31
+ }
32
+
33
+ export default {
34
+ name: 'XTableRow',
35
+
36
+ validator,
37
+
38
+ props: {
39
+ clickable: {
40
+ type: Boolean,
41
+ default: false,
42
+ },
43
+
44
+ verticalAlign: {
45
+ type: String,
46
+ default: 'top',
47
+ validator: (value) => validator.verticalAlign.includes(value),
48
+ },
49
+ },
50
+ }
51
+ </script>
@@ -0,0 +1,81 @@
1
+ <template>
2
+ <component
3
+ :is="to ? 'router-link' : tag"
4
+ :to="to"
5
+ class="pb-2 transition-colors duration-150 ease-in-out"
6
+ :class="[
7
+ {
8
+ [`border-b-2 border-${color}-500 text-${color}-500`]: selected,
9
+ 'cursor-pointer': !disabled,
10
+ 'cursor-not-allowed': disabled,
11
+ 'cursor-not-allowed text-gray-500': disabled && !selected,
12
+ },
13
+ ]"
14
+ :aria-disabled="disabled ? 'true' : null"
15
+ :aria-selected="selected ? 'true' : 'false'"
16
+ @click="onClickTab"
17
+ >
18
+ <slot></slot>
19
+ </component>
20
+ </template>
21
+
22
+ <script>
23
+ import { inject, reactive, computed, toRefs } from 'vue'
24
+
25
+ export default {
26
+ name: 'XTab',
27
+
28
+ props: {
29
+ disabled: {
30
+ type: Boolean,
31
+ default: false,
32
+ },
33
+
34
+ value: {
35
+ type: [String, Number],
36
+ default: null,
37
+ },
38
+
39
+ color: {
40
+ type: String,
41
+ default: 'primary',
42
+ },
43
+
44
+ tag: {
45
+ type: String,
46
+ default: 'li',
47
+ },
48
+
49
+ to: {
50
+ type: String,
51
+ default: undefined,
52
+ },
53
+ },
54
+
55
+ setup(props) {
56
+ const tabs = inject(
57
+ 'tabs',
58
+ {
59
+ state: reactive({
60
+ active: null,
61
+ }),
62
+ activateTab: () => {},
63
+ },
64
+ )
65
+
66
+ const state = reactive({
67
+ selected: computed(() => tabs.state.active === props.value),
68
+ })
69
+
70
+ function onClickTab() {
71
+ tabs.activateTab(props.value)
72
+ }
73
+
74
+ return {
75
+ ...toRefs(state),
76
+ tabs,
77
+ onClickTab,
78
+ }
79
+ },
80
+ }
81
+ </script>
@@ -0,0 +1,44 @@
1
+ <template>
2
+ <component
3
+ :is="tag"
4
+ class="flex border-b border-gray-200 dark:border-gray-700 space-x-4"
5
+ >
6
+ <slot></slot>
7
+ </component>
8
+ </template>
9
+
10
+ <script>
11
+ import { reactive, computed, provide } from 'vue'
12
+
13
+ export default {
14
+ name: 'XTabs',
15
+
16
+ props: {
17
+ modelValue: {
18
+ type: [String, Number],
19
+ default: null,
20
+ },
21
+ tag: {
22
+ type: String,
23
+ default: 'ul',
24
+ },
25
+ },
26
+
27
+ emits: ['update:modelValue'],
28
+
29
+ setup(props, { emit }) {
30
+ const state = reactive({
31
+ active: computed(() => props.modelValue),
32
+ })
33
+
34
+ provide('tabs', {
35
+ state,
36
+ activateTab,
37
+ })
38
+
39
+ function activateTab(tab) {
40
+ emit('update:modelValue', tab)
41
+ }
42
+ },
43
+ }
44
+ </script>