adp-web-components 0.1.72 → 0.1.73
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 +8 -8
- package/dist/cjs/flexible-container.cjs.entry.js +1 -1
- package/dist/cjs/form-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/form-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/{form-dialog_9.cjs.entry.js → form-dialog_12.cjs.entry.js} +179 -30
- package/dist/cjs/form-input_4.cjs.entry.js +8 -8
- package/dist/cjs/form-switch.cjs.entry.js +2 -2
- package/dist/cjs/form-time-picker.cjs.entry.js +6 -6
- package/dist/cjs/general-inquiry-form.cjs.entry.js +6 -6
- package/dist/cjs/{get-language-from-url-BDxORAGO.js → get-language-from-url-Bqqqxz28.js} +26 -4
- package/dist/cjs/{get-local-language-BHgGjV5c.js → get-local-language-CNebztcH.js} +1 -1
- package/dist/cjs/information-table.cjs.entry.js +1 -1
- package/dist/cjs/{loader-icon-C4vy1OWp.js → loader-icon-1SQ5PJDU.js} +2 -2
- 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 +4 -4
- package/dist/cjs/part-lookup.cjs.entry.js +2 -2
- package/dist/cjs/service-booking-form.cjs.entry.js +6 -6
- package/dist/cjs/shift-accordion.cjs.entry.js +1 -1
- 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 +10 -11
- package/dist/cjs/ssc-lookup-form.cjs.entry.js +6 -6
- package/dist/cjs/{state-object-Cgz5J2Ur.js → state-object-CzC0mUcK.js} +2 -2
- package/dist/cjs/test-drive-form.cjs.entry.js +6 -6
- package/dist/cjs/vehicle-accessories_7.cjs.entry.js +22 -22
- package/dist/cjs/vehicle-lookup.cjs.entry.js +2 -2
- package/dist/cjs/vehicle-quotation-form.cjs.entry.js +5 -5
- package/dist/collection/collection-manifest.json +3 -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-accordion.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/form-input-preview.js +126 -0
- 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-step-control.js → form-stepper-control.js} +13 -25
- package/dist/collection/components/form-elements/form-stepper-submit.js +2 -2
- package/dist/collection/components/form-elements/form-stepper.js +197 -0
- package/dist/collection/components/form-elements/form-structure-error.js +1 -1
- package/dist/collection/components/form-elements/form-structure.js +7 -8
- package/dist/collection/components/form-elements/form-submit.js +2 -2
- package/dist/collection/components/form-elements/form-switch.js +1 -1
- package/dist/collection/components/form-elements/form-text-area.js +2 -2
- package/dist/collection/components/form-elements/form-time-picker-legacy.js +5 -5
- package/dist/collection/components/form-elements/form-vin-input.js +2 -2
- package/dist/collection/components/forms/defaults/mappers.js +1 -1
- package/dist/collection/components/forms/general-inquiry.js +2 -2
- package/dist/collection/components/forms/service-booking.js +2 -2
- package/dist/collection/components/forms/ssc-lookup.js +2 -2
- package/dist/collection/components/forms/test-drive.js +2 -2
- package/dist/collection/components/forms/vehicle-quotation.js +2 -2
- package/dist/collection/components/part-lookup/dead-stock-lookup.css +1 -1
- package/dist/collection/components/part-lookup/dead-stock-lookup.js +2 -2
- package/dist/collection/components/part-lookup/distributor-lookup.css +1 -1
- package/dist/collection/components/part-lookup/distributor-lookup.js +2 -2
- package/dist/collection/components/part-lookup/manufacturer-lookup.css +1 -1
- package/dist/collection/components/part-lookup/manufacturer-part-lookup.css +1 -1
- package/dist/collection/components/part-lookup/manufacturer-part-lookup.js +1 -1
- package/dist/collection/components/part-lookup/part-lookup.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-accessories.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-accessories.js +2 -2
- package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.js +4 -4
- package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.js +8 -9
- 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-sale-information.js +2 -2
- package/dist/collection/components/vehicle-lookup/vehicle-service-history.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-service-history.js +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-specification.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-specification.js +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-warranty-details.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-warranty-details.js +4 -4
- package/dist/collection/components/vin-extractor/vin-extractor.js +1 -1
- package/dist/collection/features/form-hook/form-hook.js +26 -4
- package/dist/collection/features/form-hook/render-structure.js +10 -2
- package/dist/collection/global/assets/chevron-left-icon.js +6 -0
- package/dist/collection/global/assets/chevron-right-icon.js +6 -0
- 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-preview.d.ts +11 -0
- package/dist/components/form-input-preview.js +5 -0
- 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.d.ts +11 -0
- package/dist/components/form-stepper.js +5 -0
- 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-DRkoUgc-.js → p-0mTj2WOy.js} +1 -1
- package/dist/components/p-1rMNgTmN.js +5 -0
- package/dist/components/{p-vub3oOr-.js → p-79vIxrcU.js} +1 -1
- package/dist/components/{p-BWbMTRSS.js → p-7iqASLTY.js} +1 -1
- package/dist/components/p-B3JtiVD2.js +5 -0
- package/dist/components/{p-BGq7d7YN.js → p-B3Xh0vdw.js} +1 -1
- package/dist/components/{p-BoER4BnX.js → p-B4TQINqj.js} +1 -1
- package/dist/components/p-B65dFfDh.js +5 -0
- package/dist/components/p-BCpsjHXn.js +5 -0
- package/dist/components/{p-CrouRVEx.js → p-BEMq07yY.js} +1 -1
- package/dist/components/p-Bma8_jGX.js +5 -0
- package/dist/components/p-Boejxjtr.js +5 -0
- package/dist/components/p-Bp88H2mI.js +5 -0
- package/dist/components/{p--jlw5opz.js → p-Bpl_xEZ-.js} +1 -1
- package/dist/components/p-BryhrDnv.js +5 -0
- package/dist/components/{p-DThFNBwH.js → p-C0RzLTfq.js} +1 -1
- package/dist/components/p-C2KleZJn.js +5 -0
- package/dist/components/p-CD82_5Cy.js +5 -0
- package/dist/components/p-CKTuyirQ.js +5 -0
- package/dist/components/{p-BvLuD0Kf.js → p-CKmHT-QE.js} +1 -1
- package/dist/components/p-CWHwusek.js +5 -0
- package/dist/components/{p-DRypfOfG.js → p-CozfQOrj.js} +1 -1
- package/dist/components/{p-Donjg6jl.js → p-D0v1QCmD.js} +1 -1
- package/dist/components/p-D7Jb5Fju.js +5 -0
- package/dist/components/{p-C-bOO9_K.js → p-DMVrarsm.js} +1 -1
- package/dist/components/{p-41x6KvGr.js → p-DRlBYuev.js} +1 -1
- package/dist/components/p-DSnwz6ub.js +5 -0
- package/dist/components/p-DVG0n__B.js +5 -0
- package/dist/components/{p-BcmcPyEi.js → p-DrTvKZRy.js} +1 -1
- package/dist/components/p-Dw3mY0AO.js +5 -0
- package/dist/components/{p-CxmOqH7E.js → p-DxNmqHoK.js} +1 -1
- package/dist/components/{p-CthTWUyd.js → p-DyTZjpQ4.js} +1 -1
- package/dist/components/{p-DWUC1sOH.js → p-DzKVZVy-.js} +1 -1
- package/dist/components/{p-7KNE1-Ri.js → p-GPQYyufW.js} +1 -1
- package/dist/components/p-OUedjU16.js +5 -0
- package/dist/components/{p-BcI0oj-h.js → p-SQun8tPd.js} +1 -1
- package/dist/components/{p-DJaWpqrV.js → p-V4RS2bVl.js} +1 -1
- package/dist/components/p-kKPCaZNE.js +5 -0
- package/dist/components/{p-CRhdQvF0.js → p-l6FwCuo4.js} +1 -1
- package/dist/components/{p-BvnhLOCg.js → p-oeYt0bvP.js} +1 -1
- 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 +8 -8
- package/dist/esm/flexible-container.entry.js +1 -1
- package/dist/esm/form-checkbox.entry.js +1 -1
- package/dist/esm/form-date-picker.entry.js +1 -1
- package/dist/esm/{form-dialog_9.entry.js → form-dialog_12.entry.js} +178 -32
- package/dist/esm/form-input_4.entry.js +8 -8
- package/dist/esm/form-switch.entry.js +2 -2
- package/dist/esm/form-time-picker.entry.js +6 -6
- package/dist/esm/general-inquiry-form.entry.js +6 -6
- package/dist/esm/{get-language-from-url-CZmiCAsd.js → get-language-from-url-Ba709Um1.js} +26 -4
- package/dist/esm/{get-local-language-BF0xL8aw.js → get-local-language-CdVuxk3V.js} +1 -1
- package/dist/esm/information-table.entry.js +1 -1
- package/dist/esm/{loader-icon-DibQkdwl.js → loader-icon-DMlta9DL.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loading-spinner.entry.js +1 -1
- package/dist/esm/manufacturer-part-lookup.entry.js +4 -4
- package/dist/esm/part-lookup.entry.js +2 -2
- package/dist/esm/service-booking-form.entry.js +6 -6
- package/dist/esm/shift-accordion.entry.js +1 -1
- 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 +10 -11
- package/dist/esm/ssc-lookup-form.entry.js +6 -6
- package/dist/esm/{state-object-5qgRIr3a.js → state-object-cAyVCMfT.js} +2 -2
- package/dist/esm/test-drive-form.entry.js +6 -6
- package/dist/esm/vehicle-accessories_7.entry.js +22 -22
- package/dist/esm/vehicle-lookup.entry.js +2 -2
- package/dist/esm/vehicle-quotation-form.entry.js +5 -5
- package/dist/shift-components/{p-b1b6c27b.entry.js → p-05b5be85.entry.js} +1 -1
- package/dist/shift-components/{p-2fe3538e.entry.js → p-11d17669.entry.js} +1 -1
- package/dist/shift-components/p-121d55ce.entry.js +5 -0
- package/dist/shift-components/p-1acf600e.entry.js +5 -0
- package/dist/shift-components/{p-a516df62.entry.js → p-1f65b5c3.entry.js} +1 -1
- package/dist/shift-components/{p-597791f0.entry.js → p-2902e224.entry.js} +1 -1
- package/dist/shift-components/{p-cf92576f.entry.js → p-2bf577e9.entry.js} +1 -1
- package/dist/shift-components/{p-96fcaa2f.entry.js → p-2d3ad28d.entry.js} +1 -1
- package/dist/shift-components/p-629bd97a.entry.js +5 -0
- package/dist/shift-components/{p-a0439790.entry.js → p-6714c71f.entry.js} +1 -1
- package/dist/shift-components/{p-f4914abc.entry.js → p-78ebd5aa.entry.js} +1 -1
- package/dist/shift-components/{p-41d29e7e.entry.js → p-848a211e.entry.js} +1 -1
- package/dist/shift-components/{p-f7abcdc8.entry.js → p-9c1cccb3.entry.js} +1 -1
- package/dist/shift-components/p-CK-8T86o.js +5 -0
- package/dist/shift-components/{p-CLiT06E6.js → p-Cos1STxV.js} +1 -1
- package/dist/shift-components/p-DSP1JNSF.js +5 -0
- package/dist/shift-components/{p-RWnI27dq.js → p-DzTKgRdV.js} +1 -1
- package/dist/shift-components/{p-cf55db99.entry.js → p-a31baa00.entry.js} +1 -1
- package/dist/shift-components/p-a3af1fef.entry.js +5 -0
- package/dist/shift-components/p-a7fb0ce7.entry.js +5 -0
- package/dist/shift-components/p-b5b63c74.entry.js +5 -0
- package/dist/shift-components/{p-8d733785.entry.js → p-c18fe44e.entry.js} +1 -1
- package/dist/shift-components/p-c7001287.entry.js +5 -0
- package/dist/shift-components/{p-a91a7901.entry.js → p-cc4bdf56.entry.js} +1 -1
- package/dist/shift-components/p-ee45b75a.entry.js +5 -0
- package/dist/shift-components/p-f24dbdb6.entry.js +5 -0
- package/dist/shift-components/p-fc85a523.entry.js +5 -0
- package/dist/shift-components/{p-56ca3239.entry.js → p-fcba9fce.entry.js} +1 -1
- package/dist/shift-components/shift-components.esm.js +1 -1
- package/dist/types/components/form-elements/form-input-preview.d.ts +13 -0
- package/dist/types/components/form-elements/{form-step-control.d.ts → form-stepper-control.d.ts} +1 -2
- package/dist/types/components/form-elements/form-stepper.d.ts +17 -0
- package/dist/types/components/forms/defaults/mappers.d.ts +10 -0
- package/dist/types/components.d.ts +56 -2
- package/dist/types/features/form-hook/form-hook.d.ts +2 -0
- package/dist/types/global/assets/chevron-left-icon.d.ts +8 -0
- package/dist/types/global/assets/chevron-right-icon.d.ts +8 -0
- package/package.json +1 -1
- package/dist/cjs/form-stepper-control.cjs.entry.js +0 -37
- package/dist/components/p-6cUFg2fc.js +0 -5
- package/dist/components/p-8XSbLgc1.js +0 -5
- package/dist/components/p-BOVPfFLJ.js +0 -5
- package/dist/components/p-Bb9raR6p.js +0 -5
- package/dist/components/p-CF8TtBlc.js +0 -5
- package/dist/components/p-CGDBCNyc.js +0 -5
- package/dist/components/p-CjJcK_hB.js +0 -5
- package/dist/components/p-DJReNlr5.js +0 -5
- package/dist/components/p-DOvlk8Mh.js +0 -5
- package/dist/components/p-DdT53TtQ.js +0 -5
- package/dist/components/p-Dolx9bDW.js +0 -5
- package/dist/components/p-IDZdaLqR.js +0 -5
- package/dist/components/p-RsS4xQTn.js +0 -5
- package/dist/components/p-S8knoRzN.js +0 -5
- package/dist/components/p-bjIWj3pr.js +0 -5
- package/dist/esm/form-stepper-control.entry.js +0 -35
- package/dist/shift-components/p-0de56f81.entry.js +0 -5
- package/dist/shift-components/p-35f3ee2d.entry.js +0 -5
- package/dist/shift-components/p-42fd030e.entry.js +0 -5
- package/dist/shift-components/p-5398e145.entry.js +0 -5
- package/dist/shift-components/p-5e1fc9f1.entry.js +0 -5
- package/dist/shift-components/p-78478bd7.entry.js +0 -5
- package/dist/shift-components/p-96aec9cb.entry.js +0 -5
- package/dist/shift-components/p-DcKddZmi.js +0 -5
- package/dist/shift-components/p-DzDhhYba.js +0 -5
- package/dist/shift-components/p-a4abc248.entry.js +0 -5
- package/dist/shift-components/p-aba8e38a.entry.js +0 -5
- package/dist/shift-components/p-ba1c87fe.entry.js +0 -5
- package/dist/shift-components/p-dfcdbab3.entry.js +0 -5
package/dist/collection/components/form-elements/{form-step-control.js → form-stepper-control.js}
RENAMED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { h } from "@stencil/core";
|
|
6
6
|
import cn from "../../global/lib/cn";
|
|
7
|
+
import { ChevronLeftIcon } from "../../global/assets/chevron-left-icon";
|
|
8
|
+
import { ChevronRightIcon } from "../../global/assets/chevron-right-icon";
|
|
7
9
|
const buttonSubscriberKey = 'stepper-control-button';
|
|
8
10
|
export class FormStepperControl {
|
|
9
11
|
constructor() {
|
|
@@ -12,18 +14,23 @@ export class FormStepperControl {
|
|
|
12
14
|
}
|
|
13
15
|
async componentWillLoad() {
|
|
14
16
|
this.form.subscribe(buttonSubscriberKey, this);
|
|
17
|
+
this.form.backButtonContexts.push(this);
|
|
15
18
|
}
|
|
16
19
|
async disconnectedCallback() {
|
|
20
|
+
this.form.backButtonContexts = this.form.backButtonContexts.filter(back => back !== this);
|
|
17
21
|
this.form.unsubscribe(buttonSubscriberKey);
|
|
18
22
|
}
|
|
19
|
-
reset() { }
|
|
20
23
|
render() {
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
var _a, _b, _c;
|
|
25
|
+
const [locale, language] = this.form.getFormLocale();
|
|
26
|
+
const currentStep = (_b = (_a = this.form) === null || _a === void 0 ? void 0 : _a.formStructure) === null || _b === void 0 ? void 0 : _b.currentStep;
|
|
27
|
+
const direction = (_c = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _c === void 0 ? void 0 : _c.direction;
|
|
28
|
+
let step = this.form.getStepLabels(language, currentStep);
|
|
23
29
|
const text = (step === null || step === void 0 ? void 0 : step.back) || '';
|
|
24
|
-
return (h("button", { key: '
|
|
25
|
-
loading: this.isLoading,
|
|
26
|
-
|
|
30
|
+
return (h("button", { key: '9c70a7a5978bd0cf042d4abc0d957d731ef79d3c', type: "button", formnovalidate: true, disabled: this.isLoading, onClick: () => this.form.updateStep(-1), part: cn('stepper-control', `stepper-control-${direction}`, buttonSubscriberKey, `stepper-control-step-${currentStep}`), class: cn('transition-all duration-700 text-[16px] flex gap-1 items-center stepper-control', {
|
|
31
|
+
'loading': this.isLoading,
|
|
32
|
+
'pointer-events-none': currentStep === 10,
|
|
33
|
+
}) }, h("div", { key: '7978be37eb3eae37cd86d42ab52b4ee90e616b9d', part: cn('stepper-control-icon', `stepper-control-icon-${direction}`) }, direction === 'ltr' && h(ChevronLeftIcon, { key: 'fcff8206b825bcc9f7865413093db35f80210c4e', class: "size-5" }), direction === 'rtl' && h(ChevronRightIcon, { key: '8486f9fc8eda8cf631e4d4b5e0aa822f2d872123', class: "size-5" })), text));
|
|
27
34
|
}
|
|
28
35
|
static get is() { return "form-stepper-control"; }
|
|
29
36
|
static get originalStyleUrls() {
|
|
@@ -38,25 +45,6 @@ export class FormStepperControl {
|
|
|
38
45
|
}
|
|
39
46
|
static get properties() {
|
|
40
47
|
return {
|
|
41
|
-
"step": {
|
|
42
|
-
"type": "number",
|
|
43
|
-
"attribute": "step",
|
|
44
|
-
"mutable": false,
|
|
45
|
-
"complexType": {
|
|
46
|
-
"original": "number",
|
|
47
|
-
"resolved": "number",
|
|
48
|
-
"references": {}
|
|
49
|
-
},
|
|
50
|
-
"required": false,
|
|
51
|
-
"optional": true,
|
|
52
|
-
"docs": {
|
|
53
|
-
"tags": [],
|
|
54
|
-
"text": ""
|
|
55
|
-
},
|
|
56
|
-
"getter": false,
|
|
57
|
-
"setter": false,
|
|
58
|
-
"reflect": false
|
|
59
|
-
},
|
|
60
48
|
"language": {
|
|
61
49
|
"type": "string",
|
|
62
50
|
"attribute": "language",
|
|
@@ -24,9 +24,9 @@ export class FormStepperSubmit {
|
|
|
24
24
|
const [locale, language] = this.form.getFormLocale();
|
|
25
25
|
let step = this.form.getStepLabels(language, this.step);
|
|
26
26
|
const submitText = ((_b = (_a = this.localization) === null || _a === void 0 ? void 0 : _a[language]) === null || _b === void 0 ? void 0 : _b.label) || (step === null || step === void 0 ? void 0 : step.submitButton) || getNestedValue(locale, this.submitTextKey) || getNestedValue(locale, 'sharedFormLocales.submit') || 'Submit';
|
|
27
|
-
return (h("button", { key: '
|
|
27
|
+
return (h("button", { key: 'db9c12e114cf6c5d1e07ee6c913a5930fd2225ea', type: "submit", formnovalidate: true, disabled: this.isLoading, part: cn('submit-button', buttonSubscriberKey), class: cn('form-submit', {
|
|
28
28
|
loading: this.isLoading,
|
|
29
|
-
}) }, h("div", { key: '
|
|
29
|
+
}) }, h("div", { key: 'e3fff8243c1fe9b0376e1822ad7bce7010ccec72', part: "form-submit-text", class: "opacity-0 form-submit-text-style" }, submitText), h("div", { key: '3ebdb37a6b2198e1e3e00718db9a783663fc683a', part: "form-submit-text", class: "form-submit-text-style form-submit-text-position" }, submitText), h("div", { key: '6815fc039b0aa05a5fdf64b3a8b35df581f0395a', part: "form-submit-loading-container", class: "form-submit-loading-container" }, h("img", { key: 'd4c371b1f97104637d7a25710db8dcb635b0ba3b', part: "form-submit-loading-icon", class: "form-submit-loading-icon", src: Loader }))));
|
|
30
30
|
}
|
|
31
31
|
static get is() { return "form-stepper-submit"; }
|
|
32
32
|
static get originalStyleUrls() {
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by ShiftSoftware
|
|
3
|
+
* Copyright (c)
|
|
4
|
+
*/
|
|
5
|
+
import { h, Host, forceUpdate } from "@stencil/core";
|
|
6
|
+
import cn from "../../global/lib/cn";
|
|
7
|
+
const formStepperId = 'form-stepper-line';
|
|
8
|
+
export class FormStepper {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.updateLine = () => {
|
|
11
|
+
var _a;
|
|
12
|
+
const [locale] = this.form.getFormLocale();
|
|
13
|
+
const direction = (_a = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _a === void 0 ? void 0 : _a.direction;
|
|
14
|
+
if (!this.container || !this.line || !direction)
|
|
15
|
+
return;
|
|
16
|
+
const buttons = this.container.querySelectorAll('button');
|
|
17
|
+
if (buttons.length < 2)
|
|
18
|
+
return;
|
|
19
|
+
const firstButton = buttons[0].getBoundingClientRect();
|
|
20
|
+
const lastButton = buttons[buttons.length - 1].getBoundingClientRect();
|
|
21
|
+
const firstCenter = firstButton.left + firstButton.width / 2;
|
|
22
|
+
const lastCenter = lastButton.left + lastButton.width / 2;
|
|
23
|
+
const width = Math.abs(lastCenter - firstCenter);
|
|
24
|
+
this.line.style.width = `${width}px`;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
componentDidLoad() {
|
|
28
|
+
this.form.subscribe(formStepperId, this);
|
|
29
|
+
this.updateLine();
|
|
30
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
31
|
+
this.updateLine();
|
|
32
|
+
});
|
|
33
|
+
this.resizeObserver.observe(this.container);
|
|
34
|
+
}
|
|
35
|
+
async disconnectedCallback() {
|
|
36
|
+
this.form.unsubscribe(formStepperId);
|
|
37
|
+
if (this.resizeObserver) {
|
|
38
|
+
this.resizeObserver.disconnect();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async onLanguageUpdate() {
|
|
42
|
+
forceUpdate(this);
|
|
43
|
+
this.line.style.width = `${0}px`;
|
|
44
|
+
setTimeout(() => this.updateLine(), 100);
|
|
45
|
+
}
|
|
46
|
+
render() {
|
|
47
|
+
var _a, _b, _c, _d, _e;
|
|
48
|
+
const [_, language] = this.form.getFormLocale();
|
|
49
|
+
const steps = ((_c = (_b = (_a = this === null || this === void 0 ? void 0 : this.form) === null || _a === void 0 ? void 0 : _a.context) === null || _b === void 0 ? void 0 : _b.structure) === null || _c === void 0 ? void 0 : _c.steps) || [];
|
|
50
|
+
const currentStep = (_e = (_d = this.form) === null || _d === void 0 ? void 0 : _d.formStructure) === null || _e === void 0 ? void 0 : _e.currentStep;
|
|
51
|
+
return (h(Host, { key: 'd30e72bc95df9d166a68339b33bc0dd0cc263c47' }, h("div", { key: '37617fcfc305b7ea4ed26a6290e0129ede2f5e4e', part: cn(formStepperId, this === null || this === void 0 ? void 0 : this.name), class: "w-full", id: this.wrapperId }, h("div", { key: '2d79f9c919afe6801abdcec4e92b4054d54f9424', ref: el => (this.container = el), class: "relative flex items-center justify-between px-1 w-full" }, h("div", { key: 'c7f284044046877a0aa6242e8edafdcb9d75558b', part: cn(formStepperId + '-line'), ref: el => (this.line = el), class: "absolute w-full h-[1px] -translate-y-[50%] -translate-x-[50%] top-[16px] left-[50%]", style: { background: 'repeating-linear-gradient(to right,black 0px,black 12px,transparent 6px,transparent 24px)' } }), steps.map((step, i) => {
|
|
52
|
+
var _a, _b, _c;
|
|
53
|
+
return (h("div", { key: i, class: "flex items-center" }, h("div", { part: cn(formStepperId + '-step', formStepperId + '-step-' + (i + 1), {
|
|
54
|
+
[formStepperId + '-step-done']: i + 1 < currentStep,
|
|
55
|
+
[formStepperId + '-step-done' + (i + 1)]: i + 1 < currentStep,
|
|
56
|
+
[formStepperId + '-step-active']: i + 1 === currentStep,
|
|
57
|
+
[formStepperId + '-step-active' + (i + 1)]: i + 1 === currentStep,
|
|
58
|
+
}), class: "flex flex-col items-center" }, h("button", { type: "button", "aria-expanded": (_a = (i + 1 === currentStep)) === null || _a === void 0 ? void 0 : _a.toString(), part: cn(formStepperId + '-step-indicator', formStepperId + '-step-indicator-' + (i + 1), {
|
|
59
|
+
[formStepperId + '-step-indicator-done']: i + 1 < currentStep,
|
|
60
|
+
[formStepperId + '-step-indicator-done' + (i + 1)]: i + 1 < currentStep,
|
|
61
|
+
[formStepperId + '-step-indicator-active']: i + 1 === currentStep,
|
|
62
|
+
[formStepperId + '-step-indicator-active' + (i + 1)]: i + 1 === currentStep,
|
|
63
|
+
}), class: "relative z-[10] before:absolute before:inset-0 before:size-full before:origin-center before:bg-black/15 before:transition-all before:duration-500 aria-expanded:before:scale-[1.5] size-[32px] flex bg-black cursor-default items-center justify-center" }, h("div", { class: "relative z-10 text-white items-center text-[16px]", part: cn(formStepperId + '-step-indicator-text', formStepperId + '-step-indicator-text-' + (i + 1), {
|
|
64
|
+
[formStepperId + '-step-indicator-text-done']: i + 1 < currentStep,
|
|
65
|
+
[formStepperId + '-step-indicator-text-done' + (i + 1)]: i + 1 < currentStep,
|
|
66
|
+
[formStepperId + '-step-indicator-text-active']: i + 1 === currentStep,
|
|
67
|
+
[formStepperId + '-step-indicator-text-active' + (i + 1)]: i + 1 === currentStep,
|
|
68
|
+
}) }, (_b = step === null || step === void 0 ? void 0 : step[language]) === null || _b === void 0 ? void 0 : _b.stepCell)), h("span", { part: cn(formStepperId + '-step-title', formStepperId + '-step-title-' + (i + 1), {
|
|
69
|
+
[formStepperId + '-step-title-done']: i + 1 < currentStep,
|
|
70
|
+
[formStepperId + '-step-title-done' + (i + 1)]: i + 1 < currentStep,
|
|
71
|
+
[formStepperId + '-step-title-active']: i + 1 === currentStep,
|
|
72
|
+
[formStepperId + '-step-title-active' + (i + 1)]: i + 1 === currentStep,
|
|
73
|
+
}), class: "text-[14px] text-center mt-[12px] text-gray-600" }, (_c = step === null || step === void 0 ? void 0 : step[language]) === null || _c === void 0 ? void 0 : _c.stepTitle))));
|
|
74
|
+
})))));
|
|
75
|
+
}
|
|
76
|
+
static get is() { return "form-stepper"; }
|
|
77
|
+
static get originalStyleUrls() {
|
|
78
|
+
return {
|
|
79
|
+
"$": ["form-inputs.css"]
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
static get styleUrls() {
|
|
83
|
+
return {
|
|
84
|
+
"$": ["form-inputs.css"]
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
static get properties() {
|
|
88
|
+
return {
|
|
89
|
+
"name": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"attribute": "name",
|
|
92
|
+
"mutable": false,
|
|
93
|
+
"complexType": {
|
|
94
|
+
"original": "string",
|
|
95
|
+
"resolved": "string",
|
|
96
|
+
"references": {}
|
|
97
|
+
},
|
|
98
|
+
"required": false,
|
|
99
|
+
"optional": true,
|
|
100
|
+
"docs": {
|
|
101
|
+
"tags": [],
|
|
102
|
+
"text": ""
|
|
103
|
+
},
|
|
104
|
+
"getter": false,
|
|
105
|
+
"setter": false,
|
|
106
|
+
"reflect": false
|
|
107
|
+
},
|
|
108
|
+
"language": {
|
|
109
|
+
"type": "string",
|
|
110
|
+
"attribute": "language",
|
|
111
|
+
"mutable": false,
|
|
112
|
+
"complexType": {
|
|
113
|
+
"original": "string",
|
|
114
|
+
"resolved": "string",
|
|
115
|
+
"references": {}
|
|
116
|
+
},
|
|
117
|
+
"required": false,
|
|
118
|
+
"optional": true,
|
|
119
|
+
"docs": {
|
|
120
|
+
"tags": [],
|
|
121
|
+
"text": ""
|
|
122
|
+
},
|
|
123
|
+
"getter": false,
|
|
124
|
+
"setter": false,
|
|
125
|
+
"reflect": false
|
|
126
|
+
},
|
|
127
|
+
"wrapperId": {
|
|
128
|
+
"type": "string",
|
|
129
|
+
"attribute": "wrapper-id",
|
|
130
|
+
"mutable": false,
|
|
131
|
+
"complexType": {
|
|
132
|
+
"original": "string",
|
|
133
|
+
"resolved": "string",
|
|
134
|
+
"references": {}
|
|
135
|
+
},
|
|
136
|
+
"required": false,
|
|
137
|
+
"optional": false,
|
|
138
|
+
"docs": {
|
|
139
|
+
"tags": [],
|
|
140
|
+
"text": ""
|
|
141
|
+
},
|
|
142
|
+
"getter": false,
|
|
143
|
+
"setter": false,
|
|
144
|
+
"reflect": false
|
|
145
|
+
},
|
|
146
|
+
"form": {
|
|
147
|
+
"type": "unknown",
|
|
148
|
+
"attribute": "form",
|
|
149
|
+
"mutable": false,
|
|
150
|
+
"complexType": {
|
|
151
|
+
"original": "FormHook<any>",
|
|
152
|
+
"resolved": "FormHook<any>",
|
|
153
|
+
"references": {
|
|
154
|
+
"FormHook": {
|
|
155
|
+
"location": "import",
|
|
156
|
+
"path": "~features/form-hook",
|
|
157
|
+
"id": "src/features/form-hook/index.ts::FormHook"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"required": false,
|
|
162
|
+
"optional": false,
|
|
163
|
+
"docs": {
|
|
164
|
+
"tags": [],
|
|
165
|
+
"text": ""
|
|
166
|
+
},
|
|
167
|
+
"getter": false,
|
|
168
|
+
"setter": false
|
|
169
|
+
},
|
|
170
|
+
"wrapperClass": {
|
|
171
|
+
"type": "string",
|
|
172
|
+
"attribute": "wrapper-class",
|
|
173
|
+
"mutable": false,
|
|
174
|
+
"complexType": {
|
|
175
|
+
"original": "string",
|
|
176
|
+
"resolved": "string",
|
|
177
|
+
"references": {}
|
|
178
|
+
},
|
|
179
|
+
"required": false,
|
|
180
|
+
"optional": false,
|
|
181
|
+
"docs": {
|
|
182
|
+
"tags": [],
|
|
183
|
+
"text": ""
|
|
184
|
+
},
|
|
185
|
+
"getter": false,
|
|
186
|
+
"setter": false,
|
|
187
|
+
"reflect": false
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
static get watchers() {
|
|
192
|
+
return [{
|
|
193
|
+
"propName": "language",
|
|
194
|
+
"methodName": "onLanguageUpdate"
|
|
195
|
+
}];
|
|
196
|
+
}
|
|
197
|
+
}
|
|
@@ -16,7 +16,7 @@ export class FormStructureError {
|
|
|
16
16
|
this.sharedLocales = await getSharedLocal(newLanguage);
|
|
17
17
|
}
|
|
18
18
|
render() {
|
|
19
|
-
return (h(Host, { key: '
|
|
19
|
+
return (h(Host, { key: '3113ad0497753b7b4fc094f6a33da1f9edf5056c' }, h("div", { key: '4d84fd397a83956db9987f1bac1e20bf3e31532b', dir: this.sharedLocales.direction, part: "form-structure-error-container", class: "form-structure-error-container" }, h("div", { key: '0990e4213b87ce0ca8cc749b8babfeea62b799ff', part: "form-structure-error-content", class: "form-structure-error-content" }, this.sharedLocales.errors.wrongFormStructure))));
|
|
20
20
|
}
|
|
21
21
|
static get is() { return "form-structure-error"; }
|
|
22
22
|
static get originalStyleUrls() {
|
|
@@ -31,7 +31,7 @@ export class FormStructure {
|
|
|
31
31
|
}, 300);
|
|
32
32
|
}
|
|
33
33
|
render() {
|
|
34
|
-
var _a, _b, _c, _d;
|
|
34
|
+
var _a, _b, _c, _d, _e;
|
|
35
35
|
const [locale] = this.form.getFormLocale();
|
|
36
36
|
const generalProps = {
|
|
37
37
|
form: this.form,
|
|
@@ -43,13 +43,12 @@ export class FormStructure {
|
|
|
43
43
|
if (!this.structure)
|
|
44
44
|
return h("form-structure-error", { language: this.language });
|
|
45
45
|
const { formController, resetFormErrorMessage } = this.form;
|
|
46
|
-
return (h(Host, null, h("form", Object.assign({ id: this.formId, class: "relative", dir: this.locale.sharedLocales.direction }, formController), h("form-dialog", { dialogClosed: resetFormErrorMessage, isError: !!this.errorMessage, closeText: (_a = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _a === void 0 ? void 0 : _a.close, form: this.form, message: this.errorMessage }, h("div", { class: "form-success-container" }, h("svg", { fill: "none", "stroke-width": "2", viewBox: "0 0 24 24", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", xmlns: "http://www.w3.org/2000/svg", class: "size-[70px] stroke-green-700" }, h("path", { d: "M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z" }), h("path", { d: "m9 12 2 2 4-4" })), this.successMessage)), h("div", { class: "relative overflow-hidden
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}) }, renderStructure(this.structure, this.formElementMapper, generalProps, this.fields, i + 1)))))), h("button", { formnovalidate: true, type: "submit", class: "hidden" }))));
|
|
46
|
+
return (h(Host, null, h("form", Object.assign({ id: this.formId, class: "relative", dir: this.locale.sharedLocales.direction }, formController), h("form-dialog", { dialogClosed: resetFormErrorMessage, isError: !!this.errorMessage, closeText: (_a = locale === null || locale === void 0 ? void 0 : locale.sharedFormLocales) === null || _a === void 0 ? void 0 : _a.close, form: this.form, message: this.errorMessage }, h("div", { class: "form-success-container" }, h("svg", { fill: "none", "stroke-width": "2", viewBox: "0 0 24 24", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", xmlns: "http://www.w3.org/2000/svg", class: "size-[70px] stroke-green-700" }, h("path", { d: "M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z" }), h("path", { d: "m9 12 2 2 4-4" })), this.successMessage)), h("div", { class: "relative overflow-hidden" }, !((_b = this === null || this === void 0 ? void 0 : this.structure) === null || _b === void 0 ? void 0 : _b.steps) && renderStructure(this.structure, this.formElementMapper, generalProps, this.fields, -2), !!((_c = this === null || this === void 0 ? void 0 : this.structure) === null || _c === void 0 ? void 0 : _c.steps) && renderStructure(this.structure, this.formElementMapper, generalProps, this.fields, -1), !!((_d = this === null || this === void 0 ? void 0 : this.structure) === null || _d === void 0 ? void 0 : _d.steps) && (h("div", { class: "grid grid-cols-1 grid-rows-1" }, (_e = this === null || this === void 0 ? void 0 : this.structure) === null || _e === void 0 ? void 0 : _e.steps.map((_, i) => (h("div", { class: cn('col-start-1 row-start-1 transition-all !duration-700', {
|
|
47
|
+
'pointer-events-none! *:pointer-events-none!': this.currentStep !== i + 1,
|
|
48
|
+
'translate-x-full rtl:-translate-x-full opacity-0': this.currentStep < i + 1,
|
|
49
|
+
'translate-x-0 opacity-100': this.currentStep === i + 1,
|
|
50
|
+
'-translate-x-full rtl:translate-x-full opacity-0': this.currentStep > i + 1,
|
|
51
|
+
}) }, renderStructure(this.structure, this.formElementMapper, generalProps, this.fields, i + 1))))))), h("button", { formnovalidate: true, type: "submit", class: "hidden" }))));
|
|
53
52
|
}
|
|
54
53
|
static get is() { return "form-structure"; }
|
|
55
54
|
static get originalStyleUrls() {
|
|
@@ -23,9 +23,9 @@ export class FormSubmit {
|
|
|
23
23
|
var _a, _b;
|
|
24
24
|
const [locale, language] = this.form.getFormLocale();
|
|
25
25
|
const submitText = ((_b = (_a = this.localization) === null || _a === void 0 ? void 0 : _a[language]) === null || _b === void 0 ? void 0 : _b.label) || getNestedValue(locale, this.submitTextKey) || getNestedValue(locale, 'sharedFormLocales.submit') || 'Submit';
|
|
26
|
-
return (h("button", { key: '
|
|
26
|
+
return (h("button", { key: '769ef9ef9fad8cf47ac7ba839d9ef2ef509431b4', type: "submit", formnovalidate: true, part: buttonSubscriberKey, disabled: this.isLoading, class: cn('form-submit', {
|
|
27
27
|
loading: this.isLoading,
|
|
28
|
-
}) }, h("div", { key: '
|
|
28
|
+
}) }, h("div", { key: '4462548295aac7fdedfd46d24f2e7a26a1f36414', part: "form-submit-text", class: "opacity-0 form-submit-text-style" }, submitText), h("div", { key: 'b386e936c108f5df590244d0b2946fd464419d9b', part: "form-submit-text", class: "form-submit-text-style form-submit-text-position" }, submitText), h("div", { key: '1859433db037ad7b71db29701a8998445abc076c', part: "form-submit-loading-container", class: "form-submit-loading-container" }, h("img", { key: 'af0bb789e18796a08a224739c594e65c0b04b2dd', part: "form-submit-loading-icon", class: "form-submit-loading-icon", src: Loader }))));
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "form-submit"; }
|
|
31
31
|
static get originalStyleUrls() {
|
|
@@ -28,7 +28,7 @@ export class FormSwitch {
|
|
|
28
28
|
render() {
|
|
29
29
|
const { disabled, meta, errorMessage, isError } = this.form.getInputState(this.name);
|
|
30
30
|
const { label, errorTextMessage } = getInputLocalization(this, meta, errorMessage);
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: '877e658dd8e30d45d5ef228db55036a209ee4805' }, h("div", { key: '48c0bb73b4d320c78dccb6b2869eb096559069ea', part: `${this.name}`, id: this.wrapperId, class: cn('form-input-label-container', this.wrapperClass, disabled) }, h("div", { key: '1fffdfb0e47c7da0628fef059a8b09747e48a3dc', part: `${this.name}-container form-input-container`, class: "form-input-container" }, h("shift-switch", { key: 'e1cb10adcb3d6a31b97550ac022e2757c6f442d1', name: this.name, label: label, class: "form-switch" })), h(FormErrorMessage, { key: '13d1f6ad4e6670a9b2b758a5fa6897215574f1fe', name: this.name, isError: isError, errorMessage: errorTextMessage }))));
|
|
32
32
|
}
|
|
33
33
|
static get is() { return "form-switch"; }
|
|
34
34
|
static get originalStyleUrls() {
|
|
@@ -40,9 +40,9 @@ export class FormTextArea {
|
|
|
40
40
|
const { disabled, isRequired, meta, isError, errorMessage } = this.form.getInputState(this.name);
|
|
41
41
|
const { label, placeholder, errorTextMessage } = getInputLocalization(this, meta, errorMessage);
|
|
42
42
|
const isDisabled = disabled || this.isLoading || !!this.staticValue || this.isDisabled;
|
|
43
|
-
return (h(Host, { key: '
|
|
43
|
+
return (h(Host, { key: '82d262b89c00401010e862986968e61dcd0f6471' }, h("label", { key: '323c46544fa94a4e7f930e1e4b5eed72a32c5edb', part: `form-textarea ${this.name}`, id: this.wrapperId, class: cn('form-input-label-container', this.wrapperClass, { disabled: isDisabled }) }, h(FormInputLabel, { key: 'a4383cca1e7bf7a5d0018bd99710d52e07a39677', name: this.name, isRequired: isRequired, label: label }), h("div", { key: '78f156268a939b87c5653ea124b102d5fe2f2509', part: `${this.name}-container form-input-container`, class: "form-input-container" }, h("textarea", { key: '7f687f208979006d9c7c24c22da7c531e12daa18', name: this.name, disabled: isDisabled, placeholder: placeholder, part: `${this.name}-textarea form-input-textarea`, class: cn('form-input-style form-input-textarea-style', partKeyPrefix + this.name, {
|
|
44
44
|
'form-input-error-style': isError,
|
|
45
|
-
}) }, this.defaultValue)), h("div", { key: '
|
|
45
|
+
}) }, this.defaultValue)), h("div", { key: 'a76cad353532ec05cbbc30fa247e81d216059144', class: "-mt-1" }, h(FormErrorMessage, { key: '95cefaca72bc5bd0f16364eef7d75b91bbc85b1a', name: this.name, isError: isError, errorMessage: errorTextMessage })))));
|
|
46
46
|
}
|
|
47
47
|
static get is() { return "form-text-area"; }
|
|
48
48
|
static get originalStyleUrls() {
|
|
@@ -133,22 +133,22 @@ export class FormTimePicker {
|
|
|
133
133
|
const step = this.minuteStep || 1;
|
|
134
134
|
const hours = Array.from({ length: 24 }, (_, i) => i);
|
|
135
135
|
const minutes = Array.from({ length: Math.ceil(60 / step) }, (_, i) => i * step);
|
|
136
|
-
return (h(Host, { key: '
|
|
136
|
+
return (h(Host, { key: '66ec6a239fedc86dfd826323b0407f75bd3a6b5d' }, h("label", { key: 'c160d9c786e7034de1cfd75b1e147c0eb5fa97a4', part: this.name, id: this.wrapperId, class: cn('form-input-label-container', this.wrapperClass, { disabled: isDisabled }) }, h(FormInputLabel, { key: '4f95166ee0b46654670be5202dd8baab483022fc', isRequired: isRequired, label: label }), h("form-shadow-input", { key: 'eb58ae46113abaaa55a6ae0ba2106cdd8398045e', name: this.name, form: this.form, value: this.selectedValue }), h("div", { key: '48119271ae30dbfff137069087b16604f443fb87', part: `${this.name}-container form-input-container`, class: cn('form-input-container', { open: this.isOpen }) }, h("input", { key: '7f3fb852987124c746ce19bbc4ba647d2eca3ceb', type: "text", readOnly: true, disabled: isDisabled, value: this.selectedValue, onClick: this.toggleDropdown, part: `${this.name}-input form-input`, placeholder: placeholder || (meta === null || meta === void 0 ? void 0 : meta.placeholder), class: cn('form-input-style form-input-select', {
|
|
137
137
|
'form-input-error-style': isError,
|
|
138
|
-
}) }), h("span", { key: '
|
|
138
|
+
}) }), h("span", { key: '273ad19cc99c36da3984be119f6702b98f5fb1a9', part: `${this.name}-icon form-time-picker-icon`, class: "form-input-icon form-input-icon-end" }, h("svg", { key: '5056788c25b468f68e90bdea619cc5fe1dfa5617', "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "size-full" }, h("circle", { key: '154e070a80ba7601ccbd0d692f82fb65b4a2da41', cx: "12", cy: "12", r: "10" }), h("polyline", { key: '1b1b3abdb5e6996d4b129d0d7a7218010fe0d41f', points: "12 6 12 12 16 14" }))), h("div", { key: '667e3444f32e06a3dde37f401a0d73d9ab330d46', part: `${this.name}-dropdown form-time-picker-dropdown`, class: cn('form-picker-dropdown', {
|
|
139
139
|
upwards: this.openUpwards,
|
|
140
140
|
downwards: !this.openUpwards,
|
|
141
|
-
}) }, h("div", { key: '
|
|
141
|
+
}) }, h("div", { key: 'ef65be9f10e823e8ec9702a110b7565a73772c30', class: "form-time-picker-columns" }, h("div", { key: 'e6c0ce55d00fe8a9e40fe52a26694f72ec640325', class: "form-time-picker-column form-time-picker-hours" }, h("div", { key: 'b836debe9d93832eb2f9e759ed882aa390377d6f', class: "form-time-picker-column-header" }, "HH"), hours.map(hour => {
|
|
142
142
|
const hourDisabled = this.isHourDisabled(hour);
|
|
143
143
|
return (h("button", { type: "button", disabled: hourDisabled, onClick: () => this.selectHour(hour), part: cn('form-time-picker-option', { 'form-time-picker-option-selected': hour === selectedHour }), class: cn('form-time-picker-option', {
|
|
144
144
|
selected: hour === selectedHour,
|
|
145
145
|
}) }, String(hour).padStart(2, '0')));
|
|
146
|
-
})), h("div", { key: '
|
|
146
|
+
})), h("div", { key: '598658240032b8585e8948adc853edc14d19963b', class: "form-time-picker-column form-time-picker-minutes" }, h("div", { key: '39c67af195a5012225b9b48e745fc55d9755e21f', class: "form-time-picker-column-header" }, "MM"), minutes.map(minute => {
|
|
147
147
|
const minuteDisabled = selectedHour >= 0 ? this.isMinuteDisabled(selectedHour, minute) : false;
|
|
148
148
|
return (h("button", { type: "button", disabled: minuteDisabled, onClick: () => this.selectMinute(minute), part: cn('form-time-picker-option', { 'form-time-picker-option-selected': minute === selectedMinute }), class: cn('form-time-picker-option', {
|
|
149
149
|
selected: minute === selectedMinute,
|
|
150
150
|
}) }, String(minute).padStart(2, '0')));
|
|
151
|
-
}))))), h(FormErrorMessage, { key: '
|
|
151
|
+
}))))), h(FormErrorMessage, { key: '6718c361488548ad3a58251500ff270a31453c78', name: this.name, isError: isError, errorMessage: locale[errorMessage] || errorMessage }))));
|
|
152
152
|
}
|
|
153
153
|
static get is() { return "form-time-picker"; }
|
|
154
154
|
static get originalStyleUrls() {
|
|
@@ -52,9 +52,9 @@ export class FormVinInput {
|
|
|
52
52
|
const { label, placeholder, errorTextMessage } = getInputLocalization(this, meta, errorMessage);
|
|
53
53
|
const isDisabled = disabled || this.isLoading || !!this.staticValue || this.isDisabled;
|
|
54
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: '
|
|
55
|
+
return (h(Host, { key: 'f8dcd55f2deb3a393a4ea81551aeec4519bbf813' }, h("label", { key: '367261752a53849322cd705e95b320fd9fa1cd93', part: this.name, id: this.wrapperId, class: cn('form-input-label-container', this.wrapperClass, { disabled: isDisabled }) }, h(FormInputLabel, { key: '0bb15f1c03bfd76ab9cd9df1a8ac9cb501821f46', isRequired: isRequired, label: label }), h("div", { key: '564b0f28270c2b881445779ba9ca6ea03ccd2060', part: `${this.name}-container form-input-container`, class: "form-input-container" }, h(FormInputPrefix, { key: '15c357d4c652bcf92346e515a5a98698ec1be92a', 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: 'b1cb3ebceca65bd89154dce4aaf8bb8ff2e7373d' }, 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: 'fbe33dcaaca1249008b824701a430a749149a9ce', 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: '85d20ee7614be8bdcd6f6a3e2a08b5764f7cd0a8', class: "size-[90%] text-inherit" }), this.scannerIcon === 'camera' && h(CameraIcon, { key: '4ea959b7a3f0392a109fc4671fd414e3cc457776', class: "size-[90%] text-inherit" })))), h(FormErrorMessage, { key: '84caad1dc67f8dbe0740a4e0e2b223b39d56b94c', name: this.name, isError: isError, errorMessage: errorTextMessage })), (this.useOcr || this.readSticker) && (h("div", { key: 'f84a25a71fb1299b6a283afa0012b2f47d5bb3b1', class: "absolute" }, h("vin-extractor", { key: 'dc9a2120fb2dfbc792f630fa9adbdf462deda8f0', 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);
|
|
@@ -9,7 +9,7 @@ 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
11
|
import { populateItems } from "../../../global/lib/populate-items";
|
|
12
|
-
export const getFormMappers = (stateObject, extraMappers = {}) => (Object.assign({ submit: ({ props }) => h("form-submit", 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)), 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 }) => {
|
|
12
|
+
export const getFormMappers = (stateObject, 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)), 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)), 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 }) => {
|
|
13
13
|
if (!stateObject.phoneValidator) {
|
|
14
14
|
stateObject.phoneValidator = getPhoneValidator((props === null || props === void 0 ? void 0 : props.countryCode) || '');
|
|
15
15
|
}
|
|
@@ -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: 'cc8693dc30e30391a15cccdcb59d2d320bc0f4dc' }, h("div", { key: '699d2a170820f419e1284e8424fc1fa39c57283d', 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: '111c8c15a7fe693a825e23b4619b9be0b8d51b10', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: 'ca3b06774522c8b0973bf5ea87c3abcf15fe0c9b', 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: '38e489b793b571611f78eb3df602f6977c719592', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '682436ce4233053295581785ed259258e9a731b9', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: 'b5886296208c68d3fd33261d10d03b3b33e859c3', 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: 'db298c81011a8911de87c15ad86b2efe94434036' }))))))));
|
|
81
81
|
}
|
|
82
82
|
static get is() { return "general-inquiry-form"; }
|
|
83
83
|
static get encapsulation() { return "shadow"; }
|
|
@@ -58,9 +58,9 @@ export class ServiceBookingForm {
|
|
|
58
58
|
// #endregion
|
|
59
59
|
render() {
|
|
60
60
|
var _a, _b;
|
|
61
|
-
return (h(Host, { key: '
|
|
61
|
+
return (h(Host, { key: '1e5470559656553e9e6ea2f4917fde4e52dd6b82' }, h("div", { key: '7c4966646389d735889e1884bd5037d95aee62b2', 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: 'f492fe188d027f9f6681c32854237de99de9fb04', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: 'e274850418ed91768de34bf19c8568626faf2904', 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
62
|
'opacity-0': this.structureRendered,
|
|
63
|
-
}) }, h(LoaderIcon, { key: '
|
|
63
|
+
}) }, h(LoaderIcon, { key: '520c649b2a3539fd121188c11011a61c7ff9e8c0', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '888dd1ee3f916bd7a4f479535eb37d82c27b35b7', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: 'd7bf63aa6c8c6866a6c43bc41cc67beca89a19f1', 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: 'fe347a64038f85557550ceb0ca26ebb2831d9ac9' }))))))));
|
|
64
64
|
}
|
|
65
65
|
static get is() { return "service-booking-form"; }
|
|
66
66
|
static get encapsulation() { return "shadow"; }
|
|
@@ -69,9 +69,9 @@ export class SSCLookupForm {
|
|
|
69
69
|
// #endregion
|
|
70
70
|
render() {
|
|
71
71
|
var _a, _b;
|
|
72
|
-
return (h(Host, { key: '
|
|
72
|
+
return (h(Host, { key: '0b8851aaeb64ae4a1073b5d45fdfcf0973ab5bf6' }, h("div", { key: 'c1d139085cf16de07c50e3744fbd59a9f8e01232', 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: '7d191bb8cbf4b2a11f6938ef9ba85a0fe3ff4d22', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '218e9020a35f755182fc1dba3a5579ab3cf464f4', 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
73
|
'opacity-0': this.structureRendered,
|
|
74
|
-
}) }, h(LoaderIcon, { key: '
|
|
74
|
+
}) }, h(LoaderIcon, { key: 'a41cf1f241f53798580db6481b7631c6a5bbb72e', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '01e5622229a41e9752125a1a9dc4a000f3c9d189', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: 'b996ea4f93cdb1811ec348823613716be22d4ee6', 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: '28db639c4f19786ef7ef93d8a0dcd76f30625af1' }))))))));
|
|
75
75
|
}
|
|
76
76
|
static get is() { return "ssc-lookup-form"; }
|
|
77
77
|
static get encapsulation() { return "shadow"; }
|
|
@@ -58,9 +58,9 @@ export class TestDriveForm {
|
|
|
58
58
|
// #endregion
|
|
59
59
|
render() {
|
|
60
60
|
var _a, _b;
|
|
61
|
-
return (h(Host, { key: '
|
|
61
|
+
return (h(Host, { key: '6b4bfa35577dd1eea7945977d6169688e7d3fa92' }, h("div", { key: '151cb21bf9083d95af2edf33537b93dda4e521ba', 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: '39fc83cd2a0017edf79b196903e048b35f0427e5', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: 'c1fab2e0659a220ed5e83145488038abc7496226', 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
62
|
'opacity-0': this.structureRendered,
|
|
63
|
-
}) }, h(LoaderIcon, { key: '
|
|
63
|
+
}) }, h(LoaderIcon, { key: '3b6face05283f5b08eb57f6ebda83b38ab2d0861', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '3e58e1a399c07cec951d6711e708be9a3e14d5fc', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: 'abf9178d5061b51288ee93dddeecb711af6bd663', 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: '6d85f86268f831e3fb89aae586655292e78c564e' }))))))));
|
|
64
64
|
}
|
|
65
65
|
static get is() { return "test-drive-form"; }
|
|
66
66
|
static get encapsulation() { return "shadow"; }
|
|
@@ -148,9 +148,9 @@ export class VehicleQuotationForm {
|
|
|
148
148
|
// #endregion
|
|
149
149
|
render() {
|
|
150
150
|
var _a, _b;
|
|
151
|
-
return (h(Host, { key: '
|
|
151
|
+
return (h(Host, { key: '1f2cadaf415637143d04338a70ea6b868bb1a331' }, h("div", { key: '94d05cb20c6c4c5d542639780fec5625518f6adb', part: `vehicle-quotation-${(_b = (_a = this.structure) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.theme}` }, h("div", { key: 'e4fb0b0801af5ece96700f6f36df8785af3870f7', part: "form-container", class: "relative min-h-[150px]" }, h("div", { key: '2a2abb5756394092d9e53b0e025a60a117107141', 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', {
|
|
152
152
|
'opacity-0': this.structureRendered,
|
|
153
|
-
}) }, h(LoaderIcon, { key: '
|
|
153
|
+
}) }, h(LoaderIcon, { key: 'b19d77116c4a403f08b09ced05948c049f33e1ca', part: "form-loader-icon", class: "img" })), h("flexible-container", { key: '606b72dfa75164b66569356a2413194f39fd553f', onlyForMounting: true, isOpened: this.structureRendered }, !!this.form && (h("form-structure", { key: 'af50ecd074c6c8b4f1159f74b192ab0ad722e407', 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: vehicleQuotationElements, successMessage: this.locale['Form submitted successfully.'] }, h("slot", { key: '5c13099e52f3d6a8ab019ceca89f18872842f3e4' }))))))));
|
|
154
154
|
}
|
|
155
155
|
static get is() { return "vehicle-quotation-form"; }
|
|
156
156
|
static get encapsulation() { return "shadow"; }
|