@winchsa/ui 0.1.0

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 (305) hide show
  1. package/README.md +166 -0
  2. package/dist/components/Breadcrumbs.vue +46 -0
  3. package/dist/components/Breadcrumbs.vue.d.ts +6 -0
  4. package/dist/components/Drawer.vue +60 -0
  5. package/dist/components/Drawer.vue.d.ts +44 -0
  6. package/dist/components/IconBtn.vue +18 -0
  7. package/dist/components/IconBtn.vue.d.ts +30 -0
  8. package/dist/components/Modal.vue +155 -0
  9. package/dist/components/Modal.vue.d.ts +0 -0
  10. package/dist/components/SiteTitle.vue +14 -0
  11. package/dist/components/SiteTitle.vue.d.ts +2 -0
  12. package/dist/components/Toaster.vue +19 -0
  13. package/dist/components/Toaster.vue.d.ts +5 -0
  14. package/dist/components/cards/CheckboxesCard.vue +76 -0
  15. package/dist/components/cards/CheckboxesCard.vue.d.ts +20 -0
  16. package/dist/components/cards/HeaderCard.vue +31 -0
  17. package/dist/components/cards/HeaderCard.vue.d.ts +8 -0
  18. package/dist/components/cards/ImageCard.vue +73 -0
  19. package/dist/components/cards/ImageCard.vue.d.ts +63 -0
  20. package/dist/components/cards/InputCard.vue +60 -0
  21. package/dist/components/cards/InputCard.vue.d.ts +41 -0
  22. package/dist/components/cards/StaticCard.vue +37 -0
  23. package/dist/components/cards/StaticCard.vue.d.ts +33 -0
  24. package/dist/components/core/AppBarSearch.vue +345 -0
  25. package/dist/components/core/AppBarSearch.vue.d.ts +1587 -0
  26. package/dist/components/core/AppDrawerHeaderSection.vue +21 -0
  27. package/dist/components/core/AppDrawerHeaderSection.vue.d.ts +30 -0
  28. package/dist/components/core/AppSearchHeader.vue +72 -0
  29. package/dist/components/core/AppSearchHeader.vue.d.ts +7 -0
  30. package/dist/components/core/AppStepper.vue +232 -0
  31. package/dist/components/core/AppStepper.vue.d.ts +25 -0
  32. package/dist/components/core/CustomizerSection.vue +19 -0
  33. package/dist/components/core/CustomizerSection.vue.d.ts +25 -0
  34. package/dist/components/core/DialogCloseBtn.vue +20 -0
  35. package/dist/components/core/DialogCloseBtn.vue.d.ts +9 -0
  36. package/dist/components/core/MoreBtn.vue +27 -0
  37. package/dist/components/core/MoreBtn.vue.d.ts +25 -0
  38. package/dist/components/core/ScrollToTop.vue +39 -0
  39. package/dist/components/core/ScrollToTop.vue.d.ts +2 -0
  40. package/dist/components/core/app-form-elements/AppCombobox.vue +67 -0
  41. package/dist/components/core/app-form-elements/AppCombobox.vue.d.ts +0 -0
  42. package/dist/components/core/app-form-elements/AppSelect.vue +98 -0
  43. package/dist/components/core/app-form-elements/AppSelect.vue.d.ts +0 -0
  44. package/dist/components/core/app-form-elements/AppSwitch.vue +59 -0
  45. package/dist/components/core/app-form-elements/AppSwitch.vue.d.ts +27 -0
  46. package/dist/components/core/app-form-elements/AppTextField.vue +66 -0
  47. package/dist/components/core/app-form-elements/AppTextField.vue.d.ts +26 -0
  48. package/dist/components/core/app-form-elements/AppTextarea.vue +69 -0
  49. package/dist/components/core/app-form-elements/AppTextarea.vue.d.ts +26 -0
  50. package/dist/components/core/app-form-elements/CustomCheckboxes.vue +69 -0
  51. package/dist/components/core/app-form-elements/CustomCheckboxes.vue.d.ts +39 -0
  52. package/dist/components/core/app-form-elements/CustomCheckboxesWithIcon.vue +80 -0
  53. package/dist/components/core/app-form-elements/CustomCheckboxesWithIcon.vue.d.ts +39 -0
  54. package/dist/components/core/app-form-elements/CustomCheckboxesWithImage.vue +67 -0
  55. package/dist/components/core/app-form-elements/CustomCheckboxesWithImage.vue.d.ts +15 -0
  56. package/dist/components/core/app-form-elements/CustomRadios.vue +69 -0
  57. package/dist/components/core/app-form-elements/CustomRadios.vue.d.ts +40 -0
  58. package/dist/components/core/app-form-elements/CustomRadiosWithIcon.vue +98 -0
  59. package/dist/components/core/app-form-elements/CustomRadiosWithIcon.vue.d.ts +45 -0
  60. package/dist/components/core/app-form-elements/CustomRadiosWithImage.vue +69 -0
  61. package/dist/components/core/app-form-elements/CustomRadiosWithImage.vue.d.ts +53 -0
  62. package/dist/components/core/cards/AppCard.vue +45 -0
  63. package/dist/components/core/cards/AppCard.vue.d.ts +26 -0
  64. package/dist/components/core/cards/AppCardActions.vue +126 -0
  65. package/dist/components/core/cards/AppCardActions.vue.d.ts +79 -0
  66. package/dist/components/core/cards/CardStatisticsHorizontal.vue +29 -0
  67. package/dist/components/core/cards/CardStatisticsHorizontal.vue.d.ts +10 -0
  68. package/dist/components/forms/Accordion.vue +43 -0
  69. package/dist/components/forms/Accordion.vue.d.ts +35 -0
  70. package/dist/components/forms/AppLabel.vue +47 -0
  71. package/dist/components/forms/AppLabel.vue.d.ts +36 -0
  72. package/dist/components/forms/AppLink.vue +50 -0
  73. package/dist/components/forms/AppLink.vue.d.ts +27 -0
  74. package/dist/components/forms/AppNumberField.vue +85 -0
  75. package/dist/components/forms/AppNumberField.vue.d.ts +45 -0
  76. package/dist/components/forms/AppOtpInput.vue +84 -0
  77. package/dist/components/forms/AppOtpInput.vue.d.ts +16 -0
  78. package/dist/components/forms/AttachmentCropperInput.vue +228 -0
  79. package/dist/components/forms/AttachmentCropperInput.vue.d.ts +25 -0
  80. package/dist/components/forms/AttachmentInput.vue +116 -0
  81. package/dist/components/forms/AttachmentInput.vue.d.ts +20 -0
  82. package/dist/components/forms/AutocompleteInput.vue +759 -0
  83. package/dist/components/forms/AutocompleteInput.vue.d.ts +0 -0
  84. package/dist/components/forms/BankSelect.vue +43 -0
  85. package/dist/components/forms/BankSelect.vue.d.ts +19 -0
  86. package/dist/components/forms/BaseButton.vue +42 -0
  87. package/dist/components/forms/BaseButton.vue.d.ts +31 -0
  88. package/dist/components/forms/CounterInput.vue +71 -0
  89. package/dist/components/forms/CounterInput.vue.d.ts +15 -0
  90. package/dist/components/forms/DatePicker.vue +400 -0
  91. package/dist/components/forms/DatePicker.vue.d.ts +34 -0
  92. package/dist/components/forms/DatePickerRange.vue +129 -0
  93. package/dist/components/forms/DatePickerRange.vue.d.ts +23 -0
  94. package/dist/components/forms/DraggedUploadFile.vue +120 -0
  95. package/dist/components/forms/DraggedUploadFile.vue.d.ts +10 -0
  96. package/dist/components/forms/ImageCardInput.vue +234 -0
  97. package/dist/components/forms/ImageCardInput.vue.d.ts +0 -0
  98. package/dist/components/forms/InputValidationWrapper.vue +24 -0
  99. package/dist/components/forms/InputValidationWrapper.vue.d.ts +33 -0
  100. package/dist/components/forms/LicensePlateInput.vue +159 -0
  101. package/dist/components/forms/LicensePlateInput.vue.d.ts +16 -0
  102. package/dist/components/forms/ManualDate.vue +262 -0
  103. package/dist/components/forms/ManualDate.vue.d.ts +17 -0
  104. package/dist/components/forms/MobileInput.vue +118 -0
  105. package/dist/components/forms/MobileInput.vue.d.ts +49 -0
  106. package/dist/components/forms/PasswordInput.vue +29 -0
  107. package/dist/components/forms/PasswordInput.vue.d.ts +13 -0
  108. package/dist/components/forms/RangeInput.vue +48 -0
  109. package/dist/components/forms/RangeInput.vue.d.ts +5 -0
  110. package/dist/components/forms/Tabs.vue +35 -0
  111. package/dist/components/forms/Tabs.vue.d.ts +42 -0
  112. package/dist/components/forms/TimePicker.vue +370 -0
  113. package/dist/components/forms/TimePicker.vue.d.ts +23 -0
  114. package/dist/components/icons/EndMarker.vue +25 -0
  115. package/dist/components/icons/EndMarker.vue.d.ts +17 -0
  116. package/dist/components/icons/RedXIcon.vue +36 -0
  117. package/dist/components/icons/RedXIcon.vue.d.ts +2 -0
  118. package/dist/components/icons/StarFillIcon.vue +28 -0
  119. package/dist/components/icons/StarFillIcon.vue.d.ts +2 -0
  120. package/dist/components/icons/StartMarker.vue +25 -0
  121. package/dist/components/icons/StartMarker.vue.d.ts +17 -0
  122. package/dist/components/icons/WorkerIcon.vue +39 -0
  123. package/dist/components/icons/WorkerIcon.vue.d.ts +2 -0
  124. package/dist/components/loading/LoadingBar.vue +31 -0
  125. package/dist/components/loading/LoadingBar.vue.d.ts +5 -0
  126. package/dist/components/loading/LoadingDialog.vue +41 -0
  127. package/dist/components/loading/LoadingDialog.vue.d.ts +11 -0
  128. package/dist/components/loading/LoadingItem.vue +66 -0
  129. package/dist/components/loading/LoadingItem.vue.d.ts +47 -0
  130. package/dist/components/table/DataTable.vue +319 -0
  131. package/dist/components/table/DataTable.vue.d.ts +0 -0
  132. package/dist/components/table/EditableDataTable.vue +329 -0
  133. package/dist/components/table/EditableDataTable.vue.d.ts +73 -0
  134. package/dist/components/table/EditableDataTableRow.vue +243 -0
  135. package/dist/components/table/EditableDataTableRow.vue.d.ts +18 -0
  136. package/dist/components/table/FilterGenerator.vue +232 -0
  137. package/dist/components/table/FilterGenerator.vue.d.ts +14 -0
  138. package/dist/components/table/StaticTable.vue +152 -0
  139. package/dist/components/table/StaticTable.vue.d.ts +25 -0
  140. package/dist/components/table/TablePagination.vue +73 -0
  141. package/dist/components/table/TablePagination.vue.d.ts +13 -0
  142. package/dist/composables/use-is-mobile.d.ts +1 -0
  143. package/dist/composables/use-is-mobile.js +10 -0
  144. package/dist/composables/use-is-mobile.mjs +4 -0
  145. package/dist/composables/use-table-filters.d.ts +23 -0
  146. package/dist/composables/use-table-filters.js +196 -0
  147. package/dist/composables/use-table-filters.mjs +183 -0
  148. package/dist/fonts/NotoSans-Medium.ttf +0 -0
  149. package/dist/fonts/NotoSansArabic-Medium.ttf +0 -0
  150. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.eot +0 -0
  151. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.svg +9 -0
  152. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.ttf +0 -0
  153. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.woff +0 -0
  154. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.woff2 +0 -0
  155. package/dist/images/avatar.png +0 -0
  156. package/dist/images/sa.svg +1 -0
  157. package/dist/images/successful-registration.svg +15 -0
  158. package/dist/index.d.ts +66 -0
  159. package/dist/index.js +447 -0
  160. package/dist/index.mjs +128 -0
  161. package/dist/styles/@core/scss/base/_components.scss +164 -0
  162. package/dist/styles/@core/scss/base/_dark.scss +16 -0
  163. package/dist/styles/@core/scss/base/_default-layout-w-vertical-nav.scss +106 -0
  164. package/dist/styles/@core/scss/base/_default-layout.scss +16 -0
  165. package/dist/styles/@core/scss/base/_index.scss +47 -0
  166. package/dist/styles/@core/scss/base/_layouts.scss +63 -0
  167. package/dist/styles/@core/scss/base/_misc.scss +20 -0
  168. package/dist/styles/@core/scss/base/_mixins.scss +84 -0
  169. package/dist/styles/@core/scss/base/_route-transitions.scss +70 -0
  170. package/dist/styles/@core/scss/base/_utilities.scss +418 -0
  171. package/dist/styles/@core/scss/base/_utils.scss +100 -0
  172. package/dist/styles/@core/scss/base/_variables.scss +190 -0
  173. package/dist/styles/@core/scss/base/_vertical-nav.scss +264 -0
  174. package/dist/styles/@core/scss/base/libs/_perfect-scrollbar.scss +35 -0
  175. package/dist/styles/@core/scss/base/libs/vuetify/_index.scss +1 -0
  176. package/dist/styles/@core/scss/base/libs/vuetify/_overrides.scss +385 -0
  177. package/dist/styles/@core/scss/base/libs/vuetify/_variables.scss +48 -0
  178. package/dist/styles/@core/scss/base/placeholders/_default-layout-vertical-nav.scss +48 -0
  179. package/dist/styles/@core/scss/base/placeholders/_default-layout.scss +3 -0
  180. package/dist/styles/@core/scss/base/placeholders/_index.scss +5 -0
  181. package/dist/styles/@core/scss/base/placeholders/_misc.scss +7 -0
  182. package/dist/styles/@core/scss/base/placeholders/_nav.scss +26 -0
  183. package/dist/styles/@core/scss/base/placeholders/_vertical-nav.scss +84 -0
  184. package/dist/styles/@core/scss/base/skins/_bordered.scss +60 -0
  185. package/dist/styles/@core/scss/base/skins/_index.scss +1 -0
  186. package/dist/styles/@core/scss/template/_components.scss +1035 -0
  187. package/dist/styles/@core/scss/template/_default-layout-w-vertical-nav.scss +20 -0
  188. package/dist/styles/@core/scss/template/_utilities.scss +20 -0
  189. package/dist/styles/@core/scss/template/_variables.scss +67 -0
  190. package/dist/styles/@core/scss/template/_vertical-nav.scss +41 -0
  191. package/dist/styles/@core/scss/template/index.css +18764 -0
  192. package/dist/styles/@core/scss/template/index.scss +15 -0
  193. package/dist/styles/@core/scss/template/libs/apex-chart.css +90 -0
  194. package/dist/styles/@core/scss/template/libs/apex-chart.scss +99 -0
  195. package/dist/styles/@core/scss/template/libs/shepherd.css +82 -0
  196. package/dist/styles/@core/scss/template/libs/shepherd.scss +88 -0
  197. package/dist/styles/@core/scss/template/libs/vuetify/_variables.scss +461 -0
  198. package/dist/styles/@core/scss/template/libs/vuetify/index.css +741 -0
  199. package/dist/styles/@core/scss/template/libs/vuetify/index.scss +1 -0
  200. package/dist/styles/@core/scss/template/pages/misc.css +16 -0
  201. package/dist/styles/@core/scss/template/pages/misc.scss +20 -0
  202. package/dist/styles/@core/scss/template/placeholders/_default-layout-vertical-nav.scss +9 -0
  203. package/dist/styles/@core/scss/template/placeholders/_index.scss +3 -0
  204. package/dist/styles/@core/scss/template/placeholders/_nav.scss +15 -0
  205. package/dist/styles/@core/scss/template/placeholders/_vertical-nav.scss +18 -0
  206. package/dist/styles/@core/scss/template/skins/_bordered.scss +36 -0
  207. package/dist/styles/@core/scss/template/skins/_index.scss +1 -0
  208. package/dist/styles/@layouts/styles/_classes.scss +3 -0
  209. package/dist/styles/@layouts/styles/_dashboard-layout.scss +43 -0
  210. package/dist/styles/@layouts/styles/_global.scss +10 -0
  211. package/dist/styles/@layouts/styles/_mixins.scss +28 -0
  212. package/dist/styles/@layouts/styles/_placeholders.scss +53 -0
  213. package/dist/styles/@layouts/styles/_rtl.scss +7 -0
  214. package/dist/styles/@layouts/styles/_variables.scss +22 -0
  215. package/dist/styles/@layouts/styles/index.css +14 -0
  216. package/dist/styles/@layouts/styles/index.scss +2 -0
  217. package/dist/styles/assets/scss/styles.css +16099 -0
  218. package/dist/styles/assets/scss/styles.scss +246 -0
  219. package/dist/styles/assets/scss/variables/_template.scss +1 -0
  220. package/dist/styles/assets/scss/variables/_vuetify.scss +1 -0
  221. package/dist/types.d.ts +226 -0
  222. package/dist/utils/apiUrl.d.ts +1 -0
  223. package/dist/utils/apiUrl.js +15 -0
  224. package/dist/utils/apiUrl.mjs +8 -0
  225. package/dist/utils/client.d.ts +9 -0
  226. package/dist/utils/client.js +39 -0
  227. package/dist/utils/client.mjs +25 -0
  228. package/dist/utils/files.d.ts +2 -0
  229. package/dist/utils/files.js +35 -0
  230. package/dist/utils/files.mjs +22 -0
  231. package/dist/utils/formValidation.d.ts +7 -0
  232. package/dist/utils/formValidation.js +20 -0
  233. package/dist/utils/formValidation.mjs +13 -0
  234. package/dist/utils/formatters.d.ts +12 -0
  235. package/dist/utils/formatters.js +84 -0
  236. package/dist/utils/formatters.mjs +56 -0
  237. package/dist/utils/index.d.ts +9 -0
  238. package/dist/utils/index.js +104 -0
  239. package/dist/utils/index.mjs +9 -0
  240. package/dist/utils/queryParams.d.ts +4 -0
  241. package/dist/utils/queryParams.js +26 -0
  242. package/dist/utils/queryParams.mjs +18 -0
  243. package/dist/utils/ruleValidator.d.ts +28 -0
  244. package/dist/utils/ruleValidator.js +158 -0
  245. package/dist/utils/ruleValidator.mjs +144 -0
  246. package/dist/utils/toaster.d.ts +12 -0
  247. package/dist/utils/toaster.js +71 -0
  248. package/dist/utils/toaster.mjs +59 -0
  249. package/dist/utils/utils.d.ts +8 -0
  250. package/dist/utils/utils.js +70 -0
  251. package/dist/utils/utils.mjs +56 -0
  252. package/package.json +79 -0
  253. package/src/styles/@core/scss/base/_components.scss +164 -0
  254. package/src/styles/@core/scss/base/_dark.scss +16 -0
  255. package/src/styles/@core/scss/base/_default-layout-w-vertical-nav.scss +106 -0
  256. package/src/styles/@core/scss/base/_default-layout.scss +16 -0
  257. package/src/styles/@core/scss/base/_index.scss +47 -0
  258. package/src/styles/@core/scss/base/_layouts.scss +63 -0
  259. package/src/styles/@core/scss/base/_misc.scss +20 -0
  260. package/src/styles/@core/scss/base/_mixins.scss +84 -0
  261. package/src/styles/@core/scss/base/_route-transitions.scss +70 -0
  262. package/src/styles/@core/scss/base/_utilities.scss +418 -0
  263. package/src/styles/@core/scss/base/_utils.scss +100 -0
  264. package/src/styles/@core/scss/base/_variables.scss +190 -0
  265. package/src/styles/@core/scss/base/_vertical-nav.scss +264 -0
  266. package/src/styles/@core/scss/base/libs/_perfect-scrollbar.scss +35 -0
  267. package/src/styles/@core/scss/base/libs/vuetify/_index.scss +1 -0
  268. package/src/styles/@core/scss/base/libs/vuetify/_overrides.scss +385 -0
  269. package/src/styles/@core/scss/base/libs/vuetify/_variables.scss +48 -0
  270. package/src/styles/@core/scss/base/placeholders/_default-layout-vertical-nav.scss +48 -0
  271. package/src/styles/@core/scss/base/placeholders/_default-layout.scss +3 -0
  272. package/src/styles/@core/scss/base/placeholders/_index.scss +5 -0
  273. package/src/styles/@core/scss/base/placeholders/_misc.scss +7 -0
  274. package/src/styles/@core/scss/base/placeholders/_nav.scss +26 -0
  275. package/src/styles/@core/scss/base/placeholders/_vertical-nav.scss +84 -0
  276. package/src/styles/@core/scss/base/skins/_bordered.scss +60 -0
  277. package/src/styles/@core/scss/base/skins/_index.scss +1 -0
  278. package/src/styles/@core/scss/template/_components.scss +1035 -0
  279. package/src/styles/@core/scss/template/_default-layout-w-vertical-nav.scss +20 -0
  280. package/src/styles/@core/scss/template/_utilities.scss +20 -0
  281. package/src/styles/@core/scss/template/_variables.scss +67 -0
  282. package/src/styles/@core/scss/template/_vertical-nav.scss +41 -0
  283. package/src/styles/@core/scss/template/index.scss +15 -0
  284. package/src/styles/@core/scss/template/libs/apex-chart.scss +99 -0
  285. package/src/styles/@core/scss/template/libs/shepherd.scss +88 -0
  286. package/src/styles/@core/scss/template/libs/vuetify/_variables.scss +461 -0
  287. package/src/styles/@core/scss/template/libs/vuetify/index.scss +1 -0
  288. package/src/styles/@core/scss/template/pages/misc.scss +20 -0
  289. package/src/styles/@core/scss/template/placeholders/_default-layout-vertical-nav.scss +9 -0
  290. package/src/styles/@core/scss/template/placeholders/_index.scss +3 -0
  291. package/src/styles/@core/scss/template/placeholders/_nav.scss +15 -0
  292. package/src/styles/@core/scss/template/placeholders/_vertical-nav.scss +18 -0
  293. package/src/styles/@core/scss/template/skins/_bordered.scss +36 -0
  294. package/src/styles/@core/scss/template/skins/_index.scss +1 -0
  295. package/src/styles/@layouts/styles/_classes.scss +3 -0
  296. package/src/styles/@layouts/styles/_dashboard-layout.scss +43 -0
  297. package/src/styles/@layouts/styles/_global.scss +10 -0
  298. package/src/styles/@layouts/styles/_mixins.scss +28 -0
  299. package/src/styles/@layouts/styles/_placeholders.scss +53 -0
  300. package/src/styles/@layouts/styles/_rtl.scss +7 -0
  301. package/src/styles/@layouts/styles/_variables.scss +22 -0
  302. package/src/styles/@layouts/styles/index.scss +2 -0
  303. package/src/styles/assets/scss/styles.scss +246 -0
  304. package/src/styles/assets/scss/variables/_template.scss +1 -0
  305. package/src/styles/assets/scss/variables/_vuetify.scss +1 -0
