vueless 0.0.2 → 0.0.3

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 (436) hide show
  1. package/_readme/README.md +5 -75
  2. package/_readme/UNotify.md +1 -1
  3. package/_readme/UTopLoader.md +2 -2
  4. package/_readme/customization.md +347 -0
  5. package/_readme/installation.md +139 -0
  6. package/_readme/storybook-pages/Customisation.mdx +6 -0
  7. package/_readme/storybook-pages/Installation.mdx +7 -0
  8. package/composable.ui/index.js +341 -30
  9. package/library.vue-tailwind-3/index.js +0 -5
  10. package/library.web-types-gen/lib/build.js +35 -9
  11. package/library.web-types-gen/lib/config.js +10 -4
  12. package/package.json +37 -4
  13. package/plugin.vite/index.js +59 -0
  14. package/plugin.vite/services/iconResolver.service.js +291 -0
  15. package/plugin.vite/services/svgLoader.service.js +76 -0
  16. package/plugin.vite/services/tailwindSafelist.service.js +197 -0
  17. package/plugin.vite/services/unpluginComponentsResolver.js +172 -0
  18. package/service.storybook/index.js +53 -80
  19. package/service.tailwind/index.js +112 -0
  20. package/service.ui/index.js +69 -50
  21. package/ui.button/Docs.mdx +16 -0
  22. package/ui.button/composables/attrs.composable.js +41 -0
  23. package/ui.button/configs/default.config.js +164 -0
  24. package/ui.button/constants/index.js +5 -0
  25. package/ui.button/index.stories.js +8 -7
  26. package/ui.button/index.vue +116 -981
  27. package/ui.button-link/Docs.mdx +16 -0
  28. package/ui.button-link/composables/attrs.composable.js +99 -0
  29. package/ui.button-link/configs/default.config.js +80 -0
  30. package/ui.button-link/constants/index.js +5 -0
  31. package/ui.button-link/index.stories.js +56 -19
  32. package/ui.button-link/index.vue +178 -493
  33. package/ui.button-toggle/Docs.mdx +16 -0
  34. package/ui.button-toggle/composables/attrs.composable.js +16 -0
  35. package/ui.button-toggle/configs/default.config.js +12 -0
  36. package/ui.button-toggle/constants/index.js +7 -0
  37. package/{ui.button-group → ui.button-toggle}/index.stories.js +79 -28
  38. package/ui.button-toggle/index.vue +128 -0
  39. package/ui.button-toggle-item/Docs.mdx +16 -0
  40. package/ui.button-toggle-item/composables/attrs.composable.js +53 -0
  41. package/ui.button-toggle-item/configs/default.config.js +58 -0
  42. package/ui.button-toggle-item/constants/index.js +5 -0
  43. package/{ui.button-group-item → ui.button-toggle-item}/index.stories.js +16 -13
  44. package/ui.button-toggle-item/index.vue +147 -0
  45. package/ui.container-accordion/composables/attrs.composable.js +45 -0
  46. package/ui.container-accordion/configs/default.config.js +32 -0
  47. package/ui.container-accordion/constants/index.js +5 -0
  48. package/ui.container-accordion/index.stories.js +3 -2
  49. package/ui.container-accordion/index.vue +71 -143
  50. package/ui.container-card/Docs.mdx +16 -0
  51. package/ui.container-card/composable/attrs.composable.js +56 -0
  52. package/ui.container-card/configs/default.config.js +31 -0
  53. package/ui.container-card/constants/index.js +5 -0
  54. package/ui.container-card/index.stories.js +51 -9
  55. package/ui.container-card/index.vue +108 -169
  56. package/ui.container-divider/Docs.mdx +16 -0
  57. package/ui.container-divider/composables/attrs.composable.js +65 -0
  58. package/ui.container-divider/configs/default.config.js +79 -0
  59. package/ui.container-divider/constants/index.js +5 -0
  60. package/ui.container-divider/index.stories.js +41 -8
  61. package/ui.container-divider/index.vue +126 -189
  62. package/ui.container-group/Docs.mdx +16 -0
  63. package/ui.container-group/composables/attrs.composable.js +44 -0
  64. package/ui.container-group/configs/default.config.js +29 -0
  65. package/ui.container-group/constants/index.js +5 -0
  66. package/ui.container-group/index.stories.js +7 -6
  67. package/ui.container-group/index.vue +76 -142
  68. package/ui.container-groups/Docs.mdx +16 -0
  69. package/ui.container-groups/composables/attrs.composable.js +12 -0
  70. package/ui.container-groups/configs/default.config.js +3 -0
  71. package/ui.container-groups/index.stories.js +4 -3
  72. package/ui.container-groups/index.vue +26 -11
  73. package/ui.container-modal/Docs.mdx +16 -0
  74. package/ui.container-modal/composables/attrs.composable.js +90 -0
  75. package/ui.container-modal/configs/default.config.js +69 -0
  76. package/ui.container-modal/constants/index.js +5 -0
  77. package/ui.container-modal/index.stories.js +8 -7
  78. package/ui.container-modal/index.vue +289 -370
  79. package/ui.container-modal-confirm/Docs.mdx +16 -0
  80. package/ui.container-modal-confirm/composable/attrs.composable.js +19 -0
  81. package/ui.container-modal-confirm/configs/default.config.js +12 -0
  82. package/ui.container-modal-confirm/constants/index.js +5 -0
  83. package/ui.container-modal-confirm/index.stories.js +66 -7
  84. package/ui.container-modal-confirm/index.vue +126 -116
  85. package/ui.container-page/Docs.mdx +16 -0
  86. package/ui.container-page/composables/attrs.composable.js +96 -0
  87. package/ui.container-page/configs/default.config.js +71 -0
  88. package/ui.container-page/constants/index.js +5 -0
  89. package/ui.container-page/index.stories.js +7 -34
  90. package/ui.container-page/index.vue +193 -408
  91. package/ui.container-row/Docs.mdx +16 -0
  92. package/ui.container-row/composables/attrs.composable.js +23 -0
  93. package/ui.container-row/configs/default.config.js +14 -0
  94. package/ui.container-row/constants/index.js +5 -0
  95. package/ui.container-row/index.stories.js +10 -0
  96. package/ui.container-row/index.vue +32 -39
  97. package/ui.data-list/composables/attrs.composable.js +45 -0
  98. package/ui.data-list/configs/default.config.js +32 -0
  99. package/ui.data-list/constants/index.js +5 -0
  100. package/ui.data-list/index.stories.js +1 -0
  101. package/ui.data-list/index.vue +156 -265
  102. package/ui.data-table/Docs.mdx +16 -0
  103. package/ui.data-table/composables/attrs.composable.js +188 -0
  104. package/ui.data-table/configs/default.config.js +82 -0
  105. package/ui.data-table/constants/index.js +5 -0
  106. package/ui.data-table/index.stories.js +73 -43
  107. package/ui.data-table/index.vue +600 -961
  108. package/ui.data-table/services/table.service.js +15 -0
  109. package/ui.data-table-cell/composables/attrs.composable.js +24 -0
  110. package/ui.data-table-cell/configs/default.config.js +19 -0
  111. package/ui.data-table-cell/constants/index.js +5 -0
  112. package/ui.data-table-cell/index.vue +44 -0
  113. package/ui.dropdown-badge/Docs.mdx +16 -0
  114. package/ui.dropdown-badge/composables/attrs.composable.js +63 -0
  115. package/ui.dropdown-badge/configs/default.config.js +34 -0
  116. package/ui.dropdown-badge/constants/index.js +5 -0
  117. package/{ui.dropdown-tag → ui.dropdown-badge}/index.stories.js +26 -25
  118. package/ui.dropdown-badge/index.vue +233 -0
  119. package/ui.dropdown-button/Docs.mdx +16 -0
  120. package/ui.dropdown-button/composables/attrs.composable.js +63 -0
  121. package/ui.dropdown-button/configs/default.config.js +37 -0
  122. package/ui.dropdown-button/constants/index.js +14 -0
  123. package/ui.dropdown-button/index.stories.js +12 -11
  124. package/ui.dropdown-button/index.vue +231 -291
  125. package/ui.dropdown-item/Docs.mdx +16 -0
  126. package/ui.dropdown-item/composables/attrs.composable.js +13 -0
  127. package/ui.dropdown-item/configs/default.config.js +16 -0
  128. package/ui.dropdown-item/index.stories.js +2 -1
  129. package/ui.dropdown-item/index.vue +38 -55
  130. package/ui.dropdown-link/Docs.mdx +16 -0
  131. package/ui.dropdown-link/composables/attrs.composable.js +65 -0
  132. package/ui.dropdown-link/configs/default.config.js +37 -0
  133. package/ui.dropdown-link/constants/index.js +5 -0
  134. package/ui.dropdown-link/index.stories.js +11 -11
  135. package/ui.dropdown-link/index.vue +217 -287
  136. package/ui.dropdown-list/Docs.mdx +16 -0
  137. package/ui.dropdown-list/composables/attrs.composable.js +91 -0
  138. package/ui.dropdown-list/composables/usePointer.js +77 -0
  139. package/ui.dropdown-list/configs/default.config.js +68 -0
  140. package/ui.dropdown-list/constants/index.js +5 -0
  141. package/ui.dropdown-list/index.stories.js +33 -3
  142. package/ui.dropdown-list/index.vue +271 -112
  143. package/ui.form-calendar/Docs.mdx +52 -0
  144. package/ui.form-calendar/components/DayView.vue +230 -0
  145. package/ui.form-calendar/components/MonthView.vue +114 -0
  146. package/ui.form-calendar/components/YearView.vue +118 -0
  147. package/ui.form-calendar/composables/attrs.composable.js +87 -0
  148. package/ui.form-calendar/configs/default.config.js +115 -0
  149. package/ui.form-calendar/constants/index.js +69 -0
  150. package/ui.form-calendar/index.stories.js +50 -0
  151. package/ui.form-calendar/index.vue +628 -0
  152. package/ui.form-calendar/services/calendar.service.js +201 -0
  153. package/ui.form-calendar/services/date.service.js +121 -0
  154. package/ui.form-calendar/services/formatting.service.js +180 -0
  155. package/ui.form-checkbox/Docs.mdx +16 -0
  156. package/ui.form-checkbox/composables/attrs.composable.js +57 -0
  157. package/ui.form-checkbox/configs/default.config.js +69 -0
  158. package/ui.form-checkbox/constants/index.js +5 -0
  159. package/ui.form-checkbox/index.stories.js +75 -26
  160. package/ui.form-checkbox/index.vue +201 -261
  161. package/ui.form-checkbox-group/Docs.mdx +16 -0
  162. package/ui.form-checkbox-group/composables/attrs.composable.js +17 -0
  163. package/ui.form-checkbox-group/configs/default.config.js +5 -0
  164. package/ui.form-checkbox-group/constants/index.js +5 -0
  165. package/ui.form-checkbox-group/index.stories.js +7 -1
  166. package/ui.form-checkbox-group/index.vue +104 -177
  167. package/ui.form-checkbox-multi-state/Docs.mdx +16 -0
  168. package/ui.form-checkbox-multi-state/composables/attrs.composable.js +24 -0
  169. package/ui.form-checkbox-multi-state/configs/default.config.js +9 -0
  170. package/ui.form-checkbox-multi-state/constants/index.js +5 -0
  171. package/ui.form-checkbox-multi-state/index.stories.js +8 -11
  172. package/ui.form-checkbox-multi-state/index.vue +109 -220
  173. package/ui.form-color-picker/composables/attrs.composable.js +44 -0
  174. package/ui.form-color-picker/configs/default.config.js +52 -0
  175. package/ui.form-color-picker/constants/index.js +5 -0
  176. package/ui.form-color-picker/index.stories.js +63 -0
  177. package/ui.form-color-picker/index.vue +147 -329
  178. package/ui.form-date-picker/Docs.mdx +52 -0
  179. package/ui.form-date-picker/composables/attrs.composable.js +22 -0
  180. package/ui.form-date-picker/configs/default.config.js +27 -0
  181. package/ui.form-date-picker/constants/index.js +5 -0
  182. package/ui.form-date-picker/index.stories.js +21 -8
  183. package/ui.form-date-picker/index.vue +205 -802
  184. package/ui.form-input/Docs.mdx +16 -0
  185. package/ui.form-input/composables/attrs.composable.js +66 -0
  186. package/ui.form-input/configs/default.config.js +72 -0
  187. package/{constant.component-names → ui.form-input/constants}/index.js +1 -2
  188. package/ui.form-input/index.stories.js +46 -12
  189. package/ui.form-input/index.vue +320 -459
  190. package/ui.form-input-file/composables/attrs.composable.js +82 -0
  191. package/ui.form-input-file/configs/default.config.js +51 -0
  192. package/ui.form-input-file/constants/index.js +5 -0
  193. package/ui.form-input-file/index.stories.js +3 -2
  194. package/ui.form-input-file/index.vue +332 -498
  195. package/ui.form-input-money/Docs.mdx +16 -0
  196. package/ui.form-input-money/composables/attrs.composable.js +13 -0
  197. package/ui.form-input-money/composables/useFormatCurrency.js +82 -0
  198. package/ui.form-input-money/configs/default.config.js +16 -0
  199. package/ui.form-input-money/constants/index.js +5 -0
  200. package/ui.form-input-money/index.stories.js +71 -43
  201. package/ui.form-input-money/index.vue +241 -237
  202. package/ui.form-input-money/services/format.service.js +72 -0
  203. package/ui.form-input-number/Docs.mdx +16 -0
  204. package/ui.form-input-number/composables/attrs.composable.js +47 -0
  205. package/ui.form-input-number/configs/default.config.js +33 -0
  206. package/ui.form-input-number/constants/index.js +5 -0
  207. package/ui.form-input-number/index.stories.js +73 -3
  208. package/ui.form-input-number/index.vue +138 -106
  209. package/ui.form-input-rating/composables/attrs.composable.js +34 -0
  210. package/ui.form-input-rating/configs/default.config.js +25 -0
  211. package/ui.form-input-rating/constants/index.js +5 -0
  212. package/ui.form-input-rating/index.stories.js +3 -2
  213. package/ui.form-input-rating/index.vue +152 -209
  214. package/ui.form-input-search/composables/attrs.composable.js +21 -0
  215. package/ui.form-input-search/configs/default.config.js +20 -0
  216. package/ui.form-input-search/constants/index.js +5 -0
  217. package/ui.form-input-search/index.stories.js +8 -4
  218. package/ui.form-input-search/index.vue +192 -189
  219. package/ui.form-label/Docs.mdx +16 -0
  220. package/ui.form-label/composables/attrs.composable.js +65 -0
  221. package/ui.form-label/configs/default.config.js +95 -0
  222. package/ui.form-label/constants/index.js +13 -0
  223. package/ui.form-label/index.stories.js +107 -0
  224. package/ui.form-label/index.vue +170 -0
  225. package/ui.form-radio/Docs.mdx +16 -0
  226. package/ui.form-radio/composables/attrs.composable.js +34 -0
  227. package/ui.form-radio/configs/default.config.js +47 -0
  228. package/ui.form-radio/constants/index.js +5 -0
  229. package/ui.form-radio/index.stories.js +12 -10
  230. package/ui.form-radio/index.vue +141 -148
  231. package/ui.form-radio-card/Docs.mdx +16 -0
  232. package/ui.form-radio-card/composables/attrs.composable.js +30 -0
  233. package/ui.form-radio-card/configs/default.config.js +25 -0
  234. package/ui.form-radio-card/constants/index.js +5 -0
  235. package/ui.form-radio-card/index.stories.js +19 -10
  236. package/ui.form-radio-card/index.vue +132 -146
  237. package/ui.form-radio-card/services/variant.service.js +15 -0
  238. package/ui.form-radio-group/Docs.mdx +16 -0
  239. package/ui.form-radio-group/composables/attrs.composable.js +27 -0
  240. package/ui.form-radio-group/configs/default.config.js +18 -0
  241. package/ui.form-radio-group/constants/index.js +5 -0
  242. package/ui.form-radio-group/index.stories.js +1 -0
  243. package/ui.form-radio-group/index.vue +114 -85
  244. package/ui.form-select/Docs.mdx +16 -0
  245. package/ui.form-select/composables/attrs.composable.js +172 -0
  246. package/ui.form-select/configs/default.config.js +131 -0
  247. package/ui.form-select/constants/index.js +19 -0
  248. package/ui.form-select/index.stories.js +194 -38
  249. package/ui.form-select/index.vue +638 -910
  250. package/ui.form-select/services/select.service.js +98 -0
  251. package/ui.form-switch/composables/attrs.composable.js +77 -0
  252. package/ui.form-switch/configs/default.config.js +72 -0
  253. package/ui.form-switch/constants/index.js +5 -0
  254. package/ui.form-switch/index.stories.js +9 -42
  255. package/ui.form-switch/index.vue +177 -632
  256. package/ui.form-switch/services/variant.service.js +31 -0
  257. package/ui.form-textarea/Docs.mdx +16 -0
  258. package/ui.form-textarea/composables/attrs.composable.js +52 -0
  259. package/ui.form-textarea/configs/default.config.js +68 -0
  260. package/ui.form-textarea/constants/index.js +5 -0
  261. package/ui.form-textarea/index.stories.js +47 -5
  262. package/ui.form-textarea/index.vue +238 -353
  263. package/ui.image-avatar/composables/attrs.composable.js +34 -0
  264. package/ui.image-avatar/configs/default.config.js +42 -0
  265. package/ui.image-avatar/constants/index.js +5 -0
  266. package/ui.image-avatar/index.stories.js +7 -6
  267. package/ui.image-avatar/index.vue +94 -226
  268. package/ui.image-icon/Docs.mdx +16 -0
  269. package/ui.image-icon/composables/attrs.composable.js +65 -0
  270. package/ui.image-icon/configs/default.config.js +90 -0
  271. package/ui.image-icon/constants/index.js +5 -0
  272. package/ui.image-icon/index.stories.js +16 -35
  273. package/ui.image-icon/index.vue +165 -453
  274. package/ui.image-logo/composables/attrs.composable.js +41 -0
  275. package/ui.image-logo/configs/default.config.js +38 -0
  276. package/ui.image-logo/constants/index.js +5 -0
  277. package/ui.image-logo/index.stories.js +8 -8
  278. package/ui.image-logo/index.vue +80 -166
  279. package/ui.navigation-pagination/composables/attrs.composable.js +41 -0
  280. package/ui.navigation-pagination/configs/default.config.js +24 -0
  281. package/ui.navigation-pagination/constants/index.js +8 -0
  282. package/ui.navigation-pagination/index.stories.js +23 -6
  283. package/ui.navigation-pagination/index.vue +262 -102
  284. package/ui.navigation-stepper/composables/attrs.composable.js +25 -0
  285. package/ui.navigation-stepper/configs/default.config.js +13 -0
  286. package/ui.navigation-stepper/constants/index.js +5 -0
  287. package/ui.navigation-stepper/index.stories.js +1 -0
  288. package/ui.navigation-stepper/index.vue +87 -88
  289. package/ui.navigation-tab/composables/attrs.composable.js +30 -0
  290. package/ui.navigation-tab/configs/default.config.js +22 -0
  291. package/ui.navigation-tab/constants/index.js +5 -0
  292. package/ui.navigation-tab/index.stories.js +7 -11
  293. package/ui.navigation-tab/index.vue +58 -85
  294. package/ui.navigation-tabs/composables/attrs.composable.js +24 -0
  295. package/ui.navigation-tabs/configs/default.config.js +14 -0
  296. package/ui.navigation-tabs/constants/index.js +5 -0
  297. package/ui.navigation-tabs/index.stories.js +7 -11
  298. package/ui.navigation-tabs/index.vue +68 -88
  299. package/ui.other-dot/composables/attrs.composable.js +32 -0
  300. package/ui.other-dot/configs/default.config.js +21 -0
  301. package/ui.other-dot/constants/index.js +5 -0
  302. package/ui.other-dot/index.stories.js +5 -5
  303. package/ui.other-dot/index.vue +41 -89
  304. package/ui.other-loader/composables/attrs.composable.js +51 -0
  305. package/ui.other-loader/configs/default.config.js +47 -0
  306. package/ui.other-loader/constants/index.js +5 -0
  307. package/ui.other-loader/index.stories.js +14 -13
  308. package/ui.other-loader/index.vue +58 -107
  309. package/ui.text-alert/composables/attrs.composable.js +48 -0
  310. package/ui.text-alert/configs/default.config.js +51 -0
  311. package/ui.text-alert/constatns/index.js +5 -0
  312. package/ui.text-alert/index.stories.js +39 -6
  313. package/ui.text-alert/index.vue +95 -210
  314. package/ui.text-badge/Docs.mdx +16 -0
  315. package/ui.text-badge/composables/attrs.composable.js +49 -0
  316. package/ui.text-badge/configs/default.config.js +51 -0
  317. package/ui.text-badge/constants/index.js +5 -0
  318. package/ui.text-badge/index.stories.js +190 -0
  319. package/ui.text-badge/index.vue +120 -0
  320. package/ui.text-block/composables/attrs.composable.js +31 -0
  321. package/ui.text-block/configs/default.config.js +35 -0
  322. package/ui.text-block/constatns/index.js +5 -0
  323. package/ui.text-block/index.stories.js +2 -1
  324. package/ui.text-block/index.vue +55 -116
  325. package/ui.text-empty/Docs.mdx +16 -0
  326. package/ui.text-empty/composables/attrs.composable.js +43 -0
  327. package/ui.text-empty/configs/default.config.js +4 -2
  328. package/ui.text-empty/constants/index.js +5 -0
  329. package/ui.text-empty/index.stories.js +3 -3
  330. package/ui.text-empty/index.vue +13 -14
  331. package/ui.text-file/composables/attrs.composable.js +37 -0
  332. package/ui.text-file/configs/default.config.js +15 -0
  333. package/ui.text-file/index.stories.js +2 -1
  334. package/ui.text-file/index.vue +63 -72
  335. package/ui.text-files/composables/attrs.composable.js +19 -0
  336. package/ui.text-files/configs/default.config.js +9 -0
  337. package/ui.text-files/constants/index.js +5 -0
  338. package/ui.text-files/index.stories.js +1 -0
  339. package/ui.text-files/index.vue +73 -50
  340. package/ui.text-header/Docs.mdx +16 -0
  341. package/ui.text-header/composables/attrs.composable.js +34 -0
  342. package/ui.text-header/configs/default.config.js +45 -0
  343. package/ui.text-header/constants/index.js +5 -0
  344. package/ui.text-header/index.stories.js +34 -38
  345. package/ui.text-header/index.vue +67 -221
  346. package/ui.text-money/Docs.mdx +16 -0
  347. package/ui.text-money/composables/attrs.composable.js +65 -0
  348. package/ui.text-money/configs/default.config.js +69 -0
  349. package/ui.text-money/constants/index.js +7 -0
  350. package/ui.text-money/index.stories.js +24 -22
  351. package/ui.text-money/index.vue +187 -506
  352. package/ui.text-money/services/money.services.js +24 -0
  353. package/_readme/layoutAdmin.md +0 -703
  354. package/_readme/layoutApp.md +0 -153
  355. package/_readme/layoutAuth.md +0 -190
  356. package/config.rollup-plugin-visualizer/index.js +0 -11
  357. package/config.unplugin-vue-i18n/index.js +0 -9
  358. package/config.vite-plugin-pwa/index.js +0 -132
  359. package/config.vite-svg-loader/index.js +0 -22
  360. package/index.js +0 -151
  361. package/layout-ui.loader/index.vue +0 -61
  362. package/layout-ui.loader/store/index.js +0 -17
  363. package/layout-ui.loader-top/components/TopProgress.vue +0 -277
  364. package/layout-ui.loader-top/index.vue +0 -218
  365. package/layout-ui.loader-top/store/index.js +0 -55
  366. package/layout-ui.notify/index.stories.js +0 -102
  367. package/layout-ui.notify/index.vue +0 -254
  368. package/layout-ui.viewport/index.vue +0 -78
  369. package/layout-ui.viewport/store/index.js +0 -47
  370. package/layout.admin/AsideBlock.vue +0 -534
  371. package/layout.admin/AsideInfoBlock.vue +0 -85
  372. package/layout.admin/BrandBlock.vue +0 -380
  373. package/layout.admin/ChangeThemeModal.vue +0 -179
  374. package/layout.admin/HelperBlock.vue +0 -132
  375. package/layout.admin/MainMenu.vue +0 -234
  376. package/layout.admin/MainSubMenu.vue +0 -196
  377. package/layout.admin/MobileMainMenu.vue +0 -197
  378. package/layout.admin/MobileSubBlock.vue +0 -171
  379. package/layout.admin/RightInfoBlock.vue +0 -166
  380. package/layout.admin/UserBlock.vue +0 -290
  381. package/layout.admin/images/abstract-01.jpg +0 -0
  382. package/layout.admin/images/abstract-01_preview.jpg +0 -0
  383. package/layout.admin/index.vue +0 -544
  384. package/layout.admin/mixins/index.js +0 -54
  385. package/layout.admin/store/index.js +0 -167
  386. package/layout.auth/FeaturesBlock.vue +0 -57
  387. package/layout.auth/FooterMenu.vue +0 -90
  388. package/layout.auth/LanguageSwitcher.vue +0 -90
  389. package/layout.auth/index.vue +0 -237
  390. package/library.vue-tailwind-3/t-input.js +0 -68
  391. package/library.vue-tailwind-3/t-modal.js +0 -409
  392. package/library.vue-tailwind-3/t-pagination.js +0 -309
  393. package/library.vue-tailwind-3/t-table.js +0 -362
  394. package/library.vue-tailwind-3/t-textarea.js +0 -84
  395. package/resolver.unplugin-vue-components/index.js +0 -94
  396. package/service.api/index.js +0 -275
  397. package/service.data/index.js +0 -75
  398. package/service.date/index.js +0 -222
  399. package/service.i18n/index.js +0 -145
  400. package/service.idb-keyval/index.js +0 -37
  401. package/service.jwt/index.js +0 -27
  402. package/service.money/index.js +0 -86
  403. package/service.notify/index.js +0 -87
  404. package/service.redirect/index.js +0 -20
  405. package/service.validation/index.js +0 -55
  406. package/service.worker/index.js +0 -26
  407. package/ui.button-expand/index.stories.js +0 -44
  408. package/ui.button-expand/index.vue +0 -22
  409. package/ui.button-expand-item/index.stories.js +0 -69
  410. package/ui.button-expand-item/index.vue +0 -154
  411. package/ui.button-group/index.vue +0 -165
  412. package/ui.button-group-item/index.vue +0 -283
  413. package/ui.container-modal/components/ArrowLink.vue +0 -87
  414. package/ui.container-page/components/ArrowLink.vue +0 -87
  415. package/ui.data-table/components/DateSeparator.vue +0 -99
  416. package/ui.data-table/components/EmptyTableMsg.vue +0 -46
  417. package/ui.data-table/components/TableCheckbox.vue +0 -109
  418. package/ui.dropdown-tag/index.vue +0 -285
  419. package/ui.form-date-picker-range/components/VariantButton.vue +0 -136
  420. package/ui.form-date-picker-range/components/VariantInput.vue +0 -101
  421. package/ui.form-date-picker-range/index.stories.js +0 -93
  422. package/ui.form-date-picker-range/index.vue +0 -1537
  423. package/ui.form-date-picker-range/services/dateRange.service.js +0 -178
  424. package/ui.form-input-money/_components/ConvertibleInput.vue +0 -773
  425. package/ui.form-input-money/_components/RangeInput.vue +0 -356
  426. package/ui.form-input-money/_components/SingleInput.vue +0 -378
  427. package/ui.form-select-multi/index.stories.js +0 -131
  428. package/ui.form-select-multi/index.vue +0 -882
  429. package/ui.image-icon/cli.mjs +0 -159
  430. package/ui.text-empty/services/variant.service.js +0 -22
  431. package/ui.text-field/index.stories.js +0 -60
  432. package/ui.text-field/index.vue +0 -109
  433. package/ui.text-tag/index.stories.js +0 -90
  434. package/ui.text-tag/index.vue +0 -178
  435. package/web-types.json +0 -6320
  436. /package/ui.form-input/{text-security-disc.woff → assets/fonts/text-security-disc.woff} +0 -0
