@descope/web-components-ui 1.0.51 → 1.0.53

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. package/dist/index.esm.js +774 -377
  2. package/dist/index.esm.js.map +1 -1
  3. package/dist/umd/832.js +1 -0
  4. package/dist/umd/descope-button-index-js.js +1 -1
  5. package/dist/umd/descope-checkbox-index-js.js +1 -1
  6. package/dist/umd/descope-combo-index-js.js +1 -1
  7. package/dist/umd/descope-container-index-js.js +1 -1
  8. package/dist/umd/descope-date-picker-index-js.js +1 -1
  9. package/dist/umd/descope-divider-index-js.js +1 -0
  10. package/dist/umd/descope-email-field-index-js.js +1 -1
  11. package/dist/umd/descope-logo-index-js.js +1 -1
  12. package/dist/umd/descope-number-field-index-js.js +1 -1
  13. package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js +1 -0
  14. package/dist/umd/descope-passcode-index-js.js +1 -0
  15. package/dist/umd/descope-password-field-index-js.js +1 -1
  16. package/dist/umd/descope-switch-toggle-index-js.js +1 -1
  17. package/dist/umd/descope-text-area-index-js.js +1 -1
  18. package/dist/umd/descope-text-field-index-js.js +1 -1
  19. package/dist/umd/descope-text-index-js.js +1 -1
  20. package/dist/umd/index.js +1 -1
  21. package/package.json +1 -1
  22. package/src/components/DescopeBaseClass.js +1 -0
  23. package/src/components/descope-button/Button.js +0 -1
  24. package/src/components/descope-combo/index.js +2 -1
  25. package/src/components/descope-container/Container.js +14 -6
  26. package/src/components/descope-divider/Divider.js +85 -0
  27. package/src/components/descope-divider/index.js +6 -0
  28. package/src/components/descope-logo/Logo.js +5 -4
  29. package/src/components/descope-passcode/Passcode.js +141 -0
  30. package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +213 -0
  31. package/src/components/descope-passcode/descope-passcode-internal/helpers.js +14 -0
  32. package/src/components/descope-passcode/descope-passcode-internal/index.js +3 -0
  33. package/src/components/descope-passcode/index.js +5 -0
  34. package/src/components/descope-password-field/PasswordField.js +0 -1
  35. package/src/components/descope-text/Text.js +8 -1
  36. package/src/components/descope-text/index.js +0 -1
  37. package/src/componentsHelpers/createProxy/helpers.js +24 -7
  38. package/src/componentsHelpers/createProxy/index.js +8 -6
  39. package/src/componentsHelpers/createStyleMixin/index.js +103 -72
  40. package/src/componentsHelpers/enforceNestingElementsStylesMixin.js +95 -0
  41. package/src/componentsHelpers/inputMixin.js +13 -13
  42. package/src/index.js +3 -0
  43. package/src/theme/components/divider.js +24 -0
  44. package/src/theme/components/index.js +5 -1
  45. package/src/theme/components/passcode.js +8 -0
  46. package/src/theme/components/text.js +6 -0
  47. package/dist/umd/433.js +0 -1
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[832],{8522:(e,t,s)=>{s.d(t,{V:()=>n});class n extends HTMLElement{}},9201:(e,t,s)=>{s.d(t,{o:()=>r,t:()=>i});const n=(e,t,{excludeAttrs:s=[],includeAttrs:n=[]})=>{t(...Array.from(e.attributes).filter((e=>!s.includes(e.name)&&(!n.length||n.includes(e.name)))).map((e=>e.name))),new MutationObserver((e=>{for(const o of e)"attributes"!==o.type||s.includes(o.attributeName)||n.length&&!n.includes(attr.name)||t([o.attributeName])})).observe(e,{attributes:!0})},o=(e,t)=>(...s)=>{s.forEach((s=>{const n=e.getAttribute(s);null!==n?t.getAttribute(s)!==n&&t.setAttribute(s,n):t.removeAttribute(s)}))},i=(e,t,s)=>{n(e,o(e,t),s),n(t,o(t,e),s)},r=(e,t,s)=>{n(e,o(e,t),s)}},3535:(e,t,s)=>{s.d(t,{SP:()=>a,wj:()=>r,zy:()=>l});var n=s(6225);const o=(e,...t)=>`var(${e}${t.length?` , ${o(...t)}`:""})`;class i{constructor(){this.styleMap=new Map}add(e,t,s){this.styleMap.has(e)||this.styleMap.set(e,[]),this.styleMap.set(e,[...this.styleMap.get(e),{property:t,value:s}])}toString(){return Array.from(this.styleMap.entries()).reduce(((e,[t,s])=>e+`${t} { \n${s.map((({property:e,value:t})=>`${e}: ${t}`)).join(";\n")} \n}\n\n`),"")}}const r=(e,t,s)=>{const r=new i;return Object.keys(s).forEach((i=>{const a=((e,t)=>{const s={selector:"",property:(0,n.GL)(e)};return t&&Object.keys(t).length?Array.isArray(t)?t.map((e=>Object.assign({},s,e))):[Object.assign({},s,t)]:[s]})(i,s[i]),l=(0,n.Tk)(e,i);a.forEach((({selector:e,property:s})=>{r.add(((e="",t="")=>"function"==typeof t?t(e):`${e}${t}`)(t,e),s,o(l))}))})),r.toString()},a=(e,t)=>Object.keys(t).reduce(((t,s)=>Object.assign(t,{[s]:(0,n.Tk)(e,s)})),{}),l=(e={})=>[e,{...e,selector:()=>`:host${e.selector||""}`}]},832:(e,t,s)=>{s.d(t,{Ae:()=>u,qC:()=>p,DM:()=>c,yk:()=>i,e4:()=>r,iY:()=>m,y7:()=>d});var n=s(6225),o=s(3535);const i=({mappings:e={},nestedMappings:t={}})=>s=>{const i=Object.keys(e).map((e=>(0,n.E3)("st",e)));return class extends s{static get observedAttributes(){return[...s.observedAttributes||[],...i]}static get cssVarList(){return(0,o.SP)(s.componentName,e)}#e=null;constructor(){super(),this.#t(),this.#s()}#s(){this.#e=document.createElement("style"),this.#e.id="style-mixin-overrides",this.#e.innerText="* {}",this.shadowRoot.prepend(this.#e)}#n(e,t){const o=this.#e.sheet?.cssRules[0].style,i=(0,n.Tk)(s.componentName,e.replace(/^st-/,""));t?o?.setProperty(i,t):o?.removeProperty(i)}#t(){const t=document.createElement("style");t.id="style-mixin-component",t.innerHTML=(0,o.wj)(s.componentName,this.baseSelector,e),this.shadowRoot.prepend(t)}#o(){const e=this.shadowRoot.host.getRootNode(),n=`${s.componentName}-style-mixin-component`,i=s.componentName;if(this.shadowRoot.host.classList.add(i),e.querySelector(`style#${n}`))return;const r=document.createElement("style");r.id=n,r.innerHTML=(0,o.wj)(s.componentName,`${s.componentName}${Array(3).fill(`.${i}`).join("")}`,t),"#document"===e.nodeName?e.head.append(r):e.append(r)}attributeChangedCallback(e,t,s){super.attributeChangedCallback?.(e,t,s),i.includes(e)&&this.#n(e,s)}connectedCallback(){super.connectedCallback?.(),this.shadowRoot.isConnected&&(this.#o(),Array.from(this.attributes).forEach((e=>{i.includes(e.nodeName)&&this.#n(e.nodeName,e.value)})))}}},r=e=>class extends e{#e=null;static get observedAttributes(){return[...e.observedAttributes||[],"draggable"]}constructor(){super(),this.#e=document.createElement("style"),this.#e.innerText=`${this.baseSelector} { cursor: inherit }`}#i(e){e?this.shadowRoot.appendChild(this.#e):this.#e.remove()}attributeChangedCallback(e,t,s){super.attributeChangedCallback?.(e,t,s),"draggable"===e&&this.#i("true"===s)}};var a=s(8522),l=s(9201);const c=({componentName:e,wrappedEleName:t,slots:s=[],style:n,excludeAttrsSync:o=[]})=>{const i=`\n\t\t<style id="create-proxy"></style>\n\t\t<${t}>\n\t\t<slot></slot>\n\t\t${s.map((e=>`<slot name="${e}" slot="${e}"></slot>`)).join("")}\n\t\t</${t}>\n\t`;class r extends a.V{static get componentName(){return e}constructor(){super().attachShadow({mode:"open"}).innerHTML=i,this.hostElement=this.shadowRoot.host,this.baseSelector=t,this.shadowRoot.getElementById("create-proxy").innerHTML="function"==typeof n?n():n}connectedCallback(){this.shadowRoot.isConnected&&(this.proxyElement=this.shadowRoot.querySelector(t),this.setAttribute("tabindex","0"),this.addEventListener("focus",(()=>{this.proxyElement.focus()})),this.proxyElement.onkeydown=e=>{e.shiftKey&&9===e.keyCode&&(this.removeAttribute("tabindex"),setTimeout((()=>this.setAttribute("tabindex","0")),0))},this.mouseoverCbRef=()=>{this.proxyElement.setAttribute("hover",""),this.proxyElement.addEventListener("mouseleave",(()=>this.proxyElement.removeAttribute("hover")),{once:!0})},this.proxyElement.addEventListener("mouseover",this.mouseoverCbRef),this.addEventListener=(...e)=>this.proxyElement.addEventListener(...e),(0,l.t)(this.proxyElement,this.hostElement,{excludeAttrs:o}))}disconnectedCallback(){this.proxyElement.removeEventListener("mouseover",this.mouseoverCbRef)}attributeChangedCallback(){this.proxyElement}}return r},h=["invalid","has-error-message"],d=e=>class extends e{static get formAssociated(){return!0}#r;constructor(){super(),this.#r=this.attachInternals()}formAssociatedCallback(){this.setValidity?.()}setValidationAttribute(e){const t=this.getAttribute(e);t&&this.proxyElement.setAttribute("error-message",t),h.forEach((e=>this.proxyElement.setAttribute(e,"true")))}validate(){const{valueMissing:e,patternMismatch:t,typeMismatch:s}=this.validity;e?this.setValidationAttribute("data-errormessage-value-missing"):(s||t)&&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 e,t;e=this.inputElement,t="value",Object.defineProperty(this,t,{set:function(s){return e[t]=s},get:function(){return e[t]},configurable:!0}),this.setSelectionRange=this.inputElement.setSelectionRange?.bind(this.inputElement),this.validity=this.inputElement.validity,this.setValidity=()=>{this.#r.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()}}},u=e=>class extends e{#a(){const t=this.shadowRoot.host.tagName.toLowerCase();if(!e.componentName)throw Error('component name is not defined on super class, make sure you have a static get for "componentName"');if(t!==e.componentName)throw Error(`component name mismatch, expected "${e.componentName}", current "${t}"`)}connectedCallback(){super.connectedCallback?.(),this.shadowRoot.isConnected&&this.#a()}},m=e=>(0,n.E3)("descope",e),p=(...e)=>t=>e.reduceRight(((e,t)=>t(e)),t)},6225:(e,t,s)=>{s.d(t,{E3:()=>o,GL:()=>n,Tk:()=>i});const n=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_.]+/g,"-").toLowerCase(),o=(...e)=>n(e.join("-")),i=(...e)=>`--${o(...e.filter((e=>!!e)))}`}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[662],{3029:(t,n,e)=>{e.r(n),e.d(n,{Button:()=>c}),e(729);var r=e(9433),a=e(3535);const i=(0,r.iY)("button"),o="::part(label)",s=(0,r.qC)((0,r.yk)({mappings:{backgroundColor:{},borderRadius:{},color:{selector:o},borderColor:{},borderStyle:{},borderWidth:{},fontSize:{},height:{},width:(0,a.zy)(),cursor:{},padding:[{selector:o}],textDecoration:{selector:o}}}),r.e4,r.Ae)((0,r.DM)({slots:["prefix","label","suffix"],wrappedEleName:"vaadin-button",style:()=>`\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 vaadin-button::part(label) { pointer-events: none; } \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 ${l}`,excludeAttrsSync:["tabindex"],componentName:i})),l=`\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(${s.cssVarList.color});\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\ttop: calc(50% - calc((var(${s.cssVarList.height}) / var(--marginRatio)) / 2));\n\t\tleft: calc(50% - calc((var(${s.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(${s.cssVarList.height}) / 12);\n\t\tborder-style: solid;\n\t\twidth: calc(var(${s.cssVarList.height}) / var(--marginRatio));\n\t\theight: calc(var(${s.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`,c=s;customElements.define(i,c)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[662],{3029:(t,n,e)=>{e.r(n),e.d(n,{Button:()=>c}),e(729);var r=e(832),a=e(3535);const i=(0,r.iY)("button"),o="::part(label)",s=(0,r.qC)((0,r.yk)({mappings:{backgroundColor:{},borderRadius:{},color:{selector:o},borderColor:{},borderStyle:{},borderWidth:{},fontSize:{},height:{},width:(0,a.zy)(),cursor:{},padding:[{selector:o}],textDecoration:{selector:o}}}),r.e4,r.Ae)((0,r.DM)({slots:["prefix","label","suffix"],wrappedEleName:"vaadin-button",style:()=>`\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 vaadin-button::part(label) { pointer-events: none; } \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 ${l}`,excludeAttrsSync:["tabindex"],componentName:i})),l=`\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(${s.cssVarList.color});\n\t\tanimation: spin 2s linear infinite;\n\t\tposition: absolute;\n\t\ttop: calc(50% - calc((var(${s.cssVarList.height}) / var(--marginRatio)) / 2));\n\t\tleft: calc(50% - calc((var(${s.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(${s.cssVarList.height}) / 12);\n\t\tborder-style: solid;\n\t\twidth: calc(var(${s.cssVarList.height}) / var(--marginRatio));\n\t\theight: calc(var(${s.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`,c=s;customElements.define(i,c)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[761],{7904:(e,t,s)=>{s.r(t),s.d(t,{Checkbox:()=>l}),s(9515);var c=s(9433),n=s(3535);const o=(0,c.iY)("checkbox"),l=(0,c.qC)((0,c.yk)({mappings:{width:(0,n.zy)(),cursor:[{},{selector:"> label"}]}}),c.e4,c.y7,c.Ae)((0,c.DM)({slots:[],wrappedEleName:"vaadin-checkbox",style:"\n\t\t:host {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t",excludeAttrsSync:["tabindex"],componentName:o}));customElements.define(o,l)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[761],{7904:(e,t,s)=>{s.r(t),s.d(t,{Checkbox:()=>l}),s(9515);var c=s(832),n=s(3535);const o=(0,c.iY)("checkbox"),l=(0,c.qC)((0,c.yk)({mappings:{width:(0,n.zy)(),cursor:[{},{selector:"> label"}]}}),c.e4,c.y7,c.Ae)((0,c.DM)({slots:[],wrappedEleName:"vaadin-checkbox",style:"\n\t\t:host {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t",excludeAttrsSync:["tabindex"],componentName:o}));customElements.define(o,l)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[247],{2798:(e,t,o)=>{o.r(t),o.d(t,{Combo:()=>d});var n=o(9433);o(3029),o(6303);const c=document.createElement("template"),s=(0,n.iY)("combo");c.innerHTML="\n <descope-button></descope-button>\n <descope-text-field></descope-text-field>\n";class d extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}).appendChild(c.content.cloneNode(!0))}}customElements.define(s,d)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[247],{2798:(e,t,o)=>{o.r(t),o.d(t,{Combo:()=>p});var n=o(832),c=o(8522);o(3029),o(9357);const s=document.createElement("template"),d=(0,n.iY)("combo");s.innerHTML="\n <descope-button></descope-button>\n <descope-text-field></descope-text-field>\n";class p extends c.V{constructor(){super(),this.attachShadow({mode:"open"}).appendChild(s.content.cloneNode(!0))}}customElements.define(d,p)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[317],{147:(e,t,o)=>{o.r(t),o.d(t,{Container:()=>s});var n=o(9433);const r=(0,n.iY)("container");class d extends HTMLElement{static get componentName(){return r}constructor(){super();const e=document.createElement("template");e.innerHTML="<slot></slot>",this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(e.content.cloneNode(!0)),this.baseSelector=":host > slot"}}const s=(0,n.qC)((0,n.yk)({mappings:{height:{},width:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],display:{},flexDirection:{},justifyContent:{},alignItems:{},gap:{},backgroundColor:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},boxShadow:{}}}),n.e4,n.Ae)(d);customElements.define(r,s)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[317],{147:(t,e,o)=>{o.r(e),o.d(e,{Container:()=>a});var n=o(832),r=o(3535),s=o(8522);const d=(0,n.iY)("container");class i extends s.V{static get componentName(){return d}constructor(){super();const t=document.createElement("template");t.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",this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(t.content.cloneNode(!0)),this.baseSelector=":host > slot"}}const a=(0,n.qC)((0,n.yk)({mappings:{height:(0,r.zy)(),width:(0,r.zy)(),verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],display:{},flexDirection:{},justifyContent:{},alignItems:{},gap:{},backgroundColor:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},boxShadow:{}}}),n.e4,n.Ae)(i);customElements.define(d,a)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[17],{2552:(e,s,a)=>{a.r(s),a.d(s,{DatePicker:()=>t}),a(3054);var c=a(9433);const p=(0,c.iY)("date-picker"),t=(0,c.qC)(c.e4,c.Ae)((0,c.DM)({componentName:p,slots:["prefix","suffix"],wrappedEleName:"vaadin-date-picker",style:""}));customElements.define(p,t)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[17],{2552:(e,s,a)=>{a.r(s),a.d(s,{DatePicker:()=>t}),a(3054);var c=a(832);const p=(0,c.iY)("date-picker"),t=(0,c.qC)(c.e4,c.Ae)((0,c.DM)({componentName:p,slots:["prefix","suffix"],wrappedEleName:"vaadin-date-picker",style:""}));customElements.define(p,t)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[178],{119:(t,e,o)=>{o.r(e),o.d(e,{Divider:()=>m});var s=o(832),n=o(9201);const h=(t,e)=>{e.append(...t.childNodes),t.appendChild(e)};var i=o(3535),d=o(8522);const r=(0,s.iY)("divider");class l extends d.V{static get componentName(){return r}constructor(){super();const t=document.createElement("template");t.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",this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(t.content.cloneNode(!0)),this.baseSelector=":host > div"}}const{root:a,before:c,after:p,slotted:w}={root:{selector:""},before:{selector:"::before"},after:{selector:"::after"},slotted:{selector:()=>"::slotted(*)"}},m=(0,s.qC)((({nestingElementTagName:t,nestingElementDestSlotName:e,forwardAttrOptions:o})=>s=>{const i=()=>Object.assign(document.createElement(t),{slot:e});let d;const r=()=>d;return class extends s{constructor(){var e;super(),e=()=>{r().disconnect(this.shadowRoot.host);const e=this.shadowRoot.host.querySelector(t),s=this.shadowRoot.host.childNodes.length>0;!e&&s?h(this.shadowRoot.host,i()):e&&s?(this.shadowRoot.host.querySelector(child).remove(),h(this.shadowRoot.host,i())):e&&!s&&this.shadowRoot.host.querySelector(child).remove(),this.shadowRoot.host.querySelector(t)&&(0,n.o)(this.shadowRoot.host,this.shadowRoot.host.querySelector(t),o),r().observe(this.shadowRoot.host,{childList:!0})},d=new MutationObserver((t=>{for(const o of t)"childList"===o.type&&e()}))}connectedCallback(){super.connectedCallback?.(),this.shadowRoot.host.childNodes.length>0&&(h(this.shadowRoot.host,i()),(0,n.o)(this.shadowRoot.host,this.shadowRoot.host.querySelector(t),o)),r().observe(this.shadowRoot.host,{childList:!0})}}})({nestingElementTagName:"descope-text",nestingElementDestSlotName:"text",forwardAttrOptions:{includeAttrs:["mode","variant"],excludeAttrs:[]}}),(0,s.yk)({mappings:{minHeight:a,alignItems:a,alignSelf:a,flexDirection:a,padding:w,width:(0,i.zy)(),height:[c,p],backgroundColor:[c,p],opacity:[c,p],textWidth:{...w,property:"width"}}}),s.e4,s.Ae)(l);o(2092),customElements.define(r,m)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[760],{689:(t,i,e)=>{e.r(i),e.d(i,{EmailField:()=>r}),e(9437);var n=e(9433),a=e(4447);const l=(0,n.iY)("email-field");let d="";const o=(0,n.qC)((0,n.yk)({mappings:{...a.Z}}),n.e4,n.y7,n.Ae)((0,n.DM)({slots:["suffix"],wrappedEleName:"vaadin-email-field",style:()=>d,excludeAttrsSync:["tabindex"],componentName:l}));d=`\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(${o.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${o.cssVarList.height}) var(${o.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(${o.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(${o.cssVarList.color});\n\t}\n\tvaadin-email-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;const r=o;customElements.define(l,r)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[760],{689:(t,i,e)=>{e.r(i),e.d(i,{EmailField:()=>r}),e(9437);var n=e(832),a=e(4447);const l=(0,n.iY)("email-field");let d="";const o=(0,n.qC)((0,n.yk)({mappings:{...a.Z}}),n.e4,n.y7,n.Ae)((0,n.DM)({slots:["suffix"],wrappedEleName:"vaadin-email-field",style:()=>d,excludeAttrsSync:["tabindex"],componentName:l}));d=`\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(${o.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${o.cssVarList.height}) var(${o.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(${o.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(${o.cssVarList.color});\n\t}\n\tvaadin-email-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;const r=o;customElements.define(l,r)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[984],{4641:(t,e,n)=>{n.r(e),n.d(e,{Logo:()=>i});var s=n(9433);const o=(0,s.iY)("logo");let c;class l extends HTMLElement{static get componentName(){return o}constructor(){super();const t=document.createElement("template");t.innerHTML=`\n\t\t<style>\n\t\t\t${c}\n\t\t</style>\n\t\t<div></div>`,this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(t.content.cloneNode(!0)),this.baseSelector=":host > div"}}const a=(0,s.qC)((0,s.yk)({mappings:{height:{},width:{},url:{},fallbackUrl:{}}}),s.e4,s.Ae)(l);c=`\n:host {\n\tdisplay: inline-block;\n}\n:host > div {\n\tdisplay: inline-block;\n\tcontent: var(${a.cssVarList.url}, var(${a.cssVarList.fallbackUrl}));\n}\n`;const i=a;customElements.define(o,i)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[984],{4641:(t,e,n)=>{n.r(e),n.d(e,{Logo:()=>r});var s=n(832),o=n(8522);const c=(0,s.iY)("logo");let l;class a extends o.V{static get componentName(){return c}constructor(){super();const t=document.createElement("template");t.innerHTML=`\n\t\t<style>\n\t\t\t${l}\n\t\t</style>\n\t\t<div></div>`,this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(t.content.cloneNode(!0)),this.baseSelector=":host > div"}}const i=(0,s.qC)((0,s.yk)({mappings:{height:{},width:{},url:{},fallbackUrl:{}}}),s.e4,s.Ae)(a);l=`\n:host {\n\tdisplay: inline-block;\n}\n:host > div {\n\tdisplay: inline-block;\n\tcontent: var(${i.cssVarList.url}, var(${i.cssVarList.fallbackUrl}));\n}\n`;const r=i;customElements.define(c,r)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[142],{4951:(t,n,e)=>{e.r(n),e.d(n,{NumberField:()=>o}),e(5806);var i=e(9433),a=e(4447);const r=(0,i.iY)("number-field");let l="";const d=(0,i.qC)((0,i.yk)({mappings:{...a.Z}}),i.e4,i.y7,i.Ae)((0,i.DM)({slots:["prefix","suffix"],wrappedEleName:"vaadin-number-field",style:()=>l,excludeAttrsSync:["tabindex"],componentName:r}));l=`\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(${d.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${d.cssVarList.height}) var(${d.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(${d.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(${d.cssVarList.color});\n\t}\n\tvaadin-number-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;const o=d;customElements.define(r,o)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[142],{4951:(t,n,e)=>{e.r(n),e.d(n,{NumberField:()=>o}),e(5806);var i=e(832),a=e(4447);const r=(0,i.iY)("number-field");let l="";const d=(0,i.qC)((0,i.yk)({mappings:{...a.Z}}),i.e4,i.y7,i.Ae)((0,i.DM)({slots:["prefix","suffix"],wrappedEleName:"vaadin-number-field",style:()=>l,excludeAttrsSync:["tabindex"],componentName:r}));l=`\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(${d.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${d.cssVarList.height}) var(${d.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(${d.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(${d.cssVarList.color});\n\t}\n\tvaadin-number-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;const o=d;customElements.define(r,o)}}]);
@@ -0,0 +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)}}]);
@@ -0,0 +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 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[320],{1721:(t,n,a)=>{a.r(n),a.d(n,{PasswordField:()=>d}),a(7056);var i=a(9433),e=a(4447);const s=(0,i.iY)("password-field");let r="";const o=(0,i.qC)((0,i.yk)({mappings:{...e.Z,revealCursor:[{selector:"::part(reveal-button)::before",property:"cursor"}]}}),i.e4,i.y7,i.Ae)((0,i.DM)({slots:["suffix"],wrappedEleName:"vaadin-password-field",style:()=>r,excludeAttrsSync:["tabindex"],componentName:s}));r=`\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(${o.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${o.cssVarList.height}) var(${o.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(${o.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(${o.cssVarList.color});\n\t}\n\tvaadin-password-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;const d=o;customElements.define(s,d)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[320],{1721:(t,n,a)=>{a.r(n),a.d(n,{PasswordField:()=>d}),a(7056);var i=a(832),e=a(4447);const s=(0,i.iY)("password-field");let r="";const o=(0,i.qC)((0,i.yk)({mappings:{...e.Z,revealCursor:[{selector:"::part(reveal-button)::before",property:"cursor"}]}}),i.e4,i.y7,i.Ae)((0,i.DM)({slots:["suffix"],wrappedEleName:"vaadin-password-field",style:()=>r,excludeAttrsSync:["tabindex"],componentName:s}));r=`\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(${o.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${o.cssVarList.height}) var(${o.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(${o.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(${o.cssVarList.color});\n\t}\n\tvaadin-password-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;const d=o;customElements.define(s,d)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[739],{3774:(t,n,e)=>{e.r(n),e.d(n,{SwitchToggle:()=>l}),e(9515);var a=e(9433),i=e(3535);const r=(0,a.iY)("switch-toggle");let o="";const c=(0,a.qC)((0,a.yk)({mappings:{width:(0,i.zy)(),cursor:[{},{selector:"> label"}]}}),a.e4,a.y7,a.Ae)((0,a.DM)({slots:[],wrappedEleName:"vaadin-checkbox",style:()=>o,excludeAttrsSync:["tabindex"],componentName:r}));o=`\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(${c.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`;const l=c;customElements.define(r,l)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[739],{3774:(t,n,e)=>{e.r(n),e.d(n,{SwitchToggle:()=>l}),e(9515);var a=e(832),i=e(3535);const r=(0,a.iY)("switch-toggle");let o="";const c=(0,a.qC)((0,a.yk)({mappings:{width:(0,i.zy)(),cursor:[{},{selector:"> label"}]}}),a.e4,a.y7,a.Ae)((0,a.DM)({slots:[],wrappedEleName:"vaadin-checkbox",style:()=>o,excludeAttrsSync:["tabindex"],componentName:r}));o=`\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(${c.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`;const l=c;customElements.define(r,l)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[322],{178:(t,e,r)=>{r.r(e),r.d(e,{TextArea:()=>c}),r(7101);var n=r(9433),a=r(3535);const o=(0,n.iY)("text-area"),s="::part(input-field)";let l="";const i=(0,n.qC)((0,n.yk)({mappings:{resize:{selector:"> textarea"},color:{selector:"::part(label)"},cursor:{},width:(0,a.zy)(),backgroundColor:{selector:s},borderWidth:{selector:s},borderStyle:{selector:s},borderColor:{selector:s},borderRadius:{selector:s},outline:{selector:s},outlineOffset:{selector:s}}}),n.e4,n.y7,n.Ae)((0,n.DM)({slots:[],wrappedEleName:"vaadin-text-area",style:()=>l,excludeAttrsSync:["tabindex"],componentName:o}));l='\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';const c=i;customElements.define(o,c)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[322],{178:(t,e,r)=>{r.r(e),r.d(e,{TextArea:()=>c}),r(7101);var n=r(832),a=r(3535);const o=(0,n.iY)("text-area"),s="::part(input-field)";let l="";const i=(0,n.qC)((0,n.yk)({mappings:{resize:{selector:"> textarea"},color:{selector:"::part(label)"},cursor:{},width:(0,a.zy)(),backgroundColor:{selector:s},borderWidth:{selector:s},borderStyle:{selector:s},borderColor:{selector:s},borderRadius:{selector:s},outline:{selector:s},outlineOffset:{selector:s}}}),n.e4,n.y7,n.Ae)((0,n.DM)({slots:[],wrappedEleName:"vaadin-text-area",style:()=>l,excludeAttrsSync:["tabindex"],componentName:o}));l='\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';const c=i;customElements.define(o,c)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[934],{6303:(t,e,n)=>{n.r(e),n.d(e,{TextField:()=>r}),n(9789);var i=n(9433),a=n(4447);const l=(0,i.iY)("text-field");let d="";const o=(0,i.qC)((0,i.yk)({mappings:a.Z}),i.e4,i.y7,i.Ae)((0,i.DM)({slots:["prefix","suffix"],wrappedEleName:"vaadin-text-field",style:()=>d,excludeAttrsSync:["tabindex"],componentName:l}));d=`\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(${o.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${o.cssVarList.height}) var(${o.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(${o.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(${o.cssVarList.color});\n\t}\n\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;const r=o;customElements.define(l,r)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[934],{9063:(t,e,n)=>{n.d(e,{Z:()=>r,f:()=>l});var i=n(832),a=n(4447);const l=(0,i.iY)("text-field");let d="";const o=(0,i.qC)((0,i.yk)({mappings:a.Z}),i.e4,i.y7,i.Ae)((0,i.DM)({slots:["prefix","suffix"],wrappedEleName:"vaadin-text-field",style:()=>d,excludeAttrsSync:["tabindex"],componentName:l}));d=`\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(${o.cssVarList.color});\n\t\tbox-shadow: 0 0 0 var(${o.cssVarList.height}) var(${o.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(${o.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(${o.cssVarList.color});\n\t}\n\tvaadin-text-field[readonly]::part(input-field)::after {\n\t\tborder: 0 solid;\n\t}\n`;const r=o},9357:(t,e,n)=>{n.r(e),n.d(e,{TextField:()=>i.Z}),n(9789);var i=n(9063);customElements.define(i.f,i.Z)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[528],{2092:(e,t,o)=>{o.r(t),o.d(t,{Text:()=>i});var n=o(9433),s=o(3535);const c=(0,n.iY)("text");class l extends HTMLElement{static get componentName(){return c}constructor(){super();const e=document.createElement("template");e.innerHTML="<slot></slot>",this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(e.content.cloneNode(!0)),this.baseSelector=":host > slot"}}const i=(0,n.qC)((0,n.yk)({mappings:{fontFamily:{},lineHeight:{},fontStyle:{},fontSize:{},fontWeight:{},width:{},color:{},textAlign:(0,s.zy)(),display:(0,s.zy)()}}),n.e4,n.Ae)(l);customElements.define(c,i)}}]);
1
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[528],{2092:(e,t,o)=>{o.r(t),o.d(t,{Text:()=>a});var n=o(832),s=o(3535),c=o(8522);const r=(0,n.iY)("text");class l extends c.V{static get componentName(){return r}constructor(){super();const e=document.createElement("template");e.innerHTML="<slot></slot>",this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(e.content.cloneNode(!0)),this.baseSelector=":host > slot"}}const a=(0,n.qC)((0,n.yk)({mappings:{fontFamily:{},lineHeight:{},fontStyle:{},fontSize:{},fontWeight:{},width:{},color:{},letterSpacing:{},textShadow:{},borderWidth:{},borderStyle:{},borderColor:{},textTransform:{},textAlign:(0,s.zy)(),display:(0,s.zy)()}}),n.e4,n.Ae)(l);customElements.define(r,a)}}]);
package/dist/umd/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.DescopeUI=t():e.DescopeUI=t()}(self,(()=>(()=>{var e,t,o,r={534:(e,t,o)=>{var r={"./descope-button/index.js":[3029,840,767,211,513,729,433,662],"./descope-checkbox/index.js":[7904,840,786,208,767,515,433,761],"./descope-combo/index.js":[2798,840,786,208,233,767,422,211,725,513,789,729,433,447,662,934,247],"./descope-container/index.js":[147,433,317],"./descope-date-picker/index.js":[2552,840,786,208,233,767,211,513,54,433,17],"./descope-email-field/index.js":[689,840,786,208,233,422,725,437,433,447,760],"./descope-logo/index.js":[4641,433,984],"./descope-number-field/index.js":[4951,840,786,208,233,422,806,433,447,142],"./descope-password-field/index.js":[1721,840,786,208,233,767,422,211,725,56,433,447,320],"./descope-switch-toggle/index.js":[3774,840,786,208,767,515,433,739],"./descope-text-area/index.js":[178,840,786,233,422,101,433,322],"./descope-text-field/index.js":[6303,840,786,208,233,422,725,789,433,447,934],"./descope-text/index.js":[2092,433,528]};function n(e){if(!o.o(r,e))return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=r[e],n=t[0];return Promise.all(t.slice(1).map(o.e)).then((()=>o(n)))}n.keys=()=>Object.keys(r),n.id=534,e.exports=n},7507:(e,t,o)=>{const r=o(534);e.exports=r.keys().reduce(((e,t)=>(e[t.replace(/.*?([^\/]+)\/index\.js$/,"$1")]=()=>r(t),e)),{})}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,e=[],i.O=(t,o,r,n)=>{if(!o){var s=1/0;for(p=0;p<e.length;p++){for(var[o,r,n]=e[p],d=!0,c=0;c<o.length;c++)(!1&n||s>=n)&&Object.keys(i.O).every((e=>i.O[e](o[c])))?o.splice(c--,1):(d=!1,n<s&&(s=n));if(d){e.splice(p--,1);var a=r();void 0!==a&&(t=a)}}return t}n=n||0;for(var p=e.length;p>0&&e[p-1][2]>n;p--)e[p]=e[p-1];e[p]=[o,r,n]},i.F={},i.E=e=>{Object.keys(i.F).map((t=>{i.F[t](e)}))},i.d=(e,t)=>{for(var o in t)i.o(t,o)&&!i.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,o)=>(i.f[o](e,t),t)),[])),i.u=e=>(({17:"descope-date-picker-index-js",142:"descope-number-field-index-js",247:"descope-combo-index-js",317:"descope-container-index-js",320:"descope-password-field-index-js",322:"descope-text-area-index-js",528:"descope-text-index-js",662:"descope-button-index-js",739:"descope-switch-toggle-index-js",760:"descope-email-field-index-js",761:"descope-checkbox-index-js",934:"descope-text-field-index-js",984:"descope-logo-index-js"}[e]||e)+".js"),i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},o="DescopeUI:",i.l=(e,r,n,s)=>{if(t[e])t[e].push(r);else{var d,c;if(void 0!==n)for(var a=document.getElementsByTagName("script"),p=0;p<a.length;p++){var l=a[p];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+n){d=l;break}}d||(c=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,i.nc&&d.setAttribute("nonce",i.nc),d.setAttribute("data-webpack",o+n),d.src=e),t[e]=[r];var u=(o,r)=>{d.onerror=d.onload=null,clearTimeout(f);var n=t[e];if(delete t[e],d.parentNode&&d.parentNode.removeChild(d),n&&n.forEach((e=>e(r))),o)return o(r)},f=setTimeout(u.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=u.bind(null,d.onerror),d.onload=u.bind(null,d.onload),c&&document.head.appendChild(d)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var t=i.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var o=t.getElementsByTagName("script");o.length&&(e=o[o.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),(()=>{var e={826:0};i.f.j=(t,o)=>{var r=i.o(e,t)?e[t]:void 0;if(0!==r)if(r)o.push(r[2]);else{var n=new Promise(((o,n)=>r=e[t]=[o,n]));o.push(r[2]=n);var s=i.p+i.u(t),d=new Error;i.l(s,(o=>{if(i.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var n=o&&("load"===o.type?"missing":o.type),s=o&&o.target&&o.target.src;d.message="Loading chunk "+t+" failed.\n("+n+": "+s+")",d.name="ChunkLoadError",d.type=n,d.request=s,r[1](d)}}),"chunk-"+t,t)}},i.F.j=t=>{if(!i.o(e,t)||void 0===e[t]){e[t]=null;var o=document.createElement("link");i.nc&&o.setAttribute("nonce",i.nc),o.rel="prefetch",o.as="script",o.href=i.p+i.u(t),document.head.appendChild(o)}},i.O.j=t=>0===e[t];var t=(t,o)=>{var r,n,[s,d,c]=o,a=0;if(s.some((t=>0!==e[t]))){for(r in d)i.o(d,r)&&(i.m[r]=d[r]);if(c)var p=c(i)}for(t&&t(o);a<s.length;a++)n=s[a],i.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return i.O(p)},o=self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})(),i.O(0,[826],(()=>{[840,767,211,513,729,433,662,786,208,515,761,233,422,725,789,447,934,247,317,54,17,437,760,984,806,142,56,320,739,101,322,528].map(i.E)}),5);var s=i(7507);return i.O(s)})()));
1
+ !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.DescopeUI=o():e.DescopeUI=o()}(self,(()=>(()=>{var e,o,t,r={534:(e,o,t)=>{var r={"./descope-button/index.js":[3029,840,767,211,513,729,832,662],"./descope-checkbox/index.js":[7904,840,786,208,767,515,832,761],"./descope-combo/index.js":[2798,840,786,208,233,422,767,725,211,789,513,729,832,447,934,662,247],"./descope-container/index.js":[147,832,317],"./descope-date-picker/index.js":[2552,840,786,208,233,767,211,513,54,832,17],"./descope-divider/index.js":[119,832,528,178],"./descope-email-field/index.js":[689,840,786,208,233,422,725,437,832,447,760],"./descope-logo/index.js":[4641,832,984],"./descope-number-field/index.js":[4951,840,786,208,233,422,806,832,447,142],"./descope-passcode/descope-passcode-internal/index.js":[4775,832,841],"./descope-passcode/index.js":[7102,840,786,208,233,422,725,789,832,447,934,841,939],"./descope-password-field/index.js":[1721,840,786,208,233,422,767,725,211,56,832,447,320],"./descope-switch-toggle/index.js":[3774,840,786,208,767,515,832,739],"./descope-text-area/index.js":[178,840,786,233,422,101,832,322],"./descope-text-field/index.js":[9357,840,786,208,233,422,725,789,832,447,934],"./descope-text/index.js":[2092,832,528]};function s(e){if(!t.o(r,e))return Promise.resolve().then((()=>{var o=new Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}));var o=r[e],s=o[0];return Promise.all(o.slice(1).map(t.e)).then((()=>t(s)))}s.keys=()=>Object.keys(r),s.id=534,e.exports=s},7507:(e,o,t)=>{const r=t(534);e.exports=r.keys().reduce(((e,o)=>(e[o.replace(/.*?([^\/]+)\/index\.js$/,"$1")]=()=>r(o),e)),{})}},s={};function n(e){var o=s[e];if(void 0!==o)return o.exports;var t=s[e]={exports:{}};return r[e](t,t.exports,n),t.exports}n.m=r,e=[],n.O=(o,t,r,s)=>{if(!t){var d=1/0;for(a=0;a<e.length;a++){for(var[t,r,s]=e[a],i=!0,c=0;c<t.length;c++)(!1&s||d>=s)&&Object.keys(n.O).every((e=>n.O[e](t[c])))?t.splice(c--,1):(i=!1,s<d&&(d=s));if(i){e.splice(a--,1);var p=r();void 0!==p&&(o=p)}}return o}s=s||0;for(var a=e.length;a>0&&e[a-1][2]>s;a--)e[a]=e[a-1];e[a]=[t,r,s]},n.F={},n.E=e=>{Object.keys(n.F).map((o=>{n.F[o](e)}))},n.d=(e,o)=>{for(var t in o)n.o(o,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:o[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((o,t)=>(n.f[t](e,o),o)),[])),n.u=e=>(({17:"descope-date-picker-index-js",142:"descope-number-field-index-js",178:"descope-divider-index-js",247:"descope-combo-index-js",317:"descope-container-index-js",320:"descope-password-field-index-js",322:"descope-text-area-index-js",528:"descope-text-index-js",662:"descope-button-index-js",739:"descope-switch-toggle-index-js",760:"descope-email-field-index-js",761:"descope-checkbox-index-js",841:"descope-passcode-descope-passcode-internal-index-js",934:"descope-text-field-index-js",939:"descope-passcode-index-js",984:"descope-logo-index-js"}[e]||e)+".js"),n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o),o={},t="DescopeUI:",n.l=(e,r,s,d)=>{if(o[e])o[e].push(r);else{var i,c;if(void 0!==s)for(var p=document.getElementsByTagName("script"),a=0;a<p.length;a++){var l=p[a];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==t+s){i=l;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,n.nc&&i.setAttribute("nonce",n.nc),i.setAttribute("data-webpack",t+s),i.src=e),o[e]=[r];var u=(t,r)=>{i.onerror=i.onload=null,clearTimeout(f);var s=o[e];if(delete o[e],i.parentNode&&i.parentNode.removeChild(i),s&&s.forEach((e=>e(r))),t)return t(r)},f=setTimeout(u.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=u.bind(null,i.onerror),i.onload=u.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var o=n.g.document;if(!e&&o&&(o.currentScript&&(e=o.currentScript.src),!e)){var t=o.getElementsByTagName("script");t.length&&(e=t[t.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={826:0};n.f.j=(o,t)=>{var r=n.o(e,o)?e[o]:void 0;if(0!==r)if(r)t.push(r[2]);else{var s=new Promise(((t,s)=>r=e[o]=[t,s]));t.push(r[2]=s);var d=n.p+n.u(o),i=new Error;n.l(d,(t=>{if(n.o(e,o)&&(0!==(r=e[o])&&(e[o]=void 0),r)){var s=t&&("load"===t.type?"missing":t.type),d=t&&t.target&&t.target.src;i.message="Loading chunk "+o+" failed.\n("+s+": "+d+")",i.name="ChunkLoadError",i.type=s,i.request=d,r[1](i)}}),"chunk-"+o,o)}},n.F.j=o=>{if(!n.o(e,o)||void 0===e[o]){e[o]=null;var t=document.createElement("link");n.nc&&t.setAttribute("nonce",n.nc),t.rel="prefetch",t.as="script",t.href=n.p+n.u(o),document.head.appendChild(t)}},n.O.j=o=>0===e[o];var o=(o,t)=>{var r,s,[d,i,c]=t,p=0;if(d.some((o=>0!==e[o]))){for(r in i)n.o(i,r)&&(n.m[r]=i[r]);if(c)var a=c(n)}for(o&&o(t);p<d.length;p++)s=d[p],n.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return n.O(a)},t=self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[];t.forEach(o.bind(null,0)),t.push=o.bind(null,t.push.bind(t))})(),n.O(0,[826],(()=>{[840,767,211,513,729,832,662,786,208,515,761,233,422,725,789,447,934,247,317,54,17,528,178,437,760,984,806,142,841,939,56,320,739,101,322].map(n.E)}),5);var d=n(7507);return n.O(d)})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/web-components-ui",
3
- "version": "1.0.51",
3
+ "version": "1.0.53",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -0,0 +1 @@
1
+ export class DescopeBaseClass extends HTMLElement {}
@@ -39,7 +39,6 @@ const selectors = {
39
39
 
40
40
  const Button = compose(
41
41
  createStyleMixin({
42
- // todo: do we want to change the mapping structure to this? ['aa', 'aaa', {'color': [{ selector: '::part(label)' }]}],
43
42
  mappings: {
44
43
  backgroundColor: {},
45
44
  borderRadius: {},
@@ -1,4 +1,5 @@
1
1
  import { getComponentName } from '../../componentsHelpers';
2
+ import { DescopeBaseClass } from '../DescopeBaseClass';
2
3
  import '../descope-button';
3
4
  import '../descope-text-field';
4
5
 
@@ -11,7 +12,7 @@ template.innerHTML = `
11
12
  <descope-text-field></descope-text-field>
12
13
  `;
13
14
 
14
- class Combo extends HTMLElement {
15
+ class Combo extends DescopeBaseClass {
15
16
  constructor() {
16
17
  super();
17
18
 
@@ -5,17 +5,26 @@ import {
5
5
  compose,
6
6
  componentNameValidationMixin
7
7
  } from '../../componentsHelpers';
8
+ import { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';
9
+ import { DescopeBaseClass } from '../DescopeBaseClass';
8
10
 
9
11
  export const componentName = getComponentName('container');
10
12
 
11
- class RawContainer extends HTMLElement {
13
+ class RawContainer extends DescopeBaseClass {
12
14
  static get componentName() {
13
15
  return componentName;
14
16
  }
15
17
  constructor() {
16
18
  super();
17
19
  const template = document.createElement('template');
18
- template.innerHTML = `<slot></slot>`;
20
+ template.innerHTML = `
21
+ <style>
22
+ :host > slot {
23
+ box-sizing: border-box;
24
+ }
25
+ </style>
26
+ <slot></slot>
27
+ `;
19
28
 
20
29
  this.attachShadow({ mode: 'open' });
21
30
  this.shadowRoot.appendChild(template.content.cloneNode(true));
@@ -26,10 +35,9 @@ class RawContainer extends HTMLElement {
26
35
 
27
36
  const Container = compose(
28
37
  createStyleMixin({
29
- // todo: do we want to change the mapping structure to this? ['aa', 'aaa', {'color': [{ selector: '::part(label)' }]}],
30
38
  mappings: {
31
- height: {},
32
- width: {},
39
+ height: matchHostStyle(),
40
+ width: matchHostStyle(),
33
41
 
34
42
  verticalPadding: [
35
43
  { property: 'padding-top' },
@@ -40,7 +48,7 @@ const Container = compose(
40
48
  { property: 'padding-right' }
41
49
  ],
42
50
 
43
- display: {},
51
+ display: {}, // maybe this should be hardcoded to flex
44
52
  flexDirection: {},
45
53
  justifyContent: {},
46
54
  alignItems: {},
@@ -0,0 +1,85 @@
1
+ import {
2
+ getComponentName,
3
+ createStyleMixin,
4
+ draggableMixin,
5
+ compose,
6
+ componentNameValidationMixin
7
+ } from '../../componentsHelpers';
8
+ import { enforceNestingElementsStylesMixin } from '../../componentsHelpers/enforceNestingElementsStylesMixin';
9
+ import { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';
10
+ import { DescopeBaseClass } from '../DescopeBaseClass';
11
+
12
+ export const componentName = getComponentName('divider');
13
+ class RawDivider extends DescopeBaseClass {
14
+ static get componentName() {
15
+ return componentName;
16
+ }
17
+ constructor() {
18
+ super();
19
+ const template = document.createElement('template');
20
+ template.innerHTML = `
21
+ <style>
22
+ :host > div {
23
+ display: flex;
24
+ height: 100%;
25
+ }
26
+ :host > div::before,
27
+ :host > div::after {
28
+ content: '';
29
+ flex-grow: 1;
30
+ width: 100%;
31
+ }
32
+ ::slotted(*) {
33
+ flex-grow: 0;
34
+ flex-shrink: 0;
35
+ }
36
+ </style>
37
+ <div>
38
+ <slot></slot>
39
+ <slot name="text"></slot>
40
+ </div>
41
+ `;
42
+ this.attachShadow({ mode: 'open' });
43
+ this.shadowRoot.appendChild(template.content.cloneNode(true));
44
+
45
+ this.baseSelector = ':host > div';
46
+ }
47
+ }
48
+
49
+ const selectors = {
50
+ root: { selector: '' },
51
+ before: { selector: '::before' },
52
+ after: { selector: '::after' },
53
+ slotted: { selector: () => '::slotted(*)' }
54
+ };
55
+
56
+ const { root, before, after, slotted } = selectors;
57
+
58
+ const Divider = compose(
59
+ enforceNestingElementsStylesMixin({
60
+ nestingElementTagName: 'descope-text',
61
+ nestingElementDestSlotName: 'text',
62
+ forwardAttrOptions: {
63
+ includeAttrs: ['mode', 'variant'],
64
+ excludeAttrs: []
65
+ }
66
+ }),
67
+ createStyleMixin({
68
+ mappings: {
69
+ minHeight: root,
70
+ alignItems: root,
71
+ alignSelf: root,
72
+ flexDirection: root,
73
+ padding: slotted,
74
+ width: matchHostStyle(),
75
+ height: [before, after],
76
+ backgroundColor: [before, after],
77
+ opacity: [before, after],
78
+ textWidth: { ...slotted, property: 'width' }
79
+ }
80
+ }),
81
+ draggableMixin,
82
+ componentNameValidationMixin
83
+ )(RawDivider);
84
+
85
+ export default Divider;
@@ -0,0 +1,6 @@
1
+ import Divider, { componentName } from './Divider';
2
+ import '../descope-text';
3
+
4
+ customElements.define(componentName, Divider);
5
+
6
+ export { Divider };
@@ -5,13 +5,14 @@ import {
5
5
  compose,
6
6
  componentNameValidationMixin
7
7
  } from '../../componentsHelpers';
8
+ import { DescopeBaseClass } from '../DescopeBaseClass';
8
9
 
9
10
  export const componentName = getComponentName('logo');
10
11
 
11
- let style
12
+ let style;
12
13
  const getStyle = () => style;
13
14
 
14
- class RawLogo extends HTMLElement {
15
+ class RawLogo extends DescopeBaseClass {
15
16
  static get componentName() {
16
17
  return componentName;
17
18
  }
@@ -37,7 +38,7 @@ const Logo = compose(
37
38
  height: {},
38
39
  width: {},
39
40
  url: {},
40
- fallbackUrl: {},
41
+ fallbackUrl: {}
41
42
  }
42
43
  }),
43
44
  draggableMixin,
@@ -52,6 +53,6 @@ style = `
52
53
  display: inline-block;
53
54
  content: var(${Logo.cssVarList.url}, var(${Logo.cssVarList.fallbackUrl}));
54
55
  }
55
- `
56
+ `;
56
57
 
57
58
  export default Logo;
@@ -0,0 +1,141 @@
1
+ import {
2
+ getComponentName,
3
+ createStyleMixin,
4
+ draggableMixin,
5
+ createProxy,
6
+ inputMixin,
7
+ compose,
8
+ componentNameValidationMixin
9
+ } from '../../componentsHelpers';
10
+ import { matchHostStyle } from '../../componentsHelpers/createStyleMixin/helpers';
11
+ import textFieldMappings from '../descope-text-field/textFieldMappings';
12
+ export const componentName = getComponentName('passcode');
13
+ import TextField from '../descope-text-field/TextField'
14
+ import { componentName as descopeInternalComponentName } from './descope-passcode-internal/PasscodeInternal'
15
+
16
+ const customMixin = (superclass) =>
17
+ class DraggableMixinClass extends superclass {
18
+ constructor() {
19
+ super();
20
+ }
21
+
22
+ get digits() {
23
+ return Number.parseInt(this.getAttribute('digits')) || 6
24
+ }
25
+
26
+ connectedCallback() {
27
+ super.connectedCallback?.();
28
+ const template = document.createElement('template');
29
+
30
+ //forward required & pattern TODO use forwardAttrs
31
+ template.innerHTML = `
32
+ <${descopeInternalComponentName}
33
+ bordered="true"
34
+ name="code"
35
+ tabindex="0"
36
+ slot="input"
37
+ required="${this.shadowRoot.host.getAttribute('required')}"
38
+ pattern="${this.shadowRoot.host.getAttribute('pattern')}"
39
+ ></${descopeInternalComponentName}>
40
+ `
41
+
42
+ // 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
43
+ const slotEle = Object.assign(document.createElement('slot'), { name: 'input', slot: 'input', part: 'input' })
44
+ this.proxyElement.appendChild(slotEle)
45
+
46
+ // we want to control when the element is out of focus
47
+ // so the validations will be triggered blur event is dispatched from descope-passcode internal (and not every time focusing a digit)
48
+ this.proxyElement._setFocused = () => { }
49
+
50
+ this.shadowRoot.host.appendChild(template.content.cloneNode(true))
51
+ this.inputElement = this.querySelector(descopeInternalComponentName)
52
+
53
+ // we want to trigger validation only when dispatching a blur event from the descope-passcode-internal
54
+ this.inputElement.addEventListener('blur', () => {
55
+ this.proxyElement.validate()
56
+ })
57
+ }
58
+ }
59
+
60
+ const { borderStyle, borderWidth, ...restTextFieldMappings } = textFieldMappings;
61
+
62
+ const Passcode = compose(
63
+ createStyleMixin({
64
+ mappings: {
65
+ ...restTextFieldMappings,
66
+ },
67
+ nestedMappings: {
68
+ borderColor: {
69
+ selector: ` ${TextField.componentName}`,
70
+ property: TextField.cssVarList.borderColor
71
+ }
72
+ }
73
+ }),
74
+ draggableMixin,
75
+ inputMixin,
76
+ componentNameValidationMixin,
77
+ customMixin
78
+ )(
79
+ createProxy({
80
+ slots: [],
81
+ wrappedEleName: 'vaadin-text-field',
82
+ style: () => `
83
+ :host {
84
+ --vaadin-field-default-width: auto;
85
+ }
86
+
87
+ ::slotted([slot='input']) {
88
+ -webkit-mask-image: none;
89
+ display: flex;
90
+ gap: 2px;
91
+ align-items: center;
92
+ padding: 0;
93
+ }
94
+
95
+ vaadin-text-field::part(input-field) {
96
+ background-color: transparent;
97
+ padding: 0;
98
+ }
99
+
100
+ ${overrides}
101
+ `,
102
+ excludeAttrsSync: ['tabindex'],
103
+ componentName
104
+ })
105
+ );
106
+
107
+ const overrides = `
108
+ :host {
109
+ display: inline-block;
110
+ }
111
+
112
+ vaadin-text-field {
113
+ margin: 0;
114
+ padding: 0;
115
+ }
116
+ vaadin-text-field::part(input-field) {
117
+ overflow: hidden;
118
+ }
119
+ vaadin-text-field[readonly] > input:placeholder-shown {
120
+ opacity: 1;
121
+ }
122
+
123
+ vaadin-text-field > label,
124
+ vaadin-text-field::part(input-field) {
125
+ cursor: pointer;
126
+ color: var(${Passcode.cssVarList.color});
127
+ }
128
+ vaadin-text-field::part(input-field):focus {
129
+ cursor: text;
130
+ }
131
+ vaadin-text-field[required]::part(required-indicator)::after {
132
+ font-size: "12px";
133
+ content: "*";
134
+ color: var(${Passcode.cssVarList.color});
135
+ }
136
+ vaadin-text-field[readonly]::part(input-field)::after {
137
+ border: 0 solid;
138
+ }
139
+ `;
140
+
141
+ export default Passcode;