@descope/web-components-ui 1.32.0 → 1.34.0
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/index.cjs.js +481 -364
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +524 -438
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/1408.js +382 -0
- package/dist/umd/1408.js.LICENSE.txt +17 -0
- package/dist/umd/1408.js.map +1 -0
- package/dist/umd/{9243.js → 1519.js} +7 -6
- package/dist/umd/1519.js.map +1 -0
- package/dist/umd/189.js +109 -276
- package/dist/umd/189.js.LICENSE.txt +12 -0
- package/dist/umd/189.js.map +1 -0
- package/dist/umd/{7979.js → 1899.js} +11 -10
- package/dist/umd/1899.js.map +1 -0
- package/dist/umd/{1172.js → 1995.js} +10 -9
- package/dist/umd/1995.js.map +1 -0
- package/dist/umd/2540.js +2 -1
- package/dist/umd/2540.js.map +1 -0
- package/dist/umd/2672.js +2 -0
- package/dist/umd/2672.js.map +1 -0
- package/dist/umd/2739.js +2 -0
- package/dist/umd/2739.js.map +1 -0
- package/dist/umd/{2570.js → 2894.js} +6 -5
- package/dist/umd/2894.js.map +1 -0
- package/dist/umd/{404.js → 3620.js} +9 -8
- package/dist/umd/3620.js.map +1 -0
- package/dist/umd/{4455.js → 384.js} +8 -7
- package/dist/umd/384.js.map +1 -0
- package/dist/umd/4467.js +3 -0
- package/dist/umd/4467.js.map +1 -0
- package/dist/umd/{4127.js → 4518.js} +11 -10
- package/dist/umd/4518.js.map +1 -0
- package/dist/umd/{1902.js → 4550.js} +7 -6
- package/dist/umd/4550.js.map +1 -0
- package/dist/umd/{4554.js → 4623.js} +7 -6
- package/dist/umd/4623.js.map +1 -0
- package/dist/umd/{742.js → 4914.js} +3 -2
- package/dist/umd/4914.js.map +1 -0
- package/dist/umd/{9478.js → 513.js} +6 -5
- package/dist/umd/513.js.map +1 -0
- package/dist/umd/{201.js → 5260.js} +6 -5
- package/dist/umd/5260.js.map +1 -0
- package/dist/umd/5414.js +2 -1
- package/dist/umd/5414.js.map +1 -0
- package/dist/umd/5648.js +110 -0
- package/dist/umd/5648.js.map +1 -0
- package/dist/umd/5780.js +2 -0
- package/dist/umd/5780.js.map +1 -0
- package/dist/umd/{5563.js → 6227.js} +6 -5
- package/dist/umd/6227.js.map +1 -0
- package/dist/umd/6424.js +149 -0
- package/dist/umd/6424.js.map +1 -0
- package/dist/umd/{7097.js → 6649.js} +6 -5
- package/dist/umd/6649.js.map +1 -0
- package/dist/umd/676.js +3 -0
- package/dist/umd/676.js.map +1 -0
- package/dist/umd/{1738.js → 7092.js} +2 -1
- package/dist/umd/7092.js.map +1 -0
- package/dist/umd/{3638.js → 7182.js} +3 -2
- package/dist/umd/7182.js.map +1 -0
- package/dist/umd/{507.js → 7291.js} +6 -5
- package/dist/umd/7291.js.map +1 -0
- package/dist/umd/{4187.js → 7565.js} +3 -2
- package/dist/umd/7565.js.map +1 -0
- package/dist/umd/{3191.js → 7620.js} +11 -7
- package/dist/umd/7620.js.map +1 -0
- package/dist/umd/{6050.js → 7774.js} +10 -9
- package/dist/umd/7774.js.map +1 -0
- package/dist/umd/{2666.js → 7939.js} +5 -4
- package/dist/umd/7939.js.map +1 -0
- package/dist/umd/{4114.js → 8618.js} +5 -4
- package/dist/umd/8618.js.map +1 -0
- package/dist/umd/8961.js +2 -0
- package/dist/umd/8961.js.map +1 -0
- package/dist/umd/{4574.js → 8983.js} +6 -5
- package/dist/umd/8983.js.map +1 -0
- package/dist/umd/9030.js +265 -307
- package/dist/umd/9030.js.LICENSE.txt +0 -6
- package/dist/umd/9030.js.map +1 -0
- package/dist/umd/9365.js +2 -0
- package/dist/umd/9365.js.map +1 -0
- package/dist/umd/{4218.js → 9380.js} +5 -4
- package/dist/umd/9380.js.map +1 -0
- package/dist/umd/9871.js +276 -0
- package/dist/umd/9871.js.map +1 -0
- package/dist/umd/9970.js +833 -0
- package/dist/umd/9970.js.map +1 -0
- package/dist/umd/DescopeDev.js +2 -1
- package/dist/umd/DescopeDev.js.map +1 -0
- package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js +2 -1
- package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js.map +1 -0
- package/dist/umd/boolean-fields-descope-checkbox-index-js.js +2 -1
- package/dist/umd/boolean-fields-descope-checkbox-index-js.js.map +1 -0
- package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +2 -1
- package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-internal-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-internal-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-internal-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-internal-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -0
- package/dist/umd/descope-address-field.js +2 -1
- package/dist/umd/descope-address-field.js.map +1 -0
- package/dist/umd/descope-alert-index-js.js +2 -1
- package/dist/umd/descope-alert-index-js.js.map +1 -0
- package/dist/umd/descope-apps-list-index-js.js +2 -1
- package/dist/umd/descope-apps-list-index-js.js.map +1 -0
- package/dist/umd/descope-autocomplete-field.js +2 -1
- package/dist/umd/descope-autocomplete-field.js.map +1 -0
- package/dist/umd/descope-avatar.js +2 -1
- package/dist/umd/descope-avatar.js.map +1 -0
- package/dist/umd/descope-badge-index-js.js +2 -1
- package/dist/umd/descope-badge-index-js.js.map +1 -0
- package/dist/umd/descope-button-index-js.js +5 -4
- package/dist/umd/descope-button-index-js.js.map +1 -0
- package/dist/umd/descope-code-snippet-index-js.js +2 -1
- package/dist/umd/descope-code-snippet-index-js.js.map +1 -0
- package/dist/umd/descope-combo-box.js +7 -6
- package/dist/umd/descope-combo-box.js.map +1 -0
- package/dist/umd/descope-container-index-js.js +2 -1
- package/dist/umd/descope-container-index-js.js.map +1 -0
- package/dist/umd/descope-date-field-descope-calendar-index-js.js +2 -1
- package/dist/umd/descope-date-field-descope-calendar-index-js.js.map +1 -0
- package/dist/umd/descope-date-field-index-js.js +2 -1
- package/dist/umd/descope-date-field-index-js.js.map +1 -0
- package/dist/umd/descope-divider-index-js.js +2 -1
- package/dist/umd/descope-divider-index-js.js.map +1 -0
- package/dist/umd/descope-email-field-index-js.js +5 -4
- package/dist/umd/descope-email-field-index-js.js.map +1 -0
- package/dist/umd/descope-enriched-text-index-js.js +2 -1
- package/dist/umd/descope-enriched-text-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js +5 -4
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js +6 -5
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +2 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js +5 -4
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-index-js.js +2 -1
- package/dist/umd/descope-grid-index-js.js.map +1 -0
- package/dist/umd/descope-hybrid-field-index-js.js +4 -3
- package/dist/umd/descope-hybrid-field-index-js.js.map +1 -0
- package/dist/umd/descope-icon-index-js.js +2 -1
- package/dist/umd/descope-icon-index-js.js.map +1 -0
- package/dist/umd/descope-image-index-js.js +2 -1
- package/dist/umd/descope-image-index-js.js.map +1 -0
- package/dist/umd/descope-link-index-js.js +2 -1
- package/dist/umd/descope-link-index-js.js.map +1 -0
- package/dist/umd/descope-list-index-js.js +2 -1
- package/dist/umd/descope-list-index-js.js.map +1 -0
- package/dist/umd/descope-loader-linear-index-js.js +2 -1
- package/dist/umd/descope-loader-linear-index-js.js.map +1 -0
- package/dist/umd/descope-loader-radial-index-js.js +2 -1
- package/dist/umd/descope-loader-radial-index-js.js.map +1 -0
- package/dist/umd/descope-logo-index-js.js +2 -1
- package/dist/umd/descope-logo-index-js.js.map +1 -0
- package/dist/umd/descope-modal-index-js.js +2 -1
- package/dist/umd/descope-modal-index-js.js.map +1 -0
- package/dist/umd/descope-multi-select-combo-box-index-js.js +2 -1
- package/dist/umd/descope-multi-select-combo-box-index-js.js.map +1 -0
- package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +2 -1
- package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js.map +1 -0
- package/dist/umd/descope-new-password-index-js.js +2 -1
- package/dist/umd/descope-new-password-index-js.js.map +1 -0
- package/dist/umd/descope-notification-descope-notification-card-index-js.js +2 -1
- package/dist/umd/descope-notification-descope-notification-card-index-js.js.map +1 -0
- package/dist/umd/descope-notification-index-js.js +2 -1
- package/dist/umd/descope-notification-index-js.js.map +1 -0
- package/dist/umd/descope-notp-image-index-js.js +2 -1
- package/dist/umd/descope-notp-image-index-js.js.map +1 -0
- package/dist/umd/descope-number-field-index-js.js +2 -1
- package/dist/umd/descope-number-field-index-js.js.map +1 -0
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js +2 -1
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js.map +1 -0
- package/dist/umd/descope-passcode-index-js.js +3 -2
- package/dist/umd/descope-passcode-index-js.js.map +1 -0
- package/dist/umd/descope-password-index-js.js +2 -1
- package/dist/umd/descope-password-index-js.js.map +1 -0
- package/dist/umd/descope-policy-validation-index-js.js +2 -1
- package/dist/umd/descope-policy-validation-index-js.js.map +1 -0
- package/dist/umd/descope-radio-group-index-js.js +2 -1
- package/dist/umd/descope-radio-group-index-js.js.map +1 -0
- package/dist/umd/descope-recaptcha-index-js.js +2 -1
- package/dist/umd/descope-recaptcha-index-js.js.map +1 -0
- package/dist/umd/descope-scopes-list-index-js.js +2 -1
- package/dist/umd/descope-scopes-list-index-js.js.map +1 -0
- package/dist/umd/descope-security-questions-setup-index-js.js +2 -1
- package/dist/umd/descope-security-questions-setup-index-js.js.map +1 -0
- package/dist/umd/descope-security-questions-verify-index-js.js +3 -2
- package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -0
- package/dist/umd/descope-text-area-index-js.js +2 -1
- package/dist/umd/descope-text-area-index-js.js.map +1 -0
- package/dist/umd/descope-text-field-index-js.js +3 -2
- package/dist/umd/descope-text-field-index-js.js.map +1 -0
- package/dist/umd/descope-text.js +2 -1
- package/dist/umd/descope-text.js.map +1 -0
- package/dist/umd/descope-third-party-app-logo-index-js.js +2 -1
- package/dist/umd/descope-third-party-app-logo-index-js.js.map +1 -0
- package/dist/umd/descope-totp-image-index-js.js +2 -1
- package/dist/umd/descope-totp-image-index-js.js.map +1 -0
- package/dist/umd/descope-upload-file-index-js.js +2 -1
- package/dist/umd/descope-upload-file-index-js.js.map +1 -0
- package/dist/umd/descope-user-attribute-index-js.js +2 -1
- package/dist/umd/descope-user-attribute-index-js.js.map +1 -0
- package/dist/umd/descope-user-auth-method-index-js.js +2 -1
- package/dist/umd/descope-user-auth-method-index-js.js.map +1 -0
- package/dist/umd/fonts/font-1364590020.woff +0 -0
- package/dist/umd/fonts/font-1949233557.woff +0 -0
- package/dist/umd/index.js +2 -1
- package/dist/umd/index.js.map +1 -0
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mapping-item-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mapping-item-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-saml-group-mappings-descope-saml-group-mappings-internal-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-descope-saml-group-mappings-internal-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js +2 -1
- package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-field-index-js.js +2 -1
- package/dist/umd/phone-fields-descope-phone-field-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +3 -2
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +8 -7
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.map +1 -0
- package/package.json +10 -8
- package/src/baseClasses/createCssVarImageClass.js +10 -5
- package/src/components/button-selection-group-fields/baseButtonSelectionGroup.js +7 -0
- package/src/components/button-selection-group-fields/createBaseButtonSelectionGroupInternalClass.js +1 -8
- package/src/components/button-selection-group-fields/descope-button-selection-group-item/ButtonSelectionGroupItemClass.js +11 -6
- package/src/components/descope-alert/AlertClass.js +16 -12
- package/src/components/descope-badge/BadgeClass.js +11 -6
- package/src/components/descope-code-snippet/CodeSnippetClass.js +9 -4
- package/src/components/descope-container/ContainerClass.js +9 -4
- package/src/components/descope-date-field/DateFieldClass.js +22 -17
- package/src/components/descope-date-field/descope-calendar/CalendarClass.js +28 -18
- package/src/components/descope-date-field/descope-calendar/helpers.js +1 -2
- package/src/components/descope-divider/DividerClass.js +14 -9
- package/src/components/descope-enriched-text/EnrichedTextClass.js +9 -4
- package/src/components/descope-grid/GridClass.js +1 -1
- package/src/components/descope-hybrid-field/HybridFieldClass.js +15 -10
- package/src/components/descope-icon/IconClass.js +9 -4
- package/src/components/descope-image/ImageClass.js +10 -5
- package/src/components/descope-link/LinkClass.js +14 -9
- package/src/components/descope-list/ListClass.js +15 -13
- package/src/components/descope-list/ListItemClass.js +16 -14
- package/src/components/descope-loader-linear/LoaderLinearClass.js +10 -5
- package/src/components/descope-loader-radial/LoaderRadialClass.js +10 -5
- package/src/components/descope-modal/ModalClass.js +16 -4
- package/src/components/descope-new-password/NewPasswordClass.js +1 -1
- package/src/components/descope-new-password/descope-new-password-internal/NewPasswordInternal.js +8 -6
- package/src/components/descope-passcode/PasscodeClass.js +28 -1
- package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +26 -23
- package/src/components/descope-passcode/descope-passcode-internal/helpers.js +3 -22
- package/src/components/descope-policy-validation/PolicyValidationClass.js +8 -3
- package/src/components/descope-recaptcha/RecaptchaClass.js +13 -8
- package/src/components/descope-scopes-list/ScopesListClass.js +9 -5
- package/src/components/descope-security-questions-setup/SecurityQuestionsSetupClass.js +9 -5
- package/src/components/descope-security-questions-verify/SecurityQuestionsVerifyClass.js +9 -5
- package/src/components/descope-text-field/TextFieldClass.js +1 -1
- package/src/components/descope-third-party-app-logo/ThirdPartyAppLogoClass.js +20 -16
- package/src/components/descope-upload-file/UploadFileClass.js +20 -15
- package/src/components/descope-user-attribute/UserAttributeClass.js +25 -22
- package/src/components/descope-user-auth-method/UserAuthMethodClass.js +25 -22
- package/src/components/mapping-fields/descope-mappings-field/descope-mapping-item/MappingItem.js +15 -9
- package/src/components/phone-fields/descope-phone-field/PhoneFieldClass.js +1 -0
- package/src/components/phone-fields/descope-phone-field/helpers.js +0 -1
- package/src/mixins/createProxy.js +3 -1
- package/src/mixins/createStyleMixin/index.js +9 -22
- package/src/mixins/draggableMixin.js +3 -2
- package/dist/umd/1402.js +0 -1
- package/dist/umd/1484.js +0 -148
- package/dist/umd/3110.js +0 -275
- package/dist/umd/3437.js +0 -2
- package/dist/umd/4619.js +0 -1
- package/dist/umd/4902.js +0 -170
- package/dist/umd/4902.js.LICENSE.txt +0 -23
- package/dist/umd/5096.js +0 -109
- package/dist/umd/5318.js +0 -1
- package/dist/umd/5459.js +0 -1
- package/dist/umd/7150.js +0 -2
- package/dist/umd/731.js +0 -832
- package/dist/umd/8823.js +0 -1
- /package/dist/umd/{9243.js.LICENSE.txt → 1519.js.LICENSE.txt} +0 -0
- /package/dist/umd/{1902.js.LICENSE.txt → 1899.js.LICENSE.txt} +0 -0
- /package/dist/umd/{1172.js.LICENSE.txt → 1995.js.LICENSE.txt} +0 -0
- /package/dist/umd/{2570.js.LICENSE.txt → 2894.js.LICENSE.txt} +0 -0
- /package/dist/umd/{1484.js.LICENSE.txt → 3620.js.LICENSE.txt} +0 -0
- /package/dist/umd/{2666.js.LICENSE.txt → 384.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3437.js.LICENSE.txt → 4467.js.LICENSE.txt} +0 -0
- /package/dist/umd/{404.js.LICENSE.txt → 4518.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4455.js.LICENSE.txt → 4550.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4554.js.LICENSE.txt → 4623.js.LICENSE.txt} +0 -0
- /package/dist/umd/{742.js.LICENSE.txt → 4914.js.LICENSE.txt} +0 -0
- /package/dist/umd/{507.js.LICENSE.txt → 513.js.LICENSE.txt} +0 -0
- /package/dist/umd/{201.js.LICENSE.txt → 5260.js.LICENSE.txt} +0 -0
- /package/dist/umd/{5096.js.LICENSE.txt → 5648.js.LICENSE.txt} +0 -0
- /package/dist/umd/{5563.js.LICENSE.txt → 6227.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4127.js.LICENSE.txt → 6424.js.LICENSE.txt} +0 -0
- /package/dist/umd/{7097.js.LICENSE.txt → 6649.js.LICENSE.txt} +0 -0
- /package/dist/umd/{7150.js.LICENSE.txt → 676.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3638.js.LICENSE.txt → 7182.js.LICENSE.txt} +0 -0
- /package/dist/umd/{7979.js.LICENSE.txt → 7291.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4187.js.LICENSE.txt → 7565.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3191.js.LICENSE.txt → 7620.js.LICENSE.txt} +0 -0
- /package/dist/umd/{6050.js.LICENSE.txt → 7774.js.LICENSE.txt} +0 -0
- /package/dist/umd/{9478.js.LICENSE.txt → 7939.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4114.js.LICENSE.txt → 8618.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4574.js.LICENSE.txt → 8983.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4218.js.LICENSE.txt → 9380.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3110.js.LICENSE.txt → 9871.js.LICENSE.txt} +0 -0
- /package/dist/umd/{731.js.LICENSE.txt → 9970.js.LICENSE.txt} +0 -0
- /package/dist/umd/{bcdfe87ae253c2cf789c9a737f8d8c22.woff → fonts/font-38673212.woff} +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-grid-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/baseClasses/createBaseInputClass.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/booleanFieldMixin.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/commonStyles.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/BooleanFieldInternal.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/CheckboxClass.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/index.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/CodeSnippetClass.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-code-snippet/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/GridCustomColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-custom-column/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-item-details-column/GridItemDetailsColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-item-details-column/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-selection-column/GridSelectionColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-selection-column/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/GridTextColumnClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/descope-grid-text-column/index.js","webpack://@descope/web-components-ui/./src/components/descope-grid/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-grid/GridClass.js","webpack://@descope/web-components-ui/./src/components/descope-grid/index.js","webpack://@descope/web-components-ui/./src/helpers/themeHelpers/resetHelpers.js"],"sourcesContent":["import { compose } from '../helpers';\nimport {\n changeMixin,\n inputEventsDispatchingMixin,\n inputValidationMixin,\n normalizeBooleanAttributesMixin,\n} from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createBaseInputClass = (...args) =>\n compose(\n inputValidationMixin,\n changeMixin,\n normalizeBooleanAttributesMixin,\n inputEventsDispatchingMixin\n )(createBaseClass(...args));\n","import { forwardAttrs, forwardProps, syncAttrs } from '../../helpers/componentHelpers';\nimport { componentName as descopeInternalComponentName } from './descope-boolean-field-internal/BooleanFieldInternal';\n\nexport const booleanFieldMixin = (superclass) =>\n class BooleanFieldMixinClass extends superclass {\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n template.innerHTML = `\n\t\t\t\t<${descopeInternalComponentName}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tslot=\"input\"\n\t\t\t\t></${descopeInternalComponentName}>\n\t\t\t`;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n this.checkbox = this.inputElement.querySelector('vaadin-checkbox');\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'required',\n 'full-width',\n 'size',\n 'label',\n 'invalid',\n 'disabled',\n 'readonly',\n ],\n });\n\n forwardProps(this.inputElement, this, ['checked']);\n syncAttrs(this, this.inputElement, { includeAttrs: ['checked'] });\n }\n };\n","import { resetInputFieldDefaultWidth } from '../../helpers/themeHelpers/resetHelpers';\n\nexport default `\n:host {\n\tdisplay: inline-flex;\n}\n\n${resetInputFieldDefaultWidth()}\n\n.wrapper {\n\tdisplay: flex;\n\tbox-sizing: border-box;\n}\nvaadin-text-field {\n\tposition: relative;\n\tpadding: 0;\n\tdisplay: inline-flex;\n\talign-items: flex-start;\n}\nvaadin-text-field::before {\n content: unset;\n}\nvaadin-text-field::part(label) {\n position: absolute;\n top: 0;\n}\nvaadin-text-field::part(input-field) {\n\tpadding: 0;\n\tbackground: none;\n\tmin-height: 0;\n}\nvaadin-text-field::part(input-field)::after {\n background: none;\n}\nvaadin-text-field[focus-ring]::part(input-field) {\n\tbox-shadow: none;\n}\n\nvaadin-checkbox [slot=\"label\"] {\n align-self: flex-start;\n padding: 0;\n}\n[required] vaadin-checkbox [slot=\"label\"]:not(:empty) {\n\tpadding-inline-end: 1em;\n}\ndescope-boolean-field-internal {\n -webkit-mask-image: none;\n min-height: initial;\n}\n`;\n","import { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('boolean-field-internal');\n\nconst forwardAttributes = ['disabled', 'label', 'invalid', 'readonly'];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass BooleanInputInternal extends BaseInputClass {\n static get observedAttributes() {\n return ['readonly'];\n }\n\n constructor() {\n super();\n this.innerHTML = `\n\t\t\t<div class=\"wrapper\">\n\t\t\t\t<vaadin-checkbox></vaadin-checkbox>\n\t\t\t</div>\n\t\t`;\n this.wrapperEle = this.querySelector('div');\n this.checkbox = this.querySelector('vaadin-checkbox');\n }\n\n get value() {\n return this.checkbox?.checked;\n }\n\n set value(val) {\n this.checkbox.checked = val;\n }\n\n get checked() {\n return this.value;\n }\n\n set checked(val) {\n this.value = val;\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n if (e.isTrusted) {\n this.checkbox.focus();\n }\n });\n super.init?.();\n\n forwardAttrs(this, this.checkbox, { includeAttrs: forwardAttributes });\n syncAttrs(this, this.checkbox, { includeAttrs: ['checked'] });\n\n // we need it in order to set the focus ring and trigger validation on descope-checkbox\n this.handleFocusEventsDispatching([this.checkbox]);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'readonly') {\n this.onReadOnlyChange(newValue !== null);\n }\n }\n\n onReadOnlyChange(val) {\n this.baseElement.setAttribute('inert', val);\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n return {};\n }\n}\n\nexport default BooleanInputInternal;\n","import BooleanFieldInternal, { componentName } from './BooleanFieldInternal';\n\ncustomElements.define(componentName, BooleanFieldInternal);\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport {\n createStyleMixin,\n proxyInputMixin,\n draggableMixin,\n componentNameValidationMixin,\n createProxy,\n} from '../../../mixins';\nimport { booleanFieldMixin } from '../booleanFieldMixin';\nimport commonStyles from '../commonStyles';\nimport { useHostExternalPadding } from '../../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('checkbox');\n\nconst {\n host,\n component,\n checkboxElement,\n checkboxSurface,\n checkboxLabel,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n requiredIndicator: { selector: '[required] vaadin-checkbox [slot=\"label\"]:not(:empty)::after' },\n component: { selector: 'vaadin-checkbox' },\n checkboxElement: { selector: 'vaadin-checkbox::part(checkbox)' },\n checkboxSurface: { selector: 'vaadin-checkbox::part(checkbox)::after' },\n checkboxLabel: { selector: 'vaadin-checkbox [slot=\"label\"]:not(:empty)' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const CheckboxClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n\n fontSize: [host, checkboxElement, checkboxLabel],\n fontFamily: [checkboxLabel, helperText, errorMessage],\n\n labelTextColor: { ...checkboxLabel, property: 'color' },\n labelSpacing: { ...checkboxLabel, property: 'padding-inline-start' },\n labelLineHeight: { ...checkboxLabel, property: 'line-height' },\n labelFontWeight: { ...checkboxLabel, property: 'font-weight' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n\n inputValueTextColor: { ...checkboxSurface, property: 'color' },\n inputBackgroundColor: { ...checkboxElement, property: 'background-color' },\n\n inputBorderRadius: { ...checkboxElement, property: 'border-radius' },\n inputBorderWidth: { ...checkboxElement, property: 'border-width' },\n inputBorderOffset: { ...checkboxElement, property: 'border-offset' },\n inputBorderColor: { ...checkboxElement, property: 'border-color' },\n inputBorderStyle: { ...checkboxElement, property: 'border-style' },\n\n inputOutlineWidth: { ...checkboxElement, property: 'outline-width' },\n inputOutlineOffset: { ...checkboxElement, property: 'outline-offset' },\n inputOutlineColor: { ...checkboxElement, property: 'outline-color' },\n inputOutlineStyle: { ...checkboxElement, property: 'outline-style' },\n\n inputSize: [\n { ...checkboxElement, property: 'width' },\n { ...checkboxElement, property: 'height' },\n { ...checkboxSurface, property: 'font-size' },\n { ...component, property: 'font-size' },\n ],\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n booleanFieldMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t${commonStyles}\n ${useHostExternalPadding(CheckboxClass.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n margin: 1px;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n height: 100%;\n }\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(checkbox)::after {\n top: 0;\n left: 0;\n -webkit-text-fill-color: initial;\n }\n\n vaadin-checkbox label {\n -webkit-text-fill-color: initial;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n `,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n","import { componentName, CheckboxClass } from './CheckboxClass';\nimport '@vaadin/checkbox';\nimport '@vaadin/text-field';\nimport '../descope-boolean-field-internal';\n\ncustomElements.define(componentName, CheckboxClass);\n\nexport { CheckboxClass, componentName };\n","import hljs from 'highlight.js';\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { decode, tpl } from './helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('code-snippet');\n\nclass CodeSnippet extends createBaseClass({ componentName, baseSelector: ':host > code' }) {\n static get observedAttributes() {\n return ['lang', 'inline'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <code class=\"hljs\"></code>\n `;\n\n injectStyle(\n `\n :host {\n display: inline-block;\n width: 100%;\n }\n code {\n display: block;\n width: 100%;\n min-height: 1em;\n overflow-x: scroll;\n overflow-y: scroll;\n }\n pre {\n margin: 0;\n }\n `,\n this\n );\n }\n\n init() {\n super.init?.();\n\n this.lang = this.getAttribute('lang');\n this.isInline = this.getAttribute('inline') === 'true';\n\n observeChildren(this, this.#renderSnippet.bind(this));\n }\n\n get contentNode() {\n return this.shadowRoot.querySelector(this.baseSelector);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'inline') {\n this.isInline = newValue;\n }\n\n if (attrName === 'lang') {\n this.lang = newValue;\n }\n\n this.#renderSnippet();\n }\n }\n\n #renderSnippet() {\n const sanitized = decode(this.textContent);\n const language = this.lang;\n\n if (!language) {\n this.contentNode.textContent = sanitized;\n return;\n }\n\n const { value: highlighted } = hljs.highlight(sanitized, { language });\n\n this.contentNode.innerHTML = tpl(highlighted, this.isInline);\n }\n}\n\nconst {\n root,\n docTag,\n keyword,\n metaKeyword,\n templateTag,\n templateVariable,\n type,\n variableLanguage,\n title,\n titleClass,\n titleClassInherited,\n titleFunction,\n attr,\n attribute,\n literal,\n meta,\n number,\n operator,\n variable,\n selectorAttr,\n selectorClass,\n selectorId,\n regexp,\n string,\n metaString,\n builtIn,\n symbol,\n comment,\n code,\n formula,\n name,\n quote,\n selectorTag,\n selectorPseudo,\n subst,\n section,\n bullet,\n emphasis,\n strong,\n addition,\n deletion,\n charEscape,\n link,\n params,\n property,\n punctuation,\n tag,\n} = {\n root: { selector: () => '.hljs' },\n docTag: { selector: () => '.hljs-doctag' },\n keyword: { selector: () => '.hljs-keyword' },\n metaKeyword: { selector: () => '.hljs-meta .hljs-keyword' },\n templateTag: { selector: () => '.hljs-template-tag' },\n templateVariable: { selector: () => '.hljs-template-variable' },\n type: { selector: () => '.hljs-type' },\n variableLanguage: { selector: () => '.hljs-variable.language' },\n title: { selector: () => '.hljs-title' },\n titleClass: { selector: () => '.hljs-title.class_' },\n titleClassInherited: { selector: () => '.hljs-title.class_.inherited__' },\n titleFunction: { selector: () => '.hljs-title.function_' },\n attr: { selector: () => '.hljs-attr' },\n attribute: { selector: () => '.hljs-attribute' },\n literal: { selector: () => '.hljs-literal' },\n meta: { selector: () => '.hljs-meta' },\n number: { selector: () => '.hljs-number' },\n operator: { selector: () => '.hljs-operator' },\n variable: { selector: () => '.hljs-variable' },\n selectorAttr: { selector: () => '.hljs-selector-attr' },\n selectorClass: { selector: () => '.hljs-selector-class' },\n selectorId: { selector: () => '.hljs-selector-id' },\n regexp: { selector: () => '.hljs-regexp' },\n string: { selector: () => '.hljs-string' },\n metaString: { selector: () => '.hljs-meta .hljs-string' },\n builtIn: { selector: () => '.hljs-built_in' },\n symbol: { selector: () => '.hljs-symbol' },\n comment: { selector: () => '.hljs-comment' },\n code: { selector: () => '.hljs-code' },\n formula: { selector: () => '.hljs-formula' },\n name: { selector: () => '.hljs-name' },\n quote: { selector: () => '.hljs-quote' },\n selectorTag: { selector: () => '.hljs-selector-tag' },\n selectorPseudo: { selector: () => '.hljs-selector-pseudo' },\n subst: { selector: () => '.hljs-subst' },\n section: { selector: () => '.hljs-section' },\n bullet: { selector: () => '.hljs-bullet' },\n emphasis: { selector: () => '.hljs-emphasis' },\n strong: { selector: () => '.hljs-strong' },\n addition: { selector: () => '.hljs-addition' },\n deletion: { selector: () => '.hljs-deletion' },\n charEscape: { selector: () => '.hljs-char.escape' },\n link: { selector: () => '.hljs-link' },\n params: { selector: () => '.hljs-params' },\n property: { selector: () => '.hljs-property' },\n punctuation: { selector: () => '.hljs-punctuation' },\n tag: { selector: () => '.hljs-tag' },\n};\n\nexport const CodeSnippetClass = compose(\n createStyleMixin({\n mappings: {\n rootBgColor: { ...root, property: 'background-color' },\n rootTextColor: { ...root, property: 'color' },\n docTagTextColor: { ...docTag, property: 'color' },\n keywordTextColor: { ...keyword, property: 'color' },\n metaKeywordTextColor: { ...metaKeyword, property: 'color' },\n templateTagTextColor: { ...templateTag, property: 'color' },\n templateVariableTextColor: { ...templateVariable, property: 'color' },\n typeTextColor: { ...type, property: 'color' },\n variableLanguageTextColor: { ...variableLanguage, property: 'color' },\n titleTextColor: { ...title, property: 'color' },\n titleClassTextColor: { ...titleClass, property: 'color' },\n titleClassInheritedTextColor: { ...titleClassInherited, property: 'color' },\n titleFunctionTextColor: { ...titleFunction, property: 'color' },\n attrTextColor: { ...attr, property: 'color' },\n attributeTextColor: { ...attribute, property: 'color' },\n literalTextColor: { ...literal, property: 'color' },\n metaTextColor: { ...meta, property: 'color' },\n numberTextColor: { ...number, property: 'color' },\n operatorTextColor: { ...operator, property: 'color' },\n variableTextColor: { ...variable, property: 'color' },\n selectorAttrTextColor: { ...selectorAttr, property: 'color' },\n selectorClassTextColor: { ...selectorClass, property: 'color' },\n selectorIdTextColor: { ...selectorId, property: 'color' },\n regexpTextColor: { ...regexp, property: 'color' },\n stringTextColor: { ...string, property: 'color' },\n metaStringTextColor: { ...metaString, property: 'color' },\n builtInTextColor: { ...builtIn, property: 'color' },\n symbolTextColor: { ...symbol, property: 'color' },\n commentTextColor: { ...comment, property: 'color' },\n codeTextColor: { ...code, property: 'color' },\n formulaTextColor: { ...formula, property: 'color' },\n nameTextColor: { ...name, property: 'color' },\n quoteTextColor: { ...quote, property: 'color' },\n selectorTagTextColor: { ...selectorTag, property: 'color' },\n selectorPseudoTextColor: { ...selectorPseudo, property: 'color' },\n substTextColor: { ...subst, property: 'color' },\n sectionTextColor: { ...section, property: 'color' },\n bulletTextColor: { ...bullet, property: 'color' },\n emphasisTextColor: { ...emphasis, property: 'color' },\n strongTextColor: { ...strong, property: 'color' },\n additionTextColor: { ...addition, property: 'color' },\n additionBgColor: { ...addition, property: 'background-color' },\n deletionTextColor: { ...deletion, property: 'color' },\n deletionBgColor: { ...deletion, property: 'background-color' },\n charEscapeTextColor: { ...charEscape, property: 'color' },\n linkTextColor: { ...link, property: 'color' },\n paramsTextColor: { ...params, property: 'color' },\n propertyTextColor: { ...property, property: 'color' },\n punctuationTextColor: { ...punctuation, property: 'color' },\n tagTextColor: { ...tag, property: 'color' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(CodeSnippet);\n","export const decode = (input) => {\n const txt = document.createElement('textarea');\n txt.innerHTML = input;\n return txt.value;\n};\n\nexport const tpl = (input, inline) => {\n return inline ? input : `<pre>${input}</pre>`;\n};\n","import { componentName, CodeSnippetClass } from './CodeSnippetClass';\n\ncustomElements.define(componentName, CodeSnippetClass);\n\nexport { CodeSnippetClass, componentName };\n","/* eslint-disable no-param-reassign */\nimport { GridTextColumnClass } from '../descope-grid-text-column/GridTextColumnClass';\n\nexport class GridCustomColumnClass extends GridTextColumnClass {\n _defaultRenderer(cell, _col, model) {\n const content = model.item[this.path] || '';\n\n // we get a list of elements that can be used to render the content\n // each element can have a \"pattern\" attribute which contains regex expression\n // we are going over the elements, and when finding an element which is pattern matches the data,\n // we are cloning this element, and injecting the data as its child\n const contentEle = Array.from(this.children).find((child) => {\n const pattern = child.getAttribute('data-pattern');\n if (!pattern) return true;\n\n const regEx = new RegExp(pattern);\n return regEx.test(content);\n });\n\n if (!contentEle) {\n this.__setTextContent(cell, model.item[this.path] || '');\n\n return;\n }\n\n const newEle = contentEle.cloneNode(true);\n newEle.textContent = content || '';\n cell.innerHTML = '';\n cell.append(newEle);\n }\n}\n","/* eslint-disable no-param-reassign */\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridCustomColumnClass } from './GridCustomColumnClass';\n\nexport const componentName = getComponentName('grid-custom-column');\n\ncustomElements.define(componentName, GridCustomColumnClass);\n","/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridItemDetailsColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, _col, model) {\n const grid = _col._gridValue;\n const itemIdx = grid.detailsOpenedItems?.indexOf(model.item) ?? -1;\n const isOpened = itemIdx !== -1;\n\n const toggleIcon = document.createElement('vaadin-icon');\n toggleIcon.icon = isOpened ? 'vaadin:angle-up' : 'vaadin:angle-down';\n toggleIcon.classList.add('toggle-details-button', isOpened ? 'opened' : 'closed');\n cell.innerHTML = '';\n cell.append(toggleIcon);\n\n toggleIcon.onclick = () => {\n grid.detailsOpenedItems = isOpened\n ? grid.detailsOpenedItems.toSpliced(itemIdx, 1)\n : [...grid.detailsOpenedItems, model.item];\n };\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridItemDetailsColumnClass } from './GridItemDetailsColumnClass';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\nexport const componentName = getComponentName('grid-item-details-column');\n\ncustomElements.define(componentName, GridItemDetailsColumnClass);\n","import { GridSelectionColumn } from '@vaadin/grid/vaadin-grid-selection-column';\n\nconst createCheckboxEle = () => {\n const checkbox = document.createElement('descope-checkbox');\n\n checkbox.setAttribute('bordered', 'true');\n checkbox.setAttribute('size', 'xs');\n\n return checkbox;\n};\n\nconst getIsAllItemsSelected = (grid) =>\n !!grid.items?.length && grid.selectedItems.length === grid.items.length;\n\nexport class GridSelectionColumnClass extends GridSelectionColumn {\n // eslint-disable-next-line class-methods-use-this\n _onHeaderRendererOrBindingChanged() {}\n\n // eslint-disable-next-line class-methods-use-this\n _headerRenderer(cell) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n\n checkbox.addEventListener('input', () => {\n const isAllItemsSelected = getIsAllItemsSelected(grid);\n if (isAllItemsSelected) {\n grid.selectedItems = [];\n } else {\n grid.selectedItems = grid.items;\n }\n });\n\n cell.appendChild(checkbox);\n }\n\n checkbox.setAttribute('checked', getIsAllItemsSelected(grid));\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, col, model) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n cell.appendChild(checkbox);\n }\n\n checkbox.onchange = () => {\n checkbox.checked ? grid.selectItem(model.item) : grid.deselectItem(model.item);\n };\n\n checkbox.setAttribute('checked', model.selected);\n }\n}\n","import '../../boolean-fields/descope-checkbox';\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridSelectionColumnClass } from './GridSelectionColumnClass';\n\nexport const componentName = getComponentName('grid-selection-column');\n\ncustomElements.define(componentName, GridSelectionColumnClass);\n","/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridTextColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n _defaultRenderer(cell, _col, model) {\n const data = model.item[this.path] || '';\n const content = Array.isArray(data) ? data.join(', ') : data;\n\n this.__setTextContent(cell, content);\n cell.title = content;\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridTextColumnClass } from './GridTextColumnClass';\n\nexport const componentName = getComponentName('grid-text-column');\n\ncustomElements.define(componentName, GridTextColumnClass);\n","import { toTitle } from '../../helpers';\n\nexport const isValidDataType = (data) => {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n};\n\nexport const isPlainObject = (value) => value?.constructor === Object;\n\nconst isXml = (str) => /^\\s*<[\\s\\S]*>/.test(str);\n\nconst escapeXML = (s) => {\n const dom = document.createElement('div');\n dom.textContent = s;\n return dom.innerHTML;\n};\n\nexport const getValueType = (value) => {\n if (isPlainObject(value)) return 'object';\n if (Array.isArray(value)) return 'array';\n if (isXml(value)) return 'xml';\n\n return 'text';\n};\n\nexport const renderCodeSnippet = (value, lang) =>\n `<descope-code-snippet lang=\"${lang}\" class=\"row-details__value code\">${escapeXML(value)}</descope-code-snippet>`;\n\nexport const renderText = (text) =>\n `<div class=\"row-details__value text\" title=\"${text}\">${escapeXML(text)}</div>`;\nconst renderJson = (value) => renderCodeSnippet(JSON.stringify(value, null, 2), 'json');\nconst renderXml = (value) => renderCodeSnippet(value, 'xml');\n\nconst defaultRowDetailsValueRenderer = (value) => {\n const valueType = getValueType(value);\n\n if (valueType === 'object') {\n return renderJson(value);\n }\n\n if (valueType === 'xml') {\n return renderXml(value);\n }\n\n if (valueType === 'array') {\n if (value.some((v) => getValueType(v) === 'object')) {\n return renderJson(value);\n }\n return renderText(value.join(',\\n'));\n }\n\n return renderText(value);\n};\n\nexport const defaultRowDetailsRenderer = (item, itemLabelsMapping) => {\n return `\n <div class=\"row-details\">\n ${Object.entries(item)\n .map(\n ([key, value]) =>\n `<div class=\"row-details__item\" >\n <div class=\"row-details__label\">${itemLabelsMapping[key] || toTitle(key)}</div>\n ${defaultRowDetailsValueRenderer(value)}\n </div>`\n )\n .join('\\n')}\n</div>\n `;\n};\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n draggableMixin,\n} from '../../mixins';\n\nimport { defaultRowDetailsRenderer, isValidDataType } from './helpers';\n\nexport const componentName = getComponentName('grid');\n\nconst GridMixin = (superclass) =>\n class GridMixinClass extends superclass {\n #columns;\n\n init() {\n super.init?.();\n this.handleColumns();\n this.forwardSelectedItemsChange();\n\n // disable the grid sort\n this.baseElement._mapSorters = () => {};\n\n // there is an issue in vaadin that on some cases when trying to render the details panel, the row is null and this fn throwing\n // so we override it to prevent the error\n const origUpdateDetailsCellHeight = this.baseElement._updateDetailsCellHeight;\n this.baseElement._updateDetailsCellHeight = (row) => {\n if (!row) return;\n origUpdateDetailsCellHeight.call(this.baseElement, row);\n };\n\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }\n\n // this renders the details panel content\n // in order to open it, the descope-grid-item-details-column should be used\n #rowDetailsRenderer = async (cell, _col, model) => {\n // prevent details panel from being scrolled into view when clicked\n cell.addEventListener('mousedown', (e) => e.stopImmediatePropagation(), true);\n\n const template = this.getRowDetailsTemplate(model.item);\n\n // eslint-disable-next-line no-param-reassign\n cell.innerHTML = '';\n cell.append(template.content.cloneNode(true));\n };\n\n getRowDetailsTemplate(item) {\n const itemLabelsMapping = this.#columns.reduce(\n (acc, { path, header }) => (!path || !header ? acc : { ...acc, [path]: header }),\n {}\n );\n const template =\n this.rowDetailsRenderer?.(item, itemLabelsMapping) ??\n defaultRowDetailsRenderer(item, itemLabelsMapping);\n\n switch (true) {\n case template instanceof HTMLTemplateElement:\n return template;\n case typeof template === 'string':\n return Object.assign(document.createElement('template'), { innerHTML: template });\n default:\n throw new Error('rowDetailsRenderer should return a string or a template');\n }\n }\n\n forwardSelectedItemsChange() {\n this.baseElement.addEventListener('selected-items-changed', (e) => {\n this.dispatchEvent(\n new CustomEvent('selected-items-changed', {\n bubbles: true,\n composed: true,\n detail: e.detail,\n })\n );\n });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'columns') {\n this.setColumnsDataFromAttr();\n }\n }\n\n handleColumns() {\n if (this.columnsAttr) {\n this.setColumnsDataFromAttr();\n } else if (this.children.length) {\n this.setColumnsFromChildren();\n }\n }\n\n setColumnsFromChildren() {\n this.#columns = Array.from(this.children).map((child) => {\n return {\n path: child.getAttribute('path'),\n header: child.getAttribute('header'),\n type: child.localName.match('^descope-grid-(\\\\w+)-column$')?.[1] || 'text',\n\n attrs: ['frozen', 'resizable', 'auto-width', 'status'].reduce((acc, attrName) => {\n const attrVal = child.getAttribute(attrName);\n\n if (attrVal) {\n acc[attrName] = attrVal;\n }\n\n return acc;\n }, {}),\n };\n });\n }\n\n get columnsAttr() {\n return this.getAttribute('columns');\n }\n\n setColumnsDataFromAttr() {\n try {\n const data = JSON.parse(this.columnsAttr);\n if (isValidDataType(data)) {\n this.columns = data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"columns\" -', e.message);\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n #renderColumn = ({ path, header, type, attrs }) => {\n const colAttrs = Object.entries(attrs)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(' ');\n\n const tagName = `descope-grid-${type}-column`;\n\n return `<${tagName} header=\"${header}\" path=\"${path}\" ${colAttrs}></${tagName}>`;\n };\n\n get renderColumn() {\n return this.#renderColumn;\n }\n\n set renderColumn(renderFn) {\n this.#renderColumn = renderFn;\n this.renderColumns();\n }\n\n getColumnsTemplate() {\n return this.#columns?.reduce?.(\n (acc, item) => acc + (this.renderColumn?.(item || {}) || ''),\n ''\n );\n }\n\n // there is an issue in vaadin-grid, when rowDetailsRenderer is set, it renders an empty details panel\n reassignRowDetailsRenderer() {\n this.baseElement.rowDetailsRenderer = null;\n setTimeout(() => {\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }, 0);\n }\n\n renderColumns() {\n const template = this.getColumnsTemplate();\n if (template) {\n this.reassignRowDetailsRenderer();\n this.innerHTML = template;\n }\n }\n\n get grid() {\n return this.shadowRoot.querySelector('vaadin-grid');\n }\n\n get data() {\n return this.grid.items;\n }\n\n set data(data) {\n if (isValidDataType(data) && this.grid.items !== data) {\n this.grid.items = data;\n\n if (this.grid.selectedItems) {\n const itemsIds = new Set(\n this.grid.items.map((item) => item[this.uniqueColumnId] ?? item)\n );\n\n const newSelectedItems = this.grid.selectedItems.filter((selectedItem) =>\n itemsIds.has(selectedItem[this.uniqueColumnId] ?? selectedItem)\n );\n\n // we want to update the selected items only if there is a reason,\n // to prevent redundant notifications\n if (this.grid.selectedItems.length !== newSelectedItems.length) {\n this.grid.selectedItems = newSelectedItems;\n }\n }\n }\n }\n\n get columns() {\n return this.#columns;\n }\n\n set columns(data) {\n this.#columns = data;\n this.renderColumns();\n }\n\n get paths() {\n return this.columns.map((col) => col.path);\n }\n\n get uniqueColumnId() {\n return this.getAttribute('unique-column-id');\n }\n };\n\nconst {\n host,\n headerRow,\n headerRowCell,\n contentRow,\n firstRow,\n sortIndicators,\n activeSortIndicator,\n selectedRow,\n rowSeparator,\n resizeHandle,\n toggleDetailsPanelButton,\n toggleDetailsPanelButtonOpened,\n toggleDetailsPanelButtonClosed,\n detailsPanel,\n detailsPanelLabels,\n selectedRowCell,\n detailsPanelContent,\n} = {\n host: { selector: () => 'vaadin-grid' },\n headerRow: { selector: () => '::part(header-cell)' },\n headerRowCell: { selector: () => 'vaadin-grid::part(header-cell)' },\n contentRow: { selector: () => '::part(cell)' },\n firstRow: { selector: () => '::part(first-header-row-cell)' },\n selectedRow: { selector: () => '::part(selected-row)' },\n selectedRowCell: { selector: () => '::part(selected-row-cell)' },\n sortIndicators: { selector: () => 'vaadin-grid-sorter::part(indicators)' },\n activeSortIndicator: { selector: () => 'vaadin-grid-sorter[direction]' },\n rowSeparator: { selector: () => 'vaadin-grid::part(body-cell)' },\n resizeHandle: { selector: () => '::part(resize-handle)' },\n toggleDetailsPanelButton: { selector: () => 'vaadin-grid vaadin-icon.toggle-details-button' },\n toggleDetailsPanelButtonOpened: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.opened',\n },\n toggleDetailsPanelButtonClosed: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.closed',\n },\n detailsPanel: { selector: () => 'vaadin-grid::part(details-cell)' },\n detailsPanelLabels: { selector: () => 'vaadin-grid .row-details__label' },\n detailsPanelContent: { selector: () => 'vaadin-grid .row-details' },\n};\n\nexport const GridClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostHeight: { selector: () => ':host', property: 'height' },\n hostMinHeight: { selector: () => ':host', property: 'min-height' },\n fontFamily: [{ ...headerRow }, { ...contentRow }],\n fontSize: [{ ...headerRow }, { ...contentRow }],\n fontWeight: { ...contentRow },\n valueTextColor: { ...contentRow, property: 'color' },\n backgroundColor: [\n { ...host, property: 'background-color' },\n { ...contentRow, property: 'background-color' },\n ],\n sortIndicatorsColor: { ...sortIndicators, property: 'color' },\n activeSortIndicator: { ...activeSortIndicator, property: 'color' },\n borderColor: { ...host, property: 'border-color' },\n borderWidth: { ...host, property: 'border-width' },\n borderStyle: { ...host, property: 'border-style' },\n borderRadius: { ...host, property: 'border-radius' },\n selectedBackgroundColor: [\n { ...selectedRow, property: 'background-color' },\n { ...selectedRowCell, property: 'background-color' },\n ],\n headerRowTextColor: { ...headerRowCell, property: 'color' },\n separatorColor: [\n { ...firstRow, property: 'border-bottom-color' },\n { ...rowSeparator, property: 'border-top-color' },\n ],\n resizeHandleColor: { ...resizeHandle, property: 'background-color' },\n hostDirection: { ...host, property: 'direction', fallback: 'ltr' },\n toggleDetailsPanelButtonSize: [\n { ...toggleDetailsPanelButton, property: 'width' },\n { ...toggleDetailsPanelButton, property: 'height' },\n ],\n toggleDetailsPanelButtonOpenedColor: { ...toggleDetailsPanelButtonOpened, property: 'color' },\n toggleDetailsPanelButtonClosedColor: { ...toggleDetailsPanelButtonClosed, property: 'color' },\n toggleDetailsPanelButtonCursor: { ...toggleDetailsPanelButton, property: 'cursor' },\n detailsPanelBackgroundColor: { ...detailsPanel, property: 'background-color' },\n detailsPanelBorderTopColor: { ...detailsPanel, property: 'border-top-color' },\n detailsPanelLabelsColor: { ...detailsPanelLabels, property: 'color' },\n detailsPanelLabelsFontSize: { ...detailsPanelLabels, property: 'font-size' },\n detailsPanelItemsGap: { ...detailsPanelContent, property: 'grid-gap' },\n detailsPanelPadding: { ...detailsPanelContent, property: 'padding' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n GridMixin\n)(\n createProxy({\n delegatesFocus: false,\n slots: [''],\n wrappedEleName: 'vaadin-grid',\n style: () => `\n /*css*/\n vaadin-grid {\n overflow: hidden;\n height: 100%;\n min-height: 300px;\n }\n vaadin-grid-cell-content {\n display: flex;\n }\n vaadin-grid::part(selected-row-cell) {\n background-image: none;\n box-shadow: none;\n background-color: inherit;\n }\n vaadin-grid::part(details-cell) {\n border-top-style: dashed;\n border-top-width: 1px;\n }\n vaadin-grid .row-details {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(max(200px, calc(100%/4 - var(${GridClass.cssVarList.detailsPanelItemsGap}))), 1fr));\n width: 100%;\n }\n vaadin-grid .row-details__item:has(.row-details__value.code) {\n grid-column: 1 / -1;\n order: 2;\n }\n vaadin-grid .row-details__value.text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n }\n vaadin-grid .row-details__value.code {\n margin-top: 5px;\n max-height: 120px;\n overflow: scroll;\n font-size: 0.85em;\n }\n vaadin-grid vaadin-icon.toggle-details-button {\n margin: auto;\n }\n /*!css*/\n\t\t`,\n excludeAttrsSync: ['columns', 'tabindex', 'style'],\n componentName,\n })\n);\n","import '@vaadin/grid';\nimport './descope-grid-text-column';\nimport './descope-grid-custom-column';\nimport './descope-grid-selection-column';\nimport './descope-grid-item-details-column';\nimport '../descope-code-snippet'; // this is needed for the details panel\n\nimport { componentName, GridClass } from './GridClass';\n\ncustomElements.define(componentName, GridClass);\n\nexport { GridClass, componentName };\n","export const useHostExternalPadding = (cssVarList) => `\n :host {\n padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))\n }\n`;\n\nexport const resetInputFieldUnderlayingBorder = (name) => `\n ${name}::part(input-field)::after {\n border: none;\n }\n`;\n\nexport const resetInitialHeight = (name) => `\n ${name}::before {\n\t\theight: unset;\n\t}\n`;\n\nexport const resetInputElement = (name) => `\n ${name} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputContainer = (name) => `\n ${name} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputField = (name) => `\n ${name}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`;\n\nexport const resetInputCursor = (name) => `\n ${name} > label,\n ${name}::part(label),\n ${name}::part(required-indicator) {\n cursor: pointer;\n }\n`;\n\nexport const resetInputPlaceholder = (name, ele = 'input') => `\n ${name}[disabled] > ${ele}:placeholder-shown,\n\t${name}[readonly] > ${ele}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`;\n\nexport const resetInputAutoFill = (name, cssVarList) => `\n ${name} input:-webkit-autofill,\n ${name} input:-webkit-autofill::first-line,\n ${name} input:-webkit-autofill:hover,\n ${name} input:-webkit-autofill:active,\n ${name} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});\n box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;\n }\n`;\n\nexport const resetInputFieldDefaultWidth = () => `\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputReadonlyStyle = (name) => `\n ${name}::part(input-field)::after {\n opacity: 0;\n }\n`;\n\nexport const resetInputFieldInvalidBackgroundColor = (name) => `\n ${name}::part(input-field)::after {\n background: none;\n }\n`;\n\nexport const resetInputOverrides = (name, cssVarList) => `\n ${resetInputContainer(name)}\n ${resetInputCursor(name)}\n ${resetInputPlaceholder(name)}\n ${resetInputField(name)}\n ${resetInputAutoFill(name, cssVarList)}\n ${resetInputFieldInvalidBackgroundColor(name)}\n ${resetInitialHeight(name)}\n ${resetInputElement(name)}\n ${resetInputFieldUnderlayingBorder(name)}\n`;\n\n// This function is used to support RTL correctly for input components.\n// It also fixes the error message to be displayed LTR since we currently\n// don't support RTL for error messages.\nexport const resetInputLabelPosition = (name) => `\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${name} [slot=\"label\"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`;\n\nexport const inputFloatingLabelStyle = () => {\n return `\n :host([label-type=\"floating\"]) {\n position: relative;\n }\n :host([label-type=\"floating\"][has-label]) [slot=\"label\"] {\n padding: 0;\n }\n :host([label-type=\"floating\"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n `;\n};\n"],"names":["createBaseInputClass","args","booleanFieldMixin","superclass","init","super","template","document","createElement","innerHTML","this","baseElement","appendChild","content","cloneNode","inputElement","shadowRoot","querySelector","checkbox","includeAttrs","componentName","forwardAttributes","BaseInputClass","baseSelector","observedAttributes","constructor","wrapperEle","value","checked","val","addEventListener","e","isTrusted","focus","handleFocusEventsDispatching","attributeChangedCallback","attrName","oldValue","newValue","onReadOnlyChange","setAttribute","getValidity","isRequired","valueMissing","customElements","define","host","component","checkboxElement","checkboxSurface","checkboxLabel","requiredIndicator","helperText","errorMessage","selector","CheckboxClass","mappings","hostWidth","property","hostDirection","fontSize","fontFamily","labelTextColor","labelSpacing","labelLineHeight","labelFontWeight","labelRequiredIndicator","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","inputValueTextColor","inputBackgroundColor","inputBorderRadius","inputBorderWidth","inputBorderOffset","inputBorderColor","inputBorderStyle","inputOutlineWidth","inputOutlineOffset","inputOutlineColor","inputOutlineStyle","inputSize","proxyProps","slots","wrappedEleName","style","cssVarList","excludeAttrsSync","CodeSnippet","createBaseClass","attachShadow","mode","lang","getAttribute","isInline","bind","contentNode","sanitized","input","txt","decode","textContent","language","highlighted","highlight","root","docTag","keyword","metaKeyword","templateTag","templateVariable","type","variableLanguage","title","titleClass","titleClassInherited","titleFunction","attr","attribute","literal","meta","number","operator","variable","selectorAttr","selectorClass","selectorId","regexp","string","metaString","builtIn","symbol","comment","code","formula","name","quote","selectorTag","selectorPseudo","subst","section","bullet","emphasis","strong","addition","deletion","charEscape","link","params","punctuation","tag","CodeSnippetClass","rootBgColor","rootTextColor","docTagTextColor","keywordTextColor","metaKeywordTextColor","templateTagTextColor","templateVariableTextColor","typeTextColor","variableLanguageTextColor","titleTextColor","titleClassTextColor","titleClassInheritedTextColor","titleFunctionTextColor","attrTextColor","attributeTextColor","literalTextColor","metaTextColor","numberTextColor","operatorTextColor","variableTextColor","selectorAttrTextColor","selectorClassTextColor","selectorIdTextColor","regexpTextColor","stringTextColor","metaStringTextColor","builtInTextColor","symbolTextColor","commentTextColor","codeTextColor","formulaTextColor","nameTextColor","quoteTextColor","selectorTagTextColor","selectorPseudoTextColor","substTextColor","sectionTextColor","bulletTextColor","emphasisTextColor","strongTextColor","additionTextColor","additionBgColor","deletionTextColor","deletionBgColor","charEscapeTextColor","linkTextColor","paramsTextColor","propertyTextColor","punctuationTextColor","tagTextColor","GridCustomColumnClass","GridTextColumnClass","_defaultRenderer","cell","_col","model","item","path","contentEle","Array","from","children","find","child","pattern","RegExp","test","__setTextContent","newEle","append","GridItemDetailsColumnClass","sortable","grid","_gridValue","itemIdx","detailsOpenedItems","indexOf","isOpened","toggleIcon","icon","classList","add","onclick","toSpliced","_defaultHeaderRenderer","_column","__getHeader","header","createCheckboxEle","getIsAllItemsSelected","items","length","selectedItems","GridSelectionColumnClass","_onHeaderRendererOrBindingChanged","_headerRenderer","parentNode","isAllItemsSelected","col","onchange","selectItem","deselectItem","selected","data","isArray","join","isValidDataType","isValid","console","error","escapeXML","s","dom","getValueType","Object","isPlainObject","renderCodeSnippet","renderText","text","renderJson","JSON","stringify","headerRow","headerRowCell","contentRow","firstRow","sortIndicators","activeSortIndicator","selectedRow","rowSeparator","resizeHandle","toggleDetailsPanelButton","toggleDetailsPanelButtonOpened","toggleDetailsPanelButtonClosed","detailsPanel","detailsPanelLabels","selectedRowCell","detailsPanelContent","GridClass","componentNameOverride","hostHeight","hostMinHeight","fontWeight","valueTextColor","backgroundColor","sortIndicatorsColor","borderColor","borderWidth","borderStyle","borderRadius","selectedBackgroundColor","headerRowTextColor","separatorColor","resizeHandleColor","fallback","toggleDetailsPanelButtonSize","toggleDetailsPanelButtonOpenedColor","toggleDetailsPanelButtonClosedColor","toggleDetailsPanelButtonCursor","detailsPanelBackgroundColor","detailsPanelBorderTopColor","detailsPanelLabelsColor","detailsPanelLabelsFontSize","detailsPanelItemsGap","detailsPanelPadding","handleColumns","forwardSelectedItemsChange","_mapSorters","origUpdateDetailsCellHeight","_updateDetailsCellHeight","row","call","rowDetailsRenderer","async","stopImmediatePropagation","getRowDetailsTemplate","itemLabelsMapping","reduce","acc","entries","map","key","valueType","renderXml","some","v","defaultRowDetailsValueRenderer","defaultRowDetailsRenderer","HTMLTemplateElement","assign","Error","dispatchEvent","CustomEvent","bubbles","composed","detail","setColumnsDataFromAttr","columnsAttr","setColumnsFromChildren","localName","match","attrs","attrVal","parse","columns","message","tagName","renderColumn","renderFn","renderColumns","getColumnsTemplate","reassignRowDetailsRenderer","setTimeout","itemsIds","Set","uniqueColumnId","newSelectedItems","filter","selectedItem","has","paths","delegatesFocus","useHostExternalPadding","resetInputContainer","resetInputField","resetInputCursor","resetInputPlaceholder","ele","resetInputFieldDefaultWidth","resetInputReadonlyStyle","resetInputFieldInvalidBackgroundColor","resetInputOverrides","inputHeight","resetInputAutoFill","resetInitialHeight","resetInputElement","resetInputFieldUnderlayingBorder","resetInputLabelPosition","inputFloatingLabelStyle"],"sourceRoot":""}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*! For license information please see descope-hybrid-field-index-js.js.LICENSE.txt */
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[7299],{
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[7299],{54316:(e,t,n)=>{n.r(t),n.d(t,{EmailFieldClass:()=>f,componentName:()=>g}),n(52733);var i=n(47642),r=n(87550);const o=r.AH`
|
3
3
|
:host([dir='rtl']) [part='input-field'] ::slotted(input) {
|
4
4
|
--_lumo-text-field-overflow-mask-image: linear-gradient(to left, transparent, #000 1.25em);
|
5
5
|
}
|
@@ -7,7 +7,7 @@
|
|
7
7
|
:host([dir='rtl']) [part='input-field'] ::slotted(input:placeholder-shown) {
|
8
8
|
--_lumo-text-field-overflow-mask-image: none;
|
9
9
|
}
|
10
|
-
`;(0,r.SF)("vaadin-email-field",[i.k,o],{moduleId:"lumo-email-field"});var a=n(
|
10
|
+
`;(0,r.SF)("vaadin-email-field",[i.k,o],{moduleId:"lumo-email-field"});var a=n(82901),s=n(27136);const l=n(51450).AH`
|
11
11
|
:host([dir='rtl']) [part='input-field'] {
|
12
12
|
direction: ltr;
|
13
13
|
}
|
@@ -16,4 +16,5 @@
|
|
16
16
|
direction: rtl;
|
17
17
|
text-align: left;
|
18
18
|
}
|
19
|
-
`;(0,r.SF)("vaadin-email-field",l,{moduleId:"vaadin-email-field-styles"});class p extends s.A{static get is(){return"vaadin-email-field"}constructor(){super(),this._setType("email"),this.pattern="^([a-zA-Z0-9_\\.\\-+])+@[a-zA-Z0-9\\-.]+\\.[a-zA-Z0-9\\-]{2,}$"}ready(){super.ready(),this.inputElement&&(this.inputElement.autocapitalize="off")}}(0,a.X)(p);var u=n(94619),d=n(93826),h=n(7138),c=n(14944),m=n(33177);const g=(0,c.xE)("email-field"),y=(0,h.Zz)((0,u.RF)({mappings:d.A}),u.VO,(0,u.RV)({inputType:"email",inputName:"email",autocompleteType:"username",includeAttrs:["disabled","readonly","pattern"]}),(0,u.OZ)({proxyProps:["value","selectionStart"],useProxyTargets:!0}),u.tQ,(e=>class extends e{init(){super.init?.(),this.baseElement.setAttribute("pattern","^[\\w\\.\\%\\+\\-']+@[\\w\\.\\-]+\\.[A-Za-z]{2,}$"),this.getAttribute("autocomplete")||this.setAttribute("autocomplete","username"),this.createExternalInput()}}))((0,u.tz)({slots:["","suffix"],wrappedEleName:"vaadin-email-field",style:()=>`\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${y.cssVarList.inputOutlineWidth}) + var(${y.cssVarList.inputOutlineOffset}));\n box-sizing: border-box;\n\t\t\t}\n ${(0,m.$J)("vaadin-email-field")}\n\t\t\t${(0,m.cy)(y.cssVarList)}\n\t\t\t${(0,m.LJ)("vaadin-email-field",y.cssVarList)}\n ${(0,m.Kl)()}\n\n vaadin-email-field[label-type="floating"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-email-field[label-type="floating"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\n :host ::slotted(*) {\n -webkit-mask-image: none;\n }\n\n vaadin-email-field[external-input="true"] > input:not(:placeholder-shown) {\n opacity: 0;\n }\n\t\t`,excludeAttrsSync:["tabindex"],componentName:g}));customElements.define(g,y)},56614:(e,t,n)=>{n.r(t),n.d(t,{HybridFieldClass:()=>g,componentName:()=>u}),n(80230),n(96442),n(87743);var i=n(94619),r=n(70263),o=n(7138),a=n(14944);const s=/^\d+$/;var l=n(23758),p=n(96800);const u=(0,a.xE)("hybrid-field"),d={shared:["bordered","full-width","label-type","size","disabled","readonly","required","st-host-direction","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"],email:["label","placeholder","data-errormessage-value-missing-email","data-errormessage-pattern-mismatch-email","external-input"],phone:{countryCode:["phone-input-label","country-input-label","country-input-placeholder","restrict-countries","default-code","phone-minlength","data-errormessage-value-missing-phone"],inputBox:["label","restrict-countries","default-code","phone-minlength","data-errormessage-value-missing-phone"]}},h={email:{"data-errormessage-value-missing-email":"data-errormessage-value-missing","data-errormessage-pattern-mismatch-email":"data-errormessage-pattern-mismatch"},phone:{"phone-input-label":"label","phone-minlength":"minlength","data-errormessage-value-missing-phone":"data-errormessage-value-missing"}},c="descope-phone-field",m=(0,r.q)({componentName:u,baseSelector:"div"}),g=(0,o.Zz)((0,i.RF)({componentNameOverride:(0,a.xE)("input-wrapper")}),(0,i.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},hostDirection:[{selector:()=>"descope-email-field",property:"direction"},{selector:()=>"descope-phone-field",property:"direction"},{selector:()=>"descope-phone-input-box-field",property:"direction"}],errorMessageIcon:[{selector:()=>l.NF.componentName,property:l.NF.cssVarList.errorMessageIcon},{selector:()=>p.Ul.componentName,property:p.Ul.cssVarList.errorMessageIcon}],errorMessageIconSize:[{selector:()=>l.NF.componentName,property:l.NF.cssVarList.errorMessageIconSize},{selector:()=>p.Ul.componentName,property:p.Ul.cssVarList.errorMessageIconSize}],errorMessageIconPadding:[{selector:()=>l.NF.componentName,property:l.NF.cssVarList.errorMessageIconPadding},{selector:()=>p.Ul.componentName,property:p.Ul.cssVarList.errorMessageIconPadding}],errorMessageIconRepeat:[{selector:()=>l.NF.componentName,property:l.NF.cssVarList.errorMessageIconRepeat},{selector:()=>p.Ul.componentName,property:p.Ul.cssVarList.errorMessageIconRepeat}],errorMessageIconPosition:[{selector:()=>l.NF.componentName,property:l.NF.cssVarList.errorMessageIconPosition},{selector:()=>p.Ul.componentName,property:p.Ul.cssVarList.errorMessageIconPosition}]}}),i.VO,i.tQ)(class extends m{#e=!1;#t;constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=`\n\t\t<style>\n\t\t :host {\n display: inline-flex;\n box-sizing: border-box;\n padding: 0;\n gap: 0;\n }\n .wrapper {\n display: grid;\n width: 100%;\n }\n descope-email-field,\n descope-phone-field,\n descope-phone-input-box-field {\n grid-area: 1/1;\n width: 100%;\n height: 100%;\n }\n .hidden {\n visibility: hidden;\n } \n\t\t</style>\n <div class="wrapper">\n <descope-email-field external-input="${this.isExternalInput}"></descope-email-field>\n <descope-phone-field allow-alphanumeric-input="true"></descope-phone-field>\n <descope-phone-input-box-field allow-alphanumeric-input="true"></descope-phone-input-box-field>\n </div>\n\t\t`}get isExternalInput(){return"true"===this.getAttribute("external-input")}get emailInputEle(){return this.isExternalInput?this.emailInput.externalInput:this.emailInput.inputElement}get phoneVariant(){return"inputBox"===this.getAttribute("phone-variant")?this.phoneInputBoxInput:this.phoneCountryCodeInput}get defaultCode(){const e=this.phoneCountryCodeInput.countryCodes?.[0]||"";return this.getAttribute("default-code")||e}get activeInputEle(){return this.activeInput===this.emailInput?this.emailInputEle:this.phoneVariant.phoneNumberInputEle}get value(){return this.activeInput?.value||""}set value(e){this.handleActiveInput(e),this.activeInput.value=e}async init(){super.init?.(),this.initInputs(),this.updateAttrs(),this.toggleInputVisibility(),await this.waitForInputs(),this.initInputEles(),this.overrideEmailInputType(),this.overrideEmailSetAttribute()}waitForInputs(){return new Promise((e=>{const t=setInterval((()=>{this.emailInputEle&&(clearInterval(t),e())}))}))}initInputs(){this.emailInput=this.shadowRoot.querySelector("descope-email-field"),this.phoneCountryCodeInput=this.shadowRoot.querySelector(c),this.phoneInputBoxInput=this.shadowRoot.querySelector("descope-phone-input-box-field"),this.inputs=[this.emailInput,this.phoneCountryCodeInput,this.phoneInputBoxInput],this.activeInput=this.emailInput}initInputEles(){[this.emailInputEle,this.phoneCountryCodeInput.phoneNumberInputEle,this.phoneInputBoxInput.phoneNumberInputEle].forEach((e=>{e.addEventListener("input",this.onValueChange.bind(this))}))}overrideEmailInputType(){this.emailInputEle.addEventListener("focus",(()=>{this.emailInputEle.setAttribute("type","text")})),this.emailInputEle.addEventListener("blur",(()=>{setTimeout((()=>{this.emailInputEle.setAttribute("type","email")}))}))}overrideEmailSetAttribute(){const e=this.emailInput.setAttribute.bind(this.emailInputEle);this.emailInputEle.setAttribute=(t,n)=>("type"!==t||"email"!==n||!this.emailInput.hasAttribute("focused"))&&e(t,n)}updateAttrs(){(0,a.EA)(this,this.emailInput,{includeAttrs:d.email,mapAttrs:h.email}),(0,a.EA)(this,this.phoneCountryCodeInput,{includeAttrs:d.phone.countryCode,mapAttrs:h.phone}),(0,a.EA)(this,this.phoneInputBoxInput,{includeAttrs:d.phone.inputBox,mapAttrs:h.phone}),this.inputs.forEach((e=>(0,a.EA)(this,e,{includeAttrs:d.shared}))),setTimeout((()=>this.phoneCountryCodeInput.setAttribute("default-code",this.defaultCode)))}onValueChange(){this.#t=this.activeInputEle.selectionStart,this.handleActiveInput(this.activeInput.value)}handleActiveInput(e){const t=(e=>s.test(e.replaceAll("+","").replaceAll("-","")))(e)?this.phoneVariant:this.emailInput;this.activeInput!==t&&this.setActiveInput(t)}setActiveInput(e){const t=this.activeInput.value;this.activeInput=e,this.setActiveInputValue(t),this.#e&&this.activeInput.reportValidity(),this.setActiveInputSelectionStart(),this.toggleInputVisibility()}setActiveInputSelectionStart(){setTimeout((()=>{this.activeInputEle.focus(),this.activeInputEle.setSelectionRange?.(this.#t,this.#t)}))}setActiveInputValue(e){const t=(e=>e.replace(/\+\d+-/,""))(e),n=this.activeInput.localName===c?`${this.phoneCountryCodeInput.countryCodeItems}-${t}`:t;this.activeInput.value=n}toggleInputVisibility(){this.inputs.forEach((e=>{e!==this.activeInput?e.classList.add("hidden"):e.classList.remove("hidden")}))}reportValidity(){this.#e=!0;const e=this.activeInputEle;return setTimeout((()=>{e.setSelectionRange?.(e.value.length,e.value.length)})),this.activeInput.reportValidity()}checkValidity(){return this.activeInput.checkValidity()}});customElements.define(u,g)},96800:(e,t,n)=>{n.d(t,{TQ:()=>d,Ul:()=>x});var i=n(43945),r=n(14944),o=n(7138),a=n(94619),s=n(69473),l=n(44066),p=n(33177);const u=s.w.cssVarList,d=(0,r.xE)("phone-input-box-field"),{host:h,label:c,inputElement:m,requiredIndicator:g,inputField:y,inputFieldInternal:f,phoneInput:I,errorMessage:b,helperText:v}={host:{selector:()=>":host"},label:{selector:"::part(label)"},placeholder:{selector:"> input:placeholder-shown"},inputElement:{selector:"input"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},inputField:{selector:()=>"vaadin-text-field::part(input-field)"},inputFieldInternal:{selector:()=>"descope-phone-field-internal-input-box vaadin-text-field::part(input-field)"},phoneInput:{selector:()=>"descope-text-field"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"}},x=(0,o.Zz)((0,a.RF)({mappings:{fontSize:[h,y,{selector:s.w.componentName,property:s.w.cssVarList.fontSize}],fontFamily:[c,b,v],hostWidth:{...h,property:"width"},hostMinWidth:{...h,property:"min-width"},hostDirection:{...h,property:"direction"},inputBorderStyle:{...f,property:"border-style"},inputBorderWidth:{...f,property:"border-width"},inputBorderColor:{...f,property:"border-color"},inputBorderRadius:[{...y,property:"border-radius"},{...f,property:"border-radius"}],inputHorizontalPadding:[{...I,property:"padding-left"},{...I,property:"padding-right"}],labelFontSize:{...c,property:"font-size"},labelFontWeight:{...c,property:"font-weight"},labelTextColor:[{...c,property:"color"},{...g,property:"color"}],labelRequiredIndicator:{...g,property:"content"},errorMessageTextColor:{...b,property:"color"},errorMessageIcon:{...b,property:"background-image"},errorMessageIconSize:{...b,property:"background-size"},errorMessageIconPadding:{...b,property:"padding-inline-start"},errorMessageIconRepeat:{...b,property:"background-repeat"},errorMessageIconPosition:{...b,property:"background-position"},inputValueTextColor:{...I,property:u.inputValueTextColor},inputPlaceholderTextColor:{...I,property:u.inputPlaceholderColor},inputOutlineStyle:{...y,property:"outline-style"},inputOutlineColor:{...y,property:"outline-color"},inputOutlineWidth:{...y,property:"outline-width"},inputOutlineOffset:{...y,property:"outline-offset"},labelPosition:{...c,property:"position"},labelTopPosition:{...c,property:"top"},labelHorizontalPosition:[{...c,property:"left"},{...c,property:"right"}],inputTransformY:{...c,property:"transform"},inputTransition:{...c,property:"transition"},marginInlineStart:{...c,property:"margin-inline-start"},valueInputHeight:{...m,property:"height"},valueInputMarginBottom:{selector:s.w.componentName,property:u.valueInputMarginBottom}}}),a.VO,(0,a.OZ)({proxyProps:["value","selectionStart"]}),(e=>class extends e{static get CountryCodes(){return l.A}init(){super.init?.();const e=document.createElement("template");e.innerHTML=`\n\t\t\t\t<${i.T}\n\t\t\t\t\ttabindex="-1"\n\t\t\t\t\tslot="input"\n\t\t\t\t></${i.T}>\n `,this.baseElement.appendChild(e.content.cloneNode(!0)),this.inputElement=this.shadowRoot.querySelector(i.T),(0,r.EA)(this.shadowRoot.host,this.inputElement,{includeAttrs:["size","bordered","invalid","minlength","maxlength","default-code","disabled","phone-input-placeholder","label","label-type","allow-alphanumeric-input"]})}get phoneNumberInputEle(){return this.inputElement?.phoneNumberInputEle}}))((0,a.tz)({slots:[],wrappedEleName:"vaadin-text-field",style:()=>`\n :host {\n display: inline-flex;\n max-width: 100%;\n box-sizing: border-box;\n }\n ${(0,p.cy)(x.cssVarList)}\n ${(0,p.I4)("vaadin-text-field")}\n ${(0,p.kG)("vaadin-text-field")}\n ${(0,p.X6)()}\n\n vaadin-text-field {\n width: 100%;\n box-sizing: border-box;\n padding: 0;\n }\n vaadin-text-field[focus-ring]::part(input-field) {\n box-shadow: none;\n }\n vaadin-text-field::before {\n height: 0;\n }\n vaadin-text-field::part(input-field) {\n padding: 0;\n background: transparent;\n overflow: hidden;\n -webkit-mask-image: none;\n }\n descope-phone-field-internal-input-box {\n -webkit-mask-image: none;\n padding: 0;\n width: 100%;\n }\n descope-phone-field-internal-input-box > div {\n width: 100%;\n }\n descope-phone-field-internal-input-box .separator {\n flex: 0;\n border: none;\n }\n descope-phone-field-internal-input-box descope-text-field {\n ${u.inputOutlineWidth}: 0;\n ${u.inputOutlineOffset}: 0;\n }\n descope-text-field {\n flex-grow: 1;\n width: 100%;\n direction: ltr;\n }\n vaadin-text-field[readonly] > input:placeholder-shown {\n opacity: 1;\n }\n vaadin-text-field::part(input-field)::after {\n border: none;\n }\n\n vaadin-text-field[label-type="floating"]:not([focused])[readonly] input:placeholder-shown {\n opacity: 0;\n }\n vaadin-text-field[label-type="floating"]:not([focused])[disabled] input:placeholder-shown {\n opacity: 0;\n }\n\n ${(0,p.$J)("vaadin-text-field")}\n ${(0,p.Kl)()}\n\t\t`,excludeAttrsSync:["tabindex"],componentName:d}))},43945:(e,t,n)=>{n.d(t,{A:()=>u,T:()=>a});var i=n(25827),r=n(14944),o=n(63789);const a=(0,r.xE)("phone-field-internal-input-box"),s=["disabled","size","bordered","invalid","readonly","phone-input-placeholder","name","autocomplete","label-type","allow-alphanumeric-input"],l={"phone-input-placeholder":"placeholder"},p=(0,i.y)({componentName:a,baseSelector:"div"}),u=class extends p{static get observedAttributes(){return[].concat(p.observedAttributes||[],s)}constructor(){super(),this.innerHTML='\n <div>\n <descope-text-field tabindex="1"></descope-text-field>\n </div>\n ',this.phoneNumberInput=this.querySelector("descope-text-field")}get defaultCountryCode(){return(0,o.Q)(this.getAttribute("default-code"))}get hasDefaultCode(){return!!this.getAttribute("default-code")}get allowAlphanumericInput(){return"true"===this.getAttribute("allow-alphanumeric-input")}get value(){if(!this.phoneNumberValue)return"";if(this.hasDefaultCode){const e=new RegExp(`\\+?${parseInt(this.defaultCountryCode,10)}--?`);return`${this.defaultCountryCode}-${this.phoneNumberInput.value.replace(e,"")}`}return this.phoneNumberInput.value}set value(e){this.phoneNumberInput.value=e}get phoneNumberValue(){return this.phoneNumberInput.value}get phoneNumberInputEle(){return this.phoneNumberInput.shadowRoot.querySelector("input")}get minLength(){return parseInt(this.getAttribute("minlength"),10)||0}get maxLength(){return parseInt(this.getAttribute("maxlength"),10)||50}getValidity(){const e=this.value.replace(/\D/g,"");return this.isRequired&&!this.value?{valueMissing:!0}:e.length<this.minLength?{tooShort:!0}:e.length>this.maxLength?{tooLong:!0}:this.value&&!/^\+?\d{1,4}-?(?:\d-?){1,15}$/.test(this.value)?{patternMismatch:!0}:{}}init(){this.addEventListener("focus",(e=>{e.isTrusted&&this.phoneNumberInput.focus()})),super.init?.(),this.initInputs()}getCountryByDialCode(e){return this.countryCodeInput.items?.find((t=>t.getAttribute("data-country-code")===e))}initInputs(){this.phoneNumberInput.addEventListener("input",(e=>{1===e.target.value.length&&"-"===e.target.value&&(e.target.value=""),e.target.value=e.target.value.replace(/(?!^)\+/g,"").replace("--","-").replace("+-","+");let t=e.target.value;if(!this.allowAlphanumericInput){const n=/^[+\d-]+$/;t=e.target.value.split("").filter((e=>n.test(e))).join("")}e.target.value=t})),this.handleFocusEventsDispatching([this.phoneNumberInput])}attributeChangedCallback(e,t,n){if(super.attributeChangedCallback(e,t,n),t!==n&&s.includes(e)){const t=l[e]||e;this.phoneNumberInput.setAttribute(t,n)}}}},46633:(e,t,n)=>{n.r(t),n(89348);var i=n(43945);customElements.define(i.T,i.A)},87743:(e,t,n)=>{n.r(t),n.d(t,{PhoneFieldInputBoxClass:()=>i.Ul,componentName:()=>i.TQ}),n(46633),n(11738),n(89348);var i=n(96800);customElements.define(i.TQ,i.Ul)},63789:(e,t,n)=>{n.d(t,{Q:()=>r});var i=n(44066);const r=e=>i.A.find((t=>t.code===e))?.dialCode}}]);
|
19
|
+
`;(0,r.SF)("vaadin-email-field",l,{moduleId:"vaadin-email-field-styles"});class p extends s.A{static get is(){return"vaadin-email-field"}constructor(){super(),this._setType("email"),this.pattern="^([a-zA-Z0-9_\\.\\-+])+@[a-zA-Z0-9\\-.]+\\.[a-zA-Z0-9\\-]{2,}$"}ready(){super.ready(),this.inputElement&&(this.inputElement.autocapitalize="off")}}(0,a.X)(p);var u=n(79365),d=n(6424),h=n(9696),c=n(97810),m=n(73551);const g=(0,c.xE)("email-field"),f=(0,h.Zz)((0,u.RF)({mappings:d.A}),u.VO,(0,u.RV)({inputType:"email",inputName:"email",autocompleteType:"username",includeAttrs:["disabled","readonly","pattern"]}),(0,u.OZ)({proxyProps:["value","selectionStart"],useProxyTargets:!0}),u.tQ,(e=>class extends e{init(){super.init?.(),this.baseElement.setAttribute("pattern","^[\\w\\.\\%\\+\\-']+@[\\w\\.\\-]+\\.[A-Za-z]{2,}$"),this.getAttribute("autocomplete")||this.setAttribute("autocomplete","username"),this.createExternalInput()}}))((0,u.tz)({slots:["","suffix"],wrappedEleName:"vaadin-email-field",style:()=>`\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${f.cssVarList.inputOutlineWidth}) + var(${f.cssVarList.inputOutlineOffset}));\n box-sizing: border-box;\n\t\t\t}\n ${(0,m.$J)("vaadin-email-field")}\n\t\t\t${(0,m.cy)(f.cssVarList)}\n\t\t\t${(0,m.LJ)("vaadin-email-field",f.cssVarList)}\n ${(0,m.Kl)()}\n\n vaadin-email-field[label-type="floating"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-email-field[label-type="floating"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\n :host ::slotted(*) {\n -webkit-mask-image: none;\n }\n\n vaadin-email-field[external-input="true"] > input:not(:placeholder-shown) {\n opacity: 0;\n }\n\t\t`,excludeAttrsSync:["tabindex"],componentName:g}));customElements.define(g,f)},44966:(e,t,n)=>{n.r(t),n.d(t,{HybridFieldClass:()=>f,componentName:()=>d}),n(54316),n(98136),n(30057);var i=n(79365),r=n(81365),o=n(9696),a=n(97810);const s=/^\d+$/;var l=n(81808),p=n(16306),u=n(25964);const d=(0,a.xE)("hybrid-field"),h={shared:["bordered","full-width","label-type","size","disabled","readonly","required","st-host-direction","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"],email:["label","placeholder","data-errormessage-value-missing-email","data-errormessage-pattern-mismatch-email","external-input"],phone:{countryCode:["phone-input-label","country-input-label","country-input-placeholder","restrict-countries","default-code","phone-minlength","data-errormessage-value-missing-phone"],inputBox:["label","restrict-countries","default-code","phone-minlength","data-errormessage-value-missing-phone"]}},c={email:{"data-errormessage-value-missing-email":"data-errormessage-value-missing","data-errormessage-pattern-mismatch-email":"data-errormessage-pattern-mismatch"},phone:{"phone-input-label":"label","phone-minlength":"minlength","data-errormessage-value-missing-phone":"data-errormessage-value-missing"}},m="descope-phone-field",g=(0,r.q)({componentName:d,baseSelector:"div"}),f=(0,o.Zz)((0,i.RF)({componentNameOverride:(0,a.xE)("input-wrapper")}),(0,i.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},hostDirection:[{selector:()=>"descope-email-field",property:"direction"},{selector:()=>"descope-phone-field",property:"direction"},{selector:()=>"descope-phone-input-box-field",property:"direction"}],errorMessageIcon:[{selector:()=>l.NF.componentName,property:l.NF.cssVarList.errorMessageIcon},{selector:()=>p.Ul.componentName,property:p.Ul.cssVarList.errorMessageIcon}],errorMessageIconSize:[{selector:()=>l.NF.componentName,property:l.NF.cssVarList.errorMessageIconSize},{selector:()=>p.Ul.componentName,property:p.Ul.cssVarList.errorMessageIconSize}],errorMessageIconPadding:[{selector:()=>l.NF.componentName,property:l.NF.cssVarList.errorMessageIconPadding},{selector:()=>p.Ul.componentName,property:p.Ul.cssVarList.errorMessageIconPadding}],errorMessageIconRepeat:[{selector:()=>l.NF.componentName,property:l.NF.cssVarList.errorMessageIconRepeat},{selector:()=>p.Ul.componentName,property:p.Ul.cssVarList.errorMessageIconRepeat}],errorMessageIconPosition:[{selector:()=>l.NF.componentName,property:l.NF.cssVarList.errorMessageIconPosition},{selector:()=>p.Ul.componentName,property:p.Ul.cssVarList.errorMessageIconPosition}]}}),i.VO,i.tQ)(class extends g{#e=!1;#t;constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=`\n <div class="wrapper">\n <descope-email-field external-input="${this.isExternalInput}"></descope-email-field>\n <descope-phone-field allow-alphanumeric-input="true"></descope-phone-field>\n <descope-phone-input-box-field allow-alphanumeric-input="true"></descope-phone-input-box-field>\n </div>\n\t\t`,(0,u.fz)("\n :host {\n display: inline-flex;\n box-sizing: border-box;\n padding: 0;\n gap: 0;\n }\n .wrapper {\n display: grid;\n width: 100%;\n }\n descope-email-field,\n descope-phone-field,\n descope-phone-input-box-field {\n grid-area: 1/1;\n width: 100%;\n height: 100%;\n }\n .hidden {\n visibility: hidden;\n }\n ",this)}get isExternalInput(){return"true"===this.getAttribute("external-input")}get emailInputEle(){return this.isExternalInput?this.emailInput.externalInput:this.emailInput.inputElement}get phoneVariant(){return"inputBox"===this.getAttribute("phone-variant")?this.phoneInputBoxInput:this.phoneCountryCodeInput}get defaultCode(){const e=this.phoneCountryCodeInput.countryCodes?.[0]||"";return this.getAttribute("default-code")||e}get activeInputEle(){return this.activeInput===this.emailInput?this.emailInputEle:this.phoneVariant.phoneNumberInputEle}get value(){return this.activeInput?.value||""}set value(e){this.handleActiveInput(e),this.activeInput.value=e}async init(){super.init?.(),this.initInputs(),this.updateAttrs(),this.toggleInputVisibility(),await this.waitForInputs(),this.initInputEles(),this.overrideEmailInputType(),this.overrideEmailSetAttribute()}waitForInputs(){return new Promise((e=>{const t=setInterval((()=>{this.emailInputEle&&(clearInterval(t),e())}))}))}initInputs(){this.emailInput=this.shadowRoot.querySelector("descope-email-field"),this.phoneCountryCodeInput=this.shadowRoot.querySelector(m),this.phoneInputBoxInput=this.shadowRoot.querySelector("descope-phone-input-box-field"),this.inputs=[this.emailInput,this.phoneCountryCodeInput,this.phoneInputBoxInput],this.activeInput=this.emailInput}initInputEles(){[this.emailInputEle,this.phoneCountryCodeInput.phoneNumberInputEle,this.phoneInputBoxInput.phoneNumberInputEle].forEach((e=>{e.addEventListener("input",this.onValueChange.bind(this))}))}overrideEmailInputType(){this.emailInputEle.addEventListener("focus",(()=>{this.emailInputEle.setAttribute("type","text")})),this.emailInputEle.addEventListener("blur",(()=>{setTimeout((()=>{this.emailInputEle.setAttribute("type","email")}))}))}overrideEmailSetAttribute(){const e=this.emailInput.setAttribute.bind(this.emailInputEle);this.emailInputEle.setAttribute=(t,n)=>("type"!==t||"email"!==n||!this.emailInput.hasAttribute("focused"))&&e(t,n)}updateAttrs(){(0,a.EA)(this,this.emailInput,{includeAttrs:h.email,mapAttrs:c.email}),(0,a.EA)(this,this.phoneCountryCodeInput,{includeAttrs:h.phone.countryCode,mapAttrs:c.phone}),(0,a.EA)(this,this.phoneInputBoxInput,{includeAttrs:h.phone.inputBox,mapAttrs:c.phone}),this.inputs.forEach((e=>(0,a.EA)(this,e,{includeAttrs:h.shared}))),setTimeout((()=>this.phoneCountryCodeInput.setAttribute("default-code",this.defaultCode)))}onValueChange(){this.#t=this.activeInputEle.selectionStart,this.handleActiveInput(this.activeInput.value)}handleActiveInput(e){const t=(e=>s.test(e.replaceAll("+","").replaceAll("-","")))(e)?this.phoneVariant:this.emailInput;this.activeInput!==t&&this.setActiveInput(t)}setActiveInput(e){const t=this.activeInput.value;this.activeInput=e,this.setActiveInputValue(t),this.#e&&this.activeInput.reportValidity(),this.setActiveInputSelectionStart(),this.toggleInputVisibility()}setActiveInputSelectionStart(){setTimeout((()=>{this.activeInputEle.focus(),this.activeInputEle.setSelectionRange?.(this.#t,this.#t)}))}setActiveInputValue(e){const t=(e=>e.replace(/\+\d+-/,""))(e),n=this.activeInput.localName===m?`${this.phoneCountryCodeInput.countryCodeItems}-${t}`:t;this.activeInput.value=n}toggleInputVisibility(){this.inputs.forEach((e=>{e!==this.activeInput?e.classList.add("hidden"):e.classList.remove("hidden")}))}reportValidity(){this.#e=!0;const e=this.activeInputEle;return setTimeout((()=>{e.setSelectionRange?.(e.value.length,e.value.length)})),this.activeInput.reportValidity()}checkValidity(){return this.activeInput.checkValidity()}});customElements.define(d,f)},16306:(e,t,n)=>{n.d(t,{TQ:()=>d,Ul:()=>x});var i=n(9035),r=n(97810),o=n(9696),a=n(79365),s=n(79275),l=n(51680),p=n(73551);const u=s.w.cssVarList,d=(0,r.xE)("phone-input-box-field"),{host:h,label:c,inputElement:m,requiredIndicator:g,inputField:f,inputFieldInternal:y,phoneInput:I,errorMessage:b,helperText:v}={host:{selector:()=>":host"},label:{selector:"::part(label)"},placeholder:{selector:"> input:placeholder-shown"},inputElement:{selector:"input"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},inputField:{selector:()=>"vaadin-text-field::part(input-field)"},inputFieldInternal:{selector:()=>"descope-phone-field-internal-input-box vaadin-text-field::part(input-field)"},phoneInput:{selector:()=>"descope-text-field"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"}},x=(0,o.Zz)((0,a.RF)({mappings:{fontSize:[h,f,{selector:s.w.componentName,property:s.w.cssVarList.fontSize}],fontFamily:[c,b,v],hostWidth:{...h,property:"width"},hostMinWidth:{...h,property:"min-width"},hostDirection:{...h,property:"direction"},inputBorderStyle:{...y,property:"border-style"},inputBorderWidth:{...y,property:"border-width"},inputBorderColor:{...y,property:"border-color"},inputBorderRadius:[{...f,property:"border-radius"},{...y,property:"border-radius"}],inputHorizontalPadding:[{...I,property:"padding-left"},{...I,property:"padding-right"}],labelFontSize:{...c,property:"font-size"},labelFontWeight:{...c,property:"font-weight"},labelTextColor:[{...c,property:"color"},{...g,property:"color"}],labelRequiredIndicator:{...g,property:"content"},errorMessageTextColor:{...b,property:"color"},errorMessageIcon:{...b,property:"background-image"},errorMessageIconSize:{...b,property:"background-size"},errorMessageIconPadding:{...b,property:"padding-inline-start"},errorMessageIconRepeat:{...b,property:"background-repeat"},errorMessageIconPosition:{...b,property:"background-position"},inputValueTextColor:{...I,property:u.inputValueTextColor},inputPlaceholderTextColor:{...I,property:u.inputPlaceholderColor},inputOutlineStyle:{...f,property:"outline-style"},inputOutlineColor:{...f,property:"outline-color"},inputOutlineWidth:{...f,property:"outline-width"},inputOutlineOffset:{...f,property:"outline-offset"},labelPosition:{...c,property:"position"},labelTopPosition:{...c,property:"top"},labelHorizontalPosition:[{...c,property:"left"},{...c,property:"right"}],inputTransformY:{...c,property:"transform"},inputTransition:{...c,property:"transition"},marginInlineStart:{...c,property:"margin-inline-start"},valueInputHeight:{...m,property:"height"},valueInputMarginBottom:{selector:s.w.componentName,property:u.valueInputMarginBottom}}}),a.VO,(0,a.OZ)({proxyProps:["value","selectionStart"]}),(e=>class extends e{static get CountryCodes(){return l.A}init(){super.init?.();const e=document.createElement("template");e.innerHTML=`\n\t\t\t\t<${i.T}\n\t\t\t\t\ttabindex="-1"\n\t\t\t\t\tslot="input"\n\t\t\t\t></${i.T}>\n `,this.baseElement.appendChild(e.content.cloneNode(!0)),this.inputElement=this.shadowRoot.querySelector(i.T),(0,r.EA)(this.shadowRoot.host,this.inputElement,{includeAttrs:["size","bordered","invalid","minlength","maxlength","default-code","disabled","phone-input-placeholder","label","label-type","allow-alphanumeric-input"]})}get phoneNumberInputEle(){return this.inputElement?.phoneNumberInputEle}}))((0,a.tz)({slots:[],wrappedEleName:"vaadin-text-field",style:()=>`\n :host {\n display: inline-flex;\n max-width: 100%;\n box-sizing: border-box;\n }\n ${(0,p.cy)(x.cssVarList)}\n ${(0,p.I4)("vaadin-text-field")}\n ${(0,p.kG)("vaadin-text-field")}\n ${(0,p.X6)()}\n\n vaadin-text-field {\n width: 100%;\n box-sizing: border-box;\n padding: 0;\n }\n vaadin-text-field[focus-ring]::part(input-field) {\n box-shadow: none;\n }\n vaadin-text-field::before {\n height: 0;\n }\n vaadin-text-field::part(input-field) {\n padding: 0;\n background: transparent;\n overflow: hidden;\n -webkit-mask-image: none;\n }\n descope-phone-field-internal-input-box {\n -webkit-mask-image: none;\n padding: 0;\n width: 100%;\n }\n descope-phone-field-internal-input-box > div {\n width: 100%;\n }\n descope-phone-field-internal-input-box .separator {\n flex: 0;\n border: none;\n }\n descope-phone-field-internal-input-box descope-text-field {\n ${u.inputOutlineWidth}: 0;\n ${u.inputOutlineOffset}: 0;\n }\n descope-text-field {\n flex-grow: 1;\n width: 100%;\n direction: ltr;\n }\n vaadin-text-field[readonly] > input:placeholder-shown {\n opacity: 1;\n }\n vaadin-text-field::part(input-field)::after {\n border: none;\n }\n\n vaadin-text-field[label-type="floating"]:not([focused])[readonly] input:placeholder-shown {\n opacity: 0;\n }\n vaadin-text-field[label-type="floating"]:not([focused])[disabled] input:placeholder-shown {\n opacity: 0;\n }\n\n ${(0,p.$J)("vaadin-text-field")}\n ${(0,p.Kl)()}\n\t\t`,excludeAttrsSync:["tabindex"],componentName:d}))},9035:(e,t,n)=>{n.d(t,{A:()=>u,T:()=>a});var i=n(3393),r=n(97810),o=n(92259);const a=(0,r.xE)("phone-field-internal-input-box"),s=["disabled","size","bordered","invalid","readonly","phone-input-placeholder","name","autocomplete","label-type","allow-alphanumeric-input"],l={"phone-input-placeholder":"placeholder"},p=(0,i.y)({componentName:a,baseSelector:"div"}),u=class extends p{static get observedAttributes(){return[].concat(p.observedAttributes||[],s)}constructor(){super(),this.innerHTML='\n <div>\n <descope-text-field tabindex="1"></descope-text-field>\n </div>\n ',this.phoneNumberInput=this.querySelector("descope-text-field")}get defaultCountryCode(){return(0,o.Q)(this.getAttribute("default-code"))}get hasDefaultCode(){return!!this.getAttribute("default-code")}get allowAlphanumericInput(){return"true"===this.getAttribute("allow-alphanumeric-input")}get value(){if(!this.phoneNumberValue)return"";if(this.hasDefaultCode){const e=new RegExp(`\\+?${parseInt(this.defaultCountryCode,10)}--?`);return`${this.defaultCountryCode}-${this.phoneNumberInput.value.replace(e,"")}`}return this.phoneNumberInput.value}set value(e){this.phoneNumberInput.value=e}get phoneNumberValue(){return this.phoneNumberInput.value}get phoneNumberInputEle(){return this.phoneNumberInput.shadowRoot.querySelector("input")}get minLength(){return parseInt(this.getAttribute("minlength"),10)||0}get maxLength(){return parseInt(this.getAttribute("maxlength"),10)||50}getValidity(){const e=this.value.replace(/\D/g,"");return this.isRequired&&!this.value?{valueMissing:!0}:e.length<this.minLength?{tooShort:!0}:e.length>this.maxLength?{tooLong:!0}:this.value&&!/^\+?\d{1,4}-?(?:\d-?){1,15}$/.test(this.value)?{patternMismatch:!0}:{}}init(){this.addEventListener("focus",(e=>{e.isTrusted&&this.phoneNumberInput.focus()})),super.init?.(),this.initInputs()}getCountryByDialCode(e){return this.countryCodeInput.items?.find((t=>t.getAttribute("data-country-code")===e))}initInputs(){this.phoneNumberInput.addEventListener("input",(e=>{1===e.target.value.length&&"-"===e.target.value&&(e.target.value=""),e.target.value=e.target.value.replace(/(?!^)\+/g,"").replace("--","-").replace("+-","+");let t=e.target.value;if(!this.allowAlphanumericInput){const n=/^[+\d-]+$/;t=e.target.value.split("").filter((e=>n.test(e))).join("")}e.target.value=t})),this.handleFocusEventsDispatching([this.phoneNumberInput])}attributeChangedCallback(e,t,n){if(super.attributeChangedCallback(e,t,n),t!==n&&s.includes(e)){const t=l[e]||e;this.phoneNumberInput.setAttribute(t,n)}}}},78343:(e,t,n)=>{n.r(t),n(21374);var i=n(9035);customElements.define(i.T,i.A)},30057:(e,t,n)=>{n.r(t),n.d(t,{PhoneFieldInputBoxClass:()=>i.Ul,componentName:()=>i.TQ}),n(78343),n(27092),n(21374);var i=n(16306);customElements.define(i.TQ,i.Ul)},92259:(e,t,n)=>{n.d(t,{Q:()=>r});var i=n(51680);const r=e=>i.A.find((t=>t.code===e))?.dialCode}}]);
|
20
|
+
//# sourceMappingURL=descope-hybrid-field-index-js.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-hybrid-field-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/email-field/theme/lumo/vaadin-email-field-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/email-field/src/vaadin-email-field-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/email-field/src/vaadin-email-field.js","webpack://@descope/web-components-ui/./src/components/descope-email-field/EmailFieldClass.js","webpack://@descope/web-components-ui/./src/components/descope-email-field/index.js","webpack://@descope/web-components-ui/./src/components/descope-hybrid-field/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-hybrid-field/HybridFieldClass.js","webpack://@descope/web-components-ui/./src/components/descope-hybrid-field/index.js","webpack://@descope/web-components-ui/./src/components/phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass.js","webpack://@descope/web-components-ui/./src/components/phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/PhoneFieldInternalInputBox.js","webpack://@descope/web-components-ui/./src/components/phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/index.js","webpack://@descope/web-components-ui/./src/components/phone-fields/descope-phone-input-box-field/index.js","webpack://@descope/web-components-ui/./src/components/phone-fields/helpers.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { inputFieldShared } from '@vaadin/vaadin-lumo-styles/mixins/input-field-shared.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst emailField = css`\n :host([dir='rtl']) [part='input-field'] ::slotted(input) {\n --_lumo-text-field-overflow-mask-image: linear-gradient(to left, transparent, #000 1.25em);\n }\n\n :host([dir='rtl']) [part='input-field'] ::slotted(input:placeholder-shown) {\n --_lumo-text-field-overflow-mask-image: none;\n }\n`;\n\nregisterStyles('vaadin-email-field', [inputFieldShared, emailField], {\n moduleId: 'lumo-email-field',\n});\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { css } from 'lit';\n\n// See https://github.com/vaadin/vaadin-text-field/issues/466\nexport const emailFieldStyles = css`\n :host([dir='rtl']) [part='input-field'] {\n direction: ltr;\n }\n\n :host([dir='rtl']) [part='input-field'] ::slotted(input)::placeholder {\n direction: rtl;\n text-align: left;\n }\n`;\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { TextField } from '@vaadin/text-field/src/vaadin-text-field.js';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { emailFieldStyles } from './vaadin-email-field-styles.js';\n\nregisterStyles('vaadin-email-field', emailFieldStyles, { moduleId: 'vaadin-email-field-styles' });\n\n/**\n * `<vaadin-email-field>` is a Web Component for email field control in forms.\n *\n * ```html\n * <vaadin-email-field label=\"Email\"></vaadin-email-field>\n * ```\n *\n * ### Styling\n *\n * `<vaadin-email-field>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.\n * See [`<vaadin-text-field>`](#/elements/vaadin-text-field) for the styling documentation.\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @fires {Event} input - Fired when the value is changed by the user: on every typing keystroke, and the value is cleared using the clear button.\n * @fires {Event} change - Fired when the user commits a value change.\n * @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.\n * @fires {CustomEvent} value-changed - Fired when the `value` property changes.\n * @fires {CustomEvent} validated - Fired whenever the field is validated.\n *\n * @customElement\n * @extends TextField\n */\nexport class EmailField extends TextField {\n static get is() {\n return 'vaadin-email-field';\n }\n\n constructor() {\n super();\n this._setType('email');\n this.pattern = '^([a-zA-Z0-9_\\\\.\\\\-+])+@[a-zA-Z0-9\\\\-.]+\\\\.[a-zA-Z0-9\\\\-]{2,}$';\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n if (this.inputElement) {\n this.inputElement.autocapitalize = 'off';\n }\n }\n}\n\ndefineCustomElement(EmailField);\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n externalInputMixin,\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n inputFloatingLabelStyle,\n resetInputLabelPosition,\n resetInputOverrides,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('email-field');\n\nconst defaultPattern = \"^[\\\\w\\\\.\\\\%\\\\+\\\\-']+@[\\\\w\\\\.\\\\-]+\\\\.[A-Za-z]{2,}$\";\nconst defaultAutocomplete = 'username';\n\nconst customMixin = (superclass) =>\n class EmailFieldMixinClass extends superclass {\n init() {\n super.init?.();\n\n // we need to set the pattern on the base element because vaadin-email-field is overriding it\n this.baseElement.setAttribute('pattern', defaultPattern);\n\n if (!this.getAttribute('autocomplete')) {\n this.setAttribute('autocomplete', defaultAutocomplete);\n }\n\n this.createExternalInput();\n }\n };\n\nexport const EmailFieldClass = compose(\n createStyleMixin({\n mappings: textFieldMappings,\n }),\n draggableMixin,\n externalInputMixin({\n inputType: 'email',\n inputName: 'email',\n autocompleteType: 'username',\n includeAttrs: ['disabled', 'readonly', 'pattern'],\n }),\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['', 'suffix'],\n wrappedEleName: 'vaadin-email-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${EmailFieldClass.cssVarList.inputOutlineWidth}) + var(${\n EmailFieldClass.cssVarList.inputOutlineOffset\n }));\n box-sizing: border-box;\n\t\t\t}\n ${resetInputLabelPosition('vaadin-email-field')}\n\t\t\t${useHostExternalPadding(EmailFieldClass.cssVarList)}\n\t\t\t${resetInputOverrides('vaadin-email-field', EmailFieldClass.cssVarList)}\n ${inputFloatingLabelStyle()}\n\n vaadin-email-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-email-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\n :host ::slotted(*) {\n -webkit-mask-image: none;\n }\n\n vaadin-email-field[external-input=\"true\"] > input:not(:placeholder-shown) {\n opacity: 0;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/email-field';\nimport { componentName, EmailFieldClass } from './EmailFieldClass';\n\ncustomElements.define(componentName, EmailFieldClass);\n\nexport { EmailFieldClass, componentName };\n","const NUMERIC_RE = /^\\d+$/;\n\nexport const isNumericValue = (val) => NUMERIC_RE.test(val.replaceAll('+', '').replaceAll('-', ''));\n\nexport const sanitizeCountryCodePrefix = (val) => val.replace(/\\+\\d+-/, '');\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport { isNumericValue, sanitizeCountryCodePrefix as sanitizeValue } from './helpers';\nimport { PhoneFieldClass } from '../phone-fields/descope-phone-field/PhoneFieldClass';\nimport { PhoneFieldInputBoxClass } from '../phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('hybrid-field');\n\nconst attrs = {\n shared: [\n 'bordered',\n 'full-width',\n 'label-type',\n 'size',\n 'disabled',\n 'readonly',\n 'required',\n 'st-host-direction',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n ],\n email: [\n 'label',\n 'placeholder',\n 'data-errormessage-value-missing-email',\n 'data-errormessage-pattern-mismatch-email',\n 'external-input',\n ],\n phone: {\n countryCode: [\n 'phone-input-label',\n 'country-input-label',\n 'country-input-placeholder',\n 'restrict-countries',\n 'default-code',\n 'phone-minlength',\n 'data-errormessage-value-missing-phone',\n ],\n inputBox: [\n 'label',\n 'restrict-countries',\n 'default-code',\n 'phone-minlength',\n 'data-errormessage-value-missing-phone',\n ],\n },\n};\n\nconst attrMap = {\n email: {\n 'data-errormessage-value-missing-email': 'data-errormessage-value-missing',\n 'data-errormessage-pattern-mismatch-email': 'data-errormessage-pattern-mismatch',\n },\n phone: {\n 'phone-input-label': 'label',\n 'phone-minlength': 'minlength',\n 'data-errormessage-value-missing-phone': 'data-errormessage-value-missing',\n },\n};\n\nconst EMAIL_FIELD = 'descope-email-field';\nconst PHONE_FIELD = 'descope-phone-field';\nconst PHONE_INPUT_BOX_FIELD = 'descope-phone-input-box-field';\n\nconst BaseClass = createBaseClass({\n componentName,\n baseSelector: 'div',\n});\n\nclass RawHybridField extends BaseClass {\n #isReportedValidity = false;\n\n #selectionStart;\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"wrapper\">\n <descope-email-field external-input=\"${this.isExternalInput}\"></descope-email-field>\n <descope-phone-field allow-alphanumeric-input=\"true\"></descope-phone-field>\n <descope-phone-input-box-field allow-alphanumeric-input=\"true\"></descope-phone-input-box-field>\n </div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n display: inline-flex;\n box-sizing: border-box;\n padding: 0;\n gap: 0;\n }\n .wrapper {\n display: grid;\n width: 100%;\n }\n descope-email-field,\n descope-phone-field,\n descope-phone-input-box-field {\n grid-area: 1/1;\n width: 100%;\n height: 100%;\n }\n .hidden {\n visibility: hidden;\n }\n `,\n this\n );\n }\n\n get isExternalInput() {\n return this.getAttribute('external-input') === 'true';\n }\n\n get emailInputEle() {\n return this.isExternalInput ? this.emailInput.externalInput : this.emailInput.inputElement;\n }\n\n get phoneVariant() {\n const isInputBox = this.getAttribute('phone-variant') === 'inputBox';\n return isInputBox ? this.phoneInputBoxInput : this.phoneCountryCodeInput;\n }\n\n get defaultCode() {\n const firstItem = this.phoneCountryCodeInput.countryCodes?.[0] || '';\n return this.getAttribute('default-code') || firstItem;\n }\n\n get activeInputEle() {\n if (this.activeInput === this.emailInput) {\n return this.emailInputEle;\n }\n return this.phoneVariant.phoneNumberInputEle;\n }\n\n get value() {\n return this.activeInput?.value || '';\n }\n\n set value(val) {\n this.handleActiveInput(val);\n this.activeInput.value = val;\n }\n\n async init() {\n super.init?.();\n\n this.initInputs();\n this.updateAttrs();\n this.toggleInputVisibility();\n\n await this.waitForInputs();\n\n this.initInputEles();\n this.overrideEmailInputType();\n this.overrideEmailSetAttribute();\n }\n\n waitForInputs() {\n return new Promise((resolve) => {\n const check = setInterval(() => {\n if (this.emailInputEle) {\n clearInterval(check);\n resolve();\n }\n });\n });\n }\n\n initInputs() {\n this.emailInput = this.shadowRoot.querySelector(EMAIL_FIELD);\n this.phoneCountryCodeInput = this.shadowRoot.querySelector(PHONE_FIELD);\n this.phoneInputBoxInput = this.shadowRoot.querySelector(PHONE_INPUT_BOX_FIELD);\n\n this.inputs = [this.emailInput, this.phoneCountryCodeInput, this.phoneInputBoxInput];\n\n this.activeInput = this.emailInput;\n }\n\n // we need to listen on the inner `input` element itself, otherwise we don't always get an `input` event\n initInputEles() {\n const inputEles = [\n this.emailInputEle,\n this.phoneCountryCodeInput.phoneNumberInputEle,\n this.phoneInputBoxInput.phoneNumberInputEle,\n ];\n\n inputEles.forEach((ele) => {\n ele.addEventListener('input', this.onValueChange.bind(this));\n });\n }\n\n overrideEmailInputType() {\n this.emailInputEle.addEventListener('focus', () => {\n this.emailInputEle.setAttribute('type', 'text');\n });\n this.emailInputEle.addEventListener('blur', () => {\n setTimeout(() => {\n this.emailInputEle.setAttribute('type', 'email');\n });\n });\n }\n\n // We want to prevent Vaadin from changing the input type to `email`\n // otherwise, we cannot get the selectionStart from the input.\n overrideEmailSetAttribute() {\n const origEmailSetAttr = this.emailInput.setAttribute.bind(this.emailInputEle);\n this.emailInputEle.setAttribute = (name, value) => {\n if (name !== 'type' || value !== 'email' || !this.emailInput.hasAttribute('focused')) {\n return origEmailSetAttr(name, value);\n }\n return false;\n };\n }\n\n updateAttrs() {\n forwardAttrs(this, this.emailInput, { includeAttrs: attrs.email, mapAttrs: attrMap.email });\n\n forwardAttrs(this, this.phoneCountryCodeInput, {\n includeAttrs: attrs.phone.countryCode,\n mapAttrs: attrMap.phone,\n });\n\n forwardAttrs(this, this.phoneInputBoxInput, {\n includeAttrs: attrs.phone.inputBox,\n mapAttrs: attrMap.phone,\n });\n\n this.inputs.forEach((input) => forwardAttrs(this, input, { includeAttrs: attrs.shared }));\n\n setTimeout(() => this.phoneCountryCodeInput.setAttribute('default-code', this.defaultCode));\n }\n\n onValueChange() {\n this.#selectionStart = this.activeInputEle.selectionStart;\n this.handleActiveInput(this.activeInput.value);\n }\n\n handleActiveInput(val) {\n const expectedActiveInput = isNumericValue(val) ? this.phoneVariant : this.emailInput;\n\n if (this.activeInput !== expectedActiveInput) {\n this.setActiveInput(expectedActiveInput);\n }\n }\n\n setActiveInput(expectedActiveInput) {\n const val = this.activeInput.value;\n this.activeInput = expectedActiveInput;\n this.setActiveInputValue(val);\n if (this.#isReportedValidity) this.activeInput.reportValidity();\n this.setActiveInputSelectionStart();\n this.toggleInputVisibility();\n }\n\n setActiveInputSelectionStart() {\n setTimeout(() => {\n this.activeInputEle.focus();\n this.activeInputEle.setSelectionRange?.(this.#selectionStart, this.#selectionStart);\n });\n }\n\n setActiveInputValue(val) {\n const sanitizedVal = sanitizeValue(val);\n const isPhoneField = this.activeInput.localName === PHONE_FIELD;\n const value = isPhoneField\n ? `${this.phoneCountryCodeInput.countryCodeItems}-${sanitizedVal}`\n : sanitizedVal;\n this.activeInput.value = value;\n }\n\n toggleInputVisibility() {\n this.inputs.forEach((input) => {\n input !== this.activeInput ? input.classList.add('hidden') : input.classList.remove('hidden');\n });\n }\n\n reportValidity() {\n this.#isReportedValidity = true;\n\n const ele = this.activeInputEle;\n\n // On reportValidity we want to set the caret at the end of the input value.\n // Since checkValidity triggers `focus` on the input, it sets the caret at the start of the input,\n // regardless the existing value.\n setTimeout(() => {\n ele.setSelectionRange?.(ele.value.length, ele.value.length);\n });\n\n return this.activeInput.reportValidity();\n }\n\n checkValidity() {\n return this.activeInput.checkValidity();\n }\n}\n\nexport const HybridFieldClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: [\n { selector: () => 'descope-email-field', property: 'direction' },\n { selector: () => 'descope-phone-field', property: 'direction' },\n { selector: () => 'descope-phone-input-box-field', property: 'direction' },\n ],\n errorMessageIcon: [\n {\n selector: () => PhoneFieldClass.componentName,\n property: PhoneFieldClass.cssVarList.errorMessageIcon,\n },\n {\n selector: () => PhoneFieldInputBoxClass.componentName,\n property: PhoneFieldInputBoxClass.cssVarList.errorMessageIcon,\n },\n ],\n errorMessageIconSize: [\n {\n selector: () => PhoneFieldClass.componentName,\n property: PhoneFieldClass.cssVarList.errorMessageIconSize,\n },\n {\n selector: () => PhoneFieldInputBoxClass.componentName,\n property: PhoneFieldInputBoxClass.cssVarList.errorMessageIconSize,\n },\n ],\n errorMessageIconPadding: [\n {\n selector: () => PhoneFieldClass.componentName,\n property: PhoneFieldClass.cssVarList.errorMessageIconPadding,\n },\n {\n selector: () => PhoneFieldInputBoxClass.componentName,\n property: PhoneFieldInputBoxClass.cssVarList.errorMessageIconPadding,\n },\n ],\n errorMessageIconRepeat: [\n {\n selector: () => PhoneFieldClass.componentName,\n property: PhoneFieldClass.cssVarList.errorMessageIconRepeat,\n },\n {\n selector: () => PhoneFieldInputBoxClass.componentName,\n property: PhoneFieldInputBoxClass.cssVarList.errorMessageIconRepeat,\n },\n ],\n errorMessageIconPosition: [\n {\n selector: () => PhoneFieldClass.componentName,\n property: PhoneFieldClass.cssVarList.errorMessageIconPosition,\n },\n {\n selector: () => PhoneFieldInputBoxClass.componentName,\n property: PhoneFieldInputBoxClass.cssVarList.errorMessageIconPosition,\n },\n ],\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawHybridField);\n","import '../descope-email-field';\nimport '../phone-fields/descope-phone-field';\nimport '../phone-fields/descope-phone-input-box-field';\n\nimport { componentName, HybridFieldClass } from './HybridFieldClass';\n\ncustomElements.define(componentName, HybridFieldClass);\n\nexport { HybridFieldClass, componentName };\n","import { componentName as descopeInternalComponentName } from './descope-phone-input-box-internal/PhoneFieldInternalInputBox';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport { createProxy, createStyleMixin, draggableMixin, proxyInputMixin } from '../../../mixins';\nimport { TextFieldClass } from '../../descope-text-field/TextFieldClass';\nimport CountryCodes from '../CountryCodes';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n resetInputFieldDefaultWidth,\n resetInputFieldInvalidBackgroundColor,\n useHostExternalPadding,\n inputFloatingLabelStyle,\n} from '../../../helpers/themeHelpers/resetHelpers';\n\nconst textVars = TextFieldClass.cssVarList;\n\nexport const componentName = getComponentName('phone-input-box-field');\n\nconst customMixin = (superclass) =>\n class PhoneInputBoxFieldMixinClass extends superclass {\n static get CountryCodes() {\n return CountryCodes;\n }\n\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n\n template.innerHTML = `\n\t\t\t\t<${descopeInternalComponentName}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tslot=\"input\"\n\t\t\t\t></${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this.shadowRoot.host, this.inputElement, {\n includeAttrs: [\n 'size',\n 'bordered',\n 'invalid',\n 'minlength',\n 'maxlength',\n 'default-code',\n 'disabled',\n 'phone-input-placeholder',\n 'label',\n 'label-type',\n 'allow-alphanumeric-input',\n ],\n });\n }\n\n get phoneNumberInputEle() {\n return this.inputElement?.phoneNumberInputEle;\n }\n };\n\nconst {\n host,\n label,\n inputElement,\n requiredIndicator,\n inputField,\n inputFieldInternal,\n phoneInput,\n errorMessage,\n helperText,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n placeholder: { selector: '> input:placeholder-shown' },\n inputElement: { selector: 'input' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n inputField: { selector: () => 'vaadin-text-field::part(input-field)' },\n inputFieldInternal: {\n selector: () => 'descope-phone-field-internal-input-box vaadin-text-field::part(input-field)',\n },\n phoneInput: { selector: () => 'descope-text-field' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const PhoneFieldInputBoxClass = compose(\n createStyleMixin({\n mappings: {\n fontSize: [\n host,\n inputField,\n {\n selector: TextFieldClass.componentName,\n property: TextFieldClass.cssVarList.fontSize,\n },\n ],\n fontFamily: [label, errorMessage, helperText],\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n\n inputBorderStyle: { ...inputFieldInternal, property: 'border-style' },\n inputBorderWidth: { ...inputFieldInternal, property: 'border-width' },\n inputBorderColor: { ...inputFieldInternal, property: 'border-color' },\n inputBorderRadius: [\n { ...inputField, property: 'border-radius' },\n { ...inputFieldInternal, property: 'border-radius' },\n ],\n\n inputHorizontalPadding: [\n { ...phoneInput, property: 'padding-left' },\n { ...phoneInput, property: 'padding-right' },\n ],\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n\n inputValueTextColor: { ...phoneInput, property: textVars.inputValueTextColor },\n\n inputPlaceholderTextColor: { ...phoneInput, property: textVars.inputPlaceholderColor },\n\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n valueInputHeight: { ...inputElement, property: 'height' },\n valueInputMarginBottom: {\n selector: TextFieldClass.componentName,\n property: textVars.valueInputMarginBottom,\n },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n :host {\n display: inline-flex;\n max-width: 100%;\n box-sizing: border-box;\n }\n ${useHostExternalPadding(PhoneFieldInputBoxClass.cssVarList)}\n ${resetInputCursor('vaadin-text-field')}\n ${resetInputFieldInvalidBackgroundColor('vaadin-text-field')}\n ${resetInputFieldDefaultWidth()}\n\n vaadin-text-field {\n width: 100%;\n box-sizing: border-box;\n padding: 0;\n }\n vaadin-text-field[focus-ring]::part(input-field) {\n box-shadow: none;\n }\n vaadin-text-field::before {\n height: 0;\n }\n vaadin-text-field::part(input-field) {\n padding: 0;\n background: transparent;\n overflow: hidden;\n -webkit-mask-image: none;\n }\n descope-phone-field-internal-input-box {\n -webkit-mask-image: none;\n padding: 0;\n width: 100%;\n }\n descope-phone-field-internal-input-box > div {\n width: 100%;\n }\n descope-phone-field-internal-input-box .separator {\n flex: 0;\n border: none;\n }\n descope-phone-field-internal-input-box descope-text-field {\n ${textVars.inputOutlineWidth}: 0;\n ${textVars.inputOutlineOffset}: 0;\n }\n descope-text-field {\n flex-grow: 1;\n width: 100%;\n direction: ltr;\n }\n vaadin-text-field[readonly] > input:placeholder-shown {\n opacity: 1;\n }\n vaadin-text-field::part(input-field)::after {\n border: none;\n }\n\n vaadin-text-field[label-type=\"floating\"]:not([focused])[readonly] input:placeholder-shown {\n opacity: 0;\n }\n vaadin-text-field[label-type=\"floating\"]:not([focused])[disabled] input:placeholder-shown {\n opacity: 0;\n }\n\n ${resetInputLabelPosition('vaadin-text-field')}\n ${inputFloatingLabelStyle()}\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default PhoneFieldInputBoxClass;\n","import { createBaseInputClass } from '../../../../baseClasses/createBaseInputClass';\nimport { getComponentName } from '../../../../helpers/componentHelpers';\nimport { getCountryByCodeId } from '../../helpers';\n\nexport const componentName = getComponentName('phone-field-internal-input-box');\n\nconst observedAttributes = [\n 'disabled',\n 'size',\n 'bordered',\n 'invalid',\n 'readonly',\n 'phone-input-placeholder',\n 'name',\n 'autocomplete',\n 'label-type',\n 'allow-alphanumeric-input',\n];\nconst mapAttrs = {\n 'phone-input-placeholder': 'placeholder',\n};\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass PhoneFieldInternal extends BaseInputClass {\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], observedAttributes);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n <div>\n <descope-text-field tabindex=\"1\"></descope-text-field>\n </div>\n `;\n\n this.phoneNumberInput = this.querySelector('descope-text-field');\n }\n\n get defaultCountryCode() {\n return getCountryByCodeId(this.getAttribute('default-code'));\n }\n\n get hasDefaultCode() {\n return !!this.getAttribute('default-code');\n }\n\n get allowAlphanumericInput() {\n return this.getAttribute('allow-alphanumeric-input') === 'true';\n }\n\n get value() {\n if (!this.phoneNumberValue) {\n return '';\n }\n\n if (this.hasDefaultCode) {\n // we want to transform phone numbers to a valid {dialCode}-{phoneNumber} format\n // e.g.:\n // +972-12345 => +972-12345\n // 972-12345 => +972-12345\n // 12345 => +972-12345\n //\n // we also want to handle any extra dash if added in the start of the phone number\n // e.g.:\n // +972--12345 => +972-12345\n const pattern = new RegExp(`\\\\+?${parseInt(this.defaultCountryCode, 10)}--?`);\n return `${this.defaultCountryCode}-${this.phoneNumberInput.value.replace(pattern, '')}`;\n }\n\n return this.phoneNumberInput.value;\n }\n\n set value(val) {\n this.phoneNumberInput.value = val;\n }\n\n get phoneNumberValue() {\n return this.phoneNumberInput.value;\n }\n\n get phoneNumberInputEle() {\n return this.phoneNumberInput.shadowRoot.querySelector('input');\n }\n\n get minLength() {\n return parseInt(this.getAttribute('minlength'), 10) || 0;\n }\n\n get maxLength() {\n return parseInt(this.getAttribute('maxlength'), 10) || 50;\n }\n\n getValidity() {\n const validPhonePattern = /^\\+?\\d{1,4}-?(?:\\d-?){1,15}$/;\n const stripValue = this.value.replace(/\\D/g, '');\n\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n\n if (stripValue.length < this.minLength) {\n return { tooShort: true };\n }\n\n if (stripValue.length > this.maxLength) {\n return { tooLong: true };\n }\n\n if (this.value && !validPhonePattern.test(this.value)) {\n return { patternMismatch: true };\n }\n\n return {};\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) this.phoneNumberInput.focus();\n });\n\n super.init?.();\n this.initInputs();\n }\n\n getCountryByDialCode(countryDialCode) {\n return this.countryCodeInput.items?.find(\n (c) => c.getAttribute('data-country-code') === countryDialCode\n );\n }\n\n initInputs() {\n // Sanitize phone input value to filter everything but digits\n this.phoneNumberInput.addEventListener('input', (e) => {\n if (e.target.value.length === 1 && e.target.value === '-') {\n e.target.value = '';\n }\n\n e.target.value = e.target.value\n .replace(/(?!^)\\+/g, '')\n .replace('--', '-')\n .replace('+-', '+');\n\n let sanitizedInput = e.target.value;\n if (!this.allowAlphanumericInput) {\n const telDigitsRegExp = /^[+\\d-]+$/;\n sanitizedInput = e.target.value\n .split('')\n .filter((char) => telDigitsRegExp.test(char))\n .join('');\n }\n\n e.target.value = sanitizedInput;\n });\n\n this.handleFocusEventsDispatching([this.phoneNumberInput]);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n\n if (oldValue !== newValue && observedAttributes.includes(attrName)) {\n const attr = mapAttrs[attrName] || attrName;\n this.phoneNumberInput.setAttribute(attr, newValue);\n }\n }\n}\n\nexport default PhoneFieldInternal;\n","import '../../../descope-text-field';\n\nimport PhoneFieldInternalInputBox, { componentName } from './PhoneFieldInternalInputBox';\n\ncustomElements.define(componentName, PhoneFieldInternalInputBox);\n","import './descope-phone-input-box-internal';\nimport '@descope-ui/descope-combo-box';\nimport '../../descope-text-field';\n\nimport { componentName, PhoneFieldInputBoxClass } from './PhoneFieldInputBoxClass';\n\ncustomElements.define(componentName, PhoneFieldInputBoxClass);\n\nexport { PhoneFieldInputBoxClass, componentName };\n","import CountryCodes from './CountryCodes';\n\nexport const getCountryByCodeId = (countryCode) => {\n return CountryCodes.find((c) => c.code === countryCode)?.dialCode;\n};\n"],"names":["emailField","moduleId","emailFieldStyles","EmailField","is","constructor","super","this","_setType","pattern","ready","inputElement","autocapitalize","componentName","EmailFieldClass","mappings","textFieldMappings","inputType","inputName","autocompleteType","includeAttrs","proxyProps","useProxyTargets","superclass","init","baseElement","setAttribute","getAttribute","createExternalInput","slots","wrappedEleName","style","cssVarList","inputOutlineWidth","inputOutlineOffset","excludeAttrsSync","customElements","define","NUMERIC_RE","attrs","shared","email","phone","countryCode","inputBox","attrMap","PHONE_FIELD","BaseClass","createBaseClass","baseSelector","HybridFieldClass","componentNameOverride","hostWidth","selector","property","hostDirection","errorMessageIcon","PhoneFieldClass","PhoneFieldInputBoxClass","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","attachShadow","mode","innerHTML","isExternalInput","emailInputEle","emailInput","externalInput","phoneVariant","phoneInputBoxInput","phoneCountryCodeInput","defaultCode","firstItem","countryCodes","activeInputEle","activeInput","phoneNumberInputEle","value","val","handleActiveInput","initInputs","updateAttrs","toggleInputVisibility","waitForInputs","initInputEles","overrideEmailInputType","overrideEmailSetAttribute","Promise","resolve","check","setInterval","clearInterval","shadowRoot","querySelector","inputs","forEach","ele","addEventListener","onValueChange","bind","setTimeout","origEmailSetAttr","name","hasAttribute","mapAttrs","input","selectionStart","expectedActiveInput","test","replaceAll","isNumericValue","setActiveInput","setActiveInputValue","reportValidity","setActiveInputSelectionStart","focus","setSelectionRange","sanitizedVal","replace","localName","countryCodeItems","classList","add","remove","length","checkValidity","textVars","host","label","requiredIndicator","inputField","inputFieldInternal","phoneInput","errorMessage","helperText","placeholder","fontSize","fontFamily","hostMinWidth","inputBorderStyle","inputBorderWidth","inputBorderColor","inputBorderRadius","inputHorizontalPadding","labelFontSize","labelFontWeight","labelTextColor","labelRequiredIndicator","errorMessageTextColor","inputValueTextColor","inputPlaceholderTextColor","inputPlaceholderColor","inputOutlineStyle","inputOutlineColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","valueInputHeight","valueInputMarginBottom","CountryCodes","template","document","createElement","appendChild","content","cloneNode","observedAttributes","BaseInputClass","concat","phoneNumberInput","defaultCountryCode","hasDefaultCode","allowAlphanumericInput","phoneNumberValue","RegExp","parseInt","minLength","maxLength","getValidity","stripValue","isRequired","valueMissing","tooShort","tooLong","patternMismatch","e","isTrusted","getCountryByDialCode","countryDialCode","countryCodeInput","items","find","c","target","sanitizedInput","telDigitsRegExp","split","filter","char","join","handleFocusEventsDispatching","attributeChangedCallback","attrName","oldValue","newValue","includes","attr","getCountryByCodeId","code","dialCode"],"sourceRoot":""}
|
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[7401],{
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[7401],{20618:(t,e,s)=>{s.d(e,{S:()=>u,T:()=>c});var i=s(79365),n=s(81365),r=s(9696),l=s(97810),o=s(28796),a=s(25964);const c=(0,l.xE)("icon");class h extends((0,n.q)({componentName:c,baseSelector:"slot"})){static get observedAttributes(){return["src"]}#t;constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,a.fz)("\n\t\t\t:host > slot {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n ",this)}init(){super.init?.(),this.toggleVisibility(this.src)}toggleVisibility(t){this.style.display=t?"":"none"}get src(){return this.getAttribute("src")}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach((t=>{t.setAttribute("fill",`var(${u.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)}))}attributeChangedCallback(t,e,s){super.attributeChangedCallback?.(t,e,s),e!==s&&"src"===t&&(this.toggleVisibility(s),(0,o.w)(this.src).then((t=>{if(this.innerHTML="",t){const e=t.cloneNode(!0);this.updateFillColor(e),this.appendChild(e)}})))}}const u=(0,r.Zz)((0,i.RF)({mappings:{fill:{}}}),i.VO,i.tQ)(h)},28796:(t,e,s)=>{s.d(e,{w:()=>r});var i=s(25414);const n=t=>{const e=i.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0}});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},r=async t=>{try{let e;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const s=atob(t.slice(26));e=n(s)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const s=await fetch(t),i=await s.text();e=n(i)}else e=(t=>{const e=document.createElement("img");return e.setAttribute("src",t),e})(t);return e.style.setProperty("max-width","100%"),e.style.setProperty("max-height","100%"),e}catch{return null}}},58017:(t,e,s)=>{s.r(e),s.d(e,{IconClass:()=>i.S,componentName:()=>i.T});var i=s(20618);customElements.define(i.T,i.S)}}]);
|
2
|
+
//# sourceMappingURL=descope-icon-index-js.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-icon-index-js.js","mappings":"uOAQO,MAAMA,GAAgB,QAAiB,QAE9C,MAAMC,WAAgB,OAAgB,CAAED,gBAAeE,aAAc,UACnE,6BAAWC,GACT,MAAO,CAAC,MACV,CAEA,GAEA,WAAAC,GACEC,QAEAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,2BAIhD,QACE,+NAYAH,KAEJ,CAEA,IAAAI,GACEL,MAAMK,SACNJ,KAAKK,iBAAiBL,KAAKM,IAC7B,CAEA,gBAAAD,CAAiBE,GACfP,KAAKQ,MAAMC,QAAUF,EAAY,GAAK,MACxC,CAEA,OAAID,GACF,OAAON,KAAKU,aAAa,MAC3B,CAKA,eAAAC,CAAgBC,GAEY,CAACA,KAASA,EAAKC,iBAAiB,YAExCC,SAASC,IACzBA,EAAIC,aACF,OACA,OAAOC,EAAUC,WAAWC,SAASJ,EAAIL,aAAa,SAAW,QAClE,GAEL,CAEA,wBAAAU,CAAyBC,EAAUC,EAAUC,GAC3CxB,MAAMqB,2BAA2BC,EAAUC,EAAUC,GAEjDD,IAAaC,GAEA,QAAbF,IACFrB,KAAKK,iBAAiBkB,IAEtB,OAAWvB,KAAKM,KAAKkB,MAAMC,IAEzB,GADAzB,KAAKG,UAAY,GACbsB,EAAK,CACP,MAAMC,EAAaD,EAAIE,WAAU,GACjC3B,KAAKW,gBAAgBe,GACrB1B,KAAK4B,YAAYF,EACnB,KAGN,EAGK,MAAMT,GAAY,SACvB,QAAiB,CACfY,SAAU,CACRV,KAAM,CAAC,KAGX,KACA,KAPuB,CAQvBxB,E,kDC/FF,MAeMmC,EAAgBC,IAEpB,MAAMC,EAAQ,IAAUC,SAASF,EAAM,CAAEG,aAAc,CAAEC,KAAK,EAAMC,YAAY,KAIhF,OAFe,IAAIC,WACAC,gBAAgBN,EAAO,iBAAiBO,cAAc,MAC/D,EAGCC,EAAaC,MAAOnC,IAC/B,IACE,IAAIS,EACJ,GApBgB,CAACT,GAAQA,EAAIoC,WAFZ,8BAsBbC,CAAYrC,GAAM,CAEpB,MAAMsC,EAASC,KAAKvC,EAAIwC,MAAMC,KAC9BhC,EAAMe,EAAac,EACrB,MAAO,GAA8B,QA/BhB,CAACI,IACxB,MAAMC,EAAQD,EAAKC,MAAM,8BACzB,OAAOA,EAAQA,EAAM,GAAK,IAAI,EA6BjBC,CAAiB5C,GAAgB,CAE1C,MAAM6C,QAAmBC,MAAM9C,GACzByB,QAAaoB,EAAWpB,OAC9BhB,EAAMe,EAAaC,EACrB,MAEEhB,EA7Be,CAACT,IACpB,MAAMS,EAAMsC,SAASC,cAAc,OAEnC,OADAvC,EAAIC,aAAa,MAAOV,GACjBS,CAAG,EA0BAwC,CAAajD,GAMrB,OAHAS,EAAIP,MAAMgD,YAAY,YAAa,QACnCzC,EAAIP,MAAMgD,YAAY,aAAc,QAE7BzC,CACT,CAAE,MACA,OAAO,IACT,E,yFC/CF0C,eAAeC,OAAO,IAAe,I","sources":["webpack://@descope/web-components-ui/./src/components/descope-icon/IconClass.js","webpack://@descope/web-components-ui/./src/components/descope-icon/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-icon/index.js"],"sourcesContent":["/* eslint-disable no-use-before-define */\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { createIcon } from './helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('icon');\n\nclass RawIcon extends createBaseClass({ componentName, baseSelector: 'slot' }) {\n static get observedAttributes() {\n return ['src'];\n }\n\n #icon;\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<slot></slot>\n\t`;\n\n injectStyle(\n `\n\t\t\t:host > slot {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n `,\n this\n );\n }\n\n init() {\n super.init?.();\n this.toggleVisibility(this.src);\n }\n\n toggleVisibility(isVisible) {\n this.style.display = isVisible ? '' : 'none';\n }\n\n get src() {\n return this.getAttribute('src');\n }\n\n // in order to fill an SVG with `currentColor` override all of its `fill` and `path` nodes\n // with the value from the `st-fill` attribute\n // eslint-disable-next-line class-methods-use-this\n updateFillColor(node) {\n // set fill to root node and all its relevant selectors\n const elementsToReplace = [node, ...node.querySelectorAll('*[fill]')];\n\n elementsToReplace.forEach((ele) => {\n ele.setAttribute(\n 'fill',\n `var(${IconClass.cssVarList.fill}, ${ele.getAttribute('fill') || \"''\"})`\n );\n });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue === newValue) return;\n\n if (attrName === 'src') {\n this.toggleVisibility(newValue);\n\n createIcon(this.src).then((res) => {\n this.innerHTML = '';\n if (res) {\n const clonedNode = res.cloneNode(true);\n this.updateFillColor(clonedNode);\n this.appendChild(clonedNode);\n }\n });\n }\n }\n}\n\nexport const IconClass = compose(\n createStyleMixin({\n mappings: {\n fill: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawIcon);\n","import DOMPurify from 'dompurify';\n\nconst getFileExtension = (path) => {\n const match = path.match(/\\.([0-9a-z]+)(?:[\\\\?#]|$)/i);\n return match ? match[1] : null;\n};\n\nconst base64Prefix = 'data:image/svg+xml;base64,';\n\nconst isBase64Svg = (src) => src.startsWith(base64Prefix);\n\nconst createImgEle = (src) => {\n const ele = document.createElement('img');\n ele.setAttribute('src', src);\n return ele;\n};\n\nconst createSvgEle = (text) => {\n // we want to purify the SVG to avoid XSS attacks\n const clean = DOMPurify.sanitize(text, { USE_PROFILES: { svg: true, svgFilters: true } });\n\n const parser = new DOMParser();\n const ele = parser.parseFromString(clean, 'image/svg+xml').querySelector('svg');\n return ele;\n};\n\nexport const createIcon = async (src) => {\n try {\n let ele;\n if (isBase64Svg(src)) {\n // handle base64 source\n const svgXml = atob(src.slice(base64Prefix.length));\n ele = createSvgEle(svgXml);\n } else if (getFileExtension(src) === 'svg') {\n // handle urls\n const fetchedSrc = await fetch(src);\n const text = await fetchedSrc.text();\n ele = createSvgEle(text);\n } else {\n // handle binary\n ele = createImgEle(src);\n }\n\n ele.style.setProperty('max-width', '100%');\n ele.style.setProperty('max-height', '100%');\n\n return ele;\n } catch {\n return null;\n }\n};\n","import { componentName, IconClass } from './IconClass';\n\ncustomElements.define(componentName, IconClass);\n\nexport { IconClass, componentName };\n"],"names":["componentName","RawIcon","baseSelector","observedAttributes","constructor","super","this","attachShadow","mode","innerHTML","init","toggleVisibility","src","isVisible","style","display","getAttribute","updateFillColor","node","querySelectorAll","forEach","ele","setAttribute","IconClass","cssVarList","fill","attributeChangedCallback","attrName","oldValue","newValue","then","res","clonedNode","cloneNode","appendChild","mappings","createSvgEle","text","clean","sanitize","USE_PROFILES","svg","svgFilters","DOMParser","parseFromString","querySelector","createIcon","async","startsWith","isBase64Svg","svgXml","atob","slice","base64Prefix","path","match","getFileExtension","fetchedSrc","fetch","document","createElement","createImgEle","setProperty","customElements","define"],"sourceRoot":""}
|
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[9175],{
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[9175],{90576:(t,e,s)=>{s.r(e),s.d(e,{ImageClass:()=>m,componentName:()=>r});var n=s(79365),o=s(81365),c=s(9696),i=s(97810),a=s(25964);const h=["src","alt"],r=(0,i.xE)("image"),l=(0,o.q)({componentName:r,baseSelector:":host > img"}),m=(0,c.Zz)((0,n.RF)({mappings:{height:{selector:()=>":host"},width:{selector:()=>":host"}}}),n.VO)(class extends l{static get observedAttributes(){return h.concat(l.observedAttributes||[])}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<img/>\n\t",(0,a.fz)("\n :host > img {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n ",this)}connectedCallback(){super.connectedCallback?.(),(0,i.EA)(this,this.baseElement,{includeAttrs:h})}});customElements.define(r,m)}}]);
|
2
|
+
//# sourceMappingURL=descope-image-index-js.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-image-index-js.js","mappings":"wPAMA,MAAMA,EAAqB,CAAC,MAAO,OAEtBC,GAAgB,QAAiB,SAExCC,GAAY,EAAAC,EAAA,GAAgB,CAAEF,gBAAeG,aAAc,gBAkCpDC,GAAa,SACxB,QAAiB,CACfC,SAAU,CACRC,OAAQ,CAAEC,SAAU,IAAM,SAC1BC,MAAO,CAAED,SAAU,IAAM,YAG7B,KAPwB,CAjC1B,cAAuBN,EACrB,6BAAWF,GACT,OAAOA,EAAmBU,OAAOR,EAAUF,oBAAsB,GACnE,CAEA,WAAAW,GACEC,QAEAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,oBAIhD,QACE,4IASAH,KAEJ,CAEA,iBAAAI,GACEL,MAAMK,uBAEN,QAAaJ,KAAMA,KAAKK,YAAa,CAAEC,aAAcnB,GACvD,ICvCFoB,eAAeC,OAAOpB,EAAeI,E","sources":["webpack://@descope/web-components-ui/./src/components/descope-image/ImageClass.js","webpack://@descope/web-components-ui/./src/components/descope-image/index.js"],"sourcesContent":["import { createStyleMixin, draggableMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nconst observedAttributes = ['src', 'alt'];\n\nexport const componentName = getComponentName('image');\n\nconst BaseClass = createBaseClass({ componentName, baseSelector: ':host > img' });\nclass RawImage extends BaseClass {\n static get observedAttributes() {\n return observedAttributes.concat(BaseClass.observedAttributes || []);\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<img/>\n\t`;\n\n injectStyle(\n `\n :host > img {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n `,\n this\n );\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n forwardAttrs(this, this.baseElement, { includeAttrs: observedAttributes });\n }\n}\n\nexport const ImageClass = compose(\n createStyleMixin({\n mappings: {\n height: { selector: () => ':host' },\n width: { selector: () => ':host' },\n },\n }),\n draggableMixin\n)(RawImage);\n","import { componentName, ImageClass } from './ImageClass';\n\ncustomElements.define(componentName, ImageClass);\n\nexport { ImageClass, componentName };\n"],"names":["observedAttributes","componentName","BaseClass","createBaseClass","baseSelector","ImageClass","mappings","height","selector","width","concat","constructor","super","this","attachShadow","mode","innerHTML","connectedCallback","baseElement","includeAttrs","customElements","define"],"sourceRoot":""}
|
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2294,7792],{
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2294,7792],{66434:(t,e,o)=>{o.d(e,{T:()=>h,s:()=>p});var n=o(88961),s=o(63200),r=o(25964),i=o(72270);const h=(0,r.xE)("text");class l extends((0,i.qu)({componentName:h,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <slot part="text-wrapper"></slot>\n ',(0,r.fz)("\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n ",this)}get hideWhenEmpty(){return"true"===this.getAttribute("hide-when-empty")}init(){super.init(),(0,r.Ge)(this,(()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""}))}}const p=(0,s.Zz)((0,n.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},hostDirection:{selector:()=>":host",property:"direction"},fontSize:{},textColor:{property:"color"},textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),n.VO,n.tQ)(l)},63595:(t,e,o)=>{o.r(e),o.d(e,{TextClass:()=>n.s,componentName:()=>n.T});var n=o(66434);customElements.define(n.T,n.s)},83002:(t,e,o)=>{o.r(e),o.d(e,{LinkClass:()=>w,componentName:()=>p});var n=o(79365),s=o(81365),r=o(66434),i=o(9696),h=o(97810),l=o(25964);const p=(0,h.xE)("link");class c extends((0,s.q)({componentName:p,baseSelector:":host a"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<div>\n\t\t\t<descope-text>\n\t\t\t\t<a>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</a>\n\t\t\t</descope-text>\n\t\t</div>\n\t\t",(0,l.fz)("\n :host {\n\t\t\tdisplay: inline-block;\n line-height: 1em;\n\t\t}\n\t\t:host a {\n\t\t\tdisplay: inline;\n\t\t}\n ",this),(0,h.EA)(this,this.shadowRoot.querySelector("a"),{includeAttrs:["href","target","tooltip"],mapAttrs:{tooltip:"title"}}),(0,h.EA)(this,this.shadowRoot.querySelector("descope-text"),{includeAttrs:["mode","variant"]})}}const a={host:{selector:()=>":host"},link:{selector:()=>":host a"},anchor:{},wrapper:{selector:()=>":host > div"},text:{selector:()=>r.s.componentName}},{anchor:d,text:m,host:y,wrapper:x,link:u}=a,w=(0,i.Zz)((0,n.RF)({mappings:{hostWidth:{...y,property:"width"},hostDirection:{...m,property:"direction"},textAlign:x,textDecoration:{...u,property:"text-decoration",fallback:"none"},textColor:[{...d,property:"color"},{...m,property:r.s.cssVarList.textColor}],cursor:d}}),n.VO,n.tQ)(c);o(63595),customElements.define(p,w)}}]);
|
2
|
+
//# sourceMappingURL=descope-link-index-js.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-link-index-js.js","mappings":"uNAaO,MAAMA,GAAgB,QAAiB,QAE9C,MAAMC,WAAgB,QAAgB,CACpCD,gBACAE,aAAc,kBAEd,WAAAC,GACEC,QAEAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,iDAIhD,QAAY,iLASTH,KACL,CAEA,iBAAII,GACF,MAAgD,SAAzCJ,KAAKK,aAAa,kBAC3B,CAEA,IAAAC,GACEP,MAAMO,QAEN,QAAgBN,MAAM,KACpB,MAAMO,IAAgBP,KAAKQ,WAAWC,OACtCT,KAAKU,MAAMC,SAAWJ,GAAeP,KAAKI,cAAgB,OAAS,EAAE,GAEzE,EAGK,MAAMQ,GAAY,SACvB,QAAiB,CACfC,SAAU,CACRC,UAAW,CAAEC,SAAU,IAAM,QAASC,SAAU,SAChDC,cAAe,CAAEF,SAAU,IAAM,QAASC,SAAU,aACpDE,SAAU,CAAC,EACXC,UAAW,CAAEH,SAAU,SACvBI,eAAgB,CAAEJ,SAAU,eAC5BK,kBAAmB,CAAEL,SAAU,kBAC/BM,WAAY,CAAC,EACbC,UAAW,CAAC,EACZC,cAAe,CAAC,EAChBC,WAAY,CAAC,EACbC,UAAW,CAAC,EACZC,WAAY,CAAC,EACbC,YAAa,CAAC,EACdC,YAAa,CAAC,EACdC,YAAa,CAAC,KAGlB,KACA,KArBuB,CAsBvBlC,E,yFCxEFmC,eAAeC,OAAO,IAAe,I,2ICK9B,MAAMrC,GAAgB,QAAiB,QAE9C,MAAMsC,WAAgB,EAAAC,EAAA,GAAgB,CAAEvC,gBAAeE,aAAc,aACnE,WAAAC,GACEC,QAEAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,kIAUhD,QACE,oIASAH,OAGF,QAAaA,KAAMA,KAAKmC,WAAWC,cAAc,KAAM,CACrDC,aAAc,CAAC,OAAQ,SAAU,WACjCC,SAAU,CACRC,QAAS,YAIb,QAAavC,KAAMA,KAAKmC,WAAWC,cAAc,gBAAiB,CAChEC,aAAc,CAAC,OAAQ,YAE3B,EAGF,MAAMG,EAAY,CAChBC,KAAM,CAAE1B,SAAU,IAAM,SACxB2B,KAAM,CAAE3B,SAAU,IAAM,WACxB4B,OAAQ,CAAC,EACTC,QAAS,CAAE7B,SAAU,IAAM,eAC3B8B,KAAM,CAAE9B,SAAU,IAAMH,EAAA,EAAUjB,iBAG5BgD,OAAM,OAAM,wBAAqB,GAAKH,EAEjCM,GAAY,SACvB,QAAiB,CACfjC,SAAU,CACRC,UAAW,IAAK2B,EAAMzB,SAAU,SAChCC,cAAe,IAAK,EAAMD,SAAU,aACpCO,UAAWqB,EACXG,eAAgB,IAAK,EAAM/B,SAAU,kBAAmBgC,SAAU,QAClE7B,UAAW,CACT,IAAK,EAAQH,SAAU,SACvB,IAAK,EAAMA,SAAUJ,EAAA,EAAUqC,WAAW9B,YAE5C+B,OAAQ,KAGZ,KACA,KAfuB,CAgBvBjB,G,SCxEFF,eAAeC,OAAOrC,EAAemD,E","sources":["webpack://@descope/web-components-ui/../components/descope-text/src/component/TextClass.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/index.js","webpack://@descope/web-components-ui/./src/components/descope-link/LinkClass.js","webpack://@descope/web-components-ui/./src/components/descope-link/index.js"],"sourcesContent":["import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n injectStyle,\n observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({\n componentName,\n baseSelector: ':host > slot',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot part=\"text-wrapper\"></slot>\n `;\n\n injectStyle(`\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n `, this);\n }\n\n get hideWhenEmpty() {\n return this.getAttribute('hide-when-empty') === 'true';\n }\n\n init() {\n super.init();\n\n observeChildren(this, () => {\n const hasChildren = !!this.childNodes.length;\n this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';\n });\n }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontSize: {},\n textColor: { property: 'color' },\n textLineHeight: { property: 'line-height' },\n textLetterSpacing: { property: 'letter-spacing' },\n textShadow: {},\n textAlign: {},\n textTransform: {},\n fontFamily: {},\n fontStyle: {},\n fontWeight: {},\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawText);\n","import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass, componentName };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { TextClass } from '@descope-ui/descope-text/class';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('link');\n\nclass RawLink extends createBaseClass({ componentName, baseSelector: ':host a' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<div>\n\t\t\t<descope-text>\n\t\t\t\t<a>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</a>\n\t\t\t</descope-text>\n\t\t</div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n\t\t\tdisplay: inline-block;\n line-height: 1em;\n\t\t}\n\t\t:host a {\n\t\t\tdisplay: inline;\n\t\t}\n `,\n this\n );\n\n forwardAttrs(this, this.shadowRoot.querySelector('a'), {\n includeAttrs: ['href', 'target', 'tooltip'],\n mapAttrs: {\n tooltip: 'title',\n },\n });\n\n forwardAttrs(this, this.shadowRoot.querySelector('descope-text'), {\n includeAttrs: ['mode', 'variant'],\n });\n }\n}\n\nconst selectors = {\n host: { selector: () => ':host' },\n link: { selector: () => ':host a' },\n anchor: {},\n wrapper: { selector: () => ':host > div' },\n text: { selector: () => TextClass.componentName },\n};\n\nconst { anchor, text, host, wrapper, link } = selectors;\n\nexport const LinkClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...text, property: 'direction' },\n textAlign: wrapper,\n textDecoration: { ...link, property: 'text-decoration', fallback: 'none' },\n textColor: [\n { ...anchor, property: 'color' },\n { ...text, property: TextClass.cssVarList.textColor },\n ],\n cursor: anchor,\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawLink);\n","import { componentName, LinkClass } from './LinkClass';\nimport '@descope-ui/descope-text';\n\ncustomElements.define(componentName, LinkClass);\n\nexport { LinkClass, componentName };\n"],"names":["componentName","RawText","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","hideWhenEmpty","getAttribute","init","hasChildren","childNodes","length","style","display","TextClass","mappings","hostWidth","selector","property","hostDirection","fontSize","textColor","textLineHeight","textLetterSpacing","textShadow","textAlign","textTransform","fontFamily","fontStyle","fontWeight","borderWidth","borderStyle","borderColor","customElements","define","RawLink","createBaseClass","shadowRoot","querySelector","includeAttrs","mapAttrs","tooltip","selectors","host","link","anchor","wrapper","text","LinkClass","textDecoration","fallback","cssVarList","cursor"],"sourceRoot":""}
|
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[7640],{
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[7640],{18708:(t,e,n)=>{n.r(e),n.d(e,{ListClass:()=>m,componentName:()=>p});var o=n(79365),s=n(81365),i=n(9696),r=n(97810),a=n(25964);const l=(0,r.xE)("list-item"),d=(0,i.Zz)((0,o.RF)({mappings:{padding:{},backgroundColor:{},borderColor:{},borderStyle:{},borderWidth:{},borderRadius:{},outline:{},cursor:{},gap:{},maxWidth:{selector:()=>":host"},alignItems:{},flexDirection:{},transition:{}}}),o.VO,o.tQ,(t=>class extends t{constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n <slot></slot>\n ",(0,a.fz)("\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n ",this)}}),(t=>class extends t{init(){super.init?.(),this.baseElement.addEventListener("mousedown",(t=>{t.preventDefault(),this.setAttribute("active","true"),window.addEventListener("mouseup",(()=>this.removeAttribute("active")),{once:!0})}))}}))((0,s.q)({componentName:l,baseSelector:"slot"})),p=(0,r.xE)("list");class h extends((0,s.q)({componentName:p,baseSelector:".wrapper"})){static get observedAttributes(){return["variant","readonly"]}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <div class="wrapper">\n <slot></slot>\n <slot name="empty-state">\n No item...\n </slot>\n </div>\n\t',(0,a.fz)('\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name="empty-state"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name="empty-state"] {\n display: none;\n }\n :host([empty]) slot[name="empty-state"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n ',this)}get items(){return this.shadowRoot.querySelector("slot").assignedElements()}#t(){0===this.items.length?this.setAttribute("empty","true"):this.removeAttribute("empty")}get variant(){return this.getAttribute("variant")||"list"}#e(){this.items.forEach((t=>{let e=t;e.localName!==d.componentName&&(e=t.querySelector(d.componentName));const n="tiles"===this.variant?"tile":"row";e.setAttribute("variant",n)}))}init(){super.init?.(),(0,r.Ge)(this,(()=>{this.#t(),this.#e(),this.#n()}))}get isReadOnly(){return"true"===this.getAttribute("readonly")}#n(){this.items.forEach((t=>{this.isReadOnly?t.setAttribute("inert",""):t.removeAttribute("inert")}))}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),n!==e&&("variant"===t?this.#e():"readonly"===t&&this.#n())}}const m=(0,i.Zz)((0,o.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},maxHeight:{selector:()=>":host"},minHeight:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],hostDirection:{selector:()=>":host",property:"direction"},fontFamily:{},gap:{},backgroundColor:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},boxShadow:{},gridTemplateColumns:{},maxItemsWidth:{selector:()=>"::slotted(:not([slot]))",property:"max-width"},minItemsWidth:{selector:()=>"::slotted(:not([slot]))",property:"min-width"},itemsHorizontalAlign:{selector:()=>"::slotted(*)",property:"justify-self"},emptyStateTextColor:{selector:()=>'slot[name="empty-state"]',property:"color"},emptyStateTextFontFamily:{selector:()=>'slot[name="empty-state"]',property:"font-family"}}}),o.VO,o.tQ)(h);customElements.define(p,m),customElements.define(l,d)}}]);
|
2
|
+
//# sourceMappingURL=descope-list-index-js.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-list-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-list/ListItemClass.js","webpack://@descope/web-components-ui/./src/mixins/activableMixin.js","webpack://@descope/web-components-ui/./src/components/descope-list/ListClass.js","webpack://@descope/web-components-ui/./src/components/descope-list/index.js"],"sourcesContent":["import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { activeableMixin } from '../../mixins/activableMixin';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('list-item');\n\nconst customMixin = (superclass) =>\n class ListItemMixinClass extends superclass {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot></slot>\n `;\n\n injectStyle(\n `\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n `,\n this\n );\n }\n };\n\nexport const ListItemClass = compose(\n createStyleMixin({\n mappings: {\n padding: {},\n backgroundColor: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n borderRadius: {},\n outline: {},\n cursor: {},\n gap: {},\n maxWidth: { selector: () => ':host' },\n alignItems: {},\n flexDirection: {},\n transition: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin,\n activeableMixin\n)(createBaseClass({ componentName, baseSelector: 'slot' }));\n","export const activeableMixin = (superclass) =>\n class ActiveableMixinClass extends superclass {\n init() {\n super.init?.();\n\n this.baseElement.addEventListener('mousedown', (e) => {\n e.preventDefault();\n this.setAttribute('active', 'true');\n window.addEventListener('mouseup', () => this.removeAttribute('active'), {\n once: true,\n });\n });\n }\n };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { ListItemClass } from './ListItemClass';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('list');\n\nclass RawList extends createBaseClass({ componentName, baseSelector: '.wrapper' }) {\n static get observedAttributes() {\n return ['variant', 'readonly'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"wrapper\">\n <slot></slot>\n <slot name=\"empty-state\">\n No item...\n </slot>\n </div>\n\t`;\n\n injectStyle(\n `\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name=\"empty-state\"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name=\"empty-state\"] {\n display: none;\n }\n :host([empty]) slot[name=\"empty-state\"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n `,\n this\n );\n }\n\n get items() {\n return this.shadowRoot.querySelector('slot').assignedElements();\n }\n\n #handleEmptyState() {\n if (this.items.length === 0) {\n this.setAttribute('empty', 'true');\n } else {\n this.removeAttribute('empty');\n }\n }\n\n get variant() {\n return this.getAttribute('variant') || 'list';\n }\n\n #handleItemsVariant() {\n this.items.forEach((item) => {\n let listItem = item;\n if (listItem.localName !== ListItemClass.componentName) {\n listItem = item.querySelector(ListItemClass.componentName);\n }\n\n const listItemVariant = this.variant === 'tiles' ? 'tile' : 'row';\n listItem.setAttribute('variant', listItemVariant);\n });\n }\n\n init() {\n super.init?.();\n\n // we want new items to get the size\n observeChildren(this, () => {\n this.#handleEmptyState();\n this.#handleItemsVariant();\n this.#handleReadOnly();\n });\n }\n\n get isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n #handleReadOnly() {\n this.items.forEach((item) => {\n if (this.isReadOnly) item.setAttribute('inert', '');\n else item.removeAttribute('inert');\n });\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n if (newValue === oldValue) return;\n\n if (name === 'variant') {\n this.#handleItemsVariant();\n } else if (name === 'readonly') {\n this.#handleReadOnly();\n }\n }\n}\n\nexport const ListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n maxHeight: { selector: () => ':host' },\n minHeight: {},\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontFamily: {},\n gap: {},\n\n backgroundColor: {},\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n boxShadow: {},\n gridTemplateColumns: {},\n maxItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'max-width' },\n minItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'min-width' },\n itemsHorizontalAlign: { selector: () => '::slotted(*)', property: 'justify-self' },\n emptyStateTextColor: { selector: () => 'slot[name=\"empty-state\"]', property: 'color' },\n emptyStateTextFontFamily: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'font-family',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawList);\n","import { componentName as listComponentName, ListClass } from './ListClass';\nimport { componentName as listItemComponentName, ListItemClass } from './ListItemClass';\n\ncustomElements.define(listComponentName, ListClass);\ncustomElements.define(listItemComponentName, ListItemClass);\n\nexport { ListClass, listComponentName as componentName };\n"],"names":["componentName","ListItemClass","mappings","padding","backgroundColor","borderColor","borderStyle","borderWidth","borderRadius","outline","cursor","gap","maxWidth","selector","alignItems","flexDirection","transition","superclass","constructor","super","this","attachShadow","mode","innerHTML","init","baseElement","addEventListener","e","preventDefault","setAttribute","window","removeAttribute","once","createBaseClass","baseSelector","RawList","observedAttributes","items","shadowRoot","querySelector","assignedElements","length","variant","getAttribute","forEach","item","listItem","localName","listItemVariant","isReadOnly","attributeChangedCallback","name","oldValue","newValue","ListClass","hostWidth","property","maxHeight","minHeight","verticalPadding","horizontalPadding","hostDirection","fontFamily","boxShadow","gridTemplateColumns","maxItemsWidth","minItemsWidth","itemsHorizontalAlign","emptyStateTextColor","emptyStateTextFontFamily","customElements","define"],"sourceRoot":""}
|