adp-web-components 0.0.95 → 0.0.97

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-CCn1p4nM.js → get-local-language-C_B5UpUK.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-ZkbQVCRR.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-D8rizwvZ.js → type-Bv0xlV1X.js} +1 -1
  29. package/dist/cjs/{type-CWFawTeP.js → type-ovX9euBp.js} +1 -1
  30. package/dist/cjs/vehicle-accessories_6.cjs.entry.js +30 -33
  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 +444 -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 +139 -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 +42 -0
  74. package/dist/collection/components/forms/vehicle-quotation.js +327 -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 +4 -11
  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 +40 -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-B68G_Ld3.js → p-1_IG0jXf.js} +1 -1
  147. package/dist/components/p-B2MwZoPq.js +5 -0
  148. package/dist/components/p-B2beUAyz.js +5 -0
  149. package/dist/components/p-B3Uao1Ha.js +5 -0
  150. package/dist/components/p-BC0ykyCl.js +5 -0
  151. package/dist/components/p-BGTo_J4_.js +5 -0
  152. package/dist/components/{p-DOmV6aKY.js → p-BJ7Y_0HH.js} +1 -1
  153. package/dist/components/p-BXBJhfKx.js +5 -0
  154. package/dist/components/p-BXfdBBWy.js +5 -0
  155. package/dist/components/p-B_Awuajg.js +5 -0
  156. package/dist/components/p-BziBwpva.js +5 -0
  157. package/dist/components/p-C-I1G2GL.js +5 -0
  158. package/dist/components/p-CGKHe5aV.js +5 -0
  159. package/dist/components/p-CQnGszy6.js +5 -0
  160. package/dist/components/p-C_jDd3e_.js +5 -0
  161. package/dist/components/p-C_ozk0lR.js +5 -0
  162. package/dist/components/p-Cgt5s_xn.js +5 -0
  163. package/dist/components/p-Chfe8TId.js +5 -0
  164. package/dist/components/p-CnHfmo0x.js +5 -0
  165. package/dist/components/p-Cs2-cikp.js +5 -0
  166. package/dist/components/p-CtOrqs6B.js +5 -0
  167. package/dist/components/p-D0IHkGuC.js +5 -0
  168. package/dist/components/p-D3BMiplT.js +5 -0
  169. package/dist/components/p-D9VJI-bd.js +5 -0
  170. package/dist/components/p-DB29Litl.js +5 -0
  171. package/dist/components/p-DC7E4vgR.js +5 -0
  172. package/dist/components/p-DLNC6ubn.js +5 -0
  173. package/dist/components/p-DRK0oYuz.js +5 -0
  174. package/dist/components/p-DRnxC_Dv.js +5 -0
  175. package/dist/components/p-DW3sRsIe.js +5 -0
  176. package/dist/components/p-DijSwhFz.js +5 -0
  177. package/dist/components/p-DkCCdt6S.js +5 -0
  178. package/dist/components/p-Dn3zEIrl.js +5 -0
  179. package/dist/components/p-DvwR_CeT.js +5 -0
  180. package/dist/components/p-M7q3SKiP.js +5 -0
  181. package/dist/components/p-Xrfzb9z7.js +5 -0
  182. package/dist/components/p-nDe1Tx7N.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-BOB5F5ZP.js → get-local-language-uS6vNigf.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-DQUNYPN-.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-CUrex2XJ.js → type-Ct-uDjGf.js} +1 -1
  231. package/dist/esm/{type-BfKkCp-Z.js → type-DmjYUDuJ.js} +1 -1
  232. package/dist/esm/vehicle-accessories_6.entry.js +30 -33
  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 +442 -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 +34 -0
  253. package/dist/locales/forms/vehicleQuotation/en.json +34 -0
  254. package/dist/locales/forms/vehicleQuotation/ku.json +34 -0
  255. package/dist/locales/forms/vehicleQuotation/ru.json +34 -0
  256. package/dist/locales/forms/vehicleQuotation/type.ts +38 -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-0788630d.entry.js +5 -0
  268. package/dist/shift-components/{p-0c8bbdd0.entry.js → p-087fef54.entry.js} +1 -1
  269. package/dist/shift-components/p-203a857e.entry.js +5 -0
  270. package/dist/shift-components/p-3901EPA-.js +5 -0
  271. package/dist/shift-components/p-540f78fd.entry.js +5 -0
  272. package/dist/shift-components/p-54d04a69.entry.js +5 -0
  273. package/dist/shift-components/p-5595a43e.entry.js +5 -0
  274. package/dist/shift-components/p-6153b149.entry.js +5 -0
  275. package/dist/shift-components/{p-277c8a5b.entry.js → p-82cd67f3.entry.js} +1 -1
  276. package/dist/shift-components/p-8d9be2dc.entry.js +5 -0
  277. package/dist/shift-components/p-9464bc69.entry.js +5 -0
  278. package/dist/shift-components/{p-B8ZR3r4y.js → p-B-n4m635.js} +1 -1
  279. package/dist/shift-components/{p-DzSZ47FV.js → p-BK6OxaNt.js} +1 -1
  280. package/dist/shift-components/{p-Wtw8qj6x.js → p-BWuXL_w2.js} +1 -1
  281. package/dist/shift-components/p-Beoi5LCx.js +5 -0
  282. package/dist/shift-components/p-BgARsXBh.js +5 -0
  283. package/dist/shift-components/p-BnEa9hGL.js +6 -0
  284. package/dist/shift-components/p-BuKksSjk.js +5 -0
  285. package/dist/shift-components/p-Bzq1Jrq5.js +5 -0
  286. package/dist/shift-components/p-DB9dXavJ.js +5 -0
  287. package/dist/shift-components/p-DL_G203I.js +5 -0
  288. package/dist/shift-components/{p-Bx6q5cq-.js → p-DpQp5gau.js} +1 -1
  289. package/dist/shift-components/p-acd07f69.entry.js +5 -0
  290. package/dist/shift-components/p-b0ebebd3.entry.js +5 -0
  291. package/dist/shift-components/p-b8ae2d0d.entry.js +5 -0
  292. package/dist/shift-components/p-bc10e8d1.entry.js +5 -0
  293. package/dist/shift-components/p-c46ecd64.entry.js +5 -0
  294. package/dist/shift-components/p-dec7a90a.entry.js +5 -0
  295. package/dist/shift-components/p-e298ef79.entry.js +5 -0
  296. package/dist/shift-components/{p-238f5df0.entry.js → p-e67ec123.entry.js} +1 -1
  297. package/dist/shift-components/p-eL99WkVm.js +5 -0
  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 +34 -0
  323. package/dist/types/components/forms/vehicle-quotation.d.ts +38 -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 +68 -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-0PjZRWut.js +0 -5
  376. package/dist/components/p-11ylorNL.js +0 -5
  377. package/dist/components/p-B2qqkU3A.js +0 -5
  378. package/dist/components/p-B6j7vssc.js +0 -5
  379. package/dist/components/p-BF4ShuLZ.js +0 -5
  380. package/dist/components/p-BGe0MyLF.js +0 -5
  381. package/dist/components/p-BKq17ywX.js +0 -5
  382. package/dist/components/p-BSP1ayje.js +0 -5
  383. package/dist/components/p-BVPVJguA.js +0 -5
  384. package/dist/components/p-BhjL0HMA.js +0 -5
  385. package/dist/components/p-BjSLaXGX.js +0 -5
  386. package/dist/components/p-Bm8G-DAp.js +0 -5
  387. package/dist/components/p-CIaM3UPL.js +0 -5
  388. package/dist/components/p-CcP_EtCu.js +0 -5
  389. package/dist/components/p-CtpTKsfq.js +0 -5
  390. package/dist/components/p-D8xszt8E.js +0 -5
  391. package/dist/components/p-DXGHyX7G.js +0 -5
  392. package/dist/components/p-Di5SfFwc.js +0 -5
  393. package/dist/components/p-DyaIfEgq.js +0 -5
  394. package/dist/components/p-P3fAKtye.js +0 -5
  395. package/dist/components/p-QMinV6Ic.js +0 -5
  396. package/dist/components/p-TyreGxpg.js +0 -5
  397. package/dist/components/p-alw0x13e.js +0 -5
  398. package/dist/components/p-eQuyMB7o.js +0 -5
  399. package/dist/components/p-x0cm6Jgv.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-077e4c82.entry.js +0 -5
  405. package/dist/shift-components/p-42218765.entry.js +0 -5
  406. package/dist/shift-components/p-43a8b998.entry.js +0 -5
  407. package/dist/shift-components/p-55558c0f.entry.js +0 -5
  408. package/dist/shift-components/p-55c5a5ea.entry.js +0 -5
  409. package/dist/shift-components/p-701e3fb0.entry.js +0 -5
  410. package/dist/shift-components/p-8d7b1edb.entry.js +0 -5
  411. package/dist/shift-components/p-BSpTbUWi.js +0 -5
  412. package/dist/shift-components/p-CTkDt6jM.js +0 -5
  413. package/dist/shift-components/p-CikEOqe0.js +0 -6
  414. package/dist/shift-components/p-DPgWys0Y.js +0 -5
  415. package/dist/shift-components/p-bc419485.entry.js +0 -5
  416. package/dist/shift-components/p-e8e37708.entry.js +0 -5
  417. package/dist/shift-components/p-f1181125.entry.js +0 -5
  418. package/dist/shift-components/p-f760aaa3.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,31 +4,32 @@
