@descope/web-components-ui 1.32.0 → 1.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +481 -364
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +524 -438
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/1408.js +382 -0
- package/dist/umd/1408.js.LICENSE.txt +17 -0
- package/dist/umd/1408.js.map +1 -0
- package/dist/umd/{9243.js → 1519.js} +7 -6
- package/dist/umd/1519.js.map +1 -0
- package/dist/umd/189.js +109 -276
- package/dist/umd/189.js.LICENSE.txt +12 -0
- package/dist/umd/189.js.map +1 -0
- package/dist/umd/{7979.js → 1899.js} +11 -10
- package/dist/umd/1899.js.map +1 -0
- package/dist/umd/{1172.js → 1995.js} +10 -9
- package/dist/umd/1995.js.map +1 -0
- package/dist/umd/2540.js +2 -1
- package/dist/umd/2540.js.map +1 -0
- package/dist/umd/2672.js +2 -0
- package/dist/umd/2672.js.map +1 -0
- package/dist/umd/2739.js +2 -0
- package/dist/umd/2739.js.map +1 -0
- package/dist/umd/{2570.js → 2894.js} +6 -5
- package/dist/umd/2894.js.map +1 -0
- package/dist/umd/{404.js → 3620.js} +9 -8
- package/dist/umd/3620.js.map +1 -0
- package/dist/umd/{4455.js → 384.js} +8 -7
- package/dist/umd/384.js.map +1 -0
- package/dist/umd/4467.js +3 -0
- package/dist/umd/4467.js.map +1 -0
- package/dist/umd/{4127.js → 4518.js} +11 -10
- package/dist/umd/4518.js.map +1 -0
- package/dist/umd/{1902.js → 4550.js} +7 -6
- package/dist/umd/4550.js.map +1 -0
- package/dist/umd/{4554.js → 4623.js} +7 -6
- package/dist/umd/4623.js.map +1 -0
- package/dist/umd/{742.js → 4914.js} +3 -2
- package/dist/umd/4914.js.map +1 -0
- package/dist/umd/{9478.js → 513.js} +6 -5
- package/dist/umd/513.js.map +1 -0
- package/dist/umd/{201.js → 5260.js} +6 -5
- package/dist/umd/5260.js.map +1 -0
- package/dist/umd/5414.js +2 -1
- package/dist/umd/5414.js.map +1 -0
- package/dist/umd/5648.js +110 -0
- package/dist/umd/5648.js.map +1 -0
- package/dist/umd/5780.js +2 -0
- package/dist/umd/5780.js.map +1 -0
- package/dist/umd/{5563.js → 6227.js} +6 -5
- package/dist/umd/6227.js.map +1 -0
- package/dist/umd/6424.js +149 -0
- package/dist/umd/6424.js.map +1 -0
- package/dist/umd/{7097.js → 6649.js} +6 -5
- package/dist/umd/6649.js.map +1 -0
- package/dist/umd/676.js +3 -0
- package/dist/umd/676.js.map +1 -0
- package/dist/umd/{1738.js → 7092.js} +2 -1
- package/dist/umd/7092.js.map +1 -0
- package/dist/umd/{3638.js → 7182.js} +3 -2
- package/dist/umd/7182.js.map +1 -0
- package/dist/umd/{507.js → 7291.js} +6 -5
- package/dist/umd/7291.js.map +1 -0
- package/dist/umd/{4187.js → 7565.js} +3 -2
- package/dist/umd/7565.js.map +1 -0
- package/dist/umd/{3191.js → 7620.js} +11 -7
- package/dist/umd/7620.js.map +1 -0
- package/dist/umd/{6050.js → 7774.js} +10 -9
- package/dist/umd/7774.js.map +1 -0
- package/dist/umd/{2666.js → 7939.js} +5 -4
- package/dist/umd/7939.js.map +1 -0
- package/dist/umd/{4114.js → 8618.js} +5 -4
- package/dist/umd/8618.js.map +1 -0
- package/dist/umd/8961.js +2 -0
- package/dist/umd/8961.js.map +1 -0
- package/dist/umd/{4574.js → 8983.js} +6 -5
- package/dist/umd/8983.js.map +1 -0
- package/dist/umd/9030.js +265 -307
- package/dist/umd/9030.js.LICENSE.txt +0 -6
- package/dist/umd/9030.js.map +1 -0
- package/dist/umd/9365.js +2 -0
- package/dist/umd/9365.js.map +1 -0
- package/dist/umd/{4218.js → 9380.js} +5 -4
- package/dist/umd/9380.js.map +1 -0
- package/dist/umd/9871.js +276 -0
- package/dist/umd/9871.js.map +1 -0
- package/dist/umd/9970.js +833 -0
- package/dist/umd/9970.js.map +1 -0
- package/dist/umd/DescopeDev.js +2 -1
- package/dist/umd/DescopeDev.js.map +1 -0
- package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js +2 -1
- package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js.map +1 -0
- package/dist/umd/boolean-fields-descope-checkbox-index-js.js +2 -1
- package/dist/umd/boolean-fields-descope-checkbox-index-js.js.map +1 -0
- package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +2 -1
- package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-internal-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-internal-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-internal-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-internal-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -0
- package/dist/umd/descope-address-field.js +2 -1
- package/dist/umd/descope-address-field.js.map +1 -0
- package/dist/umd/descope-alert-index-js.js +2 -1
- package/dist/umd/descope-alert-index-js.js.map +1 -0
- package/dist/umd/descope-apps-list-index-js.js +2 -1
- package/dist/umd/descope-apps-list-index-js.js.map +1 -0
- package/dist/umd/descope-autocomplete-field.js +2 -1
- package/dist/umd/descope-autocomplete-field.js.map +1 -0
- package/dist/umd/descope-avatar.js +2 -1
- package/dist/umd/descope-avatar.js.map +1 -0
- package/dist/umd/descope-badge-index-js.js +2 -1
- package/dist/umd/descope-badge-index-js.js.map +1 -0
- package/dist/umd/descope-button-index-js.js +5 -4
- package/dist/umd/descope-button-index-js.js.map +1 -0
- package/dist/umd/descope-code-snippet-index-js.js +2 -1
- package/dist/umd/descope-code-snippet-index-js.js.map +1 -0
- package/dist/umd/descope-combo-box.js +7 -6
- package/dist/umd/descope-combo-box.js.map +1 -0
- package/dist/umd/descope-container-index-js.js +2 -1
- package/dist/umd/descope-container-index-js.js.map +1 -0
- package/dist/umd/descope-date-field-descope-calendar-index-js.js +2 -1
- package/dist/umd/descope-date-field-descope-calendar-index-js.js.map +1 -0
- package/dist/umd/descope-date-field-index-js.js +2 -1
- package/dist/umd/descope-date-field-index-js.js.map +1 -0
- package/dist/umd/descope-divider-index-js.js +2 -1
- package/dist/umd/descope-divider-index-js.js.map +1 -0
- package/dist/umd/descope-email-field-index-js.js +5 -4
- package/dist/umd/descope-email-field-index-js.js.map +1 -0
- package/dist/umd/descope-enriched-text-index-js.js +2 -1
- package/dist/umd/descope-enriched-text-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js +5 -4
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js +6 -5
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +2 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js +5 -4
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-index-js.js +2 -1
- package/dist/umd/descope-grid-index-js.js.map +1 -0
- package/dist/umd/descope-hybrid-field-index-js.js +4 -3
- package/dist/umd/descope-hybrid-field-index-js.js.map +1 -0
- package/dist/umd/descope-icon-index-js.js +2 -1
- package/dist/umd/descope-icon-index-js.js.map +1 -0
- package/dist/umd/descope-image-index-js.js +2 -1
- package/dist/umd/descope-image-index-js.js.map +1 -0
- package/dist/umd/descope-link-index-js.js +2 -1
- package/dist/umd/descope-link-index-js.js.map +1 -0
- package/dist/umd/descope-list-index-js.js +2 -1
- package/dist/umd/descope-list-index-js.js.map +1 -0
- package/dist/umd/descope-loader-linear-index-js.js +2 -1
- package/dist/umd/descope-loader-linear-index-js.js.map +1 -0
- package/dist/umd/descope-loader-radial-index-js.js +2 -1
- package/dist/umd/descope-loader-radial-index-js.js.map +1 -0
- package/dist/umd/descope-logo-index-js.js +2 -1
- package/dist/umd/descope-logo-index-js.js.map +1 -0
- package/dist/umd/descope-modal-index-js.js +2 -1
- package/dist/umd/descope-modal-index-js.js.map +1 -0
- package/dist/umd/descope-multi-select-combo-box-index-js.js +2 -1
- package/dist/umd/descope-multi-select-combo-box-index-js.js.map +1 -0
- package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +2 -1
- package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js.map +1 -0
- package/dist/umd/descope-new-password-index-js.js +2 -1
- package/dist/umd/descope-new-password-index-js.js.map +1 -0
- package/dist/umd/descope-notification-descope-notification-card-index-js.js +2 -1
- package/dist/umd/descope-notification-descope-notification-card-index-js.js.map +1 -0
- package/dist/umd/descope-notification-index-js.js +2 -1
- package/dist/umd/descope-notification-index-js.js.map +1 -0
- package/dist/umd/descope-notp-image-index-js.js +2 -1
- package/dist/umd/descope-notp-image-index-js.js.map +1 -0
- package/dist/umd/descope-number-field-index-js.js +2 -1
- package/dist/umd/descope-number-field-index-js.js.map +1 -0
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js +2 -1
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js.map +1 -0
- package/dist/umd/descope-passcode-index-js.js +3 -2
- package/dist/umd/descope-passcode-index-js.js.map +1 -0
- package/dist/umd/descope-password-index-js.js +2 -1
- package/dist/umd/descope-password-index-js.js.map +1 -0
- package/dist/umd/descope-policy-validation-index-js.js +2 -1
- package/dist/umd/descope-policy-validation-index-js.js.map +1 -0
- package/dist/umd/descope-radio-group-index-js.js +2 -1
- package/dist/umd/descope-radio-group-index-js.js.map +1 -0
- package/dist/umd/descope-recaptcha-index-js.js +2 -1
- package/dist/umd/descope-recaptcha-index-js.js.map +1 -0
- package/dist/umd/descope-scopes-list-index-js.js +2 -1
- package/dist/umd/descope-scopes-list-index-js.js.map +1 -0
- package/dist/umd/descope-security-questions-setup-index-js.js +2 -1
- package/dist/umd/descope-security-questions-setup-index-js.js.map +1 -0
- package/dist/umd/descope-security-questions-verify-index-js.js +3 -2
- package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -0
- package/dist/umd/descope-text-area-index-js.js +2 -1
- package/dist/umd/descope-text-area-index-js.js.map +1 -0
- package/dist/umd/descope-text-field-index-js.js +3 -2
- package/dist/umd/descope-text-field-index-js.js.map +1 -0
- package/dist/umd/descope-text.js +2 -1
- package/dist/umd/descope-text.js.map +1 -0
- package/dist/umd/descope-third-party-app-logo-index-js.js +2 -1
- package/dist/umd/descope-third-party-app-logo-index-js.js.map +1 -0
- package/dist/umd/descope-totp-image-index-js.js +2 -1
- package/dist/umd/descope-totp-image-index-js.js.map +1 -0
- package/dist/umd/descope-upload-file-index-js.js +2 -1
- package/dist/umd/descope-upload-file-index-js.js.map +1 -0
- package/dist/umd/descope-user-attribute-index-js.js +2 -1
- package/dist/umd/descope-user-attribute-index-js.js.map +1 -0
- package/dist/umd/descope-user-auth-method-index-js.js +2 -1
- package/dist/umd/descope-user-auth-method-index-js.js.map +1 -0
- package/dist/umd/fonts/font-1364590020.woff +0 -0
- package/dist/umd/fonts/font-1949233557.woff +0 -0
- package/dist/umd/index.js +2 -1
- package/dist/umd/index.js.map +1 -0
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mapping-item-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mapping-item-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-saml-group-mappings-descope-saml-group-mappings-internal-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-descope-saml-group-mappings-internal-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js +2 -1
- package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-field-index-js.js +2 -1
- package/dist/umd/phone-fields-descope-phone-field-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +3 -2
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +8 -7
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.map +1 -0
- package/package.json +10 -8
- package/src/baseClasses/createCssVarImageClass.js +10 -5
- package/src/components/button-selection-group-fields/baseButtonSelectionGroup.js +7 -0
- package/src/components/button-selection-group-fields/createBaseButtonSelectionGroupInternalClass.js +1 -8
- package/src/components/button-selection-group-fields/descope-button-selection-group-item/ButtonSelectionGroupItemClass.js +11 -6
- package/src/components/descope-alert/AlertClass.js +16 -12
- package/src/components/descope-badge/BadgeClass.js +11 -6
- package/src/components/descope-code-snippet/CodeSnippetClass.js +9 -4
- package/src/components/descope-container/ContainerClass.js +9 -4
- package/src/components/descope-date-field/DateFieldClass.js +22 -17
- package/src/components/descope-date-field/descope-calendar/CalendarClass.js +28 -18
- package/src/components/descope-date-field/descope-calendar/helpers.js +1 -2
- package/src/components/descope-divider/DividerClass.js +14 -9
- package/src/components/descope-enriched-text/EnrichedTextClass.js +9 -4
- package/src/components/descope-grid/GridClass.js +1 -1
- package/src/components/descope-hybrid-field/HybridFieldClass.js +15 -10
- package/src/components/descope-icon/IconClass.js +9 -4
- package/src/components/descope-image/ImageClass.js +10 -5
- package/src/components/descope-link/LinkClass.js +14 -9
- package/src/components/descope-list/ListClass.js +15 -13
- package/src/components/descope-list/ListItemClass.js +16 -14
- package/src/components/descope-loader-linear/LoaderLinearClass.js +10 -5
- package/src/components/descope-loader-radial/LoaderRadialClass.js +10 -5
- package/src/components/descope-modal/ModalClass.js +16 -4
- package/src/components/descope-new-password/NewPasswordClass.js +1 -1
- package/src/components/descope-new-password/descope-new-password-internal/NewPasswordInternal.js +8 -6
- package/src/components/descope-passcode/PasscodeClass.js +28 -1
- package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +26 -23
- package/src/components/descope-passcode/descope-passcode-internal/helpers.js +3 -22
- package/src/components/descope-policy-validation/PolicyValidationClass.js +8 -3
- package/src/components/descope-recaptcha/RecaptchaClass.js +13 -8
- package/src/components/descope-scopes-list/ScopesListClass.js +9 -5
- package/src/components/descope-security-questions-setup/SecurityQuestionsSetupClass.js +9 -5
- package/src/components/descope-security-questions-verify/SecurityQuestionsVerifyClass.js +9 -5
- package/src/components/descope-text-field/TextFieldClass.js +1 -1
- package/src/components/descope-third-party-app-logo/ThirdPartyAppLogoClass.js +20 -16
- package/src/components/descope-upload-file/UploadFileClass.js +20 -15
- package/src/components/descope-user-attribute/UserAttributeClass.js +25 -22
- package/src/components/descope-user-auth-method/UserAuthMethodClass.js +25 -22
- package/src/components/mapping-fields/descope-mappings-field/descope-mapping-item/MappingItem.js +15 -9
- package/src/components/phone-fields/descope-phone-field/PhoneFieldClass.js +1 -0
- package/src/components/phone-fields/descope-phone-field/helpers.js +0 -1
- package/src/mixins/createProxy.js +3 -1
- package/src/mixins/createStyleMixin/index.js +9 -22
- package/src/mixins/draggableMixin.js +3 -2
- package/dist/umd/1402.js +0 -1
- package/dist/umd/1484.js +0 -148
- package/dist/umd/3110.js +0 -275
- package/dist/umd/3437.js +0 -2
- package/dist/umd/4619.js +0 -1
- package/dist/umd/4902.js +0 -170
- package/dist/umd/4902.js.LICENSE.txt +0 -23
- package/dist/umd/5096.js +0 -109
- package/dist/umd/5318.js +0 -1
- package/dist/umd/5459.js +0 -1
- package/dist/umd/7150.js +0 -2
- package/dist/umd/731.js +0 -832
- package/dist/umd/8823.js +0 -1
- /package/dist/umd/{9243.js.LICENSE.txt → 1519.js.LICENSE.txt} +0 -0
- /package/dist/umd/{1902.js.LICENSE.txt → 1899.js.LICENSE.txt} +0 -0
- /package/dist/umd/{1172.js.LICENSE.txt → 1995.js.LICENSE.txt} +0 -0
- /package/dist/umd/{2570.js.LICENSE.txt → 2894.js.LICENSE.txt} +0 -0
- /package/dist/umd/{1484.js.LICENSE.txt → 3620.js.LICENSE.txt} +0 -0
- /package/dist/umd/{2666.js.LICENSE.txt → 384.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3437.js.LICENSE.txt → 4467.js.LICENSE.txt} +0 -0
- /package/dist/umd/{404.js.LICENSE.txt → 4518.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4455.js.LICENSE.txt → 4550.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4554.js.LICENSE.txt → 4623.js.LICENSE.txt} +0 -0
- /package/dist/umd/{742.js.LICENSE.txt → 4914.js.LICENSE.txt} +0 -0
- /package/dist/umd/{507.js.LICENSE.txt → 513.js.LICENSE.txt} +0 -0
- /package/dist/umd/{201.js.LICENSE.txt → 5260.js.LICENSE.txt} +0 -0
- /package/dist/umd/{5096.js.LICENSE.txt → 5648.js.LICENSE.txt} +0 -0
- /package/dist/umd/{5563.js.LICENSE.txt → 6227.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4127.js.LICENSE.txt → 6424.js.LICENSE.txt} +0 -0
- /package/dist/umd/{7097.js.LICENSE.txt → 6649.js.LICENSE.txt} +0 -0
- /package/dist/umd/{7150.js.LICENSE.txt → 676.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3638.js.LICENSE.txt → 7182.js.LICENSE.txt} +0 -0
- /package/dist/umd/{7979.js.LICENSE.txt → 7291.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4187.js.LICENSE.txt → 7565.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3191.js.LICENSE.txt → 7620.js.LICENSE.txt} +0 -0
- /package/dist/umd/{6050.js.LICENSE.txt → 7774.js.LICENSE.txt} +0 -0
- /package/dist/umd/{9478.js.LICENSE.txt → 7939.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4114.js.LICENSE.txt → 8618.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4574.js.LICENSE.txt → 8983.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4218.js.LICENSE.txt → 9380.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3110.js.LICENSE.txt → 9871.js.LICENSE.txt} +0 -0
- /package/dist/umd/{731.js.LICENSE.txt → 9970.js.LICENSE.txt} +0 -0
- /package/dist/umd/{bcdfe87ae253c2cf789c9a737f8d8c22.woff → fonts/font-38673212.woff} +0 -0
@@ -9,9 +9,3 @@
|
|
9
9
|
* Copyright (c) 2021 - 2023 Vaadin Ltd.
|
10
10
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
11
11
|
*/
|
12
|
-
|
13
|
-
/**
|
14
|
-
* @license
|
15
|
-
* Copyright (c) 2022 - 2023 Vaadin Ltd.
|
16
|
-
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
17
|
-
*/
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"9030.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"],"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"],"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"],"sourceRoot":""}
|
package/dist/umd/9365.js
ADDED
@@ -0,0 +1,2 @@
|
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[9365],{81365:(t,e,s)=>{s.d(e,{q:()=>l});var i=s(9696),r=s(45677),n=s(50005),a=s(62754),o=s(64088);const l=({componentName:t,baseSelector:e=""})=>{class s extends HTMLElement{static get componentName(){return t}#t;#e=!0;get baseSelector(){return e}get baseElement(){return this.#t??=this.baseSelector?this.rootElement.querySelector(this.baseSelector):this,this.#t||console.warn("missing base element for component",this.localName),this.#t}get rootElement(){return this.shadowRoot||this}get name(){return this.getAttribute("name")}connectedCallback(){super.connectedCallback?.(),this.rootElement.isConnected&&this.#e&&(this.#e=!1,this.init?.())}}return(0,i.Zz)(r.t,a.m,o.y,n.b)(s)}},13011:(t,e,s)=>{function i(t,e={}){const s=new Event(t,e);this[`on${t}`]?.(s),this.dispatchEvent(s)}s.d(e,{r:()=>i})},84448:(t,e,s)=>{s.d(e,{_:()=>r});var i=s(13011);const r=t=>class extends t{#s=i.r.bind(this,"change");init(){super.init?.(),this.prevValue=this.value,this.addEventListener("change",(t=>{t.stopPropagation()})),this.addEventListener("blur",(()=>{this.value!==this.prevValue&&(this.#s(),this.prevValue=this.value)}))}}},45677:(t,e,s)=>{s.d(e,{t:()=>i});const i=t=>class extends t{#i(){const e=this.localName;if(!t.componentName)throw Error('component name is not defined on super class, make sure you have a static get for "componentName"');if(e!==t.componentName)throw Error(`component name mismatch, expected "${t.componentName}", current "${e}"`)}init(){super.init?.(),this.#i()}}},50005:(t,e,s)=>{s.d(e,{b:()=>i});const i=t=>class extends t{updateComponentsContext(t){this.dispatchEvent(new CustomEvent("components-context",{bubbles:!0,composed:!0,detail:t}))}}},35321:(t,e,s)=>{s.d(e,{t:()=>l});var i=s(25964),r=s(81365),n=s(9696),a=s(97810),o=s(13011);const l=({componentName:t,wrappedEleName:e,slots:s=[],style:l,excludeAttrsSync:u=[],includeAttrsSync:h=[],includeForwardProps:c=[],delegatesFocus:d=!0})=>{class m extends((0,r.q)({componentName:t,baseSelector:e})){#r=o.r.bind(this,"blur");#n=o.r.bind(this,"focus");constructor(){super().attachShadow({mode:"open",delegatesFocus:d}).innerHTML=`\n\t\t\t<${e}>\n\t\t\t${s.map((t=>`<slot ${t?`name="${t}" slot="${t}"`:""}></slot>`)).join("")}\n\t\t\t</${e}>\n\t\t`,(0,i.fz)(((0,n.Tn)(l)?l():l)||"",this)}init(){super.init?.(),this.baseElement.addEventListener("blur",(t=>{this.#r()})),this.baseElement.addEventListener("focus",(t=>{this.#n()})),(0,a.q)(this.baseElement,this,c),(0,a.Gh)(this.baseElement,this,{excludeAttrs:u,includeAttrs:h})}}return m}},48401:(t,e,s)=>{s.d(e,{AM:()=>c,SR:()=>h,_r:()=>l});var i=s(9696),r=s(97810);const n=(t,e)=>`var(${t}${e?`, ${e}`:""})`;class a{constructor(){this.styleMap=new Map}add(t,e,s){this.styleMap.has(t)||this.styleMap.set(t,[]),this.styleMap.set(t,[...this.styleMap.get(t),{property:e,value:s}])}toString(){return Array.from(this.styleMap.entries()).reduce(((t,[e,s])=>`${t}${e} { \n${s.map((({property:t,value:e})=>`${t}: ${e}`)).join(";\n")} \n}\n\n`),"")}}const o=(t,e="fallback")=>(0,i.GL)(t,e),l=(t,e,s)=>{const l=new a,u=(t,e)=>{if(!t)return"";if("string"==typeof t)return t;const s=o(e,t?.suffix);return n(s,u(t.fallback,s))};return Object.keys(s).forEach((a=>{const o=((t,e)=>{const s={selector:"",property:(0,i.kW)(t)};return e&&Object.keys(e).length?Array.isArray(e)?e.map((t=>({...s,...t}))):[{...s,...e}]:[s]})(a,s[a]),h=(0,r.Ix)(t,a);o.forEach((({selector:t,property:s,important:r,fallback:a})=>{const o=u(a,h);l.add(((t="",e="")=>(0,i.Tn)(e)?e(t):`${t}${/^[A-Za-z]/.test(e)?` ${e}`:e}`)(e,t),(0,i.Tn)(s)?s():s,n(h,o)+(r?"!important":""))}))})),l.toString()},u=(t,e,{fallback:s})=>{if(!s)return{};const r=o(e,s.suffix),n=(0,i.dk)(t,s.suffix||"fallback");return{[n]:r,...u(n,r,s)}},h=(t,e)=>Object.keys(e).reduce(((s,i)=>{const n=(0,r.Ix)(t,i);return Object.assign(s,{[i]:n},u(i,n,e[i]))}),{}),c=(t,e)=>Array(e).fill(`.${t}`).join("")},76356:(t,e,s)=>{s.d(e,{R:()=>u});var i=s(25964),r=s(3047),n=s(9696),a=s(97810),o=s(73227),l=s(48401);const u=({mappings:t={},componentNameOverride:e=""})=>s=>{const u=e||s.componentName;return class e extends s{static get cssVarList(){return{...s.cssVarList,...(0,l.SR)(u,{...t})}}#a;#o;#l;#u;#h;#c;#d;#m;#p;constructor({getRootElement:t,componentNameSuffix:s="",themeSection:i=r.IM,baseSelector:a}={}){super(),this.#u=s,this.#h=i,this.#d=a??this.baseSelector,this.#p=t,this.#m=Object.keys(e.cssVarList).map((t=>(0,n.GL)("st",s,t)))}get#g(){return o.componentsThemeManager.currentTheme?.[u]||""}#b(){this.#o.replaceSync(this.#g[this.#h])}#E(){this.#o=(0,i.fz)("",this.#c,{prepend:!0}),this.#l=o.componentsThemeManager.onCurrentThemeChange(this.#b.bind(this)),this.#b()}#v(){if(this.#m.length){const t=(0,l.AM)(u,r.aE);this.#a=(0,i.fz)(`:host(${t}) {}`,this.#c)}}#f(t,e){const s=this.#a?.cssRules[0].style;if(!s)return;const i=(0,a.Ix)(u,t.replace(new RegExp("^st-"),""));e?s?.setProperty(i,e):(s?.removeProperty(i),this.removeAttribute(t))}#y(t=[]){t.forEach((t=>{this.#m.includes(t)&&this.#f(t,this.getAttribute(t))}))}#A(){if(Object.keys(t).length){const e=(0,l._r)((0,n.GL)(u,this.#u),this.#d,t);(0,i.fz)(e,this.#c,{prepend:!0})}}#x(t){(this.#c.classList||this.#c.host.classList).add(t)}async init(){super.init?.(),this.shadowRoot.isConnected&&(this.#c=await(this.#p?.(this))||this.shadowRoot,this.#x(u),this.#A(),this.#E(),this.#v(),(0,a.mx)(this,this.#y.bind(this),{}))}disconnectedCallback(){super.disconnectedCallback?.(),this.#l?.()}}}},4709:(t,e,s)=>{s.d(e,{V:()=>r});var i=s(25964);const r=t=>class extends t{#S=null;static get observedAttributes(){return[...t.observedAttributes||[],"draggable"]}constructor(){super(),(0,i.fz)("* { cursor: inherit!important }",this)}#w(t){t?this.shadowRoot.appendChild(this.#S):this.#S.remove()}get isDraggable(){return this.hasAttribute("draggable")&&"false"!==this.getAttribute("draggable")}init(){this.addEventListener("mousedown",(t=>{if(this.isDraggable){const e=this.baseElement.getAttribute("tabindex");this.baseElement.setAttribute("tabindex","-1");const s=()=>{e?this.baseElement.setAttribute("tabindex",e):this.baseElement.removeAttribute("tabindex"),t.target.removeEventListener("mouseup",s),t.target.removeEventListener("dragend",s)};t.target.addEventListener("mouseup",s,{once:!0}),t.target.addEventListener("dragend",s,{once:!0})}})),super.init?.()}attributeChangedCallback(t,e,s){super.attributeChangedCallback?.(t,e,s),"draggable"===t&&this.#w("true"===s)}}},15083:(t,e,s)=>{s.d(e,{E8:()=>i,Mk:()=>n,q$:()=>r});const i=(t,e)=>{const s=document.createElement("slot");return s.setAttribute("name",t),s.setAttribute("slot",e),s},r=(t,e,s,i)=>{const r=document.createElement("input");return r.setAttribute("slot",t),r.setAttribute("type",e),r.setAttribute("name",i),r.setAttribute("data-hidden-input","true"),r.setAttribute("autocomplete",s),r},n=(t,e,s)=>{setTimeout((()=>{const i=getComputedStyle(t),r=i.getPropertyValue("height"),n=i.getPropertyValue("padding-left"),a=i.getPropertyValue("padding-right"),o=i.getPropertyValue("font-size"),l=i.getPropertyValue("font-family"),u=i.getPropertyValue("letter-spacing"),h=i.getPropertyValue("caret-color"),c=((t,e)=>{const s=t.value;t.value="_";const i=e.getPropertyValue("color");return"_"===t.value&&(t.value=s),i})(t,i);if([["all","unset"],["position","absolute"],["background-color","transparent"],["height",r],["left",n],["right",a],["font-size",o],["font-family",l],["letter-spacing",u],["caret-color",h],["color",c]].forEach((([t,s])=>e.style.setProperty(t,s,"important"))),"floating"===s){const t=i.getPropertyValue("margin-bottom");e.style.setProperty("margin-bottom",t,"important")}const d=i.getPropertyValue("width");e.style.setProperty("width",`calc(${d} - ${n} - ${a}`,"important")}),0)}},98511:(t,e,s)=>{s.d(e,{R:()=>n});var i=s(97810),r=s(15083);const n=({inputType:t,inputName:e,autocompleteType:s,includeAttrs:n=[],noBlurDispatch:a=!1})=>o=>class extends o{#M=[];get isExternalInput(){return"true"===this.getAttribute("external-input")}createExternalInput(){if(!this.isExternalInput||this.isReadOnly||this.isDisabled)return null;const s=this.baseElement.querySelector("input");if(!s)return null;s.setAttribute("tabindex","-1");const a=(0,r.E8)("external-input","suffix");return this.baseElement.appendChild(a),this.externalInput=(0,r.q$)("external-input",t,this.getAutocompleteType(),e),setTimeout((()=>{(0,r.Mk)(s,this.externalInput,this.getAttribute("label-type"))})),this.forwardInputValue(s,this.externalInput),(0,i.Gh)(s,this.externalInput,{includeAttrs:n}),this.baseElement.querySelector("input").addEventListener("focusout",(t=>t.stopImmediatePropagation()),!0),this.handleFocusEvents(),this.handleBlurEvents(),this.handlelInputEvents(this.externalInput),this.appendChild(this.externalInput),this.externalInput}clearBlurTimers(){this.#M.forEach((t=>clearTimeout(t))),this.#M.length=0}dispatchBlur(){return setTimeout((()=>{this.dispatchEvent(new Event("blur",{bubbles:!0,composed:!0})),this.removeAttribute("focused")}))}handleFocusEvents(){this.baseElement.addEventListener("focus",(()=>{this.externalInput.focus(),this.clearBlurTimers()})),this.externalInput.addEventListener("focus",(()=>{this.clearBlurTimers(),setTimeout((()=>this.baseElement.setAttribute("focused","true")))}))}handleBlurEvents(){this.baseElement.addEventListener("blur",(t=>{t.stopImmediatePropagation(),a||this.#M.push(this.dispatchBlur())}),!0),this.externalInput.addEventListener("blur",(t=>{t.stopImmediatePropagation(),this.#M.push(this.dispatchBlur())}),!0)}handlelInputEvents(t){t.addEventListener("input",(t=>{this.value=t.target.value})),t.addEventListener("input",(t=>{t.target.value?this.setAttribute("has-value","true"):this.removeAttribute("has-value")}))}getAutocompleteType(){return this.getAttribute("autocomplete")||s}forwardInputValue(t,e){const s=Object.getOwnPropertyDescriptor(this.inputElement.constructor.prototype,"value");Object.defineProperty(t,"value",{...s,set(t){s.set.call(this,t),e.value=t},configurable:!0})}}},62754:(t,e,s)=>{s.d(e,{m:()=>i});const i=t=>class extends t{init(){super.init?.(),this.baseElement.addEventListener("mouseover",(t=>{this.setAttribute("hover","true"),t.target.addEventListener("mouseleave",(()=>this.removeAttribute("hover")),{once:!0})}))}}},79365:(t,e,s)=>{s.d(e,{OZ:()=>a.O,RF:()=>i.R,RV:()=>p.R,VO:()=>r.V,XX:()=>u.X,_$:()=>c._,jd:()=>m.j,mA:()=>h.m,mZ:()=>l.m,tQ:()=>o.t,tz:()=>n.t,yF:()=>d.y});var i=s(76356),r=s(4709),n=s(35321),a=s(90764),o=s(45677),l=s(62754),u=s(41689),h=s(45566),c=s(84448),d=s(64088),m=s(27079),p=s(98511)},27079:(t,e,s)=>{s.d(e,{j:()=>r});var i=s(13011);const r=t=>class extends t{init(){this.#T(),super.init?.()}#T(){["blur","focus","focusin","focusout"].forEach((t=>{this.addEventListener(t,(t=>{t.isTrusted&&t.target===this&&t.stopImmediatePropagation()}))}))}handleFocusEventsDispatching(t){let e;t?.forEach((t=>{t?.addEventListener("focusout",(t=>{t.stopImmediatePropagation(),e=setTimeout((()=>{e=null,i.r.call(this,"blur"),i.r.call(this,"focusout",{bubbles:!0})}))}));const s=t=>{t.stopImmediatePropagation(),clearTimeout(e),e||(i.r.call(this,"focus"),i.r.call(this,"focusin",{bubbles:!0}))};t?.addEventListener("focusin",s),t?.addEventListener("focus",s)}))}handleInputEventDispatching(){let t=this.value;this.addEventListener("input",(e=>{this!==e.target&&(e.stopImmediatePropagation(),t!==this.value&&(t=this.value,i.r.call(this,"input",{bubbles:!0,composed:!0})))}))}}},41689:(t,e,s)=>{s.d(e,{X:()=>a}),s(42672);const i=["required","pattern"],r="data-errormessage-pattern-mismatch",n=Symbol("validationTarget"),a=t=>class extends t{#V=n;static get observedAttributes(){return[...t.observedAttributes||[],...i]}static get formAssociated(){return!0}#L;get internals(){return this.#L}set internals(t){this.#L=t}constructor(){super(),this.#L=this.attachInternals()}get defaultErrorMsgValueMissing(){return"Please fill out this field."}get defaultErrorMsgPatternMismatch(){return"Please match the requested format."}get defaultErrorMsgTooShort(){return`Minimum length is ${this.getAttribute("minlength")}.`}get defaultErrorMsgTooLong(){return`Maximum length is ${this.getAttribute("maxlength")}. `}get defaultErrorMsgRangeUnderflow(){return`At least ${this.getAttribute("min-items-selection")} items are required.`}get defaultErrorMsgRangeOverflow(){return`At most ${this.getAttribute("max-items-selection")} items are allowed.`}get defaultErrorMsgTypeMismatch(){return"Please match the requested type."}getErrorMessage(t){const{valueMissing:e,patternMismatch:s,typeMismatch:i,stepMismatch:n,tooShort:a,tooLong:o,rangeOverflow:l,rangeUnderflow:u,badInput:h,customError:c}=t;switch(!0){case e:return this.getAttribute("data-errormessage-value-missing")||this.defaultErrorMsgValueMissing;case s||n||h:return this.getAttribute(r)||this.defaultErrorMsgPatternMismatch;case i:return this.getAttribute("data-errormessage-type-mismatch")||this.getAttribute(r)||this.defaultErrorMsgTypeMismatch;case a:return this.getAttribute("data-errormessage-pattern-mismatch-too-short")||this.defaultErrorMsgTooShort;case o:return this.getAttribute("data-errormessage-pattern-mismatch-too-long")||this.defaultErrorMsgTooLong;case u:return this.getAttribute("data-errormessage-pattern-range-underflow")||this.defaultErrorMsgRangeUnderflow;case l:return this.getAttribute("data-errormessage-pattern-range-overflow")||this.defaultErrorMsgRangeOverflow;case c:return this.validationMessage;default:return""}}#C(){const t=this.isReadOnly?{}:this.getValidity();this.#L.setValidity(t,this.getErrorMessage(t),this.validationTarget)}get validationMessage(){return this.#L.validationMessage}getValidity(){console.warn("getValidity","is not implemented")}checkValidity(){return this.#L.validity.valid}reportValidity(){return this.#L.reportValidity()}get validity(){return this.#L.validity}get validationTarget(){return this.#V===n?this.inputElement:this.#V}set validationTarget(t){this.#V=t}setCustomValidity(t){t?this.#L.setValidity({customError:!0},t,this.validationTarget):(this.#L.setValidity({}),this.#C())}get isRequired(){return this.hasAttribute("required")&&"false"!==this.getAttribute("required")}get isReadOnly(){return this.hasAttribute("readonly")&&"false"!==this.getAttribute("readonly")}get isDisabled(){return this.hasAttribute("disabled")&&"false"!==this.getAttribute("disabled")}get pattern(){return this.getAttribute("pattern")}get form(){return this.#L.form}attributeChangedCallback(t,e,s){super.attributeChangedCallback?.(t,e,s),i.includes(t)&&this.#C()}init(){super.init?.(),this.addEventListener("change",this.#C),this.addEventListener("invalid",(t=>t.stopPropagation())),this.addEventListener("input",this.#C),setTimeout((()=>this.#C()))}}},64088:(t,e,s)=>{s.d(e,{y:()=>n});var i=s(97810);const r=["readonly","focused","invalid","has-label","required","disabled","checked","has-helper","has-value","step-buttons-visible","hover","has-error-message","focus-ring","opened","active","password-visible","opening","closing","has-no-options","loading","allow-custom-value","loading"],n=t=>class extends t{init(){super.init?.(),(0,i.mx)(this,(t=>t.forEach((t=>{const e=this.getAttribute(t);(t=>r.includes(t))(t)?""===e?this.setAttribute(t,"true"):"false"===e&&this.removeAttribute(t):e||console.debug(`attribute "${t}" has no value, should it be added to the boolean attributes list?`)}))),{})}}},45566:(t,e,s)=>{s.d(e,{m:()=>u});var i=s(3047),r=s(9696),n=s(97810),a=s(76356),o=s(48401);const l=t=>async e=>{const s=await t(e);return new Promise((t=>{let e=0;const i=()=>{if(e>20)return console.error("could not get shadow root for element",s),void t(s);e++,s?.shadowRoot?t(s.shadowRoot):setTimeout(i)};i()}))},u=({name:t,selector:e,mappings:s={},forward:{attributes:u=[],include:h=!0}={}})=>c=>{const d=t||(t=>t.replace(/[^\w\s]/gi,""))(e),m=(0,a.R)({mappings:s})(c);return class extends m{static get cssVarList(){return{...m.cssVarList,[d]:(0,o.SR)((0,r.GL)(c.componentName,"_"+d),s)}}#I;constructor(){const t=l((async t=>{const s=(t.shadowRoot||t).querySelector(t.baseSelector);return e?(await l((()=>s))(t)).querySelector(e):s}));super({getRootElement:t,componentNameSuffix:"_"+d,themeSection:i.WJ+d,baseSelector:":host"}),this.#I=t(this).then((t=>t.host))}async#P(){const t=await this.#I;t.onmouseenter=t=>{t.target.setAttribute("hover","true")},t.onmouseleave=t=>{t.target.removeAttribute("hover")}}async init(){super.init?.();const t=await this.#I;(0,n.EA)(this,t,{[h?"includeAttrs":"excludeAttrs"]:u}),this.#P()}}}},90764:(t,e,s)=>{s.d(e,{O:()=>c});var i=s(9696),r=s(97810),n=s(13011),a=s(76356),o=s(41689);const l=["invalid","required"],u=t=>{if(!t)return;let e=t;for(let t=0;t<10;t++)if([e]=e.assignedElements(),"slot"!==e?.localName)return e},h=({proxyProps:t=[],useProxyTargets:e=!1,inputEvent:s="input",triggerValidationEvents:i=[],proxyParentValidation:a=!1})=>h=>class extends((0,o.X)(h)){static get observedAttributes(){return[...h.observedAttributes||[],...l]}#R;#s=n.r.bind(this,"change");constructor(){super(),this.#R=super.inputElement}warnIfInputElementIsMissing(){clearTimeout(this.inputElementTimerId),this.inputElementTimerId=setTimeout((()=>{!this.#R&&console.warn(this.localName,"no input was found")}),0)}get inputElement(){if(this.#R)return this.#R;this.warnIfInputElementIsMissing();const t=this.baseElement.shadowRoot?.querySelector('slot[name="input"]'),e=this.baseElement.shadowRoot?.querySelector('slot[name="textarea"]');return this.#R=u(t)||u(e),this.#R}set inputElement(t){this.#R=t}getValidity(){return this.inputElement?.validity||{}}#k(){this.setAttribute("error-message",this.validationMessage)}reportValidity=()=>{this.inputElement.setCustomValidity(""),this.setCustomValidity(""),this.checkValidity()||(this.setAttribute("invalid","true"),this.#k(),this.focus())};defaultReportValidity(){return super.reportValidity()}init(){if(super.init?.(),this.baseElement._setInvalid=function(t){!t&&this._shouldSetInvalid(t)&&(this.invalid=t)},this.baseElement.addEventListener("input",(t=>{t.composed||this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0}))})),i.forEach((t=>{this.baseElement?.addEventListener(t,(()=>{this.inputElement?.setCustomValidity("")}))})),setTimeout((()=>{(Array.isArray(s)?s:[s]).forEach((t=>{this.baseElement?.addEventListener(t,(()=>{this.baseElement.checkValidity()?this.removeAttribute("invalid"):this.#k()}))})),this.baseElement.addEventListener("change",(()=>{this.#s()})),this.addEventListener("invalid",(()=>{this.checkValidity()||this.setAttribute("invalid","true"),this.#k()})),t.forEach((t=>{const s=this.querySelector('input[slot="external-input"]')||null,i=e?[this.baseElement,s].filter(Boolean):[];((t,e,s)=>{const i=Array.isArray(e)?e:[e];Object.defineProperty(t,s,{set(t){i.forEach((e=>{e[s]=t}))},get:()=>e[0][s],configurable:!0})})(this,[this.inputElement,...i],t)})),this.setSelectionRange=this.inputElement?.setSelectionRange?.bind(this.inputElement),(0,r.EA)(this,this.inputElement,{includeAttrs:["inputmode"]})})),a){const t=this.inputElement.internals,e=this;this.inputElement.internals=new Proxy(t,{get:(t,s)=>"function"==typeof t[s]&&"setValidity"===s?(...i)=>{if(3===i.length){const t=i.slice(0,i.length-1);t.push(e.inputElement),e.internals[s](...t)}else e.internals[s](...i);return t[s](...i)}:"function"==typeof t[s]?(...i)=>(e.internals[s](...i),t[s](...i)):t[s]})}}},c=t=>(0,i.Zz)(h(t),(0,a.R)({componentNameOverride:(0,r.xE)("input-wrapper")}))}}]);
|
2
|
+
//# sourceMappingURL=9365.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"9365.js","mappings":"oNAMO,MAAMA,EAAkB,EAAGC,gBAAeC,eAAe,OAC9D,MAAMC,UAAyBC,YAC7B,wBAAWH,GACT,OAAOA,CACT,CAEA,GAEA,IAAU,EAKV,gBAAIC,GACF,OAAOA,CACT,CAGA,eAAIG,GASF,OARAC,MAAK,IAAiBA,KAAKJ,aACvBI,KAAKC,YAAYC,cAAcF,KAAKJ,cACpCI,KAECA,MAAK,GAERG,QAAQC,KAAK,qCAAsCJ,KAAKK,WAEnDL,MAAK,CACd,CAIA,eAAIC,GACF,OAAOD,KAAKM,YAAcN,IAC5B,CAEA,QAAIO,GACF,OAAOP,KAAKQ,aAAa,OAC3B,CAEA,iBAAAC,GACEC,MAAMD,sBAEFT,KAAKC,YAAYU,aAEfX,MAAK,IACPA,MAAK,GAAU,EACfA,KAAKY,SAGX,EAGF,OAAO,QACL,IACA,IACA,IACA,IAJK,CAKLf,EAAiB,C,kBC5Dd,SAASgB,EAAoBC,EAAWC,EAAU,CAAC,GACxD,MAAMC,EAAQ,IAAIC,MAAMH,EAAWC,GAEnCf,KAAK,KAAKc,OAAeE,GACzBhB,KAAKkB,cAAcF,EACrB,C,kECPO,MAAMG,EAAeC,GAC1B,cAA+BA,EAC7B,GAAkB,IAAoBC,KAAKrB,KAAM,UAEjD,IAAAY,GACEF,MAAME,SACNZ,KAAKsB,UAAYtB,KAAKuB,MAEtBvB,KAAKwB,iBAAiB,UAAWC,IAC/BA,EAAEC,iBAAiB,IAGrB1B,KAAKwB,iBAAiB,QAAQ,KACxBxB,KAAKuB,QAAUvB,KAAKsB,YACtBtB,MAAK,IACLA,KAAKsB,UAAYtB,KAAKuB,MACxB,GAEJ,E,mCCpBG,MAAMI,EAAgCP,GAC3C,cAAgDA,EAC9C,KACE,MAAMQ,EAAuB5B,KAAKK,UAElC,IAAKe,EAAWzB,cACd,MAAMkC,MACJ,qGAIJ,GAAID,IAAyBR,EAAWzB,cACtC,MAAMkC,MACJ,sCAAsCT,EAAWzB,4BAA4BiC,KAGnF,CAEA,IAAAhB,GACEF,MAAME,SACNZ,MAAK,GACP,E,mCCrBG,MAAM8B,EAA0BV,GACrC,cAA0CA,EACxC,uBAAAW,CAAwBC,GACtBhC,KAAKkB,cACH,IAAIe,YAAY,qBAAsB,CACpCC,SAAS,EACTC,UAAU,EACVC,OAAQJ,IAGd,E,6FCJG,MAAMK,EAAc,EACzB1C,gBACA2C,iBACAC,QAAQ,GACRC,QACAC,mBAAmB,GACnBC,mBAAmB,GACnBC,sBAAsB,GACtBC,kBAAiB,MAEjB,MAAMC,WAAmB,OAAgB,CAAElD,gBAAeC,aAAc0C,KACtE,GAAgB,IAAoBjB,KAAKrB,KAAM,QAE/C,GAAiB,IAAoBqB,KAAKrB,KAAM,SAEhD,WAAA8C,GACEpC,QAAQqC,aAAa,CAAEC,KAAM,OAAQJ,mBAAkBK,UAAY,YACnEX,aACDC,EACIW,KAEGC,GACG,SAASA,EAAO,SAASA,YAAeA,KAAU,eAExDC,KAAK,gBACPd,YAGD,UAAa,QAAWE,GAASA,IAAUA,IAAU,GAAIxC,KAC3D,CAEA,IAAAY,GACEF,MAAME,SAENZ,KAAKD,YAAYyB,iBAAiB,QAAS6B,IACzCrD,MAAK,GAAe,IAGtBA,KAAKD,YAAYyB,iBAAiB,SAAU6B,IAC1CrD,MAAK,GAAgB,KAIvB,OAAaA,KAAKD,YAAaC,KAAM2C,IAErC,QAAU3C,KAAKD,YAAaC,KAAM,CAChCsD,aAAcb,EACdc,aAAcb,GAElB,EAGF,OAAOG,CAAU,C,+ECvDnB,MAAMW,EAAe,CAACC,EAASC,IAAa,OAAOD,IAAUC,EAAW,KAAKA,IAAa,MAW1F,MAAMC,EACJ,WAAAb,GACE9C,KAAK4D,SAAW,IAAIC,GACtB,CAEA,GAAAC,CAAIC,EAAUC,EAAUzC,GACjBvB,KAAK4D,SAASK,IAAIF,IACrB/D,KAAK4D,SAASM,IAAIH,EAAU,IAG9B/D,KAAK4D,SAASM,IAAIH,EAAU,IAAI/D,KAAK4D,SAASO,IAAIJ,GAAW,CAAEC,WAAUzC,UAC3E,CAEA,QAAA6C,GACE,OAAOC,MAAMC,KAAKtE,KAAK4D,SAASW,WAAWC,QAAO,CAACC,GAAMV,EAAUW,KAK1D,GAAGD,IAAMV,SAJGW,EAChBxB,KAAI,EAAGc,WAAUzC,WAAY,GAAGyC,MAAazC,MAC7C6B,KAAK,kBAGP,GACL,EAGF,MAUMuB,EAAqB,CAACC,EAAaC,EAAS,cAAe,QAAcD,EAAaC,GAE/EC,EAAc,CAACnF,EAAeC,EAAcmF,KACvD,MAAMvC,EAAQ,IAAImB,EACZqB,EAAoB,CAACtB,EAAUkB,KACnC,IAAKlB,EAAU,MAAO,GACtB,GAAwB,iBAAbA,EAAuB,OAAOA,EAEzC,MAAMuB,EAAkBN,EAAmBC,EAAalB,GAAUmB,QAClE,OAAOrB,EAAayB,EAAiBD,EAAkBtB,EAASA,SAAUuB,GAAiB,EAoB7F,OAjBAC,OAAOC,KAAKJ,GAAUK,SAASC,IAC7B,MAAMC,EAvBc,EAACD,EAAME,KAC7B,MAAMC,EAAiB,CAAEzB,SAAU,GAAIC,UAAU,QAAUqB,IAE3D,OAAKE,GAAWL,OAAOC,KAAKI,GAAQE,OAEhCpB,MAAMqB,QAAQH,GAAgBA,EAAOrC,KAAKyC,IAAU,IAAMH,KAAmBG,MAE1E,CAAC,IAAKH,KAAmBD,IAJmB,CAACC,EAIX,EAgBpBI,CAAgBP,EAAMN,EAASM,IAE5CQ,GAAa,QAAclG,EAAe0F,GAEhDC,EAAWF,SACT,EAAGrB,SAAU+B,EAA8B9B,WAAU+B,YAAWrC,eAC9D,MAAMsC,EAAgBhB,EAAkBtB,EAAUmC,GAClDrD,EAAMsB,IA/DY,EAAClE,EAAe,GAAIkG,EAA+B,MAC3E,QAAWA,GACPA,EAA6BlG,GAC7B,GAAGA,IACD,YAAYqG,KAAKH,GACb,IAAIA,IACJA,IA0DFI,CAAkBtG,EAAckG,IAChC,QAAW9B,GAAYA,IAAaA,EACpCR,EAAaqC,EAAYG,IAAkBD,EAAY,aAAe,IACvE,GAEJ,IAGIvD,EAAM4B,UAAU,EAGnB+B,EAAuB,CAACd,EAAMT,GAAelB,eACjD,IAAKA,EAAU,MAAO,CAAC,EAEvB,MAAMuB,EAAkBN,EAAmBC,EAAalB,EAASmB,QAC3DuB,GAAmB,QAAcf,EAAM3B,EAASmB,QAAU,YAChE,MAAO,CACL,CAACuB,GAAmBnB,KACjBkB,EAAqBC,EAAkBnB,EAAiBvB,GAC5D,EAGU2C,EAAoB,CAAC1G,EAAeoF,IAC/CG,OAAOC,KAAKJ,GAAUP,QAAO,CAACC,EAAKY,KACjC,MAAM5B,GAAU,QAAc9D,EAAe0F,GAE7C,OAAOH,OAAOoB,OACZ7B,EACA,CAAE,CAACY,GAAO5B,GACV0C,EAAqBd,EAAM5B,EAASsB,EAASM,IAC9C,GACA,CAAC,GAIOkB,EAA+B,CAACC,EAAWC,IACtDpC,MAAMoC,GAAcC,KAAK,IAAIF,KAAapD,KAAK,G,uGClGjD,MAEauD,EACX,EAAG5B,WAAW,CAAC,EAAG6B,wBAAwB,MACzCxF,IACC,MAAMzB,EAAgBiH,GAAyBxF,EAAWzB,cAE1D,OAAO,MAAMkH,UAA8BzF,EACzC,qBAAW0F,GACT,MAAO,IACF1F,EAAW0F,eACX,QAAkBnH,EAAe,IAC/BoF,IAGT,CAEA,GAEA,GAEA,GAEA,GAEA,GAEA,GAEA,GAEA,GAEA,GAKA,WAAAjC,EAAY,eACViE,EAAc,oBACdC,EAAsB,GAAE,aACxBC,EAAe,KAAkB,aACjCrH,GACE,CAAC,GACHc,QACAV,MAAK,EAAuBgH,EAC5BhH,MAAK,EAAgBiH,EACrBjH,MAAK,EAAgBJ,GAAgBI,KAAKJ,aAC1CI,MAAK,EAAkB+G,EAEvB/G,MAAK,EAAmBkF,OAAOC,KAAK0B,EAAsBC,YAAY5D,KAAKgE,IACzE,QAnDyB,KAmDiBF,EAAqBE,IAEnE,CAGA,KAAI,GACF,OAAO,EAAAC,uBAAuBC,eAAezH,IAAkB,EACjE,CAEA,KACEK,MAAK,EAAeqH,YAAYrH,MAAK,EAAgBA,MAAK,GAC5D,CAEA,KACEA,MAAK,GAAiB,QAAY,GAAIA,MAAK,EAAc,CAAEsH,SAAS,IACpEtH,MAAK,EAA0B,EAAAmH,uBAAuBI,qBACpDvH,MAAK,EAAwBqB,KAAKrB,OAEpCA,MAAK,GACP,CAEA,KACE,GAAIA,MAAK,EAAiByF,OAAQ,CAChC,MAAM+B,GAAiB,QACrB7H,EACA,MAGFK,MAAK,GAAoB,QAAY,SAASwH,QAAsBxH,MAAK,EAC3E,CACF,CAEA,GAAiByH,EAAUlG,GACzB,MAAMiB,EAAQxC,MAAK,GAAmB0H,SAAS,GAAGlF,MAElD,IAAKA,EAAO,OAEZ,MAAMiB,GAAU,QACd9D,EACA8H,EAASE,QAAQ,IAAIC,OAAO,QAAoC,KAG9DrG,EAAOiB,GAAOqF,YAAYpE,EAASlC,IAErCiB,GAAOsF,eAAerE,GACtBzD,KAAK+H,gBAAgBN,GAEzB,CAEA,GAAsBO,EAAQ,IAC5BA,EAAM5C,SAASC,IACTrF,MAAK,EAAiBiI,SAAS5C,IACjCrF,MAAK,EAAiBqF,EAAMrF,KAAKQ,aAAa6E,GAChD,GAEJ,CAEA,KACE,GAAIH,OAAOC,KAAKJ,GAAUU,OAAQ,CAChC,MAAMjD,GAAQ,SACZ,QAAc7C,EAAeK,MAAK,GAClCA,MAAK,EACL+E,IAGF,QAAYvC,EAAOxC,MAAK,EAAc,CAAEsH,SAAS,GACnD,CACF,CAEA,GAAcd,IACXxG,MAAK,EAAakI,WAAalI,MAAK,EAAamI,KAAKD,WAAWpE,IAAI0C,EACxE,CAEA,UAAM5F,GACJF,MAAME,SACFZ,KAAKM,WAAWK,cAClBX,MAAK,QAAsBA,MAAK,IAAkBA,QAAUA,KAAKM,WAEjEN,MAAK,EAAcL,GAEnBK,MAAK,IACLA,MAAK,IACLA,MAAK,KAGL,QAAkBA,KAAMA,MAAK,EAAsBqB,KAAKrB,MAAO,CAAC,GAEpE,CAEA,oBAAAoI,GACE1H,MAAM0H,yBAENpI,MAAK,KACP,EACD,C,iDCtJE,MAAMqI,EAAkBjH,GAC7B,cAAkCA,EAChC,GAAY,KAEZ,6BAAWkH,GAET,MAAO,IADYlH,EAAWkH,oBAAsB,GAC7B,YACzB,CAEA,WAAAxF,GACEpC,SAEA,QAAY,kCAAmCV,KACjD,CAEA,GAAsBuI,GAChBA,EACFvI,KAAKM,WAAWkI,YAAYxI,MAAK,GAEjCA,MAAK,EAAUyI,QAEnB,CAEA,eAAIF,GACF,OAAOvI,KAAK0I,aAAa,cAAmD,UAAnC1I,KAAKQ,aAAa,YAC7D,CAEA,IAAAI,GAKEZ,KAAKwB,iBAAiB,aAAcC,IAClC,GAAIzB,KAAKuI,YAAa,CACpB,MAAMI,EAAe3I,KAAKD,YAAYS,aAAa,YACnDR,KAAKD,YAAY6I,aAAa,WAAY,MAE1C,MAAMC,EAAa,KACjBF,EACI3I,KAAKD,YAAY6I,aAAa,WAAYD,GAC1C3I,KAAKD,YAAYgI,gBAAgB,YAErCtG,EAAEqH,OAAOC,oBAAoB,UAAWF,GACxCpH,EAAEqH,OAAOC,oBAAoB,UAAWF,EAAW,EAGrDpH,EAAEqH,OAAOtH,iBAAiB,UAAWqH,EAAY,CAAEG,MAAM,IACzDvH,EAAEqH,OAAOtH,iBAAiB,UAAWqH,EAAY,CAAEG,MAAM,GAC3D,KAGFtI,MAAME,QACR,CAEA,wBAAAqI,CAAyBxB,EAAUyB,EAAUC,GAC3CzI,MAAMuI,2BAA2BxB,EAAUyB,EAAUC,GACpC,cAAb1B,GACFzH,MAAK,EAAmC,SAAbmJ,EAE/B,E,sDC3DJ,MAkBaC,EAA0B,CAACC,EAAUC,KAChD,MAAMC,EAAUC,SAASC,cAAc,QAKvC,OAHAF,EAAQX,aAAa,OAAQS,GAC7BE,EAAQX,aAAa,OAAQU,GAEtBC,CAAO,EAGHG,EAAyB,CAACJ,EAAgBK,EAAMC,EAAkBC,KAC7E,MAAMC,EAAWN,SAASC,cAAc,SAQxC,OANAK,EAASlB,aAAa,OAAQU,GAC9BQ,EAASlB,aAAa,OAAQe,GAC9BG,EAASlB,aAAa,OAAQiB,GAC9BC,EAASlB,aAAa,oBAAqB,QAC3CkB,EAASlB,aAAa,eAAgBgB,GAE/BE,CAAQ,EAMJC,EAA2B,CAACC,EAAgBC,EAAgBC,KAGvEC,YAAW,KACT,MAAMC,EAAgBC,iBAAiBL,GAEjCM,EAASF,EAAcG,iBAAiB,UACxCC,EAAcJ,EAAcG,iBAAiB,gBAC7CE,EAAeL,EAAcG,iBAAiB,iBAC9CG,EAAWN,EAAcG,iBAAiB,aAC1CI,EAAaP,EAAcG,iBAAiB,eAC5CK,EAAgBR,EAAcG,iBAAiB,kBAC/CM,EAAaT,EAAcG,iBAAiB,eAE5CO,EAxDY,EAACC,EAAKX,KAG1B,MAAMY,EAAUD,EAAIxJ,MAGpBwJ,EAAIxJ,MAAQ,IAEZ,MAAMuJ,EAAaV,EAAcG,iBAAiB,SAOlD,MALkB,MAAdQ,EAAIxJ,QAENwJ,EAAIxJ,MAAQyJ,GAGPF,CAAU,EAyCIG,CAAcjB,EAAgBI,GAqBjD,GAnB0B,CACxB,CAAC,MAAO,SACR,CAAC,WAAY,YACb,CAAC,mBAAoB,eACrB,CAAC,SAAUE,GACX,CAAC,OAAQE,GACT,CAAC,QAASC,GACV,CAAC,YAAaC,GACd,CAAC,cAAeC,GAChB,CAAC,iBAAkBC,GACnB,CAAC,cAAeC,GAChB,CAAC,QAASC,IAGM1F,SAAQ,EAAE8B,EAAKgE,KAC/BjB,EAAezH,MAAMqF,YAAYX,EAAKgE,EAAK,eAI3B,aAAdhB,EAA0B,CAC5B,MAAMiB,EAAef,EAAcG,iBAAiB,iBACpDN,EAAezH,MAAMqF,YAAY,gBAAiBsD,EAAc,YAClE,CAGA,MAAMC,EAAQhB,EAAcG,iBAAiB,SAC7CN,EAAezH,MAAMqF,YACnB,QACA,QAAQuD,OAAWZ,OAAiBC,IACpC,YACD,GACA,EAAE,C,6DCpFA,MAAMY,EACX,EAAGC,YAAWzB,YAAWD,mBAAkBrG,eAAe,GAAIgI,kBAAiB,KAC9EnK,GACC,cAAsCA,EACpC,GAAU,GAEV,mBAAIoK,GACF,MAA+C,SAAxCxL,KAAKQ,aAAa,iBAC3B,CAEA,mBAAAiL,GACE,IAAKzL,KAAKwL,iBAAmBxL,KAAK0L,YAAc1L,KAAK2L,WACnD,OAAO,KAIT,MAAMC,EAAY5L,KAAKD,YAAYG,cAAc,SAEjD,IAAK0L,EACH,OAAO,KAMTA,EAAUhD,aAAa,WAAY,MAGnC,MAAMiD,GAAoB,QAAwB,iBAAkB,UA2CpE,OAxCA7L,KAAKD,YAAYyI,YAAYqD,GAE7B7L,KAAK8L,eAAgB,QACnB,iBACAR,EACAtL,KAAK+L,sBACLlC,GAIFM,YAAW,MACT,QAAyByB,EAAW5L,KAAK8L,cAAe9L,KAAKQ,aAAa,cAAc,IAI1FR,KAAKgM,kBAAkBJ,EAAW5L,KAAK8L,gBAEvC,QAAUF,EAAW5L,KAAK8L,cAAe,CACvCvI,iBAKFvD,KAAKD,YACFG,cAAc,SACdsB,iBAAiB,YAAaC,GAAMA,EAAEwK,6BAA4B,GAMrEjM,KAAKkM,oBACLlM,KAAKmM,mBAGLnM,KAAKoM,mBAAmBpM,KAAK8L,eAG7B9L,KAAKwI,YAAYxI,KAAK8L,eAEf9L,KAAK8L,aACd,CAEA,eAAAO,GACErM,MAAK,EAAQoF,SAASkH,GAAUC,aAAaD,KAC7CtM,MAAK,EAAQyF,OAAS,CACxB,CAEA,YAAA+G,GACE,OAAOrC,YAAW,KAChBnK,KAAKkB,cAAc,IAAID,MAAM,OAAQ,CAAEiB,SAAS,EAAMC,UAAU,KAChEnC,KAAK+H,gBAAgB,UAAU,GAEnC,CAEA,iBAAAmE,GAGElM,KAAKD,YAAYyB,iBAAiB,SAAS,KACzCxB,KAAK8L,cAAcW,QACnBzM,KAAKqM,iBAAiB,IAIxBrM,KAAK8L,cAActK,iBAAiB,SAAS,KAC3CxB,KAAKqM,kBACLlC,YAAW,IAAMnK,KAAKD,YAAY6I,aAAa,UAAW,SAAQ,GAEtE,CAEA,gBAAAuD,GACEnM,KAAKD,YAAYyB,iBACf,QACCC,IACCA,EAAEwK,2BAGEV,GACJvL,MAAK,EAAQ0M,KAAK1M,KAAKwM,eAAe,IAExC,GAGFxM,KAAK8L,cAActK,iBACjB,QACCC,IACCA,EAAEwK,2BACFjM,MAAK,EAAQ0M,KAAK1M,KAAKwM,eAAe,IAExC,EAEJ,CAEA,kBAAAJ,CAAmBN,GAEjBA,EAActK,iBAAiB,SAAUC,IACvCzB,KAAKuB,MAAQE,EAAEqH,OAAOvH,KAAK,IAI7BuK,EAActK,iBAAiB,SAAUC,IAClCA,EAAEqH,OAAOvH,MAGZvB,KAAK4I,aAAa,YAAa,QAF/B5I,KAAK+H,gBAAgB,YAGvB,GAEJ,CAEA,mBAAAgE,GACE,OAAO/L,KAAKQ,aAAa,iBAAmBoJ,CAC9C,CAEA,iBAAAoC,CAAkBW,EAAQ7D,GAExB,MAAM8D,EAAkB1H,OAAO2H,yBAC7B7M,KAAK8M,aAAahK,YAAYiK,UAC9B,SAGF7H,OAAO8H,eAAeL,EAAQ,QAAS,IAClCC,EAEH,GAAA1I,CAAI+I,GACFL,EAAgB1I,IAAIgJ,KAAKlN,KAAMiN,GAE/BnE,EAAOvH,MAAQ0L,CACjB,EACAE,cAAc,GAElB,E,mCCxKC,MAAMC,EAAkBhM,GAC7B,cAAkCA,EAChC,IAAAR,GACEF,MAAME,SAENZ,KAAKD,YAAYyB,iBAAiB,aAAcC,IAC9CzB,KAAK4I,aAAa,QAAS,QAC3BnH,EAAEqH,OAAOtH,iBAAiB,cAAc,IAAMxB,KAAK+H,gBAAgB,UAAU,CAC3EiB,MAAM,GACN,GAEN,E,uVCTG,MAAMqE,EAA+BjM,GAC1C,cAA+CA,EAC7C,IAAAR,GACEZ,MAAK,IAELU,MAAME,QACR,CAGA,KACE,CAAC,OAAQ,QAAS,UAAW,YAAYwE,SAASpE,IAChDhB,KAAKwB,iBAAiBR,GAAQS,IAC5BA,EAAE6L,WAAa7L,EAAEqH,SAAW9I,MAAQyB,EAAEwK,0BAA0B,GAChE,GAEN,CAEA,4BAAAsB,CAA6BC,GAC3B,IAAIC,EAKJD,GAAQpI,SAASsI,IACfA,GAAOlM,iBAAiB,YAAaC,IACnCA,EAAEwK,2BACFwB,EAAUtD,YAAW,KACnBsD,EAAU,KAEV,IAAoBP,KAAKlN,KAAM,QAC/B,IAAoBkN,KAAKlN,KAAM,WAAY,CAAEkC,SAAS,GAAO,GAC7D,IAOJ,MAAMyL,EAAWlM,IACfA,EAAEwK,2BACFM,aAAakB,GACRA,IACH,IAAoBP,KAAKlN,KAAM,SAC/B,IAAoBkN,KAAKlN,KAAM,UAAW,CAAEkC,SAAS,IACvD,EAIFwL,GAAOlM,iBAAiB,UAAWmM,GACnCD,GAAOlM,iBAAiB,QAASmM,EAAQ,GAE7C,CAKA,2BAAAC,GACE,IAAIC,EAA6B7N,KAAKuB,MAItCvB,KAAKwB,iBAAiB,SAAUC,IAE1BzB,OAASyB,EAAEqH,SACbrH,EAAEwK,2BAEE4B,IAA+B7N,KAAKuB,QACtCsM,EAA6B7N,KAAKuB,MAClC,IAAoB2L,KAAKlN,KAAM,QAAS,CAAEkC,SAAS,EAAMC,UAAU,KAEvE,GAEJ,E,4CCxEJ,MAAMmG,EAAqB,CAAC,WAAY,WAElCwF,EAEa,qCAQbC,EAAyBC,OAAO,oBAEzBC,EAAwB7M,GACnC,cAAwCA,EACtC,GAAoB2M,EAEpB,6BAAWzF,GACT,MAAO,IAAKlH,EAAWkH,oBAAsB,MAAQA,EACvD,CAEA,yBAAW4F,GACT,OAAO,CACT,CAEA,GAEA,aAAIC,GACF,OAAOnO,MAAK,CACd,CAEA,aAAImO,CAAU5M,GACZvB,MAAK,EAAauB,CACpB,CAEA,WAAAuB,GACEpC,QAEAV,MAAK,EAAaA,KAAKoO,iBACzB,CAGA,+BAAIC,GACF,MAAO,6BACT,CAGA,kCAAIC,GACF,MAAO,oCACT,CAEA,2BAAIC,GACF,MAAO,qBAAqBvO,KAAKQ,aAAa,eAChD,CAEA,0BAAIgO,GACF,MAAO,qBAAqBxO,KAAKQ,aAAa,iBAChD,CAEA,iCAAIiO,GACF,MAAO,YAAYzO,KAAKQ,aAAa,4CACvC,CAEA,gCAAIkO,GACF,MAAO,WAAW1O,KAAKQ,aAAa,2CACtC,CAGA,+BAAImO,GACF,MAAO,kCACT,CAEA,eAAAC,CAAgBC,GACd,MAAM,aACJC,EAAY,gBACZC,EAAe,aACfC,EAAY,aACZC,EAAY,SACZC,EAAQ,QACRC,EAAO,cACPC,EAAa,eACbC,EAAc,SACdC,EAAQ,YACRC,GACEV,EAEJ,QAAQ,GACN,KAAKC,EACH,OACE9O,KAAKQ,aAvFD,oCAuF+CR,KAAKqO,4BAE5D,KAAKU,GAAmBE,GAAgBK,EACtC,OACEtP,KAAKQ,aAAasN,IAClB9N,KAAKsO,+BAET,KAAKU,EACH,OACEhP,KAAKQ,aA1FD,oCA2FJR,KAAKQ,aAAasN,IAClB9N,KAAK2O,4BAET,KAAKO,EACH,OAAOlP,KAAKQ,aAnGV,iDAmGoDR,KAAKuO,wBAC7D,KAAKY,EACH,OAAOnP,KAAKQ,aApGX,gDAoGoDR,KAAKwO,uBAC5D,KAAKa,EACH,OACErP,KAAKQ,aAtGC,8CAsG+CR,KAAKyO,8BAE9D,KAAKW,EACH,OACEpP,KAAKQ,aAzGA,6CAyG+CR,KAAK0O,6BAE7D,KAAKa,EACH,OAAOvP,KAAKwP,kBACd,QACE,MAAO,GAEb,CAEA,KACE,MAAMC,EAAWzP,KAAK0L,WAAa,CAAC,EAAI1L,KAAK0P,cAC7C1P,MAAK,EAAW2P,YAAYF,EAAUzP,KAAK4O,gBAAgBa,GAAWzP,KAAK4P,iBAC7E,CAEA,qBAAIJ,GACF,OAAOxP,MAAK,EAAWwP,iBACzB,CAGA,WAAAE,GAEEvP,QAAQC,KAAK,cAAe,qBAC9B,CAEA,aAAAyP,GACE,OAAO7P,MAAK,EAAWyP,SAASK,KAClC,CAEA,cAAAC,GACE,OAAO/P,MAAK,EAAW+P,gBACzB,CAEA,YAAIN,GACF,OAAOzP,MAAK,EAAWyP,QACzB,CAEA,oBAAIG,GACF,OAAO5P,MAAK,IAAsB+N,EAC9B/N,KAAK8M,aACL9M,MAAK,CACX,CAEA,oBAAI4P,CAAiB1E,GACnBlL,MAAK,EAAoBkL,CAC3B,CAEA,iBAAA8E,CAAkBC,GACZA,EACFjQ,MAAK,EAAW2P,YAAY,CAAEJ,aAAa,GAAQU,EAAcjQ,KAAK4P,mBAEtE5P,MAAK,EAAW2P,YAAY,CAAC,GAC7B3P,MAAK,IAET,CAEA,cAAIkQ,GACF,OAAOlQ,KAAK0I,aAAa,aAAiD,UAAlC1I,KAAKQ,aAAa,WAC5D,CAEA,cAAIkL,GACF,OAAO1L,KAAK0I,aAAa,aAAiD,UAAlC1I,KAAKQ,aAAa,WAC5D,CAEA,cAAImL,GACF,OAAO3L,KAAK0I,aAAa,aAAiD,UAAlC1I,KAAKQ,aAAa,WAC5D,CAEA,WAAI2P,GACF,OAAOnQ,KAAKQ,aAAa,UAC3B,CAEA,QAAI4P,GACF,OAAOpQ,MAAK,EAAWoQ,IACzB,CAEA,wBAAAnH,CAAyBxB,EAAUyB,EAAUC,GAC3CzI,MAAMuI,2BAA2BxB,EAAUyB,EAAUC,GAEjDb,EAAmBL,SAASR,IAC9BzH,MAAK,GAET,CAEA,IAAAY,GACEF,MAAME,SACNZ,KAAKwB,iBAAiB,SAAUxB,MAAK,GACrCA,KAAKwB,iBAAiB,WAAYC,GAAMA,EAAEC,oBAC1C1B,KAAKwB,iBAAiB,QAASxB,MAAK,GAKpCmK,YAAW,IAAMnK,MAAK,KACxB,E,kDC9MJ,MAAMqQ,EAAwB,CAC5B,WACA,UACA,UACA,YACA,WACA,WACA,UACA,aACA,YACA,uBACA,QACA,oBACA,aACA,SACA,SACA,mBACA,UACA,UACA,iBACA,UACA,qBACA,WAQWC,EAAmClP,GAC9C,cAAmDA,EACjD,IAAAR,GACEF,MAAME,UAEN,QACEZ,MACCgI,GACCA,EAAM5C,SAASC,IACb,MAAMkL,EAAUvQ,KAAKQ,aAAa6E,GAdnB,CAACA,GACnBgL,EAAsBpI,SAAS5C,GAexBmL,CAAmBnL,GACL,KAAZkL,EACFvQ,KAAK4I,aAAavD,EAAM,QACH,UAAZkL,GACTvQ,KAAK+H,gBAAgB1C,GAEbkL,GAEVpQ,QAAQsQ,MACN,cAAcpL,sEAElB,KAEJ,CAAC,EAEL,E,4FC/CJ,MAIMqL,EAAyBC,GAAqBC,MAAOC,IACzD,MAAM9F,QAAY4F,EAAiBE,GAEnC,OAAO,IAAIC,SAASC,IAElB,IAAIC,EAAU,EAEd,MAAMC,EAAQ,KACZ,GAAID,EAJc,GAQhB,OAFA7Q,QAAQ+Q,MAAM,wCAAyCnG,QACvDgG,EAAIhG,GAINiG,IAEKjG,GAAKzK,WAGRyQ,EAAIhG,EAAIzK,YAFR6J,WAAW8G,EAGb,EAEFA,GAAO,GACP,EAGSE,EACX,EAAG5Q,OAAMwD,WAAUgB,WAAW,CAAC,EAAGqM,SAAWC,aAAa,GAAIC,WAAU,GAAS,CAAC,KACjFlQ,IACC,MAAMmQ,EAAiBhR,GAhCF,CAACwD,GAAaA,EAAS4D,QAAQ,YAAa,IAgClC6J,CAAiBzN,GAE1C0N,GAAY,OAAiB,CACjC1M,YADgB,CAEf3D,GAEH,OAAO,cAA+BqQ,EACpC,qBAAW3K,GACT,MAAO,IACF2K,EAAU3K,WACb,CAACyK,IAAiB,SAChB,QAAcnQ,EAAWzB,cA7CN,IA6C8C4R,GACjExM,GAGN,CAEA,GAEA,WAAAjC,GAEE,MAYM4O,EAAmBhB,GAZFE,MAAOC,IAC5B,MAAMc,GAAWd,EAAKvQ,YAAcuQ,GAAM3Q,cAAc2Q,EAAKjR,cAC7D,OAAKmE,SAM2B2M,GAAsB,IAAMiB,GAA5BjB,CAAqCG,IAC5C3Q,cAAc6D,GAN9B4N,CAMuC,IAKlDjR,MAAM,CACJqG,eAAgB2K,EAChB1K,oBAvEqB,IAuEyBuK,EAC9CtK,aAAc,KAAsBsK,EACpC3R,aAAc,UAGhBI,MAAK,EAAa0R,EAAiB1R,MAAM4R,MAAM7G,GAAQA,EAAI5C,MAC7D,CAEA,OAAM,GACJ,MAAM0J,QAAkB7R,MAAK,EAC7B6R,EAAUC,aAAgBrQ,IACxBA,EAAEqH,OAAOF,aAAa,QAAS,OAAO,EAExCiJ,EAAUE,aAAgBtQ,IACxBA,EAAEqH,OAAOf,gBAAgB,QAAQ,CAErC,CAEA,UAAMnH,GACJF,MAAME,SACN,MAAMiR,QAAkB7R,MAAK,GAC7B,QAAaA,KAAM6R,EAAW,CAC5B,CAACP,EAAU,eAAiB,gBAAiBD,IAG/CrR,MAAK,GACP,EACD,C,6FCtGL,MAAMgS,EAAa,CAAC,UAAW,YAoBzBC,EAAkBlH,IACtB,IAAKA,EAAK,OAIV,IAAImH,EAAanH,EACjB,IAAK,IAAIoH,EAAI,EAAGA,EAHK,GAGaA,IAEhC,IADCD,GAAcA,EAAWE,mBACI,SAA1BF,GAAY7R,UAAsB,OAAO6R,CAE/B,EAGZG,EACJ,EACEC,aAAa,GAIbC,mBAAkB,EAGlBC,aAAa,QACbC,0BAA0B,GAE1BC,yBAAwB,KAEzBtR,GACC,eAAmC,OAAqBA,IACtD,6BAAWkH,GACT,MAAO,IAAKlH,EAAWkH,oBAAsB,MAAQ0J,EACvD,CAEA,GAEA,GAAkB,IAAoB3Q,KAAKrB,KAAM,UAEjD,WAAA8C,GACEpC,QAEAV,MAAK,EAAgBU,MAAMoM,YAC7B,CAIA,2BAAA6F,GACEpG,aAAavM,KAAK4S,qBAElB5S,KAAK4S,oBAAsBzI,YAAW,MAEnCnK,MAAK,GAAiBG,QAAQC,KAAKJ,KAAKK,UAAW,qBAAqB,GACxE,EACL,CAEA,gBAAIyM,GACF,GAAI9M,MAAK,EAAe,OAAOA,MAAK,EAEpCA,KAAK2S,8BAEL,MAAME,EAAY7S,KAAKD,YAAYO,YAAYJ,cAAc,sBACvD4S,EAAe9S,KAAKD,YAAYO,YAAYJ,cAAc,yBAIhE,OAFAF,MAAK,EAAgBiS,EAAeY,IAAcZ,EAAea,GAE1D9S,MAAK,CACd,CAEA,gBAAI8M,CAAa/B,GACf/K,MAAK,EAAgB+K,CACvB,CAEA,WAAA2E,GACE,OAAO1P,KAAK8M,cAAc2C,UAAY,CAAC,CACzC,CAEA,KACEzP,KAAK4I,aAAa,gBAAiB5I,KAAKwP,kBAC1C,CAIAO,eAAiB,KAEf/P,KAAK8M,aAAakD,kBAAkB,IACpChQ,KAAKgQ,kBAAkB,IAClBhQ,KAAK6P,kBACR7P,KAAK4I,aAAa,UAAW,QAC7B5I,MAAK,IACLA,KAAKyM,QACP,EAIF,qBAAAsG,GACE,OAAOrS,MAAMqP,gBACf,CAEA,IAAAnP,GAuEE,GAtEAF,MAAME,SAQNZ,KAAKD,YAAYiT,YAAc,SAAUC,IAClCA,GAAWjT,KAAKkT,kBAAkBD,KACrCjT,KAAKiT,QAAUA,EAEnB,EAMAjT,KAAKD,YAAYyB,iBAAiB,SAAUC,IACrCA,EAAEU,UACLnC,KAAKkB,cAAc,IAAID,MAAM,QAAS,CAAEiB,SAAS,EAAMC,UAAU,IACnE,IAGFsQ,EAAwBrN,SAAS3D,IAC/BzB,KAAKD,aAAayB,iBAAiBC,GAAG,KACpCzB,KAAK8M,cAAckD,kBAAkB,GAAG,GACxC,IAKJ7F,YAAW,MACgB9F,MAAMqB,QAAQ8M,GAAcA,EAAa,CAACA,IAElDpN,SAAS3D,IACxBzB,KAAKD,aAAayB,iBAAiBC,GAAG,KAC/BzB,KAAKD,YAAY8P,gBAGpB7P,KAAK+H,gBAAgB,WAFrB/H,MAAK,GAGP,GACA,IAGJA,KAAKD,YAAYyB,iBAAiB,UAAU,KAC1CxB,MAAK,GAAiB,IAGxBA,KAAKwB,iBAAiB,WAAW,KAC1BxB,KAAK6P,iBACR7P,KAAK4I,aAAa,UAAW,QAE/B5I,MAAK,GAAqB,IAI5BsS,EAAWlN,SAAS+N,IAClB,MAAMrH,EAAgB9L,KAAKE,cAAc,iCAAmC,KACtEkT,EAAeb,EACjB,CAACvS,KAAKD,YAAa+L,GAAeuH,OAAOC,SACzC,GAjLK,EAACC,EAAKC,EAASxP,KAClC,MAAMyP,EAAYpP,MAAMqB,QAAQ8N,GAAWA,EAAU,CAACA,GAEtDtO,OAAO8H,eAAeuG,EAAKvP,EAAU,CACnC,GAAAE,CAAI+I,GACFwG,EAAUrO,SAAS0D,IACjBA,EAAO9E,GAAYiJ,CAAC,GAExB,EACA9I,IAAG,IACMqP,EAAQ,GAAGxP,GAEpBmJ,cAAc,GACd,EAqKQuG,CAAa1T,KAAM,CAACA,KAAK8M,gBAAiBsG,GAAeD,EAAK,IAGhEnT,KAAK2T,kBAAoB3T,KAAK8M,cAAc6G,mBAAmBtS,KAAKrB,KAAK8M,eAEzE,QAAa9M,KAAMA,KAAK8M,aAAc,CAAEvJ,aAAc,CAAC,cAAe,IAGpEmP,EAAuB,CAIzB,MAAMkB,EAAwB5T,KAAK8M,aAAaqB,UAC1C0F,EAAa7T,KACnBA,KAAK8M,aAAaqB,UAAY,IAAI2F,MAAMF,EAAuB,CAC7DzP,IAAK,CAAC2E,EAAQqK,IACgB,mBAAjBrK,EAAOqK,IAAiC,gBAATA,EACjC,IAAIY,KAGT,GAAoB,IAAhBA,EAAKtO,OAAc,CACrB,MAAMuO,EAAUD,EAAKE,MAAM,EAAGF,EAAKtO,OAAS,GAC5CuO,EAAQtH,KAAKmH,EAAW/G,cACxB+G,EAAW1F,UAAUgF,MAASa,EAChC,MACEH,EAAW1F,UAAUgF,MAASY,GAEhC,OAAOjL,EAAOqK,MAASY,EAAK,EAIJ,mBAAjBjL,EAAOqK,GACT,IAAIY,KACTF,EAAW1F,UAAUgF,MAASY,GACvBjL,EAAOqK,MAASY,IAIpBjL,EAAOqK,IAGpB,CACF,GAGAe,EAA2BC,IAC/B,QACE9B,EAAgB8B,IAIhB,OAAiB,CAAEvN,uBAAuB,QAAiB,mB","sources":["webpack://@descope/web-components-ui/./src/baseClasses/createBaseClass.js","webpack://@descope/web-components-ui/./src/helpers/mixinsHelpers.js","webpack://@descope/web-components-ui/./src/mixins/changeMixin.js","webpack://@descope/web-components-ui/./src/mixins/componentNameValidationMixin.js","webpack://@descope/web-components-ui/./src/mixins/componentsContextMixin.js","webpack://@descope/web-components-ui/./src/mixins/createProxy.js","webpack://@descope/web-components-ui/./src/mixins/createStyleMixin/helpers.js","webpack://@descope/web-components-ui/./src/mixins/createStyleMixin/index.js","webpack://@descope/web-components-ui/./src/mixins/draggableMixin.js","webpack://@descope/web-components-ui/./src/mixins/externalInputHelpers.js","webpack://@descope/web-components-ui/./src/mixins/externalInputMixin.js","webpack://@descope/web-components-ui/./src/mixins/hoverableMixin.js","webpack://@descope/web-components-ui/./src/mixins/inputEventsDispatchingMixin.js","webpack://@descope/web-components-ui/./src/mixins/inputValidationMixin.js","webpack://@descope/web-components-ui/./src/mixins/normalizeBooleanAttributesMixin.js","webpack://@descope/web-components-ui/./src/mixins/portalMixin.js","webpack://@descope/web-components-ui/./src/mixins/proxyInputMixin.js"],"sourcesContent":["import { compose } from '../helpers';\nimport { componentNameValidationMixin } from '../mixins/componentNameValidationMixin';\nimport { componentsContextMixin } from '../mixins/componentsContextMixin';\nimport { hoverableMixin } from '../mixins/hoverableMixin';\nimport { normalizeBooleanAttributesMixin } from '../mixins/normalizeBooleanAttributesMixin';\n\nexport const createBaseClass = ({ componentName, baseSelector = '' }) => {\n class DescopeBaseClass extends HTMLElement {\n static get componentName() {\n return componentName;\n }\n\n #baseElement;\n\n #isInit = true;\n\n // base selector is the selector for the component wrapper,\n // it's the highest element that is relevant for the layout\n // eslint-disable-next-line class-methods-use-this\n get baseSelector() {\n return baseSelector;\n }\n\n // this is the base element, which returned by querying the base selector\n get baseElement() {\n this.#baseElement ??= this.baseSelector\n ? this.rootElement.querySelector(this.baseSelector)\n : this;\n\n if (!this.#baseElement) {\n // eslint-disable-next-line no-console\n console.warn('missing base element for component', this.localName);\n }\n return this.#baseElement;\n }\n\n // this is the component root level element,\n // it can be either a shadow root or the component's node from the light DOM\n get rootElement() {\n return this.shadowRoot || this;\n }\n\n get name() {\n return this.getAttribute('name');\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n if (this.rootElement.isConnected) {\n // the init function is running once, on the first time the component is connected\n if (this.#isInit) {\n this.#isInit = false;\n this.init?.();\n }\n }\n }\n }\n\n return compose(\n componentNameValidationMixin,\n hoverableMixin,\n normalizeBooleanAttributesMixin,\n componentsContextMixin\n )(DescopeBaseClass);\n};\n","// create a dispatch event function that also calls to the onevent function in case it's set\n// usage example:\n// #dispatchSomething = createDispatchEvent.bind(this, 'something' { ...options })\n// this will dispatch a new event when called, but also call to \"onsomething\"\nexport function createDispatchEvent(eventName, options = {}) {\n const event = new Event(eventName, options);\n\n this[`on${eventName}`]?.(event); // in case we got an event callback as property\n this.dispatchEvent(event);\n}\n","import { createDispatchEvent } from '../helpers/mixinsHelpers';\n\nexport const changeMixin = (superclass) =>\n class ChangeMixinClass extends superclass {\n #dispatchChange = createDispatchEvent.bind(this, 'change');\n\n init() {\n super.init?.();\n this.prevValue = this.value;\n\n this.addEventListener('change', (e) => {\n e.stopPropagation();\n });\n\n this.addEventListener('blur', () => {\n if (this.value !== this.prevValue) {\n this.#dispatchChange();\n this.prevValue = this.value;\n }\n });\n }\n };\n","export const componentNameValidationMixin = (superclass) =>\n class ComponentNameValidationMixinClass extends superclass {\n #checkComponentName() {\n const currentComponentName = this.localName;\n\n if (!superclass.componentName) {\n throw Error(\n `component name is not defined on super class, make sure you have a static get for \"componentName\"`\n );\n }\n\n if (currentComponentName !== superclass.componentName) {\n throw Error(\n `component name mismatch, expected \"${superclass.componentName}\", current \"${currentComponentName}\"`\n );\n }\n }\n\n init() {\n super.init?.();\n this.#checkComponentName();\n }\n };\n","export const componentsContextMixin = (superclass) =>\n class ComponentsContextMixinClass extends superclass {\n updateComponentsContext(componentsContext) {\n this.dispatchEvent(\n new CustomEvent('components-context', {\n bubbles: true,\n composed: true,\n detail: componentsContext,\n })\n );\n }\n };\n","import { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '../baseClasses/createBaseClass';\nimport { isFunction } from '../helpers';\nimport { forwardProps, syncAttrs } from '../helpers/componentHelpers';\nimport { createDispatchEvent } from '../helpers/mixinsHelpers';\n\nexport const createProxy = ({\n componentName,\n wrappedEleName,\n slots = [],\n style,\n excludeAttrsSync = [],\n includeAttrsSync = [],\n includeForwardProps = [],\n delegatesFocus = true,\n}) => {\n class ProxyClass extends createBaseClass({ componentName, baseSelector: wrappedEleName }) {\n #dispatchBlur = createDispatchEvent.bind(this, 'blur');\n\n #dispatchFocus = createDispatchEvent.bind(this, 'focus');\n\n constructor() {\n super().attachShadow({ mode: 'open', delegatesFocus }).innerHTML = `\n\t\t\t<${wrappedEleName}>\n\t\t\t${slots\n .map(\n (\n slot // when slot is an empty string, we will create the default slot (without a name)\n ) => `<slot ${slot ? `name=\"${slot}\" slot=\"${slot}\"` : ''}></slot>`\n )\n .join('')}\n\t\t\t</${wrappedEleName}>\n\t\t`;\n\n injectStyle((isFunction(style) ? style() : style) || '', this);\n }\n\n init() {\n super.init?.();\n\n this.baseElement.addEventListener('blur', (_) => {\n this.#dispatchBlur();\n });\n\n this.baseElement.addEventListener('focus', (_) => {\n this.#dispatchFocus();\n });\n\n // this is needed for components that uses props, such as combo box\n forwardProps(this.baseElement, this, includeForwardProps);\n\n syncAttrs(this.baseElement, this, {\n excludeAttrs: excludeAttrsSync,\n includeAttrs: includeAttrsSync,\n });\n }\n }\n\n return ProxyClass;\n};\n","import { camelCaseJoin, isFunction, kebabCase, kebabCaseJoin } from '../../helpers';\nimport { getCssVarName } from '../../helpers/componentHelpers';\n\nconst createCssVar = (varName, fallback) => `var(${varName}${fallback ? `, ${fallback}` : ''})`;\n\nconst createCssSelector = (baseSelector = '', relativeSelectorOrSelectorFn = '') =>\n isFunction(relativeSelectorOrSelectorFn)\n ? relativeSelectorOrSelectorFn(baseSelector)\n : `${baseSelector}${\n /^[A-Za-z]/.test(relativeSelectorOrSelectorFn)\n ? ` ${relativeSelectorOrSelectorFn}`\n : relativeSelectorOrSelectorFn\n }`;\n\nclass StyleBuilder {\n constructor() {\n this.styleMap = new Map();\n }\n\n add(selector, property, value) {\n if (!this.styleMap.has(selector)) {\n this.styleMap.set(selector, []);\n }\n\n this.styleMap.set(selector, [...this.styleMap.get(selector), { property, value }]);\n }\n\n toString() {\n return Array.from(this.styleMap.entries()).reduce((acc, [selector, propValArr]) => {\n const properties = propValArr\n .map(({ property, value }) => `${property}: ${value}`)\n .join(';\\n');\n\n return `${acc}${selector} { \\n${properties} \\n}\\n\\n`;\n }, '');\n }\n}\n\nconst normalizeConfig = (attr, config) => {\n const defaultMapping = { selector: '', property: kebabCase(attr) };\n\n if (!config || !Object.keys(config).length) return [defaultMapping];\n\n if (Array.isArray(config)) return config.map((entry) => ({ ...defaultMapping, ...entry }));\n\n return [{ ...defaultMapping, ...config }];\n};\n\nconst getFallbackVarName = (origVarName, suffix = 'fallback') => kebabCaseJoin(origVarName, suffix);\n\nexport const createStyle = (componentName, baseSelector, mappings) => {\n const style = new StyleBuilder();\n const createFallbackVar = (fallback, origVarName) => {\n if (!fallback) return '';\n if (typeof fallback === 'string') return fallback;\n\n const fallbackVarName = getFallbackVarName(origVarName, fallback?.suffix);\n return createCssVar(fallbackVarName, createFallbackVar(fallback.fallback, fallbackVarName));\n };\n\n Object.keys(mappings).forEach((attr) => {\n const attrConfig = normalizeConfig(attr, mappings[attr]);\n\n const cssVarName = getCssVarName(componentName, attr);\n\n attrConfig.forEach(\n ({ selector: relativeSelectorOrSelectorFn, property, important, fallback }) => {\n const fallbackValue = createFallbackVar(fallback, cssVarName);\n style.add(\n createCssSelector(baseSelector, relativeSelectorOrSelectorFn),\n isFunction(property) ? property() : property,\n createCssVar(cssVarName, fallbackValue) + (important ? '!important' : '')\n );\n }\n );\n });\n\n return style.toString();\n};\n\nconst getFallbackVarsNames = (attr, origVarName, { fallback }) => {\n if (!fallback) return {};\n\n const fallbackVarName = getFallbackVarName(origVarName, fallback.suffix);\n const fallbackAttrName = camelCaseJoin(attr, fallback.suffix || 'fallback');\n return {\n [fallbackAttrName]: fallbackVarName,\n ...getFallbackVarsNames(fallbackAttrName, fallbackVarName, fallback),\n };\n};\n\nexport const createCssVarsList = (componentName, mappings) =>\n Object.keys(mappings).reduce((acc, attr) => {\n const varName = getCssVarName(componentName, attr);\n\n return Object.assign(\n acc,\n { [attr]: varName },\n getFallbackVarsNames(attr, varName, mappings[attr])\n );\n }, {});\n\n// on some cases we need a selector to be more specific than another\n// for this we have this fn that generate a class selector multiple times\nexport const createClassSelectorSpecifier = (className, numOfRepeats) =>\n Array(numOfRepeats).fill(`.${className}`).join('');\n","import { injectStyle } from '@descope-ui/common/components-helpers';\nimport { BASE_THEME_SECTION, CSS_SELECTOR_SPECIFIER_MULTIPLY } from '../../constants';\nimport { kebabCaseJoin } from '../../helpers';\nimport { getCssVarName, observeAttributes } from '../../helpers/componentHelpers';\nimport { componentsThemeManager } from '../../helpers/themeHelpers';\nimport { createStyle, createCssVarsList, createClassSelectorSpecifier } from './helpers';\n\nconst STYLE_OVERRIDE_ATTR_PREFIX = 'st';\n\nexport const createStyleMixin =\n ({ mappings = {}, componentNameOverride = '' }) =>\n (superclass) => {\n const componentName = componentNameOverride || superclass.componentName;\n\n return class CustomStyleMixinClass extends superclass {\n static get cssVarList() {\n return {\n ...superclass.cssVarList,\n ...createCssVarsList(componentName, {\n ...mappings,\n }),\n };\n }\n\n #overrideStyleEle;\n\n #themeStyleEle;\n\n #disconnectThemeManager;\n\n #componentNameSuffix;\n\n #themeSection;\n\n #rootElement;\n\n #baseSelector;\n\n #styleAttributes;\n\n #getRootElement;\n\n // we are using this mixin also for portalMixin\n // so we should be able to inject styles to other DOM elements\n // this is why we need to support these overrides\n constructor({\n getRootElement,\n componentNameSuffix = '',\n themeSection = BASE_THEME_SECTION,\n baseSelector,\n } = {}) {\n super();\n this.#componentNameSuffix = componentNameSuffix;\n this.#themeSection = themeSection;\n this.#baseSelector = baseSelector ?? this.baseSelector;\n this.#getRootElement = getRootElement;\n\n this.#styleAttributes = Object.keys(CustomStyleMixinClass.cssVarList).map((key) =>\n kebabCaseJoin(STYLE_OVERRIDE_ATTR_PREFIX, componentNameSuffix, key)\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n get #componentTheme() {\n return componentsThemeManager.currentTheme?.[componentName] || '';\n }\n\n #onComponentThemeChange() {\n this.#themeStyleEle.replaceSync(this.#componentTheme[this.#themeSection]);\n }\n\n #createComponentTheme() {\n this.#themeStyleEle = injectStyle('', this.#rootElement, { prepend: true });\n this.#disconnectThemeManager = componentsThemeManager.onCurrentThemeChange(\n this.#onComponentThemeChange.bind(this)\n );\n this.#onComponentThemeChange();\n }\n\n #createOverridesStyle() {\n if (this.#styleAttributes.length) {\n const classSpecifier = createClassSelectorSpecifier(\n componentName,\n CSS_SELECTOR_SPECIFIER_MULTIPLY\n );\n\n this.#overrideStyleEle = injectStyle(`:host(${classSpecifier}) {}`, this.#rootElement);\n }\n }\n\n #setAttrOverride(attrName, value) {\n const style = this.#overrideStyleEle?.cssRules[0].style;\n\n if (!style) return;\n\n const varName = getCssVarName(\n componentName,\n attrName.replace(new RegExp(`^${STYLE_OVERRIDE_ATTR_PREFIX}-`), '')\n );\n\n if (value) style?.setProperty(varName, value);\n else {\n style?.removeProperty(varName);\n this.removeAttribute(attrName);\n }\n }\n\n #updateOverridesStyle(attrs = []) {\n attrs.forEach((attr) => {\n if (this.#styleAttributes.includes(attr)) {\n this.#setAttrOverride(attr, this.getAttribute(attr));\n }\n });\n }\n\n #createMappingStyle() {\n if (Object.keys(mappings).length) {\n const style = createStyle(\n kebabCaseJoin(componentName, this.#componentNameSuffix),\n this.#baseSelector,\n mappings\n );\n\n injectStyle(style, this.#rootElement, { prepend: true });\n }\n }\n\n #addClassName(className) {\n (this.#rootElement.classList || this.#rootElement.host.classList).add(className);\n }\n\n async init() {\n super.init?.();\n if (this.shadowRoot.isConnected) {\n this.#rootElement = (await this.#getRootElement?.(this)) || this.shadowRoot;\n\n this.#addClassName(componentName);\n\n this.#createMappingStyle();\n this.#createComponentTheme();\n this.#createOverridesStyle();\n\n // this is instead attributeChangedCallback because we cannot use static methods in this case\n observeAttributes(this, this.#updateOverridesStyle.bind(this), {});\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback?.();\n\n this.#disconnectThemeManager?.();\n }\n };\n };\n","import { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const draggableMixin = (superclass) =>\n class DraggableMixinClass extends superclass {\n #styleEle = null;\n\n static get observedAttributes() {\n const superAttrs = superclass.observedAttributes || [];\n return [...superAttrs, 'draggable'];\n }\n\n constructor() {\n super();\n\n injectStyle(`* { cursor: inherit!important }`, this);\n }\n\n #handleDraggableStyle(isDraggable) {\n if (isDraggable) {\n this.shadowRoot.appendChild(this.#styleEle);\n } else {\n this.#styleEle.remove();\n }\n }\n\n get isDraggable() {\n return this.hasAttribute('draggable') && this.getAttribute('draggable') !== 'false';\n }\n\n init() {\n // because we are delegating the focus from the outer component,\n // the D&D is not working well in the page editor\n // in order to solve it we are making the inner component focusable on mouse down\n // and removing it on complete\n this.addEventListener('mousedown', (e) => {\n if (this.isDraggable) {\n const prevTabIndex = this.baseElement.getAttribute('tabindex');\n this.baseElement.setAttribute('tabindex', '-1');\n\n const onComplete = () => {\n prevTabIndex\n ? this.baseElement.setAttribute('tabindex', prevTabIndex)\n : this.baseElement.removeAttribute('tabindex');\n\n e.target.removeEventListener('mouseup', onComplete);\n e.target.removeEventListener('dragend', onComplete);\n };\n\n e.target.addEventListener('mouseup', onComplete, { once: true });\n e.target.addEventListener('dragend', onComplete, { once: true });\n }\n });\n\n super.init?.();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n if (attrName === 'draggable') {\n this.#handleDraggableStyle(newValue === 'true');\n }\n }\n };\n","// since on load we can only sample the color of the placeholder,\n// we need to temporarily populate the input in order to sample the value color\nconst getValueColor = (ele, computedStyle) => {\n // to support setting dynamic values, we have to store the existing value\n // and re-set it if we are returning from this hack\n const origVal = ele.value;\n\n // eslint-disable-next-line no-param-reassign\n ele.value = '_';\n\n const valueColor = computedStyle.getPropertyValue('color');\n\n if (ele.value === '_') {\n // eslint-disable-next-line no-param-reassign\n ele.value = origVal;\n }\n\n return valueColor;\n};\n\nexport const createExternalInputSlot = (slotName, targetSlotName) => {\n const slotEle = document.createElement('slot');\n\n slotEle.setAttribute('name', slotName);\n slotEle.setAttribute('slot', targetSlotName);\n\n return slotEle;\n};\n\nexport const createExternalInputEle = (targetSlotName, type, autocompleteType, inputName) => {\n const inputEle = document.createElement('input');\n\n inputEle.setAttribute('slot', targetSlotName);\n inputEle.setAttribute('type', type);\n inputEle.setAttribute('name', inputName);\n inputEle.setAttribute('data-hidden-input', 'true');\n inputEle.setAttribute('autocomplete', autocompleteType);\n\n return inputEle;\n};\n\n// We apply the original input's style to the external-input.\n// Eventually, the user should interact directly with the external input.\n// We keep the original input\nexport const applyExternalInputStyles = (sourceInputEle, targetInputEle, labelType) => {\n // We set a timeout here to avoid \"Double Print\" cases,\n // caused by sampling the computed style before it's ready.\n setTimeout(() => {\n const computedStyle = getComputedStyle(sourceInputEle);\n // Get minimal set of computed theme properties to set on external input\n const height = computedStyle.getPropertyValue('height');\n const paddingLeft = computedStyle.getPropertyValue('padding-left');\n const paddingRight = computedStyle.getPropertyValue('padding-right');\n const fontSize = computedStyle.getPropertyValue('font-size');\n const fontFamily = computedStyle.getPropertyValue('font-family');\n const letterSpacing = computedStyle.getPropertyValue('letter-spacing');\n const caretColor = computedStyle.getPropertyValue('caret-color');\n\n const valueColor = getValueColor(sourceInputEle, computedStyle);\n\n const commonThemeStyles = [\n ['all', 'unset'],\n ['position', 'absolute'],\n ['background-color', 'transparent'],\n ['height', height],\n ['left', paddingLeft],\n ['right', paddingRight],\n ['font-size', fontSize],\n ['font-family', fontFamily],\n ['letter-spacing', letterSpacing],\n ['caret-color', caretColor], // this is for seeing caret when focusing on external input\n ['color', valueColor],\n ];\n\n commonThemeStyles.forEach(([key, val]) =>\n targetInputEle.style.setProperty(key, val, 'important')\n );\n\n // Handle floating label theme properties\n if (labelType === 'floating') {\n const marginBottom = computedStyle.getPropertyValue('margin-bottom');\n targetInputEle.style.setProperty('margin-bottom', marginBottom, 'important');\n }\n\n // sample and apply width only after original input is ready and fully rendered\n const width = computedStyle.getPropertyValue('width');\n targetInputEle.style.setProperty(\n 'width',\n `calc(${width} - ${paddingLeft} - ${paddingRight}`,\n 'important'\n );\n }, 0);\n};\n","import { syncAttrs } from '../helpers/componentHelpers';\nimport {\n applyExternalInputStyles,\n createExternalInputEle,\n createExternalInputSlot,\n} from './externalInputHelpers';\n\nexport const externalInputMixin =\n ({ inputType, inputName, autocompleteType, includeAttrs = [], noBlurDispatch = false }) =>\n (superclass) =>\n class ExternalInputMixinClass extends superclass {\n #timers = [];\n\n get isExternalInput() {\n return this.getAttribute('external-input') === 'true';\n }\n\n createExternalInput() {\n if (!this.isExternalInput || this.isReadOnly || this.isDisabled) {\n return null;\n }\n\n // use original input element as reference\n const origInput = this.baseElement.querySelector('input');\n\n if (!origInput) {\n return null;\n }\n\n // to avoid focus loop between external-input and origInput\n // we set origInput's tabindex to -1\n // otherwise, shift-tab will never leave the component focus\n origInput.setAttribute('tabindex', '-1');\n\n // create external slot\n const externalInputSlot = createExternalInputSlot('external-input', 'suffix');\n\n // append external slot to base element\n this.baseElement.appendChild(externalInputSlot);\n\n this.externalInput = createExternalInputEle(\n 'external-input',\n inputType,\n this.getAutocompleteType(),\n inputName\n );\n\n // apply original input's styles to external input\n setTimeout(() => {\n applyExternalInputStyles(origInput, this.externalInput, this.getAttribute('label-type'));\n });\n\n // 1Password catches the internal input, so we forward the value to the external input\n this.forwardInputValue(origInput, this.externalInput);\n\n syncAttrs(origInput, this.externalInput, {\n includeAttrs,\n });\n\n // We disable Vaadin's original `_setFocused` function, and use handleFocusEvents\n // and handleBlurEvents functions\n this.baseElement\n .querySelector('input')\n .addEventListener('focusout', (e) => e.stopImmediatePropagation(), true);\n\n // In order to manage focus/blur events when moving between parts of the component\n // we're managing the event dispatching by ourselves, with the following strategy:\n // - If one of the component parts is focused - it means that the component is still focused - so we stop the blur events.\n // - When none of the component parts is focused, we dispatch blur event.\n this.handleFocusEvents();\n this.handleBlurEvents();\n\n // sync input value\n this.handlelInputEvents(this.externalInput);\n\n // append external input to component's DOM\n this.appendChild(this.externalInput);\n\n return this.externalInput;\n }\n\n clearBlurTimers() {\n this.#timers.forEach((timer) => clearTimeout(timer));\n this.#timers.length = 0;\n }\n\n dispatchBlur() {\n return setTimeout(() => {\n this.dispatchEvent(new Event('blur', { bubbles: true, composed: true }));\n this.removeAttribute('focused');\n });\n }\n\n handleFocusEvents() {\n // on baseElement `focus` we forward the focus to the external input.\n // also, in order to avoid any blur within the component, we clear the blur timers.\n this.baseElement.addEventListener('focus', () => {\n this.externalInput.focus();\n this.clearBlurTimers();\n });\n\n // on `focus` of the external input, we manually set the `focused` attribute\n this.externalInput.addEventListener('focus', () => {\n this.clearBlurTimers();\n setTimeout(() => this.baseElement.setAttribute('focused', 'true'));\n });\n }\n\n handleBlurEvents() {\n this.baseElement.addEventListener(\n 'blur',\n (e) => {\n e.stopImmediatePropagation();\n // some components do not require this synthetic blur dispatch (e.g. Password)\n // so we allow them to override this dispatch\n if (noBlurDispatch) return;\n this.#timers.push(this.dispatchBlur());\n },\n true\n );\n\n this.externalInput.addEventListener(\n 'blur',\n (e) => {\n e.stopImmediatePropagation();\n this.#timers.push(this.dispatchBlur());\n },\n true\n );\n }\n\n handlelInputEvents(externalInput) {\n // sync value of insible input back to original input\n externalInput.addEventListener('input', (e) => {\n this.value = e.target.value;\n });\n\n // handle has-value attr\n externalInput.addEventListener('input', (e) => {\n if (!e.target.value) {\n this.removeAttribute('has-value');\n } else {\n this.setAttribute('has-value', 'true');\n }\n });\n }\n\n getAutocompleteType() {\n return this.getAttribute('autocomplete') || autocompleteType;\n }\n\n forwardInputValue(source, target) {\n // set internal sync events\n const valueDescriptor = Object.getOwnPropertyDescriptor(\n this.inputElement.constructor.prototype,\n 'value'\n );\n\n Object.defineProperty(source, 'value', {\n ...valueDescriptor,\n\n set(v) {\n valueDescriptor.set.call(this, v);\n // eslint-disable-next-line no-param-reassign\n target.value = v;\n },\n configurable: true,\n });\n }\n };\n","export const hoverableMixin = (superclass) =>\n class HoverableMixinClass extends superclass {\n init() {\n super.init?.();\n\n this.baseElement.addEventListener('mouseover', (e) => {\n this.setAttribute('hover', 'true');\n e.target.addEventListener('mouseleave', () => this.removeAttribute('hover'), {\n once: true,\n });\n });\n }\n };\n","import { createDispatchEvent } from '../helpers/mixinsHelpers';\n\nexport const inputEventsDispatchingMixin = (superclass) =>\n class InputEventsDispatchingMixinClass extends superclass {\n init() {\n this.#blockNativeEvents();\n\n super.init?.();\n }\n\n // we want to block the native (trusted) events and control when these events are being dispatched\n #blockNativeEvents() {\n ['blur', 'focus', 'focusin', 'focusout'].forEach((event) => {\n this.addEventListener(event, (e) => {\n e.isTrusted && e.target === this && e.stopImmediatePropagation();\n });\n });\n }\n\n handleFocusEventsDispatching(inputs) {\n let timerId;\n\n // in order to simulate blur & focusout on root input element\n // we are checking if focus on one of the inner elements happened immediately after blur\n // if not, the component is no longer focused and we should dispatch blur & focusout\n inputs?.forEach((input) => {\n input?.addEventListener('focusout', (e) => {\n e.stopImmediatePropagation();\n timerId = setTimeout(() => {\n timerId = null;\n\n createDispatchEvent.call(this, 'blur');\n createDispatchEvent.call(this, 'focusout', { bubbles: true });\n });\n });\n\n // in order to simulate focus & focusin on the root input element\n // we are holding a timer id and clearing it on focusin\n // if there is a timer id, it means that the root input is still focused\n // otherwise, it was not focused before, and we should dispatch focus & focusin\n const onFocus = (e) => {\n e.stopImmediatePropagation();\n clearTimeout(timerId);\n if (!timerId) {\n createDispatchEvent.call(this, 'focus');\n createDispatchEvent.call(this, 'focusin', { bubbles: true });\n }\n };\n\n // some components are not dispatching focusin but only focus\n input?.addEventListener('focusin', onFocus);\n input?.addEventListener('focus', onFocus);\n });\n }\n\n // we want to block the input events from propagating in case the value of the root input wasn't change\n // this can happen if we are sanitizing characters on the internal inputs and do not want it to affect the root input element value\n // in this case, on each input event, we are comparing the root input value to the previous one, and only if it does not match, we are allowing the input event to propagate\n handleInputEventDispatching() {\n let previousRootComponentValue = this.value;\n\n // we are comparing the previous value to the new one,\n // and if they have the same value, we are blocking the input event\n this.addEventListener('input', (e) => {\n // We don't want to block our own event that we fire from handleInputEventDispatching\n if (this !== e.target) {\n e.stopImmediatePropagation();\n\n if (previousRootComponentValue !== this.value) {\n previousRootComponentValue = this.value;\n createDispatchEvent.call(this, 'input', { bubbles: true, composed: true });\n }\n }\n });\n }\n };\n","import 'element-internals-polyfill'; // this is needed in order to support older browsers\n\nconst observedAttributes = ['required', 'pattern'];\n\nconst errorAttributes = {\n valueMissing: 'data-errormessage-value-missing',\n patternMismatch: 'data-errormessage-pattern-mismatch',\n tooShort: 'data-errormessage-pattern-mismatch-too-short',\n tooLong: 'data-errormessage-pattern-mismatch-too-long',\n rangeUnderflow: 'data-errormessage-pattern-range-underflow',\n rangeOverflow: 'data-errormessage-pattern-range-overflow',\n typeMismatch: 'data-errormessage-type-mismatch',\n};\n\nconst validationTargetSymbol = Symbol('validationTarget');\n\nexport const inputValidationMixin = (superclass) =>\n class InputValidationMixinClass extends superclass {\n #validationTarget = validationTargetSymbol;\n\n static get observedAttributes() {\n return [...(superclass.observedAttributes || []), ...observedAttributes];\n }\n\n static get formAssociated() {\n return true;\n }\n\n #internals;\n\n get internals() {\n return this.#internals;\n }\n\n set internals(value) {\n this.#internals = value;\n }\n\n constructor() {\n super();\n\n this.#internals = this.attachInternals();\n }\n\n // eslint-disable-next-line class-methods-use-this\n get defaultErrorMsgValueMissing() {\n return 'Please fill out this field.';\n }\n\n // eslint-disable-next-line class-methods-use-this\n get defaultErrorMsgPatternMismatch() {\n return 'Please match the requested format.';\n }\n\n get defaultErrorMsgTooShort() {\n return `Minimum length is ${this.getAttribute('minlength')}.`;\n }\n\n get defaultErrorMsgTooLong() {\n return `Maximum length is ${this.getAttribute('maxlength')}. `;\n }\n\n get defaultErrorMsgRangeUnderflow() {\n return `At least ${this.getAttribute('min-items-selection')} items are required.`;\n }\n\n get defaultErrorMsgRangeOverflow() {\n return `At most ${this.getAttribute('max-items-selection')} items are allowed.`;\n }\n\n // eslint-disable-next-line class-methods-use-this\n get defaultErrorMsgTypeMismatch() {\n return `Please match the requested type.`;\n }\n\n getErrorMessage(flags) {\n const {\n valueMissing,\n patternMismatch,\n typeMismatch,\n stepMismatch,\n tooShort,\n tooLong,\n rangeOverflow,\n rangeUnderflow,\n badInput,\n customError,\n } = flags;\n\n switch (true) {\n case valueMissing:\n return (\n this.getAttribute(errorAttributes.valueMissing) || this.defaultErrorMsgValueMissing\n );\n case patternMismatch || stepMismatch || badInput:\n return (\n this.getAttribute(errorAttributes.patternMismatch) ||\n this.defaultErrorMsgPatternMismatch\n );\n case typeMismatch:\n return (\n this.getAttribute(errorAttributes.typeMismatch) ||\n this.getAttribute(errorAttributes.patternMismatch) ||\n this.defaultErrorMsgTypeMismatch\n );\n case tooShort:\n return this.getAttribute(errorAttributes.tooShort) || this.defaultErrorMsgTooShort;\n case tooLong:\n return this.getAttribute(errorAttributes.tooLong) || this.defaultErrorMsgTooLong;\n case rangeUnderflow:\n return (\n this.getAttribute(errorAttributes.rangeUnderflow) || this.defaultErrorMsgRangeUnderflow\n );\n case rangeOverflow:\n return (\n this.getAttribute(errorAttributes.rangeOverflow) || this.defaultErrorMsgRangeOverflow\n );\n case customError:\n return this.validationMessage;\n default:\n return '';\n }\n }\n\n #setValidity() {\n const validity = this.isReadOnly ? {} : this.getValidity();\n this.#internals.setValidity(validity, this.getErrorMessage(validity), this.validationTarget);\n }\n\n get validationMessage() {\n return this.#internals.validationMessage;\n }\n\n // eslint-disable-next-line class-methods-use-this\n getValidity() {\n // eslint-disable-next-line no-console\n console.warn('getValidity', 'is not implemented');\n }\n\n checkValidity() {\n return this.#internals.validity.valid;\n }\n\n reportValidity() {\n return this.#internals.reportValidity();\n }\n\n get validity() {\n return this.#internals.validity;\n }\n\n get validationTarget() {\n return this.#validationTarget === validationTargetSymbol\n ? this.inputElement\n : this.#validationTarget;\n }\n\n set validationTarget(val) {\n this.#validationTarget = val;\n }\n\n setCustomValidity(errorMessage) {\n if (errorMessage) {\n this.#internals.setValidity({ customError: true }, errorMessage, this.validationTarget);\n } else {\n this.#internals.setValidity({});\n this.#setValidity();\n }\n }\n\n get isRequired() {\n return this.hasAttribute('required') && this.getAttribute('required') !== 'false';\n }\n\n get isReadOnly() {\n return this.hasAttribute('readonly') && this.getAttribute('readonly') !== 'false';\n }\n\n get isDisabled() {\n return this.hasAttribute('disabled') && this.getAttribute('disabled') !== 'false';\n }\n\n get pattern() {\n return this.getAttribute('pattern');\n }\n\n get form() {\n return this.#internals.form;\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (observedAttributes.includes(attrName)) {\n this.#setValidity();\n }\n }\n\n init() {\n super.init?.();\n this.addEventListener('change', this.#setValidity);\n this.addEventListener('invalid', (e) => e.stopPropagation());\n this.addEventListener('input', this.#setValidity);\n\n // The attribute sync takes time, so getValidity returns valid,\n // even when it shouldn't. This way allows all attributes to sync\n // after render, before checking the validity.\n setTimeout(() => this.#setValidity());\n }\n };\n","import { observeAttributes } from '../helpers/componentHelpers';\n\nconst booleanAttributesList = [\n 'readonly',\n 'focused',\n 'invalid',\n 'has-label',\n 'required',\n 'disabled',\n 'checked',\n 'has-helper',\n 'has-value',\n 'step-buttons-visible',\n 'hover',\n 'has-error-message',\n 'focus-ring',\n 'opened',\n 'active',\n 'password-visible',\n 'opening',\n 'closing',\n 'has-no-options',\n 'loading',\n 'allow-custom-value',\n 'loading',\n];\n\nconst isBooleanAttribute = (attr) => {\n return booleanAttributesList.includes(attr);\n};\n// we want all the valueless attributes to have \"true\" value\n// and all the falsy attribute to be removed\nexport const normalizeBooleanAttributesMixin = (superclass) =>\n class NormalizeBooleanAttributesMixinClass extends superclass {\n init() {\n super.init?.();\n\n observeAttributes(\n this,\n (attrs) =>\n attrs.forEach((attr) => {\n const attrVal = this.getAttribute(attr);\n\n if (isBooleanAttribute(attr)) {\n if (attrVal === '') {\n this.setAttribute(attr, 'true');\n } else if (attrVal === 'false') {\n this.removeAttribute(attr);\n }\n } else if (!attrVal) {\n // eslint-disable-next-line no-console\n console.debug(\n `attribute \"${attr}\" has no value, should it be added to the boolean attributes list?`\n );\n }\n }),\n {}\n );\n }\n };\n","import { PORTAL_THEME_PREFIX } from '../constants';\nimport { kebabCaseJoin } from '../helpers';\nimport { forwardAttrs } from '../helpers/componentHelpers';\nimport { createStyleMixin } from './createStyleMixin';\nimport { createCssVarsList } from './createStyleMixin/helpers';\n\n// this is needed because we might generate the same css vars names\n// e.g. \"overlayColor\" attribute in style mixin's mapping,\n// will generate the same var as \"color\" attribute in portals's mapping\n// when the portal name is \"overlay\".\n// because of that, we are adding this separator that is also used as a differentiator\nconst DISPLAY_NAME_SEPARATOR = '_';\n\nconst sanitizeSelector = (selector) => selector.replace(/[^\\w\\s]/gi, '');\n\nconst withWaitForShadowRoot = (getRootElementFn) => async (that) => {\n const ele = await getRootElementFn(that);\n\n return new Promise((res) => {\n const MAX_RETRIES = 20;\n let counter = 0;\n\n const check = () => {\n if (counter > MAX_RETRIES) {\n // eslint-disable-next-line no-console\n console.error('could not get shadow root for element', ele);\n res(ele);\n return;\n }\n\n counter++;\n\n if (!ele?.shadowRoot) {\n setTimeout(check);\n } else {\n res(ele.shadowRoot);\n }\n };\n check();\n });\n};\n\nexport const portalMixin =\n ({ name, selector, mappings = {}, forward: { attributes = [], include = true } = {} }) =>\n (superclass) => {\n const eleDisplayName = name || sanitizeSelector(selector);\n\n const BaseClass = createStyleMixin({\n mappings,\n })(superclass);\n\n return class PortalMixinClass extends BaseClass {\n static get cssVarList() {\n return {\n ...BaseClass.cssVarList,\n [eleDisplayName]: createCssVarsList(\n kebabCaseJoin(superclass.componentName, DISPLAY_NAME_SEPARATOR + eleDisplayName),\n mappings\n ),\n };\n }\n\n #portalEle;\n\n constructor() {\n // we cannot use \"this\" before calling \"super\"\n const getRootElement = async (that) => {\n const baseEle = (that.shadowRoot || that).querySelector(that.baseSelector);\n if (!selector) {\n return baseEle;\n }\n\n // in case we have a selector, we should first wait for the base element shadow root\n // and then look for the internal element\n const baseEleShadowRoot = await withWaitForShadowRoot(() => baseEle)(that);\n return baseEleShadowRoot.querySelector(selector);\n };\n\n const getPortalElement = withWaitForShadowRoot(getRootElement);\n\n super({\n getRootElement: getPortalElement,\n componentNameSuffix: DISPLAY_NAME_SEPARATOR + eleDisplayName,\n themeSection: PORTAL_THEME_PREFIX + eleDisplayName,\n baseSelector: ':host',\n });\n\n this.#portalEle = getPortalElement(this).then((ele) => ele.host);\n }\n\n async #handleHoverAttribute() {\n const portalEle = await this.#portalEle;\n portalEle.onmouseenter = (e) => {\n e.target.setAttribute('hover', 'true');\n };\n portalEle.onmouseleave = (e) => {\n e.target.removeAttribute('hover');\n };\n }\n\n async init() {\n super.init?.();\n const portalEle = await this.#portalEle;\n forwardAttrs(this, portalEle, {\n [include ? 'includeAttrs' : 'excludeAttrs']: attributes,\n });\n\n this.#handleHoverAttribute();\n }\n };\n };\n","/* eslint-disable no-param-reassign */\nimport { compose } from '../helpers';\nimport { forwardAttrs, getComponentName } from '../helpers/componentHelpers';\nimport { createDispatchEvent } from '../helpers/mixinsHelpers';\nimport { createStyleMixin } from './createStyleMixin';\nimport { inputValidationMixin } from './inputValidationMixin';\n\nconst errorAttrs = ['invalid', 'required'];\n\nconst forwardProps = (src, targets, property) => {\n const targetArr = Array.isArray(targets) ? targets : [targets];\n\n Object.defineProperty(src, property, {\n set(v) {\n targetArr.forEach((target) => {\n target[property] = v;\n });\n },\n get() {\n return targets[0][property];\n },\n configurable: true,\n });\n};\n\n// recursively take the first slot child until it finds an element which is not a slot\n// stops after \"nestingLevel\" times\nconst getNestedInput = (ele) => {\n if (!ele) return undefined;\n\n const nestingLevel = 10;\n\n let nonSlotEle = ele;\n for (let i = 0; i < nestingLevel; i++) {\n [nonSlotEle] = nonSlotEle.assignedElements();\n if (nonSlotEle?.localName !== 'slot') return nonSlotEle;\n }\n return undefined;\n};\n\nconst proxyInputMixin =\n ({\n proxyProps = [],\n // useProxyTargets flag allows to forwardProps to other targets, other than\n // `this.inputElement`. It's to be used within `external-input` components,\n // if needed\n useProxyTargets = false,\n // allows us to set the event that should trigger validation\n // it can be either a string or an array of strings (for multiple events)\n inputEvent = 'input',\n triggerValidationEvents = [],\n // Proxies all validations from the parent component to the input element\n proxyParentValidation = false,\n }) =>\n (superclass) =>\n class ProxyInputMixinClass extends inputValidationMixin(superclass) {\n static get observedAttributes() {\n return [...(superclass.observedAttributes || []), ...errorAttrs];\n }\n\n #inputElement;\n\n #dispatchChange = createDispatchEvent.bind(this, 'change');\n\n constructor() {\n super();\n\n this.#inputElement = super.inputElement;\n }\n\n // the web-component does not loaded immediately, so we want to defer the warning\n // and show it only if the input element was not found after the component is loaded\n warnIfInputElementIsMissing() {\n clearTimeout(this.inputElementTimerId);\n\n this.inputElementTimerId = setTimeout(() => {\n // eslint-disable-next-line no-console\n !this.#inputElement && console.warn(this.localName, 'no input was found');\n }, 0);\n }\n\n get inputElement() {\n if (this.#inputElement) return this.#inputElement;\n\n this.warnIfInputElementIsMissing();\n\n const inputSlot = this.baseElement.shadowRoot?.querySelector('slot[name=\"input\"]');\n const textAreaSlot = this.baseElement.shadowRoot?.querySelector('slot[name=\"textarea\"]');\n\n this.#inputElement = getNestedInput(inputSlot) || getNestedInput(textAreaSlot);\n\n return this.#inputElement;\n }\n\n set inputElement(ele) {\n this.#inputElement = ele;\n }\n\n getValidity() {\n return this.inputElement?.validity || {};\n }\n\n #handleErrorMessage() {\n this.setAttribute('error-message', this.validationMessage);\n }\n\n // We do not want to show the default validity report tooltip\n // So we are overriding the reportValidity fn to show the input's error message\n reportValidity = () => {\n // we want to update validity so in case the value was set programmatically, we won't get an error\n this.inputElement.setCustomValidity('');\n this.setCustomValidity('');\n if (!this.checkValidity()) {\n this.setAttribute('invalid', 'true');\n this.#handleErrorMessage();\n this.focus();\n }\n };\n\n // we are keeping also the default reportValidity because there are some components that still using it\n defaultReportValidity() {\n return super.reportValidity();\n }\n\n init() {\n super.init?.();\n\n // vaadin sets invalid indication on blur\n // we want invalid indication to appear only when calling reportValidity\n // this is why we are overriding vaadin's setInvalid behavior\n // to update only when the element is valid (so invalid indication will only be removed)\n // and we are adding it in reportValidity\n // eslint-disable-next-line func-names\n this.baseElement._setInvalid = function (invalid) {\n if (!invalid && this._shouldSetInvalid(invalid)) {\n this.invalid = invalid;\n }\n };\n\n // We want to ensure that `input` events properly cross ShadowDOM boundries\n // e.g. When we autofill a component's input with 1Password, for instance,\n // the event is fired without `composed: true` and doesn't our component's\n // ShadowDOM.\n this.baseElement.addEventListener('input', (e) => {\n if (!e.composed) {\n this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n }\n });\n\n triggerValidationEvents.forEach((e) => {\n this.baseElement?.addEventListener(e, () => {\n this.inputElement?.setCustomValidity('');\n });\n });\n\n // on some cases the base element is not ready so the inputElement is empty\n // we are deferring this section to make sure the base element is ready\n setTimeout(() => {\n const validationEvents = Array.isArray(inputEvent) ? inputEvent : [inputEvent];\n\n validationEvents.forEach((e) => {\n this.baseElement?.addEventListener(e, () => {\n if (!this.baseElement.checkValidity()) {\n this.#handleErrorMessage();\n } else {\n this.removeAttribute('invalid');\n }\n });\n });\n\n this.baseElement.addEventListener('change', () => {\n this.#dispatchChange();\n });\n\n this.addEventListener('invalid', () => {\n if (!this.checkValidity()) {\n this.setAttribute('invalid', 'true');\n }\n this.#handleErrorMessage();\n });\n\n // sync properties\n proxyProps.forEach((prop) => {\n const externalInput = this.querySelector('input[slot=\"external-input\"]') || null;\n const proxyTargets = useProxyTargets\n ? [this.baseElement, externalInput].filter(Boolean)\n : [];\n forwardProps(this, [this.inputElement, ...proxyTargets], prop);\n });\n\n this.setSelectionRange = this.inputElement?.setSelectionRange?.bind(this.inputElement);\n\n forwardAttrs(this, this.inputElement, { includeAttrs: ['inputmode'] });\n });\n\n if (proxyParentValidation) {\n // All functions called on the inputElement internals will be applied to the parent\n // component internals as well. As a result, there's no need to add outer mechanisms\n // to update the parent component's validity state based on the input elements validity.\n const inputElementInternals = this.inputElement.internals;\n const parentThis = this;\n this.inputElement.internals = new Proxy(inputElementInternals, {\n get: (target, prop) => {\n if (typeof target[prop] === 'function' && prop === 'setValidity') {\n return (...args) => {\n // If we're calling setValidity with 3 args, then the validationTarget\n // needs to be swapped to be the inputElement\n if (args.length === 3) {\n const newArgs = args.slice(0, args.length - 1);\n newArgs.push(parentThis.inputElement);\n parentThis.internals[prop](...newArgs);\n } else {\n parentThis.internals[prop](...args);\n }\n return target[prop](...args);\n };\n }\n\n if (typeof target[prop] === 'function') {\n return (...args) => {\n parentThis.internals[prop](...args);\n return target[prop](...args);\n };\n }\n\n return target[prop];\n },\n });\n }\n }\n };\n\nconst composedProxyInputMixin = (proxyInputMixinConfig) =>\n compose(\n proxyInputMixin(proxyInputMixinConfig),\n // in order to use input-wrapper across all our input components, we need to inject its theme\n // to every proxy input mixin, to allow its css vars to be scoped properly and accessible\n // in the proxy input component\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') })\n );\n\nexport { composedProxyInputMixin as proxyInputMixin };\n"],"names":["createBaseClass","componentName","baseSelector","DescopeBaseClass","HTMLElement","baseElement","this","rootElement","querySelector","console","warn","localName","shadowRoot","name","getAttribute","connectedCallback","super","isConnected","init","createDispatchEvent","eventName","options","event","Event","dispatchEvent","changeMixin","superclass","bind","prevValue","value","addEventListener","e","stopPropagation","componentNameValidationMixin","currentComponentName","Error","componentsContextMixin","updateComponentsContext","componentsContext","CustomEvent","bubbles","composed","detail","createProxy","wrappedEleName","slots","style","excludeAttrsSync","includeAttrsSync","includeForwardProps","delegatesFocus","ProxyClass","constructor","attachShadow","mode","innerHTML","map","slot","join","_","excludeAttrs","includeAttrs","createCssVar","varName","fallback","StyleBuilder","styleMap","Map","add","selector","property","has","set","get","toString","Array","from","entries","reduce","acc","propValArr","getFallbackVarName","origVarName","suffix","createStyle","mappings","createFallbackVar","fallbackVarName","Object","keys","forEach","attr","attrConfig","config","defaultMapping","length","isArray","entry","normalizeConfig","cssVarName","relativeSelectorOrSelectorFn","important","fallbackValue","test","createCssSelector","getFallbackVarsNames","fallbackAttrName","createCssVarsList","assign","createClassSelectorSpecifier","className","numOfRepeats","fill","createStyleMixin","componentNameOverride","CustomStyleMixinClass","cssVarList","getRootElement","componentNameSuffix","themeSection","key","componentsThemeManager","currentTheme","replaceSync","prepend","onCurrentThemeChange","classSpecifier","attrName","cssRules","replace","RegExp","setProperty","removeProperty","removeAttribute","attrs","includes","classList","host","disconnectedCallback","draggableMixin","observedAttributes","isDraggable","appendChild","remove","hasAttribute","prevTabIndex","setAttribute","onComplete","target","removeEventListener","once","attributeChangedCallback","oldValue","newValue","createExternalInputSlot","slotName","targetSlotName","slotEle","document","createElement","createExternalInputEle","type","autocompleteType","inputName","inputEle","applyExternalInputStyles","sourceInputEle","targetInputEle","labelType","setTimeout","computedStyle","getComputedStyle","height","getPropertyValue","paddingLeft","paddingRight","fontSize","fontFamily","letterSpacing","caretColor","valueColor","ele","origVal","getValueColor","val","marginBottom","width","externalInputMixin","inputType","noBlurDispatch","isExternalInput","createExternalInput","isReadOnly","isDisabled","origInput","externalInputSlot","externalInput","getAutocompleteType","forwardInputValue","stopImmediatePropagation","handleFocusEvents","handleBlurEvents","handlelInputEvents","clearBlurTimers","timer","clearTimeout","dispatchBlur","focus","push","source","valueDescriptor","getOwnPropertyDescriptor","inputElement","prototype","defineProperty","v","call","configurable","hoverableMixin","inputEventsDispatchingMixin","isTrusted","handleFocusEventsDispatching","inputs","timerId","input","onFocus","handleInputEventDispatching","previousRootComponentValue","errorAttributes","validationTargetSymbol","Symbol","inputValidationMixin","formAssociated","internals","attachInternals","defaultErrorMsgValueMissing","defaultErrorMsgPatternMismatch","defaultErrorMsgTooShort","defaultErrorMsgTooLong","defaultErrorMsgRangeUnderflow","defaultErrorMsgRangeOverflow","defaultErrorMsgTypeMismatch","getErrorMessage","flags","valueMissing","patternMismatch","typeMismatch","stepMismatch","tooShort","tooLong","rangeOverflow","rangeUnderflow","badInput","customError","validationMessage","validity","getValidity","setValidity","validationTarget","checkValidity","valid","reportValidity","setCustomValidity","errorMessage","isRequired","pattern","form","booleanAttributesList","normalizeBooleanAttributesMixin","attrVal","isBooleanAttribute","debug","withWaitForShadowRoot","getRootElementFn","async","that","Promise","res","counter","check","error","portalMixin","forward","attributes","include","eleDisplayName","sanitizeSelector","BaseClass","getPortalElement","baseEle","then","portalEle","onmouseenter","onmouseleave","errorAttrs","getNestedInput","nonSlotEle","i","assignedElements","proxyInputMixin","proxyProps","useProxyTargets","inputEvent","triggerValidationEvents","proxyParentValidation","warnIfInputElementIsMissing","inputElementTimerId","inputSlot","textAreaSlot","defaultReportValidity","_setInvalid","invalid","_shouldSetInvalid","prop","proxyTargets","filter","Boolean","src","targets","targetArr","forwardProps","setSelectionRange","inputElementInternals","parentThis","Proxy","args","newArgs","slice","composedProxyInputMixin","proxyInputMixinConfig"],"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 9380.js.LICENSE.txt */
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[9380],{53149:(t,e,o)=>{o.d(e,{y:()=>n});var s=o(98741),i=o(30025);const n=(0,s.y)((t=>class extends t{get _keyboardActive(){return(0,i.aJ)()}ready(){this.addEventListener("focusin",(t=>{this._shouldSetFocus(t)&&this._setFocused(!0)})),this.addEventListener("focusout",(t=>{this._shouldRemoveFocus(t)&&this._setFocused(!1)})),super.ready()}disconnectedCallback(){super.disconnectedCallback(),this.hasAttribute("focused")&&this._setFocused(!1)}_setFocused(t){this.toggleAttribute("focused",t),this.toggleAttribute("focus-ring",t&&this._keyboardActive)}_shouldSetFocus(t){return!0}_shouldRemoveFocus(t){return!0}}))},30025:(t,e,o)=>{o.d(e,{Qj:()=>a,aJ:()=>n,dw:()=>i,iq:()=>u,n8:()=>r});let s=!1;function i(){let t=document.activeElement||document.body;for(;t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function n(){return s}function l(t){const e=t.style;if("hidden"===e.visibility||"none"===e.display)return!0;const o=window.getComputedStyle(t);return"hidden"===o.visibility||"none"===o.display}function h(t,e){const o=Math.max(t.tabIndex,0),s=Math.max(e.tabIndex,0);return 0===o||0===s?s>o:o>s}function d(t){const e=t.length;if(e<2)return t;const o=Math.ceil(e/2);return function(t,e){const o=[];for(;t.length>0&&e.length>0;)h(t[0],e[0])?o.push(e.shift()):o.push(t.shift());return o.concat(t,e)}(d(t.slice(0,o)),d(t.slice(o)))}function r(t){return null===t.offsetParent&&0===t.clientWidth&&0===t.clientHeight||l(t)}function a(t){return t.getRootNode().activeElement===t}function c(t,e){if(t.nodeType!==Node.ELEMENT_NODE||l(t))return!1;const o=t,s=function(t){if(!function(t){return!t.matches('[tabindex="-1"]')&&(t.matches("input, select, textarea, button, object")?t.matches(":not([disabled])"):t.matches("a[href], area[href], iframe, [tabindex], [contentEditable]"))}(t))return-1;const e=t.getAttribute("tabindex")||0;return Number(e)}(o);let i=s>0;s>=0&&e.push(o);let n=[];return n="slot"===o.localName?o.assignedNodes({flatten:!0}):(o.shadowRoot||o).children,[...n].forEach((t=>{i=c(t,e)||i})),i}function u(t){const e=[];return c(t,e)?d(e):e}window.addEventListener("keydown",(()=>{s=!0}),{capture:!0}),window.addEventListener("mousedown",(()=>{s=!1}),{capture:!0})},55774:(t,e,o)=>{o.d(e,{w:()=>s});const s=(0,o(98741).y)((t=>"function"==typeof t.prototype.addController?t:class extends t{constructor(){super(),this.__controllers=new Set}connectedCallback(){super.connectedCallback(),this.__controllers.forEach((t=>{t.hostConnected&&t.hostConnected()}))}disconnectedCallback(){super.disconnectedCallback(),this.__controllers.forEach((t=>{t.hostDisconnected&&t.hostDisconnected()}))}addController(t){this.__controllers.add(t),void 0!==this.$&&this.isConnected&&t.hostConnected&&t.hostConnected()}removeController(t){this.__controllers.delete(t)}}))},1508:(t,e,o)=>{function s(t){const e=[];for(;t;){if(t.nodeType===Node.DOCUMENT_NODE){e.push(t);break}t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?t=t.assignedSlot?t.assignedSlot:t.parentNode:(e.push(t),t=t.host)}return e}function i(t){const e=[];let o;return"slot"===t.localName?o=t.assignedElements():(e.push(t),o=[...t.children]),o.forEach((t=>e.push(...i(t)))),e}function n(t,e){return e?e.closest(t)||n(t,e.getRootNode().host):null}function l(t){return t?new Set(t.split(" ")):new Set}function h(t){return t?[...t].join(" "):""}function d(t,e,o){const s=l(t.getAttribute(e));s.add(o),t.setAttribute(e,h(s))}function r(t,e,o){const s=l(t.getAttribute(e));s.delete(o),0!==s.size?t.setAttribute(e,h(s)):t.removeAttribute(e)}function a(t){return t.nodeType===Node.TEXT_NODE&&""===t.textContent.trim()}o.d(e,{Dy:()=>s,J$:()=>i,Wr:()=>r,Z4:()=>l,ZA:()=>a,el:()=>n,iA:()=>d,sz:()=>h})},44099:(t,e,o)=>{o.d(e,{r:()=>l});var s=o(1508),i=o(65641),n=o(11707);class l extends EventTarget{static generateId(t,e){return`${e||"default"}-${t.localName}-${(0,n.I)()}`}constructor(t,e,o,s={}){super();const{initializer:i,multiple:n,observe:l,useUniqueId:h}=s;this.host=t,this.slotName=e,this.tagName=o,this.observe="boolean"!=typeof l||l,this.multiple="boolean"==typeof n&&n,this.slotInitializer=i,n&&(this.nodes=[]),h&&(this.defaultId=this.constructor.generateId(t,e))}hostConnected(){this.initialized||(this.multiple?this.initMultiple():this.initSingle(),this.observe&&this.observeSlot(),this.initialized=!0)}initSingle(){let t=this.getSlotChild();t?(this.node=t,this.initAddedNode(t)):(t=this.attachDefaultNode(),this.initNode(t))}initMultiple(){const t=this.getSlotChildren();if(0===t.length){const t=this.attachDefaultNode();t&&(this.nodes=[t],this.initNode(t))}else this.nodes=t,t.forEach((t=>{this.initAddedNode(t)}))}attachDefaultNode(){const{host:t,slotName:e,tagName:o}=this;let s=this.defaultNode;return!s&&o&&(s=document.createElement(o),s instanceof Element&&(""!==e&&s.setAttribute("slot",e),this.defaultNode=s)),s&&(this.node=s,t.appendChild(s)),s}getSlotChildren(){const{slotName:t}=this;return Array.from(this.host.childNodes).filter((e=>e.nodeType===Node.ELEMENT_NODE&&e.slot===t||e.nodeType===Node.TEXT_NODE&&e.textContent.trim()&&""===t))}getSlotChild(){return this.getSlotChildren()[0]}initNode(t){const{slotInitializer:e}=this;e&&e(t,this.host)}initCustomNode(t){}teardownNode(t){}initAddedNode(t){t!==this.defaultNode&&(this.initCustomNode(t),this.initNode(t))}observeSlot(){const{slotName:t}=this,e=""===t?"slot:not([name])":`slot[name=${t}]`,o=this.host.shadowRoot.querySelector(e);this.__slotObserver=new i.P(o,(({addedNodes:t,removedNodes:e})=>{const o=this.multiple?this.nodes:[this.node],i=t.filter((t=>!(0,s.ZA)(t)&&!o.includes(t)));e.length&&(this.nodes=o.filter((t=>!e.includes(t))),e.forEach((t=>{this.teardownNode(t)}))),i&&i.length>0&&(this.multiple?(this.defaultNode&&this.defaultNode.remove(),this.nodes=[...o,...i].filter((t=>t!==this.defaultNode)),i.forEach((t=>{this.initAddedNode(t)}))):(this.node&&this.node.remove(),this.node=i[0],this.initAddedNode(this.node)))}))}}},65641:(t,e,o)=>{o.d(e,{P:()=>s});class s{constructor(t,e){this.slot=t,this.callback=e,this._storedNodes=[],this._connected=!1,this._scheduled=!1,this._boundSchedule=()=>{this._schedule()},this.connect(),this._schedule()}connect(){this.slot.addEventListener("slotchange",this._boundSchedule),this._connected=!0}disconnect(){this.slot.removeEventListener("slotchange",this._boundSchedule),this._connected=!1}_schedule(){this._scheduled||(this._scheduled=!0,queueMicrotask((()=>{this.flush()})))}flush(){this._connected&&(this._scheduled=!1,this._processNodes())}_processNodes(){const t=this.slot.assignedNodes({flatten:!0});let e=[];const o=[],s=[];t.length&&(e=t.filter((t=>!this._storedNodes.includes(t)))),this._storedNodes.length&&this._storedNodes.forEach(((e,i)=>{const n=t.indexOf(e);-1===n?o.push(e):n!==i&&s.push(e)})),(e.length||o.length||s.length)&&this.callback({addedNodes:e,movedNodes:s,removedNodes:o}),this._storedNodes=t}}},81488:(t,e,o)=>{o.d(e,{I:()=>i});var s=o(44099);class i extends s.r{constructor(t){super(t,"tooltip"),this.setTarget(t)}initCustomNode(t){t.target=this.target,void 0!==this.ariaTarget&&(t.ariaTarget=this.ariaTarget),void 0!==this.context&&(t.context=this.context),void 0!==this.manual&&(t.manual=this.manual),void 0!==this.opened&&(t.opened=this.opened),void 0!==this.position&&(t._position=this.position),void 0!==this.shouldShow&&(t.shouldShow=this.shouldShow),this.__notifyChange()}teardownNode(){this.__notifyChange()}setAriaTarget(t){this.ariaTarget=t;const e=this.node;e&&(e.ariaTarget=t)}setContext(t){this.context=t;const e=this.node;e&&(e.context=t)}setManual(t){this.manual=t;const e=this.node;e&&(e.manual=t)}setOpened(t){this.opened=t;const e=this.node;e&&(e.opened=t)}setPosition(t){this.position=t;const e=this.node;e&&(e._position=t)}setShouldShow(t){this.shouldShow=t;const e=this.node;e&&(e.shouldShow=t)}setTarget(t){this.target=t;const e=this.node;e&&(e.target=t)}__notifyChange(){this.dispatchEvent(new CustomEvent("tooltip-changed",{detail:{node:this.node}}))}}},11707:(t,e,o)=>{o.d(e,{I:()=>i});let s=0;function i(){return s++}},42068:(t,e,o)=>{o(88660);var s=o(87550),i=o(36411);const n=s.AH`
|
3
3
|
:host {
|
4
4
|
--lumo-size-xs: 1.625rem;
|
5
5
|
--lumo-size-s: 1.875rem;
|
@@ -14,7 +14,7 @@
|
|
14
14
|
/* For backwards compatibility */
|
15
15
|
--lumo-icon-size: var(--lumo-icon-size-m);
|
16
16
|
}
|
17
|
-
`;(0,i.q)("sizing-props",n)},
|
17
|
+
`;(0,i.q)("sizing-props",n)},83315:(t,e,o)=>{o(88660);var s=o(87550),i=o(36411);const n=s.AH`
|
18
18
|
:host {
|
19
19
|
/* prettier-ignore */
|
20
20
|
--lumo-font-family: -apple-system, BlinkMacSystemFont, 'Roboto', 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
@@ -126,4 +126,5 @@
|
|
126
126
|
border-left: none;
|
127
127
|
border-right: 2px solid var(--lumo-contrast-30pct);
|
128
128
|
}
|
129
|
-
`;(0,s.SF)("",l,{moduleId:"lumo-typography"}),(0,i.q)("typography-props",n)}}]);
|
129
|
+
`;(0,s.SF)("",l,{moduleId:"lumo-typography"}),(0,i.q)("typography-props",n)}}]);
|
130
|
+
//# sourceMappingURL=9380.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"9380.js","mappings":";oLAaO,MAAMA,GAAa,QACvBC,GACC,cAA8BA,EAK5B,mBAAIC,GACF,OAAO,SACT,CAGA,KAAAC,GACEC,KAAKC,iBAAiB,WAAYC,IAC5BF,KAAKG,gBAAgBD,IACvBF,KAAKI,aAAY,EACnB,IAGFJ,KAAKC,iBAAiB,YAAaC,IAC7BF,KAAKK,mBAAmBH,IAC1BF,KAAKI,aAAY,EACnB,IAOFE,MAAMP,OACR,CAGA,oBAAAQ,GACED,MAAMC,uBAIFP,KAAKQ,aAAa,YACpBR,KAAKI,aAAY,EAErB,CAQA,WAAAA,CAAYK,GACVT,KAAKU,gBAAgB,UAAWD,GAIhCT,KAAKU,gBAAgB,aAAcD,GAAWT,KAAKF,gBACrD,CASA,eAAAK,CAAgBQ,GACd,OAAO,CACT,CASA,kBAAAN,CAAmBM,GACjB,OAAO,CACT,4EClFN,IAAIC,GAAiB,EA0Bd,SAASC,IACd,IAAIC,EAAOC,SAASC,eAAiBD,SAASE,KAC9C,KAAOH,EAAKI,YAAcJ,EAAKI,WAAWF,eACxCF,EAAOA,EAAKI,WAAWF,cAEzB,OAAOF,CACT,CAQO,SAASK,IACd,OAAOP,CACT,CAYA,SAASQ,EAAwBC,GAE/B,MAAMC,EAAQD,EAAQC,MACtB,GAAyB,WAArBA,EAAMC,YAA6C,SAAlBD,EAAME,QACzC,OAAO,EAGT,MAAMC,EAAgBC,OAAOC,iBAAiBN,GAC9C,MAAiC,WAA7BI,EAAcF,YAAqD,SAA1BE,EAAcD,OAK7D,CAaA,SAASI,EAAiBC,EAAGC,GAG3B,MAAMC,EAAMC,KAAKC,IAAIJ,EAAEK,SAAU,GAC3BC,EAAMH,KAAKC,IAAIH,EAAEI,SAAU,GACjC,OAAe,IAARH,GAAqB,IAARI,EAAYA,EAAMJ,EAAMA,EAAMI,CACpD,CA4BA,SAASC,EAAuBC,GAG9B,MAAMC,EAAMD,EAASE,OACrB,GAAID,EAAM,EACR,OAAOD,EAET,MAAMG,EAAQR,KAAKS,KAAKH,EAAM,GAI9B,OA9BF,SAA6BI,EAAMC,GACjC,MAAMC,EAAS,GACf,KAAOF,EAAKH,OAAS,GAAKI,EAAMJ,OAAS,GACnCX,EAAiBc,EAAK,GAAIC,EAAM,IAClCC,EAAOC,KAAKF,EAAMG,SAElBF,EAAOC,KAAKH,EAAKI,SAIrB,OAAOF,EAAOG,OAAOL,EAAMC,EAC7B,CAmBSK,CAHMZ,EAAuBC,EAASY,MAAM,EAAGT,IACxCJ,EAAuBC,EAASY,MAAMT,IAGtD,CAYO,SAASU,EAAgB7B,GAM9B,OAA6B,OAAzBA,EAAQ8B,cAAiD,IAAxB9B,EAAQ+B,aAA8C,IAAzB/B,EAAQgC,cAInEjC,EAAwBC,EACjC,CA0CO,SAASiC,EAAiBjC,GAC/B,OAAOA,EAAQkC,cAAcvC,gBAAkBK,CACjD,CA6BA,SAASmC,EAAsBC,EAAMb,GACnC,GAAIa,EAAKC,WAAaC,KAAKC,cAAgBxC,EAAwBqC,GAEjE,OAAO,EAGT,MAAMpC,EAAqC,EACrCa,EAzBR,SAA2Bb,GACzB,IAnCK,SAA4BA,GAEjC,OAAIA,EAAQwC,QAAQ,qBAKhBxC,EAAQwC,QAAQ,2CACXxC,EAAQwC,QAAQ,oBAIlBxC,EAAQwC,QAAQ,8DACzB,CAsBOC,CAAmBzC,GACtB,OAAQ,EAGV,MAAMa,EAAWb,EAAQ0C,aAAa,aAAe,EACrD,OAAOC,OAAO9B,EAChB,CAkBmB+B,CAAkB5C,GACnC,IAAI6C,EAAYhC,EAAW,EACvBA,GAAY,GACdU,EAAOC,KAAKxB,GAGd,IAAI8C,EAAW,GAWf,OATEA,EADwB,SAAtB9C,EAAQ+C,UACC/C,EAAQgD,cAAc,CAAEC,SAAS,KAGhCjD,EAAQH,YAAcG,GAAS8C,SAE7C,IAAIA,GAAUI,SAASC,IAErBN,EAAYV,EAAsBgB,EAAO5B,IAAWsB,CAAS,IAExDA,CACT,CAWO,SAASO,EAAqBpD,GACnC,MAAMqD,EAAoB,GAI1B,OAH4BlB,EAAsBnC,EAASqD,GAIlDtC,EAAuBsC,GAEzBA,CACT,CAvQAhD,OAAOzB,iBACL,WACA,KACEW,GAAiB,CAAI,GAEvB,CAAE+D,SAAS,IAGbjD,OAAOzB,iBACL,aACA,KACEW,GAAiB,CAAK,GAExB,CAAE+D,SAAS,sCCRN,MAAMC,GAAkB,eAAeC,GAGM,mBAAvCA,EAAWC,UAAUC,cACvBF,EAGF,cAAmCA,EACxC,WAAAG,GACE1E,QAKAN,KAAKiF,cAAgB,IAAIC,GAC3B,CAGA,iBAAAC,GACE7E,MAAM6E,oBAENnF,KAAKiF,cAAcV,SAASa,IACtBA,EAAEC,eACJD,EAAEC,eACJ,GAEJ,CAGA,oBAAA9E,GACED,MAAMC,uBAENP,KAAKiF,cAAcV,SAASa,IACtBA,EAAEE,kBACJF,EAAEE,kBACJ,GAEJ,CAQA,aAAAP,CAAcQ,GACZvF,KAAKiF,cAAcO,IAAID,QAERE,IAAXzF,KAAK0F,GAAmB1F,KAAK2F,aAAeJ,EAAWF,eACzDE,EAAWF,eAEf,CAQA,gBAAAO,CAAiBL,GACfvF,KAAKiF,cAAcY,OAAON,EAC5B,qBC9DG,SAASO,EAAqBrC,GACnC,MAAMb,EAAS,GAEf,KAAOa,GAAM,CACX,GAAIA,EAAKC,WAAaC,KAAKoC,cAAe,CACxCnD,EAAOC,KAAKY,GACZ,KACF,CAEIA,EAAKC,WAAaC,KAAKqC,uBAOzBvC,EADEA,EAAKwC,aACAxC,EAAKwC,aAIPxC,EAAKyC,YAVVtD,EAAOC,KAAKY,GACZA,EAAOA,EAAK3C,KAUhB,CAEA,OAAO8B,CACT,CAUO,SAASuD,EAAqB1C,GACnC,MAAMb,EAAS,GACf,IAAIP,EAQJ,MAPuB,SAAnBoB,EAAKW,UACP/B,EAAWoB,EAAK2C,oBAEhBxD,EAAOC,KAAKY,GACZpB,EAAW,IAAIoB,EAAKU,WAEtB9B,EAASkC,SAAS8B,GAASzD,EAAOC,QAAQsD,EAAqBE,MACxDzD,CACT,CAUO,SAAS0D,EAAkBC,EAAU9C,GAC1C,OAAKA,EAIEA,EAAK+C,QAAQD,IAAaD,EAAkBC,EAAU9C,EAAKF,cAAczC,MAHvE,IAIX,CAQO,SAAS2F,EAA0BC,GACxC,OAAKA,EAIE,IAAIxB,IAAIwB,EAAMC,MAAM,MAHlB,IAAIzB,GAIf,CAQO,SAAS0B,EAAwBC,GACtC,OAAOA,EAAS,IAAIA,GAAQC,KAAK,KAAO,EAC1C,CASO,SAASC,EAAoB1F,EAAS2F,EAAMN,GACjD,MAAMG,EAASJ,EAA0BpF,EAAQ0C,aAAaiD,IAC9DH,EAAOrB,IAAIkB,GACXrF,EAAQ4F,aAAaD,EAAMJ,EAAwBC,GACrD,CAUO,SAASK,EAAyB7F,EAAS2F,EAAMN,GACtD,MAAMG,EAASJ,EAA0BpF,EAAQ0C,aAAaiD,IAC9DH,EAAOhB,OAAOa,GACM,IAAhBG,EAAOM,KAIX9F,EAAQ4F,aAAaD,EAAMJ,EAAwBC,IAHjDxF,EAAQ+F,gBAAgBJ,EAI5B,CAQO,SAASK,EAAgB5D,GAC9B,OAAOA,EAAKC,WAAaC,KAAK2D,WAAyC,KAA5B7D,EAAK8D,YAAYC,MAC9D,wJClIO,MAAMC,UAAuBC,YASlC,iBAAOC,CAAW7G,EAAM8G,GAEtB,MAAO,GADQA,GAAY,aACP9G,EAAKsD,cAAa,UACxC,CAEA,WAAAY,CAAYlE,EAAM8G,EAAUC,EAASC,EAAS,CAAC,GAC7CxH,QAEA,MAAM,YAAEyH,EAAW,SAAEC,EAAQ,QAAEC,EAAO,YAAEC,GAAgBJ,EAExD9H,KAAKc,KAAOA,EACZd,KAAK4H,SAAWA,EAChB5H,KAAK6H,QAAUA,EACf7H,KAAKiI,QAA6B,kBAAZA,GAAwBA,EAC9CjI,KAAKgI,SAA+B,kBAAbA,GAAyBA,EAChDhI,KAAKmI,gBAAkBJ,EAEnBC,IACFhI,KAAKoI,MAAQ,IAIXF,IACFlI,KAAKqI,UAAYrI,KAAKgF,YAAY2C,WAAW7G,EAAM8G,GAEvD,CAEA,aAAAvC,GACOrF,KAAKsI,cACJtI,KAAKgI,SACPhI,KAAKuI,eAELvI,KAAKwI,aAGHxI,KAAKiI,SACPjI,KAAKyI,cAGPzI,KAAKsI,aAAc,EAEvB,CAGA,UAAAE,GACE,IAAI/E,EAAOzD,KAAK0I,eAEXjF,GAIHzD,KAAKyD,KAAOA,EACZzD,KAAK2I,cAAclF,KAJnBA,EAAOzD,KAAK4I,oBACZ5I,KAAK6I,SAASpF,GAKlB,CAGA,YAAA8E,GACE,MAAMpE,EAAWnE,KAAK8I,kBAEtB,GAAwB,IAApB3E,EAAS5B,OAAc,CACzB,MAAMwG,EAAc/I,KAAK4I,oBACrBG,IACF/I,KAAKoI,MAAQ,CAACW,GACd/I,KAAK6I,SAASE,GAElB,MACE/I,KAAKoI,MAAQjE,EACbA,EAASI,SAASd,IAChBzD,KAAK2I,cAAclF,EAAK,GAG9B,CAOA,iBAAAmF,GACE,MAAM,KAAE9H,EAAI,SAAE8G,EAAQ,QAAEC,GAAY7H,KAGpC,IAAIyD,EAAOzD,KAAK+I,YAkBhB,OAfKtF,GAAQoE,IACXpE,EAAO1C,SAASiI,cAAcnB,GAC1BpE,aAAgBwF,UACD,KAAbrB,GACFnE,EAAKwD,aAAa,OAAQW,GAE5B5H,KAAK+I,YAActF,IAInBA,IACFzD,KAAKyD,KAAOA,EACZ3C,EAAKoI,YAAYzF,IAGZA,CACT,CAMA,eAAAqF,GACE,MAAM,SAAElB,GAAa5H,KACrB,OAAOmJ,MAAMC,KAAKpJ,KAAKc,KAAKuI,YAAYC,QAAQ7F,GAG3CA,EAAKC,WAAaC,KAAKC,cAAgBH,EAAK8F,OAAS3B,GACrDnE,EAAKC,WAAaC,KAAK2D,WAAa7D,EAAK8D,YAAYC,QAAuB,KAAbI,GAGtE,CAMA,YAAAc,GACE,OAAO1I,KAAK8I,kBAAkB,EAChC,CAQA,QAAAD,CAASpF,GACP,MAAM,gBAAE0E,GAAoBnI,KAGxBmI,GACFA,EAAgB1E,EAAMzD,KAAKc,KAE/B,CAQA,cAAA0I,CAAeC,GAAQ,CAQvB,YAAAC,CAAaD,GAAQ,CAQrB,aAAAd,CAAclF,GACRA,IAASzD,KAAK+I,cAChB/I,KAAKwJ,eAAe/F,GACpBzD,KAAK6I,SAASpF,GAElB,CAMA,WAAAgF,GACE,MAAM,SAAEb,GAAa5H,KACfuG,EAAwB,KAAbqB,EAAkB,mBAAqB,aAAaA,KAC/D2B,EAAOvJ,KAAKc,KAAKI,WAAWyI,cAAcpD,GAEhDvG,KAAK4J,eAAiB,IAAI,IAAaL,GAAM,EAAGM,aAAYC,mBAC1D,MAAMC,EAAU/J,KAAKgI,SAAWhI,KAAKoI,MAAQ,CAACpI,KAAKyD,MAI7CuG,EAAWH,EAAWP,QAAQ7F,KAAU,QAAgBA,KAAUsG,EAAQE,SAASxG,KAErFqG,EAAavH,SACfvC,KAAKoI,MAAQ2B,EAAQT,QAAQ7F,IAAUqG,EAAaG,SAASxG,KAE7DqG,EAAavF,SAASd,IACpBzD,KAAK0J,aAAajG,EAAK,KAIvBuG,GAAYA,EAASzH,OAAS,IAC5BvC,KAAKgI,UAEHhI,KAAK+I,aACP/I,KAAK+I,YAAYmB,SAEnBlK,KAAKoI,MAAQ,IAAI2B,KAAYC,GAAUV,QAAQ7F,GAASA,IAASzD,KAAK+I,cACtEiB,EAASzF,SAASd,IAChBzD,KAAK2I,cAAclF,EAAK,MAItBzD,KAAKyD,MACPzD,KAAKyD,KAAKyG,SAEZlK,KAAKyD,KAAOuG,EAAS,GACrBhK,KAAK2I,cAAc3I,KAAKyD,OAE5B,GAEJ,qCCnOK,MAAM0G,EACX,WAAAnF,CAAYuE,EAAMa,GAEhBpK,KAAKuJ,KAAOA,EAGZvJ,KAAKoK,SAAWA,EAGhBpK,KAAKqK,aAAe,GAEpBrK,KAAKsK,YAAa,EAClBtK,KAAKuK,YAAa,EAElBvK,KAAKwK,eAAiB,KACpBxK,KAAKyK,WAAW,EAGlBzK,KAAK0K,UACL1K,KAAKyK,WACP,CAOA,OAAAC,GACE1K,KAAKuJ,KAAKtJ,iBAAiB,aAAcD,KAAKwK,gBAC9CxK,KAAKsK,YAAa,CACpB,CAOA,UAAAK,GACE3K,KAAKuJ,KAAKqB,oBAAoB,aAAc5K,KAAKwK,gBACjDxK,KAAKsK,YAAa,CACpB,CAGA,SAAAG,GACOzK,KAAKuK,aACRvK,KAAKuK,YAAa,EAElBM,gBAAe,KACb7K,KAAK8K,OAAO,IAGlB,CAKA,KAAAA,GACO9K,KAAKsK,aAIVtK,KAAKuK,YAAa,EAElBvK,KAAK+K,gBACP,CAGA,aAAAA,GACE,MAAMC,EAAehL,KAAKuJ,KAAKlF,cAAc,CAAEC,SAAS,IAExD,IAAIuF,EAAa,GACjB,MAAMC,EAAe,GACfmB,EAAa,GAEfD,EAAazI,SACfsH,EAAamB,EAAa1B,QAAQ7F,IAAUzD,KAAKqK,aAAaJ,SAASxG,MAGrEzD,KAAKqK,aAAa9H,QACpBvC,KAAKqK,aAAa9F,SAAQ,CAACd,EAAMyH,KAC/B,MAAMC,EAAMH,EAAaI,QAAQ3H,IACpB,IAAT0H,EACFrB,EAAajH,KAAKY,GACT0H,IAAQD,GACjBD,EAAWpI,KAAKY,EAClB,KAIAoG,EAAWtH,QAAUuH,EAAavH,QAAU0I,EAAW1I,SACzDvC,KAAKoK,SAAS,CAAEP,aAAYoB,aAAYnB,iBAG1C9J,KAAKqK,aAAeW,CACtB,oDC7FK,MAAMK,UAA0B,IACrC,WAAArG,CAAYlE,GAEVR,MAAMQ,EAAM,WAEZd,KAAKsL,UAAUxK,EACjB,CASA,cAAA0I,CAAe+B,GACbA,EAAYC,OAASxL,KAAKwL,YAEF/F,IAApBzF,KAAKyL,aACPF,EAAYE,WAAazL,KAAKyL,iBAGXhG,IAAjBzF,KAAK0L,UACPH,EAAYG,QAAU1L,KAAK0L,cAGTjG,IAAhBzF,KAAK2L,SACPJ,EAAYI,OAAS3L,KAAK2L,aAGRlG,IAAhBzF,KAAK4L,SACPL,EAAYK,OAAS5L,KAAK4L,aAGNnG,IAAlBzF,KAAK6L,WACPN,EAAYO,UAAY9L,KAAK6L,eAGPpG,IAApBzF,KAAK+L,aACPR,EAAYQ,WAAa/L,KAAK+L,YAGhC/L,KAAKgM,gBACP,CASA,YAAAtC,GACE1J,KAAKgM,gBACP,CAOA,aAAAC,CAAcR,GACZzL,KAAKyL,WAAaA,EAElB,MAAMF,EAAcvL,KAAKyD,KACrB8H,IACFA,EAAYE,WAAaA,EAE7B,CAMA,UAAAS,CAAWR,GACT1L,KAAK0L,QAAUA,EAEf,MAAMH,EAAcvL,KAAKyD,KACrB8H,IACFA,EAAYG,QAAUA,EAE1B,CAMA,SAAAS,CAAUR,GACR3L,KAAK2L,OAASA,EAEd,MAAMJ,EAAcvL,KAAKyD,KACrB8H,IACFA,EAAYI,OAASA,EAEzB,CAMA,SAAAS,CAAUR,GACR5L,KAAK4L,OAASA,EAEd,MAAML,EAAcvL,KAAKyD,KACrB8H,IACFA,EAAYK,OAASA,EAEzB,CAQA,WAAAS,CAAYR,GACV7L,KAAK6L,SAAWA,EAEhB,MAAMN,EAAcvL,KAAKyD,KACrB8H,IACFA,EAAYO,UAAYD,EAE5B,CAOA,aAAAS,CAAcP,GACZ/L,KAAK+L,WAAaA,EAElB,MAAMR,EAAcvL,KAAKyD,KACrB8H,IACFA,EAAYQ,WAAaA,EAE7B,CAMA,SAAAT,CAAUE,GACRxL,KAAKwL,OAASA,EAEd,MAAMD,EAAcvL,KAAKyD,KACrB8H,IACFA,EAAYC,OAASA,EAEzB,CAGA,cAAAQ,GACEhM,KAAKuM,cAAc,IAAIC,YAAY,kBAAmB,CAAEC,OAAQ,CAAEhJ,KAAMzD,KAAKyD,QAC/E,qCC9JF,IAAIiJ,EAAW,EAgBR,SAASC,IAEd,OAAOD,GACT,sDChBA,MAAME,EAAS,IAAG;;;;;;;;;;;;;;;GAiBlB,OAAoB,eAAgBA,uDCjBpC,MAAMC,EAAO,IAAG;;;;;;;;;;;;;;;;;;;;EAsBVC,EAAa,IAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8FtB,QAAe,GAAIA,EAAY,CAAEC,SAAU,qBAC3C,OAAoB,mBAAoBF","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/focus-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/focus-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/controller-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/dom-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/slot-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/slot-observer.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/tooltip-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/unique-id-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/sizing.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/typography.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { dedupingMixin } from '@polymer/polymer/lib/utils/mixin.js';\nimport { isKeyboardActive } from './focus-utils.js';\n\n/**\n * A mixin to handle `focused` and `focus-ring` attributes based on focus.\n *\n * @polymerMixin\n */\nexport const FocusMixin = dedupingMixin(\n (superclass) =>\n class FocusMixinClass extends superclass {\n /**\n * @protected\n * @return {boolean}\n */\n get _keyboardActive() {\n return isKeyboardActive();\n }\n\n /** @protected */\n ready() {\n this.addEventListener('focusin', (e) => {\n if (this._shouldSetFocus(e)) {\n this._setFocused(true);\n }\n });\n\n this.addEventListener('focusout', (e) => {\n if (this._shouldRemoveFocus(e)) {\n this._setFocused(false);\n }\n });\n\n // In super.ready() other 'focusin' and 'focusout' listeners might be\n // added, so we call it after our own ones to ensure they execute first.\n // Issue to watch out: when incorrect, <vaadin-combo-box> refocuses the\n // input field on iOS after \"Done\" is pressed.\n super.ready();\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n\n // In non-Chrome browsers, blur does not fire on the element when it is disconnected.\n // reproducible in `<vaadin-date-picker>` when closing on `Cancel` or `Today` click.\n if (this.hasAttribute('focused')) {\n this._setFocused(false);\n }\n }\n\n /**\n * Override to change how focused and focus-ring attributes are set.\n *\n * @param {boolean} focused\n * @protected\n */\n _setFocused(focused) {\n this.toggleAttribute('focused', focused);\n\n // Focus-ring is true when the element was focused from the keyboard.\n // Focus Ring [A11ycasts]: https://youtu.be/ilj2P5-5CjI\n this.toggleAttribute('focus-ring', focused && this._keyboardActive);\n }\n\n /**\n * Override to define if the field receives focus based on the event.\n *\n * @param {FocusEvent} _event\n * @return {boolean}\n * @protected\n */\n _shouldSetFocus(_event) {\n return true;\n }\n\n /**\n * Override to define if the field loses focus based on the event.\n *\n * @param {FocusEvent} _event\n * @return {boolean}\n * @protected\n */\n _shouldRemoveFocus(_event) {\n return true;\n }\n },\n);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n// We consider the keyboard to be active if the window has received a keydown\n// event since the last mousedown event.\nlet keyboardActive = false;\n\n// Listen for top-level keydown and mousedown events.\n// Use capture phase so we detect events even if they're handled.\nwindow.addEventListener(\n 'keydown',\n () => {\n keyboardActive = true;\n },\n { capture: true },\n);\n\nwindow.addEventListener(\n 'mousedown',\n () => {\n keyboardActive = false;\n },\n { capture: true },\n);\n\n/**\n * Returns the actually focused element by traversing shadow\n * trees recursively to ensure it's the leaf element.\n *\n * @return {Element}\n */\nexport function getDeepActiveElement() {\n let host = document.activeElement || document.body;\n while (host.shadowRoot && host.shadowRoot.activeElement) {\n host = host.shadowRoot.activeElement;\n }\n return host;\n}\n\n/**\n * Returns true if the window has received a keydown\n * event since the last mousedown event.\n *\n * @return {boolean}\n */\nexport function isKeyboardActive() {\n return keyboardActive;\n}\n\n/**\n * Returns true if the element is hidden directly with `display: none` or `visibility: hidden`,\n * false otherwise.\n *\n * The method doesn't traverse the element's ancestors, it only checks for the CSS properties\n * set directly to or inherited by the element.\n *\n * @param {HTMLElement} element\n * @return {boolean}\n */\nfunction isElementHiddenDirectly(element) {\n // Check inline style first to save a re-flow.\n const style = element.style;\n if (style.visibility === 'hidden' || style.display === 'none') {\n return true;\n }\n\n const computedStyle = window.getComputedStyle(element);\n if (computedStyle.visibility === 'hidden' || computedStyle.display === 'none') {\n return true;\n }\n\n return false;\n}\n\n/**\n * Returns if element `a` has lower tab order compared to element `b`\n * (both elements are assumed to be focusable and tabbable).\n * Elements with tabindex = 0 have lower tab order compared to elements\n * with tabindex > 0.\n * If both have same tabindex, it returns false.\n *\n * @param {HTMLElement} a\n * @param {HTMLElement} b\n * @return {boolean}\n */\nfunction hasLowerTabOrder(a, b) {\n // Normalize tabIndexes\n // e.g. in Firefox `<div contenteditable>` has `tabIndex = -1`\n const ati = Math.max(a.tabIndex, 0);\n const bti = Math.max(b.tabIndex, 0);\n return ati === 0 || bti === 0 ? bti > ati : ati > bti;\n}\n\n/**\n * Merge sort iterator, merges the two arrays into one, sorted by tabindex.\n *\n * @param {HTMLElement[]} left\n * @param {HTMLElement[]} right\n * @return {HTMLElement[]}\n */\nfunction mergeSortByTabIndex(left, right) {\n const result = [];\n while (left.length > 0 && right.length > 0) {\n if (hasLowerTabOrder(left[0], right[0])) {\n result.push(right.shift());\n } else {\n result.push(left.shift());\n }\n }\n\n return result.concat(left, right);\n}\n\n/**\n * Sorts an array of elements by tabindex. Returns a new array.\n *\n * @param {HTMLElement[]} elements\n * @return {HTMLElement[]}\n */\nfunction sortElementsByTabIndex(elements) {\n // Implement a merge sort as Array.prototype.sort does a non-stable sort\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\n const len = elements.length;\n if (len < 2) {\n return elements;\n }\n const pivot = Math.ceil(len / 2);\n const left = sortElementsByTabIndex(elements.slice(0, pivot));\n const right = sortElementsByTabIndex(elements.slice(pivot));\n\n return mergeSortByTabIndex(left, right);\n}\n\n/**\n * Returns true if the element is hidden, false otherwise.\n *\n * An element is treated as hidden when any of the following conditions are met:\n * - the element itself or one of its ancestors has `display: none`.\n * - the element has or inherits `visibility: hidden`.\n *\n * @param {HTMLElement} element\n * @return {boolean}\n */\nexport function isElementHidden(element) {\n // `offsetParent` is `null` when the element itself\n // or one of its ancestors is hidden with `display: none`.\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent\n // However `offsetParent` is also null when the element is using fixed\n // positioning, so additionally check if the element takes up layout space.\n if (element.offsetParent === null && element.clientWidth === 0 && element.clientHeight === 0) {\n return true;\n }\n\n return isElementHiddenDirectly(element);\n}\n\n/**\n * Returns true if the element is focusable, otherwise false.\n *\n * The list of focusable elements is taken from http://stackoverflow.com/a/1600194/4228703.\n * However, there isn't a definite list, it's up to the browser.\n * The only standard we have is DOM Level 2 HTML https://www.w3.org/TR/DOM-Level-2-HTML/html.html,\n * according to which the only elements that have a `focus()` method are:\n * - HTMLInputElement\n * - HTMLSelectElement\n * - HTMLTextAreaElement\n * - HTMLAnchorElement\n *\n * This notably omits HTMLButtonElement and HTMLAreaElement.\n * Referring to these tests with tabbables in different browsers\n * http://allyjs.io/data-tables/focusable.html\n *\n * @param {HTMLElement} element\n * @return {boolean}\n */\nexport function isElementFocusable(element) {\n // The element cannot be focused if its `tabindex` attribute is set to `-1`.\n if (element.matches('[tabindex=\"-1\"]')) {\n return false;\n }\n\n // Elements that cannot be focused if they have a `disabled` attribute.\n if (element.matches('input, select, textarea, button, object')) {\n return element.matches(':not([disabled])');\n }\n\n // Elements that can be focused even if they have a `disabled` attribute.\n return element.matches('a[href], area[href], iframe, [tabindex], [contentEditable]');\n}\n\n/**\n * Returns true if the element is focused, false otherwise.\n *\n * @param {HTMLElement} element\n * @return {boolean}\n */\nexport function isElementFocused(element) {\n return element.getRootNode().activeElement === element;\n}\n\n/**\n * Returns the normalized element tabindex. If not focusable, returns -1.\n * It checks for the attribute \"tabindex\" instead of the element property\n * `tabIndex` since browsers assign different values to it.\n * e.g. in Firefox `<div contenteditable>` has `tabIndex = -1`\n *\n * @param {HTMLElement} element\n * @return {number}\n */\nfunction normalizeTabIndex(element) {\n if (!isElementFocusable(element)) {\n return -1;\n }\n\n const tabIndex = element.getAttribute('tabindex') || 0;\n return Number(tabIndex);\n}\n\n/**\n * Searches for nodes that are tabbable and adds them to the `result` array.\n * Returns if the `result` array needs to be sorted by tabindex.\n *\n * @param {Node} node The starting point for the search; added to `result` if tabbable.\n * @param {HTMLElement[]} result\n * @return {boolean}\n * @private\n */\nfunction collectFocusableNodes(node, result) {\n if (node.nodeType !== Node.ELEMENT_NODE || isElementHiddenDirectly(node)) {\n // Don't traverse children if the node is not an HTML element or not visible.\n return false;\n }\n\n const element = /** @type {HTMLElement} */ (node);\n const tabIndex = normalizeTabIndex(element);\n let needsSort = tabIndex > 0;\n if (tabIndex >= 0) {\n result.push(element);\n }\n\n let children = [];\n if (element.localName === 'slot') {\n children = element.assignedNodes({ flatten: true });\n } else {\n // Use shadow root if possible, will check for distributed nodes.\n children = (element.shadowRoot || element).children;\n }\n [...children].forEach((child) => {\n // Ensure method is always invoked to collect focusable children.\n needsSort = collectFocusableNodes(child, result) || needsSort;\n });\n return needsSort;\n}\n\n/**\n * Returns a tab-ordered array of focusable elements for a root element.\n * The resulting array will include the root element if it is focusable.\n *\n * The method traverses nodes in shadow DOM trees too if any.\n *\n * @param {HTMLElement} element\n * @return {HTMLElement[]}\n */\nexport function getFocusableElements(element) {\n const focusableElements = [];\n const needsSortByTabIndex = collectFocusableNodes(element, focusableElements);\n // If there is at least one element with tabindex > 0,\n // we need to sort the final array by tabindex.\n if (needsSortByTabIndex) {\n return sortElementsByTabIndex(focusableElements);\n }\n return focusableElements;\n}\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { dedupingMixin } from '@polymer/polymer/lib/utils/mixin.js';\n\n/**\n * @typedef ReactiveController\n * @type {import('lit').ReactiveController}\n */\n\n/**\n * A mixin for connecting controllers to the element.\n *\n * @polymerMixin\n */\nexport const ControllerMixin = dedupingMixin((superClass) => {\n // If the superclass extends from LitElement,\n // use its own controllers implementation.\n if (typeof superClass.prototype.addController === 'function') {\n return superClass;\n }\n\n return class ControllerMixinClass extends superClass {\n constructor() {\n super();\n\n /**\n * @type {Set<ReactiveController>}\n */\n this.__controllers = new Set();\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n\n this.__controllers.forEach((c) => {\n if (c.hostConnected) {\n c.hostConnected();\n }\n });\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this.__controllers.forEach((c) => {\n if (c.hostDisconnected) {\n c.hostDisconnected();\n }\n });\n }\n\n /**\n * Registers a controller to participate in the element update cycle.\n *\n * @param {ReactiveController} controller\n * @protected\n */\n addController(controller) {\n this.__controllers.add(controller);\n // Call hostConnected if a controller is added after the element is attached.\n if (this.$ !== undefined && this.isConnected && controller.hostConnected) {\n controller.hostConnected();\n }\n }\n\n /**\n * Removes a controller from the element.\n *\n * @param {ReactiveController} controller\n * @protected\n */\n removeController(controller) {\n this.__controllers.delete(controller);\n }\n };\n});\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Returns an array of ancestor root nodes for the given node.\n *\n * A root node is either a document node or a document fragment node (Shadow Root).\n * The array is collected by a bottom-up DOM traversing that starts with the given node\n * and involves both the light DOM and ancestor shadow DOM trees.\n *\n * @param {Node} node\n * @return {Node[]}\n */\nexport function getAncestorRootNodes(node) {\n const result = [];\n\n while (node) {\n if (node.nodeType === Node.DOCUMENT_NODE) {\n result.push(node);\n break;\n }\n\n if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n result.push(node);\n node = node.host;\n continue;\n }\n\n if (node.assignedSlot) {\n node = node.assignedSlot;\n continue;\n }\n\n node = node.parentNode;\n }\n\n return result;\n}\n\n/**\n * Returns the list of flattened elements for the given `node`.\n * This list consists of a node's children and, for any children that are\n * `<slot>` elements, the expanded flattened list of `assignedElements`.\n *\n * @param {Node} node\n * @return {Element[]}\n */\nexport function getFlattenedElements(node) {\n const result = [];\n let elements;\n if (node.localName === 'slot') {\n elements = node.assignedElements();\n } else {\n result.push(node);\n elements = [...node.children];\n }\n elements.forEach((elem) => result.push(...getFlattenedElements(elem)));\n return result;\n}\n\n/**\n * Traverses the given node and its parents, including those that are across\n * the shadow root boundaries, until it finds a node that matches the selector.\n *\n * @param {string} selector The CSS selector to match against\n * @param {Node} node The starting node for the traversal\n * @return {Node | null} The closest matching element, or null if no match is found\n */\nexport function getClosestElement(selector, node) {\n if (!node) {\n return null;\n }\n\n return node.closest(selector) || getClosestElement(selector, node.getRootNode().host);\n}\n\n/**\n * Takes a string with values separated by space and returns a set the values\n *\n * @param {string} value\n * @return {Set<string>}\n */\nexport function deserializeAttributeValue(value) {\n if (!value) {\n return new Set();\n }\n\n return new Set(value.split(' '));\n}\n\n/**\n * Takes a set of string values and returns a string with values separated by space\n *\n * @param {Set<string>} values\n * @return {string}\n */\nexport function serializeAttributeValue(values) {\n return values ? [...values].join(' ') : '';\n}\n\n/**\n * Adds a value to an attribute containing space-delimited values.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function addValueToAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.add(value);\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Removes a value from an attribute containing space-delimited values.\n * If the value is the last one, the whole attribute is removed.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function removeValueFromAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.delete(value);\n if (values.size === 0) {\n element.removeAttribute(attr);\n return;\n }\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Returns true if the given node is an empty text node, false otherwise.\n *\n * @param {Node} node\n * @return {boolean}\n */\nexport function isEmptyTextNode(node) {\n return node.nodeType === Node.TEXT_NODE && node.textContent.trim() === '';\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 { isEmptyTextNode } from './dom-utils.js';\nimport { SlotObserver } from './slot-observer.js';\nimport { generateUniqueId } from './unique-id-utils.js';\n\n/**\n * A controller for providing content to slot element and observing changes.\n */\nexport class SlotController extends EventTarget {\n /**\n * Ensure that every instance has unique ID.\n *\n * @param {HTMLElement} host\n * @param {string} slotName\n * @return {string}\n * @protected\n */\n static generateId(host, slotName) {\n const prefix = slotName || 'default';\n return `${prefix}-${host.localName}-${generateUniqueId()}`;\n }\n\n constructor(host, slotName, tagName, config = {}) {\n super();\n\n const { initializer, multiple, observe, useUniqueId } = config;\n\n this.host = host;\n this.slotName = slotName;\n this.tagName = tagName;\n this.observe = typeof observe === 'boolean' ? observe : true;\n this.multiple = typeof multiple === 'boolean' ? multiple : false;\n this.slotInitializer = initializer;\n\n if (multiple) {\n this.nodes = [];\n }\n\n // Only generate the default ID if requested by the controller.\n if (useUniqueId) {\n this.defaultId = this.constructor.generateId(host, slotName);\n }\n }\n\n hostConnected() {\n if (!this.initialized) {\n if (this.multiple) {\n this.initMultiple();\n } else {\n this.initSingle();\n }\n\n if (this.observe) {\n this.observeSlot();\n }\n\n this.initialized = true;\n }\n }\n\n /** @protected */\n initSingle() {\n let node = this.getSlotChild();\n\n if (!node) {\n node = this.attachDefaultNode();\n this.initNode(node);\n } else {\n this.node = node;\n this.initAddedNode(node);\n }\n }\n\n /** @protected */\n initMultiple() {\n const children = this.getSlotChildren();\n\n if (children.length === 0) {\n const defaultNode = this.attachDefaultNode();\n if (defaultNode) {\n this.nodes = [defaultNode];\n this.initNode(defaultNode);\n }\n } else {\n this.nodes = children;\n children.forEach((node) => {\n this.initAddedNode(node);\n });\n }\n }\n\n /**\n * Create and attach default node using the provided tag name, if any.\n * @return {Node | undefined}\n * @protected\n */\n attachDefaultNode() {\n const { host, slotName, tagName } = this;\n\n // Check if the node was created previously and if so, reuse it.\n let node = this.defaultNode;\n\n // Tag name is optional, sometimes we don't init default content.\n if (!node && tagName) {\n node = document.createElement(tagName);\n if (node instanceof Element) {\n if (slotName !== '') {\n node.setAttribute('slot', slotName);\n }\n this.defaultNode = node;\n }\n }\n\n if (node) {\n this.node = node;\n host.appendChild(node);\n }\n\n return node;\n }\n\n /**\n * Return the list of nodes matching the slot managed by the controller.\n * @return {Node}\n */\n getSlotChildren() {\n const { slotName } = this;\n return Array.from(this.host.childNodes).filter((node) => {\n // Either an element (any slot) or a text node (only un-named slot).\n return (\n (node.nodeType === Node.ELEMENT_NODE && node.slot === slotName) ||\n (node.nodeType === Node.TEXT_NODE && node.textContent.trim() && slotName === '')\n );\n });\n }\n\n /**\n * Return a reference to the node managed by the controller.\n * @return {Node}\n */\n getSlotChild() {\n return this.getSlotChildren()[0];\n }\n\n /**\n * Run `slotInitializer` for the node managed by the controller.\n *\n * @param {Node} node\n * @protected\n */\n initNode(node) {\n const { slotInitializer } = this;\n // Don't try to bind `this` to initializer (normally it's arrow function).\n // Instead, pass the host as a first argument to access component's state.\n if (slotInitializer) {\n slotInitializer(node, this.host);\n }\n }\n\n /**\n * Override to initialize the newly added custom node.\n *\n * @param {Node} _node\n * @protected\n */\n initCustomNode(_node) {}\n\n /**\n * Override to teardown slotted node when it's removed.\n *\n * @param {Node} _node\n * @protected\n */\n teardownNode(_node) {}\n\n /**\n * Run both `initCustomNode` and `initNode` for a custom slotted node.\n *\n * @param {Node} node\n * @protected\n */\n initAddedNode(node) {\n if (node !== this.defaultNode) {\n this.initCustomNode(node);\n this.initNode(node);\n }\n }\n\n /**\n * Setup the observer to manage slot content changes.\n * @protected\n */\n observeSlot() {\n const { slotName } = this;\n const selector = slotName === '' ? 'slot:not([name])' : `slot[name=${slotName}]`;\n const slot = this.host.shadowRoot.querySelector(selector);\n\n this.__slotObserver = new SlotObserver(slot, ({ addedNodes, removedNodes }) => {\n const current = this.multiple ? this.nodes : [this.node];\n\n // Calling `slot.assignedNodes()` includes whitespace text nodes in case of default slot:\n // unlike comment nodes, they are not filtered out. So we need to manually ignore them.\n const newNodes = addedNodes.filter((node) => !isEmptyTextNode(node) && !current.includes(node));\n\n if (removedNodes.length) {\n this.nodes = current.filter((node) => !removedNodes.includes(node));\n\n removedNodes.forEach((node) => {\n this.teardownNode(node);\n });\n }\n\n if (newNodes && newNodes.length > 0) {\n if (this.multiple) {\n // Remove default node if exists\n if (this.defaultNode) {\n this.defaultNode.remove();\n }\n this.nodes = [...current, ...newNodes].filter((node) => node !== this.defaultNode);\n newNodes.forEach((node) => {\n this.initAddedNode(node);\n });\n } else {\n // Remove previous node if exists\n if (this.node) {\n this.node.remove();\n }\n this.node = newNodes[0];\n this.initAddedNode(this.node);\n }\n }\n });\n }\n}\n","/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * A helper for observing slot changes.\n */\nexport class SlotObserver {\n constructor(slot, callback) {\n /** @type HTMLSlotElement */\n this.slot = slot;\n\n /** @type Function */\n this.callback = callback;\n\n /** @type {Node[]} */\n this._storedNodes = [];\n\n this._connected = false;\n this._scheduled = false;\n\n this._boundSchedule = () => {\n this._schedule();\n };\n\n this.connect();\n this._schedule();\n }\n\n /**\n * Activates an observer. This method is automatically called when\n * a `SlotObserver` is created. It should only be called to re-activate\n * an observer that has been deactivated via the `disconnect` method.\n */\n connect() {\n this.slot.addEventListener('slotchange', this._boundSchedule);\n this._connected = true;\n }\n\n /**\n * Deactivates the observer. After calling this method the observer callback\n * will not be called when changes to slotted nodes occur. The `connect` method\n * may be subsequently called to reactivate the observer.\n */\n disconnect() {\n this.slot.removeEventListener('slotchange', this._boundSchedule);\n this._connected = false;\n }\n\n /** @private */\n _schedule() {\n if (!this._scheduled) {\n this._scheduled = true;\n\n queueMicrotask(() => {\n this.flush();\n });\n }\n }\n\n /**\n * Run the observer callback synchronously.\n */\n flush() {\n if (!this._connected) {\n return;\n }\n\n this._scheduled = false;\n\n this._processNodes();\n }\n\n /** @private */\n _processNodes() {\n const currentNodes = this.slot.assignedNodes({ flatten: true });\n\n let addedNodes = [];\n const removedNodes = [];\n const movedNodes = [];\n\n if (currentNodes.length) {\n addedNodes = currentNodes.filter((node) => !this._storedNodes.includes(node));\n }\n\n if (this._storedNodes.length) {\n this._storedNodes.forEach((node, index) => {\n const idx = currentNodes.indexOf(node);\n if (idx === -1) {\n removedNodes.push(node);\n } else if (idx !== index) {\n movedNodes.push(node);\n }\n });\n }\n\n if (addedNodes.length || removedNodes.length || movedNodes.length) {\n this.callback({ addedNodes, movedNodes, removedNodes });\n }\n\n this._storedNodes = currentNodes;\n }\n}\n","/**\n * @license\n * Copyright (c) 2022 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { SlotController } from './slot-controller.js';\n\n/**\n * A controller that manages the slotted tooltip element.\n */\nexport class TooltipController extends SlotController {\n constructor(host) {\n // Do not provide slot factory to create tooltip lazily.\n super(host, 'tooltip');\n\n this.setTarget(host);\n }\n\n /**\n * Override to initialize the newly added custom tooltip.\n *\n * @param {Node} tooltipNode\n * @protected\n * @override\n */\n initCustomNode(tooltipNode) {\n tooltipNode.target = this.target;\n\n if (this.ariaTarget !== undefined) {\n tooltipNode.ariaTarget = this.ariaTarget;\n }\n\n if (this.context !== undefined) {\n tooltipNode.context = this.context;\n }\n\n if (this.manual !== undefined) {\n tooltipNode.manual = this.manual;\n }\n\n if (this.opened !== undefined) {\n tooltipNode.opened = this.opened;\n }\n\n if (this.position !== undefined) {\n tooltipNode._position = this.position;\n }\n\n if (this.shouldShow !== undefined) {\n tooltipNode.shouldShow = this.shouldShow;\n }\n\n this.__notifyChange();\n }\n\n /**\n * Override to notify the host when the tooltip is removed.\n *\n * @param {Node} tooltipNode\n * @protected\n * @override\n */\n teardownNode() {\n this.__notifyChange();\n }\n\n /**\n * Set an HTML element for linking with the tooltip overlay\n * via `aria-describedby` attribute used by screen readers.\n * @param {HTMLElement} ariaTarget\n */\n setAriaTarget(ariaTarget) {\n this.ariaTarget = ariaTarget;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.ariaTarget = ariaTarget;\n }\n }\n\n /**\n * Set a context object to be used by generator.\n * @param {object} context\n */\n setContext(context) {\n this.context = context;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.context = context;\n }\n }\n\n /**\n * Toggle manual state on the slotted tooltip.\n * @param {boolean} manual\n */\n setManual(manual) {\n this.manual = manual;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.manual = manual;\n }\n }\n\n /**\n * Toggle opened state on the slotted tooltip.\n * @param {boolean} opened\n */\n setOpened(opened) {\n this.opened = opened;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.opened = opened;\n }\n }\n\n /**\n * Set default position for the slotted tooltip.\n * This can be overridden by setting the position\n * using corresponding property or attribute.\n * @param {string} position\n */\n setPosition(position) {\n this.position = position;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode._position = position;\n }\n }\n\n /**\n * Set function used to detect whether to show\n * the tooltip based on a condition.\n * @param {Function} shouldShow\n */\n setShouldShow(shouldShow) {\n this.shouldShow = shouldShow;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.shouldShow = shouldShow;\n }\n }\n\n /**\n * Set an HTML element to attach the tooltip to.\n * @param {HTMLElement} target\n */\n setTarget(target) {\n this.target = target;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.target = target;\n }\n }\n\n /** @private */\n __notifyChange() {\n this.dispatchEvent(new CustomEvent('tooltip-changed', { detail: { node: this.node } }));\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\nlet uniqueId = 0;\n\n/**\n * Resets the unique id counter.\n *\n * @return {void}\n */\nexport function resetUniqueId() {\n uniqueId = 0;\n}\n\n/**\n * Returns a unique integer id.\n *\n * @return {number}\n */\nexport function generateUniqueId() {\n // eslint-disable-next-line no-plusplus\n return uniqueId++;\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 './version.js';\nimport { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst sizing = css`\n :host {\n --lumo-size-xs: 1.625rem;\n --lumo-size-s: 1.875rem;\n --lumo-size-m: 2.25rem;\n --lumo-size-l: 2.75rem;\n --lumo-size-xl: 3.5rem;\n\n /* Icons */\n --lumo-icon-size-s: 1.25em;\n --lumo-icon-size-m: 1.5em;\n --lumo-icon-size-l: 2.25em;\n /* For backwards compatibility */\n --lumo-icon-size: var(--lumo-icon-size-m);\n }\n`;\n\naddLumoGlobalStyles('sizing-props', sizing);\n\nexport { sizing };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './version.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst font = css`\n :host {\n /* prettier-ignore */\n --lumo-font-family: -apple-system, BlinkMacSystemFont, 'Roboto', 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n\n /* Font sizes */\n --lumo-font-size-xxs: 0.75rem;\n --lumo-font-size-xs: 0.8125rem;\n --lumo-font-size-s: 0.875rem;\n --lumo-font-size-m: 1rem;\n --lumo-font-size-l: 1.125rem;\n --lumo-font-size-xl: 1.375rem;\n --lumo-font-size-xxl: 1.75rem;\n --lumo-font-size-xxxl: 2.5rem;\n\n /* Line heights */\n --lumo-line-height-xs: 1.25;\n --lumo-line-height-s: 1.375;\n --lumo-line-height-m: 1.625;\n }\n`;\n\nconst typography = css`\n body,\n :host {\n font-family: var(--lumo-font-family);\n font-size: var(--lumo-font-size-m);\n line-height: var(--lumo-line-height-m);\n -webkit-text-size-adjust: 100%;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n small,\n [theme~='font-size-s'] {\n font-size: var(--lumo-font-size-s);\n line-height: var(--lumo-line-height-s);\n }\n\n [theme~='font-size-xs'] {\n font-size: var(--lumo-font-size-xs);\n line-height: var(--lumo-line-height-xs);\n }\n\n :where(h1, h2, h3, h4, h5, h6) {\n font-weight: 600;\n line-height: var(--lumo-line-height-xs);\n margin-block: 0;\n }\n\n :where(h1) {\n font-size: var(--lumo-font-size-xxxl);\n }\n\n :where(h2) {\n font-size: var(--lumo-font-size-xxl);\n }\n\n :where(h3) {\n font-size: var(--lumo-font-size-xl);\n }\n\n :where(h4) {\n font-size: var(--lumo-font-size-l);\n }\n\n :where(h5) {\n font-size: var(--lumo-font-size-m);\n }\n\n :where(h6) {\n font-size: var(--lumo-font-size-xs);\n text-transform: uppercase;\n letter-spacing: 0.03em;\n }\n\n p,\n blockquote {\n margin-top: 0.5em;\n margin-bottom: 0.75em;\n }\n\n a {\n text-decoration: none;\n }\n\n a:where(:any-link):hover {\n text-decoration: underline;\n }\n\n hr {\n display: block;\n align-self: stretch;\n height: 1px;\n border: 0;\n padding: 0;\n margin: var(--lumo-space-s) calc(var(--lumo-border-radius-m) / 2);\n background-color: var(--lumo-contrast-10pct);\n }\n\n blockquote {\n border-left: 2px solid var(--lumo-contrast-30pct);\n }\n\n b,\n strong {\n font-weight: 600;\n }\n\n /* RTL specific styles */\n blockquote[dir='rtl'] {\n border-left: none;\n border-right: 2px solid var(--lumo-contrast-30pct);\n }\n`;\n\nregisterStyles('', typography, { moduleId: 'lumo-typography' });\naddLumoGlobalStyles('typography-props', font);\n\nexport { font, typography };\n"],"names":["FocusMixin","superclass","_keyboardActive","ready","this","addEventListener","e","_shouldSetFocus","_setFocused","_shouldRemoveFocus","super","disconnectedCallback","hasAttribute","focused","toggleAttribute","_event","keyboardActive","getDeepActiveElement","host","document","activeElement","body","shadowRoot","isKeyboardActive","isElementHiddenDirectly","element","style","visibility","display","computedStyle","window","getComputedStyle","hasLowerTabOrder","a","b","ati","Math","max","tabIndex","bti","sortElementsByTabIndex","elements","len","length","pivot","ceil","left","right","result","push","shift","concat","mergeSortByTabIndex","slice","isElementHidden","offsetParent","clientWidth","clientHeight","isElementFocused","getRootNode","collectFocusableNodes","node","nodeType","Node","ELEMENT_NODE","matches","isElementFocusable","getAttribute","Number","normalizeTabIndex","needsSort","children","localName","assignedNodes","flatten","forEach","child","getFocusableElements","focusableElements","capture","ControllerMixin","superClass","prototype","addController","constructor","__controllers","Set","connectedCallback","c","hostConnected","hostDisconnected","controller","add","undefined","$","isConnected","removeController","delete","getAncestorRootNodes","DOCUMENT_NODE","DOCUMENT_FRAGMENT_NODE","assignedSlot","parentNode","getFlattenedElements","assignedElements","elem","getClosestElement","selector","closest","deserializeAttributeValue","value","split","serializeAttributeValue","values","join","addValueToAttribute","attr","setAttribute","removeValueFromAttribute","size","removeAttribute","isEmptyTextNode","TEXT_NODE","textContent","trim","SlotController","EventTarget","generateId","slotName","tagName","config","initializer","multiple","observe","useUniqueId","slotInitializer","nodes","defaultId","initialized","initMultiple","initSingle","observeSlot","getSlotChild","initAddedNode","attachDefaultNode","initNode","getSlotChildren","defaultNode","createElement","Element","appendChild","Array","from","childNodes","filter","slot","initCustomNode","_node","teardownNode","querySelector","__slotObserver","addedNodes","removedNodes","current","newNodes","includes","remove","SlotObserver","callback","_storedNodes","_connected","_scheduled","_boundSchedule","_schedule","connect","disconnect","removeEventListener","queueMicrotask","flush","_processNodes","currentNodes","movedNodes","index","idx","indexOf","TooltipController","setTarget","tooltipNode","target","ariaTarget","context","manual","opened","position","_position","shouldShow","__notifyChange","setAriaTarget","setContext","setManual","setOpened","setPosition","setShouldShow","dispatchEvent","CustomEvent","detail","uniqueId","generateUniqueId","sizing","font","typography","moduleId"],"sourceRoot":""}
|