adp-web-components 0.1.57 → 0.1.59

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 (301) hide show
  1. package/dist/cjs/dead-stock-lookup_3.cjs.entry.js +7 -7
  2. package/dist/cjs/decode-time-offset-DqzP0mck.js +37 -0
  3. package/dist/cjs/flexible-container.cjs.entry.js +1 -1
  4. package/dist/cjs/form-checkbox.cjs.entry.js +1 -1
  5. package/dist/cjs/form-date-picker.cjs.entry.js +221 -0
  6. package/dist/cjs/form-dialog_8.cjs.entry.js +809 -0
  7. package/dist/cjs/{form-input-prefix-BEKoXMuK.js → form-input-label-meHUwu3m.js} +0 -9
  8. package/dist/cjs/form-input-prefix-RFgXEC1Q.js +18 -0
  9. package/dist/cjs/form-input_4.cjs.entry.js +31 -14
  10. package/dist/cjs/form-switch.cjs.entry.js +2 -2
  11. package/dist/cjs/form-time-picker.cjs.entry.js +165 -0
  12. package/dist/cjs/general-inquiry-form.cjs.entry.js +11 -9
  13. package/dist/cjs/{get-local-language-CLEoE4A4.js → get-local-language-CMptyFxH.js} +1 -1
  14. package/dist/cjs/index-D5c513Xn.js +22147 -0
  15. package/dist/cjs/information-table.cjs.entry.js +1 -1
  16. package/dist/cjs/{loader-icon-8WtBJ-H1.js → loader-icon-qrSyqpQO.js} +49 -26
  17. package/dist/cjs/loader.cjs.js +1 -1
  18. package/dist/cjs/loading-spinner.cjs.entry.js +1 -1
  19. package/dist/cjs/manufacturer-part-lookup.cjs.entry.js +3 -3
  20. package/dist/cjs/part-lookup.cjs.entry.js +3 -3
  21. package/dist/cjs/service-booking-form.cjs.entry.js +21 -194
  22. package/dist/cjs/shift-components.cjs.js +1 -1
  23. package/dist/cjs/shift-tab-content.cjs.entry.js +1 -1
  24. package/dist/cjs/shift-tabs_2.cjs.entry.js +10 -10
  25. package/dist/cjs/ssc-lookup-form.cjs.entry.js +11 -9
  26. package/dist/cjs/state-object-B_0-oj8G.js +243 -0
  27. package/dist/cjs/test-drive-form.cjs.entry.js +11 -9
  28. package/dist/cjs/{type-DlWZZ9uC.js → type-B8LchmnL.js} +1 -1
  29. package/dist/cjs/{type-VgtSVhXd.js → type-BqNpIYcE.js} +1 -1
  30. package/dist/cjs/{type-CG7yWUpY.js → type-BrzZ5GMr.js} +1 -1
  31. package/dist/cjs/vehicle-accessories_7.cjs.entry.js +24 -24
  32. package/dist/cjs/vehicle-lookup.cjs.entry.js +3 -3
  33. package/dist/cjs/vehicle-quotation-form.cjs.entry.js +14 -11
  34. package/dist/collection/collection-manifest.json +3 -0
  35. package/dist/collection/components/components/flexible-container.css +1 -1
  36. package/dist/collection/components/components/information-table.css +1 -1
  37. package/dist/collection/components/components/loading-spinner.css +1 -1
  38. package/dist/collection/components/components/shift-tab-content.css +1 -1
  39. package/dist/collection/components/components/shift-tabs.css +1 -1
  40. package/dist/collection/components/form-elements/VehicleImageViewer.js +50 -0
  41. package/dist/collection/components/form-elements/form-date-picker-legacy.js +498 -0
  42. package/dist/collection/components/form-elements/form-dialog.js +3 -3
  43. package/dist/collection/components/form-elements/form-input.js +95 -5
  44. package/dist/collection/components/form-elements/form-inputs.css +1 -1
  45. package/dist/collection/components/form-elements/form-phone-number.js +2 -2
  46. package/dist/collection/components/form-elements/form-picker-input.js +478 -0
  47. package/dist/collection/components/form-elements/form-shadow-input.js +24 -1
  48. package/dist/collection/components/form-elements/form-structure-error.js +1 -1
  49. package/dist/collection/components/form-elements/form-submit.js +2 -2
  50. package/dist/collection/components/form-elements/form-switch.js +1 -1
  51. package/dist/collection/components/form-elements/form-text-area.js +2 -2
  52. package/dist/collection/components/form-elements/form-time-picker-legacy.js +397 -0
  53. package/dist/collection/components/form-elements/form-vin-input.js +5 -4
  54. package/dist/collection/components/forms/defaults/mappers.js +72 -0
  55. package/dist/collection/components/forms/defaults/style.css +1 -1
  56. package/dist/collection/components/forms/defaults/validation.js +29 -1
  57. package/dist/collection/components/forms/general-inquiry.js +6 -6
  58. package/dist/collection/components/forms/service-booking.js +21 -21
  59. package/dist/collection/components/forms/ssc-lookup.js +6 -6
  60. package/dist/collection/components/forms/test-drive.js +6 -6
  61. package/dist/collection/components/forms/vehicle-quotation/VehicleImageViewer.js +1 -1
  62. package/dist/collection/components/forms/vehicle-quotation.js +11 -9
  63. package/dist/collection/components/part-lookup/dead-stock-lookup.js +2 -2
  64. package/dist/collection/components/part-lookup/distributor-lookup.js +2 -2
  65. package/dist/collection/components/part-lookup/manufacturer-part-lookup.js +1 -1
  66. package/dist/collection/components/vehicle-lookup/vehicle-accessories.css +1 -1
  67. package/dist/collection/components/vehicle-lookup/vehicle-accessories.js +2 -2
  68. package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.css +1 -1
  69. package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.js +4 -4
  70. package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.css +1 -1
  71. package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.js +8 -8
  72. package/dist/collection/components/vehicle-lookup/vehicle-lookup.css +1 -1
  73. package/dist/collection/components/vehicle-lookup/vehicle-paint-thickness.css +1 -1
  74. package/dist/collection/components/vehicle-lookup/vehicle-paint-thickness.js +1 -1
  75. package/dist/collection/components/vehicle-lookup/vehicle-sale-information.css +1 -1
  76. package/dist/collection/components/vehicle-lookup/vehicle-sale-information.js +2 -2
  77. package/dist/collection/components/vehicle-lookup/vehicle-service-history.css +1 -1
  78. package/dist/collection/components/vehicle-lookup/vehicle-service-history.js +1 -1
  79. package/dist/collection/components/vehicle-lookup/vehicle-specification.css +1 -1
  80. package/dist/collection/components/vehicle-lookup/vehicle-specification.js +1 -1
  81. package/dist/collection/components/vehicle-lookup/vehicle-warranty-details.css +1 -1
  82. package/dist/collection/components/vehicle-lookup/vehicle-warranty-details.js +4 -4
  83. package/dist/collection/components/vin-extractor/vin-extractor.css +1 -1
  84. package/dist/collection/components/vin-extractor/vin-extractor.js +1 -1
  85. package/dist/collection/features/form-hook/functions.js +37 -13
  86. package/dist/collection/global/assets/calendar-days-icon.js +6 -0
  87. package/dist/collection/global/assets/clock-8-icon.js +6 -0
  88. package/dist/collection/global/lib/decode-time-offset.js +32 -0
  89. package/dist/components/dead-stock-lookup.js +1 -1
  90. package/dist/components/distributor-lookup.js +1 -1
  91. package/dist/components/flexible-container.js +1 -1
  92. package/dist/components/form-checkbox.js +1 -1
  93. package/dist/components/form-date-picker.d.ts +11 -0
  94. package/dist/components/form-date-picker.js +5 -0
  95. package/dist/components/form-dialog.js +1 -1
  96. package/dist/components/form-input.js +1 -1
  97. package/dist/components/form-phone-number.js +1 -1
  98. package/dist/components/form-picker-input.d.ts +11 -0
  99. package/dist/components/form-picker-input.js +5 -0
  100. package/dist/components/form-select.js +1 -1
  101. package/dist/components/form-shadow-input.js +1 -1
  102. package/dist/components/form-structure-error.js +1 -1
  103. package/dist/components/form-structure.js +1 -1
  104. package/dist/components/form-submit.js +1 -1
  105. package/dist/components/form-switch.js +1 -1
  106. package/dist/components/form-text-area.js +1 -1
  107. package/dist/components/form-time-picker.d.ts +11 -0
  108. package/dist/components/form-time-picker.js +5 -0
  109. package/dist/components/form-vin-input.js +1 -1
  110. package/dist/components/general-inquiry-form.js +1 -1
  111. package/dist/components/information-table.js +1 -1
  112. package/dist/components/loading-spinner.js +1 -1
  113. package/dist/components/manufacturer-lookup.js +1 -1
  114. package/dist/components/manufacturer-part-lookup.js +1 -1
  115. package/dist/components/{p-Bi75CV6R.js → p-3WjYFbnU.js} +1 -1
  116. package/dist/components/p-64G0Y_tC.js +5 -0
  117. package/dist/components/p-7y7dFWS-.js +5 -0
  118. package/dist/components/p-BEClgvwe.js +5 -0
  119. package/dist/components/p-BILW0yP6.js +5 -0
  120. package/dist/components/p-BTqv9A1K.js +5 -0
  121. package/dist/components/p-B_QEyJOO.js +5 -0
  122. package/dist/components/{p-F0WWPE_O.js → p-Bd2-gh8M.js} +1 -1
  123. package/dist/components/p-BffBGA_K.js +5 -0
  124. package/dist/components/p-Bon4whdT.js +5 -0
  125. package/dist/components/{p-CCGW3XAg.js → p-BsFKuBtC.js} +1 -1
  126. package/dist/components/p-C-4CT4ZF.js +5 -0
  127. package/dist/components/p-C6WhIy7O.js +5 -0
  128. package/dist/components/{p-CixlAlH4.js → p-CBXAxKky.js} +1 -1
  129. package/dist/components/p-CEM5EBP0.js +5 -0
  130. package/dist/components/p-CHdx52dw.js +5 -0
  131. package/dist/components/p-CwQEFAEF.js +5 -0
  132. package/dist/components/p-Cxfsh87m.js +5 -0
  133. package/dist/components/p-D-tlRZMk.js +5 -0
  134. package/dist/components/p-D930Q75B.js +5 -0
  135. package/dist/components/p-DA0taq65.js +5 -0
  136. package/dist/components/p-DJKERvsE.js +5 -0
  137. package/dist/components/p-DNn44A0I.js +5 -0
  138. package/dist/components/{p-DEDxfC7_.js → p-Df56BNKV.js} +1 -1
  139. package/dist/components/p-DjDUhW2q.js +5 -0
  140. package/dist/components/{p-Cv4B-c-D.js → p-DkA_i--O.js} +1 -1
  141. package/dist/components/{p-C9NbnDFD.js → p-DqNmAqS_.js} +1 -1
  142. package/dist/components/p-DuNp8sSh.js +5 -0
  143. package/dist/components/p-NEl9bwNq.js +5 -0
  144. package/dist/components/p-RInF2GNQ.js +5 -0
  145. package/dist/components/{p-BtR-iDdk.js → p-_C-vBKCe.js} +1 -1
  146. package/dist/components/p-eTLWmtnI.js +5 -0
  147. package/dist/components/{p-C3JyRnEg.js → p-vEsQVFLN.js} +1 -1
  148. package/dist/components/{p-CFfmHNjt.js → p-zofQKKfh.js} +1 -1
  149. package/dist/components/part-lookup.js +1 -1
  150. package/dist/components/service-booking-form.js +1 -1
  151. package/dist/components/shift-accordion.js +1 -1
  152. package/dist/components/shift-slider.js +1 -1
  153. package/dist/components/shift-tab-content.js +1 -1
  154. package/dist/components/shift-tabs.js +1 -1
  155. package/dist/components/ssc-lookup-form.js +1 -1
  156. package/dist/components/test-drive-form.js +1 -1
  157. package/dist/components/vehicle-accessories.js +1 -1
  158. package/dist/components/vehicle-claimable-items.js +1 -1
  159. package/dist/components/vehicle-item-claim-form.js +1 -1
  160. package/dist/components/vehicle-lookup.js +1 -1
  161. package/dist/components/vehicle-paint-thickness.js +1 -1
  162. package/dist/components/vehicle-quotation-form.js +1 -1
  163. package/dist/components/vehicle-sale-information.js +1 -1
  164. package/dist/components/vehicle-service-history.js +1 -1
  165. package/dist/components/vehicle-specification.js +1 -1
  166. package/dist/components/vehicle-warranty-details.js +1 -1
  167. package/dist/components/vin-extractor.js +1 -1
  168. package/dist/esm/dead-stock-lookup_3.entry.js +7 -7
  169. package/dist/esm/decode-time-offset-Cfi43WoV.js +35 -0
  170. package/dist/esm/flexible-container.entry.js +1 -1
  171. package/dist/esm/form-checkbox.entry.js +1 -1
  172. package/dist/esm/form-date-picker.entry.js +219 -0
  173. package/dist/esm/form-dialog_8.entry.js +800 -0
  174. package/dist/esm/{form-input-prefix-uiMTBAZe.js → form-input-label-BhD_T_C5.js} +1 -9
  175. package/dist/esm/form-input-prefix-C48SfAOK.js +16 -0
  176. package/dist/esm/form-input_4.entry.js +30 -13
  177. package/dist/esm/form-switch.entry.js +2 -2
  178. package/dist/esm/form-time-picker.entry.js +163 -0
  179. package/dist/esm/general-inquiry-form.entry.js +11 -9
  180. package/dist/esm/{get-local-language-B3oLMQ7x.js → get-local-language-CCj6E27L.js} +1 -1
  181. package/dist/esm/index-BILW0yP6.js +22145 -0
  182. package/dist/esm/information-table.entry.js +1 -1
  183. package/dist/esm/{loader-icon-BT-MqKj_.js → loader-icon-DhBPTC5g.js} +39 -15
  184. package/dist/esm/loader.js +1 -1
  185. package/dist/esm/loading-spinner.entry.js +1 -1
  186. package/dist/esm/manufacturer-part-lookup.entry.js +3 -3
  187. package/dist/esm/part-lookup.entry.js +3 -3
  188. package/dist/esm/service-booking-form.entry.js +21 -194
  189. package/dist/esm/shift-components.js +1 -1
  190. package/dist/esm/shift-tab-content.entry.js +1 -1
  191. package/dist/esm/shift-tabs_2.entry.js +10 -10
  192. package/dist/esm/ssc-lookup-form.entry.js +11 -9
  193. package/dist/esm/state-object-Cwph5K2Q.js +238 -0
  194. package/dist/esm/test-drive-form.entry.js +11 -9
  195. package/dist/esm/{type-B96smKVB.js → type-BluG_k1P.js} +1 -1
  196. package/dist/esm/{type-CJFFdz9f.js → type-D_rpjbuj.js} +1 -1
  197. package/dist/esm/{type-BymH_Reb.js → type-zroDKO0U.js} +1 -1
  198. package/dist/esm/vehicle-accessories_7.entry.js +24 -24
  199. package/dist/esm/vehicle-lookup.entry.js +3 -3
  200. package/dist/esm/vehicle-quotation-form.entry.js +14 -11
  201. package/dist/locales/vehicleLookup/saleInformation/ar.json +1 -1
  202. package/dist/locales/vehicleLookup/saleInformation/en.json +1 -1
  203. package/dist/locales/vehicleLookup/saleInformation/ku.json +1 -1
  204. package/dist/locales/vehicleLookup/saleInformation/ru.json +1 -1
  205. package/dist/shift-components/p-0a728fec.entry.js +5 -0
  206. package/dist/shift-components/p-0e630c66.entry.js +5 -0
  207. package/dist/shift-components/p-0f83786b.entry.js +5 -0
  208. package/dist/shift-components/p-1c93d5e6.entry.js +5 -0
  209. package/dist/shift-components/p-26f3e6da.entry.js +5 -0
  210. package/dist/shift-components/p-3a7196d4.entry.js +5 -0
  211. package/dist/shift-components/{p-ce1bf4af.entry.js → p-45670df9.entry.js} +1 -1
  212. package/dist/shift-components/{p-d9234e52.entry.js → p-4aa6f707.entry.js} +1 -1
  213. package/dist/shift-components/p-50fd9d29.entry.js +5 -0
  214. package/dist/shift-components/p-63e1e80e.entry.js +5 -0
  215. package/dist/shift-components/{p-c250576d.entry.js → p-67476178.entry.js} +1 -1
  216. package/dist/shift-components/p-683f3ab3.entry.js +5 -0
  217. package/dist/shift-components/p-8700e868.entry.js +5 -0
  218. package/dist/shift-components/p-90a6803f.entry.js +5 -0
  219. package/dist/shift-components/{p-DPJOLEPo.js → p-B-8v_CQL.js} +1 -1
  220. package/dist/shift-components/p-BILW0yP6.js +5 -0
  221. package/dist/shift-components/{p-C2E0OQuQ.js → p-BK4ZcuiW.js} +1 -1
  222. package/dist/shift-components/p-BVMG8UaH.js +5 -0
  223. package/dist/shift-components/{p-BQaoN4EI.js → p-Bfkguwb-.js} +1 -1
  224. package/dist/shift-components/p-BnQp2Q8E.js +5 -0
  225. package/dist/shift-components/{p-DitnhRjp.js → p-C3YLTa2J.js} +1 -1
  226. package/dist/shift-components/p-DXZTo2xz.js +5 -0
  227. package/dist/shift-components/p-Dgh-j_S7.js +5 -0
  228. package/dist/shift-components/p-XyQhTm0V.js +5 -0
  229. package/dist/shift-components/p-b4231e50.entry.js +5 -0
  230. package/dist/shift-components/p-c7eaf245.entry.js +5 -0
  231. package/dist/shift-components/{p-6f59eb5f.entry.js → p-d7da1152.entry.js} +1 -1
  232. package/dist/shift-components/p-f7692371.entry.js +5 -0
  233. package/dist/shift-components/p-f8ac59ee.entry.js +5 -0
  234. package/dist/shift-components/p-fac0fdb9.entry.js +5 -0
  235. package/dist/shift-components/p-fe02d5ed.entry.js +5 -0
  236. package/dist/shift-components/shift-components.esm.js +1 -1
  237. package/dist/types/components/form-elements/VehicleImageViewer.d.ts +7 -0
  238. package/dist/types/components/form-elements/form-date-picker-legacy.d.ts +44 -0
  239. package/dist/types/components/form-elements/form-input.d.ts +5 -0
  240. package/dist/types/components/form-elements/form-picker-input.d.ts +36 -0
  241. package/dist/types/components/form-elements/form-shadow-input.d.ts +1 -0
  242. package/dist/types/components/form-elements/form-time-picker-legacy.d.ts +38 -0
  243. package/dist/types/components/form-elements/form-vin-input.d.ts +1 -1
  244. package/dist/types/components/forms/defaults/mappers.d.ts +20 -0
  245. package/dist/types/components/forms/defaults/validation.d.ts +5 -1
  246. package/dist/types/components/forms/service-booking.d.ts +5 -7
  247. package/dist/types/components.d.ts +187 -6
  248. package/dist/types/features/form-hook/functions.d.ts +6 -6
  249. package/dist/types/global/assets/calendar-days-icon.d.ts +8 -0
  250. package/dist/types/global/assets/clock-8-icon.d.ts +8 -0
  251. package/dist/types/global/lib/decode-time-offset.d.ts +6 -0
  252. package/dist/types/locales/vehicleLookup/serviceHistory/type.d.ts +2 -2
  253. package/dist/types/locales/vehicleLookup/wrapper-type.d.ts +2 -2
  254. package/package.json +2 -1
  255. package/dist/cjs/form-dialog_2.cjs.entry.js +0 -80
  256. package/dist/cjs/form-phone-number_5.cjs.entry.js +0 -638
  257. package/dist/cjs/state-object-BKYoOET2.js +0 -84
  258. package/dist/components/p-0RPSruUw.js +0 -5
  259. package/dist/components/p-AXXIpFHS.js +0 -5
  260. package/dist/components/p-B6oAdbSG.js +0 -5
  261. package/dist/components/p-B8ficu-2.js +0 -5
  262. package/dist/components/p-BccOXbO6.js +0 -5
  263. package/dist/components/p-BiWhrVwg.js +0 -5
  264. package/dist/components/p-CCnpN4O6.js +0 -5
  265. package/dist/components/p-CMIWLyy-.js +0 -5
  266. package/dist/components/p-CTvhIyUe.js +0 -5
  267. package/dist/components/p-CVPVwYky.js +0 -5
  268. package/dist/components/p-CY-XNpVl.js +0 -5
  269. package/dist/components/p-Cfv1Ad7h.js +0 -5
  270. package/dist/components/p-CmZX4oFn.js +0 -5
  271. package/dist/components/p-DDwq6NYq.js +0 -5
  272. package/dist/components/p-DGmPDcfO.js +0 -5
  273. package/dist/components/p-DnDLOq--.js +0 -5
  274. package/dist/components/p-Dot72Ksm.js +0 -5
  275. package/dist/components/p-DwlUO-mQ.js +0 -5
  276. package/dist/components/p-Dy_xcj4e.js +0 -5
  277. package/dist/components/p-HU3XmNIl.js +0 -5
  278. package/dist/components/p-qgWJBcxw.js +0 -5
  279. package/dist/components/p-uhXr4495.js +0 -5
  280. package/dist/esm/form-dialog_2.entry.js +0 -77
  281. package/dist/esm/form-phone-number_5.entry.js +0 -632
  282. package/dist/esm/state-object-DKRL_FzI.js +0 -79
  283. package/dist/shift-components/p-0e2d3d93.entry.js +0 -5
  284. package/dist/shift-components/p-10da80aa.entry.js +0 -5
  285. package/dist/shift-components/p-1ff500c4.entry.js +0 -5
  286. package/dist/shift-components/p-361e8b06.entry.js +0 -5
  287. package/dist/shift-components/p-38bb86f3.entry.js +0 -5
  288. package/dist/shift-components/p-39914eb3.entry.js +0 -5
  289. package/dist/shift-components/p-76f94eb5.entry.js +0 -5
  290. package/dist/shift-components/p-830b1bea.entry.js +0 -5
  291. package/dist/shift-components/p-835b1234.entry.js +0 -5
  292. package/dist/shift-components/p-92551553.entry.js +0 -5
  293. package/dist/shift-components/p-9c01c8ff.entry.js +0 -5
  294. package/dist/shift-components/p-CaFQm1Ia.js +0 -5
  295. package/dist/shift-components/p-Cf1rwCRV.js +0 -5
  296. package/dist/shift-components/p-DpDKQYgQ.js +0 -5
  297. package/dist/shift-components/p-a2419627.entry.js +0 -5
  298. package/dist/shift-components/p-a9a116b5.entry.js +0 -5
  299. package/dist/shift-components/p-bb5c2961.entry.js +0 -5
  300. package/dist/shift-components/p-bcb6b13e.entry.js +0 -5
  301. package/dist/shift-components/p-e06782ee.entry.js +0 -5
