vueless 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/_readme/README.md +5 -75
  2. package/_readme/UNotify.md +1 -1
  3. package/_readme/UTopLoader.md +2 -2
  4. package/_readme/customization.md +347 -0
  5. package/_readme/installation.md +139 -0
  6. package/_readme/storybook-pages/Customisation.mdx +6 -0
  7. package/_readme/storybook-pages/Installation.mdx +7 -0
  8. package/composable.ui/index.js +341 -30
  9. package/library.vue-tailwind-3/index.js +0 -5
  10. package/library.web-types-gen/lib/build.js +35 -9
  11. package/library.web-types-gen/lib/config.js +10 -4
  12. package/package.json +37 -4
  13. package/plugin.vite/index.js +59 -0
  14. package/plugin.vite/services/iconResolver.service.js +291 -0
  15. package/plugin.vite/services/svgLoader.service.js +76 -0
  16. package/plugin.vite/services/tailwindSafelist.service.js +197 -0
  17. package/plugin.vite/services/unpluginComponentsResolver.js +172 -0
  18. package/service.storybook/index.js +53 -80
  19. package/service.tailwind/index.js +112 -0
  20. package/service.ui/index.js +69 -50
  21. package/ui.button/Docs.mdx +16 -0
  22. package/ui.button/composables/attrs.composable.js +41 -0
  23. package/ui.button/configs/default.config.js +164 -0
  24. package/ui.button/constants/index.js +5 -0
  25. package/ui.button/index.stories.js +8 -7
  26. package/ui.button/index.vue +116 -981
  27. package/ui.button-link/Docs.mdx +16 -0
  28. package/ui.button-link/composables/attrs.composable.js +99 -0
  29. package/ui.button-link/configs/default.config.js +80 -0
  30. package/ui.button-link/constants/index.js +5 -0
  31. package/ui.button-link/index.stories.js +56 -19
  32. package/ui.button-link/index.vue +178 -493
  33. package/ui.button-toggle/Docs.mdx +16 -0
  34. package/ui.button-toggle/composables/attrs.composable.js +16 -0
  35. package/ui.button-toggle/configs/default.config.js +12 -0
  36. package/ui.button-toggle/constants/index.js +7 -0
  37. package/{ui.button-group → ui.button-toggle}/index.stories.js +79 -28
  38. package/ui.button-toggle/index.vue +128 -0
  39. package/ui.button-toggle-item/Docs.mdx +16 -0
  40. package/ui.button-toggle-item/composables/attrs.composable.js +53 -0
  41. package/ui.button-toggle-item/configs/default.config.js +58 -0
  42. package/ui.button-toggle-item/constants/index.js +5 -0
  43. package/{ui.button-group-item → ui.button-toggle-item}/index.stories.js +16 -13
  44. package/ui.button-toggle-item/index.vue +147 -0
  45. package/ui.container-accordion/composables/attrs.composable.js +45 -0
  46. package/ui.container-accordion/configs/default.config.js +32 -0
  47. package/ui.container-accordion/constants/index.js +5 -0
  48. package/ui.container-accordion/index.stories.js +3 -2
  49. package/ui.container-accordion/index.vue +71 -143
  50. package/ui.container-card/Docs.mdx +16 -0
  51. package/ui.container-card/composable/attrs.composable.js +56 -0
  52. package/ui.container-card/configs/default.config.js +31 -0
  53. package/ui.container-card/constants/index.js +5 -0
  54. package/ui.container-card/index.stories.js +51 -9
  55. package/ui.container-card/index.vue +108 -169
  56. package/ui.container-divider/Docs.mdx +16 -0
  57. package/ui.container-divider/composables/attrs.composable.js +65 -0
  58. package/ui.container-divider/configs/default.config.js +79 -0
  59. package/ui.container-divider/constants/index.js +5 -0
  60. package/ui.container-divider/index.stories.js +41 -8
  61. package/ui.container-divider/index.vue +126 -189
  62. package/ui.container-group/Docs.mdx +16 -0
  63. package/ui.container-group/composables/attrs.composable.js +44 -0
  64. package/ui.container-group/configs/default.config.js +29 -0
  65. package/ui.container-group/constants/index.js +5 -0
  66. package/ui.container-group/index.stories.js +7 -6
  67. package/ui.container-group/index.vue +76 -142
  68. package/ui.container-groups/Docs.mdx +16 -0
  69. package/ui.container-groups/composables/attrs.composable.js +12 -0
  70. package/ui.container-groups/configs/default.config.js +3 -0
  71. package/ui.container-groups/index.stories.js +4 -3
  72. package/ui.container-groups/index.vue +26 -11
  73. package/ui.container-modal/Docs.mdx +16 -0
  74. package/ui.container-modal/composables/attrs.composable.js +90 -0
  75. package/ui.container-modal/configs/default.config.js +69 -0
  76. package/ui.container-modal/constants/index.js +5 -0
  77. package/ui.container-modal/index.stories.js +8 -7
  78. package/ui.container-modal/index.vue +289 -370
  79. package/ui.container-modal-confirm/Docs.mdx +16 -0
  80. package/ui.container-modal-confirm/composable/attrs.composable.js +19 -0
  81. package/ui.container-modal-confirm/configs/default.config.js +12 -0
  82. package/ui.container-modal-confirm/constants/index.js +5 -0
  83. package/ui.container-modal-confirm/index.stories.js +66 -7
  84. package/ui.container-modal-confirm/index.vue +126 -116
  85. package/ui.container-page/Docs.mdx +16 -0
  86. package/ui.container-page/composables/attrs.composable.js +96 -0
  87. package/ui.container-page/configs/default.config.js +71 -0
  88. package/ui.container-page/constants/index.js +5 -0
  89. package/ui.container-page/index.stories.js +7 -34
  90. package/ui.container-page/index.vue +193 -408
  91. package/ui.container-row/Docs.mdx +16 -0
  92. package/ui.container-row/composables/attrs.composable.js +23 -0
  93. package/ui.container-row/configs/default.config.js +14 -0
  94. package/ui.container-row/constants/index.js +5 -0
  95. package/ui.container-row/index.stories.js +10 -0
  96. package/ui.container-row/index.vue +32 -39
  97. package/ui.data-list/composables/attrs.composable.js +45 -0
  98. package/ui.data-list/configs/default.config.js +32 -0
  99. package/ui.data-list/constants/index.js +5 -0
  100. package/ui.data-list/index.stories.js +1 -0
  101. package/ui.data-list/index.vue +156 -265
  102. package/ui.data-table/Docs.mdx +16 -0
  103. package/ui.data-table/composables/attrs.composable.js +188 -0
  104. package/ui.data-table/configs/default.config.js +82 -0
  105. package/ui.data-table/constants/index.js +5 -0
  106. package/ui.data-table/index.stories.js +73 -43
  107. package/ui.data-table/index.vue +600 -961
  108. package/ui.data-table/services/table.service.js +15 -0
  109. package/ui.data-table-cell/composables/attrs.composable.js +24 -0
  110. package/ui.data-table-cell/configs/default.config.js +19 -0
  111. package/ui.data-table-cell/constants/index.js +5 -0
  112. package/ui.data-table-cell/index.vue +44 -0
  113. package/ui.dropdown-badge/Docs.mdx +16 -0
  114. package/ui.dropdown-badge/composables/attrs.composable.js +63 -0
  115. package/ui.dropdown-badge/configs/default.config.js +34 -0
  116. package/ui.dropdown-badge/constants/index.js +5 -0
  117. package/{ui.dropdown-tag → ui.dropdown-badge}/index.stories.js +26 -25
  118. package/ui.dropdown-badge/index.vue +233 -0
  119. package/ui.dropdown-button/Docs.mdx +16 -0
  120. package/ui.dropdown-button/composables/attrs.composable.js +63 -0
  121. package/ui.dropdown-button/configs/default.config.js +37 -0
  122. package/ui.dropdown-button/constants/index.js +14 -0
  123. package/ui.dropdown-button/index.stories.js +12 -11
  124. package/ui.dropdown-button/index.vue +231 -291
  125. package/ui.dropdown-item/Docs.mdx +16 -0
  126. package/ui.dropdown-item/composables/attrs.composable.js +13 -0
  127. package/ui.dropdown-item/configs/default.config.js +16 -0
  128. package/ui.dropdown-item/index.stories.js +2 -1
  129. package/ui.dropdown-item/index.vue +38 -55
  130. package/ui.dropdown-link/Docs.mdx +16 -0
  131. package/ui.dropdown-link/composables/attrs.composable.js +65 -0
  132. package/ui.dropdown-link/configs/default.config.js +37 -0
  133. package/ui.dropdown-link/constants/index.js +5 -0
  134. package/ui.dropdown-link/index.stories.js +11 -11
  135. package/ui.dropdown-link/index.vue +217 -287
  136. package/ui.dropdown-list/Docs.mdx +16 -0
  137. package/ui.dropdown-list/composables/attrs.composable.js +91 -0
  138. package/ui.dropdown-list/composables/usePointer.js +77 -0
  139. package/ui.dropdown-list/configs/default.config.js +68 -0
  140. package/ui.dropdown-list/constants/index.js +5 -0
  141. package/ui.dropdown-list/index.stories.js +33 -3
  142. package/ui.dropdown-list/index.vue +271 -112
  143. package/ui.form-calendar/Docs.mdx +52 -0
  144. package/ui.form-calendar/components/DayView.vue +230 -0
  145. package/ui.form-calendar/components/MonthView.vue +114 -0
  146. package/ui.form-calendar/components/YearView.vue +118 -0
  147. package/ui.form-calendar/composables/attrs.composable.js +87 -0
  148. package/ui.form-calendar/configs/default.config.js +115 -0
  149. package/ui.form-calendar/constants/index.js +69 -0
  150. package/ui.form-calendar/index.stories.js +50 -0
  151. package/ui.form-calendar/index.vue +628 -0
  152. package/ui.form-calendar/services/calendar.service.js +201 -0
  153. package/ui.form-calendar/services/date.service.js +121 -0
  154. package/ui.form-calendar/services/formatting.service.js +180 -0
  155. package/ui.form-checkbox/Docs.mdx +16 -0
  156. package/ui.form-checkbox/composables/attrs.composable.js +57 -0
  157. package/ui.form-checkbox/configs/default.config.js +69 -0
  158. package/ui.form-checkbox/constants/index.js +5 -0
  159. package/ui.form-checkbox/index.stories.js +75 -26
  160. package/ui.form-checkbox/index.vue +201 -261
  161. package/ui.form-checkbox-group/Docs.mdx +16 -0
  162. package/ui.form-checkbox-group/composables/attrs.composable.js +17 -0
  163. package/ui.form-checkbox-group/configs/default.config.js +5 -0
  164. package/ui.form-checkbox-group/constants/index.js +5 -0
  165. package/ui.form-checkbox-group/index.stories.js +7 -1
  166. package/ui.form-checkbox-group/index.vue +104 -177
  167. package/ui.form-checkbox-multi-state/Docs.mdx +16 -0
  168. package/ui.form-checkbox-multi-state/composables/attrs.composable.js +24 -0
  169. package/ui.form-checkbox-multi-state/configs/default.config.js +9 -0
  170. package/ui.form-checkbox-multi-state/constants/index.js +5 -0
  171. package/ui.form-checkbox-multi-state/index.stories.js +8 -11
  172. package/ui.form-checkbox-multi-state/index.vue +109 -220
  173. package/ui.form-color-picker/composables/attrs.composable.js +44 -0
  174. package/ui.form-color-picker/configs/default.config.js +52 -0
  175. package/ui.form-color-picker/constants/index.js +5 -0
  176. package/ui.form-color-picker/index.stories.js +63 -0
  177. package/ui.form-color-picker/index.vue +147 -329
  178. package/ui.form-date-picker/Docs.mdx +52 -0
  179. package/ui.form-date-picker/composables/attrs.composable.js +22 -0
  180. package/ui.form-date-picker/configs/default.config.js +27 -0
  181. package/ui.form-date-picker/constants/index.js +5 -0
  182. package/ui.form-date-picker/index.stories.js +21 -8
  183. package/ui.form-date-picker/index.vue +205 -802
  184. package/ui.form-input/Docs.mdx +16 -0
  185. package/ui.form-input/composables/attrs.composable.js +66 -0
  186. package/ui.form-input/configs/default.config.js +72 -0
  187. package/{constant.component-names → ui.form-input/constants}/index.js +1 -2
  188. package/ui.form-input/index.stories.js +46 -12
  189. package/ui.form-input/index.vue +320 -459
  190. package/ui.form-input-file/composables/attrs.composable.js +82 -0
  191. package/ui.form-input-file/configs/default.config.js +51 -0
  192. package/ui.form-input-file/constants/index.js +5 -0
  193. package/ui.form-input-file/index.stories.js +3 -2
  194. package/ui.form-input-file/index.vue +332 -498
  195. package/ui.form-input-money/Docs.mdx +16 -0
  196. package/ui.form-input-money/composables/attrs.composable.js +13 -0
  197. package/ui.form-input-money/composables/useFormatCurrency.js +82 -0
  198. package/ui.form-input-money/configs/default.config.js +16 -0
  199. package/ui.form-input-money/constants/index.js +5 -0
  200. package/ui.form-input-money/index.stories.js +71 -43
  201. package/ui.form-input-money/index.vue +241 -237
  202. package/ui.form-input-money/services/format.service.js +72 -0
  203. package/ui.form-input-number/Docs.mdx +16 -0
  204. package/ui.form-input-number/composables/attrs.composable.js +47 -0
  205. package/ui.form-input-number/configs/default.config.js +33 -0
  206. package/ui.form-input-number/constants/index.js +5 -0
  207. package/ui.form-input-number/index.stories.js +73 -3
  208. package/ui.form-input-number/index.vue +138 -106
  209. package/ui.form-input-rating/composables/attrs.composable.js +34 -0
  210. package/ui.form-input-rating/configs/default.config.js +25 -0
  211. package/ui.form-input-rating/constants/index.js +5 -0
  212. package/ui.form-input-rating/index.stories.js +3 -2
  213. package/ui.form-input-rating/index.vue +152 -209
  214. package/ui.form-input-search/composables/attrs.composable.js +21 -0
  215. package/ui.form-input-search/configs/default.config.js +20 -0
  216. package/ui.form-input-search/constants/index.js +5 -0
  217. package/ui.form-input-search/index.stories.js +8 -4
  218. package/ui.form-input-search/index.vue +192 -189
  219. package/ui.form-label/Docs.mdx +16 -0
  220. package/ui.form-label/composables/attrs.composable.js +65 -0
  221. package/ui.form-label/configs/default.config.js +95 -0
  222. package/ui.form-label/constants/index.js +13 -0
  223. package/ui.form-label/index.stories.js +107 -0
  224. package/ui.form-label/index.vue +170 -0
  225. package/ui.form-radio/Docs.mdx +16 -0
  226. package/ui.form-radio/composables/attrs.composable.js +34 -0
  227. package/ui.form-radio/configs/default.config.js +47 -0
  228. package/ui.form-radio/constants/index.js +5 -0
  229. package/ui.form-radio/index.stories.js +12 -10
  230. package/ui.form-radio/index.vue +141 -148
  231. package/ui.form-radio-card/Docs.mdx +16 -0
  232. package/ui.form-radio-card/composables/attrs.composable.js +30 -0
  233. package/ui.form-radio-card/configs/default.config.js +25 -0
  234. package/ui.form-radio-card/constants/index.js +5 -0
  235. package/ui.form-radio-card/index.stories.js +19 -10
  236. package/ui.form-radio-card/index.vue +132 -146
  237. package/ui.form-radio-card/services/variant.service.js +15 -0
  238. package/ui.form-radio-group/Docs.mdx +16 -0
  239. package/ui.form-radio-group/composables/attrs.composable.js +27 -0
  240. package/ui.form-radio-group/configs/default.config.js +18 -0
  241. package/ui.form-radio-group/constants/index.js +5 -0
  242. package/ui.form-radio-group/index.stories.js +1 -0
  243. package/ui.form-radio-group/index.vue +114 -85
  244. package/ui.form-select/Docs.mdx +16 -0
  245. package/ui.form-select/composables/attrs.composable.js +172 -0
  246. package/ui.form-select/configs/default.config.js +131 -0
  247. package/ui.form-select/constants/index.js +19 -0
  248. package/ui.form-select/index.stories.js +194 -38
  249. package/ui.form-select/index.vue +638 -910
  250. package/ui.form-select/services/select.service.js +98 -0
  251. package/ui.form-switch/composables/attrs.composable.js +77 -0
  252. package/ui.form-switch/configs/default.config.js +72 -0
  253. package/ui.form-switch/constants/index.js +5 -0
  254. package/ui.form-switch/index.stories.js +9 -42
  255. package/ui.form-switch/index.vue +177 -632
  256. package/ui.form-switch/services/variant.service.js +31 -0
  257. package/ui.form-textarea/Docs.mdx +16 -0
  258. package/ui.form-textarea/composables/attrs.composable.js +52 -0
  259. package/ui.form-textarea/configs/default.config.js +68 -0
  260. package/ui.form-textarea/constants/index.js +5 -0
  261. package/ui.form-textarea/index.stories.js +47 -5
  262. package/ui.form-textarea/index.vue +238 -353
  263. package/ui.image-avatar/composables/attrs.composable.js +34 -0
  264. package/ui.image-avatar/configs/default.config.js +42 -0
  265. package/ui.image-avatar/constants/index.js +5 -0
  266. package/ui.image-avatar/index.stories.js +7 -6
  267. package/ui.image-avatar/index.vue +94 -226
  268. package/ui.image-icon/Docs.mdx +16 -0
  269. package/ui.image-icon/composables/attrs.composable.js +65 -0
  270. package/ui.image-icon/configs/default.config.js +90 -0
  271. package/ui.image-icon/constants/index.js +5 -0
  272. package/ui.image-icon/index.stories.js +16 -35
  273. package/ui.image-icon/index.vue +165 -453
  274. package/ui.image-logo/composables/attrs.composable.js +41 -0
  275. package/ui.image-logo/configs/default.config.js +38 -0
  276. package/ui.image-logo/constants/index.js +5 -0
  277. package/ui.image-logo/index.stories.js +8 -8
  278. package/ui.image-logo/index.vue +80 -166
  279. package/ui.navigation-pagination/composables/attrs.composable.js +41 -0
  280. package/ui.navigation-pagination/configs/default.config.js +24 -0
  281. package/ui.navigation-pagination/constants/index.js +8 -0
  282. package/ui.navigation-pagination/index.stories.js +23 -6
  283. package/ui.navigation-pagination/index.vue +262 -102
  284. package/ui.navigation-stepper/composables/attrs.composable.js +25 -0
  285. package/ui.navigation-stepper/configs/default.config.js +13 -0
  286. package/ui.navigation-stepper/constants/index.js +5 -0
  287. package/ui.navigation-stepper/index.stories.js +1 -0
  288. package/ui.navigation-stepper/index.vue +87 -88
  289. package/ui.navigation-tab/composables/attrs.composable.js +30 -0
  290. package/ui.navigation-tab/configs/default.config.js +22 -0
  291. package/ui.navigation-tab/constants/index.js +5 -0
  292. package/ui.navigation-tab/index.stories.js +7 -11
  293. package/ui.navigation-tab/index.vue +58 -85
  294. package/ui.navigation-tabs/composables/attrs.composable.js +24 -0
  295. package/ui.navigation-tabs/configs/default.config.js +14 -0
  296. package/ui.navigation-tabs/constants/index.js +5 -0
  297. package/ui.navigation-tabs/index.stories.js +7 -11
  298. package/ui.navigation-tabs/index.vue +68 -88
  299. package/ui.other-dot/composables/attrs.composable.js +32 -0
  300. package/ui.other-dot/configs/default.config.js +21 -0
  301. package/ui.other-dot/constants/index.js +5 -0
  302. package/ui.other-dot/index.stories.js +5 -5
  303. package/ui.other-dot/index.vue +41 -89
  304. package/ui.other-loader/composables/attrs.composable.js +51 -0
  305. package/ui.other-loader/configs/default.config.js +47 -0
  306. package/ui.other-loader/constants/index.js +5 -0
  307. package/ui.other-loader/index.stories.js +14 -13
  308. package/ui.other-loader/index.vue +58 -107
  309. package/ui.text-alert/composables/attrs.composable.js +48 -0
  310. package/ui.text-alert/configs/default.config.js +51 -0
  311. package/ui.text-alert/constatns/index.js +5 -0
  312. package/ui.text-alert/index.stories.js +39 -6
  313. package/ui.text-alert/index.vue +95 -210
  314. package/ui.text-badge/Docs.mdx +16 -0
  315. package/ui.text-badge/composables/attrs.composable.js +49 -0
  316. package/ui.text-badge/configs/default.config.js +51 -0
  317. package/ui.text-badge/constants/index.js +5 -0
  318. package/ui.text-badge/index.stories.js +190 -0
  319. package/ui.text-badge/index.vue +120 -0
  320. package/ui.text-block/composables/attrs.composable.js +31 -0
  321. package/ui.text-block/configs/default.config.js +35 -0
  322. package/ui.text-block/constatns/index.js +5 -0
  323. package/ui.text-block/index.stories.js +2 -1
  324. package/ui.text-block/index.vue +55 -116
  325. package/ui.text-empty/Docs.mdx +16 -0
  326. package/ui.text-empty/composables/attrs.composable.js +43 -0
  327. package/ui.text-empty/configs/default.config.js +4 -2
  328. package/ui.text-empty/constants/index.js +5 -0
  329. package/ui.text-empty/index.stories.js +3 -3
  330. package/ui.text-empty/index.vue +13 -14
  331. package/ui.text-file/composables/attrs.composable.js +37 -0
  332. package/ui.text-file/configs/default.config.js +15 -0
  333. package/ui.text-file/index.stories.js +2 -1
  334. package/ui.text-file/index.vue +63 -72
  335. package/ui.text-files/composables/attrs.composable.js +19 -0
  336. package/ui.text-files/configs/default.config.js +9 -0
  337. package/ui.text-files/constants/index.js +5 -0
  338. package/ui.text-files/index.stories.js +1 -0
  339. package/ui.text-files/index.vue +73 -50
  340. package/ui.text-header/Docs.mdx +16 -0
  341. package/ui.text-header/composables/attrs.composable.js +34 -0
  342. package/ui.text-header/configs/default.config.js +45 -0
  343. package/ui.text-header/constants/index.js +5 -0
  344. package/ui.text-header/index.stories.js +34 -38
  345. package/ui.text-header/index.vue +67 -221
  346. package/ui.text-money/Docs.mdx +16 -0
  347. package/ui.text-money/composables/attrs.composable.js +65 -0
  348. package/ui.text-money/configs/default.config.js +69 -0
  349. package/ui.text-money/constants/index.js +7 -0
  350. package/ui.text-money/index.stories.js +24 -22
  351. package/ui.text-money/index.vue +187 -506
  352. package/ui.text-money/services/money.services.js +24 -0
  353. package/_readme/layoutAdmin.md +0 -703
  354. package/_readme/layoutApp.md +0 -153
  355. package/_readme/layoutAuth.md +0 -190
  356. package/config.rollup-plugin-visualizer/index.js +0 -11
  357. package/config.unplugin-vue-i18n/index.js +0 -9
  358. package/config.vite-plugin-pwa/index.js +0 -132
  359. package/config.vite-svg-loader/index.js +0 -22
  360. package/index.js +0 -151
  361. package/layout-ui.loader/index.vue +0 -61
  362. package/layout-ui.loader/store/index.js +0 -17
  363. package/layout-ui.loader-top/components/TopProgress.vue +0 -277
  364. package/layout-ui.loader-top/index.vue +0 -218
  365. package/layout-ui.loader-top/store/index.js +0 -55
  366. package/layout-ui.notify/index.stories.js +0 -102
  367. package/layout-ui.notify/index.vue +0 -254
  368. package/layout-ui.viewport/index.vue +0 -78
  369. package/layout-ui.viewport/store/index.js +0 -47
  370. package/layout.admin/AsideBlock.vue +0 -534
  371. package/layout.admin/AsideInfoBlock.vue +0 -85
  372. package/layout.admin/BrandBlock.vue +0 -380
  373. package/layout.admin/ChangeThemeModal.vue +0 -179
  374. package/layout.admin/HelperBlock.vue +0 -132
  375. package/layout.admin/MainMenu.vue +0 -234
  376. package/layout.admin/MainSubMenu.vue +0 -196
  377. package/layout.admin/MobileMainMenu.vue +0 -197
  378. package/layout.admin/MobileSubBlock.vue +0 -171
  379. package/layout.admin/RightInfoBlock.vue +0 -166
  380. package/layout.admin/UserBlock.vue +0 -290
  381. package/layout.admin/images/abstract-01.jpg +0 -0
  382. package/layout.admin/images/abstract-01_preview.jpg +0 -0
  383. package/layout.admin/index.vue +0 -544
  384. package/layout.admin/mixins/index.js +0 -54
  385. package/layout.admin/store/index.js +0 -167
  386. package/layout.auth/FeaturesBlock.vue +0 -57
  387. package/layout.auth/FooterMenu.vue +0 -90
  388. package/layout.auth/LanguageSwitcher.vue +0 -90
  389. package/layout.auth/index.vue +0 -237
  390. package/library.vue-tailwind-3/t-input.js +0 -68
  391. package/library.vue-tailwind-3/t-modal.js +0 -409
  392. package/library.vue-tailwind-3/t-pagination.js +0 -309
  393. package/library.vue-tailwind-3/t-table.js +0 -362
  394. package/library.vue-tailwind-3/t-textarea.js +0 -84
  395. package/resolver.unplugin-vue-components/index.js +0 -94
  396. package/service.api/index.js +0 -275
  397. package/service.data/index.js +0 -75
  398. package/service.date/index.js +0 -222
  399. package/service.i18n/index.js +0 -145
  400. package/service.idb-keyval/index.js +0 -37
  401. package/service.jwt/index.js +0 -27
  402. package/service.money/index.js +0 -86
  403. package/service.notify/index.js +0 -87
  404. package/service.redirect/index.js +0 -20
  405. package/service.validation/index.js +0 -55
  406. package/service.worker/index.js +0 -26
  407. package/ui.button-expand/index.stories.js +0 -44
  408. package/ui.button-expand/index.vue +0 -22
  409. package/ui.button-expand-item/index.stories.js +0 -69
  410. package/ui.button-expand-item/index.vue +0 -154
  411. package/ui.button-group/index.vue +0 -165
  412. package/ui.button-group-item/index.vue +0 -283
  413. package/ui.container-modal/components/ArrowLink.vue +0 -87
  414. package/ui.container-page/components/ArrowLink.vue +0 -87
  415. package/ui.data-table/components/DateSeparator.vue +0 -99
  416. package/ui.data-table/components/EmptyTableMsg.vue +0 -46
  417. package/ui.data-table/components/TableCheckbox.vue +0 -109
  418. package/ui.dropdown-tag/index.vue +0 -285
  419. package/ui.form-date-picker-range/components/VariantButton.vue +0 -136
  420. package/ui.form-date-picker-range/components/VariantInput.vue +0 -101
  421. package/ui.form-date-picker-range/index.stories.js +0 -93
  422. package/ui.form-date-picker-range/index.vue +0 -1537
  423. package/ui.form-date-picker-range/services/dateRange.service.js +0 -178
  424. package/ui.form-input-money/_components/ConvertibleInput.vue +0 -773
  425. package/ui.form-input-money/_components/RangeInput.vue +0 -356
  426. package/ui.form-input-money/_components/SingleInput.vue +0 -378
  427. package/ui.form-select-multi/index.stories.js +0 -131
  428. package/ui.form-select-multi/index.vue +0 -882
  429. package/ui.image-icon/cli.mjs +0 -159
  430. package/ui.text-empty/services/variant.service.js +0 -22
  431. package/ui.text-field/index.stories.js +0 -60
  432. package/ui.text-field/index.vue +0 -109
  433. package/ui.text-tag/index.stories.js +0 -90
  434. package/ui.text-tag/index.vue +0 -178
  435. package/web-types.json +0 -6320
  436. /package/ui.form-input/{text-security-disc.woff → assets/fonts/text-security-disc.woff} +0 -0
