@descope/web-components-ui 2.2.24 → 2.2.25
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/README.md +1 -1
- package/dist/umd/1408.js +2 -2
- package/dist/umd/1453.js +177 -0
- package/dist/umd/{1995.js.LICENSE.txt → 1453.js.LICENSE.txt} +6 -0
- package/dist/umd/1453.js.map +1 -0
- package/dist/umd/1899.js +2 -2
- package/dist/umd/2562.js +3 -0
- package/dist/umd/2562.js.map +1 -0
- package/dist/umd/3620.js +3 -3
- package/dist/umd/4518.js +3 -3
- package/dist/umd/4550.js +2 -2
- package/dist/umd/4623.js +1 -1
- package/dist/umd/4914.js +1 -1
- package/dist/umd/4914.js.map +1 -1
- package/dist/umd/5260.js +2 -2
- package/dist/umd/5263.js +498 -0
- package/dist/umd/5263.js.LICENSE.txt +17 -0
- package/dist/umd/5263.js.map +1 -0
- package/dist/umd/5648.js +1 -1
- package/dist/umd/5966.js +125 -0
- package/dist/umd/5966.js.map +1 -0
- package/dist/umd/6477.js +3 -3
- package/dist/umd/7291.js +2 -2
- package/dist/umd/7387.js +144 -0
- package/dist/umd/{6419.js.LICENSE.txt → 7387.js.LICENSE.txt} +8 -2
- package/dist/umd/7387.js.map +1 -0
- package/dist/umd/7774.js +3 -3
- package/dist/umd/7939.js +1 -1
- package/dist/umd/8202.js +82 -0
- package/dist/umd/{descope-apps-list.js.LICENSE.txt → 8202.js.LICENSE.txt} +0 -6
- package/dist/umd/8202.js.map +1 -0
- package/dist/umd/8983.js +1 -1
- package/dist/umd/9117.js +3 -3
- package/dist/umd/9970.js +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +1 -1
- package/dist/umd/descope-apps-list.js +1 -17
- package/dist/umd/descope-apps-list.js.map +1 -1
- package/dist/umd/descope-avatar.js +161 -2
- package/dist/umd/descope-avatar.js.LICENSE.txt +6 -0
- package/dist/umd/descope-avatar.js.map +1 -1
- package/dist/umd/descope-button.js +1 -1
- package/dist/umd/descope-combo-box.js +2 -2
- package/dist/umd/descope-date-field-index-js.js +1 -1
- package/dist/umd/descope-email-field-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js.map +1 -1
- package/dist/umd/descope-outbound-app-button.js +1 -1
- package/dist/umd/descope-outbound-apps.js +1 -338
- package/dist/umd/descope-outbound-apps.js.map +1 -1
- package/dist/umd/descope-passcode-index-js.js +1 -1
- package/dist/umd/descope-security-questions-verify-index-js.js +1 -1
- package/dist/umd/descope-text-field-index-js.js +1 -1
- package/dist/umd/descope-timer-button.js +1 -1
- package/dist/umd/descope-tooltip.js +2 -1
- package/dist/umd/descope-tooltip.js.LICENSE.txt +11 -0
- package/dist/umd/descope-tooltip.js.map +1 -1
- package/dist/umd/descope-upload-file-index-js.js +1 -1
- package/dist/umd/descope-user-attribute-index-js.js +1 -1
- package/dist/umd/descope-user-auth-method-index-js.js +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +1 -1
- package/package.json +29 -29
- package/dist/umd/1519.js +0 -203
- package/dist/umd/1519.js.LICENSE.txt +0 -51
- package/dist/umd/1519.js.map +0 -1
- package/dist/umd/1995.js +0 -241
- package/dist/umd/1995.js.map +0 -1
- package/dist/umd/6419.js +0 -82
- package/dist/umd/6419.js.map +0 -1
- package/dist/umd/676.js +0 -3
- package/dist/umd/676.js.map +0 -1
- package/dist/umd/8618.js +0 -125
- package/dist/umd/8618.js.map +0 -1
- package/dist/umd/descope-outbound-apps.js.LICENSE.txt +0 -5
- /package/dist/umd/{676.js.LICENSE.txt → 2562.js.LICENSE.txt} +0 -0
- /package/dist/umd/{8618.js.LICENSE.txt → 5966.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descope-tooltip.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../components/descope-enriched-text/src/component/consts.js","webpack://@descope/web-components-ui/../components/descope-tooltip/src/component/TooltipClass.js","webpack://@descope/web-components-ui/../components/descope-tooltip/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-enriched-text/src/component/helpers.js","webpack://@descope/web-components-ui/../components/descope-enriched-text/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/TextClass.js","webpack://@descope/web-components-ui/../components/descope-link/src/component/LinkClass.js","webpack://@descope/web-components-ui/../components/descope-link/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-enriched-text/src/component/EnrichedTextClass.js"],"sourcesContent":["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","import {\n componentNameValidationMixin,\n portalMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n forwardAttrs,\n getComponentName,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { EnrichedTextClass } from '@descope-ui/descope-enriched-text/class';\n\nexport const componentName = getComponentName('tooltip');\n\nconst tooltipAttrs = [\n 'text',\n 'position',\n 'hide-delay',\n 'hover-delay',\n 'opened',\n];\n\nconst BaseClass = createBaseClass({\n componentName,\n baseSelector: 'vaadin-tooltip',\n});\n\nclass RawTooltip extends BaseClass {\n static get observedAttributes() {\n return tooltipAttrs.concat(BaseClass.observedAttributes || []);\n }\n\n get isOpened() {\n return this.getAttribute('opened') === 'true';\n }\n\n get overlay() {\n return this.tooltip?._overlayElement;\n }\n\n get overlayContentNode() {\n return this.overlay?.shadowRoot.querySelector('[part=\"content\"]');\n }\n\n get tooltipText() {\n return this.getAttribute('text')?.trim() || '';\n }\n\n get isStaticDisplay() {\n return this.getAttribute('static-display') === 'true';\n }\n\n // We use `static-display` for presentation purposes, to show the tooltip content.\n // This should be used only when `opened` is `true`. Once `static-display` is set,\n // the overlay would become a `static` element, and will have layout in the presenting page.\n // This is mainly aimed to solve the presentation problem on our Styles Page in the Console.\n #handleStaticDisplay() {\n if (this.isStaticDisplay) {\n this.#revealWrappedParts();\n this.setAttribute('inert', 'true');\n } else {\n this.#hideWrappedParts();\n this.removeAttribute('inert');\n }\n }\n\n init() {\n super.init();\n\n // Create the vaadin-tooltip here instead of constructor (for React compatibility)\n this.style.display = 'contents';\n this.insertAdjacentHTML('beforeend', '<vaadin-tooltip></vaadin-tooltip>');\n this.tooltip = this.querySelector('vaadin-tooltip');\n\n this.#hideWrappedParts();\n\n this.#setTooltipTarget();\n\n setTimeout(() => this.#onOverlayReady());\n }\n\n #hideWrappedParts() {\n this.tooltip.style.width = '0';\n this.tooltip.style.height = '0';\n this.tooltip.style.display = 'block';\n this.tooltip.style.overflow = 'hidden';\n this.tooltip.style.position = 'absolute';\n }\n \n #revealWrappedParts() {\n this.tooltip.style.width = '100%';\n this.tooltip.style.height = '100%';\n this.tooltip.style.position = 'static';\n this.tooltip.style.overflow = 'visible';\n this.tooltip.textContent = '';\n this.overlay.style.display = 'block';\n this.overlay.style.position = 'static';\n }\n\n #onOverlayReady() {\n this.#initTooltipTextComponent();\n this.#overrideAttachOverlay();\n\n forwardAttrs(this, this.tooltip, {\n includeAttrs: ['position', 'opened'],\n });\n\n this.#handleTooltipVisibility();\n }\n\n #setTooltipTarget() {\n if (!this.children?.length) return;\n\n let ele = Array.from(this.children).find(\n (child) => child !== this.tooltip,\n );\n\n if (!ele) return;\n\n this.tooltip.target = ele;\n }\n\n #clearOverlayContentNode() {\n this.overlayContentNode.innerHTML = '';\n }\n\n #createEnrichedTextComponent() {\n const enrichedText = document.createElement('descope-enriched-text');\n\n enrichedText.setAttribute('link-target-blank', 'true');\n enrichedText.textContent = this.tooltipText;\n\n return enrichedText;\n }\n\n #initTooltipTextComponent() {\n if (!this.overlayContentNode) return;\n\n setTimeout(() => {\n this.#clearOverlayContentNode();\n\n this.textComponent = this.#createEnrichedTextComponent();\n\n this.overlayContentNode.appendChild(this.textComponent);\n\n forwardAttrs(this, this.textComponent, {\n includeAttrs: ['readonly'],\n });\n });\n }\n\n // the default vaadin behavior is to attach the overlay to the body when opened\n // we do not want that because it's difficult to style the overlay in this way\n // so we override it to open inside the shadow DOM\n #overrideAttachOverlay() {\n if (!this.overlay) return;\n\n if (this.isOpened) {\n // When `opened` attr is used, vaadin doesn't execute `_attachOverlay`,\n // and the overlay element is rendered outside the component, on the top\n // level. We need to move it back to the local component's DOM.\n setTimeout(() => {\n this.tooltip.shadowRoot.appendChild(this.overlay);\n this.#handleStaticDisplay();\n });\n } else {\n this.overlay._detachOverlay = () => {};\n\n this.overlay._attachOverlay = () =>\n this.tooltip.shadowRoot.appendChild(this.overlay);\n }\n }\n\n #handleTooltipVisibility() {\n // This is Vaadin's API for manual control of tooltip visibility\n this.tooltip?.toggleAttribute('manual', this.isOpened);\n }\n\n #updateText(value) {\n if (!this.textComponent) return;\n this.textComponent.textContent = value?.trim();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'text') {\n this.#updateText(newValue);\n }\n\n if (attrName === 'opened') {\n this.#handleTooltipVisibility(attrName, newValue)\n }\n }\n }\n}\n\nconst { overlay, content } = {\n overlay: { selector: () => 'vaadin-tooltip-overlay::part(overlay)' },\n content: { selector: () => 'vaadin-tooltip-overlay::part(content)' },\n};\n\n/**\n * This component has no Shadow DOM of its own, so we can't add styles to it\n * (otherwise it would affect the rest of the DOM).\n * Note that all styles are within PortalMixin.\n */\nexport const TooltipClass = compose(\n componentNameValidationMixin,\n portalMixin({\n selector: '',\n mappings: {\n fontFamily: {\n ...content,\n property: EnrichedTextClass.cssVarList.fontFamilyOverride,\n },\n fontSize: {\n ...content,\n property: EnrichedTextClass.cssVarList.fontSizeOverride,\n },\n fontWeight: {\n ...content,\n property: EnrichedTextClass.cssVarList.fontWeightOverride,\n },\n textColor: {\n ...content,\n property: EnrichedTextClass.cssVarList.textColorOverride,\n },\n hostDirection: {\n ...content,\n property: EnrichedTextClass.cssVarList.hostDirectionOverride,\n },\n backgroundColor: [{ ...overlay }, { ...content }],\n borderColor: { ...overlay },\n borderStyle: { ...overlay },\n borderWidth: { ...overlay },\n borderRadius: { ...overlay },\n boxShadow: { ...overlay },\n horizontalPadding: [\n { ...content, property: 'padding-left' },\n { ...content, property: 'padding-right' },\n ],\n verticalPadding: [\n { ...content, property: 'padding-top' },\n { ...content, property: 'padding-bottom' },\n ],\n },\n forward: {\n attributes: ['style'],\n include: false,\n },\n }),\n)(RawTooltip);\n","import '@descope-ui/descope-enriched-text';\nimport '@vaadin/tooltip';\nimport { componentName, TooltipClass } from './TooltipClass';\n\ncustomElements.define(componentName, TooltipClass);\n\nexport { TooltipClass, componentName };\n","export const decodeHTML = (html) => {\n const textArea = document.createElement('textarea');\n textArea.innerHTML = html;\n return textArea.value;\n};\n","import '@descope-ui/descope-link';\n\nimport { componentName, EnrichedTextClass } from './EnrichedTextClass';\n\ncustomElements.define(componentName, EnrichedTextClass);\n\nexport { EnrichedTextClass, componentName };\n","import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass, 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\nconst { host } = {\n host: { selector: () => ':host' }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n textColor: [\n { property: 'color' }\n ],\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 {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n forwardAttrs,\n injectStyle,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { TextClass } from '@descope-ui/descope-text/class';\n\nexport const componentName = getComponentName('link');\n\nclass RawLink extends createBaseClass({ componentName, baseSelector: ':host a' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<div>\n\t\t\t<descope-text part=\"wrapper\">\n\t\t\t\t<a>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</a>\n\t\t\t</descope-text>\n\t\t</div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n\t\t\tdisplay: inline-block;\n line-height: 1em;\n\t\t}\n\t\t:host a {\n\t\t\tdisplay: inline;\n\t\t}\n\n :host([ellipsis=\"true\"]) descope-text {\n display: inline-flex;\n }\n :host([ellipsis=\"true\"]) descope-text::part(text-wrapper) {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n `,\n this\n );\n\n forwardAttrs(this, this.shadowRoot.querySelector('a'), {\n includeAttrs: ['href', 'target', 'tooltip'],\n mapAttrs: {\n tooltip: 'title',\n },\n });\n\n forwardAttrs(this, this.shadowRoot.querySelector('descope-text'), {\n includeAttrs: ['mode', 'variant'],\n });\n }\n}\n\nconst selectors = {\n host: { selector: () => ':host' },\n link: { selector: () => ':host a' },\n anchor: {},\n wrapper: { selector: () => ':host > div' },\n text: { selector: () => TextClass.componentName },\n};\n\nconst { anchor, text, host, wrapper, link } = selectors;\n\nexport const LinkClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...text, property: 'direction' },\n textAlign: wrapper,\n textDecoration: { ...link, property: 'text-decoration', fallback: 'none' },\n textColor: [\n { ...anchor, property: 'color' },\n { ...text, property: TextClass.cssVarList.textColor },\n ],\n cursor: anchor,\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawLink);\n","import { componentName, LinkClass } from './LinkClass';\nimport '@descope-ui/descope-text';\n\ncustomElements.define(componentName, LinkClass);\n\nexport { LinkClass, componentName };\n","/* eslint-disable no-param-reassign */\n\nimport MarkdownIt from 'markdown-it';\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport { disableRules } from './consts';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { decodeHTML } from './helpers';\nimport { getComponentName, injectStyle, observeChildren } 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 // Stop propagation on link clicks to prevent parent handlers from firing\n this.contentNode?.addEventListener('click', (e) => {\n if (e.target instanceof HTMLAnchorElement) {\n e.stopPropagation();\n }\n });\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 this.contentNode.firstChild?.setAttribute('part', 'content');\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"],"names":["disableRules","componentName","tooltipAttrs","BaseClass","baseSelector","overlay","content","selector","TooltipClass","mappings","fontFamily","property","EnrichedTextClass","cssVarList","fontFamilyOverride","fontSize","fontSizeOverride","fontWeight","fontWeightOverride","textColor","textColorOverride","hostDirection","hostDirectionOverride","backgroundColor","borderColor","borderStyle","borderWidth","borderRadius","boxShadow","horizontalPadding","verticalPadding","forward","attributes","include","observedAttributes","concat","isOpened","this","getAttribute","tooltip","_overlayElement","overlayContentNode","shadowRoot","querySelector","tooltipText","trim","isStaticDisplay","setAttribute","removeAttribute","init","super","style","display","insertAdjacentHTML","setTimeout","width","height","overflow","position","textContent","includeAttrs","children","length","ele","Array","from","find","child","target","innerHTML","enrichedText","document","createElement","textComponent","appendChild","_detachOverlay","_attachOverlay","toggleAttribute","value","attributeChangedCallback","attrName","oldValue","newValue","customElements","define","decodeHTML","html","textArea","RawText","constructor","attachShadow","mode","hideWhenEmpty","hasChildren","childNodes","host","TextClass","hostWidth","textLineHeight","textLetterSpacing","textShadow","textAlign","textTransform","fontStyle","RawLink","mapAttrs","selectors","link","anchor","wrapper","text","LinkClass","textDecoration","fallback","cursor","EnrichedText","bind","contentNode","addEventListener","e","HTMLAnchorElement","stopPropagation","onReadOnlyChange","customUnderlineRenderer","processor","renderer","rules","em_open","tokens","idx","options","env","self","markup","tag","em_close","linkTargetBlank","link_open","attrSet","disable","_","renderToken","isConnected","parse","references","undefined","render","breaks","console","warn","firstChild","isReadOnly","hostDisplay","fontWeightBold","linkColor","linkTextDecoration","linkHoverTextDecoration","minHeight","minWidth","componentNameOverride"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"descope-tooltip.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/dom-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/unique-id-utils.js","webpack://@descope/web-components-ui/../components/descope-enriched-text/src/component/consts.js","webpack://@descope/web-components-ui/../components/descope-tooltip/src/component/TooltipClass.js","webpack://@descope/web-components-ui/../components/descope-tooltip/src/component/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/slot-controller.js","webpack://@descope/web-components-ui/../components/descope-enriched-text/src/component/helpers.js","webpack://@descope/web-components-ui/../components/descope-enriched-text/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/slot-observer.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/TextClass.js","webpack://@descope/web-components-ui/../components/descope-link/src/component/LinkClass.js","webpack://@descope/web-components-ui/../components/descope-link/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-enriched-text/src/component/EnrichedTextClass.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Returns an array of ancestor root nodes for the given node.\n *\n * A root node is either a document node or a document fragment node (Shadow Root).\n * The array is collected by a bottom-up DOM traversing that starts with the given node\n * and involves both the light DOM and ancestor shadow DOM trees.\n *\n * @param {Node} node\n * @return {Node[]}\n */\nexport function getAncestorRootNodes(node) {\n const result = [];\n\n while (node) {\n if (node.nodeType === Node.DOCUMENT_NODE) {\n result.push(node);\n break;\n }\n\n if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n result.push(node);\n node = node.host;\n continue;\n }\n\n if (node.assignedSlot) {\n node = node.assignedSlot;\n continue;\n }\n\n node = node.parentNode;\n }\n\n return result;\n}\n\n/**\n * Returns the list of flattened elements for the given `node`.\n * This list consists of a node's children and, for any children that are\n * `<slot>` elements, the expanded flattened list of `assignedElements`.\n *\n * @param {Node} node\n * @return {Element[]}\n */\nexport function getFlattenedElements(node) {\n const result = [];\n let elements;\n if (node.localName === 'slot') {\n elements = node.assignedElements();\n } else {\n result.push(node);\n elements = [...node.children];\n }\n elements.forEach((elem) => result.push(...getFlattenedElements(elem)));\n return result;\n}\n\n/**\n * Traverses the given node and its parents, including those that are across\n * the shadow root boundaries, until it finds a node that matches the selector.\n *\n * @param {string} selector The CSS selector to match against\n * @param {Node} node The starting node for the traversal\n * @return {Node | null} The closest matching element, or null if no match is found\n */\nexport function getClosestElement(selector, node) {\n if (!node) {\n return null;\n }\n\n return node.closest(selector) || getClosestElement(selector, node.getRootNode().host);\n}\n\n/**\n * Takes a string with values separated by space and returns a set the values\n *\n * @param {string} value\n * @return {Set<string>}\n */\nexport function deserializeAttributeValue(value) {\n if (!value) {\n return new Set();\n }\n\n return new Set(value.split(' '));\n}\n\n/**\n * Takes a set of string values and returns a string with values separated by space\n *\n * @param {Set<string>} values\n * @return {string}\n */\nexport function serializeAttributeValue(values) {\n return values ? [...values].join(' ') : '';\n}\n\n/**\n * Adds a value to an attribute containing space-delimited values.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function addValueToAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.add(value);\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Removes a value from an attribute containing space-delimited values.\n * If the value is the last one, the whole attribute is removed.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function removeValueFromAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.delete(value);\n if (values.size === 0) {\n element.removeAttribute(attr);\n return;\n }\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Returns true if the given node is an empty text node, false otherwise.\n *\n * @param {Node} node\n * @return {boolean}\n */\nexport function isEmptyTextNode(node) {\n return node.nodeType === Node.TEXT_NODE && node.textContent.trim() === '';\n}\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\nlet uniqueId = 0;\n\n/**\n * Resets the unique id counter.\n *\n * @return {void}\n */\nexport function resetUniqueId() {\n uniqueId = 0;\n}\n\n/**\n * Returns a unique integer id.\n *\n * @return {number}\n */\nexport function generateUniqueId() {\n // eslint-disable-next-line no-plusplus\n return uniqueId++;\n}\n","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","import {\n componentNameValidationMixin,\n portalMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n forwardAttrs,\n getComponentName,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { EnrichedTextClass } from '@descope-ui/descope-enriched-text/class';\n\nexport const componentName = getComponentName('tooltip');\n\nconst tooltipAttrs = [\n 'text',\n 'position',\n 'hide-delay',\n 'hover-delay',\n 'opened',\n];\n\nconst BaseClass = createBaseClass({\n componentName,\n baseSelector: 'vaadin-tooltip',\n});\n\nclass RawTooltip extends BaseClass {\n static get observedAttributes() {\n return tooltipAttrs.concat(BaseClass.observedAttributes || []);\n }\n\n get isOpened() {\n return this.getAttribute('opened') === 'true';\n }\n\n get overlay() {\n return this.tooltip?._overlayElement;\n }\n\n get overlayContentNode() {\n return this.overlay?.shadowRoot.querySelector('[part=\"content\"]');\n }\n\n get tooltipText() {\n return this.getAttribute('text')?.trim() || '';\n }\n\n get isStaticDisplay() {\n return this.getAttribute('static-display') === 'true';\n }\n\n // We use `static-display` for presentation purposes, to show the tooltip content.\n // This should be used only when `opened` is `true`. Once `static-display` is set,\n // the overlay would become a `static` element, and will have layout in the presenting page.\n // This is mainly aimed to solve the presentation problem on our Styles Page in the Console.\n #handleStaticDisplay() {\n if (this.isStaticDisplay) {\n this.#revealWrappedParts();\n this.setAttribute('inert', 'true');\n } else {\n this.#hideWrappedParts();\n this.removeAttribute('inert');\n }\n }\n\n init() {\n super.init();\n\n // Create the vaadin-tooltip here instead of constructor (for React compatibility)\n this.style.display = 'contents';\n this.insertAdjacentHTML('beforeend', '<vaadin-tooltip></vaadin-tooltip>');\n this.tooltip = this.querySelector('vaadin-tooltip');\n\n this.#hideWrappedParts();\n\n this.#setTooltipTarget();\n\n setTimeout(() => this.#onOverlayReady());\n }\n\n #hideWrappedParts() {\n this.tooltip.style.width = '0';\n this.tooltip.style.height = '0';\n this.tooltip.style.display = 'block';\n this.tooltip.style.overflow = 'hidden';\n this.tooltip.style.position = 'absolute';\n }\n \n #revealWrappedParts() {\n this.tooltip.style.width = '100%';\n this.tooltip.style.height = '100%';\n this.tooltip.style.position = 'static';\n this.tooltip.style.overflow = 'visible';\n this.tooltip.textContent = '';\n this.overlay.style.display = 'block';\n this.overlay.style.position = 'static';\n }\n\n #onOverlayReady() {\n this.#initTooltipTextComponent();\n this.#overrideAttachOverlay();\n\n forwardAttrs(this, this.tooltip, {\n includeAttrs: ['position', 'opened'],\n });\n\n this.#handleTooltipVisibility();\n }\n\n #setTooltipTarget() {\n if (!this.children?.length) return;\n\n let ele = Array.from(this.children).find(\n (child) => child !== this.tooltip,\n );\n\n if (!ele) return;\n\n this.tooltip.target = ele;\n }\n\n #clearOverlayContentNode() {\n this.overlayContentNode.innerHTML = '';\n }\n\n #createEnrichedTextComponent() {\n const enrichedText = document.createElement('descope-enriched-text');\n\n enrichedText.setAttribute('link-target-blank', 'true');\n enrichedText.textContent = this.tooltipText;\n\n return enrichedText;\n }\n\n #initTooltipTextComponent() {\n if (!this.overlayContentNode) return;\n\n setTimeout(() => {\n this.#clearOverlayContentNode();\n\n this.textComponent = this.#createEnrichedTextComponent();\n\n this.overlayContentNode.appendChild(this.textComponent);\n\n forwardAttrs(this, this.textComponent, {\n includeAttrs: ['readonly'],\n });\n });\n }\n\n // the default vaadin behavior is to attach the overlay to the body when opened\n // we do not want that because it's difficult to style the overlay in this way\n // so we override it to open inside the shadow DOM\n #overrideAttachOverlay() {\n if (!this.overlay) return;\n\n if (this.isOpened) {\n // When `opened` attr is used, vaadin doesn't execute `_attachOverlay`,\n // and the overlay element is rendered outside the component, on the top\n // level. We need to move it back to the local component's DOM.\n setTimeout(() => {\n this.tooltip.shadowRoot.appendChild(this.overlay);\n this.#handleStaticDisplay();\n });\n } else {\n this.overlay._detachOverlay = () => {};\n\n this.overlay._attachOverlay = () =>\n this.tooltip.shadowRoot.appendChild(this.overlay);\n }\n }\n\n #handleTooltipVisibility() {\n // This is Vaadin's API for manual control of tooltip visibility\n this.tooltip?.toggleAttribute('manual', this.isOpened);\n }\n\n #updateText(value) {\n if (!this.textComponent) return;\n this.textComponent.textContent = value?.trim();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'text') {\n this.#updateText(newValue);\n }\n\n if (attrName === 'opened') {\n this.#handleTooltipVisibility(attrName, newValue)\n }\n }\n }\n}\n\nconst { overlay, content } = {\n overlay: { selector: () => 'vaadin-tooltip-overlay::part(overlay)' },\n content: { selector: () => 'vaadin-tooltip-overlay::part(content)' },\n};\n\n/**\n * This component has no Shadow DOM of its own, so we can't add styles to it\n * (otherwise it would affect the rest of the DOM).\n * Note that all styles are within PortalMixin.\n */\nexport const TooltipClass = compose(\n componentNameValidationMixin,\n portalMixin({\n selector: '',\n mappings: {\n fontFamily: {\n ...content,\n property: EnrichedTextClass.cssVarList.fontFamilyOverride,\n },\n fontSize: {\n ...content,\n property: EnrichedTextClass.cssVarList.fontSizeOverride,\n },\n fontWeight: {\n ...content,\n property: EnrichedTextClass.cssVarList.fontWeightOverride,\n },\n textColor: {\n ...content,\n property: EnrichedTextClass.cssVarList.textColorOverride,\n },\n hostDirection: {\n ...content,\n property: EnrichedTextClass.cssVarList.hostDirectionOverride,\n },\n backgroundColor: [{ ...overlay }, { ...content }],\n borderColor: { ...overlay },\n borderStyle: { ...overlay },\n borderWidth: { ...overlay },\n borderRadius: { ...overlay },\n boxShadow: { ...overlay },\n horizontalPadding: [\n { ...content, property: 'padding-left' },\n { ...content, property: 'padding-right' },\n ],\n verticalPadding: [\n { ...content, property: 'padding-top' },\n { ...content, property: 'padding-bottom' },\n ],\n },\n forward: {\n attributes: ['style'],\n include: false,\n },\n }),\n)(RawTooltip);\n","import '@descope-ui/descope-enriched-text';\nimport '@vaadin/tooltip';\nimport { componentName, TooltipClass } from './TooltipClass';\n\ncustomElements.define(componentName, TooltipClass);\n\nexport { TooltipClass, componentName };\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { isEmptyTextNode } from './dom-utils.js';\nimport { SlotObserver } from './slot-observer.js';\nimport { generateUniqueId } from './unique-id-utils.js';\n\n/**\n * A controller for providing content to slot element and observing changes.\n */\nexport class SlotController extends EventTarget {\n /**\n * Ensure that every instance has unique ID.\n *\n * @param {HTMLElement} host\n * @param {string} slotName\n * @return {string}\n * @protected\n */\n static generateId(host, slotName) {\n const prefix = slotName || 'default';\n return `${prefix}-${host.localName}-${generateUniqueId()}`;\n }\n\n constructor(host, slotName, tagName, config = {}) {\n super();\n\n const { initializer, multiple, observe, useUniqueId } = config;\n\n this.host = host;\n this.slotName = slotName;\n this.tagName = tagName;\n this.observe = typeof observe === 'boolean' ? observe : true;\n this.multiple = typeof multiple === 'boolean' ? multiple : false;\n this.slotInitializer = initializer;\n\n if (multiple) {\n this.nodes = [];\n }\n\n // Only generate the default ID if requested by the controller.\n if (useUniqueId) {\n this.defaultId = this.constructor.generateId(host, slotName);\n }\n }\n\n hostConnected() {\n if (!this.initialized) {\n if (this.multiple) {\n this.initMultiple();\n } else {\n this.initSingle();\n }\n\n if (this.observe) {\n this.observeSlot();\n }\n\n this.initialized = true;\n }\n }\n\n /** @protected */\n initSingle() {\n let node = this.getSlotChild();\n\n if (!node) {\n node = this.attachDefaultNode();\n this.initNode(node);\n } else {\n this.node = node;\n this.initAddedNode(node);\n }\n }\n\n /** @protected */\n initMultiple() {\n const children = this.getSlotChildren();\n\n if (children.length === 0) {\n const defaultNode = this.attachDefaultNode();\n if (defaultNode) {\n this.nodes = [defaultNode];\n this.initNode(defaultNode);\n }\n } else {\n this.nodes = children;\n children.forEach((node) => {\n this.initAddedNode(node);\n });\n }\n }\n\n /**\n * Create and attach default node using the provided tag name, if any.\n * @return {Node | undefined}\n * @protected\n */\n attachDefaultNode() {\n const { host, slotName, tagName } = this;\n\n // Check if the node was created previously and if so, reuse it.\n let node = this.defaultNode;\n\n // Tag name is optional, sometimes we don't init default content.\n if (!node && tagName) {\n node = document.createElement(tagName);\n if (node instanceof Element) {\n if (slotName !== '') {\n node.setAttribute('slot', slotName);\n }\n this.defaultNode = node;\n }\n }\n\n if (node) {\n this.node = node;\n host.appendChild(node);\n }\n\n return node;\n }\n\n /**\n * Return the list of nodes matching the slot managed by the controller.\n * @return {Node}\n */\n getSlotChildren() {\n const { slotName } = this;\n return Array.from(this.host.childNodes).filter((node) => {\n // Either an element (any slot) or a text node (only un-named slot).\n return (\n (node.nodeType === Node.ELEMENT_NODE && node.slot === slotName) ||\n (node.nodeType === Node.TEXT_NODE && node.textContent.trim() && slotName === '')\n );\n });\n }\n\n /**\n * Return a reference to the node managed by the controller.\n * @return {Node}\n */\n getSlotChild() {\n return this.getSlotChildren()[0];\n }\n\n /**\n * Run `slotInitializer` for the node managed by the controller.\n *\n * @param {Node} node\n * @protected\n */\n initNode(node) {\n const { slotInitializer } = this;\n // Don't try to bind `this` to initializer (normally it's arrow function).\n // Instead, pass the host as a first argument to access component's state.\n if (slotInitializer) {\n slotInitializer(node, this.host);\n }\n }\n\n /**\n * Override to initialize the newly added custom node.\n *\n * @param {Node} _node\n * @protected\n */\n initCustomNode(_node) {}\n\n /**\n * Override to teardown slotted node when it's removed.\n *\n * @param {Node} _node\n * @protected\n */\n teardownNode(_node) {}\n\n /**\n * Run both `initCustomNode` and `initNode` for a custom slotted node.\n *\n * @param {Node} node\n * @protected\n */\n initAddedNode(node) {\n if (node !== this.defaultNode) {\n this.initCustomNode(node);\n this.initNode(node);\n }\n }\n\n /**\n * Setup the observer to manage slot content changes.\n * @protected\n */\n observeSlot() {\n const { slotName } = this;\n const selector = slotName === '' ? 'slot:not([name])' : `slot[name=${slotName}]`;\n const slot = this.host.shadowRoot.querySelector(selector);\n\n this.__slotObserver = new SlotObserver(slot, ({ addedNodes, removedNodes }) => {\n const current = this.multiple ? this.nodes : [this.node];\n\n // Calling `slot.assignedNodes()` includes whitespace text nodes in case of default slot:\n // unlike comment nodes, they are not filtered out. So we need to manually ignore them.\n const newNodes = addedNodes.filter((node) => !isEmptyTextNode(node) && !current.includes(node));\n\n if (removedNodes.length) {\n this.nodes = current.filter((node) => !removedNodes.includes(node));\n\n removedNodes.forEach((node) => {\n this.teardownNode(node);\n });\n }\n\n if (newNodes && newNodes.length > 0) {\n if (this.multiple) {\n // Remove default node if exists\n if (this.defaultNode) {\n this.defaultNode.remove();\n }\n this.nodes = [...current, ...newNodes].filter((node) => node !== this.defaultNode);\n newNodes.forEach((node) => {\n this.initAddedNode(node);\n });\n } else {\n // Remove previous node if exists\n if (this.node) {\n this.node.remove();\n }\n this.node = newNodes[0];\n this.initAddedNode(this.node);\n }\n }\n });\n }\n}\n","export const decodeHTML = (html) => {\n const textArea = document.createElement('textarea');\n textArea.innerHTML = html;\n return textArea.value;\n};\n","import '@descope-ui/descope-link';\n\nimport { componentName, EnrichedTextClass } from './EnrichedTextClass';\n\ncustomElements.define(componentName, EnrichedTextClass);\n\nexport { EnrichedTextClass, componentName };\n","import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass, componentName };\n","/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * A helper for observing slot changes.\n */\nexport class SlotObserver {\n constructor(slot, callback) {\n /** @type HTMLSlotElement */\n this.slot = slot;\n\n /** @type Function */\n this.callback = callback;\n\n /** @type {Node[]} */\n this._storedNodes = [];\n\n this._connected = false;\n this._scheduled = false;\n\n this._boundSchedule = () => {\n this._schedule();\n };\n\n this.connect();\n this._schedule();\n }\n\n /**\n * Activates an observer. This method is automatically called when\n * a `SlotObserver` is created. It should only be called to re-activate\n * an observer that has been deactivated via the `disconnect` method.\n */\n connect() {\n this.slot.addEventListener('slotchange', this._boundSchedule);\n this._connected = true;\n }\n\n /**\n * Deactivates the observer. After calling this method the observer callback\n * will not be called when changes to slotted nodes occur. The `connect` method\n * may be subsequently called to reactivate the observer.\n */\n disconnect() {\n this.slot.removeEventListener('slotchange', this._boundSchedule);\n this._connected = false;\n }\n\n /** @private */\n _schedule() {\n if (!this._scheduled) {\n this._scheduled = true;\n\n queueMicrotask(() => {\n this.flush();\n });\n }\n }\n\n /**\n * Run the observer callback synchronously.\n */\n flush() {\n if (!this._connected) {\n return;\n }\n\n this._scheduled = false;\n\n this._processNodes();\n }\n\n /** @private */\n _processNodes() {\n const currentNodes = this.slot.assignedNodes({ flatten: true });\n\n let addedNodes = [];\n const removedNodes = [];\n const movedNodes = [];\n\n if (currentNodes.length) {\n addedNodes = currentNodes.filter((node) => !this._storedNodes.includes(node));\n }\n\n if (this._storedNodes.length) {\n this._storedNodes.forEach((node, index) => {\n const idx = currentNodes.indexOf(node);\n if (idx === -1) {\n removedNodes.push(node);\n } else if (idx !== index) {\n movedNodes.push(node);\n }\n });\n }\n\n if (addedNodes.length || removedNodes.length || movedNodes.length) {\n this.callback({ addedNodes, movedNodes, removedNodes });\n }\n\n this._storedNodes = currentNodes;\n }\n}\n","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\nconst { host } = {\n host: { selector: () => ':host' }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n textColor: [\n { property: 'color' }\n ],\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 {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n forwardAttrs,\n injectStyle,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { TextClass } from '@descope-ui/descope-text/class';\n\nexport const componentName = getComponentName('link');\n\nclass RawLink extends createBaseClass({ componentName, baseSelector: ':host a' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<div>\n\t\t\t<descope-text part=\"wrapper\">\n\t\t\t\t<a>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</a>\n\t\t\t</descope-text>\n\t\t</div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n\t\t\tdisplay: inline-block;\n line-height: 1em;\n\t\t}\n\t\t:host a {\n\t\t\tdisplay: inline;\n\t\t}\n\n :host([ellipsis=\"true\"]) descope-text {\n display: inline-flex;\n }\n :host([ellipsis=\"true\"]) descope-text::part(text-wrapper) {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n `,\n this\n );\n\n forwardAttrs(this, this.shadowRoot.querySelector('a'), {\n includeAttrs: ['href', 'target', 'tooltip'],\n mapAttrs: {\n tooltip: 'title',\n },\n });\n\n forwardAttrs(this, this.shadowRoot.querySelector('descope-text'), {\n includeAttrs: ['mode', 'variant'],\n });\n }\n}\n\nconst selectors = {\n host: { selector: () => ':host' },\n link: { selector: () => ':host a' },\n anchor: {},\n wrapper: { selector: () => ':host > div' },\n text: { selector: () => TextClass.componentName },\n};\n\nconst { anchor, text, host, wrapper, link } = selectors;\n\nexport const LinkClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...text, property: 'direction' },\n textAlign: wrapper,\n textDecoration: { ...link, property: 'text-decoration', fallback: 'none' },\n textColor: [\n { ...anchor, property: 'color' },\n { ...text, property: TextClass.cssVarList.textColor },\n ],\n cursor: anchor,\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawLink);\n","import { componentName, LinkClass } from './LinkClass';\nimport '@descope-ui/descope-text';\n\ncustomElements.define(componentName, LinkClass);\n\nexport { LinkClass, componentName };\n","/* eslint-disable no-param-reassign */\n\nimport MarkdownIt from 'markdown-it';\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport { disableRules } from './consts';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { decodeHTML } from './helpers';\nimport { getComponentName, injectStyle, observeChildren } 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 // Stop propagation on link clicks to prevent parent handlers from firing\n this.contentNode?.addEventListener('click', (e) => {\n if (e.target instanceof HTMLAnchorElement) {\n e.stopPropagation();\n }\n });\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 this.contentNode.firstChild?.setAttribute('part', 'content');\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"],"names":["getAncestorRootNodes","node","result","nodeType","Node","DOCUMENT_NODE","push","DOCUMENT_FRAGMENT_NODE","assignedSlot","parentNode","host","getFlattenedElements","elements","localName","assignedElements","children","forEach","elem","getClosestElement","selector","closest","getRootNode","deserializeAttributeValue","value","Set","split","serializeAttributeValue","values","join","addValueToAttribute","element","attr","getAttribute","add","setAttribute","removeValueFromAttribute","delete","size","removeAttribute","isEmptyTextNode","TEXT_NODE","textContent","trim","uniqueId","generateUniqueId","disableRules","componentName","tooltipAttrs","BaseClass","baseSelector","overlay","content","TooltipClass","mappings","fontFamily","property","EnrichedTextClass","cssVarList","fontFamilyOverride","fontSize","fontSizeOverride","fontWeight","fontWeightOverride","textColor","textColorOverride","hostDirection","hostDirectionOverride","backgroundColor","borderColor","borderStyle","borderWidth","borderRadius","boxShadow","horizontalPadding","verticalPadding","forward","attributes","include","observedAttributes","concat","isOpened","this","tooltip","_overlayElement","overlayContentNode","shadowRoot","querySelector","tooltipText","isStaticDisplay","init","super","style","display","insertAdjacentHTML","setTimeout","width","height","overflow","position","includeAttrs","length","ele","Array","from","find","child","target","innerHTML","enrichedText","document","createElement","textComponent","appendChild","_detachOverlay","_attachOverlay","toggleAttribute","attributeChangedCallback","attrName","oldValue","newValue","customElements","define","SlotController","EventTarget","generateId","slotName","constructor","tagName","config","initializer","multiple","observe","useUniqueId","slotInitializer","nodes","defaultId","hostConnected","initialized","initMultiple","initSingle","observeSlot","getSlotChild","initAddedNode","attachDefaultNode","initNode","getSlotChildren","defaultNode","Element","childNodes","filter","ELEMENT_NODE","slot","initCustomNode","_node","teardownNode","__slotObserver","addedNodes","removedNodes","current","newNodes","includes","remove","decodeHTML","html","textArea","SlotObserver","callback","_storedNodes","_connected","_scheduled","_boundSchedule","_schedule","connect","addEventListener","disconnect","removeEventListener","queueMicrotask","flush","_processNodes","currentNodes","assignedNodes","flatten","movedNodes","index","idx","indexOf","RawText","attachShadow","mode","hideWhenEmpty","hasChildren","TextClass","hostWidth","textLineHeight","textLetterSpacing","textShadow","textAlign","textTransform","fontStyle","RawLink","mapAttrs","selectors","link","anchor","wrapper","text","LinkClass","textDecoration","fallback","cursor","EnrichedText","bind","contentNode","e","HTMLAnchorElement","stopPropagation","onReadOnlyChange","customUnderlineRenderer","processor","renderer","rules","em_open","tokens","options","env","self","markup","tag","em_close","linkTargetBlank","link_open","attrSet","disable","_","renderToken","isConnected","parse","references","undefined","render","breaks","console","warn","firstChild","isReadOnly","hostDisplay","fontWeightBold","linkColor","linkTextDecoration","linkHoverTextDecoration","minHeight","minWidth","componentNameOverride"],"sourceRoot":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*! For license information please see descope-upload-file-index-js.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[5087,9636],{3393:(t,e,o)=>{o.d(e,{y:()=>a});var r=o(9696),i=o(79365),n=o(81365);const a=(...t)=>(0,r.Zz)(i.XX,i._$,i.yF,i.jd)((0,n.q)(...t))},8512:(t,e,o)=>{o.d(e,{T:()=>l,q:()=>u});var r=o(88961),i=o(72270),n=o(63200),a=o(25964),s=o(18782);const l=(0,a.xE)("image"),d=["src","src-dark"];class c extends((0,i.qu)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return d}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,a.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.getSrc)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get getSrc(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach(t=>{t.setAttribute("fill",`var(${u.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)})}renderImage(){this.toggleVisibility(this.getSrc),(0,s.m)(this.getSrc,this.altText).then(t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))})}shouldRender(t){const e=this.getAttribute(t);return this.getSrc===e}attributeChangedCallback(t,e,o){super.attributeChangedCallback?.(t,e,o),e!==o&&this.shouldRender(t)&&this.renderImage()}}const u=(0,n.Zz)((0,r.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),r.VO,r.tQ)(c)},10767:(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()}}},18782:(t,e,o)=>{o.d(e,{m:()=>n});var r=o(25414);const i=t=>{const e=r.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},n=async(t,e)=>{try{let o;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));o=i(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),r=await e.text();o=i(r)}else o=((t,e)=>{const o=document.createElement("img");return o.setAttribute("src",t),o.setAttribute("alt",e),o})(t,e);return o.style.setProperty("max-width","100%"),o.style.setProperty("max-height","100%"),o}catch{return null}}},19624:(t,e,o)=>{o.d(e,{J:()=>p,T:()=>l});var r=o(63200),i=o(25964),n=o(88961),a=o(98538),s=o(10767);const l=(0,i.xE)("button"),{host:d,label:c,slottedIcon:u}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let h;const p=(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:[{...u,property:"width"},{...u,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${h}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${p.cssVarList.outlineWidth}) + var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${p.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${p.cssVarList.hostHeight}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${p.cssVarList.hostWidth}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex","class","style"],componentName:l})),{color:b,fontSize:m}=p.cssVarList;h=`\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(${b});\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`},30576:(t,e,o)=>{o.r(e),o.d(e,{ButtonClass:()=>r.J,componentName:()=>r.T});var r=o(19624);o(83799),customElements.define(r.T,r.J)},70139:(t,e,o)=>{o.r(e),o.d(e,{UploadFileClass:()=>f,componentName:()=>d});var r=o(79365),i=o(9696),n=o(97810),a=o(3393),s=o(19624),l=o(25964);const d=(0,n.xE)("upload-file"),c=["title","description","button-label","accept","readonly","button-mode","button-variant","required","size","icon"],u=(0,a.y)({componentName:d,baseSelector:":host > div"}),h=s.J.cssVarList,{host:p,wrapper:b,icon:m,title:g,description:v,requiredIndicator:y}={host:{selector:()=>":host"},wrapper:{selector:()=>":host > div"},icon:{selector:()=>"::slotted(*)"},title:{selector:()=>".title"},description:{selector:()=>".description"},requiredIndicator:{selector:()=>".title::after"}},f=(0,i.Zz)((0,r.RF)({componentNameOverride:(0,n.xE)("input-wrapper")}),(0,r.RF)({mappings:{fontSize:{},fontFamily:{},borderColor:{},borderWidth:{},borderStyle:{},borderRadius:{},hostHeight:{...p,property:"height"},hostWidth:{...p,property:"width"},hostPadding:{property:"padding"},hostDirection:[{...p,property:"direction"},{selector:()=>s.J.componentName,property:h.hostDirection}],gap:{...b},lineHeight:{...b,property:"line-height"},titleFontSize:{...g,property:"font-size"},titleFontWeight:{...g,property:"font-weight"},descriptionFontSize:{...v,property:"font-size"},labelTextColor:[{...g,property:"color"},{...v,property:"color"}],iconSize:{...m,property:"width"},requiredIndicator:{...y,property:"content"}}}),r.VO,r.tQ)(class extends u{static get observedAttributes(){return c.concat(u.observedAttributes||[])}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n\t\t\t<div>\n <slot name="icon"></slot>\n\t\t\t\t<div class="title">\n\t\t\t\t\t<span class="title-text"></span>\n\t\t\t\t</div>\n\t\t\t\t<div class="description"></div>\n\t\t\t\t<div class="button-wrapper">\n\t\t\t\t\t<input type="file" tabindex="-1" aria-labelledby="button"/>\n\t\t\t\t\t<descope-button id="button"></descope-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t',(0,l.fz)("\n :host {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t\t:host > div {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\ttext-align: center;\n\t\t\t\tflex-direction: column;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.button-wrapper {\n\t\t\t\tposition: relative;\n\t\t\t\twidth: fit-content;\n\t\t\t}\n\t\t\tinput {\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\topacity: 0;\n\t\t\t}\n ",this),this.wrapperEle=this.shadowRoot.querySelector(".wrapper"),this.inputElement=this.shadowRoot.querySelector("input"),this.button.onclick=()=>this.inputElement.click(),this.inputElement.onchange=async t=>{const e=t.target.files;var o;e.length&&(this.value=await(o=e[0],new Promise(t=>{const e=new FileReader;e.onload=e=>t(e.target.result),e.readAsDataURL(o)})),this.updateDescription((t=>t.name.replace(/^.*\\/,""))(e[0])))},this.oninvalid=()=>{this.setAttribute("invalid","true")}}getValidity(){return this.isRequired&&!this.input.value?{valueMissing:!0}:(this.removeAttribute("invalid"),{})}initInputs(){this.rootElement.querySelector("descope-button").onclick=()=>this.inputElement.click()}attributeChangedCallback(t,e,o){super.attributeChangedCallback?.(t,e,o),e!==o&&("title"===t?this.updateTitle(o):"description"===t?this.updateDescription(o):"button-label"===t?this.updateButtonLabel(o):"button-mode"===t?this.updateButtonMode(o):"button-variant"===t?this.updateButtonVariant(o):"size"===t?this.updateButtonSize(o):"accept"===t?this.updateInputAccept(o):"readonly"===t&&this.updateReadOnly(o))}get button(){return this.shadowRoot.querySelector("descope-button")}get input(){return this.shadowRoot.querySelector("input")}get title(){return this.shadowRoot.querySelector(".title-text")}get description(){return this.shadowRoot.querySelector(".description")}get icon(){return this.shadowRoot.querySelector(".icon")}updateTitle(t){this.title.textContent=t}updateDescription(t){this.description.textContent=t}updateButtonLabel(t){this.button.textContent=t}updateButtonSize(t){this.button.setAttribute("size",t)}updateButtonMode(t){this.button.setAttribute("mode",t)}updateButtonVariant(t){this.button.setAttribute("variant",t)}updateInputAccept(t){this.input.setAttribute("accept",t)}updateReadOnly(t){"true"===t?this.input.setAttribute("disabled","true"):this.input.removeAttribute("disabled")}});o(30576),customElements.define(d,f)},83799:(t,e,o)=>{o(93555),o(89389)},89389:(t,e,o)=>{o.d(e,{$:()=>b});var r=o(13256),i=o(55774),n=o(82901),a=o(90676),s=o(81488),l=o(87550);const d=o(51450).AH`
|
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[5087,9636],{3393:(t,e,o)=>{o.d(e,{y:()=>a});var r=o(9696),i=o(79365),n=o(81365);const a=(...t)=>(0,r.Zz)(i.XX,i._$,i.yF,i.jd)((0,n.q)(...t))},8512:(t,e,o)=>{o.d(e,{T:()=>l,q:()=>u});var r=o(88961),i=o(72270),n=o(63200),a=o(25964),s=o(18782);const l=(0,a.xE)("image"),d=["src","src-dark"];class c extends((0,i.qu)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return d}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,a.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.getSrc)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get getSrc(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach(t=>{t.setAttribute("fill",`var(${u.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)})}renderImage(){this.toggleVisibility(this.getSrc),(0,s.m)(this.getSrc,this.altText).then(t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))})}shouldRender(t){const e=this.getAttribute(t);return this.getSrc===e}attributeChangedCallback(t,e,o){super.attributeChangedCallback?.(t,e,o),e!==o&&this.shouldRender(t)&&this.renderImage()}}const u=(0,n.Zz)((0,r.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),r.VO,r.tQ)(c)},10767:(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()}}},18782:(t,e,o)=>{o.d(e,{m:()=>n});var r=o(25414);const i=t=>{const e=r.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},n=async(t,e)=>{try{let o;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));o=i(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),r=await e.text();o=i(r)}else o=((t,e)=>{const o=document.createElement("img");return o.setAttribute("src",t),o.setAttribute("alt",e),o})(t,e);return o.style.setProperty("max-width","100%"),o.style.setProperty("max-height","100%"),o}catch{return null}}},19624:(t,e,o)=>{o.d(e,{J:()=>p,T:()=>l});var r=o(63200),i=o(25964),n=o(88961),a=o(98538),s=o(10767);const l=(0,i.xE)("button"),{host:d,label:c,slottedIcon:u}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let h;const p=(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:[{...u,property:"width"},{...u,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${h}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${p.cssVarList.outlineWidth}) + var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${p.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${p.cssVarList.hostHeight}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${p.cssVarList.hostWidth}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex","class","style"],componentName:l})),{color:b,fontSize:m}=p.cssVarList;h=`\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(${b});\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`},30576:(t,e,o)=>{o.r(e),o.d(e,{ButtonClass:()=>r.J,componentName:()=>r.T});var r=o(19624);o(83799),customElements.define(r.T,r.J)},70139:(t,e,o)=>{o.r(e),o.d(e,{UploadFileClass:()=>f,componentName:()=>d});var r=o(79365),i=o(9696),n=o(97810),a=o(3393),s=o(19624),l=o(25964);const d=(0,n.xE)("upload-file"),c=["title","description","button-label","accept","readonly","button-mode","button-variant","required","size","icon"],u=(0,a.y)({componentName:d,baseSelector:":host > div"}),h=s.J.cssVarList,{host:p,wrapper:b,icon:m,title:g,description:v,requiredIndicator:y}={host:{selector:()=>":host"},wrapper:{selector:()=>":host > div"},icon:{selector:()=>"::slotted(*)"},title:{selector:()=>".title"},description:{selector:()=>".description"},requiredIndicator:{selector:()=>".title::after"}},f=(0,i.Zz)((0,r.RF)({componentNameOverride:(0,n.xE)("input-wrapper")}),(0,r.RF)({mappings:{fontSize:{},fontFamily:{},borderColor:{},borderWidth:{},borderStyle:{},borderRadius:{},hostHeight:{...p,property:"height"},hostWidth:{...p,property:"width"},hostPadding:{property:"padding"},hostDirection:[{...p,property:"direction"},{selector:()=>s.J.componentName,property:h.hostDirection}],gap:{...b},lineHeight:{...b,property:"line-height"},titleFontSize:{...g,property:"font-size"},titleFontWeight:{...g,property:"font-weight"},descriptionFontSize:{...v,property:"font-size"},labelTextColor:[{...g,property:"color"},{...v,property:"color"}],iconSize:{...m,property:"width"},requiredIndicator:{...y,property:"content"}}}),r.VO,r.tQ)(class extends u{static get observedAttributes(){return c.concat(u.observedAttributes||[])}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n\t\t\t<div>\n <slot name="icon"></slot>\n\t\t\t\t<div class="title">\n\t\t\t\t\t<span class="title-text"></span>\n\t\t\t\t</div>\n\t\t\t\t<div class="description"></div>\n\t\t\t\t<div class="button-wrapper">\n\t\t\t\t\t<input type="file" tabindex="-1" aria-labelledby="button"/>\n\t\t\t\t\t<descope-button id="button"></descope-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t',(0,l.fz)("\n :host {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t\t:host > div {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\ttext-align: center;\n\t\t\t\tflex-direction: column;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.button-wrapper {\n\t\t\t\tposition: relative;\n\t\t\t\twidth: fit-content;\n\t\t\t}\n\t\t\tinput {\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\topacity: 0;\n\t\t\t}\n ",this),this.wrapperEle=this.shadowRoot.querySelector(".wrapper"),this.inputElement=this.shadowRoot.querySelector("input"),this.button.onclick=()=>this.inputElement.click(),this.inputElement.onchange=async t=>{const e=t.target.files;var o;e.length&&(this.value=await(o=e[0],new Promise(t=>{const e=new FileReader;e.onload=e=>t(e.target.result),e.readAsDataURL(o)})),this.updateDescription((t=>t.name.replace(/^.*\\/,""))(e[0])))},this.oninvalid=()=>{this.setAttribute("invalid","true")}}getValidity(){return this.isRequired&&!this.input.value?{valueMissing:!0}:(this.removeAttribute("invalid"),{})}initInputs(){this.rootElement.querySelector("descope-button").onclick=()=>this.inputElement.click()}attributeChangedCallback(t,e,o){super.attributeChangedCallback?.(t,e,o),e!==o&&("title"===t?this.updateTitle(o):"description"===t?this.updateDescription(o):"button-label"===t?this.updateButtonLabel(o):"button-mode"===t?this.updateButtonMode(o):"button-variant"===t?this.updateButtonVariant(o):"size"===t?this.updateButtonSize(o):"accept"===t?this.updateInputAccept(o):"readonly"===t&&this.updateReadOnly(o))}get button(){return this.shadowRoot.querySelector("descope-button")}get input(){return this.shadowRoot.querySelector("input")}get title(){return this.shadowRoot.querySelector(".title-text")}get description(){return this.shadowRoot.querySelector(".description")}get icon(){return this.shadowRoot.querySelector(".icon")}updateTitle(t){this.title.textContent=t}updateDescription(t){this.description.textContent=t}updateButtonLabel(t){this.button.textContent=t}updateButtonSize(t){this.button.setAttribute("size",t)}updateButtonMode(t){this.button.setAttribute("mode",t)}updateButtonVariant(t){this.button.setAttribute("variant",t)}updateInputAccept(t){this.input.setAttribute("accept",t)}updateReadOnly(t){"true"===t?this.input.setAttribute("disabled","true"):this.input.removeAttribute("disabled")}});o(30576),customElements.define(d,f)},83799:(t,e,o)=>{o(93555),o(89389)},89389:(t,e,o)=>{o.d(e,{$:()=>b});var r=o(13256),i=o(55774),n=o(82901),a=o(72562),s=o(81488),l=o(87550);const d=o(51450).AH`
|
|
3
3
|
:host {
|
|
4
4
|
display: inline-block;
|
|
5
5
|
position: relative;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*! For license information please see descope-user-attribute-index-js.js.LICENSE.txt */
|
|
2
|
-
(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[1202,1578,2294,4188,5087,6724],{8512:(t,e,i)=>{"use strict";i.d(e,{T:()=>l,q:()=>h});var o=i(88961),n=i(72270),r=i(63200),a=i(25964),s=i(18782);const l=(0,a.xE)("image"),d=["src","src-dark"];class c extends((0,n.qu)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return d}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,a.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.getSrc)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get getSrc(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach(t=>{t.setAttribute("fill",`var(${h.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)})}renderImage(){this.toggleVisibility(this.getSrc),(0,s.m)(this.getSrc,this.altText).then(t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))})}shouldRender(t){const e=this.getAttribute(t);return this.getSrc===e}attributeChangedCallback(t,e,i){super.attributeChangedCallback?.(t,e,i),e!==i&&this.shouldRender(t)&&this.renderImage()}}const h=(0,r.Zz)((0,o.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),o.VO,o.tQ)(c)},10767:(t,e,i)=>{"use strict";i.d(e,{G:()=>o});const o=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},11065:(t,e,i)=>{"use strict";i.r(e),i.d(e,{BadgeClass:()=>o.e,componentName:()=>o.T});var o=i(77888);customElements.define(o.T,o.e)},18782:(t,e,i)=>{"use strict";i.d(e,{m:()=>r});var o=i(25414);const n=t=>{const e=o.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},r=async(t,e)=>{try{let i;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));i=n(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),o=await e.text();i=n(o)}else i=((t,e)=>{const i=document.createElement("img");return i.setAttribute("src",t),i.setAttribute("alt",e),i})(t,e);return i.style.setProperty("max-width","100%"),i.style.setProperty("max-height","100%"),i}catch{return null}}},19624:(t,e,i)=>{"use strict";i.d(e,{J:()=>p,T:()=>l});var o=i(63200),n=i(25964),r=i(88961),a=i(98538),s=i(10767);const l=(0,n.xE)("button"),{host:d,label:c,slottedIcon:h}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let u;const p=(0,o.Zz)((0,r.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,r.VO,r.tQ)((0,r.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(${p.cssVarList.outlineWidth}) + var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${p.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${p.cssVarList.hostHeight}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${p.cssVarList.hostWidth}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex","class","style"],componentName:l})),{color:b,fontSize:g}=p.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(${b});\n\t\ttop: calc(50% - (var(${g}) / 2));\n\t\tleft: calc(50% - (var(${g}) / 2));\n\t\tborder-width: calc(var(${g}) / 10);\n\t\twidth: var(${g});\n\t\theight: var(${g});\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`},30576:(t,e,i)=>{"use strict";i.r(e),i.d(e,{ButtonClass:()=>o.J,componentName:()=>o.T});var o=i(19624);i(83799),customElements.define(o.T,o.J)},45554:(t,e,i)=>{"use strict";i.r(e),i.d(e,{UserAttributeClass:()=>T,componentName:()=>g});var o=i(79365),n=i(81365),r=i(9696),a=i(97810),s=i(66434),l=i(19624),d=i(77888),c=i(25964),h=i(76368),u=i.n(h),p=i(65725),b=i.n(p);const g=(0,a.xE)("user-attribute");class m extends((0,n.q)({componentName:g,baseSelector:":host > .root"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <div class="root">\n <descope-text st-text-align="auto" data-id="label-text" variant="body1" mode="secondary" class="label"></descope-text>\n <div class="content-wrapper">\n <descope-text st-text-align="auto" data-id="value-text" variant="body1" mode="primary" class="value"></descope-text>\n <div class="btn-wrapper">\n <descope-badge mode="default" bordered="true" size="xs"></descope-badge>\n <descope-button size="xs" data-id="edit-btn" square="true" variant="link" mode="primary">\n <slot name="edit-icon"></slot>\n </descope-button>\n <descope-button size="xs" data-id="delete-btn" square="true" variant="link" mode="primary">\n <slot name="delete-icon"></slot>\n </descope-button>\n </div>\n </div>\n </div>\n\t\t',(0,c.fz)(`\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n container-type: inline-size;\n\t\t\t\t}\n\n .root {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n }\n \n ::slotted(*) {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n @container (max-width: 529px) {\n .root {\n flex-wrap: wrap;\n }\n }\n\n .btn-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-grow: 0;\n }\n\n .content-wrapper {\n display: flex;\n flex-grow: 1;\n align-items: center;\n }\n\n descope-text::part(text-wrapper) {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n width: initial;\n }\n\n descope-text {\n display: inline-flex;\n max-width: 100%;\n min-width: 0;\n }\n\n .label {\n flex-grow: 1;\n width: 100%;\n }\n\n .value {\n flex-grow: 1;\n }\n\n descope-badge {\n margin-inline-end: 10px;\n }\n\n .hidden {\n visibility: hidden;\n }\n\n descope-text[data-id="label-text"].required:after {\n content: '*';\n color: var(${s.s.cssVarList.textColor});\n }\n\n :host([readonly="true"]) descope-button {\n visibility: hidden;\n }\n `,this),this.deleteButton=this.shadowRoot.querySelector('descope-button[data-id="delete-btn"]'),this.editButton=this.shadowRoot.querySelector('descope-button[data-id="edit-btn"]'),this.badge=this.shadowRoot.querySelector("descope-badge"),this.labelText=this.shadowRoot.querySelector('descope-text[data-id="label-text"]'),this.valueText=this.shadowRoot.querySelector('descope-text[data-id="value-text"]')}onLabelChange(){this.labelText.innerText=this.label,this.labelText.setAttribute("title",this.label)}onValueOrPlaceholderChange(){const t=this.value||this.placeholder,e=this.value?"primary":"secondary";this.valueText.innerText=t,this.valueText.setAttribute("title",t),this.valueText.setAttribute("mode",e)}onBadgeLabelChange(){this.badgeLabel?(this.badge.innerText=this.badgeLabel,this.badge.style.display=""):this.badge.style.display="none"}onBadgeTooltipTextChange(){this.badge.setAttribute("title",this.badgeTooltipText||this.badgeLabel)}onIsRequiredChange(){this.labelText.classList.toggle("required",this.isRequired)}get label(){return this.getAttribute("label")||""}get value(){return this.getAttribute("value")||""}get placeholder(){return this.getAttribute("placeholder")||""}get isRequired(){return"true"===this.getAttribute("required")}get badgeLabel(){return this.getAttribute("badge-label")||""}get badgeTooltipText(){return this.getAttribute("badge-tooltip-text")||""}init(){this.onLabelChange(),this.onValueOrPlaceholderChange(),this.onIsRequiredChange(),this.onBadgeLabelChange(),this.onBadgeTooltipTextChange(),this.handleDeleteButtonVisibility(),this.deleteButton.addEventListener("click",()=>this.dispatchEvent(new CustomEvent("delete-clicked",{bubbles:!0,composed:!0}))),this.editButton.addEventListener("click",()=>this.dispatchEvent(new CustomEvent("edit-clicked",{bubbles:!0,composed:!0}))),this.setDefaultChildren()}#t(t,e){const i=document.createElement("descope-icon");i.setAttribute("src",t),i.setAttribute("src-dark",t),i.setAttribute("slot",e),this.appendChild(i)}setDefaultChildren(){this.children.length||(this.#t(u(),"delete-icon"),this.#t(b(),"edit-icon"))}static get observedAttributes(){return["label","value","placeholder","required","badge-label","badge-tooltip-text"].concat(super.observedAttributes)}handleDeleteButtonVisibility(){this.deleteButton.classList.toggle("hidden",this.isRequired||!this.value)}attributeChangedCallback(t,e,i){super.attributeChangedCallback?.(t,e,i),e!==i&&("label"===t?this.onLabelChange():"value"===t||"placeholder"===t?this.onValueOrPlaceholderChange():"required"===t?this.onIsRequiredChange():"badge-label"===t?this.onBadgeLabelChange():"badge-tooltip-text"===t&&this.onBadgeTooltipTextChange(),"value"!==t&&"required"!==t||this.handleDeleteButtonVisibility())}}const{host:y,textFields:x,buttons:v,badge:f,labelText:M,contentWrapper:w}={host:{selector:()=>":host"},textFields:{selector:"descope-text"},labelText:{selector:'descope-text[data-id="label-text"]'},buttons:{selector:"descope-button"},badge:{selector:"descope-badge"},contentWrapper:{selector:" .content-wrapper"}},T=(0,r.Zz)((0,o.RF)({mappings:{hostWidth:{...y,property:"width"},hostMinWidth:{...y,property:"min-width"},hostMaxWidth:{...y,property:"max-width"},hostDirection:[{...y,property:"direction"},{...x,property:s.s.cssVarList.hostDirection},{...v,property:l.J.cssVarList.hostDirection},{...f,property:d.e.cssVarList.hostDirection}],labelMinWidth:{...M,property:"min-width"},contentMinWidth:{...w,property:"min-width"},badgeMaxWidth:{...f,property:"max-width"},itemsGap:[{property:"gap"},{...w,property:"gap"}]}}),o.VO,o.tQ)(m);i(63595),i(30576),i(11065),i(56737),customElements.define(g,T)},53455:(t,e,i)=>{"use strict";i.r(e),i.d(e,{ImageClass:()=>o.q,componentName:()=>o.T});var o=i(8512);customElements.define(o.T,o.q)},56737:(t,e,i)=>{"use strict";i.r(e),i.d(e,{IconClass:()=>o.S,componentName:()=>o.T}),i(53455);var o=i(98538);customElements.define(o.T,o.S)},63595:(t,e,i)=>{"use strict";i.r(e),i.d(e,{TextClass:()=>o.s,componentName:()=>o.T});var o=i(66434);customElements.define(o.T,o.s)},65725:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTEwLjAwMDIgMC45OTIxNDlDMTAuMDAwMiAxLjAxNjE1IDEwLjAwMDIgMS4wMTYxNSAxMC4wMDAyIDEuMDE2MTVMOC4yMjQxOSAzLjAwODE1SDIuOTkyMTlDMi40NjQxOSAzLjAwODE1IDIuMDA4MTkgMy40NDAxNSAyLjAwODE5IDMuOTkyMTVWMTIuMDA4MkMyLjAwODE5IDEyLjUzNjIgMi40NDAxOSAxMi45OTIyIDIuOTkyMTkgMTIuOTkyMkg1LjUzNjE5QzUuODQ4MTkgMTMuMDQwMiA2LjE2MDE5IDEzLjA0MDIgNi40NzIxOSAxMi45OTIySDExLjAwODJDMTEuNTM2MiAxMi45OTIyIDExLjk5MjIgMTIuNTYwMiAxMS45OTIyIDEyLjAwODJWNy43ODQxNkwxMy45MzYyIDUuNjI0MTVMMTQuMDA4MiA1LjY3MjE1VjExLjk4NDJDMTQuMDA4MiAxMy42NjQyIDEyLjY2NDIgMTUuMDA4MiAxMS4wMDgyIDE1LjAwODJIMy4wMTYxOUMxLjMzNjE5IDE1LjAwODIgLTAuMDA3ODEyNSAxMy42NjQyIC0wLjAwNzgxMjUgMTEuOTg0MlYzLjk5MjE1Qy0wLjAwNzgxMjUgMi4zMzYxNSAxLjMzNjE5IDAuOTkyMTQ5IDMuMDE2MTkgMC45OTIxNDlIMTAuMDAwMlpNMTEuMjcyMiAyLjYyNDE1TDEyLjYxNjIgNC4xMTIxNUw3LjcyMDE5IDkuNjgwMTZDNy41MDQxOSA5LjkyMDE2IDYuODMyMTkgMTAuMjMyMiA1LjY4MDE5IDEwLjYxNjJDNS42NTYxOSAxMC42NDAyIDUuNjA4MTkgMTAuNjQwMiA1LjU2MDE5IDEwLjYxNjJDNS40NjQxOSAxMC41OTIyIDUuMzkyMTkgMTAuNDcyMiA1LjQ0MDE5IDEwLjM3NjJDNS43NTIxOSA5LjI0ODE2IDYuMDQwMTkgOC41NTIxNiA2LjI1NjE5IDguMzEyMTZMMTEuMjcyMiAyLjYyNDE1Wk0xMS45MjAyIDEuODU2MTVMMTMuMjg4MiAwLjMyMDE0OUMxMy42NDgyIC0wLjA4Nzg1MTYgMTQuMjcyMiAtMC4xMTE4NTIgMTQuNjgwMiAwLjI3MjE0OUMxNS4wODgyIDAuNjMyMTQ5IDE1LjExMjIgMS4yODAxNSAxNC43NTIyIDEuNjg4MTVMMTMuMjY0MiAzLjM2ODE1TDExLjkyMDIgMS44NTYxNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPiA8L3N2Zz4g"},66434:(t,e,i)=>{"use strict";i.d(e,{T:()=>s,s:()=>c});var o=i(88961),n=i(63200),r=i(25964),a=i(72270);const s=(0,r.xE)("text");class l extends((0,a.qu)({componentName:s,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <slot part="text-wrapper"></slot>\n ',(0,r.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,r.Ge)(this,()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""})}}const{host:d}={host:{selector:()=>":host"}},c=(0,n.Zz)((0,o.RF)({mappings:{hostWidth:{...d,property:"width"},hostDirection:{...d,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)},76368:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTEgMTZDMSAxNy4xIDEuOSAxOCAzIDE4SDExQzEyLjEgMTggMTMgMTcuMSAxMyAxNlY0SDFWMTZaTTMgNkgxMVYxNkgzVjZaTTEwLjUgMUw5LjUgMEg0LjVMMy41IDFIMFYzSDE0VjFIMTAuNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPiA8L3N2Zz4="},77888:(t,e,i)=>{"use strict";i.d(e,{T:()=>s,e:()=>d});var o=i(88961),n=i(72270),r=i(25964),a=i(63200);const s=(0,r.xE)("badge");class l extends((0,n.qu)({componentName:s,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,r.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 d=(0,a.Zz)((0,o.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:{}}}),o.VO,o.tQ)(l)},83799:(t,e,i)=>{"use strict";i(93555),i(89389)},89389:(t,e,i)=>{"use strict";i.d(e,{$:()=>b});var o=i(13256),n=i(55774),r=i(82901),a=i(90676),s=i(81488),l=i(87550);const d=i(51450).AH`
|
|
2
|
+
(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[1202,1578,2294,4188,5087,6724],{8512:(t,e,i)=>{"use strict";i.d(e,{T:()=>l,q:()=>h});var o=i(88961),n=i(72270),r=i(63200),a=i(25964),s=i(18782);const l=(0,a.xE)("image"),d=["src","src-dark"];class c extends((0,n.qu)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return d}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,a.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.getSrc)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get getSrc(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach(t=>{t.setAttribute("fill",`var(${h.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)})}renderImage(){this.toggleVisibility(this.getSrc),(0,s.m)(this.getSrc,this.altText).then(t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))})}shouldRender(t){const e=this.getAttribute(t);return this.getSrc===e}attributeChangedCallback(t,e,i){super.attributeChangedCallback?.(t,e,i),e!==i&&this.shouldRender(t)&&this.renderImage()}}const h=(0,r.Zz)((0,o.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),o.VO,o.tQ)(c)},10767:(t,e,i)=>{"use strict";i.d(e,{G:()=>o});const o=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},11065:(t,e,i)=>{"use strict";i.r(e),i.d(e,{BadgeClass:()=>o.e,componentName:()=>o.T});var o=i(77888);customElements.define(o.T,o.e)},18782:(t,e,i)=>{"use strict";i.d(e,{m:()=>r});var o=i(25414);const n=t=>{const e=o.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},r=async(t,e)=>{try{let i;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));i=n(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),o=await e.text();i=n(o)}else i=((t,e)=>{const i=document.createElement("img");return i.setAttribute("src",t),i.setAttribute("alt",e),i})(t,e);return i.style.setProperty("max-width","100%"),i.style.setProperty("max-height","100%"),i}catch{return null}}},19624:(t,e,i)=>{"use strict";i.d(e,{J:()=>p,T:()=>l});var o=i(63200),n=i(25964),r=i(88961),a=i(98538),s=i(10767);const l=(0,n.xE)("button"),{host:d,label:c,slottedIcon:h}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let u;const p=(0,o.Zz)((0,r.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,r.VO,r.tQ)((0,r.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(${p.cssVarList.outlineWidth}) + var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${p.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${p.cssVarList.hostHeight}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${p.cssVarList.hostWidth}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex","class","style"],componentName:l})),{color:b,fontSize:g}=p.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(${b});\n\t\ttop: calc(50% - (var(${g}) / 2));\n\t\tleft: calc(50% - (var(${g}) / 2));\n\t\tborder-width: calc(var(${g}) / 10);\n\t\twidth: var(${g});\n\t\theight: var(${g});\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`},30576:(t,e,i)=>{"use strict";i.r(e),i.d(e,{ButtonClass:()=>o.J,componentName:()=>o.T});var o=i(19624);i(83799),customElements.define(o.T,o.J)},45554:(t,e,i)=>{"use strict";i.r(e),i.d(e,{UserAttributeClass:()=>T,componentName:()=>g});var o=i(79365),n=i(81365),r=i(9696),a=i(97810),s=i(66434),l=i(19624),d=i(77888),c=i(25964),h=i(76368),u=i.n(h),p=i(65725),b=i.n(p);const g=(0,a.xE)("user-attribute");class m extends((0,n.q)({componentName:g,baseSelector:":host > .root"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <div class="root">\n <descope-text st-text-align="auto" data-id="label-text" variant="body1" mode="secondary" class="label"></descope-text>\n <div class="content-wrapper">\n <descope-text st-text-align="auto" data-id="value-text" variant="body1" mode="primary" class="value"></descope-text>\n <div class="btn-wrapper">\n <descope-badge mode="default" bordered="true" size="xs"></descope-badge>\n <descope-button size="xs" data-id="edit-btn" square="true" variant="link" mode="primary">\n <slot name="edit-icon"></slot>\n </descope-button>\n <descope-button size="xs" data-id="delete-btn" square="true" variant="link" mode="primary">\n <slot name="delete-icon"></slot>\n </descope-button>\n </div>\n </div>\n </div>\n\t\t',(0,c.fz)(`\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n container-type: inline-size;\n\t\t\t\t}\n\n .root {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n }\n \n ::slotted(*) {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n @container (max-width: 529px) {\n .root {\n flex-wrap: wrap;\n }\n }\n\n .btn-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-grow: 0;\n }\n\n .content-wrapper {\n display: flex;\n flex-grow: 1;\n align-items: center;\n }\n\n descope-text::part(text-wrapper) {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n width: initial;\n }\n\n descope-text {\n display: inline-flex;\n max-width: 100%;\n min-width: 0;\n }\n\n .label {\n flex-grow: 1;\n width: 100%;\n }\n\n .value {\n flex-grow: 1;\n }\n\n descope-badge {\n margin-inline-end: 10px;\n }\n\n .hidden {\n visibility: hidden;\n }\n\n descope-text[data-id="label-text"].required:after {\n content: '*';\n color: var(${s.s.cssVarList.textColor});\n }\n\n :host([readonly="true"]) descope-button {\n visibility: hidden;\n }\n `,this),this.deleteButton=this.shadowRoot.querySelector('descope-button[data-id="delete-btn"]'),this.editButton=this.shadowRoot.querySelector('descope-button[data-id="edit-btn"]'),this.badge=this.shadowRoot.querySelector("descope-badge"),this.labelText=this.shadowRoot.querySelector('descope-text[data-id="label-text"]'),this.valueText=this.shadowRoot.querySelector('descope-text[data-id="value-text"]')}onLabelChange(){this.labelText.innerText=this.label,this.labelText.setAttribute("title",this.label)}onValueOrPlaceholderChange(){const t=this.value||this.placeholder,e=this.value?"primary":"secondary";this.valueText.innerText=t,this.valueText.setAttribute("title",t),this.valueText.setAttribute("mode",e)}onBadgeLabelChange(){this.badgeLabel?(this.badge.innerText=this.badgeLabel,this.badge.style.display=""):this.badge.style.display="none"}onBadgeTooltipTextChange(){this.badge.setAttribute("title",this.badgeTooltipText||this.badgeLabel)}onIsRequiredChange(){this.labelText.classList.toggle("required",this.isRequired)}get label(){return this.getAttribute("label")||""}get value(){return this.getAttribute("value")||""}get placeholder(){return this.getAttribute("placeholder")||""}get isRequired(){return"true"===this.getAttribute("required")}get badgeLabel(){return this.getAttribute("badge-label")||""}get badgeTooltipText(){return this.getAttribute("badge-tooltip-text")||""}init(){this.onLabelChange(),this.onValueOrPlaceholderChange(),this.onIsRequiredChange(),this.onBadgeLabelChange(),this.onBadgeTooltipTextChange(),this.handleDeleteButtonVisibility(),this.deleteButton.addEventListener("click",()=>this.dispatchEvent(new CustomEvent("delete-clicked",{bubbles:!0,composed:!0}))),this.editButton.addEventListener("click",()=>this.dispatchEvent(new CustomEvent("edit-clicked",{bubbles:!0,composed:!0}))),this.setDefaultChildren()}#t(t,e){const i=document.createElement("descope-icon");i.setAttribute("src",t),i.setAttribute("src-dark",t),i.setAttribute("slot",e),this.appendChild(i)}setDefaultChildren(){this.children.length||(this.#t(u(),"delete-icon"),this.#t(b(),"edit-icon"))}static get observedAttributes(){return["label","value","placeholder","required","badge-label","badge-tooltip-text"].concat(super.observedAttributes)}handleDeleteButtonVisibility(){this.deleteButton.classList.toggle("hidden",this.isRequired||!this.value)}attributeChangedCallback(t,e,i){super.attributeChangedCallback?.(t,e,i),e!==i&&("label"===t?this.onLabelChange():"value"===t||"placeholder"===t?this.onValueOrPlaceholderChange():"required"===t?this.onIsRequiredChange():"badge-label"===t?this.onBadgeLabelChange():"badge-tooltip-text"===t&&this.onBadgeTooltipTextChange(),"value"!==t&&"required"!==t||this.handleDeleteButtonVisibility())}}const{host:y,textFields:x,buttons:v,badge:f,labelText:M,contentWrapper:w}={host:{selector:()=>":host"},textFields:{selector:"descope-text"},labelText:{selector:'descope-text[data-id="label-text"]'},buttons:{selector:"descope-button"},badge:{selector:"descope-badge"},contentWrapper:{selector:" .content-wrapper"}},T=(0,r.Zz)((0,o.RF)({mappings:{hostWidth:{...y,property:"width"},hostMinWidth:{...y,property:"min-width"},hostMaxWidth:{...y,property:"max-width"},hostDirection:[{...y,property:"direction"},{...x,property:s.s.cssVarList.hostDirection},{...v,property:l.J.cssVarList.hostDirection},{...f,property:d.e.cssVarList.hostDirection}],labelMinWidth:{...M,property:"min-width"},contentMinWidth:{...w,property:"min-width"},badgeMaxWidth:{...f,property:"max-width"},itemsGap:[{property:"gap"},{...w,property:"gap"}]}}),o.VO,o.tQ)(m);i(63595),i(30576),i(11065),i(56737),customElements.define(g,T)},53455:(t,e,i)=>{"use strict";i.r(e),i.d(e,{ImageClass:()=>o.q,componentName:()=>o.T});var o=i(8512);customElements.define(o.T,o.q)},56737:(t,e,i)=>{"use strict";i.r(e),i.d(e,{IconClass:()=>o.S,componentName:()=>o.T}),i(53455);var o=i(98538);customElements.define(o.T,o.S)},63595:(t,e,i)=>{"use strict";i.r(e),i.d(e,{TextClass:()=>o.s,componentName:()=>o.T});var o=i(66434);customElements.define(o.T,o.s)},65725:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTEwLjAwMDIgMC45OTIxNDlDMTAuMDAwMiAxLjAxNjE1IDEwLjAwMDIgMS4wMTYxNSAxMC4wMDAyIDEuMDE2MTVMOC4yMjQxOSAzLjAwODE1SDIuOTkyMTlDMi40NjQxOSAzLjAwODE1IDIuMDA4MTkgMy40NDAxNSAyLjAwODE5IDMuOTkyMTVWMTIuMDA4MkMyLjAwODE5IDEyLjUzNjIgMi40NDAxOSAxMi45OTIyIDIuOTkyMTkgMTIuOTkyMkg1LjUzNjE5QzUuODQ4MTkgMTMuMDQwMiA2LjE2MDE5IDEzLjA0MDIgNi40NzIxOSAxMi45OTIySDExLjAwODJDMTEuNTM2MiAxMi45OTIyIDExLjk5MjIgMTIuNTYwMiAxMS45OTIyIDEyLjAwODJWNy43ODQxNkwxMy45MzYyIDUuNjI0MTVMMTQuMDA4MiA1LjY3MjE1VjExLjk4NDJDMTQuMDA4MiAxMy42NjQyIDEyLjY2NDIgMTUuMDA4MiAxMS4wMDgyIDE1LjAwODJIMy4wMTYxOUMxLjMzNjE5IDE1LjAwODIgLTAuMDA3ODEyNSAxMy42NjQyIC0wLjAwNzgxMjUgMTEuOTg0MlYzLjk5MjE1Qy0wLjAwNzgxMjUgMi4zMzYxNSAxLjMzNjE5IDAuOTkyMTQ5IDMuMDE2MTkgMC45OTIxNDlIMTAuMDAwMlpNMTEuMjcyMiAyLjYyNDE1TDEyLjYxNjIgNC4xMTIxNUw3LjcyMDE5IDkuNjgwMTZDNy41MDQxOSA5LjkyMDE2IDYuODMyMTkgMTAuMjMyMiA1LjY4MDE5IDEwLjYxNjJDNS42NTYxOSAxMC42NDAyIDUuNjA4MTkgMTAuNjQwMiA1LjU2MDE5IDEwLjYxNjJDNS40NjQxOSAxMC41OTIyIDUuMzkyMTkgMTAuNDcyMiA1LjQ0MDE5IDEwLjM3NjJDNS43NTIxOSA5LjI0ODE2IDYuMDQwMTkgOC41NTIxNiA2LjI1NjE5IDguMzEyMTZMMTEuMjcyMiAyLjYyNDE1Wk0xMS45MjAyIDEuODU2MTVMMTMuMjg4MiAwLjMyMDE0OUMxMy42NDgyIC0wLjA4Nzg1MTYgMTQuMjcyMiAtMC4xMTE4NTIgMTQuNjgwMiAwLjI3MjE0OUMxNS4wODgyIDAuNjMyMTQ5IDE1LjExMjIgMS4yODAxNSAxNC43NTIyIDEuNjg4MTVMMTMuMjY0MiAzLjM2ODE1TDExLjkyMDIgMS44NTYxNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPiA8L3N2Zz4g"},66434:(t,e,i)=>{"use strict";i.d(e,{T:()=>s,s:()=>c});var o=i(88961),n=i(63200),r=i(25964),a=i(72270);const s=(0,r.xE)("text");class l extends((0,a.qu)({componentName:s,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <slot part="text-wrapper"></slot>\n ',(0,r.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,r.Ge)(this,()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""})}}const{host:d}={host:{selector:()=>":host"}},c=(0,n.Zz)((0,o.RF)({mappings:{hostWidth:{...d,property:"width"},hostDirection:{...d,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)},76368:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTEgMTZDMSAxNy4xIDEuOSAxOCAzIDE4SDExQzEyLjEgMTggMTMgMTcuMSAxMyAxNlY0SDFWMTZaTTMgNkgxMVYxNkgzVjZaTTEwLjUgMUw5LjUgMEg0LjVMMy41IDFIMFYzSDE0VjFIMTAuNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPiA8L3N2Zz4="},77888:(t,e,i)=>{"use strict";i.d(e,{T:()=>s,e:()=>d});var o=i(88961),n=i(72270),r=i(25964),a=i(63200);const s=(0,r.xE)("badge");class l extends((0,n.qu)({componentName:s,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,r.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 d=(0,a.Zz)((0,o.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:{}}}),o.VO,o.tQ)(l)},83799:(t,e,i)=>{"use strict";i(93555),i(89389)},89389:(t,e,i)=>{"use strict";i.d(e,{$:()=>b});var o=i(13256),n=i(55774),r=i(82901),a=i(72562),s=i(81488),l=i(87550);const d=i(51450).AH`
|
|
3
3
|
:host {
|
|
4
4
|
display: inline-block;
|
|
5
5
|
position: relative;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*! For license information please see descope-user-auth-method-index-js.js.LICENSE.txt */
|
|
2
|
-
(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2294,4188,5087,9990],{4080:(t,e,n)=>{"use strict";n.d(e,{CI:()=>u,H8:()=>a,gm:()=>s,m0:()=>r,nr:()=>c,un:()=>d});const i=t=>t.test(navigator.userAgent),o=t=>t.test(navigator.platform),r=i(/Android/u),a=i(/Chrome/u)&&/Google Inc/u.test(navigator.vendor),s=i(/Firefox/u),l=o(/^iPad/u)||o(/^Mac/u)&&navigator.maxTouchPoints>1,d=o(/^iPhone/u)||l,c=i(/^((?!chrome|android).)*safari/iu),u=(()=>{try{return document.createEvent("TouchEvent"),!0}catch(t){return!1}})()},8512:(t,e,n)=>{"use strict";n.d(e,{T:()=>l,q:()=>u});var i=n(88961),o=n(72270),r=n(63200),a=n(25964),s=n(18782);const l=(0,a.xE)("image"),d=["src","src-dark"];class c extends((0,o.qu)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return d}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,a.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.getSrc)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get getSrc(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach(t=>{t.setAttribute("fill",`var(${u.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)})}renderImage(){this.toggleVisibility(this.getSrc),(0,s.m)(this.getSrc,this.altText).then(t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))})}shouldRender(t){const e=this.getAttribute(t);return this.getSrc===e}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),e!==n&&this.shouldRender(t)&&this.renderImage()}}const u=(0,r.Zz)((0,i.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),i.VO,i.tQ)(c)},9427:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhDMCAxMi40IDMuNiAxNiA4IDE2QzEyLjQgMTYgMTYgMTIuNCAxNiA4QzE2IDMuNiAxMi40IDAgOCAwWk03LjEgMTEuN0wyLjkgNy42TDQuMyA2LjJMNyA4LjlMMTIgNEwxMy40IDUuNEw3LjEgMTEuN1oiIGZpbGw9IiM0Q0FGNTAiLz4gPC9zdmc+IA=="},10767:(t,e,n)=>{"use strict";n.d(e,{G:()=>i});const i=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},11065:(t,e,n)=>{"use strict";n.r(e),n.d(e,{BadgeClass:()=>i.e,componentName:()=>i.T});var i=n(77888);customElements.define(i.T,i.e)},18782:(t,e,n)=>{"use strict";n.d(e,{m:()=>r});var i=n(25414);const o=t=>{const e=i.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},r=async(t,e)=>{try{let n;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));n=o(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),i=await e.text();n=o(i)}else n=((t,e)=>{const n=document.createElement("img");return n.setAttribute("src",t),n.setAttribute("alt",e),n})(t,e);return n.style.setProperty("max-width","100%"),n.style.setProperty("max-height","100%"),n}catch{return null}}},19624:(t,e,n)=>{"use strict";n.d(e,{J:()=>p,T:()=>l});var i=n(63200),o=n(25964),r=n(88961),a=n(98538),s=n(10767);const l=(0,o.xE)("button"),{host:d,label:c,slottedIcon:u}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let h;const p=(0,i.Zz)((0,r.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:[{...u,property:"width"},{...u,property:"height"}]}}),s.G,r.VO,r.tQ)((0,r.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${h}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${p.cssVarList.outlineWidth}) + var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${p.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${p.cssVarList.hostHeight}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${p.cssVarList.hostWidth}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex","class","style"],componentName:l})),{color:b,fontSize:m}=p.cssVarList;h=`\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(${b});\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`},21961:(t,e,n)=>{"use strict";n.d(e,{C:()=>r});var i=n(98741);const o=new WeakMap,r=(0,i.y)(t=>class extends t{get slotStyles(){return{}}connectedCallback(){super.connectedCallback(),this.__applySlotStyles()}__applySlotStyles(){const t=this.getRootNode(),e=function(t){return o.has(t)||o.set(t,new Set),o.get(t)}(t);this.slotStyles.forEach(n=>{e.has(n)||(function(t,e){const n=document.createElement("style");window.DESCOPE_NONCE&&n.setAttribute("nonce",window.DESCOPE_NONCE),n.textContent=t,e===document?document.head.appendChild(n):e.insertBefore(n,e.firstChild)}(n,t),e.add(n))})}})},30576:(t,e,n)=>{"use strict";n.r(e),n.d(e,{ButtonClass:()=>i.J,componentName:()=>i.T});var i=n(19624);n(83799),customElements.define(i.T,i.J)},63595:(t,e,n)=>{"use strict";n.r(e),n.d(e,{TextClass:()=>i.s,componentName:()=>i.T});var i=n(66434);customElements.define(i.T,i.s)},66434:(t,e,n)=>{"use strict";n.d(e,{T:()=>s,s:()=>c});var i=n(88961),o=n(63200),r=n(25964),a=n(72270);const s=(0,r.xE)("text");class l extends((0,a.qu)({componentName:s,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <slot part="text-wrapper"></slot>\n ',(0,r.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,r.Ge)(this,()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""})}}const{host:d}={host:{selector:()=>":host"}},c=(0,o.Zz)((0,i.RF)({mappings:{hostWidth:{...d,property:"width"},hostDirection:{...d,property:"direction"},fontSize:{},textColor:[{property:"color"}],textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),i.VO,i.tQ)(l)},67760:(t,e,n)=>{"use strict";n.r(e),n.d(e,{UserAuthMethodClass:()=>z,componentName:()=>b});var i=n(79365),o=n(81365),r=n(9696),a=n(97810),s=n(9427),l=n.n(s),d=n(66434),c=n(19624),u=n(98538),h=n(77888),p=n(25964);const b=(0,a.xE)("user-auth-method");class m extends((0,o.q)({componentName:b,baseSelector:":host > .root"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=`\n <div class="root">\n <div class="text-wrapper">\n <slot name="method-icon"></slot>\n <descope-text st-text-align="auto" data-id="label-text" variant="body1" mode="primary"></descope-text>\n </div>\n\n <div class="btn-wrapper">\n <descope-button class="btn unfulfilled hidden" size="sm" variant="link" mode="primary">\n <slot name="button-icon"></slot>\n </descope-button>\n <descope-button class="btn fulfilled hidden" size="sm" variant="link" mode="primary">\n <slot name="fulfilled-button-icon"></slot>\n </descope-button>\n <div class="status-indicator hidden">\n <vaadin-icon src=${l()}></vaadin-icon>\n </div>\n <descope-button class="hidden-btn" size="sm" variant="link" mode="primary"></descope-button>\n </div>\n </div>\n\t\t`,(0,p.fz)('\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n vaadin-icon {\n color: currentcolor;\n }\n\n .root {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n }\n\n .btn-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-grow: 0;\n }\n\n .text-wrapper {\n display: flex;\n align-items: center;\n flex-grow: 1;\n min-width: 0;\n }\n\n descope-text::part(text-wrapper) {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n width: initial;\n }\n\n descope-text {\n display: inline-flex;\n min-width: 0;\n }\n\n .status-indicator {\n width: 1em;\n height: 1em;\n display: flex;\n align-items: center;\n padding-inline-end: 1em;\n }\n\n .hidden {\n display: none;\n }\n\n .hidden-btn {\n width: 0;\n overflow: hidden;\n opacity: 0;\n pointer-events: none;\n }\n\n slot[name="method-icon"]{\n display: inline-flex;\n align-items: center;\n }\n ',this),this.unfulfilledButton=this.shadowRoot.querySelector(".btn.unfulfilled"),this.fulfilledButton=this.shadowRoot.querySelector(".btn.fulfilled"),this.statusIndicator=this.shadowRoot.querySelector(".status-indicator"),this.labelText=this.shadowRoot.querySelector('descope-text[data-id="label-text"]')}onLabelChange(){this.labelText.innerText=this.label,this.labelText.setAttribute("title",this.label)}updateButtonLabel(t,e){let n=t.querySelector("span");e?(n||(n=document.createElement("span"),t.appendChild(n)),n.innerText=e):n&&t.removeChild(n)}onFulfilledChange(){this.isFulfilled?(this.unfulfilledButton.classList.add("hidden"),this.handleFulfilled()):(this.fulfilledButton.classList.add("hidden"),this.handleUnfulfilled())}handleFulfilled(){this.fulfilledButton.classList.toggle("hidden",!this.isFulfilledEditable),this.statusIndicator.classList.toggle("hidden",this.isFulfilledEditable)}handleUnfulfilled(){this.unfulfilledButton.classList.toggle("hidden",!this.isUnfulfilledEditable),this.statusIndicator.classList.toggle("hidden",this.isUnfulfilledEditable)}get label(){return this.getAttribute("label")||""}get unfulfilledButtonLabel(){return this.getAttribute("button-label")||""}get fulfilledButtonLabel(){return this.getAttribute("fulfilled-button-label")||""}get isFulfilled(){return"true"===this.getAttribute("fulfilled")}get isFulfilledEditable(){return"true"===this.getAttribute("fulfilled-editable")}get isUnfulfilledEditable(){return"false"!==this.getAttribute("unfulfilled-editable")}init(){this.onLabelChange(),this.updateButtonLabel(this.fulfilledButton,this.fulfilledButtonLabel),this.updateButtonLabel(this.unfulfilledButton,this.unfulfilledButtonLabel),this.onFulfilledChange(),this.unfulfilledButton.addEventListener("click",()=>this.dispatchEvent(new CustomEvent("button-clicked",{bubbles:!0,composed:!0}))),this.fulfilledButton.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("fulfilled-button-clicked",{bubbles:!0,composed:!0}))})}static get observedAttributes(){return["label","fulfilled","button-label","fulfilled-button-label","fulfilled-editable","unfulfilled-editable"].concat(super.observedAttributes)}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),e!==n&&("label"===t?this.onLabelChange():"fulfilled"===t?this.onFulfilledChange():"button-label"===t?this.updateButtonLabel(this.unfulfilledButton,this.unfulfilledButtonLabel):"fulfilled-button-label"===t?this.updateButtonLabel(this.fulfilledButton,this.fulfilledButtonLabel):"fulfilled-editable"===t&&this.isFulfilled?this.handleFulfilled():"unfulfilled-editable"!==t||this.isFulfilled||this.handleUnfulfilled())}}const{host:f,textField:g,buttons:v,badge:y,textWrapper:x,methodIconSlot:w}={host:{selector:()=>":host"},textField:{selector:"descope-text"},buttons:{selector:"descope-button"},badge:{selector:"descope-badge"},textWrapper:{selector:" .text-wrapper"},methodIconSlot:{selector:'slot[name="method-icon"]'}},z=(0,r.Zz)((0,i.RF)({mappings:{hostWidth:{...f,property:"width"},hostMinWidth:{...f,property:"min-width"},hostMaxWidth:{...f,property:"max-width"},hostDirection:[{...f,property:"direction"},{...g,property:d.s.cssVarList.hostDirection},{...v,property:c.J.cssVarList.hostDirection},{...y,property:h.e.cssVarList.hostDirection}],itemsGap:[{property:"gap"},{...x,property:"gap"}],iconSize:[{...w,property:"width"},{...w,property:"height"}],iconColor:[{selector:()=>"::slotted(*)",property:u.S.cssVarList.fill}]}}),i.VO,i.tQ)(m);n(63595),n(30576),n(11065),n(95260),customElements.define(b,z)},77888:(t,e,n)=>{"use strict";n.d(e,{T:()=>s,e:()=>d});var i=n(88961),o=n(72270),r=n(25964),a=n(63200);const s=(0,r.xE)("badge");class l extends((0,o.qu)({componentName:s,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,r.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 d=(0,a.Zz)((0,i.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:{}}}),i.VO,i.tQ)(l)},83799:(t,e,n)=>{"use strict";n(93555),n(89389)},89389:(t,e,n)=>{"use strict";n.d(e,{$:()=>b});var i=n(13256),o=n(55774),r=n(82901),a=n(90676),s=n(81488),l=n(87550);const d=n(51450).AH`
|
|
2
|
+
(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[2294,4188,5087,9990],{4080:(t,e,n)=>{"use strict";n.d(e,{CI:()=>u,H8:()=>a,gm:()=>s,m0:()=>r,nr:()=>c,un:()=>d});const i=t=>t.test(navigator.userAgent),o=t=>t.test(navigator.platform),r=i(/Android/u),a=i(/Chrome/u)&&/Google Inc/u.test(navigator.vendor),s=i(/Firefox/u),l=o(/^iPad/u)||o(/^Mac/u)&&navigator.maxTouchPoints>1,d=o(/^iPhone/u)||l,c=i(/^((?!chrome|android).)*safari/iu),u=(()=>{try{return document.createEvent("TouchEvent"),!0}catch(t){return!1}})()},8512:(t,e,n)=>{"use strict";n.d(e,{T:()=>l,q:()=>u});var i=n(88961),o=n(72270),r=n(63200),a=n(25964),s=n(18782);const l=(0,a.xE)("image"),d=["src","src-dark"];class c extends((0,o.qu)({componentName:l,baseSelector:"slot"})){static get observedAttributes(){return d}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<slot></slot>\n\t",(0,a.fz)("\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n :host > slot {\n width: 100%;\n height: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n ::slotted(*) {\n width: 100%;\n\t\t\t}\n\n .hidden {\n display: none;\n }\n ",this)}init(){super.init?.(),this.toggleVisibility(this.getSrc)}onThemeChange(){this.renderImage()}toggleVisibility(t){t?this.classList.remove("hidden"):this.classList.add("hidden")}get altText(){return this.getAttribute("alt")||""}get legacySrc(){return this.getAttribute("src")}get themeSrc(){return this.getAttribute(`src-${this.currentThemeName}`)}get getSrc(){return this.themeSrc||this.legacySrc}updateFillColor(t){[t,...t.querySelectorAll("*[fill]")].forEach(t=>{t.setAttribute("fill",`var(${u.cssVarList.fill}, ${t.getAttribute("fill")||"''"})`)})}renderImage(){this.toggleVisibility(this.getSrc),(0,s.m)(this.getSrc,this.altText).then(t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))})}shouldRender(t){const e=this.getAttribute(t);return this.getSrc===e}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),e!==n&&this.shouldRender(t)&&this.renderImage()}}const u=(0,r.Zz)((0,i.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),i.VO,i.tQ)(c)},9427:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhDMCAxMi40IDMuNiAxNiA4IDE2QzEyLjQgMTYgMTYgMTIuNCAxNiA4QzE2IDMuNiAxMi40IDAgOCAwWk03LjEgMTEuN0wyLjkgNy42TDQuMyA2LjJMNyA4LjlMMTIgNEwxMy40IDUuNEw3LjEgMTEuN1oiIGZpbGw9IiM0Q0FGNTAiLz4gPC9zdmc+IA=="},10767:(t,e,n)=>{"use strict";n.d(e,{G:()=>i});const i=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},11065:(t,e,n)=>{"use strict";n.r(e),n.d(e,{BadgeClass:()=>i.e,componentName:()=>i.T});var i=n(77888);customElements.define(i.T,i.e)},18782:(t,e,n)=>{"use strict";n.d(e,{m:()=>r});var i=n(25414);const o=t=>{const e=i.A.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],FORBID_TAGS:["defs"]});return(new DOMParser).parseFromString(e,"image/svg+xml").querySelector("svg")},r=async(t,e)=>{try{let n;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));n=o(e)}else if("svg"===(t=>{const e=t.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i);return e?e[1]:null})(t)){const e=await fetch(t),i=await e.text();n=o(i)}else n=((t,e)=>{const n=document.createElement("img");return n.setAttribute("src",t),n.setAttribute("alt",e),n})(t,e);return n.style.setProperty("max-width","100%"),n.style.setProperty("max-height","100%"),n}catch{return null}}},19624:(t,e,n)=>{"use strict";n.d(e,{J:()=>p,T:()=>l});var i=n(63200),o=n(25964),r=n(88961),a=n(98538),s=n(10767);const l=(0,o.xE)("button"),{host:d,label:c,slottedIcon:u}={host:{selector:()=>":host"},label:{selector:"::part(label)"},slottedIcon:{selector:()=>"::slotted(descope-icon)"}};let h;const p=(0,i.Zz)((0,r.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:[{...u,property:"width"},{...u,property:"height"}]}}),s.G,r.VO,r.tQ)((0,r.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${h}\n\t\t\tvaadin-button::part(label) { pointer-events: none; }\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${p.cssVarList.outlineWidth}) + var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width="true"]) {\n width: var(${p.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${p.cssVarList.hostHeight}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square="true"]:not([full-width="true"]) {\n\t\t\t\twidth: calc(var(${p.cssVarList.hostWidth}) - var(${p.cssVarList.outlineWidth}) - var(${p.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,excludeAttrsSync:["tabindex","class","style"],componentName:l})),{color:b,fontSize:m}=p.cssVarList;h=`\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(${b});\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`},21961:(t,e,n)=>{"use strict";n.d(e,{C:()=>r});var i=n(98741);const o=new WeakMap,r=(0,i.y)(t=>class extends t{get slotStyles(){return{}}connectedCallback(){super.connectedCallback(),this.__applySlotStyles()}__applySlotStyles(){const t=this.getRootNode(),e=function(t){return o.has(t)||o.set(t,new Set),o.get(t)}(t);this.slotStyles.forEach(n=>{e.has(n)||(function(t,e){const n=document.createElement("style");window.DESCOPE_NONCE&&n.setAttribute("nonce",window.DESCOPE_NONCE),n.textContent=t,e===document?document.head.appendChild(n):e.insertBefore(n,e.firstChild)}(n,t),e.add(n))})}})},30576:(t,e,n)=>{"use strict";n.r(e),n.d(e,{ButtonClass:()=>i.J,componentName:()=>i.T});var i=n(19624);n(83799),customElements.define(i.T,i.J)},63595:(t,e,n)=>{"use strict";n.r(e),n.d(e,{TextClass:()=>i.s,componentName:()=>i.T});var i=n(66434);customElements.define(i.T,i.s)},66434:(t,e,n)=>{"use strict";n.d(e,{T:()=>s,s:()=>c});var i=n(88961),o=n(63200),r=n(25964),a=n(72270);const s=(0,r.xE)("text");class l extends((0,a.qu)({componentName:s,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <slot part="text-wrapper"></slot>\n ',(0,r.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,r.Ge)(this,()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""})}}const{host:d}={host:{selector:()=>":host"}},c=(0,o.Zz)((0,i.RF)({mappings:{hostWidth:{...d,property:"width"},hostDirection:{...d,property:"direction"},fontSize:{},textColor:[{property:"color"}],textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),i.VO,i.tQ)(l)},67760:(t,e,n)=>{"use strict";n.r(e),n.d(e,{UserAuthMethodClass:()=>z,componentName:()=>b});var i=n(79365),o=n(81365),r=n(9696),a=n(97810),s=n(9427),l=n.n(s),d=n(66434),c=n(19624),u=n(98538),h=n(77888),p=n(25964);const b=(0,a.xE)("user-auth-method");class m extends((0,o.q)({componentName:b,baseSelector:":host > .root"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML=`\n <div class="root">\n <div class="text-wrapper">\n <slot name="method-icon"></slot>\n <descope-text st-text-align="auto" data-id="label-text" variant="body1" mode="primary"></descope-text>\n </div>\n\n <div class="btn-wrapper">\n <descope-button class="btn unfulfilled hidden" size="sm" variant="link" mode="primary">\n <slot name="button-icon"></slot>\n </descope-button>\n <descope-button class="btn fulfilled hidden" size="sm" variant="link" mode="primary">\n <slot name="fulfilled-button-icon"></slot>\n </descope-button>\n <div class="status-indicator hidden">\n <vaadin-icon src=${l()}></vaadin-icon>\n </div>\n <descope-button class="hidden-btn" size="sm" variant="link" mode="primary"></descope-button>\n </div>\n </div>\n\t\t`,(0,p.fz)('\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n vaadin-icon {\n color: currentcolor;\n }\n\n .root {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n }\n\n .btn-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-grow: 0;\n }\n\n .text-wrapper {\n display: flex;\n align-items: center;\n flex-grow: 1;\n min-width: 0;\n }\n\n descope-text::part(text-wrapper) {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n width: initial;\n }\n\n descope-text {\n display: inline-flex;\n min-width: 0;\n }\n\n .status-indicator {\n width: 1em;\n height: 1em;\n display: flex;\n align-items: center;\n padding-inline-end: 1em;\n }\n\n .hidden {\n display: none;\n }\n\n .hidden-btn {\n width: 0;\n overflow: hidden;\n opacity: 0;\n pointer-events: none;\n }\n\n slot[name="method-icon"]{\n display: inline-flex;\n align-items: center;\n }\n ',this),this.unfulfilledButton=this.shadowRoot.querySelector(".btn.unfulfilled"),this.fulfilledButton=this.shadowRoot.querySelector(".btn.fulfilled"),this.statusIndicator=this.shadowRoot.querySelector(".status-indicator"),this.labelText=this.shadowRoot.querySelector('descope-text[data-id="label-text"]')}onLabelChange(){this.labelText.innerText=this.label,this.labelText.setAttribute("title",this.label)}updateButtonLabel(t,e){let n=t.querySelector("span");e?(n||(n=document.createElement("span"),t.appendChild(n)),n.innerText=e):n&&t.removeChild(n)}onFulfilledChange(){this.isFulfilled?(this.unfulfilledButton.classList.add("hidden"),this.handleFulfilled()):(this.fulfilledButton.classList.add("hidden"),this.handleUnfulfilled())}handleFulfilled(){this.fulfilledButton.classList.toggle("hidden",!this.isFulfilledEditable),this.statusIndicator.classList.toggle("hidden",this.isFulfilledEditable)}handleUnfulfilled(){this.unfulfilledButton.classList.toggle("hidden",!this.isUnfulfilledEditable),this.statusIndicator.classList.toggle("hidden",this.isUnfulfilledEditable)}get label(){return this.getAttribute("label")||""}get unfulfilledButtonLabel(){return this.getAttribute("button-label")||""}get fulfilledButtonLabel(){return this.getAttribute("fulfilled-button-label")||""}get isFulfilled(){return"true"===this.getAttribute("fulfilled")}get isFulfilledEditable(){return"true"===this.getAttribute("fulfilled-editable")}get isUnfulfilledEditable(){return"false"!==this.getAttribute("unfulfilled-editable")}init(){this.onLabelChange(),this.updateButtonLabel(this.fulfilledButton,this.fulfilledButtonLabel),this.updateButtonLabel(this.unfulfilledButton,this.unfulfilledButtonLabel),this.onFulfilledChange(),this.unfulfilledButton.addEventListener("click",()=>this.dispatchEvent(new CustomEvent("button-clicked",{bubbles:!0,composed:!0}))),this.fulfilledButton.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("fulfilled-button-clicked",{bubbles:!0,composed:!0}))})}static get observedAttributes(){return["label","fulfilled","button-label","fulfilled-button-label","fulfilled-editable","unfulfilled-editable"].concat(super.observedAttributes)}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),e!==n&&("label"===t?this.onLabelChange():"fulfilled"===t?this.onFulfilledChange():"button-label"===t?this.updateButtonLabel(this.unfulfilledButton,this.unfulfilledButtonLabel):"fulfilled-button-label"===t?this.updateButtonLabel(this.fulfilledButton,this.fulfilledButtonLabel):"fulfilled-editable"===t&&this.isFulfilled?this.handleFulfilled():"unfulfilled-editable"!==t||this.isFulfilled||this.handleUnfulfilled())}}const{host:f,textField:g,buttons:v,badge:y,textWrapper:x,methodIconSlot:w}={host:{selector:()=>":host"},textField:{selector:"descope-text"},buttons:{selector:"descope-button"},badge:{selector:"descope-badge"},textWrapper:{selector:" .text-wrapper"},methodIconSlot:{selector:'slot[name="method-icon"]'}},z=(0,r.Zz)((0,i.RF)({mappings:{hostWidth:{...f,property:"width"},hostMinWidth:{...f,property:"min-width"},hostMaxWidth:{...f,property:"max-width"},hostDirection:[{...f,property:"direction"},{...g,property:d.s.cssVarList.hostDirection},{...v,property:c.J.cssVarList.hostDirection},{...y,property:h.e.cssVarList.hostDirection}],itemsGap:[{property:"gap"},{...x,property:"gap"}],iconSize:[{...w,property:"width"},{...w,property:"height"}],iconColor:[{selector:()=>"::slotted(*)",property:u.S.cssVarList.fill}]}}),i.VO,i.tQ)(m);n(63595),n(30576),n(11065),n(95260),customElements.define(b,z)},77888:(t,e,n)=>{"use strict";n.d(e,{T:()=>s,e:()=>d});var i=n(88961),o=n(72270),r=n(25964),a=n(63200);const s=(0,r.xE)("badge");class l extends((0,o.qu)({componentName:s,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,r.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 d=(0,a.Zz)((0,i.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:{}}}),i.VO,i.tQ)(l)},83799:(t,e,n)=>{"use strict";n(93555),n(89389)},89389:(t,e,n)=>{"use strict";n.d(e,{$:()=>b});var i=n(13256),o=n(55774),r=n(82901),a=n(72562),s=n(81488),l=n(87550);const d=n(51450).AH`
|
|
3
3
|
:host {
|
|
4
4
|
display: inline-block;
|
|
5
5
|
position: relative;
|