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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vueless",
3
- "version": "0.0.16",
3
+ "version": "0.0.17",
4
4
  "license": "MIT",
5
5
  "description": "Vue Styleless Component Framework.",
6
6
  "homepage": "https://vueless.com",
@@ -19,7 +19,7 @@
19
19
  "sb:build": "STORYBOOK_VUELESS_ENV=1 storybook build",
20
20
  "sb:preview": "vite preview --host --outDir=storybook-static",
21
21
  "vueless:update": "yarn add -D file:../vite-plugin-vueless file:../vueless-storybook",
22
- "vueless:prepare": "node .web-types-gen && rm -rf dist && mkdir -p dist && cp -r src/* package.json LICENSE web-types.json README.md dist/"
22
+ "vueless:prepare": "node src/gen.web-types && rm -rf dist && mkdir -p dist && cp -r src/* package.json LICENSE web-types.json README.md dist/"
23
23
  },
24
24
  "dependencies": {
25
25
  "@kyvg/vue3-notification": "^3.2.1",
@@ -40,8 +40,8 @@
40
40
  "@vitejs/plugin-vue": "^5.0.4",
41
41
  "@vue/compiler-sfc": "^3.4.19",
42
42
  "@vue/eslint-config-prettier": "^9.0.0",
43
- "@vueless/storybook": "file:../vueless-storybook",
44
- "@vueless/vite-plugin": "file:../vite-plugin-vueless",
43
+ "@vueless/plugin-vite": "^0.0.1",
44
+ "@vueless/storybook": "^0.0.8",
45
45
  "autoprefixer": "^10.4.19",
46
46
  "cssnano": "^6.1.2",
47
47
  "eslint": "^8.55.0",
@@ -54,11 +54,14 @@
54
54
  "postcss": "^8.4.7",
55
55
  "prettier": "^3.1.0",
56
56
  "prettier-eslint": "^16.3.0",
57
- "vite": "^5.1.1",
57
+ "vite": "^5.2.10",
58
58
  "vite-plugin-compression": "^0.5.1",
59
59
  "vite-plugin-eslint": "^1.8.1",
60
60
  "vue": "^3.4.19"
61
61
  },
