vueless 0.0.2 → 0.0.4

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 (666) hide show
  1. package/.browserslistrc +4 -0
  2. package/.editorconfig +12 -0
  3. package/.eslintignore +7 -0
  4. package/.eslintrc.js +59 -0
  5. package/.storybook/configs/main.config.js +20 -0
  6. package/.storybook/decorators/vue3SourceDecorator.js +119 -0
  7. package/.storybook/main.js +20 -0
  8. package/.storybook/manager-head.html +10 -0
  9. package/.storybook/manager.js +6 -0
  10. package/.storybook/preview-head.html +72 -0
  11. package/.storybook/preview.js +50 -0
  12. package/.storybook/themes/vueless.docs.theme.js +41 -0
  13. package/.storybook/themes/vueless.theme.js +45 -0
  14. package/{library.web-types-gen → .web-types-gen}/lib/build.js +35 -9
  15. package/{library.web-types-gen → .web-types-gen}/lib/config.js +9 -3
  16. package/LICENSE +21 -0
  17. package/README.md +174 -0
  18. package/index.pcss +3 -0
  19. package/package.json +56 -6
  20. package/postcss.config.js +9 -0
  21. package/public/images/logo.png +0 -0
  22. package/readme/README.md +8 -0
  23. package/{_readme → readme}/UNotify.md +1 -1
  24. package/{_readme → readme}/UTopLoader.md +2 -2
  25. package/readme/customization.md +347 -0
  26. package/readme/installation.md +139 -0
  27. package/readme/storybook-pages/Customisation.mdx +6 -0
  28. package/readme/storybook-pages/Installation.mdx +7 -0
  29. package/src/composable.ui/index.js +395 -0
  30. package/src/service.storybook/index.js +0 -0
  31. package/src/service.tailwind/index.js +114 -0
  32. package/{service.ui → src/service.ui}/index.js +70 -51
  33. package/src/ui.button/Docs.mdx +0 -0
  34. package/src/ui.button/composables/attrs.composable.js +0 -0
  35. package/src/ui.button/configs/default.config.js +0 -0
  36. package/src/ui.button/constants/index.js +0 -0
  37. package/src/ui.button/index.stories.js +0 -0
  38. package/src/ui.button/index.vue +0 -0
  39. package/src/ui.button-link/Docs.mdx +0 -0
  40. package/src/ui.button-link/composables/attrs.composable.js +0 -0
  41. package/src/ui.button-link/configs/default.config.js +0 -0
  42. package/src/ui.button-link/constants/index.js +0 -0
  43. package/src/ui.button-link/index.stories.js +0 -0
  44. package/src/ui.button-link/index.vue +0 -0
  45. package/src/ui.button-toggle/Docs.mdx +0 -0
  46. package/src/ui.button-toggle/composables/attrs.composable.js +0 -0
  47. package/src/ui.button-toggle/configs/default.config.js +0 -0
  48. package/src/ui.button-toggle/constants/index.js +0 -0
  49. package/src/ui.button-toggle/index.stories.js +0 -0
  50. package/src/ui.button-toggle/index.vue +0 -0
  51. package/src/ui.button-toggle-item/Docs.mdx +0 -0
  52. package/src/ui.button-toggle-item/composables/attrs.composable.js +0 -0
  53. package/src/ui.button-toggle-item/configs/default.config.js +0 -0
  54. package/src/ui.button-toggle-item/constants/index.js +0 -0
  55. package/src/ui.button-toggle-item/index.stories.js +0 -0
  56. package/src/ui.button-toggle-item/index.vue +0 -0
  57. package/src/ui.container-accordion/composables/attrs.composable.js +0 -0
  58. package/src/ui.container-accordion/configs/default.config.js +0 -0
  59. package/src/ui.container-accordion/constants/index.js +0 -0
  60. package/src/ui.container-accordion/index.stories.js +0 -0
  61. package/src/ui.container-accordion/index.vue +0 -0
  62. package/src/ui.container-card/Docs.mdx +0 -0
  63. package/src/ui.container-card/composable/attrs.composable.js +0 -0
  64. package/src/ui.container-card/configs/default.config.js +0 -0
  65. package/src/ui.container-card/constants/index.js +0 -0
  66. package/src/ui.container-card/index.stories.js +0 -0
  67. package/src/ui.container-card/index.vue +0 -0
  68. package/src/ui.container-divider/Docs.mdx +0 -0
  69. package/src/ui.container-divider/composables/attrs.composable.js +65 -0
  70. package/src/ui.container-divider/configs/default.config.js +0 -0
  71. package/src/ui.container-divider/constants/index.js +5 -0
  72. package/src/ui.container-divider/index.stories.js +0 -0
  73. package/src/ui.container-divider/index.vue +138 -0
  74. package/src/ui.container-group/Docs.mdx +0 -0
  75. package/src/ui.container-group/composables/attrs.composable.js +0 -0
  76. package/src/ui.container-group/configs/default.config.js +0 -0
  77. package/src/ui.container-group/constants/index.js +0 -0
  78. package/src/ui.container-group/index.stories.js +0 -0
  79. package/src/ui.container-group/index.vue +0 -0
  80. package/src/ui.container-groups/Docs.mdx +0 -0
  81. package/src/ui.container-groups/composables/attrs.composable.js +0 -0
  82. package/src/ui.container-groups/configs/default.config.js +0 -0
  83. package/src/ui.container-groups/index.stories.js +0 -0
  84. package/src/ui.container-groups/index.vue +0 -0
  85. package/src/ui.container-modal/Docs.mdx +0 -0
  86. package/src/ui.container-modal/composables/attrs.composable.js +0 -0
  87. package/src/ui.container-modal/configs/default.config.js +0 -0
  88. package/src/ui.container-modal/constants/index.js +0 -0
  89. package/src/ui.container-modal/index.stories.js +0 -0
  90. package/src/ui.container-modal/index.vue +0 -0
  91. package/src/ui.container-modal-confirm/Docs.mdx +0 -0
  92. package/src/ui.container-modal-confirm/composable/attrs.composable.js +0 -0
  93. package/src/ui.container-modal-confirm/configs/default.config.js +0 -0
  94. package/src/ui.container-modal-confirm/constants/index.js +0 -0
  95. package/src/ui.container-modal-confirm/index.stories.js +0 -0
  96. package/src/ui.container-modal-confirm/index.vue +0 -0
  97. package/src/ui.container-page/Docs.mdx +0 -0
  98. package/src/ui.container-page/composables/attrs.composable.js +0 -0
  99. package/src/ui.container-page/configs/default.config.js +0 -0
  100. package/src/ui.container-page/constants/index.js +0 -0
  101. package/src/ui.container-page/index.stories.js +0 -0
  102. package/src/ui.container-page/index.vue +0 -0
  103. package/src/ui.container-row/Docs.mdx +0 -0
  104. package/src/ui.container-row/composables/attrs.composable.js +0 -0
  105. package/src/ui.container-row/configs/default.config.js +0 -0
  106. package/src/ui.container-row/constants/index.js +0 -0
  107. package/src/ui.container-row/index.stories.js +0 -0
  108. package/src/ui.container-row/index.vue +0 -0
  109. package/src/ui.data-list/composables/attrs.composable.js +0 -0
  110. package/src/ui.data-list/configs/default.config.js +0 -0
  111. package/src/ui.data-list/constants/index.js +0 -0
  112. package/src/ui.data-list/index.stories.js +0 -0
  113. package/src/ui.data-list/index.vue +0 -0
  114. package/src/ui.data-table/Docs.mdx +0 -0
  115. package/src/ui.data-table/composables/attrs.composable.js +188 -0
  116. package/src/ui.data-table/configs/default.config.js +88 -0
  117. package/src/ui.data-table/constants/index.js +5 -0
  118. package/{ui.data-table → src/ui.data-table}/index.stories.js +76 -46
  119. package/src/ui.data-table/index.vue +725 -0
  120. package/src/ui.data-table/services/table.service.js +15 -0
  121. package/src/ui.data-table-cell/composables/attrs.composable.js +24 -0
  122. package/src/ui.data-table-cell/configs/default.config.js +0 -0
  123. package/src/ui.data-table-cell/constants/index.js +5 -0
  124. package/src/ui.data-table-cell/index.vue +44 -0
  125. package/src/ui.dropdown-badge/Docs.mdx +0 -0
  126. package/src/ui.dropdown-badge/composables/attrs.composable.js +0 -0
  127. package/src/ui.dropdown-badge/configs/default.config.js +0 -0
  128. package/src/ui.dropdown-badge/constants/index.js +0 -0
  129. package/src/ui.dropdown-badge/index.stories.js +0 -0
  130. package/src/ui.dropdown-badge/index.vue +0 -0
  131. package/src/ui.dropdown-button/Docs.mdx +0 -0
  132. package/src/ui.dropdown-button/composables/attrs.composable.js +0 -0
  133. package/src/ui.dropdown-button/configs/default.config.js +0 -0
  134. package/src/ui.dropdown-button/constants/index.js +0 -0
  135. package/src/ui.dropdown-button/index.stories.js +0 -0
  136. package/src/ui.dropdown-button/index.vue +0 -0
  137. package/src/ui.dropdown-item/Docs.mdx +0 -0
  138. package/src/ui.dropdown-item/composables/attrs.composable.js +0 -0
  139. package/src/ui.dropdown-item/configs/default.config.js +0 -0
  140. package/src/ui.dropdown-item/index.stories.js +0 -0
  141. package/src/ui.dropdown-item/index.vue +0 -0
  142. package/src/ui.dropdown-link/Docs.mdx +0 -0
  143. package/src/ui.dropdown-link/composables/attrs.composable.js +0 -0
  144. package/src/ui.dropdown-link/configs/default.config.js +0 -0
  145. package/src/ui.dropdown-link/constants/index.js +0 -0
  146. package/src/ui.dropdown-link/index.stories.js +0 -0
  147. package/src/ui.dropdown-link/index.vue +0 -0
  148. package/src/ui.dropdown-list/Docs.mdx +0 -0
  149. package/src/ui.dropdown-list/composables/attrs.composable.js +0 -0
  150. package/src/ui.dropdown-list/composables/usePointer.js +0 -0
  151. package/src/ui.dropdown-list/configs/default.config.js +0 -0
  152. package/src/ui.dropdown-list/constants/index.js +0 -0
  153. package/src/ui.dropdown-list/index.stories.js +0 -0
  154. package/src/ui.dropdown-list/index.vue +0 -0
  155. package/src/ui.form-calendar/Docs.mdx +0 -0
  156. package/src/ui.form-calendar/components/DayView.vue +0 -0
  157. package/src/ui.form-calendar/components/MonthView.vue +0 -0
  158. package/src/ui.form-calendar/components/YearView.vue +0 -0
  159. package/src/ui.form-calendar/composables/attrs.composable.js +106 -0
  160. package/src/ui.form-calendar/configs/default.config.js +125 -0
  161. package/src/ui.form-calendar/constants/index.js +0 -0
  162. package/src/ui.form-calendar/index.stories.js +0 -0
  163. package/src/ui.form-calendar/index.vue +0 -0
  164. package/src/ui.form-calendar/services/calendar.service.js +0 -0
  165. package/src/ui.form-calendar/services/date.service.js +282 -0
  166. package/src/ui.form-calendar/services/formatting.service.js +0 -0
  167. package/src/ui.form-checkbox/Docs.mdx +0 -0
  168. package/src/ui.form-checkbox/composables/attrs.composable.js +57 -0
  169. package/src/ui.form-checkbox/configs/default.config.js +0 -0
  170. package/src/ui.form-checkbox/constants/index.js +5 -0
  171. package/src/ui.form-checkbox/index.stories.js +0 -0
  172. package/src/ui.form-checkbox/index.vue +241 -0
  173. package/src/ui.form-checkbox-group/Docs.mdx +0 -0
  174. package/src/ui.form-checkbox-group/composables/attrs.composable.js +0 -0
  175. package/src/ui.form-checkbox-group/configs/default.config.js +0 -0
  176. package/src/ui.form-checkbox-group/constants/index.js +0 -0
  177. package/src/ui.form-checkbox-group/index.stories.js +0 -0
  178. package/src/ui.form-checkbox-group/index.vue +0 -0
  179. package/src/ui.form-checkbox-multi-state/Docs.mdx +0 -0
  180. package/src/ui.form-checkbox-multi-state/composables/attrs.composable.js +0 -0
  181. package/src/ui.form-checkbox-multi-state/configs/default.config.js +0 -0
  182. package/src/ui.form-checkbox-multi-state/constants/index.js +0 -0
  183. package/src/ui.form-checkbox-multi-state/index.stories.js +0 -0
  184. package/src/ui.form-checkbox-multi-state/index.vue +0 -0
  185. package/src/ui.form-color-picker/composables/attrs.composable.js +0 -0
  186. package/src/ui.form-color-picker/configs/default.config.js +0 -0
  187. package/src/ui.form-color-picker/constants/index.js +0 -0
  188. package/src/ui.form-color-picker/index.stories.js +0 -0
  189. package/src/ui.form-color-picker/index.vue +0 -0
  190. package/src/ui.form-date-picker/Docs.mdx +0 -0
  191. package/src/ui.form-date-picker/composables/attrs.composable.js +0 -0
  192. package/src/ui.form-date-picker/configs/default.config.js +0 -0
  193. package/src/ui.form-date-picker/constants/index.js +0 -0
  194. package/src/ui.form-date-picker/index.stories.js +0 -0
  195. package/src/ui.form-date-picker/index.vue +0 -0
  196. package/src/ui.form-date-picker-range/composables/attrs.composable.js +100 -0
  197. package/src/ui.form-date-picker-range/configs/default.config.js +172 -0
  198. package/src/ui.form-date-picker-range/constants/index.js +0 -0
  199. package/src/ui.form-date-picker-range/index.stories.js +0 -0
  200. package/src/ui.form-date-picker-range/index.vue +0 -0
  201. package/src/ui.form-date-picker-range/services/dateRange.service.js +0 -0
  202. package/src/ui.form-date-picker-range/services/validation.service.js +22 -0
  203. package/src/ui.form-input/Docs.mdx +0 -0
  204. package/src/ui.form-input/assets/fonts/text-security-disc.woff +0 -0
  205. package/src/ui.form-input/composables/attrs.composable.js +0 -0
  206. package/src/ui.form-input/configs/default.config.js +0 -0
  207. package/src/ui.form-input/constants/index.js +0 -0
  208. package/src/ui.form-input/index.stories.js +0 -0
  209. package/src/ui.form-input/index.vue +0 -0
  210. package/src/ui.form-input-file/composables/attrs.composable.js +0 -0
  211. package/src/ui.form-input-file/configs/default.config.js +0 -0
  212. package/src/ui.form-input-file/constants/index.js +0 -0
  213. package/src/ui.form-input-file/index.stories.js +0 -0
  214. package/src/ui.form-input-file/index.vue +0 -0
  215. package/src/ui.form-input-money/Docs.mdx +0 -0
  216. package/src/ui.form-input-money/composables/attrs.composable.js +0 -0
  217. package/src/ui.form-input-money/composables/useFormatCurrency.js +0 -0
  218. package/src/ui.form-input-money/configs/default.config.js +0 -0
  219. package/src/ui.form-input-money/constants/index.js +0 -0
  220. package/src/ui.form-input-money/index.stories.js +0 -0
  221. package/src/ui.form-input-money/index.vue +0 -0
  222. package/src/ui.form-input-money/services/format.service.js +0 -0
  223. package/src/ui.form-input-number/Docs.mdx +0 -0
  224. package/src/ui.form-input-number/composables/attrs.composable.js +0 -0
  225. package/src/ui.form-input-number/configs/default.config.js +0 -0
  226. package/src/ui.form-input-number/constants/index.js +0 -0
  227. package/src/ui.form-input-number/index.stories.js +0 -0
  228. package/src/ui.form-input-number/index.vue +0 -0
  229. package/src/ui.form-input-rating/composables/attrs.composable.js +0 -0
  230. package/src/ui.form-input-rating/configs/default.config.js +25 -0
  231. package/src/ui.form-input-rating/constants/index.js +0 -0
  232. package/{ui.form-input-rating → src/ui.form-input-rating}/index.stories.js +6 -5
  233. package/src/ui.form-input-rating/index.vue +185 -0
  234. package/src/ui.form-input-search/composables/attrs.composable.js +0 -0
  235. package/src/ui.form-input-search/configs/default.config.js +0 -0
  236. package/src/ui.form-input-search/constants/index.js +0 -0
  237. package/src/ui.form-input-search/index.stories.js +0 -0
  238. package/src/ui.form-input-search/index.vue +0 -0
  239. package/src/ui.form-label/Docs.mdx +0 -0
  240. package/src/ui.form-label/composables/attrs.composable.js +0 -0
  241. package/src/ui.form-label/configs/default.config.js +0 -0
  242. package/src/ui.form-label/constants/index.js +0 -0
  243. package/src/ui.form-label/index.stories.js +0 -0
  244. package/src/ui.form-label/index.vue +0 -0
  245. package/src/ui.form-radio/Docs.mdx +0 -0
  246. package/src/ui.form-radio/composables/attrs.composable.js +0 -0
  247. package/src/ui.form-radio/configs/default.config.js +0 -0
  248. package/src/ui.form-radio/constants/index.js +0 -0
  249. package/src/ui.form-radio/index.stories.js +0 -0
  250. package/src/ui.form-radio/index.vue +0 -0
  251. package/src/ui.form-radio-card/Docs.mdx +0 -0
  252. package/src/ui.form-radio-card/composables/attrs.composable.js +35 -0
  253. package/src/ui.form-radio-card/configs/default.config.js +25 -0
  254. package/src/ui.form-radio-card/constants/index.js +0 -0
  255. package/src/ui.form-radio-card/index.stories.js +0 -0
  256. package/src/ui.form-radio-card/index.vue +159 -0
  257. package/src/ui.form-radio-card/services/variant.service.js +0 -0
  258. package/src/ui.form-radio-group/Docs.mdx +0 -0
  259. package/src/ui.form-radio-group/composables/attrs.composable.js +0 -0
  260. package/src/ui.form-radio-group/configs/default.config.js +0 -0
  261. package/src/ui.form-radio-group/constants/index.js +0 -0
  262. package/src/ui.form-radio-group/index.stories.js +0 -0
  263. package/src/ui.form-radio-group/index.vue +0 -0
  264. package/src/ui.form-select/Docs.mdx +0 -0
  265. package/src/ui.form-select/composables/attrs.composable.js +0 -0
  266. package/src/ui.form-select/configs/default.config.js +0 -0
  267. package/src/ui.form-select/constants/index.js +0 -0
  268. package/src/ui.form-select/index.stories.js +0 -0
  269. package/src/ui.form-select/index.vue +0 -0
  270. package/src/ui.form-select/services/select.service.js +0 -0
  271. package/src/ui.form-switch/composables/attrs.composable.js +0 -0
  272. package/src/ui.form-switch/configs/default.config.js +0 -0
  273. package/src/ui.form-switch/constants/index.js +0 -0
  274. package/src/ui.form-switch/index.stories.js +0 -0
  275. package/src/ui.form-switch/index.vue +0 -0
  276. package/src/ui.form-switch/services/variant.service.js +0 -0
  277. package/src/ui.form-textarea/Docs.mdx +0 -0
  278. package/src/ui.form-textarea/composables/attrs.composable.js +0 -0
  279. package/src/ui.form-textarea/configs/default.config.js +0 -0
  280. package/src/ui.form-textarea/constants/index.js +0 -0
  281. package/src/ui.form-textarea/index.stories.js +0 -0
  282. package/src/ui.form-textarea/index.vue +0 -0
  283. package/src/ui.image-avatar/composables/attrs.composable.js +0 -0
  284. package/src/ui.image-avatar/configs/default.config.js +0 -0
  285. package/src/ui.image-avatar/constants/index.js +0 -0
  286. package/src/ui.image-avatar/default-avatar.png +0 -0
  287. package/src/ui.image-avatar/index.stories.js +0 -0
  288. package/src/ui.image-avatar/index.vue +0 -0
  289. package/src/ui.image-icon/Docs.mdx +0 -0
  290. package/src/ui.image-icon/composables/attrs.composable.js +65 -0
  291. package/src/ui.image-icon/configs/default.config.js +90 -0
  292. package/src/ui.image-icon/constants/index.js +5 -0
  293. package/src/ui.image-icon/index.stories.js +0 -0
  294. package/src/ui.image-icon/index.vue +223 -0
  295. package/src/ui.image-logo/composables/attrs.composable.js +41 -0
  296. package/src/ui.image-logo/configs/default.config.js +0 -0
  297. package/src/ui.image-logo/constants/index.js +5 -0
  298. package/src/ui.image-logo/index.stories.js +0 -0
  299. package/src/ui.image-logo/index.vue +98 -0
  300. package/{layout-ui.loader → src/ui.loader-rendering}/index.vue +16 -5
  301. package/src/ui.loader-top/components/TopProgress.vue +0 -0
  302. package/{layout-ui.loader-top → src/ui.loader-top}/index.vue +20 -17
  303. package/{layout-ui.loader-top → src/ui.loader-top}/store/index.js +11 -7
  304. package/src/ui.navigation-pagination/composables/attrs.composable.js +0 -0
  305. package/src/ui.navigation-pagination/configs/default.config.js +0 -0
  306. package/src/ui.navigation-pagination/constants/index.js +0 -0
  307. package/src/ui.navigation-pagination/index.stories.js +0 -0
  308. package/src/ui.navigation-pagination/index.vue +0 -0
  309. package/src/ui.navigation-stepper/composables/attrs.composable.js +0 -0
  310. package/src/ui.navigation-stepper/configs/default.config.js +0 -0
  311. package/src/ui.navigation-stepper/constants/index.js +0 -0
  312. package/src/ui.navigation-stepper/index.stories.js +0 -0
  313. package/src/ui.navigation-stepper/index.vue +0 -0
  314. package/src/ui.navigation-tab/composables/attrs.composable.js +0 -0
  315. package/src/ui.navigation-tab/configs/default.config.js +0 -0
  316. package/src/ui.navigation-tab/constants/index.js +0 -0
  317. package/src/ui.navigation-tab/index.stories.js +0 -0
  318. package/src/ui.navigation-tab/index.vue +0 -0
  319. package/src/ui.navigation-tabs/composables/attrs.composable.js +0 -0
  320. package/src/ui.navigation-tabs/configs/default.config.js +0 -0
  321. package/src/ui.navigation-tabs/constants/index.js +0 -0
  322. package/src/ui.navigation-tabs/index.stories.js +0 -0
  323. package/src/ui.navigation-tabs/index.vue +0 -0
  324. package/src/ui.notify/index.stories.js +0 -0
  325. package/{layout-ui.notify → src/ui.notify}/index.vue +14 -20
  326. package/{service.notify → src/ui.notify/services}/index.js +1 -1
  327. package/src/ui.other-dot/composables/attrs.composable.js +0 -0
  328. package/src/ui.other-dot/configs/default.config.js +0 -0
  329. package/src/ui.other-dot/constants/index.js +0 -0
  330. package/src/ui.other-dot/index.stories.js +0 -0
  331. package/src/ui.other-dot/index.vue +0 -0
  332. package/src/ui.other-loader/composables/attrs.composable.js +0 -0
  333. package/src/ui.other-loader/configs/default.config.js +0 -0
  334. package/src/ui.other-loader/constants/index.js +0 -0
  335. package/src/ui.other-loader/index.stories.js +0 -0
  336. package/src/ui.other-loader/index.vue +0 -0
  337. package/src/ui.text-alert/composables/attrs.composable.js +0 -0
  338. package/src/ui.text-alert/configs/default.config.js +0 -0
  339. package/src/ui.text-alert/constatns/index.js +0 -0
  340. package/src/ui.text-alert/index.stories.js +0 -0
  341. package/src/ui.text-alert/index.vue +0 -0
  342. package/src/ui.text-badge/Docs.mdx +0 -0
  343. package/src/ui.text-badge/composables/attrs.composable.js +0 -0
  344. package/src/ui.text-badge/configs/default.config.js +0 -0
  345. package/src/ui.text-badge/constants/index.js +0 -0
  346. package/src/ui.text-badge/index.stories.js +0 -0
  347. package/src/ui.text-badge/index.vue +0 -0
  348. package/src/ui.text-block/composables/attrs.composable.js +0 -0
  349. package/src/ui.text-block/configs/default.config.js +0 -0
  350. package/src/ui.text-block/constatns/index.js +0 -0
  351. package/src/ui.text-block/index.stories.js +0 -0
  352. package/src/ui.text-block/index.vue +0 -0
  353. package/src/ui.text-empty/Docs.mdx +0 -0
  354. package/src/ui.text-empty/composables/attrs.composable.js +43 -0
  355. package/src/ui.text-empty/configs/default.config.js +0 -0
  356. package/{constant.component-names → src/ui.text-empty/constants}/index.js +1 -2
  357. package/src/ui.text-empty/index.stories.js +0 -0
  358. package/{ui.text-empty → src/ui.text-empty}/index.vue +14 -15
  359. package/src/ui.text-file/composables/attrs.composable.js +0 -0
  360. package/src/ui.text-file/configs/default.config.js +0 -0
  361. package/src/ui.text-file/index.stories.js +0 -0
  362. package/src/ui.text-file/index.vue +0 -0
  363. package/src/ui.text-files/composables/attrs.composable.js +0 -0
  364. package/src/ui.text-files/configs/default.config.js +0 -0
  365. package/src/ui.text-files/constants/index.js +0 -0
  366. package/src/ui.text-files/index.stories.js +0 -0
  367. package/src/ui.text-files/index.vue +0 -0
  368. package/src/ui.text-header/Docs.mdx +0 -0
  369. package/src/ui.text-header/composables/attrs.composable.js +0 -0
  370. package/src/ui.text-header/configs/default.config.js +45 -0
  371. package/src/ui.text-header/constants/index.js +0 -0
  372. package/src/ui.text-header/index.stories.js +0 -0
  373. package/src/ui.text-header/index.vue +0 -0
  374. package/src/ui.text-money/Docs.mdx +0 -0
  375. package/src/ui.text-money/assets/credit.svg +0 -0
  376. package/src/ui.text-money/assets/debit.svg +0 -0
  377. package/src/ui.text-money/composables/attrs.composable.js +0 -0
  378. package/src/ui.text-money/configs/default.config.js +69 -0
  379. package/src/ui.text-money/constants/index.js +0 -0
  380. package/src/ui.text-money/index.stories.js +0 -0
  381. package/src/ui.text-money/index.vue +0 -0
  382. package/src/ui.text-money/services/money.services.js +0 -0
  383. package/src/ui.viewport/index.vue +0 -0
  384. package/tailwind.config.js +69 -0
  385. package/vite.config.mjs +39 -0
  386. package/vueless.config.js +7 -0
  387. package/web-types.json +3110 -2243
  388. package/_readme/README.md +0 -78
  389. package/_readme/layoutAdmin.md +0 -703
  390. package/_readme/layoutApp.md +0 -153
  391. package/_readme/layoutAuth.md +0 -190
  392. package/composable.ui/index.js +0 -81
  393. package/config.rollup-plugin-visualizer/index.js +0 -11
  394. package/config.unplugin-vue-i18n/index.js +0 -9
  395. package/config.vite-plugin-pwa/index.js +0 -132
  396. package/config.vite-svg-loader/index.js +0 -22
  397. package/index.js +0 -151
  398. package/layout-ui.loader-top/components/TopProgress.vue +0 -277
  399. package/layout-ui.notify/index.stories.js +0 -102
  400. package/layout-ui.viewport/index.vue +0 -78
  401. package/layout.admin/AsideBlock.vue +0 -534
  402. package/layout.admin/AsideInfoBlock.vue +0 -85
  403. package/layout.admin/BrandBlock.vue +0 -380
  404. package/layout.admin/ChangeThemeModal.vue +0 -179
  405. package/layout.admin/HelperBlock.vue +0 -132
  406. package/layout.admin/MainMenu.vue +0 -234
  407. package/layout.admin/MainSubMenu.vue +0 -196
  408. package/layout.admin/MobileMainMenu.vue +0 -197
  409. package/layout.admin/MobileSubBlock.vue +0 -171
  410. package/layout.admin/RightInfoBlock.vue +0 -166
  411. package/layout.admin/UserBlock.vue +0 -290
  412. package/layout.admin/images/abstract-01.jpg +0 -0
  413. package/layout.admin/images/abstract-01_preview.jpg +0 -0
  414. package/layout.admin/index.vue +0 -544
  415. package/layout.admin/mixins/index.js +0 -54
  416. package/layout.admin/store/index.js +0 -167
  417. package/layout.auth/FeaturesBlock.vue +0 -57
  418. package/layout.auth/FooterMenu.vue +0 -90
  419. package/layout.auth/LanguageSwitcher.vue +0 -90
  420. package/layout.auth/index.vue +0 -237
  421. package/library.vue-tailwind-3/TDatepicker/components/t-date-trigger.js +0 -257
  422. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-navigator.js +0 -600
  423. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-time-selector.js +0 -522
  424. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-calendar-days-day.js +0 -289
  425. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-calendar-days.js +0 -236
  426. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-calendar-headers.js +0 -64
  427. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-calendar.js +0 -159
  428. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-months-month.js +0 -106
  429. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-months.js +0 -97
  430. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-years-year.js +0 -117
  431. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view-years.js +0 -104
  432. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views-view.js +0 -294
  433. package/library.vue-tailwind-3/TDatepicker/components/t-datepicker-views.js +0 -212
  434. package/library.vue-tailwind-3/TDatepicker/components/t-toggle.js +0 -323
  435. package/library.vue-tailwind-3/TDatepicker/index.js +0 -1051
  436. package/library.vue-tailwind-3/base/Component.js +0 -126
  437. package/library.vue-tailwind-3/base/HtmlInput.js +0 -38
  438. package/library.vue-tailwind-3/base/TextInput.js +0 -102
  439. package/library.vue-tailwind-3/index.js +0 -12
  440. package/library.vue-tailwind-3/l10n/ar.js +0 -27
  441. package/library.vue-tailwind-3/l10n/at.js +0 -29
  442. package/library.vue-tailwind-3/l10n/az.js +0 -40
  443. package/library.vue-tailwind-3/l10n/be.js +0 -35
  444. package/library.vue-tailwind-3/l10n/bg.js +0 -41
  445. package/library.vue-tailwind-3/l10n/bn.js +0 -39
  446. package/library.vue-tailwind-3/l10n/bs.js +0 -28
  447. package/library.vue-tailwind-3/l10n/cat.js +0 -59
  448. package/library.vue-tailwind-3/l10n/cs.js +0 -35
  449. package/library.vue-tailwind-3/l10n/cy.js +0 -68
  450. package/library.vue-tailwind-3/l10n/da.js +0 -31
  451. package/library.vue-tailwind-3/l10n/de.js +0 -30
  452. package/library.vue-tailwind-3/l10n/default.js +0 -54
  453. package/library.vue-tailwind-3/l10n/eo.js +0 -31
  454. package/library.vue-tailwind-3/l10n/es.js +0 -32
  455. package/library.vue-tailwind-3/l10n/et.js +0 -46
  456. package/library.vue-tailwind-3/l10n/fa.js +0 -41
  457. package/library.vue-tailwind-3/l10n/fi.js +0 -50
  458. package/library.vue-tailwind-3/l10n/fo.js +0 -40
  459. package/library.vue-tailwind-3/l10n/fr.js +0 -48
  460. package/library.vue-tailwind-3/l10n/ga.js +0 -36
  461. package/library.vue-tailwind-3/l10n/gr.js +0 -33
  462. package/library.vue-tailwind-3/l10n/he.js +0 -41
  463. package/library.vue-tailwind-3/l10n/hi.js +0 -39
  464. package/library.vue-tailwind-3/l10n/hr.js +0 -41
  465. package/library.vue-tailwind-3/l10n/hu.js +0 -46
  466. package/library.vue-tailwind-3/l10n/id.js +0 -30
  467. package/library.vue-tailwind-3/l10n/index.js +0 -127
  468. package/library.vue-tailwind-3/l10n/is.js +0 -40
  469. package/library.vue-tailwind-3/l10n/it.js +0 -31
  470. package/library.vue-tailwind-3/l10n/ja.js +0 -42
  471. package/library.vue-tailwind-3/l10n/ka.js +0 -35
  472. package/library.vue-tailwind-3/l10n/km.js +0 -45
  473. package/library.vue-tailwind-3/l10n/ko.js +0 -41
  474. package/library.vue-tailwind-3/l10n/kz.js +0 -34
  475. package/library.vue-tailwind-3/l10n/lt.js +0 -41
  476. package/library.vue-tailwind-3/l10n/lv.js +0 -37
  477. package/library.vue-tailwind-3/l10n/mk.js +0 -30
  478. package/library.vue-tailwind-3/l10n/mn.js +0 -42
  479. package/library.vue-tailwind-3/l10n/ms.js +0 -28
  480. package/library.vue-tailwind-3/l10n/my.js +0 -42
  481. package/library.vue-tailwind-3/l10n/nl.js +0 -48
  482. package/library.vue-tailwind-3/l10n/no.js +0 -31
  483. package/library.vue-tailwind-3/l10n/pa.js +0 -27
  484. package/library.vue-tailwind-3/l10n/pl.js +0 -31
  485. package/library.vue-tailwind-3/l10n/pt.js +0 -36
  486. package/library.vue-tailwind-3/l10n/ro.js +0 -29
  487. package/library.vue-tailwind-3/l10n/ru.js +0 -48
  488. package/library.vue-tailwind-3/l10n/si.js +0 -40
  489. package/library.vue-tailwind-3/l10n/sk.js +0 -32
  490. package/library.vue-tailwind-3/l10n/sl.js +0 -32
  491. package/library.vue-tailwind-3/l10n/sq.js +0 -27
  492. package/library.vue-tailwind-3/l10n/sr-cyr.js +0 -29
  493. package/library.vue-tailwind-3/l10n/sr.js +0 -30
  494. package/library.vue-tailwind-3/l10n/sv.js +0 -30
  495. package/library.vue-tailwind-3/l10n/th.js +0 -43
  496. package/library.vue-tailwind-3/l10n/tr.js +0 -32
  497. package/library.vue-tailwind-3/l10n/uk.js +0 -28
  498. package/library.vue-tailwind-3/l10n/uz.js +0 -35
  499. package/library.vue-tailwind-3/l10n/uz_latn.js +0 -48
  500. package/library.vue-tailwind-3/l10n/vn.js +0 -41
  501. package/library.vue-tailwind-3/l10n/zh-tw.js +0 -41
  502. package/library.vue-tailwind-3/l10n/zh.js +0 -41
  503. package/library.vue-tailwind-3/services/date.service.js +0 -294
  504. package/library.vue-tailwind-3/services/formatting.service.js +0 -205
  505. package/library.vue-tailwind-3/services/vueTailwind.service.js +0 -41
  506. package/library.vue-tailwind-3/t-alert.js +0 -151
  507. package/library.vue-tailwind-3/t-button.js +0 -243
  508. package/library.vue-tailwind-3/t-card.js +0 -98
  509. package/library.vue-tailwind-3/t-checkbox.js +0 -292
  510. package/library.vue-tailwind-3/t-dropdown.js +0 -322
  511. package/library.vue-tailwind-3/t-input.js +0 -68
  512. package/library.vue-tailwind-3/t-modal.js +0 -409
  513. package/library.vue-tailwind-3/t-pagination.js +0 -309
  514. package/library.vue-tailwind-3/t-radio.js +0 -301
  515. package/library.vue-tailwind-3/t-table.js +0 -362
  516. package/library.vue-tailwind-3/t-textarea.js +0 -84
  517. package/resolver.unplugin-vue-components/index.js +0 -94
  518. package/service.api/index.js +0 -275
  519. package/service.data/index.js +0 -75
  520. package/service.date/index.js +0 -222
  521. package/service.i18n/index.js +0 -145
  522. package/service.idb-keyval/index.js +0 -37
  523. package/service.jwt/index.js +0 -27
  524. package/service.money/index.js +0 -86
  525. package/service.redirect/index.js +0 -20
  526. package/service.storybook/index.js +0 -118
  527. package/service.validation/index.js +0 -55
  528. package/service.worker/index.js +0 -26
  529. package/ui.button/index.stories.js +0 -165
  530. package/ui.button/index.vue +0 -1018
  531. package/ui.button-expand/index.stories.js +0 -44
  532. package/ui.button-expand/index.vue +0 -22
  533. package/ui.button-expand-item/index.stories.js +0 -69
  534. package/ui.button-expand-item/index.vue +0 -154
  535. package/ui.button-group/index.stories.js +0 -104
  536. package/ui.button-group/index.vue +0 -165
  537. package/ui.button-group-item/index.stories.js +0 -74
  538. package/ui.button-group-item/index.vue +0 -283
  539. package/ui.button-link/index.stories.js +0 -121
  540. package/ui.button-link/index.vue +0 -541
  541. package/ui.container-accordion/index.stories.js +0 -88
  542. package/ui.container-accordion/index.vue +0 -167
  543. package/ui.container-card/index.stories.js +0 -128
  544. package/ui.container-card/index.vue +0 -207
  545. package/ui.container-divider/index.stories.js +0 -91
  546. package/ui.container-divider/index.vue +0 -201
  547. package/ui.container-group/index.stories.js +0 -87
  548. package/ui.container-group/index.vue +0 -172
  549. package/ui.container-groups/index.stories.js +0 -44
  550. package/ui.container-groups/index.vue +0 -18
  551. package/ui.container-modal/components/ArrowLink.vue +0 -87
  552. package/ui.container-modal/index.stories.js +0 -169
  553. package/ui.container-modal/index.vue +0 -416
  554. package/ui.container-modal-confirm/index.stories.js +0 -150
  555. package/ui.container-modal-confirm/index.vue +0 -186
  556. package/ui.container-page/components/ArrowLink.vue +0 -87
  557. package/ui.container-page/index.stories.js +0 -174
  558. package/ui.container-page/index.vue +0 -486
  559. package/ui.container-row/index.stories.js +0 -71
  560. package/ui.container-row/index.vue +0 -52
  561. package/ui.data-list/index.stories.js +0 -90
  562. package/ui.data-list/index.vue +0 -367
  563. package/ui.data-table/components/DateSeparator.vue +0 -99
  564. package/ui.data-table/components/EmptyTableMsg.vue +0 -46
  565. package/ui.data-table/components/TableCheckbox.vue +0 -109
  566. package/ui.data-table/index.vue +0 -1101
  567. package/ui.dropdown-button/index.stories.js +0 -157
  568. package/ui.dropdown-button/index.vue +0 -331
  569. package/ui.dropdown-item/index.stories.js +0 -29
  570. package/ui.dropdown-item/index.vue +0 -70
  571. package/ui.dropdown-link/index.stories.js +0 -127
  572. package/ui.dropdown-link/index.vue +0 -330
  573. package/ui.dropdown-list/index.stories.js +0 -46
  574. package/ui.dropdown-list/index.vue +0 -139
  575. package/ui.dropdown-tag/index.stories.js +0 -125
  576. package/ui.dropdown-tag/index.vue +0 -285
  577. package/ui.form-checkbox/index.stories.js +0 -98
  578. package/ui.form-checkbox/index.vue +0 -301
  579. package/ui.form-checkbox-group/index.stories.js +0 -39
  580. package/ui.form-checkbox-group/index.vue +0 -216
  581. package/ui.form-checkbox-multi-state/index.stories.js +0 -62
  582. package/ui.form-checkbox-multi-state/index.vue +0 -244
  583. package/ui.form-color-picker/index.vue +0 -350
  584. package/ui.form-date-picker/index.stories.js +0 -119
  585. package/ui.form-date-picker/index.vue +0 -851
  586. package/ui.form-date-picker-range/components/VariantButton.vue +0 -136
  587. package/ui.form-date-picker-range/components/VariantInput.vue +0 -101
  588. package/ui.form-date-picker-range/index.stories.js +0 -93
  589. package/ui.form-date-picker-range/index.vue +0 -1537
  590. package/ui.form-date-picker-range/services/dateRange.service.js +0 -178
  591. package/ui.form-input/index.stories.js +0 -132
  592. package/ui.form-input/index.vue +0 -524
  593. package/ui.form-input/text-security-disc.woff +0 -0
  594. package/ui.form-input-file/index.stories.js +0 -85
  595. package/ui.form-input-file/index.vue +0 -584
  596. package/ui.form-input-money/_components/ConvertibleInput.vue +0 -773
  597. package/ui.form-input-money/_components/RangeInput.vue +0 -356
  598. package/ui.form-input-money/_components/SingleInput.vue +0 -378
  599. package/ui.form-input-money/index.stories.js +0 -98
  600. package/ui.form-input-money/index.vue +0 -260
  601. package/ui.form-input-number/index.stories.js +0 -33
  602. package/ui.form-input-number/index.vue +0 -127
  603. package/ui.form-input-rating/index.vue +0 -242
  604. package/ui.form-input-search/index.stories.js +0 -86
  605. package/ui.form-input-search/index.vue +0 -210
  606. package/ui.form-radio/index.stories.js +0 -69
  607. package/ui.form-radio/index.vue +0 -176
  608. package/ui.form-radio-card/index.stories.js +0 -140
  609. package/ui.form-radio-card/index.vue +0 -183
  610. package/ui.form-radio-group/index.stories.js +0 -41
  611. package/ui.form-radio-group/index.vue +0 -98
  612. package/ui.form-select/index.stories.js +0 -183
  613. package/ui.form-select/index.vue +0 -1025
  614. package/ui.form-select-multi/index.stories.js +0 -131
  615. package/ui.form-select-multi/index.vue +0 -882
  616. package/ui.form-switch/index.stories.js +0 -126
  617. package/ui.form-switch/index.vue +0 -673
  618. package/ui.form-textarea/index.stories.js +0 -109
  619. package/ui.form-textarea/index.vue +0 -399
  620. package/ui.image-avatar/default-avatar.png +0 -0
  621. package/ui.image-avatar/index.stories.js +0 -106
  622. package/ui.image-avatar/index.vue +0 -253
  623. package/ui.image-icon/cli.mjs +0 -159
  624. package/ui.image-icon/index.stories.js +0 -129
  625. package/ui.image-icon/index.vue +0 -511
  626. package/ui.image-logo/index.stories.js +0 -84
  627. package/ui.image-logo/index.vue +0 -184
  628. package/ui.navigation-pagination/index.stories.js +0 -35
  629. package/ui.navigation-pagination/index.vue +0 -115
  630. package/ui.navigation-stepper/index.stories.js +0 -29
  631. package/ui.navigation-stepper/index.vue +0 -129
  632. package/ui.navigation-tab/index.stories.js +0 -61
  633. package/ui.navigation-tab/index.vue +0 -112
  634. package/ui.navigation-tabs/index.stories.js +0 -73
  635. package/ui.navigation-tabs/index.vue +0 -119
  636. package/ui.other-dot/index.stories.js +0 -77
  637. package/ui.other-dot/index.vue +0 -100
  638. package/ui.other-loader/index.stories.js +0 -77
  639. package/ui.other-loader/index.vue +0 -185
  640. package/ui.text-alert/index.stories.js +0 -124
  641. package/ui.text-alert/index.vue +0 -236
  642. package/ui.text-block/index.stories.js +0 -111
  643. package/ui.text-block/index.vue +0 -137
  644. package/ui.text-empty/configs/default.config.js +0 -28
  645. package/ui.text-empty/index.stories.js +0 -106
  646. package/ui.text-empty/services/variant.service.js +0 -22
  647. package/ui.text-field/index.stories.js +0 -60
  648. package/ui.text-field/index.vue +0 -109
  649. package/ui.text-file/index.stories.js +0 -28
  650. package/ui.text-file/index.vue +0 -102
  651. package/ui.text-files/index.stories.js +0 -31
  652. package/ui.text-files/index.vue +0 -64
  653. package/ui.text-header/index.stories.js +0 -110
  654. package/ui.text-header/index.vue +0 -237
  655. package/ui.text-money/assets/credit.svg +0 -7
  656. package/ui.text-money/assets/debit.svg +0 -12
  657. package/ui.text-money/index.stories.js +0 -263
  658. package/ui.text-money/index.vue +0 -523
  659. package/ui.text-tag/index.stories.js +0 -90
  660. package/ui.text-tag/index.vue +0 -178
  661. /package/{library.web-types-gen → .web-types-gen}/index.js +0 -0
  662. /package/{library.web-types-gen → .web-types-gen}/package.json +0 -0
  663. /package/{_readme → readme}/UGroup.md +0 -0
  664. /package/{_readme → readme}/UPage.md +0 -0
  665. /package/{layout-ui.loader → src/ui.loader-rendering}/store/index.js +0 -0
  666. /package/{layout-ui.viewport → src/ui.viewport}/store/index.js +0 -0
