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