@@ -1,416 +1,335 @@
1
1
  <template>
2
- <t-modal
3
- ref="pageModal"
4
- v-model="isShownModal"
5
- :classes="modalClasses"
6
- :class="[ourModalClasses, modalWidthClass]"
7
- :click-to-close="clickToClose"
8
- :esc-to-close="escToClose"
9
- :disable-body-scroll="disableBodyScroll"
10
- :data-cy="dataCy"
11
- hide-close-button
12
- @closed="onCloseModal"
13
- >
14
- <div class="mono-modal">
15
- <div class="mono-modal-header">
16
- <div class="mono-modal-header-left-wrapper">
17
- <!-- @slot Use it to add something to the header left before. -->
18
- <slot name="header-left-before" />
19
-
20
- <!-- @slot Use it to add something to the header left. -->
21
- <slot name="header-left">
22
- <ArrowLink
23
- v-if="isShownArrowButton"
24
- :back-route="backRoute"
25
- :data-cy="`${dataCy}-back`"
26
- @click="onClickBack"
2
+ <transition v-bind="config.overlayTransition">
3
+ <div v-if="isShownModal" v-bind="overlayAttrs" />
4
+ </transition>
5
+
6
+ <transition v-bind="config.wrapperTransition">
7
+ <div
8
+ v-if="isShownModal"
9
+ :id="id"
10
+ ref="wrapperRef"
11
+ tabindex="0"
12
+ :data-cy="dataCy"
13
+ v-bind="wrapperAttrs"
14
+ @keydown.self.esc="onKeydownEsc"
15
+ >
16
+ <div v-bind="innerWrapperAttrs" @click.self="onClickOutside">
17
+ <div v-bind="modalAttrs">
18
+ <div v-if="isExistHeader" v-bind="headerAttrs">
19
+ <div v-bind="headerLeftAttrs">
20
+ <!-- @slot Use it to add something to the header left before. -->
21
+ <slot name="header-left-before" />
22
+
23
+ <!-- @slot Use it to add something to the header left. -->
24
+ <slot name="header-left">
25
+ <div v-bind="headerLeftFallbackAttrs">
26
+ <ULink
27
+ v-if="isShownArrowButton"
28
+ size="xs"
29
+ color="gray"
30
+ :route="backRoute"
31
+ v-bind="backLinkAttrs"
32
+ @click="onClickBackLink"
33
+ >
34
+ <UIcon
35
+ :name="config.backLinkIconName"
36
+ size="xs"
37
+ color="gray"
38
+ v-bind="backLinkIconAttrs"
39
+ />
40
+ {{ backRoute.title }}
41
+ </ULink>
42
+
43
+ <UHeader size="md" :color="titleColor" :label="title" v-bind="titleAttrs" />
44
+ <div v-if="description" v-bind="descriptionAttrs" v-text="description" />
45
+ </div>
46
+ </slot>
47
+
48
+ <!-- @slot Use it to add something to the header left after. -->
49
+ <slot name="header-left-after" />
50
+ </div>
51
+
52
+ <div v-bind="headerRightAttrs">
53
+ <!-- @slot Use it to add something to the header right. -->
54
+ <slot name="header-right">
55
+ <UIcon
56
+ v-if="closeIcon"
57
+ :name="config.closeIconName"
58
+ interactive
59
+ :data-cy="`${dataCy}-close`"
60
+ v-bind="closeIconAttrs"
61
+ @click="onClickCloseModal"
62
+ />
63
+ </slot>
64
+ </div>
65
+ </div>
66
+
67
+ <div v-bind="bodyAttrs">
68
+ <!-- @slot Use it to add something to the modal body. -->
69
+ <slot />
70
+ </div>
71
+
72
+ <UDivider v-if="!isExistFooter || !noDivider" no-border v-bind="dividerSpacingAttrs" />
73
+
74
+ <template v-if="isExistFooter">
75
+ <UDivider
76
+ v-if="!noDivider"
77
+ variant="dark"
78
+ no-bottom-padding
79
+ no-top-padding
80
+ v-bind="dividerAttrs"
27
81
  />
