vueless 0.0.16 → 0.0.17

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 (392) hide show
  1. package/.browserslistrc +4 -0
  2. package/.editorconfig +12 -0
  3. package/.eslintignore +6 -0
  4. package/.eslintrc.cjs +66 -0
  5. package/.storybook/configs/main.config.js +20 -0
  6. package/.storybook/decorators/vue3SourceDecorator.js +119 -0
  7. package/.storybook/index.pcss +3 -0
  8. package/.storybook/main.js +20 -0
  9. package/.storybook/manager-head.html +10 -0
  10. package/.storybook/manager.js +6 -0
  11. package/.storybook/preview-head.html +72 -0
  12. package/.storybook/preview.js +42 -0
  13. package/.storybook/themes/vueless.docs.theme.js +41 -0
  14. package/.storybook/themes/vueless.theme.js +45 -0
  15. package/docs/README.md +64 -0
  16. package/docs/SUMMARY.md +5 -0
  17. package/docs/classes-autocompletion.md +67 -0
  18. package/docs/known-issues.md +14 -0
  19. package/index.pcss +3 -0
  20. package/jsconfig.json +11 -0
  21. package/package.json +8 -5
  22. package/postcss.config.js +9 -0
  23. package/public/images/logo.png +0 -0
  24. package/public/images/vueless-logo-git.png +0 -0
  25. package/src/gen.web-types/index.js +17 -0
  26. package/src/gen.web-types/lib/build.js +254 -0
  27. package/src/gen.web-types/lib/config.js +32 -0
  28. package/tailwind.config.js +11 -0
  29. package/vite.config.js +40 -0
  30. package/vueless.config.js +7 -0
  31. package/web-types.config.js +3 -0
  32. package/web-types.json +66 -66
  33. /package/{composable.ui → src/composable.ui}/index.js +0 -0
  34. /package/{preset.tailwind → src/preset.tailwind}/index.js +0 -0
  35. /package/{service.storybook → src/service.storybook}/index.js +0 -0
  36. /package/{service.ui → src/service.ui}/index.js +0 -0
  37. /package/{ui.button → src/ui.button}/Docs.mdx +0 -0
  38. /package/{ui.button → src/ui.button}/composables/attrs.composable.js +0 -0
  39. /package/{ui.button → src/ui.button}/configs/default.config.js +0 -0
  40. /package/{ui.button → src/ui.button}/constants/index.js +0 -0
  41. /package/{ui.button → src/ui.button}/index.stories.js +0 -0
  42. /package/{ui.button → src/ui.button}/index.vue +0 -0
  43. /package/{ui.button-link → src/ui.button-link}/Docs.mdx +0 -0
  44. /package/{ui.button-link → src/ui.button-link}/composables/attrs.composable.js +0 -0
  45. /package/{ui.button-link → src/ui.button-link}/configs/default.config.js +0 -0
  46. /package/{ui.button-link → src/ui.button-link}/constants/index.js +0 -0
  47. /package/{ui.button-link → src/ui.button-link}/index.stories.js +0 -0
  48. /package/{ui.button-link → src/ui.button-link}/index.vue +0 -0
  49. /package/{ui.button-toggle → src/ui.button-toggle}/Docs.mdx +0 -0
  50. /package/{ui.button-toggle → src/ui.button-toggle}/composables/attrs.composable.js +0 -0
  51. /package/{ui.button-toggle → src/ui.button-toggle}/configs/default.config.js +0 -0
  52. /package/{ui.button-toggle → src/ui.button-toggle}/constants/index.js +0 -0
  53. /package/{ui.button-toggle → src/ui.button-toggle}/index.stories.js +0 -0
  54. /package/{ui.button-toggle → src/ui.button-toggle}/index.vue +0 -0
  55. /package/{ui.button-toggle-item → src/ui.button-toggle-item}/Docs.mdx +0 -0
  56. /package/{ui.button-toggle-item → src/ui.button-toggle-item}/composables/attrs.composable.js +0 -0
  57. /package/{ui.button-toggle-item → src/ui.button-toggle-item}/configs/default.config.js +0 -0
  58. /package/{ui.button-toggle-item → src/ui.button-toggle-item}/constants/index.js +0 -0
  59. /package/{ui.button-toggle-item → src/ui.button-toggle-item}/index.stories.js +0 -0
  60. /package/{ui.button-toggle-item → src/ui.button-toggle-item}/index.vue +0 -0
  61. /package/{ui.container-accordion → src/ui.container-accordion}/composables/attrs.composable.js +0 -0
  62. /package/{ui.container-accordion → src/ui.container-accordion}/configs/default.config.js +0 -0
  63. /package/{ui.container-accordion → src/ui.container-accordion}/constants/index.js +0 -0
  64. /package/{ui.container-accordion → src/ui.container-accordion}/index.stories.js +0 -0
  65. /package/{ui.container-accordion → src/ui.container-accordion}/index.vue +0 -0
  66. /package/{ui.container-card → src/ui.container-card}/Docs.mdx +0 -0
  67. /package/{ui.container-card → src/ui.container-card}/composable/attrs.composable.js +0 -0
  68. /package/{ui.container-card → src/ui.container-card}/configs/default.config.js +0 -0
  69. /package/{ui.container-card → src/ui.container-card}/constants/index.js +0 -0
  70. /package/{ui.container-card → src/ui.container-card}/index.stories.js +0 -0
  71. /package/{ui.container-card → src/ui.container-card}/index.vue +0 -0
  72. /package/{ui.container-divider → src/ui.container-divider}/Docs.mdx +0 -0
  73. /package/{ui.container-divider → src/ui.container-divider}/composables/attrs.composable.js +0 -0
  74. /package/{ui.container-divider → src/ui.container-divider}/configs/default.config.js +0 -0
  75. /package/{ui.container-divider → src/ui.container-divider}/constants/index.js +0 -0
  76. /package/{ui.container-divider → src/ui.container-divider}/index.stories.js +0 -0
  77. /package/{ui.container-divider → src/ui.container-divider}/index.vue +0 -0
  78. /package/{ui.container-group → src/ui.container-group}/Docs.mdx +0 -0
  79. /package/{ui.container-group → src/ui.container-group}/composables/attrs.composable.js +0 -0
  80. /package/{ui.container-group → src/ui.container-group}/configs/default.config.js +0 -0
  81. /package/{ui.container-group → src/ui.container-group}/constants/index.js +0 -0
  82. /package/{ui.container-group → src/ui.container-group}/index.stories.js +0 -0
  83. /package/{ui.container-group → src/ui.container-group}/index.vue +0 -0
  84. /package/{ui.container-groups → src/ui.container-groups}/Docs.mdx +0 -0
  85. /package/{ui.container-groups → src/ui.container-groups}/composables/attrs.composable.js +0 -0
  86. /package/{ui.container-groups → src/ui.container-groups}/configs/default.config.js +0 -0
  87. /package/{ui.container-groups → src/ui.container-groups}/index.stories.js +0 -0
  88. /package/{ui.container-groups → src/ui.container-groups}/index.vue +0 -0
  89. /package/{ui.container-modal → src/ui.container-modal}/Docs.mdx +0 -0
  90. /package/{ui.container-modal → src/ui.container-modal}/composables/attrs.composable.js +0 -0
  91. /package/{ui.container-modal → src/ui.container-modal}/configs/default.config.js +0 -0
  92. /package/{ui.container-modal → src/ui.container-modal}/constants/index.js +0 -0
  93. /package/{ui.container-modal → src/ui.container-modal}/index.stories.js +0 -0
  94. /package/{ui.container-modal → src/ui.container-modal}/index.vue +0 -0
  95. /package/{ui.container-modal-confirm → src/ui.container-modal-confirm}/Docs.mdx +0 -0
  96. /package/{ui.container-modal-confirm → src/ui.container-modal-confirm}/composable/attrs.composable.js +0 -0
  97. /package/{ui.container-modal-confirm → src/ui.container-modal-confirm}/configs/default.config.js +0 -0
  98. /package/{ui.container-modal-confirm → src/ui.container-modal-confirm}/constants/index.js +0 -0
  99. /package/{ui.container-modal-confirm → src/ui.container-modal-confirm}/index.stories.js +0 -0
  100. /package/{ui.container-modal-confirm → src/ui.container-modal-confirm}/index.vue +0 -0
  101. /package/{ui.container-page → src/ui.container-page}/Docs.mdx +0 -0
  102. /package/{ui.container-page → src/ui.container-page}/composables/attrs.composable.js +0 -0
  103. /package/{ui.container-page → src/ui.container-page}/configs/default.config.js +0 -0
  104. /package/{ui.container-page → src/ui.container-page}/constants/index.js +0 -0
  105. /package/{ui.container-page → src/ui.container-page}/index.stories.js +0 -0
  106. /package/{ui.container-page → src/ui.container-page}/index.vue +0 -0
  107. /package/{ui.container-row → src/ui.container-row}/Docs.mdx +0 -0
  108. /package/{ui.container-row → src/ui.container-row}/composables/attrs.composable.js +0 -0
  109. /package/{ui.container-row → src/ui.container-row}/configs/default.config.js +0 -0
  110. /package/{ui.container-row → src/ui.container-row}/constants/index.js +0 -0
  111. /package/{ui.container-row → src/ui.container-row}/index.stories.js +0 -0
  112. /package/{ui.container-row → src/ui.container-row}/index.vue +0 -0
  113. /package/{ui.data-list → src/ui.data-list}/composables/attrs.composable.js +0 -0
  114. /package/{ui.data-list → src/ui.data-list}/configs/default.config.js +0 -0
  115. /package/{ui.data-list → src/ui.data-list}/constants/index.js +0 -0
  116. /package/{ui.data-list → src/ui.data-list}/index.stories.js +0 -0
  117. /package/{ui.data-list → src/ui.data-list}/index.vue +0 -0
  118. /package/{ui.data-table → src/ui.data-table}/Docs.mdx +0 -0
  119. /package/{ui.data-table → src/ui.data-table}/composables/attrs.composable.js +0 -0
  120. /package/{ui.data-table → src/ui.data-table}/configs/default.config.js +0 -0
  121. /package/{ui.data-table → src/ui.data-table}/constants/index.js +0 -0
  122. /package/{ui.data-table → src/ui.data-table}/index.stories.js +0 -0
  123. /package/{ui.data-table → src/ui.data-table}/index.vue +0 -0
  124. /package/{ui.data-table → src/ui.data-table}/services/table.service.js +0 -0
  125. /package/{ui.data-table-cell → src/ui.data-table-cell}/composables/attrs.composable.js +0 -0
  126. /package/{ui.data-table-cell → src/ui.data-table-cell}/configs/default.config.js +0 -0
  127. /package/{ui.data-table-cell → src/ui.data-table-cell}/constants/index.js +0 -0
  128. /package/{ui.data-table-cell → src/ui.data-table-cell}/index.vue +0 -0
  129. /package/{ui.dropdown-badge → src/ui.dropdown-badge}/Docs.mdx +0 -0
  130. /package/{ui.dropdown-badge → src/ui.dropdown-badge}/composables/attrs.composable.js +0 -0
  131. /package/{ui.dropdown-badge → src/ui.dropdown-badge}/configs/default.config.js +0 -0
  132. /package/{ui.dropdown-badge → src/ui.dropdown-badge}/constants/index.js +0 -0
  133. /package/{ui.dropdown-badge → src/ui.dropdown-badge}/index.stories.js +0 -0
  134. /package/{ui.dropdown-badge → src/ui.dropdown-badge}/index.vue +0 -0
  135. /package/{ui.dropdown-button → src/ui.dropdown-button}/Docs.mdx +0 -0
  136. /package/{ui.dropdown-button → src/ui.dropdown-button}/composables/attrs.composable.js +0 -0
  137. /package/{ui.dropdown-button → src/ui.dropdown-button}/configs/default.config.js +0 -0
  138. /package/{ui.dropdown-button → src/ui.dropdown-button}/constants/index.js +0 -0
  139. /package/{ui.dropdown-button → src/ui.dropdown-button}/index.stories.js +0 -0
  140. /package/{ui.dropdown-button → src/ui.dropdown-button}/index.vue +0 -0
  141. /package/{ui.dropdown-item → src/ui.dropdown-item}/Docs.mdx +0 -0
  142. /package/{ui.dropdown-item → src/ui.dropdown-item}/composables/attrs.composable.js +0 -0
  143. /package/{ui.dropdown-item → src/ui.dropdown-item}/configs/default.config.js +0 -0
  144. /package/{ui.dropdown-item → src/ui.dropdown-item}/index.stories.js +0 -0
  145. /package/{ui.dropdown-item → src/ui.dropdown-item}/index.vue +0 -0
  146. /package/{ui.dropdown-link → src/ui.dropdown-link}/Docs.mdx +0 -0
  147. /package/{ui.dropdown-link → src/ui.dropdown-link}/composables/attrs.composable.js +0 -0
  148. /package/{ui.dropdown-link → src/ui.dropdown-link}/configs/default.config.js +0 -0
  149. /package/{ui.dropdown-link → src/ui.dropdown-link}/constants/index.js +0 -0
  150. /package/{ui.dropdown-link → src/ui.dropdown-link}/index.stories.js +0 -0
  151. /package/{ui.dropdown-link → src/ui.dropdown-link}/index.vue +0 -0
  152. /package/{ui.dropdown-list → src/ui.dropdown-list}/Docs.mdx +0 -0
  153. /package/{ui.dropdown-list → src/ui.dropdown-list}/composables/attrs.composable.js +0 -0
  154. /package/{ui.dropdown-list → src/ui.dropdown-list}/composables/usePointer.js +0 -0
  155. /package/{ui.dropdown-list → src/ui.dropdown-list}/configs/default.config.js +0 -0
  156. /package/{ui.dropdown-list → src/ui.dropdown-list}/constants/index.js +0 -0
  157. /package/{ui.dropdown-list → src/ui.dropdown-list}/index.stories.js +0 -0
  158. /package/{ui.dropdown-list → src/ui.dropdown-list}/index.vue +0 -0
  159. /package/{ui.form-calendar → src/ui.form-calendar}/Docs.mdx +0 -0
  160. /package/{ui.form-calendar → src/ui.form-calendar}/components/DayView.vue +0 -0
  161. /package/{ui.form-calendar → src/ui.form-calendar}/components/MonthView.vue +0 -0
  162. /package/{ui.form-calendar → src/ui.form-calendar}/components/YearView.vue +0 -0
  163. /package/{ui.form-calendar → src/ui.form-calendar}/composables/attrs.composable.js +0 -0
  164. /package/{ui.form-calendar → src/ui.form-calendar}/configs/default.config.js +0 -0
  165. /package/{ui.form-calendar → src/ui.form-calendar}/constants/index.js +0 -0
  166. /package/{ui.form-calendar → src/ui.form-calendar}/index.stories.js +0 -0
  167. /package/{ui.form-calendar → src/ui.form-calendar}/index.vue +0 -0
  168. /package/{ui.form-calendar → src/ui.form-calendar}/services/calendar.service.js +0 -0
  169. /package/{ui.form-calendar → src/ui.form-calendar}/services/date.service.js +0 -0
  170. /package/{ui.form-calendar → src/ui.form-calendar}/services/formatting.service.js +0 -0
  171. /package/{ui.form-checkbox → src/ui.form-checkbox}/Docs.mdx +0 -0
  172. /package/{ui.form-checkbox → src/ui.form-checkbox}/composables/attrs.composable.js +0 -0
  173. /package/{ui.form-checkbox → src/ui.form-checkbox}/configs/default.config.js +0 -0
  174. /package/{ui.form-checkbox → src/ui.form-checkbox}/constants/index.js +0 -0
  175. /package/{ui.form-checkbox → src/ui.form-checkbox}/index.stories.js +0 -0
  176. /package/{ui.form-checkbox → src/ui.form-checkbox}/index.vue +0 -0
  177. /package/{ui.form-checkbox-group → src/ui.form-checkbox-group}/Docs.mdx +0 -0
  178. /package/{ui.form-checkbox-group → src/ui.form-checkbox-group}/composables/attrs.composable.js +0 -0
  179. /package/{ui.form-checkbox-group → src/ui.form-checkbox-group}/configs/default.config.js +0 -0
  180. /package/{ui.form-checkbox-group → src/ui.form-checkbox-group}/constants/index.js +0 -0
  181. /package/{ui.form-checkbox-group → src/ui.form-checkbox-group}/index.stories.js +0 -0
  182. /package/{ui.form-checkbox-group → src/ui.form-checkbox-group}/index.vue +0 -0
  183. /package/{ui.form-checkbox-multi-state → src/ui.form-checkbox-multi-state}/Docs.mdx +0 -0
  184. /package/{ui.form-checkbox-multi-state → src/ui.form-checkbox-multi-state}/composables/attrs.composable.js +0 -0
  185. /package/{ui.form-checkbox-multi-state → src/ui.form-checkbox-multi-state}/configs/default.config.js +0 -0
  186. /package/{ui.form-checkbox-multi-state → src/ui.form-checkbox-multi-state}/constants/index.js +0 -0
  187. /package/{ui.form-checkbox-multi-state → src/ui.form-checkbox-multi-state}/index.stories.js +0 -0
  188. /package/{ui.form-checkbox-multi-state → src/ui.form-checkbox-multi-state}/index.vue +0 -0
  189. /package/{ui.form-color-picker → src/ui.form-color-picker}/composables/attrs.composable.js +0 -0
  190. /package/{ui.form-color-picker → src/ui.form-color-picker}/configs/default.config.js +0 -0
  191. /package/{ui.form-color-picker → src/ui.form-color-picker}/constants/index.js +0 -0
  192. /package/{ui.form-color-picker → src/ui.form-color-picker}/index.stories.js +0 -0
  193. /package/{ui.form-color-picker → src/ui.form-color-picker}/index.vue +0 -0
  194. /package/{ui.form-date-picker → src/ui.form-date-picker}/Docs.mdx +0 -0
  195. /package/{ui.form-date-picker → src/ui.form-date-picker}/composables/attrs.composable.js +0 -0
  196. /package/{ui.form-date-picker → src/ui.form-date-picker}/configs/default.config.js +0 -0
  197. /package/{ui.form-date-picker → src/ui.form-date-picker}/constants/index.js +0 -0
  198. /package/{ui.form-date-picker → src/ui.form-date-picker}/index.stories.js +0 -0
  199. /package/{ui.form-date-picker → src/ui.form-date-picker}/index.vue +0 -0
  200. /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/composables/attrs.composable.js +0 -0
  201. /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/configs/default.config.js +0 -0
  202. /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/constants/index.js +0 -0
  203. /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/index.stories.js +0 -0
  204. /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/index.vue +0 -0
  205. /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/services/dateRange.service.js +0 -0
  206. /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/services/validation.service.js +0 -0
  207. /package/{ui.form-input → src/ui.form-input}/Docs.mdx +0 -0
  208. /package/{ui.form-input → src/ui.form-input}/assets/fonts/text-security-disc.woff +0 -0
  209. /package/{ui.form-input → src/ui.form-input}/composables/attrs.composable.js +0 -0
  210. /package/{ui.form-input → src/ui.form-input}/configs/default.config.js +0 -0
  211. /package/{ui.form-input → src/ui.form-input}/constants/index.js +0 -0
  212. /package/{ui.form-input → src/ui.form-input}/index.stories.js +0 -0
  213. /package/{ui.form-input → src/ui.form-input}/index.vue +0 -0
  214. /package/{ui.form-input-file → src/ui.form-input-file}/composables/attrs.composable.js +0 -0
  215. /package/{ui.form-input-file → src/ui.form-input-file}/configs/default.config.js +0 -0
  216. /package/{ui.form-input-file → src/ui.form-input-file}/constants/index.js +0 -0
  217. /package/{ui.form-input-file → src/ui.form-input-file}/index.stories.js +0 -0
  218. /package/{ui.form-input-file → src/ui.form-input-file}/index.vue +0 -0
  219. /package/{ui.form-input-money → src/ui.form-input-money}/Docs.mdx +0 -0
  220. /package/{ui.form-input-money → src/ui.form-input-money}/composables/attrs.composable.js +0 -0
  221. /package/{ui.form-input-money → src/ui.form-input-money}/composables/useFormatCurrency.js +0 -0
  222. /package/{ui.form-input-money → src/ui.form-input-money}/configs/default.config.js +0 -0
  223. /package/{ui.form-input-money → src/ui.form-input-money}/constants/index.js +0 -0
  224. /package/{ui.form-input-money → src/ui.form-input-money}/index.stories.js +0 -0
  225. /package/{ui.form-input-money → src/ui.form-input-money}/index.vue +0 -0
  226. /package/{ui.form-input-money → src/ui.form-input-money}/services/format.service.js +0 -0
  227. /package/{ui.form-input-number → src/ui.form-input-number}/Docs.mdx +0 -0
  228. /package/{ui.form-input-number → src/ui.form-input-number}/composables/attrs.composable.js +0 -0
  229. /package/{ui.form-input-number → src/ui.form-input-number}/configs/default.config.js +0 -0
  230. /package/{ui.form-input-number → src/ui.form-input-number}/constants/index.js +0 -0
  231. /package/{ui.form-input-number → src/ui.form-input-number}/index.stories.js +0 -0
  232. /package/{ui.form-input-number → src/ui.form-input-number}/index.vue +0 -0
  233. /package/{ui.form-input-rating → src/ui.form-input-rating}/composables/attrs.composable.js +0 -0
  234. /package/{ui.form-input-rating → src/ui.form-input-rating}/configs/default.config.js +0 -0
  235. /package/{ui.form-input-rating → src/ui.form-input-rating}/constants/index.js +0 -0
  236. /package/{ui.form-input-rating → src/ui.form-input-rating}/index.stories.js +0 -0
  237. /package/{ui.form-input-rating → src/ui.form-input-rating}/index.vue +0 -0
  238. /package/{ui.form-input-search → src/ui.form-input-search}/composables/attrs.composable.js +0 -0
  239. /package/{ui.form-input-search → src/ui.form-input-search}/configs/default.config.js +0 -0
  240. /package/{ui.form-input-search → src/ui.form-input-search}/constants/index.js +0 -0
  241. /package/{ui.form-input-search → src/ui.form-input-search}/index.stories.js +0 -0
  242. /package/{ui.form-input-search → src/ui.form-input-search}/index.vue +0 -0
  243. /package/{ui.form-label → src/ui.form-label}/Docs.mdx +0 -0
  244. /package/{ui.form-label → src/ui.form-label}/composables/attrs.composable.js +0 -0
  245. /package/{ui.form-label → src/ui.form-label}/configs/default.config.js +0 -0
  246. /package/{ui.form-label → src/ui.form-label}/constants/index.js +0 -0
  247. /package/{ui.form-label → src/ui.form-label}/index.stories.js +0 -0
  248. /package/{ui.form-label → src/ui.form-label}/index.vue +0 -0
  249. /package/{ui.form-radio → src/ui.form-radio}/Docs.mdx +0 -0
  250. /package/{ui.form-radio → src/ui.form-radio}/composables/attrs.composable.js +0 -0
  251. /package/{ui.form-radio → src/ui.form-radio}/configs/default.config.js +0 -0
  252. /package/{ui.form-radio → src/ui.form-radio}/constants/index.js +0 -0
  253. /package/{ui.form-radio → src/ui.form-radio}/index.stories.js +0 -0
  254. /package/{ui.form-radio → src/ui.form-radio}/index.vue +0 -0
  255. /package/{ui.form-radio-card → src/ui.form-radio-card}/Docs.mdx +0 -0
  256. /package/{ui.form-radio-card → src/ui.form-radio-card}/composables/attrs.composable.js +0 -0
  257. /package/{ui.form-radio-card → src/ui.form-radio-card}/configs/default.config.js +0 -0
  258. /package/{ui.form-radio-card → src/ui.form-radio-card}/constants/index.js +0 -0
  259. /package/{ui.form-radio-card → src/ui.form-radio-card}/index.stories.js +0 -0
  260. /package/{ui.form-radio-card → src/ui.form-radio-card}/index.vue +0 -0
  261. /package/{ui.form-radio-card → src/ui.form-radio-card}/services/variant.service.js +0 -0
  262. /package/{ui.form-radio-group → src/ui.form-radio-group}/Docs.mdx +0 -0
  263. /package/{ui.form-radio-group → src/ui.form-radio-group}/composables/attrs.composable.js +0 -0
  264. /package/{ui.form-radio-group → src/ui.form-radio-group}/configs/default.config.js +0 -0
  265. /package/{ui.form-radio-group → src/ui.form-radio-group}/constants/index.js +0 -0
  266. /package/{ui.form-radio-group → src/ui.form-radio-group}/index.stories.js +0 -0
  267. /package/{ui.form-radio-group → src/ui.form-radio-group}/index.vue +0 -0
  268. /package/{ui.form-select → src/ui.form-select}/Docs.mdx +0 -0
  269. /package/{ui.form-select → src/ui.form-select}/composables/attrs.composable.js +0 -0
  270. /package/{ui.form-select → src/ui.form-select}/configs/default.config.js +0 -0
  271. /package/{ui.form-select → src/ui.form-select}/constants/index.js +0 -0
  272. /package/{ui.form-select → src/ui.form-select}/index.stories.js +0 -0
  273. /package/{ui.form-select → src/ui.form-select}/index.vue +0 -0
  274. /package/{ui.form-select → src/ui.form-select}/services/select.service.js +0 -0
  275. /package/{ui.form-switch → src/ui.form-switch}/composables/attrs.composable.js +0 -0
  276. /package/{ui.form-switch → src/ui.form-switch}/configs/default.config.js +0 -0
  277. /package/{ui.form-switch → src/ui.form-switch}/constants/index.js +0 -0
  278. /package/{ui.form-switch → src/ui.form-switch}/index.stories.js +0 -0
  279. /package/{ui.form-switch → src/ui.form-switch}/index.vue +0 -0
  280. /package/{ui.form-switch → src/ui.form-switch}/services/variant.service.js +0 -0
  281. /package/{ui.form-textarea → src/ui.form-textarea}/Docs.mdx +0 -0
  282. /package/{ui.form-textarea → src/ui.form-textarea}/composables/attrs.composable.js +0 -0
  283. /package/{ui.form-textarea → src/ui.form-textarea}/configs/default.config.js +0 -0
  284. /package/{ui.form-textarea → src/ui.form-textarea}/constants/index.js +0 -0
  285. /package/{ui.form-textarea → src/ui.form-textarea}/index.stories.js +0 -0
  286. /package/{ui.form-textarea → src/ui.form-textarea}/index.vue +0 -0
  287. /package/{ui.image-avatar → src/ui.image-avatar}/composables/attrs.composable.js +0 -0
  288. /package/{ui.image-avatar → src/ui.image-avatar}/configs/default.config.js +0 -0
  289. /package/{ui.image-avatar → src/ui.image-avatar}/constants/index.js +0 -0
  290. /package/{ui.image-avatar → src/ui.image-avatar}/default-avatar.png +0 -0
  291. /package/{ui.image-avatar → src/ui.image-avatar}/index.stories.js +0 -0
  292. /package/{ui.image-avatar → src/ui.image-avatar}/index.vue +0 -0
  293. /package/{ui.image-icon → src/ui.image-icon}/Docs.mdx +0 -0
  294. /package/{ui.image-icon → src/ui.image-icon}/composables/attrs.composable.js +0 -0
  295. /package/{ui.image-icon → src/ui.image-icon}/configs/default.config.js +0 -0
  296. /package/{ui.image-icon → src/ui.image-icon}/constants/index.js +0 -0
  297. /package/{ui.image-icon → src/ui.image-icon}/index.stories.js +0 -0
  298. /package/{ui.image-icon → src/ui.image-icon}/index.vue +0 -0
  299. /package/{ui.image-logo → src/ui.image-logo}/composables/attrs.composable.js +0 -0
  300. /package/{ui.image-logo → src/ui.image-logo}/configs/default.config.js +0 -0
  301. /package/{ui.image-logo → src/ui.image-logo}/constants/index.js +0 -0
  302. /package/{ui.image-logo → src/ui.image-logo}/index.stories.js +0 -0
  303. /package/{ui.image-logo → src/ui.image-logo}/index.vue +0 -0
  304. /package/{ui.loader-rendering → src/ui.loader-rendering}/index.vue +0 -0
  305. /package/{ui.loader-rendering → src/ui.loader-rendering}/store/index.js +0 -0
  306. /package/{ui.navigation-pagination → src/ui.navigation-pagination}/composables/attrs.composable.js +0 -0
  307. /package/{ui.navigation-pagination → src/ui.navigation-pagination}/configs/default.config.js +0 -0
  308. /package/{ui.navigation-pagination → src/ui.navigation-pagination}/constants/index.js +0 -0
  309. /package/{ui.navigation-pagination → src/ui.navigation-pagination}/index.stories.js +0 -0
  310. /package/{ui.navigation-pagination → src/ui.navigation-pagination}/index.vue +0 -0
  311. /package/{ui.navigation-stepper → src/ui.navigation-stepper}/composables/attrs.composable.js +0 -0
  312. /package/{ui.navigation-stepper → src/ui.navigation-stepper}/configs/default.config.js +0 -0
  313. /package/{ui.navigation-stepper → src/ui.navigation-stepper}/constants/index.js +0 -0
  314. /package/{ui.navigation-stepper → src/ui.navigation-stepper}/index.stories.js +0 -0
  315. /package/{ui.navigation-stepper → src/ui.navigation-stepper}/index.vue +0 -0
  316. /package/{ui.navigation-tab → src/ui.navigation-tab}/composables/attrs.composable.js +0 -0
  317. /package/{ui.navigation-tab → src/ui.navigation-tab}/configs/default.config.js +0 -0
  318. /package/{ui.navigation-tab → src/ui.navigation-tab}/constants/index.js +0 -0
  319. /package/{ui.navigation-tab → src/ui.navigation-tab}/index.stories.js +0 -0
  320. /package/{ui.navigation-tab → src/ui.navigation-tab}/index.vue +0 -0
  321. /package/{ui.navigation-tabs → src/ui.navigation-tabs}/composables/attrs.composable.js +0 -0
  322. /package/{ui.navigation-tabs → src/ui.navigation-tabs}/configs/default.config.js +0 -0
  323. /package/{ui.navigation-tabs → src/ui.navigation-tabs}/constants/index.js +0 -0
  324. /package/{ui.navigation-tabs → src/ui.navigation-tabs}/index.stories.js +0 -0
  325. /package/{ui.navigation-tabs → src/ui.navigation-tabs}/index.vue +0 -0
  326. /package/{ui.notify → src/ui.notify}/index.sto_ries.js +0 -0
  327. /package/{ui.notify → src/ui.notify}/index.vue +0 -0
  328. /package/{ui.notify → src/ui.notify}/services/index.js +0 -0
  329. /package/{ui.other-dot → src/ui.other-dot}/composables/attrs.composable.js +0 -0
  330. /package/{ui.other-dot → src/ui.other-dot}/configs/default.config.js +0 -0
  331. /package/{ui.other-dot → src/ui.other-dot}/constants/index.js +0 -0
  332. /package/{ui.other-dot → src/ui.other-dot}/index.stories.js +0 -0
  333. /package/{ui.other-dot → src/ui.other-dot}/index.vue +0 -0
  334. /package/{ui.other-loader → src/ui.other-loader}/composables/attrs.composable.js +0 -0
  335. /package/{ui.other-loader → src/ui.other-loader}/configs/default.config.js +0 -0
  336. /package/{ui.other-loader → src/ui.other-loader}/constants/index.js +0 -0
  337. /package/{ui.other-loader → src/ui.other-loader}/index.stories.js +0 -0
  338. /package/{ui.other-loader → src/ui.other-loader}/index.vue +0 -0
  339. /package/{ui.other-loader-top → src/ui.other-loader-top}/composables/attrs.composable.js +0 -0
  340. /package/{ui.other-loader-top → src/ui.other-loader-top}/configs/default.config.js +0 -0
  341. /package/{ui.other-loader-top → src/ui.other-loader-top}/constants/index.js +0 -0
  342. /package/{ui.other-loader-top → src/ui.other-loader-top}/index.vue +0 -0
  343. /package/{ui.other-loader-top → src/ui.other-loader-top}/services/loaderTop.service.js +0 -0
  344. /package/{ui.other-loader-top → src/ui.other-loader-top}/store/index.js +0 -0
  345. /package/{ui.text-alert → src/ui.text-alert}/composables/attrs.composable.js +0 -0
  346. /package/{ui.text-alert → src/ui.text-alert}/configs/default.config.js +0 -0
  347. /package/{ui.text-alert → src/ui.text-alert}/constatns/index.js +0 -0
  348. /package/{ui.text-alert → src/ui.text-alert}/index.stories.js +0 -0
  349. /package/{ui.text-alert → src/ui.text-alert}/index.vue +0 -0
  350. /package/{ui.text-badge → src/ui.text-badge}/Docs.mdx +0 -0
  351. /package/{ui.text-badge → src/ui.text-badge}/composables/attrs.composable.js +0 -0
  352. /package/{ui.text-badge → src/ui.text-badge}/configs/default.config.js +0 -0
  353. /package/{ui.text-badge → src/ui.text-badge}/constants/index.js +0 -0
  354. /package/{ui.text-badge → src/ui.text-badge}/index.stories.js +0 -0
  355. /package/{ui.text-badge → src/ui.text-badge}/index.vue +0 -0
  356. /package/{ui.text-block → src/ui.text-block}/composables/attrs.composable.js +0 -0
  357. /package/{ui.text-block → src/ui.text-block}/configs/default.config.js +0 -0
  358. /package/{ui.text-block → src/ui.text-block}/constatns/index.js +0 -0
  359. /package/{ui.text-block → src/ui.text-block}/index.stories.js +0 -0
  360. /package/{ui.text-block → src/ui.text-block}/index.vue +0 -0
  361. /package/{ui.text-empty → src/ui.text-empty}/Docs.mdx +0 -0
  362. /package/{ui.text-empty → src/ui.text-empty}/composables/attrs.composable.js +0 -0
  363. /package/{ui.text-empty → src/ui.text-empty}/configs/default.config.js +0 -0
  364. /package/{ui.text-empty → src/ui.text-empty}/constants/index.js +0 -0
  365. /package/{ui.text-empty → src/ui.text-empty}/index.stories.js +0 -0
  366. /package/{ui.text-empty → src/ui.text-empty}/index.vue +0 -0
  367. /package/{ui.text-file → src/ui.text-file}/composables/attrs.composable.js +0 -0
  368. /package/{ui.text-file → src/ui.text-file}/configs/default.config.js +0 -0
  369. /package/{ui.text-file → src/ui.text-file}/index.stories.js +0 -0
  370. /package/{ui.text-file → src/ui.text-file}/index.vue +0 -0
  371. /package/{ui.text-files → src/ui.text-files}/composables/attrs.composable.js +0 -0
  372. /package/{ui.text-files → src/ui.text-files}/configs/default.config.js +0 -0
  373. /package/{ui.text-files → src/ui.text-files}/constants/index.js +0 -0
  374. /package/{ui.text-files → src/ui.text-files}/index.stories.js +0 -0
  375. /package/{ui.text-files → src/ui.text-files}/index.vue +0 -0
  376. /package/{ui.text-header → src/ui.text-header}/Docs.mdx +0 -0
  377. /package/{ui.text-header → src/ui.text-header}/composables/attrs.composable.js +0 -0
  378. /package/{ui.text-header → src/ui.text-header}/configs/default.config.js +0 -0
  379. /package/{ui.text-header → src/ui.text-header}/constants/index.js +0 -0
  380. /package/{ui.text-header → src/ui.text-header}/index.stories.js +0 -0
  381. /package/{ui.text-header → src/ui.text-header}/index.vue +0 -0
  382. /package/{ui.text-money → src/ui.text-money}/Docs.mdx +0 -0
  383. /package/{ui.text-money → src/ui.text-money}/assets/credit.svg +0 -0
  384. /package/{ui.text-money → src/ui.text-money}/assets/debit.svg +0 -0
  385. /package/{ui.text-money → src/ui.text-money}/composables/attrs.composable.js +0 -0
  386. /package/{ui.text-money → src/ui.text-money}/configs/default.config.js +0 -0
  387. /package/{ui.text-money → src/ui.text-money}/constants/index.js +0 -0
  388. /package/{ui.text-money → src/ui.text-money}/index.stories.js +0 -0
  389. /package/{ui.text-money → src/ui.text-money}/index.vue +0 -0
  390. /package/{ui.text-money → src/ui.text-money}/services/money.services.js +0 -0
  391. /package/{ui.viewport → src/ui.viewport}/index.vue +0 -0
  392. /package/{ui.viewport → src/ui.viewport}/store/index.js +0 -0
