@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
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"3620.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/field-base/src/input-field-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/src/vaadin-text-field-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/src/vaadin-text-field.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/theme/lumo/vaadin-text-field-styles.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) 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) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { InputController } from '@vaadin/field-base/src/input-controller.js';\nimport { InputFieldMixin } from '@vaadin/field-base/src/input-field-mixin.js';\nimport { LabelledInputController } from '@vaadin/field-base/src/labelled-input-controller.js';\n\n/**\n * A mixin providing common text field functionality.\n *\n * @polymerMixin\n * @mixes InputFieldMixin\n */\nexport const TextFieldMixin = (superClass) =>\n class TextFieldMixinClass extends 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 constructor() {\n super();\n this._setType('text');\n }\n\n /** @protected */\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 };\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/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 { TextFieldMixin } from './vaadin-text-field-mixin.js';\n\nregisterStyles('vaadin-text-field', inputFieldShared, { moduleId: 'vaadin-text-field-styles' });\n\n/**\n * `<vaadin-text-field>` is a web component that allows the user to input and edit text.\n *\n * ```html\n * <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n * ```\n *\n * ### Prefixes and suffixes\n *\n * These are child elements of a `<vaadin-text-field>` 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-field label=\"Email address\">\n * <div slot=\"prefix\">Sent to:</div>\n * <div slot=\"suffix\">@vaadin.com</div>\n * </vaadin-text-field>\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 * The following shadow DOM parts are available for styling:\n *\n * Part name | Description\n * ---------------------|----------------\n * `label` | The label element\n * `input-field` | The element that wraps prefix, value and suffix\n * `clear-button` | The clear button\n * `error-message` | The error message element\n * `helper-text` | The helper text element wrapper\n * `required-indicator` | The `required` state indicator element\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description | Part name\n * --------------------|-------------|------------\n * `disabled` | Set to a disabled text field | :host\n * `has-value` | Set when the element has a value | :host\n * `has-label` | Set when the element has a label | :host\n * `has-helper` | Set when the element has helper text or slot | :host\n * `has-error-message` | Set when the element has an error message | :host\n * `invalid` | Set when the element is invalid | :host\n * `input-prevented` | Temporarily set when invalid input is prevented | :host\n * `focused` | Set when the element is focused | :host\n * `focus-ring` | Set when the element is keyboard focused | :host\n * `readonly` | Set to a readonly text field | :host\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 ThemableMixin\n * @mixes TextFieldMixin\n */\nexport class TextField extends TextFieldMixin(ThemableMixin(ElementMixin(PolymerElement))) {\n static get is() {\n return 'vaadin-text-field';\n }\n\n static get template() {\n return html`\n <style>\n [part='input-field'] {\n flex-grow: 0;\n }\n </style>\n\n <div class=\"vaadin-field-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 <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 <slot name=\"tooltip\"></slot>\n `;\n }\n\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\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(TextField);\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 { inputFieldShared } from '@vaadin/vaadin-lumo-styles/mixins/input-field-shared.js';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nregisterStyles('vaadin-text-field', inputFieldShared, {\n moduleId: 'lumo-text-field-styles',\n});\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","InputFieldMixin","autocomplete","autocorrect","autocapitalize","reflectToAttribute","__data","__dataValue","value","_inputElementChanged","console","warn","localName","_setFocused","focused","document","hasFocus","validate","_onInput","invalid","_valueChanged","newValue","oldValue","undefined","TextFieldMixin","superClass","maxlength","Number","minlength","constructor","_setType","TextField"],"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 384.js.LICENSE.txt */
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[384],{30025:(e,t,o)=>{o.d(t,{Qj:()=>h,aJ:()=>s,dw:()=>i,iq:()=>u,n8:()=>d});let r=!1;function i(){let e=document.activeElement||document.body;for(;e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;return e}function s(){return r}function n(e){const t=e.style;if("hidden"===t.visibility||"none"===t.display)return!0;const o=window.getComputedStyle(e);return"hidden"===o.visibility||"none"===o.display}function a(e,t){const o=Math.max(e.tabIndex,0),r=Math.max(t.tabIndex,0);return 0===o||0===r?r>o:o>r}function l(e){const t=e.length;if(t<2)return e;const o=Math.ceil(t/2);return function(e,t){const o=[];for(;e.length>0&&t.length>0;)a(e[0],t[0])?o.push(t.shift()):o.push(e.shift());return o.concat(e,t)}(l(e.slice(0,o)),l(e.slice(o)))}function d(e){return null===e.offsetParent&&0===e.clientWidth&&0===e.clientHeight||n(e)}function h(e){return e.getRootNode().activeElement===e}function c(e,t){if(e.nodeType!==Node.ELEMENT_NODE||n(e))return!1;const o=e,r=function(e){if(!function(e){return!e.matches('[tabindex="-1"]')&&(e.matches("input, select, textarea, button, object")?e.matches(":not([disabled])"):e.matches("a[href], area[href], iframe, [tabindex], [contentEditable]"))}(e))return-1;const t=e.getAttribute("tabindex")||0;return Number(t)}(o);let i=r>0;r>=0&&t.push(o);let s=[];return s="slot"===o.localName?o.assignedNodes({flatten:!0}):(o.shadowRoot||o).children,[...s].forEach((e=>{i=c(e,t)||i})),i}function u(e){const t=[];return c(e,t)?l(t):t}window.addEventListener("keydown",(()=>{r=!0}),{capture:!0}),window.addEventListener("mousedown",(()=>{r=!1}),{capture:!0})},4080:(e,t,o)=>{o.d(t,{CI:()=>c,H8:()=>n,gm:()=>a,m0:()=>s,nr:()=>h,un:()=>d});const r=e=>e.test(navigator.userAgent),i=e=>e.test(navigator.platform),s=r(/Android/u),n=r(/Chrome/u)&&/Google Inc/u.test(navigator.vendor),a=r(/Firefox/u),l=i(/^iPad/u)||i(/^Mac/u)&&navigator.maxTouchPoints>1,d=i(/^iPhone/u)||l,h=r(/^((?!chrome|android).)*safari/iu),c=(()=>{try{return document.createEvent("TouchEvent"),!0}catch(e){return!1}})()},55774:(e,t,o)=>{o.d(t,{w:()=>r});const r=(0,o(98741).y)((e=>"function"==typeof e.prototype.addController?e:class extends e{constructor(){super(),this.__controllers=new Set}connectedCallback(){super.connectedCallback(),this.__controllers.forEach((e=>{e.hostConnected&&e.hostConnected()}))}disconnectedCallback(){super.disconnectedCallback(),this.__controllers.forEach((e=>{e.hostDisconnected&&e.hostDisconnected()}))}addController(e){this.__controllers.add(e),void 0!==this.$&&this.isConnected&&e.hostConnected&&e.hostConnected()}removeController(e){this.__controllers.delete(e)}}))},21255:(e,t,o)=>{function r(e){window.Vaadin&&window.Vaadin.templateRendererCallback?window.Vaadin.templateRendererCallback(e):e.querySelector("template")&&console.warn(`WARNING: <template> inside <${e.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`)}o.d(t,{h:()=>r})},69117:(e,t,o)=>{o(5948),o(9433);var r=o(40211),i=o(87550);const s=i.AH`
|
3
3
|
/* Optical centering */
|
4
4
|
:host::before,
|
5
5
|
:host::after {
|
@@ -97,7 +97,7 @@
|
|
97
97
|
transform: scale(1.02);
|
98
98
|
}
|
99
99
|
}
|
100
|
-
`;(0,i.SF)("vaadin-dialog-overlay",[r.L,s],{moduleId:"lumo-dialog"});var n=o(
|
100
|
+
`;(0,i.SF)("vaadin-dialog-overlay",[r.L,s],{moduleId:"lumo-dialog"});var n=o(13256),a=o(82901),l=o(23927),d=o(5072),h=o(24473);const c=e=>class extends((0,h.c)(e)){static get properties(){return{headerTitle:{type:String},headerRenderer:{type:Object},footerRenderer:{type:Object}}}static get observers(){return["_headerFooterRendererChange(headerRenderer, footerRenderer, opened)","_headerTitleChanged(headerTitle, opened)"]}ready(){super.ready(),this.__resizeObserver=new ResizeObserver((()=>{this.__updateOverflow()})),this.__resizeObserver.observe(this.$.resizerContainer),this.$.content.addEventListener("scroll",(()=>{this.__updateOverflow()}))}__createContainer(e){const t=document.createElement("div");return t.setAttribute("slot",e),t}__clearContainer(e){e.innerHTML="",delete e._$litPart$}__initContainer(e,t){return e?this.__clearContainer(e):e=this.__createContainer(t),e}_headerFooterRendererChange(e,t,o){const r=this.__oldHeaderRenderer!==e;this.__oldHeaderRenderer=e;const i=this.__oldFooterRenderer!==t;this.__oldFooterRenderer=t;const s=this._oldOpenedFooterHeader!==o;this._oldOpenedFooterHeader=o,this.toggleAttribute("has-header",!!e),this.toggleAttribute("has-footer",!!t),r&&(e?this.headerContainer=this.__initContainer(this.headerContainer,"header-content"):this.headerContainer&&(this.headerContainer.remove(),this.headerContainer=null,this.__updateOverflow())),i&&(t?this.footerContainer=this.__initContainer(this.footerContainer,"footer"):this.footerContainer&&(this.footerContainer.remove(),this.footerContainer=null,this.__updateOverflow())),(e&&(r||s)||t&&(i||s))&&o&&this.requestContentUpdate()}_headerTitleChanged(e,t){this.toggleAttribute("has-title",!!e),t&&(e||this._oldHeaderTitle)&&this.requestContentUpdate(),this._oldHeaderTitle=e}_headerTitleRenderer(){this.headerTitle?(this.headerTitleElement||(this.headerTitleElement=document.createElement("h2"),this.headerTitleElement.setAttribute("slot","title"),this.headerTitleElement.classList.add("draggable")),this.appendChild(this.headerTitleElement),this.headerTitleElement.textContent=this.headerTitle):this.headerTitleElement&&(this.headerTitleElement.remove(),this.headerTitleElement=null)}requestContentUpdate(){super.requestContentUpdate(),this.headerContainer&&(this.headerContainer.parentElement||this.appendChild(this.headerContainer),this.headerRenderer&&this.headerRenderer.call(this.owner,this.headerContainer,this.owner)),this.footerContainer&&(this.footerContainer.parentElement||this.appendChild(this.footerContainer),this.footerRenderer&&this.footerRenderer.call(this.owner,this.footerContainer,this.owner)),this._headerTitleRenderer(),this.__updateOverflow()}setBounds(e){const t=this.$.overlay,o={...e};"absolute"!==t.style.position&&(t.style.position="absolute",this.setAttribute("has-bounds-set","")),Object.keys(o).forEach((e=>{"number"==typeof o[e]&&(o[e]=`${o[e]}px`)})),Object.assign(t.style,o)}getBounds(){const e=this.$.overlay.getBoundingClientRect(),t=this.getBoundingClientRect();return{top:e.top-t.top,left:e.left-t.left,width:e.width,height:e.height}}__updateOverflow(){let e="";if(this.hasAttribute("has-header")||this.hasAttribute("has-footer")||this.headerTitle){const t=this.$.content;t.scrollTop>0&&(e+=" top"),t.scrollTop<t.scrollHeight-t.clientHeight&&(e+=" bottom")}const t=e.trim();t.length>0&&this.getAttribute("overflow")!==t?this.setAttribute("overflow",t):0===t.length&&this.hasAttribute("overflow")&&this.removeAttribute("overflow")}};var u=o(51450);const p=u.AH`
|
101
101
|
[part='header'],
|
102
102
|
[part='header-content'],
|
103
103
|
[part='footer'] {
|
@@ -280,7 +280,7 @@
|
|
280
280
|
<footer part="footer"><slot name="footer"></slot></footer>
|
281
281
|
</section>
|
282
282
|
</div>
|
283
|
-
`}}(0,a.X)(m);var g=o(
|
283
|
+
`}}(0,a.X)(m);var g=o(90676),f=o(55341),y=o(21255),_=o(75365);const b=e=>class extends e{static get properties(){return{opened:{type:Boolean,value:!1,notify:!0},noCloseOnOutsideClick:{type:Boolean,value:!1},noCloseOnEsc:{type:Boolean,value:!1},modeless:{type:Boolean,value:!1}}}ready(){super.ready();const e=this.$.overlay;e.addEventListener("vaadin-overlay-outside-click",this._handleOutsideClick.bind(this)),e.addEventListener("vaadin-overlay-escape-press",this._handleEscPress.bind(this)),this._overlayElement=e}connectedCallback(){super.connectedCallback(),this.__restoreOpened&&(this.opened=!0)}disconnectedCallback(){super.disconnectedCallback(),setTimeout((()=>{this.isConnected||(this.__restoreOpened=this.opened,this.opened=!1)}))}_onOverlayOpened(e){!1===e.detail.value&&(this.opened=!1)}_handleOutsideClick(e){this.noCloseOnOutsideClick&&e.preventDefault()}_handleEscPress(e){this.noCloseOnEsc&&e.preventDefault()}_bringOverlayToFront(){this.modeless&&this._overlayElement.bringToFront()}};var w=o(4080);function z(e){return e.touches?e.touches[0]:e}function C(e){return e.clientX>=0&&e.clientX<=window.innerWidth&&e.clientY>=0&&e.clientY<=window.innerHeight}const x=e=>class extends e{static get properties(){return{draggable:{type:Boolean,value:!1,reflectToAttribute:!0},_touchDevice:{type:Boolean,value:w.CI},__dragHandleClassName:{type:String}}}async ready(){super.ready(),this._originalBounds={},this._originalMouseCoords={},this._startDrag=this._startDrag.bind(this),this._drag=this._drag.bind(this),this._stopDrag=this._stopDrag.bind(this),await new Promise(requestAnimationFrame),this.$.overlay.$.overlay.addEventListener("mousedown",this._startDrag),this.$.overlay.$.overlay.addEventListener("touchstart",this._startDrag)}_startDrag(e){if(!("touchstart"===e.type&&e.touches.length>1)&&this.draggable&&(0===e.button||e.touches)){const t=this.$.overlay.$.resizerContainer,o=e.target===t,r=e.offsetX>t.clientWidth||e.offsetY>t.clientHeight,i=e.target===this.$.overlay.$.content,s=e.composedPath().some(((e,t)=>{if(!e.classList)return!1;const o=e.classList.contains(this.__dragHandleClassName||"draggable"),r=e.classList.contains("draggable-leaf-only"),i=0===t;return r&&i||o&&(!r||i)}));if(o&&!r||i||s){s||e.preventDefault(),this._originalBounds=this.$.overlay.getBounds();const t=z(e);this._originalMouseCoords={top:t.pageY,left:t.pageX},window.addEventListener("mouseup",this._stopDrag),window.addEventListener("touchend",this._stopDrag),window.addEventListener("mousemove",this._drag),window.addEventListener("touchmove",this._drag),"absolute"!==this.$.overlay.$.overlay.style.position&&this.$.overlay.setBounds(this._originalBounds)}}}_drag(e){const t=z(e);if(C(t)){const e=this._originalBounds.top+(t.pageY-this._originalMouseCoords.top),o=this._originalBounds.left+(t.pageX-this._originalMouseCoords.left);this.$.overlay.setBounds({top:e,left:o})}}_stopDrag(){window.removeEventListener("mouseup",this._stopDrag),window.removeEventListener("touchend",this._stopDrag),window.removeEventListener("mousemove",this._drag),window.removeEventListener("touchmove",this._drag)}},E=e=>class extends e{static get properties(){return{renderer:{type:Object},headerTitle:String,headerRenderer:{type:Object},footerRenderer:{type:Object}}}requestContentUpdate(){this._overlayElement&&this._overlayElement.requestContentUpdate()}},L=e=>class extends e{static get properties(){return{resizable:{type:Boolean,value:!1,reflectToAttribute:!0}}}async ready(){super.ready(),this._originalBounds={},this._originalMouseCoords={},this._resizeListeners={start:{},resize:{},stop:{}},await new Promise(requestAnimationFrame),this._addResizeListeners()}_addResizeListeners(){["n","e","s","w","nw","ne","se","sw"].forEach((e=>{const t=document.createElement("div");this._resizeListeners.start[e]=t=>this._startResize(t,e),this._resizeListeners.resize[e]=t=>this._resize(t,e),this._resizeListeners.stop[e]=()=>this._stopResize(e),1===e.length&&t.classList.add("edge"),t.classList.add("resizer"),t.classList.add(e),t.addEventListener("mousedown",this._resizeListeners.start[e]),t.addEventListener("touchstart",this._resizeListeners.start[e]),this.$.overlay.$.resizerContainer.appendChild(t)}))}_startResize(e,t){if(!("touchstart"===e.type&&e.touches.length>1)&&(0===e.button||e.touches)){e.preventDefault(),this._originalBounds=this.$.overlay.getBounds();const o=z(e);this._originalMouseCoords={top:o.pageY,left:o.pageX},window.addEventListener("mousemove",this._resizeListeners.resize[t]),window.addEventListener("touchmove",this._resizeListeners.resize[t]),window.addEventListener("mouseup",this._resizeListeners.stop[t]),window.addEventListener("touchend",this._resizeListeners.stop[t]),"absolute"!==this.$.overlay.$.overlay.style.position&&this.$.overlay.setBounds(this._originalBounds)}}_resize(e,t){const o=z(e);if(C(o)){const e=40;t.split("").forEach((t=>{switch(t){case"n":{const t=this._originalBounds.height-(o.pageY-this._originalMouseCoords.top),r=this._originalBounds.top+(o.pageY-this._originalMouseCoords.top);t>e&&this.$.overlay.setBounds({top:r,height:t});break}case"e":{const t=this._originalBounds.width+(o.pageX-this._originalMouseCoords.left);t>e&&this.$.overlay.setBounds({width:t});break}case"s":{const t=this._originalBounds.height+(o.pageY-this._originalMouseCoords.top);t>e&&this.$.overlay.setBounds({height:t});break}case"w":{const t=this._originalBounds.width-(o.pageX-this._originalMouseCoords.left),r=this._originalBounds.left+(o.pageX-this._originalMouseCoords.left);t>e&&this.$.overlay.setBounds({left:r,width:t});break}}}))}}_stopResize(e){window.removeEventListener("mousemove",this._resizeListeners.resize[e]),window.removeEventListener("touchmove",this._resizeListeners.resize[e]),window.removeEventListener("mouseup",this._resizeListeners.stop[e]),window.removeEventListener("touchend",this._resizeListeners.stop[e]),this.dispatchEvent(new CustomEvent("resize",{detail:this._getResizeDimensions()}))}_getResizeDimensions(){const e=this.$.overlay.$.resizerContainer.scrollTop,{width:t,height:o}=getComputedStyle(this.$.overlay.$.overlay),r=this.$.overlay.$.content;r.setAttribute("style","position: absolute; top: 0; right: 0; bottom: 0; left: 0; box-sizing: content-box; height: auto;");const{width:i,height:s}=getComputedStyle(r);return r.removeAttribute("style"),this.$.overlay.$.resizerContainer.scrollTop=e,{width:t,height:o,contentWidth:i,contentHeight:s}}};class k extends(x(L(E(b((0,f.i)((0,_._)((0,g.q)(n.Pu)))))))){static get template(){return n.qy`
|
284
284
|
<style>
|
285
285
|
:host {
|
286
286
|
display: none !important;
|
@@ -300,14 +300,14 @@
|
|
300
300
|
restore-focus-on-close
|
301
301
|
focus-trap
|
302
302
|
></vaadin-dialog-overlay>
|
303
|
-
`}static get is(){return"vaadin-dialog"}static get properties(){return{ariaLabel:{type:String,value:""}}}static get observers(){return["_openedChanged(opened)","_ariaLabelChanged(ariaLabel, headerTitle)","_rendererChanged(renderer, headerRenderer, footerRenderer)"]}ready(){super.ready(),this._overlayElement.setAttribute("role","dialog"),(0,y.h)(this)}_rendererChanged(e,t,o){this.$.overlay.setProperties({owner:this,renderer:e,headerRenderer:t,footerRenderer:o})}_openedChanged(e){this.$.overlay.opened=e}_ariaLabelChanged(e,t){e||t?this.$.overlay.setAttribute("aria-label",e||t):this.$.overlay.removeAttribute("aria-label")}}(0,a.X)(k)},
|
303
|
+
`}static get is(){return"vaadin-dialog"}static get properties(){return{ariaLabel:{type:String,value:""}}}static get observers(){return["_openedChanged(opened)","_ariaLabelChanged(ariaLabel, headerTitle)","_rendererChanged(renderer, headerRenderer, footerRenderer)"]}ready(){super.ready(),this._overlayElement.setAttribute("role","dialog"),(0,y.h)(this)}_rendererChanged(e,t,o){this.$.overlay.setProperties({owner:this,renderer:e,headerRenderer:t,footerRenderer:o})}_openedChanged(e){this.$.overlay.opened=e}_ariaLabelChanged(e,t){e||t?this.$.overlay.setAttribute("aria-label",e||t):this.$.overlay.removeAttribute("aria-label")}}(0,a.X)(k)},89281:(e,t,o)=>{o.d(t,{h:()=>h});var r=o(13256),i=o(82901),s=o(23927),n=o(21255),a=o(87550),l=o(24473),d=o(5072);(0,a.SF)("vaadin-overlay",d.B,{moduleId:"vaadin-overlay-styles"});class h extends((0,l.c)((0,a.cp)((0,s.v)(r.Pu)))){static get template(){return r.qy`
|
304
304
|
<div id="backdrop" part="backdrop" hidden$="[[!withBackdrop]]"></div>
|
305
305
|
<div part="overlay" id="overlay" tabindex="0">
|
306
306
|
<div part="content" id="content">
|
307
307
|
<slot></slot>
|
308
308
|
</div>
|
309
309
|
</div>
|
310
|
-
`}static get is(){return"vaadin-overlay"}ready(){super.ready(),(0,n.h)(this)}}(0,i.X)(h)},
|
310
|
+
`}static get is(){return"vaadin-overlay"}ready(){super.ready(),(0,n.h)(this)}}(0,i.X)(h)},5948:(e,t,o)=>{var r=o(40211);(0,o(87550).SF)("vaadin-overlay",r.L,{moduleId:"lumo-vaadin-overlay"}),o(89281)},83315:(e,t,o)=>{o(88660);var r=o(87550),i=o(36411);const s=r.AH`
|
311
311
|
:host {
|
312
312
|
/* prettier-ignore */
|
313
313
|
--lumo-font-family: -apple-system, BlinkMacSystemFont, 'Roboto', 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
@@ -419,4 +419,5 @@
|
|
419
419
|
border-left: none;
|
420
420
|
border-right: 2px solid var(--lumo-contrast-30pct);
|
421
421
|
}
|
422
|
-
`;(0,r.SF)("",n,{moduleId:"lumo-typography"}),(0,i.q)("typography-props",s)}}]);
|
422
|
+
`;(0,r.SF)("",n,{moduleId:"lumo-typography"}),(0,i.q)("typography-props",s)}}]);
|
423
|
+
//# sourceMappingURL=384.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"384.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/focus-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/browser-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/controller-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/templates.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/dialog/theme/lumo/vaadin-dialog-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/dialog/src/vaadin-dialog-overlay-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/dialog/src/vaadin-dialog-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/dialog/src/vaadin-dialog-overlay.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/dialog/src/vaadin-dialog-base-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/dialog/src/vaadin-dialog-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/dialog/src/vaadin-dialog-draggable-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/dialog/src/vaadin-dialog-renderer-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/dialog/src/vaadin-dialog-resizable-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/dialog/src/vaadin-dialog.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/overlay/src/vaadin-overlay.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/overlay/theme/lumo/vaadin-overlay-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/typography.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 */\n\n// We consider the keyboard to be active if the window has received a keydown\n// event since the last mousedown event.\nlet keyboardActive = false;\n\n// Listen for top-level keydown and mousedown events.\n// Use capture phase so we detect events even if they're handled.\nwindow.addEventListener(\n 'keydown',\n () => {\n keyboardActive = true;\n },\n { capture: true },\n);\n\nwindow.addEventListener(\n 'mousedown',\n () => {\n keyboardActive = false;\n },\n { capture: true },\n);\n\n/**\n * Returns the actually focused element by traversing shadow\n * trees recursively to ensure it's the leaf element.\n *\n * @return {Element}\n */\nexport function getDeepActiveElement() {\n let host = document.activeElement || document.body;\n while (host.shadowRoot && host.shadowRoot.activeElement) {\n host = host.shadowRoot.activeElement;\n }\n return host;\n}\n\n/**\n * Returns true if the window has received a keydown\n * event since the last mousedown event.\n *\n * @return {boolean}\n */\nexport function isKeyboardActive() {\n return keyboardActive;\n}\n\n/**\n * Returns true if the element is hidden directly with `display: none` or `visibility: hidden`,\n * false otherwise.\n *\n * The method doesn't traverse the element's ancestors, it only checks for the CSS properties\n * set directly to or inherited by the element.\n *\n * @param {HTMLElement} element\n * @return {boolean}\n */\nfunction isElementHiddenDirectly(element) {\n // Check inline style first to save a re-flow.\n const style = element.style;\n if (style.visibility === 'hidden' || style.display === 'none') {\n return true;\n }\n\n const computedStyle = window.getComputedStyle(element);\n if (computedStyle.visibility === 'hidden' || computedStyle.display === 'none') {\n return true;\n }\n\n return false;\n}\n\n/**\n * Returns if element `a` has lower tab order compared to element `b`\n * (both elements are assumed to be focusable and tabbable).\n * Elements with tabindex = 0 have lower tab order compared to elements\n * with tabindex > 0.\n * If both have same tabindex, it returns false.\n *\n * @param {HTMLElement} a\n * @param {HTMLElement} b\n * @return {boolean}\n */\nfunction hasLowerTabOrder(a, b) {\n // Normalize tabIndexes\n // e.g. in Firefox `<div contenteditable>` has `tabIndex = -1`\n const ati = Math.max(a.tabIndex, 0);\n const bti = Math.max(b.tabIndex, 0);\n return ati === 0 || bti === 0 ? bti > ati : ati > bti;\n}\n\n/**\n * Merge sort iterator, merges the two arrays into one, sorted by tabindex.\n *\n * @param {HTMLElement[]} left\n * @param {HTMLElement[]} right\n * @return {HTMLElement[]}\n */\nfunction mergeSortByTabIndex(left, right) {\n const result = [];\n while (left.length > 0 && right.length > 0) {\n if (hasLowerTabOrder(left[0], right[0])) {\n result.push(right.shift());\n } else {\n result.push(left.shift());\n }\n }\n\n return result.concat(left, right);\n}\n\n/**\n * Sorts an array of elements by tabindex. Returns a new array.\n *\n * @param {HTMLElement[]} elements\n * @return {HTMLElement[]}\n */\nfunction sortElementsByTabIndex(elements) {\n // Implement a merge sort as Array.prototype.sort does a non-stable sort\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\n const len = elements.length;\n if (len < 2) {\n return elements;\n }\n const pivot = Math.ceil(len / 2);\n const left = sortElementsByTabIndex(elements.slice(0, pivot));\n const right = sortElementsByTabIndex(elements.slice(pivot));\n\n return mergeSortByTabIndex(left, right);\n}\n\n/**\n * Returns true if the element is hidden, false otherwise.\n *\n * An element is treated as hidden when any of the following conditions are met:\n * - the element itself or one of its ancestors has `display: none`.\n * - the element has or inherits `visibility: hidden`.\n *\n * @param {HTMLElement} element\n * @return {boolean}\n */\nexport function isElementHidden(element) {\n // `offsetParent` is `null` when the element itself\n // or one of its ancestors is hidden with `display: none`.\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent\n // However `offsetParent` is also null when the element is using fixed\n // positioning, so additionally check if the element takes up layout space.\n if (element.offsetParent === null && element.clientWidth === 0 && element.clientHeight === 0) {\n return true;\n }\n\n return isElementHiddenDirectly(element);\n}\n\n/**\n * Returns true if the element is focusable, otherwise false.\n *\n * The list of focusable elements is taken from http://stackoverflow.com/a/1600194/4228703.\n * However, there isn't a definite list, it's up to the browser.\n * The only standard we have is DOM Level 2 HTML https://www.w3.org/TR/DOM-Level-2-HTML/html.html,\n * according to which the only elements that have a `focus()` method are:\n * - HTMLInputElement\n * - HTMLSelectElement\n * - HTMLTextAreaElement\n * - HTMLAnchorElement\n *\n * This notably omits HTMLButtonElement and HTMLAreaElement.\n * Referring to these tests with tabbables in different browsers\n * http://allyjs.io/data-tables/focusable.html\n *\n * @param {HTMLElement} element\n * @return {boolean}\n */\nexport function isElementFocusable(element) {\n // The element cannot be focused if its `tabindex` attribute is set to `-1`.\n if (element.matches('[tabindex=\"-1\"]')) {\n return false;\n }\n\n // Elements that cannot be focused if they have a `disabled` attribute.\n if (element.matches('input, select, textarea, button, object')) {\n return element.matches(':not([disabled])');\n }\n\n // Elements that can be focused even if they have a `disabled` attribute.\n return element.matches('a[href], area[href], iframe, [tabindex], [contentEditable]');\n}\n\n/**\n * Returns true if the element is focused, false otherwise.\n *\n * @param {HTMLElement} element\n * @return {boolean}\n */\nexport function isElementFocused(element) {\n return element.getRootNode().activeElement === element;\n}\n\n/**\n * Returns the normalized element tabindex. If not focusable, returns -1.\n * It checks for the attribute \"tabindex\" instead of the element property\n * `tabIndex` since browsers assign different values to it.\n * e.g. in Firefox `<div contenteditable>` has `tabIndex = -1`\n *\n * @param {HTMLElement} element\n * @return {number}\n */\nfunction normalizeTabIndex(element) {\n if (!isElementFocusable(element)) {\n return -1;\n }\n\n const tabIndex = element.getAttribute('tabindex') || 0;\n return Number(tabIndex);\n}\n\n/**\n * Searches for nodes that are tabbable and adds them to the `result` array.\n * Returns if the `result` array needs to be sorted by tabindex.\n *\n * @param {Node} node The starting point for the search; added to `result` if tabbable.\n * @param {HTMLElement[]} result\n * @return {boolean}\n * @private\n */\nfunction collectFocusableNodes(node, result) {\n if (node.nodeType !== Node.ELEMENT_NODE || isElementHiddenDirectly(node)) {\n // Don't traverse children if the node is not an HTML element or not visible.\n return false;\n }\n\n const element = /** @type {HTMLElement} */ (node);\n const tabIndex = normalizeTabIndex(element);\n let needsSort = tabIndex > 0;\n if (tabIndex >= 0) {\n result.push(element);\n }\n\n let children = [];\n if (element.localName === 'slot') {\n children = element.assignedNodes({ flatten: true });\n } else {\n // Use shadow root if possible, will check for distributed nodes.\n children = (element.shadowRoot || element).children;\n }\n [...children].forEach((child) => {\n // Ensure method is always invoked to collect focusable children.\n needsSort = collectFocusableNodes(child, result) || needsSort;\n });\n return needsSort;\n}\n\n/**\n * Returns a tab-ordered array of focusable elements for a root element.\n * The resulting array will include the root element if it is focusable.\n *\n * The method traverses nodes in shadow DOM trees too if any.\n *\n * @param {HTMLElement} element\n * @return {HTMLElement[]}\n */\nexport function getFocusableElements(element) {\n const focusableElements = [];\n const needsSortByTabIndex = collectFocusableNodes(element, focusableElements);\n // If there is at least one element with tabindex > 0,\n // we need to sort the final array by tabindex.\n if (needsSortByTabIndex) {\n return sortElementsByTabIndex(focusableElements);\n }\n return focusableElements;\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 */\n\nconst testUserAgent = (regexp) => regexp.test(navigator.userAgent);\n\nconst testPlatform = (regexp) => regexp.test(navigator.platform);\n\nconst testVendor = (regexp) => regexp.test(navigator.vendor);\n\nexport const isAndroid = testUserAgent(/Android/u);\n\nexport const isChrome = testUserAgent(/Chrome/u) && testVendor(/Google Inc/u);\n\nexport const isFirefox = testUserAgent(/Firefox/u);\n\n// IPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\nexport const isIPad = testPlatform(/^iPad/u) || (testPlatform(/^Mac/u) && navigator.maxTouchPoints > 1);\n\nexport const isIPhone = testPlatform(/^iPhone/u);\n\nexport const isIOS = isIPhone || isIPad;\n\nexport const isSafari = testUserAgent(/^((?!chrome|android).)*safari/iu);\n\nexport const isTouch = (() => {\n try {\n document.createEvent('TouchEvent');\n return true;\n } catch (e) {\n return false;\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 { dedupingMixin } from '@polymer/polymer/lib/utils/mixin.js';\n\n/**\n * @typedef ReactiveController\n * @type {import('lit').ReactiveController}\n */\n\n/**\n * A mixin for connecting controllers to the element.\n *\n * @polymerMixin\n */\nexport const ControllerMixin = dedupingMixin((superClass) => {\n // If the superclass extends from LitElement,\n // use its own controllers implementation.\n if (typeof superClass.prototype.addController === 'function') {\n return superClass;\n }\n\n return class ControllerMixinClass extends superClass {\n constructor() {\n super();\n\n /**\n * @type {Set<ReactiveController>}\n */\n this.__controllers = new Set();\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n\n this.__controllers.forEach((c) => {\n if (c.hostConnected) {\n c.hostConnected();\n }\n });\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this.__controllers.forEach((c) => {\n if (c.hostDisconnected) {\n c.hostDisconnected();\n }\n });\n }\n\n /**\n * Registers a controller to participate in the element update cycle.\n *\n * @param {ReactiveController} controller\n * @protected\n */\n addController(controller) {\n this.__controllers.add(controller);\n // Call hostConnected if a controller is added after the element is attached.\n if (this.$ !== undefined && this.isConnected && controller.hostConnected) {\n controller.hostConnected();\n }\n }\n\n /**\n * Removes a controller from the element.\n *\n * @param {ReactiveController} controller\n * @protected\n */\n removeController(controller) {\n this.__controllers.delete(controller);\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 */\n\n/**\n * Passes the component to the template renderer callback if the template renderer is imported.\n * Otherwise, if there is a template, it warns that the template renderer needs to be imported.\n *\n * @param {HTMLElement} component\n */\nexport function processTemplates(component) {\n if (window.Vaadin && window.Vaadin.templateRendererCallback) {\n window.Vaadin.templateRendererCallback(component);\n return;\n }\n\n if (component.querySelector('template')) {\n console.warn(\n `WARNING: <template> inside <${component.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`,\n );\n }\n}\n","import '@vaadin/vaadin-lumo-styles/spacing.js';\nimport { overlay } from '@vaadin/vaadin-lumo-styles/mixins/overlay.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst dialogOverlay = css`\n /* Optical centering */\n :host::before,\n :host::after {\n content: '';\n flex-basis: 0;\n flex-grow: 1;\n }\n\n :host::after {\n flex-grow: 1.1;\n }\n\n [part='overlay'] {\n border-radius: var(--lumo-border-radius-l);\n box-shadow: 0 0 0 1px var(--lumo-shade-5pct), var(--lumo-box-shadow-xl);\n background-image: none;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n }\n\n [part='content'] {\n padding: var(--lumo-space-l);\n }\n\n :host(:is([has-header], [has-title])) [part='header'] + [part='content'] {\n padding-top: 0;\n }\n\n [part='header'],\n [part='header-content'],\n [part='footer'] {\n gap: var(--lumo-space-xs) var(--lumo-space-s);\n line-height: var(--lumo-line-height-s);\n }\n\n [part='header'] {\n padding: var(--lumo-space-m);\n background-color: var(--lumo-base-color);\n border-radius: var(--lumo-border-radius-l) var(--lumo-border-radius-l) 0 0; /* Needed for Safari */\n }\n\n [part='footer'] {\n padding: var(--lumo-space-s) var(--lumo-space-m);\n background-color: var(--lumo-contrast-5pct);\n border-radius: 0 0 var(--lumo-border-radius-l) var(--lumo-border-radius-l); /* Needed for Safari */\n }\n\n [part='title'] {\n font-size: var(--lumo-font-size-xl);\n font-weight: 600;\n color: var(--lumo-header-text-color);\n margin-inline-start: calc(var(--lumo-space-l) - var(--lumo-space-m));\n }\n\n /* No padding */\n :host([theme~='no-padding']) [part='content'] {\n padding: 0 !important;\n }\n\n @media (min-height: 320px) {\n :host([overflow~='top']) [part='header'] {\n box-shadow: 0 1px 0 0 var(--lumo-contrast-10pct);\n }\n }\n\n /* Animations */\n\n :host([opening]),\n :host([closing]) {\n animation: 0.25s lumo-overlay-dummy-animation;\n }\n\n :host([opening]) [part='overlay'] {\n animation: 0.12s 0.05s vaadin-dialog-enter cubic-bezier(0.215, 0.61, 0.355, 1) both;\n }\n\n @keyframes vaadin-dialog-enter {\n 0% {\n opacity: 0;\n transform: scale(0.95);\n }\n }\n\n :host([closing]) [part='overlay'] {\n animation: 0.1s 0.03s vaadin-dialog-exit cubic-bezier(0.55, 0.055, 0.675, 0.19) both;\n }\n\n :host([closing]) [part='backdrop'] {\n animation-delay: 0.05s;\n }\n\n @keyframes vaadin-dialog-exit {\n 100% {\n opacity: 0;\n transform: scale(1.02);\n }\n }\n`;\n\nregisterStyles('vaadin-dialog-overlay', [overlay, dialogOverlay], { moduleId: 'lumo-dialog' });\n\nexport { dialogOverlay };\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 { OverlayMixin } from '@vaadin/overlay/src/vaadin-overlay-mixin.js';\n\n/**\n * @polymerMixin\n * @mixes OverlayMixin\n */\nexport const DialogOverlayMixin = (superClass) =>\n class DialogOverlayMixin extends OverlayMixin(superClass) {\n static get properties() {\n return {\n /**\n * String used for rendering a dialog title.\n */\n headerTitle: {\n type: String,\n },\n\n /**\n * Custom function for rendering the dialog header.\n */\n headerRenderer: {\n type: Object,\n },\n\n /**\n * Custom function for rendering the dialog footer.\n */\n footerRenderer: {\n type: Object,\n },\n };\n }\n\n static get observers() {\n return [\n '_headerFooterRendererChange(headerRenderer, footerRenderer, opened)',\n '_headerTitleChanged(headerTitle, opened)',\n ];\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n // Update overflow attribute on resize\n this.__resizeObserver = new ResizeObserver(() => {\n this.__updateOverflow();\n });\n this.__resizeObserver.observe(this.$.resizerContainer);\n\n // Update overflow attribute on scroll\n this.$.content.addEventListener('scroll', () => {\n this.__updateOverflow();\n });\n }\n\n /** @private */\n __createContainer(slot) {\n const container = document.createElement('div');\n container.setAttribute('slot', slot);\n return container;\n }\n\n /** @private */\n __clearContainer(container) {\n container.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 container._$litPart$;\n }\n\n /** @private */\n __initContainer(container, slot) {\n if (container) {\n // Reset existing container in case if a new renderer is set.\n this.__clearContainer(container);\n } else {\n // Create the container, but wait to append it until requestContentUpdate is called.\n container = this.__createContainer(slot);\n }\n return container;\n }\n\n /** @private */\n _headerFooterRendererChange(headerRenderer, footerRenderer, opened) {\n const headerRendererChanged = this.__oldHeaderRenderer !== headerRenderer;\n this.__oldHeaderRenderer = headerRenderer;\n\n const footerRendererChanged = this.__oldFooterRenderer !== footerRenderer;\n this.__oldFooterRenderer = footerRenderer;\n\n const openedChanged = this._oldOpenedFooterHeader !== opened;\n this._oldOpenedFooterHeader = opened;\n\n // Set attributes here to update styles before detecting content overflow\n this.toggleAttribute('has-header', !!headerRenderer);\n this.toggleAttribute('has-footer', !!footerRenderer);\n\n if (headerRendererChanged) {\n if (headerRenderer) {\n this.headerContainer = this.__initContainer(this.headerContainer, 'header-content');\n } else if (this.headerContainer) {\n this.headerContainer.remove();\n this.headerContainer = null;\n this.__updateOverflow();\n }\n }\n\n if (footerRendererChanged) {\n if (footerRenderer) {\n this.footerContainer = this.__initContainer(this.footerContainer, 'footer');\n } else if (this.footerContainer) {\n this.footerContainer.remove();\n this.footerContainer = null;\n this.__updateOverflow();\n }\n }\n\n if (\n (headerRenderer && (headerRendererChanged || openedChanged)) ||\n (footerRenderer && (footerRendererChanged || openedChanged))\n ) {\n if (opened) {\n this.requestContentUpdate();\n }\n }\n }\n\n /** @private */\n _headerTitleChanged(headerTitle, opened) {\n this.toggleAttribute('has-title', !!headerTitle);\n\n if (opened && (headerTitle || this._oldHeaderTitle)) {\n this.requestContentUpdate();\n }\n this._oldHeaderTitle = headerTitle;\n }\n\n /** @private */\n _headerTitleRenderer() {\n if (this.headerTitle) {\n if (!this.headerTitleElement) {\n this.headerTitleElement = document.createElement('h2');\n this.headerTitleElement.setAttribute('slot', 'title');\n this.headerTitleElement.classList.add('draggable');\n }\n this.appendChild(this.headerTitleElement);\n this.headerTitleElement.textContent = this.headerTitle;\n } else if (this.headerTitleElement) {\n this.headerTitleElement.remove();\n this.headerTitleElement = null;\n }\n }\n\n /**\n * @override\n */\n requestContentUpdate() {\n super.requestContentUpdate();\n\n if (this.headerContainer) {\n // If a new renderer has been set, make sure to reattach the container\n if (!this.headerContainer.parentElement) {\n this.appendChild(this.headerContainer);\n }\n\n if (this.headerRenderer) {\n // Only call header renderer after the container has been initialized\n this.headerRenderer.call(this.owner, this.headerContainer, this.owner);\n }\n }\n\n if (this.footerContainer) {\n // If a new renderer has been set, make sure to reattach the container\n if (!this.footerContainer.parentElement) {\n this.appendChild(this.footerContainer);\n }\n\n if (this.footerRenderer) {\n // Only call header renderer after the container has been initialized\n this.footerRenderer.call(this.owner, this.footerContainer, this.owner);\n }\n }\n\n this._headerTitleRenderer();\n\n this.__updateOverflow();\n }\n\n /**\n * Updates the coordinates of the overlay.\n * @param {!DialogOverlayBoundsParam} bounds\n */\n setBounds(bounds) {\n const overlay = this.$.overlay;\n const parsedBounds = { ...bounds };\n\n if (overlay.style.position !== 'absolute') {\n overlay.style.position = 'absolute';\n this.setAttribute('has-bounds-set', '');\n }\n\n Object.keys(parsedBounds).forEach((arg) => {\n if (typeof parsedBounds[arg] === 'number') {\n parsedBounds[arg] = `${parsedBounds[arg]}px`;\n }\n });\n\n Object.assign(overlay.style, parsedBounds);\n }\n\n /**\n * Retrieves the coordinates of the overlay.\n * @return {!DialogOverlayBounds}\n */\n getBounds() {\n const overlayBounds = this.$.overlay.getBoundingClientRect();\n const containerBounds = this.getBoundingClientRect();\n const top = overlayBounds.top - containerBounds.top;\n const left = overlayBounds.left - containerBounds.left;\n const width = overlayBounds.width;\n const height = overlayBounds.height;\n return { top, left, width, height };\n }\n\n /** @private */\n __updateOverflow() {\n let overflow = '';\n\n // Only set \"overflow\" attribute if the dialog has a header, title or footer.\n // Check for state attributes as extending components might not use renderers.\n if (this.hasAttribute('has-header') || this.hasAttribute('has-footer') || this.headerTitle) {\n const content = this.$.content;\n\n if (content.scrollTop > 0) {\n overflow += ' top';\n }\n\n if (content.scrollTop < content.scrollHeight - content.clientHeight) {\n overflow += ' bottom';\n }\n }\n\n const value = overflow.trim();\n if (value.length > 0 && this.getAttribute('overflow') !== value) {\n this.setAttribute('overflow', value);\n } else if (value.length === 0 && this.hasAttribute('overflow')) {\n this.removeAttribute('overflow');\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 dialogOverlay = css`\n [part='header'],\n [part='header-content'],\n [part='footer'] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n flex: none;\n pointer-events: none;\n z-index: 1;\n }\n\n [part='header'] {\n flex-wrap: nowrap;\n }\n\n ::slotted([slot='header-content']),\n ::slotted([slot='title']),\n ::slotted([slot='footer']) {\n display: contents;\n pointer-events: auto;\n }\n\n ::slotted([slot='title']) {\n font: inherit !important;\n overflow-wrap: anywhere;\n }\n\n [part='header-content'] {\n flex: 1;\n }\n\n :host([has-title]) [part='header-content'],\n [part='footer'] {\n justify-content: flex-end;\n }\n\n :host(:not([has-title]):not([has-header])) [part='header'],\n :host(:not([has-header])) [part='header-content'],\n :host(:not([has-title])) [part='title'],\n :host(:not([has-footer])) [part='footer'] {\n display: none !important;\n }\n\n :host(:is([has-title], [has-header], [has-footer])) [part='content'] {\n height: auto;\n }\n\n @media (min-height: 320px) {\n :host(:is([has-title], [has-header], [has-footer])) .resizer-container {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n\n :host(:is([has-title], [has-header], [has-footer])) [part='content'] {\n flex: 1;\n overflow: auto;\n }\n }\n\n /*\n NOTE(platosha): Make some min-width to prevent collapsing of the content\n taking the parent width, e. g., <vaadin-grid> and such.\n */\n [part='content'] {\n min-width: 12em; /* matches the default <vaadin-text-field> width */\n }\n\n :host([has-bounds-set]) [part='overlay'] {\n max-width: none;\n }\n\n @media (forced-colors: active) {\n [part='overlay'] {\n outline: 3px solid !important;\n }\n }\n`;\n\nexport const resizableOverlay = css`\n [part='overlay'] {\n position: relative;\n overflow: visible;\n max-height: 100%;\n display: flex;\n }\n\n [part='content'] {\n box-sizing: border-box;\n height: 100%;\n }\n\n .resizer-container {\n overflow: auto;\n flex-grow: 1;\n border-radius: inherit; /* prevent child elements being drawn outside part=overlay */\n }\n\n [part='overlay'][style] .resizer-container {\n min-height: 100%;\n width: 100%;\n }\n\n :host(:not([resizable])) .resizer {\n display: none;\n }\n\n :host([resizable]) [part='title'] {\n cursor: move;\n -webkit-user-select: none;\n user-select: none;\n }\n\n .resizer {\n position: absolute;\n height: 16px;\n width: 16px;\n }\n\n .resizer.edge {\n height: 8px;\n width: 8px;\n inset: -4px;\n }\n\n .resizer.edge.n {\n width: auto;\n bottom: auto;\n cursor: ns-resize;\n }\n\n .resizer.ne {\n top: -4px;\n right: -4px;\n cursor: nesw-resize;\n }\n\n .resizer.edge.e {\n height: auto;\n left: auto;\n cursor: ew-resize;\n }\n\n .resizer.se {\n bottom: -4px;\n right: -4px;\n cursor: nwse-resize;\n }\n\n .resizer.edge.s {\n width: auto;\n top: auto;\n cursor: ns-resize;\n }\n\n .resizer.sw {\n bottom: -4px;\n left: -4px;\n cursor: nesw-resize;\n }\n\n .resizer.edge.w {\n height: auto;\n right: auto;\n cursor: ew-resize;\n }\n\n .resizer.nw {\n top: -4px;\n left: -4px;\n cursor: nwse-resize;\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 { 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 { overlayStyles } from '@vaadin/overlay/src/vaadin-overlay-styles.js';\nimport { registerStyles, ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { DialogOverlayMixin } from './vaadin-dialog-overlay-mixin.js';\nimport { dialogOverlay, resizableOverlay } from './vaadin-dialog-styles.js';\n\nregisterStyles('vaadin-dialog-overlay', [overlayStyles, dialogOverlay, resizableOverlay], {\n moduleId: 'vaadin-dialog-overlay-styles',\n});\n\n/**\n * An element used internally by `<vaadin-dialog>`. Not intended to be used separately.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes DialogOverlayMixin\n * @mixes DirMixin\n * @mixes ThemableMixin\n * @private\n */\nexport class DialogOverlay extends DialogOverlayMixin(DirMixin(ThemableMixin(PolymerElement))) {\n static get is() {\n return 'vaadin-dialog-overlay';\n }\n\n static get template() {\n return html`\n <div id=\"backdrop\" part=\"backdrop\" hidden$=\"[[!withBackdrop]]\"></div>\n <div part=\"overlay\" id=\"overlay\" tabindex=\"0\">\n <section id=\"resizerContainer\" class=\"resizer-container\">\n <header part=\"header\">\n <div part=\"title\"><slot name=\"title\"></slot></div>\n <div part=\"header-content\"><slot name=\"header-content\"></slot></div>\n </header>\n <div part=\"content\" id=\"content\"><slot></slot></div>\n <footer part=\"footer\"><slot name=\"footer\"></slot></footer>\n </section>\n </div>\n `;\n }\n}\n\ndefineCustomElement(DialogOverlay);\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 * @polymerMixin\n */\nexport const DialogBaseMixin = (superClass) =>\n class DialogBaseMixin extends superClass {\n static get properties() {\n return {\n /**\n * True if the overlay is currently displayed.\n * @type {boolean}\n */\n opened: {\n type: Boolean,\n value: false,\n notify: true,\n },\n\n /**\n * Set to true to disable closing dialog on outside click\n * @attr {boolean} no-close-on-outside-click\n * @type {boolean}\n */\n noCloseOnOutsideClick: {\n type: Boolean,\n value: false,\n },\n\n /**\n * Set to true to disable closing dialog on Escape press\n * @attr {boolean} no-close-on-esc\n * @type {boolean}\n */\n noCloseOnEsc: {\n type: Boolean,\n value: false,\n },\n\n /**\n * Set to true to remove backdrop and allow click events on background elements.\n * @type {boolean}\n */\n modeless: {\n type: Boolean,\n value: false,\n },\n };\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n const overlay = this.$.overlay;\n\n overlay.addEventListener('vaadin-overlay-outside-click', this._handleOutsideClick.bind(this));\n overlay.addEventListener('vaadin-overlay-escape-press', this._handleEscPress.bind(this));\n\n this._overlayElement = overlay;\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n // Restore opened state if overlay was opened when disconnecting\n if (this.__restoreOpened) {\n this.opened = true;\n }\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n // Automatically close the overlay when dialog is removed from DOM\n // Using a timeout to avoid toggling opened state, and dispatching change\n // events, when just moving the dialog in the DOM\n setTimeout(() => {\n if (!this.isConnected) {\n this.__restoreOpened = this.opened;\n this.opened = false;\n }\n });\n }\n\n /** @protected */\n _onOverlayOpened(e) {\n if (e.detail.value === false) {\n this.opened = false;\n }\n }\n\n /**\n * Close the dialog if `noCloseOnOutsideClick` isn't set to true\n * @private\n */\n _handleOutsideClick(e) {\n if (this.noCloseOnOutsideClick) {\n e.preventDefault();\n }\n }\n\n /**\n * Close the dialog if `noCloseOnEsc` isn't set to true\n * @private\n */\n _handleEscPress(e) {\n if (this.noCloseOnEsc) {\n e.preventDefault();\n }\n }\n\n /** @private */\n _bringOverlayToFront() {\n if (this.modeless) {\n this._overlayElement.bringToFront();\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 */\n\n/**\n * Checks if the argument is a touch event and if so, returns a first touch.\n * Otherwise, if the mouse event was passed, returns it as is.\n * @param {!MouseEvent | !TouchEvent} e\n * @return {!MouseEvent | !Touch}\n * @protected\n */\nexport function getMouseOrFirstTouchEvent(e) {\n return e.touches ? e.touches[0] : e;\n}\n\n/**\n * Checks whether a mouse or touch event is in window.\n * @param {!MouseEvent | !TouchEvent} e\n * @return {boolean}\n * @protected\n */\nexport function eventInWindow(e) {\n return e.clientX >= 0 && e.clientX <= window.innerWidth && e.clientY >= 0 && e.clientY <= window.innerHeight;\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 { isTouch } from '@vaadin/component-base/src/browser-utils.js';\nimport { eventInWindow, getMouseOrFirstTouchEvent } from './vaadin-dialog-utils.js';\n\n/**\n * @polymerMixin\n */\nexport const DialogDraggableMixin = (superClass) =>\n class VaadinDialogDraggableMixin extends superClass {\n static get properties() {\n return {\n /**\n * Set to true to enable repositioning the dialog by clicking and dragging.\n *\n * By default, only the overlay area can be used to drag the element. But,\n * a child element can be marked as a draggable area by adding a\n * \"`draggable`\" class to it, this will by default make all of its children draggable also.\n * If you want a child element to be draggable\n * but still have its children non-draggable (by default), mark it with\n * \"`draggable-leaf-only`\" class name.\n *\n * @type {boolean}\n */\n draggable: {\n type: Boolean,\n value: false,\n reflectToAttribute: true,\n },\n\n /** @private */\n _touchDevice: {\n type: Boolean,\n value: isTouch,\n },\n\n /* TODO: Expose as a public property (check naming) */\n __dragHandleClassName: {\n type: String,\n },\n };\n }\n\n /** @protected */\n async ready() {\n super.ready();\n this._originalBounds = {};\n this._originalMouseCoords = {};\n this._startDrag = this._startDrag.bind(this);\n this._drag = this._drag.bind(this);\n this._stopDrag = this._stopDrag.bind(this);\n\n // Wait for overlay render\n await new Promise(requestAnimationFrame);\n this.$.overlay.$.overlay.addEventListener('mousedown', this._startDrag);\n this.$.overlay.$.overlay.addEventListener('touchstart', this._startDrag);\n }\n\n /** @private */\n _startDrag(e) {\n // Don't initiate when there's more than 1 touch (pinch zoom)\n if (e.type === 'touchstart' && e.touches.length > 1) {\n return;\n }\n\n if (this.draggable && (e.button === 0 || e.touches)) {\n const resizerContainer = this.$.overlay.$.resizerContainer;\n const isResizerContainer = e.target === resizerContainer;\n const isResizerContainerScrollbar =\n e.offsetX > resizerContainer.clientWidth || e.offsetY > resizerContainer.clientHeight;\n const isContentPart = e.target === this.$.overlay.$.content;\n\n const isDraggable = e.composedPath().some((node, index) => {\n if (!node.classList) {\n return false;\n }\n\n const isDraggableNode = node.classList.contains(this.__dragHandleClassName || 'draggable');\n const isDraggableLeafOnly = node.classList.contains('draggable-leaf-only');\n const isLeafNode = index === 0;\n return (isDraggableLeafOnly && isLeafNode) || (isDraggableNode && (!isDraggableLeafOnly || isLeafNode));\n });\n\n if ((isResizerContainer && !isResizerContainerScrollbar) || isContentPart || isDraggable) {\n if (!isDraggable) {\n e.preventDefault();\n }\n this._originalBounds = this.$.overlay.getBounds();\n const event = getMouseOrFirstTouchEvent(e);\n this._originalMouseCoords = { top: event.pageY, left: event.pageX };\n window.addEventListener('mouseup', this._stopDrag);\n window.addEventListener('touchend', this._stopDrag);\n window.addEventListener('mousemove', this._drag);\n window.addEventListener('touchmove', this._drag);\n if (this.$.overlay.$.overlay.style.position !== 'absolute') {\n this.$.overlay.setBounds(this._originalBounds);\n }\n }\n }\n }\n\n /** @private */\n _drag(e) {\n const event = getMouseOrFirstTouchEvent(e);\n if (eventInWindow(event)) {\n const top = this._originalBounds.top + (event.pageY - this._originalMouseCoords.top);\n const left = this._originalBounds.left + (event.pageX - this._originalMouseCoords.left);\n this.$.overlay.setBounds({ top, left });\n }\n }\n\n /** @private */\n _stopDrag() {\n window.removeEventListener('mouseup', this._stopDrag);\n window.removeEventListener('touchend', this._stopDrag);\n window.removeEventListener('mousemove', this._drag);\n window.removeEventListener('touchmove', this._drag);\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 * @polymerMixin\n */\nexport const DialogRendererMixin = (superClass) =>\n class DialogRendererMixin extends superClass {\n static get properties() {\n return {\n /**\n * Custom function for rendering the content of the dialog.\n * Receives two arguments:\n *\n * - `root` The root container DOM element. Append your content to it.\n * - `dialog` The reference to the `<vaadin-dialog>` element.\n * @type {DialogRenderer | undefined}\n */\n renderer: {\n type: Object,\n },\n\n /**\n * String used for rendering a dialog title.\n *\n * If both `headerTitle` and `headerRenderer` are defined, the title\n * and the elements created by the renderer will be placed next to\n * each other, with the title coming first.\n *\n * When `headerTitle` is set, the attribute `has-title` is added to the overlay element.\n * @attr {string} header-title\n */\n headerTitle: String,\n\n /**\n * Custom function for rendering the dialog header.\n * Receives two arguments:\n *\n * - `root` The root container DOM element. Append your content to it.\n * - `dialog` The reference to the `<vaadin-dialog>` element.\n *\n * If both `headerTitle` and `headerRenderer` are defined, the title\n * and the elements created by the renderer will be placed next to\n * each other, with the title coming first.\n *\n * When `headerRenderer` is set, the attribute `has-header` is added to the overlay element.\n * @type {DialogRenderer | undefined}\n */\n headerRenderer: {\n type: Object,\n },\n\n /**\n * Custom function for rendering the dialog footer.\n * Receives two arguments:\n *\n * - `root` The root container DOM element. Append your content to it.\n * - `dialog` The reference to the `<vaadin-dialog>` element.\n *\n * When `footerRenderer` is set, the attribute `has-footer` is added to the overlay element.\n * @type {DialogRenderer | undefined}\n */\n footerRenderer: {\n type: Object,\n },\n };\n }\n\n /**\n * Requests an update for the content of the dialog.\n * While performing the update, it invokes the renderer passed in the `renderer` property,\n * as well as `headerRender` and `footerRenderer` properties, if these are defined.\n *\n * It is not guaranteed that the update happens immediately (synchronously) after it is requested.\n */\n requestContentUpdate() {\n if (this._overlayElement) {\n this._overlayElement.requestContentUpdate();\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 { eventInWindow, getMouseOrFirstTouchEvent } from './vaadin-dialog-utils.js';\n/**\n * @polymerMixin\n */\nexport const DialogResizableMixin = (superClass) =>\n class VaadinDialogResizableMixin extends superClass {\n static get properties() {\n return {\n /**\n * Set to true to enable resizing the dialog by dragging the corners and edges.\n * @type {boolean}\n */\n resizable: {\n type: Boolean,\n value: false,\n reflectToAttribute: true,\n },\n };\n }\n\n /** @protected */\n async ready() {\n super.ready();\n this._originalBounds = {};\n this._originalMouseCoords = {};\n this._resizeListeners = { start: {}, resize: {}, stop: {} };\n\n // Wait for overlay render\n await new Promise(requestAnimationFrame);\n this._addResizeListeners();\n }\n\n /** @private */\n _addResizeListeners() {\n // Note: edge controls added before corners\n ['n', 'e', 's', 'w', 'nw', 'ne', 'se', 'sw'].forEach((direction) => {\n const resizer = document.createElement('div');\n this._resizeListeners.start[direction] = (e) => this._startResize(e, direction);\n this._resizeListeners.resize[direction] = (e) => this._resize(e, direction);\n this._resizeListeners.stop[direction] = () => this._stopResize(direction);\n if (direction.length === 1) {\n resizer.classList.add('edge');\n }\n resizer.classList.add('resizer');\n resizer.classList.add(direction);\n resizer.addEventListener('mousedown', this._resizeListeners.start[direction]);\n resizer.addEventListener('touchstart', this._resizeListeners.start[direction]);\n this.$.overlay.$.resizerContainer.appendChild(resizer);\n });\n }\n\n /**\n * @param {!MouseEvent | !TouchEvent} e\n * @param {!DialogResizableDirection} direction\n * @protected\n */\n _startResize(e, direction) {\n // Don't initiate when there's more than 1 touch (pinch zoom)\n if (e.type === 'touchstart' && e.touches.length > 1) {\n return;\n }\n\n if (e.button === 0 || e.touches) {\n e.preventDefault();\n\n this._originalBounds = this.$.overlay.getBounds();\n const event = getMouseOrFirstTouchEvent(e);\n this._originalMouseCoords = { top: event.pageY, left: event.pageX };\n window.addEventListener('mousemove', this._resizeListeners.resize[direction]);\n window.addEventListener('touchmove', this._resizeListeners.resize[direction]);\n window.addEventListener('mouseup', this._resizeListeners.stop[direction]);\n window.addEventListener('touchend', this._resizeListeners.stop[direction]);\n if (this.$.overlay.$.overlay.style.position !== 'absolute') {\n this.$.overlay.setBounds(this._originalBounds);\n }\n }\n }\n\n /**\n * @param {!MouseEvent | !TouchEvent} e\n * @param {!DialogResizableDirection} resizer\n * @protected\n */\n _resize(e, resizer) {\n const event = getMouseOrFirstTouchEvent(e);\n if (eventInWindow(event)) {\n const minimumSize = 40;\n resizer.split('').forEach((direction) => {\n switch (direction) {\n case 'n': {\n const height = this._originalBounds.height - (event.pageY - this._originalMouseCoords.top);\n const top = this._originalBounds.top + (event.pageY - this._originalMouseCoords.top);\n if (height > minimumSize) {\n this.$.overlay.setBounds({ top, height });\n }\n break;\n }\n case 'e': {\n const width = this._originalBounds.width + (event.pageX - this._originalMouseCoords.left);\n if (width > minimumSize) {\n this.$.overlay.setBounds({ width });\n }\n break;\n }\n case 's': {\n const height = this._originalBounds.height + (event.pageY - this._originalMouseCoords.top);\n if (height > minimumSize) {\n this.$.overlay.setBounds({ height });\n }\n break;\n }\n case 'w': {\n const width = this._originalBounds.width - (event.pageX - this._originalMouseCoords.left);\n const left = this._originalBounds.left + (event.pageX - this._originalMouseCoords.left);\n if (width > minimumSize) {\n this.$.overlay.setBounds({ left, width });\n }\n break;\n }\n default:\n break;\n }\n });\n }\n }\n\n /**\n * @param {!DialogResizableDirection} direction\n * @protected\n */\n _stopResize(direction) {\n window.removeEventListener('mousemove', this._resizeListeners.resize[direction]);\n window.removeEventListener('touchmove', this._resizeListeners.resize[direction]);\n window.removeEventListener('mouseup', this._resizeListeners.stop[direction]);\n window.removeEventListener('touchend', this._resizeListeners.stop[direction]);\n this.dispatchEvent(new CustomEvent('resize', { detail: this._getResizeDimensions() }));\n }\n\n /**\n * @return {!DialogResizeDimensions}\n * @protected\n */\n _getResizeDimensions() {\n const scrollPosition = this.$.overlay.$.resizerContainer.scrollTop;\n const { width, height } = getComputedStyle(this.$.overlay.$.overlay);\n const content = this.$.overlay.$.content;\n content.setAttribute(\n 'style',\n 'position: absolute; top: 0; right: 0; bottom: 0; left: 0; box-sizing: content-box; height: auto;',\n );\n const { width: contentWidth, height: contentHeight } = getComputedStyle(content);\n content.removeAttribute('style');\n this.$.overlay.$.resizerContainer.scrollTop = scrollPosition;\n return { width, height, contentWidth, contentHeight };\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-dialog-overlay.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 { OverlayClassMixin } from '@vaadin/component-base/src/overlay-class-mixin.js';\nimport { processTemplates } from '@vaadin/component-base/src/templates.js';\nimport { ThemePropertyMixin } from '@vaadin/vaadin-themable-mixin/vaadin-theme-property-mixin.js';\nimport { DialogBaseMixin } from './vaadin-dialog-base-mixin.js';\nimport { DialogDraggableMixin } from './vaadin-dialog-draggable-mixin.js';\nimport { DialogRendererMixin } from './vaadin-dialog-renderer-mixin.js';\nimport { DialogResizableMixin } from './vaadin-dialog-resizable-mixin.js';\n\nexport { DialogOverlay } from './vaadin-dialog-overlay.js';\n\n/**\n * `<vaadin-dialog>` is a Web Component for creating customized modal dialogs.\n *\n * ### Rendering\n *\n * The content of the dialog can be populated by using the renderer callback function.\n *\n * The renderer function provides `root`, `dialog` arguments.\n * Generate DOM content, append it to the `root` element and control the state\n * of the host element by accessing `dialog`. Before generating new content,\n * users are able to check if there is already content in `root` for reusing it.\n *\n * ```html\n * <vaadin-dialog id=\"dialog\"></vaadin-dialog>\n * ```\n * ```js\n * const dialog = document.querySelector('#dialog');\n * dialog.renderer = function(root, dialog) {\n * root.textContent = \"Sample dialog\";\n * };\n * ```\n *\n * Renderer is called on the opening of the dialog.\n * DOM generated during the renderer call can be reused\n * in the next renderer call and will be provided with the `root` argument.\n * On first call it will be empty.\n *\n * ### Styling\n *\n * `<vaadin-dialog>` uses `<vaadin-dialog-overlay>` internal\n * themable component as the actual visible dialog overlay.\n *\n * See [`<vaadin-overlay>`](#/elements/vaadin-overlay) documentation.\n * for `<vaadin-dialog-overlay>` parts.\n *\n * In addition to `<vaadin-overlay>` parts, the following parts are available for styling:\n *\n * Part name | Description\n * -----------------|-------------------------------------------\n * `header` | Element wrapping title and header content\n * `header-content` | Element wrapping the header content slot\n * `title` | Element wrapping the title slot\n * `footer` | Element wrapping the footer slot\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description\n * -----------------|--------------------------------------------\n * `has-title` | Set when the element has a title\n * `has-header` | Set when the element has header renderer\n * `has-footer` | Set when the element has footer renderer\n * `overflow` | Set to `top`, `bottom`, none or both\n *\n * Note: the `theme` attribute value set on `<vaadin-dialog>` is\n * propagated to the internal `<vaadin-dialog-overlay>` component.\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @fires {CustomEvent} resize - Fired when the dialog resize is finished.\n * @fires {CustomEvent} opened-changed - Fired when the `opened` property changes.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes ThemePropertyMixin\n * @mixes ElementMixin\n * @mixes DialogBaseMixin\n * @mixes DialogDraggableMixin\n * @mixes DialogRendererMixin\n * @mixes DialogResizableMixin\n * @mixes OverlayClassMixin\n */\nclass Dialog extends DialogDraggableMixin(\n DialogResizableMixin(\n DialogRendererMixin(DialogBaseMixin(OverlayClassMixin(ThemePropertyMixin(ElementMixin(PolymerElement))))),\n ),\n) {\n static get template() {\n return html`\n <style>\n :host {\n display: none !important;\n }\n </style>\n\n <vaadin-dialog-overlay\n id=\"overlay\"\n header-title=\"[[headerTitle]]\"\n on-opened-changed=\"_onOverlayOpened\"\n on-mousedown=\"_bringOverlayToFront\"\n on-touchstart=\"_bringOverlayToFront\"\n theme$=\"[[_theme]]\"\n modeless=\"[[modeless]]\"\n with-backdrop=\"[[!modeless]]\"\n resizable$=\"[[resizable]]\"\n restore-focus-on-close\n focus-trap\n ></vaadin-dialog-overlay>\n `;\n }\n\n static get is() {\n return 'vaadin-dialog';\n }\n\n static get properties() {\n return {\n /**\n * Set the `aria-label` attribute for assistive technologies like\n * screen readers. An empty string value for this property (the\n * default) means that the `aria-label` attribute is not present.\n */\n ariaLabel: {\n type: String,\n value: '',\n },\n };\n }\n\n static get observers() {\n return [\n '_openedChanged(opened)',\n '_ariaLabelChanged(ariaLabel, headerTitle)',\n '_rendererChanged(renderer, headerRenderer, footerRenderer)',\n ];\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this._overlayElement.setAttribute('role', 'dialog');\n\n processTemplates(this);\n }\n\n /** @private */\n _rendererChanged(renderer, headerRenderer, footerRenderer) {\n this.$.overlay.setProperties({ owner: this, renderer, headerRenderer, footerRenderer });\n }\n\n /** @private */\n _openedChanged(opened) {\n this.$.overlay.opened = opened;\n }\n\n /** @private */\n _ariaLabelChanged(ariaLabel, headerTitle) {\n if (ariaLabel || headerTitle) {\n this.$.overlay.setAttribute('aria-label', ariaLabel || headerTitle);\n } else {\n this.$.overlay.removeAttribute('aria-label');\n }\n }\n}\n\ndefineCustomElement(Dialog);\n\nexport { Dialog };\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 { 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 { processTemplates } from '@vaadin/component-base/src/templates.js';\nimport { registerStyles, ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { OverlayMixin } from './vaadin-overlay-mixin.js';\nimport { overlayStyles } from './vaadin-overlay-styles.js';\n\nregisterStyles('vaadin-overlay', overlayStyles, { moduleId: 'vaadin-overlay-styles' });\n\n/**\n * `<vaadin-overlay>` is a Web Component for creating overlays. The content of the overlay\n * can be populated imperatively by using `renderer` callback function.\n *\n * ### Rendering\n *\n * The renderer function provides `root`, `owner`, `model` arguments when applicable.\n * Generate DOM content by using `model` object properties if needed, append it to the `root`\n * element and control the state of the host element by accessing `owner`. Before generating new\n * content, users are able to check if there is already content in `root` for reusing it.\n *\n * ```html\n * <vaadin-overlay id=\"overlay\"></vaadin-overlay>\n * ```\n * ```js\n * const overlay = document.querySelector('#overlay');\n * overlay.renderer = function(root) {\n * root.textContent = \"Overlay content\";\n * };\n * ```\n *\n * Renderer is called on the opening of the overlay and each time the related model is updated.\n * DOM generated during the renderer call can be reused\n * in the next renderer call and will be provided with the `root` argument.\n * On first call it will be empty.\n *\n * ### Styling\n *\n * The following Shadow DOM parts are available for styling:\n *\n * Part name | Description\n * -----------|---------------------------------------------------------|\n * `backdrop` | Backdrop of the overlay\n * `overlay` | Container for position/sizing/alignment of the content\n * `content` | Content of the overlay\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description | Part\n * ---|---|---\n * `opening` | Applied just after the overlay is attached to the DOM. You can apply a CSS @keyframe animation for this state. | `:host`\n * `closing` | Applied just before the overlay is detached from the DOM. You can apply a CSS @keyframe animation for this state. | `:host`\n *\n * The following custom CSS properties are available for styling:\n *\n * Custom CSS property | Description | Default value\n * ---|---|---\n * `--vaadin-overlay-viewport-bottom` | Bottom offset of the visible viewport area | `0` or detected offset\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @fires {CustomEvent} opened-changed - Fired when the `opened` property changes.\n * @fires {CustomEvent} vaadin-overlay-open - Fired after the overlay is opened.\n * @fires {CustomEvent} vaadin-overlay-close - Fired when the opened overlay is about to be closed. Calling `preventDefault()` on the event cancels the closing.\n * @fires {CustomEvent} vaadin-overlay-closing - Fired when the overlay starts to close. Closing the overlay can be asynchronous depending on the animation.\n * @fires {CustomEvent} vaadin-overlay-closed - Fired after the overlay is closed.\n * @fires {CustomEvent} vaadin-overlay-outside-click - Fired before the overlay is closed on outside click. Calling `preventDefault()` on the event cancels the closing.\n * @fires {CustomEvent} vaadin-overlay-escape-press - Fired before the overlay is closed on Escape key press. Calling `preventDefault()` on the event cancels the closing.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes ThemableMixin\n * @mixes DirMixin\n * @mixes OverlayMixin\n */\nclass Overlay extends OverlayMixin(ThemableMixin(DirMixin(PolymerElement))) {\n static get template() {\n return html`\n <div id=\"backdrop\" part=\"backdrop\" hidden$=\"[[!withBackdrop]]\"></div>\n <div part=\"overlay\" id=\"overlay\" tabindex=\"0\">\n <div part=\"content\" id=\"content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n static get is() {\n return 'vaadin-overlay';\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n processTemplates(this);\n }\n\n /**\n * @event vaadin-overlay-open\n * Fired after the overlay is opened.\n */\n\n /**\n * @event vaadin-overlay-close\n * Fired when the opened overlay is about to be closed.\n * Calling `preventDefault()` on the event cancels the closing.\n */\n\n /**\n * @event vaadin-overlay-closing\n * Fired when the overlay starts to close.\n * Closing the overlay can be asynchronous depending on the animation.\n */\n\n /**\n * @event vaadin-overlay-closed\n * Fired after the overlay is closed.\n */\n\n /**\n * @event vaadin-overlay-escape-press\n * Fired before the overlay is closed on Escape key press.\n * Calling `preventDefault()` on the event cancels the closing.\n */\n\n /**\n * @event vaadin-overlay-outside-click\n * Fired before the overlay is closed on outside click.\n * Calling `preventDefault()` on the event cancels the closing.\n */\n}\n\ndefineCustomElement(Overlay);\n\nexport { Overlay };\n","import { overlay } from '@vaadin/vaadin-lumo-styles/mixins/overlay.js';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nregisterStyles('vaadin-overlay', overlay, { moduleId: 'lumo-vaadin-overlay' });\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 './version.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst font = css`\n :host {\n /* prettier-ignore */\n --lumo-font-family: -apple-system, BlinkMacSystemFont, 'Roboto', 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n\n /* Font sizes */\n --lumo-font-size-xxs: 0.75rem;\n --lumo-font-size-xs: 0.8125rem;\n --lumo-font-size-s: 0.875rem;\n --lumo-font-size-m: 1rem;\n --lumo-font-size-l: 1.125rem;\n --lumo-font-size-xl: 1.375rem;\n --lumo-font-size-xxl: 1.75rem;\n --lumo-font-size-xxxl: 2.5rem;\n\n /* Line heights */\n --lumo-line-height-xs: 1.25;\n --lumo-line-height-s: 1.375;\n --lumo-line-height-m: 1.625;\n }\n`;\n\nconst typography = css`\n body,\n :host {\n font-family: var(--lumo-font-family);\n font-size: var(--lumo-font-size-m);\n line-height: var(--lumo-line-height-m);\n -webkit-text-size-adjust: 100%;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n small,\n [theme~='font-size-s'] {\n font-size: var(--lumo-font-size-s);\n line-height: var(--lumo-line-height-s);\n }\n\n [theme~='font-size-xs'] {\n font-size: var(--lumo-font-size-xs);\n line-height: var(--lumo-line-height-xs);\n }\n\n :where(h1, h2, h3, h4, h5, h6) {\n font-weight: 600;\n line-height: var(--lumo-line-height-xs);\n margin-block: 0;\n }\n\n :where(h1) {\n font-size: var(--lumo-font-size-xxxl);\n }\n\n :where(h2) {\n font-size: var(--lumo-font-size-xxl);\n }\n\n :where(h3) {\n font-size: var(--lumo-font-size-xl);\n }\n\n :where(h4) {\n font-size: var(--lumo-font-size-l);\n }\n\n :where(h5) {\n font-size: var(--lumo-font-size-m);\n }\n\n :where(h6) {\n font-size: var(--lumo-font-size-xs);\n text-transform: uppercase;\n letter-spacing: 0.03em;\n }\n\n p,\n blockquote {\n margin-top: 0.5em;\n margin-bottom: 0.75em;\n }\n\n a {\n text-decoration: none;\n }\n\n a:where(:any-link):hover {\n text-decoration: underline;\n }\n\n hr {\n display: block;\n align-self: stretch;\n height: 1px;\n border: 0;\n padding: 0;\n margin: var(--lumo-space-s) calc(var(--lumo-border-radius-m) / 2);\n background-color: var(--lumo-contrast-10pct);\n }\n\n blockquote {\n border-left: 2px solid var(--lumo-contrast-30pct);\n }\n\n b,\n strong {\n font-weight: 600;\n }\n\n /* RTL specific styles */\n blockquote[dir='rtl'] {\n border-left: none;\n border-right: 2px solid var(--lumo-contrast-30pct);\n }\n`;\n\nregisterStyles('', typography, { moduleId: 'lumo-typography' });\naddLumoGlobalStyles('typography-props', font);\n\nexport { font, typography };\n"],"names":["keyboardActive","getDeepActiveElement","host","document","activeElement","body","shadowRoot","isKeyboardActive","isElementHiddenDirectly","element","style","visibility","display","computedStyle","window","getComputedStyle","hasLowerTabOrder","a","b","ati","Math","max","tabIndex","bti","sortElementsByTabIndex","elements","len","length","pivot","ceil","left","right","result","push","shift","concat","mergeSortByTabIndex","slice","isElementHidden","offsetParent","clientWidth","clientHeight","isElementFocused","getRootNode","collectFocusableNodes","node","nodeType","Node","ELEMENT_NODE","matches","isElementFocusable","getAttribute","Number","normalizeTabIndex","needsSort","children","localName","assignedNodes","flatten","forEach","child","getFocusableElements","focusableElements","addEventListener","capture","testUserAgent","regexp","test","navigator","userAgent","testPlatform","platform","isAndroid","isChrome","vendor","isFirefox","isIPad","maxTouchPoints","isIOS","isSafari","isTouch","createEvent","e","ControllerMixin","superClass","prototype","addController","constructor","super","this","__controllers","Set","connectedCallback","c","hostConnected","disconnectedCallback","hostDisconnected","controller","add","undefined","$","isConnected","removeController","delete","processTemplates","component","Vaadin","templateRendererCallback","querySelector","console","warn","dialogOverlay","overlay","moduleId","DialogOverlayMixin","properties","headerTitle","type","String","headerRenderer","Object","footerRenderer","observers","ready","__resizeObserver","ResizeObserver","__updateOverflow","observe","resizerContainer","content","__createContainer","slot","container","createElement","setAttribute","__clearContainer","innerHTML","_$litPart$","__initContainer","_headerFooterRendererChange","opened","headerRendererChanged","__oldHeaderRenderer","footerRendererChanged","__oldFooterRenderer","openedChanged","_oldOpenedFooterHeader","toggleAttribute","headerContainer","remove","footerContainer","requestContentUpdate","_headerTitleChanged","_oldHeaderTitle","_headerTitleRenderer","headerTitleElement","classList","appendChild","textContent","parentElement","call","owner","setBounds","bounds","parsedBounds","position","keys","arg","assign","getBounds","overlayBounds","getBoundingClientRect","containerBounds","top","width","height","overflow","hasAttribute","scrollTop","scrollHeight","value","trim","removeAttribute","resizableOverlay","DialogOverlay","is","template","DialogBaseMixin","Boolean","notify","noCloseOnOutsideClick","noCloseOnEsc","modeless","_handleOutsideClick","bind","_handleEscPress","_overlayElement","__restoreOpened","setTimeout","_onOverlayOpened","detail","preventDefault","_bringOverlayToFront","bringToFront","getMouseOrFirstTouchEvent","touches","eventInWindow","clientX","innerWidth","clientY","innerHeight","DialogDraggableMixin","draggable","reflectToAttribute","_touchDevice","__dragHandleClassName","_originalBounds","_originalMouseCoords","_startDrag","_drag","_stopDrag","Promise","requestAnimationFrame","button","isResizerContainer","target","isResizerContainerScrollbar","offsetX","offsetY","isContentPart","isDraggable","composedPath","some","index","isDraggableNode","contains","isDraggableLeafOnly","isLeafNode","event","pageY","pageX","removeEventListener","DialogRendererMixin","renderer","DialogResizableMixin","resizable","_resizeListeners","start","resize","stop","_addResizeListeners","direction","resizer","_startResize","_resize","_stopResize","minimumSize","split","dispatchEvent","CustomEvent","_getResizeDimensions","scrollPosition","contentWidth","contentHeight","Dialog","ariaLabel","_rendererChanged","setProperties","_openedChanged","_ariaLabelChanged","Overlay","font","typography"],"sourceRoot":""}
|
package/dist/umd/4467.js
ADDED
@@ -0,0 +1,3 @@
|
|
1
|
+
/*! For license information please see 4467.js.LICENSE.txt */
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[4467],{84467:(t,e,n)=>{n.d(e,{e:()=>c});var o=n(79174),i=n(5745),s=n(7888);const c=t=>class extends((0,i.i)((0,s.f)(t))){get _activeKeys(){return[" "]}ready(){super.ready(),(0,o.ch)(this,"down",(t=>{this._shouldSetActive(t)&&this._setActive(!0)})),(0,o.ch)(this,"up",(()=>{this._setActive(!1)}))}disconnectedCallback(){super.disconnectedCallback(),this._setActive(!1)}_shouldSetActive(t){return!this.disabled}_onKeyDown(t){super._onKeyDown(t),this._shouldSetActive(t)&&this._activeKeys.includes(t.key)&&(this._setActive(!0),document.addEventListener("keyup",(t=>{this._activeKeys.includes(t.key)&&this._setActive(!1)}),{once:!0}))}_setActive(t){this.toggleAttribute("active",t)}}},79174:(t,e,n)=>{n.d(e,{ch:()=>M});var o=n(62804);const i=!1,s="string"==typeof document.head.style.touchAction,c="__polymerGestures",u="__polymerGesturesHandled",r="__polymerGesturesTouchAction",a=["mousedown","mousemove","mouseup","click"],h=[0,1,4,2],d=function(){try{return 1===new MouseEvent("test",{buttons:1}).buttons}catch(t){return!1}}();function f(t){return a.indexOf(t)>-1}let l=!1;function m(t){if(!f(t)&&"touchend"!==t)return s&&l&&i?{passive:!0}:void 0}!function(){try{const t=Object.defineProperty({},"passive",{get(){l=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(t){}}();const p=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/u),v={button:!0,command:!0,fieldset:!0,input:!0,keygen:!0,optgroup:!0,option:!0,select:!0,textarea:!0};function y(t){const e=t.type;if(!f(e))return!1;if("mousemove"===e){let e=void 0===t.buttons?1:t.buttons;return t instanceof window.MouseEvent&&!d&&(e=h[t.which]||0),Boolean(1&e)}return 0===(void 0===t.button?0:t.button)}const w={mouse:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:!1}};function g(t,e,n){t.movefn=e,t.upfn=n,document.addEventListener("mousemove",e),document.addEventListener("mouseup",n)}function _(t){document.removeEventListener("mousemove",t.movefn),document.removeEventListener("mouseup",t.upfn),t.movefn=null,t.upfn=null}const b=window.ShadyDOM&&window.ShadyDOM.noPatch?window.ShadyDOM.composedPath:t=>t.composedPath&&t.composedPath()||[],x={},k=[];function E(t){const e=b(t);return e.length>0?e[0]:t.target}function A(t){const e=t.type,n=t.currentTarget[c];if(!n)return;const o=n[e];if(!o)return;if(!t[u]&&(t[u]={},e.startsWith("touch"))){const n=t.changedTouches[0];if("touchstart"===e&&1===t.touches.length&&(w.touch.id=n.identifier),w.touch.id!==n.identifier)return;s||"touchstart"!==e&&"touchmove"!==e||function(t){const e=t.changedTouches[0],n=t.type;if("touchstart"===n)w.touch.x=e.clientX,w.touch.y=e.clientY,w.touch.scrollDecided=!1;else if("touchmove"===n){if(w.touch.scrollDecided)return;w.touch.scrollDecided=!0;const n=function(t){let e="auto";const n=b(t);for(let t,o=0;o<n.length;o++)if(t=n[o],t[r]){e=t[r];break}return e}(t);let o=!1;const i=Math.abs(w.touch.x-e.clientX),s=Math.abs(w.touch.y-e.clientY);t.cancelable&&("none"===n?o=!0:"pan-x"===n?o=s>i:"pan-y"===n&&(o=i>s)),o?t.preventDefault():X("track")}}(t)}const i=t[u];if(!i.skip){for(let e,n=0;n<k.length;n++)e=k[n],o[e.name]&&!i[e.name]&&e.flow&&e.flow.start.indexOf(t.type)>-1&&e.reset&&e.reset();for(let n,s=0;s<k.length;s++)n=k[s],o[n.name]&&!i[n.name]&&(i[n.name]=!0,n[e](t))}}function M(t,e,n){return!!x[e]&&(function(t,e,n){const i=x[e],u=i.deps,a=i.name;let h=t[c];h||(t[c]=h={});for(let e,n,o=0;o<u.length;o++)e=u[o],p&&f(e)&&"click"!==e||(n=h[e],n||(h[e]=n={_count:0}),0===n._count&&t.addEventListener(e,A,m(e)),n[a]=(n[a]||0)+1,n._count=(n._count||0)+1);t.addEventListener(e,n),i.touchAction&&function(t,e){s&&t instanceof HTMLElement&&o._3.run((()=>{t.style.touchAction=e})),t[r]=e}(t,i.touchAction)}(t,e,n),!0)}function N(t){k.push(t),t.emits.forEach((e=>{x[e]=t}))}function T(t,e,n){const o=new Event(e,{bubbles:!0,cancelable:!0,composed:!0});if(o.detail=n,t.dispatchEvent(o),o.defaultPrevented){const t=n.preventer||n.sourceEvent;t&&t.preventDefault&&t.preventDefault()}}function X(t){const e=function(t){for(let e,n=0;n<k.length;n++){e=k[n];for(let n,o=0;o<e.emits.length;o++)if(n=e.emits[o],n===t)return e}return null}(t);e.info&&(e.info.prevent=!0)}function Y(t,e,n,o){e&&T(e,t,{x:n.clientX,y:n.clientY,sourceEvent:n,preventer:o,prevent:t=>X(t)})}function D(t,e,n){if(t.prevent)return!1;if(t.started)return!0;const o=Math.abs(t.x-e),i=Math.abs(t.y-n);return o>=5||i>=5}function L(t,e,n){if(!e)return;const o=t.moves[t.moves.length-2],i=t.moves[t.moves.length-1],s=i.x-t.x,c=i.y-t.y;let u,r=0;o&&(u=i.x-o.x,r=i.y-o.y),T(e,"track",{state:t.state,x:n.clientX,y:n.clientY,dx:s,dy:c,ddx:u,ddy:r,sourceEvent:n,hover:()=>function(t,e){let n=document.elementFromPoint(t,e),o=n;for(;o&&o.shadowRoot&&!window.ShadyDOM;){const i=o;if(o=o.shadowRoot.elementFromPoint(t,e),i===o)break;o&&(n=o)}return n}(n.clientX,n.clientY)})}function P(t,e,n){const o=Math.abs(e.clientX-t.x),i=Math.abs(e.clientY-t.y),s=E(n||e);!s||v[s.localName]&&s.hasAttribute("disabled")||(isNaN(o)||isNaN(i)||o<=25&&i<=25||function(t){if("click"===t.type){if(0===t.detail)return!0;const e=E(t);if(!e.nodeType||e.nodeType!==Node.ELEMENT_NODE)return!0;const n=e.getBoundingClientRect(),o=t.pageX,i=t.pageY;return!(o>=n.left&&o<=n.right&&i>=n.top&&i<=n.bottom)}return!1}(e))&&(t.prevent||T(s,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:n}))}N({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset(){_(this.info)},mousedown(t){if(!y(t))return;const e=E(t),n=this;g(this.info,(t=>{y(t)||(Y("up",e,t),_(n.info))}),(t=>{y(t)&&Y("up",e,t),_(n.info)})),Y("down",e,t)},touchstart(t){Y("down",E(t),t.changedTouches[0],t)},touchend(t){Y("up",E(t),t.changedTouches[0],t)}}),N({name:"track",touchAction:"none",deps:["mousedown","touchstart","touchmove","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["track"],info:{x:0,y:0,state:"start",started:!1,moves:[],addMove(t){this.moves.length>2&&this.moves.shift(),this.moves.push(t)},movefn:null,upfn:null,prevent:!1},reset(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,_(this.info)},mousedown(t){if(!y(t))return;const e=E(t),n=this,o=t=>{const o=t.clientX,i=t.clientY;D(n.info,o,i)&&(n.info.state=n.info.started?"mouseup"===t.type?"end":"track":"start","start"===n.info.state&&X("tap"),n.info.addMove({x:o,y:i}),y(t)||(n.info.state="end",_(n.info)),e&&L(n.info,e,t),n.info.started=!0)};g(this.info,o,(t=>{n.info.started&&o(t),_(n.info)})),this.info.x=t.clientX,this.info.y=t.clientY},touchstart(t){const e=t.changedTouches[0];this.info.x=e.clientX,this.info.y=e.clientY},touchmove(t){const e=E(t),n=t.changedTouches[0],o=n.clientX,i=n.clientY;D(this.info,o,i)&&("start"===this.info.state&&X("tap"),this.info.addMove({x:o,y:i}),L(this.info,e,n),this.info.state="track",this.info.started=!0)},touchend(t){const e=E(t),n=t.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:n.clientX,y:n.clientY}),L(this.info,e,n))}}),N({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},mousedown(t){y(t)&&(this.info.x=t.clientX,this.info.y=t.clientY)},click(t){y(t)&&P(this.info,t)},touchstart(t){const e=t.changedTouches[0];this.info.x=e.clientX,this.info.y=e.clientY},touchend(t){P(this.info,t.changedTouches[0],t)}})}}]);
|
3
|
+
//# sourceMappingURL=4467.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"4467.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/active-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/gestures.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 { addListener } from '@vaadin/component-base/src/gestures.js';\nimport { DisabledMixin } from './disabled-mixin.js';\nimport { KeyboardMixin } from './keyboard-mixin.js';\n\n/**\n * A mixin to toggle the `active` attribute.\n *\n * The attribute is set whenever the user activates the element by a pointer\n * or presses an activation key on the element from the keyboard.\n *\n * The attribute is removed as soon as the element is deactivated\n * by the pointer or by releasing the activation key.\n *\n * @polymerMixin\n * @mixes DisabledMixin\n * @mixes KeyboardMixin\n */\nexport const ActiveMixin = (superclass) =>\n class ActiveMixinClass extends DisabledMixin(KeyboardMixin(superclass)) {\n /**\n * An array of activation keys.\n *\n * See possible values here:\n * https://developer.mozilla.org/ru/docs/Web/API/KeyboardEvent/key/Key_Values\n *\n * @protected\n * @return {!Array<!string>}\n */\n get _activeKeys() {\n return [' '];\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n addListener(this, 'down', (event) => {\n if (this._shouldSetActive(event)) {\n this._setActive(true);\n }\n });\n\n addListener(this, 'up', () => {\n this._setActive(false);\n });\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n\n // When the element is disconnecting from the DOM at the moment being active,\n // the `active` attribute needs to be manually removed from the element.\n // Otherwise, it will preserve on the element until the element is activated once again.\n // The case reproduces for `<vaadin-date-picker>` when closing on `Cancel` or `Today` click.\n this._setActive(false);\n }\n\n /**\n * @param {KeyboardEvent | MouseEvent} _event\n * @protected\n */\n _shouldSetActive(_event) {\n return !this.disabled;\n }\n\n /**\n * Sets the `active` attribute on the element if an activation key is pressed.\n *\n * @param {KeyboardEvent} event\n * @protected\n * @override\n */\n _onKeyDown(event) {\n super._onKeyDown(event);\n\n if (this._shouldSetActive(event) && this._activeKeys.includes(event.key)) {\n this._setActive(true);\n\n // Element can become hidden before the `keyup` event, e.g. on button click.\n // Use document listener to ensure `active` attribute is removed correctly.\n document.addEventListener(\n 'keyup',\n (e) => {\n if (this._activeKeys.includes(e.key)) {\n this._setActive(false);\n }\n },\n { once: true },\n );\n }\n }\n\n /**\n * Toggles the `active` attribute on the element.\n *\n * @param {boolean} active\n * @protected\n */\n _setActive(active) {\n this.toggleAttribute('active', active);\n }\n };\n","/**\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/* eslint-disable @typescript-eslint/no-use-before-define */\n\n/**\n * @fileoverview\n *\n * Module for adding listeners to a node for the following normalized\n * cross-platform \"gesture\" events:\n * - `down` - mouse or touch went down\n * - `up` - mouse or touch went up\n * - `tap` - mouse click or finger tap\n * - `track` - mouse drag or touch move\n *\n * @summary Module for adding cross-platform gesture event listeners.\n */\n\nimport { microTask } from './async.js';\n\nconst passiveTouchGestures = false;\nconst wrap = (node) => node;\n\n// Detect native touch action support\nconst HAS_NATIVE_TA = typeof document.head.style.touchAction === 'string';\nconst GESTURE_KEY = '__polymerGestures';\nconst HANDLED_OBJ = '__polymerGesturesHandled';\nconst TOUCH_ACTION = '__polymerGesturesTouchAction';\n// Radius for tap and track\nconst TAP_DISTANCE = 25;\nconst TRACK_DISTANCE = 5;\n// Number of last N track positions to keep\nconst TRACK_LENGTH = 2;\n\nconst MOUSE_EVENTS = ['mousedown', 'mousemove', 'mouseup', 'click'];\n// An array of bitmask values for mapping MouseEvent.which to MouseEvent.buttons\nconst MOUSE_WHICH_TO_BUTTONS = [0, 1, 4, 2];\nconst MOUSE_HAS_BUTTONS = (function () {\n try {\n return new MouseEvent('test', { buttons: 1 }).buttons === 1;\n } catch (e) {\n return false;\n }\n})();\n\n/**\n * @param {string} name Possible mouse event name\n * @return {boolean} true if mouse event, false if not\n */\nfunction isMouseEvent(name) {\n return MOUSE_EVENTS.indexOf(name) > -1;\n}\n\n/* eslint no-empty: [\"error\", { \"allowEmptyCatch\": true }] */\n// check for passive event listeners\nlet supportsPassive = false;\n(function () {\n try {\n const opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line getter-return\n get() {\n supportsPassive = true;\n },\n });\n window.addEventListener('test', null, opts);\n window.removeEventListener('test', null, opts);\n } catch (e) {}\n})();\n\n/**\n * Generate settings for event listeners, dependant on `passiveTouchGestures`\n *\n * @param {string} eventName Event name to determine if `{passive}` option is\n * needed\n * @return {{passive: boolean} | undefined} Options to use for addEventListener\n * and removeEventListener\n */\nfunction PASSIVE_TOUCH(eventName) {\n if (isMouseEvent(eventName) || eventName === 'touchend') {\n return;\n }\n if (HAS_NATIVE_TA && supportsPassive && passiveTouchGestures) {\n return { passive: true };\n }\n}\n\n// Check for touch-only devices\nconst IS_TOUCH_ONLY = navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/u);\n\n// Defined at https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#enabling-and-disabling-form-controls:-the-disabled-attribute\n/** @type {!Object<boolean>} */\nconst canBeDisabled = {\n button: true,\n command: true,\n fieldset: true,\n input: true,\n keygen: true,\n optgroup: true,\n option: true,\n select: true,\n textarea: true,\n};\n\n/**\n * @param {MouseEvent} ev event to test for left mouse button down\n * @return {boolean} has left mouse button down\n */\nfunction hasLeftMouseButton(ev) {\n const type = ev.type;\n // Exit early if the event is not a mouse event\n if (!isMouseEvent(type)) {\n return false;\n }\n // Ev.button is not reliable for mousemove (0 is overloaded as both left button and no buttons)\n // instead we use ev.buttons (bitmask of buttons) or fall back to ev.which (deprecated, 0 for no buttons, 1 for left button)\n if (type === 'mousemove') {\n // Allow undefined for testing events\n let buttons = ev.buttons === undefined ? 1 : ev.buttons;\n if (ev instanceof window.MouseEvent && !MOUSE_HAS_BUTTONS) {\n buttons = MOUSE_WHICH_TO_BUTTONS[ev.which] || 0;\n }\n // Buttons is a bitmask, check that the left button bit is set (1)\n return Boolean(buttons & 1);\n }\n // Allow undefined for testing events\n const button = ev.button === undefined ? 0 : ev.button;\n // Ev.button is 0 in mousedown/mouseup/click for left button activation\n return button === 0;\n}\n\nfunction isSyntheticClick(ev) {\n if (ev.type === 'click') {\n // Ev.detail is 0 for HTMLElement.click in most browsers\n if (ev.detail === 0) {\n return true;\n }\n // In the worst case, check that the x/y position of the click is within\n // the bounding box of the target of the event\n // Thanks IE 10 >:(\n const t = _findOriginalTarget(ev);\n // Make sure the target of the event is an element so we can use getBoundingClientRect,\n // if not, just assume it is a synthetic click\n if (!t.nodeType || /** @type {Element} */ (t).nodeType !== Node.ELEMENT_NODE) {\n return true;\n }\n const bcr = /** @type {Element} */ (t).getBoundingClientRect();\n // Use page x/y to account for scrolling\n const x = ev.pageX,\n y = ev.pageY;\n // Ev is a synthetic click if the position is outside the bounding box of the target\n return !(x >= bcr.left && x <= bcr.right && y >= bcr.top && y <= bcr.bottom);\n }\n return false;\n}\n\nconst POINTERSTATE = {\n mouse: {\n target: null,\n mouseIgnoreJob: null,\n },\n touch: {\n x: 0,\n y: 0,\n id: -1,\n scrollDecided: false,\n },\n};\n\nfunction firstTouchAction(ev) {\n let ta = 'auto';\n const path = getComposedPath(ev);\n for (let i = 0, n; i < path.length; i++) {\n n = path[i];\n if (n[TOUCH_ACTION]) {\n ta = n[TOUCH_ACTION];\n break;\n }\n }\n return ta;\n}\n\nfunction trackDocument(stateObj, movefn, upfn) {\n stateObj.movefn = movefn;\n stateObj.upfn = upfn;\n document.addEventListener('mousemove', movefn);\n document.addEventListener('mouseup', upfn);\n}\n\nfunction untrackDocument(stateObj) {\n document.removeEventListener('mousemove', stateObj.movefn);\n document.removeEventListener('mouseup', stateObj.upfn);\n stateObj.movefn = null;\n stateObj.upfn = null;\n}\n\n/**\n * Returns the composedPath for the given event.\n * @param {Event} event to process\n * @return {!Array<!EventTarget>} Path of the event\n */\nconst getComposedPath =\n window.ShadyDOM && window.ShadyDOM.noPatch\n ? window.ShadyDOM.composedPath\n : (event) => (event.composedPath && event.composedPath()) || [];\n\n/** @type {!Object<string, !GestureRecognizer>} */\nexport const gestures = {};\n\n/** @type {!Array<!GestureRecognizer>} */\nexport const recognizers = [];\n\n/**\n * Finds the element rendered on the screen at the provided coordinates.\n *\n * Similar to `document.elementFromPoint`, but pierces through\n * shadow roots.\n *\n * @param {number} x Horizontal pixel coordinate\n * @param {number} y Vertical pixel coordinate\n * @return {Element} Returns the deepest shadowRoot inclusive element\n * found at the screen position given.\n */\nexport function deepTargetFind(x, y) {\n let node = document.elementFromPoint(x, y);\n let next = node;\n // This code path is only taken when native ShadowDOM is used\n // if there is a shadowroot, it may have a node at x/y\n // if there is not a shadowroot, exit the loop\n while (next && next.shadowRoot && !window.ShadyDOM) {\n // If there is a node at x/y in the shadowroot, look deeper\n const oldNext = next;\n next = next.shadowRoot.elementFromPoint(x, y);\n // On Safari, elementFromPoint may return the shadowRoot host\n if (oldNext === next) {\n break;\n }\n if (next) {\n node = next;\n }\n }\n return node;\n}\n\n/**\n * A cheaper check than ev.composedPath()[0];\n *\n * @private\n * @param {Event|Touch} ev Event.\n * @return {EventTarget} Returns the event target.\n */\nfunction _findOriginalTarget(ev) {\n const path = getComposedPath(/** @type {?Event} */ (ev));\n // It shouldn't be, but sometimes path is empty (window on Safari).\n return path.length > 0 ? path[0] : ev.target;\n}\n\n/**\n * @private\n * @param {Event} ev Event.\n * @return {void}\n */\nfunction _handleNative(ev) {\n const type = ev.type;\n const node = ev.currentTarget;\n const gobj = node[GESTURE_KEY];\n if (!gobj) {\n return;\n }\n const gs = gobj[type];\n if (!gs) {\n return;\n }\n if (!ev[HANDLED_OBJ]) {\n ev[HANDLED_OBJ] = {};\n if (type.startsWith('touch')) {\n const t = ev.changedTouches[0];\n if (type === 'touchstart') {\n // Only handle the first finger\n if (ev.touches.length === 1) {\n POINTERSTATE.touch.id = t.identifier;\n }\n }\n if (POINTERSTATE.touch.id !== t.identifier) {\n return;\n }\n if (!HAS_NATIVE_TA) {\n if (type === 'touchstart' || type === 'touchmove') {\n _handleTouchAction(ev);\n }\n }\n }\n }\n const handled = ev[HANDLED_OBJ];\n // Used to ignore synthetic mouse events\n if (handled.skip) {\n return;\n }\n // Reset recognizer state\n for (let i = 0, r; i < recognizers.length; i++) {\n r = recognizers[i];\n if (gs[r.name] && !handled[r.name]) {\n if (r.flow && r.flow.start.indexOf(ev.type) > -1 && r.reset) {\n r.reset();\n }\n }\n }\n // Enforce gesture recognizer order\n for (let i = 0, r; i < recognizers.length; i++) {\n r = recognizers[i];\n if (gs[r.name] && !handled[r.name]) {\n handled[r.name] = true;\n r[type](ev);\n }\n }\n}\n\n/**\n * @private\n * @param {TouchEvent} ev Event.\n * @return {void}\n */\nfunction _handleTouchAction(ev) {\n const t = ev.changedTouches[0];\n const type = ev.type;\n if (type === 'touchstart') {\n POINTERSTATE.touch.x = t.clientX;\n POINTERSTATE.touch.y = t.clientY;\n POINTERSTATE.touch.scrollDecided = false;\n } else if (type === 'touchmove') {\n if (POINTERSTATE.touch.scrollDecided) {\n return;\n }\n POINTERSTATE.touch.scrollDecided = true;\n const ta = firstTouchAction(ev);\n let shouldPrevent = false;\n const dx = Math.abs(POINTERSTATE.touch.x - t.clientX);\n const dy = Math.abs(POINTERSTATE.touch.y - t.clientY);\n if (!ev.cancelable) {\n // Scrolling is happening\n } else if (ta === 'none') {\n shouldPrevent = true;\n } else if (ta === 'pan-x') {\n shouldPrevent = dy > dx;\n } else if (ta === 'pan-y') {\n shouldPrevent = dx > dy;\n }\n if (shouldPrevent) {\n ev.preventDefault();\n } else {\n prevent('track');\n }\n }\n}\n\n/**\n * Adds an event listener to a node for the given gesture type.\n *\n * @param {!EventTarget} node Node to add listener on\n * @param {string} evType Gesture type: `down`, `up`, `track`, or `tap`\n * @param {!function(!Event):void} handler Event listener function to call\n * @return {boolean} Returns true if a gesture event listener was added.\n */\nexport function addListener(node, evType, handler) {\n if (gestures[evType]) {\n _add(node, evType, handler);\n return true;\n }\n return false;\n}\n\n/**\n * Removes an event listener from a node for the given gesture type.\n *\n * @param {!EventTarget} node Node to remove listener from\n * @param {string} evType Gesture type: `down`, `up`, `track`, or `tap`\n * @param {!function(!Event):void} handler Event listener function previously passed to\n * `addListener`.\n * @return {boolean} Returns true if a gesture event listener was removed.\n */\nexport function removeListener(node, evType, handler) {\n if (gestures[evType]) {\n _remove(node, evType, handler);\n return true;\n }\n return false;\n}\n\n/**\n * Automate the event listeners for the native events\n *\n * @private\n * @param {!EventTarget} node Node on which to add the event.\n * @param {string} evType Event type to add.\n * @param {function(!Event)} handler Event handler function.\n * @return {void}\n */\nfunction _add(node, evType, handler) {\n const recognizer = gestures[evType];\n const deps = recognizer.deps;\n const name = recognizer.name;\n let gobj = node[GESTURE_KEY];\n if (!gobj) {\n node[GESTURE_KEY] = gobj = {};\n }\n for (let i = 0, dep, gd; i < deps.length; i++) {\n dep = deps[i];\n // Don't add mouse handlers on iOS because they cause gray selection overlays\n if (IS_TOUCH_ONLY && isMouseEvent(dep) && dep !== 'click') {\n continue;\n }\n gd = gobj[dep];\n if (!gd) {\n gobj[dep] = gd = { _count: 0 };\n }\n if (gd._count === 0) {\n node.addEventListener(dep, _handleNative, PASSIVE_TOUCH(dep));\n }\n gd[name] = (gd[name] || 0) + 1;\n gd._count = (gd._count || 0) + 1;\n }\n node.addEventListener(evType, handler);\n if (recognizer.touchAction) {\n setTouchAction(node, recognizer.touchAction);\n }\n}\n\n/**\n * Automate event listener removal for native events\n *\n * @private\n * @param {!EventTarget} node Node on which to remove the event.\n * @param {string} evType Event type to remove.\n * @param {function(!Event): void} handler Event handler function.\n * @return {void}\n */\nfunction _remove(node, evType, handler) {\n const recognizer = gestures[evType];\n const deps = recognizer.deps;\n const name = recognizer.name;\n const gobj = node[GESTURE_KEY];\n if (gobj) {\n for (let i = 0, dep, gd; i < deps.length; i++) {\n dep = deps[i];\n gd = gobj[dep];\n if (gd && gd[name]) {\n gd[name] = (gd[name] || 1) - 1;\n gd._count = (gd._count || 1) - 1;\n if (gd._count === 0) {\n node.removeEventListener(dep, _handleNative, PASSIVE_TOUCH(dep));\n }\n }\n }\n }\n node.removeEventListener(evType, handler);\n}\n\n/**\n * Registers a new gesture event recognizer for adding new custom\n * gesture event types.\n *\n * @param {!GestureRecognizer} recog Gesture recognizer descriptor\n * @return {void}\n */\nexport function register(recog) {\n recognizers.push(recog);\n recog.emits.forEach((emit) => {\n gestures[emit] = recog;\n });\n}\n\n/**\n * @private\n * @param {string} evName Event name.\n * @return {Object} Returns the gesture for the given event name.\n */\nfunction _findRecognizerByEvent(evName) {\n for (let i = 0, r; i < recognizers.length; i++) {\n r = recognizers[i];\n for (let j = 0, n; j < r.emits.length; j++) {\n n = r.emits[j];\n if (n === evName) {\n return r;\n }\n }\n }\n return null;\n}\n\n/**\n * Sets scrolling direction on node.\n *\n * This value is checked on first move, thus it should be called prior to\n * adding event listeners.\n *\n * @param {!EventTarget} node Node to set touch action setting on\n * @param {string} value Touch action value\n * @return {void}\n */\nexport function setTouchAction(node, value) {\n if (HAS_NATIVE_TA && node instanceof HTMLElement) {\n // NOTE: add touchAction async so that events can be added in\n // custom element constructors. Otherwise we run afoul of custom\n // elements restriction against settings attributes (style) in the\n // constructor.\n microTask.run(() => {\n node.style.touchAction = value;\n });\n }\n node[TOUCH_ACTION] = value;\n}\n\n/**\n * Dispatches an event on the `target` element of `type` with the given\n * `detail`.\n * @private\n * @param {!EventTarget} target The element on which to fire an event.\n * @param {string} type The type of event to fire.\n * @param {!Object=} detail The detail object to populate on the event.\n * @return {void}\n */\nfunction _fire(target, type, detail) {\n const ev = new Event(type, { bubbles: true, cancelable: true, composed: true });\n ev.detail = detail;\n wrap(/** @type {!Node} */ (target)).dispatchEvent(ev);\n // Forward `preventDefault` in a clean way\n if (ev.defaultPrevented) {\n const preventer = detail.preventer || detail.sourceEvent;\n if (preventer && preventer.preventDefault) {\n preventer.preventDefault();\n }\n }\n}\n\n/**\n * Prevents the dispatch and default action of the given event name.\n *\n * @param {string} evName Event name.\n * @return {void}\n */\nexport function prevent(evName) {\n const recognizer = _findRecognizerByEvent(evName);\n if (recognizer.info) {\n recognizer.info.prevent = true;\n }\n}\n\nregister({\n name: 'downup',\n deps: ['mousedown', 'touchstart', 'touchend'],\n flow: {\n start: ['mousedown', 'touchstart'],\n end: ['mouseup', 'touchend'],\n },\n emits: ['down', 'up'],\n\n info: {\n movefn: null,\n upfn: null,\n },\n\n /**\n * @this {GestureRecognizer}\n * @return {void}\n */\n reset() {\n untrackDocument(this.info);\n },\n\n /**\n * @this {GestureRecognizer}\n * @param {MouseEvent} e\n * @return {void}\n */\n mousedown(e) {\n if (!hasLeftMouseButton(e)) {\n return;\n }\n const t = _findOriginalTarget(e);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n const movefn = (e) => {\n if (!hasLeftMouseButton(e)) {\n downupFire('up', t, e);\n untrackDocument(self.info);\n }\n };\n const upfn = (e) => {\n if (hasLeftMouseButton(e)) {\n downupFire('up', t, e);\n }\n untrackDocument(self.info);\n };\n trackDocument(this.info, movefn, upfn);\n downupFire('down', t, e);\n },\n\n /**\n * @this {GestureRecognizer}\n * @param {TouchEvent} e\n * @return {void}\n */\n touchstart(e) {\n downupFire('down', _findOriginalTarget(e), e.changedTouches[0], e);\n },\n\n /**\n * @this {GestureRecognizer}\n * @param {TouchEvent} e\n * @return {void}\n */\n touchend(e) {\n downupFire('up', _findOriginalTarget(e), e.changedTouches[0], e);\n },\n});\n\n/**\n * @param {string} type\n * @param {EventTarget} target\n * @param {Event|Touch} event\n * @param {Event=} preventer\n * @return {void}\n */\nfunction downupFire(type, target, event, preventer) {\n if (!target) {\n return;\n }\n _fire(target, type, {\n x: event.clientX,\n y: event.clientY,\n sourceEvent: event,\n preventer,\n prevent(e) {\n return prevent(e);\n },\n });\n}\n\nregister({\n name: 'track',\n touchAction: 'none',\n deps: ['mousedown', 'touchstart', 'touchmove', 'touchend'],\n flow: {\n start: ['mousedown', 'touchstart'],\n end: ['mouseup', 'touchend'],\n },\n emits: ['track'],\n\n info: {\n x: 0,\n y: 0,\n state: 'start',\n started: false,\n moves: [],\n /** @this {GestureInfo} */\n addMove(move) {\n if (this.moves.length > TRACK_LENGTH) {\n this.moves.shift();\n }\n this.moves.push(move);\n },\n movefn: null,\n upfn: null,\n prevent: false,\n },\n\n /**\n * @this {GestureRecognizer}\n * @return {void}\n */\n reset() {\n this.info.state = 'start';\n this.info.started = false;\n this.info.moves = [];\n this.info.x = 0;\n this.info.y = 0;\n this.info.prevent = false;\n untrackDocument(this.info);\n },\n\n /**\n * @this {GestureRecognizer}\n * @param {MouseEvent} e\n * @return {void}\n */\n mousedown(e) {\n if (!hasLeftMouseButton(e)) {\n return;\n }\n const t = _findOriginalTarget(e);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n const movefn = (e) => {\n const x = e.clientX,\n y = e.clientY;\n if (trackHasMovedEnough(self.info, x, y)) {\n // First move is 'start', subsequent moves are 'move', mouseup is 'end'\n self.info.state = self.info.started ? (e.type === 'mouseup' ? 'end' : 'track') : 'start';\n if (self.info.state === 'start') {\n // If and only if tracking, always prevent tap\n prevent('tap');\n }\n self.info.addMove({ x, y });\n if (!hasLeftMouseButton(e)) {\n // Always fire \"end\"\n self.info.state = 'end';\n untrackDocument(self.info);\n }\n if (t) {\n trackFire(self.info, t, e);\n }\n self.info.started = true;\n }\n };\n const upfn = (e) => {\n if (self.info.started) {\n movefn(e);\n }\n\n // Remove the temporary listeners\n untrackDocument(self.info);\n };\n // Add temporary document listeners as mouse retargets\n trackDocument(this.info, movefn, upfn);\n this.info.x = e.clientX;\n this.info.y = e.clientY;\n },\n\n /**\n * @this {GestureRecognizer}\n * @param {TouchEvent} e\n * @return {void}\n */\n touchstart(e) {\n const ct = e.changedTouches[0];\n this.info.x = ct.clientX;\n this.info.y = ct.clientY;\n },\n\n /**\n * @this {GestureRecognizer}\n * @param {TouchEvent} e\n * @return {void}\n */\n touchmove(e) {\n const t = _findOriginalTarget(e);\n const ct = e.changedTouches[0];\n const x = ct.clientX,\n y = ct.clientY;\n if (trackHasMovedEnough(this.info, x, y)) {\n if (this.info.state === 'start') {\n // If and only if tracking, always prevent tap\n prevent('tap');\n }\n this.info.addMove({ x, y });\n trackFire(this.info, t, ct);\n this.info.state = 'track';\n this.info.started = true;\n }\n },\n\n /**\n * @this {GestureRecognizer}\n * @param {TouchEvent} e\n * @return {void}\n */\n touchend(e) {\n const t = _findOriginalTarget(e);\n const ct = e.changedTouches[0];\n // Only trackend if track was started and not aborted\n if (this.info.started) {\n // Reset started state on up\n this.info.state = 'end';\n this.info.addMove({ x: ct.clientX, y: ct.clientY });\n trackFire(this.info, t, ct);\n }\n },\n});\n\n/**\n * @param {!GestureInfo} info\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\nfunction trackHasMovedEnough(info, x, y) {\n if (info.prevent) {\n return false;\n }\n if (info.started) {\n return true;\n }\n const dx = Math.abs(info.x - x);\n const dy = Math.abs(info.y - y);\n return dx >= TRACK_DISTANCE || dy >= TRACK_DISTANCE;\n}\n\n/**\n * @param {!GestureInfo} info\n * @param {?EventTarget} target\n * @param {Touch} touch\n * @return {void}\n */\nfunction trackFire(info, target, touch) {\n if (!target) {\n return;\n }\n const secondlast = info.moves[info.moves.length - 2];\n const lastmove = info.moves[info.moves.length - 1];\n const dx = lastmove.x - info.x;\n const dy = lastmove.y - info.y;\n let ddx,\n ddy = 0;\n if (secondlast) {\n ddx = lastmove.x - secondlast.x;\n ddy = lastmove.y - secondlast.y;\n }\n _fire(target, 'track', {\n state: info.state,\n x: touch.clientX,\n y: touch.clientY,\n dx,\n dy,\n ddx,\n ddy,\n sourceEvent: touch,\n hover() {\n return deepTargetFind(touch.clientX, touch.clientY);\n },\n });\n}\n\nregister({\n name: 'tap',\n deps: ['mousedown', 'click', 'touchstart', 'touchend'],\n flow: {\n start: ['mousedown', 'touchstart'],\n end: ['click', 'touchend'],\n },\n emits: ['tap'],\n info: {\n x: NaN,\n y: NaN,\n prevent: false,\n },\n\n /**\n * @this {GestureRecognizer}\n * @return {void}\n */\n reset() {\n this.info.x = NaN;\n this.info.y = NaN;\n this.info.prevent = false;\n },\n\n /**\n * @this {GestureRecognizer}\n * @param {MouseEvent} e\n * @return {void}\n */\n mousedown(e) {\n if (hasLeftMouseButton(e)) {\n this.info.x = e.clientX;\n this.info.y = e.clientY;\n }\n },\n\n /**\n * @this {GestureRecognizer}\n * @param {MouseEvent} e\n * @return {void}\n */\n click(e) {\n if (hasLeftMouseButton(e)) {\n trackForward(this.info, e);\n }\n },\n\n /**\n * @this {GestureRecognizer}\n * @param {TouchEvent} e\n * @return {void}\n */\n touchstart(e) {\n const touch = e.changedTouches[0];\n this.info.x = touch.clientX;\n this.info.y = touch.clientY;\n },\n\n /**\n * @this {GestureRecognizer}\n * @param {TouchEvent} e\n * @return {void}\n */\n touchend(e) {\n trackForward(this.info, e.changedTouches[0], e);\n },\n});\n\n/**\n * @param {!GestureInfo} info\n * @param {Event | Touch} e\n * @param {Event=} preventer\n * @return {void}\n */\nfunction trackForward(info, e, preventer) {\n const dx = Math.abs(e.clientX - info.x);\n const dy = Math.abs(e.clientY - info.y);\n // Find original target from `preventer` for TouchEvents, or `e` for MouseEvents\n const t = _findOriginalTarget(preventer || e);\n if (!t || (canBeDisabled[/** @type {!HTMLElement} */ (t).localName] && t.hasAttribute('disabled'))) {\n return;\n }\n // Dx,dy can be NaN if `click` has been simulated and there was no `down` for `start`\n if (isNaN(dx) || isNaN(dy) || (dx <= TAP_DISTANCE && dy <= TAP_DISTANCE) || isSyntheticClick(e)) {\n // Prevent taps from being generated if an event has canceled them\n if (!info.prevent) {\n _fire(t, 'tap', {\n x: e.clientX,\n y: e.clientY,\n sourceEvent: e,\n preventer,\n });\n }\n }\n}\n"],"names":["ActiveMixin","superclass","_activeKeys","ready","super","this","event","_shouldSetActive","_setActive","disconnectedCallback","_event","disabled","_onKeyDown","includes","key","document","addEventListener","e","once","active","toggleAttribute","passiveTouchGestures","HAS_NATIVE_TA","head","style","touchAction","GESTURE_KEY","HANDLED_OBJ","TOUCH_ACTION","MOUSE_EVENTS","MOUSE_WHICH_TO_BUTTONS","MOUSE_HAS_BUTTONS","MouseEvent","buttons","isMouseEvent","name","indexOf","supportsPassive","PASSIVE_TOUCH","eventName","passive","opts","Object","defineProperty","get","window","removeEventListener","IS_TOUCH_ONLY","navigator","userAgent","match","canBeDisabled","button","command","fieldset","input","keygen","optgroup","option","select","textarea","hasLeftMouseButton","ev","type","undefined","which","Boolean","POINTERSTATE","mouse","target","mouseIgnoreJob","touch","x","y","id","scrollDecided","trackDocument","stateObj","movefn","upfn","untrackDocument","getComposedPath","ShadyDOM","noPatch","composedPath","gestures","recognizers","_findOriginalTarget","path","length","_handleNative","gobj","currentTarget","gs","startsWith","t","changedTouches","touches","identifier","clientX","clientY","ta","n","i","firstTouchAction","shouldPrevent","dx","Math","abs","dy","cancelable","preventDefault","prevent","_handleTouchAction","handled","skip","r","flow","start","reset","addListener","node","evType","handler","recognizer","deps","dep","gd","_count","value","HTMLElement","run","setTouchAction","_add","register","recog","push","emits","forEach","emit","_fire","detail","Event","bubbles","composed","dispatchEvent","defaultPrevented","preventer","sourceEvent","evName","j","_findRecognizerByEvent","info","downupFire","trackHasMovedEnough","started","trackFire","secondlast","moves","lastmove","ddx","ddy","state","hover","elementFromPoint","next","shadowRoot","oldNext","deepTargetFind","trackForward","localName","hasAttribute","isNaN","nodeType","Node","ELEMENT_NODE","bcr","getBoundingClientRect","pageX","pageY","left","right","top","bottom","isSyntheticClick","end","mousedown","self","touchstart","touchend","addMove","move","shift","ct","touchmove","NaN","click"],"sourceRoot":""}
|