@descope/web-components-ui 1.0.68 → 1.0.69

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/baseClasses/createBaseClass.js","../src/mixins/createProxy.js","../src/helpers/mixinsHelpers.js","../src/mixins/inputValidationMixin.js","../src/mixins/proxyInputMixin.js","../src/mixins/componentNameValidationMixin.js","../src/mixins/hoverableMixin.js","../src/mixins/focusMixin.js","../src/mixins/portalMixin.js","../src/mixins/changeMixin.js","../src/components/descope-button/Button.js","../src/components/descope-button/index.js","../src/components/descope-checkbox/Checkbox.js","../src/components/descope-checkbox/index.js","../src/components/descope-loader-linear/LoaderLinear.js","../src/components/descope-loader-linear/index.js","../src/components/descope-loader-radial/LoaderRadial.js","../src/components/descope-loader-radial/index.js","../src/components/descope-container/Container.js","../src/components/descope-container/index.js","../src/components/descope-date-picker/index.js","../src/components/descope-divider/Divider.js","../src/components/descope-text/Text.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/EmailField.js","../src/components/descope-email-field/index.js","../src/components/descope-link/Link.js","../src/components/descope-link/index.js","../src/components/descope-logo/Logo.js","../src/components/descope-logo/index.js","../src/components/descope-number-field/NumberField.js","../src/components/descope-number-field/index.js","../src/baseClasses/BaseInputClass.js","../src/components/descope-passcode/descope-passcode-internal/helpers.js","../src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js","../src/components/descope-text-field/TextField.js","../src/components/descope-passcode/Passcode.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-field/PasswordField.js","../src/components/descope-password-field/index.js","../src/components/descope-switch-toggle/SwitchToggle.js","../src/components/descope-switch-toggle/index.js","../src/components/descope-text-area/TextArea.js","../src/components/descope-text-area/index.js","../src/helpers/themeHelpers/index.js","../src/helpers/themeHelpers/colorsHelpers.js","../src/theme/globals.js","../src/theme/components/button.js","../src/theme/components/textField.js","../src/theme/components/passwordField.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/text.js","../src/theme/components/link.js","../src/theme/components/divider.js","../src/theme/components/passcode.js","../src/theme/components/loader/loaderLinear.js","../src/theme/components/loader/loaderRadial.js","../src/components/descope-combo-box/ComboBox.js","../src/theme/components/comboBox.js","../src/theme/components/index.js","../src/theme/index.js"],"sourcesContent":["\nexport const kebabCase = (str) =>\n\tstr\n\t\t.replace(/([a-z])([A-Z])/g, '$1-$2')\n\t\t.replace(/[\\s_.]+/g, '-')\n\t\t.toLowerCase();\n\nexport const kebabCaseJoin = (...args) => kebabCase(args.filter((arg) => !!arg).join('-'));\n\nexport const compose = (...fns) =>\n\t(val) =>\n\t\tfns.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'","export const DESCOPE_PREFIX = 'descope';\nexport const CSS_SELECTOR_SPECIFIER_MULTIPLY = 3\nexport const BASE_THEME_SECTION = 'host'\nexport const PORTAL_THEME_PREFIX = '@'","import { kebabCaseJoin } from '.';\nimport { DESCOPE_PREFIX } from '../constants';\n\nexport const observeAttributes = (\n\tele,\n\tcallback,\n\t{ excludeAttrs = [], includeAttrs = [] }\n) => {\n\t// sync all attrs on init\n\tconst filteredAttrs = Array.from(ele.attributes)\n\t\t.filter((attr) =>\n\t\t\t!excludeAttrs.includes(attr.name) &&\n\t\t\t(!includeAttrs.length || includeAttrs.includes(attr.name))\n\t\t)\n\t\t.map((attr) => attr.name)\n\n\tcallback(filteredAttrs);\n\n\tconst observer = new MutationObserver((mutationsList) => {\n\t\tfor (const mutation of mutationsList) {\n\t\t\tif (\n\t\t\t\tmutation.type === 'attributes' &&\n\t\t\t\t!excludeAttrs.includes(mutation.attributeName) &&\n\t\t\t\t(!includeAttrs.length || includeAttrs.includes(mutation.attributeName))\n\t\t\t) {\n\t\t\t\tcallback([mutation.attributeName]);\n\t\t\t}\n\t\t}\n\t});\n\n\tobserver.observe(ele, { attributes: true });\n};\n\n// calling the callback with this object: { addedNodes, removedNodes }\nexport const observeChildren = (\n\tele,\n\tcallback,\n) => {\n\tcallback({ addedNodes: Array.from(ele.children), removedNodes: [] });\n\n\tconst observer = new MutationObserver((mutationsList) => {\n\t\tfor (const mutation of mutationsList) {\n\t\t\tif (mutation.type === 'childList') {\n\t\t\t\tcallback(mutation);\n\t\t\t}\n\t\t}\n\t});\n\n\tobserver.observe(ele, { childList: true });\n};\n\nconst createSyncAttrsCb =\n\t(srcEle, targetEle, mapAttrs = {}) =>\n\t\t(attrNames) => {\n\t\t\tattrNames.forEach((attrName) => {\n\t\t\t\tconst targetAttrName = mapAttrs[attrName] || attrName;\n\t\t\t\tconst srcAttrVal = srcEle.getAttribute(attrName);\n\t\t\t\tif (srcAttrVal !== null) {\n\t\t\t\t\tif (targetEle.getAttribute(targetAttrName) !== srcAttrVal) {\n\t\t\t\t\t\ttargetEle.setAttribute(targetAttrName, srcAttrVal);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttargetEle.removeAttribute(targetAttrName);\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\nexport const syncAttrs = (ele1, ele2, options) => {\n\tobserveAttributes(ele1, createSyncAttrsCb(ele1, ele2), options);\n\tobserveAttributes(ele2, createSyncAttrsCb(ele2, ele1), options);\n};\n\nexport const getComponentName = (name) => kebabCaseJoin(DESCOPE_PREFIX, name);\n\nexport const getCssVarName = (...args) =>\n\t`--${kebabCaseJoin(...args)}`;\n\nexport const forwardAttrs = (source, dest, options = {}) => {\n\tobserveAttributes(\n\t\tsource,\n\t\tcreateSyncAttrsCb(source, dest, options.mapAttrs),\n\t\toptions\n\t);\n};\n\nexport const forwardProps = (src, target, props = []) => {\n\tif (!props.length) return;\n\n\tconst config = props.reduce((acc, prop) => Object.assign(acc, {\n\t\t[prop]: {\n\t\t\tget() {\n\t\t\t\treturn target[prop]\n\t\t\t},\n\t\t\tset(v) {\n\t\t\t\ttarget[prop] = v\n\t\t\t}\n\t\t}\n\t}), {})\n\n\tObject.defineProperties(src, config)\n}\n","\nclass 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 () => { this.#callbacks.delete(cb); };\n };\n\n set themes(themes) {\n this.#themes = themes;\n this.#notify();\n }\n}\n\nexport const componentsThemeManager = new ComponentsThemeManager()\n","import { isFunction, kebabCase } from '../../helpers';\nimport { getCssVarName } from '../../helpers/componentHelpers';\n\nconst createCssVarFallback = (first, ...rest) =>\n\t`var(${first}${rest.length ? ` , ${createCssVarFallback(...rest)}` : ''})`;\n\nconst createCssSelector = (\n\tbaseSelector = '',\n\trelativeSelectorOrSelectorFn = ''\n) =>\n\tisFunction(relativeSelectorOrSelectorFn)\n\t\t? relativeSelectorOrSelectorFn(baseSelector)\n\t\t: `${baseSelector}${/^[A-Za-z]/.test(relativeSelectorOrSelectorFn)\n\t\t\t? ` ${relativeSelectorOrSelectorFn}`\n\t\t\t: relativeSelectorOrSelectorFn\n\t\t}`;\n\nclass StyleBuilder {\n\tconstructor() {\n\t\tthis.styleMap = new Map();\n\t}\n\n\tadd(selector, property, value) {\n\t\tif (!this.styleMap.has(selector)) {\n\t\t\tthis.styleMap.set(selector, []);\n\t\t}\n\n\t\tthis.styleMap.set(selector, [\n\t\t\t...this.styleMap.get(selector),\n\t\t\t{ property, value }\n\t\t]);\n\t}\n\n\ttoString() {\n\t\treturn Array.from(this.styleMap.entries()).reduce(\n\t\t\t(style, [selector, propValArr]) =>\n\t\t\t(style += `${selector} { \\n${propValArr\n\t\t\t\t.map(({ property, value }) => `${property}: ${value}`)\n\t\t\t\t.join(';\\n')} \\n}\\n\\n`),\n\t\t\t''\n\t\t);\n\t}\n}\n\nconst normalizeConfig = (attr, config) => {\n\tconst defaultMapping = { selector: '', property: kebabCase(attr) };\n\n\tif (!config || !Object.keys(config).length) return [defaultMapping];\n\n\tif (Array.isArray(config))\n\t\treturn config.map((entry) => Object.assign({}, defaultMapping, entry));\n\n\treturn [Object.assign({}, defaultMapping, config)];\n};\n\nexport const createStyle = (componentName, baseSelector, mappings) => {\n\tconst style = new StyleBuilder();\n\n\tObject.keys(mappings).forEach((attr) => {\n\t\tconst attrConfig = normalizeConfig(attr, mappings[attr]);\n\n\t\tconst cssVarName = getCssVarName(componentName, attr);\n\n\t\tattrConfig.forEach(\n\t\t\t({ selector: relativeSelectorOrSelectorFn, property }) => {\n\t\t\t\tstyle.add(\n\t\t\t\t\tcreateCssSelector(baseSelector, relativeSelectorOrSelectorFn),\n\t\t\t\t\tisFunction(property) ? property() : property,\n\t\t\t\t\tcreateCssVarFallback(cssVarName)\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t});\n\n\treturn style.toString();\n};\n\nexport const createCssVarsList = (componentName, mappings) =>\n\tObject.keys(mappings).reduce(\n\t\t(acc, attr) =>\n\t\t\tObject.assign(acc, { [attr]: getCssVarName(componentName, attr) }),\n\t\t{}\n\t);\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) => Array(numOfRepeats)\n\t.fill(`.${className}`)\n\t.join('')","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\n\nexport const createStyleMixin =\n\t({ mappings = {} }) => (superclass) =>\n\t\tclass CustomStyleMixinClass extends superclass {\n\t\t\tstatic get cssVarList() {\n\t\t\t\treturn {\n\t\t\t\t\t...superclass.cssVarList,\n\t\t\t\t\t...createCssVarsList(superclass.componentName, {\n\t\t\t\t\t\t...mappings,\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t#overrideStyleEle;\n\t\t\t#themeStyleEle;\n\t\t\t#disconnectThemeManager\n\t\t\t#componentNameSuffix\n\t\t\t#themeSection\n\t\t\t#rootElement\n\t\t\t#baseSelector\n\t\t\t#styleAttributes\n\n\t\t\t// we are using this mixin also for portalMixin\n\t\t\t// so we should be able to inject styles to other DOM elements\n\t\t\t// this is why we need to support these overrides\n\t\t\tconstructor({\n\t\t\t\tgetRootElement,\n\t\t\t\tcomponentNameSuffix = '',\n\t\t\t\tthemeSection = BASE_THEME_SECTION,\n\t\t\t\tbaseSelector\n\t\t\t} = {}) {\n\t\t\t\tsuper();\n\t\t\t\tthis.#componentNameSuffix = componentNameSuffix\n\t\t\t\tthis.#themeSection = themeSection\n\t\t\t\tthis.#rootElement = getRootElement?.(this) || this.shadowRoot\n\t\t\t\tthis.#baseSelector = baseSelector ?? this.baseSelector\n\n\t\t\t\tthis.#styleAttributes = Object.keys(mappings).map((key) =>\n\t\t\t\t\tkebabCaseJoin(STYLE_OVERRIDE_ATTR_PREFIX, componentNameSuffix, key)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tget componentTheme() {\n\t\t\t\treturn componentsThemeManager.currentTheme?.[superclass.componentName] || ''\n\t\t\t}\n\n\t\t\t#onComponentThemeChange() {\n\t\t\t\tthis.#themeStyleEle.innerHTML = this.componentTheme[this.#themeSection]\n\t\t\t}\n\n\t\t\t#createComponentTheme() {\n\t\t\t\tthis.#themeStyleEle = document.createElement('style');\n\t\t\t\tthis.#themeStyleEle.id = 'style-mixin-theme';\n\t\t\t\tthis.#rootElement.prepend(this.#themeStyleEle);\n\t\t\t\tthis.#disconnectThemeManager = componentsThemeManager.onCurrentThemeChange(this.#onComponentThemeChange.bind(this))\n\t\t\t\tthis.#onComponentThemeChange()\n\t\t\t}\n\n\t\t\t#createOverridesStyle() {\n\t\t\t\tthis.#overrideStyleEle = document.createElement('style');\n\t\t\t\tthis.#overrideStyleEle.id = 'style-mixin-overrides';\n\n\t\t\t\tconst classSpecifier = createClassSelectorSpecifier(superclass.componentName, CSS_SELECTOR_SPECIFIER_MULTIPLY);\n\n\t\t\t\tthis.#overrideStyleEle.innerText = `:host(${classSpecifier}) {}`;\n\t\t\t\tthis.#rootElement.append(this.#overrideStyleEle);\n\t\t\t}\n\n\t\t\t#setAttrOverride(attrName, value) {\n\t\t\t\tconst style = this.#overrideStyleEle?.sheet?.cssRules[0].style;\n\t\t\t\tif (!style) return;\n\n\t\t\t\tconst varName = getCssVarName(\n\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\tattrName.replace(new RegExp(`^${STYLE_OVERRIDE_ATTR_PREFIX}-`), '')\n\t\t\t\t);\n\n\t\t\t\tif (value) style?.setProperty(varName, value);\n\t\t\t\telse style?.removeProperty(varName);\n\t\t\t}\n\n\t\t\t#updateOverridesStyle(attrs = []) {\n\t\t\t\tfor (const attr of attrs) {\n\t\t\t\t\tif (this.#styleAttributes.includes(attr)) {\n\t\t\t\t\t\tthis.#setAttrOverride(attr, this.getAttribute(attr));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// we are rewriting the style back to the style tag\n\t\t\t\tthis.#overrideStyleEle.innerHTML = this.#overrideStyleEle?.sheet?.cssRules[0].cssText\n\t\t\t}\n\n\t\t\t#createMappingStyle() {\n\t\t\t\tconst themeStyle = document.createElement('style');\n\t\t\t\tthemeStyle.id = 'style-mixin-mappings'\n\t\t\t\tthemeStyle.innerHTML = createStyle(\n\t\t\t\t\tkebabCaseJoin(superclass.componentName, this.#componentNameSuffix),\n\t\t\t\t\tthis.#baseSelector,\n\t\t\t\t\tmappings\n\t\t\t\t);\n\t\t\t\tthis.#rootElement.prepend(themeStyle);\n\t\t\t}\n\n\t\t\t#addClassName(className) {\n\t\t\t\t(this.#rootElement.classList || this.#rootElement.host.classList).add(className)\n\t\t\t}\n\n\t\t\tconnectedCallback() {\n\t\t\t\tsuper.connectedCallback?.();\n\t\t\t\tif (this.shadowRoot.isConnected) {\n\n\t\t\t\t\tthis.#addClassName(superclass.componentName)\n\n\t\t\t\t\t// TODO: we should do everything we can on the constructor\n\t\t\t\t\t// when dragging & dropping these styles are created over & over\n\t\t\t\t\tthis.#createMappingStyle();\n\t\t\t\t\tthis.#createComponentTheme();\n\t\t\t\t\tthis.#createOverridesStyle();\n\n\t\t\t\t\t// this is instead attributeChangedCallback because we cannot use static methods in this case\n\t\t\t\t\tobserveAttributes(this, this.#updateOverridesStyle.bind(this), {})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdisconnectedCallback() {\n\t\t\t\tthis.#disconnectThemeManager?.();\n\t\t\t}\n\t\t};\n","export const draggableMixin = (superclass) =>\n\tclass DraggableMixinClass extends superclass {\n\t\t#styleEle = null;\n\n\t\tstatic get observedAttributes() {\n\t\t\tconst superAttrs = superclass.observedAttributes || [];\n\t\t\treturn [...superAttrs, 'draggable'];\n\t\t}\n\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\tthis.#styleEle = document.createElement('style');\n\t\t\tthis.#styleEle.innerText = `* { cursor: inherit!important }`;\n\t\t}\n\n\t\t#handleDraggableStyle(isDraggable) {\n\t\t\tif (isDraggable) {\n\t\t\t\tthis.shadowRoot.appendChild(this.#styleEle);\n\t\t\t} else {\n\t\t\t\tthis.#styleEle.remove();\n\t\t\t}\n\t\t}\n\n\t\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\t\tsuper.attributeChangedCallback?.(attrName, oldValue, newValue);\n\t\t\tif (attrName === 'draggable') {\n\t\t\t\tthis.#handleDraggableStyle(newValue === 'true');\n\t\t\t}\n\t\t}\n\t};\n","import { compose } from \"../helpers\";\nimport { componentNameValidationMixin, hoverableMixin } from \"../mixins\";\n\nexport const createBaseClass = ({ componentName, baseSelector = '' }) => {\n class DescopeBaseClass extends HTMLElement {\n static get componentName() {\n return componentName;\n }\n\n #baseElement;\n get baseSelector() {\n return baseSelector\n }\n\n get baseElement() {\n this.#baseElement ??= this.baseSelector ?\n this.rootElement.querySelector(this.baseSelector) :\n this;\n\n return this.#baseElement\n }\n\n get rootElement() {\n return this.shadowRoot || this\n }\n }\n\n return compose(componentNameValidationMixin, hoverableMixin)(DescopeBaseClass)\n}\n","import { createBaseClass } from '../baseClasses/createBaseClass';\nimport { isFunction } from '../helpers';\nimport { forwardProps, syncAttrs } from '../helpers/componentHelpers';\n\nexport const createProxy = ({\n\tcomponentName,\n\twrappedEleName,\n\tslots = [],\n\tstyle,\n\texcludeAttrsSync = [],\n\tincludeAttrsSync = [],\n\tincludeForwardProps = []\n}) => {\n\tconst template = `\n\t\t<style id=\"create-proxy\"></style>\n\t\t<${wrappedEleName}>\n\t\t<slot></slot>\n\t\t${slots.map((slot) => `<slot name=\"${slot}\" slot=\"${slot}\"></slot>`).join('')}\n\t\t</${wrappedEleName}>\n\t`;\n\n\tclass ProxyClass extends createBaseClass({ componentName, baseSelector: wrappedEleName }) {\n\t\tconstructor() {\n\t\t\tsuper().attachShadow({ mode: 'open' }).innerHTML = template;\n\t\t\tthis.hostElement = this.shadowRoot.host;\n\t\t\tthis.shadowRoot.getElementById('create-proxy').innerHTML =\n\t\t\t\tisFunction(style) ? style() : style;\n\t\t}\n\n\t\t#boundOnFocus = this.#onFocus.bind(this);\n\n\t\t// we want to focus on the proxy element when focusing our WCP\n\t\t#onFocus() {\n\t\t\tthis.proxyElement.focus();\n\t\t}\n\n\t\tfocus = this.#onFocus\n\n\t\tconnectedCallback() {\n\t\t\tif (this.shadowRoot.isConnected) {\n\t\t\t\tthis.proxyElement = this.shadowRoot.querySelector(wrappedEleName);\n\n\t\t\t\tthis.addEventListener('focus', this.#boundOnFocus);\n\n\t\t\t\t// this is needed for components that uses props, such as combo box\n\t\t\t\tforwardProps(this.hostElement, this.proxyElement, includeForwardProps)\n\n\t\t\t\t// `onkeydown` is set on `proxyElement` support proper tab-index navigation\n\t\t\t\t// this support is needed since both proxy host and element catch `focus`/`blur` event\n\t\t\t\t// which causes faulty behavior.\n\t\t\t\t// we need this to happen only when the proxy component is in the light DOM, \n\t\t\t\t// otherwise it will focus the nested proxy element\n\t\t\t\tthis.proxyElement.onkeydown = (e) => {\n\t\t\t\t\tif (e.shiftKey && e.keyCode === 9 && this.getRootNode() === document) {\n\t\t\t\t\t\tthis.removeAttribute('tabindex');\n\t\t\t\t\t\t// We want to defer the action of setting the tab index back\n\t\t\t\t\t\t// so it will happen after focusing the previous element\n\t\t\t\t\t\tsetTimeout(() => this.setAttribute('tabindex', '0'), 0);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tsyncAttrs(this.proxyElement, this.hostElement, {\n\t\t\t\t\texcludeAttrs: excludeAttrsSync,\n\t\t\t\t\tincludeAttrs: includeAttrsSync\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tattributeChangedCallback() {\n\t\t\tif (!this.proxyElement) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tsuper.disconnectedCallback?.()\n\n\t\t\tthis.removeEventListener('focus', this.#boundOnFocus);\n\t\t}\n\t}\n\n\treturn ProxyClass;\n};\n","// move create event to here\n\n// usage example:\n// #dispatchSomething = createDispatchEvent.bind(this, 'something')\nexport function createDispatchEvent(eventName) {\n this[`on${eventName}`]?.(); // in case we got an event callback as property\n this.dispatchEvent(new Event(eventName));\n}\n\n// usage example:\n// #removeChangeListener = createEventListener.call(this,'change', this.onChange)\nexport function createEventListener(event, callback) {\n const boundCallback = callback.bind(this);\n\n this.addEventListener(event, boundCallback);\n\n return () => this.removeEventListener(event, boundCallback)\n}\n","import { createDispatchEvent } from \"../helpers/mixinsHelpers\";\n\nconst observedAttributes = [\n 'required',\n 'pattern',\n]\n\nconst errorAttributes = {\n valueMissing: 'data-errormessage-value-missing',\n patternMismatch: 'data-errormessage-pattern-mismatch'\n}\nexport const inputValidationMixin = (superclass) => class InputValidationMixinClass extends superclass {\n static get observedAttributes() {\n return [\n ...superclass.observedAttributes || [],\n ...observedAttributes\n ];\n }\n\n static get formAssociated() {\n return true;\n }\n\n #dispatchValid = createDispatchEvent.bind(this, 'valid')\n #dispatchInvalid = createDispatchEvent.bind(this, 'invalid')\n\n #internals\n\n #boundedHandleInput\n\n constructor() {\n super();\n\n this.#internals = this.attachInternals();\n\n this.#boundedHandleInput = this.#handleInput.bind(this);\n }\n\n get defaultErrorMsgValueMissing() {\n return 'Please fill out this field.'\n }\n\n get defaultErrorMsgPatternMismatch() {\n return 'Please match the requested format.'\n }\n\n getErrorMessage(flags) {\n switch (true) {\n case flags.valueMissing:\n return this.getAttribute(errorAttributes.valueMissing) ||\n this.defaultErrorMsgValueMissing\n case flags.patternMismatch || flags.typeMismatch:\n return this.getAttribute(errorAttributes.patternMismatch) ||\n this.defaultErrorMsgPatternMismatch\n case flags.customError:\n return this.validationMessage\n default:\n return ''\n }\n }\n\n setValidity() {\n const validity = this.getValidity()\n this.#internals.setValidity(validity, this.getErrorMessage(validity))\n }\n\n get validationMessage() {\n return this.#internals.validationMessage;\n }\n\n getValidity() {\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 setCustomValidity(errorMessage) {\n if (errorMessage) {\n this.#internals.setValidity({ customError: true }, errorMessage)\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 pattern() {\n return this.getAttribute('pattern')\n }\n\n #handleInput() {\n this.setValidity()\n this.handleDispatchValidationEvents()\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 handleDispatchValidationEvents() {\n if (this.checkValidity()) {\n this.#dispatchValid()\n } else {\n this.#dispatchInvalid()\n }\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n this.addEventListener('input', this.#boundedHandleInput)\n\n this.setValidity();\n this.handleDispatchValidationEvents();\n }\n\n disconnectedCallback() {\n this.removeEventListener('input', this.#boundedHandleInput)\n }\n}\n","import { inputValidationMixin } from \"./inputValidationMixin\";\n\nconst errorAttrs = ['invalid', 'has-error-message'];\n\nconst propertyObserver = (src, target, property) => {\n\tObject.defineProperty(src, property, {\n\t\tset: function (v) {\n\t\t\treturn (target[property] = v);\n\t\t},\n\t\tget: function () {\n\t\t\treturn target[property];\n\t\t},\n\t\tconfigurable: true\n\t});\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\tif (!ele) return;\n\n\tconst nestingLevel = 10\n\n\tlet nonSlotEle = ele\n\tfor (let i = 0; i < nestingLevel; i++) {\n\t\tnonSlotEle = nonSlotEle.assignedElements()[0]\n\t\tif (nonSlotEle.localName !== 'slot') return nonSlotEle\n\t}\n}\n\nexport const proxyInputMixin = (superclass) =>\n\tclass proxyInputMixinClass extends inputValidationMixin(superclass) {\n\t\tstatic get observedAttributes() {\n\t\t\treturn [...superclass.observedAttributes || [], ...errorAttrs];\n\t\t}\n\n\t\t#inputElement\n\n\t\t#boundHandleFocus\n\t\t#boundHandleInvalid\n\t\t#boundHandleValid\n\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\tthis.#inputElement = super.inputElement\n\n\t\t\tthis.#boundHandleFocus = this.#handleFocus.bind(this);\n\t\t\tthis.#boundHandleInvalid = this.#handleInvalid.bind(this);\n\t\t\tthis.#boundHandleValid = this.#handleValid.bind(this);\n\n\t\t\tthis.baseEle = this.shadowRoot.querySelector(this.baseSelector);\n\n\t\t}\n\n\t\tget inputElement() {\n\t\t\tconst inputSlot = this.baseEle.shadowRoot.querySelector('slot[name=\"input\"]')\n\t\t\tconst textAreaSlot = this.baseEle.shadowRoot.querySelector('slot[name=\"textarea\"]')\n\n\t\t\tthis.#inputElement ??= getNestedInput(inputSlot) || getNestedInput(textAreaSlot)\n\n\t\t\tif (!this.#inputElement) throw Error('no input was found');\n\n\t\t\treturn this.#inputElement\n\t\t}\n\n\t\tset inputElement(ele) {\n\t\t\tthis.#inputElement = ele\n\t\t}\n\n\t\tgetValidity() {\n\t\t\treturn this.inputElement.validity\n\t\t}\n\n\t\treportValidityOnInternalInput() {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.baseEle.focus() //TODO: check if this is needed\n\t\t\t\tthis.inputElement.reportValidity()\n\t\t\t})\n\t\t}\n\n\t\t// we want reportValidity to behave like form submission\n\t\treportValidity() {\n\t\t\tif (!isValid) {\n\t\t\t\tthis.setAttribute('invalid', 'true');\n\t\t\t\tthis.reportValidityOnInternalInput()\n\t\t\t}\n\t\t}\n\n\t\tsetInternalInputErrorMessage() {\n\t\t\tif (!this.checkValidity()) {\n\t\t\t\tthis.inputElement.setCustomValidity(this.validationMessage)\n\t\t\t}\n\t\t}\n\n\t\t// when clicking on the form submit button and the input is invalid\n\t\t// we want it to appear as invalid\n\t\t#handleFocus(e) {\n\t\t\tif (e.relatedTarget?.form) {\n\t\t\t\tif (!this.checkValidity()) {\n\t\t\t\t\tthis.setAttribute('invalid', 'true');\n\t\t\t\t}\n\n\t\t\t\tif (this.hasAttribute('invalid')) {\n\t\t\t\t\tthis.reportValidityOnInternalInput()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t#handleInvalid() {\n\t\t\tthis.setInternalInputErrorMessage()\n\t\t\tthis.setAttribute('error-message', this.validationMessage)\n\t\t}\n\n\t\t#handleValid() {\n\t\t\tthis.removeAttribute('invalid')\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tsuper.connectedCallback?.();\n\n\t\t\t// this is our way to identify that the form was submitted\n\t\t\t// in this case, we want the input to be in error state if it's not valid\n\t\t\tthis.addEventListener('focus', this.#boundHandleFocus)\n\n\t\t\tthis.addEventListener('invalid', this.#boundHandleInvalid)\n\t\t\tthis.addEventListener('valid', this.#boundHandleValid)\n\n\t\t\tthis.addEventListener('input', () => {\n\t\t\t\tthis.inputElement.setCustomValidity('')\n\t\t\t\tif (!this.inputElement.checkValidity())\n\t\t\t\t\tthis.setInternalInputErrorMessage()\n\t\t\t})\n\n\t\t\t// this is needed in order to make sure the form input validation is working\n\t\t\tif (!this.hasAttribute('tabindex') && this.getRootNode() === document) {\n\t\t\t\tthis.setAttribute('tabindex', 0);\n\t\t\t}\n\n\t\t\t// sync properties\n\t\t\tpropertyObserver(this, this.inputElement, 'value');\n\t\t\tthis.setSelectionRange = this.inputElement.setSelectionRange?.bind(this.inputElement);\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tthis.removeEventListener('focus', this.#boundHandleFocus)\n\t\t\tthis.removeEventListener('invalid', this.#boundHandleInvalid)\n\t\t\tthis.removeEventListener('valid', this.#boundHandleValid)\n\t\t}\n\n\t\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\t\tsuper.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n\t\t\tif (attrName === 'invalid' && newValue === '') {\n\t\t\t\tthis.setAttribute('invalid', 'true')\n\t\t\t}\n\t\t}\n\t};\n","export const componentNameValidationMixin = (superclass) =>\n\tclass ComponentNameValidationMixinClass extends superclass {\n\t\t#checkComponentName() {\n\t\t\tconst currentComponentName = this.shadowRoot.host.tagName.toLowerCase();\n\n\t\t\tif (!superclass.componentName) {\n\t\t\t\tthrow Error(\n\t\t\t\t\t`component name is not defined on super class, make sure you have a static get for \"componentName\"`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (currentComponentName !== superclass.componentName) {\n\t\t\t\tthrow Error(\n\t\t\t\t\t`component name mismatch, expected \"${superclass.componentName}\", current \"${currentComponentName}\"`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tsuper.connectedCallback?.();\n\t\t\tif (this.shadowRoot.isConnected) {\n\t\t\t\tthis.#checkComponentName();\n\t\t\t}\n\t\t}\n\t};\n","export const hoverableMixin =\n\t(superclass) =>\n\t\tclass HoverableMixinClass extends superclass {\n\t\t\t#boundOnMouseOver = this.#onMouseOver.bind(this)\n\n\t\t\t#onMouseOver(e) {\n\t\t\t\tthis.setAttribute('hover', 'true');\n\t\t\t\te.target.addEventListener(\n\t\t\t\t\t'mouseleave',\n\t\t\t\t\t() => this.shadowRoot.host.removeAttribute('hover'),\n\t\t\t\t\t{ once: true }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconnectedCallback() {\n\t\t\t\tsuper.connectedCallback?.();\n\n\t\t\t\tconst baseElement = this.shadowRoot.querySelector(\n\t\t\t\t\tthis.baseSelector\n\t\t\t\t);\n\n\t\t\t\tbaseElement.addEventListener('mouseover', this.#boundOnMouseOver);\n\t\t\t}\n\t\t};\n","import { upperFirst } from \"../helpers\";\n\nconst events = [\n 'blur',\n 'focus',\n 'focusin',\n 'focusout',\n]\n\nexport const focusMixin = (superclass) => class FocusMixinClass extends superclass {\n #isFocused = false\n #setFocusTimer\n\n #boundedHandleFocus\n #boundedHandleBlur\n #boundedHandleFocusIn\n #boundedHandleFocusOut\n\n constructor() {\n super();\n\n for (const event of events) {\n this[`dispatch${upperFirst(event)}`] = function () {\n this.dispatchInputEvent(event)\n }\n }\n\n this.#boundedHandleFocus = this.#handleFocus.bind(this);\n this.#boundedHandleBlur = this.#handleBlur.bind(this);\n this.#boundedHandleFocusIn = this.#handleFocusIn.bind(this);\n this.#boundedHandleFocusOut = this.#handleFocusOut.bind(this);\n }\n\n #handleFocus(e) {\n if (this.isReadOnly) {\n e.stopPropagation()\n return\n }\n // we want to listen only to browser events \n // and not to events we are dispatching\n if (e.isTrusted) { // TODO: check if this is needed, because Vaadin is also dispatching events\n // we want to control the focus events that dispatched by the component\n // so we are stopping propagation and handling it in setFocus\n e.stopPropagation()\n this.setFocus(true)\n\n // if the focus event is on the root component (and not on the inner components)\n // we want to notify the component and let it decide what to do with it\n if (e.target === this) {\n this.onFocus(e)\n }\n }\n }\n\n #handleFocusOut(e) {\n // we want to listen only to browser events \n // and not to events we are dispatching\n if (e.isTrusted) {\n // we want to control the focus events that dispatched by the component\n // so we are stopping propagation and handling it in setFocus\n e.stopPropagation()\n }\n }\n\n #handleFocusIn(e) {\n // we want to listen only to browser events \n // and not to events we are dispatching\n if (e.isTrusted) {\n // we want to control the focus events that dispatched by the component\n // so we are stopping propagation and handling it in setFocus\n e.stopPropagation()\n }\n }\n\n #handleBlur(e) {\n if (e.isTrusted) {\n e.stopPropagation()\n this.setFocus(false)\n }\n }\n\n get isReadOnly() {\n return this.hasAttribute('readonly') && this.getAttribute('readonly') !== 'false'\n }\n\n // we want to debounce the calls to this fn\n // so we can support input like components with multiple inputs inside\n setFocus(isFocused) {\n clearTimeout(this.#setFocusTimer)\n\n this.#setFocusTimer = setTimeout(() => {\n if (this.#isFocused !== isFocused) {\n this.#isFocused = isFocused\n if (isFocused) {\n this.dispatchFocus();\n this.dispatchFocusin();\n }\n else {\n this.dispatchBlur()\n this.dispatchFocusout();\n }\n }\n })\n }\n\n onFocus() {\n console.warn('onFocus', 'is not implemented')\n }\n\n dispatchInputEvent(eventName) {\n this[`on${eventName}`]?.(); // in case we got an event callback as property\n this.dispatchEvent(new InputEvent(eventName));\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n this.addEventListener('focus', this.#boundedHandleFocus, true)\n this.addEventListener('blur', this.#boundedHandleBlur, true)\n this.addEventListener('focusin', this.#boundedHandleFocusIn)\n this.addEventListener('focusout', this.#boundedHandleFocusOut)\n }\n\n disconnectedCallback() {\n this.removeEventListener('focus', this.#boundedHandleFocus)\n this.removeEventListener('blur', this.#boundedHandleBlur)\n this.removeEventListener('focusin', this.#boundedHandleFocusIn)\n this.removeEventListener('focusout', this.#boundedHandleFocusOut)\n }\n}\n","import { PORTAL_THEME_PREFIX } from \"../constants\";\nimport { upperFirst } from \"../helpers\";\nimport { forwardAttrs } from \"../helpers/componentHelpers\";\nimport { createStyleMixin } from \"./createStyleMixin\";\nimport { createCssVarsList } from \"./createStyleMixin/helpers\";\n\nconst sanitizeSelector = (selector) => selector.replace(/[^\\w\\s]/gi, '');\n\nconst appendSuffixToKeys = (obj, suffix) => Object.keys(obj).reduce((acc, key) =>\n Object.assign(acc, { [suffix + upperFirst(key)]: obj[key] }), {})\n\nconst getDomNode = (maybeDomNode) => maybeDomNode.host || maybeDomNode;\n\nexport const portalMixin = ({ name, selector, mappings = {} }) => (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 ...createCssVarsList(superclass.componentName, appendSuffixToKeys(mappings, eleDisplayName))\n };\n }\n\n #portalEle\n\n constructor() {\n // we cannot use \"this\" before calling \"super\"\n const getRootElement = (that) => {\n const baseEle = that.shadowRoot.querySelector(that.baseSelector)\n const portal = baseEle.shadowRoot.querySelector(selector)\n\n return portal.shadowRoot || portal\n };\n\n super({\n getRootElement,\n componentNameSuffix: eleDisplayName,\n themeSection: PORTAL_THEME_PREFIX + eleDisplayName,\n baseSelector: ':host'\n })\n\n this.#portalEle = getDomNode(getRootElement(this))\n }\n\n #handleHoverAttribute() {\n this.#portalEle.onmouseenter = (e) => { e.target.setAttribute('hover', 'true') }\n this.#portalEle.onmouseleave = (e) => { e.target.removeAttribute('hover') }\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n forwardAttrs(this, this.#portalEle, { excludeAttrs: ['hover'] })\n\n this.#handleHoverAttribute();\n }\n }\n}","import { createDispatchEvent } from \"../helpers/mixinsHelpers\";\n\nexport const changeMixin = (superclass) => class ChangeMixinClass extends superclass {\n\n #boundedHandleChange\n #boundedHandleBlur \n \n #removeChangeListener\n #removeBlurListener\n\n #dispatchChange = createDispatchEvent.bind(this, 'change')\n\n constructor() {\n super();\n\n this.#boundedHandleChange = this.#handleChange.bind(this);\n this.#boundedHandleBlur = this.#handleBlur.bind(this);\n }\n\n #handleChange(e) {\n // we want to listen only to browser events \n // and not to events we are dispatching\n if (e.isTrusted) {\n // we want to control the change events that dispatched by the component\n // so we are stopping propagation and handling it in handleBlur\n e.stopPropagation()\n }\n }\n\n #handleBlur() {\n // on blur, we want to dispatch a change event\n this.#dispatchChange()\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n this.#removeChangeListener = addEventListener.bind()\n this.addEventListener('change', this.#boundedHandleChange, true)\n this.addEventListener('blur', this.#boundedHandleBlur)\n }\n\n disconnectedCallback() {\n this.removeEventListener('change', this.#boundedHandleChange)\n this.removeEventListener('blur', this.#boundedHandleBlur)\n }\n}\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tcomponentNameValidationMixin\n} from '../../mixins';\n\nexport const componentName = getComponentName('button');\n\nconst editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;\nconst resetStyles = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\tvaadin-button { margin: 0; }\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n`;\nconst iconStyles = `\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tgap: 5px;\n\t}\n`;\n\nlet overrides = ``;\n\nconst { label, host } = {\n\tlabel: { selector: '::part(label)' },\n\thost: { selector: () => ':host' }\n};\n\nconst Button = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tbackgroundColor: {},\n\t\t\tborderRadius: {},\n\t\t\tcolor: label,\n\t\t\tborderColor: {},\n\t\t\tborderStyle: {},\n\t\t\tborderWidth: {},\n\t\t\tfontSize: {},\n\t\t\theight: {},\n\t\t\twidth: host,\n\t\t\tcursor: {},\n\t\t\tpadding: label,\n\t\t\ttextDecoration: label\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: ['prefix', 'label', 'suffix'],\n\t\twrappedEleName: 'vaadin-button',\n\t\tstyle: () =>\n\t\t\t`${resetStyles} ${editorOverrides} ${iconStyles} ${loadingIndicatorStyles}`,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\nconst loadingIndicatorStyles = `\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\t--marginRatio: 1.35;\n\t\tcolor: var(${Button.cssVarList.color});\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\ttop: calc(50% - calc((var(${Button.cssVarList.height}) / var(--marginRatio)) / 2));\n\t\tleft: calc(50% - calc((var(${Button.cssVarList.height}) / var(--marginRatio)) / 2));\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-width: calc(var(${Button.cssVarList.height}) / 12);\n\t\tborder-style: solid;\n\t\twidth: calc(var(${Button.cssVarList.height}) / var(--marginRatio));\n\t\theight: calc(var(${Button.cssVarList.height}) / var(--marginRatio));\n\t}\n\t:host([loading=\"true\"])::part(prefix),\n\t:host([loading=\"true\"])::part(label) {\n\t\tvisibility: hidden;\n\t}\n\n\tvaadin-button {\n\t\twidth: 100%;\n\t}\n`;\n\nexport default Button;\n","import '@vaadin/button';\nimport Button, { componentName } from './Button';\n\ncustomElements.define(componentName, Button);\n\nexport { Button };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin,\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('checkbox');\n\nconst Checkbox = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\twidth: { selector: () => ':host' },\n\t\t\tcursor: [{}, { selector: '> label' }]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: [],\n\t\twrappedEleName: 'vaadin-checkbox',\n\t\tstyle: `\n\t\t:host {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t\n\t\tvaadin-checkbox {\n\t\t\twidth: 100%;\n\t\t}\n\t\t`,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\nexport default Checkbox;\n","import '@vaadin/checkbox';\nimport Checkbox, { componentName } from './Checkbox';\n\ncustomElements.define(componentName, Checkbox);\n\nexport { Checkbox };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n} 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\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.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: inline-block\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\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\t}\n}\n\nconst selectors = {\n\troot: {},\n\tafter: { selector: '::after' },\n\thost: { selector: () => ':host' }\n};\n\nconst { root, after, host } = selectors;\n\nconst LoaderLinear = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tdisplay: root,\n\t\t\twidth: host,\n\t\t\theight: [root, after],\n\t\t\tborderRadius: [root, after],\n\t\t\tsurfaceColor: [{ property: 'background-color' }],\n\t\t\tbarColor: [{ ...after, property: 'background-color' }],\n\t\t\tbarWidth: { ...after, property: 'width' },\n\t\t\tanimationDuration: [root, after],\n\t\t\tanimationTimingFunction: [root, after],\n\t\t\tanimationIterationCount: [root, after]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawLoaderLinear);\n\nexport default LoaderLinear;\n","import LoaderLinear, { componentName } from './LoaderLinear';\n\ncustomElements.define(componentName, LoaderLinear);\n\nexport { LoaderLinear };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n} 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\tconstructor() {\n\t\tsuper();\n\n\t\tthis.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\t}\n}\n\nconst LoaderRadial = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tdisplay: {},\n\t\t\twidth: {},\n\t\t\theight: {},\n\t\t\tspinnerWidth: { property: 'border-width' },\n\t\t\tspinnerStyle: { property: 'border-style' },\n\t\t\tspinnerRadius: { property: 'border-radius' },\n\t\t\tspinnerTopColor: { property: 'border-top-color' },\n\t\t\tspinnerBottomColor: { property: 'border-bottom-color' },\n\t\t\tspinnerRightColor: { property: 'border-right-color' },\n\t\t\tspinnerLeftColor: { property: 'border-left-color' },\n\t\t\tcolor: {},\n\t\t\tanimationDuration: {},\n\t\t\tanimationTimingFunction: {},\n\t\t\tanimationIterationCount: {}\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawLoaderRadial);\n\nexport default LoaderRadial;\n","import LoaderRadial, { componentName } from './LoaderRadial';\n\ncustomElements.define(componentName, LoaderRadial);\n\nexport { LoaderRadial };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n} 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: ':host > slot'}) {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.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\t}\n}\n\nconst Container = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\theight: { selector: () => ':host' },\n\t\t\twidth: { selector: () => ':host' },\n\n\t\t\tverticalPadding: [\n\t\t\t\t{ property: 'padding-top' },\n\t\t\t\t{ property: 'padding-bottom' }\n\t\t\t],\n\t\t\thorizontalPadding: [\n\t\t\t\t{ property: 'padding-left' },\n\t\t\t\t{ property: 'padding-right' }\n\t\t\t],\n\n\t\t\tflexDirection: {},\n\t\t\tjustifyContent: {},\n\t\t\talignItems: {},\n\t\t\tgap: {},\n\n\t\t\tbackgroundColor: {},\n\t\t\tborderRadius: {},\n\n\t\t\tborderColor: {},\n\t\t\tborderStyle: {},\n\t\t\tborderWidth: {},\n\n\t\t\tboxShadow: {}\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawContainer);\n\nexport default Container;\n","import Container, { componentName } from './Container';\n\ncustomElements.define(componentName, Container);\n\nexport { Container };\n","import '@vaadin/date-picker';\nimport {\n\tdraggableMixin,\n\tcreateProxy,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nconst componentName = getComponentName('date-picker');\n\nconst DatePicker = compose(\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tcomponentName,\n\t\tslots: ['prefix', 'suffix'],\n\t\twrappedEleName: 'vaadin-date-picker',\n\t\tstyle: ``\n\t})\n);\n\ncustomElements.define(componentName, DatePicker);\n\nexport { DatePicker };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('divider');\nclass RawDivider extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t:host > div {\n\t\t\t\tdisplay: flex;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t:host > div::before,\n\t\t\t:host > div::after {\n\t\t\t\tcontent: '';\n\t\t\t\tflex-grow: 1;\n\t\t\t}\n\n\t\t\tdescope-text {\n\t\t\t\tflex-grow: 0;\n\t\t\t\tflex-shrink: 0;\n\t\t\t}\n\n\t\t\t:host(:empty) descope-text {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t:host([vertical=\"true\"]) div {\n\t\t\t\twidth: fit-content;\n\t\t\t}\n\n\t\t</style>\n\t\t<div>\n\t\t\t<descope-text>\n\t\t\t\t<slot></slot>\n\t\t\t</descope-text>\n\t\t</div>\n\t`;\n\n\t\tthis.textComponent = this.shadowRoot.querySelector('descope-text');\n\n\t\tforwardAttrs(this, this.textComponent, {\n\t\t\tincludeAttrs: ['mode', 'variant', 'italic']\n\t\t})\n\t}\n}\n\nconst selectors = {\n\troot: { selector: '' },\n\tbefore: { selector: '::before' },\n\tafter: { selector: '::after' },\n\ttext: { selector: 'descope-text' },\n\thost: { selector: () => ':host' },\n};\n\nconst { root, before, after, text, host } = selectors;\n\nconst Divider = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tmaxTextWidth: { ...text, property: 'max-width' },\n\t\t\tminHeight: root,\n\t\t\talignItems: root,\n\t\t\talignSelf: root,\n\t\t\tflexDirection: root,\n\t\t\ttextPadding: { ...text, property: 'padding' },\n\t\t\twidth: host,\n\t\t\tpadding: host,\n\t\t\tbackgroundColor: [before, after],\n\t\t\topacity: [before, after],\n\t\t\ttextWidth: { ...text, property: 'width' },\n\t\t\tdividerHeight: [{ ...before, property: 'height' }, { ...after, property: 'height' }],\n\t\t\tdividerWidth: [{ ...before, property: 'width' }, { ...after, property: 'width' }]\n\t\t},\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawDivider);\n\nexport default Divider;\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({ componentName, baseSelector: ':host > slot' }) {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t\t:host > slot {\n\t\t\t\twidth: 100%;\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t</style>\n\t\t<slot></slot>\n\t\t`;\n\t}\n}\n\nconst Text = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tfontFamily: {},\n\t\t\tlineHeight: {},\n\t\t\tfontStyle: {},\n\t\t\tfontSize: {},\n\t\t\tfontWeight: {},\n\t\t\twidth: { selector: () => ':host' },\n\t\t\tcolor: {},\n\t\t\tletterSpacing: {},\n\t\t\ttextShadow: {},\n\t\t\tborderWidth: {},\n\t\t\tborderStyle: {},\n\t\t\tborderColor: {},\n\t\t\ttextTransform: {},\n\t\t\ttextAlign: {},\n\t\t},\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawText);\n\nexport default Text;\n","import Text, { componentName } from './Text';\n\ncustomElements.define(componentName, Text);\nexport { Text };\n","import Divider, { componentName } from './Divider';\nimport '../descope-text';\n\ncustomElements.define(componentName, Divider);\n\nexport { Divider };\n","const selectors = {\n\tlabel: '::part(label)',\n\tinput: '::part(input-field)',\n\treadOnlyInput: '[readonly]::part(input-field)::after',\n\tplaceholder: '> input:placeholder-shown',\n\thost: () => ':host'\n};\n\nexport default {\n\tbackgroundColor: { selector: selectors.input },\n\tcolor: { selector: selectors.input },\n\twidth: { selector: selectors.host },\n\tborderColor: [\n\t\t{ selector: selectors.input },\n\t\t{ selector: selectors.readOnlyInput }\n\t],\n\tborderWidth: [\n\t\t{ selector: selectors.input },\n\t\t{ selector: selectors.readOnlyInput }\n\t],\n\tborderStyle: [\n\t\t{ selector: selectors.input },\n\t\t{ selector: selectors.readOnlyInput }\n\t],\n\tborderRadius: { selector: selectors.input },\n\tboxShadow: { selector: selectors.input },\n\tfontSize: {},\n\theight: { selector: selectors.input },\n\tpadding: { selector: selectors.input },\n\toutline: { selector: selectors.input },\n\toutlineOffset: { selector: selectors.input },\n\n\tplaceholderColor: { selector: selectors.placeholder, property: 'color' }\n};\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('email-field');\n\nlet overrides = ``;\n\nconst EmailField = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\t...textFieldMappings\n\t\t}\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: ['suffix'],\n\t\twrappedEleName: 'vaadin-email-field',\n\t\tstyle: () => overrides,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\noverrides = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\tvaadin-email-field {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\tvaadin-email-field::part(input-field) {\n\t\toverflow: hidden;\n\t}\n\tvaadin-email-field[readonly] > input:placeholder-shown {\n\t\topacity: 1;\n\t}\n\tvaadin-email-field input:-webkit-autofill,\n\tvaadin-email-field input:-webkit-autofill::first-line,\n\tvaadin-email-field input:-webkit-autofill:hover,\n\tvaadin-email-field input:-webkit-autofill:active,\n\tvaadin-email-field input:-webkit-autofill:focus {\n\t\t-webkit-text-fill-color: var(${EmailField.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${EmailField.cssVarList.height}) var(${EmailField.cssVarList.backgroundColor}) inset;\n\t}\n\tvaadin-email-field > label,\n\tvaadin-email-field::part(input-field) {\n\t\tcursor: pointer;\n\t\tcolor: var(${EmailField.cssVarList.color});\n\t}\n\tvaadin-email-field::part(input-field):focus {\n\t\tcursor: text;\n\t}\n\tvaadin-email-field[required]::part(required-indicator)::after {\n\t\tfont-size: \"12px\";\n\t\tcontent: \"*\";\n\t\tcolor: var(${EmailField.cssVarList.color});\n\t}\n\tvaadin-email-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;\n\nexport default EmailField;\n","import '@vaadin/email-field';\nimport EmailField, { componentName } from './EmailField';\n\ncustomElements.define(componentName, EmailField);\n\nexport { EmailField };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin,\n} from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport Text from '../descope-text/Text';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('link');\nclass RawLink extends createBaseClass({ componentName, baseSelector: ':host a' }) {\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\n\t\tthis.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t:host {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t:host a {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t</style>\n\t\t<div>\n\t\t\t<a>\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</a>\n\t\t</div>\n\t\t`;\n\n\t\tforwardAttrs(this, this.shadowRoot.querySelector('a'), {\n\t\t\tincludeAttrs: ['href', 'target', 'tooltip'],\n\t\t\tmapAttrs: {\n\t\t\t\ttooltip: 'title'\n\t\t\t}\n\t\t});\n\n\t\tforwardAttrs(this, this.shadowRoot.querySelector('descope-text'), {\n\t\t\tincludeAttrs: ['mode', 'variant'],\n\t\t});\n\t}\n}\n\nconst selectors = {\n\thost: { selector: () => 'host' },\n\tanchor: {},\n\twrapper: {selector: () => ':host > div'},\n\ttext: { selector: () => Text.componentName }\n};\n\nconst { anchor, text, host, wrapper } = selectors;\n\nconst Link = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\twidth: host,\n\t\t\ttextAlign: wrapper,\n\t\t\tcolor: [anchor, { ...text, property: Text.cssVarList.color }],\n\t\t\tcursor: anchor,\n\t\t\tborderBottomWidth: anchor,\n\t\t\tborderBottomStyle: anchor,\n\t\t\tborderBottomColor: anchor\n\t\t},\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawLink);\n\nexport default Link;\n","import Link, { componentName } from './Link';\nimport '../descope-text';\n\ncustomElements.define(componentName, Link);\n\nexport { Link };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('logo');\n\nlet style;\nconst getStyle = () => style;\n\nclass RawLogo extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t${getStyle()}\n\t\t</style>\n\t\t<div></div>`;\n\t}\n}\n\nconst Logo = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\theight: {},\n\t\t\twidth: {},\n\t\t\turl: {},\n\t\t\tfallbackUrl: {}\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawLogo);\n\nstyle = `\n:host {\n\tdisplay: inline-flex;\n}\n:host > div {\n\tdisplay: inline-block;\n\tcontent: var(${Logo.cssVarList.url}, var(${Logo.cssVarList.fallbackUrl}));\n}\n`;\n\nexport default Logo;\n","import Logo, { componentName } from './Logo';\n\ncustomElements.define(componentName, Logo);\n\nexport { Logo };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('number-field');\n\nlet overrides = ``;\n\nconst NumberField = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\t...textFieldMappings\n\t\t}\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: ['prefix', 'suffix'],\n\t\twrappedEleName: 'vaadin-number-field',\n\t\tstyle: () => overrides,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\noverrides = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\tvaadin-number-field {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\tvaadin-number-field::part(input-field) {\n\t\toverflow: hidden;\n\t}\n\tvaadin-number-field[readonly] > input:placeholder-shown {\n\t\topacity: 1;\n\t}\n\tvaadin-number-field input:-webkit-autofill,\n\tvaadin-number-field input:-webkit-autofill::first-line,\n\tvaadin-number-field input:-webkit-autofill:hover,\n\tvaadin-number-field input:-webkit-autofill:active,\n\tvaadin-number-field input:-webkit-autofill:focus {\n\t\t-webkit-text-fill-color: var(${NumberField.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${NumberField.cssVarList.height}) var(${NumberField.cssVarList.backgroundColor}) inset;\n\t}\n\tvaadin-number-field > label,\n\tvaadin-number-field::part(input-field) {\n\t\tcursor: pointer;\n\t\tcolor: var(${NumberField.cssVarList.color});\n\t}\n\tvaadin-number-field::part(input-field):focus {\n\t\tcursor: text;\n\t}\n\tvaadin-number-field[required]::part(required-indicator)::after {\n\t\tfont-size: \"12px\";\n\t\tcontent: \"*\";\n\t\tcolor: var(${NumberField.cssVarList.color});\n\t}\n\tvaadin-number-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;\n\nexport default NumberField;\n","import '@vaadin/number-field';\nimport NumberField, { componentName } from './NumberField';\n\ncustomElements.define(componentName, NumberField);\n\nexport { NumberField };\n","import { compose } from \"../helpers\";\nimport { changeMixin, focusMixin, inputValidationMixin } from \"../mixins\";\n\nexport default compose(focusMixin, inputValidationMixin, changeMixin)(HTMLElement) //todo: maybe we should use base class?\n","\nexport const focusElement = (ele) => {\n\tele?.focus();\n\tele?.setSelectionRange(1, 1);\n};\n\nexport const getSanitizedCharacters = (str) => {\n\tconst pin = str.replace(/\\s/g, ''); // sanitize string\n\n\t// accept only numbers\n\tif (!pin.match(/^\\d+$/)) return [];\n\n\treturn [...pin]; // creating array of chars\n};","import BaseInputClass from '../../../baseClasses/BaseInputClass';\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { getSanitizedCharacters, focusElement } from './helpers';\n\nexport const componentName = getComponentName('passcode-internal');\n\nclass PasscodeInternal extends BaseInputClass {\n\tstatic get observedAttributes() {\n\t\treturn [\n\t\t\t...(BaseInputClass.observedAttributes || []),\n\t\t\t'disabled',\n\t\t\t'bordered',\n\t\t\t'size',\n\t\t];\n\t}\n\n\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\n\t#boundHandleInvalid = this.#handleInvalid.bind(this)\n\t#boundHandleValid = this.#handleValid.bind(this)\n\t#boundHandleBlur = this.#handleBlur.bind(this)\n\n\tconstructor() {\n\t\tsuper();\n\t\tconst inputs = [...Array(this.digits).keys()].map((idx) => `\n\t\t<descope-text-field\n\t\t\tst-width=\"35px\"\n\t\t\tdata-id=${idx}\n\t\t\ttype=\"tel\"\n\t\t\tautocomplete=\"none\"\n\t\t></descope-text-field>\n\t`)\n\n\t\tthis.innerHTML = `\n\t\t<div>\n\t\t\t${inputs.join('')}\n\t\t</div>\n\t\t`;\n\n\t\tthis.baseSelector = ':host > div';\n\n\t\tthis.inputs = Array.from(this.querySelectorAll('descope-text-field'))\n\t}\n\n\tget digits() {\n\t\treturn Number.parseInt(this.getAttribute('digits')) || 6\n\t}\n\n\tget value() {\n\t\treturn this.inputs.map(({ value }) => value).join('')\n\t}\n\n\tset value(val) {\n\t\tif (val === this.value) return;\n\n\t\tconst charArr = getSanitizedCharacters(val);\n\n\t\tif (charArr.length) {\n\t\t\tthis.fillDigits(charArr, this.inputs[0]);\n\t\t}\n\t}\n\n\tget pattern() {\n\t\treturn `^$|^\\\\d{${this.digits},}$`\n\t}\n\n\t#handleInvalid() {\n\t\tif (this.hasAttribute('invalid')) {\n\t\t\tthis.inputs.forEach(input => input.setAttribute('invalid', 'true'))\n\t\t}\n\t}\n\n\t#handleValid() {\n\t\tthis.inputs.forEach(input => input.removeAttribute('invalid'))\n\t}\n\n\tgetValidity() {\n\t\tif (this.isRequired && !this.value) {\n\t\t\treturn { valueMissing: true };\n\t\t}\n\t\telse if (this.pattern && !new RegExp(this.pattern).test(this.value)) {\n\t\t\treturn { patternMismatch: true };\n\t\t}\n\t\telse {\n\t\t\treturn {}\n\t\t}\n\t};\n\n\tonFocus(){\n\t\tthis.inputs[0].focus()\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback?.();\n\n\t\tthis.initInputs()\n\n\t\tthis.addEventListener('invalid', this.#boundHandleInvalid)\n\t\tthis.addEventListener('valid', this.#boundHandleValid)\n\t\tthis.addEventListener('blur', this.#boundHandleBlur)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.connectedCallback?.();\n\t\tthis.removeEventListener('invalid', this.#boundHandleInvalid)\n\t\tthis.removeEventListener('valid', this.#boundHandleValid)\n\t\tthis.removeEventListener('blur', this.#boundHandleBlur)\n\t}\n\n\tgetInputIdx(inputEle) {\n\t\treturn Number.parseInt(inputEle.getAttribute('data-id'), 10)\n\t}\n\n\tgetNextInput(currInput) {\n\t\tconst currentIdx = this.getInputIdx(currInput)\n\t\tconst newIdx = Math.min(currentIdx + 1, this.inputs.length - 1)\n\t\treturn this.inputs[newIdx]\n\t}\n\n\tgetPrevInput(currInput) {\n\t\tconst currentIdx = this.getInputIdx(currInput)\n\t\tconst newIdx = Math.max(currentIdx - 1, 0)\n\t\treturn this.inputs[newIdx]\n\t}\n\n\tfillDigits(charArr, currentInput) {\n\t\tfor (let i = 0; i < charArr.length; i += 1) {\n\t\t\tcurrentInput.value = charArr[i] ?? '';\n\n\t\t\tconst nextInput = this.getNextInput(currentInput);\n\n\t\t\tif (nextInput === currentInput) break;\n\t\t\tcurrentInput = nextInput;\n\t\t}\n\n\t\tfocusElement(currentInput);\n\t};\n\n\t#handleBlur() {\n\t\tthis.#handleInvalid()\n\t}\n\n\tinitInputs() {\n\t\tthis.inputs.forEach((input) => {\n\t\t\tinput.oninput = (e) => {\n\t\t\t\tconst charArr = getSanitizedCharacters(input.value);\n\n\t\t\t\tif (!charArr.length) {\n\t\t\t\t\t// if we got an invalid value we want to clear the input\n\t\t\t\t\tinput.value = '';\n\t\t\t\t\tif (e.data === null) {\n\t\t\t\t\t\t// if the user deleted the char, we want to focus the prev digit\n\t\t\t\t\t\tfocusElement(this.getPrevInput(input));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse this.fillDigits(charArr, input);\n\t\t\t};\n\n\t\t\tinput.onkeydown = ({ key }) => {\n\t\t\t\t// when user deletes a digit, we want to focus the previous digit\n\t\t\t\tif (key === 'Backspace') {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tfocusElement(this.getPrevInput(input));\n\t\t\t\t\t});\n\t\t\t\t} else if (key.match(/^(\\d)$/g)) { // if input is a digit\n\t\t\t\t\tinput.value = ''; // we are clearing the previous value so we can override it with the new value\n\t\t\t\t}\n\t\t\t};\n\t\t})\n\t}\n\n\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\tsuper.attributeChangedCallback?.(attrName, oldValue, newValue)\n\n\t\tif (oldValue !== newValue) {\n\t\t\tif (PasscodeInternal.observedAttributes.includes(attrName) && !BaseInputClass.observedAttributes.includes(attrName)) {\n\t\t\t\tthis.inputs.forEach((input) => input.setAttribute(attrName, newValue))\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default PasscodeInternal;\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('text-field');\n\nlet overrides = ``;\n\nconst TextField = compose(\n\tcreateStyleMixin({\n\t\tmappings: textFieldMappings\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: ['prefix', 'suffix'],\n\t\twrappedEleName: 'vaadin-text-field',\n\t\tstyle: () => overrides,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\noverrides = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\n\tvaadin-text-field {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\tvaadin-text-field::part(input-field) {\n\t\toverflow: hidden;\n\t}\n\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\topacity: 1;\n\t}\n\tvaadin-text-field input:-webkit-autofill,\n\tvaadin-text-field input:-webkit-autofill::first-line,\n\tvaadin-text-field input:-webkit-autofill:hover,\n\tvaadin-text-field input:-webkit-autofill:active,\n\tvaadin-text-field input:-webkit-autofill:focus {\n\t\t-webkit-text-fill-color: var(${TextField.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${TextField.cssVarList.height}) var(${TextField.cssVarList.backgroundColor}) inset;\n\t}\n\tvaadin-text-field > label,\n\tvaadin-text-field::part(input-field) {\n\t\tcursor: pointer;\n\t\tcolor: var(${TextField.cssVarList.color});\n\t}\n\tvaadin-text-field::part(input-field):focus {\n\t\tcursor: text;\n\t}\n\tvaadin-text-field[required]::part(required-indicator)::after {\n\t\tfont-size: \"12px\";\n\t\tcontent: \"*\";\n\t\tcolor: var(${TextField.cssVarList.color});\n\t}\n\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;\n\nexport default TextField;\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { componentName as descopeInternalComponentName } from './descope-passcode-internal/PasscodeInternal';\nimport TextField from '../descope-text-field/TextField'\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('passcode');\n\nconst customMixin = (superclass) =>\n\tclass DraggableMixinClass extends superclass {\n\t\tconstructor() {\n\t\t\tsuper();\n\t\t}\n\n\t\tget digits() {\n\t\t\treturn Number.parseInt(this.getAttribute('digits')) || 6;\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tsuper.connectedCallback?.();\n\t\t\tconst template = document.createElement('template');\n\n\t\t\ttemplate.innerHTML = `\n\t\t\t<${descopeInternalComponentName} \n\t\t\t\tbordered=\"true\" \n\t\t\t\tname=\"code\" \n\t\t\t\ttabindex=\"-1\"\n\t\t\t\tslot=\"input\"\n\t\t\t></${descopeInternalComponentName}>\n\t\t\t`;\n\n\t\t\tthis.proxyElement.appendChild(template.content.cloneNode(true));\n\n\t\t\tthis.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n\t\t\tforwardAttrs(this.shadowRoot.host, this.inputElement, { includeAttrs: ['required', 'pattern'] })\n\n\t\t}\n\t};\n\nconst { borderStyle, borderWidth, ...restTextFieldMappings } =\n\ttextFieldMappings;\n\nconst { digitField, label, requiredIndicator } = {\n\tdigitField: { selector: () => TextField.componentName },\n\tlabel: { selector: '> label' },\n\trequiredIndicator: { selector: '[required]::part(required-indicator)::after' }\n}\n\nconst textVars = TextField.cssVarList\n\nconst Passcode = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\t...restTextFieldMappings,\n\t\t\tborderColor: { ...digitField, property: textVars.borderColor },\n\t\t\tcolor: [restTextFieldMappings.color, label, requiredIndicator],\n\t\t},\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin,\n\tcustomMixin\n)(\n\tcreateProxy({\n\t\tslots: [],\n\t\twrappedEleName: 'vaadin-text-field',\n\t\tstyle: () => `\n :host {\n --vaadin-field-default-width: auto;\n\t\t\tdisplay: inline-block;\n }\n\n\t\t:host([readonly]) descope-passcode-internal > div {\n\t\t\tpointer-events: none;\n\t\t}\n\n descope-passcode-internal {\n -webkit-mask-image: none;\n display: flex;\n gap: 2px;\n align-items: center;\n padding: 0;\n }\n vaadin-text-field::part(input-field) {\n background-color: transparent;\n padding: 0;\n\t\t\toverflow: hidden;\n }\n\t\tvaadin-text-field {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\t\topacity: 1;\n\t\t}\n\t\tvaadin-text-field > label,\n\t\tvaadin-text-field::part(input-field) {\n\t\t\tcursor: pointer;\n\t\t}\n\t\tvaadin-text-field::part(input-field):focus {\n\t\t\tcursor: text;\n\t\t}\n\t\tvaadin-text-field[required]::part(required-indicator)::after {\n\t\t\tfont-size: \"12px\";\n\t\t\tcontent: \"*\";\n\t\t}\n\t\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\t\tborder: 0 solid;\n\t\t}\n `,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\nexport default Passcode;\n","import '@vaadin/text-field';\nimport TextField, { componentName } from './TextField';\n\ncustomElements.define(componentName, TextField);\n\nexport { TextField };\n","import PasscodeInternal, { componentName } from \"./PasscodeInternal\"\n\ncustomElements.define(componentName, PasscodeInternal)","import Passcode, { componentName } from './Passcode';\nimport '../descope-text-field'\nimport './descope-passcode-internal'\n\ncustomElements.define(componentName, Passcode);\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('password-field');\n\nlet overrides = ``;\n\nconst PasswordField = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\t...textFieldMappings,\n\t\t\trevealCursor: [\n\t\t\t\t{\n\t\t\t\t\tselector: '::part(reveal-button)::before',\n\t\t\t\t\tproperty: 'cursor'\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: ['suffix'],\n\t\twrappedEleName: 'vaadin-password-field',\n\t\tstyle: () => overrides,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\noverrides = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\tvaadin-password-field {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\tvaadin-password-field::part(input-field) {\n\t\toverflow: hidden;\n\t}\n\tvaadin-password-field[readonly] > input:placeholder-shown {\n\t\topacity: 1;\n\t}\n\tvaadin-password-field input:-webkit-autofill,\n\tvaadin-password-field input:-webkit-autofill::first-line,\n\tvaadin-password-field input:-webkit-autofill:hover,\n\tvaadin-password-field input:-webkit-autofill:active,\n\tvaadin-password-field input:-webkit-autofill:focus {\n\t\t-webkit-text-fill-color: var(${PasswordField.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${PasswordField.cssVarList.height}) var(${PasswordField.cssVarList.backgroundColor}) inset;\n\t}\n\tvaadin-password-field > label,\n\tvaadin-password-field::part(input-field) {\n\t\tcursor: pointer;\n\t\tcolor: var(${PasswordField.cssVarList.color});\n\t}\n\tvaadin-password-field::part(input-field):focus {\n\t\tcursor: text;\n\t}\n\tvaadin-password-field[required]::part(required-indicator)::after {\n\t\tfont-size: \"12px\";\n\t\tcontent: \"*\";\n\t\tcolor: var(${PasswordField.cssVarList.color});\n\t}\n\tvaadin-password-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;\n\nexport default PasswordField;\n","import '@vaadin/password-field';\nimport PasswordField, { componentName } from './PasswordField';\n\ncustomElements.define(componentName, PasswordField);\n\nexport { PasswordField };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin,\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('switch-toggle');\n\nlet overrides = ``;\n\nconst SwitchToggle = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\twidth: {selector: () => ':host'},\n\t\t\tcursor: [{}, { selector: '> label' }]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: [],\n\t\twrappedEleName: 'vaadin-checkbox',\n\t\tstyle: () => overrides,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\noverrides = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\t\n\t:host {\n\t\t--margin: 7px;\n\t\t--width: var(${SwitchToggle.cssVarList.width});\n\t\t--height: calc(var(--width) / 2);\n\t\t--radius: var(--height);\n\t\t--knobSize: calc(var(--height) - 5px);\n\t\t--bgColor: #fff;\n\t\t--knobBgColor: #000;\n\t}\n\tvaadin-checkbox : {\n\t\twidth: 100%;\n\t}\n\tvaadin-checkbox>label {\n\t\tcursor: pointer;\n\t\tborder: 1px solid;\n\t\ttext-indent: -99999px;\n\t\tdisplay: block;\n\t\tposition: relative;\t\t\t\n\t\twidth: var(--width);\n\t\theight: var(--height);\n\t\tbackground: var(--bgColor);\n\t\tborder-radius: var(--radius);\n\t}\n\tvaadin-checkbox>label::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttransition: 0.3s;\n\t\ttop: var(--margin);\n\t\tleft: var(--margin);\n\t\twidth: var(--knobSize);\n\t\theight: var(--knobSize);\n\t\tbackground: var(--knobBgColor);\n\t\tborder-radius: var(--knobSize);\n\t}\n\tvaadin-checkbox::part(checkbox) {\n\t\theight: 0;\n\t\twidth: 0;\n\t\tvisibility: hidden;\n\t\tmargin: 0;\n\t}\n\tvaadin-checkbox[checked]>label::after {\n\t\ttransform: translateX(-100%);\n\t\tleft: calc(100% - var(--margin));\n\t}\n\tvaadin-checkbox[active]>label::after {\n\t\twidth: calc(var(--knobSize) + 15px);\n\t}\n`;\n\nexport default SwitchToggle;\n","import '@vaadin/checkbox';\nimport SwitchToggle, { componentName } from './SwitchToggle';\n\ncustomElements.define(componentName, SwitchToggle);\n\nexport { SwitchToggle };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('text-area');\n\nconst selectors = {\n\tlabel: '::part(label)',\n\tinput: '::part(input-field)',\n\trequired: '::part(required-indicator)::after',\n\thost: () => ':host'\n};\n\nlet overrides = ``;\n\nconst TextArea = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tresize: { selector: '> textarea' },\n\t\t\tcolor: { selector: selectors.label },\n\t\t\tcursor: {},\n\t\t\twidth: { selector: selectors.host },\n\t\t\tbackgroundColor: { selector: selectors.input },\n\t\t\tborderWidth: { selector: selectors.input },\n\t\t\tborderStyle: { selector: selectors.input },\n\t\t\tborderColor: { selector: selectors.input },\n\t\t\tborderRadius: { selector: selectors.input },\n\t\t\toutline: { selector: selectors.input },\n\t\t\toutlineOffset: { selector: selectors.input }\n\t\t}\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: [],\n\t\twrappedEleName: 'vaadin-text-area',\n\t\tstyle: () => overrides,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\noverrides = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\n\tvaadin-text-area {\n\t\tmargin: 0;\n\t\twidth: 100%;\n\t}\n\tvaadin-text-area > label,\n\tvaadin-text-area::part(input-field) {\n\t\tcursor: pointer;\n\t}\n\tvaadin-text-area[focused]::part(input-field) {\n\t\tcursor: text;\n\t}\n\tvaadin-text-area::part(required-indicator)::after {\n\t\tfont-size: \"12px\";\n\t\tcontent: \"*\";\n\t}\t\n`;\nexport default TextArea;\n","import '@vaadin/text-area';\nimport TextArea, { componentName } from './TextArea';\n\ncustomElements.define(componentName, TextArea);\n\nexport { TextArea };\n","import merge from 'lodash.merge';\nimport set from 'lodash.set';\nimport { BASE_THEME_SECTION, DESCOPE_PREFIX, PORTAL_THEME_PREFIX } from '../../constants';\nimport { kebabCase } from '..';\nimport { getComponentName, getCssVarName } from '../componentHelpers';\n\nconst getVarName = (path) => getCssVarName(DESCOPE_PREFIX, ...path);\n\nconst transformTheme = (theme, path, getTransformation) => {\n\treturn Object.entries(theme).reduce((acc, [key, val]) => {\n\t\tif (val?.constructor !== Object) {\n\t\t\treturn merge(acc, getTransformation(path.concat(key), val));\n\t\t} else {\n\t\t\treturn merge(acc, transformTheme(val, [...path, key], getTransformation));\n\t\t}\n\t}, {});\n};\n\nconst stringifyArray = (strArr) =>\n\tstrArr.map((str) => (str.includes(' ') ? `\"${str}\"` : str)).join(', ');\n\nexport const themeToCSSVarsObj = (theme) =>\n\ttransformTheme(theme, [], (path, val) => ({\n\t\t[getVarName(path)]: Array.isArray(val) ? stringifyArray(val) : val\n\t}));\n\nexport const getThemeRefs = (theme, prefix) =>\n\ttransformTheme(theme, [], (path) =>\n\t\tset({}, path, `var(${getVarName(prefix ? [prefix, ...path] : path)})`)\n\t);\n\nexport const globalsThemeToStyle = (theme, themeName = '') => `\n*[data-theme=\"${themeName}\"] {\n\t${Object.entries(themeToCSSVarsObj(theme)).reduce(\n\t(acc, entry) => (acc += `${entry.join(':')};\\n`),\n\t''\n)}\n}\n`;\n\nconst componentsThemeToStyleObj = (componentsTheme) =>\n\ttransformTheme(componentsTheme, [], (path, val) => {\n\t\tconst [component, ...restPath] = path;\n\t\tconst property = restPath.pop();\n\t\tconst componentName = getComponentName(component);\n\n\t\t// we need a support for portal components theme (e.g. overlay)\n\t\t// this allows us to generate those themes under different sections\n\t\t// if the theme has root level attribute that starts with #\n\t\t// we are generating a new theme\n\t\tlet themeName = BASE_THEME_SECTION\n\n\t\tif (restPath[0] && restPath[0].startsWith(PORTAL_THEME_PREFIX)) {\n\t\t\tthemeName = restPath.shift();\n\t\t}\n\n\t\t// do not start with underscore -> key:value, must have 2 no underscore attrs in a row\n\t\t// starts with underscore -> attribute selector\n\t\tconst attrsSelector = restPath.reduce((acc, section, idx) => {\n\t\t\tif (section.startsWith('_'))\n\t\t\t\treturn (acc += `[${kebabCase(section.replace(/^_/, ''))}=\"true\"]`);\n\n\t\t\tconst nextSection = restPath[idx + 1];\n\n\t\t\tif (typeof nextSection !== 'string' || nextSection.startsWith('_')) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t'theme generator',\n\t\t\t\t\t`your theme structure is invalid, attribute \"${section}\" is followed by \"${nextSection}\" which is not allowed`\n\t\t\t\t);\n\t\t\t\treturn acc;\n\t\t\t}\n\n\t\t\treturn (acc += `[${kebabCase(section)}=\"${restPath\n\t\t\t\t.splice(idx + 1, 1)\n\t\t\t\t.join('')}\"]`);\n\t\t}, '');\n\n\t\tlet selector = `:host${attrsSelector ? `(${attrsSelector})` : ''}`;\n\n\t\treturn {\n\t\t\t[componentName]: {\n\t\t\t\t[themeName]: {\n\t\t\t\t\t[selector]: {\n\t\t\t\t\t\t[property]: val\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n\n\nexport const createComponentsTheme = (componentsTheme) => {\n\tconst styleObj = componentsThemeToStyleObj(componentsTheme);\n\n\treturn Object.keys(styleObj).reduce(\n\t\t(acc, componentName) => {\n\t\t\tconst componentThemes = styleObj[componentName];\n\n\t\t\treturn Object.assign(acc, {\n\t\t\t\t[componentName]: Object.keys(componentThemes)\n\t\t\t\t\t.reduce((acc, theme) =>\n\t\t\t\t\t\tObject.assign(acc, { [theme]: componentsThemeToStyle(componentThemes[theme]) }),\n\t\t\t\t\t\t{})\n\t\t\t})\n\t\t},\n\t\t{}\n\t);\n}\n\nconst componentsThemeToStyle = (componentsTheme) =>\n\tObject.entries(componentsTheme).reduce(\n\t\t(acc, [selector, vars]) =>\n\t\t(acc += `${selector} { \\n${Object.entries(\n\t\t\tvars\n\t\t)\n\t\t\t.map(([key, val]) => `${key}: ${val}`)\n\t\t\t.join(';\\n')} \\n}\\n\\n`),\n\t\t''\n\t);\n\nexport const themeToStyle = ({ globals, components }, themeName) => ({\n\tglobals: globalsThemeToStyle(globals, themeName),\n\tcomponents: createComponentsTheme(components)\n});\n\nconst useVar = (varName) => `var(${varName})`;\n\nexport const createHelperVars = (theme, prefix) => {\n\tconst res = transformTheme(theme, [], (path, value) => {\n\t\tconst modifiedPath = [...path];\n\t\tconst property = modifiedPath.splice(-1);\n\t\tconst varName = getCssVarName(prefix, property);\n\n\t\tconst vars = { [property]: varName };\n\t\tconst theme = set({}, [...modifiedPath, varName], value);\n\t\tconst useVars = { [property]: useVar(varName) };\n\n\t\treturn { theme, useVars, vars };\n\t});\n\n\treturn [res.theme, res.useVars, res.vars];\n};\n\nexport { componentsThemeManager } from './componentsThemeManager'\n","import Color from 'color';\n\nconst genDark = (c, percentage = 0.5) => c.darken(percentage).hex();\nconst genLight = (c, percentage = 0.5) => c.lighten(percentage).hex();\nconst genContrast = (c, percentage = 0.9) => {\n\tconst isDark = c.isDark();\n\treturn c\n\t\t.mix(Color(isDark ? 'white' : 'black'), percentage)\n\t\t.saturate(1)\n\t\t.hex();\n};\n\nexport const genColor = (color) => {\n\tconst mainColor = new Color(color.main || color);\n\n\treturn {\n\t\tmain: mainColor.hex(),\n\t\tdark: color.dark || genDark(mainColor),\n\t\tlight: color.light || genLight(mainColor),\n\t\tcontrast: color.contrast || genContrast(mainColor)\n\t};\n};\n\nexport const genColors = (colors) => {\n\treturn Object.keys(colors).reduce((acc, colorName) => {\n\t\tconst currentColor = colors[colorName];\n\n\t\treturn Object.assign(acc, {\n\t\t\t[colorName]: genColor(currentColor)\n\t\t});\n\t}, {});\n};\n","import { getThemeRefs } from '../helpers/themeHelpers';\nimport { genColors } from '../helpers/themeHelpers/colorsHelpers';\n\nexport const colors = genColors({\n\tsurface: {\n\t\tmain: 'lightgray',\n\t\tlight: '#fff',\n\t\tdark: '#000',\n\t},\n\tprimary: '#0082B5',\n\tsecondary: '#7D14EB',\n\tsuccess: 'green',\n\terror: 'red'\n});\n\nconst fonts = {\n\tfont1: ['Roboto', 'sans-serif'],\n\tfont2: ['Oswald', 'serif']\n};\nconst fontsRef = getThemeRefs({ fonts }).fonts;\n\nconst typography = {\n\th1: {\n\t\tfont: fontsRef.font1,\n\t\tweight: '900',\n\t\tsize: '48px'\n\t},\n\th2: {\n\t\tfont: fontsRef.font1,\n\t\tweight: '800',\n\t\tsize: '38px'\n\t},\n\th3: {\n\t\tfont: fontsRef.font1,\n\t\tweight: '600',\n\t\tsize: '28px'\n\t},\n\tsubtitle1: {\n\t\tfont: fontsRef.font2,\n\t\tweight: '500',\n\t\tsize: '22px'\n\t},\n\tsubtitle2: {\n\t\tfont: fontsRef.font2,\n\t\tweight: '400',\n\t\tsize: '20px'\n\t},\n\tbody1: {\n\t\tfont: fontsRef.font1,\n\t\tweight: '300',\n\t\tsize: '16px'\n\t},\n\tbody2: {\n\t\tfont: fontsRef.font1,\n\t\tweight: '200',\n\t\tsize: '14px'\n\t}\n};\n\nconst spacing = {\n\txs: '2px',\n\tsm: '4px',\n\tmd: '8px',\n\tlg: '16px',\n\txl: '32px'\n};\n\nconst border = {\n\tsm: '1px',\n\tmd: '2px',\n\tlg: '3px'\n};\n\nconst radius = {\n\tsm: '5px',\n\tmd: '25px',\n\tlg: '50px'\n};\n\nconst shadow = {\n\twide: {\n\t\tsm: '0 2px 3px -0.5px',\n\t\tmd: '0 4px 6px -1px',\n\t\tlg: '0 10px 15px -3px',\n\t\txl: '0 20px 25px -5px',\n\t\t'2xl': '0 25px 50px -12px'\n\t},\n\tnarrow: {\n\t\tsm: '0 1px 2px -1px',\n\t\tmd: '0 2px 4px -2px',\n\t\tlg: '0 4px 6px -4px',\n\t\txl: '0 8px 10px -6px',\n\t\t'2xl': '0 16px 16px -8px'\n\t}\n};\n\nexport default {\n\tcolors,\n\ttypography,\n\tspacing,\n\tborder,\n\tradius,\n\tshadow,\n\tfonts\n};\n","import globals from '../globals';\nimport { getThemeRefs, createHelperVars } from '../../helpers/themeHelpers';\nimport Button, { componentName } from '../../components/descope-button/Button';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = Button.cssVarList;\n\nconst mode = {\n\tprimary: globalRefs.colors.primary,\n\tsecondary: globalRefs.colors.secondary,\n\tsuccess: globalRefs.colors.success,\n\terror: globalRefs.colors.error,\n\tsurface: globalRefs.colors.surface\n};\n\nconst [helperTheme, helperRefs] = createHelperVars({ mode }, componentName);\n\nconst button = {\n\t...helperTheme,\n\t[vars.width]: 'fit-content',\n\tsize: {\n\t\txs: {\n\t\t\t[vars.height]: '10px',\n\t\t\t[vars.fontSize]: '10px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.xs}`\n\t\t},\n\t\tsm: {\n\t\t\t[vars.height]: '20px',\n\t\t\t[vars.fontSize]: '10px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.sm}`\n\t\t},\n\t\tmd: {\n\t\t\t[vars.height]: '30px',\n\t\t\t[vars.fontSize]: '14px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.md}`\n\t\t},\n\t\tlg: {\n\t\t\t[vars.height]: '40px',\n\t\t\t[vars.fontSize]: '20px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.lg}`\n\t\t},\n\t\txl: {\n\t\t\t[vars.height]: '50px',\n\t\t\t[vars.fontSize]: '25px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.xl}`\n\t\t}\n\t},\n\n\t[vars.borderRadius]: globalRefs.radius.lg,\n\t[vars.cursor]: 'pointer',\n\t[vars.borderWidth]: '2px',\n\t[vars.borderStyle]: 'solid',\n\t[vars.borderColor]: 'transparent',\n\n\t_fullWidth: {\n\t\t[vars.width]: '100%'\n\t},\n\t_loading: {\n\t\t[vars.cursor]: 'wait'\n\t},\n\n\tvariant: {\n\t\tcontained: {\n\t\t\t[vars.color]: helperRefs.contrast,\n\t\t\t[vars.backgroundColor]: helperRefs.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.backgroundColor]: helperRefs.dark\n\t\t\t},\n\t\t\t_loading: {\n\t\t\t\t[vars.backgroundColor]: helperRefs.main\n\t\t\t}\n\t\t},\n\t\toutline: {\n\t\t\t[vars.color]: helperRefs.main,\n\t\t\t[vars.borderColor]: helperRefs.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.color]: helperRefs.dark,\n\t\t\t\t[vars.borderColor]: helperRefs.dark,\n\t\t\t\t_error: {\n\t\t\t\t\t[vars.color]: helperRefs.error\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tlink: {\n\t\t\t[vars.color]: helperRefs.main,\n\t\t\t[vars.padding]: 0,\n\t\t\t[vars.margin]: 0,\n\t\t\t[vars.lineHeight]: helperRefs.height,\n\t\t\t[vars.borderRadius]: 0,\n\t\t\t_hover: {\n\t\t\t\t[vars.color]: helperRefs.main,\n\t\t\t\t[vars.textDecoration]: 'underline'\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport default button;\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport TextField from '../../components/descope-text-field/TextField';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = TextField.cssVarList;\n\nexport const textField = (vars) => ({\n\tsize: {\n\t\txs: {\n\t\t\t[vars.height]: '14px',\n\t\t\t[vars.fontSize]: '8px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.xs}`\n\t\t},\n\t\tsm: {\n\t\t\t[vars.height]: '20px',\n\t\t\t[vars.fontSize]: '10px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.sm}`\n\t\t},\n\t\tmd: {\n\t\t\t[vars.height]: '30px',\n\t\t\t[vars.fontSize]: '14px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.md}`\n\t\t},\n\t\tlg: {\n\t\t\t[vars.height]: '40px',\n\t\t\t[vars.fontSize]: '16px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.lg}`\n\t\t},\n\t\txl: {\n\t\t\t[vars.height]: '50px',\n\t\t\t[vars.fontSize]: '25px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.xl}`\n\t\t}\n\t},\n\n\t[vars.color]: globalRefs.colors.surface.contrast,\n\t[vars.placeholderColor]: globalRefs.colors.surface.contrast,\n\n\t[vars.backgroundColor]: globalRefs.colors.surface.light,\n\n\t[vars.borderWidth]: '1px',\n\t[vars.borderStyle]: 'solid',\n\t[vars.borderColor]: 'transparent',\n\t[vars.borderRadius]: globalRefs.radius.sm,\n\n\t_disabled: {\n\t\t[vars.color]: globalRefs.colors.surface.dark,\n\t\t[vars.placeholderColor]: globalRefs.colors.surface.light,\n\t\t[vars.backgroundColor]: globalRefs.colors.surface.main\n\t},\n\n\t_fullWidth: {\n\t\t[vars.width]: '100%'\n\t},\n\n\t_focused: {\n\t\t[vars.outline]: `2px solid ${globalRefs.colors.surface.main}`\n\t},\n\n\t_bordered: {\n\t\t[vars.borderColor]: globalRefs.colors.surface.main\n\t},\n\n\t_invalid: {\n\t\t[vars.borderColor]: globalRefs.colors.error.main,\n\t\t[vars.color]: globalRefs.colors.error.main,\n\t\t[vars.placeholderColor]: globalRefs.colors.error.light\n\t}\n});\n\nexport default textField(vars);\n","import PasswordField from '../../components/descope-password-field/PasswordField';\nimport { textField } from './textField';\n\nconst vars = PasswordField.cssVarList;\n\nconst passwordField = {\n\t...textField(vars),\n\t[vars.revealCursor]: 'pointer'\n};\n\nexport default passwordField;\n","import NumberField from '../../components/descope-number-field/NumberField';\nimport { textField } from './textField';\n\nconst numberField = {\n\t...textField(NumberField.cssVarList)\n};\n\nexport default numberField;\n","import EmailField from '../../components/descope-email-field/EmailField';\nimport { textField } from './textField';\n\nconst emailField = {\n\t...textField(EmailField.cssVarList)\n};\n\nexport default emailField;\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport TextArea from '../../components/descope-text-area/TextArea';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = TextArea.cssVarList;\n\nconst textArea = {\n\t[vars.width]: '100%',\n\t[vars.color]: globalRefs.colors.primary.main,\n\t[vars.backgroundColor]: globalRefs.colors.surface.light,\n\t[vars.resize]: 'vertical',\n\n\t[vars.borderRadius]: globalRefs.radius.sm,\n\t[vars.borderWidth]: '1px',\n\t[vars.borderStyle]: 'solid',\n\t[vars.borderColor]: 'transparent',\n\n\t_bordered: {\n\t\t[vars.borderColor]: globalRefs.colors.surface.main\n\t},\n\n\t_focused: {\n\t\t[vars.outline]: `2px solid ${globalRefs.colors.surface.main}`\n\t},\n\n\t_fullWidth: {\n\t\t[vars.width]: '100%'\n\t},\n\n\t_disabled: {\n\t\t[vars.cursor]: 'not-allowed'\n\t},\n\n\t_invalid: {\n\t\t[vars.outline]: `2px solid ${globalRefs.colors.error.main}`\n\t}\n};\n\nexport default textArea;\n","import Checkbox from '../../components/descope-checkbox/Checkbox';\n\nconst vars = Checkbox.cssVarList;\n\nconst checkbox = {\n\t[vars.cursor]: 'pointer',\n\t[vars.width]: 'fit-content'\n};\n\nexport default checkbox;\n","import SwitchToggle from '../../components/descope-switch-toggle/SwitchToggle';\n\nconst vars = SwitchToggle.cssVarList;\n\nconst swtichToggle = {\n\t[vars.width]: '70px',\n\t[vars.cursor]: [{}, { selector: '> label' }]\n};\n\nexport default swtichToggle;\n","import globals from \"../globals\";\nimport { getThemeRefs, createHelperVars } from \"../../helpers/themeHelpers\";\nimport Container from \"../../components/descope-container/Container\";\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = Container.cssVarList\n\nconst verticalAlignment = {\n\tstart: { verticalAlignment: 'start' },\n\tcenter: { verticalAlignment: 'center' },\n\tend: { verticalAlignment: 'end' },\n}\n\nconst horizontalAlignment = {\n\tstart: { horizontalAlignment: 'start' },\n\tcenter: { horizontalAlignment: 'center' },\n\tend: { horizontalAlignment: 'end' },\n}\n\nconst [helperTheme, helperRefs, helperVars] =\n\tcreateHelperVars({\n\t\tverticalAlignment,\n\t\thorizontalAlignment,\n\t\tshadowColor: '#00000020' //if we want to support transparency vars, we should use different color format\n\t}, 'container')\n\nconst container = {\n\t...helperTheme,\n\t[vars.width]: '100%',\n\tverticalPadding: {\n\t\tsm: { [vars.verticalPadding]: '5px' },\n\t\tmd: { [vars.verticalPadding]: '10px' },\n\t\tlg: { [vars.verticalPadding]: '20px' },\n\t},\n\thorizontalPadding: {\n\t\tsm: { [vars.horizontalPadding]: '5px' },\n\t\tmd: { [vars.horizontalPadding]: '10px' },\n\t\tlg: { [vars.horizontalPadding]: '20px' },\n\t},\n\tdirection: {\n\t\trow: {\n\t\t\t[vars.flexDirection]: 'row',\n\t\t\t[vars.alignItems]: helperRefs.verticalAlignment,\n\t\t\t[vars.justifyContent]: helperRefs.horizontalAlignment,\n\t\t\thorizontalAlignment: {\n\t\t\t\tspaceBetween: { [helperVars.horizontalAlignment]: 'space-between' },\n\t\t\t}\n\t\t},\n\n\t\tcolumn: {\n\t\t\t[vars.flexDirection]: 'column',\n\t\t\t[vars.alignItems]: helperRefs.horizontalAlignment,\n\t\t\t[vars.justifyContent]: helperRefs.verticalAlignment,\n\t\t\tverticalAlignment: {\n\t\t\t\tspaceBetween: { [helperVars.verticalAlignment]: 'space-between' }\n\t\t\t}\n\t\t},\n\t},\n\n\tspaceBetween: {\n\t\tsm: {\n\t\t\t[vars.gap]: '10px'\n\t\t},\n\t\tmd: {\n\t\t\t[vars.gap]: '20px'\n\t\t},\n\t\tlg: {\n\t\t\t[vars.gap]: '30px'\n\t\t}\n\t},\n\n\tshadow: {\n\t\tsm: {\n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.wide.sm} ${helperRefs.shadowColor}, ${globalRefs.shadow.narrow.sm} ${helperRefs.shadowColor}`\n\t\t},\n\t\tmd: {\n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.wide.md} ${helperRefs.shadowColor}, ${globalRefs.shadow.narrow.md} ${helperRefs.shadowColor}`\n\t\t},\n\t\tlg: {\n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.wide.lg} ${helperRefs.shadowColor}, ${globalRefs.shadow.narrow.lg} ${helperRefs.shadowColor}`\n\t\t},\n\t\txl: {\n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.wide.xl} ${helperRefs.shadowColor}, ${globalRefs.shadow.narrow.xl} ${helperRefs.shadowColor}`\n\t\t},\n\t\t'2xl': {\n\t\t\t[helperVars.shadowColor]: '#00000050',\n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.wide['2xl']} ${helperRefs.shadowColor}`\n\t\t},\n\t},\n\n\tborderRadius: {\n\t\tsm: {\n\t\t\t[vars.borderRadius]: globalRefs.radius.sm\n\t\t},\n\t\tmd: {\n\t\t\t[vars.borderRadius]: globalRefs.radius.md\n\t\t},\n\t\tlg: {\n\t\t\t[vars.borderRadius]: globalRefs.radius.lg\n\t\t},\n\t}\n};\n\nexport default container;\n","import Logo from \"../../components/descope-logo/Logo\";\n\nconst vars = Logo.cssVarList\n\nconst logo = {\n\t[vars.fallbackUrl]: 'url(https://content.app.descope.com/assets/flows/noLogoPlaceholder.svg)'\n};\n\nexport default logo;\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport Text from '../../components/descope-text/Text';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = Text.cssVarList;\n\nconst text = {\n\t[vars.lineHeight]: '1em',\n\t[vars.display]: 'inline-block',\n\t[vars.textAlign]: 'left',\n\t[vars.color]: globalRefs.colors.surface.dark,\n\tvariant: {\n\t\th1: {\n\t\t\t[vars.fontSize]: globalRefs.typography.h1.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.h1.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.h1.font\n\t\t},\n\t\th2: {\n\t\t\t[vars.fontSize]: globalRefs.typography.h2.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.h2.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.h2.font\n\t\t},\n\t\th3: {\n\t\t\t[vars.fontSize]: globalRefs.typography.h3.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.h3.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.h3.font\n\t\t},\n\t\tsubtitle1: {\n\t\t\t[vars.fontSize]: globalRefs.typography.subtitle1.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.subtitle1.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.subtitle1.font\n\t\t},\n\t\tsubtitle2: {\n\t\t\t[vars.fontSize]: globalRefs.typography.subtitle2.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.subtitle2.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.subtitle2.font\n\t\t},\n\t\tbody1: {\n\t\t\t[vars.fontSize]: globalRefs.typography.body1.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.body1.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.body1.font\n\t\t},\n\t\tbody2: {\n\t\t\t[vars.fontSize]: globalRefs.typography.body2.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.body2.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.body2.font\n\t\t}\n\t},\n\tmode: {\n\t\tprimary: {\n\t\t\t[vars.color]: globalRefs.colors.primary.main\n\t\t},\n\t\tsecondary: {\n\t\t\t[vars.color]: globalRefs.colors.secondary.main\n\t\t},\n\t\terror: {\n\t\t\t[vars.color]: globalRefs.colors.error.main\n\t\t},\n\t\tsuccess: {\n\t\t\t[vars.color]: globalRefs.colors.success.main\n\t\t}\n\t},\n\ttextAlign: {\n\t\tright: { [vars.textAlign]: 'right' },\n\t\tleft: { [vars.textAlign]: 'left' },\n\t\tcenter: { [vars.textAlign]: 'center' }\n\t},\n\t_fullWidth: {\n\t\t[vars.width]: '100%',\n\t\t[vars.display]: 'block'\n\t},\n\t_italic: {\n\t\t[vars.fontStyle]: 'italic'\n\t},\n\t_uppercase: {\n\t\t[vars.textTransform]: 'uppercase'\n\t},\n\t_lowercase: {\n\t\t[vars.textTransform]: 'lowercase'\n\t}\n};\n\nexport default text;\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport Link from '../../components/descope-link/Link';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = Link.cssVarList;\n\nconst link = {\n\t[vars.cursor]: 'pointer',\n\t[vars.borderBottomWidth]: '2px',\n\t[vars.borderBottomStyle]: 'solid',\n\t[vars.borderBottomColor]: 'transparent',\n\t[vars.color]: globalRefs.colors.primary.main,\n\n\t_hover: {\n\t\t[vars.borderBottomColor]: globalRefs.colors.primary.main\n\t},\n\n\ttextAlign: {\n\t\tright: { [vars.textAlign]: 'right' },\n\t\tleft: { [vars.textAlign]: 'left' },\n\t\tcenter: { [vars.textAlign]: 'center' }\n\t},\n\n\t_fullWidth: {\n\t\t[vars.width]: '100%'\n\t},\n\n\tmode: {\n\t\tprimary: {\n\t\t\t[vars.color]: globalRefs.colors.primary.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.borderBottomColor]: globalRefs.colors.primary.main\n\t\t\t}\n\t\t},\n\t\tsecondary: {\n\t\t\t[vars.color]: globalRefs.colors.secondary.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.borderBottomColor]: globalRefs.colors.secondary.main\n\t\t\t}\n\t\t},\n\t\terror: {\n\t\t\t[vars.color]: globalRefs.colors.error.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.borderBottomColor]: globalRefs.colors.error.main\n\t\t\t}\n\t\t},\n\t\tsuccess: {\n\t\t\t[vars.color]: globalRefs.colors.success.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.borderBottomColor]: globalRefs.colors.success.main\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport default link;\n","import Divider, { componentName } from '../../components/descope-divider/Divider';\nimport { createHelperVars } from '../../helpers/themeHelpers';\n\nconst vars = Divider.cssVarList;\n\nconst thickness = '2px'\nconst textPaddingSize = '10px'\nconst [helperTheme, helperRefs] = createHelperVars({ thickness, textPaddingSize }, componentName);\n\n\nconst divider = {\n\t...helperTheme,\n\t[vars.alignItems]: 'center',\n\t[vars.dividerHeight]: helperRefs.thickness,\n\t[vars.backgroundColor]: 'currentColor',\n\t[vars.opacity]: '0.2',\n\t[vars.textPadding]: `0 ${helperRefs.textPaddingSize}`,\n\t[vars.width]: '100%',\n\t[vars.flexDirection]: 'row',\n\t[vars.alignSelf]: 'strech',\n\t[vars.textWidth]: 'fit-content',\n\t[vars.maxTextWidth]: 'calc(100% - 100px)',\n\t_vertical: {\n\t\t[vars.padding]: `0 calc(${thickness} * 3)`,\n\t\t[vars.width]: 'fit-content',\n\t\t[vars.textPadding]: `${helperRefs.textPaddingSize} 0`,\n\t\t[vars.flexDirection]: 'column',\n\t\t[vars.minHeight]: '200px',\n\t\t[vars.textWidth]: 'fit-content',\n\t\t[vars.dividerWidth]: helperRefs.thickness,\n\t\t[vars.maxTextWidth]: '100%',\n\t}\n};\n\nexport default divider;\n","import Passcode from '../../components/descope-passcode/Passcode';\nimport { textField } from './textField';\n\nconst passcode = {\n\t...textField(Passcode.cssVarList),\n};\n\nexport default passcode;\n","import LoaderLinear from '../../../components/descope-loader-linear/LoaderLinear';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport globals from '../../globals';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = LoaderLinear.cssVarList;\n\nconst loaderLinear = {\n\t[vars.display]: 'inline-block',\n\t[vars.barColor]: globalRefs.colors.surface.contrast,\n\t[vars.barWidth]: '20%',\n\t[vars.surfaceColor]: globalRefs.colors.surface.main,\n\t[vars.borderRadius]: '4px',\n\t[vars.animationDuration]: '2s',\n\t[vars.animationTimingFunction]: 'linear',\n\t[vars.animationIterationCount]: 'infinite',\n\t[vars.width]: '100%',\n\tsize: {\n\t\txs: {\n\t\t\t[vars.height]: '6px'\n\t\t},\n\t\tsm: {\n\t\t\t[vars.height]: '8px'\n\t\t},\n\t\tmd: {\n\t\t\t[vars.height]: '10px'\n\t\t},\n\t\tlg: {\n\t\t\t[vars.height]: '12px'\n\t\t},\n\t\txl: {\n\t\t\t[vars.height]: '14px'\n\t\t}\n\t},\n\tmode: {\n\t\tprimary: {\n\t\t\t[vars.barColor]: globalRefs.colors.primary.main\n\t\t},\n\t\tsecondary: {\n\t\t\t[vars.barColor]: globalRefs.colors.secondary.main\n\t\t}\n\t},\n\t_hidden: {\n\t\t[vars.display]: 'none'\n\t}\n};\n\nexport default loaderLinear;\n","import LoaderRadial from '../../../components/descope-loader-radial/LoaderRadial';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport globals from '../../globals';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = LoaderRadial.cssVarList;\n\nconst loaderRadial = {\n\t[vars.display]: 'inline-block',\n\t[vars.color]: globalRefs.colors.surface.contrast,\n\t[vars.animationDuration]: '2s',\n\t[vars.animationTimingFunction]: 'linear',\n\t[vars.animationIterationCount]: 'infinite',\n\t[vars.spinnerStyle]: 'solid',\n\t[vars.spinnerWidth]: '4px',\n\t[vars.spinnerRadius]: '50%',\n\t[vars.spinnerTopColor]: 'currentColor',\n\t[vars.spinnerBottomColor]: 'transparent',\n\t[vars.spinnerRightColor]: 'currentColor',\n\t[vars.spinnerLeftColor]: 'transparent',\n\tsize: {\n\t\txs: {\n\t\t\t[vars.width]: '20px',\n\t\t\t[vars.height]: '20px',\n\t\t\t[vars.spinnerWidth]: '2px'\n\t\t},\n\t\tsm: {\n\t\t\t[vars.width]: '30px',\n\t\t\t[vars.height]: '30px',\n\t\t\t[vars.spinnerWidth]: '3px'\n\t\t},\n\t\tmd: {\n\t\t\t[vars.width]: '40px',\n\t\t\t[vars.height]: '40px',\n\t\t\t[vars.spinnerWidth]: '4px'\n\t\t},\n\t\tlg: {\n\t\t\t[vars.width]: '60px',\n\t\t\t[vars.height]: '60px',\n\t\t\t[vars.spinnerWidth]: '5px'\n\t\t},\n\t\txl: {\n\t\t\t[vars.width]: '80px',\n\t\t\t[vars.height]: '80px',\n\t\t\t[vars.spinnerWidth]: '6px'\n\t\t}\n\t},\n\tmode: {\n\t\tprimary: {\n\t\t\t[vars.color]: globalRefs.colors.primary.main\n\t\t},\n\t\tsecondary: {\n\t\t\t[vars.color]: globalRefs.colors.secondary.main\n\t\t}\n\t},\n\t_hidden: {\n\t\t[vars.display]: 'none'\n\t}\n};\n\nexport default loaderRadial;\n","import { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tcomponentNameValidationMixin,\n\tportalMixin,\n\tproxyInputMixin\n} from '../../mixins';\n\nexport const componentName = getComponentName('combo-box');\n\nconst selectors = {\n\tinput: { selector: '::part(input-field)' },\n\ttoggle: { selector: '::part(toggle-button)' }\n};\n\nconst { input, toggle } = selectors;\n\nconst borderRadius = {\n\ttopRightRadius: {\n\t\tselector: input.selector,\n\t\tproperty: 'border-top-right-radius'\n\t},\n\tbottomRightRadius: {\n\t\tselector: input.selector,\n\t\tproperty: 'border-bottom-right-radius'\n\t},\n\ttopLeftRadius: {\n\t\tselector: input.selector,\n\t\tproperty: 'border-top-left-radius'\n\t},\n\tbottomLeftRadius: {\n\t\tselector: input.selector,\n\t\tproperty: 'border-bottom-left-radius'\n\t}\n};\n\nconst ComboBoxMixin = (superclass) => class ComboBoxMixinClass extends superclass {\n\n\t// vaadin api is to set props on their combo box node, \n\t// in order to avoid it, we are passing the children of this component\n\t// to the items & renderer props, so it will be used as the combo box items\n\t#onChildrenChange() {\n\t\tconst baseElement = this.shadowRoot.querySelector(this.baseSelector)\n\t\tconst items = Array.from(this.children)\n\n\t\t// we want the data-name attribute to be accessible as an object attribute\n\t\tbaseElement.items = items.map((node) =>\n\t\t\tObject.defineProperty(node, 'data-name', {\n\t\t\t\tvalue: node.getAttribute('data-name')\n\t\t\t})\n\t\t);\n\n\t\tbaseElement.renderer = (root, combo, model) => {\n\t\t\troot.innerHTML = items[model.index].outerHTML;\n\t\t};\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback?.()\n\n\t\tobserveChildren(this, this.#onChildrenChange.bind(this))\n\t}\n}\n\nconst ComboBox = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\t...borderRadius,\n\t\t\tbackgroundColor: input,\n\t\t\twidth: input,\n\t\t\tcolor: input,\n\t\t\tpadding: input,\n\t\t\tborderColor: input,\n\t\t\tborderStyle: input,\n\t\t\tborderWidth: input,\n\t\t\tcursor: toggle,\n\t\t\theight: input,\n\t\t}\n\t}),\n\tdraggableMixin,\n\tportalMixin({\n\t\tname: 'overlay',\n\t\tselector: 'vaadin-combo-box-scroller',\n\t\tmappings: {\n\t\t\tborder: { selector: () => '::slotted(*)' },\n\t\t\tbackgroundColor: {},\n\t\t}\n\t}),\n\tproxyInputMixin,\n\tcomponentNameValidationMixin,\n\tComboBoxMixin\n)(\n\tcreateProxy({\n\t\tslots: ['prefix'],\n\t\twrappedEleName: 'vaadin-combo-box',\n\t\tstyle: () => `\n\t\t:host {\n\t\t\t-webkit-mask-image: none;\n\t\t}\n\t\t`,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tincludeAttrsSync: [],\n\t\tcomponentName,\n\t\tincludeForwardProps: ['items', 'renderer']\n\t})\n);\n\nexport default ComboBox;\n","import globals from '../globals';\nimport ComboBox from '../../components/descope-combo-box/ComboBox';\nimport { textField } from './textField';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = ComboBox.cssVarList;\n\nexport const comboBox = {\n\t...textField(ComboBox.cssVarList),\n\tsize: {\n\t\txs: {\n\t\t\t[vars.width]: '30px'\n\t\t}\n\t},\n\t[vars.borderColor]: 'green',\n\t[vars.borderWidth]: '0',\n\t[vars.cursor]: 'pointer',\n\t[vars.padding]: '0',\n\n\t'@overlay': {\n\t\t[vars.overlayBackgroundColor] : 'red',\n\t\t[vars.overlayBorder]: '3px solid blue',\n\n\t\t_hover: {\n\t\t\t[vars.overlayBackgroundColor] : 'blue',\n\t\t}\n\t}\n};\n\nexport default comboBox;\n","import button from './button';\nimport textField from './textField';\nimport passwordField from './passwordField';\nimport numberField from './numberField';\nimport emailField from './emailField';\nimport textArea from './textArea';\nimport checkbox from './checkbox';\nimport switchToggle from './switchToggle';\nimport container from './container';\nimport logo from './logo';\nimport text from './text';\nimport link from './link';\nimport divider from './divider';\nimport passcode from './passcode';\nimport { loaderRadial, loaderLinear } from './loader';\nimport comboBox from './comboBox';\n\nexport default {\n\tbutton,\n\ttextField,\n\tpasswordField,\n\tnumberField,\n\temailField,\n\ttextArea,\n\tcheckbox,\n\tswitchToggle,\n\tcontainer,\n\tlogo,\n\ttext,\n\tlink,\n\tdivider,\n\tpasscode,\n\tloaderRadial,\n\tloaderLinear,\n\tcomboBox\n};\n","import globals from './globals';\nimport components from './components';\n\nexport default { globals, components };\n"],"names":["componentName","label","host","selectors","root","after","text","overrides","descopeInternalComponentName","globalRefs","vars","helperTheme","helperRefs","textField","switchToggle"],"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/baseClasses/createBaseClass.js","../src/mixins/createProxy.js","../src/helpers/mixinsHelpers.js","../src/mixins/inputValidationMixin.js","../src/mixins/proxyInputMixin.js","../src/mixins/componentNameValidationMixin.js","../src/mixins/hoverableMixin.js","../src/mixins/focusMixin.js","../src/mixins/portalMixin.js","../src/mixins/changeMixin.js","../src/components/descope-button/Button.js","../src/components/descope-button/index.js","../src/components/descope-checkbox/Checkbox.js","../src/components/descope-checkbox/index.js","../src/components/descope-loader-linear/LoaderLinear.js","../src/components/descope-loader-linear/index.js","../src/components/descope-loader-radial/LoaderRadial.js","../src/components/descope-loader-radial/index.js","../src/components/descope-container/Container.js","../src/components/descope-container/index.js","../src/components/descope-date-picker/index.js","../src/components/descope-divider/Divider.js","../src/components/descope-text/Text.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/EmailField.js","../src/components/descope-email-field/index.js","../src/components/descope-link/Link.js","../src/components/descope-link/index.js","../src/components/descope-logo/Logo.js","../src/components/descope-logo/index.js","../src/components/descope-number-field/NumberField.js","../src/components/descope-number-field/index.js","../src/baseClasses/BaseInputClass.js","../src/components/descope-passcode/descope-passcode-internal/helpers.js","../src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js","../src/components/descope-text-field/TextField.js","../src/components/descope-passcode/Passcode.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-field/PasswordField.js","../src/components/descope-password-field/index.js","../src/components/descope-switch-toggle/SwitchToggle.js","../src/components/descope-switch-toggle/index.js","../src/components/descope-text-area/TextArea.js","../src/components/descope-text-area/index.js","../src/helpers/themeHelpers/index.js","../src/helpers/themeHelpers/colorsHelpers.js","../src/theme/globals.js","../src/theme/components/button.js","../src/theme/components/textField.js","../src/theme/components/passwordField.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/text.js","../src/theme/components/link.js","../src/theme/components/divider.js","../src/theme/components/passcode.js","../src/theme/components/loader/loaderLinear.js","../src/theme/components/loader/loaderRadial.js","../src/components/descope-combo-box/ComboBox.js","../src/theme/components/comboBox.js","../src/theme/components/index.js","../src/theme/index.js"],"sourcesContent":["\nexport const kebabCase = (str) =>\n\tstr\n\t\t.replace(/([a-z])([A-Z])/g, '$1-$2')\n\t\t.replace(/[\\s_.]+/g, '-')\n\t\t.toLowerCase();\n\nexport const kebabCaseJoin = (...args) => kebabCase(args.filter((arg) => !!arg).join('-'));\n\nexport const compose = (...fns) =>\n\t(val) =>\n\t\tfns.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'","export const DESCOPE_PREFIX = 'descope';\nexport const CSS_SELECTOR_SPECIFIER_MULTIPLY = 3\nexport const BASE_THEME_SECTION = 'host'\nexport const PORTAL_THEME_PREFIX = '@'","import { kebabCaseJoin } from '.';\nimport { DESCOPE_PREFIX } from '../constants';\n\nexport const observeAttributes = (\n\tele,\n\tcallback,\n\t{ excludeAttrs = [], includeAttrs = [] }\n) => {\n\t// sync all attrs on init\n\tconst filteredAttrs = Array.from(ele.attributes)\n\t\t.filter((attr) =>\n\t\t\t!excludeAttrs.includes(attr.name) &&\n\t\t\t(!includeAttrs.length || includeAttrs.includes(attr.name))\n\t\t)\n\t\t.map((attr) => attr.name)\n\n\tcallback(filteredAttrs);\n\n\tconst observer = new MutationObserver((mutationsList) => {\n\t\tfor (const mutation of mutationsList) {\n\t\t\tif (\n\t\t\t\tmutation.type === 'attributes' &&\n\t\t\t\t!excludeAttrs.includes(mutation.attributeName) &&\n\t\t\t\t(!includeAttrs.length || includeAttrs.includes(mutation.attributeName))\n\t\t\t) {\n\t\t\t\tcallback([mutation.attributeName]);\n\t\t\t}\n\t\t}\n\t});\n\n\tobserver.observe(ele, { attributes: true });\n};\n\n// calling the callback with this object: { addedNodes, removedNodes }\nexport const observeChildren = (\n\tele,\n\tcallback,\n) => {\n\tcallback({ addedNodes: Array.from(ele.children), removedNodes: [] });\n\n\tconst observer = new MutationObserver((mutationsList) => {\n\t\tfor (const mutation of mutationsList) {\n\t\t\tif (mutation.type === 'childList') {\n\t\t\t\tcallback(mutation);\n\t\t\t}\n\t\t}\n\t});\n\n\tobserver.observe(ele, { childList: true });\n};\n\nconst createSyncAttrsCb =\n\t(srcEle, targetEle, mapAttrs = {}) =>\n\t\t(attrNames) => {\n\t\t\tattrNames.forEach((attrName) => {\n\t\t\t\tconst targetAttrName = mapAttrs[attrName] || attrName;\n\t\t\t\tconst srcAttrVal = srcEle.getAttribute(attrName);\n\t\t\t\tif (srcAttrVal !== null) {\n\t\t\t\t\tif (targetEle.getAttribute(targetAttrName) !== srcAttrVal) {\n\t\t\t\t\t\ttargetEle.setAttribute(targetAttrName, srcAttrVal);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttargetEle.removeAttribute(targetAttrName);\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\nexport const syncAttrs = (ele1, ele2, options) => {\n\tobserveAttributes(ele1, createSyncAttrsCb(ele1, ele2), options);\n\tobserveAttributes(ele2, createSyncAttrsCb(ele2, ele1), options);\n};\n\nexport const getComponentName = (name) => kebabCaseJoin(DESCOPE_PREFIX, name);\n\nexport const getCssVarName = (...args) =>\n\t`--${kebabCaseJoin(...args)}`;\n\nexport const forwardAttrs = (source, dest, options = {}) => {\n\tobserveAttributes(\n\t\tsource,\n\t\tcreateSyncAttrsCb(source, dest, options.mapAttrs),\n\t\toptions\n\t);\n};\n\nexport const forwardProps = (src, target, props = []) => {\n\tif (!props.length) return;\n\n\tconst config = props.reduce((acc, prop) => Object.assign(acc, {\n\t\t[prop]: {\n\t\t\tget() {\n\t\t\t\treturn target[prop]\n\t\t\t},\n\t\t\tset(v) {\n\t\t\t\ttarget[prop] = v\n\t\t\t}\n\t\t}\n\t}), {})\n\n\tObject.defineProperties(src, config)\n}\n","\nclass 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 () => { this.#callbacks.delete(cb); };\n };\n\n set themes(themes) {\n this.#themes = themes;\n this.#notify();\n }\n}\n\nexport const componentsThemeManager = new ComponentsThemeManager()\n","import { isFunction, kebabCase } from '../../helpers';\nimport { getCssVarName } from '../../helpers/componentHelpers';\n\nconst createCssVarFallback = (first, ...rest) =>\n\t`var(${first}${rest.length ? ` , ${createCssVarFallback(...rest)}` : ''})`;\n\nconst createCssSelector = (\n\tbaseSelector = '',\n\trelativeSelectorOrSelectorFn = ''\n) =>\n\tisFunction(relativeSelectorOrSelectorFn)\n\t\t? relativeSelectorOrSelectorFn(baseSelector)\n\t\t: `${baseSelector}${/^[A-Za-z]/.test(relativeSelectorOrSelectorFn)\n\t\t\t? ` ${relativeSelectorOrSelectorFn}`\n\t\t\t: relativeSelectorOrSelectorFn\n\t\t}`;\n\nclass StyleBuilder {\n\tconstructor() {\n\t\tthis.styleMap = new Map();\n\t}\n\n\tadd(selector, property, value) {\n\t\tif (!this.styleMap.has(selector)) {\n\t\t\tthis.styleMap.set(selector, []);\n\t\t}\n\n\t\tthis.styleMap.set(selector, [\n\t\t\t...this.styleMap.get(selector),\n\t\t\t{ property, value }\n\t\t]);\n\t}\n\n\ttoString() {\n\t\treturn Array.from(this.styleMap.entries()).reduce(\n\t\t\t(style, [selector, propValArr]) =>\n\t\t\t(style += `${selector} { \\n${propValArr\n\t\t\t\t.map(({ property, value }) => `${property}: ${value}`)\n\t\t\t\t.join(';\\n')} \\n}\\n\\n`),\n\t\t\t''\n\t\t);\n\t}\n}\n\nconst normalizeConfig = (attr, config) => {\n\tconst defaultMapping = { selector: '', property: kebabCase(attr) };\n\n\tif (!config || !Object.keys(config).length) return [defaultMapping];\n\n\tif (Array.isArray(config))\n\t\treturn config.map((entry) => Object.assign({}, defaultMapping, entry));\n\n\treturn [Object.assign({}, defaultMapping, config)];\n};\n\nexport const createStyle = (componentName, baseSelector, mappings) => {\n\tconst style = new StyleBuilder();\n\n\tObject.keys(mappings).forEach((attr) => {\n\t\tconst attrConfig = normalizeConfig(attr, mappings[attr]);\n\n\t\tconst cssVarName = getCssVarName(componentName, attr);\n\n\t\tattrConfig.forEach(\n\t\t\t({ selector: relativeSelectorOrSelectorFn, property }) => {\n\t\t\t\tstyle.add(\n\t\t\t\t\tcreateCssSelector(baseSelector, relativeSelectorOrSelectorFn),\n\t\t\t\t\tisFunction(property) ? property() : property,\n\t\t\t\t\tcreateCssVarFallback(cssVarName)\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t});\n\n\treturn style.toString();\n};\n\nexport const createCssVarsList = (componentName, mappings) =>\n\tObject.keys(mappings).reduce(\n\t\t(acc, attr) =>\n\t\t\tObject.assign(acc, { [attr]: getCssVarName(componentName, attr) }),\n\t\t{}\n\t);\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) => Array(numOfRepeats)\n\t.fill(`.${className}`)\n\t.join('')","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\n\nexport const createStyleMixin =\n\t({ mappings = {} }) => (superclass) =>\n\t\tclass CustomStyleMixinClass extends superclass {\n\t\t\tstatic get cssVarList() {\n\t\t\t\treturn {\n\t\t\t\t\t...superclass.cssVarList,\n\t\t\t\t\t...createCssVarsList(superclass.componentName, {\n\t\t\t\t\t\t...mappings,\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t#overrideStyleEle;\n\t\t\t#themeStyleEle;\n\t\t\t#disconnectThemeManager\n\t\t\t#componentNameSuffix\n\t\t\t#themeSection\n\t\t\t#rootElement\n\t\t\t#baseSelector\n\t\t\t#styleAttributes\n\n\t\t\t// we are using this mixin also for portalMixin\n\t\t\t// so we should be able to inject styles to other DOM elements\n\t\t\t// this is why we need to support these overrides\n\t\t\tconstructor({\n\t\t\t\tgetRootElement,\n\t\t\t\tcomponentNameSuffix = '',\n\t\t\t\tthemeSection = BASE_THEME_SECTION,\n\t\t\t\tbaseSelector\n\t\t\t} = {}) {\n\t\t\t\tsuper();\n\t\t\t\tthis.#componentNameSuffix = componentNameSuffix\n\t\t\t\tthis.#themeSection = themeSection\n\t\t\t\tthis.#rootElement = getRootElement?.(this) || this.shadowRoot\n\t\t\t\tthis.#baseSelector = baseSelector ?? this.baseSelector\n\n\t\t\t\tthis.#styleAttributes = Object.keys(mappings).map((key) =>\n\t\t\t\t\tkebabCaseJoin(STYLE_OVERRIDE_ATTR_PREFIX, componentNameSuffix, key)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tget componentTheme() {\n\t\t\t\treturn componentsThemeManager.currentTheme?.[superclass.componentName] || ''\n\t\t\t}\n\n\t\t\t#onComponentThemeChange() {\n\t\t\t\tthis.#themeStyleEle.innerHTML = this.componentTheme[this.#themeSection]\n\t\t\t}\n\n\t\t\t#createComponentTheme() {\n\t\t\t\tthis.#themeStyleEle = document.createElement('style');\n\t\t\t\tthis.#themeStyleEle.id = 'style-mixin-theme';\n\t\t\t\tthis.#rootElement.prepend(this.#themeStyleEle);\n\t\t\t\tthis.#disconnectThemeManager = componentsThemeManager.onCurrentThemeChange(this.#onComponentThemeChange.bind(this))\n\t\t\t\tthis.#onComponentThemeChange()\n\t\t\t}\n\n\t\t\t#createOverridesStyle() {\n\t\t\t\tthis.#overrideStyleEle = document.createElement('style');\n\t\t\t\tthis.#overrideStyleEle.id = 'style-mixin-overrides';\n\n\t\t\t\tconst classSpecifier = createClassSelectorSpecifier(superclass.componentName, CSS_SELECTOR_SPECIFIER_MULTIPLY);\n\n\t\t\t\tthis.#overrideStyleEle.innerText = `:host(${classSpecifier}) {}`;\n\t\t\t\tthis.#rootElement.append(this.#overrideStyleEle);\n\t\t\t}\n\n\t\t\t#setAttrOverride(attrName, value) {\n\t\t\t\tconst style = this.#overrideStyleEle?.sheet?.cssRules[0].style;\n\t\t\t\tif (!style) return;\n\n\t\t\t\tconst varName = getCssVarName(\n\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\tattrName.replace(new RegExp(`^${STYLE_OVERRIDE_ATTR_PREFIX}-`), '')\n\t\t\t\t);\n\n\t\t\t\tif (value) style?.setProperty(varName, value);\n\t\t\t\telse style?.removeProperty(varName);\n\t\t\t}\n\n\t\t\t#updateOverridesStyle(attrs = []) {\n\t\t\t\tfor (const attr of attrs) {\n\t\t\t\t\tif (this.#styleAttributes.includes(attr)) {\n\t\t\t\t\t\tthis.#setAttrOverride(attr, this.getAttribute(attr));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// we are rewriting the style back to the style tag\n\t\t\t\tthis.#overrideStyleEle.innerHTML = this.#overrideStyleEle?.sheet?.cssRules[0].cssText\n\t\t\t}\n\n\t\t\t#createMappingStyle() {\n\t\t\t\tconst themeStyle = document.createElement('style');\n\t\t\t\tthemeStyle.id = 'style-mixin-mappings'\n\t\t\t\tthemeStyle.innerHTML = createStyle(\n\t\t\t\t\tkebabCaseJoin(superclass.componentName, this.#componentNameSuffix),\n\t\t\t\t\tthis.#baseSelector,\n\t\t\t\t\tmappings\n\t\t\t\t);\n\t\t\t\tthis.#rootElement.prepend(themeStyle);\n\t\t\t}\n\n\t\t\t#addClassName(className) {\n\t\t\t\t(this.#rootElement.classList || this.#rootElement.host.classList).add(className)\n\t\t\t}\n\n\t\t\tconnectedCallback() {\n\t\t\t\tsuper.connectedCallback?.();\n\t\t\t\tif (this.shadowRoot.isConnected) {\n\n\t\t\t\t\tthis.#addClassName(superclass.componentName)\n\n\t\t\t\t\t// TODO: we should do everything we can on the constructor\n\t\t\t\t\t// when dragging & dropping these styles are created over & over\n\t\t\t\t\tthis.#createMappingStyle();\n\t\t\t\t\tthis.#createComponentTheme();\n\t\t\t\t\tthis.#createOverridesStyle();\n\n\t\t\t\t\t// this is instead attributeChangedCallback because we cannot use static methods in this case\n\t\t\t\t\tobserveAttributes(this, this.#updateOverridesStyle.bind(this), {})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdisconnectedCallback() {\n\t\t\t\tthis.#disconnectThemeManager?.();\n\t\t\t}\n\t\t};\n","export const draggableMixin = (superclass) =>\n\tclass DraggableMixinClass extends superclass {\n\t\t#styleEle = null;\n\n\t\tstatic get observedAttributes() {\n\t\t\tconst superAttrs = superclass.observedAttributes || [];\n\t\t\treturn [...superAttrs, 'draggable'];\n\t\t}\n\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\tthis.#styleEle = document.createElement('style');\n\t\t\tthis.#styleEle.innerText = `* { cursor: inherit!important }`;\n\t\t}\n\n\t\t#handleDraggableStyle(isDraggable) {\n\t\t\tif (isDraggable) {\n\t\t\t\tthis.shadowRoot.appendChild(this.#styleEle);\n\t\t\t} else {\n\t\t\t\tthis.#styleEle.remove();\n\t\t\t}\n\t\t}\n\n\t\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\t\tsuper.attributeChangedCallback?.(attrName, oldValue, newValue);\n\t\t\tif (attrName === 'draggable') {\n\t\t\t\tthis.#handleDraggableStyle(newValue === 'true');\n\t\t\t}\n\t\t}\n\t};\n","import { compose } from \"../helpers\";\nimport { componentNameValidationMixin, hoverableMixin } from \"../mixins\";\n\nexport const createBaseClass = ({ componentName, baseSelector = '' }) => {\n class DescopeBaseClass extends HTMLElement {\n static get componentName() {\n return componentName;\n }\n\n #baseElement;\n get baseSelector() {\n return baseSelector\n }\n\n get baseElement() {\n this.#baseElement ??= this.baseSelector ?\n this.rootElement.querySelector(this.baseSelector) :\n this;\n\n return this.#baseElement\n }\n\n get rootElement() {\n return this.shadowRoot || this\n }\n }\n\n return compose(componentNameValidationMixin, hoverableMixin)(DescopeBaseClass)\n}\n","import { createBaseClass } from '../baseClasses/createBaseClass';\nimport { isFunction } from '../helpers';\nimport { forwardProps, syncAttrs } from '../helpers/componentHelpers';\n\nexport const createProxy = ({\n\tcomponentName,\n\twrappedEleName,\n\tslots = [],\n\tstyle,\n\texcludeAttrsSync = [],\n\tincludeAttrsSync = [],\n\tincludeForwardProps = []\n}) => {\n\tconst template = `\n\t\t<style id=\"create-proxy\"></style>\n\t\t<${wrappedEleName}>\n\t\t<slot></slot>\n\t\t${slots.map((slot) => `<slot name=\"${slot}\" slot=\"${slot}\"></slot>`).join('')}\n\t\t</${wrappedEleName}>\n\t`;\n\n\tclass ProxyClass extends createBaseClass({ componentName, baseSelector: wrappedEleName }) {\n\t\tconstructor() {\n\t\t\tsuper().attachShadow({ mode: 'open' }).innerHTML = template;\n\t\t\tthis.hostElement = this.shadowRoot.host;\n\t\t\tthis.shadowRoot.getElementById('create-proxy').innerHTML =\n\t\t\t\tisFunction(style) ? style() : style;\n\t\t}\n\n\t\t#boundOnFocus = this.#onFocus.bind(this);\n\n\t\t// we want to focus on the proxy element when focusing our WCP\n\t\t#onFocus() {\n\t\t\tthis.proxyElement.focus();\n\t\t}\n\n\t\tfocus = this.#onFocus\n\n\t\tconnectedCallback() {\n\t\t\tif (this.shadowRoot.isConnected) {\n\t\t\t\tthis.proxyElement = this.shadowRoot.querySelector(wrappedEleName);\n\n\t\t\t\tthis.addEventListener('focus', this.#boundOnFocus);\n\n\t\t\t\t// this is needed for components that uses props, such as combo box\n\t\t\t\tforwardProps(this.hostElement, this.proxyElement, includeForwardProps)\n\n\t\t\t\t// `onkeydown` is set on `proxyElement` support proper tab-index navigation\n\t\t\t\t// this support is needed since both proxy host and element catch `focus`/`blur` event\n\t\t\t\t// which causes faulty behavior.\n\t\t\t\t// we need this to happen only when the proxy component is in the light DOM, \n\t\t\t\t// otherwise it will focus the nested proxy element\n\t\t\t\tthis.proxyElement.onkeydown = (e) => {\n\t\t\t\t\tif (e.shiftKey && e.keyCode === 9 && this.getRootNode() === document) {\n\t\t\t\t\t\tthis.removeAttribute('tabindex');\n\t\t\t\t\t\t// We want to defer the action of setting the tab index back\n\t\t\t\t\t\t// so it will happen after focusing the previous element\n\t\t\t\t\t\tsetTimeout(() => this.setAttribute('tabindex', '0'), 0);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tsyncAttrs(this.proxyElement, this.hostElement, {\n\t\t\t\t\texcludeAttrs: excludeAttrsSync,\n\t\t\t\t\tincludeAttrs: includeAttrsSync\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tattributeChangedCallback() {\n\t\t\tif (!this.proxyElement) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tsuper.disconnectedCallback?.()\n\n\t\t\tthis.removeEventListener('focus', this.#boundOnFocus);\n\t\t}\n\t}\n\n\treturn ProxyClass;\n};\n","// move create event to here\n\n// usage example:\n// #dispatchSomething = createDispatchEvent.bind(this, 'something')\nexport function createDispatchEvent(eventName) {\n this[`on${eventName}`]?.(); // in case we got an event callback as property\n this.dispatchEvent(new Event(eventName));\n}\n\n// usage example:\n// #removeChangeListener = createEventListener.call(this,'change', this.onChange)\nexport function createEventListener(event, callback) {\n const boundCallback = callback.bind(this);\n\n this.addEventListener(event, boundCallback);\n\n return () => this.removeEventListener(event, boundCallback)\n}\n","import { createDispatchEvent } from \"../helpers/mixinsHelpers\";\n\nconst observedAttributes = [\n 'required',\n 'pattern',\n]\n\nconst errorAttributes = {\n valueMissing: 'data-errormessage-value-missing',\n patternMismatch: 'data-errormessage-pattern-mismatch'\n}\nexport const inputValidationMixin = (superclass) => class InputValidationMixinClass extends superclass {\n static get observedAttributes() {\n return [\n ...superclass.observedAttributes || [],\n ...observedAttributes\n ];\n }\n\n static get formAssociated() {\n return true;\n }\n\n #dispatchValid = createDispatchEvent.bind(this, 'valid')\n #dispatchInvalid = createDispatchEvent.bind(this, 'invalid')\n\n #internals\n\n #boundedHandleInput\n\n constructor() {\n super();\n\n this.#internals = this.attachInternals();\n\n this.#boundedHandleInput = this.#handleInput.bind(this);\n }\n\n get defaultErrorMsgValueMissing() {\n return 'Please fill out this field.'\n }\n\n get defaultErrorMsgPatternMismatch() {\n return 'Please match the requested format.'\n }\n\n getErrorMessage(flags) {\n switch (true) {\n case flags.valueMissing:\n return this.getAttribute(errorAttributes.valueMissing) ||\n this.defaultErrorMsgValueMissing\n case flags.patternMismatch || flags.typeMismatch:\n return this.getAttribute(errorAttributes.patternMismatch) ||\n this.defaultErrorMsgPatternMismatch\n case flags.customError:\n return this.validationMessage\n default:\n return ''\n }\n }\n\n setValidity() {\n const validity = this.getValidity()\n this.#internals.setValidity(validity, this.getErrorMessage(validity))\n }\n\n get validationMessage() {\n return this.#internals.validationMessage;\n }\n\n getValidity() {\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 setCustomValidity(errorMessage) {\n if (errorMessage) {\n this.#internals.setValidity({ customError: true }, errorMessage)\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 pattern() {\n return this.getAttribute('pattern')\n }\n\n #handleInput() {\n this.setValidity()\n this.handleDispatchValidationEvents()\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 handleDispatchValidationEvents() {\n if (this.checkValidity()) {\n this.#dispatchValid()\n } else {\n this.#dispatchInvalid()\n }\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n this.addEventListener('input', this.#boundedHandleInput)\n\n this.setValidity();\n this.handleDispatchValidationEvents();\n }\n\n disconnectedCallback() {\n this.removeEventListener('input', this.#boundedHandleInput)\n }\n}\n","import { inputValidationMixin } from \"./inputValidationMixin\";\n\nconst errorAttrs = ['invalid', 'has-error-message'];\n\nconst propertyObserver = (src, target, property) => {\n\tObject.defineProperty(src, property, {\n\t\tset: function (v) {\n\t\t\treturn (target[property] = v);\n\t\t},\n\t\tget: function () {\n\t\t\treturn target[property];\n\t\t},\n\t\tconfigurable: true\n\t});\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\tif (!ele) return;\n\n\tconst nestingLevel = 10\n\n\tlet nonSlotEle = ele\n\tfor (let i = 0; i < nestingLevel; i++) {\n\t\tnonSlotEle = nonSlotEle.assignedElements()[0]\n\t\tif (nonSlotEle.localName !== 'slot') return nonSlotEle\n\t}\n}\n\nexport const proxyInputMixin = (superclass) =>\n\tclass proxyInputMixinClass extends inputValidationMixin(superclass) {\n\t\tstatic get observedAttributes() {\n\t\t\treturn [...superclass.observedAttributes || [], ...errorAttrs];\n\t\t}\n\n\t\t#inputElement\n\n\t\t#boundHandleFocus\n\t\t#boundHandleInvalid\n\t\t#boundHandleValid\n\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\tthis.#inputElement = super.inputElement\n\n\t\t\tthis.#boundHandleFocus = this.#handleFocus.bind(this);\n\t\t\tthis.#boundHandleInvalid = this.#handleInvalid.bind(this);\n\t\t\tthis.#boundHandleValid = this.#handleValid.bind(this);\n\n\t\t\tthis.baseEle = this.shadowRoot.querySelector(this.baseSelector);\n\n\t\t}\n\n\t\tget inputElement() {\n\t\t\tconst inputSlot = this.baseEle.shadowRoot.querySelector('slot[name=\"input\"]')\n\t\t\tconst textAreaSlot = this.baseEle.shadowRoot.querySelector('slot[name=\"textarea\"]')\n\n\t\t\tthis.#inputElement ??= getNestedInput(inputSlot) || getNestedInput(textAreaSlot)\n\n\t\t\tif (!this.#inputElement) throw Error('no input was found');\n\n\t\t\treturn this.#inputElement\n\t\t}\n\n\t\tset inputElement(ele) {\n\t\t\tthis.#inputElement = ele\n\t\t}\n\n\t\tgetValidity() {\n\t\t\treturn this.inputElement.validity\n\t\t}\n\n\t\treportValidityOnInternalInput() {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.baseEle.focus() //TODO: check if this is needed\n\t\t\t\tthis.inputElement.reportValidity()\n\t\t\t})\n\t\t}\n\n\t\t// we want reportValidity to behave like form submission\n\t\treportValidity() {\n\t\t\tif (!isValid) {\n\t\t\t\tthis.setAttribute('invalid', 'true');\n\t\t\t\tthis.reportValidityOnInternalInput()\n\t\t\t}\n\t\t}\n\n\t\tsetInternalInputErrorMessage() {\n\t\t\tif (!this.checkValidity()) {\n\t\t\t\tthis.inputElement.setCustomValidity(this.validationMessage)\n\t\t\t}\n\t\t}\n\n\t\t// when clicking on the form submit button and the input is invalid\n\t\t// we want it to appear as invalid\n\t\t#handleFocus(e) {\n\t\t\tif (e.relatedTarget?.form) {\n\t\t\t\tif (!this.checkValidity()) {\n\t\t\t\t\tthis.setAttribute('invalid', 'true');\n\t\t\t\t}\n\n\t\t\t\tif (this.hasAttribute('invalid')) {\n\t\t\t\t\tthis.reportValidityOnInternalInput()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t#handleInvalid() {\n\t\t\tthis.setInternalInputErrorMessage()\n\t\t\tthis.setAttribute('error-message', this.validationMessage)\n\t\t}\n\n\t\t#handleValid() {\n\t\t\tthis.removeAttribute('invalid')\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tsuper.connectedCallback?.();\n\n\t\t\t// this is our way to identify that the form was submitted\n\t\t\t// in this case, we want the input to be in error state if it's not valid\n\t\t\tthis.addEventListener('focus', this.#boundHandleFocus)\n\n\t\t\tthis.addEventListener('invalid', this.#boundHandleInvalid)\n\t\t\tthis.addEventListener('valid', this.#boundHandleValid)\n\n\t\t\tthis.addEventListener('input', () => {\n\t\t\t\tthis.inputElement.setCustomValidity('')\n\t\t\t\tif (!this.inputElement.checkValidity())\n\t\t\t\t\tthis.setInternalInputErrorMessage()\n\t\t\t})\n\n\t\t\t// this is needed in order to make sure the form input validation is working\n\t\t\tif (!this.hasAttribute('tabindex') && this.getRootNode() === document) {\n\t\t\t\tthis.setAttribute('tabindex', 0);\n\t\t\t}\n\n\t\t\t// sync properties\n\t\t\tpropertyObserver(this, this.inputElement, 'value');\n\t\t\tthis.setSelectionRange = this.inputElement.setSelectionRange?.bind(this.inputElement);\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tthis.removeEventListener('focus', this.#boundHandleFocus)\n\t\t\tthis.removeEventListener('invalid', this.#boundHandleInvalid)\n\t\t\tthis.removeEventListener('valid', this.#boundHandleValid)\n\t\t}\n\n\t\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\t\tsuper.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n\t\t\tif (attrName === 'invalid' && newValue === '') {\n\t\t\t\tthis.setAttribute('invalid', 'true')\n\t\t\t}\n\t\t}\n\t};\n","export const componentNameValidationMixin = (superclass) =>\n\tclass ComponentNameValidationMixinClass extends superclass {\n\t\t#checkComponentName() {\n\t\t\tconst currentComponentName = this.shadowRoot.host.tagName.toLowerCase();\n\n\t\t\tif (!superclass.componentName) {\n\t\t\t\tthrow Error(\n\t\t\t\t\t`component name is not defined on super class, make sure you have a static get for \"componentName\"`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (currentComponentName !== superclass.componentName) {\n\t\t\t\tthrow Error(\n\t\t\t\t\t`component name mismatch, expected \"${superclass.componentName}\", current \"${currentComponentName}\"`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tsuper.connectedCallback?.();\n\t\t\tif (this.shadowRoot.isConnected) {\n\t\t\t\tthis.#checkComponentName();\n\t\t\t}\n\t\t}\n\t};\n","export const hoverableMixin =\n\t(superclass) =>\n\t\tclass HoverableMixinClass extends superclass {\n\t\t\t#boundOnMouseOver = this.#onMouseOver.bind(this)\n\n\t\t\t#onMouseOver(e) {\n\t\t\t\tthis.setAttribute('hover', 'true');\n\t\t\t\te.target.addEventListener(\n\t\t\t\t\t'mouseleave',\n\t\t\t\t\t() => this.shadowRoot.host.removeAttribute('hover'),\n\t\t\t\t\t{ once: true }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconnectedCallback() {\n\t\t\t\tsuper.connectedCallback?.();\n\n\t\t\t\tconst baseElement = this.shadowRoot.querySelector(\n\t\t\t\t\tthis.baseSelector\n\t\t\t\t);\n\n\t\t\t\tbaseElement.addEventListener('mouseover', this.#boundOnMouseOver);\n\t\t\t}\n\t\t};\n","import { upperFirst } from \"../helpers\";\n\nconst events = [\n 'blur',\n 'focus',\n 'focusin',\n 'focusout',\n]\n\nexport const focusMixin = (superclass) => class FocusMixinClass extends superclass {\n #isFocused = false\n #setFocusTimer\n\n #boundedHandleFocus\n #boundedHandleBlur\n #boundedHandleFocusIn\n #boundedHandleFocusOut\n\n constructor() {\n super();\n\n for (const event of events) {\n this[`dispatch${upperFirst(event)}`] = function () {\n this.dispatchInputEvent(event)\n }\n }\n\n this.#boundedHandleFocus = this.#handleFocus.bind(this);\n this.#boundedHandleBlur = this.#handleBlur.bind(this);\n this.#boundedHandleFocusIn = this.#handleFocusIn.bind(this);\n this.#boundedHandleFocusOut = this.#handleFocusOut.bind(this);\n }\n\n #handleFocus(e) {\n if (this.isReadOnly) {\n e.stopPropagation()\n return\n }\n // we want to listen only to browser events \n // and not to events we are dispatching\n if (e.isTrusted) { // TODO: check if this is needed, because Vaadin is also dispatching events\n // we want to control the focus events that dispatched by the component\n // so we are stopping propagation and handling it in setFocus\n e.stopPropagation()\n this.setFocus(true)\n\n // if the focus event is on the root component (and not on the inner components)\n // we want to notify the component and let it decide what to do with it\n if (e.target === this) {\n this.onFocus(e)\n }\n }\n }\n\n #handleFocusOut(e) {\n // we want to listen only to browser events \n // and not to events we are dispatching\n if (e.isTrusted) {\n // we want to control the focus events that dispatched by the component\n // so we are stopping propagation and handling it in setFocus\n e.stopPropagation()\n }\n }\n\n #handleFocusIn(e) {\n // we want to listen only to browser events \n // and not to events we are dispatching\n if (e.isTrusted) {\n // we want to control the focus events that dispatched by the component\n // so we are stopping propagation and handling it in setFocus\n e.stopPropagation()\n }\n }\n\n #handleBlur(e) {\n if (e.isTrusted) {\n e.stopPropagation()\n this.setFocus(false)\n }\n }\n\n get isReadOnly() {\n return this.hasAttribute('readonly') && this.getAttribute('readonly') !== 'false'\n }\n\n // we want to debounce the calls to this fn\n // so we can support input like components with multiple inputs inside\n setFocus(isFocused) {\n clearTimeout(this.#setFocusTimer)\n\n this.#setFocusTimer = setTimeout(() => {\n if (this.#isFocused !== isFocused) {\n this.#isFocused = isFocused\n if (isFocused) {\n this.dispatchFocus();\n this.dispatchFocusin();\n }\n else {\n this.dispatchBlur()\n this.dispatchFocusout();\n }\n }\n })\n }\n\n onFocus() {\n console.warn('onFocus', 'is not implemented')\n }\n\n dispatchInputEvent(eventName) {\n this[`on${eventName}`]?.(); // in case we got an event callback as property\n this.dispatchEvent(new InputEvent(eventName));\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n this.addEventListener('focus', this.#boundedHandleFocus, true)\n this.addEventListener('blur', this.#boundedHandleBlur, true)\n this.addEventListener('focusin', this.#boundedHandleFocusIn)\n this.addEventListener('focusout', this.#boundedHandleFocusOut)\n }\n\n disconnectedCallback() {\n this.removeEventListener('focus', this.#boundedHandleFocus)\n this.removeEventListener('blur', this.#boundedHandleBlur)\n this.removeEventListener('focusin', this.#boundedHandleFocusIn)\n this.removeEventListener('focusout', this.#boundedHandleFocusOut)\n }\n}\n","import { PORTAL_THEME_PREFIX } from \"../constants\";\nimport { kebabCaseJoin, upperFirst } 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 getDomNode = (maybeDomNode) => maybeDomNode.host || maybeDomNode;\n\nexport const portalMixin = ({ name, selector, mappings = {} }) => (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(kebabCaseJoin(superclass.componentName, DISPLAY_NAME_SEPARATOR + eleDisplayName), mappings)\n };\n }\n\n #portalEle\n\n constructor() {\n // we cannot use \"this\" before calling \"super\"\n const getRootElement = (that) => {\n const baseEle = that.shadowRoot.querySelector(that.baseSelector)\n const portal = selector ? baseEle.shadowRoot.querySelector(selector) : baseEle\n\n return portal.shadowRoot || portal\n };\n\n super({\n getRootElement,\n componentNameSuffix: DISPLAY_NAME_SEPARATOR + eleDisplayName,\n themeSection: PORTAL_THEME_PREFIX + eleDisplayName,\n baseSelector: ':host'\n })\n\n this.#portalEle = getDomNode(getRootElement(this))\n }\n\n #handleHoverAttribute() {\n this.#portalEle.onmouseenter = (e) => { e.target.setAttribute('hover', 'true') }\n this.#portalEle.onmouseleave = (e) => { e.target.removeAttribute('hover') }\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n forwardAttrs(this, this.#portalEle, { excludeAttrs: ['hover'] })\n\n this.#handleHoverAttribute();\n }\n }\n}","import { createDispatchEvent } from \"../helpers/mixinsHelpers\";\n\nexport const changeMixin = (superclass) => class ChangeMixinClass extends superclass {\n\n #boundedHandleChange\n #boundedHandleBlur \n \n #removeChangeListener\n #removeBlurListener\n\n #dispatchChange = createDispatchEvent.bind(this, 'change')\n\n constructor() {\n super();\n\n this.#boundedHandleChange = this.#handleChange.bind(this);\n this.#boundedHandleBlur = this.#handleBlur.bind(this);\n }\n\n #handleChange(e) {\n // we want to listen only to browser events \n // and not to events we are dispatching\n if (e.isTrusted) {\n // we want to control the change events that dispatched by the component\n // so we are stopping propagation and handling it in handleBlur\n e.stopPropagation()\n }\n }\n\n #handleBlur() {\n // on blur, we want to dispatch a change event\n this.#dispatchChange()\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n\n this.#removeChangeListener = addEventListener.bind()\n this.addEventListener('change', this.#boundedHandleChange, true)\n this.addEventListener('blur', this.#boundedHandleBlur)\n }\n\n disconnectedCallback() {\n this.removeEventListener('change', this.#boundedHandleChange)\n this.removeEventListener('blur', this.#boundedHandleBlur)\n }\n}\n","import { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tcomponentNameValidationMixin\n} from '../../mixins';\n\nexport const componentName = getComponentName('button');\n\nconst editorOverrides = `vaadin-button::part(label) { pointer-events: none; }`;\nconst resetStyles = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\tvaadin-button { margin: 0; }\n\tvaadin-button::part(prefix) {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t}\n`;\nconst iconStyles = `\n\tvaadin-button::part(prefix),\n\tvaadin-button::part(label) {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tgap: 5px;\n\t}\n`;\n\nlet overrides = ``;\n\nconst { label, host } = {\n\tlabel: { selector: '::part(label)' },\n\thost: { selector: () => ':host' }\n};\n\nconst Button = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tbackgroundColor: {},\n\t\t\tborderRadius: {},\n\t\t\tcolor: label,\n\t\t\tborderColor: {},\n\t\t\tborderStyle: {},\n\t\t\tborderWidth: {},\n\t\t\tfontSize: {},\n\t\t\theight: {},\n\t\t\twidth: host,\n\t\t\tcursor: {},\n\t\t\tpadding: label,\n\t\t\ttextDecoration: label\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: ['prefix', 'label', 'suffix'],\n\t\twrappedEleName: 'vaadin-button',\n\t\tstyle: () =>\n\t\t\t`${resetStyles} ${editorOverrides} ${iconStyles} ${loadingIndicatorStyles}`,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\nconst loadingIndicatorStyles = `\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\t--marginRatio: 1.35;\n\t\tcolor: var(${Button.cssVarList.color});\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\ttop: calc(50% - calc((var(${Button.cssVarList.height}) / var(--marginRatio)) / 2));\n\t\tleft: calc(50% - calc((var(${Button.cssVarList.height}) / var(--marginRatio)) / 2));\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-width: calc(var(${Button.cssVarList.height}) / 12);\n\t\tborder-style: solid;\n\t\twidth: calc(var(${Button.cssVarList.height}) / var(--marginRatio));\n\t\theight: calc(var(${Button.cssVarList.height}) / var(--marginRatio));\n\t}\n\t:host([loading=\"true\"])::part(prefix),\n\t:host([loading=\"true\"])::part(label) {\n\t\tvisibility: hidden;\n\t}\n\n\tvaadin-button {\n\t\twidth: 100%;\n\t}\n`;\n\nexport default Button;\n","import '@vaadin/button';\nimport Button, { componentName } from './Button';\n\ncustomElements.define(componentName, Button);\n\nexport { Button };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin,\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('checkbox');\n\nconst Checkbox = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\twidth: { selector: () => ':host' },\n\t\t\tcursor: [{}, { selector: '> label' }]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: [],\n\t\twrappedEleName: 'vaadin-checkbox',\n\t\tstyle: `\n\t\t:host {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t\n\t\tvaadin-checkbox {\n\t\t\twidth: 100%;\n\t\t}\n\t\t`,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\nexport default Checkbox;\n","import '@vaadin/checkbox';\nimport Checkbox, { componentName } from './Checkbox';\n\ncustomElements.define(componentName, Checkbox);\n\nexport { Checkbox };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n} 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\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.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: inline-block\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\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\t}\n}\n\nconst selectors = {\n\troot: {},\n\tafter: { selector: '::after' },\n\thost: { selector: () => ':host' }\n};\n\nconst { root, after, host } = selectors;\n\nconst LoaderLinear = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tdisplay: root,\n\t\t\twidth: host,\n\t\t\theight: [root, after],\n\t\t\tborderRadius: [root, after],\n\t\t\tsurfaceColor: [{ property: 'background-color' }],\n\t\t\tbarColor: [{ ...after, property: 'background-color' }],\n\t\t\tbarWidth: { ...after, property: 'width' },\n\t\t\tanimationDuration: [root, after],\n\t\t\tanimationTimingFunction: [root, after],\n\t\t\tanimationIterationCount: [root, after]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawLoaderLinear);\n\nexport default LoaderLinear;\n","import LoaderLinear, { componentName } from './LoaderLinear';\n\ncustomElements.define(componentName, LoaderLinear);\n\nexport { LoaderLinear };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n} 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\tconstructor() {\n\t\tsuper();\n\n\t\tthis.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\t}\n}\n\nconst LoaderRadial = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tdisplay: {},\n\t\t\twidth: {},\n\t\t\theight: {},\n\t\t\tspinnerWidth: { property: 'border-width' },\n\t\t\tspinnerStyle: { property: 'border-style' },\n\t\t\tspinnerRadius: { property: 'border-radius' },\n\t\t\tspinnerTopColor: { property: 'border-top-color' },\n\t\t\tspinnerBottomColor: { property: 'border-bottom-color' },\n\t\t\tspinnerRightColor: { property: 'border-right-color' },\n\t\t\tspinnerLeftColor: { property: 'border-left-color' },\n\t\t\tcolor: {},\n\t\t\tanimationDuration: {},\n\t\t\tanimationTimingFunction: {},\n\t\t\tanimationIterationCount: {}\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawLoaderRadial);\n\nexport default LoaderRadial;\n","import LoaderRadial, { componentName } from './LoaderRadial';\n\ncustomElements.define(componentName, LoaderRadial);\n\nexport { LoaderRadial };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n} 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: ':host > slot'}) {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.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\t}\n}\n\nconst Container = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\theight: { selector: () => ':host' },\n\t\t\twidth: { selector: () => ':host' },\n\n\t\t\tverticalPadding: [\n\t\t\t\t{ property: 'padding-top' },\n\t\t\t\t{ property: 'padding-bottom' }\n\t\t\t],\n\t\t\thorizontalPadding: [\n\t\t\t\t{ property: 'padding-left' },\n\t\t\t\t{ property: 'padding-right' }\n\t\t\t],\n\n\t\t\tflexDirection: {},\n\t\t\tjustifyContent: {},\n\t\t\talignItems: {},\n\t\t\tgap: {},\n\n\t\t\tbackgroundColor: {},\n\t\t\tborderRadius: {},\n\n\t\t\tborderColor: {},\n\t\t\tborderStyle: {},\n\t\t\tborderWidth: {},\n\n\t\t\tboxShadow: {}\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawContainer);\n\nexport default Container;\n","import Container, { componentName } from './Container';\n\ncustomElements.define(componentName, Container);\n\nexport { Container };\n","import '@vaadin/date-picker';\nimport {\n\tdraggableMixin,\n\tcreateProxy,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nconst componentName = getComponentName('date-picker');\n\nconst DatePicker = compose(\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tcomponentName,\n\t\tslots: ['prefix', 'suffix'],\n\t\twrappedEleName: 'vaadin-date-picker',\n\t\tstyle: ``\n\t})\n);\n\ncustomElements.define(componentName, DatePicker);\n\nexport { DatePicker };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('divider');\nclass RawDivider extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t:host > div {\n\t\t\t\tdisplay: flex;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t:host > div::before,\n\t\t\t:host > div::after {\n\t\t\t\tcontent: '';\n\t\t\t\tflex-grow: 1;\n\t\t\t}\n\n\t\t\tdescope-text {\n\t\t\t\tflex-grow: 0;\n\t\t\t\tflex-shrink: 0;\n\t\t\t}\n\n\t\t\t:host(:empty) descope-text {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t:host([vertical=\"true\"]) div {\n\t\t\t\twidth: fit-content;\n\t\t\t}\n\n\t\t</style>\n\t\t<div>\n\t\t\t<descope-text>\n\t\t\t\t<slot></slot>\n\t\t\t</descope-text>\n\t\t</div>\n\t`;\n\n\t\tthis.textComponent = this.shadowRoot.querySelector('descope-text');\n\n\t\tforwardAttrs(this, this.textComponent, {\n\t\t\tincludeAttrs: ['mode', 'variant', 'italic']\n\t\t})\n\t}\n}\n\nconst selectors = {\n\troot: { selector: '' },\n\tbefore: { selector: '::before' },\n\tafter: { selector: '::after' },\n\ttext: { selector: 'descope-text' },\n\thost: { selector: () => ':host' },\n};\n\nconst { root, before, after, text, host } = selectors;\n\nconst Divider = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tmaxTextWidth: { ...text, property: 'max-width' },\n\t\t\tminHeight: root,\n\t\t\talignItems: root,\n\t\t\talignSelf: root,\n\t\t\tflexDirection: root,\n\t\t\ttextPadding: { ...text, property: 'padding' },\n\t\t\twidth: host,\n\t\t\tpadding: host,\n\t\t\tbackgroundColor: [before, after],\n\t\t\topacity: [before, after],\n\t\t\ttextWidth: { ...text, property: 'width' },\n\t\t\tdividerHeight: [{ ...before, property: 'height' }, { ...after, property: 'height' }],\n\t\t\tdividerWidth: [{ ...before, property: 'width' }, { ...after, property: 'width' }]\n\t\t},\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawDivider);\n\nexport default Divider;\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({ componentName, baseSelector: ':host > slot' }) {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t\t:host > slot {\n\t\t\t\twidth: 100%;\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t</style>\n\t\t<slot></slot>\n\t\t`;\n\t}\n}\n\nconst Text = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tfontFamily: {},\n\t\t\tlineHeight: {},\n\t\t\tfontStyle: {},\n\t\t\tfontSize: {},\n\t\t\tfontWeight: {},\n\t\t\twidth: { selector: () => ':host' },\n\t\t\tcolor: {},\n\t\t\tletterSpacing: {},\n\t\t\ttextShadow: {},\n\t\t\tborderWidth: {},\n\t\t\tborderStyle: {},\n\t\t\tborderColor: {},\n\t\t\ttextTransform: {},\n\t\t\ttextAlign: {},\n\t\t},\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawText);\n\nexport default Text;\n","import Text, { componentName } from './Text';\n\ncustomElements.define(componentName, Text);\nexport { Text };\n","import Divider, { componentName } from './Divider';\nimport '../descope-text';\n\ncustomElements.define(componentName, Divider);\n\nexport { Divider };\n","const selectors = {\n\tlabel: '::part(label)',\n\tinput: '::part(input-field)',\n\treadOnlyInput: '[readonly]::part(input-field)::after',\n\tplaceholder: '> input:placeholder-shown',\n\thost: () => ':host'\n};\n\nexport default {\n\tbackgroundColor: { selector: selectors.input },\n\tcolor: { selector: selectors.input },\n\twidth: { selector: selectors.host },\n\tborderColor: [\n\t\t{ selector: selectors.input },\n\t\t{ selector: selectors.readOnlyInput }\n\t],\n\tborderWidth: [\n\t\t{ selector: selectors.input },\n\t\t{ selector: selectors.readOnlyInput }\n\t],\n\tborderStyle: [\n\t\t{ selector: selectors.input },\n\t\t{ selector: selectors.readOnlyInput }\n\t],\n\tborderRadius: { selector: selectors.input },\n\tboxShadow: { selector: selectors.input },\n\tfontSize: {},\n\theight: { selector: selectors.input },\n\tpadding: { selector: selectors.input },\n\toutline: { selector: selectors.input },\n\toutlineOffset: { selector: selectors.input },\n\n\tplaceholderColor: { selector: selectors.placeholder, property: 'color' }\n};\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('email-field');\n\nlet overrides = ``;\n\nconst EmailField = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\t...textFieldMappings\n\t\t}\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: ['suffix'],\n\t\twrappedEleName: 'vaadin-email-field',\n\t\tstyle: () => overrides,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\noverrides = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\tvaadin-email-field {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\tvaadin-email-field::part(input-field) {\n\t\toverflow: hidden;\n\t}\n\tvaadin-email-field[readonly] > input:placeholder-shown {\n\t\topacity: 1;\n\t}\n\tvaadin-email-field input:-webkit-autofill,\n\tvaadin-email-field input:-webkit-autofill::first-line,\n\tvaadin-email-field input:-webkit-autofill:hover,\n\tvaadin-email-field input:-webkit-autofill:active,\n\tvaadin-email-field input:-webkit-autofill:focus {\n\t\t-webkit-text-fill-color: var(${EmailField.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${EmailField.cssVarList.height}) var(${EmailField.cssVarList.backgroundColor}) inset;\n\t}\n\tvaadin-email-field > label,\n\tvaadin-email-field::part(input-field) {\n\t\tcursor: pointer;\n\t\tcolor: var(${EmailField.cssVarList.color});\n\t}\n\tvaadin-email-field::part(input-field):focus {\n\t\tcursor: text;\n\t}\n\tvaadin-email-field[required]::part(required-indicator)::after {\n\t\tfont-size: \"12px\";\n\t\tcontent: \"*\";\n\t\tcolor: var(${EmailField.cssVarList.color});\n\t}\n\tvaadin-email-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;\n\nexport default EmailField;\n","import '@vaadin/email-field';\nimport EmailField, { componentName } from './EmailField';\n\ncustomElements.define(componentName, EmailField);\n\nexport { EmailField };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin,\n} from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport Text from '../descope-text/Text';\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('link');\nclass RawLink extends createBaseClass({ componentName, baseSelector: ':host a' }) {\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\n\t\tthis.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t:host {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t:host a {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t</style>\n\t\t<div>\n\t\t\t<a>\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</a>\n\t\t</div>\n\t\t`;\n\n\t\tforwardAttrs(this, this.shadowRoot.querySelector('a'), {\n\t\t\tincludeAttrs: ['href', 'target', 'tooltip'],\n\t\t\tmapAttrs: {\n\t\t\t\ttooltip: 'title'\n\t\t\t}\n\t\t});\n\n\t\tforwardAttrs(this, this.shadowRoot.querySelector('descope-text'), {\n\t\t\tincludeAttrs: ['mode', 'variant'],\n\t\t});\n\t}\n}\n\nconst selectors = {\n\thost: { selector: () => 'host' },\n\tanchor: {},\n\twrapper: {selector: () => ':host > div'},\n\ttext: { selector: () => Text.componentName }\n};\n\nconst { anchor, text, host, wrapper } = selectors;\n\nconst Link = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\twidth: host,\n\t\t\ttextAlign: wrapper,\n\t\t\tcolor: [anchor, { ...text, property: Text.cssVarList.color }],\n\t\t\tcursor: anchor,\n\t\t\tborderBottomWidth: anchor,\n\t\t\tborderBottomStyle: anchor,\n\t\t\tborderBottomColor: anchor\n\t\t},\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawLink);\n\nexport default Link;\n","import Link, { componentName } from './Link';\nimport '../descope-text';\n\ncustomElements.define(componentName, Link);\n\nexport { Link };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport { createBaseClass } from '../../baseClasses/createBaseClass';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('logo');\n\nlet style;\nconst getStyle = () => style;\n\nclass RawLogo extends createBaseClass({ componentName, baseSelector: ':host > div' }) {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.attachShadow({ mode: 'open' }).innerHTML = `\n\t\t<style>\n\t\t\t${getStyle()}\n\t\t</style>\n\t\t<div></div>`;\n\t}\n}\n\nconst Logo = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\theight: {},\n\t\t\twidth: {},\n\t\t\turl: {},\n\t\t\tfallbackUrl: {}\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawLogo);\n\nstyle = `\n:host {\n\tdisplay: inline-flex;\n}\n:host > div {\n\tdisplay: inline-block;\n\tcontent: var(${Logo.cssVarList.url}, var(${Logo.cssVarList.fallbackUrl}));\n}\n`;\n\nexport default Logo;\n","import Logo, { componentName } from './Logo';\n\ncustomElements.define(componentName, Logo);\n\nexport { Logo };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('number-field');\n\nlet overrides = ``;\n\nconst NumberField = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\t...textFieldMappings\n\t\t}\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: ['prefix', 'suffix'],\n\t\twrappedEleName: 'vaadin-number-field',\n\t\tstyle: () => overrides,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\noverrides = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\tvaadin-number-field {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\tvaadin-number-field::part(input-field) {\n\t\toverflow: hidden;\n\t}\n\tvaadin-number-field[readonly] > input:placeholder-shown {\n\t\topacity: 1;\n\t}\n\tvaadin-number-field input:-webkit-autofill,\n\tvaadin-number-field input:-webkit-autofill::first-line,\n\tvaadin-number-field input:-webkit-autofill:hover,\n\tvaadin-number-field input:-webkit-autofill:active,\n\tvaadin-number-field input:-webkit-autofill:focus {\n\t\t-webkit-text-fill-color: var(${NumberField.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${NumberField.cssVarList.height}) var(${NumberField.cssVarList.backgroundColor}) inset;\n\t}\n\tvaadin-number-field > label,\n\tvaadin-number-field::part(input-field) {\n\t\tcursor: pointer;\n\t\tcolor: var(${NumberField.cssVarList.color});\n\t}\n\tvaadin-number-field::part(input-field):focus {\n\t\tcursor: text;\n\t}\n\tvaadin-number-field[required]::part(required-indicator)::after {\n\t\tfont-size: \"12px\";\n\t\tcontent: \"*\";\n\t\tcolor: var(${NumberField.cssVarList.color});\n\t}\n\tvaadin-number-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;\n\nexport default NumberField;\n","import '@vaadin/number-field';\nimport NumberField, { componentName } from './NumberField';\n\ncustomElements.define(componentName, NumberField);\n\nexport { NumberField };\n","import { compose } from \"../helpers\";\nimport { changeMixin, focusMixin, inputValidationMixin } from \"../mixins\";\n\nexport default compose(focusMixin, inputValidationMixin, changeMixin)(HTMLElement) //todo: maybe we should use base class?\n","\nexport const focusElement = (ele) => {\n\tele?.focus();\n\tele?.setSelectionRange(1, 1);\n};\n\nexport const getSanitizedCharacters = (str) => {\n\tconst pin = str.replace(/\\s/g, ''); // sanitize string\n\n\t// accept only numbers\n\tif (!pin.match(/^\\d+$/)) return [];\n\n\treturn [...pin]; // creating array of chars\n};","import BaseInputClass from '../../../baseClasses/BaseInputClass';\nimport { getComponentName } from '../../../helpers/componentHelpers';\nimport { getSanitizedCharacters, focusElement } from './helpers';\n\nexport const componentName = getComponentName('passcode-internal');\n\nclass PasscodeInternal extends BaseInputClass {\n\tstatic get observedAttributes() {\n\t\treturn [\n\t\t\t...(BaseInputClass.observedAttributes || []),\n\t\t\t'disabled',\n\t\t\t'bordered',\n\t\t\t'size',\n\t\t];\n\t}\n\n\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\n\t#boundHandleInvalid = this.#handleInvalid.bind(this)\n\t#boundHandleValid = this.#handleValid.bind(this)\n\t#boundHandleBlur = this.#handleBlur.bind(this)\n\n\tconstructor() {\n\t\tsuper();\n\t\tconst inputs = [...Array(this.digits).keys()].map((idx) => `\n\t\t<descope-text-field\n\t\t\tst-width=\"35px\"\n\t\t\tdata-id=${idx}\n\t\t\ttype=\"tel\"\n\t\t\tautocomplete=\"none\"\n\t\t></descope-text-field>\n\t`)\n\n\t\tthis.innerHTML = `\n\t\t<div>\n\t\t\t${inputs.join('')}\n\t\t</div>\n\t\t`;\n\n\t\tthis.baseSelector = ':host > div';\n\n\t\tthis.inputs = Array.from(this.querySelectorAll('descope-text-field'))\n\t}\n\n\tget digits() {\n\t\treturn Number.parseInt(this.getAttribute('digits')) || 6\n\t}\n\n\tget value() {\n\t\treturn this.inputs.map(({ value }) => value).join('')\n\t}\n\n\tset value(val) {\n\t\tif (val === this.value) return;\n\n\t\tconst charArr = getSanitizedCharacters(val);\n\n\t\tif (charArr.length) {\n\t\t\tthis.fillDigits(charArr, this.inputs[0]);\n\t\t}\n\t}\n\n\tget pattern() {\n\t\treturn `^$|^\\\\d{${this.digits},}$`\n\t}\n\n\t#handleInvalid() {\n\t\tif (this.hasAttribute('invalid')) {\n\t\t\tthis.inputs.forEach(input => input.setAttribute('invalid', 'true'))\n\t\t}\n\t}\n\n\t#handleValid() {\n\t\tthis.inputs.forEach(input => input.removeAttribute('invalid'))\n\t}\n\n\tgetValidity() {\n\t\tif (this.isRequired && !this.value) {\n\t\t\treturn { valueMissing: true };\n\t\t}\n\t\telse if (this.pattern && !new RegExp(this.pattern).test(this.value)) {\n\t\t\treturn { patternMismatch: true };\n\t\t}\n\t\telse {\n\t\t\treturn {}\n\t\t}\n\t};\n\n\tonFocus(){\n\t\tthis.inputs[0].focus()\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback?.();\n\n\t\tthis.initInputs()\n\n\t\tthis.addEventListener('invalid', this.#boundHandleInvalid)\n\t\tthis.addEventListener('valid', this.#boundHandleValid)\n\t\tthis.addEventListener('blur', this.#boundHandleBlur)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.connectedCallback?.();\n\t\tthis.removeEventListener('invalid', this.#boundHandleInvalid)\n\t\tthis.removeEventListener('valid', this.#boundHandleValid)\n\t\tthis.removeEventListener('blur', this.#boundHandleBlur)\n\t}\n\n\tgetInputIdx(inputEle) {\n\t\treturn Number.parseInt(inputEle.getAttribute('data-id'), 10)\n\t}\n\n\tgetNextInput(currInput) {\n\t\tconst currentIdx = this.getInputIdx(currInput)\n\t\tconst newIdx = Math.min(currentIdx + 1, this.inputs.length - 1)\n\t\treturn this.inputs[newIdx]\n\t}\n\n\tgetPrevInput(currInput) {\n\t\tconst currentIdx = this.getInputIdx(currInput)\n\t\tconst newIdx = Math.max(currentIdx - 1, 0)\n\t\treturn this.inputs[newIdx]\n\t}\n\n\tfillDigits(charArr, currentInput) {\n\t\tfor (let i = 0; i < charArr.length; i += 1) {\n\t\t\tcurrentInput.value = charArr[i] ?? '';\n\n\t\t\tconst nextInput = this.getNextInput(currentInput);\n\n\t\t\tif (nextInput === currentInput) break;\n\t\t\tcurrentInput = nextInput;\n\t\t}\n\n\t\tfocusElement(currentInput);\n\t};\n\n\t#handleBlur() {\n\t\tthis.#handleInvalid()\n\t}\n\n\tinitInputs() {\n\t\tthis.inputs.forEach((input) => {\n\t\t\tinput.oninput = (e) => {\n\t\t\t\tconst charArr = getSanitizedCharacters(input.value);\n\n\t\t\t\tif (!charArr.length) {\n\t\t\t\t\t// if we got an invalid value we want to clear the input\n\t\t\t\t\tinput.value = '';\n\t\t\t\t\tif (e.data === null) {\n\t\t\t\t\t\t// if the user deleted the char, we want to focus the prev digit\n\t\t\t\t\t\tfocusElement(this.getPrevInput(input));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse this.fillDigits(charArr, input);\n\t\t\t};\n\n\t\t\tinput.onkeydown = ({ key }) => {\n\t\t\t\t// when user deletes a digit, we want to focus the previous digit\n\t\t\t\tif (key === 'Backspace') {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tfocusElement(this.getPrevInput(input));\n\t\t\t\t\t});\n\t\t\t\t} else if (key.match(/^(\\d)$/g)) { // if input is a digit\n\t\t\t\t\tinput.value = ''; // we are clearing the previous value so we can override it with the new value\n\t\t\t\t}\n\t\t\t};\n\t\t})\n\t}\n\n\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\tsuper.attributeChangedCallback?.(attrName, oldValue, newValue)\n\n\t\tif (oldValue !== newValue) {\n\t\t\tif (PasscodeInternal.observedAttributes.includes(attrName) && !BaseInputClass.observedAttributes.includes(attrName)) {\n\t\t\t\tthis.inputs.forEach((input) => input.setAttribute(attrName, newValue))\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default PasscodeInternal;\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('text-field');\n\nlet overrides = ``;\n\nconst TextField = compose(\n\tcreateStyleMixin({\n\t\tmappings: textFieldMappings\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: ['prefix', 'suffix'],\n\t\twrappedEleName: 'vaadin-text-field',\n\t\tstyle: () => overrides,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\noverrides = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\n\tvaadin-text-field {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\tvaadin-text-field::part(input-field) {\n\t\toverflow: hidden;\n\t}\n\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\topacity: 1;\n\t}\n\tvaadin-text-field input:-webkit-autofill,\n\tvaadin-text-field input:-webkit-autofill::first-line,\n\tvaadin-text-field input:-webkit-autofill:hover,\n\tvaadin-text-field input:-webkit-autofill:active,\n\tvaadin-text-field input:-webkit-autofill:focus {\n\t\t-webkit-text-fill-color: var(${TextField.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${TextField.cssVarList.height}) var(${TextField.cssVarList.backgroundColor}) inset;\n\t}\n\tvaadin-text-field > label,\n\tvaadin-text-field::part(input-field) {\n\t\tcursor: pointer;\n\t\tcolor: var(${TextField.cssVarList.color});\n\t}\n\tvaadin-text-field::part(input-field):focus {\n\t\tcursor: text;\n\t}\n\tvaadin-text-field[required]::part(required-indicator)::after {\n\t\tfont-size: \"12px\";\n\t\tcontent: \"*\";\n\t\tcolor: var(${TextField.cssVarList.color});\n\t}\n\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;\n\nexport default TextField;\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { componentName as descopeInternalComponentName } from './descope-passcode-internal/PasscodeInternal';\nimport TextField from '../descope-text-field/TextField'\nimport { compose } from '../../helpers';\nimport { forwardAttrs, getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('passcode');\n\nconst customMixin = (superclass) =>\n\tclass DraggableMixinClass extends superclass {\n\t\tconstructor() {\n\t\t\tsuper();\n\t\t}\n\n\t\tget digits() {\n\t\t\treturn Number.parseInt(this.getAttribute('digits')) || 6;\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tsuper.connectedCallback?.();\n\t\t\tconst template = document.createElement('template');\n\n\t\t\ttemplate.innerHTML = `\n\t\t\t<${descopeInternalComponentName} \n\t\t\t\tbordered=\"true\" \n\t\t\t\tname=\"code\" \n\t\t\t\ttabindex=\"-1\"\n\t\t\t\tslot=\"input\"\n\t\t\t></${descopeInternalComponentName}>\n\t\t\t`;\n\n\t\t\tthis.proxyElement.appendChild(template.content.cloneNode(true));\n\n\t\t\tthis.inputElement = this.shadowRoot.querySelector(descopeInternalComponentName);\n\n\t\t\tforwardAttrs(this.shadowRoot.host, this.inputElement, { includeAttrs: ['required', 'pattern'] })\n\n\t\t}\n\t};\n\nconst { borderStyle, borderWidth, ...restTextFieldMappings } =\n\ttextFieldMappings;\n\nconst { digitField, label, requiredIndicator } = {\n\tdigitField: { selector: () => TextField.componentName },\n\tlabel: { selector: '> label' },\n\trequiredIndicator: { selector: '[required]::part(required-indicator)::after' }\n}\n\nconst textVars = TextField.cssVarList\n\nconst Passcode = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\t...restTextFieldMappings,\n\t\t\tborderColor: { ...digitField, property: textVars.borderColor },\n\t\t\tcolor: [restTextFieldMappings.color, label, requiredIndicator],\n\t\t},\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin,\n\tcustomMixin\n)(\n\tcreateProxy({\n\t\tslots: [],\n\t\twrappedEleName: 'vaadin-text-field',\n\t\tstyle: () => `\n :host {\n --vaadin-field-default-width: auto;\n\t\t\tdisplay: inline-block;\n }\n\n\t\t:host([readonly]) descope-passcode-internal > div {\n\t\t\tpointer-events: none;\n\t\t}\n\n descope-passcode-internal {\n -webkit-mask-image: none;\n display: flex;\n gap: 2px;\n align-items: center;\n padding: 0;\n }\n vaadin-text-field::part(input-field) {\n background-color: transparent;\n padding: 0;\n\t\t\toverflow: hidden;\n }\n\t\tvaadin-text-field {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t\tvaadin-text-field[readonly] > input:placeholder-shown {\n\t\t\topacity: 1;\n\t\t}\n\t\tvaadin-text-field > label,\n\t\tvaadin-text-field::part(input-field) {\n\t\t\tcursor: pointer;\n\t\t}\n\t\tvaadin-text-field::part(input-field):focus {\n\t\t\tcursor: text;\n\t\t}\n\t\tvaadin-text-field[required]::part(required-indicator)::after {\n\t\t\tfont-size: \"12px\";\n\t\t\tcontent: \"*\";\n\t\t}\n\t\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\t\tborder: 0 solid;\n\t\t}\n `,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\nexport default Passcode;\n","import '@vaadin/text-field';\nimport TextField, { componentName } from './TextField';\n\ncustomElements.define(componentName, TextField);\n\nexport { TextField };\n","import PasscodeInternal, { componentName } from \"./PasscodeInternal\"\n\ncustomElements.define(componentName, PasscodeInternal)","import Passcode, { componentName } from './Passcode';\nimport '../descope-text-field'\nimport './descope-passcode-internal'\n\ncustomElements.define(componentName, Passcode);\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('password-field');\n\nlet overrides = ``;\n\nconst PasswordField = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\t...textFieldMappings,\n\t\t\trevealCursor: [\n\t\t\t\t{\n\t\t\t\t\tselector: '::part(reveal-button)::before',\n\t\t\t\t\tproperty: 'cursor'\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: ['suffix'],\n\t\twrappedEleName: 'vaadin-password-field',\n\t\tstyle: () => overrides,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\noverrides = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\tvaadin-password-field {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\tvaadin-password-field::part(input-field) {\n\t\toverflow: hidden;\n\t}\n\tvaadin-password-field[readonly] > input:placeholder-shown {\n\t\topacity: 1;\n\t}\n\tvaadin-password-field input:-webkit-autofill,\n\tvaadin-password-field input:-webkit-autofill::first-line,\n\tvaadin-password-field input:-webkit-autofill:hover,\n\tvaadin-password-field input:-webkit-autofill:active,\n\tvaadin-password-field input:-webkit-autofill:focus {\n\t\t-webkit-text-fill-color: var(${PasswordField.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${PasswordField.cssVarList.height}) var(${PasswordField.cssVarList.backgroundColor}) inset;\n\t}\n\tvaadin-password-field > label,\n\tvaadin-password-field::part(input-field) {\n\t\tcursor: pointer;\n\t\tcolor: var(${PasswordField.cssVarList.color});\n\t}\n\tvaadin-password-field::part(input-field):focus {\n\t\tcursor: text;\n\t}\n\tvaadin-password-field[required]::part(required-indicator)::after {\n\t\tfont-size: \"12px\";\n\t\tcontent: \"*\";\n\t\tcolor: var(${PasswordField.cssVarList.color});\n\t}\n\tvaadin-password-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;\n\nexport default PasswordField;\n","import '@vaadin/password-field';\nimport PasswordField, { componentName } from './PasswordField';\n\ncustomElements.define(componentName, PasswordField);\n\nexport { PasswordField };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin,\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('switch-toggle');\n\nlet overrides = ``;\n\nconst SwitchToggle = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\twidth: {selector: () => ':host'},\n\t\t\tcursor: [{}, { selector: '> label' }]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: [],\n\t\twrappedEleName: 'vaadin-checkbox',\n\t\tstyle: () => overrides,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\noverrides = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\t\n\t:host {\n\t\t--margin: 7px;\n\t\t--width: var(${SwitchToggle.cssVarList.width});\n\t\t--height: calc(var(--width) / 2);\n\t\t--radius: var(--height);\n\t\t--knobSize: calc(var(--height) - 5px);\n\t\t--bgColor: #fff;\n\t\t--knobBgColor: #000;\n\t}\n\tvaadin-checkbox : {\n\t\twidth: 100%;\n\t}\n\tvaadin-checkbox>label {\n\t\tcursor: pointer;\n\t\tborder: 1px solid;\n\t\ttext-indent: -99999px;\n\t\tdisplay: block;\n\t\tposition: relative;\t\t\t\n\t\twidth: var(--width);\n\t\theight: var(--height);\n\t\tbackground: var(--bgColor);\n\t\tborder-radius: var(--radius);\n\t}\n\tvaadin-checkbox>label::after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttransition: 0.3s;\n\t\ttop: var(--margin);\n\t\tleft: var(--margin);\n\t\twidth: var(--knobSize);\n\t\theight: var(--knobSize);\n\t\tbackground: var(--knobBgColor);\n\t\tborder-radius: var(--knobSize);\n\t}\n\tvaadin-checkbox::part(checkbox) {\n\t\theight: 0;\n\t\twidth: 0;\n\t\tvisibility: hidden;\n\t\tmargin: 0;\n\t}\n\tvaadin-checkbox[checked]>label::after {\n\t\ttransform: translateX(-100%);\n\t\tleft: calc(100% - var(--margin));\n\t}\n\tvaadin-checkbox[active]>label::after {\n\t\twidth: calc(var(--knobSize) + 15px);\n\t}\n`;\n\nexport default SwitchToggle;\n","import '@vaadin/checkbox';\nimport SwitchToggle, { componentName } from './SwitchToggle';\n\ncustomElements.define(componentName, SwitchToggle);\n\nexport { SwitchToggle };\n","import {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n} from '../../mixins';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\n\nexport const componentName = getComponentName('text-area');\n\nconst selectors = {\n\tlabel: '::part(label)',\n\tinput: '::part(input-field)',\n\trequired: '::part(required-indicator)::after',\n\thost: () => ':host'\n};\n\nlet overrides = ``;\n\nconst TextArea = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tresize: { selector: '> textarea' },\n\t\t\tcolor: { selector: selectors.label },\n\t\t\tcursor: {},\n\t\t\twidth: { selector: selectors.host },\n\t\t\tbackgroundColor: { selector: selectors.input },\n\t\t\tborderWidth: { selector: selectors.input },\n\t\t\tborderStyle: { selector: selectors.input },\n\t\t\tborderColor: { selector: selectors.input },\n\t\t\tborderRadius: { selector: selectors.input },\n\t\t\toutline: { selector: selectors.input },\n\t\t\toutlineOffset: { selector: selectors.input }\n\t\t}\n\t}),\n\tdraggableMixin,\n\tproxyInputMixin,\n\tcomponentNameValidationMixin\n)(\n\tcreateProxy({\n\t\tslots: [],\n\t\twrappedEleName: 'vaadin-text-area',\n\t\tstyle: () => overrides,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\n);\n\noverrides = `\n\t:host {\n\t\tdisplay: inline-block;\n\t}\n\n\tvaadin-text-area {\n\t\tmargin: 0;\n\t\twidth: 100%;\n\t}\n\tvaadin-text-area > label,\n\tvaadin-text-area::part(input-field) {\n\t\tcursor: pointer;\n\t}\n\tvaadin-text-area[focused]::part(input-field) {\n\t\tcursor: text;\n\t}\n\tvaadin-text-area::part(required-indicator)::after {\n\t\tfont-size: \"12px\";\n\t\tcontent: \"*\";\n\t}\t\n`;\nexport default TextArea;\n","import '@vaadin/text-area';\nimport TextArea, { componentName } from './TextArea';\n\ncustomElements.define(componentName, TextArea);\n\nexport { TextArea };\n","import merge from 'lodash.merge';\nimport set from 'lodash.set';\nimport { BASE_THEME_SECTION, DESCOPE_PREFIX, PORTAL_THEME_PREFIX } from '../../constants';\nimport { kebabCase } from '..';\nimport { getComponentName, getCssVarName } from '../componentHelpers';\n\nconst getVarName = (path) => getCssVarName(DESCOPE_PREFIX, ...path);\n\nconst transformTheme = (theme, path, getTransformation) => {\n\treturn Object.entries(theme).reduce((acc, [key, val]) => {\n\t\tif (val?.constructor !== Object) {\n\t\t\treturn merge(acc, getTransformation(path.concat(key), val));\n\t\t} else {\n\t\t\treturn merge(acc, transformTheme(val, [...path, key], getTransformation));\n\t\t}\n\t}, {});\n};\n\nconst stringifyArray = (strArr) =>\n\tstrArr.map((str) => (str.includes(' ') ? `\"${str}\"` : str)).join(', ');\n\nexport const themeToCSSVarsObj = (theme) =>\n\ttransformTheme(theme, [], (path, val) => ({\n\t\t[getVarName(path)]: Array.isArray(val) ? stringifyArray(val) : val\n\t}));\n\nexport const getThemeRefs = (theme, prefix) =>\n\ttransformTheme(theme, [], (path) =>\n\t\tset({}, path, `var(${getVarName(prefix ? [prefix, ...path] : path)})`)\n\t);\n\nexport const globalsThemeToStyle = (theme, themeName = '') => `\n*[data-theme=\"${themeName}\"] {\n\t${Object.entries(themeToCSSVarsObj(theme)).reduce(\n\t(acc, entry) => (acc += `${entry.join(':')};\\n`),\n\t''\n)}\n}\n`;\n\nconst componentsThemeToStyleObj = (componentsTheme) =>\n\ttransformTheme(componentsTheme, [], (path, val) => {\n\t\tconst [component, ...restPath] = path;\n\t\tconst property = restPath.pop();\n\t\tconst componentName = getComponentName(component);\n\n\t\t// we need a support for portal components theme (e.g. overlay)\n\t\t// this allows us to generate those themes under different sections\n\t\t// if the theme has root level attribute that starts with #\n\t\t// we are generating a new theme\n\t\tlet themeName = BASE_THEME_SECTION\n\n\t\tif (restPath[0] && restPath[0].startsWith(PORTAL_THEME_PREFIX)) {\n\t\t\tthemeName = restPath.shift();\n\t\t}\n\n\t\t// do not start with underscore -> key:value, must have 2 no underscore attrs in a row\n\t\t// starts with underscore -> attribute selector\n\t\tconst attrsSelector = restPath.reduce((acc, section, idx) => {\n\t\t\tif (section.startsWith('_'))\n\t\t\t\treturn (acc += `[${kebabCase(section.replace(/^_/, ''))}=\"true\"]`);\n\n\t\t\tconst nextSection = restPath[idx + 1];\n\n\t\t\tif (typeof nextSection !== 'string' || nextSection.startsWith('_')) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t'theme generator',\n\t\t\t\t\t`your theme structure is invalid, attribute \"${section}\" is followed by \"${nextSection}\" which is not allowed`\n\t\t\t\t);\n\t\t\t\treturn acc;\n\t\t\t}\n\n\t\t\treturn (acc += `[${kebabCase(section)}=\"${restPath\n\t\t\t\t.splice(idx + 1, 1)\n\t\t\t\t.join('')}\"]`);\n\t\t}, '');\n\n\t\tlet selector = `:host${attrsSelector ? `(${attrsSelector})` : ''}`;\n\n\t\treturn {\n\t\t\t[componentName]: {\n\t\t\t\t[themeName]: {\n\t\t\t\t\t[selector]: {\n\t\t\t\t\t\t[property]: val\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n\n\nexport const createComponentsTheme = (componentsTheme) => {\n\tconst styleObj = componentsThemeToStyleObj(componentsTheme);\n\n\treturn Object.keys(styleObj).reduce(\n\t\t(acc, componentName) => {\n\t\t\tconst componentThemes = styleObj[componentName];\n\n\t\t\treturn Object.assign(acc, {\n\t\t\t\t[componentName]: Object.keys(componentThemes)\n\t\t\t\t\t.reduce((acc, theme) =>\n\t\t\t\t\t\tObject.assign(acc, { [theme]: componentsThemeToStyle(componentThemes[theme]) }),\n\t\t\t\t\t\t{})\n\t\t\t})\n\t\t},\n\t\t{}\n\t);\n}\n\nconst componentsThemeToStyle = (componentsTheme) =>\n\tObject.entries(componentsTheme).reduce(\n\t\t(acc, [selector, vars]) =>\n\t\t(acc += `${selector} { \\n${Object.entries(\n\t\t\tvars\n\t\t)\n\t\t\t.map(([key, val]) => `${key}: ${val}`)\n\t\t\t.join(';\\n')} \\n}\\n\\n`),\n\t\t''\n\t);\n\nexport const themeToStyle = ({ globals, components }, themeName) => ({\n\tglobals: globalsThemeToStyle(globals, themeName),\n\tcomponents: createComponentsTheme(components)\n});\n\nconst useVar = (varName) => `var(${varName})`;\n\nexport const createHelperVars = (theme, prefix) => {\n\tconst res = transformTheme(theme, [], (path, value) => {\n\t\tconst modifiedPath = [...path];\n\t\tconst property = modifiedPath.splice(-1);\n\t\tconst varName = getCssVarName(prefix, property);\n\n\t\tconst vars = { [property]: varName };\n\t\tconst theme = set({}, [...modifiedPath, varName], value);\n\t\tconst useVars = { [property]: useVar(varName) };\n\n\t\treturn { theme, useVars, vars };\n\t});\n\n\treturn [res.theme, res.useVars, res.vars];\n};\n\nexport { componentsThemeManager } from './componentsThemeManager'\n","import Color from 'color';\n\nconst genDark = (c, percentage = 0.5) => c.darken(percentage).hex();\nconst genLight = (c, percentage = 0.5) => c.lighten(percentage).hex();\nconst genContrast = (c, percentage = 0.9) => {\n\tconst isDark = c.isDark();\n\treturn c\n\t\t.mix(Color(isDark ? 'white' : 'black'), percentage)\n\t\t.saturate(1)\n\t\t.hex();\n};\n\nexport const genColor = (color) => {\n\tconst mainColor = new Color(color.main || color);\n\n\treturn {\n\t\tmain: mainColor.hex(),\n\t\tdark: color.dark || genDark(mainColor),\n\t\tlight: color.light || genLight(mainColor),\n\t\tcontrast: color.contrast || genContrast(mainColor)\n\t};\n};\n\nexport const genColors = (colors) => {\n\treturn Object.keys(colors).reduce((acc, colorName) => {\n\t\tconst currentColor = colors[colorName];\n\n\t\treturn Object.assign(acc, {\n\t\t\t[colorName]: genColor(currentColor)\n\t\t});\n\t}, {});\n};\n","import { getThemeRefs } from '../helpers/themeHelpers';\nimport { genColors } from '../helpers/themeHelpers/colorsHelpers';\n\nexport const colors = genColors({\n\tsurface: {\n\t\tmain: 'lightgray',\n\t\tlight: '#fff',\n\t\tdark: '#000',\n\t},\n\tprimary: '#0082B5',\n\tsecondary: '#7D14EB',\n\tsuccess: 'green',\n\terror: 'red'\n});\n\nconst fonts = {\n\tfont1: ['Roboto', 'sans-serif'],\n\tfont2: ['Oswald', 'serif']\n};\nconst fontsRef = getThemeRefs({ fonts }).fonts;\n\nconst typography = {\n\th1: {\n\t\tfont: fontsRef.font1,\n\t\tweight: '900',\n\t\tsize: '48px'\n\t},\n\th2: {\n\t\tfont: fontsRef.font1,\n\t\tweight: '800',\n\t\tsize: '38px'\n\t},\n\th3: {\n\t\tfont: fontsRef.font1,\n\t\tweight: '600',\n\t\tsize: '28px'\n\t},\n\tsubtitle1: {\n\t\tfont: fontsRef.font2,\n\t\tweight: '500',\n\t\tsize: '22px'\n\t},\n\tsubtitle2: {\n\t\tfont: fontsRef.font2,\n\t\tweight: '400',\n\t\tsize: '20px'\n\t},\n\tbody1: {\n\t\tfont: fontsRef.font1,\n\t\tweight: '300',\n\t\tsize: '16px'\n\t},\n\tbody2: {\n\t\tfont: fontsRef.font1,\n\t\tweight: '200',\n\t\tsize: '14px'\n\t}\n};\n\nconst spacing = {\n\txs: '2px',\n\tsm: '4px',\n\tmd: '8px',\n\tlg: '16px',\n\txl: '32px'\n};\n\nconst border = {\n\tsm: '1px',\n\tmd: '2px',\n\tlg: '3px'\n};\n\nconst radius = {\n\tsm: '5px',\n\tmd: '25px',\n\tlg: '50px'\n};\n\nconst shadow = {\n\twide: {\n\t\tsm: '0 2px 3px -0.5px',\n\t\tmd: '0 4px 6px -1px',\n\t\tlg: '0 10px 15px -3px',\n\t\txl: '0 20px 25px -5px',\n\t\t'2xl': '0 25px 50px -12px'\n\t},\n\tnarrow: {\n\t\tsm: '0 1px 2px -1px',\n\t\tmd: '0 2px 4px -2px',\n\t\tlg: '0 4px 6px -4px',\n\t\txl: '0 8px 10px -6px',\n\t\t'2xl': '0 16px 16px -8px'\n\t}\n};\n\nexport default {\n\tcolors,\n\ttypography,\n\tspacing,\n\tborder,\n\tradius,\n\tshadow,\n\tfonts\n};\n","import globals from '../globals';\nimport { getThemeRefs, createHelperVars } from '../../helpers/themeHelpers';\nimport Button, { componentName } from '../../components/descope-button/Button';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = Button.cssVarList;\n\nconst mode = {\n\tprimary: globalRefs.colors.primary,\n\tsecondary: globalRefs.colors.secondary,\n\tsuccess: globalRefs.colors.success,\n\terror: globalRefs.colors.error,\n\tsurface: globalRefs.colors.surface\n};\n\nconst [helperTheme, helperRefs] = createHelperVars({ mode }, componentName);\n\nconst button = {\n\t...helperTheme,\n\t[vars.width]: 'fit-content',\n\tsize: {\n\t\txs: {\n\t\t\t[vars.height]: '10px',\n\t\t\t[vars.fontSize]: '10px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.xs}`\n\t\t},\n\t\tsm: {\n\t\t\t[vars.height]: '20px',\n\t\t\t[vars.fontSize]: '10px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.sm}`\n\t\t},\n\t\tmd: {\n\t\t\t[vars.height]: '30px',\n\t\t\t[vars.fontSize]: '14px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.md}`\n\t\t},\n\t\tlg: {\n\t\t\t[vars.height]: '40px',\n\t\t\t[vars.fontSize]: '20px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.lg}`\n\t\t},\n\t\txl: {\n\t\t\t[vars.height]: '50px',\n\t\t\t[vars.fontSize]: '25px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.xl}`\n\t\t}\n\t},\n\n\t[vars.borderRadius]: globalRefs.radius.lg,\n\t[vars.cursor]: 'pointer',\n\t[vars.borderWidth]: '2px',\n\t[vars.borderStyle]: 'solid',\n\t[vars.borderColor]: 'transparent',\n\n\t_fullWidth: {\n\t\t[vars.width]: '100%'\n\t},\n\t_loading: {\n\t\t[vars.cursor]: 'wait'\n\t},\n\n\tvariant: {\n\t\tcontained: {\n\t\t\t[vars.color]: helperRefs.contrast,\n\t\t\t[vars.backgroundColor]: helperRefs.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.backgroundColor]: helperRefs.dark\n\t\t\t},\n\t\t\t_loading: {\n\t\t\t\t[vars.backgroundColor]: helperRefs.main\n\t\t\t}\n\t\t},\n\t\toutline: {\n\t\t\t[vars.color]: helperRefs.main,\n\t\t\t[vars.borderColor]: helperRefs.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.color]: helperRefs.dark,\n\t\t\t\t[vars.borderColor]: helperRefs.dark,\n\t\t\t\t_error: {\n\t\t\t\t\t[vars.color]: helperRefs.error\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tlink: {\n\t\t\t[vars.color]: helperRefs.main,\n\t\t\t[vars.padding]: 0,\n\t\t\t[vars.margin]: 0,\n\t\t\t[vars.lineHeight]: helperRefs.height,\n\t\t\t[vars.borderRadius]: 0,\n\t\t\t_hover: {\n\t\t\t\t[vars.color]: helperRefs.main,\n\t\t\t\t[vars.textDecoration]: 'underline'\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport default button;\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport TextField from '../../components/descope-text-field/TextField';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = TextField.cssVarList;\n\nexport const textField = (vars) => ({\n\tsize: {\n\t\txs: {\n\t\t\t[vars.height]: '14px',\n\t\t\t[vars.fontSize]: '8px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.xs}`\n\t\t},\n\t\tsm: {\n\t\t\t[vars.height]: '20px',\n\t\t\t[vars.fontSize]: '10px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.sm}`\n\t\t},\n\t\tmd: {\n\t\t\t[vars.height]: '30px',\n\t\t\t[vars.fontSize]: '14px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.md}`\n\t\t},\n\t\tlg: {\n\t\t\t[vars.height]: '40px',\n\t\t\t[vars.fontSize]: '16px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.lg}`\n\t\t},\n\t\txl: {\n\t\t\t[vars.height]: '50px',\n\t\t\t[vars.fontSize]: '25px',\n\t\t\t[vars.padding]: `0 ${globalRefs.spacing.xl}`\n\t\t}\n\t},\n\n\t[vars.color]: globalRefs.colors.surface.contrast,\n\t[vars.placeholderColor]: globalRefs.colors.surface.contrast,\n\n\t[vars.backgroundColor]: globalRefs.colors.surface.light,\n\n\t[vars.borderWidth]: '1px',\n\t[vars.borderStyle]: 'solid',\n\t[vars.borderColor]: 'transparent',\n\t[vars.borderRadius]: globalRefs.radius.sm,\n\n\t_disabled: {\n\t\t[vars.color]: globalRefs.colors.surface.dark,\n\t\t[vars.placeholderColor]: globalRefs.colors.surface.light,\n\t\t[vars.backgroundColor]: globalRefs.colors.surface.main\n\t},\n\n\t_fullWidth: {\n\t\t[vars.width]: '100%'\n\t},\n\n\t_focused: {\n\t\t[vars.outline]: `2px solid ${globalRefs.colors.surface.main}`\n\t},\n\n\t_bordered: {\n\t\t[vars.borderColor]: globalRefs.colors.surface.main\n\t},\n\n\t_invalid: {\n\t\t[vars.borderColor]: globalRefs.colors.error.main,\n\t\t[vars.color]: globalRefs.colors.error.main,\n\t\t[vars.placeholderColor]: globalRefs.colors.error.light\n\t}\n});\n\nexport default textField(vars);\n","import PasswordField from '../../components/descope-password-field/PasswordField';\nimport { textField } from './textField';\n\nconst vars = PasswordField.cssVarList;\n\nconst passwordField = {\n\t...textField(vars),\n\t[vars.revealCursor]: 'pointer'\n};\n\nexport default passwordField;\n","import NumberField from '../../components/descope-number-field/NumberField';\nimport { textField } from './textField';\n\nconst numberField = {\n\t...textField(NumberField.cssVarList)\n};\n\nexport default numberField;\n","import EmailField from '../../components/descope-email-field/EmailField';\nimport { textField } from './textField';\n\nconst emailField = {\n\t...textField(EmailField.cssVarList)\n};\n\nexport default emailField;\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport TextArea from '../../components/descope-text-area/TextArea';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = TextArea.cssVarList;\n\nconst textArea = {\n\t[vars.width]: '100%',\n\t[vars.color]: globalRefs.colors.primary.main,\n\t[vars.backgroundColor]: globalRefs.colors.surface.light,\n\t[vars.resize]: 'vertical',\n\n\t[vars.borderRadius]: globalRefs.radius.sm,\n\t[vars.borderWidth]: '1px',\n\t[vars.borderStyle]: 'solid',\n\t[vars.borderColor]: 'transparent',\n\n\t_bordered: {\n\t\t[vars.borderColor]: globalRefs.colors.surface.main\n\t},\n\n\t_focused: {\n\t\t[vars.outline]: `2px solid ${globalRefs.colors.surface.main}`\n\t},\n\n\t_fullWidth: {\n\t\t[vars.width]: '100%'\n\t},\n\n\t_disabled: {\n\t\t[vars.cursor]: 'not-allowed'\n\t},\n\n\t_invalid: {\n\t\t[vars.outline]: `2px solid ${globalRefs.colors.error.main}`\n\t}\n};\n\nexport default textArea;\n","import Checkbox from '../../components/descope-checkbox/Checkbox';\n\nconst vars = Checkbox.cssVarList;\n\nconst checkbox = {\n\t[vars.cursor]: 'pointer',\n\t[vars.width]: 'fit-content'\n};\n\nexport default checkbox;\n","import SwitchToggle from '../../components/descope-switch-toggle/SwitchToggle';\n\nconst vars = SwitchToggle.cssVarList;\n\nconst swtichToggle = {\n\t[vars.width]: '70px',\n\t[vars.cursor]: [{}, { selector: '> label' }]\n};\n\nexport default swtichToggle;\n","import globals from \"../globals\";\nimport { getThemeRefs, createHelperVars } from \"../../helpers/themeHelpers\";\nimport Container from \"../../components/descope-container/Container\";\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = Container.cssVarList\n\nconst verticalAlignment = {\n\tstart: { verticalAlignment: 'start' },\n\tcenter: { verticalAlignment: 'center' },\n\tend: { verticalAlignment: 'end' },\n}\n\nconst horizontalAlignment = {\n\tstart: { horizontalAlignment: 'start' },\n\tcenter: { horizontalAlignment: 'center' },\n\tend: { horizontalAlignment: 'end' },\n}\n\nconst [helperTheme, helperRefs, helperVars] =\n\tcreateHelperVars({\n\t\tverticalAlignment,\n\t\thorizontalAlignment,\n\t\tshadowColor: '#00000020' //if we want to support transparency vars, we should use different color format\n\t}, 'container')\n\nconst container = {\n\t...helperTheme,\n\t[vars.width]: '100%',\n\tverticalPadding: {\n\t\tsm: { [vars.verticalPadding]: '5px' },\n\t\tmd: { [vars.verticalPadding]: '10px' },\n\t\tlg: { [vars.verticalPadding]: '20px' },\n\t},\n\thorizontalPadding: {\n\t\tsm: { [vars.horizontalPadding]: '5px' },\n\t\tmd: { [vars.horizontalPadding]: '10px' },\n\t\tlg: { [vars.horizontalPadding]: '20px' },\n\t},\n\tdirection: {\n\t\trow: {\n\t\t\t[vars.flexDirection]: 'row',\n\t\t\t[vars.alignItems]: helperRefs.verticalAlignment,\n\t\t\t[vars.justifyContent]: helperRefs.horizontalAlignment,\n\t\t\thorizontalAlignment: {\n\t\t\t\tspaceBetween: { [helperVars.horizontalAlignment]: 'space-between' },\n\t\t\t}\n\t\t},\n\n\t\tcolumn: {\n\t\t\t[vars.flexDirection]: 'column',\n\t\t\t[vars.alignItems]: helperRefs.horizontalAlignment,\n\t\t\t[vars.justifyContent]: helperRefs.verticalAlignment,\n\t\t\tverticalAlignment: {\n\t\t\t\tspaceBetween: { [helperVars.verticalAlignment]: 'space-between' }\n\t\t\t}\n\t\t},\n\t},\n\n\tspaceBetween: {\n\t\tsm: {\n\t\t\t[vars.gap]: '10px'\n\t\t},\n\t\tmd: {\n\t\t\t[vars.gap]: '20px'\n\t\t},\n\t\tlg: {\n\t\t\t[vars.gap]: '30px'\n\t\t}\n\t},\n\n\tshadow: {\n\t\tsm: {\n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.wide.sm} ${helperRefs.shadowColor}, ${globalRefs.shadow.narrow.sm} ${helperRefs.shadowColor}`\n\t\t},\n\t\tmd: {\n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.wide.md} ${helperRefs.shadowColor}, ${globalRefs.shadow.narrow.md} ${helperRefs.shadowColor}`\n\t\t},\n\t\tlg: {\n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.wide.lg} ${helperRefs.shadowColor}, ${globalRefs.shadow.narrow.lg} ${helperRefs.shadowColor}`\n\t\t},\n\t\txl: {\n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.wide.xl} ${helperRefs.shadowColor}, ${globalRefs.shadow.narrow.xl} ${helperRefs.shadowColor}`\n\t\t},\n\t\t'2xl': {\n\t\t\t[helperVars.shadowColor]: '#00000050',\n\t\t\t[vars.boxShadow]: `${globalRefs.shadow.wide['2xl']} ${helperRefs.shadowColor}`\n\t\t},\n\t},\n\n\tborderRadius: {\n\t\tsm: {\n\t\t\t[vars.borderRadius]: globalRefs.radius.sm\n\t\t},\n\t\tmd: {\n\t\t\t[vars.borderRadius]: globalRefs.radius.md\n\t\t},\n\t\tlg: {\n\t\t\t[vars.borderRadius]: globalRefs.radius.lg\n\t\t},\n\t}\n};\n\nexport default container;\n","import Logo from \"../../components/descope-logo/Logo\";\n\nconst vars = Logo.cssVarList\n\nconst logo = {\n\t[vars.fallbackUrl]: 'url(https://content.app.descope.com/assets/flows/noLogoPlaceholder.svg)'\n};\n\nexport default logo;\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport Text from '../../components/descope-text/Text';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = Text.cssVarList;\n\nconst text = {\n\t[vars.lineHeight]: '1em',\n\t[vars.display]: 'inline-block',\n\t[vars.textAlign]: 'left',\n\t[vars.color]: globalRefs.colors.surface.dark,\n\tvariant: {\n\t\th1: {\n\t\t\t[vars.fontSize]: globalRefs.typography.h1.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.h1.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.h1.font\n\t\t},\n\t\th2: {\n\t\t\t[vars.fontSize]: globalRefs.typography.h2.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.h2.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.h2.font\n\t\t},\n\t\th3: {\n\t\t\t[vars.fontSize]: globalRefs.typography.h3.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.h3.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.h3.font\n\t\t},\n\t\tsubtitle1: {\n\t\t\t[vars.fontSize]: globalRefs.typography.subtitle1.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.subtitle1.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.subtitle1.font\n\t\t},\n\t\tsubtitle2: {\n\t\t\t[vars.fontSize]: globalRefs.typography.subtitle2.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.subtitle2.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.subtitle2.font\n\t\t},\n\t\tbody1: {\n\t\t\t[vars.fontSize]: globalRefs.typography.body1.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.body1.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.body1.font\n\t\t},\n\t\tbody2: {\n\t\t\t[vars.fontSize]: globalRefs.typography.body2.size,\n\t\t\t[vars.fontWeight]: globalRefs.typography.body2.weight,\n\t\t\t[vars.fontFamily]: globalRefs.typography.body2.font\n\t\t}\n\t},\n\tmode: {\n\t\tprimary: {\n\t\t\t[vars.color]: globalRefs.colors.primary.main\n\t\t},\n\t\tsecondary: {\n\t\t\t[vars.color]: globalRefs.colors.secondary.main\n\t\t},\n\t\terror: {\n\t\t\t[vars.color]: globalRefs.colors.error.main\n\t\t},\n\t\tsuccess: {\n\t\t\t[vars.color]: globalRefs.colors.success.main\n\t\t}\n\t},\n\ttextAlign: {\n\t\tright: { [vars.textAlign]: 'right' },\n\t\tleft: { [vars.textAlign]: 'left' },\n\t\tcenter: { [vars.textAlign]: 'center' }\n\t},\n\t_fullWidth: {\n\t\t[vars.width]: '100%',\n\t\t[vars.display]: 'block'\n\t},\n\t_italic: {\n\t\t[vars.fontStyle]: 'italic'\n\t},\n\t_uppercase: {\n\t\t[vars.textTransform]: 'uppercase'\n\t},\n\t_lowercase: {\n\t\t[vars.textTransform]: 'lowercase'\n\t}\n};\n\nexport default text;\n","import globals from '../globals';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\nimport Link from '../../components/descope-link/Link';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = Link.cssVarList;\n\nconst link = {\n\t[vars.cursor]: 'pointer',\n\t[vars.borderBottomWidth]: '2px',\n\t[vars.borderBottomStyle]: 'solid',\n\t[vars.borderBottomColor]: 'transparent',\n\t[vars.color]: globalRefs.colors.primary.main,\n\n\t_hover: {\n\t\t[vars.borderBottomColor]: globalRefs.colors.primary.main\n\t},\n\n\ttextAlign: {\n\t\tright: { [vars.textAlign]: 'right' },\n\t\tleft: { [vars.textAlign]: 'left' },\n\t\tcenter: { [vars.textAlign]: 'center' }\n\t},\n\n\t_fullWidth: {\n\t\t[vars.width]: '100%'\n\t},\n\n\tmode: {\n\t\tprimary: {\n\t\t\t[vars.color]: globalRefs.colors.primary.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.borderBottomColor]: globalRefs.colors.primary.main\n\t\t\t}\n\t\t},\n\t\tsecondary: {\n\t\t\t[vars.color]: globalRefs.colors.secondary.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.borderBottomColor]: globalRefs.colors.secondary.main\n\t\t\t}\n\t\t},\n\t\terror: {\n\t\t\t[vars.color]: globalRefs.colors.error.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.borderBottomColor]: globalRefs.colors.error.main\n\t\t\t}\n\t\t},\n\t\tsuccess: {\n\t\t\t[vars.color]: globalRefs.colors.success.main,\n\t\t\t_hover: {\n\t\t\t\t[vars.borderBottomColor]: globalRefs.colors.success.main\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport default link;\n","import Divider, { componentName } from '../../components/descope-divider/Divider';\nimport { createHelperVars } from '../../helpers/themeHelpers';\n\nconst vars = Divider.cssVarList;\n\nconst thickness = '2px'\nconst textPaddingSize = '10px'\nconst [helperTheme, helperRefs] = createHelperVars({ thickness, textPaddingSize }, componentName);\n\n\nconst divider = {\n\t...helperTheme,\n\t[vars.alignItems]: 'center',\n\t[vars.dividerHeight]: helperRefs.thickness,\n\t[vars.backgroundColor]: 'currentColor',\n\t[vars.opacity]: '0.2',\n\t[vars.textPadding]: `0 ${helperRefs.textPaddingSize}`,\n\t[vars.width]: '100%',\n\t[vars.flexDirection]: 'row',\n\t[vars.alignSelf]: 'strech',\n\t[vars.textWidth]: 'fit-content',\n\t[vars.maxTextWidth]: 'calc(100% - 100px)',\n\t_vertical: {\n\t\t[vars.padding]: `0 calc(${thickness} * 3)`,\n\t\t[vars.width]: 'fit-content',\n\t\t[vars.textPadding]: `${helperRefs.textPaddingSize} 0`,\n\t\t[vars.flexDirection]: 'column',\n\t\t[vars.minHeight]: '200px',\n\t\t[vars.textWidth]: 'fit-content',\n\t\t[vars.dividerWidth]: helperRefs.thickness,\n\t\t[vars.maxTextWidth]: '100%',\n\t}\n};\n\nexport default divider;\n","import Passcode from '../../components/descope-passcode/Passcode';\nimport { textField } from './textField';\n\nconst passcode = {\n\t...textField(Passcode.cssVarList),\n};\n\nexport default passcode;\n","import LoaderLinear from '../../../components/descope-loader-linear/LoaderLinear';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport globals from '../../globals';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = LoaderLinear.cssVarList;\n\nconst loaderLinear = {\n\t[vars.display]: 'inline-block',\n\t[vars.barColor]: globalRefs.colors.surface.contrast,\n\t[vars.barWidth]: '20%',\n\t[vars.surfaceColor]: globalRefs.colors.surface.main,\n\t[vars.borderRadius]: '4px',\n\t[vars.animationDuration]: '2s',\n\t[vars.animationTimingFunction]: 'linear',\n\t[vars.animationIterationCount]: 'infinite',\n\t[vars.width]: '100%',\n\tsize: {\n\t\txs: {\n\t\t\t[vars.height]: '6px'\n\t\t},\n\t\tsm: {\n\t\t\t[vars.height]: '8px'\n\t\t},\n\t\tmd: {\n\t\t\t[vars.height]: '10px'\n\t\t},\n\t\tlg: {\n\t\t\t[vars.height]: '12px'\n\t\t},\n\t\txl: {\n\t\t\t[vars.height]: '14px'\n\t\t}\n\t},\n\tmode: {\n\t\tprimary: {\n\t\t\t[vars.barColor]: globalRefs.colors.primary.main\n\t\t},\n\t\tsecondary: {\n\t\t\t[vars.barColor]: globalRefs.colors.secondary.main\n\t\t}\n\t},\n\t_hidden: {\n\t\t[vars.display]: 'none'\n\t}\n};\n\nexport default loaderLinear;\n","import LoaderRadial from '../../../components/descope-loader-radial/LoaderRadial';\nimport { getThemeRefs } from '../../../helpers/themeHelpers';\nimport globals from '../../globals';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = LoaderRadial.cssVarList;\n\nconst loaderRadial = {\n\t[vars.display]: 'inline-block',\n\t[vars.color]: globalRefs.colors.surface.contrast,\n\t[vars.animationDuration]: '2s',\n\t[vars.animationTimingFunction]: 'linear',\n\t[vars.animationIterationCount]: 'infinite',\n\t[vars.spinnerStyle]: 'solid',\n\t[vars.spinnerWidth]: '4px',\n\t[vars.spinnerRadius]: '50%',\n\t[vars.spinnerTopColor]: 'currentColor',\n\t[vars.spinnerBottomColor]: 'transparent',\n\t[vars.spinnerRightColor]: 'currentColor',\n\t[vars.spinnerLeftColor]: 'transparent',\n\tsize: {\n\t\txs: {\n\t\t\t[vars.width]: '20px',\n\t\t\t[vars.height]: '20px',\n\t\t\t[vars.spinnerWidth]: '2px'\n\t\t},\n\t\tsm: {\n\t\t\t[vars.width]: '30px',\n\t\t\t[vars.height]: '30px',\n\t\t\t[vars.spinnerWidth]: '3px'\n\t\t},\n\t\tmd: {\n\t\t\t[vars.width]: '40px',\n\t\t\t[vars.height]: '40px',\n\t\t\t[vars.spinnerWidth]: '4px'\n\t\t},\n\t\tlg: {\n\t\t\t[vars.width]: '60px',\n\t\t\t[vars.height]: '60px',\n\t\t\t[vars.spinnerWidth]: '5px'\n\t\t},\n\t\txl: {\n\t\t\t[vars.width]: '80px',\n\t\t\t[vars.height]: '80px',\n\t\t\t[vars.spinnerWidth]: '6px'\n\t\t}\n\t},\n\tmode: {\n\t\tprimary: {\n\t\t\t[vars.color]: globalRefs.colors.primary.main\n\t\t},\n\t\tsecondary: {\n\t\t\t[vars.color]: globalRefs.colors.secondary.main\n\t\t}\n\t},\n\t_hidden: {\n\t\t[vars.display]: 'none'\n\t}\n};\n\nexport default loaderRadial;\n","import { compose } from '../../helpers';\nimport { getComponentName, observeChildren } from '../../helpers/componentHelpers';\nimport {\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tcomponentNameValidationMixin,\n\tportalMixin,\n\tproxyInputMixin\n} from '../../mixins';\n\nexport const componentName = getComponentName('combo-box');\n\nconst selectors = {\n\tinput: { selector: '::part(input-field)' },\n\ttoggle: { selector: '::part(toggle-button)' }\n};\n\nconst { input, toggle } = selectors;\n\nconst borderRadius = {\n\ttopRightRadius: {\n\t\tselector: input.selector,\n\t\tproperty: 'border-top-right-radius'\n\t},\n\tbottomRightRadius: {\n\t\tselector: input.selector,\n\t\tproperty: 'border-bottom-right-radius'\n\t},\n\ttopLeftRadius: {\n\t\tselector: input.selector,\n\t\tproperty: 'border-top-left-radius'\n\t},\n\tbottomLeftRadius: {\n\t\tselector: input.selector,\n\t\tproperty: 'border-bottom-left-radius'\n\t}\n};\n\nconst ComboBoxMixin = (superclass) => class ComboBoxMixinClass extends superclass {\n\n\t// vaadin api is to set props on their combo box node, \n\t// in order to avoid it, we are passing the children of this component\n\t// to the items & renderer props, so it will be used as the combo box items\n\t#onChildrenChange() {\n\t\tconst baseElement = this.shadowRoot.querySelector(this.baseSelector)\n\t\tconst items = Array.from(this.children)\n\n\t\t// we want the data-name attribute to be accessible as an object attribute\n\t\tbaseElement.items = items.map((node) =>\n\t\t\tObject.defineProperty(node, 'data-name', {\n\t\t\t\tvalue: node.getAttribute('data-name')\n\t\t\t})\n\t\t);\n\n\t\tbaseElement.renderer = (root, combo, model) => {\n\t\t\troot.innerHTML = items[model.index].outerHTML;\n\t\t};\n\t}\n\n\t// the default vaadin behavior is to attach the overlay to the body when opened\n\t// we do not want that because it's difficult to style the overlay in this way\n\t// so we override it to open inside the shadow DOM\n\t#overrideOverlaySettings() {\n\t\tconst overlay = this.baseElement.shadowRoot.querySelector('vaadin-combo-box-overlay')\n\n\t\toverlay._attachOverlay = function () { this.bringToFront(); }\n\t\toverlay._detachOverlay = function () { }\n\t\toverlay._enterModalState = function () { }\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback?.()\n\n\t\tthis.#overrideOverlaySettings();\n\t\tobserveChildren(this, this.#onChildrenChange.bind(this));\n\t}\n}\n\nconst ComboBox = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\t...borderRadius,\n\t\t\tbackgroundColor: input,\n\t\t\twidth: input,\n\t\t\tcolor: input,\n\t\t\tpadding: input,\n\t\t\tborderColor: input,\n\t\t\tborderStyle: input,\n\t\t\tborderWidth: input,\n\t\t\tcursor: toggle,\n\t\t\theight: input,\n\t\t\t// overlayBackground: { property: () => ComboBox.cssVarList.overlay.backgroundColor },\n\t\t\t// overlayBorder: { property: () => ComboBox.cssVarList.overlay.border }\n\t\t}\n\t}),\n\tdraggableMixin,\n\tportalMixin({\n\t\tname: 'overlay',\n\t\tselector: '',\n\t\tmappings: {\n\t\t\t// border: { selector: 'vaadin-combo-box-scroller' },\n\t\t\t// backgroundColor: { selector: 'vaadin-combo-box-item' },\n\t\t}\n\t}),\n\tproxyInputMixin,\n\tcomponentNameValidationMixin,\n\tComboBoxMixin\n)(\n\tcreateProxy({\n\t\tslots: ['prefix'],\n\t\twrappedEleName: 'vaadin-combo-box',\n\t\tstyle: () => `\n\t\t:host {\n\t\t\t-webkit-mask-image: none;\n\t\t}\n\t\t`,\n\t\texcludeAttrsSync: ['tabindex'],\n\t\tincludeAttrsSync: [],\n\t\tcomponentName,\n\t\tincludeForwardProps: ['items', 'renderer']\n\t})\n);\n\nexport default ComboBox;\n","import globals from '../globals';\nimport ComboBox from '../../components/descope-combo-box/ComboBox';\nimport { textField } from './textField';\nimport { getThemeRefs } from '../../helpers/themeHelpers';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = ComboBox.cssVarList;\n\nexport const comboBox = {\n\t...textField(ComboBox.cssVarList),\n\tsize: {\n\t\txs: {\n\t\t\t[vars.width]: '30px'\n\t\t}\n\t},\n\t[vars.borderColor]: 'green',\n\t[vars.borderWidth]: '0',\n\t[vars.cursor]: 'pointer',\n\t[vars.padding]: '0',\n\t// [vars.overlayBackground]: 'blue',\n\t// [vars.overlayBorder]: '3px solid red',\n};\n\nexport default comboBox;\n","import button from './button';\nimport textField from './textField';\nimport passwordField from './passwordField';\nimport numberField from './numberField';\nimport emailField from './emailField';\nimport textArea from './textArea';\nimport checkbox from './checkbox';\nimport switchToggle from './switchToggle';\nimport container from './container';\nimport logo from './logo';\nimport text from './text';\nimport link from './link';\nimport divider from './divider';\nimport passcode from './passcode';\nimport { loaderRadial, loaderLinear } from './loader';\nimport comboBox from './comboBox';\n\nexport default {\n\tbutton,\n\ttextField,\n\tpasswordField,\n\tnumberField,\n\temailField,\n\ttextArea,\n\tcheckbox,\n\tswitchToggle,\n\tcontainer,\n\tlogo,\n\ttext,\n\tlink,\n\tdivider,\n\tpasscode,\n\tloaderRadial,\n\tloaderLinear,\n\tcomboBox\n};\n","import globals from './globals';\nimport components from './components';\n\nexport default { globals, components };\n"],"names":["componentName","label","host","selectors","root","after","text","overrides","descopeInternalComponentName","globalRefs","vars","helperTheme","helperRefs","textField","switchToggle"],"mappings":"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"}