28
82
 
29
- <div>
30
- <UHeader size="md" :color="color" :text="title" />
31
- <div v-if="description" class="mono-modal-header-subtitle">
32
- {{ description }}
83
+ <div v-bind="footerAttrs">
84
+ <div v-if="hasSlotContent($slots['footer-left'])" v-bind="footerLeftAttrs">
85
+ <!-- @slot Use it to add something to the footer left. -->
86
+ <slot name="footer-left" />
33
87
  </div>
34
- </div>
35
- </slot>
36
88
 
37
- <!-- @slot Use it to add something to the header left after. -->
38
- <slot name="header-left-after" />
89
+ <div v-if="hasSlotContent($slots['footer-right'])" v-bind="footerRightAttrs">
90
+ <!-- @slot Use it to add something to the footer right. -->
91
+ <slot name="footer-right" />
92
+ </div>
93
+ </div>
94
+ </template>
39
95
  </div>
40
-
41
- <!-- @slot Use it to add something to the header right. -->
42
- <slot name="header-right">
43
- <UIcon
44
- v-if="showCloseIcon"
45
- name="close"
46
- class="icon"
47
- :data-cy="`${dataCy}-close`"
48
- @click="onCloseModal"
49
- />
50
- </slot>
51
- </div>
52
-
53
- <div class="mono-modal-body">
54
- <!-- @slot Use it to add something to the modal body. -->
55
- <slot />
56
96
  </div>