@@ -1,882 +0,0 @@
1
- <template>
2
- <div class="mono-multiselect-block">
3
- <div :id="wrapperId" class="mono-multiselect-wrapper" :class="multiselectClass">
4
- <label class="mono-multiselect-label" :class="labelClasses" :for="id">
5
- {{ label }}
6
- </label>
7
-
8
- <Multiselect
9
- :id="id"
10
- ref="multiselect"
11
- v-model="selectValue"
12
- class="mono-multiselect"
13
- :options="withInternalSearch ? options : asyncOptions"
14
- :options-limit="optionsLimit"
15
- :multiple="true"
16
- :label="itemLabel"
17
- :track-by="valueKey"
18
- :open-direction="openDirection"
19
- select-label=""
20
- deselect-label=""
21
- selected-label=""
22
- hide-selected
23
- :group-label="groupLabel"
24
- :group-values="groupValues"
25
- :disabled="disabled"
26
- :placeholder="placeholderState"
27
- :allow-empty="allowEmpty"
28
- :internal-search="withInternalSearch"
29
- :loading="isLoading"
30
- :taggable="true"
31
- :tag-position="tagPosition"
32
- :data-cy="dataCy"
33
- tag-placeholder=""
34
- :searchable="searchable"
35
- :option-height="optionHeight"
36
- @open="onOpen"
37
- @close="onClose"
38
- @searchChange="onSearchChange"
39
- >
40
- <template #selection="{ values }">
41
- <div class="tags">
42
- <div v-for="(tag, index) in values" :key="index" class="tags-wrapper">
43
- <div
44
- class="tags-title"
45
- :data-cy="`${dataCy}-item-${index}`"
46
- :class="hideInactiveElement(tag)"
47
- >
48
- <!-- @slot Use it to add tag title. -->
49
- <slot name="tag-title" :tag="tag">
50
- {{ tag[itemLabel] }}
51
- </slot>
52
- </div>
53
-
54
- <UIcon
55
- v-if="!disabled"
56
- size="sm"
57
- name="close"
58
- interactive
59
- color="gray"
60
- :data-cy="`${dataCy}-close`"
61
- @click="onClickRemoveValue(index)"
62
- />
63
- </div>
64
- </div>
65
- </template>
66
-
67
- <template #noResult>
68
- {{ i18n.listIsEmpty }}
69
- </template>
70
-
71
- <template #noOptions>
72
- {{ i18n.noDataToShow }}
73
- </template>
74
-
75
- <template #afterList>
76
- <li v-if="isSelectedAllOptions" class="multiselect__element">
77
- <span class="multiselect__option">
78
- {{ i18n.listIsEmpty }}
79
- </span>
80
- </li>
81
-
82
- <div v-if="addOption" class="mono-multiselect-add-wrapper" @click="onClickAddOption">
83
- <div class="mono-multiselect-add-title">
84
- {{ i18n.add }}
85
- <span class="mono-multiselect-add-title-command">{{ addOptionKeyCombination }}</span>
86
- </div>
87
-
88
- <UButton ref="addOptionButton" class="mono-multiselect-add-button">
89
- <UIcon name="add" class="mono-multiselect-add-icon" color="white" pill size="2xs" />
90
- </UButton>
91
- </div>
92
- </template>
93
-
94
- <template #caret="{ toggle }">
95
- <div
96
- v-show="!selectValue.length"
97
- class="mono-multiselect-angle"
98
- @mousedown.prevent.stop="toggle"
99
- >
100
- <UIcon
101
- color="gray"
102
- name="expand_more"
103
- class="icon"
104
- interactive
105
- :data-cy="`${dataCy}-caret`"
106
- />
107
- </div>
108
-
109
- <div v-if="selectValue.length" class="mono-multiselect-clear" @click="onClickClearAll">
110
- <div class="mono-multiselect-clear-text">
111
- {{ i18n.clear }}
112
- </div>
113
- </div>
114
- </template>
115
-
116
- <template #option="props">
117
- <!-- @slot Use it to add option. -->
118
- <slot :scope-props="props" name="option" />
119
-
120
- <div v-if="groupValues && !hasSlotContent($slots['option'])">
121
- <div v-if="props.option.$groupLabel">
122
- {{ props.option.$groupLabel }}
123
- </div>
124
-
125
- <div
126
- v-else-if="props.option.isSubGroup"
127
- class="group-label"
128
- :style="leftMarginForSubCategory(props.option.level)"
129
- >
130
- {{ props.option[itemLabel] }}
131
- </div>
132
-
133
- <div v-else :style="leftMarginForSubCategory(props.option.level)" class="select-label">
134
- <!-- @slot Use it to add something before option. -->
135
- <slot :option="props.option" name="beforeOption"></slot>
136
- {{ props.option[itemLabel] }}
137
- </div>
138
- </div>
139
- <div v-else class="select-label">
140
- <!-- @slot Use it to add something before option. -->
141
- <slot :option="props.option" name="beforeOption"></slot>
142
- {{ props.option[itemLabel] }}
143
- </div>
144
- </template>
145
- </Multiselect>
146
-
147
- <div v-if="hasSlotContent($slots['after-caret'])" class="after-caret">
148
- <!-- @slot Use it to add something after caret. -->
149
- <slot name="after-caret" />
150
- </div>
151
- </div>
152
-
153
- <template v-if="description">
154
- <div class="description">
155
- {{ description }}
156
- </div>
157
- </template>
158
-
159
- <p
160
- v-if="error && !modelValue.length"
161
- class="error-message"
162
- :data-cy="`${dataCy}-error-message`"
163
- >
164
- {{ error }}
165
- </p>
166
- </div>
167
- </template>
168
-
169
- <script>
170
- import { getRandomId, isMac, PX_IN_REM } from "vueless/service.ui";
171
- import I18nServiceDefault from "vueless/service.i18n";
172
- import debounce from "lodash.debounce";
173
- import { useUI } from "vueless/composable.ui";
174
-
175
- import Multiselect from "vue-multiselect";
176
- import UButton from "vueless/ui.button";
177
- import UIcon from "vueless/ui.image-icon";
178
-
179
- const OPTIONS_LIMIT = 50;
180
-
181
- export default {
182
- name: "UMultiselect",
183
-
184
- components: {
185
- Multiselect,
186
- UButton,
187
- UIcon,
188
- },
189
-
190
- props: {
191
- /**
192
- * Generates unique element id.
193
- * @ignore
194
- */
195
- id: {
196
- type: String,
197
- default: () => getRandomId(),
198
- },
199
-
200
- /**
201
- * Set component select value.
202
- */
203
- modelValue: {
204
- type: Array,
205
- default: () => [],
206
- },
207
-
208
- /**
209
- * Set options for component.
210
- */
211
- options: {
212
- type: Array,
213
- default: () => [],
214
- },
215
-
216
- /**
217
- * Set component label.
218
- */
219
- label: {
220
- type: String,
221
- default: "",
222
- },
223
-
224
- /**
225
- * Label from option Object, that will be visible in the dropdown.
226
- */
227
- itemLabel: {
228
- type: String,
229
- default: "label",
230
- },
231
-
232
- /**
233
- * Set input placeholder.
234
- */
235
- placeholder: {
236
- type: String,
237
- default: "",
238
- },
239
-
240
- /**
241
- * Set error message.
242
- */
243
- error: {
244
- type: String,
245
- default: "",
246
- },
247
-
248
- /**
249
- * Make component inactive.
250
- */
251
- disabled: {
252
- type: Boolean,
253
- default: false,
254
- },
255
-
256
- /**
257
- * Allows removing all selected values. Otherwise, one must be left selected.
258
- */
259
- allowEmpty: {
260
- type: Boolean,
261
- default: true,
262
- },
263
-
264
- /**
265
- * Allow internal search.
266
- */
267
- withInternalSearch: {
268
- type: Boolean,
269
- default: true,
270
- },
271
-
272
- /**
273
- * Set limits the options displayed in the dropdown to the first X options.
274
- */
275
- optionsLimit: {
276
- type: Number,
277
- default: OPTIONS_LIMIT,
278
- },
279
-
280
- /**
281
- * Set track value key.
282
- */
283
- valueKey: {
284
- type: String,
285
- default: "id",
286
- },
287
-
288
- /**
289
- * Fixed opening direction (instead of auto). Options are "above"/"top" or "below"/"bottom".
290
- * @values auto, top, bottom
291
- */
292
- openDirection: {
293
- type: String,
294
- default: "auto",
295
- },
296
-
297
- /**
298
- * Set description for component.
299
- */
300
- description: {
301
- type: String,
302
- default: "",
303
- },
304
-
305
- /**
306
- * By default new tags will appear above the search results. Changing to 'bottom' will revert this behaviour and will proritize the search results.
307
- * @values top, bottom
308
- */
309
- tagPosition: {
310
- type: String,
311
- default: "top",
312
- },
313
-
314
- /**
315
- * Allow return full value properties.
316
- */
317
- returnFullValue: {
318
- type: Boolean,
319
- default: false,
320
- },
321
-
322
- /**
323
- * Set the name of the property containing the group label.
324
- */
325
- groupLabel: {
326
- type: String,
327
- default: "label",
328
- },
329
-
330
- /**
331
- * Set the name of the property containing the group values.
332
- */
333
- groupValues: {
334
- type: String,
335
- default: "",
336
- },
337
-
338
- /**
339
- * Show add new option button to the list.
340
- */
341
- addOption: {
342
- type: Boolean,
343
- default: false,
344
- },
345
-
346
- /**
347
- * Allow search value in a list.
348
- */
349
- searchable: {
350
- type: Boolean,
351
- default: true,
352
- },
353
-
354
- /**
355
- * Sets data-cy attribute for automated testing.
356
- */
357
- dataCy: {
358
- type: String,
359
- default: "",
360
- },
361
- },
362
-
363
- emits: ["update:modelValue", "open", "addOption", "searchChange"],
364
-
365
- setup() {
366
- const { getTranslation } = new I18nServiceDefault();
367
- const { hasSlotContent } = useUI();
368
-
369
- return { getTranslation, hasSlotContent };
370
- },
371
-
372
- data: () => ({
373
- isLoading: false,
374
- asyncValue: "",
375
- asyncOptions: [],
376
- isOpen: null,
377
- isFocused: false,
378
- optionHeight: 0,
379
- }),
380
-
381
- computed: {
382
- wrapperId() {
383
- return `wrapper${this.id}`;
384
- },
385
-
386
- selectValue: {
387
- get() {
388
- return this.modelValue
389
- .map((item) => {
390
- if (this.groupValues) {
391
- const options = this.options.find((option) => {
392
- return option[this.groupValues].find((value) => {
393
- return value[this.valueKey] === item;
394
- });
395
- });
396
-
397
- return options[this.groupValues].find((value) => {
398
- return value[this.valueKey] === item;
399
- });
400
- }
401
-
402
- const value = item?.[this.valueKey] || item;
403
-
404
- return this.options.find((option) => option[this.valueKey] === value);
405
- })
406
- .filter((value) => value);
407
- },
408
-
409
- set(value) {
410
- let newValue = value;
411
-
412
- if (!this.returnFullValue) newValue = value.map((item) => item[this.valueKey]);
413
-
414
- this.$emit("update:modelValue", newValue);
415
- },
416
- },
417
-
418
- multiselectClass() {
419
- return {
420
- error: this.error && !this.modelValue.length,
421
- "mono-multiselect-wrapper-disabled": this.disabled,
422
- "group-select": this.groupValues,
423
- };
424
- },
425
-
426
- addOptionKeyCombination() {
427
- return isMac ? "(⌘ + Enter)" : "(Ctrl + Enter)";
428
- },
429
-
430
- i18n() {
431
- return {
432
- clear: this.getTranslation("clear"),
433
- listIsEmpty: this.getTranslation("listIsEmpty"),
434
- noDataToShow: this.getTranslation("noDataToShow"),
435
- addMore: this.getTranslation("addMore"),
436
- add: this.getTranslation("add"),
437
- };
438
- },
439
-
440
- isSelectedAllOptions() {
441
- return this.options.length && this.options.length === this.selectValue.length;
442
- },
443
-
444
- labelClasses() {
445
- return {
446
- "label-color": this.isOpen,
447
- "error-label": this.error && !this.modelValue.length,
448
- };
449
- },
450
-
451
- placeholderState() {
452
- return this.selectValue.length ? this.i18n.addMore : this.placeholder;
453
- },
454
-
455
- multiselectContentWrapper() {
456
- return document.querySelector(`#${this.wrapperId} .multiselect__content-wrapper`);
457
- },
458
- },
459
-
460
- watch: {
461
- resetAsync() {
462
- this.asyncValue = "";
463
- this.asyncOptions = [];
464
- },
465
-
466
- isOpen: {
467
- handler: "onChangeOpenState",
468
- deep: true,
469
- },
470
- },
471
-
472
- created() {
473
- if (this.addOption) {
474
- document.addEventListener("keydown", this.onKeydownAddOption);
475
- }
476
- },
477
-
478
- mounted() {
479
- if (this.addOption) {
480
- this.$nextTick(() => {
481
- this.multiselectContentWrapper.addEventListener("scroll", this.setAddOptionButtonPosition, {
482
- passive: true,
483
- });
484
- });
485
- }
486
- },
487
-
488
- beforeUnmount() {
489
- if (this.addOption) {
490
- document.removeEventListener("keydown", this.onKeydownAddOption);
491
-
492
- this.multiselectContentWrapper.removeEventListener("scroll", this.setAddOptionButtonPosition);
493
- }
494
- },
495
-
496
- methods: {
497
- setAddOptionButtonPosition() {
498
- const scrollBottomPosition = -this.multiselectContentWrapper.scrollTop;
499
- const defaultButtonPosition = 9;
500
- const addOptionPosition = (scrollBottomPosition + defaultButtonPosition) / PX_IN_REM;
501
-
502
- this.$refs.addOptionButton.$el.style.bottom = `${addOptionPosition}rem`;
503
- },
504
-
505
- onKeydownAddOption(event) {
506
- if (!this.isFocused) return;
507
-
508
- const isEnter = event.keyCode === 13;
509
- const isCtrl = event.ctrlKey;
510
- const isMeta = event.metaKey;
511
-
512
- if (isMeta && isEnter && isMac) {
513
- this.$emit("addOption");
514
- }
515
-
516
- if (isEnter && isCtrl && !isMac) {
517
- this.$emit("addOption");
518
- }
519
- },
520
-
521
- onClickAddOption() {
522
- this.$emit("addOption");
523
- },
524
-
525
- onOpen() {
526
- this.$emit("open");
527
- this.isOpen = true;
528
- this.isFocused = true;
529
- },
530
-
531
- onClose() {
532
- this.isOpen = false;
533
-
534
- setTimeout(() => {
535
- this.isFocused = false;
536
- }, 100);
537
- },
538
-
539
- onClickRemoveValue(index) {
540
- const intermediateValue = [...this.selectValue];
541
-
542
- intermediateValue.splice(index, 1);
543
-
544
- this.selectValue = intermediateValue;
545
- },
546
-
547
- onClickClearAll() {
548
- this.selectValue = [];
549
- },
550
-
551
- onSearchChange: debounce(async function (query) {
552
- this.$emit("searchChange", query);
553
- }, 300),
554
-
555
- onChangeOpenState() {
556
- this.$nextTick(() => {
557
- this.optionHeight =
558
- this.$refs.multiselect.$refs.list.firstChild.firstElementChild.clientHeight;
559
- });
560
- },
561
-
562
- hideInactiveElement(tag) {
563
- const selectedId = this.options.find((option) => option.id === tag.id);
564
-
565
- if (!selectedId) return;
566
-
567
- return selectedId.isHidden ? "cross-out-option" : "";
568
- },
569
-
570
- leftMarginForSubCategory(level) {
571
- const baseMargin = 1;
572
-
573
- if (level > 1) {
574
- return `margin-left: ${baseMargin * (level - 1)}rem`;
575
- }
576
- },
577
- },
578
- };
579
- </script>
580
-
581
- <i18n>
582
- en:
583
- listIsEmpty: "List is empty."
584
- noDataToShow: "No data to show."
585
- clear: "clear"
586
- addMore: "Add more..."
587
- add: Add
588
- ru:
589
- listIsEmpty: "Список пуст."
590
- noDataToShow: "Нет данных."
591
- clear: "очистить"
592
- addMore: "Добавить ещё..."
593
- add: Добавить
594
- ua:
595
- listIsEmpty: "Список порожній."
596
- noDataToShow: "Дані відсутні."
597
- clear: "очистити"
598
- addMore: "Додати ще..."
599
- add: Додати
600
- </i18n>
601
-
602
- <style lang="postcss" scoped>
603
- .mono-multiselect {
604
- &-block {
605
- @apply relative w-full;
606
- }
607
-
608
- &-wrapper {
609
- @apply flex w-full items-center;
610
- @apply rounded-lg border border-gray-300 bg-white;
611
-
612
- &-disabled {
613
- @apply border-gray-100 bg-gray-100;
614
-
615
- &:hover {
616
- @apply border-gray-100;
617
- }
618
-
619
- &:focus-within {
620
- @apply border-gray-100 ring-0;
621
- }
622
- }
623
-
624
- &:hover {
625
- @apply border-gray-400;
626
- @apply transition duration-100 ease-in-out;
627
- }
628
-
629
- &:focus-within {
630
- @apply border-gray-500 ring-4 ring-gray-600 ring-opacity-15;
631
- }
632
-
633
- :deep(.multiselect) {
634
- @apply flex flex-row-reverse justify-between;
635
- @apply static min-h-full w-full overflow-hidden text-left;
636
- @apply pt-6;
637
- }
638
-
639
- :deep(.multiselect__tags) {
640
- @apply rounded-none border-0 bg-transparent;
641
- @apply mb-px pb-3 pl-4 pr-4 pt-1;
642
- @apply min-h-full w-full;
643
- }
644
-
645
- :deep(.multiselect__input) {
646
- @apply text-base font-normal text-gray-900;
647
- @apply !relative block !w-full align-top;
648
- @apply mb-0 !pb-0 !pl-0 !pr-10 !pt-px;
649
- @apply rounded-none border-none bg-white;
650
-
651
- &:focus {
652
- @apply shadow-none outline-none ring-0;
653
- }
654
-
655
- &::placeholder {
656
- @apply font-normal text-gray-400;
657
- }
658
- }
659
-
660
- :deep(.multiselect__placeholder) {
661
- @apply hidden;
662
- }
663
-
664
- :deep(.multiselect--disabled) {
665
- @apply rounded-lg bg-transparent;
666
- @apply opacity-100;
667
- @apply pointer-events-none;
668
- }
669
-
670
- :deep(.multiselect__content-wrapper) {
671
- @apply my-2;
672
- @apply rounded-lg border border-gray-300 shadow;
673
- @apply absolute right-0 top-full;
674
- @apply z-50 block max-h-60 w-full overflow-auto;
675
- @apply bg-white;
676
- -webkit-overflow-scrolling: touch;
677
- }
678
-
679
- :deep(.multiselect__content) {
680
- @apply inline-block list-none align-top;
681
- @apply m-0 min-w-full p-0;
682
- }
683
-
684
- :deep(.multiselect--above) {
685
- .multiselect__content-wrapper {
686
- @apply !bottom-full top-auto;
687
- }
688
- }
689
-
690
- :deep(.multiselect__element) {
691
- @apply block;
692
- }
693
-
694
- :deep(.multiselect__option) {
695
- @apply whitespace-nowrap text-base font-normal normal-case text-gray-900 no-underline;
696
- @apply relative block cursor-pointer align-middle;
697
- @apply px-3 py-2;
698
-
699
- &:hover {
700
- @apply bg-gray-100;
701
- }
702
-
703
- &:active {
704
- @apply bg-gray-200 font-medium;
705
- }
706
-
707
- &:disabled {
708
- @apply text-gray-500;
709
- }
710
- }
711
-
712
- :deep(.multiselect__option--selected) {
713
- @apply bg-gray-200 font-medium;
714
-
715
- &:hover {
716
- @apply bg-gray-200 font-medium;
717
- }
718
- }
719
-
720
- :deep(.multiselect__option--highlight) {
721
- @apply bg-gray-100;
722
- }
723
-
724
- :deep(.multiselect--disabled) {
725
- .multiselect__input {
726
- @apply !bg-gray-100;
727
- }
728
-
729
- .multiselect__single {
730
- @apply font-normal text-gray-900;
731
- @apply mb-px p-0;
732
- @apply relative inline-block w-full align-top;
733
- @apply border-none bg-gray-100;
734
- }
735
- }
736
- }
737
-
738
- &-angle {
739
- @apply -mt-[0.188rem] mr-4 scale-125;
740
- @apply cursor-pointer;
741
- }
742
-
743
- &--active .icon {
744
- @apply rotate-180 transform transition-all duration-300;
745
- }
746
-
747
- &-clear {
748
- @apply absolute bottom-3.5 pr-4;
749
- @apply z-10 cursor-pointer;
750
-
751
- &-text {
752
- @apply transition-all duration-100 ease-in-out;
753
- @apply text-sm font-normal text-gray-400;
754
-
755
- &:hover {
756
- @apply text-gray-500;
757
- }
758
- }
759
-
760
- &:active {
761
- @apply text-gray-700;
762
- }
763
- }
764
-
765
- .tags {
766
- &-wrapper {
767
- @apply flex items-center justify-between;
768
- @apply border border-l-0 border-r-0 border-t-0 border-gray-100;
769
- @apply py-3;
770
-
771
- &:last-child {
772
- @apply mb-2.5;
773
- }
774
- }
775
-
776
- &-title {
777
- @apply text-base font-normal text-gray-900;
778
- @apply overflow-hidden text-ellipsis whitespace-nowrap;
779
- }
780
- }
781
- }
782
-
783
- .select-label {
784
- @apply flex;
785
- }
786
-
787
- .icon {
788
- @apply transition-all duration-300;
789
- }
790
-
791
- .mono-multiselect-label {
792
- @apply absolute left-4 top-2.5 block;
793
- @apply text-sm font-normal text-gray-500;
794
- @apply z-10;
795
-
796
- &-color {
797
- @apply text-sm font-normal text-gray-500;
798
- z-index: 9999;
799
- }
800
- }
801
-
802
- .description {
803
- @apply text-xs font-normal text-gray-500/[85];
804
- @apply pl-4 pt-2;
805
- }
806
-
807
- .error {
808
- @apply border-red-300;
809
-
810
- &:hover {
811
- @apply border-red-400;
812
- }
813
-
814
- &:focus-within {
815
- @apply border-red-500 ring-4 ring-red-100;
816
- }
817
-
818
- &-label {
819
- @apply text-red-500;
820
- }
821
-
822
- &-message {
823
- @apply text-xs font-normal text-red-500;
824
- @apply mt-2 pl-4;
825
- }
826
- }
827
-
828
- .after-caret {
829
- @apply pr-4;
830
- }
831
-
832
- .group-select:deep(.multiselect__option--group) {
833
- @apply !bg-transparent;
834
- @apply !text-xs !font-medium uppercase !text-gray-500/[85] pb-1 mt-4;
835
- }
836
-
837
- .group-label {
838
- @apply text-xs font-medium uppercase text-gray-500/[85];
839
- }
840
-
841
- .mono-multiselect-add {
842
- &-wrapper {
843
- @apply flex items-center justify-between;
844
- @apply cursor-pointer;
845
- @apply p-3;
846
-
847
- &:hover {
848
- @apply bg-gray-100;
849
- }
850
-
851
- &:active {
852
- @apply bg-gray-200 font-medium;
853
- }
854
- }
855
-
856
- &-title {
857
- @apply text-base font-medium text-gray-900;
858
-
859
- &-command {
860
- @apply text-gray-500;
861
- }
862
- }
863
-
864
- &-button {
865
- @apply absolute bottom-[0.5625rem] right-3;
866
- @apply rounded-full p-0;
867
- }
868
-
869
- &-icon {
870
- @apply bg-transparent;
871
- @apply p-0;
872
-
873
- &:deep(svg) {
874
- @apply !m-1;
875
- }
876
- }
877
- }
878
-
879
- .cross-out-option {
880
- @apply line-through;
881
- }
882
- </style>