@@ -0,0 +1,397 @@
1
+ /*!
2
+ * Built by ShiftSoftware
3
+ * Copyright (c)
4
+ */
5
+ import { Host, h } from "@stencil/core";
6
+ import cn from "../../global/lib/cn";
7
+ import { getNestedValue } from "../../global/lib/get-nested-value";
8
+ import { FormInputLabel } from "./components/form-input-label";
9
+ import { FormErrorMessage } from "./components/form-error-message";
10
+ export class FormTimePicker {
11
+ constructor() {
12
+ this.minuteStep = 1;
13
+ this.isOpen = false;
14
+ this.selectedValue = '';
15
+ this.openUpwards = false;
16
+ this.handleOutsideClick = (event) => {
17
+ if (!this.el.contains(event.target))
18
+ this.isOpen = false;
19
+ };
20
+ this.handleKeyDown = (event) => {
21
+ if (event.key === 'Escape' && this.isOpen)
22
+ this.isOpen = false;
23
+ };
24
+ this.toggleDropdown = () => {
25
+ if (this.isOpen) {
26
+ this.isOpen = false;
27
+ return;
28
+ }
29
+ this.adjustDropdownPosition();
30
+ };
31
+ this.selectHour = (hour) => {
32
+ const currentMinute = this.getSelectedMinute();
33
+ const minute = currentMinute >= 0 ? currentMinute : 0;
34
+ this.selectedValue = this.formatTime(hour, minute);
35
+ };
36
+ this.selectMinute = (minute) => {
37
+ const currentHour = this.getSelectedHour();
38
+ const hour = currentHour >= 0 ? currentHour : 0;
39
+ this.selectedValue = this.formatTime(hour, minute);
40
+ };
41
+ }
42
+ async componentWillLoad() {
43
+ this.form.subscribe(this.name, this);
44
+ if (this.staticValue)
45
+ this.defaultValue = this.staticValue;
46
+ if (this.defaultValue)
47
+ this.selectedValue = this.defaultValue;
48
+ }
49
+ async onStaticValueChange(newStaticValue) {
50
+ if (newStaticValue)
51
+ this.selectedValue = newStaticValue;
52
+ }
53
+ async componentDidLoad() {
54
+ document.addEventListener('click', this.handleOutsideClick);
55
+ document.addEventListener('keydown', this.handleKeyDown);
56
+ }
57
+ async disconnectedCallback() {
58
+ this.form.unsubscribe(this.name);
59
+ document.removeEventListener('click', this.handleOutsideClick);
60
+ document.removeEventListener('keydown', this.handleKeyDown);
61
+ }
62
+ reset(newValue) {
63
+ this.selectedValue = newValue || this.defaultValue || '';
64
+ }
65
+ adjustDropdownPosition() {
66
+ requestAnimationFrame(() => {
67
+ const input = this.el.querySelector('.form-input-style');
68
+ if (!input)
69
+ return;
70
+ const rect = input.getBoundingClientRect();
71
+ const spaceBelow = window.innerHeight - rect.bottom - 20;
72
+ this.openUpwards = spaceBelow < 220;
73
+ setTimeout(() => {
74
+ this.isOpen = true;
75
+ this.scrollToSelected();
76
+ }, 10);
77
+ });
78
+ }
79
+ scrollToSelected() {
80
+ requestAnimationFrame(() => {
81
+ const hourCol = this.el.querySelector('.form-time-picker-hours');
82
+ const minuteCol = this.el.querySelector('.form-time-picker-minutes');
83
+ const scrollTo = (container) => {
84
+ const selected = container === null || container === void 0 ? void 0 : container.querySelector('.selected');
85
+ if (selected)
86
+ selected.scrollIntoView({ block: 'center' });
87
+ };
88
+ scrollTo(hourCol);
89
+ scrollTo(minuteCol);
90
+ });
91
+ }
92
+ toTimeMinutes(time) {
93
+ const [h, m] = time.split(':').map(Number);
94
+ return h * 60 + m;
95
+ }
96
+ isHourDisabled(hour) {
97
+ const step = this.minuteStep || 1;
98
+ for (let m = 0; m < 60; m += step) {
99
+ if (!this.isMinuteDisabled(hour, m))
100
+ return false;
101
+ }
102
+ return true;
103
+ }
104
+ isMinuteDisabled(hour, minute) {
105
+ const time = hour * 60 + minute;
106
+ if (this.minTime && time < this.toTimeMinutes(this.minTime))
107
+ return true;
108
+ if (this.maxTime && time > this.toTimeMinutes(this.maxTime))
109
+ return true;
110
+ return false;
111
+ }
112
+ getSelectedHour() {
113
+ if (!this.selectedValue)
114
+ return -1;
115
+ return parseInt(this.selectedValue.split(':')[0], 10);
116
+ }
117
+ getSelectedMinute() {
118
+ if (!this.selectedValue)
119
+ return -1;
120
+ return parseInt(this.selectedValue.split(':')[1], 10);
121
+ }
122
+ formatTime(hour, minute) {
123
+ return `${String(hour).padStart(2, '0')}:${String(minute).padStart(2, '0')}`;
124
+ }
125
+ render() {
126
+ const { disabled, isRequired, meta, isError, errorMessage } = this.form.getInputState(this.name);
127
+ const [locale] = this.form.getFormLocale();
128
+ const label = getNestedValue(locale, meta === null || meta === void 0 ? void 0 : meta.label) || (meta === null || meta === void 0 ? void 0 : meta.label);
129
+ const placeholder = getNestedValue(locale, meta === null || meta === void 0 ? void 0 : meta.placeholder);
130
+ const isDisabled = disabled || this.isLoading || !!this.staticValue || this.isDisabled;
131
+ const selectedHour = this.getSelectedHour();
132
+ const selectedMinute = this.getSelectedMinute();
133
+ const step = this.minuteStep || 1;
134
+ const hours = Array.from({ length: 24 }, (_, i) => i);
135
+ const minutes = Array.from({ length: Math.ceil(60 / step) }, (_, i) => i * step);
136
+ return (h(Host, { key: '06367a15a7bc5114aef726476a2c9925105be6c2' }, h("label", { key: '4831bc05601026313a7022a1d9a683822c517df0', part: this.name, id: this.wrapperId, class: cn('form-input-label-container', this.wrapperClass, { disabled: isDisabled }) }, h(FormInputLabel, { key: '29f80d8fb4cef8cbe799dc357483382a5f5f3b3b', isRequired: isRequired, label: label }), h("form-shadow-input", { key: 'bfd18e8bdd9bccf3c6237dbe15f27fa45c44dc90', name: this.name, form: this.form, value: this.selectedValue }), h("div", { key: '2868a3a0b7fc1a42441d3dffcabc49d349f3dcfa', part: `${this.name}-container form-input-container`, class: cn('form-input-container', { open: this.isOpen }) }, h("input", { key: 'bf700f9f83ecc7a9cacced5663a979d4fe188505', type: "text", readOnly: true, disabled: isDisabled, value: this.selectedValue, onClick: this.toggleDropdown, part: `${this.name}-input form-input`, placeholder: placeholder || (meta === null || meta === void 0 ? void 0 : meta.placeholder), class: cn('form-input-style form-input-select', {
137
+ 'form-input-error-style': isError,
138
+ }) }), h("span", { key: '216b2b7ae03a76e752a36ab78fae8fa651858dc1', part: `${this.name}-icon form-time-picker-icon`, class: "form-input-icon form-input-icon-end" }, h("svg", { key: '4b9a63a2d8673f68f9d64f9c0d8bc4594216039a', "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "size-full" }, h("circle", { key: '4f905ffed2dfeba05f52036dbcbf5530729e5e99', cx: "12", cy: "12", r: "10" }), h("polyline", { key: '7731a613dee128c1ff9806f35a11c603c2c732b7', points: "12 6 12 12 16 14" }))), h("div", { key: '997e967281589329298e4edc3b4c96880e84189c', part: `${this.name}-dropdown form-time-picker-dropdown`, class: cn('form-picker-dropdown', {
139
+ upwards: this.openUpwards,
140
+ downwards: !this.openUpwards,
141
+ }) }, h("div", { key: '34cba5f96c874c7c0ffb39ac66c61f81b5e41d2c', class: "form-time-picker-columns" }, h("div", { key: 'de9097078f5fdcfc97246d6ddc715a8244f76bf4', class: "form-time-picker-column form-time-picker-hours" }, h("div", { key: 'e3993e812e7c7f3120944a4cdc6d2f9554b8adfe', class: "form-time-picker-column-header" }, "HH"), hours.map(hour => {
142
+ const hourDisabled = this.isHourDisabled(hour);
143
+ return (h("button", { type: "button", disabled: hourDisabled, onClick: () => this.selectHour(hour), part: cn('form-time-picker-option', { 'form-time-picker-option-selected': hour === selectedHour }), class: cn('form-time-picker-option', {
144
+ selected: hour === selectedHour,
145
+ }) }, String(hour).padStart(2, '0')));
146
+ })), h("div", { key: 'c908de2fe8b822bd97fa0ae6c39681585439ac09', class: "form-time-picker-column form-time-picker-minutes" }, h("div", { key: 'addff49b80f47bc326d72467845aa21238d44359', class: "form-time-picker-column-header" }, "MM"), minutes.map(minute => {
147
+ const minuteDisabled = selectedHour >= 0 ? this.isMinuteDisabled(selectedHour, minute) : false;
148
+ return (h("button", { type: "button", disabled: minuteDisabled, onClick: () => this.selectMinute(minute), part: cn('form-time-picker-option', { 'form-time-picker-option-selected': minute === selectedMinute }), class: cn('form-time-picker-option', {
149
+ selected: minute === selectedMinute,
150
+ }) }, String(minute).padStart(2, '0')));
151
+ }))))), h(FormErrorMessage, { key: '237ebec1a3024d5944cf67c558005cd565365cc5', name: this.name, isError: isError, errorMessage: locale[errorMessage] || errorMessage }))));
152
+ }
153
+ static get is() { return "form-time-picker"; }
154
+ static get originalStyleUrls() {
155
+ return {
156
+ "$": ["form-inputs.css"]
157
+ };
158
+ }
159
+ static get styleUrls() {
160
+ return {
161
+ "$": ["form-inputs.css"]
162
+ };
163
+ }
164
+ static get properties() {
165
+ return {
166
+ "name": {
167
+ "type": "string",
168
+ "attribute": "name",
169
+ "mutable": false,
170
+ "complexType": {
171
+ "original": "string",
172
+ "resolved": "string",
173
+ "references": {}
174
+ },
175
+ "required": false,
176
+ "optional": false,
177
+ "docs": {
178
+ "tags": [],
179
+ "text": ""
180
+ },
181
+ "getter": false,
182
+ "setter": false,
183
+ "reflect": false
184
+ },
185
+ "wrapperId": {
186
+ "type": "string",
187
+ "attribute": "wrapper-id",
188
+ "mutable": false,
189
+ "complexType": {
190
+ "original": "string",
191
+ "resolved": "string",
192
+ "references": {}
193
+ },
194
+ "required": false,
195
+ "optional": false,
196
+ "docs": {
197
+ "tags": [],
198
+ "text": ""
199
+ },
200
+ "getter": false,
201
+ "setter": false,
202
+ "reflect": false
203
+ },
204
+ "isLoading": {
205
+ "type": "boolean",
206
+ "attribute": "is-loading",
207
+ "mutable": false,
208
+ "complexType": {
209
+ "original": "boolean",
210
+ "resolved": "boolean",
211
+ "references": {}
212
+ },
213
+ "required": false,
214
+ "optional": true,
215
+ "docs": {
216
+ "tags": [],
217
+ "text": ""
218
+ },
219
+ "getter": false,
220
+ "setter": false,
221
+ "reflect": false
222
+ },
223
+ "isDisabled": {
224
+ "type": "boolean",
225
+ "attribute": "is-disabled",
226
+ "mutable": false,
227
+ "complexType": {
228
+ "original": "boolean",
229
+ "resolved": "boolean",
230
+ "references": {}
231
+ },
232
+ "required": false,
233
+ "optional": true,
234
+ "docs": {
235
+ "tags": [],
236
+ "text": ""
237
+ },
238
+ "getter": false,
239
+ "setter": false,
240
+ "reflect": false
241
+ },
242
+ "form": {
243
+ "type": "unknown",
244
+ "attribute": "form",
245
+ "mutable": false,
246
+ "complexType": {
247
+ "original": "FormHook<any>",
248
+ "resolved": "FormHook<any>",
249
+ "references": {
250
+ "FormHook": {
251
+ "location": "import",
252
+ "path": "~features/form-hook/form-hook",
253
+ "id": "src/features/form-hook/form-hook.ts::FormHook"
254
+ }
255
+ }
256
+ },
257
+ "required": false,
258
+ "optional": false,
259
+ "docs": {
260
+ "tags": [],
261
+ "text": ""
262
+ },
263
+ "getter": false,
264
+ "setter": false
265
+ },
266
+ "wrapperClass": {
267
+ "type": "string",
268
+ "attribute": "wrapper-class",
269
+ "mutable": false,
270
+ "complexType": {
271
+ "original": "string",
272
+ "resolved": "string",
273
+ "references": {}
274
+ },
275
+ "required": false,
276
+ "optional": false,
277
+ "docs": {
278
+ "tags": [],
279
+ "text": ""
280
+ },
281
+ "getter": false,
282
+ "setter": false,
283
+ "reflect": false
284
+ },
285
+ "staticValue": {
286
+ "type": "string",
287
+ "attribute": "static-value",
288
+ "mutable": false,
289
+ "complexType": {
290
+ "original": "string",
291
+ "resolved": "string",
292
+ "references": {}
293
+ },
294
+ "required": false,
295
+ "optional": true,
296
+ "docs": {
297
+ "tags": [],
298
+ "text": ""
299
+ },
300
+ "getter": false,
301
+ "setter": false,
302
+ "reflect": false
303
+ },
304
+ "defaultValue": {
305
+ "type": "string",
306
+ "attribute": "default-value",
307
+ "mutable": true,
308
+ "complexType": {
309
+ "original": "string",
310
+ "resolved": "string",
311
+ "references": {}
312
+ },
313
+ "required": false,
314
+ "optional": true,
315
+ "docs": {
316
+ "tags": [],
317
+ "text": ""
318
+ },
319
+ "getter": false,
320
+ "setter": false,
321
+ "reflect": false
322
+ },
323
+ "minTime": {
324
+ "type": "string",
325
+ "attribute": "min-time",
326
+ "mutable": false,
327
+ "complexType": {
328
+ "original": "string",
329
+ "resolved": "string",
330
+ "references": {}
331
+ },
332
+ "required": false,
333
+ "optional": true,
334
+ "docs": {
335
+ "tags": [],
336
+ "text": ""
337
+ },
338
+ "getter": false,
339
+ "setter": false,
340
+ "reflect": false
341
+ },
342
+ "maxTime": {
343
+ "type": "string",
344
+ "attribute": "max-time",
345
+ "mutable": false,
346
+ "complexType": {
347
+ "original": "string",
348
+ "resolved": "string",
349
+ "references": {}
350
+ },
351
+ "required": false,
352
+ "optional": true,
353
+ "docs": {
354
+ "tags": [],
355
+ "text": ""
356
+ },
357
+ "getter": false,
358
+ "setter": false,
359
+ "reflect": false
360
+ },
361
+ "minuteStep": {
362
+ "type": "number",
363
+ "attribute": "minute-step",
364
+ "mutable": false,
365
+ "complexType": {
366
+ "original": "number",
367
+ "resolved": "number",
368
+ "references": {}
369
+ },
370
+ "required": false,
371
+ "optional": true,
372
+ "docs": {
373
+ "tags": [],
374
+ "text": ""
375
+ },
376
+ "getter": false,
377
+ "setter": false,
378
+ "reflect": false,
379
+ "defaultValue": "1"
380
+ }
381
+ };
382
+ }
383
+ static get states() {
384
+ return {
385
+ "isOpen": {},
386
+ "selectedValue": {},
387
+ "openUpwards": {}
388
+ };
389
+ }
390
+ static get elementRef() { return "el"; }
391
+ static get watchers() {
392
+ return [{
393
+ "propName": "staticValue",
394
+ "methodName": "onStaticValueChange"
395
+ }];
396
+ }
397
+ }
@@ -9,6 +9,7 @@ import { FormInputLabel } from "./components/form-input-label";
9
9
  import { FormInputPrefix } from "./components/form-input-prefix";