@@ -1,371 +1,236 @@
1
1
  <template>
2
- <div
3
- ref="pageWrapper"
4
- class="mono-page-wrapper"
5
- :class="[pageWidthClass, pageClasses]"
6
- :data-cy="dataCy"
7
- >
8
- <div class="mono-page-additional-wrapper" :class="pageAdditionClasses">
9
- <div ref="page" class="mono-page" :class="contentWidthClass">
10
- <div v-if="isShownHeader" class="mono-page-header" :class="headerPaddingClass">
11
- <div class="mono-page-header-left">
12
- <div class="mono-page-header-left-wrapper">
13
- <!-- @slot Use it to add something before left side of the header. -->
14
- <slot name="header-left-before" />
15
-
16
- <!-- @slot Use it to customise left side of the header. -->
17
- <slot name="header-left">
18
- <div class="header-left">
19
- <ArrowLink
20
- v-if="isShownArrowButton"
21
- :back-route="backRoute"
22
- :data-cy="`${dataCy}-back`"
23
- />
24
-
25
- <UHeader :text="title" :size="titleSize" color="black" />
26
-
27
- <div v-if="description" class="mono-page-header-left-subtitle">
28
- {{ description }}
29
- </div>
30
- </div>
31
- </slot>
32
-
33
- <!-- @slot Use it to add something after left side of the header. -->
34
- <slot name="header-left-after" />
2
+ <div :data-cy="dataCy" v-bind="wrapperAttrs">
3
+ <div v-bind="pageAttrs">
4
+ <div v-if="isShownHeader" v-bind="headerAttrs">
5
+ <div v-bind="headerLeftAttrs">
6
+ <!-- @slot Use it to add something before left side of the header. -->
7
+ <slot name="header-left-before" />
8
+
9
+ <!-- @slot Use it to customise left side of the header. -->
10
+ <slot name="header-left">
11
+ <div v-bind="headerLeftFallbackAttrs">
12
+ <ULink
13
+ v-if="isShownArrowButton"
14
+ size="xs"
15
+ color="gray"
16
+ :route="backRoute"
17
+ v-bind="backLinkAttrs"
18
+ >
19
+ <UIcon
20
+ :name="config.backLinkIconName"
21
+ size="xs"
22
+ color="gray"
23
+ v-bind="backLinkIconAttrs"
24
+ />
25
+ {{ backRoute.title }}
26
+ </ULink>
27
+
28
+ <UHeader :label="title" :size="titleSize" v-bind="titleAttrs" />
29
+ <div v-if="description" v-bind="descriptionAttrs" v-text="description" />
35
30
  </div>