@@ -0,0 +1,4 @@
1
+ > 1%
2
+ last 2 versions
3
+ not dead
4
+ not ie 11
package/.editorconfig ADDED
@@ -0,0 +1,12 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ end_of_line = lf
6
+ insert_final_newline = true
7
+ indent_style = space
8
+ indent_size = 2
9
+ trim_trailing_whitespace = true
10
+
11
+ [*.md]
12
+ trim_trailing_whitespace = false
package/.eslintignore ADDED
@@ -0,0 +1,6 @@
1
+ /node_modules
2
+ /dist
3
+ /storybook-static
4
+
5
+ # allow to format hidden folders
6
+ !/.storybook
package/.eslintrc.cjs ADDED
@@ -0,0 +1,66 @@
1
+ module.exports = {
2
+ root: true,
3
+ env: {
4
+ node: true,
5
+ browser: true,
6
+ es2020: true,
7
+ },
8
+ plugins: ["tailwindcss"],
9
+ extends: [
10
+ "eslint:recommended",
11
+ "plugin:vue/vue3-recommended",
12
+ "@vue/prettier",
13
+ "plugin:prettier/recommended",
14
+ "plugin:tailwindcss/recommended",
15
+ ],
16
+ rules: {
17
+ "no-console": process.env.PROD ? "error" : "warn",
18
+ "no-debugger": process.env.PROD ? "error" : "warn",
19
+ "arrow-parens": ["error", "always"],
20
+ curly: ["error", "multi-line"],
21
+ "padding-line-between-statements": [
22
+ "error",
23
+ { blankLine: "always", prev: ["const", "let", "var"], next: "*" },
24
+ { blankLine: "any", prev: ["const", "let", "var"], next: ["const", "let", "var"] },
25
+ { blankLine: "always", prev: "directive", next: "*" },
26
+ { blankLine: "any", prev: "directive", next: "directive" },
27
+ { blankLine: "always", prev: "block-like", next: "*" },
28
+ { blankLine: "always", prev: "*", next: "block-like" },
29
+ { blankLine: "always", prev: "*", next: "return" },
30
+ ],
31
+ "vue/multi-word-component-names": [
32
+ "error",
33
+ { ignores: ["index", "Component", "Modal", "Page"] },
34
+ ],
35
+ "vue/max-len": ["error", { code: 120, template: 960, ignoreComments: true, ignoreUrls: true }],
36
+ "vue/padding-line-between-blocks": ["error", "always"],
37
+ "vue/v-on-event-hyphenation": ["error", "never"],
38
+ "vue/no-v-html": "off",
39
+ "tailwindcss/no-custom-classname": "off",
40
+ "prettier/prettier": ["warn", { printWidth: 100, tabWidth: 2 }],
41
+ },
42
+ overrides: [
43
+ {
44
+ files: ["src/**/default.config.{js,ts}"],
45
+ rules: {
46
+ "vue/max-len": ["error", { code: 140 }],
47
+ "prettier/prettier": ["warn", { printWidth: 120, tabWidth: 2 }],
48
+ },
49
+ },
50
+ {
51
+ files: [".storybook/preview.{js,ts}"],
52
+ rules: {
53
+ "vue/max-len": ["error", { code: 280 }],
54
+ "prettier/prettier": ["warn", { printWidth: 280, tabWidth: 2 }],
55
+ },
56
+ },
57
+ {
58
+ files: ["**/*.{stories}.{js,ts,jsx,tsx}"],
59
+ extends: ["plugin:storybook/recommended"],
60
+ },
61
+ ],
62
+ parserOptions: {
63
+ ecmaVersion: "latest",
64
+ module: "esnext",
65
+ },
66
+ };
@@ -0,0 +1,20 @@
1
+ import vuelessDocsTheme from "../themes/vueless.docs.theme";
2
+ import colors from "tailwindcss/colors.js";
3
+
4
+ export const docs = {
5
+ theme: vuelessDocsTheme,
6
+ source: {
7
+ language: "html",
8
+ },
9
+ };
10
+
11
+ export const backgrounds = {
12
+ default: "white",
13
+ values: [
14
+ { name: "white", value: colors.white },
15
+ { name: "light", value: colors.gray[50] },
16
+ { name: "dark", value: colors.gray[900] },
17
+ ],
18
+ };
19
+
20
+ export const layout = "fullscreen";
@@ -0,0 +1,119 @@
1
+ import { addons, makeDecorator } from "@storybook/preview-api";
2
+ import { h, onMounted, watch } from "vue";
3
+ import { setBrandColor } from "vueless/service.ui";
4
+
5
+ export const vue3SourceDecorator = makeDecorator({
6
+ name: "vue3SourceDecorator",
7
+ wrapper: (storyFn, context) => {
8
+ const story = storyFn(context);
9
+
10
+ // this returns a new component that computes the source code when mounted
11
+ // and emits an events that is handled by addons-docs
12
+ // watch args and re-emit on change
13
+ return {
14
+ components: { story },
15
+ setup() {
16
+ onMounted(() => {
17
+ setSourceCode();
18
+ });
19
+
20
+ watch(context.args, () => {
21
+ setSourceCode();
22
+ });
23
+
24
+ setBrandColor();
25
+
26
+ function setSourceCode() {
27
+ try {
28
+ const src = context.originalStoryFn(context.args).template;
29
+ const code = templateSourceCode(src, context.args, context.argTypes);
30
+ const channel = addons.getChannel();
31
+
32
+ const emitFormattedTemplate = async () => {
33
+ const prettier = await import("prettier2");
34
+ const prettierHtml = await import("prettier2/parser-html");
35
+
36
+ const formattedCode = prettier.format(code, {
37
+ parser: "html",
38
+ plugins: [prettierHtml],
39
+ htmlWhitespaceSensitivity: "ignore",
40
+ });
41
+
42
+ // emits an event when the transformation is completed
43
+ channel.emit("storybook/docs/snippet-rendered", {
44
+ id: context.id,
45
+ args: context.args,
46
+ source: formattedCode,
47
+ });
48
+ };
49
+
50
+ emitFormattedTemplate();
51
+ } catch (e) {
52
+ // eslint-disable-next-line no-console
53
+ console.warn("Failed to render code", e);
54
+ }
55
+ }
56
+
57
+ return () => h("div", { style: `padding: 2rem 1.5rem 3rem 1.5rem;` }, [h(story)]);
58
+ },
59
+ };
60
+ },
61
+ });
62
+
63
+ function templateSourceCode(templateSource, args, argTypes) {
64
+ const componentArgs = {};
65
+
66
+ for (const [key, val] of Object.entries(argTypes)) {
67
+ const value = args[key];
68
+
69
+ if (
70
+ typeof val !== "undefined" &&
71
+ val.table &&
72
+ val.table.category === "props" &&
73
+ value !== val.defaultValue
74
+ ) {
75
+ componentArgs[key] = val;
76
+ }
77
+ }
78
+
79
+ const slotTemplateCode =
80
+ // eslint-disable-next-line vue/max-len
81
+ '<template v-for="(slot, index) of slots" :key="index" v-slot:[slot]><template v-if="args[slot]">{{ args[slot] }}</template></template>';
82
+ const templateDefaultRegEx = /<template #default>([\s\S]*?)<\/template>/g;
83
+
84
+ return templateSource
85
+ .replace(/>[\s]+</g, "><")
86
+ .trim()
87
+ .replace(slotTemplateCode, "")
88
+ .replace(templateDefaultRegEx, "$1")
89
+ .replace(
90
+ 'v-bind="args"',
91
+ Object.keys(componentArgs)
92
+ .map((key) => " " + propToSource(kebabCase(key), args[key]))
93
+ .join(""),
94
+ );
95
+ }
96
+
97
+ function propToSource(key, val) {
98
+ const type = typeof val;
99
+
100
+ switch (type) {
101
+ case "boolean":
102
+ return val ? key : "";
103
+ case "string":
104
+ return `${key}="${val}"`;
105
+ default:
106
+ return `:${key}="${val}"`;
107
+ }
108
+ }
109
+
110
+ function kebabCase(str) {
111
+ return str
112
+ .split("")
113
+ .map((letter, idx) => {
114
+ return letter.toUpperCase() === letter
115
+ ? `${idx !== 0 ? "-" : ""}${letter.toLowerCase()}`
116
+ : letter;
117
+ })
118
+ .join("");
119
+ }
@@ -0,0 +1,3 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
@@ -0,0 +1,20 @@
1
+ /** @type { import('@storybook/vue3-vite').StorybookConfig } */
2
+ export default {
3
+ stories: ["../src/**/*.stories.@(js|jsx|ts|tsx)", "../src/**/*.@(mdx)"],
4
+ addons: [
5
+ "@storybook/addon-links",
6
+ "@storybook/addon-essentials",
7
+ "@storybook/addon-interactions",
8
+ ],
9
+ framework: {
10
+ name: "@storybook/vue3-vite",
11
+ options: {},
12
+ },
13
+ docs: {
14
+ autodocs: true,
15
+ },
16
+ env: (config) => ({
17
+ ...config,
18
+ BASE_URL: "/",
19
+ }),
20
+ };
@@ -0,0 +1,10 @@
1
+ <!--
2
+ Overrides content of storybook layout HTML page <head> tag,
3
+ -->
4
+
5
+ <!-- Styles overriding -->
6
+ <style>
7
+ div[data-testid="tooltip"] a[id]:hover {
8
+ background-color: rgb(17 24 39 / 5%) !important;
9
+ }
10
+ </style>
@@ -0,0 +1,6 @@
1
+ import { addons } from "@storybook/manager-api";
2
+ import vuelessTheme from "./themes/vueless.theme";
3
+
4
+ addons.setConfig({
5
+ theme: vuelessTheme,
6
+ });
@@ -0,0 +1,72 @@
1
+ <!--
2
+ Overrides content of preview IFRAME HTML page's <head> tag,
3
+ affecting rendered component(s) below Canvas and Docs tabs.
4
+ -->
5
+ <!-- Fonts overriding -->
6
+ <link rel="dns-prefetch" href="https://fonts.googleapis.com">
7
+ <link rel="dns-prefetch" href="https://fonts.gstatic.com">
8
+ <link rel="preconnect" crossorigin="anonymous" href="https://fonts.googleapis.com">
9
+ <link rel="preconnect" crossorigin="anonymous" href="https://fonts.gstatic.com">
10
+ <link rel="stylesheet" crossorigin="anonymous" href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap">
11
+
12
+ <!-- Styles overriding -->
13
+ <style>
14
+ body {
15
+ font-family: Roboto, sans-serif;
16
+ }
17
+
18
+ #storybook-docs h2 {
19
+ margin-top: 32px !important;
20
+ margin-bottom: 24px !important;
21
+ padding-bottom: 8px !important;
22
+ font-weight: bold !important;
23
+ }
24
+
25
+ .docblock-argstable-body {
26
+ filter: none !important;
27
+ border-radius: 0.5rem !important;
28
+ }
29
+
30
+ .docblock-argstable-body tr:not([title]) > td {
31
+ background-color: white !important;
32
+ }
33
+
34
+ .docblock-argstable-body tr td {
35
+ border-radius: 0 !important;
36
+ }
37
+
38
+ .sbdocs-preview {
39
+ box-shadow: none !important;
40
+ }
41
+
42
+ .docblock-argstable [type='checkbox']:checked,
43
+ .docblock-argstable [type='radio']:checked {
44
+ background-color: rgb(17 24 39) !important;
45
+ }
46
+
47
+ .docblock-argstable [type='checkbox']:focus,
48
+ .docblock-argstable [type='radio']:focus {
49
+ @apply !ring-gray-300;
50
+ }
51
+
52
+ .markdown {
53
+ .docblock-source {
54
+ margin: 0px 0 24px !important;
55
+ }
56
+
57
+ code {
58
+ background-color: #f3f4f6 !important;
59
+ border-color: #d1d5db !important;
60
+ }
61
+
62
+ .sbdocs-a {
63
+ border-bottom: dashed 1px #4b5563;
64
+ color: #4b5563;
65
+ }
66
+
67
+ .sbdocs-a:hover {
68
+ border-bottom: none;
69
+ color: #4b5563;
70
+ }
71
+ }
72
+ </style>
@@ -0,0 +1,42 @@
1
+ import { setup } from "@storybook/vue3";
2
+ import { backgrounds, docs, layout } from "./configs/main.config";
3
+ import { vue3SourceDecorator } from "./decorators/vue3SourceDecorator";
4
+
5
+ // Vue plugins
6
+ import { createStore } from "vuex";
7
+ import NotifyServiceDefault from "vueless/ui.notify/services";
8
+
9
+ // Tailwind styles
10
+ import "./index.pcss";
11
+
12
+ // Common stores
13
+ import loader from "vueless/ui.loader-rendering/store";
14
+ import loaderTop from "vueless/ui.other-loader-top/store";
15
+ import breakpoint from "vueless/ui.viewport/store";
16
+
17
+ // Create store instance
18
+ const store = createStore({
19
+ modules: { loader, loaderTop, breakpoint },
20
+ });
21
+
22
+ // Create storybook app instance
23
+ const storybookApp = (app) => {
24
+ app.use(store);
25
+ app.use(new NotifyServiceDefault().notifyInstance);
26
+ };
27
+
28
+ // Setup storybook
29
+ setup(storybookApp);
30
+
31
+ // Set storybook config
32
+ export default {
33
+ decorators: [vue3SourceDecorator],
34
+ parameters: {
35
+ layout,
36
+ docs,
37
+ backgrounds,
38
+ options: {
39
+ storySort: (a, b) => (a.id === b.id ? 0 : a.name === "Docs" && a.id.localeCompare(b.id, undefined, { numeric: true })),
40
+ },
41
+ },
42
+ };
@@ -0,0 +1,41 @@
1
+ import { create } from "@storybook/theming/create";
2
+ import colors from "tailwindcss/colors.js";
3
+
4
+ export default create({
5
+ base: "light",
6
+ // Typography
7
+ fontBase: '"Roboto", sans-serif',
8
+ fontCode: "monospace",
9
+
10
+ // Main colors
11
+ colorPrimary: colors.gray["900"],
12
+ colorSecondary: colors.gray["500"],
13
+
14
+ // UI
15
+ appBg: colors.gray["100"],
16
+ appPreviewBg: colors.gray["50"],
17
+ appBorderColor: colors.gray["200"],
18
+ appContentBg: colors.gray["50"],
19
+ appBorderRadius: 8,
20
+
21
+ // Text colors
22
+ textColor: colors.gray["900"],
23
+ textInverseColor: colors.gray["50"],
24
+
25
+ // Toolbar default and active colors
26
+ barTextColor: colors.gray["500"],
27
+ barHoverColor: colors.gray["600"],
28
+ barSelectedColor: colors.gray["700"],
29
+ barBg: colors.white,
30
+
31
+ // Form colors
32
+ inputBg: colors.white,
33
+ inputBorder: colors.gray["300"],
34
+ inputTextColor: colors.gray["900"],
35
+ inputBorderRadius: 4,
36
+
37
+ buttonBg: colors.gray["100"],
38
+ buttonBorder: colors.gray["200"],
39
+ booleanBg: colors.gray["50"],
40
+ booleanSelectedBg: colors.gray["200"],
41
+ });
@@ -0,0 +1,45 @@
1
+ import { create } from "@storybook/theming/create";
2
+ import colors from "tailwindcss/colors.js";
3
+
4
+ export default create({
5
+ base: "light",
6
+ // Typography
7
+ fontBase: '"Roboto", sans-serif',
8
+ fontCode: "monospace",
9
+
10
+ brandTitle: "Vueless UI",
11
+ brandUrl: "https://vueless.com",
12
+ brandImage: "/images/logo.png",
13
+ brandTarget: "_blank",
14
+
15
+ // Main colors
16
+ colorPrimary: colors.gray["900"],
17
+ colorSecondary: colors.gray["500"],
18
+
19
+ // UI
20
+ appBg: colors.white,
21
+ appPreviewBg: colors.gray["50"],
22
+ appBorderColor: colors.gray["300"],
23
+ appBorderRadius: 0,
24
+
25
+ // Text colors
26
+ textColor: colors.gray["900"],
27
+ textInverseColor: colors.gray["50"],
28
+
29
+ // Toolbar default and active colors
30
+ barTextColor: colors.gray["500"],
31
+ barHoverColor: colors.gray["600"],
32
+ barSelectedColor: colors.gray["700"],
33
+ barBg: colors.gray["50"],
34
+
35
+ // Form colors
36
+ inputBg: colors.white,
37
+ inputBorder: colors.gray["300"],
38
+ inputTextColor: colors.gray["900"],
39
+ inputBorderRadius: 4,
40
+
41
+ buttonBg: colors.gray["100"],
42
+ buttonBorder: colors.gray["100"],
43
+ booleanBg: colors.white,
44
+ booleanSelectedBg: colors.gray["100"],
45
+ });
package/docs/README.md ADDED
@@ -0,0 +1,64 @@
1
+ # Quick Start
2
+
3
+ 1\. Install `vueless` UI library packages.
4
+
5
+ {% tabs %}
6
+ {% tab title="npm" %}
7
+ ```bash
8
+ npm install vueless @vueless/plugin-vite
9
+ ```
10
+ {% endtab %}
11
+
12
+ {% tab title="yarn" %}
13
+ ```bash
14
+ yarn add vueless @vueless/plugin-vite
15
+ ```
16
+ {% endtab %}
17
+
18
+ {% tab title="pnpm" %}
19
+ ```bash
20
+ pnpm add vueless @vueless/plugin-vite
21
+ ```
22
+ {% endtab %}
23
+ {% endtabs %}
24
+
25
+ 2\. Create `vueless.config.js` at the root of the project.
26
+
27
+ {% code title="vueless.config.js" %}
28
+ ```javascript
29
+ export default {
30
+ color: {},
31
+ component: {},
32
+ };
33
+ ```
34
+ {% endcode %}
35
+
36
+ 3\. Add TailwindCSS preset.
37
+
38
+ <pre class="language-javascript" data-title="tailwind.config.js"><code class="lang-javascript"><strong>import { vuelessPreset } from "vueless/preset.tailwind";
39
+ </strong>
40
+ export default {
41
+ presets: [vuelessPreset],
42
+ ...
43
+ };
44
+ </code></pre>
45
+
46
+ 4\. Add Vite plugins.
47
+
48
+ {% code title="vite.config.js" overflow="wrap" %}
49
+ ```javascript
50
+ import { Vueless, VuelessUnpluginComponents } from "@vueless/plugin-vite";
51
+
52
+ export default defineConfig({
53
+ plugins: [
54
+ ...
55
+ Vueless(),
56
+ VuelessUnpluginComponents(),
57
+ ],
58
+ ...
59
+ })
60
+ ```
61
+ {% endcode %}
62
+
63
+ That's it! You can use components in your app now ✨
64
+
@@ -0,0 +1,5 @@
1
+ # Table of contents
2
+
3
+ * [Quick Start](README.md)
4
+ * [Classes Autocompletion](classes-autocompletion.md)
5
+ * [Known issues](known-issues.md)
@@ -0,0 +1,67 @@
1
+ # Classes Autocompletion
2
+
3
+ ### IntelliSense
4
+
5
+ If you're using **VSCode** or **JetBrains** IDEs (WebStorm, PHPStorm, etc..) you can configure autocompletion for the classes.
6
+
7
+ **What you'll get:**
8
+
9
+ * Autocompletion on typing.
10
+ * Autocompletion on objects by prefixing them with `/*tw*/`
11
+ * Autocompletion when using the `config` prop.
12
+
13
+ **An example SFC using IntelliSense:**
14
+
15
+ ```jsx
16
+ <template>
17
+ <UCard :config="config" />
18
+ </template>
19
+
20
+ <script setup>
21
+ const config = /*tw*/ {
22
+ background: 'bg-white dark:bg-slate-900'
23
+ }
24
+ </script>
25
+ ```
26
+
27
+ ### VSCode
28
+
29
+ * Install [Tailwind CSS IntelliSense](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss) extension.
30
+ * Set the plugin configuration below in the file `.vscode/settings.json`.
31
+
32
+ ```json
33
+ {
34
+ "files.associations": {
35
+ "*.css": "tailwindcss"
36
+ },
37
+ "editor.quickSuggestions": {
38
+ "strings": true
39
+ },
40
+ "tailwindCSS.classAttributes": ["class", "config"],
41
+ "tailwindCSS.experimental.classRegex": [
42
+ ["config:\\s*{([^)]*)\\s*}", "[\"'`]([^\"'`]*).*?[\"'`]"],
43
+ ["/\\*tw\\*/\\s*{([^;]*)}", ":\\s*[\"'`]([^\"'`]*).*?[\"'`]"]
44
+ ]
45
+ }
46
+ ```
47
+
48
+ ### JetBrains IDEs
49
+
50
+ * Check if [Tailwind CSS IntelliSense](https://www.jetbrains.com/help/webstorm/tailwind-css.html) extension already installed in the IDE and install it if not.
51
+ * Set the plugin configuration below in `Settings` > `Languages & Frameworks` > `Style Sheets` > `Tailwind CSS`.
52
+
53
+ ```json
54
+ {
55
+ "includeLanguages": {
56
+ "javascript": "javascript"
57
+ },
58
+ "suggestions": true,
59
+ "classAttributes": ["class", "config"],
60
+ "experimental": {
61
+ "classRegex": [
62
+ ["config:\\s*{([^)]*)\\s*}", "[\"'`]([^\"'`]*).*?[\"'`]"],
63
+ ["/\\*tw\\*/\\s*{([^;]*)}", ":\\s*[\"'`]([^\"'`]*).*?[\"'`]"]
64
+ ]
65
+ }
66
+ }
67
+ ```
@@ -0,0 +1,14 @@
1
+ # Known issues
2
+
3
+ ### SyntaxError: Unexpected token 'export'
4
+
5
+ ```bash
6
+ /[root dir path]/vueless.config.js:6
7
+ export default {
8
+ ^^^^^^
9
+
10
+ SyntaxError: Unexpected token 'export'
11
+ ...
12
+ ```
13
+
14
+ **Solution:** add `"type": "module"` in your project `package.json`
package/index.pcss ADDED
@@ -0,0 +1,3 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
package/jsconfig.json ADDED
@@ -0,0 +1,11 @@
1
+ // https://code.visualstudio.com/docs/languages/jsconfig#_what-is-jsconfigjson
2
+ {
3
+ "compilerOptions": {
4
+ "baseUrl": ".",
5
+ "paths": {
6
+ "../web-types.json": ["../../web-types.json"],
7
+ "../../../vueless.config.js": ["../../vueless.config.js"],
8
+ "vueless": ["./src/*"]
9
+ }
10
+ }
11
+ }