@descope/web-components-ui 1.32.0 → 1.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +481 -364
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +524 -438
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/1408.js +382 -0
- package/dist/umd/1408.js.LICENSE.txt +17 -0
- package/dist/umd/1408.js.map +1 -0
- package/dist/umd/{9243.js → 1519.js} +7 -6
- package/dist/umd/1519.js.map +1 -0
- package/dist/umd/189.js +109 -276
- package/dist/umd/189.js.LICENSE.txt +12 -0
- package/dist/umd/189.js.map +1 -0
- package/dist/umd/{7979.js → 1899.js} +11 -10
- package/dist/umd/1899.js.map +1 -0
- package/dist/umd/{1172.js → 1995.js} +10 -9
- package/dist/umd/1995.js.map +1 -0
- package/dist/umd/2540.js +2 -1
- package/dist/umd/2540.js.map +1 -0
- package/dist/umd/2672.js +2 -0
- package/dist/umd/2672.js.map +1 -0
- package/dist/umd/2739.js +2 -0
- package/dist/umd/2739.js.map +1 -0
- package/dist/umd/{2570.js → 2894.js} +6 -5
- package/dist/umd/2894.js.map +1 -0
- package/dist/umd/{404.js → 3620.js} +9 -8
- package/dist/umd/3620.js.map +1 -0
- package/dist/umd/{4455.js → 384.js} +8 -7
- package/dist/umd/384.js.map +1 -0
- package/dist/umd/4467.js +3 -0
- package/dist/umd/4467.js.map +1 -0
- package/dist/umd/{4127.js → 4518.js} +11 -10
- package/dist/umd/4518.js.map +1 -0
- package/dist/umd/{1902.js → 4550.js} +7 -6
- package/dist/umd/4550.js.map +1 -0
- package/dist/umd/{4554.js → 4623.js} +7 -6
- package/dist/umd/4623.js.map +1 -0
- package/dist/umd/{742.js → 4914.js} +3 -2
- package/dist/umd/4914.js.map +1 -0
- package/dist/umd/{9478.js → 513.js} +6 -5
- package/dist/umd/513.js.map +1 -0
- package/dist/umd/{201.js → 5260.js} +6 -5
- package/dist/umd/5260.js.map +1 -0
- package/dist/umd/5414.js +2 -1
- package/dist/umd/5414.js.map +1 -0
- package/dist/umd/5648.js +110 -0
- package/dist/umd/5648.js.map +1 -0
- package/dist/umd/5780.js +2 -0
- package/dist/umd/5780.js.map +1 -0
- package/dist/umd/{5563.js → 6227.js} +6 -5
- package/dist/umd/6227.js.map +1 -0
- package/dist/umd/6424.js +149 -0
- package/dist/umd/6424.js.map +1 -0
- package/dist/umd/{7097.js → 6649.js} +6 -5
- package/dist/umd/6649.js.map +1 -0
- package/dist/umd/676.js +3 -0
- package/dist/umd/676.js.map +1 -0
- package/dist/umd/{1738.js → 7092.js} +2 -1
- package/dist/umd/7092.js.map +1 -0
- package/dist/umd/{3638.js → 7182.js} +3 -2
- package/dist/umd/7182.js.map +1 -0
- package/dist/umd/{507.js → 7291.js} +6 -5
- package/dist/umd/7291.js.map +1 -0
- package/dist/umd/{4187.js → 7565.js} +3 -2
- package/dist/umd/7565.js.map +1 -0
- package/dist/umd/{3191.js → 7620.js} +11 -7
- package/dist/umd/7620.js.map +1 -0
- package/dist/umd/{6050.js → 7774.js} +10 -9
- package/dist/umd/7774.js.map +1 -0
- package/dist/umd/{2666.js → 7939.js} +5 -4
- package/dist/umd/7939.js.map +1 -0
- package/dist/umd/{4114.js → 8618.js} +5 -4
- package/dist/umd/8618.js.map +1 -0
- package/dist/umd/8961.js +2 -0
- package/dist/umd/8961.js.map +1 -0
- package/dist/umd/{4574.js → 8983.js} +6 -5
- package/dist/umd/8983.js.map +1 -0
- package/dist/umd/9030.js +265 -307
- package/dist/umd/9030.js.LICENSE.txt +0 -6
- package/dist/umd/9030.js.map +1 -0
- package/dist/umd/9365.js +2 -0
- package/dist/umd/9365.js.map +1 -0
- package/dist/umd/{4218.js → 9380.js} +5 -4
- package/dist/umd/9380.js.map +1 -0
- package/dist/umd/9871.js +276 -0
- package/dist/umd/9871.js.map +1 -0
- package/dist/umd/9970.js +833 -0
- package/dist/umd/9970.js.map +1 -0
- package/dist/umd/DescopeDev.js +2 -1
- package/dist/umd/DescopeDev.js.map +1 -0
- package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js +2 -1
- package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js.map +1 -0
- package/dist/umd/boolean-fields-descope-checkbox-index-js.js +2 -1
- package/dist/umd/boolean-fields-descope-checkbox-index-js.js.map +1 -0
- package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +2 -1
- package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-internal-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-internal-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-internal-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-internal-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -0
- package/dist/umd/descope-address-field.js +2 -1
- package/dist/umd/descope-address-field.js.map +1 -0
- package/dist/umd/descope-alert-index-js.js +2 -1
- package/dist/umd/descope-alert-index-js.js.map +1 -0
- package/dist/umd/descope-apps-list-index-js.js +2 -1
- package/dist/umd/descope-apps-list-index-js.js.map +1 -0
- package/dist/umd/descope-autocomplete-field.js +2 -1
- package/dist/umd/descope-autocomplete-field.js.map +1 -0
- package/dist/umd/descope-avatar.js +2 -1
- package/dist/umd/descope-avatar.js.map +1 -0
- package/dist/umd/descope-badge-index-js.js +2 -1
- package/dist/umd/descope-badge-index-js.js.map +1 -0
- package/dist/umd/descope-button-index-js.js +5 -4
- package/dist/umd/descope-button-index-js.js.map +1 -0
- package/dist/umd/descope-code-snippet-index-js.js +2 -1
- package/dist/umd/descope-code-snippet-index-js.js.map +1 -0
- package/dist/umd/descope-combo-box.js +7 -6
- package/dist/umd/descope-combo-box.js.map +1 -0
- package/dist/umd/descope-container-index-js.js +2 -1
- package/dist/umd/descope-container-index-js.js.map +1 -0
- package/dist/umd/descope-date-field-descope-calendar-index-js.js +2 -1
- package/dist/umd/descope-date-field-descope-calendar-index-js.js.map +1 -0
- package/dist/umd/descope-date-field-index-js.js +2 -1
- package/dist/umd/descope-date-field-index-js.js.map +1 -0
- package/dist/umd/descope-divider-index-js.js +2 -1
- package/dist/umd/descope-divider-index-js.js.map +1 -0
- package/dist/umd/descope-email-field-index-js.js +5 -4
- package/dist/umd/descope-email-field-index-js.js.map +1 -0
- package/dist/umd/descope-enriched-text-index-js.js +2 -1
- package/dist/umd/descope-enriched-text-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js +5 -4
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js +6 -5
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +2 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js +5 -4
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-index-js.js +2 -1
- package/dist/umd/descope-grid-index-js.js.map +1 -0
- package/dist/umd/descope-hybrid-field-index-js.js +4 -3
- package/dist/umd/descope-hybrid-field-index-js.js.map +1 -0
- package/dist/umd/descope-icon-index-js.js +2 -1
- package/dist/umd/descope-icon-index-js.js.map +1 -0
- package/dist/umd/descope-image-index-js.js +2 -1
- package/dist/umd/descope-image-index-js.js.map +1 -0
- package/dist/umd/descope-link-index-js.js +2 -1
- package/dist/umd/descope-link-index-js.js.map +1 -0
- package/dist/umd/descope-list-index-js.js +2 -1
- package/dist/umd/descope-list-index-js.js.map +1 -0
- package/dist/umd/descope-loader-linear-index-js.js +2 -1
- package/dist/umd/descope-loader-linear-index-js.js.map +1 -0
- package/dist/umd/descope-loader-radial-index-js.js +2 -1
- package/dist/umd/descope-loader-radial-index-js.js.map +1 -0
- package/dist/umd/descope-logo-index-js.js +2 -1
- package/dist/umd/descope-logo-index-js.js.map +1 -0
- package/dist/umd/descope-modal-index-js.js +2 -1
- package/dist/umd/descope-modal-index-js.js.map +1 -0
- package/dist/umd/descope-multi-select-combo-box-index-js.js +2 -1
- package/dist/umd/descope-multi-select-combo-box-index-js.js.map +1 -0
- package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +2 -1
- package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js.map +1 -0
- package/dist/umd/descope-new-password-index-js.js +2 -1
- package/dist/umd/descope-new-password-index-js.js.map +1 -0
- package/dist/umd/descope-notification-descope-notification-card-index-js.js +2 -1
- package/dist/umd/descope-notification-descope-notification-card-index-js.js.map +1 -0
- package/dist/umd/descope-notification-index-js.js +2 -1
- package/dist/umd/descope-notification-index-js.js.map +1 -0
- package/dist/umd/descope-notp-image-index-js.js +2 -1
- package/dist/umd/descope-notp-image-index-js.js.map +1 -0
- package/dist/umd/descope-number-field-index-js.js +2 -1
- package/dist/umd/descope-number-field-index-js.js.map +1 -0
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js +2 -1
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js.map +1 -0
- package/dist/umd/descope-passcode-index-js.js +3 -2
- package/dist/umd/descope-passcode-index-js.js.map +1 -0
- package/dist/umd/descope-password-index-js.js +2 -1
- package/dist/umd/descope-password-index-js.js.map +1 -0
- package/dist/umd/descope-policy-validation-index-js.js +2 -1
- package/dist/umd/descope-policy-validation-index-js.js.map +1 -0
- package/dist/umd/descope-radio-group-index-js.js +2 -1
- package/dist/umd/descope-radio-group-index-js.js.map +1 -0
- package/dist/umd/descope-recaptcha-index-js.js +2 -1
- package/dist/umd/descope-recaptcha-index-js.js.map +1 -0
- package/dist/umd/descope-scopes-list-index-js.js +2 -1
- package/dist/umd/descope-scopes-list-index-js.js.map +1 -0
- package/dist/umd/descope-security-questions-setup-index-js.js +2 -1
- package/dist/umd/descope-security-questions-setup-index-js.js.map +1 -0
- package/dist/umd/descope-security-questions-verify-index-js.js +3 -2
- package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -0
- package/dist/umd/descope-text-area-index-js.js +2 -1
- package/dist/umd/descope-text-area-index-js.js.map +1 -0
- package/dist/umd/descope-text-field-index-js.js +3 -2
- package/dist/umd/descope-text-field-index-js.js.map +1 -0
- package/dist/umd/descope-text.js +2 -1
- package/dist/umd/descope-text.js.map +1 -0
- package/dist/umd/descope-third-party-app-logo-index-js.js +2 -1
- package/dist/umd/descope-third-party-app-logo-index-js.js.map +1 -0
- package/dist/umd/descope-totp-image-index-js.js +2 -1
- package/dist/umd/descope-totp-image-index-js.js.map +1 -0
- package/dist/umd/descope-upload-file-index-js.js +2 -1
- package/dist/umd/descope-upload-file-index-js.js.map +1 -0
- package/dist/umd/descope-user-attribute-index-js.js +2 -1
- package/dist/umd/descope-user-attribute-index-js.js.map +1 -0
- package/dist/umd/descope-user-auth-method-index-js.js +2 -1
- package/dist/umd/descope-user-auth-method-index-js.js.map +1 -0
- package/dist/umd/fonts/font-1364590020.woff +0 -0
- package/dist/umd/fonts/font-1949233557.woff +0 -0
- package/dist/umd/index.js +2 -1
- package/dist/umd/index.js.map +1 -0
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mapping-item-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mapping-item-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-saml-group-mappings-descope-saml-group-mappings-internal-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-descope-saml-group-mappings-internal-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js +2 -1
- package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-field-index-js.js +2 -1
- package/dist/umd/phone-fields-descope-phone-field-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +3 -2
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +8 -7
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.map +1 -0
- package/package.json +10 -8
- package/src/baseClasses/createCssVarImageClass.js +10 -5
- package/src/components/button-selection-group-fields/baseButtonSelectionGroup.js +7 -0
- package/src/components/button-selection-group-fields/createBaseButtonSelectionGroupInternalClass.js +1 -8
- package/src/components/button-selection-group-fields/descope-button-selection-group-item/ButtonSelectionGroupItemClass.js +11 -6
- package/src/components/descope-alert/AlertClass.js +16 -12
- package/src/components/descope-badge/BadgeClass.js +11 -6
- package/src/components/descope-code-snippet/CodeSnippetClass.js +9 -4
- package/src/components/descope-container/ContainerClass.js +9 -4
- package/src/components/descope-date-field/DateFieldClass.js +22 -17
- package/src/components/descope-date-field/descope-calendar/CalendarClass.js +28 -18
- package/src/components/descope-date-field/descope-calendar/helpers.js +1 -2
- package/src/components/descope-divider/DividerClass.js +14 -9
- package/src/components/descope-enriched-text/EnrichedTextClass.js +9 -4
- package/src/components/descope-grid/GridClass.js +1 -1
- package/src/components/descope-hybrid-field/HybridFieldClass.js +15 -10
- package/src/components/descope-icon/IconClass.js +9 -4
- package/src/components/descope-image/ImageClass.js +10 -5
- package/src/components/descope-link/LinkClass.js +14 -9
- package/src/components/descope-list/ListClass.js +15 -13
- package/src/components/descope-list/ListItemClass.js +16 -14
- package/src/components/descope-loader-linear/LoaderLinearClass.js +10 -5
- package/src/components/descope-loader-radial/LoaderRadialClass.js +10 -5
- package/src/components/descope-modal/ModalClass.js +16 -4
- package/src/components/descope-new-password/NewPasswordClass.js +1 -1
- package/src/components/descope-new-password/descope-new-password-internal/NewPasswordInternal.js +8 -6
- package/src/components/descope-passcode/PasscodeClass.js +28 -1
- package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +26 -23
- package/src/components/descope-passcode/descope-passcode-internal/helpers.js +3 -22
- package/src/components/descope-policy-validation/PolicyValidationClass.js +8 -3
- package/src/components/descope-recaptcha/RecaptchaClass.js +13 -8
- package/src/components/descope-scopes-list/ScopesListClass.js +9 -5
- package/src/components/descope-security-questions-setup/SecurityQuestionsSetupClass.js +9 -5
- package/src/components/descope-security-questions-verify/SecurityQuestionsVerifyClass.js +9 -5
- package/src/components/descope-text-field/TextFieldClass.js +1 -1
- package/src/components/descope-third-party-app-logo/ThirdPartyAppLogoClass.js +20 -16
- package/src/components/descope-upload-file/UploadFileClass.js +20 -15
- package/src/components/descope-user-attribute/UserAttributeClass.js +25 -22
- package/src/components/descope-user-auth-method/UserAuthMethodClass.js +25 -22
- package/src/components/mapping-fields/descope-mappings-field/descope-mapping-item/MappingItem.js +15 -9
- package/src/components/phone-fields/descope-phone-field/PhoneFieldClass.js +1 -0
- package/src/components/phone-fields/descope-phone-field/helpers.js +0 -1
- package/src/mixins/createProxy.js +3 -1
- package/src/mixins/createStyleMixin/index.js +9 -22
- package/src/mixins/draggableMixin.js +3 -2
- package/dist/umd/1402.js +0 -1
- package/dist/umd/1484.js +0 -148
- package/dist/umd/3110.js +0 -275
- package/dist/umd/3437.js +0 -2
- package/dist/umd/4619.js +0 -1
- package/dist/umd/4902.js +0 -170
- package/dist/umd/4902.js.LICENSE.txt +0 -23
- package/dist/umd/5096.js +0 -109
- package/dist/umd/5318.js +0 -1
- package/dist/umd/5459.js +0 -1
- package/dist/umd/7150.js +0 -2
- package/dist/umd/731.js +0 -832
- package/dist/umd/8823.js +0 -1
- /package/dist/umd/{9243.js.LICENSE.txt → 1519.js.LICENSE.txt} +0 -0
- /package/dist/umd/{1902.js.LICENSE.txt → 1899.js.LICENSE.txt} +0 -0
- /package/dist/umd/{1172.js.LICENSE.txt → 1995.js.LICENSE.txt} +0 -0
- /package/dist/umd/{2570.js.LICENSE.txt → 2894.js.LICENSE.txt} +0 -0
- /package/dist/umd/{1484.js.LICENSE.txt → 3620.js.LICENSE.txt} +0 -0
- /package/dist/umd/{2666.js.LICENSE.txt → 384.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3437.js.LICENSE.txt → 4467.js.LICENSE.txt} +0 -0
- /package/dist/umd/{404.js.LICENSE.txt → 4518.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4455.js.LICENSE.txt → 4550.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4554.js.LICENSE.txt → 4623.js.LICENSE.txt} +0 -0
- /package/dist/umd/{742.js.LICENSE.txt → 4914.js.LICENSE.txt} +0 -0
- /package/dist/umd/{507.js.LICENSE.txt → 513.js.LICENSE.txt} +0 -0
- /package/dist/umd/{201.js.LICENSE.txt → 5260.js.LICENSE.txt} +0 -0
- /package/dist/umd/{5096.js.LICENSE.txt → 5648.js.LICENSE.txt} +0 -0
- /package/dist/umd/{5563.js.LICENSE.txt → 6227.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4127.js.LICENSE.txt → 6424.js.LICENSE.txt} +0 -0
- /package/dist/umd/{7097.js.LICENSE.txt → 6649.js.LICENSE.txt} +0 -0
- /package/dist/umd/{7150.js.LICENSE.txt → 676.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3638.js.LICENSE.txt → 7182.js.LICENSE.txt} +0 -0
- /package/dist/umd/{7979.js.LICENSE.txt → 7291.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4187.js.LICENSE.txt → 7565.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3191.js.LICENSE.txt → 7620.js.LICENSE.txt} +0 -0
- /package/dist/umd/{6050.js.LICENSE.txt → 7774.js.LICENSE.txt} +0 -0
- /package/dist/umd/{9478.js.LICENSE.txt → 7939.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4114.js.LICENSE.txt → 8618.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4574.js.LICENSE.txt → 8983.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4218.js.LICENSE.txt → 9380.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3110.js.LICENSE.txt → 9871.js.LICENSE.txt} +0 -0
- /package/dist/umd/{731.js.LICENSE.txt → 9970.js.LICENSE.txt} +0 -0
- /package/dist/umd/{bcdfe87ae253c2cf789c9a737f8d8c22.woff → fonts/font-38673212.woff} +0 -0
@@ -1,2 +1,3 @@
|
|
1
|
-
/*! For license information please see
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[742],{21759:(t,e,i)=>{function s(t,e){return t.split(".").reduce(((t,e)=>t?t[e]:void 0),e)}i.d(e,{J:()=>s})},15685:(t,e,i)=>{function s(t){window.Vaadin&&window.Vaadin.templateRendererCallback?window.Vaadin.templateRendererCallback(t):t.querySelector("template")&&console.warn(`WARNING: <template> inside <${t.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`)}i.d(e,{h:()=>s})},37153:(t,e,i)=>{i.d(e,{Y:()=>c});var s=i(28186),l=i(14310),h=i(49419);const r=navigator.userAgent.match(/iP(?:hone|ad;(?: U;)? CPU) OS (\d+)/u),o=r&&r[1]>=8,a={_ratio:.5,_scrollerPaddingTop:0,_scrollPosition:0,_physicalSize:0,_physicalAverage:0,_physicalAverageCount:0,_physicalTop:0,_virtualCount:0,_estScrollHeight:0,_scrollHeight:0,_viewportHeight:0,_viewportWidth:0,_physicalItems:null,_physicalSizes:null,_firstVisibleIndexVal:null,_lastVisibleIndexVal:null,_maxPages:2,_templateCost:0,get _physicalBottom(){return this._physicalTop+this._physicalSize},get _scrollBottom(){return this._scrollPosition+this._viewportHeight},get _virtualEnd(){return this._virtualStart+this._physicalCount-1},get _hiddenContentSize(){return this._physicalSize-this._viewportHeight},get _maxScrollTop(){return this._estScrollHeight-this._viewportHeight+this._scrollOffset},get _maxVirtualStart(){const t=this._virtualCount;return Math.max(0,t-this._physicalCount)},get _virtualStart(){return this._virtualStartVal||0},set _virtualStart(t){t=this._clamp(t,0,this._maxVirtualStart),this._virtualStartVal=t},get _physicalStart(){return this._physicalStartVal||0},set _physicalStart(t){(t%=this._physicalCount)<0&&(t=this._physicalCount+t),this._physicalStartVal=t},get _physicalEnd(){return(this._physicalStart+this._physicalCount-1)%this._physicalCount},get _physicalCount(){return this._physicalCountVal||0},set _physicalCount(t){this._physicalCountVal=t},get _optPhysicalSize(){return 0===this._viewportHeight?1/0:this._viewportHeight*this._maxPages},get _isVisible(){return Boolean(this.offsetWidth||this.offsetHeight)},get firstVisibleIndex(){let t=this._firstVisibleIndexVal;if(null==t){let e=this._physicalTop+this._scrollOffset;t=this._iterateItems(((t,i)=>{if(e+=this._getPhysicalSizeIncrement(t),e>this._scrollPosition)return i}))||0,this._firstVisibleIndexVal=t}return t},get lastVisibleIndex(){let t=this._lastVisibleIndexVal;if(null==t){let e=this._physicalTop+this._scrollOffset;this._iterateItems(((i,s)=>{e<this._scrollBottom&&(t=s),e+=this._getPhysicalSizeIncrement(i)})),this._lastVisibleIndexVal=t}return t},get _scrollOffset(){return this._scrollerPaddingTop+this.scrollOffset},_scrollHandler(){const t=Math.max(0,Math.min(this._maxScrollTop,this._scrollTop));let e=t-this._scrollPosition;const i=e>=0;if(this._scrollPosition=t,this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null,Math.abs(e)>this._physicalSize&&this._physicalSize>0){e-=this._scrollOffset;const t=Math.round(e/this._physicalAverage);this._virtualStart+=t,this._physicalStart+=t,this._physicalTop=Math.min(Math.floor(this._virtualStart)*this._physicalAverage,this._scrollPosition),this._update()}else if(this._physicalCount>0){const t=this._getReusables(i);i?(this._physicalTop=t.physicalTop,this._virtualStart+=t.indexes.length,this._physicalStart+=t.indexes.length):(this._virtualStart-=t.indexes.length,this._physicalStart-=t.indexes.length),this._update(t.indexes,i?null:t.indexes),this._debounce("_increasePoolIfNeeded",this._increasePoolIfNeeded.bind(this,0),s._3)}},_getReusables(t){let e,i,s;const l=[],h=this._hiddenContentSize*this._ratio,r=this._virtualStart,o=this._virtualEnd,a=this._physicalCount;let n=this._physicalTop+this._scrollOffset;const _=this._physicalBottom+this._scrollOffset,c=this._scrollPosition,d=this._scrollBottom;for(t?(e=this._physicalStart,i=c-n):(e=this._physicalEnd,i=_-d);s=this._getPhysicalSizeIncrement(e),i-=s,!(l.length>=a||i<=h);)if(t){if(o+l.length+1>=this._virtualCount)break;if(n+s>=c-this._scrollOffset)break;l.push(e),n+=s,e=(e+1)%a}else{if(r-l.length<=0)break;if(n+this._physicalSize-s<=d)break;l.push(e),n-=s,e=0===e?a-1:e-1}return{indexes:l,physicalTop:n-this._scrollOffset}},_update(t,e){if(!(t&&0===t.length||0===this._physicalCount)){if(this._assignModels(t),this._updateMetrics(t),e)for(;e.length;){const t=e.pop();this._physicalTop-=this._getPhysicalSizeIncrement(t)}this._positionItems(),this._updateScrollerSize()}},_isClientFull(){return 0!==this._scrollBottom&&this._physicalBottom-1>=this._scrollBottom&&this._physicalTop<=this._scrollPosition},_increasePoolIfNeeded(t){const e=this._clamp(this._physicalCount+t,3,this._virtualCount-this._virtualStart)-this._physicalCount;let i=Math.round(.5*this._physicalCount);if(!(e<0)){if(e>0){const t=window.performance.now();[].push.apply(this._physicalItems,this._createPool(e));for(let t=0;t<e;t++)this._physicalSizes.push(0);this._physicalCount+=e,this._physicalStart>this._physicalEnd&&this._isIndexRendered(this._focusedVirtualIndex)&&this._getPhysicalIndex(this._focusedVirtualIndex)<this._physicalEnd&&(this._physicalStart+=e),this._update(),this._templateCost=(window.performance.now()-t)/e,i=Math.round(.5*this._physicalCount)}this._virtualEnd>=this._virtualCount-1||0===i||(this._isClientFull()?this._physicalSize<this._optPhysicalSize&&this._debounce("_increasePoolIfNeeded",this._increasePoolIfNeeded.bind(this,this._clamp(Math.round(50/this._templateCost),1,i)),s.g8):this._debounce("_increasePoolIfNeeded",this._increasePoolIfNeeded.bind(this,i),s._3))}},_render(){if(this.isAttached&&this._isVisible)if(0!==this._physicalCount){const t=this._getReusables(!0);this._physicalTop=t.physicalTop,this._virtualStart+=t.indexes.length,this._physicalStart+=t.indexes.length,this._update(t.indexes),this._update(),this._increasePoolIfNeeded(0)}else this._virtualCount>0&&(this.updateViewportBoundaries(),this._increasePoolIfNeeded(3))},_itemsChanged(t){"items"===t.path&&(this._virtualStart=0,this._physicalTop=0,this._virtualCount=this.items?this.items.length:0,this._physicalIndexForKey={},this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null,this._physicalItems||(this._physicalItems=[]),this._physicalSizes||(this._physicalSizes=[]),this._physicalStart=0,this._scrollTop>this._scrollOffset&&this._resetScrollPosition(0),this._debounce("_render",this._render,s.G$))},_iterateItems(t,e){let i,s,l,h;if(2===arguments.length&&e){for(h=0;h<e.length;h++)if(i=e[h],s=this._computeVidx(i),null!=(l=t.call(this,i,s)))return l}else{for(i=this._physicalStart,s=this._virtualStart;i<this._physicalCount;i++,s++)if(null!=(l=t.call(this,i,s)))return l;for(i=0;i<this._physicalStart;i++,s++)if(null!=(l=t.call(this,i,s)))return l}},_computeVidx(t){return t>=this._physicalStart?this._virtualStart+(t-this._physicalStart):this._virtualStart+(this._physicalCount-this._physicalStart)+t},_positionItems(){this._adjustScrollPosition();let t=this._physicalTop;this._iterateItems((e=>{this.translate3d(0,`${t}px`,0,this._physicalItems[e]),t+=this._physicalSizes[e]}))},_getPhysicalSizeIncrement(t){return this._physicalSizes[t]},_adjustScrollPosition(){const t=0===this._virtualStart?this._physicalTop:Math.min(this._scrollPosition+this._physicalTop,0);if(0!==t){this._physicalTop-=t;const e=this._scrollPosition;!o&&e>0&&this._resetScrollPosition(e-t)}},_resetScrollPosition(t){this.scrollTarget&&t>=0&&(this._scrollTop=t,this._scrollPosition=this._scrollTop)},_updateScrollerSize(t){const e=this._physicalBottom+Math.max(this._virtualCount-this._physicalCount-this._virtualStart,0)*this._physicalAverage;this._estScrollHeight=e,(t||0===this._scrollHeight||this._scrollPosition>=e-this._physicalSize||Math.abs(e-this._scrollHeight)>=this._viewportHeight)&&(this.$.items.style.height=`${e}px`,this._scrollHeight=e)},scrollToIndex(t){if("number"!=typeof t||t<0||t>this.items.length-1)return;if((0,h.bX)(),0===this._physicalCount)return;t=this._clamp(t,0,this._virtualCount-1),(!this._isIndexRendered(t)||t>=this._maxVirtualStart)&&(this._virtualStart=t-1),this._assignModels(),this._updateMetrics(),this._physicalTop=this._virtualStart*this._physicalAverage;let e=this._physicalStart,i=this._virtualStart,s=0;const l=this._hiddenContentSize;for(;i<t&&s<=l;)s+=this._getPhysicalSizeIncrement(e),e=(e+1)%this._physicalCount,i+=1;this._updateScrollerSize(!0),this._positionItems(),this._resetScrollPosition(this._physicalTop+this._scrollOffset+s),this._increasePoolIfNeeded(0),this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null},_resetAverage(){this._physicalAverage=0,this._physicalAverageCount=0},_resizeHandler(){this._debounce("_render",(()=>{this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null,this._isVisible?(this.updateViewportBoundaries(),this.toggleScrollListener(!0),this._resetAverage(),this._render()):this.toggleScrollListener(!1)}),s.G$)},_isIndexRendered(t){return t>=this._virtualStart&&t<=this._virtualEnd},_getPhysicalIndex(t){return(this._physicalStart+(t-this._virtualStart))%this._physicalCount},_clamp:(t,e,i)=>Math.min(i,Math.max(e,t)),_debounce(t,e,i){this._debouncers||(this._debouncers={}),this._debouncers[t]=h.aq.debounce(this._debouncers[t],i,e.bind(this)),(0,h.Oy)(this._debouncers[t])}},n=1e3;class _{constructor({createElements:t,updateElement:e,scrollTarget:i,scrollContainer:s,elementsContainer:l,reorderElements:h}){this.isAttached=!0,this._vidxOffset=0,this.createElements=t,this.updateElement=e,this.scrollTarget=i,this.scrollContainer=s,this.elementsContainer=l||s,this.reorderElements=h,this._maxPages=1.3,this.__placeholderHeight=200,this.__elementHeightQueue=Array(10),this.timeouts={SCROLL_REORDER:500,IGNORE_WHEEL:500,FIX_INVALID_ITEM_POSITIONING:100},this.__resizeObserver=new ResizeObserver((()=>this._resizeHandler())),"visible"===getComputedStyle(this.scrollTarget).overflow&&(this.scrollTarget.style.overflow="auto"),"static"===getComputedStyle(this.scrollContainer).position&&(this.scrollContainer.style.position="relative"),this.__resizeObserver.observe(this.scrollTarget),this.scrollTarget.addEventListener("scroll",(()=>this._scrollHandler())),this._scrollLineHeight=this._getScrollLineHeight(),this.scrollTarget.addEventListener("wheel",(t=>this.__onWheel(t))),this.reorderElements&&(this.scrollTarget.addEventListener("mousedown",(()=>{this.__mouseDown=!0})),this.scrollTarget.addEventListener("mouseup",(()=>{this.__mouseDown=!1,this.__pendingReorder&&this.__reorderElements()})))}get scrollOffset(){return 0}get adjustedFirstVisibleIndex(){return this.firstVisibleIndex+this._vidxOffset}get adjustedLastVisibleIndex(){return this.lastVisibleIndex+this._vidxOffset}get _maxVirtualIndexOffset(){return this.size-this._virtualCount}__hasPlaceholders(){return this.__getVisibleElements().some((t=>t.__virtualizerPlaceholder))}scrollToIndex(t){if("number"!=typeof t||isNaN(t)||0===this.size||!this.scrollTarget.offsetHeight)return;delete this.__pendingScrollToIndex,this._physicalCount<=3&&this.flush(),t=this._clamp(t,0,this.size-1);const e=this.__getVisibleElements().length;let i=Math.floor(t/this.size*this._virtualCount);this._virtualCount-i<e?(i=this._virtualCount-(this.size-t),this._vidxOffset=this._maxVirtualIndexOffset):i<e?t<n?(i=t,this._vidxOffset=0):(i=n,this._vidxOffset=t-i):this._vidxOffset=t-i,this.__skipNextVirtualIndexAdjust=!0,super.scrollToIndex(i),this.adjustedFirstVisibleIndex!==t&&this._scrollTop<this._maxScrollTop&&!this.grid&&(this._scrollTop-=this.__getIndexScrollOffset(t)||0),this._scrollHandler(),this.__hasPlaceholders()&&(this.__pendingScrollToIndex=t)}flush(){const t=this._physicalCount;0!==this.scrollTarget.offsetHeight&&(this._resizeHandler(),(0,h.bX)(),this._scrollHandler(),this.__fixInvalidItemPositioningDebouncer&&this.__fixInvalidItemPositioningDebouncer.flush(),this.__scrollReorderDebouncer&&this.__scrollReorderDebouncer.flush(),this.__debouncerWheelAnimationFrame&&this.__debouncerWheelAnimationFrame.flush(),this._physicalCount!==t&&this.flush())}update(t=0,e=this.size-1){const i=[];this.__getVisibleElements().forEach((s=>{s.__virtualIndex>=t&&s.__virtualIndex<=e&&(this.__updateElement(s,s.__virtualIndex,!0),i.push(s))})),this.__afterElementsUpdated(i)}_updateMetrics(t){(0,h.bX)();let e=0,i=0;const s=this._physicalAverageCount,l=this._physicalAverage;this._iterateItems(((t,s)=>{i+=this._physicalSizes[t],this._physicalSizes[t]=Math.ceil(this.__getBorderBoxHeight(this._physicalItems[t])),e+=this._physicalSizes[t],this._physicalAverageCount+=this._physicalSizes[t]?1:0}),t),this._physicalSize=this._physicalSize+e-i,this._physicalAverageCount!==s&&(this._physicalAverage=Math.round((l*s+e)/this._physicalAverageCount))}__getBorderBoxHeight(t){const e=getComputedStyle(t),i=parseFloat(e.height)||0;return"border-box"===e.boxSizing?i:i+(parseFloat(e.paddingBottom)||0)+(parseFloat(e.paddingTop)||0)+(parseFloat(e.borderBottomWidth)||0)+(parseFloat(e.borderTopWidth)||0)}__updateElement(t,e,i){t.__virtualizerPlaceholder&&(t.style.paddingTop="",t.__virtualizerPlaceholder=!1),this.__preventElementUpdates||t.__lastUpdatedIndex===e&&!i||(this.updateElement(t,e),t.__lastUpdatedIndex=e)}__afterElementsUpdated(t){t.forEach((t=>{const e=t.offsetHeight;if(0===e)t.style.paddingTop=`${this.__placeholderHeight}px`,t.__virtualizerPlaceholder=!0,this.__placeholderClearDebouncer=h.aq.debounce(this.__placeholderClearDebouncer,s.G$,(()=>this._resizeHandler()));else{this.__elementHeightQueue.push(e),this.__elementHeightQueue.shift();const t=this.__elementHeightQueue.filter((t=>void 0!==t));this.__placeholderHeight=Math.round(t.reduce(((t,e)=>t+e),0)/t.length)}})),void 0===this.__pendingScrollToIndex||this.__hasPlaceholders()||this.scrollToIndex(this.__pendingScrollToIndex)}__getIndexScrollOffset(t){const e=this.__getVisibleElements().find((e=>e.__virtualIndex===t));return e?this.scrollTarget.getBoundingClientRect().top-e.getBoundingClientRect().top:void 0}get size(){return this.__size}set size(t){if(t===this.size)return;let e,i;if(this.__fixInvalidItemPositioningDebouncer&&this.__fixInvalidItemPositioningDebouncer.cancel(),this._debouncers&&this._debouncers._increasePoolIfNeeded&&this._debouncers._increasePoolIfNeeded.cancel(),this.__preventElementUpdates=!0,t>0&&(e=this.adjustedFirstVisibleIndex,i=this.__getIndexScrollOffset(e)),this.__size=t,this._itemsChanged({path:"items"}),(0,h.bX)(),t>0){e=Math.min(e,t-1),this.scrollToIndex(e);const s=this.__getIndexScrollOffset(e);void 0!==i&&void 0!==s&&(this._scrollTop+=i-s)}this.__preventElementUpdates=!1,this._isVisible||this._assignModels(),this.elementsContainer.children.length||requestAnimationFrame((()=>this._resizeHandler())),this._resizeHandler(),(0,h.bX)(),this._debounce("_update",this._update,s._3)}get _scrollTop(){return this.scrollTarget.scrollTop}set _scrollTop(t){this.scrollTarget.scrollTop=t}get items(){return{length:Math.min(this.size,1e5)}}get offsetHeight(){return this.scrollTarget.offsetHeight}get $(){return{items:this.scrollContainer}}updateViewportBoundaries(){const t=window.getComputedStyle(this.scrollTarget);this._scrollerPaddingTop=this.scrollTarget===this?0:parseInt(t["padding-top"],10),this._isRTL=Boolean("rtl"===t.direction),this._viewportWidth=this.elementsContainer.offsetWidth,this._viewportHeight=this.scrollTarget.offsetHeight,this._scrollPageHeight=this._viewportHeight-this._scrollLineHeight,this.grid&&this._updateGridMetrics()}setAttribute(){}_createPool(t){const e=this.createElements(t),i=document.createDocumentFragment();return e.forEach((t=>{t.style.position="absolute",i.appendChild(t),this.__resizeObserver.observe(t)})),this.elementsContainer.appendChild(i),e}_assignModels(t){const e=[];this._iterateItems(((t,i)=>{const s=this._physicalItems[t];s.hidden=i>=this.size,s.hidden?delete s.__lastUpdatedIndex:(s.__virtualIndex=i+(this._vidxOffset||0),this.__updateElement(s,s.__virtualIndex),e.push(s))}),t),this.__afterElementsUpdated(e)}_isClientFull(){return setTimeout((()=>{this.__clientFull=!0})),this.__clientFull||super._isClientFull()}translate3d(t,e,i,s){s.style.transform=`translateY(${e})`}toggleScrollListener(){}_scrollHandler(){if(0===this.scrollTarget.offsetHeight)return;this._adjustVirtualIndexOffset(this._scrollTop-(this.__previousScrollTop||0));const t=this.scrollTarget.scrollTop-this._scrollPosition;if(super._scrollHandler(),0!==this._physicalCount){const e=t>=0,i=this._getReusables(!e);i.indexes.length&&(this._physicalTop=i.physicalTop,e?(this._virtualStart-=i.indexes.length,this._physicalStart-=i.indexes.length):(this._virtualStart+=i.indexes.length,this._physicalStart+=i.indexes.length),this._resizeHandler())}t&&(this.__fixInvalidItemPositioningDebouncer=h.aq.debounce(this.__fixInvalidItemPositioningDebouncer,s.EV.after(this.timeouts.FIX_INVALID_ITEM_POSITIONING),(()=>this.__fixInvalidItemPositioning()))),this.reorderElements&&(this.__scrollReorderDebouncer=h.aq.debounce(this.__scrollReorderDebouncer,s.EV.after(this.timeouts.SCROLL_REORDER),(()=>this.__reorderElements()))),this.__previousScrollTop=this._scrollTop,0===this._scrollTop&&0!==this.firstVisibleIndex&&Math.abs(t)>0&&this.scrollToIndex(0)}__fixInvalidItemPositioning(){if(!this.scrollTarget.isConnected)return;const t=this._physicalTop>this._scrollTop,e=this._physicalBottom<this._scrollBottom,i=0===this.adjustedFirstVisibleIndex,s=this.adjustedLastVisibleIndex===this.size-1;if(t&&!i||e&&!s){const t=e,i=this._ratio;this._ratio=0,this._scrollPosition=this._scrollTop+(t?-1:1),this._scrollHandler(),this._ratio=i}}__onWheel(t){if(t.ctrlKey||this._hasScrolledAncestor(t.target,t.deltaX,t.deltaY))return;let e=t.deltaY;if(t.deltaMode===WheelEvent.DOM_DELTA_LINE?e*=this._scrollLineHeight:t.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(e*=this._scrollPageHeight),this._deltaYAcc||(this._deltaYAcc=0),this._wheelAnimationFrame)return this._deltaYAcc+=e,void t.preventDefault();e+=this._deltaYAcc,this._deltaYAcc=0,this._wheelAnimationFrame=!0,this.__debouncerWheelAnimationFrame=h.aq.debounce(this.__debouncerWheelAnimationFrame,s.G$,(()=>{this._wheelAnimationFrame=!1}));const i=Math.abs(t.deltaX)+Math.abs(e);this._canScroll(this.scrollTarget,t.deltaX,e)?(t.preventDefault(),this.scrollTarget.scrollTop+=e,this.scrollTarget.scrollLeft+=t.deltaX,this._hasResidualMomentum=!0,this._ignoreNewWheel=!0,this._debouncerIgnoreNewWheel=h.aq.debounce(this._debouncerIgnoreNewWheel,s.EV.after(this.timeouts.IGNORE_WHEEL),(()=>{this._ignoreNewWheel=!1}))):this._hasResidualMomentum&&i<=this._previousMomentum||this._ignoreNewWheel?t.preventDefault():i>this._previousMomentum&&(this._hasResidualMomentum=!1),this._previousMomentum=i}_hasScrolledAncestor(t,e,i){return t!==this.scrollTarget&&t!==this.scrollTarget.getRootNode().host&&(!(!this._canScroll(t,e,i)||-1===["auto","scroll"].indexOf(getComputedStyle(t).overflow))||(t!==this&&t.parentElement?this._hasScrolledAncestor(t.parentElement,e,i):void 0))}_canScroll(t,e,i){return i>0&&t.scrollTop<t.scrollHeight-t.offsetHeight||i<0&&t.scrollTop>0||e>0&&t.scrollLeft<t.scrollWidth-t.offsetWidth||e<0&&t.scrollLeft>0}_increasePoolIfNeeded(t){if(this._physicalCount>2&&t){const e=Math.ceil(this._optPhysicalSize/this._physicalAverage)-this._physicalCount;super._increasePoolIfNeeded(Math.max(t,Math.min(100,e)))}else super._increasePoolIfNeeded(t)}_getScrollLineHeight(){const t=document.createElement("div");t.style.fontSize="initial",t.style.display="none",document.body.appendChild(t);const e=window.getComputedStyle(t).fontSize;return document.body.removeChild(t),e?window.parseInt(e):void 0}__getVisibleElements(){return Array.from(this.elementsContainer.children).filter((t=>!t.hidden))}__reorderElements(){if(this.__mouseDown)return void(this.__pendingReorder=!0);this.__pendingReorder=!1;const t=this._virtualStart+(this._vidxOffset||0),e=this.__getVisibleElements(),i=e.find((t=>t.contains(this.elementsContainer.getRootNode().activeElement)||t.contains(this.scrollTarget.getRootNode().activeElement)))||e[0];if(!i)return;const s=i.__virtualIndex-t,h=e.indexOf(i)-s;if(h>0)for(let t=0;t<h;t++)this.elementsContainer.appendChild(e[t]);else if(h<0)for(let t=e.length+h;t<e.length;t++)this.elementsContainer.insertBefore(e[t],e[0]);if(l.nr){const{transform:t}=this.scrollTarget.style;this.scrollTarget.style.transform="translateZ(0)",setTimeout((()=>{this.scrollTarget.style.transform=t}))}}_adjustVirtualIndexOffset(t){const e=this._maxVirtualIndexOffset;if(this._virtualCount>=this.size)this._vidxOffset=0;else if(this.__skipNextVirtualIndexAdjust)this.__skipNextVirtualIndexAdjust=!1;else if(Math.abs(t)>1e4){const t=this._scrollTop/(this.scrollTarget.scrollHeight-this.scrollTarget.clientHeight);this._vidxOffset=Math.round(t*e)}else{const t=this._vidxOffset,i=n,s=100;0===this._scrollTop?(this._vidxOffset=0,t!==this._vidxOffset&&super.scrollToIndex(0)):this.firstVisibleIndex<i&&this._vidxOffset>0&&(this._vidxOffset-=Math.min(this._vidxOffset,s),super.scrollToIndex(this.firstVisibleIndex+(t-this._vidxOffset))),this._scrollTop>=this._maxScrollTop&&this._maxScrollTop>0?(this._vidxOffset=e,t!==this._vidxOffset&&super.scrollToIndex(this._virtualCount-1)):this.firstVisibleIndex>this._virtualCount-i&&this._vidxOffset<e&&(this._vidxOffset+=Math.min(e-this._vidxOffset,s),super.scrollToIndex(this.firstVisibleIndex-(this._vidxOffset-t)))}}}Object.setPrototypeOf(_.prototype,a);class c{constructor(t){this.__adapter=new _(t)}get firstVisibleIndex(){return this.__adapter.adjustedFirstVisibleIndex}get lastVisibleIndex(){return this.__adapter.adjustedLastVisibleIndex}get size(){return this.__adapter.size}set size(t){this.__adapter.size=t}scrollToIndex(t){this.__adapter.scrollToIndex(t)}update(t=0,e=this.size-1){this.__adapter.update(t,e)}flush(){this.__adapter.flush()}}},21860:(t,e,i)=>{i.d(e,{f:()=>l});var s=i(95925);class l extends s.r{constructor(t,e){super(t,"input","input",{initializer:(t,i)=>{i.value&&(t.value=i.value),i.type&&t.setAttribute("type",i.type),t.id=this.defaultId,"function"==typeof e&&e(t)},useUniqueId:!0})}}}}]);
|
1
|
+
/*! For license information please see 4914.js.LICENSE.txt */
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[4914],{85725:(t,e,i)=>{function s(t,e){return t.split(".").reduce(((t,e)=>t?t[e]:void 0),e)}i.d(e,{J:()=>s})},21255:(t,e,i)=>{function s(t){window.Vaadin&&window.Vaadin.templateRendererCallback?window.Vaadin.templateRendererCallback(t):t.querySelector("template")&&console.warn(`WARNING: <template> inside <${t.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`)}i.d(e,{h:()=>s})},30875:(t,e,i)=>{i.d(e,{Y:()=>c});var s=i(62804),l=i(4080),h=i(76685);const r=navigator.userAgent.match(/iP(?:hone|ad;(?: U;)? CPU) OS (\d+)/u),o=r&&r[1]>=8,a={_ratio:.5,_scrollerPaddingTop:0,_scrollPosition:0,_physicalSize:0,_physicalAverage:0,_physicalAverageCount:0,_physicalTop:0,_virtualCount:0,_estScrollHeight:0,_scrollHeight:0,_viewportHeight:0,_viewportWidth:0,_physicalItems:null,_physicalSizes:null,_firstVisibleIndexVal:null,_lastVisibleIndexVal:null,_maxPages:2,_templateCost:0,get _physicalBottom(){return this._physicalTop+this._physicalSize},get _scrollBottom(){return this._scrollPosition+this._viewportHeight},get _virtualEnd(){return this._virtualStart+this._physicalCount-1},get _hiddenContentSize(){return this._physicalSize-this._viewportHeight},get _maxScrollTop(){return this._estScrollHeight-this._viewportHeight+this._scrollOffset},get _maxVirtualStart(){const t=this._virtualCount;return Math.max(0,t-this._physicalCount)},get _virtualStart(){return this._virtualStartVal||0},set _virtualStart(t){t=this._clamp(t,0,this._maxVirtualStart),this._virtualStartVal=t},get _physicalStart(){return this._physicalStartVal||0},set _physicalStart(t){(t%=this._physicalCount)<0&&(t=this._physicalCount+t),this._physicalStartVal=t},get _physicalEnd(){return(this._physicalStart+this._physicalCount-1)%this._physicalCount},get _physicalCount(){return this._physicalCountVal||0},set _physicalCount(t){this._physicalCountVal=t},get _optPhysicalSize(){return 0===this._viewportHeight?1/0:this._viewportHeight*this._maxPages},get _isVisible(){return Boolean(this.offsetWidth||this.offsetHeight)},get firstVisibleIndex(){let t=this._firstVisibleIndexVal;if(null==t){let e=this._physicalTop+this._scrollOffset;t=this._iterateItems(((t,i)=>{if(e+=this._getPhysicalSizeIncrement(t),e>this._scrollPosition)return i}))||0,this._firstVisibleIndexVal=t}return t},get lastVisibleIndex(){let t=this._lastVisibleIndexVal;if(null==t){let e=this._physicalTop+this._scrollOffset;this._iterateItems(((i,s)=>{e<this._scrollBottom&&(t=s),e+=this._getPhysicalSizeIncrement(i)})),this._lastVisibleIndexVal=t}return t},get _scrollOffset(){return this._scrollerPaddingTop+this.scrollOffset},_scrollHandler(){const t=Math.max(0,Math.min(this._maxScrollTop,this._scrollTop));let e=t-this._scrollPosition;const i=e>=0;if(this._scrollPosition=t,this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null,Math.abs(e)>this._physicalSize&&this._physicalSize>0){e-=this._scrollOffset;const t=Math.round(e/this._physicalAverage);this._virtualStart+=t,this._physicalStart+=t,this._physicalTop=Math.min(Math.floor(this._virtualStart)*this._physicalAverage,this._scrollPosition),this._update()}else if(this._physicalCount>0){const t=this._getReusables(i);i?(this._physicalTop=t.physicalTop,this._virtualStart+=t.indexes.length,this._physicalStart+=t.indexes.length):(this._virtualStart-=t.indexes.length,this._physicalStart-=t.indexes.length),this._update(t.indexes,i?null:t.indexes),this._debounce("_increasePoolIfNeeded",this._increasePoolIfNeeded.bind(this,0),s._3)}},_getReusables(t){let e,i,s;const l=[],h=this._hiddenContentSize*this._ratio,r=this._virtualStart,o=this._virtualEnd,a=this._physicalCount;let n=this._physicalTop+this._scrollOffset;const _=this._physicalBottom+this._scrollOffset,c=this._scrollPosition,d=this._scrollBottom;for(t?(e=this._physicalStart,i=c-n):(e=this._physicalEnd,i=_-d);s=this._getPhysicalSizeIncrement(e),i-=s,!(l.length>=a||i<=h);)if(t){if(o+l.length+1>=this._virtualCount)break;if(n+s>=c-this._scrollOffset)break;l.push(e),n+=s,e=(e+1)%a}else{if(r-l.length<=0)break;if(n+this._physicalSize-s<=d)break;l.push(e),n-=s,e=0===e?a-1:e-1}return{indexes:l,physicalTop:n-this._scrollOffset}},_update(t,e){if(!(t&&0===t.length||0===this._physicalCount)){if(this._assignModels(t),this._updateMetrics(t),e)for(;e.length;){const t=e.pop();this._physicalTop-=this._getPhysicalSizeIncrement(t)}this._positionItems(),this._updateScrollerSize()}},_isClientFull(){return 0!==this._scrollBottom&&this._physicalBottom-1>=this._scrollBottom&&this._physicalTop<=this._scrollPosition},_increasePoolIfNeeded(t){const e=this._clamp(this._physicalCount+t,3,this._virtualCount-this._virtualStart)-this._physicalCount;let i=Math.round(.5*this._physicalCount);if(!(e<0)){if(e>0){const t=window.performance.now();[].push.apply(this._physicalItems,this._createPool(e));for(let t=0;t<e;t++)this._physicalSizes.push(0);this._physicalCount+=e,this._physicalStart>this._physicalEnd&&this._isIndexRendered(this._focusedVirtualIndex)&&this._getPhysicalIndex(this._focusedVirtualIndex)<this._physicalEnd&&(this._physicalStart+=e),this._update(),this._templateCost=(window.performance.now()-t)/e,i=Math.round(.5*this._physicalCount)}this._virtualEnd>=this._virtualCount-1||0===i||(this._isClientFull()?this._physicalSize<this._optPhysicalSize&&this._debounce("_increasePoolIfNeeded",this._increasePoolIfNeeded.bind(this,this._clamp(Math.round(50/this._templateCost),1,i)),s.g8):this._debounce("_increasePoolIfNeeded",this._increasePoolIfNeeded.bind(this,i),s._3))}},_render(){if(this.isAttached&&this._isVisible)if(0!==this._physicalCount){const t=this._getReusables(!0);this._physicalTop=t.physicalTop,this._virtualStart+=t.indexes.length,this._physicalStart+=t.indexes.length,this._update(t.indexes),this._update(),this._increasePoolIfNeeded(0)}else this._virtualCount>0&&(this.updateViewportBoundaries(),this._increasePoolIfNeeded(3))},_itemsChanged(t){"items"===t.path&&(this._virtualStart=0,this._physicalTop=0,this._virtualCount=this.items?this.items.length:0,this._physicalIndexForKey={},this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null,this._physicalItems||(this._physicalItems=[]),this._physicalSizes||(this._physicalSizes=[]),this._physicalStart=0,this._scrollTop>this._scrollOffset&&this._resetScrollPosition(0),this._debounce("_render",this._render,s.G$))},_iterateItems(t,e){let i,s,l,h;if(2===arguments.length&&e){for(h=0;h<e.length;h++)if(i=e[h],s=this._computeVidx(i),null!=(l=t.call(this,i,s)))return l}else{for(i=this._physicalStart,s=this._virtualStart;i<this._physicalCount;i++,s++)if(null!=(l=t.call(this,i,s)))return l;for(i=0;i<this._physicalStart;i++,s++)if(null!=(l=t.call(this,i,s)))return l}},_computeVidx(t){return t>=this._physicalStart?this._virtualStart+(t-this._physicalStart):this._virtualStart+(this._physicalCount-this._physicalStart)+t},_positionItems(){this._adjustScrollPosition();let t=this._physicalTop;this._iterateItems((e=>{this.translate3d(0,`${t}px`,0,this._physicalItems[e]),t+=this._physicalSizes[e]}))},_getPhysicalSizeIncrement(t){return this._physicalSizes[t]},_adjustScrollPosition(){const t=0===this._virtualStart?this._physicalTop:Math.min(this._scrollPosition+this._physicalTop,0);if(0!==t){this._physicalTop-=t;const e=this._scrollPosition;!o&&e>0&&this._resetScrollPosition(e-t)}},_resetScrollPosition(t){this.scrollTarget&&t>=0&&(this._scrollTop=t,this._scrollPosition=this._scrollTop)},_updateScrollerSize(t){const e=this._physicalBottom+Math.max(this._virtualCount-this._physicalCount-this._virtualStart,0)*this._physicalAverage;this._estScrollHeight=e,(t||0===this._scrollHeight||this._scrollPosition>=e-this._physicalSize||Math.abs(e-this._scrollHeight)>=this._viewportHeight)&&(this.$.items.style.height=`${e}px`,this._scrollHeight=e)},scrollToIndex(t){if("number"!=typeof t||t<0||t>this.items.length-1)return;if((0,h.bX)(),0===this._physicalCount)return;t=this._clamp(t,0,this._virtualCount-1),(!this._isIndexRendered(t)||t>=this._maxVirtualStart)&&(this._virtualStart=t-1),this._assignModels(),this._updateMetrics(),this._physicalTop=this._virtualStart*this._physicalAverage;let e=this._physicalStart,i=this._virtualStart,s=0;const l=this._hiddenContentSize;for(;i<t&&s<=l;)s+=this._getPhysicalSizeIncrement(e),e=(e+1)%this._physicalCount,i+=1;this._updateScrollerSize(!0),this._positionItems(),this._resetScrollPosition(this._physicalTop+this._scrollOffset+s),this._increasePoolIfNeeded(0),this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null},_resetAverage(){this._physicalAverage=0,this._physicalAverageCount=0},_resizeHandler(){this._debounce("_render",(()=>{this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null,this._isVisible?(this.updateViewportBoundaries(),this.toggleScrollListener(!0),this._resetAverage(),this._render()):this.toggleScrollListener(!1)}),s.G$)},_isIndexRendered(t){return t>=this._virtualStart&&t<=this._virtualEnd},_getPhysicalIndex(t){return(this._physicalStart+(t-this._virtualStart))%this._physicalCount},_clamp:(t,e,i)=>Math.min(i,Math.max(e,t)),_debounce(t,e,i){this._debouncers||(this._debouncers={}),this._debouncers[t]=h.aq.debounce(this._debouncers[t],i,e.bind(this)),(0,h.Oy)(this._debouncers[t])}},n=1e3;class _{constructor({createElements:t,updateElement:e,scrollTarget:i,scrollContainer:s,elementsContainer:l,reorderElements:h}){this.isAttached=!0,this._vidxOffset=0,this.createElements=t,this.updateElement=e,this.scrollTarget=i,this.scrollContainer=s,this.elementsContainer=l||s,this.reorderElements=h,this._maxPages=1.3,this.__placeholderHeight=200,this.__elementHeightQueue=Array(10),this.timeouts={SCROLL_REORDER:500,IGNORE_WHEEL:500,FIX_INVALID_ITEM_POSITIONING:100},this.__resizeObserver=new ResizeObserver((()=>this._resizeHandler())),"visible"===getComputedStyle(this.scrollTarget).overflow&&(this.scrollTarget.style.overflow="auto"),"static"===getComputedStyle(this.scrollContainer).position&&(this.scrollContainer.style.position="relative"),this.__resizeObserver.observe(this.scrollTarget),this.scrollTarget.addEventListener("scroll",(()=>this._scrollHandler())),this._scrollLineHeight=this._getScrollLineHeight(),this.scrollTarget.addEventListener("wheel",(t=>this.__onWheel(t))),this.reorderElements&&(this.scrollTarget.addEventListener("mousedown",(()=>{this.__mouseDown=!0})),this.scrollTarget.addEventListener("mouseup",(()=>{this.__mouseDown=!1,this.__pendingReorder&&this.__reorderElements()})))}get scrollOffset(){return 0}get adjustedFirstVisibleIndex(){return this.firstVisibleIndex+this._vidxOffset}get adjustedLastVisibleIndex(){return this.lastVisibleIndex+this._vidxOffset}get _maxVirtualIndexOffset(){return this.size-this._virtualCount}__hasPlaceholders(){return this.__getVisibleElements().some((t=>t.__virtualizerPlaceholder))}scrollToIndex(t){if("number"!=typeof t||isNaN(t)||0===this.size||!this.scrollTarget.offsetHeight)return;delete this.__pendingScrollToIndex,this._physicalCount<=3&&this.flush(),t=this._clamp(t,0,this.size-1);const e=this.__getVisibleElements().length;let i=Math.floor(t/this.size*this._virtualCount);this._virtualCount-i<e?(i=this._virtualCount-(this.size-t),this._vidxOffset=this._maxVirtualIndexOffset):i<e?t<n?(i=t,this._vidxOffset=0):(i=n,this._vidxOffset=t-i):this._vidxOffset=t-i,this.__skipNextVirtualIndexAdjust=!0,super.scrollToIndex(i),this.adjustedFirstVisibleIndex!==t&&this._scrollTop<this._maxScrollTop&&!this.grid&&(this._scrollTop-=this.__getIndexScrollOffset(t)||0),this._scrollHandler(),this.__hasPlaceholders()&&(this.__pendingScrollToIndex=t)}flush(){const t=this._physicalCount;0!==this.scrollTarget.offsetHeight&&(this._resizeHandler(),(0,h.bX)(),this._scrollHandler(),this.__fixInvalidItemPositioningDebouncer&&this.__fixInvalidItemPositioningDebouncer.flush(),this.__scrollReorderDebouncer&&this.__scrollReorderDebouncer.flush(),this.__debouncerWheelAnimationFrame&&this.__debouncerWheelAnimationFrame.flush(),this._physicalCount!==t&&this.flush())}update(t=0,e=this.size-1){const i=[];this.__getVisibleElements().forEach((s=>{s.__virtualIndex>=t&&s.__virtualIndex<=e&&(this.__updateElement(s,s.__virtualIndex,!0),i.push(s))})),this.__afterElementsUpdated(i)}_updateMetrics(t){(0,h.bX)();let e=0,i=0;const s=this._physicalAverageCount,l=this._physicalAverage;this._iterateItems(((t,s)=>{i+=this._physicalSizes[t],this._physicalSizes[t]=Math.ceil(this.__getBorderBoxHeight(this._physicalItems[t])),e+=this._physicalSizes[t],this._physicalAverageCount+=this._physicalSizes[t]?1:0}),t),this._physicalSize=this._physicalSize+e-i,this._physicalAverageCount!==s&&(this._physicalAverage=Math.round((l*s+e)/this._physicalAverageCount))}__getBorderBoxHeight(t){const e=getComputedStyle(t),i=parseFloat(e.height)||0;return"border-box"===e.boxSizing?i:i+(parseFloat(e.paddingBottom)||0)+(parseFloat(e.paddingTop)||0)+(parseFloat(e.borderBottomWidth)||0)+(parseFloat(e.borderTopWidth)||0)}__updateElement(t,e,i){t.__virtualizerPlaceholder&&(t.style.paddingTop="",t.__virtualizerPlaceholder=!1),this.__preventElementUpdates||t.__lastUpdatedIndex===e&&!i||(this.updateElement(t,e),t.__lastUpdatedIndex=e)}__afterElementsUpdated(t){t.forEach((t=>{const e=t.offsetHeight;if(0===e)t.style.paddingTop=`${this.__placeholderHeight}px`,t.__virtualizerPlaceholder=!0,this.__placeholderClearDebouncer=h.aq.debounce(this.__placeholderClearDebouncer,s.G$,(()=>this._resizeHandler()));else{this.__elementHeightQueue.push(e),this.__elementHeightQueue.shift();const t=this.__elementHeightQueue.filter((t=>void 0!==t));this.__placeholderHeight=Math.round(t.reduce(((t,e)=>t+e),0)/t.length)}})),void 0===this.__pendingScrollToIndex||this.__hasPlaceholders()||this.scrollToIndex(this.__pendingScrollToIndex)}__getIndexScrollOffset(t){const e=this.__getVisibleElements().find((e=>e.__virtualIndex===t));return e?this.scrollTarget.getBoundingClientRect().top-e.getBoundingClientRect().top:void 0}get size(){return this.__size}set size(t){if(t===this.size)return;let e,i;if(this.__fixInvalidItemPositioningDebouncer&&this.__fixInvalidItemPositioningDebouncer.cancel(),this._debouncers&&this._debouncers._increasePoolIfNeeded&&this._debouncers._increasePoolIfNeeded.cancel(),this.__preventElementUpdates=!0,t>0&&(e=this.adjustedFirstVisibleIndex,i=this.__getIndexScrollOffset(e)),this.__size=t,this._itemsChanged({path:"items"}),(0,h.bX)(),t>0){e=Math.min(e,t-1),this.scrollToIndex(e);const s=this.__getIndexScrollOffset(e);void 0!==i&&void 0!==s&&(this._scrollTop+=i-s)}this.__preventElementUpdates=!1,this._isVisible||this._assignModels(),this.elementsContainer.children.length||requestAnimationFrame((()=>this._resizeHandler())),this._resizeHandler(),(0,h.bX)(),this._debounce("_update",this._update,s._3)}get _scrollTop(){return this.scrollTarget.scrollTop}set _scrollTop(t){this.scrollTarget.scrollTop=t}get items(){return{length:Math.min(this.size,1e5)}}get offsetHeight(){return this.scrollTarget.offsetHeight}get $(){return{items:this.scrollContainer}}updateViewportBoundaries(){const t=window.getComputedStyle(this.scrollTarget);this._scrollerPaddingTop=this.scrollTarget===this?0:parseInt(t["padding-top"],10),this._isRTL=Boolean("rtl"===t.direction),this._viewportWidth=this.elementsContainer.offsetWidth,this._viewportHeight=this.scrollTarget.offsetHeight,this._scrollPageHeight=this._viewportHeight-this._scrollLineHeight,this.grid&&this._updateGridMetrics()}setAttribute(){}_createPool(t){const e=this.createElements(t),i=document.createDocumentFragment();return e.forEach((t=>{t.style.position="absolute",i.appendChild(t),this.__resizeObserver.observe(t)})),this.elementsContainer.appendChild(i),e}_assignModels(t){const e=[];this._iterateItems(((t,i)=>{const s=this._physicalItems[t];s.hidden=i>=this.size,s.hidden?delete s.__lastUpdatedIndex:(s.__virtualIndex=i+(this._vidxOffset||0),this.__updateElement(s,s.__virtualIndex),e.push(s))}),t),this.__afterElementsUpdated(e)}_isClientFull(){return setTimeout((()=>{this.__clientFull=!0})),this.__clientFull||super._isClientFull()}translate3d(t,e,i,s){s.style.transform=`translateY(${e})`}toggleScrollListener(){}_scrollHandler(){if(0===this.scrollTarget.offsetHeight)return;this._adjustVirtualIndexOffset(this._scrollTop-(this.__previousScrollTop||0));const t=this.scrollTarget.scrollTop-this._scrollPosition;if(super._scrollHandler(),0!==this._physicalCount){const e=t>=0,i=this._getReusables(!e);i.indexes.length&&(this._physicalTop=i.physicalTop,e?(this._virtualStart-=i.indexes.length,this._physicalStart-=i.indexes.length):(this._virtualStart+=i.indexes.length,this._physicalStart+=i.indexes.length),this._resizeHandler())}t&&(this.__fixInvalidItemPositioningDebouncer=h.aq.debounce(this.__fixInvalidItemPositioningDebouncer,s.EV.after(this.timeouts.FIX_INVALID_ITEM_POSITIONING),(()=>this.__fixInvalidItemPositioning()))),this.reorderElements&&(this.__scrollReorderDebouncer=h.aq.debounce(this.__scrollReorderDebouncer,s.EV.after(this.timeouts.SCROLL_REORDER),(()=>this.__reorderElements()))),this.__previousScrollTop=this._scrollTop,0===this._scrollTop&&0!==this.firstVisibleIndex&&Math.abs(t)>0&&this.scrollToIndex(0)}__fixInvalidItemPositioning(){if(!this.scrollTarget.isConnected)return;const t=this._physicalTop>this._scrollTop,e=this._physicalBottom<this._scrollBottom,i=0===this.adjustedFirstVisibleIndex,s=this.adjustedLastVisibleIndex===this.size-1;if(t&&!i||e&&!s){const t=e,i=this._ratio;this._ratio=0,this._scrollPosition=this._scrollTop+(t?-1:1),this._scrollHandler(),this._ratio=i}}__onWheel(t){if(t.ctrlKey||this._hasScrolledAncestor(t.target,t.deltaX,t.deltaY))return;let e=t.deltaY;if(t.deltaMode===WheelEvent.DOM_DELTA_LINE?e*=this._scrollLineHeight:t.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(e*=this._scrollPageHeight),this._deltaYAcc||(this._deltaYAcc=0),this._wheelAnimationFrame)return this._deltaYAcc+=e,void t.preventDefault();e+=this._deltaYAcc,this._deltaYAcc=0,this._wheelAnimationFrame=!0,this.__debouncerWheelAnimationFrame=h.aq.debounce(this.__debouncerWheelAnimationFrame,s.G$,(()=>{this._wheelAnimationFrame=!1}));const i=Math.abs(t.deltaX)+Math.abs(e);this._canScroll(this.scrollTarget,t.deltaX,e)?(t.preventDefault(),this.scrollTarget.scrollTop+=e,this.scrollTarget.scrollLeft+=t.deltaX,this._hasResidualMomentum=!0,this._ignoreNewWheel=!0,this._debouncerIgnoreNewWheel=h.aq.debounce(this._debouncerIgnoreNewWheel,s.EV.after(this.timeouts.IGNORE_WHEEL),(()=>{this._ignoreNewWheel=!1}))):this._hasResidualMomentum&&i<=this._previousMomentum||this._ignoreNewWheel?t.preventDefault():i>this._previousMomentum&&(this._hasResidualMomentum=!1),this._previousMomentum=i}_hasScrolledAncestor(t,e,i){return t!==this.scrollTarget&&t!==this.scrollTarget.getRootNode().host&&(!(!this._canScroll(t,e,i)||-1===["auto","scroll"].indexOf(getComputedStyle(t).overflow))||(t!==this&&t.parentElement?this._hasScrolledAncestor(t.parentElement,e,i):void 0))}_canScroll(t,e,i){return i>0&&t.scrollTop<t.scrollHeight-t.offsetHeight||i<0&&t.scrollTop>0||e>0&&t.scrollLeft<t.scrollWidth-t.offsetWidth||e<0&&t.scrollLeft>0}_increasePoolIfNeeded(t){if(this._physicalCount>2&&t){const e=Math.ceil(this._optPhysicalSize/this._physicalAverage)-this._physicalCount;super._increasePoolIfNeeded(Math.max(t,Math.min(100,e)))}else super._increasePoolIfNeeded(t)}_getScrollLineHeight(){const t=document.createElement("div");t.style.fontSize="initial",t.style.display="none",document.body.appendChild(t);const e=window.getComputedStyle(t).fontSize;return document.body.removeChild(t),e?window.parseInt(e):void 0}__getVisibleElements(){return Array.from(this.elementsContainer.children).filter((t=>!t.hidden))}__reorderElements(){if(this.__mouseDown)return void(this.__pendingReorder=!0);this.__pendingReorder=!1;const t=this._virtualStart+(this._vidxOffset||0),e=this.__getVisibleElements(),i=e.find((t=>t.contains(this.elementsContainer.getRootNode().activeElement)||t.contains(this.scrollTarget.getRootNode().activeElement)))||e[0];if(!i)return;const s=i.__virtualIndex-t,h=e.indexOf(i)-s;if(h>0)for(let t=0;t<h;t++)this.elementsContainer.appendChild(e[t]);else if(h<0)for(let t=e.length+h;t<e.length;t++)this.elementsContainer.insertBefore(e[t],e[0]);if(l.nr){const{transform:t}=this.scrollTarget.style;this.scrollTarget.style.transform="translateZ(0)",setTimeout((()=>{this.scrollTarget.style.transform=t}))}}_adjustVirtualIndexOffset(t){const e=this._maxVirtualIndexOffset;if(this._virtualCount>=this.size)this._vidxOffset=0;else if(this.__skipNextVirtualIndexAdjust)this.__skipNextVirtualIndexAdjust=!1;else if(Math.abs(t)>1e4){const t=this._scrollTop/(this.scrollTarget.scrollHeight-this.scrollTarget.clientHeight);this._vidxOffset=Math.round(t*e)}else{const t=this._vidxOffset,i=n,s=100;0===this._scrollTop?(this._vidxOffset=0,t!==this._vidxOffset&&super.scrollToIndex(0)):this.firstVisibleIndex<i&&this._vidxOffset>0&&(this._vidxOffset-=Math.min(this._vidxOffset,s),super.scrollToIndex(this.firstVisibleIndex+(t-this._vidxOffset))),this._scrollTop>=this._maxScrollTop&&this._maxScrollTop>0?(this._vidxOffset=e,t!==this._vidxOffset&&super.scrollToIndex(this._virtualCount-1)):this.firstVisibleIndex>this._virtualCount-i&&this._vidxOffset<e&&(this._vidxOffset+=Math.min(e-this._vidxOffset,s),super.scrollToIndex(this.firstVisibleIndex-(this._vidxOffset-t)))}}}Object.setPrototypeOf(_.prototype,a);class c{constructor(t){this.__adapter=new _(t)}get firstVisibleIndex(){return this.__adapter.adjustedFirstVisibleIndex}get lastVisibleIndex(){return this.__adapter.adjustedLastVisibleIndex}get size(){return this.__adapter.size}set size(t){this.__adapter.size=t}scrollToIndex(t){this.__adapter.scrollToIndex(t)}update(t=0,e=this.size-1){this.__adapter.update(t,e)}flush(){this.__adapter.flush()}}},18330:(t,e,i)=>{i.d(e,{f:()=>l});var s=i(44099);class l extends s.r{constructor(t,e){super(t,"input","input",{initializer:(t,i)=>{i.value&&(t.value=i.value),i.type&&t.setAttribute("type",i.type),t.id=this.defaultId,"function"==typeof e&&e(t)},useUniqueId:!0})}}}}]);
|
3
|
+
//# sourceMappingURL=4914.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"4914.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/path-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/templates.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/iron-list-core.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/virtualizer-iron-list-adapter.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/virtualizer.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Convenience method for reading a value from a path.\n *\n * @param {string} path\n * @param {object} object\n */\nexport function get(path, object) {\n return path.split('.').reduce((obj, property) => (obj ? obj[property] : undefined), object);\n}\n\n/**\n * Convenience method for setting a value to a path.\n *\n * @param {string} path\n * @param {unknown} value\n * @param {object} object\n */\nexport function set(path, value, object) {\n const pathParts = path.split('.');\n const lastPart = pathParts.pop();\n const target = pathParts.reduce((target, part) => target[part], object);\n target[lastPart] = value;\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","/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\nimport { animationFrame, idlePeriod, microTask } from './async.js';\nimport { Debouncer, enqueueDebouncer, flush } from './debounce.js';\n\nconst IOS = navigator.userAgent.match(/iP(?:hone|ad;(?: U;)? CPU) OS (\\d+)/u);\nconst IOS_TOUCH_SCROLLING = IOS && IOS[1] >= 8;\nconst DEFAULT_PHYSICAL_COUNT = 3;\n\n/**\n * DO NOT EDIT THIS FILE!\n *\n * This file includes the iron-list scrolling engine copied from\n * https://github.com/PolymerElements/iron-list/blob/master/iron-list.js\n *\n * If something in the scrolling engine needs to be changed\n * for the virtualizer's purposes, override a function\n * in virtualizer-iron-list-adapter.js instead of changing it here.\n * If a function on this file is no longer needed, the code can be safely deleted.\n *\n * This will allow us to keep the iron-list code here as close to\n * the original as possible.\n */\nexport const ironList = {\n /**\n * The ratio of hidden tiles that should remain in the scroll direction.\n * Recommended value ~0.5, so it will distribute tiles evenly in both\n * directions.\n */\n _ratio: 0.5,\n\n /**\n * The padding-top value for the list.\n */\n _scrollerPaddingTop: 0,\n\n /**\n * This value is a cached value of `scrollTop` from the last `scroll` event.\n */\n _scrollPosition: 0,\n\n /**\n * The sum of the heights of all the tiles in the DOM.\n */\n _physicalSize: 0,\n\n /**\n * The average `offsetHeight` of the tiles observed till now.\n */\n _physicalAverage: 0,\n\n /**\n * The number of tiles which `offsetHeight` > 0 observed until now.\n */\n _physicalAverageCount: 0,\n\n /**\n * The Y position of the item rendered in the `_physicalStart`\n * tile relative to the scrolling list.\n */\n _physicalTop: 0,\n\n /**\n * The number of items in the list.\n */\n _virtualCount: 0,\n\n /**\n * The estimated scroll height based on `_physicalAverage`\n */\n _estScrollHeight: 0,\n\n /**\n * The scroll height of the dom node\n */\n _scrollHeight: 0,\n\n /**\n * The height of the list. This is referred as the viewport in the context of\n * list.\n */\n _viewportHeight: 0,\n\n /**\n * The width of the list. This is referred as the viewport in the context of\n * list.\n */\n _viewportWidth: 0,\n\n /**\n * An array of DOM nodes that are currently in the tree\n * @type {?Array<!HTMLElement>}\n */\n _physicalItems: null,\n\n /**\n * An array of heights for each item in `_physicalItems`\n * @type {?Array<number>}\n */\n _physicalSizes: null,\n\n /**\n * A cached value for the first visible index.\n * See `firstVisibleIndex`\n * @type {?number}\n */\n _firstVisibleIndexVal: null,\n\n /**\n * A cached value for the last visible index.\n * See `lastVisibleIndex`\n * @type {?number}\n */\n _lastVisibleIndexVal: null,\n\n /**\n * The max number of pages to render. One page is equivalent to the height of\n * the list.\n */\n _maxPages: 2,\n\n /**\n * The cost of stamping a template in ms.\n */\n _templateCost: 0,\n\n /**\n * The bottom of the physical content.\n */\n get _physicalBottom() {\n return this._physicalTop + this._physicalSize;\n },\n\n /**\n * The bottom of the scroll.\n */\n get _scrollBottom() {\n return this._scrollPosition + this._viewportHeight;\n },\n\n /**\n * The n-th item rendered in the last physical item.\n */\n get _virtualEnd() {\n return this._virtualStart + this._physicalCount - 1;\n },\n\n /**\n * The height of the physical content that isn't on the screen.\n */\n get _hiddenContentSize() {\n return this._physicalSize - this._viewportHeight;\n },\n\n /**\n * The maximum scroll top value.\n */\n get _maxScrollTop() {\n return this._estScrollHeight - this._viewportHeight + this._scrollOffset;\n },\n\n /**\n * The largest n-th value for an item such that it can be rendered in\n * `_physicalStart`.\n */\n get _maxVirtualStart() {\n const virtualCount = this._virtualCount;\n return Math.max(0, virtualCount - this._physicalCount);\n },\n\n get _virtualStart() {\n return this._virtualStartVal || 0;\n },\n\n set _virtualStart(val) {\n val = this._clamp(val, 0, this._maxVirtualStart);\n this._virtualStartVal = val;\n },\n\n get _physicalStart() {\n return this._physicalStartVal || 0;\n },\n\n /**\n * The k-th tile that is at the top of the scrolling list.\n */\n set _physicalStart(val) {\n val %= this._physicalCount;\n if (val < 0) {\n val = this._physicalCount + val;\n }\n this._physicalStartVal = val;\n },\n\n /**\n * The k-th tile that is at the bottom of the scrolling list.\n */\n get _physicalEnd() {\n return (this._physicalStart + this._physicalCount - 1) % this._physicalCount;\n },\n\n get _physicalCount() {\n return this._physicalCountVal || 0;\n },\n\n set _physicalCount(val) {\n this._physicalCountVal = val;\n },\n\n /**\n * An optimal physical size such that we will have enough physical items\n * to fill up the viewport and recycle when the user scrolls.\n *\n * This default value assumes that we will at least have the equivalent\n * to a viewport of physical items above and below the user's viewport.\n */\n get _optPhysicalSize() {\n return this._viewportHeight === 0 ? Infinity : this._viewportHeight * this._maxPages;\n },\n\n /**\n * True if the current list is visible.\n */\n get _isVisible() {\n return Boolean(this.offsetWidth || this.offsetHeight);\n },\n\n /**\n * Gets the index of the first visible item in the viewport.\n *\n * @type {number}\n */\n get firstVisibleIndex() {\n let idx = this._firstVisibleIndexVal;\n if (idx == null) {\n let physicalOffset = this._physicalTop + this._scrollOffset;\n\n idx =\n this._iterateItems((pidx, vidx) => {\n physicalOffset += this._getPhysicalSizeIncrement(pidx);\n\n if (physicalOffset > this._scrollPosition) {\n return vidx;\n }\n }) || 0;\n this._firstVisibleIndexVal = idx;\n }\n return idx;\n },\n\n /**\n * Gets the index of the last visible item in the viewport.\n *\n * @type {number}\n */\n get lastVisibleIndex() {\n let idx = this._lastVisibleIndexVal;\n if (idx == null) {\n let physicalOffset = this._physicalTop + this._scrollOffset;\n this._iterateItems((pidx, vidx) => {\n if (physicalOffset < this._scrollBottom) {\n idx = vidx;\n }\n physicalOffset += this._getPhysicalSizeIncrement(pidx);\n });\n\n this._lastVisibleIndexVal = idx;\n }\n return idx;\n },\n\n get _scrollOffset() {\n return this._scrollerPaddingTop + this.scrollOffset;\n },\n\n /**\n * Recycles the physical items when needed.\n */\n _scrollHandler() {\n const scrollTop = Math.max(0, Math.min(this._maxScrollTop, this._scrollTop));\n let delta = scrollTop - this._scrollPosition;\n const isScrollingDown = delta >= 0;\n // Track the current scroll position.\n this._scrollPosition = scrollTop;\n // Clear indexes for first and last visible indexes.\n this._firstVisibleIndexVal = null;\n this._lastVisibleIndexVal = null;\n // Random access.\n if (Math.abs(delta) > this._physicalSize && this._physicalSize > 0) {\n delta -= this._scrollOffset;\n const idxAdjustment = Math.round(delta / this._physicalAverage);\n this._virtualStart += idxAdjustment;\n this._physicalStart += idxAdjustment;\n // Estimate new physical offset based on the virtual start index.\n // adjusts the physical start position to stay in sync with the clamped\n // virtual start index. It's critical not to let this value be\n // more than the scroll position however, since that would result in\n // the physical items not covering the viewport, and leading to\n // _increasePoolIfNeeded to run away creating items to try to fill it.\n this._physicalTop = Math.min(Math.floor(this._virtualStart) * this._physicalAverage, this._scrollPosition);\n this._update();\n } else if (this._physicalCount > 0) {\n const reusables = this._getReusables(isScrollingDown);\n if (isScrollingDown) {\n this._physicalTop = reusables.physicalTop;\n this._virtualStart += reusables.indexes.length;\n this._physicalStart += reusables.indexes.length;\n } else {\n this._virtualStart -= reusables.indexes.length;\n this._physicalStart -= reusables.indexes.length;\n }\n this._update(reusables.indexes, isScrollingDown ? null : reusables.indexes);\n this._debounce('_increasePoolIfNeeded', this._increasePoolIfNeeded.bind(this, 0), microTask);\n }\n },\n\n /**\n * Returns an object that contains the indexes of the physical items\n * that might be reused and the physicalTop.\n *\n * @param {boolean} fromTop If the potential reusable items are above the scrolling region.\n */\n _getReusables(fromTop) {\n let ith, offsetContent, physicalItemHeight;\n const idxs = [];\n const protectedOffsetContent = this._hiddenContentSize * this._ratio;\n const virtualStart = this._virtualStart;\n const virtualEnd = this._virtualEnd;\n const physicalCount = this._physicalCount;\n let top = this._physicalTop + this._scrollOffset;\n const bottom = this._physicalBottom + this._scrollOffset;\n // This may be called outside of a scrollHandler, so use last cached position\n const scrollTop = this._scrollPosition;\n const scrollBottom = this._scrollBottom;\n\n if (fromTop) {\n ith = this._physicalStart;\n offsetContent = scrollTop - top;\n } else {\n ith = this._physicalEnd;\n offsetContent = bottom - scrollBottom;\n }\n // eslint-disable-next-line no-constant-condition\n while (true) {\n physicalItemHeight = this._getPhysicalSizeIncrement(ith);\n offsetContent -= physicalItemHeight;\n if (idxs.length >= physicalCount || offsetContent <= protectedOffsetContent) {\n break;\n }\n if (fromTop) {\n // Check that index is within the valid range.\n if (virtualEnd + idxs.length + 1 >= this._virtualCount) {\n break;\n }\n // Check that the index is not visible.\n if (top + physicalItemHeight >= scrollTop - this._scrollOffset) {\n break;\n }\n idxs.push(ith);\n top += physicalItemHeight;\n ith = (ith + 1) % physicalCount;\n } else {\n // Check that index is within the valid range.\n if (virtualStart - idxs.length <= 0) {\n break;\n }\n // Check that the index is not visible.\n if (top + this._physicalSize - physicalItemHeight <= scrollBottom) {\n break;\n }\n idxs.push(ith);\n top -= physicalItemHeight;\n ith = ith === 0 ? physicalCount - 1 : ith - 1;\n }\n }\n return { indexes: idxs, physicalTop: top - this._scrollOffset };\n },\n\n /**\n * Update the list of items, starting from the `_virtualStart` item.\n * @param {!Array<number>=} itemSet\n * @param {!Array<number>=} movingUp\n */\n _update(itemSet, movingUp) {\n if ((itemSet && itemSet.length === 0) || this._physicalCount === 0) {\n return;\n }\n this._assignModels(itemSet);\n this._updateMetrics(itemSet);\n // Adjust offset after measuring.\n if (movingUp) {\n while (movingUp.length) {\n const idx = movingUp.pop();\n this._physicalTop -= this._getPhysicalSizeIncrement(idx);\n }\n }\n this._positionItems();\n this._updateScrollerSize();\n },\n\n _isClientFull() {\n return (\n this._scrollBottom !== 0 &&\n this._physicalBottom - 1 >= this._scrollBottom &&\n this._physicalTop <= this._scrollPosition\n );\n },\n\n /**\n * Increases the pool size.\n */\n _increasePoolIfNeeded(count) {\n const nextPhysicalCount = this._clamp(\n this._physicalCount + count,\n DEFAULT_PHYSICAL_COUNT,\n this._virtualCount - this._virtualStart,\n );\n const delta = nextPhysicalCount - this._physicalCount;\n let nextIncrease = Math.round(this._physicalCount * 0.5);\n\n if (delta < 0) {\n return;\n }\n if (delta > 0) {\n const ts = window.performance.now();\n // Concat arrays in place.\n [].push.apply(this._physicalItems, this._createPool(delta));\n // Push 0s into physicalSizes. Can't use Array.fill because IE11 doesn't\n // support it.\n for (let i = 0; i < delta; i++) {\n this._physicalSizes.push(0);\n }\n this._physicalCount += delta;\n // Update the physical start if it needs to preserve the model of the\n // focused item. In this situation, the focused item is currently rendered\n // and its model would have changed after increasing the pool if the\n // physical start remained unchanged.\n if (\n this._physicalStart > this._physicalEnd &&\n this._isIndexRendered(this._focusedVirtualIndex) &&\n this._getPhysicalIndex(this._focusedVirtualIndex) < this._physicalEnd\n ) {\n this._physicalStart += delta;\n }\n this._update();\n this._templateCost = (window.performance.now() - ts) / delta;\n nextIncrease = Math.round(this._physicalCount * 0.5);\n }\n if (this._virtualEnd >= this._virtualCount - 1 || nextIncrease === 0) {\n // Do nothing.\n } else if (!this._isClientFull()) {\n this._debounce('_increasePoolIfNeeded', this._increasePoolIfNeeded.bind(this, nextIncrease), microTask);\n } else if (this._physicalSize < this._optPhysicalSize) {\n // Yield and increase the pool during idle time until the physical size is\n // optimal.\n this._debounce(\n '_increasePoolIfNeeded',\n this._increasePoolIfNeeded.bind(this, this._clamp(Math.round(50 / this._templateCost), 1, nextIncrease)),\n idlePeriod,\n );\n }\n },\n\n /**\n * Renders the a new list.\n */\n _render() {\n if (!this.isAttached || !this._isVisible) {\n return;\n }\n if (this._physicalCount !== 0) {\n const reusables = this._getReusables(true);\n this._physicalTop = reusables.physicalTop;\n this._virtualStart += reusables.indexes.length;\n this._physicalStart += reusables.indexes.length;\n this._update(reusables.indexes);\n this._update();\n this._increasePoolIfNeeded(0);\n } else if (this._virtualCount > 0) {\n // Initial render\n this.updateViewportBoundaries();\n this._increasePoolIfNeeded(DEFAULT_PHYSICAL_COUNT);\n }\n },\n\n /**\n * Called when the items have changed. That is, reassignments\n * to `items`, splices or updates to a single item.\n */\n _itemsChanged(change) {\n if (change.path === 'items') {\n this._virtualStart = 0;\n this._physicalTop = 0;\n this._virtualCount = this.items ? this.items.length : 0;\n this._physicalIndexForKey = {};\n this._firstVisibleIndexVal = null;\n this._lastVisibleIndexVal = null;\n if (!this._physicalItems) {\n this._physicalItems = [];\n }\n if (!this._physicalSizes) {\n this._physicalSizes = [];\n }\n this._physicalStart = 0;\n if (this._scrollTop > this._scrollOffset) {\n this._resetScrollPosition(0);\n }\n this._debounce('_render', this._render, animationFrame);\n }\n },\n\n /**\n * Executes a provided function per every physical index in `itemSet`\n * `itemSet` default value is equivalent to the entire set of physical\n * indexes.\n *\n * @param {!function(number, number)} fn\n * @param {!Array<number>=} itemSet\n */\n _iterateItems(fn, itemSet) {\n let pidx, vidx, rtn, i;\n\n if (arguments.length === 2 && itemSet) {\n for (i = 0; i < itemSet.length; i++) {\n pidx = itemSet[i];\n vidx = this._computeVidx(pidx);\n if ((rtn = fn.call(this, pidx, vidx)) != null) {\n return rtn;\n }\n }\n } else {\n pidx = this._physicalStart;\n vidx = this._virtualStart;\n for (; pidx < this._physicalCount; pidx++, vidx++) {\n if ((rtn = fn.call(this, pidx, vidx)) != null) {\n return rtn;\n }\n }\n for (pidx = 0; pidx < this._physicalStart; pidx++, vidx++) {\n if ((rtn = fn.call(this, pidx, vidx)) != null) {\n return rtn;\n }\n }\n }\n },\n\n /**\n * Returns the virtual index for a given physical index\n *\n * @param {number} pidx Physical index\n * @return {number}\n */\n _computeVidx(pidx) {\n if (pidx >= this._physicalStart) {\n return this._virtualStart + (pidx - this._physicalStart);\n }\n return this._virtualStart + (this._physicalCount - this._physicalStart) + pidx;\n },\n\n /**\n * Updates the position of the physical items.\n */\n _positionItems() {\n this._adjustScrollPosition();\n\n let y = this._physicalTop;\n\n this._iterateItems((pidx) => {\n this.translate3d(0, `${y}px`, 0, this._physicalItems[pidx]);\n y += this._physicalSizes[pidx];\n });\n },\n\n _getPhysicalSizeIncrement(pidx) {\n return this._physicalSizes[pidx];\n },\n\n /**\n * Adjusts the scroll position when it was overestimated.\n */\n _adjustScrollPosition() {\n const deltaHeight =\n this._virtualStart === 0 ? this._physicalTop : Math.min(this._scrollPosition + this._physicalTop, 0);\n // Note: the delta can be positive or negative.\n if (deltaHeight !== 0) {\n this._physicalTop -= deltaHeight;\n // This may be called outside of a scrollHandler, so use last cached position\n const scrollTop = this._scrollPosition;\n // Juking scroll position during interial scrolling on iOS is no bueno\n if (!IOS_TOUCH_SCROLLING && scrollTop > 0) {\n this._resetScrollPosition(scrollTop - deltaHeight);\n }\n }\n },\n\n /**\n * Sets the position of the scroll.\n */\n _resetScrollPosition(pos) {\n if (this.scrollTarget && pos >= 0) {\n this._scrollTop = pos;\n this._scrollPosition = this._scrollTop;\n }\n },\n\n /**\n * Sets the scroll height, that's the height of the content,\n *\n * @param {boolean=} forceUpdate If true, updates the height no matter what.\n */\n _updateScrollerSize(forceUpdate) {\n const estScrollHeight =\n this._physicalBottom +\n Math.max(this._virtualCount - this._physicalCount - this._virtualStart, 0) * this._physicalAverage;\n\n this._estScrollHeight = estScrollHeight;\n\n // Amortize height adjustment, so it won't trigger large repaints too often.\n if (\n forceUpdate ||\n this._scrollHeight === 0 ||\n this._scrollPosition >= estScrollHeight - this._physicalSize ||\n Math.abs(estScrollHeight - this._scrollHeight) >= this._viewportHeight\n ) {\n this.$.items.style.height = `${estScrollHeight}px`;\n this._scrollHeight = estScrollHeight;\n }\n },\n\n /**\n * Scroll to a specific index in the virtual list regardless\n * of the physical items in the DOM tree.\n *\n * @method scrollToIndex\n * @param {number} idx The index of the item\n */\n scrollToIndex(idx) {\n if (typeof idx !== 'number' || idx < 0 || idx > this.items.length - 1) {\n return;\n }\n flush();\n // Items should have been rendered prior scrolling to an index.\n if (this._physicalCount === 0) {\n return;\n }\n idx = this._clamp(idx, 0, this._virtualCount - 1);\n // Update the virtual start only when needed.\n if (!this._isIndexRendered(idx) || idx >= this._maxVirtualStart) {\n this._virtualStart = idx - 1;\n }\n this._assignModels();\n this._updateMetrics();\n // Estimate new physical offset.\n this._physicalTop = this._virtualStart * this._physicalAverage;\n\n let currentTopItem = this._physicalStart;\n let currentVirtualItem = this._virtualStart;\n let targetOffsetTop = 0;\n const hiddenContentSize = this._hiddenContentSize;\n // Scroll to the item as much as we can.\n while (currentVirtualItem < idx && targetOffsetTop <= hiddenContentSize) {\n targetOffsetTop += this._getPhysicalSizeIncrement(currentTopItem);\n currentTopItem = (currentTopItem + 1) % this._physicalCount;\n currentVirtualItem += 1;\n }\n this._updateScrollerSize(true);\n this._positionItems();\n this._resetScrollPosition(this._physicalTop + this._scrollOffset + targetOffsetTop);\n this._increasePoolIfNeeded(0);\n // Clear cached visible index.\n this._firstVisibleIndexVal = null;\n this._lastVisibleIndexVal = null;\n },\n\n /**\n * Reset the physical average and the average count.\n */\n _resetAverage() {\n this._physicalAverage = 0;\n this._physicalAverageCount = 0;\n },\n\n /**\n * A handler for the `iron-resize` event triggered by `IronResizableBehavior`\n * when the element is resized.\n */\n _resizeHandler() {\n this._debounce(\n '_render',\n () => {\n // Clear cached visible index.\n this._firstVisibleIndexVal = null;\n this._lastVisibleIndexVal = null;\n if (this._isVisible) {\n this.updateViewportBoundaries();\n // Reinstall the scroll event listener.\n this.toggleScrollListener(true);\n this._resetAverage();\n this._render();\n } else {\n // Uninstall the scroll event listener.\n this.toggleScrollListener(false);\n }\n },\n animationFrame,\n );\n },\n\n _isIndexRendered(idx) {\n return idx >= this._virtualStart && idx <= this._virtualEnd;\n },\n\n _getPhysicalIndex(vidx) {\n return (this._physicalStart + (vidx - this._virtualStart)) % this._physicalCount;\n },\n\n _clamp(v, min, max) {\n return Math.min(max, Math.max(min, v));\n },\n\n _debounce(name, cb, asyncModule) {\n if (!this._debouncers) {\n this._debouncers = {};\n }\n this._debouncers[name] = Debouncer.debounce(this._debouncers[name], asyncModule, cb.bind(this));\n enqueueDebouncer(this._debouncers[name]);\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/* eslint-disable @typescript-eslint/member-ordering */\n// https://github.com/vaadin/eslint-config-vaadin/issues/33\nimport { animationFrame, microTask, timeOut } from './async.js';\nimport { isSafari } from './browser-utils.js';\nimport { Debouncer, flush } from './debounce.js';\nimport { ironList } from './iron-list-core.js';\n\n// Iron-list can by default handle sizes up to around 100000.\n// When the size is larger than MAX_VIRTUAL_COUNT _vidxOffset is used\nconst MAX_VIRTUAL_COUNT = 100000;\nconst OFFSET_ADJUST_MIN_THRESHOLD = 1000;\n\nexport class IronListAdapter {\n constructor({ createElements, updateElement, scrollTarget, scrollContainer, elementsContainer, reorderElements }) {\n this.isAttached = true;\n this._vidxOffset = 0;\n this.createElements = createElements;\n this.updateElement = updateElement;\n this.scrollTarget = scrollTarget;\n this.scrollContainer = scrollContainer;\n this.elementsContainer = elementsContainer || scrollContainer;\n this.reorderElements = reorderElements;\n // Iron-list uses this value to determine how many pages of elements to render\n this._maxPages = 1.3;\n\n // Placeholder height (used for sizing elements that have intrinsic 0 height after update)\n this.__placeholderHeight = 200;\n // A queue of 10 previous element heights\n this.__elementHeightQueue = Array(10);\n\n this.timeouts = {\n SCROLL_REORDER: 500,\n IGNORE_WHEEL: 500,\n FIX_INVALID_ITEM_POSITIONING: 100,\n };\n\n this.__resizeObserver = new ResizeObserver(() => this._resizeHandler());\n\n if (getComputedStyle(this.scrollTarget).overflow === 'visible') {\n this.scrollTarget.style.overflow = 'auto';\n }\n\n if (getComputedStyle(this.scrollContainer).position === 'static') {\n this.scrollContainer.style.position = 'relative';\n }\n\n this.__resizeObserver.observe(this.scrollTarget);\n this.scrollTarget.addEventListener('scroll', () => this._scrollHandler());\n\n this._scrollLineHeight = this._getScrollLineHeight();\n this.scrollTarget.addEventListener('wheel', (e) => this.__onWheel(e));\n\n if (this.reorderElements) {\n // Reordering the physical elements cancels the user's grab of the scroll bar handle on Safari.\n // Need to defer reordering until the user lets go of the scroll bar handle.\n this.scrollTarget.addEventListener('mousedown', () => {\n this.__mouseDown = true;\n });\n this.scrollTarget.addEventListener('mouseup', () => {\n this.__mouseDown = false;\n if (this.__pendingReorder) {\n this.__reorderElements();\n }\n });\n }\n }\n\n get scrollOffset() {\n return 0;\n }\n\n get adjustedFirstVisibleIndex() {\n return this.firstVisibleIndex + this._vidxOffset;\n }\n\n get adjustedLastVisibleIndex() {\n return this.lastVisibleIndex + this._vidxOffset;\n }\n\n get _maxVirtualIndexOffset() {\n return this.size - this._virtualCount;\n }\n\n __hasPlaceholders() {\n return this.__getVisibleElements().some((el) => el.__virtualizerPlaceholder);\n }\n\n scrollToIndex(index) {\n if (typeof index !== 'number' || isNaN(index) || this.size === 0 || !this.scrollTarget.offsetHeight) {\n return;\n }\n delete this.__pendingScrollToIndex;\n\n if (this._physicalCount <= 3 /* iron-list-core.DEFAULT_PHYSICAL_COUNT */) {\n // The condition here is a performance improvement to avoid an unnecessary\n // re-render when the physical item pool is already covered.\n\n // Finish rendering at the current scroll position before scrolling\n this.flush();\n }\n\n index = this._clamp(index, 0, this.size - 1);\n\n const visibleElementCount = this.__getVisibleElements().length;\n let targetVirtualIndex = Math.floor((index / this.size) * this._virtualCount);\n if (this._virtualCount - targetVirtualIndex < visibleElementCount) {\n targetVirtualIndex = this._virtualCount - (this.size - index);\n this._vidxOffset = this._maxVirtualIndexOffset;\n } else if (targetVirtualIndex < visibleElementCount) {\n if (index < OFFSET_ADJUST_MIN_THRESHOLD) {\n targetVirtualIndex = index;\n this._vidxOffset = 0;\n } else {\n targetVirtualIndex = OFFSET_ADJUST_MIN_THRESHOLD;\n this._vidxOffset = index - targetVirtualIndex;\n }\n } else {\n this._vidxOffset = index - targetVirtualIndex;\n }\n\n this.__skipNextVirtualIndexAdjust = true;\n super.scrollToIndex(targetVirtualIndex);\n\n if (this.adjustedFirstVisibleIndex !== index && this._scrollTop < this._maxScrollTop && !this.grid) {\n // Workaround an iron-list issue by manually adjusting the scroll position\n this._scrollTop -= this.__getIndexScrollOffset(index) || 0;\n }\n this._scrollHandler();\n\n if (this.__hasPlaceholders()) {\n // After rendering synchronously, there are still placeholders in the DOM.\n // Try again after the next elements update.\n this.__pendingScrollToIndex = index;\n }\n }\n\n flush() {\n const startPhysicalCount = this._physicalCount;\n // The scroll target is hidden.\n if (this.scrollTarget.offsetHeight === 0) {\n return;\n }\n\n this._resizeHandler();\n flush();\n this._scrollHandler();\n if (this.__fixInvalidItemPositioningDebouncer) {\n this.__fixInvalidItemPositioningDebouncer.flush();\n }\n if (this.__scrollReorderDebouncer) {\n this.__scrollReorderDebouncer.flush();\n }\n if (this.__debouncerWheelAnimationFrame) {\n this.__debouncerWheelAnimationFrame.flush();\n }\n\n if (this._physicalCount !== startPhysicalCount) {\n // Flushing again until physical count stabilizes fixes https://github.com/vaadin/flow-components/issues/5595#issuecomment-1770278913\n this.flush();\n }\n }\n\n update(startIndex = 0, endIndex = this.size - 1) {\n const updatedElements = [];\n this.__getVisibleElements().forEach((el) => {\n if (el.__virtualIndex >= startIndex && el.__virtualIndex <= endIndex) {\n this.__updateElement(el, el.__virtualIndex, true);\n updatedElements.push(el);\n }\n });\n\n this.__afterElementsUpdated(updatedElements);\n }\n\n /**\n * Updates the height for a given set of items.\n *\n * @param {!Array<number>=} itemSet\n */\n _updateMetrics(itemSet) {\n // Make sure we distributed all the physical items\n // so we can measure them.\n flush();\n\n let newPhysicalSize = 0;\n let oldPhysicalSize = 0;\n const prevAvgCount = this._physicalAverageCount;\n const prevPhysicalAvg = this._physicalAverage;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n this._iterateItems((pidx, vidx) => {\n oldPhysicalSize += this._physicalSizes[pidx];\n this._physicalSizes[pidx] = Math.ceil(this.__getBorderBoxHeight(this._physicalItems[pidx]));\n newPhysicalSize += this._physicalSizes[pidx];\n this._physicalAverageCount += this._physicalSizes[pidx] ? 1 : 0;\n }, itemSet);\n\n this._physicalSize = this._physicalSize + newPhysicalSize - oldPhysicalSize;\n\n // Update the average if it measured something.\n if (this._physicalAverageCount !== prevAvgCount) {\n this._physicalAverage = Math.round(\n (prevPhysicalAvg * prevAvgCount + newPhysicalSize) / this._physicalAverageCount,\n );\n }\n }\n\n __getBorderBoxHeight(el) {\n const style = getComputedStyle(el);\n\n const itemHeight = parseFloat(style.height) || 0;\n\n if (style.boxSizing === 'border-box') {\n return itemHeight;\n }\n\n const paddingBottom = parseFloat(style.paddingBottom) || 0;\n const paddingTop = parseFloat(style.paddingTop) || 0;\n const borderBottomWidth = parseFloat(style.borderBottomWidth) || 0;\n const borderTopWidth = parseFloat(style.borderTopWidth) || 0;\n\n return itemHeight + paddingBottom + paddingTop + borderBottomWidth + borderTopWidth;\n }\n\n __updateElement(el, index, forceSameIndexUpdates) {\n // Clean up temporary placeholder sizing\n if (el.__virtualizerPlaceholder) {\n el.style.paddingTop = '';\n el.__virtualizerPlaceholder = false;\n }\n\n if (!this.__preventElementUpdates && (el.__lastUpdatedIndex !== index || forceSameIndexUpdates)) {\n this.updateElement(el, index);\n el.__lastUpdatedIndex = index;\n }\n }\n\n /**\n * Called synchronously right after elements have been updated.\n * This is a good place to do any post-update work.\n *\n * @param {!Array<!HTMLElement>} updatedElements\n */\n __afterElementsUpdated(updatedElements) {\n updatedElements.forEach((el) => {\n const elementHeight = el.offsetHeight;\n if (elementHeight === 0) {\n // If the elements have 0 height after update (for example due to lazy rendering),\n // it results in iron-list requesting to create an unlimited count of elements.\n // Assign a temporary placeholder sizing to elements that would otherwise end up having\n // no height.\n el.style.paddingTop = `${this.__placeholderHeight}px`;\n el.__virtualizerPlaceholder = true;\n\n // Manually schedule the resize handler to make sure the placeholder padding is\n // cleared in case the resize observer never triggers.\n this.__placeholderClearDebouncer = Debouncer.debounce(this.__placeholderClearDebouncer, animationFrame, () =>\n this._resizeHandler(),\n );\n } else {\n // Add element height to the queue\n this.__elementHeightQueue.push(elementHeight);\n this.__elementHeightQueue.shift();\n\n // Calculate new placeholder height based on the average of the defined values in the\n // element height queue\n const filteredHeights = this.__elementHeightQueue.filter((h) => h !== undefined);\n this.__placeholderHeight = Math.round(filteredHeights.reduce((a, b) => a + b, 0) / filteredHeights.length);\n }\n });\n\n if (this.__pendingScrollToIndex !== undefined && !this.__hasPlaceholders()) {\n this.scrollToIndex(this.__pendingScrollToIndex);\n }\n }\n\n __getIndexScrollOffset(index) {\n const element = this.__getVisibleElements().find((el) => el.__virtualIndex === index);\n return element ? this.scrollTarget.getBoundingClientRect().top - element.getBoundingClientRect().top : undefined;\n }\n\n get size() {\n return this.__size;\n }\n\n set size(size) {\n if (size === this.size) {\n return;\n }\n // Cancel active debouncers\n if (this.__fixInvalidItemPositioningDebouncer) {\n this.__fixInvalidItemPositioningDebouncer.cancel();\n }\n if (this._debouncers && this._debouncers._increasePoolIfNeeded) {\n // Avoid creating unnecessary elements on the following flush()\n this._debouncers._increasePoolIfNeeded.cancel();\n }\n\n // Prevent element update while the scroll position is being restored\n this.__preventElementUpdates = true;\n\n // Record the scroll position before changing the size\n let fvi; // First visible index\n let fviOffsetBefore; // Scroll offset of the first visible index\n if (size > 0) {\n fvi = this.adjustedFirstVisibleIndex;\n fviOffsetBefore = this.__getIndexScrollOffset(fvi);\n }\n\n // Change the size\n this.__size = size;\n\n this._itemsChanged({\n path: 'items',\n });\n flush();\n\n // Try to restore the scroll position if the new size is larger than 0\n if (size > 0) {\n fvi = Math.min(fvi, size - 1);\n // Note, calling scrollToIndex also updates the virtual index offset,\n // causing the virtualizer to add more items when size is increased,\n // and remove exceeding items when size is decreased.\n this.scrollToIndex(fvi);\n\n const fviOffsetAfter = this.__getIndexScrollOffset(fvi);\n if (fviOffsetBefore !== undefined && fviOffsetAfter !== undefined) {\n this._scrollTop += fviOffsetBefore - fviOffsetAfter;\n }\n }\n\n this.__preventElementUpdates = false;\n\n // When reducing size while invisible, iron-list does not update items, so\n // their hidden state is not updated and their __lastUpdatedIndex is not\n // reset. In that case force an update here.\n if (!this._isVisible) {\n this._assignModels();\n }\n\n if (!this.elementsContainer.children.length) {\n requestAnimationFrame(() => this._resizeHandler());\n }\n\n // Schedule and flush a resize handler\n this._resizeHandler();\n flush();\n // Schedule an update to ensure item positions are correct after subsequent size changes\n // Fix for https://github.com/vaadin/flow-components/issues/6269\n this._debounce('_update', this._update, microTask);\n }\n\n /** @private */\n get _scrollTop() {\n return this.scrollTarget.scrollTop;\n }\n\n /** @private */\n set _scrollTop(top) {\n this.scrollTarget.scrollTop = top;\n }\n\n /** @private */\n get items() {\n return {\n length: Math.min(this.size, MAX_VIRTUAL_COUNT),\n };\n }\n\n /** @private */\n get offsetHeight() {\n return this.scrollTarget.offsetHeight;\n }\n\n /** @private */\n get $() {\n return {\n items: this.scrollContainer,\n };\n }\n\n /** @private */\n updateViewportBoundaries() {\n const styles = window.getComputedStyle(this.scrollTarget);\n this._scrollerPaddingTop = this.scrollTarget === this ? 0 : parseInt(styles['padding-top'], 10);\n this._isRTL = Boolean(styles.direction === 'rtl');\n this._viewportWidth = this.elementsContainer.offsetWidth;\n this._viewportHeight = this.scrollTarget.offsetHeight;\n this._scrollPageHeight = this._viewportHeight - this._scrollLineHeight;\n if (this.grid) {\n this._updateGridMetrics();\n }\n }\n\n /** @private */\n setAttribute() {}\n\n /** @private */\n _createPool(size) {\n const physicalItems = this.createElements(size);\n const fragment = document.createDocumentFragment();\n physicalItems.forEach((el) => {\n el.style.position = 'absolute';\n fragment.appendChild(el);\n this.__resizeObserver.observe(el);\n });\n this.elementsContainer.appendChild(fragment);\n return physicalItems;\n }\n\n /** @private */\n _assignModels(itemSet) {\n const updatedElements = [];\n this._iterateItems((pidx, vidx) => {\n const el = this._physicalItems[pidx];\n el.hidden = vidx >= this.size;\n if (!el.hidden) {\n el.__virtualIndex = vidx + (this._vidxOffset || 0);\n this.__updateElement(el, el.__virtualIndex);\n updatedElements.push(el);\n } else {\n delete el.__lastUpdatedIndex;\n }\n }, itemSet);\n\n this.__afterElementsUpdated(updatedElements);\n }\n\n /** @private */\n _isClientFull() {\n // Workaround an issue in iron-list that can cause it to freeze on fast scroll\n setTimeout(() => {\n this.__clientFull = true;\n });\n return this.__clientFull || super._isClientFull();\n }\n\n /** @private */\n translate3d(_x, y, _z, el) {\n el.style.transform = `translateY(${y})`;\n }\n\n /** @private */\n toggleScrollListener() {}\n\n _scrollHandler() {\n // The scroll target is hidden.\n if (this.scrollTarget.offsetHeight === 0) {\n return;\n }\n\n this._adjustVirtualIndexOffset(this._scrollTop - (this.__previousScrollTop || 0));\n const delta = this.scrollTarget.scrollTop - this._scrollPosition;\n\n super._scrollHandler();\n\n if (this._physicalCount !== 0) {\n const isScrollingDown = delta >= 0;\n const reusables = this._getReusables(!isScrollingDown);\n\n if (reusables.indexes.length) {\n // After running super._scrollHandler, fix internal properties to workaround an iron-list issue.\n // See https://github.com/vaadin/web-components/issues/1691\n this._physicalTop = reusables.physicalTop;\n\n if (isScrollingDown) {\n this._virtualStart -= reusables.indexes.length;\n this._physicalStart -= reusables.indexes.length;\n } else {\n this._virtualStart += reusables.indexes.length;\n this._physicalStart += reusables.indexes.length;\n }\n this._resizeHandler();\n }\n }\n\n if (delta) {\n // There was a change in scroll top. Schedule a check for invalid item positioning.\n this.__fixInvalidItemPositioningDebouncer = Debouncer.debounce(\n this.__fixInvalidItemPositioningDebouncer,\n timeOut.after(this.timeouts.FIX_INVALID_ITEM_POSITIONING),\n () => this.__fixInvalidItemPositioning(),\n );\n }\n\n if (this.reorderElements) {\n this.__scrollReorderDebouncer = Debouncer.debounce(\n this.__scrollReorderDebouncer,\n timeOut.after(this.timeouts.SCROLL_REORDER),\n () => this.__reorderElements(),\n );\n }\n\n this.__previousScrollTop = this._scrollTop;\n\n // If the first visible index is not 0 when scrolled to the top,\n // scroll to index 0 to fix the issue.\n if (this._scrollTop === 0 && this.firstVisibleIndex !== 0 && Math.abs(delta) > 0) {\n this.scrollToIndex(0);\n }\n }\n\n /**\n * Work around an iron-list issue with invalid item positioning.\n * See https://github.com/vaadin/flow-components/issues/4306\n * @private\n */\n __fixInvalidItemPositioning() {\n if (!this.scrollTarget.isConnected) {\n return;\n }\n\n // Check if the first physical item element is below the top of the viewport\n const physicalTopBelowTop = this._physicalTop > this._scrollTop;\n // Check if the last physical item element is above the bottom of the viewport\n const physicalBottomAboveBottom = this._physicalBottom < this._scrollBottom;\n\n // Check if the first index is visible\n const firstIndexVisible = this.adjustedFirstVisibleIndex === 0;\n // Check if the last index is visible\n const lastIndexVisible = this.adjustedLastVisibleIndex === this.size - 1;\n\n if ((physicalTopBelowTop && !firstIndexVisible) || (physicalBottomAboveBottom && !lastIndexVisible)) {\n // Invalid state! Try to recover.\n\n const isScrollingDown = physicalBottomAboveBottom;\n // Set the \"_ratio\" property temporarily to 0 to make iron-list's _getReusables\n // place all the free physical items on one side of the viewport.\n const originalRatio = this._ratio;\n this._ratio = 0;\n // Fake a scroll change to make _scrollHandler place the physical items\n // on the desired side.\n this._scrollPosition = this._scrollTop + (isScrollingDown ? -1 : 1);\n this._scrollHandler();\n // Restore the original \"_ratio\" value.\n this._ratio = originalRatio;\n }\n }\n\n /** @private */\n __onWheel(e) {\n if (e.ctrlKey || this._hasScrolledAncestor(e.target, e.deltaX, e.deltaY)) {\n return;\n }\n\n let deltaY = e.deltaY;\n if (e.deltaMode === WheelEvent.DOM_DELTA_LINE) {\n // Scrolling by \"lines of text\" instead of pixels\n deltaY *= this._scrollLineHeight;\n } else if (e.deltaMode === WheelEvent.DOM_DELTA_PAGE) {\n // Scrolling by \"pages\" instead of pixels\n deltaY *= this._scrollPageHeight;\n }\n\n if (!this._deltaYAcc) {\n this._deltaYAcc = 0;\n }\n\n if (this._wheelAnimationFrame) {\n // Accumulate wheel delta while a frame is being processed\n this._deltaYAcc += deltaY;\n e.preventDefault();\n return;\n }\n\n deltaY += this._deltaYAcc;\n this._deltaYAcc = 0;\n\n this._wheelAnimationFrame = true;\n this.__debouncerWheelAnimationFrame = Debouncer.debounce(\n this.__debouncerWheelAnimationFrame,\n animationFrame,\n () => {\n this._wheelAnimationFrame = false;\n },\n );\n\n const momentum = Math.abs(e.deltaX) + Math.abs(deltaY);\n\n if (this._canScroll(this.scrollTarget, e.deltaX, deltaY)) {\n e.preventDefault();\n this.scrollTarget.scrollTop += deltaY;\n this.scrollTarget.scrollLeft += e.deltaX;\n\n this._hasResidualMomentum = true;\n\n this._ignoreNewWheel = true;\n this._debouncerIgnoreNewWheel = Debouncer.debounce(\n this._debouncerIgnoreNewWheel,\n timeOut.after(this.timeouts.IGNORE_WHEEL),\n () => {\n this._ignoreNewWheel = false;\n },\n );\n } else if ((this._hasResidualMomentum && momentum <= this._previousMomentum) || this._ignoreNewWheel) {\n e.preventDefault();\n } else if (momentum > this._previousMomentum) {\n this._hasResidualMomentum = false;\n }\n this._previousMomentum = momentum;\n }\n\n /**\n * Determines if the element has an ancestor that handles the scroll delta prior to this\n *\n * @private\n */\n _hasScrolledAncestor(el, deltaX, deltaY) {\n if (el === this.scrollTarget || el === this.scrollTarget.getRootNode().host) {\n return false;\n } else if (\n this._canScroll(el, deltaX, deltaY) &&\n ['auto', 'scroll'].indexOf(getComputedStyle(el).overflow) !== -1\n ) {\n return true;\n } else if (el !== this && el.parentElement) {\n return this._hasScrolledAncestor(el.parentElement, deltaX, deltaY);\n }\n }\n\n _canScroll(el, deltaX, deltaY) {\n return (\n (deltaY > 0 && el.scrollTop < el.scrollHeight - el.offsetHeight) ||\n (deltaY < 0 && el.scrollTop > 0) ||\n (deltaX > 0 && el.scrollLeft < el.scrollWidth - el.offsetWidth) ||\n (deltaX < 0 && el.scrollLeft > 0)\n );\n }\n\n /**\n * Increases the pool size.\n * @override\n */\n _increasePoolIfNeeded(count) {\n if (this._physicalCount > 2 && count) {\n // The iron-list logic has already created some physical items and\n // has decided to create more. Since each item creation round is\n // expensive, let's try to create the remaining items in one go.\n\n // Calculate the total item count that would be needed to fill the viewport\n // plus the buffer assuming rest of the items to be of the average size\n // of the items already created.\n const totalItemCount = Math.ceil(this._optPhysicalSize / this._physicalAverage);\n const missingItemCount = totalItemCount - this._physicalCount;\n // Create the remaining items in one go. Use a maximum of 100 items\n // as a safety measure.\n super._increasePoolIfNeeded(Math.max(count, Math.min(100, missingItemCount)));\n } else {\n super._increasePoolIfNeeded(count);\n }\n }\n\n /**\n * @returns {Number|undefined} - The browser's default font-size in pixels\n * @private\n */\n _getScrollLineHeight() {\n const el = document.createElement('div');\n el.style.fontSize = 'initial';\n el.style.display = 'none';\n document.body.appendChild(el);\n const fontSize = window.getComputedStyle(el).fontSize;\n document.body.removeChild(el);\n return fontSize ? window.parseInt(fontSize) : undefined;\n }\n\n __getVisibleElements() {\n return Array.from(this.elementsContainer.children).filter((element) => !element.hidden);\n }\n\n /** @private */\n __reorderElements() {\n if (this.__mouseDown) {\n this.__pendingReorder = true;\n return;\n }\n this.__pendingReorder = false;\n\n const adjustedVirtualStart = this._virtualStart + (this._vidxOffset || 0);\n\n // Which row to use as a target?\n const visibleElements = this.__getVisibleElements();\n\n const elementWithFocus = visibleElements.find(\n (element) =>\n element.contains(this.elementsContainer.getRootNode().activeElement) ||\n element.contains(this.scrollTarget.getRootNode().activeElement),\n );\n const targetElement = elementWithFocus || visibleElements[0];\n if (!targetElement) {\n // All elements are hidden, don't reorder\n return;\n }\n\n // Where the target row should be?\n const targetPhysicalIndex = targetElement.__virtualIndex - adjustedVirtualStart;\n\n // Reodrer the DOM elements to keep the target row at the target physical index\n const delta = visibleElements.indexOf(targetElement) - targetPhysicalIndex;\n if (delta > 0) {\n for (let i = 0; i < delta; i++) {\n this.elementsContainer.appendChild(visibleElements[i]);\n }\n } else if (delta < 0) {\n for (let i = visibleElements.length + delta; i < visibleElements.length; i++) {\n this.elementsContainer.insertBefore(visibleElements[i], visibleElements[0]);\n }\n }\n\n // Due to a rendering bug, reordering the rows can make parts of the scroll target disappear\n // on Safari when using sticky positioning in case the scroll target is inside a flexbox.\n // This issue manifests with grid (the header can disappear if grid is used inside a flexbox)\n if (isSafari) {\n const { transform } = this.scrollTarget.style;\n this.scrollTarget.style.transform = 'translateZ(0)';\n setTimeout(() => {\n this.scrollTarget.style.transform = transform;\n });\n }\n }\n\n /** @private */\n _adjustVirtualIndexOffset(delta) {\n const maxOffset = this._maxVirtualIndexOffset;\n\n if (this._virtualCount >= this.size) {\n this._vidxOffset = 0;\n } else if (this.__skipNextVirtualIndexAdjust) {\n this.__skipNextVirtualIndexAdjust = false;\n } else if (Math.abs(delta) > 10000) {\n // Process a large scroll position change\n const scale = this._scrollTop / (this.scrollTarget.scrollHeight - this.scrollTarget.clientHeight);\n this._vidxOffset = Math.round(scale * maxOffset);\n } else {\n // Make sure user can always swipe/wheel scroll to the start and end\n const oldOffset = this._vidxOffset;\n const threshold = OFFSET_ADJUST_MIN_THRESHOLD;\n const maxShift = 100;\n\n // Near start\n if (this._scrollTop === 0) {\n this._vidxOffset = 0;\n if (oldOffset !== this._vidxOffset) {\n super.scrollToIndex(0);\n }\n } else if (this.firstVisibleIndex < threshold && this._vidxOffset > 0) {\n this._vidxOffset -= Math.min(this._vidxOffset, maxShift);\n super.scrollToIndex(this.firstVisibleIndex + (oldOffset - this._vidxOffset));\n }\n\n // Near end\n if (this._scrollTop >= this._maxScrollTop && this._maxScrollTop > 0) {\n this._vidxOffset = maxOffset;\n if (oldOffset !== this._vidxOffset) {\n super.scrollToIndex(this._virtualCount - 1);\n }\n } else if (this.firstVisibleIndex > this._virtualCount - threshold && this._vidxOffset < maxOffset) {\n this._vidxOffset += Math.min(maxOffset - this._vidxOffset, maxShift);\n super.scrollToIndex(this.firstVisibleIndex - (this._vidxOffset - oldOffset));\n }\n }\n }\n}\n\nObject.setPrototypeOf(IronListAdapter.prototype, ironList);\n","import { IronListAdapter } from './virtualizer-iron-list-adapter.js';\n\nexport class Virtualizer {\n /**\n * @typedef {Object} VirtualizerConfig\n * @property {Function} createElements Function that returns the given number of new elements\n * @property {Function} updateElement Function that updates the element at a specific index\n * @property {HTMLElement} scrollTarget Reference to the scrolling element\n * @property {HTMLElement} scrollContainer Reference to a wrapper for the item elements (or a slot) inside the scrollTarget\n * @property {HTMLElement | undefined} elementsContainer Reference to the container in which the item elements are placed, defaults to scrollContainer\n * @property {boolean | undefined} reorderElements Determines whether the physical item elements should be kept in order in the DOM\n * @param {VirtualizerConfig} config Configuration for the virtualizer\n */\n constructor(config) {\n this.__adapter = new IronListAdapter(config);\n }\n\n /**\n * Gets the index of the first visible item in the viewport.\n *\n * @return {number}\n */\n get firstVisibleIndex() {\n return this.__adapter.adjustedFirstVisibleIndex;\n }\n\n /**\n * Gets the index of the last visible item in the viewport.\n *\n * @return {number}\n */\n get lastVisibleIndex() {\n return this.__adapter.adjustedLastVisibleIndex;\n }\n\n /**\n * The size of the virtualizer\n * @return {number | undefined} The size of the virtualizer\n */\n get size() {\n return this.__adapter.size;\n }\n\n /**\n * The size of the virtualizer\n * @param {number} size The size of the virtualizer\n */\n set size(size) {\n this.__adapter.size = size;\n }\n\n /**\n * Scroll to a specific index in the virtual list\n *\n * @method scrollToIndex\n * @param {number} index The index of the item\n */\n scrollToIndex(index) {\n this.__adapter.scrollToIndex(index);\n }\n\n /**\n * Requests the virtualizer to re-render the item elements on an index range, if currently in the DOM\n *\n * @method update\n * @param {number | undefined} startIndex The start index of the range\n * @param {number | undefined} endIndex The end index of the range\n */\n update(startIndex = 0, endIndex = this.size - 1) {\n this.__adapter.update(startIndex, endIndex);\n }\n\n /**\n * Flushes active asynchronous tasks so that the component and the DOM end up in a stable state\n *\n * @method update\n * @param {number | undefined} startIndex The start index of the range\n * @param {number | undefined} endIndex The end index of the range\n */\n flush() {\n this.__adapter.flush();\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 { SlotController } from '@vaadin/component-base/src/slot-controller.js';\n\n/**\n * A controller to create and initialize slotted `<input>` element.\n */\nexport class InputController extends SlotController {\n constructor(host, callback) {\n super(host, 'input', 'input', {\n initializer: (node, host) => {\n if (host.value) {\n node.value = host.value;\n }\n if (host.type) {\n node.setAttribute('type', host.type);\n }\n\n // Ensure every instance has unique ID\n node.id = this.defaultId;\n\n if (typeof callback === 'function') {\n callback(node);\n }\n },\n useUniqueId: true,\n });\n }\n}\n"],"names":["get","path","object","split","reduce","obj","property","undefined","processTemplates","component","window","Vaadin","templateRendererCallback","querySelector","console","warn","localName","IOS","navigator","userAgent","match","IOS_TOUCH_SCROLLING","ironList","_ratio","_scrollerPaddingTop","_scrollPosition","_physicalSize","_physicalAverage","_physicalAverageCount","_physicalTop","_virtualCount","_estScrollHeight","_scrollHeight","_viewportHeight","_viewportWidth","_physicalItems","_physicalSizes","_firstVisibleIndexVal","_lastVisibleIndexVal","_maxPages","_templateCost","_physicalBottom","this","_scrollBottom","_virtualEnd","_virtualStart","_physicalCount","_hiddenContentSize","_maxScrollTop","_scrollOffset","_maxVirtualStart","virtualCount","Math","max","_virtualStartVal","val","_clamp","_physicalStart","_physicalStartVal","_physicalEnd","_physicalCountVal","_optPhysicalSize","Infinity","_isVisible","Boolean","offsetWidth","offsetHeight","firstVisibleIndex","idx","physicalOffset","_iterateItems","pidx","vidx","_getPhysicalSizeIncrement","lastVisibleIndex","scrollOffset","_scrollHandler","scrollTop","min","_scrollTop","delta","isScrollingDown","abs","idxAdjustment","round","floor","_update","reusables","_getReusables","physicalTop","indexes","length","_debounce","_increasePoolIfNeeded","bind","fromTop","ith","offsetContent","physicalItemHeight","idxs","protectedOffsetContent","virtualStart","virtualEnd","physicalCount","top","bottom","scrollBottom","push","itemSet","movingUp","_assignModels","_updateMetrics","pop","_positionItems","_updateScrollerSize","_isClientFull","count","nextIncrease","ts","performance","now","apply","_createPool","i","_isIndexRendered","_focusedVirtualIndex","_getPhysicalIndex","_render","isAttached","updateViewportBoundaries","_itemsChanged","change","items","_physicalIndexForKey","_resetScrollPosition","fn","rtn","arguments","_computeVidx","call","_adjustScrollPosition","y","translate3d","deltaHeight","pos","scrollTarget","forceUpdate","estScrollHeight","$","style","height","scrollToIndex","currentTopItem","currentVirtualItem","targetOffsetTop","hiddenContentSize","_resetAverage","_resizeHandler","toggleScrollListener","v","name","cb","asyncModule","_debouncers","debounce","OFFSET_ADJUST_MIN_THRESHOLD","IronListAdapter","constructor","createElements","updateElement","scrollContainer","elementsContainer","reorderElements","_vidxOffset","__placeholderHeight","__elementHeightQueue","Array","timeouts","SCROLL_REORDER","IGNORE_WHEEL","FIX_INVALID_ITEM_POSITIONING","__resizeObserver","ResizeObserver","getComputedStyle","overflow","position","observe","addEventListener","_scrollLineHeight","_getScrollLineHeight","e","__onWheel","__mouseDown","__pendingReorder","__reorderElements","adjustedFirstVisibleIndex","adjustedLastVisibleIndex","_maxVirtualIndexOffset","size","__hasPlaceholders","__getVisibleElements","some","el","__virtualizerPlaceholder","index","isNaN","__pendingScrollToIndex","flush","visibleElementCount","targetVirtualIndex","__skipNextVirtualIndexAdjust","super","grid","__getIndexScrollOffset","startPhysicalCount","__fixInvalidItemPositioningDebouncer","__scrollReorderDebouncer","__debouncerWheelAnimationFrame","update","startIndex","endIndex","updatedElements","forEach","__virtualIndex","__updateElement","__afterElementsUpdated","newPhysicalSize","oldPhysicalSize","prevAvgCount","prevPhysicalAvg","ceil","__getBorderBoxHeight","itemHeight","parseFloat","boxSizing","paddingBottom","paddingTop","borderBottomWidth","borderTopWidth","forceSameIndexUpdates","__preventElementUpdates","__lastUpdatedIndex","elementHeight","__placeholderClearDebouncer","shift","filteredHeights","filter","h","a","b","element","find","getBoundingClientRect","__size","fvi","fviOffsetBefore","cancel","fviOffsetAfter","children","requestAnimationFrame","styles","parseInt","_isRTL","direction","_scrollPageHeight","_updateGridMetrics","setAttribute","physicalItems","fragment","document","createDocumentFragment","appendChild","hidden","setTimeout","__clientFull","_x","_z","transform","_adjustVirtualIndexOffset","__previousScrollTop","after","__fixInvalidItemPositioning","isConnected","physicalTopBelowTop","physicalBottomAboveBottom","firstIndexVisible","lastIndexVisible","originalRatio","ctrlKey","_hasScrolledAncestor","target","deltaX","deltaY","deltaMode","WheelEvent","DOM_DELTA_LINE","DOM_DELTA_PAGE","_deltaYAcc","_wheelAnimationFrame","preventDefault","momentum","_canScroll","scrollLeft","_hasResidualMomentum","_ignoreNewWheel","_debouncerIgnoreNewWheel","_previousMomentum","getRootNode","host","indexOf","parentElement","scrollHeight","scrollWidth","missingItemCount","createElement","fontSize","display","body","removeChild","from","adjustedVirtualStart","visibleElements","targetElement","contains","activeElement","targetPhysicalIndex","insertBefore","maxOffset","scale","clientHeight","oldOffset","threshold","maxShift","Object","setPrototypeOf","prototype","Virtualizer","config","__adapter","InputController","callback","initializer","node","value","type","id","defaultId","useUniqueId"],"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 513.js.LICENSE.txt */
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[513,2894,6649,9030],{5745:(t,e,o)=>{o.d(e,{i:()=>r});const r=(0,o(98741).y)((t=>class extends t{static get properties(){return{disabled:{type:Boolean,value:!1,observer:"_disabledChanged",reflectToAttribute:!0}}}_disabledChanged(t){this._setAriaDisabled(t)}_setAriaDisabled(t){t?this.setAttribute("aria-disabled","true"):this.removeAttribute("aria-disabled")}click(){this.disabled||super.click()}}))},7888:(t,e,o)=>{o.d(e,{f:()=>r});const r=(0,o(98741).y)((t=>class extends t{ready(){super.ready(),this.addEventListener("keydown",(t=>{this._onKeyDown(t)})),this.addEventListener("keyup",(t=>{this._onKeyUp(t)}))}_onKeyDown(t){switch(t.key){case"Enter":this._onEnter(t);break;case"Escape":this._onEscape(t)}}_onKeyUp(t){}_onEnter(t){}_onEscape(t){}}))},36176:(t,e,o)=>{o.d(e,{l:()=>a});var r=o(5745);const a=t=>class extends((0,r.i)(t)){static get properties(){return{tabindex:{type:Number,reflectToAttribute:!0,observer:"_tabindexChanged"},_lastTabIndex:{type:Number}}}_disabledChanged(t,e){super._disabledChanged(t,e),t?(void 0!==this.tabindex&&(this._lastTabIndex=this.tabindex),this.tabindex=-1):e&&(this.tabindex=this._lastTabIndex)}_tabindexChanged(t){this.disabled&&-1!==t&&(this._lastTabIndex=t,this.tabindex=-1)}}},89389:(t,e,o)=>{o.d(e,{$:()=>b});var r=o(13256),a=o(55774),i=o(82901),n=o(90676),s=o(81488),l=o(87550);const d=o(51450).AH`
|
3
3
|
:host {
|
4
4
|
display: inline-block;
|
5
5
|
position: relative;
|
@@ -59,7 +59,7 @@
|
|
59
59
|
outline-color: GrayText;
|
60
60
|
}
|
61
61
|
}
|
62
|
-
`;var c=o(
|
62
|
+
`;var c=o(84467),u=o(53149),h=o(36176);const m=t=>class extends((0,c.e)((0,h.l)((0,u.y)(t)))){static get properties(){return{tabindex:{type:Number,value:0,reflectToAttribute:!0}}}get _activeKeys(){return["Enter"," "]}ready(){super.ready(),this.hasAttribute("role")||this.setAttribute("role","button")}_onKeyDown(t){super._onKeyDown(t),t.altKey||t.shiftKey||t.ctrlKey||t.metaKey||this._activeKeys.includes(t.key)&&(t.preventDefault(),this.click())}};(0,l.SF)("vaadin-button",d,{moduleId:"vaadin-button-styles"});class b extends(m((0,n.q)((0,l.cp)((0,a.w)(r.Pu))))){static get is(){return"vaadin-button"}static get template(){return r.qy`
|
63
63
|
<div class="vaadin-button-container">
|
64
64
|
<span part="prefix" aria-hidden="true">
|
65
65
|
<slot name="prefix"></slot>
|
@@ -72,7 +72,7 @@
|
|
72
72
|
</span>
|
73
73
|
</div>
|
74
74
|
<slot name="tooltip"></slot>
|
75
|
-
`}ready(){super.ready(),this._tooltipController=new s.I(this),this.addController(this._tooltipController)}}(0,i.X)(b)},
|
75
|
+
`}ready(){super.ready(),this._tooltipController=new s.I(this),this.addController(this._tooltipController)}}(0,i.X)(b)},93555:(t,e,o)=>{o.d(e,{x:()=>a}),o(64511),o(42068),o(9433),o(3241),o(83315);var r=o(87550);const a=r.AH`
|
76
76
|
:host {
|
77
77
|
/* Sizing */
|
78
78
|
--lumo-button-size: var(--lumo-size-m);
|
@@ -335,4 +335,5 @@
|
|
335
335
|
margin-left: 0;
|
336
336
|
margin-right: 0;
|
337
337
|
}
|
338
|
-
`;(0,r.SF)("vaadin-button",a,{moduleId:"lumo-button"})},
|
338
|
+
`;(0,r.SF)("vaadin-button",a,{moduleId:"lumo-button"})},83799:(t,e,o)=>{o(93555),o(89389)},4080:(t,e,o)=>{o.d(e,{CI:()=>u,H8:()=>n,gm:()=>s,m0:()=>i,nr:()=>c,un:()=>d});const r=t=>t.test(navigator.userAgent),a=t=>t.test(navigator.platform),i=r(/Android/u),n=r(/Chrome/u)&&/Google Inc/u.test(navigator.vendor),s=r(/Firefox/u),l=a(/^iPad/u)||a(/^Mac/u)&&navigator.maxTouchPoints>1,d=a(/^iPhone/u)||l,c=r(/^((?!chrome|android).)*safari/iu),u=(()=>{try{return document.createEvent("TouchEvent"),!0}catch(t){return!1}})()},21961:(t,e,o)=>{o.d(e,{C:()=>i});var r=o(98741);const a=new WeakMap,i=(0,r.y)((t=>class extends t{get slotStyles(){return{}}connectedCallback(){super.connectedCallback(),this.__applySlotStyles()}__applySlotStyles(){const t=this.getRootNode(),e=function(t){return a.has(t)||a.set(t,new Set),a.get(t)}(t);this.slotStyles.forEach((o=>{e.has(o)||(function(t,e){const o=document.createElement("style");window.DESCOPE_NONCE&&o.setAttribute("nonce",window.DESCOPE_NONCE),o.textContent=t,e===document?document.head.appendChild(o):e.insertBefore(o,e.firstChild)}(o,t),e.add(o))}))}}))}}]);
|
339
|
+
//# sourceMappingURL=513.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"513.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/disabled-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/keyboard-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/tabindex-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/button/src/vaadin-button-base.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/button/src/vaadin-button-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/button/src/vaadin-button.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/button/theme/lumo/vaadin-button-styles.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/slot-styles-mixin.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { dedupingMixin } from '@polymer/polymer/lib/utils/mixin.js';\n\n/**\n * A mixin to provide disabled property for field components.\n *\n * @polymerMixin\n */\nexport const DisabledMixin = dedupingMixin(\n (superclass) =>\n class DisabledMixinClass extends superclass {\n static get properties() {\n return {\n /**\n * If true, the user cannot interact with this element.\n */\n disabled: {\n type: Boolean,\n value: false,\n observer: '_disabledChanged',\n reflectToAttribute: true,\n },\n };\n }\n\n /**\n * @param {boolean} disabled\n * @protected\n */\n _disabledChanged(disabled) {\n this._setAriaDisabled(disabled);\n }\n\n /**\n * @param {boolean} disabled\n * @protected\n */\n _setAriaDisabled(disabled) {\n if (disabled) {\n this.setAttribute('aria-disabled', 'true');\n } else {\n this.removeAttribute('aria-disabled');\n }\n }\n\n /**\n * Overrides the default element `click` method in order to prevent\n * firing the `click` event when the element is disabled.\n * @protected\n * @override\n */\n click() {\n if (!this.disabled) {\n super.click();\n }\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 { dedupingMixin } from '@polymer/polymer/lib/utils/mixin.js';\n\n/**\n * A mixin that manages keyboard handling.\n * The mixin subscribes to the keyboard events while an actual implementation\n * for the event handlers is left to the client (a component or another mixin).\n *\n * @polymerMixin\n */\nexport const KeyboardMixin = dedupingMixin(\n (superclass) =>\n class KeyboardMixinClass extends superclass {\n /** @protected */\n ready() {\n super.ready();\n\n this.addEventListener('keydown', (event) => {\n this._onKeyDown(event);\n });\n\n this.addEventListener('keyup', (event) => {\n this._onKeyUp(event);\n });\n }\n\n /**\n * A handler for the `keydown` event. By default, it calls\n * separate methods for handling \"Enter\" and \"Escape\" keys.\n * Override the method to implement your own behavior.\n *\n * @param {KeyboardEvent} event\n * @protected\n */\n _onKeyDown(event) {\n switch (event.key) {\n case 'Enter':\n this._onEnter(event);\n break;\n case 'Escape':\n this._onEscape(event);\n break;\n default:\n break;\n }\n }\n\n /**\n * A handler for the `keyup` event. By default, it does nothing.\n * Override the method to implement your own behavior.\n *\n * @param {KeyboardEvent} _event\n * @protected\n */\n _onKeyUp(_event) {\n // To be implemented.\n }\n\n /**\n * A handler for the \"Enter\" key. By default, it does nothing.\n * Override the method to implement your own behavior.\n *\n * @param {KeyboardEvent} _event\n * @protected\n */\n _onEnter(_event) {\n // To be implemented.\n }\n\n /**\n * A handler for the \"Escape\" key. By default, it does nothing.\n * Override the method to implement your own behavior.\n *\n * @param {KeyboardEvent} _event\n * @protected\n */\n _onEscape(_event) {\n // To be implemented.\n }\n },\n);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { DisabledMixin } from './disabled-mixin.js';\n\n/**\n * A mixin to toggle the `tabindex` attribute.\n *\n * The attribute is set to -1 whenever the user disables the element\n * and restored with the last known value once the element is enabled.\n *\n * @polymerMixin\n * @mixes DisabledMixin\n */\nexport const TabindexMixin = (superclass) =>\n class TabindexMixinClass extends DisabledMixin(superclass) {\n static get properties() {\n return {\n /**\n * Indicates whether the element can be focused and where it participates in sequential keyboard navigation.\n *\n * @protected\n */\n tabindex: {\n type: Number,\n reflectToAttribute: true,\n observer: '_tabindexChanged',\n },\n\n /**\n * Stores the last known tabindex since the element has been disabled.\n *\n * @protected\n */\n _lastTabIndex: {\n type: Number,\n },\n };\n }\n\n /**\n * When the element gets disabled, the observer saves the last known tabindex\n * and makes the element not focusable by setting tabindex to -1.\n * As soon as the element gets enabled, the observer restores the last known tabindex\n * so that the element can be focusable again.\n *\n * @protected\n * @override\n */\n _disabledChanged(disabled, oldDisabled) {\n super._disabledChanged(disabled, oldDisabled);\n\n if (disabled) {\n if (this.tabindex !== undefined) {\n this._lastTabIndex = this.tabindex;\n }\n this.tabindex = -1;\n } else if (oldDisabled) {\n this.tabindex = this._lastTabIndex;\n }\n }\n\n /**\n * When the user has changed tabindex while the element is disabled,\n * the observer reverts tabindex to -1 and rather saves the new tabindex value to apply it later.\n * The new value will be applied as soon as the element becomes enabled.\n *\n * @protected\n */\n _tabindexChanged(tabindex) {\n if (this.disabled && tabindex !== -1) {\n this._lastTabIndex = tabindex;\n this.tabindex = -1;\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 buttonStyles = css`\n :host {\n display: inline-block;\n position: relative;\n outline: none;\n white-space: nowrap;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n /* Aligns the button with form fields when placed on the same line.\n Note, to make it work, the form fields should have the same \"::before\" pseudo-element. */\n .vaadin-button-container::before {\n content: '\\\\2003';\n display: inline-block;\n width: 0;\n max-height: 100%;\n }\n\n .vaadin-button-container {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n width: 100%;\n height: 100%;\n min-height: inherit;\n text-shadow: inherit;\n }\n\n [part='prefix'],\n [part='suffix'] {\n flex: none;\n }\n\n [part='label'] {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n @media (forced-colors: active) {\n :host {\n outline: 1px solid;\n outline-offset: -1px;\n }\n\n :host([focused]) {\n outline-width: 2px;\n }\n\n :host([disabled]) {\n outline-color: GrayText;\n }\n }\n`;\n\nexport const buttonTemplate = (html) => html`\n <div class=\"vaadin-button-container\">\n <span part=\"prefix\" aria-hidden=\"true\">\n <slot name=\"prefix\"></slot>\n </span>\n <span part=\"label\">\n <slot></slot>\n </span>\n <span part=\"suffix\" aria-hidden=\"true\">\n <slot name=\"suffix\"></slot>\n </span>\n </div>\n <slot name=\"tooltip\"></slot>\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 { ActiveMixin } from '@vaadin/a11y-base/src/active-mixin.js';\nimport { FocusMixin } from '@vaadin/a11y-base/src/focus-mixin.js';\nimport { TabindexMixin } from '@vaadin/a11y-base/src/tabindex-mixin.js';\n\n/**\n * A mixin providing common button functionality.\n *\n * @polymerMixin\n * @mixes ActiveMixin\n * @mixes FocusMixin\n * @mixes TabindexMixin\n */\nexport const ButtonMixin = (superClass) =>\n class ButtonMixinClass extends ActiveMixin(TabindexMixin(FocusMixin(superClass))) {\n static get properties() {\n return {\n /**\n * Indicates whether the element can be focused and where it participates in sequential keyboard navigation.\n *\n * @override\n * @protected\n */\n tabindex: {\n type: Number,\n value: 0,\n reflectToAttribute: true,\n },\n };\n }\n\n /**\n * By default, `Space` is the only possible activation key for a focusable HTML element.\n * Nonetheless, the button is an exception as it can be also activated by pressing `Enter`.\n * See the \"Keyboard Support\" section in https://www.w3.org/TR/wai-aria-practices/examples/button/button.html.\n *\n * @protected\n * @override\n */\n get _activeKeys() {\n return ['Enter', ' '];\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n // By default, if the user hasn't provided a custom role,\n // the role attribute is set to \"button\".\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n }\n\n /**\n * Since the button component is designed on the base of the `[role=button]` attribute,\n * and doesn't have a native <button> inside, in order to be fully accessible from the keyboard,\n * it should manually fire the `click` event once an activation key is pressed,\n * as it follows from the WAI-ARIA specifications:\n * https://www.w3.org/TR/wai-aria-practices-1.1/#button\n *\n * According to the UI Events specifications,\n * the `click` event should be fired exactly on `keydown`:\n * https://www.w3.org/TR/uievents/#event-type-keydown\n *\n * @param {KeyboardEvent} event\n * @protected\n * @override\n */\n _onKeyDown(event) {\n super._onKeyDown(event);\n\n if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) {\n return;\n }\n\n if (this._activeKeys.includes(event.key)) {\n event.preventDefault();\n\n // `DisabledMixin` overrides the standard `click()` method\n // so that it doesn't fire the `click` event when the element is disabled.\n this.click();\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 { html, PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport { ControllerMixin } from '@vaadin/component-base/src/controller-mixin.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 { registerStyles, ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { buttonStyles, buttonTemplate } from './vaadin-button-base.js';\nimport { ButtonMixin } from './vaadin-button-mixin.js';\n\nregisterStyles('vaadin-button', buttonStyles, { moduleId: 'vaadin-button-styles' });\n\n/**\n * `<vaadin-button>` is an accessible and customizable button that allows users to perform actions.\n *\n * ```html\n * <vaadin-button>Press me</vaadin-button>\n * ```\n *\n * ### Styling\n *\n * The following shadow DOM parts are available for styling:\n *\n * Part name | Description\n * ----------|-------------\n * `label` | The label (text) inside the button.\n * `prefix` | A slot for content before the label (e.g. an icon).\n * `suffix` | A slot for content after the label (e.g. an icon).\n *\n * The following attributes are available for styling:\n *\n * Attribute | Description\n * -------------|-------------\n * `active` | Set when the button is pressed down, either with mouse, touch or the keyboard.\n * `disabled` | Set when the button is disabled.\n * `focus-ring` | Set when the button is focused using the keyboard.\n * `focused` | Set when the button is focused.\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes ButtonMixin\n * @mixes ControllerMixin\n * @mixes ElementMixin\n * @mixes ThemableMixin\n */\nclass Button extends ButtonMixin(ElementMixin(ThemableMixin(ControllerMixin(PolymerElement)))) {\n static get is() {\n return 'vaadin-button';\n }\n\n static get template() {\n return buttonTemplate(html);\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this._tooltipController = new TooltipController(this);\n this.addController(this._tooltipController);\n }\n}\n\ndefineCustomElement(Button);\n\nexport { Button };\n","import '@vaadin/vaadin-lumo-styles/color.js';\nimport '@vaadin/vaadin-lumo-styles/sizing.js';\nimport '@vaadin/vaadin-lumo-styles/spacing.js';\nimport '@vaadin/vaadin-lumo-styles/style.js';\nimport '@vaadin/vaadin-lumo-styles/typography.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst button = css`\n :host {\n /* Sizing */\n --lumo-button-size: var(--lumo-size-m);\n min-width: var(--vaadin-button-min-width, calc(var(--_button-size) * 2));\n height: var(--_button-size);\n padding: var(--vaadin-button-padding, 0 calc(var(--_button-size) / 3 + var(--lumo-border-radius-m) / 2));\n margin: var(--vaadin-button-margin, var(--lumo-space-xs) 0);\n box-sizing: border-box;\n /* Style */\n font-family: var(--lumo-font-family);\n font-size: var(--vaadin-button-font-size, var(--lumo-font-size-m));\n font-weight: var(--vaadin-button-font-weight, 500);\n color: var(--_lumo-button-text-color);\n background: var(--_lumo-button-background);\n border: var(--vaadin-button-border, none);\n border-radius: var(--vaadin-button-border-radius, var(--lumo-border-radius-m));\n cursor: var(--lumo-clickable-cursor);\n -webkit-tap-highlight-color: transparent;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n flex-shrink: 0;\n --_button-size: var(--vaadin-button-height, var(--lumo-button-size));\n --_focus-ring-color: var(--vaadin-focus-ring-color, var(--lumo-primary-color-50pct));\n --_focus-ring-width: var(--vaadin-focus-ring-width, 2px);\n /* Used by notification */\n --_lumo-button-background: var(--vaadin-button-background, var(--lumo-contrast-5pct));\n --_lumo-button-text-color: var(--vaadin-button-text-color, var(--lumo-primary-text-color));\n --_lumo-button-primary-background: var(--vaadin-button-primary-background, var(--lumo-primary-color));\n --_lumo-button-primary-text-color: var(--vaadin-button-primary-text-color, var(--lumo-primary-contrast-color));\n }\n\n /* Set only for the internal parts so we don't affect the host vertical alignment */\n [part='label'],\n [part='prefix'],\n [part='suffix'] {\n line-height: var(--lumo-line-height-xs);\n }\n\n [part='label'] {\n padding: calc(var(--lumo-button-size) / 6) 0;\n }\n\n :host([theme~='small']) {\n font-size: var(--lumo-font-size-s);\n --lumo-button-size: var(--lumo-size-s);\n }\n\n :host([theme~='large']) {\n font-size: var(--lumo-font-size-l);\n --lumo-button-size: var(--lumo-size-l);\n }\n\n /* For interaction states */\n :host::before,\n :host::after {\n content: '';\n /* We rely on the host always being relative */\n position: absolute;\n z-index: 1;\n inset: 0;\n background-color: currentColor;\n border-radius: inherit;\n opacity: 0;\n pointer-events: none;\n }\n\n /* Hover */\n\n @media (any-hover: hover) {\n :host(:hover)::before {\n opacity: 0.02;\n }\n }\n\n /* Active */\n\n :host::after {\n transition: opacity 1.4s, transform 0.1s;\n filter: blur(8px);\n }\n\n :host([active])::before {\n opacity: 0.05;\n transition-duration: 0s;\n }\n\n :host([active])::after {\n opacity: 0.1;\n transition-duration: 0s, 0s;\n transform: scale(0);\n }\n\n /* Keyboard focus */\n\n :host([focus-ring]) {\n box-shadow: 0 0 0 var(--_focus-ring-width) var(--_focus-ring-color);\n }\n\n :host([theme~='primary'][focus-ring]) {\n box-shadow: 0 0 0 1px var(--lumo-base-color), 0 0 0 3px var(--lumo-primary-color-50pct);\n }\n\n /* Types (primary, tertiary, tertiary-inline */\n\n :host([theme~='tertiary']),\n :host([theme~='tertiary-inline']) {\n --_background: transparent !important;\n background: var(--vaadin-button-tertiary-background, var(--_background));\n min-width: 0;\n }\n\n :host([theme~='tertiary']) {\n border: var(--vaadin-button-tertiary-border, none);\n color: var(--vaadin-button-tertiary-text-color, var(--lumo-primary-text-color));\n font-weight: var(--vaadin-button-tertiary-font-weight, 500);\n padding: var(--vaadin-button-tertiary-padding, 0 calc(var(--_button-size) / 6));\n }\n\n :host([theme~='tertiary-inline'])::before {\n display: none;\n }\n\n :host([theme~='tertiary-inline']) {\n margin: 0;\n height: auto;\n padding: 0;\n line-height: inherit;\n font-size: inherit;\n }\n\n :host([theme~='tertiary-inline']) [part='label'] {\n padding: 0;\n overflow: visible;\n line-height: inherit;\n }\n\n :host([theme~='primary']) {\n background: var(--_lumo-button-primary-background);\n border: var(--vaadin-button-primary-border, none);\n color: var(--_lumo-button-primary-text-color);\n font-weight: var(--vaadin-button-primary-font-weight, 600);\n min-width: calc(var(--lumo-button-size) * 2.5);\n }\n\n :host([theme~='primary'])::before {\n background-color: black;\n }\n\n @media (any-hover: hover) {\n :host([theme~='primary']:hover)::before {\n opacity: 0.05;\n }\n }\n\n :host([theme~='primary'][active])::before {\n opacity: 0.1;\n }\n\n :host([theme~='primary'][active])::after {\n opacity: 0.2;\n }\n\n /* Colors (success, error, contrast) */\n\n :host([theme~='success']) {\n color: var(--lumo-success-text-color);\n }\n\n :host([theme~='success'][theme~='primary']) {\n background-color: var(--lumo-success-color);\n color: var(--lumo-success-contrast-color);\n }\n\n :host([theme~='error']) {\n color: var(--lumo-error-text-color);\n }\n\n :host([theme~='error'][theme~='primary']) {\n background-color: var(--lumo-error-color);\n color: var(--lumo-error-contrast-color);\n }\n\n :host([theme~='contrast']) {\n color: var(--lumo-contrast);\n }\n\n :host([theme~='contrast'][theme~='primary']) {\n background-color: var(--lumo-contrast);\n color: var(--lumo-base-color);\n }\n\n /* Disabled state. Keep selectors after other color variants. */\n\n :host([disabled]) {\n pointer-events: none;\n color: var(--lumo-disabled-text-color);\n }\n\n :host([theme~='primary'][disabled]) {\n background-color: var(--lumo-contrast-30pct);\n color: var(--lumo-base-color);\n }\n\n :host([theme~='primary'][disabled]) [part] {\n opacity: 0.7;\n }\n\n /* Icons */\n\n [part] ::slotted(vaadin-icon) {\n display: inline-block;\n width: var(--lumo-icon-size-m);\n height: var(--lumo-icon-size-m);\n }\n\n /* Vaadin icons are based on a 16x16 grid (unlike Lumo and Material icons with 24x24), so they look too big by default */\n [part] ::slotted(vaadin-icon[icon^='vaadin:']) {\n padding: 0.25em;\n box-sizing: border-box !important;\n }\n\n [part='prefix'] {\n margin-left: -0.25em;\n margin-right: 0.25em;\n }\n\n [part='suffix'] {\n margin-left: 0.25em;\n margin-right: -0.25em;\n }\n\n /* Icon-only */\n\n :host([theme~='icon']:not([theme~='tertiary-inline'])) {\n min-width: var(--lumo-button-size);\n padding-left: calc(var(--lumo-button-size) / 4);\n padding-right: calc(var(--lumo-button-size) / 4);\n }\n\n :host([theme~='icon']) [part='prefix'],\n :host([theme~='icon']) [part='suffix'] {\n margin-left: 0;\n margin-right: 0;\n }\n\n /* RTL specific styles */\n\n :host([dir='rtl']) [part='prefix'] {\n margin-left: 0.25em;\n margin-right: -0.25em;\n }\n\n :host([dir='rtl']) [part='suffix'] {\n margin-left: -0.25em;\n margin-right: 0.25em;\n }\n\n :host([dir='rtl'][theme~='icon']) [part='prefix'],\n :host([dir='rtl'][theme~='icon']) [part='suffix'] {\n margin-left: 0;\n margin-right: 0;\n }\n`;\n\nregisterStyles('vaadin-button', button, { moduleId: 'lumo-button' });\n\nexport { button };\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\nconst stylesMap = new WeakMap();\n\n/**\n * Get all the styles inserted into root.\n * @param {DocumentOrShadowRoot} root\n * @return {Set<string>}\n */\nfunction getRootStyles(root) {\n if (!stylesMap.has(root)) {\n stylesMap.set(root, new Set());\n }\n\n return stylesMap.get(root);\n}\n\n/**\n * Insert styles into the root.\n * @param {string} styles\n * @param {DocumentOrShadowRoot} root\n */\nfunction insertStyles(styles, root) {\n const style = document.createElement('style');\n if(window.DESCOPE_NONCE){\n style.setAttribute('nonce', window.DESCOPE_NONCE);\n }\n style.textContent = styles;\n\n if (root === document) {\n document.head.appendChild(style);\n } else {\n root.insertBefore(style, root.firstChild);\n }\n}\n\n/**\n * Mixin to insert styles into the outer scope to handle slotted components.\n * This is useful e.g. to hide native `<input type=\"number\">` controls.\n *\n * @polymerMixin\n */\nexport const SlotStylesMixin = dedupingMixin(\n (superclass) =>\n class SlotStylesMixinClass extends superclass {\n /**\n * List of styles to insert into root.\n * @protected\n */\n get slotStyles() {\n return {};\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n\n this.__applySlotStyles();\n }\n\n /** @private */\n __applySlotStyles() {\n const root = this.getRootNode();\n const rootStyles = getRootStyles(root);\n\n this.slotStyles.forEach((styles) => {\n if (!rootStyles.has(styles)) {\n insertStyles(styles, root);\n rootStyles.add(styles);\n }\n });\n }\n },\n);\n"],"names":["DisabledMixin","superclass","properties","disabled","type","Boolean","value","observer","reflectToAttribute","_disabledChanged","this","_setAriaDisabled","setAttribute","removeAttribute","click","super","KeyboardMixin","ready","addEventListener","event","_onKeyDown","_onKeyUp","key","_onEnter","_onEscape","_event","TabindexMixin","tabindex","Number","_lastTabIndex","oldDisabled","undefined","_tabindexChanged","buttonStyles","ButtonMixin","superClass","_activeKeys","hasAttribute","altKey","shiftKey","ctrlKey","metaKey","includes","preventDefault","moduleId","Button","is","template","_tooltipController","addController","button","testUserAgent","regexp","test","navigator","userAgent","testPlatform","platform","isAndroid","isChrome","vendor","isFirefox","isIPad","maxTouchPoints","isIOS","isSafari","isTouch","document","createEvent","e","stylesMap","WeakMap","SlotStylesMixin","slotStyles","connectedCallback","__applySlotStyles","root","getRootNode","rootStyles","has","set","Set","get","getRootStyles","forEach","styles","style","createElement","window","DESCOPE_NONCE","textContent","head","appendChild","insertBefore","firstChild","insertStyles","add"],"sourceRoot":""}
|
@@ -1,15 +1,15 @@
|
|
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 5260.js.LICENSE.txt */
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[5260],{10438:(t,e,s)=>{s.d(e,{U:()=>o});var i=s(98741);const n=new ResizeObserver((t=>{setTimeout((()=>{t.forEach((t=>{t.target.resizables?t.target.resizables.forEach((e=>{e._onResize(t.contentRect)})):t.target._onResize(t.contentRect)}))}))})),o=(0,i.y)((t=>class extends t{get _observeParent(){return!1}connectedCallback(){if(super.connectedCallback(),n.observe(this),this._observeParent){const t=this.parentNode instanceof ShadowRoot?this.parentNode.host:this.parentNode;t.resizables||(t.resizables=new Set,n.observe(t)),t.resizables.add(this),this.__parent=t}}disconnectedCallback(){super.disconnectedCallback(),n.unobserve(this);const t=this.__parent;if(this._observeParent&&t){const e=t.resizables;e&&(e.delete(this),0===e.size&&n.unobserve(t)),this.__parent=null}}_onResize(t){}}))},22916:(t,e,s)=>{s.d(e,{io:()=>_,ml:()=>h,lW:()=>u,Qo:()=>p});var i=s(51450),n=s(73278);const o=t=>(...e)=>({_$litDirective$:t,values:e});class r{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}var a=s(55670);class c extends r{constructor(t){if(super(t),this.it=a.s6,2!==t.type)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===a.s6||null==t)return this._t=void 0,this.it=t;if(t===a.c0)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;const e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}}c.directiveName="unsafeHTML",c.resultType=1,o(c);class l extends c{}l.directiveName="unsafeSVG",l.resultType=2;const d=o(l);function _(t){let e=i.s6;if(t){const s=t.cloneNode(!0);s.removeAttribute("id"),e=i.JW`${d(s.outerHTML)}`}return e}function h(t){let e=null==t||""===t?i.s6:t;return function(t){return(0,n.qb)(t,n.Qk.SVG)||t===i.s6}(e)||(console.error("[vaadin-icon] Invalid svg passed, please use Lit svg literal."),e=i.s6),e}function u(t,e){const s=h(t);(0,i.XX)(s,e)}function p(t){return i.JW`${d(t)}`}},26469:(t,e,s)=>{s.d(e,{k:()=>h});var i=s(13256),n=s(82901),o=s(90676),r=s(22916);const a={},c=new Set;function l(t,e){return(t||"").replace(`${e}:`,"")}function d(t){if(t)return t.split(":")[0]||"vaadin"}function _(t,e){t._icons=[...t.querySelectorAll("[id]")].reduce(((t,s)=>(t[l(s.id,e)]=s,t)),{})}class h extends((0,o.q)(i.Pu)){static get template(){return null}static get is(){return"vaadin-iconset"}static get properties(){return{name:{type:String,observer:"__nameChanged"},size:{type:Number,value:24}}}static get attachedIcons(){return c}static getIconset(t){return a[t]}static getIconSvg(t,e){const s=e||d(t),i=this.getIconset(s);if(!t||!i)return{svg:(0,r.io)(null)};const n=l(t,s),o=i._icons[n];return{preserveAspectRatio:o?o.getAttribute("preserveAspectRatio"):null,svg:(0,r.io)(o),size:i.size,viewBox:o?o.getAttribute("viewBox"):null}}static register(t,e,s){if(!a[t]){const i=document.createElement("vaadin-iconset");i.appendChild(s.content.cloneNode(!0)),a[t]=i,_(i,t),i.size=e,i.name=t,i.__nameChanged(t)}}connectedCallback(){super.connectedCallback(),this.style.display="none";const{name:t}=this;a[t]=this,_(this,t),this.__updateIcons(t)}__updateIcons(t){c.forEach((e=>{t===d(e.icon)&&e._applyIcon()}))}__nameChanged(t,e){e&&(a[t]=a[e],delete a[e]),t&&this.__updateIcons(t)}}(0,n.X)(h)},95260:(t,e,s)=>{s(42068);var i=s(87550);(0,i.SF)("vaadin-icon",i.AH`
|
3
3
|
:host {
|
4
4
|
width: var(--lumo-icon-size-m);
|
5
5
|
height: var(--lumo-icon-size-m);
|
6
6
|
}
|
7
|
-
`,{moduleId:"lumo-icon"});var n=s(
|
7
|
+
`,{moduleId:"lumo-icon"});var n=s(13256),o=s(55774),r=s(82901),a=s(90676),c=s(21961),l=s(81488),d=s(98741),_=s(10438),h=s(4080);const u=!CSS.supports("container-type: inline-size")||!!h.nr&&!function(){const t=document.createElement("style");t.textContent="\n .vaadin-icon-test-element {\n container-type: size;\n height: 2px;\n visibility: hidden;\n position: fixed;\n }\n\n .vaadin-icon-test-element::before {\n content: '';\n display: block;\n height: 100cqh;\n ";const e=document.createElement("div");e.classList.add("vaadin-icon-test-element"),document.body.append(t,e);const{height:s}=getComputedStyle(e,"::before");return t.remove(),e.remove(),"2px"===s}();u&&(0,i.SF)("vaadin-icon",i.AH`
|
8
8
|
:host::after,
|
9
9
|
:host::before {
|
10
10
|
font-size: var(--_vaadin-font-icon-size);
|
11
11
|
}
|
12
|
-
`,"vaadin-icon-font-size-mixin-styles");const p=(0,d.y)((t=>u?class extends((0,_.U)(t)){static get observers(){return["__iconFontSizeMixinfontChanged(iconClass, char, ligature)"]}ready(){super.ready(),this.__updateFontIconSize()}__iconFontSizeMixinfontChanged(t,e,s){this.__updateFontIconSize()}_onResize(){this.__updateFontIconSize()}__updateFontIconSize(){if(this.char||this.iconClass||this.ligature){const{paddingTop:t,paddingBottom:e,height:s}=getComputedStyle(this),i=parseFloat(s)-parseFloat(t)-parseFloat(e);this.style.setProperty("--_vaadin-font-icon-size",`${i}px`)}}}:t));var g=s(
|
12
|
+
`,"vaadin-icon-font-size-mixin-styles");const p=(0,d.y)((t=>u?class extends((0,_.U)(t)){static get observers(){return["__iconFontSizeMixinfontChanged(iconClass, char, ligature)"]}ready(){super.ready(),this.__updateFontIconSize()}__iconFontSizeMixinfontChanged(t,e,s){this.__updateFontIconSize()}_onResize(){this.__updateFontIconSize()}__updateFontIconSize(){if(this.char||this.iconClass||this.ligature){const{paddingTop:t,paddingBottom:e,height:s}=getComputedStyle(this),i=parseFloat(s)-parseFloat(t)-parseFloat(e);this.style.setProperty("--_vaadin-font-icon-size",`${i}px`)}}}:t));var g=s(22916),v=s(26469);const f=new Map;class b extends((0,i.cp)((0,a.q)((0,o.w)((0,c.C)(p(n.Pu)))))){static get template(){return n.qy`
|
13
13
|
<style>
|
14
14
|
:host {
|
15
15
|
display: inline-flex;
|
@@ -70,4 +70,5 @@
|
|
70
70
|
</svg>
|
71
71
|
|
72
72
|
<slot name="tooltip"></slot>
|
73
|
-
`}static get is(){return"vaadin-icon"}static get properties(){return{icon:{type:String,reflectToAttribute:!0,observer:"__iconChanged"},svg:{type:Object},src:{type:String},symbol:{type:String},iconClass:{type:String,reflectToAttribute:!0},char:{type:String},ligature:{type:String},fontFamily:{type:String,observer:"__fontFamilyChanged"},size:{type:Number,value:24},__defaultPAR:{type:String,value:"xMidYMid meet"},__preserveAspectRatio:String,__useRef:Object,__svgElement:String,__viewBox:String,__fill:String,__stroke:String,__strokeWidth:String,__strokeLinecap:String,__strokeLinejoin:String}}static get observers(){return["__svgChanged(svg, __svgElement)","__fontChanged(iconClass, char, ligature)","__srcChanged(src, symbol)"]}static get observedAttributes(){return[...super.observedAttributes,"class"]}constructor(){super(),this.__fetch=fetch.bind(window)}get slotStyles(){return[`\n ${this.localName}[icon-class] {\n display: inline-flex;\n vertical-align: middle;\n font-size: inherit;\n }\n `]}get __iconClasses(){return this.iconClass?this.iconClass.split(" "):[]}ready(){super.ready(),this.__svgElement=this.shadowRoot.querySelector("#svg-group"),this._tooltipController=new l.I(this),this.addController(this._tooltipController)}connectedCallback(){super.connectedCallback(),v.k.attachedIcons.add(this)}disconnectedCallback(){super.disconnectedCallback(),v.k.attachedIcons.delete(this)}_applyIcon(){const{preserveAspectRatio:t,svg:e,size:s,viewBox:i}=v.k.getIconSvg(this.icon);i&&(this.__viewBox=i),t&&(this.__preserveAspectRatio=t),s&&s!==this.size&&(this.size=s),this.svg=e}__iconChanged(t){t?this._applyIcon():this.svg=(0,g.ml)(null)}async __srcChanged(t,e){if(t)if(this.icon="",t.startsWith("data:")||!e&&!t.includes("#"))try{f.has(t)||f.set(t,this.__fetch(t,{mode:"cors"}).then((t=>{if(!t.ok)throw new Error("Error loading icon");return t.text()})));const s=await f.get(t);b.__domParser||(b.__domParser=new DOMParser);const i=b.__domParser.parseFromString(s,"text/html").querySelector("svg");if(!i)throw new Error(`SVG element not found on path: ${t}`);this.svg=(0,g.Qo)(i.innerHTML),e&&(this.__useRef=`#${e}`),this.__viewBox=i.getAttribute("viewBox"),this.__fill=i.getAttribute("fill"),this.__stroke=i.getAttribute("stroke"),this.__strokeWidth=i.getAttribute("stroke-width"),this.__strokeLinecap=i.getAttribute("stroke-linecap"),this.__strokeLinejoin=i.getAttribute("stroke-linejoin")}catch(t){console.error(t),this.svg=null}else{const[s,i]=t.split("#");this.__useRef=`${s}#${e||i}`}else this.svg=null}__svgChanged(t,e){e&&(0,g.lW)(t,e)}__computePAR(t,e){return e||t}__computeVisibility(t){return t?"visible":"hidden"}__computeViewBox(t,e){return e||`0 0 ${t} ${t}`}__fontChanged(t,e,s){this.classList.remove(...this.__addedIconClasses||[]),t&&(this.__addedIconClasses=[...this.__iconClasses],this.classList.add(...this.__addedIconClasses)),e?this.setAttribute("font-icon-content",e.length>1?String.fromCodePoint(parseInt(e,16)):e):s?this.setAttribute("font-icon-content",s):this.removeAttribute("font-icon-content"),(t||e||s)&&!this.icon&&(this.icon="")}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),"class"===t&&this.__iconClasses.some((t=>!this.classList.contains(t)))&&this.classList.add(...this.__iconClasses)}__fontFamilyChanged(t){this.style.fontFamily=`'${t}'`}}(0,r.X)(b)},
|
73
|
+
`}static get is(){return"vaadin-icon"}static get properties(){return{icon:{type:String,reflectToAttribute:!0,observer:"__iconChanged"},svg:{type:Object},src:{type:String},symbol:{type:String},iconClass:{type:String,reflectToAttribute:!0},char:{type:String},ligature:{type:String},fontFamily:{type:String,observer:"__fontFamilyChanged"},size:{type:Number,value:24},__defaultPAR:{type:String,value:"xMidYMid meet"},__preserveAspectRatio:String,__useRef:Object,__svgElement:String,__viewBox:String,__fill:String,__stroke:String,__strokeWidth:String,__strokeLinecap:String,__strokeLinejoin:String}}static get observers(){return["__svgChanged(svg, __svgElement)","__fontChanged(iconClass, char, ligature)","__srcChanged(src, symbol)"]}static get observedAttributes(){return[...super.observedAttributes,"class"]}constructor(){super(),this.__fetch=fetch.bind(window)}get slotStyles(){return[`\n ${this.localName}[icon-class] {\n display: inline-flex;\n vertical-align: middle;\n font-size: inherit;\n }\n `]}get __iconClasses(){return this.iconClass?this.iconClass.split(" "):[]}ready(){super.ready(),this.__svgElement=this.shadowRoot.querySelector("#svg-group"),this._tooltipController=new l.I(this),this.addController(this._tooltipController)}connectedCallback(){super.connectedCallback(),v.k.attachedIcons.add(this)}disconnectedCallback(){super.disconnectedCallback(),v.k.attachedIcons.delete(this)}_applyIcon(){const{preserveAspectRatio:t,svg:e,size:s,viewBox:i}=v.k.getIconSvg(this.icon);i&&(this.__viewBox=i),t&&(this.__preserveAspectRatio=t),s&&s!==this.size&&(this.size=s),this.svg=e}__iconChanged(t){t?this._applyIcon():this.svg=(0,g.ml)(null)}async __srcChanged(t,e){if(t)if(this.icon="",t.startsWith("data:")||!e&&!t.includes("#"))try{f.has(t)||f.set(t,this.__fetch(t,{mode:"cors"}).then((t=>{if(!t.ok)throw new Error("Error loading icon");return t.text()})));const s=await f.get(t);b.__domParser||(b.__domParser=new DOMParser);const i=b.__domParser.parseFromString(s,"text/html").querySelector("svg");if(!i)throw new Error(`SVG element not found on path: ${t}`);this.svg=(0,g.Qo)(i.innerHTML),e&&(this.__useRef=`#${e}`),this.__viewBox=i.getAttribute("viewBox"),this.__fill=i.getAttribute("fill"),this.__stroke=i.getAttribute("stroke"),this.__strokeWidth=i.getAttribute("stroke-width"),this.__strokeLinecap=i.getAttribute("stroke-linecap"),this.__strokeLinejoin=i.getAttribute("stroke-linejoin")}catch(t){console.error(t),this.svg=null}else{const[s,i]=t.split("#");this.__useRef=`${s}#${e||i}`}else this.svg=null}__svgChanged(t,e){e&&(0,g.lW)(t,e)}__computePAR(t,e){return e||t}__computeVisibility(t){return t?"visible":"hidden"}__computeViewBox(t,e){return e||`0 0 ${t} ${t}`}__fontChanged(t,e,s){this.classList.remove(...this.__addedIconClasses||[]),t&&(this.__addedIconClasses=[...this.__iconClasses],this.classList.add(...this.__addedIconClasses)),e?this.setAttribute("font-icon-content",e.length>1?String.fromCodePoint(parseInt(e,16)):e):s?this.setAttribute("font-icon-content",s):this.removeAttribute("font-icon-content"),(t||e||s)&&!this.icon&&(this.icon="")}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),"class"===t&&this.__iconClasses.some((t=>!this.classList.contains(t)))&&this.classList.add(...this.__iconClasses)}__fontFamilyChanged(t){this.style.fontFamily=`'${t}'`}}(0,r.X)(b)},73278:(t,e,s)=>{s.d(e,{Qk:()=>o,qb:()=>r});var i=s(55670);const{I:n}=i.ge,o={HTML:1,SVG:2,MATHML:3},r=(t,e)=>void 0===e?void 0!==t?._$litType$:t?._$litType$===e}}]);
|
74
|
+
//# sourceMappingURL=5260.js.map
|