adp-web-components 0.0.94 → 0.0.96

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 (431) hide show
  1. package/dist/cjs/add-icon-BpfeU8T4.js +13 -0
  2. package/dist/cjs/app-globals-D2j2HjfX.js +11 -0
  3. package/dist/cjs/arrow-up-icon-B_nvUxUm.js +12 -0
  4. package/dist/cjs/check-icon-gbrTPAKV.js +12 -0
  5. package/dist/cjs/dead-stock-lookup_3.cjs.entry.js +15 -17
  6. package/dist/cjs/demo-form.cjs.entry.js +214 -0
  7. package/dist/cjs/{empty-table-icon-PdTX6gpI.js → empty-table-icon-BKTk1lZZ.js} +1 -1
  8. package/dist/cjs/flexible-container.cjs.entry.js +2 -2
  9. package/dist/cjs/form-checkbox_3.cjs.entry.js +109 -0
  10. package/dist/cjs/form-dialog_8.cjs.entry.js +230 -287
  11. package/dist/cjs/form-input-label-B4EsaC9R.js +30 -0
  12. package/dist/cjs/{get-local-language-KyKy1Z-t.js → get-local-language-Cah865CM.js} +233 -15
  13. package/dist/cjs/{index-BjyafrBw.js → index-CW-dkZVH.js} +185 -115
  14. package/dist/cjs/information-table.cjs.entry.js +2 -2
  15. package/dist/cjs/loader.cjs.js +4 -3
  16. package/dist/cjs/loading-spinner.cjs.entry.js +2 -2
  17. package/dist/cjs/{material-card-Cd0L1Get.js → material-card-DFd5SQVC.js} +1 -1
  18. package/dist/cjs/part-lookup.cjs.entry.js +5 -5
  19. package/dist/cjs/{type-CbAwm6xr.js → phone-validator-DI1aq9s6.js} +1637 -1837
  20. package/dist/cjs/{print-icon-C4ASnhAO.js → print-icon-CeXvXhF8.js} +1 -1
  21. package/dist/cjs/shift-accordion.cjs.entry.js +2 -2
  22. package/dist/cjs/shift-checkbox.cjs.entry.js +33 -0
  23. package/dist/cjs/shift-components.cjs.js +5 -4
  24. package/dist/cjs/shift-slider.cjs.entry.js +3 -3
  25. package/dist/cjs/shift-switch.cjs.entry.js +32 -0
  26. package/dist/cjs/shift-tab-content.cjs.entry.js +3 -3
  27. package/dist/cjs/shift-tabs_2.cjs.entry.js +19 -24
  28. package/dist/cjs/{type-Bn9L4pF9.js → type-J3o1Qebo.js} +1 -1
  29. package/dist/cjs/{type-5Vrg-AAB.js → type-ybVlUdDs.js} +1 -1
  30. package/dist/cjs/vehicle-accessories_6.cjs.entry.js +32 -34
  31. package/dist/cjs/{vehicle-info-layout-Dp2Po_uc.js → vehicle-info-layout-CvgBHkXb.js} +1 -1
  32. package/dist/cjs/vehicle-lookup.cjs.entry.js +5 -5
  33. package/dist/cjs/vehicle-quotation-form.cjs.entry.js +418 -0
  34. package/dist/cjs/vin-extractor.cjs.entry.js +3 -3
  35. package/dist/collection/collection-manifest.json +9 -4
  36. package/dist/collection/components/components/empty.css +1 -0
  37. package/dist/collection/components/components/flexible-container.css +1 -1
  38. package/dist/collection/components/components/information-table.css +1 -1
  39. package/dist/collection/components/components/loading-spinner.css +1 -1
  40. package/dist/collection/components/components/shift-accordion.css +1 -1
  41. package/dist/collection/components/components/shift-checkbox.js +216 -0
  42. package/dist/collection/components/components/shift-slider.css +1 -1
  43. package/dist/collection/components/components/shift-slider.js +1 -1
  44. package/dist/collection/components/components/shift-switch.js +215 -0
  45. package/dist/collection/components/components/shift-tab-content.css +1 -1
  46. package/dist/collection/components/components/shift-tab-content.js +1 -1
  47. package/dist/collection/components/components/shift-tabs.css +1 -1
  48. package/dist/collection/components/components/shift-tabs.js +2 -2
  49. package/dist/collection/components/form-elements/components/form-error-message.js +9 -0
  50. package/dist/collection/components/form-elements/components/form-input-label.js +10 -0
  51. package/dist/collection/components/form-elements/components/form-input-prefix.js +10 -0
  52. package/dist/collection/components/form-elements/form-checkbox.js +188 -0
  53. package/dist/collection/components/form-elements/form-dialog.js +75 -51
  54. package/dist/collection/components/form-elements/form-input.js +43 -172
  55. package/dist/collection/components/form-elements/form-inputs.css +1 -0
  56. package/dist/collection/components/form-elements/form-phone-number.js +251 -0
  57. package/dist/collection/components/form-elements/form-select.js +152 -117
  58. package/dist/collection/components/form-elements/form-shadow-input.js +7 -5
  59. package/dist/collection/components/form-elements/form-structure-error.js +3 -3
  60. package/dist/collection/components/form-elements/form-structure.js +63 -110
  61. package/dist/collection/components/form-elements/form-submit.js +74 -63
  62. package/dist/collection/components/form-elements/form-switch.js +188 -0
  63. package/dist/collection/components/form-elements/form-text-area.js +27 -160
  64. package/dist/collection/components/forms/demo/element-mapper.js +41 -0
  65. package/dist/collection/components/forms/demo/structure.js +15 -0
  66. package/dist/collection/components/forms/demo/themes.css +1 -0
  67. package/dist/collection/components/forms/demo/validations.js +34 -0
  68. package/dist/collection/components/forms/{service-booking-form.js → demo-form.js} +164 -101
  69. package/dist/collection/components/forms/vehicle-quotation/VehicleImageViewer.js +50 -0
  70. package/dist/collection/components/forms/vehicle-quotation/element-mapper.js +120 -0
  71. package/dist/collection/components/forms/vehicle-quotation/structure.js +34 -0
  72. package/dist/collection/components/forms/{service-booking/form.css → vehicle-quotation/themes.css} +1 -1
  73. package/dist/collection/components/forms/vehicle-quotation/validations.js +41 -0
  74. package/dist/collection/components/forms/vehicle-quotation.js +326 -0
  75. package/dist/collection/components/part-lookup/dead-stock-lookup.css +1 -1
  76. package/dist/collection/components/part-lookup/dead-stock-lookup.js +2 -2
  77. package/dist/collection/components/part-lookup/distributor-lookup.css +1 -1
  78. package/dist/collection/components/part-lookup/distributor-lookup.js +2 -2
  79. package/dist/collection/components/part-lookup/manufacturer-lookup.css +1 -1
  80. package/dist/collection/components/part-lookup/part-lookup.css +1 -1
  81. package/dist/collection/components/vehicle-lookup/vehicle-accessories.css +1 -1
  82. package/dist/collection/components/vehicle-lookup/vehicle-accessories.js +2 -2
  83. package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.css +1 -1
  84. package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.js +6 -12
  85. package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.css +1 -1
  86. package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.js +8 -8
  87. package/dist/collection/components/vehicle-lookup/vehicle-lookup.css +1 -1
  88. package/dist/collection/components/vehicle-lookup/vehicle-lookup.js +1 -1
  89. package/dist/collection/components/vehicle-lookup/vehicle-paint-thickness.css +1 -1
  90. package/dist/collection/components/vehicle-lookup/vehicle-paint-thickness.js +5 -3
  91. package/dist/collection/components/vehicle-lookup/vehicle-service-history.css +1 -1
  92. package/dist/collection/components/vehicle-lookup/vehicle-service-history.js +1 -1
  93. package/dist/collection/components/vehicle-lookup/vehicle-specification.css +1 -1
  94. package/dist/collection/components/vehicle-lookup/vehicle-specification.js +1 -1
  95. package/dist/collection/components/vehicle-lookup/vehicle-warranty-details.css +1 -1
  96. package/dist/collection/components/vehicle-lookup/vehicle-warranty-details.js +4 -4
  97. package/dist/collection/components/vin-extractor/vin-extractor.css +1 -1
  98. package/dist/collection/components/vin-extractor/vin-extractor.js +1 -1
  99. package/dist/collection/{global/lib → features/form-hook}/form-hook.js +72 -11
  100. package/dist/collection/features/form-hook/gist-loader.js +25 -0
  101. package/dist/collection/features/form-hook/index.js +11 -0
  102. package/dist/collection/features/form-hook/interface.js +1 -0
  103. package/dist/collection/features/form-hook/phone-validator.js +11 -0
  104. package/dist/collection/features/form-hook/render-structure.js +36 -0
  105. package/dist/collection/features/multi-lingual/get-local-language.js +5 -0
  106. package/dist/collection/features/multi-lingual/types.js +2 -0
  107. package/dist/collection/global/assets/add-icon.js +1 -1
  108. package/dist/collection/global/assets/loader-icon.js +6 -0
  109. package/dist/collection/global/assets/tick-icon.js +6 -0
  110. package/dist/collection/global/lib/fetch-json.js +12 -0
  111. package/dist/collection/global/lib/get-language-from-url.js +17 -0
  112. package/dist/collection/global/lib/get-nested-value.js +9 -0
  113. package/dist/collection/global/lib/parse-loose-json.js +23 -0
  114. package/dist/collection/global/types/generated/vehicle-lookup/paint-thickness-inspection-dto.js +1 -0
  115. package/dist/collection/global/types/generated/vehicle-lookup/paint-thickness-inspection-panel-dto.js +1 -0
  116. package/dist/collection/locale-mapper.js +10 -2
  117. package/dist/collection/locales/forms/contactUs/type.js +6 -2
  118. package/dist/collection/locales/forms/demo/type.js +30 -0
  119. package/dist/collection/locales/forms/type.js +3 -1
  120. package/dist/collection/locales/forms/vehicleQuotation/type.js +35 -0
  121. package/dist/collection/locales/general/type.js +1 -1
  122. package/dist/collection/locales/generalTicketTypes/type.js +1 -10
  123. package/dist/components/dead-stock-lookup.js +1 -1
  124. package/dist/components/{service-booking-form.d.ts → demo-form.d.ts} +4 -4
  125. package/dist/components/demo-form.js +5 -0
  126. package/dist/components/distributor-lookup.js +1 -1
  127. package/dist/components/flexible-container.js +1 -1
  128. package/dist/components/form-checkbox.d.ts +11 -0
  129. package/dist/components/form-checkbox.js +5 -0
  130. package/dist/components/form-dialog.js +1 -1
  131. package/dist/components/form-input.js +1 -1
  132. package/dist/components/form-phone-number.d.ts +11 -0
  133. package/dist/components/form-phone-number.js +5 -0
  134. package/dist/components/form-select.js +1 -1
  135. package/dist/components/form-shadow-input.js +1 -1
  136. package/dist/components/form-structure-error.js +1 -1
  137. package/dist/components/form-structure.js +1 -1
  138. package/dist/components/form-submit.js +1 -1
  139. package/dist/components/form-switch.d.ts +11 -0
  140. package/dist/components/form-switch.js +5 -0
  141. package/dist/components/form-text-area.js +1 -1
  142. package/dist/components/index.js +1 -1
  143. package/dist/components/information-table.js +1 -1
  144. package/dist/components/loading-spinner.js +1 -1
  145. package/dist/components/manufacturer-lookup.js +1 -1
  146. package/dist/components/p-2bxe8YI7.js +5 -0
  147. package/dist/components/p-B2MwZoPq.js +5 -0
  148. package/dist/components/p-B2beUAyz.js +5 -0
  149. package/dist/components/p-BANchzwt.js +5 -0
  150. package/dist/components/p-BGTo_J4_.js +5 -0
  151. package/dist/components/p-BLe-glwc.js +5 -0
  152. package/dist/components/p-Bf0ucGoz.js +5 -0
  153. package/dist/components/p-BqeORJTo.js +5 -0
  154. package/dist/components/p-C0EPmkEd.js +5 -0
  155. package/dist/components/p-CG_J75di.js +5 -0
  156. package/dist/components/{p-BTRPQzLG.js → p-CKHkzbKX.js} +1 -1
  157. package/dist/components/p-CRhdQvF0.js +5 -0
  158. package/dist/components/p-CS6o6qyw.js +5 -0
  159. package/dist/components/p-C_jDd3e_.js +5 -0
  160. package/dist/components/p-C_ozk0lR.js +5 -0
  161. package/dist/components/p-CdpJAeIB.js +5 -0
  162. package/dist/components/p-Cgt5s_xn.js +5 -0
  163. package/dist/components/p-CnHfmo0x.js +5 -0
  164. package/dist/components/p-Cr0foSte.js +5 -0
  165. package/dist/components/p-Ct357EhI.js +5 -0
  166. package/dist/components/{p-CqE4gnqf.js → p-CyDcBgW1.js} +1 -1
  167. package/dist/components/p-D0IHkGuC.js +5 -0
  168. package/dist/components/p-D3BMiplT.js +5 -0
  169. package/dist/components/p-DC7E4vgR.js +5 -0
  170. package/dist/components/p-DJaWpqrV.js +5 -0
  171. package/dist/components/p-DKLuboqT.js +5 -0
  172. package/dist/components/p-DLNC6ubn.js +5 -0
  173. package/dist/components/p-DRnxC_Dv.js +5 -0
  174. package/dist/components/p-DbuZOGHo.js +5 -0
  175. package/dist/components/p-Dn3zEIrl.js +5 -0
  176. package/dist/components/p-DoaqChvz.js +5 -0
  177. package/dist/components/p-H8WzANZa.js +5 -0
  178. package/dist/components/p-M7q3SKiP.js +5 -0
  179. package/dist/components/p-RqMSFAfL.js +5 -0
  180. package/dist/components/p-WO9DWTbl.js +5 -0
  181. package/dist/components/p-Xrfzb9z7.js +5 -0
  182. package/dist/components/p-nPg5F6xZ.js +5 -0
  183. package/dist/components/part-lookup.js +1 -1
  184. package/dist/components/shift-accordion.js +1 -1
  185. package/dist/components/{contact-us-form.d.ts → shift-checkbox.d.ts} +4 -4
  186. package/dist/components/shift-checkbox.js +5 -0
  187. package/dist/components/shift-slider.js +1 -1
  188. package/dist/components/shift-switch.d.ts +11 -0
  189. package/dist/components/shift-switch.js +5 -0
  190. package/dist/components/shift-tab-content.js +1 -1
  191. package/dist/components/shift-tabs.js +1 -1
  192. package/dist/components/vehicle-accessories.js +1 -1
  193. package/dist/components/vehicle-claimable-items.js +1 -1
  194. package/dist/components/vehicle-item-claim-form.js +1 -1
  195. package/dist/components/vehicle-lookup.js +1 -1
  196. package/dist/components/vehicle-paint-thickness.js +1 -1
  197. package/dist/components/vehicle-quotation-form.d.ts +11 -0
  198. package/dist/components/vehicle-quotation-form.js +5 -0
  199. package/dist/components/vehicle-service-history.js +1 -1
  200. package/dist/components/vehicle-specification.js +1 -1
  201. package/dist/components/vehicle-warranty-details.js +1 -1
  202. package/dist/components/vin-extractor.js +1 -1
  203. package/dist/esm/add-icon-BYuh_IBk.js +11 -0
  204. package/dist/esm/app-globals-FlE3HjBb.js +9 -0
  205. package/dist/esm/arrow-up-icon-DxOdc6k0.js +10 -0
  206. package/dist/esm/check-icon-DVWsrBK6.js +10 -0
  207. package/dist/esm/dead-stock-lookup_3.entry.js +14 -16
  208. package/dist/esm/demo-form.entry.js +212 -0
  209. package/dist/esm/{empty-table-icon-DvQk12N9.js → empty-table-icon-CBc6OV9P.js} +1 -1
  210. package/dist/esm/flexible-container.entry.js +2 -2
  211. package/dist/esm/form-checkbox_3.entry.js +105 -0
  212. package/dist/esm/form-dialog_8.entry.js +230 -287
  213. package/dist/esm/form-input-label-D5w5EH3F.js +26 -0
  214. package/dist/esm/{get-local-language-l6UrjwJe.js → get-local-language-XModHSFO.js} +231 -16
  215. package/dist/esm/{index-CikEOqe0.js → index-BnEa9hGL.js} +184 -114
  216. package/dist/esm/information-table.entry.js +2 -2
  217. package/dist/esm/loader.js +4 -3
  218. package/dist/esm/loading-spinner.entry.js +2 -2
  219. package/dist/esm/{material-card-DiAl-884.js → material-card-KRdYdM6Z.js} +1 -1
  220. package/dist/esm/part-lookup.entry.js +5 -5
  221. package/dist/esm/{type-XIkfMGvz.js → phone-validator-CDkKaNS8.js} +1635 -1834
  222. package/dist/esm/{print-icon-Dn5kQmLo.js → print-icon-FGeHkj8F.js} +1 -1
  223. package/dist/esm/shift-accordion.entry.js +2 -2
  224. package/dist/esm/shift-checkbox.entry.js +31 -0
  225. package/dist/esm/shift-components.js +5 -4
  226. package/dist/esm/shift-slider.entry.js +3 -3
  227. package/dist/esm/shift-switch.entry.js +30 -0
  228. package/dist/esm/shift-tab-content.entry.js +3 -3
  229. package/dist/esm/shift-tabs_2.entry.js +17 -22
  230. package/dist/esm/{type-2vLsdi8g.js → type-CpFPCvvR.js} +1 -1
  231. package/dist/esm/{type-CsQXeUno.js → type-OZnKrrJQ.js} +1 -1
  232. package/dist/esm/vehicle-accessories_6.entry.js +32 -34
  233. package/dist/esm/{vehicle-info-layout-CNGGKAia.js → vehicle-info-layout-gB294hFH.js} +1 -1
  234. package/dist/esm/vehicle-lookup.entry.js +5 -5
  235. package/dist/esm/vehicle-quotation-form.entry.js +416 -0
  236. package/dist/esm/vin-extractor.entry.js +3 -3
  237. package/dist/locales/forms/ar.json +8 -1
  238. package/dist/locales/forms/contactUs/ar.json +5 -1
  239. package/dist/locales/forms/contactUs/en.json +5 -1
  240. package/dist/locales/forms/contactUs/ku.json +5 -1
  241. package/dist/locales/forms/contactUs/ru.json +5 -1
  242. package/dist/locales/forms/contactUs/type.ts +26 -19
  243. package/dist/locales/forms/demo/ar.json +24 -0
  244. package/dist/locales/forms/demo/en.json +24 -0
  245. package/dist/locales/forms/demo/ku.json +24 -0
  246. package/dist/locales/forms/demo/ru.json +24 -0
  247. package/dist/locales/forms/demo/type.ts +31 -0
  248. package/dist/locales/forms/en.json +8 -1
  249. package/dist/locales/forms/ku.json +8 -1
  250. package/dist/locales/forms/ru.json +5 -1
  251. package/dist/locales/forms/type.ts +4 -1
  252. package/dist/locales/forms/vehicleQuotation/ar.json +29 -0
  253. package/dist/locales/forms/vehicleQuotation/en.json +29 -0
  254. package/dist/locales/forms/vehicleQuotation/ku.json +29 -0
  255. package/dist/locales/forms/vehicleQuotation/ru.json +29 -0
  256. package/dist/locales/forms/vehicleQuotation/type.ts +33 -0
  257. package/dist/locales/general/ar.json +0 -1
  258. package/dist/locales/general/en.json +0 -1
  259. package/dist/locales/general/ku.json +0 -1
  260. package/dist/locales/general/ru.json +0 -1
  261. package/dist/locales/general/type.ts +1 -1
  262. package/dist/locales/generalTicketTypes/ar.json +0 -2
  263. package/dist/locales/generalTicketTypes/en.json +0 -2
  264. package/dist/locales/generalTicketTypes/ku.json +0 -2
  265. package/dist/locales/generalTicketTypes/ru.json +0 -2
  266. package/dist/locales/generalTicketTypes/type.ts +1 -10
  267. package/dist/shift-components/{p-0c8bbdd0.entry.js → p-087fef54.entry.js} +1 -1
  268. package/dist/shift-components/p-2dced6b3.entry.js +5 -0
  269. package/dist/shift-components/p-33d1f904.entry.js +5 -0
  270. package/dist/shift-components/p-3901EPA-.js +5 -0
  271. package/dist/shift-components/p-40b688f9.entry.js +5 -0
  272. package/dist/shift-components/p-5874cf33.entry.js +5 -0
  273. package/dist/shift-components/p-58d6b097.entry.js +5 -0
  274. package/dist/shift-components/p-5d4f1d6c.entry.js +5 -0
  275. package/dist/shift-components/p-63827c96.entry.js +5 -0
  276. package/dist/shift-components/{p-C--yf0Ms.js → p-6ZcNm02U.js} +1 -1
  277. package/dist/shift-components/p-6aLHCD9h.js +5 -0
  278. package/dist/shift-components/p-7c5a2603.entry.js +5 -0
  279. package/dist/shift-components/{p-277c8a5b.entry.js → p-82cd67f3.entry.js} +1 -1
  280. package/dist/shift-components/p-8eefae49.entry.js +5 -0
  281. package/dist/shift-components/{p-DzSZ47FV.js → p-BK6OxaNt.js} +1 -1
  282. package/dist/shift-components/{p-Wtw8qj6x.js → p-BWuXL_w2.js} +1 -1
  283. package/dist/shift-components/p-BgARsXBh.js +5 -0
  284. package/dist/shift-components/p-BnEa9hGL.js +6 -0
  285. package/dist/shift-components/p-BuKksSjk.js +5 -0
  286. package/dist/shift-components/p-Bzq1Jrq5.js +5 -0
  287. package/dist/shift-components/p-DB9dXavJ.js +5 -0
  288. package/dist/shift-components/p-DL_G203I.js +5 -0
  289. package/dist/shift-components/{p-BNCTcdgP.js → p-EajpaTfb.js} +1 -1
  290. package/dist/shift-components/p-b1504123.entry.js +5 -0
  291. package/dist/shift-components/p-bc10e8d1.entry.js +5 -0
  292. package/dist/shift-components/p-d14a49c1.entry.js +5 -0
  293. package/dist/shift-components/p-d504d8bb.entry.js +5 -0
  294. package/dist/shift-components/p-de18e09d.entry.js +5 -0
  295. package/dist/shift-components/p-e4724d6c.entry.js +5 -0
  296. package/dist/shift-components/p-eL99WkVm.js +5 -0
  297. package/dist/shift-components/{p-238f5df0.entry.js → p-fecd88c9.entry.js} +1 -1
  298. package/dist/shift-components/p-jtkSIgt7.js +5 -0
  299. package/dist/shift-components/shift-components.esm.js +1 -1
  300. package/dist/types/components/components/shift-checkbox.d.ts +15 -0
  301. package/dist/types/components/components/shift-switch.d.ts +15 -0
  302. package/dist/types/components/form-elements/components/form-error-message.d.ts +7 -0
  303. package/dist/types/components/form-elements/components/form-input-label.d.ts +7 -0
  304. package/dist/types/components/form-elements/components/form-input-prefix.d.ts +7 -0
  305. package/dist/types/components/form-elements/form-checkbox.d.ts +17 -0
  306. package/dist/types/components/form-elements/form-dialog.d.ts +7 -9
  307. package/dist/types/components/form-elements/form-input.d.ts +8 -19
  308. package/dist/types/components/form-elements/form-phone-number.d.ts +23 -0
  309. package/dist/types/components/form-elements/form-select.d.ts +19 -19
  310. package/dist/types/components/form-elements/form-shadow-input.d.ts +1 -1
  311. package/dist/types/components/form-elements/form-structure.d.ts +11 -19
  312. package/dist/types/components/form-elements/form-submit.d.ts +9 -10
  313. package/dist/types/components/form-elements/form-switch.d.ts +17 -0
  314. package/dist/types/components/form-elements/form-text-area.d.ts +5 -15
  315. package/dist/types/components/forms/demo/element-mapper.d.ts +6 -0
  316. package/dist/types/components/forms/demo/structure.d.ts +12 -0
  317. package/dist/types/components/forms/demo/validations.d.ts +32 -0
  318. package/dist/types/components/forms/demo-form.d.ts +41 -0
  319. package/dist/types/components/forms/vehicle-quotation/VehicleImageViewer.d.ts +8 -0
  320. package/dist/types/components/forms/vehicle-quotation/element-mapper.d.ts +6 -0
  321. package/dist/types/components/forms/vehicle-quotation/structure.d.ts +0 -0
  322. package/dist/types/components/forms/vehicle-quotation/validations.d.ts +32 -0
  323. package/dist/types/components/forms/vehicle-quotation.d.ts +37 -0
  324. package/dist/types/components.d.ts +321 -234
  325. package/dist/types/features/form-hook/form-hook.d.ts +57 -0
  326. package/dist/types/features/form-hook/gist-loader.d.ts +2 -0
  327. package/dist/types/features/form-hook/index.d.ts +7 -0
  328. package/dist/types/features/form-hook/inputs/form-input.d.ts +4 -0
  329. package/dist/types/features/form-hook/inputs/form-select.d.ts +12 -0
  330. package/dist/types/features/form-hook/interface.d.ts +79 -0
  331. package/dist/types/features/form-hook/phone-validator.d.ts +9 -0
  332. package/dist/types/features/form-hook/render-structure.d.ts +3 -0
  333. package/dist/types/features/multi-lingual/get-local-language.d.ts +2 -1
  334. package/dist/types/features/multi-lingual/types.d.ts +33 -0
  335. package/dist/types/global/assets/add-icon.d.ts +1 -0
  336. package/dist/types/global/assets/loader-icon.d.ts +6 -0
  337. package/dist/types/global/assets/tick-icon.d.ts +6 -0
  338. package/dist/types/global/lib/fetch-json.d.ts +1 -0
  339. package/dist/types/global/lib/get-language-from-url.d.ts +2 -0
  340. package/dist/types/global/lib/get-nested-value.d.ts +1 -0
  341. package/dist/types/global/lib/parse-loose-json.d.ts +1 -0
  342. package/dist/types/global/types/generated/vehicle-lookup/paint-thickness-inspection-dto.d.ts +6 -0
  343. package/dist/types/global/types/generated/vehicle-lookup/paint-thickness-inspection-panel-dto.d.ts +7 -0
  344. package/dist/types/global/types/generated/vehicle-lookup/vehicle-lookup-dto.d.ts +2 -2
  345. package/dist/types/locale-mapper.d.ts +3 -1
  346. package/dist/types/locales/forms/contactUs/type.d.ts +9 -0
  347. package/dist/types/locales/forms/demo/type.d.ts +49 -0
  348. package/dist/types/locales/forms/type.d.ts +13 -0
  349. package/dist/types/locales/forms/vehicleQuotation/type.d.ts +58 -0
  350. package/dist/types/locales/forms/wrapper-type.d.ts +21 -0
  351. package/dist/types/locales/general/type.d.ts +0 -2
  352. package/dist/types/locales/generalTicketTypes/type.d.ts +0 -4
  353. package/dist/types/locales/vehicleLookup/serviceHistory/type.d.ts +2 -2
  354. package/dist/types/locales/vehicleLookup/wrapper-type.d.ts +2 -2
  355. package/dist/types/stencil-public-runtime.d.ts +12 -5
  356. package/package.json +5 -3
  357. package/dist/cjs/contact-us-form.cjs.entry.js +0 -198
  358. package/dist/cjs/service-booking-form.cjs.entry.js +0 -198
  359. package/dist/collection/components/form-elements/form-dialog.css +0 -1
  360. package/dist/collection/components/form-elements/form-input.css +0 -1
  361. package/dist/collection/components/form-elements/form-select.css +0 -1
  362. package/dist/collection/components/form-elements/form-shadow-input.css +0 -1
  363. package/dist/collection/components/form-elements/form-structure-error.css +0 -1
  364. package/dist/collection/components/form-elements/form-structure.css +0 -1
  365. package/dist/collection/components/form-elements/form-submit.css +0 -1
  366. package/dist/collection/components/form-elements/form-text-area.css +0 -1
  367. package/dist/collection/components/forms/contact-us/element-mapper.js +0 -88
  368. package/dist/collection/components/forms/contact-us/form.css +0 -1
  369. package/dist/collection/components/forms/contact-us/validations.js +0 -19
  370. package/dist/collection/components/forms/contact-us-form.js +0 -295
  371. package/dist/collection/components/forms/service-booking/element-mapper.js +0 -88
  372. package/dist/collection/components/forms/service-booking/validations.js +0 -19
  373. package/dist/collection/global/lib/validate-form-structure.js +0 -47
  374. package/dist/components/contact-us-form.js +0 -5
  375. package/dist/components/p-4O0gfpsm.js +0 -5
  376. package/dist/components/p-B2EAhWbD.js +0 -5
  377. package/dist/components/p-BDCoLRVe.js +0 -5
  378. package/dist/components/p-BFtiSrGL.js +0 -5
  379. package/dist/components/p-BFu1pPb9.js +0 -5
  380. package/dist/components/p-BKNiCeoh.js +0 -5
  381. package/dist/components/p-BYLU_3i3.js +0 -5
  382. package/dist/components/p-Bd0Q-vpX.js +0 -5
  383. package/dist/components/p-BhjL0HMA.js +0 -5
  384. package/dist/components/p-Bz5U4EDM.js +0 -5
  385. package/dist/components/p-C75-VQw0.js +0 -5
  386. package/dist/components/p-CDS5hBc4.js +0 -5
  387. package/dist/components/p-CMOvIDH4.js +0 -5
  388. package/dist/components/p-CMOvVq8A.js +0 -5
  389. package/dist/components/p-CN7sHzME.js +0 -5
  390. package/dist/components/p-COU68JDH.js +0 -5
  391. package/dist/components/p-CeUz_77J.js +0 -5
  392. package/dist/components/p-CqgLoPPc.js +0 -5
  393. package/dist/components/p-DaTPi4wS.js +0 -5
  394. package/dist/components/p-DgE2ZHp1.js +0 -5
  395. package/dist/components/p-DmxWbMU0.js +0 -5
  396. package/dist/components/p-Dv0OKy1v.js +0 -5
  397. package/dist/components/p-G1W_uRHh.js +0 -5
  398. package/dist/components/p-KkJxo02O.js +0 -5
  399. package/dist/components/p-P3fAKtye.js +0 -5
  400. package/dist/components/service-booking-form.js +0 -5
  401. package/dist/esm/contact-us-form.entry.js +0 -196
  402. package/dist/esm/service-booking-form.entry.js +0 -196
  403. package/dist/shift-components/p-03f093e0.entry.js +0 -5
  404. package/dist/shift-components/p-1afee4a0.entry.js +0 -5
  405. package/dist/shift-components/p-2b990894.entry.js +0 -5
  406. package/dist/shift-components/p-42218765.entry.js +0 -5
  407. package/dist/shift-components/p-504ccfe3.entry.js +0 -5
  408. package/dist/shift-components/p-55c5a5ea.entry.js +0 -5
  409. package/dist/shift-components/p-5906834e.entry.js +0 -5
  410. package/dist/shift-components/p-5a697eeb.entry.js +0 -5
  411. package/dist/shift-components/p-67a10625.entry.js +0 -5
  412. package/dist/shift-components/p-701e3fb0.entry.js +0 -5
  413. package/dist/shift-components/p-BSpTbUWi.js +0 -5
  414. package/dist/shift-components/p-Bc60yqQu.js +0 -5
  415. package/dist/shift-components/p-CikEOqe0.js +0 -6
  416. package/dist/shift-components/p-DYfeIope.js +0 -5
  417. package/dist/shift-components/p-e063d9b4.entry.js +0 -5
  418. package/dist/shift-components/p-f18553dc.entry.js +0 -5
  419. package/dist/shift-components/p-fyqwD4fB.js +0 -5
  420. package/dist/types/components/forms/contact-us/element-mapper.d.ts +0 -3
  421. package/dist/types/components/forms/contact-us/validations.d.ts +0 -26
  422. package/dist/types/components/forms/contact-us-form.d.ts +0 -32
  423. package/dist/types/components/forms/service-booking/element-mapper.d.ts +0 -3
  424. package/dist/types/components/forms/service-booking/validations.d.ts +0 -26
  425. package/dist/types/components/forms/service-booking-form.d.ts +0 -32
  426. package/dist/types/global/lib/form-hook.d.ts +0 -47
  427. package/dist/types/global/lib/validate-form-structure.d.ts +0 -3
  428. package/dist/types/global/types/forms.d.ts +0 -64
  429. package/dist/types/global/types/general.d.ts +0 -23
  430. /package/dist/collection/{global/types/forms.js → features/form-hook/inputs/form-input.js} +0 -0
  431. /package/dist/collection/{global/types/general.js → features/form-hook/inputs/form-select.js} +0 -0
