@descope/web-components-ui 1.0.59 → 1.0.60

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.esm.js CHANGED
@@ -342,12 +342,29 @@ const forwardAttrs = (source, dest, options = {}) => {
342
342
  );
343
343
  };
344
344
 
345
+ const forwardProps = (src, target, props = []) => {
346
+ if(!props.length) return;
347
+
348
+ const config = props.reduce((acc, prop) => Object.assign(acc, {[prop] : {
349
+ get () {
350
+ return target[prop]
351
+ },
352
+ set (v) {
353
+ target[prop] = v;
354
+ }
355
+ }}), {});
356
+
357
+ Object.defineProperties(src, config);
358
+ };
359
+
345
360
  const createProxy = ({
346
361
  componentName,
347
362
  wrappedEleName,
348
363
  slots = [],
349
364
  style,
350
- excludeAttrsSync = []
365
+ excludeAttrsSync = [],
366
+ includeAttrsSync = [],
367
+ includeForwardProps = []
351
368
  }) => {
352
369
  const template = `
353
370
  <style id="create-proxy"></style>
@@ -373,6 +390,10 @@ const createProxy = ({
373
390
  connectedCallback() {
374
391
  if (this.shadowRoot.isConnected) {
375
392
  this.proxyElement = this.shadowRoot.querySelector(wrappedEleName);
393
+
394
+ // this is needed for components that uses props, such as combo box
395
+ forwardProps(this.hostElement, this.proxyElement, includeForwardProps);
396
+
376
397
  this.setAttribute('tabindex', '0');
377
398
 
378
399
  // we want to focus on the proxy element when focusing our WC
@@ -397,7 +418,8 @@ const createProxy = ({
397
418
  this.proxyElement.addEventListener(...args);
398
419
 
399
420
  syncAttrs(this.proxyElement, this.hostElement, {
400
- excludeAttrs: excludeAttrsSync
421
+ excludeAttrs: excludeAttrsSync,
422
+ includeAttrs: includeAttrsSync
401
423
  });
402
424
  }
403
425
  }
@@ -1475,7 +1497,9 @@ class PasscodeInternal extends HTMLElement {
1475
1497
  return [
1476
1498
  'disabled',
1477
1499
  'bordered',
1478
- 'size'
1500
+ 'size',
1501
+ 'required',
1502
+ 'pattern'
1479
1503
  ];
1480
1504
  }
1481
1505
 
@@ -1669,9 +1693,15 @@ class PasscodeInternal extends HTMLElement {
1669
1693
  oldValue,
1670
1694
  newValue
1671
1695
  ) {
1672
- if (oldValue !== newValue &&
1673
- PasscodeInternal.observedAttributes.includes(attrName)) {
1674
- this.inputs.forEach((input) => input.setAttribute(attrName, newValue));
1696
+ const validationRelatedAttributes = ['required', 'pattern'];
1697
+
1698
+ if (oldValue !== newValue) {
1699
+ if (validationRelatedAttributes.includes(attrName)) {
1700
+ this.setValidity();
1701
+ }
1702
+ else if (PasscodeInternal.observedAttributes.includes(attrName)) {
1703
+ this.inputs.forEach((input) => input.setAttribute(attrName, newValue));
1704
+ }
1675
1705
  }
1676
1706
  }
1677
1707
  }
@@ -1692,15 +1722,12 @@ const customMixin = (superclass) =>
1692
1722
  super.connectedCallback?.();
1693
1723
  const template = document.createElement('template');
1694
1724
 
1695
- //forward required & pattern TODO use forwardAttrs
1696
1725
  template.innerHTML = `
1697
1726
  <${componentName$4}
1698
1727
  bordered="true"
1699
1728
  name="code"
1700
1729
  tabindex="0"
1701
1730
  slot="input"
1702
- required="${this.shadowRoot.host.getAttribute('required')}"
1703
- pattern="${this.shadowRoot.host.getAttribute('pattern')}"
1704
1731
  ></${componentName$4}>
1705
1732
  `;
1706
1733
 
@@ -1714,11 +1741,13 @@ const customMixin = (superclass) =>
1714
1741
 
1715
1742
  // we want to control when the element is out of focus
1716
1743
  // so the validations will be triggered blur event is dispatched from descope-passcode internal (and not every time focusing a digit)
1717
- this.proxyElement._setFocused = () => {};
1744
+ this.proxyElement._setFocused = () => { };
1718
1745
 
1719
1746
  this.shadowRoot.host.appendChild(template.content.cloneNode(true));
1720
1747
  this.inputElement = this.querySelector(componentName$4);
1721
1748
 
1749
+ forwardAttrs(this.shadowRoot.host, this.inputElement, { includeAttrs: ['required', 'pattern'] });
1750
+
1722
1751
  // we want to trigger validation only when dispatching a blur event from the descope-passcode-internal
1723
1752
  this.inputElement.addEventListener('blur', () => {
1724
1753
  this.proxyElement.validate();
@@ -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-checkbox/Checkbox.js","../src/components/descope-checkbox/index.js","../src/components/descope-loader-linear/LoaderLinear.js","../src/components/descope-loader-linear/index.js","../src/components/descope-loader-radial/LoaderRadial.js","../src/components/descope-loader-radial/index.js","../src/components/descope-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-text/Text.js","../src/components/descope-divider/Divider.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/loader/loaderLinear.js","../src/theme/components/loader/loaderRadial.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}${\n\t\t\t\t/^[A-Za-z]/.test(relativeSelectorOrSelectorFn)\n\t\t\t\t\t? ` ${relativeSelectorOrSelectorFn}`\n\t\t\t\t\t: relativeSelectorOrSelectorFn\n\t\t }`;\n\nclass StyleBuilder {\n\tconstructor() {\n\t\tthis.styleMap = new Map();\n\t}\n\n\tadd(selector, property, value) {\n\t\tif (!this.styleMap.has(selector)) {\n\t\t\tthis.styleMap.set(selector, []);\n\t\t}\n\n\t\tthis.styleMap.set(selector, [\n\t\t\t...this.styleMap.get(selector),\n\t\t\t{ property, value }\n\t\t]);\n\t}\n\n\ttoString() {\n\t\treturn Array.from(this.styleMap.entries()).reduce(\n\t\t\t(style, [selector, propValArr]) =>\n\t\t\t\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(superclass) => {\n\t\tconst styleAttributes = Object.keys(mappings).map((key) =>\n\t\t\tkebabCaseJoin('st', key)\n\t\t);\n\t\treturn class CustomStyleMixinClass extends superclass {\n\t\t\tstatic get observedAttributes() {\n\t\t\t\tconst superAttrs = superclass.observedAttributes || [];\n\t\t\t\treturn [...superAttrs, ...styleAttributes];\n\t\t\t}\n\n\t\t\tstatic get cssVarList() {\n\t\t\t\treturn createCssVarsList(superclass.componentName, {\n\t\t\t\t\t...mappings,\n\t\t\t\t\t...nestedMappings\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t#styleEle = null;\n\n\t\t\tconstructor() {\n\t\t\t\tsuper();\n\n\t\t\t\tthis.#createComponentStyle();\n\t\t\t\tthis.#createAttrOverrideStyle();\n\t\t\t}\n\n\t\t\t#createAttrOverrideStyle() {\n\t\t\t\tthis.#styleEle = document.createElement('style');\n\t\t\t\tthis.#styleEle.id = 'style-mixin-overrides';\n\n\t\t\t\tthis.#styleEle.innerText = '* {}';\n\t\t\t\tthis.shadowRoot.prepend(this.#styleEle);\n\t\t\t}\n\n\t\t\t#updateAttrOverrideStyle(attrName, value) {\n\t\t\t\tconst style = this.#styleEle.sheet?.cssRules[0].style;\n\t\t\t\tconst varName = getCssVarName(\n\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\tattrName.replace(/^st-/, '')\n\t\t\t\t);\n\n\t\t\t\tif (value) style?.setProperty(varName, value);\n\t\t\t\telse style?.removeProperty(varName);\n\t\t\t}\n\n\t\t\t#createComponentStyle() {\n\t\t\t\tconst themeStyle = document.createElement('style');\n\t\t\t\tthemeStyle.id = 'style-mixin-component';\n\t\t\t\tthemeStyle.innerHTML = createStyle(\n\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\tthis.baseSelector,\n\t\t\t\t\tmappings\n\t\t\t\t);\n\t\t\t\tthis.shadowRoot.prepend(themeStyle);\n\t\t\t}\n\n\t\t\t#createComponentNestingStyle() {\n\t\t\t\t// we need these selectors to be more specific from the theme selectors\n\t\t\t\t// in order to do it, we are repeating the class name for specificity\n\t\t\t\tconst numOfClassNameSpecifier = 3;\n\n\t\t\t\tconst rootNode = this.shadowRoot.host.getRootNode();\n\t\t\t\tconst styleId = `${superclass.componentName}-style-mixin-component`;\n\n\t\t\t\tconst className = superclass.componentName;\n\t\t\t\tthis.shadowRoot.host.classList.add(className);\n\n\t\t\t\tif (rootNode.querySelector(`style#${styleId}`)) return;\n\n\t\t\t\tconst themeStyle = document.createElement('style');\n\t\t\t\tthemeStyle.id = styleId;\n\t\t\t\tthemeStyle.innerHTML = createStyle(\n\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\t`${superclass.componentName}${Array(numOfClassNameSpecifier)\n\t\t\t\t\t\t.fill(`.${className}`)\n\t\t\t\t\t\t.join('')}`,\n\t\t\t\t\tnestedMappings\n\t\t\t\t);\n\n\t\t\t\t// rootNode can be either a shadow DOM or a light DOM\n\t\t\t\tif (rootNode.nodeName === '#document') {\n\t\t\t\t\trootNode.head.append(themeStyle);\n\t\t\t\t} else {\n\t\t\t\t\trootNode.append(themeStyle);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\t\t\tsuper.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n\t\t\t\tif (styleAttributes.includes(attrName)) {\n\t\t\t\t\tthis.#updateAttrOverrideStyle(attrName, newValue);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconnectedCallback() {\n\t\t\t\tsuper.connectedCallback?.();\n\t\t\t\tif (this.shadowRoot.isConnected) {\n\t\t\t\t\tthis.#createComponentNestingStyle();\n\n\t\t\t\t\tArray.from(this.attributes).forEach((attr) => {\n\t\t\t\t\t\tif (styleAttributes.includes(attr.nodeName)) {\n\t\t\t\t\t\t\tthis.#updateAttrOverrideStyle(attr.nodeName, attr.value);\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\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 {\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('loader-linear');\n\nclass RawLoaderLinear 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@keyframes tilt {\n\t\t\t\t\t0% { transform: translateX(0); }\n\t\t\t\t\t50% { transform: translateX(400%); }\n\t\t\t\t}\n\t\t\t\t:host {\n\t\t\t\t\tposition: relative;\n\t\t\t\t}\n\t\t\t\tdiv::after {\n\t\t\t\t\tcontent: '';\n\t\t\t\t\tanimation-name: tilt;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<div></div>\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 > div';\n\t}\n}\n\nconst selectors = {\n\troot: {},\n\tafter: { selector: '::after' }\n};\n\nconst { root, after } = selectors;\n\nconst LoaderLinear = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tdisplay: root,\n\t\t\twidth: matchHostStyle(root),\n\t\t\theight: [root, after],\n\t\t\tborderRadius: [root, after],\n\t\t\tsurfaceColor: [{ property: 'background-color' }],\n\t\t\tbarColor: [{ ...after, property: 'background-color' }],\n\t\t\tbarWidth: { ...after, property: 'width' },\n\t\t\tanimationDuration: [root, after],\n\t\t\tanimationTimingFunction: [root, after],\n\t\t\tanimationIterationCount: [root, after]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawLoaderLinear);\n\nexport default LoaderLinear;\n","import LoaderLinear, { componentName } from './LoaderLinear';\n\ncustomElements.define(componentName, LoaderLinear);\n\nexport { LoaderLinear };\n","import {\n\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('loader-radial');\n\nclass RawLoaderRadial 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@keyframes spin {\n\t\t\t\t\t0% { transform: rotate(0deg); }\n\t\t\t\t\t100% { transform: rotate(360deg); }\n\t\t\t\t}\n\t\t\t\t:host {\n\t\t\t\t\tposition: relative;\n\t\t\t\t}\n\t\t\t\t:host > div {\n\t\t\t\t\tanimation-name: spin;\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<div></div>\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 > div';\n\t}\n}\n\nconst LoaderRadial = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tdisplay: {},\n\t\t\twidth: matchHostStyle({}),\n\t\t\theight: {},\n\t\t\tspinnerWidth: { property: 'border-width' },\n\t\t\tspinnerStyle: { property: 'border-style' },\n\t\t\tspinnerRadius: { property: 'border-radius' },\n\t\t\tspinnerTopColor: { property: 'border-top-color' },\n\t\t\tspinnerBottomColor: { property: 'border-bottom-color' },\n\t\t\tspinnerRightColor: { property: 'border-right-color' },\n\t\t\tspinnerLeftColor: { property: 'border-left-color' },\n\t\t\tcolor: {},\n\t\t\tanimationDuration: {},\n\t\t\tanimationTimingFunction: {},\n\t\t\tanimationIterationCount: {}\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawLoaderRadial);\n\nexport default LoaderRadial;\n","import LoaderRadial, { componentName } from './LoaderRadial';\n\ncustomElements.define(componentName, LoaderRadial);\n\nexport { LoaderRadial };\n","import { 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 { 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 {\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';\nimport Text from '../descope-text/Text';\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\tnestedMappings: {\n\t\t\tfontStyle: {\n\t\t\t\tselector: Text.componentName,\n\t\t\t\tproperty: Text.cssVarList.fontStyle\n\t\t\t}\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawDivider);\n\nexport default Divider;\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\tgetComponentName,\n\tcreateStyleMixin,\n\tdraggableMixin,\n\tcreateProxy,\n\tinputMixin,\n\tcompose,\n\tcomponentNameValidationMixin\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\tclass DraggableMixinClass extends superclass {\n\t\tconstructor() {\n\t\t\tsuper();\n\t\t}\n\n\t\tget digits() {\n\t\t\treturn Number.parseInt(this.getAttribute('digits')) || 6;\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tsuper.connectedCallback?.();\n\t\t\tconst template = document.createElement('template');\n\n\t\t\t//forward required & pattern TODO use forwardAttrs\n\t\t\ttemplate.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\t\t\t// 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\t\t\tconst slotEle = Object.assign(document.createElement('slot'), {\n\t\t\t\tname: 'input',\n\t\t\t\tslot: 'input',\n\t\t\t\tpart: 'input'\n\t\t\t});\n\t\t\tthis.proxyElement.appendChild(slotEle);\n\n\t\t\t// we want to control when the element is out of focus\n\t\t\t// so the validations will be triggered blur event is dispatched from descope-passcode internal (and not every time focusing a digit)\n\t\t\tthis.proxyElement._setFocused = () => {};\n\n\t\t\tthis.shadowRoot.host.appendChild(template.content.cloneNode(true));\n\t\t\tthis.inputElement = this.querySelector(descopeInternalComponentName);\n\n\t\t\t// we want to trigger validation only when dispatching a blur event from the descope-passcode-internal\n\t\t\tthis.inputElement.addEventListener('blur', () => {\n\t\t\t\tthis.proxyElement.validate();\n\t\t\t});\n\t\t}\n\t};\n\nconst { borderStyle, borderWidth, ...restTextFieldMappings } =\n\ttextFieldMappings;\n\nconst Passcode = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\t...restTextFieldMappings\n\t\t},\n\t\tnestedMappings: {\n\t\t\tborderColor: {\n\t\t\t\tselector: TextField.componentName,\n\t\t\t\tproperty: TextField.cssVarList.borderColor\n\t\t\t}\n\t\t}\n\t}),\n\tdraggableMixin,\n\tinputMixin,\n\tcomponentNameValidationMixin,\n\tcustomMixin\n)(\n\tcreateProxy({\n\t\tslots: [],\n\t\twrappedEleName: 'vaadin-text-field',\n\t\tstyle: () => `\n :host {\n --vaadin-field-default-width: auto;\n }\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\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\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_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_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\t_italic: {\n\t\t[vars.fontStyle]: 'italic'\n\t}\n};\n\nexport default divider;\n","import Passcode from '../../components/descope-passcode/Passcode';\nimport { textField } from './textField';\n\nconst passcode = {\n\t...textField(Passcode.cssVarList),\n};\n\nexport default passcode;\n","import LoaderLinear from '../../../components/descope-loader-linear/LoaderLinear';\nimport { getThemeRefs } from '../../../themeHelpers';\nimport globals from '../../globals';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = LoaderLinear.cssVarList;\n\nconst loaderLinear = {\n\t[vars.display]: 'inline-block',\n\t[vars.barColor]: globalRefs.colors.surface.contrast,\n\t[vars.barWidth]: '20%',\n\t[vars.surfaceColor]: globalRefs.colors.surface.main,\n\t[vars.borderRadius]: '4px',\n\t[vars.animationDuration]: '2s',\n\t[vars.animationTimingFunction]: 'linear',\n\t[vars.animationIterationCount]: 'infinite',\n\t[vars.width]: '100%',\n\tsize: {\n\t\txs: {\n\t\t\t[vars.height]: '6px'\n\t\t},\n\t\tsm: {\n\t\t\t[vars.height]: '8px'\n\t\t},\n\t\tmd: {\n\t\t\t[vars.height]: '10px'\n\t\t},\n\t\tlg: {\n\t\t\t[vars.height]: '12px'\n\t\t},\n\t\txl: {\n\t\t\t[vars.height]: '14px'\n\t\t}\n\t},\n\tmode: {\n\t\tprimary: {\n\t\t\t[vars.barColor]: globalRefs.colors.primary.main\n\t\t},\n\t\tsecondary: {\n\t\t\t[vars.barColor]: globalRefs.colors.secondary.main\n\t\t}\n\t},\n\t_hidden: {\n\t\t[vars.display]: 'none'\n\t}\n};\n\nexport default loaderLinear;\n","import LoaderRadial from '../../../components/descope-loader-radial/LoaderRadial';\nimport { getThemeRefs } from '../../../themeHelpers';\nimport globals from '../../globals';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = LoaderRadial.cssVarList;\n\nconst loaderRadial = {\n\t[vars.display]: 'inline-block',\n\t[vars.color]: globalRefs.colors.surface.contrast,\n\t[vars.animationDuration]: '2s',\n\t[vars.animationTimingFunction]: 'linear',\n\t[vars.animationIterationCount]: 'infinite',\n\t[vars.spinnerStyle]: 'solid',\n\t[vars.spinnerWidth]: '4px',\n\t[vars.spinnerRadius]: '50%',\n\t[vars.spinnerTopColor]: 'currentColor',\n\t[vars.spinnerBottomColor]: 'transparent',\n\t[vars.spinnerRightColor]: 'currentColor',\n\t[vars.spinnerLeftColor]: 'transparent',\n\tsize: {\n\t\txs: {\n\t\t\t[vars.width]: '20px',\n\t\t\t[vars.height]: '20px',\n\t\t\t[vars.spinnerWidth]: '2px'\n\t\t},\n\t\tsm: {\n\t\t\t[vars.width]: '30px',\n\t\t\t[vars.height]: '30px',\n\t\t\t[vars.spinnerWidth]: '3px'\n\t\t},\n\t\tmd: {\n\t\t\t[vars.width]: '40px',\n\t\t\t[vars.height]: '40px',\n\t\t\t[vars.spinnerWidth]: '4px'\n\t\t},\n\t\tlg: {\n\t\t\t[vars.width]: '60px',\n\t\t\t[vars.height]: '60px',\n\t\t\t[vars.spinnerWidth]: '5px'\n\t\t},\n\t\txl: {\n\t\t\t[vars.width]: '80px',\n\t\t\t[vars.height]: '80px',\n\t\t\t[vars.spinnerWidth]: '6px'\n\t\t}\n\t},\n\tmode: {\n\t\tprimary: {\n\t\t\t[vars.color]: globalRefs.colors.primary.main\n\t\t},\n\t\tsecondary: {\n\t\t\t[vars.color]: globalRefs.colors.secondary.main\n\t\t}\n\t},\n\t_hidden: {\n\t\t[vars.display]: 'none'\n\t}\n};\n\nexport default loaderRadial;\n","import button from './button';\nimport textField from './textField';\nimport passwordField from './passwordField';\nimport numberField from './numberField';\nimport emailField from './emailField';\nimport textArea from './textArea';\nimport checkbox from './checkbox';\nimport switchToggle from './switchToggle';\nimport container from './container';\nimport logo from './logo';\nimport text from './text';\nimport link from './link';\nimport divider from './divider';\nimport passcode from './passcode';\nimport { loaderRadial, loaderLinear } from './loader';\n\nexport default {\n\tbutton,\n\ttextField,\n\tpasswordField,\n\tnumberField,\n\temailField,\n\ttextArea,\n\tcheckbox,\n\tswitchToggle,\n\tcontainer,\n\tlogo,\n\ttext,\n\tlink,\n\tdivider,\n\tpasscode,\n\tloaderRadial,\n\tloaderLinear\n};\n","import globals from './globals';\nimport components from './components';\n\nexport default { globals, components };\n"],"names":["componentName","selectors","root","after","overrides","descopeInternalComponentName","globalRefs","vars","helperTheme","helperRefs","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-loader-linear/LoaderLinear.js","../src/components/descope-loader-linear/index.js","../src/components/descope-loader-radial/LoaderRadial.js","../src/components/descope-loader-radial/index.js","../src/components/descope-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-text/Text.js","../src/components/descope-divider/Divider.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/loader/loaderLinear.js","../src/theme/components/loader/loaderRadial.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}${\n\t\t\t\t/^[A-Za-z]/.test(relativeSelectorOrSelectorFn)\n\t\t\t\t\t? ` ${relativeSelectorOrSelectorFn}`\n\t\t\t\t\t: relativeSelectorOrSelectorFn\n\t\t }`;\n\nclass StyleBuilder {\n\tconstructor() {\n\t\tthis.styleMap = new Map();\n\t}\n\n\tadd(selector, property, value) {\n\t\tif (!this.styleMap.has(selector)) {\n\t\t\tthis.styleMap.set(selector, []);\n\t\t}\n\n\t\tthis.styleMap.set(selector, [\n\t\t\t...this.styleMap.get(selector),\n\t\t\t{ property, value }\n\t\t]);\n\t}\n\n\ttoString() {\n\t\treturn Array.from(this.styleMap.entries()).reduce(\n\t\t\t(style, [selector, propValArr]) =>\n\t\t\t\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(superclass) => {\n\t\tconst styleAttributes = Object.keys(mappings).map((key) =>\n\t\t\tkebabCaseJoin('st', key)\n\t\t);\n\t\treturn class CustomStyleMixinClass extends superclass {\n\t\t\tstatic get observedAttributes() {\n\t\t\t\tconst superAttrs = superclass.observedAttributes || [];\n\t\t\t\treturn [...superAttrs, ...styleAttributes];\n\t\t\t}\n\n\t\t\tstatic get cssVarList() {\n\t\t\t\treturn createCssVarsList(superclass.componentName, {\n\t\t\t\t\t...mappings,\n\t\t\t\t\t...nestedMappings\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t#styleEle = null;\n\n\t\t\tconstructor() {\n\t\t\t\tsuper();\n\n\t\t\t\tthis.#createComponentStyle();\n\t\t\t\tthis.#createAttrOverrideStyle();\n\t\t\t}\n\n\t\t\t#createAttrOverrideStyle() {\n\t\t\t\tthis.#styleEle = document.createElement('style');\n\t\t\t\tthis.#styleEle.id = 'style-mixin-overrides';\n\n\t\t\t\tthis.#styleEle.innerText = '* {}';\n\t\t\t\tthis.shadowRoot.prepend(this.#styleEle);\n\t\t\t}\n\n\t\t\t#updateAttrOverrideStyle(attrName, value) {\n\t\t\t\tconst style = this.#styleEle.sheet?.cssRules[0].style;\n\t\t\t\tconst varName = getCssVarName(\n\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\tattrName.replace(/^st-/, '')\n\t\t\t\t);\n\n\t\t\t\tif (value) style?.setProperty(varName, value);\n\t\t\t\telse style?.removeProperty(varName);\n\t\t\t}\n\n\t\t\t#createComponentStyle() {\n\t\t\t\tconst themeStyle = document.createElement('style');\n\t\t\t\tthemeStyle.id = 'style-mixin-component';\n\t\t\t\tthemeStyle.innerHTML = createStyle(\n\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\tthis.baseSelector,\n\t\t\t\t\tmappings\n\t\t\t\t);\n\t\t\t\tthis.shadowRoot.prepend(themeStyle);\n\t\t\t}\n\n\t\t\t#createComponentNestingStyle() {\n\t\t\t\t// we need these selectors to be more specific from the theme selectors\n\t\t\t\t// in order to do it, we are repeating the class name for specificity\n\t\t\t\tconst numOfClassNameSpecifier = 3;\n\n\t\t\t\tconst rootNode = this.shadowRoot.host.getRootNode();\n\t\t\t\tconst styleId = `${superclass.componentName}-style-mixin-component`;\n\n\t\t\t\tconst className = superclass.componentName;\n\t\t\t\tthis.shadowRoot.host.classList.add(className);\n\n\t\t\t\tif (rootNode.querySelector(`style#${styleId}`)) return;\n\n\t\t\t\tconst themeStyle = document.createElement('style');\n\t\t\t\tthemeStyle.id = styleId;\n\t\t\t\tthemeStyle.innerHTML = createStyle(\n\t\t\t\t\tsuperclass.componentName,\n\t\t\t\t\t`${superclass.componentName}${Array(numOfClassNameSpecifier)\n\t\t\t\t\t\t.fill(`.${className}`)\n\t\t\t\t\t\t.join('')}`,\n\t\t\t\t\tnestedMappings\n\t\t\t\t);\n\n\t\t\t\t// rootNode can be either a shadow DOM or a light DOM\n\t\t\t\tif (rootNode.nodeName === '#document') {\n\t\t\t\t\trootNode.head.append(themeStyle);\n\t\t\t\t} else {\n\t\t\t\t\trootNode.append(themeStyle);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\t\t\tsuper.attributeChangedCallback?.(attrName, oldValue, newValue);\n\n\t\t\t\tif (styleAttributes.includes(attrName)) {\n\t\t\t\t\tthis.#updateAttrOverrideStyle(attrName, newValue);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconnectedCallback() {\n\t\t\t\tsuper.connectedCallback?.();\n\t\t\t\tif (this.shadowRoot.isConnected) {\n\t\t\t\t\tthis.#createComponentNestingStyle();\n\n\t\t\t\t\tArray.from(this.attributes).forEach((attr) => {\n\t\t\t\t\t\tif (styleAttributes.includes(attr.nodeName)) {\n\t\t\t\t\t\t\tthis.#updateAttrOverrideStyle(attr.nodeName, attr.value);\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\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\nexport const forwardProps = (src, target, props = []) => {\n\tif(!props.length) return;\n\n\tconst config = props.reduce((acc, prop) => Object.assign(acc, {[prop] : {\n\t\tget () {\n\t\t\treturn target[prop]\n\t\t},\n\t\tset (v) {\n\t\t\ttarget[prop] = v\n\t\t}\n\t}}), {})\n\n\tObject.defineProperties(src, config)\n}\n","import { compose } from '..';\nimport { DescopeBaseClass } from '../../components/DescopeBaseClass';\nimport { hoverableMixin } from '../hoverableMixin';\nimport { syncAttrs, forwardProps } from './helpers';\n\nexport const createProxy = ({\n\tcomponentName,\n\twrappedEleName,\n\tslots = [],\n\tstyle,\n\texcludeAttrsSync = [],\n\tincludeAttrsSync = [],\n\tincludeForwardProps = []\n}) => {\n\tconst template = `\n\t\t<style id=\"create-proxy\"></style>\n\t\t<${wrappedEleName}>\n\t\t<slot></slot>\n\t\t${slots.map((slot) => `<slot name=\"${slot}\" slot=\"${slot}\"></slot>`).join('')}\n\t\t</${wrappedEleName}>\n\t`;\n\n\tclass 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\n\t\t\t\t// this is needed for components that uses props, such as combo box\n\t\t\t\tforwardProps(this.hostElement, this.proxyElement, includeForwardProps)\n\n\t\t\t\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\tincludeAttrs: includeAttrsSync\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 {\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('loader-linear');\n\nclass RawLoaderLinear 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@keyframes tilt {\n\t\t\t\t\t0% { transform: translateX(0); }\n\t\t\t\t\t50% { transform: translateX(400%); }\n\t\t\t\t}\n\t\t\t\t:host {\n\t\t\t\t\tposition: relative;\n\t\t\t\t}\n\t\t\t\tdiv::after {\n\t\t\t\t\tcontent: '';\n\t\t\t\t\tanimation-name: tilt;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<div></div>\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 > div';\n\t}\n}\n\nconst selectors = {\n\troot: {},\n\tafter: { selector: '::after' }\n};\n\nconst { root, after } = selectors;\n\nconst LoaderLinear = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tdisplay: root,\n\t\t\twidth: matchHostStyle(root),\n\t\t\theight: [root, after],\n\t\t\tborderRadius: [root, after],\n\t\t\tsurfaceColor: [{ property: 'background-color' }],\n\t\t\tbarColor: [{ ...after, property: 'background-color' }],\n\t\t\tbarWidth: { ...after, property: 'width' },\n\t\t\tanimationDuration: [root, after],\n\t\t\tanimationTimingFunction: [root, after],\n\t\t\tanimationIterationCount: [root, after]\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawLoaderLinear);\n\nexport default LoaderLinear;\n","import LoaderLinear, { componentName } from './LoaderLinear';\n\ncustomElements.define(componentName, LoaderLinear);\n\nexport { LoaderLinear };\n","import {\n\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('loader-radial');\n\nclass RawLoaderRadial 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@keyframes spin {\n\t\t\t\t\t0% { transform: rotate(0deg); }\n\t\t\t\t\t100% { transform: rotate(360deg); }\n\t\t\t\t}\n\t\t\t\t:host {\n\t\t\t\t\tposition: relative;\n\t\t\t\t}\n\t\t\t\t:host > div {\n\t\t\t\t\tanimation-name: spin;\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<div></div>\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 > div';\n\t}\n}\n\nconst LoaderRadial = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\tdisplay: {},\n\t\t\twidth: matchHostStyle({}),\n\t\t\theight: {},\n\t\t\tspinnerWidth: { property: 'border-width' },\n\t\t\tspinnerStyle: { property: 'border-style' },\n\t\t\tspinnerRadius: { property: 'border-radius' },\n\t\t\tspinnerTopColor: { property: 'border-top-color' },\n\t\t\tspinnerBottomColor: { property: 'border-bottom-color' },\n\t\t\tspinnerRightColor: { property: 'border-right-color' },\n\t\t\tspinnerLeftColor: { property: 'border-left-color' },\n\t\t\tcolor: {},\n\t\t\tanimationDuration: {},\n\t\t\tanimationTimingFunction: {},\n\t\t\tanimationIterationCount: {}\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawLoaderRadial);\n\nexport default LoaderRadial;\n","import LoaderRadial, { componentName } from './LoaderRadial';\n\ncustomElements.define(componentName, LoaderRadial);\n\nexport { LoaderRadial };\n","import { 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 { 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 {\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';\nimport Text from '../descope-text/Text';\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\tnestedMappings: {\n\t\t\tfontStyle: {\n\t\t\t\tselector: Text.componentName,\n\t\t\t\tproperty: Text.cssVarList.fontStyle\n\t\t\t}\n\t\t}\n\t}),\n\tdraggableMixin,\n\tcomponentNameValidationMixin\n)(RawDivider);\n\nexport default Divider;\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\t'required',\n\t\t\t'pattern'\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\tconst validationRelatedAttributes = ['required', 'pattern'];\n\n\t\tif (oldValue !== newValue) {\n\t\t\tif (validationRelatedAttributes.includes(attrName)) {\n\t\t\t\tthis.setValidity()\n\t\t\t}\n\t\t\telse if (PasscodeInternal.observedAttributes.includes(attrName)) {\n\t\t\t\tthis.inputs.forEach((input) => input.setAttribute(attrName, newValue))\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default PasscodeInternal;\n\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';\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';\nimport { forwardAttrs } from '../../componentsHelpers/createProxy/helpers';\n\nconst customMixin = (superclass) =>\n\tclass DraggableMixinClass extends superclass {\n\t\tconstructor() {\n\t\t\tsuper();\n\t\t}\n\n\t\tget digits() {\n\t\t\treturn Number.parseInt(this.getAttribute('digits')) || 6;\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tsuper.connectedCallback?.();\n\t\t\tconst template = document.createElement('template');\n\n\t\t\ttemplate.innerHTML = `\n <${descopeInternalComponentName} \n bordered=\"true\" \n name=\"code\" \n tabindex=\"0\"\n slot=\"input\"\n ></${descopeInternalComponentName}>\n `;\n\n\t\t\t// 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\t\t\tconst slotEle = Object.assign(document.createElement('slot'), {\n\t\t\t\tname: 'input',\n\t\t\t\tslot: 'input',\n\t\t\t\tpart: 'input'\n\t\t\t});\n\t\t\tthis.proxyElement.appendChild(slotEle);\n\n\t\t\t// we want to control when the element is out of focus\n\t\t\t// so the validations will be triggered blur event is dispatched from descope-passcode internal (and not every time focusing a digit)\n\t\t\tthis.proxyElement._setFocused = () => { };\n\n\t\t\tthis.shadowRoot.host.appendChild(template.content.cloneNode(true));\n\t\t\tthis.inputElement = this.querySelector(descopeInternalComponentName);\n\n\t\t\tforwardAttrs(this.shadowRoot.host, this.inputElement, { includeAttrs: ['required', 'pattern'] })\n\n\t\t\t// we want to trigger validation only when dispatching a blur event from the descope-passcode-internal\n\t\t\tthis.inputElement.addEventListener('blur', () => {\n\t\t\t\tthis.proxyElement.validate();\n\t\t\t});\n\t\t}\n\t};\n\nconst { borderStyle, borderWidth, ...restTextFieldMappings } =\n\ttextFieldMappings;\n\nconst Passcode = compose(\n\tcreateStyleMixin({\n\t\tmappings: {\n\t\t\t...restTextFieldMappings\n\t\t},\n\t\tnestedMappings: {\n\t\t\tborderColor: {\n\t\t\t\tselector: TextField.componentName,\n\t\t\t\tproperty: TextField.cssVarList.borderColor\n\t\t\t}\n\t\t}\n\t}),\n\tdraggableMixin,\n\tinputMixin,\n\tcomponentNameValidationMixin,\n\tcustomMixin\n)(\n\tcreateProxy({\n\t\tslots: [],\n\t\twrappedEleName: 'vaadin-text-field',\n\t\tstyle: () => `\n :host {\n --vaadin-field-default-width: auto;\n }\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\t\texcludeAttrsSync: ['tabindex'],\n\t\tcomponentName\n\t})\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_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_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\t_italic: {\n\t\t[vars.fontStyle]: 'italic'\n\t}\n};\n\nexport default divider;\n","import Passcode from '../../components/descope-passcode/Passcode';\nimport { textField } from './textField';\n\nconst passcode = {\n\t...textField(Passcode.cssVarList),\n};\n\nexport default passcode;\n","import LoaderLinear from '../../../components/descope-loader-linear/LoaderLinear';\nimport { getThemeRefs } from '../../../themeHelpers';\nimport globals from '../../globals';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = LoaderLinear.cssVarList;\n\nconst loaderLinear = {\n\t[vars.display]: 'inline-block',\n\t[vars.barColor]: globalRefs.colors.surface.contrast,\n\t[vars.barWidth]: '20%',\n\t[vars.surfaceColor]: globalRefs.colors.surface.main,\n\t[vars.borderRadius]: '4px',\n\t[vars.animationDuration]: '2s',\n\t[vars.animationTimingFunction]: 'linear',\n\t[vars.animationIterationCount]: 'infinite',\n\t[vars.width]: '100%',\n\tsize: {\n\t\txs: {\n\t\t\t[vars.height]: '6px'\n\t\t},\n\t\tsm: {\n\t\t\t[vars.height]: '8px'\n\t\t},\n\t\tmd: {\n\t\t\t[vars.height]: '10px'\n\t\t},\n\t\tlg: {\n\t\t\t[vars.height]: '12px'\n\t\t},\n\t\txl: {\n\t\t\t[vars.height]: '14px'\n\t\t}\n\t},\n\tmode: {\n\t\tprimary: {\n\t\t\t[vars.barColor]: globalRefs.colors.primary.main\n\t\t},\n\t\tsecondary: {\n\t\t\t[vars.barColor]: globalRefs.colors.secondary.main\n\t\t}\n\t},\n\t_hidden: {\n\t\t[vars.display]: 'none'\n\t}\n};\n\nexport default loaderLinear;\n","import LoaderRadial from '../../../components/descope-loader-radial/LoaderRadial';\nimport { getThemeRefs } from '../../../themeHelpers';\nimport globals from '../../globals';\n\nconst globalRefs = getThemeRefs(globals);\n\nconst vars = LoaderRadial.cssVarList;\n\nconst loaderRadial = {\n\t[vars.display]: 'inline-block',\n\t[vars.color]: globalRefs.colors.surface.contrast,\n\t[vars.animationDuration]: '2s',\n\t[vars.animationTimingFunction]: 'linear',\n\t[vars.animationIterationCount]: 'infinite',\n\t[vars.spinnerStyle]: 'solid',\n\t[vars.spinnerWidth]: '4px',\n\t[vars.spinnerRadius]: '50%',\n\t[vars.spinnerTopColor]: 'currentColor',\n\t[vars.spinnerBottomColor]: 'transparent',\n\t[vars.spinnerRightColor]: 'currentColor',\n\t[vars.spinnerLeftColor]: 'transparent',\n\tsize: {\n\t\txs: {\n\t\t\t[vars.width]: '20px',\n\t\t\t[vars.height]: '20px',\n\t\t\t[vars.spinnerWidth]: '2px'\n\t\t},\n\t\tsm: {\n\t\t\t[vars.width]: '30px',\n\t\t\t[vars.height]: '30px',\n\t\t\t[vars.spinnerWidth]: '3px'\n\t\t},\n\t\tmd: {\n\t\t\t[vars.width]: '40px',\n\t\t\t[vars.height]: '40px',\n\t\t\t[vars.spinnerWidth]: '4px'\n\t\t},\n\t\tlg: {\n\t\t\t[vars.width]: '60px',\n\t\t\t[vars.height]: '60px',\n\t\t\t[vars.spinnerWidth]: '5px'\n\t\t},\n\t\txl: {\n\t\t\t[vars.width]: '80px',\n\t\t\t[vars.height]: '80px',\n\t\t\t[vars.spinnerWidth]: '6px'\n\t\t}\n\t},\n\tmode: {\n\t\tprimary: {\n\t\t\t[vars.color]: globalRefs.colors.primary.main\n\t\t},\n\t\tsecondary: {\n\t\t\t[vars.color]: globalRefs.colors.secondary.main\n\t\t}\n\t},\n\t_hidden: {\n\t\t[vars.display]: 'none'\n\t}\n};\n\nexport default loaderRadial;\n","import button from './button';\nimport textField from './textField';\nimport passwordField from './passwordField';\nimport numberField from './numberField';\nimport emailField from './emailField';\nimport textArea from './textArea';\nimport checkbox from './checkbox';\nimport switchToggle from './switchToggle';\nimport container from './container';\nimport logo from './logo';\nimport text from './text';\nimport link from './link';\nimport divider from './divider';\nimport passcode from './passcode';\nimport { loaderRadial, loaderLinear } from './loader';\n\nexport default {\n\tbutton,\n\ttextField,\n\tpasswordField,\n\tnumberField,\n\temailField,\n\ttextArea,\n\tcheckbox,\n\tswitchToggle,\n\tcontainer,\n\tlogo,\n\ttext,\n\tlink,\n\tdivider,\n\tpasscode,\n\tloaderRadial,\n\tloaderLinear\n};\n","import globals from './globals';\nimport components from './components';\n\nexport default { globals, components };\n"],"names":["componentName","selectors","root","after","overrides","descopeInternalComponentName","globalRefs","vars","helperTheme","helperRefs","textField","switchToggle"],"mappings":"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"}
package/dist/umd/832.js CHANGED
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[832],{8522:(t,e,s)=>{s.d(e,{V:()=>n});class n extends HTMLElement{}},9201:(t,e,s)=>{s.d(e,{o:()=>i,t:()=>a});const n=(t,e,{excludeAttrs:s=[],includeAttrs:n=[]})=>{e(...Array.from(t.attributes).filter((t=>!s.includes(t.name)&&(!n.length||n.includes(t.name)))).map((t=>t.name))),new MutationObserver((t=>{for(const o of t)"attributes"!==o.type||s.includes(o.attributeName)||n.length&&!n.includes(o.attributeName)||e([o.attributeName])})).observe(t,{attributes:!0})},o=(t,e,s={})=>(...n)=>{n.forEach((n=>{const o=s[n]||n,a=t.getAttribute(n);null!==a?e.getAttribute(o)!==a&&e.setAttribute(o,a):e.removeAttribute(o)}))},a=(t,e,s)=>{n(t,o(t,e),s),n(e,o(e,t),s)},i=(t,e,s={})=>{n(t,o(t,e,s.mapAttrs),s)}},3535:(t,e,s)=>{s.d(e,{SP:()=>r,wj:()=>i,zy:()=>l});var n=s(6225);const o=(t,...e)=>`var(${t}${e.length?` , ${o(...e)}`:""})`;class a{constructor(){this.styleMap=new Map}add(t,e,s){this.styleMap.has(t)||this.styleMap.set(t,[]),this.styleMap.set(t,[...this.styleMap.get(t),{property:e,value:s}])}toString(){return Array.from(this.styleMap.entries()).reduce(((t,[e,s])=>t+`${e} { \n${s.map((({property:t,value:e})=>`${t}: ${e}`)).join(";\n")} \n}\n\n`),"")}}const i=(t,e,s)=>{const i=new a;return Object.keys(s).forEach((a=>{const r=((t,e)=>{const s={selector:"",property:(0,n.GL)(t)};return e&&Object.keys(e).length?Array.isArray(e)?e.map((t=>Object.assign({},s,t))):[Object.assign({},s,e)]:[s]})(a,s[a]),l=(0,n.Tk)(t,a);r.forEach((({selector:t,property:s})=>{i.add(((t="",e="")=>"function"==typeof e?e(t):`${t}${/^[A-Za-z]/.test(e)?` ${e}`:e}`)(e,t),s,o(l))}))})),i.toString()},r=(t,e)=>Object.keys(e).reduce(((e,s)=>Object.assign(e,{[s]:(0,n.Tk)(t,s)})),{}),l=(t={})=>[t,{...t,selector:()=>`:host${t.selector||""}`}]},893:(t,e,s)=>{s.d(e,{_:()=>n});const n=(t="")=>e=>class extends e{connectedCallback(){super.connectedCallback?.(),this.shadowRoot.querySelector(this.baseSelector+t).addEventListener("mouseover",(t=>{this.shadowRoot.host.setAttribute("hover","true"),t.target.addEventListener("mouseleave",(()=>this.shadowRoot.host.removeAttribute("hover")),{once:!0})}))}}},832:(t,e,s)=>{s.d(e,{Ae:()=>m,qC:()=>y,DM:()=>h,yk:()=>a,e4:()=>i,iY:()=>p,y7:()=>u});var n=s(6225),o=s(3535);const a=({mappings:t={},nestedMappings:e={}})=>s=>{const a=Object.keys(t).map((t=>(0,n.E3)("st",t)));return class extends s{static get observedAttributes(){return[...s.observedAttributes||[],...a]}static get cssVarList(){return(0,o.SP)(s.componentName,{...t,...e})}#t=null;constructor(){super(),this.#e(),this.#s()}#s(){this.#t=document.createElement("style"),this.#t.id="style-mixin-overrides",this.#t.innerText="* {}",this.shadowRoot.prepend(this.#t)}#n(t,e){const o=this.#t.sheet?.cssRules[0].style,a=(0,n.Tk)(s.componentName,t.replace(/^st-/,""));e?o?.setProperty(a,e):o?.removeProperty(a)}#e(){const e=document.createElement("style");e.id="style-mixin-component",e.innerHTML=(0,o.wj)(s.componentName,this.baseSelector,t),this.shadowRoot.prepend(e)}#o(){const t=this.shadowRoot.host.getRootNode(),n=`${s.componentName}-style-mixin-component`,a=s.componentName;if(this.shadowRoot.host.classList.add(a),t.querySelector(`style#${n}`))return;const i=document.createElement("style");i.id=n,i.innerHTML=(0,o.wj)(s.componentName,`${s.componentName}${Array(3).fill(`.${a}`).join("")}`,e),"#document"===t.nodeName?t.head.append(i):t.append(i)}attributeChangedCallback(t,e,s){super.attributeChangedCallback?.(t,e,s),a.includes(t)&&this.#n(t,s)}connectedCallback(){super.connectedCallback?.(),this.shadowRoot.isConnected&&(this.#o(),Array.from(this.attributes).forEach((t=>{a.includes(t.nodeName)&&this.#n(t.nodeName,t.value)})))}}},i=t=>class extends t{#t=null;static get observedAttributes(){return[...t.observedAttributes||[],"draggable"]}constructor(){super(),this.#t=document.createElement("style"),this.#t.innerText=`${this.baseSelector} { cursor: inherit }`}#a(t){t?this.shadowRoot.appendChild(this.#t):this.#t.remove()}attributeChangedCallback(t,e,s){super.attributeChangedCallback?.(t,e,s),"draggable"===t&&this.#a("true"===s)}};var r=s(8522),l=s(893),c=s(9201);const h=({componentName:t,wrappedEleName:e,slots:s=[],style:n,excludeAttrsSync:o=[]})=>{const a=`\n\t\t<style id="create-proxy"></style>\n\t\t<${e}>\n\t\t<slot></slot>\n\t\t${s.map((t=>`<slot name="${t}" slot="${t}"></slot>`)).join("")}\n\t\t</${e}>\n\t`;class i extends r.V{static get componentName(){return t}constructor(){super().attachShadow({mode:"open"}).innerHTML=a,this.hostElement=this.shadowRoot.host,this.baseSelector=e,this.shadowRoot.getElementById("create-proxy").innerHTML="function"==typeof n?n():n}connectedCallback(){this.shadowRoot.isConnected&&(this.proxyElement=this.shadowRoot.querySelector(e),this.setAttribute("tabindex","0"),this.addEventListener("focus",(()=>{this.proxyElement.focus()})),this.proxyElement.onkeydown=t=>{t.shiftKey&&9===t.keyCode&&(this.removeAttribute("tabindex"),setTimeout((()=>this.setAttribute("tabindex","0")),0))},this.addEventListener=(...t)=>this.proxyElement.addEventListener(...t),(0,c.t)(this.proxyElement,this.hostElement,{excludeAttrs:o}))}disconnectedCallback(){this.proxyElement.removeEventListener("mouseover",this.mouseoverCbRef)}attributeChangedCallback(){this.proxyElement}}return y((0,l._)())(i)},d=["invalid","has-error-message"],u=t=>class extends t{static get formAssociated(){return!0}#i;constructor(){super(),this.#i=this.attachInternals()}formAssociatedCallback(){this.setValidity?.()}setValidationAttribute(t){const e=this.getAttribute(t);e&&this.proxyElement.setAttribute("error-message",e),d.forEach((t=>this.proxyElement.setAttribute(t,"true")))}validate(){const{valueMissing:t,patternMismatch:e,typeMismatch:s}=this.validity;t?this.setValidationAttribute("data-errormessage-value-missing"):(s||e)&&this.setValidationAttribute("data-errormessage-pattern-mismatch")}connectedCallback(){if(super.connectedCallback?.(),this.baseEle=this.shadowRoot.querySelector(this.baseSelector),this.hasAttribute("tabindex")||this.setAttribute("tabindex",0),this.inputElement??=this.baseEle.shadowRoot.querySelector('slot[name="input"]')?.assignedElements()[0]||this.baseEle.shadowRoot.querySelector('slot[name="textarea"]')?.assignedElements()[0],!this.inputElement)throw Error("no input was found");var t,e;t=this.inputElement,e="value",Object.defineProperty(this,e,{set:function(s){return t[e]=s},get:function(){return t[e]},configurable:!0}),this.setSelectionRange=this.inputElement.setSelectionRange?.bind(this.inputElement),this.validity=this.inputElement.validity,this.setValidity=()=>{this.#i.setValidity(this.inputElement.validity,this.inputElement.validationMessage)},this.inputElement.oninput=()=>{this.value=this.inputElement.value,this.setValidity()},this.onfocus=()=>{setTimeout((()=>this.inputElement.reportValidity()),0),this.validate()},this.inputElement.oninvalid=()=>{this.validate()}}},m=t=>class extends t{#r(){const e=this.shadowRoot.host.tagName.toLowerCase();if(!t.componentName)throw Error('component name is not defined on super class, make sure you have a static get for "componentName"');if(e!==t.componentName)throw Error(`component name mismatch, expected "${t.componentName}", current "${e}"`)}connectedCallback(){super.connectedCallback?.(),this.shadowRoot.isConnected&&this.#r()}},p=t=>(0,n.E3)("descope",t),y=(...t)=>e=>t.reduceRight(((t,e)=>e(t)),e)},6225:(t,e,s)=>{s.d(e,{E3:()=>o,GL:()=>n,Tk:()=>a});const n=t=>t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_.]+/g,"-").toLowerCase(),o=(...t)=>n(t.join("-")),a=(...t)=>`--${o(...t.filter((t=>!!t)))}`}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[832],{8522:(t,e,s)=>{s.d(e,{V:()=>n});class n extends HTMLElement{}},9201:(t,e,s)=>{s.d(e,{Db:()=>a,oP:()=>i,tg:()=>r});const n=(t,e,{excludeAttrs:s=[],includeAttrs:n=[]})=>{e(...Array.from(t.attributes).filter((t=>!s.includes(t.name)&&(!n.length||n.includes(t.name)))).map((t=>t.name))),new MutationObserver((t=>{for(const o of t)"attributes"!==o.type||s.includes(o.attributeName)||n.length&&!n.includes(o.attributeName)||e([o.attributeName])})).observe(t,{attributes:!0})},o=(t,e,s={})=>(...n)=>{n.forEach((n=>{const o=s[n]||n,r=t.getAttribute(n);null!==r?e.getAttribute(o)!==r&&e.setAttribute(o,r):e.removeAttribute(o)}))},r=(t,e,s)=>{n(t,o(t,e),s),n(e,o(e,t),s)},i=(t,e,s={})=>{n(t,o(t,e,s.mapAttrs),s)},a=(t,e,s=[])=>{if(!s.length)return;const n=s.reduce(((t,s)=>Object.assign(t,{[s]:{get:()=>e[s],set(t){e[s]=t}}})),{});Object.defineProperties(t,n)}},3535:(t,e,s)=>{s.d(e,{SP:()=>a,wj:()=>i,zy:()=>l});var n=s(6225);const o=(t,...e)=>`var(${t}${e.length?` , ${o(...e)}`:""})`;class r{constructor(){this.styleMap=new Map}add(t,e,s){this.styleMap.has(t)||this.styleMap.set(t,[]),this.styleMap.set(t,[...this.styleMap.get(t),{property:e,value:s}])}toString(){return Array.from(this.styleMap.entries()).reduce(((t,[e,s])=>t+`${e} { \n${s.map((({property:t,value:e})=>`${t}: ${e}`)).join(";\n")} \n}\n\n`),"")}}const i=(t,e,s)=>{const i=new r;return Object.keys(s).forEach((r=>{const a=((t,e)=>{const s={selector:"",property:(0,n.GL)(t)};return e&&Object.keys(e).length?Array.isArray(e)?e.map((t=>Object.assign({},s,t))):[Object.assign({},s,e)]:[s]})(r,s[r]),l=(0,n.Tk)(t,r);a.forEach((({selector:t,property:s})=>{i.add(((t="",e="")=>"function"==typeof e?e(t):`${t}${/^[A-Za-z]/.test(e)?` ${e}`:e}`)(e,t),s,o(l))}))})),i.toString()},a=(t,e)=>Object.keys(e).reduce(((e,s)=>Object.assign(e,{[s]:(0,n.Tk)(t,s)})),{}),l=(t={})=>[t,{...t,selector:()=>`:host${t.selector||""}`}]},893:(t,e,s)=>{s.d(e,{_:()=>n});const n=(t="")=>e=>class extends e{connectedCallback(){super.connectedCallback?.(),this.shadowRoot.querySelector(this.baseSelector+t).addEventListener("mouseover",(t=>{this.shadowRoot.host.setAttribute("hover","true"),t.target.addEventListener("mouseleave",(()=>this.shadowRoot.host.removeAttribute("hover")),{once:!0})}))}}},832:(t,e,s)=>{s.d(e,{Ae:()=>m,qC:()=>y,DM:()=>h,yk:()=>r,e4:()=>i,iY:()=>p,y7:()=>u});var n=s(6225),o=s(3535);const r=({mappings:t={},nestedMappings:e={}})=>s=>{const r=Object.keys(t).map((t=>(0,n.E3)("st",t)));return class extends s{static get observedAttributes(){return[...s.observedAttributes||[],...r]}static get cssVarList(){return(0,o.SP)(s.componentName,{...t,...e})}#t=null;constructor(){super(),this.#e(),this.#s()}#s(){this.#t=document.createElement("style"),this.#t.id="style-mixin-overrides",this.#t.innerText="* {}",this.shadowRoot.prepend(this.#t)}#n(t,e){const o=this.#t.sheet?.cssRules[0].style,r=(0,n.Tk)(s.componentName,t.replace(/^st-/,""));e?o?.setProperty(r,e):o?.removeProperty(r)}#e(){const e=document.createElement("style");e.id="style-mixin-component",e.innerHTML=(0,o.wj)(s.componentName,this.baseSelector,t),this.shadowRoot.prepend(e)}#o(){const t=this.shadowRoot.host.getRootNode(),n=`${s.componentName}-style-mixin-component`,r=s.componentName;if(this.shadowRoot.host.classList.add(r),t.querySelector(`style#${n}`))return;const i=document.createElement("style");i.id=n,i.innerHTML=(0,o.wj)(s.componentName,`${s.componentName}${Array(3).fill(`.${r}`).join("")}`,e),"#document"===t.nodeName?t.head.append(i):t.append(i)}attributeChangedCallback(t,e,s){super.attributeChangedCallback?.(t,e,s),r.includes(t)&&this.#n(t,s)}connectedCallback(){super.connectedCallback?.(),this.shadowRoot.isConnected&&(this.#o(),Array.from(this.attributes).forEach((t=>{r.includes(t.nodeName)&&this.#n(t.nodeName,t.value)})))}}},i=t=>class extends t{#t=null;static get observedAttributes(){return[...t.observedAttributes||[],"draggable"]}constructor(){super(),this.#t=document.createElement("style"),this.#t.innerText=`${this.baseSelector} { cursor: inherit }`}#r(t){t?this.shadowRoot.appendChild(this.#t):this.#t.remove()}attributeChangedCallback(t,e,s){super.attributeChangedCallback?.(t,e,s),"draggable"===t&&this.#r("true"===s)}};var a=s(8522),l=s(893),c=s(9201);const h=({componentName:t,wrappedEleName:e,slots:s=[],style:n,excludeAttrsSync:o=[],includeAttrsSync:r=[],includeForwardProps:i=[]})=>{const h=`\n\t\t<style id="create-proxy"></style>\n\t\t<${e}>\n\t\t<slot></slot>\n\t\t${s.map((t=>`<slot name="${t}" slot="${t}"></slot>`)).join("")}\n\t\t</${e}>\n\t`;class d extends a.V{static get componentName(){return t}constructor(){super().attachShadow({mode:"open"}).innerHTML=h,this.hostElement=this.shadowRoot.host,this.baseSelector=e,this.shadowRoot.getElementById("create-proxy").innerHTML="function"==typeof n?n():n}connectedCallback(){this.shadowRoot.isConnected&&(this.proxyElement=this.shadowRoot.querySelector(e),(0,c.Db)(this.hostElement,this.proxyElement,i),this.setAttribute("tabindex","0"),this.addEventListener("focus",(()=>{this.proxyElement.focus()})),this.proxyElement.onkeydown=t=>{t.shiftKey&&9===t.keyCode&&(this.removeAttribute("tabindex"),setTimeout((()=>this.setAttribute("tabindex","0")),0))},this.addEventListener=(...t)=>this.proxyElement.addEventListener(...t),(0,c.tg)(this.proxyElement,this.hostElement,{excludeAttrs:o,includeAttrs:r}))}disconnectedCallback(){this.proxyElement.removeEventListener("mouseover",this.mouseoverCbRef)}attributeChangedCallback(){this.proxyElement}}return y((0,l._)())(d)},d=["invalid","has-error-message"],u=t=>class extends t{static get formAssociated(){return!0}#i;constructor(){super(),this.#i=this.attachInternals()}formAssociatedCallback(){this.setValidity?.()}setValidationAttribute(t){const e=this.getAttribute(t);e&&this.proxyElement.setAttribute("error-message",e),d.forEach((t=>this.proxyElement.setAttribute(t,"true")))}validate(){const{valueMissing:t,patternMismatch:e,typeMismatch:s}=this.validity;t?this.setValidationAttribute("data-errormessage-value-missing"):(s||e)&&this.setValidationAttribute("data-errormessage-pattern-mismatch")}connectedCallback(){if(super.connectedCallback?.(),this.baseEle=this.shadowRoot.querySelector(this.baseSelector),this.hasAttribute("tabindex")||this.setAttribute("tabindex",0),this.inputElement??=this.baseEle.shadowRoot.querySelector('slot[name="input"]')?.assignedElements()[0]||this.baseEle.shadowRoot.querySelector('slot[name="textarea"]')?.assignedElements()[0],!this.inputElement)throw Error("no input was found");var t,e;t=this.inputElement,e="value",Object.defineProperty(this,e,{set:function(s){return t[e]=s},get:function(){return t[e]},configurable:!0}),this.setSelectionRange=this.inputElement.setSelectionRange?.bind(this.inputElement),this.validity=this.inputElement.validity,this.setValidity=()=>{this.#i.setValidity(this.inputElement.validity,this.inputElement.validationMessage)},this.inputElement.oninput=()=>{this.value=this.inputElement.value,this.setValidity()},this.onfocus=()=>{setTimeout((()=>this.inputElement.reportValidity()),0),this.validate()},this.inputElement.oninvalid=()=>{this.validate()}}},m=t=>class extends t{#a(){const e=this.shadowRoot.host.tagName.toLowerCase();if(!t.componentName)throw Error('component name is not defined on super class, make sure you have a static get for "componentName"');if(e!==t.componentName)throw Error(`component name mismatch, expected "${t.componentName}", current "${e}"`)}connectedCallback(){super.connectedCallback?.(),this.shadowRoot.isConnected&&this.#a()}},p=t=>(0,n.E3)("descope",t),y=(...t)=>e=>t.reduceRight(((t,e)=>e(t)),e)},6225:(t,e,s)=>{s.d(e,{E3:()=>o,GL:()=>n,Tk:()=>r});const n=t=>t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_.]+/g,"-").toLowerCase(),o=(...t)=>n(t.join("-")),r=(...t)=>`--${o(...t.filter((t=>!!t)))}`}}]);
package/dist/umd/942.js CHANGED
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[942],{4942:(o,t,s)=>{s.d(t,{s:()=>c});var e=s(9201);const h=(o,t)=>{t.append(...o.childNodes),o.appendChild(t)},c=({nestingElementTagName:o,nestingElementDestSlotName:t,forwardAttrOptions:s})=>c=>{const d=()=>Object.assign(document.createElement(o),{slot:t});let i;const a=()=>i;return class extends c{constructor(){var t;super(),t=()=>{a().disconnect(this.shadowRoot.host);const t=this.shadowRoot.host.querySelector(o),c=this.shadowRoot.host.childNodes.length>0;!t&&c?h(this.shadowRoot.host,d()):t&&c?(this.shadowRoot.host.querySelector(child).remove(),h(this.shadowRoot.host,d())):t&&!c&&this.shadowRoot.host.querySelector(child).remove(),this.shadowRoot.host.querySelector(o)&&(0,e.o)(this.shadowRoot.host,this.shadowRoot.host.querySelector(o),s),a().observe(this.shadowRoot.host,{childList:!0})},i=new MutationObserver((o=>{for(const s of o)"childList"===s.type&&t()}))}connectedCallback(){super.connectedCallback?.(),this.shadowRoot.host.childNodes.length>0&&(h(this.shadowRoot.host,d()),(0,e.o)(this.shadowRoot.host,this.shadowRoot.host.querySelector(o),s)),a().observe(this.shadowRoot.host,{childList:!0})}}}}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[942],{4942:(o,t,s)=>{s.d(t,{s:()=>c});var e=s(9201);const h=(o,t)=>{t.append(...o.childNodes),o.appendChild(t)},c=({nestingElementTagName:o,nestingElementDestSlotName:t,forwardAttrOptions:s})=>c=>{const d=()=>Object.assign(document.createElement(o),{slot:t});let i;const a=()=>i;return class extends c{constructor(){var t;super(),t=()=>{a().disconnect(this.shadowRoot.host);const t=this.shadowRoot.host.querySelector(o),c=this.shadowRoot.host.childNodes.length>0;!t&&c?h(this.shadowRoot.host,d()):t&&c?(this.shadowRoot.host.querySelector(child).remove(),h(this.shadowRoot.host,d())):t&&!c&&this.shadowRoot.host.querySelector(child).remove(),this.shadowRoot.host.querySelector(o)&&(0,e.oP)(this.shadowRoot.host,this.shadowRoot.host.querySelector(o),s),a().observe(this.shadowRoot.host,{childList:!0})},i=new MutationObserver((o=>{for(const s of o)"childList"===s.type&&t()}))}connectedCallback(){super.connectedCallback?.(),this.shadowRoot.host.childNodes.length>0&&(h(this.shadowRoot.host,d()),(0,e.oP)(this.shadowRoot.host,this.shadowRoot.host.querySelector(o),s)),a().observe(this.shadowRoot.host,{childList:!0})}}}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[58],{8029:(t,e,o)=>{o.r(e),o.d(e,{Link:()=>m});var n=o(832),s=o(9201),r=o(3535),a=o(4942),c=o(893),l=o(8522),i=o(8801);const d=(0,n.iY)("link");class p extends l.V{static get componentName(){return d}constructor(){super();const t=document.createElement("template");t.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',this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(t.content.cloneNode(!0)),(0,s.o)(this.shadowRoot.host,this.shadowRoot.querySelector("a"),{includeAttrs:["href","target","tooltip"],mapAttrs:{tooltip:"title"}}),this.baseSelector=":host > div"}}const{anchor:h}={anchor:{selector:"> a"}},m=(0,n.qC)((0,a.s)({nestingElementTagName:"descope-text",nestingElementDestSlotName:"text",forwardAttrOptions:{includeAttrs:["variant","italic","uppercase","lowercase"]}}),(0,n.yk)({mappings:{width:(0,r.zy)(),textAlign:{},color:h,cursor:h,borderBottomWidth:h,borderBottomStyle:h,borderBottomColor:h},nestedMappings:{color:{selector:i.Z.componentName,property:i.Z.cssVarList.color}}}),(0,c._)(h.selector),n.e4,n.Ae)(p);o(1876),customElements.define(d,m)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[58],{8029:(t,e,o)=>{o.r(e),o.d(e,{Link:()=>m});var n=o(832),s=o(9201),r=o(3535),a=o(4942),c=o(893),l=o(8522),i=o(8801);const d=(0,n.iY)("link");class p extends l.V{static get componentName(){return d}constructor(){super();const t=document.createElement("template");t.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',this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(t.content.cloneNode(!0)),(0,s.oP)(this.shadowRoot.host,this.shadowRoot.querySelector("a"),{includeAttrs:["href","target","tooltip"],mapAttrs:{tooltip:"title"}}),this.baseSelector=":host > div"}}const{anchor:h}={anchor:{selector:"> a"}},m=(0,n.qC)((0,a.s)({nestingElementTagName:"descope-text",nestingElementDestSlotName:"text",forwardAttrOptions:{includeAttrs:["variant","italic","uppercase","lowercase"]}}),(0,n.yk)({mappings:{width:(0,r.zy)(),textAlign:{},color:h,cursor:h,borderBottomWidth:h,borderBottomStyle:h,borderBottomColor:h},nestedMappings:{color:{selector:i.Z.componentName,property:i.Z.cssVarList.color}}}),(0,c._)(h.selector),n.e4,n.Ae)(p);o(1876),customElements.define(d,m)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[841],{7361:(t,e,i)=>{i.d(e,{f:()=>r,Z:()=>u});var s=i(832);const n=t=>{t?.focus(),t?.setSelectionRange(1,1)},r=(0,s.iY)("passcode-internal");class a extends HTMLElement{static get observedAttributes(){return["disabled","bordered","size"]}static get componentName(){return r}static get formAssociated(){return!0}#t;constructor(){super();const t=document.createElement("template"),e=[...Array(this.digits).keys()].map((t=>`\n\t\t<descope-text-field\n\t\t\tst-width="35px"\n\t\t\tdata-id=${t}\n\t\t\ttype="tel"\n\t\t\tautocomplete="none"\n\t\t></descope-text-field>\n\t`));t.innerHTML=`\n\t\t<div>\n\t\t\t${e.join("")}\n\t\t</div>\n\t\t`,this.appendChild(t.content.cloneNode(!0)),this.baseSelector=":host > div",this.#t=this.attachInternals(),this.inputs=Array.from(this.querySelectorAll("descope-text-field"))}checkValidity(){return this.#t.validity.valid?this.inputs.forEach((t=>t.removeAttribute("has-error-message"))):(this.inputs.forEach((t=>t.setAttribute("has-error-message","true"))),this.oninvalid?.()),this.#t.validity.valid}get digits(){return Number.parseInt(this.getAttribute("digits"))||6}get value(){return this.inputs.map((({value:t})=>t)).join("")}set value(t){}get isRequired(){return this.hasAttribute("required")&&"false"!==this.getAttribute("required")}get pattern(){return`^$|^\\d{${this.digits},}$`}get valueMissingErrMsg(){return"Please fill out this field."}get patternMismatchErrMsg(){return`Must be a ${this.digits} digits number.`}get validity(){return this.#t.validity}get validationMessage(){return this.#t.validationMessage}reportValidity(){this.#t.reportValidity()}formAssociatedCallback(){this.setValidity?.()}setValidity=()=>{this.isRequired&&!this.value?this.#t.setValidity({valueMissing:!0},this.valueMissingErrMsg):this.pattern&&!new RegExp(this.pattern).test(this.value)?this.#t.setValidity({patternMismatch:!0},this.patternMismatchErrMsg):this.#t.setValidity({})};async connectedCallback(){this.setValidity(),this.initInputs(),this.onfocus=()=>{this.inputs[0].focus()}}getInputIdx(t){return Number.parseInt(t.getAttribute("data-id"),10)}getNextInput(t){const e=this.getInputIdx(t),i=Math.min(e+1,this.inputs.length-1);return this.inputs[i]}getPrevInput(t){const e=this.getInputIdx(t),i=Math.max(e-1,0);return this.inputs[i]}fillDigits(t,e){for(let i=0;i<t.length;i+=1){e.value=t[i]??"";const s=this.getNextInput(e);if(s===e)break;e=s}!e.hasAttribute("focused")&&n(e)}initInputs(){this.inputs.forEach((t=>{t.addEventListener("blur",(()=>{const t=setTimeout((()=>{this.dispatchEvent(new Event("blur"))}));this.inputs.forEach((e=>e.addEventListener("focus",(()=>clearTimeout(t)),{once:!0})))})),t.oninput=e=>{const i=(t=>{const e=t.replace(/\s/g,"");return e.match(/^\d+$/)?[...e]:[]})(t.value);i.length?this.fillDigits(i,t):t.value="",this.setValidity()},t.onkeydown=({key:e})=>{if("Backspace"===e){t.value="";const e=this.getPrevInput(t);!e.hasAttribute("focused")&&setTimeout((()=>{n(e)}))}else e.match(/^(\d)$/g)&&(t.value="");this.setValidity()}}))}attributeChangedCallback(t,e,i){e!==i&&a.observedAttributes.includes(t)&&this.inputs.forEach((e=>e.setAttribute(t,i)))}}const u=a},4775:(t,e,i)=>{i.r(e);var s=i(7361);customElements.define(s.f,s.Z)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[841],{7361:(t,e,i)=>{i.d(e,{f:()=>r,Z:()=>u});var s=i(832);const n=t=>{t?.focus(),t?.setSelectionRange(1,1)},r=(0,s.iY)("passcode-internal");class a extends HTMLElement{static get observedAttributes(){return["disabled","bordered","size","required","pattern"]}static get componentName(){return r}static get formAssociated(){return!0}#t;constructor(){super();const t=document.createElement("template"),e=[...Array(this.digits).keys()].map((t=>`\n\t\t<descope-text-field\n\t\t\tst-width="35px"\n\t\t\tdata-id=${t}\n\t\t\ttype="tel"\n\t\t\tautocomplete="none"\n\t\t></descope-text-field>\n\t`));t.innerHTML=`\n\t\t<div>\n\t\t\t${e.join("")}\n\t\t</div>\n\t\t`,this.appendChild(t.content.cloneNode(!0)),this.baseSelector=":host > div",this.#t=this.attachInternals(),this.inputs=Array.from(this.querySelectorAll("descope-text-field"))}checkValidity(){return this.#t.validity.valid?this.inputs.forEach((t=>t.removeAttribute("has-error-message"))):(this.inputs.forEach((t=>t.setAttribute("has-error-message","true"))),this.oninvalid?.()),this.#t.validity.valid}get digits(){return Number.parseInt(this.getAttribute("digits"))||6}get value(){return this.inputs.map((({value:t})=>t)).join("")}set value(t){}get isRequired(){return this.hasAttribute("required")&&"false"!==this.getAttribute("required")}get pattern(){return`^$|^\\d{${this.digits},}$`}get valueMissingErrMsg(){return"Please fill out this field."}get patternMismatchErrMsg(){return`Must be a ${this.digits} digits number.`}get validity(){return this.#t.validity}get validationMessage(){return this.#t.validationMessage}reportValidity(){this.#t.reportValidity()}formAssociatedCallback(){this.setValidity?.()}setValidity=()=>{this.isRequired&&!this.value?this.#t.setValidity({valueMissing:!0},this.valueMissingErrMsg):this.pattern&&!new RegExp(this.pattern).test(this.value)?this.#t.setValidity({patternMismatch:!0},this.patternMismatchErrMsg):this.#t.setValidity({})};async connectedCallback(){this.setValidity(),this.initInputs(),this.onfocus=()=>{this.inputs[0].focus()}}getInputIdx(t){return Number.parseInt(t.getAttribute("data-id"),10)}getNextInput(t){const e=this.getInputIdx(t),i=Math.min(e+1,this.inputs.length-1);return this.inputs[i]}getPrevInput(t){const e=this.getInputIdx(t),i=Math.max(e-1,0);return this.inputs[i]}fillDigits(t,e){for(let i=0;i<t.length;i+=1){e.value=t[i]??"";const s=this.getNextInput(e);if(s===e)break;e=s}!e.hasAttribute("focused")&&n(e)}initInputs(){this.inputs.forEach((t=>{t.addEventListener("blur",(()=>{const t=setTimeout((()=>{this.dispatchEvent(new Event("blur"))}));this.inputs.forEach((e=>e.addEventListener("focus",(()=>clearTimeout(t)),{once:!0})))})),t.oninput=e=>{const i=(t=>{const e=t.replace(/\s/g,"");return e.match(/^\d+$/)?[...e]:[]})(t.value);i.length?this.fillDigits(i,t):t.value="",this.setValidity()},t.onkeydown=({key:e})=>{if("Backspace"===e){t.value="";const e=this.getPrevInput(t);!e.hasAttribute("focused")&&setTimeout((()=>{n(e)}))}else e.match(/^(\d)$/g)&&(t.value="");this.setValidity()}}))}attributeChangedCallback(t,e,i){e!==i&&(["required","pattern"].includes(t)?this.setValidity():a.observedAttributes.includes(t)&&this.inputs.forEach((e=>e.setAttribute(t,i))))}}const u=a},4775:(t,e,i)=>{i.r(e);var s=i(7361);customElements.define(s.f,s.Z)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[939],{7102:(t,e,n)=>{n.r(e);var i=n(832),a=n(4447),r=n(9063),o=n(7361);const d=(0,i.iY)("passcode"),{borderStyle:s,borderWidth:l,...p}=a.Z,c=(0,i.qC)((0,i.yk)({mappings:{...p},nestedMappings:{borderColor:{selector:r.Z.componentName,property:r.Z.cssVarList.borderColor}}}),i.e4,i.y7,i.Ae,(t=>class extends t{constructor(){super()}get digits(){return Number.parseInt(this.getAttribute("digits"))||6}connectedCallback(){super.connectedCallback?.();const t=document.createElement("template");t.innerHTML=`\n <${o.f} \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 ></${o.f}>\n `;const e=Object.assign(document.createElement("slot"),{name:"input",slot:"input",part:"input"});this.proxyElement.appendChild(e),this.proxyElement._setFocused=()=>{},this.shadowRoot.host.appendChild(t.content.cloneNode(!0)),this.inputElement=this.querySelector(o.f),this.inputElement.addEventListener("blur",(()=>{this.proxyElement.validate()}))}}))((0,i.DM)({slots:[],wrappedEleName:"vaadin-text-field",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 ${u}\n `,excludeAttrsSync:["tabindex"],componentName:d})),u=`\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(${c.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(${c.cssVarList.color});\n\t}\n\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`,f=c;n(9357),n(4775),customElements.define(d,f)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[939],{7102:(t,e,n)=>{n.r(e);var i=n(832),a=n(4447),d=n(9063),o=n(7361),r=n(9201);const s=(0,i.iY)("passcode"),{borderStyle:l,borderWidth:p,...c}=a.Z,u=(0,i.qC)((0,i.yk)({mappings:{...c},nestedMappings:{borderColor:{selector:d.Z.componentName,property:d.Z.cssVarList.borderColor}}}),i.e4,i.y7,i.Ae,(t=>class extends t{constructor(){super()}get digits(){return Number.parseInt(this.getAttribute("digits"))||6}connectedCallback(){super.connectedCallback?.();const t=document.createElement("template");t.innerHTML=`\n <${o.f} \n bordered="true" \n name="code" \n tabindex="0"\n slot="input"\n ></${o.f}>\n `;const e=Object.assign(document.createElement("slot"),{name:"input",slot:"input",part:"input"});this.proxyElement.appendChild(e),this.proxyElement._setFocused=()=>{},this.shadowRoot.host.appendChild(t.content.cloneNode(!0)),this.inputElement=this.querySelector(o.f),(0,r.oP)(this.shadowRoot.host,this.inputElement,{includeAttrs:["required","pattern"]}),this.inputElement.addEventListener("blur",(()=>{this.proxyElement.validate()}))}}))((0,i.DM)({slots:[],wrappedEleName:"vaadin-text-field",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 ${f}\n `,excludeAttrsSync:["tabindex"],componentName:s})),f=`\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(${u.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(${u.cssVarList.color});\n\t}\n\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`,h=u;n(9357),n(4775),customElements.define(s,h)}}]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/web-components-ui",
3
- "version": "1.0.59",
3
+ "version": "1.0.60",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -12,6 +12,7 @@ import textFieldMappings from '../descope-text-field/textFieldMappings';
12
12
  export const componentName = getComponentName('passcode');
13
13
  import TextField from '../descope-text-field/TextField';
14
14
  import { componentName as descopeInternalComponentName } from './descope-passcode-internal/PasscodeInternal';
15
+ import { forwardAttrs } from '../../componentsHelpers/createProxy/helpers';
15
16
 
16
17
  const customMixin = (superclass) =>
17
18
  class DraggableMixinClass extends superclass {
@@ -27,15 +28,12 @@ const customMixin = (superclass) =>
27
28
  super.connectedCallback?.();
28
29
  const template = document.createElement('template');
29
30
 
30
- //forward required & pattern TODO use forwardAttrs
31
31
  template.innerHTML = `
32
32
  <${descopeInternalComponentName}
33
33
  bordered="true"
34
34
  name="code"
35
35
  tabindex="0"
36
36
  slot="input"
37
- required="${this.shadowRoot.host.getAttribute('required')}"
38
- pattern="${this.shadowRoot.host.getAttribute('pattern')}"
39
37
  ></${descopeInternalComponentName}>
40
38
  `;
41
39
 
@@ -49,11 +47,13 @@ const customMixin = (superclass) =>
49
47
 
50
48
  // we want to control when the element is out of focus
51
49
  // so the validations will be triggered blur event is dispatched from descope-passcode internal (and not every time focusing a digit)
52
- this.proxyElement._setFocused = () => {};
50
+ this.proxyElement._setFocused = () => { };
53
51
 
54
52
  this.shadowRoot.host.appendChild(template.content.cloneNode(true));
55
53
  this.inputElement = this.querySelector(descopeInternalComponentName);
56
54
 
55
+ forwardAttrs(this.shadowRoot.host, this.inputElement, { includeAttrs: ['required', 'pattern'] })
56
+
57
57
  // we want to trigger validation only when dispatching a blur event from the descope-passcode-internal
58
58
  this.inputElement.addEventListener('blur', () => {
59
59
  this.proxyElement.validate();
@@ -8,7 +8,9 @@ class PasscodeInternal extends HTMLElement {
8
8
  return [
9
9
  'disabled',
10
10
  'bordered',
11
- 'size'
11
+ 'size',
12
+ 'required',
13
+ 'pattern'
12
14
  ];
13
15
  }
14
16
 
@@ -202,9 +204,15 @@ class PasscodeInternal extends HTMLElement {
202
204
  oldValue,
203
205
  newValue
204
206
  ) {
205
- if (oldValue !== newValue &&
206
- PasscodeInternal.observedAttributes.includes(attrName)) {
207
- this.inputs.forEach((input) => input.setAttribute(attrName, newValue))
207
+ const validationRelatedAttributes = ['required', 'pattern'];
208
+
209
+ if (oldValue !== newValue) {
210
+ if (validationRelatedAttributes.includes(attrName)) {
211
+ this.setValidity()
212
+ }
213
+ else if (PasscodeInternal.observedAttributes.includes(attrName)) {
214
+ this.inputs.forEach((input) => input.setAttribute(attrName, newValue))
215
+ }
208
216
  }
209
217
  }
210
218
  }
@@ -57,3 +57,18 @@ export const forwardAttrs = (source, dest, options = {}) => {
57
57
  options
58
58
  );
59
59
  };
60
+
61
+ export const forwardProps = (src, target, props = []) => {
62
+ if(!props.length) return;
63
+
64
+ const config = props.reduce((acc, prop) => Object.assign(acc, {[prop] : {
65
+ get () {
66
+ return target[prop]
67
+ },
68
+ set (v) {
69
+ target[prop] = v
70
+ }
71
+ }}), {})
72
+
73
+ Object.defineProperties(src, config)
74
+ }
@@ -1,14 +1,16 @@
1
1
  import { compose } from '..';
2
2
  import { DescopeBaseClass } from '../../components/DescopeBaseClass';
3
3
  import { hoverableMixin } from '../hoverableMixin';
4
- import { syncAttrs } from './helpers';
4
+ import { syncAttrs, forwardProps } from './helpers';
5
5
 
6
6
  export const createProxy = ({
7
7
  componentName,
8
8
  wrappedEleName,
9
9
  slots = [],
10
10
  style,
11
- excludeAttrsSync = []
11
+ excludeAttrsSync = [],
12
+ includeAttrsSync = [],
13
+ includeForwardProps = []
12
14
  }) => {
13
15
  const template = `
14
16
  <style id="create-proxy"></style>
@@ -34,6 +36,10 @@ export const createProxy = ({
34
36
  connectedCallback() {
35
37
  if (this.shadowRoot.isConnected) {
36
38
  this.proxyElement = this.shadowRoot.querySelector(wrappedEleName);
39
+
40
+ // this is needed for components that uses props, such as combo box
41
+ forwardProps(this.hostElement, this.proxyElement, includeForwardProps)
42
+
37
43
  this.setAttribute('tabindex', '0');
38
44
 
39
45
  // we want to focus on the proxy element when focusing our WC
@@ -58,7 +64,8 @@ export const createProxy = ({
58
64
  this.proxyElement.addEventListener(...args);
59
65
 
60
66
  syncAttrs(this.proxyElement, this.hostElement, {
61
- excludeAttrs: excludeAttrsSync
67
+ excludeAttrs: excludeAttrsSync,
68
+ includeAttrs: includeAttrsSync
62
69
  });
63
70
  }
64
71
  }