@descope/web-components-ui 1.0.54 → 1.0.55

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/constants.js","../src/helpers.js","../src/componentsHelpers/createStyleMixin/helpers.js","../src/componentsHelpers/createStyleMixin/index.js","../src/componentsHelpers/draggableMixin.js","../src/components/DescopeBaseClass.js","../src/componentsHelpers/hoverableMixin.js","../src/componentsHelpers/createProxy/helpers.js","../src/componentsHelpers/createProxy/index.js","../src/componentsHelpers/inputMixin.js","../src/componentsHelpers/componentNameValidationMixin.js","../src/componentsHelpers/index.js","../src/components/descope-button/Button.js","../src/components/descope-button/index.js","../src/components/descope-text-field/textFieldMappings.js","../src/components/descope-text-field/TextField.js","../src/components/descope-text-field/index.js","../src/components/descope-combo/index.js","../src/components/descope-number-field/NumberField.js","../src/components/descope-number-field/index.js","../src/components/descope-email-field/EmailField.js","../src/components/descope-email-field/index.js","../src/components/descope-password-field/PasswordField.js","../src/components/descope-password-field/index.js","../src/components/descope-text-area/TextArea.js","../src/components/descope-text-area/index.js","../src/components/descope-date-picker/index.js","../src/components/descope-container/Container.js","../src/components/descope-container/index.js","../src/components/descope-text/Text.js","../src/components/descope-text/index.js","../src/componentsHelpers/enforceNestingElementsStylesMixin.js","../src/components/descope-link/Link.js","../src/components/descope-link/index.js","../src/components/descope-divider/Divider.js","../src/components/descope-divider/index.js","../src/components/descope-logo/Logo.js","../src/components/descope-logo/index.js","../src/components/descope-checkbox/Checkbox.js","../src/components/descope-checkbox/index.js","../src/themeHelpers/index.js","../src/themeHelpers/processColors.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/components/descope-switch-toggle/SwitchToggle.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/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js","../src/components/descope-passcode/Passcode.js","../src/theme/components/passcode.js","../src/theme/components/index.js","../src/theme/index.js"],"sourcesContent":["export const DESCOPE_PREFIX = 'descope';\n","export 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.join('-'));\n\nexport const getCssVarName = (...args) =>\n\t`--${kebabCaseJoin(...args.filter((arg) => !!arg))}`;\n","import { getCssVarName, kebabCase } from '../../helpers';\n\nconst createCssVarFallback = (first, ...rest) =>\n\t`var(${first}${rest.length ? ` , ${createCssVarFallback(...rest)}` : ''})`;\n\nconst createCssSelector = (\n\tbaseSelector = '',\n\trelativeSelectorOrSelectorFn = ''\n) =>\n\ttypeof relativeSelectorOrSelectorFn === 'function'\n\t\t? relativeSelectorOrSelectorFn(baseSelector)\n\t\t: `${baseSelector}${relativeSelectorOrSelectorFn}`;\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\t(style += `${selector} { \\n${propValArr\n\t\t\t\t\t.map(({ property, value }) => `${property}: ${value}`)\n\t\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\tproperty,\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// match the host selector with the inner element selector\n// e.g. when we want to set the same size for the host & the inner element this can be useful\nexport const matchHostStyle = (mappingObj = {}) => [\n\tmappingObj,\n\t{ ...mappingObj, selector: () => `:host${mappingObj.selector || ''}` }\n];\n","import { getCssVarName, kebabCaseJoin } from '../../helpers';\nimport { createStyle, createCssVarsList } from './helpers';\n\nexport const createStyleMixin =\n\t({ mappings = {}, nestedMappings = {} }) =>\n\t\t(superclass) => {\n\t\t\tconst styleAttributes = Object.keys(mappings).map((key) =>\n\t\t\t\tkebabCaseJoin('st', key)\n\t\t\t);\n\t\t\treturn class CustomStyleMixinClass extends superclass {\n\t\t\t\tstatic get observedAttributes() {\n\t\t\t\t\tconst superAttrs = superclass.observedAttributes || [];\n\t\t\t\t\treturn [...superAttrs, ...styleAttributes];\n\t\t\t\t}\n\n\t\t\t\tstatic get cssVarList() {\n\t\t\t\t\treturn createCssVarsList(superclass.componentName, mappings);\n\t\t\t\t}\n\n\t\t\t\t#styleEle = null;\n\n\t\t\t\tconstructor() {\n\t\t\t\t\tsuper();\n\n\t\t\t\t\tthis.#createComponentStyle();\n\t\t\t\t\tthis.#createAttrOverrideStyle();\n\t\t\t\t}\n\n\t\t\t\t#createAttrOverrideStyle() {\n\t\t\t\t\tthis.#styleEle = document.createElement('style');\n\t\t\t\t\tthis.#styleEle.id = 'style-mixin-overrides';\n\n\t\t\t\t\tthis.#styleEle.innerText = '* {}';\n\t\t\t\t\tthis.shadowRoot.prepend(this.#styleEle);\n\t\t\t\t}\n\n\t\t\t\t#updateAttrOverrideStyle(attrName, value) {\n\t\t\t\t\tconst style = this.#styleEle.sheet?.cssRules[0].style;\n\t\t\t\t\tconst varName = getCssVarName(\n\t\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\t\tattrName.replace(/^st-/, '')\n\t\t\t\t\t);\n\n\t\t\t\t\tif (value) style?.setProperty(varName, value);\n\t\t\t\t\telse style?.removeProperty(varName);\n\t\t\t\t}\n\n\t\t\t\t#createComponentStyle() {\n\t\t\t\t\tconst themeStyle = document.createElement('style');\n\t\t\t\t\tthemeStyle.id = 'style-mixin-component';\n\t\t\t\t\tthemeStyle.innerHTML = createStyle(\n\t\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\t\tthis.baseSelector,\n\t\t\t\t\t\tmappings\n\t\t\t\t\t);\n\t\t\t\t\tthis.shadowRoot.prepend(themeStyle);\n\t\t\t\t}\n\n\t\t\t\t#createComponentNestingStyle() {\n\t\t\t\t\t// we need these selectors to be more specific from the theme selectors\n\t\t\t\t\t// in order to do it, we are repeating the class name for specificity\n\t\t\t\t\tconst numOfClassNameSpecifier = 3\n\n\t\t\t\t\tconst rootNode = this.shadowRoot.host.getRootNode()\n\t\t\t\t\tconst styleId = `${superclass.componentName}-style-mixin-component`\n\n\t\t\t\t\tconst className = superclass.componentName\n\t\t\t\t\tthis.shadowRoot.host.classList.add(className)\n\n\t\t\t\t\tif(rootNode.querySelector(`style#${styleId}`)) return;\n\n\t\t\t\t\tconst themeStyle = document.createElement('style');\n\t\t\t\t\tthemeStyle.id = styleId;\n\t\t\t\t\tthemeStyle.innerHTML = createStyle(\n\t\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\t\t`${superclass.componentName}${Array(numOfClassNameSpecifier).fill(`.${className}`).join('')}`,\n\t\t\t\t\t\tnestedMappings\n\t\t\t\t\t);\n\n\t\t\t\t\t// rootNode can be either a shadow DOM or a light DOM\n\t\t\t\t\tif (rootNode.nodeName === '#document') {\n\t\t\t\t\t\trootNode.head.append(themeStyle)\n\t\t\t\t\t} else {\n\t\t\t\t\t\trootNode.append(themeStyle)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\t\t\t\tsuper.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n\t\t\t\t\tif (styleAttributes.includes(attrName)) {\n\t\t\t\t\t\tthis.#updateAttrOverrideStyle(attrName, newValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconnectedCallback() {\n\t\t\t\t\tsuper.connectedCallback?.();\n\t\t\t\t\tif (this.shadowRoot.isConnected) {\n\t\t\t\t\t\tthis.#createComponentNestingStyle();\n\n\t\t\t\t\t\tArray.from(this.attributes).forEach(attr => {\n\t\t\t\t\t\t\tif (styleAttributes.includes(attr.nodeName)) {\n\t\t\t\t\t\t\t\tthis.#updateAttrOverrideStyle(attr.nodeName, attr.value)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\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 = `${this.baseSelector} { cursor: inherit }`;\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","export class DescopeBaseClass extends HTMLElement {}\n","export const hoverableMixin =\n\t(relativeSelector = '') =>\n\t(superclass) =>\n\t\tclass HovrerableMixinClass extends superclass {\n\t\t\tconnectedCallback() {\n\t\t\t\tsuper.connectedCallback?.();\n\n\t\t\t\tconst onMouseOver = (e) => {\n\t\t\t\t\tthis.shadowRoot.host.setAttribute('hover', 'true');\n\t\t\t\t\te.target.addEventListener(\n\t\t\t\t\t\t'mouseleave',\n\t\t\t\t\t\t() => this.shadowRoot.host.removeAttribute('hover'),\n\t\t\t\t\t\t{ once: true }\n\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\tconst baseElement = this.shadowRoot.querySelector(\n\t\t\t\t\tthis.baseSelector + relativeSelector\n\t\t\t\t);\n\n\t\t\t\tbaseElement.addEventListener('mouseover', onMouseOver);\n\t\t\t}\n\t\t};\n","const observeAttributes = (\n\tele,\n\tcallback,\n\t{ excludeAttrs = [], includeAttrs = [] }\n) => {\n\t// sync all attrs on init\n\tcallback(\n\t\t...Array.from(ele.attributes)\n\t\t\t.filter(\n\t\t\t\t(attr) =>\n\t\t\t\t\t!excludeAttrs.includes(attr.name) &&\n\t\t\t\t\t(!includeAttrs.length || includeAttrs.includes(attr.name))\n\t\t\t)\n\t\t\t.map((attr) => attr.name)\n\t);\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\nconst createSyncAttrsCb =\n\t(srcEle, targetEle, mapAttrs = {}) =>\n\t(...attrNames) => {\n\t\tattrNames.forEach((attrName) => {\n\t\t\tconst targetAttrName = mapAttrs[attrName] || attrName;\n\t\t\tconst srcAttrVal = srcEle.getAttribute(attrName);\n\t\t\tif (srcAttrVal !== null) {\n\t\t\t\tif (targetEle.getAttribute(targetAttrName) !== srcAttrVal) {\n\t\t\t\t\ttargetEle.setAttribute(targetAttrName, srcAttrVal);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttargetEle.removeAttribute(targetAttrName);\n\t\t\t}\n\t\t});\n\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 forwardAttrs = (source, dest, options = {}) => {\n\tobserveAttributes(\n\t\tsource,\n\t\tcreateSyncAttrsCb(source, dest, options.mapAttrs),\n\t\toptions\n\t);\n};\n","import { compose } from '..';\nimport { DescopeBaseClass } from '../../components/DescopeBaseClass';\nimport { hoverableMixin } from '../hoverableMixin';\nimport { syncAttrs } from './helpers';\n\nexport const createProxy = ({\n\tcomponentName,\n\twrappedEleName,\n\tslots = [],\n\tstyle,\n\texcludeAttrsSync = []\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 ProxyElement extends DescopeBaseClass {\n\t\tstatic get componentName() {\n\t\t\treturn componentName;\n\t\t}\n\n\t\tconstructor() {\n\t\t\tsuper().attachShadow({ mode: 'open' }).innerHTML = template;\n\t\t\tthis.hostElement = this.shadowRoot.host;\n\t\t\tthis.baseSelector = wrappedEleName;\n\t\t\tthis.shadowRoot.getElementById('create-proxy').innerHTML =\n\t\t\t\ttypeof style === 'function' ? style() : style;\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tif (this.shadowRoot.isConnected) {\n\t\t\t\tthis.proxyElement = this.shadowRoot.querySelector(wrappedEleName);\n\t\t\t\tthis.setAttribute('tabindex', '0');\n\n\t\t\t\t// we want to focus on the proxy element when focusing our WC\n\t\t\t\tthis.addEventListener('focus', () => {\n\t\t\t\t\tthis.proxyElement.focus();\n\t\t\t\t});\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 behaviour.\n\t\t\t\tthis.proxyElement.onkeydown = (e) => {\n\t\t\t\t\tif (e.shiftKey && e.keyCode === 9) {\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\t// sync events\n\t\t\t\tthis.addEventListener = (...args) =>\n\t\t\t\t\tthis.proxyElement.addEventListener(...args);\n\n\t\t\t\tsyncAttrs(this.proxyElement, this.hostElement, {\n\t\t\t\t\texcludeAttrs: excludeAttrsSync\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tthis.proxyElement.removeEventListener('mouseover', this.mouseoverCbRef);\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\t}\n\n\treturn compose(hoverableMixin())(ProxyElement);\n};\n","const attrs = {\n\tvalueMissing: 'data-errormessage-value-missing',\n\tpatternMismatch: 'data-errormessage-pattern-mismatch'\n};\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\nexport const inputMixin = (superclass) =>\n\tclass InputMixinClass extends superclass {\n\t\tstatic get formAssociated() {\n\t\t\treturn true;\n\t\t}\n\n\t\t#internals;\n\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\tthis.#internals = this.attachInternals();\n\t\t}\n\n\t\tformAssociatedCallback() {\n\t\t\tthis.setValidity?.();\n\t\t}\n\n\t\tsetValidationAttribute(attr) {\n\t\t\tconst validationAttr = this.getAttribute(attr);\n\t\t\tif (validationAttr) {\n\t\t\t\tthis.proxyElement.setAttribute('error-message', validationAttr);\n\t\t\t}\n\t\t\t// normalize vaadin error attributes to have a boolean value\n\t\t\terrorAttrs.forEach((att) => this.proxyElement.setAttribute(att, 'true'));\n\t\t}\n\n\t\tvalidate() {\n\t\t\tconst { valueMissing, patternMismatch, typeMismatch } = this.validity;\n\t\t\tif (valueMissing) {\n\t\t\t\tthis.setValidationAttribute(attrs.valueMissing);\n\t\t\t} else if (typeMismatch || patternMismatch) {\n\t\t\t\tthis.setValidationAttribute(attrs.patternMismatch);\n\t\t\t}\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tsuper.connectedCallback?.();\n\n\t\t\tthis.baseEle = this.shadowRoot.querySelector(this.baseSelector);\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')) {\n\t\t\t\tthis.setAttribute('tabindex', 0);\n\t\t\t}\n\n\t\t\tthis.inputElement ??= this.baseEle.shadowRoot.querySelector('slot[name=\"input\"]')?.assignedElements()[0] ||\n\t\t\t\tthis.baseEle.shadowRoot.querySelector('slot[name=\"textarea\"]')?.assignedElements()[0]\n\t\t\tif (!this.inputElement) throw Error('no input was found');\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\n\t\t\tthis.validity = this.inputElement.validity;\n\n\t\t\tthis.setValidity = () => {\n\t\t\t\tthis.#internals.setValidity(this.inputElement.validity, this.inputElement.validationMessage);\n\t\t\t};\n\n\t\t\tthis.inputElement.oninput = () => {\n\t\t\t\tthis.value = this.inputElement.value;\n\t\t\t\tthis.setValidity();\n\t\t\t};\n\n\t\t\tthis.onfocus = () => {\n\t\t\t\tsetTimeout(() => this.inputElement.reportValidity(), 0);\n\t\t\t\tthis.validate();\n\t\t\t};\n\n\t\t\tthis.inputElement.oninvalid = () => {\n\t\t\t\tthis.validate();\n\t\t\t};\n\t\t}\n\t};\n","export const componentNameValidationMixin = (superclass) =>\n\tclass DraggableMixinClass 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","import { DESCOPE_PREFIX } from '../constants';\nimport { kebabCaseJoin } from '../helpers';\n\nexport const getComponentName = (name) => kebabCaseJoin(DESCOPE_PREFIX, name);\n\nexport const compose =\n\t(...fns) =>\n\t(val) =>\n\t\tfns.reduceRight((res, fn) => fn(res), val);\n\nexport { createStyleMixin } from './createStyleMixin';\nexport { draggableMixin } from './draggableMixin';\nexport { createProxy } from './createProxy';\nexport { inputMixin } from './inputMixin';\nexport { componentNameValidationMixin } from './componentNameValidationMixin';\n","import {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\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 selectors = {\n\tlabel: '::part(label)'\n};\n\nconst Button = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tbackgroundColor: {},\n\t\t\tborderRadius: {},\n\t\t\tcolor: { selector: selectors.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: matchHostStyle(),\n\t\t\tcursor: {},\n\t\t\tpadding: [{ selector: selectors.label }],\n\t\t\ttextDecoration: { selector: selectors.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\nexport default Button;\n","import '@vaadin/button';\nimport Button, { componentName } from './Button';\n\ncustomElements.define(componentName, Button);\n\nexport { Button };\n","import { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\n\nconst selectors = {\n\tlabel: '::part(label)',\n\tinput: '::part(input-field)',\n\treadOnlyInput: '[readonly]::part(input-field)::after',\n\tplaceholder: '> input:placeholder-shown'\n};\n\nexport default {\n\tcolor: { selector: selectors.input },\n\tbackgroundColor: { selector: selectors.input },\n\tcolor: { selector: selectors.input },\n\twidth: matchHostStyle({}),\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\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\tinputMixin,\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 '@vaadin/text-field';\nimport TextField, { componentName } from './TextField';\n\ncustomElements.define(componentName, TextField);\n\nexport { TextField };\n","import { getComponentName } from '../../componentsHelpers';\nimport { DescopeBaseClass } from '../DescopeBaseClass';\nimport '../descope-button';\nimport '../descope-text-field';\n\nconst template = document.createElement('template');\n\nconst componentName = getComponentName('combo');\n\ntemplate.innerHTML = `\n <descope-button></descope-button>\n <descope-text-field></descope-text-field>\n`;\n\nclass Combo extends DescopeBaseClass {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.attachShadow({ mode: 'open' }).appendChild(\n\t\t\ttemplate.content.cloneNode(true)\n\t\t);\n\t}\n}\n\ncustomElements.define(componentName, Combo);\n\nexport { Combo };\n","import {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\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\tinputMixin,\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 {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\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\tinputMixin,\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\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\tinputMixin,\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\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};\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: matchHostStyle(),\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\tinputMixin,\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}\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 '@vaadin/date-picker';\nimport {\n\tgetComponentName,\n\tdraggableMixin,\n\tcreateProxy,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\nimport { DescopeBaseClass } from '../DescopeBaseClass';\n\nexport const componentName = getComponentName('container');\n\nclass RawContainer extends DescopeBaseClass {\n\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\t\ttemplate.innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host > slot {\n\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<slot></slot>\n\t\t`;\n\n\t\tthis.attachShadow({ mode: 'open' });\n\t\tthis.shadowRoot.appendChild(template.content.cloneNode(true));\n\n\t\tthis.baseSelector = ':host > slot';\n\t}\n}\n\nconst Container = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\theight: matchHostStyle(),\n\t\t\twidth: matchHostStyle(),\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\tdisplay: {}, // maybe this should be hardcoded to flex\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 {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\nimport { DescopeBaseClass } from '../DescopeBaseClass';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends DescopeBaseClass {\n\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\t\ttemplate.innerHTML = `<slot></slot>`;\n\n\t\tthis.attachShadow({ mode: 'open' });\n\t\tthis.shadowRoot.appendChild(template.content.cloneNode(true));\n\n\t\tthis.baseSelector = ':host > slot';\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: {},\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: matchHostStyle(),\n\t\t\tdisplay: matchHostStyle()\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 { forwardAttrs } from '../componentsHelpers/createProxy/helpers';\n\nconst getChildObserver = (callback) => {\n\treturn 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\nconst insertNestingLevel = (srcEle, nestingEle) => {\n\tnestingEle.append(...srcEle.childNodes);\n\tsrcEle.appendChild(nestingEle);\n};\n\n// adds a nesting element to the component, and move all existing children\n// to be under the nesting element\nexport const enforceNestingElementsStylesMixin =\n\t({ nestingElementTagName, nestingElementDestSlotName, forwardAttrOptions }) =>\n\t(superclass) => {\n\t\tconst getChildNodeEle = () =>\n\t\t\tObject.assign(document.createElement(nestingElementTagName), {\n\t\t\t\tslot: nestingElementDestSlotName\n\t\t\t});\n\n\t\tlet childObserver;\n\t\t\n\t\tconst getObserver = () => childObserver;\n\n\t\treturn class EnforceNestingElementsStylesMixinClass extends superclass {\n\t\t\tconstructor() {\n\t\t\t\tsuper();\n\n\t\t\t\tconst childObserverCallback = () => {\n\t\t\t\t\t// we are going to change the DOM, so we need to disconnect the observer before\n\t\t\t\t\t// and reconnect it after the child component is added\n\t\t\t\t\tgetObserver().disconnect(this.shadowRoot.host);\n\n\t\t\t\t\tconst isNestingElementExist = this.shadowRoot.host.querySelector(nestingElementTagName);\n\t\t\t\t\tconst hasNewChildren = this.shadowRoot.host.childNodes.length > 0;\n\n\t\t\t\t\tif (!isNestingElementExist && hasNewChildren) {\n\t\t\t\t\t\t// if before there were no children and now there are children - insert\n\t\t\t\t\t\tinsertNestingLevel(this.shadowRoot.host, getChildNodeEle());\n\t\t\t\t\t} else if (isNestingElementExist && hasNewChildren) {\n\t\t\t\t\t\t// if children existed, and they changed -\n\t\t\t\t\t\t// we need to update (move) the new children into\n\t\t\t\t\t\t// descope-text and remove previous children\n\t\t\t\t\t\tthis.shadowRoot.host.querySelector(child).remove();\n\t\t\t\t\t\tinsertNestingLevel(this.shadowRoot.host, getChildNodeEle());\n\t\t\t\t\t}\n\t\t\t\t\telse if (isNestingElementExist && !hasNewChildren) {\n\t\t\t\t\t\t// if children existed and now there are none -\n\t\t\t\t\t\t// we need to remove descope-text completely\n\t\t\t\t\t\tthis.shadowRoot.host.querySelector(child).remove();\n\t\t\t\t\t}\n\n\t\t\t\t\t// we need a new observer, because we remove the nesting element\n\t\t\t\t\tthis.shadowRoot.host.querySelector(nestingElementTagName) &&\n\t\t\t\t\t\tforwardAttrs(\n\t\t\t\t\t\t\tthis.shadowRoot.host,\n\t\t\t\t\t\t\tthis.shadowRoot.host.querySelector(nestingElementTagName),\n\t\t\t\t\t\t\tforwardAttrOptions\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tgetObserver().observe(this.shadowRoot.host, {\n\t\t\t\t\t\tchildList: true\n\t\t\t\t\t});\n\t\t\t\t};\n\n\t\t\t\tchildObserver = getChildObserver(childObserverCallback);\n\t\t\t}\n\n\t\t\tconnectedCallback() {\n\t\t\t\tsuper.connectedCallback?.();\n\n\t\t\t\tif (this.shadowRoot.host.childNodes.length > 0) {\n\t\t\t\t\t// on the first render - we want to move all component's children to be under descope-text\n\t\t\t\t\tinsertNestingLevel(this.shadowRoot.host, getChildNodeEle());\n\n\t\t\t\t\tforwardAttrs(\n\t\t\t\t\t\tthis.shadowRoot.host,\n\t\t\t\t\t\tthis.shadowRoot.host.querySelector(nestingElementTagName),\n\t\t\t\t\t\tforwardAttrOptions\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tgetObserver().observe(this.shadowRoot.host, {\n\t\t\t\t\tchildList: true\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t};\n","import {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { forwardAttrs } from '../../componentsHelpers/createProxy/helpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\nimport { enforceNestingElementsStylesMixin } from '../../componentsHelpers/enforceNestingElementsStylesMixin';\nimport { hoverableMixin } from '../../componentsHelpers/hoverableMixin';\nimport { DescopeBaseClass } from '../DescopeBaseClass';\nimport Text from '../descope-text/Text';\n\nexport const componentName = getComponentName('link');\nclass RawLink extends DescopeBaseClass {\n\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\n\t\ttemplate.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<slot name=\"text\"></slot>\n\t\t\t</a>\n\t\t</div>\n\t\t`;\n\n\t\tthis.attachShadow({ mode: 'open' });\n\t\tthis.shadowRoot.appendChild(template.content.cloneNode(true));\n\n\t\tforwardAttrs(this.shadowRoot.host, 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\tthis.baseSelector = ':host > div';\n\t}\n}\n\nconst selectors = {\n\tanchor: { selector: '> a' }\n};\n\nconst { anchor } = selectors;\n\nconst Link = compose(\n\tenforceNestingElementsStylesMixin({\n\t\tnestingElementTagName: 'descope-text',\n\t\tnestingElementDestSlotName: 'text',\n\t\tforwardAttrOptions: {\n\t\t\tincludeAttrs: ['variant', 'italic', 'uppercase', 'lowercase']\n\t\t}\n\t}),\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\twidth: matchHostStyle(),\n\t\t\ttextAlign: {},\n\t\t\tcolor: anchor,\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\tnestedMappings: {\n\t\t\tcolor: {\n\t\t\t\tselector: ` ${Text.componentName}`,\n\t\t\t\tproperty: Text.cssVarList.color\n\t\t\t}\n\t\t}\n\t}),\n\thoverableMixin(anchor.selector),\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { enforceNestingElementsStylesMixin } from '../../componentsHelpers/enforceNestingElementsStylesMixin';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\nimport { DescopeBaseClass } from '../DescopeBaseClass';\n\nexport const componentName = getComponentName('divider');\nclass RawDivider extends DescopeBaseClass {\n\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\t\ttemplate.innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host > div {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\theight: 100%;\n\t\t\t\t}\n\t\t\t\t:host > div::before,\n\t\t\t\t:host > div::after {\n\t\t\t\t\tcontent: '';\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t}\n\t\t\t\t::slotted(*) {\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t\tflex-shrink: 0;\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<div>\n\t\t\t\t<slot></slot>\n\t\t\t\t<slot name=\"text\"></slot>\n\t\t\t</div>\n\t\t`;\n\t\tthis.attachShadow({ mode: 'open' });\n\t\tthis.shadowRoot.appendChild(template.content.cloneNode(true));\n\n\t\tthis.baseSelector = ':host > div';\n\t}\n}\n\nconst selectors = {\n\troot: { selector: '' },\n\tbefore: { selector: '::before' },\n\tafter: { selector: '::after' },\n\tslotted: { selector: () => '::slotted(*)' }\n};\n\nconst { root, before, after, slotted } = selectors;\n\nconst Divider = compose(\n\tenforceNestingElementsStylesMixin({\n\t\tnestingElementTagName: 'descope-text',\n\t\tnestingElementDestSlotName: 'text',\n\t\tforwardAttrOptions: {\n\t\t\tincludeAttrs: ['mode', 'variant'],\n\t\t\texcludeAttrs: []\n\t\t}\n\t}),\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tminHeight: root,\n\t\t\talignItems: root,\n\t\t\talignSelf: root,\n\t\t\tflexDirection: root,\n\t\t\tpadding: slotted,\n\t\t\twidth: matchHostStyle(),\n\t\t\theight: [before, after],\n\t\t\tbackgroundColor: [before, after],\n\t\t\topacity: [before, after],\n\t\t\ttextWidth: { ...slotted, property: 'width' }\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawDivider);\n\nexport default Divider;\n","import Divider, { componentName } from './Divider';\nimport '../descope-text';\n\ncustomElements.define(componentName, Divider);\n\nexport { Divider };\n","import {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { DescopeBaseClass } from '../DescopeBaseClass';\n\nexport const componentName = getComponentName('logo');\n\nlet style;\nconst getStyle = () => style;\n\nclass RawLogo extends DescopeBaseClass {\n\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\t\ttemplate.innerHTML = `\n\t\t<style>\n\t\t\t${getStyle()}\n\t\t</style>\n\t\t<div></div>`;\n\n\t\tthis.attachShadow({ mode: 'open' });\n\t\tthis.shadowRoot.appendChild(template.content.cloneNode(true));\n\n\t\tthis.baseSelector = ':host > 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-block;\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin,\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\n\nexport const componentName = getComponentName('checkbox');\n\nconst Checkbox = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\twidth: matchHostStyle(),\n\t\t\tcursor: [{}, { selector: '> label' }]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tinputMixin,\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\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 merge from 'lodash.merge';\nimport set from 'lodash.set';\nimport { DESCOPE_PREFIX } from '../constants';\nimport { getCssVarName, kebabCase } from '../helpers';\nimport { getComponentName } from '../componentsHelpers';\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\t(acc, entry) => (acc += `${entry.join(':')};\\n`),\n\t\t''\n\t)}\n}\n`;\n\nconst componentsThemeToStyleObj = (componentsTheme) =>\n\ttransformTheme(componentsTheme, [], (path, val) => {\n\t\tconst [component, ...restPath] = path;\n\t\tconst property = restPath.pop();\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\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 = `${getComponentName(component)}${attrsSelector}`;\n\n\t\treturn {\n\t\t\t[selector]: {\n\t\t\t\t[property]: val\n\t\t\t}\n\t\t};\n\t});\n\nexport const componentsThemeToStyle = (componentsTheme, themeName = '') =>\n\tObject.entries(componentsThemeToStyleObj(componentsTheme)).reduce(\n\t\t(acc, [selector, vars]) =>\n\t\t\t(acc += `*[data-theme=\"${themeName}\"] ${selector} { \\n${Object.entries(\n\t\t\t\tvars\n\t\t\t)\n\t\t\t\t.map(([key, val]) => `${key}: ${val}`)\n\t\t\t\t.join(';\\n')} \\n}\\n\\n`),\n\t\t''\n\t);\n\nexport const themeToStyle = ({ globals, components }, themeName) => `\n${globalsThemeToStyle(globals, themeName)}\n${componentsThemeToStyle(components, themeName)}\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","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 '../themeHelpers';\nimport { genColors } from '../themeHelpers/processColors';\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 '../../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\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 '../../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_borderOffset: {\n\t\t[vars.outlineOffset]: '2px'\n\t},\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_hasErrorMessage: {\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 '../../themeHelpers';\nimport TextArea from '../../components/descope-text-area/TextArea';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = TextArea.cssVarList;\n\nconst textArea = {\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_borderOffset: {\n\t\t[vars.outlineOffset]: '2px'\n\t},\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};\n\nexport default checkbox;\n","import {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin,\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\n\nexport const componentName = getComponentName('switch-toggle');\n\nlet overrides = ``;\n\nconst SwitchToggle = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\twidth: matchHostStyle(),\n\t\t\tcursor: [{}, { selector: '> label' }]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tinputMixin,\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>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}\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 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 \"../../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.display]: 'flex',\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 '../../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 '../../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 from '../../components/descope-divider/Divider';\n\nconst vars = Divider.cssVarList;\n\nconst divider = {\n\t[vars.alignItems]: 'center',\n\t[vars.height]: '2px',\n\t[vars.backgroundColor]: 'currentColor',\n\t[vars.opacity]: '0.2',\n\t[vars.padding]: '0 10px',\n\t[vars.width]: '100%',\n\t[vars.flexDirection]: 'row',\n\t[vars.alignSelf]: 'strech',\n\t[vars.textWidth]: 'fit-content',\n\t_vertical: {\n\t\t[vars.width]: '2px',\n\t\t[vars.padding]: '10px 0',\n\t\t[vars.flexDirection]: 'column',\n\t\t[vars.minHeight]: '200px',\n\t\t[vars.textWidth]: 'max-content'\n\t}\n};\n\nexport default divider;\n","import { getComponentName } from '../../../componentsHelpers';\nimport { getSanitizedCharacters, focusElement } from './helpers';\n\nexport const componentName = getComponentName('passcode-internal');\n\nclass PasscodeInternal extends HTMLElement {\n\tstatic get observedAttributes() {\n\t\treturn [\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\tstatic get formAssociated() {\n\t\treturn true;\n\t}\n\n\t#internals\n\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\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\ttemplate.innerHTML = `\n\t\t<div>\n\t\t\t${inputs.join('')}\n\t\t</div>\n\t\t`;\n\n\t\tthis.appendChild(template.content.cloneNode(true));\n\n\t\tthis.baseSelector = ':host > div';\n\n\t\tthis.#internals = this.attachInternals();\n\n\t\tthis.inputs = Array.from(this.querySelectorAll('descope-text-field'))\n\t}\n\n\tcheckValidity() {\n\t\t// we need to toggle the has-error-message so the text inside the digits will become red when there is an error\n\t\tif (this.#internals.validity.valid) {\n\t\t\tthis.inputs.forEach(input => input.removeAttribute('has-error-message'))\n\t\t} else {\n\t\t\tthis.inputs.forEach(input => input.setAttribute('has-error-message', 'true'))\n\t\t\t// we need to call it so the has-error-message with have the correct format (=\"true\")\n\t\t\tthis.oninvalid?.()\n\t\t}\n\t\treturn this.#internals.validity.valid\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\n\tget isRequired() {\n\t\treturn this.hasAttribute('required') && this.getAttribute('required') !== 'false'\n\t}\n\n\tget pattern() {\n\t\treturn `^$|^\\\\d{${this.digits},}$`\n\t}\n\n\tget valueMissingErrMsg() {\n\t\treturn 'Please fill out this field.'\n\t}\n\n\tget patternMismatchErrMsg() {\n\t\treturn `Must be a ${this.digits} digits number.`\n\t}\n\n\tget validity() {\n\t\treturn this.#internals.validity;\n\t}\n\n\tget validationMessage() {\n\t\treturn this.#internals.validationMessage;\n\t}\n\n\treportValidity() {\n\t\tthis.#internals.reportValidity()\n\t}\n\n\tformAssociatedCallback() {\n\t\tthis.setValidity?.();\n\t}\n\n\tsetValidity = () => {\n\t\tif (this.isRequired && !this.value) {\n\t\t\tthis.#internals.setValidity({ valueMissing: true }, this.valueMissingErrMsg);\n\t\t}\n\t\telse if (this.pattern && !new RegExp(this.pattern).test(this.value)) {\n\t\t\tthis.#internals.setValidity({ patternMismatch: true }, this.patternMismatchErrMsg);\n\t\t}\n\t\telse {\n\t\t\tthis.#internals.setValidity({})\n\t\t}\n\t};\n\n\tasync connectedCallback() {\n\t\tthis.setValidity();\n\t\tthis.initInputs()\n\n\t\tthis.onfocus = () => {\n\t\t\tthis.inputs[0].focus();\n\t\t}\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\t\t\tif (nextInput === currentInput) break;\n\t\t\tcurrentInput = nextInput;\n\t\t}\n\n\t\t!currentInput.hasAttribute('focused') && focusElement(currentInput);\n\t};\n\n\tinitInputs() {\n\t\tthis.inputs.forEach((input) => {\n\n\t\t\t// in order to simulate blur on the input\n\t\t\t// we are checking if focus on one of the digits happened immediately after blur on another digit\n\t\t\t// if not, the component is no longer focused and we should simulate blur\n\t\t\tinput.addEventListener('blur', () => {\n\t\t\t\tconst timerId = setTimeout(() => {\n\t\t\t\t\tthis.dispatchEvent(new Event('blur'))\n\t\t\t\t});\n\n\t\t\t\tthis.inputs.forEach((ele) =>\n\t\t\t\t\tele.addEventListener('focus', () => clearTimeout(timerId), { once: true })\n\t\t\t\t);\n\t\t\t})\n\n\t\t\tinput.oninput = (e) => {\n\t\t\t\tconst charArr = getSanitizedCharacters(input.value);\n\n\t\t\t\tif (!charArr.length) input.value = ''; // if we got an invalid value we want to clear the input\n\t\t\t\telse this.fillDigits(charArr, input);\n\n\t\t\t\tthis.setValidity();\n\t\t\t};\n\n\t\t\tinput.onkeydown = ({ key }) => {\n\t\t\t\tif (key === 'Backspace') {\n\t\t\t\t\tinput.value = '';\n\n\t\t\t\t\t// if the user deleted the digit we want to focus the previous digit\n\t\t\t\t\tconst prevInput = this.getPrevInput(input)\n\n\t\t\t\t\t!prevInput.hasAttribute('focused') && setTimeout(() => {\n\t\t\t\t\t\tfocusElement(prevInput);\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\n\t\t\t\tthis.setValidity()\n\t\t\t};\n\t\t})\n\t}\n\n\tattributeChangedCallback(\n\t\tattrName,\n\t\toldValue,\n\t\tnewValue\n\t) {\n\t\tif (oldValue !== newValue &&\n\t\t\tPasscodeInternal.observedAttributes.includes(attrName)) {\n\t\t\tthis.inputs.forEach((input) => input.setAttribute(attrName, newValue))\n\t\t}\n\t}\n}\n\nexport default PasscodeInternal;\n\n","import {\n getComponentName,\n createStyleMixin,\n draggableMixin,\n createProxy,\n inputMixin,\n compose,\n componentNameValidationMixin\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nexport const componentName = getComponentName('passcode');\nimport TextField from '../descope-text-field/TextField'\nimport { componentName as descopeInternalComponentName } from './descope-passcode-internal/PasscodeInternal'\n\nconst customMixin = (superclass) =>\n class DraggableMixinClass extends superclass {\n constructor() {\n super();\n }\n\n get digits() {\n return Number.parseInt(this.getAttribute('digits')) || 6\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n const template = document.createElement('template');\n\n //forward required & pattern TODO use forwardAttrs\n template.innerHTML = `\n <${descopeInternalComponentName} \n bordered=\"true\" \n name=\"code\" \n tabindex=\"0\"\n slot=\"input\"\n required=\"${this.shadowRoot.host.getAttribute('required')}\"\n pattern=\"${this.shadowRoot.host.getAttribute('pattern')}\"\n ></${descopeInternalComponentName}>\n `\n\n // we are adding a slot under vaadin-text-field, it should reflect all descope-passcode children to be under vaadin-text-field, this is why it has a name & slot\n const slotEle = Object.assign(document.createElement('slot'), { name: 'input', slot: 'input', part: 'input' })\n this.proxyElement.appendChild(slotEle)\n\n // we want to control when the element is out of focus \n // so the validations will be triggered blur event is dispatched from descope-passcode internal (and not every time focusing a digit)\n this.proxyElement._setFocused = () => { }\n\n this.shadowRoot.host.appendChild(template.content.cloneNode(true))\n this.inputElement = this.querySelector(descopeInternalComponentName)\n\n // we want to trigger validation only when dispatching a blur event from the descope-passcode-internal\n this.inputElement.addEventListener('blur', () => {\n this.proxyElement.validate()\n })\n }\n }\n\nconst { borderStyle, borderWidth, ...restTextFieldMappings } = textFieldMappings;\n\nconst Passcode = compose(\n createStyleMixin({\n mappings: {\n ...restTextFieldMappings,\n },\n nestedMappings: {\n borderColor: {\n selector: ` ${TextField.componentName}`,\n property: TextField.cssVarList.borderColor\n }\n }\n }),\n draggableMixin,\n inputMixin,\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n :host {\n --vaadin-field-default-width: auto;\n }\n\n ::slotted([slot='input']) {\n -webkit-mask-image: none;\n display: flex;\n gap: 2px;\n align-items: center;\n padding: 0;\n }\n\n vaadin-text-field::part(input-field) {\n background-color: transparent;\n padding: 0;\n }\n\n ${overrides}\n `,\n excludeAttrsSync: ['tabindex'],\n componentName\n })\n);\n\nconst overrides = `\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\n\tvaadin-text-field > label,\n\tvaadin-text-field::part(input-field) {\n\t\tcursor: pointer;\n\t\tcolor: var(${Passcode.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(${Passcode.cssVarList.color});\n\t}\n\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;\n\nexport default Passcode;\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 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';\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};\n","import globals from './globals';\nimport components from './components';\n\nexport default { globals, components };\n"],"names":["componentName","selectors","overrides","globalRefs","vars","helperTheme","helperRefs","descopeInternalComponentName","textField","switchToggle"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/constants.js","../src/helpers.js","../src/componentsHelpers/createStyleMixin/helpers.js","../src/componentsHelpers/createStyleMixin/index.js","../src/componentsHelpers/draggableMixin.js","../src/components/DescopeBaseClass.js","../src/componentsHelpers/hoverableMixin.js","../src/componentsHelpers/createProxy/helpers.js","../src/componentsHelpers/createProxy/index.js","../src/componentsHelpers/inputMixin.js","../src/componentsHelpers/componentNameValidationMixin.js","../src/componentsHelpers/index.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-text-field/textFieldMappings.js","../src/components/descope-text-field/TextField.js","../src/components/descope-text-field/index.js","../src/components/descope-combo/index.js","../src/components/descope-container/Container.js","../src/components/descope-container/index.js","../src/components/descope-date-picker/index.js","../src/componentsHelpers/enforceNestingElementsStylesMixin.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-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/components/descope-passcode/descope-passcode-internal/helpers.js","../src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js","../src/components/descope-passcode/Passcode.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/themeHelpers/index.js","../src/themeHelpers/processColors.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/index.js","../src/theme/index.js"],"sourcesContent":["export const DESCOPE_PREFIX = 'descope';\n","export 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.join('-'));\n\nexport const getCssVarName = (...args) =>\n\t`--${kebabCaseJoin(...args.filter((arg) => !!arg))}`;\n","import { getCssVarName, kebabCase } from '../../helpers';\n\nconst createCssVarFallback = (first, ...rest) =>\n\t`var(${first}${rest.length ? ` , ${createCssVarFallback(...rest)}` : ''})`;\n\nconst createCssSelector = (\n\tbaseSelector = '',\n\trelativeSelectorOrSelectorFn = ''\n) =>\n\ttypeof relativeSelectorOrSelectorFn === 'function'\n\t\t? relativeSelectorOrSelectorFn(baseSelector)\n\t\t: `${baseSelector}${relativeSelectorOrSelectorFn}`;\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\t(style += `${selector} { \\n${propValArr\n\t\t\t\t\t.map(({ property, value }) => `${property}: ${value}`)\n\t\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\tproperty,\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// match the host selector with the inner element selector\n// e.g. when we want to set the same size for the host & the inner element this can be useful\nexport const matchHostStyle = (mappingObj = {}) => [\n\tmappingObj,\n\t{ ...mappingObj, selector: () => `:host${mappingObj.selector || ''}` }\n];\n","import { getCssVarName, kebabCaseJoin } from '../../helpers';\nimport { createStyle, createCssVarsList } from './helpers';\n\nexport const createStyleMixin =\n\t({ mappings = {}, nestedMappings = {} }) =>\n\t\t(superclass) => {\n\t\t\tconst styleAttributes = Object.keys(mappings).map((key) =>\n\t\t\t\tkebabCaseJoin('st', key)\n\t\t\t);\n\t\t\treturn class CustomStyleMixinClass extends superclass {\n\t\t\t\tstatic get observedAttributes() {\n\t\t\t\t\tconst superAttrs = superclass.observedAttributes || [];\n\t\t\t\t\treturn [...superAttrs, ...styleAttributes];\n\t\t\t\t}\n\n\t\t\t\tstatic get cssVarList() {\n\t\t\t\t\treturn createCssVarsList(superclass.componentName, mappings);\n\t\t\t\t}\n\n\t\t\t\t#styleEle = null;\n\n\t\t\t\tconstructor() {\n\t\t\t\t\tsuper();\n\n\t\t\t\t\tthis.#createComponentStyle();\n\t\t\t\t\tthis.#createAttrOverrideStyle();\n\t\t\t\t}\n\n\t\t\t\t#createAttrOverrideStyle() {\n\t\t\t\t\tthis.#styleEle = document.createElement('style');\n\t\t\t\t\tthis.#styleEle.id = 'style-mixin-overrides';\n\n\t\t\t\t\tthis.#styleEle.innerText = '* {}';\n\t\t\t\t\tthis.shadowRoot.prepend(this.#styleEle);\n\t\t\t\t}\n\n\t\t\t\t#updateAttrOverrideStyle(attrName, value) {\n\t\t\t\t\tconst style = this.#styleEle.sheet?.cssRules[0].style;\n\t\t\t\t\tconst varName = getCssVarName(\n\t\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\t\tattrName.replace(/^st-/, '')\n\t\t\t\t\t);\n\n\t\t\t\t\tif (value) style?.setProperty(varName, value);\n\t\t\t\t\telse style?.removeProperty(varName);\n\t\t\t\t}\n\n\t\t\t\t#createComponentStyle() {\n\t\t\t\t\tconst themeStyle = document.createElement('style');\n\t\t\t\t\tthemeStyle.id = 'style-mixin-component';\n\t\t\t\t\tthemeStyle.innerHTML = createStyle(\n\t\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\t\tthis.baseSelector,\n\t\t\t\t\t\tmappings\n\t\t\t\t\t);\n\t\t\t\t\tthis.shadowRoot.prepend(themeStyle);\n\t\t\t\t}\n\n\t\t\t\t#createComponentNestingStyle() {\n\t\t\t\t\t// we need these selectors to be more specific from the theme selectors\n\t\t\t\t\t// in order to do it, we are repeating the class name for specificity\n\t\t\t\t\tconst numOfClassNameSpecifier = 3\n\n\t\t\t\t\tconst rootNode = this.shadowRoot.host.getRootNode()\n\t\t\t\t\tconst styleId = `${superclass.componentName}-style-mixin-component`\n\n\t\t\t\t\tconst className = superclass.componentName\n\t\t\t\t\tthis.shadowRoot.host.classList.add(className)\n\n\t\t\t\t\tif(rootNode.querySelector(`style#${styleId}`)) return;\n\n\t\t\t\t\tconst themeStyle = document.createElement('style');\n\t\t\t\t\tthemeStyle.id = styleId;\n\t\t\t\t\tthemeStyle.innerHTML = createStyle(\n\t\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\t\t`${superclass.componentName}${Array(numOfClassNameSpecifier).fill(`.${className}`).join('')}`,\n\t\t\t\t\t\tnestedMappings\n\t\t\t\t\t);\n\n\t\t\t\t\t// rootNode can be either a shadow DOM or a light DOM\n\t\t\t\t\tif (rootNode.nodeName === '#document') {\n\t\t\t\t\t\trootNode.head.append(themeStyle)\n\t\t\t\t\t} else {\n\t\t\t\t\t\trootNode.append(themeStyle)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\t\t\t\tsuper.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n\t\t\t\t\tif (styleAttributes.includes(attrName)) {\n\t\t\t\t\t\tthis.#updateAttrOverrideStyle(attrName, newValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconnectedCallback() {\n\t\t\t\t\tsuper.connectedCallback?.();\n\t\t\t\t\tif (this.shadowRoot.isConnected) {\n\t\t\t\t\t\tthis.#createComponentNestingStyle();\n\n\t\t\t\t\t\tArray.from(this.attributes).forEach(attr => {\n\t\t\t\t\t\t\tif (styleAttributes.includes(attr.nodeName)) {\n\t\t\t\t\t\t\t\tthis.#updateAttrOverrideStyle(attr.nodeName, attr.value)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\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 = `${this.baseSelector} { cursor: inherit }`;\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","export class DescopeBaseClass extends HTMLElement {}\n","export const hoverableMixin =\n\t(relativeSelector = '') =>\n\t(superclass) =>\n\t\tclass HovrerableMixinClass extends superclass {\n\t\t\tconnectedCallback() {\n\t\t\t\tsuper.connectedCallback?.();\n\n\t\t\t\tconst onMouseOver = (e) => {\n\t\t\t\t\tthis.shadowRoot.host.setAttribute('hover', 'true');\n\t\t\t\t\te.target.addEventListener(\n\t\t\t\t\t\t'mouseleave',\n\t\t\t\t\t\t() => this.shadowRoot.host.removeAttribute('hover'),\n\t\t\t\t\t\t{ once: true }\n\t\t\t\t\t);\n\t\t\t\t};\n\n\t\t\t\tconst baseElement = this.shadowRoot.querySelector(\n\t\t\t\t\tthis.baseSelector + relativeSelector\n\t\t\t\t);\n\n\t\t\t\tbaseElement.addEventListener('mouseover', onMouseOver);\n\t\t\t}\n\t\t};\n","const observeAttributes = (\n\tele,\n\tcallback,\n\t{ excludeAttrs = [], includeAttrs = [] }\n) => {\n\t// sync all attrs on init\n\tcallback(\n\t\t...Array.from(ele.attributes)\n\t\t\t.filter(\n\t\t\t\t(attr) =>\n\t\t\t\t\t!excludeAttrs.includes(attr.name) &&\n\t\t\t\t\t(!includeAttrs.length || includeAttrs.includes(attr.name))\n\t\t\t)\n\t\t\t.map((attr) => attr.name)\n\t);\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\nconst createSyncAttrsCb =\n\t(srcEle, targetEle, mapAttrs = {}) =>\n\t(...attrNames) => {\n\t\tattrNames.forEach((attrName) => {\n\t\t\tconst targetAttrName = mapAttrs[attrName] || attrName;\n\t\t\tconst srcAttrVal = srcEle.getAttribute(attrName);\n\t\t\tif (srcAttrVal !== null) {\n\t\t\t\tif (targetEle.getAttribute(targetAttrName) !== srcAttrVal) {\n\t\t\t\t\ttargetEle.setAttribute(targetAttrName, srcAttrVal);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttargetEle.removeAttribute(targetAttrName);\n\t\t\t}\n\t\t});\n\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 forwardAttrs = (source, dest, options = {}) => {\n\tobserveAttributes(\n\t\tsource,\n\t\tcreateSyncAttrsCb(source, dest, options.mapAttrs),\n\t\toptions\n\t);\n};\n","import { compose } from '..';\nimport { DescopeBaseClass } from '../../components/DescopeBaseClass';\nimport { hoverableMixin } from '../hoverableMixin';\nimport { syncAttrs } from './helpers';\n\nexport const createProxy = ({\n\tcomponentName,\n\twrappedEleName,\n\tslots = [],\n\tstyle,\n\texcludeAttrsSync = []\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 ProxyElement extends DescopeBaseClass {\n\t\tstatic get componentName() {\n\t\t\treturn componentName;\n\t\t}\n\n\t\tconstructor() {\n\t\t\tsuper().attachShadow({ mode: 'open' }).innerHTML = template;\n\t\t\tthis.hostElement = this.shadowRoot.host;\n\t\t\tthis.baseSelector = wrappedEleName;\n\t\t\tthis.shadowRoot.getElementById('create-proxy').innerHTML =\n\t\t\t\ttypeof style === 'function' ? style() : style;\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tif (this.shadowRoot.isConnected) {\n\t\t\t\tthis.proxyElement = this.shadowRoot.querySelector(wrappedEleName);\n\t\t\t\tthis.setAttribute('tabindex', '0');\n\n\t\t\t\t// we want to focus on the proxy element when focusing our WC\n\t\t\t\tthis.addEventListener('focus', () => {\n\t\t\t\t\tthis.proxyElement.focus();\n\t\t\t\t});\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 behaviour.\n\t\t\t\tthis.proxyElement.onkeydown = (e) => {\n\t\t\t\t\tif (e.shiftKey && e.keyCode === 9) {\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\t// sync events\n\t\t\t\tthis.addEventListener = (...args) =>\n\t\t\t\t\tthis.proxyElement.addEventListener(...args);\n\n\t\t\t\tsyncAttrs(this.proxyElement, this.hostElement, {\n\t\t\t\t\texcludeAttrs: excludeAttrsSync\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tthis.proxyElement.removeEventListener('mouseover', this.mouseoverCbRef);\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\t}\n\n\treturn compose(hoverableMixin())(ProxyElement);\n};\n","const attrs = {\n\tvalueMissing: 'data-errormessage-value-missing',\n\tpatternMismatch: 'data-errormessage-pattern-mismatch'\n};\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\nexport const inputMixin = (superclass) =>\n\tclass InputMixinClass extends superclass {\n\t\tstatic get formAssociated() {\n\t\t\treturn true;\n\t\t}\n\n\t\t#internals;\n\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\tthis.#internals = this.attachInternals();\n\t\t}\n\n\t\tformAssociatedCallback() {\n\t\t\tthis.setValidity?.();\n\t\t}\n\n\t\tsetValidationAttribute(attr) {\n\t\t\tconst validationAttr = this.getAttribute(attr);\n\t\t\tif (validationAttr) {\n\t\t\t\tthis.proxyElement.setAttribute('error-message', validationAttr);\n\t\t\t}\n\t\t\t// normalize vaadin error attributes to have a boolean value\n\t\t\terrorAttrs.forEach((att) => this.proxyElement.setAttribute(att, 'true'));\n\t\t}\n\n\t\tvalidate() {\n\t\t\tconst { valueMissing, patternMismatch, typeMismatch } = this.validity;\n\t\t\tif (valueMissing) {\n\t\t\t\tthis.setValidationAttribute(attrs.valueMissing);\n\t\t\t} else if (typeMismatch || patternMismatch) {\n\t\t\t\tthis.setValidationAttribute(attrs.patternMismatch);\n\t\t\t}\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tsuper.connectedCallback?.();\n\n\t\t\tthis.baseEle = this.shadowRoot.querySelector(this.baseSelector);\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')) {\n\t\t\t\tthis.setAttribute('tabindex', 0);\n\t\t\t}\n\n\t\t\tthis.inputElement ??= this.baseEle.shadowRoot.querySelector('slot[name=\"input\"]')?.assignedElements()[0] ||\n\t\t\t\tthis.baseEle.shadowRoot.querySelector('slot[name=\"textarea\"]')?.assignedElements()[0]\n\t\t\tif (!this.inputElement) throw Error('no input was found');\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\n\t\t\tthis.validity = this.inputElement.validity;\n\n\t\t\tthis.setValidity = () => {\n\t\t\t\tthis.#internals.setValidity(this.inputElement.validity, this.inputElement.validationMessage);\n\t\t\t};\n\n\t\t\tthis.inputElement.oninput = () => {\n\t\t\t\tthis.value = this.inputElement.value;\n\t\t\t\tthis.setValidity();\n\t\t\t};\n\n\t\t\tthis.onfocus = () => {\n\t\t\t\tsetTimeout(() => this.inputElement.reportValidity(), 0);\n\t\t\t\tthis.validate();\n\t\t\t};\n\n\t\t\tthis.inputElement.oninvalid = () => {\n\t\t\t\tthis.validate();\n\t\t\t};\n\t\t}\n\t};\n","export const componentNameValidationMixin = (superclass) =>\n\tclass DraggableMixinClass 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","import { DESCOPE_PREFIX } from '../constants';\nimport { kebabCaseJoin } from '../helpers';\n\nexport const getComponentName = (name) => kebabCaseJoin(DESCOPE_PREFIX, name);\n\nexport const compose =\n\t(...fns) =>\n\t(val) =>\n\t\tfns.reduceRight((res, fn) => fn(res), val);\n\nexport { createStyleMixin } from './createStyleMixin';\nexport { draggableMixin } from './draggableMixin';\nexport { createProxy } from './createProxy';\nexport { inputMixin } from './inputMixin';\nexport { componentNameValidationMixin } from './componentNameValidationMixin';\n","import {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\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 selectors = {\n\tlabel: '::part(label)'\n};\n\nconst Button = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tbackgroundColor: {},\n\t\t\tborderRadius: {},\n\t\t\tcolor: { selector: selectors.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: matchHostStyle(),\n\t\t\tcursor: {},\n\t\t\tpadding: [{ selector: selectors.label }],\n\t\t\ttextDecoration: { selector: selectors.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\nexport default Button;\n","import '@vaadin/button';\nimport Button, { componentName } from './Button';\n\ncustomElements.define(componentName, Button);\n\nexport { Button };\n","import {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin,\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\n\nexport const componentName = getComponentName('checkbox');\n\nconst Checkbox = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\twidth: matchHostStyle(),\n\t\t\tcursor: [{}, { selector: '> label' }]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tinputMixin,\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\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 { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\n\nconst selectors = {\n\tlabel: '::part(label)',\n\tinput: '::part(input-field)',\n\treadOnlyInput: '[readonly]::part(input-field)::after',\n\tplaceholder: '> input:placeholder-shown'\n};\n\nexport default {\n\tcolor: { selector: selectors.input },\n\tbackgroundColor: { selector: selectors.input },\n\tcolor: { selector: selectors.input },\n\twidth: matchHostStyle({}),\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\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\tinputMixin,\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 '@vaadin/text-field';\nimport TextField, { componentName } from './TextField';\n\ncustomElements.define(componentName, TextField);\n\nexport { TextField };\n","import { getComponentName } from '../../componentsHelpers';\nimport { DescopeBaseClass } from '../DescopeBaseClass';\nimport '../descope-button';\nimport '../descope-text-field';\n\nconst template = document.createElement('template');\n\nconst componentName = getComponentName('combo');\n\ntemplate.innerHTML = `\n <descope-button></descope-button>\n <descope-text-field></descope-text-field>\n`;\n\nclass Combo extends DescopeBaseClass {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.attachShadow({ mode: 'open' }).appendChild(\n\t\t\ttemplate.content.cloneNode(true)\n\t\t);\n\t}\n}\n\ncustomElements.define(componentName, Combo);\n\nexport { Combo };\n","import {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\nimport { DescopeBaseClass } from '../DescopeBaseClass';\n\nexport const componentName = getComponentName('container');\n\nclass RawContainer extends DescopeBaseClass {\n\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\t\ttemplate.innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host > slot {\n\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<slot></slot>\n\t\t`;\n\n\t\tthis.attachShadow({ mode: 'open' });\n\t\tthis.shadowRoot.appendChild(template.content.cloneNode(true));\n\n\t\tthis.baseSelector = ':host > slot';\n\t}\n}\n\nconst Container = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\theight: matchHostStyle(),\n\t\t\twidth: matchHostStyle(),\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\tdisplay: {}, // maybe this should be hardcoded to flex\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\tgetComponentName,\n\tdraggableMixin,\n\tcreateProxy,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\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 { forwardAttrs } from '../componentsHelpers/createProxy/helpers';\n\nconst getChildObserver = (callback) => {\n\treturn 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\nconst insertNestingLevel = (srcEle, nestingEle) => {\n\tnestingEle.append(...srcEle.childNodes);\n\tsrcEle.appendChild(nestingEle);\n};\n\n// adds a nesting element to the component, and move all existing children\n// to be under the nesting element\nexport const enforceNestingElementsStylesMixin =\n\t({ nestingElementTagName, nestingElementDestSlotName, forwardAttrOptions }) =>\n\t(superclass) => {\n\t\tconst getChildNodeEle = () =>\n\t\t\tObject.assign(document.createElement(nestingElementTagName), {\n\t\t\t\tslot: nestingElementDestSlotName\n\t\t\t});\n\n\t\tlet childObserver;\n\t\t\n\t\tconst getObserver = () => childObserver;\n\n\t\treturn class EnforceNestingElementsStylesMixinClass extends superclass {\n\t\t\tconstructor() {\n\t\t\t\tsuper();\n\n\t\t\t\tconst childObserverCallback = () => {\n\t\t\t\t\t// we are going to change the DOM, so we need to disconnect the observer before\n\t\t\t\t\t// and reconnect it after the child component is added\n\t\t\t\t\tgetObserver().disconnect(this.shadowRoot.host);\n\n\t\t\t\t\tconst isNestingElementExist = this.shadowRoot.host.querySelector(nestingElementTagName);\n\t\t\t\t\tconst hasNewChildren = this.shadowRoot.host.childNodes.length > 0;\n\n\t\t\t\t\tif (!isNestingElementExist && hasNewChildren) {\n\t\t\t\t\t\t// if before there were no children and now there are children - insert\n\t\t\t\t\t\tinsertNestingLevel(this.shadowRoot.host, getChildNodeEle());\n\t\t\t\t\t} else if (isNestingElementExist && hasNewChildren) {\n\t\t\t\t\t\t// if children existed, and they changed -\n\t\t\t\t\t\t// we need to update (move) the new children into\n\t\t\t\t\t\t// descope-text and remove previous children\n\t\t\t\t\t\tthis.shadowRoot.host.querySelector(child).remove();\n\t\t\t\t\t\tinsertNestingLevel(this.shadowRoot.host, getChildNodeEle());\n\t\t\t\t\t}\n\t\t\t\t\telse if (isNestingElementExist && !hasNewChildren) {\n\t\t\t\t\t\t// if children existed and now there are none -\n\t\t\t\t\t\t// we need to remove descope-text completely\n\t\t\t\t\t\tthis.shadowRoot.host.querySelector(child).remove();\n\t\t\t\t\t}\n\n\t\t\t\t\t// we need a new observer, because we remove the nesting element\n\t\t\t\t\tthis.shadowRoot.host.querySelector(nestingElementTagName) &&\n\t\t\t\t\t\tforwardAttrs(\n\t\t\t\t\t\t\tthis.shadowRoot.host,\n\t\t\t\t\t\t\tthis.shadowRoot.host.querySelector(nestingElementTagName),\n\t\t\t\t\t\t\tforwardAttrOptions\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tgetObserver().observe(this.shadowRoot.host, {\n\t\t\t\t\t\tchildList: true\n\t\t\t\t\t});\n\t\t\t\t};\n\n\t\t\t\tchildObserver = getChildObserver(childObserverCallback);\n\t\t\t}\n\n\t\t\tconnectedCallback() {\n\t\t\t\tsuper.connectedCallback?.();\n\n\t\t\t\tif (this.shadowRoot.host.childNodes.length > 0) {\n\t\t\t\t\t// on the first render - we want to move all component's children to be under descope-text\n\t\t\t\t\tinsertNestingLevel(this.shadowRoot.host, getChildNodeEle());\n\n\t\t\t\t\tforwardAttrs(\n\t\t\t\t\t\tthis.shadowRoot.host,\n\t\t\t\t\t\tthis.shadowRoot.host.querySelector(nestingElementTagName),\n\t\t\t\t\t\tforwardAttrOptions\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tgetObserver().observe(this.shadowRoot.host, {\n\t\t\t\t\tchildList: true\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t};\n","import {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { enforceNestingElementsStylesMixin } from '../../componentsHelpers/enforceNestingElementsStylesMixin';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\nimport { DescopeBaseClass } from '../DescopeBaseClass';\n\nexport const componentName = getComponentName('divider');\nclass RawDivider extends DescopeBaseClass {\n\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\t\ttemplate.innerHTML = `\n\t\t\t<style>\n\t\t\t\t:host > div {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\theight: 100%;\n\t\t\t\t}\n\t\t\t\t:host > div::before,\n\t\t\t\t:host > div::after {\n\t\t\t\t\tcontent: '';\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t}\n\t\t\t\t::slotted(*) {\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t\tflex-shrink: 0;\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<div>\n\t\t\t\t<slot></slot>\n\t\t\t\t<slot name=\"text\"></slot>\n\t\t\t</div>\n\t\t`;\n\t\tthis.attachShadow({ mode: 'open' });\n\t\tthis.shadowRoot.appendChild(template.content.cloneNode(true));\n\n\t\tthis.baseSelector = ':host > div';\n\t}\n}\n\nconst selectors = {\n\troot: { selector: '' },\n\tbefore: { selector: '::before' },\n\tafter: { selector: '::after' },\n\tslotted: { selector: () => '::slotted(*)' }\n};\n\nconst { root, before, after, slotted } = selectors;\n\nconst Divider = compose(\n\tenforceNestingElementsStylesMixin({\n\t\tnestingElementTagName: 'descope-text',\n\t\tnestingElementDestSlotName: 'text',\n\t\tforwardAttrOptions: {\n\t\t\tincludeAttrs: ['mode', 'variant'],\n\t\t\texcludeAttrs: []\n\t\t}\n\t}),\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tminHeight: root,\n\t\t\talignItems: root,\n\t\t\talignSelf: root,\n\t\t\tflexDirection: root,\n\t\t\tpadding: slotted,\n\t\t\twidth: matchHostStyle(),\n\t\t\theight: [before, after],\n\t\t\tbackgroundColor: [before, after],\n\t\t\topacity: [before, after],\n\t\t\ttextWidth: { ...slotted, property: 'width' }\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawDivider);\n\nexport default Divider;\n","import {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\nimport { DescopeBaseClass } from '../DescopeBaseClass';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends DescopeBaseClass {\n\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\t\ttemplate.innerHTML = `<slot></slot>`;\n\n\t\tthis.attachShadow({ mode: 'open' });\n\t\tthis.shadowRoot.appendChild(template.content.cloneNode(true));\n\n\t\tthis.baseSelector = ':host > slot';\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: {},\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: matchHostStyle(),\n\t\t\tdisplay: matchHostStyle()\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","import {\n\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\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\tinputMixin,\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { forwardAttrs } from '../../componentsHelpers/createProxy/helpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\nimport { enforceNestingElementsStylesMixin } from '../../componentsHelpers/enforceNestingElementsStylesMixin';\nimport { hoverableMixin } from '../../componentsHelpers/hoverableMixin';\nimport { DescopeBaseClass } from '../DescopeBaseClass';\nimport Text from '../descope-text/Text';\n\nexport const componentName = getComponentName('link');\nclass RawLink extends DescopeBaseClass {\n\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\n\t\ttemplate.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<slot name=\"text\"></slot>\n\t\t\t</a>\n\t\t</div>\n\t\t`;\n\n\t\tthis.attachShadow({ mode: 'open' });\n\t\tthis.shadowRoot.appendChild(template.content.cloneNode(true));\n\n\t\tforwardAttrs(this.shadowRoot.host, 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\tthis.baseSelector = ':host > div';\n\t}\n}\n\nconst selectors = {\n\tanchor: { selector: '> a' }\n};\n\nconst { anchor } = selectors;\n\nconst Link = compose(\n\tenforceNestingElementsStylesMixin({\n\t\tnestingElementTagName: 'descope-text',\n\t\tnestingElementDestSlotName: 'text',\n\t\tforwardAttrOptions: {\n\t\t\tincludeAttrs: ['variant', 'italic', 'uppercase', 'lowercase']\n\t\t}\n\t}),\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\twidth: matchHostStyle(),\n\t\t\ttextAlign: {},\n\t\t\tcolor: anchor,\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\tnestedMappings: {\n\t\t\tcolor: {\n\t\t\t\tselector: ` ${Text.componentName}`,\n\t\t\t\tproperty: Text.cssVarList.color\n\t\t\t}\n\t\t}\n\t}),\n\thoverableMixin(anchor.selector),\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { DescopeBaseClass } from '../DescopeBaseClass';\n\nexport const componentName = getComponentName('logo');\n\nlet style;\nconst getStyle = () => style;\n\nclass RawLogo extends DescopeBaseClass {\n\tstatic get componentName() {\n\t\treturn componentName;\n\t}\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\t\ttemplate.innerHTML = `\n\t\t<style>\n\t\t\t${getStyle()}\n\t\t</style>\n\t\t<div></div>`;\n\n\t\tthis.attachShadow({ mode: 'open' });\n\t\tthis.shadowRoot.appendChild(template.content.cloneNode(true));\n\n\t\tthis.baseSelector = ':host > 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-block;\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\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\tinputMixin,\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","\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 { getComponentName } from '../../../componentsHelpers';\nimport { getSanitizedCharacters, focusElement } from './helpers';\n\nexport const componentName = getComponentName('passcode-internal');\n\nclass PasscodeInternal extends HTMLElement {\n\tstatic get observedAttributes() {\n\t\treturn [\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\tstatic get formAssociated() {\n\t\treturn true;\n\t}\n\n\t#internals\n\n\tconstructor() {\n\t\tsuper();\n\t\tconst template = document.createElement('template');\n\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\ttemplate.innerHTML = `\n\t\t<div>\n\t\t\t${inputs.join('')}\n\t\t</div>\n\t\t`;\n\n\t\tthis.appendChild(template.content.cloneNode(true));\n\n\t\tthis.baseSelector = ':host > div';\n\n\t\tthis.#internals = this.attachInternals();\n\n\t\tthis.inputs = Array.from(this.querySelectorAll('descope-text-field'))\n\t}\n\n\tcheckValidity() {\n\t\t// we need to toggle the has-error-message so the text inside the digits will become red when there is an error\n\t\tif (this.#internals.validity.valid) {\n\t\t\tthis.inputs.forEach(input => input.removeAttribute('has-error-message'))\n\t\t} else {\n\t\t\tthis.inputs.forEach(input => input.setAttribute('has-error-message', 'true'))\n\t\t\t// we need to call it so the has-error-message with have the correct format (=\"true\")\n\t\t\tthis.oninvalid?.()\n\t\t}\n\t\treturn this.#internals.validity.valid\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\n\tget isRequired() {\n\t\treturn this.hasAttribute('required') && this.getAttribute('required') !== 'false'\n\t}\n\n\tget pattern() {\n\t\treturn `^$|^\\\\d{${this.digits},}$`\n\t}\n\n\tget valueMissingErrMsg() {\n\t\treturn 'Please fill out this field.'\n\t}\n\n\tget patternMismatchErrMsg() {\n\t\treturn `Must be a ${this.digits} digits number.`\n\t}\n\n\tget validity() {\n\t\treturn this.#internals.validity;\n\t}\n\n\tget validationMessage() {\n\t\treturn this.#internals.validationMessage;\n\t}\n\n\treportValidity() {\n\t\tthis.#internals.reportValidity()\n\t}\n\n\tformAssociatedCallback() {\n\t\tthis.setValidity?.();\n\t}\n\n\tsetValidity = () => {\n\t\tif (this.isRequired && !this.value) {\n\t\t\tthis.#internals.setValidity({ valueMissing: true }, this.valueMissingErrMsg);\n\t\t}\n\t\telse if (this.pattern && !new RegExp(this.pattern).test(this.value)) {\n\t\t\tthis.#internals.setValidity({ patternMismatch: true }, this.patternMismatchErrMsg);\n\t\t}\n\t\telse {\n\t\t\tthis.#internals.setValidity({})\n\t\t}\n\t};\n\n\tasync connectedCallback() {\n\t\tthis.setValidity();\n\t\tthis.initInputs()\n\n\t\tthis.onfocus = () => {\n\t\t\tthis.inputs[0].focus();\n\t\t}\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\t\t\tif (nextInput === currentInput) break;\n\t\t\tcurrentInput = nextInput;\n\t\t}\n\n\t\t!currentInput.hasAttribute('focused') && focusElement(currentInput);\n\t};\n\n\tinitInputs() {\n\t\tthis.inputs.forEach((input) => {\n\n\t\t\t// in order to simulate blur on the input\n\t\t\t// we are checking if focus on one of the digits happened immediately after blur on another digit\n\t\t\t// if not, the component is no longer focused and we should simulate blur\n\t\t\tinput.addEventListener('blur', () => {\n\t\t\t\tconst timerId = setTimeout(() => {\n\t\t\t\t\tthis.dispatchEvent(new Event('blur'))\n\t\t\t\t});\n\n\t\t\t\tthis.inputs.forEach((ele) =>\n\t\t\t\t\tele.addEventListener('focus', () => clearTimeout(timerId), { once: true })\n\t\t\t\t);\n\t\t\t})\n\n\t\t\tinput.oninput = (e) => {\n\t\t\t\tconst charArr = getSanitizedCharacters(input.value);\n\n\t\t\t\tif (!charArr.length) input.value = ''; // if we got an invalid value we want to clear the input\n\t\t\t\telse this.fillDigits(charArr, input);\n\n\t\t\t\tthis.setValidity();\n\t\t\t};\n\n\t\t\tinput.onkeydown = ({ key }) => {\n\t\t\t\tif (key === 'Backspace') {\n\t\t\t\t\tinput.value = '';\n\n\t\t\t\t\t// if the user deleted the digit we want to focus the previous digit\n\t\t\t\t\tconst prevInput = this.getPrevInput(input)\n\n\t\t\t\t\t!prevInput.hasAttribute('focused') && setTimeout(() => {\n\t\t\t\t\t\tfocusElement(prevInput);\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\n\t\t\t\tthis.setValidity()\n\t\t\t};\n\t\t})\n\t}\n\n\tattributeChangedCallback(\n\t\tattrName,\n\t\toldValue,\n\t\tnewValue\n\t) {\n\t\tif (oldValue !== newValue &&\n\t\t\tPasscodeInternal.observedAttributes.includes(attrName)) {\n\t\t\tthis.inputs.forEach((input) => input.setAttribute(attrName, newValue))\n\t\t}\n\t}\n}\n\nexport default PasscodeInternal;\n\n","import {\n getComponentName,\n createStyleMixin,\n draggableMixin,\n createProxy,\n inputMixin,\n compose,\n componentNameValidationMixin\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nexport const componentName = getComponentName('passcode');\nimport TextField from '../descope-text-field/TextField'\nimport { componentName as descopeInternalComponentName } from './descope-passcode-internal/PasscodeInternal'\n\nconst customMixin = (superclass) =>\n class DraggableMixinClass extends superclass {\n constructor() {\n super();\n }\n\n get digits() {\n return Number.parseInt(this.getAttribute('digits')) || 6\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n const template = document.createElement('template');\n\n //forward required & pattern TODO use forwardAttrs\n template.innerHTML = `\n <${descopeInternalComponentName} \n bordered=\"true\" \n name=\"code\" \n tabindex=\"0\"\n slot=\"input\"\n required=\"${this.shadowRoot.host.getAttribute('required')}\"\n pattern=\"${this.shadowRoot.host.getAttribute('pattern')}\"\n ></${descopeInternalComponentName}>\n `\n\n // we are adding a slot under vaadin-text-field, it should reflect all descope-passcode children to be under vaadin-text-field, this is why it has a name & slot\n const slotEle = Object.assign(document.createElement('slot'), { name: 'input', slot: 'input', part: 'input' })\n this.proxyElement.appendChild(slotEle)\n\n // we want to control when the element is out of focus \n // so the validations will be triggered blur event is dispatched from descope-passcode internal (and not every time focusing a digit)\n this.proxyElement._setFocused = () => { }\n\n this.shadowRoot.host.appendChild(template.content.cloneNode(true))\n this.inputElement = this.querySelector(descopeInternalComponentName)\n\n // we want to trigger validation only when dispatching a blur event from the descope-passcode-internal\n this.inputElement.addEventListener('blur', () => {\n this.proxyElement.validate()\n })\n }\n }\n\nconst { borderStyle, borderWidth, ...restTextFieldMappings } = textFieldMappings;\n\nconst Passcode = compose(\n createStyleMixin({\n mappings: {\n ...restTextFieldMappings,\n },\n nestedMappings: {\n borderColor: {\n selector: ` ${TextField.componentName}`,\n property: TextField.cssVarList.borderColor\n }\n }\n }),\n draggableMixin,\n inputMixin,\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: [],\n wrappedEleName: 'vaadin-text-field',\n style: () => `\n :host {\n --vaadin-field-default-width: auto;\n }\n\n ::slotted([slot='input']) {\n -webkit-mask-image: none;\n display: flex;\n gap: 2px;\n align-items: center;\n padding: 0;\n }\n\n vaadin-text-field::part(input-field) {\n background-color: transparent;\n padding: 0;\n }\n\n ${overrides}\n `,\n excludeAttrsSync: ['tabindex'],\n componentName\n })\n);\n\nconst overrides = `\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\n\tvaadin-text-field > label,\n\tvaadin-text-field::part(input-field) {\n\t\tcursor: pointer;\n\t\tcolor: var(${Passcode.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(${Passcode.cssVarList.color});\n\t}\n\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;\n\nexport default Passcode;\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\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\tinputMixin,\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin,\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\n\nexport const componentName = getComponentName('switch-toggle');\n\nlet overrides = ``;\n\nconst SwitchToggle = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\twidth: matchHostStyle(),\n\t\t\tcursor: [{}, { selector: '> label' }]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tinputMixin,\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>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}\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin\n} from '../../componentsHelpers';\nimport { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';\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};\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: matchHostStyle(),\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\tinputMixin,\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}\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 { DESCOPE_PREFIX } from '../constants';\nimport { getCssVarName, kebabCase } from '../helpers';\nimport { getComponentName } from '../componentsHelpers';\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\t(acc, entry) => (acc += `${entry.join(':')};\\n`),\n\t\t''\n\t)}\n}\n`;\n\nconst componentsThemeToStyleObj = (componentsTheme) =>\n\ttransformTheme(componentsTheme, [], (path, val) => {\n\t\tconst [component, ...restPath] = path;\n\t\tconst property = restPath.pop();\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\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 = `${getComponentName(component)}${attrsSelector}`;\n\n\t\treturn {\n\t\t\t[selector]: {\n\t\t\t\t[property]: val\n\t\t\t}\n\t\t};\n\t});\n\nexport const componentsThemeToStyle = (componentsTheme, themeName = '') =>\n\tObject.entries(componentsThemeToStyleObj(componentsTheme)).reduce(\n\t\t(acc, [selector, vars]) =>\n\t\t\t(acc += `*[data-theme=\"${themeName}\"] ${selector} { \\n${Object.entries(\n\t\t\t\tvars\n\t\t\t)\n\t\t\t\t.map(([key, val]) => `${key}: ${val}`)\n\t\t\t\t.join(';\\n')} \\n}\\n\\n`),\n\t\t''\n\t);\n\nexport const themeToStyle = ({ globals, components }, themeName) => `\n${globalsThemeToStyle(globals, themeName)}\n${componentsThemeToStyle(components, themeName)}\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","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 '../themeHelpers';\nimport { genColors } from '../themeHelpers/processColors';\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 '../../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\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 '../../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_borderOffset: {\n\t\t[vars.outlineOffset]: '2px'\n\t},\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_hasErrorMessage: {\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 '../../themeHelpers';\nimport TextArea from '../../components/descope-text-area/TextArea';\n\nconst globalRefs = getThemeRefs(globals);\nconst vars = TextArea.cssVarList;\n\nconst textArea = {\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_borderOffset: {\n\t\t[vars.outlineOffset]: '2px'\n\t},\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};\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 \"../../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.display]: 'flex',\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 '../../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 '../../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 from '../../components/descope-divider/Divider';\n\nconst vars = Divider.cssVarList;\n\nconst divider = {\n\t[vars.alignItems]: 'center',\n\t[vars.height]: '2px',\n\t[vars.backgroundColor]: 'currentColor',\n\t[vars.opacity]: '0.2',\n\t[vars.padding]: '0 10px',\n\t[vars.width]: '100%',\n\t[vars.flexDirection]: 'row',\n\t[vars.alignSelf]: 'strech',\n\t[vars.textWidth]: 'fit-content',\n\t_vertical: {\n\t\t[vars.width]: '2px',\n\t\t[vars.padding]: '10px 0',\n\t\t[vars.flexDirection]: 'column',\n\t\t[vars.minHeight]: '200px',\n\t\t[vars.textWidth]: 'max-content'\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 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';\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};\n","import globals from './globals';\nimport components from './components';\n\nexport default { globals, components };\n"],"names":["componentName","selectors","overrides","descopeInternalComponentName","globalRefs","vars","helperTheme","helperRefs","textField","switchToggle"],"mappings":"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"}