57
97
  </div>
58
-
59
- <UDivider v-if="!noDivider" no-border />
60
-
61
- <template v-if="isExistFooter" #footer>
62
- <UDivider v-if="!noDivider" variant="dark" no-bottom-padding no-top-padding />
63
-
64
- <div class="mono-modal-footer" :class="reverseFooterClass">
65
- <div v-if="isExistSlot('footer-left')" class="mono-modal-footer-left">
66
- <!-- @slot Use it to add something to the footer left. -->
67
- <slot name="footer-left" />
68
- </div>
69
-
70
- <div v-if="isExistSlot('footer-right')" class="mono-modal-footer-right">
71
- <!-- @slot Use it to add something to the footer right. -->
72
- <slot name="footer-right" />
73
- </div>
74
- </div>
75
- </template>
76
- </t-modal>
98
+ </transition>
77
99
  </template>
78
100
 
79
- <script>
80
- import { mapGetters } from "vuex";
101
+ <script setup>
102
+ import { computed, useSlots, watch, ref } from "vue";
103
+
104
+ import UIService, { getRandomId } from "vueless/service.ui";
81
105
 
82
- import ArrowLink from "./components/ArrowLink.vue";
83
- import TModal from "vueless/library.vue-tailwind-3/t-modal";
84
106
  import UIcon from "vueless/ui.image-icon";