36
- </div>
31
+ </slot>
37
32
 
38
- <div class="mono-page-header-right">
39
- <!-- @slot Use it to customise right side of the header. -->
40
- <slot name="header-right" />
41
- </div>
33
+ <!-- @slot Use it to add something after left side of the header. -->
34
+ <slot name="header-left-after" />
42
35
  </div>
43
36
 
44
- <div class="mono-page-content">
45
- <!-- @slot Use it to add main content. -->
46
- <slot />
37
+ <div v-bind="headerRightAttrs">
38
+ <!-- @slot Use it to customise right side of the header. -->
39
+ <slot name="header-right" />
47
40
  </div>
41
+ </div>
42
+
43
+ <div>
44
+ <!-- @slot Use it to add main content. -->
45
+ <slot />
46
+ </div>
48
47
 
49
- <div
50
- v-if="isShownFooterSlot"
51
- :class="[reverseFooterClass, footerPaddingClass]"
52
- class="mono-page-footer"
53
- >
54
- <div class="mono-page-footer-left">
55
- <!-- @slot Use it to add something to the left side of the footer. -->
56
- <slot name="footer-left" />
57
- </div>
58
-
59
- <div class="mono-page-footer-right">
60
- <!-- @slot Use it to add something to the right side of the footer. -->
61
- <slot name="footer-right" />
62
- </div>
48
+ <div v-if="isShownFooterSlot" class="vueless-page-footer" v-bind="footerAttrs">
49
+ <div class="vueless-page-footer-left" v-bind="footerLeftAttrs">
50
+ <!-- @slot Use it to add something to the left side of the footer. -->
51
+ <slot name="footer-left" />
52
+ </div>
53
+
54
+ <div class="vueless-page-footer-right" v-bind="footerRightAttrs">
55
+ <!-- @slot Use it to add something to the right side of the footer. -->
56
+ <slot name="footer-right" />
63
57
  </div>
