adp-web-components 0.1.85 → 0.1.86

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 (280) hide show
  1. package/dist/cjs/dead-stock-lookup_3.cjs.entry.js +2 -2
  2. package/dist/cjs/flexible-container.cjs.entry.js +1 -1
  3. package/dist/cjs/form-checkbox.cjs.entry.js +4 -4
  4. package/dist/cjs/form-date-picker.cjs.entry.js +5 -5
  5. package/dist/cjs/form-dialog_13.cjs.entry.js +4558 -30
  6. package/dist/cjs/{form-input-CfVsbpFP.js → form-input-cvIkC0L1.js} +1 -1
  7. package/dist/cjs/form-input_5.cjs.entry.js +356 -0
  8. package/dist/cjs/form-switch.cjs.entry.js +3 -3
  9. package/dist/cjs/form-time-picker.cjs.entry.js +1 -1
  10. package/dist/cjs/functions-D5J5cdK2.js +298 -0
  11. package/dist/cjs/general-form.cjs.entry.js +19 -20
  12. package/dist/cjs/general-inquiry-form.cjs.entry.js +19 -20
  13. package/dist/cjs/{get-language-from-url-DoohcPbK.js → get-language-from-url-Ct6kvnEu.js} +8 -5
  14. package/dist/cjs/{get-local-language-DgXjQalC.js → get-local-language-CWfRQqOw.js} +1 -1
  15. package/dist/cjs/{get-mock-files-bJFu7gKO.js → get-mock-files-DG4Nk29D.js} +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/manufacturer-part-lookup.cjs.entry.js +2 -2
  18. package/dist/cjs/{state-object-B3gJgyPV.js → mappers-C82gH1dw.js} +1 -11
  19. package/dist/cjs/part-lookup.cjs.entry.js +1 -1
  20. package/dist/cjs/service-booking-form.cjs.entry.js +19 -20
  21. package/dist/cjs/shift-accordion.cjs.entry.js +1 -1
  22. package/dist/cjs/shift-components.cjs.js +1 -1
  23. package/dist/cjs/shift-slider.cjs.entry.js +1 -1
  24. package/dist/cjs/shift-switch.cjs.entry.js +1 -1
  25. package/dist/cjs/shift-tab-content.cjs.entry.js +1 -1
  26. package/dist/cjs/shift-tabs_2.cjs.entry.js +2 -2
  27. package/dist/cjs/ssc-lookup-form.cjs.entry.js +19 -20
  28. package/dist/cjs/test-drive-form.cjs.entry.js +19 -20
  29. package/dist/cjs/{validation-BAHdEc4w.js → validation-jJwLyk27.js} +1 -7
  30. package/dist/cjs/vehicle-accessories_7.cjs.entry.js +1 -1
  31. package/dist/cjs/vehicle-lookup.cjs.entry.js +2 -2
  32. package/dist/cjs/vehicle-quotation-form.cjs.entry.js +15 -25
  33. package/dist/cjs/{white-loader-kSznMo_u.js → white-loader-D6sR0fOI.js} +3 -1
  34. package/dist/collection/collection-manifest.json +1 -0
  35. package/dist/collection/components/components/flexible-container.css +1 -1
  36. package/dist/collection/components/components/shift-accordion.css +1 -1
  37. package/dist/collection/components/components/shift-select.css +1 -0
  38. package/dist/collection/components/components/shift-select.js +568 -0
  39. package/dist/collection/components/components/shift-slider.js +1 -1
  40. package/dist/collection/components/components/shift-switch.js +1 -1
  41. package/dist/collection/components/components/shift-tab-content.js +1 -1
  42. package/dist/collection/components/components/shift-tabs.js +2 -2
  43. package/dist/collection/components/form-elements/components/form-input-prefix.js +3 -1
  44. package/dist/collection/components/form-elements/form-checkbox.js +1 -1
  45. package/dist/collection/components/form-elements/form-date-picker-legacy.js +4 -4
  46. package/dist/collection/components/form-elements/form-dialog.js +3 -3
  47. package/dist/collection/components/form-elements/form-file.js +2 -2
  48. package/dist/collection/components/form-elements/form-input.js +2 -2
  49. package/dist/collection/components/form-elements/form-inputs.css +1 -1
  50. package/dist/collection/components/form-elements/form-phone-number.js +130 -30
  51. package/dist/collection/components/form-elements/form-select.js +11 -72
  52. package/dist/collection/components/forms/defaults/mappers.js +1 -7
  53. package/dist/collection/components/forms/defaults/style.css +1 -1
  54. package/dist/collection/components/forms/defaults/validation.js +1 -7
  55. package/dist/collection/components/forms/general-form.js +4 -6
  56. package/dist/collection/components/forms/general-inquiry.js +4 -6
  57. package/dist/collection/components/forms/service-booking.js +4 -6
  58. package/dist/collection/components/forms/ssc-lookup.js +4 -6
  59. package/dist/collection/components/forms/test-drive.js +4 -6
  60. package/dist/collection/components/forms/vehicle-quotation/element-mapper.js +1 -8
  61. package/dist/collection/components/forms/vehicle-quotation/themes.css +1 -1
  62. package/dist/collection/components/forms/vehicle-quotation/validations.js +0 -5
  63. package/dist/collection/components/forms/vehicle-quotation.js +1 -1
  64. package/dist/collection/features/form-hook/form-hook.js +8 -5
  65. package/dist/collection/features/form-hook/functions.js +0 -1
  66. package/dist/collection/features/form-hook/phone-validator.js +1 -41
  67. package/dist/components/dead-stock-lookup.js +1 -1
  68. package/dist/components/distributor-lookup.js +1 -1
  69. package/dist/components/flexible-container.js +1 -1
  70. package/dist/components/form-checkbox.js +1 -1
  71. package/dist/components/form-date-picker.js +1 -1
  72. package/dist/components/form-dialog.js +1 -1
  73. package/dist/components/form-file.js +1 -1
  74. package/dist/components/form-input-preview.js +1 -1
  75. package/dist/components/form-input.js +1 -1
  76. package/dist/components/form-phone-number.js +1 -1
  77. package/dist/components/form-picker-input.js +1 -1
  78. package/dist/components/form-select.js +1 -1
  79. package/dist/components/form-shadow-input.js +1 -1
  80. package/dist/components/form-stepper-control.js +1 -1
  81. package/dist/components/form-stepper-submit.js +1 -1
  82. package/dist/components/form-stepper.js +1 -1
  83. package/dist/components/form-structure-error.js +1 -1
  84. package/dist/components/form-structure.js +1 -1
  85. package/dist/components/form-submit.js +1 -1
  86. package/dist/components/form-switch.js +1 -1
  87. package/dist/components/form-text-area.js +1 -1
  88. package/dist/components/form-time-picker.js +1 -1
  89. package/dist/components/form-vin-input.js +1 -1
  90. package/dist/components/general-form.js +1 -1
  91. package/dist/components/general-inquiry-form.js +1 -1
  92. package/dist/components/information-table.js +1 -1
  93. package/dist/components/manufacturer-lookup.js +1 -1
  94. package/dist/components/manufacturer-part-lookup.js +1 -1
  95. package/dist/components/p-04wNXJ_q.js +5 -0
  96. package/dist/components/p-4n_cgPjf.js +5 -0
  97. package/dist/components/p-B8X9IaVO.js +5 -0
  98. package/dist/components/p-BDgNqOMe.js +5 -0
  99. package/dist/components/p-BFxBL1n-.js +5 -0
  100. package/dist/components/{p-BNjxHrl0.js → p-BUnCuQVo.js} +1 -1
  101. package/dist/components/p-BY5Ji84D.js +5 -0
  102. package/dist/components/{p-c9wvEEzy.js → p-BgttkHzs.js} +1 -1
  103. package/dist/components/p-Bk0lC2Er.js +5 -0
  104. package/dist/components/p-C2TMzq3P.js +5 -0
  105. package/dist/components/p-C5obPa8c.js +5 -0
  106. package/dist/components/{p-Crmq_SrE.js → p-CAvWNw8_.js} +1 -1
  107. package/dist/components/{p-DZNQs_My.js → p-CHjkTvcK.js} +1 -1
  108. package/dist/components/p-CJbV4CRN.js +5 -0
  109. package/dist/components/{p-DC6cT-dz.js → p-CKWUV8sc.js} +1 -1
  110. package/dist/components/{p-B-a6ktHS.js → p-CO0Weo2C.js} +1 -1
  111. package/dist/components/{p-BW9zczGE.js → p-CQ1pe5_N.js} +1 -1
  112. package/dist/components/p-CSltLdDZ.js +5 -0
  113. package/dist/components/p-CVP-Kfuq.js +5 -0
  114. package/dist/components/{p-BgNVZc8s.js → p-CX0MCoJm.js} +1 -1
  115. package/dist/components/{p-DrfcYzF1.js → p-CZPaKPho.js} +1 -1
  116. package/dist/components/p-CxL9hBt2.js +5 -0
  117. package/dist/components/p-D1sSrUE7.js +5 -0
  118. package/dist/components/p-D5Vp16LE.js +5 -0
  119. package/dist/components/p-DAOx9Qnb.js +5 -0
  120. package/dist/components/{p-BcT3C8sP.js → p-DEniRp-Y.js} +1 -1
  121. package/dist/components/{p-CIANzvVt.js → p-DNT9N8sa.js} +1 -1
  122. package/dist/components/{p-D0sxdCna.js → p-DdJblbUj.js} +1 -1
  123. package/dist/components/{p-DmIzOjiJ.js → p-DqaISuxu.js} +1 -1
  124. package/dist/components/p-E1MRBxpY.js +5 -0
  125. package/dist/components/p-EVz2SQxD.js +5 -0
  126. package/dist/components/{p-B1zj9gi9.js → p-KlUIwQJ_.js} +1 -1
  127. package/dist/components/p-NC__PzEk.js +5 -0
  128. package/dist/components/{p-BNjcsx7O.js → p-OMoAsmX4.js} +1 -1
  129. package/dist/components/{p-sDS2uNRH.js → p-R9s5HIai.js} +1 -1
  130. package/dist/components/p-Rs-gwVEC.js +5 -0
  131. package/dist/components/p-Toqpa7YK.js +5 -0
  132. package/dist/components/{p-D-sbGtxL.js → p-ajNVZbZb.js} +1 -1
  133. package/dist/components/p-lM8Wndby.js +5 -0
  134. package/dist/components/p-nzjwgyi2.js +5 -0
  135. package/dist/components/p-rgNGWak-.js +5 -0
  136. package/dist/components/part-lookup.js +1 -1
  137. package/dist/components/service-booking-form.js +1 -1
  138. package/dist/components/shift-accordion.js +1 -1
  139. package/dist/components/shift-select.d.ts +11 -0
  140. package/dist/components/shift-select.js +5 -0
  141. package/dist/components/shift-slider.js +1 -1
  142. package/dist/components/shift-switch.js +1 -1
  143. package/dist/components/shift-tab-content.js +1 -1
  144. package/dist/components/shift-tabs.js +1 -1
  145. package/dist/components/ssc-lookup-form.js +1 -1
  146. package/dist/components/test-drive-form.js +1 -1
  147. package/dist/components/vehicle-accessories.js +1 -1
  148. package/dist/components/vehicle-claimable-items.js +1 -1
  149. package/dist/components/vehicle-item-claim-form.js +1 -1
  150. package/dist/components/vehicle-lookup.js +1 -1
  151. package/dist/components/vehicle-paint-thickness.js +1 -1
  152. package/dist/components/vehicle-quotation-form.js +1 -1
  153. package/dist/components/vehicle-sale-information.js +1 -1
  154. package/dist/components/vehicle-service-history.js +1 -1
  155. package/dist/components/vehicle-specification.js +1 -1
  156. package/dist/components/vehicle-warranty-details.js +1 -1
  157. package/dist/esm/dead-stock-lookup_3.entry.js +2 -2
  158. package/dist/esm/flexible-container.entry.js +1 -1
  159. package/dist/esm/form-checkbox.entry.js +4 -4
  160. package/dist/esm/form-date-picker.entry.js +5 -5
  161. package/dist/esm/form-dialog_13.entry.js +4559 -31
  162. package/dist/esm/{form-input-BZhw7_xV.js → form-input-Dcr-Pd8b.js} +1 -1
  163. package/dist/esm/form-input_5.entry.js +350 -0
  164. package/dist/esm/form-switch.entry.js +3 -3
  165. package/dist/esm/form-time-picker.entry.js +1 -1
  166. package/dist/esm/functions-DtSiZ2w7.js +287 -0
  167. package/dist/esm/general-form.entry.js +10 -11
  168. package/dist/esm/general-inquiry-form.entry.js +10 -11
  169. package/dist/esm/{get-language-from-url-X9X1Ax8Z.js → get-language-from-url-C-Rb5RW0.js} +8 -5
  170. package/dist/esm/{get-local-language-fN5yD1k3.js → get-local-language-TggqJhkD.js} +1 -1
  171. package/dist/esm/{get-mock-files-CbEHAxlT.js → get-mock-files-CqnoWX3h.js} +1 -1
  172. package/dist/esm/loader.js +1 -1
  173. package/dist/esm/manufacturer-part-lookup.entry.js +2 -2
  174. package/dist/esm/{state-object-BQ1UuxjE.js → mappers-Bk5UgY3t.js} +2 -11
  175. package/dist/esm/part-lookup.entry.js +1 -1
  176. package/dist/esm/service-booking-form.entry.js +10 -11
  177. package/dist/esm/shift-accordion.entry.js +1 -1
  178. package/dist/esm/shift-components.js +1 -1
  179. package/dist/esm/shift-slider.entry.js +1 -1
  180. package/dist/esm/shift-switch.entry.js +1 -1
  181. package/dist/esm/shift-tab-content.entry.js +1 -1
  182. package/dist/esm/shift-tabs_2.entry.js +2 -2
  183. package/dist/esm/ssc-lookup-form.entry.js +10 -11
  184. package/dist/esm/test-drive-form.entry.js +10 -11
  185. package/dist/esm/{validation-DI1MnYKr.js → validation-oieVWBn1.js} +1 -7
  186. package/dist/esm/vehicle-accessories_7.entry.js +1 -1
  187. package/dist/esm/vehicle-lookup.entry.js +2 -2
  188. package/dist/esm/vehicle-quotation-form.entry.js +6 -16
  189. package/dist/esm/{white-loader-CG4JPVdv.js → white-loader-DG6pqLQw.js} +3 -1
  190. package/dist/mocks/generated/broker-dealer/part-lookup.json +127 -0
  191. package/dist/mocks/generated/broker-dealer/vehicle-lookup.json +275 -0
  192. package/dist/shift-components/p-0f6a4a2c.entry.js +5 -0
  193. package/dist/shift-components/p-1c18a25e.entry.js +5 -0
  194. package/dist/shift-components/{p-e52dcb2a.entry.js → p-29cb1041.entry.js} +1 -1
  195. package/dist/shift-components/{p-7a4e1765.entry.js → p-3123d3fd.entry.js} +1 -1
  196. package/dist/shift-components/{p-8950c0d3.entry.js → p-411f777f.entry.js} +1 -1
  197. package/dist/shift-components/p-5ce126f7.entry.js +5 -0
  198. package/dist/shift-components/p-5db9ae4b.entry.js +5 -0
  199. package/dist/shift-components/p-800d78fe.entry.js +5 -0
  200. package/dist/shift-components/{p-a04bc89f.entry.js → p-8882ac0f.entry.js} +1 -1
  201. package/dist/shift-components/{p-c18fe44e.entry.js → p-8d733785.entry.js} +1 -1
  202. package/dist/shift-components/{p-BJJ8dVwO.js → p-B8VkFyfR.js} +1 -1
  203. package/dist/shift-components/p-BuurMgGN.js +5 -0
  204. package/dist/shift-components/{p-EIAqVmko.js → p-Bvk_2TgY.js} +1 -1
  205. package/dist/shift-components/p-DQUCHNJ-.js +5 -0
  206. package/dist/shift-components/p-DlOwT0yg.js +5 -0
  207. package/dist/shift-components/{p-CjbN38OR.js → p-EubhneKo.js} +1 -1
  208. package/dist/shift-components/p-YbxvNbN5.js +5 -0
  209. package/dist/shift-components/{p-b3e12582.entry.js → p-a9f6c258.entry.js} +1 -1
  210. package/dist/shift-components/p-adb7282c.entry.js +5 -0
  211. package/dist/shift-components/p-b6518621.entry.js +5 -0
  212. package/dist/shift-components/p-ca014643.entry.js +5 -0
  213. package/dist/shift-components/{p-93f8d3cb.entry.js → p-cc033f27.entry.js} +1 -1
  214. package/dist/shift-components/{p-61f1b657.entry.js → p-ccb80e4d.entry.js} +1 -1
  215. package/dist/shift-components/p-cf23180a.entry.js +5 -0
  216. package/dist/shift-components/p-d6619b20.entry.js +5 -0
  217. package/dist/shift-components/p-d6dfb9bd.entry.js +5 -0
  218. package/dist/shift-components/{p-b99d645c.entry.js → p-e225d38c.entry.js} +1 -1
  219. package/dist/shift-components/{p-65b612a5.entry.js → p-e3252106.entry.js} +1 -1
  220. package/dist/shift-components/p-f6b6e66e.entry.js +5 -0
  221. package/dist/shift-components/{p-2d250c2c.entry.js → p-f6f9027f.entry.js} +1 -1
  222. package/dist/shift-components/p-veklgezh.js +5 -0
  223. package/dist/shift-components/shift-components.esm.js +1 -1
  224. package/dist/types/components/components/shift-select.d.ts +41 -0
  225. package/dist/types/components/form-elements/form-phone-number.d.ts +19 -3
  226. package/dist/types/components/form-elements/form-select.d.ts +3 -9
  227. package/dist/types/components/forms/defaults/mappers.d.ts +1 -1
  228. package/dist/types/components/forms/defaults/validation.d.ts +1 -3
  229. package/dist/types/components/forms/vehicle-quotation/element-mapper.d.ts +2 -3
  230. package/dist/types/components/forms/vehicle-quotation/validations.d.ts +3 -3
  231. package/dist/types/components.d.ts +123 -4
  232. package/dist/types/features/form-hook/interface.d.ts +1 -0
  233. package/dist/types/features/form-hook/phone-validator.d.ts +1 -2
  234. package/package.json +1 -1
  235. package/dist/cjs/form-input_4.cjs.entry.js +0 -319
  236. package/dist/cjs/phone-validator-DBP8Hynm.js +0 -4791
  237. package/dist/collection/components/forms/defaults/state-object.js +0 -5
  238. package/dist/components/p-B2UXU4lO.js +0 -5
  239. package/dist/components/p-B882WrlQ.js +0 -5
  240. package/dist/components/p-BKhQwtv6.js +0 -5
  241. package/dist/components/p-BLiZRR3-.js +0 -5
  242. package/dist/components/p-BeL46S5b.js +0 -5
  243. package/dist/components/p-Bru6COhI.js +0 -5
  244. package/dist/components/p-CEXM9vIa.js +0 -5
  245. package/dist/components/p-COtjTa3C.js +0 -5
  246. package/dist/components/p-Cxsxd6jX.js +0 -5
  247. package/dist/components/p-CzuBo570.js +0 -5
  248. package/dist/components/p-DAXzUOtq.js +0 -5
  249. package/dist/components/p-DHQY55KN.js +0 -5
  250. package/dist/components/p-DJ0xfjFN.js +0 -5
  251. package/dist/components/p-DSTKQdoW.js +0 -5
  252. package/dist/components/p-DT2OVZtH.js +0 -5
  253. package/dist/components/p-DYUjesC-.js +0 -5
  254. package/dist/components/p-Dg9H_vUO.js +0 -5
  255. package/dist/components/p-DqOll_wA.js +0 -5
  256. package/dist/components/p-DqPjMHKd.js +0 -5
  257. package/dist/components/p-F2tAV4E8.js +0 -5
  258. package/dist/components/p-KLPAymsW.js +0 -5
  259. package/dist/components/p-d53FlScY.js +0 -5
  260. package/dist/components/p-eCakWzyl.js +0 -5
  261. package/dist/esm/form-input_4.entry.js +0 -314
  262. package/dist/esm/phone-validator-BPJU63Ak.js +0 -4779
  263. package/dist/shift-components/p-26c95935.entry.js +0 -5
  264. package/dist/shift-components/p-3bea5aaa.entry.js +0 -5
  265. package/dist/shift-components/p-3fa2e731.entry.js +0 -5
  266. package/dist/shift-components/p-533ff451.entry.js +0 -5
  267. package/dist/shift-components/p-7PtHUjhE.js +0 -5
  268. package/dist/shift-components/p-7a6621db.entry.js +0 -5
  269. package/dist/shift-components/p-8d4c4317.entry.js +0 -5
  270. package/dist/shift-components/p-8e7e0ca5.entry.js +0 -5
  271. package/dist/shift-components/p-B1_PA5hq.js +0 -5
  272. package/dist/shift-components/p-C5tUvw8g.js +0 -5
  273. package/dist/shift-components/p-CgTEvrEQ.js +0 -5
  274. package/dist/shift-components/p-Cm_2J53u.js +0 -5
  275. package/dist/shift-components/p-cf208379.entry.js +0 -5
  276. package/dist/shift-components/p-ea7f7ffa.entry.js +0 -5
  277. package/dist/shift-components/p-edf3fb47.entry.js +0 -5
  278. package/dist/shift-components/p-ee305b43.entry.js +0 -5
  279. package/dist/shift-components/p-fb23c572.entry.js +0 -5
  280. package/dist/types/components/forms/defaults/state-object.d.ts +0 -6
