@descope/web-components-ui 1.31.0 → 1.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +481 -364
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +524 -438
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/1408.js +382 -0
- package/dist/umd/1408.js.LICENSE.txt +17 -0
- package/dist/umd/1408.js.map +1 -0
- package/dist/umd/{9243.js → 1519.js} +7 -6
- package/dist/umd/1519.js.map +1 -0
- package/dist/umd/189.js +109 -276
- package/dist/umd/189.js.LICENSE.txt +12 -0
- package/dist/umd/189.js.map +1 -0
- package/dist/umd/{7979.js → 1899.js} +11 -10
- package/dist/umd/1899.js.map +1 -0
- package/dist/umd/{1172.js → 1995.js} +10 -9
- package/dist/umd/1995.js.map +1 -0
- package/dist/umd/2540.js +2 -1
- package/dist/umd/2540.js.map +1 -0
- package/dist/umd/2672.js +2 -0
- package/dist/umd/2672.js.map +1 -0
- package/dist/umd/2739.js +2 -0
- package/dist/umd/2739.js.map +1 -0
- package/dist/umd/{2570.js → 2894.js} +6 -5
- package/dist/umd/2894.js.map +1 -0
- package/dist/umd/{404.js → 3620.js} +9 -8
- package/dist/umd/3620.js.map +1 -0
- package/dist/umd/{4455.js → 384.js} +8 -7
- package/dist/umd/384.js.map +1 -0
- package/dist/umd/4467.js +3 -0
- package/dist/umd/4467.js.map +1 -0
- package/dist/umd/{4127.js → 4518.js} +11 -10
- package/dist/umd/4518.js.map +1 -0
- package/dist/umd/{1902.js → 4550.js} +7 -6
- package/dist/umd/4550.js.map +1 -0
- package/dist/umd/{4554.js → 4623.js} +7 -6
- package/dist/umd/4623.js.map +1 -0
- package/dist/umd/{742.js → 4914.js} +3 -2
- package/dist/umd/4914.js.map +1 -0
- package/dist/umd/{9478.js → 513.js} +6 -5
- package/dist/umd/513.js.map +1 -0
- package/dist/umd/{201.js → 5260.js} +6 -5
- package/dist/umd/5260.js.map +1 -0
- package/dist/umd/5414.js +2 -1
- package/dist/umd/5414.js.map +1 -0
- package/dist/umd/5648.js +110 -0
- package/dist/umd/5648.js.map +1 -0
- package/dist/umd/5780.js +2 -0
- package/dist/umd/5780.js.map +1 -0
- package/dist/umd/{5563.js → 6227.js} +6 -5
- package/dist/umd/6227.js.map +1 -0
- package/dist/umd/6424.js +149 -0
- package/dist/umd/6424.js.map +1 -0
- package/dist/umd/{7097.js → 6649.js} +6 -5
- package/dist/umd/6649.js.map +1 -0
- package/dist/umd/676.js +3 -0
- package/dist/umd/676.js.map +1 -0
- package/dist/umd/{1738.js → 7092.js} +2 -1
- package/dist/umd/7092.js.map +1 -0
- package/dist/umd/{3638.js → 7182.js} +3 -2
- package/dist/umd/7182.js.map +1 -0
- package/dist/umd/{507.js → 7291.js} +6 -5
- package/dist/umd/7291.js.map +1 -0
- package/dist/umd/{4187.js → 7565.js} +3 -2
- package/dist/umd/7565.js.map +1 -0
- package/dist/umd/{3191.js → 7620.js} +11 -7
- package/dist/umd/7620.js.map +1 -0
- package/dist/umd/{6050.js → 7774.js} +10 -9
- package/dist/umd/7774.js.map +1 -0
- package/dist/umd/{2666.js → 7939.js} +5 -4
- package/dist/umd/7939.js.map +1 -0
- package/dist/umd/{4114.js → 8618.js} +5 -4
- package/dist/umd/8618.js.map +1 -0
- package/dist/umd/8961.js +2 -0
- package/dist/umd/8961.js.map +1 -0
- package/dist/umd/{4574.js → 8983.js} +6 -5
- package/dist/umd/8983.js.map +1 -0
- package/dist/umd/9030.js +265 -307
- package/dist/umd/9030.js.LICENSE.txt +0 -6
- package/dist/umd/9030.js.map +1 -0
- package/dist/umd/9365.js +2 -0
- package/dist/umd/9365.js.map +1 -0
- package/dist/umd/{4218.js → 9380.js} +5 -4
- package/dist/umd/9380.js.map +1 -0
- package/dist/umd/9871.js +276 -0
- package/dist/umd/9871.js.map +1 -0
- package/dist/umd/9970.js +833 -0
- package/dist/umd/9970.js.map +1 -0
- package/dist/umd/DescopeDev.js +2 -1
- package/dist/umd/DescopeDev.js.map +1 -0
- package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js +2 -1
- package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js.map +1 -0
- package/dist/umd/boolean-fields-descope-checkbox-index-js.js +2 -1
- package/dist/umd/boolean-fields-descope-checkbox-index-js.js.map +1 -0
- package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +2 -1
- package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-internal-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-internal-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-internal-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-internal-index-js.js.map +1 -0
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +2 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -0
- package/dist/umd/descope-address-field.js +2 -1
- package/dist/umd/descope-address-field.js.map +1 -0
- package/dist/umd/descope-alert-index-js.js +2 -1
- package/dist/umd/descope-alert-index-js.js.map +1 -0
- package/dist/umd/descope-apps-list-index-js.js +2 -1
- package/dist/umd/descope-apps-list-index-js.js.map +1 -0
- package/dist/umd/descope-autocomplete-field.js +2 -1
- package/dist/umd/descope-autocomplete-field.js.map +1 -0
- package/dist/umd/descope-avatar.js +2 -1
- package/dist/umd/descope-avatar.js.map +1 -0
- package/dist/umd/descope-badge-index-js.js +2 -1
- package/dist/umd/descope-badge-index-js.js.map +1 -0
- package/dist/umd/descope-button-index-js.js +5 -4
- package/dist/umd/descope-button-index-js.js.map +1 -0
- package/dist/umd/descope-code-snippet-index-js.js +2 -1
- package/dist/umd/descope-code-snippet-index-js.js.map +1 -0
- package/dist/umd/descope-combo-box.js +7 -6
- package/dist/umd/descope-combo-box.js.map +1 -0
- package/dist/umd/descope-container-index-js.js +2 -1
- package/dist/umd/descope-container-index-js.js.map +1 -0
- package/dist/umd/descope-date-field-descope-calendar-index-js.js +2 -1
- package/dist/umd/descope-date-field-descope-calendar-index-js.js.map +1 -0
- package/dist/umd/descope-date-field-index-js.js +2 -1
- package/dist/umd/descope-date-field-index-js.js.map +1 -0
- package/dist/umd/descope-divider-index-js.js +2 -1
- package/dist/umd/descope-divider-index-js.js.map +1 -0
- package/dist/umd/descope-email-field-index-js.js +5 -4
- package/dist/umd/descope-email-field-index-js.js.map +1 -0
- package/dist/umd/descope-enriched-text-index-js.js +2 -1
- package/dist/umd/descope-enriched-text-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js +5 -4
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js +6 -5
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +2 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js +5 -4
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js.map +1 -0
- package/dist/umd/descope-grid-index-js.js +2 -1
- package/dist/umd/descope-grid-index-js.js.map +1 -0
- package/dist/umd/descope-hybrid-field-index-js.js +4 -3
- package/dist/umd/descope-hybrid-field-index-js.js.map +1 -0
- package/dist/umd/descope-icon-index-js.js +2 -1
- package/dist/umd/descope-icon-index-js.js.map +1 -0
- package/dist/umd/descope-image-index-js.js +2 -1
- package/dist/umd/descope-image-index-js.js.map +1 -0
- package/dist/umd/descope-link-index-js.js +2 -1
- package/dist/umd/descope-link-index-js.js.map +1 -0
- package/dist/umd/descope-list-index-js.js +2 -1
- package/dist/umd/descope-list-index-js.js.map +1 -0
- package/dist/umd/descope-loader-linear-index-js.js +2 -1
- package/dist/umd/descope-loader-linear-index-js.js.map +1 -0
- package/dist/umd/descope-loader-radial-index-js.js +2 -1
- package/dist/umd/descope-loader-radial-index-js.js.map +1 -0
- package/dist/umd/descope-logo-index-js.js +2 -1
- package/dist/umd/descope-logo-index-js.js.map +1 -0
- package/dist/umd/descope-modal-index-js.js +2 -1
- package/dist/umd/descope-modal-index-js.js.map +1 -0
- package/dist/umd/descope-multi-select-combo-box-index-js.js +2 -1
- package/dist/umd/descope-multi-select-combo-box-index-js.js.map +1 -0
- package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +2 -1
- package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js.map +1 -0
- package/dist/umd/descope-new-password-index-js.js +2 -1
- package/dist/umd/descope-new-password-index-js.js.map +1 -0
- package/dist/umd/descope-notification-descope-notification-card-index-js.js +2 -1
- package/dist/umd/descope-notification-descope-notification-card-index-js.js.map +1 -0
- package/dist/umd/descope-notification-index-js.js +2 -1
- package/dist/umd/descope-notification-index-js.js.map +1 -0
- package/dist/umd/descope-notp-image-index-js.js +2 -1
- package/dist/umd/descope-notp-image-index-js.js.map +1 -0
- package/dist/umd/descope-number-field-index-js.js +2 -1
- package/dist/umd/descope-number-field-index-js.js.map +1 -0
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js +2 -1
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js.map +1 -0
- package/dist/umd/descope-passcode-index-js.js +3 -2
- package/dist/umd/descope-passcode-index-js.js.map +1 -0
- package/dist/umd/descope-password-index-js.js +2 -1
- package/dist/umd/descope-password-index-js.js.map +1 -0
- package/dist/umd/descope-policy-validation-index-js.js +2 -1
- package/dist/umd/descope-policy-validation-index-js.js.map +1 -0
- package/dist/umd/descope-radio-group-index-js.js +2 -1
- package/dist/umd/descope-radio-group-index-js.js.map +1 -0
- package/dist/umd/descope-recaptcha-index-js.js +2 -1
- package/dist/umd/descope-recaptcha-index-js.js.map +1 -0
- package/dist/umd/descope-scopes-list-index-js.js +2 -1
- package/dist/umd/descope-scopes-list-index-js.js.map +1 -0
- package/dist/umd/descope-security-questions-setup-index-js.js +2 -1
- package/dist/umd/descope-security-questions-setup-index-js.js.map +1 -0
- package/dist/umd/descope-security-questions-verify-index-js.js +3 -2
- package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -0
- package/dist/umd/descope-text-area-index-js.js +2 -1
- package/dist/umd/descope-text-area-index-js.js.map +1 -0
- package/dist/umd/descope-text-field-index-js.js +3 -2
- package/dist/umd/descope-text-field-index-js.js.map +1 -0
- package/dist/umd/descope-text.js +2 -1
- package/dist/umd/descope-text.js.map +1 -0
- package/dist/umd/descope-third-party-app-logo-index-js.js +2 -1
- package/dist/umd/descope-third-party-app-logo-index-js.js.map +1 -0
- package/dist/umd/descope-totp-image-index-js.js +2 -1
- package/dist/umd/descope-totp-image-index-js.js.map +1 -0
- package/dist/umd/descope-upload-file-index-js.js +2 -1
- package/dist/umd/descope-upload-file-index-js.js.map +1 -0
- package/dist/umd/descope-user-attribute-index-js.js +2 -1
- package/dist/umd/descope-user-attribute-index-js.js.map +1 -0
- package/dist/umd/descope-user-auth-method-index-js.js +2 -1
- package/dist/umd/descope-user-auth-method-index-js.js.map +1 -0
- package/dist/umd/fonts/font-1364590020.woff +0 -0
- package/dist/umd/fonts/font-1949233557.woff +0 -0
- package/dist/umd/index.js +2 -1
- package/dist/umd/index.js.map +1 -0
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mapping-item-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mapping-item-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-saml-group-mappings-descope-saml-group-mappings-internal-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-descope-saml-group-mappings-internal-index-js.js.map +1 -0
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +2 -1
- package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js +2 -1
- package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-field-index-js.js +2 -1
- package/dist/umd/phone-fields-descope-phone-field-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +3 -2
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js.map +1 -0
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +8 -7
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.map +1 -0
- package/package.json +10 -8
- package/src/baseClasses/createCssVarImageClass.js +10 -5
- package/src/components/button-selection-group-fields/baseButtonSelectionGroup.js +7 -0
- package/src/components/button-selection-group-fields/createBaseButtonSelectionGroupInternalClass.js +1 -8
- package/src/components/button-selection-group-fields/descope-button-selection-group-item/ButtonSelectionGroupItemClass.js +11 -6
- package/src/components/descope-alert/AlertClass.js +16 -12
- package/src/components/descope-badge/BadgeClass.js +11 -6
- package/src/components/descope-code-snippet/CodeSnippetClass.js +9 -4
- package/src/components/descope-container/ContainerClass.js +9 -4
- package/src/components/descope-date-field/DateFieldClass.js +22 -17
- package/src/components/descope-date-field/descope-calendar/CalendarClass.js +28 -18
- package/src/components/descope-date-field/descope-calendar/helpers.js +1 -2
- package/src/components/descope-divider/DividerClass.js +14 -9
- package/src/components/descope-enriched-text/EnrichedTextClass.js +9 -4
- package/src/components/descope-grid/GridClass.js +1 -1
- package/src/components/descope-hybrid-field/HybridFieldClass.js +15 -10
- package/src/components/descope-icon/IconClass.js +9 -4
- package/src/components/descope-image/ImageClass.js +10 -5
- package/src/components/descope-link/LinkClass.js +14 -9
- package/src/components/descope-list/ListClass.js +15 -13
- package/src/components/descope-list/ListItemClass.js +16 -14
- package/src/components/descope-loader-linear/LoaderLinearClass.js +10 -5
- package/src/components/descope-loader-radial/LoaderRadialClass.js +10 -5
- package/src/components/descope-modal/ModalClass.js +16 -4
- package/src/components/descope-new-password/NewPasswordClass.js +1 -1
- package/src/components/descope-new-password/descope-new-password-internal/NewPasswordInternal.js +8 -6
- package/src/components/descope-passcode/PasscodeClass.js +28 -1
- package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +26 -23
- package/src/components/descope-passcode/descope-passcode-internal/helpers.js +3 -22
- package/src/components/descope-policy-validation/PolicyValidationClass.js +8 -3
- package/src/components/descope-recaptcha/RecaptchaClass.js +13 -8
- package/src/components/descope-scopes-list/ScopesListClass.js +9 -5
- package/src/components/descope-security-questions-setup/SecurityQuestionsSetupClass.js +9 -5
- package/src/components/descope-security-questions-verify/SecurityQuestionsVerifyClass.js +9 -5
- package/src/components/descope-text-field/TextFieldClass.js +1 -1
- package/src/components/descope-third-party-app-logo/ThirdPartyAppLogoClass.js +20 -16
- package/src/components/descope-upload-file/UploadFileClass.js +20 -15
- package/src/components/descope-user-attribute/UserAttributeClass.js +25 -22
- package/src/components/descope-user-auth-method/UserAuthMethodClass.js +25 -22
- package/src/components/mapping-fields/descope-mappings-field/descope-mapping-item/MappingItem.js +15 -9
- package/src/components/phone-fields/descope-phone-field/PhoneFieldClass.js +1 -0
- package/src/components/phone-fields/descope-phone-field/helpers.js +0 -1
- package/src/mixins/createProxy.js +3 -1
- package/src/mixins/createStyleMixin/index.js +9 -22
- package/src/mixins/draggableMixin.js +3 -2
- package/dist/umd/1402.js +0 -1
- package/dist/umd/1484.js +0 -148
- package/dist/umd/3110.js +0 -275
- package/dist/umd/3437.js +0 -2
- package/dist/umd/4619.js +0 -1
- package/dist/umd/4902.js +0 -170
- package/dist/umd/4902.js.LICENSE.txt +0 -23
- package/dist/umd/5096.js +0 -109
- package/dist/umd/5318.js +0 -1
- package/dist/umd/5459.js +0 -1
- package/dist/umd/7150.js +0 -2
- package/dist/umd/731.js +0 -832
- package/dist/umd/8823.js +0 -1
- /package/dist/umd/{9243.js.LICENSE.txt → 1519.js.LICENSE.txt} +0 -0
- /package/dist/umd/{1902.js.LICENSE.txt → 1899.js.LICENSE.txt} +0 -0
- /package/dist/umd/{1172.js.LICENSE.txt → 1995.js.LICENSE.txt} +0 -0
- /package/dist/umd/{2570.js.LICENSE.txt → 2894.js.LICENSE.txt} +0 -0
- /package/dist/umd/{1484.js.LICENSE.txt → 3620.js.LICENSE.txt} +0 -0
- /package/dist/umd/{2666.js.LICENSE.txt → 384.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3437.js.LICENSE.txt → 4467.js.LICENSE.txt} +0 -0
- /package/dist/umd/{404.js.LICENSE.txt → 4518.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4455.js.LICENSE.txt → 4550.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4554.js.LICENSE.txt → 4623.js.LICENSE.txt} +0 -0
- /package/dist/umd/{742.js.LICENSE.txt → 4914.js.LICENSE.txt} +0 -0
- /package/dist/umd/{507.js.LICENSE.txt → 513.js.LICENSE.txt} +0 -0
- /package/dist/umd/{201.js.LICENSE.txt → 5260.js.LICENSE.txt} +0 -0
- /package/dist/umd/{5096.js.LICENSE.txt → 5648.js.LICENSE.txt} +0 -0
- /package/dist/umd/{5563.js.LICENSE.txt → 6227.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4127.js.LICENSE.txt → 6424.js.LICENSE.txt} +0 -0
- /package/dist/umd/{7097.js.LICENSE.txt → 6649.js.LICENSE.txt} +0 -0
- /package/dist/umd/{7150.js.LICENSE.txt → 676.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3638.js.LICENSE.txt → 7182.js.LICENSE.txt} +0 -0
- /package/dist/umd/{7979.js.LICENSE.txt → 7291.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4187.js.LICENSE.txt → 7565.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3191.js.LICENSE.txt → 7620.js.LICENSE.txt} +0 -0
- /package/dist/umd/{6050.js.LICENSE.txt → 7774.js.LICENSE.txt} +0 -0
- /package/dist/umd/{9478.js.LICENSE.txt → 7939.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4114.js.LICENSE.txt → 8618.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4574.js.LICENSE.txt → 8983.js.LICENSE.txt} +0 -0
- /package/dist/umd/{4218.js.LICENSE.txt → 9380.js.LICENSE.txt} +0 -0
- /package/dist/umd/{3110.js.LICENSE.txt → 9871.js.LICENSE.txt} +0 -0
- /package/dist/umd/{731.js.LICENSE.txt → 9970.js.LICENSE.txt} +0 -0
- /package/dist/umd/{bcdfe87ae253c2cf789c9a737f8d8c22.woff → fonts/font-38673212.woff} +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-alert-index-js.js","mappings":"iRAOO,MAAMA,GAAgB,QAAiB,SAE9C,MAAMC,WAAiB,EAAAC,EAAA,GAAgB,CAAEF,gBAAeG,aAAc,iBACpE,WAAAC,GACEC,QAEAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,wMAWhD,QACE,8YAqBAH,KAEJ,CAEA,IAAAI,GACEL,MAAMK,SAENJ,KAAKK,QAAUL,KAAKM,WAAWC,cAAc,QAC7CP,KAAKQ,SAAWR,KAAKM,WAAWC,cAAc,yBAE9CP,KAAKK,QAAQI,iBAAiB,aAAcT,KAAKU,iBAAiBC,KAAKX,QAEvE,QAAUA,KAAKQ,SAAUR,KAAM,CAAEY,aAAc,CAAC,YAEhD,QAAgBZ,KAAMA,KAAKa,qBAAqBF,KAAKX,QAErD,QAAaA,KAAMA,KAAKQ,SAAU,CAChCI,aAAc,CAAC,UAAW,aAAc,sBAE5C,CAEA,oBAAAC,GACEb,KAAKQ,SAASM,YAAcd,KAAKc,WACnC,CAEA,gBAAAJ,GACE,MAAMK,EAAgBf,KAAKK,QAAQU,cAAc,CAAEC,SAAS,IACvDD,EAAcE,SACnBjB,KAAKQ,SAASM,YAAcC,EAAc,IAAID,aAAe,GAC/D,EAGF,MAAM,KAAEI,GAAS,CACfA,KAAM,CAAEC,SAAU,IAAM,UAGbC,GAAa,SACxB,QAAiB,CACfC,SAAU,CACRC,UAAW,CAAEH,SAAU,IAAM,QAASI,SAAU,SAChDC,cAAe,CAAEL,SAAU,IAAM,QAASI,SAAU,aACpDE,UAAW,CACTN,SAAUO,EAAA,EAAkBhC,cAC5B6B,SAAUG,EAAA,EAAkBC,WAAWF,WAEzCG,gBAAiB,CAAC,EAClBC,YAAa,CAAC,EACdC,YAAa,CAAC,EACdC,YAAa,CAAC,EACdC,aAAc,CAAC,EACfC,SAAU,CACR,CAAC,EACD,CACEd,SAAUO,EAAA,EAAkBhC,cAC5B6B,SAAUG,EAAA,EAAkBC,WAAWM,WAG3CC,IAAK,CAAC,EACNC,kBAAmB,CAAC,CAAEZ,SAAU,eAAiB,CAAEA,SAAU,mBAC7Da,gBAAiB,CAAC,CAAEb,SAAU,iBAAmB,CAAEA,SAAU,iBAC7Dc,WAAY,CAAC,EACbC,eAAgB,CAAC,EACjBpB,KAAM,CACJ,IAAKA,EAAMK,SAAU,WACrB,IAAKL,EAAMK,SAAU,UAAWgB,SAAU,SAE5CC,SAAU,CACR,IAAKtB,EAAMK,SAAU,SACrB,IAAKL,EAAMK,SAAU,eAI3B,QAAiB,CAAEkB,uBAAuB,QAAiB,oBAC3D,QAAiB,CAAEA,uBAAuB,QAAiB,UAC3D,KACA,KAvCwB,CAwCxB9C,GCvHF+C,eAAeC,OAAOjD,EAAe0B,E,oICQ9B,MAAM1B,GAAgB,QAAiB,iBAE9C,MAAMkD,WAAqB,OAAgB,CAAElD,gBAAeG,aAAc,iBACxE,GAEA,GAEA,WAAAC,GACEC,QAEAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,2CAIhD,QACE,6iBAkCAH,MAGFA,MAAK,KAEL,QAAgBA,KAAMA,MAAK,EAAeW,KAAKX,MACjD,CAEA,6BAAW6C,GACT,MAAO,CAAC,WAAY,oBACtB,CAEA,wBAAAC,CAAyBC,EAAUC,EAAUC,GAC3ClD,MAAM+C,2BAA2BC,EAAUC,EAAUC,GAEjDA,IAAaD,IACE,aAAbD,GACF/C,KAAKkD,iBAA8B,SAAbD,GAGP,sBAAbF,GACF/C,MAAK,IAGX,CAGA,uBAAAmD,GACEnD,KAAKoD,UAAUC,SAASC,MAAMC,QAAU,CAACC,EAAQC,EAAKC,EAASC,EAAKC,KACvC,MAAvBJ,EAAOC,GAAKI,SAAgBL,EAAOC,GAAKK,IAAM,KAC3C9D,MAAK,EAAgBwD,EAAQC,EAAKC,EAASC,EAAKC,IAEzD5D,KAAKoD,UAAUC,SAASC,MAAMS,SAAW,CAACP,EAAQC,EAAKC,EAASC,EAAKC,KACxC,MAAvBJ,EAAOC,GAAKI,SAAgBL,EAAOC,GAAKK,IAAM,KAC3C9D,MAAK,EAAgBwD,EAAQC,EAAKC,EAASC,EAAKC,GAE3D,CAEA,KACM5D,KAAKgE,gBACPhE,KAAKoD,UAAUC,SAASC,MAAMW,UAAY,CAACT,EAAQC,EAAKC,EAASC,EAAKC,KAEpEJ,EAAOC,GAAKS,QAAQ,SAAU,UAEvBlE,MAAK,EAAkBwD,EAAQC,EAAKC,EAASC,EAAKC,IAG3D5D,KAAKoD,UAAUC,SAASC,MAAMW,UAAYjE,MAAK,CAEnD,CAEA,KACOA,KAAKoD,WAGVpD,KAAKoD,UAAUe,QAAQ,IACzB,CAEA,KACEnE,MAAK,GACP,CAEA,KAGEA,MAAK,EAAoBA,KAAKoD,UAAUC,SAASC,MAAMW,WAF3B,EAACT,EAAQC,EAAKC,EAASU,EAAGR,IACpDA,EAAKS,YAAYb,EAAQC,EAAKC,IAKhC1D,MAAK,EAAkBA,KAAKoD,UAAUC,SAASC,MAAMC,SAFvB,EAACC,EAAQC,EAAKC,EAASU,EAAGR,IACtDA,EAAKS,YAAYb,EAAQC,EAAKC,GAElC,CAEA,KACE1D,KAAKoD,UAAY,IAAI,IAAW,aAAc,CAAEkB,MAAM,IACtDtE,MAAK,IACLA,MAAK,IACLA,MAAK,IACLA,KAAKmD,yBACP,CAEA,mBAAIa,GACF,MAAkD,SAA3ChE,KAAKuE,aAAa,oBAC3B,CAEA,eAAIC,GACF,OAAOxE,KAAKM,WAAWC,cAAc,WACvC,CAEA,KACE,IAAKP,KAAKoD,UACR,OAGF,IAAIkB,GAAO,OAAWtE,KAAKG,YAEtBmE,GAAMG,QAAUzE,KAAK0E,YACxB1E,KAAK2E,aAAa,QAAS,QAE3B3E,KAAK4E,gBAAgB,SAGvB,IACE,MAAMpB,EAASxD,KAAKoD,UAAUyB,MAAMP,EAAM,CAAEQ,gBAAYC,IACxDT,EAAOtE,KAAKoD,UAAUC,SAAS2B,OAAOxB,EAAQ,CAAEc,MAAM,EAAMW,QAAQ,GACtE,CAAE,MAAOC,GAEPC,QAAQC,KAAK,qCACf,CAEApF,KAAKwE,YAAYrE,UAAYmE,CAC/B,CAEA,gBAAApB,CAAiBmC,GACXA,EACFrF,KAAKwE,YAAYG,aAAa,QAASU,GAEvCrF,KAAKwE,YAAYI,gBAAgB,QAErC,EAGK,MAAMlD,GAAoB,SAC/B,QAAiB,CACfL,SAAU,CACRC,UAAW,CAAEH,SAAU,IAAM,QAASI,SAAU,SAChD+D,YAAa,CAAEnE,SAAU,IAAM,QAASI,SAAU,UAAWgB,SAAU,gBACvEf,cAAe,CAAEL,SAAU,IAAM,QAASI,SAAU,aACpDU,SAAU,CAAC,EACXsD,WAAY,CAAC,EACbC,WAAY,CAAC,EACbC,eAAgB,CACd,CAAEtE,SAAU,IAAM,eAAgBI,SAAU,eAC5C,CAAEJ,SAAU,IAAM,UAAWI,SAAU,gBAEzCE,UAAW,CAAEF,SAAU,SACvBmE,eAAgB,CAAEnE,SAAU,eAC5BoE,UAAW,CAAC,EACZC,UAAW,CAAEzE,SAAU,IAAKI,SAAU,SACtCsE,mBAAoB,CAAE1E,SAAU,IAAKI,SAAU,mBAC/CuE,wBAAyB,CAAE3E,SAAU,UAAWI,SAAU,mBAC1DwE,UAAW,CAAC,EACZC,SAAU,CAAC,MAGf,QAAiB,CAAEvD,uBAAuB,QAAiB,WAC3D,QAAiB,CAAEA,uBAAuB,QAAiB,UAC3D,KACA,KA1B+B,CA2B/BG,E,iCChNK,MAAMqD,EAAe,CAC1B,aACA,OACA,QACA,QACA,OACA,KACA,YACA,QACA,YACA,UACA,WACA,a,mCCZK,MAAMC,EAAc5B,IACzB,MAAM6B,EAAWC,SAASC,cAAc,YAExC,OADAF,EAAShG,UAAYmE,EACd6B,EAASG,KAAK,C,iGCDvB5D,eAAeC,OAAO,IAAe,I","sources":["webpack://@descope/web-components-ui/./src/components/descope-alert/AlertClass.js","webpack://@descope/web-components-ui/./src/components/descope-alert/index.js","webpack://@descope/web-components-ui/./src/components/descope-enriched-text/EnrichedTextClass.js","webpack://@descope/web-components-ui/./src/components/descope-enriched-text/consts.js","webpack://@descope/web-components-ui/./src/components/descope-enriched-text/helpers.js","webpack://@descope/web-components-ui/./src/components/descope-enriched-text/index.js"],"sourcesContent":["import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { EnrichedTextClass } from '../descope-enriched-text/EnrichedTextClass';\nimport { injectStyle, observeChildren, syncAttrs } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('alert');\n\nclass RawAlert extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div>\n <div class=\"icon\"></div>\n <div class=\"content\">\n <descope-enriched-text>\n <slot></slot>\n </descope-enriched-text>\n </div>\n </div>\n `;\n\n injectStyle(\n `\n :host {\n display: inline-flex;\n }\n :host > div {\n display: flex;\n width: 100%;\n }\n :host([empty=\"true\"]) {\n display: none;\n }\n .icon {\n flex-shrink: 0;\n }\n .content {\n display: flex;\n flex-wrap: wrap;\n white-space: normal;\n overflow-wrap: break-word;\n }\n `,\n this\n );\n }\n\n init() {\n super.init?.();\n\n this.slotEle = this.shadowRoot.querySelector('slot');\n this.textComp = this.shadowRoot.querySelector('descope-enriched-text');\n\n this.slotEle.addEventListener('slotchange', this.handleSlotChange.bind(this));\n\n syncAttrs(this.textComp, this, { includeAttrs: ['empty'] });\n\n observeChildren(this, this.handleChildrenChange.bind(this));\n\n forwardAttrs(this, this.textComp, {\n includeAttrs: ['variant', 'full-width', 'link-target-blank'],\n });\n }\n\n handleChildrenChange() {\n this.textComp.textContent = this.textContent;\n }\n\n handleSlotChange() {\n const assignedNodes = this.slotEle.assignedNodes({ flatten: true });\n if (!assignedNodes.length) return;\n this.textComp.textContent = assignedNodes[0]?.textContent || '';\n }\n}\n\nconst { icon } = {\n icon: { selector: () => '.icon' },\n};\n\nexport const AlertClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n textColor: {\n selector: EnrichedTextClass.componentName,\n property: EnrichedTextClass.cssVarList.textColor,\n },\n backgroundColor: {},\n borderColor: {},\n borderWidth: {},\n borderStyle: {},\n borderRadius: {},\n fontSize: [\n {},\n {\n selector: EnrichedTextClass.componentName,\n property: EnrichedTextClass.cssVarList.fontSize,\n },\n ],\n gap: {},\n horizontalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n verticalPadding: [{ property: 'padding-right' }, { property: 'padding-left' }],\n alignItems: {},\n justifyContent: {},\n icon: [\n { ...icon, property: 'content' },\n { ...icon, property: 'display', fallback: 'none' },\n ],\n iconSize: [\n { ...icon, property: 'width' },\n { ...icon, property: 'height' },\n ],\n },\n }),\n createStyleMixin({ componentNameOverride: getComponentName('enriched-text') }),\n createStyleMixin({ componentNameOverride: getComponentName('text') }),\n draggableMixin,\n componentNameValidationMixin\n)(RawAlert);\n","import '../descope-enriched-text';\nimport { componentName, AlertClass } from './AlertClass';\n\ncustomElements.define(componentName, AlertClass);\n\nexport { AlertClass, componentName };\n","/* eslint-disable no-param-reassign */\n\nimport MarkdownIt from 'markdown-it';\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { disableRules } from './consts';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { decodeHTML } from './helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('enriched-text');\n\nclass EnrichedText extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n #origLinkRenderer;\n\n #origEmRenderer;\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"content\"></div>\n `;\n\n injectStyle(\n `\n :host {\n line-height: 1em;\n word-break: break-word;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n *, *:last-child {\n margin: 0;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n p {\n margin-bottom: 1em;\n }\n a {\n cursor: pointer;\n }\n blockquote {\n padding: 0 2em;\n }\n u {\n text-decoration: underline\n }\n s {\n color: currentColor;\n }\n `,\n this\n );\n\n this.#initProcessor();\n\n observeChildren(this, this.#parseChildren.bind(this));\n }\n\n static get observedAttributes() {\n return ['readonly', 'link-target-blank'];\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (newValue !== oldValue) {\n if (attrName === 'readonly') {\n this.onReadOnlyChange(newValue === 'true');\n }\n\n if (attrName === 'link-target-blank') {\n this.#initProcessor();\n }\n }\n }\n\n // We're overriding the rule for em with single underscore to perform as underline. (_underline_)\n customUnderlineRenderer() {\n this.processor.renderer.rules.em_open = (tokens, idx, options, env, self) => {\n if (tokens[idx].markup === '_') tokens[idx].tag = 'u';\n return this.#origEmRenderer(tokens, idx, options, env, self);\n };\n this.processor.renderer.rules.em_close = (tokens, idx, options, env, self) => {\n if (tokens[idx].markup === '_') tokens[idx].tag = 'u';\n return this.#origEmRenderer(tokens, idx, options, env, self);\n };\n }\n\n #customizeLinkRenderer() {\n if (this.linkTargetBlank) {\n this.processor.renderer.rules.link_open = (tokens, idx, options, env, self) => {\n // Add a new `target` attribute, or replace the value of the existing one.\n tokens[idx].attrSet('target', '_blank');\n // Pass the token to the default renderer.\n return this.#origLinkRenderer(tokens, idx, options, env, self);\n };\n } else {\n this.processor.renderer.rules.link_open = this.#origLinkRenderer;\n }\n }\n\n #disableCustomRules() {\n if (!this.processor) {\n return;\n }\n this.processor.disable(disableRules);\n }\n\n #updateProcessorRules() {\n this.#disableCustomRules();\n }\n\n #storeOrigRenderers() {\n const defaultLinkRenderer = (tokens, idx, options, _, self) =>\n self.renderToken(tokens, idx, options);\n this.#origLinkRenderer = this.processor.renderer.rules.link_open || defaultLinkRenderer;\n\n const defaultStrongRenderer = (tokens, idx, options, _, self) =>\n self.renderToken(tokens, idx, options);\n this.#origEmRenderer = this.processor.renderer.rules.em_open || defaultStrongRenderer;\n }\n\n #initProcessor() {\n this.processor = new MarkdownIt('commonmark', { html: true });\n this.#storeOrigRenderers();\n this.#updateProcessorRules();\n this.#customizeLinkRenderer();\n this.customUnderlineRenderer();\n }\n\n get linkTargetBlank() {\n return this.getAttribute('link-target-blank') === 'true';\n }\n\n get contentNode() {\n return this.shadowRoot.querySelector('.content');\n }\n\n #parseChildren() {\n if (!this.processor) {\n return;\n }\n\n let html = decodeHTML(this.innerHTML);\n\n if (!html?.trim() && this.isConnected) {\n this.setAttribute('empty', 'true');\n } else {\n this.removeAttribute('empty');\n }\n\n try {\n const tokens = this.processor.parse(html, { references: undefined });\n html = this.processor.renderer.render(tokens, { html: true, breaks: true });\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Not parsing invalid markdown token');\n }\n\n this.contentNode.innerHTML = html;\n }\n\n onReadOnlyChange(isReadOnly) {\n if (isReadOnly) {\n this.contentNode.setAttribute('inert', isReadOnly);\n } else {\n this.contentNode.removeAttribute('inert');\n }\n }\n}\n\nexport const EnrichedTextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDisplay: { selector: () => ':host', property: 'display', fallback: 'inline-block' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontSize: {},\n fontFamily: {},\n fontWeight: {},\n fontWeightBold: [\n { selector: () => ':host strong', property: 'font-weight' },\n { selector: () => ':host b', property: 'font-weight' },\n ],\n textColor: { property: 'color' },\n textLineHeight: { property: 'line-height' },\n textAlign: {},\n linkColor: { selector: 'a', property: 'color' },\n linkTextDecoration: { selector: 'a', property: 'text-decoration' },\n linkHoverTextDecoration: { selector: 'a:hover', property: 'text-decoration' },\n minHeight: {},\n minWidth: {},\n },\n }),\n createStyleMixin({ componentNameOverride: getComponentName('link') }),\n createStyleMixin({ componentNameOverride: getComponentName('text') }),\n draggableMixin,\n componentNameValidationMixin\n)(EnrichedText);\n","export const disableRules = [\n 'blockquote',\n 'list',\n 'image',\n 'table',\n 'code',\n 'hr',\n 'backticks',\n 'fence',\n 'reference',\n 'heading',\n 'lheading',\n 'html_block',\n];\n","export const decodeHTML = (html) => {\n const textArea = document.createElement('textarea');\n textArea.innerHTML = html;\n return textArea.value;\n};\n","import { componentName, EnrichedTextClass } from './EnrichedTextClass';\n\ncustomElements.define(componentName, EnrichedTextClass);\n\nexport { EnrichedTextClass, componentName };\n"],"names":["componentName","RawAlert","createBaseClass","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","init","slotEle","shadowRoot","querySelector","textComp","addEventListener","handleSlotChange","bind","includeAttrs","handleChildrenChange","textContent","assignedNodes","flatten","length","icon","selector","AlertClass","mappings","hostWidth","property","hostDirection","textColor","EnrichedTextClass","cssVarList","backgroundColor","borderColor","borderWidth","borderStyle","borderRadius","fontSize","gap","horizontalPadding","verticalPadding","alignItems","justifyContent","fallback","iconSize","componentNameOverride","customElements","define","EnrichedText","observedAttributes","attributeChangedCallback","attrName","oldValue","newValue","onReadOnlyChange","customUnderlineRenderer","processor","renderer","rules","em_open","tokens","idx","options","env","self","markup","tag","em_close","linkTargetBlank","link_open","attrSet","disable","_","renderToken","html","getAttribute","contentNode","trim","isConnected","setAttribute","removeAttribute","parse","references","undefined","render","breaks","e","console","warn","isReadOnly","hostDisplay","fontFamily","fontWeight","fontWeightBold","textLineHeight","textAlign","linkColor","linkTextDecoration","linkHoverTextDecoration","minHeight","minWidth","disableRules","decodeHTML","textArea","document","createElement","value"],"sourceRoot":""}
|
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2272,2294,3057,7640],{78188:(t,e,n)=>{n.r(e),n.d(e,{AvatarClass:()=>h,componentName:()=>a});var s=n(18823),o=n(30064),i=n(18366),r=n(17166);const a=(0,r.xE)("avatar");class l extends((0,o.qu)({componentName:a,baseSelector:":host > .wrapper"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n .editableBadge {\n border: 1px solid;\n border-radius: 100%;\n height: fit-content;\n width: 25%;\n height: 25%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5%;\n box-sizing: border-box;\n position: absolute;\n bottom: 0;\n inset-inline-end: 0;\n }\n\n vaadin-icon {\n color: currentcolor;\n }\n\n vaadin-avatar {\n width: 100%;\n height: 100%;\n margin: 0;\n border: none\n }\n\n .wrapper {\n display: inline-flex;\n position: relative;\n width: 100%;\n height: 100%;\n }\n </style>\n\n\n <div class="wrapper">\n <vaadin-avatar></vaadin-avatar>\n <div class="editableBadge">\n <vaadin-icon icon="vaadin:pencil"></vaadin-icon>\n </div>\n </div>\n\t\t',this.avatarComponent=this.shadowRoot.querySelector("vaadin-avatar"),(0,r.EA)(this,this.avatarComponent,{includeAttrs:["display-name","img","abbr"],mapAttrs:{"display-name":"name"}});const t=this.shadowRoot.querySelector(".editableBadge");(0,r.mx)(this,(()=>{t.style.display=this.isEditable?"":"none"}),{includeAttrs:["editable"]})}get isEditable(){return"true"===this.getAttribute("editable")}}const{host:d,editableBadge:p,avatar:c}={host:{selector:()=>":host"},editableBadge:{selector:"> .editableBadge"},avatar:{selector:"vaadin-avatar"}},h=(0,i.Zz)((0,s.RF)({mappings:{hostWidth:[{...d,property:"width"},{...d,property:"min-width"}],hostHeight:{...d,property:"height"},cursor:[c,d],hostDirection:{...d,property:"direction"},avatarTextColor:{...c,property:"color"},avatarBackgroundColor:{...c,property:"background-color"},editableIconColor:{...p,property:"color"},editableBorderColor:{...p,property:"border-color"},editableBackgroundColor:{...p,property:"background-color"}}}),s.VO,s.tQ)(l);n(36691),n(80201),n(23638),customElements.define(a,h)},88564:(t,e,n)=>{n.d(e,{T:()=>a,s:()=>d});var s=n(18823),o=n(18366),i=n(17166),r=n(30064);const a=(0,i.xE)("text");class l extends((0,r.qu)({componentName:a,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <style>\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n </style>\n <slot part="text-wrapper"></slot>\n '}get hideWhenEmpty(){return"true"===this.getAttribute("hide-when-empty")}init(){super.init(),(0,i.Ge)(this,(()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""}))}}const d=(0,o.Zz)((0,s.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},hostDirection:{selector:()=>":host",property:"direction"},fontSize:{},textColor:{property:"color"},textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),s.VO,s.tQ)(l)},98893:(t,e,n)=>{n.r(e),n.d(e,{TextClass:()=>s.s,componentName:()=>s.T});var s=n(88564);customElements.define(s.T,s.s)},94073:(t,e,n)=>{n.r(e),n.d(e,{AppsListClass:()=>d,componentName:()=>l}),n(36911),n(78188),n(98893);var s=n(7138),o=n(14944),i=n(94619),r=n(84461),a=n(88564);const l=(0,o.xE)("apps-list"),d=(0,s.Zz)((0,i.RF)({mappings:{maxHeight:{selector:()=>":host"},minHeight:{selector:()=>":host"},hostDirection:{selector:()=>":host",property:"direction"},itemsFontWeight:{selector:a.s.componentName,property:a.s.cssVarList.fontWeight},itemsFontSize:{selector:a.s.componentName,property:a.s.cssVarList.fontSize},itemsTextAlign:{selector:a.s.componentName,property:a.s.cssVarList.textAlign}}}),(0,r.t)({itemRenderer:({name:t,icon:e,url:n},s,o)=>`\n <a ${n?`href="${n}" title="${n}"`:""} target="_blank">\n <descope-list-item>\n <descope-avatar\n ${e?`img="${e}"`:""}\n ${t?`display-name="${t}" abbr=${((t,e=2)=>t.trim().split(" ").splice(0,e).map((t=>t[0]?.toUpperCase())).join(""))(t)}`:""}\n size=${o.size}\n ></descope-avatar>\n <descope-text\n variant="body1"\n mode="primary"\n >${t}</descope-text>\n </descope-list-item>\n </a>\n`,rerenderAttrsList:["size"]}),i.VO,i.tQ,(t=>class extends t{get size(){return this.getAttribute("size")||"sm"}}))((0,i.tz)({slots:["empty-state"],wrappedEleName:"descope-list",excludeAttrsSync:["tabindex","class","empty"],componentName:l,style:()=>`\n :host {\n width: 100%;\n display: inline-flex;\n }\n\n descope-text::part(text-wrapper) {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n a {\n text-decoration: none;\n }\n\n descope-text {\n ${a.s.cssVarList.hostDirection}: var(${d.cssVarList.hostDirection});\n }\n `}));customElements.define(l,d)},36911:(t,e,n)=>{n.r(e),n.d(e,{ListClass:()=>c,componentName:()=>d});var s=n(94619),o=n(70263),i=n(7138),r=n(14944);const a=(0,r.xE)("list-item"),l=(0,i.Zz)((0,s.RF)({mappings:{padding:{},backgroundColor:{},borderColor:{},borderStyle:{},borderWidth:{},borderRadius:{},outline:{},cursor:{},gap:{},maxWidth:{selector:()=>":host"},alignItems:{},flexDirection:{},transition:{}}}),s.VO,s.tQ,(t=>class extends t{constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n <style>\n /*css*/\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n\n /*!css*/\n </style>\n <slot></slot>\n "}}),(t=>class extends t{init(){super.init?.(),this.baseElement.addEventListener("mousedown",(t=>{t.preventDefault(),this.setAttribute("active","true"),window.addEventListener("mouseup",(()=>this.removeAttribute("active")),{once:!0})}))}}))((0,o.q)({componentName:a,baseSelector:"slot"})),d=(0,r.xE)("list");class p extends((0,o.q)({componentName:d,baseSelector:".wrapper"})){static get observedAttributes(){return["variant","readonly"]}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n\t\t<style>\n\t /*css*/\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name="empty-state"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name="empty-state"] {\n display: none;\n }\n :host([empty]) slot[name="empty-state"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n /*!css*/\n\t\t</style>\n\n <div class="wrapper">\n <slot></slot>\n <slot name="empty-state">\n No item...\n </slot>\n </div>\n\t'}get items(){return this.shadowRoot.querySelector("slot").assignedElements()}#t(){0===this.items.length?this.setAttribute("empty","true"):this.removeAttribute("empty")}get variant(){return this.getAttribute("variant")||"list"}#e(){this.items.forEach((t=>{let e=t;e.localName!==l.componentName&&(e=t.querySelector(l.componentName));const n="tiles"===this.variant?"tile":"row";e.setAttribute("variant",n)}))}init(){super.init?.(),(0,r.Ge)(this,(()=>{this.#t(),this.#e(),this.#n()}))}get isReadOnly(){return"true"===this.getAttribute("readonly")}#n(){this.items.forEach((t=>{this.isReadOnly?t.setAttribute("inert",""):t.removeAttribute("inert")}))}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),n!==e&&("variant"===t?this.#e():"readonly"===t&&this.#n())}}const c=(0,i.Zz)((0,s.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},maxHeight:{selector:()=>":host"},minHeight:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],hostDirection:{selector:()=>":host",property:"direction"},fontFamily:{},gap:{},backgroundColor:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},boxShadow:{},gridTemplateColumns:{},maxItemsWidth:{selector:()=>"::slotted(:not([slot]))",property:"max-width"},minItemsWidth:{selector:()=>"::slotted(:not([slot]))",property:"min-width"},itemsHorizontalAlign:{selector:()=>"::slotted(*)",property:"justify-self"},emptyStateTextColor:{selector:()=>'slot[name="empty-state"]',property:"color"},emptyStateTextFontFamily:{selector:()=>'slot[name="empty-state"]',property:"font-family"}}}),s.VO,s.tQ)(p);customElements.define(d,c),customElements.define(a,l)},84461:(t,e,n)=>{n.d(e,{t:()=>r});var s=n(14944);const o=()=>!0,i=t=>`<pre>${JSON.stringify(t,null,4)}</pre>`,r=({itemRenderer:t=i,validateSchema:e=o,slotName:n,rerenderAttrsList:r=[]})=>o=>class extends o{#s=[];#o(t){if(!e)return!0;const n=e(t);return!0===n||(console.error("Data schema validation failed",n||""),!1)}#i(){const t=n?`*[slot="${n}"]`:":not([slot])";this.baseElement.querySelectorAll(t).forEach((t=>t.remove()))}#r(){this.#i(),this.data.forEach(((e,n)=>{const s="string"==typeof(o=t(e,n,this))?(t=>{const e=document.createElement("template");return e.innerHTML=t,e})(o).content:o instanceof HTMLTemplateElement?o.content:(console.error("Invalid template",o),null);var o;this.baseElement.appendChild(s?.cloneNode(!0))}))}set data(t){this.#o(t)&&(this.#s=t,this.#r())}get data(){return this.#s}init(){super.init?.(),(0,s.mx)(this,(t=>{t.includes("data")?this.#a():this.#r()}),{includeAttrs:[...r,"data"]})}#a(){const t=this.getAttribute("data");if(t)try{this.data=JSON.parse(t)}catch(e){console.warn("Invalid JSON data",t)}}}}}]);
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2272,2294,3057,7640],{53557:(t,e,n)=>{n.r(e),n.d(e,{AvatarClass:()=>h,componentName:()=>a});var o=n(88961),s=n(72270),i=n(63200),r=n(25964);const a=(0,r.xE)("avatar");class l extends((0,s.qu)({componentName:a,baseSelector:":host > .wrapper"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <div class="wrapper">\n <vaadin-avatar></vaadin-avatar>\n <div class="editableBadge">\n <vaadin-icon icon="vaadin:pencil"></vaadin-icon>\n </div>\n </div>\n\t\t',(0,r.fz)("\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n .editableBadge {\n border: 1px solid;\n border-radius: 100%;\n height: fit-content;\n width: 25%;\n height: 25%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5%;\n box-sizing: border-box;\n position: absolute;\n bottom: 0;\n inset-inline-end: 0;\n }\n\n vaadin-icon {\n color: currentcolor;\n }\n\n vaadin-avatar {\n width: 100%;\n height: 100%;\n margin: 0;\n border: none\n }\n\n .wrapper {\n display: inline-flex;\n position: relative;\n width: 100%;\n height: 100%;\n }\n ",this),this.avatarComponent=this.shadowRoot.querySelector("vaadin-avatar"),(0,r.EA)(this,this.avatarComponent,{includeAttrs:["display-name","img","abbr"],mapAttrs:{"display-name":"name"}});const t=this.shadowRoot.querySelector(".editableBadge");(0,r.mx)(this,(()=>{t.style.display=this.isEditable?"":"none"}),{includeAttrs:["editable"]})}get isEditable(){return"true"===this.getAttribute("editable")}}const{host:d,editableBadge:p,avatar:c}={host:{selector:()=>":host"},editableBadge:{selector:"> .editableBadge"},avatar:{selector:"vaadin-avatar"}},h=(0,i.Zz)((0,o.RF)({mappings:{hostWidth:[{...d,property:"width"},{...d,property:"min-width"}],hostHeight:{...d,property:"height"},cursor:[c,d],hostDirection:{...d,property:"direction"},avatarTextColor:{...c,property:"color"},avatarBackgroundColor:{...c,property:"background-color"},editableIconColor:{...p,property:"color"},editableBorderColor:{...p,property:"border-color"},editableBackgroundColor:{...p,property:"background-color"}}}),o.VO,o.tQ)(l);n(4408),n(95260),n(37182),customElements.define(a,h)},66434:(t,e,n)=>{n.d(e,{T:()=>a,s:()=>d});var o=n(88961),s=n(63200),i=n(25964),r=n(72270);const a=(0,i.xE)("text");class l extends((0,r.qu)({componentName:a,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <slot part="text-wrapper"></slot>\n ',(0,i.fz)("\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n ",this)}get hideWhenEmpty(){return"true"===this.getAttribute("hide-when-empty")}init(){super.init(),(0,i.Ge)(this,(()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""}))}}const d=(0,s.Zz)((0,o.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},hostDirection:{selector:()=>":host",property:"direction"},fontSize:{},textColor:{property:"color"},textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),o.VO,o.tQ)(l)},63595:(t,e,n)=>{n.r(e),n.d(e,{TextClass:()=>o.s,componentName:()=>o.T});var o=n(66434);customElements.define(o.T,o.s)},45503:(t,e,n)=>{n.r(e),n.d(e,{AppsListClass:()=>d,componentName:()=>l}),n(18708),n(53557),n(63595);var o=n(9696),s=n(97810),i=n(79365),r=n(72203),a=n(66434);const l=(0,s.xE)("apps-list"),d=(0,o.Zz)((0,i.RF)({mappings:{maxHeight:{selector:()=>":host"},minHeight:{selector:()=>":host"},hostDirection:{selector:()=>":host",property:"direction"},itemsFontWeight:{selector:a.s.componentName,property:a.s.cssVarList.fontWeight},itemsFontSize:{selector:a.s.componentName,property:a.s.cssVarList.fontSize},itemsTextAlign:{selector:a.s.componentName,property:a.s.cssVarList.textAlign}}}),(0,r.t)({itemRenderer:({name:t,icon:e,url:n},o,s)=>`\n <a ${n?`href="${n}" title="${n}"`:""} target="_blank">\n <descope-list-item>\n <descope-avatar\n ${e?`img="${e}"`:""}\n ${t?`display-name="${t}" abbr=${((t,e=2)=>t.trim().split(" ").splice(0,e).map((t=>t[0]?.toUpperCase())).join(""))(t)}`:""}\n size=${s.size}\n ></descope-avatar>\n <descope-text\n variant="body1"\n mode="primary"\n >${t}</descope-text>\n </descope-list-item>\n </a>\n`,rerenderAttrsList:["size"]}),i.VO,i.tQ,(t=>class extends t{get size(){return this.getAttribute("size")||"sm"}}))((0,i.tz)({slots:["empty-state"],wrappedEleName:"descope-list",excludeAttrsSync:["tabindex","class","empty"],componentName:l,style:()=>`\n :host {\n width: 100%;\n display: inline-flex;\n }\n\n descope-text::part(text-wrapper) {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n a {\n text-decoration: none;\n }\n\n descope-text {\n ${a.s.cssVarList.hostDirection}: var(${d.cssVarList.hostDirection});\n }\n `}));customElements.define(l,d)},18708:(t,e,n)=>{n.r(e),n.d(e,{ListClass:()=>h,componentName:()=>p});var o=n(79365),s=n(81365),i=n(9696),r=n(97810),a=n(25964);const l=(0,r.xE)("list-item"),d=(0,i.Zz)((0,o.RF)({mappings:{padding:{},backgroundColor:{},borderColor:{},borderStyle:{},borderWidth:{},borderRadius:{},outline:{},cursor:{},gap:{},maxWidth:{selector:()=>":host"},alignItems:{},flexDirection:{},transition:{}}}),o.VO,o.tQ,(t=>class extends t{constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n <slot></slot>\n ",(0,a.fz)("\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n ",this)}}),(t=>class extends t{init(){super.init?.(),this.baseElement.addEventListener("mousedown",(t=>{t.preventDefault(),this.setAttribute("active","true"),window.addEventListener("mouseup",(()=>this.removeAttribute("active")),{once:!0})}))}}))((0,s.q)({componentName:l,baseSelector:"slot"})),p=(0,r.xE)("list");class c extends((0,s.q)({componentName:p,baseSelector:".wrapper"})){static get observedAttributes(){return["variant","readonly"]}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <div class="wrapper">\n <slot></slot>\n <slot name="empty-state">\n No item...\n </slot>\n </div>\n\t',(0,a.fz)('\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name="empty-state"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name="empty-state"] {\n display: none;\n }\n :host([empty]) slot[name="empty-state"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n ',this)}get items(){return this.shadowRoot.querySelector("slot").assignedElements()}#t(){0===this.items.length?this.setAttribute("empty","true"):this.removeAttribute("empty")}get variant(){return this.getAttribute("variant")||"list"}#e(){this.items.forEach((t=>{let e=t;e.localName!==d.componentName&&(e=t.querySelector(d.componentName));const n="tiles"===this.variant?"tile":"row";e.setAttribute("variant",n)}))}init(){super.init?.(),(0,r.Ge)(this,(()=>{this.#t(),this.#e(),this.#n()}))}get isReadOnly(){return"true"===this.getAttribute("readonly")}#n(){this.items.forEach((t=>{this.isReadOnly?t.setAttribute("inert",""):t.removeAttribute("inert")}))}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),n!==e&&("variant"===t?this.#e():"readonly"===t&&this.#n())}}const h=(0,i.Zz)((0,o.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},maxHeight:{selector:()=>":host"},minHeight:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],hostDirection:{selector:()=>":host",property:"direction"},fontFamily:{},gap:{},backgroundColor:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},boxShadow:{},gridTemplateColumns:{},maxItemsWidth:{selector:()=>"::slotted(:not([slot]))",property:"max-width"},minItemsWidth:{selector:()=>"::slotted(:not([slot]))",property:"min-width"},itemsHorizontalAlign:{selector:()=>"::slotted(*)",property:"justify-self"},emptyStateTextColor:{selector:()=>'slot[name="empty-state"]',property:"color"},emptyStateTextFontFamily:{selector:()=>'slot[name="empty-state"]',property:"font-family"}}}),o.VO,o.tQ)(c);customElements.define(p,h),customElements.define(l,d)},72203:(t,e,n)=>{n.d(e,{t:()=>r});var o=n(97810);const s=()=>!0,i=t=>`<pre>${JSON.stringify(t,null,4)}</pre>`,r=({itemRenderer:t=i,validateSchema:e=s,slotName:n,rerenderAttrsList:r=[]})=>s=>class extends s{#o=[];#s(t){if(!e)return!0;const n=e(t);return!0===n||(console.error("Data schema validation failed",n||""),!1)}#i(){const t=n?`*[slot="${n}"]`:":not([slot])";this.baseElement.querySelectorAll(t).forEach((t=>t.remove()))}#r(){this.#i(),this.data.forEach(((e,n)=>{const o="string"==typeof(s=t(e,n,this))?(t=>{const e=document.createElement("template");return e.innerHTML=t,e})(s).content:s instanceof HTMLTemplateElement?s.content:(console.error("Invalid template",s),null);var s;this.baseElement.appendChild(o?.cloneNode(!0))}))}set data(t){this.#s(t)&&(this.#o=t,this.#r())}get data(){return this.#o}init(){super.init?.(),(0,o.mx)(this,(t=>{t.includes("data")?this.#a():this.#r()}),{includeAttrs:[...r,"data"]})}#a(){const t=this.getAttribute("data");if(t)try{this.data=JSON.parse(t)}catch(e){console.warn("Invalid JSON data",t)}}}}}]);
|
2
|
+
//# sourceMappingURL=descope-apps-list-index-js.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-apps-list-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../components/descope-avatar/src/component/AvatarClass.js","webpack://@descope/web-components-ui/../components/descope-avatar/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/TextClass.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/index.js","webpack://@descope/web-components-ui/./src/components/descope-apps-list/AppsListClass.js","webpack://@descope/web-components-ui/./src/components/descope-apps-list/index.js","webpack://@descope/web-components-ui/./src/components/descope-list/ListItemClass.js","webpack://@descope/web-components-ui/./src/mixins/activableMixin.js","webpack://@descope/web-components-ui/./src/components/descope-list/ListClass.js","webpack://@descope/web-components-ui/./src/components/descope-list/index.js","webpack://@descope/web-components-ui/./src/mixins/createDynamicDataMixin.js"],"sourcesContent":["import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n forwardAttrs,\n getComponentName,\n injectStyle,\n observeAttributes,\n} from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('avatar');\nclass RawAvatar extends createBaseClass({\n componentName,\n baseSelector: ':host > .wrapper',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"wrapper\">\n <vaadin-avatar></vaadin-avatar>\n <div class=\"editableBadge\">\n <vaadin-icon icon=\"vaadin:pencil\"></vaadin-icon>\n </div>\n </div>\n\t\t`;\n\n injectStyle(`\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n .editableBadge {\n border: 1px solid;\n border-radius: 100%;\n height: fit-content;\n width: 25%;\n height: 25%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5%;\n box-sizing: border-box;\n position: absolute;\n bottom: 0;\n inset-inline-end: 0;\n }\n\n vaadin-icon {\n color: currentcolor;\n }\n\n vaadin-avatar {\n width: 100%;\n height: 100%;\n margin: 0;\n border: none\n }\n\n .wrapper {\n display: inline-flex;\n position: relative;\n width: 100%;\n height: 100%;\n }\n `, this);\n\n this.avatarComponent = this.shadowRoot.querySelector('vaadin-avatar');\n\n forwardAttrs(this, this.avatarComponent, {\n includeAttrs: ['display-name', 'img', 'abbr'],\n mapAttrs: { 'display-name': 'name' },\n });\n\n const editableIcon = this.shadowRoot.querySelector('.editableBadge');\n\n observeAttributes(\n this,\n () => {\n editableIcon.style.display = this.isEditable ? '' : 'none';\n },\n { includeAttrs: ['editable'] },\n );\n }\n\n get isEditable() {\n return this.getAttribute('editable') === 'true';\n }\n}\n\nconst { host, editableBadge, avatar } = {\n host: { selector: () => ':host' },\n editableBadge: { selector: '> .editableBadge' },\n avatar: { selector: 'vaadin-avatar' },\n};\n\nexport const AvatarClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: [\n { ...host, property: 'width' },\n { ...host, property: 'min-width' },\n ],\n hostHeight: { ...host, property: 'height' },\n cursor: [avatar, host],\n hostDirection: { ...host, property: 'direction' },\n avatarTextColor: { ...avatar, property: 'color' },\n avatarBackgroundColor: { ...avatar, property: 'background-color' },\n editableIconColor: { ...editableBadge, property: 'color' },\n editableBorderColor: { ...editableBadge, property: 'border-color' },\n editableBackgroundColor: {\n ...editableBadge,\n property: 'background-color',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawAvatar);\n","import { componentName, AvatarClass } from './AvatarClass';\nimport '@vaadin/avatar';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\ncustomElements.define(componentName, AvatarClass);\n\nexport { AvatarClass, componentName };\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n injectStyle,\n observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({\n componentName,\n baseSelector: ':host > slot',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot part=\"text-wrapper\"></slot>\n `;\n\n injectStyle(`\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n `, this);\n }\n\n get hideWhenEmpty() {\n return this.getAttribute('hide-when-empty') === 'true';\n }\n\n init() {\n super.init();\n\n observeChildren(this, () => {\n const hasChildren = !!this.childNodes.length;\n this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';\n });\n }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontSize: {},\n textColor: { property: 'color' },\n textLineHeight: { property: 'line-height' },\n textLetterSpacing: { property: 'letter-spacing' },\n textShadow: {},\n textAlign: {},\n textTransform: {},\n fontFamily: {},\n fontStyle: {},\n fontWeight: {},\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawText);\n","import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass, componentName };\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { createDynamicDataMixin } from '../../mixins/createDynamicDataMixin';\nimport { TextClass } from '@descope-ui/descope-text/class';\n\nexport const componentName = getComponentName('apps-list');\n\nconst limitAbbreviation = (str, limit = 2) =>\n str\n .trim()\n .split(' ')\n .splice(0, limit)\n .map((s) => s[0]?.toUpperCase())\n .join('');\n\nconst itemRenderer = ({ name, icon, url }, _, ref) => `\n <a ${url ? `href=\"${url}\" title=\"${url}\"` : ''} target=\"_blank\">\n <descope-list-item>\n <descope-avatar\n ${icon ? `img=\"${icon}\"` : ''}\n ${name ? `display-name=\"${name}\" abbr=${limitAbbreviation(name)}` : ''}\n size=${ref.size}\n ></descope-avatar>\n <descope-text\n variant=\"body1\"\n mode=\"primary\"\n >${name}</descope-text>\n </descope-list-item>\n </a>\n`;\n\nconst customMixin = (superclass) =>\n class AppsListMixinClass extends superclass {\n get size() {\n return this.getAttribute('size') || 'sm';\n }\n };\n\nexport const AppsListClass = compose(\n createStyleMixin({\n mappings: {\n maxHeight: { selector: () => ':host' },\n minHeight: { selector: () => ':host' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n itemsFontWeight: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.fontWeight,\n },\n itemsFontSize: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.fontSize,\n },\n itemsTextAlign: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.textAlign,\n },\n },\n }),\n createDynamicDataMixin({ itemRenderer, rerenderAttrsList: ['size'] }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['empty-state'],\n wrappedEleName: 'descope-list',\n excludeAttrsSync: ['tabindex', 'class', 'empty'],\n componentName,\n style: () => `\n :host {\n width: 100%;\n display: inline-flex;\n }\n\n descope-text::part(text-wrapper) {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n a {\n text-decoration: none;\n }\n\n descope-text {\n ${TextClass.cssVarList.hostDirection}: var(${AppsListClass.cssVarList.hostDirection});\n }\n `,\n })\n);\n","import '../descope-list';\nimport '@descope-ui/descope-avatar';\nimport '@descope-ui/descope-text';\nimport { componentName, AppsListClass } from './AppsListClass';\n\ncustomElements.define(componentName, AppsListClass);\n\nexport { AppsListClass, componentName };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { activeableMixin } from '../../mixins/activableMixin';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('list-item');\n\nconst customMixin = (superclass) =>\n class ListItemMixinClass extends superclass {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot></slot>\n `;\n\n injectStyle(\n `\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n `,\n this\n );\n }\n };\n\nexport const ListItemClass = compose(\n createStyleMixin({\n mappings: {\n padding: {},\n backgroundColor: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n borderRadius: {},\n outline: {},\n cursor: {},\n gap: {},\n maxWidth: { selector: () => ':host' },\n alignItems: {},\n flexDirection: {},\n transition: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin,\n activeableMixin\n)(createBaseClass({ componentName, baseSelector: 'slot' }));\n","export const activeableMixin = (superclass) =>\n class ActiveableMixinClass extends superclass {\n init() {\n super.init?.();\n\n this.baseElement.addEventListener('mousedown', (e) => {\n e.preventDefault();\n this.setAttribute('active', 'true');\n window.addEventListener('mouseup', () => this.removeAttribute('active'), {\n once: true,\n });\n });\n }\n };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { ListItemClass } from './ListItemClass';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('list');\n\nclass RawList extends createBaseClass({ componentName, baseSelector: '.wrapper' }) {\n static get observedAttributes() {\n return ['variant', 'readonly'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"wrapper\">\n <slot></slot>\n <slot name=\"empty-state\">\n No item...\n </slot>\n </div>\n\t`;\n\n injectStyle(\n `\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name=\"empty-state\"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name=\"empty-state\"] {\n display: none;\n }\n :host([empty]) slot[name=\"empty-state\"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n `,\n this\n );\n }\n\n get items() {\n return this.shadowRoot.querySelector('slot').assignedElements();\n }\n\n #handleEmptyState() {\n if (this.items.length === 0) {\n this.setAttribute('empty', 'true');\n } else {\n this.removeAttribute('empty');\n }\n }\n\n get variant() {\n return this.getAttribute('variant') || 'list';\n }\n\n #handleItemsVariant() {\n this.items.forEach((item) => {\n let listItem = item;\n if (listItem.localName !== ListItemClass.componentName) {\n listItem = item.querySelector(ListItemClass.componentName);\n }\n\n const listItemVariant = this.variant === 'tiles' ? 'tile' : 'row';\n listItem.setAttribute('variant', listItemVariant);\n });\n }\n\n init() {\n super.init?.();\n\n // we want new items to get the size\n observeChildren(this, () => {\n this.#handleEmptyState();\n this.#handleItemsVariant();\n this.#handleReadOnly();\n });\n }\n\n get isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n #handleReadOnly() {\n this.items.forEach((item) => {\n if (this.isReadOnly) item.setAttribute('inert', '');\n else item.removeAttribute('inert');\n });\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n if (newValue === oldValue) return;\n\n if (name === 'variant') {\n this.#handleItemsVariant();\n } else if (name === 'readonly') {\n this.#handleReadOnly();\n }\n }\n}\n\nexport const ListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n maxHeight: { selector: () => ':host' },\n minHeight: {},\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontFamily: {},\n gap: {},\n\n backgroundColor: {},\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n boxShadow: {},\n gridTemplateColumns: {},\n maxItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'max-width' },\n minItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'min-width' },\n itemsHorizontalAlign: { selector: () => '::slotted(*)', property: 'justify-self' },\n emptyStateTextColor: { selector: () => 'slot[name=\"empty-state\"]', property: 'color' },\n emptyStateTextFontFamily: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'font-family',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawList);\n","import { componentName as listComponentName, ListClass } from './ListClass';\nimport { componentName as listItemComponentName, ListItemClass } from './ListItemClass';\n\ncustomElements.define(listComponentName, ListClass);\ncustomElements.define(listItemComponentName, ListItemClass);\n\nexport { ListClass, listComponentName as componentName };\n","import { observeAttributes } from '../helpers/componentHelpers';\n\nconst defaultValidateSchema = () => true;\nconst defaultItemRenderer = (item) => `<pre>${JSON.stringify(item, null, 4)}</pre>`;\n\nconst createTemplate = (templateString) => {\n const template = document.createElement('template');\n template.innerHTML = templateString;\n\n return template;\n};\n\nconst getTemplateContent = (templateOrString) => {\n if (typeof templateOrString === 'string') {\n return createTemplate(templateOrString).content;\n }\n\n if (templateOrString instanceof HTMLTemplateElement) {\n return templateOrString.content;\n }\n\n // eslint-disable-next-line no-console\n console.error('Invalid template', templateOrString);\n return null;\n};\n\nexport const createDynamicDataMixin =\n ({\n itemRenderer = defaultItemRenderer,\n validateSchema = defaultValidateSchema,\n slotName,\n rerenderAttrsList = [],\n }) =>\n (superclass) =>\n class DynamicDataMixinClass extends superclass {\n #data = [];\n\n // eslint-disable-next-line class-methods-use-this\n #validateSchema(data) {\n if (!validateSchema) return true;\n\n const validation = validateSchema(data);\n if (validation === true) return true;\n\n // eslint-disable-next-line no-console\n console.error('Data schema validation failed', validation || '');\n\n return false;\n }\n\n #removeOldItems() {\n const selector = slotName ? `*[slot=\"${slotName}\"]` : ':not([slot])';\n this.baseElement.querySelectorAll(selector).forEach((item) => item.remove());\n }\n\n #renderItems() {\n this.#removeOldItems();\n this.data.forEach((item, index) => {\n const content = getTemplateContent(itemRenderer(item, index, this));\n this.baseElement.appendChild(content?.cloneNode(true));\n });\n }\n\n set data(value) {\n if (this.#validateSchema(value)) {\n this.#data = value;\n this.#renderItems();\n }\n }\n\n get data() {\n return this.#data;\n }\n\n init() {\n super.init?.();\n\n observeAttributes(\n this,\n (attrs) => {\n if (attrs.includes('data')) this.#handleDataAttr();\n else this.#renderItems();\n },\n { includeAttrs: [...rerenderAttrsList, 'data'] }\n );\n }\n\n #handleDataAttr() {\n const dataAttr = this.getAttribute('data');\n\n if (!dataAttr) return;\n\n try {\n this.data = JSON.parse(dataAttr);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Invalid JSON data', dataAttr);\n }\n }\n };\n"],"names":["componentName","RawAvatar","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","avatarComponent","shadowRoot","querySelector","includeAttrs","mapAttrs","editableIcon","style","display","isEditable","getAttribute","host","editableBadge","avatar","selector","AvatarClass","mappings","hostWidth","property","hostHeight","cursor","hostDirection","avatarTextColor","avatarBackgroundColor","editableIconColor","editableBorderColor","editableBackgroundColor","customElements","define","RawText","hideWhenEmpty","init","hasChildren","childNodes","length","TextClass","fontSize","textColor","textLineHeight","textLetterSpacing","textShadow","textAlign","textTransform","fontFamily","fontStyle","fontWeight","borderWidth","borderStyle","borderColor","AppsListClass","maxHeight","minHeight","itemsFontWeight","cssVarList","itemsFontSize","itemsTextAlign","createDynamicDataMixin","itemRenderer","name","icon","url","_","ref","str","limit","trim","split","splice","map","s","toUpperCase","join","limitAbbreviation","size","rerenderAttrsList","superclass","slots","wrappedEleName","excludeAttrsSync","ListItemClass","padding","backgroundColor","borderRadius","outline","gap","maxWidth","alignItems","flexDirection","transition","baseElement","addEventListener","e","preventDefault","setAttribute","window","removeAttribute","once","createBaseClass","RawList","observedAttributes","items","assignedElements","variant","forEach","item","listItem","localName","listItemVariant","isReadOnly","attributeChangedCallback","oldValue","newValue","ListClass","verticalPadding","horizontalPadding","boxShadow","gridTemplateColumns","maxItemsWidth","minItemsWidth","itemsHorizontalAlign","emptyStateTextColor","emptyStateTextFontFamily","defaultValidateSchema","defaultItemRenderer","JSON","stringify","validateSchema","slotName","data","validation","console","error","querySelectorAll","remove","index","content","templateOrString","templateString","template","document","createElement","createTemplate","HTMLTemplateElement","appendChild","cloneNode","value","attrs","includes","dataAttr","parse","warn"],"sourceRoot":""}
|
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[8712],{
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[8712],{93847:(e,t,s)=>{s.r(t),s.d(t,{AutocompleteFieldClass:()=>p,componentName:()=>m}),s(25003),s(27092);var r=s(72270),o=s(25964),i=s(63200);const n=(0,o.xE)("autocomplete-field-internal"),a=(0,r.yc)({componentName:n,baseSelector:""}),l=[],u="DESCOPE_INVALID_OPTION";customElements.define(n,class extends a{static get observedAttributes(){return[].concat(a.observedAttributes||[],l)}get allowCustomValue(){return"true"===this.getAttribute("allow-custom-value")}get minSearchLength(){return this.getAttribute("min-search-length")||3}get noResultsFoundMessage(){return this.getAttribute("no-results-message")||"No results found"}get errorFetchingResultsMessage(){return this.getAttribute("error-fetching-results-message")||"An error occurred fetching results"}constructor(){super(),this.innerHTML='\n <div class="autocomplete-field">\n <descope-combo-box clear-button-visible="true" auto-open-disabled="true" has-dynamic-data="true" item-label-path="data-name" item-value-path="data-id" hide-toggle-button="true"></descope-combo-box>\n </div>\n ',this.comboBox=this.querySelector("descope-combo-box")}get value(){return this.comboBox.value}set value(e){this.allowCustomValue?this.comboBox.value=e:(this.comboBox.data=[{label:e,value:e}],setTimeout((()=>{this.comboBox.value=e})))}get defaultValue(){return this.getAttribute("default-value")}async#e(e){const{results:t,error:s}=await this.fetchResults(e);return s?{error:s}:{results:t}}#t(e,t,s,r){return`<span data-name="${s}" data-id="${t}" ${r?'disabled="true"':""}>${e||s}</span>`}#s(){this.comboBox.renderer=(e,t,s)=>{"true"===s.item.getAttribute("disabled")?e.setAttribute("disabled","true"):e.removeAttribute("disabled"),e.innerHTML=s.item.outerHTML},this.comboBox.renderItem=({displayName:e,value:t,label:s,disabled:r})=>this.#t(e,t,s,r)}focus(){this.comboBox.focus()}init(){this.addEventListener("focus",(e=>{e.isTrusted&&this.comboBox.focus()})),super.init?.(),this.#r(),(0,o.Gh)(this,this.comboBox,{includeAttrs:["invalid"]})}#r(){this.debouncedSearch=(0,i.g5)((async e=>{try{const{results:t,error:s}=await this.#e(e);return{results:t,error:s,value:e}}catch(t){return{error:t,value:e}}}),250),(0,o.EA)(this,this.comboBox,{includeAttrs:["size","bordered","label","label-type","placeholder","disabled","readonly","required","full-width","helper-text","invalid","error-message","data-errormessage-value-missing","st-host-direction","allow-custom-value","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"]}),this.comboBox.addEventListener("filter-changed",this.onSearch.bind(this)),this.#s()}#o(){return[{label:this.noResultsFoundMessage,value:u,disabled:!0}]}#i(){return[{label:this.errorFetchingResultsMessage,value:u,disabled:!0}]}async onSearch(e){const t=e.detail.value;if(!t||t.length<this.minSearchLength)return;this.comboBox.loading=!0,this.comboBox.setAttribute("opened","true");const s=await this.debouncedSearch(t);s&&s.value===t&&(this.comboBox.loading=!1,s.error?this.comboBox.data=this.#i():0===s.results?.length?this.comboBox.data=this.#o():this.comboBox.data=s.results||[])}fetchResults(e){return console.warn("fetchResults","needs to be implemented"),{results:[],error:void 0}}getValidity(){return this.isRequired&&!this.value?{valueMissing:!0}:{valid:!0}}});var c=s(88961),d=s(86365);const m=(0,o.xE)("autocomplete-field"),{host:h}={host:{selector:()=>":host"}},p=(0,i.Zz)((0,c.RF)({componentNameOverride:(0,o.xE)("input-wrapper")}),(0,c.RF)({mappings:{hostWidth:{...h,property:"width"},hostDirection:{...h,property:"direction"},fontSize:{...h},checkmarkDisplay:{selector:d.C.componentName,property:d.C.cssVarList.overlayCheckmarkDisplay},itemPaddingInlineStart:{selector:d.C.componentName,property:d.C.cssVarList.overlayItemPaddingInlineStart},itemPaddingInlineEnd:{selector:d.C.componentName,property:d.C.cssVarList.overlayItemPaddingInlineEnd},selectedItemBackground:{selector:d.C.componentName,property:d.C.cssVarList.overlaySelectedItemBackground},selectedItemHoverBackground:{selector:d.C.componentName,property:d.C.cssVarList.overlaySelectedItemHoverBackground},selectedItemFocusBackground:{selector:d.C.componentName,property:d.C.cssVarList.overlaySelectedItemFocusBackground},itemHoverBackground:{selector:d.C.componentName,property:d.C.cssVarList.overlayItemHoverBackground}}}),c.VO,(0,c.OZ)({proxyProps:["value","selectionStart"],inputEvent:"input",proxyParentValidation:!0}),c.tQ,(e=>class extends e{get defaultValue(){return this.getAttribute("default-value")}setDefaultValue(){this.defaultValue&&setTimeout((()=>{this.inputElement.value=this.defaultValue}))}init(){super.init?.();const e=document.createElement("template");e.innerHTML=`\n <${n}\n tabindex="-1"\n ></${n}>\n `,this.baseElement.appendChild(e.content.cloneNode(!0)),this.inputElement=this.shadowRoot.querySelector(n),(0,o.EA)(this,this.inputElement,{includeAttrs:["size","bordered","label","required","label-type","placeholder","full-width","allow-custom-value","min-search-length","no-results-message","error-fetching-results-message","data-errormessage-value-missing","invalid","error-message","readonly","disabled","st-host-direction","st-error-message-icon","st-error-message-icon-size","st-error-message-icon-padding"]}),(0,o.Gh)(this,this.inputElement,{includeAttrs:["invalid"]}),this.inputElement.fetchResults=this.fetchResults,this.setDefaultValue()}set fetchResults(e){this.inputElement.fetchResults=e}}))((0,c.tz)({slots:[],wrappedEleName:"vaadin-custom-field",style:()=>"\n :host {\n display: inline-flex;\n max-width: 100%;\n direction: ltr;\n }\n vaadin-custom-field {\n line-height: unset;\n width: 100%;\n }\n\n descope-autocomplete-field-internal {\n display: inline-block;\n box-sizing: border-box;\n user-select: none;\n max-width: 100%;\n }\n\n descope-autocomplete-field-internal ::slotted {\n padding: 0;\n }\n ",excludeAttrsSync:["tabindex","error-message","label"],componentName:m}));customElements.define(m,p)}}]);
|
2
|
+
//# sourceMappingURL=descope-autocomplete-field.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-autocomplete-field.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../components/descope-autocomplete-field/src/component/descope-autocomplete-field-internal/AutocompleteFieldInternal.js","webpack://@descope/web-components-ui/../components/descope-autocomplete-field/src/component/descope-autocomplete-field-internal/index.js","webpack://@descope/web-components-ui/../components/descope-autocomplete-field/src/component/AutocompleteFieldClass.js","webpack://@descope/web-components-ui/../components/descope-autocomplete-field/src/component/index.js"],"sourcesContent":["import { createBaseInputClass } from '@descope-ui/common/base-classes';\nimport {\n forwardAttrs,\n getComponentName,\n syncAttrs,\n} from '@descope-ui/common/components-helpers';\nimport { asyncDebounce } from '@descope-ui/common/utils';\n\nexport const componentName = getComponentName('autocomplete-field-internal');\n\nconst BaseInputClass = createBaseInputClass({\n componentName,\n baseSelector: '',\n});\nconst observedAttrs = [];\n\nconst INVALID_OPTION_VALUE = 'DESCOPE_INVALID_OPTION';\nconst DEBOUNCE_SEARCH_DELAY = 250;\n\nclass AutocompleteFieldInternal extends BaseInputClass {\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], observedAttrs);\n }\n\n get allowCustomValue() {\n return this.getAttribute('allow-custom-value') === 'true';\n }\n\n get minSearchLength() {\n return this.getAttribute('min-search-length') || 3;\n }\n\n get noResultsFoundMessage() {\n return this.getAttribute('no-results-message') || 'No results found';\n }\n\n get errorFetchingResultsMessage() {\n return (\n this.getAttribute('error-fetching-results-message') ||\n 'An error occurred fetching results'\n );\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n <div class=\"autocomplete-field\">\n <descope-combo-box clear-button-visible=\"true\" auto-open-disabled=\"true\" has-dynamic-data=\"true\" item-label-path=\"data-name\" item-value-path=\"data-id\" hide-toggle-button=\"true\"></descope-combo-box>\n </div>\n `;\n\n this.comboBox = this.querySelector('descope-combo-box');\n }\n\n get value() {\n return this.comboBox.value;\n }\n\n set value(val) {\n if (!this.allowCustomValue) {\n this.comboBox.data = [{ label: val, value: val }];\n setTimeout(() => {\n this.comboBox.value = val;\n });\n } else {\n this.comboBox.value = val;\n }\n }\n\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n async #autoCompleteSearch(value) {\n const { results, error } = await this.fetchResults(value);\n if (error) {\n return { error };\n }\n return {\n results,\n };\n }\n\n // eslint-disable-next-line class-methods-use-this\n #itemRenderer(displayName, value, label, disabled) {\n return `<span data-name=\"${label}\" data-id=\"${value}\" ${disabled ? 'disabled=\"true\"' : ''}>${\n displayName || label\n }</span>`;\n }\n\n #overrideComboBoxRenderers() {\n this.comboBox.renderer = (root, _, model) => {\n if (model.item.getAttribute('disabled') === 'true') {\n root.setAttribute('disabled', 'true');\n } else {\n root.removeAttribute('disabled');\n }\n // eslint-disable-next-line no-param-reassign\n root.innerHTML = model.item.outerHTML;\n };\n\n this.comboBox.renderItem = ({ displayName, value, label, disabled }) =>\n this.#itemRenderer(displayName, value, label, disabled);\n }\n\n focus() {\n this.comboBox.focus();\n }\n\n init() {\n // This event listener needs to be placed before the super.init() call\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) this.comboBox.focus();\n });\n\n super.init?.();\n this.#initComboBox();\n // This is required since when we remove the invalid attribute from the internal mappings field,\n // we want to reflect the change in the parent component\n syncAttrs(this, this.comboBox, { includeAttrs: ['invalid'] });\n }\n\n #initComboBox() {\n this.debouncedSearch = asyncDebounce(async (value) => {\n try {\n const { results, error } = await this.#autoCompleteSearch(value);\n return { results, error, value };\n } catch (error) {\n return { error, value };\n }\n }, DEBOUNCE_SEARCH_DELAY);\n\n forwardAttrs(this, this.comboBox, {\n includeAttrs: [\n 'size',\n 'bordered',\n 'label',\n 'label-type',\n 'placeholder',\n 'disabled',\n 'readonly',\n 'required',\n 'full-width',\n 'helper-text',\n 'invalid',\n 'error-message',\n 'data-errormessage-value-missing',\n 'st-host-direction',\n 'allow-custom-value',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n ],\n });\n\n this.comboBox.addEventListener('filter-changed', this.onSearch.bind(this));\n this.#overrideComboBoxRenderers();\n }\n\n #getEmptyResultsData() {\n return [\n {\n label: this.noResultsFoundMessage,\n value: INVALID_OPTION_VALUE,\n disabled: true,\n },\n ];\n }\n\n #getErrorResultsData() {\n return [\n {\n label: this.errorFetchingResultsMessage,\n value: INVALID_OPTION_VALUE,\n disabled: true,\n },\n ];\n }\n\n async onSearch(e) {\n const searchValue = e.detail.value;\n if (!searchValue || searchValue.length < this.minSearchLength) {\n return;\n }\n this.comboBox.loading = true;\n this.comboBox.setAttribute('opened', 'true');\n const response = await this.debouncedSearch(searchValue);\n if (response && response.value === searchValue) {\n this.comboBox.loading = false;\n if (response.error) {\n this.comboBox.data = this.#getErrorResultsData();\n } else if (response.results?.length === 0) {\n this.comboBox.data = this.#getEmptyResultsData();\n } else {\n this.comboBox.data = response.results || [];\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this,no-unused-vars\n fetchResults(value) {\n // eslint-disable-next-line no-console\n console.warn('fetchResults', 'needs to be implemented');\n return { results: [], error: undefined };\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n return { valid: true };\n }\n}\n\nexport default AutocompleteFieldInternal;\n","import AutocompleteFieldInternal, {\n componentName,\n} from './AutocompleteFieldInternal';\n\ncustomElements.define(componentName, AutocompleteFieldInternal);\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport {\n forwardAttrs,\n getComponentName,\n syncAttrs,\n} from '@descope-ui/common/components-helpers';\nimport { compose } from '@descope-ui/common/utils';\nimport { ComboBoxClass } from '@descope-ui/descope-combo-box/class';\nimport { componentName as descopeInternalComponentName } from './descope-autocomplete-field-internal/AutocompleteFieldInternal';\n\nexport const componentName = getComponentName('autocomplete-field');\n\nconst customMixin = (superclass) =>\n class AutocompleteFieldMixinClass extends superclass {\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n setDefaultValue() {\n if (this.defaultValue) {\n setTimeout(() => {\n this.inputElement.value = this.defaultValue;\n });\n }\n }\n\n init() {\n super.init?.();\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n tabindex=\"-1\"\n ></${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(\n descopeInternalComponentName,\n );\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'size',\n 'bordered',\n 'label',\n 'required',\n 'label-type',\n 'placeholder',\n 'full-width',\n 'allow-custom-value',\n 'min-search-length',\n 'no-results-message',\n 'error-fetching-results-message',\n 'data-errormessage-value-missing',\n 'invalid',\n 'error-message',\n 'readonly',\n 'disabled',\n 'st-host-direction',\n 'st-error-message-icon',\n 'st-error-message-icon-size',\n 'st-error-message-icon-padding',\n ],\n });\n\n // This is required since when we remove the invalid attribute from the internal mappings field,\n // we want to reflect the change in the parent component\n syncAttrs(this, this.inputElement, { includeAttrs: ['invalid'] });\n this.inputElement.fetchResults = this.fetchResults;\n this.setDefaultValue();\n }\n\n set fetchResults(fetchResults) {\n this.inputElement.fetchResults = fetchResults;\n }\n };\n\nconst { host } = {\n host: { selector: () => ':host' },\n};\n\nexport const AutocompleteFieldClass = compose(\n createStyleMixin({\n componentNameOverride: getComponentName('input-wrapper'),\n }),\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: { ...host },\n checkmarkDisplay: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlayCheckmarkDisplay,\n },\n itemPaddingInlineStart: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlayItemPaddingInlineStart,\n },\n itemPaddingInlineEnd: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlayItemPaddingInlineEnd,\n },\n selectedItemBackground: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlaySelectedItemBackground,\n },\n selectedItemHoverBackground: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlaySelectedItemHoverBackground,\n },\n selectedItemFocusBackground: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlaySelectedItemFocusBackground,\n },\n itemHoverBackground: {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.overlayItemHoverBackground,\n },\n },\n }),\n draggableMixin,\n proxyInputMixin({\n proxyProps: ['value', 'selectionStart'],\n inputEvent: 'input',\n proxyParentValidation: true,\n }),\n componentNameValidationMixin,\n customMixin,\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-custom-field',\n style: () => `\n :host {\n display: inline-flex;\n max-width: 100%;\n direction: ltr;\n }\n vaadin-custom-field {\n line-height: unset;\n width: 100%;\n }\n\n descope-autocomplete-field-internal {\n display: inline-block;\n box-sizing: border-box;\n user-select: none;\n max-width: 100%;\n }\n\n descope-autocomplete-field-internal ::slotted {\n padding: 0;\n }\n `,\n excludeAttrsSync: ['tabindex', 'error-message', 'label'],\n componentName,\n }),\n);\n","import '@vaadin/custom-field';\nimport '@descope-ui/descope-combo-box';\nimport './descope-autocomplete-field-internal';\n\nimport {\n componentName,\n AutocompleteFieldClass,\n} from './AutocompleteFieldClass';\n\ncustomElements.define(componentName, AutocompleteFieldClass);\n\nexport { AutocompleteFieldClass, componentName };\n"],"names":["componentName","BaseInputClass","baseSelector","observedAttrs","INVALID_OPTION_VALUE","customElements","define","observedAttributes","concat","allowCustomValue","this","getAttribute","minSearchLength","noResultsFoundMessage","errorFetchingResultsMessage","constructor","super","innerHTML","comboBox","querySelector","value","val","data","label","setTimeout","defaultValue","results","error","fetchResults","displayName","disabled","renderer","root","_","model","item","setAttribute","removeAttribute","outerHTML","renderItem","focus","init","addEventListener","e","isTrusted","includeAttrs","debouncedSearch","async","onSearch","bind","searchValue","detail","length","loading","response","console","warn","undefined","getValidity","isRequired","valueMissing","valid","host","selector","AutocompleteFieldClass","componentNameOverride","mappings","hostWidth","property","hostDirection","fontSize","checkmarkDisplay","ComboBoxClass","C","cssVarList","overlayCheckmarkDisplay","itemPaddingInlineStart","overlayItemPaddingInlineStart","itemPaddingInlineEnd","overlayItemPaddingInlineEnd","selectedItemBackground","overlaySelectedItemBackground","selectedItemHoverBackground","overlaySelectedItemHoverBackground","selectedItemFocusBackground","overlaySelectedItemFocusBackground","itemHoverBackground","overlayItemHoverBackground","proxyProps","inputEvent","proxyParentValidation","superclass","setDefaultValue","inputElement","template","document","createElement","baseElement","appendChild","content","cloneNode","shadowRoot","slots","wrappedEleName","style","excludeAttrsSync"],"sourceRoot":""}
|
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2272],{
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2272],{53557:(t,e,n)=>{n.r(e),n.d(e,{AvatarClass:()=>h,componentName:()=>s});var a=n(88961),o=n(72270),r=n(63200),i=n(25964);const s=(0,i.xE)("avatar");class d extends((0,o.qu)({componentName:s,baseSelector:":host > .wrapper"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <div class="wrapper">\n <vaadin-avatar></vaadin-avatar>\n <div class="editableBadge">\n <vaadin-icon icon="vaadin:pencil"></vaadin-icon>\n </div>\n </div>\n\t\t',(0,i.fz)("\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n .editableBadge {\n border: 1px solid;\n border-radius: 100%;\n height: fit-content;\n width: 25%;\n height: 25%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5%;\n box-sizing: border-box;\n position: absolute;\n bottom: 0;\n inset-inline-end: 0;\n }\n\n vaadin-icon {\n color: currentcolor;\n }\n\n vaadin-avatar {\n width: 100%;\n height: 100%;\n margin: 0;\n border: none\n }\n\n .wrapper {\n display: inline-flex;\n position: relative;\n width: 100%;\n height: 100%;\n }\n ",this),this.avatarComponent=this.shadowRoot.querySelector("vaadin-avatar"),(0,i.EA)(this,this.avatarComponent,{includeAttrs:["display-name","img","abbr"],mapAttrs:{"display-name":"name"}});const t=this.shadowRoot.querySelector(".editableBadge");(0,i.mx)(this,(()=>{t.style.display=this.isEditable?"":"none"}),{includeAttrs:["editable"]})}get isEditable(){return"true"===this.getAttribute("editable")}}const{host:l,editableBadge:c,avatar:p}={host:{selector:()=>":host"},editableBadge:{selector:"> .editableBadge"},avatar:{selector:"vaadin-avatar"}},h=(0,r.Zz)((0,a.RF)({mappings:{hostWidth:[{...l,property:"width"},{...l,property:"min-width"}],hostHeight:{...l,property:"height"},cursor:[p,l],hostDirection:{...l,property:"direction"},avatarTextColor:{...p,property:"color"},avatarBackgroundColor:{...p,property:"background-color"},editableIconColor:{...c,property:"color"},editableBorderColor:{...c,property:"border-color"},editableBackgroundColor:{...c,property:"background-color"}}}),a.VO,a.tQ)(d);n(4408),n(95260),n(37182),customElements.define(s,h)}}]);
|
2
|
+
//# sourceMappingURL=descope-avatar.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-avatar.js","mappings":"+OAcO,MAAMA,GAAgB,QAAiB,UAC9C,MAAMC,WAAkB,QAAgB,CACtCD,gBACAE,aAAc,sBAEd,WAAAC,GACEC,QAEAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,+MAShD,QAAY,m0BAsCTH,MAEHA,KAAKI,gBAAkBJ,KAAKK,WAAWC,cAAc,kBAErD,QAAaN,KAAMA,KAAKI,gBAAiB,CACvCG,aAAc,CAAC,eAAgB,MAAO,QACtCC,SAAU,CAAE,eAAgB,UAG9B,MAAMC,EAAeT,KAAKK,WAAWC,cAAc,mBAEnD,QACEN,MACA,KACES,EAAaC,MAAMC,QAAUX,KAAKY,WAAa,GAAK,MAAM,GAE5D,CAAEL,aAAc,CAAC,aAErB,CAEA,cAAIK,GACF,MAAyC,SAAlCZ,KAAKa,aAAa,WAC3B,EAGF,MAAM,KAAEC,EAAI,cAAEC,EAAa,OAAEC,GAAW,CACtCF,KAAM,CAAEG,SAAU,IAAM,SACxBF,cAAe,CAAEE,SAAU,oBAC3BD,OAAQ,CAAEC,SAAU,kBAGTC,GAAc,SACzB,QAAiB,CACfC,SAAU,CACRC,UAAW,CACT,IAAKN,EAAMO,SAAU,SACrB,IAAKP,EAAMO,SAAU,cAEvBC,WAAY,IAAKR,EAAMO,SAAU,UACjCE,OAAQ,CAACP,EAAQF,GACjBU,cAAe,IAAKV,EAAMO,SAAU,aACpCI,gBAAiB,IAAKT,EAAQK,SAAU,SACxCK,sBAAuB,IAAKV,EAAQK,SAAU,oBAC9CM,kBAAmB,IAAKZ,EAAeM,SAAU,SACjDO,oBAAqB,IAAKb,EAAeM,SAAU,gBACnDQ,wBAAyB,IACpBd,EACHM,SAAU,uBAIhB,KACA,KArByB,CAsBzBzB,G,0BCrHFkC,eAAeC,OAAOpC,EAAeuB,E","sources":["webpack://@descope/web-components-ui/../components/descope-avatar/src/component/AvatarClass.js","webpack://@descope/web-components-ui/../components/descope-avatar/src/component/index.js"],"sourcesContent":["import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n forwardAttrs,\n getComponentName,\n injectStyle,\n observeAttributes,\n} from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('avatar');\nclass RawAvatar extends createBaseClass({\n componentName,\n baseSelector: ':host > .wrapper',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"wrapper\">\n <vaadin-avatar></vaadin-avatar>\n <div class=\"editableBadge\">\n <vaadin-icon icon=\"vaadin:pencil\"></vaadin-icon>\n </div>\n </div>\n\t\t`;\n\n injectStyle(`\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n .editableBadge {\n border: 1px solid;\n border-radius: 100%;\n height: fit-content;\n width: 25%;\n height: 25%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5%;\n box-sizing: border-box;\n position: absolute;\n bottom: 0;\n inset-inline-end: 0;\n }\n\n vaadin-icon {\n color: currentcolor;\n }\n\n vaadin-avatar {\n width: 100%;\n height: 100%;\n margin: 0;\n border: none\n }\n\n .wrapper {\n display: inline-flex;\n position: relative;\n width: 100%;\n height: 100%;\n }\n `, this);\n\n this.avatarComponent = this.shadowRoot.querySelector('vaadin-avatar');\n\n forwardAttrs(this, this.avatarComponent, {\n includeAttrs: ['display-name', 'img', 'abbr'],\n mapAttrs: { 'display-name': 'name' },\n });\n\n const editableIcon = this.shadowRoot.querySelector('.editableBadge');\n\n observeAttributes(\n this,\n () => {\n editableIcon.style.display = this.isEditable ? '' : 'none';\n },\n { includeAttrs: ['editable'] },\n );\n }\n\n get isEditable() {\n return this.getAttribute('editable') === 'true';\n }\n}\n\nconst { host, editableBadge, avatar } = {\n host: { selector: () => ':host' },\n editableBadge: { selector: '> .editableBadge' },\n avatar: { selector: 'vaadin-avatar' },\n};\n\nexport const AvatarClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: [\n { ...host, property: 'width' },\n { ...host, property: 'min-width' },\n ],\n hostHeight: { ...host, property: 'height' },\n cursor: [avatar, host],\n hostDirection: { ...host, property: 'direction' },\n avatarTextColor: { ...avatar, property: 'color' },\n avatarBackgroundColor: { ...avatar, property: 'background-color' },\n editableIconColor: { ...editableBadge, property: 'color' },\n editableBorderColor: { ...editableBadge, property: 'border-color' },\n editableBackgroundColor: {\n ...editableBadge,\n property: 'background-color',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawAvatar);\n","import { componentName, AvatarClass } from './AvatarClass';\nimport '@vaadin/avatar';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\ncustomElements.define(componentName, AvatarClass);\n\nexport { AvatarClass, componentName };\n"],"names":["componentName","RawAvatar","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","avatarComponent","shadowRoot","querySelector","includeAttrs","mapAttrs","editableIcon","style","display","isEditable","getAttribute","host","editableBadge","avatar","selector","AvatarClass","mappings","hostWidth","property","hostHeight","cursor","hostDirection","avatarTextColor","avatarBackgroundColor","editableIconColor","editableBorderColor","editableBackgroundColor","customElements","define"],"sourceRoot":""}
|
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[9553],{
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[9553],{26442:(t,e,o)=>{o.d(e,{T:()=>p,e:()=>l});var n=o(79365),r=o(81365),i=o(9696),d=o(97810),s=o(25964);const p=(0,d.xE)("badge");class a extends((0,r.q)({componentName:p,baseSelector:":host > div"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<div>\n <slot></slot>\n\t\t</div>\n\t\t",(0,s.fz)("\n :host {\n display: inline-flex;\n }\n :host > div {\n width: 100%;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n ",this)}}const l=(0,i.Zz)((0,n.RF)({mappings:{hostWidth:[{selector:()=>":host",property:"width"}],hostDirection:{property:"direction"},fontFamily:{},fontSize:{},fontWeight:{},textTransform:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],borderWidth:{},borderStyle:{},borderColor:{},borderRadius:{},backgroundColor:{},textColor:{property:"color"},textAlign:{}}}),n.VO,n.tQ)(a)},91359:(t,e,o)=>{o.r(e),o.d(e,{BadgeClass:()=>n.e,componentName:()=>n.T});var n=o(26442);customElements.define(n.T,n.e)}}]);
|
2
|
+
//# sourceMappingURL=descope-badge-index-js.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-badge-index-js.js","mappings":"4NAMO,MAAMA,GAAgB,QAAiB,SAE9C,MAAMC,WAAiB,OAAgB,CAAED,gBAAeE,aAAc,iBACpE,WAAAC,GACEC,QAEAC,KAAKC,aAAa,CAAEC,KAAM,SAAUC,UAAY,sDAMhD,QACE,iNAWAH,KAEJ,EAGK,MAAMI,GAAa,SACxB,QAAiB,CACfC,SAAU,CACRC,UAAW,CAAC,CAAEC,SAAU,IAAM,QAASC,SAAU,UACjDC,cAAe,CAAED,SAAU,aAE3BE,WAAY,CAAC,EACbC,SAAU,CAAC,EACXC,WAAY,CAAC,EACbC,cAAe,CAAC,EAChBC,gBAAiB,CAAC,CAAEN,SAAU,eAAiB,CAAEA,SAAU,mBAC3DO,kBAAmB,CAAC,CAAEP,SAAU,gBAAkB,CAAEA,SAAU,kBAE9DQ,YAAa,CAAC,EACdC,YAAa,CAAC,EACdC,YAAa,CAAC,EACdC,aAAc,CAAC,EAEfC,gBAAiB,CAAC,EAElBC,UAAW,CAAEb,SAAU,SACvBc,UAAW,CAAC,KAGhB,KACA,KAzBwB,CA0BxB1B,E,0FC3DF2B,eAAeC,OAAO,IAAe,I","sources":["webpack://@descope/web-components-ui/./src/components/descope-badge/BadgeClass.js","webpack://@descope/web-components-ui/./src/components/descope-badge/index.js"],"sourcesContent":["import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('badge');\n\nclass RawBadge extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<div>\n <slot></slot>\n\t\t</div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n display: inline-flex;\n }\n :host > div {\n width: 100%;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n `,\n this\n );\n }\n}\n\nexport const BadgeClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: [{ selector: () => ':host', property: 'width' }],\n hostDirection: { property: 'direction' },\n\n fontFamily: {},\n fontSize: {},\n fontWeight: {},\n textTransform: {},\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],\n\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n borderRadius: {},\n\n backgroundColor: {},\n\n textColor: { property: 'color' },\n textAlign: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawBadge);\n","import { componentName, BadgeClass } from './BadgeClass';\n\ncustomElements.define(componentName, BadgeClass);\n\nexport { BadgeClass, componentName };\n"],"names":["componentName","RawBadge","baseSelector","constructor","super","this","attachShadow","mode","innerHTML","BadgeClass","mappings","hostWidth","selector","property","hostDirection","fontFamily","fontSize","fontWeight","textTransform","verticalPadding","horizontalPadding","borderWidth","borderStyle","borderColor","borderRadius","backgroundColor","textColor","textAlign","customElements","define"],"sourceRoot":""}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*! For license information please see descope-button-index-js.js.LICENSE.txt */
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[6649,9030,9984],{88068:(t,e,o)=>{o.d(e,{J:()=>b,T:()=>l});var r=o(9696),i=o(97810),n=o(79365),a=o(20618),s=o(12011);const l=(0,i.xE)("button"),{host:d,label:c,slottedIcon:h}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let u;const b=(0,r.Zz)((0,n.RF)({mappings:{hostWidth:{property:"width"},hostHeight:{property:"height"},hostDirection:{...d,property:"direction"},fontSize:{},fontFamily:{},cursor:{},backgroundColor:{},outlineOffset:{},outlineColor:{},outlineStyle:{},outlineWidth:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-right",fallback:"0.875em"},{property:"padding-left",fallback:"0.875em"}],labelTextColor:{property:"color"},iconColor:{selector:()=>"::slotted(*)",property:a.S.cssVarList.fill},labelTextDecoration:{...c,property:"text-decoration"},labelSpacing:{...c,property:"gap"},textAlign:{...c,property:"justify-content",fallback:"center"},iconSize:[{...h,property:"width"},{...h,property:"height"}]}}),s.G,n.VO,n.tQ)((0,n.tz)({slots:["","prefix","label","suffix"],wrappedEleName:"vaadin-button",style:()=>`\n\t\t\t\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n\n\t\t\t\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t\t\t${u}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${b.cssVarList.outlineWidth}) + var(${b.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${b.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${b.cssVarList.hostHeight}) - var(${b.cssVarList.outlineWidth}) - var(${b.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${b.cssVarList.hostWidth}) - var(${b.cssVarList.outlineWidth}) - var(${b.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex"],componentName:l})),{color:p,fontSize:m}=b.cssVarList;u=`\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading="true"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${p});\n\t\ttop: calc(50% - (var(${m}) / 2));\n\t\tleft: calc(50% - (var(${m}) / 2));\n\t\tborder-width: calc(var(${m}) / 10);\n\t\twidth: var(${m});\n\t\theight: var(${m});\n\t}\n\t:host([disabled="true"]),\n\t:host([loading="true"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading="true"])::part(prefix),\n\t:host([loading="true"])::part(label) {\n\t\tvisibility: hidden;\n\t}\n`},12011:(t,e,o)=>{o.d(e,{G:()=>r});const r=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},85076:(t,e,o)=>{o.r(e),o.d(e,{ButtonClass:()=>r.J,componentName:()=>r.T}),o(83799);var r=o(88068);customElements.define(r.T,r.J)},20618:(t,e,o)=>{o.d(e,{S:()=>h,T:()=>d});var r=o(79365),i=o(81365),n=o(9696),a=o(97810),s=o(28796),l=o(25964);const d=(0,a.xE)("icon");class c extends((0,i.q)({componentName:d,baseSelector:"slot"})){static get observedAttributes(){return["src"]}#t;constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,l.fz)("\n\t\t\t:host > slot {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n ",this)}init(){super.init?.(),this.toggleVisibility(this.src)}toggleVisibility(t){this.style.display=t?"":"none"}get src(){return this.getAttribute("src")}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach((t=>{t.setAttribute("fill",`var(${h.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)}))}attributeChangedCallback(t,e,o){super.attributeChangedCallback?.(t,e,o),e!==o&&"src"===t&&(this.toggleVisibility(o),(0,s.w)(this.src).then((t=>{if(this.innerHTML="",t){const e=t.cloneNode(!0);this.updateFillColor(e),this.appendChild(e)}})))}}const h=(0,n.Zz)((0,r.RF)({mappings:{fill:{}}}),r.VO,r.tQ)(c)},28796:(t,e,o)=>{o.d(e,{w:()=>n});var r=o(25414);const i=t=>{const e=r.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0}});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},n=async t=>{try{let e;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const o=atob(t.slice(26));e=i(o)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const o=await fetch(t),r=await o.text();e=i(r)}else e=(t=>{const e=document.createElement("img");return e.setAttribute("src",t),e})(t);return e.style.setProperty("max-width","100%"),e.style.setProperty("max-height","100%"),e}catch{return null}}},5745:(t,e,o)=>{o.d(e,{i:()=>r});const r=(0,o(98741).y)((t=>class extends t{static get properties(){return{disabled:{type:Boolean,value:!1,observer:"_disabledChanged",reflectToAttribute:!0}}}_disabledChanged(t){this._setAriaDisabled(t)}_setAriaDisabled(t){t?this.setAttribute("aria-disabled","true"):this.removeAttribute("aria-disabled")}click(){this.disabled||super.click()}}))},7888:(t,e,o)=>{o.d(e,{f:()=>r});const r=(0,o(98741).y)((t=>class extends t{ready(){super.ready(),this.addEventListener("keydown",(t=>{this._onKeyDown(t)})),this.addEventListener("keyup",(t=>{this._onKeyUp(t)}))}_onKeyDown(t){switch(t.key){case"Enter":this._onEnter(t);break;case"Escape":this._onEscape(t)}}_onKeyUp(t){}_onEnter(t){}_onEscape(t){}}))},36176:(t,e,o)=>{o.d(e,{l:()=>i});var r=o(5745);const i=t=>class extends((0,r.i)(t)){static get properties(){return{tabindex:{type:Number,reflectToAttribute:!0,observer:"_tabindexChanged"},_lastTabIndex:{type:Number}}}_disabledChanged(t,e){super._disabledChanged(t,e),t?(void 0!==this.tabindex&&(this._lastTabIndex=this.tabindex),this.tabindex=-1):e&&(this.tabindex=this._lastTabIndex)}_tabindexChanged(t){this.disabled&&-1!==t&&(this._lastTabIndex=t,this.tabindex=-1)}}},89389:(t,e,o)=>{o.d(e,{$:()=>p});var r=o(13256),i=o(55774),n=o(82901),a=o(90676),s=o(81488),l=o(87550);const d=o(51450).AH`
|
3
3
|
:host {
|
4
4
|
display: inline-block;
|
5
5
|
position: relative;
|
@@ -59,7 +59,7 @@
|
|
59
59
|
outline-color: GrayText;
|
60
60
|
}
|
61
61
|
}
|
62
|
-
`;var c=o(
|
62
|
+
`;var c=o(84467),h=o(53149),u=o(36176);const b=t=>class extends((0,c.e)((0,u.l)((0,h.y)(t)))){static get properties(){return{tabindex:{type:Number,value:0,reflectToAttribute:!0}}}get _activeKeys(){return["Enter"," "]}ready(){super.ready(),this.hasAttribute("role")||this.setAttribute("role","button")}_onKeyDown(t){super._onKeyDown(t),t.altKey||t.shiftKey||t.ctrlKey||t.metaKey||this._activeKeys.includes(t.key)&&(t.preventDefault(),this.click())}};(0,l.SF)("vaadin-button",d,{moduleId:"vaadin-button-styles"});class p extends(b((0,a.q)((0,l.cp)((0,i.w)(r.Pu))))){static get is(){return"vaadin-button"}static get template(){return r.qy`
|
63
63
|
<div class="vaadin-button-container">
|
64
64
|
<span part="prefix" aria-hidden="true">
|
65
65
|
<slot name="prefix"></slot>
|
@@ -72,7 +72,7 @@
|
|
72
72
|
</span>
|
73
73
|
</div>
|
74
74
|
<slot name="tooltip"></slot>
|
75
|
-
`}ready(){super.ready(),this._tooltipController=new s.I(this),this.addController(this._tooltipController)}}(0,n.X)(p)},
|
75
|
+
`}ready(){super.ready(),this._tooltipController=new s.I(this),this.addController(this._tooltipController)}}(0,n.X)(p)},93555:(t,e,o)=>{o.d(e,{x:()=>i}),o(64511),o(42068),o(9433),o(3241),o(83315);var r=o(87550);const i=r.AH`
|
76
76
|
:host {
|
77
77
|
/* Sizing */
|
78
78
|
--lumo-button-size: var(--lumo-size-m);
|
@@ -335,4 +335,5 @@
|
|
335
335
|
margin-left: 0;
|
336
336
|
margin-right: 0;
|
337
337
|
}
|
338
|
-
`;(0,r.SF)("vaadin-button",i,{moduleId:"lumo-button"})},
|
338
|
+
`;(0,r.SF)("vaadin-button",i,{moduleId:"lumo-button"})},83799:(t,e,o)=>{o(93555),o(89389)}}]);
|
339
|
+
//# sourceMappingURL=descope-button-index-js.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-button-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-button/ButtonClass.js","webpack://@descope/web-components-ui/./src/components/descope-button/clickableMixin.js","webpack://@descope/web-components-ui/./src/components/descope-button/index.js","webpack://@descope/web-components-ui/./src/components/descope-icon/IconClass.js","webpack://@descope/web-components-ui/./src/components/descope-icon/helpers.js","webpack://@descope/web-components-ui/../../../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":["import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { IconClass } from '../descope-icon/IconClass';\nimport { clickableMixin } from './clickableMixin';\n\nexport const componentName = getComponentName('button');\n\nconst resetStyles = `\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n`;\n\nconst iconStyles = `\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n`;\n\nconst editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;\n\nconst { host, label, slottedIcon } = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n slottedIcon: { selector: () => '::slotted(descope-icon)' },\n};\n\nlet loadingIndicatorStyles;\n\nexport const ButtonClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { property: 'width' },\n hostHeight: { property: 'height' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n fontFamily: {},\n\n cursor: {},\n backgroundColor: {},\n\n outlineOffset: {},\n outlineColor: {},\n outlineStyle: {},\n outlineWidth: {},\n\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [\n { property: 'padding-right', fallback: '0.875em' },\n { property: 'padding-left', fallback: '0.875em' },\n ],\n\n labelTextColor: { property: 'color' },\n iconColor: {\n selector: () => `::slotted(*)`,\n property: IconClass.cssVarList.fill,\n },\n labelTextDecoration: { ...label, property: 'text-decoration' },\n labelSpacing: { ...label, property: 'gap' },\n textAlign: { ...label, property: 'justify-content', fallback: 'center' },\n\n iconSize: [\n { ...slottedIcon, property: 'width' },\n { ...slottedIcon, property: 'height' },\n ],\n },\n }),\n clickableMixin,\n draggableMixin,\n componentNameValidationMixin\n)(\n createProxy({\n slots: ['', 'prefix', 'label', 'suffix'],\n wrappedEleName: 'vaadin-button',\n style: () => `\n\t\t\t${resetStyles}\n\t\t\t${iconStyles}\n\t\t\t${loadingIndicatorStyles}\n\t\t\t${editorOverrides}\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${ButtonClass.cssVarList.outlineWidth}) + var(${ButtonClass.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width=\"true\"]) {\n width: var(${ButtonClass.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${ButtonClass.cssVarList.hostHeight}) - var(${ButtonClass.cssVarList.outlineWidth}) - var(${ButtonClass.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square=\"true\"]:not([full-width=\"true\"]) {\n\t\t\t\twidth: calc(var(${ButtonClass.cssVarList.hostWidth}) - var(${ButtonClass.cssVarList.outlineWidth}) - var(${ButtonClass.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nconst { color, fontSize } = ButtonClass.cssVarList;\nloadingIndicatorStyles = `\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading=\"true\"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${color});\n\t\ttop: calc(50% - (var(${fontSize}) / 2));\n\t\tleft: calc(50% - (var(${fontSize}) / 2));\n\t\tborder-width: calc(var(${fontSize}) / 10);\n\t\twidth: var(${fontSize});\n\t\theight: var(${fontSize});\n\t}\n\t:host([disabled=\"true\"]),\n\t:host([loading=\"true\"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading=\"true\"])::part(prefix),\n\t:host([loading=\"true\"])::part(label) {\n\t\tvisibility: hidden;\n\t}\n`;\n","export const clickableMixin = (superclass) =>\n class ClickableMixinClass extends superclass {\n get isLoading() {\n return this.getAttribute('loading') === 'true';\n }\n\n click() {\n this.isLoading || super.click();\n }\n };\n","import '@vaadin/button';\nimport { componentName, ButtonClass } from './ButtonClass';\n\ncustomElements.define(componentName, ButtonClass);\n\nexport { ButtonClass, componentName };\n","/* eslint-disable no-use-before-define */\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { createIcon } from './helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('icon');\n\nclass RawIcon extends createBaseClass({ componentName, baseSelector: 'slot' }) {\n static get observedAttributes() {\n return ['src'];\n }\n\n #icon;\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<slot></slot>\n\t`;\n\n injectStyle(\n `\n\t\t\t:host > slot {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n `,\n this\n );\n }\n\n init() {\n super.init?.();\n this.toggleVisibility(this.src);\n }\n\n toggleVisibility(isVisible) {\n this.style.display = isVisible ? '' : 'none';\n }\n\n get src() {\n return this.getAttribute('src');\n }\n\n // in order to fill an SVG with `currentColor` override all of its `fill` and `path` nodes\n // with the value from the `st-fill` attribute\n // eslint-disable-next-line class-methods-use-this\n updateFillColor(node) {\n // set fill to root node and all its relevant selectors\n const elementsToReplace = [node, ...node.querySelectorAll('*[fill]')];\n\n elementsToReplace.forEach((ele) => {\n ele.setAttribute(\n 'fill',\n `var(${IconClass.cssVarList.fill}, ${ele.getAttribute('fill') || \"''\"})`\n );\n });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue === newValue) return;\n\n if (attrName === 'src') {\n this.toggleVisibility(newValue);\n\n createIcon(this.src).then((res) => {\n this.innerHTML = '';\n if (res) {\n const clonedNode = res.cloneNode(true);\n this.updateFillColor(clonedNode);\n this.appendChild(clonedNode);\n }\n });\n }\n }\n}\n\nexport const IconClass = compose(\n createStyleMixin({\n mappings: {\n fill: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawIcon);\n","import DOMPurify from 'dompurify';\n\nconst getFileExtension = (path) => {\n const match = path.match(/\\.([0-9a-z]+)(?:[\\\\?#]|$)/i);\n return match ? match[1] : null;\n};\n\nconst base64Prefix = 'data:image/svg+xml;base64,';\n\nconst isBase64Svg = (src) => src.startsWith(base64Prefix);\n\nconst createImgEle = (src) => {\n const ele = document.createElement('img');\n ele.setAttribute('src', src);\n return ele;\n};\n\nconst createSvgEle = (text) => {\n // we want to purify the SVG to avoid XSS attacks\n const clean = DOMPurify.sanitize(text, { USE_PROFILES: { svg: true, svgFilters: true } });\n\n const parser = new DOMParser();\n const ele = parser.parseFromString(clean, 'image/svg+xml').querySelector('svg');\n return ele;\n};\n\nexport const createIcon = async (src) => {\n try {\n let ele;\n if (isBase64Svg(src)) {\n // handle base64 source\n const svgXml = atob(src.slice(base64Prefix.length));\n ele = createSvgEle(svgXml);\n } else if (getFileExtension(src) === 'svg') {\n // handle urls\n const fetchedSrc = await fetch(src);\n const text = await fetchedSrc.text();\n ele = createSvgEle(text);\n } else {\n // handle binary\n ele = createImgEle(src);\n }\n\n ele.style.setProperty('max-width', '100%');\n ele.style.setProperty('max-height', '100%');\n\n return ele;\n } catch {\n return null;\n }\n};\n","/**\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":["componentName","host","label","slottedIcon","selector","loadingIndicatorStyles","ButtonClass","mappings","hostWidth","property","hostHeight","hostDirection","fontSize","fontFamily","cursor","backgroundColor","outlineOffset","outlineColor","outlineStyle","outlineWidth","borderRadius","borderColor","borderStyle","borderWidth","verticalPadding","horizontalPadding","fallback","labelTextColor","iconColor","cssVarList","fill","labelTextDecoration","labelSpacing","textAlign","iconSize","slots","wrappedEleName","style","excludeAttrsSync","color","clickableMixin","superclass","isLoading","this","getAttribute","click","super","customElements","define","RawIcon","baseSelector","observedAttributes","constructor","attachShadow","mode","innerHTML","init","toggleVisibility","src","isVisible","display","updateFillColor","node","querySelectorAll","forEach","ele","setAttribute","IconClass","attributeChangedCallback","attrName","oldValue","newValue","then","res","clonedNode","cloneNode","appendChild","createSvgEle","text","clean","sanitize","USE_PROFILES","svg","svgFilters","DOMParser","parseFromString","querySelector","createIcon","async","startsWith","isBase64Svg","svgXml","atob","slice","base64Prefix","path","match","getFileExtension","fetchedSrc","fetch","document","createElement","createImgEle","setProperty","DisabledMixin","properties","disabled","type","Boolean","value","observer","reflectToAttribute","_disabledChanged","_setAriaDisabled","removeAttribute","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":""}
|
@@ -1 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[3521],{
|
1
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[3521],{80522:(e,o,t)=>{t.r(o),t.d(o,{CodeSnippetClass:()=>le,componentName:()=>n});var r=t(75780),l=t(79365),s=t(9696),c=t(97810),a=t(81365),p=t(25964);const n=(0,c.xE)("code-snippet");class i extends((0,a.q)({componentName:n,baseSelector:":host > code"})){static get observedAttributes(){return["lang","inline"]}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <code class="hljs"></code>\n ',(0,p.fz)("\n :host {\n display: inline-block;\n width: 100%;\n }\n code {\n display: block;\n width: 100%;\n min-height: 1em;\n overflow-x: scroll;\n overflow-y: scroll;\n }\n pre {\n margin: 0;\n }\n ",this)}init(){super.init?.(),this.lang=this.getAttribute("lang"),this.isInline="true"===this.getAttribute("inline"),(0,c.Ge)(this,this.#e.bind(this))}get contentNode(){return this.shadowRoot.querySelector(this.baseSelector)}attributeChangedCallback(e,o,t){super.attributeChangedCallback?.(e,o,t),o!==t&&("inline"===e&&(this.isInline=t),"lang"===e&&(this.lang=t),this.#e())}#e(){const e=(e=>{const o=document.createElement("textarea");return o.innerHTML=e,o.value})(this.textContent),o=this.lang;if(!o)return void(this.contentNode.textContent=e);const{value:t}=r.A.highlight(e,{language:o});var l;this.contentNode.innerHTML=(l=t,this.isInline?l:`<pre>${l}</pre>`)}}const{root:h,docTag:u,keyword:d,metaKeyword:y,templateTag:C,templateVariable:m,type:g,variableLanguage:T,title:x,titleClass:b,titleClassInherited:j,titleFunction:k,attr:w,attribute:v,literal:_,meta:f,number:I,operator:S,variable:A,selectorAttr:q,selectorClass:E,selectorId:L,regexp:N,string:F,metaString:V,builtIn:B,symbol:H,comment:K,code:M,formula:P,name:z,quote:R,selectorTag:G,selectorPseudo:O,subst:Q,section:Z,bullet:$,emphasis:D,strong:J,addition:U,deletion:W,charEscape:X,link:Y,params:ee,property:oe,punctuation:te,tag:re}={root:{selector:()=>".hljs"},docTag:{selector:()=>".hljs-doctag"},keyword:{selector:()=>".hljs-keyword"},metaKeyword:{selector:()=>".hljs-meta .hljs-keyword"},templateTag:{selector:()=>".hljs-template-tag"},templateVariable:{selector:()=>".hljs-template-variable"},type:{selector:()=>".hljs-type"},variableLanguage:{selector:()=>".hljs-variable.language"},title:{selector:()=>".hljs-title"},titleClass:{selector:()=>".hljs-title.class_"},titleClassInherited:{selector:()=>".hljs-title.class_.inherited__"},titleFunction:{selector:()=>".hljs-title.function_"},attr:{selector:()=>".hljs-attr"},attribute:{selector:()=>".hljs-attribute"},literal:{selector:()=>".hljs-literal"},meta:{selector:()=>".hljs-meta"},number:{selector:()=>".hljs-number"},operator:{selector:()=>".hljs-operator"},variable:{selector:()=>".hljs-variable"},selectorAttr:{selector:()=>".hljs-selector-attr"},selectorClass:{selector:()=>".hljs-selector-class"},selectorId:{selector:()=>".hljs-selector-id"},regexp:{selector:()=>".hljs-regexp"},string:{selector:()=>".hljs-string"},metaString:{selector:()=>".hljs-meta .hljs-string"},builtIn:{selector:()=>".hljs-built_in"},symbol:{selector:()=>".hljs-symbol"},comment:{selector:()=>".hljs-comment"},code:{selector:()=>".hljs-code"},formula:{selector:()=>".hljs-formula"},name:{selector:()=>".hljs-name"},quote:{selector:()=>".hljs-quote"},selectorTag:{selector:()=>".hljs-selector-tag"},selectorPseudo:{selector:()=>".hljs-selector-pseudo"},subst:{selector:()=>".hljs-subst"},section:{selector:()=>".hljs-section"},bullet:{selector:()=>".hljs-bullet"},emphasis:{selector:()=>".hljs-emphasis"},strong:{selector:()=>".hljs-strong"},addition:{selector:()=>".hljs-addition"},deletion:{selector:()=>".hljs-deletion"},charEscape:{selector:()=>".hljs-char.escape"},link:{selector:()=>".hljs-link"},params:{selector:()=>".hljs-params"},property:{selector:()=>".hljs-property"},punctuation:{selector:()=>".hljs-punctuation"},tag:{selector:()=>".hljs-tag"}},le=(0,s.Zz)((0,l.RF)({mappings:{rootBgColor:{...h,property:"background-color"},rootTextColor:{...h,property:"color"},docTagTextColor:{...u,property:"color"},keywordTextColor:{...d,property:"color"},metaKeywordTextColor:{...y,property:"color"},templateTagTextColor:{...C,property:"color"},templateVariableTextColor:{...m,property:"color"},typeTextColor:{...g,property:"color"},variableLanguageTextColor:{...T,property:"color"},titleTextColor:{...x,property:"color"},titleClassTextColor:{...b,property:"color"},titleClassInheritedTextColor:{...j,property:"color"},titleFunctionTextColor:{...k,property:"color"},attrTextColor:{...w,property:"color"},attributeTextColor:{...v,property:"color"},literalTextColor:{..._,property:"color"},metaTextColor:{...f,property:"color"},numberTextColor:{...I,property:"color"},operatorTextColor:{...S,property:"color"},variableTextColor:{...A,property:"color"},selectorAttrTextColor:{...q,property:"color"},selectorClassTextColor:{...E,property:"color"},selectorIdTextColor:{...L,property:"color"},regexpTextColor:{...N,property:"color"},stringTextColor:{...F,property:"color"},metaStringTextColor:{...V,property:"color"},builtInTextColor:{...B,property:"color"},symbolTextColor:{...H,property:"color"},commentTextColor:{...K,property:"color"},codeTextColor:{...M,property:"color"},formulaTextColor:{...P,property:"color"},nameTextColor:{...z,property:"color"},quoteTextColor:{...R,property:"color"},selectorTagTextColor:{...G,property:"color"},selectorPseudoTextColor:{...O,property:"color"},substTextColor:{...Q,property:"color"},sectionTextColor:{...Z,property:"color"},bulletTextColor:{...$,property:"color"},emphasisTextColor:{...D,property:"color"},strongTextColor:{...J,property:"color"},additionTextColor:{...U,property:"color"},additionBgColor:{...U,property:"background-color"},deletionTextColor:{...W,property:"color"},deletionBgColor:{...W,property:"background-color"},charEscapeTextColor:{...X,property:"color"},linkTextColor:{...Y,property:"color"},paramsTextColor:{...ee,property:"color"},propertyTextColor:{...oe,property:"color"},punctuationTextColor:{...te,property:"color"},tagTextColor:{...re,property:"color"}}}),l.VO,l.tQ)(i);customElements.define(n,le)}}]);
|
2
|
+
//# sourceMappingURL=descope-code-snippet-index-js.js.map
|