@descope/web-components-ui 1.31.0 → 1.33.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,5 +1,5 @@
|
|
1
|
-
/*! For license information please see
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[5691,
|
1
|
+
/*! For license information please see 7774.js.LICENSE.txt */
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[5691,7774],{1632:(t,e,o)=>{o(52915),o(54886),o(27397),o(25244);var i=o(47642),s=o(87550);const a=s.AH`
|
3
3
|
:host {
|
4
4
|
outline: none;
|
5
5
|
}
|
@@ -7,7 +7,7 @@
|
|
7
7
|
[part='toggle-button']::before {
|
8
8
|
content: var(--lumo-icons-dropdown);
|
9
9
|
}
|
10
|
-
`;(0,s.SF)("vaadin-combo-box",[i.k,a],{moduleId:"lumo-combo-box"}),o(
|
10
|
+
`;(0,s.SF)("vaadin-combo-box",[i.k,a],{moduleId:"lumo-combo-box"}),o(86689);var l=o(13256),r=o(82901),n=o(23927),d=o(79769);class h extends((0,d.y)((0,s.cp)((0,n.v)(l.Pu)))){static get template(){return l.qy`
|
11
11
|
<style>
|
12
12
|
:host {
|
13
13
|
display: block;
|
@@ -21,7 +21,7 @@
|
|
21
21
|
<div part="content">
|
22
22
|
<slot></slot>
|
23
23
|
</div>
|
24
|
-
`}static get is(){return"vaadin-combo-box-item"}}(0,r.X)(h);var p=o(
|
24
|
+
`}static get is(){return"vaadin-combo-box-item"}}(0,r.X)(h);var p=o(24473),u=o(5072),c=o(32888);const m=s.AH`
|
25
25
|
#overlay {
|
26
26
|
width: var(--vaadin-combo-box-overlay-width, var(--_vaadin-combo-box-overlay-default-width, auto));
|
27
27
|
}
|
@@ -37,7 +37,7 @@
|
|
37
37
|
<div part="loader"></div>
|
38
38
|
<div part="content" id="content"><slot></slot></div>
|
39
39
|
</div>
|
40
|
-
`}}(0,r.X)(v);var b=o(
|
40
|
+
`}}(0,r.X)(v);var b=o(70616);class g extends((0,b.N)(l.Pu)){static get is(){return"vaadin-combo-box-scroller"}static get template(){return l.qy`
|
41
41
|
<style>
|
42
42
|
:host {
|
43
43
|
display: block;
|
@@ -64,7 +64,7 @@
|
|
64
64
|
<div id="selector">
|
65
65
|
<slot></slot>
|
66
66
|
</div>
|
67
|
-
`}}(0,r.X)(g);var f=o(
|
67
|
+
`}}(0,r.X)(g);var f=o(90676),_=o(81488),y=o(44218),x=o(18330),w=o(37720),k=o(83304);const C=t=>class extends((0,k.U)(t)){static get properties(){return{pattern:{type:String}}}static get delegateAttrs(){return[...super.delegateAttrs,"pattern"]}static get constraints(){return[...super.constraints,"pattern"]}};var S=o(86314),I=o(11402),F=o(65909);(0,s.SF)("vaadin-combo-box",S.k,{moduleId:"vaadin-combo-box-styles"});class z extends((0,I.K)((0,F.x)(C((0,y.R)((0,s.cp)((0,f.q)(l.Pu))))))){static get is(){return"vaadin-combo-box"}static get template(){return l.qy`
|
68
68
|
<style>
|
69
69
|
:host([opened]) {
|
70
70
|
pointer-events: auto;
|
@@ -110,7 +110,7 @@
|
|
110
110
|
></vaadin-combo-box-overlay>
|
111
111
|
|
112
112
|
<slot name="tooltip"></slot>
|
113
|
-
`}static get properties(){return{_positionTarget:{type:Object}}}get clearElement(){return this.$.clearButton}ready(){super.ready(),this.addController(new x.f(this,(t=>{this._setInputElement(t),this._setFocusElement(t),this.stateTarget=t,this.ariaTarget=t}))),this.addController(new w.q(this.inputElement,this._labelController)),this._tooltipController=new _.I(this),this.addController(this._tooltipController),this._tooltipController.setPosition("top"),this._tooltipController.setAriaTarget(this.inputElement),this._tooltipController.setShouldShow((t=>!t.opened)),this._positionTarget=this.shadowRoot.querySelector('[part="input-field"]'),this._toggleElement=this.$.toggleButton}_onClearButtonClick(t){t.stopPropagation(),super._onClearButtonClick(t)}_onHostClick(t){const e=t.composedPath();(e.includes(this._labelNode)||e.includes(this._positionTarget))&&super._onHostClick(t)}}(0,r.X)(z)},
|
113
|
+
`}static get properties(){return{_positionTarget:{type:Object}}}get clearElement(){return this.$.clearButton}ready(){super.ready(),this.addController(new x.f(this,(t=>{this._setInputElement(t),this._setFocusElement(t),this.stateTarget=t,this.ariaTarget=t}))),this.addController(new w.q(this.inputElement,this._labelController)),this._tooltipController=new _.I(this),this.addController(this._tooltipController),this._tooltipController.setPosition("top"),this._tooltipController.setAriaTarget(this.inputElement),this._tooltipController.setShouldShow((t=>!t.opened)),this._positionTarget=this.shadowRoot.querySelector('[part="input-field"]'),this._toggleElement=this.$.toggleButton}_onClearButtonClick(t){t.stopPropagation(),super._onClearButtonClick(t)}_onHostClick(t){const e=t.composedPath();(e.includes(this._labelNode)||e.includes(this._positionTarget))&&super._onHostClick(t)}}(0,r.X)(z)},25003:(t,e,o)=>{o(64511),o(42068),o(9433),o(83315);var i=o(57843),s=o(8403),a=o(87550);const l=a.AH`
|
114
114
|
:host {
|
115
115
|
--lumo-text-field-size: var(--lumo-size-m);
|
116
116
|
color: var(--lumo-body-text-color);
|
@@ -187,7 +187,7 @@
|
|
187
187
|
:host([theme~='whitespace'][has-label]) [part='label'] {
|
188
188
|
padding-bottom: 0.5em;
|
189
189
|
}
|
190
|
-
`;(0,a.SF)("vaadin-custom-field",[s.Q,i.d,l],{moduleId:"lumo-custom-field"});var r=o(
|
190
|
+
`;(0,a.SF)("vaadin-custom-field",[s.Q,i.d,l],{moduleId:"lumo-custom-field"});var r=o(13256),n=o(82901),d=o(90676),h=o(53149),p=o(7888),u=o(1508),c=o(81488),m=o(26127);const v=t=>t.split("\t"),b=t=>t.join("\t"),g=t=>class extends((0,m.Y)((0,h.y)((0,p.f)(t)))){static get properties(){return{name:String,value:{type:String,observer:"__valueChanged",notify:!0},inputs:{type:Array,readOnly:!0},formatValue:{type:Function},parseValue:{type:Function}}}ready(){super.ready(),this.setAttribute("role","group"),this.ariaTarget=this,this.__childrenObserver=new MutationObserver((()=>{this.__setInputsFromSlot()})),this.__setInputsFromSlot(),this.$.slot.addEventListener("slotchange",(()=>{this.__setInputsFromSlot(),(0,u.J$)(this.$.slot).filter((t=>!this.__isInput(t))).forEach((t=>{this.__childrenObserver.observe(t,{childList:!0})}))})),this._tooltipController=new c.I(this),this.addController(this._tooltipController),this._tooltipController.setShouldShow((t=>!(t.inputs||[]).some((t=>t.opened))))}focus(){this.inputs&&this.inputs[0]&&this.inputs[0].focus()}_setFocused(t){super._setFocused(t),t||this.validate()}_shouldRemoveFocus(t){const{relatedTarget:e}=t;return!this.inputs.some((t=>e===(t.focusElement||t)))}checkValidity(){return!(this.inputs.filter((t=>!(t.validate||t.checkValidity).call(t))).length||this.required&&!this.value.trim())}_onKeyDown(t){"Tab"===t.key&&(this.inputs.indexOf(t.target)<this.inputs.length-1&&!t.shiftKey||this.inputs.indexOf(t.target)>0&&t.shiftKey?this.dispatchEvent(new CustomEvent("internal-tab")):this.__setValue())}_onInputChange(t){t.stopPropagation(),this.__setValue(),this.validate(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!1,detail:{value:this.value}}))}__setValue(){this.__settingValue=!0;const t=this.formatValue||b;this.value=t.apply(this,[this.inputs.map((t=>t.value))]),this.__settingValue=!1}__isInput(t){return!("input"===t.getAttribute("slot")||"textarea"===t.getAttribute("slot"))&&(t.validate||t.checkValidity)}__getInputsFromSlot(){return(0,u.J$)(this.$.slot).filter((t=>this.__isInput(t)))}__setInputsFromSlot(){this._setInputs(this.__getInputsFromSlot()),this.__setValue()}__toggleHasValue(t){this.toggleAttribute("has-value",null!==t&&""!==t.trim())}__valueChanged(t,e){if(this.__settingValue||!this.inputs)return;this.__toggleHasValue(t);const o=(this.parseValue||v).apply(this,[t]);o&&0!==o.length?(this.inputs.forEach(((t,e)=>{t.value=o[e]})),void 0!==e&&this.validate()):console.warn("Value parser has not provided values array")}},f=o(51450).AH`
|
191
191
|
:host {
|
192
192
|
display: inline-flex;
|
193
193
|
}
|
@@ -234,4 +234,5 @@
|
|
234
234
|
</div>
|
235
235
|
|
236
236
|
<slot name="tooltip"></slot>
|
237
|
-
`}}(0,n.X)(_)}}]);
|
237
|
+
`}}(0,n.X)(_)}}]);
|
238
|
+
//# sourceMappingURL=7774.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"7774.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/combo-box/theme/lumo/vaadin-combo-box-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/combo-box/src/vaadin-combo-box-item.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/combo-box/src/vaadin-combo-box-overlay.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/combo-box/src/vaadin-combo-box-scroller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/pattern-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/combo-box/src/vaadin-combo-box.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/custom-field/theme/lumo/vaadin-custom-field-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/custom-field/src/vaadin-custom-field-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/custom-field/src/vaadin-custom-field-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/custom-field/src/vaadin-custom-field.js"],"sourcesContent":["import '@vaadin/input-container/theme/lumo/vaadin-input-container-styles.js';\nimport '@vaadin/vaadin-lumo-styles/font-icons.js';\nimport { inputFieldShared } from '@vaadin/vaadin-lumo-styles/mixins/input-field-shared.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst comboBox = css`\n :host {\n outline: none;\n }\n\n [part='toggle-button']::before {\n content: var(--lumo-icons-dropdown);\n }\n`;\n\nregisterStyles('vaadin-combo-box', [inputFieldShared, comboBox], { moduleId: 'lumo-combo-box' });\n","/**\n * @license\n * Copyright (c) 2015 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { html, PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';\nimport { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { ComboBoxItemMixin } from './vaadin-combo-box-item-mixin.js';\n\n/**\n * An item element used by the `<vaadin-combo-box>` dropdown.\n *\n * ### Styling\n *\n * The following shadow DOM parts are available for styling:\n *\n * Part name | Description\n * ------------|--------------\n * `checkmark` | The graphical checkmark shown for a selected item\n * `content` | The element that wraps the item content\n *\n * The following state attributes are exposed for styling:\n *\n * Attribute | Description\n * -------------|-------------\n * `selected` | Set when the item is selected\n * `focused` | Set when the item is focused\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @customElement\n * @mixes ComboBoxItemMixin\n * @mixes ThemableMixin\n * @mixes DirMixin\n * @private\n */\nexport class ComboBoxItem extends ComboBoxItemMixin(ThemableMixin(DirMixin(PolymerElement))) {\n static get template() {\n return html`\n <style>\n :host {\n display: block;\n }\n\n :host([hidden]) {\n display: none;\n }\n </style>\n <span part=\"checkmark\" aria-hidden=\"true\"></span>\n <div part=\"content\">\n <slot></slot>\n </div>\n `;\n }\n\n static get is() {\n return 'vaadin-combo-box-item';\n }\n}\n\ndefineCustomElement(ComboBoxItem);\n","/**\n * @license\n * Copyright (c) 2015 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { html, PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';\nimport { OverlayMixin } from '@vaadin/overlay/src/vaadin-overlay-mixin.js';\nimport { overlayStyles } from '@vaadin/overlay/src/vaadin-overlay-styles.js';\nimport { css, registerStyles, ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { ComboBoxOverlayMixin } from './vaadin-combo-box-overlay-mixin.js';\n\nconst comboBoxOverlayStyles = css`\n #overlay {\n width: var(--vaadin-combo-box-overlay-width, var(--_vaadin-combo-box-overlay-default-width, auto));\n }\n\n [part='content'] {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n`;\n\nregisterStyles('vaadin-combo-box-overlay', [overlayStyles, comboBoxOverlayStyles], {\n moduleId: 'vaadin-combo-box-overlay-styles',\n});\n\n/**\n * An element used internally by `<vaadin-combo-box>`. Not intended to be used separately.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes ComboBoxOverlayMixin\n * @mixes DirMixin\n * @mixes OverlayMixin\n * @mixes ThemableMixin\n * @private\n */\nexport class ComboBoxOverlay extends ComboBoxOverlayMixin(OverlayMixin(DirMixin(ThemableMixin(PolymerElement)))) {\n static get is() {\n return 'vaadin-combo-box-overlay';\n }\n\n static get template() {\n return html`\n <div id=\"backdrop\" part=\"backdrop\" hidden></div>\n <div part=\"overlay\" id=\"overlay\">\n <div part=\"loader\"></div>\n <div part=\"content\" id=\"content\"><slot></slot></div>\n </div>\n `;\n }\n}\n\ndefineCustomElement(ComboBoxOverlay);\n","/**\n * @license\n * Copyright (c) 2015 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { html, PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { ComboBoxScrollerMixin } from './vaadin-combo-box-scroller-mixin.js';\n\n/**\n * An element used internally by `<vaadin-combo-box>`. Not intended to be used separately.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes ComboBoxScrollerMixin\n * @private\n */\nexport class ComboBoxScroller extends ComboBoxScrollerMixin(PolymerElement) {\n static get is() {\n return 'vaadin-combo-box-scroller';\n }\n\n static get template() {\n return html`\n <style>\n :host {\n display: block;\n min-height: 1px;\n overflow: auto;\n\n /* Fixes item background from getting on top of scrollbars on Safari */\n transform: translate3d(0, 0, 0);\n\n /* Enable momentum scrolling on iOS */\n -webkit-overflow-scrolling: touch;\n\n /* Fixes scrollbar disappearing when 'Show scroll bars: Always' enabled in Safari */\n box-shadow: 0 0 0 white;\n }\n\n #selector {\n border-width: var(--_vaadin-combo-box-items-container-border-width);\n border-style: var(--_vaadin-combo-box-items-container-border-style);\n border-color: var(--_vaadin-combo-box-items-container-border-color, transparent);\n position: relative;\n }\n </style>\n <div id=\"selector\">\n <slot></slot>\n </div>\n `;\n }\n}\n\ndefineCustomElement(ComboBoxScroller);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { InputConstraintsMixin } from './input-constraints-mixin.js';\n\n/**\n * A mixin to provide `pattern` property.\n *\n * @polymerMixin\n * @mixes InputConstraintsMixin\n */\nexport const PatternMixin = (superclass) =>\n class PatternMixinClass extends InputConstraintsMixin(superclass) {\n static get properties() {\n return {\n /**\n * A regular expression that the value is checked against.\n * The pattern must match the entire value, not just some subset.\n */\n pattern: {\n type: String,\n },\n };\n }\n\n static get delegateAttrs() {\n return [...super.delegateAttrs, 'pattern'];\n }\n\n static get constraints() {\n return [...super.constraints, 'pattern'];\n }\n };\n","/**\n * @license\n * Copyright (c) 2015 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/input-container/src/vaadin-input-container.js';\nimport './vaadin-combo-box-item.js';\nimport './vaadin-combo-box-overlay.js';\nimport './vaadin-combo-box-scroller.js';\nimport { html, PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';\nimport { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js';\nimport { InputControlMixin } from '@vaadin/field-base/src/input-control-mixin.js';\nimport { InputController } from '@vaadin/field-base/src/input-controller.js';\nimport { LabelledInputController } from '@vaadin/field-base/src/labelled-input-controller.js';\nimport { PatternMixin } from '@vaadin/field-base/src/pattern-mixin.js';\nimport { inputFieldShared } from '@vaadin/field-base/src/styles/input-field-shared-styles.js';\nimport { registerStyles, ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { ComboBoxDataProviderMixin } from './vaadin-combo-box-data-provider-mixin.js';\nimport { ComboBoxMixin } from './vaadin-combo-box-mixin.js';\n\nregisterStyles('vaadin-combo-box', inputFieldShared, { moduleId: 'vaadin-combo-box-styles' });\n\n/**\n * `<vaadin-combo-box>` is a web component for choosing a value from a filterable list of options\n * presented in a dropdown overlay. The options can be provided as a list of strings or objects\n * by setting [`items`](#/elements/vaadin-combo-box#property-items) property on the element.\n *\n * ```html\n * <vaadin-combo-box id=\"combo-box\"></vaadin-combo-box>\n * ```\n *\n * ```js\n * document.querySelector('#combo-box').items = ['apple', 'orange', 'banana'];\n * ```\n *\n * When the selected `value` is changed, a `value-changed` event is triggered.\n *\n * ### Item rendering\n *\n * To customize the content of the `<vaadin-combo-box-item>` elements placed in the dropdown, use\n * [`renderer`](#/elements/vaadin-combo-box#property-renderer) property which accepts a function.\n * The renderer function is called with `root`, `comboBox`, and `model` as arguments.\n *\n * Generate DOM content by using `model` object properties if needed, and append it to the `root`\n * element. The `comboBox` reference is provided to access the combo-box element state. Do not\n * set combo-box properties in a `renderer` function.\n *\n * ```js\n * const comboBox = document.querySelector('#combo-box');\n * comboBox.items = [{'label': 'Hydrogen', 'value': 'H'}];\n * comboBox.renderer = (root, comboBox, model) => {\n * const item = model.item;\n * root.innerHTML = `${model.index}: ${item.label} <b>${item.value}</b>`;\n * };\n * ```\n *\n * Renderer is called on the opening of the combo-box and each time the related model is updated.\n * Before creating new content, it is recommended to check if there is already an existing DOM\n * element in `root` from a previous renderer call for reusing it. Even though combo-box uses\n * infinite scrolling, reducing DOM operations might improve performance.\n *\n * The following properties are available in the `model` argument:\n *\n * Property | Type | Description\n * -----------|------------------|-------------\n * `index` | Number | Index of the item in the `items` array\n * `item` | String or Object | The item reference\n * `selected` | Boolean | True when item is selected\n * `focused` | Boolean | True when item is focused\n *\n * ### Lazy Loading with Function Data Provider\n *\n * In addition to assigning an array to the items property, you can alternatively use the\n * [`dataProvider`](#/elements/vaadin-combo-box#property-dataProvider) function property.\n * The `<vaadin-combo-box>` calls this function lazily, only when it needs more data\n * to be displayed.\n *\n * __Note that when using function data providers, the total number of items\n * needs to be set manually. The total number of items can be returned\n * in the second argument of the data provider callback:__\n *\n * ```js\n * comboBox.dataProvider = async (params, callback) => {\n * const API = 'https://demo.vaadin.com/demo-data/1.0/filtered-countries';\n * const { filter, page, pageSize } = params;\n * const index = page * pageSize;\n *\n * const res = await fetch(`${API}?index=${index}&count=${pageSize}&filter=${filter}`);\n * if (res.ok) {\n * const { result, size } = await res.json();\n * callback(result, size);\n * }\n * };\n * ```\n *\n * ### Styling\n *\n * The following custom properties are available for styling:\n *\n * Custom property | Description | Default\n * ----------------------------------------|----------------------------|---------\n * `--vaadin-field-default-width` | Default width of the field | `12em`\n * `--vaadin-combo-box-overlay-width` | Width of the overlay | `auto`\n * `--vaadin-combo-box-overlay-max-height` | Max height of the overlay | `65vh`\n *\n * `<vaadin-combo-box>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.\n * See [`<vaadin-text-field>`](#/elements/vaadin-text-field) for the styling documentation.\n *\n * In addition to `<vaadin-text-field>` parts, the following parts are available for theming:\n *\n * Part name | Description\n * ----------------|----------------\n * `toggle-button` | The toggle button\n *\n * In addition to `<vaadin-text-field>` state attributes, the following state attributes are available for theming:\n *\n * Attribute | Description | Part name\n * ----------|-------------|------------\n * `opened` | Set when the combo box dropdown is open | :host\n * `loading` | Set when new items are expected | :host\n *\n * If you want to replace the default `<input>` and its container with a custom implementation to get full control\n * over the input field, consider using the [`<vaadin-combo-box-light>`](#/elements/vaadin-combo-box-light) element.\n *\n * ### Internal components\n *\n * In addition to `<vaadin-combo-box>` itself, the following internal\n * components are themable:\n *\n * - `<vaadin-combo-box-overlay>` - has the same API as [`<vaadin-overlay>`](#/elements/vaadin-overlay).\n * - `<vaadin-combo-box-item>` - has the same API as [`<vaadin-item>`](#/elements/vaadin-item).\n * - [`<vaadin-input-container>`](#/elements/vaadin-input-container) - an internal element wrapping the input.\n *\n * Note: the `theme` attribute value set on `<vaadin-combo-box>` is\n * propagated to the internal components listed above.\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @fires {Event} change - Fired when the user commits a value change.\n * @fires {CustomEvent} custom-value-set - Fired when the user sets a custom value.\n * @fires {CustomEvent} filter-changed - Fired when the `filter` property changes.\n * @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.\n * @fires {CustomEvent} opened-changed - Fired when the `opened` property changes.\n * @fires {CustomEvent} selected-item-changed - Fired when the `selectedItem` property changes.\n * @fires {CustomEvent} value-changed - Fired when the `value` property changes.\n * @fires {CustomEvent} validated - Fired whenever the field is validated.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes ElementMixin\n * @mixes ThemableMixin\n * @mixes InputControlMixin\n * @mixes PatternMixin\n * @mixes ComboBoxDataProviderMixin\n * @mixes ComboBoxMixin\n */\nclass ComboBox extends ComboBoxDataProviderMixin(\n ComboBoxMixin(PatternMixin(InputControlMixin(ThemableMixin(ElementMixin(PolymerElement))))),\n) {\n static get is() {\n return 'vaadin-combo-box';\n }\n\n static get template() {\n return html`\n <style>\n :host([opened]) {\n pointer-events: auto;\n }\n </style>\n\n <div class=\"vaadin-combo-box-container\">\n <div part=\"label\">\n <slot name=\"label\"></slot>\n <span part=\"required-indicator\" aria-hidden=\"true\" on-click=\"focus\"></span>\n </div>\n\n <vaadin-input-container\n part=\"input-field\"\n readonly=\"[[readonly]]\"\n disabled=\"[[disabled]]\"\n invalid=\"[[invalid]]\"\n theme$=\"[[_theme]]\"\n >\n <slot name=\"prefix\" slot=\"prefix\"></slot>\n <slot name=\"input\"></slot>\n <div id=\"clearButton\" part=\"clear-button\" slot=\"suffix\" aria-hidden=\"true\"></div>\n <div id=\"toggleButton\" part=\"toggle-button\" slot=\"suffix\" aria-hidden=\"true\"></div>\n </vaadin-input-container>\n\n <div part=\"helper-text\">\n <slot name=\"helper\"></slot>\n </div>\n\n <div part=\"error-message\">\n <slot name=\"error-message\"></slot>\n </div>\n </div>\n\n <vaadin-combo-box-overlay\n id=\"overlay\"\n opened=\"[[_overlayOpened]]\"\n loading$=\"[[loading]]\"\n theme$=\"[[_theme]]\"\n position-target=\"[[_positionTarget]]\"\n no-vertical-overlap\n restore-focus-node=\"[[inputElement]]\"\n ></vaadin-combo-box-overlay>\n\n <slot name=\"tooltip\"></slot>\n `;\n }\n\n static get properties() {\n return {\n /**\n * @protected\n */\n _positionTarget: {\n type: Object,\n },\n };\n }\n\n /**\n * Used by `InputControlMixin` as a reference to the clear button element.\n * @protected\n * @return {!HTMLElement}\n */\n get clearElement() {\n return this.$.clearButton;\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this.addController(\n new InputController(this, (input) => {\n this._setInputElement(input);\n this._setFocusElement(input);\n this.stateTarget = input;\n this.ariaTarget = input;\n }),\n );\n this.addController(new LabelledInputController(this.inputElement, this._labelController));\n\n this._tooltipController = new TooltipController(this);\n this.addController(this._tooltipController);\n this._tooltipController.setPosition('top');\n this._tooltipController.setAriaTarget(this.inputElement);\n this._tooltipController.setShouldShow((target) => !target.opened);\n\n this._positionTarget = this.shadowRoot.querySelector('[part=\"input-field\"]');\n this._toggleElement = this.$.toggleButton;\n }\n\n /**\n * Override the method from `InputControlMixin`\n * to stop event propagation to prevent `ComboBoxMixin`\n * from handling this click event also on its own.\n *\n * @param {Event} event\n * @protected\n * @override\n */\n _onClearButtonClick(event) {\n event.stopPropagation();\n super._onClearButtonClick(event);\n }\n\n /**\n * @param {Event} event\n * @protected\n */\n _onHostClick(event) {\n const path = event.composedPath();\n\n // Open dropdown only when clicking on the label or input field\n if (path.includes(this._labelNode) || path.includes(this._positionTarget)) {\n super._onHostClick(event);\n }\n }\n}\n\ndefineCustomElement(ComboBox);\n\nexport { ComboBox };\n","/**\n * @license\n * Copyright (c) 2019 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/vaadin-lumo-styles/color.js';\nimport '@vaadin/vaadin-lumo-styles/sizing.js';\nimport '@vaadin/vaadin-lumo-styles/spacing.js';\nimport '@vaadin/vaadin-lumo-styles/typography.js';\nimport { helper } from '@vaadin/vaadin-lumo-styles/mixins/helper.js';\nimport { requiredField } from '@vaadin/vaadin-lumo-styles/mixins/required-field.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst customField = css`\n :host {\n --lumo-text-field-size: var(--lumo-size-m);\n color: var(--lumo-body-text-color);\n font-size: var(--lumo-font-size-m);\n /* align with text-field height + vertical paddings */\n line-height: calc(var(--lumo-text-field-size) + 2 * var(--lumo-space-xs));\n font-family: var(--lumo-font-family);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -webkit-tap-highlight-color: transparent;\n padding: 0;\n }\n\n :host::before {\n margin-top: var(--lumo-space-xs);\n height: var(--lumo-text-field-size);\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n }\n\n /* align with text-field label */\n :host([has-label]) [part='label'] {\n padding-bottom: calc(0.5em - var(--lumo-space-xs));\n }\n\n :host(:not([has-label])) [part='label'],\n :host(:not([has-label]))::before {\n display: none;\n }\n\n /* align with text-field error message */\n :host([has-error-message]) [part='error-message']::before {\n height: calc(0.4em - var(--lumo-space-xs));\n }\n\n :host([focused]:not([readonly]):not([disabled])) [part='label'] {\n color: var(--lumo-primary-text-color);\n }\n\n :host(:hover:not([readonly]):not([disabled]):not([focused])) [part='label'],\n :host(:hover:not([readonly]):not([disabled]):not([focused])) [part='helper-text'] {\n color: var(--lumo-body-text-color);\n }\n\n /* Touch device adjustment */\n @media (pointer: coarse) {\n :host(:hover:not([readonly]):not([disabled]):not([focused])) [part='label'] {\n color: var(--lumo-secondary-text-color);\n }\n }\n\n /* Disabled */\n :host([disabled]) [part='label'] {\n color: var(--lumo-disabled-text-color);\n -webkit-text-fill-color: var(--lumo-disabled-text-color);\n }\n\n /* Small theme */\n :host([theme~='small']) {\n font-size: var(--lumo-font-size-s);\n --lumo-text-field-size: var(--lumo-size-s);\n }\n\n :host([theme~='small'][has-label]) [part='label'] {\n font-size: var(--lumo-font-size-xs);\n }\n\n :host([theme~='small'][has-label]) [part='error-message'] {\n font-size: var(--lumo-font-size-xxs);\n }\n\n /* When custom-field is used with components without outer margin */\n :host([theme~='whitespace'][has-label]) [part='label'] {\n padding-bottom: 0.5em;\n }\n`;\n\nregisterStyles('vaadin-custom-field', [requiredField, helper, customField], {\n moduleId: 'lumo-custom-field',\n});\n\nexport { customField };\n","/**\n * @license\n * Copyright (c) 2019 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { FocusMixin } from '@vaadin/a11y-base/src/focus-mixin.js';\nimport { KeyboardMixin } from '@vaadin/a11y-base/src/keyboard-mixin.js';\nimport { getFlattenedElements } from '@vaadin/component-base/src/dom-utils.js';\nimport { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js';\nimport { FieldMixin } from '@vaadin/field-base/src/field-mixin.js';\n\n/**\n * Default implementation of the parse function that creates individual field\n * values from the single component value.\n * @param value\n * @returns {*}\n */\nconst defaultParseValue = (value) => {\n return value.split('\\t');\n};\n\n/**\n * Default implementation of the format function that creates a single component\n * value from individual field values.\n * @param inputValues\n * @returns {*}\n */\nconst defaultFormatValue = (inputValues) => {\n return inputValues.join('\\t');\n};\n\n/**\n * @polymerMixin\n * @mixes FieldMixin\n * @mixes FocusMixin\n * @mixes KeyboardMixin\n */\nexport const CustomFieldMixin = (superClass) =>\n class CustomFieldMixin extends FieldMixin(FocusMixin(KeyboardMixin(superClass))) {\n static get properties() {\n return {\n /**\n * The name of the control, which is submitted with the form data.\n */\n name: String,\n\n /**\n * The value of the field. When wrapping several inputs, it will contain `\\t`\n * (Tab character) as a delimiter indicating parts intended to be used as the\n * corresponding inputs values.\n * Use the [`formatValue`](#/elements/vaadin-custom-field#property-formatValue)\n * and [`parseValue`](#/elements/vaadin-custom-field#property-parseValue)\n * properties to customize this behavior.\n */\n value: {\n type: String,\n observer: '__valueChanged',\n notify: true,\n },\n\n /**\n * Array of available input nodes\n * @type {!Array<!HTMLElement> | undefined}\n */\n inputs: {\n type: Array,\n readOnly: true,\n },\n\n /**\n * A function to format the values of the individual fields contained by\n * the custom field into a single component value. The function receives\n * an array of all values of the individual fields in the order of their\n * presence in the DOM, and must return a single component value.\n * This function is called each time a value of an internal field is\n * changed.\n *\n * Example:\n * ```js\n * customField.formatValue = (fieldValues) => {\n * return fieldValues.join(\"-\");\n * }\n * ```\n * @type {!CustomFieldFormatValueFn | undefined}\n */\n formatValue: {\n type: Function,\n },\n\n /**\n * A function to parse the component value into values for the individual\n * fields contained by the custom field. The function receives the\n * component value, and must return an array of values for the individual\n * fields in the order of their presence in the DOM.\n * The function is called each time the value of the component changes.\n *\n * Example:\n * ```js\n * customField.parseValue = (componentValue) => {\n * return componentValue.split(\"-\");\n * }\n * ```\n * @type {!CustomFieldParseValueFn | undefined}\n */\n parseValue: {\n type: Function,\n },\n };\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n // See https://github.com/vaadin/vaadin-web-components/issues/94\n this.setAttribute('role', 'group');\n\n this.ariaTarget = this;\n\n this.__childrenObserver = new MutationObserver(() => {\n this.__setInputsFromSlot();\n });\n\n this.__setInputsFromSlot();\n this.$.slot.addEventListener('slotchange', () => {\n this.__setInputsFromSlot();\n\n // Observe changes to any children except inputs\n // to allow wrapping `<input>` with `<div>` etc.\n getFlattenedElements(this.$.slot)\n .filter((el) => !this.__isInput(el))\n .forEach((el) => {\n this.__childrenObserver.observe(el, { childList: true });\n });\n });\n\n this._tooltipController = new TooltipController(this);\n this.addController(this._tooltipController);\n this._tooltipController.setShouldShow((target) => {\n const inputs = target.inputs || [];\n return !inputs.some((el) => el.opened);\n });\n }\n\n /** @protected */\n focus() {\n if (this.inputs && this.inputs[0]) {\n this.inputs[0].focus();\n }\n }\n\n /**\n * Override method inherited from `FocusMixin` to validate on blur.\n * @param {boolean} focused\n * @protected\n */\n _setFocused(focused) {\n super._setFocused(focused);\n\n if (!focused) {\n this.validate();\n }\n }\n\n /**\n * Override method inherited from `FocusMixin` to not remove focused\n * state when focus moves to another input in the custom field.\n * @param {FocusEvent} event\n * @return {boolean}\n * @protected\n */\n _shouldRemoveFocus(event) {\n const { relatedTarget } = event;\n return !this.inputs.some((el) => relatedTarget === (el.focusElement || el));\n }\n\n /**\n * Returns true if the current inputs values satisfy all constraints (if any).\n *\n * @return {boolean}\n */\n checkValidity() {\n const invalidFields = this.inputs.filter((input) => !(input.validate || input.checkValidity).call(input));\n\n if (invalidFields.length || (this.required && !this.value.trim())) {\n // Either 1. one of the input fields is invalid or\n // 2. the custom field itself is required but doesn't have a value\n return false;\n }\n return true;\n }\n\n /**\n * @param {KeyboardEvent} e\n * @protected\n * @override\n */\n _onKeyDown(e) {\n if (e.key === 'Tab') {\n if (\n (this.inputs.indexOf(e.target) < this.inputs.length - 1 && !e.shiftKey) ||\n (this.inputs.indexOf(e.target) > 0 && e.shiftKey)\n ) {\n this.dispatchEvent(new CustomEvent('internal-tab'));\n } else {\n // FIXME(yuriy): remove this workaround when value should not be updated before focusout\n this.__setValue();\n }\n }\n }\n\n /** @protected */\n _onInputChange(event) {\n // Stop native change events\n event.stopPropagation();\n\n this.__setValue();\n this.validate();\n this.dispatchEvent(\n new CustomEvent('change', {\n bubbles: true,\n cancelable: false,\n detail: {\n value: this.value,\n },\n }),\n );\n }\n\n /** @private */\n __setValue() {\n this.__settingValue = true;\n const formatFn = this.formatValue || defaultFormatValue;\n this.value = formatFn.apply(this, [this.inputs.map((input) => input.value)]);\n this.__settingValue = false;\n }\n\n /** @private */\n __isInput(node) {\n const isSlottedInput = node.getAttribute('slot') === 'input' || node.getAttribute('slot') === 'textarea';\n return !isSlottedInput && (node.validate || node.checkValidity);\n }\n\n /** @private */\n __getInputsFromSlot() {\n return getFlattenedElements(this.$.slot).filter((node) => this.__isInput(node));\n }\n\n /** @private */\n __setInputsFromSlot() {\n this._setInputs(this.__getInputsFromSlot());\n this.__setValue();\n }\n\n /** @private */\n __toggleHasValue(value) {\n this.toggleAttribute('has-value', value !== null && value.trim() !== '');\n }\n\n /** @private */\n __valueChanged(value, oldValue) {\n if (this.__settingValue || !this.inputs) {\n return;\n }\n\n this.__toggleHasValue(value);\n\n const parseFn = this.parseValue || defaultParseValue;\n const valuesArray = parseFn.apply(this, [value]);\n if (!valuesArray || valuesArray.length === 0) {\n console.warn('Value parser has not provided values array');\n return;\n }\n\n this.inputs.forEach((input, id) => {\n input.value = valuesArray[id];\n });\n if (oldValue !== undefined) {\n this.validate();\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2019 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { css } from 'lit';\n\nexport const customFieldStyles = css`\n :host {\n display: inline-flex;\n }\n\n :host::before {\n content: '\\\\2003';\n width: 0;\n display: inline-block;\n /* Size and position this element on the same vertical position as the input-field element\n to make vertical align for the host element work as expected */\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n .vaadin-custom-field-container {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n\n .inputs-wrapper {\n flex: none;\n }\n`;\n","/**\n * @license\n * Copyright (c) 2019 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { html, PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';\nimport { registerStyles, ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { CustomFieldMixin } from './vaadin-custom-field-mixin.js';\nimport { customFieldStyles } from './vaadin-custom-field-styles.js';\n\nregisterStyles('vaadin-custom-field', customFieldStyles, { moduleId: 'vaadin-custom-field-styles' });\n\n/**\n * `<vaadin-custom-field>` is a web component for wrapping multiple components as a single field.\n *\n * ```\n * <vaadin-custom-field label=\"Appointment time\">\n * <vaadin-date-picker></vaadin-date-picker>\n * <vaadin-time-picker></vaadin-time-picker>\n * </vaadin-custom-field>\n * ```\n *\n * ### Styling\n *\n * The following shadow DOM parts are available for styling:\n *\n * Part name | Description\n * ---------------------|----------------\n * `label` | The slotted label element wrapper\n * `helper-text` | The slotted helper text element wrapper\n * `error-message` | The slotted error message element wrapper\n * `required-indicator` | The `required` state indicator element\n * `input-fields` | The slotted input elements wrapper\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description | Part name\n * --------------------|-------------------------------------------|------------\n * `invalid` | Set when the element is invalid | :host\n * `focused` | Set when the element is focused | :host\n * `has-label` | Set when the element has a label | :host\n * `has-value` | Set when the element has a value | :host\n * `has-helper` | Set when the element has helper text | :host\n * `has-error-message` | Set when the element has an error message | :host\n *\n * You may also manually set `disabled` or `readonly` attribute on this component to make the label\n * part look visually the same as on a `<vaadin-text-field>` when it is disabled or readonly.\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @fires {Event} change - Fired when the user commits a value change for any of the internal inputs.\n * @fires {Event} internal-tab - Fired on Tab keydown triggered from the internal inputs, meaning focus will not leave the inputs.\n * @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.\n * @fires {CustomEvent} value-changed - Fired when the `value` property changes.\n * @fires {CustomEvent} validated - Fired whenever the field is validated.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes CustomFieldMixin\n * @mixes ElementMixin\n * @mixes ThemableMixin\n */\nclass CustomField extends CustomFieldMixin(ThemableMixin(ElementMixin(PolymerElement))) {\n static get is() {\n return 'vaadin-custom-field';\n }\n\n static get template() {\n return html`\n <div class=\"vaadin-custom-field-container\">\n <div part=\"label\" on-click=\"focus\">\n <slot name=\"label\"></slot>\n <span part=\"required-indicator\" aria-hidden=\"true\"></span>\n </div>\n\n <div class=\"inputs-wrapper\" part=\"input-fields\" on-change=\"_onInputChange\">\n <slot id=\"slot\"></slot>\n </div>\n\n <div part=\"helper-text\">\n <slot name=\"helper\"></slot>\n </div>\n\n <div part=\"error-message\">\n <slot name=\"error-message\"></slot>\n </div>\n </div>\n\n <slot name=\"tooltip\"></slot>\n `;\n }\n\n /**\n * Fired when the user commits a value change for any of the internal inputs.\n *\n * @event change\n */\n}\n\ndefineCustomElement(CustomField);\n\nexport { CustomField };\n"],"names":["comboBox","moduleId","ComboBoxItem","template","is","comboBoxOverlayStyles","ComboBoxOverlay","ComboBoxScroller","PatternMixin","superclass","properties","pattern","type","String","delegateAttrs","super","constraints","ComboBox","_positionTarget","Object","clearElement","this","$","clearButton","ready","addController","input","_setInputElement","_setFocusElement","stateTarget","ariaTarget","inputElement","_labelController","_tooltipController","setPosition","setAriaTarget","setShouldShow","target","opened","shadowRoot","querySelector","_toggleElement","toggleButton","_onClearButtonClick","event","stopPropagation","_onHostClick","path","composedPath","includes","_labelNode","customField","helper","defaultParseValue","value","split","defaultFormatValue","inputValues","join","CustomFieldMixin","superClass","name","observer","notify","inputs","Array","readOnly","formatValue","Function","parseValue","setAttribute","__childrenObserver","MutationObserver","__setInputsFromSlot","slot","addEventListener","filter","el","__isInput","forEach","observe","childList","some","focus","_setFocused","focused","validate","_shouldRemoveFocus","relatedTarget","focusElement","checkValidity","call","length","required","trim","_onKeyDown","e","key","indexOf","shiftKey","dispatchEvent","CustomEvent","__setValue","_onInputChange","bubbles","cancelable","detail","__settingValue","formatFn","apply","map","node","getAttribute","__getInputsFromSlot","_setInputs","__toggleHasValue","toggleAttribute","__valueChanged","oldValue","valuesArray","id","undefined","console","warn","customFieldStyles","CustomField"],"sourceRoot":""}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
/*! For license information please see
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[
|
1
|
+
/*! For license information please see 7939.js.LICENSE.txt */
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[7939],{10438:(t,e,a)=>{a.d(e,{U:()=>r});var i=a(98741);const n=new ResizeObserver((t=>{setTimeout((()=>{t.forEach((t=>{t.target.resizables?t.target.resizables.forEach((e=>{e._onResize(t.contentRect)})):t.target._onResize(t.contentRect)}))}))})),r=(0,i.y)((t=>class extends t{get _observeParent(){return!1}connectedCallback(){if(super.connectedCallback(),n.observe(this),this._observeParent){const t=this.parentNode instanceof ShadowRoot?this.parentNode.host:this.parentNode;t.resizables||(t.resizables=new Set,n.observe(t)),t.resizables.add(this),this.__parent=t}}disconnectedCallback(){super.disconnectedCallback(),n.unobserve(this);const t=this.__parent;if(this._observeParent&&t){const e=t.resizables;e&&(e.delete(this),0===e.size&&n.unobserve(t)),this.__parent=null}}_onResize(t){}}))},37436:(t,e,a)=>{a.d(e,{a:()=>n});var i=a(44218);const n=t=>class extends((0,i.R)(t)){static get properties(){return{autocomplete:{type:String},autocorrect:{type:String},autocapitalize:{type:String,reflectToAttribute:!0}}}static get delegateAttrs(){return[...super.delegateAttrs,"autocapitalize","autocomplete","autocorrect"]}get __data(){return this.__dataValue||{}}set __data(t){this.__dataValue=t}_inputElementChanged(t){super._inputElementChanged(t),t&&(t.value&&t.value!==this.value&&(console.warn(`Please define value on the <${this.localName}> component!`),t.value=""),this.value&&(t.value=this.value))}_setFocused(t){super._setFocused(t),!t&&document.hasFocus()&&this.validate()}_onInput(t){super._onInput(t),this.invalid&&this.validate()}_valueChanged(t,e){super._valueChanged(t,e),void 0!==e&&this.invalid&&this.validate()}}},27939:(t,e,a)=>{a(27397),a(64511),a(42068),a(83315);var i=a(47642),n=a(87550);const r=n.AH`
|
3
3
|
[part='input-field'],
|
4
4
|
[part='input-field'] ::slotted(textarea) {
|
5
5
|
height: auto;
|
@@ -49,7 +49,7 @@
|
|
49
49
|
[part='input-field'] ::slotted(vaadin-icon) {
|
50
50
|
margin-top: calc((var(--lumo-icon-size-m) - 1em * var(--lumo-line-height-s)) / -2);
|
51
51
|
}
|
52
|
-
`;(0,n.SF)("vaadin-text-area",[i.k,r],{moduleId:"lumo-text-area"}),a(
|
52
|
+
`;(0,n.SF)("vaadin-text-area",[i.k,r],{moduleId:"lumo-text-area"}),a(86689);var o=a(13256),s=a(82901),l=a(90676),d=a(81488),p=a(86314),u=a(10438),h=a(37436),c=a(37720),v=a(44099);class m extends v.r{constructor(t,e){super(t,"textarea","textarea",{initializer:(t,a)=>{const i=a.getAttribute("value");i&&(t.value=i);const n=a.getAttribute("name");n&&t.setAttribute("name",n),t.id=this.defaultId,"function"==typeof e&&e(t)},useUniqueId:!0})}}const g=t=>class extends((0,u.U)((0,h.a)(t))){static get properties(){return{maxlength:{type:Number},minlength:{type:Number},pattern:{type:String}}}static get delegateAttrs(){return[...super.delegateAttrs,"maxlength","minlength","pattern"]}static get constraints(){return[...super.constraints,"maxlength","minlength","pattern"]}get clearElement(){return this.$.clearButton}_onResize(){this._updateHeight(),this.__scrollPositionUpdated()}_onScroll(){this.__scrollPositionUpdated()}ready(){super.ready(),this.addController(new m(this,(t=>{this._setInputElement(t),this._setFocusElement(t),this.stateTarget=t,this.ariaTarget=t}))),this.addController(new c.q(this.inputElement,this._labelController)),this.addEventListener("animationend",this._onAnimationEnd),this._inputField=this.shadowRoot.querySelector("[part=input-field]"),this._inputField.addEventListener("wheel",(t=>{const e=this._inputField.scrollTop;this._inputField.scrollTop+=t.deltaY,e!==this._inputField.scrollTop&&(t.preventDefault(),this.__scrollPositionUpdated())})),this._updateHeight(),this.__scrollPositionUpdated()}__scrollPositionUpdated(){this._inputField.style.setProperty("--_text-area-vertical-scroll-position","0px"),this._inputField.style.setProperty("--_text-area-vertical-scroll-position",`${this._inputField.scrollTop}px`)}_onAnimationEnd(t){0===t.animationName.indexOf("vaadin-text-area-appear")&&this._updateHeight()}_valueChanged(t,e){super._valueChanged(t,e),this._updateHeight()}_updateHeight(){const t=this.inputElement,e=this._inputField;if(!t||!e)return;const a=e.scrollTop,i=this.value?this.value.length:0;if(this._oldValueLength>=i){const a=getComputedStyle(e).height,i=getComputedStyle(t).width;e.style.display="block",e.style.height=a,t.style.maxWidth=i,t.style.height="auto"}this._oldValueLength=i;const n=t.scrollHeight;n>t.clientHeight&&(t.style.height=`${n}px`),t.style.removeProperty("max-width"),e.style.removeProperty("display"),e.style.removeProperty("height"),e.scrollTop=a}checkValidity(){if(!super.checkValidity())return!1;if(!this.pattern||!this.inputElement.value)return!0;try{const t=this.inputElement.value.match(this.pattern);return!!t&&t[0]===t.input}catch(t){return!0}}},_=a(51450).AH`
|
53
53
|
:host {
|
54
54
|
animation: 1ms vaadin-text-area-appear;
|
55
55
|
}
|
@@ -145,4 +145,5 @@
|
|
145
145
|
</div>
|
146
146
|
|
147
147
|
<slot name="tooltip"></slot>
|
148
|
-
`}ready(){super.ready(),this._tooltipController=new d.I(this),this._tooltipController.setPosition("top"),this._tooltipController.setAriaTarget(this.inputElement),this.addController(this._tooltipController)}}(0,s.X)(f)}}]);
|
148
|
+
`}ready(){super.ready(),this._tooltipController=new d.I(this),this._tooltipController.setPosition("top"),this._tooltipController.setAriaTarget(this.inputElement),this.addController(this._tooltipController)}}(0,s.X)(f)}}]);
|
149
|
+
//# sourceMappingURL=7939.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"7939.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/resize-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-field-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-area/theme/lumo/vaadin-text-area-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/text-area-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-area/src/vaadin-text-area-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-area/src/vaadin-text-area-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-area/src/vaadin-text-area.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { dedupingMixin } from '@polymer/polymer/lib/utils/mixin.js';\n\nconst observer = new ResizeObserver((entries) => {\n setTimeout(() => {\n entries.forEach((entry) => {\n // Notify child resizables, if any\n if (entry.target.resizables) {\n entry.target.resizables.forEach((resizable) => {\n resizable._onResize(entry.contentRect);\n });\n } else {\n entry.target._onResize(entry.contentRect);\n }\n });\n });\n});\n\n/**\n * A mixin that uses a ResizeObserver to listen to host size changes.\n *\n * @polymerMixin\n */\nexport const ResizeMixin = dedupingMixin(\n (superclass) =>\n class ResizeMixinClass extends superclass {\n /**\n * When true, the parent element resize will be also observed.\n * Override this getter and return `true` to enable this.\n *\n * @protected\n */\n get _observeParent() {\n return false;\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n observer.observe(this);\n\n if (this._observeParent) {\n const parent = this.parentNode instanceof ShadowRoot ? this.parentNode.host : this.parentNode;\n\n if (!parent.resizables) {\n parent.resizables = new Set();\n observer.observe(parent);\n }\n\n parent.resizables.add(this);\n this.__parent = parent;\n }\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n observer.unobserve(this);\n\n const parent = this.__parent;\n if (this._observeParent && parent) {\n const resizables = parent.resizables;\n\n if (resizables) {\n resizables.delete(this);\n\n if (resizables.size === 0) {\n observer.unobserve(parent);\n }\n }\n\n this.__parent = null;\n }\n }\n\n /**\n * A handler invoked on host resize. By default, it does nothing.\n * Override the method to implement your own behavior.\n *\n * @protected\n */\n _onResize(_contentRect) {\n // To be implemented.\n }\n },\n);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { InputControlMixin } from './input-control-mixin.js';\n\n/**\n * A mixin to provide logic for vaadin-text-field and related components.\n *\n * @polymerMixin\n * @mixes InputControlMixin\n */\nexport const InputFieldMixin = (superclass) =>\n class InputFieldMixinClass extends InputControlMixin(superclass) {\n static get properties() {\n return {\n /**\n * Whether the value of the control can be automatically completed by the browser.\n * List of available options at:\n * https://developer.mozilla.org/en/docs/Web/HTML/Element/input#attr-autocomplete\n */\n autocomplete: {\n type: String,\n },\n\n /**\n * This is a property supported by Safari that is used to control whether\n * autocorrection should be enabled when the user is entering/editing the text.\n * Possible values are:\n * on: Enable autocorrection.\n * off: Disable autocorrection.\n */\n autocorrect: {\n type: String,\n },\n\n /**\n * This is a property supported by Safari and Chrome that is used to control whether\n * autocapitalization should be enabled when the user is entering/editing the text.\n * Possible values are:\n * characters: Characters capitalization.\n * words: Words capitalization.\n * sentences: Sentences capitalization.\n * none: No capitalization.\n */\n autocapitalize: {\n type: String,\n reflectToAttribute: true,\n },\n };\n }\n\n static get delegateAttrs() {\n return [...super.delegateAttrs, 'autocapitalize', 'autocomplete', 'autocorrect'];\n }\n\n // Workaround for https://github.com/Polymer/polymer/issues/5259\n get __data() {\n return this.__dataValue || {};\n }\n\n set __data(value) {\n this.__dataValue = value;\n }\n\n /**\n * @param {HTMLElement} input\n * @protected\n * @override\n */\n _inputElementChanged(input) {\n super._inputElementChanged(input);\n\n if (input) {\n // Discard value set on the custom slotted input.\n if (input.value && input.value !== this.value) {\n console.warn(`Please define value on the <${this.localName}> component!`);\n input.value = '';\n }\n\n if (this.value) {\n input.value = this.value;\n }\n }\n }\n\n /**\n * Override an event listener from `FocusMixin`.\n * @param {boolean} focused\n * @protected\n * @override\n */\n _setFocused(focused) {\n super._setFocused(focused);\n\n // Do not validate when focusout is caused by document\n // losing focus, which happens on browser tab switch.\n if (!focused && document.hasFocus()) {\n this.validate();\n }\n }\n\n /**\n * Override an event listener from `InputMixin`\n * to mark as valid after user started typing.\n * @param {Event} event\n * @protected\n * @override\n */\n _onInput(event) {\n super._onInput(event);\n\n if (this.invalid) {\n this.validate();\n }\n }\n\n /**\n * Override an observer from `InputMixin` to validate the field\n * when a new value is set programmatically.\n *\n * @param {string | undefined} newValue\n * @param {string | undefined} oldValue\n * @protected\n * @override\n */\n _valueChanged(newValue, oldValue) {\n super._valueChanged(newValue, oldValue);\n\n if (oldValue === undefined) {\n return;\n }\n\n if (this.invalid) {\n this.validate();\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/input-container/theme/lumo/vaadin-input-container-styles.js';\nimport '@vaadin/vaadin-lumo-styles/color.js';\nimport '@vaadin/vaadin-lumo-styles/sizing.js';\nimport '@vaadin/vaadin-lumo-styles/typography.js';\nimport { inputFieldShared } from '@vaadin/vaadin-lumo-styles/mixins/input-field-shared.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst textArea = css`\n [part='input-field'],\n [part='input-field'] ::slotted(textarea) {\n height: auto;\n box-sizing: border-box;\n }\n\n [part='input-field'] {\n /* Equal to the implicit padding in vaadin-text-field */\n padding-top: calc((var(--lumo-text-field-size) - 1em * var(--lumo-line-height-s)) / 2);\n padding-bottom: calc((var(--lumo-text-field-size) - 1em * var(--lumo-line-height-s)) / 2);\n transition: background-color 0.1s;\n line-height: var(--lumo-line-height-s);\n }\n\n :host(:not([readonly])) [part='input-field']::after {\n display: none;\n }\n\n :host([readonly]) [part='input-field'] {\n border: 1px dashed var(--lumo-contrast-30pct);\n }\n\n :host([readonly]) [part='input-field']::after {\n border: none;\n }\n\n :host(:hover:not([readonly]):not([focused]):not([invalid])) [part='input-field'] {\n background-color: var(--lumo-contrast-20pct);\n }\n\n @media (pointer: coarse) {\n :host(:hover:not([readonly]):not([focused]):not([invalid])) [part='input-field'] {\n background-color: var(--lumo-contrast-10pct);\n }\n\n :host(:active:not([readonly]):not([focused])) [part='input-field'] {\n background-color: var(--lumo-contrast-20pct);\n }\n }\n\n [part='input-field'] ::slotted(textarea) {\n line-height: inherit;\n --_lumo-text-field-overflow-mask-image: none;\n }\n\n /* Vertically align icon prefix/suffix with the first line of text */\n [part='input-field'] ::slotted(vaadin-icon) {\n margin-top: calc((var(--lumo-icon-size-m) - 1em * var(--lumo-line-height-s)) / -2);\n }\n`;\n\nregisterStyles('vaadin-text-area', [inputFieldShared, textArea], {\n moduleId: 'lumo-text-area',\n});\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { SlotController } from '@vaadin/component-base/src/slot-controller.js';\n\n/**\n * A controller to create and initialize slotted `<textarea>` element.\n */\nexport class TextAreaController extends SlotController {\n constructor(host, callback) {\n super(host, 'textarea', 'textarea', {\n initializer: (node, host) => {\n const value = host.getAttribute('value');\n if (value) {\n node.value = value;\n }\n\n const name = host.getAttribute('name');\n if (name) {\n node.setAttribute('name', name);\n }\n\n node.id = this.defaultId;\n\n if (typeof callback === 'function') {\n callback(node);\n }\n },\n useUniqueId: true,\n });\n }\n}\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { ResizeMixin } from '@vaadin/component-base/src/resize-mixin.js';\nimport { InputFieldMixin } from '@vaadin/field-base/src/input-field-mixin.js';\nimport { LabelledInputController } from '@vaadin/field-base/src/labelled-input-controller.js';\nimport { TextAreaController } from '@vaadin/field-base/src/text-area-controller.js';\n\n/**\n * A mixin providing common text area functionality.\n *\n * @polymerMixin\n * @mixes InputFieldMixin\n * @mixes ResizeMixin\n */\nexport const TextAreaMixin = (superClass) =>\n class TextAreaMixinClass extends ResizeMixin(InputFieldMixin(superClass)) {\n static get properties() {\n return {\n /**\n * Maximum number of characters (in Unicode code points) that the user can enter.\n */\n maxlength: {\n type: Number,\n },\n\n /**\n * Minimum number of characters (in Unicode code points) that the user can enter.\n */\n minlength: {\n type: Number,\n },\n\n /**\n * A regular expression that the value is checked against.\n * The pattern must match the entire value, not just some subset.\n */\n pattern: {\n type: String,\n },\n };\n }\n\n static get delegateAttrs() {\n return [...super.delegateAttrs, 'maxlength', 'minlength', 'pattern'];\n }\n\n static get constraints() {\n return [...super.constraints, 'maxlength', 'minlength', 'pattern'];\n }\n\n /**\n * Used by `InputControlMixin` as a reference to the clear button element.\n * @protected\n */\n get clearElement() {\n return this.$.clearButton;\n }\n\n /**\n * @protected\n * @override\n */\n _onResize() {\n this._updateHeight();\n this.__scrollPositionUpdated();\n }\n\n /** @protected */\n _onScroll() {\n this.__scrollPositionUpdated();\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this.addController(\n new TextAreaController(this, (input) => {\n this._setInputElement(input);\n this._setFocusElement(input);\n this.stateTarget = input;\n this.ariaTarget = input;\n }),\n );\n this.addController(new LabelledInputController(this.inputElement, this._labelController));\n\n this.addEventListener('animationend', this._onAnimationEnd);\n\n this._inputField = this.shadowRoot.querySelector('[part=input-field]');\n\n // Wheel scrolling results in async scroll events. Preventing the wheel\n // event, scrolling manually and then synchronously updating the scroll position CSS variable\n // allows us to avoid some jumpy behavior that would occur on wheel otherwise.\n this._inputField.addEventListener('wheel', (e) => {\n const scrollTopBefore = this._inputField.scrollTop;\n this._inputField.scrollTop += e.deltaY;\n\n if (scrollTopBefore !== this._inputField.scrollTop) {\n e.preventDefault();\n this.__scrollPositionUpdated();\n }\n });\n\n this._updateHeight();\n this.__scrollPositionUpdated();\n }\n\n /** @private */\n __scrollPositionUpdated() {\n this._inputField.style.setProperty('--_text-area-vertical-scroll-position', '0px');\n this._inputField.style.setProperty('--_text-area-vertical-scroll-position', `${this._inputField.scrollTop}px`);\n }\n\n /** @private */\n _onAnimationEnd(e) {\n if (e.animationName.indexOf('vaadin-text-area-appear') === 0) {\n this._updateHeight();\n }\n }\n\n /**\n * @param {unknown} newVal\n * @param {unknown} oldVal\n * @protected\n * @override\n */\n _valueChanged(newVal, oldVal) {\n super._valueChanged(newVal, oldVal);\n\n this._updateHeight();\n }\n\n /** @private */\n _updateHeight() {\n const input = this.inputElement;\n const inputField = this._inputField;\n\n if (!input || !inputField) {\n return;\n }\n\n const scrollTop = inputField.scrollTop;\n\n // Only clear the height when the content shortens to minimize scrollbar flickering.\n const valueLength = this.value ? this.value.length : 0;\n\n if (this._oldValueLength >= valueLength) {\n const inputFieldHeight = getComputedStyle(inputField).height;\n const inputWidth = getComputedStyle(input).width;\n\n // Temporarily fix the height of the wrapping input field container to prevent changing the browsers scroll\n // position while resetting the textareas height. If the textarea had a large height, then removing its height\n // will reset its height to the default of two rows. That might reduce the height of the page, and the\n // browser might adjust the scroll position before we can restore the measured height of the textarea.\n inputField.style.display = 'block';\n inputField.style.height = inputFieldHeight;\n\n // Fix the input element width so its scroll height isn't affected by host's disappearing scrollbars\n input.style.maxWidth = inputWidth;\n\n // Clear the height of the textarea to allow measuring a reduced scroll height\n input.style.height = 'auto';\n }\n this._oldValueLength = valueLength;\n\n const inputHeight = input.scrollHeight;\n if (inputHeight > input.clientHeight) {\n input.style.height = `${inputHeight}px`;\n }\n\n // Restore\n input.style.removeProperty('max-width');\n inputField.style.removeProperty('display');\n inputField.style.removeProperty('height');\n inputField.scrollTop = scrollTop;\n }\n\n /**\n * Returns true if the current textarea value satisfies all constraints (if any).\n * @return {boolean}\n * @override\n */\n checkValidity() {\n if (!super.checkValidity()) {\n return false;\n }\n\n // Native <textarea> does not support pattern attribute, so we have a custom logic\n // according to WHATWG spec for <input>, with tests inspired by web-platform-tests\n // https://html.spec.whatwg.org/multipage/input.html#the-pattern-attribute\n\n if (!this.pattern || !this.inputElement.value) {\n // Mark as valid if there is no pattern, or the value is empty\n return true;\n }\n\n try {\n const match = this.inputElement.value.match(this.pattern);\n return match ? match[0] === match.input : false;\n } catch (_) {\n // If the pattern can not be compiled, then report as valid\n return true;\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { css } from 'lit';\n\nexport const textAreaStyles = css`\n :host {\n animation: 1ms vaadin-text-area-appear;\n }\n\n .vaadin-text-area-container {\n flex: auto;\n }\n\n /* The label, helper text and the error message should neither grow nor shrink. */\n [part='label'],\n [part='helper-text'],\n [part='error-message'] {\n flex: none;\n }\n\n [part='input-field'] {\n flex: auto;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n }\n\n ::slotted(textarea) {\n -webkit-appearance: none;\n -moz-appearance: none;\n flex: auto;\n overflow: hidden;\n width: 100%;\n height: 100%;\n outline: none;\n resize: none;\n margin: 0;\n padding: 0 0.25em;\n border: 0;\n border-radius: 0;\n min-width: 0;\n font: inherit;\n font-size: 1em;\n line-height: normal;\n color: inherit;\n background-color: transparent;\n /* Disable default invalid style in Firefox */\n box-shadow: none;\n }\n\n /* Override styles from <vaadin-input-container> */\n [part='input-field'] ::slotted(textarea) {\n align-self: stretch;\n white-space: pre-wrap;\n }\n\n [part='input-field'] ::slotted(:not(textarea)) {\n align-self: flex-start;\n }\n\n /* Workaround https://bugzilla.mozilla.org/show_bug.cgi?id=1739079 */\n :host([disabled]) ::slotted(textarea) {\n user-select: none;\n }\n\n @keyframes vaadin-text-area-appear {\n to {\n opacity: 1;\n }\n }\n`;\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/input-container/src/vaadin-input-container.js';\nimport { html, PolymerElement } from '@polymer/polymer';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';\nimport { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js';\nimport { inputFieldShared } from '@vaadin/field-base/src/styles/input-field-shared-styles.js';\nimport { registerStyles, ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { TextAreaMixin } from './vaadin-text-area-mixin.js';\nimport { textAreaStyles } from './vaadin-text-area-styles.js';\n\nregisterStyles('vaadin-text-area', [inputFieldShared, textAreaStyles], { moduleId: 'vaadin-text-area-styles' });\n\n/**\n * `<vaadin-text-area>` is a web component for multi-line text input.\n *\n * ```html\n * <vaadin-text-area label=\"Comment\"></vaadin-text-area>\n * ```\n *\n * ### Prefixes and suffixes\n *\n * These are child elements of a `<vaadin-text-area>` that are displayed\n * inline with the input, before or after.\n * In order for an element to be considered as a prefix, it must have the slot\n * attribute set to `prefix` (and similarly for `suffix`).\n *\n * ```html\n * <vaadin-text-area label=\"Description\">\n * <div slot=\"prefix\">Details:</div>\n * <div slot=\"suffix\">The end!</div>\n * </vaadin-text-area>\n * ```\n *\n * ### Styling\n *\n * The following custom properties are available for styling:\n *\n * Custom property | Description | Default\n * -------------------------------|----------------------------|---------\n * `--vaadin-field-default-width` | Default width of the field | `12em`\n *\n * `<vaadin-text-area>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.\n * See [`<vaadin-text-field>`](#/elements/vaadin-text-field) for the styling documentation.\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @fires {Event} input - Fired when the value is changed by the user: on every typing keystroke, and the value is cleared using the clear button.\n * @fires {Event} change - Fired when the user commits a value change.\n * @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.\n * @fires {CustomEvent} value-changed - Fired when the `value` property changes.\n * @fires {CustomEvent} validated - Fired whenever the field is validated.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes ElementMixin\n * @mixes TextAreaMixin\n * @mixes ThemableMixin\n */\nexport class TextArea extends TextAreaMixin(ThemableMixin(ElementMixin(PolymerElement))) {\n static get is() {\n return 'vaadin-text-area';\n }\n\n static get template() {\n return html`\n <div class=\"vaadin-text-area-container\">\n <div part=\"label\">\n <slot name=\"label\"></slot>\n <span part=\"required-indicator\" aria-hidden=\"true\"></span>\n </div>\n\n <vaadin-input-container\n part=\"input-field\"\n readonly=\"[[readonly]]\"\n disabled=\"[[disabled]]\"\n invalid=\"[[invalid]]\"\n theme$=\"[[_theme]]\"\n on-scroll=\"_onScroll\"\n >\n <slot name=\"prefix\" slot=\"prefix\"></slot>\n <slot name=\"textarea\"></slot>\n <slot name=\"suffix\" slot=\"suffix\"></slot>\n <div id=\"clearButton\" part=\"clear-button\" slot=\"suffix\" aria-hidden=\"true\"></div>\n </vaadin-input-container>\n\n <div part=\"helper-text\">\n <slot name=\"helper\"></slot>\n </div>\n\n <div part=\"error-message\">\n <slot name=\"error-message\"></slot>\n </div>\n </div>\n\n <slot name=\"tooltip\"></slot>\n `;\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this._tooltipController = new TooltipController(this);\n this._tooltipController.setPosition('top');\n this._tooltipController.setAriaTarget(this.inputElement);\n this.addController(this._tooltipController);\n }\n}\n\ndefineCustomElement(TextArea);\n"],"names":["observer","ResizeObserver","entries","setTimeout","forEach","entry","target","resizables","resizable","_onResize","contentRect","ResizeMixin","superclass","_observeParent","connectedCallback","super","observe","this","parent","parentNode","ShadowRoot","host","Set","add","__parent","disconnectedCallback","unobserve","delete","size","_contentRect","InputFieldMixin","properties","autocomplete","type","String","autocorrect","autocapitalize","reflectToAttribute","delegateAttrs","__data","__dataValue","value","_inputElementChanged","input","console","warn","localName","_setFocused","focused","document","hasFocus","validate","_onInput","event","invalid","_valueChanged","newValue","oldValue","undefined","textArea","moduleId","TextAreaController","constructor","callback","initializer","node","getAttribute","name","setAttribute","id","defaultId","useUniqueId","TextAreaMixin","superClass","maxlength","Number","minlength","pattern","constraints","clearElement","$","clearButton","_updateHeight","__scrollPositionUpdated","_onScroll","ready","addController","_setInputElement","_setFocusElement","stateTarget","ariaTarget","inputElement","_labelController","addEventListener","_onAnimationEnd","_inputField","shadowRoot","querySelector","e","scrollTopBefore","scrollTop","deltaY","preventDefault","style","setProperty","animationName","indexOf","newVal","oldVal","inputField","valueLength","length","_oldValueLength","inputFieldHeight","getComputedStyle","height","inputWidth","width","display","maxWidth","inputHeight","scrollHeight","clientHeight","removeProperty","checkValidity","match","_","textAreaStyles","TextArea","is","template","_tooltipController","setPosition","setAriaTarget"],"sourceRoot":""}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
/*! For license information please see
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[4114],{89883:(e,t,o)=>{o.d(t,{m:()=>l}),o(43672);let s=!1,n=[],i=[];function r(){s=!0,requestAnimationFrame((function(){s=!1,function(e){for(;e.length;)a(e.shift())}(n),setTimeout((function(){!function(e){for(let t=0,o=e.length;t<o;t++)a(e.shift())}(i)}))}))}function a(e){const t=e[0],o=e[1],s=e[2];try{o.apply(t,s)}catch(e){setTimeout((()=>{throw e}))}}function l(e,t,o){s||r(),i.push([e,t,o])}},75111:(e,t,o)=>{o.d(t,{H:()=>n});var s=o(51919);class n{saveFocus(e){this.focusNode=e||(0,s.dw)()}restoreFocus(e){const t=this.focusNode;if(!t)return;const o=!!e&&e.preventScroll;(0,s.dw)()===document.body?setTimeout((()=>t.focus({preventScroll:o}))):t.focus({preventScroll:o}),this.focusNode=null}}},92704:(e,t,o)=>{o.d(t,{q:()=>i});var s=o(51919);const n=[];class i{constructor(e){this.host=e,this.__trapNode=null,this.__onKeyDown=this.__onKeyDown.bind(this)}get __focusableElements(){return(0,s.iq)(this.__trapNode)}get __focusedElementIndex(){const e=this.__focusableElements;return e.indexOf(e.filter(s.Qj).pop())}hostConnected(){document.addEventListener("keydown",this.__onKeyDown)}hostDisconnected(){document.removeEventListener("keydown",this.__onKeyDown)}trapFocus(e){if(this.__trapNode=e,0===this.__focusableElements.length)throw this.__trapNode=null,new Error("The trap node should have at least one focusable descendant or be focusable itself.");n.push(this),-1===this.__focusedElementIndex&&this.__focusableElements[0].focus()}releaseFocus(){this.__trapNode=null,n.pop()}__onKeyDown(e){if(this.__trapNode&&this===Array.from(n).pop()&&"Tab"===e.key){e.preventDefault();const t=e.shiftKey;this.__focusNextElement(t)}}__focusNextElement(e=!1){const t=this.__focusableElements,o=e?-1:1,s=this.__focusedElementIndex,n=t[(t.length+s+o)%t.length];n.focus(),"input"===n.localName&&n.select()}}},54243:(e,t,o)=>{o.d(t,{i:()=>s});const s=e=>class extends e{static get properties(){return{overlayClass:{type:String},_overlayElement:{type:Object}}}static get observers(){return["__updateOverlayClassNames(overlayClass, _overlayElement)"]}__updateOverlayClassNames(e,t){if(!t)return;if(void 0===e)return;const{classList:o}=t;if(this.__initialClasses||(this.__initialClasses=new Set(o)),Array.isArray(this.__previousClasses)){const e=this.__previousClasses.filter((e=>!this.__initialClasses.has(e)));e.length>0&&o.remove(...e)}const s="string"==typeof e?e.split(" ").filter(Boolean):[];s.length>0&&o.add(...s),this.__previousClasses=s}}},6019:(e,t,o)=>{o.d(t,{c:()=>g});var s=o(89883),n=o(14310);let i=new WeakMap,r=new WeakMap,a={},l=0;const d=e=>e&&e.nodeType===Node.ELEMENT_NODE,h=(...e)=>{console.error(`Error: ${e.join(" ")}. Skip setting aria-hidden.`)},c=(e,t=document.body,o="data-aria-hidden")=>{const s=Array.from(Array.isArray(e)?e:[e]);return t&&s.push(...Array.from(t.querySelectorAll("[aria-live]"))),((e,t,o,s)=>{const n=((e,t)=>d(e)?t.map((t=>{if(!d(t))return h(t,"is not a valid element"),null;let o=t;for(;o&&o!==e;){if(e.contains(o))return t;o=o.getRootNode().host}return h(t,"is not contained inside",e),null})).filter((e=>Boolean(e))):(h(e,"is not a valid element"),[]))(t,Array.isArray(e)?e:[e]);a[o]||(a[o]=new WeakMap);const c=a[o],u=[],p=new Set,_=new Set(n),m=e=>{if(!e||p.has(e))return;p.add(e);const t=e.assignedSlot;t&&m(t),m(e.parentNode||e.host)};n.forEach(m);const v=e=>{if(!e||_.has(e))return;const t=e.shadowRoot;(t?[...e.children,...t.children]:[...e.children]).forEach((e=>{if(!["template","script","style"].includes(e.localName))if(p.has(e))v(e);else{const t=e.getAttribute(s),n=null!==t&&"false"!==t,a=(i.get(e)||0)+1,l=(c.get(e)||0)+1;i.set(e,a),c.set(e,l),u.push(e),1===a&&n&&r.set(e,!0),1===l&&e.setAttribute(o,"true"),n||e.setAttribute(s,"true")}}))};return v(t),p.clear(),l+=1,()=>{u.forEach((e=>{const t=i.get(e)-1,n=c.get(e)-1;i.set(e,t),c.set(e,n),t||(r.has(e)?r.delete(e):e.removeAttribute(s)),n||e.removeAttribute(o)})),l-=1,l||(i=new WeakMap,i=new WeakMap,r=new WeakMap,a={})}})(s,t,o,"aria-hidden")};HTMLElement.prototype;class u{constructor(e,t){this.host=e,this.callback="function"==typeof t?t:()=>e}showModal(){const e=this.callback();this.__showOthers=c(e)}close(){this.__showOthers&&(this.__showOthers(),this.__showOthers=null)}}var p=o(75111),_=o(92704),m=o(51919),v=o(56096);const y=e=>class extends((0,v.w)(e)){static get properties(){return{focusTrap:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!1},restoreFocusNode:{type:HTMLElement}}}constructor(){super(),this.__ariaModalController=new u(this),this.__focusTrapController=new _.q(this),this.__focusRestorationController=new p.H}ready(){super.ready(),this.addController(this.__ariaModalController),this.addController(this.__focusTrapController),this.addController(this.__focusRestorationController)}_resetFocus(){if(this.focusTrap&&(this.__ariaModalController.close(),this.__focusTrapController.releaseFocus()),this.restoreFocusOnClose&&this._shouldRestoreFocus()){const e=!(0,m.aJ)();this.__focusRestorationController.restoreFocus({preventScroll:e})}}_saveFocus(){this.restoreFocusOnClose&&this.__focusRestorationController.saveFocus(this.restoreFocusNode)}_trapFocus(){this.focusTrap&&(this.__ariaModalController.showModal(),this.__focusTrapController.trapFocus(this.$.overlay))}_shouldRestoreFocus(){const e=(0,m.dw)();return e===document.body||this._deepContains(e)}_deepContains(e){if(this.contains(e))return!0;let t=e;const o=e.ownerDocument;for(;t&&t!==o&&t!==this;)t=t.parentNode||t.host;return t===this}},b=()=>Array.from(document.body.children).filter((e=>e instanceof HTMLElement&&e._hasOverlayStackMixin&&!e.hasAttribute("closing"))).sort(((e,t)=>e.__zIndex-t.__zIndex||0)),f=e=>class extends e{constructor(){super(),this._hasOverlayStackMixin=!0}get _last(){return this===b().pop()}bringToFront(){let e="";const t=b().filter((e=>e!==this)).pop();t&&(e=t.__zIndex+1),this.style.zIndex=e,this.__zIndex=e||parseFloat(getComputedStyle(this).zIndex)}_enterModalState(){"none"!==document.body.style.pointerEvents&&(this._previousDocumentPointerEvents=document.body.style.pointerEvents,document.body.style.pointerEvents="none"),b().forEach((e=>{e!==this&&(e.$.overlay.style.pointerEvents="none")}))}_exitModalState(){void 0!==this._previousDocumentPointerEvents&&(document.body.style.pointerEvents=this._previousDocumentPointerEvents,delete this._previousDocumentPointerEvents);const e=b();let t;for(;(t=e.pop())&&(t===this||(t.$.overlay.style.removeProperty("pointer-events"),t.modeless)););}},g=e=>class extends(y(f(e))){static get properties(){return{opened:{type:Boolean,notify:!0,observer:"_openedChanged",reflectToAttribute:!0},owner:{type:Object},model:{type:Object},renderer:{type:Object},modeless:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"_modelessChanged"},hidden:{type:Boolean,reflectToAttribute:!0,observer:"_hiddenChanged"},withBackdrop:{type:Boolean,value:!1,reflectToAttribute:!0}}}static get observers(){return["_rendererOrDataChanged(renderer, owner, model, opened)"]}constructor(){super(),this._boundMouseDownListener=this._mouseDownListener.bind(this),this._boundMouseUpListener=this._mouseUpListener.bind(this),this._boundOutsideClickListener=this._outsideClickListener.bind(this),this._boundKeydownListener=this._keydownListener.bind(this),n.un&&(this._boundIosResizeListener=()=>this._detectIosNavbar())}ready(){super.ready(),this.addEventListener("click",(()=>{})),this.$.backdrop.addEventListener("click",(()=>{})),this.addEventListener("mouseup",(()=>{document.activeElement===document.body&&"0"===this.$.overlay.getAttribute("tabindex")&&this.$.overlay.focus()}))}connectedCallback(){super.connectedCallback(),this._boundIosResizeListener&&(this._detectIosNavbar(),window.addEventListener("resize",this._boundIosResizeListener))}disconnectedCallback(){super.disconnectedCallback(),this._boundIosResizeListener&&window.removeEventListener("resize",this._boundIosResizeListener)}requestContentUpdate(){this.renderer&&this.renderer.call(this.owner,this,this.owner,this.model)}close(e){const t=new CustomEvent("vaadin-overlay-close",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),t.defaultPrevented||(this.opened=!1)}_detectIosNavbar(){if(!this.opened)return;const e=window.innerHeight,t=window.innerWidth>e,o=document.documentElement.clientHeight;t&&o>e?this.style.setProperty("--vaadin-overlay-viewport-bottom",o-e+"px"):this.style.setProperty("--vaadin-overlay-viewport-bottom","0")}_addGlobalListeners(){document.addEventListener("mousedown",this._boundMouseDownListener),document.addEventListener("mouseup",this._boundMouseUpListener),document.documentElement.addEventListener("click",this._boundOutsideClickListener,!0)}_removeGlobalListeners(){document.removeEventListener("mousedown",this._boundMouseDownListener),document.removeEventListener("mouseup",this._boundMouseUpListener),document.documentElement.removeEventListener("click",this._boundOutsideClickListener,!0)}_rendererOrDataChanged(e,t,o,s){const n=this._oldOwner!==t||this._oldModel!==o;this._oldModel=o,this._oldOwner=t;const i=this._oldRenderer!==e,r=void 0!==this._oldRenderer;this._oldRenderer=e;const a=this._oldOpened!==s;this._oldOpened=s,i&&r&&(this.innerHTML="",delete this._$litPart$),s&&e&&(i||a||n)&&this.requestContentUpdate()}_modelessChanged(e){e?(this._removeGlobalListeners(),this._exitModalState()):this.opened&&(this._addGlobalListeners(),this._enterModalState())}_openedChanged(e,t){e?(this._saveFocus(),this._animatedOpening(),(0,s.m)(this,(()=>{this._trapFocus();const e=new CustomEvent("vaadin-overlay-open",{bubbles:!0});this.dispatchEvent(e)})),document.addEventListener("keydown",this._boundKeydownListener),this.modeless||this._addGlobalListeners()):t&&(this._resetFocus(),this._animatedClosing(),document.removeEventListener("keydown",this._boundKeydownListener),this.modeless||this._removeGlobalListeners())}_hiddenChanged(e){e&&this.hasAttribute("closing")&&this._flushAnimation("closing")}_shouldAnimate(){const e=getComputedStyle(this),t=e.getPropertyValue("animation-name");return!("none"===e.getPropertyValue("display"))&&t&&"none"!==t}_enqueueAnimation(e,t){const o=`__${e}Handler`,s=e=>{e&&e.target!==this||(t(),this.removeEventListener("animationend",s),delete this[o])};this[o]=s,this.addEventListener("animationend",s)}_flushAnimation(e){const t=`__${e}Handler`;"function"==typeof this[t]&&this[t]()}_animatedOpening(){this.parentNode===document.body&&this.hasAttribute("closing")&&this._flushAnimation("closing"),this._attachOverlay(),this.modeless||this._enterModalState(),this.setAttribute("opening",""),this._shouldAnimate()?this._enqueueAnimation("opening",(()=>{this._finishOpening()})):this._finishOpening()}_attachOverlay(){this._placeholder=document.createComment("vaadin-overlay-placeholder"),this.parentNode.insertBefore(this._placeholder,this),document.body.appendChild(this),this.bringToFront()}_finishOpening(){this.removeAttribute("opening")}_finishClosing(){this._detachOverlay(),this.$.overlay.style.removeProperty("pointer-events"),this.removeAttribute("closing"),this.dispatchEvent(new CustomEvent("vaadin-overlay-closed"))}_animatedClosing(){this.hasAttribute("opening")&&this._flushAnimation("opening"),this._placeholder&&(this._exitModalState(),this.setAttribute("closing",""),this.dispatchEvent(new CustomEvent("vaadin-overlay-closing")),this._shouldAnimate()?this._enqueueAnimation("closing",(()=>{this._finishClosing()})):this._finishClosing())}_detachOverlay(){this._placeholder.parentNode.insertBefore(this,this._placeholder),this._placeholder.parentNode.removeChild(this._placeholder)}_mouseDownListener(e){this._mouseDownInside=e.composedPath().indexOf(this.$.overlay)>=0}_mouseUpListener(e){this._mouseUpInside=e.composedPath().indexOf(this.$.overlay)>=0}_shouldCloseOnOutsideClick(e){return this._last}_outsideClickListener(e){if(e.composedPath().includes(this.$.overlay)||this._mouseDownInside||this._mouseUpInside)return this._mouseDownInside=!1,void(this._mouseUpInside=!1);if(!this._shouldCloseOnOutsideClick(e))return;const t=new CustomEvent("vaadin-overlay-outside-click",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),this.opened&&!t.defaultPrevented&&this.close(e)}_keydownListener(e){if(this._last&&(!this.modeless||e.composedPath().includes(this.$.overlay))&&"Escape"===e.key){const t=new CustomEvent("vaadin-overlay-escape-press",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),this.opened&&!t.defaultPrevented&&this.close(e)}}}},31146:(e,t,o)=>{o.d(t,{B:()=>s});const s=o(44720).AH`
|
1
|
+
/*! For license information please see 8618.js.LICENSE.txt */
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[8618],{72821:(e,t,o)=>{o.d(t,{m:()=>l}),o(68358);let s=!1,n=[],i=[];function r(){s=!0,requestAnimationFrame((function(){s=!1,function(e){for(;e.length;)a(e.shift())}(n),setTimeout((function(){!function(e){for(let t=0,o=e.length;t<o;t++)a(e.shift())}(i)}))}))}function a(e){const t=e[0],o=e[1],s=e[2];try{o.apply(t,s)}catch(e){setTimeout((()=>{throw e}))}}function l(e,t,o){s||r(),i.push([e,t,o])}},51281:(e,t,o)=>{o.d(t,{H:()=>n});var s=o(30025);class n{saveFocus(e){this.focusNode=e||(0,s.dw)()}restoreFocus(e){const t=this.focusNode;if(!t)return;const o=!!e&&e.preventScroll;(0,s.dw)()===document.body?setTimeout((()=>t.focus({preventScroll:o}))):t.focus({preventScroll:o}),this.focusNode=null}}},60626:(e,t,o)=>{o.d(t,{q:()=>i});var s=o(30025);const n=[];class i{constructor(e){this.host=e,this.__trapNode=null,this.__onKeyDown=this.__onKeyDown.bind(this)}get __focusableElements(){return(0,s.iq)(this.__trapNode)}get __focusedElementIndex(){const e=this.__focusableElements;return e.indexOf(e.filter(s.Qj).pop())}hostConnected(){document.addEventListener("keydown",this.__onKeyDown)}hostDisconnected(){document.removeEventListener("keydown",this.__onKeyDown)}trapFocus(e){if(this.__trapNode=e,0===this.__focusableElements.length)throw this.__trapNode=null,new Error("The trap node should have at least one focusable descendant or be focusable itself.");n.push(this),-1===this.__focusedElementIndex&&this.__focusableElements[0].focus()}releaseFocus(){this.__trapNode=null,n.pop()}__onKeyDown(e){if(this.__trapNode&&this===Array.from(n).pop()&&"Tab"===e.key){e.preventDefault();const t=e.shiftKey;this.__focusNextElement(t)}}__focusNextElement(e=!1){const t=this.__focusableElements,o=e?-1:1,s=this.__focusedElementIndex,n=t[(t.length+s+o)%t.length];n.focus(),"input"===n.localName&&n.select()}}},55341:(e,t,o)=>{o.d(t,{i:()=>s});const s=e=>class extends e{static get properties(){return{overlayClass:{type:String},_overlayElement:{type:Object}}}static get observers(){return["__updateOverlayClassNames(overlayClass, _overlayElement)"]}__updateOverlayClassNames(e,t){if(!t)return;if(void 0===e)return;const{classList:o}=t;if(this.__initialClasses||(this.__initialClasses=new Set(o)),Array.isArray(this.__previousClasses)){const e=this.__previousClasses.filter((e=>!this.__initialClasses.has(e)));e.length>0&&o.remove(...e)}const s="string"==typeof e?e.split(" ").filter(Boolean):[];s.length>0&&o.add(...s),this.__previousClasses=s}}},24473:(e,t,o)=>{o.d(t,{c:()=>g});var s=o(72821),n=o(4080);let i=new WeakMap,r=new WeakMap,a={},l=0;const d=e=>e&&e.nodeType===Node.ELEMENT_NODE,h=(...e)=>{console.error(`Error: ${e.join(" ")}. Skip setting aria-hidden.`)},c=(e,t=document.body,o="data-aria-hidden")=>{const s=Array.from(Array.isArray(e)?e:[e]);return t&&s.push(...Array.from(t.querySelectorAll("[aria-live]"))),((e,t,o,s)=>{const n=((e,t)=>d(e)?t.map((t=>{if(!d(t))return h(t,"is not a valid element"),null;let o=t;for(;o&&o!==e;){if(e.contains(o))return t;o=o.getRootNode().host}return h(t,"is not contained inside",e),null})).filter((e=>Boolean(e))):(h(e,"is not a valid element"),[]))(t,Array.isArray(e)?e:[e]);a[o]||(a[o]=new WeakMap);const c=a[o],u=[],p=new Set,_=new Set(n),m=e=>{if(!e||p.has(e))return;p.add(e);const t=e.assignedSlot;t&&m(t),m(e.parentNode||e.host)};n.forEach(m);const v=e=>{if(!e||_.has(e))return;const t=e.shadowRoot;(t?[...e.children,...t.children]:[...e.children]).forEach((e=>{if(!["template","script","style"].includes(e.localName))if(p.has(e))v(e);else{const t=e.getAttribute(s),n=null!==t&&"false"!==t,a=(i.get(e)||0)+1,l=(c.get(e)||0)+1;i.set(e,a),c.set(e,l),u.push(e),1===a&&n&&r.set(e,!0),1===l&&e.setAttribute(o,"true"),n||e.setAttribute(s,"true")}}))};return v(t),p.clear(),l+=1,()=>{u.forEach((e=>{const t=i.get(e)-1,n=c.get(e)-1;i.set(e,t),c.set(e,n),t||(r.has(e)?r.delete(e):e.removeAttribute(s)),n||e.removeAttribute(o)})),l-=1,l||(i=new WeakMap,i=new WeakMap,r=new WeakMap,a={})}})(s,t,o,"aria-hidden")};HTMLElement.prototype;class u{constructor(e,t){this.host=e,this.callback="function"==typeof t?t:()=>e}showModal(){const e=this.callback();this.__showOthers=c(e)}close(){this.__showOthers&&(this.__showOthers(),this.__showOthers=null)}}var p=o(51281),_=o(60626),m=o(30025),v=o(55774);const y=e=>class extends((0,v.w)(e)){static get properties(){return{focusTrap:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!1},restoreFocusNode:{type:HTMLElement}}}constructor(){super(),this.__ariaModalController=new u(this),this.__focusTrapController=new _.q(this),this.__focusRestorationController=new p.H}ready(){super.ready(),this.addController(this.__ariaModalController),this.addController(this.__focusTrapController),this.addController(this.__focusRestorationController)}_resetFocus(){if(this.focusTrap&&(this.__ariaModalController.close(),this.__focusTrapController.releaseFocus()),this.restoreFocusOnClose&&this._shouldRestoreFocus()){const e=!(0,m.aJ)();this.__focusRestorationController.restoreFocus({preventScroll:e})}}_saveFocus(){this.restoreFocusOnClose&&this.__focusRestorationController.saveFocus(this.restoreFocusNode)}_trapFocus(){this.focusTrap&&(this.__ariaModalController.showModal(),this.__focusTrapController.trapFocus(this.$.overlay))}_shouldRestoreFocus(){const e=(0,m.dw)();return e===document.body||this._deepContains(e)}_deepContains(e){if(this.contains(e))return!0;let t=e;const o=e.ownerDocument;for(;t&&t!==o&&t!==this;)t=t.parentNode||t.host;return t===this}},b=()=>Array.from(document.body.children).filter((e=>e instanceof HTMLElement&&e._hasOverlayStackMixin&&!e.hasAttribute("closing"))).sort(((e,t)=>e.__zIndex-t.__zIndex||0)),f=e=>class extends e{constructor(){super(),this._hasOverlayStackMixin=!0}get _last(){return this===b().pop()}bringToFront(){let e="";const t=b().filter((e=>e!==this)).pop();t&&(e=t.__zIndex+1),this.style.zIndex=e,this.__zIndex=e||parseFloat(getComputedStyle(this).zIndex)}_enterModalState(){"none"!==document.body.style.pointerEvents&&(this._previousDocumentPointerEvents=document.body.style.pointerEvents,document.body.style.pointerEvents="none"),b().forEach((e=>{e!==this&&(e.$.overlay.style.pointerEvents="none")}))}_exitModalState(){void 0!==this._previousDocumentPointerEvents&&(document.body.style.pointerEvents=this._previousDocumentPointerEvents,delete this._previousDocumentPointerEvents);const e=b();let t;for(;(t=e.pop())&&(t===this||(t.$.overlay.style.removeProperty("pointer-events"),t.modeless)););}},g=e=>class extends(y(f(e))){static get properties(){return{opened:{type:Boolean,notify:!0,observer:"_openedChanged",reflectToAttribute:!0},owner:{type:Object},model:{type:Object},renderer:{type:Object},modeless:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"_modelessChanged"},hidden:{type:Boolean,reflectToAttribute:!0,observer:"_hiddenChanged"},withBackdrop:{type:Boolean,value:!1,reflectToAttribute:!0}}}static get observers(){return["_rendererOrDataChanged(renderer, owner, model, opened)"]}constructor(){super(),this._boundMouseDownListener=this._mouseDownListener.bind(this),this._boundMouseUpListener=this._mouseUpListener.bind(this),this._boundOutsideClickListener=this._outsideClickListener.bind(this),this._boundKeydownListener=this._keydownListener.bind(this),n.un&&(this._boundIosResizeListener=()=>this._detectIosNavbar())}ready(){super.ready(),this.addEventListener("click",(()=>{})),this.$.backdrop.addEventListener("click",(()=>{})),this.addEventListener("mouseup",(()=>{document.activeElement===document.body&&"0"===this.$.overlay.getAttribute("tabindex")&&this.$.overlay.focus()}))}connectedCallback(){super.connectedCallback(),this._boundIosResizeListener&&(this._detectIosNavbar(),window.addEventListener("resize",this._boundIosResizeListener))}disconnectedCallback(){super.disconnectedCallback(),this._boundIosResizeListener&&window.removeEventListener("resize",this._boundIosResizeListener)}requestContentUpdate(){this.renderer&&this.renderer.call(this.owner,this,this.owner,this.model)}close(e){const t=new CustomEvent("vaadin-overlay-close",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),t.defaultPrevented||(this.opened=!1)}_detectIosNavbar(){if(!this.opened)return;const e=window.innerHeight,t=window.innerWidth>e,o=document.documentElement.clientHeight;t&&o>e?this.style.setProperty("--vaadin-overlay-viewport-bottom",o-e+"px"):this.style.setProperty("--vaadin-overlay-viewport-bottom","0")}_addGlobalListeners(){document.addEventListener("mousedown",this._boundMouseDownListener),document.addEventListener("mouseup",this._boundMouseUpListener),document.documentElement.addEventListener("click",this._boundOutsideClickListener,!0)}_removeGlobalListeners(){document.removeEventListener("mousedown",this._boundMouseDownListener),document.removeEventListener("mouseup",this._boundMouseUpListener),document.documentElement.removeEventListener("click",this._boundOutsideClickListener,!0)}_rendererOrDataChanged(e,t,o,s){const n=this._oldOwner!==t||this._oldModel!==o;this._oldModel=o,this._oldOwner=t;const i=this._oldRenderer!==e,r=void 0!==this._oldRenderer;this._oldRenderer=e;const a=this._oldOpened!==s;this._oldOpened=s,i&&r&&(this.innerHTML="",delete this._$litPart$),s&&e&&(i||a||n)&&this.requestContentUpdate()}_modelessChanged(e){e?(this._removeGlobalListeners(),this._exitModalState()):this.opened&&(this._addGlobalListeners(),this._enterModalState())}_openedChanged(e,t){e?(this._saveFocus(),this._animatedOpening(),(0,s.m)(this,(()=>{this._trapFocus();const e=new CustomEvent("vaadin-overlay-open",{bubbles:!0});this.dispatchEvent(e)})),document.addEventListener("keydown",this._boundKeydownListener),this.modeless||this._addGlobalListeners()):t&&(this._resetFocus(),this._animatedClosing(),document.removeEventListener("keydown",this._boundKeydownListener),this.modeless||this._removeGlobalListeners())}_hiddenChanged(e){e&&this.hasAttribute("closing")&&this._flushAnimation("closing")}_shouldAnimate(){const e=getComputedStyle(this),t=e.getPropertyValue("animation-name");return!("none"===e.getPropertyValue("display"))&&t&&"none"!==t}_enqueueAnimation(e,t){const o=`__${e}Handler`,s=e=>{e&&e.target!==this||(t(),this.removeEventListener("animationend",s),delete this[o])};this[o]=s,this.addEventListener("animationend",s)}_flushAnimation(e){const t=`__${e}Handler`;"function"==typeof this[t]&&this[t]()}_animatedOpening(){this.parentNode===document.body&&this.hasAttribute("closing")&&this._flushAnimation("closing"),this._attachOverlay(),this.modeless||this._enterModalState(),this.setAttribute("opening",""),this._shouldAnimate()?this._enqueueAnimation("opening",(()=>{this._finishOpening()})):this._finishOpening()}_attachOverlay(){this._placeholder=document.createComment("vaadin-overlay-placeholder"),this.parentNode.insertBefore(this._placeholder,this),document.body.appendChild(this),this.bringToFront()}_finishOpening(){this.removeAttribute("opening")}_finishClosing(){this._detachOverlay(),this.$.overlay.style.removeProperty("pointer-events"),this.removeAttribute("closing"),this.dispatchEvent(new CustomEvent("vaadin-overlay-closed"))}_animatedClosing(){this.hasAttribute("opening")&&this._flushAnimation("opening"),this._placeholder&&(this._exitModalState(),this.setAttribute("closing",""),this.dispatchEvent(new CustomEvent("vaadin-overlay-closing")),this._shouldAnimate()?this._enqueueAnimation("closing",(()=>{this._finishClosing()})):this._finishClosing())}_detachOverlay(){this._placeholder.parentNode.insertBefore(this,this._placeholder),this._placeholder.parentNode.removeChild(this._placeholder)}_mouseDownListener(e){this._mouseDownInside=e.composedPath().indexOf(this.$.overlay)>=0}_mouseUpListener(e){this._mouseUpInside=e.composedPath().indexOf(this.$.overlay)>=0}_shouldCloseOnOutsideClick(e){return this._last}_outsideClickListener(e){if(e.composedPath().includes(this.$.overlay)||this._mouseDownInside||this._mouseUpInside)return this._mouseDownInside=!1,void(this._mouseUpInside=!1);if(!this._shouldCloseOnOutsideClick(e))return;const t=new CustomEvent("vaadin-overlay-outside-click",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),this.opened&&!t.defaultPrevented&&this.close(e)}_keydownListener(e){if(this._last&&(!this.modeless||e.composedPath().includes(this.$.overlay))&&"Escape"===e.key){const t=new CustomEvent("vaadin-overlay-escape-press",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),this.opened&&!t.defaultPrevented&&this.close(e)}}}},5072:(e,t,o)=>{o.d(t,{B:()=>s});const s=o(51450).AH`
|
3
3
|
:host {
|
4
4
|
z-index: 200;
|
5
5
|
position: fixed;
|
@@ -58,7 +58,7 @@
|
|
58
58
|
inset: 0;
|
59
59
|
pointer-events: auto;
|
60
60
|
}
|
61
|
-
`},
|
61
|
+
`},40211:(e,t,o)=>{o.d(t,{L:()=>n}),o(64511),o(9433),o(3241),o(83315);var s=o(87550);const n=s.AH`
|
62
62
|
:host {
|
63
63
|
top: var(--lumo-space-m);
|
64
64
|
right: var(--lumo-space-m);
|
@@ -121,4 +121,5 @@
|
|
121
121
|
opacity: 1;
|
122
122
|
}
|
123
123
|
}
|
124
|
-
`;(0,s.SF)("",n,{moduleId:"lumo-overlay"})}}]);
|
124
|
+
`;(0,s.SF)("",n,{moduleId:"lumo-overlay"})}}]);
|
125
|
+
//# sourceMappingURL=8618.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"8618.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@polymer/polymer/lib/utils/render-status.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/focus-restoration-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/focus-trap-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/overlay-class-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/aria-hidden.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/aria-modal-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/overlay/src/vaadin-overlay-focus-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/overlay/src/vaadin-overlay-stack-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/overlay/src/vaadin-overlay-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/overlay/src/vaadin-overlay-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/mixins/overlay.js"],"sourcesContent":["/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\n\n/**\n * Module for scheduling flushable pre-render and post-render tasks.\n *\n * @summary Module for scheduling flushable pre-render and post-render tasks.\n */\n\nimport './boot.js';\n\nlet scheduled = false;\nlet beforeRenderQueue = [];\nlet afterRenderQueue = [];\n\nfunction schedule() {\n scheduled = true;\n // before next render\n requestAnimationFrame(function() {\n scheduled = false;\n flushQueue(beforeRenderQueue);\n // after the render\n setTimeout(function() {\n runQueue(afterRenderQueue);\n });\n });\n}\n\nfunction flushQueue(queue) {\n while (queue.length) {\n callMethod(queue.shift());\n }\n}\n\nfunction runQueue(queue) {\n for (let i=0, l=queue.length; i < l; i++) {\n callMethod(queue.shift());\n }\n}\n\nfunction callMethod(info) {\n const context = info[0];\n const callback = info[1];\n const args = info[2];\n try {\n callback.apply(context, args);\n } catch(e) {\n setTimeout(() => {\n throw e;\n });\n }\n}\n\n/**\n * Flushes all `beforeNextRender` tasks, followed by all `afterNextRender`\n * tasks.\n *\n * @return {void}\n */\nexport function flush() {\n while (beforeRenderQueue.length || afterRenderQueue.length) {\n flushQueue(beforeRenderQueue);\n flushQueue(afterRenderQueue);\n }\n scheduled = false;\n}\n\n\n/**\n * Enqueues a callback which will be run before the next render, at\n * `requestAnimationFrame` timing.\n *\n * This method is useful for enqueuing work that requires DOM measurement,\n * since measurement may not be reliable in custom element callbacks before\n * the first render, as well as for batching measurement tasks in general.\n *\n * Tasks in this queue may be flushed by calling `flush()`.\n *\n * @param {*} context Context object the callback function will be bound to\n * @param {function(...*):void} callback Callback function\n * @param {!Array=} args An array of arguments to call the callback function with\n * @return {void}\n */\nexport function beforeNextRender(context, callback, args) {\n if (!scheduled) {\n schedule();\n }\n beforeRenderQueue.push([context, callback, args]);\n}\n\n/**\n * Enqueues a callback which will be run after the next render, equivalent\n * to one task (`setTimeout`) after the next `requestAnimationFrame`.\n *\n * This method is useful for tuning the first-render performance of an\n * element or application by deferring non-critical work until after the\n * first paint. Typical non-render-critical work may include adding UI\n * event listeners and aria attributes.\n *\n * @param {*} context Context object the callback function will be bound to\n * @param {function(...*):void} callback Callback function\n * @param {!Array=} args An array of arguments to call the callback function with\n * @return {void}\n */\nexport function afterNextRender(context, callback, args) {\n if (!scheduled) {\n schedule();\n }\n afterRenderQueue.push([context, callback, args]);\n}\n\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { getDeepActiveElement } from './focus-utils.js';\n\n/**\n * A controller for saving a focused node and restoring focus to it later.\n */\nexport class FocusRestorationController {\n /**\n * Saves the given node as a target for restoring focus to\n * when `restoreFocus()` is called. If no node is provided,\n * the currently focused node in the DOM is saved as a target.\n *\n * @param {Node | null | undefined} focusNode\n */\n saveFocus(focusNode) {\n this.focusNode = focusNode || getDeepActiveElement();\n }\n\n /**\n * Restores focus to the target node that was saved previously with `saveFocus()`.\n */\n restoreFocus(options) {\n const focusNode = this.focusNode;\n if (!focusNode) {\n return;\n }\n\n const preventScroll = options ? options.preventScroll : false;\n\n if (getDeepActiveElement() === document.body) {\n // In Firefox and Safari, focusing the node synchronously\n // doesn't work as expected when the overlay is closing on outside click.\n // These browsers force focus to move to the body element and retain it\n // there until the next event loop iteration.\n setTimeout(() => focusNode.focus({ preventScroll }));\n } else {\n focusNode.focus({ preventScroll });\n }\n\n this.focusNode = null;\n }\n}\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { getFocusableElements, isElementFocused } from './focus-utils.js';\n\nconst instances = [];\n\n/**\n * A controller for trapping focus within a DOM node.\n */\nexport class FocusTrapController {\n /**\n * @param {HTMLElement} host\n */\n constructor(host) {\n /**\n * The controller host element.\n *\n * @type {HTMLElement}\n */\n this.host = host;\n\n /**\n * A node for trapping focus in.\n *\n * @type {HTMLElement | null}\n * @private\n */\n this.__trapNode = null;\n\n this.__onKeyDown = this.__onKeyDown.bind(this);\n }\n\n /**\n * An array of tab-ordered focusable elements inside the trap node.\n *\n * @return {HTMLElement[]}\n * @private\n */\n get __focusableElements() {\n return getFocusableElements(this.__trapNode);\n }\n\n /**\n * The index of the element inside the trap node that currently has focus.\n *\n * @return {HTMLElement | undefined}\n * @private\n */\n get __focusedElementIndex() {\n const focusableElements = this.__focusableElements;\n return focusableElements.indexOf(focusableElements.filter(isElementFocused).pop());\n }\n\n hostConnected() {\n document.addEventListener('keydown', this.__onKeyDown);\n }\n\n hostDisconnected() {\n document.removeEventListener('keydown', this.__onKeyDown);\n }\n\n /**\n * Activates a focus trap for a DOM node that will prevent focus from escaping the node.\n * The trap can be deactivated with the `.releaseFocus()` method.\n *\n * If focus is initially outside the trap, the method will move focus inside,\n * on the first focusable element of the trap in the tab order.\n * The first focusable element can be the trap node itself if it is focusable\n * and comes first in the tab order.\n *\n * If there are no focusable elements, the method will throw an exception\n * and the trap will not be set.\n *\n * @param {HTMLElement} trapNode\n */\n trapFocus(trapNode) {\n this.__trapNode = trapNode;\n\n if (this.__focusableElements.length === 0) {\n this.__trapNode = null;\n throw new Error('The trap node should have at least one focusable descendant or be focusable itself.');\n }\n\n instances.push(this);\n\n if (this.__focusedElementIndex === -1) {\n this.__focusableElements[0].focus();\n }\n }\n\n /**\n * Deactivates the focus trap set with the `.trapFocus()` method\n * so that it becomes possible to tab outside the trap node.\n */\n releaseFocus() {\n this.__trapNode = null;\n\n instances.pop();\n }\n\n /**\n * A `keydown` event handler that manages tabbing navigation when the trap is enabled.\n *\n * - Moves focus to the next focusable element of the trap on `Tab` press.\n * When no next element to focus, the method moves focus to the first focusable element.\n * - Moves focus to the prev focusable element of the trap on `Shift+Tab` press.\n * When no prev element to focus, the method moves focus to the last focusable element.\n *\n * @param {KeyboardEvent} event\n * @private\n */\n __onKeyDown(event) {\n if (!this.__trapNode) {\n return;\n }\n\n // Only handle events for the last instance\n if (this !== Array.from(instances).pop()) {\n return;\n }\n\n if (event.key === 'Tab') {\n event.preventDefault();\n\n const backward = event.shiftKey;\n this.__focusNextElement(backward);\n }\n }\n\n /**\n * - Moves focus to the next focusable element if `backward === false`.\n * When no next element to focus, the method moves focus to the first focusable element.\n * - Moves focus to the prev focusable element if `backward === true`.\n * When no prev element to focus the method moves focus to the last focusable element.\n *\n * If no focusable elements, the method returns immediately.\n *\n * @param {boolean} backward\n * @private\n */\n __focusNextElement(backward = false) {\n const focusableElements = this.__focusableElements;\n const step = backward ? -1 : 1;\n const currentIndex = this.__focusedElementIndex;\n const nextIndex = (focusableElements.length + currentIndex + step) % focusableElements.length;\n const element = focusableElements[nextIndex];\n element.focus();\n if (element.localName === 'input') {\n element.select();\n }\n }\n}\n","/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * A mixin that forwards CSS class names to the internal overlay element\n * by setting the `overlayClass` property or `overlay-class` attribute.\n *\n * @polymerMixin\n */\nexport const OverlayClassMixin = (superclass) =>\n class OverlayClassMixinClass extends superclass {\n static get properties() {\n return {\n /**\n * A space-delimited list of CSS class names to set on the overlay element.\n * This property does not affect other CSS class names set manually via JS.\n *\n * Note, if the CSS class name was set with this property, clearing it will\n * remove it from the overlay, even if the same class name was also added\n * manually, e.g. by using `classList.add()` in the `renderer` function.\n *\n * @attr {string} overlay-class\n */\n overlayClass: {\n type: String,\n },\n\n /**\n * An overlay element on which CSS class names are set.\n *\n * @protected\n */\n _overlayElement: {\n type: Object,\n },\n };\n }\n\n static get observers() {\n return ['__updateOverlayClassNames(overlayClass, _overlayElement)'];\n }\n\n /** @private */\n __updateOverlayClassNames(overlayClass, overlayElement) {\n if (!overlayElement) {\n return;\n }\n\n // Overlay is set but overlayClass is not set\n if (overlayClass === undefined) {\n return;\n }\n\n const { classList } = overlayElement;\n\n if (!this.__initialClasses) {\n this.__initialClasses = new Set(classList);\n }\n\n if (Array.isArray(this.__previousClasses)) {\n // Remove old classes that no longer apply\n const classesToRemove = this.__previousClasses.filter((name) => !this.__initialClasses.has(name));\n if (classesToRemove.length > 0) {\n classList.remove(...classesToRemove);\n }\n }\n\n // Add new classes based on the overlayClass\n const classesToAdd = typeof overlayClass === 'string' ? overlayClass.split(' ').filter(Boolean) : [];\n if (classesToAdd.length > 0) {\n classList.add(...classesToAdd);\n }\n\n this.__previousClasses = classesToAdd;\n }\n };\n","/**\n * @license\n * Copyright (c) 2017 Anton Korzunov\n * SPDX-License-Identifier: MIT\n */\n\n/**\n * @fileoverview\n *\n * This module includes JS code copied from the `aria-hidden` package:\n * https://github.com/theKashey/aria-hidden/blob/master/src/index.ts\n */\n\n/** @type {WeakMap<Element, number>} */\nlet counterMap = new WeakMap();\n\n/** @type {WeakMap<Element, boolean>} */\nlet uncontrolledNodes = new WeakMap();\n\n/** @type {Record<string, WeakMap<Element, number>>} */\nlet markerMap = {};\n\n/** @type {number} */\nlet lockCount = 0;\n\n/**\n * @param {?Node} node\n * @return {boolean}\n */\nconst isElement = (node) => node && node.nodeType === Node.ELEMENT_NODE;\n\n/**\n * @param {...unknown} args\n */\nconst logError = (...args) => {\n console.error(`Error: ${args.join(' ')}. Skip setting aria-hidden.`);\n};\n\n/**\n * @param {HTMLElement} parent\n * @param {Element[]} targets\n * @return {Element[]}\n */\nconst correctTargets = (parent, targets) => {\n if (!isElement(parent)) {\n logError(parent, 'is not a valid element');\n return [];\n }\n\n return targets\n .map((target) => {\n if (!isElement(target)) {\n logError(target, 'is not a valid element');\n return null;\n }\n\n let node = target;\n while (node && node !== parent) {\n if (parent.contains(node)) {\n return target;\n }\n node = node.getRootNode().host;\n }\n\n logError(target, 'is not contained inside', parent);\n return null;\n })\n .filter((x) => Boolean(x));\n};\n\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param {HTMLElement} [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Function}\n */\nconst applyAttributeToOthers = (originalTarget, parentNode, markerName, controlAttribute) => {\n const targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n\n const markerCounter = markerMap[markerName];\n\n /** @type {Element[]} */\n const hiddenNodes = [];\n\n /** @type {Set<Node>} */\n const elementsToKeep = new Set();\n\n /** @type {Set<Node>} */\n const elementsToStop = new Set(targets);\n\n /**\n * @param {?Node} el\n */\n const keep = (el) => {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n\n elementsToKeep.add(el);\n\n const slot = el.assignedSlot;\n if (slot) {\n keep(slot);\n }\n\n keep(el.parentNode || el.host);\n };\n\n targets.forEach(keep);\n\n /**\n * @param {?Node} el\n */\n const deep = (parent) => {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n\n const root = parent.shadowRoot;\n const children = root ? [...parent.children, ...root.children] : [...parent.children];\n children.forEach((node) => {\n // Skip elements that don't need to be hidden\n if (['template', 'script', 'style'].includes(node.localName)) {\n return;\n }\n\n if (elementsToKeep.has(node)) {\n deep(node);\n } else {\n const attr = node.getAttribute(controlAttribute);\n const alreadyHidden = attr !== null && attr !== 'false';\n const counterValue = (counterMap.get(node) || 0) + 1;\n const markerValue = (markerCounter.get(node) || 0) + 1;\n\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n });\n };\n\n deep(parentNode);\n\n elementsToKeep.clear();\n\n lockCount += 1;\n\n return () => {\n hiddenNodes.forEach((node) => {\n const counterValue = counterMap.get(node) - 1;\n const markerValue = markerCounter.get(node) - 1;\n\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n\n if (!counterValue) {\n if (uncontrolledNodes.has(node)) {\n uncontrolledNodes.delete(node);\n } else {\n node.removeAttribute(controlAttribute);\n }\n }\n\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n\n lockCount -= 1;\n\n if (!lockCount) {\n // clear\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param {HTMLElement} [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Function} undo command\n */\nexport const hideOthers = (originalTarget, parentNode = document.body, markerName = 'data-aria-hidden') => {\n const targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n\n if (parentNode) {\n // We should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n targets.push(...Array.from(parentNode.querySelectorAll('[aria-live]')));\n }\n\n return applyAttributeToOthers(targets, parentNode, markerName, 'aria-hidden');\n};\n\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param {HTMLElement} [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Function} undo command\n */\nexport const inertOthers = (originalTarget, parentNode = document.body, markerName = 'data-inert-ed') => {\n return applyAttributeToOthers(originalTarget, parentNode, markerName, 'inert');\n};\n\n/**\n * @return if current browser supports inert\n */\nexport const supportsInert = 'inert' in HTMLElement.prototype;\n\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param {HTMLElement} [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Function} undo command\n */\nexport const suppressOthers = (originalTarget, parentNode, markerName) =>\n (supportsInert ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { hideOthers } from './aria-hidden.js';\n\n/**\n * A controller for handling modal state on the elements with `dialog` and `alertdialog` role.\n * See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-modal\n *\n * Note, the actual `role` and `aria-modal` attributes are supposed to be handled by the\n * consumer web component. This is done in to ensure the controller only does one thing.\n */\nexport class AriaModalController {\n /**\n * @param {HTMLElement} host\n */\n constructor(host, callback) {\n /**\n * The controller host element.\n *\n * @type {HTMLElement}\n */\n this.host = host;\n\n /**\n * The callback used to detect which element\n * to use as a target. Defaults to the host.\n *\n * @type {Function}\n */\n this.callback = typeof callback === 'function' ? callback : () => host;\n }\n\n /**\n * Make the controller host modal by hiding other elements from screen readers\n * using `aria-hidden` attribute (can be replaced with `inert` in the future).\n *\n * The method name is chosen to align with the one provided by native `<dialog>`:\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/showModal\n */\n showModal() {\n const targets = this.callback();\n this.__showOthers = hideOthers(targets);\n }\n\n /**\n * Remove `aria-hidden` from other elements unless there are any other\n * controller hosts on the page activated by using `showModal()` call.\n */\n close() {\n if (this.__showOthers) {\n this.__showOthers();\n this.__showOthers = null;\n }\n }\n}\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { AriaModalController } from '@vaadin/a11y-base/src/aria-modal-controller.js';\nimport { FocusRestorationController } from '@vaadin/a11y-base/src/focus-restoration-controller.js';\nimport { FocusTrapController } from '@vaadin/a11y-base/src/focus-trap-controller.js';\nimport { getDeepActiveElement, isKeyboardActive } from '@vaadin/a11y-base/src/focus-utils.js';\nimport { ControllerMixin } from '@vaadin/component-base/src/controller-mixin.js';\n\n/**\n * @polymerMixin\n * @mixes ControllerMixin\n */\nexport const OverlayFocusMixin = (superClass) =>\n class OverlayFocusMixin extends ControllerMixin(superClass) {\n static get properties() {\n return {\n /**\n * When true, opening the overlay moves focus to the first focusable child,\n * or to the overlay part with tabindex if there are no focusable children.\n * @attr {boolean} focus-trap\n */\n focusTrap: {\n type: Boolean,\n value: false,\n },\n\n /**\n * Set to true to enable restoring of focus when overlay is closed.\n * @attr {boolean} restore-focus-on-close\n */\n restoreFocusOnClose: {\n type: Boolean,\n value: false,\n },\n\n /**\n * Set to specify the element which should be focused on overlay close,\n * if `restoreFocusOnClose` is set to true.\n * @type {HTMLElement}\n */\n restoreFocusNode: {\n type: HTMLElement,\n },\n };\n }\n\n constructor() {\n super();\n\n this.__ariaModalController = new AriaModalController(this);\n this.__focusTrapController = new FocusTrapController(this);\n this.__focusRestorationController = new FocusRestorationController();\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this.addController(this.__ariaModalController);\n this.addController(this.__focusTrapController);\n this.addController(this.__focusRestorationController);\n }\n\n /**\n * Release focus and restore focus after the overlay is closed.\n *\n * @protected\n */\n _resetFocus() {\n if (this.focusTrap) {\n this.__ariaModalController.close();\n this.__focusTrapController.releaseFocus();\n }\n\n if (this.restoreFocusOnClose && this._shouldRestoreFocus()) {\n const preventScroll = !isKeyboardActive();\n this.__focusRestorationController.restoreFocus({ preventScroll });\n }\n }\n\n /**\n * Save the previously focused node when the overlay starts to open.\n *\n * @protected\n */\n _saveFocus() {\n if (this.restoreFocusOnClose) {\n this.__focusRestorationController.saveFocus(this.restoreFocusNode);\n }\n }\n\n /**\n * Trap focus within the overlay after opening has completed.\n *\n * @protected\n */\n _trapFocus() {\n if (this.focusTrap) {\n this.__ariaModalController.showModal();\n this.__focusTrapController.trapFocus(this.$.overlay);\n }\n }\n\n /**\n * Returns true if focus is still inside the overlay or on the body element,\n * otherwise false.\n *\n * Focus shouldn't be restored if it's been moved elsewhere by another\n * component or as a result of a user interaction e.g. the user clicked\n * on a button outside the overlay while the overlay was open.\n *\n * @protected\n * @return {boolean}\n */\n _shouldRestoreFocus() {\n const activeElement = getDeepActiveElement();\n return activeElement === document.body || this._deepContains(activeElement);\n }\n\n /**\n * Returns true if the overlay contains the given node,\n * including those within shadow DOM trees.\n *\n * @param {Node} node\n * @return {boolean}\n * @protected\n */\n _deepContains(node) {\n if (this.contains(node)) {\n return true;\n }\n let n = node;\n const doc = node.ownerDocument;\n // Walk from node to `this` or `document`\n while (n && n !== doc && n !== this) {\n n = n.parentNode || n.host;\n }\n return n === this;\n }\n };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Returns all attached overlays in visual stacking order.\n * @private\n */\nconst getAttachedInstances = () =>\n Array.from(document.body.children)\n .filter((el) => el instanceof HTMLElement && el._hasOverlayStackMixin && !el.hasAttribute('closing'))\n .sort((a, b) => a.__zIndex - b.__zIndex || 0);\n\n/**\n * Returns true if the overlay is the last one in the opened overlays stack.\n * @param {HTMLElement} overlay\n * @return {boolean}\n * @protected\n */\nexport const isLastOverlay = (overlay) => overlay === getAttachedInstances().pop();\n\n/**\n * @polymerMixin\n */\nexport const OverlayStackMixin = (superClass) =>\n class OverlayStackMixin extends superClass {\n constructor() {\n super();\n\n this._hasOverlayStackMixin = true;\n }\n\n /**\n * Returns true if this is the last one in the opened overlays stack.\n *\n * @return {boolean}\n * @protected\n */\n get _last() {\n return isLastOverlay(this);\n }\n\n /**\n * Brings the overlay as visually the frontmost one.\n */\n bringToFront() {\n let zIndex = '';\n const frontmost = getAttachedInstances()\n .filter((o) => o !== this)\n .pop();\n if (frontmost) {\n const frontmostZIndex = frontmost.__zIndex;\n zIndex = frontmostZIndex + 1;\n }\n this.style.zIndex = zIndex;\n this.__zIndex = zIndex || parseFloat(getComputedStyle(this).zIndex);\n }\n\n /** @protected */\n _enterModalState() {\n if (document.body.style.pointerEvents !== 'none') {\n // Set body pointer-events to 'none' to disable mouse interactions with\n // other document nodes.\n this._previousDocumentPointerEvents = document.body.style.pointerEvents;\n document.body.style.pointerEvents = 'none';\n }\n\n // Disable pointer events in other attached overlays\n getAttachedInstances().forEach((el) => {\n if (el !== this) {\n el.$.overlay.style.pointerEvents = 'none';\n }\n });\n }\n\n /** @protected */\n _exitModalState() {\n if (this._previousDocumentPointerEvents !== undefined) {\n // Restore body pointer-events\n document.body.style.pointerEvents = this._previousDocumentPointerEvents;\n delete this._previousDocumentPointerEvents;\n }\n\n // Restore pointer events in the previous overlay(s)\n const instances = getAttachedInstances();\n\n let el;\n // Use instances.pop() to ensure the reverse order\n while ((el = instances.pop())) {\n if (el === this) {\n // Skip the current instance\n continue;\n }\n el.$.overlay.style.removeProperty('pointer-events');\n if (!el.modeless) {\n // Stop after the last modal\n break;\n }\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { afterNextRender } from '@polymer/polymer/lib/utils/render-status.js';\nimport { isIOS } from '@vaadin/component-base/src/browser-utils.js';\nimport { OverlayFocusMixin } from './vaadin-overlay-focus-mixin.js';\nimport { OverlayStackMixin } from './vaadin-overlay-stack-mixin.js';\n\n/**\n * @polymerMixin\n * @mixes OverlayFocusMixin\n * @mixes OverlayStackMixin\n */\nexport const OverlayMixin = (superClass) =>\n class OverlayMixin extends OverlayFocusMixin(OverlayStackMixin(superClass)) {\n static get properties() {\n return {\n /**\n * When true, the overlay is visible and attached to body.\n */\n opened: {\n type: Boolean,\n notify: true,\n observer: '_openedChanged',\n reflectToAttribute: true,\n },\n\n /**\n * Owner element passed with renderer function\n * @type {HTMLElement}\n */\n owner: {\n type: Object,\n },\n\n /**\n * Object with properties that is passed to `renderer` function\n */\n model: {\n type: Object,\n },\n\n /**\n * Custom function for rendering the content of the overlay.\n * Receives three arguments:\n *\n * - `root` The root container DOM element. Append your content to it.\n * - `owner` The host element of the renderer function.\n * - `model` The object with the properties related with rendering.\n * @type {OverlayRenderer | null | undefined}\n */\n renderer: {\n type: Object,\n },\n\n /**\n * When true the overlay won't disable the main content, showing\n * it doesn't change the functionality of the user interface.\n * @type {boolean}\n */\n modeless: {\n type: Boolean,\n value: false,\n reflectToAttribute: true,\n observer: '_modelessChanged',\n },\n\n /**\n * When set to true, the overlay is hidden. This also closes the overlay\n * immediately in case there is a closing animation in progress.\n * @type {boolean}\n */\n hidden: {\n type: Boolean,\n reflectToAttribute: true,\n observer: '_hiddenChanged',\n },\n\n /**\n * When true the overlay has backdrop on top of content when opened.\n * @type {boolean}\n */\n withBackdrop: {\n type: Boolean,\n value: false,\n reflectToAttribute: true,\n },\n };\n }\n\n static get observers() {\n return ['_rendererOrDataChanged(renderer, owner, model, opened)'];\n }\n\n constructor() {\n super();\n\n this._boundMouseDownListener = this._mouseDownListener.bind(this);\n this._boundMouseUpListener = this._mouseUpListener.bind(this);\n this._boundOutsideClickListener = this._outsideClickListener.bind(this);\n this._boundKeydownListener = this._keydownListener.bind(this);\n\n /* c8 ignore next 3 */\n if (isIOS) {\n this._boundIosResizeListener = () => this._detectIosNavbar();\n }\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n // Need to add dummy click listeners to this and the backdrop or else\n // the document click event listener (_outsideClickListener) may never\n // get invoked on iOS Safari (reproducible in <vaadin-dialog>\n // and <vaadin-context-menu>).\n this.addEventListener('click', () => {});\n this.$.backdrop.addEventListener('click', () => {});\n\n this.addEventListener('mouseup', () => {\n // In Chrome, focus moves to body on overlay content mousedown\n // See https://github.com/vaadin/flow-components/issues/5507\n if (document.activeElement === document.body && this.$.overlay.getAttribute('tabindex') === '0') {\n this.$.overlay.focus();\n }\n });\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n\n /* c8 ignore next 3 */\n if (this._boundIosResizeListener) {\n this._detectIosNavbar();\n window.addEventListener('resize', this._boundIosResizeListener);\n }\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n\n /* c8 ignore next 3 */\n if (this._boundIosResizeListener) {\n window.removeEventListener('resize', this._boundIosResizeListener);\n }\n }\n\n /**\n * Requests an update for the content of the overlay.\n * While performing the update, it invokes the renderer passed in the `renderer` property.\n *\n * It is not guaranteed that the update happens immediately (synchronously) after it is requested.\n */\n requestContentUpdate() {\n if (this.renderer) {\n this.renderer.call(this.owner, this, this.owner, this.model);\n }\n }\n\n /**\n * @param {Event=} sourceEvent\n */\n close(sourceEvent) {\n const evt = new CustomEvent('vaadin-overlay-close', {\n bubbles: true,\n cancelable: true,\n detail: { sourceEvent },\n });\n this.dispatchEvent(evt);\n if (!evt.defaultPrevented) {\n this.opened = false;\n }\n }\n\n /** @private */\n _detectIosNavbar() {\n /* c8 ignore next 15 */\n if (!this.opened) {\n return;\n }\n\n const innerHeight = window.innerHeight;\n const innerWidth = window.innerWidth;\n\n const landscape = innerWidth > innerHeight;\n\n const clientHeight = document.documentElement.clientHeight;\n\n if (landscape && clientHeight > innerHeight) {\n this.style.setProperty('--vaadin-overlay-viewport-bottom', `${clientHeight - innerHeight}px`);\n } else {\n this.style.setProperty('--vaadin-overlay-viewport-bottom', '0');\n }\n }\n\n /** @private */\n _addGlobalListeners() {\n document.addEventListener('mousedown', this._boundMouseDownListener);\n document.addEventListener('mouseup', this._boundMouseUpListener);\n // Firefox leaks click to document on contextmenu even if prevented\n // https://bugzilla.mozilla.org/show_bug.cgi?id=990614\n document.documentElement.addEventListener('click', this._boundOutsideClickListener, true);\n }\n\n /** @private */\n _removeGlobalListeners() {\n document.removeEventListener('mousedown', this._boundMouseDownListener);\n document.removeEventListener('mouseup', this._boundMouseUpListener);\n document.documentElement.removeEventListener('click', this._boundOutsideClickListener, true);\n }\n\n /** @private */\n _rendererOrDataChanged(renderer, owner, model, opened) {\n const ownerOrModelChanged = this._oldOwner !== owner || this._oldModel !== model;\n this._oldModel = model;\n this._oldOwner = owner;\n\n const rendererChanged = this._oldRenderer !== renderer;\n const hasOldRenderer = this._oldRenderer !== undefined;\n this._oldRenderer = renderer;\n\n const openedChanged = this._oldOpened !== opened;\n this._oldOpened = opened;\n\n if (rendererChanged && hasOldRenderer) {\n this.innerHTML = '';\n // Whenever a Lit-based renderer is used, it assigns a Lit part to the node it was rendered into.\n // When clearing the rendered content, this part needs to be manually disposed of.\n // Otherwise, using a Lit-based renderer on the same node will throw an exception or render nothing afterward.\n delete this._$litPart$;\n }\n\n if (opened && renderer && (rendererChanged || openedChanged || ownerOrModelChanged)) {\n this.requestContentUpdate();\n }\n }\n\n /** @private */\n _modelessChanged(modeless) {\n if (!modeless) {\n if (this.opened) {\n this._addGlobalListeners();\n this._enterModalState();\n }\n } else {\n this._removeGlobalListeners();\n this._exitModalState();\n }\n }\n\n /** @private */\n _openedChanged(opened, wasOpened) {\n if (opened) {\n this._saveFocus();\n\n this._animatedOpening();\n\n afterNextRender(this, () => {\n this._trapFocus();\n\n const evt = new CustomEvent('vaadin-overlay-open', { bubbles: true });\n this.dispatchEvent(evt);\n });\n\n document.addEventListener('keydown', this._boundKeydownListener);\n\n if (!this.modeless) {\n this._addGlobalListeners();\n }\n } else if (wasOpened) {\n this._resetFocus();\n\n this._animatedClosing();\n\n document.removeEventListener('keydown', this._boundKeydownListener);\n\n if (!this.modeless) {\n this._removeGlobalListeners();\n }\n }\n }\n\n /** @private */\n _hiddenChanged(hidden) {\n if (hidden && this.hasAttribute('closing')) {\n this._flushAnimation('closing');\n }\n }\n\n /**\n * @return {boolean}\n * @private\n */\n _shouldAnimate() {\n const style = getComputedStyle(this);\n const name = style.getPropertyValue('animation-name');\n const hidden = style.getPropertyValue('display') === 'none';\n return !hidden && name && name !== 'none';\n }\n\n /**\n * @param {string} type\n * @param {Function} callback\n * @private\n */\n _enqueueAnimation(type, callback) {\n const handler = `__${type}Handler`;\n const listener = (event) => {\n if (event && event.target !== this) {\n return;\n }\n callback();\n this.removeEventListener('animationend', listener);\n delete this[handler];\n };\n this[handler] = listener;\n this.addEventListener('animationend', listener);\n }\n\n /**\n * @param {string} type\n * @protected\n */\n _flushAnimation(type) {\n const handler = `__${type}Handler`;\n if (typeof this[handler] === 'function') {\n this[handler]();\n }\n }\n\n /** @private */\n _animatedOpening() {\n if (this.parentNode === document.body && this.hasAttribute('closing')) {\n this._flushAnimation('closing');\n }\n this._attachOverlay();\n if (!this.modeless) {\n this._enterModalState();\n }\n this.setAttribute('opening', '');\n\n if (this._shouldAnimate()) {\n this._enqueueAnimation('opening', () => {\n this._finishOpening();\n });\n } else {\n this._finishOpening();\n }\n }\n\n /** @private */\n _attachOverlay() {\n this._placeholder = document.createComment('vaadin-overlay-placeholder');\n this.parentNode.insertBefore(this._placeholder, this);\n document.body.appendChild(this);\n this.bringToFront();\n }\n\n /** @private */\n _finishOpening() {\n this.removeAttribute('opening');\n }\n\n /** @private */\n _finishClosing() {\n this._detachOverlay();\n this.$.overlay.style.removeProperty('pointer-events');\n this.removeAttribute('closing');\n this.dispatchEvent(new CustomEvent('vaadin-overlay-closed'));\n }\n\n /** @private */\n _animatedClosing() {\n if (this.hasAttribute('opening')) {\n this._flushAnimation('opening');\n }\n if (this._placeholder) {\n this._exitModalState();\n this.setAttribute('closing', '');\n this.dispatchEvent(new CustomEvent('vaadin-overlay-closing'));\n\n if (this._shouldAnimate()) {\n this._enqueueAnimation('closing', () => {\n this._finishClosing();\n });\n } else {\n this._finishClosing();\n }\n }\n }\n\n /** @private */\n _detachOverlay() {\n this._placeholder.parentNode.insertBefore(this, this._placeholder);\n this._placeholder.parentNode.removeChild(this._placeholder);\n }\n\n /** @private */\n _mouseDownListener(event) {\n this._mouseDownInside = event.composedPath().indexOf(this.$.overlay) >= 0;\n }\n\n /** @private */\n _mouseUpListener(event) {\n this._mouseUpInside = event.composedPath().indexOf(this.$.overlay) >= 0;\n }\n\n /**\n * Whether to close the overlay on outside click or not.\n * Override this method to customize the closing logic.\n *\n * @param {Event} _event\n * @return {boolean}\n * @protected\n */\n _shouldCloseOnOutsideClick(_event) {\n return this._last;\n }\n\n /**\n * Outside click listener used in capture phase to close the overlay before\n * propagating the event to the listener on the element that triggered it.\n * Otherwise, calling `open()` would result in closing and re-opening.\n *\n * @private\n */\n _outsideClickListener(event) {\n if (event.composedPath().includes(this.$.overlay) || this._mouseDownInside || this._mouseUpInside) {\n this._mouseDownInside = false;\n this._mouseUpInside = false;\n return;\n }\n\n if (!this._shouldCloseOnOutsideClick(event)) {\n return;\n }\n\n const evt = new CustomEvent('vaadin-overlay-outside-click', {\n bubbles: true,\n cancelable: true,\n detail: { sourceEvent: event },\n });\n this.dispatchEvent(evt);\n\n if (this.opened && !evt.defaultPrevented) {\n this.close(event);\n }\n }\n\n /**\n * Listener used to close whe overlay on Escape press, if it is the last one.\n * @private\n */\n _keydownListener(event) {\n if (!this._last) {\n return;\n }\n\n // Only close modeless overlay on Esc press when it contains focus\n if (this.modeless && !event.composedPath().includes(this.$.overlay)) {\n return;\n }\n\n if (event.key === 'Escape') {\n const evt = new CustomEvent('vaadin-overlay-escape-press', {\n bubbles: true,\n cancelable: true,\n detail: { sourceEvent: event },\n });\n this.dispatchEvent(evt);\n\n if (this.opened && !evt.defaultPrevented) {\n this.close(event);\n }\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { css } from 'lit';\n\nexport const overlayStyles = css`\n :host {\n z-index: 200;\n position: fixed;\n\n /* Despite of what the names say, <vaadin-overlay> is just a container\n for position/sizing/alignment. The actual overlay is the overlay part. */\n\n /* Default position constraints: the entire viewport. Note: themes can\n override this to introduce gaps between the overlay and the viewport. */\n inset: 0;\n bottom: var(--vaadin-overlay-viewport-bottom);\n\n /* Use flexbox alignment for the overlay part. */\n display: flex;\n flex-direction: column; /* makes dropdowns sizing easier */\n /* Align to center by default. */\n align-items: center;\n justify-content: center;\n\n /* Allow centering when max-width/max-height applies. */\n margin: auto;\n\n /* The host is not clickable, only the overlay part is. */\n pointer-events: none;\n\n /* Remove tap highlight on touch devices. */\n -webkit-tap-highlight-color: transparent;\n\n /* CSS API for host */\n --vaadin-overlay-viewport-bottom: 0;\n }\n\n :host([hidden]),\n :host(:not([opened]):not([closing])),\n :host(:not([opened]):not([closing])) [part='overlay'] {\n display: none !important;\n }\n\n [part='overlay'] {\n -webkit-overflow-scrolling: touch;\n overflow: auto;\n pointer-events: auto;\n\n /* Prevent overflowing the host */\n max-width: 100%;\n box-sizing: border-box;\n\n -webkit-tap-highlight-color: initial; /* reenable tap highlight inside */\n }\n\n [part='backdrop'] {\n z-index: -1;\n content: '';\n background: rgba(0, 0, 0, 0.5);\n position: fixed;\n inset: 0;\n pointer-events: auto;\n }\n`;\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '../color.js';\nimport '../spacing.js';\nimport '../style.js';\nimport '../typography.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst overlay = css`\n :host {\n top: var(--lumo-space-m);\n right: var(--lumo-space-m);\n bottom: var(--lumo-space-m);\n left: var(--lumo-space-m);\n /* Workaround for Edge issue (only on Surface), where an overflowing vaadin-list-box inside vaadin-select-overlay makes the overlay transparent */\n /* stylelint-disable-next-line */\n outline: 0px solid transparent;\n }\n\n [part='overlay'] {\n background-color: var(--lumo-base-color);\n background-image: linear-gradient(var(--lumo-tint-5pct), var(--lumo-tint-5pct));\n border-radius: var(--lumo-border-radius-m);\n box-shadow: 0 0 0 1px var(--lumo-shade-5pct), var(--lumo-box-shadow-m);\n color: var(--lumo-body-text-color);\n font-family: var(--lumo-font-family);\n font-size: var(--lumo-font-size-m);\n font-weight: 400;\n line-height: var(--lumo-line-height-m);\n letter-spacing: 0;\n text-transform: none;\n -webkit-text-size-adjust: 100%;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n [part='content'] {\n padding: var(--lumo-space-xs);\n }\n\n [part='backdrop'] {\n background-color: var(--lumo-shade-20pct);\n animation: 0.2s lumo-overlay-backdrop-enter both;\n will-change: opacity;\n }\n\n @keyframes lumo-overlay-backdrop-enter {\n 0% {\n opacity: 0;\n }\n }\n\n :host([closing]) [part='backdrop'] {\n animation: 0.2s lumo-overlay-backdrop-exit both;\n }\n\n @keyframes lumo-overlay-backdrop-exit {\n 100% {\n opacity: 0;\n }\n }\n\n @keyframes lumo-overlay-dummy-animation {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 1;\n }\n }\n`;\n\nregisterStyles('', overlay, { moduleId: 'lumo-overlay' });\n\nexport { overlay };\n"],"names":["scheduled","beforeRenderQueue","afterRenderQueue","schedule","requestAnimationFrame","queue","length","callMethod","shift","flushQueue","setTimeout","i","l","runQueue","info","context","callback","args","apply","e","afterNextRender","push","FocusRestorationController","saveFocus","focusNode","this","restoreFocus","options","preventScroll","document","body","focus","instances","FocusTrapController","constructor","host","__trapNode","__onKeyDown","bind","__focusableElements","__focusedElementIndex","focusableElements","indexOf","filter","pop","hostConnected","addEventListener","hostDisconnected","removeEventListener","trapFocus","trapNode","Error","releaseFocus","event","Array","from","key","preventDefault","backward","shiftKey","__focusNextElement","step","currentIndex","element","localName","select","OverlayClassMixin","superclass","properties","overlayClass","type","String","_overlayElement","Object","observers","__updateOverlayClassNames","overlayElement","undefined","classList","__initialClasses","Set","isArray","__previousClasses","classesToRemove","name","has","remove","classesToAdd","split","Boolean","add","counterMap","WeakMap","uncontrolledNodes","markerMap","lockCount","isElement","node","nodeType","Node","ELEMENT_NODE","logError","console","error","join","hideOthers","originalTarget","parentNode","markerName","targets","querySelectorAll","controlAttribute","parent","map","target","contains","getRootNode","x","correctTargets","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","el","slot","assignedSlot","forEach","deep","root","shadowRoot","children","includes","attr","getAttribute","alreadyHidden","counterValue","get","markerValue","set","setAttribute","clear","delete","removeAttribute","applyAttributeToOthers","HTMLElement","prototype","AriaModalController","showModal","__showOthers","close","OverlayFocusMixin","superClass","focusTrap","value","restoreFocusOnClose","restoreFocusNode","super","__ariaModalController","__focusTrapController","__focusRestorationController","ready","addController","_resetFocus","_shouldRestoreFocus","_saveFocus","_trapFocus","$","overlay","activeElement","_deepContains","n","doc","ownerDocument","getAttachedInstances","_hasOverlayStackMixin","hasAttribute","sort","a","b","__zIndex","OverlayStackMixin","_last","bringToFront","zIndex","frontmost","o","style","parseFloat","getComputedStyle","_enterModalState","pointerEvents","_previousDocumentPointerEvents","_exitModalState","removeProperty","modeless","OverlayMixin","opened","notify","observer","reflectToAttribute","owner","model","renderer","hidden","withBackdrop","_boundMouseDownListener","_mouseDownListener","_boundMouseUpListener","_mouseUpListener","_boundOutsideClickListener","_outsideClickListener","_boundKeydownListener","_keydownListener","_boundIosResizeListener","_detectIosNavbar","backdrop","connectedCallback","window","disconnectedCallback","requestContentUpdate","call","sourceEvent","evt","CustomEvent","bubbles","cancelable","detail","dispatchEvent","defaultPrevented","innerHeight","landscape","innerWidth","clientHeight","documentElement","setProperty","_addGlobalListeners","_removeGlobalListeners","_rendererOrDataChanged","ownerOrModelChanged","_oldOwner","_oldModel","rendererChanged","_oldRenderer","hasOldRenderer","openedChanged","_oldOpened","innerHTML","_$litPart$","_modelessChanged","_openedChanged","wasOpened","_animatedOpening","_animatedClosing","_hiddenChanged","_flushAnimation","_shouldAnimate","getPropertyValue","_enqueueAnimation","handler","listener","_attachOverlay","_finishOpening","_placeholder","createComment","insertBefore","appendChild","_finishClosing","_detachOverlay","removeChild","_mouseDownInside","composedPath","_mouseUpInside","_shouldCloseOnOutsideClick","_event","overlayStyles","moduleId"],"sourceRoot":""}
|