@descope/web-components-ui 1.0.367 → 1.0.369

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/helpers/index.js","../src/constants.js","../src/helpers/componentHelpers.js","../src/helpers/themeHelpers/componentsThemeManager.js","../src/mixins/createStyleMixin/helpers.js","../src/mixins/createStyleMixin/index.js","../src/mixins/draggableMixin.js","../src/mixins/componentNameValidationMixin.js","../src/mixins/componentsContextMixin.js","../src/mixins/hoverableMixin.js","../src/mixins/normalizeBooleanAttributesMixin.js","../src/baseClasses/createBaseClass.js","../src/helpers/mixinsHelpers.js","../src/mixins/createProxy.js","../src/mixins/inputValidationMixin.js","../src/mixins/proxyInputMixin.js","../src/mixins/portalMixin.js","../src/mixins/changeMixin.js","../src/mixins/inputEventsDispatchingMixin.js","../src/components/descope-icon/helpers.js","../src/components/descope-icon/IconClass.js","../src/components/descope-button/clickableMixin.js","../src/components/descope-button/ButtonClass.js","../src/components/descope-button/index.js","../src/baseClasses/createBaseInputClass.js","../src/components/boolean-fields/descope-boolean-field-internal/BooleanFieldInternal.js","../src/components/boolean-fields/booleanFieldMixin.js","../src/helpers/themeHelpers/resetHelpers.js","../src/components/boolean-fields/commonStyles.js","../src/components/boolean-fields/descope-checkbox/CheckboxClass.js","../src/components/boolean-fields/descope-boolean-field-internal/index.js","../src/components/boolean-fields/descope-checkbox/index.js","../src/components/boolean-fields/descope-switch-toggle/SwitchToggleClass.js","../src/components/boolean-fields/descope-switch-toggle/index.js","../src/components/descope-loader-linear/LoaderLinearClass.js","../src/components/descope-loader-linear/index.js","../src/components/descope-loader-radial/LoaderRadialClass.js","../src/components/descope-loader-radial/index.js","../src/components/descope-container/ContainerClass.js","../src/components/descope-container/index.js","../src/components/descope-text/TextClass.js","../src/components/descope-divider/DividerClass.js","../src/components/descope-text/index.js","../src/components/descope-divider/index.js","../src/components/descope-text-field/textFieldMappings.js","../src/components/descope-email-field/EmailFieldClass.js","../src/components/descope-email-field/index.js","../src/components/descope-link/LinkClass.js","../src/components/descope-link/index.js","../src/baseClasses/createCssVarImageClass.js","../src/components/descope-logo/LogoClass.js","../src/components/descope-logo/index.js","../src/components/descope-totp-image/TotpImageClass.js","../src/components/descope-totp-image/index.js","../src/components/descope-notp-image/NotpImageClass.js","../src/components/descope-notp-image/index.js","../src/components/descope-number-field/NumberFieldClass.js","../src/components/descope-number-field/index.js","../src/components/descope-passcode/descope-passcode-internal/helpers.js","../src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js","../src/components/descope-text-field/TextFieldClass.js","../src/components/descope-passcode/PasscodeClass.js","../src/components/descope-text-field/index.js","../src/components/descope-passcode/descope-passcode-internal/index.js","../src/components/descope-passcode/index.js","../src/components/descope-password/passwordDraggableMixin.js","../src/components/descope-password/PasswordClass.js","../src/components/descope-password/index.js","../src/components/descope-enriched-text/consts.js","../src/components/descope-enriched-text/helpers.js","../src/components/descope-enriched-text/EnrichedTextClass.js","../src/components/descope-enriched-text/index.js","../src/components/descope-text-area/TextAreaClass.js","../src/components/descope-text-area/index.js","../src/components/descope-image/ImageClass.js","../src/components/descope-image/index.js","../src/components/descope-combo-box/ComboBoxClass.js","../src/components/descope-combo-box/index.js","../src/components/phone-fields/CountryCodes.js","../src/components/phone-fields/descope-phone-field/helpers.js","../src/components/phone-fields/descope-phone-field/descope-phone-field-internal/PhoneFieldInternal.js","../src/components/phone-fields/descope-phone-field/descope-phone-field-internal/index.js","../src/components/phone-fields/descope-phone-field/PhoneFieldClass.js","../src/components/phone-fields/descope-phone-field/index.js","../src/components/phone-fields/helpers.js","../src/components/phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/PhoneFieldInternalInputBox.js","../src/components/phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/index.js","../src/components/phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass.js","../src/components/phone-fields/descope-phone-input-box-field/index.js","../src/components/descope-new-password/descope-new-password-internal/componentName.js","../src/components/descope-policy-validation/helpers.js","../src/components/descope-policy-validation/PolicyValidationClass.js","../src/components/descope-new-password/NewPasswordClass.js","../src/components/descope-policy-validation/index.js","../src/components/descope-new-password/descope-new-password-internal/NewPasswordInternal.js","../src/components/descope-new-password/descope-new-password-internal/index.js","../src/components/descope-new-password/index.js","../src/components/descope-recaptcha/RecaptchaClass.js","../src/components/descope-recaptcha/index.js","../src/components/descope-upload-file/helpers.js","../src/components/descope-upload-file/UploadFileClass.js","../src/components/descope-upload-file/index.js","../src/components/button-selection-group-fields/createBaseButtonSelectionGroupInternalClass.js","../src/components/button-selection-group-fields/descope-button-selection-group-internal/ButtonSelectionGroupInternalClass.js","../src/components/button-selection-group-fields/baseButtonSelectionGroup.js","../src/components/button-selection-group-fields/descope-button-selection-group/ButtonSelectionGroupClass.js","../src/components/button-selection-group-fields/descope-button-selection-group-internal/index.js","../src/components/button-selection-group-fields/descope-button-selection-group-item/ButtonSelectionGroupItemClass.js","../src/components/button-selection-group-fields/descope-button-selection-group-item/index.js","../src/components/button-selection-group-fields/descope-button-selection-group/index.js","../src/components/button-selection-group-fields/descope-button-multi-selection-group-internal/ButtonMultiSelectionGroupInternalClass.js","../src/components/button-selection-group-fields/descope-button-multi-selection-group/ButtonMultiSelectionGroupClass.js","../src/components/button-selection-group-fields/descope-button-multi-selection-group-internal/index.js","../src/components/button-selection-group-fields/descope-button-multi-selection-group/index.js","../src/components/descope-grid/descope-grid-text-column/GridTextColumnClass.js","../src/components/descope-grid/descope-grid-text-column/index.js","../src/components/descope-grid/descope-grid-custom-column/GridCustomColumnClass.js","../src/components/descope-grid/descope-grid-custom-column/index.js","../src/components/descope-grid/descope-grid-selection-column/GridSelectionColumnClass.js","../src/components/descope-grid/descope-grid-selection-column/index.js","../src/components/descope-grid/descope-grid-item-details-column/GridItemDetailsColumnClass.js","../src/components/descope-grid/descope-grid-item-details-column/index.js","../src/components/descope-code-snippet/helpers.js","../src/components/descope-code-snippet/CodeSnippetClass.js","../src/components/descope-code-snippet/index.js","../src/components/descope-grid/helpers.js","../src/components/descope-grid/GridClass.js","../src/components/descope-grid/index.js","../src/components/descope-multi-select-combo-box/MultiSelectComboBoxClass.js","../src/components/descope-multi-select-combo-box/index.js","../src/components/descope-badge/BadgeClass.js","../src/components/descope-badge/index.js","../src/components/descope-modal/ModalClass.js","../src/components/descope-modal/index.js","../src/components/descope-notification/descope-notification-container.js","../src/components/descope-notification/descope-notification-card/NotificationCardClass.js","../src/components/descope-notification/descope-notification-card/index.js","../src/components/descope-notification/NotificationClass.js","../src/components/descope-notification/index.js","../src/components/descope-avatar/AvatarClass.js","../src/components/descope-avatar/index.js","../src/components/descope-icon/index.js","../src/components/mapping-fields/descope-mappings-field/descope-mappings-field-internal/MappingsFieldInternal.js","../src/components/mapping-fields/descope-mappings-field/MappingsFieldClass.js","../src/components/mapping-fields/descope-mappings-field/descope-mappings-field-internal/index.js","../src/components/mapping-fields/descope-mappings-field/descope-mapping-item/MappingItem.js","../src/components/mapping-fields/descope-mappings-field/descope-mapping-item/index.js","../src/components/mapping-fields/descope-mappings-field/index.js","../src/components/descope-user-attribute/delete.svg","../src/components/descope-user-attribute/edit.svg","../src/components/descope-user-attribute/UserAttributeClass.js","../src/components/descope-user-attribute/index.js","../src/components/descope-user-auth-method/green-v.svg","../src/components/descope-user-auth-method/UserAuthMethodClass.js","../src/components/descope-user-auth-method/index.js","../src/components/mapping-fields/descope-saml-group-mappings/descope-saml-group-mappings-internal/SamlGroupMappingsInternal.js","../src/components/mapping-fields/descope-saml-group-mappings/SamlGroupMappingsClass.js","../src/components/mapping-fields/descope-saml-group-mappings/descope-saml-group-mappings-internal/index.js","../src/components/mapping-fields/descope-saml-group-mappings/index.js","../src/components/descope-radio-group/RadioButtonClass.js","../src/components/descope-radio-group/RadioGroupClass.js","../src/components/descope-radio-group/index.js","../src/helpers/themeHelpers/index.js","../src/helpers/themeHelpers/colorsHelpers.js","../src/theme/globals.js","../src/theme/components/button.js","../src/theme/components/inputWrapper.js","../src/theme/components/textField.js","../src/theme/components/password.js","../src/theme/components/numberField.js","../src/theme/components/emailField.js","../src/theme/components/textArea.js","../src/theme/components/checkbox.js","../src/theme/components/switchToggle.js","../src/theme/components/container.js","../src/theme/components/logo.js","../src/theme/components/totpImage.js","../src/theme/components/notpImage.js","../src/theme/components/text.js","../src/theme/components/link.js","../src/theme/components/enrichedText.js","../src/theme/components/divider.js","../src/theme/components/passcode.js","../src/theme/components/loader/loaderLinear.js","../src/theme/components/loader/loaderRadial.js","../src/theme/components/comboBox.js","../src/theme/components/image.js","../src/theme/components/phoneField.js","../src/theme/components/phoneInputBoxField.js","../src/theme/components/newPassword.js","../src/theme/components/uploadFile.js","../src/theme/components/buttonSelectionGroup/buttonSelectionGroupItem.js","../src/theme/components/buttonSelectionGroup/baseButtonSelectionGroup.js","../src/theme/components/buttonSelectionGroup/buttonSelectionGroup.js","../src/theme/components/buttonSelectionGroup/buttonMultiSelectionGroup.js","../src/theme/components/modal.js","../src/theme/components/grid.js","../src/theme/components/notificationCard.js","../src/theme/components/multiSelectComboBox.js","../src/theme/components/badge.js","../src/theme/components/avatar.js","../src/theme/components/mappingsField.js","../src/theme/components/userAttribute.js","../src/theme/components/userAuthMethod.js","../src/theme/components/samlGroupMappings.js","../src/theme/components/policyValidation.js","../src/theme/components/icon.js","../src/theme/components/codeSnippet.js","../src/theme/components/radioGroup/radioGroup.js","../src/theme/components/radioGroup/radioButton.js","../src/mixins/activableMixin.js","../src/components/descope-list/ListItemClass.js","../src/components/descope-list/ListClass.js","../src/theme/components/list/list.js","../src/theme/components/list/listItem.js","../src/mixins/createDynamicDataMixin.js","../src/components/descope-apps-list/AppsListClass.js","../src/theme/components/appsList.js","../src/theme/components/index.js","../src/theme/index.js","../src/darkTheme.js"],"sourcesContent":["export const kebabCase = (str) =>\n str\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s_.]+/g, '-')\n .toLowerCase();\n\nexport const kebabCaseJoin = (...args) => kebabCase(args.filter((arg) => !!arg).join('-'));\n\nexport const compose =\n (...fns) =>\n (val) =>\n fns.reduceRight((res, fn) => fn(res), val);\n\nexport const upperFirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\n\nexport const isFunction = (maybeFunc) => typeof maybeFunc === 'function';\n\nexport const isUrl = (maybeUrl) => {\n try {\n // eslint-disable-next-line no-new\n new URL(maybeUrl);\n\n return true;\n } catch (e) {\n return false;\n }\n};\n\n/**\n * Compares two arrays unorderedly.\n * @param {Array} arr1 - The first array to compare.\n * @param {Array} arr2 - The second array to compare.\n * @returns {boolean} - Returns true if the arrays are equal unorderedly, false otherwise.\n */\nexport const compareArraysUnordered = (arr1, arr2) => {\n if (!Array.isArray(arr1) || !Array.isArray(arr2)) {\n return false;\n }\n\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n const sortedArr1 = arr1.slice().sort();\n const sortedArr2 = arr2.slice().sort();\n\n for (let i = 0; i < sortedArr1.length; i++) {\n if (sortedArr1[i] !== sortedArr2[i]) {\n return false;\n }\n }\n\n return true;\n};\n\nexport const toTitle = (str) =>\n str\n .replace(/([A-Z])/g, ' $1')\n .trim()\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n","export const DESCOPE_PREFIX = 'descope';\nexport const CSS_SELECTOR_SPECIFIER_MULTIPLY = 3;\nexport const BASE_THEME_SECTION = 'host';\nexport const PORTAL_THEME_PREFIX = '@';\n","import { kebabCaseJoin } from '.';\nimport { DESCOPE_PREFIX } from '../constants';\n\nexport const observeAttributes = (ele, callback, { excludeAttrs = [], includeAttrs = [] }) => {\n // sync all attrs on init\n const filteredAttrs = Array.from(ele.attributes)\n .filter(\n (attr) =>\n !excludeAttrs.includes(attr.name) &&\n (!includeAttrs.length || includeAttrs.includes(attr.name))\n )\n .map((attr) => attr.name);\n\n callback(filteredAttrs);\n\n const observer = new MutationObserver((mutationsList) => {\n mutationsList.forEach((mutation) => {\n if (\n mutation.type === 'attributes' &&\n !excludeAttrs.includes(mutation.attributeName) &&\n (!includeAttrs.length || includeAttrs.includes(mutation.attributeName))\n ) {\n callback([mutation.attributeName]);\n }\n });\n });\n\n observer.observe(ele, { attributes: true });\n};\n\n// calling the callback with this object: { addedNodes, removedNodes }\nexport const observeChildren = (ele, callback) => {\n callback({ addedNodes: Array.from(ele.children), removedNodes: [] });\n\n const observer = new MutationObserver((mutationsList) => {\n mutationsList.forEach((mutation) => {\n if (mutation.type === 'childList' || mutation.type === 'characterData') {\n callback(mutation);\n }\n });\n });\n\n observer.observe(ele, { childList: true, characterData: true, subtree: true });\n};\n\nconst createSyncAttrsCb =\n (srcEle, targetEle, mapAttrs = {}) =>\n (attrNames) => {\n attrNames.forEach((attrName) => {\n const targetAttrName = mapAttrs[attrName] || attrName;\n const srcAttrVal = srcEle.getAttribute(attrName);\n if (srcAttrVal !== null) {\n if (targetEle.getAttribute(targetAttrName) !== srcAttrVal) {\n targetEle.setAttribute(targetAttrName, srcAttrVal);\n }\n } else {\n targetEle.removeAttribute(targetAttrName);\n }\n });\n };\n\nexport const syncAttrs = (ele1, ele2, options) => {\n observeAttributes(ele1, createSyncAttrsCb(ele1, ele2), options);\n observeAttributes(ele2, createSyncAttrsCb(ele2, ele1), options);\n};\n\nexport const getComponentName = (name) => kebabCaseJoin(DESCOPE_PREFIX, name);\n\nexport const getCssVarName = (...args) => `--${kebabCaseJoin(...args)}`;\n\nexport const forwardAttrs = (source, dest, options = {}) => {\n observeAttributes(source, createSyncAttrsCb(source, dest, options.mapAttrs), options);\n};\n\nexport const forwardProps = (src, target, props = []) => {\n if (!props.length) return;\n\n const config = props.reduce(\n (acc, prop) =>\n Object.assign(acc, {\n [prop]: {\n get() {\n return src[prop];\n },\n set(v) {\n // eslint-disable-next-line no-param-reassign\n src[prop] = v;\n },\n },\n }),\n {}\n );\n\n Object.defineProperties(target, config);\n};\n","class ComponentsThemeManager {\n static mountOnPropName = 'DescopeThemeManager';\n\n #themes = {};\n\n #currentThemeName = 'light';\n\n #callbacks = new Set();\n\n #notify() {\n this.#callbacks.forEach((cb) => cb?.());\n }\n\n get currentThemeName() {\n return this.#currentThemeName;\n }\n\n set currentThemeName(themeName) {\n this.#currentThemeName = themeName;\n this.#notify();\n }\n\n get currentTheme() {\n return this.#themes[this.currentThemeName];\n }\n\n onCurrentThemeChange(cb) {\n this.#callbacks.add(cb);\n\n return () => {\n this.#callbacks.delete(cb);\n };\n }\n\n set themes(themes) {\n this.#themes = themes;\n this.#notify();\n }\n\n get hasThemes() {\n return !!Object.keys(this.#themes).length;\n }\n}\n\nexport const componentsThemeManager = new ComponentsThemeManager();\n","import { isFunction, kebabCase } from '../../helpers';\nimport { getCssVarName } from '../../helpers/componentHelpers';\n\nconst createCssVar = (varName, fallback) => `var(${varName}${fallback ? `, ${fallback}` : ''})`;\n\nconst createCssSelector = (baseSelector = '', relativeSelectorOrSelectorFn = '') =>\n isFunction(relativeSelectorOrSelectorFn)\n ? relativeSelectorOrSelectorFn(baseSelector)\n : `${baseSelector}${\n /^[A-Za-z]/.test(relativeSelectorOrSelectorFn)\n ? ` ${relativeSelectorOrSelectorFn}`\n : relativeSelectorOrSelectorFn\n }`;\n\nclass StyleBuilder {\n constructor() {\n this.styleMap = new Map();\n }\n\n add(selector, property, value) {\n if (!this.styleMap.has(selector)) {\n this.styleMap.set(selector, []);\n }\n\n this.styleMap.set(selector, [...this.styleMap.get(selector), { property, value }]);\n }\n\n toString() {\n return Array.from(this.styleMap.entries()).reduce((acc, [selector, propValArr]) => {\n const properties = propValArr\n .map(({ property, value }) => `${property}: ${value}`)\n .join(';\\n');\n\n return `${acc}${selector} { \\n${properties} \\n}\\n\\n`;\n }, '');\n }\n}\n\nconst normalizeConfig = (attr, config) => {\n const defaultMapping = { selector: '', property: kebabCase(attr) };\n\n if (!config || !Object.keys(config).length) return [defaultMapping];\n\n if (Array.isArray(config)) return config.map((entry) => ({ ...defaultMapping, ...entry }));\n\n return [{ ...defaultMapping, ...config }];\n};\n\nexport const createStyle = (componentName, baseSelector, mappings) => {\n const style = new StyleBuilder();\n\n Object.keys(mappings).forEach((attr) => {\n const attrConfig = normalizeConfig(attr, mappings[attr]);\n\n const cssVarName = getCssVarName(componentName, attr);\n\n attrConfig.forEach(\n ({ selector: relativeSelectorOrSelectorFn, property, important, fallback }) => {\n style.add(\n createCssSelector(baseSelector, relativeSelectorOrSelectorFn),\n isFunction(property) ? property() : property,\n createCssVar(cssVarName, fallback) + (important ? '!important' : '')\n );\n }\n );\n });\n\n return style.toString();\n};\n\nexport const createCssVarsList = (componentName, mappings) =>\n Object.keys(mappings).reduce(\n (acc, attr) => Object.assign(acc, { [attr]: getCssVarName(componentName, attr) }),\n {}\n );\n\n// on some cases we need a selector to be more specific than another\n// for this we have this fn that generate a class selector multiple times\nexport const createClassSelectorSpecifier = (className, numOfRepeats) =>\n Array(numOfRepeats).fill(`.${className}`).join('');\n","import { BASE_THEME_SECTION, CSS_SELECTOR_SPECIFIER_MULTIPLY } from '../../constants';\nimport { kebabCaseJoin } from '../../helpers';\nimport { getCssVarName, observeAttributes } from '../../helpers/componentHelpers';\nimport { componentsThemeManager } from '../../helpers/themeHelpers/componentsThemeManager';\nimport { createStyle, createCssVarsList, createClassSelectorSpecifier } from './helpers';\n\nconst STYLE_OVERRIDE_ATTR_PREFIX = 'st';\n\nexport const createStyleMixin =\n ({ mappings = {}, componentNameOverride = '' }) =>\n (superclass) => {\n const componentName = componentNameOverride || superclass.componentName;\n\n return class CustomStyleMixinClass extends superclass {\n static get cssVarList() {\n return {\n ...superclass.cssVarList,\n ...createCssVarsList(componentName, {\n ...mappings,\n }),\n };\n }\n\n #overrideStyleEle;\n\n #themeStyleEle;\n\n #disconnectThemeManager;\n\n #componentNameSuffix;\n\n #themeSection;\n\n #rootElement;\n\n #baseSelector;\n\n #styleAttributes;\n\n #getRootElement;\n\n // we are using this mixin also for portalMixin\n // so we should be able to inject styles to other DOM elements\n // this is why we need to support these overrides\n constructor({\n getRootElement,\n componentNameSuffix = '',\n themeSection = BASE_THEME_SECTION,\n baseSelector,\n } = {}) {\n super();\n this.#componentNameSuffix = componentNameSuffix;\n this.#themeSection = themeSection;\n this.#baseSelector = baseSelector ?? this.baseSelector;\n this.#getRootElement = getRootElement;\n\n this.#styleAttributes = Object.keys(mappings).map((key) =>\n kebabCaseJoin(STYLE_OVERRIDE_ATTR_PREFIX, componentNameSuffix, key)\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n get #componentTheme() {\n return componentsThemeManager.currentTheme?.[componentName] || '';\n }\n\n #onComponentThemeChange() {\n this.#themeStyleEle.innerHTML = this.#componentTheme[this.#themeSection];\n }\n\n #createComponentTheme() {\n this.#themeStyleEle = document.createElement('style');\n this.#themeStyleEle.id = `style-mixin-theme__${componentName}`;\n this.#rootElement.prepend(this.#themeStyleEle);\n this.#disconnectThemeManager = componentsThemeManager.onCurrentThemeChange(\n this.#onComponentThemeChange.bind(this)\n );\n this.#onComponentThemeChange();\n }\n\n #createOverridesStyle() {\n if (this.#styleAttributes.length) {\n this.#overrideStyleEle = document.createElement('style');\n this.#overrideStyleEle.id = `style-mixin-overrides__${componentName}`;\n\n const classSpecifier = createClassSelectorSpecifier(\n componentName,\n CSS_SELECTOR_SPECIFIER_MULTIPLY\n );\n\n this.#overrideStyleEle.innerText = `:host(${classSpecifier}) {}`;\n this.#rootElement.append(this.#overrideStyleEle);\n }\n }\n\n #setAttrOverride(attrName, value) {\n const style = this.#overrideStyleEle?.sheet?.cssRules[0].style;\n if (!style) return;\n\n const varName = getCssVarName(\n componentName,\n attrName.replace(new RegExp(`^${STYLE_OVERRIDE_ATTR_PREFIX}-`), '')\n );\n\n if (value) style?.setProperty(varName, value);\n else {\n style?.removeProperty(varName);\n this.removeAttribute(attrName);\n }\n }\n\n #updateOverridesStyle(attrs = []) {\n let shouldUpdate = false;\n\n attrs.forEach((attr) => {\n if (this.#styleAttributes.includes(attr)) {\n this.#setAttrOverride(attr, this.getAttribute(attr));\n shouldUpdate = true;\n }\n });\n\n if (shouldUpdate) {\n // we are rewriting the style back to the style tag\n this.#overrideStyleEle.innerHTML = this.#overrideStyleEle?.sheet?.cssRules[0].cssText;\n }\n }\n\n #createMappingStyle() {\n if (Object.keys(mappings).length) {\n const themeStyle = document.createElement('style');\n themeStyle.id = `style-mixin-mappings__${componentName}`;\n themeStyle.innerHTML = createStyle(\n kebabCaseJoin(componentName, this.#componentNameSuffix),\n this.#baseSelector,\n mappings\n );\n this.#rootElement.prepend(themeStyle);\n }\n }\n\n #addClassName(className) {\n (this.#rootElement.classList || this.#rootElement.host.classList).add(className);\n }\n\n async init() {\n super.init?.();\n if (this.shadowRoot.isConnected) {\n this.#rootElement = (await this.#getRootElement?.(this)) || this.shadowRoot;\n\n this.#addClassName(componentName);\n\n this.#createMappingStyle();\n this.#createComponentTheme();\n this.#createOverridesStyle();\n\n // this is instead attributeChangedCallback because we cannot use static methods in this case\n observeAttributes(this, this.#updateOverridesStyle.bind(this), {});\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback?.();\n\n this.#disconnectThemeManager?.();\n }\n };\n };\n","export const draggableMixin = (superclass) =>\n class DraggableMixinClass extends superclass {\n #styleEle = null;\n\n static get observedAttributes() {\n const superAttrs = superclass.observedAttributes || [];\n return [...superAttrs, 'draggable'];\n }\n\n constructor() {\n super();\n\n this.#styleEle = document.createElement('style');\n this.#styleEle.innerText = `* { cursor: inherit!important }`;\n }\n\n #handleDraggableStyle(isDraggable) {\n if (isDraggable) {\n this.shadowRoot.appendChild(this.#styleEle);\n } else {\n this.#styleEle.remove();\n }\n }\n\n get isDraggable() {\n return this.hasAttribute('draggable') && this.getAttribute('draggable') !== 'false';\n }\n\n init() {\n // because we are delegating the focus from the outer component,\n // the D&D is not working well in the page editor\n // in order to solve it we are making the inner component focusable on mouse down\n // and removing it on complete\n this.addEventListener('mousedown', (e) => {\n if (this.isDraggable) {\n const prevTabIndex = this.baseElement.getAttribute('tabindex');\n this.baseElement.setAttribute('tabindex', '-1');\n\n const onComplete = () => {\n prevTabIndex\n ? this.baseElement.setAttribute('tabindex', prevTabIndex)\n : this.baseElement.removeAttribute('tabindex');\n\n e.target.removeEventListener('mouseup', onComplete);\n e.target.removeEventListener('dragend', onComplete);\n };\n\n e.target.addEventListener('mouseup', onComplete, { once: true });\n e.target.addEventListener('dragend', onComplete, { once: true });\n }\n });\n\n super.init?.();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n if (attrName === 'draggable') {\n this.#handleDraggableStyle(newValue === 'true');\n }\n }\n };\n","export const componentNameValidationMixin = (superclass) =>\n class ComponentNameValidationMixinClass extends superclass {\n #checkComponentName() {\n const currentComponentName = this.localName;\n\n if (!superclass.componentName) {\n throw Error(\n `component name is not defined on super class, make sure you have a static get for \"componentName\"`\n );\n }\n\n if (currentComponentName !== superclass.componentName) {\n throw Error(\n `component name mismatch, expected \"${superclass.componentName}\", current \"${currentComponentName}\"`\n );\n }\n }\n\n init() {\n super.init?.();\n this.#checkComponentName();\n }\n };\n","export const componentsContextMixin = (superclass) =>\n class ComponentsContextMixinClass extends superclass {\n updateComponentsContext(componentsContext) {\n this.dispatchEvent(\n new CustomEvent('components-context', {\n bubbles: true,\n composed: true,\n detail: componentsContext,\n })\n );\n }\n };\n","export const hoverableMixin = (superclass) =>\n class HoverableMixinClass extends superclass {\n init() {\n super.init?.();\n\n this.baseElement.addEventListener('mouseover', (e) => {\n this.setAttribute('hover', 'true');\n e.target.addEventListener('mouseleave', () => this.removeAttribute('hover'), {\n once: true,\n });\n });\n }\n };\n","import { observeAttributes } from '../helpers/componentHelpers';\n\nconst booleanAttributesList = [\n 'readonly',\n 'focused',\n 'invalid',\n 'has-label',\n 'required',\n 'disabled',\n 'checked',\n 'has-helper',\n 'has-value',\n 'step-buttons-visible',\n 'hover',\n 'has-error-message',\n 'focus-ring',\n 'opened',\n 'active',\n 'password-visible',\n 'opening',\n 'closing',\n 'has-no-options',\n];\n\nconst isBooleanAttribute = (attr) => {\n return booleanAttributesList.includes(attr);\n};\n// we want all the valueless attributes to have \"true\" value\n// and all the falsy attribute to be removed\nexport const normalizeBooleanAttributesMixin = (superclass) =>\n class NormalizeBooleanAttributesMixinClass extends superclass {\n init() {\n super.init?.();\n\n observeAttributes(\n this,\n (attrs) =>\n attrs.forEach((attr) => {\n const attrVal = this.getAttribute(attr);\n\n if (isBooleanAttribute(attr)) {\n if (attrVal === '') {\n this.setAttribute(attr, 'true');\n } else if (attrVal === 'false') {\n this.removeAttribute(attr);\n }\n } else if (!attrVal) {\n // eslint-disable-next-line no-console\n console.debug(\n `attribute \"${attr}\" has no value, should it be added to the boolean attributes list?`\n );\n }\n }),\n {}\n );\n }\n };\n","import { compose } from '../helpers';\nimport { componentNameValidationMixin } from '../mixins/componentNameValidationMixin';\nimport { componentsContextMixin } from '../mixins/componentsContextMixin';\nimport { hoverableMixin } from '../mixins/hoverableMixin';\nimport { normalizeBooleanAttributesMixin } from '../mixins/normalizeBooleanAttributesMixin';\n\nexport const createBaseClass = ({ componentName, baseSelector = '' }) => {\n class DescopeBaseClass extends HTMLElement {\n static get componentName() {\n return componentName;\n }\n\n #baseElement;\n\n #isInit = true;\n\n // base selector is the selector for the component wrapper,\n // it's the highest element that is relevant for the layout\n // eslint-disable-next-line class-methods-use-this\n get baseSelector() {\n return baseSelector;\n }\n\n // this is the base element, which returned by querying the base selector\n get baseElement() {\n this.#baseElement ??= this.baseSelector\n ? this.rootElement.querySelector(this.baseSelector)\n : this;\n\n if (!this.#baseElement) {\n // eslint-disable-next-line no-console\n console.warn('missing base element for component', this.localName);\n }\n return this.#baseElement;\n }\n\n // this is the component root level element,\n // it can be either a shadow root or the component's node from the light DOM\n get rootElement() {\n return this.shadowRoot || this;\n }\n\n get name() {\n return this.getAttribute('name');\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n if (this.rootElement.isConnected) {\n // the init function is running once, on the first time the component is connected\n if (this.#isInit) {\n this.#isInit = false;\n this.init?.();\n }\n }\n }\n }\n\n return compose(\n componentNameValidationMixin,\n hoverableMixin,\n normalizeBooleanAttributesMixin,\n componentsContextMixin\n )(DescopeBaseClass);\n};\n","// create a dispatch event function that also calls to the onevent function in case it's set\n// usage example:\n// #dispatchSomething = createDispatchEvent.bind(this, 'something' { ...options })\n// this will dispatch a new event when called, but also call to \"onsomething\"\nexport function createDispatchEvent(eventName, options = {}) {\n const event = new Event(eventName, options);\n\n this[`on${eventName}`]?.(event); // in case we got an event callback as property\n this.dispatchEvent(event);\n}\n","import { createBaseClass } from '../baseClasses/createBaseClass';\nimport { isFunction } from '../helpers';\nimport { forwardProps, syncAttrs } from '../helpers/componentHelpers';\nimport { createDispatchEvent } from '../helpers/mixinsHelpers';\n\nexport const createProxy = ({\n componentName,\n wrappedEleName,\n slots = [],\n style,\n excludeAttrsSync = [],\n includeAttrsSync = [],\n includeForwardProps = [],\n delegatesFocus = true,\n}) => {\n class ProxyClass extends createBaseClass({ componentName, baseSelector: wrappedEleName }) {\n #dispatchBlur = createDispatchEvent.bind(this, 'blur');\n\n #dispatchFocus = createDispatchEvent.bind(this, 'focus');\n\n constructor() {\n super().attachShadow({ mode: 'open', delegatesFocus }).innerHTML = `\n\t\t\t<style id=\"create-proxy\">${(isFunction(style) ? style() : style) || ''}</style>\n\t\t\t<${wrappedEleName}>\n\t\t\t${slots\n .map(\n (\n slot // when slot is an empty string, we will create the default slot (without a name)\n ) => `<slot ${slot ? `name=\"${slot}\" slot=\"${slot}\"` : ''}></slot>`\n )\n .join('')}\n\t\t\t</${wrappedEleName}>\n\t\t`;\n }\n\n init() {\n super.init?.();\n\n this.baseElement.addEventListener('blur', (_) => {\n this.#dispatchBlur();\n });\n\n this.baseElement.addEventListener('focus', (_) => {\n this.#dispatchFocus();\n });\n\n // this is needed for components that uses props, such as combo box\n forwardProps(this.baseElement, this, includeForwardProps);\n\n syncAttrs(this.baseElement, this, {\n excludeAttrs: excludeAttrsSync,\n includeAttrs: includeAttrsSync,\n });\n }\n }\n\n return ProxyClass;\n};\n","import 'element-internals-polyfill'; // this is needed in order to support older browsers\n\nconst observedAttributes = ['required', 'pattern'];\n\nconst errorAttributes = {\n valueMissing: 'data-errormessage-value-missing',\n patternMismatch: 'data-errormessage-pattern-mismatch',\n tooShort: 'data-errormessage-pattern-mismatch-too-short',\n tooLong: 'data-errormessage-pattern-mismatch-too-long',\n typeMismatch: 'data-errormessage-type-mismatch',\n};\n\nconst validationTargetSymbol = Symbol('validationTarget');\n\nexport const inputValidationMixin = (superclass) =>\n class InputValidationMixinClass extends superclass {\n #validationTarget = validationTargetSymbol;\n\n static get observedAttributes() {\n return [...(superclass.observedAttributes || []), ...observedAttributes];\n }\n\n static get formAssociated() {\n return true;\n }\n\n #internals;\n\n get internals() {\n return this.#internals;\n }\n\n set internals(value) {\n this.#internals = value;\n }\n\n constructor() {\n super();\n\n this.#internals = this.attachInternals();\n }\n\n // eslint-disable-next-line class-methods-use-this\n get defaultErrorMsgValueMissing() {\n return 'Please fill out this field.';\n }\n\n // eslint-disable-next-line class-methods-use-this\n get defaultErrorMsgPatternMismatch() {\n return 'Please match the requested format.';\n }\n\n get defaultErrorMsgTooShort() {\n return `Minimum length is ${this.getAttribute('minlength')}.`;\n }\n\n get defaultErrorMsgTooLong() {\n return `Maximum length is ${this.getAttribute('maxlength')}. `;\n }\n\n get defaultErrorMsgRangeUnderflow() {\n return `At least ${this.getAttribute('min-items-selection')} items are required.`;\n }\n\n get defaultErrorMsgRangeOverflow() {\n return `At most ${this.getAttribute('max-items-selection')} items are allowed.`;\n }\n\n // eslint-disable-next-line class-methods-use-this\n get defaultErrorMsgTypeMismatch() {\n return `Please match the requested type.`;\n }\n\n getErrorMessage(flags) {\n const {\n valueMissing,\n patternMismatch,\n typeMismatch,\n stepMismatch,\n tooShort,\n tooLong,\n rangeOverflow,\n rangeUnderflow,\n badInput,\n customError,\n } = flags;\n\n switch (true) {\n case valueMissing:\n return (\n this.getAttribute(errorAttributes.valueMissing) || this.defaultErrorMsgValueMissing\n );\n case patternMismatch || stepMismatch || badInput:\n return (\n this.getAttribute(errorAttributes.patternMismatch) ||\n this.defaultErrorMsgPatternMismatch\n );\n case typeMismatch:\n return (\n this.getAttribute(errorAttributes.typeMismatch) ||\n this.getAttribute(errorAttributes.patternMismatch) ||\n this.defaultErrorMsgTypeMismatch\n );\n case tooShort:\n return this.getAttribute(errorAttributes.tooShort) || this.defaultErrorMsgTooShort;\n case tooLong:\n return this.getAttribute(errorAttributes.tooLong) || this.defaultErrorMsgTooLong;\n case rangeUnderflow:\n return this.defaultErrorMsgRangeUnderflow;\n case rangeOverflow:\n return this.defaultErrorMsgRangeOverflow;\n case customError:\n return this.validationMessage;\n default:\n return '';\n }\n }\n\n #setValidity() {\n const validity = this.isReadOnly ? {} : this.getValidity();\n this.#internals.setValidity(validity, this.getErrorMessage(validity), this.validationTarget);\n }\n\n get validationMessage() {\n return this.#internals.validationMessage;\n }\n\n // eslint-disable-next-line class-methods-use-this\n getValidity() {\n // eslint-disable-next-line no-console\n console.warn('getValidity', 'is not implemented');\n }\n\n checkValidity() {\n return this.#internals.validity.valid;\n }\n\n reportValidity() {\n return this.#internals.reportValidity();\n }\n\n get validity() {\n return this.#internals.validity;\n }\n\n get validationTarget() {\n return this.#validationTarget === validationTargetSymbol\n ? this.inputElement\n : this.#validationTarget;\n }\n\n set validationTarget(val) {\n this.#validationTarget = val;\n }\n\n setCustomValidity(errorMessage) {\n if (errorMessage) {\n this.#internals.setValidity({ customError: true }, errorMessage, this.validationTarget);\n } else {\n this.#internals.setValidity({});\n this.#setValidity();\n }\n }\n\n get isRequired() {\n return this.hasAttribute('required') && this.getAttribute('required') !== 'false';\n }\n\n get isReadOnly() {\n return this.hasAttribute('readonly') && this.getAttribute('readonly') !== 'false';\n }\n\n get isDisabled() {\n return this.hasAttribute('disabled') && this.getAttribute('disabled') !== 'false';\n }\n\n get pattern() {\n return this.getAttribute('pattern');\n }\n\n get form() {\n return this.#internals.form;\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (observedAttributes.includes(attrName)) {\n this.#setValidity();\n }\n }\n\n init() {\n super.init?.();\n this.addEventListener('change', this.#setValidity);\n this.addEventListener('invalid', (e) => e.stopPropagation());\n this.addEventListener('input', this.#setValidity);\n\n // The attribute sync takes time, so getValidity returns valid,\n // even when it shouldn't. This way allows all attributes to sync\n // after render, before checking the validity.\n setTimeout(() => this.#setValidity());\n }\n };\n","/* eslint-disable no-param-reassign */\nimport { compose } from '../helpers';\nimport { forwardAttrs, getComponentName } from '../helpers/componentHelpers';\nimport { createDispatchEvent } from '../helpers/mixinsHelpers';\nimport { createStyleMixin } from './createStyleMixin';\nimport { inputValidationMixin } from './inputValidationMixin';\n\nconst errorAttrs = ['invalid', 'required'];\n\nconst forwardProps = (src, targets, property) => {\n const targetArr = Array.isArray(targets) ? targets : [targets];\n\n Object.defineProperty(src, property, {\n set(v) {\n targetArr.forEach((target) => {\n target[property] = v;\n });\n },\n get() {\n return targets[0][property];\n },\n configurable: true,\n });\n};\n\n// recursively take the first slot child until it finds an element which is not a slot\n// stops after \"nestingLevel\" times\nconst getNestedInput = (ele) => {\n if (!ele) return undefined;\n\n const nestingLevel = 10;\n\n let nonSlotEle = ele;\n for (let i = 0; i < nestingLevel; i++) {\n [nonSlotEle] = nonSlotEle.assignedElements();\n if (nonSlotEle?.localName !== 'slot') return nonSlotEle;\n }\n return undefined;\n};\n\nconst proxyInputMixin =\n ({\n proxyProps = [],\n // useProxyTargets flag allows to forwardProps to other targets, other than\n // `this.inputElement`.\n // if needed\n useProxyTargets = false,\n // allows us to set the event that should trigger validation\n // it can be either a string or an array of strings (for multiple events)\n inputEvent = 'input',\n triggerValidationEvents = [],\n // Proxies all validations from the parent component to the input element\n proxyParentValidation = false,\n }) =>\n (superclass) =>\n class ProxyInputMixinClass extends inputValidationMixin(superclass) {\n static get observedAttributes() {\n return [...(superclass.observedAttributes || []), ...errorAttrs];\n }\n\n #inputElement;\n\n #dispatchChange = createDispatchEvent.bind(this, 'change');\n\n constructor() {\n super();\n\n this.#inputElement = super.inputElement;\n }\n\n // the web-component does not loaded immediately, so we want to defer the warning\n // and show it only if the input element was not found after the component is loaded\n warnIfInputElementIsMissing() {\n clearTimeout(this.inputElementTimerId);\n\n this.inputElementTimerId = setTimeout(() => {\n // eslint-disable-next-line no-console\n !this.#inputElement && console.warn(this.localName, 'no input was found');\n }, 0);\n }\n\n get inputElement() {\n if (this.#inputElement) return this.#inputElement;\n\n this.warnIfInputElementIsMissing();\n\n const inputSlot = this.baseElement.shadowRoot?.querySelector('slot[name=\"input\"]');\n const textAreaSlot = this.baseElement.shadowRoot?.querySelector('slot[name=\"textarea\"]');\n\n this.#inputElement = getNestedInput(inputSlot) || getNestedInput(textAreaSlot);\n\n return this.#inputElement;\n }\n\n set inputElement(ele) {\n this.#inputElement = ele;\n }\n\n getValidity() {\n return this.inputElement?.validity || {};\n }\n\n #handleErrorMessage() {\n this.setAttribute('error-message', this.validationMessage);\n }\n\n // We do not want to show the default validity report tooltip\n // So we are overriding the reportValidity fn to show the input's error message\n reportValidity = () => {\n // we want to update validity so in case the value was set programmatically, we won't get an error\n this.inputElement.setCustomValidity('');\n this.setCustomValidity('');\n if (!this.checkValidity()) {\n this.setAttribute('invalid', 'true');\n this.#handleErrorMessage();\n this.focus();\n }\n };\n\n // we are keeping also the default reportValidity because there are some components that still using it\n defaultReportValidity() {\n return super.reportValidity();\n }\n\n init() {\n super.init?.();\n\n // vaadin sets invalid indication on blur\n // we want invalid indication to appear only when calling reportValidity\n // this is why we are overriding vaadin's setInvalid behavior\n // to update only when the element is valid (so invalid indication will only be removed)\n // and we are adding it in reportValidity\n // eslint-disable-next-line func-names\n this.baseElement._setInvalid = function (invalid) {\n if (!invalid && this._shouldSetInvalid(invalid)) {\n this.invalid = invalid;\n }\n };\n\n // We want to ensure that `input` events properly cross ShadowDOM boundries\n // e.g. When we autofill a component's input with 1Password, for instance,\n // the event is fired without `composed: true` and doesn't our component's\n // ShadowDOM.\n this.baseElement.addEventListener('input', (e) => {\n if (!e.composed) {\n this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n }\n });\n\n triggerValidationEvents.forEach((e) => {\n this.baseElement?.addEventListener(e, () => {\n this.inputElement?.setCustomValidity('');\n });\n });\n\n // on some cases the base element is not ready so the inputElement is empty\n // we are deferring this section to make sure the base element is ready\n setTimeout(() => {\n const validationEvents = Array.isArray(inputEvent) ? inputEvent : [inputEvent];\n\n validationEvents.forEach((e) => {\n this.baseElement?.addEventListener(e, () => {\n if (!this.baseElement.checkValidity()) {\n this.#handleErrorMessage();\n } else {\n this.removeAttribute('invalid');\n }\n });\n });\n\n this.baseElement.addEventListener('change', () => {\n this.#dispatchChange();\n });\n\n this.addEventListener('invalid', () => {\n if (!this.checkValidity()) {\n this.setAttribute('invalid', 'true');\n }\n this.#handleErrorMessage();\n });\n\n // sync properties\n proxyProps.forEach((prop) => {\n const proxyTargets = useProxyTargets ? [this.baseElement].filter(Boolean) : [];\n forwardProps(this, [this.inputElement, ...proxyTargets], prop);\n });\n\n this.setSelectionRange = this.inputElement.setSelectionRange?.bind(this.inputElement);\n\n forwardAttrs(this, this.inputElement, { includeAttrs: ['inputmode'] });\n });\n\n if (proxyParentValidation) {\n // All functions called on the inputElement internals will be applied to the parent\n // component internals as well. As a result, there's no need to add outer mechanisms\n // to update the parent component's validity state based on the input elements validity.\n const inputElementInternals = this.inputElement.internals;\n const parentThis = this;\n this.inputElement.internals = new Proxy(inputElementInternals, {\n get: (target, prop) => {\n if (typeof target[prop] === 'function' && prop === 'setValidity') {\n return (...args) => {\n // If we're calling setValidity with 3 args, then the validationTarget\n // needs to be swapped to be the inputElement\n if (args.length === 3) {\n const newArgs = args.slice(0, args.length - 1);\n newArgs.push(parentThis.inputElement);\n parentThis.internals[prop](...newArgs);\n } else {\n parentThis.internals[prop](...args);\n }\n return target[prop](...args);\n };\n }\n\n if (typeof target[prop] === 'function') {\n return (...args) => {\n parentThis.internals[prop](...args);\n return target[prop](...args);\n };\n }\n\n return target[prop];\n },\n });\n }\n }\n };\n\nconst composedProxyInputMixin = (proxyInputMixinConfig) =>\n compose(\n proxyInputMixin(proxyInputMixinConfig),\n // in order to use input-wrapper across all our input components, we need to inject its theme\n // to every proxy input mixin, to allow its css vars to be scoped properly and accessible\n // in the proxy input component\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') })\n );\n\nexport { composedProxyInputMixin as proxyInputMixin };\n","import { PORTAL_THEME_PREFIX } from '../constants';\nimport { kebabCaseJoin } from '../helpers';\nimport { forwardAttrs } from '../helpers/componentHelpers';\nimport { createStyleMixin } from './createStyleMixin';\nimport { createCssVarsList } from './createStyleMixin/helpers';\n\n// this is needed because we might generate the same css vars names\n// e.g. \"overlayColor\" attribute in style mixin's mapping,\n// will generate the same var as \"color\" attribute in portals's mapping\n// when the portal name is \"overlay\".\n// because of that, we are adding this separator that is also used as a differentiator\nconst DISPLAY_NAME_SEPARATOR = '_';\n\nconst sanitizeSelector = (selector) => selector.replace(/[^\\w\\s]/gi, '');\n\nconst withWaitForShadowRoot = (getRootElementFn) => async (that) => {\n const ele = await getRootElementFn(that);\n\n return new Promise((res) => {\n const MAX_RETRIES = 20;\n let counter = 0;\n\n const check = () => {\n if (counter > MAX_RETRIES) {\n // eslint-disable-next-line no-console\n console.error('could not get shadow root for element', ele);\n res(ele);\n return;\n }\n\n counter++;\n\n if (!ele?.shadowRoot) setTimeout(check);\n else res(ele.shadowRoot);\n };\n check();\n });\n};\n\nexport const portalMixin =\n ({ name, selector, mappings = {}, forward: { attributes = [], include = true } = {} }) =>\n (superclass) => {\n const eleDisplayName = name || sanitizeSelector(selector);\n\n const BaseClass = createStyleMixin({\n mappings,\n })(superclass);\n\n return class PortalMixinClass extends BaseClass {\n static get cssVarList() {\n return {\n ...BaseClass.cssVarList,\n [eleDisplayName]: createCssVarsList(\n kebabCaseJoin(superclass.componentName, DISPLAY_NAME_SEPARATOR + eleDisplayName),\n mappings\n ),\n };\n }\n\n #portalEle;\n\n constructor() {\n // we cannot use \"this\" before calling \"super\"\n const getRootElement = async (that) => {\n const baseEle = that.shadowRoot.querySelector(that.baseSelector);\n if (!selector) {\n return baseEle;\n }\n\n // in case we have a selector, we should first wait for the base element shadow root\n // and then look for the internal element\n const baseEleShadowRoot = await withWaitForShadowRoot(() => baseEle)(that);\n return baseEleShadowRoot.querySelector(selector);\n };\n\n const getPortalElement = withWaitForShadowRoot(getRootElement);\n\n super({\n getRootElement: getPortalElement,\n componentNameSuffix: DISPLAY_NAME_SEPARATOR + eleDisplayName,\n themeSection: PORTAL_THEME_PREFIX + eleDisplayName,\n baseSelector: ':host',\n });\n\n this.#portalEle = getPortalElement(this).then((ele) => ele.host);\n }\n\n async #handleHoverAttribute() {\n const portalEle = await this.#portalEle;\n portalEle.onmouseenter = (e) => {\n e.target.setAttribute('hover', 'true');\n };\n portalEle.onmouseleave = (e) => {\n e.target.removeAttribute('hover');\n };\n }\n\n async init() {\n super.init?.();\n const portalEle = await this.#portalEle;\n forwardAttrs(this, portalEle, {\n [include ? 'includeAttrs' : 'excludeAttrs']: attributes,\n });\n\n this.#handleHoverAttribute();\n }\n };\n };\n","import { createDispatchEvent } from '../helpers/mixinsHelpers';\n\nexport const changeMixin = (superclass) =>\n class ChangeMixinClass extends superclass {\n #dispatchChange = createDispatchEvent.bind(this, 'change');\n\n init() {\n super.init?.();\n this.prevValue = this.value;\n\n this.addEventListener('change', (e) => {\n e.stopPropagation();\n });\n\n this.addEventListener('blur', () => {\n if (this.value !== this.prevValue) {\n this.#dispatchChange();\n this.prevValue = this.value;\n }\n });\n }\n };\n","import { createDispatchEvent } from '../helpers/mixinsHelpers';\n\nexport const inputEventsDispatchingMixin = (superclass) =>\n class InputEventsDispatchingMixinClass extends superclass {\n init() {\n this.#blockNativeEvents();\n\n super.init?.();\n }\n\n // we want to block the native (trusted) events and control when these events are being dispatched\n #blockNativeEvents() {\n ['blur', 'focus', 'focusin', 'focusout'].forEach((event) => {\n this.addEventListener(event, (e) => {\n e.isTrusted && e.target === this && e.stopImmediatePropagation();\n });\n });\n }\n\n handleFocusEventsDispatching(inputs) {\n let timerId;\n\n // in order to simulate blur & focusout on root input element\n // we are checking if focus on one of the inner elements happened immediately after blur\n // if not, the component is no longer focused and we should dispatch blur & focusout\n inputs?.forEach((input) => {\n input?.addEventListener('focusout', (e) => {\n e.stopImmediatePropagation();\n timerId = setTimeout(() => {\n timerId = null;\n\n createDispatchEvent.call(this, 'blur');\n createDispatchEvent.call(this, 'focusout', { bubbles: true });\n });\n });\n\n // in order to simulate focus & focusin on the root input element\n // we are holding a timer id and clearing it on focusin\n // if there is a timer id, it means that the root input is still focused\n // otherwise, it was not focused before, and we should dispatch focus & focusin\n const onFocus = (e) => {\n e.stopImmediatePropagation();\n clearTimeout(timerId);\n if (!timerId) {\n createDispatchEvent.call(this, 'focus');\n createDispatchEvent.call(this, 'focusin', { bubbles: true });\n }\n };\n\n // some components are not dispatching focusin but only focus\n input?.addEventListener('focusin', onFocus);\n input?.addEventListener('focus', onFocus);\n });\n }\n\n // we want to block the input events from propagating in case the value of the root input wasn't change\n // this can happen if we are sanitizing characters on the internal inputs and do not want it to affect the root input element value\n // in this case, on each input event, we are comparing the root input value to the previous one, and only if it does not match, we are allowing the input event to propagate\n handleInputEventDispatching() {\n let previousRootComponentValue = this.value;\n\n this.addEventListener('input', (e) => {\n // we are comparing the previous value to the new one,\n // and if they have the same value, we are blocking the input event\n if (previousRootComponentValue === this.value) {\n e.stopImmediatePropagation();\n } else {\n previousRootComponentValue = this.value;\n }\n });\n }\n };\n","const getFileExtension = (path) => {\n const match = path.match(/\\.([0-9a-z]+)(?:[\\\\?#]|$)/i);\n return match ? match[1] : null;\n};\n\nconst isSvg = (src) => getFileExtension(src) === 'svg' || src.indexOf('image/svg+xml') > -1;\n\nconst createImgEle = (src) => {\n const ele = document.createElement('img');\n ele.setAttribute('src', src);\n return ele;\n};\n\nconst createSvgEle = (text) => {\n const parser = new DOMParser();\n const ele = parser.parseFromString(text, 'image/svg+xml').querySelector('svg');\n return ele;\n};\n\nexport const createIcon = async (src) => {\n try {\n let ele;\n\n if (isSvg(src)) {\n const fetchedSrc = await fetch(src);\n const text = await fetchedSrc.text();\n ele = createSvgEle(text);\n } else {\n ele = createImgEle(src);\n }\n\n ele.style.setProperty('width', '100%');\n ele.style.setProperty('height', '100%');\n\n return ele;\n } catch {\n return null;\n }\n};\n","/* eslint-disable no-use-before-define */\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { createIcon } from './helpers';\n\nexport const componentName = getComponentName('icon');\n\nclass RawIcon extends createBaseClass({ componentName, baseSelector: 'slot' }) {\n static get observedAttributes() {\n return ['src', 'fill-color'];\n }\n\n #icon;\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t:host > slot {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t</style>\n\t\t<slot></slot>\n\t`;\n }\n\n get fillColor() {\n return this.getAttribute('fill-color') === 'true';\n }\n\n get src() {\n return this.getAttribute('src');\n }\n\n // in order to fill an SVG with `currentColor` override all of its `fill` and `path` nodes\n // with the value from the `st-fill` attribute\n updateFillColor() {\n if (this.#icon && this.fillColor) {\n const fillCssVar = (selector) => {\n this.querySelectorAll(selector).forEach((ele) =>\n ele.setAttribute(\n 'fill',\n `var(${IconClass.cssVarList.fill}, ${ele.getAttribute('fill') || \"''\"})`\n )\n );\n };\n\n fillCssVar('*[fill]');\n fillCssVar('path');\n }\n }\n\n resetIcon() {\n if (!this.#icon) return;\n this.innerHTML = '';\n this.appendChild(this.#icon.cloneNode(true));\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue === newValue) return;\n\n if (attrName === 'src') {\n createIcon(this.src).then((res) => {\n this.#icon = res;\n this.resetIcon();\n this.updateFillColor();\n });\n } else if (attrName === 'fill-color') {\n this.resetIcon();\n this.updateFillColor();\n }\n }\n}\n\nexport const IconClass = compose(\n createStyleMixin({\n mappings: {\n fill: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawIcon);\n","export const clickableMixin = (superclass) =>\n class ClickableMixinClass extends superclass {\n get isLoading() {\n return this.getAttribute('loading') === 'true';\n }\n\n click() {\n this.isLoading || super.click();\n }\n };\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { IconClass } from '../descope-icon/IconClass';\nimport { clickableMixin } from './clickableMixin';\n\nexport const componentName = getComponentName('button');\n\nconst resetStyles = `\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n`;\n\nconst iconStyles = `\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n`;\n\nconst editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;\n\nconst { host, label, slottedIcon } = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n slottedIcon: { selector: () => '::slotted(descope-icon)' },\n};\n\nlet loadingIndicatorStyles;\n\nexport const ButtonClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { property: 'width' },\n hostHeight: { property: 'height' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n fontFamily: {},\n\n cursor: {},\n backgroundColor: {},\n\n outlineOffset: {},\n outlineColor: {},\n outlineStyle: {},\n outlineWidth: {},\n\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [\n { property: 'padding-right', fallback: '0.875em' },\n { property: 'padding-left', fallback: '0.875em' },\n ],\n\n labelTextColor: { property: 'color' },\n iconColor: {\n selector: () => `::slotted(${IconClass.componentName})`,\n property: IconClass.cssVarList.fill,\n },\n labelTextDecoration: { ...label, property: 'text-decoration' },\n labelSpacing: { ...label, property: 'gap' },\n textAlign: { ...label, property: 'justify-content', fallback: 'center' },\n\n iconSize: [\n { ...slottedIcon, property: 'width' },\n { ...slottedIcon, property: 'height' },\n ],\n },\n }),\n clickableMixin,\n draggableMixin,\n componentNameValidationMixin\n)(\n createProxy({\n slots: ['', 'prefix', 'label', 'suffix'],\n wrappedEleName: 'vaadin-button',\n style: () => `\n\t\t\t${resetStyles}\n\t\t\t${iconStyles}\n\t\t\t${loadingIndicatorStyles}\n\t\t\t${editorOverrides}\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${ButtonClass.cssVarList.outlineWidth}) + var(${ButtonClass.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width=\"true\"]) {\n width: var(${ButtonClass.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${ButtonClass.cssVarList.hostHeight}) - var(${ButtonClass.cssVarList.outlineWidth}) - var(${ButtonClass.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square=\"true\"]:not([full-width=\"true\"]) {\n\t\t\t\twidth: calc(var(${ButtonClass.cssVarList.hostWidth}) - var(${ButtonClass.cssVarList.outlineWidth}) - var(${ButtonClass.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nconst { color, fontSize } = ButtonClass.cssVarList;\nloadingIndicatorStyles = `\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading=\"true\"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${color});\n\t\ttop: calc(50% - (var(${fontSize}) / 2));\n\t\tleft: calc(50% - (var(${fontSize}) / 2));\n\t\tborder-width: calc(var(${fontSize}) / 10);\n\t\twidth: var(${fontSize});\n\t\theight: var(${fontSize});\n\t}\n\t:host([disabled=\"true\"]),\n\t:host([loading=\"true\"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading=\"true\"])::part(prefix),\n\t:host([loading=\"true\"])::part(label) {\n\t\tvisibility: hidden;\n\t}\n`;\n","import '@vaadin/button';\nimport { componentName, ButtonClass } from './ButtonClass';\n\ncustomElements.define(componentName, ButtonClass);\n\nexport { ButtonClass };\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 { 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 { 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","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]) [slot=\"label\"] {\n padding: 0;\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 { 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\theight: 0;\n\tmargin: 0;\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 { 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\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 }\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 }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n `,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n","import BooleanFieldInternal, { componentName } from './BooleanFieldInternal';\n\ncustomElements.define(componentName, BooleanFieldInternal);\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 };\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: { ...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\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 { componentName, SwitchToggleClass } from './SwitchToggleClass';\nimport '@vaadin/checkbox';\nimport '@vaadin/text-field';\nimport '../descope-boolean-field-internal';\n\ncustomElements.define(componentName, SwitchToggleClass);\n\nexport { SwitchToggleClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('loader-linear');\n\nclass RawLoaderLinear extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n static get componentName() {\n return componentName;\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t@keyframes tilt {\n\t\t\t\t0% { transform: translateX(0); }\n\t\t\t\t50% { transform: translateX(400%); }\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tposition: relative;\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t\tdiv::after {\n\t\t\t\tcontent: '';\n\t\t\t\tanimation-name: tilt;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t\t:host > div {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t</style>\n\t\t<div></div>\n\t`;\n }\n}\n\nconst selectors = {\n after: { selector: '::after' },\n host: { selector: () => ':host' },\n};\n\nconst { after, host } = selectors;\n\nexport const LoaderLinearClass = compose(\n createStyleMixin({\n mappings: {\n hostDisplay: {},\n hostWidth: { ...host, property: 'width' },\n barHeight: [{ property: 'height' }, { ...after, property: 'height' }],\n barBorderRadius: [{ property: 'border-radius' }, { ...after, property: 'border-radius' }],\n verticalPadding: [\n { ...host, property: 'padding-top' },\n { ...host, property: 'padding-bottom' },\n ],\n barBackgroundColor: { property: 'background-color' },\n barColor: { ...after, property: 'background-color' },\n barWidth: { ...after, property: 'width' },\n animationDuration: [{}, after],\n animationTimingFunction: [{}, after],\n animationIterationCount: [{}, after],\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawLoaderLinear);\n","import { componentName, LoaderLinearClass } from './LoaderLinearClass';\n\ncustomElements.define(componentName, LoaderLinearClass);\n\nexport { LoaderLinearClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('loader-radial');\n\nclass RawLoaderRadial extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t@keyframes spin {\n\t\t\t\t0% { transform: rotate(0deg); }\n\t\t\t\t100% { transform: rotate(360deg); }\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tposition: relative;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\t\t\t:host > div {\n\t\t\t\tanimation-name: spin;\n\t\t\t}\n\t\t</style>\n\t\t<div></div>\n\t`;\n }\n}\n\nexport const LoaderRadialClass = compose(\n createStyleMixin({\n mappings: {\n hostDisplay: { property: 'display' },\n spinnerSize: [{ property: 'width' }, { property: 'height' }],\n spinnerBorderWidth: { property: 'border-width' },\n spinnerBorderStyle: { property: 'border-style' },\n spinnerBorderRadius: { property: 'border-radius' },\n spinnerQuadrant1Color: { property: 'border-top-color' },\n spinnerQuadrant2Color: { property: 'border-bottom-color' },\n spinnerQuadrant3Color: { property: 'border-right-color' },\n spinnerQuadrant4Color: { property: 'border-left-color' },\n animationDuration: {},\n animationTimingFunction: {},\n animationIterationCount: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawLoaderRadial);\n","import { componentName, LoaderRadialClass } from './LoaderRadialClass';\n\ncustomElements.define(componentName, LoaderRadialClass);\n\nexport { LoaderRadialClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('container');\n\nclass RawContainer extends createBaseClass({ componentName, baseSelector: 'slot' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t:host > slot {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: auto;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t</style>\n\t\t<slot></slot>\n\t`;\n }\n}\n\nexport const ContainerClass = compose(\n createStyleMixin({\n mappings: {\n hostHeight: { selector: () => ':host', property: 'height' },\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n itemsGrow: { selector: () => '::slotted(*)', property: 'flex-grow', fallback: '0' },\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],\n\n flexDirection: {},\n justifyContent: {},\n alignItems: {},\n gap: {},\n flexWrap: {},\n\n backgroundColor: {},\n color: {},\n borderRadius: {},\n\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n boxShadow: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawContainer);\n","import { componentName, ContainerClass } from './ContainerClass';\n\ncustomElements.define(componentName, ContainerClass);\n\nexport { ContainerClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({ componentName, baseSelector: ':host > slot' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <style>\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n </style>\n <slot part=\"text-wrapper\"></slot>\n `;\n }\n\n get hideWhenEmpty() {\n return this.getAttribute('hide-when-empty') === 'true';\n }\n\n init() {\n super.init();\n\n observeChildren(this, () => {\n const hasChildren = !!this.childNodes.length;\n this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';\n });\n }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontSize: {},\n textColor: { property: 'color' },\n textLineHeight: { property: 'line-height' },\n textLetterSpacing: { property: 'letter-spacing' },\n textShadow: {},\n textAlign: {},\n textTransform: {},\n fontFamily: {},\n fontStyle: {},\n fontWeight: {},\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawText);\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport { TextClass } from '../descope-text/TextClass';\n\nexport const componentName = getComponentName('divider');\nclass RawDivider extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t}\n\t\t\t\t:host > div {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\theight: 100%;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t}\n\t\t\t\t:host > div::before,\n\t\t\t\t:host > div::after {\n\t\t\t\t\tcontent: '';\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t}\n\t\t\t\tdescope-text {\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t\tflex-shrink: 0;\n\t\t\t\t}\n\t\t\t\t:host(:empty) descope-text {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t\t:host([vertical=\"true\"]) div {\n\t\t\t\t\twidth: fit-content;\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<div>\n\t\t\t\t<descope-text>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</descope-text>\n\t\t\t</div>\n\t\t`;\n\n this.textComponent = this.shadowRoot.querySelector('descope-text');\n\n forwardAttrs(this, this.textComponent, {\n includeAttrs: ['mode', 'variant', 'italic'],\n });\n }\n}\n\nconst textVars = TextClass.cssVarList;\nconst { host, before, after, text } = {\n host: { selector: () => ':host' },\n before: { selector: '::before' },\n after: { selector: '::after' },\n text: { selector: 'descope-text' },\n};\n\nexport const DividerClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostPadding: { ...host, property: 'padding' },\n hostDirection: { ...text, property: 'direction' },\n\n minHeight: {},\n alignItems: {},\n alignSelf: {},\n flexDirection: {},\n textAlign: { ...text, property: textVars.textAlign },\n\n labelTextWidth: { ...text, property: 'width' },\n labelTextMaxWidth: { ...text, property: 'max-width' },\n labelTextVerticalSpacing: [\n { ...text, property: 'padding-top' },\n { ...text, property: 'padding-bottom' },\n ],\n labelTextHorizontalSpacing: [\n { ...text, property: 'padding-right' },\n { ...text, property: 'padding-left' },\n ],\n\n stripeColor: [\n { ...before, property: 'background-color' },\n { ...after, property: 'background-color' },\n ],\n stripeHorizontalThickness: [\n { ...before, property: 'height' },\n { ...after, property: 'height' },\n ],\n stripeVerticalThickness: [\n { ...before, property: 'width' },\n { ...after, property: 'width' },\n ],\n stripeColorOpacity: [\n { ...before, property: 'opacity' },\n { ...after, property: 'opacity' },\n ],\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawDivider);\n","import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass };\n","import { componentName, DividerClass } from './DividerClass';\nimport '../descope-text';\n\ncustomElements.define(componentName, DividerClass);\n\nexport { DividerClass };\n","const {\n host,\n label,\n placeholder,\n requiredIndicator,\n inputField,\n input,\n inputMask,\n helperText,\n errorMessage,\n disabledPlaceholder,\n inputDisabled,\n inputIcon,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n placeholder: [\n { selector: '> input:placeholder-shown' },\n { selector: () => ':host::slotted(input:placeholder-shown)' },\n ],\n disabledPlaceholder: { selector: '> input:disabled::placeholder' },\n inputField: { selector: '::part(input-field)' },\n input: { selector: 'input' },\n inputMask: { selector: '::part(input-field)::before' },\n inputDisabled: { selector: 'input:disabled' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n inputIcon: { selector: 'vaadin-icon' },\n};\n\nexport default {\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host],\n fontFamily: [label, inputField, helperText, errorMessage],\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n { ...label, property: '-webkit-text-fill-color' },\n { ...requiredIndicator, property: '-webkit-text-fill-color' },\n ],\n\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n\n inputBackgroundColor: [\n { ...inputField, property: 'background-color' },\n { ...inputMask, property: 'background-color' },\n ],\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n helperTextColor: { ...helperText, property: '-webkit-text-fill-color' },\n\n inputValueTextColor: [\n { ...inputField, property: 'color' },\n { ...inputDisabled, property: '-webkit-text-fill-color' },\n ],\n inputCaretTextColor: [{ ...input, property: 'color' }],\n\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputHeight: { ...inputField, property: 'height' },\n inputHorizontalPadding: [\n { ...input, property: 'padding-left' },\n { ...input, property: 'padding-right' },\n ],\n\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n inputTextAlign: [{ ...input, property: 'text-align' }],\n\n inputPlaceholderColor: [\n { selector: () => ':host input:placeholder-shown', property: 'color' },\n { ...placeholder, property: 'color' },\n { ...disabledPlaceholder, property: '-webkit-text-fill-color' },\n ],\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: [{ selector: '> input:placeholder-shown', property: 'opacity' }],\n inputVerticalAlignment: [{ ...inputField, property: 'align-items' }],\n valueInputHeight: [{ ...input, property: 'height' }],\n valueInputMarginBottom: [{ ...input, property: 'margin-bottom' }],\n\n inputIconOffset: [\n { ...inputIcon, property: 'margin-right' },\n { ...inputIcon, property: 'margin-left' },\n ],\n inputIconSize: { ...inputIcon, property: 'font-size' },\n inputIconColor: { ...inputIcon, property: 'color' },\n};\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n inputFloatingLabelStyle,\n resetInputLabelPosition,\n resetInputOverrides,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('email-field');\n\nconst defaultPattern = \"^[\\\\w\\\\.\\\\%\\\\+\\\\-']+@[\\\\w\\\\.\\\\-]+\\\\.[A-Za-z]{2,}$\";\nconst defaultAutocomplete = 'username';\n\nconst customMixin = (superclass) =>\n class EmailFieldMixinClass extends superclass {\n init() {\n super.init?.();\n\n // we need to set the pattern on the base element because vaadin-email-field is overriding it\n this.baseElement.setAttribute('pattern', defaultPattern);\n\n if (!this.getAttribute('autocomplete')) {\n this.setAttribute('autocomplete', defaultAutocomplete);\n }\n }\n };\n\nexport const EmailFieldClass = compose(\n createStyleMixin({\n mappings: textFieldMappings,\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['', 'suffix'],\n wrappedEleName: 'vaadin-email-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${EmailFieldClass.cssVarList.inputOutlineWidth}) + var(${\n EmailFieldClass.cssVarList.inputOutlineOffset\n }));\n box-sizing: border-box;\n\t\t\t}\n ${resetInputLabelPosition('vaadin-email-field')}\n\t\t\t${useHostExternalPadding(EmailFieldClass.cssVarList)}\n\t\t\t${resetInputOverrides('vaadin-email-field', EmailFieldClass.cssVarList)}\n ${inputFloatingLabelStyle()}\n\n vaadin-email-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-email-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\n :host ::slotted(*) {\n -webkit-mask-image: none;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/email-field';\nimport { componentName, EmailFieldClass } from './EmailFieldClass';\n\ncustomElements.define(componentName, EmailFieldClass);\n\nexport { EmailFieldClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { TextClass } from '../descope-text/TextClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\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<style>\n\t\t: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\t\t</style>\n\t\t<div>\n\t\t\t<descope-text>\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 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-text';\n\ncustomElements.define(componentName, LinkClass);\n\nexport { LinkClass };\n","import { compose } from '../helpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createCssVarImageClass = ({ componentName, varName, fallbackVarName }) => {\n let style;\n const getContent = () => style;\n\n class RawCssVarImageClass extends createBaseClass({\n componentName,\n baseSelector: ':host > div',\n }) {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable=\"true\"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\t\t\n\t\t\t\t:host > div {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t\tmargin: auto;\n\t\t\t\t\t${getContent()}\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<div></div>\n\t\t\t`;\n }\n }\n\n const CssVarImageClass = compose(\n createStyleMixin({\n mappings: {\n height: { selector: () => ':host > div' },\n width: { selector: () => ':host > div' },\n [varName]: { property: 'content' },\n [fallbackVarName]: { property: 'content' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n )(RawCssVarImageClass);\n\n style = `content: var(${CssVarImageClass.cssVarList[varName]}, var(${CssVarImageClass.cssVarList[fallbackVarName]}));`;\n\n return CssVarImageClass;\n};\n","import { getComponentName } from '../../helpers/componentHelpers';\nimport { createCssVarImageClass } from '../../baseClasses/createCssVarImageClass';\n\nexport const componentName = getComponentName('logo');\n\nexport const LogoClass = createCssVarImageClass({\n componentName,\n varName: 'url',\n fallbackVarName: 'fallbackUrl',\n});\n","import { componentName, LogoClass } from './LogoClass';\n\ncustomElements.define(componentName, LogoClass);\n\nexport { LogoClass };\n","import { getComponentName } from '../../helpers/componentHelpers';\nimport { createCssVarImageClass } from '../../baseClasses/createCssVarImageClass';\n\nexport const componentName = getComponentName('totp-image');\n\nexport const TotpImageClass = createCssVarImageClass({\n componentName,\n varName: 'url',\n fallbackVarName: 'fallbackUrl',\n});\n","import { componentName, TotpImageClass } from './TotpImageClass';\n\ncustomElements.define(componentName, TotpImageClass);\n\nexport { TotpImageClass };\n","import { getComponentName } from '../../helpers/componentHelpers';\nimport { createCssVarImageClass } from '../../baseClasses/createCssVarImageClass';\n\nexport const componentName = getComponentName('notp-image');\n\nexport const NotpImageClass = createCssVarImageClass({\n componentName,\n varName: 'url',\n fallbackVarName: 'fallbackUrl',\n});\n","import { componentName, NotpImageClass } from './NotpImageClass';\n\ncustomElements.define(componentName, NotpImageClass);\n\nexport { NotpImageClass };\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n inputFloatingLabelStyle,\n resetInputLabelPosition,\n resetInputOverrides,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('number-field');\n\nexport const NumberFieldClass = compose(\n createStyleMixin({\n mappings: textFieldMappings,\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin\n)(\n createProxy({\n slots: ['', 'prefix', 'suffix'],\n wrappedEleName: 'vaadin-number-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${NumberFieldClass.cssVarList.inputOutlineWidth}) + var(${\n NumberFieldClass.cssVarList.inputOutlineOffset\n }));\n\t\t\t}\n ${resetInputLabelPosition('vaadin-number-field')}\n\t\t\t${useHostExternalPadding(NumberFieldClass.cssVarList)}\n\t\t\t${resetInputOverrides('vaadin-number-field', NumberFieldClass.cssVarList)}\n ${inputFloatingLabelStyle()}\n\n vaadin-number-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-number-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/number-field';\nimport { componentName, NumberFieldClass } from './NumberFieldClass';\n\ncustomElements.define(componentName, NumberFieldClass);\n\nexport { NumberFieldClass };\n","const INPUT_MASK_TEXT_PROP = '--descope-input-mask-content';\nconst INPUT_MASK_DISPLAY_PROP = '--descope-input-mask-display';\nconst INPUT_MASK_FALLBACK_PROP = '--descope-input-mask-fallback';\n\nexport const focusElement = (ele) => {\n ele?.focus();\n ele?.setSelectionRange?.(1, 1);\n};\n\nexport const sanitizeStr = (str) => {\n return str.replace(/\\D/g, '') || '';\n};\n\n// During debounced input we hide the value with a mask.\n// This allows us to hide the multiple population of the first input\n// in case of an automated input (e.g. Safari OTP Autofill or paste).\nexport const createInputMaskStyle = () => {\n const ele = document.createElement('style');\n ele.id = 'input-mask';\n ele.innerHTML = `vaadin-text-field::part(input-field)::before {\n ${INPUT_MASK_FALLBACK_PROP}: '';\n content: var(${INPUT_MASK_TEXT_PROP}, var(${INPUT_MASK_FALLBACK_PROP}));\n position: absolute;\n width: 100%;\n height: 100%;\n display: var(${INPUT_MASK_DISPLAY_PROP}, none);\n align-items: center;\n justify-content: center;\n }`;\n return ele;\n};\n\nexport const toggleMaskVisibility = (input, value) => {\n if (value) {\n input.style.setProperty(INPUT_MASK_TEXT_PROP, `\"${value}\"`);\n input.style.setProperty(INPUT_MASK_DISPLAY_PROP, 'flex');\n } else {\n input.style.removeProperty(INPUT_MASK_TEXT_PROP);\n input.style.removeProperty(INPUT_MASK_DISPLAY_PROP);\n }\n};\n","/* eslint-disable no-param-reassign */\nimport debounce from 'lodash.debounce';\nimport { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport { sanitizeStr, focusElement, createInputMaskStyle, toggleMaskVisibility } from './helpers';\n\nexport const componentName = getComponentName('passcode-internal');\n\nconst observedAttributes = ['digits', 'loading'];\n\nconst forwardAttributes = ['disabled', 'bordered', 'size', 'invalid', 'readonly'];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass PasscodeInternal extends BaseInputClass {\n static get observedAttributes() {\n return observedAttributes.concat(BaseInputClass.observedAttributes || []);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n\t\t<div class=\"wrapper\"></div>\n\t\t<div class=\"loader-container\">\n <descope-loader-radial size=\"xs\" mode=\"primary\"></descope-loader-radial>\n </div>\n\t\t<style>\n\t\t\t.wrapper {\n\t\t\t\tdisplay: flex;\n\t\t\t\twidth: 100%;\n\t\t\t\tjustify-content: space-between;\n direction: ltr;\n position: relative;\n\t\t\t}\n\n descope-text-field {\n direction: ltr;\n }\n\n .loader-container {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\t\t</style>\n\t\t`;\n\n this.wrapperEle = this.querySelector('.wrapper');\n this.loaderContainer = this.querySelector('.loader-container');\n }\n\n renderInputs() {\n const inputs = [...Array(this.digits).keys()].map(\n (idx) => `\n\t\t<descope-text-field\n\t\t\tdata-id=${idx}\n\t\t\ttype=\"tel\"\n\t\t\tautocomplete=\"one-time-code\"\n\t\t\tinputMode=\"numeric\"\n\t\t></descope-text-field>\n\t`\n );\n\n this.wrapperEle.innerHTML = inputs.join('');\n\n this.inputs = Array.from(this.querySelectorAll('descope-text-field'));\n\n this.initInputs();\n }\n\n handleLoadingState(isLoading) {\n if (isLoading) {\n this.setAttribute('inert', 'true');\n } else {\n this.removeAttribute('inert');\n }\n }\n\n get digits() {\n return Number.parseInt(this.getAttribute('digits'), 10) || 6;\n }\n\n get value() {\n return this.inputs?.map(({ value }) => value).join('') || '';\n }\n\n set value(val) {\n if (val === this.value) return;\n\n this.parseInputValue(this.inputs[0], sanitizeStr(val));\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n if (this.pattern && !new RegExp(this.pattern).test(this.value)) {\n return { patternMismatch: true };\n }\n\n return {};\n }\n\n init() {\n // we are adding listeners before calling to super because it's stopping the events\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) this.inputs[0].focus();\n });\n\n super.init?.();\n\n this.renderInputs();\n }\n\n // eslint-disable-next-line class-methods-use-this\n getInputIdx(inputEle) {\n return Number.parseInt(inputEle.getAttribute('data-id'), 10);\n }\n\n getNextInput(currInput) {\n const currentIdx = this.getInputIdx(currInput);\n const newIdx = Math.min(currentIdx + 1, this.inputs.length - 1);\n return this.inputs[newIdx];\n }\n\n getPrevInput(currInput) {\n const currentIdx = this.getInputIdx(currInput);\n const newIdx = Math.max(currentIdx - 1, 0);\n return this.inputs[newIdx];\n }\n\n fillDigits(charArr, currentInput) {\n for (let i = 0; i < charArr.length; i += 1) {\n currentInput.value = charArr[i] ?? '';\n\n const nextInput = this.getNextInput(currentInput);\n\n if (nextInput === currentInput) break;\n currentInput = nextInput;\n }\n\n focusElement(currentInput);\n }\n\n parseInputValue(input, value = '') {\n const charArr = value.split('');\n\n if (!charArr.length) {\n // if we got an invalid value we want to clear the input\n input.value = '';\n } else this.fillDigits(charArr, input);\n }\n\n initInputs() {\n this.inputs.forEach((input) => {\n input.shadowRoot.appendChild(createInputMaskStyle());\n\n const handleParseInput = (val) => {\n this.parseInputValue(input, val);\n toggleMaskVisibility(input);\n };\n\n const debouncedHandleParseInput = debounce(handleParseInput, 20, { trailing: true });\n\n // sanitize the input\n input.addEventListener('input', (e) => {\n input.value = sanitizeStr(input.value);\n\n if (input.value) {\n toggleMaskVisibility(input, input.value[0]);\n }\n\n setTimeout(() => {\n if (e?.inputType === 'deleteContentBackward') {\n focusElement(this.getPrevInput(input));\n }\n });\n debouncedHandleParseInput(input.value);\n });\n\n // we want backspace to focus on the previous digit\n input.onkeydown = ({ key }) => {\n // when user deletes a digit, we want to focus the previous digit\n if (key === 'Backspace') {\n // if value is empty then the input element does not fire `input` event\n // if this is the case, we focus the element here.\n // otherwise, the focusElement occurs as part of the `input` event listener\n if (!input.value) {\n setTimeout(() => focusElement(this.getPrevInput(input)), 0);\n } else {\n input.setSelectionRange(1, 1);\n }\n } else if (key.length === 1) {\n // we want only characters and not command keys\n input.value = ''; // we are clearing the previous value so we can override it with the new value\n }\n };\n\n forwardAttrs(this, input, { includeAttrs: forwardAttributes });\n });\n\n this.handleFocusEventsDispatching(this.inputs);\n this.handleInputEventDispatching();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n // sync attributes to inputs\n if (oldValue !== newValue) {\n if (observedAttributes.includes(attrName)) {\n if (attrName === 'digits') {\n this.renderInputs();\n }\n if (attrName === 'loading') {\n this.handleLoadingState(newValue === 'true');\n }\n }\n }\n }\n\n get pattern() {\n return `^$|^\\\\d{${this.digits},}$`;\n }\n}\n\nexport default PasscodeInternal;\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport textFieldMappings from './textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n inputFloatingLabelStyle,\n resetInputLabelPosition,\n resetInputOverrides,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('text-field');\n\nconst observedAttrs = ['type', 'label-type', 'copy-to-clipboard'];\n\nconst customMixin = (superclass) =>\n class TextFieldClass extends superclass {\n static get observedAttributes() {\n return observedAttrs.concat(superclass.observedAttributes || []);\n }\n\n icon;\n\n init() {\n super.init?.();\n }\n\n renderCopyToClipboard(shouldRender) {\n if (!shouldRender) {\n this.icon?.remove();\n return;\n }\n\n const iconInitConfig = {\n icon: 'vaadin:copy-o',\n title: 'Copy',\n style: 'cursor: pointer',\n };\n\n const iconCopiedConfig = {\n icon: 'vaadin:check-circle-o',\n title: 'Copied',\n style: 'cursor: initial',\n };\n\n this.icon = Object.assign(document.createElement('vaadin-icon'), {\n slot: 'suffix',\n ...iconInitConfig,\n });\n\n this.baseElement.appendChild(this.icon);\n this.icon.addEventListener('click', () => {\n navigator.clipboard.writeText(this.value);\n Object.assign(this.icon, iconCopiedConfig);\n\n // we want the icon to go back to the initial state after 5 seconds\n setTimeout(() => {\n Object.assign(this.icon, iconInitConfig);\n }, 5000);\n });\n }\n\n onLabelClick() {\n this.focus();\n }\n\n attributeChangedCallback(attrName, oldVal, newVal) {\n super.attributeChangeCallback?.(attrName, oldVal, newVal);\n\n // Vaadin doesn't allow to change the input type attribute.\n // We need the ability to do that, so we're overriding their\n // behavior with their private API.\n // When receiving a `type` attribute, we use their private API\n // to set it on the input.\n if (attrName === 'type') {\n this.baseElement._setType(newVal);\n }\n\n if (oldVal !== newVal) {\n if (attrName === 'label-type') {\n if (newVal === 'floating') {\n this.addEventListener('click', this.onLabelClick);\n } else {\n this.removeEventListener('click', this.onLabelClick);\n }\n } else if (attrName === 'copy-to-clipboard') {\n this.renderCopyToClipboard(newVal === 'true');\n }\n }\n }\n };\n\nexport const TextFieldClass = compose(\n createStyleMixin({\n mappings: textFieldMappings,\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['prefix', 'suffix'],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${TextFieldClass.cssVarList.inputOutlineWidth}) + var(${\n TextFieldClass.cssVarList.inputOutlineOffset\n }));\n box-sizing: border-box;\n\t\t\t}\n :host(:is([readonly], [disabled])) ::slotted(:is(input, textarea):placeholder-shown) {\n opacity: 1;\n }\n\n vaadin-text-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-text-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t\t${useHostExternalPadding(TextFieldClass.cssVarList)}\n\t\t\t${resetInputOverrides('vaadin-text-field', TextFieldClass.cssVarList)}\n ${inputFloatingLabelStyle()}\n\n vaadin-text-field vaadin-icon {\n align-self: center;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { componentName as descopeInternalComponentName } from './descope-passcode-internal/PasscodeInternal';\nimport { TextFieldClass } from '../descope-text-field/TextFieldClass';\nimport { LoaderRadialClass } from '../descope-loader-radial/LoaderRadialClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport {\n resetInputCursor,\n resetInputLabelPosition,\n resetInputFieldDefaultWidth,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('passcode');\n\nconst observedAttributes = ['digits'];\n\nconst customMixin = (superclass) =>\n class PasscodeMixinClass extends superclass {\n static get observedAttributes() {\n return observedAttributes.concat(superclass.observedAttributes || []);\n }\n\n get digits() {\n return Number.parseInt(this.getAttribute('digits'), 10) || 6;\n }\n\n init() {\n super.init?.();\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n bordered=\"true\"\n name=\"code\"\n tabindex=\"-1\"\n slot=\"input\"\n ><slot></slot></${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, { includeAttrs: ['digits', 'size', 'loading'] });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'digits') {\n this.style.setProperty('--passcode-digits-count', newValue);\n }\n }\n };\n\nconst {\n host,\n digitField,\n label,\n requiredIndicator,\n internalWrapper,\n focusedDigitField,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n focusedDigitField: { selector: () => `${TextFieldClass.componentName}[focused=\"true\"]` },\n digitField: { selector: () => TextFieldClass.componentName },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n internalWrapper: { selector: 'descope-passcode-internal .wrapper' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nconst textVars = TextFieldClass.cssVarList;\nconst loaderVars = LoaderRadialClass.cssVarList;\n\nexport const PasscodeClass = compose(\n createStyleMixin({\n mappings: {\n fontSize: [{ ...digitField, property: textVars.fontSize }, host],\n hostWidth: { property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontFamily: [host, { ...label }],\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n digitValueTextColor: {\n selector: TextFieldClass.componentName,\n property: textVars.inputValueTextColor,\n },\n digitSize: [\n { ...digitField, property: 'height' },\n { ...digitField, property: 'width' },\n ],\n digitPadding: { ...digitField, property: textVars.inputHorizontalPadding },\n digitTextAlign: { ...digitField, property: textVars.inputTextAlign },\n digitCaretTextColor: { ...digitField, property: textVars.inputCaretTextColor },\n digitSpacing: { ...internalWrapper, property: 'gap' },\n digitOutlineColor: { ...digitField, property: textVars.inputOutlineColor },\n digitOutlineWidth: { ...digitField, property: textVars.inputOutlineWidth },\n\n focusedDigitFieldOutlineColor: { ...focusedDigitField, property: textVars.inputOutlineColor },\n overlayOpacity: { ...internalWrapper, property: 'opacity' },\n spinnerSize: { selector: LoaderRadialClass.componentName, property: loaderVars.spinnerSize },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tmin-width: calc(var(--passcode-digits-count) * 2em);\n\t\t\t}\n\t\t\t${resetInputFieldDefaultWidth()}\n\t\t\t:host::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\t\t\t:host::part(input-field)::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\n :host([loading=\"true\"]) descope-passcode-internal .loader-container {\n display: block;\n }\n\n\t\t\tdescope-passcode-internal {\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tmin-height: initial;\n\t\t\t}\n\n\t\t\tdescope-passcode-internal .wrapper {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tmin-height: initial;\n\t\t\t\theight: 100%;\n\t\t\t\tjustify-content: space-between;\n\t\t\t}\n\n\t\t\tdescope-passcode-internal descope-text-field {\n\t\t\t\tmin-width: 2em;\n\t\t\t\tmax-width: var(${textVars.inputHeight});\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tpadding: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t}\n\n /* safari */\n\t\t\tvaadin-text-field::part(input-field)::after {\n opacity: 0;\n }\n\n\t\t\tvaadin-text-field {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\tvaadin-text-field::before {\n\t\t\t\theight: 0;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\t\t\tborder: 0 solid;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t\t${resetInputCursor('vaadin-text-field')}\n \t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default PasscodeClass;\n","import '@vaadin/text-field';\nimport '@vaadin/icons';\nimport '@vaadin/icon';\n\nimport { componentName, TextFieldClass } from './TextFieldClass';\n\ncustomElements.define(componentName, TextFieldClass);\n\nexport { TextFieldClass };\n","import PasscodeInternal, { componentName } from './PasscodeInternal';\n\ncustomElements.define(componentName, PasscodeInternal);\n","import { componentName, PasscodeClass } from './PasscodeClass';\nimport '../descope-text-field';\nimport '../descope-loader-radial';\nimport './descope-passcode-internal';\n\ncustomElements.define(componentName, PasscodeClass);\n\nexport { PasscodeClass };\n","const passwordDraggableMixin = (superclass) =>\n class PasswordDraggableMixinClass extends superclass {\n get isReadOnly() {\n return this.hasAttribute('readonly') && this.getAttribute('readonly') !== 'false';\n }\n\n init() {\n // there is an issue in Chrome that input field with type password cannot be D&D\n // so in case the input is draggable & readonly, we are changing the input type to \"text\" before dragging\n // and return the original type when done\n super.init?.();\n\n const ele = this.querySelector('input');\n\n ele?.addEventListener('mousedown', (e) => {\n if (this.isDraggable && this.isReadOnly) {\n ele.setAttribute('inert', 'true');\n\n const inputEle = e.target;\n const prevType = inputEle.getAttribute('type');\n inputEle.setAttribute('type', 'text');\n setTimeout(() => {\n inputEle.focus();\n });\n\n const onComplete = (_) => {\n inputEle.setAttribute('type', prevType);\n ele.removeAttribute('inert');\n this.removeEventListener('mouseup', onComplete);\n this.removeEventListener('dragend', onComplete);\n };\n\n this.addEventListener('dragend', onComplete, { once: true });\n this.addEventListener('mouseup', onComplete, { once: true });\n }\n });\n }\n };\n\nexport default passwordDraggableMixin;\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport passwordDraggableMixin from './passwordDraggableMixin';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n useHostExternalPadding,\n inputFloatingLabelStyle,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('password');\n\nconst customMixin = (superclass) =>\n class PasswordFieldMixinClass extends superclass {\n static get observedAttributes() {\n return ['manual-visibility-toggle'];\n }\n\n get manualToggleVisibility() {\n return this.getAttribute('manual-visibility-toggle') === 'true';\n }\n\n init() {\n super.init?.();\n this.handleCaretOnVisibilityChange();\n this.origSetPasswordVisible = this.baseElement._setPasswordVisible;\n this.origSetFocused = this.baseElement._setFocused;\n this.baseElement._setFocused = this.setFocus.bind(this);\n }\n\n get caretPosition() {\n return this.value?.length || 0;\n }\n\n handleCaretOnVisibilityChange() {\n const origTogglePasswordVisibility = this.baseElement._togglePasswordVisibility.bind(\n this.baseElement\n );\n this.baseElement._togglePasswordVisibility = () => {\n setTimeout(() => {\n origTogglePasswordVisibility();\n this.inputElement.setSelectionRange(this.caretPosition, this.caretPosition);\n });\n };\n }\n\n // We use `manual-visibility-toggle` to to toggle the password's visibility\n // even if the input field is focused-out. However, on focusout - Vaadin resets\n // password visibility. Since we don't want to override Vaadin's native setFocus\n // function (which is part of their FocusMixin).\n // So, here we override the part of logic that runs within Vaadin's setFocus that reports\n // the password visibility state. This logic is part of our `manual-visibility-toggle` only.\n setFocus(focused) {\n if (this.manualToggleVisibility) {\n this.baseElement._setPasswordVisible = () => {};\n }\n this.origSetFocused.call(this.baseElement, focused);\n this.baseElement._setPasswordVisible = this.origSetPasswordVisible.bind(this.baseElement);\n }\n\n resetPasswordVisibilityToggle() {\n this.baseElement._setPasswordVisible = this.origSetPasswordVisible;\n this.baseElement._setFocused = this.origSetFocus;\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n }\n };\n\nconst {\n host,\n inputField,\n inputElement,\n inputElementPlaceholder,\n revealButtonContainer,\n revealButtonIcon,\n label,\n requiredIndicator,\n errorMessage,\n helperText,\n} = {\n host: { selector: () => ':host' },\n inputField: { selector: '::part(input-field)' },\n inputElement: { selector: '> input' },\n inputElementPlaceholder: { selector: () => ':host input:placeholder-shown' },\n revealButtonContainer: { selector: '::part(reveal-button)' },\n revealButtonIcon: { selector: '::part(reveal-button)::before' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const PasswordClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: [{}, host],\n fontFamily: [label, inputField, errorMessage, helperText],\n inputHeight: { ...inputField, property: 'height' },\n inputHorizontalPadding: [\n { ...inputElement, property: 'padding-left' },\n { ...inputElement, property: 'padding-right' },\n ],\n inputBackgroundColor: { ...inputField, property: 'background-color' },\n\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n\n inputPlaceholderTextColor: [\n { ...inputElementPlaceholder, property: 'color' },\n { selector: () => ':host ::slotted(input:placeholder-shown)', property: 'color' },\n ],\n inputValueTextColor: [\n { ...inputElement, property: 'color' },\n { selector: () => ':host ::slotted(input)', property: 'color' },\n ],\n\n revealButtonOffset: [\n { ...revealButtonContainer, property: 'margin-right' },\n { ...revealButtonContainer, property: 'margin-left' },\n ],\n revealButtonSize: { ...revealButtonContainer, property: 'font-size' },\n revealButtonColor: { ...revealButtonIcon, property: 'color' },\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: [\n { selector: '> input:placeholder-shown', property: 'opacity' },\n { ...inputElement, property: 'opacity' },\n ],\n inputVerticalAlignment: { ...inputField, property: 'align-items' },\n valueInputHeight: { ...inputElement, property: 'height' },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n passwordDraggableMixin,\n customMixin\n)(\n createProxy({\n slots: ['', 'suffix'],\n wrappedEleName: 'vaadin-password-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tmin-width: 10em;\n box-sizing: border-box;\n position: relative;\n\t\t\t}\n\t\t\t${useHostExternalPadding(PasswordClass.cssVarList)}\n\t\t\t${resetInputCursor('vaadin-password-field')}\n ${resetInputLabelPosition('vaadin-password-field')}\n\n\t\t\tvaadin-password-field {\n\t\t\t\twidth: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-password-field > input {\n -webkit-mask-image: none;\n\t\t\t\tbox-sizing: border-box;\n opacity: 1;\n\t\t\t}\n\t\t\tvaadin-password-field::part(input-field) {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-password-field[focus-ring]::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n :host ::slotted(input) {\n\t\t\t\tmin-height: 0;\n }\n :host([readonly]) ::slotted(input:placeholder-shown) {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\tvaadin-password-field::before {\n\t\t\t\theight: initial;\n\t\t\t}\n\t\t\tvaadin-password-field::part(input-field)::after {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\tvaadin-password-field-button {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t\t:host([readonly]) vaadin-password-field-button {\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\tvaadin-password-field-button[focus-ring] {\n\t\t\t\tbox-shadow: 0 0 0 2px var(${PasswordClass.cssVarList.inputOutlineColor});\n\t\t\t}\n\n ${inputFloatingLabelStyle()}\n \n ::part(reveal-button) {\n align-self: center;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/password-field';\nimport { componentName, PasswordClass } from './PasswordClass';\n\ncustomElements.define(componentName, PasswordClass);\n\nexport { PasswordClass };\n","export const disableRules = [\n 'blockquote',\n 'list',\n 'image',\n 'table',\n 'code',\n 'hr',\n 'backticks',\n 'fence',\n 'reference',\n 'heading',\n 'lheading',\n 'html_block',\n];\n","export const decodeHTML = (html) => {\n const textArea = document.createElement('textarea');\n textArea.innerHTML = html;\n return textArea.value;\n};\n","/* eslint-disable no-param-reassign */\n\nimport MarkdownIt from 'markdown-it';\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { disableRules } from './consts';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { decodeHTML } from './helpers';\n\nexport const componentName = getComponentName('enriched-text');\n\nclass EnrichedText extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n #origLinkRenderer;\n\n #origEmRenderer;\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <style>\n :host {\n display: inline-block;\n line-height: 1em;\n word-break: break-word;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n *, *:last-child {\n margin: 0;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n p {\n margin-bottom: 1em;\n }\n a {\n cursor: pointer;\n }\n blockquote {\n padding: 0 2em;\n }\n u {\n text-decoration: underline\n }\n s {\n color: currentColor;\n }\n </style>\n <slot part=\"text-wrapper\" style=\"display:none\"></slot>\n <div class=\"content\"></div>\n `;\n\n this.textSlot = this.shadowRoot.querySelector('slot');\n\n this.#initProcessor();\n\n observeChildren(this, this.#parseChildren.bind(this));\n }\n\n static get observedAttributes() {\n return ['readonly', 'link-target-blank'];\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (newValue !== oldValue) {\n if (attrName === 'readonly') {\n this.onReadOnlyChange(newValue === 'true');\n }\n\n if (attrName === 'link-target-blank') {\n this.#initProcessor();\n }\n }\n }\n\n // We're overriding the rule for em with single underscore to perform as underline. (_underline_)\n customUnderlineRenderer() {\n this.processor.renderer.rules.em_open = (tokens, idx, options, env, self) => {\n if (tokens[idx].markup === '_') tokens[idx].tag = 'u';\n return this.#origEmRenderer(tokens, idx, options, env, self);\n };\n this.processor.renderer.rules.em_close = (tokens, idx, options, env, self) => {\n if (tokens[idx].markup === '_') tokens[idx].tag = 'u';\n return this.#origEmRenderer(tokens, idx, options, env, self);\n };\n }\n\n #customizeLinkRenderer() {\n if (this.linkTargetBlank) {\n this.processor.renderer.rules.link_open = (tokens, idx, options, env, self) => {\n // Add a new `target` attribute, or replace the value of the existing one.\n tokens[idx].attrSet('target', '_blank');\n // Pass the token to the default renderer.\n return this.#origLinkRenderer(tokens, idx, options, env, self);\n };\n } else {\n this.processor.renderer.rules.link_open = this.#origLinkRenderer;\n }\n }\n\n #disableCustomRules() {\n if (!this.processor) {\n return;\n }\n this.processor.disable(disableRules);\n }\n\n #updateProcessorRules() {\n this.#disableCustomRules();\n }\n\n #storeOrigRenderers() {\n const defaultLinkRenderer = (tokens, idx, options, _, self) =>\n self.renderToken(tokens, idx, options);\n this.#origLinkRenderer = this.processor.renderer.rules.link_open || defaultLinkRenderer;\n\n const defaultStrongRenderer = (tokens, idx, options, _, self) =>\n self.renderToken(tokens, idx, options);\n this.#origEmRenderer = this.processor.renderer.rules.em_open || defaultStrongRenderer;\n }\n\n #initProcessor() {\n this.processor = new MarkdownIt('commonmark', { html: true });\n this.#storeOrigRenderers();\n this.#updateProcessorRules();\n this.#customizeLinkRenderer();\n this.customUnderlineRenderer();\n }\n\n get linkTargetBlank() {\n return this.getAttribute('link-target-blank') === 'true';\n }\n\n get contentNode() {\n return this.shadowRoot.querySelector('.content');\n }\n\n #parseChildren() {\n if (!this.processor) {\n return;\n }\n\n let html = decodeHTML(this.innerHTML);\n\n try {\n const tokens = this.processor.parse(html, { references: undefined });\n html = this.processor.renderer.render(tokens, { html: true, breaks: true });\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Not parsing invalid markdown token');\n }\n\n this.contentNode.innerHTML = html;\n }\n\n onReadOnlyChange(isReadOnly) {\n if (isReadOnly) {\n this.contentNode.setAttribute('inert', isReadOnly);\n } else {\n this.contentNode.removeAttribute('inert');\n }\n }\n}\n\nexport const EnrichedTextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontSize: {},\n fontFamily: {},\n fontWeight: {},\n fontWeightBold: [\n { selector: () => ':host strong', property: 'font-weight' },\n { selector: () => ':host b', property: 'font-weight' },\n ],\n textColor: { property: 'color' },\n textLineHeight: { property: 'line-height' },\n textAlign: {},\n linkColor: { selector: 'a', property: 'color' },\n linkTextDecoration: { selector: 'a', property: 'text-decoration' },\n linkHoverTextDecoration: { selector: 'a:hover', property: 'text-decoration' },\n minHeight: {},\n minWidth: {},\n },\n }),\n createStyleMixin({ componentNameOverride: getComponentName('link') }),\n createStyleMixin({ componentNameOverride: getComponentName('text') }),\n draggableMixin,\n componentNameValidationMixin\n)(EnrichedText);\n","import { componentName, EnrichedTextClass } from './EnrichedTextClass';\n\ncustomElements.define(componentName, EnrichedTextClass);\n\nexport { EnrichedTextClass };\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n resetInputContainer,\n resetInputCursor,\n resetInputLabelPosition,\n resetInputField,\n resetInputPlaceholder,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('text-area');\n\nconst {\n host,\n label,\n placeholder,\n inputField,\n textArea,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n placeholder: { selector: 'textarea:placeholder-shown' },\n inputField: { selector: '::part(input-field)' },\n textArea: { selector: '> textarea' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const TextAreaClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: [host, textArea],\n fontFamily: [label, inputField, helperText, errorMessage],\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n inputBackgroundColor: { ...inputField, property: 'background-color' },\n inputValueTextColor: { ...textArea, property: 'color' },\n inputPlaceholderTextColor: { ...placeholder, property: 'color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n inputOutlineStyle: { ...inputField, property: 'outline-Style' },\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputResizeType: { ...textArea, property: 'resize' },\n inputMinHeight: { ...textArea, property: 'min-height' },\n inputTextAlign: { ...textArea, property: 'text-align' },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-area',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n box-sizing: border-box;\n\t\t\t}\n\t\t\ttextarea {\n\t\t\t\theight: 100%;\n\t\t\t}\n ${resetInputLabelPosition('vaadin-text-area')}\n\t\t\t${useHostExternalPadding(TextAreaClass.cssVarList)}\n\t\t\t${resetInputContainer('vaadin-text-area')}\n\t\t\t${resetInputField('vaadin-text-area')}\n\t\t\t${resetInputPlaceholder('vaadin-text-area', 'textarea')}\n\t\t\t${resetInputCursor('vaadin-text-area')}\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/text-area';\nimport { componentName, TextAreaClass } from './TextAreaClass';\n\ncustomElements.define(componentName, TextAreaClass);\n\nexport { TextAreaClass };\n","import { createStyleMixin, draggableMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\n\nconst observedAttributes = ['src', 'alt'];\n\nexport const componentName = getComponentName('image');\n\nconst BaseClass = createBaseClass({ componentName, baseSelector: ':host > img' });\nclass RawImage extends BaseClass {\n static get observedAttributes() {\n return observedAttributes.concat(BaseClass.observedAttributes || []);\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t:host > img {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\t\t</style>\n\t\t<img/>\n\t`;\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n forwardAttrs(this, this.baseElement, { includeAttrs: observedAttributes });\n }\n}\n\nexport const ImageClass = compose(\n createStyleMixin({\n mappings: {\n height: { selector: () => ':host' },\n width: { selector: () => ':host' },\n },\n }),\n draggableMixin\n)(RawImage);\n","import { componentName, ImageClass } from './ImageClass';\n\ncustomElements.define(componentName, ImageClass);\n\nexport { ImageClass };\n","import { compose } from '../../helpers';\nimport {\n getComponentName,\n observeAttributes,\n observeChildren,\n} from '../../helpers/componentHelpers';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n resetInputPlaceholder,\n resetInputReadonlyStyle,\n useHostExternalPadding,\n inputFloatingLabelStyle,\n} from '../../helpers/themeHelpers/resetHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n portalMixin,\n proxyInputMixin,\n} from '../../mixins';\n\nexport const componentName = getComponentName('combo-box');\n\nconst ComboBoxMixin = (superclass) =>\n class ComboBoxMixinClass extends superclass {\n static get observedAttributes() {\n return ['label-type'];\n }\n\n // eslint-disable-next-line class-methods-use-this\n #renderItem = ({ displayName, value, label }) => {\n return `<span data-name=\"${label}\" data-id=\"${value}\">${displayName || label}</span>`;\n };\n\n #data;\n\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n get renderItem() {\n return this.#renderItem;\n }\n\n set renderItem(renderFn) {\n this.#renderItem = renderFn;\n this.renderItems();\n }\n\n get data() {\n if (this.#data) return this.#data;\n\n const dataAttr = this.getAttribute('data');\n\n if (dataAttr) {\n try {\n const data = JSON.parse(dataAttr);\n if (this.isValidDataType(data)) {\n return data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"data\" -', e.message);\n }\n }\n\n return [];\n }\n\n set data(data) {\n if (this.isValidDataType(data)) {\n this.#data = data;\n this.renderItems();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n isValidDataType(data) {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n }\n\n getItemsTemplate() {\n return this.data?.reduce?.((acc, item) => acc + (this.renderItem?.(item || {}) || ''), '');\n }\n\n renderItems() {\n const template = this.getItemsTemplate();\n if (template) this.innerHTML = template;\n }\n\n handleSelectedItem() {\n const currentSelected = this.baseElement.selectedItem?.['data-id'];\n\n this.baseElement.selectedItem = undefined;\n\n // if previously selected item ID exists in current children, set it as selected\n if (currentSelected) {\n this.value = currentSelected;\n }\n\n // otherwise, if default value is specified, set default value as selected item\n if (!this.value) {\n this.setDefaultValue();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n customValueTransformFn(val) {\n return val;\n }\n\n // We want to override Vaadin's Combo Box value setter. This is needed since Vaadin couples between the\n // field that it searches the value, and the finaly display value of the input.\n // We provide a custom transform function to override that behavior.\n setComboBoxDescriptor() {\n const valueDescriptor = Object.getOwnPropertyDescriptor(\n this.inputElement.constructor.prototype,\n 'value'\n );\n\n const comboBox = this;\n\n Object.defineProperties(this.inputElement, {\n value: {\n ...valueDescriptor,\n set(val) {\n if (!comboBox.baseElement.items?.length) {\n return;\n }\n\n const transformedValue = comboBox.customValueTransformFn(val) || '';\n\n if (transformedValue === this.value) {\n return;\n }\n\n valueDescriptor.set.call(this, transformedValue);\n },\n },\n });\n }\n\n // vaadin api is to set props on their combo box node,\n // in order to avoid it, we are passing the children of this component\n // to the items & renderer props, so it will be used as the combo box items\n #onChildrenChange() {\n const baseElement = this.shadowRoot.querySelector(this.baseSelector);\n const items = Array.from(this.children);\n\n // we want the data-name attribute to be accessible as an object attribute\n if (items.length) {\n items.forEach((node) => {\n Object.defineProperty(node, 'data-name', {\n value: node.getAttribute('data-name'),\n configurable: true,\n writable: true,\n });\n Object.defineProperty(node, 'data-id', {\n value: node.getAttribute('data-id'),\n configurable: true,\n writable: true,\n });\n });\n\n baseElement.items = items;\n\n setTimeout(() => {\n // set timeout to ensure this runs after customValueTransformFn had the chance to be overriden\n this.handleSelectedItem();\n }, 0);\n }\n\n // use vaadin combobox custom renderer to render options as HTML\n // and not via default renderer, which renders only the data-name's value\n // in its own HTML template\n baseElement.renderer = (root, combo, model) => {\n // eslint-disable-next-line no-param-reassign\n root.innerHTML = model.item.outerHTML;\n };\n }\n\n // the default vaadin behavior is to attach the overlay to the body when opened\n // we do not want that because it's difficult to style the overlay in this way\n // so we override it to open inside the shadow DOM\n #overrideOverlaySettings() {\n const overlay = this.baseElement.shadowRoot.querySelector('vaadin-combo-box-overlay');\n overlay._attachOverlay = () => {\n overlay.bringToFront();\n };\n overlay._detachOverlay = () => {};\n overlay._enterModalState = () => {};\n }\n\n init() {\n super.init?.();\n\n // eslint-disable-next-line func-names\n this.getValidity = function () {\n if (!this.value && this.isRequired) {\n return {\n valueMissing: true,\n };\n }\n return {};\n };\n\n this.setComboBoxDescriptor();\n\n this.#overrideOverlaySettings();\n\n this.renderItems();\n\n observeAttributes(this, this.renderItems.bind(this), { includeAttrs: ['data'] });\n\n observeChildren(this, this.#onChildrenChange.bind(this));\n\n this.setDefaultValue();\n\n this.baseElement.addEventListener('selected-item-changed', () => {\n this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n });\n }\n\n onLabelClick() {\n if (this.isReadOnly || this.isDisabled) {\n return;\n }\n this.focus();\n this.setAttribute('opened', 'true');\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'label-type') {\n if (newValue === 'floating') {\n this.addEventListener('click', this.onLabelClick);\n } else {\n this.removeEventListener('click', this.onLabelClick);\n }\n }\n }\n }\n\n setDefaultValue() {\n this.value = this.defaultValue;\n }\n\n set value(val) {\n if (val) {\n const child = this.baseElement.items?.find((item) => item['data-id'] === val);\n\n if (child) {\n this.baseElement.selectedItem = child;\n }\n } else {\n this.baseElement.selectedItem = undefined;\n }\n }\n\n get value() {\n return this.baseElement.selectedItem?.['data-id'] || '';\n }\n };\n\nconst {\n host,\n inputField,\n inputElement,\n placeholder,\n toggle,\n clearButton,\n label,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n inputField: { selector: '::part(input-field)' },\n inputElement: { selector: 'input' },\n placeholder: { selector: '> input:placeholder-shown' },\n toggle: { selector: '::part(toggle-button)' },\n clearButton: { selector: '::part(clear-button)' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const ComboBoxClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host],\n fontFamily: [label, placeholder, inputField, helperText, errorMessage],\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n inputHeight: { ...inputField, property: 'height' },\n inputBackgroundColor: { ...inputField, property: 'background-color' },\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n inputValueTextColor: { ...inputField, property: 'color' },\n inputPlaceholderTextColor: { ...placeholder, property: 'color' },\n inputDropdownButtonCursor: [\n { ...toggle, property: 'cursor' },\n { ...clearButton, property: 'cursor' },\n ],\n inputDropdownButtonColor: [\n { ...toggle, property: 'color' },\n { ...clearButton, property: 'color' },\n ],\n inputDropdownButtonSize: [\n { ...toggle, property: 'font-size' },\n { ...clearButton, property: 'font-size' },\n ],\n inputDropdownButtonOffset: [\n { ...toggle, property: 'margin-right' },\n { ...toggle, property: 'margin-left' },\n ],\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n inputHorizontalPadding: [\n { ...inputElement, property: 'padding-left' },\n { ...inputElement, property: 'padding-right' },\n ],\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: { ...placeholder, property: 'opacity' },\n inputVerticalAlignment: { ...inputField, property: 'align-items' },\n valueInputHeight: { ...inputElement, property: 'height' },\n valueInputMarginBottom: { ...inputElement, property: 'margin-bottom' },\n\n // we need to use the variables from the portal mixin\n // so we need to use an arrow function on the selector\n // for that to work, because ComboBox is not available\n // at this time.\n overlayBackground: { property: () => ComboBoxClass.cssVarList.overlay.backgroundColor },\n overlayTextColor: {\n property: () => ComboBoxClass.cssVarList.overlay.textColor,\n },\n overlayBorder: { property: () => ComboBoxClass.cssVarList.overlay.border },\n overlayFontSize: { property: () => ComboBoxClass.cssVarList.overlay.fontSize },\n overlayFontFamily: { property: () => ComboBoxClass.cssVarList.overlay.fontFamily },\n overlayCursor: { property: () => ComboBoxClass.cssVarList.overlay.cursor },\n overlayItemBoxShadow: { property: () => ComboBoxClass.cssVarList.overlay.itemBoxShadow },\n overlayItemPaddingInlineStart: {\n property: () => ComboBoxClass.cssVarList.overlay.itemPaddingInlineStart,\n },\n overlayItemPaddingInlineEnd: {\n property: () => ComboBoxClass.cssVarList.overlay.itemPaddingInlineEnd,\n },\n },\n }),\n draggableMixin,\n portalMixin({\n name: 'overlay',\n selector: '',\n mappings: {\n backgroundColor: { selector: 'vaadin-combo-box-scroller' },\n minHeight: { selector: 'vaadin-combo-box-overlay' },\n margin: { selector: 'vaadin-combo-box-overlay' },\n cursor: { selector: 'vaadin-combo-box-item' },\n fontFamily: { selector: 'vaadin-combo-box-item' },\n textColor: { selector: 'vaadin-combo-box-item', property: 'color' },\n fontSize: { selector: 'vaadin-combo-box-item' },\n itemBoxShadow: { selector: 'vaadin-combo-box-item', property: 'box-shadow' },\n itemPaddingInlineStart: {\n selector: 'vaadin-combo-box-item',\n property: 'padding-inline-start',\n },\n itemPaddingInlineEnd: { selector: 'vaadin-combo-box-item', property: 'padding-inline-end' },\n },\n forward: {\n include: false,\n attributes: ['size'],\n },\n }),\n proxyInputMixin({ proxyProps: ['selectionStart'], inputEvent: 'selected-item-changed' }),\n componentNameValidationMixin,\n ComboBoxMixin\n)(\n createProxy({\n slots: ['', 'prefix'],\n wrappedEleName: 'vaadin-combo-box',\n style: () => `\n\t\t:host {\n\t\t\tdisplay: inline-flex;\n\t\t\tbox-sizing: border-box;\n\t\t\t-webkit-mask-image: none;\n\t\t}\n\t\t${useHostExternalPadding(ComboBoxClass.cssVarList)}\n\t\t${resetInputReadonlyStyle('vaadin-combo-box')}\n\t\t${resetInputPlaceholder('vaadin-combo-box')}\n\t\t${resetInputCursor('vaadin-combo-box')}\n\n\t\tvaadin-combo-box {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t\tvaadin-combo-box::before {\n\t\t\theight: initial;\n\t\t}\n\t\tvaadin-combo-box [slot=\"input\"] {\n\t\t\t-webkit-mask-image: none;\n\t\t\tmin-height: 0;\n\t\t\tbox-sizing: border-box;\n\t\t}\n\n\t\tvaadin-combo-box::part(input-field) {\n\t\t\tpadding: 0;\n\t\t\tbox-shadow: none;\n\t\t}\n\n vaadin-combo-box::part(toggle-button),\n vaadin-combo-box::part(clear-button) {\n align-self: center;\n }\n\n vaadin-combo-box[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-combo-box[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n \n ${resetInputLabelPosition('vaadin-combo-box')}\n ${inputFloatingLabelStyle()}\n\t\t`,\n // Note: we exclude `size` to avoid overriding Vaadin's ComboBox property\n // with the same name. Including it will cause Vaadin to calculate NaN size,\n // and reset items to an empty array, and opening the list box with no items\n // to display.\n excludeAttrsSync: ['tabindex', 'size', 'data'],\n componentName,\n includeForwardProps: ['items', 'renderer', 'selectedItem'],\n })\n);\n","import '@vaadin/combo-box';\nimport { componentName, ComboBoxClass } from './ComboBoxClass';\n\ncustomElements.define(componentName, ComboBoxClass);\n\nexport { ComboBoxClass };\n","export default [\n // United States should be the first option\n {\n name: 'United States',\n dialCode: '+1',\n code: 'US',\n },\n ...[\n {\n name: 'Afghanistan',\n dialCode: '+93',\n code: 'AF',\n },\n {\n name: 'Aland Islands',\n dialCode: '+358',\n code: 'AX',\n },\n {\n name: 'Albania',\n dialCode: '+355',\n code: 'AL',\n },\n {\n name: 'Algeria',\n dialCode: '+213',\n code: 'DZ',\n },\n {\n name: 'AmericanSamoa',\n dialCode: '+1684',\n code: 'AS',\n },\n {\n name: 'Andorra',\n dialCode: '+376',\n code: 'AD',\n },\n {\n name: 'Angola',\n dialCode: '+244',\n code: 'AO',\n },\n {\n name: 'Anguilla',\n dialCode: '+1264',\n code: 'AI',\n },\n {\n name: 'Antarctica',\n dialCode: '+672',\n code: 'AQ',\n },\n {\n name: 'Antigua and Barbuda',\n dialCode: '+1268',\n code: 'AG',\n },\n {\n name: 'Argentina',\n dialCode: '+54',\n code: 'AR',\n },\n {\n name: 'Armenia',\n dialCode: '+374',\n code: 'AM',\n },\n {\n name: 'Aruba',\n dialCode: '+297',\n code: 'AW',\n },\n {\n name: 'Australia',\n dialCode: '+61',\n code: 'AU',\n },\n {\n name: 'Austria',\n dialCode: '+43',\n code: 'AT',\n },\n {\n name: 'Azerbaijan',\n dialCode: '+994',\n code: 'AZ',\n },\n {\n name: 'Bahamas',\n dialCode: '+1242',\n code: 'BS',\n },\n {\n name: 'Bahrain',\n dialCode: '+973',\n code: 'BH',\n },\n {\n name: 'Bangladesh',\n dialCode: '+880',\n code: 'BD',\n },\n {\n name: 'Barbados',\n dialCode: '+1246',\n code: 'BB',\n },\n {\n name: 'Belarus',\n dialCode: '+375',\n code: 'BY',\n },\n {\n name: 'Belgium',\n dialCode: '+32',\n code: 'BE',\n },\n {\n name: 'Belize',\n dialCode: '+501',\n code: 'BZ',\n },\n {\n name: 'Benin',\n dialCode: '+229',\n code: 'BJ',\n },\n {\n name: 'Bermuda',\n dialCode: '+1441',\n code: 'BM',\n },\n {\n name: 'Bhutan',\n dialCode: '+975',\n code: 'BT',\n },\n {\n name: 'Bolivia, Plurinational State of',\n dialCode: '+591',\n code: 'BO',\n },\n {\n name: 'Bosnia and Herzegovina',\n dialCode: '+387',\n code: 'BA',\n },\n {\n name: 'Botswana',\n dialCode: '+267',\n code: 'BW',\n },\n {\n name: 'Brazil',\n dialCode: '+55',\n code: 'BR',\n },\n {\n name: 'British Indian Ocean Territory',\n dialCode: '+246',\n code: 'IO',\n },\n {\n name: 'Brunei Darussalam',\n dialCode: '+673',\n code: 'BN',\n },\n {\n name: 'Bulgaria',\n dialCode: '+359',\n code: 'BG',\n },\n {\n name: 'Burkina Faso',\n dialCode: '+226',\n code: 'BF',\n },\n {\n name: 'Burundi',\n dialCode: '+257',\n code: 'BI',\n },\n {\n name: 'Cambodia',\n dialCode: '+855',\n code: 'KH',\n },\n {\n name: 'Cameroon',\n dialCode: '+237',\n code: 'CM',\n },\n {\n name: 'Canada',\n dialCode: '+1',\n code: 'CA',\n },\n {\n name: 'Cape Verde',\n dialCode: '+238',\n code: 'CV',\n },\n {\n name: 'Cayman Islands',\n dialCode: '+345',\n code: 'KY',\n },\n {\n name: 'Central African Republic',\n dialCode: '+236',\n code: 'CF',\n },\n {\n name: 'Chad',\n dialCode: '+235',\n code: 'TD',\n },\n {\n name: 'Chile',\n dialCode: '+56',\n code: 'CL',\n },\n {\n name: 'China',\n dialCode: '+86',\n code: 'CN',\n },\n {\n name: 'Christmas Island',\n dialCode: '+61',\n code: 'CX',\n },\n {\n name: 'Cocos (Keeling) Islands',\n dialCode: '+61',\n code: 'CC',\n },\n {\n name: 'Colombia',\n dialCode: '+57',\n code: 'CO',\n },\n {\n name: 'Comoros',\n dialCode: '+269',\n code: 'KM',\n },\n {\n name: 'Congo',\n dialCode: '+242',\n code: 'CG',\n },\n {\n name: 'Congo, The Democratic Republic of the Congo',\n dialCode: '+243',\n code: 'CD',\n },\n {\n name: 'Cook Islands',\n dialCode: '+682',\n code: 'CK',\n },\n {\n name: 'Costa Rica',\n dialCode: '+506',\n code: 'CR',\n },\n {\n name: \"Cote d'Ivoire\",\n dialCode: '+225',\n code: 'CI',\n },\n {\n name: 'Croatia',\n dialCode: '+385',\n code: 'HR',\n },\n {\n name: 'Cuba',\n dialCode: '+53',\n code: 'CU',\n },\n {\n name: 'Cyprus',\n dialCode: '+357',\n code: 'CY',\n },\n {\n name: 'Czech Republic',\n dialCode: '+420',\n code: 'CZ',\n },\n {\n name: 'Denmark',\n dialCode: '+45',\n code: 'DK',\n },\n {\n name: 'Djibouti',\n dialCode: '+253',\n code: 'DJ',\n },\n {\n name: 'Dominica',\n dialCode: '+1767',\n code: 'DM',\n },\n {\n name: 'Dominican Republic',\n dialCode: '+1849',\n code: 'DO',\n },\n {\n name: 'Ecuador',\n dialCode: '+593',\n code: 'EC',\n },\n {\n name: 'Egypt',\n dialCode: '+20',\n code: 'EG',\n },\n {\n name: 'El Salvador',\n dialCode: '+503',\n code: 'SV',\n },\n {\n name: 'Equatorial Guinea',\n dialCode: '+240',\n code: 'GQ',\n },\n {\n name: 'Eritrea',\n dialCode: '+291',\n code: 'ER',\n },\n {\n name: 'Estonia',\n dialCode: '+372',\n code: 'EE',\n },\n {\n name: 'Ethiopia',\n dialCode: '+251',\n code: 'ET',\n },\n {\n name: 'Falkland Islands (Malvinas)',\n dialCode: '+500',\n code: 'FK',\n },\n {\n name: 'Faroe Islands',\n dialCode: '+298',\n code: 'FO',\n },\n {\n name: 'Fiji',\n dialCode: '+679',\n code: 'FJ',\n },\n {\n name: 'Finland',\n dialCode: '+358',\n code: 'FI',\n },\n {\n name: 'France',\n dialCode: '+33',\n code: 'FR',\n },\n {\n name: 'French Guiana',\n dialCode: '+594',\n code: 'GF',\n },\n {\n name: 'French Polynesia',\n dialCode: '+689',\n code: 'PF',\n },\n {\n name: 'Gabon',\n dialCode: '+241',\n code: 'GA',\n },\n {\n name: 'Gambia',\n dialCode: '+220',\n code: 'GM',\n },\n {\n name: 'Georgia',\n dialCode: '+995',\n code: 'GE',\n },\n {\n name: 'Germany',\n dialCode: '+49',\n code: 'DE',\n },\n {\n name: 'Ghana',\n dialCode: '+233',\n code: 'GH',\n },\n {\n name: 'Gibraltar',\n dialCode: '+350',\n code: 'GI',\n },\n {\n name: 'Greece',\n dialCode: '+30',\n code: 'GR',\n },\n {\n name: 'Greenland',\n dialCode: '+299',\n code: 'GL',\n },\n {\n name: 'Grenada',\n dialCode: '+1473',\n code: 'GD',\n },\n {\n name: 'Guadeloupe',\n dialCode: '+590',\n code: 'GP',\n },\n {\n name: 'Guam',\n dialCode: '+1671',\n code: 'GU',\n },\n {\n name: 'Guatemala',\n dialCode: '+502',\n code: 'GT',\n },\n {\n name: 'Guernsey',\n dialCode: '+44',\n code: 'GG',\n },\n {\n name: 'Guinea',\n dialCode: '+224',\n code: 'GN',\n },\n {\n name: 'Guinea-Bissau',\n dialCode: '+245',\n code: 'GW',\n },\n {\n name: 'Guyana',\n dialCode: '+595',\n code: 'GY',\n },\n {\n name: 'Haiti',\n dialCode: '+509',\n code: 'HT',\n },\n {\n name: 'Holy See (Vatican City State)',\n dialCode: '+379',\n code: 'VA',\n },\n {\n name: 'Honduras',\n dialCode: '+504',\n code: 'HN',\n },\n {\n name: 'Hong Kong',\n dialCode: '+852',\n code: 'HK',\n },\n {\n name: 'Hungary',\n dialCode: '+36',\n code: 'HU',\n },\n {\n name: 'Iceland',\n dialCode: '+354',\n code: 'IS',\n },\n {\n name: 'India',\n dialCode: '+91',\n code: 'IN',\n },\n {\n name: 'Indonesia',\n dialCode: '+62',\n code: 'ID',\n },\n {\n name: 'Iran, Islamic Republic of Persian Gulf',\n dialCode: '+98',\n code: 'IR',\n },\n {\n name: 'Iraq',\n dialCode: '+964',\n code: 'IQ',\n },\n {\n name: 'Ireland',\n dialCode: '+353',\n code: 'IE',\n },\n {\n name: 'Isle of Man',\n dialCode: '+44',\n code: 'IM',\n },\n {\n name: 'Israel',\n dialCode: '+972',\n code: 'IL',\n },\n {\n name: 'Italy',\n dialCode: '+39',\n code: 'IT',\n },\n {\n name: 'Jamaica',\n dialCode: '+1876',\n code: 'JM',\n },\n {\n name: 'Japan',\n dialCode: '+81',\n code: 'JP',\n },\n {\n name: 'Jersey',\n dialCode: '+44',\n code: 'JE',\n },\n {\n name: 'Jordan',\n dialCode: '+962',\n code: 'JO',\n },\n {\n name: 'Kazakhstan',\n dialCode: '+77',\n code: 'KZ',\n },\n {\n name: 'Kenya',\n dialCode: '+254',\n code: 'KE',\n },\n {\n name: 'Kiribati',\n dialCode: '+686',\n code: 'KI',\n },\n {\n name: \"Korea, Democratic People's Republic of Korea\",\n dialCode: '+850',\n code: 'KP',\n },\n {\n name: 'Korea, Republic of South Korea',\n dialCode: '+82',\n code: 'KR',\n },\n {\n name: 'Kuwait',\n dialCode: '+965',\n code: 'KW',\n },\n {\n name: 'Kyrgyzstan',\n dialCode: '+996',\n code: 'KG',\n },\n {\n name: 'Laos',\n dialCode: '+856',\n code: 'LA',\n },\n {\n name: 'Latvia',\n dialCode: '+371',\n code: 'LV',\n },\n {\n name: 'Lebanon',\n dialCode: '+961',\n code: 'LB',\n },\n {\n name: 'Lesotho',\n dialCode: '+266',\n code: 'LS',\n },\n {\n name: 'Liberia',\n dialCode: '+231',\n code: 'LR',\n },\n {\n name: 'Libyan Arab Jamahiriya',\n dialCode: '+218',\n code: 'LY',\n },\n {\n name: 'Liechtenstein',\n dialCode: '+423',\n code: 'LI',\n },\n {\n name: 'Lithuania',\n dialCode: '+370',\n code: 'LT',\n },\n {\n name: 'Luxembourg',\n dialCode: '+352',\n code: 'LU',\n },\n {\n name: 'Macao',\n dialCode: '+853',\n code: 'MO',\n },\n {\n name: 'Macedonia',\n dialCode: '+389',\n code: 'MK',\n },\n {\n name: 'Madagascar',\n dialCode: '+261',\n code: 'MG',\n },\n {\n name: 'Malawi',\n dialCode: '+265',\n code: 'MW',\n },\n {\n name: 'Malaysia',\n dialCode: '+60',\n code: 'MY',\n },\n {\n name: 'Maldives',\n dialCode: '+960',\n code: 'MV',\n },\n {\n name: 'Mali',\n dialCode: '+223',\n code: 'ML',\n },\n {\n name: 'Malta',\n dialCode: '+356',\n code: 'MT',\n },\n {\n name: 'Marshall Islands',\n dialCode: '+692',\n code: 'MH',\n },\n {\n name: 'Martinique',\n dialCode: '+596',\n code: 'MQ',\n },\n {\n name: 'Mauritania',\n dialCode: '+222',\n code: 'MR',\n },\n {\n name: 'Mauritius',\n dialCode: '+230',\n code: 'MU',\n },\n {\n name: 'Mayotte',\n dialCode: '+262',\n code: 'YT',\n },\n {\n name: 'Mexico',\n dialCode: '+52',\n code: 'MX',\n },\n {\n name: 'Micronesia, Federated States of Micronesia',\n dialCode: '+691',\n code: 'FM',\n },\n {\n name: 'Moldova',\n dialCode: '+373',\n code: 'MD',\n },\n {\n name: 'Monaco',\n dialCode: '+377',\n code: 'MC',\n },\n {\n name: 'Mongolia',\n dialCode: '+976',\n code: 'MN',\n },\n {\n name: 'Montenegro',\n dialCode: '+382',\n code: 'ME',\n },\n {\n name: 'Montserrat',\n dialCode: '+1664',\n code: 'MS',\n },\n {\n name: 'Morocco',\n dialCode: '+212',\n code: 'MA',\n },\n {\n name: 'Mozambique',\n dialCode: '+258',\n code: 'MZ',\n },\n {\n name: 'Myanmar',\n dialCode: '+95',\n code: 'MM',\n },\n {\n name: 'Namibia',\n dialCode: '+264',\n code: 'NA',\n },\n {\n name: 'Nauru',\n dialCode: '+674',\n code: 'NR',\n },\n {\n name: 'Nepal',\n dialCode: '+977',\n code: 'NP',\n },\n {\n name: 'Netherlands',\n dialCode: '+31',\n code: 'NL',\n },\n {\n name: 'Netherlands Antilles',\n dialCode: '+599',\n code: 'AN',\n },\n {\n name: 'New Caledonia',\n dialCode: '+687',\n code: 'NC',\n },\n {\n name: 'New Zealand',\n dialCode: '+64',\n code: 'NZ',\n },\n {\n name: 'Nicaragua',\n dialCode: '+505',\n code: 'NI',\n },\n {\n name: 'Niger',\n dialCode: '+227',\n code: 'NE',\n },\n {\n name: 'Nigeria',\n dialCode: '+234',\n code: 'NG',\n },\n {\n name: 'Niue',\n dialCode: '+683',\n code: 'NU',\n },\n {\n name: 'Norfolk Island',\n dialCode: '+672',\n code: 'NF',\n },\n {\n name: 'Northern Mariana Islands',\n dialCode: '+1670',\n code: 'MP',\n },\n {\n name: 'Norway',\n dialCode: '+47',\n code: 'NO',\n },\n {\n name: 'Oman',\n dialCode: '+968',\n code: 'OM',\n },\n {\n name: 'Pakistan',\n dialCode: '+92',\n code: 'PK',\n },\n {\n name: 'Palau',\n dialCode: '+680',\n code: 'PW',\n },\n {\n name: 'Palestinian Territory, Occupied',\n dialCode: '+970',\n code: 'PS',\n },\n {\n name: 'Panama',\n dialCode: '+507',\n code: 'PA',\n },\n {\n name: 'Papua New Guinea',\n dialCode: '+675',\n code: 'PG',\n },\n {\n name: 'Paraguay',\n dialCode: '+595',\n code: 'PY',\n },\n {\n name: 'Peru',\n dialCode: '+51',\n code: 'PE',\n },\n {\n name: 'Philippines',\n dialCode: '+63',\n code: 'PH',\n },\n {\n name: 'Pitcairn',\n dialCode: '+872',\n code: 'PN',\n },\n {\n name: 'Poland',\n dialCode: '+48',\n code: 'PL',\n },\n {\n name: 'Portugal',\n dialCode: '+351',\n code: 'PT',\n },\n {\n name: 'Puerto Rico',\n dialCode: '+1939',\n code: 'PR',\n },\n {\n name: 'Qatar',\n dialCode: '+974',\n code: 'QA',\n },\n {\n name: 'Romania',\n dialCode: '+40',\n code: 'RO',\n },\n {\n name: 'Russia',\n dialCode: '+7',\n code: 'RU',\n },\n {\n name: 'Rwanda',\n dialCode: '+250',\n code: 'RW',\n },\n {\n name: 'Reunion',\n dialCode: '+262',\n code: 'RE',\n },\n {\n name: 'Saint Barthelemy',\n dialCode: '+590',\n code: 'BL',\n },\n {\n name: 'Saint Helena, Ascension and Tristan Da Cunha',\n dialCode: '+290',\n code: 'SH',\n },\n {\n name: 'Saint Kitts and Nevis',\n dialCode: '+1869',\n code: 'KN',\n },\n {\n name: 'Saint Lucia',\n dialCode: '+1758',\n code: 'LC',\n },\n {\n name: 'Saint Martin',\n dialCode: '+590',\n code: 'MF',\n },\n {\n name: 'Saint Pierre and Miquelon',\n dialCode: '+508',\n code: 'PM',\n },\n {\n name: 'Saint Vincent and the Grenadines',\n dialCode: '+1784',\n code: 'VC',\n },\n {\n name: 'Samoa',\n dialCode: '+685',\n code: 'WS',\n },\n {\n name: 'San Marino',\n dialCode: '+378',\n code: 'SM',\n },\n {\n name: 'Sao Tome and Principe',\n dialCode: '+239',\n code: 'ST',\n },\n {\n name: 'Saudi Arabia',\n dialCode: '+966',\n code: 'SA',\n },\n {\n name: 'Senegal',\n dialCode: '+221',\n code: 'SN',\n },\n {\n name: 'Serbia',\n dialCode: '+381',\n code: 'RS',\n },\n {\n name: 'Seychelles',\n dialCode: '+248',\n code: 'SC',\n },\n {\n name: 'Sierra Leone',\n dialCode: '+232',\n code: 'SL',\n },\n {\n name: 'Singapore',\n dialCode: '+65',\n code: 'SG',\n },\n {\n name: 'Slovakia',\n dialCode: '+421',\n code: 'SK',\n },\n {\n name: 'Slovenia',\n dialCode: '+386',\n code: 'SI',\n },\n {\n name: 'Solomon Islands',\n dialCode: '+677',\n code: 'SB',\n },\n {\n name: 'Somalia',\n dialCode: '+252',\n code: 'SO',\n },\n {\n name: 'South Africa',\n dialCode: '+27',\n code: 'ZA',\n },\n {\n name: 'South Sudan',\n dialCode: '+211',\n code: 'SS',\n },\n {\n name: 'South Georgia and the South Sandwich Islands',\n dialCode: '+500',\n code: 'GS',\n },\n {\n name: 'Spain',\n dialCode: '+34',\n code: 'ES',\n },\n {\n name: 'Sri Lanka',\n dialCode: '+94',\n code: 'LK',\n },\n {\n name: 'Sudan',\n dialCode: '+249',\n code: 'SD',\n },\n {\n name: 'Suriname',\n dialCode: '+597',\n code: 'SR',\n },\n {\n name: 'Svalbard and Jan Mayen',\n dialCode: '+47',\n code: 'SJ',\n },\n {\n name: 'Swaziland',\n dialCode: '+268',\n code: 'SZ',\n },\n {\n name: 'Sweden',\n dialCode: '+46',\n code: 'SE',\n },\n {\n name: 'Switzerland',\n dialCode: '+41',\n code: 'CH',\n },\n {\n name: 'Syrian Arab Republic',\n dialCode: '+963',\n code: 'SY',\n },\n {\n name: 'Taiwan',\n dialCode: '+886',\n code: 'TW',\n },\n {\n name: 'Tajikistan',\n dialCode: '+992',\n code: 'TJ',\n },\n {\n name: 'Tanzania, United Republic of Tanzania',\n dialCode: '+255',\n code: 'TZ',\n },\n {\n name: 'Thailand',\n dialCode: '+66',\n code: 'TH',\n },\n {\n name: 'Timor-Leste',\n dialCode: '+670',\n code: 'TL',\n },\n {\n name: 'Togo',\n dialCode: '+228',\n code: 'TG',\n },\n {\n name: 'Tokelau',\n dialCode: '+690',\n code: 'TK',\n },\n {\n name: 'Tonga',\n dialCode: '+676',\n code: 'TO',\n },\n {\n name: 'Trinidad and Tobago',\n dialCode: '+1868',\n code: 'TT',\n },\n {\n name: 'Tunisia',\n dialCode: '+216',\n code: 'TN',\n },\n {\n name: 'Turkey',\n dialCode: '+90',\n code: 'TR',\n },\n {\n name: 'Turkmenistan',\n dialCode: '+993',\n code: 'TM',\n },\n {\n name: 'Turks and Caicos Islands',\n dialCode: '+1649',\n code: 'TC',\n },\n {\n name: 'Tuvalu',\n dialCode: '+688',\n code: 'TV',\n },\n {\n name: 'Uganda',\n dialCode: '+256',\n code: 'UG',\n },\n {\n name: 'Ukraine',\n dialCode: '+380',\n code: 'UA',\n },\n {\n name: 'United Arab Emirates',\n dialCode: '+971',\n code: 'AE',\n },\n {\n name: 'United Kingdom',\n dialCode: '+44',\n code: 'GB',\n },\n {\n name: 'Uruguay',\n dialCode: '+598',\n code: 'UY',\n },\n {\n name: 'Uzbekistan',\n dialCode: '+998',\n code: 'UZ',\n },\n {\n name: 'Vanuatu',\n dialCode: '+678',\n code: 'VU',\n },\n {\n name: 'Venezuela, Bolivarian Republic of Venezuela',\n dialCode: '+58',\n code: 'VE',\n },\n {\n name: 'Vietnam',\n dialCode: '+84',\n code: 'VN',\n },\n {\n name: 'Virgin Islands, British',\n dialCode: '+1284',\n code: 'VG',\n },\n {\n name: 'Virgin Islands, U.S.',\n dialCode: '+1340',\n code: 'VI',\n },\n {\n name: 'Wallis and Futuna',\n dialCode: '+681',\n code: 'WF',\n },\n {\n name: 'Yemen',\n dialCode: '+967',\n code: 'YE',\n },\n {\n name: 'Zambia',\n dialCode: '+260',\n code: 'ZM',\n },\n {\n name: 'Zimbabwe',\n dialCode: '+263',\n code: 'ZW',\n },\n ].sort((a, b) => (a.name < b.name ? -1 : 1)),\n];\n","// We use JSDelivr (proxy by static.descope.com) in order to fetch the images as image file from this library (svg-country-flags)\n// This reduces our bundle size, and we use it as a static remote resource.\nexport const getCountryFlag = (code) =>\n `https://static.descope.com/npm/svg-country-flags@1.2.10/svg/${code.toLowerCase()}.svg`;\n\nexport const comboBoxItem = ({ code, dialCode, name: country }) => `\n\t<div\n\t\tstyle=\"display:flex; flex-direction: column;\"\n\t\tdata-id=\"${dialCode}\"\n\t\tdata-name=\"${code} ${dialCode} ${country}\"\n\t\tdata-country-code=\"${code}\"\n\t>\n\t\t<div>\n\t\t\t<span>\n\t\t\t\t<img src=\"${getCountryFlag(code)}\" width=\"20\"/>\n\t\t\t</span>\n\t\t\t<span>${country}</span>\n\t\t</div>\n\t\t<div>\n\t\t\t<span>${code}</span>\n\t\t\t<span>${dialCode}</span>\n\t\t</div>\n\t</div>\n`;\n","import { createBaseInputClass } from '../../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName } from '../../../../helpers/componentHelpers';\nimport CountryCodes from '../../CountryCodes';\nimport { comboBoxItem } from '../helpers';\n\nexport const componentName = getComponentName('phone-field-internal');\n\nconst commonAttrs = ['disabled', 'size', 'bordered', 'invalid', 'readonly'];\nconst countryAttrs = ['country-input-placeholder', 'default-code', 'restrict-countries'];\nconst phoneAttrs = ['phone-input-placeholder', 'maxlength', 'autocomplete', 'name'];\nconst labelTypeAttrs = ['label-type', 'country-input-label', 'label'];\nconst mapAttrs = {\n 'country-input-label': 'label',\n 'country-input-placeholder': 'placeholder',\n 'phone-input-placeholder': 'placeholder',\n};\n\nconst inputRelatedAttrs = [].concat(commonAttrs, countryAttrs, phoneAttrs, labelTypeAttrs);\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass PhoneFieldInternal extends BaseInputClass {\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], inputRelatedAttrs);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n <div>\n <descope-combo-box\n item-label-path=\"data-name\"\n item-value-path=\"data-id\"\n >\n ${CountryCodes.map((item) => comboBoxItem(item)).join('')}\n </descope-combo-box>\n <div class=\"separator\"></div>\n <descope-text-field type=\"tel\"></descope-text-field>\n </div>\n `;\n\n this.countryCodeInput = this.querySelector('descope-combo-box');\n this.phoneNumberInput = this.querySelector('descope-text-field');\n this.inputs = [this.countryCodeInput, this.phoneNumberInput];\n\n forwardAttrs(this, this.countryCodeInput, { includeAttrs: ['label-type'] });\n forwardAttrs(this, this.phoneNumberInput, { includeAttrs: ['label-type', 'required'] });\n\n // override combo box setter to display dialCode value in input\n this.countryCodeInput.customValueTransformFn = (val) => {\n const [, dialCode] = val?.split?.(' ') || [];\n return dialCode;\n };\n }\n\n get value() {\n if (!this.phoneNumberValue) {\n return '';\n }\n return `${this.countryCodeInput.value}-${this.phoneNumberInput.value}`;\n }\n\n set value(val) {\n const [countryCode = '', phoneNumber = ''] = val.split('-');\n\n if (countryCode) {\n const countryCodeItem = this.getCountryByDialCode(countryCode);\n if (countryCodeItem) {\n this.countryCodeInput.selectedItem = countryCodeItem;\n }\n } else {\n this.countryCodeInput.selectedItem = undefined;\n }\n this.phoneNumberInput.value = this.phoneNumberInput.value || phoneNumber;\n }\n\n get phoneNumberValue() {\n return this.phoneNumberInput.value;\n }\n\n get countryCodeValue() {\n return this.countryCodeInput.shadowRoot.querySelector('input').value;\n }\n\n get minLength() {\n return parseInt(this.getAttribute('minlength'), 10) || 0;\n }\n\n getValidity() {\n const hasCode = this.countryCodeInput.value;\n const hasPhone = this.phoneNumberInput.value;\n const emptyValue = !hasCode || !hasPhone;\n const hasMinPhoneLength =\n this.phoneNumberInput.value?.length && this.phoneNumberInput.value.length < this.minLength;\n\n if (this.isRequired && emptyValue) {\n return { valueMissing: true };\n }\n if (hasMinPhoneLength) {\n return { tooShort: true };\n }\n if (hasPhone && !hasCode) {\n return { valueMissing: true };\n }\n return {};\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) this.inputs[1].focus();\n });\n\n super.init?.();\n this.initInputs();\n }\n\n getRestrictedCountries() {\n return this.getAttribute('restrict-countries')?.split(',') || [];\n }\n\n getCountryByDialCode(countryDialCode) {\n return this.countryCodeInput.items?.find((c) => c.getAttribute('data-id') === countryDialCode);\n }\n\n getCountryByCodeId(countryCode) {\n return this.countryCodeInput.items?.find(\n (c) => c.getAttribute('data-country-code') === countryCode\n );\n }\n\n updateCountryCodeItems(restrictCountries) {\n const items = restrictCountries.length\n ? CountryCodes.filter((c) => restrictCountries.includes(c.code))\n : CountryCodes;\n this.querySelector('descope-combo-box').innerHTML = items\n .map((item) => comboBoxItem(item))\n .join('');\n }\n\n handleDefaultCountryCode(countryCode) {\n if (!this.countryCodeInput.value) {\n const countryCodeItem = this.getCountryByCodeId(countryCode);\n // When replacing the input component (inserting internal component into text-field) -\n // Vaadin resets the input's value. We use setTimeout in order to make sure this happens\n // after the reset.\n if (countryCodeItem) {\n setTimeout(() => {\n this.countryCodeInput.selectedItem = countryCodeItem;\n });\n }\n }\n }\n\n initInputs() {\n // Sanitize phone input value to filter everything but digits\n this.phoneNumberInput.addEventListener('input', (e) => {\n const telDigitsRegExp = /^\\d$/;\n const sanitizedInput = e.target.value\n .split('')\n .filter((char) => telDigitsRegExp.test(char))\n .join('');\n e.target.value = sanitizedInput;\n });\n\n this.handleFocusEventsDispatching(this.inputs);\n this.handleInputEventDispatching();\n }\n\n handleLabelTypeAttrs(attrName, newValue) {\n // set or remove label attributes from inner text/combo components on `label-type` change\n const attr = mapAttrs[attrName] || attrName;\n\n if (attrName === 'label-type') {\n this.onLabelTypeChange(newValue);\n }\n // on inner components label attr change - set label attributes for text/combo components\n // only if label-type is `floating`\n else if (this.getAttribute('label-type') === 'floating') {\n if (attrName === 'country-input-label') {\n this.countryCodeInput.setAttribute(attr, newValue);\n } else if (attrName === 'label') {\n this.phoneNumberInput.setAttribute(attr, newValue);\n }\n }\n }\n\n onLabelTypeChange(newValue) {\n if (newValue === 'floating') {\n // on change to `floating` label - set inner components `label` and `placeholder`\n this.countryCodeInput.setAttribute('label', this.getAttribute('country-input-label') || '');\n this.countryCodeInput.setAttribute(\n 'placeholder',\n this.getAttribute('country-input-placeholder') || ''\n );\n this.phoneNumberInput.setAttribute('label', this.getAttribute('label') || '');\n this.phoneNumberInput.setAttribute(\n 'placeholder',\n this.getAttribute('phone-input-placeholder') || ''\n );\n } else {\n // for other cases - reset inner components label-type and labels\n this.inputs.forEach((input) => input.removeAttribute('label'));\n }\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'default-code' && newValue) {\n this.handleDefaultCountryCode(newValue);\n } else if (inputRelatedAttrs.includes(attrName)) {\n const attr = mapAttrs[attrName] || attrName;\n\n if (commonAttrs.includes(attrName)) {\n this.inputs.forEach((input) => input.setAttribute(attr, newValue));\n } else if (countryAttrs.includes(attrName)) {\n this.countryCodeInput.setAttribute(attr, newValue);\n } else if (phoneAttrs.includes(attrName)) {\n this.phoneNumberInput.setAttribute(attr, newValue);\n }\n }\n\n if (labelTypeAttrs.includes(attrName)) {\n this.handleLabelTypeAttrs(attrName, newValue);\n }\n\n if (attrName === 'restrict-countries') {\n this.updateCountryCodeItems(this.getRestrictedCountries());\n }\n }\n }\n}\n\nexport default PhoneFieldInternal;\n","import '../../../descope-combo-box';\nimport '../../../descope-text-field';\n\nimport PhoneFieldInternal, { componentName } from './PhoneFieldInternal';\n\ncustomElements.define(componentName, PhoneFieldInternal);\n","import { componentName as descopeInternalComponentName } from './descope-phone-field-internal/PhoneFieldInternal';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport { createProxy, createStyleMixin, draggableMixin, proxyInputMixin } from '../../../mixins';\nimport { TextFieldClass } from '../../descope-text-field/TextFieldClass';\nimport { ComboBoxClass } from '../../descope-combo-box/ComboBoxClass';\nimport CountryCodes from '../CountryCodes';\nimport {\n resetInputCursor,\n resetInputLabelPosition,\n resetInputFieldDefaultWidth,\n resetInputFieldInvalidBackgroundColor,\n useHostExternalPadding,\n} from '../../../helpers/themeHelpers/resetHelpers';\n\nconst textVars = TextFieldClass.cssVarList;\nconst comboVars = ComboBoxClass.cssVarList;\n\nexport const componentName = getComponentName('phone-field');\n\nconst customMixin = (superclass) =>\n class PhoneFieldMixinClass extends superclass {\n static get CountryCodes() {\n return CountryCodes;\n }\n\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n\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`;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this.shadowRoot.host, this.inputElement, {\n includeAttrs: [\n 'size',\n 'bordered',\n 'invalid',\n 'minlength',\n 'maxlength',\n 'default-code',\n 'country-input-placeholder',\n 'phone-input-placeholder',\n 'disabled',\n 'restrict-countries',\n 'country-input-label',\n 'readonly',\n 'label',\n 'label-type',\n ],\n });\n }\n };\n\nconst {\n host,\n label,\n requiredIndicator,\n inputField,\n countryCodeInput,\n phoneInput,\n separator,\n errorMessage,\n helperText,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n inputField: { selector: '::part(input-field)' },\n phoneInput: { selector: () => 'descope-text-field' },\n countryCodeInput: { selector: () => 'descope-combo-box' },\n separator: { selector: 'descope-phone-field-internal .separator' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const PhoneFieldClass = compose(\n createStyleMixin({\n mappings: {\n fontSize: [\n host,\n inputField,\n {\n selector: TextFieldClass.componentName,\n property: TextFieldClass.cssVarList.fontSize,\n },\n {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.fontSize,\n },\n ],\n fontFamily: [\n label,\n errorMessage,\n helperText,\n {\n ...countryCodeInput,\n property: ComboBoxClass.cssVarList.overlay.fontFamily,\n },\n ],\n hostWidth: [\n { ...host, property: 'width' },\n { ...phoneInput, property: 'width' },\n { ...countryCodeInput, property: '--vaadin-combo-box-overlay-width' },\n ],\n hostDirection: { ...host, property: 'direction' },\n\n inputBorderStyle: [\n { ...inputField, property: 'border-style' },\n { ...separator, property: 'border-left-style' },\n ],\n inputBorderWidth: [\n { ...inputField, property: 'border-width' },\n { ...separator, property: 'border-left-width' },\n ],\n inputBorderColor: [\n { ...inputField, property: 'border-color' },\n { ...separator, property: 'border-left-color' },\n ],\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n countryCodeInputWidth: { ...countryCodeInput, property: comboVars.hostWidth },\n countryCodeDropdownWidth: {\n ...countryCodeInput,\n property: '--vaadin-combo-box-overlay-width',\n },\n phoneInputWidth: { ...phoneInput, property: 'width' },\n\n horizontalPadding: [\n { ...phoneInput, property: 'padding-left' },\n { ...phoneInput, property: 'padding-right' },\n { ...countryCodeInput, property: 'padding-left' },\n { ...countryCodeInput, property: 'padding-right' },\n ],\n\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n\n inputValueTextColor: [\n { ...phoneInput, property: textVars.inputValueTextColor },\n { ...countryCodeInput, property: comboVars.inputValueTextColor },\n ],\n\n inputPlaceholderTextColor: { ...phoneInput, property: textVars.inputPlaceholderColor },\n\n overlayItemBackgroundColor: {\n selector: 'descope-combo-box',\n property: comboVars.overlayItemBackgroundColor,\n },\n\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n valueInputHeight: [{ ...countryCodeInput, property: comboVars.valueInputHeight }],\n valueInputMarginBottom: [{ ...phoneInput, property: textVars.valueInputMarginBottom }],\n marginInlineStart: [\n { ...phoneInput, property: textVars.marginInlineStart },\n { ...countryCodeInput, property: comboVars.marginInlineStart },\n ],\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tmin-width: 15em;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}\n\t\t\t${useHostExternalPadding(PhoneFieldClass.cssVarList)}\n\t\t\t${resetInputCursor('vaadin-text-field')}\n\t\t\t${resetInputFieldInvalidBackgroundColor('vaadin-text-field')}\n\t\t\t${resetInputFieldDefaultWidth()}\n\n\t\t\tdiv {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\t\t\tvaadin-text-field {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-text-field[focus-ring]::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\t\t\tvaadin-text-field::before {\n\t\t\t\theight: 0;\n\t\t\t}\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tpadding: 0;\n\t\t\t\tbackground: transparent;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t\tdescope-phone-field-internal {\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n direction: ltr;\n\t\t\t}\n\t\t\tdescope-phone-field-internal > div {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t}\n\t\t\tdescope-phone-field-internal .separator {\n\t\t\t\tflex: 0;\n\t\t\t\tborder: none;\n\t\t\t}\n\t\t\tdescope-combo-box {\n\t\t\t\tflex-shrink: 0;\n\t\t\t\tmin-width: 5.75em;\n\t\t\t\t${comboVars.inputOutlineWidth}: 0;\n\t\t\t\t${comboVars.inputOutlineOffset}: 0;\n\t\t\t\t${comboVars.inputBorderWidth}: 0;\n\t\t\t\t${comboVars.inputBorderRadius}: 0;\n\t\t\t}\n\t\t\tdescope-text-field {\n\t\t\t\tflex-grow: 1;\n\t\t\t\t${textVars.inputOutlineWidth}: 0;\n\t\t\t\t${textVars.inputOutlineOffset}: 0;\n\t\t\t\t${textVars.inputBorderWidth}: 0;\n\t\t\t\t${textVars.inputBorderRadius}: 0;\n }\n\n :host([label-type=\"floating\"]) vaadin-text-field::part(label) {\n display: none;\n }\n descope-text-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n descope-text-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\n\t\t\tvaadin-text-field::part(input-field)::after {\n\t\t\t\tborder: none;\n\t\t\t}\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default PhoneFieldClass;\n","import './descope-phone-field-internal';\nimport '../../descope-combo-box';\nimport '../../descope-text-field';\n\nimport { componentName, PhoneFieldClass } from './PhoneFieldClass';\n\ncustomElements.define(componentName, PhoneFieldClass);\n\nexport { PhoneFieldClass };\n","import CountryCodes from './CountryCodes';\n\nexport const getCountryByCodeId = (countryCode) => {\n return CountryCodes.find((c) => c.code === countryCode)?.dialCode;\n};\n","import { createBaseInputClass } from '../../../../baseClasses/createBaseInputClass';\nimport { getComponentName } from '../../../../helpers/componentHelpers';\nimport { getCountryByCodeId } from '../../helpers';\n\nexport const componentName = getComponentName('phone-field-internal-input-box');\n\nconst observedAttributes = [\n 'disabled',\n 'size',\n 'bordered',\n 'invalid',\n 'readonly',\n 'phone-input-placeholder',\n 'name',\n 'autocomplete',\n 'label-type',\n];\nconst mapAttrs = {\n 'phone-input-placeholder': 'placeholder',\n};\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass PhoneFieldInternal extends BaseInputClass {\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], observedAttributes);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n <div>\n <descope-text-field tabindex=\"1\"></descope-text-field>\n </div>\n `;\n\n this.phoneNumberInput = this.querySelector('descope-text-field');\n }\n\n get defaultCountryCode() {\n return getCountryByCodeId(this.getAttribute('default-code'));\n }\n\n get hasDefaultCode() {\n return !!this.getAttribute('default-code');\n }\n\n get value() {\n if (!this.phoneNumberValue) {\n return '';\n }\n\n if (this.hasDefaultCode) {\n // we want to transform phone numbers to a valid {dialCode}-{phoneNumber} format\n // e.g.:\n // +972-12345 => +972-12345\n // 972-12345 => +972-12345\n // 12345 => +972-12345\n //\n // we also want to handle any extra dash if added in the start of the phone number\n // e.g.:\n // +972--12345 => +972-12345\n const pattern = new RegExp(`\\\\+?${parseInt(this.defaultCountryCode, 10)}--?`);\n return `${this.defaultCountryCode}-${this.phoneNumberInput.value.replace(pattern, '')}`;\n }\n\n return this.phoneNumberInput.value;\n }\n\n set value(val) {\n this.phoneNumberInput.value = val;\n }\n\n get phoneNumberValue() {\n return this.phoneNumberInput.value;\n }\n\n get minLength() {\n return parseInt(this.getAttribute('minlength'), 10) || 0;\n }\n\n get maxLength() {\n return parseInt(this.getAttribute('maxlength'), 10) || 50;\n }\n\n getValidity() {\n const validPhonePattern = /^\\+?\\d{1,4}-?(?:\\d-?){1,15}$/;\n const stripValue = this.value.replace(/\\D/g, '');\n\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n\n if (stripValue.length < this.minLength) {\n return { tooShort: true };\n }\n\n if (stripValue.length > this.maxLength) {\n return { tooLong: true };\n }\n\n if (!validPhonePattern.test(this.value)) {\n return { patternMismatch: true };\n }\n\n return {};\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) this.phoneNumberInput.focus();\n });\n\n super.init?.();\n this.initInputs();\n }\n\n getCountryByDialCode(countryDialCode) {\n return this.countryCodeInput.items?.find(\n (c) => c.getAttribute('data-country-code') === countryDialCode\n );\n }\n\n initInputs() {\n // Sanitize phone input value to filter everything but digits\n this.phoneNumberInput.addEventListener('input', (e) => {\n if (e.target.value.length === 1 && e.target.value === '-') {\n e.target.value = '';\n }\n\n e.target.value = e.target.value\n .replace(/(?!^)\\+/g, '')\n .replace('--', '-')\n .replace('+-', '+');\n\n const telDigitsRegExp = /^[+\\d-]+$/;\n const sanitizedInput = e.target.value\n .split('')\n .filter((char) => telDigitsRegExp.test(char))\n .join('');\n\n e.target.value = sanitizedInput;\n });\n\n this.handleFocusEventsDispatching([this.phoneNumberInput]);\n this.handleInputEventDispatching();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n\n if (oldValue !== newValue && observedAttributes.includes(attrName)) {\n const attr = mapAttrs[attrName] || attrName;\n this.phoneNumberInput.setAttribute(attr, newValue);\n }\n }\n}\n\nexport default PhoneFieldInternal;\n","import '../../../descope-text-field';\n\nimport PhoneFieldInternalInputBox, { componentName } from './PhoneFieldInternalInputBox';\n\ncustomElements.define(componentName, PhoneFieldInternalInputBox);\n","import { componentName as descopeInternalComponentName } from './descope-phone-input-box-internal/PhoneFieldInternalInputBox';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport { createProxy, createStyleMixin, draggableMixin, proxyInputMixin } from '../../../mixins';\nimport { TextFieldClass } from '../../descope-text-field/TextFieldClass';\nimport CountryCodes from '../CountryCodes';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n resetInputFieldDefaultWidth,\n resetInputFieldInvalidBackgroundColor,\n useHostExternalPadding,\n inputFloatingLabelStyle,\n} from '../../../helpers/themeHelpers/resetHelpers';\n\nconst textVars = TextFieldClass.cssVarList;\n\nexport const componentName = getComponentName('phone-input-box-field');\n\nconst customMixin = (superclass) =>\n class PhoneInputBoxFieldMixinClass extends superclass {\n static get CountryCodes() {\n return CountryCodes;\n }\n\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n\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 `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this.shadowRoot.host, this.inputElement, {\n includeAttrs: [\n 'size',\n 'bordered',\n 'invalid',\n 'minlength',\n 'maxlength',\n 'default-code',\n 'disabled',\n 'phone-input-placeholder',\n 'label',\n 'label-type',\n ],\n });\n }\n };\n\nconst {\n host,\n label,\n inputElement,\n requiredIndicator,\n inputField,\n phoneInput,\n errorMessage,\n helperText,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n placeholder: { selector: '> input:placeholder-shown' },\n inputElement: { selector: 'input' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n inputField: { selector: '::part(input-field)' },\n phoneInput: { selector: () => 'descope-text-field' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const PhoneFieldInputBoxClass = compose(\n createStyleMixin({\n mappings: {\n fontSize: [\n host,\n inputField,\n {\n selector: TextFieldClass.componentName,\n property: TextFieldClass.cssVarList.fontSize,\n },\n ],\n fontFamily: [label, errorMessage, helperText],\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputHorizontalPadding: [\n { ...phoneInput, property: 'padding-left' },\n { ...phoneInput, property: 'padding-right' },\n ],\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n\n inputValueTextColor: { ...phoneInput, property: textVars.inputValueTextColor },\n\n inputPlaceholderTextColor: { ...phoneInput, property: textVars.inputPlaceholderColor },\n\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n valueInputHeight: { ...inputElement, property: 'height' },\n valueInputMarginBottom: {\n selector: TextFieldClass.componentName,\n property: textVars.valueInputMarginBottom,\n },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n :host {\n display: inline-flex;\n max-width: 100%;\n box-sizing: border-box;\n }\n ${useHostExternalPadding(PhoneFieldInputBoxClass.cssVarList)}\n ${resetInputCursor('vaadin-text-field')}\n ${resetInputFieldInvalidBackgroundColor('vaadin-text-field')}\n ${resetInputFieldDefaultWidth()}\n\n vaadin-text-field {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n padding: 0;\n }\n vaadin-text-field[focus-ring]::part(input-field) {\n box-shadow: none;\n }\n vaadin-text-field::before {\n height: 0;\n }\n vaadin-text-field::part(input-field) {\n padding: 0;\n background: transparent;\n overflow: hidden;\n -webkit-mask-image: none;\n }\n descope-phone-field-internal-input-box {\n -webkit-mask-image: none;\n padding: 0;\n width: 100%;\n height: 100%;\n }\n descope-phone-field-internal-input-box > div {\n width: 100%;\n height: 100%;\n }\n descope-phone-field-internal-input-box .separator {\n flex: 0;\n border: none;\n }\n descope-text-field {\n flex-grow: 1;\n width: 100%;\n ${textVars.inputOutlineWidth}: 0;\n ${textVars.inputOutlineOffset}: 0;\n ${textVars.inputBorderWidth}: 0;\n ${textVars.inputBorderRadius}: 0;\n direction: ltr;\n }\n vaadin-text-field[readonly] > input:placeholder-shown {\n opacity: 1;\n }\n vaadin-text-field::part(input-field)::after {\n border: none;\n }\n\n vaadin-text-field[label-type=\"floating\"]:not([focused])[readonly] input:placeholder-shown {\n opacity: 0;\n }\n vaadin-text-field[label-type=\"floating\"]:not([focused])[disabled] input:placeholder-shown {\n opacity: 0;\n }\n\n ${resetInputLabelPosition('vaadin-text-field')}\n ${inputFloatingLabelStyle()}\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default PhoneFieldInputBoxClass;\n","import './descope-phone-input-box-internal';\nimport '../../descope-combo-box';\nimport '../../descope-text-field';\n\nimport { componentName, PhoneFieldInputBoxClass } from './PhoneFieldInputBoxClass';\n\ncustomElements.define(componentName, PhoneFieldInputBoxClass);\n\nexport { PhoneFieldInputBoxClass };\n","import { getComponentName } from '../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('new-password-internal');\n","export const interpolateString = (template, values) =>\n template.replace(/{{(\\w+)+}}/g, (match, key) => values?.[key] || match);\n","// eslint-disable-next-line max-classes-per-file\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { interpolateString } from './helpers';\n\nexport const componentName = getComponentName('policy-validation');\n\nconst overrideAttrs = ['data-password-policy-value-minlength'];\nconst dataAttrs = ['data', 'active-policies', 'overrides', ...overrideAttrs];\nconst policyAttrs = ['label', 'value', ...dataAttrs];\n\nclass RawPolicyValidation extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n #availablePolicies;\n\n #activePolicies = [];\n\n #overrides;\n\n static get observedAttributes() {\n return policyAttrs;\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div>\n <div class=\"label\"></div>\n <ul></ul>\n </div>\n <style>\n :host > div {\n width: 100%;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n }\n .label {\n max-width: 100%;\n text-wrap: wrap;\n overflow-wrap: break-word;\n }\n .hide-label .label {\n display: none;\n }\n ul {\n display: flex;\n flex-direction: column;\n padding: 0;\n margin: 0;\n }\n ul, li {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n li::before {\n display: inline-block;\n width: 1em;\n text-align: center;\n }\n </style>\n\t\t`;\n\n this.panel = this.shadowRoot.querySelector(':host > div');\n this.label = this.shadowRoot.querySelector('.label');\n this.list = this.shadowRoot.querySelector('ul');\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n if (oldValue !== newValue) {\n if (attrName === 'label') {\n this.updateLabel(newValue);\n }\n\n // we're don't know the order in which the attributes are forwarded, so we're trying to render every time\n // once `data` and `active-policies` are populated, the render will be executed.\n // once the `overrides` object is updated, we want to re-render the panel.\n if (dataAttrs.includes(attrName)) {\n if (attrName === 'data') {\n try {\n this.availablePolicies = JSON.parse(newValue);\n } catch {\n // eslint-disable-next-line no-console\n console.error('Failed to set available policies');\n }\n }\n if (attrName === 'active-policies') {\n this.#activePolicies = (newValue || '').split(',');\n }\n\n if (attrName === 'data-password-policy-value-minlength') {\n const ln = Number(newValue);\n if (!Number.isNaN(ln) && ln > 0) {\n this.#overrides = { ...this.#overrides, minlength: { value: `${ln}` } };\n }\n }\n }\n\n this.renderItems(this.#availablePolicies, this.#activePolicies, this.#overrides);\n }\n }\n\n get availablePolicies() {\n return this.#availablePolicies || [];\n }\n\n set availablePolicies(val) {\n this.#availablePolicies = val;\n }\n\n get value() {\n return this.getAttribute('value') || '';\n }\n\n validate() {\n let policies = this.#availablePolicies;\n\n if (this.#overrides) {\n policies = this.#availablePolicies.map((policy) =>\n this.#overrides[policy.id] ? { ...policy, data: this.#overrides[policy.id] } : policy\n );\n }\n\n return this.#activePolicies.reduce((results, id) => {\n const policy = policies.find((p) => p.id === id);\n\n if (!policy) {\n return results;\n }\n\n const { pattern, message, data } = policy;\n\n if (!pattern || !message) {\n return results;\n }\n\n const exp = new RegExp(interpolateString(pattern, data));\n\n const validationResult = {\n valid: exp.test(this.value),\n message: interpolateString(message, data),\n id,\n };\n\n results.push(validationResult);\n\n return results;\n }, []);\n }\n\n get isValid() {\n return !this.validate().some(({ valid }) => valid === false);\n }\n\n getValidationItemTemplate({ valid, message }) {\n const status = !this.value ? 'none' : valid;\n return `\n <li class=\"item\" data-valid=\"${status}\">\n <span class=\"message\">${message}</span>\n </li>\n `;\n }\n\n renderItems(availablePolicies, activePolicies) {\n if (!availablePolicies || !activePolicies.length) {\n return;\n }\n\n this.list.innerHTML = this.validate().map(this.getValidationItemTemplate.bind(this)).join('');\n }\n\n updateLabel(val) {\n if (!val) {\n this.classList.add('hide-label');\n this.label.innerHTML = '';\n } else {\n this.label.innerHTML = val;\n this.classList.remove('hide-label');\n }\n }\n}\n\nconst { host, item, symbolDefault, symbolSuccess, symbolError } = {\n host: { selector: () => ':host > div' },\n item: { selector: () => '.item' },\n symbolDefault: { selector: () => '.item[data-valid=\"none\"]::before' },\n symbolSuccess: { selector: () => '.item[data-valid=\"true\"]::before' },\n symbolError: { selector: () => '.item[data-valid=\"false\"]::before' },\n};\n\nexport const PolicyValidationClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontSize: {},\n fontFamily: {},\n padding: {},\n borderWidth: { ...host, property: 'border-width' },\n borderStyle: { ...host, property: 'border-style' },\n borderColor: { ...host, property: 'border-color' },\n borderRadius: { ...host, property: 'border-radius' },\n backgroundColor: { ...host, property: 'background-color' },\n textColor: { property: 'color' },\n labelMargin: { ...host, property: 'gap' },\n itemsSpacing: { ...item, property: 'line-height' },\n itemSymbolSuccessColor: { ...symbolSuccess, property: 'color' },\n itemSymbolErrorColor: { ...symbolError, property: 'color' },\n itemSymbolDefault: { ...symbolDefault, property: 'content' },\n itemSymbolSuccess: { ...symbolSuccess, property: 'content' },\n itemSymbolError: { ...symbolError, property: 'content' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawPolicyValidation);\n","import { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport { compose } from '../../helpers';\nimport { createStyleMixin, proxyInputMixin, draggableMixin, createProxy } from '../../mixins';\nimport { componentName as descopeInternalComponentName } from './descope-new-password-internal/componentName';\nimport { PasswordClass } from '../descope-password/PasswordClass';\nimport { useHostExternalPadding } from '../../helpers/themeHelpers/resetHelpers';\nimport { PolicyValidationClass } from '../descope-policy-validation/PolicyValidationClass';\n\nexport const componentName = getComponentName('new-password');\n\nconst policyPreviewVars = PolicyValidationClass.cssVarList;\n\nconst customMixin = (superclass) =>\n class NewPasswordMixinClass extends superclass {\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n\n template.innerHTML = `\n\t\t\t<${descopeInternalComponentName}\n\t\t\t\tname=\"new-password\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\tslot=\"input\"\n\t\t\t>\n </${descopeInternalComponentName}>\n\t\t\t`;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'password-label',\n 'password-placeholder',\n 'confirm-label',\n 'confirm-placeholder',\n 'full-width',\n 'size',\n 'bordered',\n 'label',\n 'has-confirm',\n 'invalid',\n 'readonly',\n 'draggable',\n 'has-validation',\n 'policy-label',\n 'active-policies',\n 'available-policies',\n 'data-password-policy-value-minlength',\n 'label-type',\n 'manual-visibility-toggle',\n ],\n });\n }\n };\n\nconst {\n host,\n label,\n internalInputsWrapper,\n errorMessage,\n helperText,\n passwordInput,\n policyPreview,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n internalInputsWrapper: { selector: 'descope-new-password-internal .wrapper' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n passwordInput: { selector: 'descope-password' },\n policyPreview: { selector: 'descope-policy-validation' },\n};\n\nexport const NewPasswordClass = compose(\n createStyleMixin({\n mappings: {\n fontSize: [\n host,\n {},\n {\n selector: PasswordClass.componentName,\n property: PasswordClass.cssVarList.fontSize,\n },\n ],\n fontFamily: [label, errorMessage, helperText],\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: { ...label, property: 'color' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: [\n { ...host, property: 'direction' },\n { ...passwordInput, property: PasswordClass.cssVarList.hostDirection },\n ],\n inputsRequiredIndicator: { ...host, property: 'content' },\n spaceBetweenInputs: { ...internalInputsWrapper, property: 'gap' },\n policyPreviewBackgroundColor: {\n ...policyPreview,\n property: policyPreviewVars.backgroundColor,\n },\n policyPreviewPadding: { ...policyPreview, property: policyPreviewVars.padding },\n\n valueInputHeight: { ...passwordInput, property: PasswordClass.cssVarList.valueInputHeight },\n valueInputMarginBottom: {\n ...passwordInput,\n property: PasswordClass.cssVarList.valueInputMarginBottom,\n },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t:host {\n\t\t\tdisplay: inline-block;\n\t\t\tmax-width: 100%;\n\t\t\tbox-sizing: border-box;\n\t\t}\n :host ::part(error-message) {\n direction: ltr;\n }\n\t\t${useHostExternalPadding(PasswordClass.cssVarList)}\n\t\tvaadin-text-field {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t}\n\t\tvaadin-text-field::part(input-field) {\n\t\t\tmin-height: 0;\n\t\t\tbackground: transparent;\n\t\t\tbox-shadow: none;\n\t\t\tpadding: 0;\n\t\t}\n\t\tvaadin-text-field::part(input-field)::after {\n\t\t\tbackground: transparent;\n\t\t\topacity: 0;\n\t\t}\n\t\tdescope-new-password-internal {\n\t\t\t-webkit-mask-image: none;\n\t\t\tmin-height: 0;\n\t\t\twidth: 100%;\n\t\t\tpadding: 0;\n\t\t}\n\t\tdescope-new-password-internal > .wrapper {\n -webkit-mask-image: none;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\t\tdescope-password {\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t}\n\t\tdescope-new-password-internal vaadin-password-field::before {\n\t\t\theight: initial;\n\t\t}\n descope-policy-validation {\n margin-top: 8px;\n display: flex;\n }\n descope-policy-validation.hidden {\n display: none;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import { componentName, PolicyValidationClass } from './PolicyValidationClass';\n\ncustomElements.define(componentName, PolicyValidationClass);\n\nexport { PolicyValidationClass };\n","import { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, observeAttributes } from '../../../helpers/componentHelpers';\nimport { NewPasswordClass } from '../NewPasswordClass';\nimport { componentName } from './componentName';\n\nconst passwordAttrPrefixRegex = /^password-/;\nconst confirmAttrPrefixRegex = /^confirm-/;\n\nconst removeAttrPrefix = (attr, prefix) => attr.replace(prefix, '');\n\nconst passwordInputAttrs = ['password-label', 'password-placeholder'];\nconst confirmInputAttrs = ['confirm-label', 'confirm-placeholder'];\nconst policyPanelAttrs = ['has-validation'];\nconst commonAttrs = [\n 'has-confirm',\n 'disabled',\n 'bordered',\n 'size',\n 'full-width',\n 'maxlength',\n 'invalid',\n 'readonly',\n 'draggable',\n 'autocomplete',\n 'label-type',\n 'manual-visibility-toggle',\n];\n\nconst inputRelatedAttrs = [].concat(\n commonAttrs,\n passwordInputAttrs,\n confirmInputAttrs,\n policyPanelAttrs\n);\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass NewPasswordInternal extends BaseInputClass {\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], inputRelatedAttrs);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n\t\t\t<div class=\"wrapper\"></div>\n\t\t`;\n\n this.wrapperEle = this.querySelector('.wrapper');\n }\n\n get value() {\n return this.passwordInput?.value || '';\n }\n\n set value(val) {\n if (val === this.value) return;\n this.value = val;\n }\n\n get hasConfirm() {\n return this.getAttribute('has-confirm') === 'true';\n }\n\n onHasConfirmChange(hasConfirm) {\n this.confirmInput.style.display = hasConfirm ? '' : 'none';\n }\n\n onHasValidationChange(hasValidation) {\n this.policyPanel.style.display = hasValidation ? '' : 'none';\n }\n\n get hasValidation() {\n return this.getAttribute('has-validation') === 'true';\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n\n if (this.value && !this.policyPanel.isValid) {\n return { typeMismatch: true };\n }\n\n if (this.hasConfirm && this.confirmInput && this.value !== this.confirmInput.value) {\n return { patternMismatch: true };\n }\n\n const min = this.getAttribute('minlength');\n const minVal = parseInt(min, 10) || 0;\n const minValid = this.value.length >= minVal;\n if (!minValid) {\n return { tooShort: true };\n }\n\n return {};\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n this.passwordInput.focus();\n }\n });\n\n super.init?.();\n this.renderInputs(this.hasConfirm, this.hasValidation);\n }\n\n renderInputs() {\n const template = `\n <div>\n <descope-password\n autocomplete=\"new-password\"\n manual-visibility-toggle=\"true\"\n data-id=\"password\"\n ></descope-password>\n <descope-policy-validation></descope-policy-validation>\n </div>\n <descope-password\n autocomplete=\"new-password\"\n manual-visibility-toggle=\"true\"\n data-id=\"confirm\"\n ></descope-password>\n `;\n\n this.wrapperEle.innerHTML = template;\n\n this.passwordInput = this.querySelector('[data-id=\"password\"]');\n this.confirmInput = this.querySelector('[data-id=\"confirm\"]');\n this.policyPanel = this.querySelector('descope-policy-validation');\n\n this.inputs = [this.passwordInput, this.confirmInput];\n\n this.initInputs();\n\n // sync input value to policy validation panel\n this.passwordInput.addEventListener('input', (e) => {\n this.policyPanel.setAttribute('value', e.target.value);\n });\n\n forwardAttrs(this, this.policyPanel, {\n includeAttrs: [\n 'policy-label',\n 'available-policies',\n 'active-policies',\n 'data-password-policy-value-minlength',\n 'manual-visibility-toggle',\n ],\n mapAttrs: {\n 'policy-label': 'label',\n 'available-policies': 'data',\n },\n });\n }\n\n // the inputs are not required but we still want it to have a required\n // indicator in case the root component is required\n handleIndicatorStyle() {\n this.inputs.forEach((input) => {\n const styleTag = document.createElement('style');\n styleTag.innerHTML = `\n\t\t\t\t:host ::part(required-indicator)::after {\n\t\t\t\t\tcontent: var(${NewPasswordClass.cssVarList.inputsRequiredIndicator});\n width: 1em;\n text-align: center;\n\t\t\t\t}\n :host ::part(required-indicator) {\n display: inline-flex;\n }\n\t\t\t\t`;\n input?.shadowRoot.appendChild(styleTag);\n });\n }\n\n get isInvalid() {\n return this.hasAttribute('invalid') && this.getAttribute('invalid') !== 'false';\n }\n\n // for some reason, Vaadin is removing the invalid attribute on several events,\n // e.g. focus, input, etc..., so we need to make sure the inputs will stay invalid\n // if the root component is invalid\n handleInputsInvalidAttribute() {\n this.inputs.forEach((input) => {\n input &&\n observeAttributes(\n input,\n (changedAttributes) => {\n if (changedAttributes.includes('invalid')) {\n const inputInvalidValue = input.getAttribute('invalid');\n const rootInvalidValue = this.getAttribute('invalid');\n\n if (this.isInvalid && rootInvalidValue !== inputInvalidValue) {\n input.setAttribute('invalid', 'true');\n }\n }\n },\n {}\n );\n });\n }\n\n initInputs() {\n this.handleIndicatorStyle();\n this.handleInputsInvalidAttribute();\n this.handleFocusEventsDispatching(this.inputs);\n }\n\n // eslint-disable-next-line class-methods-use-this\n toggleBooleanAttribute(ele, name, value) {\n value === null ? ele?.removeAttribute(name) : ele?.setAttribute(name, value);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'has-validation') {\n this.onHasValidationChange(newValue === 'true');\n } else if (attrName === 'has-confirm') {\n this.onHasConfirmChange(newValue === 'true');\n } else if (commonAttrs.includes(attrName)) {\n this.inputs.forEach((input) => this.toggleBooleanAttribute(input, attrName, newValue));\n } else if (passwordInputAttrs.includes(attrName)) {\n this.toggleBooleanAttribute(\n this.passwordInput,\n removeAttrPrefix(attrName, passwordAttrPrefixRegex),\n newValue\n );\n } else if (confirmInputAttrs.includes(attrName)) {\n this.toggleBooleanAttribute(\n this.confirmInput,\n removeAttrPrefix(attrName, confirmAttrPrefixRegex),\n newValue\n );\n }\n }\n }\n}\n\nexport default NewPasswordInternal;\n","import NewPasswordInternal from './NewPasswordInternal';\nimport { componentName } from './componentName';\n\ncustomElements.define(componentName, NewPasswordInternal);\n","import { componentName, NewPasswordClass } from './NewPasswordClass';\nimport '../descope-text-field';\nimport '../descope-password';\nimport '../descope-policy-validation';\nimport './descope-new-password-internal';\n\ncustomElements.define(componentName, NewPasswordClass);\n\nexport { NewPasswordClass };\n","import { draggableMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('recaptcha');\n\nconst observedAttributes = ['enabled', 'site-key', 'action', 'enterprise'];\n\nconst BaseClass = createBaseClass({\n componentName,\n baseSelector: ':host > div',\n});\nclass RawRecaptcha extends BaseClass {\n static get observedAttributes() {\n return observedAttributes.concat(BaseClass.observedAttributes || []);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n if (oldValue !== newValue) {\n if (attrName === 'enabled') {\n this.#toggleRecaptcha(newValue === 'true');\n }\n }\n }\n\n renderRecaptcha(enabled) {\n if (enabled) {\n this.recaptchaEle.style.display = '';\n this.mockRecaptchaEle.style.display = 'none';\n } else {\n this.recaptchaEle.style.display = 'none';\n this.mockRecaptchaEle.style.display = '';\n }\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n :host {\n display: inline-flex;\n }\n :host > div {\n display: flex;\n }\n :host #recaptcha .grecaptcha-badge {\n box-shadow: none !important;\n }\n :host #recaptcha .grecaptcha-logo {\n height: 100%;\n }\n :host #recaptcha {\n\t\t\t\twidth: 100%;\n height: 100%;\n\t\t\t}\n :host img {\n width: 256px;\n }\n\t\t</style>\n <div>\n <span id=\"recaptcha\"></span>\n <img src=\"https://imgs.descope.com/connectors/templates/recaptcha/recaptcha-big.png\" alt=\"recaptcha\"/>\n </div>\n\t`;\n\n this.recaptchaEle = this.baseElement.querySelector('#recaptcha');\n this.mockRecaptchaEle = this.baseElement.querySelector('img');\n }\n\n get enterprise() {\n return this.getAttribute('enterprise') === 'true';\n }\n\n get siteKey() {\n return this.getAttribute('site-key');\n }\n\n get action() {\n return this.getAttribute('action') || 'load';\n }\n\n get enabled() {\n return this.getAttribute('enabled') === 'true';\n }\n\n get scriptURL() {\n const url = new URL('https://www.google.com/recaptcha/');\n url.pathname += `${this.enterprise ? 'enterprise' : 'api'}.js`;\n url.searchParams.append('onload', 'onRecaptchaLoadCallback');\n url.searchParams.append('render', 'explicit');\n return url.toString();\n }\n\n #toggleRecaptcha(enabled) {\n this.renderRecaptcha(enabled);\n if (enabled) {\n this.#createOnLoadScript();\n if (!document.getElementById('recaptcha-script')) {\n this.#loadRecaptchaScript();\n } else {\n window.onRecaptchaLoadCallback();\n }\n }\n }\n\n #loadRecaptchaScript() {\n const script = document.createElement('script');\n script.src = this.scriptURL;\n script.async = true;\n script.id = 'recaptcha-script';\n script.defer = true;\n document.body.appendChild(script);\n }\n\n get grecaptchaInstance() {\n return this.enterprise ? window.grecaptcha?.enterprise : window.grecaptcha;\n }\n\n #getNewToken(grecaptchaInstance, currentNode, recaptchaWidgetId) {\n if (!this.isConnected) {\n return;\n }\n\n grecaptchaInstance.ready(() => {\n // clone the node and append it to the body so that it can be used by the grepcaptcha script\n const cloneNode = currentNode\n .querySelector('textarea[name^=\"g-recaptcha-response\"]')\n ?.cloneNode();\n if (cloneNode) {\n cloneNode.style.display = 'none';\n document.body.appendChild(cloneNode);\n }\n\n // cleaning up the recaptcha element we added to the body\n const removeCloneNode = () => {\n cloneNode.remove();\n };\n\n if (!this.siteKey) {\n return;\n }\n // we should pass recaptchaWidgetId, but this does not allow us to run execute multiple times\n // also calling grecaptchaInstance.reset() does not work\n const exec = grecaptchaInstance?.execute(recaptchaWidgetId, { action: this.action });\n exec.then((token, e) => {\n if (e) {\n // eslint-disable-next-line no-console\n console.warn('could not execute recaptcha', e);\n } else {\n this.updateComponentsContext({\n risktoken: token,\n riskaction: this.action,\n });\n // if the component is still connected, we should try to get a new token before the token expires (2 minutes)\n if (this.isConnected) {\n setTimeout(() => {\n this.#getNewToken(grecaptchaInstance, currentNode, recaptchaWidgetId);\n }, 110000);\n }\n }\n removeCloneNode();\n });\n });\n }\n\n #createOnLoadScript() {\n window.onRecaptchaLoadCallback = () => {\n const currentNode = this.recaptchaEle;\n\n // if there are child nodes, it means that the recaptcha was already rendered\n if (currentNode.hasChildNodes()) {\n return;\n }\n\n const { grecaptchaInstance } = this;\n\n if (!grecaptchaInstance) {\n return;\n }\n\n setTimeout(() => {\n const recaptchaWidgetId = grecaptchaInstance.render(currentNode, {\n sitekey: this.siteKey,\n badge: 'inline',\n size: 'invisible',\n });\n this.#getNewToken(grecaptchaInstance, currentNode, recaptchaWidgetId);\n }, 0);\n };\n }\n}\n\nexport const RecaptchaClass = compose(draggableMixin)(RawRecaptcha);\n","import { componentName, RecaptchaClass } from './RecaptchaClass';\n\ncustomElements.define(componentName, RecaptchaClass);\n\nexport { RecaptchaClass };\n","export const getFileBase64 = (fileObj) => {\n return new Promise((resolve) => {\n const reader = new FileReader();\n reader.onload = (e) => resolve(e.target.result);\n reader.readAsDataURL(fileObj);\n });\n};\n\nexport const getFilename = (fileObj) => {\n return fileObj.name.replace(/^.*\\\\/, '');\n};\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { createBaseInputClass } from '../../baseClasses/createBaseInputClass';\nimport { ButtonClass } from '../descope-button/ButtonClass';\nimport { getFileBase64, getFilename } from './helpers';\n\nexport const componentName = getComponentName('upload-file');\n\nconst observedAttributes = [\n 'title',\n 'description',\n 'button-label',\n 'accept',\n 'readonly',\n 'button-mode',\n 'button-variant',\n 'required',\n 'size',\n 'icon',\n];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: ':host > div' });\n\nclass RawUploadFile extends BaseInputClass {\n static get observedAttributes() {\n return observedAttributes.concat(BaseInputClass.observedAttributes || []);\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<style>\n\t\t\t:host {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t\t:host > div {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\ttext-align: center;\n\t\t\t\tflex-direction: column;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.button-wrapper {\n\t\t\t\tposition: relative;\n\t\t\t\twidth: fit-content;\n\t\t\t}\n\t\t\tinput {\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\t</style>\n\t\t\t<div>\n <slot name=\"icon\"></slot>\n\t\t\t\t<div class=\"title\">\n\t\t\t\t\t<span class=\"title-text\"></span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"description\"></div>\n\t\t\t\t<div class=\"button-wrapper\">\n\t\t\t\t\t<input type=\"file\" tabindex=\"-1\" />\n\t\t\t\t\t<descope-button></descope-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n this.wrapperEle = this.shadowRoot.querySelector('.wrapper');\n this.inputElement = this.shadowRoot.querySelector('input');\n\n this.button.onclick = () => this.inputElement.click();\n\n this.inputElement.onchange = async (e) => {\n const receivedFileList = e.target.files;\n\n if (!receivedFileList.length) {\n return;\n }\n\n this.value = await getFileBase64(receivedFileList[0]);\n\n this.updateDescription(getFilename(receivedFileList[0]));\n };\n\n this.oninvalid = () => {\n this.setAttribute('invalid', 'true');\n };\n }\n\n // this is a temp solution,\n // we should show the input error message like we have in all other inputs\n /*\n reportValidity() {\n this.defaultReportValidity();\n }\n */\n\n getValidity() {\n if (this.isRequired && !this.input.value) {\n return { valueMissing: true };\n }\n this.removeAttribute('invalid');\n return {};\n }\n\n initInputs() {\n const button = this.rootElement.querySelector('descope-button');\n button.onclick = () => this.inputElement.click();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'title') {\n this.updateTitle(newValue);\n } else if (attrName === 'description') {\n this.updateDescription(newValue);\n } else if (attrName === 'button-label') {\n this.updateButtonLabel(newValue);\n } else if (attrName === 'button-mode') {\n this.updateButtonMode(newValue);\n } else if (attrName === 'button-variant') {\n this.updateButtonVariant(newValue);\n } else if (attrName === 'size') {\n this.updateButtonSize(newValue);\n } else if (attrName === 'accept') {\n this.updateInputAccept(newValue);\n } else if (attrName === 'readonly') {\n this.updateReadOnly(newValue);\n }\n }\n }\n\n get button() {\n return this.shadowRoot.querySelector('descope-button');\n }\n\n get input() {\n return this.shadowRoot.querySelector('input');\n }\n\n get title() {\n return this.shadowRoot.querySelector('.title-text');\n }\n\n get description() {\n return this.shadowRoot.querySelector('.description');\n }\n\n get icon() {\n return this.shadowRoot.querySelector('.icon');\n }\n\n updateTitle(val) {\n this.title.innerHTML = val;\n }\n\n updateDescription(val) {\n this.description.innerHTML = val;\n }\n\n updateButtonLabel(val) {\n this.button.innerHTML = val;\n }\n\n updateButtonSize(val) {\n this.button.setAttribute('size', val);\n }\n\n updateButtonMode(val) {\n this.button.setAttribute('mode', val);\n }\n\n updateButtonVariant(val) {\n this.button.setAttribute('variant', val);\n }\n\n updateInputAccept(val) {\n this.input.setAttribute('accept', val);\n }\n\n updateReadOnly(val) {\n if (val === 'true') {\n this.input.setAttribute('disabled', 'true');\n } else {\n this.input.removeAttribute('disabled');\n }\n }\n}\n\nconst buttonVars = ButtonClass.cssVarList;\nconst { host, wrapper, icon, title, description, requiredIndicator } = {\n host: { selector: () => ':host' },\n wrapper: { selector: () => ':host > div' },\n icon: { selector: () => '::slotted(*)' },\n title: { selector: () => '.title' },\n description: { selector: () => '.description' },\n requiredIndicator: { selector: () => '.title::after' },\n};\n\nexport const UploadFileClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n fontSize: {},\n fontFamily: {},\n borderColor: {},\n borderWidth: {},\n borderStyle: {},\n borderRadius: {},\n hostHeight: { ...host, property: 'height' },\n hostWidth: { ...host, property: 'width' },\n hostPadding: { property: 'padding' },\n hostDirection: [\n { ...host, property: 'direction' },\n { selector: () => ButtonClass.componentName, property: buttonVars.hostDirection },\n ],\n gap: { ...wrapper },\n lineHeight: { ...wrapper, property: 'line-height' },\n titleFontSize: { ...title, property: 'font-size' },\n titleFontWeight: { ...title, property: 'font-weight' },\n descriptionFontSize: { ...description, property: 'font-size' },\n labelTextColor: [\n { ...title, property: 'color' },\n { ...description, property: 'color' },\n ],\n iconSize: { ...icon, property: 'width' },\n requiredIndicator: { ...requiredIndicator, property: 'content' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawUploadFile);\n","import { componentName, UploadFileClass } from './UploadFileClass';\nimport '../descope-button';\n\ncustomElements.define(componentName, UploadFileClass);\n\nexport { UploadFileClass };\n","import { createBaseInputClass } from '../../baseClasses/createBaseInputClass';\nimport { observeAttributes } from '../../helpers/componentHelpers';\nimport { createDispatchEvent } from '../../helpers/mixinsHelpers';\n\nexport const createBaseButtonSelectionGroupInternalClass = (componentName) => {\n class BaseButtonSelectionGroupInternalClass extends createBaseInputClass({\n componentName,\n baseSelector: 'slot',\n }) {\n constructor() {\n super();\n\n this.innerHTML = `\n <style>\n slot {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n }\n </style>\n <slot part=\"wrapper\"></slot>\n `;\n }\n\n dispatchChange = createDispatchEvent.bind(this, 'change');\n\n get items() {\n return this.querySelector('slot').assignedElements();\n }\n\n get isReadonly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n get size() {\n return this.getAttribute('size') || 'md';\n }\n\n // eslint-disable-next-line getter-return, class-methods-use-this\n get value() {\n // eslint-disable-next-line no-console\n console.warn('get value', 'is not implemented');\n }\n\n // eslint-disable-next-line class-methods-use-this\n set value(value) {\n // eslint-disable-next-line no-console\n console.warn('set value', 'is not implemented');\n }\n\n onSizeChange() {\n this.items.forEach((item) => {\n item.setAttribute('size', this.size);\n });\n }\n\n onReadOnlyChange() {\n this.querySelector('slot').toggleAttribute('inert', this.isReadonly);\n }\n\n // eslint-disable-next-line class-methods-use-this\n getValidity() {\n // eslint-disable-next-line no-console\n console.warn('getValidity', 'is not implemented');\n }\n\n onObservedAttributeChange(attrs) {\n attrs.forEach((attr) => {\n switch (attr) {\n case 'size':\n this.onSizeChange();\n break;\n case 'readonly':\n this.onReadOnlyChange();\n break;\n default:\n break;\n }\n });\n }\n\n init() {\n // we are adding listeners before calling to super because it's stopping the events\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n this.items[0]?.focus();\n }\n });\n\n super.init?.();\n\n observeAttributes(this, this.onObservedAttributeChange.bind(this), {\n includeAttrs: ['size', 'readonly'],\n });\n }\n }\n\n return BaseButtonSelectionGroupInternalClass;\n};\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { createBaseButtonSelectionGroupInternalClass } from '../createBaseButtonSelectionGroupInternalClass';\n\nexport const componentName = getComponentName('button-selection-group-internal');\n\nexport class ButtonSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(\n componentName\n) {\n getSelectedNode() {\n return this.items.find((item) => item.hasAttribute('selected'));\n }\n\n get allowDeselect() {\n return this.getAttribute('allow-deselect') === 'true';\n }\n\n removeSelected() {\n this.getSelectedNode()?.removeAttribute('selected');\n }\n\n onClick(e) {\n if (e.target !== e.currentTarget) {\n if (e.target === this.getSelectedNode() && this.allowDeselect) {\n this.removeSelected();\n } else {\n this.setSelected(e.target);\n }\n this.dispatchChange();\n }\n }\n\n setSelected(node) {\n if (node !== this.getSelectedNode()) {\n this.removeSelected();\n node?.setAttribute('selected', 'true');\n }\n }\n\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n setDefaultValue() {\n // we want to defer this action until all attributes are synched\n setTimeout(() => {\n if (this.defaultValue) {\n this.value = this.defaultValue;\n this.setCustomValidity();\n }\n });\n }\n\n get value() {\n return this.getSelectedNode()?.value || '';\n }\n\n set value(value) {\n const node = this.items.find((child) => child.value === value);\n this.setSelected(node);\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n\n return {};\n }\n\n init() {\n super.init();\n\n this.setDefaultValue();\n\n this.querySelector('slot').addEventListener('click', this.onClick.bind(this));\n }\n}\n","import { observeAttributes, observeChildren } from '../../helpers/componentHelpers';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n resetInputFieldDefaultWidth,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const buttonSelectionGroupBaseMixin = (superclass) =>\n class ButtonSelectionGroupMixinClass extends superclass {\n // eslint-disable-next-line class-methods-use-this\n #renderItem = ({ value, label }) =>\n `<descope-button-selection-group-item value=\"${value}\">${label}</descope-button-selection-group-item>`;\n\n #data;\n\n get renderItem() {\n return this.#renderItem;\n }\n\n set renderItem(renderFn) {\n this.#renderItem = renderFn;\n this.renderItems();\n }\n\n get size() {\n return this.inputElement?.size;\n }\n\n get data() {\n if (this.#data) return this.#data;\n\n const dataAttr = this.getAttribute('data');\n\n if (dataAttr) {\n try {\n const data = JSON.parse(dataAttr);\n if (this.isValidDataType(data)) {\n return data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"data\" - ', e.message);\n }\n }\n\n return [];\n }\n\n set data(data) {\n if (this.isValidDataType(data)) {\n this.#data = data;\n this.renderItems();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n isValidDataType(data) {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n }\n\n getItemsTemplate() {\n return this.data?.reduce?.((acc, item) => acc + (this.renderItem?.(item || {}) || ''), '');\n }\n\n renderItems() {\n const template = this.getItemsTemplate();\n if (template) this.innerHTML = template;\n }\n\n init() {\n super.init?.();\n\n this.renderItems();\n\n observeAttributes(this, this.renderItems.bind(this), { includeAttrs: ['data'] });\n\n // we want new items to get the size\n observeChildren(this, ({ addedNodes }) => {\n addedNodes.forEach((node) => {\n node.setAttribute('size', this.size);\n });\n });\n }\n };\n\nconst { host, label, requiredIndicator, internalWrapper, errorMessage } = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n internalWrapper: { selector: () => ':host [part=\"internal-component\"] slot' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const buttonSelectionGroupMappings = {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontFamily: host,\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n itemsSpacing: { ...internalWrapper, property: 'gap' },\n};\n\nexport const buttonSelectionGroupStyles = `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t\t${resetInputFieldDefaultWidth()}\n\t\t\t:host::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\t\t\t:host::part(input-field)::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\n [part=\"internal-component\"] {\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n display: inline-block;\n\t\t\t\tmin-height: initial;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tpadding: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t}\n\n\t\t\tvaadin-text-field {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%\n\t\t\t}\n\n\t\t\tvaadin-text-field::before {\n\t\t\t\theight: 0;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\t\t\tborder: 0 solid;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t\t${resetInputCursor('vaadin-text-field')}\n `;\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../../mixins';\nimport { componentName as descopeInternalComponentName } from '../descope-button-selection-group-internal/ButtonSelectionGroupInternalClass';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport {\n buttonSelectionGroupBaseMixin,\n buttonSelectionGroupMappings,\n buttonSelectionGroupStyles,\n} from '../baseButtonSelectionGroup';\n\nexport const componentName = getComponentName('button-selection-group');\n\nconst buttonSelectionGroupMixin = (superclass) =>\n class ButtonMultiSelectionGroupMixinClass extends superclass {\n init() {\n super.init?.();\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n \tname=\"button-selection-group\"\n \tslot=\"input\"\n tabindex=\"-1\"\n part=\"internal-component\"\n >\n <slot></slot>\n </${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: ['size', 'default-value', 'allow-deselect'],\n });\n }\n };\n\nexport const ButtonSelectionGroupClass = compose(\n createStyleMixin({\n mappings: {\n ...buttonSelectionGroupMappings,\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n buttonSelectionGroupBaseMixin,\n buttonSelectionGroupMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => buttonSelectionGroupStyles,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default ButtonSelectionGroupClass;\n","import {\n componentName,\n ButtonSelectionGroupInternalClass,\n} from './ButtonSelectionGroupInternalClass';\n\ncustomElements.define(componentName, ButtonSelectionGroupInternalClass);\n\nexport { ButtonSelectionGroupInternalClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../../mixins';\nimport { createBaseClass } from '../../../baseClasses/createBaseClass';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport { ButtonClass } from '../../descope-button/ButtonClass';\n\nexport const componentName = getComponentName('button-selection-group-item');\n\nclass RawSelectItem extends createBaseClass({\n componentName,\n baseSelector: ':host > descope-button',\n}) {\n get size() {\n return this.getAttribute('size') || 'md';\n }\n\n get variant() {\n return this.getAttribute('variant') || 'contained';\n }\n\n get value() {\n return this.getAttribute('value') || '';\n }\n\n set value(value) {\n this.setAttribute('value', value);\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n descope-button {\n max-width: 100%;\n }\n\t\t\tdescope-button > slot {\n\t\t\t\twidth: 100%;\n\t\t\t\toverflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n max-width: 100%\n\t\t\t}\n\t\t</style>\n <descope-button variant=\"${this.variant}\" size=\"${this.size}\" mode=\"primary\">\n <slot></slot>\n </descope-button>\n\t`;\n\n forwardAttrs(this, this.baseElement, { includeAttrs: ['size', 'variant'] });\n forwardAttrs(this.baseElement, this, { includeAttrs: ['focused', 'active'] });\n }\n\n handleFocus() {\n this.shadowRoot.querySelector('descope-button')?.focus();\n }\n\n focus() {\n this.handleFocus();\n }\n\n init() {\n super.init();\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n this.handleFocus();\n }\n });\n }\n}\n\nexport const ButtonSelectionGroupItemClass = compose(\n createStyleMixin({\n mappings: {\n hostDirection: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.hostDirection,\n },\n backgroundColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.backgroundColor,\n },\n labelTextColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.labelTextColor,\n },\n borderColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderColor,\n },\n borderWidth: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderWidth,\n },\n borderStyle: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderStyle,\n },\n borderRadius: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderRadius,\n },\n outlineColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.outlineColor,\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawSelectItem);\n","import { componentName, ButtonSelectionGroupItemClass } from './ButtonSelectionGroupItemClass';\nimport '../../descope-button';\n\ncustomElements.define(componentName, ButtonSelectionGroupItemClass);\n\nexport { ButtonSelectionGroupItemClass };\n","import { componentName, ButtonSelectionGroupClass } from './ButtonSelectionGroupClass';\nimport '../descope-button-selection-group-internal';\nimport '../descope-button-selection-group-item';\n\ncustomElements.define(componentName, ButtonSelectionGroupClass);\n\nexport { ButtonSelectionGroupClass };\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { createBaseButtonSelectionGroupInternalClass } from '../createBaseButtonSelectionGroupInternalClass';\n\nexport const componentName = getComponentName('button-multi-selection-group-internal');\n\nexport class ButtonMultiSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(\n componentName\n) {\n #getSelectedNodes() {\n return this.items.filter((item) => item.hasAttribute('selected'));\n }\n\n onClick(e) {\n if (e.target !== e.currentTarget) {\n if (this.#getSelectedNodes().includes(e.target)) {\n e.target.removeAttribute('selected');\n } else {\n e.target.setAttribute('selected', 'true');\n }\n this.dispatchChange();\n }\n }\n\n get value() {\n return this.#getSelectedNodes().map((node) => node.value);\n }\n\n set value(values) {\n this.items.forEach((item) => {\n if (values.includes(item.value)) {\n item.setAttribute('selected', 'true');\n } else {\n item.removeAttribute('selected');\n }\n });\n }\n\n get minItemsSelection() {\n return parseInt(this.getAttribute('min-items-selection'), 10) || 0;\n }\n\n get maxItemsSelection() {\n return parseInt(this.getAttribute('max-items-selection'), 10) || 0;\n }\n\n // eslint-disable-next-line class-methods-use-this\n #isValidDataType(data) {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('default-values must be an array, received:', data);\n }\n\n return isValid;\n }\n\n get defaultValues() {\n const defaultValuesAttr = this.getAttribute('default-values');\n if (defaultValuesAttr) {\n try {\n const defaultValues = JSON.parse(defaultValuesAttr);\n if (this.#isValidDataType(defaultValues)) {\n return defaultValues;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"default-values\" -', e.message);\n }\n }\n return [];\n }\n\n setDefaultValues() {\n // we want to defer this action until all attributes are synced\n setTimeout(() => {\n if (this.defaultValues) {\n this.value = this.defaultValues;\n this.setCustomValidity();\n }\n });\n }\n\n getValidity() {\n if (this.isRequired && !this.value.length) {\n return { valueMissing: true };\n }\n // If the field is not required, no minimum selection can be set\n if (this.isRequired && this.minItemsSelection && this.value.length < this.minItemsSelection) {\n return {\n rangeUnderflow: true,\n };\n }\n if (this.maxItemsSelection && this.value.length > this.maxItemsSelection) {\n return {\n rangeOverflow: true,\n };\n }\n return {};\n }\n\n init() {\n super.init();\n\n this.setDefaultValues();\n\n this.querySelector('slot').addEventListener('click', this.onClick.bind(this));\n }\n}\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../../mixins';\nimport { componentName as descopeInternalComponentName } from '../descope-button-multi-selection-group-internal/ButtonMultiSelectionGroupInternalClass';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport {\n buttonSelectionGroupBaseMixin,\n buttonSelectionGroupMappings,\n buttonSelectionGroupStyles,\n} from '../baseButtonSelectionGroup';\n\nexport const componentName = getComponentName('button-multi-selection-group');\n\nconst buttonMultiSelectionGroupMixin = (superclass) =>\n class ButtonMultiSelectionGroupMixinClass extends superclass {\n init() {\n super.init?.();\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n \tname=\"button-selection-group\"\n \tslot=\"input\"\n tabindex=\"-1\"\n part=\"internal-component\"\n >\n <slot></slot>\n </${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: ['size', 'default-values', 'min-items-selection', 'max-items-selection'],\n });\n }\n };\n\nexport const ButtonMultiSelectionGroupClass = compose(\n createStyleMixin({\n mappings: {\n ...buttonSelectionGroupMappings,\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n buttonSelectionGroupBaseMixin,\n buttonMultiSelectionGroupMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => buttonSelectionGroupStyles,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default ButtonMultiSelectionGroupClass;\n","import {\n componentName,\n ButtonMultiSelectionGroupInternalClass,\n} from './ButtonMultiSelectionGroupInternalClass';\n\ncustomElements.define(componentName, ButtonMultiSelectionGroupInternalClass);\n\nexport { ButtonMultiSelectionGroupInternalClass };\n","import { componentName, ButtonMultiSelectionGroupClass } from './ButtonMultiSelectionGroupClass';\nimport '../descope-button-multi-selection-group-internal';\nimport '../descope-button-selection-group-item';\n\ncustomElements.define(componentName, ButtonMultiSelectionGroupClass);\n\nexport { ButtonMultiSelectionGroupClass };\n","/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridTextColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n _defaultRenderer(cell, _col, model) {\n const data = model.item[this.path] || '';\n const content = Array.isArray(data) ? data.join(', ') : data;\n\n this.__setTextContent(cell, content);\n cell.title = content;\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridTextColumnClass } from './GridTextColumnClass';\n\nexport const componentName = getComponentName('grid-text-column');\n\ncustomElements.define(componentName, GridTextColumnClass);\n","/* eslint-disable no-param-reassign */\nimport { GridTextColumnClass } from '../descope-grid-text-column/GridTextColumnClass';\n\nexport class GridCustomColumnClass extends GridTextColumnClass {\n _defaultRenderer(cell, _col, model) {\n const content = model.item[this.path] || '';\n\n // we get a list of elements that can be used to render the content\n // each element can have a \"pattern\" attribute which contains regex expression\n // we are going over the elements, and when finding an element which is pattern matches the data,\n // we are cloning this element, and injecting the data as its child\n const contentEle = Array.from(this.children).find((child) => {\n const pattern = child.getAttribute('data-pattern');\n if (!pattern) return true;\n\n const regEx = new RegExp(pattern);\n return regEx.test(content);\n });\n\n if (!contentEle) {\n this.__setTextContent(cell, model.item[this.path] || '');\n\n return;\n }\n\n const newEle = contentEle.cloneNode(true);\n newEle.textContent = content || '';\n cell.innerHTML = '';\n cell.append(newEle);\n }\n}\n","/* eslint-disable no-param-reassign */\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridCustomColumnClass } from './GridCustomColumnClass';\n\nexport const componentName = getComponentName('grid-custom-column');\n\ncustomElements.define(componentName, GridCustomColumnClass);\n","import { GridSelectionColumn } from '@vaadin/grid/vaadin-grid-selection-column';\n\nconst createCheckboxEle = () => {\n const checkbox = document.createElement('descope-checkbox');\n\n checkbox.setAttribute('bordered', 'true');\n checkbox.setAttribute('size', 'xs');\n\n return checkbox;\n};\n\nconst getIsAllItemsSelected = (grid) =>\n !!grid.items?.length && grid.selectedItems.length === grid.items.length;\n\nexport class GridSelectionColumnClass extends GridSelectionColumn {\n // eslint-disable-next-line class-methods-use-this\n _onHeaderRendererOrBindingChanged() {}\n\n // eslint-disable-next-line class-methods-use-this\n _headerRenderer(cell) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n\n checkbox.addEventListener('input', () => {\n const isAllItemsSelected = getIsAllItemsSelected(grid);\n if (isAllItemsSelected) {\n grid.selectedItems = [];\n } else {\n grid.selectedItems = grid.items;\n }\n });\n\n cell.appendChild(checkbox);\n }\n\n checkbox.setAttribute('checked', getIsAllItemsSelected(grid));\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, col, model) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n cell.appendChild(checkbox);\n }\n\n checkbox.onchange = () => {\n checkbox.checked ? grid.selectItem(model.item) : grid.deselectItem(model.item);\n };\n\n checkbox.setAttribute('checked', model.selected);\n }\n}\n","import '../../boolean-fields/descope-checkbox';\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridSelectionColumnClass } from './GridSelectionColumnClass';\n\nexport const componentName = getComponentName('grid-selection-column');\n\ncustomElements.define(componentName, GridSelectionColumnClass);\n","/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridItemDetailsColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, _col, model) {\n const grid = _col._gridValue;\n const itemIdx = grid.detailsOpenedItems?.indexOf(model.item) ?? -1;\n const isOpened = itemIdx !== -1;\n\n const toggleIcon = document.createElement('vaadin-icon');\n toggleIcon.icon = isOpened ? 'vaadin:angle-up' : 'vaadin:angle-down';\n toggleIcon.classList.add('toggle-details-button', isOpened ? 'opened' : 'closed');\n cell.innerHTML = '';\n cell.append(toggleIcon);\n\n toggleIcon.onclick = () => {\n grid.detailsOpenedItems = isOpened\n ? grid.detailsOpenedItems.toSpliced(itemIdx, 1)\n : [...grid.detailsOpenedItems, model.item];\n };\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridItemDetailsColumnClass } from './GridItemDetailsColumnClass';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\nexport const componentName = getComponentName('grid-item-details-column');\n\ncustomElements.define(componentName, GridItemDetailsColumnClass);\n","export const decode = (input) => {\n const txt = document.createElement('textarea');\n txt.innerHTML = input;\n return txt.value;\n};\n\nexport const tpl = (input, inline) => {\n return inline ? input : `<pre>${input}</pre>`;\n};\n","import hljs from 'highlight.js';\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { decode, tpl } from './helpers';\n\nexport const componentName = getComponentName('code-snippet');\n\nclass CodeSnippet extends createBaseClass({ componentName, baseSelector: ':host > code' }) {\n static get observedAttributes() {\n return ['lang', 'inline'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <style>\n :host {\n display: inline-block;\n width: 100%;\n }\n code {\n display: block;\n width: 100%;\n min-height: 1em;\n overflow-x: scroll;\n overflow-y: scroll;\n }\n pre {\n margin: 0;\n }\n </style>\n <code class=\"hljs\"></code>\n `;\n }\n\n init() {\n super.init?.();\n\n this.lang = this.getAttribute('lang');\n this.isInline = this.getAttribute('inline') === 'true';\n\n observeChildren(this, this.#renderSnippet.bind(this));\n }\n\n get contentNode() {\n return this.shadowRoot.querySelector(this.baseSelector);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'inline') {\n this.isInline = newValue;\n }\n\n if (attrName === 'lang') {\n this.lang = newValue;\n }\n\n this.#renderSnippet();\n }\n }\n\n #renderSnippet() {\n const sanitized = decode(this.textContent);\n const language = this.lang;\n\n if (!language) {\n this.contentNode.textContent = sanitized;\n return;\n }\n\n const { value: highlighted } = hljs.highlight(sanitized, { language });\n\n this.contentNode.innerHTML = tpl(highlighted, this.isInline);\n }\n}\n\nconst {\n root,\n docTag,\n keyword,\n metaKeyword,\n templateTag,\n templateVariable,\n type,\n variableLanguage,\n title,\n titleClass,\n titleClassInherited,\n titleFunction,\n attr,\n attribute,\n literal,\n meta,\n number,\n operator,\n variable,\n selectorAttr,\n selectorClass,\n selectorId,\n regexp,\n string,\n metaString,\n builtIn,\n symbol,\n comment,\n code,\n formula,\n name,\n quote,\n selectorTag,\n selectorPseudo,\n subst,\n section,\n bullet,\n emphasis,\n strong,\n addition,\n deletion,\n charEscape,\n link,\n params,\n property,\n punctuation,\n tag,\n} = {\n root: { selector: () => '.hljs' },\n docTag: { selector: () => '.hljs-doctag' },\n keyword: { selector: () => '.hljs-keyword' },\n metaKeyword: { selector: () => '.hljs-meta .hljs-keyword' },\n templateTag: { selector: () => '.hljs-template-tag' },\n templateVariable: { selector: () => '.hljs-template-variable' },\n type: { selector: () => '.hljs-type' },\n variableLanguage: { selector: () => '.hljs-variable.language' },\n title: { selector: () => '.hljs-title' },\n titleClass: { selector: () => '.hljs-title.class_' },\n titleClassInherited: { selector: () => '.hljs-title.class_.inherited__' },\n titleFunction: { selector: () => '.hljs-title.function_' },\n attr: { selector: () => '.hljs-attr' },\n attribute: { selector: () => '.hljs-attribute' },\n literal: { selector: () => '.hljs-literal' },\n meta: { selector: () => '.hljs-meta' },\n number: { selector: () => '.hljs-number' },\n operator: { selector: () => '.hljs-operator' },\n variable: { selector: () => '.hljs-variable' },\n selectorAttr: { selector: () => '.hljs-selector-attr' },\n selectorClass: { selector: () => '.hljs-selector-class' },\n selectorId: { selector: () => '.hljs-selector-id' },\n regexp: { selector: () => '.hljs-regexp' },\n string: { selector: () => '.hljs-string' },\n metaString: { selector: () => '.hljs-meta .hljs-string' },\n builtIn: { selector: () => '.hljs-built_in' },\n symbol: { selector: () => '.hljs-symbol' },\n comment: { selector: () => '.hljs-comment' },\n code: { selector: () => '.hljs-code' },\n formula: { selector: () => '.hljs-formula' },\n name: { selector: () => '.hljs-name' },\n quote: { selector: () => '.hljs-quote' },\n selectorTag: { selector: () => '.hljs-selector-tag' },\n selectorPseudo: { selector: () => '.hljs-selector-pseudo' },\n subst: { selector: () => '.hljs-subst' },\n section: { selector: () => '.hljs-section' },\n bullet: { selector: () => '.hljs-bullet' },\n emphasis: { selector: () => '.hljs-emphasis' },\n strong: { selector: () => '.hljs-strong' },\n addition: { selector: () => '.hljs-addition' },\n deletion: { selector: () => '.hljs-deletion' },\n charEscape: { selector: () => '.hljs-char.escape' },\n link: { selector: () => '.hljs-link' },\n params: { selector: () => '.hljs-params' },\n property: { selector: () => '.hljs-property' },\n punctuation: { selector: () => '.hljs-punctuation' },\n tag: { selector: () => '.hljs-tag' },\n};\n\nexport const CodeSnippetClass = compose(\n createStyleMixin({\n mappings: {\n rootBgColor: { ...root, property: 'background-color' },\n rootTextColor: { ...root, property: 'color' },\n docTagTextColor: { ...docTag, property: 'color' },\n keywordTextColor: { ...keyword, property: 'color' },\n metaKeywordTextColor: { ...metaKeyword, property: 'color' },\n templateTagTextColor: { ...templateTag, property: 'color' },\n templateVariableTextColor: { ...templateVariable, property: 'color' },\n typeTextColor: { ...type, property: 'color' },\n variableLanguageTextColor: { ...variableLanguage, property: 'color' },\n titleTextColor: { ...title, property: 'color' },\n titleClassTextColor: { ...titleClass, property: 'color' },\n titleClassInheritedTextColor: { ...titleClassInherited, property: 'color' },\n titleFunctionTextColor: { ...titleFunction, property: 'color' },\n attrTextColor: { ...attr, property: 'color' },\n attributeTextColor: { ...attribute, property: 'color' },\n literalTextColor: { ...literal, property: 'color' },\n metaTextColor: { ...meta, property: 'color' },\n numberTextColor: { ...number, property: 'color' },\n operatorTextColor: { ...operator, property: 'color' },\n variableTextColor: { ...variable, property: 'color' },\n selectorAttrTextColor: { ...selectorAttr, property: 'color' },\n selectorClassTextColor: { ...selectorClass, property: 'color' },\n selectorIdTextColor: { ...selectorId, property: 'color' },\n regexpTextColor: { ...regexp, property: 'color' },\n stringTextColor: { ...string, property: 'color' },\n metaStringTextColor: { ...metaString, property: 'color' },\n builtInTextColor: { ...builtIn, property: 'color' },\n symbolTextColor: { ...symbol, property: 'color' },\n commentTextColor: { ...comment, property: 'color' },\n codeTextColor: { ...code, property: 'color' },\n formulaTextColor: { ...formula, property: 'color' },\n nameTextColor: { ...name, property: 'color' },\n quoteTextColor: { ...quote, property: 'color' },\n selectorTagTextColor: { ...selectorTag, property: 'color' },\n selectorPseudoTextColor: { ...selectorPseudo, property: 'color' },\n substTextColor: { ...subst, property: 'color' },\n sectionTextColor: { ...section, property: 'color' },\n bulletTextColor: { ...bullet, property: 'color' },\n emphasisTextColor: { ...emphasis, property: 'color' },\n strongTextColor: { ...strong, property: 'color' },\n additionTextColor: { ...addition, property: 'color' },\n additionBgColor: { ...addition, property: 'background-color' },\n deletionTextColor: { ...deletion, property: 'color' },\n deletionBgColor: { ...deletion, property: 'background-color' },\n charEscapeTextColor: { ...charEscape, property: 'color' },\n linkTextColor: { ...link, property: 'color' },\n paramsTextColor: { ...params, property: 'color' },\n propertyTextColor: { ...property, property: 'color' },\n punctuationTextColor: { ...punctuation, property: 'color' },\n tagTextColor: { ...tag, property: 'color' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(CodeSnippet);\n","import { componentName, CodeSnippetClass } from './CodeSnippetClass';\n\ncustomElements.define(componentName, CodeSnippetClass);\n\nexport { CodeSnippetClass };\n","import { toTitle } from '../../helpers';\n\nexport const isValidDataType = (data) => {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n};\n\nexport const isPlainObject = (value) => value?.constructor === Object;\n\nconst isXml = (str) => /^\\s*<[\\s\\S]*>/.test(str);\n\nconst escapeXML = (s) => {\n const dom = document.createElement('div');\n dom.textContent = s;\n return dom.innerHTML;\n};\n\nexport const getValueType = (value) => {\n if (isPlainObject(value)) return 'object';\n if (Array.isArray(value)) return 'array';\n if (isXml(value)) return 'xml';\n\n return 'text';\n};\n\nexport const renderCodeSnippet = (value, lang) =>\n `<descope-code-snippet lang=\"${lang}\" class=\"row-details__value code\">${value}</descope-code-snippet>`;\n\nexport const renderText = (text) =>\n `<div class=\"row-details__value text\" title=\"${text}\">${text}</div>`;\nconst renderJson = (value) => renderCodeSnippet(JSON.stringify(value, null, 2), 'json');\nconst renderXml = (value) => renderCodeSnippet(escapeXML(value), 'xml');\n\nconst defaultRowDetailsValueRenderer = (value) => {\n const valueType = getValueType(value);\n\n if (valueType === 'object') {\n return renderJson(value);\n }\n\n if (valueType === 'xml') {\n return renderXml(value);\n }\n\n if (valueType === 'array') {\n if (value.some((v) => getValueType(v) === 'object')) {\n return renderJson(value);\n }\n return renderText(value.join(',\\n'));\n }\n\n return renderText(value);\n};\n\nexport const defaultRowDetailsRenderer = (item, itemLabelsMapping) => {\n return `\n <div class=\"row-details\">\n ${Object.entries(item)\n .map(\n ([key, value]) =>\n `<div class=\"row-details__item\" >\n <div class=\"row-details__label\">${itemLabelsMapping[key] || toTitle(key)}</div>\n ${defaultRowDetailsValueRenderer(value)}\n </div>`\n )\n .join('\\n')}\n</div>\n `;\n};\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n draggableMixin,\n} from '../../mixins';\n\nimport { defaultRowDetailsRenderer, isValidDataType } from './helpers';\n\nexport const componentName = getComponentName('grid');\n\nconst GridMixin = (superclass) =>\n class GridMixinClass extends superclass {\n #columns;\n\n init() {\n super.init?.();\n this.handleColumns();\n this.forwardSelectedItemsChange();\n\n // disable the grid sort\n this.baseElement._mapSorters = () => {};\n\n // there is an issue in vaadin that on some cases when trying to render the details panel, the row is null and this fn throwing\n // so we override it to prevent the error\n const origUpdateDetailsCellHeight = this.baseElement._updateDetailsCellHeight;\n this.baseElement._updateDetailsCellHeight = (row) => {\n if (!row) return;\n origUpdateDetailsCellHeight.call(this.baseElement, row);\n };\n\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }\n\n // this renders the details panel content\n // in order to open it, the descope-grid-item-details-column should be used\n #rowDetailsRenderer = async (cell, _col, model) => {\n // prevent details panel from being scrolled into view when clicked\n cell.addEventListener('mousedown', (e) => e.stopImmediatePropagation(), true);\n\n const template = this.getRowDetailsTemplate(model.item);\n\n // eslint-disable-next-line no-param-reassign\n cell.innerHTML = '';\n cell.append(template.content.cloneNode(true));\n };\n\n getRowDetailsTemplate(item) {\n const itemLabelsMapping = this.#columns.reduce(\n (acc, { path, header }) => (!path || !header ? acc : { ...acc, [path]: header }),\n {}\n );\n const template =\n this.rowDetailsRenderer?.(item, itemLabelsMapping) ??\n defaultRowDetailsRenderer(item, itemLabelsMapping);\n\n switch (true) {\n case template instanceof HTMLTemplateElement:\n return template;\n case typeof template === 'string':\n return Object.assign(document.createElement('template'), { innerHTML: template });\n default:\n throw new Error('rowDetailsRenderer should return a string or a template');\n }\n }\n\n forwardSelectedItemsChange() {\n this.baseElement.addEventListener('selected-items-changed', (e) => {\n this.dispatchEvent(\n new CustomEvent('selected-items-changed', {\n bubbles: true,\n composed: true,\n detail: e.detail,\n })\n );\n });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'columns') {\n this.setColumnsDataFromAttr();\n }\n }\n\n handleColumns() {\n if (this.columnsAttr) {\n this.setColumnsDataFromAttr();\n } else if (this.children.length) {\n this.setColumnsFromChildren();\n }\n }\n\n setColumnsFromChildren() {\n this.#columns = Array.from(this.children).map((child) => {\n return {\n path: child.getAttribute('path'),\n header: child.getAttribute('header'),\n type: child.localName.match('^descope-grid-(\\\\w+)-column$')?.[1] || 'text',\n\n attrs: ['frozen', 'resizable', 'auto-width', 'status'].reduce((acc, attrName) => {\n const attrVal = child.getAttribute(attrName);\n\n if (attrVal) {\n acc[attrName] = attrVal;\n }\n\n return acc;\n }, {}),\n };\n });\n }\n\n get columnsAttr() {\n return this.getAttribute('columns');\n }\n\n setColumnsDataFromAttr() {\n try {\n const data = JSON.parse(this.columnsAttr);\n if (isValidDataType(data)) {\n this.columns = data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"columns\" -', e.message);\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n #renderColumn = ({ path, header, type, attrs }) => {\n const colAttrs = Object.entries(attrs)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(' ');\n\n const tagName = `descope-grid-${type}-column`;\n\n return `<${tagName} header=\"${header}\" path=\"${path}\" ${colAttrs}></${tagName}>`;\n };\n\n get renderColumn() {\n return this.#renderColumn;\n }\n\n set renderColumn(renderFn) {\n this.#renderColumn = renderFn;\n this.renderColumns();\n }\n\n getColumnsTemplate() {\n return this.#columns?.reduce?.(\n (acc, item) => acc + (this.renderColumn?.(item || {}) || ''),\n ''\n );\n }\n\n // there is an issue in vaadin-grid, when rowDetailsRenderer is set, it renders an empty details panel\n reassignRowDetailsRenderer() {\n this.baseElement.rowDetailsRenderer = null;\n setTimeout(() => {\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }, 0);\n }\n\n renderColumns() {\n const template = this.getColumnsTemplate();\n if (template) {\n this.reassignRowDetailsRenderer();\n this.innerHTML = template;\n }\n }\n\n get grid() {\n return this.shadowRoot.querySelector('vaadin-grid');\n }\n\n get data() {\n return this.grid.items;\n }\n\n set data(data) {\n if (isValidDataType(data) && this.grid.items !== data) {\n this.grid.items = data;\n\n if (this.grid.selectedItems) {\n const itemsIds = new Set(\n this.grid.items.map((item) => item[this.uniqueColumnId] ?? item)\n );\n\n const newSelectedItems = this.grid.selectedItems.filter((selectedItem) =>\n itemsIds.has(selectedItem[this.uniqueColumnId] ?? selectedItem)\n );\n\n // we want to update the selected items only if there is a reason,\n // to prevent redundant notifications\n if (this.grid.selectedItems.length !== newSelectedItems.length) {\n this.grid.selectedItems = newSelectedItems;\n }\n }\n }\n }\n\n get columns() {\n return this.#columns;\n }\n\n set columns(data) {\n this.#columns = data;\n this.renderColumns();\n }\n\n get paths() {\n return this.columns.map((col) => col.path);\n }\n\n get uniqueColumnId() {\n return this.getAttribute('unique-column-id');\n }\n };\n\nconst {\n host,\n headerRow,\n headerRowCell,\n contentRow,\n firstRow,\n sortIndicators,\n activeSortIndicator,\n selectedRow,\n rowSeparator,\n resizeHandle,\n toggleDetailsPanelButton,\n toggleDetailsPanelButtonOpened,\n toggleDetailsPanelButtonClosed,\n detailsPanel,\n detailsPanelLabels,\n selectedRowCell,\n detailsPanelContent,\n} = {\n host: { selector: () => 'vaadin-grid' },\n headerRow: { selector: () => '::part(header-cell)' },\n headerRowCell: { selector: () => 'vaadin-grid::part(header-cell)' },\n contentRow: { selector: () => '::part(cell)' },\n firstRow: { selector: () => '::part(first-header-row-cell)' },\n selectedRow: { selector: () => '::part(selected-row)' },\n selectedRowCell: { selector: () => '::part(selected-row-cell)' },\n sortIndicators: { selector: () => 'vaadin-grid-sorter::part(indicators)' },\n activeSortIndicator: { selector: () => 'vaadin-grid-sorter[direction]' },\n rowSeparator: { selector: () => 'vaadin-grid::part(body-cell)' },\n resizeHandle: { selector: () => '::part(resize-handle)' },\n toggleDetailsPanelButton: { selector: () => 'vaadin-grid vaadin-icon.toggle-details-button' },\n toggleDetailsPanelButtonOpened: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.opened',\n },\n toggleDetailsPanelButtonClosed: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.closed',\n },\n detailsPanel: { selector: () => 'vaadin-grid::part(details-cell)' },\n detailsPanelLabels: { selector: () => 'vaadin-grid .row-details__label' },\n detailsPanelContent: { selector: () => 'vaadin-grid .row-details' },\n};\n\nexport const GridClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostHeight: { selector: () => ':host', property: 'height' },\n hostMinHeight: { selector: () => ':host', property: 'min-height' },\n fontFamily: [{ ...headerRow }, { ...contentRow }],\n fontSize: [{ ...headerRow }, { ...contentRow }],\n fontWeight: { ...contentRow },\n valueTextColor: { ...contentRow, property: 'color' },\n backgroundColor: [\n { ...host, property: 'background-color' },\n { ...contentRow, property: 'background-color' },\n ],\n sortIndicatorsColor: { ...sortIndicators, property: 'color' },\n activeSortIndicator: { ...activeSortIndicator, property: 'color' },\n borderColor: { ...host, property: 'border-color' },\n borderWidth: { ...host, property: 'border-width' },\n borderStyle: { ...host, property: 'border-style' },\n borderRadius: { ...host, property: 'border-radius' },\n selectedBackgroundColor: [\n { ...selectedRow, property: 'background-color' },\n { ...selectedRowCell, property: 'background-color' },\n ],\n headerRowTextColor: { ...headerRowCell, property: 'color' },\n separatorColor: [\n { ...firstRow, property: 'border-bottom-color' },\n { ...rowSeparator, property: 'border-top-color' },\n ],\n resizeHandleColor: { ...resizeHandle, property: 'background-color' },\n hostDirection: { ...host, property: 'direction', fallback: 'ltr' },\n toggleDetailsPanelButtonSize: [\n { ...toggleDetailsPanelButton, property: 'width' },\n { ...toggleDetailsPanelButton, property: 'height' },\n ],\n toggleDetailsPanelButtonOpenedColor: { ...toggleDetailsPanelButtonOpened, property: 'color' },\n toggleDetailsPanelButtonClosedColor: { ...toggleDetailsPanelButtonClosed, property: 'color' },\n toggleDetailsPanelButtonCursor: { ...toggleDetailsPanelButton, property: 'cursor' },\n detailsPanelBackgroundColor: { ...detailsPanel, property: 'background-color' },\n detailsPanelBorderTopColor: { ...detailsPanel, property: 'border-top-color' },\n detailsPanelLabelsColor: { ...detailsPanelLabels, property: 'color' },\n detailsPanelLabelsFontSize: { ...detailsPanelLabels, property: 'font-size' },\n detailsPanelItemsGap: { ...detailsPanelContent, property: 'grid-gap' },\n detailsPanelPadding: { ...detailsPanelContent, property: 'padding' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n GridMixin\n)(\n createProxy({\n delegatesFocus: false,\n slots: [''],\n wrappedEleName: 'vaadin-grid',\n style: () => `\n /*css*/\n vaadin-grid {\n overflow: hidden;\n height: 100%;\n min-height: 300px;\n }\n vaadin-grid-cell-content {\n display: flex;\n }\n vaadin-grid::part(selected-row-cell) {\n background-image: none;\n box-shadow: none;\n background-color: inherit;\n }\n vaadin-grid::part(details-cell) {\n border-top-style: dashed;\n border-top-width: 1px;\n }\n vaadin-grid .row-details {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(max(200px, calc(100%/4 - var(${GridClass.cssVarList.detailsPanelItemsGap}))), 1fr));\n width: 100%;\n }\n vaadin-grid .row-details__item:has(.row-details__value.code) {\n grid-column: 1 / -1;\n order: 2;\n }\n vaadin-grid .row-details__value.text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n }\n vaadin-grid .row-details__value.code {\n margin-top: 5px;\n max-height: 120px;\n overflow: scroll;\n font-size: 0.85em;\n }\n vaadin-grid vaadin-icon.toggle-details-button {\n margin: auto;\n }\n /*!css*/\n\t\t`,\n excludeAttrsSync: ['columns', 'tabindex'],\n componentName,\n })\n);\n","import '@vaadin/grid';\nimport './descope-grid-text-column';\nimport './descope-grid-custom-column';\nimport './descope-grid-selection-column';\nimport './descope-grid-item-details-column';\nimport '../descope-code-snippet'; // this is needed for the details panel\n\nimport { componentName, GridClass } from './GridClass';\n\ncustomElements.define(componentName, GridClass);\n\nexport { GridClass };\n","import { compose, compareArraysUnordered } from '../../helpers';\nimport {\n forwardAttrs,\n getComponentName,\n observeAttributes,\n observeChildren,\n} from '../../helpers/componentHelpers';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n resetInputPlaceholder,\n resetInputReadonlyStyle,\n useHostExternalPadding,\n inputFloatingLabelStyle,\n} from '../../helpers/themeHelpers/resetHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n portalMixin,\n proxyInputMixin,\n changeMixin,\n} from '../../mixins';\n\nexport const componentName = getComponentName('multi-select-combo-box');\n\nconst multiSelectComboBoxMixin = (superclass) =>\n class MultiSelectComboBoxMixinClass extends superclass {\n static get observedAttributes() {\n return ['readonly'];\n }\n\n // eslint-disable-next-line class-methods-use-this\n #renderItem = ({ displayName, value, label }) => {\n return `<span data-name=\"${label}\" data-id=\"${value}\">${displayName || label}</span>`;\n };\n\n #data;\n\n #value = [];\n\n get defaultValues() {\n const defaultValuesAttr = this.getAttribute('default-values');\n if (defaultValuesAttr) {\n try {\n const defaultValues = JSON.parse(defaultValuesAttr);\n if (this.isValidDataType(defaultValues)) {\n return defaultValues;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"default-values\" -', e.message);\n }\n }\n return [];\n }\n\n get renderItem() {\n return this.#renderItem;\n }\n\n set renderItem(renderFn) {\n this.#renderItem = renderFn;\n this.renderItems();\n }\n\n get data() {\n if (this.#data) return this.#data;\n\n const dataAttr = this.getAttribute('data');\n\n if (dataAttr) {\n try {\n const data = JSON.parse(dataAttr);\n if (this.isValidDataType(data)) {\n return data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"data\" -', e.message);\n }\n }\n\n return [];\n }\n\n set data(data) {\n if (this.isValidDataType(data)) {\n this.#data = data;\n this.renderItems();\n }\n }\n\n get allowCustomValues() {\n return this.getAttribute('allow-custom-value') === 'true';\n }\n\n get minItemsSelection() {\n return parseInt(this.getAttribute('min-items-selection'), 10) || 0;\n }\n\n get maxItemsSelection() {\n return parseInt(this.getAttribute('max-items-selection'), 10) || 0;\n }\n\n // eslint-disable-next-line class-methods-use-this\n isValidDataType(data) {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data and default-values must be an array, received:', data);\n }\n\n return isValid;\n }\n\n getItemsTemplate() {\n return this.data?.reduce?.((acc, item) => acc + (this.renderItem?.(item || {}) || ''), '');\n }\n\n renderItems() {\n const template = this.getItemsTemplate();\n if (template) this.innerHTML = template;\n }\n\n updateSelectedItems() {\n // This is a list of all the selected items, including ones that may have been removed from the DOM\n const currentSelected =\n this.baseElement.selectedItems?.map((item) => item.getAttribute('data-id')) || [];\n\n // if there are selected items, we want to trigger a potential update to the value if some child elements were removed\n if (currentSelected.length > 0) {\n // setting the value checks that the selected items are still in the DOM and will not set the value if they are not\n this.value = currentSelected;\n }\n\n // otherwise, if default value is specified, set default value as selected item\n if (this.value.length === 0) {\n this.setDefaultValues();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n customValueTransformFn(val) {\n return val;\n }\n\n // We want to override Vaadin's Combo Box value setter. This is needed since Vaadin couples between the\n // field that it searches the value, and the finaly display value of the input.\n // We provide a custom transform function to override that behavior.\n setComboBoxDescriptor() {\n const valueDescriptor = Object.getOwnPropertyDescriptor(\n this.inputElement.constructor.prototype,\n 'value'\n );\n\n const comboBox = this;\n\n Object.defineProperties(this.inputElement, {\n value: {\n ...valueDescriptor,\n set(val) {\n const transformedValue = comboBox.customValueTransformFn(val) || '';\n\n if (transformedValue === this.value) {\n return;\n }\n\n valueDescriptor.set.call(this, transformedValue);\n },\n },\n });\n }\n\n // To prevent duplicate items for the multi select options, we dedup them based on the \"data-id\" attribute\n // eslint-disable-next-line class-methods-use-this\n #dedupItems(items) {\n return Array.from(\n new Map(items.map((item) => [item.getAttribute('data-id'), item])).values()\n );\n }\n\n // vaadin api is to set props on their combo box node,\n // in order to avoid it, we are passing the children of this component\n // to the items & renderer props, so it will be used as the combo box items\n #onChildrenChange() {\n const items = Array.from(this.children);\n const dedupItems = this.#dedupItems(items);\n\n // we want the data-name attribute to be accessible as an object attribute\n if (items.length) {\n this.removeAttribute('has-no-options');\n\n dedupItems.forEach((node) => {\n Object.defineProperty(node, 'data-name', {\n value: node.getAttribute('data-name'),\n configurable: true,\n writable: true,\n });\n Object.defineProperty(node, 'data-id', {\n value: node.getAttribute('data-id'),\n configurable: true,\n writable: true,\n });\n });\n\n this.baseElement.items = dedupItems;\n\n setTimeout(() => {\n // set timeout to ensure this runs after customValueTransformFn had the chance to be overriden\n this.updateSelectedItems();\n }, 0);\n } else {\n this.baseElement.items = [];\n this.setAttribute('has-no-options', '');\n }\n\n // use vaadin combobox custom renderer to render options as HTML\n // and not via default renderer, which renders only the data-name's value\n // in its own HTML template\n this.baseElement.renderer = (root, combo, model) => {\n // eslint-disable-next-line no-param-reassign\n root.innerHTML = model.item.outerHTML;\n };\n }\n\n // the default vaadin behavior is to attach the overlay to the body when opened\n // we do not want that because it's difficult to style the overlay in this way\n // so we override it to open inside the shadow DOM\n #overrideOverlaySettings() {\n const overlay = this.baseElement.shadowRoot\n .querySelector('vaadin-multi-select-combo-box-internal')\n .shadowRoot.querySelector('vaadin-multi-select-combo-box-overlay');\n overlay._attachOverlay = () => {\n overlay.bringToFront();\n };\n overlay._detachOverlay = () => {};\n overlay._enterModalState = () => {};\n }\n\n #handleCustomValues() {\n if (this.allowCustomValues) {\n this.baseElement.addEventListener('custom-value-set', (e) => {\n const newItemHtml = this.#renderItem({\n label: e.detail,\n displayName: e.detail,\n value: e.detail,\n });\n this.innerHTML += newItemHtml;\n // The internal filter needs to be removed, otherwise there's a bug where a new custom item\n // added can't be removed from the dropdown because of how the vaadin component is implemented\n this.baseElement._lastFilter = '';\n // The value needs to be set with a timeout because it needs to execute after\n // the custom value is added to items by the children change observer\n setTimeout(() => {\n this.value = [...this.value, e.detail];\n }, 0);\n });\n }\n }\n\n setGetValidity() {\n // eslint-disable-next-line func-names\n this.getValidity = function () {\n if (this.isRequired && !this.value.length) {\n return {\n valueMissing: true,\n };\n }\n // If the field is not required, no minimum selection can be set\n if (\n this.isRequired &&\n this.minItemsSelection &&\n this.value.length < this.minItemsSelection\n ) {\n return {\n rangeUnderflow: true,\n };\n }\n if (this.maxItemsSelection && this.value.length > this.maxItemsSelection) {\n return {\n rangeOverflow: true,\n };\n }\n return {};\n };\n\n // This is required to override the default validity check of the vaadin component\n // which is triggered when the component is checked for validity after blur\n // Without this, our minItemsSelection and maxItemsSelection constraints will not be checked\n const that = this;\n // eslint-disable-next-line func-names\n this.baseElement.checkValidity = () => {\n return that.validity.valid;\n };\n }\n\n init() {\n super.init?.();\n\n this.setGetValidity();\n\n this.setComboBoxDescriptor();\n\n this.#overrideOverlaySettings();\n\n this.#handleCustomValues();\n\n this.renderItems();\n\n observeAttributes(this, this.renderItems.bind(this), { includeAttrs: ['data'] });\n\n observeChildren(this, this.#onChildrenChange.bind(this));\n\n // Note: we need to forward the `placeholder` because the vaadin component observes it and\n // tries to override it, causing us to lose the user set placeholder.\n forwardAttrs(this, this.baseElement, { includeAttrs: ['placeholder'] });\n\n this.setDefaultValues();\n\n this.baseElement.addEventListener('selected-items-changed', () => {\n this.#updateInternalValue();\n this.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n });\n }\n\n setDefaultValues() {\n const initialDefaultValues = this.defaultValues;\n if (initialDefaultValues.length > 0) {\n this.value = this.defaultValues;\n }\n }\n\n #updateInternalValue() {\n // This is done here because we don't want to return a different copy of the same array\n // every time get value is called if a new value wasn't set\n this.#value =\n this.baseElement.selectedItems?.map((elem) => elem.getAttribute('data-id')) || [];\n }\n\n // Updating the value will update the selectedItems, which will trigger an event 'selected-items-changed'\n // which we listen to in the init function to update the internal value\n set value(vals) {\n if (vals && vals.length > 0) {\n // Filters the children of the component to find the ones that match the values,\n // since it's possible that some values that are trying to set are not in the children\n const selectedChildren = this.baseElement.items?.filter((item) =>\n vals.includes(item['data-id'])\n );\n\n // If the component allows custom values, we need to add the values that are not present in the children\n if (this.allowCustomValues) {\n const existingValues =\n selectedChildren?.map((child) => child.getAttribute('data-id')) || [];\n const missingValues = vals.filter((val) => !existingValues.includes(val));\n\n if (missingValues.length) {\n const newItemsHtml = missingValues.reduce((acc, val) => {\n const newItemHtml = this.#renderItem({\n label: val,\n displayName: val,\n value: val,\n });\n return acc + newItemHtml;\n }, '');\n this.innerHTML += newItemsHtml;\n\n // The value needs to be set with a timeout because it needs to execute after\n // the custom values are added to the items by the children change observer\n setTimeout(() => {\n this.value = vals;\n }, 0);\n return;\n }\n }\n\n const newSelectedValues =\n selectedChildren?.map((child) => child.getAttribute('data-id')) || [];\n if (!compareArraysUnordered(this.#value, newSelectedValues)) {\n this.baseElement.selectedItems = selectedChildren;\n }\n } else {\n this.baseElement.selectedItems = [];\n }\n }\n\n get value() {\n return this.#value;\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'readonly') {\n this.onReadOnlyChange(newValue !== null && newValue === 'true');\n }\n }\n\n onReadOnlyChange(val) {\n if (val) {\n this.baseElement?.shadowRoot\n ?.querySelector('vaadin-multi-select-combo-box-internal')\n ?.setAttribute('inert', val);\n } else {\n this.baseElement?.shadowRoot\n ?.querySelector('vaadin-multi-select-combo-box-internal')\n ?.removeAttribute('inert');\n }\n }\n };\n\nconst {\n host,\n inputField,\n inputElement,\n placeholder,\n toggle,\n clearButton,\n label,\n requiredIndicator,\n helperText,\n errorMessage,\n chip,\n chipLabel,\n overflowChipFirstBorder,\n overflowChipSecondBorder,\n} = {\n host: { selector: () => ':host' },\n inputField: { selector: '::part(input-field)' },\n inputElement: { selector: 'input' },\n placeholder: { selector: '> input:placeholder-shown' },\n toggle: { selector: '::part(toggle-button)' },\n clearButton: { selector: '::part(clear-button)' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n chip: { selector: 'vaadin-multi-select-combo-box-chip' },\n chipLabel: { selector: 'vaadin-multi-select-combo-box-chip::part(label)' },\n overflowChipFirstBorder: {\n selector: \"vaadin-multi-select-combo-box-chip[slot='overflow']::before\",\n },\n overflowChipSecondBorder: {\n selector: \"vaadin-multi-select-combo-box-chip[slot='overflow']::after\",\n },\n};\n\nexport const MultiSelectComboBoxClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host],\n chipFontSize: { ...chipLabel, property: 'font-size' },\n fontFamily: [label, placeholder, inputField, helperText, errorMessage, chipLabel],\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n inputHeight: { ...inputField, property: 'min-height' },\n inputBackgroundColor: { ...inputField, property: 'background-color' },\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n inputValueTextColor: { ...inputField, property: 'color' },\n inputPlaceholderTextColor: { ...placeholder, property: 'color' },\n inputDropdownButtonCursor: [\n { ...toggle, property: 'cursor' },\n { ...clearButton, property: 'cursor' },\n ],\n inputDropdownButtonColor: [\n { ...toggle, property: 'color' },\n { ...clearButton, property: 'color' },\n ],\n inputDropdownButtonSize: [\n { ...toggle, property: 'font-size' },\n { ...clearButton, property: 'font-size' },\n ],\n inputDropdownButtonOffset: [\n { ...toggle, property: 'margin-right' },\n { ...toggle, property: 'margin-left' },\n ],\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n inputHorizontalPadding: [\n { ...inputElement, property: 'padding-left' },\n { ...inputElement, property: 'padding-right' },\n { ...inputField, property: 'padding-inline-start' },\n ],\n inputVerticalPadding: [\n { ...inputField, property: 'padding-top' },\n { ...inputField, property: 'padding-bottom' },\n ],\n chipTextColor: { ...chipLabel, property: 'color' },\n chipBackgroundColor: [\n { ...chip, property: 'background-color' },\n { ...overflowChipFirstBorder, property: 'border-color' },\n { ...overflowChipSecondBorder, property: 'border-color' },\n ],\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelLeftPosition: { ...label, property: 'left' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: { ...placeholder, property: 'opacity' },\n inputVerticalAlignment: { ...inputField, property: 'align-items' },\n\n // we need to use the variables from the portal mixin\n // so we need to use an arrow function on the selector\n // for that to work, because ComboBox is not available\n // at this time.\n overlayBackground: {\n property: () => MultiSelectComboBoxClass.cssVarList.overlay.backgroundColor,\n },\n overlayTextColor: {\n property: () => MultiSelectComboBoxClass.cssVarList.overlay.textColor,\n },\n overlayBorder: { property: () => MultiSelectComboBoxClass.cssVarList.overlay.border },\n overlayFontSize: { property: () => MultiSelectComboBoxClass.cssVarList.overlay.fontSize },\n overlayFontFamily: { property: () => MultiSelectComboBoxClass.cssVarList.overlay.fontFamily },\n overlayCursor: { property: () => MultiSelectComboBoxClass.cssVarList.overlay.cursor },\n overlayItemBoxShadow: {\n property: () => MultiSelectComboBoxClass.cssVarList.overlay.itemBoxShadow,\n },\n overlayItemPaddingInlineStart: {\n property: () => MultiSelectComboBoxClass.cssVarList.overlay.itemPaddingInlineStart,\n },\n overlayItemPaddingInlineEnd: {\n property: () => MultiSelectComboBoxClass.cssVarList.overlay.itemPaddingInlineEnd,\n },\n },\n }),\n draggableMixin,\n portalMixin({\n name: 'overlay',\n selector: 'vaadin-multi-select-combo-box-internal',\n mappings: {\n backgroundColor: { selector: 'vaadin-multi-select-combo-box-scroller' },\n minHeight: { selector: 'vaadin-multi-select-combo-box-overlay' },\n margin: { selector: 'vaadin-multi-select-combo-box-overlay' },\n cursor: { selector: 'vaadin-multi-select-combo-box-item' },\n fontFamily: { selector: 'vaadin-multi-select-combo-box-item' },\n textColor: { selector: 'vaadin-multi-select-combo-box-item', property: 'color' },\n fontSize: { selector: 'vaadin-multi-select-combo-box-item' },\n itemBoxShadow: { selector: 'vaadin-multi-select-combo-box-item', property: 'box-shadow' },\n itemPaddingInlineStart: {\n selector: 'vaadin-multi-select-combo-box-item',\n property: 'padding-inline-start',\n },\n itemPaddingInlineEnd: {\n selector: 'vaadin-multi-select-combo-box-item',\n property: 'padding-inline-end',\n },\n },\n forward: {\n include: false,\n attributes: ['size'],\n },\n }),\n proxyInputMixin({ proxyProps: ['selectionStart'], inputEvent: 'selected-items-changed' }),\n changeMixin,\n componentNameValidationMixin,\n multiSelectComboBoxMixin\n)(\n createProxy({\n slots: ['', 'prefix'],\n wrappedEleName: 'vaadin-multi-select-combo-box',\n style: () => `\n\t\t:host {\n\t\t\tdisplay: inline-flex;\n\t\t\tbox-sizing: border-box;\n\t\t\t-webkit-mask-image: none;\n\t\t}\n\t\t${useHostExternalPadding(MultiSelectComboBoxClass.cssVarList)}\n\t\t${resetInputReadonlyStyle('vaadin-multi-select-combo-box')}\n\t\t${resetInputPlaceholder('vaadin-multi-select-combo-box')}\n\t\t${resetInputCursor('vaadin-multi-select-combo-box')}\n\n\t\tvaadin-multi-select-combo-box {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t\tvaadin-multi-select-combo-box::before {\n\t\t\theight: initial;\n\t\t}\n\t\tvaadin-multi-select-combo-box [slot=\"input\"] {\n\t\t\t-webkit-mask-image: none;\n\t\t\tmin-height: 0;\n align-self: center;\n\t\t\tbox-sizing: border-box;\n\t\t}\n\t\tvaadin-multi-select-combo-box[readonly] [slot=\"input\"] {\n flex-grow: 1;\n flex-basis: 4em;\n\t\t}\n\n\t\t::part(input-field) {\n padding: 0;\n\t\t\tbox-shadow: none;\n\t\t}\n ${resetInputLabelPosition('vaadin-multi-select-combo-box')}\n :host([has-label]) vaadin-multi-select-combo-box-chip::part(label) {\n display: block;\n }\n\n vaadin-multi-select-combo-box vaadin-multi-select-combo-box-chip[slot='overflow']::before,\n vaadin-multi-select-combo-box vaadin-multi-select-combo-box-chip[slot='overflow']::after {\n left: -4px;\n right: -4px;\n border-left-width: 0;\n border-inline-start-style: solid;\n border-inline-start-width: 2px;\n }\n vaadin-multi-select-combo-box vaadin-multi-select-combo-box-chip[slot='overflow']::after {\n left: -8px;\n right: -8px;\n }\n\n :host([has-no-options][allow-custom-value='true']) ::part(toggle-button) {\n display: none;\n }\n\n ${inputFloatingLabelStyle()}\n\n vaadin-multi-select-combo-box::part(toggle-button),\n vaadin-multi-select-combo-box::part(clear-button) {\n align-self: center;\n }\n\n vaadin-multi-select-combo-box[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-multi-select-combo-box[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\n\t\t`,\n // Note: we exclude `size` to avoid overriding Vaadin's ComboBox property\n // with the same name. Including it will cause Vaadin to calculate NaN size,\n // and reset items to an empty array, and opening the list box with no items\n // to display.\n // Note: we exclude `placeholder` because the vaadin component observes it and\n // tries to override it, causing us to lose the user set placeholder.\n excludeAttrsSync: ['tabindex', 'size', 'data', 'placeholder'],\n componentName,\n includeForwardProps: ['items', 'renderer', 'selectedItems'],\n })\n);\n","import '@vaadin/multi-select-combo-box';\nimport { componentName, MultiSelectComboBoxClass } from './MultiSelectComboBoxClass';\n\ncustomElements.define(componentName, MultiSelectComboBoxClass);\n\nexport { MultiSelectComboBoxClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('badge');\n\nclass RawBadge extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\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\t\t</style>\n\t\t<div>\n <slot></slot>\n\t\t</div>\n\t\t`;\n }\n}\n\nexport const BadgeClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: [{ selector: () => ':host', property: 'width' }],\n hostDirection: { property: 'direction' },\n\n fontFamily: {},\n fontSize: {},\n fontWeight: {},\n textTransform: {},\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],\n\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n borderRadius: {},\n\n backgroundColor: {},\n\n textColor: { property: 'color' },\n textAlign: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawBadge);\n","import { componentName, BadgeClass } from './BadgeClass';\n\ncustomElements.define(componentName, BadgeClass);\n\nexport { BadgeClass };\n","import { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n portalMixin,\n} from '../../mixins';\n\nexport const componentName = getComponentName('modal');\n\nconst customMixin = (superclass) =>\n class ModalMixinClass extends superclass {\n get opened() {\n return this.getAttribute('opened') === 'true';\n }\n\n handleOpened() {\n forwardAttrs(this, this.baseElement, { includeAttrs: ['opened'] });\n if (this.opened) {\n this.style.display = '';\n } else {\n this.style.display = 'none';\n }\n }\n\n init() {\n super.init?.();\n this.style.display = 'none';\n\n // vaadin-dialog might not be loaded in time\n // in order to make sure it's loaded before this block is running\n // we are wrapping it with setTimeout\n setTimeout(() => {\n // we want to sync descope-modal content through vaadin-dialog into the overlay\n // so we are adding a slot to the overlay, which allows us to forward the content from\n // vaadin-dialog to vaadin-dialog-overlay\n this.baseElement.shadowRoot\n .querySelector('vaadin-dialog-overlay')\n .appendChild(document.createElement('slot'));\n\n this.#overrideOverlaySettings();\n\n // we need to always open the modal in `opened=false`\n // to prevent it from rendering outside the dialog\n // first, we have to run `overrideOverlaySettings` to setup\n // the component.\n this.handleOpened();\n });\n }\n\n // the default vaadin behavior is to attach the overlay to the body when opened\n // we do not want that because it's difficult to style the overlay in this way\n // so we override it to open inside the shadow DOM\n #overrideOverlaySettings() {\n const overlay = this.baseElement.shadowRoot.querySelector('vaadin-dialog-overlay');\n\n overlay._attachOverlay = () => {\n overlay.bringToFront();\n this.baseElement.setAttribute('style', 'display:flex!important;');\n };\n overlay._detachOverlay = () => {\n this.baseElement.style.display = 'none';\n };\n overlay._enterModalState = () => {};\n\n overlay.close = () => false;\n }\n };\n\nexport const ModalClass = compose(\n createStyleMixin({\n mappings: {\n overlayBackgroundColor: { property: () => ModalClass.cssVarList.overlay.backgroundColor },\n overlayShadow: { property: () => ModalClass.cssVarList.overlay.shadow },\n overlayWidth: { property: () => ModalClass.cssVarList.overlay.width },\n },\n }),\n portalMixin({\n name: 'overlay',\n selector: '',\n mappings: {\n hostDisplay: {\n selector: () => ':host(.descope-modal)',\n property: 'display',\n important: true,\n },\n backgroundColor: [\n { selector: () => '::part(content)', property: 'background-color' },\n { selector: () => '::part(overlay)', property: 'background-color' },\n ],\n width: { selector: () => '::part(overlay)', property: 'width' },\n shadow: { selector: () => '::part(overlay)', property: 'box-shadow' },\n },\n forward: {\n include: false,\n attributes: ['opened'],\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [''],\n wrappedEleName: 'vaadin-dialog',\n style: () => ``,\n excludeAttrsSync: ['tabindex', 'opened'],\n componentName,\n })\n);\n","import '@vaadin/dialog';\nimport { componentName, ModalClass } from './ModalClass';\n\ncustomElements.define(componentName, ModalClass);\n\nexport { ModalClass };\n","import '@vaadin/notification';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nconst vaadinContainerClass = window.customElements.get('vaadin-notification-container');\n\nif (!vaadinContainerClass) {\n throw new Error('could not get vaadin-notification-container class');\n}\n\nclass NotificationContainerClass extends vaadinContainerClass {}\ncustomElements.define(getComponentName('notification-container'), NotificationContainerClass);\n\nexport { NotificationContainerClass };\n","import { compose } from '../../../helpers';\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { createStyleMixin, createProxy } from '../../../mixins';\n\nexport const componentName = getComponentName('notification-card');\n\nconst notificationCardMixin = (superclass) =>\n class NotificationCardMixinClass extends superclass {\n close() {\n // if animation is not applied to the element, the node will not be removed\n // from the DOM. We should avoid that. So, if in any case we allow\n // customizing the animation - we should check if animation is applied\n // and if it's not applied - remove the element from the DOM and dispatch\n // `card-closed` event.\n this.baseElement.addEventListener('animationend', () => {\n this.remove();\n this.dispatchEvent(new Event('card-closed'));\n });\n\n this.setAttribute('opened', 'false');\n }\n\n constructor() {\n super();\n\n this.baseElement.innerHTML = `\n <div part=\"root\">\n <div part=\"content\">\n <slot></slot>\n </div>\n <div part=\"close\">\n <slot name=\"close\"></slot>\n </div>\n </div>\n `;\n\n this.closeEle = this.shadowRoot.querySelector('[part=\"close\"]');\n }\n\n init() {\n super.init?.();\n\n this.closeEle.onclick = () => {\n this.close();\n };\n }\n };\n\nconst selectors = {\n content: () => 'vaadin-notification-card::part(content)',\n overlay: () => 'vaadin-notification-card::part(overlay)',\n};\n\nexport const NotificationCardClass = compose(\n createStyleMixin({\n mappings: {\n hostMinWidth: { selector: selectors.content, property: 'min-width' },\n fontFamily: {},\n fontSize: {},\n backgroundColor: { selector: selectors.content },\n textColor: { property: 'color' },\n boxShadow: {},\n borderWidth: { selector: selectors.content, property: 'border-width' },\n borderColor: { selector: selectors.content, property: 'border-color' },\n borderStyle: { selector: selectors.content, property: 'border-style' },\n borderRadius: [\n { selector: selectors.content, property: 'border-radius' },\n { selector: selectors.overlay, property: 'border-radius' },\n ],\n verticalPadding: [\n { selector: selectors.content, property: 'padding-top' },\n { selector: selectors.content, property: 'padding-bottom' },\n ],\n horizontalPadding: [\n { selector: selectors.content, property: 'padding-right' },\n { selector: selectors.content, property: 'padding-left' },\n ],\n },\n }),\n notificationCardMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-notification-card',\n style: () => `\n vaadin-notification-card {\n box-shadow: none;\n }\n ::part(overlay) {\n box-shadow: none;\n background: none;\n }\n\n [part=\"close\"] {\n cursor: pointer;\n display: flex;\n }\n\n [part=\"content\"] {\n display: flex;\n align-items: center;\n flex-grow: 1;\n }\n\n [part=\"root\"] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n }\n `,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/notification';\nimport { componentName, NotificationCardClass } from './NotificationCardClass';\n\ncustomElements.define(componentName, NotificationCardClass);\n\nexport { NotificationCardClass };\n","import { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../helpers/componentHelpers';\nimport {\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n hoverableMixin,\n} from '../../mixins';\n\nexport const componentName = getComponentName('notification');\n\nconst NotificationMixin = (superclass) =>\n class NotificationMixinClass extends superclass {\n #card;\n\n constructor() {\n super();\n\n const that = this;\n\n Object.defineProperty(this.baseElement, '_container', {\n get() {\n if (!NotificationMixinClass._container) {\n NotificationMixinClass._container = document.createElement(\n 'descope-notification-container'\n );\n\n // we are overriding the container position to be absolute because we want to keep in inside the flow/widget boundaries\n NotificationMixinClass._container.style.position = 'absolute';\n\n // we're adding the container to body to avoid Vaadin's container's `openChanged`\n // from breaking when trying to remove it directly from the body.\n document.body.appendChild(NotificationMixinClass._container);\n }\n\n if (!NotificationMixinClass._container.isConnected) {\n // Then, we're adding the container to the parentNode, which is the desired location\n // for us on the DOM\n setTimeout(() => that.parentNode.appendChild(NotificationMixinClass._container));\n }\n\n return NotificationMixinClass._container;\n },\n });\n\n Object.defineProperty(this.baseElement, '_card', {\n get() {\n return that.#card;\n },\n });\n\n // we want to replace the card with vaadin's remove notification so it will not throw\n this.baseElement._removeNotificationCard = this.close.bind(this);\n }\n\n close() {\n this.#card.close();\n }\n\n init() {\n super.init?.();\n\n this.createCard();\n\n forwardAttrs(this, this.#card);\n syncAttrs(this.#card, this, { includeAttrs: ['opened'] });\n\n this.baseElement.renderer = (cardRoot) => {\n Array.from(this.childNodes).forEach((child) => cardRoot.appendChild(child));\n };\n }\n\n // eslint-disable-next-line class-methods-use-this\n get isContainerEmpty() {\n return !NotificationMixinClass._container.children.length;\n }\n\n // eslint-disable-next-line class-methods-use-this\n removeContainer() {\n NotificationMixinClass._container.remove();\n }\n\n removeNotification() {\n // remove descope-notification from the DOM\n this.remove();\n // if needed, remove descope-notification-container\n if (this.isContainerEmpty) this.removeContainer();\n }\n\n createCard() {\n this.#card = document.createElement('descope-notification-card');\n this.#card.addEventListener('card-closed', this.removeNotification.bind(this));\n }\n };\n\nexport const NotificationClass = compose(\n draggableMixin,\n componentNameValidationMixin,\n hoverableMixin,\n NotificationMixin\n)(\n createProxy({\n wrappedEleName: 'vaadin-notification',\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/notification';\nimport './descope-notification-container';\nimport './descope-notification-card';\nimport { componentName, NotificationClass } from './NotificationClass';\n\ncustomElements.define(componentName, NotificationClass);\n\nexport { NotificationClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName, observeAttributes } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('avatar');\nclass RawAvatar extends createBaseClass({ componentName, baseSelector: ':host > .wrapper' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n .editableBadge {\n border: 1px solid;\n border-radius: 100%;\n height: fit-content;\n width: 25%;\n height: 25%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5%;\n box-sizing: border-box;\n position: absolute;\n bottom: 0;\n inset-inline-end: 0;\n }\n\n vaadin-icon {\n color: currentcolor;\n }\n\n vaadin-avatar {\n width: 100%;\n height: 100%;\n margin: 0;\n border: none\n }\n\n .wrapper {\n display: inline-flex;\n position: relative;\n width: 100%;\n height: 100%;\n }\n </style>\n\n\n <div class=\"wrapper\">\n <vaadin-avatar></vaadin-avatar>\n <div class=\"editableBadge\">\n <vaadin-icon icon=\"vaadin:pencil\"></vaadin-icon>\n </div>\n </div>\n\t\t`;\n\n this.avatarComponent = this.shadowRoot.querySelector('vaadin-avatar');\n\n forwardAttrs(this, this.avatarComponent, {\n includeAttrs: ['display-name', 'img', 'abbr'],\n mapAttrs: { 'display-name': 'name' },\n });\n\n const editableIcon = this.shadowRoot.querySelector('.editableBadge');\n\n observeAttributes(\n this,\n () => {\n editableIcon.style.display = this.isEditable ? '' : 'none';\n },\n { includeAttrs: ['editable'] }\n );\n }\n\n get isEditable() {\n return this.getAttribute('editable') === 'true';\n }\n}\n\nconst { host, editableBadge, avatar } = {\n host: { selector: () => ':host' },\n editableBadge: { selector: '> .editableBadge' },\n avatar: { selector: 'vaadin-avatar' },\n};\n\nexport const AvatarClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: [\n { ...host, property: 'width' },\n { ...host, property: 'min-width' },\n ],\n hostHeight: { ...host, property: 'height' },\n cursor: [avatar, host],\n hostDirection: { ...host, property: 'direction' },\n avatarTextColor: { ...avatar, property: 'color' },\n avatarBackgroundColor: { ...avatar, property: 'background-color' },\n editableIconColor: { ...editableBadge, property: 'color' },\n editableBorderColor: { ...editableBadge, property: 'border-color' },\n editableBackgroundColor: { ...editableBadge, property: 'background-color' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawAvatar);\n","import { componentName, AvatarClass } from './AvatarClass';\nimport '@vaadin/avatar';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\ncustomElements.define(componentName, AvatarClass);\n\nexport { AvatarClass };\n","import { componentName, IconClass } from './IconClass';\n\ncustomElements.define(componentName, IconClass);\n\nexport { IconClass };\n","import { createBaseInputClass } from '../../../../baseClasses/createBaseInputClass';\nimport {\n getComponentName,\n forwardAttrs,\n observeChildren,\n} from '../../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('mappings-field-internal');\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass MappingsFieldInternal extends BaseInputClass {\n #errorItem;\n\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], [\n 'label-value',\n 'label-attr',\n 'button-label',\n 'invalid',\n 'readonly',\n 'disabled',\n ]);\n }\n\n // eslint-disable-next-line class-methods-use-this\n isValidDataType(data) {\n try {\n return data.every(\n (obj) =>\n typeof obj === 'object' &&\n !Array.isArray(obj) &&\n Object.getOwnPropertyNames(obj).length === 1 &&\n typeof obj[Object.keys(obj)[0]] === 'string' &&\n obj[Object.keys(obj)[0]].trim() !== ''\n );\n } catch (e) {\n return false;\n }\n }\n\n get labelValue() {\n return this.getAttribute('label-value') || 'Value';\n }\n\n get labelAttr() {\n return this.getAttribute('label-attr') || 'Attribute';\n }\n\n get buttonLabel() {\n return this.getAttribute('button-label') || 'Add mapping';\n }\n\n get options() {\n return this.getAttribute('options') || [];\n }\n\n addNewMappingItem(focusNewItem) {\n const newMappingItem = document.createElement('descope-mapping-item');\n newMappingItem.setAttribute('bordered', 'true');\n this.mappingsContainerEle.appendChild(newMappingItem);\n forwardAttrs(this, newMappingItem, {\n includeAttrs: ['size', 'full-width', 'separator', 'options', 'disabled'],\n });\n // This needs to be done with the timeout, otherwise the validation is performed\n // before the new item is added and thus returns a wrong result\n setTimeout(() => {\n this.setCustomValidity('');\n newMappingItem.addEventListener('mapping-item-removed', () => {\n // If the removed item was the one that was invalid, we need to reset the invalid indication for the internal\n if (newMappingItem === this.#errorItem) {\n this.resetInvalidIndication();\n this.#errorItem = undefined;\n }\n newMappingItem.remove();\n this.setCustomValidity('');\n });\n this.dispatchEvent(new CustomEvent('mapping-item-added', { bubbles: true, composed: true }));\n if (focusNewItem) {\n newMappingItem.focus();\n }\n }, 0);\n return newMappingItem;\n }\n\n get items() {\n return Array.from(this.mappingsContainerEle.querySelectorAll('descope-mapping-item'));\n }\n\n get value() {\n return this.items.reduce((acc, item) => {\n if (!item.value) {\n return acc;\n }\n\n return [...acc, item.value];\n }, []);\n }\n\n set value(mappings) {\n if (!this.isValidDataType(mappings)) {\n // eslint-disable-next-line no-console\n console.error(\n 'received invalid value to set - should be an array of objects with one key-value pair'\n );\n return;\n }\n\n const currentItems = this.items;\n\n // Remove extra mapping items we don't need\n if (currentItems.length > mappings.length) {\n for (let i = mappings.length; i < currentItems.length; i++) {\n this.mappingsContainerEle.removeChild(currentItems[i]);\n }\n }\n\n // Add or update items\n mappings.forEach((mapping, index) => {\n const mappingItem = currentItems[index];\n if (mappingItem) {\n // Set existing item value\n mappingItem.value = mapping;\n } else {\n // Add new item\n const newMappingItem = this.addNewMappingItem(false);\n // Setting the new item value needs to be done with the timeout,\n // otherwise the value is not set correctly\n setTimeout(() => {\n newMappingItem.value = mapping;\n }, 0);\n }\n });\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n <div class=\"labels-container\" part=\"labels\"></div>\n <div class=\"mappings-container\"></div>\n <div class=\"button-container\"></div>\n `;\n\n this.labelsEle = this.querySelector('.labels-container');\n this.mappingsContainerEle = this.querySelector('.mappings-container');\n this.buttonContainer = this.querySelector('.button-container');\n }\n\n initLabels() {\n this.labelsEle.innerHTML = `\n <descope-text variant=\"body2\" part=\"value-label\">${this.labelValue}</descope-text>\n <descope-text variant=\"body2\" part=\"attr-label\">${this.labelAttr}</descope-text>\n `;\n }\n\n initAddButton() {\n this.buttonContainer.innerHTML = `\n <descope-button variant=\"link\" mode=\"primary\" disabled=\"${this.isDisabled}\">\n <vaadin-icon icon=\"vaadin:plus\"></vaadin-icon>\n ${this.buttonLabel}\n </descope-button>\n `;\n const button = this.querySelector('descope-button');\n button.onclick = () => {\n this.addNewMappingItem(true);\n };\n forwardAttrs(this, button, {\n includeAttrs: ['disabled'],\n });\n }\n\n #onMappingsContainerChildrenChange() {\n this.labelsEle.style.display = this.items.length ? 'grid' : 'none';\n }\n\n init() {\n // This event listener needs to be placed before the super.init() call\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n const focusedElement =\n this.#errorItem || this.items[0] || this.querySelector('descope-button');\n focusedElement.focus();\n }\n });\n\n super.init?.();\n this.initLabels();\n this.initAddButton();\n\n // This event listener is responsible for removing the invalid attribute\n // from the internal once the invalid item turns valid\n this.addEventListener('input', () => {\n const isErrorItemMounted = this.mappingsContainerEle.contains(this.#errorItem);\n if (isErrorItemMounted && this.#errorItem?.checkValidity()) {\n // Item has changed, it was invalid before and now it's valid\n this.resetInvalidIndication();\n this.#errorItem.removeAttribute('invalid');\n this.#errorItem = undefined;\n }\n });\n\n observeChildren(this.mappingsContainerEle, this.#onMappingsContainerChildrenChange.bind(this));\n }\n\n resetInvalidIndication() {\n this.removeAttribute('invalid');\n }\n\n getValidity() {\n const errorItem = this.items.find((item) => !item.checkValidity());\n if (errorItem) {\n return errorItem.validity;\n }\n\n return {};\n }\n\n #handleInvalidMappings(isInvalid) {\n if (isInvalid) {\n this.#errorItem = this.items.find((item) => !item.checkValidity());\n this.#errorItem?.reportValidity();\n this.#errorItem?.setAttribute('invalid', 'true');\n }\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n if (attrName === 'label-value' || attrName === 'label-attr') {\n this.initLabels();\n }\n if (attrName === 'button-label') {\n this.initAddButton();\n }\n if (attrName === 'invalid') {\n this.#handleInvalidMappings(newValue === 'true');\n }\n if (attrName === 'readonly') {\n this.toggleAttribute('inert', newValue === 'true');\n }\n }\n}\n\nexport default MappingsFieldInternal;\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../../mixins';\nimport { TextClass } from '../../descope-text/TextClass';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../../helpers/componentHelpers';\nimport { componentName as descopeInternalComponentName } from './descope-mappings-field-internal/MappingsFieldInternal';\n\nexport const componentName = getComponentName('mappings-field');\n\nconst customMixin = (superclass) =>\n class MappingsFieldMixinClass extends superclass {\n get defaultValues() {\n const defaultValuesAttr = this.getAttribute('default-values');\n if (defaultValuesAttr) {\n try {\n return JSON.parse(defaultValuesAttr);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"default-values\" -', e.message);\n }\n }\n return [];\n }\n\n setDefaultValues() {\n const initialDefaultValues = this.defaultValues;\n if (Object.keys(initialDefaultValues).length > 0) {\n this.inputElement.value = initialDefaultValues;\n }\n }\n\n init() {\n super.init?.();\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n tabindex=\"-1\"\n ></${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'size',\n 'full-width',\n 'label-value',\n 'label-attr',\n 'button-label',\n 'separator',\n 'options',\n 'default-values',\n 'invalid',\n 'readonly',\n 'disabled',\n ],\n });\n\n // This is required since when we remove the invalid attribute from the internal mappings field,\n // we want to reflect the change in the parent component\n syncAttrs(this, this.inputElement, { includeAttrs: ['invalid'] });\n\n this.setDefaultValues();\n }\n };\n\nconst {\n host,\n helperText,\n errorMessage,\n mappingItem,\n labels,\n labelsText,\n valueLabel,\n attrLabel,\n separator,\n labelsContainer,\n} = {\n host: { selector: () => ':host' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n mappingItem: { selector: 'descope-mapping-item::part(wrapper)' },\n labels: { selector: 'descope-mappings-field-internal [part=\"labels\"] descope-text' },\n labelsText: {\n selector: 'descope-mappings-field-internal [part=\"labels\"] descope-text::part(text-wrapper)',\n },\n valueLabel: { selector: 'descope-mappings-field-internal [part=\"labels\"] [part=\"value-label\"]' },\n attrLabel: { selector: 'descope-mappings-field-internal [part=\"labels\"] [part=\"attr-label\"]' },\n separator: { selector: 'descope-mapping-item::part(separator)' },\n labelsContainer: { selector: 'descope-mappings-field-internal [part=\"labels\"]' },\n};\n\nexport const MappingsFieldClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host, { ...separator, property: 'margin-top' }],\n fontFamily: [helperText, errorMessage, labels],\n separatorFontSize: { ...separator, property: 'font-size' },\n labelsFontSize: { ...labelsText, property: 'font-size' },\n labelsLineHeight: [\n { ...labelsText, property: 'line-height' },\n { ...labels, property: 'line-height' },\n ],\n labelTextColor: { ...labels, property: TextClass.cssVarList.textColor },\n itemMarginBottom: { ...mappingItem, property: 'margin-bottom' },\n valueLabelMinWidth: { ...valueLabel, property: 'min-width' },\n attrLabelMinWidth: { ...attrLabel, property: 'min-width' },\n labelsMarginBottom: { ...labelsContainer, property: 'margin-bottom' },\n separatorWidth: {},\n removeButtonWidth: {},\n },\n }),\n draggableMixin,\n proxyInputMixin({\n proxyProps: ['value', 'selectionStart'],\n inputEvent: 'input',\n proxyParentValidation: true,\n }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-custom-field',\n style: () => `\n :host {\n display: inline-flex;\n max-width: 100%;\n direction: ltr;\n }\n vaadin-custom-field {\n line-height: unset;\n width: 100%;\n }\n\n descope-mappings-field-internal [part=\"labels\"] {\n display: none;\n grid-template-columns: 1fr var(${MappingsFieldClass.cssVarList.separatorWidth}) 1fr var(${MappingsFieldClass.cssVarList.removeButtonWidth});\n }\n\n descope-mappings-field-internal [part=\"labels\"] [part=\"value-label\"],\n descope-mappings-field-internal [part=\"labels\"] [part=\"attr-label\"] {\n ${TextClass.cssVarList.fontWeight}: 500;\n }\n\n descope-mappings-field-internal [part=\"labels\"] [part=\"value-label\"] {\n grid-column: 1 / span 1;\n }\n\n descope-mappings-field-internal [part=\"labels\"] [part=\"attr-label\"] {\n grid-column: 3 / span 1;\n }\n\n descope-mapping-item::part(wrapper) {\n display: grid;\n grid-template-columns: 1fr var(${MappingsFieldClass.cssVarList.separatorWidth}) 1fr var(${MappingsFieldClass.cssVarList.removeButtonWidth});\n }\n `,\n excludeAttrsSync: [\n 'tabindex',\n 'label-value',\n 'label-attr',\n 'button-label',\n 'options',\n 'error-message',\n ],\n componentName,\n })\n);\n\nexport default MappingsFieldClass;\n","import MappingsFieldInternal, { componentName } from './MappingsFieldInternal';\n\ncustomElements.define(componentName, MappingsFieldInternal);\n","import { createBaseInputClass } from '../../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName } from '../../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('mapping-item');\n\nconst inputAttrs = ['size', 'bordered', 'readonly', 'full-width', 'disabled'];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass MappingItem extends BaseInputClass {\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], inputAttrs, [\n 'separator',\n 'options',\n 'invalid',\n 'disabled',\n ]);\n }\n\n get separator() {\n return this.getAttribute('separator') || 'map to';\n }\n\n get value() {\n const attributeValue = this.attributeInput.value;\n const inputValue = this.valueInput.value;\n if (attributeValue && inputValue) {\n return { [attributeValue]: inputValue };\n }\n return null;\n }\n\n set value(mapping) {\n if (Object.entries(mapping).length !== 1) {\n // eslint-disable-next-line no-console\n console.error(\n 'descope-mapping item expected expects only one key-value pair in the value but received: ',\n mapping\n );\n return;\n }\n const [attribute, value] = Object.entries(mapping)[0];\n this.valueInput.value = value;\n this.attributeInput.value = attribute;\n // The event needs to be dispatched to trigger the validation if setting the value externally\n this.dispatchEvent(new InputEvent('input', { bubbles: true, composed: true }));\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <style>\n .wrapper {\n display: flex;\n }\n .separator {\n text-align: center;\n flex-shrink: 0;\n }\n </style>\n <div class=\"wrapper\" part=\"wrapper\">\n <descope-text-field required=\"true\"></descope-text-field>\n <div class=\"separator\" part=\"separator\">${this.separator}</div>\n <descope-combo-box\n item-label-path=\"data-name\"\n item-value-path=\"data-id\"\n required=\"true\"\n >\n </descope-combo-box>\n <descope-button variant=\"link\" mode=\"primary\">\n <vaadin-icon icon=\"vaadin:minus\"></vaadin-icon>\n </descope-button>\n </div>\n\t`;\n this.valueInput = this.shadowRoot.querySelector('descope-text-field');\n this.attributeInput = this.shadowRoot.querySelector('descope-combo-box');\n this.inputs = [this.valueInput, this.attributeInput];\n this.removeButton = this.shadowRoot.querySelector('descope-button');\n\n forwardAttrs(this, this.valueInput, {\n includeAttrs: inputAttrs,\n });\n forwardAttrs(this, this.attributeInput, {\n includeAttrs: [...inputAttrs, 'options'],\n mapAttrs: { options: 'data' },\n });\n forwardAttrs(this, this.removeButton, {\n includeAttrs: ['disabled'],\n });\n }\n\n initRemoveButton() {\n this.removeButton.addEventListener('click', () =>\n this.dispatchEvent(new CustomEvent('mapping-item-removed', { bubbles: true, composed: true }))\n );\n }\n\n init() {\n super.init?.();\n this.initRemoveButton();\n }\n\n getValidity() {\n const attributeValue = this.attributeInput.value;\n const inputValue = this.valueInput.value;\n if (!attributeValue || !inputValue) {\n return { badInput: true };\n }\n return {};\n }\n\n reportValidity() {\n this.inputs.forEach((input) => input.reportValidity());\n }\n\n focus() {\n const focusedElement =\n this.checkValidity() || !this.valueInput.checkValidity()\n ? this.valueInput\n : this.attributeInput;\n focusedElement.focus();\n }\n\n handleSeparatorChange() {\n this.shadowRoot.querySelector('.separator').textContent = this.separator;\n }\n\n #handleInvalidMapping(invalid) {\n if (invalid === 'true') {\n const inputValue = this.valueInput.value;\n if (!inputValue) {\n this.valueInput.setAttribute('invalid', 'true');\n this.valueInput.setAttribute('error-message', this.defaultErrorMsgValueMissing);\n }\n\n const attributeValue = this.attributeInput.value;\n if (!attributeValue) {\n this.attributeInput.setAttribute('invalid', 'true');\n this.attributeInput.setAttribute('error-message', this.defaultErrorMsgValueMissing);\n }\n }\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'separator') {\n this.handleSeparatorChange();\n }\n\n if (attrName === 'invalid') {\n this.#handleInvalidMapping(newValue);\n }\n }\n}\n\nexport default MappingItem;\n","import MappingItem, { componentName } from './MappingItem';\n\ncustomElements.define(componentName, MappingItem);\n","import '@vaadin/custom-field';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\nimport { componentName, MappingsFieldClass } from './MappingsFieldClass';\nimport '../../descope-text';\nimport '../../descope-button';\nimport '../../descope-text-field';\nimport '../../descope-combo-box';\nimport './descope-mappings-field-internal';\nimport './descope-mapping-item';\n\ncustomElements.define(componentName, MappingsFieldClass);\n\nexport { MappingsFieldClass };\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgMTZDMSAxNy4xIDEuOSAxOCAzIDE4SDExQzEyLjEgMTggMTMgMTcuMSAxMyAxNlY0SDFWMTZaTTMgNkgxMVYxNkgzVjZaTTEwLjUgMUw5LjUgMEg0LjVMMy41IDFIMFYzSDE0VjFIMTAuNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwLjAwMDIgMC45OTIxNDlDMTAuMDAwMiAxLjAxNjE1IDEwLjAwMDIgMS4wMTYxNSAxMC4wMDAyIDEuMDE2MTVMOC4yMjQxOSAzLjAwODE1SDIuOTkyMTlDMi40NjQxOSAzLjAwODE1IDIuMDA4MTkgMy40NDAxNSAyLjAwODE5IDMuOTkyMTVWMTIuMDA4MkMyLjAwODE5IDEyLjUzNjIgMi40NDAxOSAxMi45OTIyIDIuOTkyMTkgMTIuOTkyMkg1LjUzNjE5QzUuODQ4MTkgMTMuMDQwMiA2LjE2MDE5IDEzLjA0MDIgNi40NzIxOSAxMi45OTIySDExLjAwODJDMTEuNTM2MiAxMi45OTIyIDExLjk5MjIgMTIuNTYwMiAxMS45OTIyIDEyLjAwODJWNy43ODQxNkwxMy45MzYyIDUuNjI0MTVMMTQuMDA4MiA1LjY3MjE1VjExLjk4NDJDMTQuMDA4MiAxMy42NjQyIDEyLjY2NDIgMTUuMDA4MiAxMS4wMDgyIDE1LjAwODJIMy4wMTYxOUMxLjMzNjE5IDE1LjAwODIgLTAuMDA3ODEyNSAxMy42NjQyIC0wLjAwNzgxMjUgMTEuOTg0MlYzLjk5MjE1Qy0wLjAwNzgxMjUgMi4zMzYxNSAxLjMzNjE5IDAuOTkyMTQ5IDMuMDE2MTkgMC45OTIxNDlIMTAuMDAwMlpNMTEuMjcyMiAyLjYyNDE1TDEyLjYxNjIgNC4xMTIxNUw3LjcyMDE5IDkuNjgwMTZDNy41MDQxOSA5LjkyMDE2IDYuODMyMTkgMTAuMjMyMiA1LjY4MDE5IDEwLjYxNjJDNS42NTYxOSAxMC42NDAyIDUuNjA4MTkgMTAuNjQwMiA1LjU2MDE5IDEwLjYxNjJDNS40NjQxOSAxMC41OTIyIDUuMzkyMTkgMTAuNDcyMiA1LjQ0MDE5IDEwLjM3NjJDNS43NTIxOSA5LjI0ODE2IDYuMDQwMTkgOC41NTIxNiA2LjI1NjE5IDguMzEyMTZMMTEuMjcyMiAyLjYyNDE1Wk0xMS45MjAyIDEuODU2MTVMMTMuMjg4MiAwLjMyMDE0OUMxMy42NDgyIC0wLjA4Nzg1MTYgMTQuMjcyMiAtMC4xMTE4NTIgMTQuNjgwMiAwLjI3MjE0OUMxNS4wODgyIDAuNjMyMTQ5IDE1LjExMjIgMS4yODAxNSAxNC43NTIyIDEuNjg4MTVMMTMuMjY0MiAzLjM2ODE1TDExLjkyMDIgMS44NTYxNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPgo8L3N2Zz4K\"","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport deleteIcon from './delete.svg';\nimport editIcon from './edit.svg';\nimport { TextClass } from '../descope-text/TextClass';\nimport { ButtonClass } from '../descope-button/ButtonClass';\nimport { BadgeClass } from '../descope-badge/BadgeClass';\n\nexport const componentName = getComponentName('user-attribute');\nclass RawUserAttribute extends createBaseClass({\n componentName,\n baseSelector: ':host > .root',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n vaadin-icon {\n color: currentcolor;\n }\n\n .root {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n }\n\n .btn-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-grow: 0;\n }\n\n .text-wrapper {\n display: flex;\n align-items: center;\n flex-grow: 1;\n }\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 }\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(${TextClass.cssVarList.textColor});\n }\n </style>\n\n\n <div class=\"root\">\n <div class=\"text-wrapper\">\n <descope-text st-text-align=\"auto\" data-id=\"label-text\" variant=\"body1\" mode=\"secondary\"></descope-text>\n <descope-text st-text-align=\"auto\" data-id=\"value-text\" variant=\"body1\" mode=\"primary\"></descope-text>\n </div>\n\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=${editIcon}></vaadin-icon>\n </descope-button>\n <descope-button size=\"xs\" data-id=\"delete-btn\" square=\"true\" variant=\"link\" mode=\"primary\">\n <vaadin-icon src=${deleteIcon}></vaadin-icon>\n </descope-button>\n </div\n </div>\n\t\t`;\n\n this.deleteButton = this.shadowRoot.querySelector('descope-button[data-id=\"delete-btn\"]');\n this.editButton = this.shadowRoot.querySelector('descope-button[data-id=\"edit-btn\"]');\n this.badge = this.shadowRoot.querySelector('descope-badge');\n this.labelText = this.shadowRoot.querySelector('descope-text[data-id=\"label-text\"]');\n this.valueText = this.shadowRoot.querySelector('descope-text[data-id=\"value-text\"]');\n }\n\n onLabelChange() {\n this.labelText.innerText = this.label;\n this.labelText.setAttribute('title', this.label);\n }\n\n onValueOrPlaceholderChange() {\n const text = this.value || this.placeholder;\n const mode = this.value ? 'primary' : 'secondary';\n\n this.valueText.innerText = text;\n this.valueText.setAttribute('title', text);\n this.valueText.setAttribute('mode', mode);\n }\n\n onBadgeLabelChange() {\n if (!this.badgeLabel) {\n this.badge.style.display = 'none';\n } else {\n this.badge.innerText = this.badgeLabel;\n this.badge.style.display = '';\n }\n }\n\n onBadgeTooltipTextChange() {\n this.badge.setAttribute('title', this.badgeTooltipText || this.badgeLabel);\n }\n\n onIsRequiredChange() {\n this.labelText.classList.toggle('required', this.isRequired);\n }\n\n get label() {\n return this.getAttribute('label') || '';\n }\n\n get value() {\n return this.getAttribute('value') || '';\n }\n\n get placeholder() {\n return this.getAttribute('placeholder') || '';\n }\n\n get isRequired() {\n return this.getAttribute('required') === 'true';\n }\n\n get badgeLabel() {\n return this.getAttribute('badge-label') || '';\n }\n\n get badgeTooltipText() {\n return this.getAttribute('badge-tooltip-text') || '';\n }\n\n init() {\n this.onLabelChange();\n this.onValueOrPlaceholderChange();\n this.onIsRequiredChange();\n this.onBadgeLabelChange();\n this.onBadgeTooltipTextChange();\n this.handleDeleteButtonVisibility();\n\n this.deleteButton.addEventListener('click', () =>\n this.dispatchEvent(new CustomEvent('delete-clicked', { bubbles: true, composed: true }))\n );\n\n this.editButton.addEventListener('click', () =>\n this.dispatchEvent(new CustomEvent('edit-clicked', { bubbles: true, composed: true }))\n );\n }\n\n static get observedAttributes() {\n return [\n 'label',\n 'value',\n 'placeholder',\n 'required',\n 'badge-label',\n 'badge-tooltip-text',\n ].concat(super.observedAttributes);\n }\n\n handleDeleteButtonVisibility() {\n this.deleteButton.classList.toggle('hidden', this.isRequired || !this.value);\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n if (oldValue === newValue) {\n return;\n }\n\n if (name === 'label') {\n this.onLabelChange();\n } else if (name === 'value' || name === 'placeholder') {\n this.onValueOrPlaceholderChange();\n } else if (name === 'required') {\n this.onIsRequiredChange();\n } else if (name === 'badge-label') {\n this.onBadgeLabelChange();\n } else if (name === 'badge-tooltip-text') {\n this.onBadgeTooltipTextChange();\n }\n\n if (name === 'value' || name === 'required') {\n this.handleDeleteButtonVisibility();\n }\n }\n}\n\nconst { host, textFields, buttons, badge, labelText, valueText, textWrapper } = {\n host: { selector: () => ':host' },\n textFields: { selector: 'descope-text' },\n valueText: { selector: 'descope-text[data-id=\"value-text\"]' },\n labelText: { selector: 'descope-text[data-id=\"label-text\"]' },\n buttons: { selector: 'descope-button' },\n badge: { selector: 'descope-badge' },\n textWrapper: { selector: ' .text-wrapper' },\n};\n\nexport const UserAttributeClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: [\n { ...host, property: 'direction' },\n { ...textFields, property: TextClass.cssVarList.hostDirection },\n { ...buttons, property: ButtonClass.cssVarList.hostDirection },\n { ...badge, property: BadgeClass.cssVarList.hostDirection },\n ],\n labelTextWidth: { ...labelText, property: 'width' },\n valueTextWidth: { ...valueText, property: 'width' },\n badgeMaxWidth: { ...badge, property: 'max-width' },\n itemsGap: [{ property: 'gap' }, { ...textWrapper, property: 'gap' }],\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawUserAttribute);\n","import { componentName, UserAttributeClass } from './UserAttributeClass';\nimport '../descope-text';\nimport '../descope-button';\nimport '../descope-badge';\nimport '@vaadin/icon';\n\ncustomElements.define(componentName, UserAttributeClass);\n\nexport { UserAttributeClass };\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhDMCAxMi40IDMuNiAxNiA4IDE2QzEyLjQgMTYgMTYgMTIuNCAxNiA4QzE2IDMuNiAxMi40IDAgOCAwWk03LjEgMTEuN0wyLjkgNy42TDQuMyA2LjJMNyA4LjlMMTIgNEwxMy40IDUuNEw3LjEgMTEuN1oiIGZpbGw9IiM0Q0FGNTAiLz4KPC9zdmc+Cg==\"","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport greenVIcon from './green-v.svg';\nimport { TextClass } from '../descope-text/TextClass';\nimport { ButtonClass } from '../descope-button/ButtonClass';\nimport { BadgeClass } from '../descope-badge/BadgeClass';\n\nexport const componentName = getComponentName('user-auth-method');\nclass RawUserAuthMethod extends createBaseClass({\n componentName,\n baseSelector: ':host > .root',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n vaadin-icon {\n color: currentcolor;\n }\n\n .root {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n }\n\n .btn-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-grow: 0;\n }\n\n .text-wrapper {\n display: flex;\n align-items: center;\n flex-grow: 1;\n }\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 }\n\n .fulfilled-indicator {\n width: 1em;\n height: 1em;\n display: flex;\n align-items: center;\n padding-inline-end: 1em;\n }\n\n .hidden {\n display: none;\n }\n\n .hidden-btn {\n width: 0;\n overflow: hidden;\n }\n\n slot[name=\"method-icon\"]{\n display: inline-flex;\n align-items: center;\n }\n </style>\n\n\n <div class=\"root\">\n <div class=\"text-wrapper\">\n <slot name=\"method-icon\"></slot>\n <descope-text st-text-align=\"auto\" data-id=\"label-text\" variant=\"body1\" mode=\"primary\"></descope-text>\n </div>\n\n <div class=\"btn-wrapper\">\n <descope-button size=\"sm\" variant=\"link\" mode=\"primary\">\n <slot name=\"button-icon\"></slot>\n </descope-button>\n <div class=\"fulfilled-indicator\">\n <vaadin-icon src=${greenVIcon}></vaadin-icon>\n </div>\n <descope-button class=\"hidden-btn\" size=\"sm\" variant=\"link\" mode=\"primary\"></descope-button>\n </div>\n </div>\n\t\t`;\n\n this.button = this.shadowRoot.querySelector('descope-button');\n this.fulfilledIndicator = this.shadowRoot.querySelector('.fulfilled-indicator');\n this.labelText = this.shadowRoot.querySelector('descope-text[data-id=\"label-text\"]');\n }\n\n onLabelChange() {\n this.labelText.innerText = this.label;\n this.labelText.setAttribute('title', this.label);\n }\n\n onButtonLabelChange() {\n let textSpanEle = this.button.querySelector('span');\n\n if (this.buttonLabel) {\n if (!textSpanEle) {\n textSpanEle = document.createElement('span');\n this.button.appendChild(textSpanEle);\n }\n textSpanEle.innerText = this.buttonLabel;\n } else if (textSpanEle) {\n this.button.removeChild(textSpanEle);\n }\n }\n\n onFulfilledChange() {\n this.button.classList.toggle('hidden', this.isFulfilled);\n this.fulfilledIndicator.classList.toggle('hidden', !this.isFulfilled);\n }\n\n get label() {\n return this.getAttribute('label') || '';\n }\n\n get buttonLabel() {\n return this.getAttribute('button-label') || '';\n }\n\n get isFulfilled() {\n return this.getAttribute('fulfilled') === 'true';\n }\n\n init() {\n this.onLabelChange();\n this.onButtonLabelChange();\n this.onFulfilledChange();\n\n this.button.addEventListener('click', () =>\n this.dispatchEvent(new CustomEvent('button-clicked', { bubbles: true, composed: true }))\n );\n }\n\n static get observedAttributes() {\n return ['label', 'fulfilled'].concat(super.observedAttributes);\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n if (oldValue === newValue) {\n return;\n }\n\n if (name === 'label') {\n this.onLabelChange();\n } else if (name === 'fulfilled') {\n this.onFulfilledChange();\n } else if (name === 'button-label') {\n this.onButtonLabelChange();\n }\n }\n}\n\nconst { host, textField, buttons, badge, textWrapper, methodIconSlot } = {\n host: { selector: () => ':host' },\n textField: { selector: 'descope-text' },\n buttons: { selector: 'descope-button' },\n badge: { selector: 'descope-badge' },\n textWrapper: { selector: ' .text-wrapper' },\n methodIconSlot: { selector: 'slot[name=\"method-icon\"]' },\n};\n\nexport const UserAuthMethodClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: [\n { ...host, property: 'direction' },\n { ...textField, property: TextClass.cssVarList.hostDirection },\n { ...buttons, property: ButtonClass.cssVarList.hostDirection },\n { ...badge, property: BadgeClass.cssVarList.hostDirection },\n ],\n labelTextWidth: { ...textField, property: 'width' },\n itemsGap: [{ property: 'gap' }, { ...textWrapper, property: 'gap' }],\n iconSize: [\n { ...methodIconSlot, property: 'width' },\n { ...methodIconSlot, property: 'height' },\n ],\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawUserAuthMethod);\n","import { componentName, UserAuthMethodClass } from './UserAuthMethodClass';\nimport '../descope-text';\nimport '../descope-button';\nimport '../descope-badge';\nimport '@vaadin/icon';\n\ncustomElements.define(componentName, UserAuthMethodClass);\n\nexport { UserAuthMethodClass };\n","import { createBaseInputClass } from '../../../../baseClasses/createBaseInputClass';\nimport {\n getComponentName,\n forwardAttrs,\n observeAttributes,\n} from '../../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('saml-group-mappings-internal');\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: '' });\n\nclass SamlGroupMappingsInternal extends BaseInputClass {\n static get observedAttributes() {\n return ['invalid'].concat(BaseInputClass.observedAttributes || []);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n <descope-text-field variant=\"body2\" bordered=\"true\"></descope-text-field>\n <descope-mappings-field></descope-mappings-field>\n `;\n\n this.groupInputElement = this.querySelector('descope-text-field');\n this.mappingsElement = this.querySelector('descope-mappings-field');\n }\n\n resetInvalidIndication() {\n this.removeAttribute('invalid');\n }\n\n handleMappingsInvalidChange(changedAttributes) {\n if (changedAttributes.includes('invalid')) {\n if (!this.mappingsElement.hasAttribute('invalid')) {\n this.resetInvalidIndication();\n }\n }\n }\n\n initFocusHandler() {\n // This event listener needs to be placed before the super.init() call\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n const focusedElement = this.mappingsElement.checkValidity()\n ? this.groupInputElement\n : this.mappingsElement;\n focusedElement.focus();\n }\n });\n }\n\n init() {\n // This needs to be placed before the super.init() call to work\n this.initFocusHandler();\n\n super.init?.();\n\n forwardAttrs(this, this.groupInputElement, {\n mapAttrs: { 'label-group': 'label' },\n includeAttrs: ['size', 'label-group', 'readonly', 'disabled'],\n });\n\n forwardAttrs(this, this.mappingsElement, {\n includeAttrs: [\n 'size',\n 'full-width',\n 'label-value',\n 'label-attr',\n 'button-label',\n 'separator',\n 'options',\n 'readonly',\n 'disabled',\n 'data-errormessage-pattern-mismatch',\n ],\n });\n\n // Observing the invalid attribute of the mappings field to reset the invalid state for this component.\n // When an invalid item turns valid, the mappings field will remove the invalid attribute, and at this component\n // level, we need to remove the invalid attribute as well to be able to mark the component as invalid the next time\n observeAttributes(this.mappingsElement, this.handleMappingsInvalidChange.bind(this), {\n includeAttrs: ['invalid'],\n });\n }\n\n get value() {\n return {\n group: this.groupInputElement.value,\n mappings: this.mappingsElement.value,\n };\n }\n\n set value(value) {\n if (value?.group && typeof value.group === 'string') {\n this.groupInputElement.value = value.group;\n }\n if (Array.isArray(value?.mappings)) {\n this.mappingsElement.value = value.mappings;\n }\n }\n\n getValidity() {\n if (!this.groupInputElement.checkValidity()) {\n return this.groupInputElement.validity;\n }\n if (!this.mappingsElement.checkValidity()) {\n return this.mappingsElement.validity;\n }\n\n return {};\n }\n\n #handleInvalidState(isInvalid) {\n if (isInvalid) {\n if (!this.groupInputElement.checkValidity()) {\n this.groupInputElement.setAttribute('invalid', 'true');\n return;\n }\n\n if (!this.mappingsElement.checkValidity()) {\n this.mappingsElement.setAttribute('invalid', 'true');\n }\n }\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n if (attrName === 'invalid') {\n this.#handleInvalidState(newValue === 'true');\n }\n }\n}\n\nexport default SamlGroupMappingsInternal;\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../../mixins';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../../helpers/componentHelpers';\nimport { componentName as descopeInternalComponentName } from './descope-saml-group-mappings-internal/SamlGroupMappingsInternal';\n\nexport const componentName = getComponentName('saml-group-mappings');\n\nconst customMixin = (superclass) =>\n class SamlGroupMappingsMixinClass extends superclass {\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n tabindex=\"-1\"\n ></${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'size',\n 'full-width',\n 'label-group',\n 'label-value',\n 'label-attr',\n 'button-label',\n 'separator',\n 'options',\n 'readonly',\n 'disabled',\n ],\n });\n\n syncAttrs(this, this.inputElement, { includeAttrs: ['invalid'] });\n }\n };\n\nconst { host, groupInput } = {\n host: { selector: () => ':host' },\n groupInput: { selector: 'descope-text-field' },\n};\n\nexport const SamlGroupMappingsClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n groupNameInputMarginBottom: { ...groupInput, property: 'margin-bottom' },\n },\n }),\n draggableMixin,\n proxyInputMixin({\n proxyProps: ['value', 'selectionStart'],\n inputEvent: 'input',\n triggerValidationEvents: ['mapping-item-added', 'mapping-item-removed'],\n proxyParentValidation: true,\n }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-custom-field',\n style: () => `\n :host {\n display: inline-flex;\n max-width: 100%;\n direction: ltr;\n }\n\n vaadin-custom-field {\n line-height: unset;\n width: 100%;\n }\n\n descope-text-field {\n width: auto;\n }\n\n descope-mappings-field {\n display: block;\n }\n `,\n excludeAttrsSync: [\n 'tabindex',\n 'label-group',\n 'label-value',\n 'label-attr',\n 'button-label',\n 'separator',\n 'options',\n 'error-message',\n ],\n componentName,\n })\n);\n\nexport default SamlGroupMappingsClass;\n","import SamlGroupMappingsInternal, { componentName } from './SamlGroupMappingsInternal';\n\ncustomElements.define(componentName, SamlGroupMappingsInternal);\n","import '@vaadin/custom-field';\n\nimport { componentName, SamlGroupMappingsClass } from './SamlGroupMappingsClass';\nimport '../../descope-text-field';\nimport '../descope-mappings-field';\nimport './descope-saml-group-mappings-internal';\n\ncustomElements.define(componentName, SamlGroupMappingsClass);\n\nexport { SamlGroupMappingsClass };\n","import { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n proxyInputMixin,\n} from '../../mixins';\n\nexport const componentName = getComponentName('radio-button');\n\nconst customMixin = (superclass) =>\n class CustomMixin extends superclass {\n constructor() {\n super();\n\n this.baseElement.checkValidity = () => {};\n }\n\n init() {\n // we are forwarding vaadin checked-changed event\n this.baseElement.addEventListener('checked-changed', (e) => {\n this.dispatchEvent(\n new CustomEvent(\n 'checked-changed',\n { detail: e.detail },\n { bubbles: true, composed: true }\n )\n );\n });\n\n super.init?.();\n\n observeChildren(this, this.renderLabel.bind(this));\n }\n\n renderLabel() {\n this.baseElement.setAttribute('label', this.textContent);\n }\n\n get value() {\n return this.getAttribute('value');\n }\n };\n\nexport const RadioButtonClass = compose(\n createStyleMixin({\n mappings: {\n cursor: [{}, { selector: 'label' }],\n fontSize: [{ selector: 'label' }, {}],\n labelTextColor: { selector: 'label', property: 'color' },\n fontFamily: { selector: 'label' },\n radioSize: [\n { selector: '::part(radio)', property: 'height' },\n { selector: '::part(radio)', property: 'width' },\n ],\n radioBackgroundColor: { selector: '::part(radio)', property: 'background-color' },\n radioMargin: { selector: '::part(radio)', property: 'margin' },\n radioCheckedSize: { selector: '::part(radio)::after', property: 'border-width' },\n radioCheckedColor: { selector: '::part(radio)::after', property: 'border-color' },\n radioBorderColor: { selector: '::part(radio)', property: 'border-color', fallback: 'none' },\n radioBorderWidth: { selector: '::part(radio)', property: 'border-width', fallback: 0 },\n radioBorderStyle: { selector: '::part(radio)', property: 'border-style', fallback: 'solid' },\n },\n }),\n proxyInputMixin({ proxyProps: ['setSelectionRange'] }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [''],\n wrappedEleName: 'vaadin-radio-button',\n excludeAttrsSync: ['tabindex', 'data'],\n includeForwardProps: ['checked', 'name', 'disabled'],\n componentName,\n })\n);\n","import { compose } from '../../helpers';\nimport {\n forwardAttrs,\n getComponentName,\n observeAttributes,\n observeChildren,\n} from '../../helpers/componentHelpers';\nimport { resetInputLabelPosition } from '../../helpers/themeHelpers/resetHelpers';\nimport {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n draggableMixin,\n proxyInputMixin,\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { componentName as childNodeName, RadioButtonClass } from './RadioButtonClass';\n\nexport const componentName = getComponentName('radio-group');\n\nconst RadioGroupMixin = (superclass) =>\n class RadioGroupMixinClass extends superclass {\n // eslint-disable-next-line class-methods-use-this\n #renderItem = ({ value, label }) =>\n `<descope-radio-button value=\"${value}\">${label}</descope-radio-button>`;\n\n #data;\n\n constructor() {\n super();\n\n // we are overriding vaadin children getter so it will run on our custom elements\n Object.defineProperty(this.baseElement, 'children', {\n get: () => this.querySelectorAll(childNodeName),\n });\n\n // we are overriding vaadin __filterRadioButtons so it will run on our custom elements\n this.baseElement.__filterRadioButtons = (nodes) => {\n return nodes.filter((node) => node.localName === childNodeName);\n };\n\n // vaadin radio group missing some input properties\n this.baseElement.setCustomValidity = () => {};\n }\n\n get items() {\n return this.shadowRoot.querySelector('slot').assignedElements();\n }\n\n get size() {\n return this.getAttribute('size');\n }\n\n get data() {\n if (this.#data) return this.#data;\n\n const dataAttr = this.getAttribute('data');\n\n if (dataAttr) {\n try {\n const data = JSON.parse(dataAttr);\n if (this.isValidDataType(data)) {\n return data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"data\" - ', e.message);\n }\n }\n\n return [];\n }\n\n set data(data) {\n if (this.isValidDataType(data)) {\n this.#data = data;\n this.renderItems();\n }\n }\n\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n // eslint-disable-next-line class-methods-use-this\n isValidDataType(data) {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n }\n\n getItemsTemplate() {\n return this.data?.reduce?.((acc, item) => acc + (this.#renderItem?.(item || {}) || ''), '');\n }\n\n renderItems() {\n const template = this.getItemsTemplate();\n if (template) this.innerHTML = template;\n }\n\n init() {\n super.init?.();\n\n this.inputElement = this.baseElement;\n\n this.renderItems();\n\n observeAttributes(this, this.renderItems.bind(this), { includeAttrs: ['data'] });\n\n Object.defineProperty(this.baseElement, 'validity', {\n get: () => {\n return { valueMissing: !this.baseElement.checkValidity() };\n },\n });\n\n forwardAttrs(this, this.baseElement, {\n includeAttrs: ['layout'],\n mapAttrs: { layout: 'theme' },\n });\n\n setTimeout(() => {\n if (this.defaultValue) {\n this.value = this.defaultValue;\n }\n });\n\n // we want new items to get the size\n observeChildren(this, ({ addedNodes }) => {\n addedNodes.forEach((node) => {\n node.setAttribute('size', this.size);\n });\n });\n\n observeAttributes(\n this,\n () => {\n this.items.forEach((item) => {\n item.setAttribute('size', this.size);\n });\n },\n {\n includeAttrs: ['size'],\n }\n );\n }\n };\n\nexport const RadioGroupClass = compose(\n createStyleMixin({\n mappings: {\n ...textFieldMappings,\n buttonsSpacing: { selector: '::part(group-field)', property: 'justify-content' },\n buttonsRowGap: { selector: '::part(group-field)', property: 'row-gap' },\n buttonsColumnGap: { selector: '::part(group-field)', property: 'column-gap' },\n itemsLabelColor: {\n selector: () => `::slotted(${RadioButtonClass.componentName})`,\n property: RadioButtonClass.cssVarList.labelTextColor,\n },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['setSelectionRange'] }),\n componentNameValidationMixin,\n RadioGroupMixin\n)(\n createProxy({\n slots: ['', 'prefix'],\n wrappedEleName: 'vaadin-radio-group',\n style: () => `\n :host {\n display: inline-block;\n max-width: 100%;\n box-sizing: border-box;\n }\n\n vaadin-radio-group {\n padding: 0;\n width: 100%;\n }\n\n ${resetInputLabelPosition('vaadin-radio-group')}\n `,\n\n excludeAttrsSync: ['tabindex', 'size', 'data', 'direction'],\n componentName,\n includeForwardProps: ['value'],\n })\n);\n","import { componentName as groupComponentName, RadioGroupClass } from './RadioGroupClass';\nimport { componentName as buttonComponentName, RadioButtonClass } from './RadioButtonClass';\nimport '@vaadin/radio-group';\n\ncustomElements.define(groupComponentName, RadioGroupClass);\ncustomElements.define(buttonComponentName, RadioButtonClass);\n\nexport { RadioGroupClass };\n","import merge from 'lodash.merge';\nimport { BASE_THEME_SECTION, DESCOPE_PREFIX, PORTAL_THEME_PREFIX } from '../../constants';\nimport { isUrl, kebabCase } from '..';\nimport { getComponentName, getCssVarName } from '../componentHelpers';\n\nconst getVarName = (path) => getCssVarName(DESCOPE_PREFIX, ...path);\n\n// lodash.set alternative\nconst set = (obj, path, value) => {\n const pathArray = Array.isArray(path) ? path : path.match(/([^[.\\]])+/g);\n\n pathArray.reduce((acc, key, i) => {\n if (acc[key] === undefined) acc[key] = {};\n if (i === pathArray.length - 1) acc[key] = value;\n return acc[key];\n }, obj);\n\n return obj;\n};\n\nconst transformTheme = (theme, path, getTransformation) => {\n return Object.entries(theme).reduce((acc, [key, val]) => {\n if (val?.constructor !== Object) {\n return merge(acc, getTransformation(path.concat(key), val));\n }\n return merge(acc, transformTheme(val, [...path, key], getTransformation));\n }, {});\n};\n\nconst stringifyArray = (strArr) =>\n strArr.map((str) => (str.includes(' ') ? `\"${str}\"` : str)).join(', ');\n\nconst getCssVarValue = (val) => {\n switch (true) {\n case Array.isArray(val):\n return stringifyArray(val);\n case isUrl(val):\n return `url(${val})`;\n default:\n return val;\n }\n};\n\nexport const themeToCSSVarsObj = (theme) =>\n transformTheme(theme, [], (path, val) => ({\n [getVarName(path)]: getCssVarValue(val),\n }));\n\nexport const getThemeRefs = (theme, prefix) =>\n transformTheme(theme, [], (path) =>\n set({}, path, `var(${getVarName(prefix ? [prefix, ...path] : path)})`)\n );\n\nexport const getThemeVars = (theme, prefix) =>\n transformTheme(theme, [], (path) => set({}, path, getVarName(prefix ? [prefix, ...path] : path)));\n\nexport const globalsThemeToStyle = (theme, themeName = '') => {\n const style = Object.entries(themeToCSSVarsObj(theme)).reduce(\n (acc, entry) => `${acc}${entry.join(':')};\\n`,\n ''\n );\n\n if (!themeName) return style;\n\n return `*[data-theme=\"${themeName}\"] {${style}}`;\n};\n\nconst componentsThemeToStyleObj = (componentsTheme) =>\n transformTheme(componentsTheme, [], (path, val) => {\n const [component, ...restPath] = path;\n const property = restPath.pop();\n const componentName = getComponentName(component);\n\n if (property === 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(componentName, `theme value: \"${val}\" is mapped to an invalid property`);\n }\n\n // we need a support for portal components theme (e.g. overlay)\n // this allows us to generate those themes under different sections\n // if the theme has root level attribute that starts with #\n // we are generating a new theme\n let themeName = BASE_THEME_SECTION;\n\n if (restPath[0] && restPath[0].startsWith(PORTAL_THEME_PREFIX)) {\n themeName = restPath.shift();\n }\n\n // do not start with underscore -> key:value, must have 2 no underscore attrs in a row\n // starts with underscore -> attribute selector\n const attrsSelector = restPath.reduce((acc, section, idx) => {\n if (section.startsWith('_')) return `${acc}[${kebabCase(section.replace(/^_/, ''))}=\"true\"]`;\n\n const nextSection = restPath[idx + 1];\n\n if (typeof nextSection !== 'string' || nextSection.startsWith('_')) {\n // eslint-disable-next-line no-console\n console.error(\n 'theme generator',\n `your theme structure is invalid, attribute \"${section}\" is followed by \"${nextSection}\" which is not allowed`\n );\n return acc;\n }\n\n return `${acc}[${kebabCase(section)}=\"${restPath.splice(idx + 1, 1).join('')}\"]`;\n }, '');\n\n const selector = `:host${attrsSelector ? `(${attrsSelector})` : ''}`;\n\n return {\n [componentName]: {\n [themeName]: {\n [selector]: {\n [property]: getCssVarValue(val),\n },\n },\n },\n };\n });\n\nconst componentsThemeToStyle = (componentsTheme) =>\n Object.entries(componentsTheme).reduce(\n (acc, [selector, vars]) =>\n `${acc}${selector} { \\n${Object.entries(vars)\n .map(([key, val]) => `${key}: ${val}`)\n .join(';\\n')} \\n}\\n\\n`,\n ''\n );\n\nexport const createComponentsTheme = (componentsTheme) => {\n const styleObj = componentsThemeToStyleObj(componentsTheme);\n\n return Object.keys(styleObj).reduce((acc, componentName) => {\n const componentThemes = styleObj[componentName];\n\n return Object.assign(acc, {\n [componentName]: Object.keys(componentThemes).reduce(\n (res, theme) =>\n Object.assign(res, { [theme]: componentsThemeToStyle(componentThemes[theme]) }),\n {}\n ),\n });\n }, {});\n};\n\nexport const themeToStyle = ({ globals, components }, themeName) => ({\n globals: globalsThemeToStyle(globals, themeName),\n components: createComponentsTheme(components),\n});\n\nexport const useVar = (varName) => `var(${varName})`;\n\nexport const createHelperVars = (theme, prefix) => {\n const res = transformTheme(theme, [], (path, value) => {\n const modifiedPath = [...path];\n const property = modifiedPath.splice(-1);\n const varName = getCssVarName(prefix, property);\n\n const vars = { [property]: varName };\n const useVars = { [property]: useVar(varName) };\n\n return { theme: set({}, [...modifiedPath, varName], value), useVars, vars };\n });\n\n return [res.theme, res.useVars, res.vars];\n};\n\nexport { componentsThemeManager } from './componentsThemeManager';\n","import Color from 'color';\n\nconst colorGaps = {\n darkLight: 0.4,\n highlight: 0.8,\n contrast: 1,\n edgeColor: {\n darkLight: 0.25,\n highlight: 0.1,\n },\n};\n\nconst darken = (c, percentage) => c.darken(percentage).hex();\n\nconst contrast = (c) => {\n const isDark = c.isDark();\n return c\n .mix(Color(isDark ? 'white' : 'black'), colorGaps.contrast)\n .saturate(1)\n .hex();\n};\n\nconst lighten = (c, percentage) => {\n const isDark = c.lightness() < 0.5;\n\n if (isDark) {\n return c.lightness(percentage * 100).hex();\n }\n\n return c.lighten(percentage).hex();\n};\n\nconst isNearBlack = (color) => color.luminosity() < 0.01;\nconst isNearWhite = (color) => color.luminosity() > 0.99;\n\nconst generateDarkColor = (color, theme) => {\n if (theme === 'dark') {\n return isNearWhite(color)\n ? darken(color, colorGaps.edgeColor.darkLight)\n : lighten(color, colorGaps.darkLight);\n }\n\n return isNearBlack(color)\n ? lighten(color, colorGaps.edgeColor.darkLight)\n : darken(color, colorGaps.darkLight);\n};\n\nconst generateLightColor = (color, theme) => {\n if (theme === 'dark') {\n return isNearBlack(color)\n ? lighten(color, colorGaps.edgeColor.darkLight)\n : darken(color, colorGaps.darkLight);\n }\n\n return isNearWhite(color)\n ? darken(color, colorGaps.edgeColor.darkLight)\n : lighten(color, colorGaps.darkLight);\n};\n\nconst generateHighlightColor = (color, theme) => {\n if (theme === 'dark') {\n return isNearBlack(color)\n ? lighten(color, colorGaps.edgeColor.highlight)\n : darken(color, colorGaps.highlight);\n }\n\n return isNearWhite(color)\n ? darken(color, colorGaps.edgeColor.highlight)\n : lighten(color, colorGaps.highlight);\n};\n\nexport const genColor = (color, theme) => {\n const mainColor = new Color(color.main || color);\n\n const res = {\n main: mainColor.hex(),\n dark: color.dark || generateDarkColor(mainColor, theme),\n light: color.light || generateLightColor(mainColor, theme),\n highlight: color.highlight || generateHighlightColor(mainColor, theme),\n contrast: color.contrast || contrast(mainColor),\n };\n\n return res;\n};\n\nexport const genColors = (colors) => {\n return Object.keys(colors).reduce((acc, colorName) => {\n const currentColor = colors[colorName];\n\n return Object.assign(acc, {\n [colorName]: genColor(currentColor),\n });\n }, {});\n};\n","import { getThemeRefs, getThemeVars } from '../helpers/themeHelpers';\nimport { genColors } from '../helpers/themeHelpers/colorsHelpers';\n\nconst direction = 'ltr';\n\nexport const colors = genColors({\n surface: {\n main: '#ffffff',\n dark: '#636c74',\n light: '#cfd3d7',\n highlight: '#f4f5f6',\n contrast: '#181a1c',\n },\n primary: {\n main: '#006af5',\n dark: '#004094',\n light: '#71aeff',\n highlight: '#f0f6ff',\n contrast: '#ffffff',\n },\n secondary: {\n main: '#802ed6',\n dark: '#6410bc',\n light: '#be89f5',\n highlight: '#ede7f6',\n contrast: '#ffffff',\n },\n success: {\n main: '#008000',\n dark: '#005700',\n light: '#8bc38b',\n highlight: '#f5faf5',\n contrast: '#ffffff',\n },\n error: {\n main: '#e21d12',\n dark: '#b3170f',\n light: '#f4807a',\n highlight: '#fef1f1',\n contrast: '#ffffff',\n },\n});\n\nconst fonts = {\n font1: {\n family: [\n 'Roboto',\n 'ui-sans-serif',\n 'system-ui',\n '-apple-system',\n 'BlinkMacSystemFont',\n 'Segoe UI',\n 'Helvetica Neue',\n 'Arial',\n 'Noto Sans',\n 'sans-serif',\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji',\n ],\n label: 'Roboto',\n url: 'https://fonts.googleapis.com/css?family=Roboto:100,200,300,400,500,600,700,800,900',\n },\n font2: {\n family: [\n 'ui-sans-serif',\n 'system-ui',\n '-apple-system',\n 'BlinkMacSystemFont',\n 'Segoe UI',\n 'Roboto',\n 'Helvetica Neue',\n 'Arial',\n 'Noto Sans',\n 'sans-serif',\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji',\n ],\n label: 'Sans Serif',\n },\n};\n\nconst fontsRef = getThemeRefs({ fonts }).fonts;\n\nconst typography = {\n h1: {\n font: fontsRef.font1.family,\n weight: '900',\n size: '48px',\n },\n h2: {\n font: fontsRef.font1.family,\n weight: '800',\n size: '38px',\n },\n h3: {\n font: fontsRef.font1.family,\n weight: '600',\n size: '28px',\n },\n subtitle1: {\n font: fontsRef.font2.family,\n weight: '500',\n size: '22px',\n },\n subtitle2: {\n font: fontsRef.font2.family,\n weight: '400',\n size: '20px',\n },\n body1: {\n font: fontsRef.font1.family,\n weight: '400',\n size: '16px',\n },\n body2: {\n font: fontsRef.font1.family,\n weight: '400',\n size: '14px',\n },\n};\n\nconst spacing = {\n xs: '2px',\n sm: '4px',\n md: '8px',\n lg: '16px',\n xl: '32px',\n};\n\nconst border = {\n xs: '1px',\n sm: '2px',\n md: '3px',\n lg: '4px',\n xl: '5px',\n};\n\nconst radius = {\n xs: '5px',\n sm: '10px',\n md: '15px',\n lg: '20px',\n xl: '25px',\n '2xl': '30px',\n '3xl': '35px',\n};\n\nconst shadow = {\n wide: {\n sm: '0 2px 3px -0.5px',\n md: '0 4px 6px -1px',\n lg: '0 10px 15px -3px',\n xl: '0 20px 25px -5px',\n '2xl': '0 25px 50px -12px',\n },\n narrow: {\n sm: '0 1px 2px -1px',\n md: '0 2px 4px -2px',\n lg: '0 4px 6px -4px',\n xl: '0 8px 10px -6px',\n '2xl': '0 16px 16px -8px',\n },\n};\n\nconst globals = {\n colors,\n typography,\n spacing,\n border,\n radius,\n shadow,\n fonts,\n direction,\n};\n\nexport default globals;\nexport const vars = getThemeVars(globals);\n","import globals from '../globals';\nimport { getThemeRefs, createHelperVars } from '../../helpers/themeHelpers';\nimport { componentName, ButtonClass } from '../../components/descope-button/ButtonClass';\n\nconst globalRefs = getThemeRefs(globals);\nconst compVars = ButtonClass.cssVarList;\n\nconst mode = {\n primary: globalRefs.colors.primary,\n secondary: globalRefs.colors.secondary,\n success: globalRefs.colors.success,\n error: globalRefs.colors.error,\n surface: globalRefs.colors.surface,\n};\n\nconst [helperTheme, helperRefs, helperVars] = createHelperVars({ mode }, componentName);\n\nconst button = {\n ...helperTheme,\n\n [compVars.fontFamily]: globalRefs.fonts.font1.family,\n\n [compVars.cursor]: 'pointer',\n [compVars.hostHeight]: '3em',\n [compVars.hostWidth]: 'auto',\n [compVars.hostDirection]: globalRefs.direction,\n\n [compVars.borderRadius]: globalRefs.radius.sm,\n [compVars.borderWidth]: globalRefs.border.xs,\n [compVars.borderStyle]: 'solid',\n [compVars.borderColor]: 'transparent',\n\n [compVars.labelSpacing]: '0.25em',\n\n [compVars.textAlign]: 'center', // default text align center\n textAlign: {\n right: { [compVars.textAlign]: 'right' },\n left: { [compVars.textAlign]: 'left' },\n center: { [compVars.textAlign]: 'center' },\n },\n\n [compVars.verticalPadding]: '1em',\n [compVars.horizontalPadding]: '0.875em',\n\n [compVars.outlineWidth]: globals.border.sm,\n [compVars.outlineOffset]: '0px', // keep `px` unit for external calc\n [compVars.outlineStyle]: 'solid',\n [compVars.outlineColor]: 'transparent',\n\n [compVars.iconSize]: '1.5em',\n [compVars.iconColor]: 'currentColor',\n\n size: {\n xs: { [compVars.fontSize]: '12px' },\n sm: { [compVars.fontSize]: '14px' },\n md: { [compVars.fontSize]: '16px' },\n lg: { [compVars.fontSize]: '18px' },\n },\n\n _square: {\n [compVars.hostHeight]: '3em',\n [compVars.hostWidth]: '3em',\n [compVars.verticalPadding]: '0',\n },\n\n _fullWidth: {\n [compVars.hostWidth]: '100%',\n },\n\n _loading: {\n [compVars.cursor]: 'wait',\n [compVars.labelTextColor]: helperRefs.main,\n },\n\n _disabled: {\n [helperVars.main]: globalRefs.colors.surface.light,\n [helperVars.dark]: globalRefs.colors.surface.dark,\n [helperVars.light]: globalRefs.colors.surface.light,\n [helperVars.contrast]: globalRefs.colors.surface.main,\n [compVars.iconColor]: globalRefs.colors.surface.main,\n },\n\n variant: {\n contained: {\n [compVars.labelTextColor]: helperRefs.contrast,\n [compVars.backgroundColor]: helperRefs.main,\n _hover: {\n [compVars.backgroundColor]: helperRefs.dark,\n _loading: {\n [compVars.backgroundColor]: helperRefs.main,\n },\n },\n _active: {\n [compVars.backgroundColor]: helperRefs.main,\n },\n },\n\n outline: {\n [compVars.labelTextColor]: helperRefs.main,\n [compVars.borderColor]: helperRefs.main,\n _hover: {\n [compVars.labelTextColor]: helperRefs.dark,\n [compVars.borderColor]: helperRefs.dark,\n },\n _active: {\n [compVars.labelTextColor]: helperRefs.main,\n [compVars.borderColor]: helperRefs.main,\n },\n },\n\n link: {\n [compVars.labelTextColor]: helperRefs.main,\n [compVars.horizontalPadding]: '0.125em',\n _hover: {\n [compVars.labelTextColor]: helperRefs.dark,\n [compVars.labelTextDecoration]: 'underline',\n },\n _active: {\n [compVars.labelTextColor]: helperRefs.main,\n },\n },\n },\n\n _focused: {\n [compVars.outlineColor]: helperRefs.light,\n },\n};\n\nexport default button;\n\nexport const vars = {\n ...compVars,\n ...helperVars,\n};\n","import globals from '../globals';\nimport { getThemeRefs, createHelperVars } from '../../helpers/themeHelpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nconst componentName = getComponentName('input-wrapper');\nconst globalRefs = getThemeRefs(globals);\n\nconst [theme, refs, vars] = createHelperVars(\n {\n labelTextColor: globalRefs.colors.surface.dark,\n labelFontSize: '14px', // not taken from globals as it is fixed in all inputs\n labelFontWeight: '500', // not taken from globals as it is fixed in all inputs\n valueTextColor: globalRefs.colors.surface.contrast,\n placeholderTextColor: globalRefs.colors.surface.dark,\n requiredIndicator: \"'*'\",\n helperTextColor: globalRefs.colors.surface.dark,\n errorMessageTextColor: globalRefs.colors.error.main,\n successMessageTextColor: globalRefs.colors.success.main,\n\n borderWidth: globalRefs.border.xs,\n borderRadius: globalRefs.radius.xs,\n borderColor: 'transparent',\n\n outlineWidth: globalRefs.border.sm,\n outlineStyle: 'solid',\n outlineColor: 'transparent',\n outlineOffset: '0px', // we need to keep the px unit even for 0 value, as this var is used for calc in different component classes\n\n minWidth: '10em',\n toggleButtonSize: '1.5em',\n inputIconSize: '1em',\n inputHeight: '3em',\n horizontalPadding: '0.5em',\n verticalPadding: '0.5em',\n\n backgroundColor: globalRefs.colors.surface.main,\n\n fontFamily: globalRefs.fonts.font1.family,\n\n direction: globalRefs.direction,\n\n overlayOpacity: '0.3',\n\n size: {\n xs: { fontSize: '12px', chipFontSize: '10px' },\n sm: { fontSize: '14px', chipFontSize: '12px' },\n md: { fontSize: '16px', chipFontSize: '14px' },\n lg: { fontSize: '18px', chipFontSize: '16px' },\n },\n\n labelType: {\n floating: {\n labelPosition: 'absolute',\n labelTopPosition: '0',\n labelHorizontalPosition: '0.9em',\n labelFontSize: '1em',\n placeholderOpacity: 0,\n inputHeight: '3.5em',\n inputVerticalAlignment: 'flex-end',\n inputTransformY: 'translateY(1.55em)',\n inputTransition: 'all 75ms ease-in-out',\n marginInlineStart: '0',\n valueInputHeight: '1.5702em',\n valueInputMarginBottom: '0.5em',\n\n _focused: {\n labelFontSize: '0.75em',\n inputTransformY: 'translateY(1.05em)',\n labelFontWeight: '400',\n placeholderOpacity: 1,\n },\n\n _readOnly: {\n placeholderOpacity: 0,\n },\n\n _hasValue: {\n inputTransformY: 'translateY(1.05em)',\n labelFontSize: '0.75em',\n labelFontWeight: '400',\n },\n },\n },\n\n _fullWidth: {\n width: '100%',\n },\n\n _focused: {\n outlineColor: globalRefs.colors.surface.light,\n _invalid: {\n outlineColor: globalRefs.colors.error.main,\n },\n },\n\n _bordered: {\n outlineWidth: globalRefs.border.xs,\n borderColor: globalRefs.colors.surface.light,\n borderStyle: 'solid',\n _invalid: {\n borderColor: globalRefs.colors.error.main,\n },\n },\n\n _disabled: {\n labelTextColor: globalRefs.colors.surface.light,\n borderColor: globalRefs.colors.surface.light,\n valueTextColor: globalRefs.colors.surface.light,\n placeholderTextColor: globalRefs.colors.surface.light,\n helperTextColor: globalRefs.colors.surface.light,\n backgroundColor: globalRefs.colors.surface.main,\n },\n },\n componentName\n);\n\nexport { refs, vars };\nexport default theme;\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { TextFieldClass } from '../../components/descope-text-field/TextFieldClass';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = TextFieldClass.cssVarList;\n\nexport const textField = {\n [vars.hostWidth]: refs.width,\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderColor]: refs.placeholderTextColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.inputHeight]: refs.inputHeight,\n [vars.inputHorizontalPadding]: refs.horizontalPadding,\n [vars.helperTextColor]: refs.helperTextColor,\n textAlign: {\n right: { [vars.inputTextAlign]: 'right' },\n left: { [vars.inputTextAlign]: 'left' },\n center: { [vars.inputTextAlign]: 'center' },\n },\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.placeholderOpacity]: refs.placeholderOpacity,\n [vars.inputVerticalAlignment]: refs.inputVerticalAlignment,\n [vars.valueInputHeight]: refs.valueInputHeight,\n [vars.valueInputMarginBottom]: refs.valueInputMarginBottom,\n [vars.inputIconOffset]: globalRefs.spacing.md,\n [vars.inputIconSize]: refs.inputIconSize,\n [vars.inputIconColor]: refs.placeholderTextColor,\n};\n\nexport default textField;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { PasswordClass } from '../../components/descope-password/PasswordClass';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = PasswordClass.cssVarList;\n\nconst password = {\n [vars.hostWidth]: refs.width,\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputHorizontalPadding]: refs.horizontalPadding,\n [vars.inputHeight]: refs.inputHeight,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderTextColor]: refs.placeholderTextColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.revealButtonOffset]: globalRefs.spacing.md,\n [vars.revealButtonSize]: refs.toggleButtonSize,\n [vars.revealButtonColor]: refs.placeholderTextColor,\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.placeholderOpacity]: refs.placeholderOpacity,\n [vars.inputVerticalAlignment]: refs.inputVerticalAlignment,\n [vars.valueInputHeight]: refs.valueInputHeight,\n};\n\nexport default password;\nexport { vars };\n","import { NumberFieldClass } from '../../components/descope-number-field/NumberFieldClass';\nimport { refs } from './inputWrapper';\n\nconst vars = NumberFieldClass.cssVarList;\n\nconst numberField = {\n [vars.hostWidth]: refs.width,\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderColor]: refs.placeholderTextColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.inputHorizontalPadding]: refs.horizontalPadding,\n [vars.inputHeight]: refs.inputHeight,\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.placeholderOpacity]: refs.placeholderOpacity,\n [vars.inputVerticalAlignment]: refs.inputVerticalAlignment,\n [vars.valueInputHeight]: refs.valueInputHeight,\n [vars.valueInputMarginBottom]: refs.valueInputMarginBottom,\n};\n\nexport default numberField;\nexport { vars };\n","import { EmailFieldClass } from '../../components/descope-email-field/EmailFieldClass';\nimport { refs } from './inputWrapper';\n\nconst vars = EmailFieldClass.cssVarList;\n\nconst emailField = {\n [vars.hostWidth]: refs.width,\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.inputPlaceholderColor]: refs.placeholderTextColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.inputHorizontalPadding]: refs.horizontalPadding,\n [vars.inputHeight]: refs.inputHeight,\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.placeholderOpacity]: refs.placeholderOpacity,\n [vars.inputVerticalAlignment]: refs.inputVerticalAlignment,\n [vars.valueInputHeight]: refs.valueInputHeight,\n [vars.valueInputMarginBottom]: refs.valueInputMarginBottom,\n};\n\nexport default emailField;\nexport { vars };\n","import { TextAreaClass } from '../../components/descope-text-area/TextAreaClass';\nimport { refs } from './inputWrapper';\n\nconst vars = TextAreaClass.cssVarList;\n\nconst textArea = {\n [vars.hostWidth]: refs.width,\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderTextColor]: refs.placeholderTextColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputResizeType]: 'vertical',\n [vars.inputMinHeight]: '5em',\n textAlign: {\n right: { [vars.inputTextAlign]: 'right' },\n left: { [vars.inputTextAlign]: 'left' },\n center: { [vars.inputTextAlign]: 'center' },\n },\n\n _readonly: {\n [vars.inputResizeType]: 'none',\n },\n};\n\nexport default textArea;\nexport { vars };\n","import { CheckboxClass } from '../../components/boolean-fields/descope-checkbox/CheckboxClass';\nimport { refs } from './inputWrapper';\n\nconst vars = CheckboxClass.cssVarList;\nconst checkboxSize = '1.35em';\n\nconst checkbox = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.labelFontWeight]: '400',\n [vars.labelLineHeight]: checkboxSize,\n [vars.labelSpacing]: '1em',\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.inputSize]: checkboxSize,\n\n _checked: {\n [vars.inputValueTextColor]: refs.valueTextColor,\n },\n\n _disabled: {\n [vars.labelTextColor]: refs.labelTextColor,\n },\n};\n\nexport default checkbox;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { SwitchToggleClass } from '../../components/boolean-fields/descope-switch-toggle/SwitchToggleClass';\nimport { refs } from './inputWrapper';\n\nconst knobMargin = '2px';\nconst checkboxHeight = '1.25em';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = SwitchToggleClass.cssVarList;\n\nconst switchToggle = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n\n [vars.trackBorderStyle]: refs.borderStyle,\n [vars.trackBorderWidth]: refs.borderWidth, // var `trackBorderWidth` used outside the theme for `left` margin calculation\n [vars.trackBorderColor]: refs.borderColor,\n [vars.trackBackgroundColor]: refs.backgroundColor,\n [vars.trackBorderRadius]: globalRefs.radius.md,\n [vars.trackWidth]: '2.5em', // var `trackWidth` used outside the theme for `left` margin calculation\n [vars.trackHeight]: checkboxHeight,\n\n [vars.knobSize]: `calc(1em - ${knobMargin})`,\n [vars.knobRadius]: '50%',\n [vars.knobTopOffset]: '1px',\n [vars.knobLeftOffset]: knobMargin,\n [vars.knobColor]: refs.labelTextColor,\n [vars.knobTransitionDuration]: '0.3s',\n\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelFontWeight]: '400',\n [vars.labelLineHeight]: '1.35em',\n [vars.labelSpacing]: '1em',\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n\n _checked: {\n [vars.trackBorderColor]: refs.borderColor,\n [vars.knobLeftOffset]: `calc(100% - var(${vars.knobSize}) - ${knobMargin})`,\n [vars.knobColor]: refs.valueTextColor,\n [vars.knobTextColor]: refs.valueTextColor,\n },\n\n _disabled: {\n [vars.knobColor]: globalRefs.colors.surface.light,\n [vars.trackBorderColor]: globalRefs.colors.surface.light,\n [vars.trackBackgroundColor]: globalRefs.colors.surface.main,\n [vars.labelTextColor]: refs.labelTextColor,\n _checked: {\n [vars.knobColor]: globalRefs.colors.surface.light,\n [vars.trackBackgroundColor]: globalRefs.colors.surface.main,\n },\n },\n\n _invalid: {\n [vars.trackBorderColor]: globalRefs.colors.error.main,\n [vars.knobColor]: globalRefs.colors.error.main,\n },\n};\n\nexport default switchToggle;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs, createHelperVars } from '../../helpers/themeHelpers';\nimport { ContainerClass, componentName } from '../../components/descope-container/ContainerClass';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst compVars = ContainerClass.cssVarList;\n\nconst verticalAlignment = {\n start: { verticalAlignment: 'start' },\n center: { verticalAlignment: 'safe center' },\n end: { verticalAlignment: 'end' },\n};\n\nconst horizontalAlignment = {\n start: { horizontalAlignment: 'start' },\n center: { horizontalAlignment: 'safe center' },\n end: { horizontalAlignment: 'end' },\n};\n\nconst [helperTheme, helperRefs, helperVars] = createHelperVars(\n {\n verticalAlignment,\n horizontalAlignment,\n shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format\n },\n componentName\n);\n\nconst { shadowColor } = helperRefs;\n\nconst container = {\n ...helperTheme,\n\n [compVars.itemsGrow]: '0',\n [compVars.hostWidth]: '100%',\n [compVars.boxShadow]: 'none',\n [compVars.backgroundColor]: globalRefs.colors.surface.main,\n [compVars.color]: globalRefs.colors.surface.contrast,\n [compVars.borderRadius]: '0px',\n [compVars.hostDirection]: globalRefs.direction,\n\n verticalPadding: {\n sm: { [compVars.verticalPadding]: '5px' },\n md: { [compVars.verticalPadding]: '10px' },\n lg: { [compVars.verticalPadding]: '20px' },\n },\n\n horizontalPadding: {\n sm: { [compVars.horizontalPadding]: '5px' },\n md: { [compVars.horizontalPadding]: '10px' },\n lg: { [compVars.horizontalPadding]: '20px' },\n },\n\n direction: {\n row: {\n [compVars.flexDirection]: 'row',\n [compVars.alignItems]: helperRefs.verticalAlignment,\n [compVars.justifyContent]: helperRefs.horizontalAlignment,\n [compVars.flexWrap]: 'wrap',\n horizontalAlignment: {\n spaceBetween: {\n [helperVars.horizontalAlignment]: 'space-between',\n },\n },\n },\n column: {\n [compVars.flexDirection]: 'column',\n [compVars.alignItems]: helperRefs.horizontalAlignment,\n [compVars.justifyContent]: helperRefs.verticalAlignment,\n verticalAlignment: {\n spaceBetween: {\n [helperVars.verticalAlignment]: 'space-between',\n },\n },\n },\n },\n\n spaceBetween: {\n sm: { [compVars.gap]: '10px' },\n md: { [compVars.gap]: '20px' },\n lg: { [compVars.gap]: '30px' },\n },\n\n shadow: {\n sm: {\n [compVars.boxShadow]: `${globalRefs.shadow.wide.sm} ${shadowColor}, ${globalRefs.shadow.narrow.sm} ${shadowColor}`,\n },\n md: {\n [compVars.boxShadow]: `${globalRefs.shadow.wide.md} ${shadowColor}, ${globalRefs.shadow.narrow.md} ${shadowColor}`,\n },\n lg: {\n [compVars.boxShadow]: `${globalRefs.shadow.wide.lg} ${shadowColor}, ${globalRefs.shadow.narrow.lg} ${shadowColor}`,\n },\n xl: {\n [compVars.boxShadow]: `${globalRefs.shadow.wide.xl} ${shadowColor}, ${globalRefs.shadow.narrow.xl} ${shadowColor}`,\n },\n '2xl': {\n [helperVars.shadowColor]: '#00000050', // mimic daisyUI shadow settings\n [compVars.boxShadow]: `${globalRefs.shadow.wide['2xl']} ${shadowColor}`,\n },\n },\n\n borderRadius: {\n sm: { [compVars.borderRadius]: globalRefs.radius.sm },\n md: { [compVars.borderRadius]: globalRefs.radius.md },\n lg: { [compVars.borderRadius]: globalRefs.radius.lg },\n xl: { [compVars.borderRadius]: globalRefs.radius.xl },\n '2xl': { [compVars.borderRadius]: globalRefs.radius['2xl'] },\n '3xl': { [compVars.borderRadius]: globalRefs.radius['3xl'] },\n },\n};\n\nexport default container;\n\nexport const vars = {\n ...compVars,\n ...helperVars,\n};\n","import { LogoClass } from '../../components/descope-logo/LogoClass';\n\nconst vars = LogoClass.cssVarList;\n\nconst logo = {\n [vars.fallbackUrl]: 'url(https://imgs.descope.com/components/no-logo-placeholder.svg)',\n};\n\nexport default logo;\nexport { vars };\n","import { TotpImageClass } from '../../components/descope-totp-image/TotpImageClass';\n\nconst vars = TotpImageClass.cssVarList;\n\nconst logo = {\n [vars.fallbackUrl]: 'url(https://imgs.descope.com/components/totp-placeholder.svg)',\n};\n\nexport default logo;\nexport { vars };\n","import { NotpImageClass } from '../../components/descope-notp-image/NotpImageClass';\n\nconst vars = NotpImageClass.cssVarList;\n\nconst logo = {\n [vars.fallbackUrl]: 'url(https://imgs.descope.com/components/notp-placeholder.svg)',\n};\n\nexport default logo;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { TextClass } from '../../components/descope-text/TextClass';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = TextClass.cssVarList;\n\nconst text = {\n [vars.hostDirection]: globalRefs.direction,\n [vars.textLineHeight]: '1.35em',\n [vars.textAlign]: 'left',\n [vars.textColor]: globalRefs.colors.surface.dark,\n\n variant: {\n h1: {\n [vars.fontSize]: globalRefs.typography.h1.size,\n [vars.fontWeight]: globalRefs.typography.h1.weight,\n [vars.fontFamily]: globalRefs.typography.h1.font,\n },\n h2: {\n [vars.fontSize]: globalRefs.typography.h2.size,\n [vars.fontWeight]: globalRefs.typography.h2.weight,\n [vars.fontFamily]: globalRefs.typography.h2.font,\n },\n h3: {\n [vars.fontSize]: globalRefs.typography.h3.size,\n [vars.fontWeight]: globalRefs.typography.h3.weight,\n [vars.fontFamily]: globalRefs.typography.h3.font,\n },\n subtitle1: {\n [vars.fontSize]: globalRefs.typography.subtitle1.size,\n [vars.fontWeight]: globalRefs.typography.subtitle1.weight,\n [vars.fontFamily]: globalRefs.typography.subtitle1.font,\n },\n subtitle2: {\n [vars.fontSize]: globalRefs.typography.subtitle2.size,\n [vars.fontWeight]: globalRefs.typography.subtitle2.weight,\n [vars.fontFamily]: globalRefs.typography.subtitle2.font,\n },\n body1: {\n [vars.fontSize]: globalRefs.typography.body1.size,\n [vars.fontWeight]: globalRefs.typography.body1.weight,\n [vars.fontFamily]: globalRefs.typography.body1.font,\n },\n body2: {\n [vars.fontSize]: globalRefs.typography.body2.size,\n [vars.fontWeight]: globalRefs.typography.body2.weight,\n [vars.fontFamily]: globalRefs.typography.body2.font,\n },\n },\n\n mode: {\n primary: {\n [vars.textColor]: globalRefs.colors.surface.contrast,\n },\n secondary: {\n [vars.textColor]: globalRefs.colors.surface.dark,\n },\n error: {\n [vars.textColor]: globalRefs.colors.error.main,\n },\n success: {\n [vars.textColor]: globalRefs.colors.success.main,\n },\n },\n\n textAlign: {\n right: { [vars.textAlign]: 'right' },\n left: { [vars.textAlign]: 'left' },\n center: { [vars.textAlign]: 'center' },\n },\n\n _fullWidth: {\n [vars.hostWidth]: '100%',\n },\n\n _italic: {\n [vars.fontStyle]: 'italic',\n },\n\n _uppercase: {\n [vars.textTransform]: 'uppercase',\n },\n\n _lowercase: {\n [vars.textTransform]: 'lowercase',\n },\n};\n\nexport default text;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { LinkClass } from '../../components/descope-link/LinkClass';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = LinkClass.cssVarList;\n\nconst link = {\n [vars.hostDirection]: globalRefs.direction,\n [vars.cursor]: 'pointer',\n\n [vars.textColor]: globalRefs.colors.primary.main,\n\n textAlign: {\n right: { [vars.textAlign]: 'right' },\n left: { [vars.textAlign]: 'left' },\n center: { [vars.textAlign]: 'center' },\n },\n\n _fullWidth: {\n [vars.hostWidth]: '100%',\n },\n\n _hover: {\n [vars.textDecoration]: 'underline',\n },\n\n mode: {\n secondary: {\n [vars.textColor]: globalRefs.colors.secondary.main,\n },\n error: {\n [vars.textColor]: globalRefs.colors.error.main,\n },\n success: {\n [vars.textColor]: globalRefs.colors.success.main,\n },\n },\n};\n\nexport default link;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs, useVar } from '../../helpers/themeHelpers';\nimport { EnrichedTextClass } from '../../components/descope-enriched-text/EnrichedTextClass';\nimport { vars as textCompVars } from './text';\nimport { vars as linkCompVars } from './link';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = EnrichedTextClass.cssVarList;\n\nconst enrichedText = {\n [vars.hostDirection]: globalRefs.direction,\n [vars.hostWidth]: useVar(textCompVars.hostWidth),\n\n [vars.textLineHeight]: useVar(textCompVars.textLineHeight),\n [vars.textColor]: useVar(textCompVars.textColor),\n [vars.textAlign]: useVar(textCompVars.textAlign),\n\n [vars.fontSize]: useVar(textCompVars.fontSize),\n [vars.fontWeight]: useVar(textCompVars.fontWeight),\n [vars.fontFamily]: useVar(textCompVars.fontFamily),\n\n [vars.linkColor]: useVar(linkCompVars.textColor),\n [vars.linkTextDecoration]: 'none',\n [vars.linkHoverTextDecoration]: 'underline',\n\n [vars.fontWeightBold]: '900',\n [vars.minWidth]: '0.25em',\n [vars.minHeight]: '1.35em',\n};\n\nexport default enrichedText;\nexport { vars };\n","import globals from '../globals';\nimport { componentName, DividerClass } from '../../components/descope-divider/DividerClass';\nimport { createHelperVars, getThemeRefs } from '../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\nconst compVars = DividerClass.cssVarList;\n\nconst [helperTheme, helperRefs, helperVars] = createHelperVars(\n {\n thickness: '2px',\n spacing: '10px',\n },\n componentName\n);\n\nconst divider = {\n ...helperTheme,\n\n [compVars.hostDirection]: globalRefs.direction,\n [compVars.alignItems]: 'center',\n [compVars.flexDirection]: 'row',\n [compVars.alignSelf]: 'stretch',\n [compVars.hostWidth]: '100%',\n [compVars.stripeColor]: globalRefs.colors.surface.light,\n [compVars.stripeColorOpacity]: '0.5',\n [compVars.stripeHorizontalThickness]: helperRefs.thickness,\n [compVars.labelTextWidth]: 'fit-content',\n [compVars.labelTextMaxWidth]: 'calc(100% - 100px)',\n [compVars.labelTextHorizontalSpacing]: helperRefs.spacing,\n [compVars.textAlign]: 'center',\n\n _vertical: {\n [compVars.minHeight]: '200px',\n [compVars.flexDirection]: 'column',\n [compVars.hostWidth]: 'fit-content',\n [compVars.hostPadding]: `0 calc(${helperRefs.thickness} * 3)`,\n [compVars.stripeVerticalThickness]: helperRefs.thickness,\n [compVars.labelTextWidth]: 'fit-content',\n [compVars.labelTextMaxWidth]: '100%',\n [compVars.labelTextVerticalSpacing]: helperRefs.spacing,\n },\n};\n\nexport default divider;\n\nexport const vars = {\n ...compVars,\n ...helperVars,\n};\n","import { PasscodeClass } from '../../components/descope-passcode/PasscodeClass';\nimport { refs } from './inputWrapper';\n\nconst vars = PasscodeClass.cssVarList;\n\nconst passcode = {\n [vars.hostDirection]: refs.direction,\n [vars.fontFamily]: refs.fontFamily,\n [vars.fontSize]: refs.fontSize,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.digitValueTextColor]: refs.valueTextColor,\n [vars.digitPadding]: '0',\n [vars.digitTextAlign]: 'center',\n [vars.digitSpacing]: '4px',\n [vars.hostWidth]: refs.width,\n [vars.digitOutlineColor]: 'transparent',\n [vars.digitOutlineWidth]: refs.outlineWidth,\n [vars.focusedDigitFieldOutlineColor]: refs.outlineColor,\n [vars.digitSize]: refs.inputHeight,\n\n size: {\n xs: { [vars.spinnerSize]: '15px' },\n sm: { [vars.spinnerSize]: '20px' },\n md: { [vars.spinnerSize]: '20px' },\n lg: { [vars.spinnerSize]: '20px' },\n },\n\n _hideCursor: {\n [vars.digitCaretTextColor]: 'transparent',\n },\n\n _loading: {\n [vars.overlayOpacity]: refs.overlayOpacity,\n },\n};\n\nexport default passcode;\nexport { vars };\n","import globals from '../../globals';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport { LoaderLinearClass } from '../../../components/descope-loader-linear/LoaderLinearClass';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = LoaderLinearClass.cssVarList;\n\nconst loaderLinear = {\n [vars.hostDisplay]: 'inline-block',\n [vars.hostWidth]: '100%',\n\n [vars.barColor]: globalRefs.colors.surface.contrast,\n [vars.barWidth]: '20%',\n\n [vars.barBackgroundColor]: globalRefs.colors.surface.light,\n [vars.barBorderRadius]: '4px',\n\n [vars.animationDuration]: '2s',\n [vars.animationTimingFunction]: 'linear',\n [vars.animationIterationCount]: 'infinite',\n [vars.verticalPadding]: '0.25em',\n\n size: {\n xs: { [vars.barHeight]: '2px' },\n sm: { [vars.barHeight]: '4px' },\n md: { [vars.barHeight]: '6px' },\n lg: { [vars.barHeight]: '8px' },\n },\n\n mode: {\n primary: {\n [vars.barColor]: globalRefs.colors.primary.main,\n },\n secondary: {\n [vars.barColor]: globalRefs.colors.secondary.main,\n },\n },\n\n _hidden: {\n [vars.hostDisplay]: 'none',\n },\n};\n\nexport default loaderLinear;\nexport { vars };\n","import globals from '../../globals';\nimport {\n LoaderRadialClass,\n componentName,\n} from '../../../components/descope-loader-radial/LoaderRadialClass';\nimport { createHelperVars, getThemeRefs } from '../../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\nconst compVars = LoaderRadialClass.cssVarList;\n\nconst [helperTheme, helperRefs, helperVars] = createHelperVars(\n {\n spinnerColor: globalRefs.colors.surface.contrast,\n mode: {\n primary: {\n spinnerColor: globalRefs.colors.primary.main,\n },\n secondary: {\n spinnerColor: globalRefs.colors.secondary.main,\n },\n },\n },\n componentName\n);\n\nconst loaderRadial = {\n ...helperTheme,\n\n [compVars.animationDuration]: '2s',\n [compVars.animationTimingFunction]: 'linear',\n [compVars.animationIterationCount]: 'infinite',\n [compVars.spinnerBorderStyle]: 'solid',\n [compVars.spinnerBorderWidth]: '0.2em',\n [compVars.spinnerBorderRadius]: '50%',\n [compVars.spinnerQuadrant1Color]: helperRefs.spinnerColor,\n [compVars.spinnerQuadrant2Color]: 'transparent',\n [compVars.spinnerQuadrant3Color]: helperRefs.spinnerColor,\n [compVars.spinnerQuadrant4Color]: 'transparent',\n\n size: {\n xs: { [compVars.spinnerSize]: '20px' },\n sm: { [compVars.spinnerSize]: '30px' },\n md: { [compVars.spinnerSize]: '40px' },\n lg: { [compVars.spinnerSize]: '60px' },\n xl: { [compVars.spinnerSize]: '80px' },\n },\n\n _hidden: {\n [compVars.hostDisplay]: 'none',\n },\n};\n\nexport default loaderRadial;\nexport const vars = {\n ...compVars,\n ...helperVars,\n};\n","import globals from '../globals';\nimport { ComboBoxClass } from '../../components/descope-combo-box/ComboBoxClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = ComboBoxClass.cssVarList;\n\nexport const comboBox = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderTextColor]: refs.placeholderTextColor,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.inputHorizontalPadding]: refs.horizontalPadding,\n [vars.inputHeight]: refs.inputHeight,\n [vars.inputDropdownButtonColor]: globalRefs.colors.surface.dark,\n [vars.inputDropdownButtonCursor]: 'pointer',\n [vars.inputDropdownButtonSize]: refs.toggleButtonSize,\n [vars.inputDropdownButtonOffset]: globalRefs.spacing.xs,\n [vars.overlayItemPaddingInlineStart]: globalRefs.spacing.xs,\n [vars.overlayItemPaddingInlineEnd]: globalRefs.spacing.lg,\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.placeholderOpacity]: refs.placeholderOpacity,\n [vars.inputVerticalAlignment]: refs.inputVerticalAlignment,\n [vars.valueInputHeight]: refs.valueInputHeight,\n [vars.valueInputMarginBottom]: refs.valueInputMarginBottom,\n\n _readonly: {\n [vars.inputDropdownButtonCursor]: 'default',\n },\n\n // Overlay theme exposed via the component:\n [vars.overlayFontSize]: refs.fontSize,\n [vars.overlayFontFamily]: refs.fontFamily,\n [vars.overlayCursor]: 'pointer',\n [vars.overlayItemBoxShadow]: 'none',\n [vars.overlayBackground]: refs.backgroundColor,\n [vars.overlayTextColor]: refs.valueTextColor,\n\n // Overlay direct theme:\n [vars.overlay.minHeight]: '400px',\n [vars.overlay.margin]: '0',\n};\n\nexport default comboBox;\nexport { vars };\n","import { ImageClass } from '../../components/descope-image/ImageClass';\n\nconst vars = ImageClass.cssVarList;\n\nconst image = {};\n\nexport default image;\nexport { vars };\n","import { PhoneFieldClass } from '../../components/phone-fields/descope-phone-field/PhoneFieldClass';\nimport { refs } from './inputWrapper';\n\nconst vars = PhoneFieldClass.cssVarList;\n\nconst phoneField = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderTextColor]: refs.placeholderTextColor,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.phoneInputWidth]: refs.minWidth,\n [vars.countryCodeInputWidth]: '5em',\n [vars.countryCodeDropdownWidth]: '20em',\n [vars.marginInlineStart]: '-0.25em',\n [vars.valueInputHeight]: refs.valueInputHeight,\n [vars.valueInputMarginBottom]: refs.valueInputMarginBottom,\n\n // '@overlay': {\n // \toverlayItemBackgroundColor: 'red'\n // }\n};\n\nexport default phoneField;\nexport { vars };\n","import { PhoneFieldInputBoxClass } from '../../components/phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass';\nimport { refs } from './inputWrapper';\n\nconst vars = PhoneFieldInputBoxClass.cssVarList;\n\nconst phoneInputBoxField = {\n [vars.hostWidth]: '16em',\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderTextColor]: refs.placeholderTextColor,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.valueInputHeight]: refs.valueInputHeight,\n [vars.valueInputMarginBottom]: refs.valueInputMarginBottom,\n [vars.inputHorizontalPadding]: '0',\n\n _fullWidth: {\n [vars.hostWidth]: refs.width,\n },\n};\n\nexport default phoneInputBoxField;\nexport { vars };\n","import globals from '../globals';\nimport { NewPasswordClass } from '../../components/descope-new-password/NewPasswordClass';\nimport { refs } from './inputWrapper';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = NewPasswordClass.cssVarList;\n\nconst newPassword = {\n [vars.hostWidth]: refs.width,\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.spaceBetweenInputs]: '1em',\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.policyPreviewBackgroundColor]: 'none',\n [vars.policyPreviewPadding]: globalRefs.spacing.lg,\n [vars.valueInputHeight]: refs.valueInputHeight,\n\n _required: {\n // NewPassword doesn't pass `required` attribute to its Password components.\n // That's why we fake the required indicator on each input.\n // We do that by injecting `::after` element, and populating it with requiredIndicator content.\n [vars.inputsRequiredIndicator]: refs.requiredIndicator, // used to populate required content for NewPassword input fields outside the theme\n },\n};\n\nexport default newPassword;\nexport { vars };\n","import { UploadFileClass } from '../../components/descope-upload-file/UploadFileClass';\nimport { refs } from './inputWrapper';\n\nconst vars = UploadFileClass.cssVarList;\n\nconst uploadFile = {\n [vars.hostDirection]: refs.direction,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.fontFamily]: refs.fontFamily,\n\n [vars.iconSize]: '2em',\n\n [vars.hostPadding]: '0.75em',\n [vars.gap]: '0.5em',\n\n [vars.fontSize]: '16px',\n [vars.titleFontWeight]: '500',\n [vars.lineHeight]: '1em',\n\n [vars.borderWidth]: refs.borderWidth,\n [vars.borderColor]: refs.borderColor,\n [vars.borderRadius]: refs.borderRadius,\n [vars.borderStyle]: 'dashed',\n\n _required: {\n [vars.requiredIndicator]: refs.requiredIndicator,\n },\n\n size: {\n xs: {\n [vars.hostHeight]: '196px',\n [vars.hostWidth]: '200px',\n [vars.titleFontSize]: '0.875em',\n [vars.descriptionFontSize]: '0.875em',\n [vars.lineHeight]: '1.25em',\n },\n sm: {\n [vars.hostHeight]: '216px',\n [vars.hostWidth]: '230px',\n [vars.titleFontSize]: '1em',\n [vars.descriptionFontSize]: '0.875em',\n [vars.lineHeight]: '1.25em',\n },\n md: {\n [vars.hostHeight]: '256px',\n [vars.hostWidth]: '312px',\n [vars.titleFontSize]: '1.125em',\n [vars.descriptionFontSize]: '1em',\n [vars.lineHeight]: '1.5em',\n },\n lg: {\n [vars.hostHeight]: '280px',\n [vars.hostWidth]: '336px',\n [vars.titleFontSize]: '1.125em',\n [vars.descriptionFontSize]: '1.125em',\n [vars.lineHeight]: '1.75em',\n },\n },\n\n _fullWidth: {\n [vars.hostWidth]: refs.width,\n },\n};\n\nexport default uploadFile;\nexport { vars };\n","import { ButtonSelectionGroupItemClass } from '../../../components/button-selection-group-fields/descope-button-selection-group-item/ButtonSelectionGroupItemClass';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport globals from '../../globals';\n\nconst globalRefs = getThemeRefs(globals);\n\nexport const vars = ButtonSelectionGroupItemClass.cssVarList;\n\nconst buttonSelectionGroupItem = {\n [vars.hostDirection]: 'inherit',\n [vars.backgroundColor]: globalRefs.colors.surface.main,\n [vars.labelTextColor]: globalRefs.colors.surface.contrast,\n [vars.borderColor]: globalRefs.colors.surface.light,\n [vars.borderStyle]: 'solid',\n [vars.borderRadius]: globalRefs.radius.sm,\n [vars.outlineColor]: 'transparent',\n [vars.borderWidth]: globalRefs.border.xs,\n\n _hover: {\n [vars.backgroundColor]: globalRefs.colors.surface.highlight,\n },\n\n _focused: {\n [vars.outlineColor]: globalRefs.colors.surface.light,\n },\n\n _selected: {\n [vars.borderColor]: globalRefs.colors.surface.contrast,\n [vars.backgroundColor]: globalRefs.colors.surface.contrast,\n [vars.labelTextColor]: globalRefs.colors.surface.main,\n },\n};\n\nexport default buttonSelectionGroupItem;\n","import { getThemeRefs } from '../../../helpers/themeHelpers';\nimport globals from '../../globals';\nimport { refs } from '../inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\n\nexport const createBaseButtonSelectionGroupMappings = (vars) => ({\n [vars.hostDirection]: refs.direction,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.itemsSpacing]: globalRefs.spacing.sm,\n [vars.hostWidth]: refs.width,\n});\n","import { ButtonSelectionGroupClass } from '../../../components/button-selection-group-fields/descope-button-selection-group/ButtonSelectionGroupClass';\nimport { createBaseButtonSelectionGroupMappings } from './baseButtonSelectionGroup';\n\nconst vars = ButtonSelectionGroupClass.cssVarList;\n\nconst buttonSelectionGroup = {\n ...createBaseButtonSelectionGroupMappings(vars),\n};\n\nexport default buttonSelectionGroup;\nexport { vars };\n","import { ButtonMultiSelectionGroupClass } from '../../../components/button-selection-group-fields/descope-button-multi-selection-group/ButtonMultiSelectionGroupClass';\nimport { createBaseButtonSelectionGroupMappings } from './baseButtonSelectionGroup';\n\nconst vars = ButtonMultiSelectionGroupClass.cssVarList;\n\nconst buttonMultiSelectionGroup = {\n ...createBaseButtonSelectionGroupMappings(vars),\n};\n\nexport default buttonMultiSelectionGroup;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { ModalClass } from '../../components/descope-modal/ModalClass';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst compVars = ModalClass.cssVarList;\n\nconst modal = {\n [compVars.overlayBackgroundColor]: globalRefs.colors.surface.main,\n [compVars.overlayShadow]: globalRefs.shadow.wide['2xl'],\n [compVars.overlayWidth]: '540px',\n};\n\nexport default modal;\n\nexport const vars = {\n ...compVars,\n};\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { GridClass } from '../../components/descope-grid/GridClass';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = GridClass.cssVarList;\n\nexport const grid = {\n [vars.hostWidth]: '100%',\n [vars.hostHeight]: '100%',\n [vars.hostMinHeight]: '400px',\n [vars.fontWeight]: '400',\n [vars.backgroundColor]: globalRefs.colors.surface.main,\n\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n\n [vars.sortIndicatorsColor]: globalRefs.colors.surface.light,\n [vars.activeSortIndicator]: globalRefs.colors.surface.dark,\n [vars.resizeHandleColor]: globalRefs.colors.surface.light,\n\n [vars.borderWidth]: refs.borderWidth,\n [vars.borderStyle]: refs.borderStyle,\n [vars.borderRadius]: refs.borderRadius,\n [vars.borderColor]: 'transparent',\n\n [vars.headerRowTextColor]: globalRefs.colors.surface.dark,\n [vars.separatorColor]: globalRefs.colors.surface.light,\n\n [vars.valueTextColor]: globalRefs.colors.surface.contrast,\n [vars.selectedBackgroundColor]: globalRefs.colors.surface.highlight,\n [vars.hostDirection]: globalRefs.direction,\n\n [vars.toggleDetailsPanelButtonSize]: '1em',\n [vars.toggleDetailsPanelButtonOpenedColor]: globalRefs.colors.surface.contrast,\n [vars.toggleDetailsPanelButtonClosedColor]: globalRefs.colors.surface.light,\n [vars.toggleDetailsPanelButtonCursor]: 'pointer',\n [vars.detailsPanelBackgroundColor]: globalRefs.colors.surface.highlight,\n [vars.detailsPanelBorderTopColor]: globalRefs.colors.surface.light,\n [vars.detailsPanelLabelsColor]: globalRefs.colors.surface.dark,\n [vars.detailsPanelLabelsFontSize]: '0.8em',\n [vars.detailsPanelItemsGap]: '2em',\n [vars.detailsPanelPadding]: '12px 0',\n\n _bordered: {\n [vars.borderColor]: refs.borderColor,\n },\n};\n\nexport default grid;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { NotificationCardClass } from '../../components/descope-notification/descope-notification-card/NotificationCardClass';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = NotificationCardClass.cssVarList;\n\nconst shadowColor = '#00000020';\n\nconst notification = {\n [vars.hostMinWidth]: '415px',\n [vars.fontFamily]: globalRefs.fonts.font1.family,\n [vars.fontSize]: globalRefs.typography.body1.size,\n [vars.backgroundColor]: globalRefs.colors.surface.main,\n [vars.textColor]: globalRefs.colors.surface.contrast,\n [vars.boxShadow]: `${globalRefs.shadow.wide.xl} ${shadowColor}, ${globalRefs.shadow.narrow.xl} ${shadowColor}`,\n [vars.verticalPadding]: '0.625em',\n [vars.horizontalPadding]: '1.5em',\n [vars.borderRadius]: globalRefs.radius.xs,\n\n _bordered: {\n [vars.borderWidth]: globalRefs.border.sm,\n [vars.borderStyle]: 'solid',\n [vars.borderColor]: 'transparent',\n },\n\n size: {\n xs: { [vars.fontSize]: '12px' },\n sm: { [vars.fontSize]: '14px' },\n md: { [vars.fontSize]: '16px' },\n lg: { [vars.fontSize]: '18px' },\n },\n\n mode: {\n primary: {\n [vars.backgroundColor]: globalRefs.colors.primary.main,\n [vars.textColor]: globalRefs.colors.primary.contrast,\n [vars.borderColor]: globalRefs.colors.primary.light,\n },\n success: {\n [vars.backgroundColor]: globalRefs.colors.success.main,\n [vars.textColor]: globalRefs.colors.success.contrast,\n [vars.borderColor]: globalRefs.colors.success.light,\n },\n error: {\n [vars.backgroundColor]: globalRefs.colors.error.main,\n [vars.textColor]: globalRefs.colors.error.contrast,\n [vars.borderColor]: globalRefs.colors.error.light,\n },\n },\n};\n\nexport default notification;\nexport { vars };\n","import globals from '../globals';\nimport { MultiSelectComboBoxClass } from '../../components/descope-multi-select-combo-box/MultiSelectComboBoxClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = MultiSelectComboBoxClass.cssVarList;\n\nexport const multiSelectComboBox = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderTextColor]: refs.placeholderTextColor,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.inputHorizontalPadding]: refs.horizontalPadding,\n [vars.inputVerticalPadding]: refs.verticalPadding,\n [vars.inputHeight]: refs.inputHeight,\n [vars.inputDropdownButtonColor]: globalRefs.colors.surface.dark,\n [vars.inputDropdownButtonCursor]: 'pointer',\n [vars.inputDropdownButtonSize]: refs.toggleButtonSize,\n [vars.inputDropdownButtonOffset]: globalRefs.spacing.xs,\n [vars.overlayItemPaddingInlineStart]: globalRefs.spacing.xs,\n [vars.overlayItemPaddingInlineEnd]: globalRefs.spacing.lg,\n [vars.chipFontSize]: refs.chipFontSize,\n [vars.chipTextColor]: globalRefs.colors.surface.contrast,\n [vars.chipBackgroundColor]: globalRefs.colors.surface.light,\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelLeftPosition]: refs.labelLeftPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.placeholderOpacity]: refs.placeholderOpacity,\n [vars.inputVerticalAlignment]: refs.inputVerticalAlignment,\n\n labelType: {\n floating: {\n [vars.inputHorizontalPadding]: '0.25em',\n _hasValue: {\n [vars.inputHorizontalPadding]: '0.45em',\n },\n },\n },\n\n _readonly: {\n [vars.inputDropdownButtonCursor]: 'default',\n },\n\n // Overlay theme exposed via the component:\n [vars.overlayFontSize]: refs.fontSize,\n [vars.overlayFontFamily]: refs.fontFamily,\n [vars.overlayCursor]: 'pointer',\n [vars.overlayItemBoxShadow]: 'none',\n [vars.overlayBackground]: refs.backgroundColor,\n [vars.overlayTextColor]: refs.valueTextColor,\n\n // Overlay direct theme:\n [vars.overlay.minHeight]: '400px',\n [vars.overlay.margin]: '0',\n};\n\nexport default multiSelectComboBox;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { BadgeClass } from '../../components/descope-badge/BadgeClass';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = BadgeClass.cssVarList;\n\nconst badge = {\n [vars.hostWidth]: 'fit-content',\n [vars.hostDirection]: globalRefs.direction,\n\n [vars.textAlign]: 'center',\n\n [vars.fontFamily]: globalRefs.fonts.font1.family,\n [vars.fontWeight]: '400',\n\n [vars.verticalPadding]: '0.25em',\n [vars.horizontalPadding]: '0.5em',\n\n [vars.borderWidth]: globalRefs.border.xs,\n [vars.borderRadius]: globalRefs.radius.xs,\n [vars.borderColor]: 'transparent',\n [vars.borderStyle]: 'solid',\n\n _fullWidth: {\n [vars.hostWidth]: '100%',\n },\n\n size: {\n xs: { [vars.fontSize]: '12px' },\n sm: { [vars.fontSize]: '14px' },\n md: { [vars.fontSize]: '16px' },\n lg: { [vars.fontSize]: '18px' },\n },\n\n mode: {\n default: {\n [vars.textColor]: globalRefs.colors.surface.dark,\n _bordered: {\n [vars.borderColor]: globalRefs.colors.surface.light,\n },\n },\n primary: {\n [vars.textColor]: globalRefs.colors.primary.main,\n _bordered: {\n [vars.borderColor]: globalRefs.colors.primary.light,\n },\n },\n secondary: {\n [vars.textColor]: globalRefs.colors.secondary.main,\n _bordered: {\n [vars.borderColor]: globalRefs.colors.secondary.light,\n },\n },\n error: {\n [vars.textColor]: globalRefs.colors.error.main,\n _bordered: {\n [vars.borderColor]: globalRefs.colors.error.light,\n },\n },\n success: {\n [vars.textColor]: globalRefs.colors.success.main,\n _bordered: {\n [vars.borderColor]: globalRefs.colors.success.light,\n },\n },\n },\n};\n\nexport default badge;\nexport { vars };\n","import globals from '../globals';\nimport { AvatarClass } from '../../components/descope-avatar/AvatarClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\nconst compVars = AvatarClass.cssVarList;\n\nconst avatar = {\n [compVars.hostDirection]: globalRefs.direction,\n [compVars.editableIconColor]: globalRefs.colors.surface.dark,\n [compVars.editableBorderColor]: globalRefs.colors.surface.dark,\n [compVars.editableBackgroundColor]: globalRefs.colors.surface.main,\n [compVars.avatarTextColor]: globalRefs.colors.surface.main,\n [compVars.avatarBackgroundColor]: globalRefs.colors.surface.dark,\n\n _editable: {\n [compVars.cursor]: 'pointer',\n },\n\n size: {\n xs: {\n [compVars.hostWidth]: '30px',\n [compVars.hostHeight]: '30px',\n },\n sm: {\n [compVars.hostWidth]: '40px',\n [compVars.hostHeight]: '40px',\n },\n md: {\n [compVars.hostWidth]: '60px',\n [compVars.hostHeight]: '60px',\n },\n lg: {\n [compVars.hostWidth]: '98px',\n [compVars.hostHeight]: '98px',\n },\n },\n};\n\nexport default avatar;\n\nexport const vars = {\n ...compVars,\n};\n","import globals from '../globals';\nimport { MappingsFieldClass } from '../../components/mapping-fields/descope-mappings-field/MappingsFieldClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = MappingsFieldClass.cssVarList;\n\nexport const mappingsField = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.separatorFontSize]: '14px',\n [vars.labelsFontSize]: '14px',\n [vars.labelsLineHeight]: '1',\n [vars.labelsMarginBottom]: '6px',\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.itemMarginBottom]: '1em',\n // To be positioned correctly, the min width has to match the text field min width\n [vars.valueLabelMinWidth]: refs.minWidth,\n // To be positioned correctly, the min width has to match the combo box field min width\n [vars.attrLabelMinWidth]: `calc(12em + 2 * ${globalRefs.border.xs})`,\n [vars.separatorWidth]: '70px',\n [vars.removeButtonWidth]: '60px',\n};\n\nexport default mappingsField;\nexport { vars };\n","import globals from '../globals';\nimport { UserAttributeClass } from '../../components/descope-user-attribute/UserAttributeClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\nexport const vars = UserAttributeClass.cssVarList;\n\nconst userAttribute = {\n [vars.hostDirection]: globalRefs.direction,\n [vars.labelTextWidth]: '150px',\n [vars.valueTextWidth]: '200px',\n [vars.badgeMaxWidth]: '85px',\n [vars.itemsGap]: '16px',\n [vars.hostMinWidth]: '530px',\n _fullWidth: {\n [vars.hostWidth]: '100%',\n },\n};\n\nexport default userAttribute;\n","import globals from '../globals';\nimport { UserAuthMethodClass } from '../../components/descope-user-auth-method/UserAuthMethodClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\nexport const vars = UserAuthMethodClass.cssVarList;\n\nconst userAuthMethod = {\n [vars.hostDirection]: globalRefs.direction,\n [vars.labelTextWidth]: '200px',\n [vars.itemsGap]: '16px',\n [vars.hostMinWidth]: '530px',\n [vars.iconSize]: '24px',\n _fullWidth: {\n [vars.hostWidth]: '100%',\n },\n};\n\nexport default userAuthMethod;\n","import { SamlGroupMappingsClass } from '../../components/mapping-fields/descope-saml-group-mappings/SamlGroupMappingsClass';\nimport { refs } from './inputWrapper';\n\nconst vars = SamlGroupMappingsClass.cssVarList;\n\nexport const samlGroupMappings = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.groupNameInputMarginBottom]: '1em',\n};\n\nexport default samlGroupMappings;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { PolicyValidationClass } from '../../components/descope-policy-validation/PolicyValidationClass';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = PolicyValidationClass.cssVarList;\n\nconst policyValidation = {\n [vars.fontFamily]: refs.fontFamily,\n [vars.fontSize]: refs.labelFontSize,\n [vars.textColor]: refs.labelTextColor,\n [vars.borderWidth]: refs.borderWidth,\n [vars.borderStyle]: refs.borderStyle,\n [vars.borderColor]: refs.borderColor,\n [vars.borderRadius]: globalRefs.radius.sm,\n [vars.backgroundColor]: 'none',\n [vars.padding]: '0px',\n [vars.labelMargin]: globalRefs.spacing.sm,\n [vars.itemsSpacing]: globalRefs.spacing.lg,\n [vars.itemSymbolDefault]: \"'\\\\2022'\", // \"•\"\n [vars.itemSymbolSuccess]: \"'\\\\2713'\", // \"✓\"\n [vars.itemSymbolError]: \"'\\\\2A09'\", // \"⨉\"\n [vars.itemSymbolSuccessColor]: globalRefs.colors.success.main,\n [vars.itemSymbolErrorColor]: globalRefs.colors.error.main,\n};\n\nexport default policyValidation;\nexport { vars };\n","import { IconClass } from '../../components/descope-icon/IconClass';\n\nexport const vars = IconClass.cssVarList;\n\nconst icon = {};\n\nexport default icon;\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { CodeSnippetClass } from '../../components/descope-code-snippet/CodeSnippetClass';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = CodeSnippetClass.cssVarList;\n\nconst light = {\n color1: '#fa0',\n color2: '#d73a49',\n color3: '#6f42c1',\n color4: '#005cc5',\n color5: '#e36209',\n color6: '#6a737d',\n color7: '#22863a',\n color8: '#24292e',\n color9: '#735c0f',\n color10: '#f0fff4',\n color11: '#b31d28',\n color12: '#ffeef0',\n color13: '#032f62',\n};\n\nconst dark = {\n color1: '#c9d1d9',\n color2: '#ff7b72',\n color3: '#d2a8ff',\n color4: '#79c0ff',\n color5: '#ffa657',\n color6: '#8b949e',\n color7: '#7ee787',\n color8: '#c9d1d9',\n color9: '#735c0f',\n color10: '#f0fff4',\n color11: '#67060c',\n color12: '#ffeef0',\n color13: '#a5d6ff',\n};\n\nconst CodeSnippet = {\n [vars.rootBgColor]: globalRefs.colors.surface.main,\n [vars.rootTextColor]: globalRefs.colors.surface.contrast,\n [vars.docTagTextColor]: light.color2,\n [vars.keywordTextColor]: light.color2,\n [vars.metaKeywordTextColor]: light.color2,\n [vars.templateTagTextColor]: light.color2,\n [vars.templateVariableTextColor]: light.color2,\n [vars.typeTextColor]: light.color2,\n [vars.variableLanguageTextColor]: light.color2,\n [vars.titleTextColor]: light.color3,\n [vars.titleClassTextColor]: light.color3,\n [vars.titleClassInheritedTextColor]: light.color3,\n [vars.titleFunctionTextColor]: light.color3,\n [vars.attrTextColor]: light.color4,\n [vars.attributeTextColor]: light.color4,\n [vars.literalTextColor]: light.color4,\n [vars.metaTextColor]: light.color4,\n [vars.numberTextColor]: light.color4,\n [vars.operatorTextColor]: light.color4,\n [vars.variableTextColor]: light.color4,\n [vars.selectorAttrTextColor]: light.color4,\n [vars.selectorClassTextColor]: light.color4,\n [vars.selectorIdTextColor]: light.color4,\n [vars.regexpTextColor]: light.color13,\n [vars.stringTextColor]: light.color13,\n [vars.metaStringTextColor]: light.color13,\n [vars.builtInTextColor]: light.color5,\n [vars.symbolTextColor]: light.color5,\n [vars.commentTextColor]: light.color6,\n [vars.codeTextColor]: light.color6,\n [vars.formulaTextColor]: light.color6,\n [vars.nameTextColor]: light.color7,\n [vars.quoteTextColor]: light.color7,\n [vars.selectorTagTextColor]: light.color7,\n [vars.selectorPseudoTextColor]: light.color7,\n [vars.substTextColor]: light.color8,\n [vars.sectionTextColor]: light.color4,\n [vars.bulletTextColor]: light.color9,\n [vars.emphasisTextColor]: light.color8,\n [vars.strongTextColor]: light.color8,\n [vars.additionTextColor]: light.color7,\n [vars.additionBgColor]: light.color10,\n [vars.deletionTextColor]: light.color2,\n [vars.deletionBgColor]: light.color10,\n /* purposely ignored */\n // [vars.charEscapeTextColor]: '',\n // [vars.linkTextColor]: '',\n // [vars.paramsTextColor]: '',\n // [vars.propertyTextColor]: '',\n // [vars.punctuationTextColor]: '',\n // [vars.tagTextColor ]: '',\n};\n\nexport const codeSnippetDarkThemeOverrides = {\n codeSnippet: {\n [vars.rootBgColor]: globalRefs.colors.surface.main,\n [vars.rootTextColor]: globalRefs.colors.surface.contrast,\n [vars.docTagTextColor]: dark.color2,\n [vars.keywordTextColor]: dark.color2,\n [vars.metaKeywordTextColor]: dark.color2,\n [vars.templateTagTextColor]: dark.color2,\n [vars.templateVariableTextColor]: dark.color2,\n [vars.typeTextColor]: dark.color2,\n [vars.variableLanguageTextColor]: dark.color2,\n [vars.titleTextColor]: dark.color3,\n [vars.titleClassTextColor]: dark.color3,\n [vars.titleClassInheritedTextColor]: dark.color3,\n [vars.titleFunctionTextColor]: dark.color3,\n [vars.attrTextColor]: dark.color4,\n [vars.attributeTextColor]: dark.color4,\n [vars.literalTextColor]: dark.color4,\n [vars.metaTextColor]: dark.color4,\n [vars.numberTextColor]: dark.color4,\n [vars.operatorTextColor]: dark.color4,\n [vars.variableTextColor]: dark.color4,\n [vars.selectorAttrTextColor]: dark.color4,\n [vars.selectorClassTextColor]: dark.color4,\n [vars.selectorIdTextColor]: dark.color4,\n [vars.regexpTextColor]: dark.color13,\n [vars.stringTextColor]: dark.color13,\n [vars.metaStringTextColor]: dark.color13,\n [vars.builtInTextColor]: dark.color5,\n [vars.symbolTextColor]: dark.color5,\n [vars.commentTextColor]: dark.color6,\n [vars.codeTextColor]: dark.color6,\n [vars.formulaTextColor]: dark.color6,\n [vars.nameTextColor]: dark.color7,\n [vars.quoteTextColor]: dark.color7,\n [vars.selectorTagTextColor]: dark.color7,\n [vars.selectorPseudoTextColor]: dark.color7,\n [vars.substTextColor]: dark.color8,\n [vars.sectionTextColor]: dark.color4,\n [vars.bulletTextColor]: dark.color9,\n [vars.emphasisTextColor]: dark.color8,\n [vars.strongTextColor]: dark.color8,\n [vars.additionTextColor]: dark.color7,\n [vars.additionBgColor]: dark.color10,\n [vars.deletionTextColor]: dark.color2,\n [vars.deletionBgColor]: dark.color10,\n },\n};\n\nexport default CodeSnippet;\nexport { vars };\n","import { RadioGroupClass } from '../../../components/descope-radio-group/RadioGroupClass';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport globals from '../../globals';\nimport { refs } from '../inputWrapper';\n\nconst vars = RadioGroupClass.cssVarList;\nconst globalRefs = getThemeRefs(globals);\n\nexport const radioGroup = {\n [vars.buttonsRowGap]: '9px',\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.helperTextColor]: refs.helperTextColor,\n [vars.itemsLabelColor]: globalRefs.colors.surface.contrast,\n\n textAlign: {\n right: { [vars.inputTextAlign]: 'right' },\n left: { [vars.inputTextAlign]: 'left' },\n center: { [vars.inputTextAlign]: 'center' },\n },\n\n _fullWidth: {\n [vars.buttonsSpacing]: 'space-between',\n },\n\n _disabled: {\n [vars.itemsLabelColor]: globalRefs.colors.surface.light,\n },\n};\n\nexport default radioGroup;\nexport { vars };\n","import { RadioButtonClass } from '../../../components/descope-radio-group/RadioButtonClass';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport globals from '../../globals';\nimport { refs } from '../inputWrapper';\n\nconst vars = RadioButtonClass.cssVarList;\nconst globalRefs = getThemeRefs(globals);\n\nexport const radioButton = {\n [vars.fontFamily]: refs.fontFamily,\n [vars.radioSize]: 'calc(1em + 6px)',\n [vars.radioMargin]: 'auto 4px',\n [vars.radioCheckedSize]: `calc(var(${vars.radioSize})/5)`,\n [vars.radioCheckedColor]: globalRefs.colors.surface.light,\n [vars.radioBackgroundColor]: globalRefs.colors.surface.light,\n [vars.radioBorderColor]: 'none',\n [vars.radioBorderWidth]: 0,\n\n _checked: {\n [vars.radioBackgroundColor]: globalRefs.colors.surface.contrast,\n },\n\n _hover: {\n cursor: 'pointer',\n },\n\n size: {\n xs: {\n [vars.fontSize]: '12px',\n },\n sm: {\n [vars.fontSize]: '14px',\n },\n md: {\n [vars.fontSize]: '16px',\n },\n lg: {\n [vars.fontSize]: '18px',\n },\n },\n};\n\nexport default radioButton;\nexport { vars };\n","export const activeableMixin = (superclass) =>\n class ActiveableMixinClass extends superclass {\n init() {\n super.init?.();\n\n this.baseElement.addEventListener('mousedown', (e) => {\n e.preventDefault();\n this.setAttribute('active', 'true');\n window.addEventListener('mouseup', () => this.removeAttribute('active'), {\n once: true,\n });\n });\n }\n };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { activeableMixin } from '../../mixins/activableMixin';\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 <style>\n /*css*/\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n\n /*!css*/\n </style>\n <slot></slot>\n `;\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","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { ListItemClass } from './ListItemClass';\n\nexport const componentName = getComponentName('list');\n\nclass RawList extends createBaseClass({ componentName, baseSelector: '.wrapper' }) {\n static get observedAttributes() {\n return ['variant'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t /*css*/\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name=\"empty-state\"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name=\"empty-state\"] {\n display: none;\n }\n :host([empty]) slot[name=\"empty-state\"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n /*!css*/\n\t\t</style>\n\n <div class=\"wrapper\">\n <slot></slot>\n <slot name=\"empty-state\">\n No item...\n </slot>\n </div>\n\t`;\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 });\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 }\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 globals from '../../globals';\nimport { getThemeRefs, createHelperVars, useVar } from '../../../helpers/themeHelpers';\nimport { ListClass, componentName } from '../../../components/descope-list/ListClass';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst compVars = ListClass.cssVarList;\n\nconst [helperTheme, helperRefs, helperVars] = createHelperVars(\n { shadowColor: '#00000020' },\n componentName\n);\n\nconst { shadowColor } = helperRefs;\n\nconst list = {\n ...helperTheme,\n\n [compVars.hostWidth]: '100%',\n [compVars.backgroundColor]: globalRefs.colors.surface.main,\n [compVars.fontFamily]: globalRefs.fonts.font1.family,\n [compVars.borderColor]: globalRefs.colors.surface.light,\n [compVars.borderStyle]: 'solid',\n [compVars.borderWidth]: globalRefs.border.xs,\n [compVars.borderRadius]: globalRefs.radius.sm,\n [compVars.gap]: globalRefs.spacing.md,\n [compVars.verticalPadding]: globalRefs.spacing.lg,\n [compVars.horizontalPadding]: globalRefs.spacing.lg,\n [compVars.boxShadow]: `${globalRefs.shadow.wide.sm} ${shadowColor}, ${globalRefs.shadow.narrow.sm} ${shadowColor}`,\n [compVars.maxHeight]: '100%',\n [compVars.hostDirection]: globalRefs.direction,\n [compVars.minItemsWidth]: '150px',\n\n _empty: {\n [compVars.minHeight]: '150px',\n [compVars.emptyStateTextColor]: globalRefs.colors.surface.dark,\n [compVars.emptyStateTextFontFamily]: globalRefs.fonts.font1.family,\n },\n\n variant: {\n tiles: {\n [compVars.gridTemplateColumns]: `repeat(auto-fit, minmax(min(${useVar(\n compVars.minItemsWidth\n )}, 100%), 1fr))`,\n [compVars.maxItemsWidth]: '200px',\n [compVars.itemsHorizontalAlign]: 'center',\n },\n },\n};\n\nexport default list;\n\nexport const vars = {\n ...compVars,\n ...helperVars,\n};\n","import globals from '../../globals';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport { ListItemClass } from '../../../components/descope-list/ListItemClass';\n\nconst globalRefs = getThemeRefs(globals);\n\nexport const vars = ListItemClass.cssVarList;\n\nconst list = {\n [vars.backgroundColor]: globalRefs.colors.surface.main,\n [vars.padding]: globalRefs.spacing.lg,\n [vars.gap]: globalRefs.spacing.md,\n [vars.borderStyle]: 'solid',\n [vars.borderWidth]: globalRefs.border.xs,\n [vars.borderColor]: globalRefs.colors.surface.main,\n [vars.borderRadius]: globalRefs.radius.sm,\n [vars.cursor]: 'pointer',\n [vars.alignItems]: 'center',\n [vars.flexDirection]: 'row',\n [vars.transition]: 'border-color 0.2s, background-color 0.2s',\n\n variant: {\n tile: {\n [vars.alignItems]: 'flex-start',\n [vars.flexDirection]: 'column',\n [vars.borderColor]: globalRefs.colors.surface.light,\n },\n },\n\n _hover: {\n [vars.backgroundColor]: globalRefs.colors.surface.highlight,\n },\n\n _active: {\n [vars.backgroundColor]: globalRefs.colors.surface.main,\n [vars.borderColor]: globalRefs.colors.primary.light,\n [vars.outline]: `1px solid ${globalRefs.colors.primary.light}`,\n },\n};\n\nexport default list;\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 if (rerenderAttrsList.length) {\n observeAttributes(this, () => this.#renderItems(), { includeAttrs: rerenderAttrsList });\n } else {\n this.#renderItems();\n }\n }\n };\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { createDynamicDataMixin } from '../../mixins/createDynamicDataMixin';\nimport { TextClass } from '../descope-text/TextClass';\n\nexport const componentName = getComponentName('apps-list');\n\nconst limitAbbreviation = (str, limit = 3) =>\n str\n .trim()\n .split(' ')\n .splice(0, limit)\n .map((s) => s[0]?.toUpperCase())\n .join('');\n\nconst itemRenderer = ({ name, icon, url }, _, ref) => `\n <a href=\"${url}\" target=\"_blank\" title=\"${url}\">\n <descope-list-item>\n <descope-avatar\n img=\"${icon}\"\n display-name=\"${name}\"\n abbr=${limitAbbreviation(name)}\n size=${ref.size}\n ></descope-avatar>\n <descope-text\n variant=\"body1\"\n mode=\"primary\"\n >${name}</descope-text>\n </descope-list-item>\n </a>\n`;\n\nconst customMixin = (superclass) =>\n class AppsListMixinClass extends superclass {\n get size() {\n return this.getAttribute('size') || 'sm';\n }\n };\n\nexport const AppsListClass = compose(\n createStyleMixin({\n mappings: {\n maxHeight: { selector: () => ':host' },\n minHeight: { selector: () => ':host' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n itemsFontWeight: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.fontWeight,\n },\n itemsFontSize: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.fontSize,\n },\n itemsTextAlign: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.textAlign,\n },\n },\n }),\n createDynamicDataMixin({ itemRenderer, rerenderAttrsList: ['size'] }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['empty-state'],\n wrappedEleName: 'descope-list',\n excludeAttrsSync: ['tabindex', 'class'],\n componentName,\n style: () => `\n :host {\n width: 100%;\n display: inline-flex;\n }\n\n descope-text::part(text-wrapper) {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n a {\n text-decoration: none;\n }\n\n descope-text {\n ${TextClass.cssVarList.hostDirection}: var(${AppsListClass.cssVarList.hostDirection});\n }\n `,\n })\n);\n","import { AppsListClass } from '../../components/descope-apps-list/AppsListClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport globals from '../globals';\n\nexport const vars = AppsListClass.cssVarList;\nconst globalRefs = getThemeRefs(globals);\n\nconst defaultHeight = '400px';\n\nconst appsList = {\n [vars.itemsFontWeight]: 'normal',\n [vars.itemsTextAlign]: 'start',\n [vars.hostDirection]: globalRefs.direction,\n [vars.maxHeight]: defaultHeight,\n\n _empty: {\n [vars.minHeight]: defaultHeight,\n },\n\n size: {\n xs: {\n [vars.itemsFontSize]: '14px',\n },\n sm: {\n [vars.itemsFontSize]: '14px',\n },\n md: {\n [vars.itemsFontSize]: '16px',\n },\n lg: {\n [vars.itemsFontSize]: '20px',\n },\n },\n};\n\nexport default appsList;\n","import * as button from './button';\nimport * as textField from './textField';\nimport * as password from './password';\nimport * as numberField from './numberField';\nimport * as emailField from './emailField';\nimport * as textArea from './textArea';\nimport * as checkbox from './checkbox';\nimport * as switchToggle from './switchToggle';\nimport * as container from './container';\nimport * as logo from './logo';\nimport * as totpImage from './totpImage';\nimport * as notpImage from './notpImage';\nimport * as text from './text';\nimport * as enrichedText from './enrichedText';\nimport * as link from './link';\nimport * as divider from './divider';\nimport * as passcode from './passcode';\nimport { loaderRadial, loaderLinear } from './loader';\nimport * as comboBox from './comboBox';\nimport * as image from './image';\nimport * as phoneField from './phoneField';\nimport * as phoneInputBoxField from './phoneInputBoxField';\nimport * as newPassword from './newPassword';\nimport * as inputWrapper from './inputWrapper';\nimport * as uploadFile from './uploadFile';\nimport * as buttonSelectionGroupItem from './buttonSelectionGroup/buttonSelectionGroupItem';\nimport * as buttonSelectionGroup from './buttonSelectionGroup/buttonSelectionGroup';\nimport * as buttonMultiSelectionGroup from './buttonSelectionGroup/buttonMultiSelectionGroup';\nimport * as modal from './modal';\nimport * as grid from './grid';\nimport * as notificationCard from './notificationCard';\nimport * as multiSelectComboBox from './multiSelectComboBox';\nimport * as badge from './badge';\nimport * as avatar from './avatar';\nimport * as mappingsField from './mappingsField';\nimport * as userAttribute from './userAttribute';\nimport * as userAuthMethod from './userAuthMethod';\nimport * as samlGroupMappings from './samlGroupMappings';\nimport * as policyValidation from './policyValidation';\nimport * as icon from './icon';\nimport * as codeSnippet from './codeSnippet';\nimport * as radioGroup from './radioGroup/radioGroup';\nimport * as radioButton from './radioGroup/radioButton';\nimport * as list from './list/list';\nimport * as listItem from './list/listItem';\nimport * as appsList from './appsList';\n\nconst components = {\n button,\n textField,\n password,\n numberField,\n emailField,\n textArea,\n checkbox,\n switchToggle,\n container,\n logo,\n totpImage,\n notpImage,\n text,\n enrichedText,\n link,\n divider,\n passcode,\n loaderRadial,\n loaderLinear,\n comboBox,\n image,\n phoneField,\n phoneInputBoxField,\n newPassword,\n inputWrapper,\n uploadFile,\n buttonSelectionGroupItem,\n buttonSelectionGroup,\n buttonMultiSelectionGroup,\n modal,\n grid,\n notificationCard,\n multiSelectComboBox,\n badge,\n avatar,\n mappingsField,\n userAttribute,\n userAuthMethod,\n samlGroupMappings,\n policyValidation,\n icon,\n codeSnippet,\n radioGroup,\n radioButton,\n list,\n listItem,\n appsList,\n};\n\nconst theme = Object.keys(components).reduce(\n (acc, comp) => ({ ...acc, [comp]: components[comp].default }),\n {}\n);\nconst vars = Object.keys(components).reduce(\n (acc, comp) => ({ ...acc, [comp]: components[comp].vars }),\n {}\n);\n\nexport default theme;\nexport { vars };\n","import globals, { vars as globalsVars } from './globals';\nimport components, { vars as componentsVars } from './components';\n\nexport const defaultTheme = { globals, components };\nexport const themeVars = { globals: globalsVars, components: componentsVars };\n","import merge from 'lodash.merge';\nimport { defaultTheme } from './theme';\nimport { codeSnippetDarkThemeOverrides } from './theme/components/codeSnippet';\n\nexport const colors = {\n surface: {\n main: '#181a1c',\n dark: '#bec4ca',\n light: '#555f68',\n highlight: '#22262a',\n contrast: '#f5f6f7',\n },\n primary: {\n main: '#1f80ff',\n dark: '#71aeff',\n light: '#004094',\n highlight: '#00214d',\n contrast: '#000000',\n },\n secondary: {\n main: '#a665eb',\n dark: '#b9a0f3',\n light: '#683ae6',\n highlight: '#361299',\n contrast: '#000000',\n },\n success: {\n main: '#27963c',\n dark: '#8bc3a2',\n light: '#004d0f',\n highlight: '#001f00',\n contrast: '#000000',\n },\n error: {\n main: '#f85249',\n dark: '#fa7c75',\n light: '#c51107',\n highlight: '#4a0603',\n contrast: '#000000',\n },\n};\n\nconst darkTheme = merge({}, defaultTheme, {\n globals: {\n colors,\n },\n components: {\n ...codeSnippetDarkThemeOverrides,\n },\n});\n\nexport default darkTheme;\n"],"names":["forwardProps","observedAttributes","componentName","host","label","forwardAttributes","BaseInputClass","descopeInternalComponentName","component","checkboxLabel","requiredIndicator","helperText","errorMessage","proxyInputMixin","BooleanFieldInternal","selectors","after","textVars","text","placeholder","inputField","customMixin","wrapper","link","internalWrapper","inputElement","textArea","BaseClass","toggle","clearButton","commonAttrs","mapAttrs","inputRelatedAttrs","PhoneFieldInternal","phoneInput","separator","PhoneFieldInternalInputBox","icon","title","CodeSnippet","avatar","buttons","badge","textWrapper","textField","childNodeName","groupComponentName","buttonComponentName","colors","vars","globalRefs","compVars","helperTheme","helperRefs","helperVars","theme","shadowColor","logo","textCompVars","linkCompVars","list","button","password","numberField","emailField","checkbox","switchToggle","container","enrichedText","divider","passcode","loaderRadial","loaderLinear","comboBox","image","phoneField","phoneInputBoxField","newPassword","uploadFile","buttonSelectionGroupItem","buttonSelectionGroup","buttonMultiSelectionGroup","modal","grid","multiSelectComboBox","mappingsField","userAttribute","userAuthMethod","samlGroupMappings","policyValidation","radioGroup","radioButton","appsList","components","globalsVars","componentsVars"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/helpers/index.js","../src/constants.js","../src/helpers/componentHelpers.js","../src/helpers/themeHelpers/componentsThemeManager.js","../src/mixins/createStyleMixin/helpers.js","../src/mixins/createStyleMixin/index.js","../src/mixins/draggableMixin.js","../src/mixins/componentNameValidationMixin.js","../src/mixins/componentsContextMixin.js","../src/mixins/hoverableMixin.js","../src/mixins/normalizeBooleanAttributesMixin.js","../src/baseClasses/createBaseClass.js","../src/helpers/mixinsHelpers.js","../src/mixins/createProxy.js","../src/mixins/inputValidationMixin.js","../src/mixins/proxyInputMixin.js","../src/mixins/portalMixin.js","../src/mixins/changeMixin.js","../src/mixins/inputEventsDispatchingMixin.js","../src/components/descope-icon/helpers.js","../src/components/descope-icon/IconClass.js","../src/components/descope-button/clickableMixin.js","../src/components/descope-button/ButtonClass.js","../src/components/descope-button/index.js","../src/baseClasses/createBaseInputClass.js","../src/components/boolean-fields/descope-boolean-field-internal/BooleanFieldInternal.js","../src/components/boolean-fields/booleanFieldMixin.js","../src/helpers/themeHelpers/resetHelpers.js","../src/components/boolean-fields/commonStyles.js","../src/components/boolean-fields/descope-checkbox/CheckboxClass.js","../src/components/boolean-fields/descope-boolean-field-internal/index.js","../src/components/boolean-fields/descope-checkbox/index.js","../src/components/boolean-fields/descope-switch-toggle/SwitchToggleClass.js","../src/components/boolean-fields/descope-switch-toggle/index.js","../src/components/descope-loader-linear/LoaderLinearClass.js","../src/components/descope-loader-linear/index.js","../src/components/descope-loader-radial/LoaderRadialClass.js","../src/components/descope-loader-radial/index.js","../src/components/descope-container/ContainerClass.js","../src/components/descope-container/index.js","../src/components/descope-text/TextClass.js","../src/components/descope-divider/DividerClass.js","../src/components/descope-text/index.js","../src/components/descope-divider/index.js","../src/components/descope-text-field/textFieldMappings.js","../src/components/descope-email-field/EmailFieldClass.js","../src/components/descope-email-field/index.js","../src/components/descope-link/LinkClass.js","../src/components/descope-link/index.js","../src/baseClasses/createCssVarImageClass.js","../src/components/descope-logo/LogoClass.js","../src/components/descope-logo/index.js","../src/components/descope-totp-image/TotpImageClass.js","../src/components/descope-totp-image/index.js","../src/components/descope-notp-image/NotpImageClass.js","../src/components/descope-notp-image/index.js","../src/components/descope-number-field/NumberFieldClass.js","../src/components/descope-number-field/index.js","../src/components/descope-passcode/descope-passcode-internal/helpers.js","../src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js","../src/components/descope-text-field/TextFieldClass.js","../src/components/descope-passcode/PasscodeClass.js","../src/components/descope-text-field/index.js","../src/components/descope-passcode/descope-passcode-internal/index.js","../src/components/descope-passcode/index.js","../src/components/descope-password/passwordDraggableMixin.js","../src/components/descope-password/PasswordClass.js","../src/components/descope-password/index.js","../src/components/descope-enriched-text/consts.js","../src/components/descope-enriched-text/helpers.js","../src/components/descope-enriched-text/EnrichedTextClass.js","../src/components/descope-enriched-text/index.js","../src/components/descope-text-area/TextAreaClass.js","../src/components/descope-text-area/index.js","../src/components/descope-image/ImageClass.js","../src/components/descope-image/index.js","../src/components/descope-combo-box/ComboBoxClass.js","../src/components/descope-combo-box/index.js","../src/components/phone-fields/CountryCodes.js","../src/components/phone-fields/descope-phone-field/helpers.js","../src/components/phone-fields/descope-phone-field/descope-phone-field-internal/PhoneFieldInternal.js","../src/components/phone-fields/descope-phone-field/descope-phone-field-internal/index.js","../src/components/phone-fields/descope-phone-field/PhoneFieldClass.js","../src/components/phone-fields/descope-phone-field/index.js","../src/components/phone-fields/helpers.js","../src/components/phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/PhoneFieldInternalInputBox.js","../src/components/phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/index.js","../src/components/phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass.js","../src/components/phone-fields/descope-phone-input-box-field/index.js","../src/components/descope-new-password/descope-new-password-internal/componentName.js","../src/components/descope-policy-validation/helpers.js","../src/components/descope-policy-validation/PolicyValidationClass.js","../src/components/descope-new-password/NewPasswordClass.js","../src/components/descope-policy-validation/index.js","../src/components/descope-new-password/descope-new-password-internal/NewPasswordInternal.js","../src/components/descope-new-password/descope-new-password-internal/index.js","../src/components/descope-new-password/index.js","../src/components/descope-recaptcha/RecaptchaClass.js","../src/components/descope-recaptcha/index.js","../src/components/descope-upload-file/helpers.js","../src/components/descope-upload-file/UploadFileClass.js","../src/components/descope-upload-file/index.js","../src/components/button-selection-group-fields/createBaseButtonSelectionGroupInternalClass.js","../src/components/button-selection-group-fields/descope-button-selection-group-internal/ButtonSelectionGroupInternalClass.js","../src/components/button-selection-group-fields/baseButtonSelectionGroup.js","../src/components/button-selection-group-fields/descope-button-selection-group/ButtonSelectionGroupClass.js","../src/components/button-selection-group-fields/descope-button-selection-group-internal/index.js","../src/components/button-selection-group-fields/descope-button-selection-group-item/ButtonSelectionGroupItemClass.js","../src/components/button-selection-group-fields/descope-button-selection-group-item/index.js","../src/components/button-selection-group-fields/descope-button-selection-group/index.js","../src/components/button-selection-group-fields/descope-button-multi-selection-group-internal/ButtonMultiSelectionGroupInternalClass.js","../src/components/button-selection-group-fields/descope-button-multi-selection-group/ButtonMultiSelectionGroupClass.js","../src/components/button-selection-group-fields/descope-button-multi-selection-group-internal/index.js","../src/components/button-selection-group-fields/descope-button-multi-selection-group/index.js","../src/components/descope-grid/descope-grid-text-column/GridTextColumnClass.js","../src/components/descope-grid/descope-grid-text-column/index.js","../src/components/descope-grid/descope-grid-custom-column/GridCustomColumnClass.js","../src/components/descope-grid/descope-grid-custom-column/index.js","../src/components/descope-grid/descope-grid-selection-column/GridSelectionColumnClass.js","../src/components/descope-grid/descope-grid-selection-column/index.js","../src/components/descope-grid/descope-grid-item-details-column/GridItemDetailsColumnClass.js","../src/components/descope-grid/descope-grid-item-details-column/index.js","../src/components/descope-code-snippet/helpers.js","../src/components/descope-code-snippet/CodeSnippetClass.js","../src/components/descope-code-snippet/index.js","../src/components/descope-grid/helpers.js","../src/components/descope-grid/GridClass.js","../src/components/descope-grid/index.js","../src/components/descope-multi-select-combo-box/MultiSelectComboBoxClass.js","../src/components/descope-multi-select-combo-box/index.js","../src/components/descope-badge/BadgeClass.js","../src/components/descope-badge/index.js","../src/components/descope-modal/ModalClass.js","../src/components/descope-modal/index.js","../src/components/descope-notification/descope-notification-container.js","../src/components/descope-notification/descope-notification-card/NotificationCardClass.js","../src/components/descope-notification/descope-notification-card/index.js","../src/components/descope-notification/NotificationClass.js","../src/components/descope-notification/index.js","../src/components/descope-avatar/AvatarClass.js","../src/components/descope-avatar/index.js","../src/components/descope-icon/index.js","../src/components/mapping-fields/descope-mappings-field/descope-mappings-field-internal/MappingsFieldInternal.js","../src/components/mapping-fields/descope-mappings-field/MappingsFieldClass.js","../src/components/mapping-fields/descope-mappings-field/descope-mappings-field-internal/index.js","../src/components/mapping-fields/descope-mappings-field/descope-mapping-item/MappingItem.js","../src/components/mapping-fields/descope-mappings-field/descope-mapping-item/index.js","../src/components/mapping-fields/descope-mappings-field/index.js","../src/components/descope-user-attribute/delete.svg","../src/components/descope-user-attribute/edit.svg","../src/components/descope-user-attribute/UserAttributeClass.js","../src/components/descope-user-attribute/index.js","../src/components/descope-user-auth-method/green-v.svg","../src/components/descope-user-auth-method/UserAuthMethodClass.js","../src/components/descope-user-auth-method/index.js","../src/components/mapping-fields/descope-saml-group-mappings/descope-saml-group-mappings-internal/SamlGroupMappingsInternal.js","../src/components/mapping-fields/descope-saml-group-mappings/SamlGroupMappingsClass.js","../src/components/mapping-fields/descope-saml-group-mappings/descope-saml-group-mappings-internal/index.js","../src/components/mapping-fields/descope-saml-group-mappings/index.js","../src/components/descope-radio-group/RadioButtonClass.js","../src/components/descope-radio-group/RadioGroupClass.js","../src/components/descope-radio-group/index.js","../src/mixins/activableMixin.js","../src/components/descope-list/ListItemClass.js","../src/components/descope-list/ListClass.js","../src/components/descope-list/index.js","../src/mixins/createDynamicDataMixin.js","../src/components/descope-apps-list/AppsListClass.js","../src/components/descope-apps-list/index.js","../src/helpers/themeHelpers/index.js","../src/helpers/themeHelpers/colorsHelpers.js","../src/theme/globals.js","../src/theme/components/button.js","../src/theme/components/inputWrapper.js","../src/theme/components/textField.js","../src/theme/components/password.js","../src/theme/components/numberField.js","../src/theme/components/emailField.js","../src/theme/components/textArea.js","../src/theme/components/checkbox.js","../src/theme/components/switchToggle.js","../src/theme/components/container.js","../src/theme/components/logo.js","../src/theme/components/totpImage.js","../src/theme/components/notpImage.js","../src/theme/components/text.js","../src/theme/components/link.js","../src/theme/components/enrichedText.js","../src/theme/components/divider.js","../src/theme/components/passcode.js","../src/theme/components/loader/loaderLinear.js","../src/theme/components/loader/loaderRadial.js","../src/theme/components/comboBox.js","../src/theme/components/image.js","../src/theme/components/phoneField.js","../src/theme/components/phoneInputBoxField.js","../src/theme/components/newPassword.js","../src/theme/components/uploadFile.js","../src/theme/components/buttonSelectionGroup/buttonSelectionGroupItem.js","../src/theme/components/buttonSelectionGroup/baseButtonSelectionGroup.js","../src/theme/components/buttonSelectionGroup/buttonSelectionGroup.js","../src/theme/components/buttonSelectionGroup/buttonMultiSelectionGroup.js","../src/theme/components/modal.js","../src/theme/components/grid.js","../src/theme/components/notificationCard.js","../src/theme/components/multiSelectComboBox.js","../src/theme/components/badge.js","../src/theme/components/avatar.js","../src/theme/components/mappingsField.js","../src/theme/components/userAttribute.js","../src/theme/components/userAuthMethod.js","../src/theme/components/samlGroupMappings.js","../src/theme/components/policyValidation.js","../src/theme/components/icon.js","../src/theme/components/codeSnippet.js","../src/theme/components/radioGroup/radioGroup.js","../src/theme/components/radioGroup/radioButton.js","../src/theme/components/list/list.js","../src/theme/components/list/listItem.js","../src/theme/components/appsList.js","../src/theme/components/index.js","../src/theme/index.js","../src/darkTheme.js"],"sourcesContent":["export const kebabCase = (str) =>\n str\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s_.]+/g, '-')\n .toLowerCase();\n\nexport const kebabCaseJoin = (...args) => kebabCase(args.filter((arg) => !!arg).join('-'));\n\nexport const compose =\n (...fns) =>\n (val) =>\n fns.reduceRight((res, fn) => fn(res), val);\n\nexport const upperFirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\n\nexport const isFunction = (maybeFunc) => typeof maybeFunc === 'function';\n\nexport const isUrl = (maybeUrl) => {\n try {\n // eslint-disable-next-line no-new\n new URL(maybeUrl);\n\n return true;\n } catch (e) {\n return false;\n }\n};\n\n/**\n * Compares two arrays unorderedly.\n * @param {Array} arr1 - The first array to compare.\n * @param {Array} arr2 - The second array to compare.\n * @returns {boolean} - Returns true if the arrays are equal unorderedly, false otherwise.\n */\nexport const compareArraysUnordered = (arr1, arr2) => {\n if (!Array.isArray(arr1) || !Array.isArray(arr2)) {\n return false;\n }\n\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n const sortedArr1 = arr1.slice().sort();\n const sortedArr2 = arr2.slice().sort();\n\n for (let i = 0; i < sortedArr1.length; i++) {\n if (sortedArr1[i] !== sortedArr2[i]) {\n return false;\n }\n }\n\n return true;\n};\n\nexport const toTitle = (str) =>\n str\n .replace(/([A-Z])/g, ' $1')\n .trim()\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n","export const DESCOPE_PREFIX = 'descope';\nexport const CSS_SELECTOR_SPECIFIER_MULTIPLY = 3;\nexport const BASE_THEME_SECTION = 'host';\nexport const PORTAL_THEME_PREFIX = '@';\n","import { kebabCaseJoin } from '.';\nimport { DESCOPE_PREFIX } from '../constants';\n\nexport const observeAttributes = (ele, callback, { excludeAttrs = [], includeAttrs = [] }) => {\n // sync all attrs on init\n const filteredAttrs = Array.from(ele.attributes)\n .filter(\n (attr) =>\n !excludeAttrs.includes(attr.name) &&\n (!includeAttrs.length || includeAttrs.includes(attr.name))\n )\n .map((attr) => attr.name);\n\n callback(filteredAttrs);\n\n const observer = new MutationObserver((mutationsList) => {\n mutationsList.forEach((mutation) => {\n if (\n mutation.type === 'attributes' &&\n !excludeAttrs.includes(mutation.attributeName) &&\n (!includeAttrs.length || includeAttrs.includes(mutation.attributeName))\n ) {\n callback([mutation.attributeName]);\n }\n });\n });\n\n observer.observe(ele, { attributes: true });\n};\n\n// calling the callback with this object: { addedNodes, removedNodes }\nexport const observeChildren = (ele, callback) => {\n callback({ addedNodes: Array.from(ele.children), removedNodes: [] });\n\n const observer = new MutationObserver((mutationsList) => {\n mutationsList.forEach((mutation) => {\n if (mutation.type === 'childList' || mutation.type === 'characterData') {\n callback(mutation);\n }\n });\n });\n\n observer.observe(ele, { childList: true, characterData: true, subtree: true });\n};\n\nconst createSyncAttrsCb =\n (srcEle, targetEle, mapAttrs = {}) =>\n (attrNames) => {\n attrNames.forEach((attrName) => {\n const targetAttrName = mapAttrs[attrName] || attrName;\n const srcAttrVal = srcEle.getAttribute(attrName);\n if (srcAttrVal !== null) {\n if (targetEle.getAttribute(targetAttrName) !== srcAttrVal) {\n targetEle.setAttribute(targetAttrName, srcAttrVal);\n }\n } else {\n targetEle.removeAttribute(targetAttrName);\n }\n });\n };\n\nexport const syncAttrs = (ele1, ele2, options) => {\n observeAttributes(ele1, createSyncAttrsCb(ele1, ele2), options);\n observeAttributes(ele2, createSyncAttrsCb(ele2, ele1), options);\n};\n\nexport const getComponentName = (name) => kebabCaseJoin(DESCOPE_PREFIX, name);\n\nexport const getCssVarName = (...args) => `--${kebabCaseJoin(...args)}`;\n\nexport const forwardAttrs = (source, dest, options = {}) => {\n observeAttributes(source, createSyncAttrsCb(source, dest, options.mapAttrs), options);\n};\n\nexport const forwardProps = (src, target, props = []) => {\n if (!props.length) return;\n\n const config = props.reduce(\n (acc, prop) =>\n Object.assign(acc, {\n [prop]: {\n get() {\n return src[prop];\n },\n set(v) {\n // eslint-disable-next-line no-param-reassign\n src[prop] = v;\n },\n },\n }),\n {}\n );\n\n Object.defineProperties(target, config);\n};\n","class ComponentsThemeManager {\n static mountOnPropName = 'DescopeThemeManager';\n\n #themes = {};\n\n #currentThemeName = 'light';\n\n #callbacks = new Set();\n\n #notify() {\n this.#callbacks.forEach((cb) => cb?.());\n }\n\n get currentThemeName() {\n return this.#currentThemeName;\n }\n\n set currentThemeName(themeName) {\n this.#currentThemeName = themeName;\n this.#notify();\n }\n\n get currentTheme() {\n return this.#themes[this.currentThemeName];\n }\n\n onCurrentThemeChange(cb) {\n this.#callbacks.add(cb);\n\n return () => {\n this.#callbacks.delete(cb);\n };\n }\n\n set themes(themes) {\n this.#themes = themes;\n this.#notify();\n }\n\n get hasThemes() {\n return !!Object.keys(this.#themes).length;\n }\n}\n\nexport const componentsThemeManager = new ComponentsThemeManager();\n","import { isFunction, kebabCase } from '../../helpers';\nimport { getCssVarName } from '../../helpers/componentHelpers';\n\nconst createCssVar = (varName, fallback) => `var(${varName}${fallback ? `, ${fallback}` : ''})`;\n\nconst createCssSelector = (baseSelector = '', relativeSelectorOrSelectorFn = '') =>\n isFunction(relativeSelectorOrSelectorFn)\n ? relativeSelectorOrSelectorFn(baseSelector)\n : `${baseSelector}${\n /^[A-Za-z]/.test(relativeSelectorOrSelectorFn)\n ? ` ${relativeSelectorOrSelectorFn}`\n : relativeSelectorOrSelectorFn\n }`;\n\nclass StyleBuilder {\n constructor() {\n this.styleMap = new Map();\n }\n\n add(selector, property, value) {\n if (!this.styleMap.has(selector)) {\n this.styleMap.set(selector, []);\n }\n\n this.styleMap.set(selector, [...this.styleMap.get(selector), { property, value }]);\n }\n\n toString() {\n return Array.from(this.styleMap.entries()).reduce((acc, [selector, propValArr]) => {\n const properties = propValArr\n .map(({ property, value }) => `${property}: ${value}`)\n .join(';\\n');\n\n return `${acc}${selector} { \\n${properties} \\n}\\n\\n`;\n }, '');\n }\n}\n\nconst normalizeConfig = (attr, config) => {\n const defaultMapping = { selector: '', property: kebabCase(attr) };\n\n if (!config || !Object.keys(config).length) return [defaultMapping];\n\n if (Array.isArray(config)) return config.map((entry) => ({ ...defaultMapping, ...entry }));\n\n return [{ ...defaultMapping, ...config }];\n};\n\nexport const createStyle = (componentName, baseSelector, mappings) => {\n const style = new StyleBuilder();\n\n Object.keys(mappings).forEach((attr) => {\n const attrConfig = normalizeConfig(attr, mappings[attr]);\n\n const cssVarName = getCssVarName(componentName, attr);\n\n attrConfig.forEach(\n ({ selector: relativeSelectorOrSelectorFn, property, important, fallback }) => {\n style.add(\n createCssSelector(baseSelector, relativeSelectorOrSelectorFn),\n isFunction(property) ? property() : property,\n createCssVar(cssVarName, fallback) + (important ? '!important' : '')\n );\n }\n );\n });\n\n return style.toString();\n};\n\nexport const createCssVarsList = (componentName, mappings) =>\n Object.keys(mappings).reduce(\n (acc, attr) => Object.assign(acc, { [attr]: getCssVarName(componentName, attr) }),\n {}\n );\n\n// on some cases we need a selector to be more specific than another\n// for this we have this fn that generate a class selector multiple times\nexport const createClassSelectorSpecifier = (className, numOfRepeats) =>\n Array(numOfRepeats).fill(`.${className}`).join('');\n","import { BASE_THEME_SECTION, CSS_SELECTOR_SPECIFIER_MULTIPLY } from '../../constants';\nimport { kebabCaseJoin } from '../../helpers';\nimport { getCssVarName, observeAttributes } from '../../helpers/componentHelpers';\nimport { componentsThemeManager } from '../../helpers/themeHelpers/componentsThemeManager';\nimport { createStyle, createCssVarsList, createClassSelectorSpecifier } from './helpers';\n\nconst STYLE_OVERRIDE_ATTR_PREFIX = 'st';\n\nexport const createStyleMixin =\n ({ mappings = {}, componentNameOverride = '' }) =>\n (superclass) => {\n const componentName = componentNameOverride || superclass.componentName;\n\n return class CustomStyleMixinClass extends superclass {\n static get cssVarList() {\n return {\n ...superclass.cssVarList,\n ...createCssVarsList(componentName, {\n ...mappings,\n }),\n };\n }\n\n #overrideStyleEle;\n\n #themeStyleEle;\n\n #disconnectThemeManager;\n\n #componentNameSuffix;\n\n #themeSection;\n\n #rootElement;\n\n #baseSelector;\n\n #styleAttributes;\n\n #getRootElement;\n\n // we are using this mixin also for portalMixin\n // so we should be able to inject styles to other DOM elements\n // this is why we need to support these overrides\n constructor({\n getRootElement,\n componentNameSuffix = '',\n themeSection = BASE_THEME_SECTION,\n baseSelector,\n } = {}) {\n super();\n this.#componentNameSuffix = componentNameSuffix;\n this.#themeSection = themeSection;\n this.#baseSelector = baseSelector ?? this.baseSelector;\n this.#getRootElement = getRootElement;\n\n this.#styleAttributes = Object.keys(mappings).map((key) =>\n kebabCaseJoin(STYLE_OVERRIDE_ATTR_PREFIX, componentNameSuffix, key)\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n get #componentTheme() {\n return componentsThemeManager.currentTheme?.[componentName] || '';\n }\n\n #onComponentThemeChange() {\n this.#themeStyleEle.innerHTML = this.#componentTheme[this.#themeSection];\n }\n\n #createComponentTheme() {\n this.#themeStyleEle = document.createElement('style');\n this.#themeStyleEle.id = `style-mixin-theme__${componentName}`;\n this.#rootElement.prepend(this.#themeStyleEle);\n this.#disconnectThemeManager = componentsThemeManager.onCurrentThemeChange(\n this.#onComponentThemeChange.bind(this)\n );\n this.#onComponentThemeChange();\n }\n\n #createOverridesStyle() {\n if (this.#styleAttributes.length) {\n this.#overrideStyleEle = document.createElement('style');\n this.#overrideStyleEle.id = `style-mixin-overrides__${componentName}`;\n\n const classSpecifier = createClassSelectorSpecifier(\n componentName,\n CSS_SELECTOR_SPECIFIER_MULTIPLY\n );\n\n this.#overrideStyleEle.innerText = `:host(${classSpecifier}) {}`;\n this.#rootElement.append(this.#overrideStyleEle);\n }\n }\n\n #setAttrOverride(attrName, value) {\n const style = this.#overrideStyleEle?.sheet?.cssRules[0].style;\n if (!style) return;\n\n const varName = getCssVarName(\n componentName,\n attrName.replace(new RegExp(`^${STYLE_OVERRIDE_ATTR_PREFIX}-`), '')\n );\n\n if (value) style?.setProperty(varName, value);\n else {\n style?.removeProperty(varName);\n this.removeAttribute(attrName);\n }\n }\n\n #updateOverridesStyle(attrs = []) {\n let shouldUpdate = false;\n\n attrs.forEach((attr) => {\n if (this.#styleAttributes.includes(attr)) {\n this.#setAttrOverride(attr, this.getAttribute(attr));\n shouldUpdate = true;\n }\n });\n\n if (shouldUpdate) {\n // we are rewriting the style back to the style tag\n this.#overrideStyleEle.innerHTML = this.#overrideStyleEle?.sheet?.cssRules[0].cssText;\n }\n }\n\n #createMappingStyle() {\n if (Object.keys(mappings).length) {\n const themeStyle = document.createElement('style');\n themeStyle.id = `style-mixin-mappings__${componentName}`;\n themeStyle.innerHTML = createStyle(\n kebabCaseJoin(componentName, this.#componentNameSuffix),\n this.#baseSelector,\n mappings\n );\n this.#rootElement.prepend(themeStyle);\n }\n }\n\n #addClassName(className) {\n (this.#rootElement.classList || this.#rootElement.host.classList).add(className);\n }\n\n async init() {\n super.init?.();\n if (this.shadowRoot.isConnected) {\n this.#rootElement = (await this.#getRootElement?.(this)) || this.shadowRoot;\n\n this.#addClassName(componentName);\n\n this.#createMappingStyle();\n this.#createComponentTheme();\n this.#createOverridesStyle();\n\n // this is instead attributeChangedCallback because we cannot use static methods in this case\n observeAttributes(this, this.#updateOverridesStyle.bind(this), {});\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback?.();\n\n this.#disconnectThemeManager?.();\n }\n };\n };\n","export const draggableMixin = (superclass) =>\n class DraggableMixinClass extends superclass {\n #styleEle = null;\n\n static get observedAttributes() {\n const superAttrs = superclass.observedAttributes || [];\n return [...superAttrs, 'draggable'];\n }\n\n constructor() {\n super();\n\n this.#styleEle = document.createElement('style');\n this.#styleEle.innerText = `* { cursor: inherit!important }`;\n }\n\n #handleDraggableStyle(isDraggable) {\n if (isDraggable) {\n this.shadowRoot.appendChild(this.#styleEle);\n } else {\n this.#styleEle.remove();\n }\n }\n\n get isDraggable() {\n return this.hasAttribute('draggable') && this.getAttribute('draggable') !== 'false';\n }\n\n init() {\n // because we are delegating the focus from the outer component,\n // the D&D is not working well in the page editor\n // in order to solve it we are making the inner component focusable on mouse down\n // and removing it on complete\n this.addEventListener('mousedown', (e) => {\n if (this.isDraggable) {\n const prevTabIndex = this.baseElement.getAttribute('tabindex');\n this.baseElement.setAttribute('tabindex', '-1');\n\n const onComplete = () => {\n prevTabIndex\n ? this.baseElement.setAttribute('tabindex', prevTabIndex)\n : this.baseElement.removeAttribute('tabindex');\n\n e.target.removeEventListener('mouseup', onComplete);\n e.target.removeEventListener('dragend', onComplete);\n };\n\n e.target.addEventListener('mouseup', onComplete, { once: true });\n e.target.addEventListener('dragend', onComplete, { once: true });\n }\n });\n\n super.init?.();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n if (attrName === 'draggable') {\n this.#handleDraggableStyle(newValue === 'true');\n }\n }\n };\n","export const componentNameValidationMixin = (superclass) =>\n class ComponentNameValidationMixinClass extends superclass {\n #checkComponentName() {\n const currentComponentName = this.localName;\n\n if (!superclass.componentName) {\n throw Error(\n `component name is not defined on super class, make sure you have a static get for \"componentName\"`\n );\n }\n\n if (currentComponentName !== superclass.componentName) {\n throw Error(\n `component name mismatch, expected \"${superclass.componentName}\", current \"${currentComponentName}\"`\n );\n }\n }\n\n init() {\n super.init?.();\n this.#checkComponentName();\n }\n };\n","export const componentsContextMixin = (superclass) =>\n class ComponentsContextMixinClass extends superclass {\n updateComponentsContext(componentsContext) {\n this.dispatchEvent(\n new CustomEvent('components-context', {\n bubbles: true,\n composed: true,\n detail: componentsContext,\n })\n );\n }\n };\n","export const hoverableMixin = (superclass) =>\n class HoverableMixinClass extends superclass {\n init() {\n super.init?.();\n\n this.baseElement.addEventListener('mouseover', (e) => {\n this.setAttribute('hover', 'true');\n e.target.addEventListener('mouseleave', () => this.removeAttribute('hover'), {\n once: true,\n });\n });\n }\n };\n","import { observeAttributes } from '../helpers/componentHelpers';\n\nconst booleanAttributesList = [\n 'readonly',\n 'focused',\n 'invalid',\n 'has-label',\n 'required',\n 'disabled',\n 'checked',\n 'has-helper',\n 'has-value',\n 'step-buttons-visible',\n 'hover',\n 'has-error-message',\n 'focus-ring',\n 'opened',\n 'active',\n 'password-visible',\n 'opening',\n 'closing',\n 'has-no-options',\n];\n\nconst isBooleanAttribute = (attr) => {\n return booleanAttributesList.includes(attr);\n};\n// we want all the valueless attributes to have \"true\" value\n// and all the falsy attribute to be removed\nexport const normalizeBooleanAttributesMixin = (superclass) =>\n class NormalizeBooleanAttributesMixinClass extends superclass {\n init() {\n super.init?.();\n\n observeAttributes(\n this,\n (attrs) =>\n attrs.forEach((attr) => {\n const attrVal = this.getAttribute(attr);\n\n if (isBooleanAttribute(attr)) {\n if (attrVal === '') {\n this.setAttribute(attr, 'true');\n } else if (attrVal === 'false') {\n this.removeAttribute(attr);\n }\n } else if (!attrVal) {\n // eslint-disable-next-line no-console\n console.debug(\n `attribute \"${attr}\" has no value, should it be added to the boolean attributes list?`\n );\n }\n }),\n {}\n );\n }\n };\n","import { compose } from '../helpers';\nimport { componentNameValidationMixin } from '../mixins/componentNameValidationMixin';\nimport { componentsContextMixin } from '../mixins/componentsContextMixin';\nimport { hoverableMixin } from '../mixins/hoverableMixin';\nimport { normalizeBooleanAttributesMixin } from '../mixins/normalizeBooleanAttributesMixin';\n\nexport const createBaseClass = ({ componentName, baseSelector = '' }) => {\n class DescopeBaseClass extends HTMLElement {\n static get componentName() {\n return componentName;\n }\n\n #baseElement;\n\n #isInit = true;\n\n // base selector is the selector for the component wrapper,\n // it's the highest element that is relevant for the layout\n // eslint-disable-next-line class-methods-use-this\n get baseSelector() {\n return baseSelector;\n }\n\n // this is the base element, which returned by querying the base selector\n get baseElement() {\n this.#baseElement ??= this.baseSelector\n ? this.rootElement.querySelector(this.baseSelector)\n : this;\n\n if (!this.#baseElement) {\n // eslint-disable-next-line no-console\n console.warn('missing base element for component', this.localName);\n }\n return this.#baseElement;\n }\n\n // this is the component root level element,\n // it can be either a shadow root or the component's node from the light DOM\n get rootElement() {\n return this.shadowRoot || this;\n }\n\n get name() {\n return this.getAttribute('name');\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n if (this.rootElement.isConnected) {\n // the init function is running once, on the first time the component is connected\n if (this.#isInit) {\n this.#isInit = false;\n this.init?.();\n }\n }\n }\n }\n\n return compose(\n componentNameValidationMixin,\n hoverableMixin,\n normalizeBooleanAttributesMixin,\n componentsContextMixin\n )(DescopeBaseClass);\n};\n","// create a dispatch event function that also calls to the onevent function in case it's set\n// usage example:\n// #dispatchSomething = createDispatchEvent.bind(this, 'something' { ...options })\n// this will dispatch a new event when called, but also call to \"onsomething\"\nexport function createDispatchEvent(eventName, options = {}) {\n const event = new Event(eventName, options);\n\n this[`on${eventName}`]?.(event); // in case we got an event callback as property\n this.dispatchEvent(event);\n}\n","import { createBaseClass } from '../baseClasses/createBaseClass';\nimport { isFunction } from '../helpers';\nimport { forwardProps, syncAttrs } from '../helpers/componentHelpers';\nimport { createDispatchEvent } from '../helpers/mixinsHelpers';\n\nexport const createProxy = ({\n componentName,\n wrappedEleName,\n slots = [],\n style,\n excludeAttrsSync = [],\n includeAttrsSync = [],\n includeForwardProps = [],\n delegatesFocus = true,\n}) => {\n class ProxyClass extends createBaseClass({ componentName, baseSelector: wrappedEleName }) {\n #dispatchBlur = createDispatchEvent.bind(this, 'blur');\n\n #dispatchFocus = createDispatchEvent.bind(this, 'focus');\n\n constructor() {\n super().attachShadow({ mode: 'open', delegatesFocus }).innerHTML = `\n\t\t\t<style id=\"create-proxy\">${(isFunction(style) ? style() : style) || ''}</style>\n\t\t\t<${wrappedEleName}>\n\t\t\t${slots\n .map(\n (\n slot // when slot is an empty string, we will create the default slot (without a name)\n ) => `<slot ${slot ? `name=\"${slot}\" slot=\"${slot}\"` : ''}></slot>`\n )\n .join('')}\n\t\t\t</${wrappedEleName}>\n\t\t`;\n }\n\n init() {\n super.init?.();\n\n this.baseElement.addEventListener('blur', (_) => {\n this.#dispatchBlur();\n });\n\n this.baseElement.addEventListener('focus', (_) => {\n this.#dispatchFocus();\n });\n\n // this is needed for components that uses props, such as combo box\n forwardProps(this.baseElement, this, includeForwardProps);\n\n syncAttrs(this.baseElement, this, {\n excludeAttrs: excludeAttrsSync,\n includeAttrs: includeAttrsSync,\n });\n }\n }\n\n return ProxyClass;\n};\n","import 'element-internals-polyfill'; // this is needed in order to support older browsers\n\nconst observedAttributes = ['required', 'pattern'];\n\nconst errorAttributes = {\n valueMissing: 'data-errormessage-value-missing',\n patternMismatch: 'data-errormessage-pattern-mismatch',\n tooShort: 'data-errormessage-pattern-mismatch-too-short',\n tooLong: 'data-errormessage-pattern-mismatch-too-long',\n typeMismatch: 'data-errormessage-type-mismatch',\n};\n\nconst validationTargetSymbol = Symbol('validationTarget');\n\nexport const inputValidationMixin = (superclass) =>\n class InputValidationMixinClass extends superclass {\n #validationTarget = validationTargetSymbol;\n\n static get observedAttributes() {\n return [...(superclass.observedAttributes || []), ...observedAttributes];\n }\n\n static get formAssociated() {\n return true;\n }\n\n #internals;\n\n get internals() {\n return this.#internals;\n }\n\n set internals(value) {\n this.#internals = value;\n }\n\n constructor() {\n super();\n\n this.#internals = this.attachInternals();\n }\n\n // eslint-disable-next-line class-methods-use-this\n get defaultErrorMsgValueMissing() {\n return 'Please fill out this field.';\n }\n\n // eslint-disable-next-line class-methods-use-this\n get defaultErrorMsgPatternMismatch() {\n return 'Please match the requested format.';\n }\n\n get defaultErrorMsgTooShort() {\n return `Minimum length is ${this.getAttribute('minlength')}.`;\n }\n\n get defaultErrorMsgTooLong() {\n return `Maximum length is ${this.getAttribute('maxlength')}. `;\n }\n\n get defaultErrorMsgRangeUnderflow() {\n return `At least ${this.getAttribute('min-items-selection')} items are required.`;\n }\n\n get defaultErrorMsgRangeOverflow() {\n return `At most ${this.getAttribute('max-items-selection')} items are allowed.`;\n }\n\n // eslint-disable-next-line class-methods-use-this\n get defaultErrorMsgTypeMismatch() {\n return `Please match the requested type.`;\n }\n\n getErrorMessage(flags) {\n const {\n valueMissing,\n patternMismatch,\n typeMismatch,\n stepMismatch,\n tooShort,\n tooLong,\n rangeOverflow,\n rangeUnderflow,\n badInput,\n customError,\n } = flags;\n\n switch (true) {\n case valueMissing:\n return (\n this.getAttribute(errorAttributes.valueMissing) || this.defaultErrorMsgValueMissing\n );\n case patternMismatch || stepMismatch || badInput:\n return (\n this.getAttribute(errorAttributes.patternMismatch) ||\n this.defaultErrorMsgPatternMismatch\n );\n case typeMismatch:\n return (\n this.getAttribute(errorAttributes.typeMismatch) ||\n this.getAttribute(errorAttributes.patternMismatch) ||\n this.defaultErrorMsgTypeMismatch\n );\n case tooShort:\n return this.getAttribute(errorAttributes.tooShort) || this.defaultErrorMsgTooShort;\n case tooLong:\n return this.getAttribute(errorAttributes.tooLong) || this.defaultErrorMsgTooLong;\n case rangeUnderflow:\n return this.defaultErrorMsgRangeUnderflow;\n case rangeOverflow:\n return this.defaultErrorMsgRangeOverflow;\n case customError:\n return this.validationMessage;\n default:\n return '';\n }\n }\n\n #setValidity() {\n const validity = this.isReadOnly ? {} : this.getValidity();\n this.#internals.setValidity(validity, this.getErrorMessage(validity), this.validationTarget);\n }\n\n get validationMessage() {\n return this.#internals.validationMessage;\n }\n\n // eslint-disable-next-line class-methods-use-this\n getValidity() {\n // eslint-disable-next-line no-console\n console.warn('getValidity', 'is not implemented');\n }\n\n checkValidity() {\n return this.#internals.validity.valid;\n }\n\n reportValidity() {\n return this.#internals.reportValidity();\n }\n\n get validity() {\n return this.#internals.validity;\n }\n\n get validationTarget() {\n return this.#validationTarget === validationTargetSymbol\n ? this.inputElement\n : this.#validationTarget;\n }\n\n set validationTarget(val) {\n this.#validationTarget = val;\n }\n\n setCustomValidity(errorMessage) {\n if (errorMessage) {\n this.#internals.setValidity({ customError: true }, errorMessage, this.validationTarget);\n } else {\n this.#internals.setValidity({});\n this.#setValidity();\n }\n }\n\n get isRequired() {\n return this.hasAttribute('required') && this.getAttribute('required') !== 'false';\n }\n\n get isReadOnly() {\n return this.hasAttribute('readonly') && this.getAttribute('readonly') !== 'false';\n }\n\n get isDisabled() {\n return this.hasAttribute('disabled') && this.getAttribute('disabled') !== 'false';\n }\n\n get pattern() {\n return this.getAttribute('pattern');\n }\n\n get form() {\n return this.#internals.form;\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (observedAttributes.includes(attrName)) {\n this.#setValidity();\n }\n }\n\n init() {\n super.init?.();\n this.addEventListener('change', this.#setValidity);\n this.addEventListener('invalid', (e) => e.stopPropagation());\n this.addEventListener('input', this.#setValidity);\n\n // The attribute sync takes time, so getValidity returns valid,\n // even when it shouldn't. This way allows all attributes to sync\n // after render, before checking the validity.\n setTimeout(() => this.#setValidity());\n }\n };\n","/* eslint-disable no-param-reassign */\nimport { compose } from '../helpers';\nimport { forwardAttrs, getComponentName } from '../helpers/componentHelpers';\nimport { createDispatchEvent } from '../helpers/mixinsHelpers';\nimport { createStyleMixin } from './createStyleMixin';\nimport { inputValidationMixin } from './inputValidationMixin';\n\nconst errorAttrs = ['invalid', 'required'];\n\nconst forwardProps = (src, targets, property) => {\n const targetArr = Array.isArray(targets) ? targets : [targets];\n\n Object.defineProperty(src, property, {\n set(v) {\n targetArr.forEach((target) => {\n target[property] = v;\n });\n },\n get() {\n return targets[0][property];\n },\n configurable: true,\n });\n};\n\n// recursively take the first slot child until it finds an element which is not a slot\n// stops after \"nestingLevel\" times\nconst getNestedInput = (ele) => {\n if (!ele) return undefined;\n\n const nestingLevel = 10;\n\n let nonSlotEle = ele;\n for (let i = 0; i < nestingLevel; i++) {\n [nonSlotEle] = nonSlotEle.assignedElements();\n if (nonSlotEle?.localName !== 'slot') return nonSlotEle;\n }\n return undefined;\n};\n\nconst proxyInputMixin =\n ({\n proxyProps = [],\n // useProxyTargets flag allows to forwardProps to other targets, other than\n // `this.inputElement`.\n // if needed\n useProxyTargets = false,\n // allows us to set the event that should trigger validation\n // it can be either a string or an array of strings (for multiple events)\n inputEvent = 'input',\n triggerValidationEvents = [],\n // Proxies all validations from the parent component to the input element\n proxyParentValidation = false,\n }) =>\n (superclass) =>\n class ProxyInputMixinClass extends inputValidationMixin(superclass) {\n static get observedAttributes() {\n return [...(superclass.observedAttributes || []), ...errorAttrs];\n }\n\n #inputElement;\n\n #dispatchChange = createDispatchEvent.bind(this, 'change');\n\n constructor() {\n super();\n\n this.#inputElement = super.inputElement;\n }\n\n // the web-component does not loaded immediately, so we want to defer the warning\n // and show it only if the input element was not found after the component is loaded\n warnIfInputElementIsMissing() {\n clearTimeout(this.inputElementTimerId);\n\n this.inputElementTimerId = setTimeout(() => {\n // eslint-disable-next-line no-console\n !this.#inputElement && console.warn(this.localName, 'no input was found');\n }, 0);\n }\n\n get inputElement() {\n if (this.#inputElement) return this.#inputElement;\n\n this.warnIfInputElementIsMissing();\n\n const inputSlot = this.baseElement.shadowRoot?.querySelector('slot[name=\"input\"]');\n const textAreaSlot = this.baseElement.shadowRoot?.querySelector('slot[name=\"textarea\"]');\n\n this.#inputElement = getNestedInput(inputSlot) || getNestedInput(textAreaSlot);\n\n return this.#inputElement;\n }\n\n set inputElement(ele) {\n this.#inputElement = ele;\n }\n\n getValidity() {\n return this.inputElement?.validity || {};\n }\n\n #handleErrorMessage() {\n this.setAttribute('error-message', this.validationMessage);\n }\n\n // We do not want to show the default validity report tooltip\n // So we are overriding the reportValidity fn to show the input's error message\n reportValidity = () => {\n // we want to update validity so in case the value was set programmatically, we won't get an error\n this.inputElement.setCustomValidity('');\n this.setCustomValidity('');\n if (!this.checkValidity()) {\n this.setAttribute('invalid', 'true');\n this.#handleErrorMessage();\n this.focus();\n }\n };\n\n // we are keeping also the default reportValidity because there are some components that still using it\n defaultReportValidity() {\n return super.reportValidity();\n }\n\n init() {\n super.init?.();\n\n // vaadin sets invalid indication on blur\n // we want invalid indication to appear only when calling reportValidity\n // this is why we are overriding vaadin's setInvalid behavior\n // to update only when the element is valid (so invalid indication will only be removed)\n // and we are adding it in reportValidity\n // eslint-disable-next-line func-names\n this.baseElement._setInvalid = function (invalid) {\n if (!invalid && this._shouldSetInvalid(invalid)) {\n this.invalid = invalid;\n }\n };\n\n // We want to ensure that `input` events properly cross ShadowDOM boundries\n // e.g. When we autofill a component's input with 1Password, for instance,\n // the event is fired without `composed: true` and doesn't our component's\n // ShadowDOM.\n this.baseElement.addEventListener('input', (e) => {\n if (!e.composed) {\n this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n }\n });\n\n triggerValidationEvents.forEach((e) => {\n this.baseElement?.addEventListener(e, () => {\n this.inputElement?.setCustomValidity('');\n });\n });\n\n // on some cases the base element is not ready so the inputElement is empty\n // we are deferring this section to make sure the base element is ready\n setTimeout(() => {\n const validationEvents = Array.isArray(inputEvent) ? inputEvent : [inputEvent];\n\n validationEvents.forEach((e) => {\n this.baseElement?.addEventListener(e, () => {\n if (!this.baseElement.checkValidity()) {\n this.#handleErrorMessage();\n } else {\n this.removeAttribute('invalid');\n }\n });\n });\n\n this.baseElement.addEventListener('change', () => {\n this.#dispatchChange();\n });\n\n this.addEventListener('invalid', () => {\n if (!this.checkValidity()) {\n this.setAttribute('invalid', 'true');\n }\n this.#handleErrorMessage();\n });\n\n // sync properties\n proxyProps.forEach((prop) => {\n const proxyTargets = useProxyTargets ? [this.baseElement].filter(Boolean) : [];\n forwardProps(this, [this.inputElement, ...proxyTargets], prop);\n });\n\n this.setSelectionRange = this.inputElement.setSelectionRange?.bind(this.inputElement);\n\n forwardAttrs(this, this.inputElement, { includeAttrs: ['inputmode'] });\n });\n\n if (proxyParentValidation) {\n // All functions called on the inputElement internals will be applied to the parent\n // component internals as well. As a result, there's no need to add outer mechanisms\n // to update the parent component's validity state based on the input elements validity.\n const inputElementInternals = this.inputElement.internals;\n const parentThis = this;\n this.inputElement.internals = new Proxy(inputElementInternals, {\n get: (target, prop) => {\n if (typeof target[prop] === 'function' && prop === 'setValidity') {\n return (...args) => {\n // If we're calling setValidity with 3 args, then the validationTarget\n // needs to be swapped to be the inputElement\n if (args.length === 3) {\n const newArgs = args.slice(0, args.length - 1);\n newArgs.push(parentThis.inputElement);\n parentThis.internals[prop](...newArgs);\n } else {\n parentThis.internals[prop](...args);\n }\n return target[prop](...args);\n };\n }\n\n if (typeof target[prop] === 'function') {\n return (...args) => {\n parentThis.internals[prop](...args);\n return target[prop](...args);\n };\n }\n\n return target[prop];\n },\n });\n }\n }\n };\n\nconst composedProxyInputMixin = (proxyInputMixinConfig) =>\n compose(\n proxyInputMixin(proxyInputMixinConfig),\n // in order to use input-wrapper across all our input components, we need to inject its theme\n // to every proxy input mixin, to allow its css vars to be scoped properly and accessible\n // in the proxy input component\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') })\n );\n\nexport { composedProxyInputMixin as proxyInputMixin };\n","import { PORTAL_THEME_PREFIX } from '../constants';\nimport { kebabCaseJoin } from '../helpers';\nimport { forwardAttrs } from '../helpers/componentHelpers';\nimport { createStyleMixin } from './createStyleMixin';\nimport { createCssVarsList } from './createStyleMixin/helpers';\n\n// this is needed because we might generate the same css vars names\n// e.g. \"overlayColor\" attribute in style mixin's mapping,\n// will generate the same var as \"color\" attribute in portals's mapping\n// when the portal name is \"overlay\".\n// because of that, we are adding this separator that is also used as a differentiator\nconst DISPLAY_NAME_SEPARATOR = '_';\n\nconst sanitizeSelector = (selector) => selector.replace(/[^\\w\\s]/gi, '');\n\nconst withWaitForShadowRoot = (getRootElementFn) => async (that) => {\n const ele = await getRootElementFn(that);\n\n return new Promise((res) => {\n const MAX_RETRIES = 20;\n let counter = 0;\n\n const check = () => {\n if (counter > MAX_RETRIES) {\n // eslint-disable-next-line no-console\n console.error('could not get shadow root for element', ele);\n res(ele);\n return;\n }\n\n counter++;\n\n if (!ele?.shadowRoot) setTimeout(check);\n else res(ele.shadowRoot);\n };\n check();\n });\n};\n\nexport const portalMixin =\n ({ name, selector, mappings = {}, forward: { attributes = [], include = true } = {} }) =>\n (superclass) => {\n const eleDisplayName = name || sanitizeSelector(selector);\n\n const BaseClass = createStyleMixin({\n mappings,\n })(superclass);\n\n return class PortalMixinClass extends BaseClass {\n static get cssVarList() {\n return {\n ...BaseClass.cssVarList,\n [eleDisplayName]: createCssVarsList(\n kebabCaseJoin(superclass.componentName, DISPLAY_NAME_SEPARATOR + eleDisplayName),\n mappings\n ),\n };\n }\n\n #portalEle;\n\n constructor() {\n // we cannot use \"this\" before calling \"super\"\n const getRootElement = async (that) => {\n const baseEle = that.shadowRoot.querySelector(that.baseSelector);\n if (!selector) {\n return baseEle;\n }\n\n // in case we have a selector, we should first wait for the base element shadow root\n // and then look for the internal element\n const baseEleShadowRoot = await withWaitForShadowRoot(() => baseEle)(that);\n return baseEleShadowRoot.querySelector(selector);\n };\n\n const getPortalElement = withWaitForShadowRoot(getRootElement);\n\n super({\n getRootElement: getPortalElement,\n componentNameSuffix: DISPLAY_NAME_SEPARATOR + eleDisplayName,\n themeSection: PORTAL_THEME_PREFIX + eleDisplayName,\n baseSelector: ':host',\n });\n\n this.#portalEle = getPortalElement(this).then((ele) => ele.host);\n }\n\n async #handleHoverAttribute() {\n const portalEle = await this.#portalEle;\n portalEle.onmouseenter = (e) => {\n e.target.setAttribute('hover', 'true');\n };\n portalEle.onmouseleave = (e) => {\n e.target.removeAttribute('hover');\n };\n }\n\n async init() {\n super.init?.();\n const portalEle = await this.#portalEle;\n forwardAttrs(this, portalEle, {\n [include ? 'includeAttrs' : 'excludeAttrs']: attributes,\n });\n\n this.#handleHoverAttribute();\n }\n };\n };\n","import { createDispatchEvent } from '../helpers/mixinsHelpers';\n\nexport const changeMixin = (superclass) =>\n class ChangeMixinClass extends superclass {\n #dispatchChange = createDispatchEvent.bind(this, 'change');\n\n init() {\n super.init?.();\n this.prevValue = this.value;\n\n this.addEventListener('change', (e) => {\n e.stopPropagation();\n });\n\n this.addEventListener('blur', () => {\n if (this.value !== this.prevValue) {\n this.#dispatchChange();\n this.prevValue = this.value;\n }\n });\n }\n };\n","import { createDispatchEvent } from '../helpers/mixinsHelpers';\n\nexport const inputEventsDispatchingMixin = (superclass) =>\n class InputEventsDispatchingMixinClass extends superclass {\n init() {\n this.#blockNativeEvents();\n\n super.init?.();\n }\n\n // we want to block the native (trusted) events and control when these events are being dispatched\n #blockNativeEvents() {\n ['blur', 'focus', 'focusin', 'focusout'].forEach((event) => {\n this.addEventListener(event, (e) => {\n e.isTrusted && e.target === this && e.stopImmediatePropagation();\n });\n });\n }\n\n handleFocusEventsDispatching(inputs) {\n let timerId;\n\n // in order to simulate blur & focusout on root input element\n // we are checking if focus on one of the inner elements happened immediately after blur\n // if not, the component is no longer focused and we should dispatch blur & focusout\n inputs?.forEach((input) => {\n input?.addEventListener('focusout', (e) => {\n e.stopImmediatePropagation();\n timerId = setTimeout(() => {\n timerId = null;\n\n createDispatchEvent.call(this, 'blur');\n createDispatchEvent.call(this, 'focusout', { bubbles: true });\n });\n });\n\n // in order to simulate focus & focusin on the root input element\n // we are holding a timer id and clearing it on focusin\n // if there is a timer id, it means that the root input is still focused\n // otherwise, it was not focused before, and we should dispatch focus & focusin\n const onFocus = (e) => {\n e.stopImmediatePropagation();\n clearTimeout(timerId);\n if (!timerId) {\n createDispatchEvent.call(this, 'focus');\n createDispatchEvent.call(this, 'focusin', { bubbles: true });\n }\n };\n\n // some components are not dispatching focusin but only focus\n input?.addEventListener('focusin', onFocus);\n input?.addEventListener('focus', onFocus);\n });\n }\n\n // we want to block the input events from propagating in case the value of the root input wasn't change\n // this can happen if we are sanitizing characters on the internal inputs and do not want it to affect the root input element value\n // in this case, on each input event, we are comparing the root input value to the previous one, and only if it does not match, we are allowing the input event to propagate\n handleInputEventDispatching() {\n let previousRootComponentValue = this.value;\n\n this.addEventListener('input', (e) => {\n // we are comparing the previous value to the new one,\n // and if they have the same value, we are blocking the input event\n if (previousRootComponentValue === this.value) {\n e.stopImmediatePropagation();\n } else {\n previousRootComponentValue = this.value;\n }\n });\n }\n };\n","const getFileExtension = (path) => {\n const match = path.match(/\\.([0-9a-z]+)(?:[\\\\?#]|$)/i);\n return match ? match[1] : null;\n};\n\nconst base64Prefix = 'data:image/svg+xml;base64,';\n\nconst isBase64Svg = (src) => src.startsWith(base64Prefix);\n\nconst createImgEle = (src) => {\n const ele = document.createElement('img');\n ele.setAttribute('src', src);\n return ele;\n};\n\nconst createSvgEle = (text) => {\n const parser = new DOMParser();\n const ele = parser.parseFromString(text, 'image/svg+xml').querySelector('svg');\n return ele;\n};\n\nexport const createIcon = async (src) => {\n try {\n let ele;\n if (isBase64Svg(src)) {\n // handle base64 source\n const svgXml = atob(src.slice(base64Prefix.length));\n ele = createSvgEle(svgXml);\n } else if (getFileExtension(src) === 'svg') {\n // handle urls\n const fetchedSrc = await fetch(src);\n const text = await fetchedSrc.text();\n ele = createSvgEle(text);\n } else {\n // handle binary\n ele = createImgEle(src);\n }\n\n ele.style.setProperty('width', '100%');\n ele.style.setProperty('height', '100%');\n\n return ele;\n } catch {\n return null;\n }\n};\n","/* eslint-disable no-use-before-define */\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { createIcon } from './helpers';\n\nexport const componentName = getComponentName('icon');\n\nclass RawIcon extends createBaseClass({ componentName, baseSelector: 'slot' }) {\n static get observedAttributes() {\n return ['src', 'fill-color'];\n }\n\n #icon;\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t:host > slot {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t</style>\n\t\t<slot></slot>\n\t`;\n }\n\n get fillColor() {\n return this.getAttribute('fill-color') === 'true';\n }\n\n get src() {\n return this.getAttribute('src');\n }\n\n // in order to fill an SVG with `currentColor` override all of its `fill` and `path` nodes\n // with the value from the `st-fill` attribute\n updateFillColor() {\n if (this.#icon && this.fillColor) {\n const fillCssVar = (selector) => {\n this.querySelectorAll(selector).forEach((ele) =>\n ele.setAttribute(\n 'fill',\n `var(${IconClass.cssVarList.fill}, ${ele.getAttribute('fill') || \"''\"})`\n )\n );\n };\n\n fillCssVar('*[fill]');\n fillCssVar('path');\n }\n }\n\n resetIcon() {\n if (!this.#icon) return;\n this.innerHTML = '';\n this.appendChild(this.#icon.cloneNode(true));\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue === newValue) return;\n\n if (attrName === 'src') {\n createIcon(this.src).then((res) => {\n this.#icon = res;\n this.resetIcon();\n this.updateFillColor();\n });\n } else if (attrName === 'fill-color') {\n this.resetIcon();\n this.updateFillColor();\n }\n }\n}\n\nexport const IconClass = compose(\n createStyleMixin({\n mappings: {\n fill: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawIcon);\n","export const clickableMixin = (superclass) =>\n class ClickableMixinClass extends superclass {\n get isLoading() {\n return this.getAttribute('loading') === 'true';\n }\n\n click() {\n this.isLoading || super.click();\n }\n };\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { IconClass } from '../descope-icon/IconClass';\nimport { clickableMixin } from './clickableMixin';\n\nexport const componentName = getComponentName('button');\n\nconst resetStyles = `\n\t:host {\n\t\tdisplay: inline-block;\n\t\tbox-sizing: border-box;\n\t}\n\tvaadin-button::before,\n\tvaadin-button::after {\n\t\topacity: 0;\n\t}\n\tvaadin-button {\n\t\tmargin: 0;\n\t\tmin-width: 0;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tbox-shadow: none;\n\t}\n\tvaadin-button::part(label) {\n\t\tpadding: 0;\n width: 100%;\n\t}\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n`;\n\nconst iconStyles = `\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n`;\n\nconst editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;\n\nconst { host, label, slottedIcon } = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n slottedIcon: { selector: () => '::slotted(descope-icon)' },\n};\n\nlet loadingIndicatorStyles;\n\nexport const ButtonClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { property: 'width' },\n hostHeight: { property: 'height' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n fontFamily: {},\n\n cursor: {},\n backgroundColor: {},\n\n outlineOffset: {},\n outlineColor: {},\n outlineStyle: {},\n outlineWidth: {},\n\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [\n { property: 'padding-right', fallback: '0.875em' },\n { property: 'padding-left', fallback: '0.875em' },\n ],\n\n labelTextColor: { property: 'color' },\n iconColor: {\n selector: () => `::slotted(${IconClass.componentName})`,\n property: IconClass.cssVarList.fill,\n },\n labelTextDecoration: { ...label, property: 'text-decoration' },\n labelSpacing: { ...label, property: 'gap' },\n textAlign: { ...label, property: 'justify-content', fallback: 'center' },\n\n iconSize: [\n { ...slottedIcon, property: 'width' },\n { ...slottedIcon, property: 'height' },\n ],\n },\n }),\n clickableMixin,\n draggableMixin,\n componentNameValidationMixin\n)(\n createProxy({\n slots: ['', 'prefix', 'label', 'suffix'],\n wrappedEleName: 'vaadin-button',\n style: () => `\n\t\t\t${resetStyles}\n\t\t\t${iconStyles}\n\t\t\t${loadingIndicatorStyles}\n\t\t\t${editorOverrides}\n\t\t\t:host {\n\t\t\t\tpadding: calc(var(${ButtonClass.cssVarList.outlineWidth}) + var(${ButtonClass.cssVarList.outlineOffset}));\n\t\t\t}\n :host([full-width=\"true\"]) {\n width: var(${ButtonClass.cssVarList.hostWidth});\n }\n\t\t\tvaadin-button {\n\t\t\t\theight: calc(var(${ButtonClass.cssVarList.hostHeight}) - var(${ButtonClass.cssVarList.outlineWidth}) - var(${ButtonClass.cssVarList.outlineOffset}));\n\t\t\t}\n\t\t\t[square=\"true\"]:not([full-width=\"true\"]) {\n\t\t\t\twidth: calc(var(${ButtonClass.cssVarList.hostWidth}) - var(${ButtonClass.cssVarList.outlineWidth}) - var(${ButtonClass.cssVarList.outlineOffset}));\n padding: 0;\n\t\t\t}\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nconst { color, fontSize } = ButtonClass.cssVarList;\nloadingIndicatorStyles = `\n\t@keyframes spin {\n\t\t0% { -webkit-transform: rotate(0deg); }\n\t\t100% { -webkit-transform: rotate(360deg); }\n\t}\n\t:host([loading=\"true\"]) ::before {\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\tz-index: 1;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 50%;\n\t\tborder-bottom-color: transparent;\n\t\tborder-left-color: transparent;\n\t\tborder-style: solid;\n\t\tcolor: var(${color});\n\t\ttop: calc(50% - (var(${fontSize}) / 2));\n\t\tleft: calc(50% - (var(${fontSize}) / 2));\n\t\tborder-width: calc(var(${fontSize}) / 10);\n\t\twidth: var(${fontSize});\n\t\theight: var(${fontSize});\n\t}\n\t:host([disabled=\"true\"]),\n\t:host([loading=\"true\"]) {\n\t\tpointer-events: none;\n\t}\n\t:host([loading=\"true\"])::part(prefix),\n\t:host([loading=\"true\"])::part(label) {\n\t\tvisibility: hidden;\n\t}\n`;\n","import '@vaadin/button';\nimport { componentName, ButtonClass } from './ButtonClass';\n\ncustomElements.define(componentName, ButtonClass);\n\nexport { ButtonClass };\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 { 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 { 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","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]) [slot=\"label\"] {\n padding: 0;\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 { 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\theight: 0;\n\tmargin: 0;\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 { 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\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 }\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 }\n\n vaadin-text-field::part(input-field)::after {\n content: none;\n }\n `,\n excludeAttrsSync: ['label', 'tabindex'],\n componentName,\n })\n);\n","import BooleanFieldInternal, { componentName } from './BooleanFieldInternal';\n\ncustomElements.define(componentName, BooleanFieldInternal);\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 };\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: { ...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\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 { componentName, SwitchToggleClass } from './SwitchToggleClass';\nimport '@vaadin/checkbox';\nimport '@vaadin/text-field';\nimport '../descope-boolean-field-internal';\n\ncustomElements.define(componentName, SwitchToggleClass);\n\nexport { SwitchToggleClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('loader-linear');\n\nclass RawLoaderLinear extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n static get componentName() {\n return componentName;\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t@keyframes tilt {\n\t\t\t\t0% { transform: translateX(0); }\n\t\t\t\t50% { transform: translateX(400%); }\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tposition: relative;\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t\tdiv::after {\n\t\t\t\tcontent: '';\n\t\t\t\tanimation-name: tilt;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t\t:host > div {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t</style>\n\t\t<div></div>\n\t`;\n }\n}\n\nconst selectors = {\n after: { selector: '::after' },\n host: { selector: () => ':host' },\n};\n\nconst { after, host } = selectors;\n\nexport const LoaderLinearClass = compose(\n createStyleMixin({\n mappings: {\n hostDisplay: {},\n hostWidth: { ...host, property: 'width' },\n barHeight: [{ property: 'height' }, { ...after, property: 'height' }],\n barBorderRadius: [{ property: 'border-radius' }, { ...after, property: 'border-radius' }],\n verticalPadding: [\n { ...host, property: 'padding-top' },\n { ...host, property: 'padding-bottom' },\n ],\n barBackgroundColor: { property: 'background-color' },\n barColor: { ...after, property: 'background-color' },\n barWidth: { ...after, property: 'width' },\n animationDuration: [{}, after],\n animationTimingFunction: [{}, after],\n animationIterationCount: [{}, after],\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawLoaderLinear);\n","import { componentName, LoaderLinearClass } from './LoaderLinearClass';\n\ncustomElements.define(componentName, LoaderLinearClass);\n\nexport { LoaderLinearClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('loader-radial');\n\nclass RawLoaderRadial extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t@keyframes spin {\n\t\t\t\t0% { transform: rotate(0deg); }\n\t\t\t\t100% { transform: rotate(360deg); }\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tposition: relative;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\t\t\t:host > div {\n\t\t\t\tanimation-name: spin;\n\t\t\t}\n\t\t</style>\n\t\t<div></div>\n\t`;\n }\n}\n\nexport const LoaderRadialClass = compose(\n createStyleMixin({\n mappings: {\n hostDisplay: { property: 'display' },\n spinnerSize: [{ property: 'width' }, { property: 'height' }],\n spinnerBorderWidth: { property: 'border-width' },\n spinnerBorderStyle: { property: 'border-style' },\n spinnerBorderRadius: { property: 'border-radius' },\n spinnerQuadrant1Color: { property: 'border-top-color' },\n spinnerQuadrant2Color: { property: 'border-bottom-color' },\n spinnerQuadrant3Color: { property: 'border-right-color' },\n spinnerQuadrant4Color: { property: 'border-left-color' },\n animationDuration: {},\n animationTimingFunction: {},\n animationIterationCount: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawLoaderRadial);\n","import { componentName, LoaderRadialClass } from './LoaderRadialClass';\n\ncustomElements.define(componentName, LoaderRadialClass);\n\nexport { LoaderRadialClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('container');\n\nclass RawContainer extends createBaseClass({ componentName, baseSelector: 'slot' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t:host > slot {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tdisplay: flex;\n\t\t\t\toverflow: auto;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t</style>\n\t\t<slot></slot>\n\t`;\n }\n}\n\nexport const ContainerClass = compose(\n createStyleMixin({\n mappings: {\n hostHeight: { selector: () => ':host', property: 'height' },\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n itemsGrow: { selector: () => '::slotted(*)', property: 'flex-grow', fallback: '0' },\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],\n\n flexDirection: {},\n justifyContent: {},\n alignItems: {},\n gap: {},\n flexWrap: {},\n\n backgroundColor: {},\n color: {},\n borderRadius: {},\n\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n boxShadow: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawContainer);\n","import { componentName, ContainerClass } from './ContainerClass';\n\ncustomElements.define(componentName, ContainerClass);\n\nexport { ContainerClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({ componentName, baseSelector: ':host > slot' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <style>\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n </style>\n <slot part=\"text-wrapper\"></slot>\n `;\n }\n\n get hideWhenEmpty() {\n return this.getAttribute('hide-when-empty') === 'true';\n }\n\n init() {\n super.init();\n\n observeChildren(this, () => {\n const hasChildren = !!this.childNodes.length;\n this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';\n });\n }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontSize: {},\n textColor: { property: 'color' },\n textLineHeight: { property: 'line-height' },\n textLetterSpacing: { property: 'letter-spacing' },\n textShadow: {},\n textAlign: {},\n textTransform: {},\n fontFamily: {},\n fontStyle: {},\n fontWeight: {},\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawText);\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport { TextClass } from '../descope-text/TextClass';\n\nexport const componentName = getComponentName('divider');\nclass RawDivider extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t}\n\t\t\t\t:host > div {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\theight: 100%;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t}\n\t\t\t\t:host > div::before,\n\t\t\t\t:host > div::after {\n\t\t\t\t\tcontent: '';\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t}\n\t\t\t\tdescope-text {\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t\tflex-shrink: 0;\n\t\t\t\t}\n\t\t\t\t:host(:empty) descope-text {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t\t:host([vertical=\"true\"]) div {\n\t\t\t\t\twidth: fit-content;\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<div>\n\t\t\t\t<descope-text>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</descope-text>\n\t\t\t</div>\n\t\t`;\n\n this.textComponent = this.shadowRoot.querySelector('descope-text');\n\n forwardAttrs(this, this.textComponent, {\n includeAttrs: ['mode', 'variant', 'italic'],\n });\n }\n}\n\nconst textVars = TextClass.cssVarList;\nconst { host, before, after, text } = {\n host: { selector: () => ':host' },\n before: { selector: '::before' },\n after: { selector: '::after' },\n text: { selector: 'descope-text' },\n};\n\nexport const DividerClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostPadding: { ...host, property: 'padding' },\n hostDirection: { ...text, property: 'direction' },\n\n minHeight: {},\n alignItems: {},\n alignSelf: {},\n flexDirection: {},\n textAlign: { ...text, property: textVars.textAlign },\n\n labelTextWidth: { ...text, property: 'width' },\n labelTextMaxWidth: { ...text, property: 'max-width' },\n labelTextVerticalSpacing: [\n { ...text, property: 'padding-top' },\n { ...text, property: 'padding-bottom' },\n ],\n labelTextHorizontalSpacing: [\n { ...text, property: 'padding-right' },\n { ...text, property: 'padding-left' },\n ],\n\n stripeColor: [\n { ...before, property: 'background-color' },\n { ...after, property: 'background-color' },\n ],\n stripeHorizontalThickness: [\n { ...before, property: 'height' },\n { ...after, property: 'height' },\n ],\n stripeVerticalThickness: [\n { ...before, property: 'width' },\n { ...after, property: 'width' },\n ],\n stripeColorOpacity: [\n { ...before, property: 'opacity' },\n { ...after, property: 'opacity' },\n ],\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawDivider);\n","import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass };\n","import { componentName, DividerClass } from './DividerClass';\nimport '../descope-text';\n\ncustomElements.define(componentName, DividerClass);\n\nexport { DividerClass };\n","const {\n host,\n label,\n placeholder,\n requiredIndicator,\n inputField,\n input,\n inputMask,\n helperText,\n errorMessage,\n disabledPlaceholder,\n inputDisabled,\n inputIcon,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n placeholder: [\n { selector: '> input:placeholder-shown' },\n { selector: () => ':host::slotted(input:placeholder-shown)' },\n ],\n disabledPlaceholder: { selector: '> input:disabled::placeholder' },\n inputField: { selector: '::part(input-field)' },\n input: { selector: 'input' },\n inputMask: { selector: '::part(input-field)::before' },\n inputDisabled: { selector: 'input:disabled' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n inputIcon: { selector: 'vaadin-icon' },\n};\n\nexport default {\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host],\n fontFamily: [label, inputField, helperText, errorMessage],\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n { ...label, property: '-webkit-text-fill-color' },\n { ...requiredIndicator, property: '-webkit-text-fill-color' },\n ],\n\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n\n inputBackgroundColor: [\n { ...inputField, property: 'background-color' },\n { ...inputMask, property: 'background-color' },\n ],\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n helperTextColor: { ...helperText, property: '-webkit-text-fill-color' },\n\n inputValueTextColor: [\n { ...inputField, property: 'color' },\n { ...inputDisabled, property: '-webkit-text-fill-color' },\n ],\n inputCaretTextColor: [{ ...input, property: 'color' }],\n\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputHeight: { ...inputField, property: 'height' },\n inputHorizontalPadding: [\n { ...input, property: 'padding-left' },\n { ...input, property: 'padding-right' },\n ],\n\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n inputTextAlign: [{ ...input, property: 'text-align' }],\n\n inputPlaceholderColor: [\n { selector: () => ':host input:placeholder-shown', property: 'color' },\n { ...placeholder, property: 'color' },\n { ...disabledPlaceholder, property: '-webkit-text-fill-color' },\n ],\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: [{ selector: '> input:placeholder-shown', property: 'opacity' }],\n inputVerticalAlignment: [{ ...inputField, property: 'align-items' }],\n valueInputHeight: [{ ...input, property: 'height' }],\n valueInputMarginBottom: [{ ...input, property: 'margin-bottom' }],\n\n inputIconOffset: [\n { ...inputIcon, property: 'margin-right' },\n { ...inputIcon, property: 'margin-left' },\n ],\n inputIconSize: { ...inputIcon, property: 'font-size' },\n inputIconColor: { ...inputIcon, property: 'color' },\n};\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n inputFloatingLabelStyle,\n resetInputLabelPosition,\n resetInputOverrides,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('email-field');\n\nconst defaultPattern = \"^[\\\\w\\\\.\\\\%\\\\+\\\\-']+@[\\\\w\\\\.\\\\-]+\\\\.[A-Za-z]{2,}$\";\nconst defaultAutocomplete = 'username';\n\nconst customMixin = (superclass) =>\n class EmailFieldMixinClass extends superclass {\n init() {\n super.init?.();\n\n // we need to set the pattern on the base element because vaadin-email-field is overriding it\n this.baseElement.setAttribute('pattern', defaultPattern);\n\n if (!this.getAttribute('autocomplete')) {\n this.setAttribute('autocomplete', defaultAutocomplete);\n }\n }\n };\n\nexport const EmailFieldClass = compose(\n createStyleMixin({\n mappings: textFieldMappings,\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['', 'suffix'],\n wrappedEleName: 'vaadin-email-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${EmailFieldClass.cssVarList.inputOutlineWidth}) + var(${\n EmailFieldClass.cssVarList.inputOutlineOffset\n }));\n box-sizing: border-box;\n\t\t\t}\n ${resetInputLabelPosition('vaadin-email-field')}\n\t\t\t${useHostExternalPadding(EmailFieldClass.cssVarList)}\n\t\t\t${resetInputOverrides('vaadin-email-field', EmailFieldClass.cssVarList)}\n ${inputFloatingLabelStyle()}\n\n vaadin-email-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-email-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\n :host ::slotted(*) {\n -webkit-mask-image: none;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/email-field';\nimport { componentName, EmailFieldClass } from './EmailFieldClass';\n\ncustomElements.define(componentName, EmailFieldClass);\n\nexport { EmailFieldClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { TextClass } from '../descope-text/TextClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\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<style>\n\t\t: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\t\t</style>\n\t\t<div>\n\t\t\t<descope-text>\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 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-text';\n\ncustomElements.define(componentName, LinkClass);\n\nexport { LinkClass };\n","import { compose } from '../helpers';\nimport { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../mixins';\nimport { createBaseClass } from './createBaseClass';\n\nexport const createCssVarImageClass = ({ componentName, varName, fallbackVarName }) => {\n let style;\n const getContent = () => style;\n\n class RawCssVarImageClass extends createBaseClass({\n componentName,\n baseSelector: ':host > div',\n }) {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\t\t\t\t:host([draggable=\"true\"]) > div {\n\t\t\t\t\tpointer-events: none\n\t\t\t\t}\t\t\n\t\t\t\t:host > div {\n\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 100%;\n\t\t\t\t\tobject-fit: contain;\n\t\t\t\t\tmargin: auto;\n\t\t\t\t\t${getContent()}\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<div></div>\n\t\t\t`;\n }\n }\n\n const CssVarImageClass = compose(\n createStyleMixin({\n mappings: {\n height: { selector: () => ':host > div' },\n width: { selector: () => ':host > div' },\n [varName]: { property: 'content' },\n [fallbackVarName]: { property: 'content' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n )(RawCssVarImageClass);\n\n style = `content: var(${CssVarImageClass.cssVarList[varName]}, var(${CssVarImageClass.cssVarList[fallbackVarName]}));`;\n\n return CssVarImageClass;\n};\n","import { getComponentName } from '../../helpers/componentHelpers';\nimport { createCssVarImageClass } from '../../baseClasses/createCssVarImageClass';\n\nexport const componentName = getComponentName('logo');\n\nexport const LogoClass = createCssVarImageClass({\n componentName,\n varName: 'url',\n fallbackVarName: 'fallbackUrl',\n});\n","import { componentName, LogoClass } from './LogoClass';\n\ncustomElements.define(componentName, LogoClass);\n\nexport { LogoClass };\n","import { getComponentName } from '../../helpers/componentHelpers';\nimport { createCssVarImageClass } from '../../baseClasses/createCssVarImageClass';\n\nexport const componentName = getComponentName('totp-image');\n\nexport const TotpImageClass = createCssVarImageClass({\n componentName,\n varName: 'url',\n fallbackVarName: 'fallbackUrl',\n});\n","import { componentName, TotpImageClass } from './TotpImageClass';\n\ncustomElements.define(componentName, TotpImageClass);\n\nexport { TotpImageClass };\n","import { getComponentName } from '../../helpers/componentHelpers';\nimport { createCssVarImageClass } from '../../baseClasses/createCssVarImageClass';\n\nexport const componentName = getComponentName('notp-image');\n\nexport const NotpImageClass = createCssVarImageClass({\n componentName,\n varName: 'url',\n fallbackVarName: 'fallbackUrl',\n});\n","import { componentName, NotpImageClass } from './NotpImageClass';\n\ncustomElements.define(componentName, NotpImageClass);\n\nexport { NotpImageClass };\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n inputFloatingLabelStyle,\n resetInputLabelPosition,\n resetInputOverrides,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('number-field');\n\nexport const NumberFieldClass = compose(\n createStyleMixin({\n mappings: textFieldMappings,\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin\n)(\n createProxy({\n slots: ['', 'prefix', 'suffix'],\n wrappedEleName: 'vaadin-number-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${NumberFieldClass.cssVarList.inputOutlineWidth}) + var(${\n NumberFieldClass.cssVarList.inputOutlineOffset\n }));\n\t\t\t}\n ${resetInputLabelPosition('vaadin-number-field')}\n\t\t\t${useHostExternalPadding(NumberFieldClass.cssVarList)}\n\t\t\t${resetInputOverrides('vaadin-number-field', NumberFieldClass.cssVarList)}\n ${inputFloatingLabelStyle()}\n\n vaadin-number-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-number-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/number-field';\nimport { componentName, NumberFieldClass } from './NumberFieldClass';\n\ncustomElements.define(componentName, NumberFieldClass);\n\nexport { NumberFieldClass };\n","const INPUT_MASK_TEXT_PROP = '--descope-input-mask-content';\nconst INPUT_MASK_DISPLAY_PROP = '--descope-input-mask-display';\nconst INPUT_MASK_FALLBACK_PROP = '--descope-input-mask-fallback';\n\nexport const focusElement = (ele) => {\n ele?.focus();\n ele?.setSelectionRange?.(1, 1);\n};\n\nexport const sanitizeStr = (str) => {\n return str.replace(/\\D/g, '') || '';\n};\n\n// During debounced input we hide the value with a mask.\n// This allows us to hide the multiple population of the first input\n// in case of an automated input (e.g. Safari OTP Autofill or paste).\nexport const createInputMaskStyle = () => {\n const ele = document.createElement('style');\n ele.id = 'input-mask';\n ele.innerHTML = `vaadin-text-field::part(input-field)::before {\n ${INPUT_MASK_FALLBACK_PROP}: '';\n content: var(${INPUT_MASK_TEXT_PROP}, var(${INPUT_MASK_FALLBACK_PROP}));\n position: absolute;\n width: 100%;\n height: 100%;\n display: var(${INPUT_MASK_DISPLAY_PROP}, none);\n align-items: center;\n justify-content: center;\n }`;\n return ele;\n};\n\nexport const toggleMaskVisibility = (input, value) => {\n if (value) {\n input.style.setProperty(INPUT_MASK_TEXT_PROP, `\"${value}\"`);\n input.style.setProperty(INPUT_MASK_DISPLAY_PROP, 'flex');\n } else {\n input.style.removeProperty(INPUT_MASK_TEXT_PROP);\n input.style.removeProperty(INPUT_MASK_DISPLAY_PROP);\n }\n};\n","/* eslint-disable no-param-reassign */\nimport debounce from 'lodash.debounce';\nimport { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport { sanitizeStr, focusElement, createInputMaskStyle, toggleMaskVisibility } from './helpers';\n\nexport const componentName = getComponentName('passcode-internal');\n\nconst observedAttributes = ['digits', 'loading'];\n\nconst forwardAttributes = ['disabled', 'bordered', 'size', 'invalid', 'readonly'];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass PasscodeInternal extends BaseInputClass {\n static get observedAttributes() {\n return observedAttributes.concat(BaseInputClass.observedAttributes || []);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n\t\t<div class=\"wrapper\"></div>\n\t\t<div class=\"loader-container\">\n <descope-loader-radial size=\"xs\" mode=\"primary\"></descope-loader-radial>\n </div>\n\t\t<style>\n\t\t\t.wrapper {\n\t\t\t\tdisplay: flex;\n\t\t\t\twidth: 100%;\n\t\t\t\tjustify-content: space-between;\n direction: ltr;\n position: relative;\n\t\t\t}\n\n descope-text-field {\n direction: ltr;\n }\n\n .loader-container {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\t\t</style>\n\t\t`;\n\n this.wrapperEle = this.querySelector('.wrapper');\n this.loaderContainer = this.querySelector('.loader-container');\n }\n\n renderInputs() {\n const inputs = [...Array(this.digits).keys()].map(\n (idx) => `\n\t\t<descope-text-field\n\t\t\tdata-id=${idx}\n\t\t\ttype=\"tel\"\n\t\t\tautocomplete=\"one-time-code\"\n\t\t\tinputMode=\"numeric\"\n\t\t></descope-text-field>\n\t`\n );\n\n this.wrapperEle.innerHTML = inputs.join('');\n\n this.inputs = Array.from(this.querySelectorAll('descope-text-field'));\n\n this.initInputs();\n }\n\n handleLoadingState(isLoading) {\n if (isLoading) {\n this.setAttribute('inert', 'true');\n } else {\n this.removeAttribute('inert');\n }\n }\n\n get digits() {\n return Number.parseInt(this.getAttribute('digits'), 10) || 6;\n }\n\n get value() {\n return this.inputs?.map(({ value }) => value).join('') || '';\n }\n\n set value(val) {\n if (val === this.value) return;\n\n this.parseInputValue(this.inputs[0], sanitizeStr(val));\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n if (this.pattern && !new RegExp(this.pattern).test(this.value)) {\n return { patternMismatch: true };\n }\n\n return {};\n }\n\n init() {\n // we are adding listeners before calling to super because it's stopping the events\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) this.inputs[0].focus();\n });\n\n super.init?.();\n\n this.renderInputs();\n }\n\n // eslint-disable-next-line class-methods-use-this\n getInputIdx(inputEle) {\n return Number.parseInt(inputEle.getAttribute('data-id'), 10);\n }\n\n getNextInput(currInput) {\n const currentIdx = this.getInputIdx(currInput);\n const newIdx = Math.min(currentIdx + 1, this.inputs.length - 1);\n return this.inputs[newIdx];\n }\n\n getPrevInput(currInput) {\n const currentIdx = this.getInputIdx(currInput);\n const newIdx = Math.max(currentIdx - 1, 0);\n return this.inputs[newIdx];\n }\n\n fillDigits(charArr, currentInput) {\n for (let i = 0; i < charArr.length; i += 1) {\n currentInput.value = charArr[i] ?? '';\n\n const nextInput = this.getNextInput(currentInput);\n\n if (nextInput === currentInput) break;\n currentInput = nextInput;\n }\n\n focusElement(currentInput);\n }\n\n parseInputValue(input, value = '') {\n const charArr = value.split('');\n\n if (!charArr.length) {\n // if we got an invalid value we want to clear the input\n input.value = '';\n } else this.fillDigits(charArr, input);\n }\n\n initInputs() {\n this.inputs.forEach((input) => {\n input.shadowRoot.appendChild(createInputMaskStyle());\n\n const handleParseInput = (val) => {\n this.parseInputValue(input, val);\n toggleMaskVisibility(input);\n };\n\n const debouncedHandleParseInput = debounce(handleParseInput, 20, { trailing: true });\n\n // sanitize the input\n input.addEventListener('input', (e) => {\n input.value = sanitizeStr(input.value);\n\n if (input.value) {\n toggleMaskVisibility(input, input.value[0]);\n }\n\n setTimeout(() => {\n if (e?.inputType === 'deleteContentBackward') {\n focusElement(this.getPrevInput(input));\n }\n });\n debouncedHandleParseInput(input.value);\n });\n\n // we want backspace to focus on the previous digit\n input.onkeydown = ({ key }) => {\n // when user deletes a digit, we want to focus the previous digit\n if (key === 'Backspace') {\n // if value is empty then the input element does not fire `input` event\n // if this is the case, we focus the element here.\n // otherwise, the focusElement occurs as part of the `input` event listener\n if (!input.value) {\n setTimeout(() => focusElement(this.getPrevInput(input)), 0);\n } else {\n input.setSelectionRange(1, 1);\n }\n } else if (key.length === 1) {\n // we want only characters and not command keys\n input.value = ''; // we are clearing the previous value so we can override it with the new value\n }\n };\n\n forwardAttrs(this, input, { includeAttrs: forwardAttributes });\n });\n\n this.handleFocusEventsDispatching(this.inputs);\n this.handleInputEventDispatching();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n // sync attributes to inputs\n if (oldValue !== newValue) {\n if (observedAttributes.includes(attrName)) {\n if (attrName === 'digits') {\n this.renderInputs();\n }\n if (attrName === 'loading') {\n this.handleLoadingState(newValue === 'true');\n }\n }\n }\n }\n\n get pattern() {\n return `^$|^\\\\d{${this.digits},}$`;\n }\n}\n\nexport default PasscodeInternal;\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport textFieldMappings from './textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n inputFloatingLabelStyle,\n resetInputLabelPosition,\n resetInputOverrides,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('text-field');\n\nconst observedAttrs = ['type', 'label-type', 'copy-to-clipboard'];\n\nconst customMixin = (superclass) =>\n class TextFieldClass extends superclass {\n static get observedAttributes() {\n return observedAttrs.concat(superclass.observedAttributes || []);\n }\n\n icon;\n\n init() {\n super.init?.();\n }\n\n renderCopyToClipboard(shouldRender) {\n if (!shouldRender) {\n this.icon?.remove();\n return;\n }\n\n const iconInitConfig = {\n icon: 'vaadin:copy-o',\n title: 'Copy',\n style: 'cursor: pointer',\n };\n\n const iconCopiedConfig = {\n icon: 'vaadin:check-circle-o',\n title: 'Copied',\n style: 'cursor: initial',\n };\n\n this.icon = Object.assign(document.createElement('vaadin-icon'), {\n slot: 'suffix',\n ...iconInitConfig,\n });\n\n this.baseElement.appendChild(this.icon);\n this.icon.addEventListener('click', () => {\n navigator.clipboard.writeText(this.value);\n Object.assign(this.icon, iconCopiedConfig);\n\n // we want the icon to go back to the initial state after 5 seconds\n setTimeout(() => {\n Object.assign(this.icon, iconInitConfig);\n }, 5000);\n });\n }\n\n onLabelClick() {\n this.focus();\n }\n\n attributeChangedCallback(attrName, oldVal, newVal) {\n super.attributeChangeCallback?.(attrName, oldVal, newVal);\n\n // Vaadin doesn't allow to change the input type attribute.\n // We need the ability to do that, so we're overriding their\n // behavior with their private API.\n // When receiving a `type` attribute, we use their private API\n // to set it on the input.\n if (attrName === 'type') {\n this.baseElement._setType(newVal);\n }\n\n if (oldVal !== newVal) {\n if (attrName === 'label-type') {\n if (newVal === 'floating') {\n this.addEventListener('click', this.onLabelClick);\n } else {\n this.removeEventListener('click', this.onLabelClick);\n }\n } else if (attrName === 'copy-to-clipboard') {\n this.renderCopyToClipboard(newVal === 'true');\n }\n }\n }\n };\n\nexport const TextFieldClass = compose(\n createStyleMixin({\n mappings: textFieldMappings,\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['prefix', 'suffix'],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${TextFieldClass.cssVarList.inputOutlineWidth}) + var(${\n TextFieldClass.cssVarList.inputOutlineOffset\n }));\n box-sizing: border-box;\n\t\t\t}\n :host(:is([readonly], [disabled])) ::slotted(:is(input, textarea):placeholder-shown) {\n opacity: 1;\n }\n\n vaadin-text-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-text-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t\t${useHostExternalPadding(TextFieldClass.cssVarList)}\n\t\t\t${resetInputOverrides('vaadin-text-field', TextFieldClass.cssVarList)}\n ${inputFloatingLabelStyle()}\n\n vaadin-text-field vaadin-icon {\n align-self: center;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { componentName as descopeInternalComponentName } from './descope-passcode-internal/PasscodeInternal';\nimport { TextFieldClass } from '../descope-text-field/TextFieldClass';\nimport { LoaderRadialClass } from '../descope-loader-radial/LoaderRadialClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport {\n resetInputCursor,\n resetInputLabelPosition,\n resetInputFieldDefaultWidth,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('passcode');\n\nconst observedAttributes = ['digits'];\n\nconst customMixin = (superclass) =>\n class PasscodeMixinClass extends superclass {\n static get observedAttributes() {\n return observedAttributes.concat(superclass.observedAttributes || []);\n }\n\n get digits() {\n return Number.parseInt(this.getAttribute('digits'), 10) || 6;\n }\n\n init() {\n super.init?.();\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n bordered=\"true\"\n name=\"code\"\n tabindex=\"-1\"\n slot=\"input\"\n ><slot></slot></${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, { includeAttrs: ['digits', 'size', 'loading'] });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'digits') {\n this.style.setProperty('--passcode-digits-count', newValue);\n }\n }\n };\n\nconst {\n host,\n digitField,\n label,\n requiredIndicator,\n internalWrapper,\n focusedDigitField,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n focusedDigitField: { selector: () => `${TextFieldClass.componentName}[focused=\"true\"]` },\n digitField: { selector: () => TextFieldClass.componentName },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n internalWrapper: { selector: 'descope-passcode-internal .wrapper' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nconst textVars = TextFieldClass.cssVarList;\nconst loaderVars = LoaderRadialClass.cssVarList;\n\nexport const PasscodeClass = compose(\n createStyleMixin({\n mappings: {\n fontSize: [{ ...digitField, property: textVars.fontSize }, host],\n hostWidth: { property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontFamily: [host, { ...label }],\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n digitValueTextColor: {\n selector: TextFieldClass.componentName,\n property: textVars.inputValueTextColor,\n },\n digitSize: [\n { ...digitField, property: 'height' },\n { ...digitField, property: 'width' },\n ],\n digitPadding: { ...digitField, property: textVars.inputHorizontalPadding },\n digitTextAlign: { ...digitField, property: textVars.inputTextAlign },\n digitCaretTextColor: { ...digitField, property: textVars.inputCaretTextColor },\n digitSpacing: { ...internalWrapper, property: 'gap' },\n digitOutlineColor: { ...digitField, property: textVars.inputOutlineColor },\n digitOutlineWidth: { ...digitField, property: textVars.inputOutlineWidth },\n\n focusedDigitFieldOutlineColor: { ...focusedDigitField, property: textVars.inputOutlineColor },\n overlayOpacity: { ...internalWrapper, property: 'opacity' },\n spinnerSize: { selector: LoaderRadialClass.componentName, property: loaderVars.spinnerSize },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tmin-width: calc(var(--passcode-digits-count) * 2em);\n\t\t\t}\n\t\t\t${resetInputFieldDefaultWidth()}\n\t\t\t:host::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\t\t\t:host::part(input-field)::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\n :host([loading=\"true\"]) descope-passcode-internal .loader-container {\n display: block;\n }\n\n\t\t\tdescope-passcode-internal {\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tmin-height: initial;\n\t\t\t}\n\n\t\t\tdescope-passcode-internal .wrapper {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tmin-height: initial;\n\t\t\t\theight: 100%;\n\t\t\t\tjustify-content: space-between;\n\t\t\t}\n\n\t\t\tdescope-passcode-internal descope-text-field {\n\t\t\t\tmin-width: 2em;\n\t\t\t\tmax-width: var(${textVars.inputHeight});\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tpadding: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t}\n\n /* safari */\n\t\t\tvaadin-text-field::part(input-field)::after {\n opacity: 0;\n }\n\n\t\t\tvaadin-text-field {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\tvaadin-text-field::before {\n\t\t\t\theight: 0;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\t\t\tborder: 0 solid;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t\t${resetInputCursor('vaadin-text-field')}\n \t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default PasscodeClass;\n","import '@vaadin/text-field';\nimport '@vaadin/icons';\nimport '@vaadin/icon';\n\nimport { componentName, TextFieldClass } from './TextFieldClass';\n\ncustomElements.define(componentName, TextFieldClass);\n\nexport { TextFieldClass };\n","import PasscodeInternal, { componentName } from './PasscodeInternal';\n\ncustomElements.define(componentName, PasscodeInternal);\n","import { componentName, PasscodeClass } from './PasscodeClass';\nimport '../descope-text-field';\nimport '../descope-loader-radial';\nimport './descope-passcode-internal';\n\ncustomElements.define(componentName, PasscodeClass);\n\nexport { PasscodeClass };\n","const passwordDraggableMixin = (superclass) =>\n class PasswordDraggableMixinClass extends superclass {\n get isReadOnly() {\n return this.hasAttribute('readonly') && this.getAttribute('readonly') !== 'false';\n }\n\n init() {\n // there is an issue in Chrome that input field with type password cannot be D&D\n // so in case the input is draggable & readonly, we are changing the input type to \"text\" before dragging\n // and return the original type when done\n super.init?.();\n\n const ele = this.querySelector('input');\n\n ele?.addEventListener('mousedown', (e) => {\n if (this.isDraggable && this.isReadOnly) {\n ele.setAttribute('inert', 'true');\n\n const inputEle = e.target;\n const prevType = inputEle.getAttribute('type');\n inputEle.setAttribute('type', 'text');\n setTimeout(() => {\n inputEle.focus();\n });\n\n const onComplete = (_) => {\n inputEle.setAttribute('type', prevType);\n ele.removeAttribute('inert');\n this.removeEventListener('mouseup', onComplete);\n this.removeEventListener('dragend', onComplete);\n };\n\n this.addEventListener('dragend', onComplete, { once: true });\n this.addEventListener('mouseup', onComplete, { once: true });\n }\n });\n }\n };\n\nexport default passwordDraggableMixin;\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport passwordDraggableMixin from './passwordDraggableMixin';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n useHostExternalPadding,\n inputFloatingLabelStyle,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('password');\n\nconst customMixin = (superclass) =>\n class PasswordFieldMixinClass extends superclass {\n static get observedAttributes() {\n return ['manual-visibility-toggle'];\n }\n\n get manualToggleVisibility() {\n return this.getAttribute('manual-visibility-toggle') === 'true';\n }\n\n init() {\n super.init?.();\n this.handleCaretOnVisibilityChange();\n this.origSetPasswordVisible = this.baseElement._setPasswordVisible;\n this.origSetFocused = this.baseElement._setFocused;\n this.baseElement._setFocused = this.setFocus.bind(this);\n }\n\n get caretPosition() {\n return this.value?.length || 0;\n }\n\n handleCaretOnVisibilityChange() {\n const origTogglePasswordVisibility = this.baseElement._togglePasswordVisibility.bind(\n this.baseElement\n );\n this.baseElement._togglePasswordVisibility = () => {\n setTimeout(() => {\n origTogglePasswordVisibility();\n this.inputElement.setSelectionRange(this.caretPosition, this.caretPosition);\n });\n };\n }\n\n // We use `manual-visibility-toggle` to to toggle the password's visibility\n // even if the input field is focused-out. However, on focusout - Vaadin resets\n // password visibility. Since we don't want to override Vaadin's native setFocus\n // function (which is part of their FocusMixin).\n // So, here we override the part of logic that runs within Vaadin's setFocus that reports\n // the password visibility state. This logic is part of our `manual-visibility-toggle` only.\n setFocus(focused) {\n if (this.manualToggleVisibility) {\n this.baseElement._setPasswordVisible = () => {};\n }\n this.origSetFocused.call(this.baseElement, focused);\n this.baseElement._setPasswordVisible = this.origSetPasswordVisible.bind(this.baseElement);\n }\n\n resetPasswordVisibilityToggle() {\n this.baseElement._setPasswordVisible = this.origSetPasswordVisible;\n this.baseElement._setFocused = this.origSetFocus;\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n }\n };\n\nconst {\n host,\n inputField,\n inputElement,\n inputElementPlaceholder,\n revealButtonContainer,\n revealButtonIcon,\n label,\n requiredIndicator,\n errorMessage,\n helperText,\n} = {\n host: { selector: () => ':host' },\n inputField: { selector: '::part(input-field)' },\n inputElement: { selector: '> input' },\n inputElementPlaceholder: { selector: () => ':host input:placeholder-shown' },\n revealButtonContainer: { selector: '::part(reveal-button)' },\n revealButtonIcon: { selector: '::part(reveal-button)::before' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const PasswordClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: [{}, host],\n fontFamily: [label, inputField, errorMessage, helperText],\n inputHeight: { ...inputField, property: 'height' },\n inputHorizontalPadding: [\n { ...inputElement, property: 'padding-left' },\n { ...inputElement, property: 'padding-right' },\n ],\n inputBackgroundColor: { ...inputField, property: 'background-color' },\n\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n\n inputPlaceholderTextColor: [\n { ...inputElementPlaceholder, property: 'color' },\n { selector: () => ':host ::slotted(input:placeholder-shown)', property: 'color' },\n ],\n inputValueTextColor: [\n { ...inputElement, property: 'color' },\n { selector: () => ':host ::slotted(input)', property: 'color' },\n ],\n\n revealButtonOffset: [\n { ...revealButtonContainer, property: 'margin-right' },\n { ...revealButtonContainer, property: 'margin-left' },\n ],\n revealButtonSize: { ...revealButtonContainer, property: 'font-size' },\n revealButtonColor: { ...revealButtonIcon, property: 'color' },\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: [\n { selector: '> input:placeholder-shown', property: 'opacity' },\n { ...inputElement, property: 'opacity' },\n ],\n inputVerticalAlignment: { ...inputField, property: 'align-items' },\n valueInputHeight: { ...inputElement, property: 'height' },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n passwordDraggableMixin,\n customMixin\n)(\n createProxy({\n slots: ['', 'suffix'],\n wrappedEleName: 'vaadin-password-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tmin-width: 10em;\n box-sizing: border-box;\n position: relative;\n\t\t\t}\n\t\t\t${useHostExternalPadding(PasswordClass.cssVarList)}\n\t\t\t${resetInputCursor('vaadin-password-field')}\n ${resetInputLabelPosition('vaadin-password-field')}\n\n\t\t\tvaadin-password-field {\n\t\t\t\twidth: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-password-field > input {\n -webkit-mask-image: none;\n\t\t\t\tbox-sizing: border-box;\n opacity: 1;\n\t\t\t}\n\t\t\tvaadin-password-field::part(input-field) {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-password-field[focus-ring]::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n :host ::slotted(input) {\n\t\t\t\tmin-height: 0;\n }\n :host([readonly]) ::slotted(input:placeholder-shown) {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\tvaadin-password-field::before {\n\t\t\t\theight: initial;\n\t\t\t}\n\t\t\tvaadin-password-field::part(input-field)::after {\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\tvaadin-password-field-button {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t\t:host([readonly]) vaadin-password-field-button {\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\tvaadin-password-field-button[focus-ring] {\n\t\t\t\tbox-shadow: 0 0 0 2px var(${PasswordClass.cssVarList.inputOutlineColor});\n\t\t\t}\n\n ${inputFloatingLabelStyle()}\n \n ::part(reveal-button) {\n align-self: center;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/password-field';\nimport { componentName, PasswordClass } from './PasswordClass';\n\ncustomElements.define(componentName, PasswordClass);\n\nexport { PasswordClass };\n","export const disableRules = [\n 'blockquote',\n 'list',\n 'image',\n 'table',\n 'code',\n 'hr',\n 'backticks',\n 'fence',\n 'reference',\n 'heading',\n 'lheading',\n 'html_block',\n];\n","export const decodeHTML = (html) => {\n const textArea = document.createElement('textarea');\n textArea.innerHTML = html;\n return textArea.value;\n};\n","/* eslint-disable no-param-reassign */\n\nimport MarkdownIt from 'markdown-it';\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { disableRules } from './consts';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { decodeHTML } from './helpers';\n\nexport const componentName = getComponentName('enriched-text');\n\nclass EnrichedText extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n #origLinkRenderer;\n\n #origEmRenderer;\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <style>\n :host {\n display: inline-block;\n line-height: 1em;\n word-break: break-word;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n *, *:last-child {\n margin: 0;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n p {\n margin-bottom: 1em;\n }\n a {\n cursor: pointer;\n }\n blockquote {\n padding: 0 2em;\n }\n u {\n text-decoration: underline\n }\n s {\n color: currentColor;\n }\n </style>\n <slot part=\"text-wrapper\" style=\"display:none\"></slot>\n <div class=\"content\"></div>\n `;\n\n this.textSlot = this.shadowRoot.querySelector('slot');\n\n this.#initProcessor();\n\n observeChildren(this, this.#parseChildren.bind(this));\n }\n\n static get observedAttributes() {\n return ['readonly', 'link-target-blank'];\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (newValue !== oldValue) {\n if (attrName === 'readonly') {\n this.onReadOnlyChange(newValue === 'true');\n }\n\n if (attrName === 'link-target-blank') {\n this.#initProcessor();\n }\n }\n }\n\n // We're overriding the rule for em with single underscore to perform as underline. (_underline_)\n customUnderlineRenderer() {\n this.processor.renderer.rules.em_open = (tokens, idx, options, env, self) => {\n if (tokens[idx].markup === '_') tokens[idx].tag = 'u';\n return this.#origEmRenderer(tokens, idx, options, env, self);\n };\n this.processor.renderer.rules.em_close = (tokens, idx, options, env, self) => {\n if (tokens[idx].markup === '_') tokens[idx].tag = 'u';\n return this.#origEmRenderer(tokens, idx, options, env, self);\n };\n }\n\n #customizeLinkRenderer() {\n if (this.linkTargetBlank) {\n this.processor.renderer.rules.link_open = (tokens, idx, options, env, self) => {\n // Add a new `target` attribute, or replace the value of the existing one.\n tokens[idx].attrSet('target', '_blank');\n // Pass the token to the default renderer.\n return this.#origLinkRenderer(tokens, idx, options, env, self);\n };\n } else {\n this.processor.renderer.rules.link_open = this.#origLinkRenderer;\n }\n }\n\n #disableCustomRules() {\n if (!this.processor) {\n return;\n }\n this.processor.disable(disableRules);\n }\n\n #updateProcessorRules() {\n this.#disableCustomRules();\n }\n\n #storeOrigRenderers() {\n const defaultLinkRenderer = (tokens, idx, options, _, self) =>\n self.renderToken(tokens, idx, options);\n this.#origLinkRenderer = this.processor.renderer.rules.link_open || defaultLinkRenderer;\n\n const defaultStrongRenderer = (tokens, idx, options, _, self) =>\n self.renderToken(tokens, idx, options);\n this.#origEmRenderer = this.processor.renderer.rules.em_open || defaultStrongRenderer;\n }\n\n #initProcessor() {\n this.processor = new MarkdownIt('commonmark', { html: true });\n this.#storeOrigRenderers();\n this.#updateProcessorRules();\n this.#customizeLinkRenderer();\n this.customUnderlineRenderer();\n }\n\n get linkTargetBlank() {\n return this.getAttribute('link-target-blank') === 'true';\n }\n\n get contentNode() {\n return this.shadowRoot.querySelector('.content');\n }\n\n #parseChildren() {\n if (!this.processor) {\n return;\n }\n\n let html = decodeHTML(this.innerHTML);\n\n try {\n const tokens = this.processor.parse(html, { references: undefined });\n html = this.processor.renderer.render(tokens, { html: true, breaks: true });\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Not parsing invalid markdown token');\n }\n\n this.contentNode.innerHTML = html;\n }\n\n onReadOnlyChange(isReadOnly) {\n if (isReadOnly) {\n this.contentNode.setAttribute('inert', isReadOnly);\n } else {\n this.contentNode.removeAttribute('inert');\n }\n }\n}\n\nexport const EnrichedTextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontSize: {},\n fontFamily: {},\n fontWeight: {},\n fontWeightBold: [\n { selector: () => ':host strong', property: 'font-weight' },\n { selector: () => ':host b', property: 'font-weight' },\n ],\n textColor: { property: 'color' },\n textLineHeight: { property: 'line-height' },\n textAlign: {},\n linkColor: { selector: 'a', property: 'color' },\n linkTextDecoration: { selector: 'a', property: 'text-decoration' },\n linkHoverTextDecoration: { selector: 'a:hover', property: 'text-decoration' },\n minHeight: {},\n minWidth: {},\n },\n }),\n createStyleMixin({ componentNameOverride: getComponentName('link') }),\n createStyleMixin({ componentNameOverride: getComponentName('text') }),\n draggableMixin,\n componentNameValidationMixin\n)(EnrichedText);\n","import { componentName, EnrichedTextClass } from './EnrichedTextClass';\n\ncustomElements.define(componentName, EnrichedTextClass);\n\nexport { EnrichedTextClass };\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n resetInputContainer,\n resetInputCursor,\n resetInputLabelPosition,\n resetInputField,\n resetInputPlaceholder,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('text-area');\n\nconst {\n host,\n label,\n placeholder,\n inputField,\n textArea,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n placeholder: { selector: 'textarea:placeholder-shown' },\n inputField: { selector: '::part(input-field)' },\n textArea: { selector: '> textarea' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const TextAreaClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: [host, textArea],\n fontFamily: [label, inputField, helperText, errorMessage],\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n inputBackgroundColor: { ...inputField, property: 'background-color' },\n inputValueTextColor: { ...textArea, property: 'color' },\n inputPlaceholderTextColor: { ...placeholder, property: 'color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n inputOutlineStyle: { ...inputField, property: 'outline-Style' },\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputResizeType: { ...textArea, property: 'resize' },\n inputMinHeight: { ...textArea, property: 'min-height' },\n inputTextAlign: { ...textArea, property: 'text-align' },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-area',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n box-sizing: border-box;\n\t\t\t}\n\t\t\ttextarea {\n\t\t\t\theight: 100%;\n\t\t\t}\n ${resetInputLabelPosition('vaadin-text-area')}\n\t\t\t${useHostExternalPadding(TextAreaClass.cssVarList)}\n\t\t\t${resetInputContainer('vaadin-text-area')}\n\t\t\t${resetInputField('vaadin-text-area')}\n\t\t\t${resetInputPlaceholder('vaadin-text-area', 'textarea')}\n\t\t\t${resetInputCursor('vaadin-text-area')}\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/text-area';\nimport { componentName, TextAreaClass } from './TextAreaClass';\n\ncustomElements.define(componentName, TextAreaClass);\n\nexport { TextAreaClass };\n","import { createStyleMixin, draggableMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\n\nconst observedAttributes = ['src', 'alt'];\n\nexport const componentName = getComponentName('image');\n\nconst BaseClass = createBaseClass({ componentName, baseSelector: ':host > img' });\nclass RawImage extends BaseClass {\n static get observedAttributes() {\n return observedAttributes.concat(BaseClass.observedAttributes || []);\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t:host > img {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\t\t</style>\n\t\t<img/>\n\t`;\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n forwardAttrs(this, this.baseElement, { includeAttrs: observedAttributes });\n }\n}\n\nexport const ImageClass = compose(\n createStyleMixin({\n mappings: {\n height: { selector: () => ':host' },\n width: { selector: () => ':host' },\n },\n }),\n draggableMixin\n)(RawImage);\n","import { componentName, ImageClass } from './ImageClass';\n\ncustomElements.define(componentName, ImageClass);\n\nexport { ImageClass };\n","import { compose } from '../../helpers';\nimport {\n getComponentName,\n observeAttributes,\n observeChildren,\n} from '../../helpers/componentHelpers';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n resetInputPlaceholder,\n resetInputReadonlyStyle,\n useHostExternalPadding,\n inputFloatingLabelStyle,\n} from '../../helpers/themeHelpers/resetHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n portalMixin,\n proxyInputMixin,\n} from '../../mixins';\n\nexport const componentName = getComponentName('combo-box');\n\nconst ComboBoxMixin = (superclass) =>\n class ComboBoxMixinClass extends superclass {\n static get observedAttributes() {\n return ['label-type'];\n }\n\n // eslint-disable-next-line class-methods-use-this\n #renderItem = ({ displayName, value, label }) => {\n return `<span data-name=\"${label}\" data-id=\"${value}\">${displayName || label}</span>`;\n };\n\n #data;\n\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n get renderItem() {\n return this.#renderItem;\n }\n\n set renderItem(renderFn) {\n this.#renderItem = renderFn;\n this.renderItems();\n }\n\n get data() {\n if (this.#data) return this.#data;\n\n const dataAttr = this.getAttribute('data');\n\n if (dataAttr) {\n try {\n const data = JSON.parse(dataAttr);\n if (this.isValidDataType(data)) {\n return data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"data\" -', e.message);\n }\n }\n\n return [];\n }\n\n set data(data) {\n if (this.isValidDataType(data)) {\n this.#data = data;\n this.renderItems();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n isValidDataType(data) {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n }\n\n getItemsTemplate() {\n return this.data?.reduce?.((acc, item) => acc + (this.renderItem?.(item || {}) || ''), '');\n }\n\n renderItems() {\n const template = this.getItemsTemplate();\n if (template) this.innerHTML = template;\n }\n\n handleSelectedItem() {\n const currentSelected = this.baseElement.selectedItem?.['data-id'];\n\n this.baseElement.selectedItem = undefined;\n\n // if previously selected item ID exists in current children, set it as selected\n if (currentSelected) {\n this.value = currentSelected;\n }\n\n // otherwise, if default value is specified, set default value as selected item\n if (!this.value) {\n this.setDefaultValue();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n customValueTransformFn(val) {\n return val;\n }\n\n // We want to override Vaadin's Combo Box value setter. This is needed since Vaadin couples between the\n // field that it searches the value, and the finaly display value of the input.\n // We provide a custom transform function to override that behavior.\n setComboBoxDescriptor() {\n const valueDescriptor = Object.getOwnPropertyDescriptor(\n this.inputElement.constructor.prototype,\n 'value'\n );\n\n const comboBox = this;\n\n Object.defineProperties(this.inputElement, {\n value: {\n ...valueDescriptor,\n set(val) {\n if (!comboBox.baseElement.items?.length) {\n return;\n }\n\n const transformedValue = comboBox.customValueTransformFn(val) || '';\n\n if (transformedValue === this.value) {\n return;\n }\n\n valueDescriptor.set.call(this, transformedValue);\n },\n },\n });\n }\n\n // vaadin api is to set props on their combo box node,\n // in order to avoid it, we are passing the children of this component\n // to the items & renderer props, so it will be used as the combo box items\n #onChildrenChange() {\n const baseElement = this.shadowRoot.querySelector(this.baseSelector);\n const items = Array.from(this.children);\n\n // we want the data-name attribute to be accessible as an object attribute\n if (items.length) {\n items.forEach((node) => {\n Object.defineProperty(node, 'data-name', {\n value: node.getAttribute('data-name'),\n configurable: true,\n writable: true,\n });\n Object.defineProperty(node, 'data-id', {\n value: node.getAttribute('data-id'),\n configurable: true,\n writable: true,\n });\n });\n\n baseElement.items = items;\n\n setTimeout(() => {\n // set timeout to ensure this runs after customValueTransformFn had the chance to be overriden\n this.handleSelectedItem();\n }, 0);\n }\n\n // use vaadin combobox custom renderer to render options as HTML\n // and not via default renderer, which renders only the data-name's value\n // in its own HTML template\n baseElement.renderer = (root, combo, model) => {\n // eslint-disable-next-line no-param-reassign\n root.innerHTML = model.item.outerHTML;\n };\n }\n\n // the default vaadin behavior is to attach the overlay to the body when opened\n // we do not want that because it's difficult to style the overlay in this way\n // so we override it to open inside the shadow DOM\n #overrideOverlaySettings() {\n const overlay = this.baseElement.shadowRoot.querySelector('vaadin-combo-box-overlay');\n overlay._attachOverlay = () => {\n overlay.bringToFront();\n };\n overlay._detachOverlay = () => {};\n overlay._enterModalState = () => {};\n }\n\n init() {\n super.init?.();\n\n // eslint-disable-next-line func-names\n this.getValidity = function () {\n if (!this.value && this.isRequired) {\n return {\n valueMissing: true,\n };\n }\n return {};\n };\n\n this.setComboBoxDescriptor();\n\n this.#overrideOverlaySettings();\n\n this.renderItems();\n\n observeAttributes(this, this.renderItems.bind(this), { includeAttrs: ['data'] });\n\n observeChildren(this, this.#onChildrenChange.bind(this));\n\n this.setDefaultValue();\n\n this.baseElement.addEventListener('selected-item-changed', () => {\n this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n });\n }\n\n onLabelClick() {\n if (this.isReadOnly || this.isDisabled) {\n return;\n }\n this.focus();\n this.setAttribute('opened', 'true');\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'label-type') {\n if (newValue === 'floating') {\n this.addEventListener('click', this.onLabelClick);\n } else {\n this.removeEventListener('click', this.onLabelClick);\n }\n }\n }\n }\n\n setDefaultValue() {\n this.value = this.defaultValue;\n }\n\n set value(val) {\n if (val) {\n const child = this.baseElement.items?.find((item) => item['data-id'] === val);\n\n if (child) {\n this.baseElement.selectedItem = child;\n }\n } else {\n this.baseElement.selectedItem = undefined;\n }\n }\n\n get value() {\n return this.baseElement.selectedItem?.['data-id'] || '';\n }\n };\n\nconst {\n host,\n inputField,\n inputElement,\n placeholder,\n toggle,\n clearButton,\n label,\n requiredIndicator,\n helperText,\n errorMessage,\n} = {\n host: { selector: () => ':host' },\n inputField: { selector: '::part(input-field)' },\n inputElement: { selector: 'input' },\n placeholder: { selector: '> input:placeholder-shown' },\n toggle: { selector: '::part(toggle-button)' },\n clearButton: { selector: '::part(clear-button)' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const ComboBoxClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host],\n fontFamily: [label, placeholder, inputField, helperText, errorMessage],\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n inputHeight: { ...inputField, property: 'height' },\n inputBackgroundColor: { ...inputField, property: 'background-color' },\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n inputValueTextColor: { ...inputField, property: 'color' },\n inputPlaceholderTextColor: { ...placeholder, property: 'color' },\n inputDropdownButtonCursor: [\n { ...toggle, property: 'cursor' },\n { ...clearButton, property: 'cursor' },\n ],\n inputDropdownButtonColor: [\n { ...toggle, property: 'color' },\n { ...clearButton, property: 'color' },\n ],\n inputDropdownButtonSize: [\n { ...toggle, property: 'font-size' },\n { ...clearButton, property: 'font-size' },\n ],\n inputDropdownButtonOffset: [\n { ...toggle, property: 'margin-right' },\n { ...toggle, property: 'margin-left' },\n ],\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n inputHorizontalPadding: [\n { ...inputElement, property: 'padding-left' },\n { ...inputElement, property: 'padding-right' },\n ],\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: { ...placeholder, property: 'opacity' },\n inputVerticalAlignment: { ...inputField, property: 'align-items' },\n valueInputHeight: { ...inputElement, property: 'height' },\n valueInputMarginBottom: { ...inputElement, property: 'margin-bottom' },\n\n // we need to use the variables from the portal mixin\n // so we need to use an arrow function on the selector\n // for that to work, because ComboBox is not available\n // at this time.\n overlayBackground: { property: () => ComboBoxClass.cssVarList.overlay.backgroundColor },\n overlayTextColor: {\n property: () => ComboBoxClass.cssVarList.overlay.textColor,\n },\n overlayBorder: { property: () => ComboBoxClass.cssVarList.overlay.border },\n overlayFontSize: { property: () => ComboBoxClass.cssVarList.overlay.fontSize },\n overlayFontFamily: { property: () => ComboBoxClass.cssVarList.overlay.fontFamily },\n overlayCursor: { property: () => ComboBoxClass.cssVarList.overlay.cursor },\n overlayItemBoxShadow: { property: () => ComboBoxClass.cssVarList.overlay.itemBoxShadow },\n overlayItemPaddingInlineStart: {\n property: () => ComboBoxClass.cssVarList.overlay.itemPaddingInlineStart,\n },\n overlayItemPaddingInlineEnd: {\n property: () => ComboBoxClass.cssVarList.overlay.itemPaddingInlineEnd,\n },\n },\n }),\n draggableMixin,\n portalMixin({\n name: 'overlay',\n selector: '',\n mappings: {\n backgroundColor: { selector: 'vaadin-combo-box-scroller' },\n minHeight: { selector: 'vaadin-combo-box-overlay' },\n margin: { selector: 'vaadin-combo-box-overlay' },\n cursor: { selector: 'vaadin-combo-box-item' },\n fontFamily: { selector: 'vaadin-combo-box-item' },\n textColor: { selector: 'vaadin-combo-box-item', property: 'color' },\n fontSize: { selector: 'vaadin-combo-box-item' },\n itemBoxShadow: { selector: 'vaadin-combo-box-item', property: 'box-shadow' },\n itemPaddingInlineStart: {\n selector: 'vaadin-combo-box-item',\n property: 'padding-inline-start',\n },\n itemPaddingInlineEnd: { selector: 'vaadin-combo-box-item', property: 'padding-inline-end' },\n },\n forward: {\n include: false,\n attributes: ['size'],\n },\n }),\n proxyInputMixin({ proxyProps: ['selectionStart'], inputEvent: 'selected-item-changed' }),\n componentNameValidationMixin,\n ComboBoxMixin\n)(\n createProxy({\n slots: ['', 'prefix'],\n wrappedEleName: 'vaadin-combo-box',\n style: () => `\n\t\t:host {\n\t\t\tdisplay: inline-flex;\n\t\t\tbox-sizing: border-box;\n\t\t\t-webkit-mask-image: none;\n\t\t}\n\t\t${useHostExternalPadding(ComboBoxClass.cssVarList)}\n\t\t${resetInputReadonlyStyle('vaadin-combo-box')}\n\t\t${resetInputPlaceholder('vaadin-combo-box')}\n\t\t${resetInputCursor('vaadin-combo-box')}\n\n\t\tvaadin-combo-box {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t\tvaadin-combo-box::before {\n\t\t\theight: initial;\n\t\t}\n\t\tvaadin-combo-box [slot=\"input\"] {\n\t\t\t-webkit-mask-image: none;\n\t\t\tmin-height: 0;\n\t\t\tbox-sizing: border-box;\n\t\t}\n\n\t\tvaadin-combo-box::part(input-field) {\n\t\t\tpadding: 0;\n\t\t\tbox-shadow: none;\n\t\t}\n\n vaadin-combo-box::part(toggle-button),\n vaadin-combo-box::part(clear-button) {\n align-self: center;\n }\n\n vaadin-combo-box[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-combo-box[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n \n ${resetInputLabelPosition('vaadin-combo-box')}\n ${inputFloatingLabelStyle()}\n\t\t`,\n // Note: we exclude `size` to avoid overriding Vaadin's ComboBox property\n // with the same name. Including it will cause Vaadin to calculate NaN size,\n // and reset items to an empty array, and opening the list box with no items\n // to display.\n excludeAttrsSync: ['tabindex', 'size', 'data'],\n componentName,\n includeForwardProps: ['items', 'renderer', 'selectedItem'],\n })\n);\n","import '@vaadin/combo-box';\nimport { componentName, ComboBoxClass } from './ComboBoxClass';\n\ncustomElements.define(componentName, ComboBoxClass);\n\nexport { ComboBoxClass };\n","export default [\n // United States should be the first option\n {\n name: 'United States',\n dialCode: '+1',\n code: 'US',\n },\n ...[\n {\n name: 'Afghanistan',\n dialCode: '+93',\n code: 'AF',\n },\n {\n name: 'Aland Islands',\n dialCode: '+358',\n code: 'AX',\n },\n {\n name: 'Albania',\n dialCode: '+355',\n code: 'AL',\n },\n {\n name: 'Algeria',\n dialCode: '+213',\n code: 'DZ',\n },\n {\n name: 'AmericanSamoa',\n dialCode: '+1684',\n code: 'AS',\n },\n {\n name: 'Andorra',\n dialCode: '+376',\n code: 'AD',\n },\n {\n name: 'Angola',\n dialCode: '+244',\n code: 'AO',\n },\n {\n name: 'Anguilla',\n dialCode: '+1264',\n code: 'AI',\n },\n {\n name: 'Antarctica',\n dialCode: '+672',\n code: 'AQ',\n },\n {\n name: 'Antigua and Barbuda',\n dialCode: '+1268',\n code: 'AG',\n },\n {\n name: 'Argentina',\n dialCode: '+54',\n code: 'AR',\n },\n {\n name: 'Armenia',\n dialCode: '+374',\n code: 'AM',\n },\n {\n name: 'Aruba',\n dialCode: '+297',\n code: 'AW',\n },\n {\n name: 'Australia',\n dialCode: '+61',\n code: 'AU',\n },\n {\n name: 'Austria',\n dialCode: '+43',\n code: 'AT',\n },\n {\n name: 'Azerbaijan',\n dialCode: '+994',\n code: 'AZ',\n },\n {\n name: 'Bahamas',\n dialCode: '+1242',\n code: 'BS',\n },\n {\n name: 'Bahrain',\n dialCode: '+973',\n code: 'BH',\n },\n {\n name: 'Bangladesh',\n dialCode: '+880',\n code: 'BD',\n },\n {\n name: 'Barbados',\n dialCode: '+1246',\n code: 'BB',\n },\n {\n name: 'Belarus',\n dialCode: '+375',\n code: 'BY',\n },\n {\n name: 'Belgium',\n dialCode: '+32',\n code: 'BE',\n },\n {\n name: 'Belize',\n dialCode: '+501',\n code: 'BZ',\n },\n {\n name: 'Benin',\n dialCode: '+229',\n code: 'BJ',\n },\n {\n name: 'Bermuda',\n dialCode: '+1441',\n code: 'BM',\n },\n {\n name: 'Bhutan',\n dialCode: '+975',\n code: 'BT',\n },\n {\n name: 'Bolivia, Plurinational State of',\n dialCode: '+591',\n code: 'BO',\n },\n {\n name: 'Bosnia and Herzegovina',\n dialCode: '+387',\n code: 'BA',\n },\n {\n name: 'Botswana',\n dialCode: '+267',\n code: 'BW',\n },\n {\n name: 'Brazil',\n dialCode: '+55',\n code: 'BR',\n },\n {\n name: 'British Indian Ocean Territory',\n dialCode: '+246',\n code: 'IO',\n },\n {\n name: 'Brunei Darussalam',\n dialCode: '+673',\n code: 'BN',\n },\n {\n name: 'Bulgaria',\n dialCode: '+359',\n code: 'BG',\n },\n {\n name: 'Burkina Faso',\n dialCode: '+226',\n code: 'BF',\n },\n {\n name: 'Burundi',\n dialCode: '+257',\n code: 'BI',\n },\n {\n name: 'Cambodia',\n dialCode: '+855',\n code: 'KH',\n },\n {\n name: 'Cameroon',\n dialCode: '+237',\n code: 'CM',\n },\n {\n name: 'Canada',\n dialCode: '+1',\n code: 'CA',\n },\n {\n name: 'Cape Verde',\n dialCode: '+238',\n code: 'CV',\n },\n {\n name: 'Cayman Islands',\n dialCode: '+345',\n code: 'KY',\n },\n {\n name: 'Central African Republic',\n dialCode: '+236',\n code: 'CF',\n },\n {\n name: 'Chad',\n dialCode: '+235',\n code: 'TD',\n },\n {\n name: 'Chile',\n dialCode: '+56',\n code: 'CL',\n },\n {\n name: 'China',\n dialCode: '+86',\n code: 'CN',\n },\n {\n name: 'Christmas Island',\n dialCode: '+61',\n code: 'CX',\n },\n {\n name: 'Cocos (Keeling) Islands',\n dialCode: '+61',\n code: 'CC',\n },\n {\n name: 'Colombia',\n dialCode: '+57',\n code: 'CO',\n },\n {\n name: 'Comoros',\n dialCode: '+269',\n code: 'KM',\n },\n {\n name: 'Congo',\n dialCode: '+242',\n code: 'CG',\n },\n {\n name: 'Congo, The Democratic Republic of the Congo',\n dialCode: '+243',\n code: 'CD',\n },\n {\n name: 'Cook Islands',\n dialCode: '+682',\n code: 'CK',\n },\n {\n name: 'Costa Rica',\n dialCode: '+506',\n code: 'CR',\n },\n {\n name: \"Cote d'Ivoire\",\n dialCode: '+225',\n code: 'CI',\n },\n {\n name: 'Croatia',\n dialCode: '+385',\n code: 'HR',\n },\n {\n name: 'Cuba',\n dialCode: '+53',\n code: 'CU',\n },\n {\n name: 'Cyprus',\n dialCode: '+357',\n code: 'CY',\n },\n {\n name: 'Czech Republic',\n dialCode: '+420',\n code: 'CZ',\n },\n {\n name: 'Denmark',\n dialCode: '+45',\n code: 'DK',\n },\n {\n name: 'Djibouti',\n dialCode: '+253',\n code: 'DJ',\n },\n {\n name: 'Dominica',\n dialCode: '+1767',\n code: 'DM',\n },\n {\n name: 'Dominican Republic',\n dialCode: '+1849',\n code: 'DO',\n },\n {\n name: 'Ecuador',\n dialCode: '+593',\n code: 'EC',\n },\n {\n name: 'Egypt',\n dialCode: '+20',\n code: 'EG',\n },\n {\n name: 'El Salvador',\n dialCode: '+503',\n code: 'SV',\n },\n {\n name: 'Equatorial Guinea',\n dialCode: '+240',\n code: 'GQ',\n },\n {\n name: 'Eritrea',\n dialCode: '+291',\n code: 'ER',\n },\n {\n name: 'Estonia',\n dialCode: '+372',\n code: 'EE',\n },\n {\n name: 'Ethiopia',\n dialCode: '+251',\n code: 'ET',\n },\n {\n name: 'Falkland Islands (Malvinas)',\n dialCode: '+500',\n code: 'FK',\n },\n {\n name: 'Faroe Islands',\n dialCode: '+298',\n code: 'FO',\n },\n {\n name: 'Fiji',\n dialCode: '+679',\n code: 'FJ',\n },\n {\n name: 'Finland',\n dialCode: '+358',\n code: 'FI',\n },\n {\n name: 'France',\n dialCode: '+33',\n code: 'FR',\n },\n {\n name: 'French Guiana',\n dialCode: '+594',\n code: 'GF',\n },\n {\n name: 'French Polynesia',\n dialCode: '+689',\n code: 'PF',\n },\n {\n name: 'Gabon',\n dialCode: '+241',\n code: 'GA',\n },\n {\n name: 'Gambia',\n dialCode: '+220',\n code: 'GM',\n },\n {\n name: 'Georgia',\n dialCode: '+995',\n code: 'GE',\n },\n {\n name: 'Germany',\n dialCode: '+49',\n code: 'DE',\n },\n {\n name: 'Ghana',\n dialCode: '+233',\n code: 'GH',\n },\n {\n name: 'Gibraltar',\n dialCode: '+350',\n code: 'GI',\n },\n {\n name: 'Greece',\n dialCode: '+30',\n code: 'GR',\n },\n {\n name: 'Greenland',\n dialCode: '+299',\n code: 'GL',\n },\n {\n name: 'Grenada',\n dialCode: '+1473',\n code: 'GD',\n },\n {\n name: 'Guadeloupe',\n dialCode: '+590',\n code: 'GP',\n },\n {\n name: 'Guam',\n dialCode: '+1671',\n code: 'GU',\n },\n {\n name: 'Guatemala',\n dialCode: '+502',\n code: 'GT',\n },\n {\n name: 'Guernsey',\n dialCode: '+44',\n code: 'GG',\n },\n {\n name: 'Guinea',\n dialCode: '+224',\n code: 'GN',\n },\n {\n name: 'Guinea-Bissau',\n dialCode: '+245',\n code: 'GW',\n },\n {\n name: 'Guyana',\n dialCode: '+595',\n code: 'GY',\n },\n {\n name: 'Haiti',\n dialCode: '+509',\n code: 'HT',\n },\n {\n name: 'Holy See (Vatican City State)',\n dialCode: '+379',\n code: 'VA',\n },\n {\n name: 'Honduras',\n dialCode: '+504',\n code: 'HN',\n },\n {\n name: 'Hong Kong',\n dialCode: '+852',\n code: 'HK',\n },\n {\n name: 'Hungary',\n dialCode: '+36',\n code: 'HU',\n },\n {\n name: 'Iceland',\n dialCode: '+354',\n code: 'IS',\n },\n {\n name: 'India',\n dialCode: '+91',\n code: 'IN',\n },\n {\n name: 'Indonesia',\n dialCode: '+62',\n code: 'ID',\n },\n {\n name: 'Iran, Islamic Republic of Persian Gulf',\n dialCode: '+98',\n code: 'IR',\n },\n {\n name: 'Iraq',\n dialCode: '+964',\n code: 'IQ',\n },\n {\n name: 'Ireland',\n dialCode: '+353',\n code: 'IE',\n },\n {\n name: 'Isle of Man',\n dialCode: '+44',\n code: 'IM',\n },\n {\n name: 'Israel',\n dialCode: '+972',\n code: 'IL',\n },\n {\n name: 'Italy',\n dialCode: '+39',\n code: 'IT',\n },\n {\n name: 'Jamaica',\n dialCode: '+1876',\n code: 'JM',\n },\n {\n name: 'Japan',\n dialCode: '+81',\n code: 'JP',\n },\n {\n name: 'Jersey',\n dialCode: '+44',\n code: 'JE',\n },\n {\n name: 'Jordan',\n dialCode: '+962',\n code: 'JO',\n },\n {\n name: 'Kazakhstan',\n dialCode: '+77',\n code: 'KZ',\n },\n {\n name: 'Kenya',\n dialCode: '+254',\n code: 'KE',\n },\n {\n name: 'Kiribati',\n dialCode: '+686',\n code: 'KI',\n },\n {\n name: \"Korea, Democratic People's Republic of Korea\",\n dialCode: '+850',\n code: 'KP',\n },\n {\n name: 'Korea, Republic of South Korea',\n dialCode: '+82',\n code: 'KR',\n },\n {\n name: 'Kuwait',\n dialCode: '+965',\n code: 'KW',\n },\n {\n name: 'Kyrgyzstan',\n dialCode: '+996',\n code: 'KG',\n },\n {\n name: 'Laos',\n dialCode: '+856',\n code: 'LA',\n },\n {\n name: 'Latvia',\n dialCode: '+371',\n code: 'LV',\n },\n {\n name: 'Lebanon',\n dialCode: '+961',\n code: 'LB',\n },\n {\n name: 'Lesotho',\n dialCode: '+266',\n code: 'LS',\n },\n {\n name: 'Liberia',\n dialCode: '+231',\n code: 'LR',\n },\n {\n name: 'Libyan Arab Jamahiriya',\n dialCode: '+218',\n code: 'LY',\n },\n {\n name: 'Liechtenstein',\n dialCode: '+423',\n code: 'LI',\n },\n {\n name: 'Lithuania',\n dialCode: '+370',\n code: 'LT',\n },\n {\n name: 'Luxembourg',\n dialCode: '+352',\n code: 'LU',\n },\n {\n name: 'Macao',\n dialCode: '+853',\n code: 'MO',\n },\n {\n name: 'Macedonia',\n dialCode: '+389',\n code: 'MK',\n },\n {\n name: 'Madagascar',\n dialCode: '+261',\n code: 'MG',\n },\n {\n name: 'Malawi',\n dialCode: '+265',\n code: 'MW',\n },\n {\n name: 'Malaysia',\n dialCode: '+60',\n code: 'MY',\n },\n {\n name: 'Maldives',\n dialCode: '+960',\n code: 'MV',\n },\n {\n name: 'Mali',\n dialCode: '+223',\n code: 'ML',\n },\n {\n name: 'Malta',\n dialCode: '+356',\n code: 'MT',\n },\n {\n name: 'Marshall Islands',\n dialCode: '+692',\n code: 'MH',\n },\n {\n name: 'Martinique',\n dialCode: '+596',\n code: 'MQ',\n },\n {\n name: 'Mauritania',\n dialCode: '+222',\n code: 'MR',\n },\n {\n name: 'Mauritius',\n dialCode: '+230',\n code: 'MU',\n },\n {\n name: 'Mayotte',\n dialCode: '+262',\n code: 'YT',\n },\n {\n name: 'Mexico',\n dialCode: '+52',\n code: 'MX',\n },\n {\n name: 'Micronesia, Federated States of Micronesia',\n dialCode: '+691',\n code: 'FM',\n },\n {\n name: 'Moldova',\n dialCode: '+373',\n code: 'MD',\n },\n {\n name: 'Monaco',\n dialCode: '+377',\n code: 'MC',\n },\n {\n name: 'Mongolia',\n dialCode: '+976',\n code: 'MN',\n },\n {\n name: 'Montenegro',\n dialCode: '+382',\n code: 'ME',\n },\n {\n name: 'Montserrat',\n dialCode: '+1664',\n code: 'MS',\n },\n {\n name: 'Morocco',\n dialCode: '+212',\n code: 'MA',\n },\n {\n name: 'Mozambique',\n dialCode: '+258',\n code: 'MZ',\n },\n {\n name: 'Myanmar',\n dialCode: '+95',\n code: 'MM',\n },\n {\n name: 'Namibia',\n dialCode: '+264',\n code: 'NA',\n },\n {\n name: 'Nauru',\n dialCode: '+674',\n code: 'NR',\n },\n {\n name: 'Nepal',\n dialCode: '+977',\n code: 'NP',\n },\n {\n name: 'Netherlands',\n dialCode: '+31',\n code: 'NL',\n },\n {\n name: 'Netherlands Antilles',\n dialCode: '+599',\n code: 'AN',\n },\n {\n name: 'New Caledonia',\n dialCode: '+687',\n code: 'NC',\n },\n {\n name: 'New Zealand',\n dialCode: '+64',\n code: 'NZ',\n },\n {\n name: 'Nicaragua',\n dialCode: '+505',\n code: 'NI',\n },\n {\n name: 'Niger',\n dialCode: '+227',\n code: 'NE',\n },\n {\n name: 'Nigeria',\n dialCode: '+234',\n code: 'NG',\n },\n {\n name: 'Niue',\n dialCode: '+683',\n code: 'NU',\n },\n {\n name: 'Norfolk Island',\n dialCode: '+672',\n code: 'NF',\n },\n {\n name: 'Northern Mariana Islands',\n dialCode: '+1670',\n code: 'MP',\n },\n {\n name: 'Norway',\n dialCode: '+47',\n code: 'NO',\n },\n {\n name: 'Oman',\n dialCode: '+968',\n code: 'OM',\n },\n {\n name: 'Pakistan',\n dialCode: '+92',\n code: 'PK',\n },\n {\n name: 'Palau',\n dialCode: '+680',\n code: 'PW',\n },\n {\n name: 'Palestinian Territory, Occupied',\n dialCode: '+970',\n code: 'PS',\n },\n {\n name: 'Panama',\n dialCode: '+507',\n code: 'PA',\n },\n {\n name: 'Papua New Guinea',\n dialCode: '+675',\n code: 'PG',\n },\n {\n name: 'Paraguay',\n dialCode: '+595',\n code: 'PY',\n },\n {\n name: 'Peru',\n dialCode: '+51',\n code: 'PE',\n },\n {\n name: 'Philippines',\n dialCode: '+63',\n code: 'PH',\n },\n {\n name: 'Pitcairn',\n dialCode: '+872',\n code: 'PN',\n },\n {\n name: 'Poland',\n dialCode: '+48',\n code: 'PL',\n },\n {\n name: 'Portugal',\n dialCode: '+351',\n code: 'PT',\n },\n {\n name: 'Puerto Rico',\n dialCode: '+1939',\n code: 'PR',\n },\n {\n name: 'Qatar',\n dialCode: '+974',\n code: 'QA',\n },\n {\n name: 'Romania',\n dialCode: '+40',\n code: 'RO',\n },\n {\n name: 'Russia',\n dialCode: '+7',\n code: 'RU',\n },\n {\n name: 'Rwanda',\n dialCode: '+250',\n code: 'RW',\n },\n {\n name: 'Reunion',\n dialCode: '+262',\n code: 'RE',\n },\n {\n name: 'Saint Barthelemy',\n dialCode: '+590',\n code: 'BL',\n },\n {\n name: 'Saint Helena, Ascension and Tristan Da Cunha',\n dialCode: '+290',\n code: 'SH',\n },\n {\n name: 'Saint Kitts and Nevis',\n dialCode: '+1869',\n code: 'KN',\n },\n {\n name: 'Saint Lucia',\n dialCode: '+1758',\n code: 'LC',\n },\n {\n name: 'Saint Martin',\n dialCode: '+590',\n code: 'MF',\n },\n {\n name: 'Saint Pierre and Miquelon',\n dialCode: '+508',\n code: 'PM',\n },\n {\n name: 'Saint Vincent and the Grenadines',\n dialCode: '+1784',\n code: 'VC',\n },\n {\n name: 'Samoa',\n dialCode: '+685',\n code: 'WS',\n },\n {\n name: 'San Marino',\n dialCode: '+378',\n code: 'SM',\n },\n {\n name: 'Sao Tome and Principe',\n dialCode: '+239',\n code: 'ST',\n },\n {\n name: 'Saudi Arabia',\n dialCode: '+966',\n code: 'SA',\n },\n {\n name: 'Senegal',\n dialCode: '+221',\n code: 'SN',\n },\n {\n name: 'Serbia',\n dialCode: '+381',\n code: 'RS',\n },\n {\n name: 'Seychelles',\n dialCode: '+248',\n code: 'SC',\n },\n {\n name: 'Sierra Leone',\n dialCode: '+232',\n code: 'SL',\n },\n {\n name: 'Singapore',\n dialCode: '+65',\n code: 'SG',\n },\n {\n name: 'Slovakia',\n dialCode: '+421',\n code: 'SK',\n },\n {\n name: 'Slovenia',\n dialCode: '+386',\n code: 'SI',\n },\n {\n name: 'Solomon Islands',\n dialCode: '+677',\n code: 'SB',\n },\n {\n name: 'Somalia',\n dialCode: '+252',\n code: 'SO',\n },\n {\n name: 'South Africa',\n dialCode: '+27',\n code: 'ZA',\n },\n {\n name: 'South Sudan',\n dialCode: '+211',\n code: 'SS',\n },\n {\n name: 'South Georgia and the South Sandwich Islands',\n dialCode: '+500',\n code: 'GS',\n },\n {\n name: 'Spain',\n dialCode: '+34',\n code: 'ES',\n },\n {\n name: 'Sri Lanka',\n dialCode: '+94',\n code: 'LK',\n },\n {\n name: 'Sudan',\n dialCode: '+249',\n code: 'SD',\n },\n {\n name: 'Suriname',\n dialCode: '+597',\n code: 'SR',\n },\n {\n name: 'Svalbard and Jan Mayen',\n dialCode: '+47',\n code: 'SJ',\n },\n {\n name: 'Swaziland',\n dialCode: '+268',\n code: 'SZ',\n },\n {\n name: 'Sweden',\n dialCode: '+46',\n code: 'SE',\n },\n {\n name: 'Switzerland',\n dialCode: '+41',\n code: 'CH',\n },\n {\n name: 'Syrian Arab Republic',\n dialCode: '+963',\n code: 'SY',\n },\n {\n name: 'Taiwan',\n dialCode: '+886',\n code: 'TW',\n },\n {\n name: 'Tajikistan',\n dialCode: '+992',\n code: 'TJ',\n },\n {\n name: 'Tanzania, United Republic of Tanzania',\n dialCode: '+255',\n code: 'TZ',\n },\n {\n name: 'Thailand',\n dialCode: '+66',\n code: 'TH',\n },\n {\n name: 'Timor-Leste',\n dialCode: '+670',\n code: 'TL',\n },\n {\n name: 'Togo',\n dialCode: '+228',\n code: 'TG',\n },\n {\n name: 'Tokelau',\n dialCode: '+690',\n code: 'TK',\n },\n {\n name: 'Tonga',\n dialCode: '+676',\n code: 'TO',\n },\n {\n name: 'Trinidad and Tobago',\n dialCode: '+1868',\n code: 'TT',\n },\n {\n name: 'Tunisia',\n dialCode: '+216',\n code: 'TN',\n },\n {\n name: 'Turkey',\n dialCode: '+90',\n code: 'TR',\n },\n {\n name: 'Turkmenistan',\n dialCode: '+993',\n code: 'TM',\n },\n {\n name: 'Turks and Caicos Islands',\n dialCode: '+1649',\n code: 'TC',\n },\n {\n name: 'Tuvalu',\n dialCode: '+688',\n code: 'TV',\n },\n {\n name: 'Uganda',\n dialCode: '+256',\n code: 'UG',\n },\n {\n name: 'Ukraine',\n dialCode: '+380',\n code: 'UA',\n },\n {\n name: 'United Arab Emirates',\n dialCode: '+971',\n code: 'AE',\n },\n {\n name: 'United Kingdom',\n dialCode: '+44',\n code: 'GB',\n },\n {\n name: 'Uruguay',\n dialCode: '+598',\n code: 'UY',\n },\n {\n name: 'Uzbekistan',\n dialCode: '+998',\n code: 'UZ',\n },\n {\n name: 'Vanuatu',\n dialCode: '+678',\n code: 'VU',\n },\n {\n name: 'Venezuela, Bolivarian Republic of Venezuela',\n dialCode: '+58',\n code: 'VE',\n },\n {\n name: 'Vietnam',\n dialCode: '+84',\n code: 'VN',\n },\n {\n name: 'Virgin Islands, British',\n dialCode: '+1284',\n code: 'VG',\n },\n {\n name: 'Virgin Islands, U.S.',\n dialCode: '+1340',\n code: 'VI',\n },\n {\n name: 'Wallis and Futuna',\n dialCode: '+681',\n code: 'WF',\n },\n {\n name: 'Yemen',\n dialCode: '+967',\n code: 'YE',\n },\n {\n name: 'Zambia',\n dialCode: '+260',\n code: 'ZM',\n },\n {\n name: 'Zimbabwe',\n dialCode: '+263',\n code: 'ZW',\n },\n ].sort((a, b) => (a.name < b.name ? -1 : 1)),\n];\n","// We use JSDelivr (proxy by static.descope.com) in order to fetch the images as image file from this library (svg-country-flags)\n// This reduces our bundle size, and we use it as a static remote resource.\nexport const getCountryFlag = (code) =>\n `https://static.descope.com/npm/svg-country-flags@1.2.10/svg/${code.toLowerCase()}.svg`;\n\nexport const comboBoxItem = ({ code, dialCode, name: country }) => `\n\t<div\n\t\tstyle=\"display:flex; flex-direction: column;\"\n\t\tdata-id=\"${dialCode}\"\n\t\tdata-name=\"${code} ${dialCode} ${country}\"\n\t\tdata-country-code=\"${code}\"\n\t>\n\t\t<div>\n\t\t\t<span>\n\t\t\t\t<img src=\"${getCountryFlag(code)}\" width=\"20\"/>\n\t\t\t</span>\n\t\t\t<span>${country}</span>\n\t\t</div>\n\t\t<div>\n\t\t\t<span>${code}</span>\n\t\t\t<span>${dialCode}</span>\n\t\t</div>\n\t</div>\n`;\n","import { createBaseInputClass } from '../../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName } from '../../../../helpers/componentHelpers';\nimport CountryCodes from '../../CountryCodes';\nimport { comboBoxItem } from '../helpers';\n\nexport const componentName = getComponentName('phone-field-internal');\n\nconst commonAttrs = ['disabled', 'size', 'bordered', 'invalid', 'readonly'];\nconst countryAttrs = ['country-input-placeholder', 'default-code', 'restrict-countries'];\nconst phoneAttrs = ['phone-input-placeholder', 'maxlength', 'autocomplete', 'name'];\nconst labelTypeAttrs = ['label-type', 'country-input-label', 'label'];\nconst mapAttrs = {\n 'country-input-label': 'label',\n 'country-input-placeholder': 'placeholder',\n 'phone-input-placeholder': 'placeholder',\n};\n\nconst inputRelatedAttrs = [].concat(commonAttrs, countryAttrs, phoneAttrs, labelTypeAttrs);\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass PhoneFieldInternal extends BaseInputClass {\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], inputRelatedAttrs);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n <div>\n <descope-combo-box\n item-label-path=\"data-name\"\n item-value-path=\"data-id\"\n >\n ${CountryCodes.map((item) => comboBoxItem(item)).join('')}\n </descope-combo-box>\n <div class=\"separator\"></div>\n <descope-text-field type=\"tel\"></descope-text-field>\n </div>\n `;\n\n this.countryCodeInput = this.querySelector('descope-combo-box');\n this.phoneNumberInput = this.querySelector('descope-text-field');\n this.inputs = [this.countryCodeInput, this.phoneNumberInput];\n\n forwardAttrs(this, this.countryCodeInput, { includeAttrs: ['label-type'] });\n forwardAttrs(this, this.phoneNumberInput, { includeAttrs: ['label-type', 'required'] });\n\n // override combo box setter to display dialCode value in input\n this.countryCodeInput.customValueTransformFn = (val) => {\n const [, dialCode] = val?.split?.(' ') || [];\n return dialCode;\n };\n }\n\n get value() {\n if (!this.phoneNumberValue) {\n return '';\n }\n return `${this.countryCodeInput.value}-${this.phoneNumberInput.value}`;\n }\n\n set value(val) {\n const [countryCode = '', phoneNumber = ''] = val.split('-');\n\n if (countryCode) {\n const countryCodeItem = this.getCountryByDialCode(countryCode);\n if (countryCodeItem) {\n this.countryCodeInput.selectedItem = countryCodeItem;\n }\n } else {\n this.countryCodeInput.selectedItem = undefined;\n }\n this.phoneNumberInput.value = this.phoneNumberInput.value || phoneNumber;\n }\n\n get phoneNumberValue() {\n return this.phoneNumberInput.value;\n }\n\n get countryCodeValue() {\n return this.countryCodeInput.shadowRoot.querySelector('input').value;\n }\n\n get minLength() {\n return parseInt(this.getAttribute('minlength'), 10) || 0;\n }\n\n getValidity() {\n const hasCode = this.countryCodeInput.value;\n const hasPhone = this.phoneNumberInput.value;\n const emptyValue = !hasCode || !hasPhone;\n const hasMinPhoneLength =\n this.phoneNumberInput.value?.length && this.phoneNumberInput.value.length < this.minLength;\n\n if (this.isRequired && emptyValue) {\n return { valueMissing: true };\n }\n if (hasMinPhoneLength) {\n return { tooShort: true };\n }\n if (hasPhone && !hasCode) {\n return { valueMissing: true };\n }\n return {};\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) this.inputs[1].focus();\n });\n\n super.init?.();\n this.initInputs();\n }\n\n getRestrictedCountries() {\n return this.getAttribute('restrict-countries')?.split(',') || [];\n }\n\n getCountryByDialCode(countryDialCode) {\n return this.countryCodeInput.items?.find((c) => c.getAttribute('data-id') === countryDialCode);\n }\n\n getCountryByCodeId(countryCode) {\n return this.countryCodeInput.items?.find(\n (c) => c.getAttribute('data-country-code') === countryCode\n );\n }\n\n updateCountryCodeItems(restrictCountries) {\n const items = restrictCountries.length\n ? CountryCodes.filter((c) => restrictCountries.includes(c.code))\n : CountryCodes;\n this.querySelector('descope-combo-box').innerHTML = items\n .map((item) => comboBoxItem(item))\n .join('');\n }\n\n handleDefaultCountryCode(countryCode) {\n if (!this.countryCodeInput.value) {\n const countryCodeItem = this.getCountryByCodeId(countryCode);\n // When replacing the input component (inserting internal component into text-field) -\n // Vaadin resets the input's value. We use setTimeout in order to make sure this happens\n // after the reset.\n if (countryCodeItem) {\n setTimeout(() => {\n this.countryCodeInput.selectedItem = countryCodeItem;\n });\n }\n }\n }\n\n initInputs() {\n // Sanitize phone input value to filter everything but digits\n this.phoneNumberInput.addEventListener('input', (e) => {\n const telDigitsRegExp = /^\\d$/;\n const sanitizedInput = e.target.value\n .split('')\n .filter((char) => telDigitsRegExp.test(char))\n .join('');\n e.target.value = sanitizedInput;\n });\n\n this.handleFocusEventsDispatching(this.inputs);\n this.handleInputEventDispatching();\n }\n\n handleLabelTypeAttrs(attrName, newValue) {\n // set or remove label attributes from inner text/combo components on `label-type` change\n const attr = mapAttrs[attrName] || attrName;\n\n if (attrName === 'label-type') {\n this.onLabelTypeChange(newValue);\n }\n // on inner components label attr change - set label attributes for text/combo components\n // only if label-type is `floating`\n else if (this.getAttribute('label-type') === 'floating') {\n if (attrName === 'country-input-label') {\n this.countryCodeInput.setAttribute(attr, newValue);\n } else if (attrName === 'label') {\n this.phoneNumberInput.setAttribute(attr, newValue);\n }\n }\n }\n\n onLabelTypeChange(newValue) {\n if (newValue === 'floating') {\n // on change to `floating` label - set inner components `label` and `placeholder`\n this.countryCodeInput.setAttribute('label', this.getAttribute('country-input-label') || '');\n this.countryCodeInput.setAttribute(\n 'placeholder',\n this.getAttribute('country-input-placeholder') || ''\n );\n this.phoneNumberInput.setAttribute('label', this.getAttribute('label') || '');\n this.phoneNumberInput.setAttribute(\n 'placeholder',\n this.getAttribute('phone-input-placeholder') || ''\n );\n } else {\n // for other cases - reset inner components label-type and labels\n this.inputs.forEach((input) => input.removeAttribute('label'));\n }\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'default-code' && newValue) {\n this.handleDefaultCountryCode(newValue);\n } else if (inputRelatedAttrs.includes(attrName)) {\n const attr = mapAttrs[attrName] || attrName;\n\n if (commonAttrs.includes(attrName)) {\n this.inputs.forEach((input) => input.setAttribute(attr, newValue));\n } else if (countryAttrs.includes(attrName)) {\n this.countryCodeInput.setAttribute(attr, newValue);\n } else if (phoneAttrs.includes(attrName)) {\n this.phoneNumberInput.setAttribute(attr, newValue);\n }\n }\n\n if (labelTypeAttrs.includes(attrName)) {\n this.handleLabelTypeAttrs(attrName, newValue);\n }\n\n if (attrName === 'restrict-countries') {\n this.updateCountryCodeItems(this.getRestrictedCountries());\n }\n }\n }\n}\n\nexport default PhoneFieldInternal;\n","import '../../../descope-combo-box';\nimport '../../../descope-text-field';\n\nimport PhoneFieldInternal, { componentName } from './PhoneFieldInternal';\n\ncustomElements.define(componentName, PhoneFieldInternal);\n","import { componentName as descopeInternalComponentName } from './descope-phone-field-internal/PhoneFieldInternal';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport { createProxy, createStyleMixin, draggableMixin, proxyInputMixin } from '../../../mixins';\nimport { TextFieldClass } from '../../descope-text-field/TextFieldClass';\nimport { ComboBoxClass } from '../../descope-combo-box/ComboBoxClass';\nimport CountryCodes from '../CountryCodes';\nimport {\n resetInputCursor,\n resetInputLabelPosition,\n resetInputFieldDefaultWidth,\n resetInputFieldInvalidBackgroundColor,\n useHostExternalPadding,\n} from '../../../helpers/themeHelpers/resetHelpers';\n\nconst textVars = TextFieldClass.cssVarList;\nconst comboVars = ComboBoxClass.cssVarList;\n\nexport const componentName = getComponentName('phone-field');\n\nconst customMixin = (superclass) =>\n class PhoneFieldMixinClass extends superclass {\n static get CountryCodes() {\n return CountryCodes;\n }\n\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n\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`;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this.shadowRoot.host, this.inputElement, {\n includeAttrs: [\n 'size',\n 'bordered',\n 'invalid',\n 'minlength',\n 'maxlength',\n 'default-code',\n 'country-input-placeholder',\n 'phone-input-placeholder',\n 'disabled',\n 'restrict-countries',\n 'country-input-label',\n 'readonly',\n 'label',\n 'label-type',\n ],\n });\n }\n };\n\nconst {\n host,\n label,\n requiredIndicator,\n inputField,\n countryCodeInput,\n phoneInput,\n separator,\n errorMessage,\n helperText,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n inputField: { selector: '::part(input-field)' },\n phoneInput: { selector: () => 'descope-text-field' },\n countryCodeInput: { selector: () => 'descope-combo-box' },\n separator: { selector: 'descope-phone-field-internal .separator' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const PhoneFieldClass = compose(\n createStyleMixin({\n mappings: {\n fontSize: [\n host,\n inputField,\n {\n selector: TextFieldClass.componentName,\n property: TextFieldClass.cssVarList.fontSize,\n },\n {\n selector: ComboBoxClass.componentName,\n property: ComboBoxClass.cssVarList.fontSize,\n },\n ],\n fontFamily: [\n label,\n errorMessage,\n helperText,\n {\n ...countryCodeInput,\n property: ComboBoxClass.cssVarList.overlay.fontFamily,\n },\n ],\n hostWidth: [\n { ...host, property: 'width' },\n { ...phoneInput, property: 'width' },\n { ...countryCodeInput, property: '--vaadin-combo-box-overlay-width' },\n ],\n hostDirection: { ...host, property: 'direction' },\n\n inputBorderStyle: [\n { ...inputField, property: 'border-style' },\n { ...separator, property: 'border-left-style' },\n ],\n inputBorderWidth: [\n { ...inputField, property: 'border-width' },\n { ...separator, property: 'border-left-width' },\n ],\n inputBorderColor: [\n { ...inputField, property: 'border-color' },\n { ...separator, property: 'border-left-color' },\n ],\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n countryCodeInputWidth: { ...countryCodeInput, property: comboVars.hostWidth },\n countryCodeDropdownWidth: {\n ...countryCodeInput,\n property: '--vaadin-combo-box-overlay-width',\n },\n phoneInputWidth: { ...phoneInput, property: 'width' },\n\n horizontalPadding: [\n { ...phoneInput, property: 'padding-left' },\n { ...phoneInput, property: 'padding-right' },\n { ...countryCodeInput, property: 'padding-left' },\n { ...countryCodeInput, property: 'padding-right' },\n ],\n\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n\n inputValueTextColor: [\n { ...phoneInput, property: textVars.inputValueTextColor },\n { ...countryCodeInput, property: comboVars.inputValueTextColor },\n ],\n\n inputPlaceholderTextColor: { ...phoneInput, property: textVars.inputPlaceholderColor },\n\n overlayItemBackgroundColor: {\n selector: 'descope-combo-box',\n property: comboVars.overlayItemBackgroundColor,\n },\n\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n valueInputHeight: [{ ...countryCodeInput, property: comboVars.valueInputHeight }],\n valueInputMarginBottom: [{ ...phoneInput, property: textVars.valueInputMarginBottom }],\n marginInlineStart: [\n { ...phoneInput, property: textVars.marginInlineStart },\n { ...countryCodeInput, property: comboVars.marginInlineStart },\n ],\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tmin-width: 15em;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}\n\t\t\t${useHostExternalPadding(PhoneFieldClass.cssVarList)}\n\t\t\t${resetInputCursor('vaadin-text-field')}\n\t\t\t${resetInputFieldInvalidBackgroundColor('vaadin-text-field')}\n\t\t\t${resetInputFieldDefaultWidth()}\n\n\t\t\tdiv {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t}\n\t\t\tvaadin-text-field {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\tvaadin-text-field[focus-ring]::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\t\t\tvaadin-text-field::before {\n\t\t\t\theight: 0;\n\t\t\t}\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tpadding: 0;\n\t\t\t\tbackground: transparent;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t\tdescope-phone-field-internal {\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n direction: ltr;\n\t\t\t}\n\t\t\tdescope-phone-field-internal > div {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t}\n\t\t\tdescope-phone-field-internal .separator {\n\t\t\t\tflex: 0;\n\t\t\t\tborder: none;\n\t\t\t}\n\t\t\tdescope-combo-box {\n\t\t\t\tflex-shrink: 0;\n\t\t\t\tmin-width: 5.75em;\n\t\t\t\t${comboVars.inputOutlineWidth}: 0;\n\t\t\t\t${comboVars.inputOutlineOffset}: 0;\n\t\t\t\t${comboVars.inputBorderWidth}: 0;\n\t\t\t\t${comboVars.inputBorderRadius}: 0;\n\t\t\t}\n\t\t\tdescope-text-field {\n\t\t\t\tflex-grow: 1;\n\t\t\t\t${textVars.inputOutlineWidth}: 0;\n\t\t\t\t${textVars.inputOutlineOffset}: 0;\n\t\t\t\t${textVars.inputBorderWidth}: 0;\n\t\t\t\t${textVars.inputBorderRadius}: 0;\n }\n\n :host([label-type=\"floating\"]) vaadin-text-field::part(label) {\n display: none;\n }\n descope-text-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n descope-text-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\n\t\t\tvaadin-text-field::part(input-field)::after {\n\t\t\t\tborder: none;\n\t\t\t}\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default PhoneFieldClass;\n","import './descope-phone-field-internal';\nimport '../../descope-combo-box';\nimport '../../descope-text-field';\n\nimport { componentName, PhoneFieldClass } from './PhoneFieldClass';\n\ncustomElements.define(componentName, PhoneFieldClass);\n\nexport { PhoneFieldClass };\n","import CountryCodes from './CountryCodes';\n\nexport const getCountryByCodeId = (countryCode) => {\n return CountryCodes.find((c) => c.code === countryCode)?.dialCode;\n};\n","import { createBaseInputClass } from '../../../../baseClasses/createBaseInputClass';\nimport { getComponentName } from '../../../../helpers/componentHelpers';\nimport { getCountryByCodeId } from '../../helpers';\n\nexport const componentName = getComponentName('phone-field-internal-input-box');\n\nconst observedAttributes = [\n 'disabled',\n 'size',\n 'bordered',\n 'invalid',\n 'readonly',\n 'phone-input-placeholder',\n 'name',\n 'autocomplete',\n 'label-type',\n];\nconst mapAttrs = {\n 'phone-input-placeholder': 'placeholder',\n};\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass PhoneFieldInternal extends BaseInputClass {\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], observedAttributes);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n <div>\n <descope-text-field tabindex=\"1\"></descope-text-field>\n </div>\n `;\n\n this.phoneNumberInput = this.querySelector('descope-text-field');\n }\n\n get defaultCountryCode() {\n return getCountryByCodeId(this.getAttribute('default-code'));\n }\n\n get hasDefaultCode() {\n return !!this.getAttribute('default-code');\n }\n\n get value() {\n if (!this.phoneNumberValue) {\n return '';\n }\n\n if (this.hasDefaultCode) {\n // we want to transform phone numbers to a valid {dialCode}-{phoneNumber} format\n // e.g.:\n // +972-12345 => +972-12345\n // 972-12345 => +972-12345\n // 12345 => +972-12345\n //\n // we also want to handle any extra dash if added in the start of the phone number\n // e.g.:\n // +972--12345 => +972-12345\n const pattern = new RegExp(`\\\\+?${parseInt(this.defaultCountryCode, 10)}--?`);\n return `${this.defaultCountryCode}-${this.phoneNumberInput.value.replace(pattern, '')}`;\n }\n\n return this.phoneNumberInput.value;\n }\n\n set value(val) {\n this.phoneNumberInput.value = val;\n }\n\n get phoneNumberValue() {\n return this.phoneNumberInput.value;\n }\n\n get minLength() {\n return parseInt(this.getAttribute('minlength'), 10) || 0;\n }\n\n get maxLength() {\n return parseInt(this.getAttribute('maxlength'), 10) || 50;\n }\n\n getValidity() {\n const validPhonePattern = /^\\+?\\d{1,4}-?(?:\\d-?){1,15}$/;\n const stripValue = this.value.replace(/\\D/g, '');\n\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n\n if (stripValue.length < this.minLength) {\n return { tooShort: true };\n }\n\n if (stripValue.length > this.maxLength) {\n return { tooLong: true };\n }\n\n if (!validPhonePattern.test(this.value)) {\n return { patternMismatch: true };\n }\n\n return {};\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) this.phoneNumberInput.focus();\n });\n\n super.init?.();\n this.initInputs();\n }\n\n getCountryByDialCode(countryDialCode) {\n return this.countryCodeInput.items?.find(\n (c) => c.getAttribute('data-country-code') === countryDialCode\n );\n }\n\n initInputs() {\n // Sanitize phone input value to filter everything but digits\n this.phoneNumberInput.addEventListener('input', (e) => {\n if (e.target.value.length === 1 && e.target.value === '-') {\n e.target.value = '';\n }\n\n e.target.value = e.target.value\n .replace(/(?!^)\\+/g, '')\n .replace('--', '-')\n .replace('+-', '+');\n\n const telDigitsRegExp = /^[+\\d-]+$/;\n const sanitizedInput = e.target.value\n .split('')\n .filter((char) => telDigitsRegExp.test(char))\n .join('');\n\n e.target.value = sanitizedInput;\n });\n\n this.handleFocusEventsDispatching([this.phoneNumberInput]);\n this.handleInputEventDispatching();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n\n if (oldValue !== newValue && observedAttributes.includes(attrName)) {\n const attr = mapAttrs[attrName] || attrName;\n this.phoneNumberInput.setAttribute(attr, newValue);\n }\n }\n}\n\nexport default PhoneFieldInternal;\n","import '../../../descope-text-field';\n\nimport PhoneFieldInternalInputBox, { componentName } from './PhoneFieldInternalInputBox';\n\ncustomElements.define(componentName, PhoneFieldInternalInputBox);\n","import { componentName as descopeInternalComponentName } from './descope-phone-input-box-internal/PhoneFieldInternalInputBox';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport { compose } from '../../../helpers';\nimport { createProxy, createStyleMixin, draggableMixin, proxyInputMixin } from '../../../mixins';\nimport { TextFieldClass } from '../../descope-text-field/TextFieldClass';\nimport CountryCodes from '../CountryCodes';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n resetInputFieldDefaultWidth,\n resetInputFieldInvalidBackgroundColor,\n useHostExternalPadding,\n inputFloatingLabelStyle,\n} from '../../../helpers/themeHelpers/resetHelpers';\n\nconst textVars = TextFieldClass.cssVarList;\n\nexport const componentName = getComponentName('phone-input-box-field');\n\nconst customMixin = (superclass) =>\n class PhoneInputBoxFieldMixinClass extends superclass {\n static get CountryCodes() {\n return CountryCodes;\n }\n\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n\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 `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this.shadowRoot.host, this.inputElement, {\n includeAttrs: [\n 'size',\n 'bordered',\n 'invalid',\n 'minlength',\n 'maxlength',\n 'default-code',\n 'disabled',\n 'phone-input-placeholder',\n 'label',\n 'label-type',\n ],\n });\n }\n };\n\nconst {\n host,\n label,\n inputElement,\n requiredIndicator,\n inputField,\n phoneInput,\n errorMessage,\n helperText,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n placeholder: { selector: '> input:placeholder-shown' },\n inputElement: { selector: 'input' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n inputField: { selector: '::part(input-field)' },\n phoneInput: { selector: () => 'descope-text-field' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const PhoneFieldInputBoxClass = compose(\n createStyleMixin({\n mappings: {\n fontSize: [\n host,\n inputField,\n {\n selector: TextFieldClass.componentName,\n property: TextFieldClass.cssVarList.fontSize,\n },\n ],\n fontFamily: [label, errorMessage, helperText],\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputHorizontalPadding: [\n { ...phoneInput, property: 'padding-left' },\n { ...phoneInput, property: 'padding-right' },\n ],\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n\n inputValueTextColor: { ...phoneInput, property: textVars.inputValueTextColor },\n\n inputPlaceholderTextColor: { ...phoneInput, property: textVars.inputPlaceholderColor },\n\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n valueInputHeight: { ...inputElement, property: 'height' },\n valueInputMarginBottom: {\n selector: TextFieldClass.componentName,\n property: textVars.valueInputMarginBottom,\n },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n :host {\n display: inline-flex;\n max-width: 100%;\n box-sizing: border-box;\n }\n ${useHostExternalPadding(PhoneFieldInputBoxClass.cssVarList)}\n ${resetInputCursor('vaadin-text-field')}\n ${resetInputFieldInvalidBackgroundColor('vaadin-text-field')}\n ${resetInputFieldDefaultWidth()}\n\n vaadin-text-field {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n padding: 0;\n }\n vaadin-text-field[focus-ring]::part(input-field) {\n box-shadow: none;\n }\n vaadin-text-field::before {\n height: 0;\n }\n vaadin-text-field::part(input-field) {\n padding: 0;\n background: transparent;\n overflow: hidden;\n -webkit-mask-image: none;\n }\n descope-phone-field-internal-input-box {\n -webkit-mask-image: none;\n padding: 0;\n width: 100%;\n height: 100%;\n }\n descope-phone-field-internal-input-box > div {\n width: 100%;\n height: 100%;\n }\n descope-phone-field-internal-input-box .separator {\n flex: 0;\n border: none;\n }\n descope-text-field {\n flex-grow: 1;\n width: 100%;\n ${textVars.inputOutlineWidth}: 0;\n ${textVars.inputOutlineOffset}: 0;\n ${textVars.inputBorderWidth}: 0;\n ${textVars.inputBorderRadius}: 0;\n direction: ltr;\n }\n vaadin-text-field[readonly] > input:placeholder-shown {\n opacity: 1;\n }\n vaadin-text-field::part(input-field)::after {\n border: none;\n }\n\n vaadin-text-field[label-type=\"floating\"]:not([focused])[readonly] input:placeholder-shown {\n opacity: 0;\n }\n vaadin-text-field[label-type=\"floating\"]:not([focused])[disabled] input:placeholder-shown {\n opacity: 0;\n }\n\n ${resetInputLabelPosition('vaadin-text-field')}\n ${inputFloatingLabelStyle()}\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default PhoneFieldInputBoxClass;\n","import './descope-phone-input-box-internal';\nimport '../../descope-combo-box';\nimport '../../descope-text-field';\n\nimport { componentName, PhoneFieldInputBoxClass } from './PhoneFieldInputBoxClass';\n\ncustomElements.define(componentName, PhoneFieldInputBoxClass);\n\nexport { PhoneFieldInputBoxClass };\n","import { getComponentName } from '../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('new-password-internal');\n","export const interpolateString = (template, values) =>\n template.replace(/{{(\\w+)+}}/g, (match, key) => values?.[key] || match);\n","// eslint-disable-next-line max-classes-per-file\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { interpolateString } from './helpers';\n\nexport const componentName = getComponentName('policy-validation');\n\nconst overrideAttrs = ['data-password-policy-value-minlength'];\nconst dataAttrs = ['data', 'active-policies', 'overrides', ...overrideAttrs];\nconst policyAttrs = ['label', 'value', ...dataAttrs];\n\nclass RawPolicyValidation extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n #availablePolicies;\n\n #activePolicies = [];\n\n #overrides;\n\n static get observedAttributes() {\n return policyAttrs;\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div>\n <div class=\"label\"></div>\n <ul></ul>\n </div>\n <style>\n :host > div {\n width: 100%;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n }\n .label {\n max-width: 100%;\n text-wrap: wrap;\n overflow-wrap: break-word;\n }\n .hide-label .label {\n display: none;\n }\n ul {\n display: flex;\n flex-direction: column;\n padding: 0;\n margin: 0;\n }\n ul, li {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n li::before {\n display: inline-block;\n width: 1em;\n text-align: center;\n }\n </style>\n\t\t`;\n\n this.panel = this.shadowRoot.querySelector(':host > div');\n this.label = this.shadowRoot.querySelector('.label');\n this.list = this.shadowRoot.querySelector('ul');\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n if (oldValue !== newValue) {\n if (attrName === 'label') {\n this.updateLabel(newValue);\n }\n\n // we're don't know the order in which the attributes are forwarded, so we're trying to render every time\n // once `data` and `active-policies` are populated, the render will be executed.\n // once the `overrides` object is updated, we want to re-render the panel.\n if (dataAttrs.includes(attrName)) {\n if (attrName === 'data') {\n try {\n this.availablePolicies = JSON.parse(newValue);\n } catch {\n // eslint-disable-next-line no-console\n console.error('Failed to set available policies');\n }\n }\n if (attrName === 'active-policies') {\n this.#activePolicies = (newValue || '').split(',');\n }\n\n if (attrName === 'data-password-policy-value-minlength') {\n const ln = Number(newValue);\n if (!Number.isNaN(ln) && ln > 0) {\n this.#overrides = { ...this.#overrides, minlength: { value: `${ln}` } };\n }\n }\n }\n\n this.renderItems(this.#availablePolicies, this.#activePolicies, this.#overrides);\n }\n }\n\n get availablePolicies() {\n return this.#availablePolicies || [];\n }\n\n set availablePolicies(val) {\n this.#availablePolicies = val;\n }\n\n get value() {\n return this.getAttribute('value') || '';\n }\n\n validate() {\n let policies = this.#availablePolicies;\n\n if (this.#overrides) {\n policies = this.#availablePolicies.map((policy) =>\n this.#overrides[policy.id] ? { ...policy, data: this.#overrides[policy.id] } : policy\n );\n }\n\n return this.#activePolicies.reduce((results, id) => {\n const policy = policies.find((p) => p.id === id);\n\n if (!policy) {\n return results;\n }\n\n const { pattern, message, data } = policy;\n\n if (!pattern || !message) {\n return results;\n }\n\n const exp = new RegExp(interpolateString(pattern, data));\n\n const validationResult = {\n valid: exp.test(this.value),\n message: interpolateString(message, data),\n id,\n };\n\n results.push(validationResult);\n\n return results;\n }, []);\n }\n\n get isValid() {\n return !this.validate().some(({ valid }) => valid === false);\n }\n\n getValidationItemTemplate({ valid, message }) {\n const status = !this.value ? 'none' : valid;\n return `\n <li class=\"item\" data-valid=\"${status}\">\n <span class=\"message\">${message}</span>\n </li>\n `;\n }\n\n renderItems(availablePolicies, activePolicies) {\n if (!availablePolicies || !activePolicies.length) {\n return;\n }\n\n this.list.innerHTML = this.validate().map(this.getValidationItemTemplate.bind(this)).join('');\n }\n\n updateLabel(val) {\n if (!val) {\n this.classList.add('hide-label');\n this.label.innerHTML = '';\n } else {\n this.label.innerHTML = val;\n this.classList.remove('hide-label');\n }\n }\n}\n\nconst { host, item, symbolDefault, symbolSuccess, symbolError } = {\n host: { selector: () => ':host > div' },\n item: { selector: () => '.item' },\n symbolDefault: { selector: () => '.item[data-valid=\"none\"]::before' },\n symbolSuccess: { selector: () => '.item[data-valid=\"true\"]::before' },\n symbolError: { selector: () => '.item[data-valid=\"false\"]::before' },\n};\n\nexport const PolicyValidationClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontSize: {},\n fontFamily: {},\n padding: {},\n borderWidth: { ...host, property: 'border-width' },\n borderStyle: { ...host, property: 'border-style' },\n borderColor: { ...host, property: 'border-color' },\n borderRadius: { ...host, property: 'border-radius' },\n backgroundColor: { ...host, property: 'background-color' },\n textColor: { property: 'color' },\n labelMargin: { ...host, property: 'gap' },\n itemsSpacing: { ...item, property: 'line-height' },\n itemSymbolSuccessColor: { ...symbolSuccess, property: 'color' },\n itemSymbolErrorColor: { ...symbolError, property: 'color' },\n itemSymbolDefault: { ...symbolDefault, property: 'content' },\n itemSymbolSuccess: { ...symbolSuccess, property: 'content' },\n itemSymbolError: { ...symbolError, property: 'content' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawPolicyValidation);\n","import { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport { compose } from '../../helpers';\nimport { createStyleMixin, proxyInputMixin, draggableMixin, createProxy } from '../../mixins';\nimport { componentName as descopeInternalComponentName } from './descope-new-password-internal/componentName';\nimport { PasswordClass } from '../descope-password/PasswordClass';\nimport { useHostExternalPadding } from '../../helpers/themeHelpers/resetHelpers';\nimport { PolicyValidationClass } from '../descope-policy-validation/PolicyValidationClass';\n\nexport const componentName = getComponentName('new-password');\n\nconst policyPreviewVars = PolicyValidationClass.cssVarList;\n\nconst customMixin = (superclass) =>\n class NewPasswordMixinClass extends superclass {\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n\n template.innerHTML = `\n\t\t\t<${descopeInternalComponentName}\n\t\t\t\tname=\"new-password\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\tslot=\"input\"\n\t\t\t>\n </${descopeInternalComponentName}>\n\t\t\t`;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'password-label',\n 'password-placeholder',\n 'confirm-label',\n 'confirm-placeholder',\n 'full-width',\n 'size',\n 'bordered',\n 'label',\n 'has-confirm',\n 'invalid',\n 'readonly',\n 'draggable',\n 'has-validation',\n 'policy-label',\n 'active-policies',\n 'available-policies',\n 'data-password-policy-value-minlength',\n 'label-type',\n 'manual-visibility-toggle',\n ],\n });\n }\n };\n\nconst {\n host,\n label,\n internalInputsWrapper,\n errorMessage,\n helperText,\n passwordInput,\n policyPreview,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n internalInputsWrapper: { selector: 'descope-new-password-internal .wrapper' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n passwordInput: { selector: 'descope-password' },\n policyPreview: { selector: 'descope-policy-validation' },\n};\n\nexport const NewPasswordClass = compose(\n createStyleMixin({\n mappings: {\n fontSize: [\n host,\n {},\n {\n selector: PasswordClass.componentName,\n property: PasswordClass.cssVarList.fontSize,\n },\n ],\n fontFamily: [label, errorMessage, helperText],\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: { ...label, property: 'color' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: [\n { ...host, property: 'direction' },\n { ...passwordInput, property: PasswordClass.cssVarList.hostDirection },\n ],\n inputsRequiredIndicator: { ...host, property: 'content' },\n spaceBetweenInputs: { ...internalInputsWrapper, property: 'gap' },\n policyPreviewBackgroundColor: {\n ...policyPreview,\n property: policyPreviewVars.backgroundColor,\n },\n policyPreviewPadding: { ...policyPreview, property: policyPreviewVars.padding },\n\n valueInputHeight: { ...passwordInput, property: PasswordClass.cssVarList.valueInputHeight },\n valueInputMarginBottom: {\n ...passwordInput,\n property: PasswordClass.cssVarList.valueInputMarginBottom,\n },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n\t\t:host {\n\t\t\tdisplay: inline-block;\n\t\t\tmax-width: 100%;\n\t\t\tbox-sizing: border-box;\n\t\t}\n :host ::part(error-message) {\n direction: ltr;\n }\n\t\t${useHostExternalPadding(PasswordClass.cssVarList)}\n\t\tvaadin-text-field {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t}\n\t\tvaadin-text-field::part(input-field) {\n\t\t\tmin-height: 0;\n\t\t\tbackground: transparent;\n\t\t\tbox-shadow: none;\n\t\t\tpadding: 0;\n\t\t}\n\t\tvaadin-text-field::part(input-field)::after {\n\t\t\tbackground: transparent;\n\t\t\topacity: 0;\n\t\t}\n\t\tdescope-new-password-internal {\n\t\t\t-webkit-mask-image: none;\n\t\t\tmin-height: 0;\n\t\t\twidth: 100%;\n\t\t\tpadding: 0;\n\t\t}\n\t\tdescope-new-password-internal > .wrapper {\n -webkit-mask-image: none;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\t\tdescope-password {\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t}\n\t\tdescope-new-password-internal vaadin-password-field::before {\n\t\t\theight: initial;\n\t\t}\n descope-policy-validation {\n margin-top: 8px;\n display: flex;\n }\n descope-policy-validation.hidden {\n display: none;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import { componentName, PolicyValidationClass } from './PolicyValidationClass';\n\ncustomElements.define(componentName, PolicyValidationClass);\n\nexport { PolicyValidationClass };\n","import { createBaseInputClass } from '../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, observeAttributes } from '../../../helpers/componentHelpers';\nimport { NewPasswordClass } from '../NewPasswordClass';\nimport { componentName } from './componentName';\n\nconst passwordAttrPrefixRegex = /^password-/;\nconst confirmAttrPrefixRegex = /^confirm-/;\n\nconst removeAttrPrefix = (attr, prefix) => attr.replace(prefix, '');\n\nconst passwordInputAttrs = ['password-label', 'password-placeholder'];\nconst confirmInputAttrs = ['confirm-label', 'confirm-placeholder'];\nconst policyPanelAttrs = ['has-validation'];\nconst commonAttrs = [\n 'has-confirm',\n 'disabled',\n 'bordered',\n 'size',\n 'full-width',\n 'maxlength',\n 'invalid',\n 'readonly',\n 'draggable',\n 'autocomplete',\n 'label-type',\n 'manual-visibility-toggle',\n];\n\nconst inputRelatedAttrs = [].concat(\n commonAttrs,\n passwordInputAttrs,\n confirmInputAttrs,\n policyPanelAttrs\n);\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass NewPasswordInternal extends BaseInputClass {\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], inputRelatedAttrs);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n\t\t\t<div class=\"wrapper\"></div>\n\t\t`;\n\n this.wrapperEle = this.querySelector('.wrapper');\n }\n\n get value() {\n return this.passwordInput?.value || '';\n }\n\n set value(val) {\n if (val === this.value) return;\n this.value = val;\n }\n\n get hasConfirm() {\n return this.getAttribute('has-confirm') === 'true';\n }\n\n onHasConfirmChange(hasConfirm) {\n this.confirmInput.style.display = hasConfirm ? '' : 'none';\n }\n\n onHasValidationChange(hasValidation) {\n this.policyPanel.style.display = hasValidation ? '' : 'none';\n }\n\n get hasValidation() {\n return this.getAttribute('has-validation') === 'true';\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n\n if (this.value && !this.policyPanel.isValid) {\n return { typeMismatch: true };\n }\n\n if (this.hasConfirm && this.confirmInput && this.value !== this.confirmInput.value) {\n return { patternMismatch: true };\n }\n\n const min = this.getAttribute('minlength');\n const minVal = parseInt(min, 10) || 0;\n const minValid = this.value.length >= minVal;\n if (!minValid) {\n return { tooShort: true };\n }\n\n return {};\n }\n\n init() {\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n this.passwordInput.focus();\n }\n });\n\n super.init?.();\n this.renderInputs(this.hasConfirm, this.hasValidation);\n }\n\n renderInputs() {\n const template = `\n <div>\n <descope-password\n autocomplete=\"new-password\"\n manual-visibility-toggle=\"true\"\n data-id=\"password\"\n ></descope-password>\n <descope-policy-validation></descope-policy-validation>\n </div>\n <descope-password\n autocomplete=\"new-password\"\n manual-visibility-toggle=\"true\"\n data-id=\"confirm\"\n ></descope-password>\n `;\n\n this.wrapperEle.innerHTML = template;\n\n this.passwordInput = this.querySelector('[data-id=\"password\"]');\n this.confirmInput = this.querySelector('[data-id=\"confirm\"]');\n this.policyPanel = this.querySelector('descope-policy-validation');\n\n this.inputs = [this.passwordInput, this.confirmInput];\n\n this.initInputs();\n\n // sync input value to policy validation panel\n this.passwordInput.addEventListener('input', (e) => {\n this.policyPanel.setAttribute('value', e.target.value);\n });\n\n forwardAttrs(this, this.policyPanel, {\n includeAttrs: [\n 'policy-label',\n 'available-policies',\n 'active-policies',\n 'data-password-policy-value-minlength',\n 'manual-visibility-toggle',\n ],\n mapAttrs: {\n 'policy-label': 'label',\n 'available-policies': 'data',\n },\n });\n }\n\n // the inputs are not required but we still want it to have a required\n // indicator in case the root component is required\n handleIndicatorStyle() {\n this.inputs.forEach((input) => {\n const styleTag = document.createElement('style');\n styleTag.innerHTML = `\n\t\t\t\t:host ::part(required-indicator)::after {\n\t\t\t\t\tcontent: var(${NewPasswordClass.cssVarList.inputsRequiredIndicator});\n width: 1em;\n text-align: center;\n\t\t\t\t}\n :host ::part(required-indicator) {\n display: inline-flex;\n }\n\t\t\t\t`;\n input?.shadowRoot.appendChild(styleTag);\n });\n }\n\n get isInvalid() {\n return this.hasAttribute('invalid') && this.getAttribute('invalid') !== 'false';\n }\n\n // for some reason, Vaadin is removing the invalid attribute on several events,\n // e.g. focus, input, etc..., so we need to make sure the inputs will stay invalid\n // if the root component is invalid\n handleInputsInvalidAttribute() {\n this.inputs.forEach((input) => {\n input &&\n observeAttributes(\n input,\n (changedAttributes) => {\n if (changedAttributes.includes('invalid')) {\n const inputInvalidValue = input.getAttribute('invalid');\n const rootInvalidValue = this.getAttribute('invalid');\n\n if (this.isInvalid && rootInvalidValue !== inputInvalidValue) {\n input.setAttribute('invalid', 'true');\n }\n }\n },\n {}\n );\n });\n }\n\n initInputs() {\n this.handleIndicatorStyle();\n this.handleInputsInvalidAttribute();\n this.handleFocusEventsDispatching(this.inputs);\n }\n\n // eslint-disable-next-line class-methods-use-this\n toggleBooleanAttribute(ele, name, value) {\n value === null ? ele?.removeAttribute(name) : ele?.setAttribute(name, value);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'has-validation') {\n this.onHasValidationChange(newValue === 'true');\n } else if (attrName === 'has-confirm') {\n this.onHasConfirmChange(newValue === 'true');\n } else if (commonAttrs.includes(attrName)) {\n this.inputs.forEach((input) => this.toggleBooleanAttribute(input, attrName, newValue));\n } else if (passwordInputAttrs.includes(attrName)) {\n this.toggleBooleanAttribute(\n this.passwordInput,\n removeAttrPrefix(attrName, passwordAttrPrefixRegex),\n newValue\n );\n } else if (confirmInputAttrs.includes(attrName)) {\n this.toggleBooleanAttribute(\n this.confirmInput,\n removeAttrPrefix(attrName, confirmAttrPrefixRegex),\n newValue\n );\n }\n }\n }\n}\n\nexport default NewPasswordInternal;\n","import NewPasswordInternal from './NewPasswordInternal';\nimport { componentName } from './componentName';\n\ncustomElements.define(componentName, NewPasswordInternal);\n","import { componentName, NewPasswordClass } from './NewPasswordClass';\nimport '../descope-text-field';\nimport '../descope-password';\nimport '../descope-policy-validation';\nimport './descope-new-password-internal';\n\ncustomElements.define(componentName, NewPasswordClass);\n\nexport { NewPasswordClass };\n","import { draggableMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('recaptcha');\n\nconst observedAttributes = ['enabled', 'site-key', 'action', 'enterprise'];\n\nconst BaseClass = createBaseClass({\n componentName,\n baseSelector: ':host > div',\n});\nclass RawRecaptcha extends BaseClass {\n static get observedAttributes() {\n return observedAttributes.concat(BaseClass.observedAttributes || []);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n if (oldValue !== newValue) {\n if (attrName === 'enabled') {\n this.#toggleRecaptcha(newValue === 'true');\n }\n }\n }\n\n renderRecaptcha(enabled) {\n if (enabled) {\n this.recaptchaEle.style.display = '';\n this.mockRecaptchaEle.style.display = 'none';\n } else {\n this.recaptchaEle.style.display = 'none';\n this.mockRecaptchaEle.style.display = '';\n }\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n :host {\n display: inline-flex;\n }\n :host > div {\n display: flex;\n }\n :host #recaptcha .grecaptcha-badge {\n box-shadow: none !important;\n }\n :host #recaptcha .grecaptcha-logo {\n height: 100%;\n }\n :host #recaptcha {\n\t\t\t\twidth: 100%;\n height: 100%;\n\t\t\t}\n :host img {\n width: 256px;\n }\n\t\t</style>\n <div>\n <span id=\"recaptcha\"></span>\n <img src=\"https://imgs.descope.com/connectors/templates/recaptcha/recaptcha-big.png\" alt=\"recaptcha\"/>\n </div>\n\t`;\n\n this.recaptchaEle = this.baseElement.querySelector('#recaptcha');\n this.mockRecaptchaEle = this.baseElement.querySelector('img');\n }\n\n get enterprise() {\n return this.getAttribute('enterprise') === 'true';\n }\n\n get siteKey() {\n return this.getAttribute('site-key');\n }\n\n get action() {\n return this.getAttribute('action') || 'load';\n }\n\n get enabled() {\n return this.getAttribute('enabled') === 'true';\n }\n\n get scriptURL() {\n const url = new URL('https://www.google.com/recaptcha/');\n url.pathname += `${this.enterprise ? 'enterprise' : 'api'}.js`;\n url.searchParams.append('onload', 'onRecaptchaLoadCallback');\n url.searchParams.append('render', 'explicit');\n return url.toString();\n }\n\n #toggleRecaptcha(enabled) {\n this.renderRecaptcha(enabled);\n if (enabled) {\n this.#createOnLoadScript();\n if (!document.getElementById('recaptcha-script')) {\n this.#loadRecaptchaScript();\n } else {\n window.onRecaptchaLoadCallback();\n }\n }\n }\n\n #loadRecaptchaScript() {\n const script = document.createElement('script');\n script.src = this.scriptURL;\n script.async = true;\n script.id = 'recaptcha-script';\n script.defer = true;\n document.body.appendChild(script);\n }\n\n get grecaptchaInstance() {\n return this.enterprise ? window.grecaptcha?.enterprise : window.grecaptcha;\n }\n\n #getNewToken(grecaptchaInstance, currentNode, recaptchaWidgetId) {\n if (!this.isConnected) {\n return;\n }\n\n grecaptchaInstance.ready(() => {\n // clone the node and append it to the body so that it can be used by the grepcaptcha script\n const cloneNode = currentNode\n .querySelector('textarea[name^=\"g-recaptcha-response\"]')\n ?.cloneNode();\n if (cloneNode) {\n cloneNode.style.display = 'none';\n document.body.appendChild(cloneNode);\n }\n\n // cleaning up the recaptcha element we added to the body\n const removeCloneNode = () => {\n cloneNode.remove();\n };\n\n if (!this.siteKey) {\n return;\n }\n // we should pass recaptchaWidgetId, but this does not allow us to run execute multiple times\n // also calling grecaptchaInstance.reset() does not work\n const exec = grecaptchaInstance?.execute(recaptchaWidgetId, { action: this.action });\n exec.then((token, e) => {\n if (e) {\n // eslint-disable-next-line no-console\n console.warn('could not execute recaptcha', e);\n } else {\n this.updateComponentsContext({\n risktoken: token,\n riskaction: this.action,\n });\n // if the component is still connected, we should try to get a new token before the token expires (2 minutes)\n if (this.isConnected) {\n setTimeout(() => {\n this.#getNewToken(grecaptchaInstance, currentNode, recaptchaWidgetId);\n }, 110000);\n }\n }\n removeCloneNode();\n });\n });\n }\n\n #createOnLoadScript() {\n window.onRecaptchaLoadCallback = () => {\n const currentNode = this.recaptchaEle;\n\n // if there are child nodes, it means that the recaptcha was already rendered\n if (currentNode.hasChildNodes()) {\n return;\n }\n\n const { grecaptchaInstance } = this;\n\n if (!grecaptchaInstance) {\n return;\n }\n\n setTimeout(() => {\n const recaptchaWidgetId = grecaptchaInstance.render(currentNode, {\n sitekey: this.siteKey,\n badge: 'inline',\n size: 'invisible',\n });\n this.#getNewToken(grecaptchaInstance, currentNode, recaptchaWidgetId);\n }, 0);\n };\n }\n}\n\nexport const RecaptchaClass = compose(draggableMixin)(RawRecaptcha);\n","import { componentName, RecaptchaClass } from './RecaptchaClass';\n\ncustomElements.define(componentName, RecaptchaClass);\n\nexport { RecaptchaClass };\n","export const getFileBase64 = (fileObj) => {\n return new Promise((resolve) => {\n const reader = new FileReader();\n reader.onload = (e) => resolve(e.target.result);\n reader.readAsDataURL(fileObj);\n });\n};\n\nexport const getFilename = (fileObj) => {\n return fileObj.name.replace(/^.*\\\\/, '');\n};\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { createBaseInputClass } from '../../baseClasses/createBaseInputClass';\nimport { ButtonClass } from '../descope-button/ButtonClass';\nimport { getFileBase64, getFilename } from './helpers';\n\nexport const componentName = getComponentName('upload-file');\n\nconst observedAttributes = [\n 'title',\n 'description',\n 'button-label',\n 'accept',\n 'readonly',\n 'button-mode',\n 'button-variant',\n 'required',\n 'size',\n 'icon',\n];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: ':host > div' });\n\nclass RawUploadFile extends BaseInputClass {\n static get observedAttributes() {\n return observedAttributes.concat(BaseInputClass.observedAttributes || []);\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<style>\n\t\t\t:host {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t\t:host > div {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\ttext-align: center;\n\t\t\t\tflex-direction: column;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.button-wrapper {\n\t\t\t\tposition: relative;\n\t\t\t\twidth: fit-content;\n\t\t\t}\n\t\t\tinput {\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\topacity: 0;\n\t\t\t}\n\t\t\t</style>\n\t\t\t<div>\n <slot name=\"icon\"></slot>\n\t\t\t\t<div class=\"title\">\n\t\t\t\t\t<span class=\"title-text\"></span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"description\"></div>\n\t\t\t\t<div class=\"button-wrapper\">\n\t\t\t\t\t<input type=\"file\" tabindex=\"-1\" />\n\t\t\t\t\t<descope-button></descope-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n this.wrapperEle = this.shadowRoot.querySelector('.wrapper');\n this.inputElement = this.shadowRoot.querySelector('input');\n\n this.button.onclick = () => this.inputElement.click();\n\n this.inputElement.onchange = async (e) => {\n const receivedFileList = e.target.files;\n\n if (!receivedFileList.length) {\n return;\n }\n\n this.value = await getFileBase64(receivedFileList[0]);\n\n this.updateDescription(getFilename(receivedFileList[0]));\n };\n\n this.oninvalid = () => {\n this.setAttribute('invalid', 'true');\n };\n }\n\n // this is a temp solution,\n // we should show the input error message like we have in all other inputs\n /*\n reportValidity() {\n this.defaultReportValidity();\n }\n */\n\n getValidity() {\n if (this.isRequired && !this.input.value) {\n return { valueMissing: true };\n }\n this.removeAttribute('invalid');\n return {};\n }\n\n initInputs() {\n const button = this.rootElement.querySelector('descope-button');\n button.onclick = () => this.inputElement.click();\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'title') {\n this.updateTitle(newValue);\n } else if (attrName === 'description') {\n this.updateDescription(newValue);\n } else if (attrName === 'button-label') {\n this.updateButtonLabel(newValue);\n } else if (attrName === 'button-mode') {\n this.updateButtonMode(newValue);\n } else if (attrName === 'button-variant') {\n this.updateButtonVariant(newValue);\n } else if (attrName === 'size') {\n this.updateButtonSize(newValue);\n } else if (attrName === 'accept') {\n this.updateInputAccept(newValue);\n } else if (attrName === 'readonly') {\n this.updateReadOnly(newValue);\n }\n }\n }\n\n get button() {\n return this.shadowRoot.querySelector('descope-button');\n }\n\n get input() {\n return this.shadowRoot.querySelector('input');\n }\n\n get title() {\n return this.shadowRoot.querySelector('.title-text');\n }\n\n get description() {\n return this.shadowRoot.querySelector('.description');\n }\n\n get icon() {\n return this.shadowRoot.querySelector('.icon');\n }\n\n updateTitle(val) {\n this.title.innerHTML = val;\n }\n\n updateDescription(val) {\n this.description.innerHTML = val;\n }\n\n updateButtonLabel(val) {\n this.button.innerHTML = val;\n }\n\n updateButtonSize(val) {\n this.button.setAttribute('size', val);\n }\n\n updateButtonMode(val) {\n this.button.setAttribute('mode', val);\n }\n\n updateButtonVariant(val) {\n this.button.setAttribute('variant', val);\n }\n\n updateInputAccept(val) {\n this.input.setAttribute('accept', val);\n }\n\n updateReadOnly(val) {\n if (val === 'true') {\n this.input.setAttribute('disabled', 'true');\n } else {\n this.input.removeAttribute('disabled');\n }\n }\n}\n\nconst buttonVars = ButtonClass.cssVarList;\nconst { host, wrapper, icon, title, description, requiredIndicator } = {\n host: { selector: () => ':host' },\n wrapper: { selector: () => ':host > div' },\n icon: { selector: () => '::slotted(*)' },\n title: { selector: () => '.title' },\n description: { selector: () => '.description' },\n requiredIndicator: { selector: () => '.title::after' },\n};\n\nexport const UploadFileClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n fontSize: {},\n fontFamily: {},\n borderColor: {},\n borderWidth: {},\n borderStyle: {},\n borderRadius: {},\n hostHeight: { ...host, property: 'height' },\n hostWidth: { ...host, property: 'width' },\n hostPadding: { property: 'padding' },\n hostDirection: [\n { ...host, property: 'direction' },\n { selector: () => ButtonClass.componentName, property: buttonVars.hostDirection },\n ],\n gap: { ...wrapper },\n lineHeight: { ...wrapper, property: 'line-height' },\n titleFontSize: { ...title, property: 'font-size' },\n titleFontWeight: { ...title, property: 'font-weight' },\n descriptionFontSize: { ...description, property: 'font-size' },\n labelTextColor: [\n { ...title, property: 'color' },\n { ...description, property: 'color' },\n ],\n iconSize: { ...icon, property: 'width' },\n requiredIndicator: { ...requiredIndicator, property: 'content' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawUploadFile);\n","import { componentName, UploadFileClass } from './UploadFileClass';\nimport '../descope-button';\n\ncustomElements.define(componentName, UploadFileClass);\n\nexport { UploadFileClass };\n","import { createBaseInputClass } from '../../baseClasses/createBaseInputClass';\nimport { observeAttributes } from '../../helpers/componentHelpers';\nimport { createDispatchEvent } from '../../helpers/mixinsHelpers';\n\nexport const createBaseButtonSelectionGroupInternalClass = (componentName) => {\n class BaseButtonSelectionGroupInternalClass extends createBaseInputClass({\n componentName,\n baseSelector: 'slot',\n }) {\n constructor() {\n super();\n\n this.innerHTML = `\n <style>\n slot {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n }\n </style>\n <slot part=\"wrapper\"></slot>\n `;\n }\n\n dispatchChange = createDispatchEvent.bind(this, 'change');\n\n get items() {\n return this.querySelector('slot').assignedElements();\n }\n\n get isReadonly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n get size() {\n return this.getAttribute('size') || 'md';\n }\n\n // eslint-disable-next-line getter-return, class-methods-use-this\n get value() {\n // eslint-disable-next-line no-console\n console.warn('get value', 'is not implemented');\n }\n\n // eslint-disable-next-line class-methods-use-this\n set value(value) {\n // eslint-disable-next-line no-console\n console.warn('set value', 'is not implemented');\n }\n\n onSizeChange() {\n this.items.forEach((item) => {\n item.setAttribute('size', this.size);\n });\n }\n\n onReadOnlyChange() {\n this.querySelector('slot').toggleAttribute('inert', this.isReadonly);\n }\n\n // eslint-disable-next-line class-methods-use-this\n getValidity() {\n // eslint-disable-next-line no-console\n console.warn('getValidity', 'is not implemented');\n }\n\n onObservedAttributeChange(attrs) {\n attrs.forEach((attr) => {\n switch (attr) {\n case 'size':\n this.onSizeChange();\n break;\n case 'readonly':\n this.onReadOnlyChange();\n break;\n default:\n break;\n }\n });\n }\n\n init() {\n // we are adding listeners before calling to super because it's stopping the events\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n this.items[0]?.focus();\n }\n });\n\n super.init?.();\n\n observeAttributes(this, this.onObservedAttributeChange.bind(this), {\n includeAttrs: ['size', 'readonly'],\n });\n }\n }\n\n return BaseButtonSelectionGroupInternalClass;\n};\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { createBaseButtonSelectionGroupInternalClass } from '../createBaseButtonSelectionGroupInternalClass';\n\nexport const componentName = getComponentName('button-selection-group-internal');\n\nexport class ButtonSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(\n componentName\n) {\n getSelectedNode() {\n return this.items.find((item) => item.hasAttribute('selected'));\n }\n\n get allowDeselect() {\n return this.getAttribute('allow-deselect') === 'true';\n }\n\n removeSelected() {\n this.getSelectedNode()?.removeAttribute('selected');\n }\n\n onClick(e) {\n if (e.target !== e.currentTarget) {\n if (e.target === this.getSelectedNode() && this.allowDeselect) {\n this.removeSelected();\n } else {\n this.setSelected(e.target);\n }\n this.dispatchChange();\n }\n }\n\n setSelected(node) {\n if (node !== this.getSelectedNode()) {\n this.removeSelected();\n node?.setAttribute('selected', 'true');\n }\n }\n\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n setDefaultValue() {\n // we want to defer this action until all attributes are synched\n setTimeout(() => {\n if (this.defaultValue) {\n this.value = this.defaultValue;\n this.setCustomValidity();\n }\n });\n }\n\n get value() {\n return this.getSelectedNode()?.value || '';\n }\n\n set value(value) {\n const node = this.items.find((child) => child.value === value);\n this.setSelected(node);\n }\n\n getValidity() {\n if (this.isRequired && !this.value) {\n return { valueMissing: true };\n }\n\n return {};\n }\n\n init() {\n super.init();\n\n this.setDefaultValue();\n\n this.querySelector('slot').addEventListener('click', this.onClick.bind(this));\n }\n}\n","import { observeAttributes, observeChildren } from '../../helpers/componentHelpers';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n resetInputFieldDefaultWidth,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const buttonSelectionGroupBaseMixin = (superclass) =>\n class ButtonSelectionGroupMixinClass extends superclass {\n // eslint-disable-next-line class-methods-use-this\n #renderItem = ({ value, label }) =>\n `<descope-button-selection-group-item value=\"${value}\">${label}</descope-button-selection-group-item>`;\n\n #data;\n\n get renderItem() {\n return this.#renderItem;\n }\n\n set renderItem(renderFn) {\n this.#renderItem = renderFn;\n this.renderItems();\n }\n\n get size() {\n return this.inputElement?.size;\n }\n\n get data() {\n if (this.#data) return this.#data;\n\n const dataAttr = this.getAttribute('data');\n\n if (dataAttr) {\n try {\n const data = JSON.parse(dataAttr);\n if (this.isValidDataType(data)) {\n return data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"data\" - ', e.message);\n }\n }\n\n return [];\n }\n\n set data(data) {\n if (this.isValidDataType(data)) {\n this.#data = data;\n this.renderItems();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n isValidDataType(data) {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n }\n\n getItemsTemplate() {\n return this.data?.reduce?.((acc, item) => acc + (this.renderItem?.(item || {}) || ''), '');\n }\n\n renderItems() {\n const template = this.getItemsTemplate();\n if (template) this.innerHTML = template;\n }\n\n init() {\n super.init?.();\n\n this.renderItems();\n\n observeAttributes(this, this.renderItems.bind(this), { includeAttrs: ['data'] });\n\n // we want new items to get the size\n observeChildren(this, ({ addedNodes }) => {\n addedNodes.forEach((node) => {\n node.setAttribute('size', this.size);\n });\n });\n }\n };\n\nconst { host, label, requiredIndicator, internalWrapper, errorMessage } = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n internalWrapper: { selector: () => ':host [part=\"internal-component\"] slot' },\n errorMessage: { selector: '::part(error-message)' },\n};\n\nexport const buttonSelectionGroupMappings = {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontFamily: host,\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n itemsSpacing: { ...internalWrapper, property: 'gap' },\n};\n\nexport const buttonSelectionGroupStyles = `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t\t${resetInputFieldDefaultWidth()}\n\t\t\t:host::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\t\t\t:host::part(input-field)::after {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\n [part=\"internal-component\"] {\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n display: inline-block;\n\t\t\t\tmin-height: initial;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tpadding: 0;\n\t\t\t\toverflow: hidden;\n\t\t\t\t-webkit-mask-image: none;\n\t\t\t}\n\n\t\t\tvaadin-text-field {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\twidth: 100%\n\t\t\t}\n\n\t\t\tvaadin-text-field::before {\n\t\t\t\theight: 0;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\t\t\tborder: 0 solid;\n\t\t\t}\n\n\t\t\tvaadin-text-field::part(input-field) {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n ${resetInputLabelPosition('vaadin-text-field')}\n\t\t\t${resetInputCursor('vaadin-text-field')}\n `;\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../../mixins';\nimport { componentName as descopeInternalComponentName } from '../descope-button-selection-group-internal/ButtonSelectionGroupInternalClass';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport {\n buttonSelectionGroupBaseMixin,\n buttonSelectionGroupMappings,\n buttonSelectionGroupStyles,\n} from '../baseButtonSelectionGroup';\n\nexport const componentName = getComponentName('button-selection-group');\n\nconst buttonSelectionGroupMixin = (superclass) =>\n class ButtonMultiSelectionGroupMixinClass extends superclass {\n init() {\n super.init?.();\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n \tname=\"button-selection-group\"\n \tslot=\"input\"\n tabindex=\"-1\"\n part=\"internal-component\"\n >\n <slot></slot>\n </${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: ['size', 'default-value', 'allow-deselect'],\n });\n }\n };\n\nexport const ButtonSelectionGroupClass = compose(\n createStyleMixin({\n mappings: {\n ...buttonSelectionGroupMappings,\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n buttonSelectionGroupBaseMixin,\n buttonSelectionGroupMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => buttonSelectionGroupStyles,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default ButtonSelectionGroupClass;\n","import {\n componentName,\n ButtonSelectionGroupInternalClass,\n} from './ButtonSelectionGroupInternalClass';\n\ncustomElements.define(componentName, ButtonSelectionGroupInternalClass);\n\nexport { ButtonSelectionGroupInternalClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../../mixins';\nimport { createBaseClass } from '../../../baseClasses/createBaseClass';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport { ButtonClass } from '../../descope-button/ButtonClass';\n\nexport const componentName = getComponentName('button-selection-group-item');\n\nclass RawSelectItem extends createBaseClass({\n componentName,\n baseSelector: ':host > descope-button',\n}) {\n get size() {\n return this.getAttribute('size') || 'md';\n }\n\n get variant() {\n return this.getAttribute('variant') || 'contained';\n }\n\n get value() {\n return this.getAttribute('value') || '';\n }\n\n set value(value) {\n this.setAttribute('value', value);\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n descope-button {\n max-width: 100%;\n }\n\t\t\tdescope-button > slot {\n\t\t\t\twidth: 100%;\n\t\t\t\toverflow: hidden;\n text-overflow: ellipsis;\n display: inline-block;\n\t\t\t}\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n max-width: 100%\n\t\t\t}\n\t\t</style>\n <descope-button variant=\"${this.variant}\" size=\"${this.size}\" mode=\"primary\">\n <slot></slot>\n </descope-button>\n\t`;\n\n forwardAttrs(this, this.baseElement, { includeAttrs: ['size', 'variant'] });\n forwardAttrs(this.baseElement, this, { includeAttrs: ['focused', 'active'] });\n }\n\n handleFocus() {\n this.shadowRoot.querySelector('descope-button')?.focus();\n }\n\n focus() {\n this.handleFocus();\n }\n\n init() {\n super.init();\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n this.handleFocus();\n }\n });\n }\n}\n\nexport const ButtonSelectionGroupItemClass = compose(\n createStyleMixin({\n mappings: {\n hostDirection: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.hostDirection,\n },\n backgroundColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.backgroundColor,\n },\n labelTextColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.labelTextColor,\n },\n borderColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderColor,\n },\n borderWidth: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderWidth,\n },\n borderStyle: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderStyle,\n },\n borderRadius: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.borderRadius,\n },\n outlineColor: {\n selector: () => ButtonClass.componentName,\n property: ButtonClass.cssVarList.outlineColor,\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawSelectItem);\n","import { componentName, ButtonSelectionGroupItemClass } from './ButtonSelectionGroupItemClass';\nimport '../../descope-button';\n\ncustomElements.define(componentName, ButtonSelectionGroupItemClass);\n\nexport { ButtonSelectionGroupItemClass };\n","import { componentName, ButtonSelectionGroupClass } from './ButtonSelectionGroupClass';\nimport '../descope-button-selection-group-internal';\nimport '../descope-button-selection-group-item';\n\ncustomElements.define(componentName, ButtonSelectionGroupClass);\n\nexport { ButtonSelectionGroupClass };\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { createBaseButtonSelectionGroupInternalClass } from '../createBaseButtonSelectionGroupInternalClass';\n\nexport const componentName = getComponentName('button-multi-selection-group-internal');\n\nexport class ButtonMultiSelectionGroupInternalClass extends createBaseButtonSelectionGroupInternalClass(\n componentName\n) {\n #getSelectedNodes() {\n return this.items.filter((item) => item.hasAttribute('selected'));\n }\n\n onClick(e) {\n if (e.target !== e.currentTarget) {\n if (this.#getSelectedNodes().includes(e.target)) {\n e.target.removeAttribute('selected');\n } else {\n e.target.setAttribute('selected', 'true');\n }\n this.dispatchChange();\n }\n }\n\n get value() {\n return this.#getSelectedNodes().map((node) => node.value);\n }\n\n set value(values) {\n this.items.forEach((item) => {\n if (values.includes(item.value)) {\n item.setAttribute('selected', 'true');\n } else {\n item.removeAttribute('selected');\n }\n });\n }\n\n get minItemsSelection() {\n return parseInt(this.getAttribute('min-items-selection'), 10) || 0;\n }\n\n get maxItemsSelection() {\n return parseInt(this.getAttribute('max-items-selection'), 10) || 0;\n }\n\n // eslint-disable-next-line class-methods-use-this\n #isValidDataType(data) {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('default-values must be an array, received:', data);\n }\n\n return isValid;\n }\n\n get defaultValues() {\n const defaultValuesAttr = this.getAttribute('default-values');\n if (defaultValuesAttr) {\n try {\n const defaultValues = JSON.parse(defaultValuesAttr);\n if (this.#isValidDataType(defaultValues)) {\n return defaultValues;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"default-values\" -', e.message);\n }\n }\n return [];\n }\n\n setDefaultValues() {\n // we want to defer this action until all attributes are synced\n setTimeout(() => {\n if (this.defaultValues) {\n this.value = this.defaultValues;\n this.setCustomValidity();\n }\n });\n }\n\n getValidity() {\n if (this.isRequired && !this.value.length) {\n return { valueMissing: true };\n }\n // If the field is not required, no minimum selection can be set\n if (this.isRequired && this.minItemsSelection && this.value.length < this.minItemsSelection) {\n return {\n rangeUnderflow: true,\n };\n }\n if (this.maxItemsSelection && this.value.length > this.maxItemsSelection) {\n return {\n rangeOverflow: true,\n };\n }\n return {};\n }\n\n init() {\n super.init();\n\n this.setDefaultValues();\n\n this.querySelector('slot').addEventListener('click', this.onClick.bind(this));\n }\n}\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../../mixins';\nimport { componentName as descopeInternalComponentName } from '../descope-button-multi-selection-group-internal/ButtonMultiSelectionGroupInternalClass';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName } from '../../../helpers/componentHelpers';\nimport {\n buttonSelectionGroupBaseMixin,\n buttonSelectionGroupMappings,\n buttonSelectionGroupStyles,\n} from '../baseButtonSelectionGroup';\n\nexport const componentName = getComponentName('button-multi-selection-group');\n\nconst buttonMultiSelectionGroupMixin = (superclass) =>\n class ButtonMultiSelectionGroupMixinClass extends superclass {\n init() {\n super.init?.();\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n \tname=\"button-selection-group\"\n \tslot=\"input\"\n tabindex=\"-1\"\n part=\"internal-component\"\n >\n <slot></slot>\n </${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: ['size', 'default-values', 'min-items-selection', 'max-items-selection'],\n });\n }\n };\n\nexport const ButtonMultiSelectionGroupClass = compose(\n createStyleMixin({\n mappings: {\n ...buttonSelectionGroupMappings,\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),\n componentNameValidationMixin,\n buttonSelectionGroupBaseMixin,\n buttonMultiSelectionGroupMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => buttonSelectionGroupStyles,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n\nexport default ButtonMultiSelectionGroupClass;\n","import {\n componentName,\n ButtonMultiSelectionGroupInternalClass,\n} from './ButtonMultiSelectionGroupInternalClass';\n\ncustomElements.define(componentName, ButtonMultiSelectionGroupInternalClass);\n\nexport { ButtonMultiSelectionGroupInternalClass };\n","import { componentName, ButtonMultiSelectionGroupClass } from './ButtonMultiSelectionGroupClass';\nimport '../descope-button-multi-selection-group-internal';\nimport '../descope-button-selection-group-item';\n\ncustomElements.define(componentName, ButtonMultiSelectionGroupClass);\n\nexport { ButtonMultiSelectionGroupClass };\n","/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridTextColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n _defaultRenderer(cell, _col, model) {\n const data = model.item[this.path] || '';\n const content = Array.isArray(data) ? data.join(', ') : data;\n\n this.__setTextContent(cell, content);\n cell.title = content;\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridTextColumnClass } from './GridTextColumnClass';\n\nexport const componentName = getComponentName('grid-text-column');\n\ncustomElements.define(componentName, GridTextColumnClass);\n","/* eslint-disable no-param-reassign */\nimport { GridTextColumnClass } from '../descope-grid-text-column/GridTextColumnClass';\n\nexport class GridCustomColumnClass extends GridTextColumnClass {\n _defaultRenderer(cell, _col, model) {\n const content = model.item[this.path] || '';\n\n // we get a list of elements that can be used to render the content\n // each element can have a \"pattern\" attribute which contains regex expression\n // we are going over the elements, and when finding an element which is pattern matches the data,\n // we are cloning this element, and injecting the data as its child\n const contentEle = Array.from(this.children).find((child) => {\n const pattern = child.getAttribute('data-pattern');\n if (!pattern) return true;\n\n const regEx = new RegExp(pattern);\n return regEx.test(content);\n });\n\n if (!contentEle) {\n this.__setTextContent(cell, model.item[this.path] || '');\n\n return;\n }\n\n const newEle = contentEle.cloneNode(true);\n newEle.textContent = content || '';\n cell.innerHTML = '';\n cell.append(newEle);\n }\n}\n","/* eslint-disable no-param-reassign */\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridCustomColumnClass } from './GridCustomColumnClass';\n\nexport const componentName = getComponentName('grid-custom-column');\n\ncustomElements.define(componentName, GridCustomColumnClass);\n","import { GridSelectionColumn } from '@vaadin/grid/vaadin-grid-selection-column';\n\nconst createCheckboxEle = () => {\n const checkbox = document.createElement('descope-checkbox');\n\n checkbox.setAttribute('bordered', 'true');\n checkbox.setAttribute('size', 'xs');\n\n return checkbox;\n};\n\nconst getIsAllItemsSelected = (grid) =>\n !!grid.items?.length && grid.selectedItems.length === grid.items.length;\n\nexport class GridSelectionColumnClass extends GridSelectionColumn {\n // eslint-disable-next-line class-methods-use-this\n _onHeaderRendererOrBindingChanged() {}\n\n // eslint-disable-next-line class-methods-use-this\n _headerRenderer(cell) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n\n checkbox.addEventListener('input', () => {\n const isAllItemsSelected = getIsAllItemsSelected(grid);\n if (isAllItemsSelected) {\n grid.selectedItems = [];\n } else {\n grid.selectedItems = grid.items;\n }\n });\n\n cell.appendChild(checkbox);\n }\n\n checkbox.setAttribute('checked', getIsAllItemsSelected(grid));\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, col, model) {\n const grid = cell.parentNode;\n\n let checkbox = cell.querySelector('descope-checkbox');\n if (!checkbox) {\n checkbox = createCheckboxEle();\n cell.appendChild(checkbox);\n }\n\n checkbox.onchange = () => {\n checkbox.checked ? grid.selectItem(model.item) : grid.deselectItem(model.item);\n };\n\n checkbox.setAttribute('checked', model.selected);\n }\n}\n","import '../../boolean-fields/descope-checkbox';\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridSelectionColumnClass } from './GridSelectionColumnClass';\n\nexport const componentName = getComponentName('grid-selection-column');\n\ncustomElements.define(componentName, GridSelectionColumnClass);\n","/* eslint-disable no-param-reassign */\nimport { GridSortColumn } from '@vaadin/grid/vaadin-grid-sort-column';\n\nexport class GridItemDetailsColumnClass extends GridSortColumn {\n get sortable() {\n return this.getAttribute('sortable') === 'true';\n }\n\n // eslint-disable-next-line class-methods-use-this\n _defaultRenderer(cell, _col, model) {\n const grid = _col._gridValue;\n const itemIdx = grid.detailsOpenedItems?.indexOf(model.item) ?? -1;\n const isOpened = itemIdx !== -1;\n\n const toggleIcon = document.createElement('vaadin-icon');\n toggleIcon.icon = isOpened ? 'vaadin:angle-up' : 'vaadin:angle-down';\n toggleIcon.classList.add('toggle-details-button', isOpened ? 'opened' : 'closed');\n cell.innerHTML = '';\n cell.append(toggleIcon);\n\n toggleIcon.onclick = () => {\n grid.detailsOpenedItems = isOpened\n ? grid.detailsOpenedItems.toSpliced(itemIdx, 1)\n : [...grid.detailsOpenedItems, model.item];\n };\n }\n\n _defaultHeaderRenderer(root, _column) {\n if (this.sortable) {\n super._defaultHeaderRenderer(root, _column);\n\n return;\n }\n\n this.__setTextContent(root, this.__getHeader(this.header, this.path));\n }\n}\n","import { getComponentName } from '../../../helpers/componentHelpers';\nimport { GridItemDetailsColumnClass } from './GridItemDetailsColumnClass';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\nexport const componentName = getComponentName('grid-item-details-column');\n\ncustomElements.define(componentName, GridItemDetailsColumnClass);\n","export const decode = (input) => {\n const txt = document.createElement('textarea');\n txt.innerHTML = input;\n return txt.value;\n};\n\nexport const tpl = (input, inline) => {\n return inline ? input : `<pre>${input}</pre>`;\n};\n","import hljs from 'highlight.js';\nimport { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { decode, tpl } from './helpers';\n\nexport const componentName = getComponentName('code-snippet');\n\nclass CodeSnippet extends createBaseClass({ componentName, baseSelector: ':host > code' }) {\n static get observedAttributes() {\n return ['lang', 'inline'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <style>\n :host {\n display: inline-block;\n width: 100%;\n }\n code {\n display: block;\n width: 100%;\n min-height: 1em;\n overflow-x: scroll;\n overflow-y: scroll;\n }\n pre {\n margin: 0;\n }\n </style>\n <code class=\"hljs\"></code>\n `;\n }\n\n init() {\n super.init?.();\n\n this.lang = this.getAttribute('lang');\n this.isInline = this.getAttribute('inline') === 'true';\n\n observeChildren(this, this.#renderSnippet.bind(this));\n }\n\n get contentNode() {\n return this.shadowRoot.querySelector(this.baseSelector);\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (oldValue !== newValue) {\n if (attrName === 'inline') {\n this.isInline = newValue;\n }\n\n if (attrName === 'lang') {\n this.lang = newValue;\n }\n\n this.#renderSnippet();\n }\n }\n\n #renderSnippet() {\n const sanitized = decode(this.textContent);\n const language = this.lang;\n\n if (!language) {\n this.contentNode.textContent = sanitized;\n return;\n }\n\n const { value: highlighted } = hljs.highlight(sanitized, { language });\n\n this.contentNode.innerHTML = tpl(highlighted, this.isInline);\n }\n}\n\nconst {\n root,\n docTag,\n keyword,\n metaKeyword,\n templateTag,\n templateVariable,\n type,\n variableLanguage,\n title,\n titleClass,\n titleClassInherited,\n titleFunction,\n attr,\n attribute,\n literal,\n meta,\n number,\n operator,\n variable,\n selectorAttr,\n selectorClass,\n selectorId,\n regexp,\n string,\n metaString,\n builtIn,\n symbol,\n comment,\n code,\n formula,\n name,\n quote,\n selectorTag,\n selectorPseudo,\n subst,\n section,\n bullet,\n emphasis,\n strong,\n addition,\n deletion,\n charEscape,\n link,\n params,\n property,\n punctuation,\n tag,\n} = {\n root: { selector: () => '.hljs' },\n docTag: { selector: () => '.hljs-doctag' },\n keyword: { selector: () => '.hljs-keyword' },\n metaKeyword: { selector: () => '.hljs-meta .hljs-keyword' },\n templateTag: { selector: () => '.hljs-template-tag' },\n templateVariable: { selector: () => '.hljs-template-variable' },\n type: { selector: () => '.hljs-type' },\n variableLanguage: { selector: () => '.hljs-variable.language' },\n title: { selector: () => '.hljs-title' },\n titleClass: { selector: () => '.hljs-title.class_' },\n titleClassInherited: { selector: () => '.hljs-title.class_.inherited__' },\n titleFunction: { selector: () => '.hljs-title.function_' },\n attr: { selector: () => '.hljs-attr' },\n attribute: { selector: () => '.hljs-attribute' },\n literal: { selector: () => '.hljs-literal' },\n meta: { selector: () => '.hljs-meta' },\n number: { selector: () => '.hljs-number' },\n operator: { selector: () => '.hljs-operator' },\n variable: { selector: () => '.hljs-variable' },\n selectorAttr: { selector: () => '.hljs-selector-attr' },\n selectorClass: { selector: () => '.hljs-selector-class' },\n selectorId: { selector: () => '.hljs-selector-id' },\n regexp: { selector: () => '.hljs-regexp' },\n string: { selector: () => '.hljs-string' },\n metaString: { selector: () => '.hljs-meta .hljs-string' },\n builtIn: { selector: () => '.hljs-built_in' },\n symbol: { selector: () => '.hljs-symbol' },\n comment: { selector: () => '.hljs-comment' },\n code: { selector: () => '.hljs-code' },\n formula: { selector: () => '.hljs-formula' },\n name: { selector: () => '.hljs-name' },\n quote: { selector: () => '.hljs-quote' },\n selectorTag: { selector: () => '.hljs-selector-tag' },\n selectorPseudo: { selector: () => '.hljs-selector-pseudo' },\n subst: { selector: () => '.hljs-subst' },\n section: { selector: () => '.hljs-section' },\n bullet: { selector: () => '.hljs-bullet' },\n emphasis: { selector: () => '.hljs-emphasis' },\n strong: { selector: () => '.hljs-strong' },\n addition: { selector: () => '.hljs-addition' },\n deletion: { selector: () => '.hljs-deletion' },\n charEscape: { selector: () => '.hljs-char.escape' },\n link: { selector: () => '.hljs-link' },\n params: { selector: () => '.hljs-params' },\n property: { selector: () => '.hljs-property' },\n punctuation: { selector: () => '.hljs-punctuation' },\n tag: { selector: () => '.hljs-tag' },\n};\n\nexport const CodeSnippetClass = compose(\n createStyleMixin({\n mappings: {\n rootBgColor: { ...root, property: 'background-color' },\n rootTextColor: { ...root, property: 'color' },\n docTagTextColor: { ...docTag, property: 'color' },\n keywordTextColor: { ...keyword, property: 'color' },\n metaKeywordTextColor: { ...metaKeyword, property: 'color' },\n templateTagTextColor: { ...templateTag, property: 'color' },\n templateVariableTextColor: { ...templateVariable, property: 'color' },\n typeTextColor: { ...type, property: 'color' },\n variableLanguageTextColor: { ...variableLanguage, property: 'color' },\n titleTextColor: { ...title, property: 'color' },\n titleClassTextColor: { ...titleClass, property: 'color' },\n titleClassInheritedTextColor: { ...titleClassInherited, property: 'color' },\n titleFunctionTextColor: { ...titleFunction, property: 'color' },\n attrTextColor: { ...attr, property: 'color' },\n attributeTextColor: { ...attribute, property: 'color' },\n literalTextColor: { ...literal, property: 'color' },\n metaTextColor: { ...meta, property: 'color' },\n numberTextColor: { ...number, property: 'color' },\n operatorTextColor: { ...operator, property: 'color' },\n variableTextColor: { ...variable, property: 'color' },\n selectorAttrTextColor: { ...selectorAttr, property: 'color' },\n selectorClassTextColor: { ...selectorClass, property: 'color' },\n selectorIdTextColor: { ...selectorId, property: 'color' },\n regexpTextColor: { ...regexp, property: 'color' },\n stringTextColor: { ...string, property: 'color' },\n metaStringTextColor: { ...metaString, property: 'color' },\n builtInTextColor: { ...builtIn, property: 'color' },\n symbolTextColor: { ...symbol, property: 'color' },\n commentTextColor: { ...comment, property: 'color' },\n codeTextColor: { ...code, property: 'color' },\n formulaTextColor: { ...formula, property: 'color' },\n nameTextColor: { ...name, property: 'color' },\n quoteTextColor: { ...quote, property: 'color' },\n selectorTagTextColor: { ...selectorTag, property: 'color' },\n selectorPseudoTextColor: { ...selectorPseudo, property: 'color' },\n substTextColor: { ...subst, property: 'color' },\n sectionTextColor: { ...section, property: 'color' },\n bulletTextColor: { ...bullet, property: 'color' },\n emphasisTextColor: { ...emphasis, property: 'color' },\n strongTextColor: { ...strong, property: 'color' },\n additionTextColor: { ...addition, property: 'color' },\n additionBgColor: { ...addition, property: 'background-color' },\n deletionTextColor: { ...deletion, property: 'color' },\n deletionBgColor: { ...deletion, property: 'background-color' },\n charEscapeTextColor: { ...charEscape, property: 'color' },\n linkTextColor: { ...link, property: 'color' },\n paramsTextColor: { ...params, property: 'color' },\n propertyTextColor: { ...property, property: 'color' },\n punctuationTextColor: { ...punctuation, property: 'color' },\n tagTextColor: { ...tag, property: 'color' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(CodeSnippet);\n","import { componentName, CodeSnippetClass } from './CodeSnippetClass';\n\ncustomElements.define(componentName, CodeSnippetClass);\n\nexport { CodeSnippetClass };\n","import { toTitle } from '../../helpers';\n\nexport const isValidDataType = (data) => {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n};\n\nexport const isPlainObject = (value) => value?.constructor === Object;\n\nconst isXml = (str) => /^\\s*<[\\s\\S]*>/.test(str);\n\nconst escapeXML = (s) => {\n const dom = document.createElement('div');\n dom.textContent = s;\n return dom.innerHTML;\n};\n\nexport const getValueType = (value) => {\n if (isPlainObject(value)) return 'object';\n if (Array.isArray(value)) return 'array';\n if (isXml(value)) return 'xml';\n\n return 'text';\n};\n\nexport const renderCodeSnippet = (value, lang) =>\n `<descope-code-snippet lang=\"${lang}\" class=\"row-details__value code\">${value}</descope-code-snippet>`;\n\nexport const renderText = (text) =>\n `<div class=\"row-details__value text\" title=\"${text}\">${text}</div>`;\nconst renderJson = (value) => renderCodeSnippet(JSON.stringify(value, null, 2), 'json');\nconst renderXml = (value) => renderCodeSnippet(escapeXML(value), 'xml');\n\nconst defaultRowDetailsValueRenderer = (value) => {\n const valueType = getValueType(value);\n\n if (valueType === 'object') {\n return renderJson(value);\n }\n\n if (valueType === 'xml') {\n return renderXml(value);\n }\n\n if (valueType === 'array') {\n if (value.some((v) => getValueType(v) === 'object')) {\n return renderJson(value);\n }\n return renderText(value.join(',\\n'));\n }\n\n return renderText(value);\n};\n\nexport const defaultRowDetailsRenderer = (item, itemLabelsMapping) => {\n return `\n <div class=\"row-details\">\n ${Object.entries(item)\n .map(\n ([key, value]) =>\n `<div class=\"row-details__item\" >\n <div class=\"row-details__label\">${itemLabelsMapping[key] || toTitle(key)}</div>\n ${defaultRowDetailsValueRenderer(value)}\n </div>`\n )\n .join('\\n')}\n</div>\n `;\n};\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n draggableMixin,\n} from '../../mixins';\n\nimport { defaultRowDetailsRenderer, isValidDataType } from './helpers';\n\nexport const componentName = getComponentName('grid');\n\nconst GridMixin = (superclass) =>\n class GridMixinClass extends superclass {\n #columns;\n\n init() {\n super.init?.();\n this.handleColumns();\n this.forwardSelectedItemsChange();\n\n // disable the grid sort\n this.baseElement._mapSorters = () => {};\n\n // there is an issue in vaadin that on some cases when trying to render the details panel, the row is null and this fn throwing\n // so we override it to prevent the error\n const origUpdateDetailsCellHeight = this.baseElement._updateDetailsCellHeight;\n this.baseElement._updateDetailsCellHeight = (row) => {\n if (!row) return;\n origUpdateDetailsCellHeight.call(this.baseElement, row);\n };\n\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }\n\n // this renders the details panel content\n // in order to open it, the descope-grid-item-details-column should be used\n #rowDetailsRenderer = async (cell, _col, model) => {\n // prevent details panel from being scrolled into view when clicked\n cell.addEventListener('mousedown', (e) => e.stopImmediatePropagation(), true);\n\n const template = this.getRowDetailsTemplate(model.item);\n\n // eslint-disable-next-line no-param-reassign\n cell.innerHTML = '';\n cell.append(template.content.cloneNode(true));\n };\n\n getRowDetailsTemplate(item) {\n const itemLabelsMapping = this.#columns.reduce(\n (acc, { path, header }) => (!path || !header ? acc : { ...acc, [path]: header }),\n {}\n );\n const template =\n this.rowDetailsRenderer?.(item, itemLabelsMapping) ??\n defaultRowDetailsRenderer(item, itemLabelsMapping);\n\n switch (true) {\n case template instanceof HTMLTemplateElement:\n return template;\n case typeof template === 'string':\n return Object.assign(document.createElement('template'), { innerHTML: template });\n default:\n throw new Error('rowDetailsRenderer should return a string or a template');\n }\n }\n\n forwardSelectedItemsChange() {\n this.baseElement.addEventListener('selected-items-changed', (e) => {\n this.dispatchEvent(\n new CustomEvent('selected-items-changed', {\n bubbles: true,\n composed: true,\n detail: e.detail,\n })\n );\n });\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'columns') {\n this.setColumnsDataFromAttr();\n }\n }\n\n handleColumns() {\n if (this.columnsAttr) {\n this.setColumnsDataFromAttr();\n } else if (this.children.length) {\n this.setColumnsFromChildren();\n }\n }\n\n setColumnsFromChildren() {\n this.#columns = Array.from(this.children).map((child) => {\n return {\n path: child.getAttribute('path'),\n header: child.getAttribute('header'),\n type: child.localName.match('^descope-grid-(\\\\w+)-column$')?.[1] || 'text',\n\n attrs: ['frozen', 'resizable', 'auto-width', 'status'].reduce((acc, attrName) => {\n const attrVal = child.getAttribute(attrName);\n\n if (attrVal) {\n acc[attrName] = attrVal;\n }\n\n return acc;\n }, {}),\n };\n });\n }\n\n get columnsAttr() {\n return this.getAttribute('columns');\n }\n\n setColumnsDataFromAttr() {\n try {\n const data = JSON.parse(this.columnsAttr);\n if (isValidDataType(data)) {\n this.columns = data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"columns\" -', e.message);\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n #renderColumn = ({ path, header, type, attrs }) => {\n const colAttrs = Object.entries(attrs)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(' ');\n\n const tagName = `descope-grid-${type}-column`;\n\n return `<${tagName} header=\"${header}\" path=\"${path}\" ${colAttrs}></${tagName}>`;\n };\n\n get renderColumn() {\n return this.#renderColumn;\n }\n\n set renderColumn(renderFn) {\n this.#renderColumn = renderFn;\n this.renderColumns();\n }\n\n getColumnsTemplate() {\n return this.#columns?.reduce?.(\n (acc, item) => acc + (this.renderColumn?.(item || {}) || ''),\n ''\n );\n }\n\n // there is an issue in vaadin-grid, when rowDetailsRenderer is set, it renders an empty details panel\n reassignRowDetailsRenderer() {\n this.baseElement.rowDetailsRenderer = null;\n setTimeout(() => {\n this.baseElement.rowDetailsRenderer = this.#rowDetailsRenderer.bind(this);\n }, 0);\n }\n\n renderColumns() {\n const template = this.getColumnsTemplate();\n if (template) {\n this.reassignRowDetailsRenderer();\n this.innerHTML = template;\n }\n }\n\n get grid() {\n return this.shadowRoot.querySelector('vaadin-grid');\n }\n\n get data() {\n return this.grid.items;\n }\n\n set data(data) {\n if (isValidDataType(data) && this.grid.items !== data) {\n this.grid.items = data;\n\n if (this.grid.selectedItems) {\n const itemsIds = new Set(\n this.grid.items.map((item) => item[this.uniqueColumnId] ?? item)\n );\n\n const newSelectedItems = this.grid.selectedItems.filter((selectedItem) =>\n itemsIds.has(selectedItem[this.uniqueColumnId] ?? selectedItem)\n );\n\n // we want to update the selected items only if there is a reason,\n // to prevent redundant notifications\n if (this.grid.selectedItems.length !== newSelectedItems.length) {\n this.grid.selectedItems = newSelectedItems;\n }\n }\n }\n }\n\n get columns() {\n return this.#columns;\n }\n\n set columns(data) {\n this.#columns = data;\n this.renderColumns();\n }\n\n get paths() {\n return this.columns.map((col) => col.path);\n }\n\n get uniqueColumnId() {\n return this.getAttribute('unique-column-id');\n }\n };\n\nconst {\n host,\n headerRow,\n headerRowCell,\n contentRow,\n firstRow,\n sortIndicators,\n activeSortIndicator,\n selectedRow,\n rowSeparator,\n resizeHandle,\n toggleDetailsPanelButton,\n toggleDetailsPanelButtonOpened,\n toggleDetailsPanelButtonClosed,\n detailsPanel,\n detailsPanelLabels,\n selectedRowCell,\n detailsPanelContent,\n} = {\n host: { selector: () => 'vaadin-grid' },\n headerRow: { selector: () => '::part(header-cell)' },\n headerRowCell: { selector: () => 'vaadin-grid::part(header-cell)' },\n contentRow: { selector: () => '::part(cell)' },\n firstRow: { selector: () => '::part(first-header-row-cell)' },\n selectedRow: { selector: () => '::part(selected-row)' },\n selectedRowCell: { selector: () => '::part(selected-row-cell)' },\n sortIndicators: { selector: () => 'vaadin-grid-sorter::part(indicators)' },\n activeSortIndicator: { selector: () => 'vaadin-grid-sorter[direction]' },\n rowSeparator: { selector: () => 'vaadin-grid::part(body-cell)' },\n resizeHandle: { selector: () => '::part(resize-handle)' },\n toggleDetailsPanelButton: { selector: () => 'vaadin-grid vaadin-icon.toggle-details-button' },\n toggleDetailsPanelButtonOpened: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.opened',\n },\n toggleDetailsPanelButtonClosed: {\n selector: () => 'vaadin-grid vaadin-icon.toggle-details-button.closed',\n },\n detailsPanel: { selector: () => 'vaadin-grid::part(details-cell)' },\n detailsPanelLabels: { selector: () => 'vaadin-grid .row-details__label' },\n detailsPanelContent: { selector: () => 'vaadin-grid .row-details' },\n};\n\nexport const GridClass = compose(\n createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n hostHeight: { selector: () => ':host', property: 'height' },\n hostMinHeight: { selector: () => ':host', property: 'min-height' },\n fontFamily: [{ ...headerRow }, { ...contentRow }],\n fontSize: [{ ...headerRow }, { ...contentRow }],\n fontWeight: { ...contentRow },\n valueTextColor: { ...contentRow, property: 'color' },\n backgroundColor: [\n { ...host, property: 'background-color' },\n { ...contentRow, property: 'background-color' },\n ],\n sortIndicatorsColor: { ...sortIndicators, property: 'color' },\n activeSortIndicator: { ...activeSortIndicator, property: 'color' },\n borderColor: { ...host, property: 'border-color' },\n borderWidth: { ...host, property: 'border-width' },\n borderStyle: { ...host, property: 'border-style' },\n borderRadius: { ...host, property: 'border-radius' },\n selectedBackgroundColor: [\n { ...selectedRow, property: 'background-color' },\n { ...selectedRowCell, property: 'background-color' },\n ],\n headerRowTextColor: { ...headerRowCell, property: 'color' },\n separatorColor: [\n { ...firstRow, property: 'border-bottom-color' },\n { ...rowSeparator, property: 'border-top-color' },\n ],\n resizeHandleColor: { ...resizeHandle, property: 'background-color' },\n hostDirection: { ...host, property: 'direction', fallback: 'ltr' },\n toggleDetailsPanelButtonSize: [\n { ...toggleDetailsPanelButton, property: 'width' },\n { ...toggleDetailsPanelButton, property: 'height' },\n ],\n toggleDetailsPanelButtonOpenedColor: { ...toggleDetailsPanelButtonOpened, property: 'color' },\n toggleDetailsPanelButtonClosedColor: { ...toggleDetailsPanelButtonClosed, property: 'color' },\n toggleDetailsPanelButtonCursor: { ...toggleDetailsPanelButton, property: 'cursor' },\n detailsPanelBackgroundColor: { ...detailsPanel, property: 'background-color' },\n detailsPanelBorderTopColor: { ...detailsPanel, property: 'border-top-color' },\n detailsPanelLabelsColor: { ...detailsPanelLabels, property: 'color' },\n detailsPanelLabelsFontSize: { ...detailsPanelLabels, property: 'font-size' },\n detailsPanelItemsGap: { ...detailsPanelContent, property: 'grid-gap' },\n detailsPanelPadding: { ...detailsPanelContent, property: 'padding' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n GridMixin\n)(\n createProxy({\n delegatesFocus: false,\n slots: [''],\n wrappedEleName: 'vaadin-grid',\n style: () => `\n /*css*/\n vaadin-grid {\n overflow: hidden;\n height: 100%;\n min-height: 300px;\n }\n vaadin-grid-cell-content {\n display: flex;\n }\n vaadin-grid::part(selected-row-cell) {\n background-image: none;\n box-shadow: none;\n background-color: inherit;\n }\n vaadin-grid::part(details-cell) {\n border-top-style: dashed;\n border-top-width: 1px;\n }\n vaadin-grid .row-details {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(max(200px, calc(100%/4 - var(${GridClass.cssVarList.detailsPanelItemsGap}))), 1fr));\n width: 100%;\n }\n vaadin-grid .row-details__item:has(.row-details__value.code) {\n grid-column: 1 / -1;\n order: 2;\n }\n vaadin-grid .row-details__value.text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre;\n }\n vaadin-grid .row-details__value.code {\n margin-top: 5px;\n max-height: 120px;\n overflow: scroll;\n font-size: 0.85em;\n }\n vaadin-grid vaadin-icon.toggle-details-button {\n margin: auto;\n }\n /*!css*/\n\t\t`,\n excludeAttrsSync: ['columns', 'tabindex'],\n componentName,\n })\n);\n","import '@vaadin/grid';\nimport './descope-grid-text-column';\nimport './descope-grid-custom-column';\nimport './descope-grid-selection-column';\nimport './descope-grid-item-details-column';\nimport '../descope-code-snippet'; // this is needed for the details panel\n\nimport { componentName, GridClass } from './GridClass';\n\ncustomElements.define(componentName, GridClass);\n\nexport { GridClass };\n","import { compose, compareArraysUnordered } from '../../helpers';\nimport {\n forwardAttrs,\n getComponentName,\n observeAttributes,\n observeChildren,\n} from '../../helpers/componentHelpers';\nimport {\n resetInputLabelPosition,\n resetInputCursor,\n resetInputPlaceholder,\n resetInputReadonlyStyle,\n useHostExternalPadding,\n inputFloatingLabelStyle,\n} from '../../helpers/themeHelpers/resetHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n portalMixin,\n proxyInputMixin,\n changeMixin,\n} from '../../mixins';\n\nexport const componentName = getComponentName('multi-select-combo-box');\n\nconst multiSelectComboBoxMixin = (superclass) =>\n class MultiSelectComboBoxMixinClass extends superclass {\n static get observedAttributes() {\n return ['readonly'];\n }\n\n // eslint-disable-next-line class-methods-use-this\n #renderItem = ({ displayName, value, label }) => {\n return `<span data-name=\"${label}\" data-id=\"${value}\">${displayName || label}</span>`;\n };\n\n #data;\n\n #value = [];\n\n get defaultValues() {\n const defaultValuesAttr = this.getAttribute('default-values');\n if (defaultValuesAttr) {\n try {\n const defaultValues = JSON.parse(defaultValuesAttr);\n if (this.isValidDataType(defaultValues)) {\n return defaultValues;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"default-values\" -', e.message);\n }\n }\n return [];\n }\n\n get renderItem() {\n return this.#renderItem;\n }\n\n set renderItem(renderFn) {\n this.#renderItem = renderFn;\n this.renderItems();\n }\n\n get data() {\n if (this.#data) return this.#data;\n\n const dataAttr = this.getAttribute('data');\n\n if (dataAttr) {\n try {\n const data = JSON.parse(dataAttr);\n if (this.isValidDataType(data)) {\n return data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"data\" -', e.message);\n }\n }\n\n return [];\n }\n\n set data(data) {\n if (this.isValidDataType(data)) {\n this.#data = data;\n this.renderItems();\n }\n }\n\n get allowCustomValues() {\n return this.getAttribute('allow-custom-value') === 'true';\n }\n\n get minItemsSelection() {\n return parseInt(this.getAttribute('min-items-selection'), 10) || 0;\n }\n\n get maxItemsSelection() {\n return parseInt(this.getAttribute('max-items-selection'), 10) || 0;\n }\n\n // eslint-disable-next-line class-methods-use-this\n isValidDataType(data) {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data and default-values must be an array, received:', data);\n }\n\n return isValid;\n }\n\n getItemsTemplate() {\n return this.data?.reduce?.((acc, item) => acc + (this.renderItem?.(item || {}) || ''), '');\n }\n\n renderItems() {\n const template = this.getItemsTemplate();\n if (template) this.innerHTML = template;\n }\n\n updateSelectedItems() {\n // This is a list of all the selected items, including ones that may have been removed from the DOM\n const currentSelected =\n this.baseElement.selectedItems?.map((item) => item.getAttribute('data-id')) || [];\n\n // if there are selected items, we want to trigger a potential update to the value if some child elements were removed\n if (currentSelected.length > 0) {\n // setting the value checks that the selected items are still in the DOM and will not set the value if they are not\n this.value = currentSelected;\n }\n\n // otherwise, if default value is specified, set default value as selected item\n if (this.value.length === 0) {\n this.setDefaultValues();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n customValueTransformFn(val) {\n return val;\n }\n\n // We want to override Vaadin's Combo Box value setter. This is needed since Vaadin couples between the\n // field that it searches the value, and the finaly display value of the input.\n // We provide a custom transform function to override that behavior.\n setComboBoxDescriptor() {\n const valueDescriptor = Object.getOwnPropertyDescriptor(\n this.inputElement.constructor.prototype,\n 'value'\n );\n\n const comboBox = this;\n\n Object.defineProperties(this.inputElement, {\n value: {\n ...valueDescriptor,\n set(val) {\n const transformedValue = comboBox.customValueTransformFn(val) || '';\n\n if (transformedValue === this.value) {\n return;\n }\n\n valueDescriptor.set.call(this, transformedValue);\n },\n },\n });\n }\n\n // To prevent duplicate items for the multi select options, we dedup them based on the \"data-id\" attribute\n // eslint-disable-next-line class-methods-use-this\n #dedupItems(items) {\n return Array.from(\n new Map(items.map((item) => [item.getAttribute('data-id'), item])).values()\n );\n }\n\n // vaadin api is to set props on their combo box node,\n // in order to avoid it, we are passing the children of this component\n // to the items & renderer props, so it will be used as the combo box items\n #onChildrenChange() {\n const items = Array.from(this.children);\n const dedupItems = this.#dedupItems(items);\n\n // we want the data-name attribute to be accessible as an object attribute\n if (items.length) {\n this.removeAttribute('has-no-options');\n\n dedupItems.forEach((node) => {\n Object.defineProperty(node, 'data-name', {\n value: node.getAttribute('data-name'),\n configurable: true,\n writable: true,\n });\n Object.defineProperty(node, 'data-id', {\n value: node.getAttribute('data-id'),\n configurable: true,\n writable: true,\n });\n });\n\n this.baseElement.items = dedupItems;\n\n setTimeout(() => {\n // set timeout to ensure this runs after customValueTransformFn had the chance to be overriden\n this.updateSelectedItems();\n }, 0);\n } else {\n this.baseElement.items = [];\n this.setAttribute('has-no-options', '');\n }\n\n // use vaadin combobox custom renderer to render options as HTML\n // and not via default renderer, which renders only the data-name's value\n // in its own HTML template\n this.baseElement.renderer = (root, combo, model) => {\n // eslint-disable-next-line no-param-reassign\n root.innerHTML = model.item.outerHTML;\n };\n }\n\n // the default vaadin behavior is to attach the overlay to the body when opened\n // we do not want that because it's difficult to style the overlay in this way\n // so we override it to open inside the shadow DOM\n #overrideOverlaySettings() {\n const overlay = this.baseElement.shadowRoot\n .querySelector('vaadin-multi-select-combo-box-internal')\n .shadowRoot.querySelector('vaadin-multi-select-combo-box-overlay');\n overlay._attachOverlay = () => {\n overlay.bringToFront();\n };\n overlay._detachOverlay = () => {};\n overlay._enterModalState = () => {};\n }\n\n #handleCustomValues() {\n if (this.allowCustomValues) {\n this.baseElement.addEventListener('custom-value-set', (e) => {\n const newItemHtml = this.#renderItem({\n label: e.detail,\n displayName: e.detail,\n value: e.detail,\n });\n this.innerHTML += newItemHtml;\n // The internal filter needs to be removed, otherwise there's a bug where a new custom item\n // added can't be removed from the dropdown because of how the vaadin component is implemented\n this.baseElement._lastFilter = '';\n // The value needs to be set with a timeout because it needs to execute after\n // the custom value is added to items by the children change observer\n setTimeout(() => {\n this.value = [...this.value, e.detail];\n }, 0);\n });\n }\n }\n\n setGetValidity() {\n // eslint-disable-next-line func-names\n this.getValidity = function () {\n if (this.isRequired && !this.value.length) {\n return {\n valueMissing: true,\n };\n }\n // If the field is not required, no minimum selection can be set\n if (\n this.isRequired &&\n this.minItemsSelection &&\n this.value.length < this.minItemsSelection\n ) {\n return {\n rangeUnderflow: true,\n };\n }\n if (this.maxItemsSelection && this.value.length > this.maxItemsSelection) {\n return {\n rangeOverflow: true,\n };\n }\n return {};\n };\n\n // This is required to override the default validity check of the vaadin component\n // which is triggered when the component is checked for validity after blur\n // Without this, our minItemsSelection and maxItemsSelection constraints will not be checked\n const that = this;\n // eslint-disable-next-line func-names\n this.baseElement.checkValidity = () => {\n return that.validity.valid;\n };\n }\n\n init() {\n super.init?.();\n\n this.setGetValidity();\n\n this.setComboBoxDescriptor();\n\n this.#overrideOverlaySettings();\n\n this.#handleCustomValues();\n\n this.renderItems();\n\n observeAttributes(this, this.renderItems.bind(this), { includeAttrs: ['data'] });\n\n observeChildren(this, this.#onChildrenChange.bind(this));\n\n // Note: we need to forward the `placeholder` because the vaadin component observes it and\n // tries to override it, causing us to lose the user set placeholder.\n forwardAttrs(this, this.baseElement, { includeAttrs: ['placeholder'] });\n\n this.setDefaultValues();\n\n this.baseElement.addEventListener('selected-items-changed', () => {\n this.#updateInternalValue();\n this.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n });\n }\n\n setDefaultValues() {\n const initialDefaultValues = this.defaultValues;\n if (initialDefaultValues.length > 0) {\n this.value = this.defaultValues;\n }\n }\n\n #updateInternalValue() {\n // This is done here because we don't want to return a different copy of the same array\n // every time get value is called if a new value wasn't set\n this.#value =\n this.baseElement.selectedItems?.map((elem) => elem.getAttribute('data-id')) || [];\n }\n\n // Updating the value will update the selectedItems, which will trigger an event 'selected-items-changed'\n // which we listen to in the init function to update the internal value\n set value(vals) {\n if (vals && vals.length > 0) {\n // Filters the children of the component to find the ones that match the values,\n // since it's possible that some values that are trying to set are not in the children\n const selectedChildren = this.baseElement.items?.filter((item) =>\n vals.includes(item['data-id'])\n );\n\n // If the component allows custom values, we need to add the values that are not present in the children\n if (this.allowCustomValues) {\n const existingValues =\n selectedChildren?.map((child) => child.getAttribute('data-id')) || [];\n const missingValues = vals.filter((val) => !existingValues.includes(val));\n\n if (missingValues.length) {\n const newItemsHtml = missingValues.reduce((acc, val) => {\n const newItemHtml = this.#renderItem({\n label: val,\n displayName: val,\n value: val,\n });\n return acc + newItemHtml;\n }, '');\n this.innerHTML += newItemsHtml;\n\n // The value needs to be set with a timeout because it needs to execute after\n // the custom values are added to the items by the children change observer\n setTimeout(() => {\n this.value = vals;\n }, 0);\n return;\n }\n }\n\n const newSelectedValues =\n selectedChildren?.map((child) => child.getAttribute('data-id')) || [];\n if (!compareArraysUnordered(this.#value, newSelectedValues)) {\n this.baseElement.selectedItems = selectedChildren;\n }\n } else {\n this.baseElement.selectedItems = [];\n }\n }\n\n get value() {\n return this.#value;\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'readonly') {\n this.onReadOnlyChange(newValue !== null && newValue === 'true');\n }\n }\n\n onReadOnlyChange(val) {\n if (val) {\n this.baseElement?.shadowRoot\n ?.querySelector('vaadin-multi-select-combo-box-internal')\n ?.setAttribute('inert', val);\n } else {\n this.baseElement?.shadowRoot\n ?.querySelector('vaadin-multi-select-combo-box-internal')\n ?.removeAttribute('inert');\n }\n }\n };\n\nconst {\n host,\n inputField,\n inputElement,\n placeholder,\n toggle,\n clearButton,\n label,\n requiredIndicator,\n helperText,\n errorMessage,\n chip,\n chipLabel,\n overflowChipFirstBorder,\n overflowChipSecondBorder,\n} = {\n host: { selector: () => ':host' },\n inputField: { selector: '::part(input-field)' },\n inputElement: { selector: 'input' },\n placeholder: { selector: '> input:placeholder-shown' },\n toggle: { selector: '::part(toggle-button)' },\n clearButton: { selector: '::part(clear-button)' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n chip: { selector: 'vaadin-multi-select-combo-box-chip' },\n chipLabel: { selector: 'vaadin-multi-select-combo-box-chip::part(label)' },\n overflowChipFirstBorder: {\n selector: \"vaadin-multi-select-combo-box-chip[slot='overflow']::before\",\n },\n overflowChipSecondBorder: {\n selector: \"vaadin-multi-select-combo-box-chip[slot='overflow']::after\",\n },\n};\n\nexport const MultiSelectComboBoxClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host],\n chipFontSize: { ...chipLabel, property: 'font-size' },\n fontFamily: [label, placeholder, inputField, helperText, errorMessage, chipLabel],\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n ],\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n inputHeight: { ...inputField, property: 'min-height' },\n inputBackgroundColor: { ...inputField, property: 'background-color' },\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n inputValueTextColor: { ...inputField, property: 'color' },\n inputPlaceholderTextColor: { ...placeholder, property: 'color' },\n inputDropdownButtonCursor: [\n { ...toggle, property: 'cursor' },\n { ...clearButton, property: 'cursor' },\n ],\n inputDropdownButtonColor: [\n { ...toggle, property: 'color' },\n { ...clearButton, property: 'color' },\n ],\n inputDropdownButtonSize: [\n { ...toggle, property: 'font-size' },\n { ...clearButton, property: 'font-size' },\n ],\n inputDropdownButtonOffset: [\n { ...toggle, property: 'margin-right' },\n { ...toggle, property: 'margin-left' },\n ],\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n inputHorizontalPadding: [\n { ...inputElement, property: 'padding-left' },\n { ...inputElement, property: 'padding-right' },\n { ...inputField, property: 'padding-inline-start' },\n ],\n inputVerticalPadding: [\n { ...inputField, property: 'padding-top' },\n { ...inputField, property: 'padding-bottom' },\n ],\n chipTextColor: { ...chipLabel, property: 'color' },\n chipBackgroundColor: [\n { ...chip, property: 'background-color' },\n { ...overflowChipFirstBorder, property: 'border-color' },\n { ...overflowChipSecondBorder, property: 'border-color' },\n ],\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelLeftPosition: { ...label, property: 'left' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: { ...placeholder, property: 'opacity' },\n inputVerticalAlignment: { ...inputField, property: 'align-items' },\n\n // we need to use the variables from the portal mixin\n // so we need to use an arrow function on the selector\n // for that to work, because ComboBox is not available\n // at this time.\n overlayBackground: {\n property: () => MultiSelectComboBoxClass.cssVarList.overlay.backgroundColor,\n },\n overlayTextColor: {\n property: () => MultiSelectComboBoxClass.cssVarList.overlay.textColor,\n },\n overlayBorder: { property: () => MultiSelectComboBoxClass.cssVarList.overlay.border },\n overlayFontSize: { property: () => MultiSelectComboBoxClass.cssVarList.overlay.fontSize },\n overlayFontFamily: { property: () => MultiSelectComboBoxClass.cssVarList.overlay.fontFamily },\n overlayCursor: { property: () => MultiSelectComboBoxClass.cssVarList.overlay.cursor },\n overlayItemBoxShadow: {\n property: () => MultiSelectComboBoxClass.cssVarList.overlay.itemBoxShadow,\n },\n overlayItemPaddingInlineStart: {\n property: () => MultiSelectComboBoxClass.cssVarList.overlay.itemPaddingInlineStart,\n },\n overlayItemPaddingInlineEnd: {\n property: () => MultiSelectComboBoxClass.cssVarList.overlay.itemPaddingInlineEnd,\n },\n },\n }),\n draggableMixin,\n portalMixin({\n name: 'overlay',\n selector: 'vaadin-multi-select-combo-box-internal',\n mappings: {\n backgroundColor: { selector: 'vaadin-multi-select-combo-box-scroller' },\n minHeight: { selector: 'vaadin-multi-select-combo-box-overlay' },\n margin: { selector: 'vaadin-multi-select-combo-box-overlay' },\n cursor: { selector: 'vaadin-multi-select-combo-box-item' },\n fontFamily: { selector: 'vaadin-multi-select-combo-box-item' },\n textColor: { selector: 'vaadin-multi-select-combo-box-item', property: 'color' },\n fontSize: { selector: 'vaadin-multi-select-combo-box-item' },\n itemBoxShadow: { selector: 'vaadin-multi-select-combo-box-item', property: 'box-shadow' },\n itemPaddingInlineStart: {\n selector: 'vaadin-multi-select-combo-box-item',\n property: 'padding-inline-start',\n },\n itemPaddingInlineEnd: {\n selector: 'vaadin-multi-select-combo-box-item',\n property: 'padding-inline-end',\n },\n },\n forward: {\n include: false,\n attributes: ['size'],\n },\n }),\n proxyInputMixin({ proxyProps: ['selectionStart'], inputEvent: 'selected-items-changed' }),\n changeMixin,\n componentNameValidationMixin,\n multiSelectComboBoxMixin\n)(\n createProxy({\n slots: ['', 'prefix'],\n wrappedEleName: 'vaadin-multi-select-combo-box',\n style: () => `\n\t\t:host {\n\t\t\tdisplay: inline-flex;\n\t\t\tbox-sizing: border-box;\n\t\t\t-webkit-mask-image: none;\n\t\t}\n\t\t${useHostExternalPadding(MultiSelectComboBoxClass.cssVarList)}\n\t\t${resetInputReadonlyStyle('vaadin-multi-select-combo-box')}\n\t\t${resetInputPlaceholder('vaadin-multi-select-combo-box')}\n\t\t${resetInputCursor('vaadin-multi-select-combo-box')}\n\n\t\tvaadin-multi-select-combo-box {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t\tvaadin-multi-select-combo-box::before {\n\t\t\theight: initial;\n\t\t}\n\t\tvaadin-multi-select-combo-box [slot=\"input\"] {\n\t\t\t-webkit-mask-image: none;\n\t\t\tmin-height: 0;\n align-self: center;\n\t\t\tbox-sizing: border-box;\n\t\t}\n\t\tvaadin-multi-select-combo-box[readonly] [slot=\"input\"] {\n flex-grow: 1;\n flex-basis: 4em;\n\t\t}\n\n\t\t::part(input-field) {\n padding: 0;\n\t\t\tbox-shadow: none;\n\t\t}\n ${resetInputLabelPosition('vaadin-multi-select-combo-box')}\n :host([has-label]) vaadin-multi-select-combo-box-chip::part(label) {\n display: block;\n }\n\n vaadin-multi-select-combo-box vaadin-multi-select-combo-box-chip[slot='overflow']::before,\n vaadin-multi-select-combo-box vaadin-multi-select-combo-box-chip[slot='overflow']::after {\n left: -4px;\n right: -4px;\n border-left-width: 0;\n border-inline-start-style: solid;\n border-inline-start-width: 2px;\n }\n vaadin-multi-select-combo-box vaadin-multi-select-combo-box-chip[slot='overflow']::after {\n left: -8px;\n right: -8px;\n }\n\n :host([has-no-options][allow-custom-value='true']) ::part(toggle-button) {\n display: none;\n }\n\n ${inputFloatingLabelStyle()}\n\n vaadin-multi-select-combo-box::part(toggle-button),\n vaadin-multi-select-combo-box::part(clear-button) {\n align-self: center;\n }\n\n vaadin-multi-select-combo-box[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-multi-select-combo-box[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\n\t\t`,\n // Note: we exclude `size` to avoid overriding Vaadin's ComboBox property\n // with the same name. Including it will cause Vaadin to calculate NaN size,\n // and reset items to an empty array, and opening the list box with no items\n // to display.\n // Note: we exclude `placeholder` because the vaadin component observes it and\n // tries to override it, causing us to lose the user set placeholder.\n excludeAttrsSync: ['tabindex', 'size', 'data', 'placeholder'],\n componentName,\n includeForwardProps: ['items', 'renderer', 'selectedItems'],\n })\n);\n","import '@vaadin/multi-select-combo-box';\nimport { componentName, MultiSelectComboBoxClass } from './MultiSelectComboBoxClass';\n\ncustomElements.define(componentName, MultiSelectComboBoxClass);\n\nexport { MultiSelectComboBoxClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('badge');\n\nclass RawBadge extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\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\t\t</style>\n\t\t<div>\n <slot></slot>\n\t\t</div>\n\t\t`;\n }\n}\n\nexport const BadgeClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: [{ selector: () => ':host', property: 'width' }],\n hostDirection: { property: 'direction' },\n\n fontFamily: {},\n fontSize: {},\n fontWeight: {},\n textTransform: {},\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],\n\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n borderRadius: {},\n\n backgroundColor: {},\n\n textColor: { property: 'color' },\n textAlign: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawBadge);\n","import { componentName, BadgeClass } from './BadgeClass';\n\ncustomElements.define(componentName, BadgeClass);\n\nexport { BadgeClass };\n","import { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n portalMixin,\n} from '../../mixins';\n\nexport const componentName = getComponentName('modal');\n\nconst customMixin = (superclass) =>\n class ModalMixinClass extends superclass {\n get opened() {\n return this.getAttribute('opened') === 'true';\n }\n\n handleOpened() {\n forwardAttrs(this, this.baseElement, { includeAttrs: ['opened'] });\n if (this.opened) {\n this.style.display = '';\n } else {\n this.style.display = 'none';\n }\n }\n\n init() {\n super.init?.();\n this.style.display = 'none';\n\n // vaadin-dialog might not be loaded in time\n // in order to make sure it's loaded before this block is running\n // we are wrapping it with setTimeout\n setTimeout(() => {\n // we want to sync descope-modal content through vaadin-dialog into the overlay\n // so we are adding a slot to the overlay, which allows us to forward the content from\n // vaadin-dialog to vaadin-dialog-overlay\n this.baseElement.shadowRoot\n .querySelector('vaadin-dialog-overlay')\n .appendChild(document.createElement('slot'));\n\n this.#overrideOverlaySettings();\n\n // we need to always open the modal in `opened=false`\n // to prevent it from rendering outside the dialog\n // first, we have to run `overrideOverlaySettings` to setup\n // the component.\n this.handleOpened();\n });\n }\n\n // the default vaadin behavior is to attach the overlay to the body when opened\n // we do not want that because it's difficult to style the overlay in this way\n // so we override it to open inside the shadow DOM\n #overrideOverlaySettings() {\n const overlay = this.baseElement.shadowRoot.querySelector('vaadin-dialog-overlay');\n\n overlay._attachOverlay = () => {\n overlay.bringToFront();\n this.baseElement.setAttribute('style', 'display:flex!important;');\n };\n overlay._detachOverlay = () => {\n this.baseElement.style.display = 'none';\n };\n overlay._enterModalState = () => {};\n\n overlay.close = () => false;\n }\n };\n\nexport const ModalClass = compose(\n createStyleMixin({\n mappings: {\n overlayBackgroundColor: { property: () => ModalClass.cssVarList.overlay.backgroundColor },\n overlayShadow: { property: () => ModalClass.cssVarList.overlay.shadow },\n overlayWidth: { property: () => ModalClass.cssVarList.overlay.width },\n },\n }),\n portalMixin({\n name: 'overlay',\n selector: '',\n mappings: {\n hostDisplay: {\n selector: () => ':host(.descope-modal)',\n property: 'display',\n important: true,\n },\n backgroundColor: [\n { selector: () => '::part(content)', property: 'background-color' },\n { selector: () => '::part(overlay)', property: 'background-color' },\n ],\n width: { selector: () => '::part(overlay)', property: 'width' },\n shadow: { selector: () => '::part(overlay)', property: 'box-shadow' },\n },\n forward: {\n include: false,\n attributes: ['opened'],\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [''],\n wrappedEleName: 'vaadin-dialog',\n style: () => ``,\n excludeAttrsSync: ['tabindex', 'opened'],\n componentName,\n })\n);\n","import '@vaadin/dialog';\nimport { componentName, ModalClass } from './ModalClass';\n\ncustomElements.define(componentName, ModalClass);\n\nexport { ModalClass };\n","import '@vaadin/notification';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nconst vaadinContainerClass = window.customElements.get('vaadin-notification-container');\n\nif (!vaadinContainerClass) {\n throw new Error('could not get vaadin-notification-container class');\n}\n\nclass NotificationContainerClass extends vaadinContainerClass {}\ncustomElements.define(getComponentName('notification-container'), NotificationContainerClass);\n\nexport { NotificationContainerClass };\n","import { compose } from '../../../helpers';\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { createStyleMixin, createProxy } from '../../../mixins';\n\nexport const componentName = getComponentName('notification-card');\n\nconst notificationCardMixin = (superclass) =>\n class NotificationCardMixinClass extends superclass {\n close() {\n // if animation is not applied to the element, the node will not be removed\n // from the DOM. We should avoid that. So, if in any case we allow\n // customizing the animation - we should check if animation is applied\n // and if it's not applied - remove the element from the DOM and dispatch\n // `card-closed` event.\n this.baseElement.addEventListener('animationend', () => {\n this.remove();\n this.dispatchEvent(new Event('card-closed'));\n });\n\n this.setAttribute('opened', 'false');\n }\n\n constructor() {\n super();\n\n this.baseElement.innerHTML = `\n <div part=\"root\">\n <div part=\"content\">\n <slot></slot>\n </div>\n <div part=\"close\">\n <slot name=\"close\"></slot>\n </div>\n </div>\n `;\n\n this.closeEle = this.shadowRoot.querySelector('[part=\"close\"]');\n }\n\n init() {\n super.init?.();\n\n this.closeEle.onclick = () => {\n this.close();\n };\n }\n };\n\nconst selectors = {\n content: () => 'vaadin-notification-card::part(content)',\n overlay: () => 'vaadin-notification-card::part(overlay)',\n};\n\nexport const NotificationCardClass = compose(\n createStyleMixin({\n mappings: {\n hostMinWidth: { selector: selectors.content, property: 'min-width' },\n fontFamily: {},\n fontSize: {},\n backgroundColor: { selector: selectors.content },\n textColor: { property: 'color' },\n boxShadow: {},\n borderWidth: { selector: selectors.content, property: 'border-width' },\n borderColor: { selector: selectors.content, property: 'border-color' },\n borderStyle: { selector: selectors.content, property: 'border-style' },\n borderRadius: [\n { selector: selectors.content, property: 'border-radius' },\n { selector: selectors.overlay, property: 'border-radius' },\n ],\n verticalPadding: [\n { selector: selectors.content, property: 'padding-top' },\n { selector: selectors.content, property: 'padding-bottom' },\n ],\n horizontalPadding: [\n { selector: selectors.content, property: 'padding-right' },\n { selector: selectors.content, property: 'padding-left' },\n ],\n },\n }),\n notificationCardMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-notification-card',\n style: () => `\n vaadin-notification-card {\n box-shadow: none;\n }\n ::part(overlay) {\n box-shadow: none;\n background: none;\n }\n\n [part=\"close\"] {\n cursor: pointer;\n display: flex;\n }\n\n [part=\"content\"] {\n display: flex;\n align-items: center;\n flex-grow: 1;\n }\n\n [part=\"root\"] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n }\n `,\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/notification';\nimport { componentName, NotificationCardClass } from './NotificationCardClass';\n\ncustomElements.define(componentName, NotificationCardClass);\n\nexport { NotificationCardClass };\n","import { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../helpers/componentHelpers';\nimport {\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n hoverableMixin,\n} from '../../mixins';\n\nexport const componentName = getComponentName('notification');\n\nconst NotificationMixin = (superclass) =>\n class NotificationMixinClass extends superclass {\n #card;\n\n constructor() {\n super();\n\n const that = this;\n\n Object.defineProperty(this.baseElement, '_container', {\n get() {\n if (!NotificationMixinClass._container) {\n NotificationMixinClass._container = document.createElement(\n 'descope-notification-container'\n );\n\n // we are overriding the container position to be absolute because we want to keep in inside the flow/widget boundaries\n NotificationMixinClass._container.style.position = 'absolute';\n\n // we're adding the container to body to avoid Vaadin's container's `openChanged`\n // from breaking when trying to remove it directly from the body.\n document.body.appendChild(NotificationMixinClass._container);\n }\n\n if (!NotificationMixinClass._container.isConnected) {\n // Then, we're adding the container to the parentNode, which is the desired location\n // for us on the DOM\n setTimeout(() => that.parentNode.appendChild(NotificationMixinClass._container));\n }\n\n return NotificationMixinClass._container;\n },\n });\n\n Object.defineProperty(this.baseElement, '_card', {\n get() {\n return that.#card;\n },\n });\n\n // we want to replace the card with vaadin's remove notification so it will not throw\n this.baseElement._removeNotificationCard = this.close.bind(this);\n }\n\n close() {\n this.#card.close();\n }\n\n init() {\n super.init?.();\n\n this.createCard();\n\n forwardAttrs(this, this.#card);\n syncAttrs(this.#card, this, { includeAttrs: ['opened'] });\n\n this.baseElement.renderer = (cardRoot) => {\n Array.from(this.childNodes).forEach((child) => cardRoot.appendChild(child));\n };\n }\n\n // eslint-disable-next-line class-methods-use-this\n get isContainerEmpty() {\n return !NotificationMixinClass._container.children.length;\n }\n\n // eslint-disable-next-line class-methods-use-this\n removeContainer() {\n NotificationMixinClass._container.remove();\n }\n\n removeNotification() {\n // remove descope-notification from the DOM\n this.remove();\n // if needed, remove descope-notification-container\n if (this.isContainerEmpty) this.removeContainer();\n }\n\n createCard() {\n this.#card = document.createElement('descope-notification-card');\n this.#card.addEventListener('card-closed', this.removeNotification.bind(this));\n }\n };\n\nexport const NotificationClass = compose(\n draggableMixin,\n componentNameValidationMixin,\n hoverableMixin,\n NotificationMixin\n)(\n createProxy({\n wrappedEleName: 'vaadin-notification',\n excludeAttrsSync: ['tabindex'],\n componentName,\n })\n);\n","import '@vaadin/notification';\nimport './descope-notification-container';\nimport './descope-notification-card';\nimport { componentName, NotificationClass } from './NotificationClass';\n\ncustomElements.define(componentName, NotificationClass);\n\nexport { NotificationClass };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName, observeAttributes } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('avatar');\nclass RawAvatar extends createBaseClass({ componentName, baseSelector: ':host > .wrapper' }) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n .editableBadge {\n border: 1px solid;\n border-radius: 100%;\n height: fit-content;\n width: 25%;\n height: 25%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5%;\n box-sizing: border-box;\n position: absolute;\n bottom: 0;\n inset-inline-end: 0;\n }\n\n vaadin-icon {\n color: currentcolor;\n }\n\n vaadin-avatar {\n width: 100%;\n height: 100%;\n margin: 0;\n border: none\n }\n\n .wrapper {\n display: inline-flex;\n position: relative;\n width: 100%;\n height: 100%;\n }\n </style>\n\n\n <div class=\"wrapper\">\n <vaadin-avatar></vaadin-avatar>\n <div class=\"editableBadge\">\n <vaadin-icon icon=\"vaadin:pencil\"></vaadin-icon>\n </div>\n </div>\n\t\t`;\n\n this.avatarComponent = this.shadowRoot.querySelector('vaadin-avatar');\n\n forwardAttrs(this, this.avatarComponent, {\n includeAttrs: ['display-name', 'img', 'abbr'],\n mapAttrs: { 'display-name': 'name' },\n });\n\n const editableIcon = this.shadowRoot.querySelector('.editableBadge');\n\n observeAttributes(\n this,\n () => {\n editableIcon.style.display = this.isEditable ? '' : 'none';\n },\n { includeAttrs: ['editable'] }\n );\n }\n\n get isEditable() {\n return this.getAttribute('editable') === 'true';\n }\n}\n\nconst { host, editableBadge, avatar } = {\n host: { selector: () => ':host' },\n editableBadge: { selector: '> .editableBadge' },\n avatar: { selector: 'vaadin-avatar' },\n};\n\nexport const AvatarClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: [\n { ...host, property: 'width' },\n { ...host, property: 'min-width' },\n ],\n hostHeight: { ...host, property: 'height' },\n cursor: [avatar, host],\n hostDirection: { ...host, property: 'direction' },\n avatarTextColor: { ...avatar, property: 'color' },\n avatarBackgroundColor: { ...avatar, property: 'background-color' },\n editableIconColor: { ...editableBadge, property: 'color' },\n editableBorderColor: { ...editableBadge, property: 'border-color' },\n editableBackgroundColor: { ...editableBadge, property: 'background-color' },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawAvatar);\n","import { componentName, AvatarClass } from './AvatarClass';\nimport '@vaadin/avatar';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\ncustomElements.define(componentName, AvatarClass);\n\nexport { AvatarClass };\n","import { componentName, IconClass } from './IconClass';\n\ncustomElements.define(componentName, IconClass);\n\nexport { IconClass };\n","import { createBaseInputClass } from '../../../../baseClasses/createBaseInputClass';\nimport {\n getComponentName,\n forwardAttrs,\n observeChildren,\n} from '../../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('mappings-field-internal');\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass MappingsFieldInternal extends BaseInputClass {\n #errorItem;\n\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], [\n 'label-value',\n 'label-attr',\n 'button-label',\n 'invalid',\n 'readonly',\n 'disabled',\n ]);\n }\n\n // eslint-disable-next-line class-methods-use-this\n isValidDataType(data) {\n try {\n return data.every(\n (obj) =>\n typeof obj === 'object' &&\n !Array.isArray(obj) &&\n Object.getOwnPropertyNames(obj).length === 1 &&\n typeof obj[Object.keys(obj)[0]] === 'string' &&\n obj[Object.keys(obj)[0]].trim() !== ''\n );\n } catch (e) {\n return false;\n }\n }\n\n get labelValue() {\n return this.getAttribute('label-value') || 'Value';\n }\n\n get labelAttr() {\n return this.getAttribute('label-attr') || 'Attribute';\n }\n\n get buttonLabel() {\n return this.getAttribute('button-label') || 'Add mapping';\n }\n\n get options() {\n return this.getAttribute('options') || [];\n }\n\n addNewMappingItem(focusNewItem) {\n const newMappingItem = document.createElement('descope-mapping-item');\n newMappingItem.setAttribute('bordered', 'true');\n this.mappingsContainerEle.appendChild(newMappingItem);\n forwardAttrs(this, newMappingItem, {\n includeAttrs: ['size', 'full-width', 'separator', 'options', 'disabled'],\n });\n // This needs to be done with the timeout, otherwise the validation is performed\n // before the new item is added and thus returns a wrong result\n setTimeout(() => {\n this.setCustomValidity('');\n newMappingItem.addEventListener('mapping-item-removed', () => {\n // If the removed item was the one that was invalid, we need to reset the invalid indication for the internal\n if (newMappingItem === this.#errorItem) {\n this.resetInvalidIndication();\n this.#errorItem = undefined;\n }\n newMappingItem.remove();\n this.setCustomValidity('');\n });\n this.dispatchEvent(new CustomEvent('mapping-item-added', { bubbles: true, composed: true }));\n if (focusNewItem) {\n newMappingItem.focus();\n }\n }, 0);\n return newMappingItem;\n }\n\n get items() {\n return Array.from(this.mappingsContainerEle.querySelectorAll('descope-mapping-item'));\n }\n\n get value() {\n return this.items.reduce((acc, item) => {\n if (!item.value) {\n return acc;\n }\n\n return [...acc, item.value];\n }, []);\n }\n\n set value(mappings) {\n if (!this.isValidDataType(mappings)) {\n // eslint-disable-next-line no-console\n console.error(\n 'received invalid value to set - should be an array of objects with one key-value pair'\n );\n return;\n }\n\n const currentItems = this.items;\n\n // Remove extra mapping items we don't need\n if (currentItems.length > mappings.length) {\n for (let i = mappings.length; i < currentItems.length; i++) {\n this.mappingsContainerEle.removeChild(currentItems[i]);\n }\n }\n\n // Add or update items\n mappings.forEach((mapping, index) => {\n const mappingItem = currentItems[index];\n if (mappingItem) {\n // Set existing item value\n mappingItem.value = mapping;\n } else {\n // Add new item\n const newMappingItem = this.addNewMappingItem(false);\n // Setting the new item value needs to be done with the timeout,\n // otherwise the value is not set correctly\n setTimeout(() => {\n newMappingItem.value = mapping;\n }, 0);\n }\n });\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n <div class=\"labels-container\" part=\"labels\"></div>\n <div class=\"mappings-container\"></div>\n <div class=\"button-container\"></div>\n `;\n\n this.labelsEle = this.querySelector('.labels-container');\n this.mappingsContainerEle = this.querySelector('.mappings-container');\n this.buttonContainer = this.querySelector('.button-container');\n }\n\n initLabels() {\n this.labelsEle.innerHTML = `\n <descope-text variant=\"body2\" part=\"value-label\">${this.labelValue}</descope-text>\n <descope-text variant=\"body2\" part=\"attr-label\">${this.labelAttr}</descope-text>\n `;\n }\n\n initAddButton() {\n this.buttonContainer.innerHTML = `\n <descope-button variant=\"link\" mode=\"primary\" disabled=\"${this.isDisabled}\">\n <vaadin-icon icon=\"vaadin:plus\"></vaadin-icon>\n ${this.buttonLabel}\n </descope-button>\n `;\n const button = this.querySelector('descope-button');\n button.onclick = () => {\n this.addNewMappingItem(true);\n };\n forwardAttrs(this, button, {\n includeAttrs: ['disabled'],\n });\n }\n\n #onMappingsContainerChildrenChange() {\n this.labelsEle.style.display = this.items.length ? 'grid' : 'none';\n }\n\n init() {\n // This event listener needs to be placed before the super.init() call\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n const focusedElement =\n this.#errorItem || this.items[0] || this.querySelector('descope-button');\n focusedElement.focus();\n }\n });\n\n super.init?.();\n this.initLabels();\n this.initAddButton();\n\n // This event listener is responsible for removing the invalid attribute\n // from the internal once the invalid item turns valid\n this.addEventListener('input', () => {\n const isErrorItemMounted = this.mappingsContainerEle.contains(this.#errorItem);\n if (isErrorItemMounted && this.#errorItem?.checkValidity()) {\n // Item has changed, it was invalid before and now it's valid\n this.resetInvalidIndication();\n this.#errorItem.removeAttribute('invalid');\n this.#errorItem = undefined;\n }\n });\n\n observeChildren(this.mappingsContainerEle, this.#onMappingsContainerChildrenChange.bind(this));\n }\n\n resetInvalidIndication() {\n this.removeAttribute('invalid');\n }\n\n getValidity() {\n const errorItem = this.items.find((item) => !item.checkValidity());\n if (errorItem) {\n return errorItem.validity;\n }\n\n return {};\n }\n\n #handleInvalidMappings(isInvalid) {\n if (isInvalid) {\n this.#errorItem = this.items.find((item) => !item.checkValidity());\n this.#errorItem?.reportValidity();\n this.#errorItem?.setAttribute('invalid', 'true');\n }\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n if (attrName === 'label-value' || attrName === 'label-attr') {\n this.initLabels();\n }\n if (attrName === 'button-label') {\n this.initAddButton();\n }\n if (attrName === 'invalid') {\n this.#handleInvalidMappings(newValue === 'true');\n }\n if (attrName === 'readonly') {\n this.toggleAttribute('inert', newValue === 'true');\n }\n }\n}\n\nexport default MappingsFieldInternal;\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../../mixins';\nimport { TextClass } from '../../descope-text/TextClass';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../../helpers/componentHelpers';\nimport { componentName as descopeInternalComponentName } from './descope-mappings-field-internal/MappingsFieldInternal';\n\nexport const componentName = getComponentName('mappings-field');\n\nconst customMixin = (superclass) =>\n class MappingsFieldMixinClass extends superclass {\n get defaultValues() {\n const defaultValuesAttr = this.getAttribute('default-values');\n if (defaultValuesAttr) {\n try {\n return JSON.parse(defaultValuesAttr);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"default-values\" -', e.message);\n }\n }\n return [];\n }\n\n setDefaultValues() {\n const initialDefaultValues = this.defaultValues;\n if (Object.keys(initialDefaultValues).length > 0) {\n this.inputElement.value = initialDefaultValues;\n }\n }\n\n init() {\n super.init?.();\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n tabindex=\"-1\"\n ></${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'size',\n 'full-width',\n 'label-value',\n 'label-attr',\n 'button-label',\n 'separator',\n 'options',\n 'default-values',\n 'invalid',\n 'readonly',\n 'disabled',\n ],\n });\n\n // This is required since when we remove the invalid attribute from the internal mappings field,\n // we want to reflect the change in the parent component\n syncAttrs(this, this.inputElement, { includeAttrs: ['invalid'] });\n\n this.setDefaultValues();\n }\n };\n\nconst {\n host,\n helperText,\n errorMessage,\n mappingItem,\n labels,\n labelsText,\n valueLabel,\n attrLabel,\n separator,\n labelsContainer,\n} = {\n host: { selector: () => ':host' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n mappingItem: { selector: 'descope-mapping-item::part(wrapper)' },\n labels: { selector: 'descope-mappings-field-internal [part=\"labels\"] descope-text' },\n labelsText: {\n selector: 'descope-mappings-field-internal [part=\"labels\"] descope-text::part(text-wrapper)',\n },\n valueLabel: { selector: 'descope-mappings-field-internal [part=\"labels\"] [part=\"value-label\"]' },\n attrLabel: { selector: 'descope-mappings-field-internal [part=\"labels\"] [part=\"attr-label\"]' },\n separator: { selector: 'descope-mapping-item::part(separator)' },\n labelsContainer: { selector: 'descope-mappings-field-internal [part=\"labels\"]' },\n};\n\nexport const MappingsFieldClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host, { ...separator, property: 'margin-top' }],\n fontFamily: [helperText, errorMessage, labels],\n separatorFontSize: { ...separator, property: 'font-size' },\n labelsFontSize: { ...labelsText, property: 'font-size' },\n labelsLineHeight: [\n { ...labelsText, property: 'line-height' },\n { ...labels, property: 'line-height' },\n ],\n labelTextColor: { ...labels, property: TextClass.cssVarList.textColor },\n itemMarginBottom: { ...mappingItem, property: 'margin-bottom' },\n valueLabelMinWidth: { ...valueLabel, property: 'min-width' },\n attrLabelMinWidth: { ...attrLabel, property: 'min-width' },\n labelsMarginBottom: { ...labelsContainer, property: 'margin-bottom' },\n separatorWidth: {},\n removeButtonWidth: {},\n },\n }),\n draggableMixin,\n proxyInputMixin({\n proxyProps: ['value', 'selectionStart'],\n inputEvent: 'input',\n proxyParentValidation: true,\n }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-custom-field',\n style: () => `\n :host {\n display: inline-flex;\n max-width: 100%;\n direction: ltr;\n }\n vaadin-custom-field {\n line-height: unset;\n width: 100%;\n }\n\n descope-mappings-field-internal [part=\"labels\"] {\n display: none;\n grid-template-columns: 1fr var(${MappingsFieldClass.cssVarList.separatorWidth}) 1fr var(${MappingsFieldClass.cssVarList.removeButtonWidth});\n }\n\n descope-mappings-field-internal [part=\"labels\"] [part=\"value-label\"],\n descope-mappings-field-internal [part=\"labels\"] [part=\"attr-label\"] {\n ${TextClass.cssVarList.fontWeight}: 500;\n }\n\n descope-mappings-field-internal [part=\"labels\"] [part=\"value-label\"] {\n grid-column: 1 / span 1;\n }\n\n descope-mappings-field-internal [part=\"labels\"] [part=\"attr-label\"] {\n grid-column: 3 / span 1;\n }\n\n descope-mapping-item::part(wrapper) {\n display: grid;\n grid-template-columns: 1fr var(${MappingsFieldClass.cssVarList.separatorWidth}) 1fr var(${MappingsFieldClass.cssVarList.removeButtonWidth});\n }\n `,\n excludeAttrsSync: [\n 'tabindex',\n 'label-value',\n 'label-attr',\n 'button-label',\n 'options',\n 'error-message',\n ],\n componentName,\n })\n);\n\nexport default MappingsFieldClass;\n","import MappingsFieldInternal, { componentName } from './MappingsFieldInternal';\n\ncustomElements.define(componentName, MappingsFieldInternal);\n","import { createBaseInputClass } from '../../../../baseClasses/createBaseInputClass';\nimport { forwardAttrs, getComponentName } from '../../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('mapping-item');\n\nconst inputAttrs = ['size', 'bordered', 'readonly', 'full-width', 'disabled'];\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: 'div' });\n\nclass MappingItem extends BaseInputClass {\n static get observedAttributes() {\n return [].concat(BaseInputClass.observedAttributes || [], inputAttrs, [\n 'separator',\n 'options',\n 'invalid',\n 'disabled',\n ]);\n }\n\n get separator() {\n return this.getAttribute('separator') || 'map to';\n }\n\n get value() {\n const attributeValue = this.attributeInput.value;\n const inputValue = this.valueInput.value;\n if (attributeValue && inputValue) {\n return { [attributeValue]: inputValue };\n }\n return null;\n }\n\n set value(mapping) {\n if (Object.entries(mapping).length !== 1) {\n // eslint-disable-next-line no-console\n console.error(\n 'descope-mapping item expected expects only one key-value pair in the value but received: ',\n mapping\n );\n return;\n }\n const [attribute, value] = Object.entries(mapping)[0];\n this.valueInput.value = value;\n this.attributeInput.value = attribute;\n // The event needs to be dispatched to trigger the validation if setting the value externally\n this.dispatchEvent(new InputEvent('input', { bubbles: true, composed: true }));\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <style>\n .wrapper {\n display: flex;\n }\n .separator {\n text-align: center;\n flex-shrink: 0;\n }\n </style>\n <div class=\"wrapper\" part=\"wrapper\">\n <descope-text-field required=\"true\"></descope-text-field>\n <div class=\"separator\" part=\"separator\">${this.separator}</div>\n <descope-combo-box\n item-label-path=\"data-name\"\n item-value-path=\"data-id\"\n required=\"true\"\n >\n </descope-combo-box>\n <descope-button variant=\"link\" mode=\"primary\">\n <vaadin-icon icon=\"vaadin:minus\"></vaadin-icon>\n </descope-button>\n </div>\n\t`;\n this.valueInput = this.shadowRoot.querySelector('descope-text-field');\n this.attributeInput = this.shadowRoot.querySelector('descope-combo-box');\n this.inputs = [this.valueInput, this.attributeInput];\n this.removeButton = this.shadowRoot.querySelector('descope-button');\n\n forwardAttrs(this, this.valueInput, {\n includeAttrs: inputAttrs,\n });\n forwardAttrs(this, this.attributeInput, {\n includeAttrs: [...inputAttrs, 'options'],\n mapAttrs: { options: 'data' },\n });\n forwardAttrs(this, this.removeButton, {\n includeAttrs: ['disabled'],\n });\n }\n\n initRemoveButton() {\n this.removeButton.addEventListener('click', () =>\n this.dispatchEvent(new CustomEvent('mapping-item-removed', { bubbles: true, composed: true }))\n );\n }\n\n init() {\n super.init?.();\n this.initRemoveButton();\n }\n\n getValidity() {\n const attributeValue = this.attributeInput.value;\n const inputValue = this.valueInput.value;\n if (!attributeValue || !inputValue) {\n return { badInput: true };\n }\n return {};\n }\n\n reportValidity() {\n this.inputs.forEach((input) => input.reportValidity());\n }\n\n focus() {\n const focusedElement =\n this.checkValidity() || !this.valueInput.checkValidity()\n ? this.valueInput\n : this.attributeInput;\n focusedElement.focus();\n }\n\n handleSeparatorChange() {\n this.shadowRoot.querySelector('.separator').textContent = this.separator;\n }\n\n #handleInvalidMapping(invalid) {\n if (invalid === 'true') {\n const inputValue = this.valueInput.value;\n if (!inputValue) {\n this.valueInput.setAttribute('invalid', 'true');\n this.valueInput.setAttribute('error-message', this.defaultErrorMsgValueMissing);\n }\n\n const attributeValue = this.attributeInput.value;\n if (!attributeValue) {\n this.attributeInput.setAttribute('invalid', 'true');\n this.attributeInput.setAttribute('error-message', this.defaultErrorMsgValueMissing);\n }\n }\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n if (attrName === 'separator') {\n this.handleSeparatorChange();\n }\n\n if (attrName === 'invalid') {\n this.#handleInvalidMapping(newValue);\n }\n }\n}\n\nexport default MappingItem;\n","import MappingItem, { componentName } from './MappingItem';\n\ncustomElements.define(componentName, MappingItem);\n","import '@vaadin/custom-field';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\nimport { componentName, MappingsFieldClass } from './MappingsFieldClass';\nimport '../../descope-text';\nimport '../../descope-button';\nimport '../../descope-text-field';\nimport '../../descope-combo-box';\nimport './descope-mappings-field-internal';\nimport './descope-mapping-item';\n\ncustomElements.define(componentName, MappingsFieldClass);\n\nexport { MappingsFieldClass };\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgMTZDMSAxNy4xIDEuOSAxOCAzIDE4SDExQzEyLjEgMTggMTMgMTcuMSAxMyAxNlY0SDFWMTZaTTMgNkgxMVYxNkgzVjZaTTEwLjUgMUw5LjUgMEg0LjVMMy41IDFIMFYzSDE0VjFIMTAuNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwLjAwMDIgMC45OTIxNDlDMTAuMDAwMiAxLjAxNjE1IDEwLjAwMDIgMS4wMTYxNSAxMC4wMDAyIDEuMDE2MTVMOC4yMjQxOSAzLjAwODE1SDIuOTkyMTlDMi40NjQxOSAzLjAwODE1IDIuMDA4MTkgMy40NDAxNSAyLjAwODE5IDMuOTkyMTVWMTIuMDA4MkMyLjAwODE5IDEyLjUzNjIgMi40NDAxOSAxMi45OTIyIDIuOTkyMTkgMTIuOTkyMkg1LjUzNjE5QzUuODQ4MTkgMTMuMDQwMiA2LjE2MDE5IDEzLjA0MDIgNi40NzIxOSAxMi45OTIySDExLjAwODJDMTEuNTM2MiAxMi45OTIyIDExLjk5MjIgMTIuNTYwMiAxMS45OTIyIDEyLjAwODJWNy43ODQxNkwxMy45MzYyIDUuNjI0MTVMMTQuMDA4MiA1LjY3MjE1VjExLjk4NDJDMTQuMDA4MiAxMy42NjQyIDEyLjY2NDIgMTUuMDA4MiAxMS4wMDgyIDE1LjAwODJIMy4wMTYxOUMxLjMzNjE5IDE1LjAwODIgLTAuMDA3ODEyNSAxMy42NjQyIC0wLjAwNzgxMjUgMTEuOTg0MlYzLjk5MjE1Qy0wLjAwNzgxMjUgMi4zMzYxNSAxLjMzNjE5IDAuOTkyMTQ5IDMuMDE2MTkgMC45OTIxNDlIMTAuMDAwMlpNMTEuMjcyMiAyLjYyNDE1TDEyLjYxNjIgNC4xMTIxNUw3LjcyMDE5IDkuNjgwMTZDNy41MDQxOSA5LjkyMDE2IDYuODMyMTkgMTAuMjMyMiA1LjY4MDE5IDEwLjYxNjJDNS42NTYxOSAxMC42NDAyIDUuNjA4MTkgMTAuNjQwMiA1LjU2MDE5IDEwLjYxNjJDNS40NjQxOSAxMC41OTIyIDUuMzkyMTkgMTAuNDcyMiA1LjQ0MDE5IDEwLjM3NjJDNS43NTIxOSA5LjI0ODE2IDYuMDQwMTkgOC41NTIxNiA2LjI1NjE5IDguMzEyMTZMMTEuMjcyMiAyLjYyNDE1Wk0xMS45MjAyIDEuODU2MTVMMTMuMjg4MiAwLjMyMDE0OUMxMy42NDgyIC0wLjA4Nzg1MTYgMTQuMjcyMiAtMC4xMTE4NTIgMTQuNjgwMiAwLjI3MjE0OUMxNS4wODgyIDAuNjMyMTQ5IDE1LjExMjIgMS4yODAxNSAxNC43NTIyIDEuNjg4MTVMMTMuMjY0MiAzLjM2ODE1TDExLjkyMDIgMS44NTYxNVoiIGZpbGw9ImN1cnJlbnRjb2xvciIvPgo8L3N2Zz4K\"","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport deleteIcon from './delete.svg';\nimport editIcon from './edit.svg';\nimport { TextClass } from '../descope-text/TextClass';\nimport { ButtonClass } from '../descope-button/ButtonClass';\nimport { BadgeClass } from '../descope-badge/BadgeClass';\n\nexport const componentName = getComponentName('user-attribute');\nclass RawUserAttribute extends createBaseClass({\n componentName,\n baseSelector: ':host > .root',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n vaadin-icon {\n color: currentcolor;\n }\n\n .root {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n }\n\n .btn-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-grow: 0;\n }\n\n .text-wrapper {\n display: flex;\n align-items: center;\n flex-grow: 1;\n }\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 }\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(${TextClass.cssVarList.textColor});\n }\n </style>\n\n\n <div class=\"root\">\n <div class=\"text-wrapper\">\n <descope-text st-text-align=\"auto\" data-id=\"label-text\" variant=\"body1\" mode=\"secondary\"></descope-text>\n <descope-text st-text-align=\"auto\" data-id=\"value-text\" variant=\"body1\" mode=\"primary\"></descope-text>\n </div>\n\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=${editIcon}></vaadin-icon>\n </descope-button>\n <descope-button size=\"xs\" data-id=\"delete-btn\" square=\"true\" variant=\"link\" mode=\"primary\">\n <vaadin-icon src=${deleteIcon}></vaadin-icon>\n </descope-button>\n </div\n </div>\n\t\t`;\n\n this.deleteButton = this.shadowRoot.querySelector('descope-button[data-id=\"delete-btn\"]');\n this.editButton = this.shadowRoot.querySelector('descope-button[data-id=\"edit-btn\"]');\n this.badge = this.shadowRoot.querySelector('descope-badge');\n this.labelText = this.shadowRoot.querySelector('descope-text[data-id=\"label-text\"]');\n this.valueText = this.shadowRoot.querySelector('descope-text[data-id=\"value-text\"]');\n }\n\n onLabelChange() {\n this.labelText.innerText = this.label;\n this.labelText.setAttribute('title', this.label);\n }\n\n onValueOrPlaceholderChange() {\n const text = this.value || this.placeholder;\n const mode = this.value ? 'primary' : 'secondary';\n\n this.valueText.innerText = text;\n this.valueText.setAttribute('title', text);\n this.valueText.setAttribute('mode', mode);\n }\n\n onBadgeLabelChange() {\n if (!this.badgeLabel) {\n this.badge.style.display = 'none';\n } else {\n this.badge.innerText = this.badgeLabel;\n this.badge.style.display = '';\n }\n }\n\n onBadgeTooltipTextChange() {\n this.badge.setAttribute('title', this.badgeTooltipText || this.badgeLabel);\n }\n\n onIsRequiredChange() {\n this.labelText.classList.toggle('required', this.isRequired);\n }\n\n get label() {\n return this.getAttribute('label') || '';\n }\n\n get value() {\n return this.getAttribute('value') || '';\n }\n\n get placeholder() {\n return this.getAttribute('placeholder') || '';\n }\n\n get isRequired() {\n return this.getAttribute('required') === 'true';\n }\n\n get badgeLabel() {\n return this.getAttribute('badge-label') || '';\n }\n\n get badgeTooltipText() {\n return this.getAttribute('badge-tooltip-text') || '';\n }\n\n init() {\n this.onLabelChange();\n this.onValueOrPlaceholderChange();\n this.onIsRequiredChange();\n this.onBadgeLabelChange();\n this.onBadgeTooltipTextChange();\n this.handleDeleteButtonVisibility();\n\n this.deleteButton.addEventListener('click', () =>\n this.dispatchEvent(new CustomEvent('delete-clicked', { bubbles: true, composed: true }))\n );\n\n this.editButton.addEventListener('click', () =>\n this.dispatchEvent(new CustomEvent('edit-clicked', { bubbles: true, composed: true }))\n );\n }\n\n static get observedAttributes() {\n return [\n 'label',\n 'value',\n 'placeholder',\n 'required',\n 'badge-label',\n 'badge-tooltip-text',\n ].concat(super.observedAttributes);\n }\n\n handleDeleteButtonVisibility() {\n this.deleteButton.classList.toggle('hidden', this.isRequired || !this.value);\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n if (oldValue === newValue) {\n return;\n }\n\n if (name === 'label') {\n this.onLabelChange();\n } else if (name === 'value' || name === 'placeholder') {\n this.onValueOrPlaceholderChange();\n } else if (name === 'required') {\n this.onIsRequiredChange();\n } else if (name === 'badge-label') {\n this.onBadgeLabelChange();\n } else if (name === 'badge-tooltip-text') {\n this.onBadgeTooltipTextChange();\n }\n\n if (name === 'value' || name === 'required') {\n this.handleDeleteButtonVisibility();\n }\n }\n}\n\nconst { host, textFields, buttons, badge, labelText, valueText, textWrapper } = {\n host: { selector: () => ':host' },\n textFields: { selector: 'descope-text' },\n valueText: { selector: 'descope-text[data-id=\"value-text\"]' },\n labelText: { selector: 'descope-text[data-id=\"label-text\"]' },\n buttons: { selector: 'descope-button' },\n badge: { selector: 'descope-badge' },\n textWrapper: { selector: ' .text-wrapper' },\n};\n\nexport const UserAttributeClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: [\n { ...host, property: 'direction' },\n { ...textFields, property: TextClass.cssVarList.hostDirection },\n { ...buttons, property: ButtonClass.cssVarList.hostDirection },\n { ...badge, property: BadgeClass.cssVarList.hostDirection },\n ],\n labelTextWidth: { ...labelText, property: 'width' },\n valueTextWidth: { ...valueText, property: 'width' },\n badgeMaxWidth: { ...badge, property: 'max-width' },\n itemsGap: [{ property: 'gap' }, { ...textWrapper, property: 'gap' }],\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawUserAttribute);\n","import { componentName, UserAttributeClass } from './UserAttributeClass';\nimport '../descope-text';\nimport '../descope-button';\nimport '../descope-badge';\nimport '@vaadin/icon';\n\ncustomElements.define(componentName, UserAttributeClass);\n\nexport { UserAttributeClass };\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhDMCAxMi40IDMuNiAxNiA4IDE2QzEyLjQgMTYgMTYgMTIuNCAxNiA4QzE2IDMuNiAxMi40IDAgOCAwWk03LjEgMTEuN0wyLjkgNy42TDQuMyA2LjJMNyA4LjlMMTIgNEwxMy40IDUuNEw3LjEgMTEuN1oiIGZpbGw9IiM0Q0FGNTAiLz4KPC9zdmc+Cg==\"","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport greenVIcon from './green-v.svg';\nimport { TextClass } from '../descope-text/TextClass';\nimport { ButtonClass } from '../descope-button/ButtonClass';\nimport { BadgeClass } from '../descope-badge/BadgeClass';\n\nexport const componentName = getComponentName('user-auth-method');\nclass RawUserAuthMethod extends createBaseClass({\n componentName,\n baseSelector: ':host > .root',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n vaadin-icon {\n color: currentcolor;\n }\n\n .root {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n }\n\n .btn-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-grow: 0;\n }\n\n .text-wrapper {\n display: flex;\n align-items: center;\n flex-grow: 1;\n }\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 }\n\n .fulfilled-indicator {\n width: 1em;\n height: 1em;\n display: flex;\n align-items: center;\n padding-inline-end: 1em;\n }\n\n .hidden {\n display: none;\n }\n\n .hidden-btn {\n width: 0;\n overflow: hidden;\n }\n\n slot[name=\"method-icon\"]{\n display: inline-flex;\n align-items: center;\n }\n </style>\n\n\n <div class=\"root\">\n <div class=\"text-wrapper\">\n <slot name=\"method-icon\"></slot>\n <descope-text st-text-align=\"auto\" data-id=\"label-text\" variant=\"body1\" mode=\"primary\"></descope-text>\n </div>\n\n <div class=\"btn-wrapper\">\n <descope-button size=\"sm\" variant=\"link\" mode=\"primary\">\n <slot name=\"button-icon\"></slot>\n </descope-button>\n <div class=\"fulfilled-indicator\">\n <vaadin-icon src=${greenVIcon}></vaadin-icon>\n </div>\n <descope-button class=\"hidden-btn\" size=\"sm\" variant=\"link\" mode=\"primary\"></descope-button>\n </div>\n </div>\n\t\t`;\n\n this.button = this.shadowRoot.querySelector('descope-button');\n this.fulfilledIndicator = this.shadowRoot.querySelector('.fulfilled-indicator');\n this.labelText = this.shadowRoot.querySelector('descope-text[data-id=\"label-text\"]');\n }\n\n onLabelChange() {\n this.labelText.innerText = this.label;\n this.labelText.setAttribute('title', this.label);\n }\n\n onButtonLabelChange() {\n let textSpanEle = this.button.querySelector('span');\n\n if (this.buttonLabel) {\n if (!textSpanEle) {\n textSpanEle = document.createElement('span');\n this.button.appendChild(textSpanEle);\n }\n textSpanEle.innerText = this.buttonLabel;\n } else if (textSpanEle) {\n this.button.removeChild(textSpanEle);\n }\n }\n\n onFulfilledChange() {\n this.button.classList.toggle('hidden', this.isFulfilled);\n this.fulfilledIndicator.classList.toggle('hidden', !this.isFulfilled);\n }\n\n get label() {\n return this.getAttribute('label') || '';\n }\n\n get buttonLabel() {\n return this.getAttribute('button-label') || '';\n }\n\n get isFulfilled() {\n return this.getAttribute('fulfilled') === 'true';\n }\n\n init() {\n this.onLabelChange();\n this.onButtonLabelChange();\n this.onFulfilledChange();\n\n this.button.addEventListener('click', () =>\n this.dispatchEvent(new CustomEvent('button-clicked', { bubbles: true, composed: true }))\n );\n }\n\n static get observedAttributes() {\n return ['label', 'fulfilled'].concat(super.observedAttributes);\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n if (oldValue === newValue) {\n return;\n }\n\n if (name === 'label') {\n this.onLabelChange();\n } else if (name === 'fulfilled') {\n this.onFulfilledChange();\n } else if (name === 'button-label') {\n this.onButtonLabelChange();\n }\n }\n}\n\nconst { host, textField, buttons, badge, textWrapper, methodIconSlot } = {\n host: { selector: () => ':host' },\n textField: { selector: 'descope-text' },\n buttons: { selector: 'descope-button' },\n badge: { selector: 'descope-badge' },\n textWrapper: { selector: ' .text-wrapper' },\n methodIconSlot: { selector: 'slot[name=\"method-icon\"]' },\n};\n\nexport const UserAuthMethodClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: [\n { ...host, property: 'direction' },\n { ...textField, property: TextClass.cssVarList.hostDirection },\n { ...buttons, property: ButtonClass.cssVarList.hostDirection },\n { ...badge, property: BadgeClass.cssVarList.hostDirection },\n ],\n labelTextWidth: { ...textField, property: 'width' },\n itemsGap: [{ property: 'gap' }, { ...textWrapper, property: 'gap' }],\n iconSize: [\n { ...methodIconSlot, property: 'width' },\n { ...methodIconSlot, property: 'height' },\n ],\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawUserAuthMethod);\n","import { componentName, UserAuthMethodClass } from './UserAuthMethodClass';\nimport '../descope-text';\nimport '../descope-button';\nimport '../descope-badge';\nimport '@vaadin/icon';\n\ncustomElements.define(componentName, UserAuthMethodClass);\n\nexport { UserAuthMethodClass };\n","import { createBaseInputClass } from '../../../../baseClasses/createBaseInputClass';\nimport {\n getComponentName,\n forwardAttrs,\n observeAttributes,\n} from '../../../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('saml-group-mappings-internal');\n\nconst BaseInputClass = createBaseInputClass({ componentName, baseSelector: '' });\n\nclass SamlGroupMappingsInternal extends BaseInputClass {\n static get observedAttributes() {\n return ['invalid'].concat(BaseInputClass.observedAttributes || []);\n }\n\n constructor() {\n super();\n\n this.innerHTML = `\n <descope-text-field variant=\"body2\" bordered=\"true\"></descope-text-field>\n <descope-mappings-field></descope-mappings-field>\n `;\n\n this.groupInputElement = this.querySelector('descope-text-field');\n this.mappingsElement = this.querySelector('descope-mappings-field');\n }\n\n resetInvalidIndication() {\n this.removeAttribute('invalid');\n }\n\n handleMappingsInvalidChange(changedAttributes) {\n if (changedAttributes.includes('invalid')) {\n if (!this.mappingsElement.hasAttribute('invalid')) {\n this.resetInvalidIndication();\n }\n }\n }\n\n initFocusHandler() {\n // This event listener needs to be placed before the super.init() call\n this.addEventListener('focus', (e) => {\n // we want to ignore focus events we are dispatching\n if (e.isTrusted) {\n const focusedElement = this.mappingsElement.checkValidity()\n ? this.groupInputElement\n : this.mappingsElement;\n focusedElement.focus();\n }\n });\n }\n\n init() {\n // This needs to be placed before the super.init() call to work\n this.initFocusHandler();\n\n super.init?.();\n\n forwardAttrs(this, this.groupInputElement, {\n mapAttrs: { 'label-group': 'label' },\n includeAttrs: ['size', 'label-group', 'readonly', 'disabled'],\n });\n\n forwardAttrs(this, this.mappingsElement, {\n includeAttrs: [\n 'size',\n 'full-width',\n 'label-value',\n 'label-attr',\n 'button-label',\n 'separator',\n 'options',\n 'readonly',\n 'disabled',\n 'data-errormessage-pattern-mismatch',\n ],\n });\n\n // Observing the invalid attribute of the mappings field to reset the invalid state for this component.\n // When an invalid item turns valid, the mappings field will remove the invalid attribute, and at this component\n // level, we need to remove the invalid attribute as well to be able to mark the component as invalid the next time\n observeAttributes(this.mappingsElement, this.handleMappingsInvalidChange.bind(this), {\n includeAttrs: ['invalid'],\n });\n }\n\n get value() {\n return {\n group: this.groupInputElement.value,\n mappings: this.mappingsElement.value,\n };\n }\n\n set value(value) {\n if (value?.group && typeof value.group === 'string') {\n this.groupInputElement.value = value.group;\n }\n if (Array.isArray(value?.mappings)) {\n this.mappingsElement.value = value.mappings;\n }\n }\n\n getValidity() {\n if (!this.groupInputElement.checkValidity()) {\n return this.groupInputElement.validity;\n }\n if (!this.mappingsElement.checkValidity()) {\n return this.mappingsElement.validity;\n }\n\n return {};\n }\n\n #handleInvalidState(isInvalid) {\n if (isInvalid) {\n if (!this.groupInputElement.checkValidity()) {\n this.groupInputElement.setAttribute('invalid', 'true');\n return;\n }\n\n if (!this.mappingsElement.checkValidity()) {\n this.mappingsElement.setAttribute('invalid', 'true');\n }\n }\n }\n\n attributeChangedCallback(attrName, oldValue, newValue) {\n super.attributeChangedCallback?.(attrName, oldValue, newValue);\n if (attrName === 'invalid') {\n this.#handleInvalidState(newValue === 'true');\n }\n }\n}\n\nexport default SamlGroupMappingsInternal;\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n} from '../../../mixins';\nimport { compose } from '../../../helpers';\nimport { forwardAttrs, getComponentName, syncAttrs } from '../../../helpers/componentHelpers';\nimport { componentName as descopeInternalComponentName } from './descope-saml-group-mappings-internal/SamlGroupMappingsInternal';\n\nexport const componentName = getComponentName('saml-group-mappings');\n\nconst customMixin = (superclass) =>\n class SamlGroupMappingsMixinClass extends superclass {\n init() {\n super.init?.();\n\n const template = document.createElement('template');\n\n template.innerHTML = `\n <${descopeInternalComponentName}\n tabindex=\"-1\"\n ></${descopeInternalComponentName}>\n `;\n\n this.baseElement.appendChild(template.content.cloneNode(true));\n\n this.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n forwardAttrs(this, this.inputElement, {\n includeAttrs: [\n 'size',\n 'full-width',\n 'label-group',\n 'label-value',\n 'label-attr',\n 'button-label',\n 'separator',\n 'options',\n 'readonly',\n 'disabled',\n ],\n });\n\n syncAttrs(this, this.inputElement, { includeAttrs: ['invalid'] });\n }\n };\n\nconst { host, groupInput } = {\n host: { selector: () => ':host' },\n groupInput: { selector: 'descope-text-field' },\n};\n\nexport const SamlGroupMappingsClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n groupNameInputMarginBottom: { ...groupInput, property: 'margin-bottom' },\n },\n }),\n draggableMixin,\n proxyInputMixin({\n proxyProps: ['value', 'selectionStart'],\n inputEvent: 'input',\n triggerValidationEvents: ['mapping-item-added', 'mapping-item-removed'],\n proxyParentValidation: true,\n }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-custom-field',\n style: () => `\n :host {\n display: inline-flex;\n max-width: 100%;\n direction: ltr;\n }\n\n vaadin-custom-field {\n line-height: unset;\n width: 100%;\n }\n\n descope-text-field {\n width: auto;\n }\n\n descope-mappings-field {\n display: block;\n }\n `,\n excludeAttrsSync: [\n 'tabindex',\n 'label-group',\n 'label-value',\n 'label-attr',\n 'button-label',\n 'separator',\n 'options',\n 'error-message',\n ],\n componentName,\n })\n);\n\nexport default SamlGroupMappingsClass;\n","import SamlGroupMappingsInternal, { componentName } from './SamlGroupMappingsInternal';\n\ncustomElements.define(componentName, SamlGroupMappingsInternal);\n","import '@vaadin/custom-field';\n\nimport { componentName, SamlGroupMappingsClass } from './SamlGroupMappingsClass';\nimport '../../descope-text-field';\nimport '../descope-mappings-field';\nimport './descope-saml-group-mappings-internal';\n\ncustomElements.define(componentName, SamlGroupMappingsClass);\n\nexport { SamlGroupMappingsClass };\n","import { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n proxyInputMixin,\n} from '../../mixins';\n\nexport const componentName = getComponentName('radio-button');\n\nconst customMixin = (superclass) =>\n class CustomMixin extends superclass {\n constructor() {\n super();\n\n this.baseElement.checkValidity = () => {};\n }\n\n init() {\n // we are forwarding vaadin checked-changed event\n this.baseElement.addEventListener('checked-changed', (e) => {\n this.dispatchEvent(\n new CustomEvent(\n 'checked-changed',\n { detail: e.detail },\n { bubbles: true, composed: true }\n )\n );\n });\n\n super.init?.();\n\n observeChildren(this, this.renderLabel.bind(this));\n }\n\n renderLabel() {\n this.baseElement.setAttribute('label', this.textContent);\n }\n\n get value() {\n return this.getAttribute('value');\n }\n };\n\nexport const RadioButtonClass = compose(\n createStyleMixin({\n mappings: {\n cursor: [{}, { selector: 'label' }],\n fontSize: [{ selector: 'label' }, {}],\n labelTextColor: { selector: 'label', property: 'color' },\n fontFamily: { selector: 'label' },\n radioSize: [\n { selector: '::part(radio)', property: 'height' },\n { selector: '::part(radio)', property: 'width' },\n ],\n radioBackgroundColor: { selector: '::part(radio)', property: 'background-color' },\n radioMargin: { selector: '::part(radio)', property: 'margin' },\n radioCheckedSize: { selector: '::part(radio)::after', property: 'border-width' },\n radioCheckedColor: { selector: '::part(radio)::after', property: 'border-color' },\n radioBorderColor: { selector: '::part(radio)', property: 'border-color', fallback: 'none' },\n radioBorderWidth: { selector: '::part(radio)', property: 'border-width', fallback: 0 },\n radioBorderStyle: { selector: '::part(radio)', property: 'border-style', fallback: 'solid' },\n },\n }),\n proxyInputMixin({ proxyProps: ['setSelectionRange'] }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [''],\n wrappedEleName: 'vaadin-radio-button',\n excludeAttrsSync: ['tabindex', 'data'],\n includeForwardProps: ['checked', 'name', 'disabled'],\n componentName,\n })\n);\n","import { compose } from '../../helpers';\nimport {\n forwardAttrs,\n getComponentName,\n observeAttributes,\n observeChildren,\n} from '../../helpers/componentHelpers';\nimport { resetInputLabelPosition } from '../../helpers/themeHelpers/resetHelpers';\nimport {\n componentNameValidationMixin,\n createProxy,\n createStyleMixin,\n draggableMixin,\n proxyInputMixin,\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { componentName as childNodeName, RadioButtonClass } from './RadioButtonClass';\n\nexport const componentName = getComponentName('radio-group');\n\nconst RadioGroupMixin = (superclass) =>\n class RadioGroupMixinClass extends superclass {\n // eslint-disable-next-line class-methods-use-this\n #renderItem = ({ value, label }) =>\n `<descope-radio-button value=\"${value}\">${label}</descope-radio-button>`;\n\n #data;\n\n constructor() {\n super();\n\n // we are overriding vaadin children getter so it will run on our custom elements\n Object.defineProperty(this.baseElement, 'children', {\n get: () => this.querySelectorAll(childNodeName),\n });\n\n // we are overriding vaadin __filterRadioButtons so it will run on our custom elements\n this.baseElement.__filterRadioButtons = (nodes) => {\n return nodes.filter((node) => node.localName === childNodeName);\n };\n\n // vaadin radio group missing some input properties\n this.baseElement.setCustomValidity = () => {};\n }\n\n get items() {\n return this.shadowRoot.querySelector('slot').assignedElements();\n }\n\n get size() {\n return this.getAttribute('size');\n }\n\n get data() {\n if (this.#data) return this.#data;\n\n const dataAttr = this.getAttribute('data');\n\n if (dataAttr) {\n try {\n const data = JSON.parse(dataAttr);\n if (this.isValidDataType(data)) {\n return data;\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('could not parse data string from attribute \"data\" - ', e.message);\n }\n }\n\n return [];\n }\n\n set data(data) {\n if (this.isValidDataType(data)) {\n this.#data = data;\n this.renderItems();\n }\n }\n\n get defaultValue() {\n return this.getAttribute('default-value');\n }\n\n // eslint-disable-next-line class-methods-use-this\n isValidDataType(data) {\n const isValid = Array.isArray(data);\n if (!isValid) {\n // eslint-disable-next-line no-console\n console.error('data must be an array, received:', data);\n }\n\n return isValid;\n }\n\n getItemsTemplate() {\n return this.data?.reduce?.((acc, item) => acc + (this.#renderItem?.(item || {}) || ''), '');\n }\n\n renderItems() {\n const template = this.getItemsTemplate();\n if (template) this.innerHTML = template;\n }\n\n init() {\n super.init?.();\n\n this.inputElement = this.baseElement;\n\n this.renderItems();\n\n observeAttributes(this, this.renderItems.bind(this), { includeAttrs: ['data'] });\n\n Object.defineProperty(this.baseElement, 'validity', {\n get: () => {\n return { valueMissing: !this.baseElement.checkValidity() };\n },\n });\n\n forwardAttrs(this, this.baseElement, {\n includeAttrs: ['layout'],\n mapAttrs: { layout: 'theme' },\n });\n\n setTimeout(() => {\n if (this.defaultValue) {\n this.value = this.defaultValue;\n }\n });\n\n // we want new items to get the size\n observeChildren(this, ({ addedNodes }) => {\n addedNodes.forEach((node) => {\n node.setAttribute('size', this.size);\n });\n });\n\n observeAttributes(\n this,\n () => {\n this.items.forEach((item) => {\n item.setAttribute('size', this.size);\n });\n },\n {\n includeAttrs: ['size'],\n }\n );\n }\n };\n\nexport const RadioGroupClass = compose(\n createStyleMixin({\n mappings: {\n ...textFieldMappings,\n buttonsSpacing: { selector: '::part(group-field)', property: 'justify-content' },\n buttonsRowGap: { selector: '::part(group-field)', property: 'row-gap' },\n buttonsColumnGap: { selector: '::part(group-field)', property: 'column-gap' },\n itemsLabelColor: {\n selector: () => `::slotted(${RadioButtonClass.componentName})`,\n property: RadioButtonClass.cssVarList.labelTextColor,\n },\n },\n }),\n draggableMixin,\n proxyInputMixin({ proxyProps: ['setSelectionRange'] }),\n componentNameValidationMixin,\n RadioGroupMixin\n)(\n createProxy({\n slots: ['', 'prefix'],\n wrappedEleName: 'vaadin-radio-group',\n style: () => `\n :host {\n display: inline-block;\n max-width: 100%;\n box-sizing: border-box;\n }\n\n vaadin-radio-group {\n padding: 0;\n width: 100%;\n }\n\n ${resetInputLabelPosition('vaadin-radio-group')}\n `,\n\n excludeAttrsSync: ['tabindex', 'size', 'data', 'direction'],\n componentName,\n includeForwardProps: ['value'],\n })\n);\n","import { componentName as groupComponentName, RadioGroupClass } from './RadioGroupClass';\nimport { componentName as buttonComponentName, RadioButtonClass } from './RadioButtonClass';\nimport '@vaadin/radio-group';\n\ncustomElements.define(groupComponentName, RadioGroupClass);\ncustomElements.define(buttonComponentName, RadioButtonClass);\n\nexport { RadioGroupClass };\n","export const activeableMixin = (superclass) =>\n class ActiveableMixinClass extends superclass {\n init() {\n super.init?.();\n\n this.baseElement.addEventListener('mousedown', (e) => {\n e.preventDefault();\n this.setAttribute('active', 'true');\n window.addEventListener('mouseup', () => this.removeAttribute('active'), {\n once: true,\n });\n });\n }\n };\n","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport { activeableMixin } from '../../mixins/activableMixin';\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 <style>\n /*css*/\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n\n /*!css*/\n </style>\n <slot></slot>\n `;\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","import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport { ListItemClass } from './ListItemClass';\n\nexport const componentName = getComponentName('list');\n\nclass RawList extends createBaseClass({ componentName, baseSelector: '.wrapper' }) {\n static get observedAttributes() {\n return ['variant'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t /*css*/\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name=\"empty-state\"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name=\"empty-state\"] {\n display: none;\n }\n :host([empty]) slot[name=\"empty-state\"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n /*!css*/\n\t\t</style>\n\n <div class=\"wrapper\">\n <slot></slot>\n <slot name=\"empty-state\">\n No item...\n </slot>\n </div>\n\t`;\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 });\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 }\n }\n}\n\nexport const ListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n maxHeight: { selector: () => ':host' },\n minHeight: {},\n verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],\n horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontFamily: {},\n gap: {},\n\n backgroundColor: {},\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n boxShadow: {},\n gridTemplateColumns: {},\n maxItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'max-width' },\n minItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'min-width' },\n itemsHorizontalAlign: { selector: () => '::slotted(*)', property: 'justify-self' },\n emptyStateTextColor: { selector: () => 'slot[name=\"empty-state\"]', property: 'color' },\n emptyStateTextFontFamily: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'font-family',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin\n)(RawList);\n","import { componentName as listComponentName, ListClass } from './ListClass';\nimport { componentName as listItemComponentName, ListItemClass } from './ListItemClass';\n\ncustomElements.define(listComponentName, ListClass);\ncustomElements.define(listItemComponentName, ListItemClass);\n\nexport { ListClass };\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 if (rerenderAttrsList.length) {\n observeAttributes(this, () => this.#renderItems(), { includeAttrs: rerenderAttrsList });\n } else {\n this.#renderItems();\n }\n }\n };\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n} from '../../mixins';\nimport { createDynamicDataMixin } from '../../mixins/createDynamicDataMixin';\nimport { TextClass } from '../descope-text/TextClass';\n\nexport const componentName = getComponentName('apps-list');\n\nconst limitAbbreviation = (str, limit = 3) =>\n str\n .trim()\n .split(' ')\n .splice(0, limit)\n .map((s) => s[0]?.toUpperCase())\n .join('');\n\nconst itemRenderer = ({ name, icon, url }, _, ref) => `\n <a href=\"${url}\" target=\"_blank\" title=\"${url}\">\n <descope-list-item>\n <descope-avatar\n img=\"${icon}\"\n display-name=\"${name}\"\n abbr=${limitAbbreviation(name)}\n size=${ref.size}\n ></descope-avatar>\n <descope-text\n variant=\"body1\"\n mode=\"primary\"\n >${name}</descope-text>\n </descope-list-item>\n </a>\n`;\n\nconst customMixin = (superclass) =>\n class AppsListMixinClass extends superclass {\n get size() {\n return this.getAttribute('size') || 'sm';\n }\n };\n\nexport const AppsListClass = compose(\n createStyleMixin({\n mappings: {\n maxHeight: { selector: () => ':host' },\n minHeight: { selector: () => ':host' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n itemsFontWeight: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.fontWeight,\n },\n itemsFontSize: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.fontSize,\n },\n itemsTextAlign: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.textAlign,\n },\n },\n }),\n createDynamicDataMixin({ itemRenderer, rerenderAttrsList: ['size'] }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['empty-state'],\n wrappedEleName: 'descope-list',\n excludeAttrsSync: ['tabindex', 'class'],\n componentName,\n style: () => `\n :host {\n width: 100%;\n display: inline-flex;\n }\n\n descope-text::part(text-wrapper) {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n a {\n text-decoration: none;\n }\n\n descope-text {\n ${TextClass.cssVarList.hostDirection}: var(${AppsListClass.cssVarList.hostDirection});\n }\n `,\n })\n);\n","import '../descope-list';\nimport '../descope-avatar';\nimport '../descope-text';\nimport { componentName, AppsListClass } from './AppsListClass';\n\ncustomElements.define(componentName, AppsListClass);\n\nexport { AppsListClass };\n","import merge from 'lodash.merge';\nimport { BASE_THEME_SECTION, DESCOPE_PREFIX, PORTAL_THEME_PREFIX } from '../../constants';\nimport { isUrl, kebabCase } from '..';\nimport { getComponentName, getCssVarName } from '../componentHelpers';\n\nconst getVarName = (path) => getCssVarName(DESCOPE_PREFIX, ...path);\n\n// lodash.set alternative\nconst set = (obj, path, value) => {\n const pathArray = Array.isArray(path) ? path : path.match(/([^[.\\]])+/g);\n\n pathArray.reduce((acc, key, i) => {\n if (acc[key] === undefined) acc[key] = {};\n if (i === pathArray.length - 1) acc[key] = value;\n return acc[key];\n }, obj);\n\n return obj;\n};\n\nconst transformTheme = (theme, path, getTransformation) => {\n return Object.entries(theme).reduce((acc, [key, val]) => {\n if (val?.constructor !== Object) {\n return merge(acc, getTransformation(path.concat(key), val));\n }\n return merge(acc, transformTheme(val, [...path, key], getTransformation));\n }, {});\n};\n\nconst stringifyArray = (strArr) =>\n strArr.map((str) => (str.includes(' ') ? `\"${str}\"` : str)).join(', ');\n\nconst getCssVarValue = (val) => {\n switch (true) {\n case Array.isArray(val):\n return stringifyArray(val);\n case isUrl(val):\n return `url(${val})`;\n default:\n return val;\n }\n};\n\nexport const themeToCSSVarsObj = (theme) =>\n transformTheme(theme, [], (path, val) => ({\n [getVarName(path)]: getCssVarValue(val),\n }));\n\nexport const getThemeRefs = (theme, prefix) =>\n transformTheme(theme, [], (path) =>\n set({}, path, `var(${getVarName(prefix ? [prefix, ...path] : path)})`)\n );\n\nexport const getThemeVars = (theme, prefix) =>\n transformTheme(theme, [], (path) => set({}, path, getVarName(prefix ? [prefix, ...path] : path)));\n\nexport const globalsThemeToStyle = (theme, themeName = '') => {\n const style = Object.entries(themeToCSSVarsObj(theme)).reduce(\n (acc, entry) => `${acc}${entry.join(':')};\\n`,\n ''\n );\n\n if (!themeName) return style;\n\n return `*[data-theme=\"${themeName}\"] {${style}}`;\n};\n\nconst componentsThemeToStyleObj = (componentsTheme) =>\n transformTheme(componentsTheme, [], (path, val) => {\n const [component, ...restPath] = path;\n const property = restPath.pop();\n const componentName = getComponentName(component);\n\n if (property === 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(componentName, `theme value: \"${val}\" is mapped to an invalid property`);\n }\n\n // we need a support for portal components theme (e.g. overlay)\n // this allows us to generate those themes under different sections\n // if the theme has root level attribute that starts with #\n // we are generating a new theme\n let themeName = BASE_THEME_SECTION;\n\n if (restPath[0] && restPath[0].startsWith(PORTAL_THEME_PREFIX)) {\n themeName = restPath.shift();\n }\n\n // do not start with underscore -> key:value, must have 2 no underscore attrs in a row\n // starts with underscore -> attribute selector\n const attrsSelector = restPath.reduce((acc, section, idx) => {\n if (section.startsWith('_')) return `${acc}[${kebabCase(section.replace(/^_/, ''))}=\"true\"]`;\n\n const nextSection = restPath[idx + 1];\n\n if (typeof nextSection !== 'string' || nextSection.startsWith('_')) {\n // eslint-disable-next-line no-console\n console.error(\n 'theme generator',\n `your theme structure is invalid, attribute \"${section}\" is followed by \"${nextSection}\" which is not allowed`\n );\n return acc;\n }\n\n return `${acc}[${kebabCase(section)}=\"${restPath.splice(idx + 1, 1).join('')}\"]`;\n }, '');\n\n const selector = `:host${attrsSelector ? `(${attrsSelector})` : ''}`;\n\n return {\n [componentName]: {\n [themeName]: {\n [selector]: {\n [property]: getCssVarValue(val),\n },\n },\n },\n };\n });\n\nconst componentsThemeToStyle = (componentsTheme) =>\n Object.entries(componentsTheme).reduce(\n (acc, [selector, vars]) =>\n `${acc}${selector} { \\n${Object.entries(vars)\n .map(([key, val]) => `${key}: ${val}`)\n .join(';\\n')} \\n}\\n\\n`,\n ''\n );\n\nexport const createComponentsTheme = (componentsTheme) => {\n const styleObj = componentsThemeToStyleObj(componentsTheme);\n\n return Object.keys(styleObj).reduce((acc, componentName) => {\n const componentThemes = styleObj[componentName];\n\n return Object.assign(acc, {\n [componentName]: Object.keys(componentThemes).reduce(\n (res, theme) =>\n Object.assign(res, { [theme]: componentsThemeToStyle(componentThemes[theme]) }),\n {}\n ),\n });\n }, {});\n};\n\nexport const themeToStyle = ({ globals, components }, themeName) => ({\n globals: globalsThemeToStyle(globals, themeName),\n components: createComponentsTheme(components),\n});\n\nexport const useVar = (varName) => `var(${varName})`;\n\nexport const createHelperVars = (theme, prefix) => {\n const res = transformTheme(theme, [], (path, value) => {\n const modifiedPath = [...path];\n const property = modifiedPath.splice(-1);\n const varName = getCssVarName(prefix, property);\n\n const vars = { [property]: varName };\n const useVars = { [property]: useVar(varName) };\n\n return { theme: set({}, [...modifiedPath, varName], value), useVars, vars };\n });\n\n return [res.theme, res.useVars, res.vars];\n};\n\nexport { componentsThemeManager } from './componentsThemeManager';\n","import Color from 'color';\n\nconst colorGaps = {\n darkLight: 0.4,\n highlight: 0.8,\n contrast: 1,\n edgeColor: {\n darkLight: 0.25,\n highlight: 0.1,\n },\n};\n\nconst darken = (c, percentage) => c.darken(percentage).hex();\n\nconst contrast = (c) => {\n const isDark = c.isDark();\n return c\n .mix(Color(isDark ? 'white' : 'black'), colorGaps.contrast)\n .saturate(1)\n .hex();\n};\n\nconst lighten = (c, percentage) => {\n const isDark = c.lightness() < 0.5;\n\n if (isDark) {\n return c.lightness(percentage * 100).hex();\n }\n\n return c.lighten(percentage).hex();\n};\n\nconst isNearBlack = (color) => color.luminosity() < 0.01;\nconst isNearWhite = (color) => color.luminosity() > 0.99;\n\nconst generateDarkColor = (color, theme) => {\n if (theme === 'dark') {\n return isNearWhite(color)\n ? darken(color, colorGaps.edgeColor.darkLight)\n : lighten(color, colorGaps.darkLight);\n }\n\n return isNearBlack(color)\n ? lighten(color, colorGaps.edgeColor.darkLight)\n : darken(color, colorGaps.darkLight);\n};\n\nconst generateLightColor = (color, theme) => {\n if (theme === 'dark') {\n return isNearBlack(color)\n ? lighten(color, colorGaps.edgeColor.darkLight)\n : darken(color, colorGaps.darkLight);\n }\n\n return isNearWhite(color)\n ? darken(color, colorGaps.edgeColor.darkLight)\n : lighten(color, colorGaps.darkLight);\n};\n\nconst generateHighlightColor = (color, theme) => {\n if (theme === 'dark') {\n return isNearBlack(color)\n ? lighten(color, colorGaps.edgeColor.highlight)\n : darken(color, colorGaps.highlight);\n }\n\n return isNearWhite(color)\n ? darken(color, colorGaps.edgeColor.highlight)\n : lighten(color, colorGaps.highlight);\n};\n\nexport const genColor = (color, theme) => {\n const mainColor = new Color(color.main || color);\n\n const res = {\n main: mainColor.hex(),\n dark: color.dark || generateDarkColor(mainColor, theme),\n light: color.light || generateLightColor(mainColor, theme),\n highlight: color.highlight || generateHighlightColor(mainColor, theme),\n contrast: color.contrast || contrast(mainColor),\n };\n\n return res;\n};\n\nexport const genColors = (colors) => {\n return Object.keys(colors).reduce((acc, colorName) => {\n const currentColor = colors[colorName];\n\n return Object.assign(acc, {\n [colorName]: genColor(currentColor),\n });\n }, {});\n};\n","import { getThemeRefs, getThemeVars } from '../helpers/themeHelpers';\nimport { genColors } from '../helpers/themeHelpers/colorsHelpers';\n\nconst direction = 'ltr';\n\nexport const colors = genColors({\n surface: {\n main: '#ffffff',\n dark: '#636c74',\n light: '#cfd3d7',\n highlight: '#f4f5f6',\n contrast: '#181a1c',\n },\n primary: {\n main: '#006af5',\n dark: '#004094',\n light: '#71aeff',\n highlight: '#f0f6ff',\n contrast: '#ffffff',\n },\n secondary: {\n main: '#802ed6',\n dark: '#6410bc',\n light: '#be89f5',\n highlight: '#ede7f6',\n contrast: '#ffffff',\n },\n success: {\n main: '#008000',\n dark: '#005700',\n light: '#8bc38b',\n highlight: '#f5faf5',\n contrast: '#ffffff',\n },\n error: {\n main: '#e21d12',\n dark: '#b3170f',\n light: '#f4807a',\n highlight: '#fef1f1',\n contrast: '#ffffff',\n },\n});\n\nconst fonts = {\n font1: {\n family: [\n 'Roboto',\n 'ui-sans-serif',\n 'system-ui',\n '-apple-system',\n 'BlinkMacSystemFont',\n 'Segoe UI',\n 'Helvetica Neue',\n 'Arial',\n 'Noto Sans',\n 'sans-serif',\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji',\n ],\n label: 'Roboto',\n url: 'https://fonts.googleapis.com/css?family=Roboto:100,200,300,400,500,600,700,800,900',\n },\n font2: {\n family: [\n 'ui-sans-serif',\n 'system-ui',\n '-apple-system',\n 'BlinkMacSystemFont',\n 'Segoe UI',\n 'Roboto',\n 'Helvetica Neue',\n 'Arial',\n 'Noto Sans',\n 'sans-serif',\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji',\n ],\n label: 'Sans Serif',\n },\n};\n\nconst fontsRef = getThemeRefs({ fonts }).fonts;\n\nconst typography = {\n h1: {\n font: fontsRef.font1.family,\n weight: '900',\n size: '48px',\n },\n h2: {\n font: fontsRef.font1.family,\n weight: '800',\n size: '38px',\n },\n h3: {\n font: fontsRef.font1.family,\n weight: '600',\n size: '28px',\n },\n subtitle1: {\n font: fontsRef.font2.family,\n weight: '500',\n size: '22px',\n },\n subtitle2: {\n font: fontsRef.font2.family,\n weight: '400',\n size: '20px',\n },\n body1: {\n font: fontsRef.font1.family,\n weight: '400',\n size: '16px',\n },\n body2: {\n font: fontsRef.font1.family,\n weight: '400',\n size: '14px',\n },\n};\n\nconst spacing = {\n xs: '2px',\n sm: '4px',\n md: '8px',\n lg: '16px',\n xl: '32px',\n};\n\nconst border = {\n xs: '1px',\n sm: '2px',\n md: '3px',\n lg: '4px',\n xl: '5px',\n};\n\nconst radius = {\n xs: '5px',\n sm: '10px',\n md: '15px',\n lg: '20px',\n xl: '25px',\n '2xl': '30px',\n '3xl': '35px',\n};\n\nconst shadow = {\n wide: {\n sm: '0 2px 3px -0.5px',\n md: '0 4px 6px -1px',\n lg: '0 10px 15px -3px',\n xl: '0 20px 25px -5px',\n '2xl': '0 25px 50px -12px',\n },\n narrow: {\n sm: '0 1px 2px -1px',\n md: '0 2px 4px -2px',\n lg: '0 4px 6px -4px',\n xl: '0 8px 10px -6px',\n '2xl': '0 16px 16px -8px',\n },\n};\n\nconst globals = {\n colors,\n typography,\n spacing,\n border,\n radius,\n shadow,\n fonts,\n direction,\n};\n\nexport default globals;\nexport const vars = getThemeVars(globals);\n","import globals from '../globals';\nimport { getThemeRefs, createHelperVars } from '../../helpers/themeHelpers';\nimport { componentName, ButtonClass } from '../../components/descope-button/ButtonClass';\n\nconst globalRefs = getThemeRefs(globals);\nconst compVars = ButtonClass.cssVarList;\n\nconst mode = {\n primary: globalRefs.colors.primary,\n secondary: globalRefs.colors.secondary,\n success: globalRefs.colors.success,\n error: globalRefs.colors.error,\n surface: globalRefs.colors.surface,\n};\n\nconst [helperTheme, helperRefs, helperVars] = createHelperVars({ mode }, componentName);\n\nconst button = {\n ...helperTheme,\n\n [compVars.fontFamily]: globalRefs.fonts.font1.family,\n\n [compVars.cursor]: 'pointer',\n [compVars.hostHeight]: '3em',\n [compVars.hostWidth]: 'auto',\n [compVars.hostDirection]: globalRefs.direction,\n\n [compVars.borderRadius]: globalRefs.radius.sm,\n [compVars.borderWidth]: globalRefs.border.xs,\n [compVars.borderStyle]: 'solid',\n [compVars.borderColor]: 'transparent',\n\n [compVars.labelSpacing]: '0.25em',\n\n [compVars.textAlign]: 'center', // default text align center\n textAlign: {\n right: { [compVars.textAlign]: 'right' },\n left: { [compVars.textAlign]: 'left' },\n center: { [compVars.textAlign]: 'center' },\n },\n\n [compVars.verticalPadding]: '1em',\n [compVars.horizontalPadding]: '0.875em',\n\n [compVars.outlineWidth]: globals.border.sm,\n [compVars.outlineOffset]: '0px', // keep `px` unit for external calc\n [compVars.outlineStyle]: 'solid',\n [compVars.outlineColor]: 'transparent',\n\n [compVars.iconSize]: '1.5em',\n [compVars.iconColor]: 'currentColor',\n\n size: {\n xs: { [compVars.fontSize]: '12px' },\n sm: { [compVars.fontSize]: '14px' },\n md: { [compVars.fontSize]: '16px' },\n lg: { [compVars.fontSize]: '18px' },\n },\n\n _square: {\n [compVars.hostHeight]: '3em',\n [compVars.hostWidth]: '3em',\n [compVars.verticalPadding]: '0',\n },\n\n _fullWidth: {\n [compVars.hostWidth]: '100%',\n },\n\n _loading: {\n [compVars.cursor]: 'wait',\n [compVars.labelTextColor]: helperRefs.main,\n },\n\n _disabled: {\n [helperVars.main]: globalRefs.colors.surface.light,\n [helperVars.dark]: globalRefs.colors.surface.dark,\n [helperVars.light]: globalRefs.colors.surface.light,\n [helperVars.contrast]: globalRefs.colors.surface.main,\n [compVars.iconColor]: globalRefs.colors.surface.main,\n },\n\n variant: {\n contained: {\n [compVars.labelTextColor]: helperRefs.contrast,\n [compVars.backgroundColor]: helperRefs.main,\n _hover: {\n [compVars.backgroundColor]: helperRefs.dark,\n _loading: {\n [compVars.backgroundColor]: helperRefs.main,\n },\n },\n _active: {\n [compVars.backgroundColor]: helperRefs.main,\n },\n },\n\n outline: {\n [compVars.labelTextColor]: helperRefs.main,\n [compVars.borderColor]: helperRefs.main,\n _hover: {\n [compVars.labelTextColor]: helperRefs.dark,\n [compVars.borderColor]: helperRefs.dark,\n },\n _active: {\n [compVars.labelTextColor]: helperRefs.main,\n [compVars.borderColor]: helperRefs.main,\n },\n },\n\n link: {\n [compVars.labelTextColor]: helperRefs.main,\n [compVars.horizontalPadding]: '0.125em',\n _hover: {\n [compVars.labelTextColor]: helperRefs.dark,\n [compVars.labelTextDecoration]: 'underline',\n },\n _active: {\n [compVars.labelTextColor]: helperRefs.main,\n },\n },\n },\n\n _focused: {\n [compVars.outlineColor]: helperRefs.light,\n },\n};\n\nexport default button;\n\nexport const vars = {\n ...compVars,\n ...helperVars,\n};\n","import globals from '../globals';\nimport { getThemeRefs, createHelperVars } from '../../helpers/themeHelpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nconst componentName = getComponentName('input-wrapper');\nconst globalRefs = getThemeRefs(globals);\n\nconst [theme, refs, vars] = createHelperVars(\n {\n labelTextColor: globalRefs.colors.surface.dark,\n labelFontSize: '14px', // not taken from globals as it is fixed in all inputs\n labelFontWeight: '500', // not taken from globals as it is fixed in all inputs\n valueTextColor: globalRefs.colors.surface.contrast,\n placeholderTextColor: globalRefs.colors.surface.dark,\n requiredIndicator: \"'*'\",\n helperTextColor: globalRefs.colors.surface.dark,\n errorMessageTextColor: globalRefs.colors.error.main,\n successMessageTextColor: globalRefs.colors.success.main,\n\n borderWidth: globalRefs.border.xs,\n borderRadius: globalRefs.radius.xs,\n borderColor: 'transparent',\n\n outlineWidth: globalRefs.border.sm,\n outlineStyle: 'solid',\n outlineColor: 'transparent',\n outlineOffset: '0px', // we need to keep the px unit even for 0 value, as this var is used for calc in different component classes\n\n minWidth: '10em',\n toggleButtonSize: '1.5em',\n inputIconSize: '1em',\n inputHeight: '3em',\n horizontalPadding: '0.5em',\n verticalPadding: '0.5em',\n\n backgroundColor: globalRefs.colors.surface.main,\n\n fontFamily: globalRefs.fonts.font1.family,\n\n direction: globalRefs.direction,\n\n overlayOpacity: '0.3',\n\n size: {\n xs: { fontSize: '12px', chipFontSize: '10px' },\n sm: { fontSize: '14px', chipFontSize: '12px' },\n md: { fontSize: '16px', chipFontSize: '14px' },\n lg: { fontSize: '18px', chipFontSize: '16px' },\n },\n\n labelType: {\n floating: {\n labelPosition: 'absolute',\n labelTopPosition: '0',\n labelHorizontalPosition: '0.9em',\n labelFontSize: '1em',\n placeholderOpacity: 0,\n inputHeight: '3.5em',\n inputVerticalAlignment: 'flex-end',\n inputTransformY: 'translateY(1.55em)',\n inputTransition: 'all 75ms ease-in-out',\n marginInlineStart: '0',\n valueInputHeight: '1.5702em',\n valueInputMarginBottom: '0.5em',\n\n _focused: {\n labelFontSize: '0.75em',\n inputTransformY: 'translateY(1.05em)',\n labelFontWeight: '400',\n placeholderOpacity: 1,\n },\n\n _readOnly: {\n placeholderOpacity: 0,\n },\n\n _hasValue: {\n inputTransformY: 'translateY(1.05em)',\n labelFontSize: '0.75em',\n labelFontWeight: '400',\n },\n },\n },\n\n _fullWidth: {\n width: '100%',\n },\n\n _focused: {\n outlineColor: globalRefs.colors.surface.light,\n _invalid: {\n outlineColor: globalRefs.colors.error.main,\n },\n },\n\n _bordered: {\n outlineWidth: globalRefs.border.xs,\n borderColor: globalRefs.colors.surface.light,\n borderStyle: 'solid',\n _invalid: {\n borderColor: globalRefs.colors.error.main,\n },\n },\n\n _disabled: {\n labelTextColor: globalRefs.colors.surface.light,\n borderColor: globalRefs.colors.surface.light,\n valueTextColor: globalRefs.colors.surface.light,\n placeholderTextColor: globalRefs.colors.surface.light,\n helperTextColor: globalRefs.colors.surface.light,\n backgroundColor: globalRefs.colors.surface.main,\n },\n },\n componentName\n);\n\nexport { refs, vars };\nexport default theme;\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { TextFieldClass } from '../../components/descope-text-field/TextFieldClass';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = TextFieldClass.cssVarList;\n\nexport const textField = {\n [vars.hostWidth]: refs.width,\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderColor]: refs.placeholderTextColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.inputHeight]: refs.inputHeight,\n [vars.inputHorizontalPadding]: refs.horizontalPadding,\n [vars.helperTextColor]: refs.helperTextColor,\n textAlign: {\n right: { [vars.inputTextAlign]: 'right' },\n left: { [vars.inputTextAlign]: 'left' },\n center: { [vars.inputTextAlign]: 'center' },\n },\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.placeholderOpacity]: refs.placeholderOpacity,\n [vars.inputVerticalAlignment]: refs.inputVerticalAlignment,\n [vars.valueInputHeight]: refs.valueInputHeight,\n [vars.valueInputMarginBottom]: refs.valueInputMarginBottom,\n [vars.inputIconOffset]: globalRefs.spacing.md,\n [vars.inputIconSize]: refs.inputIconSize,\n [vars.inputIconColor]: refs.placeholderTextColor,\n};\n\nexport default textField;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { PasswordClass } from '../../components/descope-password/PasswordClass';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = PasswordClass.cssVarList;\n\nconst password = {\n [vars.hostWidth]: refs.width,\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputHorizontalPadding]: refs.horizontalPadding,\n [vars.inputHeight]: refs.inputHeight,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderTextColor]: refs.placeholderTextColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.revealButtonOffset]: globalRefs.spacing.md,\n [vars.revealButtonSize]: refs.toggleButtonSize,\n [vars.revealButtonColor]: refs.placeholderTextColor,\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.placeholderOpacity]: refs.placeholderOpacity,\n [vars.inputVerticalAlignment]: refs.inputVerticalAlignment,\n [vars.valueInputHeight]: refs.valueInputHeight,\n};\n\nexport default password;\nexport { vars };\n","import { NumberFieldClass } from '../../components/descope-number-field/NumberFieldClass';\nimport { refs } from './inputWrapper';\n\nconst vars = NumberFieldClass.cssVarList;\n\nconst numberField = {\n [vars.hostWidth]: refs.width,\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderColor]: refs.placeholderTextColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.inputHorizontalPadding]: refs.horizontalPadding,\n [vars.inputHeight]: refs.inputHeight,\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.placeholderOpacity]: refs.placeholderOpacity,\n [vars.inputVerticalAlignment]: refs.inputVerticalAlignment,\n [vars.valueInputHeight]: refs.valueInputHeight,\n [vars.valueInputMarginBottom]: refs.valueInputMarginBottom,\n};\n\nexport default numberField;\nexport { vars };\n","import { EmailFieldClass } from '../../components/descope-email-field/EmailFieldClass';\nimport { refs } from './inputWrapper';\n\nconst vars = EmailFieldClass.cssVarList;\n\nconst emailField = {\n [vars.hostWidth]: refs.width,\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.inputPlaceholderColor]: refs.placeholderTextColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.inputHorizontalPadding]: refs.horizontalPadding,\n [vars.inputHeight]: refs.inputHeight,\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.placeholderOpacity]: refs.placeholderOpacity,\n [vars.inputVerticalAlignment]: refs.inputVerticalAlignment,\n [vars.valueInputHeight]: refs.valueInputHeight,\n [vars.valueInputMarginBottom]: refs.valueInputMarginBottom,\n};\n\nexport default emailField;\nexport { vars };\n","import { TextAreaClass } from '../../components/descope-text-area/TextAreaClass';\nimport { refs } from './inputWrapper';\n\nconst vars = TextAreaClass.cssVarList;\n\nconst textArea = {\n [vars.hostWidth]: refs.width,\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderTextColor]: refs.placeholderTextColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputResizeType]: 'vertical',\n [vars.inputMinHeight]: '5em',\n textAlign: {\n right: { [vars.inputTextAlign]: 'right' },\n left: { [vars.inputTextAlign]: 'left' },\n center: { [vars.inputTextAlign]: 'center' },\n },\n\n _readonly: {\n [vars.inputResizeType]: 'none',\n },\n};\n\nexport default textArea;\nexport { vars };\n","import { CheckboxClass } from '../../components/boolean-fields/descope-checkbox/CheckboxClass';\nimport { refs } from './inputWrapper';\n\nconst vars = CheckboxClass.cssVarList;\nconst checkboxSize = '1.35em';\n\nconst checkbox = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.labelFontWeight]: '400',\n [vars.labelLineHeight]: checkboxSize,\n [vars.labelSpacing]: '1em',\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.inputSize]: checkboxSize,\n\n _checked: {\n [vars.inputValueTextColor]: refs.valueTextColor,\n },\n\n _disabled: {\n [vars.labelTextColor]: refs.labelTextColor,\n },\n};\n\nexport default checkbox;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { SwitchToggleClass } from '../../components/boolean-fields/descope-switch-toggle/SwitchToggleClass';\nimport { refs } from './inputWrapper';\n\nconst knobMargin = '2px';\nconst checkboxHeight = '1.25em';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = SwitchToggleClass.cssVarList;\n\nconst switchToggle = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n\n [vars.trackBorderStyle]: refs.borderStyle,\n [vars.trackBorderWidth]: refs.borderWidth, // var `trackBorderWidth` used outside the theme for `left` margin calculation\n [vars.trackBorderColor]: refs.borderColor,\n [vars.trackBackgroundColor]: refs.backgroundColor,\n [vars.trackBorderRadius]: globalRefs.radius.md,\n [vars.trackWidth]: '2.5em', // var `trackWidth` used outside the theme for `left` margin calculation\n [vars.trackHeight]: checkboxHeight,\n\n [vars.knobSize]: `calc(1em - ${knobMargin})`,\n [vars.knobRadius]: '50%',\n [vars.knobTopOffset]: '1px',\n [vars.knobLeftOffset]: knobMargin,\n [vars.knobColor]: refs.labelTextColor,\n [vars.knobTransitionDuration]: '0.3s',\n\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelFontWeight]: '400',\n [vars.labelLineHeight]: '1.35em',\n [vars.labelSpacing]: '1em',\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n\n _checked: {\n [vars.trackBorderColor]: refs.borderColor,\n [vars.knobLeftOffset]: `calc(100% - var(${vars.knobSize}) - ${knobMargin})`,\n [vars.knobColor]: refs.valueTextColor,\n [vars.knobTextColor]: refs.valueTextColor,\n },\n\n _disabled: {\n [vars.knobColor]: globalRefs.colors.surface.light,\n [vars.trackBorderColor]: globalRefs.colors.surface.light,\n [vars.trackBackgroundColor]: globalRefs.colors.surface.main,\n [vars.labelTextColor]: refs.labelTextColor,\n _checked: {\n [vars.knobColor]: globalRefs.colors.surface.light,\n [vars.trackBackgroundColor]: globalRefs.colors.surface.main,\n },\n },\n\n _invalid: {\n [vars.trackBorderColor]: globalRefs.colors.error.main,\n [vars.knobColor]: globalRefs.colors.error.main,\n },\n};\n\nexport default switchToggle;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs, createHelperVars } from '../../helpers/themeHelpers';\nimport { ContainerClass, componentName } from '../../components/descope-container/ContainerClass';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst compVars = ContainerClass.cssVarList;\n\nconst verticalAlignment = {\n start: { verticalAlignment: 'start' },\n center: { verticalAlignment: 'safe center' },\n end: { verticalAlignment: 'end' },\n};\n\nconst horizontalAlignment = {\n start: { horizontalAlignment: 'start' },\n center: { horizontalAlignment: 'safe center' },\n end: { horizontalAlignment: 'end' },\n};\n\nconst [helperTheme, helperRefs, helperVars] = createHelperVars(\n {\n verticalAlignment,\n horizontalAlignment,\n shadowColor: '#00000020', // if we want to support transparency vars, we should use different color format\n },\n componentName\n);\n\nconst { shadowColor } = helperRefs;\n\nconst container = {\n ...helperTheme,\n\n [compVars.itemsGrow]: '0',\n [compVars.hostWidth]: '100%',\n [compVars.boxShadow]: 'none',\n [compVars.backgroundColor]: globalRefs.colors.surface.main,\n [compVars.color]: globalRefs.colors.surface.contrast,\n [compVars.borderRadius]: '0px',\n [compVars.hostDirection]: globalRefs.direction,\n\n verticalPadding: {\n sm: { [compVars.verticalPadding]: '5px' },\n md: { [compVars.verticalPadding]: '10px' },\n lg: { [compVars.verticalPadding]: '20px' },\n },\n\n horizontalPadding: {\n sm: { [compVars.horizontalPadding]: '5px' },\n md: { [compVars.horizontalPadding]: '10px' },\n lg: { [compVars.horizontalPadding]: '20px' },\n },\n\n direction: {\n row: {\n [compVars.flexDirection]: 'row',\n [compVars.alignItems]: helperRefs.verticalAlignment,\n [compVars.justifyContent]: helperRefs.horizontalAlignment,\n [compVars.flexWrap]: 'wrap',\n horizontalAlignment: {\n spaceBetween: {\n [helperVars.horizontalAlignment]: 'space-between',\n },\n },\n },\n column: {\n [compVars.flexDirection]: 'column',\n [compVars.alignItems]: helperRefs.horizontalAlignment,\n [compVars.justifyContent]: helperRefs.verticalAlignment,\n verticalAlignment: {\n spaceBetween: {\n [helperVars.verticalAlignment]: 'space-between',\n },\n },\n },\n },\n\n spaceBetween: {\n sm: { [compVars.gap]: '10px' },\n md: { [compVars.gap]: '20px' },\n lg: { [compVars.gap]: '30px' },\n },\n\n shadow: {\n sm: {\n [compVars.boxShadow]: `${globalRefs.shadow.wide.sm} ${shadowColor}, ${globalRefs.shadow.narrow.sm} ${shadowColor}`,\n },\n md: {\n [compVars.boxShadow]: `${globalRefs.shadow.wide.md} ${shadowColor}, ${globalRefs.shadow.narrow.md} ${shadowColor}`,\n },\n lg: {\n [compVars.boxShadow]: `${globalRefs.shadow.wide.lg} ${shadowColor}, ${globalRefs.shadow.narrow.lg} ${shadowColor}`,\n },\n xl: {\n [compVars.boxShadow]: `${globalRefs.shadow.wide.xl} ${shadowColor}, ${globalRefs.shadow.narrow.xl} ${shadowColor}`,\n },\n '2xl': {\n [helperVars.shadowColor]: '#00000050', // mimic daisyUI shadow settings\n [compVars.boxShadow]: `${globalRefs.shadow.wide['2xl']} ${shadowColor}`,\n },\n },\n\n borderRadius: {\n sm: { [compVars.borderRadius]: globalRefs.radius.sm },\n md: { [compVars.borderRadius]: globalRefs.radius.md },\n lg: { [compVars.borderRadius]: globalRefs.radius.lg },\n xl: { [compVars.borderRadius]: globalRefs.radius.xl },\n '2xl': { [compVars.borderRadius]: globalRefs.radius['2xl'] },\n '3xl': { [compVars.borderRadius]: globalRefs.radius['3xl'] },\n },\n};\n\nexport default container;\n\nexport const vars = {\n ...compVars,\n ...helperVars,\n};\n","import { LogoClass } from '../../components/descope-logo/LogoClass';\n\nconst vars = LogoClass.cssVarList;\n\nconst logo = {\n [vars.fallbackUrl]: 'url(https://imgs.descope.com/components/no-logo-placeholder.svg)',\n};\n\nexport default logo;\nexport { vars };\n","import { TotpImageClass } from '../../components/descope-totp-image/TotpImageClass';\n\nconst vars = TotpImageClass.cssVarList;\n\nconst logo = {\n [vars.fallbackUrl]: 'url(https://imgs.descope.com/components/totp-placeholder.svg)',\n};\n\nexport default logo;\nexport { vars };\n","import { NotpImageClass } from '../../components/descope-notp-image/NotpImageClass';\n\nconst vars = NotpImageClass.cssVarList;\n\nconst logo = {\n [vars.fallbackUrl]: 'url(https://imgs.descope.com/components/notp-placeholder.svg)',\n};\n\nexport default logo;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { TextClass } from '../../components/descope-text/TextClass';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = TextClass.cssVarList;\n\nconst text = {\n [vars.hostDirection]: globalRefs.direction,\n [vars.textLineHeight]: '1.35em',\n [vars.textAlign]: 'left',\n [vars.textColor]: globalRefs.colors.surface.dark,\n\n variant: {\n h1: {\n [vars.fontSize]: globalRefs.typography.h1.size,\n [vars.fontWeight]: globalRefs.typography.h1.weight,\n [vars.fontFamily]: globalRefs.typography.h1.font,\n },\n h2: {\n [vars.fontSize]: globalRefs.typography.h2.size,\n [vars.fontWeight]: globalRefs.typography.h2.weight,\n [vars.fontFamily]: globalRefs.typography.h2.font,\n },\n h3: {\n [vars.fontSize]: globalRefs.typography.h3.size,\n [vars.fontWeight]: globalRefs.typography.h3.weight,\n [vars.fontFamily]: globalRefs.typography.h3.font,\n },\n subtitle1: {\n [vars.fontSize]: globalRefs.typography.subtitle1.size,\n [vars.fontWeight]: globalRefs.typography.subtitle1.weight,\n [vars.fontFamily]: globalRefs.typography.subtitle1.font,\n },\n subtitle2: {\n [vars.fontSize]: globalRefs.typography.subtitle2.size,\n [vars.fontWeight]: globalRefs.typography.subtitle2.weight,\n [vars.fontFamily]: globalRefs.typography.subtitle2.font,\n },\n body1: {\n [vars.fontSize]: globalRefs.typography.body1.size,\n [vars.fontWeight]: globalRefs.typography.body1.weight,\n [vars.fontFamily]: globalRefs.typography.body1.font,\n },\n body2: {\n [vars.fontSize]: globalRefs.typography.body2.size,\n [vars.fontWeight]: globalRefs.typography.body2.weight,\n [vars.fontFamily]: globalRefs.typography.body2.font,\n },\n },\n\n mode: {\n primary: {\n [vars.textColor]: globalRefs.colors.surface.contrast,\n },\n secondary: {\n [vars.textColor]: globalRefs.colors.surface.dark,\n },\n error: {\n [vars.textColor]: globalRefs.colors.error.main,\n },\n success: {\n [vars.textColor]: globalRefs.colors.success.main,\n },\n },\n\n textAlign: {\n right: { [vars.textAlign]: 'right' },\n left: { [vars.textAlign]: 'left' },\n center: { [vars.textAlign]: 'center' },\n },\n\n _fullWidth: {\n [vars.hostWidth]: '100%',\n },\n\n _italic: {\n [vars.fontStyle]: 'italic',\n },\n\n _uppercase: {\n [vars.textTransform]: 'uppercase',\n },\n\n _lowercase: {\n [vars.textTransform]: 'lowercase',\n },\n};\n\nexport default text;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { LinkClass } from '../../components/descope-link/LinkClass';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = LinkClass.cssVarList;\n\nconst link = {\n [vars.hostDirection]: globalRefs.direction,\n [vars.cursor]: 'pointer',\n\n [vars.textColor]: globalRefs.colors.primary.main,\n\n textAlign: {\n right: { [vars.textAlign]: 'right' },\n left: { [vars.textAlign]: 'left' },\n center: { [vars.textAlign]: 'center' },\n },\n\n _fullWidth: {\n [vars.hostWidth]: '100%',\n },\n\n _hover: {\n [vars.textDecoration]: 'underline',\n },\n\n mode: {\n secondary: {\n [vars.textColor]: globalRefs.colors.secondary.main,\n },\n error: {\n [vars.textColor]: globalRefs.colors.error.main,\n },\n success: {\n [vars.textColor]: globalRefs.colors.success.main,\n },\n },\n};\n\nexport default link;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs, useVar } from '../../helpers/themeHelpers';\nimport { EnrichedTextClass } from '../../components/descope-enriched-text/EnrichedTextClass';\nimport { vars as textCompVars } from './text';\nimport { vars as linkCompVars } from './link';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = EnrichedTextClass.cssVarList;\n\nconst enrichedText = {\n [vars.hostDirection]: globalRefs.direction,\n [vars.hostWidth]: useVar(textCompVars.hostWidth),\n\n [vars.textLineHeight]: useVar(textCompVars.textLineHeight),\n [vars.textColor]: useVar(textCompVars.textColor),\n [vars.textAlign]: useVar(textCompVars.textAlign),\n\n [vars.fontSize]: useVar(textCompVars.fontSize),\n [vars.fontWeight]: useVar(textCompVars.fontWeight),\n [vars.fontFamily]: useVar(textCompVars.fontFamily),\n\n [vars.linkColor]: useVar(linkCompVars.textColor),\n [vars.linkTextDecoration]: 'none',\n [vars.linkHoverTextDecoration]: 'underline',\n\n [vars.fontWeightBold]: '900',\n [vars.minWidth]: '0.25em',\n [vars.minHeight]: '1.35em',\n};\n\nexport default enrichedText;\nexport { vars };\n","import globals from '../globals';\nimport { componentName, DividerClass } from '../../components/descope-divider/DividerClass';\nimport { createHelperVars, getThemeRefs } from '../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\nconst compVars = DividerClass.cssVarList;\n\nconst [helperTheme, helperRefs, helperVars] = createHelperVars(\n {\n thickness: '2px',\n spacing: '10px',\n },\n componentName\n);\n\nconst divider = {\n ...helperTheme,\n\n [compVars.hostDirection]: globalRefs.direction,\n [compVars.alignItems]: 'center',\n [compVars.flexDirection]: 'row',\n [compVars.alignSelf]: 'stretch',\n [compVars.hostWidth]: '100%',\n [compVars.stripeColor]: globalRefs.colors.surface.light,\n [compVars.stripeColorOpacity]: '0.5',\n [compVars.stripeHorizontalThickness]: helperRefs.thickness,\n [compVars.labelTextWidth]: 'fit-content',\n [compVars.labelTextMaxWidth]: 'calc(100% - 100px)',\n [compVars.labelTextHorizontalSpacing]: helperRefs.spacing,\n [compVars.textAlign]: 'center',\n\n _vertical: {\n [compVars.minHeight]: '200px',\n [compVars.flexDirection]: 'column',\n [compVars.hostWidth]: 'fit-content',\n [compVars.hostPadding]: `0 calc(${helperRefs.thickness} * 3)`,\n [compVars.stripeVerticalThickness]: helperRefs.thickness,\n [compVars.labelTextWidth]: 'fit-content',\n [compVars.labelTextMaxWidth]: '100%',\n [compVars.labelTextVerticalSpacing]: helperRefs.spacing,\n },\n};\n\nexport default divider;\n\nexport const vars = {\n ...compVars,\n ...helperVars,\n};\n","import { PasscodeClass } from '../../components/descope-passcode/PasscodeClass';\nimport { refs } from './inputWrapper';\n\nconst vars = PasscodeClass.cssVarList;\n\nconst passcode = {\n [vars.hostDirection]: refs.direction,\n [vars.fontFamily]: refs.fontFamily,\n [vars.fontSize]: refs.fontSize,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.digitValueTextColor]: refs.valueTextColor,\n [vars.digitPadding]: '0',\n [vars.digitTextAlign]: 'center',\n [vars.digitSpacing]: '4px',\n [vars.hostWidth]: refs.width,\n [vars.digitOutlineColor]: 'transparent',\n [vars.digitOutlineWidth]: refs.outlineWidth,\n [vars.focusedDigitFieldOutlineColor]: refs.outlineColor,\n [vars.digitSize]: refs.inputHeight,\n\n size: {\n xs: { [vars.spinnerSize]: '15px' },\n sm: { [vars.spinnerSize]: '20px' },\n md: { [vars.spinnerSize]: '20px' },\n lg: { [vars.spinnerSize]: '20px' },\n },\n\n _hideCursor: {\n [vars.digitCaretTextColor]: 'transparent',\n },\n\n _loading: {\n [vars.overlayOpacity]: refs.overlayOpacity,\n },\n};\n\nexport default passcode;\nexport { vars };\n","import globals from '../../globals';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport { LoaderLinearClass } from '../../../components/descope-loader-linear/LoaderLinearClass';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = LoaderLinearClass.cssVarList;\n\nconst loaderLinear = {\n [vars.hostDisplay]: 'inline-block',\n [vars.hostWidth]: '100%',\n\n [vars.barColor]: globalRefs.colors.surface.contrast,\n [vars.barWidth]: '20%',\n\n [vars.barBackgroundColor]: globalRefs.colors.surface.light,\n [vars.barBorderRadius]: '4px',\n\n [vars.animationDuration]: '2s',\n [vars.animationTimingFunction]: 'linear',\n [vars.animationIterationCount]: 'infinite',\n [vars.verticalPadding]: '0.25em',\n\n size: {\n xs: { [vars.barHeight]: '2px' },\n sm: { [vars.barHeight]: '4px' },\n md: { [vars.barHeight]: '6px' },\n lg: { [vars.barHeight]: '8px' },\n },\n\n mode: {\n primary: {\n [vars.barColor]: globalRefs.colors.primary.main,\n },\n secondary: {\n [vars.barColor]: globalRefs.colors.secondary.main,\n },\n },\n\n _hidden: {\n [vars.hostDisplay]: 'none',\n },\n};\n\nexport default loaderLinear;\nexport { vars };\n","import globals from '../../globals';\nimport {\n LoaderRadialClass,\n componentName,\n} from '../../../components/descope-loader-radial/LoaderRadialClass';\nimport { createHelperVars, getThemeRefs } from '../../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\nconst compVars = LoaderRadialClass.cssVarList;\n\nconst [helperTheme, helperRefs, helperVars] = createHelperVars(\n {\n spinnerColor: globalRefs.colors.surface.contrast,\n mode: {\n primary: {\n spinnerColor: globalRefs.colors.primary.main,\n },\n secondary: {\n spinnerColor: globalRefs.colors.secondary.main,\n },\n },\n },\n componentName\n);\n\nconst loaderRadial = {\n ...helperTheme,\n\n [compVars.animationDuration]: '2s',\n [compVars.animationTimingFunction]: 'linear',\n [compVars.animationIterationCount]: 'infinite',\n [compVars.spinnerBorderStyle]: 'solid',\n [compVars.spinnerBorderWidth]: '0.2em',\n [compVars.spinnerBorderRadius]: '50%',\n [compVars.spinnerQuadrant1Color]: helperRefs.spinnerColor,\n [compVars.spinnerQuadrant2Color]: 'transparent',\n [compVars.spinnerQuadrant3Color]: helperRefs.spinnerColor,\n [compVars.spinnerQuadrant4Color]: 'transparent',\n\n size: {\n xs: { [compVars.spinnerSize]: '20px' },\n sm: { [compVars.spinnerSize]: '30px' },\n md: { [compVars.spinnerSize]: '40px' },\n lg: { [compVars.spinnerSize]: '60px' },\n xl: { [compVars.spinnerSize]: '80px' },\n },\n\n _hidden: {\n [compVars.hostDisplay]: 'none',\n },\n};\n\nexport default loaderRadial;\nexport const vars = {\n ...compVars,\n ...helperVars,\n};\n","import globals from '../globals';\nimport { ComboBoxClass } from '../../components/descope-combo-box/ComboBoxClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = ComboBoxClass.cssVarList;\n\nexport const comboBox = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderTextColor]: refs.placeholderTextColor,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.inputHorizontalPadding]: refs.horizontalPadding,\n [vars.inputHeight]: refs.inputHeight,\n [vars.inputDropdownButtonColor]: globalRefs.colors.surface.dark,\n [vars.inputDropdownButtonCursor]: 'pointer',\n [vars.inputDropdownButtonSize]: refs.toggleButtonSize,\n [vars.inputDropdownButtonOffset]: globalRefs.spacing.xs,\n [vars.overlayItemPaddingInlineStart]: globalRefs.spacing.xs,\n [vars.overlayItemPaddingInlineEnd]: globalRefs.spacing.lg,\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.placeholderOpacity]: refs.placeholderOpacity,\n [vars.inputVerticalAlignment]: refs.inputVerticalAlignment,\n [vars.valueInputHeight]: refs.valueInputHeight,\n [vars.valueInputMarginBottom]: refs.valueInputMarginBottom,\n\n _readonly: {\n [vars.inputDropdownButtonCursor]: 'default',\n },\n\n // Overlay theme exposed via the component:\n [vars.overlayFontSize]: refs.fontSize,\n [vars.overlayFontFamily]: refs.fontFamily,\n [vars.overlayCursor]: 'pointer',\n [vars.overlayItemBoxShadow]: 'none',\n [vars.overlayBackground]: refs.backgroundColor,\n [vars.overlayTextColor]: refs.valueTextColor,\n\n // Overlay direct theme:\n [vars.overlay.minHeight]: '400px',\n [vars.overlay.margin]: '0',\n};\n\nexport default comboBox;\nexport { vars };\n","import { ImageClass } from '../../components/descope-image/ImageClass';\n\nconst vars = ImageClass.cssVarList;\n\nconst image = {};\n\nexport default image;\nexport { vars };\n","import { PhoneFieldClass } from '../../components/phone-fields/descope-phone-field/PhoneFieldClass';\nimport { refs } from './inputWrapper';\n\nconst vars = PhoneFieldClass.cssVarList;\n\nconst phoneField = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderTextColor]: refs.placeholderTextColor,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.phoneInputWidth]: refs.minWidth,\n [vars.countryCodeInputWidth]: '5em',\n [vars.countryCodeDropdownWidth]: '20em',\n [vars.marginInlineStart]: '-0.25em',\n [vars.valueInputHeight]: refs.valueInputHeight,\n [vars.valueInputMarginBottom]: refs.valueInputMarginBottom,\n\n // '@overlay': {\n // \toverlayItemBackgroundColor: 'red'\n // }\n};\n\nexport default phoneField;\nexport { vars };\n","import { PhoneFieldInputBoxClass } from '../../components/phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass';\nimport { refs } from './inputWrapper';\n\nconst vars = PhoneFieldInputBoxClass.cssVarList;\n\nconst phoneInputBoxField = {\n [vars.hostWidth]: '16em',\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderTextColor]: refs.placeholderTextColor,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.valueInputHeight]: refs.valueInputHeight,\n [vars.valueInputMarginBottom]: refs.valueInputMarginBottom,\n [vars.inputHorizontalPadding]: '0',\n\n _fullWidth: {\n [vars.hostWidth]: refs.width,\n },\n};\n\nexport default phoneInputBoxField;\nexport { vars };\n","import globals from '../globals';\nimport { NewPasswordClass } from '../../components/descope-new-password/NewPasswordClass';\nimport { refs } from './inputWrapper';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = NewPasswordClass.cssVarList;\n\nconst newPassword = {\n [vars.hostWidth]: refs.width,\n [vars.hostMinWidth]: refs.minWidth,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.spaceBetweenInputs]: '1em',\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.policyPreviewBackgroundColor]: 'none',\n [vars.policyPreviewPadding]: globalRefs.spacing.lg,\n [vars.valueInputHeight]: refs.valueInputHeight,\n\n _required: {\n // NewPassword doesn't pass `required` attribute to its Password components.\n // That's why we fake the required indicator on each input.\n // We do that by injecting `::after` element, and populating it with requiredIndicator content.\n [vars.inputsRequiredIndicator]: refs.requiredIndicator, // used to populate required content for NewPassword input fields outside the theme\n },\n};\n\nexport default newPassword;\nexport { vars };\n","import { UploadFileClass } from '../../components/descope-upload-file/UploadFileClass';\nimport { refs } from './inputWrapper';\n\nconst vars = UploadFileClass.cssVarList;\n\nconst uploadFile = {\n [vars.hostDirection]: refs.direction,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.fontFamily]: refs.fontFamily,\n\n [vars.iconSize]: '2em',\n\n [vars.hostPadding]: '0.75em',\n [vars.gap]: '0.5em',\n\n [vars.fontSize]: '16px',\n [vars.titleFontWeight]: '500',\n [vars.lineHeight]: '1em',\n\n [vars.borderWidth]: refs.borderWidth,\n [vars.borderColor]: refs.borderColor,\n [vars.borderRadius]: refs.borderRadius,\n [vars.borderStyle]: 'dashed',\n\n _required: {\n [vars.requiredIndicator]: refs.requiredIndicator,\n },\n\n size: {\n xs: {\n [vars.hostHeight]: '196px',\n [vars.hostWidth]: '200px',\n [vars.titleFontSize]: '0.875em',\n [vars.descriptionFontSize]: '0.875em',\n [vars.lineHeight]: '1.25em',\n },\n sm: {\n [vars.hostHeight]: '216px',\n [vars.hostWidth]: '230px',\n [vars.titleFontSize]: '1em',\n [vars.descriptionFontSize]: '0.875em',\n [vars.lineHeight]: '1.25em',\n },\n md: {\n [vars.hostHeight]: '256px',\n [vars.hostWidth]: '312px',\n [vars.titleFontSize]: '1.125em',\n [vars.descriptionFontSize]: '1em',\n [vars.lineHeight]: '1.5em',\n },\n lg: {\n [vars.hostHeight]: '280px',\n [vars.hostWidth]: '336px',\n [vars.titleFontSize]: '1.125em',\n [vars.descriptionFontSize]: '1.125em',\n [vars.lineHeight]: '1.75em',\n },\n },\n\n _fullWidth: {\n [vars.hostWidth]: refs.width,\n },\n};\n\nexport default uploadFile;\nexport { vars };\n","import { ButtonSelectionGroupItemClass } from '../../../components/button-selection-group-fields/descope-button-selection-group-item/ButtonSelectionGroupItemClass';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport globals from '../../globals';\n\nconst globalRefs = getThemeRefs(globals);\n\nexport const vars = ButtonSelectionGroupItemClass.cssVarList;\n\nconst buttonSelectionGroupItem = {\n [vars.hostDirection]: 'inherit',\n [vars.backgroundColor]: globalRefs.colors.surface.main,\n [vars.labelTextColor]: globalRefs.colors.surface.contrast,\n [vars.borderColor]: globalRefs.colors.surface.light,\n [vars.borderStyle]: 'solid',\n [vars.borderRadius]: globalRefs.radius.sm,\n [vars.outlineColor]: 'transparent',\n [vars.borderWidth]: globalRefs.border.xs,\n\n _hover: {\n [vars.backgroundColor]: globalRefs.colors.surface.highlight,\n },\n\n _focused: {\n [vars.outlineColor]: globalRefs.colors.surface.light,\n },\n\n _selected: {\n [vars.borderColor]: globalRefs.colors.surface.contrast,\n [vars.backgroundColor]: globalRefs.colors.surface.contrast,\n [vars.labelTextColor]: globalRefs.colors.surface.main,\n },\n};\n\nexport default buttonSelectionGroupItem;\n","import { getThemeRefs } from '../../../helpers/themeHelpers';\nimport globals from '../../globals';\nimport { refs } from '../inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\n\nexport const createBaseButtonSelectionGroupMappings = (vars) => ({\n [vars.hostDirection]: refs.direction,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.itemsSpacing]: globalRefs.spacing.sm,\n [vars.hostWidth]: refs.width,\n});\n","import { ButtonSelectionGroupClass } from '../../../components/button-selection-group-fields/descope-button-selection-group/ButtonSelectionGroupClass';\nimport { createBaseButtonSelectionGroupMappings } from './baseButtonSelectionGroup';\n\nconst vars = ButtonSelectionGroupClass.cssVarList;\n\nconst buttonSelectionGroup = {\n ...createBaseButtonSelectionGroupMappings(vars),\n};\n\nexport default buttonSelectionGroup;\nexport { vars };\n","import { ButtonMultiSelectionGroupClass } from '../../../components/button-selection-group-fields/descope-button-multi-selection-group/ButtonMultiSelectionGroupClass';\nimport { createBaseButtonSelectionGroupMappings } from './baseButtonSelectionGroup';\n\nconst vars = ButtonMultiSelectionGroupClass.cssVarList;\n\nconst buttonMultiSelectionGroup = {\n ...createBaseButtonSelectionGroupMappings(vars),\n};\n\nexport default buttonMultiSelectionGroup;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { ModalClass } from '../../components/descope-modal/ModalClass';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst compVars = ModalClass.cssVarList;\n\nconst modal = {\n [compVars.overlayBackgroundColor]: globalRefs.colors.surface.main,\n [compVars.overlayShadow]: globalRefs.shadow.wide['2xl'],\n [compVars.overlayWidth]: '540px',\n};\n\nexport default modal;\n\nexport const vars = {\n ...compVars,\n};\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { GridClass } from '../../components/descope-grid/GridClass';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = GridClass.cssVarList;\n\nexport const grid = {\n [vars.hostWidth]: '100%',\n [vars.hostHeight]: '100%',\n [vars.hostMinHeight]: '400px',\n [vars.fontWeight]: '400',\n [vars.backgroundColor]: globalRefs.colors.surface.main,\n\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n\n [vars.sortIndicatorsColor]: globalRefs.colors.surface.light,\n [vars.activeSortIndicator]: globalRefs.colors.surface.dark,\n [vars.resizeHandleColor]: globalRefs.colors.surface.light,\n\n [vars.borderWidth]: refs.borderWidth,\n [vars.borderStyle]: refs.borderStyle,\n [vars.borderRadius]: refs.borderRadius,\n [vars.borderColor]: 'transparent',\n\n [vars.headerRowTextColor]: globalRefs.colors.surface.dark,\n [vars.separatorColor]: globalRefs.colors.surface.light,\n\n [vars.valueTextColor]: globalRefs.colors.surface.contrast,\n [vars.selectedBackgroundColor]: globalRefs.colors.surface.highlight,\n [vars.hostDirection]: globalRefs.direction,\n\n [vars.toggleDetailsPanelButtonSize]: '1em',\n [vars.toggleDetailsPanelButtonOpenedColor]: globalRefs.colors.surface.contrast,\n [vars.toggleDetailsPanelButtonClosedColor]: globalRefs.colors.surface.light,\n [vars.toggleDetailsPanelButtonCursor]: 'pointer',\n [vars.detailsPanelBackgroundColor]: globalRefs.colors.surface.highlight,\n [vars.detailsPanelBorderTopColor]: globalRefs.colors.surface.light,\n [vars.detailsPanelLabelsColor]: globalRefs.colors.surface.dark,\n [vars.detailsPanelLabelsFontSize]: '0.8em',\n [vars.detailsPanelItemsGap]: '2em',\n [vars.detailsPanelPadding]: '12px 0',\n\n _bordered: {\n [vars.borderColor]: refs.borderColor,\n },\n};\n\nexport default grid;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { NotificationCardClass } from '../../components/descope-notification/descope-notification-card/NotificationCardClass';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = NotificationCardClass.cssVarList;\n\nconst shadowColor = '#00000020';\n\nconst notification = {\n [vars.hostMinWidth]: '415px',\n [vars.fontFamily]: globalRefs.fonts.font1.family,\n [vars.fontSize]: globalRefs.typography.body1.size,\n [vars.backgroundColor]: globalRefs.colors.surface.main,\n [vars.textColor]: globalRefs.colors.surface.contrast,\n [vars.boxShadow]: `${globalRefs.shadow.wide.xl} ${shadowColor}, ${globalRefs.shadow.narrow.xl} ${shadowColor}`,\n [vars.verticalPadding]: '0.625em',\n [vars.horizontalPadding]: '1.5em',\n [vars.borderRadius]: globalRefs.radius.xs,\n\n _bordered: {\n [vars.borderWidth]: globalRefs.border.sm,\n [vars.borderStyle]: 'solid',\n [vars.borderColor]: 'transparent',\n },\n\n size: {\n xs: { [vars.fontSize]: '12px' },\n sm: { [vars.fontSize]: '14px' },\n md: { [vars.fontSize]: '16px' },\n lg: { [vars.fontSize]: '18px' },\n },\n\n mode: {\n primary: {\n [vars.backgroundColor]: globalRefs.colors.primary.main,\n [vars.textColor]: globalRefs.colors.primary.contrast,\n [vars.borderColor]: globalRefs.colors.primary.light,\n },\n success: {\n [vars.backgroundColor]: globalRefs.colors.success.main,\n [vars.textColor]: globalRefs.colors.success.contrast,\n [vars.borderColor]: globalRefs.colors.success.light,\n },\n error: {\n [vars.backgroundColor]: globalRefs.colors.error.main,\n [vars.textColor]: globalRefs.colors.error.contrast,\n [vars.borderColor]: globalRefs.colors.error.light,\n },\n },\n};\n\nexport default notification;\nexport { vars };\n","import globals from '../globals';\nimport { MultiSelectComboBoxClass } from '../../components/descope-multi-select-combo-box/MultiSelectComboBoxClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = MultiSelectComboBoxClass.cssVarList;\n\nexport const multiSelectComboBox = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelFontSize]: refs.labelFontSize,\n [vars.labelFontWeight]: refs.labelFontWeight,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.inputBorderColor]: refs.borderColor,\n [vars.inputBorderWidth]: refs.borderWidth,\n [vars.inputBorderStyle]: refs.borderStyle,\n [vars.inputBorderRadius]: refs.borderRadius,\n [vars.inputOutlineColor]: refs.outlineColor,\n [vars.inputOutlineOffset]: refs.outlineOffset,\n [vars.inputOutlineWidth]: refs.outlineWidth,\n [vars.inputOutlineStyle]: refs.outlineStyle,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.inputValueTextColor]: refs.valueTextColor,\n [vars.inputPlaceholderTextColor]: refs.placeholderTextColor,\n [vars.inputBackgroundColor]: refs.backgroundColor,\n [vars.inputHorizontalPadding]: refs.horizontalPadding,\n [vars.inputVerticalPadding]: refs.verticalPadding,\n [vars.inputHeight]: refs.inputHeight,\n [vars.inputDropdownButtonColor]: globalRefs.colors.surface.dark,\n [vars.inputDropdownButtonCursor]: 'pointer',\n [vars.inputDropdownButtonSize]: refs.toggleButtonSize,\n [vars.inputDropdownButtonOffset]: globalRefs.spacing.xs,\n [vars.overlayItemPaddingInlineStart]: globalRefs.spacing.xs,\n [vars.overlayItemPaddingInlineEnd]: globalRefs.spacing.lg,\n [vars.chipFontSize]: refs.chipFontSize,\n [vars.chipTextColor]: globalRefs.colors.surface.contrast,\n [vars.chipBackgroundColor]: globalRefs.colors.surface.light,\n [vars.labelPosition]: refs.labelPosition,\n [vars.labelTopPosition]: refs.labelTopPosition,\n [vars.labelLeftPosition]: refs.labelLeftPosition,\n [vars.labelHorizontalPosition]: refs.labelHorizontalPosition,\n [vars.inputTransformY]: refs.inputTransformY,\n [vars.inputTransition]: refs.inputTransition,\n [vars.marginInlineStart]: refs.marginInlineStart,\n [vars.placeholderOpacity]: refs.placeholderOpacity,\n [vars.inputVerticalAlignment]: refs.inputVerticalAlignment,\n\n labelType: {\n floating: {\n [vars.inputHorizontalPadding]: '0.25em',\n _hasValue: {\n [vars.inputHorizontalPadding]: '0.45em',\n },\n },\n },\n\n _readonly: {\n [vars.inputDropdownButtonCursor]: 'default',\n },\n\n // Overlay theme exposed via the component:\n [vars.overlayFontSize]: refs.fontSize,\n [vars.overlayFontFamily]: refs.fontFamily,\n [vars.overlayCursor]: 'pointer',\n [vars.overlayItemBoxShadow]: 'none',\n [vars.overlayBackground]: refs.backgroundColor,\n [vars.overlayTextColor]: refs.valueTextColor,\n\n // Overlay direct theme:\n [vars.overlay.minHeight]: '400px',\n [vars.overlay.margin]: '0',\n};\n\nexport default multiSelectComboBox;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { BadgeClass } from '../../components/descope-badge/BadgeClass';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = BadgeClass.cssVarList;\n\nconst badge = {\n [vars.hostWidth]: 'fit-content',\n [vars.hostDirection]: globalRefs.direction,\n\n [vars.textAlign]: 'center',\n\n [vars.fontFamily]: globalRefs.fonts.font1.family,\n [vars.fontWeight]: '400',\n\n [vars.verticalPadding]: '0.25em',\n [vars.horizontalPadding]: '0.5em',\n\n [vars.borderWidth]: globalRefs.border.xs,\n [vars.borderRadius]: globalRefs.radius.xs,\n [vars.borderColor]: 'transparent',\n [vars.borderStyle]: 'solid',\n\n _fullWidth: {\n [vars.hostWidth]: '100%',\n },\n\n size: {\n xs: { [vars.fontSize]: '12px' },\n sm: { [vars.fontSize]: '14px' },\n md: { [vars.fontSize]: '16px' },\n lg: { [vars.fontSize]: '18px' },\n },\n\n mode: {\n default: {\n [vars.textColor]: globalRefs.colors.surface.dark,\n _bordered: {\n [vars.borderColor]: globalRefs.colors.surface.light,\n },\n },\n primary: {\n [vars.textColor]: globalRefs.colors.primary.main,\n _bordered: {\n [vars.borderColor]: globalRefs.colors.primary.light,\n },\n },\n secondary: {\n [vars.textColor]: globalRefs.colors.secondary.main,\n _bordered: {\n [vars.borderColor]: globalRefs.colors.secondary.light,\n },\n },\n error: {\n [vars.textColor]: globalRefs.colors.error.main,\n _bordered: {\n [vars.borderColor]: globalRefs.colors.error.light,\n },\n },\n success: {\n [vars.textColor]: globalRefs.colors.success.main,\n _bordered: {\n [vars.borderColor]: globalRefs.colors.success.light,\n },\n },\n },\n};\n\nexport default badge;\nexport { vars };\n","import globals from '../globals';\nimport { AvatarClass } from '../../components/descope-avatar/AvatarClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\nconst compVars = AvatarClass.cssVarList;\n\nconst avatar = {\n [compVars.hostDirection]: globalRefs.direction,\n [compVars.editableIconColor]: globalRefs.colors.surface.dark,\n [compVars.editableBorderColor]: globalRefs.colors.surface.dark,\n [compVars.editableBackgroundColor]: globalRefs.colors.surface.main,\n [compVars.avatarTextColor]: globalRefs.colors.surface.main,\n [compVars.avatarBackgroundColor]: globalRefs.colors.surface.dark,\n\n _editable: {\n [compVars.cursor]: 'pointer',\n },\n\n size: {\n xs: {\n [compVars.hostWidth]: '30px',\n [compVars.hostHeight]: '30px',\n },\n sm: {\n [compVars.hostWidth]: '40px',\n [compVars.hostHeight]: '40px',\n },\n md: {\n [compVars.hostWidth]: '60px',\n [compVars.hostHeight]: '60px',\n },\n lg: {\n [compVars.hostWidth]: '98px',\n [compVars.hostHeight]: '98px',\n },\n },\n};\n\nexport default avatar;\n\nexport const vars = {\n ...compVars,\n};\n","import globals from '../globals';\nimport { MappingsFieldClass } from '../../components/mapping-fields/descope-mappings-field/MappingsFieldClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = MappingsFieldClass.cssVarList;\n\nexport const mappingsField = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.separatorFontSize]: '14px',\n [vars.labelsFontSize]: '14px',\n [vars.labelsLineHeight]: '1',\n [vars.labelsMarginBottom]: '6px',\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.itemMarginBottom]: '1em',\n // To be positioned correctly, the min width has to match the text field min width\n [vars.valueLabelMinWidth]: refs.minWidth,\n // To be positioned correctly, the min width has to match the combo box field min width\n [vars.attrLabelMinWidth]: `calc(12em + 2 * ${globalRefs.border.xs})`,\n [vars.separatorWidth]: '70px',\n [vars.removeButtonWidth]: '60px',\n};\n\nexport default mappingsField;\nexport { vars };\n","import globals from '../globals';\nimport { UserAttributeClass } from '../../components/descope-user-attribute/UserAttributeClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\nexport const vars = UserAttributeClass.cssVarList;\n\nconst userAttribute = {\n [vars.hostDirection]: globalRefs.direction,\n [vars.labelTextWidth]: '150px',\n [vars.valueTextWidth]: '200px',\n [vars.badgeMaxWidth]: '85px',\n [vars.itemsGap]: '16px',\n [vars.hostMinWidth]: '530px',\n _fullWidth: {\n [vars.hostWidth]: '100%',\n },\n};\n\nexport default userAttribute;\n","import globals from '../globals';\nimport { UserAuthMethodClass } from '../../components/descope-user-auth-method/UserAuthMethodClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\nexport const vars = UserAuthMethodClass.cssVarList;\n\nconst userAuthMethod = {\n [vars.hostDirection]: globalRefs.direction,\n [vars.labelTextWidth]: '200px',\n [vars.itemsGap]: '16px',\n [vars.hostMinWidth]: '530px',\n [vars.iconSize]: '24px',\n _fullWidth: {\n [vars.hostWidth]: '100%',\n },\n};\n\nexport default userAuthMethod;\n","import { SamlGroupMappingsClass } from '../../components/mapping-fields/descope-saml-group-mappings/SamlGroupMappingsClass';\nimport { refs } from './inputWrapper';\n\nconst vars = SamlGroupMappingsClass.cssVarList;\n\nexport const samlGroupMappings = {\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.groupNameInputMarginBottom]: '1em',\n};\n\nexport default samlGroupMappings;\nexport { vars };\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { PolicyValidationClass } from '../../components/descope-policy-validation/PolicyValidationClass';\nimport { refs } from './inputWrapper';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = PolicyValidationClass.cssVarList;\n\nconst policyValidation = {\n [vars.fontFamily]: refs.fontFamily,\n [vars.fontSize]: refs.labelFontSize,\n [vars.textColor]: refs.labelTextColor,\n [vars.borderWidth]: refs.borderWidth,\n [vars.borderStyle]: refs.borderStyle,\n [vars.borderColor]: refs.borderColor,\n [vars.borderRadius]: globalRefs.radius.sm,\n [vars.backgroundColor]: 'none',\n [vars.padding]: '0px',\n [vars.labelMargin]: globalRefs.spacing.sm,\n [vars.itemsSpacing]: globalRefs.spacing.lg,\n [vars.itemSymbolDefault]: \"'\\\\2022'\", // \"•\"\n [vars.itemSymbolSuccess]: \"'\\\\2713'\", // \"✓\"\n [vars.itemSymbolError]: \"'\\\\2A09'\", // \"⨉\"\n [vars.itemSymbolSuccessColor]: globalRefs.colors.success.main,\n [vars.itemSymbolErrorColor]: globalRefs.colors.error.main,\n};\n\nexport default policyValidation;\nexport { vars };\n","import { IconClass } from '../../components/descope-icon/IconClass';\n\nexport const vars = IconClass.cssVarList;\n\nconst icon = {};\n\nexport default icon;\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport { CodeSnippetClass } from '../../components/descope-code-snippet/CodeSnippetClass';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = CodeSnippetClass.cssVarList;\n\nconst light = {\n color1: '#fa0',\n color2: '#d73a49',\n color3: '#6f42c1',\n color4: '#005cc5',\n color5: '#e36209',\n color6: '#6a737d',\n color7: '#22863a',\n color8: '#24292e',\n color9: '#735c0f',\n color10: '#f0fff4',\n color11: '#b31d28',\n color12: '#ffeef0',\n color13: '#032f62',\n};\n\nconst dark = {\n color1: '#c9d1d9',\n color2: '#ff7b72',\n color3: '#d2a8ff',\n color4: '#79c0ff',\n color5: '#ffa657',\n color6: '#8b949e',\n color7: '#7ee787',\n color8: '#c9d1d9',\n color9: '#735c0f',\n color10: '#f0fff4',\n color11: '#67060c',\n color12: '#ffeef0',\n color13: '#a5d6ff',\n};\n\nconst CodeSnippet = {\n [vars.rootBgColor]: globalRefs.colors.surface.main,\n [vars.rootTextColor]: globalRefs.colors.surface.contrast,\n [vars.docTagTextColor]: light.color2,\n [vars.keywordTextColor]: light.color2,\n [vars.metaKeywordTextColor]: light.color2,\n [vars.templateTagTextColor]: light.color2,\n [vars.templateVariableTextColor]: light.color2,\n [vars.typeTextColor]: light.color2,\n [vars.variableLanguageTextColor]: light.color2,\n [vars.titleTextColor]: light.color3,\n [vars.titleClassTextColor]: light.color3,\n [vars.titleClassInheritedTextColor]: light.color3,\n [vars.titleFunctionTextColor]: light.color3,\n [vars.attrTextColor]: light.color4,\n [vars.attributeTextColor]: light.color4,\n [vars.literalTextColor]: light.color4,\n [vars.metaTextColor]: light.color4,\n [vars.numberTextColor]: light.color4,\n [vars.operatorTextColor]: light.color4,\n [vars.variableTextColor]: light.color4,\n [vars.selectorAttrTextColor]: light.color4,\n [vars.selectorClassTextColor]: light.color4,\n [vars.selectorIdTextColor]: light.color4,\n [vars.regexpTextColor]: light.color13,\n [vars.stringTextColor]: light.color13,\n [vars.metaStringTextColor]: light.color13,\n [vars.builtInTextColor]: light.color5,\n [vars.symbolTextColor]: light.color5,\n [vars.commentTextColor]: light.color6,\n [vars.codeTextColor]: light.color6,\n [vars.formulaTextColor]: light.color6,\n [vars.nameTextColor]: light.color7,\n [vars.quoteTextColor]: light.color7,\n [vars.selectorTagTextColor]: light.color7,\n [vars.selectorPseudoTextColor]: light.color7,\n [vars.substTextColor]: light.color8,\n [vars.sectionTextColor]: light.color4,\n [vars.bulletTextColor]: light.color9,\n [vars.emphasisTextColor]: light.color8,\n [vars.strongTextColor]: light.color8,\n [vars.additionTextColor]: light.color7,\n [vars.additionBgColor]: light.color10,\n [vars.deletionTextColor]: light.color2,\n [vars.deletionBgColor]: light.color10,\n /* purposely ignored */\n // [vars.charEscapeTextColor]: '',\n // [vars.linkTextColor]: '',\n // [vars.paramsTextColor]: '',\n // [vars.propertyTextColor]: '',\n // [vars.punctuationTextColor]: '',\n // [vars.tagTextColor ]: '',\n};\n\nexport const codeSnippetDarkThemeOverrides = {\n codeSnippet: {\n [vars.rootBgColor]: globalRefs.colors.surface.main,\n [vars.rootTextColor]: globalRefs.colors.surface.contrast,\n [vars.docTagTextColor]: dark.color2,\n [vars.keywordTextColor]: dark.color2,\n [vars.metaKeywordTextColor]: dark.color2,\n [vars.templateTagTextColor]: dark.color2,\n [vars.templateVariableTextColor]: dark.color2,\n [vars.typeTextColor]: dark.color2,\n [vars.variableLanguageTextColor]: dark.color2,\n [vars.titleTextColor]: dark.color3,\n [vars.titleClassTextColor]: dark.color3,\n [vars.titleClassInheritedTextColor]: dark.color3,\n [vars.titleFunctionTextColor]: dark.color3,\n [vars.attrTextColor]: dark.color4,\n [vars.attributeTextColor]: dark.color4,\n [vars.literalTextColor]: dark.color4,\n [vars.metaTextColor]: dark.color4,\n [vars.numberTextColor]: dark.color4,\n [vars.operatorTextColor]: dark.color4,\n [vars.variableTextColor]: dark.color4,\n [vars.selectorAttrTextColor]: dark.color4,\n [vars.selectorClassTextColor]: dark.color4,\n [vars.selectorIdTextColor]: dark.color4,\n [vars.regexpTextColor]: dark.color13,\n [vars.stringTextColor]: dark.color13,\n [vars.metaStringTextColor]: dark.color13,\n [vars.builtInTextColor]: dark.color5,\n [vars.symbolTextColor]: dark.color5,\n [vars.commentTextColor]: dark.color6,\n [vars.codeTextColor]: dark.color6,\n [vars.formulaTextColor]: dark.color6,\n [vars.nameTextColor]: dark.color7,\n [vars.quoteTextColor]: dark.color7,\n [vars.selectorTagTextColor]: dark.color7,\n [vars.selectorPseudoTextColor]: dark.color7,\n [vars.substTextColor]: dark.color8,\n [vars.sectionTextColor]: dark.color4,\n [vars.bulletTextColor]: dark.color9,\n [vars.emphasisTextColor]: dark.color8,\n [vars.strongTextColor]: dark.color8,\n [vars.additionTextColor]: dark.color7,\n [vars.additionBgColor]: dark.color10,\n [vars.deletionTextColor]: dark.color2,\n [vars.deletionBgColor]: dark.color10,\n },\n};\n\nexport default CodeSnippet;\nexport { vars };\n","import { RadioGroupClass } from '../../../components/descope-radio-group/RadioGroupClass';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport globals from '../../globals';\nimport { refs } from '../inputWrapper';\n\nconst vars = RadioGroupClass.cssVarList;\nconst globalRefs = getThemeRefs(globals);\n\nexport const radioGroup = {\n [vars.buttonsRowGap]: '9px',\n [vars.hostWidth]: refs.width,\n [vars.hostDirection]: refs.direction,\n [vars.fontSize]: refs.fontSize,\n [vars.fontFamily]: refs.fontFamily,\n [vars.labelTextColor]: refs.labelTextColor,\n [vars.labelRequiredIndicator]: refs.requiredIndicator,\n [vars.errorMessageTextColor]: refs.errorMessageTextColor,\n [vars.helperTextColor]: refs.helperTextColor,\n [vars.itemsLabelColor]: globalRefs.colors.surface.contrast,\n\n textAlign: {\n right: { [vars.inputTextAlign]: 'right' },\n left: { [vars.inputTextAlign]: 'left' },\n center: { [vars.inputTextAlign]: 'center' },\n },\n\n _fullWidth: {\n [vars.buttonsSpacing]: 'space-between',\n },\n\n _disabled: {\n [vars.itemsLabelColor]: globalRefs.colors.surface.light,\n },\n};\n\nexport default radioGroup;\nexport { vars };\n","import { RadioButtonClass } from '../../../components/descope-radio-group/RadioButtonClass';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport globals from '../../globals';\nimport { refs } from '../inputWrapper';\n\nconst vars = RadioButtonClass.cssVarList;\nconst globalRefs = getThemeRefs(globals);\n\nexport const radioButton = {\n [vars.fontFamily]: refs.fontFamily,\n [vars.radioSize]: 'calc(1em + 6px)',\n [vars.radioMargin]: 'auto 4px',\n [vars.radioCheckedSize]: `calc(var(${vars.radioSize})/5)`,\n [vars.radioCheckedColor]: globalRefs.colors.surface.light,\n [vars.radioBackgroundColor]: globalRefs.colors.surface.light,\n [vars.radioBorderColor]: 'none',\n [vars.radioBorderWidth]: 0,\n\n _checked: {\n [vars.radioBackgroundColor]: globalRefs.colors.surface.contrast,\n },\n\n _hover: {\n cursor: 'pointer',\n },\n\n size: {\n xs: {\n [vars.fontSize]: '12px',\n },\n sm: {\n [vars.fontSize]: '14px',\n },\n md: {\n [vars.fontSize]: '16px',\n },\n lg: {\n [vars.fontSize]: '18px',\n },\n },\n};\n\nexport default radioButton;\nexport { vars };\n","import globals from '../../globals';\nimport { getThemeRefs, createHelperVars, useVar } from '../../../helpers/themeHelpers';\nimport { ListClass, componentName } from '../../../components/descope-list/ListClass';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst compVars = ListClass.cssVarList;\n\nconst [helperTheme, helperRefs, helperVars] = createHelperVars(\n { shadowColor: '#00000020' },\n componentName\n);\n\nconst { shadowColor } = helperRefs;\n\nconst list = {\n ...helperTheme,\n\n [compVars.hostWidth]: '100%',\n [compVars.backgroundColor]: globalRefs.colors.surface.main,\n [compVars.fontFamily]: globalRefs.fonts.font1.family,\n [compVars.borderColor]: globalRefs.colors.surface.light,\n [compVars.borderStyle]: 'solid',\n [compVars.borderWidth]: globalRefs.border.xs,\n [compVars.borderRadius]: globalRefs.radius.sm,\n [compVars.gap]: globalRefs.spacing.md,\n [compVars.verticalPadding]: globalRefs.spacing.lg,\n [compVars.horizontalPadding]: globalRefs.spacing.lg,\n [compVars.boxShadow]: `${globalRefs.shadow.wide.sm} ${shadowColor}, ${globalRefs.shadow.narrow.sm} ${shadowColor}`,\n [compVars.maxHeight]: '100%',\n [compVars.hostDirection]: globalRefs.direction,\n [compVars.minItemsWidth]: '150px',\n\n _empty: {\n [compVars.minHeight]: '150px',\n [compVars.emptyStateTextColor]: globalRefs.colors.surface.dark,\n [compVars.emptyStateTextFontFamily]: globalRefs.fonts.font1.family,\n },\n\n variant: {\n tiles: {\n [compVars.gridTemplateColumns]: `repeat(auto-fit, minmax(min(${useVar(\n compVars.minItemsWidth\n )}, 100%), 1fr))`,\n [compVars.maxItemsWidth]: '200px',\n [compVars.itemsHorizontalAlign]: 'center',\n },\n },\n};\n\nexport default list;\n\nexport const vars = {\n ...compVars,\n ...helperVars,\n};\n","import globals from '../../globals';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport { ListItemClass } from '../../../components/descope-list/ListItemClass';\n\nconst globalRefs = getThemeRefs(globals);\n\nexport const vars = ListItemClass.cssVarList;\n\nconst list = {\n [vars.backgroundColor]: globalRefs.colors.surface.main,\n [vars.padding]: globalRefs.spacing.lg,\n [vars.gap]: globalRefs.spacing.md,\n [vars.borderStyle]: 'solid',\n [vars.borderWidth]: globalRefs.border.xs,\n [vars.borderColor]: globalRefs.colors.surface.main,\n [vars.borderRadius]: globalRefs.radius.sm,\n [vars.cursor]: 'pointer',\n [vars.alignItems]: 'center',\n [vars.flexDirection]: 'row',\n [vars.transition]: 'border-color 0.2s, background-color 0.2s',\n\n variant: {\n tile: {\n [vars.alignItems]: 'flex-start',\n [vars.flexDirection]: 'column',\n [vars.borderColor]: globalRefs.colors.surface.light,\n },\n },\n\n _hover: {\n [vars.backgroundColor]: globalRefs.colors.surface.highlight,\n },\n\n _active: {\n [vars.backgroundColor]: globalRefs.colors.surface.main,\n [vars.borderColor]: globalRefs.colors.primary.light,\n [vars.outline]: `1px solid ${globalRefs.colors.primary.light}`,\n },\n};\n\nexport default list;\n","import { AppsListClass } from '../../components/descope-apps-list/AppsListClass';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport globals from '../globals';\n\nexport const vars = AppsListClass.cssVarList;\nconst globalRefs = getThemeRefs(globals);\n\nconst defaultHeight = '400px';\n\nconst appsList = {\n [vars.itemsFontWeight]: 'normal',\n [vars.itemsTextAlign]: 'start',\n [vars.hostDirection]: globalRefs.direction,\n [vars.maxHeight]: defaultHeight,\n\n _empty: {\n [vars.minHeight]: defaultHeight,\n },\n\n size: {\n xs: {\n [vars.itemsFontSize]: '14px',\n },\n sm: {\n [vars.itemsFontSize]: '14px',\n },\n md: {\n [vars.itemsFontSize]: '16px',\n },\n lg: {\n [vars.itemsFontSize]: '20px',\n },\n },\n};\n\nexport default appsList;\n","import * as button from './button';\nimport * as textField from './textField';\nimport * as password from './password';\nimport * as numberField from './numberField';\nimport * as emailField from './emailField';\nimport * as textArea from './textArea';\nimport * as checkbox from './checkbox';\nimport * as switchToggle from './switchToggle';\nimport * as container from './container';\nimport * as logo from './logo';\nimport * as totpImage from './totpImage';\nimport * as notpImage from './notpImage';\nimport * as text from './text';\nimport * as enrichedText from './enrichedText';\nimport * as link from './link';\nimport * as divider from './divider';\nimport * as passcode from './passcode';\nimport { loaderRadial, loaderLinear } from './loader';\nimport * as comboBox from './comboBox';\nimport * as image from './image';\nimport * as phoneField from './phoneField';\nimport * as phoneInputBoxField from './phoneInputBoxField';\nimport * as newPassword from './newPassword';\nimport * as inputWrapper from './inputWrapper';\nimport * as uploadFile from './uploadFile';\nimport * as buttonSelectionGroupItem from './buttonSelectionGroup/buttonSelectionGroupItem';\nimport * as buttonSelectionGroup from './buttonSelectionGroup/buttonSelectionGroup';\nimport * as buttonMultiSelectionGroup from './buttonSelectionGroup/buttonMultiSelectionGroup';\nimport * as modal from './modal';\nimport * as grid from './grid';\nimport * as notificationCard from './notificationCard';\nimport * as multiSelectComboBox from './multiSelectComboBox';\nimport * as badge from './badge';\nimport * as avatar from './avatar';\nimport * as mappingsField from './mappingsField';\nimport * as userAttribute from './userAttribute';\nimport * as userAuthMethod from './userAuthMethod';\nimport * as samlGroupMappings from './samlGroupMappings';\nimport * as policyValidation from './policyValidation';\nimport * as icon from './icon';\nimport * as codeSnippet from './codeSnippet';\nimport * as radioGroup from './radioGroup/radioGroup';\nimport * as radioButton from './radioGroup/radioButton';\nimport * as list from './list/list';\nimport * as listItem from './list/listItem';\nimport * as appsList from './appsList';\n\nconst components = {\n button,\n textField,\n password,\n numberField,\n emailField,\n textArea,\n checkbox,\n switchToggle,\n container,\n logo,\n totpImage,\n notpImage,\n text,\n enrichedText,\n link,\n divider,\n passcode,\n loaderRadial,\n loaderLinear,\n comboBox,\n image,\n phoneField,\n phoneInputBoxField,\n newPassword,\n inputWrapper,\n uploadFile,\n buttonSelectionGroupItem,\n buttonSelectionGroup,\n buttonMultiSelectionGroup,\n modal,\n grid,\n notificationCard,\n multiSelectComboBox,\n badge,\n avatar,\n mappingsField,\n userAttribute,\n userAuthMethod,\n samlGroupMappings,\n policyValidation,\n icon,\n codeSnippet,\n radioGroup,\n radioButton,\n list,\n listItem,\n appsList,\n};\n\nconst theme = Object.keys(components).reduce(\n (acc, comp) => ({ ...acc, [comp]: components[comp].default }),\n {}\n);\nconst vars = Object.keys(components).reduce(\n (acc, comp) => ({ ...acc, [comp]: components[comp].vars }),\n {}\n);\n\nexport default theme;\nexport { vars };\n","import globals, { vars as globalsVars } from './globals';\nimport components, { vars as componentsVars } from './components';\n\nexport const defaultTheme = { globals, components };\nexport const themeVars = { globals: globalsVars, components: componentsVars };\n","import merge from 'lodash.merge';\nimport { defaultTheme } from './theme';\nimport { codeSnippetDarkThemeOverrides } from './theme/components/codeSnippet';\n\nexport const colors = {\n surface: {\n main: '#181a1c',\n dark: '#bec4ca',\n light: '#555f68',\n highlight: '#22262a',\n contrast: '#f5f6f7',\n },\n primary: {\n main: '#1f80ff',\n dark: '#71aeff',\n light: '#004094',\n highlight: '#00214d',\n contrast: '#000000',\n },\n secondary: {\n main: '#a665eb',\n dark: '#b9a0f3',\n light: '#683ae6',\n highlight: '#361299',\n contrast: '#000000',\n },\n success: {\n main: '#27963c',\n dark: '#8bc3a2',\n light: '#004d0f',\n highlight: '#001f00',\n contrast: '#000000',\n },\n error: {\n main: '#f85249',\n dark: '#fa7c75',\n light: '#c51107',\n highlight: '#4a0603',\n contrast: '#000000',\n },\n};\n\nconst darkTheme = merge({}, defaultTheme, {\n globals: {\n colors,\n },\n components: {\n ...codeSnippetDarkThemeOverrides,\n },\n});\n\nexport default darkTheme;\n"],"names":["forwardProps","observedAttributes","componentName","host","label","forwardAttributes","BaseInputClass","descopeInternalComponentName","component","checkboxLabel","requiredIndicator","helperText","errorMessage","proxyInputMixin","BooleanFieldInternal","selectors","after","textVars","text","placeholder","inputField","customMixin","wrapper","link","internalWrapper","inputElement","textArea","BaseClass","toggle","clearButton","commonAttrs","mapAttrs","inputRelatedAttrs","PhoneFieldInternal","phoneInput","separator","PhoneFieldInternalInputBox","icon","title","CodeSnippet","avatar","buttons","badge","textWrapper","textField","childNodeName","groupComponentName","buttonComponentName","listComponentName","listItemComponentName","colors","vars","globalRefs","compVars","helperTheme","helperRefs","helperVars","theme","shadowColor","logo","textCompVars","linkCompVars","list","button","password","numberField","emailField","checkbox","switchToggle","container","enrichedText","divider","passcode","loaderRadial","loaderLinear","comboBox","image","phoneField","phoneInputBoxField","newPassword","uploadFile","buttonSelectionGroupItem","buttonSelectionGroup","buttonMultiSelectionGroup","modal","grid","multiSelectComboBox","mappingsField","userAttribute","userAuthMethod","samlGroupMappings","policyValidation","radioGroup","radioButton","appsList","components","globalsVars","componentsVars"],"mappings":"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"}