@@ -4,14 +4,10 @@
4
4
  */
5
5
  import { Host, forceUpdate, h } from "@stencil/core";
6
6
  import cn from "../../global/lib/cn";
7
- import { getNestedValue } from "../../global/lib/get-nested-value";
8
7
  import { getInputLocalization } from "../../features/form-hook/index";
9
- import Loader from "~assets/loader.svg";
10
- import { TickIcon } from "../../global/assets/tick-icon";
11
- import { ArrowUpIcon } from "../../global/assets/arrow-up-icon";
12
8
  import { FormInputLabel } from "./components/form-input-label";
13
9
  import { FormErrorMessage } from "./components/form-error-message";
14
- import { AddIcon } from "../../global/assets/add-icon";
10
+ import { getNestedValue } from "../../global/lib/get-nested-value";
15
11
  export class FormSelect {
16
12
  constructor() {
17
13
  this.language = 'en';
@@ -22,36 +18,21 @@ export class FormSelect {
22
18
  this.searchValue = '';
23
19
  this.isOpen = false;
24
20
  this.selectedValue = '';
25
- this.openUpwards = false;
26
21
  this.options = [];
27
22
  this.fetchingErrorMessage = null;
28
- this.toggleDropdown = () => {
29
- if (this.isOpen && !this.searchable)
30
- this.isOpen = false;
31
- else
32
- this.adjustDropdownPosition();
23
+ this.handleSelection = (option) => {
24
+ this.selectedValue = option.value;
25
+ this.searchValue = option.label;
26
+ this.isOpen = false;
33
27
  };
34
28
  this.reset = (newValue = '') => {
35
29
  const defaultOption = this.options.find(opt => opt.value === newValue || opt.value === this.defaultValue) || { value: newValue, label: '' };
36
30
  this.handleSelection(defaultOption);
37
31
  };
38
- this.closeDropdown = (event) => {
39
- if (!this.el.contains(event.target)) {
40
- this.isOpen = false;
41
- }
42
- };
43
- this.onSearchInput = (event) => {
44
- const target = event.target;
45
- this.searchValue = target.value;
46
- this.selectedValue = '';
47
- };
48
- this.clearInput = () => {
49
- this.searchValue = '';
50
- this.selectedValue = '';
51
- const selectButton = this.el.getElementsByClassName('form-input-select')[0];
52
- selectButton.focus();
53
- if (!this.isOpen)
54
- this.adjustDropdownPosition();
32
+ this.updateShiftSelectContext = (newValues) => {
33
+ Object.entries(newValues).forEach(([key, value]) => {
34
+ this[key] = value;
35
+ });
55
36
  };
56
37
  }
57
38
  async changeLanguage() {
@@ -69,38 +50,11 @@ export class FormSelect {
69
50
  this.defaultValue = this.staticValue.value;
70
51
  this.clearable = false;
71
52
  }
72
- this.selectedValue = this.defaultValue;
73
53
  }
74
54
  async disconnectedCallback() {
75
55
  var _a;
76
56
  (_a = this.abortController) === null || _a === void 0 ? void 0 : _a.abort();
77
57
  this.form.unsubscribe(this.name);
78
- document.removeEventListener('click', this.closeDropdown);
79
- document.removeEventListener('keydown', this.handleKeyDown.bind(this));
80
- }
81
- adjustDropdownPosition() {
82
- requestAnimationFrame(() => {
83
- const selectButton = this.el.getElementsByClassName('form-input-select')[0];
84
- const selectContainer = this.el.getElementsByClassName('form-select-container')[0];
85
- const rect = selectButton.getBoundingClientRect();
86
- const spaceBelow = window.innerHeight - rect.bottom - 20; // 20 is padding
87
- this.openUpwards = spaceBelow < selectContainer.getBoundingClientRect().height || this.forceOpenUpwards;
88
- setTimeout(() => {
89
- this.isOpen = true;
90
- }, 10);
91
- });
92
- }
93
- handleSelection(option) {
94
- this.selectedValue = option.value;
95
- this.searchValue = option.label;
96
- this.isOpen = false;
97
- }
98
- handleKeyDown(event) {
99
- if (!this.isOpen)
100
- return;
101
- if (event.key === 'Escape') {
102
- this.isOpen = false;
103
- }
104
58
  }
105
59
  async fetch() {
106
60
  var _a, _b, _c, _d;
@@ -144,8 +98,6 @@ export class FormSelect {
144
98
  }
145
99
  async componentDidLoad() {
146
100
  this.fetch();
147
- document.addEventListener('click', this.closeDropdown);
148
- document.addEventListener('keydown', this.handleKeyDown.bind(this));
149
101
  }
150
102
  render() {
151
103
  var _a, _b, _c;
@@ -160,19 +112,7 @@ export class FormSelect {
160
112
  const disableInput = disabled || this.isDisabled || this.isLoading || !!this.staticValue;
161
113
  if (this.isHidden)
162
114
  return (h(Host, { translate: "no", style: { display: this.isHidden ? 'none' : 'block' } }, h("form-shadow-input", { name: this.name, form: this.form, value: this.selectedValue })));
163
- return (h(Host, { translate: "no" }, h("label", { part: `${this.name}`, id: this.wrapperId, class: cn('form-input-label-container', this.wrapperClass, { disabled: disableInput }) }, h(FormInputLabel, { name: this.name, isRequired: isRequired || this.isRequired, label: label }), h("div", { part: `${this.name}-container form-input-container`, class: cn('form-input-container', { open: this.isOpen, disableInput }) }, h("form-shadow-input", { name: this.name, form: this.form, value: this.selectedValue }), h("input", { type: "text", disabled: disableInput, part: `${this.name}-input-select form-input-select`, value: this.searchable ? this.searchValue : (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.label) || '', readOnly: !this.searchable, onInput: this.onSearchInput, onClick: this.toggleDropdown, placeholder: placeholder || (meta === null || meta === void 0 ? void 0 : meta.placeholder), class: cn('form-input-style form-input-select', {
164
- 'form-input-error-style': isError,
165
- }) }), h("div", { part: `${this.name}-select-icon-container form-input-select-icon-container`, class: "form-input-select-icon-container" }, (selectedItem || this.searchValue) && this.clearable ? (h(AddIcon, { part: `${this.name}-cross-icon`, onClick: this.clearInput, class: "form-input-select-icon cross" })) : (h(ArrowUpIcon, { part: `${this.name}-arrow-icon select-arrow`, class: "form-input-select-icon arrow" }))), h("div", { part: cn(`${this.name}-select-container form-select-container`, {
166
- 'form-select-container-upwards': this.openUpwards || this.forceOpenUpwards,
167
- 'form-select-container-downwards': !this.openUpwards && !this.forceOpenUpwards,
168
- }), class: cn('form-select-container', {
169
- upwards: this.openUpwards || this.forceOpenUpwards,
170
- downwards: !this.openUpwards && !this.forceOpenUpwards,
171
- }) }, !!filteredOptions.length &&
172
- (this.reverseOptions ? [...filteredOptions].reverse() : filteredOptions).map(option => (h("button", { type: "button", part: cn(`${this.name}-select-option form-select-option`, { 'form-select-option-selected': this.selectedValue === option.value }), onClick: () => this.handleSelection(option), class: cn('form-select-option', {
173
- selected: this.selectedValue === option.value,
174
- }) }, h("div", { part: `${this.name}-select-option-label form-select-option-label`, class: "form-select-option-label" }, option.label), h(TickIcon, { part: `${this.name}-tick-icon`, class: "form-select-option-tick" })))), !filteredOptions.length && (h("div", { part: `${this.name}-select-empty-container form-select-empty-container`, class: cn('form-select-empty-container', { error: this.fetchingErrorMessage }) }, this.fetchingErrorMessage && (getNestedValue(locale, this.fetchingErrorMessage) || this.fetchingErrorMessage || ((_b = (_a = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _a === void 0 ? void 0 : _a.errors) === null || _b === void 0 ? void 0 : _b.wildCard)), !this.fetchingErrorMessage &&
175
- (this.isFetching ? (h("img", { part: `${this.name}-select-spinner form-select-spinner`, class: "form-select-spinner", src: Loader })) : ((_c = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _c === void 0 ? void 0 : _c.noSelectOptions)))))), h(FormErrorMessage, { name: this.name, isError: isError, errorMessage: errorTextMessage }))));
115
+ return (h(Host, { translate: "no" }, h("label", { part: `${this.name}`, id: this.wrapperId, class: cn('form-input-label-container', this.wrapperClass, { disabled: disableInput }) }, h(FormInputLabel, { name: this.name, isRequired: isRequired || this.isRequired, label: label }), h("shift-select", { name: this.name, isError: isError, isOpen: this.isOpen, options: filteredOptions, clearable: this.clearable, isLoading: this.isFetching, disableInput: disableInput, searchable: this.searchable, searchValue: this.searchValue, selectedValue: this.selectedValue, reverseOptions: this.reverseOptions, handleSelection: this.handleSelection, forceOpenUpwards: this.forceOpenUpwards, updateContext: this.updateShiftSelectContext, placeholder: placeholder || (meta === null || meta === void 0 ? void 0 : meta.placeholder), noSelectionText: (_a = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _a === void 0 ? void 0 : _a.noSelectOptions, fetchingErrorText: !this.fetchingErrorMessage ? '' : getNestedValue(locale, this.fetchingErrorMessage) || this.fetchingErrorMessage || ((_c = (_b = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _b === void 0 ? void 0 : _b.errors) === null || _c === void 0 ? void 0 : _c.wildCard) }, h("form-shadow-input", { name: this.name, form: this.form, value: this.selectedValue })), h(FormErrorMessage, { name: this.name, isError: isError, errorMessage: errorTextMessage }))));
176
116
  }
177
117
  static get is() { return "form-select"; }
178
118
  static get originalStyleUrls() {
@@ -584,10 +524,9 @@ export class FormSelect {
584
524
  static get states() {
585
525
  return {
586
526
  "searchValue": {},
587
- "isFetching": {},
588
527
  "isOpen": {},
589
528
  "selectedValue": {},
590
- "openUpwards": {},
529
+ "isFetching": {},
591
530
  "options": {},
592
531
  "fetchingErrorMessage": {}
593
532
  };
@@ -3,18 +3,12 @@
3
3
  * Copyright (c)
4
4
  */
5
5
  import { h } from "@stencil/core";
6
- import { getPhoneValidator } from "../../../features/form-hook/index";
7
6
  import { VehicleImageViewer } from "../../form-elements/VehicleImageViewer";
8
7
  import { CalendarDaysIcon } from "../../../global/assets/calendar-days-icon";
9
8
  import { format, isBefore, isEqual } from "date-fns";
10
9
  import { decodeTimeOffset } from "../../../global/lib/decode-time-offset";
11
10
  import { populateItems } from "../../../global/lib/populate-items";
12
- export const getFormMappers = (stateObject, extraMappers = {}) => (Object.assign({ submit: ({ props }) => h("form-submit", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), inputPreview: ({ props }) => h("form-input-preview", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), fileUploader: ({ props }) => h("form-file", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), formStepper: ({ props, language }) => h("form-stepper", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name, language: language }, props)), back: ({ props }) => h("form-stepper-control", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), stepperSubmit: ({ props }) => h("form-stepper-submit", Object.assign({ key: (props === null || props === void 0 ? void 0 : props.step) || (props === null || props === void 0 ? void 0 : props.name) }, props)), name: ({ props }) => h("form-input", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), lastName: ({ props }) => h("form-input", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), email: ({ props }) => h("form-input", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name, type: "email" }, props)), message: ({ props }) => h("form-text-area", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), file: ({ props }) => h("form-file", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), vin: ({ props }) => h("form-vin-input", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), vehicleImage: ({ form }) => h(VehicleImageViewer, { form: form }), phone: ({ props, isLoading }) => {
13
- if (!stateObject.phoneValidator) {
14
- stateObject.phoneValidator = getPhoneValidator((props === null || props === void 0 ? void 0 : props.countryCode) || '');
15
- }
16
- return h("form-phone-number", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name, defaultValue: stateObject.phoneValidator.default }, props, { isLoading: isLoading, validator: stateObject.phoneValidator }));
17
- }, vehicle: ({ language, props }) => {
11
+ export const getFormMappers = (extraMappers = {}) => (Object.assign({ submit: ({ props }) => h("form-submit", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), inputPreview: ({ props }) => h("form-input-preview", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), fileUploader: ({ props }) => h("form-file", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), formStepper: ({ props, language }) => h("form-stepper", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name, language: language }, props)), back: ({ props }) => h("form-stepper-control", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), stepperSubmit: ({ props }) => h("form-stepper-submit", Object.assign({ key: (props === null || props === void 0 ? void 0 : props.step) || (props === null || props === void 0 ? void 0 : props.name) }, props)), name: ({ props }) => h("form-input", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), lastName: ({ props }) => h("form-input", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), email: ({ props }) => h("form-input", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name, type: "email" }, props)), message: ({ props }) => h("form-text-area", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), file: ({ props }) => h("form-file", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), vin: ({ props }) => h("form-vin-input", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name }, props)), vehicleImage: ({ form }) => h(VehicleImageViewer, { form: form }), phone: ({ props, isLoading }) => h("form-phone-number", Object.assign({ key: props === null || props === void 0 ? void 0 : props.name, isLoading: isLoading }, props)), vehicle: ({ language, props }) => {
18
12
  const fetcher = async ({ signal, context }) => {
19
13
  var _a, _b;
20
14
  const params = new URLSearchParams(window.location.search);
@@ -1 +1 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.block{display:block}.flex{display:flex}.grid{display:grid}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:host{all:initial!important;display:block;font-family:inherit!important}@keyframes form-loading-spin{to{transform:rotate(1turn)}}.form-loader-container .img{animation:form-loading-spin 2s linear infinite;height:32px;width:32px}*{-webkit-user-select:none;-moz-user-select:none;user-select:none}#vehicle-wrapper{display:flex;flex-direction:column}@media (min-width:640px){#vehicle-wrapper{align-items:center;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}}.pointer-events-none{pointer-events:none}.static{position:static}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.top-0{top:0}.h-full{height:100%}.min-h-\[150px\]{min-height:150px}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.\!h-auto{height:auto!important}.min-w-full{min-width:100%}.resize{resize:both}.overflow-hidden{overflow:hidden}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition-none{transition-property:none!important}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\!duration-0{transition-duration:0s!important}.\!duration-500{transition-duration:.5s!important}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.fixed{position:fixed}.bottom-4{bottom:1rem}.left-1\/2{left:50%}.z-10{z-index:10}.z-\[9999\]{z-index:9999}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.size-8{height:2rem;width:2rem}.size-\[32px\]{height:32px;width:32px}.size-full{height:100%;width:100%}.h-\[100dvh\]{height:100dvh}.h-\[60px\]{height:60px}.min-h-full{min-height:100%}.w-\[100dvw\]{width:100dvw}.w-\[100px\]{width:100px}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.justify-between{justify-content:space-between}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.object-cover{object-fit:cover}.object-center{object-position:center}.p-1{padding:.25rem}.p-\[16px\]{padding:16px}.py-\[10px\]{padding-bottom:10px;padding-top:10px}.text-center{text-align:center}.text-\[18px\]{font-size:18px}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.hover\:border-slate-700:hover{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.disabled\:bg-white\/75:disabled{background-color:hsla(0,0%,100%,.75)}@media (min-width:768px){.md\:relative{position:relative}.md\:h-auto{height:auto}.md\:w-\[600px\]{width:600px}.md\:\!translate-x-0{--tw-translate-x:0px!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.md\:overflow-hidden{overflow:hidden}.md\:rounded-lg{border-radius:.5rem}.md\:border-none{border-style:none}.md\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.md\:py-\[8px\]{padding-bottom:8px;padding-top:8px}.md\:text-\[24px\]{font-size:24px}.md\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.md\:\!opacity-100{opacity:1!important}.md\:transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.md\:duration-300{transition-duration:.3s}.md\:hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.block{display:block}.flex{display:flex}.grid{display:grid}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:host{all:initial!important;display:block;font-family:inherit!important}@keyframes form-loading-spin{to{transform:rotate(1turn)}}.form-loader-container .img{animation:form-loading-spin 2s linear infinite;height:32px;width:32px}*{-webkit-user-select:none;-moz-user-select:none;user-select:none}#vehicle-wrapper{display:flex;flex-direction:column}@media (min-width:640px){#vehicle-wrapper{align-items:center;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}}.pointer-events-none{pointer-events:none}.static{position:static}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.top-0{top:0}.h-full{height:100%}.min-h-\[150px\]{min-height:150px}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.\!h-auto{height:auto!important}.min-w-full{min-width:100%}.resize{resize:both}.overflow-hidden{overflow:hidden}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition-none{transition-property:none!important}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\!duration-0{transition-duration:0s!important}.\!duration-500{transition-duration:.5s!important}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.cursor-pointer{cursor:pointer}.fixed{position:fixed}.bottom-4{bottom:1rem}.left-1\/2{left:50%}.z-10{z-index:10}.z-\[9999\]{z-index:9999}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.size-8{height:2rem;width:2rem}.size-\[32px\]{height:32px;width:32px}.size-full{height:100%;width:100%}.h-\[100dvh\]{height:100dvh}.h-\[60px\]{height:60px}.min-h-full{min-height:100%}.w-\[100dvw\]{width:100dvw}.w-\[100px\]{width:100px}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.justify-between{justify-content:space-between}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.object-cover{object-fit:cover}.object-center{object-position:center}.p-1{padding:.25rem}.p-\[16px\]{padding:16px}.py-\[10px\]{padding-bottom:10px;padding-top:10px}.text-center{text-align:center}.text-\[18px\]{font-size:18px}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.hover\:border-slate-700:hover{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.disabled\:bg-white\/75:disabled{background-color:hsla(0,0%,100%,.75)}@media (min-width:768px){.md\:relative{position:relative}.md\:h-auto{height:auto}.md\:w-\[600px\]{width:600px}.md\:\!translate-x-0{--tw-translate-x:0px!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.md\:overflow-hidden{overflow:hidden}.md\:rounded-lg{border-radius:.5rem}.md\:border-none{border-style:none}.md\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.md\:py-\[8px\]{padding-bottom:8px;padding-top:8px}.md\:text-\[24px\]{font-size:24px}.md\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.md\:\!opacity-100{opacity:1!important}.md\:transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.md\:duration-300{transition-duration:.3s}.md\:hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}}
@@ -13,7 +13,7 @@ export const placeholder = (name) => `${name}-placeholder`;
13
13
  export const meta = (name) => ({ label: label(name), placeholder: placeholder(name) });
14
14
  export const condition = (name) => `$${name}Required`;
15
15
  export const y = { label, format, require, condition, placeholder, meta, size, max };
16
- export const getFormValidations = (stateObject, extraFields = {}) => {
16
+ export const getFormValidations = (extraFields = {}) => {
17
17
  return object(Object.assign({ name: string()
18
18
  .meta(meta('name'))
19
19
  .when(condition('name'), {
@@ -45,12 +45,6 @@ export const getFormValidations = (stateObject, extraFields = {}) => {
45
45
  is: true,
46
46
  otherwise: schema => schema.optional(),
47
47
  then: schema => schema.required(require('vin')).test(format('vin'), format('vin'), a => validateVin(a === null || a === void 0 ? void 0 : a.toUpperCase())),
48
- }), phone: string()
49
- .meta(meta('phone'))
50
- .when(condition('phone'), {
51
- is: true,
52
- otherwise: schema => schema.optional(),
53
- then: schema => schema.required(require('phone')).test(format('phone'), format('phone'), () => { var _a; return (_a = stateObject === null || stateObject === void 0 ? void 0 : stateObject.phoneValidator) === null || _a === void 0 ? void 0 : _a.geIsValidPhoneNumber(); }),
54
48
  }), vehicle: string()
55
49
  .meta(meta('vehicle'))
56
50
  .when(y.condition('vehicle'), {
@@ -10,10 +10,8 @@ import cn from "../../global/lib/cn";
10
10
  import { LoaderIcon } from "../../global/assets/loader-icon";
11
11
  import { getFormValidations } from "./defaults/validation";
12
12
  import { getFormMappers } from "./defaults/mappers";
13
- import { getDefaultStateObject } from "./defaults/state-object";
14
- let stateObject = getDefaultStateObject();
15
- const validation = getFormValidations(stateObject);
16
- const elementMapper = getFormMappers(stateObject);
13
+ const validation = getFormValidations();
14
+ const elementMapper = getFormMappers();
17
15
  export class GeneralForm {
18
16
  constructor() {
19
17
  this.locale = { sharedFormLocales: sharedFormLocalesSchema.getDefault() };
@@ -58,9 +56,9 @@ export class GeneralForm {
58
56
  // #endregion
59
57
  render() {
60
58
  var _a, _b;
61
- return (h(Host, { key: 'a7eecc8181da7b8b346a0be6cd61bd2692611944', translate: "no" }, h("div", { key: '56ca7b9587a1ececcbbd5c164d9cf19f07c5ca14', part: cn('shift-form', (_b = (_a = this.structure) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.theme, this.theme) }, h("div", { key: 'ce7a9e65ab0fd26fba4d64a315229ea5a348caf4', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: 'f2fc3166572e7c82031be59894d640746b44d9df', part: "form-loader-container", class: cn('form-loader-container absolute top-0 left-0 w-full h-full pointer-events-none flex justify-center items-center transition-opacity duration-500', {
59
+ return (h(Host, { key: '5239ff4c1dd281969d2e2bed0910e1576d67eaac', translate: "no" }, h("div", { key: 'd0c6ad105d838fe8070461a98d4fb05257bc04bb', part: cn('shift-form', (_b = (_a = this.structure) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.theme, this.theme) }, h("div", { key: '3777a05be973b7c3231bafbf906fee3b99f79977', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: 'dfd8d422406f692cdab47970ecdb293aeb49c3b5', part: "form-loader-container", class: cn('form-loader-container absolute top-0 left-0 w-full h-full pointer-events-none flex justify-center items-center transition-opacity duration-500', {
62
60
  'opacity-0': this.structureRendered,
63
- }) }, h(LoaderIcon, { key: '670e815d77b5a0af19fce038270312c6a4804e14', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: 'd9c6506ef61361041c0912e38c5970ed2c958ba2', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: 'bc5d3954f72ad238dc37fbc4d878943ddd560c79', form: this.form, fields: this.fields, formId: this.formId, formLocale: this.locale, structure: this.structure, isLoading: this.isLoading, language: this.localeLanguage, errorMessage: this.errorMessage, formElementMapper: elementMapper, successMessage: this.locale['Form submitted successfully.'] || 'Form submitted successfully.' }, h("slot", { key: 'a62cd77628a6938a905529a33887b1b27fd57de9' }))))))));
61
+ }) }, h(LoaderIcon, { key: '5515b40a35b4b30b0be94c778f6839b366202029', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '22f07ad7e3acadb4a5bd0e4b246f54a4b887757b', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: '7e9ce2ad07b39ac56839351f552a2fc02371ec95', form: this.form, fields: this.fields, formId: this.formId, formLocale: this.locale, structure: this.structure, isLoading: this.isLoading, language: this.localeLanguage, errorMessage: this.errorMessage, formElementMapper: elementMapper, successMessage: this.locale['Form submitted successfully.'] || 'Form submitted successfully.' }, h("slot", { key: '4bf12d1b145995225c1dfc4ee1812f0b5cdaddd2' }))))))));
64
62
  }
65
63
  static get is() { return "general-form"; }
66
64
  static get encapsulation() { return "shadow"; }
@@ -11,9 +11,7 @@ import { LoaderIcon } from "../../global/assets/loader-icon";
11
11
  import { string } from "yup";
12
12
  import { getFormValidations, y } from "./defaults/validation";
13
13
  import { getFormMappers } from "./defaults/mappers";
14
- import { getDefaultStateObject } from "./defaults/state-object";
15
- let stateObject = getDefaultStateObject();
16
- const validation = getFormValidations(stateObject, {
14
+ const validation = getFormValidations({
17
15
  generalTicketType: string()
18
16
  .meta(y.meta('generalTicketType'))
19
17
  .when(y.condition('generalTicketType'), {
@@ -22,7 +20,7 @@ const validation = getFormValidations(stateObject, {
22
20
  then: schema => schema.required(y.require('generalTicketType')),
23
21
  }),
24
22
  });
25
- const elementMapper = getFormMappers(stateObject, {
23
+ const elementMapper = getFormMappers({
26
24
  generalTicketType: ({ language, props }) => {
27
25
  const fetcher = async ({}) => {
28
26
  const options = Array.isArray(props === null || props === void 0 ? void 0 : props.options) ? props === null || props === void 0 ? void 0 : props.options : [];
@@ -75,9 +73,9 @@ export class GeneralInquiryForm {
75
73
  // #endregion
76
74
  render() {
77
75
  var _a, _b;
78
- return (h(Host, { key: '38849baa5ec06c21fbb28ba52c8547d5c06804df', translate: "no" }, h("div", { key: 'bb58fbf9579cca9ff64077dfc0ba9b3b45847508', part: cn('shift-form', (_b = (_a = this.structure) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.theme, this.theme) }, h("div", { key: '72c22506c012de162a385ffd609e4d20a71c8fb1', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '0a495ecac17eaf5d9e7026cce8401f96cb7933d5', part: "form-loader-container", class: cn('form-loader-container absolute top-0 left-0 w-full h-full pointer-events-none flex justify-center items-center transition-opacity duration-500', {
76
+ return (h(Host, { key: '3778fda81da661d719aad269180e6269b408f7e5', translate: "no" }, h("div", { key: '965f878ee5d0314cf5e6c87861ed87eab24a4c17', part: cn('shift-form', (_b = (_a = this.structure) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.theme, this.theme) }, h("div", { key: '1def9bb2b1964e6b1303ef7a3471bd8b82352179', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '4373f8d8866267b8277cb05265e074c5916cd2ee', part: "form-loader-container", class: cn('form-loader-container absolute top-0 left-0 w-full h-full pointer-events-none flex justify-center items-center transition-opacity duration-500', {
79
77
  'opacity-0': this.structureRendered,
80
- }) }, h(LoaderIcon, { key: '70e6a44513cdbc0dff3f38e7befba8fd330239fa', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '3474e08e33d7c46aee5622bc42a682c0211efa38', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: '10f3c3e5c84c9c1a7d2424ba3250750ca71e3c0b', form: this.form, fields: this.fields, formId: this.formId, formLocale: this.locale, structure: this.structure, isLoading: this.isLoading, language: this.localeLanguage, errorMessage: this.errorMessage, formElementMapper: elementMapper, successMessage: this.locale['Form submitted successfully.'] || 'Form submitted successfully.' }, h("slot", { key: '3d16a9879a3f3b2d8a1fa741ff205da90122ba11' }))))))));
78
+ }) }, h(LoaderIcon, { key: '17930f22899a535db1cbc0ce8cf590f1c662f80c', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: 'c089c41f7c63fc242862e7e82e5a42bf1c794658', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: 'd759c318d33f650305142f371328e87693e6b26c', form: this.form, fields: this.fields, formId: this.formId, formLocale: this.locale, structure: this.structure, isLoading: this.isLoading, language: this.localeLanguage, errorMessage: this.errorMessage, formElementMapper: elementMapper, successMessage: this.locale['Form submitted successfully.'] || 'Form submitted successfully.' }, h("slot", { key: '98a5c921a9a16d00f5b953af51997d8bb4ee613f' }))))))));
81
79
  }
82
80
  static get is() { return "general-inquiry-form"; }
83
81
  static get encapsulation() { return "shadow"; }
@@ -10,10 +10,8 @@ import cn from "../../global/lib/cn";
10
10
  import { LoaderIcon } from "../../global/assets/loader-icon";
11
11
  import { getFormValidations } from "./defaults/validation";
12
12
  import { getFormMappers } from "./defaults/mappers";
13
- import { getDefaultStateObject } from "./defaults/state-object";
14
- let stateObject = getDefaultStateObject();
15
- const validation = getFormValidations(stateObject);
16
- const elementMapper = getFormMappers(stateObject);
13
+ const validation = getFormValidations();
14
+ const elementMapper = getFormMappers();
17
15
  export class ServiceBookingForm {
18
16
  constructor() {
19
17
  this.locale = { sharedFormLocales: sharedFormLocalesSchema.getDefault() };
@@ -58,9 +56,9 @@ export class ServiceBookingForm {
58
56
  // #endregion
59
57
  render() {
60
58
  var _a, _b;
61
- return (h(Host, { key: 'e6699ce8ed175af74ab317cd5f49e011c76c0a58', translate: "no" }, h("div", { key: 'ce60f11e6cda7fc9c8ec3c058e9bd1bc2cae2951', part: cn('shift-form', (_b = (_a = this.structure) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.theme, this.theme) }, h("div", { key: '7c9bb51b347deca5bc4e0c41f3dd01c22aa8614c', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '8440bc3f03295b1dbdd30ebca05f596bcb494cc3', part: "form-loader-container", class: cn('form-loader-container absolute top-0 left-0 w-full h-full pointer-events-none flex justify-center items-center transition-opacity duration-500', {
59
+ return (h(Host, { key: '90e81dc68f99658268f7c5c12bdc329e5a9217ba', translate: "no" }, h("div", { key: '86f682cae122268060bde8a14e13248cfa4c4357', part: cn('shift-form', (_b = (_a = this.structure) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.theme, this.theme) }, h("div", { key: 'ecfb15b89332887f71cc29079b9392ddf98e8f1e', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '08f9a99565a459bbf905d26de7621db5e8aba762', part: "form-loader-container", class: cn('form-loader-container absolute top-0 left-0 w-full h-full pointer-events-none flex justify-center items-center transition-opacity duration-500', {
62
60
  'opacity-0': this.structureRendered,
63
- }) }, h(LoaderIcon, { key: 'de21bf6fd114bcfd0aac55db06849a5f2ccd9b16', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: 'd7fbeecd1c77ad989d69ecc9f215f5572ba3ba3f', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: '3d33f055360a208c6e1818d5561f8376520e8415', form: this.form, fields: this.fields, formId: this.formId, formLocale: this.locale, structure: this.structure, isLoading: this.isLoading, language: this.localeLanguage, errorMessage: this.errorMessage, formElementMapper: elementMapper, successMessage: this.locale['Form submitted successfully.'] || 'Form submitted successfully.' }, h("slot", { key: 'bb7cfa0c2b9828f60e7e72ba297b61132c7126d8' }))))))));
61
+ }) }, h(LoaderIcon, { key: 'd9aef55b1249f8d0e5eeb8a6f3975378b406cedc', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '66ddb9b4f9799c0f9934abcf7d26ce95a86ed4ca', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: 'af3c7fe0852ab399cdedf22c46e5e7e5d28838d8', form: this.form, fields: this.fields, formId: this.formId, formLocale: this.locale, structure: this.structure, isLoading: this.isLoading, language: this.localeLanguage, errorMessage: this.errorMessage, formElementMapper: elementMapper, successMessage: this.locale['Form submitted successfully.'] || 'Form submitted successfully.' }, h("slot", { key: '6fabd4ff26b1398734165c8c15b17118cfe9ba03' }))))))));
64
62
  }
65
63
  static get is() { return "service-booking-form"; }
66
64
  static get encapsulation() { return "shadow"; }
@@ -10,10 +10,8 @@ import cn from "../../global/lib/cn";
10
10
  import { LoaderIcon } from "../../global/assets/loader-icon";
11
11
  import { getFormValidations } from "./defaults/validation";
12
12
  import { getFormMappers } from "./defaults/mappers";
13
- import { getDefaultStateObject } from "./defaults/state-object";
14
- let stateObject = getDefaultStateObject();
15
- const validation = getFormValidations(stateObject);
16
- const elementMapper = getFormMappers(stateObject);
13
+ const validation = getFormValidations();
14
+ const elementMapper = getFormMappers();
17
15
  export class SSCLookupForm {
18
16
  constructor() {
19
17
  this.locale = { sharedFormLocales: sharedFormLocalesSchema.getDefault() };
@@ -69,9 +67,9 @@ export class SSCLookupForm {
69
67
  // #endregion
70
68
  render() {
71
69
  var _a, _b;
72
- return (h(Host, { key: '7432e29502bf4ab6a10e89fb64579f41d4257274', translate: "no" }, h("div", { key: '28497fc0f52c7e0b20db4dccf0b0b51aeec7c042', part: cn('shift-form', (_b = (_a = this.structure) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.theme, this.theme) }, h("div", { key: '7dc9c39a6c34a11da737f5599e7b39ce2946392e', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '1ac87d5561e9083d848527bf68830cc8713a4f1d', part: "form-loader-container", class: cn('form-loader-container absolute top-0 left-0 w-full h-full pointer-events-none flex justify-center items-center transition-opacity duration-500', {
70
+ return (h(Host, { key: '1507cf3bf7b610dc08382a4071e0d67581a64546', translate: "no" }, h("div", { key: '5b100fb719f8f4cbd4ee7efa3c85eac12a08d13a', part: cn('shift-form', (_b = (_a = this.structure) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.theme, this.theme) }, h("div", { key: '945ed53b3fb772ca407fa198c3e255777c7d13e7', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '5abfa5d088f599bfb6197de400b9fa79efa0b519', part: "form-loader-container", class: cn('form-loader-container absolute top-0 left-0 w-full h-full pointer-events-none flex justify-center items-center transition-opacity duration-500', {
73
71
  'opacity-0': this.structureRendered,
74
- }) }, h(LoaderIcon, { key: '486ae3a91bdad8bebf18e31d4924c1440846cec7', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '4083668f9c35c59fd680edf3fd419251c1412edd', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: '09b250445491b3e8fe999e39aa5f52248f3eecf6', form: this.form, fields: this.fields, formId: this.formId, formLocale: this.locale, structure: this.structure, isLoading: this.isLoading, language: this.localeLanguage, errorMessage: this.errorMessage, formElementMapper: elementMapper, successMessage: this.locale['Form submitted successfully.'] || 'Form submitted successfully.' }, h("slot", { key: '7f4d2453daeb9dd4c1612d14825c60d8f7e44d13' }))))))));
72
+ }) }, h(LoaderIcon, { key: 'a84a96cec2e1566d3942c3787323586ba034d99f', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '2b199893089c69358ec9f7864239cd652f7504ce', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: 'e245b09edaa1972a00687b41e2e3081333762a49', form: this.form, fields: this.fields, formId: this.formId, formLocale: this.locale, structure: this.structure, isLoading: this.isLoading, language: this.localeLanguage, errorMessage: this.errorMessage, formElementMapper: elementMapper, successMessage: this.locale['Form submitted successfully.'] || 'Form submitted successfully.' }, h("slot", { key: '400ddd123e7eb7ee87328a256a9aeba59152fd3a' }))))))));
75
73
  }
76
74
  static get is() { return "ssc-lookup-form"; }
77
75
  static get encapsulation() { return "shadow"; }
@@ -10,10 +10,8 @@ import cn from "../../global/lib/cn";
10
10
  import { LoaderIcon } from "../../global/assets/loader-icon";
11
11
  import { getFormValidations } from "./defaults/validation";
12
12
  import { getFormMappers } from "./defaults/mappers";
13
- import { getDefaultStateObject } from "./defaults/state-object";
14
- let stateObject = getDefaultStateObject();
15
- const validation = getFormValidations(stateObject);
16
- const elementMapper = getFormMappers(stateObject);
13
+ const validation = getFormValidations();
14
+ const elementMapper = getFormMappers();
17
15
  export class TestDriveForm {
18
16
  constructor() {
19
17
  this.locale = { sharedFormLocales: sharedFormLocalesSchema.getDefault() };
@@ -58,9 +56,9 @@ export class TestDriveForm {
58
56
  // #endregion
59
57
  render() {
60
58
  var _a, _b;
61
- return (h(Host, { key: '9ec8f74fff7522248d1aeadce1c16038942dd665', translate: "no" }, h("div", { key: 'bb38406876b1c2884a93c3649f2b8701913efb50', part: cn('shift-form', (_b = (_a = this.structure) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.theme, this.theme) }, h("div", { key: 'd42f73694d89d43000b3d069e5b8af7ed30cb3c1', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '8c844677909bcea34e10514bdc3a24b22b94d63b', part: "form-loader-container", class: cn('form-loader-container absolute top-0 left-0 w-full h-full pointer-events-none flex justify-center items-center transition-opacity duration-500', {
59
+ return (h(Host, { key: '30f38d5e5bddd165f40545860734738f29ae1d0f', translate: "no" }, h("div", { key: '614c1d4901cf2713bbcb745540678f951732e43a', part: cn('shift-form', (_b = (_a = this.structure) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.theme, this.theme) }, h("div", { key: '025dd58198caf0413d5fb894a337b8a4bba8d488', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '7a34aed2fe944c4582a8817294ec456a239ea539', part: "form-loader-container", class: cn('form-loader-container absolute top-0 left-0 w-full h-full pointer-events-none flex justify-center items-center transition-opacity duration-500', {
62
60
  'opacity-0': this.structureRendered,
63
- }) }, h(LoaderIcon, { key: 'bdc99bdc45095ae639fb3e5e4e71c71c9b445e95', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: 'f7592bb67d1210aefd86130ea241acb4d3361ff2', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: 'de878f320280714ad7dc39c2b9112d804766c005', form: this.form, fields: this.fields, formId: this.formId, formLocale: this.locale, structure: this.structure, isLoading: this.isLoading, language: this.localeLanguage, errorMessage: this.errorMessage, formElementMapper: elementMapper, successMessage: this.locale['Form submitted successfully.'] || 'Form submitted successfully.' }, h("slot", { key: '6294bc637000ff9f6199cb0b8802b8b027b40738' }))))))));
61
+ }) }, h(LoaderIcon, { key: 'd6656d517dde4a6d278cbfdb17f79e398450c986', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '7aba61eac290029de1221f1981c5ee1be8da0da6', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: 'e08bb193bccced62c8115df52da2ab630bf97d2c', form: this.form, fields: this.fields, formId: this.formId, formLocale: this.locale, structure: this.structure, isLoading: this.isLoading, language: this.localeLanguage, errorMessage: this.errorMessage, formElementMapper: elementMapper, successMessage: this.locale['Form submitted successfully.'] || 'Form submitted successfully.' }, h("slot", { key: 'ca9ea2eaf549a67e5c64b224e0ddd97ecf6057dc' }))))))));
64
62
  }
65
63
  static get is() { return "test-drive-form"; }
66
64
  static get encapsulation() { return "shadow"; }
@@ -3,20 +3,13 @@
3
3
  * Copyright (c)
4
4
  */
5
5
  import { h } from "@stencil/core";
6
- import { getPhoneValidator } from "../../../features/form-hook/index";
7
6
  import { VehicleImageViewer } from "./VehicleImageViewer";
8
- export let phoneValidator;
9
7
  export const vehicleQuotationElements = {
10
8
  'submit': ({ props }) => h("form-submit", Object.assign({}, props)),
11
9
  'name': ({ props }) => {
12
10
  return h("form-input", Object.assign({}, props));
13
11
  },
14
- 'phone': ({ props, isLoading }) => {
15
- if (!phoneValidator) {
16
- phoneValidator = getPhoneValidator((props === null || props === void 0 ? void 0 : props.countryCode) || '');
17
- }
18
- return h("form-phone-number", Object.assign({ defaultValue: phoneValidator.default }, props, { isLoading: isLoading, validator: phoneValidator }));
19
- },
12
+ 'phone': ({ props, isLoading }) => h("form-phone-number", Object.assign({ isLoading: isLoading }, props)),
20
13
  'vehicle': ({ form, language, props }) => {
21
14
  var _a;
22
15
  const fetcher = async ({ signal }) => {
@@ -1 +1 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.block{display:block}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:host{all:initial!important;display:block;font-family:inherit!important}@keyframes spin{to{transform:rotate(1turn)}}.form-loader-container .img{animation:spin 2s linear infinite;height:32px;width:32px}*{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pointer-events-none{pointer-events:none}.static{position:static}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.top-0{top:0}.flex{display:flex}.h-full{height:100%}.min-h-\[150px\]{min-height:150px}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.\!h-auto{height:auto!important}.min-w-full{min-width:100%}.resize{resize:both}.overflow-hidden{overflow:hidden}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition-none{transition-property:none!important}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\!duration-0{transition-duration:0s!important}.\!duration-500{transition-duration:.5s!important}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;border:0 solid #e5e7eb;box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.block{display:block}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:host{all:initial!important;display:block;font-family:inherit!important}@keyframes spin{to{transform:rotate(1turn)}}.form-loader-container .img{animation:spin 2s linear infinite;height:32px;width:32px}*{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pointer-events-none{pointer-events:none}.static{position:static}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.top-0{top:0}.flex{display:flex}.h-full{height:100%}.min-h-\[150px\]{min-height:150px}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.\!h-auto{height:auto!important}.min-w-full{min-width:100%}.resize{resize:both}.overflow-hidden{overflow:hidden}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition-none{transition-property:none!important}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\!duration-0{transition-duration:0s!important}.\!duration-500{transition-duration:.5s!important}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.cursor-pointer{cursor:pointer}
@@ -3,7 +3,6 @@
3
3
  * Copyright (c)
4
4
  */
5
5
  import { object, string } from "yup";
6
- import { phoneValidator } from "./element-mapper";
7
6
  export const vehicleQuotationInputsValidation = object({
8
7
  vehicle: string()
9
8
  .meta({ label: 'Vehicle', placeholder: 'Please select a Vehicle' })
@@ -12,10 +11,6 @@ export const vehicleQuotationInputsValidation = object({
12
11
  .meta({ label: 'Full name', placeholder: 'Full name' })
13
12
  .required('Full name is required')
14
13
  .min(3, 'Full name minimum'),
15
- phone: string()
16
- .meta({ label: 'Phone number', placeholder: 'Phone number' })
17
- .required('Phone number is required')
18
- .test('phone-validation', 'Phone number format invalid', () => phoneValidator === null || phoneValidator === void 0 ? void 0 : phoneValidator.geIsValidPhoneNumber()),
19
14
  dealer: string()
20
15
  .meta({ label: 'Dealer', placeholder: 'Select a dealer' })
21
16
  .required('Dealer is required'),
@@ -318,7 +318,7 @@ export class VehicleQuotationForm {
318
318
  "mutable": true,
319
319
  "complexType": {
320
320
  "original": "FormElementStructure<vehicleQuotationElementNames> | undefined",
321
- "resolved": "{ steps?: Record<LanguageKeys, Step>[]; data?: Record<string, any>; requiredContext?: Record<string, boolean>; } & { id?: string; step?: number; type?: string; class?: string; staticValue?: any; isHidden?: boolean; isDisabled?: boolean; children?: (OptionalKeys<{ vehicle: string; name: string; phone: string; dealer: string; city: string; paymentType: string; contactTime: string; ownVehicle: string; currentVehicleBrand: string; currentVehicleModel: string; }> | AdditionalFields | FormElementStructureComponents<OptionalKeys<{ vehicle: string; name: string; phone: string; dealer: string; city: string; paymentType: string; contactTime: string; ownVehicle: string; currentVehicleBrand: string; currentVehicleModel: string; }> | AdditionalFields>)[]; } & { tag: string; name?: OptionalKeys<{ vehicle: string; name: string; phone: string; dealer: string; city: string; paymentType: string; contactTime: string; ownVehicle: string; currentVehicleBrand: string; currentVehicleModel: string; }> | AdditionalFields; } | { steps?: Record<LanguageKeys, Step>[]; data?: Record<string, any>; requiredContext?: Record<string, boolean>; } & { id?: string; step?: number; type?: string; class?: string; staticValue?: any; isHidden?: boolean; isDisabled?: boolean; children?: (OptionalKeys<{ vehicle: string; name: string; phone: string; dealer: string; city: string; paymentType: string; contactTime: string; ownVehicle: string; currentVehicleBrand: string; currentVehicleModel: string; }> | AdditionalFields | FormElementStructureComponents<OptionalKeys<{ vehicle: string; name: string; phone: string; dealer: string; city: string; paymentType: string; contactTime: string; ownVehicle: string; currentVehicleBrand: string; currentVehicleModel: string; }> | AdditionalFields>)[]; } & { tag?: string; name: OptionalKeys<{ vehicle: string; name: string; phone: string; dealer: string; city: string; paymentType: string; contactTime: string; ownVehicle: string; currentVehicleBrand: string; currentVehicleModel: string; }> | AdditionalFields; }",
321
+ "resolved": "{ steps?: Record<LanguageKeys, Step>[]; data?: Record<string, any>; requiredContext?: Record<string, boolean>; } & { id?: string; step?: number; type?: string; class?: string; staticValue?: any; isHidden?: boolean; isDisabled?: boolean; children?: (OptionalKeys<{ vehicle: string; name: string; dealer: string; city: string; paymentType: string; contactTime: string; ownVehicle: string; currentVehicleBrand: string; currentVehicleModel: string; }> | AdditionalFields | FormElementStructureComponents<OptionalKeys<{ vehicle: string; name: string; dealer: string; city: string; paymentType: string; contactTime: string; ownVehicle: string; currentVehicleBrand: string; currentVehicleModel: string; }> | AdditionalFields>)[]; } & { tag: string; name?: OptionalKeys<{ vehicle: string; name: string; dealer: string; city: string; paymentType: string; contactTime: string; ownVehicle: string; currentVehicleBrand: string; currentVehicleModel: string; }> | AdditionalFields; } | { steps?: Record<LanguageKeys, Step>[]; data?: Record<string, any>; requiredContext?: Record<string, boolean>; } & { id?: string; step?: number; type?: string; class?: string; staticValue?: any; isHidden?: boolean; isDisabled?: boolean; children?: (OptionalKeys<{ vehicle: string; name: string; dealer: string; city: string; paymentType: string; contactTime: string; ownVehicle: string; currentVehicleBrand: string; currentVehicleModel: string; }> | AdditionalFields | FormElementStructureComponents<OptionalKeys<{ vehicle: string; name: string; dealer: string; city: string; paymentType: string; contactTime: string; ownVehicle: string; currentVehicleBrand: string; currentVehicleModel: string; }> | AdditionalFields>)[]; } & { tag?: string; name: OptionalKeys<{ vehicle: string; name: string; dealer: string; city: string; paymentType: string; contactTime: string; ownVehicle: string; currentVehicleBrand: string; currentVehicleModel: string; }> | AdditionalFields; }",
322
322
  "references": {
323
323
  "FormElementStructure": {
324
324
  "location": "import",
@@ -106,6 +106,12 @@ export class FormHook {
106
106
  const formObject = Object.fromEntries(formData.entries());
107
107
  const elements = form.querySelectorAll('[name]');
108
108
  elements.forEach(el => {
109
+ var _a;
110
+ const elementContext = (_a = this.subscribers.find(sub => sub.name === el.name)) === null || _a === void 0 ? void 0 : _a.context;
111
+ if (elementContext && (elementContext === null || elementContext === void 0 ? void 0 : elementContext.getValue)) {
112
+ formObject[el.name] = elementContext.getValue();
113
+ return;
114
+ }
109
115
  if (el.disabled) {
110
116
  formObject[el.name] = el.value;
111
117
  return;
@@ -176,7 +182,7 @@ export class FormHook {
176
182
  this.rerender({ rerenderAll: true });
177
183
  };
178
184
  this.submitForm = async () => {
179
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
185
+ var _a, _b, _c, _d, _e, _f;
180
186
  try {
181
187
  this.isSubmitted = true;
182
188
  this.context.isLoading = true;
@@ -193,10 +199,7 @@ export class FormHook {
193
199
  const values = await this.schemaObject.omit(excludedFields).validate(formObject, { abortEarly: false, context: this.requiredContext });
194
200
  if ((_b = (_a = this.context) === null || _a === void 0 ? void 0 : _a.structure) === null || _b === void 0 ? void 0 : _b.steps) {
195
201
  this.stepFormValues = Object.assign(Object.assign({}, this === null || this === void 0 ? void 0 : this.stepFormValues), values);
196
- console.log((_e = (_d = (_c = this.context) === null || _c === void 0 ? void 0 : _c.structure) === null || _d === void 0 ? void 0 : _d.steps) === null || _e === void 0 ? void 0 : _e.length);
197
- console.log((_f = this.formStructure) === null || _f === void 0 ? void 0 : _f.currentStep);
198
- console.log(((_j = (_h = (_g = this.context) === null || _g === void 0 ? void 0 : _g.structure) === null || _h === void 0 ? void 0 : _h.steps) === null || _j === void 0 ? void 0 : _j.length) === ((_k = this.formStructure) === null || _k === void 0 ? void 0 : _k.currentStep));
199
- if (((_o = (_m = (_l = this.context) === null || _l === void 0 ? void 0 : _l.structure) === null || _m === void 0 ? void 0 : _m.steps) === null || _o === void 0 ? void 0 : _o.length) === ((_p = this.formStructure) === null || _p === void 0 ? void 0 : _p.currentStep))
202
+ if (((_e = (_d = (_c = this.context) === null || _c === void 0 ? void 0 : _c.structure) === null || _d === void 0 ? void 0 : _d.steps) === null || _e === void 0 ? void 0 : _e.length) === ((_f = this.formStructure) === null || _f === void 0 ? void 0 : _f.currentStep))
200
203
  await this.context.formSubmit(this.stepFormValues);
201
204
  else
202
205
  this.updateStep(1);
@@ -105,7 +105,6 @@ export const onFormSubmit = async ({ context, formValues, middleware, afterSucce
105
105
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11;
106
106
  try {
107
107
  context.setIsLoading(true);
108
- // if (formValues?.['phone'] && !isValidPhoneNumber(formValues?.['phone'])) delete formValues?.['phone'];
109
108
  Object.keys(formValues).forEach(key => {
110
109
  if (context[`${key}-format`]) {
111
110
  formValues[key] = context[`${key}-format`];
@@ -1,41 +1 @@
1
- /*!
2
- * Built by ShiftSoftware
3
- * Copyright (c)
4
- */
5
- import { AsYouType } from "libphonenumber-js";
6
- export const getPhoneValidator = (countryCode) => {
7
- const phoneValidator = new AsYouType(Array.isArray(countryCode) ? undefined : countryCode);
8
- if (Array.isArray(countryCode)) {
9
- phoneValidator.geIsValidPhoneNumber = () => {
10
- const raw = (phoneValidator === null || phoneValidator === void 0 ? void 0 : phoneValidator.formattedOutput) || '';
11
- if (!raw.trim())
12
- return false;
13
- for (const country of countryCode) {
14
- try {
15
- const phone = new AsYouType(country);
16
- phone === null || phone === void 0 ? void 0 : phone.input(raw);
17
- if (phone === null || phone === void 0 ? void 0 : phone.isValid())
18
- return true;
19
- }
20
- catch (_a) { }
21
- }
22
- return false;
23
- };
24
- }
25
- else if (countryCode) {
26
- try {
27
- phoneValidator.default = '+' + phoneValidator.metadata.numberingPlan.metadata[0];
28
- phoneValidator.input(phoneValidator.default);
29
- }
30
- catch (error) {
31
- // If metadata is not available, set empty default
32
- phoneValidator.default = '';
33
- }
34
- phoneValidator.geIsValidPhoneNumber = () => phoneValidator === null || phoneValidator === void 0 ? void 0 : phoneValidator.isValid();
35
- }
36
- else {
37
- phoneValidator.default = '';
38
- phoneValidator.geIsValidPhoneNumber = () => (phoneValidator === null || phoneValidator === void 0 ? void 0 : phoneValidator.formattedOutput.length) > 7;
39
- }
40
- return phoneValidator;
41
- };
1
+ export {};
@@ -2,4 +2,4 @@
2
2
  * Built by ShiftSoftware
3
3
  * Copyright (c)
4
4
  */
5
- import{D as s,d as o}from"./p-sDS2uNRH.js";const p=s,r=o;export{p as DeadStockLookup,r as defineCustomElement}
5
+ import{D as s,d as o}from"./p-R9s5HIai.js";const a=s,p=o;export{a as DeadStockLookup,p as defineCustomElement}