4
4
  */
5
5
  import { Host, h } from "@stencil/core";
6
6
  import cn from "../../global/lib/cn";
7
+ import { getNestedValue } from "../../global/lib/get-nested-value";
7
8
  import Loader from "~assets/loader.svg";
8
- import formsSchema from "../../locales/forms/type";
9
- import generalSchema from "../../locales/general/type";
10
- import formWrapperSchema from "../../locales/forms/wrapper-type";
11
- import { getLocaleLanguage, getSharedLocal, sharedLocalesSchema } from "../../features/multi-lingual/index";
9
+ import { TickIcon } from "../../global/assets/tick-icon";
10
+ import { ArrowUpIcon } from "../../global/assets/arrow-up-icon";
11
+ import { FormInputLabel } from "./components/form-input-label";
12
+ import { FormErrorMessage } from "./components/form-error-message";
13
+ import { AddIcon } from "../../global/assets/add-icon";
14
+ const partKeyPrefix = 'form-select-';
12
15
  export class FormSelect {
13
16
  constructor() {
17
+ this.clearable = false;
14
18
  this.language = 'en';
15
- this.placeholder = 'Select an option';
19
+ this.searchValue = '';
16
20
  this.isOpen = false;
17
21
  this.selectedValue = '';
18
22
  this.openUpwards = false;
19
23
  this.options = [];
20
24
  this.fetchingErrorMessage = null;
21
- this.sharedLocales = sharedLocalesSchema.getDefault();
22
- this.locale = formWrapperSchema.getDefault();
23
- this.generalLocales = generalSchema.getDefault();
24
25
  this.toggleDropdown = () => {
25
- if (this.isOpen)
26
+ if (this.isOpen && !this.searchable)
26
27
  this.isOpen = false;
27
28
  else
28
29
  this.adjustDropdownPosition();
29
30
  };
30
31
  this.reset = (newValue = '') => {
31
- const defaultOption = this.options.find(opt => opt.value === newValue) || { value: newValue, label: '' };
32
+ const defaultOption = this.options.find(opt => opt.value === newValue || opt.value === this.defaultValue) || { value: newValue, label: '' };
32
33
  this.handleSelection(defaultOption);
33
34
  };
34
35
  this.closeDropdown = (event) => {
@@ -36,29 +37,43 @@ export class FormSelect {
36
37
  this.isOpen = false;
37
38
  }
38
39
  };
40
+ this.onSearchInput = (event) => {
41
+ const target = event.target;
42
+ this.searchValue = target.value;
43
+ this.selectedValue = '';
44
+ };
45
+ this.clearInput = () => {
46
+ this.searchValue = '';
47
+ this.selectedValue = '';
48
+ const selectButton = this.el.getElementsByClassName('form-input-select')[0];
49
+ selectButton.focus();
50
+ if (!this.isOpen)
51
+ this.adjustDropdownPosition();
52
+ };
53
+ }
54
+ async changeLanguage() {
55
+ this.fetch();
39
56
  }
40
- async changeLanguage(newLanguage) {
41
- const currentFormSchema = formWrapperSchema.fields[this.formLocaleName];
42
- const localeResponses = await Promise.all([
43
- getLocaleLanguage(newLanguage, 'forms*', formsSchema),
44
- getSharedLocal(newLanguage),
45
- getLocaleLanguage(newLanguage, ('forms.' + this.formLocaleName), currentFormSchema),
46
- getLocaleLanguage(newLanguage, 'general', generalSchema),
47
- ]);
48
- Object.assign(this.locale, localeResponses[0]);
49
- Object.assign(this.locale[this.formLocaleName], localeResponses[2]);
50
- this.sharedLocales = localeResponses[1];
51
- this.generalLocales = localeResponses[3];
57
+ async fetchListener() {
52
58
  this.fetch();
53
59
  }
60
+ async resetListener() {
61
+ this.reset();
62
+ }
54
63
  async componentWillLoad() {
55
64
  this.form.subscribe(this.name, this);
56
- await this.changeLanguage(this.language);
65
+ this.selectedValue = this.defaultValue;
66
+ }
67
+ async disconnectedCallback() {
68
+ this.abortController.abort();
69
+ this.form.unsubscribe(this.name);
70
+ document.removeEventListener('click', this.closeDropdown);
71
+ document.removeEventListener('keydown', this.handleKeyDown.bind(this));
57
72
  }
58
73
  adjustDropdownPosition() {
59
74
  requestAnimationFrame(() => {
60
- const selectButton = this.el.getElementsByClassName('select-button')[0];
61
- const selectContainer = this.el.getElementsByClassName('select-container')[0];
75
+ const selectButton = this.el.getElementsByClassName('form-input-select')[0];
76
+ const selectContainer = this.el.getElementsByClassName('form-select-container')[0];
62
77
  const rect = selectButton.getBoundingClientRect();
63
78
  const spaceBelow = window.innerHeight - rect.bottom - 20; // 20 is padding
64
79
  this.openUpwards = spaceBelow < selectContainer.getBoundingClientRect().height;
@@ -69,6 +84,7 @@ export class FormSelect {
69
84
  }
70
85
  handleSelection(option) {
71
86
  this.selectedValue = option.value;
87
+ this.searchValue = option.label;
72
88
  this.isOpen = false;
73
89
  }
74
90
  handleKeyDown(event) {
@@ -80,13 +96,18 @@ export class FormSelect {
80
96
  }
81
97
  async fetch() {
82
98
  try {
83
- this.isLoading = true;
99
+ this.isFetching = true;
84
100
  if (this.abortController)
85
101
  this.abortController.abort();
86
102
  this.abortController = new AbortController();
87
- const options = await this.fetcher(this.language, this.abortController.signal);
103
+ const options = await this.fetcher({ language: this.language, signal: this.abortController.signal, locale: this.form.getFormLocale()[0] });
88
104
  this.fetchingErrorMessage = null;
89
105
  this.options = options;
106
+ if (this.defaultValue) {
107
+ const defaultOption = options.find(option => option.value === this.defaultValue);
108
+ if (defaultOption)
109
+ this.handleSelection(defaultOption);
110
+ }
90
111
  }
91
112
  catch (error) {
92
113
  if (error && (error === null || error === void 0 ? void 0 : error.name) === 'AbortError')
@@ -96,48 +117,45 @@ export class FormSelect {
96
117
  this.fetchingErrorMessage = error.message;
97
118
  }
98
119
  finally {
99
- this.isLoading = false;
120
+ this.isFetching = false;
100
121
  }
101
122
  }
102
123
  async componentDidLoad() {
124
+ this.fetch();
103
125
  document.addEventListener('click', this.closeDropdown);
104
126
  document.addEventListener('keydown', this.handleKeyDown.bind(this));
105
127
  }
106
- async disconnectedCallback() {
107
- this.abortController.abort();
108
- document.removeEventListener('click', this.closeDropdown);
109
- document.removeEventListener('keydown', this.handleKeyDown.bind(this));
110
- }
111
128
  render() {
112
- const texts = this.locale[this.formLocaleName];
129
+ const { disabled, isRequired, meta, isError, errorMessage } = this.form.getInputState(this.name);
130
+ const [locale] = this.form.getFormLocale();
131
+ const part = partKeyPrefix + this.name;
132
+ const label = getNestedValue(locale, meta === null || meta === void 0 ? void 0 : meta.label) || (meta === null || meta === void 0 ? void 0 : meta.label);
133
+ const placeholder = getNestedValue(locale, meta === null || meta === void 0 ? void 0 : meta.placeholder) || 'Select an option';
113
134
  const selectedItem = this.options.find(item => this.selectedValue === item.value);
114
135
  if (!selectedItem) {
115
136
  this.selectedValue = '';
116
137
  }
117
- return (h(Host, { key: 'a51d8edbae98b93937aa123afb350c90849a74a3' }, h("label", { key: '6e6c5e373c92e5cbdf331921aae670cb95cffb60', id: this.wrapperId, class: cn('relative w-full inline-flex flex-col', this.wrapperClass) }, this.label && (h("div", { key: 'ba2a636dec1f76b22126ba260045ea3c7d818978', class: "mb-[4px]" }, texts[this.label] || this.label, this.isRequired && h("span", { key: '733f7ae109d7d596fa14317487480e3ba5eb40eb', class: "ms-0.5 text-red-600" }, "*"))), h("form-shadow-input", { key: '0b2904398b56fe598f42f1e9a16388f817052e8e', name: this.name, form: this.form, value: this.selectedValue }), h("div", { key: '1449a48d15b13f057126ecf3f1e15792502fc05d', class: "relative" }, h("button", { key: 'a710613e81d2417d86c4869dca09d5b0a3bca390', type: "button", name: this.name, disabled: this.disabled, onClick: this.toggleDropdown, class: cn('select-button enabled:focus:border-slate-600 enabled:focus:shadow-[0_0_0_0.2rem_rgba(71,85,105,0.25)] border bg-white h-[38px] flex justify-between overflow-hidden disabled:opacity-75 flex-1 py-[6px] px-[12px] transition-all duration-300 rounded-md outline-none w-full', {
118
- 'text-[#9CA3AF]': !selectedItem,
119
- '!border-red-500 focus:shadow-[0_0_0_0.2rem_rgba(239,68,68,0.25)]': this.isError,
120
- 'enabled:border-slate-600 enabled:shadow-[0_0_0_0.2rem_rgba(71,85,105,0.25)]': this.isOpen,
121
- }) }, selectedItem ? selectedItem.label : h("span", null, texts[this.placeholder]), h("svg", { key: '3bf06d5be019254f5abf248a67cce43ca751f006', fill: "none", "stroke-width": "2", viewBox: "0 0 24 24", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", class: cn('select-arrow size-6 transition duration-300', { 'rotate-180': this.isOpen }) }, h("path", { key: 'e62171a5723125547dc78b0f3522c19320374eb6', d: "m6 9 6 6 6-6" }))), h("div", { key: 'c87da76ee00bd20fc66aeb8f825ee51e20af9432', class: cn('select-container z-[10] flex flex-col pointer-events-none absolute w-full bg-white border rounded-md shadow opacity-0 transition-opacity duration-300 max-h-[250px] overflow-auto', {
122
- 'opacity-100 pointer-events-auto': this.isOpen,
123
- 'top-0 -mt-[8px] -translate-y-full': this.openUpwards,
124
- 'top-0 mt-[8px] translate-y-[38px]': !this.openUpwards,
125
- }) }, !!this.options.length &&
126
- this.options.map(option => (h("button", { type: "button", onClick: () => this.handleSelection(option), class: cn('select-option flex justify-between px-4 py-2 hover:bg-slate-100 transition-colors duration-300', {
127
- 'bg-slate-200': this.selectedValue === option.value,
128
- }) }, h("div", null, option.label), h("svg", { fill: "none", "stroke-width": "2", viewBox: "0 0 24 24", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", class: cn('size-5 opacity-0 transition duration-300', { 'opacity-100': this.selectedValue === option.value }) }, h("path", { d: "M20 6 9 17l-5-5" }))))), !this.options.length && (h("div", { key: 'b59d35615660e485cc31e4b53f7a9d79d5743e96', class: cn('select-empty-container h-[100px] flex items-center justify-center', { 'text-red-500': this.fetchingErrorMessage }) }, this.fetchingErrorMessage && (this.sharedLocales.errors[this.fetchingErrorMessage] || this.sharedLocales.errors.wildCard), !this.fetchingErrorMessage && (this.isLoading ? h("img", { class: "spin-slow size-[22px]", src: Loader }) : this.generalLocales.noSelectOptions))))), h("div", { key: 'ec8cfe445586681f7a622f12cd23f2a25bc16492', class: cn('absolute pt-[1px] -z-10 text-[12px] text-red-500 opacity-0 -translate-y-[4px] bottom-0 transition duration-300', {
129
- 'translate-y-full error-message opacity-100': this.isError,
130
- }) }, texts[this.errorMessage] || this.locale.inputValueIsIncorrect || this.errorMessage))));
138
+ const filteredOptions = selectedItem ? this.options : this.options.filter(option => option.label.toLowerCase().includes(this.searchValue.toLowerCase()));
139
+ const disableInput = disabled || this.isDisabled || this.isLoading;
140
+ return (h(Host, { key: '6fa98392a319ea0169ac1e8773806956f4275b87' }, h("label", { key: 'fe63bec4a374574416033bf78300df887d115d40', part: part, id: this.wrapperId, class: cn('form-input-label-container', this.wrapperClass, { disabled: disableInput }) }, h(FormInputLabel, { key: '5d157fedfd0eb762592383ef87c0b28ad9fc879c', isRequired: isRequired || this.isRequired, label: label }), h("form-shadow-input", { key: '4829d692dd3978e62d39676d09074def6ff03ca6', name: this.name, form: this.form, value: this.selectedValue }), h("div", { key: 'a41b2b1e8545f4f6cfe1216aa1f368447d62e9a1', part: "form-input-container", class: cn('form-input-container', { open: this.isOpen, disableInput }) }, h("input", { key: 'd718cf376bed6ce8a06d2cbeb49c29602db07adb', type: "text", disabled: disableInput, part: "form-input-select", value: this.searchable ? this.searchValue : (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.label) || '', readOnly: !this.searchable, onInput: this.onSearchInput, onClick: this.toggleDropdown, placeholder: placeholder || (meta === null || meta === void 0 ? void 0 : meta.placeholder), class: cn('form-input-style form-input-select', {
141
+ 'form-input-error-style': isError,
142
+ }) }), h("div", { key: 'b728ce3e4f55b127a3f0316ab892032cb81a02a0', part: "form-input-select-icon-container", class: "form-input-select-icon-container" }, (selectedItem || this.searchValue) && this.clearable ? (h(AddIcon, { onClick: this.clearInput, class: "form-input-select-icon cross" })) : (h(ArrowUpIcon, { class: "form-input-select-icon arrow" }))), h("div", { key: 'eb842270e31e02aa63b2657845ccca7b22d356a7', part: "form-select-container", class: cn('form-select-container', {
143
+ upwards: this.openUpwards,
144
+ downwards: !this.openUpwards,
145
+ }) }, !!filteredOptions.length &&
146
+ filteredOptions.map(option => (h("button", { type: "button", part: "form-select-option", onClick: () => this.handleSelection(option), class: cn('form-select-option', {
147
+ selected: this.selectedValue === option.value,
148
+ }) }, h("div", { part: "form-select-option-label", class: "form-select-option-label" }, option.label), h(TickIcon, { class: "form-select-option-tick" })))), !filteredOptions.length && (h("div", { key: '43d915e82ab2524553be6e13a37dde74c89a7557', part: "form-select-empty-container", class: cn('form-select-empty-container', { error: this.fetchingErrorMessage }) }, this.fetchingErrorMessage && (getNestedValue(locale, this.fetchingErrorMessage) || locale.errors.wildCard), !this.fetchingErrorMessage && (this.isFetching ? h("img", { class: "form-select-spinner", src: Loader }) : locale.noSelectOptions))))), h(FormErrorMessage, { key: 'acfa9ea6fc9a8bc03199ee17d19037eb545e26e3', isError: isError, errorMessage: locale[errorMessage] || errorMessage }))));
131
149
  }
132
150
  static get is() { return "form-select"; }
133
151
  static get originalStyleUrls() {
134
152
  return {
135
- "$": ["form-select.css"]
153
+ "$": ["form-inputs.css"]
136
154
  };
137
155
  }
138
156
  static get styleUrls() {
139
157
  return {
140
- "$": ["form-select.css"]
158
+ "$": ["form-inputs.css"]
141
159
  };
142
160
  }
143
161
  static get properties() {
@@ -161,13 +179,13 @@ export class FormSelect {
161
179
  "setter": false,
162
180
  "reflect": false
163
181
  },
164
- "label": {
165
- "type": "string",
166
- "attribute": "label",
182
+ "resetKey": {
183
+ "type": "any",
184
+ "attribute": "reset-key",
167
185
  "mutable": false,
168
186
  "complexType": {
169
- "original": "string",
170
- "resolved": "string",
187
+ "original": "any",
188
+ "resolved": "any",
171
189
  "references": {}
172
190
  },
173
191
  "required": false,
@@ -180,13 +198,13 @@ export class FormSelect {
180
198
  "setter": false,
181
199
  "reflect": false
182
200
  },
183
- "isError": {
184
- "type": "boolean",
185
- "attribute": "is-error",
201
+ "fetcherKey": {
202
+ "type": "any",
203
+ "attribute": "fetcher-key",
186
204
  "mutable": false,
187
205
  "complexType": {
188
- "original": "boolean",
189
- "resolved": "boolean",
206
+ "original": "any",
207
+ "resolved": "any",
190
208
  "references": {}
191
209
  },
192
210
  "required": false,
@@ -218,9 +236,29 @@ export class FormSelect {
218
236
  "setter": false,
219
237
  "reflect": false
220
238
  },
221
- "disabled": {
239
+ "clearable": {
222
240
  "type": "boolean",
223
- "attribute": "disabled",
241
+ "attribute": "clearable",
242
+ "mutable": false,
243
+ "complexType": {
244
+ "original": "boolean",
245
+ "resolved": "boolean",
246
+ "references": {}
247
+ },
248
+ "required": false,
249
+ "optional": false,
250
+ "docs": {
251
+ "tags": [],
252
+ "text": ""
253
+ },
254
+ "getter": false,
255
+ "setter": false,
256
+ "reflect": false,
257
+ "defaultValue": "false"
258
+ },
259
+ "isLoading": {
260
+ "type": "boolean",
261
+ "attribute": "is-loading",
224
262
  "mutable": false,
225
263
  "complexType": {
226
264
  "original": "boolean",
@@ -247,8 +285,8 @@ export class FormSelect {
247
285
  "references": {
248
286
  "FormHook": {
249
287
  "location": "import",
250
- "path": "~lib/form-hook",
251
- "id": "src/global/lib/form-hook.ts::FormHook"
288
+ "path": "~features/form-hook/form-hook",
289
+ "id": "src/features/form-hook/form-hook.ts::FormHook"
252
290
  }
253
291
  }
254
292
  },
@@ -261,6 +299,25 @@ export class FormSelect {
261
299
  "getter": false,
262
300
  "setter": false
263
301
  },
302
+ "searchable": {
303
+ "type": "boolean",
304
+ "attribute": "searchable",
305
+ "mutable": false,
306
+ "complexType": {
307
+ "original": "boolean",
308
+ "resolved": "boolean",
309
+ "references": {}
310
+ },
311
+ "required": false,
312
+ "optional": false,
313
+ "docs": {
314
+ "tags": [],
315
+ "text": ""
316
+ },
317
+ "getter": false,
318
+ "setter": false,
319
+ "reflect": false
320
+ },
264
321
  "isRequired": {
265
322
  "type": "boolean",
266
323
  "attribute": "is-required",
@@ -280,13 +337,13 @@ export class FormSelect {
280
337
  "setter": false,
281
338
  "reflect": false
282
339
  },
283
- "errorMessage": {
284
- "type": "string",
285
- "attribute": "error-message",
340
+ "isDisabled": {
341
+ "type": "boolean",
342
+ "attribute": "is-disabled",
286
343
  "mutable": false,
287
344
  "complexType": {
288
- "original": "string",
289
- "resolved": "string",
345
+ "original": "boolean",
346
+ "resolved": "boolean",
290
347
  "references": {}
291
348
  },
292
349
  "required": false,
@@ -318,20 +375,14 @@ export class FormSelect {
318
375
  "setter": false,
319
376
  "reflect": false
320
377
  },
321
- "fetcher": {
322
- "type": "unknown",
323
- "attribute": "fetcher",
378
+ "defaultValue": {
379
+ "type": "string",
380
+ "attribute": "default-value",
324
381
  "mutable": false,
325
382
  "complexType": {
326
- "original": "FormSelectFetcher",
327
- "resolved": "(language: string, signal: AbortSignal) => Promise<FormSelectItem[]>",
328
- "references": {
329
- "FormSelectFetcher": {
330
- "location": "import",
331
- "path": "~types/forms",
332
- "id": "src/global/types/forms.ts::FormSelectFetcher"
333
- }
334
- }
383
+ "original": "string",
384
+ "resolved": "string",
385
+ "references": {}
335
386
  },
336
387
  "required": false,
337
388
  "optional": false,
@@ -340,7 +391,8 @@ export class FormSelect {
340
391
  "text": ""
341
392
  },
342
393
  "getter": false,
343
- "setter": false
394
+ "setter": false,
395
+ "reflect": false
344
396
  },
345
397
  "language": {
346
398
  "type": "string",
@@ -368,18 +420,18 @@ export class FormSelect {
368
420
  "reflect": false,
369
421
  "defaultValue": "'en'"
370
422
  },
371
- "formLocaleName": {
372
- "type": "string",
373
- "attribute": "form-locale-name",
423
+ "fetcher": {
424
+ "type": "unknown",
425
+ "attribute": "fetcher",
374
426
  "mutable": false,
375
427
  "complexType": {
376
- "original": "LocaleFormKeys",
377
- "resolved": "\"contactUs\" | \"inputValueIsIncorrect\" | \"reCaptchaIsRequired\"",
428
+ "original": "FormSelectFetcher<any>",
429
+ "resolved": "(props: FormSelectFetcherProps<any>) => Promise<FormSelectItem[]>",
378
430
  "references": {
379
- "LocaleFormKeys": {
431
+ "FormSelectFetcher": {
380
432
  "location": "import",
381
- "path": "~types/forms",
382
- "id": "src/global/types/forms.ts::LocaleFormKeys"
433
+ "path": "~features/form-hook/",
434
+ "id": "src/features/form-hook/index.ts::FormSelectFetcher"
383
435
  }
384
436
  }
385
437
  },
@@ -390,42 +442,19 @@ export class FormSelect {
390
442
  "text": ""
391
443
  },
392
444
  "getter": false,
393
- "setter": false,
394
- "reflect": false
395
- },
396
- "placeholder": {
397
- "type": "string",
398
- "attribute": "placeholder",
399
- "mutable": false,
400
- "complexType": {
401
- "original": "string",
402
- "resolved": "string",
403
- "references": {}
404
- },
405
- "required": false,
406
- "optional": false,
407
- "docs": {
408
- "tags": [],
409
- "text": ""
410
- },
411
- "getter": false,
412
- "setter": false,
413
- "reflect": false,
414
- "defaultValue": "'Select an option'"
445
+ "setter": false
415
446
  }
416
447
  };
417
448
  }
418
449
  static get states() {
419
450
  return {
420
- "isLoading": {},
451
+ "searchValue": {},
452
+ "isFetching": {},
421
453
  "isOpen": {},
422
454
  "selectedValue": {},
423
455
  "openUpwards": {},
424
456
  "options": {},
425
- "fetchingErrorMessage": {},
426
- "sharedLocales": {},
427
- "locale": {},
428
- "generalLocales": {}
457
+ "fetchingErrorMessage": {}
429
458
  };
430
459
  }
431
460
  static get elementRef() { return "el"; }
@@ -433,6 +462,12 @@ export class FormSelect {
433
462
  return [{
434
463
  "propName": "language",
435
464
  "methodName": "changeLanguage"
465
+ }, {
466
+ "propName": "fetcherKey",
467
+ "methodName": "fetchListener"
468
+ }, {
469
+ "propName": "resetKey",
470
+ "methodName": "resetListener"
436
471
  }];
437
472
  }
438
473
  }
@@ -8,20 +8,22 @@ export class FormInput {
8
8
  this.form.validateForm(newName, this.value);
9
9
  }
10
10
  async handleValueChange(newValue) {
11
+ if (this.form.haltValidation)
12
+ return;
11
13
  this.form.validateForm(this.name, newValue);
12
14
  }
13
15
  render() {
14
- return h("input", { key: '4f247b45d7d81a2b7c66584e4b9a1ba9bf6aa51d', name: this.name, type: "string", hidden: true, value: this.value });
16
+ return h("input", { key: '86f6a688de8392aade82e02d0a07b4170e5cc8e1', hidden: true, name: this.name, type: "string", value: this.value });
15
17
  }
16
18
  static get is() { return "form-shadow-input"; }
17
19
  static get originalStyleUrls() {
18
20
  return {
19
- "$": ["form-shadow-input.css"]
21
+ "$": ["form-inputs.css"]
20
22
  };
21
23
  }
22
24
  static get styleUrls() {
23
25
  return {
24
- "$": ["form-shadow-input.css"]
26
+ "$": ["form-inputs.css"]
25
27
  };
26
28
  }
27
29
  static get properties() {
@@ -74,8 +76,8 @@ export class FormInput {
74
76
  "references": {
75
77
  "FormHook": {
76
78
  "location": "import",
77
- "path": "~lib/form-hook",
78
- "id": "src/global/lib/form-hook.ts::FormHook"
79
+ "path": "~features/form-hook/form-hook",
80
+ "id": "src/features/form-hook/form-hook.ts::FormHook"
79
81
  }
80
82
  }
81
83
  },
@@ -16,17 +16,17 @@ export class FormStructureError {
16
16
  this.sharedLocales = await getSharedLocal(newLanguage);
17
17
  }
18
18
  render() {
19
- return (h(Host, { key: 'd0c604a9b51cf3a85531b7227972d1b43951c39b' }, h("div", { key: 'ab4d70d6878b7222ed0d7d346d6cafb919ded09c', dir: this.sharedLocales.direction, class: "py-[16px] min-h-[100px] flex items-center" }, h("div", { key: '67c236fd306b2d9ba869b29153bc5149bd6678a1', class: "px-[16px] py-[8px] border text-[#58151c] border-[#f2aeb5] bg-[#f7d7d8] text-[20px] rounded-[8px] w-fit mx-auto" }, this.sharedLocales.errors.wrongFormStructure))));
19
+ return (h(Host, { key: '4e236b9d36994d09687a147bb7540b3a3c19f700' }, h("div", { key: 'f440dc65ac3682c4671cac988c64514431b3a136', dir: this.sharedLocales.direction, part: "form-structure-error-container", class: "form-structure-error-container" }, h("div", { key: '0c13f2c43b4bb5583024f5e6b1077a6051d64e57', part: "form-structure-error-content", class: "form-structure-error-content" }, this.sharedLocales.errors.wrongFormStructure))));
20
20
  }
21
21
  static get is() { return "form-structure-error"; }
22
22
  static get originalStyleUrls() {
23
23
  return {
24
- "$": ["form-structure-error.css"]
24
+ "$": ["form-inputs.css"]
25
25
  };
26
26
  }
27
27
  static get styleUrls() {
28
28
  return {
29
- "$": ["form-structure-error.css"]
29
+ "$": ["form-inputs.css"]
30
30
  };
31
31
  }
32
32
  static get properties() {