64
58
  </div>
65
59
  </div>
66
60
 
67
- <div v-if="!isDisabledFixedRounding && !isMobileDevice" class="mono-page-fixed-block-wrapper">
68
- <div class="fixed-block" :class="fixedBlockClass" />
61
+ <div v-if="fixedRounding && !isMobileDevice" v-bind="rightRoundingWrapperAttrs">
62
+ <div v-bind="rightRoundingAttrs" />
69
63
  </div>
70
64
  </div>
71
65
  </template>
72
66
 
73
- <script>
74
- import { mapGetters } from "vuex";
75
- import { globalComponentConfig, isMobileApp } from "vueless/service.ui";
67
+ <script setup>
68
+ import { computed, useSlots, onMounted } from "vue";
69
+ import { useStore } from "vuex";
76
70
 
77
- import ArrowLink from "./components/ArrowLink.vue";
78
- import UHeader from "vueless/ui.text-header";
71
+ import UIService from "vueless/service.ui";
79
72
 
80
- export default {
81
- name: "UPage",
73
+ import defaultConfig from "./configs/default.config";
74
+ import { UPage } from "./constants";
75
+ import { useAttrs } from "./composables/attrs.composable";
82
76
 
83
- components: {
84
- ArrowLink,
85
- UHeader,
86
- },
77
+ const slots = useSlots();
78
+ const store = useStore();
87
79
 
88
- props: {
89
- /**
90
- * Sets page title.
91
- */
92
- title: {
93
- type: String,
94
- default: "",
95
- },
96
-
97
- /**
98
- * Set size.
99
- * @values xs, sm, md, lg, xl, 2xl
100
- */
101
- titleSize: {
102
- type: String,
103
- default: "lg",
104
- },
105
-
106
- /**
107
- * Sets page description.
108
- */
109
- description: {
110
- type: String,
111
- default: "",
112
- },
113
-
114
- /**
115
- * Sets Vue router route params for back arrow
116
- */
117
- backRoute: {
118
- type: Object,
119
- default: () => ({}),
120
- },
121
-
122
- /**
123
- * The width of the container page.
124
- * @values xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl, wide
125
- */
126
- width: {
127
- type: String,
128
- default: "wide",
129
- },
130
-
131
- /**
132
- * Reverse left and right footer blocks (in mobile version only).
133
- */
134
- mobileFooterReverse: {
135
- type: Boolean,
136
- default: false,
137
- },
138
-
139
- /**
140
- * Sets full width for wrapper block, and fixed with for content (from size prop). Content will be aligned center.
141
- */
142
- widePage: {
143
- type: Boolean,
144
- default: false,
145
- },
146
-
147
- /**
148
- * Active side padding for header.
149
- */
150
- headerPadding: {
151
- type: Boolean,
152
- default: undefined,
153
- },
154
-
155
- /**
156
- * Active side padding for footer.
157
- */
158
- footerPadding: {
159
- type: Boolean,
160
- default: undefined,
161
- },
162
-
163
- /**
164
- * Sets background color gray.
165
- */
166
- gray: {
167
- type: Boolean,
168
- default: false,
169
- },
170
-
171
- /**
172
- * Sets data-cy attribute for automated testing.
173
- */
174
- dataCy: {
175
- type: String,
176
- default: "",
177
- },
178
- },
80
+ /* Should be a string for correct web-types gen */
81
+ defineOptions({ name: "UPage", inheritAttrs: false });
179
82
 
180
- computed: {
181
- ...mapGetters("breakpoint", ["isMobileDevice"]),
182
-
183
- isDisabledFixedRounding() {
184
- return globalComponentConfig.UPage?.disabledFixedRounding;
185
- },
186
-
187
- isHeaderPadding() {
188
- if (this.headerPadding !== undefined) return this.headerPadding;
189
-
190
- return globalComponentConfig.UPage?.headerPadding;
191
- },
192
-
193
- isFooterPadding() {
194
- if (this.footerPadding !== undefined) return this.footerPadding;
195
-
196
- return globalComponentConfig.UPage?.footerPadding;
197
- },
198
-
199
- reverseFooterClass() {
200
- return {
201
- "reverse-footer": this.mobileFooterReverse && this.isMobileDevice,
202
- };
203
- },
204
-
205
- isShownFooterSlot() {
206
- return !!this.$slots["footer-left"] || !!this.$slots["footer-right"];
207
- },
208
-
209
- isShownHeader() {
210
- return this.title || !!this.$slots["header-left"] || !!this.$slots["header-right"];
211
- },
212
-
213
- isShownArrowButton() {
214
- return !!Object.keys(this.backRoute).length;
215
- },
216
-
217
- pageClasses() {
218
- const minHeight =
219
- this.isMobileDevice && !isMobileApp ? "min-height-mobile" : "min-height-desktop";
220
- const rounding =
221
- !this.isDisabledFixedRounding && !this.isMobileDevice ? "fixed-rounding" : "rounding";
222
- const backgroundColor = this.gray ? "bg-color-gray" : "";
223
-
224
- return [minHeight, rounding, backgroundColor];
225
- },
226
-
227
- widthClass() {
228
- return {
229
- "mono-page-size-xs": this.width === "xs", // 400px
230
- "mono-page-size-sm": this.width === "sm", // 500px
231
- "mono-page-size-md": this.width === "md", // 600px
232
- "mono-page-size-lg": this.width === "lg", // 700px
233
- "mono-page-size-xl": this.width === "xl", // 800px
234
- "mono-page-size-2xl": this.width === "2xl", // 900px
235
- "mono-page-size-3xl": this.width === "3xl", // 1000px
236
- "mono-page-size-4xl": this.width === "4xl", // 1100px
237
- "mono-page-size-5xl": this.width === "5xl", // 1200px
238
- "mono-page-size-wide": this.width === "wide", // 100%
239
- };
240
- },
241
-
242
- pageWidthClass() {
243
- return !this.widePage ? this.widthClass : "mono-page-size-wide";
244
- },
245
-
246
- pageAdditionClasses() {
247
- const rounding =
248
- !this.isDisabledFixedRounding && !this.isMobileDevice ? "fixed-rounding" : "";
249
- const backgroundColor = this.gray ? "bg-color-gray" : "";
250
-
251
- return [rounding, backgroundColor];
252
- },
253
-
254
- contentWidthClass() {
255
- return this.widePage ? this.widthClass : "";
256
- },
257
-
258
- headerPaddingClass() {
259
- return this.isHeaderPadding ? "header-padding" : "";
260
- },
261
-
262
- footerPaddingClass() {
263
- return this.isFooterPadding ? "footer-padding" : "";
264
- },
265
-
266
- fixedBlockClass() {
267
- return this.gray ? "bg-color-gray" : "";
268
- },
83
+ const props = defineProps({
84
+ /**
85
+ * The width of the page.
86
+ * @values xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl, wide
87
+ */
88
+ width: {
89
+ type: String,
90
+ default: UIService.get(defaultConfig, UPage).default.width,
269
91
  },
270
92
 
271
- mounted() {
272
- const bodyClasses = document.querySelector("body").classList;
273
-
274
- this.gray ? bodyClasses.add("body-gray-bg") : bodyClasses.remove("body-gray-bg");
93
+ /**
94
+ * Set page title.
95
+ */
96
+ title: {
97
+ type: String,
98
+ default: "",
275
99
  },
276
- };
277
- </script>
278
100
 
279
- <style lang="postcss">
280
- .body-gray-bg {
281
- @apply bg-gray-50;
282
- }
283
- </style>
284
-
285
- <style lang="postcss" scoped>
286
- .mono-page {
287
- @apply mx-auto;
288
- @apply min-h-full;
289
-
290
- &-wrapper {
291
- @apply min-h-full overflow-auto;
292
-
293
- &.rounding {
294
- @apply p-4 md:px-8 md:py-6;
295
- @apply md:rounded-r-2xl;
296
- @apply bg-white bg-cover bg-fixed bg-center;
297
-
298
- &.bg-color-gray {
299
- @apply bg-gray-50;
300
- }
301
- }
302
-
303
- &.fixed-rounding {
304
- @apply relative;
305
- @apply pr-0 md:pr-4;
306
- @apply md:rounded-none;
307
- @apply bg-none;
308
- }
309
- }
101
+ /**
102
+ * Set page title size.
103
+ * @values xs, sm, md, lg, xl, 2xl
104
+ */
105
+ titleSize: {
106
+ type: String,
107
+ default: UIService.get(defaultConfig, UPage).default.titleSize,
108
+ },
310
109
 
311
- &-additional-wrapper {
312
- min-height: 100%;
110
+ /**
111
+ * Set page description.
112
+ */
113
+ description: {
114
+ type: String,
115
+ default: "",
116
+ },
313
117
 
314
- &.fixed-rounding {
315
- @apply p-4 md:py-6 md:pl-8 md:pr-4;
316
- @apply bg-white bg-cover bg-fixed bg-center;
317
- min-height: 100vh;
318
- }
118
+ /**
119
+ * Set Vue router route params for back arrow.
120
+ */
121
+ backRoute: {
122
+ type: Object,
123
+ default: () => ({}),
124
+ },
319
125
 
320
- &.bg-color-gray {
321
- @apply bg-gray-50;
322
- }
323
- }
126
+ /**
127
+ * Set gray background color.
128
+ */
129
+ gray: {
130
+ type: Boolean,
131
+ default: UIService.get(defaultConfig, UPage).default.gray,
132
+ },
324
133
 
325
- &-header {
326
- @apply flex items-start justify-between;
327
- @apply mb-4 md:mb-6;
134
+ /**
135
+ * Reverse left and right footer blocks (in a mobile version only).
136
+ */
137
+ mobileFooterReverse: {
138
+ type: Boolean,
139
+ default: UIService.get(defaultConfig, UPage).default.mobileFooterReverse,
140
+ },
328
141
 
329
- &-left {
330
- &-wrapper {
331
- @apply flex items-center space-x-4;
142
+ /**
143
+ * Stick right page rounding.
144
+ */
145
+ fixedRounding: {
146
+ type: Boolean,
147
+ default: UIService.get(defaultConfig, UPage).default.fixedRounding,
148
+ },
332
149
 
333
- .header-left {
334
- @apply flex flex-col;
335
- }
336
- }
150
+ /**
151
+ * Sets component ui config object.
152
+ */
153
+ config: {
154
+ type: Object,
155
+ default: () => ({}),
156
+ },
337
157
 
338
- &-subtitle {
339
- @apply mt-1.5 text-base font-normal text-gray-600;
340
- }
341
- }
342
- }
158
+ /**
159
+ * Sets data-cy attribute for automated testing.
160
+ */
161
+ dataCy: {
162
+ type: String,
163
+ default: "",
164
+ },
165
+ });
166
+
167
+ const isMobileDevice = computed(() => {
168
+ return store.getters["breakpoint/isMobileDevice"];
169
+ });
170
+
171
+ const {
172
+ config,
173
+ wrapperAttrs,
174
+ pageAttrs,
175
+ rightRoundingAttrs,
176
+ titleAttrs,
177
+ backLinkAttrs,
178
+ backLinkIconAttrs,
179
+ headerAttrs,
180
+ headerLeftFallbackAttrs,
181
+ descriptionAttrs,
182
+ headerLeftAttrs,
183
+ headerRightAttrs,
184
+ footerAttrs,
185
+ footerLeftAttrs,
186
+ footerRightAttrs,
187
+ rightRoundingWrapperAttrs,
188
+ hasSlotContent,
189
+ } = useAttrs(props, { isMobileDevice });
190
+
191
+ const isShownHeader = computed(() => {
192
+ const isHeaderLeftSlot = hasSlotContent(slots["header-left"]);
193
+ const isHeaderRightSlot = hasSlotContent(slots["header-left"]);
194
+
195
+ return props.title || isHeaderLeftSlot || isHeaderRightSlot;
196
+ });
197
+
198
+ const isShownFooterSlot = computed(() => {
199
+ return hasSlotContent(slots["footer-left"]) || hasSlotContent(slots["footer-right"]);
200
+ });
201
+
202
+ const isShownArrowButton = computed(() => {
203
+ return Boolean(Object.keys(props.backRoute).length);
204
+ });
205
+
206
+ onMounted(() => {
207
+ const classes = props.gray
208
+ ? config.value.htmlBody.split(" ").filter((item) => Boolean(item))
209
+ : "";
210
+
211
+ document.querySelector("body").classList.add(...classes);
212
+ });
213
+ </script>
343
214
 
215
+ <style lang="postcss" scoped>
216
+ /**
217
+ * TODO: Move this styles to global vueless config using tailwind group class and remove footer classes
218
+ */
219
+ .vueless-page {
344
220
  &-footer {
345
- @apply mb-0 mt-14 justify-between pt-8 md:flex md:items-baseline;
346
- @apply space-y-4 md:space-y-0;
347
- @apply border-t border-gray-200;
348
-
349
- &-left:deep(.mono-link-wrapper, .mono-dropdown-button) {
221
+ &-left:deep(.vueless-dropdown-button) {
350
222
  @apply !block;
351
223
  }
352
224
 
353
225
  &-right,
354
226
  &-left {
355
- @apply md:flex;
356
- @apply space-y-4 md:space-x-4 md:space-y-0;
357
-
358
- &:deep(.mono-button) {
359
- @apply w-full md:w-auto;
360
- }
361
-
362
- :deep(.mono-dropdown-button) {
227
+ :deep(.vueless-dropdown-button) {
363
228
  .dropdown-block,
364
- .mono-dropdown-button-list {
229
+ .vueless-dropdown-button-list {
365
230
  @apply max-md:w-full;
366
231
  }
367
232
 
368
- .mono-dropdown-item {
233
+ .vueless-dropdown-item {
369
234
  @apply max-md:text-center;
370
235
  }
371
236
 
@@ -374,7 +239,7 @@ export default {
374
239
  }
375
240
  }
376
241
 
377
- &:deep(.mono-dropdown-tag, .mono-dropdown-link, .mono-dropdown-button) {
242
+ &:deep(.vueless-dropdown-tag, .vueless-dropdown-link, .vueless-dropdown-button) {
378
243
  @apply w-full md:w-auto;
379
244
 
380
245
  .dropdown-list {
@@ -395,92 +260,12 @@ export default {
395
260
  .dropdown-wrapper {
396
261
  @apply block w-full;
397
262
 
398
- .mono-svg-icon {
263
+ .vueless-svg-icon {
399
264
  @apply right-auto;
400
265
  }
401
266
  }
402
267
  }
403
268
  }
404
269
  }
405
-
406
- &-fixed-block-wrapper {
407
- @apply absolute right-4;
408
-
409
- .fixed-block {
410
- @apply fixed;
411
- @apply top-0;
412
- @apply w-4;
413
- height: 100vh;
414
- @apply rounded-r-2xl bg-white;
415
-
416
- &.bg-color-gray {
417
- @apply !bg-gray-50;
418
- }
419
- }
420
- }
421
- }
422
-
423
- .header-padding,
424
- .footer-padding {
425
- @apply px-4 md:px-6;
426
- }
427
-
428
- .reverse-footer {
429
- @apply flex flex-col-reverse space-y-reverse;
430
-
431
- .mono-page-footer-right {
432
- @apply flex flex-col-reverse space-y-reverse;
433
- }
434
- }
435
-
436
- .mono-page-size-xs {
437
- @apply md:w-100;
438
- }
439
-
440
- .mono-page-size-sm {
441
- @apply md:w-125;
442
- }
443
-
444
- .mono-page-size-md {
445
- @apply md:w-150;
446
- }
447
-
448
- .mono-page-size-lg {
449
- @apply md:w-175;
450
- }
451
-
452
- .mono-page-size-xl {
453
- @apply md:w-200;
454
- }
455
-
456
- .mono-page-size-2xl {
457
- @apply md:w-225;
458
- }
459
-
460
- .mono-page-size-3xl {
461
- @apply md:w-250;
462
- }
463
-
464
- .mono-page-size-4xl {
465
- @apply md:w-275;
466
- }
467
-
468
- .mono-page-size-5xl {
469
- @apply md:w-300;
470
- }
471
-
472
- .mono-page-size-wide {
473
- @apply md:w-full;
474
- }
475
-
476
- .min-height {
477
- &-desktop {
478
- min-height: 100vh;
479
- }
480
-
481
- &-mobile {
482
- overflow-x: hidden;
483
- margin-bottom: theme("spacing.mobile-menu-height");
484
- }
485
270
  }
486
271
  </style>
@@ -0,0 +1,16 @@
1
+ import { Meta, Title, Subtitle, Description, Primary, Controls, Stories, Source } from "@storybook/blocks";
2
+ import { getSource } from "vueless/service.storybook";
3
+
4
+ import * as stories from "./index.stories";
5
+ import defaultConfig from "./configs/default.config?raw"
6
+
7
+ <Meta of={stories} />
8
+ <Title of={stories} />
9
+ <Subtitle of={stories} />
10
+ <Description of={stories} />
11
+ <Primary of={stories} />
12
+ <Controls of={stories.Default} />
13
+ <Stories of={stories} />
14
+
15
+ ## **Default config**
16
+ <Source code={getSource(defaultConfig)} language="jsx" dark />