85
107
  import UHeader from "vueless/ui.text-header";
86
108
  import UDivider from "vueless/ui.container-divider";
87
109
 
88
- export default {
89
- name: "UModal",
110
+ import defaultConfig from "./configs/default.config";
111
+ import { UModal } from "./constants/index";
112
+ import { useAttrs } from "./composables/attrs.composable";
90
113
 
91
- components: {
92
- ArrowLink,
93
- TModal,
94
- UIcon,
95
- UHeader,
96
- UDivider,
97
- },
114
+ /* Should be a string for correct web-types gen */
115
+ defineOptions({ name: "UModal", inheritAttrs: false });
116
+ const slots = useSlots();
98
117
 
99
- props: {
100
- /**
101
- * Set width for modal.
102
- * @values xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl
103
- */
104
- width: {
105
- type: String,
106
- default: "sm",
107
- },
108
-
109
- /**
110
- * Set modal's title.
111
- */
112
- title: {
113
- type: String,
114
- default: "",
115
- },
116
-
117
- /**
118
- * Sets page description.
119
- */
120
- description: {
121
- type: String,
122
- default: "",
123
- },
124
-
125
- /**
126
- * Set back route params (name, title, params).
127
- */
128
- backRoute: {
129
- type: Object,
130
- default: () => ({}),
131
- },
132
-
133
- /**
134
- * Make active click for close.
135
- */
136
- clickToClose: {
137
- type: Boolean,
138
- default: true,
139
- },
140
-
141
- /**
142
- * Make close icon active.
143
- */
144
- showCloseIcon: {
145
- type: Boolean,
146
- default: true,
147
- },
148
-
149
- /**
150
- * Make active ESC for close.
151
- */
152
- escToClose: {
153
- type: Boolean,
154
- default: true,
155
- },
156
-
157
- /**
158
- * Change modal state (hidden / shown).
159
- */
160
- modelValue: {
161
- type: Boolean,
162
- default: false,
163
- },
164
-
165
- /**
166
- * The color of the title.
167
- * @values gray, red, orange, yellow, green, blue, violet, fuchsia
168
- */
169
- color: {
170
- type: String,
171
- default: "",
172
- },
173
-
174
- /**
175
- * Add extra top margin for modal inside modal.
176
- */
177
- inner: {
178
- type: Boolean,
179
- default: false,
180
- },
181
-
182
- /**
183
- * Removes divider between end of content end footer.
184
- */
185
- noDivider: {
186
- type: Boolean,
187
- default: false,
188
- },
189
-
190
- /**
191
- * Reverse left and right footer blocks (in a mobile version only).
192
- */
193
- mobileFooterReverse: {
194
- type: Boolean,
195
- default: false,
196
- },
197
-
198
- /**
199
- * Attach small modal to the bottom of the screen (nice for confirm modal).
200
- */
201
- mobileBottomAlign: {
202
- type: Boolean,
203
- default: false,
204
- },
205
-
206
- /**
207
- * Sets data-cy attribute for automated testing.
208
- */
209
- dataCy: {
210
- type: String,
211
- default: "",
212
- },
213
- },
118
+ const wrapperRef = ref(null);
214
119
 
215
- emits: ["clickBack", "update:modelValue"],
216
-
217
- computed: {
218
- ...mapGetters("breakpoint", ["isMobileDevice"]),
219
-
220
- disableBodyScroll() {
221
- return !this.isMobileDevice;
222
- },
223
-
224
- ourModalClasses() {
225
- const inner = this.inner ? "mono-modal-inner" : "";
226
-
227
- return [inner];
228
- },
229
-
230
- modalWidthClass() {
231
- return {
232
- "mono-modal-size-xs": this.width === "xs", // 400px
233
- "mono-modal-size-sm": this.width === "sm", // 500px
234
- "mono-modal-size-md": this.width === "md", // 600px
235
- "mono-modal-size-lg": this.width === "lg", // 700px
236
- "mono-modal-size-xl": this.width === "xl", // 800px
237
- "mono-modal-size-2xl": this.width === "2xl", // 900px
238
- "mono-modal-size-3xl": this.width === "3xl", // 1000px
239
- "mono-modal-size-4xl": this.width === "4xl", // 1100px
240
- "mono-modal-size-5xl": this.width === "5xl", // 1200px
241
- };
242
- },
243
-
244
- modalClasses() {
245
- return {
246
- overlay: "!mt-0 z-50 bg-gray-900 bg-opacity-75 outline-none bottom-10",
247
- wrapper: `flex md:justify-start flex-col z-50 mx-3 md:py-12 mono-modal-wrapper
248
- ${this.mobileBottomAlign ? "h-full justify-end" : "justify-start"}`,
249
- modal: `t-modal bg-white shadow rounded-t-2xl md:rounded-2xl p-0 pb-safe-bottom mt-safe-top`,
250
- footer: "rounded-b-2xl",
251
- overlayEnterClass: "opacity-0",
252
- overlayEnterActiveClass: "transition ease-out duration-300",
253
- overlayEnterToClass: "opacity-100",
254
- overlayLeaveFromClass: "opacity-100",
255
- overlayLeaveActiveClass: "transition ease-in duration-200",
256
- overlayLeaveToClass: "opacity-0",
257
- enterFromClass: "opacity-0 translate-y-4 sm:translate-y-0 transform sm:scale-95",
258
- enterActiveClass: "transition ease-out duration-300",
259
- enterToClass: "opacity-100 translate-y-0 transform sm:scale-100",
260
- leaveFromClass: "opacity-100 translate-y-0 transform sm:scale-100",
261
- leaveActiveClass: "transition ease-in duration-200",
262
- leaveToClass: "opacity-0 translate-y-4 sm:translate-y-0 transform sm:scale-95",
263
- };
264
- },
265
-
266
- reverseFooterClass() {
267
- return {
268
- "reverse-footer": this.mobileFooterReverse && this.isMobileDevice,
269
- };
270
- },
271
-
272
- headerTitleClass() {
273
- return Object.keys(this.backRoute).length ? "padding-left" : "";
274
- },
275
-
276
- isShownModal: {
277
- get() {
278
- return this.modelValue;
279
- },
280
- set(value) {
281
- this.$emit("update:modelValue", value);
282
- },
283
- },
284
-
285
- isShownArrowButton() {
286
- return !!Object.keys(this.backRoute).length;
287
- },
288
-
289
- isExistFooter() {
290
- return this.isExistSlot("footer-left") || this.isExistSlot("footer-right");
291
- },
120
+ const props = defineProps({
121
+ /**
122
+ * Change modal state (hidden / shown).
123
+ */
124
+ modelValue: {
125
+ type: Boolean,
126
+ default: false,
292
127
  },
293
128
 
294
- methods: {
295
- showModal() {
296
- this.isShownModal = true;
297
- },
298
-
299
- closeModal() {
300
- this.isShownModal = false;
301
- },
302
-
303
- onCloseModal() {
304
- this.closeModal();
305
- },
129
+ /**
130
+ * Set modal title.
131
+ */
132
+ title: {
133
+ type: String,
134
+ default: "",
135
+ },
306
136
 
307
- onClickBack() {
308
- this.$emit("clickBack");
309
- },
137
+ /**
138
+ * The color of the title.
139
+ * @values brand, grayscale, gray, red, orange, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose
140
+ */
141
+ titleColor: {
142
+ type: String,
143
+ default: UIService.get(defaultConfig, UModal).default.color,
144
+ },
310
145
 
311
- isExistSlot(slotName) {
312
- return !!this.$slots[slotName];
313
- },
146
+ /**
147
+ * Sets modal description.
148
+ */
149
+ description: {
150
+ type: String,
151
+ default: "",
314
152
  },
315
- };
316
- </script>
317
153
 
318
- <style lang="postcss" scoped>
319
- .mono-modal {
320
- &-header {
321
- @apply flex items-center justify-between;
322
- @apply px-4 md:px-8 pb-6 pt-8;
323
-
324
- &-left {
325
- &-wrapper {
326
- @apply flex items-center space-x-4;
327
- }
328
- }
329
-
330
- &-title {
331
- @apply text-3xl font-medium text-gray-900;
332
- }
333
-
334
- .icon {
335
- @apply cursor-pointer;
336
- }
337
-
338
- &-subtitle {
339
- @apply mt-1.5 text-base font-normal text-gray-600;
340
- }
341
- }
154
+ /**
155
+ * Set back link route.
156
+ */
157
+ backRoute: {
158
+ type: Object,
159
+ default: () => ({}),
160
+ },
342
161
 
343
- &-body {
344
- @apply space-y-4;
345
- @apply px-4 md:px-8;
346
- }
162
+ /**
163
+ * Set width for modal.
164
+ * @values xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl
165
+ */
166
+ width: {
167
+ type: String,
168
+ default: UIService.get(defaultConfig, UModal).default.width,
169
+ },
347
170
 
348
- &-footer {
349
- @apply flex justify-between px-4 md:px-8 py-8;
350
- @apply max-md:flex-col max-md:gap-4;
171
+ /**
172
+ * Allow closing modal by clicking on overlay.
173
+ */
174
+ clickToClose: {
175
+ type: Boolean,
176
+ default: UIService.get(defaultConfig, UModal).default.clickToClose,
177
+ },
351
178
 
352
- &-left,
353
- &-right {
354
- @apply flex flex-col md:flex-row;
355
- @apply space-y-4 md:space-x-4 md:space-y-0;
356
- @apply w-full;
357
- }
179
+ /**
180
+ * Allow closing modal by clicking on close icon.
181
+ */
182
+ closeIcon: {
183
+ type: Boolean,
184
+ default: UIService.get(defaultConfig, UModal).default.closeIcon,
185
+ },
358
186
 
359
- &-right {
360
- @apply justify-end;
361
- }
362
- }
363
- }
187
+ /**
188
+ * Allow closing modal by pressing escape (esc) key.
189
+ */
190
+ escToClose: {
191
+ type: Boolean,
192
+ default: UIService.get(defaultConfig, UModal).default.escToClose,
193
+ },
364
194
 
365
- .padding-left {
366
- @apply pl-2;
367
- }
195
+ /**
196
+ * Add extra top margin for modal inside another modal.
197
+ */
198
+ inner: {
199
+ type: Boolean,
200
+ default: UIService.get(defaultConfig, UModal).default.inner,
201
+ },
368
202
 
369
- .mono-modal-size-xs > :deep(.mono-modal-wrapper) {
370
- @apply md:w-100;
371
- }
203
+ /**
204
+ * Hide divider between content end footer.
205
+ */
206
+ noDivider: {
207
+ type: Boolean,
208
+ default: UIService.get(defaultConfig, UModal).default.noDivider,
209
+ },
372
210
 
373
- .mono-modal-size-sm > :deep(.mono-modal-wrapper) {
374
- @apply md:w-125;
375
- }
211
+ /**
212
+ * Reverse left and right footer blocks (mobile version only).
213
+ */
214
+ mobileFooterReverse: {
215
+ type: Boolean,
216
+ default: UIService.get(defaultConfig, UModal).default.mobileFooterReverse,
217
+ },
376
218
 
377
- .mono-modal-size-md > :deep(.mono-modal-wrapper) {
378
- @apply md:w-150;
379
- }
219
+ /**
220
+ * Attach small modal to the bottom of the screen (mobile version only).
221
+ */
222
+ mobileBottomAlign: {
223
+ type: Boolean,
224
+ default: UIService.get(defaultConfig, UModal).default.mobileBottomAlign,
225
+ },
380
226
 
381
- .mono-modal-size-lg > :deep(.mono-modal-wrapper) {
382
- @apply md:w-175;
383
- }
227
+ /**
228
+ * Set component ui config object.
229
+ */
230
+ config: {
231
+ type: Object,
232
+ default: () => ({}),
233
+ },
384
234
 
385
- .mono-modal-size-xl > :deep(.mono-modal-wrapper) {
386
- @apply md:w-200;
387
- }
235
+ /**
236
+ * Unique element id.
237
+ * @ignore
238
+ */
239
+ id: {
240
+ type: String,
241
+ default: () => getRandomId(),
242
+ },
388
243
 
389
- .mono-modal-size-2xl > :deep(.mono-modal-wrapper) {
390
- @apply md:w-225;
244
+ /**
245
+ * Set data-cy attribute for automated testing.
246
+ */
247
+ dataCy: {
248
+ type: String,
249
+ default: "",
250
+ },
251
+ });
252
+
253
+ const emit = defineEmits(["update:modelValue", "back"]);
254
+
255
+ const {
256
+ config,
257
+ modalAttrs,
258
+ titleAttrs,
259
+ backLinkAttrs,
260
+ backLinkIconAttrs,
261
+ closeIconAttrs,
262
+ dividerAttrs,
263
+ dividerSpacingAttrs,
264
+ overlayAttrs,
265
+ wrapperAttrs,
266
+ innerWrapperAttrs,
267
+ headerAttrs,
268
+ headerLeftAttrs,
269
+ headerLeftFallbackAttrs,
270
+ descriptionAttrs,
271
+ headerRightAttrs,
272
+ bodyAttrs,
273
+ footerLeftAttrs,
274
+ footerAttrs,
275
+ footerRightAttrs,
276
+ hasSlotContent,
277
+ } = useAttrs(props);
278
+
279
+ const isShownModal = computed({
280
+ get: () => props.modelValue,
281
+ set: (value) => emit("update:modelValue", value),
282
+ });
283
+
284
+ const isShownArrowButton = computed(() => {
285
+ return !!Object.keys(props.backRoute).length;
286
+ });
287
+
288
+ const isExistHeader = computed(() => {
289
+ return (
290
+ hasSlotContent(slots["header-left"]) ||
291
+ hasSlotContent(slots["header-left-before"]) ||
292
+ hasSlotContent(slots["header-left-after"]) ||
293
+ hasSlotContent(slots["header-right"]) ||
294
+ props.title
295
+ );
296
+ });
297
+
298
+ const isExistFooter = computed(() => {
299
+ return hasSlotContent(slots["footer-left"]) || hasSlotContent(slots["footer-right"]);
300
+ });
301
+
302
+ watch(() => isShownModal.value, preventOverlayFromScrolling);
303
+
304
+ function preventOverlayFromScrolling(newValue) {
305
+ // focus wrapper to be able to close modal on esc
306
+ setTimeout(() => wrapperRef.value?.focus(), 0);
307
+
308
+ if (newValue) {
309
+ document.body.style.overflow = "hidden";
310
+ } else {
311
+ document.getElementById(`${props.id}`).style.overflow = "hidden";
312
+ document.body.style.overflow = "auto";
313
+ }
391
314
  }
392
315
 
393
- .mono-modal-size-3xl > :deep(.mono-modal-wrapper) {
394
- @apply md:w-250;
316
+ function onClickBackLink() {
317
+ emit("back");
395
318
  }
396
319
 
397
- .mono-modal-size-4xl > :deep(.mono-modal-wrapper) {
398
- @apply md:w-275;
320
+ function onClickOutside() {
321
+ props.clickToClose && closeModal();
399
322
  }
400
323
 
401
- .mono-modal-size-5xl > :deep(.mono-modal-wrapper) {
402
- @apply md:w-300;
324
+ function onKeydownEsc() {
325
+ props.escToClose && closeModal();
403
326
  }
404
327
 
405
- .mono-modal-inner > :deep(.mono-modal-wrapper) {
406
- @apply !my-[4.5rem];
328
+ function onClickCloseModal() {
329
+ props.closeIcon && closeModal();
407
330
  }
408
331
 
409
- .reverse-footer {
410
- @apply flex flex-col space-y-4;
411
-
412
- .page-footer-right {
413
- @apply flex flex-col-reverse space-y-reverse;
414
- }
332
+ function closeModal() {
333
+ isShownModal.value = false;
415
334
  }
416
- </style>
335
+ </script>