adp-web-components 0.1.59 → 0.1.60
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 +7 -6
- package/dist/cjs/flexible-container.cjs.entry.js +1 -1
- package/dist/cjs/form-checkbox.cjs.entry.js +9 -5
- package/dist/cjs/form-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/form-dialog_8.cjs.entry.js +40 -36
- package/dist/cjs/{form-error-message-CrGiKsoO.js → form-error-message-B2s83XoL.js} +1 -1
- package/dist/cjs/form-input-BZp9_abd.js +24 -0
- package/dist/cjs/form-input_4.cjs.entry.js +24 -18
- package/dist/cjs/form-switch.cjs.entry.js +9 -5
- package/dist/cjs/form-time-picker.cjs.entry.js +2 -2
- package/dist/cjs/general-inquiry-form.cjs.entry.js +24 -22
- package/dist/cjs/get-local-language-DV1oVchQ.js +194 -0
- package/dist/cjs/information-table.cjs.entry.js +1 -1
- package/dist/cjs/{loader-icon-qrSyqpQO.js → loader-icon-OTnFBvzm.js} +1150 -263
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/loading-spinner.cjs.entry.js +1 -1
- package/dist/cjs/manufacturer-part-lookup.cjs.entry.js +8 -7
- package/dist/cjs/part-lookup.cjs.entry.js +6 -5
- package/dist/cjs/service-booking-form.cjs.entry.js +11 -9
- package/dist/cjs/shift-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/shift-components.cjs.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 +11 -9
- package/dist/cjs/state-object-DFBHdqbr.js +172 -0
- package/dist/cjs/test-drive-form.cjs.entry.js +11 -9
- package/dist/cjs/{type-BqNpIYcE.js → type-BSH0OxyO.js} +3 -3
- package/dist/cjs/{type-B8LchmnL.js → type-BvWomz0N.js} +2 -2
- package/dist/cjs/{type-BrzZ5GMr.js → type-NRLY9OsL.js} +9 -9
- package/dist/cjs/{get-local-language-CMptyFxH.js → types-B3WMBBhs.js} +4 -187
- package/dist/cjs/validation-BxmICJwK.js +89 -0
- package/dist/cjs/vehicle-accessories_7.cjs.entry.js +18 -17
- package/dist/cjs/vehicle-lookup.cjs.entry.js +6 -5
- package/dist/cjs/vehicle-quotation-form.cjs.entry.js +15 -14
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/components/empty.css +1 -1
- package/dist/collection/components/components/flexible-container.css +1 -1
- package/dist/collection/components/components/information-table.css +1 -1
- package/dist/collection/components/components/loading-spinner.css +1 -1
- package/dist/collection/components/components/shift-tab-content.css +1 -1
- package/dist/collection/components/components/shift-tabs.css +1 -1
- package/dist/collection/components/form-elements/components/form-error-message.js +1 -1
- package/dist/collection/components/form-elements/form-checkbox.js +29 -4
- package/dist/collection/components/form-elements/form-input.js +30 -5
- package/dist/collection/components/form-elements/form-inputs.css +1 -1
- package/dist/collection/components/form-elements/form-phone-number.js +30 -5
- package/dist/collection/components/form-elements/form-picker-input.js +30 -5
- package/dist/collection/components/form-elements/form-select.js +30 -4
- package/dist/collection/components/form-elements/form-submit.js +31 -4
- package/dist/collection/components/form-elements/form-switch.js +29 -4
- package/dist/collection/components/form-elements/form-text-area.js +32 -6
- package/dist/collection/components/form-elements/form-vin-input.js +53 -9
- package/dist/collection/components/forms/defaults/mappers.js +58 -46
- package/dist/collection/components/forms/defaults/style.css +1 -1
- package/dist/collection/components/forms/defaults/validation.js +73 -75
- package/dist/collection/components/forms/general-inquiry.js +20 -20
- package/dist/collection/components/forms/service-booking.js +6 -7
- package/dist/collection/components/forms/ssc-lookup.js +6 -7
- package/dist/collection/components/forms/test-drive.js +6 -7
- package/dist/collection/components/vehicle-lookup/vehicle-accessories.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.js +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-lookup.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-paint-thickness.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-sale-information.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-service-history.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-specification.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-warranty-details.css +1 -1
- package/dist/collection/components/vin-extractor/vin-extractor.css +1 -1
- package/dist/collection/features/form-hook/functions.js +14 -10
- package/dist/collection/features/form-hook/inputs/form-input.js +19 -1
- package/dist/collection/features/form-hook/render-structure.js +1 -1
- 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-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-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-inquiry-form.js +1 -1
- package/dist/components/information-table.js +1 -1
- package/dist/components/loading-spinner.js +1 -1
- package/dist/components/manufacturer-lookup.js +1 -1
- package/dist/components/manufacturer-part-lookup.js +1 -1
- package/dist/components/p--ZWu5kfe.js +5 -0
- package/dist/components/p-3o70TTPM.js +5 -0
- package/dist/components/p-9Jshpnf4.js +5 -0
- package/dist/components/{p-CwQEFAEF.js → p-B6mLLQ5Z.js} +1 -1
- package/dist/components/p-B6yxFkGn.js +5 -0
- package/dist/components/{p-CHdx52dw.js → p-BFvKdyvP.js} +1 -1
- package/dist/components/p-BMqwfA7R.js +5 -0
- package/dist/components/p-BNfiYxny.js +5 -0
- package/dist/components/{p-BsFKuBtC.js → p-BPtyEnCf.js} +1 -1
- package/dist/components/p-BW74FG6u.js +5 -0
- package/dist/components/p-Bau2XePf.js +5 -0
- package/dist/components/p-BnRsfejo.js +5 -0
- package/dist/components/p-BrEz2vz_.js +5 -0
- package/dist/components/p-C9lmL_jC.js +5 -0
- package/dist/components/p-CD_2-fK9.js +5 -0
- package/dist/components/{p-CRhdQvF0.js → p-CGKHe5aV.js} +1 -1
- package/dist/components/p-CL_w2QQD.js +5 -0
- package/dist/components/p-CTnFqaoj.js +5 -0
- package/dist/components/{p-D930Q75B.js → p-ChgSU1Ua.js} +1 -1
- package/dist/components/{p-DqNmAqS_.js → p-CiwfnrB-.js} +1 -1
- package/dist/components/p-Crd-9v2B.js +5 -0
- package/dist/components/{p-CBXAxKky.js → p-Cu6cHcY1.js} +1 -1
- package/dist/components/p-CzffKzcR.js +5 -0
- package/dist/components/{p-7y7dFWS-.js → p-D39ljWpy.js} +1 -1
- package/dist/components/p-DLBJDU-Z.js +5 -0
- package/dist/components/p-DVOFEN__.js +5 -0
- package/dist/components/p-DW9tnza0.js +5 -0
- package/dist/components/p-DXV8vbHa.js +5 -0
- package/dist/components/{p-B_QEyJOO.js → p-DYUVoVJU.js} +1 -1
- package/dist/components/p-Dbq3Z3a7.js +5 -0
- package/dist/components/p-DodX8HCB.js +5 -0
- package/dist/components/p-Dq5EPmKC.js +5 -0
- package/dist/components/{p-DJaWpqrV.js → p-DvwR_CeT.js} +1 -1
- package/dist/components/p-GjSy7W7d.js +5 -0
- package/dist/components/p-KrwBOds5.js +5 -0
- package/dist/components/p-VJzNTmbc.js +5 -0
- package/dist/components/p-to4xqGcM.js +5 -0
- package/dist/components/p-vJNV_Y5G.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-checkbox.js +1 -1
- 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/components/vin-extractor.js +1 -1
- package/dist/esm/dead-stock-lookup_3.entry.js +4 -3
- package/dist/esm/flexible-container.entry.js +1 -1
- package/dist/esm/form-checkbox.entry.js +9 -5
- package/dist/esm/form-date-picker.entry.js +2 -2
- package/dist/esm/form-dialog_8.entry.js +37 -33
- package/dist/esm/{form-error-message-BRYZJjPy.js → form-error-message-C4gzgw8C.js} +1 -1
- package/dist/esm/form-input-DRd-doY1.js +22 -0
- package/dist/esm/form-input_4.entry.js +24 -18
- package/dist/esm/form-switch.entry.js +9 -5
- package/dist/esm/form-time-picker.entry.js +2 -2
- package/dist/esm/general-inquiry-form.entry.js +24 -22
- package/dist/esm/get-local-language-DJl5eWCY.js +189 -0
- package/dist/esm/information-table.entry.js +1 -1
- package/dist/esm/{loader-icon-DhBPTC5g.js → loader-icon-DUMSCofl.js} +1150 -263
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loading-spinner.entry.js +1 -1
- package/dist/esm/manufacturer-part-lookup.entry.js +3 -2
- package/dist/esm/part-lookup.entry.js +4 -3
- package/dist/esm/service-booking-form.entry.js +11 -9
- package/dist/esm/shift-checkbox.entry.js +1 -1
- package/dist/esm/shift-components.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 -8
- package/dist/esm/state-object-D7JLK2vI.js +169 -0
- package/dist/esm/test-drive-form.entry.js +10 -8
- package/dist/esm/{type-BluG_k1P.js → type-BJF9x4jt.js} +1 -1
- package/dist/esm/{type-D_rpjbuj.js → type-TpJOuSTQ.js} +1 -1
- package/dist/esm/{type-zroDKO0U.js → type-r4cI4JJY.js} +1 -1
- package/dist/esm/{get-local-language-CCj6E27L.js → types-Cn7YOi83.js} +1 -184
- package/dist/esm/validation-BsxDkThF.js +86 -0
- package/dist/esm/vehicle-accessories_7.entry.js +10 -9
- package/dist/esm/vehicle-lookup.entry.js +4 -3
- package/dist/esm/vehicle-quotation-form.entry.js +3 -2
- package/dist/shift-components/{p-d7da1152.entry.js → p-16e95508.entry.js} +1 -1
- package/dist/shift-components/{p-2fe3538e.entry.js → p-2c9950cc.entry.js} +1 -1
- package/dist/shift-components/p-380144df.entry.js +5 -0
- package/dist/shift-components/p-3853ea20.entry.js +5 -0
- package/dist/shift-components/{p-0e630c66.entry.js → p-3a91a272.entry.js} +1 -1
- package/dist/shift-components/{p-b4231e50.entry.js → p-5b587a6a.entry.js} +1 -1
- package/dist/shift-components/p-694d921f.entry.js +5 -0
- package/dist/shift-components/p-8a97341b.entry.js +5 -0
- package/dist/shift-components/p-8e6d183e.entry.js +5 -0
- package/dist/shift-components/p-98b10e49.entry.js +5 -0
- package/dist/shift-components/p-B-Ttz-dC.js +5 -0
- package/dist/shift-components/p-BUbNT08a.js +5 -0
- package/dist/shift-components/p-B_8bnsuC.js +5 -0
- package/dist/shift-components/{p-Bfkguwb-.js → p-B_HWC4v3.js} +1 -1
- package/dist/shift-components/p-Cn7YOi83.js +5 -0
- package/dist/shift-components/{p-B-8v_CQL.js → p-CpygzMlx.js} +1 -1
- package/dist/shift-components/p-DDiSIFiM.js +5 -0
- package/dist/shift-components/p-a9ee64a7.entry.js +5 -0
- package/dist/shift-components/p-aa72cb3d.entry.js +5 -0
- package/dist/shift-components/p-aae6a6e7.entry.js +5 -0
- package/dist/shift-components/p-bea5d49e.entry.js +5 -0
- package/dist/shift-components/p-c61723de.entry.js +5 -0
- package/dist/shift-components/p-cb348218.entry.js +5 -0
- package/dist/shift-components/{p-0a728fec.entry.js → p-d09cd43d.entry.js} +1 -1
- package/dist/shift-components/p-d1543879.entry.js +5 -0
- package/dist/shift-components/{p-f4914abc.entry.js → p-d7bb6f3a.entry.js} +1 -1
- package/dist/shift-components/{p-BW6seqLB.js → p-det1AUh4.js} +1 -1
- package/dist/shift-components/p-e4b69987.entry.js +5 -0
- package/dist/shift-components/p-eed5e111.entry.js +5 -0
- package/dist/shift-components/p-fd48f8b4.entry.js +5 -0
- package/dist/shift-components/p-fd626a4f.entry.js +5 -0
- package/dist/shift-components/{p-BK4ZcuiW.js → p-gokv-pzN.js} +1 -1
- package/dist/shift-components/p-nfwRLPgJ.js +5 -0
- package/dist/shift-components/shift-components.esm.js +1 -1
- package/dist/types/components/form-elements/form-checkbox.d.ts +2 -1
- package/dist/types/components/form-elements/form-input.d.ts +2 -0
- package/dist/types/components/form-elements/form-phone-number.d.ts +2 -1
- package/dist/types/components/form-elements/form-picker-input.d.ts +2 -0
- package/dist/types/components/form-elements/form-select.d.ts +2 -1
- package/dist/types/components/form-elements/form-submit.d.ts +2 -1
- package/dist/types/components/form-elements/form-switch.d.ts +2 -1
- package/dist/types/components/form-elements/form-text-area.d.ts +2 -1
- package/dist/types/components/form-elements/form-vin-input.d.ts +5 -0
- package/dist/types/components/forms/defaults/mappers.d.ts +7 -5
- package/dist/types/components/forms/defaults/validation.d.ts +29 -12
- package/dist/types/components.d.ts +76 -2
- package/dist/types/features/form-hook/inputs/form-input.d.ts +13 -0
- package/dist/types/features/form-hook/inputs/form-select.d.ts +2 -0
- package/dist/types/locales/vehicleLookup/claimableItems/type.d.ts +4 -4
- package/dist/types/locales/vehicleLookup/serviceHistory/type.d.ts +2 -2
- package/dist/types/locales/vehicleLookup/wrapper-type.d.ts +4 -4
- package/package.json +1 -1
- package/dist/cjs/state-object-B_0-oj8G.js +0 -243
- package/dist/collection/components/forms/service-booking/element-mapper.js +0 -134
- package/dist/collection/components/forms/service-booking/validations.js +0 -56
- package/dist/components/p-3WjYFbnU.js +0 -5
- package/dist/components/p-64G0Y_tC.js +0 -5
- package/dist/components/p-BEClgvwe.js +0 -5
- package/dist/components/p-BTqv9A1K.js +0 -5
- package/dist/components/p-Bd2-gh8M.js +0 -5
- package/dist/components/p-BffBGA_K.js +0 -5
- package/dist/components/p-Bon4whdT.js +0 -5
- package/dist/components/p-C-4CT4ZF.js +0 -5
- package/dist/components/p-C6WhIy7O.js +0 -5
- package/dist/components/p-CEM5EBP0.js +0 -5
- package/dist/components/p-Cxfsh87m.js +0 -5
- package/dist/components/p-D-tlRZMk.js +0 -5
- package/dist/components/p-DA0taq65.js +0 -5
- package/dist/components/p-DJKERvsE.js +0 -5
- package/dist/components/p-DNn44A0I.js +0 -5
- package/dist/components/p-DdWYx3mw.js +0 -5
- package/dist/components/p-Df56BNKV.js +0 -5
- package/dist/components/p-DjDUhW2q.js +0 -5
- package/dist/components/p-DkA_i--O.js +0 -5
- package/dist/components/p-DuNp8sSh.js +0 -5
- package/dist/components/p-NEl9bwNq.js +0 -5
- package/dist/components/p-RInF2GNQ.js +0 -5
- package/dist/components/p-_C-vBKCe.js +0 -5
- package/dist/components/p-eTLWmtnI.js +0 -5
- package/dist/components/p-vEsQVFLN.js +0 -5
- package/dist/components/p-zofQKKfh.js +0 -5
- package/dist/esm/state-object-Cwph5K2Q.js +0 -238
- package/dist/shift-components/p-0f83786b.entry.js +0 -5
- package/dist/shift-components/p-1c93d5e6.entry.js +0 -5
- package/dist/shift-components/p-26f3e6da.entry.js +0 -5
- package/dist/shift-components/p-3a7196d4.entry.js +0 -5
- package/dist/shift-components/p-45670df9.entry.js +0 -5
- package/dist/shift-components/p-4aa6f707.entry.js +0 -5
- package/dist/shift-components/p-50fd9d29.entry.js +0 -5
- package/dist/shift-components/p-63e1e80e.entry.js +0 -5
- package/dist/shift-components/p-67476178.entry.js +0 -5
- package/dist/shift-components/p-683f3ab3.entry.js +0 -5
- package/dist/shift-components/p-8700e868.entry.js +0 -5
- package/dist/shift-components/p-90a6803f.entry.js +0 -5
- package/dist/shift-components/p-BVMG8UaH.js +0 -5
- package/dist/shift-components/p-BnQp2Q8E.js +0 -5
- package/dist/shift-components/p-C3YLTa2J.js +0 -5
- package/dist/shift-components/p-c7eaf245.entry.js +0 -5
- package/dist/shift-components/p-f7692371.entry.js +0 -5
- package/dist/shift-components/p-f8ac59ee.entry.js +0 -5
- package/dist/shift-components/p-fac0fdb9.entry.js +0 -5
- package/dist/shift-components/p-fe02d5ed.entry.js +0 -5
- package/dist/types/components/forms/service-booking/element-mapper.d.ts +0 -7
- package/dist/types/components/forms/service-booking/validations.d.ts +0 -25
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Host, h } from "@stencil/core";
|
|
6
6
|
import cn from "../../global/lib/cn";
|
|
7
|
-
import {
|
|
7
|
+
import { getInputLocalization } from "../../features/form-hook/index";
|
|
8
8
|
import { FormInputLabel } from "./components/form-input-label";
|
|
9
9
|
import { FormInputPrefix } from "./components/form-input-prefix";
|
|
10
10
|
import { FormErrorMessage } from "./components/form-error-message";
|
|
@@ -14,6 +14,7 @@ const partKeyPrefix = 'form-vin-input-';
|
|
|
14
14
|
export class FormVinInput {
|
|
15
15
|
constructor() {
|
|
16
16
|
this.inputProps = {};
|
|
17
|
+
this.localization = {};
|
|
17
18
|
this.scannerIcon = '';
|
|
18
19
|
this.prefixWidth = 0;
|
|
19
20
|
}
|
|
@@ -44,22 +45,21 @@ export class FormVinInput {
|
|
|
44
45
|
this.inputRef.value = value;
|
|
45
46
|
}
|
|
46
47
|
render() {
|
|
47
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l
|
|
48
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
48
49
|
const { disabled, isRequired, meta, isError, errorMessage } = this.form.getInputState(this.name);
|
|
49
|
-
const [locale] = this.form.getFormLocale();
|
|
50
|
+
const [locale, language] = this.form.getFormLocale();
|
|
50
51
|
const part = partKeyPrefix + this.name;
|
|
51
|
-
const label
|
|
52
|
-
const placeholder = getNestedValue(locale, meta === null || meta === void 0 ? void 0 : meta.placeholder);
|
|
52
|
+
const { label, placeholder, errorTextMessage } = getInputLocalization(this, meta, errorMessage);
|
|
53
53
|
const isDisabled = disabled || this.isLoading || !!this.staticValue || this.isDisabled;
|
|
54
|
-
const extractorTitle = ((
|
|
55
|
-
return (h(Host, { key: '
|
|
54
|
+
const extractorTitle = ((_b = (_a = this.localization) === null || _a === void 0 ? void 0 : _a[language]) === null || _b === void 0 ? void 0 : _b.scan) || ((_j = (_g = (_f = (_e = (_d = (_c = this.form) === null || _c === void 0 ? void 0 : _c.context) === null || _d === void 0 ? void 0 : _d.structure) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.localization) === null || _g === void 0 ? void 0 : _g[(_h = this.form.context) === null || _h === void 0 ? void 0 : _h.language]) === null || _j === void 0 ? void 0 : _j['vin-scan']) || 'Scan Your VIN';
|
|
55
|
+
return (h(Host, { key: '24aef7fb6d4f96434fd9dc6ab8a23d9d4e8de1ee' }, h("label", { key: 'b89bb2652c01f43edf3ea7fb9636bcc8fdafbe9b', part: this.name, id: this.wrapperId, class: cn('form-input-label-container', this.wrapperClass, { disabled: isDisabled }) }, h(FormInputLabel, { key: '958d93f12f9b86f104ec0ba91aa7be40efcd76a8', isRequired: isRequired, label: label }), h("div", { key: '861dda13e0cc65dfa2a5d1ec09644548fac5d538', part: `${this.name}-container form-input-container`, class: "form-input-container" }, h(FormInputPrefix, { key: '317b9fdc5154b734f67461e6e88448a08b8637bd', name: this.name, direction: (_k = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _k === void 0 ? void 0 : _k.direction, prefix: this.inputPrefix }), h("input", Object.assign({ key: 'f694f98a3ae8e13811bee5a7215160b4a4791e76' }, this.inputProps, { name: this.name, disabled: isDisabled, defaultValue: this.defaultValue, part: `${this.name}-input form-input`, placeholder: placeholder || (meta === null || meta === void 0 ? void 0 : meta.placeholder), style: Object.assign({}, (this.prefixWidth ? { [((_l = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _l === void 0 ? void 0 : _l.direction) === 'rtl' ? 'paddingRight' : 'paddingLeft']: `${this.prefixWidth}px` } : {})), class: cn('form-input-style !uppercase', part, {
|
|
56
56
|
'form-input-error-style': isError,
|
|
57
|
-
}) })), !!this.scannerIcon && (this.useOcr || this.readSticker) && (h("button", { key: '
|
|
57
|
+
}) })), !!this.scannerIcon && (this.useOcr || this.readSticker) && (h("button", { key: '8db0266e57e6e8e39dd08c124512c4cb0c9c078b', type: "button", disabled: isDisabled, part: cn('vin-validator', part + '-vin'), onClick: () => { var _a; return (_a = this === null || this === void 0 ? void 0 : this.el.getElementsByTagName('vin-extractor')[0]) === null || _a === void 0 ? void 0 : _a.open(); }, class: "absolute transition-all duration-500 disabled:!pointer-events-none disabled:!opacity-0 flex justify-center items-center end-3.5 !text-[#576675] enabled:hover:!text-black/85 aspect-square h-[70%] top-1/2 -translate-y-1/2" }, this.scannerIcon === 'qr-code' && h(QrCodeScanIcon, { key: '8b977fb5f399a7a09de05295b8839d6480c21e51', class: "size-[90%] text-inherit" }), this.scannerIcon === 'camera' && h(CameraIcon, { key: 'dd9b3ce45e8a0246884cd6a95d8e399c87e65dd1', class: "size-[90%] text-inherit" })))), h(FormErrorMessage, { key: '21ab2bfea29796f668138f21b4e0cc02a6cae921', name: this.name, isError: isError, errorMessage: errorTextMessage })), (this.useOcr || this.readSticker) && (h("div", { key: 'a264030a9abfc7538f946383884f205e64ece7e8', class: "absolute" }, h("vin-extractor", { key: 'ebb1e237f23028c2e561bbc31189000d923f973a', verbose: true, manualCapture: true, useOcr: this.useOcr, title: extractorTitle, skipValidation: false, readSticker: this.readSticker, ocrEndpoint: this.ocrEndpoint, onExtract: newVin => {
|
|
58
58
|
var _a, _b;
|
|
59
59
|
this.inputRef.value = newVin;
|
|
60
60
|
(_a = this.form) === null || _a === void 0 ? void 0 : _a.validateInput(this === null || this === void 0 ? void 0 : this.name);
|
|
61
61
|
(_b = this === null || this === void 0 ? void 0 : this.el.getElementsByTagName('vin-extractor')[0]) === null || _b === void 0 ? void 0 : _b.close();
|
|
62
|
-
}
|
|
62
|
+
} })))));
|
|
63
63
|
}
|
|
64
64
|
static get is() { return "form-vin-input"; }
|
|
65
65
|
static get originalStyleUrls() {
|
|
@@ -251,6 +251,25 @@ export class FormVinInput {
|
|
|
251
251
|
"reflect": false,
|
|
252
252
|
"defaultValue": "{}"
|
|
253
253
|
},
|
|
254
|
+
"ocrEndpoint": {
|
|
255
|
+
"type": "string",
|
|
256
|
+
"attribute": "ocr-endpoint",
|
|
257
|
+
"mutable": false,
|
|
258
|
+
"complexType": {
|
|
259
|
+
"original": "string",
|
|
260
|
+
"resolved": "string",
|
|
261
|
+
"references": {}
|
|
262
|
+
},
|
|
263
|
+
"required": false,
|
|
264
|
+
"optional": true,
|
|
265
|
+
"docs": {
|
|
266
|
+
"tags": [],
|
|
267
|
+
"text": ""
|
|
268
|
+
},
|
|
269
|
+
"getter": false,
|
|
270
|
+
"setter": false,
|
|
271
|
+
"reflect": false
|
|
272
|
+
},
|
|
254
273
|
"defaultValue": {
|
|
255
274
|
"type": "string",
|
|
256
275
|
"attribute": "default-value",
|
|
@@ -270,6 +289,31 @@ export class FormVinInput {
|
|
|
270
289
|
"setter": false,
|
|
271
290
|
"reflect": false
|
|
272
291
|
},
|
|
292
|
+
"localization": {
|
|
293
|
+
"type": "unknown",
|
|
294
|
+
"attribute": "localization",
|
|
295
|
+
"mutable": false,
|
|
296
|
+
"complexType": {
|
|
297
|
+
"original": "FormInputLocalization<{ scan: string }>",
|
|
298
|
+
"resolved": "{ [lang: string]: { label?: string; placeholder?: string; require?: string; format?: string; } & { scan: string; }; }",
|
|
299
|
+
"references": {
|
|
300
|
+
"FormInputLocalization": {
|
|
301
|
+
"location": "import",
|
|
302
|
+
"path": "~features/form-hook",
|
|
303
|
+
"id": "src/features/form-hook/index.ts::FormInputLocalization"
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
"required": false,
|
|
308
|
+
"optional": true,
|
|
309
|
+
"docs": {
|
|
310
|
+
"tags": [],
|
|
311
|
+
"text": ""
|
|
312
|
+
},
|
|
313
|
+
"getter": false,
|
|
314
|
+
"setter": false,
|
|
315
|
+
"defaultValue": "{}"
|
|
316
|
+
},
|
|
273
317
|
"useOcr": {
|
|
274
318
|
"type": "boolean",
|
|
275
319
|
"attribute": "use-ocr",
|
|
@@ -8,58 +8,73 @@ import { VehicleImageViewer } from "../../form-elements/VehicleImageViewer";
|
|
|
8
8
|
import { CalendarDaysIcon } from "../../../global/assets/calendar-days-icon";
|
|
9
9
|
import { format, isBefore, isEqual } from "date-fns";
|
|
10
10
|
import { decodeTimeOffset } from "../../../global/lib/decode-time-offset";
|
|
11
|
-
export const
|
|
12
|
-
submit: ({ props }) => h("form-submit", Object.assign({}, props)),
|
|
13
|
-
name: ({ props }) => h("form-input", Object.assign({}, props)),
|
|
14
|
-
lastName: ({ props }) => h("form-input", Object.assign({}, props)),
|
|
15
|
-
email: ({ props }) => h("form-input", Object.assign({ type: "email" }, props)),
|
|
16
|
-
message: ({ props }) => h("form-text-area", Object.assign({}, props)),
|
|
17
|
-
vin: ({ props }) => h("form-vin-input", Object.assign({}, props)),
|
|
18
|
-
vehicleImage: ({ form }) => h(VehicleImageViewer, { form: form }),
|
|
19
|
-
phone: ({ props, isLoading }) => {
|
|
11
|
+
export const getFormMappers = (stateObject, extraMappers = {}) => (Object.assign({ submit: ({ props }) => h("form-submit", Object.assign({}, props)), name: ({ props }) => h("form-input", Object.assign({}, props)), lastName: ({ props }) => h("form-input", Object.assign({}, props)), email: ({ props }) => h("form-input", Object.assign({ type: "email" }, props)), message: ({ props }) => h("form-text-area", Object.assign({}, props)), vin: ({ props }) => h("form-vin-input", Object.assign({}, props)), vehicleImage: ({ form }) => h(VehicleImageViewer, { form: form }), phone: ({ props, isLoading }) => {
|
|
20
12
|
if (!stateObject.phoneValidator) {
|
|
21
13
|
stateObject.phoneValidator = getPhoneValidator((props === null || props === void 0 ? void 0 : props.countryCode) || '');
|
|
22
14
|
}
|
|
23
15
|
return h("form-phone-number", Object.assign({ defaultValue: stateObject.phoneValidator.default }, props, { isLoading: isLoading, validator: stateObject.phoneValidator }));
|
|
24
|
-
},
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const vehicleEndpoint =
|
|
16
|
+
}, vehicle: ({ language, props }) => {
|
|
17
|
+
const fetcher = async ({ signal, context }) => {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
const params = new URLSearchParams(window.location.search);
|
|
20
|
+
let paramValue = (_a = (params.get(props === null || props === void 0 ? void 0 : props.vehicleIdQueryParam) || '')) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
21
|
+
const vehicleEndpoint = props.vehicleApi;
|
|
30
22
|
const response = await fetch(vehicleEndpoint, { signal, headers: { 'Accept-Language': language } });
|
|
31
|
-
|
|
23
|
+
let options;
|
|
24
|
+
let defaultIndex = -1;
|
|
25
|
+
if (props === null || props === void 0 ? void 0 : props.vehiclesApiStrapiFormat) {
|
|
32
26
|
const res = await response.json();
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
options = res.data;
|
|
28
|
+
options = options.map((vehicle, idx) => {
|
|
29
|
+
var _a, _b, _c;
|
|
30
|
+
if (!props.defaultValue && paramValue && (((_a = vehicle === null || vehicle === void 0 ? void 0 : vehicle.GradeName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === paramValue || ((_b = `${vehicle.id}`) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === paramValue))
|
|
31
|
+
defaultIndex = idx;
|
|
32
|
+
return {
|
|
33
|
+
label: vehicle.attributes.GradeName,
|
|
34
|
+
value: (props === null || props === void 0 ? void 0 : props.useNamedValue) ? `${(_c = vehicle === null || vehicle === void 0 ? void 0 : vehicle.attributes) === null || _c === void 0 ? void 0 : _c.GradeName}` : `${vehicle.id}`,
|
|
35
|
+
meta: Object.assign(Object.assign({}, vehicle), { image: vehicle.attributes.Cover.data.attributes.url }),
|
|
36
|
+
};
|
|
37
|
+
});
|
|
39
38
|
}
|
|
40
39
|
else {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
options = await response.json();
|
|
41
|
+
options = options.map((vehicle, idx) => {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
if (!props.defaultValue && paramValue && (((_a = vehicle === null || vehicle === void 0 ? void 0 : vehicle.Title) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === paramValue || ((_b = `${vehicle.ID}`) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === paramValue))
|
|
44
|
+
defaultIndex = idx;
|
|
45
|
+
return {
|
|
46
|
+
label: vehicle.Title,
|
|
47
|
+
value: (props === null || props === void 0 ? void 0 : props.useNamedValue) ? `${vehicle.Title}` : `${vehicle.ID}`,
|
|
48
|
+
meta: Object.assign(Object.assign({}, vehicle), { image: vehicle.Image }),
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
if (!(props === null || props === void 0 ? void 0 : props.defaultValue)) {
|
|
53
|
+
if (defaultIndex > -1)
|
|
54
|
+
context.defaultValue = (_b = options[defaultIndex]) === null || _b === void 0 ? void 0 : _b.value;
|
|
55
|
+
else
|
|
56
|
+
context.defaultValue = '';
|
|
47
57
|
}
|
|
58
|
+
else
|
|
59
|
+
context.defaultValue = props === null || props === void 0 ? void 0 : props.defaultValue;
|
|
60
|
+
return options;
|
|
48
61
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
62
|
+
return h("form-select", Object.assign({}, props, { searchable: true, fetcher: fetcher, language: language }));
|
|
63
|
+
}, companyBranchId: ({ language, props }) => {
|
|
64
|
+
const fetcher = async ({ signal }) => {
|
|
65
|
+
const dealerEndpoint = props === null || props === void 0 ? void 0 : props.branchApi;
|
|
66
|
+
const response = await fetch(dealerEndpoint, { signal, headers: { 'Accept-Language': language } });
|
|
67
|
+
const options = (await response.json()).map(dealer => ({
|
|
68
|
+
label: dealer.Name,
|
|
69
|
+
value: `${dealer.ID}`,
|
|
70
|
+
meta: Object.assign({}, dealer),
|
|
71
|
+
}));
|
|
72
|
+
return options;
|
|
73
|
+
};
|
|
74
|
+
return h("form-select", Object.assign({}, props, { clearable: true, searchable: true, fetcher: fetcher, language: language }));
|
|
75
|
+
}, cityId: ({ language, props }) => {
|
|
60
76
|
const fetcher = async ({ signal }) => {
|
|
61
|
-
|
|
62
|
-
const dealerEndpoint = (_a = form.context.structure) === null || _a === void 0 ? void 0 : _a.data.dealerApi;
|
|
77
|
+
const dealerEndpoint = props === null || props === void 0 ? void 0 : props.cityApi;
|
|
63
78
|
const response = await fetch(dealerEndpoint, { signal, headers: { 'Accept-Language': language } });
|
|
64
79
|
const options = (await response.json()).map(dealer => ({
|
|
65
80
|
label: dealer.Name,
|
|
@@ -69,9 +84,7 @@ export const getDefaultMappers = (stateObject) => ({
|
|
|
69
84
|
return options;
|
|
70
85
|
};
|
|
71
86
|
return h("form-select", Object.assign({}, props, { clearable: true, searchable: true, fetcher: fetcher, language: language }));
|
|
72
|
-
},
|
|
73
|
-
date: ({ props }) => h("form-picker-input", Object.assign({ type: "date" }, props, { icon: h(CalendarDaysIcon, null) })),
|
|
74
|
-
time: ({ language, props }) => {
|
|
87
|
+
}, date: ({ props }) => h("form-picker-input", Object.assign({ type: "date" }, props, { icon: h(CalendarDaysIcon, null) })), time: ({ language, props }) => {
|
|
75
88
|
const fetcher = async () => {
|
|
76
89
|
const options = [];
|
|
77
90
|
if (Array.isArray(props.span) && Array.isArray(props.min) && Array.isArray(props.max) && props.format) {
|
|
@@ -88,5 +101,4 @@ export const getDefaultMappers = (stateObject) => ({
|
|
|
88
101
|
return options;
|
|
89
102
|
};
|
|
90
103
|
return h("form-select", Object.assign({}, props, { clearable: true, fetcher: fetcher, language: language }));
|
|
91
|
-
},
|
|
92
|
-
});
|
|
104
|
+
} }, extraMappers));
|
|
@@ -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}.-mt-1{margin-top:-.25rem}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\!h-auto{height:auto!important}.min-w-full{min-width:100%}.resize{resize:both}.overflow-hidden{overflow:hidden}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition-none{transition-property:none!important}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\!duration-0{transition-duration:0s!important}.\!duration-500{transition-duration:.5s!important}.fixed{position:fixed}.bottom-4{bottom:1rem}.left-1\/2{left:50%}.z-10{z-index:10}.z-\[9999\]{z-index:9999}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.size-8{height:2rem;width:2rem}.size-\[32px\]{height:32px;width:32px}.size-full{height:100%;width:100%}.h-\[100dvh\]{height:100dvh}.h-\[60px\]{height:60px}.min-h-full{min-height:100%}.w-\[100dvw\]{width:100dvw}.w-\[100px\]{width:100px}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.justify-between{justify-content:space-between}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity,1))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.object-cover{object-fit:cover}.object-center{object-position:center}.p-1{padding:.25rem}.p-\[16px\]{padding:16px}.py-\[10px\]{padding-bottom:10px;padding-top:10px}.text-center{text-align:center}.text-\[18px\]{font-size:18px}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.hover\:border-slate-700:hover{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.disabled\:bg-white\/75:disabled{background-color:hsla(0,0%,100%,.75)}@media (min-width:768px){.md\:relative{position:relative}.md\:h-auto{height:auto}.md\:w-\[600px\]{width:600px}.md\:\!translate-x-0{--tw-translate-x:0px!important;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.md\:overflow-hidden{overflow:hidden}.md\:rounded-lg{border-radius:.5rem}.md\:border-none{border-style:none}.md\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.md\:py-\[8px\]{padding-bottom:8px;padding-top:8px}.md\:text-\[24px\]{font-size:24px}.md\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.md\:\!opacity-100{opacity:1!important}.md\:transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.md\:duration-300{transition-duration:.3s}.md\:hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}}
|
|
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))}}
|
|
@@ -2,84 +2,82 @@
|
|
|
2
2
|
* Built by ShiftSoftware
|
|
3
3
|
* Copyright (c)
|
|
4
4
|
*/
|
|
5
|
-
import { string } from "yup";
|
|
5
|
+
import { object, string } from "yup";
|
|
6
6
|
import validateVin from "../../../global/lib/validate-vin";
|
|
7
7
|
export const label = (name) => `${name}-label`;
|
|
8
8
|
export const format = (name) => `${name}-format`;
|
|
9
9
|
export const require = (name) => `${name}-require`;
|
|
10
10
|
export const placeholder = (name) => `${name}-placeholder`;
|
|
11
|
+
export const meta = (name) => ({ label: label(name), placeholder: placeholder(name) });
|
|
11
12
|
export const condition = (name) => `$${name}Required`;
|
|
12
|
-
export const y = { label, format, require, condition, placeholder };
|
|
13
|
-
export const
|
|
14
|
-
name: string()
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
then: schema => schema.required(require('time')),
|
|
84
|
-
}),
|
|
85
|
-
});
|
|
13
|
+
export const y = { label, format, require, condition, placeholder, meta };
|
|
14
|
+
export const getFormValidations = (stateObject, extraFields = {}) => {
|
|
15
|
+
return object(Object.assign({ name: string()
|
|
16
|
+
.meta(meta('name'))
|
|
17
|
+
.when(condition('name'), {
|
|
18
|
+
is: true,
|
|
19
|
+
otherwise: schema => schema.optional(),
|
|
20
|
+
then: schema => schema.required(require('name')).min(3, format('name')),
|
|
21
|
+
}), lastName: string()
|
|
22
|
+
.meta(meta('lastName'))
|
|
23
|
+
.when(condition('lastName'), {
|
|
24
|
+
is: true,
|
|
25
|
+
otherwise: schema => schema.optional(),
|
|
26
|
+
then: schema => schema.required(require('lastName')).min(3, format('lastName')),
|
|
27
|
+
}), message: string()
|
|
28
|
+
.meta(meta('message'))
|
|
29
|
+
.when(condition('message'), {
|
|
30
|
+
is: true,
|
|
31
|
+
otherwise: schema => schema.optional(),
|
|
32
|
+
then: schema => schema.required(require('message')).min(10, format('message')),
|
|
33
|
+
}), email: string()
|
|
34
|
+
.meta(meta('email'))
|
|
35
|
+
.when(condition('email'), {
|
|
36
|
+
is: true,
|
|
37
|
+
otherwise: schema => schema.optional(),
|
|
38
|
+
then: schema => schema.required(require('email')),
|
|
39
|
+
})
|
|
40
|
+
.email(format('email')), vin: string()
|
|
41
|
+
.meta(meta('vin'))
|
|
42
|
+
.when(condition('vin'), {
|
|
43
|
+
is: true,
|
|
44
|
+
otherwise: schema => schema.optional(),
|
|
45
|
+
then: schema => schema.required(require('vin')).test(format('vin'), format('vin'), a => validateVin(a === null || a === void 0 ? void 0 : a.toUpperCase())),
|
|
46
|
+
}), phone: string()
|
|
47
|
+
.meta(meta('phone'))
|
|
48
|
+
.when(condition('phone'), {
|
|
49
|
+
is: true,
|
|
50
|
+
otherwise: schema => schema.optional(),
|
|
51
|
+
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(); }),
|
|
52
|
+
}), vehicle: string()
|
|
53
|
+
.meta(meta('vehicle'))
|
|
54
|
+
.when(y.condition('vehicle'), {
|
|
55
|
+
is: true,
|
|
56
|
+
otherwise: schema => schema.optional(),
|
|
57
|
+
then: schema => schema.required(y.require('vehicle')),
|
|
58
|
+
}), companyBranchId: string()
|
|
59
|
+
.meta(meta('companyBranchId'))
|
|
60
|
+
.when(y.condition('companyBranchId'), {
|
|
61
|
+
is: true,
|
|
62
|
+
otherwise: schema => schema.optional(),
|
|
63
|
+
then: schema => schema.required(y.require('companyBranchId')),
|
|
64
|
+
}), cityId: string()
|
|
65
|
+
.meta(meta('cityId'))
|
|
66
|
+
.when(y.condition('cityId'), {
|
|
67
|
+
is: true,
|
|
68
|
+
otherwise: schema => schema.optional(),
|
|
69
|
+
then: schema => schema.required(y.require('cityId')),
|
|
70
|
+
}), date: string()
|
|
71
|
+
.meta(meta('date'))
|
|
72
|
+
.when(condition('date'), {
|
|
73
|
+
is: true,
|
|
74
|
+
otherwise: schema => schema.optional(),
|
|
75
|
+
then: schema => schema.required(require('date')),
|
|
76
|
+
}), time: string()
|
|
77
|
+
.meta(meta('time'))
|
|
78
|
+
.when(condition('time'), {
|
|
79
|
+
is: true,
|
|
80
|
+
otherwise: schema => schema.optional(),
|
|
81
|
+
then: schema => schema.required(require('time')),
|
|
82
|
+
}) }, extraFields));
|
|
83
|
+
};
|
|
@@ -8,29 +8,29 @@ import { sharedFormLocalesSchema } from "../../features/multi-lingual/index";
|
|
|
8
8
|
import getLanguageFromUrl from "../../global/lib/get-language-from-url";
|
|
9
9
|
import cn from "../../global/lib/cn";
|
|
10
10
|
import { LoaderIcon } from "../../global/assets/loader-icon";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
11
|
+
import { string } from "yup";
|
|
12
|
+
import { getFormValidations, y } from "./defaults/validation";
|
|
13
|
+
import { getFormMappers } from "./defaults/mappers";
|
|
14
14
|
import { getDefaultStateObject } from "./defaults/state-object";
|
|
15
15
|
let stateObject = getDefaultStateObject();
|
|
16
|
-
const validation =
|
|
17
|
-
|
|
18
|
-
.
|
|
16
|
+
const validation = getFormValidations(stateObject, {
|
|
17
|
+
generalTicketType: string()
|
|
18
|
+
.meta(y.meta('generalTicketType'))
|
|
19
|
+
.when(y.condition('generalTicketType'), {
|
|
19
20
|
is: true,
|
|
20
21
|
otherwise: schema => schema.optional(),
|
|
21
|
-
then: schema => schema.required(y.require('
|
|
22
|
-
})
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
const parsedOptions = branches.map(branch => ({ label: branch === null || branch === void 0 ? void 0 : branch.Name, value: branch === null || branch === void 0 ? void 0 : branch.ID }));
|
|
30
|
-
return parsedOptions;
|
|
22
|
+
then: schema => schema.required(y.require('generalTicketType')),
|
|
23
|
+
}),
|
|
24
|
+
});
|
|
25
|
+
const elementMapper = getFormMappers(stateObject, {
|
|
26
|
+
generalTicketType: ({ language, props }) => {
|
|
27
|
+
const fetcher = async ({}) => {
|
|
28
|
+
const options = Array.isArray(props === null || props === void 0 ? void 0 : props.options) ? props === null || props === void 0 ? void 0 : props.options : [];
|
|
29
|
+
return options.map(option => ({ value: (option === null || option === void 0 ? void 0 : option.value) || '', label: (option === null || option === void 0 ? void 0 : option[language]) || '' }));
|
|
31
30
|
};
|
|
32
|
-
return h("form-select", Object.assign({}, props, {
|
|
33
|
-
}
|
|
31
|
+
return h("form-select", Object.assign({}, props, { clearable: true, fetcher: fetcher, language: language }));
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
34
|
export class GeneralInquiryForm {
|
|
35
35
|
constructor() {
|
|
36
36
|
this.locale = { sharedFormLocales: sharedFormLocalesSchema.getDefault() };
|
|
@@ -75,9 +75,9 @@ export class GeneralInquiryForm {
|
|
|
75
75
|
// #endregion
|
|
76
76
|
render() {
|
|
77
77
|
var _a, _b;
|
|
78
|
-
return (h(Host, { key: '
|
|
78
|
+
return (h(Host, { key: 'ec357e8aa8f91ec83ee38d1be31ceb0d1e95d038' }, h("div", { key: 'af34b398c8e376efff3c2767e1ed01d098ab50e5', 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: '92c049c4010744b5fbc6c5edf80c6b406f210d8c', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '48905cb88b6054b6bdb73b9aed310d4601ae0b81', 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
79
|
'opacity-0': this.structureRendered,
|
|
80
|
-
}) }, h(LoaderIcon, { key: '
|
|
80
|
+
}) }, h(LoaderIcon, { key: 'ed5996aab6afb3b9edd27e17c394004062791e49', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '28343dde46ffef9d729c5d9b81d9eed1a77b9258', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: '3ac4c001d5d0bd36cf388691a571b94d15ee6aa0', 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: '3b2bc0c3aac4200cab0f31f0d3ea159b599fc217' }))))))));
|
|
81
81
|
}
|
|
82
82
|
static get is() { return "general-inquiry-form"; }
|
|
83
83
|
static get encapsulation() { return "shadow"; }
|
|
@@ -8,13 +8,12 @@ import { sharedFormLocalesSchema } from "../../features/multi-lingual/index";
|
|
|
8
8
|
import getLanguageFromUrl from "../../global/lib/get-language-from-url";
|
|
9
9
|
import cn from "../../global/lib/cn";
|
|
10
10
|
import { LoaderIcon } from "../../global/assets/loader-icon";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { getDefaultMappers } from "./defaults/mappers";
|
|
11
|
+
import { getFormValidations } from "./defaults/validation";
|
|
12
|
+
import { getFormMappers } from "./defaults/mappers";
|
|
14
13
|
import { getDefaultStateObject } from "./defaults/state-object";
|
|
15
14
|
let stateObject = getDefaultStateObject();
|
|
16
|
-
const validation =
|
|
17
|
-
const elementMapper =
|
|
15
|
+
const validation = getFormValidations(stateObject);
|
|
16
|
+
const elementMapper = getFormMappers(stateObject);
|
|
18
17
|
export class ServiceBookingForm {
|
|
19
18
|
constructor() {
|
|
20
19
|
this.locale = { sharedFormLocales: sharedFormLocalesSchema.getDefault() };
|
|
@@ -59,9 +58,9 @@ export class ServiceBookingForm {
|
|
|
59
58
|
// #endregion
|
|
60
59
|
render() {
|
|
61
60
|
var _a, _b;
|
|
62
|
-
return (h(Host, { key: '
|
|
61
|
+
return (h(Host, { key: '22f0de899c9531d1c9f13ec8d77f91f64561a64f' }, h("div", { key: 'af3726aea3e91be0acd62002ef1d039878d4c732', 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: '21a7b0274b08b6f5f4c1e1cbbd204dfdff7c3723', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '1fdb369874c9aea5a81aff7a45b46a2e22034b5c', 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', {
|
|
63
62
|
'opacity-0': this.structureRendered,
|
|
64
|
-
}) }, h(LoaderIcon, { key: '
|
|
63
|
+
}) }, h(LoaderIcon, { key: '4dc617177adfb48354bda986948d69f6662b1774', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '438f1f30d52bd6fbcd02497d4a5954e0cafc20ae', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: '13bc1284b54fbbd92e738f3ac28fcb7416ac53e9', 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: '392b3dbc5819fadade56a11a5bed885710a74f84' }))))))));
|
|
65
64
|
}
|
|
66
65
|
static get is() { return "service-booking-form"; }
|
|
67
66
|
static get encapsulation() { return "shadow"; }
|
|
@@ -8,13 +8,12 @@ import { sharedFormLocalesSchema } from "../../features/multi-lingual/index";
|
|
|
8
8
|
import getLanguageFromUrl from "../../global/lib/get-language-from-url";
|
|
9
9
|
import cn from "../../global/lib/cn";
|
|
10
10
|
import { LoaderIcon } from "../../global/assets/loader-icon";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { getDefaultMappers } from "./defaults/mappers";
|
|
11
|
+
import { getFormValidations } from "./defaults/validation";
|
|
12
|
+
import { getFormMappers } from "./defaults/mappers";
|
|
14
13
|
import { getDefaultStateObject } from "./defaults/state-object";
|
|
15
14
|
let stateObject = getDefaultStateObject();
|
|
16
|
-
const validation =
|
|
17
|
-
const elementMapper =
|
|
15
|
+
const validation = getFormValidations(stateObject);
|
|
16
|
+
const elementMapper = getFormMappers(stateObject);
|
|
18
17
|
export class SSCLookupForm {
|
|
19
18
|
constructor() {
|
|
20
19
|
this.locale = { sharedFormLocales: sharedFormLocalesSchema.getDefault() };
|
|
@@ -70,9 +69,9 @@ export class SSCLookupForm {
|
|
|
70
69
|
// #endregion
|
|
71
70
|
render() {
|
|
72
71
|
var _a, _b;
|
|
73
|
-
return (h(Host, { key: '
|
|
72
|
+
return (h(Host, { key: '1388662270764e5c55e513f415c827980abaec1f' }, h("div", { key: '66ffa8f118d0749cd949b6c95a1080a88403b222', 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: '8c475b8f84fbcaf470bfe33a73fb173ee67d44dc', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '1a789d6edf4667be5a7e8ba0563d3416e030890a', 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', {
|
|
74
73
|
'opacity-0': this.structureRendered,
|
|
75
|
-
}) }, h(LoaderIcon, { key: '
|
|
74
|
+
}) }, h(LoaderIcon, { key: '4ab24cf4b89e72690ab160070928edb6b44fbfb5', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '2b1c3b059306c660f8d721768f930fa52cf165b5', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: '7ceec1a05f6dfa6a1ee22b2eeace80ac16114ee4', 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: '40264199c30d3a2b6279017c682964788ee8d746' }))))))));
|
|
76
75
|
}
|
|
77
76
|
static get is() { return "ssc-lookup-form"; }
|
|
78
77
|
static get encapsulation() { return "shadow"; }
|