10
10
  import { FormErrorMessage } from "./components/form-error-message";
11
11
  import { QrCodeScanIcon } from "../../global/assets/qr-code-scan";
12
+ import { CameraIcon } from "../../global/assets/add-icon copy";
12
13
  const partKeyPrefix = 'form-vin-input-';
13
14
  export class FormVinInput {
14
15
  constructor() {
@@ -51,9 +52,9 @@ export class FormVinInput {
51
52
  const placeholder = getNestedValue(locale, meta === null || meta === void 0 ? void 0 : meta.placeholder);
52
53
  const isDisabled = disabled || this.isLoading || !!this.staticValue || this.isDisabled;
53
54
  const extractorTitle = ((_g = (_e = (_d = (_c = (_b = (_a = this.form) === null || _a === void 0 ? void 0 : _a.context) === null || _b === void 0 ? void 0 : _b.structure) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.localization) === null || _e === void 0 ? void 0 : _e[(_f = this.form.context) === null || _f === void 0 ? void 0 : _f.language]) === null || _g === void 0 ? void 0 : _g['vin-scan']) || 'Scan Your VIN';
54
- return (h(Host, { key: '2419d05355f7a7072022cda7dbff1a6eb4f3367c' }, h("label", { key: 'dcc07343c7049a558223755fd298153553c11f1b', part: this.name, id: this.wrapperId, class: cn('form-input-label-container', this.wrapperClass, { disabled: isDisabled }) }, h(FormInputLabel, { key: '2fe0b20a310467a8d533aa9828245fa604d54c06', isRequired: isRequired, label: label }), h("div", { key: '9e526a590eb771158bcd7594b499f9579dc1599b', part: `${this.name}-container form-input-container`, class: "form-input-container" }, h(FormInputPrefix, { key: '31ed1f13659484e09903352ba27172d75263ed6a', name: this.name, direction: (_h = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _h === void 0 ? void 0 : _h.direction, prefix: this.inputPrefix }), h("input", Object.assign({ key: '68f7d58baa05b4e1622b069c35e5b537a4ca9a3c' }, this.inputProps, { name: this.name, disabled: isDisabled, defaultValue: this.defaultValue, part: `${this.name}-input form-input`, placeholder: placeholder || (meta === null || meta === void 0 ? void 0 : meta.placeholder), style: Object.assign({}, (this.prefixWidth ? { [((_j = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _j === void 0 ? void 0 : _j.direction) === 'rtl' ? 'paddingRight' : 'paddingLeft']: `${this.prefixWidth}px` } : {})), class: cn('form-input-style !uppercase', part, {
55
+ return (h(Host, { key: 'b876940aceec368ae8f5ed6fecd48fe3aaea8efa' }, h("label", { key: 'd7440e3179b870af03226b75791cf197899dedb5', part: this.name, id: this.wrapperId, class: cn('form-input-label-container', this.wrapperClass, { disabled: isDisabled }) }, h(FormInputLabel, { key: 'd042e050a25dc1911e2b7b60c74ab4141ab574f3', isRequired: isRequired, label: label }), h("div", { key: '7e72af99b8b0ec5c32cec52833b4d6ae5a453ace', part: `${this.name}-container form-input-container`, class: "form-input-container" }, h(FormInputPrefix, { key: 'd785c4c464e4a830261212f6b416bd293819af71', name: this.name, direction: (_h = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _h === void 0 ? void 0 : _h.direction, prefix: this.inputPrefix }), h("input", Object.assign({ key: '094a5850c842304f9d5fa19ebe9a774390298adc' }, this.inputProps, { name: this.name, disabled: isDisabled, defaultValue: this.defaultValue, part: `${this.name}-input form-input`, placeholder: placeholder || (meta === null || meta === void 0 ? void 0 : meta.placeholder), style: Object.assign({}, (this.prefixWidth ? { [((_j = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _j === void 0 ? void 0 : _j.direction) === 'rtl' ? 'paddingRight' : 'paddingLeft']: `${this.prefixWidth}px` } : {})), class: cn('form-input-style !uppercase', part, {
55
56
  'form-input-error-style': isError,
56
- }) })), !!this.scannerIcon && (this.useOcr || this.readSticker) && (h("button", { key: '0b999d0bbc1f0f5ac3265c8fb15d016a3b034591', type: "button", disabled: isDisabled, part: cn('vin-validator', part + '-vin'), onClick: () => { var _a; return (_a = this === null || this === void 0 ? void 0 : this.el.getElementsByTagName('vin-extractor')[0]) === null || _a === void 0 ? void 0 : _a.open(); }, class: "absolute transition-all duration-500 disabled:!pointer-events-none disabled:!opacity-0 flex justify-center items-center right-3.5 !text-[#576675] enabled:hover:!text-black/85 aspect-square h-[70%] top-1/2 -translate-y-1/2" }, this.scannerIcon === 'qr-code' && h(QrCodeScanIcon, { key: 'a39d0f9ab40814792c80a0241cc84d3de58376d5', class: "size-[90%] text-inherit" })))), h(FormErrorMessage, { key: '0ab84ff536c48b5a625f8637dfc4613e92f9d99c', name: this.name, isError: isError, errorMessage: locale[errorMessage] || errorMessage })), (this.useOcr || this.readSticker) && (h("div", { key: '795339781b7b42fd994690aff6d811d4e41428a0', class: "absolute" }, h("vin-extractor", { key: '0db888406e9c625549fcdb2941faeb892af201da', verbose: true, manualCapture: true, useOcr: this.useOcr, title: extractorTitle, skipValidation: false, readSticker: this.readSticker, onExtract: newVin => {
57
+ }) })), !!this.scannerIcon && (this.useOcr || this.readSticker) && (h("button", { key: '4ff9061dd99c7ebaa3df8450f4e6d30fe3bd0604', type: "button", disabled: isDisabled, part: cn('vin-validator', part + '-vin'), onClick: () => { var _a; return (_a = this === null || this === void 0 ? void 0 : this.el.getElementsByTagName('vin-extractor')[0]) === null || _a === void 0 ? void 0 : _a.open(); }, class: "absolute transition-all duration-500 disabled:!pointer-events-none disabled:!opacity-0 flex justify-center items-center end-3.5 !text-[#576675] enabled:hover:!text-black/85 aspect-square h-[70%] top-1/2 -translate-y-1/2" }, this.scannerIcon === 'qr-code' && h(QrCodeScanIcon, { key: 'c50d804383bb75ca685f6801439539fc61d162c0', class: "size-[90%] text-inherit" }), this.scannerIcon === 'camera' && h(CameraIcon, { key: 'e45ca83541f9b20a56d4c4b7aa31761a1ceca8c4', class: "size-[90%] text-inherit" })))), h(FormErrorMessage, { key: 'e1accc6ac980d369732cd1a393787d6f1598ffe7', name: this.name, isError: isError, errorMessage: locale[errorMessage] || errorMessage })), (this.useOcr || this.readSticker) && (h("div", { key: 'd595097112bedaf9d2ca2fa9a708c4eb0bdec8d4', class: "absolute" }, h("vin-extractor", { key: '21746d607b2868ecfcc4189d5052f6e5939dc113', verbose: true, manualCapture: true, useOcr: this.useOcr, title: extractorTitle, skipValidation: false, readSticker: this.readSticker, onExtract: newVin => {
57
58
  var _a, _b;
58
59
  this.inputRef.value = newVin;
59
60
  (_a = this.form) === null || _a === void 0 ? void 0 : _a.validateInput(this === null || this === void 0 ? void 0 : this.name);
@@ -312,8 +313,8 @@ export class FormVinInput {
312
313
  "attribute": "scanner-icon",
313
314
  "mutable": false,
314
315
  "complexType": {
315
- "original": "'' | 'qr-code'",
316
- "resolved": "\"\" | \"qr-code\"",
316
+ "original": "'' | 'qr-code' | 'camera'",
317
+ "resolved": "\"\" | \"camera\" | \"qr-code\"",
317
318
  "references": {}
318
319
  },
319
320
  "required": false,
@@ -4,6 +4,10 @@
4
4
  */
5
5
  import { h } from "@stencil/core";
6
6
  import { getPhoneValidator } from "../../../features/form-hook/index";
7
+ import { VehicleImageViewer } from "../../form-elements/VehicleImageViewer";
8
+ import { CalendarDaysIcon } from "../../../global/assets/calendar-days-icon";
9
+ import { format, isBefore, isEqual } from "date-fns";
10
+ import { decodeTimeOffset } from "../../../global/lib/decode-time-offset";
7
11
  export const getDefaultMappers = (stateObject) => ({
8
12
  submit: ({ props }) => h("form-submit", Object.assign({}, props)),
9
13
  name: ({ props }) => h("form-input", Object.assign({}, props)),
@@ -11,10 +15,78 @@ export const getDefaultMappers = (stateObject) => ({
11
15
  email: ({ props }) => h("form-input", Object.assign({ type: "email" }, props)),
12
16
  message: ({ props }) => h("form-text-area", Object.assign({}, props)),
13
17
  vin: ({ props }) => h("form-vin-input", Object.assign({}, props)),
18
+ vehicleImage: ({ form }) => h(VehicleImageViewer, { form: form }),
14
19
  phone: ({ props, isLoading }) => {
15
20
  if (!stateObject.phoneValidator) {
16
21
  stateObject.phoneValidator = getPhoneValidator((props === null || props === void 0 ? void 0 : props.countryCode) || '');
17
22
  }
18
23
  return h("form-phone-number", Object.assign({ defaultValue: stateObject.phoneValidator.default }, props, { isLoading: isLoading, validator: stateObject.phoneValidator }));
19
24
  },
25
+ vehicle: ({ form, language, props }) => {
26
+ var _a;
27
+ const fetcher = async ({ signal }) => {
28
+ var _a, _b, _c;
29
+ const vehicleEndpoint = (_a = form.context.structure) === null || _a === void 0 ? void 0 : _a.data.vehicleApi;
30
+ const response = await fetch(vehicleEndpoint, { signal, headers: { 'Accept-Language': language } });
31
+ if ((_c = (_b = form.context.structure) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.vehiclesApiStrapiFormat) {
32
+ const res = await response.json();
33
+ let options = res.data;
34
+ return options.map(vehicle => ({
35
+ label: vehicle.attributes.GradeName,
36
+ value: `${vehicle.id}`,
37
+ meta: Object.assign(Object.assign({}, vehicle), { image: vehicle.attributes.Cover.data.attributes.url }),
38
+ }));
39
+ }
40
+ else {
41
+ const options = await response.json();
42
+ return options.map(vehicle => ({
43
+ label: vehicle.Title,
44
+ value: `${vehicle.ID}`,
45
+ meta: Object.assign(Object.assign({}, vehicle), { image: vehicle.Image }),
46
+ }));
47
+ }
48
+ };
49
+ let defaultValue;
50
+ if (!props.defaultValue) {
51
+ const params = new URLSearchParams(window.location.search);
52
+ defaultValue = params.get((_a = form.context.structure.data) === null || _a === void 0 ? void 0 : _a.vehicleIdQueryParam);
53
+ }
54
+ else {
55
+ defaultValue = props.defaultValue;
56
+ }
57
+ return h("form-select", Object.assign({}, props, { defaultValue: defaultValue, searchable: true, fetcher: fetcher, language: language }));
58
+ },
59
+ companyBranchId: ({ form, language, props }) => {
60
+ const fetcher = async ({ signal }) => {
61
+ var _a;
62
+ const dealerEndpoint = (_a = form.context.structure) === null || _a === void 0 ? void 0 : _a.data.dealerApi;
63
+ const response = await fetch(dealerEndpoint, { signal, headers: { 'Accept-Language': language } });
64
+ const options = (await response.json()).map(dealer => ({
65
+ label: dealer.Name,
66
+ value: `${dealer.ID}`,
67
+ meta: Object.assign({}, dealer),
68
+ }));
69
+ return options;
70
+ };
71
+ return h("form-select", Object.assign({}, props, { clearable: true, searchable: true, fetcher: fetcher, language: language }));
72
+ },
73
+ date: ({ props }) => h("form-picker-input", Object.assign({ type: "date" }, props, { icon: h(CalendarDaysIcon, null) })),
74
+ time: ({ language, props }) => {
75
+ const fetcher = async () => {
76
+ const options = [];
77
+ if (Array.isArray(props.span) && Array.isArray(props.min) && Array.isArray(props.max) && props.format) {
78
+ let tempDate = decodeTimeOffset({ offsets: props.min });
79
+ let maxDate = decodeTimeOffset({ offsets: props.max });
80
+ while (isBefore(tempDate, maxDate) || isEqual(tempDate, maxDate)) {
81
+ options.push({
82
+ value: format(tempDate, props.format),
83
+ label: format(tempDate, props.format),
84
+ });
85
+ tempDate = decodeTimeOffset({ offsets: props.span, date: tempDate });
86
+ }
87
+ }
88
+ return options;
89
+ };
90
+ return h("form-select", Object.assign({}, props, { clearable: true, fetcher: fetcher, language: language }));
91
+ },
20
92
  });
@@ -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 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}.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}}.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}.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-xl{font-size:1.25rem;line-height:1.75rem}.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\:aspect-auto{aspect-ratio:auto}.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-3xl{font-size:1.875rem;line-height:2.25rem}.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}.-mt-1{margin-top:-.25rem}.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}}.\!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}.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))}}
@@ -10,7 +10,7 @@ export const require = (name) => `${name}-require`;
10
10
  export const placeholder = (name) => `${name}-placeholder`;
11
11
  export const condition = (name) => `$${name}Required`;
12
12
  export const y = { label, format, require, condition, placeholder };
13
- export const getDefaultValidaations = (stateObject) => ({
13
+ export const getDefaultValidations = (stateObject) => ({
14
14
  name: string()
15
15
  .meta({ label: label('name'), placeholder: placeholder('name') })
16
16
  .when(condition('name'), {
@@ -54,4 +54,32 @@ export const getDefaultValidaations = (stateObject) => ({
54
54
  otherwise: schema => schema.optional(),
55
55
  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(); }),
56
56
  }),
57
+ vehicle: string()
58
+ .meta({ label: y.label('vehicle'), placeholder: y.placeholder('vehicle') })
59
+ .when(y.condition('vehicle'), {
60
+ is: true,
61
+ otherwise: schema => schema.optional(),
62
+ then: schema => schema.required(y.require('vehicle')),
63
+ }),
64
+ companyBranchId: string()
65
+ .meta({ label: y.label('companyBranchId'), placeholder: y.placeholder('companyBranchId') })
66
+ .when(y.condition('companyBranchId'), {
67
+ is: true,
68
+ otherwise: schema => schema.optional(),
69
+ then: schema => schema.required(y.require('companyBranchId')),
70
+ }),
71
+ date: string()
72
+ .meta({ label: label('date'), placeholder: placeholder('date') })
73
+ .when(condition('date'), {
74
+ is: true,
75
+ otherwise: schema => schema.optional(),
76
+ then: schema => schema.required(require('date')),
77
+ }),
78
+ time: string()
79
+ .meta({ label: label('time'), placeholder: placeholder('time') })
80
+ .when(condition('time'), {
81
+ is: true,
82
+ otherwise: schema => schema.optional(),
83
+ then: schema => schema.required(require('time')),
84
+ }),
57
85
  });