@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
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[1837,2141,7079],{25827:(t,e,n)=>{n.d(e,{y:()=>s});var i=n(7138),r=n(94619),o=n(70263);const s=(...t)=>(0,i.Zz)(r.XX,r._$,r.yF,r.jd)((0,o.q)(...t))},5883:(t,e,n)=>{n.d(e,{$W:()=>p,S$:()=>u,_Z:()=>o});var i=n(14944),r=n(33177);const o=t=>class extends t{#t=({value:t,label:e})=>`<descope-button-selection-group-item value="${t}">${e}</descope-button-selection-group-item>`;#e;get renderItem(){return this.#t}set renderItem(t){this.#t=t,this.renderItems()}get size(){return this.inputElement?.size}get data(){if(this.#e)return this.#e;const t=this.getAttribute("data");if(t)try{const e=JSON.parse(t);if(this.isValidDataType(e))return e}catch(t){console.error('could not parse data string from attribute "data" - ',t.message)}return[]}set data(t){this.isValidDataType(t)&&(this.#e=t,this.renderItems())}isValidDataType(t){const e=Array.isArray(t);return e||console.error("data must be an array, received:",t),e}getItemsTemplate(){return this.data?.reduce?.(((t,e)=>t+(this.renderItem?.(e||{})||"")),"")}renderItems(){const t=this.getItemsTemplate();t&&(this.innerHTML=t)}init(){super.init?.(),this.renderItems(),(0,i.mx)(this,this.renderItems.bind(this),{includeAttrs:["data"]}),(0,i.Ge)(this,(({addedNodes:t})=>{t.forEach((t=>{t.setAttribute("size",this.size)}))}))}},{host:s,label:a,requiredIndicator:l,internalWrapper:d,errorMessage:c}={host:{selector:()=>":host"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},internalWrapper:{selector:()=>':host [part="internal-component"] slot'},errorMessage:{selector:"::part(error-message)"}},p={hostWidth:{...s,property:"width"},hostDirection:{...s,property:"direction"},fontFamily:s,labelTextColor:[{...a,property:"color"},{...l,property:"color"}],labelRequiredIndicator:{...l,property:"content"},errorMessageTextColor:{...c,property:"color"},errorMessageIcon:{...c,property:"background-image"},errorMessageIconSize:{...c,property:"background-size"},errorMessageIconPadding:{...c,property:"padding-inline-start"},errorMessageIconRepeat:{...c,property:"background-repeat"},errorMessageIconPosition:{...c,property:"background-position"},itemsSpacing:{...d,property:"gap"}},u=`\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t\t${(0,r.X6)()}\n\t\t\t:host::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\t\t\t:host::part(input-field)::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\n [part="internal-component"] {\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n display: inline-block;\n\t\t\t\tmin-height: initial;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tpadding: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t}\n\n\t\t\tvaadin-text-field {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%\n\t\t\t}\n\n\t\t\tvaadin-text-field::before {\n\t\t\t\theight: 0;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\t\t\tborder: 0 solid;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n ${(0,r.$J)("vaadin-text-field")}\n\t\t\t${(0,r.I4)("vaadin-text-field")}\n `},58920:(t,e,n)=>{n.d(e,{m:()=>s});var i=n(25827),r=n(14944),o=n(83929);const s=t=>{class e extends((0,i.y)({componentName:t,baseSelector:"slot"})){constructor(){super(),this.innerHTML='\n <style>\n slot {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n }\n </style>\n <slot part="wrapper"></slot>\n '}dispatchChange=o.r.bind(this,"change");get items(){return this.querySelector("slot").assignedElements()}get isReadonly(){return"true"===this.getAttribute("readonly")}get size(){return this.getAttribute("size")||"md"}get value(){console.warn("get value","is not implemented")}set value(t){console.warn("set value","is not implemented")}onSizeChange(){this.items.forEach((t=>{t.setAttribute("size",this.size)}))}onReadOnlyChange(){this.querySelector("slot").toggleAttribute("inert",this.isReadonly)}getValidity(){console.warn("getValidity","is not implemented")}onObservedAttributeChange(t){t.forEach((t=>{switch(t){case"size":this.onSizeChange();break;case"readonly":this.onReadOnlyChange()}}))}init(){this.addEventListener("focus",(t=>{t.isTrusted&&this.items[0]?.focus()})),super.init?.(),(0,r.mx)(this,this.onObservedAttributeChange.bind(this),{includeAttrs:["size","readonly"]})}}return e}},10853:(t,e,n)=>{n.d(e,{T:()=>o,n:()=>s});var i=n(14944),r=n(58920);const o=(0,i.xE)("button-selection-group-internal");class s extends((0,r.m)(o)){getSelectedNode(){return this.items.find((t=>t.hasAttribute("selected")))}get allowDeselect(){return"true"===this.getAttribute("allow-deselect")}removeSelected(){this.getSelectedNode()?.removeAttribute("selected")}onClick(t){t.target!==t.currentTarget&&(t.target===this.getSelectedNode()&&this.allowDeselect?this.removeSelected():this.setSelected(t.target),this.dispatchChange())}setSelected(t){t!==this.getSelectedNode()&&(this.removeSelected(),t?.setAttribute("selected","true"))}get defaultValue(){return this.getAttribute("default-value")}setDefaultValue(){setTimeout((()=>{this.defaultValue&&(this.value=this.defaultValue,this.setCustomValidity())}))}get value(){return this.getSelectedNode()?.value||""}set value(t){const e=this.items.find((e=>e.value===t));this.setSelected(e)}getValidity(){return this.isRequired&&!this.value?{valueMissing:!0}:{}}init(){super.init(),this.setDefaultValue(),this.querySelector("slot").addEventListener("click",this.onClick.bind(this))}}},19509:(t,e,n)=>{n.r(e),n.d(e,{ButtonSelectionGroupInternalClass:()=>i.n});var i=n(10853);customElements.define(i.T,i.n)},42426:(t,e,n)=>{n.r(e),n.d(e,{ButtonSelectionGroupItemClass:()=>c});var i=n(94619),r=n(70263),o=n(7138),s=n(14944),a=n(83942);const l=(0,s.xE)("button-selection-group-item");class d extends((0,r.q)({componentName:l,baseSelector:":host > descope-button"})){get size(){return this.getAttribute("size")||"md"}get variant(){return this.getAttribute("variant")||"contained"}get value(){return this.getAttribute("value")||""}set value(t){this.setAttribute("value",t)}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=`\n\t\t<style>\n descope-button {\n max-width: 100%;\n }\n\t\t\tdescope-button > slot {\n\t\t\t\twidth: 100%;\n\t\t\t\toverflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n max-width: 100%\n\t\t\t}\n\t\t</style>\n <descope-button variant="${this.variant}" size="${this.size}" mode="primary">\n <slot></slot>\n </descope-button>\n\t`,(0,s.EA)(this,this.baseElement,{includeAttrs:["size","variant"]}),(0,s.EA)(this.baseElement,this,{includeAttrs:["focused","active"]})}handleFocus(){this.shadowRoot.querySelector("descope-button")?.focus()}focus(){this.handleFocus()}init(){super.init(),this.addEventListener("focus",(t=>{t.isTrusted&&this.handleFocus()}))}}const c=(0,o.Zz)((0,i.RF)({mappings:{hostDirection:{selector:()=>a.J.componentName,property:a.J.cssVarList.hostDirection},backgroundColor:{selector:()=>a.J.componentName,property:a.J.cssVarList.backgroundColor},labelTextColor:{selector:()=>a.J.componentName,property:a.J.cssVarList.labelTextColor},borderColor:{selector:()=>a.J.componentName,property:a.J.cssVarList.borderColor},borderWidth:{selector:()=>a.J.componentName,property:a.J.cssVarList.borderWidth},borderStyle:{selector:()=>a.J.componentName,property:a.J.cssVarList.borderStyle},borderRadius:{selector:()=>a.J.componentName,property:a.J.cssVarList.borderRadius},outlineColor:{selector:()=>a.J.componentName,property:a.J.cssVarList.outlineColor}}}),i.VO,i.tQ)(d);n(1058),customElements.define(l,c)},7815:(t,e,n)=>{n.r(e),n.d(e,{ButtonSelectionGroupClass:()=>d,componentName:()=>l});var i=n(94619),r=n(10853),o=n(7138),s=n(14944),a=n(5883);const l=(0,s.xE)("button-selection-group"),d=(0,o.Zz)((0,i.RF)({mappings:{...a.$W}}),i.VO,(0,i.OZ)({proxyProps:["value","selectionStart"]}),i.tQ,a._Z,(t=>class extends t{init(){super.init?.();const t=document.createElement("template");t.innerHTML=`\n <${r.T}\n \tname="button-selection-group"\n \tslot="input"\n tabindex="-1"\n part="internal-component"\n >\n <slot></slot>\n </${r.T}>\n `,this.baseElement.appendChild(t.content.cloneNode(!0)),this.inputElement=this.shadowRoot.querySelector(r.T),(0,s.EA)(this,this.inputElement,{includeAttrs:["size","default-value","allow-deselect"]})}}))((0,i.tz)({slots:[],wrappedEleName:"vaadin-text-field",style:()=>a.S$,excludeAttrsSync:["tabindex"],componentName:l}));n(19509),n(42426),customElements.define(l,d)},83942:(t,e,n)=>{n.d(e,{J:()=>h,T:()=>l});var i=n(7138),r=n(14944),o=n(94619),s=n(55708),a=n(91805);const l=(0,r.xE)("button"),{host:d,label:c,slottedIcon:p}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let u;const h=(0,i.Zz)((0,o.RF)({mappings:{hostWidth:{property:"width"},hostHeight:{property:"height"},hostDirection:{...d,property:"direction"},fontSize:{},fontFamily:{},cursor:{},backgroundColor:{},outlineOffset:{},outlineColor:{},outlineStyle:{},outlineWidth:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-right",fallback:"0.875em"},{property:"padding-left",fallback:"0.875em"}],labelTextColor:{property:"color"},iconColor:{selector:()=>"::slotted(*)",property:s.S.cssVarList.fill},labelTextDecoration:{...c,property:"text-decoration"},labelSpacing:{...c,property:"gap"},textAlign:{...c,property:"justify-content",fallback:"center"},iconSize:[{...p,property:"width"},{...p,property:"height"}]}}),a.G,o.VO,o.tQ)((0,o.tz)({slots:["","prefix","label","suffix"],wrappedEleName:"vaadin-button",style:()=>`\n\t\t\t\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n\n\t\t\t\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t\t\t${u}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${h.cssVarList.outlineWidth}) + var(${h.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${h.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${h.cssVarList.hostHeight}) - var(${h.cssVarList.outlineWidth}) - var(${h.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${h.cssVarList.hostWidth}) - var(${h.cssVarList.outlineWidth}) - var(${h.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex"],componentName:l})),{color:b,fontSize:g}=h.cssVarList;u=`\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading="true"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${b});\n\t\ttop: calc(50% - (var(${g}) / 2));\n\t\tleft: calc(50% - (var(${g}) / 2));\n\t\tborder-width: calc(var(${g}) / 10);\n\t\twidth: var(${g});\n\t\theight: var(${g});\n\t}\n\t:host([disabled="true"]),\n\t:host([loading="true"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading="true"])::part(prefix),\n\t:host([loading="true"])::part(label) {\n\t\tvisibility: hidden;\n\t}\n`},91805:(t,e,n)=>{n.d(e,{G:()=>i});const i=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},1058:(t,e,n)=>{n.r(e),n.d(e,{ButtonClass:()=>i.J,componentName:()=>i.T}),n(55093);var i=n(83942);customElements.define(i.T,i.J)},55708:(t,e,n)=>{n.d(e,{S:()=>c,T:()=>l});var i=n(94619),r=n(70263),o=n(7138),s=n(14944),a=n(13390);const l=(0,s.xE)("icon");class d extends((0,r.q)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return["src"]}#n;constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<style>\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\t\t</style>\n\t\t<slot></slot>\n\t"}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(${c.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)}))}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),e!==n&&"src"===t&&(this.toggleVisibility(n),(0,a.w)(this.src).then((t=>{if(this.innerHTML="",t){const e=t.cloneNode(!0);this.updateFillColor(e),this.appendChild(e)}})))}}const c=(0,o.Zz)((0,i.RF)({mappings:{fill:{}}}),i.VO,i.tQ)(d)},13390:(t,e,n)=>{n.d(e,{w:()=>o});var i=n(25414);const r=t=>{const e=i.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0}});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},o=async t=>{try{let e;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const n=atob(t.slice(26));e=r(n)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const n=await fetch(t),i=await n.text();e=r(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}}},33177:(t,e,n)=>{n.d(e,{$J:()=>u,I4:()=>s,Kl:()=>h,LJ:()=>p,Qv:()=>o,X6:()=>l,cy:()=>i,fu:()=>d,kG:()=>c,lS:()=>a,zm:()=>r});const i=t=>`\n :host {\n padding: calc(var(${t.inputOutlineWidth}) + var(${t.inputOutlineOffset}))\n }\n`,r=t=>`\n ${t} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`,o=t=>`\n ${t}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`,s=t=>`\n ${t} > label,\n ${t}::part(label),\n ${t}::part(required-indicator) {\n cursor: pointer;\n }\n`,a=(t,e="input")=>`\n ${t}[disabled] > ${e}:placeholder-shown,\n\t${t}[readonly] > ${e}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`,l=()=>"\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n",d=t=>`\n ${t}::part(input-field)::after {\n opacity: 0;\n }\n`,c=t=>`\n ${t}::part(input-field)::after {\n background: none;\n }\n`,p=(t,e)=>`\n ${r(t)}\n ${s(t)}\n ${a(t)}\n ${o(t)}\n ${((t,e)=>`\n ${t} input:-webkit-autofill,\n ${t} input:-webkit-autofill::first-line,\n ${t} input:-webkit-autofill:hover,\n ${t} input:-webkit-autofill:active,\n ${t} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${e.inputValueTextColor});\n box-shadow: 0 0 0 var(${e.inputHeight}) var(${e.inputBackgroundColor}) inset;\n }\n`)(t,e)}\n ${c(t)}\n ${(t=>`\n ${t}::before {\n\t\theight: unset;\n\t}\n`)(t)}\n ${(t=>`\n ${t} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`)(t)}\n ${(t=>`\n ${t}::part(input-field)::after {\n border: none;\n }\n`)(t)}\n`,u=t=>`\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 ${t} [slot="label"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`,h=()=>'\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 '}}]);
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[1837,2141,7079],{3393:(t,e,n)=>{n.d(e,{y:()=>s});var i=n(9696),r=n(79365),o=n(81365);const s=(...t)=>(0,i.Zz)(r.XX,r._$,r.yF,r.jd)((0,o.q)(...t))},80001:(t,e,n)=>{n.d(e,{$W:()=>p,S$:()=>u,_Z:()=>o});var i=n(97810),r=n(73551);const o=t=>class extends t{#t=({value:t,label:e})=>`<descope-button-selection-group-item value="${t}">${e}</descope-button-selection-group-item>`;#e;get renderItem(){return this.#t}set renderItem(t){this.#t=t,this.renderItems()}get size(){return this.inputElement?.size}get data(){if(this.#e)return this.#e;const t=this.getAttribute("data");if(t)try{const e=JSON.parse(t);if(this.isValidDataType(e))return e}catch(t){console.error('could not parse data string from attribute "data" - ',t.message)}return[]}set data(t){this.isValidDataType(t)&&(this.#e=t,this.renderItems())}isValidDataType(t){const e=Array.isArray(t);return e||console.error("data must be an array, received:",t),e}getItemsTemplate(){return this.data?.reduce?.(((t,e)=>t+(this.renderItem?.(e||{})||"")),"")}renderItems(){const t=this.getItemsTemplate();t&&(this.innerHTML=t)}init(){super.init?.(),this.renderItems(),(0,i.mx)(this,this.renderItems.bind(this),{includeAttrs:["data"]}),(0,i.Ge)(this,(({addedNodes:t})=>{t.forEach((t=>{t.setAttribute("size",this.size)}))}))}},{host:s,label:a,requiredIndicator:l,internalWrapper:d,errorMessage:c}={host:{selector:()=>":host"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},internalWrapper:{selector:()=>':host [part="internal-component"] slot'},errorMessage:{selector:"::part(error-message)"}},p={hostWidth:{...s,property:"width"},hostDirection:{...s,property:"direction"},fontFamily:s,labelTextColor:[{...a,property:"color"},{...l,property:"color"}],labelRequiredIndicator:{...l,property:"content"},errorMessageTextColor:{...c,property:"color"},errorMessageIcon:{...c,property:"background-image"},errorMessageIconSize:{...c,property:"background-size"},errorMessageIconPadding:{...c,property:"padding-inline-start"},errorMessageIconRepeat:{...c,property:"background-repeat"},errorMessageIconPosition:{...c,property:"background-position"},itemsSpacing:{...d,property:"gap"}},u=`\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t\t${(0,r.X6)()}\n\t\t\t:host::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\t\t\t:host::part(input-field)::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\n [part="internal-component"] {\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n display: inline-block;\n\t\t\t\tmin-height: initial;\n\t\t\t}\n\n [part="internal-component"] slot {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tpadding: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t}\n\n\t\t\tvaadin-text-field {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%\n\t\t\t}\n\n\t\t\tvaadin-text-field::before {\n\t\t\t\theight: 0;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\t\t\tborder: 0 solid;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n ${(0,r.$J)("vaadin-text-field")}\n\t\t\t${(0,r.I4)("vaadin-text-field")}\n `},51298:(t,e,n)=>{n.d(e,{m:()=>s}),n(25964);var i=n(3393),r=n(97810),o=n(13011);const s=t=>{class e extends((0,i.y)({componentName:t,baseSelector:"slot"})){constructor(){super(),this.innerHTML='\n <slot part="wrapper"></slot>\n '}dispatchChange=o.r.bind(this,"change");get items(){return this.querySelector("slot").assignedElements()}get isReadonly(){return"true"===this.getAttribute("readonly")}get size(){return this.getAttribute("size")||"md"}get value(){console.warn("get value","is not implemented")}set value(t){console.warn("set value","is not implemented")}onSizeChange(){this.items.forEach((t=>{t.setAttribute("size",this.size)}))}onReadOnlyChange(){this.querySelector("slot").toggleAttribute("inert",this.isReadonly)}getValidity(){console.warn("getValidity","is not implemented")}onObservedAttributeChange(t){t.forEach((t=>{switch(t){case"size":this.onSizeChange();break;case"readonly":this.onReadOnlyChange()}}))}init(){this.addEventListener("focus",(t=>{t.isTrusted&&this.items[0]?.focus()})),super.init?.(),(0,r.mx)(this,this.onObservedAttributeChange.bind(this),{includeAttrs:["size","readonly"]})}}return e}},92491:(t,e,n)=>{n.d(e,{T:()=>o,n:()=>s});var i=n(97810),r=n(51298);const o=(0,i.xE)("button-selection-group-internal");class s extends((0,r.m)(o)){getSelectedNode(){return this.items.find((t=>t.hasAttribute("selected")))}get allowDeselect(){return"true"===this.getAttribute("allow-deselect")}removeSelected(){this.getSelectedNode()?.removeAttribute("selected")}onClick(t){t.target!==t.currentTarget&&(t.target===this.getSelectedNode()&&this.allowDeselect?this.removeSelected():this.setSelected(t.target),this.dispatchChange())}setSelected(t){t!==this.getSelectedNode()&&(this.removeSelected(),t?.setAttribute("selected","true"))}get defaultValue(){return this.getAttribute("default-value")}setDefaultValue(){setTimeout((()=>{this.defaultValue&&(this.value=this.defaultValue,this.setCustomValidity())}))}get value(){return this.getSelectedNode()?.value||""}set value(t){const e=this.items.find((e=>e.value===t));this.setSelected(e)}getValidity(){return this.isRequired&&!this.value?{valueMissing:!0}:{}}init(){super.init(),this.setDefaultValue(),this.querySelector("slot").addEventListener("click",this.onClick.bind(this))}}},72415:(t,e,n)=>{n.r(e),n.d(e,{ButtonSelectionGroupInternalClass:()=>i.n});var i=n(92491);customElements.define(i.T,i.n)},15450:(t,e,n)=>{n.r(e),n.d(e,{ButtonSelectionGroupItemClass:()=>p});var i=n(79365),r=n(81365),o=n(9696),s=n(97810),a=n(88068),l=n(25964);const d=(0,s.xE)("button-selection-group-item");class c extends((0,r.q)({componentName:d,baseSelector:":host > descope-button"})){get size(){return this.getAttribute("size")||"md"}get variant(){return this.getAttribute("variant")||"contained"}get value(){return this.getAttribute("value")||""}set value(t){this.setAttribute("value",t)}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=`\n <descope-button variant="${this.variant}" size="${this.size}" mode="primary">\n <slot></slot>\n </descope-button>\n\t`,(0,l.fz)("\n descope-button {\n max-width: 100%;\n }\n\t\t\tdescope-button > slot {\n\t\t\t\twidth: 100%;\n\t\t\t\toverflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n max-width: 100%\n\t\t\t}\n ",this),(0,s.EA)(this,this.baseElement,{includeAttrs:["size","variant"]}),(0,s.EA)(this.baseElement,this,{includeAttrs:["focused","active"]})}handleFocus(){this.shadowRoot.querySelector("descope-button")?.focus()}focus(){this.handleFocus()}init(){super.init(),this.addEventListener("focus",(t=>{t.isTrusted&&this.handleFocus()}))}}const p=(0,o.Zz)((0,i.RF)({mappings:{hostDirection:{selector:()=>a.J.componentName,property:a.J.cssVarList.hostDirection},backgroundColor:{selector:()=>a.J.componentName,property:a.J.cssVarList.backgroundColor},labelTextColor:{selector:()=>a.J.componentName,property:a.J.cssVarList.labelTextColor},borderColor:{selector:()=>a.J.componentName,property:a.J.cssVarList.borderColor},borderWidth:{selector:()=>a.J.componentName,property:a.J.cssVarList.borderWidth},borderStyle:{selector:()=>a.J.componentName,property:a.J.cssVarList.borderStyle},borderRadius:{selector:()=>a.J.componentName,property:a.J.cssVarList.borderRadius},outlineColor:{selector:()=>a.J.componentName,property:a.J.cssVarList.outlineColor}}}),i.VO,i.tQ)(c);n(85076),customElements.define(d,p)},27926:(t,e,n)=>{n.r(e),n.d(e,{ButtonSelectionGroupClass:()=>d,componentName:()=>l});var i=n(79365),r=n(92491),o=n(9696),s=n(97810),a=n(80001);const l=(0,s.xE)("button-selection-group"),d=(0,o.Zz)((0,i.RF)({mappings:{...a.$W}}),i.VO,(0,i.OZ)({proxyProps:["value","selectionStart"]}),i.tQ,a._Z,(t=>class extends t{init(){super.init?.();const t=document.createElement("template");t.innerHTML=`\n <${r.T}\n \tname="button-selection-group"\n \tslot="input"\n tabindex="-1"\n part="internal-component"\n >\n <slot></slot>\n </${r.T}>\n `,this.baseElement.appendChild(t.content.cloneNode(!0)),this.inputElement=this.shadowRoot.querySelector(r.T),(0,s.EA)(this,this.inputElement,{includeAttrs:["size","default-value","allow-deselect"]})}}))((0,i.tz)({slots:[],wrappedEleName:"vaadin-text-field",style:()=>a.S$,excludeAttrsSync:["tabindex"],componentName:l}));n(72415),n(15450),customElements.define(l,d)},88068:(t,e,n)=>{n.d(e,{J:()=>h,T:()=>l});var i=n(9696),r=n(97810),o=n(79365),s=n(20618),a=n(12011);const l=(0,r.xE)("button"),{host:d,label:c,slottedIcon:p}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let u;const h=(0,i.Zz)((0,o.RF)({mappings:{hostWidth:{property:"width"},hostHeight:{property:"height"},hostDirection:{...d,property:"direction"},fontSize:{},fontFamily:{},cursor:{},backgroundColor:{},outlineOffset:{},outlineColor:{},outlineStyle:{},outlineWidth:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-right",fallback:"0.875em"},{property:"padding-left",fallback:"0.875em"}],labelTextColor:{property:"color"},iconColor:{selector:()=>"::slotted(*)",property:s.S.cssVarList.fill},labelTextDecoration:{...c,property:"text-decoration"},labelSpacing:{...c,property:"gap"},textAlign:{...c,property:"justify-content",fallback:"center"},iconSize:[{...p,property:"width"},{...p,property:"height"}]}}),a.G,o.VO,o.tQ)((0,o.tz)({slots:["","prefix","label","suffix"],wrappedEleName:"vaadin-button",style:()=>`\n\t\t\t\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n\n\t\t\t\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t\t\t${u}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${h.cssVarList.outlineWidth}) + var(${h.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${h.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${h.cssVarList.hostHeight}) - var(${h.cssVarList.outlineWidth}) - var(${h.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${h.cssVarList.hostWidth}) - var(${h.cssVarList.outlineWidth}) - var(${h.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex"],componentName:l})),{color:b,fontSize:g}=h.cssVarList;u=`\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading="true"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${b});\n\t\ttop: calc(50% - (var(${g}) / 2));\n\t\tleft: calc(50% - (var(${g}) / 2));\n\t\tborder-width: calc(var(${g}) / 10);\n\t\twidth: var(${g});\n\t\theight: var(${g});\n\t}\n\t:host([disabled="true"]),\n\t:host([loading="true"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading="true"])::part(prefix),\n\t:host([loading="true"])::part(label) {\n\t\tvisibility: hidden;\n\t}\n`},12011:(t,e,n)=>{n.d(e,{G:()=>i});const i=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},85076:(t,e,n)=>{n.r(e),n.d(e,{ButtonClass:()=>i.J,componentName:()=>i.T}),n(83799);var i=n(88068);customElements.define(i.T,i.J)},20618:(t,e,n)=>{n.d(e,{S:()=>p,T:()=>d});var i=n(79365),r=n(81365),o=n(9696),s=n(97810),a=n(28796),l=n(25964);const d=(0,s.xE)("icon");class c extends((0,r.q)({componentName:d,baseSelector:"slot"})){static get observedAttributes(){return["src"]}#n;constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,l.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(${p.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)}))}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),e!==n&&"src"===t&&(this.toggleVisibility(n),(0,a.w)(this.src).then((t=>{if(this.innerHTML="",t){const e=t.cloneNode(!0);this.updateFillColor(e),this.appendChild(e)}})))}}const p=(0,o.Zz)((0,i.RF)({mappings:{fill:{}}}),i.VO,i.tQ)(c)},28796:(t,e,n)=>{n.d(e,{w:()=>o});var i=n(25414);const r=t=>{const e=i.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0}});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},o=async t=>{try{let e;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const n=atob(t.slice(26));e=r(n)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const n=await fetch(t),i=await n.text();e=r(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}}},73551:(t,e,n)=>{n.d(e,{$J:()=>u,I4:()=>s,Kl:()=>h,LJ:()=>p,Qv:()=>o,X6:()=>l,cy:()=>i,fu:()=>d,kG:()=>c,lS:()=>a,zm:()=>r});const i=t=>`\n :host {\n padding: calc(var(${t.inputOutlineWidth}) + var(${t.inputOutlineOffset}))\n }\n`,r=t=>`\n ${t} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`,o=t=>`\n ${t}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`,s=t=>`\n ${t} > label,\n ${t}::part(label),\n ${t}::part(required-indicator) {\n cursor: pointer;\n }\n`,a=(t,e="input")=>`\n ${t}[disabled] > ${e}:placeholder-shown,\n\t${t}[readonly] > ${e}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`,l=()=>"\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n",d=t=>`\n ${t}::part(input-field)::after {\n opacity: 0;\n }\n`,c=t=>`\n ${t}::part(input-field)::after {\n background: none;\n }\n`,p=(t,e)=>`\n ${r(t)}\n ${s(t)}\n ${a(t)}\n ${o(t)}\n ${((t,e)=>`\n ${t} input:-webkit-autofill,\n ${t} input:-webkit-autofill::first-line,\n ${t} input:-webkit-autofill:hover,\n ${t} input:-webkit-autofill:active,\n ${t} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${e.inputValueTextColor});\n box-shadow: 0 0 0 var(${e.inputHeight}) var(${e.inputBackgroundColor}) inset;\n }\n`)(t,e)}\n ${c(t)}\n ${(t=>`\n ${t}::before {\n\t\theight: unset;\n\t}\n`)(t)}\n ${(t=>`\n ${t} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`)(t)}\n ${(t=>`\n ${t}::part(input-field)::after {\n border: none;\n }\n`)(t)}\n`,u=t=>`\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 ${t} [slot="label"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`,h=()=>'\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 '}}]);
|
2
|
+
//# sourceMappingURL=button-selection-group-fields-descope-button-selection-group-index-js.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"button-selection-group-fields-descope-button-selection-group-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/button-selection-group-fields/baseButtonSelectionGroup.js","webpack://@descope/web-components-ui/./src/components/button-selection-group-fields/createBaseButtonSelectionGroupInternalClass.js","webpack://@descope/web-components-ui/./src/components/button-selection-group-fields/descope-button-selection-group-internal/ButtonSelectionGroupInternalClass.js","webpack://@descope/web-components-ui/./src/components/button-selection-group-fields/descope-button-selection-group-internal/index.js","webpack://@descope/web-components-ui/./src/components/button-selection-group-fields/descope-button-selection-group-item/ButtonSelectionGroupItemClass.js","webpack://@descope/web-components-ui/./src/components/button-selection-group-fields/descope-button-selection-group-item/index.js","webpack://@descope/web-components-ui/./src/components/button-selection-group-fields/descope-button-selection-group/ButtonSelectionGroupClass.js","webpack://@descope/web-components-ui/./src/components/button-selection-group-fields/descope-button-selection-group/index.js","webpack://@descope/web-components-ui/./src/components/descope-button/ButtonClass.js","webpack://@descope/web-components-ui/./src/components/descope-button/clickableMixin.js","webpack://@descope/web-components-ui/./src/components/descope-button/index.js","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/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 { observeAttributes, observeChildren } from '../../helpers/componentHelpers';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n resetInputFieldDefaultWidth,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const buttonSelectionGroupBaseMixin = (superclass) =>\n class ButtonSelectionGroupMixinClass extends superclass {\n // eslint-disable-next-line class-methods-use-this\n #renderItem = ({ value, label }) =>\n `<descope-button-selection-group-item value=\"${value}\">${label}</descope-button-selection-group-item>`;\n\n #data;\n\n get renderItem() {\n return this.#renderItem;\n }\n\n set renderItem(renderFn) {\n this.#renderItem = renderFn;\n this.renderItems();\n }\n\n get size() {\n return this.inputElement?.size;\n }\n\n get data() {\n if (this.#data) return this.#data;\n\n const dataAttr = this.getAttribute('data');\n\n if (dataAttr) {\n try {\n const data = JSON.parse(dataAttr);\n if (this.isValidDataType(data)) {\n return data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"data\" - ', e.message);\n }\n }\n\n return [];\n }\n\n set data(data) {\n if (this.isValidDataType(data)) {\n this.#data = data;\n this.renderItems();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n 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\n getItemsTemplate() {\n return this.data?.reduce?.((acc, item) => acc + (this.renderItem?.(item || {}) || ''), '');\n }\n\n renderItems() {\n const template = this.getItemsTemplate();\n if (template) this.innerHTML = template;\n }\n\n init() {\n super.init?.();\n\n this.renderItems();\n\n observeAttributes(this, this.renderItems.bind(this), { includeAttrs: ['data'] });\n\n // we want new items to get the size\n observeChildren(this, ({ addedNodes }) => {\n addedNodes.forEach((node) => {\n node.setAttribute('size', this.size);\n });\n });\n }\n };\n\nconst { host, label, requiredIndicator, internalWrapper, errorMessage } = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n internalWrapper: { selector: () => ':host [part=\"internal-component\"] slot' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const buttonSelectionGroupMappings = {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontFamily: host,\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\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 itemsSpacing: { ...internalWrapper, property: 'gap' },\n};\n\nexport const buttonSelectionGroupStyles = `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t\t${resetInputFieldDefaultWidth()}\n\t\t\t:host::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\t\t\t:host::part(input-field)::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\n [part=\"internal-component\"] {\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n display: inline-block;\n\t\t\t\tmin-height: initial;\n\t\t\t}\n\n [part=\"internal-component\"] slot {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tpadding: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t}\n\n\t\t\tvaadin-text-field {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%\n\t\t\t}\n\n\t\t\tvaadin-text-field::before {\n\t\t\t\theight: 0;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\t\t\tborder: 0 solid;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t\t${resetInputCursor('vaadin-text-field')}\n `;\n","import { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseInputClass } from '../../baseClasses/createBaseInputClass';\nimport { observeAttributes } from '../../helpers/componentHelpers';\nimport { createDispatchEvent } from '../../helpers/mixinsHelpers';\n\nexport const createBaseButtonSelectionGroupInternalClass = (componentName) => {\n class BaseButtonSelectionGroupInternalClass extends createBaseInputClass({\n componentName,\n baseSelector: 'slot',\n }) {\n constructor() {\n super();\n\n this.innerHTML = `\n <slot part=\"wrapper\"></slot>\n `;\n }\n\n dispatchChange = createDispatchEvent.bind(this, 'change');\n\n get items() {\n return this.querySelector('slot').assignedElements();\n }\n\n get isReadonly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n get size() {\n return this.getAttribute('size') || 'md';\n }\n\n // eslint-disable-next-line getter-return, class-methods-use-this\n get value() {\n // eslint-disable-next-line no-console\n console.warn('get value', 'is not implemented');\n }\n\n // eslint-disable-next-line class-methods-use-this\n set value(value) {\n // eslint-disable-next-line no-console\n console.warn('set value', 'is not implemented');\n }\n\n onSizeChange() {\n this.items.forEach((item) => {\n item.setAttribute('size', this.size);\n });\n }\n\n onReadOnlyChange() {\n this.querySelector('slot').toggleAttribute('inert', this.isReadonly);\n }\n\n // eslint-disable-next-line class-methods-use-this\n getValidity() {\n // eslint-disable-next-line no-console\n console.warn('getValidity', 'is not implemented');\n }\n\n onObservedAttributeChange(attrs) {\n attrs.forEach((attr) => {\n switch (attr) {\n case 'size':\n this.onSizeChange();\n break;\n case 'readonly':\n this.onReadOnlyChange();\n break;\n default:\n break;\n }\n });\n }\n\n init() {\n // we are adding listeners before calling to super because it's stopping the events\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n this.items[0]?.focus();\n }\n });\n\n super.init?.();\n\n observeAttributes(this, this.onObservedAttributeChange.bind(this), {\n includeAttrs: ['size', 'readonly'],\n });\n }\n }\n\n return BaseButtonSelectionGroupInternalClass;\n};\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { createBaseButtonSelectionGroupInternalClass } from '../createBaseButtonSelectionGroupInternalClass';\n\nexport const componentName = getComponentName('button-selection-group-internal');\n\nexport class ButtonSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(\n componentName\n) {\n getSelectedNode() {\n return this.items.find((item) => item.hasAttribute('selected'));\n }\n\n get allowDeselect() {\n return this.getAttribute('allow-deselect') === 'true';\n }\n\n removeSelected() {\n this.getSelectedNode()?.removeAttribute('selected');\n }\n\n onClick(e) {\n if (e.target !== e.currentTarget) {\n if (e.target === this.getSelectedNode() && this.allowDeselect) {\n this.removeSelected();\n } else {\n this.setSelected(e.target);\n }\n this.dispatchChange();\n }\n }\n\n setSelected(node) {\n if (node !== this.getSelectedNode()) {\n this.removeSelected();\n node?.setAttribute('selected', 'true');\n }\n }\n\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n setDefaultValue() {\n // we want to defer this action until all attributes are synched\n setTimeout(() => {\n if (this.defaultValue) {\n this.value = this.defaultValue;\n this.setCustomValidity();\n }\n });\n }\n\n get value() {\n return this.getSelectedNode()?.value || '';\n }\n\n set value(value) {\n const node = this.items.find((child) => child.value === value);\n this.setSelected(node);\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n\n return {};\n }\n\n init() {\n super.init();\n\n this.setDefaultValue();\n\n this.querySelector('slot').addEventListener('click', this.onClick.bind(this));\n }\n}\n","import {\n componentName,\n ButtonSelectionGroupInternalClass,\n} from './ButtonSelectionGroupInternalClass';\n\ncustomElements.define(componentName, ButtonSelectionGroupInternalClass);\n\nexport { ButtonSelectionGroupInternalClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../../mixins';\nimport { createBaseClass } from '../../../baseClasses/createBaseClass';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport { ButtonClass } from '../../descope-button/ButtonClass';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('button-selection-group-item');\n\nclass RawSelectItem extends createBaseClass({\n componentName,\n baseSelector: ':host > descope-button',\n}) {\n get size() {\n return this.getAttribute('size') || 'md';\n }\n\n get variant() {\n return this.getAttribute('variant') || 'contained';\n }\n\n get value() {\n return this.getAttribute('value') || '';\n }\n\n set value(value) {\n this.setAttribute('value', value);\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <descope-button variant=\"${this.variant}\" size=\"${this.size}\" mode=\"primary\">\n <slot></slot>\n </descope-button>\n\t`;\n\n injectStyle(\n `\n descope-button {\n max-width: 100%;\n }\n\t\t\tdescope-button > slot {\n\t\t\t\twidth: 100%;\n\t\t\t\toverflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n max-width: 100%\n\t\t\t}\n `,\n this\n );\n\n forwardAttrs(this, this.baseElement, { includeAttrs: ['size', 'variant'] });\n forwardAttrs(this.baseElement, this, { includeAttrs: ['focused', 'active'] });\n }\n\n handleFocus() {\n this.shadowRoot.querySelector('descope-button')?.focus();\n }\n\n focus() {\n this.handleFocus();\n }\n\n init() {\n super.init();\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n this.handleFocus();\n }\n });\n }\n}\n\nexport const ButtonSelectionGroupItemClass = compose(\n createStyleMixin({\n mappings: {\n hostDirection: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.hostDirection,\n },\n backgroundColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.backgroundColor,\n },\n labelTextColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.labelTextColor,\n },\n borderColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderColor,\n },\n borderWidth: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderWidth,\n },\n borderStyle: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderStyle,\n },\n borderRadius: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderRadius,\n },\n outlineColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.outlineColor,\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawSelectItem);\n","import { componentName, ButtonSelectionGroupItemClass } from './ButtonSelectionGroupItemClass';\nimport '../../descope-button';\n\ncustomElements.define(componentName, ButtonSelectionGroupItemClass);\n\nexport { ButtonSelectionGroupItemClass };\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../../mixins';\nimport { componentName as descopeInternalComponentName } from '../descope-button-selection-group-internal/ButtonSelectionGroupInternalClass';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport {\n buttonSelectionGroupBaseMixin,\n buttonSelectionGroupMappings,\n buttonSelectionGroupStyles,\n} from '../baseButtonSelectionGroup';\n\nexport const componentName = getComponentName('button-selection-group');\n\nconst buttonSelectionGroupMixin = (superclass) =>\n class ButtonMultiSelectionGroupMixinClass extends superclass {\n init() {\n super.init?.();\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n \tname=\"button-selection-group\"\n \tslot=\"input\"\n tabindex=\"-1\"\n part=\"internal-component\"\n >\n <slot></slot>\n </${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: ['size', 'default-value', 'allow-deselect'],\n });\n }\n };\n\nexport const ButtonSelectionGroupClass = compose(\n createStyleMixin({\n mappings: {\n ...buttonSelectionGroupMappings,\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n buttonSelectionGroupBaseMixin,\n buttonSelectionGroupMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => buttonSelectionGroupStyles,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default ButtonSelectionGroupClass;\n","import { componentName, ButtonSelectionGroupClass } from './ButtonSelectionGroupClass';\nimport '../descope-button-selection-group-internal';\nimport '../descope-button-selection-group-item';\n\ncustomElements.define(componentName, ButtonSelectionGroupClass);\n\nexport { ButtonSelectionGroupClass, componentName };\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { IconClass } from '../descope-icon/IconClass';\nimport { clickableMixin } from './clickableMixin';\n\nexport const componentName = getComponentName('button');\n\nconst resetStyles = `\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n`;\n\nconst iconStyles = `\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n`;\n\nconst editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;\n\nconst { host, label, slottedIcon } = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n slottedIcon: { selector: () => '::slotted(descope-icon)' },\n};\n\nlet loadingIndicatorStyles;\n\nexport const ButtonClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { property: 'width' },\n hostHeight: { property: 'height' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n fontFamily: {},\n\n cursor: {},\n backgroundColor: {},\n\n outlineOffset: {},\n outlineColor: {},\n outlineStyle: {},\n outlineWidth: {},\n\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [\n { property: 'padding-right', fallback: '0.875em' },\n { property: 'padding-left', fallback: '0.875em' },\n ],\n\n labelTextColor: { property: 'color' },\n iconColor: {\n selector: () => `::slotted(*)`,\n property: IconClass.cssVarList.fill,\n },\n labelTextDecoration: { ...label, property: 'text-decoration' },\n labelSpacing: { ...label, property: 'gap' },\n textAlign: { ...label, property: 'justify-content', fallback: 'center' },\n\n iconSize: [\n { ...slottedIcon, property: 'width' },\n { ...slottedIcon, property: 'height' },\n ],\n },\n }),\n clickableMixin,\n draggableMixin,\n componentNameValidationMixin\n)(\n createProxy({\n slots: ['', 'prefix', 'label', 'suffix'],\n wrappedEleName: 'vaadin-button',\n style: () => `\n\t\t\t${resetStyles}\n\t\t\t${iconStyles}\n\t\t\t${loadingIndicatorStyles}\n\t\t\t${editorOverrides}\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${ButtonClass.cssVarList.outlineWidth}) + var(${ButtonClass.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width=\"true\"]) {\n width: var(${ButtonClass.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${ButtonClass.cssVarList.hostHeight}) - var(${ButtonClass.cssVarList.outlineWidth}) - var(${ButtonClass.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square=\"true\"]:not([full-width=\"true\"]) {\n\t\t\t\twidth: calc(var(${ButtonClass.cssVarList.hostWidth}) - var(${ButtonClass.cssVarList.outlineWidth}) - var(${ButtonClass.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nconst { color, fontSize } = ButtonClass.cssVarList;\nloadingIndicatorStyles = `\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading=\"true\"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${color});\n\t\ttop: calc(50% - (var(${fontSize}) / 2));\n\t\tleft: calc(50% - (var(${fontSize}) / 2));\n\t\tborder-width: calc(var(${fontSize}) / 10);\n\t\twidth: var(${fontSize});\n\t\theight: var(${fontSize});\n\t}\n\t:host([disabled=\"true\"]),\n\t:host([loading=\"true\"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading=\"true\"])::part(prefix),\n\t:host([loading=\"true\"])::part(label) {\n\t\tvisibility: hidden;\n\t}\n`;\n","export const clickableMixin = (superclass) =>\n class ClickableMixinClass extends superclass {\n get isLoading() {\n return this.getAttribute('loading') === 'true';\n }\n\n click() {\n this.isLoading || super.click();\n }\n };\n","import '@vaadin/button';\nimport { componentName, ButtonClass } from './ButtonClass';\n\ncustomElements.define(componentName, ButtonClass);\n\nexport { ButtonClass, componentName };\n","/* 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","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","buttonSelectionGroupBaseMixin","superclass","value","label","renderItem","this","renderFn","renderItems","size","inputElement","data","dataAttr","getAttribute","JSON","parse","isValidDataType","e","console","error","message","isValid","Array","isArray","getItemsTemplate","reduce","acc","item","template","innerHTML","init","super","bind","includeAttrs","addedNodes","forEach","node","setAttribute","host","requiredIndicator","internalWrapper","errorMessage","selector","buttonSelectionGroupMappings","hostWidth","property","hostDirection","fontFamily","labelTextColor","labelRequiredIndicator","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","itemsSpacing","buttonSelectionGroupStyles","createBaseButtonSelectionGroupInternalClass","componentName","BaseButtonSelectionGroupInternalClass","baseSelector","constructor","dispatchChange","items","querySelector","assignedElements","isReadonly","warn","onSizeChange","onReadOnlyChange","toggleAttribute","getValidity","onObservedAttributeChange","attrs","attr","addEventListener","isTrusted","focus","ButtonSelectionGroupInternalClass","getSelectedNode","find","hasAttribute","allowDeselect","removeSelected","removeAttribute","onClick","target","currentTarget","setSelected","defaultValue","setDefaultValue","setTimeout","setCustomValidity","child","isRequired","valueMissing","customElements","define","RawSelectItem","createBaseClass","variant","attachShadow","mode","baseElement","handleFocus","shadowRoot","ButtonSelectionGroupItemClass","mappings","ButtonClass","cssVarList","backgroundColor","borderColor","borderWidth","borderStyle","borderRadius","outlineColor","ButtonSelectionGroupClass","proxyProps","document","createElement","appendChild","content","cloneNode","slots","wrappedEleName","style","excludeAttrsSync","slottedIcon","loadingIndicatorStyles","hostHeight","fontSize","cursor","outlineOffset","outlineStyle","outlineWidth","verticalPadding","horizontalPadding","fallback","iconColor","fill","labelTextDecoration","labelSpacing","textAlign","iconSize","color","clickableMixin","isLoading","click","RawIcon","observedAttributes","toggleVisibility","src","isVisible","display","updateFillColor","querySelectorAll","ele","IconClass","attributeChangedCallback","attrName","oldValue","newValue","then","res","clonedNode","createSvgEle","text","clean","sanitize","USE_PROFILES","svg","svgFilters","DOMParser","parseFromString","createIcon","async","startsWith","isBase64Svg","svgXml","atob","slice","base64Prefix","path","match","getFileExtension","fetchedSrc","fetch","createImgEle","setProperty","useHostExternalPadding","inputOutlineWidth","inputOutlineOffset","resetInputContainer","name","resetInputField","resetInputCursor","resetInputPlaceholder","resetInputFieldDefaultWidth","resetInputReadonlyStyle","resetInputFieldInvalidBackgroundColor","resetInputOverrides","inputValueTextColor","inputHeight","inputBackgroundColor","resetInputAutoFill","resetInitialHeight","resetInputElement","resetInputFieldUnderlayingBorder","resetInputLabelPosition","inputFloatingLabelStyle"],"sourceRoot":""}
|
package/dist/umd/button-selection-group-fields-descope-button-selection-group-internal-index-js.js
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[7079],{
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[7079],{3393:(e,t,s)=>{s.d(t,{y:()=>r});var i=s(9696),n=s(79365),l=s(81365);const r=(...e)=>(0,i.Zz)(n.XX,n._$,n.yF,n.jd)((0,l.q)(...e))},51298:(e,t,s)=>{s.d(t,{m:()=>r}),s(25964);var i=s(3393),n=s(97810),l=s(13011);const r=e=>{class t extends((0,i.y)({componentName:e,baseSelector:"slot"})){constructor(){super(),this.innerHTML='\n <slot part="wrapper"></slot>\n '}dispatchChange=l.r.bind(this,"change");get items(){return this.querySelector("slot").assignedElements()}get isReadonly(){return"true"===this.getAttribute("readonly")}get size(){return this.getAttribute("size")||"md"}get value(){console.warn("get value","is not implemented")}set value(e){console.warn("set value","is not implemented")}onSizeChange(){this.items.forEach((e=>{e.setAttribute("size",this.size)}))}onReadOnlyChange(){this.querySelector("slot").toggleAttribute("inert",this.isReadonly)}getValidity(){console.warn("getValidity","is not implemented")}onObservedAttributeChange(e){e.forEach((e=>{switch(e){case"size":this.onSizeChange();break;case"readonly":this.onReadOnlyChange()}}))}init(){this.addEventListener("focus",(e=>{e.isTrusted&&this.items[0]?.focus()})),super.init?.(),(0,n.mx)(this,this.onObservedAttributeChange.bind(this),{includeAttrs:["size","readonly"]})}}return t}},92491:(e,t,s)=>{s.d(t,{T:()=>l,n:()=>r});var i=s(97810),n=s(51298);const l=(0,i.xE)("button-selection-group-internal");class r extends((0,n.m)(l)){getSelectedNode(){return this.items.find((e=>e.hasAttribute("selected")))}get allowDeselect(){return"true"===this.getAttribute("allow-deselect")}removeSelected(){this.getSelectedNode()?.removeAttribute("selected")}onClick(e){e.target!==e.currentTarget&&(e.target===this.getSelectedNode()&&this.allowDeselect?this.removeSelected():this.setSelected(e.target),this.dispatchChange())}setSelected(e){e!==this.getSelectedNode()&&(this.removeSelected(),e?.setAttribute("selected","true"))}get defaultValue(){return this.getAttribute("default-value")}setDefaultValue(){setTimeout((()=>{this.defaultValue&&(this.value=this.defaultValue,this.setCustomValidity())}))}get value(){return this.getSelectedNode()?.value||""}set value(e){const t=this.items.find((t=>t.value===e));this.setSelected(t)}getValidity(){return this.isRequired&&!this.value?{valueMissing:!0}:{}}init(){super.init(),this.setDefaultValue(),this.querySelector("slot").addEventListener("click",this.onClick.bind(this))}}},72415:(e,t,s)=>{s.r(t),s.d(t,{ButtonSelectionGroupInternalClass:()=>i.n});var i=s(92491);customElements.define(i.T,i.n)}}]);
|
2
|
+
//# sourceMappingURL=button-selection-group-fields-descope-button-selection-group-internal-index-js.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"button-selection-group-fields-descope-button-selection-group-internal-index-js.js","mappings":"6LASO,MAAMA,EAAuB,IAAIC,KACtC,QACE,KACA,KACA,KACA,KAJF,EAKE,UAAmBA,G,gFCVhB,MAAMC,EAA+CC,IAC1D,MAAMC,WAA8C,OAAqB,CACvED,gBACAE,aAAc,UAEd,WAAAC,GACEC,QAEAC,KAAKC,UAAY,4CAGnB,CAEAC,eAAiB,IAAoBC,KAAKH,KAAM,UAEhD,SAAII,GACF,OAAOJ,KAAKK,cAAc,QAAQC,kBACpC,CAEA,cAAIC,GACF,MAAyC,SAAlCP,KAAKQ,aAAa,WAC3B,CAEA,QAAIC,GACF,OAAOT,KAAKQ,aAAa,SAAW,IACtC,CAGA,SAAIE,GAEFC,QAAQC,KAAK,YAAa,qBAC5B,CAGA,SAAIF,CAAMA,GAERC,QAAQC,KAAK,YAAa,qBAC5B,CAEA,YAAAC,GACEb,KAAKI,MAAMU,SAASC,IAClBA,EAAKC,aAAa,OAAQhB,KAAKS,KAAK,GAExC,CAEA,gBAAAQ,GACEjB,KAAKK,cAAc,QAAQa,gBAAgB,QAASlB,KAAKO,WAC3D,CAGA,WAAAY,GAEER,QAAQC,KAAK,cAAe,qBAC9B,CAEA,yBAAAQ,CAA0BC,GACxBA,EAAMP,SAASQ,IACb,OAAQA,GACN,IAAK,OACHtB,KAAKa,eACL,MACF,IAAK,WACHb,KAAKiB,mBAIT,GAEJ,CAEA,IAAAM,GAEEvB,KAAKwB,iBAAiB,SAAUC,IAE1BA,EAAEC,WACJ1B,KAAKI,MAAM,IAAIuB,OACjB,IAGF5B,MAAMwB,UAEN,QAAkBvB,KAAMA,KAAKoB,0BAA0BjB,KAAKH,MAAO,CACjE4B,aAAc,CAAC,OAAQ,aAE3B,EAGF,OAAOhC,CAAqC,C,qECzFvC,MAAMD,GAAgB,QAAiB,mCAEvC,MAAMkC,WAA0C,OACrDlC,IAEA,eAAAmC,GACE,OAAO9B,KAAKI,MAAM2B,MAAMhB,GAASA,EAAKiB,aAAa,aACrD,CAEA,iBAAIC,GACF,MAA+C,SAAxCjC,KAAKQ,aAAa,iBAC3B,CAEA,cAAA0B,GACElC,KAAK8B,mBAAmBK,gBAAgB,WAC1C,CAEA,OAAAC,CAAQX,GACFA,EAAEY,SAAWZ,EAAEa,gBACbb,EAAEY,SAAWrC,KAAK8B,mBAAqB9B,KAAKiC,cAC9CjC,KAAKkC,iBAELlC,KAAKuC,YAAYd,EAAEY,QAErBrC,KAAKE,iBAET,CAEA,WAAAqC,CAAYC,GACNA,IAASxC,KAAK8B,oBAChB9B,KAAKkC,iBACLM,GAAMxB,aAAa,WAAY,QAEnC,CAEA,gBAAIyB,GACF,OAAOzC,KAAKQ,aAAa,gBAC3B,CAEA,eAAAkC,GAEEC,YAAW,KACL3C,KAAKyC,eACPzC,KAAKU,MAAQV,KAAKyC,aAClBzC,KAAK4C,oBACP,GAEJ,CAEA,SAAIlC,GACF,OAAOV,KAAK8B,mBAAmBpB,OAAS,EAC1C,CAEA,SAAIA,CAAMA,GACR,MAAM8B,EAAOxC,KAAKI,MAAM2B,MAAMc,GAAUA,EAAMnC,QAAUA,IACxDV,KAAKuC,YAAYC,EACnB,CAEA,WAAArB,GACE,OAAInB,KAAK8C,aAAe9C,KAAKU,MACpB,CAAEqC,cAAc,GAGlB,CAAC,CACV,CAEA,IAAAxB,GACExB,MAAMwB,OAENvB,KAAK0C,kBAEL1C,KAAKK,cAAc,QAAQmB,iBAAiB,QAASxB,KAAKoC,QAAQjC,KAAKH,MACzE,E,2FCtEFgD,eAAeC,OAAO,IAAe,I","sources":["webpack://@descope/web-components-ui/./src/baseClasses/createBaseInputClass.js","webpack://@descope/web-components-ui/./src/components/button-selection-group-fields/createBaseButtonSelectionGroupInternalClass.js","webpack://@descope/web-components-ui/./src/components/button-selection-group-fields/descope-button-selection-group-internal/ButtonSelectionGroupInternalClass.js","webpack://@descope/web-components-ui/./src/components/button-selection-group-fields/descope-button-selection-group-internal/index.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 { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseInputClass } from '../../baseClasses/createBaseInputClass';\nimport { observeAttributes } from '../../helpers/componentHelpers';\nimport { createDispatchEvent } from '../../helpers/mixinsHelpers';\n\nexport const createBaseButtonSelectionGroupInternalClass = (componentName) => {\n class BaseButtonSelectionGroupInternalClass extends createBaseInputClass({\n componentName,\n baseSelector: 'slot',\n }) {\n constructor() {\n super();\n\n this.innerHTML = `\n <slot part=\"wrapper\"></slot>\n `;\n }\n\n dispatchChange = createDispatchEvent.bind(this, 'change');\n\n get items() {\n return this.querySelector('slot').assignedElements();\n }\n\n get isReadonly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n get size() {\n return this.getAttribute('size') || 'md';\n }\n\n // eslint-disable-next-line getter-return, class-methods-use-this\n get value() {\n // eslint-disable-next-line no-console\n console.warn('get value', 'is not implemented');\n }\n\n // eslint-disable-next-line class-methods-use-this\n set value(value) {\n // eslint-disable-next-line no-console\n console.warn('set value', 'is not implemented');\n }\n\n onSizeChange() {\n this.items.forEach((item) => {\n item.setAttribute('size', this.size);\n });\n }\n\n onReadOnlyChange() {\n this.querySelector('slot').toggleAttribute('inert', this.isReadonly);\n }\n\n // eslint-disable-next-line class-methods-use-this\n getValidity() {\n // eslint-disable-next-line no-console\n console.warn('getValidity', 'is not implemented');\n }\n\n onObservedAttributeChange(attrs) {\n attrs.forEach((attr) => {\n switch (attr) {\n case 'size':\n this.onSizeChange();\n break;\n case 'readonly':\n this.onReadOnlyChange();\n break;\n default:\n break;\n }\n });\n }\n\n init() {\n // we are adding listeners before calling to super because it's stopping the events\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n this.items[0]?.focus();\n }\n });\n\n super.init?.();\n\n observeAttributes(this, this.onObservedAttributeChange.bind(this), {\n includeAttrs: ['size', 'readonly'],\n });\n }\n }\n\n return BaseButtonSelectionGroupInternalClass;\n};\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { createBaseButtonSelectionGroupInternalClass } from '../createBaseButtonSelectionGroupInternalClass';\n\nexport const componentName = getComponentName('button-selection-group-internal');\n\nexport class ButtonSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(\n componentName\n) {\n getSelectedNode() {\n return this.items.find((item) => item.hasAttribute('selected'));\n }\n\n get allowDeselect() {\n return this.getAttribute('allow-deselect') === 'true';\n }\n\n removeSelected() {\n this.getSelectedNode()?.removeAttribute('selected');\n }\n\n onClick(e) {\n if (e.target !== e.currentTarget) {\n if (e.target === this.getSelectedNode() && this.allowDeselect) {\n this.removeSelected();\n } else {\n this.setSelected(e.target);\n }\n this.dispatchChange();\n }\n }\n\n setSelected(node) {\n if (node !== this.getSelectedNode()) {\n this.removeSelected();\n node?.setAttribute('selected', 'true');\n }\n }\n\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n setDefaultValue() {\n // we want to defer this action until all attributes are synched\n setTimeout(() => {\n if (this.defaultValue) {\n this.value = this.defaultValue;\n this.setCustomValidity();\n }\n });\n }\n\n get value() {\n return this.getSelectedNode()?.value || '';\n }\n\n set value(value) {\n const node = this.items.find((child) => child.value === value);\n this.setSelected(node);\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n\n return {};\n }\n\n init() {\n super.init();\n\n this.setDefaultValue();\n\n this.querySelector('slot').addEventListener('click', this.onClick.bind(this));\n }\n}\n","import {\n componentName,\n ButtonSelectionGroupInternalClass,\n} from './ButtonSelectionGroupInternalClass';\n\ncustomElements.define(componentName, ButtonSelectionGroupInternalClass);\n\nexport { ButtonSelectionGroupInternalClass };\n"],"names":["createBaseInputClass","args","createBaseButtonSelectionGroupInternalClass","componentName","BaseButtonSelectionGroupInternalClass","baseSelector","constructor","super","this","innerHTML","dispatchChange","bind","items","querySelector","assignedElements","isReadonly","getAttribute","size","value","console","warn","onSizeChange","forEach","item","setAttribute","onReadOnlyChange","toggleAttribute","getValidity","onObservedAttributeChange","attrs","attr","init","addEventListener","e","isTrusted","focus","includeAttrs","ButtonSelectionGroupInternalClass","getSelectedNode","find","hasAttribute","allowDeselect","removeSelected","removeAttribute","onClick","target","currentTarget","setSelected","node","defaultValue","setDefaultValue","setTimeout","setCustomValidity","child","isRequired","valueMissing","customElements","define"],"sourceRoot":""}
|
package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[1837],{
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[1837],{15450:(t,e,n)=>{n.r(e),n.d(e,{ButtonSelectionGroupItemClass:()=>p});var o=n(79365),r=n(81365),i=n(9696),s=n(97810),a=n(88068),l=n(25964);const c=(0,s.xE)("button-selection-group-item");class d extends((0,r.q)({componentName:c,baseSelector:":host > descope-button"})){get size(){return this.getAttribute("size")||"md"}get variant(){return this.getAttribute("variant")||"contained"}get value(){return this.getAttribute("value")||""}set value(t){this.setAttribute("value",t)}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=`\n <descope-button variant="${this.variant}" size="${this.size}" mode="primary">\n <slot></slot>\n </descope-button>\n\t`,(0,l.fz)("\n descope-button {\n max-width: 100%;\n }\n\t\t\tdescope-button > slot {\n\t\t\t\twidth: 100%;\n\t\t\t\toverflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n max-width: 100%\n\t\t\t}\n ",this),(0,s.EA)(this,this.baseElement,{includeAttrs:["size","variant"]}),(0,s.EA)(this.baseElement,this,{includeAttrs:["focused","active"]})}handleFocus(){this.shadowRoot.querySelector("descope-button")?.focus()}focus(){this.handleFocus()}init(){super.init(),this.addEventListener("focus",(t=>{t.isTrusted&&this.handleFocus()}))}}const p=(0,i.Zz)((0,o.RF)({mappings:{hostDirection:{selector:()=>a.J.componentName,property:a.J.cssVarList.hostDirection},backgroundColor:{selector:()=>a.J.componentName,property:a.J.cssVarList.backgroundColor},labelTextColor:{selector:()=>a.J.componentName,property:a.J.cssVarList.labelTextColor},borderColor:{selector:()=>a.J.componentName,property:a.J.cssVarList.borderColor},borderWidth:{selector:()=>a.J.componentName,property:a.J.cssVarList.borderWidth},borderStyle:{selector:()=>a.J.componentName,property:a.J.cssVarList.borderStyle},borderRadius:{selector:()=>a.J.componentName,property:a.J.cssVarList.borderRadius},outlineColor:{selector:()=>a.J.componentName,property:a.J.cssVarList.outlineColor}}}),o.VO,o.tQ)(d);n(85076),customElements.define(c,p)},88068:(t,e,n)=>{n.d(e,{J:()=>u,T:()=>l});var o=n(9696),r=n(97810),i=n(79365),s=n(20618),a=n(12011);const l=(0,r.xE)("button"),{host:c,label:d,slottedIcon:p}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let h;const u=(0,o.Zz)((0,i.RF)({mappings:{hostWidth:{property:"width"},hostHeight:{property:"height"},hostDirection:{...c,property:"direction"},fontSize:{},fontFamily:{},cursor:{},backgroundColor:{},outlineOffset:{},outlineColor:{},outlineStyle:{},outlineWidth:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-right",fallback:"0.875em"},{property:"padding-left",fallback:"0.875em"}],labelTextColor:{property:"color"},iconColor:{selector:()=>"::slotted(*)",property:s.S.cssVarList.fill},labelTextDecoration:{...d,property:"text-decoration"},labelSpacing:{...d,property:"gap"},textAlign:{...d,property:"justify-content",fallback:"center"},iconSize:[{...p,property:"width"},{...p,property:"height"}]}}),a.G,i.VO,i.tQ)((0,i.tz)({slots:["","prefix","label","suffix"],wrappedEleName:"vaadin-button",style:()=>`\n\t\t\t\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n\n\t\t\t\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t\t\t${h}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${u.cssVarList.outlineWidth}) + var(${u.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${u.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${u.cssVarList.hostHeight}) - var(${u.cssVarList.outlineWidth}) - var(${u.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${u.cssVarList.hostWidth}) - var(${u.cssVarList.outlineWidth}) - var(${u.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex"],componentName:l})),{color:b,fontSize:g}=u.cssVarList;h=`\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading="true"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${b});\n\t\ttop: calc(50% - (var(${g}) / 2));\n\t\tleft: calc(50% - (var(${g}) / 2));\n\t\tborder-width: calc(var(${g}) / 10);\n\t\twidth: var(${g});\n\t\theight: var(${g});\n\t}\n\t:host([disabled="true"]),\n\t:host([loading="true"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading="true"])::part(prefix),\n\t:host([loading="true"])::part(label) {\n\t\tvisibility: hidden;\n\t}\n`},12011:(t,e,n)=>{n.d(e,{G:()=>o});const o=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},85076:(t,e,n)=>{n.r(e),n.d(e,{ButtonClass:()=>o.J,componentName:()=>o.T}),n(83799);var o=n(88068);customElements.define(o.T,o.J)},20618:(t,e,n)=>{n.d(e,{S:()=>p,T:()=>c});var o=n(79365),r=n(81365),i=n(9696),s=n(97810),a=n(28796),l=n(25964);const c=(0,s.xE)("icon");class d extends((0,r.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,l.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(${p.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)}))}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),e!==n&&"src"===t&&(this.toggleVisibility(n),(0,a.w)(this.src).then((t=>{if(this.innerHTML="",t){const e=t.cloneNode(!0);this.updateFillColor(e),this.appendChild(e)}})))}}const p=(0,i.Zz)((0,o.RF)({mappings:{fill:{}}}),o.VO,o.tQ)(d)},28796:(t,e,n)=>{n.d(e,{w:()=>i});var o=n(25414);const r=t=>{const e=o.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0}});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},i=async t=>{try{let e;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const n=atob(t.slice(26));e=r(n)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const n=await fetch(t),o=await n.text();e=r(o)}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}}}}]);
|
2
|
+
//# sourceMappingURL=button-selection-group-fields-descope-button-selection-group-item-index-js.js.map
|
package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"button-selection-group-fields-descope-button-selection-group-item-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/button-selection-group-fields/descope-button-selection-group-item/ButtonSelectionGroupItemClass.js","webpack://@descope/web-components-ui/./src/components/button-selection-group-fields/descope-button-selection-group-item/index.js","webpack://@descope/web-components-ui/./src/components/descope-button/ButtonClass.js","webpack://@descope/web-components-ui/./src/components/descope-button/clickableMixin.js","webpack://@descope/web-components-ui/./src/components/descope-button/index.js","webpack://@descope/web-components-ui/./src/components/descope-icon/IconClass.js","webpack://@descope/web-components-ui/./src/components/descope-icon/helpers.js"],"sourcesContent":["import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../../mixins';\nimport { createBaseClass } from '../../../baseClasses/createBaseClass';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport { ButtonClass } from '../../descope-button/ButtonClass';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('button-selection-group-item');\n\nclass RawSelectItem extends createBaseClass({\n componentName,\n baseSelector: ':host > descope-button',\n}) {\n get size() {\n return this.getAttribute('size') || 'md';\n }\n\n get variant() {\n return this.getAttribute('variant') || 'contained';\n }\n\n get value() {\n return this.getAttribute('value') || '';\n }\n\n set value(value) {\n this.setAttribute('value', value);\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <descope-button variant=\"${this.variant}\" size=\"${this.size}\" mode=\"primary\">\n <slot></slot>\n </descope-button>\n\t`;\n\n injectStyle(\n `\n descope-button {\n max-width: 100%;\n }\n\t\t\tdescope-button > slot {\n\t\t\t\twidth: 100%;\n\t\t\t\toverflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n max-width: 100%\n\t\t\t}\n `,\n this\n );\n\n forwardAttrs(this, this.baseElement, { includeAttrs: ['size', 'variant'] });\n forwardAttrs(this.baseElement, this, { includeAttrs: ['focused', 'active'] });\n }\n\n handleFocus() {\n this.shadowRoot.querySelector('descope-button')?.focus();\n }\n\n focus() {\n this.handleFocus();\n }\n\n init() {\n super.init();\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n this.handleFocus();\n }\n });\n }\n}\n\nexport const ButtonSelectionGroupItemClass = compose(\n createStyleMixin({\n mappings: {\n hostDirection: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.hostDirection,\n },\n backgroundColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.backgroundColor,\n },\n labelTextColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.labelTextColor,\n },\n borderColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderColor,\n },\n borderWidth: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderWidth,\n },\n borderStyle: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderStyle,\n },\n borderRadius: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderRadius,\n },\n outlineColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.outlineColor,\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawSelectItem);\n","import { componentName, ButtonSelectionGroupItemClass } from './ButtonSelectionGroupItemClass';\nimport '../../descope-button';\n\ncustomElements.define(componentName, ButtonSelectionGroupItemClass);\n\nexport { ButtonSelectionGroupItemClass };\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { IconClass } from '../descope-icon/IconClass';\nimport { clickableMixin } from './clickableMixin';\n\nexport const componentName = getComponentName('button');\n\nconst resetStyles = `\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n`;\n\nconst iconStyles = `\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n`;\n\nconst editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;\n\nconst { host, label, slottedIcon } = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n slottedIcon: { selector: () => '::slotted(descope-icon)' },\n};\n\nlet loadingIndicatorStyles;\n\nexport const ButtonClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { property: 'width' },\n hostHeight: { property: 'height' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n fontFamily: {},\n\n cursor: {},\n backgroundColor: {},\n\n outlineOffset: {},\n outlineColor: {},\n outlineStyle: {},\n outlineWidth: {},\n\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [\n { property: 'padding-right', fallback: '0.875em' },\n { property: 'padding-left', fallback: '0.875em' },\n ],\n\n labelTextColor: { property: 'color' },\n iconColor: {\n selector: () => `::slotted(*)`,\n property: IconClass.cssVarList.fill,\n },\n labelTextDecoration: { ...label, property: 'text-decoration' },\n labelSpacing: { ...label, property: 'gap' },\n textAlign: { ...label, property: 'justify-content', fallback: 'center' },\n\n iconSize: [\n { ...slottedIcon, property: 'width' },\n { ...slottedIcon, property: 'height' },\n ],\n },\n }),\n clickableMixin,\n draggableMixin,\n componentNameValidationMixin\n)(\n createProxy({\n slots: ['', 'prefix', 'label', 'suffix'],\n wrappedEleName: 'vaadin-button',\n style: () => `\n\t\t\t${resetStyles}\n\t\t\t${iconStyles}\n\t\t\t${loadingIndicatorStyles}\n\t\t\t${editorOverrides}\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${ButtonClass.cssVarList.outlineWidth}) + var(${ButtonClass.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width=\"true\"]) {\n width: var(${ButtonClass.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${ButtonClass.cssVarList.hostHeight}) - var(${ButtonClass.cssVarList.outlineWidth}) - var(${ButtonClass.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square=\"true\"]:not([full-width=\"true\"]) {\n\t\t\t\twidth: calc(var(${ButtonClass.cssVarList.hostWidth}) - var(${ButtonClass.cssVarList.outlineWidth}) - var(${ButtonClass.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nconst { color, fontSize } = ButtonClass.cssVarList;\nloadingIndicatorStyles = `\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading=\"true\"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${color});\n\t\ttop: calc(50% - (var(${fontSize}) / 2));\n\t\tleft: calc(50% - (var(${fontSize}) / 2));\n\t\tborder-width: calc(var(${fontSize}) / 10);\n\t\twidth: var(${fontSize});\n\t\theight: var(${fontSize});\n\t}\n\t:host([disabled=\"true\"]),\n\t:host([loading=\"true\"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading=\"true\"])::part(prefix),\n\t:host([loading=\"true\"])::part(label) {\n\t\tvisibility: hidden;\n\t}\n`;\n","export const clickableMixin = (superclass) =>\n class ClickableMixinClass extends superclass {\n get isLoading() {\n return this.getAttribute('loading') === 'true';\n }\n\n click() {\n this.isLoading || super.click();\n }\n };\n","import '@vaadin/button';\nimport { componentName, ButtonClass } from './ButtonClass';\n\ncustomElements.define(componentName, ButtonClass);\n\nexport { ButtonClass, componentName };\n","/* 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"],"names":["componentName","RawSelectItem","createBaseClass","baseSelector","size","this","getAttribute","variant","value","setAttribute","constructor","super","attachShadow","mode","innerHTML","baseElement","includeAttrs","handleFocus","shadowRoot","querySelector","focus","init","addEventListener","e","isTrusted","ButtonSelectionGroupItemClass","mappings","hostDirection","selector","ButtonClass","property","cssVarList","backgroundColor","labelTextColor","borderColor","borderWidth","borderStyle","borderRadius","outlineColor","customElements","define","host","label","slottedIcon","loadingIndicatorStyles","hostWidth","hostHeight","fontSize","fontFamily","cursor","outlineOffset","outlineStyle","outlineWidth","verticalPadding","horizontalPadding","fallback","iconColor","fill","labelTextDecoration","labelSpacing","textAlign","iconSize","slots","wrappedEleName","style","excludeAttrsSync","color","clickableMixin","superclass","isLoading","click","RawIcon","observedAttributes","toggleVisibility","src","isVisible","display","updateFillColor","node","querySelectorAll","forEach","ele","IconClass","attributeChangedCallback","attrName","oldValue","newValue","then","res","clonedNode","cloneNode","appendChild","createSvgEle","text","clean","sanitize","USE_PROFILES","svg","svgFilters","DOMParser","parseFromString","createIcon","async","startsWith","isBase64Svg","svgXml","atob","slice","base64Prefix","path","match","getFileExtension","fetchedSrc","fetch","document","createElement","createImgEle","setProperty"],"sourceRoot":""}
|
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[8712,8822],{85759:(e,t,s)=>{s.r(t),s.d(t,{AddressFieldClass:()=>f,componentName:()=>v}),s(40200),s(87151);var r=s(30064),i=s(17166),o=s(18823),a=s(18366);class n extends((0,r.h)()){#e=null;#t=null;constructor(e){super(e),this.#t=this.#s()}getRequiredParams(){return["public-api-key"]}getOptionalParams(){return[{key:"includedPrimaryTypes",attribute:"address-types"},{key:"language",attribute:"address-language"},{key:"region",attribute:"address-region"}]}async#s(){const e=this.getAttribute("public-api-key");if(!this.#e&&e)try{(e=>{var t,s,r,i,o,a,n,l,u,c,d,m,h;window.google?.maps||(t={key:e},o="The Google Maps JavaScript API",a="google",n="importLibrary",l="__ib__",u=document,c=window,d=(c=c[a]||(c[a]={})).maps||(c.maps={}),m=new Set,h=new URLSearchParams,d[n]?console.warn(o+" only loads once. Ignoring:",t):d[n]=(e,...c)=>m.add(e)&&(s||(s=new Promise((async(e,n)=>{for(i in await(r=u.createElement("script")),h.set("libraries",[...m]+""),t)h.set(i.replace(/[A-Z]/g,(e=>"_"+e[0].toLowerCase())),t[i]);h.set("callback",a+".maps."+l),r.src=`https://maps.${a}apis.com/maps/api/js?`+h,d[l]=e,r.onerror=()=>s=n(Error(o+" could not load.")),r.nonce=u.querySelector("script[nonce]")?.nonce||"",u.head.append(r)})))).then((()=>d[n](e,...c))))})(e);const{AutocompleteSuggestion:t}=await google.maps.importLibrary("places");this.#e=t}catch(e){throw console.error("Failed to initialize Google Maps Autocomplete service:",e),e}}async _fetchResults(e){if(!e?.trim())return{results:[]};try{await this.#t;const t={input:e};this.getOptionalParams().forEach((({attribute:e,key:s,defaultValue:r})=>{const i=this.getAttribute(e)||r;i&&(t[s]="includedPrimaryTypes"===s?i.split(",").map((e=>e.trim())).filter(Boolean):i)}));const{suggestions:s}=await this.#e.fetchAutocompleteSuggestions(t);return this.#r(s)}catch(e){return console.error("Google Maps Places Autocomplete failed:",e),{results:[],error:r.OR.FETCH_RESULTS_ERROR}}}#r(e){return e?.length?{results:e.map((e=>{const t=e.placePrediction;return{id:t.placeId,label:t.text.text,value:t.text.text}}))}:{results:[]}}}class l extends((0,r.h)()){getRequiredParams(){return["public-api-key"]}getOptionalParams(){return[{key:"layers",attribute:"address-types"},{key:"limit",attribute:"address-limit"},{key:"lang",attribute:"address-language"},{key:"countryCode",attribute:"address-region"}]}async _fetchResults(e){if(!e?.trim())return{results:[]};const t=this.getAttribute("public-api-key"),s=new URLSearchParams({query:e.trim()});this.getOptionalParams().forEach((({attribute:e,key:t,defaultValue:r})=>{const i=this.getAttribute(e)||r;i&&("layers"===t||"countryCode"===t?s.append(t,i.split(",").map((e=>e.trim())).filter(Boolean).join(",")):s.append(t,i))}));try{const e=await fetch(`https://api.radar.io/v1/search/autocomplete?${s.toString()}`,{headers:{Authorization:t}});if(!e.ok)throw new Error(`Radar API returned ${e.status}`);const r=await e.json();return this.#r(r)}catch(e){return console.error("Radar Places Autocomplete failed:",e),{results:[],error:r.OR.FETCH_RESULTS_ERROR}}}#r(e){return e?.addresses?.length?{results:e.addresses.map((e=>({label:e.formattedAddress,value:e.formattedAddress})))}:{results:[]}}}const u=(0,i.xE)("address-field-internal"),c="google-maps-places",d="radar",m={[c]:n,[d]:l},h=(0,r.yc)({componentName:u,baseSelector:""}),p=["public-api-key"],g=[...p],b=(0,a.Zz)((0,o.Jm)({connectorClasses:m}))(class extends h{static get observedAttributes(){return[].concat(h.observedAttributes||[],g)}get errorMsgValueMissing(){return this.getAttribute("data-errormessage-value-missing")||this.defaultErrorMsgValueMissing}constructor(){super(),this.innerHTML="\n <style>\n :host {\n display: inline-block;\n box-sizing: border-box;\n user-select: none;\n max-width: 100%;\n }\n\n :host ::slotted {\n padding: 0;\n }\n </style>\n <div>\n <descope-autocomplete-field></descope-autocomplete-field>\n </div>\n ",this.autocompleteField=this.querySelector("descope-autocomplete-field")}get value(){return this.autocompleteField.value}set value(e){this.autocompleteField.value=e}focus(){this.autocompleteField.focus()}init(){this.addEventListener("focus",(e=>{e.isTrusted&&this.autocompleteField.focus()})),super.init?.(),this.initAutocomplete()}initAutocomplete(){(0,i.EA)(this,this.autocompleteField,{includeAttrs:["size","bordered","label","label-type","placeholder","disabled","readonly","required","full-width","helper-text","error-message","default-value","data-errormessage-value-missing","st-host-direction","allow-custom-value","min-search-length","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"]}),(0,i.Gh)(this,this.autocompleteField,{includeAttrs:["invalid"]}),this.autocompleteField.fetchResults=this.fetchConnectorResults.bind(this)}attributeChangedCallback(e,t,s){super.attributeChangedCallback?.(e,t,s),t!==s&&p.includes(e)&&this.initializeConnector()}getValidity(){return this.isRequired&&!this.value?{valueMissing:!0}:{valid:!0}}});customElements.define(u,b),s(74259);const v=(0,i.xE)("address-field"),{host:y}={host:{selector:()=>":host"}},f=(0,a.Zz)((0,o.RF)({componentNameOverride:(0,i.xE)("input-wrapper")}),(0,o.RF)({mappings:{hostWidth:{...y,property:"width"},hostDirection:{...y,property:"direction"}}}),o.VO,(0,o.OZ)({proxyProps:["value","selectionStart"],inputEvent:"input",proxyParentValidation:!0}),o.tQ,(e=>class extends e{get defaultValue(){return this.getAttribute("default-value")}setDefaultValue(){this.defaultValue&&setTimeout((()=>{this.inputElement.value=this.defaultValue}))}set connectorClasses(e){this.inputElement.connectorClasses=e}get connectorClasses(){return this.inputElement.connectorClasses}init(){super.init?.();const e=document.createElement("template");e.innerHTML=`\n <${u}\n tabindex="-1"\n ></${u}>\n `,this.baseElement.appendChild(e.content.cloneNode(!0)),this.inputElement=this.shadowRoot.querySelector(u),(0,i.EA)(this,this.inputElement,{includeAttrs:["size","bordered","label","required","label-type","placeholder","full-width","allow-custom-value","min-search-length","no-results-message","error-fetching-results-message","data-errormessage-value-missing","invalid","error-message","readonly","disabled","st-host-direction","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding","connector-template","public-api-key","address-types","address-language","address-region","address-limit"]}),(0,i.Gh)(this,this.inputElement,{includeAttrs:["invalid"]}),this.setDefaultValue()}}))((0,o.tz)({slots:[],wrappedEleName:"vaadin-custom-field",style:()=>"\n :host {\n display: inline-flex;\n max-width: 100%;\n direction: ltr;\n }\n vaadin-custom-field {\n line-height: unset;\n width: 100%;\n }\n",excludeAttrsSync:["tabindex","error-message","label"],componentName:v}));customElements.define(v,f)},74259:(e,t,s)=>{s.d(t,{F:()=>c,T:()=>l});var r=s(18823),i=s(17166),o=s(18366),a=s(44976),n=s(50792);const l=(0,i.xE)("autocomplete-field"),{host:u}={host:{selector:()=>":host"}},c=(0,o.Zz)((0,r.RF)({componentNameOverride:(0,i.xE)("input-wrapper")}),(0,r.RF)({mappings:{hostWidth:{...u,property:"width"},hostDirection:{...u,property:"direction"},fontSize:{...u},checkmarkDisplay:{selector:a.C.componentName,property:a.C.cssVarList.overlayCheckmarkDisplay},itemPaddingInlineStart:{selector:a.C.componentName,property:a.C.cssVarList.overlayItemPaddingInlineStart},itemPaddingInlineEnd:{selector:a.C.componentName,property:a.C.cssVarList.overlayItemPaddingInlineEnd},selectedItemBackground:{selector:a.C.componentName,property:a.C.cssVarList.overlaySelectedItemBackground},selectedItemHoverBackground:{selector:a.C.componentName,property:a.C.cssVarList.overlaySelectedItemHoverBackground},selectedItemFocusBackground:{selector:a.C.componentName,property:a.C.cssVarList.overlaySelectedItemFocusBackground},itemHoverBackground:{selector:a.C.componentName,property:a.C.cssVarList.overlayItemHoverBackground}}}),r.VO,(0,r.OZ)({proxyProps:["value","selectionStart"],inputEvent:"input",proxyParentValidation:!0}),r.tQ,(e=>class extends e{get defaultValue(){return this.getAttribute("default-value")}setDefaultValue(){this.defaultValue&&setTimeout((()=>{this.inputElement.value=this.defaultValue}))}init(){super.init?.();const e=document.createElement("template");e.innerHTML=`\n <${n.T}\n tabindex="-1"\n ></${n.T}>\n `,this.baseElement.appendChild(e.content.cloneNode(!0)),this.inputElement=this.shadowRoot.querySelector(n.T),(0,i.EA)(this,this.inputElement,{includeAttrs:["size","bordered","label","required","label-type","placeholder","full-width","allow-custom-value","min-search-length","no-results-message","error-fetching-results-message","data-errormessage-value-missing","invalid","error-message","readonly","disabled","st-host-direction","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"]}),(0,i.Gh)(this,this.inputElement,{includeAttrs:["invalid"]}),this.inputElement.fetchResults=this.fetchResults,this.setDefaultValue()}set fetchResults(e){this.inputElement.fetchResults=e}}))((0,r.tz)({slots:[],wrappedEleName:"vaadin-custom-field",style:()=>"\n :host {\n display: inline-flex;\n max-width: 100%;\n direction: ltr;\n }\n vaadin-custom-field {\n line-height: unset;\n width: 100%;\n }\n ",excludeAttrsSync:["tabindex","error-message","label"],componentName:l}))},50792:(e,t,s)=>{s.d(t,{A:()=>c,T:()=>a});var r=s(30064),i=s(17166),o=s(18366);const a=(0,i.xE)("autocomplete-field-internal"),n=(0,r.yc)({componentName:a,baseSelector:""}),l=[],u="DESCOPE_INVALID_OPTION",c=class extends n{static get observedAttributes(){return[].concat(n.observedAttributes||[],l)}get allowCustomValue(){return"true"===this.getAttribute("allow-custom-value")}get minSearchLength(){return this.getAttribute("min-search-length")||3}get noResultsFoundMessage(){return this.getAttribute("no-results-message")||"No results found"}get errorFetchingResultsMessage(){return this.getAttribute("error-fetching-results-message")||"An error occurred fetching results"}constructor(){super(),this.innerHTML='\n <style>\n :host {\n display: inline-block;\n box-sizing: border-box;\n user-select: none;\n max-width: 100%;\n }\n\n :host ::slotted {\n padding: 0;\n }\n </style>\n <div class="autocomplete-field">\n <descope-combo-box clear-button-visible="true" auto-open-disabled="true" has-dynamic-data="true" item-label-path="data-name" item-value-path="data-id" hide-toggle-button="true"></descope-combo-box>\n </div>\n ',this.comboBox=this.querySelector("descope-combo-box")}get value(){return this.comboBox.value}set value(e){this.allowCustomValue?this.comboBox.value=e:(this.comboBox.data=[{label:e,value:e}],setTimeout((()=>{this.comboBox.value=e})))}get defaultValue(){return this.getAttribute("default-value")}async#i(e){const{results:t,error:s}=await this.fetchResults(e);return s?{error:s}:{results:t}}#o(e,t,s,r){return`<span data-name="${s}" data-id="${t}" ${r?'disabled="true"':""}>${e||s}</span>`}#a(){this.comboBox.renderer=(e,t,s)=>{"true"===s.item.getAttribute("disabled")?e.setAttribute("disabled","true"):e.removeAttribute("disabled"),e.innerHTML=s.item.outerHTML},this.comboBox.renderItem=({displayName:e,value:t,label:s,disabled:r})=>this.#o(e,t,s,r)}focus(){this.comboBox.focus()}init(){this.addEventListener("focus",(e=>{e.isTrusted&&this.comboBox.focus()})),super.init?.(),this.#n(),(0,i.Gh)(this,this.comboBox,{includeAttrs:["invalid"]})}#n(){this.debouncedSearch=(0,o.g5)((async e=>{try{const{results:t,error:s}=await this.#i(e);return{results:t,error:s,value:e}}catch(t){return{error:t,value:e}}}),250),(0,i.EA)(this,this.comboBox,{includeAttrs:["size","bordered","label","label-type","placeholder","disabled","readonly","required","full-width","helper-text","invalid","error-message","data-errormessage-value-missing","st-host-direction","allow-custom-value","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"]}),this.comboBox.addEventListener("filter-changed",this.onSearch.bind(this)),this.#a()}#l(){return[{label:this.noResultsFoundMessage,value:u,disabled:!0}]}#u(){return[{label:this.errorFetchingResultsMessage,value:u,disabled:!0}]}async onSearch(e){const t=e.detail.value;if(!t||t.length<this.minSearchLength)return;this.comboBox.loading=!0,this.comboBox.setAttribute("opened","true");const s=await this.debouncedSearch(t);s&&s.value===t&&(this.comboBox.loading=!1,s.error?this.comboBox.data=this.#u():0===s.results?.length?this.comboBox.data=this.#l():this.comboBox.data=s.results||[])}fetchResults(e){return console.warn("fetchResults","needs to be implemented"),{results:[],error:void 0}}getValidity(){return this.isRequired&&!this.value?{valueMissing:!0}:{valid:!0}}}},87151:(e,t,s)=>{s.r(t),s.d(t,{AutocompleteFieldClass:()=>i.F,componentName:()=>i.T}),s(40200),s(11738);var r=s(50792);customElements.define(r.T,r.A);var i=s(74259);customElements.define(i.T,i.F)}}]);
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[8712,8822],{25278:(e,t,s)=>{s.r(t),s.d(t,{AddressFieldClass:()=>f,componentName:()=>v}),s(25003),s(93847);var r=s(72270),i=s(25964),o=s(88961),a=s(63200);class n extends((0,r.h)()){#e=null;#t=null;constructor(e){super(e),this.#t=this.#s()}getRequiredParams(){return["public-api-key"]}getOptionalParams(){return[{key:"includedPrimaryTypes",attribute:"address-types"},{key:"language",attribute:"address-language"},{key:"region",attribute:"address-region"}]}async#s(){const e=this.getAttribute("public-api-key");if(!this.#e&&e)try{(e=>{var t,s,r,i,o,a,n,l,u,c,d,m,p;window.google?.maps||(t={key:e},o="The Google Maps JavaScript API",a="google",n="importLibrary",l="__ib__",u=document,c=window,d=(c=c[a]||(c[a]={})).maps||(c.maps={}),m=new Set,p=new URLSearchParams,d[n]?console.warn(o+" only loads once. Ignoring:",t):d[n]=(e,...c)=>m.add(e)&&(s||(s=new Promise((async(e,n)=>{for(i in await(r=u.createElement("script")),p.set("libraries",[...m]+""),t)p.set(i.replace(/[A-Z]/g,(e=>"_"+e[0].toLowerCase())),t[i]);p.set("callback",a+".maps."+l),r.src=`https://maps.${a}apis.com/maps/api/js?`+p,d[l]=e,r.onerror=()=>s=n(Error(o+" could not load.")),r.nonce=u.querySelector("script[nonce]")?.nonce||"",u.head.append(r)})))).then((()=>d[n](e,...c))))})(e);const{AutocompleteSuggestion:t}=await google.maps.importLibrary("places");this.#e=t}catch(e){throw console.error("Failed to initialize Google Maps Autocomplete service:",e),e}}async _fetchResults(e){if(!e?.trim())return{results:[]};try{await this.#t;const t={input:e};this.getOptionalParams().forEach((({attribute:e,key:s,defaultValue:r})=>{const i=this.getAttribute(e)||r;i&&(t[s]="includedPrimaryTypes"===s?i.split(",").map((e=>e.trim())).filter(Boolean):i)}));const{suggestions:s}=await this.#e.fetchAutocompleteSuggestions(t);return this.#r(s)}catch(e){return console.error("Google Maps Places Autocomplete failed:",e),{results:[],error:r.OR.FETCH_RESULTS_ERROR}}}#r(e){return e?.length?{results:e.map((e=>{const t=e.placePrediction;return{id:t.placeId,label:t.text.text,value:t.text.text}}))}:{results:[]}}}class l extends((0,r.h)()){getRequiredParams(){return["public-api-key"]}getOptionalParams(){return[{key:"layers",attribute:"address-types"},{key:"limit",attribute:"address-limit"},{key:"lang",attribute:"address-language"},{key:"countryCode",attribute:"address-region"}]}async _fetchResults(e){if(!e?.trim())return{results:[]};const t=this.getAttribute("public-api-key"),s=new URLSearchParams({query:e.trim()});this.getOptionalParams().forEach((({attribute:e,key:t,defaultValue:r})=>{const i=this.getAttribute(e)||r;i&&("layers"===t||"countryCode"===t?s.append(t,i.split(",").map((e=>e.trim())).filter(Boolean).join(",")):s.append(t,i))}));try{const e=await fetch(`https://api.radar.io/v1/search/autocomplete?${s.toString()}`,{headers:{Authorization:t}});if(!e.ok)throw new Error(`Radar API returned ${e.status}`);const r=await e.json();return this.#r(r)}catch(e){return console.error("Radar Places Autocomplete failed:",e),{results:[],error:r.OR.FETCH_RESULTS_ERROR}}}#r(e){return e?.addresses?.length?{results:e.addresses.map((e=>({label:e.formattedAddress,value:e.formattedAddress})))}:{results:[]}}}const u=(0,i.xE)("address-field-internal"),c="google-maps-places",d="radar",m={[c]:n,[d]:l},p=(0,r.yc)({componentName:u,baseSelector:""}),h=["public-api-key"],g=[...h],b=(0,a.Zz)((0,o.Jm)({connectorClasses:m}))(class extends p{static get observedAttributes(){return[].concat(p.observedAttributes||[],g)}get errorMsgValueMissing(){return this.getAttribute("data-errormessage-value-missing")||this.defaultErrorMsgValueMissing}constructor(){super(),this.innerHTML="\n <div>\n <descope-autocomplete-field></descope-autocomplete-field>\n </div>\n ",this.autocompleteField=this.querySelector("descope-autocomplete-field")}get value(){return this.autocompleteField.value}set value(e){this.autocompleteField.value=e}focus(){this.autocompleteField.focus()}init(){this.addEventListener("focus",(e=>{e.isTrusted&&this.autocompleteField.focus()})),super.init?.(),this.initAutocomplete()}initAutocomplete(){(0,i.EA)(this,this.autocompleteField,{includeAttrs:["size","bordered","label","label-type","placeholder","disabled","readonly","required","full-width","helper-text","error-message","default-value","data-errormessage-value-missing","st-host-direction","allow-custom-value","min-search-length","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"]}),(0,i.Gh)(this,this.autocompleteField,{includeAttrs:["invalid"]}),this.autocompleteField.fetchResults=this.fetchConnectorResults.bind(this)}attributeChangedCallback(e,t,s){super.attributeChangedCallback?.(e,t,s),t!==s&&h.includes(e)&&this.initializeConnector()}getValidity(){return this.isRequired&&!this.value?{valueMissing:!0}:{valid:!0}}});customElements.define(u,b);const v=(0,i.xE)("address-field"),{host:y}={host:{selector:()=>":host"}},f=(0,a.Zz)((0,o.RF)({componentNameOverride:(0,i.xE)("input-wrapper")}),(0,o.RF)({mappings:{hostWidth:{...y,property:"width"},hostDirection:{...y,property:"direction"}}}),o.VO,(0,o.OZ)({proxyProps:["value","selectionStart"],inputEvent:"input",proxyParentValidation:!0}),o.tQ,(e=>class extends e{get defaultValue(){return this.getAttribute("default-value")}setDefaultValue(){this.defaultValue&&setTimeout((()=>{this.inputElement.value=this.defaultValue}))}set connectorClasses(e){this.inputElement.connectorClasses=e}get connectorClasses(){return this.inputElement.connectorClasses}init(){super.init?.();const e=document.createElement("template");e.innerHTML=`\n <${u}\n tabindex="-1"\n ></${u}>\n `,this.baseElement.appendChild(e.content.cloneNode(!0)),this.inputElement=this.shadowRoot.querySelector(u),(0,i.EA)(this,this.inputElement,{includeAttrs:["size","bordered","label","required","label-type","placeholder","full-width","allow-custom-value","min-search-length","no-results-message","error-fetching-results-message","data-errormessage-value-missing","invalid","error-message","readonly","disabled","st-host-direction","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding","connector-template","public-api-key","address-types","address-language","address-region","address-limit"]}),(0,i.Gh)(this,this.inputElement,{includeAttrs:["invalid"]}),this.setDefaultValue()}}))((0,o.tz)({slots:[],wrappedEleName:"vaadin-custom-field",style:()=>`\n :host {\n display: inline-flex;\n max-width: 100%;\n direction: ltr;\n }\n vaadin-custom-field {\n line-height: unset;\n width: 100%;\n }\n\n ${u} {\n display: inline-block;\n box-sizing: border-box;\n user-select: none;\n max-width: 100%;\n }\n\n ${u} ::slotted {\n padding: 0;\n }\n`,excludeAttrsSync:["tabindex","error-message","label"],componentName:v}));customElements.define(v,f)},93847:(e,t,s)=>{s.r(t),s.d(t,{AutocompleteFieldClass:()=>h,componentName:()=>m}),s(25003),s(27092);var r=s(72270),i=s(25964),o=s(63200);const a=(0,i.xE)("autocomplete-field-internal"),n=(0,r.yc)({componentName:a,baseSelector:""}),l=[],u="DESCOPE_INVALID_OPTION";customElements.define(a,class extends n{static get observedAttributes(){return[].concat(n.observedAttributes||[],l)}get allowCustomValue(){return"true"===this.getAttribute("allow-custom-value")}get minSearchLength(){return this.getAttribute("min-search-length")||3}get noResultsFoundMessage(){return this.getAttribute("no-results-message")||"No results found"}get errorFetchingResultsMessage(){return this.getAttribute("error-fetching-results-message")||"An error occurred fetching results"}constructor(){super(),this.innerHTML='\n <div class="autocomplete-field">\n <descope-combo-box clear-button-visible="true" auto-open-disabled="true" has-dynamic-data="true" item-label-path="data-name" item-value-path="data-id" hide-toggle-button="true"></descope-combo-box>\n </div>\n ',this.comboBox=this.querySelector("descope-combo-box")}get value(){return this.comboBox.value}set value(e){this.allowCustomValue?this.comboBox.value=e:(this.comboBox.data=[{label:e,value:e}],setTimeout((()=>{this.comboBox.value=e})))}get defaultValue(){return this.getAttribute("default-value")}async#i(e){const{results:t,error:s}=await this.fetchResults(e);return s?{error:s}:{results:t}}#o(e,t,s,r){return`<span data-name="${s}" data-id="${t}" ${r?'disabled="true"':""}>${e||s}</span>`}#a(){this.comboBox.renderer=(e,t,s)=>{"true"===s.item.getAttribute("disabled")?e.setAttribute("disabled","true"):e.removeAttribute("disabled"),e.innerHTML=s.item.outerHTML},this.comboBox.renderItem=({displayName:e,value:t,label:s,disabled:r})=>this.#o(e,t,s,r)}focus(){this.comboBox.focus()}init(){this.addEventListener("focus",(e=>{e.isTrusted&&this.comboBox.focus()})),super.init?.(),this.#n(),(0,i.Gh)(this,this.comboBox,{includeAttrs:["invalid"]})}#n(){this.debouncedSearch=(0,o.g5)((async e=>{try{const{results:t,error:s}=await this.#i(e);return{results:t,error:s,value:e}}catch(t){return{error:t,value:e}}}),250),(0,i.EA)(this,this.comboBox,{includeAttrs:["size","bordered","label","label-type","placeholder","disabled","readonly","required","full-width","helper-text","invalid","error-message","data-errormessage-value-missing","st-host-direction","allow-custom-value","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"]}),this.comboBox.addEventListener("filter-changed",this.onSearch.bind(this)),this.#a()}#l(){return[{label:this.noResultsFoundMessage,value:u,disabled:!0}]}#u(){return[{label:this.errorFetchingResultsMessage,value:u,disabled:!0}]}async onSearch(e){const t=e.detail.value;if(!t||t.length<this.minSearchLength)return;this.comboBox.loading=!0,this.comboBox.setAttribute("opened","true");const s=await this.debouncedSearch(t);s&&s.value===t&&(this.comboBox.loading=!1,s.error?this.comboBox.data=this.#u():0===s.results?.length?this.comboBox.data=this.#l():this.comboBox.data=s.results||[])}fetchResults(e){return console.warn("fetchResults","needs to be implemented"),{results:[],error:void 0}}getValidity(){return this.isRequired&&!this.value?{valueMissing:!0}:{valid:!0}}});var c=s(88961),d=s(86365);const m=(0,i.xE)("autocomplete-field"),{host:p}={host:{selector:()=>":host"}},h=(0,o.Zz)((0,c.RF)({componentNameOverride:(0,i.xE)("input-wrapper")}),(0,c.RF)({mappings:{hostWidth:{...p,property:"width"},hostDirection:{...p,property:"direction"},fontSize:{...p},checkmarkDisplay:{selector:d.C.componentName,property:d.C.cssVarList.overlayCheckmarkDisplay},itemPaddingInlineStart:{selector:d.C.componentName,property:d.C.cssVarList.overlayItemPaddingInlineStart},itemPaddingInlineEnd:{selector:d.C.componentName,property:d.C.cssVarList.overlayItemPaddingInlineEnd},selectedItemBackground:{selector:d.C.componentName,property:d.C.cssVarList.overlaySelectedItemBackground},selectedItemHoverBackground:{selector:d.C.componentName,property:d.C.cssVarList.overlaySelectedItemHoverBackground},selectedItemFocusBackground:{selector:d.C.componentName,property:d.C.cssVarList.overlaySelectedItemFocusBackground},itemHoverBackground:{selector:d.C.componentName,property:d.C.cssVarList.overlayItemHoverBackground}}}),c.VO,(0,c.OZ)({proxyProps:["value","selectionStart"],inputEvent:"input",proxyParentValidation:!0}),c.tQ,(e=>class extends e{get defaultValue(){return this.getAttribute("default-value")}setDefaultValue(){this.defaultValue&&setTimeout((()=>{this.inputElement.value=this.defaultValue}))}init(){super.init?.();const e=document.createElement("template");e.innerHTML=`\n <${a}\n tabindex="-1"\n ></${a}>\n `,this.baseElement.appendChild(e.content.cloneNode(!0)),this.inputElement=this.shadowRoot.querySelector(a),(0,i.EA)(this,this.inputElement,{includeAttrs:["size","bordered","label","required","label-type","placeholder","full-width","allow-custom-value","min-search-length","no-results-message","error-fetching-results-message","data-errormessage-value-missing","invalid","error-message","readonly","disabled","st-host-direction","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"]}),(0,i.Gh)(this,this.inputElement,{includeAttrs:["invalid"]}),this.inputElement.fetchResults=this.fetchResults,this.setDefaultValue()}set fetchResults(e){this.inputElement.fetchResults=e}}))((0,c.tz)({slots:[],wrappedEleName:"vaadin-custom-field",style:()=>"\n :host {\n display: inline-flex;\n max-width: 100%;\n direction: ltr;\n }\n vaadin-custom-field {\n line-height: unset;\n width: 100%;\n }\n\n descope-autocomplete-field-internal {\n display: inline-block;\n box-sizing: border-box;\n user-select: none;\n max-width: 100%;\n }\n\n descope-autocomplete-field-internal ::slotted {\n padding: 0;\n }\n ",excludeAttrsSync:["tabindex","error-message","label"],componentName:m}));customElements.define(m,h)}}]);
|
2
|
+
//# sourceMappingURL=descope-address-field.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-address-field.js","mappings":"4QAQO,MAAMA,WAA4B,UACvC,GAAuB,KAEvB,GAAyB,KAEzB,WAAAC,CAAYC,GACVC,MAAMD,GAENE,MAAK,EAAyBA,MAAK,GACrC,CAGA,iBAAAC,GACE,MAAO,CAAC,iBACV,CAGA,iBAAAC,GACE,MAAO,CACL,CACEC,IAAK,uBACLC,UAAW,iBAEb,CACED,IAAK,WACLC,UAAW,oBAEb,CACED,IAAK,SACLC,UAAW,kBAGjB,CAEA,OAAM,GACJ,MAAMC,EAASL,KAAKF,aAAa,kBACjC,IAAIE,MAAK,GAAyBK,EAIlC,IChDgC,CAACA,IAOnC,IAACC,EAAQC,EAAEC,EAAEC,EAAEC,EAAmCC,EAAWC,EAAkBC,EAAWC,EAAWC,EAA+BC,EAAsBC,EAAUC,EANhKC,OAAOC,QAAQC,OAMlBf,EAA6pB,CAC5pBH,IAAKE,GADQK,EAAE,iCAAiCC,EAAE,SAASC,EAAE,gBAAgBC,EAAE,SAASC,EAAEQ,SAASP,EAAEI,OAA6BH,GAAtBD,EAAEA,EAAEJ,KAAKI,EAAEJ,GAAG,CAAC,IAAWU,OAAON,EAAEM,KAAK,CAAC,GAAGJ,EAAE,IAAIM,IAAIL,EAAE,IAAIM,gBAAyYR,EAAEJ,GAAGa,QAAQC,KAAKhB,EAAE,8BAA8BJ,GAAGU,EAAEJ,GAAG,CAACe,KAAKC,IAAIX,EAAEY,IAAIF,KAA7bpB,IAAIA,EAAE,IAAIuB,SAAQC,MAAMJ,EAAEC,KAAsE,IAAInB,WAA9DD,EAAEM,EAAEkB,cAAc,WAAWd,EAAEe,IAAI,YAAY,IAAIhB,GAAG,IAAaX,EAAEY,EAAEe,IAAIxB,EAAEyB,QAAQ,UAASC,GAAG,IAAIA,EAAE,GAAGC,gBAAe9B,EAAEG,IAAIS,EAAEe,IAAI,WAAWtB,EAAE,SAASE,GAAGL,EAAE6B,IAAI,gBAAgB1B,yBAAyBO,EAAEF,EAAEH,GAAGc,EAAEnB,EAAE8B,QAAQ,IAAI/B,EAAEqB,EAAEW,MAAM7B,EAAE,qBAAqBF,EAAEgC,MAAM1B,EAAE2B,cAAc,kBAAkBD,OAAO,GAAG1B,EAAE4B,KAAKC,OAAOnC,EAAC,MAAuFoC,MAAK,IAAI5B,EAAEJ,GAAGe,KAAKC,KAEtpB,EDwCEiB,CAAqBxC,GAErB,MAAM,uBAAEyC,SACA1B,OAAOC,KAAK0B,cAAc,UAClC/C,MAAK,EAAuB8C,CAC9B,CAAE,MAAOE,GAMP,MAJAvB,QAAQuB,MACN,yDACAA,GAEIA,CACR,CACF,CAEA,mBAAMC,CAAcC,GAClB,IAAKA,GAAOC,OACV,MAAO,CAAEC,QAAS,IAGpB,UACQpD,MAAK,EAEX,MAAMqD,EAAU,CACdC,MAAOJ,GAITlD,KAAKE,oBAAoBqD,SAAQ,EAAGnD,YAAWD,MAAKqD,mBAClD,MAAMC,EAAQzD,KAAKF,aAAaM,IAAcoD,EAC1CC,IAEAJ,EAAQlD,GADE,yBAARA,EACasD,EACZC,MAAM,KACNC,KAAKC,GAASA,EAAKT,SACnBU,OAAOC,SAEKL,EAEnB,IAGF,MAAM,YAAEM,SACA/D,MAAK,EAAqBgE,6BAA6BX,GAC/D,OAAOrD,MAAK,EAAe+D,EAC7B,CAAE,MAAOf,GAGP,OADAvB,QAAQuB,MAAM,0CAA2CA,GAClD,CAAEI,QAAS,GAAIJ,MAAO,KAAiBiB,oBAChD,CACF,CAGA,GAAeF,GACb,OAAKA,GAAaG,OAIX,CACLd,QAASW,EAAYJ,KAAKQ,IACxB,MAAMC,EAAaD,EAAWE,gBAC9B,MAAO,CACLC,GAAIF,EAAWG,QACfC,MAAOJ,EAAWK,KAAKA,KACvBhB,MAAOW,EAAWK,KAAKA,KACxB,KAVI,CAAErB,QAAS,GAatB,EE9GK,MAAMsB,WAAuB,UAElC,iBAAAzE,GACE,MAAO,CAAC,iBACV,CAGA,iBAAAC,GACE,MAAO,CACL,CACEC,IAAK,SACLC,UAAW,iBAEb,CACED,IAAK,QACLC,UAAW,iBAEb,CACED,IAAK,OACLC,UAAW,oBAEb,CACED,IAAK,cACLC,UAAW,kBAGjB,CAEA,mBAAM6C,CAAcC,GAClB,IAAKA,GAAOC,OACV,MAAO,CAAEC,QAAS,IAGpB,MAAM/C,EAASL,KAAKF,aAAa,kBAC3B6E,EAAS,IAAInD,gBAAgB,CACjC0B,MAAOA,EAAMC,SAIfnD,KAAKE,oBAAoBqD,SAAQ,EAAGnD,YAAWD,MAAKqD,mBAClD,MAAMC,EAAQzD,KAAKF,aAAaM,IAAcoD,EAC1CC,IACU,WAARtD,GAA4B,gBAARA,EACtBwE,EAAOhC,OACLxC,EACAsD,EACGC,MAAM,KACNC,KAAKC,GAASA,EAAKT,SACnBU,OAAOC,SACPc,KAAK,MAGVD,EAAOhC,OAAOxC,EAAKsD,GAEvB,IAGF,IACE,MAAMoB,QAAiBC,MACrB,+CAA6BH,EAAOI,aACpC,CACEC,QAAS,CACPC,cAAe5E,KAKrB,IAAKwE,EAASK,GACZ,MAAM,IAAI3C,MAAM,sBAAsBsC,EAASM,UAGjD,MAAMC,QAAaP,EAASQ,OAC5B,OAAOrF,MAAK,EAAeoF,EAC7B,CAAE,MAAOpC,GAGP,OADAvB,QAAQuB,MAAM,oCAAqCA,GAC5C,CAAEI,QAAS,GAAIJ,MAAO,KAAiBiB,oBAChD,CACF,CAGA,GAAemB,GACb,OAAKA,GAAME,WAAWpB,OAGf,CACLd,QAASgC,EAAKE,UAAU3B,KAAK4B,IAAY,CACvCf,MAAOe,EAAQC,iBACf/B,MAAO8B,EAAQC,sBALV,CAAEpC,QAAS,GAQtB,ECxFK,MAAMqC,GAAgB,QAAiB,0BAExCC,EAAiC,qBACjCC,EAA2B,QAE3BC,EAAoB,CACxB,CAACF,GAAiC9F,EAClC,CAAC+F,GAA2BjB,GAGxBmB,GAAiB,QAAqB,CAC1CJ,gBACAK,aAAc,KAEVC,EAAqB,CAAC,kBACtBC,EAAgB,IAAID,GAmGbE,GAAuB,SAClC,QAAe,CAAEC,iBAAkBN,IADD,CAjGpC,cAAsCC,EACpC,6BAAWM,GACT,MAAO,GAAGC,OAAOP,EAAeM,oBAAsB,GAAIH,EAC5D,CAEA,wBAAIK,GACF,OACErG,KAAKF,aAAa,oCAClBE,KAAKsG,2BAET,CAEA,WAAAzG,GACEE,QAEAC,KAAKuG,UAAY,iGAMjBvG,KAAKwG,kBAAoBxG,KAAKyC,cAAc,6BAC9C,CAEA,SAAIgB,GACF,OAAOzD,KAAKwG,kBAAkB/C,KAChC,CAEA,SAAIA,CAAMgD,GACRzG,KAAKwG,kBAAkB/C,MAAQgD,CACjC,CAEA,KAAAC,GACE1G,KAAKwG,kBAAkBE,OACzB,CAEA,IAAAC,GAEE3G,KAAK4G,iBAAiB,SAAU1F,IAE1BA,EAAE2F,WAAW7G,KAAKwG,kBAAkBE,OAAO,IAGjD3G,MAAM4G,SACN3G,KAAK8G,kBACP,CAEA,gBAAAA,IACE,QAAa9G,KAAMA,KAAKwG,kBAAmB,CACzCO,aAAc,CACZ,OACA,WACA,QACA,aACA,cACA,WACA,WACA,WACA,aACA,cACA,gBACA,gBACA,kCACA,oBACA,qBACA,oBACA,wBACA,6BACA,oCAKJ,QAAU/G,KAAMA,KAAKwG,kBAAmB,CAAEO,aAAc,CAAC,aAGzD/G,KAAKwG,kBAAkBQ,aAAehH,KAAKiH,sBAAsBC,KAAKlH,KACxE,CAEA,wBAAAmH,CAAyBC,EAAUC,EAAUC,GAC3CvH,MAAMoH,2BAA2BC,EAAUC,EAAUC,GAEjDD,IAAaC,GACXvB,EAAmBwB,SAASH,IAC9BpH,KAAKwH,qBAGX,CAEA,WAAAC,GACE,OAAIzH,KAAK0H,aAAe1H,KAAKyD,MACpB,CAAEkE,cAAc,GAElB,CAAEC,OAAO,EAClB,ICvHFC,eAAeC,OAAOrC,EAAeQ,GCa9B,MAAM,GAAgB,QAAiB,kBA8ExC,KAAE8B,GAAS,CACfA,KAAM,CAAEC,SAAU,IAAM,UAGbC,GAAoB,SAC/B,QAAiB,CACfC,uBAAuB,QAAiB,oBAE1C,QAAiB,CACfC,SAAU,CACRC,UAAW,IAAKL,EAAMM,SAAU,SAChCC,cAAe,IAAKP,EAAMM,SAAU,gBAGxC,MACA,QAAgB,CACdE,WAAY,CAAC,QAAS,kBACtBC,WAAY,QACZC,uBAAuB,IAEzB,MAhGmBC,GACnB,cAAqCA,EACnC,gBAAIlF,GACF,OAAOxD,KAAKF,aAAa,gBAC3B,CAEA,eAAA6I,GACM3I,KAAKwD,cACPoF,YAAW,KACT5I,KAAK6I,aAAapF,MAAQzD,KAAKwD,YAAY,GAGjD,CAEA,oBAAI0C,CAAiBzC,GACnBzD,KAAK6I,aAAa3C,iBAAmBzC,CACvC,CAEA,oBAAIyC,GACF,OAAOlG,KAAK6I,aAAa3C,gBAC3B,CAEA,IAAAS,GACE5G,MAAM4G,SACN,MAAMmC,EAAWxH,SAASU,cAAc,YAExC8G,EAASvC,UAAY,YAClB,sCAEE,aAGLvG,KAAK+I,YAAYC,YAAYF,EAASG,QAAQC,WAAU,IAExDlJ,KAAK6I,aAAe7I,KAAKmJ,WAAW1G,cAClC,IAGF,QAAazC,KAAMA,KAAK6I,aAAc,CACpC9B,aAAc,CACZ,OACA,WACA,QACA,WACA,aACA,cACA,aACA,qBACA,oBACA,qBACA,iCACA,kCACA,UACA,gBACA,WACA,WACA,oBACA,wBACA,6BACA,gCACA,qBACA,iBACA,gBACA,mBACA,iBACA,oBAMJ,QAAU/G,KAAMA,KAAK6I,aAAc,CAAE9B,aAAc,CAAC,aACpD/G,KAAK2I,iBACP,IAO6B,EAmB/B,QAAY,CACVS,MAAO,GACPC,eAAgB,sBAChBC,MAAO,IAAM,wKAWb,wHAOA,wCAIAC,iBAAkB,CAAC,WAAY,gBAAiB,SAChD9D,cAAa,KCxIjBoC,eAAeC,OAAO,EAAeG,E,0ICE9B,MAAMxC,GAAgB,QAAiB,+BAExCI,GAAiB,QAAqB,CAC1CJ,gBACAK,aAAc,KAEVE,EAAgB,GAEhBwD,EAAuB,yBCZ7B3B,eAAeC,OAAOrC,EDetB,cAAwCI,EACtC,6BAAWM,GACT,MAAO,GAAGC,OAAOP,EAAeM,oBAAsB,GAAIH,EAC5D,CAEA,oBAAIyD,GACF,MAAmD,SAA5CzJ,KAAKF,aAAa,qBAC3B,CAEA,mBAAI4J,GACF,OAAO1J,KAAKF,aAAa,sBAAwB,CACnD,CAEA,yBAAI6J,GACF,OAAO3J,KAAKF,aAAa,uBAAyB,kBACpD,CAEA,+BAAI8J,GACF,OACE5J,KAAKF,aAAa,mCAClB,oCAEJ,CAEA,WAAAD,GACEE,QAEAC,KAAKuG,UAAY,wQAMjBvG,KAAK6J,SAAW7J,KAAKyC,cAAc,oBACrC,CAEA,SAAIgB,GACF,OAAOzD,KAAK6J,SAASpG,KACvB,CAEA,SAAIA,CAAMgD,GACHzG,KAAKyJ,iBAMRzJ,KAAK6J,SAASpG,MAAQgD,GALtBzG,KAAK6J,SAASzE,KAAO,CAAC,CAAEZ,MAAOiC,EAAKhD,MAAOgD,IAC3CmC,YAAW,KACT5I,KAAK6J,SAASpG,MAAQgD,CAAG,IAK/B,CAEA,gBAAIjD,GACF,OAAOxD,KAAKF,aAAa,gBAC3B,CAEA,OAAM,CAAoB2D,GACxB,MAAM,QAAEL,EAAO,MAAEJ,SAAgBhD,KAAKgH,aAAavD,GACnD,OAAIT,EACK,CAAEA,SAEJ,CACLI,UAEJ,CAGA,GAAc0G,EAAarG,EAAOe,EAAOuF,GACvC,MAAO,oBAAoBvF,eAAmBf,MAAUsG,EAAW,kBAAoB,MACrFD,GAAetF,UAEnB,CAEA,KACExE,KAAK6J,SAASG,SAAW,CAACC,EAAMC,EAAGC,KACW,SAAxCA,EAAMC,KAAKtK,aAAa,YAC1BmK,EAAKI,aAAa,WAAY,QAE9BJ,EAAKK,gBAAgB,YAGvBL,EAAK1D,UAAY4D,EAAMC,KAAKG,SAAS,EAGvCvK,KAAK6J,SAASW,WAAa,EAAGV,cAAarG,QAAOe,QAAOuF,cACvD/J,MAAK,EAAc8J,EAAarG,EAAOe,EAAOuF,EAClD,CAEA,KAAArD,GACE1G,KAAK6J,SAASnD,OAChB,CAEA,IAAAC,GAEE3G,KAAK4G,iBAAiB,SAAU1F,IAE1BA,EAAE2F,WAAW7G,KAAK6J,SAASnD,OAAO,IAGxC3G,MAAM4G,SACN3G,MAAK,KAGL,QAAUA,KAAMA,KAAK6J,SAAU,CAAE9C,aAAc,CAAC,YAClD,CAEA,KACE/G,KAAKyK,iBAAkB,SAAc1I,MAAO0B,IAC1C,IACE,MAAM,QAAEL,EAAO,MAAEJ,SAAgBhD,MAAK,EAAoByD,GAC1D,MAAO,CAAEL,UAASJ,QAAOS,QAC3B,CAAE,MAAOT,GACP,MAAO,CAAEA,QAAOS,QAClB,IAlHwB,MAqH1B,QAAazD,KAAMA,KAAK6J,SAAU,CAChC9C,aAAc,CACZ,OACA,WACA,QACA,aACA,cACA,WACA,WACA,WACA,aACA,cACA,UACA,gBACA,kCACA,oBACA,qBACA,wBACA,6BACA,mCAIJ/G,KAAK6J,SAASjD,iBAAiB,iBAAkB5G,KAAK0K,SAASxD,KAAKlH,OACpEA,MAAK,GACP,CAEA,KACE,MAAO,CACL,CACEwE,MAAOxE,KAAK2J,sBACZlG,MAAO+F,EACPO,UAAU,GAGhB,CAEA,KACE,MAAO,CACL,CACEvF,MAAOxE,KAAK4J,4BACZnG,MAAO+F,EACPO,UAAU,GAGhB,CAEA,cAAMW,CAASxJ,GACb,MAAMyJ,EAAczJ,EAAE0J,OAAOnH,MAC7B,IAAKkH,GAAeA,EAAYzG,OAASlE,KAAK0J,gBAC5C,OAEF1J,KAAK6J,SAASgB,SAAU,EACxB7K,KAAK6J,SAASQ,aAAa,SAAU,QACrC,MAAMxF,QAAiB7E,KAAKyK,gBAAgBE,GACxC9F,GAAYA,EAASpB,QAAUkH,IACjC3K,KAAK6J,SAASgB,SAAU,EACpBhG,EAAS7B,MACXhD,KAAK6J,SAASzE,KAAOpF,MAAK,IACY,IAA7B6E,EAASzB,SAASc,OAC3BlE,KAAK6J,SAASzE,KAAOpF,MAAK,IAE1BA,KAAK6J,SAASzE,KAAOP,EAASzB,SAAW,GAG/C,CAGA,YAAA4D,CAAavD,GAGX,OADAhC,QAAQC,KAAK,eAAgB,2BACtB,CAAE0B,QAAS,GAAIJ,WAAO8H,EAC/B,CAEA,WAAArD,GACE,OAAIzH,KAAK0H,aAAe1H,KAAKyD,MACpB,CAAEkE,cAAc,GAElB,CAAEC,OAAO,EAClB,I,0BErMK,MAAM,GAAgB,QAAiB,uBAqExC,KAAEG,GAAS,CACfA,KAAM,CAAEC,SAAU,IAAM,UAGb+C,GAAyB,SACpC,QAAiB,CACf7C,uBAAuB,QAAiB,oBAE1C,QAAiB,CACfC,SAAU,CACRC,UAAW,IAAKL,EAAMM,SAAU,SAChCC,cAAe,IAAKP,EAAMM,SAAU,aACpC2C,SAAU,IAAKjD,GACfkD,iBAAkB,CAChBjD,SAAUkD,EAAAC,EAAc1F,cACxB4C,SAAU6C,EAAAC,EAAcC,WAAWC,yBAErCC,uBAAwB,CACtBtD,SAAUkD,EAAAC,EAAc1F,cACxB4C,SAAU6C,EAAAC,EAAcC,WAAWG,+BAErCC,qBAAsB,CACpBxD,SAAUkD,EAAAC,EAAc1F,cACxB4C,SAAU6C,EAAAC,EAAcC,WAAWK,6BAErCC,uBAAwB,CACtB1D,SAAUkD,EAAAC,EAAc1F,cACxB4C,SAAU6C,EAAAC,EAAcC,WAAWO,+BAErCC,4BAA6B,CAC3B5D,SAAUkD,EAAAC,EAAc1F,cACxB4C,SAAU6C,EAAAC,EAAcC,WAAWS,oCAErCC,4BAA6B,CAC3B9D,SAAUkD,EAAAC,EAAc1F,cACxB4C,SAAU6C,EAAAC,EAAcC,WAAWW,oCAErCC,oBAAqB,CACnBhE,SAAUkD,EAAAC,EAAc1F,cACxB4C,SAAU6C,EAAAC,EAAcC,WAAWa,+BAIzC,MACA,QAAgB,CACd1D,WAAY,CAAC,QAAS,kBACtBC,WAAY,QACZC,uBAAuB,IAEzB,MApHmBC,GACnB,cAA0CA,EACxC,gBAAIlF,GACF,OAAOxD,KAAKF,aAAa,gBAC3B,CAEA,eAAA6I,GACM3I,KAAKwD,cACPoF,YAAW,KACT5I,KAAK6I,aAAapF,MAAQzD,KAAKwD,YAAY,GAGjD,CAEA,IAAAmD,GACE5G,MAAM4G,SACN,MAAMmC,EAAWxH,SAASU,cAAc,YAExC8G,EAASvC,UAAY,YAClB,sCAEE,aAGLvG,KAAK+I,YAAYC,YAAYF,EAASG,QAAQC,WAAU,IAExDlJ,KAAK6I,aAAe7I,KAAKmJ,WAAW1G,cAClC,IAGF,QAAazC,KAAMA,KAAK6I,aAAc,CACpC9B,aAAc,CACZ,OACA,WACA,QACA,WACA,aACA,cACA,aACA,qBACA,oBACA,qBACA,iCACA,kCACA,UACA,gBACA,WACA,WACA,oBACA,wBACA,6BACA,oCAMJ,QAAU/G,KAAMA,KAAK6I,aAAc,CAAE9B,aAAc,CAAC,aACpD/G,KAAK6I,aAAa7B,aAAehH,KAAKgH,aACtChH,KAAK2I,iBACP,CAEA,gBAAI3B,CAAaA,GACfhH,KAAK6I,aAAa7B,aAAeA,CACnC,IAOkC,EAgDpC,QAAY,CACVoC,MAAO,GACPC,eAAgB,sBAChBC,MAAO,IAAM,sbAsBbC,iBAAkB,CAAC,WAAY,gBAAiB,SAChD9D,cAAa,KC1JjBoC,eAAeC,OAAO,EAAeiD,E","sources":["webpack://@descope/web-components-ui/../components/descope-address-field/src/connectors/google.js","webpack://@descope/web-components-ui/../components/descope-address-field/src/connectors/googleScriptInit.js","webpack://@descope/web-components-ui/../components/descope-address-field/src/connectors/radar.js","webpack://@descope/web-components-ui/../components/descope-address-field/src/component/descope-address-field-internal/AddressFieldInternal.js","webpack://@descope/web-components-ui/../components/descope-address-field/src/component/descope-address-field-internal/index.js","webpack://@descope/web-components-ui/../components/descope-address-field/src/component/AddressFieldClass.js","webpack://@descope/web-components-ui/../components/descope-address-field/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-autocomplete-field/src/component/descope-autocomplete-field-internal/AutocompleteFieldInternal.js","webpack://@descope/web-components-ui/../components/descope-autocomplete-field/src/component/descope-autocomplete-field-internal/index.js","webpack://@descope/web-components-ui/../components/descope-autocomplete-field/src/component/AutocompleteFieldClass.js","webpack://@descope/web-components-ui/../components/descope-autocomplete-field/src/component/index.js"],"sourcesContent":["/* global google */\n\nimport {\n createBaseConnectorClass,\n CONNECTOR_ERRORS,\n} from '@descope-ui/common/base-classes';\nimport { initGoogleMapsLoader } from './googleScriptInit';\n\nexport class GoogleMapsConnector extends createBaseConnectorClass() {\n #autocompleteService = null;\n\n #initializationPromise = null;\n\n constructor(getAttribute) {\n super(getAttribute);\n // Start initialization but don't block constructor\n this.#initializationPromise = this.#initializeAutocompleteService();\n }\n\n // eslint-disable-next-line class-methods-use-this\n getRequiredParams() {\n return ['public-api-key'];\n }\n\n // eslint-disable-next-line class-methods-use-this\n getOptionalParams() {\n return [\n {\n key: 'includedPrimaryTypes',\n attribute: 'address-types',\n },\n {\n key: 'language',\n attribute: 'address-language',\n },\n {\n key: 'region',\n attribute: 'address-region',\n },\n ];\n }\n\n async #initializeAutocompleteService() {\n const apiKey = this.getAttribute('public-api-key');\n if (this.#autocompleteService || !apiKey) {\n return;\n }\n\n try {\n initGoogleMapsLoader(apiKey);\n\n const { AutocompleteSuggestion } =\n await google.maps.importLibrary('places');\n this.#autocompleteService = AutocompleteSuggestion;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n 'Failed to initialize Google Maps Autocomplete service:',\n error,\n );\n throw error;\n }\n }\n\n async _fetchResults(query) {\n if (!query?.trim()) {\n return { results: [] };\n }\n\n try {\n await this.#initializationPromise;\n\n const request = {\n input: query,\n };\n\n // Add optional parameters\n this.getOptionalParams().forEach(({ attribute, key, defaultValue }) => {\n const value = this.getAttribute(attribute) || defaultValue;\n if (value) {\n if (key === 'includedPrimaryTypes') {\n request[key] = value\n .split(',')\n .map((type) => type.trim())\n .filter(Boolean);\n } else {\n request[key] = value;\n }\n }\n });\n\n const { suggestions } =\n await this.#autocompleteService.fetchAutocompleteSuggestions(request);\n return this.#parseResponse(suggestions);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Google Maps Places Autocomplete failed:', error);\n return { results: [], error: CONNECTOR_ERRORS.FETCH_RESULTS_ERROR };\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n #parseResponse(suggestions) {\n if (!suggestions?.length) {\n return { results: [] };\n }\n\n return {\n results: suggestions.map((suggestion) => {\n const prediction = suggestion.placePrediction;\n return {\n id: prediction.placeId,\n label: prediction.text.text,\n value: prediction.text.text,\n };\n }),\n };\n }\n}\n","export const initGoogleMapsLoader = (apiKey) => {\n if (window.google?.maps) {\n return;\n }\n\n /* eslint-disable */\n // prettier-ignore\n (g=>{var h,a,k,p=\"The Google Maps JavaScript API\",c=\"google\",l=\"importLibrary\",q=\"__ib__\",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement(\"script\"));e.set(\"libraries\",[...r]+\"\");for(k in g)e.set(k.replace(/[A-Z]/g,t=>\"_\"+t[0].toLowerCase()),g[k]);e.set(\"callback\",c+\".maps.\"+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+\" could not load.\"));a.nonce=m.querySelector(\"script[nonce]\")?.nonce||\"\";m.head.append(a)}));d[l]?console.warn(p+\" only loads once. Ignoring:\",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({\n key: apiKey,\n });\n /* eslint-enable */\n};\n","import {\n createBaseConnectorClass,\n CONNECTOR_ERRORS,\n} from '@descope-ui/common/base-classes';\n\nconst RADAR_AUTOCOMPLETE_URL = 'https://api.radar.io/v1/search/autocomplete';\n\nexport class RadarConnector extends createBaseConnectorClass() {\n // eslint-disable-next-line class-methods-use-this\n getRequiredParams() {\n return ['public-api-key'];\n }\n\n // eslint-disable-next-line class-methods-use-this\n getOptionalParams() {\n return [\n {\n key: 'layers',\n attribute: 'address-types',\n },\n {\n key: 'limit',\n attribute: 'address-limit',\n },\n {\n key: 'lang',\n attribute: 'address-language',\n },\n {\n key: 'countryCode',\n attribute: 'address-region',\n },\n ];\n }\n\n async _fetchResults(query) {\n if (!query?.trim()) {\n return { results: [] };\n }\n\n const apiKey = this.getAttribute('public-api-key');\n const params = new URLSearchParams({\n query: query.trim(),\n });\n\n // Add optional parameters\n this.getOptionalParams().forEach(({ attribute, key, defaultValue }) => {\n const value = this.getAttribute(attribute) || defaultValue;\n if (value) {\n if (key === 'layers' || key === 'countryCode') {\n params.append(\n key,\n value\n .split(',')\n .map((type) => type.trim())\n .filter(Boolean)\n .join(','),\n );\n } else {\n params.append(key, value);\n }\n }\n });\n\n try {\n const response = await fetch(\n `${RADAR_AUTOCOMPLETE_URL}?${params.toString()}`,\n {\n headers: {\n Authorization: apiKey,\n },\n },\n );\n\n if (!response.ok) {\n throw new Error(`Radar API returned ${response.status}`);\n }\n\n const data = await response.json();\n return this.#parseResponse(data);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Radar Places Autocomplete failed:', error);\n return { results: [], error: CONNECTOR_ERRORS.FETCH_RESULTS_ERROR };\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n #parseResponse(data) {\n if (!data?.addresses?.length) {\n return { results: [] };\n }\n return {\n results: data.addresses.map((address) => ({\n label: address.formattedAddress,\n value: address.formattedAddress,\n })),\n };\n }\n}\n","import { createBaseInputClass } from '@descope-ui/common/base-classes';\nimport {\n getComponentName,\n forwardAttrs,\n syncAttrs,\n} from '@descope-ui/common/components-helpers';\nimport { connectorMixin } from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport { GoogleMapsConnector, RadarConnector } from '../../connectors';\n\nexport const componentName = getComponentName('address-field-internal');\n\nconst GOOGLE_MAPS_CONNECTOR_TEMPLATE = 'google-maps-places';\nconst RADAR_CONNECTOR_TEMPLATE = 'radar';\n\nconst CONNECTOR_CLASSES = {\n [GOOGLE_MAPS_CONNECTOR_TEMPLATE]: GoogleMapsConnector,\n [RADAR_CONNECTOR_TEMPLATE]: RadarConnector,\n};\n\nconst BaseInputClass = createBaseInputClass({\n componentName,\n baseSelector: '',\n});\nconst initConnectorAttrs = ['public-api-key'];\nconst observedAttrs = [...initConnectorAttrs];\n\nclass RawAddressFieldInternal extends BaseInputClass {\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], observedAttrs);\n }\n\n get errorMsgValueMissing() {\n return (\n this.getAttribute('data-errormessage-value-missing') ||\n this.defaultErrorMsgValueMissing\n );\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n <div>\n <descope-autocomplete-field></descope-autocomplete-field>\n </div>\n `;\n\n this.autocompleteField = this.querySelector('descope-autocomplete-field');\n }\n\n get value() {\n return this.autocompleteField.value;\n }\n\n set value(val) {\n this.autocompleteField.value = val;\n }\n\n focus() {\n this.autocompleteField.focus();\n }\n\n init() {\n // This event listener needs to be placed before the super.init() call\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) this.autocompleteField.focus();\n });\n\n super.init?.();\n this.initAutocomplete();\n }\n\n initAutocomplete() {\n forwardAttrs(this, this.autocompleteField, {\n includeAttrs: [\n 'size',\n 'bordered',\n 'label',\n 'label-type',\n 'placeholder',\n 'disabled',\n 'readonly',\n 'required',\n 'full-width',\n 'helper-text',\n 'error-message',\n 'default-value',\n 'data-errormessage-value-missing',\n 'st-host-direction',\n 'allow-custom-value',\n 'min-search-length',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n ],\n });\n // This is required since when we remove the invalid attribute from the autocomplete field,\n // we want to reflect the change in the address field component\n syncAttrs(this, this.autocompleteField, { includeAttrs: ['invalid'] });\n\n // Bind the connector fetch results fn to the autocomplete field\n this.autocompleteField.fetchResults = this.fetchConnectorResults.bind(this);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (initConnectorAttrs.includes(attrName)) {\n this.initializeConnector();\n }\n }\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n return { valid: true };\n }\n}\n\nexport const AddressFieldInternal = compose(\n connectorMixin({ connectorClasses: CONNECTOR_CLASSES }),\n)(RawAddressFieldInternal);\n","import { AddressFieldInternal, componentName } from './AddressFieldInternal';\n\ncustomElements.define(componentName, AddressFieldInternal);\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport {\n getComponentName,\n forwardAttrs,\n syncAttrs,\n} from '@descope-ui/common/components-helpers';\nimport { compose } from '@descope-ui/common/utils';\nimport { componentName as descopeInternalComponentName } from './descope-address-field-internal/AddressFieldInternal';\n\nexport const componentName = getComponentName('address-field');\n\nconst customMixin = (superclass) =>\n class AddressFieldMixinClass extends superclass {\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n setDefaultValue() {\n if (this.defaultValue) {\n setTimeout(() => {\n this.inputElement.value = this.defaultValue;\n });\n }\n }\n\n set connectorClasses(value) {\n this.inputElement.connectorClasses = value;\n }\n\n get connectorClasses() {\n return this.inputElement.connectorClasses;\n }\n\n init() {\n super.init?.();\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n tabindex=\"-1\"\n ></${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(\n descopeInternalComponentName,\n );\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'size',\n 'bordered',\n 'label',\n 'required',\n 'label-type',\n 'placeholder',\n 'full-width',\n 'allow-custom-value',\n 'min-search-length',\n 'no-results-message',\n 'error-fetching-results-message',\n 'data-errormessage-value-missing',\n 'invalid',\n 'error-message',\n 'readonly',\n 'disabled',\n 'st-host-direction',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n 'connector-template',\n 'public-api-key',\n 'address-types',\n 'address-language',\n 'address-region',\n 'address-limit',\n ],\n });\n\n // This is required since when we remove the invalid attribute from the internal mappings field,\n // we want to reflect the change in the parent component\n syncAttrs(this, this.inputElement, { includeAttrs: ['invalid'] });\n this.setDefaultValue();\n }\n };\n\nconst { host } = {\n host: { selector: () => ':host' },\n};\n\nexport const AddressFieldClass = compose(\n createStyleMixin({\n componentNameOverride: getComponentName('input-wrapper'),\n }),\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n },\n }),\n draggableMixin,\n proxyInputMixin({\n proxyProps: ['value', 'selectionStart'],\n inputEvent: 'input',\n proxyParentValidation: true,\n }),\n componentNameValidationMixin,\n customMixin,\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-custom-field',\n style: () => `\n :host {\n display: inline-flex;\n max-width: 100%;\n direction: ltr;\n }\n vaadin-custom-field {\n line-height: unset;\n width: 100%;\n }\n\n ${descopeInternalComponentName} {\n display: inline-block;\n box-sizing: border-box;\n user-select: none;\n max-width: 100%;\n }\n\n ${descopeInternalComponentName} ::slotted {\n padding: 0;\n }\n`,\n excludeAttrsSync: ['tabindex', 'error-message', 'label'],\n componentName,\n }),\n);\n","import '@vaadin/custom-field';\nimport '@descope-ui/descope-autocomplete-field';\nimport './descope-address-field-internal';\n\nimport { componentName, AddressFieldClass } from './AddressFieldClass';\n\ncustomElements.define(componentName, AddressFieldClass);\n\nexport { AddressFieldClass, componentName };\n","import { createBaseInputClass } from '@descope-ui/common/base-classes';\nimport {\n forwardAttrs,\n getComponentName,\n syncAttrs,\n} from '@descope-ui/common/components-helpers';\nimport { asyncDebounce } from '@descope-ui/common/utils';\n\nexport const componentName = getComponentName('autocomplete-field-internal');\n\nconst BaseInputClass = createBaseInputClass({\n componentName,\n baseSelector: '',\n});\nconst observedAttrs = [];\n\nconst INVALID_OPTION_VALUE = 'DESCOPE_INVALID_OPTION';\nconst DEBOUNCE_SEARCH_DELAY = 250;\n\nclass AutocompleteFieldInternal extends BaseInputClass {\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], observedAttrs);\n }\n\n get allowCustomValue() {\n return this.getAttribute('allow-custom-value') === 'true';\n }\n\n get minSearchLength() {\n return this.getAttribute('min-search-length') || 3;\n }\n\n get noResultsFoundMessage() {\n return this.getAttribute('no-results-message') || 'No results found';\n }\n\n get errorFetchingResultsMessage() {\n return (\n this.getAttribute('error-fetching-results-message') ||\n 'An error occurred fetching results'\n );\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n <div class=\"autocomplete-field\">\n <descope-combo-box clear-button-visible=\"true\" auto-open-disabled=\"true\" has-dynamic-data=\"true\" item-label-path=\"data-name\" item-value-path=\"data-id\" hide-toggle-button=\"true\"></descope-combo-box>\n </div>\n `;\n\n this.comboBox = this.querySelector('descope-combo-box');\n }\n\n get value() {\n return this.comboBox.value;\n }\n\n set value(val) {\n if (!this.allowCustomValue) {\n this.comboBox.data = [{ label: val, value: val }];\n setTimeout(() => {\n this.comboBox.value = val;\n });\n } else {\n this.comboBox.value = val;\n }\n }\n\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n async #autoCompleteSearch(value) {\n const { results, error } = await this.fetchResults(value);\n if (error) {\n return { error };\n }\n return {\n results,\n };\n }\n\n // eslint-disable-next-line class-methods-use-this\n #itemRenderer(displayName, value, label, disabled) {\n return `<span data-name=\"${label}\" data-id=\"${value}\" ${disabled ? 'disabled=\"true\"' : ''}>${\n displayName || label\n }</span>`;\n }\n\n #overrideComboBoxRenderers() {\n this.comboBox.renderer = (root, _, model) => {\n if (model.item.getAttribute('disabled') === 'true') {\n root.setAttribute('disabled', 'true');\n } else {\n root.removeAttribute('disabled');\n }\n // eslint-disable-next-line no-param-reassign\n root.innerHTML = model.item.outerHTML;\n };\n\n this.comboBox.renderItem = ({ displayName, value, label, disabled }) =>\n this.#itemRenderer(displayName, value, label, disabled);\n }\n\n focus() {\n this.comboBox.focus();\n }\n\n init() {\n // This event listener needs to be placed before the super.init() call\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) this.comboBox.focus();\n });\n\n super.init?.();\n this.#initComboBox();\n // This is required since when we remove the invalid attribute from the internal mappings field,\n // we want to reflect the change in the parent component\n syncAttrs(this, this.comboBox, { includeAttrs: ['invalid'] });\n }\n\n #initComboBox() {\n this.debouncedSearch = asyncDebounce(async (value) => {\n try {\n const { results, error } = await this.#autoCompleteSearch(value);\n return { results, error, value };\n } catch (error) {\n return { error, value };\n }\n }, DEBOUNCE_SEARCH_DELAY);\n\n forwardAttrs(this, this.comboBox, {\n includeAttrs: [\n 'size',\n 'bordered',\n 'label',\n 'label-type',\n 'placeholder',\n 'disabled',\n 'readonly',\n 'required',\n 'full-width',\n 'helper-text',\n 'invalid',\n 'error-message',\n 'data-errormessage-value-missing',\n 'st-host-direction',\n 'allow-custom-value',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n ],\n });\n\n this.comboBox.addEventListener('filter-changed', this.onSearch.bind(this));\n this.#overrideComboBoxRenderers();\n }\n\n #getEmptyResultsData() {\n return [\n {\n label: this.noResultsFoundMessage,\n value: INVALID_OPTION_VALUE,\n disabled: true,\n },\n ];\n }\n\n #getErrorResultsData() {\n return [\n {\n label: this.errorFetchingResultsMessage,\n value: INVALID_OPTION_VALUE,\n disabled: true,\n },\n ];\n }\n\n async onSearch(e) {\n const searchValue = e.detail.value;\n if (!searchValue || searchValue.length < this.minSearchLength) {\n return;\n }\n this.comboBox.loading = true;\n this.comboBox.setAttribute('opened', 'true');\n const response = await this.debouncedSearch(searchValue);\n if (response && response.value === searchValue) {\n this.comboBox.loading = false;\n if (response.error) {\n this.comboBox.data = this.#getErrorResultsData();\n } else if (response.results?.length === 0) {\n this.comboBox.data = this.#getEmptyResultsData();\n } else {\n this.comboBox.data = response.results || [];\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this,no-unused-vars\n fetchResults(value) {\n // eslint-disable-next-line no-console\n console.warn('fetchResults', 'needs to be implemented');\n return { results: [], error: undefined };\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n return { valid: true };\n }\n}\n\nexport default AutocompleteFieldInternal;\n","import AutocompleteFieldInternal, {\n componentName,\n} from './AutocompleteFieldInternal';\n\ncustomElements.define(componentName, AutocompleteFieldInternal);\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport {\n forwardAttrs,\n getComponentName,\n syncAttrs,\n} from '@descope-ui/common/components-helpers';\nimport { compose } from '@descope-ui/common/utils';\nimport { ComboBoxClass } from '@descope-ui/descope-combo-box/class';\nimport { componentName as descopeInternalComponentName } from './descope-autocomplete-field-internal/AutocompleteFieldInternal';\n\nexport const componentName = getComponentName('autocomplete-field');\n\nconst customMixin = (superclass) =>\n class AutocompleteFieldMixinClass extends superclass {\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n setDefaultValue() {\n if (this.defaultValue) {\n setTimeout(() => {\n this.inputElement.value = this.defaultValue;\n });\n }\n }\n\n init() {\n super.init?.();\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n tabindex=\"-1\"\n ></${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(\n descopeInternalComponentName,\n );\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'size',\n 'bordered',\n 'label',\n 'required',\n 'label-type',\n 'placeholder',\n 'full-width',\n 'allow-custom-value',\n 'min-search-length',\n 'no-results-message',\n 'error-fetching-results-message',\n 'data-errormessage-value-missing',\n 'invalid',\n 'error-message',\n 'readonly',\n 'disabled',\n 'st-host-direction',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n ],\n });\n\n // This is required since when we remove the invalid attribute from the internal mappings field,\n // we want to reflect the change in the parent component\n syncAttrs(this, this.inputElement, { includeAttrs: ['invalid'] });\n this.inputElement.fetchResults = this.fetchResults;\n this.setDefaultValue();\n }\n\n set fetchResults(fetchResults) {\n this.inputElement.fetchResults = fetchResults;\n }\n };\n\nconst { host } = {\n host: { selector: () => ':host' },\n};\n\nexport const AutocompleteFieldClass = compose(\n createStyleMixin({\n componentNameOverride: getComponentName('input-wrapper'),\n }),\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: { ...host },\n checkmarkDisplay: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlayCheckmarkDisplay,\n },\n itemPaddingInlineStart: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlayItemPaddingInlineStart,\n },\n itemPaddingInlineEnd: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlayItemPaddingInlineEnd,\n },\n selectedItemBackground: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlaySelectedItemBackground,\n },\n selectedItemHoverBackground: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlaySelectedItemHoverBackground,\n },\n selectedItemFocusBackground: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlaySelectedItemFocusBackground,\n },\n itemHoverBackground: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlayItemHoverBackground,\n },\n },\n }),\n draggableMixin,\n proxyInputMixin({\n proxyProps: ['value', 'selectionStart'],\n inputEvent: 'input',\n proxyParentValidation: true,\n }),\n componentNameValidationMixin,\n customMixin,\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-custom-field',\n style: () => `\n :host {\n display: inline-flex;\n max-width: 100%;\n direction: ltr;\n }\n vaadin-custom-field {\n line-height: unset;\n width: 100%;\n }\n\n descope-autocomplete-field-internal {\n display: inline-block;\n box-sizing: border-box;\n user-select: none;\n max-width: 100%;\n }\n\n descope-autocomplete-field-internal ::slotted {\n padding: 0;\n }\n `,\n excludeAttrsSync: ['tabindex', 'error-message', 'label'],\n componentName,\n }),\n);\n","import '@vaadin/custom-field';\nimport '@descope-ui/descope-combo-box';\nimport './descope-autocomplete-field-internal';\n\nimport {\n componentName,\n AutocompleteFieldClass,\n} from './AutocompleteFieldClass';\n\ncustomElements.define(componentName, AutocompleteFieldClass);\n\nexport { AutocompleteFieldClass, componentName };\n"],"names":["GoogleMapsConnector","constructor","getAttribute","super","this","getRequiredParams","getOptionalParams","key","attribute","apiKey","g","h","a","k","p","c","l","q","m","b","d","r","e","window","google","maps","document","Set","URLSearchParams","console","warn","f","n","add","Promise","async","createElement","set","replace","t","toLowerCase","src","onerror","Error","nonce","querySelector","head","append","then","initGoogleMapsLoader","AutocompleteSuggestion","importLibrary","error","_fetchResults","query","trim","results","request","input","forEach","defaultValue","value","split","map","type","filter","Boolean","suggestions","fetchAutocompleteSuggestions","FETCH_RESULTS_ERROR","length","suggestion","prediction","placePrediction","id","placeId","label","text","RadarConnector","params","join","response","fetch","toString","headers","Authorization","ok","status","data","json","addresses","address","formattedAddress","componentName","GOOGLE_MAPS_CONNECTOR_TEMPLATE","RADAR_CONNECTOR_TEMPLATE","CONNECTOR_CLASSES","BaseInputClass","baseSelector","initConnectorAttrs","observedAttrs","AddressFieldInternal","connectorClasses","observedAttributes","concat","errorMsgValueMissing","defaultErrorMsgValueMissing","innerHTML","autocompleteField","val","focus","init","addEventListener","isTrusted","initAutocomplete","includeAttrs","fetchResults","fetchConnectorResults","bind","attributeChangedCallback","attrName","oldValue","newValue","includes","initializeConnector","getValidity","isRequired","valueMissing","valid","customElements","define","host","selector","AddressFieldClass","componentNameOverride","mappings","hostWidth","property","hostDirection","proxyProps","inputEvent","proxyParentValidation","superclass","setDefaultValue","setTimeout","inputElement","template","baseElement","appendChild","content","cloneNode","shadowRoot","slots","wrappedEleName","style","excludeAttrsSync","INVALID_OPTION_VALUE","allowCustomValue","minSearchLength","noResultsFoundMessage","errorFetchingResultsMessage","comboBox","displayName","disabled","renderer","root","_","model","item","setAttribute","removeAttribute","outerHTML","renderItem","debouncedSearch","onSearch","searchValue","detail","loading","undefined","AutocompleteFieldClass","fontSize","checkmarkDisplay","ComboBoxClass","C","cssVarList","overlayCheckmarkDisplay","itemPaddingInlineStart","overlayItemPaddingInlineStart","itemPaddingInlineEnd","overlayItemPaddingInlineEnd","selectedItemBackground","overlaySelectedItemBackground","selectedItemHoverBackground","overlaySelectedItemHoverBackground","selectedItemFocusBackground","overlaySelectedItemFocusBackground","itemHoverBackground","overlayItemHoverBackground"],"sourceRoot":""}
|
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[1456,5710],{
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[1456,5710],{11339:(e,t,n)=>{n.r(t),n.d(t,{AlertClass:()=>p,componentName:()=>a}),n(63196);var r=n(79365),o=n(9696),i=n(97810),s=n(81365),l=n(30521),d=n(25964);const a=(0,i.xE)("alert");class h extends((0,s.q)({componentName:a,baseSelector:":host > div"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <div>\n <div class="icon"></div>\n <div class="content">\n <descope-enriched-text>\n <slot></slot>\n </descope-enriched-text>\n </div>\n </div>\n ',(0,d.fz)('\n :host {\n display: inline-flex;\n }\n :host > div {\n display: flex;\n width: 100%;\n }\n :host([empty="true"]) {\n display: none;\n }\n .icon {\n flex-shrink: 0;\n }\n .content {\n display: flex;\n flex-wrap: wrap;\n white-space: normal;\n overflow-wrap: break-word;\n }\n ',this)}init(){super.init?.(),this.slotEle=this.shadowRoot.querySelector("slot"),this.textComp=this.shadowRoot.querySelector("descope-enriched-text"),this.slotEle.addEventListener("slotchange",this.handleSlotChange.bind(this)),(0,d.Gh)(this.textComp,this,{includeAttrs:["empty"]}),(0,d.Ge)(this,this.handleChildrenChange.bind(this)),(0,i.EA)(this,this.textComp,{includeAttrs:["variant","full-width","link-target-blank"]})}handleChildrenChange(){this.textComp.textContent=this.textContent}handleSlotChange(){const e=this.slotEle.assignedNodes({flatten:!0});e.length&&(this.textComp.textContent=e[0]?.textContent||"")}}const{icon:c}={icon:{selector:()=>".icon"}},p=(0,o.Zz)((0,r.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},hostDirection:{selector:()=>":host",property:"direction"},textColor:{selector:l.m.componentName,property:l.m.cssVarList.textColor},backgroundColor:{},borderColor:{},borderWidth:{},borderStyle:{},borderRadius:{},fontSize:[{},{selector:l.m.componentName,property:l.m.cssVarList.fontSize}],gap:{},horizontalPadding:[{property:"padding-top"},{property:"padding-bottom"}],verticalPadding:[{property:"padding-right"},{property:"padding-left"}],alignItems:{},justifyContent:{},icon:[{...c,property:"content"},{...c,property:"display",fallback:"none"}],iconSize:[{...c,property:"width"},{...c,property:"height"}]}}),(0,r.RF)({componentNameOverride:(0,i.xE)("enriched-text")}),(0,r.RF)({componentNameOverride:(0,i.xE)("text")}),r.VO,r.tQ)(h);customElements.define(a,p)},30521:(e,t,n)=>{n.d(t,{T:()=>c,m:()=>m});var r=n(92540),o=n(79365),i=n(9696),s=n(97810),l=n(610),d=n(81365),a=n(39449),h=n(25964);const c=(0,s.xE)("enriched-text");class p extends((0,d.q)({componentName:c,baseSelector:":host > div"})){#e;#t;constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <div class="content"></div>\n ',(0,h.fz)("\n :host {\n line-height: 1em;\n word-break: break-word;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n *, *:last-child {\n margin: 0;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n p {\n margin-bottom: 1em;\n }\n a {\n cursor: pointer;\n }\n blockquote {\n padding: 0 2em;\n }\n u {\n text-decoration: underline\n }\n s {\n color: currentColor;\n }\n ",this),this.#n(),(0,s.Ge)(this,this.#r.bind(this))}static get observedAttributes(){return["readonly","link-target-blank"]}attributeChangedCallback(e,t,n){super.attributeChangedCallback?.(e,t,n),n!==t&&("readonly"===e&&this.onReadOnlyChange("true"===n),"link-target-blank"===e&&this.#n())}customUnderlineRenderer(){this.processor.renderer.rules.em_open=(e,t,n,r,o)=>("_"===e[t].markup&&(e[t].tag="u"),this.#t(e,t,n,r,o)),this.processor.renderer.rules.em_close=(e,t,n,r,o)=>("_"===e[t].markup&&(e[t].tag="u"),this.#t(e,t,n,r,o))}#o(){this.linkTargetBlank?this.processor.renderer.rules.link_open=(e,t,n,r,o)=>(e[t].attrSet("target","_blank"),this.#e(e,t,n,r,o)):this.processor.renderer.rules.link_open=this.#e}#i(){this.processor&&this.processor.disable(l.M)}#s(){this.#i()}#l(){this.#e=this.processor.renderer.rules.link_open||((e,t,n,r,o)=>o.renderToken(e,t,n)),this.#t=this.processor.renderer.rules.em_open||((e,t,n,r,o)=>o.renderToken(e,t,n))}#n(){this.processor=new r.A("commonmark",{html:!0}),this.#l(),this.#s(),this.#o(),this.customUnderlineRenderer()}get linkTargetBlank(){return"true"===this.getAttribute("link-target-blank")}get contentNode(){return this.shadowRoot.querySelector(".content")}#r(){if(!this.processor)return;let e=(0,a.G)(this.innerHTML);!e?.trim()&&this.isConnected?this.setAttribute("empty","true"):this.removeAttribute("empty");try{const t=this.processor.parse(e,{references:void 0});e=this.processor.renderer.render(t,{html:!0,breaks:!0})}catch(e){console.warn("Not parsing invalid markdown token")}this.contentNode.innerHTML=e}onReadOnlyChange(e){e?this.contentNode.setAttribute("inert",e):this.contentNode.removeAttribute("inert")}}const m=(0,i.Zz)((0,o.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},hostDisplay:{selector:()=>":host",property:"display",fallback:"inline-block"},hostDirection:{selector:()=>":host",property:"direction"},fontSize:{},fontFamily:{},fontWeight:{},fontWeightBold:[{selector:()=>":host strong",property:"font-weight"},{selector:()=>":host b",property:"font-weight"}],textColor:{property:"color"},textLineHeight:{property:"line-height"},textAlign:{},linkColor:{selector:"a",property:"color"},linkTextDecoration:{selector:"a",property:"text-decoration"},linkHoverTextDecoration:{selector:"a:hover",property:"text-decoration"},minHeight:{},minWidth:{}}}),(0,o.RF)({componentNameOverride:(0,s.xE)("link")}),(0,o.RF)({componentNameOverride:(0,s.xE)("text")}),o.VO,o.tQ)(p)},610:(e,t,n)=>{n.d(t,{M:()=>r});const r=["blockquote","list","image","table","code","hr","backticks","fence","reference","heading","lheading","html_block"]},39449:(e,t,n)=>{n.d(t,{G:()=>r});const r=e=>{const t=document.createElement("textarea");return t.innerHTML=e,t.value}},63196:(e,t,n)=>{n.r(t),n.d(t,{EnrichedTextClass:()=>r.m,componentName:()=>r.T});var r=n(30521);customElements.define(r.T,r.m)}}]);
|
2
|
+
//# sourceMappingURL=descope-alert-index-js.js.map
|