62
+ "resolutions": {
63
+ "jackspeak": "2.1.1"
64
+ },
62
65
  "repository": {
63
66
  "type": "git",
64
67
  "url": "git+https://github.com/vuelessjs/vueless.git"
@@ -0,0 +1,9 @@
1
+ export default {
2
+ plugins: {
3
+ "postcss-import": {},
4
+ "tailwindcss/nesting": {},
5
+ tailwindcss: {},
6
+ autoprefixer: {},
7
+ ...(process.env.NODE_ENV === "production" ? { cssnano: {} } : {}),
8
+ },
9
+ };
Binary file
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ import minimist from "minimist";
3
+ import { extractConfig } from "./lib/config.js";
4
+ import build from "./lib/build.js";
5
+
6
+ const {
7
+ _: pathArray,
8
+ configFile,
9
+ watch,
10
+ cwd,
11
+ } = minimist(process.argv.slice(2), {
12
+ alias: { c: "configFile", w: "watch" },
13
+ });
14
+
15
+ const conf = await extractConfig(cwd || process.cwd(), watch, configFile, pathArray);
16
+
17
+ build(conf);
@@ -0,0 +1,254 @@
1
+ import path from "path";
2
+ import { globbySync } from "globby";
3
+ import * as chokidar from "chokidar";
4
+ import { parse } from "vue-docgen-api";
5
+ import * as fs from "fs";
6
+ import mkdirp from "mkdirp";
7
+ import _ from "lodash";
8
+ import merge from "lodash.merge";
9
+
10
+ export default async function build(config) {
11
+ config.componentsRoot = path.resolve(config.cwd, config.componentsRoot);
12
+ config.outFile = path.resolve(config.cwd, config.outFile);
13
+
14
+ // then create the watcher if necessary
15
+ const { watcher, componentFiles } = getSources(config.components, config.componentsRoot);
16
+
17
+ // eslint-disable-next-line no-console
18
+ console.log("Building web-types to " + config.outFile);
19
+
20
+ const cache = {};
21
+ const buildWebTypesBound = rebuild.bind(null, config, componentFiles, cache, watcher);
22
+
23
+ try {
24
+ await buildWebTypesBound();
25
+ } catch (e) {
26
+ // eslint-disable-next-line no-console
27
+ console.error("Error building web-types: " + e.message);
28
+ await watcher.close();
29
+
30
+ return;
31
+ }
32
+
33
+ if (config.watch) {
34
+ watcher
35
+ .on("add", buildWebTypesBound)
36
+ .on("change", buildWebTypesBound)
37
+ .on("unlink", async (filePath) => {
38
+ // eslint-disable-next-line no-console
39
+ console.log("Rebuilding on file removal " + filePath);
40
+ delete cache[filePath];
41
+ await writeDownWebTypesFile(config, Object.values(cache), config.outFile);
42
+ });
43
+ } else {
44
+ await watcher.close();
45
+ }
46
+ }
47
+
48
+ function getSources(components, cwd) {
49
+ const watcher = chokidar.watch(components, { cwd });
50
+
51
+ const allComponentFiles = globbySync(components, { cwd });
52
+
53
+ return { watcher, componentFiles: allComponentFiles };
54
+ }
55
+
56
+ async function rebuild(config, files, cachedContent, watcher, changedFilePath) {
57
+ const cacheWebTypesContent = async (filePath) => {
58
+ cachedContent[filePath.replace(/\\/g, "/")] = await extractInformation(
59
+ path.join(config.componentsRoot, filePath),
60
+ config,
61
+ );
62
+
63
+ return true;
64
+ };
65
+
66
+ if (changedFilePath) {
67
+ // eslint-disable-next-line no-console
68
+ console.log("Rebuilding on update file " + changedFilePath);
69
+
70
+ try {
71
+ // if in chokidar mode (watch), the path of the file that was just changed
72
+ // is passed as an argument. We only affect the changed file and avoid re-parsing the rest
73
+ await cacheWebTypesContent(changedFilePath);
74
+ } catch (e) {
75
+ throw new Error(
76
+ `Error building file ${config.outFile} when file ${changedFilePath} has changed: ${e.message}`,
77
+ );
78
+ }
79
+ } else {
80
+ try {
81
+ // if we are initializing the current file, parse all components
82
+ await Promise.all(files.map(cacheWebTypesContent));
83
+ } catch (e) {
84
+ throw new Error(`Error building file ${config.outFile}: ${e.message}`);
85
+ }
86
+ }
87
+
88
+ // and finally save all concatenated values to the markdown file
89
+ await writeDownWebTypesFile(config, Object.values(cachedContent), config.outFile);
90
+ }
91
+
92
+ async function writeDownWebTypesFile(config, definitions, destFilePath) {
93
+ const destFolder = path.dirname(destFilePath);
94
+
95
+ await mkdirp(destFolder);
96
+ let writeStream = fs.createWriteStream(destFilePath);
97
+ const contents = {
98
+ framework: "vue",
99
+ name: config.packageName,
100
+ version: config.packageVersion,
101
+ contributions: {
102
+ html: {
103
+ "description-markup": config.descriptionMarkup,
104
+ "types-syntax": config.typesSyntax,
105
+ tags: _(definitions)
106
+ .flatMap((d) => d.tags || [])
107
+ .orderBy("name", "asc")
108
+ .value(),
109
+ attributes: _(definitions)
110
+ .flatMap((d) => d.attributes || [])
111
+ .orderBy("name", "asc")
112
+ .value(),
113
+ "vue-filters": _(definitions)
114
+ .flatMap((d) => d["vue-filters"] || [])
115
+ .orderBy("name", "asc")
116
+ .value(),
117
+ },
118
+ },
119
+ };
120
+
121
+ const html = contents.contributions.html;
122
+
123
+ if (html.tags?.length == 0) html.tags = undefined;
124
+ if (html.attributes?.length == 0) html.attributes = undefined;
125
+ if (html["vue-filters"]?.length == 0) html["vue-filters"] = undefined;
126
+
127
+ writeStream.write(JSON.stringify(contents, null, 2));
128
+
129
+ // close the stream
130
+ writeStream.close();
131
+ }
132
+
133
+ function ensureRelative(path) {
134
+ // The .replace() is a fix for paths that end up like "./src\\components\\General\\VerticalButton.vue" on windows machines.
135
+ return (path.startsWith("./") || path.startsWith("../") ? path : "./" + path).replace(/\\/g, "/");
136
+ }
137
+
138
+ async function extractInformation(absolutePath, config) {
139
+ const doc = await parse(absolutePath, config.apiOptions);
140
+ const name = doc.name || doc.displayName;
141
+ let description = doc.description?.trim() ?? "";
142
+
143
+ // Get default component config
144
+ const configPath = path.join(path.dirname(absolutePath), "configs/default.config.js");
145
+ let globalConfig = null;
146
+ let defaultConfig = null;
147
+ let defaultValues = null;
148
+
149
+ if (fs.existsSync(configPath)) {
150
+ const defaultConfigFile = fs.readFileSync(configPath).toString();
151
+ const globalConfigFile = fs.readFileSync(config.cwd + "/vueless.config.js").toString();
152
+
153
+ defaultConfig = getDefaultConfigJson(defaultConfigFile);
154
+ globalConfig = getGlobalConfigJson(globalConfigFile, name);
155
+ defaultValues = merge(defaultConfig.defaultVariants, globalConfig[name]?.defaultVariants);
156
+ }
157
+
158
+ function getDefaultConfigJson(fileContents) {
159
+ const objectStartIndex = fileContents.indexOf("{");
160
+ const variablePattern = /([^:]+):\s*(?!true|false|undefined)([a-zA-Z_]\w*)/g;
161
+ let objectString = fileContents
162
+ .substring(objectStartIndex)
163
+ .replace("};", "}")
164
+ .replace(/undefined/g, '"undefined"')
165
+ .replace(variablePattern, (match, key) => key + ": {}");
166
+
167
+ return eval("(" + objectString + ")"); // Converting into JS object
168
+ }
169
+
170
+ function getGlobalConfigJson(fileContents, componentName) {
171
+ const startIndex = fileContents.indexOf(`${componentName}:`);
172
+
173
+ // find index of the last closing bracket
174
+ let endIndex = -1;
175
+ let braceCount = 0;
176
+
177
+ for (let i = startIndex; i < fileContents.length; i++) {
178
+ if (fileContents[i] === "{") {
179
+ braceCount++;
180
+ } else if (fileContents[i] === "}") {
181
+ braceCount--;
182
+
183
+ if (braceCount === 0) {
184
+ endIndex = i;
185
+ break;
186
+ }
187
+ }
188
+ }
189
+
190
+ // Get component config raw string
191
+ const rawString = fileContents.slice(startIndex, endIndex);
192
+
193
+ // If the stings are present in config but commented - remove them
194
+ const stringWithoutComments = rawString.replace(/\/\/.*$/gm, "");
195
+
196
+ // Check if final JSON string is valid: TODO: find better solution
197
+ if (!stringWithoutComments.includes("}")) return {};
198
+
199
+ const jsonString = `{${stringWithoutComments}\n}}`
200
+ .replace(/[`']/g, '"')
201
+ .replace(/(\w+)\s*: /g, '"$1":')
202
+ .replace(/,\s*}/g, "}");
203
+
204
+ return JSON.parse(jsonString);
205
+ }
206
+
207
+ doc.docsBlocks?.forEach((block) => {
208
+ if (description.length > 0) {
209
+ if (config.descriptionMarkup === "html") {
210
+ description += "<br/><br/>";
211
+ } else {
212
+ description += "\n\n";
213
+ }
214
+ }
215
+
216
+ description += block;
217
+ });
218
+
219
+ const componentPath = ensureRelative(path.relative(config.cwd, absolutePath));
220
+
221
+ return {
222
+ tags: [
223
+ {
224
+ name,
225
+ description,
226
+ attributes: doc.props?.map((prop) => ({
227
+ name: prop.name,
228
+ required: prop.required,
229
+ description: prop.tags?.ignore ? "@ignore: " + prop.description : prop.description,
230
+ value: {
231
+ kind: "expression",
232
+ type: prop.values ? `'${prop.values.join("' | '")}'` : prop.type?.name ?? "any",
233
+ },
234
+ default:
235
+ defaultValues && prop.name in defaultValues
236
+ ? defaultValues[prop.name].toString()
237
+ : prop.defaultValue?.value.toString(),
238
+ })),
239
+ events: doc.events?.map((event) => ({
240
+ name: event.name,
241
+ description: event.description,
242
+ })),
243
+ slots: doc.slots?.map((slot) => ({
244
+ name: slot.name,
245
+ description: slot.description,
246
+ })),
247
+ source: {
248
+ module: config.isVuelessEnv ? componentPath.replace("./src", "vueless") : componentPath,
249
+ symbol: doc.exportName,
250
+ },
251
+ },
252
+ ],
253
+ };
254
+ }
@@ -0,0 +1,32 @@
1
+ import path from "path";
2
+ import fs from "fs";
3
+ import { readFile } from "fs/promises";
4
+
5
+ export async function extractConfig(cwd, watch = false, configFileFromCmd, pathArray = []) {
6
+ const configFilePath = configFileFromCmd
7
+ ? path.resolve(cwd, configFileFromCmd)
8
+ : path.join(cwd, "web-types.config.js");
9
+ const [componentsFromCmd, outFileFromCmd] = pathArray;
10
+
11
+ const fileContent = await readFile(path.join(cwd, "package.json"), "utf-8");
12
+ const packageJson = JSON.parse(fileContent);
13
+
14
+ let additionalConfig = {};
15
+
16
+ if (fs.existsSync(configFilePath)) {
17
+ additionalConfig = await import(configFilePath);
18
+ }
19
+
20
+ return {
21
+ cwd,
22
+ watch,
23
+ componentsRoot: configFilePath ? path.dirname(configFilePath) : cwd,
24
+ components: componentsFromCmd || "src/**/*.vue",
25
+ outFile: outFileFromCmd || packageJson["web-types"] || "./web-types.json",
26
+ packageName: packageJson["name"],
27
+ packageVersion: packageJson["version"],
28
+ typesSyntax: "typescript",
29
+ descriptionMarkup: "markdown",
30
+ ...additionalConfig.default,
31
+ };
32
+ }
@@ -0,0 +1,11 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ import { vuelessPreset } from "./src/preset.tailwind";
3
+
4
+ export default {
5
+ presets: [vuelessPreset],
6
+ theme: {
7
+ fontFamily: {
8
+ roboto: ["Roboto", "sans-serif"],
9
+ },
10
+ },
11
+ };
package/vite.config.js ADDED
@@ -0,0 +1,40 @@
1
+ import { defineConfig } from "vite";
2
+ import path from "path";
3
+ // Plugins
4
+ import Vue from "@vitejs/plugin-vue";
5
+ import Eslint from "vite-plugin-eslint";
6
+ import { Vueless, VuelessUnpluginComponents } from "@vueless/plugin-vite";
7
+
8
+ export default defineConfig({
9
+ plugins: [
10
+ Vue(),
11
+ Eslint(),
12
+ Vueless({ mode: "storybook", env: "vueless" }),
13
+ VuelessUnpluginComponents(),
14
+ ],
15
+ resolve: {
16
+ extensions: [".vue", ".mjs", ".js", ".ts", ".mdx"],
17
+ alias: {
18
+ vueless: path.resolve(__dirname, "./src"),
19
+ "../web-types.json": path.resolve(__dirname, "./web-types.json"),
20
+ "../../../vueless.config.js": path.resolve(__dirname, "./vueless.config.js"),
21
+ },
22
+ },
23
+ optimizeDeps: {
24
+ include: [
25
+ "vuex",
26
+ "vue-tippy",
27
+ "@uppy/core",
28
+ "@uppy/vue/src/drag-drop",
29
+ "@kyvg/vue3-notification",
30
+ "@tailwindcss/forms",
31
+ "tailwindcss/colors.js",
32
+ "cva",
33
+ "tailwind-merge",
34
+ "prettier2",
35
+ "prettier2/parser-html",
36
+ "@storybook/blocks",
37
+ "@storybook/theming/create",
38
+ ],
39
+ },
40
+ });
@@ -0,0 +1,7 @@
1
+ export default {
2
+ brand: "grayscale",
3
+ gray: "gray",
4
+ component: /*tw*/ {
5
+ // component configs
6
+ },
7
+ };
@@ -0,0 +1,3 @@
1
+ export default {
2
+ isVuelessEnv: true,
3
+ };