@@ -4,38 +4,58 @@
4
4
  */
5
5
  import { Host, h } from "@stencil/core";
6
6
  import cn from "../../global/lib/cn";
7
- import { FormHook } from "../../global/lib/form-hook";
8
- import { contactUsSchema } from "./service-booking/validations";
9
- import themes from "./service-booking/themes.json";
10
- import { contactUsElements } from "./service-booking/element-mapper";
11
- export class ContactUsForm {
7
+ import demoSchema from "../../locales/forms/demo/type";
8
+ import { DemoStructures } from "./demo/structure";
9
+ import { demoElements } from "./demo/element-mapper";
10
+ import { demoInputsValidation } from "./demo/validations";
11
+ import { FormHook } from "../../features/form-hook/form-hook";
12
+ import { gistLoader } from "../../features/form-hook/index";
13
+ import { getLocaleLanguage, getSharedFormLocal, sharedFormLocalesSchema } from "../../features/multi-lingual/index";
14
+ export class DemoForm {
12
15
  constructor() {
13
- this.queryString = '';
16
+ // ====== Start Localization
14
17
  this.language = 'en';
15
- this.structure = '["submit.Submit"]';
18
+ this.locale = Object.assign({ sharedFormLocales: sharedFormLocalesSchema.getDefault() }, demoSchema.getDefault());
19
+ this.queryString = '';
16
20
  this.recaptchaKey = '6Lehq6IpAAAAAETTDS2Zh60nHIT1a8oVkRtJ2WsA';
17
- this.renderControl = {};
18
21
  this.recaptchaWidget = null;
19
- this.form = new FormHook(this, contactUsSchema);
22
+ this.form = new FormHook(this, demoInputsValidation);
20
23
  }
21
- async componentDidLoad() {
22
- try {
23
- if (this.recaptchaKey) {
24
- const script = document.createElement('script');
25
- script.src = `https://www.google.com/recaptcha/api.js?render=${this.recaptchaKey}&hl=${this.language}`;
26
- script.async = true;
27
- script.defer = true;
28
- document.head.appendChild(script);
29
- }
30
- }
31
- catch (error) {
32
- console.log(error);
33
- }
24
+ async changeLanguage(newLanguage) {
25
+ const [sharedLocales, locale] = await Promise.all([getSharedFormLocal(newLanguage), getLocaleLanguage(newLanguage, 'forms.demo', demoSchema)]);
26
+ this.locale = Object.assign(Object.assign({}, sharedLocales), locale);
27
+ this.form.rerender({ rerenderAll: true });
28
+ }
29
+ setIsLoading(isLoading) {
30
+ this.isLoading = isLoading;
31
+ if (this.loadingChanges)
32
+ this.loadingChanges(true);
33
+ }
34
+ setErrorCallback(error) {
35
+ if (error === null || error === void 0 ? void 0 : error.message)
36
+ this.errorMessage = error.message;
37
+ if (this.errorCallback)
38
+ this.errorCallback(error);
39
+ }
40
+ setSuccessCallback(data) {
41
+ if (this.successCallback)
42
+ this.successCallback(data);
43
+ }
44
+ async componentWillLoad() {
45
+ await this.changeLanguage(this.language);
46
+ if (this.structure)
47
+ return;
48
+ if (this.gistId)
49
+ this.structure = await gistLoader(this.gistId);
50
+ else if (this.theme === 'tiq')
51
+ this.structure = DemoStructures.tiq;
34
52
  }
35
53
  async formSubmit(formValues) {
36
54
  try {
37
- if (this.loadingChanges)
38
- this.loadingChanges(true);
55
+ console.log(formValues);
56
+ this.setIsLoading(true);
57
+ if (formValues)
58
+ throw new Error('a');
39
59
  const token = await grecaptcha.execute(this.recaptchaKey, { action: 'submit' });
40
60
  const response = await fetch(`${this.baseUrl}?${this.queryString}`, {
41
61
  method: 'post',
@@ -48,43 +68,78 @@ export class ContactUsForm {
48
68
  },
49
69
  });
50
70
  const data = await response.json();
51
- if (this.successCallback)
52
- this.successCallback(data);
53
- this.form.successAnimation();
71
+ this.setSuccessCallback(data);
72
+ this.form.openDialog();
54
73
  setTimeout(() => {
55
74
  this.form.reset();
56
75
  }, 1000);
57
76
  }
58
77
  catch (error) {
59
78
  console.error(error);
60
- if (this.errorCallback)
61
- this.errorCallback(error);
62
- if (error === null || error === void 0 ? void 0 : error.message)
63
- this.errorMessage = error.message;
79
+ this.setErrorCallback(error);
64
80
  }
65
81
  finally {
66
- if (this.loadingChanges)
67
- this.loadingChanges(false);
82
+ this.setIsLoading(false);
83
+ }
84
+ }
85
+ async componentDidLoad() {
86
+ try {
87
+ if (this.recaptchaKey) {
88
+ const script = document.createElement('script');
89
+ script.src = `https://www.google.com/recaptcha/api.js?render=${this.recaptchaKey}&hl=${this.language}`;
90
+ script.async = true;
91
+ script.defer = true;
92
+ document.head.appendChild(script);
93
+ }
94
+ }
95
+ catch (error) {
96
+ console.log(error);
68
97
  }
69
98
  }
70
99
  render() {
71
- return (h(Host, { key: '57f35d04d5143f9189a9d0fbaaee4eb66b5cc85e', class: cn({
72
- [`contact-us-${this.theme}`]: this.theme,
73
- }) }, h("form-structure", { key: '75abaa68a1f53950df1f2ffaed471c09e995aa29', themes: themes, form: this.form, theme: this.theme, language: this.language, isLoading: this.isLoading, errorMessage: this.errorMessage, renderControl: this.renderControl, formElementMapper: contactUsElements }, h("slot", { key: 'bd586fa7cd1904d6d1d46c45c8a6b8d53dd461ec' }))));
100
+ return (h(Host, { key: '14d89e07a2c08ef76120b6294501be5b6a123fd8', class: cn({
101
+ [`demo-${this.theme}`]: this.theme,
102
+ }) }, h("form-structure", { key: 'df56b9446ecac93641b32caa4a501cba900500f7', form: this.form, language: this.language, formLocale: this.locale, structure: this.structure, isLoading: this.isLoading, errorMessage: this.errorMessage, formElementMapper: demoElements }, h("slot", { key: 'c014998b1962835e798764b19328ed718216616f' }))));
74
103
  }
75
- static get is() { return "service-booking-form"; }
104
+ static get is() { return "demo-form"; }
76
105
  static get originalStyleUrls() {
77
106
  return {
78
- "$": ["service-booking/form.css"]
107
+ "$": ["demo/themes.css"]
79
108
  };
80
109
  }
81
110
  static get styleUrls() {
82
111
  return {
83
- "$": ["service-booking/form.css"]
112
+ "$": ["demo/themes.css"]
84
113
  };
85
114
  }
86
115
  static get properties() {
87
116
  return {
117
+ "language": {
118
+ "type": "string",
119
+ "attribute": "language",
120
+ "mutable": false,
121
+ "complexType": {
122
+ "original": "LanguageKeys",
123
+ "resolved": "\"ar\" | \"en\" | \"ku\" | \"ru\"",
124
+ "references": {
125
+ "LanguageKeys": {
126
+ "location": "import",
127
+ "path": "~features/multi-lingual",
128
+ "id": "src/features/multi-lingual/index.ts::LanguageKeys"
129
+ }
130
+ }
131
+ },
132
+ "required": false,
133
+ "optional": false,
134
+ "docs": {
135
+ "tags": [],
136
+ "text": ""
137
+ },
138
+ "getter": false,
139
+ "setter": false,
140
+ "reflect": false,
141
+ "defaultValue": "'en'"
142
+ },
88
143
  "theme": {
89
144
  "type": "string",
90
145
  "attribute": "theme",
@@ -104,9 +159,9 @@ export class ContactUsForm {
104
159
  "setter": false,
105
160
  "reflect": false
106
161
  },
107
- "baseUrl": {
162
+ "gistId": {
108
163
  "type": "string",
109
- "attribute": "base-url",
164
+ "attribute": "gist-id",
110
165
  "mutable": false,
111
166
  "complexType": {
112
167
  "original": "string",
@@ -114,7 +169,7 @@ export class ContactUsForm {
114
169
  "references": {}
115
170
  },
116
171
  "required": false,
117
- "optional": false,
172
+ "optional": true,
118
173
  "docs": {
119
174
  "tags": [],
120
175
  "text": ""
@@ -142,13 +197,13 @@ export class ContactUsForm {
142
197
  "setter": false,
143
198
  "reflect": false
144
199
  },
145
- "queryString": {
146
- "type": "string",
147
- "attribute": "query-string",
200
+ "errorCallback": {
201
+ "type": "unknown",
202
+ "attribute": "error-callback",
148
203
  "mutable": false,
149
204
  "complexType": {
150
- "original": "string",
151
- "resolved": "string",
205
+ "original": "(error: any) => void",
206
+ "resolved": "(error: any) => void",
152
207
  "references": {}
153
208
  },
154
209
  "required": false,
@@ -158,24 +213,16 @@ export class ContactUsForm {
158
213
  "text": ""
159
214
  },
160
215
  "getter": false,
161
- "setter": false,
162
- "reflect": false,
163
- "defaultValue": "''"
216
+ "setter": false
164
217
  },
165
- "language": {
166
- "type": "string",
167
- "attribute": "language",
218
+ "successCallback": {
219
+ "type": "unknown",
220
+ "attribute": "success-callback",
168
221
  "mutable": false,
169
222
  "complexType": {
170
- "original": "LanguageKeys",
171
- "resolved": "\"ar\" | \"en\" | \"ku\" | \"ru\"",
172
- "references": {
173
- "LanguageKeys": {
174
- "location": "import",
175
- "path": "~features/multi-lingual",
176
- "id": "src/features/multi-lingual/index.ts::LanguageKeys"
177
- }
178
- }
223
+ "original": "(data: any) => void",
224
+ "resolved": "(data: any) => void",
225
+ "references": {}
179
226
  },
180
227
  "required": false,
181
228
  "optional": false,
@@ -184,17 +231,15 @@ export class ContactUsForm {
184
231
  "text": ""
185
232
  },
186
233
  "getter": false,
187
- "setter": false,
188
- "reflect": false,
189
- "defaultValue": "'en'"
234
+ "setter": false
190
235
  },
191
- "structure": {
192
- "type": "string",
193
- "attribute": "structure",
236
+ "loadingChanges": {
237
+ "type": "unknown",
238
+ "attribute": "loading-changes",
194
239
  "mutable": false,
195
240
  "complexType": {
196
- "original": "string",
197
- "resolved": "string",
241
+ "original": "(loading: boolean) => void",
242
+ "resolved": "(loading: boolean) => void",
198
243
  "references": {}
199
244
  },
200
245
  "required": false,
@@ -204,18 +249,27 @@ export class ContactUsForm {
204
249
  "text": ""
205
250
  },
206
251
  "getter": false,
207
- "setter": false,
208
- "reflect": false,
209
- "defaultValue": "'[\"submit.Submit\"]'"
252
+ "setter": false
210
253
  },
211
- "recaptchaKey": {
212
- "type": "string",
213
- "attribute": "recaptcha-key",
254
+ "structure": {
255
+ "type": "unknown",
256
+ "attribute": "structure",
214
257
  "mutable": false,
215
258
  "complexType": {
216
- "original": "string",
217
- "resolved": "string",
218
- "references": {}
259
+ "original": "FormElementStructure<demoElementNames> | undefined",
260
+ "resolved": "{ data?: Record<string, any>; } & { id?: string; class?: string; children?: (\"submit\" | OptionalKeys<{ confirmPolicy: boolean; ageConfirmation: true; cityId: string; email: string; message: string; generalTicketType: string; name: string; phone: string; }> | FormElementStructureComponents<\"submit\" | OptionalKeys<{ confirmPolicy: boolean; ageConfirmation: true; cityId: string; email: string; message: string; generalTicketType: string; name: string; phone: string; }>>)[]; } & { tag: string; name?: \"submit\" | OptionalKeys<{ confirmPolicy: boolean; ageConfirmation: true; cityId: string; email: string; message: string; generalTicketType: string; name: string; phone: string; }>; } | { data?: Record<string, any>; } & { id?: string; class?: string; children?: (\"submit\" | OptionalKeys<{ confirmPolicy: boolean; ageConfirmation: true; cityId: string; email: string; message: string; generalTicketType: string; name: string; phone: string; }> | FormElementStructureComponents<\"submit\" | OptionalKeys<{ confirmPolicy: boolean; ageConfirmation: true; cityId: string; email: string; message: string; generalTicketType: string; name: string; phone: string; }>>)[]; } & { tag?: string; name: \"submit\" | OptionalKeys<{ confirmPolicy: boolean; ageConfirmation: true; cityId: string; email: string; message: string; generalTicketType: string; name: string; phone: string; }>; }",
261
+ "references": {
262
+ "FormElementStructure": {
263
+ "location": "import",
264
+ "path": "~features/form-hook",
265
+ "id": "src/features/form-hook/index.ts::FormElementStructure"
266
+ },
267
+ "demoElementNames": {
268
+ "location": "import",
269
+ "path": "./demo/element-mapper",
270
+ "id": "src/components/forms/demo/element-mapper.tsx::demoElementNames"
271
+ }
272
+ }
219
273
  },
220
274
  "required": false,
221
275
  "optional": false,
@@ -224,17 +278,15 @@ export class ContactUsForm {
224
278
  "text": ""
225
279
  },
226
280
  "getter": false,
227
- "setter": false,
228
- "reflect": false,
229
- "defaultValue": "'6Lehq6IpAAAAAETTDS2Zh60nHIT1a8oVkRtJ2WsA'"
281
+ "setter": false
230
282
  },
231
- "errorCallback": {
232
- "type": "unknown",
233
- "attribute": "error-callback",
283
+ "baseUrl": {
284
+ "type": "string",
285
+ "attribute": "base-url",
234
286
  "mutable": false,
235
287
  "complexType": {
236
- "original": "(error: any) => void",
237
- "resolved": "(error: any) => void",
288
+ "original": "string",
289
+ "resolved": "string",
238
290
  "references": {}
239
291
  },
240
292
  "required": false,
@@ -244,15 +296,16 @@ export class ContactUsForm {
244
296
  "text": ""
245
297
  },
246
298
  "getter": false,
247
- "setter": false
299
+ "setter": false,
300
+ "reflect": false
248
301
  },
249
- "successCallback": {
250
- "type": "unknown",
251
- "attribute": "success-callback",
302
+ "queryString": {
303
+ "type": "string",
304
+ "attribute": "query-string",
252
305
  "mutable": false,
253
306
  "complexType": {
254
- "original": "(values: any) => void",
255
- "resolved": "(values: any) => void",
307
+ "original": "string",
308
+ "resolved": "string",
256
309
  "references": {}
257
310
  },
258
311
  "required": false,
@@ -262,15 +315,17 @@ export class ContactUsForm {
262
315
  "text": ""
263
316
  },
264
317
  "getter": false,
265
- "setter": false
318
+ "setter": false,
319
+ "reflect": false,
320
+ "defaultValue": "''"
266
321
  },
267
- "loadingChanges": {
268
- "type": "unknown",
269
- "attribute": "loading-changes",
322
+ "recaptchaKey": {
323
+ "type": "string",
324
+ "attribute": "recaptcha-key",
270
325
  "mutable": false,
271
326
  "complexType": {
272
- "original": "(loading: boolean) => void",
273
- "resolved": "(loading: boolean) => void",
327
+ "original": "string",
328
+ "resolved": "string",
274
329
  "references": {}
275
330
  },
276
331
  "required": false,
@@ -280,16 +335,24 @@ export class ContactUsForm {
280
335
  "text": ""
281
336
  },
282
337
  "getter": false,
283
- "setter": false
338
+ "setter": false,
339
+ "reflect": false,
340
+ "defaultValue": "'6Lehq6IpAAAAAETTDS2Zh60nHIT1a8oVkRtJ2WsA'"
284
341
  }
285
342
  };
286
343
  }
287
344
  static get states() {
288
345
  return {
346
+ "locale": {},
289
347
  "isLoading": {},
290
- "renderControl": {},
291
348
  "errorMessage": {}
292
349
  };
293
350
  }
294
351
  static get elementRef() { return "el"; }
352
+ static get watchers() {
353
+ return [{
354
+ "propName": "language",
355
+ "methodName": "changeLanguage"
356
+ }];
357
+ }
295
358
  }
@@ -0,0 +1,50 @@
1
+ /*!
2
+ * Built by ShiftSoftware
3
+ * Copyright (c)
4
+ */
5
+ import { h } from "@stencil/core";
6
+ import { LoaderIcon } from "../../../global/assets/loader-icon";
7
+ import cn from "../../../global/lib/cn";
8
+ const cachedImages = {};
9
+ const cacheImage = (form, imSrc, id) => {
10
+ fetch(imSrc)
11
+ .then(res => res.blob())
12
+ .then(blob => {
13
+ const reader = new FileReader();
14
+ reader.onloadend = () => {
15
+ cachedImages[id] = reader.result;
16
+ form.rerender({ rerenderForm: true });
17
+ };
18
+ reader.readAsDataURL(blob);
19
+ })
20
+ .catch(e => {
21
+ console.log(e);
22
+ // fail silently, keep fallback
23
+ });
24
+ };
25
+ let imageSrcBase64 = '';
26
+ export const VehicleImageViewer = ({ form }) => {
27
+ var _a, _b, _c;
28
+ form.addWatcher('vehicle');
29
+ let vehicleId = form.getValue('vehicle');
30
+ let openContainer = !!vehicleId;
31
+ const selectedVehicle = (_a = form.context['vehicleList']) === null || _a === void 0 ? void 0 : _a.find(vehicle => `${vehicle === null || vehicle === void 0 ? void 0 : vehicle.ID}` === vehicleId);
32
+ let imSrc;
33
+ if (selectedVehicle) {
34
+ imSrc = selectedVehicle === null || selectedVehicle === void 0 ? void 0 : selectedVehicle.Image;
35
+ vehicleId = selectedVehicle.ID;
36
+ }
37
+ else if (form.context['vehicleList'] && form.context['vehicleList'][0]) {
38
+ imSrc = (_c = (_b = form.context['vehicleList'][0]) === null || _b === void 0 ? void 0 : _b.meta) === null || _c === void 0 ? void 0 : _c.image;
39
+ vehicleId = form.context['vehicleList'][0].value;
40
+ }
41
+ let isLoading = false;
42
+ if (cachedImages[vehicleId]) {
43
+ imageSrcBase64 = cachedImages[vehicleId];
44
+ }
45
+ else if (form && imSrc && vehicleId) {
46
+ cacheImage(form, imSrc, vehicleId);
47
+ isLoading = true;
48
+ }
49
+ return (h("flexible-container", { isOpened: openContainer }, h("div", { class: cn('vehicle-image-wrapper', { loading: isLoading }) }, h("div", { class: "loading-wrapper" }, h(LoaderIcon, { class: "img" })), h("img", { src: imageSrcBase64, alt: "toyota vehicle" }))));
50
+ };
@@ -0,0 +1,120 @@
1
+ /*!
2
+ * Built by ShiftSoftware
3
+ * Copyright (c)
4
+ */
5
+ import { forceUpdate, h } from "@stencil/core";
6
+ import { phoneValidator } from "./validations";
7
+ import { VehicleImageViewer } from "./VehicleImageViewer";
8
+ export const vehicleQuotationElements = {
9
+ 'submit': ({ props }) => h("form-submit", Object.assign({}, props)),
10
+ 'name': ({ props }) => h("form-input", Object.assign({}, props)),
11
+ 'phone': ({ props, isLoading }) => h("form-phone-number", Object.assign({}, props, { isLoading: isLoading, defaultValue: phoneValidator.default, validator: phoneValidator })),
12
+ 'vehicle': ({ form, language, props }) => {
13
+ var _a;
14
+ const fetcher = async ({ signal }) => {
15
+ var _a;
16
+ const vehicleEndpoint = (_a = form.context.structure) === null || _a === void 0 ? void 0 : _a.data.vehicleApi;
17
+ const response = await fetch(vehicleEndpoint, { signal, headers: { 'Accept-Language': language } });
18
+ form.context['vehicleList'] = await response.json();
19
+ forceUpdate(form.formStructure);
20
+ return form.context['vehicleList'].map(vehicle => ({
21
+ label: vehicle.Title,
22
+ value: `${vehicle.ID}`,
23
+ meta: { image: vehicle.Image },
24
+ }));
25
+ };
26
+ const params = new URLSearchParams(window.location.search);
27
+ const defaultValue = params.get((_a = form.context.structure.data) === null || _a === void 0 ? void 0 : _a.vehicleIdQueryParam);
28
+ return h("form-select", Object.assign({}, props, { defaultValue: defaultValue, searchable: true, fetcher: fetcher, language: language }));
29
+ },
30
+ 'dealer': ({ form, language, props }) => {
31
+ const fetcher = async ({ signal }) => {
32
+ var _a;
33
+ const dealerEndpoint = (_a = form.context.structure) === null || _a === void 0 ? void 0 : _a.data.dealerApi;
34
+ const response = await fetch(dealerEndpoint, { signal, headers: { 'Accept-Language': language } });
35
+ form.context['dealerList'] = (await response.json()).map(dealer => ({
36
+ label: dealer.Name,
37
+ value: `${dealer.ID}`,
38
+ }));
39
+ return form.context['dealerList'];
40
+ };
41
+ return h("form-select", Object.assign({}, props, { clearable: true, searchable: true, fetcher: fetcher, language: language }));
42
+ },
43
+ 'paymentType': ({ language, props, locale }) => {
44
+ const fetcher = async ({}) => {
45
+ return [
46
+ {
47
+ value: 'Cash',
48
+ label: locale === null || locale === void 0 ? void 0 : locale.Cash,
49
+ },
50
+ {
51
+ value: 'FlexiblePaymentPlan',
52
+ label: locale.Flexible,
53
+ },
54
+ ];
55
+ };
56
+ return h("form-select", Object.assign({}, props, { clearable: true, fetcher: fetcher, language: language }));
57
+ },
58
+ 'ownVehicle': ({ language, props, locale }) => {
59
+ const fetcher = async ({}) => {
60
+ return [
61
+ {
62
+ value: 'yes',
63
+ label: locale === null || locale === void 0 ? void 0 : locale.Yes,
64
+ },
65
+ {
66
+ value: 'no',
67
+ label: locale === null || locale === void 0 ? void 0 : locale.No,
68
+ },
69
+ ];
70
+ };
71
+ return h("form-select", Object.assign({}, props, { fetcher: fetcher, language: language }));
72
+ },
73
+ 'currentVehicleBrand': ({ form, language, props, locale }) => {
74
+ form.addWatcher('ownVehicle');
75
+ const ownVehicle = form.getValue('ownVehicle') === 'yes';
76
+ const fetcher = async ({ signal }) => {
77
+ var _a;
78
+ const currentVehiclesEndpoint = (_a = form.context.structure) === null || _a === void 0 ? void 0 : _a.data.currentVehiclesApi;
79
+ const response = await fetch(currentVehiclesEndpoint, { signal, headers: { 'Accept-Language': language } });
80
+ form.context['currentVehiclesList'] = await response.json();
81
+ return [
82
+ ...form.context['currentVehiclesList'].map(vehicle => ({
83
+ label: vehicle.name,
84
+ value: `${vehicle.id}`,
85
+ })),
86
+ {
87
+ value: 'others',
88
+ label: locale.Others,
89
+ },
90
+ ];
91
+ };
92
+ return h("form-select", Object.assign({}, props, { searchable: true, fetcher: fetcher, language: language, resetKey: ownVehicle, isRequired: ownVehicle, isDisabled: !ownVehicle }));
93
+ },
94
+ 'currentVehicleModel': ({ form, language, props, locale }) => {
95
+ form.addWatcher('ownVehicle');
96
+ form.addWatcher('currentVehicleBrand');
97
+ const ownVehicle = form.getValue('ownVehicle') === 'yes';
98
+ const currentVehicleBrand = form.getValue('currentVehicleBrand');
99
+ const fetcher = async ({}) => {
100
+ var _a;
101
+ if (!currentVehicleBrand)
102
+ return [];
103
+ const selectedBrand = (_a = form.context['currentVehiclesList']) === null || _a === void 0 ? void 0 : _a.find(vehicle => `${vehicle === null || vehicle === void 0 ? void 0 : vehicle.id}` === currentVehicleBrand);
104
+ if (!selectedBrand)
105
+ return [];
106
+ return [
107
+ ...selectedBrand === null || selectedBrand === void 0 ? void 0 : selectedBrand.models.map(model => ({ label: model.name, value: `${model.id}` })),
108
+ {
109
+ value: 'others',
110
+ label: locale.Others,
111
+ },
112
+ ];
113
+ };
114
+ return (h("form-select", Object.assign({}, props, { searchable: true, fetcher: fetcher, language: language, resetKey: currentVehicleBrand, fetcherKey: currentVehicleBrand, isRequired: ownVehicle && currentVehicleBrand !== 'others', isDisabled: !currentVehicleBrand || currentVehicleBrand === 'others' })));
115
+ },
116
+ 'vehicleImage': ({ form }) => h(VehicleImageViewer, { form: form }),
117
+ 'choose': ({ locale }) => h("h1", { class: "section-title" }, locale.Choose),
118
+ 'current car': ({ locale }) => h("h1", { class: "section-title" }, locale['Your current car']),
119
+ 'contact information': ({ locale }) => h("h1", { class: "section-title" }, locale['Contact Information']),
120
+ };
@@ -0,0 +1,34 @@
1
+ /*!
2
+ * Built by ShiftSoftware
3
+ * Copyright (c)
4
+ */
5
+ // import { vehicleQuotationElementNames } from './element-mapper';
6
+ // import { FormElementStructure } from '~features/form-hook';
7
+ // const tiq: FormElementStructure<vehicleQuotationElementNames> = {
8
+ // data: {
9
+ // theme: 'tiq',
10
+ // brandId: 'kWrKw',
11
+ // vehicleIdQueryParam: 'cId',
12
+ // nameContactedVehicles: true,
13
+ // quotationType: 'NewVehiclePurchase',
14
+ // recaptchaKey: '6Lehq6IpAAAAAETTDS2Zh60nHIT1a8oVkRtJ2WsA',
15
+ // vehicleApi: 'https://tiq-publications-functions.azurewebsites.net/api/models',
16
+ // currentVehiclesApi: 'https://tiq-vehicles-functions-staging.azurewebsites.net/api/BrandAndModels',
17
+ // requestUrl: 'https://tiq-tickets.azurewebsites.net/api/external/website/vehicle-quotation?production=false',
18
+ // dealerApi: 'https://tiq-identity-server.azurewebsites.net/api/public/company-branch?brands=TYT&services=new-vehicle-sale',
19
+ // },
20
+ // tag: 'div',
21
+ // id: 'container',
22
+ // children: [
23
+ // 'choose',
24
+ // { tag: 'div', id: 'vehicle-wrapper', children: ['vehicle', 'vehicleImage'] },
25
+ // { tag: 'hr' },
26
+ // 'contact information',
27
+ // { tag: 'div', id: 'inputs_wrapper', children: ['name', 'phone', 'dealer', 'paymentType'] },
28
+ // { tag: 'hr' },
29
+ // 'current car',
30
+ // { tag: 'div', id: 'inputs_wrapper', children: ['ownVehicle', 'currentVehicleBrand', 'currentVehicleModel'] },
31
+ // { name: 'submit', id: 'Submit' },
32
+ // ],
33
+ // };
34
+ // export const VehicleQuotationStructures = { tiq };
@@ -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.15 | 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}.mx-auto{margin-left:auto;margin-right:auto}.mb-\[24px\]{margin-bottom:24px}.block{display:block}.flex{display:flex}.max-w-\[700px\]{max-width:700px}.flex-col{flex-direction:column}.gap-\[24px\]{gap:24px}.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}}:host{all:initial!important;display:block}*{font-family:Arial}.contact-us-tiq #container{margin-left:auto;margin-right:auto;max-width:700px}.contact-us-tiq #inputs_wrapper{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}@media (min-width:640px){.contact-us-tiq #inputs_wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-us-tiq #message{margin-bottom:24px}@media (min-width:640px){.sm\:grid{display:grid}}.static{position:static}
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}:host{all:initial!important;display:block}*{font-family:Arial}.static{position:static}.\!h-auto{height:auto!important}.w-full{width:100%}.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}.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}}.relative{position:relative}.size-\[70px\]{height:70px;width:70px}.stroke-green-700{stroke:#15803d}.opacity-0{opacity:0}.hidden{display:none}