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,1025 +0,0 @@
1
- <template>
2
- <div class="mono-select-block">
3
- <div :id="wrapperId" class="mono-select-wrapper" :class="multiselectClass">
4
- <label v-if="label" class="label" :class="labelClasses" :for="id">
5
- {{ label }}
6
- </label>
7
-
8
- <Multiselect
9
- :id="id"
10
- ref="select"
11
- v-model="selectValue"
12
- class="mono-select"
13
- :options="options"
14
- :options-limit="optionsLimit"
15
- :label="itemLabel"
16
- :group-label="groupLabel"
17
- :group-values="groupValues"
18
- :track-by="valueKey"
19
- :open-direction="openDirection"
20
- select-label=""
21
- deselect-label=""
22
- selected-label=""
23
- :hide-selected="false"
24
- :disabled="disabled"
25
- :placeholder="placeholder"
26
- :allow-empty="false"
27
- :loading="isLoading"
28
- :searchable="searchable"
29
- :data-cy="dataCy"
30
- :class="hideInactiveElement(modelValue, options)"
31
- :option-height="optionHeight"
32
- @open="onOpen"
33
- @close="onClose"
34
- @searchChange="onSearchChange"
35
- @remove="removeValue"
36
- >
37
- <template #singleLabel="props">
38
- <!-- @slot Use it to add single label. -->
39
- <slot :scope-props="props" name="singleLabel" />
40
- <span v-if="!isShownSingleLabelSlot" class="mono-select-single-slot">
41
- {{ props.option[itemLabel] }}
42
- </span>
43
-
44
- <span>
45
- <!-- @slot Use it to add after single label. -->
46
- <slot :scope-props="props" name="singleLabelAfter" />
47
- </span>
48
- </template>
49
-
50
- <template #option="props">
51
- <!-- @slot Use it to add option. -->
52
- <slot :scope-props="props" name="option" />
53
-
54
- <div v-if="groupValues && !isShownOptionSlot">
55
- <div v-if="props.option.$groupLabel">
56
- {{ props.option.$groupLabel }}
57
- </div>
58
-
59
- <div
60
- v-else-if="props.option.isSubGroup"
61
- class="group-label"
62
- :style="leftMarginForSubCategory(props.option.level)"
63
- >
64
- {{ props.option[itemLabel] }}
65
- </div>
66
-
67
- <div v-else :style="leftMarginForSubCategory(props.option.level)" class="select-label">
68
- <!-- @slot Use it to add something before option. -->
69
- <slot :option="props.option" name="beforeOption"></slot>
70
- {{ props.option[itemLabel] }}
71
- </div>
72
- </div>
73
- <div v-else class="select-label">
74
- <!-- @slot Use it to add something before option. -->
75
- <slot :option="props.option" name="beforeOption"></slot>
76
- {{ props.option[itemLabel] }}
77
- </div>
78
- </template>
79
-
80
- <template #noResult>
81
- {{ i18n.listIsEmpty }}
82
- </template>
83
-
84
- <template #noOptions>
85
- {{ i18n.noDataToShow }}
86
- </template>
87
-
88
- <template #caret="{ toggle }">
89
- <div class="mono-select-caret-down" @mousedown.prevent.stop="toggle">
90
- <UIcon
91
- interactive
92
- :size="iconSize"
93
- color="gray"
94
- name="expand_more"
95
- class="icon"
96
- :data-cy="`${dataCy}-caret`"
97
- />
98
- </div>
99
-
100
- <div v-if="selectValue && allowEmpty && !disabled" class="mono-select-caret-close">
101
- <UIcon
102
- interactive
103
- :size="iconSize"
104
- color="gray"
105
- name="close"
106
- :data-cy="`${dataCy}-close`"
107
- @mousedown="[onMousedownRemoveValue(), toggle()]"
108
- />
109
- </div>
110
- </template>
111
-
112
- <template #afterList>
113
- <div v-if="addOption" class="mono-select-add-wrapper" @click="onClickAddOption">
114
- <div class="mono-select-add-title">
115
- {{ i18n.add }}
116
- <span class="mono-select-add-title-command">{{ addOptionKeyCombination }}</span>
117
- </div>
118
-
119
- <UButton ref="addOptionButton" class="mono-select-add-button">
120
- <UIcon name="add" class="mono-select-add-icon" color="white" pill size="2xs" />
121
- </UButton>
122
- </div>
123
- </template>
124
- </Multiselect>
125
-
126
- <div v-if="isShownAfterCaretSlot" class="after-caret-slot">
127
- <!-- @slot Use it to add something after caret. -->
128
- <slot name="after-caret" />
129
- </div>
130
- </div>
131
-
132
- <div v-if="description && !error" class="description">
133
- {{ description }}
134
- </div>
135
-
136
- <p
137
- v-if="error && !modelValue.length"
138
- class="error-message"
139
- :data-cy="`${dataCy}-error-message`"
140
- >
141
- {{ error }}
142
- </p>
143
- </div>
144
- </template>
145
-
146
- <script>
147
- import Multiselect from "vue-multiselect";
148
- import { getRandomId, isMac, PX_IN_REM } from "vueless/service.ui";
149
- import I18nServiceDefault from "vueless/service.i18n";
150
- import debounce from "lodash.debounce";
151
-
152
- import UButton from "vueless/ui.button";
153
- import UIcon from "vueless/ui.image-icon";
154
-
155
- export default {
156
- name: "USelect",
157
- components: {
158
- Multiselect,
159
- UButton,
160
- UIcon,
161
- },
162
-
163
- props: {
164
- /**
165
- * Set input select value.
166
- */
167
- modelValue: {
168
- type: [String, Number],
169
- default: "",
170
- },
171
-
172
- /**
173
- * Set options for component.
174
- */
175
- options: {
176
- type: Array,
177
- default: () => [],
178
- },
179
-
180
- /**
181
- * Set component label.
182
- */
183
- label: {
184
- type: String,
185
- default: "",
186
- },
187
-
188
- /**
189
- * Label from option Object, that will be visible in the dropdown.
190
- */
191
- itemLabel: {
192
- type: String,
193
- default: "label",
194
- },
195
-
196
- /**
197
- * Set input placeholder.
198
- */
199
- placeholder: {
200
- type: String,
201
- default: "",
202
- },
203
-
204
- /**
205
- * Set error message.
206
- */
207
- error: {
208
- type: String,
209
- default: "",
210
- },
211
-
212
- /**
213
- * Make input inactive.
214
- */
215
- disabled: {
216
- type: Boolean,
217
- default: false,
218
- },
219
-
220
- /**
221
- * Allows clear selected value.
222
- */
223
- allowEmpty: {
224
- type: Boolean,
225
- default: true,
226
- },
227
-
228
- /**
229
- * Set a name of the property containing the group label.
230
- */
231
- groupLabel: {
232
- type: String,
233
- default: "label",
234
- },
235
-
236
- /**
237
- * Set a name of the property containing the group values.
238
- */
239
- groupValues: {
240
- type: String,
241
- default: "",
242
- },
243
-
244
- /**
245
- * Set limits the options displayed in the dropdown to the first X options.
246
- */
247
- optionsLimit: {
248
- type: Number,
249
- default: 100,
250
- },
251
-
252
- /**
253
- * Set track value key.
254
- */
255
- valueKey: {
256
- type: String,
257
- default: "id",
258
- },
259
-
260
- /**
261
- * Fixed opening direction (instead of auto). Options are "above"/"top" or "below"/"bottom".
262
- * @values auto, top, bottom
263
- */
264
- openDirection: {
265
- type: String,
266
- default: "auto",
267
- },
268
-
269
- /**
270
- * Set description for input.
271
- */
272
- description: {
273
- type: String,
274
- default: "",
275
- },
276
-
277
- /**
278
- * Show add new option button to the list.
279
- */
280
- addOption: {
281
- type: Boolean,
282
- default: false,
283
- },
284
-
285
- /**
286
- * Set input size.
287
- * @values sm, md, lg
288
- */
289
- size: {
290
- type: String,
291
- default: "md",
292
- },
293
-
294
- /**
295
- * Allow search value in list.
296
- */
297
- searchable: {
298
- type: Boolean,
299
- default: true,
300
- },
301
-
302
- /**
303
- * Generates unique element id.
304
- * @ignore
305
- */
306
- id: {
307
- type: String,
308
- default: () => getRandomId(),
309
- },
310
-
311
- /**
312
- * Sets data-cy attribute for automated testing.
313
- */
314
- dataCy: {
315
- type: String,
316
- default: "",
317
- },
318
- },
319
-
320
- emits: ["update:modelValue", "open", "addOption", "close", "change", "remove", "searchChange"],
321
-
322
- setup() {
323
- const { getTranslation } = new I18nServiceDefault();
324
-
325
- return { getTranslation };
326
- },
327
-
328
- data: () => ({
329
- isLoading: false,
330
- isOpen: null,
331
- isFocused: false,
332
- optionHeight: 0,
333
- }),
334
-
335
- computed: {
336
- wrapperId() {
337
- return `wrapper${this.id}`;
338
- },
339
-
340
- multiselectClass() {
341
- return {
342
- error: this.error && !this.modelValue.length,
343
- "mono-select-wrapper-disabled": this.disabled,
344
- "group-select": this.groupValues,
345
- "after-caret": this.isShownAfterCaretSlot,
346
- "size-sm": this.size === "sm",
347
- "size-md": this.size === "md",
348
- "size-lg": this.size === "lg",
349
- };
350
- },
351
-
352
- addOptionKeyCombination() {
353
- return isMac ? "(⌘ + Enter)" : "(Ctrl + Enter)";
354
- },
355
-
356
- isShownAfterCaretSlot() {
357
- return !!this.$slots["after-caret"];
358
- },
359
-
360
- isShownOptionSlot() {
361
- return !!this.$slots["option"];
362
- },
363
-
364
- isShownSingleLabelSlot() {
365
- return !!this.$slots["singleLabel"];
366
- },
367
-
368
- isShownSingleLabelAfterSlot() {
369
- return !!this.$slots["singleLabelAfter"];
370
- },
371
-
372
- labelClasses() {
373
- return {
374
- "label-color": this.isOpen,
375
- "error-label": this.error && !this.modelValue.length,
376
- };
377
- },
378
-
379
- i18n() {
380
- return {
381
- listIsEmpty: this.getTranslation("listIsEmpty"),
382
- noDataToShow: this.getTranslation("noDataToShow"),
383
- add: this.getTranslation("add"),
384
- };
385
- },
386
-
387
- selectValue: {
388
- get() {
389
- if (this.groupValues) {
390
- const option = this.options.find((option) => {
391
- return option[this.groupValues]?.find(
392
- (item) => item[this.valueKey] === this.modelValue,
393
- );
394
- });
395
-
396
- return option?.[this.groupValues].find((option) => option.id === this.modelValue);
397
- }
398
-
399
- return this.options.find((option) => option[this.valueKey] === this.modelValue);
400
- },
401
- set(newItem) {
402
- this.$emit("update:modelValue", newItem?.[this.valueKey]);
403
- },
404
- },
405
-
406
- multiselectContentWrapper() {
407
- return document.querySelector(`#${this.wrapperId} .multiselect__content-wrapper`);
408
- },
409
-
410
- iconSize() {
411
- const sizes = {
412
- sm: "sm",
413
- md: "md",
414
- lg: "lg",
415
- };
416
-
417
- return sizes[this.size];
418
- },
419
- },
420
-
421
- watch: {
422
- options: {
423
- handler: "onChangeOptions",
424
- deep: true,
425
- },
426
-
427
- isOpen: {
428
- handler: "onChangeOpenState",
429
- deep: true,
430
- },
431
-
432
- selectValue: {
433
- handler: "onChangeSelectValue",
434
- deep: true,
435
- },
436
- },
437
-
438
- created() {
439
- if (this.addOption) {
440
- document.addEventListener("keydown", this.onKeydownAddOption);
441
- }
442
- },
443
-
444
- mounted() {
445
- if (this.addOption) {
446
- this.multiselectContentWrapper.addEventListener("scroll", this.setAddOptionButtonPosition, {
447
- passive: true,
448
- });
449
- }
450
- },
451
-
452
- beforeUnmount() {
453
- if (this.addOption) {
454
- document.removeEventListener("keydown", this.onKeydownAddOption);
455
-
456
- this.multiselectContentWrapper.removeEventListener("scroll", this.setAddOptionButtonPosition);
457
- }
458
- },
459
-
460
- methods: {
461
- setAddOptionButtonPosition() {
462
- const scrollBottomPosition = -this.multiselectContentWrapper.scrollTop;
463
- const defaultButtonPosition = 9;
464
- const addOptionPosition = (scrollBottomPosition + defaultButtonPosition) / PX_IN_REM;
465
-
466
- this.$refs.addOptionButton.$el.style.bottom = `${addOptionPosition}rem`;
467
- },
468
-
469
- onOpen() {
470
- this.$emit("open");
471
- this.isOpen = true;
472
- this.isFocused = true;
473
- },
474
-
475
- onMousedownRemoveValue() {
476
- this.selectValue = "";
477
- },
478
-
479
- onKeydownAddOption(event) {
480
- if (!this.isFocused) return;
481
-
482
- const isEnter = event.keyCode === 13;
483
- const isCtrl = event.ctrlKey;
484
- const isMeta = event.metaKey;
485
-
486
- if (isMeta && isEnter && isMac) {
487
- this.$emit("addOption");
488
- }
489
-
490
- if (isEnter && isCtrl && !isMac) {
491
- this.$emit("addOption");
492
- }
493
- },
494
-
495
- onClickAddOption() {
496
- this.$emit("addOption");
497
- },
498
-
499
- onChangeOptions() {
500
- const subOptions = document.querySelectorAll(".group-label");
501
-
502
- subOptions.forEach((subOption) => {
503
- const subOptionsParent = subOption.parentElement.parentElement;
504
-
505
- subOptionsParent.classList.add("multiselect__option", "multiselect__option--disabled");
506
- });
507
- },
508
-
509
- onClose() {
510
- this.isOpen = false;
511
-
512
- setTimeout(() => {
513
- this.isFocused = false;
514
- }, 100);
515
-
516
- this.$emit("close");
517
- },
518
-
519
- onChangeSelectValue() {
520
- this.$emit("change");
521
- },
522
-
523
- leftMarginForSubCategory(level) {
524
- const baseMargin = 1;
525
-
526
- if (level > 1) {
527
- return `margin-left: ${baseMargin * (level - 1)}rem`;
528
- }
529
- },
530
-
531
- removeValue(itemToRemove) {
532
- this.$emit("remove", itemToRemove);
533
- },
534
-
535
- onSearchChange: debounce(async function (query) {
536
- this.$emit("searchChange", query);
537
- }, 300),
538
-
539
- onChangeOpenState() {
540
- this.onChangeOptions();
541
-
542
- this.$nextTick(() => {
543
- this.optionHeight = this.$refs.select
544
- ? this.$refs.select.$refs.list.firstChild.firstElementChild.clientHeight
545
- : this.optionHeight;
546
- });
547
- },
548
-
549
- hideInactiveElement(id) {
550
- let selectedId = {};
551
-
552
- if (this.groupValues !== "") {
553
- this.options.forEach((option) => {
554
- option[this.groupValues].forEach((item) => {
555
- if (item.id === id) selectedId = item;
556
- });
557
- });
558
- } else {
559
- selectedId = this.options.find((item) => item.id === id);
560
- }
561
-
562
- if (!selectedId) return;
563
-
564
- return selectedId.isHidden ? "cross-out-option" : "";
565
- },
566
- },
567
- };
568
- </script>
569
-
570
- <i18n>
571
- en:
572
- listIsEmpty: "List is empty."
573
- noDataToShow: "No data to show."
574
- add: Add
575
- ru:
576
- listIsEmpty: "Список пуст."
577
- noDataToShow: "Нет данных."
578
- add: Добавить
579
- ua:
580
- listIsEmpty: "Список порожній."
581
- noDataToShow: "Дані відсутні."
582
- add: Додати
583
- </i18n>
584
-
585
- <style lang="postcss" scoped>
586
- .mono-select-block {
587
- @apply min-w-0;
588
- @apply relative;
589
- }
590
-
591
- .mono-select-wrapper {
592
- @apply flex w-full items-center;
593
- @apply box-border rounded-lg border border-gray-300 bg-white;
594
-
595
- &:hover {
596
- @apply border-gray-400;
597
- @apply transition duration-100 ease-in-out;
598
- }
599
-
600
- &:focus-within {
601
- @apply border-gray-500 ring-4 ring-gray-600 ring-opacity-15;
602
- }
603
-
604
- .mono-select {
605
- @apply flex flex-row-reverse justify-between;
606
- @apply static min-h-full w-full overflow-hidden text-left;
607
-
608
- &-caret-down,
609
- &-caret-close {
610
- @apply -mt-1.5 mr-4;
611
- @apply cursor-pointer;
612
- }
613
-
614
- &-caret-down {
615
- @apply scale-125 h-fit;
616
- }
617
-
618
- &-caret-close {
619
- @apply mr-1;
620
- }
621
-
622
- &--active {
623
- @apply z-[inherit];
624
-
625
- .icon {
626
- @apply rotate-180 transform transition-all duration-300;
627
- }
628
- }
629
-
630
- &.multiselect--above {
631
- &:deep(.multiselect__content-wrapper) {
632
- @apply bottom-full top-auto;
633
- }
634
- }
635
-
636
- :deep(.multiselect) {
637
- &__tags {
638
- @apply rounded-none border-0 bg-transparent;
639
- @apply min-h-full w-full overflow-hidden;
640
- }
641
-
642
- &__input {
643
- @apply font-normal text-gray-900;
644
- @apply p-0;
645
- @apply relative inline-block min-h-full w-full align-top;
646
- @apply border-none bg-white;
647
-
648
- &:focus {
649
- @apply shadow-none outline-none ring-0;
650
- }
651
-
652
- &::placeholder {
653
- @apply font-normal text-gray-400;
654
- }
655
- }
656
-
657
- &__placeholder {
658
- @apply inline-block;
659
- @apply whitespace-nowrap font-normal text-gray-400;
660
- @apply mb-0 w-0 pt-px;
661
- }
662
-
663
- &__content-wrapper {
664
- @apply rounded-lg border border-gray-300 shadow;
665
- @apply mb-2 mt-[2.625rem];
666
- @apply absolute right-0;
667
- @apply z-50 flex max-h-60 w-full overflow-auto;
668
- @apply bg-white;
669
- -webkit-overflow-scrolling: touch;
670
- }
671
-
672
- &__content {
673
- @apply inline-block list-none align-top;
674
- @apply m-0 min-w-full p-0;
675
-
676
- .multiselect__element:first-child {
677
- .multiselect__option--group {
678
- @apply !mt-4;
679
- }
680
- }
681
- }
682
-
683
- &__element {
684
- @apply block;
685
- }
686
-
687
- &__option {
688
- @apply whitespace-nowrap text-base font-normal normal-case text-gray-900 no-underline;
689
- @apply relative block cursor-pointer align-middle;
690
- @apply px-3 py-2;
691
-
692
- &:hover {
693
- @apply bg-gray-100;
694
- }
695
-
696
- &:active,
697
- &--selected {
698
- @apply !bg-gray-200 font-medium;
699
- }
700
-
701
- &:disabled {
702
- @apply text-gray-900;
703
- }
704
-
705
- &--highlight {
706
- @apply bg-gray-100;
707
- }
708
-
709
- &--disabled {
710
- @apply pointer-events-none;
711
- }
712
-
713
- &--group {
714
- @apply bg-transparent;
715
- @apply !text-xs font-medium uppercase text-gray-500/[85];
716
- @apply pb-1 pt-6;
717
- }
718
- }
719
-
720
- &__single {
721
- @apply font-normal text-gray-900;
722
- @apply mb-px p-0;
723
- @apply relative inline-block w-full align-top;
724
- @apply border-none bg-white;
725
- @apply overflow-hidden text-ellipsis whitespace-nowrap;
726
- }
727
- }
728
- }
729
- }
730
-
731
- .mono-select-wrapper-disabled {
732
- @apply border-gray-100 bg-gray-100 text-gray-900;
733
-
734
- &:hover {
735
- @apply border-gray-100;
736
- }
737
-
738
- &:focus-within {
739
- @apply border-gray-100 ring-0;
740
- }
741
-
742
- &:deep(.multiselect--disabled) {
743
- @apply rounded-lg bg-transparent;
744
- @apply pointer-events-none opacity-100;
745
-
746
- .multiselect__single {
747
- @apply bg-gray-100;
748
- }
749
- }
750
- }
751
-
752
- .icon {
753
- @apply transition-all duration-300;
754
- }
755
-
756
- .label {
757
- @apply absolute left-4 block;
758
- @apply font-normal text-gray-500;
759
- @apply z-10;
760
- @apply w-3/5 overflow-hidden text-ellipsis whitespace-nowrap;
761
-
762
- &-color {
763
- @apply font-normal text-gray-500;
764
- z-index: 9999;
765
- }
766
- }
767
-
768
- .select-label {
769
- @apply flex;
770
- }
771
-
772
- .group-label {
773
- @apply bg-transparent;
774
- @apply !text-xs font-medium uppercase text-gray-500/[85] pt-1;
775
- }
776
-
777
- .size {
778
- &-sm {
779
- .group-label {
780
- @apply !text-2xs;
781
- }
782
-
783
- > .mono-select {
784
- @apply pt-5;
785
-
786
- :deep(.multiselect__option) {
787
- @apply py-2;
788
- }
789
-
790
- :deep(.multiselect) {
791
- &__tags {
792
- @apply mb-px pb-1.5 pl-4 pr-4 pt-1;
793
- }
794
-
795
- &__content-wrapper {
796
- @apply mt-[2.375rem];
797
- }
798
-
799
- &__content {
800
- .multiselect__element {
801
- .multiselect__option--group {
802
- @apply !text-2xs;
803
- @apply pb-1 mt-4;
804
- }
805
- }
806
- }
807
-
808
- &__input {
809
- @apply mb-0 pt-0.5 text-sm;
810
-
811
- &::placeholder {
812
- @apply text-sm font-normal;
813
- @apply pt-0;
814
- }
815
- }
816
-
817
- &__single {
818
- @apply mt-1 text-sm;
819
- }
820
-
821
- &__placeholder {
822
- @apply text-sm min-h-[0.875rem];
823
- }
824
-
825
- &__option {
826
- @apply text-sm;
827
- }
828
- }
829
- }
830
-
831
- > .label {
832
- @apply top-2 text-xs;
833
-
834
- &-color {
835
- @apply text-xs;
836
- }
837
- }
838
- }
839
-
840
- &-md {
841
- > .mono-select {
842
- @apply pt-6;
843
-
844
- :deep(.multiselect) {
845
- &__tags {
846
- @apply mb-px pb-2 pl-4 pr-4 pt-1;
847
- }
848
-
849
- &__input {
850
- @apply mb-px text-base;
851
-
852
- &::placeholder {
853
- @apply text-base font-normal;
854
- @apply pt-px;
855
- }
856
- }
857
-
858
- &__single {
859
- @apply text-base;
860
- }
861
-
862
- &__placeholder {
863
- @apply text-base min-h-[1rem];
864
- }
865
- }
866
- }
867
-
868
- > .label {
869
- @apply top-2.5 text-sm;
870
-
871
- &-color {
872
- @apply text-sm;
873
- }
874
- }
875
- }
876
-
877
- &-lg {
878
- .group-label {
879
- @apply !text-sm;
880
- }
881
-
882
- > .mono-select {
883
- @apply pt-7;
884
-
885
- :deep(.multiselect) {
886
- &__tags {
887
- @apply mb-px pb-2.5 pl-4 pr-4 pt-1;
888
- }
889
-
890
- &__content-wrapper {
891
- @apply mt-[2.875rem];
892
- }
893
-
894
- &__content {
895
- .multiselect__element {
896
- .multiselect__option--group {
897
- @apply !text-sm;
898
- @apply pb-1 mt-4;
899
- }
900
- }
901
- }
902
-
903
- .multiselect__option {
904
- @apply py-4;
905
- }
906
-
907
- &__input {
908
- @apply mb-0 pt-0.5 text-lg;
909
-
910
- &::placeholder {
911
- @apply text-lg font-normal;
912
- @apply pt-0;
913
- }
914
- }
915
-
916
- &__single {
917
- @apply mt-1 text-lg;
918
- }
919
-
920
- &__placeholder {
921
- @apply text-lg min-h-[1.125rem];
922
- }
923
-
924
- &__option {
925
- @apply text-lg;
926
- }
927
- }
928
- }
929
-
930
- > .label {
931
- @apply top-3 text-base;
932
-
933
- &-color {
934
- @apply text-base;
935
- }
936
- }
937
- }
938
- }
939
-
940
- .icon {
941
- @apply transition-all duration-300;
942
- }
943
-
944
- .error {
945
- @apply border-red-300;
946
-
947
- &:hover {
948
- @apply border-red-400;
949
- }
950
-
951
- &:focus-within {
952
- @apply border-red-500 ring-4 ring-red-100;
953
- }
954
-
955
- &-label {
956
- @apply text-red-500;
957
- }
958
-
959
- &-message {
960
- @apply text-xs font-normal text-red-500;
961
- @apply mt-2 pl-4;
962
- }
963
- }
964
-
965
- .description {
966
- @apply text-xs font-normal text-gray-500/[85];
967
- @apply pl-4 pt-2;
968
- }
969
-
970
- .after-caret {
971
- @apply flex-col items-start md:flex-row md:items-center;
972
-
973
- .after-caret-slot {
974
- @apply pb-2.5 pl-4 pr-4 md:pb-0 md:pl-0;
975
- }
976
- }
977
-
978
- .mono-select-add {
979
- &-wrapper {
980
- @apply flex items-center justify-between;
981
- @apply cursor-pointer;
982
- @apply p-3;
983
-
984
- &:hover {
985
- @apply bg-gray-100;
986
- }
987
-
988
- &:active {
989
- @apply bg-gray-200 font-medium;
990
- }
991
- }
992
-
993
- &-title {
994
- @apply text-base font-medium text-gray-900;
995
-
996
- &-command {
997
- @apply text-gray-500;
998
- }
999
- }
1000
-
1001
- &-button {
1002
- @apply absolute bottom-[0.5625rem] right-3;
1003
- @apply rounded-full p-0;
1004
- }
1005
-
1006
- &-icon {
1007
- @apply bg-transparent;
1008
- @apply p-0;
1009
-
1010
- &:deep(svg) {
1011
- @apply !m-1;
1012
- }
1013
- }
1014
- }
1015
-
1016
- .cross-out-option {
1017
- :deep(.multiselect__option--selected) {
1018
- @apply hidden !important;
1019
- }
1020
-
1021
- :deep(.multiselect-single-slot) {
1022
- @apply !line-through;
1023
- }
1024
- }
1025
- </style>