@descope/web-components-ui 1.130.0 → 1.131.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +2265 -1689
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +2273 -1696
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/8961.js +1 -1
- package/dist/umd/8961.js.map +1 -1
- package/dist/umd/DescopeDev.js +1 -1
- package/dist/umd/DescopeDev.js.map +1 -1
- package/dist/umd/descope-alert-index-js.js +1 -1
- package/dist/umd/descope-alert-index-js.js.map +1 -1
- package/dist/umd/descope-apps-list.js +2 -2
- package/dist/umd/descope-apps-list.js.map +1 -1
- package/dist/umd/descope-avatar.js +2 -2
- package/dist/umd/descope-avatar.js.map +1 -1
- package/dist/umd/descope-badge.js +2 -0
- package/dist/umd/descope-badge.js.map +1 -0
- package/dist/umd/descope-enriched-text.js +1 -1
- package/dist/umd/descope-enriched-text.js.map +1 -1
- package/dist/umd/descope-link.js +1 -1
- package/dist/umd/descope-link.js.map +1 -1
- package/dist/umd/descope-list-item.js +1 -1
- package/dist/umd/descope-list-item.js.map +1 -1
- package/dist/umd/descope-list.js +1 -1
- package/dist/umd/descope-list.js.map +1 -1
- package/dist/umd/descope-outbound-apps.js +2 -2
- package/dist/umd/descope-outbound-apps.js.map +1 -1
- package/dist/umd/descope-scopes-list-index-js.js +1 -1
- package/dist/umd/descope-scopes-list-index-js.js.map +1 -1
- package/dist/umd/descope-trusted-devices.js +2 -0
- package/dist/umd/descope-trusted-devices.js.map +1 -0
- package/dist/umd/descope-user-attribute-index-js.js +2 -2
- package/dist/umd/descope-user-attribute-index-js.js.map +1 -1
- package/dist/umd/descope-user-auth-method-index-js.js +2 -2
- package/dist/umd/descope-user-auth-method-index-js.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +24 -22
- package/src/components/descope-user-attribute/UserAttributeClass.js +1 -1
- package/src/components/descope-user-attribute/index.js +1 -1
- package/src/components/descope-user-auth-method/UserAuthMethodClass.js +1 -1
- package/src/components/descope-user-auth-method/index.js +1 -1
- package/src/index.cjs.js +0 -1
- package/src/index.js +0 -1
- package/src/theme/components/index.js +3 -1
- package/dist/umd/descope-badge-index-js.js +0 -2
- package/dist/umd/descope-badge-index-js.js.map +0 -1
- package/src/components/descope-badge/BadgeClass.js +0 -62
- package/src/components/descope-badge/index.js +0 -5
- package/src/theme/components/badge.js +0 -71
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"descope-scopes-list-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/index.js","webpack://@descope/web-components-ui/./src/baseClasses/createBaseInputClass.js","webpack://@descope/web-components-ui/../components/descope-list/src/component/ListClass.js","webpack://@descope/web-components-ui/./src/mixins/createDynamicDataMixin.js","webpack://@descope/web-components-ui/./src/components/descope-scopes-list/ScopesListClass.js","webpack://@descope/web-components-ui/./src/components/descope-scopes-list/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/booleanFieldMixin.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-switch-toggle/index.js","webpack://@descope/web-components-ui/../components/descope-list-item/src/component/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/BooleanFieldInternal.js","webpack://@descope/web-components-ui/../components/descope-list/src/component/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/commonStyles.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/CheckboxClass.js","webpack://@descope/web-components-ui/./src/helpers/themeHelpers/resetHelpers.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-switch-toggle/SwitchToggleClass.js","webpack://@descope/web-components-ui/../components/descope-list-item/src/component/ListItemClass.js"],"sourcesContent":["import BooleanFieldInternal, { componentName } from './BooleanFieldInternal';\n\ncustomElements.define(componentName, BooleanFieldInternal);\n","import { compose } from '../helpers';\nimport {\n changeMixin,\n inputEventsDispatchingMixin,\n inputValidationMixin,\n normalizeBooleanAttributesMixin,\n} from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createBaseInputClass = (...args) =>\n compose(\n inputValidationMixin,\n changeMixin,\n normalizeBooleanAttributesMixin,\n inputEventsDispatchingMixin\n )(createBaseClass(...args));\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 observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\nimport { ListItemClass } from '@descope-ui/descope-list-item/class';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('list');\n\nclass RawList extends createBaseClass({ componentName, baseSelector: '.wrapper' }) {\n static get observedAttributes() {\n return ['variant', 'readonly'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"wrapper\">\n <slot></slot>\n <slot name=\"empty-state\">\n No item...\n </slot>\n </div>\n\t`;\n\n injectStyle(\n `\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name=\"empty-state\"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name=\"empty-state\"] {\n display: none;\n }\n :host([empty]) slot[name=\"empty-state\"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n `,\n this\n );\n }\n\n get items() {\n return this.shadowRoot.querySelector('slot').assignedElements();\n }\n\n #handleEmptyState() {\n if (this.items.length === 0) {\n this.setAttribute('empty', 'true');\n } else {\n this.removeAttribute('empty');\n }\n }\n\n get variant() {\n return this.getAttribute('variant') || 'list';\n }\n\n #handleItemsVariant() {\n this.items.forEach((item) => {\n let listItem = item;\n if (listItem.localName !== ListItemClass.componentName) {\n listItem = item.querySelector(ListItemClass.componentName);\n }\n\n const listItemVariant = this.variant === 'tiles' ? 'tile' : 'row';\n listItem.setAttribute('variant', listItemVariant);\n });\n }\n\n init() {\n super.init?.();\n\n // we want new items to get the size\n observeChildren(this, () => {\n this.#handleEmptyState();\n this.#handleItemsVariant();\n this.#handleReadOnly();\n });\n }\n\n get isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n #handleReadOnly() {\n this.items.forEach((item) => {\n if (this.isReadOnly) item.setAttribute('inert', '');\n else item.removeAttribute('inert');\n });\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n if (newValue === oldValue) return;\n\n if (name === 'variant') {\n this.#handleItemsVariant();\n } else if (name === 'readonly') {\n this.#handleReadOnly();\n }\n }\n}\n\nexport const ListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n maxHeight: { selector: () => ':host' },\n minHeight: {},\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontFamily: {},\n gap: {},\n\n backgroundColor: {},\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n boxShadow: {},\n gridTemplateColumns: {},\n maxItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'max-width' },\n minItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'min-width' },\n itemsHorizontalAlign: { selector: () => '::slotted(*)', property: 'justify-self' },\n emptyStateTextColor: { selector: () => 'slot[name=\"empty-state\"]', property: 'color' },\n emptyStateTextFontFamily: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'font-family',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawList);\n","import { observeAttributes } from '../helpers/componentHelpers';\n\nconst defaultValidateSchema = () => true;\nconst defaultItemRenderer = (item) => `<pre>${JSON.stringify(item, null, 4)}</pre>`;\n\nconst createTemplate = (templateString) => {\n const template = document.createElement('template');\n template.innerHTML = templateString;\n\n return template;\n};\n\nconst getTemplateContent = (templateOrString) => {\n if (typeof templateOrString === 'string') {\n return createTemplate(templateOrString).content;\n }\n\n if (templateOrString instanceof HTMLTemplateElement) {\n return templateOrString.content;\n }\n\n // eslint-disable-next-line no-console\n console.error('Invalid template', templateOrString);\n return null;\n};\n\nexport const createDynamicDataMixin =\n ({\n itemRenderer = defaultItemRenderer,\n validateSchema = defaultValidateSchema,\n slotName,\n rerenderAttrsList = [],\n }) =>\n (superclass) =>\n class DynamicDataMixinClass extends superclass {\n #data = [];\n\n // eslint-disable-next-line class-methods-use-this\n #validateSchema(data) {\n if (!validateSchema) return true;\n\n const validation = validateSchema(data);\n if (validation === true) return true;\n\n // eslint-disable-next-line no-console\n console.error('Data schema validation failed', validation || '');\n\n return false;\n }\n\n #removeOldItems() {\n const selector = slotName ? `*[slot=\"${slotName}\"]` : ':not([slot])';\n this.baseElement.querySelectorAll(selector).forEach((item) => item.remove());\n }\n\n #renderItems() {\n this.#removeOldItems();\n this.data.forEach((item, index) => {\n const content = getTemplateContent(itemRenderer(item, index, this));\n this.baseElement.appendChild(content?.cloneNode(true));\n });\n }\n\n set data(value) {\n if (this.#validateSchema(value)) {\n this.#data = value;\n this.#renderItems();\n }\n }\n\n get data() {\n return this.#data;\n }\n\n init() {\n super.init?.();\n\n observeAttributes(\n this,\n (attrs) => {\n if (attrs.includes('data')) this.#handleDataAttr();\n else this.#renderItems();\n },\n { includeAttrs: [...rerenderAttrsList, 'data'] }\n );\n }\n\n #handleDataAttr() {\n const dataAttr = this.getAttribute('data');\n\n if (!dataAttr) return;\n\n try {\n this.data = JSON.parse(dataAttr);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Invalid JSON data', dataAttr);\n }\n }\n };\n","import { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';\nimport { createDynamicDataMixin } from '../../mixins/createDynamicDataMixin';\nimport { CheckboxClass } from '../boolean-fields/descope-checkbox/CheckboxClass';\nimport { SwitchToggleClass } from '../boolean-fields/descope-switch-toggle/SwitchToggleClass';\n\nexport const componentName = getComponentName('scopes-list');\nconst variants = ['checkbox', 'switch'];\n\nconst itemRenderer = ({ id, desc, required = false }, _, ref) => {\n const ComponentClass = ref.variant === 'checkbox' ? CheckboxClass : SwitchToggleClass;\n\n return `\n <${ComponentClass.componentName}\n bordered=\"true\"\n size=${ref.size}\n label=\"${desc}\"\n data-id=\"${id}\"\n readonly=\"${required || ref.isReadOnly}\"\n required=\"${required}\"\n checked=\"true\"\n ></${ComponentClass.componentName}>\n`;\n};\n\nclass RawScopesList extends createBaseClass({ componentName, baseSelector: 'div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div></div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n display: inline-flex;\n }\n\n div {\n display: flex;\n flex-direction: column;\n }\n `,\n this\n );\n }\n\n get isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n get size() {\n return this.getAttribute('size') || 'sm';\n }\n\n #getChildNodes() {\n return Array.from(this.shadowRoot.querySelector('div').children);\n }\n\n // eslint-disable-next-line class-methods-use-this\n reportValidity() {\n this.checkValidity();\n }\n\n // eslint-disable-next-line class-methods-use-this\n checkValidity() {\n return this.data.every((item) => !item.required || this.value.includes(item.id));\n }\n\n get value() {\n return this.#getChildNodes()\n .filter((node) => node.checked)\n .map((node) => node.getAttribute('data-id'));\n }\n\n set value(val = []) {\n this.#getChildNodes().forEach((node) => {\n // eslint-disable-next-line no-param-reassign\n node.checked = val.includes(node.getAttribute('data-id'));\n });\n }\n\n get variant() {\n const variant = this.getAttribute('variant');\n\n return variants.includes(variant) ? variant : variants[0];\n }\n}\n\nexport const ScopesListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: [\n { selector: () => ':host', property: 'direction' },\n {\n selector: () => CheckboxClass.componentName,\n property: CheckboxClass.cssVarList.hostDirection,\n },\n {\n selector: () => SwitchToggleClass.componentName,\n property: SwitchToggleClass.cssVarList.hostDirection,\n },\n ],\n gap: { selector: () => 'div', property: 'gap' },\n requiredInputBorderColor: [\n {\n selector: `${CheckboxClass.componentName}[required=\"true\"]`,\n property: CheckboxClass.cssVarList.inputBorderColor,\n },\n {\n selector: `${SwitchToggleClass.componentName}[required=\"true\"]`,\n property: SwitchToggleClass.cssVarList.inputBorderColor,\n },\n ],\n requiredInputValueTextColor: [\n {\n selector: `${CheckboxClass.componentName}[required=\"true\"]`,\n property: CheckboxClass.cssVarList.inputValueTextColor,\n },\n {\n selector: `${SwitchToggleClass.componentName}[required=\"true\"]`,\n property: SwitchToggleClass.cssVarList.knobColor,\n },\n ],\n },\n }),\n createDynamicDataMixin({ itemRenderer, rerenderAttrsList: ['size', 'variant'] }),\n draggableMixin,\n componentNameValidationMixin\n)(RawScopesList);\n","import { componentName, ScopesListClass } from './ScopesListClass';\nimport '@descope-ui/descope-list';\nimport '../boolean-fields/descope-checkbox';\nimport '../boolean-fields/descope-switch-toggle';\n\ncustomElements.define(componentName, ScopesListClass);\n\nexport { ScopesListClass, 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 { SlotController } from '@vaadin/component-base/src/slot-controller.js';\n\n/**\n * A controller to create and initialize slotted `<input>` element.\n */\nexport class InputController extends SlotController {\n constructor(host, callback) {\n super(host, 'input', 'input', {\n initializer: (node, host) => {\n if (host.value) {\n node.value = host.value;\n }\n if (host.type) {\n node.setAttribute('type', host.type);\n }\n\n // Ensure every instance has unique ID\n node.id = this.defaultId;\n\n if (typeof callback === 'function') {\n callback(node);\n }\n },\n useUniqueId: true,\n });\n }\n}\n","import { forwardAttrs, forwardProps, syncAttrs } from '../../helpers/componentHelpers';\nimport { componentName as descopeInternalComponentName } from './descope-boolean-field-internal/BooleanFieldInternal';\n\nexport const booleanFieldMixin = (superclass) =>\n class BooleanFieldMixinClass extends superclass {\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n template.innerHTML = `\n\t\t\t\t<${descopeInternalComponentName}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tslot=\"input\"\n\t\t\t\t></${descopeInternalComponentName}>\n\t\t\t`;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n this.checkbox = this.inputElement.querySelector('vaadin-checkbox');\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'required',\n 'full-width',\n 'size',\n 'label',\n 'invalid',\n 'disabled',\n 'readonly',\n ],\n });\n\n forwardProps(this.inputElement, this, ['checked']);\n syncAttrs(this, this.inputElement, { includeAttrs: ['checked'] });\n }\n };\n","import { componentName, SwitchToggleClass } from './SwitchToggleClass';\nimport '@vaadin/checkbox';\nimport '@vaadin/text-field';\nimport '../descope-boolean-field-internal';\n\ncustomElements.define(componentName, SwitchToggleClass);\n\nexport { SwitchToggleClass, componentName };\n","import { componentName, ListItemClass } from './ListItemClass';\n\ncustomElements.define(componentName, ListItemClass);\n\nexport { ListItemClass, componentName };\n","import { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('boolean-field-internal');\n\nconst forwardAttributes = ['disabled', 'label', 'invalid', 'readonly'];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass BooleanInputInternal extends BaseInputClass {\n static get observedAttributes() {\n return ['readonly'];\n }\n\n constructor() {\n super();\n this.innerHTML = `\n\t\t\t<div class=\"wrapper\">\n\t\t\t\t<vaadin-checkbox></vaadin-checkbox>\n\t\t\t</div>\n\t\t`;\n this.wrapperEle = this.querySelector('div');\n this.checkbox = this.querySelector('vaadin-checkbox');\n }\n\n get value() {\n return this.checkbox?.checked;\n }\n\n set value(val) {\n this.checkbox.checked = val;\n }\n\n get checked() {\n return this.value;\n }\n\n set checked(val) {\n this.value = val;\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n if (e.isTrusted) {\n this.checkbox.focus();\n }\n });\n super.init?.();\n\n forwardAttrs(this, this.checkbox, { includeAttrs: forwardAttributes });\n syncAttrs(this, this.checkbox, { includeAttrs: ['checked'] });\n\n // we need it in order to set the focus ring and trigger validation on descope-checkbox\n this.handleFocusEventsDispatching([this.checkbox]);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'readonly') {\n this.onReadOnlyChange(newValue !== null);\n }\n }\n\n onReadOnlyChange(val) {\n this.baseElement.setAttribute('inert', val);\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n return {};\n }\n}\n\nexport default BooleanInputInternal;\n","import '@descope-ui/descope-list-item';\n\nimport { componentName, ListClass } from './ListClass';\n\ncustomElements.define(componentName, ListClass);\n\nexport { ListClass, componentName };\n","import { resetInputFieldDefaultWidth } from '../../helpers/themeHelpers/resetHelpers';\n\nexport default `\n:host {\n\tdisplay: inline-flex;\n}\n\n${resetInputFieldDefaultWidth()}\n\n.wrapper {\n\tdisplay: flex;\n\tbox-sizing: border-box;\n}\nvaadin-text-field {\n\tposition: relative;\n\tpadding: 0;\n\tdisplay: inline-flex;\n\talign-items: flex-start;\n}\nvaadin-text-field::before {\n content: unset;\n}\nvaadin-text-field::part(label) {\n position: absolute;\n top: 0;\n}\nvaadin-text-field::part(input-field) {\n\tpadding: 0;\n\tbackground: none;\n\tmin-height: 0;\n}\nvaadin-text-field::part(input-field)::after {\n background: none;\n}\nvaadin-text-field[focus-ring]::part(input-field) {\n\tbox-shadow: none;\n}\n\nvaadin-checkbox [slot=\"label\"] {\n align-self: flex-start;\n padding: 0;\n}\n[required] vaadin-checkbox [slot=\"label\"]:not(:empty) {\n\tpadding-inline-end: 1em;\n}\ndescope-boolean-field-internal {\n -webkit-mask-image: none;\n min-height: initial;\n}\n`;\n","import { componentName, CheckboxClass } from './CheckboxClass';\nimport '@vaadin/checkbox';\nimport '@vaadin/text-field';\nimport '../descope-boolean-field-internal';\n\ncustomElements.define(componentName, CheckboxClass);\n\nexport { CheckboxClass, componentName };\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport {\n createStyleMixin,\n proxyInputMixin,\n draggableMixin,\n componentNameValidationMixin,\n createProxy,\n} from '../../../mixins';\nimport { booleanFieldMixin } from '../booleanFieldMixin';\nimport commonStyles from '../commonStyles';\nimport { useHostExternalPadding } from '../../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('checkbox');\n\nconst {\n host,\n component,\n checkboxElement,\n checkboxSurface,\n checkboxLabel,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n requiredIndicator: { selector: '[required] vaadin-checkbox [slot=\"label\"]:not(:empty)::after' },\n component: { selector: 'vaadin-checkbox' },\n checkboxElement: { selector: 'vaadin-checkbox::part(checkbox)' },\n checkboxSurface: { selector: 'vaadin-checkbox::part(checkbox)::after' },\n checkboxLabel: { selector: 'vaadin-checkbox [slot=\"label\"]:not(:empty)' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const CheckboxClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n\n fontSize: [host, checkboxElement, checkboxLabel],\n fontFamily: [checkboxLabel, helperText, errorMessage],\n\n labelTextColor: { ...checkboxLabel, property: 'color' },\n labelSpacing: { ...checkboxLabel, property: 'padding-inline-start' },\n labelLineHeight: { ...checkboxLabel, property: 'line-height' },\n labelFontWeight: { ...checkboxLabel, property: 'font-weight' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n errorMessageFontSize: { ...errorMessage, property: 'font-size' },\n\n inputValueTextColor: { ...checkboxSurface, property: 'color' },\n inputBackgroundColor: { ...checkboxElement, property: 'background-color' },\n\n inputBorderRadius: { ...checkboxElement, property: 'border-radius' },\n inputBorderWidth: { ...checkboxElement, property: 'border-width' },\n inputBorderOffset: { ...checkboxElement, property: 'border-offset' },\n inputBorderColor: { ...checkboxElement, property: 'border-color' },\n inputBorderStyle: { ...checkboxElement, property: 'border-style' },\n\n inputOutlineWidth: { ...checkboxElement, property: 'outline-width' },\n inputOutlineOffset: { ...checkboxElement, property: 'outline-offset' },\n inputOutlineColor: { ...checkboxElement, property: 'outline-color' },\n inputOutlineStyle: { ...checkboxElement, property: 'outline-style' },\n\n inputSize: [\n { ...checkboxElement, property: 'width' },\n { ...checkboxElement, property: 'height' },\n { ...checkboxSurface, property: 'font-size' },\n { ...component, property: 'font-size' },\n ],\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n booleanFieldMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t${commonStyles}\n ${useHostExternalPadding(CheckboxClass.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n margin: 1px;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n height: 100%;\n }\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(checkbox)::after {\n top: 0;\n left: 0;\n -webkit-text-fill-color: initial;\n }\n\n vaadin-checkbox label {\n -webkit-text-fill-color: initial;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n `,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n","export const useHostExternalPadding = (cssVarList) => `\n :host {\n padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))\n }\n`;\n\nexport const resetInputFieldUnderlayingBorder = (name) => `\n ${name}::part(input-field)::after {\n border: none;\n }\n`;\n\nexport const resetInitialHeight = (name) => `\n ${name}::before {\n\t\theight: unset;\n\t}\n`;\n\nexport const resetInputElement = (name) => `\n ${name} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputContainer = (name) => `\n ${name} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputField = (name) => `\n ${name}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`;\n\nexport const resetInputCursor = (name) => `\n ${name} > label,\n ${name}::part(label),\n ${name}::part(required-indicator) {\n cursor: pointer;\n }\n`;\n\nexport const resetInputPlaceholder = (name, ele = 'input') => `\n ${name}[disabled] > ${ele}:placeholder-shown,\n\t${name}[readonly] > ${ele}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`;\n\nexport const resetInputAutoFill = (name, cssVarList) => `\n ${name} input:-webkit-autofill,\n ${name} input:-webkit-autofill::first-line,\n ${name} input:-webkit-autofill:hover,\n ${name} input:-webkit-autofill:active,\n ${name} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});\n box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;\n }\n`;\n\nexport const resetInputFieldDefaultWidth = () => `\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputReadonlyStyle = (name) => `\n ${name}::part(input-field)::after {\n opacity: 0;\n }\n`;\n\nexport const resetInputFieldInvalidBackgroundColor = (name) => `\n ${name}::part(input-field)::after {\n background: none;\n }\n`;\n\nexport const resetInputOverrides = (name, cssVarList) => `\n ${resetInputContainer(name)}\n ${resetInputCursor(name)}\n ${resetInputPlaceholder(name)}\n ${resetInputField(name)}\n ${resetInputAutoFill(name, cssVarList)}\n ${resetInputFieldInvalidBackgroundColor(name)}\n ${resetInitialHeight(name)}\n ${resetInputElement(name)}\n ${resetInputFieldUnderlayingBorder(name)}\n`;\n\n// This function is used to support RTL correctly for input components.\n// It also fixes the error message to be displayed LTR since we currently\n// don't support RTL for error messages.\nexport const resetInputLabelPosition = (name) => `\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${name} [slot=\"label\"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`;\n\nexport const inputFloatingLabelStyle = () => {\n return `\n :host([label-type=\"floating\"]) {\n position: relative;\n }\n :host([label-type=\"floating\"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n `;\n};\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport {\n createStyleMixin,\n proxyInputMixin,\n draggableMixin,\n componentNameValidationMixin,\n createProxy,\n} from '../../../mixins';\nimport { booleanFieldMixin } from '../booleanFieldMixin';\nimport commonStyles from '../commonStyles';\nimport { useHostExternalPadding } from '../../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('switch-toggle');\n\nconst {\n host,\n component,\n checkboxElement: track,\n checkboxSurface: knob,\n checkboxLabel,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n requiredIndicator: { selector: '[required] vaadin-checkbox [slot=\"label\"]:not(:empty)::after' },\n component: { selector: 'vaadin-checkbox' },\n checkboxElement: { selector: 'vaadin-checkbox::part(checkbox)' },\n checkboxSurface: { selector: 'vaadin-checkbox::part(checkbox)::after' },\n checkboxLabel: { selector: 'vaadin-checkbox [slot=\"label\"]:not(:empty)' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const SwitchToggleClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n\n fontSize: [component, checkboxLabel, checkboxLabel],\n fontFamily: [checkboxLabel, helperText, errorMessage],\n\n labelTextColor: [\n { ...checkboxLabel, property: 'color' },\n { ...checkboxLabel, property: '-webkit-text-fill-color' },\n ],\n labelSpacing: { ...checkboxLabel, property: 'padding-inline-start' },\n labelLineHeight: { ...checkboxLabel, property: 'line-height' },\n labelFontWeight: { ...checkboxLabel, property: 'font-weight' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n errorMessageFontSize: { ...errorMessage, property: 'font-size' },\n\n trackBorderWidth: { ...track, property: 'border-width' },\n trackBorderStyle: { ...track, property: 'border-style' },\n trackBorderColor: { ...track, property: 'border-color' },\n trackBackgroundColor: { ...track, property: 'background-color' },\n trackBorderRadius: { ...track, property: 'border-radius' },\n trackWidth: [{ ...track, property: 'width' }],\n trackHeight: [\n { ...knob, property: 'font-size' },\n { ...track, property: 'height' },\n ],\n\n knobSize: [\n { ...knob, property: 'width' },\n { ...knob, property: 'height' },\n ],\n knobTextColor: { ...knob, property: 'color' },\n knobRadius: { ...knob, property: 'border-radius' },\n knobTransitionDuration: { ...knob, property: 'transition' },\n knobColor: { ...knob, property: 'background-color' },\n knobTopOffset: { ...knob, property: 'top' },\n knobLeftOffset: { ...knob, property: 'left' },\n\n inputOutlineWidth: { ...track, property: 'outline-width' },\n inputOutlineOffset: { ...track, property: 'outline-offset' },\n inputOutlineColor: { ...track, property: 'outline-color' },\n inputOutlineStyle: { ...track, property: 'outline-style' },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n booleanFieldMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t${commonStyles}\n\t\t\t${useHostExternalPadding(SwitchToggleClass.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n width: 100%;\n }\n\n vaadin-text-field::part(input-field) {\n cursor: pointer;\n }\n\n vaadin-checkbox {\n cursor: pointer;\n }\n\n vaadin-checkbox [slot=\"label\"]:not(:empty) {\n cursor: pointer;\n\t\t\t}\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n\t\t\t}\n\n vaadin-checkbox::part(checkbox)::before {\n content: '';\n\t\t\t}\n\n vaadin-checkbox[active]::part(checkbox) {\n\t\t\t\ttransform: none;\n\t\t\t}\n\n vaadin-checkbox::part(checkbox)::after {\n\t\t\t\tposition: absolute;\n\t\t\t\topacity: 1;\n\t\t\t\tcontent: '';\n\t\t\t}\n\t\t`,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n activeableMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport { getComponentName } from '@descope-ui/common/components-helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('list-item');\n\nconst customMixin = (superclass) =>\n class ListItemMixinClass extends superclass {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot></slot>\n `;\n\n injectStyle(\n `\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n `,\n this\n );\n }\n };\n\nexport const ListItemClass = compose(\n createStyleMixin({\n mappings: {\n padding: {},\n backgroundColor: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n borderRadius: {},\n outline: {},\n cursor: {},\n gap: {},\n maxWidth: { selector: () => ':host' },\n alignItems: {},\n flexDirection: {},\n transition: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin,\n activeableMixin\n)(createBaseClass({ componentName, baseSelector: 'slot' }));\n"],"names":["customElements","define","createBaseInputClass","args","componentName","RawList","baseSelector","observedAttributes","constructor","super","this","attachShadow","mode","innerHTML","items","shadowRoot","querySelector","assignedElements","length","setAttribute","removeAttribute","variant","getAttribute","forEach","item","listItem","localName","listItemVariant","init","isReadOnly","attributeChangedCallback","name","oldValue","newValue","ListClass","mappings","hostWidth","selector","property","maxHeight","minHeight","verticalPadding","horizontalPadding","hostDirection","fontFamily","gap","backgroundColor","borderRadius","borderColor","borderStyle","borderWidth","boxShadow","gridTemplateColumns","maxItemsWidth","minItemsWidth","itemsHorizontalAlign","emptyStateTextColor","emptyStateTextFontFamily","defaultValidateSchema","defaultItemRenderer","JSON","stringify","variants","RawScopesList","createBaseClass","size","Array","from","children","reportValidity","checkValidity","data","every","required","value","includes","id","filter","node","checked","map","val","ScopesListClass","CheckboxClass","cssVarList","SwitchToggleClass","requiredInputBorderColor","inputBorderColor","requiredInputValueTextColor","inputValueTextColor","knobColor","itemRenderer","validateSchema","slotName","rerenderAttrsList","superclass","validation","console","error","baseElement","querySelectorAll","remove","index","content","templateOrString","templateString","template","document","createElement","createTemplate","HTMLTemplateElement","appendChild","cloneNode","attrs","includeAttrs","dataAttr","parse","e","warn","createDynamicDataMixin","desc","_","ref","ComponentClass","InputController","host","callback","initializer","type","defaultId","useUniqueId","booleanFieldMixin","inputElement","checkbox","forwardAttributes","BaseInputClass","wrapperEle","addEventListener","isTrusted","focus","handleFocusEventsDispatching","attrName","onReadOnlyChange","getValidity","isRequired","valueMissing","component","checkboxElement","checkboxSurface","checkboxLabel","requiredIndicator","helperText","errorMessage","fontSize","labelTextColor","labelSpacing","labelLineHeight","labelFontWeight","labelRequiredIndicator","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","inputBackgroundColor","inputBorderRadius","inputBorderWidth","inputBorderOffset","inputBorderStyle","inputOutlineWidth","inputOutlineOffset","inputOutlineColor","inputOutlineStyle","inputSize","proxyProps","slots","wrappedEleName","style","excludeAttrsSync","useHostExternalPadding","resetInputContainer","resetInputField","resetInputCursor","resetInputPlaceholder","ele","resetInputFieldDefaultWidth","resetInputReadonlyStyle","resetInputFieldInvalidBackgroundColor","resetInputOverrides","inputHeight","resetInputAutoFill","resetInitialHeight","resetInputElement","resetInputFieldUnderlayingBorder","resetInputLabelPosition","inputFloatingLabelStyle","track","knob","trackBorderWidth","trackBorderStyle","trackBorderColor","trackBackgroundColor","trackBorderRadius","trackWidth","trackHeight","knobSize","knobTextColor","knobRadius","knobTransitionDuration","knobTopOffset","knobLeftOffset","ListItemClass","padding","outline","cursor","maxWidth","alignItems","flexDirection","transition"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"descope-scopes-list-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/index.js","webpack://@descope/web-components-ui/./src/baseClasses/createBaseInputClass.js","webpack://@descope/web-components-ui/../components/descope-list/src/component/ListClass.js","webpack://@descope/web-components-ui/./src/mixins/createDynamicDataMixin.js","webpack://@descope/web-components-ui/./src/components/descope-scopes-list/ScopesListClass.js","webpack://@descope/web-components-ui/./src/components/descope-scopes-list/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/booleanFieldMixin.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-switch-toggle/index.js","webpack://@descope/web-components-ui/../components/descope-list-item/src/component/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-boolean-field-internal/BooleanFieldInternal.js","webpack://@descope/web-components-ui/../components/descope-list/src/component/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/commonStyles.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/index.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-checkbox/CheckboxClass.js","webpack://@descope/web-components-ui/./src/helpers/themeHelpers/resetHelpers.js","webpack://@descope/web-components-ui/./src/components/boolean-fields/descope-switch-toggle/SwitchToggleClass.js","webpack://@descope/web-components-ui/../components/descope-list-item/src/component/ListItemClass.js"],"sourcesContent":["import BooleanFieldInternal, { componentName } from './BooleanFieldInternal';\n\ncustomElements.define(componentName, BooleanFieldInternal);\n","import { compose } from '../helpers';\nimport {\n changeMixin,\n inputEventsDispatchingMixin,\n inputValidationMixin,\n normalizeBooleanAttributesMixin,\n} from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createBaseInputClass = (...args) =>\n compose(\n inputValidationMixin,\n changeMixin,\n normalizeBooleanAttributesMixin,\n inputEventsDispatchingMixin\n )(createBaseClass(...args));\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 observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\nimport { ListItemClass } from '@descope-ui/descope-list-item/class';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('list');\n\nclass RawList extends createBaseClass({\n componentName,\n baseSelector: '.wrapper',\n}) {\n static get observedAttributes() {\n return ['variant', 'readonly'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"wrapper\">\n <slot></slot>\n <slot name=\"empty-state\">\n No item...\n </slot>\n </div>\n\t`;\n\n injectStyle(\n `\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name=\"empty-state\"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name=\"empty-state\"] {\n display: none;\n }\n :host([empty]) slot[name=\"empty-state\"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n `,\n this,\n );\n }\n\n get items() {\n return this.shadowRoot.querySelector('slot').assignedElements();\n }\n\n #handleEmptyState() {\n if (this.items.length === 0) {\n this.setAttribute('empty', 'true');\n } else {\n this.removeAttribute('empty');\n }\n }\n\n get variant() {\n return this.getAttribute('variant') || 'list';\n }\n\n #handleItemsVariant() {\n this.items.forEach((item) => {\n let listItem = item;\n if (listItem.localName !== ListItemClass.componentName) {\n listItem = item.querySelector(ListItemClass.componentName);\n }\n\n const listItemVariant = this.variant === 'tiles' ? 'tile' : 'row';\n listItem?.setAttribute('variant', listItemVariant);\n });\n }\n\n init() {\n super.init?.();\n\n // we want new items to get the size\n observeChildren(this, () => {\n this.#handleEmptyState();\n this.#handleItemsVariant();\n this.#handleReadOnly();\n });\n }\n\n get isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n #handleReadOnly() {\n this.items.forEach((item) => {\n if (this.isReadOnly) item.setAttribute('inert', '');\n else item.removeAttribute('inert');\n });\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n if (newValue === oldValue) return;\n\n if (name === 'variant') {\n this.#handleItemsVariant();\n } else if (name === 'readonly') {\n this.#handleReadOnly();\n }\n }\n}\n\nexport const ListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n maxHeight: { selector: () => ':host' },\n minHeight: {},\n verticalPadding: [\n { property: 'padding-top' },\n { property: 'padding-bottom' },\n ],\n horizontalPadding: [\n { property: 'padding-left' },\n { property: 'padding-right' },\n ],\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontFamily: {},\n gap: {},\n\n backgroundColor: {},\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n boxShadow: {},\n gridTemplateColumns: {},\n maxItemsWidth: {\n selector: () => '::slotted(:not([slot]))',\n property: 'max-width',\n },\n minItemsWidth: {\n selector: () => '::slotted(:not([slot]))',\n property: 'min-width',\n },\n itemsHorizontalAlign: {\n selector: () => '::slotted(*)',\n property: 'justify-self',\n },\n emptyStateTextColor: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'color',\n },\n emptyStateTextFontFamily: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'font-family',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawList);\n","import { observeAttributes } from '../helpers/componentHelpers';\n\nconst defaultValidateSchema = () => true;\nconst defaultItemRenderer = (item) => `<pre>${JSON.stringify(item, null, 4)}</pre>`;\n\nconst createTemplate = (templateString) => {\n const template = document.createElement('template');\n template.innerHTML = templateString;\n\n return template;\n};\n\nconst getTemplateContent = (templateOrString) => {\n if (typeof templateOrString === 'string') {\n return createTemplate(templateOrString).content;\n }\n\n if (templateOrString instanceof HTMLTemplateElement) {\n return templateOrString.content;\n }\n\n // eslint-disable-next-line no-console\n console.error('Invalid template', templateOrString);\n return null;\n};\n\nexport const createDynamicDataMixin =\n ({\n itemRenderer = defaultItemRenderer,\n validateSchema = defaultValidateSchema,\n slotName,\n rerenderAttrsList = [],\n }) =>\n (superclass) =>\n class DynamicDataMixinClass extends superclass {\n #data = [];\n\n // eslint-disable-next-line class-methods-use-this\n #validateSchema(data) {\n if (!validateSchema) return true;\n\n const validation = validateSchema(data);\n if (validation === true) return true;\n\n // eslint-disable-next-line no-console\n console.error('Data schema validation failed', validation || '');\n\n return false;\n }\n\n #removeOldItems() {\n const selector = slotName ? `*[slot=\"${slotName}\"]` : ':not([slot])';\n this.baseElement.querySelectorAll(selector).forEach((item) => item.remove());\n }\n\n #renderItems() {\n this.#removeOldItems();\n this.data.forEach((item, index) => {\n const content = getTemplateContent(itemRenderer(item, index, this));\n this.baseElement.appendChild(content?.cloneNode(true));\n });\n }\n\n set data(value) {\n if (this.#validateSchema(value)) {\n this.#data = value;\n this.#renderItems();\n }\n }\n\n get data() {\n return this.#data;\n }\n\n init() {\n super.init?.();\n\n observeAttributes(\n this,\n (attrs) => {\n if (attrs.includes('data')) this.#handleDataAttr();\n else this.#renderItems();\n },\n { includeAttrs: [...rerenderAttrsList, 'data'] }\n );\n }\n\n #handleDataAttr() {\n const dataAttr = this.getAttribute('data');\n\n if (!dataAttr) return;\n\n try {\n this.data = JSON.parse(dataAttr);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Invalid JSON data', dataAttr);\n }\n }\n };\n","import { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';\nimport { createDynamicDataMixin } from '../../mixins/createDynamicDataMixin';\nimport { CheckboxClass } from '../boolean-fields/descope-checkbox/CheckboxClass';\nimport { SwitchToggleClass } from '../boolean-fields/descope-switch-toggle/SwitchToggleClass';\n\nexport const componentName = getComponentName('scopes-list');\nconst variants = ['checkbox', 'switch'];\n\nconst itemRenderer = ({ id, desc, required = false }, _, ref) => {\n const ComponentClass = ref.variant === 'checkbox' ? CheckboxClass : SwitchToggleClass;\n\n return `\n <${ComponentClass.componentName}\n bordered=\"true\"\n size=${ref.size}\n label=\"${desc}\"\n data-id=\"${id}\"\n readonly=\"${required || ref.isReadOnly}\"\n required=\"${required}\"\n checked=\"true\"\n ></${ComponentClass.componentName}>\n`;\n};\n\nclass RawScopesList extends createBaseClass({ componentName, baseSelector: 'div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div></div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n display: inline-flex;\n }\n\n div {\n display: flex;\n flex-direction: column;\n }\n `,\n this\n );\n }\n\n get isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n get size() {\n return this.getAttribute('size') || 'sm';\n }\n\n #getChildNodes() {\n return Array.from(this.shadowRoot.querySelector('div').children);\n }\n\n // eslint-disable-next-line class-methods-use-this\n reportValidity() {\n this.checkValidity();\n }\n\n // eslint-disable-next-line class-methods-use-this\n checkValidity() {\n return this.data.every((item) => !item.required || this.value.includes(item.id));\n }\n\n get value() {\n return this.#getChildNodes()\n .filter((node) => node.checked)\n .map((node) => node.getAttribute('data-id'));\n }\n\n set value(val = []) {\n this.#getChildNodes().forEach((node) => {\n // eslint-disable-next-line no-param-reassign\n node.checked = val.includes(node.getAttribute('data-id'));\n });\n }\n\n get variant() {\n const variant = this.getAttribute('variant');\n\n return variants.includes(variant) ? variant : variants[0];\n }\n}\n\nexport const ScopesListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: [\n { selector: () => ':host', property: 'direction' },\n {\n selector: () => CheckboxClass.componentName,\n property: CheckboxClass.cssVarList.hostDirection,\n },\n {\n selector: () => SwitchToggleClass.componentName,\n property: SwitchToggleClass.cssVarList.hostDirection,\n },\n ],\n gap: { selector: () => 'div', property: 'gap' },\n requiredInputBorderColor: [\n {\n selector: `${CheckboxClass.componentName}[required=\"true\"]`,\n property: CheckboxClass.cssVarList.inputBorderColor,\n },\n {\n selector: `${SwitchToggleClass.componentName}[required=\"true\"]`,\n property: SwitchToggleClass.cssVarList.inputBorderColor,\n },\n ],\n requiredInputValueTextColor: [\n {\n selector: `${CheckboxClass.componentName}[required=\"true\"]`,\n property: CheckboxClass.cssVarList.inputValueTextColor,\n },\n {\n selector: `${SwitchToggleClass.componentName}[required=\"true\"]`,\n property: SwitchToggleClass.cssVarList.knobColor,\n },\n ],\n },\n }),\n createDynamicDataMixin({ itemRenderer, rerenderAttrsList: ['size', 'variant'] }),\n draggableMixin,\n componentNameValidationMixin\n)(RawScopesList);\n","import { componentName, ScopesListClass } from './ScopesListClass';\nimport '@descope-ui/descope-list';\nimport '../boolean-fields/descope-checkbox';\nimport '../boolean-fields/descope-switch-toggle';\n\ncustomElements.define(componentName, ScopesListClass);\n\nexport { ScopesListClass, 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 { SlotController } from '@vaadin/component-base/src/slot-controller.js';\n\n/**\n * A controller to create and initialize slotted `<input>` element.\n */\nexport class InputController extends SlotController {\n constructor(host, callback) {\n super(host, 'input', 'input', {\n initializer: (node, host) => {\n if (host.value) {\n node.value = host.value;\n }\n if (host.type) {\n node.setAttribute('type', host.type);\n }\n\n // Ensure every instance has unique ID\n node.id = this.defaultId;\n\n if (typeof callback === 'function') {\n callback(node);\n }\n },\n useUniqueId: true,\n });\n }\n}\n","import { forwardAttrs, forwardProps, syncAttrs } from '../../helpers/componentHelpers';\nimport { componentName as descopeInternalComponentName } from './descope-boolean-field-internal/BooleanFieldInternal';\n\nexport const booleanFieldMixin = (superclass) =>\n class BooleanFieldMixinClass extends superclass {\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n template.innerHTML = `\n\t\t\t\t<${descopeInternalComponentName}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\tslot=\"input\"\n\t\t\t\t></${descopeInternalComponentName}>\n\t\t\t`;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n this.checkbox = this.inputElement.querySelector('vaadin-checkbox');\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'required',\n 'full-width',\n 'size',\n 'label',\n 'invalid',\n 'disabled',\n 'readonly',\n ],\n });\n\n forwardProps(this.inputElement, this, ['checked']);\n syncAttrs(this, this.inputElement, { includeAttrs: ['checked'] });\n }\n };\n","import { componentName, SwitchToggleClass } from './SwitchToggleClass';\nimport '@vaadin/checkbox';\nimport '@vaadin/text-field';\nimport '../descope-boolean-field-internal';\n\ncustomElements.define(componentName, SwitchToggleClass);\n\nexport { SwitchToggleClass, componentName };\n","import { componentName, ListItemClass } from './ListItemClass';\n\ncustomElements.define(componentName, ListItemClass);\n\nexport { ListItemClass, componentName };\n","import { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('boolean-field-internal');\n\nconst forwardAttributes = ['disabled', 'label', 'invalid', 'readonly'];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass BooleanInputInternal extends BaseInputClass {\n static get observedAttributes() {\n return ['readonly'];\n }\n\n constructor() {\n super();\n this.innerHTML = `\n\t\t\t<div class=\"wrapper\">\n\t\t\t\t<vaadin-checkbox></vaadin-checkbox>\n\t\t\t</div>\n\t\t`;\n this.wrapperEle = this.querySelector('div');\n this.checkbox = this.querySelector('vaadin-checkbox');\n }\n\n get value() {\n return this.checkbox?.checked;\n }\n\n set value(val) {\n this.checkbox.checked = val;\n }\n\n get checked() {\n return this.value;\n }\n\n set checked(val) {\n this.value = val;\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n if (e.isTrusted) {\n this.checkbox.focus();\n }\n });\n super.init?.();\n\n forwardAttrs(this, this.checkbox, { includeAttrs: forwardAttributes });\n syncAttrs(this, this.checkbox, { includeAttrs: ['checked'] });\n\n // we need it in order to set the focus ring and trigger validation on descope-checkbox\n this.handleFocusEventsDispatching([this.checkbox]);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'readonly') {\n this.onReadOnlyChange(newValue !== null);\n }\n }\n\n onReadOnlyChange(val) {\n this.baseElement.setAttribute('inert', val);\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n return {};\n }\n}\n\nexport default BooleanInputInternal;\n","import '@descope-ui/descope-list-item';\n\nimport { componentName, ListClass } from './ListClass';\n\ncustomElements.define(componentName, ListClass);\n\nexport { ListClass, componentName };\n","import { resetInputFieldDefaultWidth } from '../../helpers/themeHelpers/resetHelpers';\n\nexport default `\n:host {\n\tdisplay: inline-flex;\n}\n\n${resetInputFieldDefaultWidth()}\n\n.wrapper {\n\tdisplay: flex;\n\tbox-sizing: border-box;\n}\nvaadin-text-field {\n\tposition: relative;\n\tpadding: 0;\n\tdisplay: inline-flex;\n\talign-items: flex-start;\n}\nvaadin-text-field::before {\n content: unset;\n}\nvaadin-text-field::part(label) {\n position: absolute;\n top: 0;\n}\nvaadin-text-field::part(input-field) {\n\tpadding: 0;\n\tbackground: none;\n\tmin-height: 0;\n}\nvaadin-text-field::part(input-field)::after {\n background: none;\n}\nvaadin-text-field[focus-ring]::part(input-field) {\n\tbox-shadow: none;\n}\n\nvaadin-checkbox [slot=\"label\"] {\n align-self: flex-start;\n padding: 0;\n}\n[required] vaadin-checkbox [slot=\"label\"]:not(:empty) {\n\tpadding-inline-end: 1em;\n}\ndescope-boolean-field-internal {\n -webkit-mask-image: none;\n min-height: initial;\n}\n`;\n","import { componentName, CheckboxClass } from './CheckboxClass';\nimport '@vaadin/checkbox';\nimport '@vaadin/text-field';\nimport '../descope-boolean-field-internal';\n\ncustomElements.define(componentName, CheckboxClass);\n\nexport { CheckboxClass, componentName };\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport {\n createStyleMixin,\n proxyInputMixin,\n draggableMixin,\n componentNameValidationMixin,\n createProxy,\n} from '../../../mixins';\nimport { booleanFieldMixin } from '../booleanFieldMixin';\nimport commonStyles from '../commonStyles';\nimport { useHostExternalPadding } from '../../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('checkbox');\n\nconst {\n host,\n component,\n checkboxElement,\n checkboxSurface,\n checkboxLabel,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n requiredIndicator: { selector: '[required] vaadin-checkbox [slot=\"label\"]:not(:empty)::after' },\n component: { selector: 'vaadin-checkbox' },\n checkboxElement: { selector: 'vaadin-checkbox::part(checkbox)' },\n checkboxSurface: { selector: 'vaadin-checkbox::part(checkbox)::after' },\n checkboxLabel: { selector: 'vaadin-checkbox [slot=\"label\"]:not(:empty)' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const CheckboxClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n\n fontSize: [host, checkboxElement, checkboxLabel],\n fontFamily: [checkboxLabel, helperText, errorMessage],\n\n labelTextColor: { ...checkboxLabel, property: 'color' },\n labelSpacing: { ...checkboxLabel, property: 'padding-inline-start' },\n labelLineHeight: { ...checkboxLabel, property: 'line-height' },\n labelFontWeight: { ...checkboxLabel, property: 'font-weight' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n errorMessageFontSize: { ...errorMessage, property: 'font-size' },\n\n inputValueTextColor: { ...checkboxSurface, property: 'color' },\n inputBackgroundColor: { ...checkboxElement, property: 'background-color' },\n\n inputBorderRadius: { ...checkboxElement, property: 'border-radius' },\n inputBorderWidth: { ...checkboxElement, property: 'border-width' },\n inputBorderOffset: { ...checkboxElement, property: 'border-offset' },\n inputBorderColor: { ...checkboxElement, property: 'border-color' },\n inputBorderStyle: { ...checkboxElement, property: 'border-style' },\n\n inputOutlineWidth: { ...checkboxElement, property: 'outline-width' },\n inputOutlineOffset: { ...checkboxElement, property: 'outline-offset' },\n inputOutlineColor: { ...checkboxElement, property: 'outline-color' },\n inputOutlineStyle: { ...checkboxElement, property: 'outline-style' },\n\n inputSize: [\n { ...checkboxElement, property: 'width' },\n { ...checkboxElement, property: 'height' },\n { ...checkboxSurface, property: 'font-size' },\n { ...component, property: 'font-size' },\n ],\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n booleanFieldMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t${commonStyles}\n ${useHostExternalPadding(CheckboxClass.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n margin: 1px;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n height: 100%;\n }\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(checkbox)::after {\n top: 0;\n left: 0;\n -webkit-text-fill-color: initial;\n }\n\n vaadin-checkbox label {\n -webkit-text-fill-color: initial;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n `,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n","export const useHostExternalPadding = (cssVarList) => `\n :host {\n padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))\n }\n`;\n\nexport const resetInputFieldUnderlayingBorder = (name) => `\n ${name}::part(input-field)::after {\n border: none;\n }\n`;\n\nexport const resetInitialHeight = (name) => `\n ${name}::before {\n\t\theight: unset;\n\t}\n`;\n\nexport const resetInputElement = (name) => `\n ${name} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputContainer = (name) => `\n ${name} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputField = (name) => `\n ${name}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`;\n\nexport const resetInputCursor = (name) => `\n ${name} > label,\n ${name}::part(label),\n ${name}::part(required-indicator) {\n cursor: pointer;\n }\n`;\n\nexport const resetInputPlaceholder = (name, ele = 'input') => `\n ${name}[disabled] > ${ele}:placeholder-shown,\n\t${name}[readonly] > ${ele}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`;\n\nexport const resetInputAutoFill = (name, cssVarList) => `\n ${name} input:-webkit-autofill,\n ${name} input:-webkit-autofill::first-line,\n ${name} input:-webkit-autofill:hover,\n ${name} input:-webkit-autofill:active,\n ${name} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});\n box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;\n }\n`;\n\nexport const resetInputFieldDefaultWidth = () => `\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n`;\n\nexport const resetInputReadonlyStyle = (name) => `\n ${name}::part(input-field)::after {\n opacity: 0;\n }\n`;\n\nexport const resetInputFieldInvalidBackgroundColor = (name) => `\n ${name}::part(input-field)::after {\n background: none;\n }\n`;\n\nexport const resetInputOverrides = (name, cssVarList) => `\n ${resetInputContainer(name)}\n ${resetInputCursor(name)}\n ${resetInputPlaceholder(name)}\n ${resetInputField(name)}\n ${resetInputAutoFill(name, cssVarList)}\n ${resetInputFieldInvalidBackgroundColor(name)}\n ${resetInitialHeight(name)}\n ${resetInputElement(name)}\n ${resetInputFieldUnderlayingBorder(name)}\n`;\n\n// This function is used to support RTL correctly for input components.\n// It also fixes the error message to be displayed LTR since we currently\n// don't support RTL for error messages.\nexport const resetInputLabelPosition = (name) => `\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${name} [slot=\"label\"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`;\n\nexport const inputFloatingLabelStyle = () => {\n return `\n :host([label-type=\"floating\"]) {\n position: relative;\n }\n :host([label-type=\"floating\"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n `;\n};\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport {\n createStyleMixin,\n proxyInputMixin,\n draggableMixin,\n componentNameValidationMixin,\n createProxy,\n} from '../../../mixins';\nimport { booleanFieldMixin } from '../booleanFieldMixin';\nimport commonStyles from '../commonStyles';\nimport { useHostExternalPadding } from '../../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('switch-toggle');\n\nconst {\n host,\n component,\n checkboxElement: track,\n checkboxSurface: knob,\n checkboxLabel,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n requiredIndicator: { selector: '[required] vaadin-checkbox [slot=\"label\"]:not(:empty)::after' },\n component: { selector: 'vaadin-checkbox' },\n checkboxElement: { selector: 'vaadin-checkbox::part(checkbox)' },\n checkboxSurface: { selector: 'vaadin-checkbox::part(checkbox)::after' },\n checkboxLabel: { selector: 'vaadin-checkbox [slot=\"label\"]:not(:empty)' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const SwitchToggleClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n\n fontSize: [component, checkboxLabel, checkboxLabel],\n fontFamily: [checkboxLabel, helperText, errorMessage],\n\n labelTextColor: [\n { ...checkboxLabel, property: 'color' },\n { ...checkboxLabel, property: '-webkit-text-fill-color' },\n ],\n labelSpacing: { ...checkboxLabel, property: 'padding-inline-start' },\n labelLineHeight: { ...checkboxLabel, property: 'line-height' },\n labelFontWeight: { ...checkboxLabel, property: 'font-weight' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n errorMessageFontSize: { ...errorMessage, property: 'font-size' },\n\n trackBorderWidth: { ...track, property: 'border-width' },\n trackBorderStyle: { ...track, property: 'border-style' },\n trackBorderColor: { ...track, property: 'border-color' },\n trackBackgroundColor: { ...track, property: 'background-color' },\n trackBorderRadius: { ...track, property: 'border-radius' },\n trackWidth: [{ ...track, property: 'width' }],\n trackHeight: [\n { ...knob, property: 'font-size' },\n { ...track, property: 'height' },\n ],\n\n knobSize: [\n { ...knob, property: 'width' },\n { ...knob, property: 'height' },\n ],\n knobTextColor: { ...knob, property: 'color' },\n knobRadius: { ...knob, property: 'border-radius' },\n knobTransitionDuration: { ...knob, property: 'transition' },\n knobColor: { ...knob, property: 'background-color' },\n knobTopOffset: { ...knob, property: 'top' },\n knobLeftOffset: { ...knob, property: 'left' },\n\n inputOutlineWidth: { ...track, property: 'outline-width' },\n inputOutlineOffset: { ...track, property: 'outline-offset' },\n inputOutlineColor: { ...track, property: 'outline-color' },\n inputOutlineStyle: { ...track, property: 'outline-style' },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n booleanFieldMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t${commonStyles}\n\t\t\t${useHostExternalPadding(SwitchToggleClass.cssVarList)}\n\n :host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n }\n\n :host ::part(error-message) {\n direction: ltr;\n }\n\n vaadin-text-field {\n width: 100%;\n }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n\n descope-boolean-field-internal {\n\t\t\t\tpadding: 0;\n width: 100%;\n }\n\n vaadin-text-field::part(input-field) {\n cursor: pointer;\n }\n\n vaadin-checkbox {\n cursor: pointer;\n }\n\n vaadin-checkbox [slot=\"label\"]:not(:empty) {\n cursor: pointer;\n\t\t\t}\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n\t\t\t}\n\n vaadin-checkbox::part(checkbox)::before {\n content: '';\n\t\t\t}\n\n vaadin-checkbox[active]::part(checkbox) {\n\t\t\t\ttransform: none;\n\t\t\t}\n\n vaadin-checkbox::part(checkbox)::after {\n\t\t\t\tposition: absolute;\n\t\t\t\topacity: 1;\n\t\t\t\tcontent: '';\n\t\t\t}\n\t\t`,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n activeableMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport { getComponentName } from '@descope-ui/common/components-helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('list-item');\n\nconst customMixin = (superclass) =>\n class ListItemMixinClass extends superclass {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot></slot>\n `;\n\n injectStyle(\n `\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n `,\n this,\n );\n }\n };\n\nexport const ListItemClass = compose(\n createStyleMixin({\n mappings: {\n verticalPadding: [\n { property: 'padding-top' },\n { property: 'padding-bottom' },\n ],\n horizontalPadding: [\n { property: 'padding-left' },\n { property: 'padding-right' },\n ],\n backgroundColor: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n borderRadius: {},\n outline: {},\n cursor: {},\n gap: {},\n maxWidth: { selector: () => ':host' },\n alignItems: {},\n flexDirection: {},\n transition: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin,\n activeableMixin,\n)(createBaseClass({ componentName, baseSelector: 'slot' }));\n"],"names":["customElements","define","createBaseInputClass","args","componentName","RawList","baseSelector","observedAttributes","constructor","super","this","attachShadow","mode","innerHTML","items","shadowRoot","querySelector","assignedElements","length","setAttribute","removeAttribute","variant","getAttribute","forEach","item","listItem","localName","listItemVariant","init","isReadOnly","attributeChangedCallback","name","oldValue","newValue","ListClass","mappings","hostWidth","selector","property","maxHeight","minHeight","verticalPadding","horizontalPadding","hostDirection","fontFamily","gap","backgroundColor","borderRadius","borderColor","borderStyle","borderWidth","boxShadow","gridTemplateColumns","maxItemsWidth","minItemsWidth","itemsHorizontalAlign","emptyStateTextColor","emptyStateTextFontFamily","defaultValidateSchema","defaultItemRenderer","JSON","stringify","variants","RawScopesList","createBaseClass","size","Array","from","children","reportValidity","checkValidity","data","every","required","value","includes","id","filter","node","checked","map","val","ScopesListClass","CheckboxClass","cssVarList","SwitchToggleClass","requiredInputBorderColor","inputBorderColor","requiredInputValueTextColor","inputValueTextColor","knobColor","itemRenderer","validateSchema","slotName","rerenderAttrsList","superclass","validation","console","error","baseElement","querySelectorAll","remove","index","content","templateOrString","templateString","template","document","createElement","createTemplate","HTMLTemplateElement","appendChild","cloneNode","attrs","includeAttrs","dataAttr","parse","e","warn","createDynamicDataMixin","desc","_","ref","ComponentClass","InputController","host","callback","initializer","type","defaultId","useUniqueId","booleanFieldMixin","inputElement","checkbox","forwardAttributes","BaseInputClass","wrapperEle","addEventListener","isTrusted","focus","handleFocusEventsDispatching","attrName","onReadOnlyChange","getValidity","isRequired","valueMissing","component","checkboxElement","checkboxSurface","checkboxLabel","requiredIndicator","helperText","errorMessage","fontSize","labelTextColor","labelSpacing","labelLineHeight","labelFontWeight","labelRequiredIndicator","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","inputBackgroundColor","inputBorderRadius","inputBorderWidth","inputBorderOffset","inputBorderStyle","inputOutlineWidth","inputOutlineOffset","inputOutlineColor","inputOutlineStyle","inputSize","proxyProps","slots","wrappedEleName","style","excludeAttrsSync","useHostExternalPadding","resetInputContainer","resetInputField","resetInputCursor","resetInputPlaceholder","ele","resetInputFieldDefaultWidth","resetInputReadonlyStyle","resetInputFieldInvalidBackgroundColor","resetInputOverrides","inputHeight","resetInputAutoFill","resetInitialHeight","resetInputElement","resetInputFieldUnderlayingBorder","resetInputLabelPosition","inputFloatingLabelStyle","track","knob","trackBorderWidth","trackBorderStyle","trackBorderColor","trackBackgroundColor","trackBorderRadius","trackWidth","trackHeight","knobSize","knobTextColor","knobRadius","knobTransitionDuration","knobTopOffset","knobLeftOffset","ListItemClass","outline","cursor","maxWidth","alignItems","flexDirection","transition"],"sourceRoot":""}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[461,2294,4159,4188,4551,7750],{7720:(e,t,n)=>{"use strict";n.d(t,{T:()=>d,x:()=>c});var i=n(88961),o=n(63200),r=n(25964),s=n(93895),a=n(72270);const d=(0,r.xE)("list");class l extends((0,a.qu)({componentName:d,baseSelector:".wrapper"})){static get observedAttributes(){return["variant","readonly"]}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <div class="wrapper">\n <slot></slot>\n <slot name="empty-state">\n No item...\n </slot>\n </div>\n\t',(0,r.fz)('\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name="empty-state"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name="empty-state"] {\n display: none;\n }\n :host([empty]) slot[name="empty-state"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n ',this)}get items(){return this.shadowRoot.querySelector("slot").assignedElements()}#e(){0===this.items.length?this.setAttribute("empty","true"):this.removeAttribute("empty")}get variant(){return this.getAttribute("variant")||"list"}#t(){this.items.forEach((e=>{let t=e;t.localName!==s.O.componentName&&(t=e.querySelector(s.O.componentName));const n="tiles"===this.variant?"tile":"row";t?.setAttribute("variant",n)}))}init(){super.init?.(),(0,r.Ge)(this,(()=>{this.#e(),this.#t(),this.#n()}))}get isReadOnly(){return"true"===this.getAttribute("readonly")}#n(){this.items.forEach((e=>{this.isReadOnly?e.setAttribute("inert",""):e.removeAttribute("inert")}))}attributeChangedCallback(e,t,n){super.attributeChangedCallback?.(e,t,n),n!==t&&("variant"===e?this.#t():"readonly"===e&&this.#n())}}const c=(0,o.Zz)((0,i.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},maxHeight:{selector:()=>":host"},minHeight:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],hostDirection:{selector:()=>":host",property:"direction"},fontFamily:{},gap:{},backgroundColor:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},boxShadow:{},gridTemplateColumns:{},maxItemsWidth:{selector:()=>"::slotted(:not([slot]))",property:"max-width"},minItemsWidth:{selector:()=>"::slotted(:not([slot]))",property:"min-width"},itemsHorizontalAlign:{selector:()=>"::slotted(*)",property:"justify-self"},emptyStateTextColor:{selector:()=>'slot[name="empty-state"]',property:"color"},emptyStateTextFontFamily:{selector:()=>'slot[name="empty-state"]',property:"font-family"}}}),i.VO,i.tQ)(l)},11065:(e,t,n)=>{"use strict";n.r(t),n.d(t,{BadgeClass:()=>i.e,componentName:()=>i.T});var i=n(77888);customElements.define(i.T,i.e)},13369:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzUzMDNfODYzKSI+IDxwYXRoIGQ9Ik0xOC41IDAuNUg0LjVDMy4xMiAwLjUgMiAxLjYyIDIgM1YyMkMyIDIzLjM4IDMuMTIgMjQuNSA0LjUgMjQuNUgxOC41QzE5Ljg4IDI0LjUgMjEgMjMuMzggMjEgMjJWM0MyMSAxLjYyIDE5Ljg4IDAuNSAxOC41IDAuNVpNMTEuNSAyMy41QzEwLjY3IDIzLjUgMTAgMjIuODMgMTAgMjJDMTAgMjEuMTcgMTAuNjcgMjAuNSAxMS41IDIwLjVDMTIuMzMgMjAuNSAxMyAyMS4xNyAxMyAyMkMxMyAyMi44MyAxMi4zMyAyMy41IDExLjUgMjMuNVpNMTkgMTkuNUg0VjMuNUgxOVYxOS41WiIgZmlsbD0iI0Y0RjVGNiIvPiA8L2c+IDxkZWZzPiA8Y2xpcFBhdGggaWQ9ImNsaXAwXzUzMDNfODYzIj4gPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjUpIi8+IDwvY2xpcFBhdGg+IDwvZGVmcz4gPC9zdmc+IA=="},14329:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTIwIDE4QzIxLjEgMTggMjEuOTkgMTcuMSAyMS45OSAxNkwyMiA2QzIyIDQuOSAyMS4xIDQgMjAgNEg0QzIuOSA0IDIgNC45IDIgNlYxNkMyIDE3LjEgMi45IDE4IDQgMThIMFYyMEgyNFYxOEgyMFpNNCA2SDIwVjE2SDRWNloiIGZpbGw9IiM2MzZDNzQiLz4gPC9zdmc+IA=="},24542:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ListItemClass:()=>i.O,componentName:()=>i.T});var i=n(93895);customElements.define(i.T,i.O)},39695:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTE2IDEuNUg4QzYuMzQgMS41IDUgMi44NCA1IDQuNVYyMC41QzUgMjIuMTYgNi4zNCAyMy41IDggMjMuNUgxNkMxNy42NiAyMy41IDE5IDIyLjE2IDE5IDIwLjVWNC41QzE5IDIuODQgMTcuNjYgMS41IDE2IDEuNVpNMTcgMTguNUg3VjQuNUgxN1YxOC41Wk0xNCAyMS41SDEwVjIwLjVIMTRWMjEuNVoiIGZpbGw9IiNGNEY1RjYiLz4gPC9zdmc+IA=="},45400:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ListClass:()=>i.x,componentName:()=>i.T}),n(24542);var i=n(7720);customElements.define(i.T,i.x)},50591:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTQgNi41SDIyVjQuNUg0QzIuOSA0LjUgMiA1LjQgMiA2LjVWMTcuNUgwVjIwLjVIMTRWMTcuNUg0VjYuNVpNMjMgOC41SDE3QzE2LjQ1IDguNSAxNiA4Ljk1IDE2IDkuNVYxOS41QzE2IDIwLjA1IDE2LjQ1IDIwLjUgMTcgMjAuNUgyM0MyMy41NSAyMC41IDI0IDIwLjA1IDI0IDE5LjVWOS41QzI0IDguOTUgMjMuNTUgOC41IDIzIDguNVpNMjIgMTcuNUgxOFYxMC41SDIyVjE3LjVaIiBmaWxsPSIjNjM2Qzc0Ii8+IDwvc3ZnPiA="},63595:(e,t,n)=>{"use strict";n.r(t),n.d(t,{TextClass:()=>i.s,componentName:()=>i.T});var i=n(66434);customElements.define(i.T,i.s)},66434:(e,t,n)=>{"use strict";n.d(t,{T:()=>a,s:()=>c});var i=n(88961),o=n(63200),r=n(25964),s=n(72270);const a=(0,r.xE)("text");class d extends((0,s.qu)({componentName:a,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 e=!!this.childNodes.length;this.style.display=!e&&this.hideWhenEmpty?"none":""}))}}const{host:l}={host:{selector:()=>":host"}},c=(0,o.Zz)((0,i.RF)({mappings:{hostWidth:{...l,property:"width"},hostDirection:{...l,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)(d)},66747:(e,t,n)=>{"use strict";n.r(t),n.d(t,{TrustedDevicesClass:()=>T,componentName:()=>v}),n(45400),n(24542),n(63595),n(74778),n(11065);var i=n(63200),o=n(25964),r=n(88961),s=n(72270),a=n(77888),d=n(7720),l=n(93895),c=n(14329),p=n.n(c),g=n(86893),m=n.n(g),I=n(75407),M=n.n(I),h=n(50591),y=n.n(h),u=n(67603),D=n.n(u),x=n(39695),N=n.n(x),A=n(13369),j=n.n(A),b=n(81289),L=n.n(b);const w=e=>{const t=parseInt(e,10);return Number.isNaN(t)?0:t},S={desktop:{light:p(),dark:D()},mobile:{light:m(),dark:N()},tablet:{light:M(),dark:j()},unknown:{light:y(),dark:L()}},v=(0,o.xE)("trusted-devices"),C=({id:e,name:t,lastLoginDate:n,deviceType:i,isCurrent:o},r,s)=>{const a=o?'class="current-device"':"",{iconSrc:d,iconSrcDark:l}=(e=>{const t=S[e]||S.unknown;return{iconSrc:t.light,iconSrcDark:t.dark}})(i),c=s.lastLoginLabel?`${s.lastLoginLabel} `:"",p=((e,t)=>{if(Number.isNaN(parseInt(e,10)))return"";const n=new Date(e),i=n.getFullYear(),o=String(n.getMonth()+1).padStart(2,"0"),r=String(n.getDate()).padStart(2,"0"),s=n.toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"}),a={"DD-MM-YYYY":`${r}/${o}/${i}`,"YYYY-MM-DD":`${i}/${o}/${r}`,"MM-DD-YYYY":`${o}/${r}/${i}`};return`${a[t]||a["MM/DD/YYYY"]} ${s}`})(n,s.format),g=o?`<descope-badge\n bordered="true"\n size="xs"\n mode="primary"\n st-host-direction="${s.direction}"\n >\n ${s.currentDeviceLabel}\n </descope-badge>`:"",m=s.hideActions||o?"":`<descope-link\n class="remove-device"\n variant="body1"\n mode="primary"\n data-action="remove-device"\n data-device-id="${e}"\n st-host-direction="${s.direction}"\n ellipsis="true"\n >\n ${s.removeDeviceLabel}\n </descope-link>`,I=document.createElement("template");return I.innerHTML=`\n <descope-list-item ${a}>\n <div class="content">\n <div class="main">\n <span class="device">\n <descope-icon\n class="device-icon"\n src="${d}"\n src-dark="${l}">\n </descope-icon>\n <descope-text\n class="device-name"\n variant="body1"\n mode="primary">\n </descope-text>\n </span>\n <span class="panel">\n ${g}\n ${m}\n </span>\n </div>\n <div class="meta">\n <descope-text\n variant="body2"\n mode="primary"\n >\n ${c}\n </descope-text>\n <descope-text\n class="login-date"\n variant="body2"\n mode="primary"\n >\n ${p}\n </descope-text>\n </div>\n </div>\n </descope-list-item>\n `,I.content.querySelector(".device-name").textContent=t,I},z=(0,s.qu)({componentName:v,baseSelector:d.x.componentName}),{host:E}={host:{selector:()=>":host"}},T=(0,i.Zz)((0,r.RF)({mappings:{hostWidth:{...E,property:"width"},hostMinWidth:{...E,property:"min-width"},hostDirection:[{...E,property:"direction"},{selector:()=>"descope-list-item",property:"direction"},{selector:()=>"descope-text",property:"direction"}],listItemsGap:{property:d.x.cssVarList.gap},listBackgroundColor:{selector:()=>d.x.componentName,property:d.x.cssVarList.backgroundColor},listBorderRadius:{selector:()=>d.x.componentName,property:d.x.cssVarList.borderRadius},listBorderWidth:{selector:()=>d.x.componentName,property:d.x.cssVarList.borderWidth},listBoxShadow:{selector:()=>d.x.componentName,property:d.x.cssVarList.boxShadow},listPadding:[{selector:()=>d.x.componentName,property:d.x.cssVarList.verticalPadding},{selector:()=>d.x.componentName,property:d.x.cssVarList.horizontalPadding}],itemVerticalPadding:{selector:l.O.componentName,property:l.O.cssVarList.verticalPadding},itemHorizontalPadding:{selector:l.O.componentName,property:l.O.cssVarList.horizontalPadding},itemCursor:{selector:l.O.componentName,property:l.O.cssVarList.cursor},itemOutline:{selector:l.O.componentName,property:l.O.cssVarList.outline},itemBorderColor:{selector:l.O.componentName,property:l.O.cssVarList.borderColor},itemBorderRadius:{selector:l.O.componentName,property:l.O.cssVarList.borderRadius},itemBackgroundColor:{selector:l.O.componentName,property:l.O.cssVarList.backgroundColor},itemContentGap:{selector:()=>".content",property:"gap"},badgeBorderColor:{selector:a.e.componentName,property:a.e.cssVarList.borderColor},badgeTextColor:{selector:a.e.componentName,property:a.e.cssVarList.textColor},badgeBackgroundColor:{selector:a.e.componentName,property:a.e.cssVarList.backgroundColor},badgeBorderRadius:{selector:a.e.componentName,property:a.e.cssVarList.borderRadius},devicePanelGap:{selector:()=>".main",property:"gap"},deviceIconGap:{selector:()=>".device",property:"gap"},deviceIconSize:[{selector:()=>".device-icon",property:"width"},{selector:()=>".device-icon",property:"height"}],lastLoginLabelGap:{selector:" .meta",property:"gap"}}}),r.VO,(0,r.t$)({itemRenderer:C,sortFn:(e,t)=>w(t.lastLoginDate)-w(e.lastLoginDate),rerenderAttrsList:["remove-device-label","current-device-label","last-login-label","format","hide-actions"]}),r.tQ)(class extends z{constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <descope-list>\n <slot name="empty-state" slot="empty-state"></slot>\n </descope-list>\n ',this.appsList=this.shadowRoot.querySelector("descope-list"),(0,o.fz)("\n :host {\n display: inline-block;\n }\n\n .descope-list-item {\n min-width: 0;\n }\n\n .current-device {\n order: -1;\n }\n\n .content {\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n\n .main {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n .panel {\n display: flex;\n flex-shrink: 0;\n max-width: 75%;\n overflow: hidden;\n }\n\n .device {\n display: flex;\n min-width: 0;\n }\n\n .device-icon {\n flex-shrink: 0;\n }\n\n .meta {\n display: flex;\n }\n\n .login-date {\n min-width: fit-content;\n }\n\n descope-badge {\n min-width: 0;\n }\n\n descope-text {\n display: flex;\n align-items: center; \n min-width: 0;\n }\n descope-text::part(text-wrapper) {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n\n descope-link {\n overflow: hidden;\n }\n descope-link.remove-device::part(wrapper) {\n display: flex;\n width: 100%;\n }\n descope-link.remove-device {\n width: 100%;\n }\n ",this)}init(){super.init?.(),this.appsList.itemRenderer=C,this.appsList.addEventListener("click",this.onRemoveClick.bind(this))}onRemoveClick(e){if(this.readOnly)return;const t=e.target.closest("[data-device-id]"),n=t?.getAttribute("data-device-id");n&&this.dispatchEvent(new CustomEvent("remove-device-clicked",{bubbles:!0,detail:{id:n,action:"remove-device"}}))}get readOnly(){return"true"===this.getAttribute("readonly")}get hideActions(){return"true"===this.getAttribute("hide-actions")}get format(){return this.getAttribute("format")?.toUpperCase()||"MM-DD-YYYY"}get removeDeviceLabel(){return this.getAttribute("remove-device-label")||"Sign out"}get currentDeviceLabel(){return this.getAttribute("current-device-label")||"Current device"}get lastLoginLabel(){return this.getAttribute("last-login-label")||"Last login:"}get direction(){return this.getAttribute("st-host-direction")}});customElements.define(v,T)},67603:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTIwIDE4LjVDMjEuMSAxOC41IDIxLjk5IDE3LjYgMjEuOTkgMTYuNUwyMiA2LjVDMjIgNS40IDIxLjEgNC41IDIwIDQuNUg0QzIuOSA0LjUgMiA1LjQgMiA2LjVWMTYuNUMyIDE3LjYgMi45IDE4LjUgNCAxOC41SDBWMjAuNUgyNFYxOC41SDIwWk00IDYuNUgyMFYxNi41SDRWNi41WiIgZmlsbD0iI0Y0RjVGNiIvPiA8L3N2Zz4g"},74778:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LinkClass:()=>h,componentName:()=>d});var i=n(88961),o=n(63200),r=n(25964),s=n(72270),a=n(66434);const d=(0,r.xE)("link");class l extends((0,s.qu)({componentName:d,baseSelector:":host a"})){constructor(){super(),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',(0,r.fz)('\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 ',this),(0,r.EA)(this,this.shadowRoot.querySelector("a"),{includeAttrs:["href","target","tooltip"],mapAttrs:{tooltip:"title"}}),(0,r.EA)(this,this.shadowRoot.querySelector("descope-text"),{includeAttrs:["mode","variant"]})}}const c={host:{selector:()=>":host"},link:{selector:()=>":host a"},anchor:{},wrapper:{selector:()=>":host > div"},text:{selector:()=>a.s.componentName}},{anchor:p,text:g,host:m,wrapper:I,link:M}=c,h=(0,o.Zz)((0,i.RF)({mappings:{hostWidth:{...m,property:"width"},hostDirection:{...g,property:"direction"},textAlign:I,textDecoration:{...M,property:"text-decoration",fallback:"none"},textColor:[{...p,property:"color"},{...g,property:a.s.cssVarList.textColor}],cursor:p}}),i.VO,i.tQ)(l);n(63595),customElements.define(d,h)},75407:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzUyNTJfNzY4KSI+IDxwYXRoIGQ9Ik0xOC41IDAuNUg0LjVDMy4xMiAwLjUgMiAxLjYyIDIgM1YyMkMyIDIzLjM4IDMuMTIgMjQuNSA0LjUgMjQuNUgxOC41QzE5Ljg4IDI0LjUgMjEgMjMuMzggMjEgMjJWM0MyMSAxLjYyIDE5Ljg4IDAuNSAxOC41IDAuNVpNMTEuNSAyMy41QzEwLjY3IDIzLjUgMTAgMjIuODMgMTAgMjJDMTAgMjEuMTcgMTAuNjcgMjAuNSAxMS41IDIwLjVDMTIuMzMgMjAuNSAxMyAyMS4xNyAxMyAyMkMxMyAyMi44MyAxMi4zMyAyMy41IDExLjUgMjMuNVpNMTkgMTkuNUg0VjMuNUgxOVYxOS41WiIgZmlsbD0iIzYzNkM3NCIvPiA8L2c+IDxkZWZzPiA8Y2xpcFBhdGggaWQ9ImNsaXAwXzUyNTJfNzY4Ij4gPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjUpIi8+IDwvY2xpcFBhdGg+IDwvZGVmcz4gPC9zdmc+IA=="},77888:(e,t,n)=>{"use strict";n.d(t,{T:()=>a,e:()=>l});var i=n(88961),o=n(72270),r=n(25964),s=n(63200);const a=(0,r.xE)("badge");class d extends((0,o.qu)({componentName:a,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 l=(0,s.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)(d)},81289:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTQgNkgyMlY0SDRDMi45IDQgMiA0LjkgMiA2VjE3SDBWMjBIMTRWMTdINFY2Wk0yMyA4SDE3QzE2LjQ1IDggMTYgOC40NSAxNiA5VjE5QzE2IDE5LjU1IDE2LjQ1IDIwIDE3IDIwSDIzQzIzLjU1IDIwIDI0IDE5LjU1IDI0IDE5VjlDMjQgOC40NSAyMy41NSA4IDIzIDhaTTIyIDE3SDE4VjEwSDIyVjE3WiIgZmlsbD0id2hpdGUiLz4gPC9zdmc+IA=="},86893:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTE2IDFIOEM2LjM0IDEgNSAyLjM0IDUgNFYyMEM1IDIxLjY2IDYuMzQgMjMgOCAyM0gxNkMxNy42NiAyMyAxOSAyMS42NiAxOSAyMFY0QzE5IDIuMzQgMTcuNjYgMSAxNiAxWk0xNyAxOEg3VjRIMTdWMThaTTE0IDIxSDEwVjIwSDE0VjIxWiIgZmlsbD0iIzYzNkM3NCIvPiA8L3N2Zz4g"},93895:(e,t,n)=>{"use strict";n.d(t,{O:()=>d,T:()=>a});var i=n(88961),o=n(63200),r=n(25964),s=n(72270);const a=(0,r.xE)("list-item"),d=(0,o.Zz)((0,i.RF)({mappings:{verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],backgroundColor:{},borderColor:{},borderStyle:{},borderWidth:{},borderRadius:{},outline:{},cursor:{},gap:{},maxWidth:{selector:()=>":host"},alignItems:{},flexDirection:{},transition:{}}}),i.VO,i.tQ,(e=>class extends e{constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n <slot></slot>\n ",(0,r.fz)("\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n ",this)}}),i.y)((0,s.qu)({componentName:a,baseSelector:"slot"}))}}]);
|
2
|
+
//# sourceMappingURL=descope-trusted-devices.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"descope-trusted-devices.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../components/descope-list/src/component/ListClass.js","webpack://@descope/web-components-ui/../components/descope-badge/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-trusted-devices/src/component/icons/tablet-device-dark.svg","webpack://@descope/web-components-ui/../components/descope-trusted-devices/src/component/icons/desktop-device-light.svg","webpack://@descope/web-components-ui/../components/descope-list-item/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-trusted-devices/src/component/icons/mobile-device-dark.svg","webpack://@descope/web-components-ui/../components/descope-list/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-trusted-devices/src/component/icons/unknown-device-light.svg","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-trusted-devices/src/component/helpers.js","webpack://@descope/web-components-ui/../components/descope-trusted-devices/src/component/TrustedDevicesClass.js","webpack://@descope/web-components-ui/../components/descope-trusted-devices/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-trusted-devices/src/component/icons/desktop-device-dark.svg","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-trusted-devices/src/component/icons/tablet-device-light.svg","webpack://@descope/web-components-ui/../components/descope-badge/src/component/BadgeClass.js","webpack://@descope/web-components-ui/../components/descope-trusted-devices/src/component/icons/unknown-device-dark.svg","webpack://@descope/web-components-ui/../components/descope-trusted-devices/src/component/icons/mobile-device-light.svg","webpack://@descope/web-components-ui/../components/descope-list-item/src/component/ListItemClass.js"],"sourcesContent":["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 observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\nimport { ListItemClass } from '@descope-ui/descope-list-item/class';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('list');\n\nclass RawList extends createBaseClass({\n componentName,\n baseSelector: '.wrapper',\n}) {\n static get observedAttributes() {\n return ['variant', 'readonly'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"wrapper\">\n <slot></slot>\n <slot name=\"empty-state\">\n No item...\n </slot>\n </div>\n\t`;\n\n injectStyle(\n `\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name=\"empty-state\"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name=\"empty-state\"] {\n display: none;\n }\n :host([empty]) slot[name=\"empty-state\"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n `,\n this,\n );\n }\n\n get items() {\n return this.shadowRoot.querySelector('slot').assignedElements();\n }\n\n #handleEmptyState() {\n if (this.items.length === 0) {\n this.setAttribute('empty', 'true');\n } else {\n this.removeAttribute('empty');\n }\n }\n\n get variant() {\n return this.getAttribute('variant') || 'list';\n }\n\n #handleItemsVariant() {\n this.items.forEach((item) => {\n let listItem = item;\n if (listItem.localName !== ListItemClass.componentName) {\n listItem = item.querySelector(ListItemClass.componentName);\n }\n\n const listItemVariant = this.variant === 'tiles' ? 'tile' : 'row';\n listItem?.setAttribute('variant', listItemVariant);\n });\n }\n\n init() {\n super.init?.();\n\n // we want new items to get the size\n observeChildren(this, () => {\n this.#handleEmptyState();\n this.#handleItemsVariant();\n this.#handleReadOnly();\n });\n }\n\n get isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n #handleReadOnly() {\n this.items.forEach((item) => {\n if (this.isReadOnly) item.setAttribute('inert', '');\n else item.removeAttribute('inert');\n });\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n if (newValue === oldValue) return;\n\n if (name === 'variant') {\n this.#handleItemsVariant();\n } else if (name === 'readonly') {\n this.#handleReadOnly();\n }\n }\n}\n\nexport const ListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n maxHeight: { selector: () => ':host' },\n minHeight: {},\n verticalPadding: [\n { property: 'padding-top' },\n { property: 'padding-bottom' },\n ],\n horizontalPadding: [\n { property: 'padding-left' },\n { property: 'padding-right' },\n ],\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontFamily: {},\n gap: {},\n\n backgroundColor: {},\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n boxShadow: {},\n gridTemplateColumns: {},\n maxItemsWidth: {\n selector: () => '::slotted(:not([slot]))',\n property: 'max-width',\n },\n minItemsWidth: {\n selector: () => '::slotted(:not([slot]))',\n property: 'min-width',\n },\n itemsHorizontalAlign: {\n selector: () => '::slotted(*)',\n property: 'justify-self',\n },\n emptyStateTextColor: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'color',\n },\n emptyStateTextFontFamily: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'font-family',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawList);\n","import { componentName, BadgeClass } from './BadgeClass';\n\ncustomElements.define(componentName, BadgeClass);\n\nexport { BadgeClass, componentName };\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzUzMDNfODYzKSI+IDxwYXRoIGQ9Ik0xOC41IDAuNUg0LjVDMy4xMiAwLjUgMiAxLjYyIDIgM1YyMkMyIDIzLjM4IDMuMTIgMjQuNSA0LjUgMjQuNUgxOC41QzE5Ljg4IDI0LjUgMjEgMjMuMzggMjEgMjJWM0MyMSAxLjYyIDE5Ljg4IDAuNSAxOC41IDAuNVpNMTEuNSAyMy41QzEwLjY3IDIzLjUgMTAgMjIuODMgMTAgMjJDMTAgMjEuMTcgMTAuNjcgMjAuNSAxMS41IDIwLjVDMTIuMzMgMjAuNSAxMyAyMS4xNyAxMyAyMkMxMyAyMi44MyAxMi4zMyAyMy41IDExLjUgMjMuNVpNMTkgMTkuNUg0VjMuNUgxOVYxOS41WiIgZmlsbD0iI0Y0RjVGNiIvPiA8L2c+IDxkZWZzPiA8Y2xpcFBhdGggaWQ9ImNsaXAwXzUzMDNfODYzIj4gPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjUpIi8+IDwvY2xpcFBhdGg+IDwvZGVmcz4gPC9zdmc+IA==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTIwIDE4QzIxLjEgMTggMjEuOTkgMTcuMSAyMS45OSAxNkwyMiA2QzIyIDQuOSAyMS4xIDQgMjAgNEg0QzIuOSA0IDIgNC45IDIgNlYxNkMyIDE3LjEgMi45IDE4IDQgMThIMFYyMEgyNFYxOEgyMFpNNCA2SDIwVjE2SDRWNloiIGZpbGw9IiM2MzZDNzQiLz4gPC9zdmc+IA==\"","import { componentName, ListItemClass } from './ListItemClass';\n\ncustomElements.define(componentName, ListItemClass);\n\nexport { ListItemClass, componentName };\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTE2IDEuNUg4QzYuMzQgMS41IDUgMi44NCA1IDQuNVYyMC41QzUgMjIuMTYgNi4zNCAyMy41IDggMjMuNUgxNkMxNy42NiAyMy41IDE5IDIyLjE2IDE5IDIwLjVWNC41QzE5IDIuODQgMTcuNjYgMS41IDE2IDEuNVpNMTcgMTguNUg3VjQuNUgxN1YxOC41Wk0xNCAyMS41SDEwVjIwLjVIMTRWMjEuNVoiIGZpbGw9IiNGNEY1RjYiLz4gPC9zdmc+IA==\"","import '@descope-ui/descope-list-item';\n\nimport { componentName, ListClass } from './ListClass';\n\ncustomElements.define(componentName, ListClass);\n\nexport { ListClass, componentName };\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTQgNi41SDIyVjQuNUg0QzIuOSA0LjUgMiA1LjQgMiA2LjVWMTcuNUgwVjIwLjVIMTRWMTcuNUg0VjYuNVpNMjMgOC41SDE3QzE2LjQ1IDguNSAxNiA4Ljk1IDE2IDkuNVYxOS41QzE2IDIwLjA1IDE2LjQ1IDIwLjUgMTcgMjAuNUgyM0MyMy41NSAyMC41IDI0IDIwLjA1IDI0IDE5LjVWOS41QzI0IDguOTUgMjMuNTUgOC41IDIzIDguNVpNMjIgMTcuNUgxOFYxMC41SDIyVjE3LjVaIiBmaWxsPSIjNjM2Qzc0Ii8+IDwvc3ZnPiA=\"","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 desktopDeviceIconLight from './icons/desktop-device-light.svg';\nimport mobileDeviceIconLight from './icons/mobile-device-light.svg';\nimport tabletDeviceIconLight from './icons/tablet-device-light.svg';\nimport unknownDeviceIconLight from './icons/unknown-device-light.svg';\nimport desktopDeviceIconDark from './icons/desktop-device-dark.svg';\nimport mobileDeviceIconDark from './icons/mobile-device-dark.svg';\nimport tabletDeviceIconDark from './icons/tablet-device-dark.svg';\nimport unknownDeviceIconDark from './icons/unknown-device-dark.svg';\n\nconst ensureDate = (loginDate) => {\n const numVal = parseInt(loginDate, 10);\n if (Number.isNaN(numVal)) return 0;\n return numVal;\n}\n\nexport const sortFn = (a, b) =>\n ensureDate(b.lastLoginDate) - ensureDate(a.lastLoginDate);\n\nexport const parseDate = (epoch, format) => {\n if (Number.isNaN(parseInt(epoch, 10))) return '';\n\n const date = new Date(epoch);\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const time = date.toLocaleTimeString('en-US', {\n hour12: false,\n hour: '2-digit',\n minute: '2-digit',\n });\n\n const formatMap = {\n 'DD-MM-YYYY': `${day}/${month}/${year}`,\n 'YYYY-MM-DD': `${year}/${month}/${day}`,\n 'MM-DD-YYYY': `${month}/${day}/${year}`,\n };\n\n const dateStr = formatMap[format] || formatMap['MM/DD/YYYY'];\n return `${dateStr} ${time}`;\n};\n\nexport const deviceIconMap = {\n desktop: {\n light: desktopDeviceIconLight,\n dark: desktopDeviceIconDark,\n },\n mobile: {\n light: mobileDeviceIconLight,\n dark: mobileDeviceIconDark,\n },\n tablet: {\n light: tabletDeviceIconLight,\n dark: tabletDeviceIconDark,\n },\n unknown: {\n light: unknownDeviceIconLight,\n dark: unknownDeviceIconDark,\n },\n};\n\nexport const getDeviceIcon = (deviceType) => {\n const icon = deviceIconMap[deviceType] || deviceIconMap.unknown;\n return {\n iconSrc: icon.light,\n iconSrcDark: icon.dark,\n };\n};\n","import { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n injectStyle,\n} from '@descope-ui/common/components-helpers';\nimport {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n createDynamicDataMixin,\n} from '@descope-ui/common/components-mixins';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { BadgeClass } from '@descope-ui/descope-badge/class';\nimport { ListClass } from '@descope-ui/descope-list/class';\nimport { ListItemClass } from '@descope-ui/descope-list-item/class';\nimport { getDeviceIcon, parseDate, sortFn } from './helpers';\n\nexport const componentName = getComponentName('trusted-devices');\n\nconst itemRenderer = (\n { id, name, lastLoginDate, deviceType, isCurrent },\n _,\n ref,\n) => {\n const itemClassName = isCurrent ? 'class=\"current-device\"' : '';\n\n const { iconSrc, iconSrcDark } = getDeviceIcon(deviceType);\n\n const loginLabel = ref.lastLoginLabel ? `${ref.lastLoginLabel} ` : '';\n\n const loginDate = parseDate(lastLoginDate, ref.format);\n\n const badge = isCurrent\n ? `<descope-badge\n bordered=\"true\"\n size=\"xs\"\n mode=\"primary\"\n st-host-direction=\"${ref.direction}\"\n >\n ${ref.currentDeviceLabel}\n </descope-badge>`\n : '';\n\n const removeDeviceLink =\n !ref.hideActions && !isCurrent\n ? `<descope-link\n class=\"remove-device\"\n variant=\"body1\"\n mode=\"primary\"\n data-action=\"remove-device\"\n data-device-id=\"${id}\"\n st-host-direction=\"${ref.direction}\"\n ellipsis=\"true\"\n >\n ${ref.removeDeviceLabel}\n </descope-link>`\n : '';\n\n const template = document.createElement('template');\n\n template.innerHTML = `\n <descope-list-item ${itemClassName}>\n <div class=\"content\">\n <div class=\"main\">\n <span class=\"device\">\n <descope-icon\n class=\"device-icon\"\n src=\"${iconSrc}\"\n src-dark=\"${iconSrcDark}\">\n </descope-icon>\n <descope-text\n class=\"device-name\"\n variant=\"body1\"\n mode=\"primary\">\n </descope-text>\n </span>\n <span class=\"panel\">\n ${badge}\n ${removeDeviceLink}\n </span>\n </div>\n <div class=\"meta\">\n <descope-text\n variant=\"body2\"\n mode=\"primary\"\n >\n ${loginLabel}\n </descope-text>\n <descope-text\n class=\"login-date\"\n variant=\"body2\"\n mode=\"primary\"\n >\n ${loginDate}\n </descope-text>\n </div>\n </div>\n </descope-list-item>\n `;\n\n // we return a template instead of returning a string so we can avoid XSS on device name\n template.content.querySelector('.device-name').textContent = name;\n return template;\n};\n\nconst BaseClass = createBaseClass({\n componentName,\n baseSelector: ListClass.componentName,\n});\n\nclass RawTrustedDevicesClass extends BaseClass {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <descope-list>\n <slot name=\"empty-state\" slot=\"empty-state\"></slot>\n </descope-list>\n `;\n\n this.appsList = this.shadowRoot.querySelector('descope-list');\n\n injectStyle(\n `\n :host {\n display: inline-block;\n }\n\n .descope-list-item {\n min-width: 0;\n }\n\n .current-device {\n order: -1;\n }\n\n .content {\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n\n .main {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n .panel {\n display: flex;\n flex-shrink: 0;\n max-width: 75%;\n overflow: hidden;\n }\n\n .device {\n display: flex;\n min-width: 0;\n }\n\n .device-icon {\n flex-shrink: 0;\n }\n\n .meta {\n display: flex;\n }\n\n .login-date {\n min-width: fit-content;\n }\n\n descope-badge {\n min-width: 0;\n }\n\n descope-text {\n display: flex;\n align-items: center; \n min-width: 0;\n }\n descope-text::part(text-wrapper) {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n\n descope-link {\n overflow: hidden;\n }\n descope-link.remove-device::part(wrapper) {\n display: flex;\n width: 100%;\n }\n descope-link.remove-device {\n width: 100%;\n }\n `,\n this,\n );\n }\n\n init() {\n super.init?.();\n\n this.appsList.itemRenderer = itemRenderer;\n\n this.appsList.addEventListener('click', this.onRemoveClick.bind(this));\n }\n\n onRemoveClick(e) {\n if (this.readOnly) return;\n\n const target = e.target.closest('[data-device-id]');\n const deviceId = target?.getAttribute('data-device-id');\n\n if (deviceId) {\n this.dispatchEvent(\n new CustomEvent('remove-device-clicked', {\n bubbles: true,\n detail: { id: deviceId, action: 'remove-device' },\n }),\n );\n }\n }\n\n get readOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n get hideActions() {\n return this.getAttribute('hide-actions') === 'true';\n }\n\n get format() {\n return this.getAttribute('format')?.toUpperCase() || 'MM-DD-YYYY';\n }\n\n get removeDeviceLabel() {\n return this.getAttribute('remove-device-label') || 'Sign out';\n }\n\n get currentDeviceLabel() {\n return this.getAttribute('current-device-label') || 'Current device';\n }\n\n get lastLoginLabel() {\n return this.getAttribute('last-login-label') || 'Last login:';\n }\n\n get direction() {\n return this.getAttribute('st-host-direction');\n }\n}\n\nconst { host } = {\n host: { selector: () => ':host' },\n};\n\nexport const TrustedDevicesClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: [\n { ...host, property: 'direction' },\n {\n selector: () => 'descope-list-item',\n property: 'direction',\n },\n {\n selector: () => 'descope-text',\n property: 'direction',\n },\n ],\n\n listItemsGap: {\n property: ListClass.cssVarList.gap,\n },\n listBackgroundColor: {\n selector: () => ListClass.componentName,\n property: ListClass.cssVarList.backgroundColor,\n },\n listBorderRadius: {\n selector: () => ListClass.componentName,\n property: ListClass.cssVarList.borderRadius,\n },\n listBorderWidth: {\n selector: () => ListClass.componentName,\n property: ListClass.cssVarList.borderWidth,\n },\n listBoxShadow: {\n selector: () => ListClass.componentName,\n property: ListClass.cssVarList.boxShadow,\n },\n listPadding: [\n {\n selector: () => ListClass.componentName,\n property: ListClass.cssVarList.verticalPadding,\n },\n {\n selector: () => ListClass.componentName,\n property: ListClass.cssVarList.horizontalPadding,\n },\n ],\n\n itemVerticalPadding: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.verticalPadding,\n },\n itemHorizontalPadding: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.horizontalPadding,\n },\n itemCursor: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.cursor,\n },\n itemOutline: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.outline,\n },\n itemBorderColor: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.borderColor,\n },\n itemBorderRadius: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.borderRadius,\n },\n itemBackgroundColor: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.backgroundColor,\n },\n itemContentGap: {\n selector: () => '.content',\n property: 'gap',\n },\n\n badgeBorderColor: {\n selector: BadgeClass.componentName,\n property: BadgeClass.cssVarList.borderColor,\n },\n badgeTextColor: {\n selector: BadgeClass.componentName,\n property: BadgeClass.cssVarList.textColor,\n },\n badgeBackgroundColor: {\n selector: BadgeClass.componentName,\n property: BadgeClass.cssVarList.backgroundColor,\n },\n badgeBorderRadius: {\n selector: BadgeClass.componentName,\n property: BadgeClass.cssVarList.borderRadius,\n },\n\n devicePanelGap: {\n selector: () => '.main',\n property: 'gap',\n },\n deviceIconGap: {\n selector: () => '.device',\n property: 'gap',\n },\n deviceIconSize: [\n {\n selector: () => '.device-icon',\n property: 'width',\n },\n {\n selector: () => '.device-icon',\n property: 'height',\n },\n ],\n\n lastLoginLabelGap: {\n selector: ' .meta',\n property: 'gap',\n },\n },\n }),\n draggableMixin,\n createDynamicDataMixin({\n itemRenderer,\n sortFn,\n rerenderAttrsList: [\n 'remove-device-label',\n 'current-device-label',\n 'last-login-label',\n 'format',\n 'hide-actions',\n ],\n }),\n componentNameValidationMixin,\n)(RawTrustedDevicesClass);\n","import '@descope-ui/descope-list';\nimport '@descope-ui/descope-list-item';\nimport '@descope-ui/descope-text';\nimport '@descope-ui/descope-link';\nimport '@descope-ui/descope-badge';\n\nimport { componentName, TrustedDevicesClass } from './TrustedDevicesClass';\n\ncustomElements.define(componentName, TrustedDevicesClass);\n\nexport { TrustedDevicesClass, componentName };\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTIwIDE4LjVDMjEuMSAxOC41IDIxLjk5IDE3LjYgMjEuOTkgMTYuNUwyMiA2LjVDMjIgNS40IDIxLjEgNC41IDIwIDQuNUg0QzIuOSA0LjUgMiA1LjQgMiA2LjVWMTYuNUMyIDE3LjYgMi45IDE4LjUgNCAxOC41SDBWMjAuNUgyNFYxOC41SDIwWk00IDYuNUgyMFYxNi41SDRWNi41WiIgZmlsbD0iI0Y0RjVGNiIvPiA8L3N2Zz4g\"","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","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzUyNTJfNzY4KSI+IDxwYXRoIGQ9Ik0xOC41IDAuNUg0LjVDMy4xMiAwLjUgMiAxLjYyIDIgM1YyMkMyIDIzLjM4IDMuMTIgMjQuNSA0LjUgMjQuNUgxOC41QzE5Ljg4IDI0LjUgMjEgMjMuMzggMjEgMjJWM0MyMSAxLjYyIDE5Ljg4IDAuNSAxOC41IDAuNVpNMTEuNSAyMy41QzEwLjY3IDIzLjUgMTAgMjIuODMgMTAgMjJDMTAgMjEuMTcgMTAuNjcgMjAuNSAxMS41IDIwLjVDMTIuMzMgMjAuNSAxMyAyMS4xNyAxMyAyMkMxMyAyMi44MyAxMi4zMyAyMy41IDExLjUgMjMuNVpNMTkgMTkuNUg0VjMuNUgxOVYxOS41WiIgZmlsbD0iIzYzNkM3NCIvPiA8L2c+IDxkZWZzPiA8Y2xpcFBhdGggaWQ9ImNsaXAwXzUyNTJfNzY4Ij4gPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjUpIi8+IDwvY2xpcFBhdGg+IDwvZGVmcz4gPC9zdmc+IA==\"","import {\n componentNameValidationMixin,\n createStyleMixin,\n draggableMixin,\n} from '@descope-ui/common/components-mixins';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { getComponentName } from '@descope-ui/common/components-helpers';\nimport { compose } from '@descope-ui/common/utils';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('badge');\n\nclass RawBadge extends createBaseClass({\n componentName,\n baseSelector: ':host > div',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<div>\n <slot></slot>\n\t\t</div>\n\t\t`;\n\n injectStyle(\n `\n :host {\n display: inline-flex;\n }\n :host > div {\n width: 100%;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n `,\n this,\n );\n }\n}\n\nexport const BadgeClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: [{ selector: () => ':host', property: 'width' }],\n hostDirection: { property: 'direction' },\n\n fontFamily: {},\n fontSize: {},\n fontWeight: {},\n textTransform: {},\n verticalPadding: [\n { property: 'padding-top' },\n { property: 'padding-bottom' },\n ],\n horizontalPadding: [\n { property: 'padding-left' },\n { property: 'padding-right' },\n ],\n\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n borderRadius: {},\n\n backgroundColor: {},\n\n textColor: { property: 'color' },\n textAlign: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawBadge);\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTQgNkgyMlY0SDRDMi45IDQgMiA0LjkgMiA2VjE3SDBWMjBIMTRWMTdINFY2Wk0yMyA4SDE3QzE2LjQ1IDggMTYgOC40NSAxNiA5VjE5QzE2IDE5LjU1IDE2LjQ1IDIwIDE3IDIwSDIzQzIzLjU1IDIwIDI0IDE5LjU1IDI0IDE5VjlDMjQgOC40NSAyMy41NSA4IDIzIDhaTTIyIDE3SDE4VjEwSDIyVjE3WiIgZmlsbD0id2hpdGUiLz4gPC9zdmc+IA==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTE2IDFIOEM2LjM0IDEgNSAyLjM0IDUgNFYyMEM1IDIxLjY2IDYuMzQgMjMgOCAyM0gxNkMxNy42NiAyMyAxOSAyMS42NiAxOSAyMFY0QzE5IDIuMzQgMTcuNjYgMSAxNiAxWk0xNyAxOEg3VjRIMTdWMThaTTE0IDIxSDEwVjIwSDE0VjIxWiIgZmlsbD0iIzYzNkM3NCIvPiA8L3N2Zz4g\"","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n activeableMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport { getComponentName } from '@descope-ui/common/components-helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('list-item');\n\nconst customMixin = (superclass) =>\n class ListItemMixinClass extends superclass {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot></slot>\n `;\n\n injectStyle(\n `\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n `,\n this,\n );\n }\n };\n\nexport const ListItemClass = compose(\n createStyleMixin({\n mappings: {\n verticalPadding: [\n { property: 'padding-top' },\n { property: 'padding-bottom' },\n ],\n horizontalPadding: [\n { property: 'padding-left' },\n { property: 'padding-right' },\n ],\n backgroundColor: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n borderRadius: {},\n outline: {},\n cursor: {},\n gap: {},\n maxWidth: { selector: () => ':host' },\n alignItems: {},\n flexDirection: {},\n transition: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin,\n activeableMixin,\n)(createBaseClass({ componentName, baseSelector: 'slot' }));\n"],"names":["componentName","RawList","baseSelector","observedAttributes","constructor","super","this","attachShadow","mode","innerHTML","items","shadowRoot","querySelector","assignedElements","length","setAttribute","removeAttribute","variant","getAttribute","forEach","item","listItem","localName","listItemVariant","init","isReadOnly","attributeChangedCallback","name","oldValue","newValue","ListClass","mappings","hostWidth","selector","property","maxHeight","minHeight","verticalPadding","horizontalPadding","hostDirection","fontFamily","gap","backgroundColor","borderRadius","borderColor","borderStyle","borderWidth","boxShadow","gridTemplateColumns","maxItemsWidth","minItemsWidth","itemsHorizontalAlign","emptyStateTextColor","emptyStateTextFontFamily","customElements","define","module","exports","RawText","hideWhenEmpty","hasChildren","childNodes","style","display","host","TextClass","fontSize","textColor","textLineHeight","textLetterSpacing","textShadow","textAlign","textTransform","fontStyle","fontWeight","ensureDate","loginDate","numVal","parseInt","Number","isNaN","deviceIconMap","desktop","light","dark","mobile","tablet","unknown","itemRenderer","id","lastLoginDate","deviceType","isCurrent","_","ref","itemClassName","iconSrc","iconSrcDark","icon","getDeviceIcon","loginLabel","lastLoginLabel","epoch","format","date","Date","year","getFullYear","month","String","getMonth","padStart","day","getDate","time","toLocaleTimeString","hour12","hour","minute","formatMap","parseDate","badge","direction","currentDeviceLabel","removeDeviceLink","hideActions","removeDeviceLabel","template","document","createElement","content","textContent","BaseClass","TrustedDevicesClass","hostMinWidth","listItemsGap","cssVarList","listBackgroundColor","listBorderRadius","listBorderWidth","listBoxShadow","listPadding","itemVerticalPadding","ListItemClass","itemHorizontalPadding","itemCursor","cursor","itemOutline","outline","itemBorderColor","itemBorderRadius","itemBackgroundColor","itemContentGap","badgeBorderColor","BadgeClass","badgeTextColor","badgeBackgroundColor","badgeBorderRadius","devicePanelGap","deviceIconGap","deviceIconSize","lastLoginLabelGap","sortFn","a","b","rerenderAttrsList","appsList","addEventListener","onRemoveClick","bind","e","readOnly","target","closest","deviceId","dispatchEvent","CustomEvent","bubbles","detail","action","toUpperCase","RawLink","includeAttrs","mapAttrs","tooltip","selectors","link","anchor","wrapper","text","LinkClass","textDecoration","fallback","RawBadge","maxWidth","alignItems","flexDirection","transition","superclass"],"sourceRoot":""}
|
@@ -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([[1578,2294,5087,9553],{4080:(t,e,o)=>{"use strict";o.d(e,{CI:()=>h,H8:()=>a,gm:()=>s,m0:()=>r,nr:()=>c,un:()=>d});const i=t=>t.test(navigator.userAgent),n=t=>t.test(navigator.platform),r=i(/Android/u),a=i(/Chrome/u)&&/Google Inc/u.test(navigator.vendor),s=i(/Firefox/u),l=n(/^iPad/u)||n(/^Mac/u)&&navigator.maxTouchPoints>1,d=n(/^iPhone/u)||l,c=i(/^((?!chrome|android).)*safari/iu),h=(()=>{try{return document.createEvent("TouchEvent"),!0}catch(t){return!1}})()},8512:(t,e,o)=>{"use strict";o.d(e,{T:()=>l,q:()=>h});var i=o(88961),n=o(72270),r=o(63200),a=o(25964),s=o(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.src)}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 src(){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.src),(0,s.m)(this.src,this.altText).then((t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))}))}shouldRender(t){const e=this.getAttribute(t);return this.src===e}attributeChangedCallback(t,e,o){super.attributeChangedCallback?.(t,e,o),e!==o&&this.shouldRender(t)&&this.renderImage()}}const h=(0,r.Zz)((0,i.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),i.VO,i.tQ)(c)},10767:(t,e,o)=>{"use strict";o.d(e,{G:()=>i});const i=t=>class extends t{get isLoading(){return"true"===this.getAttribute("loading")}click(){this.isLoading||super.click()}}},18782:(t,e,o)=>{"use strict";o.d(e,{m:()=>r});var i=o(25414);const n=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 o;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));o=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),i=await e.text();o=n(i)}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)=>{"use strict";o.d(e,{J:()=>p,T:()=>l});var i=o(63200),n=o(25964),r=o(88961),a=o(98538),s=o(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,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:[{...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"],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`},21961:(t,e,o)=>{"use strict";o.d(e,{C:()=>r});var i=o(98741);const n=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 n.has(t)||n.set(t,new Set),n.get(t)}(t);this.slotStyles.forEach((o=>{e.has(o)||(function(t,e){const o=document.createElement("style");window.DESCOPE_NONCE&&o.setAttribute("nonce",window.DESCOPE_NONCE),o.textContent=t,e===document?document.head.appendChild(o):e.insertBefore(o,e.firstChild)}(o,t),e.add(o))}))}}))},26442:(t,e,o)=>{"use strict";o.d(e,{T:()=>l,e:()=>c});var i=o(79365),n=o(81365),r=o(9696),a=o(97810),s=o(25964);const l=(0,a.xE)("badge");class d extends((0,n.q)({componentName:l,baseSelector:":host > div"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<div>\n <slot></slot>\n\t\t</div>\n\t\t",(0,s.fz)("\n :host {\n display: inline-flex;\n }\n :host > div {\n width: 100%;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n ",this)}}const c=(0,r.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)(d)},30576:(t,e,o)=>{"use strict";o.r(e),o.d(e,{ButtonClass:()=>i.J,componentName:()=>i.T});var i=o(19624);o(83799),customElements.define(i.T,i.J)},45554:(t,e,o)=>{"use strict";o.r(e),o.d(e,{UserAttributeClass:()=>T,componentName:()=>g});var i=o(79365),n=o(81365),r=o(9696),a=o(97810),s=o(76368),l=o.n(s),d=o(65725),c=o.n(d),h=o(66434),u=o(19624),p=o(26442),b=o(25964);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 <vaadin-icon src=${c()}></vaadin-icon>\n </descope-button>\n <descope-button size="xs" data-id="delete-btn" square="true" variant="link" mode="primary">\n <vaadin-icon src=${l()}></vaadin-icon>\n </descope-button>\n </div>\n </div>\n </div>\n\t\t`,(0,b.fz)(`\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n container-type: inline-size;\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 @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(${h.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}))))}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,o){super.attributeChangedCallback?.(t,e,o),e!==o&&("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,i.RF)({mappings:{hostWidth:{...y,property:"width"},hostMinWidth:{...y,property:"min-width"},hostMaxWidth:{...y,property:"max-width"},hostDirection:[{...y,property:"direction"},{...x,property:h.s.cssVarList.hostDirection},{...v,property:u.J.cssVarList.hostDirection},{...f,property:p.e.cssVarList.hostDirection}],labelMinWidth:{...M,property:"min-width"},contentMinWidth:{...w,property:"min-width"},badgeMaxWidth:{...f,property:"max-width"},itemsGap:[{property:"gap"},{...w,property:"gap"}]}}),i.VO,i.tQ)(m);o(63595),o(30576),o(91359),o(95260),customElements.define(g,T)},63595:(t,e,o)=>{"use strict";o.r(e),o.d(e,{TextClass:()=>i.s,componentName:()=>i.T});var i=o(66434);customElements.define(i.T,i.s)},65725:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTEwLjAwMDIgMC45OTIxNDlDMTAuMDAwMiAxLjAxNjE1IDEwLjAwMDIgMS4wMTYxNSAxMC4wMDAyIDEuMDE2MTVMOC4yMjQxOSAzLjAwODE1SDIuOTkyMTlDMi40NjQxOSAzLjAwODE1IDIuMDA4MTkgMy40NDAxNSAyLjAwODE5IDMuOTkyMTVWMTIuMDA4MkMyLjAwODE5IDEyLjUzNjIgMi40NDAxOSAxMi45OTIyIDIuOTkyMTkgMTIuOTkyMkg1LjUzNjE5QzUuODQ4MTkgMTMuMDQwMiA2LjE2MDE5IDEzLjA0MDIgNi40NzIxOSAxMi45OTIySDExLjAwODJDMTEuNTM2MiAxMi45OTIyIDExLjk5MjIgMTIuNTYwMiAxMS45OTIyIDEyLjAwODJWNy43ODQxNkwxMy45MzYyIDUuNjI0MTVMMTQuMDA4MiA1LjY3MjE1VjExLjk4NDJDMTQuMDA4MiAxMy42NjQyIDEyLjY2NDIgMTUuMDA4MiAxMS4wMDgyIDE1LjAwODJIMy4wMTYxOUMxLjMzNjE5IDE1LjAwODIgLTAuMDA3ODEyNSAxMy42NjQyIC0wLjAwNzgxMjUgMTEuOTg0MlYzLjk5MjE1Qy0wLjAwNzgxMjUgMi4zMzYxNSAxLjMzNjE5IDAuOTkyMTQ5IDMuMDE2MTkgMC45OTIxNDlIMTAuMDAwMlpNMTEuMjcyMiAyLjYyNDE1TDEyLjYxNjIgNC4xMTIxNUw3LjcyMDE5IDkuNjgwMTZDNy41MDQxOSA5LjkyMDE2IDYuODMyMTkgMTAuMjMyMiA1LjY4MDE5IDEwLjYxNjJDNS42NTYxOSAxMC42NDAyIDUuNjA4MTkgMTAuNjQwMiA1LjU2MDE5IDEwLjYxNjJDNS40NjQxOSAxMC41OTIyIDUuMzkyMTkgMTAuNDcyMiA1LjQ0MDE5IDEwLjM3NjJDNS43NTIxOSA5LjI0ODE2IDYuMDQwMTkgOC41NTIxNiA2LjI1NjE5IDguMzEyMTZMMTEuMjcyMiAyLjYyNDE1Wk0xMS45MjAyIDEuODU2MTVMMTMuMjg4MiAwLjMyMDE0OUMxMy42NDgyIC0wLjA4Nzg1MTYgMTQuMjcyMiAtMC4xMTE4NTIgMTQuNjgwMiAwLjI3MjE0OUMxNS4wODgyIDAuNjMyMTQ5IDE1LjExMjIgMS4yODAxNSAxNC43NTIyIDEuNjg4MTVMMTMuMjY0MiAzLjM2ODE1TDExLjkyMDIgMS44NTYxNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPiA8L3N2Zz4g"},66434:(t,e,o)=>{"use strict";o.d(e,{T:()=>s,s:()=>c});var i=o(88961),n=o(63200),r=o(25964),a=o(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,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)},76368:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTEgMTZDMSAxNy4xIDEuOSAxOCAzIDE4SDExQzEyLjEgMTggMTMgMTcuMSAxMyAxNlY0SDFWMTZaTTMgNkgxMVYxNkgzVjZaTTEwLjUgMUw5LjUgMEg0LjVMMy41IDFIMFYzSDE0VjFIMTAuNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPiA8L3N2Zz4g"},83799:(t,e,o)=>{"use strict";o(93555),o(89389)},89389:(t,e,o)=>{"use strict";o.d(e,{$:()=>b});var i=o(13256),n=o(55774),r=o(82901),a=o(90676),s=o(81488),l=o(87550);const d=o(51450).AH`
|
2
|
+
(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[1578,2294,4188,5087],{4080:(t,e,o)=>{"use strict";o.d(e,{CI:()=>h,H8:()=>a,gm:()=>s,m0:()=>r,nr:()=>c,un:()=>d});const i=t=>t.test(navigator.userAgent),n=t=>t.test(navigator.platform),r=i(/Android/u),a=i(/Chrome/u)&&/Google Inc/u.test(navigator.vendor),s=i(/Firefox/u),l=n(/^iPad/u)||n(/^Mac/u)&&navigator.maxTouchPoints>1,d=n(/^iPhone/u)||l,c=i(/^((?!chrome|android).)*safari/iu),h=(()=>{try{return document.createEvent("TouchEvent"),!0}catch(t){return!1}})()},8512:(t,e,o)=>{"use strict";o.d(e,{T:()=>l,q:()=>h});var i=o(88961),n=o(72270),r=o(63200),a=o(25964),s=o(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.src)}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 src(){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.src),(0,s.m)(this.src,this.altText).then((t=>{this.innerHTML="",t&&(this.updateFillColor(t),this.appendChild(t))}))}shouldRender(t){const e=this.getAttribute(t);return this.src===e}attributeChangedCallback(t,e,o){super.attributeChangedCallback?.(t,e,o),e!==o&&this.shouldRender(t)&&this.renderImage()}}const h=(0,r.Zz)((0,i.RF)({mappings:{fill:{},height:{selector:()=>":host"},width:{selector:()=>":host"}}}),i.VO,i.tQ)(c)},10767:(t,e,o)=>{"use strict";o.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,o)=>{"use strict";o.r(e),o.d(e,{BadgeClass:()=>i.e,componentName:()=>i.T});var i=o(77888);customElements.define(i.T,i.e)},18782:(t,e,o)=>{"use strict";o.d(e,{m:()=>r});var i=o(25414);const n=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 o;if((t=>t.startsWith("data:image/svg+xml;base64,"))(t)){const e=atob(t.slice(26));o=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),i=await e.text();o=n(i)}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)=>{"use strict";o.d(e,{J:()=>p,T:()=>l});var i=o(63200),n=o(25964),r=o(88961),a=o(98538),s=o(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,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:[{...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"],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`},21961:(t,e,o)=>{"use strict";o.d(e,{C:()=>r});var i=o(98741);const n=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 n.has(t)||n.set(t,new Set),n.get(t)}(t);this.slotStyles.forEach((o=>{e.has(o)||(function(t,e){const o=document.createElement("style");window.DESCOPE_NONCE&&o.setAttribute("nonce",window.DESCOPE_NONCE),o.textContent=t,e===document?document.head.appendChild(o):e.insertBefore(o,e.firstChild)}(o,t),e.add(o))}))}}))},30576:(t,e,o)=>{"use strict";o.r(e),o.d(e,{ButtonClass:()=>i.J,componentName:()=>i.T});var i=o(19624);o(83799),customElements.define(i.T,i.J)},45554:(t,e,o)=>{"use strict";o.r(e),o.d(e,{UserAttributeClass:()=>T,componentName:()=>g});var i=o(79365),n=o(81365),r=o(9696),a=o(97810),s=o(76368),l=o.n(s),d=o(65725),c=o.n(d),h=o(66434),u=o(19624),p=o(77888),b=o(25964);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 <vaadin-icon src=${c()}></vaadin-icon>\n </descope-button>\n <descope-button size="xs" data-id="delete-btn" square="true" variant="link" mode="primary">\n <vaadin-icon src=${l()}></vaadin-icon>\n </descope-button>\n </div>\n </div>\n </div>\n\t\t`,(0,b.fz)(`\n :host {\n\t\t\t\t\tdisplay: inline-flex;\n container-type: inline-size;\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 @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(${h.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}))))}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,o){super.attributeChangedCallback?.(t,e,o),e!==o&&("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,i.RF)({mappings:{hostWidth:{...y,property:"width"},hostMinWidth:{...y,property:"min-width"},hostMaxWidth:{...y,property:"max-width"},hostDirection:[{...y,property:"direction"},{...x,property:h.s.cssVarList.hostDirection},{...v,property:u.J.cssVarList.hostDirection},{...f,property:p.e.cssVarList.hostDirection}],labelMinWidth:{...M,property:"min-width"},contentMinWidth:{...w,property:"min-width"},badgeMaxWidth:{...f,property:"max-width"},itemsGap:[{property:"gap"},{...w,property:"gap"}]}}),i.VO,i.tQ)(m);o(63595),o(30576),o(11065),o(95260),customElements.define(g,T)},63595:(t,e,o)=>{"use strict";o.r(e),o.d(e,{TextClass:()=>i.s,componentName:()=>i.T});var i=o(66434);customElements.define(i.T,i.s)},65725:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTEwLjAwMDIgMC45OTIxNDlDMTAuMDAwMiAxLjAxNjE1IDEwLjAwMDIgMS4wMTYxNSAxMC4wMDAyIDEuMDE2MTVMOC4yMjQxOSAzLjAwODE1SDIuOTkyMTlDMi40NjQxOSAzLjAwODE1IDIuMDA4MTkgMy40NDAxNSAyLjAwODE5IDMuOTkyMTVWMTIuMDA4MkMyLjAwODE5IDEyLjUzNjIgMi40NDAxOSAxMi45OTIyIDIuOTkyMTkgMTIuOTkyMkg1LjUzNjE5QzUuODQ4MTkgMTMuMDQwMiA2LjE2MDE5IDEzLjA0MDIgNi40NzIxOSAxMi45OTIySDExLjAwODJDMTEuNTM2MiAxMi45OTIyIDExLjk5MjIgMTIuNTYwMiAxMS45OTIyIDEyLjAwODJWNy43ODQxNkwxMy45MzYyIDUuNjI0MTVMMTQuMDA4MiA1LjY3MjE1VjExLjk4NDJDMTQuMDA4MiAxMy42NjQyIDEyLjY2NDIgMTUuMDA4MiAxMS4wMDgyIDE1LjAwODJIMy4wMTYxOUMxLjMzNjE5IDE1LjAwODIgLTAuMDA3ODEyNSAxMy42NjQyIC0wLjAwNzgxMjUgMTEuOTg0MlYzLjk5MjE1Qy0wLjAwNzgxMjUgMi4zMzYxNSAxLjMzNjE5IDAuOTkyMTQ5IDMuMDE2MTkgMC45OTIxNDlIMTAuMDAwMlpNMTEuMjcyMiAyLjYyNDE1TDEyLjYxNjIgNC4xMTIxNUw3LjcyMDE5IDkuNjgwMTZDNy41MDQxOSA5LjkyMDE2IDYuODMyMTkgMTAuMjMyMiA1LjY4MDE5IDEwLjYxNjJDNS42NTYxOSAxMC42NDAyIDUuNjA4MTkgMTAuNjQwMiA1LjU2MDE5IDEwLjYxNjJDNS40NjQxOSAxMC41OTIyIDUuMzkyMTkgMTAuNDcyMiA1LjQ0MDE5IDEwLjM3NjJDNS43NTIxOSA5LjI0ODE2IDYuMDQwMTkgOC41NTIxNiA2LjI1NjE5IDguMzEyMTZMMTEuMjcyMiAyLjYyNDE1Wk0xMS45MjAyIDEuODU2MTVMMTMuMjg4MiAwLjMyMDE0OUMxMy42NDgyIC0wLjA4Nzg1MTYgMTQuMjcyMiAtMC4xMTE4NTIgMTQuNjgwMiAwLjI3MjE0OUMxNS4wODgyIDAuNjMyMTQ5IDE1LjExMjIgMS4yODAxNSAxNC43NTIyIDEuNjg4MTVMMTMuMjY0MiAzLjM2ODE1TDExLjkyMDIgMS44NTYxNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPiA8L3N2Zz4g"},66434:(t,e,o)=>{"use strict";o.d(e,{T:()=>s,s:()=>c});var i=o(88961),n=o(63200),r=o(25964),a=o(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,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)},76368:t=>{t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTEgMTZDMSAxNy4xIDEuOSAxOCAzIDE4SDExQzEyLjEgMTggMTMgMTcuMSAxMyAxNlY0SDFWMTZaTTMgNkgxMVYxNkgzVjZaTTEwLjUgMUw5LjUgMEg0LjVMMy41IDFIMFYzSDE0VjFIMTAuNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPiA8L3N2Zz4g"},77888:(t,e,o)=>{"use strict";o.d(e,{T:()=>s,e:()=>d});var i=o(88961),n=o(72270),r=o(25964),a=o(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,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,o)=>{"use strict";o(93555),o(89389)},89389:(t,e,o)=>{"use strict";o.d(e,{$:()=>b});var i=o(13256),n=o(55774),r=o(82901),a=o(90676),s=o(81488),l=o(87550);const d=o(51450).AH`
|
3
3
|
:host {
|
4
4
|
display: inline-block;
|
5
5
|
position: relative;
|
@@ -72,7 +72,7 @@
|
|
72
72
|
</span>
|
73
73
|
</div>
|
74
74
|
<slot name="tooltip"></slot>
|
75
|
-
`}ready(){super.ready(),this._tooltipController=new s.I(this),this.addController(this._tooltipController)}}(0,r.X)(b)},
|
75
|
+
`}ready(){super.ready(),this._tooltipController=new s.I(this),this.addController(this._tooltipController)}}(0,r.X)(b)},93555:(t,e,o)=>{"use strict";o.d(e,{x:()=>n}),o(64511),o(42068),o(9433),o(3241),o(83315);var i=o(87550);const n=i.AH`
|
76
76
|
:host {
|
77
77
|
/* Sizing */
|
78
78
|
--lumo-button-size: var(--lumo-size-m);
|