@@ -0,0 +1,48 @@
1
+ <script setup>
2
+ import { ref, watch } from "vue";
3
+ import { useI18n } from "vue-i18n";
4
+ import AppTextField from "../core/app-form-elements/AppTextField.vue";
5
+ import AppLabel from "./AppLabel.vue";
6
+ const { t } = useI18n();
7
+ const props = defineProps({
8
+ modelValue: { type: null, required: true }
9
+ });
10
+ const emits = defineEmits(["update:modelValue"]);
11
+ const from = ref();
12
+ const to = ref();
13
+ watch(
14
+ () => props.modelValue,
15
+ (value) => {
16
+ if (value) {
17
+ from.value = value[0] !== void 0 ? value[0] : void 0;
18
+ to.value = value[1] !== void 0 ? value[1] : void 0;
19
+ } else {
20
+ from.value = void 0;
21
+ to.value = void 0;
22
+ }
23
+ },
24
+ { immediate: true }
25
+ );
26
+ </script>
27
+
28
+ <template>
29
+ <AppLabel
30
+ :class="$attrs.class"
31
+ :label="$attrs.label"
32
+ >
33
+ <div class="d-flex gap-2" style="margin-top: 0.125rem;">
34
+ <AppTextField
35
+ v-model="from"
36
+ :placeholder="t('inputs.from')"
37
+ class="app-font-size-13"
38
+ @input="emits('update:modelValue', [from, to])"
39
+ />
40
+ <AppTextField
41
+ v-model="to"
42
+ class="app-font-size-13"
43
+ :placeholder="t('inputs.to')"
44
+ @input="emits('update:modelValue', [from, to])"
45
+ />
46
+ </div>
47
+ </AppLabel>
48
+ </template>
@@ -0,0 +1,5 @@
1
+ type __VLS_Props = {
2
+ modelValue: [number | string, number | string] | undefined;
3
+ };
4
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
+ export default _default;
@@ -0,0 +1,35 @@
1
+ <script setup>
2
+ import { ref } from "vue";
3
+ import { VCol, VRow } from "vuetify/components";
4
+ import BaseButton from "./BaseButton.vue";
5
+ defineProps({
6
+ tabs: { type: Array, required: true }
7
+ });
8
+ const activeTab = ref(0);
9
+ const getColor = (index, originalColor) => {
10
+ return index === activeTab.value ? { color: originalColor } : { variant: "plain", color: "secondary" };
11
+ };
12
+ const setActiveTab = (index) => {
13
+ activeTab.value = index;
14
+ };
15
+ </script>
16
+
17
+ <template>
18
+ <div>
19
+ <VRow>
20
+ <VCol v-for="(tab, index) in tabs" :key="`btn-${index}`">
21
+ <BaseButton
22
+ v-bind="{ ...tab, ...getColor(index, tab.color) }"
23
+ class="w-100 h-100 py-2 px-5"
24
+ @click="setActiveTab(index)"
25
+ />
26
+ </VCol>
27
+ </VRow>
28
+
29
+ <div class="h-100 mt-4 w-100">
30
+ <div v-if="activeTab !== null" :key="tabs[activeTab].key" class="h-100 w-100">
31
+ <slot :name="tabs[activeTab].key" />
32
+ </div>
33
+ </div>
34
+ </div>
35
+ </template>
@@ -0,0 +1,42 @@
1
+ import { VCol, VRow } from 'vuetify/components';
2
+ import BaseButton from './BaseButton.vue';
3
+ type __VLS_Props = {
4
+ tabs: {
5
+ title: string;
6
+ key: string;
7
+ color?: string;
8
+ icon?: string;
9
+ leadingIcon?: string;
10
+ trailingIcon?: string;
11
+ }[];
12
+ };
13
+ declare const activeTab: import("vue").Ref<number, number>;
14
+ declare const getColor: (index: number, originalColor?: string) => {
15
+ color: string | undefined;
16
+ variant?: undefined;
17
+ } | {
18
+ variant: string;
19
+ color: string;
20
+ };
21
+ declare const setActiveTab: (index: number) => void;
22
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
23
+ declare var __VLS_17: any, __VLS_18: {};
24
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
25
+ [K in NonNullable<typeof __VLS_17>]?: (props: typeof __VLS_18) => any;
26
+ }>;
27
+ declare const __VLS_self: import("vue").DefineComponent<__VLS_Props, {
28
+ VCol: typeof VCol;
29
+ VRow: typeof VRow;
30
+ BaseButton: typeof BaseButton;
31
+ activeTab: typeof activeTab;
32
+ getColor: typeof getColor;
33
+ setActiveTab: typeof setActiveTab;
34
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
36
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
37
+ export default _default;
38
+ type __VLS_WithSlots<T, S> = T & {
39
+ new (): {
40
+ $slots: S;
41
+ };
42
+ };
@@ -0,0 +1,370 @@
1
+ <script setup>
2
+ import VueDatePicker from "@vuepic/vue-datepicker";
3
+ import "@vuepic/vue-datepicker/dist/main.css";
4
+ import { computed, onBeforeUnmount, onMounted, ref, watch, useAttrs } from "vue";
5
+ import { VTextField, VMessages } from "vuetify/components";
6
+ import { useI18n } from "vue-i18n";
7
+ import { watchOnce } from "@vueuse/core";
8
+ import { generateUniqueId } from "../../utils/utils";
9
+ const { t } = useI18n();
10
+ const props = defineProps({
11
+ errorMessages: { type: [String, Array], required: false, default: "" },
12
+ showIcon: { type: Boolean, required: false, default: true },
13
+ hasDefaults: { type: Boolean, required: false, default: true },
14
+ placeholder: { type: String, required: false },
15
+ valueIn24: { type: Boolean, required: false, default: true },
16
+ fillInFocus: { type: Boolean, required: false, default: true },
17
+ hideErrorMessage: { type: Boolean, required: false },
18
+ isAppRtl: { type: Boolean, required: false }
19
+ });
20
+ const errors = ref([]);
21
+ const hasError = computed(() => errors.value.length > 0);
22
+ watch(() => props.errorMessages, () => {
23
+ errors.value = props.errorMessages === "object" ? [...props.errorMessages] : props.errorMessages;
24
+ });
25
+ const emit = defineEmits(["update:model-value"]);
26
+ const attrs = useAttrs();
27
+ const time = ref(props.hasDefaults ? {
28
+ hours: (/* @__PURE__ */ new Date()).getHours(),
29
+ minutes: (/* @__PURE__ */ new Date()).getMinutes()
30
+ } : null);
31
+ const inputValue = ref("");
32
+ const ampm = ref("am");
33
+ const resetTime = () => {
34
+ time.value = {};
35
+ };
36
+ const formatTime = (value) => {
37
+ ampm.value = (value?.hours || 0) >= 12 ? "PM" : "AM";
38
+ let adjustedHours = (value?.hours || 0) % 12;
39
+ adjustedHours = adjustedHours === 0 ? 12 : adjustedHours;
40
+ const paddedHours = adjustedHours.toString().padStart(2, "0");
41
+ const paddedMinutes = value?.minutes?.toString().padStart(2, "0");
42
+ inputValue.value = `${paddedHours}:${paddedMinutes} ${ampm.value}`;
43
+ emit("update:model-value", props.valueIn24 ? `${value?.hours?.toString().padStart(2, "0")}:${value?.minutes?.toString().padStart(2, "0")}` : inputValue.value);
44
+ };
45
+ const changeAmPm = (value) => {
46
+ ampm.value = value;
47
+ };
48
+ const guid = generateUniqueId();
49
+ const elementId = computed(() => {
50
+ const attrs2 = useAttrs();
51
+ const _elementIdToken = attrs2.id || attrs2.label;
52
+ return _elementIdToken ? `AppTextField-${_elementIdToken}-${guid}` : `timepicker-${guid}`;
53
+ });
54
+ const initializeTime = (value) => {
55
+ if (value) {
56
+ const initAmPm = value.split(" ")[1]?.toLowerCase();
57
+ const [hours, minutes] = value.split(" ")[0]?.split(":") || [];
58
+ ampm.value = initAmPm;
59
+ time.value = {
60
+ hours: initAmPm === "pm" ? parseInt(hours + 12) : parseInt(hours),
61
+ minutes: parseInt(minutes)
62
+ };
63
+ formatTime(time.value);
64
+ } else {
65
+ formatTime(time.value);
66
+ }
67
+ };
68
+ watchOnce(() => attrs.modelValue, (value) => {
69
+ initializeTime(value);
70
+ }, {
71
+ immediate: true
72
+ });
73
+ const timePicker = ref();
74
+ const isFocus = ref(false);
75
+ const clear = () => {
76
+ timePicker.value.closeMenu();
77
+ };
78
+ const customPosition = () => {
79
+ const timepickerInputElement = document.querySelector(`#${elementId.value}`);
80
+ const rect = timepickerInputElement?.getBoundingClientRect();
81
+ return {
82
+ top: (rect?.top || 0) + window.pageYOffset + (rect?.height || 100) / 2 + 46 / 2,
83
+ left: rect?.left + timepickerInputElement?.offsetWidth / 2 - 120
84
+ };
85
+ };
86
+ const closeMenu = (event) => {
87
+ const vCalendarMenu = document.getElementById(`vc-calendar-container-${elementId.value}`);
88
+ const vCalendarInput = document.getElementById(`${elementId.value}`);
89
+ if (!vCalendarMenu?.contains(event.target) && !vCalendarInput?.contains(event.target)) {
90
+ isFocus.value = false;
91
+ }
92
+ };
93
+ const focusInputField = () => {
94
+ isFocus.value = true;
95
+ if (props.fillInFocus && !inputValue.value) {
96
+ formatTime({
97
+ hours: (/* @__PURE__ */ new Date()).getHours(),
98
+ minutes: (/* @__PURE__ */ new Date()).getMinutes()
99
+ });
100
+ }
101
+ };
102
+ onMounted(() => {
103
+ document.addEventListener("click", closeMenu);
104
+ });
105
+ onBeforeUnmount(() => {
106
+ document.removeEventListener("click", closeMenu);
107
+ });
108
+ </script>
109
+
110
+ <template>
111
+ <div class="d-flex flex-column">
112
+ <div dir="ltr" class="h-100">
113
+ <div dir="ltr" class="d-flex justify-center align-center gap-2 h-100" :class="{
114
+ 'rtl-input': isAppRtl
115
+ }">
116
+ <VTextField
117
+ v-bind="{ ...$attrs }"
118
+ :id="elementId"
119
+ v-model="inputValue"
120
+ :placeholder="placeholder || t('inputs.time')"
121
+ :append-inner-icon="$attrs['append-inner-icon'] || 'tabler-clock'"
122
+ style="padding-block: 0.125rem;"
123
+ dir="ltr"
124
+ hide-details
125
+ maxlength="5"
126
+ :error-messages="errorMessages"
127
+ readonly
128
+ @click="isFocus = true"
129
+ @click:clear="resetTime"
130
+ @focus="focusInputField"
131
+ >
132
+ <template #details>
133
+ <span class="app-h-1" />
134
+ </template>
135
+ </VTextField>
136
+ </div>
137
+ <Teleport to="body">
138
+ <div
139
+ v-if="isFocus"
140
+ :id="`vc-calendar-container-${elementId}`"
141
+ class="position-absolute app-z-1000"
142
+ :style="{
143
+ left: `${customPosition().left - 20}px`,
144
+ top: `${customPosition().top + 10}px`
145
+ }"
146
+ >
147
+ <div class="position-relative">
148
+ <div class="dp-custom-arrow" />
149
+ <VueDatePicker
150
+ :id="`timepicker-${elementId}`"
151
+ ref="timePicker"
152
+ v-model="time"
153
+ time-picker
154
+ class="app-w-150px"
155
+ :auto-position="false"
156
+ auto-apply
157
+ :is-24="false"
158
+ no-hours-overlay
159
+ inline
160
+ no-minutes-overlay
161
+ :hide-input-icon="!showIcon"
162
+ :teleport="true"
163
+ :ui="{
164
+ menu: 'app-dir-ltr'
165
+ }"
166
+ @update:model-value="formatTime"
167
+ @cleared="clear"
168
+ @am-pm-change="changeAmPm"
169
+ >
170
+ <template #am-pm-button="{ toggle, value }">
171
+ <div class="dp__time_col dp__time_col_block dp__time_col_reg_with_button dp__am_bm_col">
172
+ <button
173
+ type="button"
174
+ class="dp__btn dp__inc_dec_button"
175
+ data-test="minutes-time-inc-btn-0"
176
+ aria-label="Change Time"
177
+ tabindex="0"
178
+ @click="toggle"
179
+ >
180
+ <svg
181
+ xmlns="http://www.w3.org/2000/svg"
182
+ width="24"
183
+ height="24"
184
+ viewBox="0 0 24 24"
185
+ fill="none"
186
+ stroke="currentColor"
187
+ stroke-width="2"
188
+ stroke-linecap="round"
189
+ stroke-linejoin="round"
190
+ class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-up"
191
+ ><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M6 15l6 -6l6 6" /></svg>
192
+ </button>
193
+ <button>
194
+ {{ value }}
195
+ </button>
196
+ <button
197
+ type="button"
198
+ class="dp__btn dp__inc_dec_button"
199
+ data-test="minutes-time-dec-btn-0"
200
+ aria-label="Change Time"
201
+ tabindex="0"
202
+ @click="toggle"
203
+ >
204
+ <svg
205
+ xmlns="http://www.w3.org/2000/svg"
206
+ width="24"
207
+ height="24"
208
+ viewBox="0 0 24 24"
209
+ fill="none"
210
+ stroke="currentColor"
211
+ stroke-width="2"
212
+ stroke-linecap="round"
213
+ stroke-linejoin="round"
214
+ class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"
215
+ ><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M6 9l6 6l6 -6" /></svg>
216
+ </button>
217
+ </div>
218
+ </template>
219
+ <template #arrow-up>
220
+ <svg
221
+ xmlns="http://www.w3.org/2000/svg"
222
+ width="24"
223
+ height="24"
224
+ viewBox="0 0 24 24"
225
+ fill="none"
226
+ stroke="currentColor"
227
+ stroke-width="2"
228
+ stroke-linecap="round"
229
+ stroke-linejoin="round"
230
+ class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-up"
231
+ ><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M6 15l6 -6l6 6" /></svg>
232
+ </template>
233
+ <template #arrow-down>
234
+ <svg
235
+ xmlns="http://www.w3.org/2000/svg"
236
+ width="24"
237
+ height="24"
238
+ viewBox="0 0 24 24"
239
+ fill="none"
240
+ stroke="currentColor"
241
+ stroke-width="2"
242
+ stroke-linecap="round"
243
+ stroke-linejoin="round"
244
+ class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"
245
+ ><path stroke="none" d="M0 0h24v24H0z" fill="none" /><path d="M6 9l6 6l6 -6" /></svg>
246
+ </template>
247
+ </VueDatePicker>
248
+ </div>
249
+ </div>
250
+ </Teleport>
251
+ </div>
252
+
253
+ <VMessages
254
+ v-if="!hideErrorMessage"
255
+ :messages="typeof errors === 'object' ? errors.join(', ') : errors"
256
+ :active="hasError"
257
+ :class="isAppRtl ? 'text-right mr-2' : 'text-left ml-2'"
258
+ />
259
+ </div>
260
+ </template>
261
+
262
+ <style scoped>
263
+ :deep(.v-field__append-inner) {
264
+ color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));
265
+ }
266
+
267
+ :deep(.v-field__input input) {
268
+ text-align: start;
269
+ }
270
+
271
+ /* Apply text-align: end when RTL using the :deep modifier */
272
+ .rtl-input :deep(.v-field__input input) {
273
+ text-align: end !important;
274
+ }
275
+
276
+ :deep(.v-input__control .v-field .v-field__clearable) {
277
+ inset-inline-start: -5px !important;
278
+ }
279
+
280
+ .icon {
281
+ background-color: transparent !important;
282
+ }
283
+ </style>
284
+
285
+ <style>
286
+ .dp-custom-arrow {
287
+ width: 15px;
288
+ height: 15px;
289
+ background: rgba(var(--v-theme-surface));
290
+ position: absolute;
291
+ z-index: 999999;
292
+ border-top: 1px solid rgba(var(--v-theme-gray-300));
293
+ border-left: 1px solid rgba(var(--v-theme-gray-300));
294
+ left: 50%;
295
+ top: -7px;
296
+ transform: translateX(-50%) rotate(45deg);
297
+ }
298
+
299
+ .dp--menu-wrapper {
300
+ box-shadow: var(--vc-shadow-lg) !important;
301
+ }
302
+
303
+ .dp__overlay {
304
+ height: 100px !important;
305
+ }
306
+
307
+ .dp__time_col {
308
+ font-size: 15px !important;
309
+ padding: 0 8px !important;
310
+ }
311
+
312
+ .dp__am_bm_col {
313
+ padding-inline-start: 35px !important;
314
+ padding-inline-end: 5px !important;
315
+ }
316
+
317
+ .dp__time_col_reg_block {
318
+ padding: 0 5px !important;
319
+ }
320
+
321
+ .dp__input_wrap {
322
+ padding: 2px 0 !important;
323
+ }
324
+
325
+ .dp__input {
326
+ --dp-border-color-hover: #000 !important;
327
+ --dp-border-color-focus: rgb(var(--v-theme-primary)) !important;
328
+ height: 44px !important;
329
+ padding-top: 7px;
330
+ padding-bottom: 7px;
331
+ padding-right: 10px;
332
+ padding-left: 10px;
333
+ font-size: 13px !important;
334
+ border-radius: 6px !important;
335
+ border-width: 1px;
336
+ border-style: solid;
337
+ border-color: rgba(var(--v-border-color), 0.35);
338
+ text-align: end !important;
339
+ }
340
+
341
+ .dp__input_focus {
342
+ --dp-border-color-focus: rgb(var(--v-theme-primary)) !important;
343
+ border-color: var(--dp-border-color-focus) !important;
344
+ }
345
+
346
+ .dp--clear-btn {
347
+ opacity: 0;
348
+ inset-inline-end: unset !important;
349
+ inset-inline-start: 2px !important;
350
+ background-color: rgb(var(--v-theme-surface));
351
+ transition: all 0.5s;
352
+ }
353
+ .dp--clear-btn .dp__input_icons {
354
+ padding-left: 6px !important;
355
+ padding-right: 6px !important;
356
+ }
357
+
358
+ .dp__main:active .dp--clear-btn, .dp__main:focus .dp--clear-btn, .dp__main:focus-within .dp--clear-btn {
359
+ opacity: 1 !important;
360
+ transition: all 0.5s;
361
+ }
362
+
363
+ .dp__btn:hover {
364
+ color: rgb(var(--v-theme-on-surface)) !important;
365
+ }
366
+
367
+ .dp__overlay {
368
+ height: fit-content !important;
369
+ }
370
+ </style>
@@ -0,0 +1,23 @@
1
+ import '@vuepic/vue-datepicker/dist/main.css';
2
+ type __VLS_Props = {
3
+ errorMessages?: string | string[];
4
+ showIcon?: boolean;
5
+ hasDefaults?: boolean;
6
+ placeholder?: string;
7
+ valueIn24?: boolean;
8
+ fillInFocus?: boolean;
9
+ hideErrorMessage?: boolean;
10
+ isAppRtl?: boolean;
11
+ };
12
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
13
+ "update:model-value": (value: string | null) => any;
14
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ "onUpdate:model-value"?: ((value: string | null) => any) | undefined;
16
+ }>, {
17
+ errorMessages: string | string[];
18
+ showIcon: boolean;
19
+ hasDefaults: boolean;
20
+ valueIn24: boolean;
21
+ fillInFocus: boolean;
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
+ export default _default;
@@ -0,0 +1,25 @@
1
+ <script setup>
2
+ import { useI18n } from "vue-i18n";
3
+ const { locale } = useI18n();
4
+ </script>
5
+
6
+ <template>
7
+ <svg
8
+ width="35"
9
+ height="45"
10
+ viewBox="0 0 35 45"
11
+ fill="none"
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ >
14
+ <path d="M17.5196 43.6667C17.1866 43.6667 16.1733 43.6667 11.5865 38.3258C9.20993 35.5586 6.7245 32.3144 5.67669 30.6119C4.27369 28.3322 3.06201 26.3634 2.24079 24.3202C1.38267 22.1852 1 20.0878 1 17.5196C1 13.1071 2.71834 8.95863 5.83849 5.83849C8.95863 2.71834 13.1071 1 17.5196 1C21.9322 1 26.0806 2.71834 29.2008 5.83849C32.3209 8.95863 34.0392 13.1071 34.0392 17.5196C34.0392 20.0071 33.6522 22.0605 32.7843 24.1777C31.9838 26.1303 30.8507 27.9675 29.4161 30.2936L29.2196 30.6122C28.2143 32.243 25.7265 35.5231 23.4328 38.2418C22.1421 39.7716 20.9715 41.0564 20.0477 41.9574C18.5032 43.4636 17.903 43.6667 17.5196 43.6667Z" fill="#F52D56" />
15
+ <path d="M17.5196 43.1667C19.1451 43.1667 26.8854 33.4462 28.794 30.3498C31.7279 25.59 33.5392 22.7742 33.5392 17.5196C33.5392 8.67223 26.367 1.5 17.5196 1.5C8.67223 1.5 1.5 8.67223 1.5 17.5196C1.5 22.8015 3.17841 25.5986 6.10251 30.3498C8.14055 33.6613 15.8942 43.1667 17.5196 43.1667ZM17.5196 44.1667C17.0135 44.1667 16.3151 43.9469 14.6459 42.3529C13.7002 41.4498 12.5111 40.1699 11.2072 38.6516C8.81568 35.8669 6.3107 32.596 5.25088 30.8739C2.39 26.2255 0.5 23.1546 0.5 17.5196C0.5 15.2224 0.95013 12.9934 1.8379 10.8945C2.69516 8.86771 3.9222 7.04766 5.48493 5.48493C7.04766 3.9222 8.86771 2.69516 10.8945 1.8379C12.9934 0.95013 15.2224 0.5 17.5196 0.5C19.8168 0.5 22.0458 0.95013 24.1447 1.8379C26.1715 2.69516 27.9916 3.9222 29.5543 5.48493C31.117 7.04766 32.3441 8.86771 33.2014 10.8945C34.0891 12.9934 34.5392 15.2224 34.5392 17.5196C34.5392 22.9394 32.6704 25.9695 29.8416 30.556L29.6453 30.8745C28.6289 32.5235 26.1224 35.8293 23.8149 38.5642C22.514 40.1062 21.332 41.4033 20.3968 42.3154C18.8213 43.8518 18.1071 44.1667 17.5196 44.1667Z" fill="#2A2A2A" />
16
+ <path d="M17.5178 9.50977C19.102 9.50977 20.6507 9.97954 21.9679 10.8597C23.2852 11.7398 24.3118 12.9908 24.9181 14.4545C25.5243 15.9181 25.683 17.5287 25.3739 19.0824C25.0648 20.6362 24.302 22.0635 23.1817 23.1837C22.0615 24.3039 20.6343 25.0668 19.0805 25.3759C17.5267 25.6849 15.9162 25.5263 14.4525 24.92C12.9889 24.3138 11.7379 23.2871 10.8577 21.9699C9.97759 20.6526 9.50781 19.104 9.50781 17.5198C9.50781 15.3954 10.3517 13.358 11.8539 11.8558C13.3561 10.3537 15.3934 9.50977 17.5178 9.50977Z" fill="white" stroke="#2A2A2A" />
17
+ <path d="M17.5 31C24.4036 31 30 25.4036 30 18.5C30 11.5964 24.4036 6 17.5 6C10.5964 6 5 11.5964 5 18.5C5 25.4036 10.5964 31 17.5 31Z" fill="white" stroke="#2A2A2A" />
18
+ <text
19
+ :x="locale === 'en' ? 13.5 : 22"
20
+ :y="locale === 'en' ? 24 : 23"
21
+ fill="black"
22
+ style="font-weight: 700;font-size: 16px"
23
+ ><slot /></text>
24
+ </svg>
25
+ </template>
@@ -0,0 +1,17 @@
1
+ declare const locale: import("vue").WritableComputedRef<string, string>;
2
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
3
+ declare var __VLS_1: {};
4
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
5
+ default?: (props: typeof __VLS_1) => any;
6
+ }>;
7
+ declare const __VLS_self: import("vue").DefineComponent<{}, {
8
+ locale: typeof locale;
9
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
10
+ declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
11
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,36 @@
1
+ <template>
2
+ <svg
3
+ width="18"
4
+ height="18"
5
+ viewBox="0 0 100 100"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ >
8
+ <!-- Background rectangle -->
9
+ <rect
10
+ width="100"
11
+ height="100"
12
+ rx="15"
13
+ fill="#FF326E"
14
+ />
15
+
16
+ <!-- X shape -->
17
+ <line
18
+ x1="35"
19
+ y1="35"
20
+ x2="65"
21
+ y2="65"
22
+ stroke="white"
23
+ stroke-width="8"
24
+ stroke-linecap="round"
25
+ />
26
+ <line
27
+ x1="65"
28
+ y1="35"
29
+ x2="35"
30
+ y2="65"
31
+ stroke="white"
32
+ stroke-width="8"
33
+ stroke-linecap="round"
34
+ />
35
+ </svg>
36
+ </template>
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <svg
3
+ width="18"
4
+ height="18"
5
+ viewBox="0 0 18 18"
6
+ fill="none"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ >
9
+ <rect
10
+ width="18"
11
+ height="18"
12
+ rx="9"
13
+ fill="#888888"
14
+ />
15
+ <path
16
+ fill-rule="evenodd"
17
+ clip-rule="evenodd"
18
+ d="M9.0035 12.2915L5.91318 14L6.5035 10.3813L4 7.81878L7.45484 7.29227L9 4L10.5452 7.29227L14 7.81878L11.4965 10.3813L12.0868 14L9.0035 12.2915Z"
19
+ fill="white"
20
+ />
21
+ <path
22
+ fill-rule="evenodd"
23
+ clip-rule="evenodd"
24
+ d="M9.0035 12.2915L5.91318 14L6.5035 10.3813L4 7.81878L7.45484 7.29227L9 4L10.5452 7.29227L14 7.81878L11.4965 10.3813L12.0868 14L9.0035 12.2915Z"
25
+ fill="white"
26
+ />
27
+ </svg>
28
+ </template>
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,25 @@
1
+ <script setup>
2
+ import { useI18n } from "vue-i18n";
3
+ const { locale } = useI18n();
4
+ </script>
5
+
6
+ <template>
7
+ <svg
8
+ width="35"
9
+ height="45"
10
+ viewBox="0 0 35 45"
11
+ fill="none"
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ >
14
+ <path d="M17.5196 43.6667C17.1866 43.6667 16.1733 43.6667 11.5865 38.3258C9.20993 35.5586 6.7245 32.3144 5.67669 30.6119C4.27369 28.3322 3.06201 26.3634 2.24079 24.3202C1.38267 22.1852 1 20.0878 1 17.5196C1 13.1071 2.71834 8.95863 5.83849 5.83849C8.95863 2.71834 13.1071 1 17.5196 1C21.9322 1 26.0806 2.71834 29.2008 5.83849C32.3209 8.95863 34.0392 13.1071 34.0392 17.5196C34.0392 20.0071 33.6522 22.0605 32.7843 24.1777C31.9838 26.1303 30.8507 27.9675 29.4161 30.2936L29.2196 30.6122C28.2143 32.243 25.7265 35.5231 23.4328 38.2418C22.1421 39.7716 20.9715 41.0564 20.0477 41.9574C18.5032 43.4636 17.903 43.6667 17.5196 43.6667Z" fill="#FDC930" />
15
+ <path d="M17.5196 43.1667C19.1451 43.1667 26.8854 33.4462 28.794 30.3498C31.7279 25.59 33.5392 22.7742 33.5392 17.5196C33.5392 8.67223 26.367 1.5 17.5196 1.5C8.67223 1.5 1.5 8.67223 1.5 17.5196C1.5 22.8015 3.17841 25.5986 6.10251 30.3498C8.14055 33.6613 15.8942 43.1667 17.5196 43.1667ZM17.5196 44.1667C17.0135 44.1667 16.3151 43.9469 14.6459 42.3529C13.7002 41.4498 12.5111 40.1699 11.2072 38.6516C8.81568 35.8669 6.3107 32.596 5.25088 30.8739C2.39 26.2255 0.5 23.1546 0.5 17.5196C0.5 15.2224 0.95013 12.9934 1.8379 10.8945C2.69516 8.86771 3.9222 7.04766 5.48493 5.48493C7.04766 3.9222 8.86771 2.69516 10.8945 1.8379C12.9934 0.95013 15.2224 0.5 17.5196 0.5C19.8168 0.5 22.0458 0.95013 24.1447 1.8379C26.1715 2.69516 27.9916 3.9222 29.5543 5.48493C31.117 7.04766 32.3441 8.86771 33.2014 10.8945C34.0891 12.9934 34.5392 15.2224 34.5392 17.5196C34.5392 22.9394 32.6704 25.9695 29.8416 30.556L29.6453 30.8745C28.6289 32.5235 26.1224 35.8293 23.8149 38.5642C22.514 40.1062 21.332 41.4033 20.3968 42.3154C18.8213 43.8518 18.1071 44.1667 17.5196 44.1667Z" fill="#2A2A2A" />
16
+ <path d="M17.5178 9.50977C19.102 9.50977 20.6507 9.97954 21.9679 10.8597C23.2852 11.7398 24.3118 12.9908 24.9181 14.4545C25.5243 15.9181 25.683 17.5287 25.3739 19.0824C25.0648 20.6362 24.302 22.0635 23.1817 23.1837C22.0615 24.3039 20.6343 25.0668 19.0805 25.3759C17.5267 25.6849 15.9162 25.5263 14.4525 24.92C12.9889 24.3138 11.7379 23.2871 10.8577 21.9699C9.97759 20.6526 9.50781 19.104 9.50781 17.5198C9.50781 15.3954 10.3517 13.358 11.8539 11.8558C13.3561 10.3537 15.3934 9.50977 17.5178 9.50977Z" fill="white" stroke="#2A2A2A" />
17
+ <path d="M17.5 31C24.4036 31 30 25.4036 30 18.5C30 11.5964 24.4036 6 17.5 6C10.5964 6 5 11.5964 5 18.5C5 25.4036 10.5964 31 17.5 31Z" fill="white" stroke="#2A2A2A" />
18
+ <text
19
+ :x="locale === 'en' ? 13.5 : 22"
20
+ :y="locale === 'en' ? 24 : 23"
21
+ fill="black"
22
+ style="font-weight: 700;font-size: 16px"
23
+ ><slot /></text>
24
+ </svg>
25
+ </template>