@descope/web-components-ui 1.0.365 → 1.0.367

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[8569,8873,257,2528],{19843:(t,e,n)=>{n.r(e),n.d(e,{AppsListClass:()=>p}),n(78781),n(33120),n(31876);var o=n(2061),s=n(54567),i=n(94978);const r=()=>!0,a=t=>`<pre>${JSON.stringify(t,null,4)}</pre>`;var l=n(32138);const d=(0,s.iY)("apps-list"),p=(0,o.qC)((0,i.yk)({mappings:{maxHeight:{selector:()=>":host"},minHeight:{selector:()=>":host"},hostDirection:{selector:()=>":host",property:"direction"},itemsFontWeight:{selector:l.k.componentName,property:l.k.cssVarList.fontWeight},itemsFontSize:{selector:l.k.componentName,property:l.k.cssVarList.fontSize},itemsTextAlign:{selector:l.k.componentName,property:l.k.cssVarList.textAlign}}}),(({itemRenderer:t=a,validateSchema:e=r,slotName:n,rerenderAttrsList:o=[]})=>i=>class extends i{#t=[];#e(t){if(!e)return!0;const n=e(t);return!0===n||(console.error("Data schema validation failed",n||""),!1)}#n(){const t=n?`*[slot="${n}"]`:":not([slot])";this.baseElement.querySelectorAll(t).forEach((t=>t.remove()))}#o(){this.#n(),this.data.forEach(((e,n)=>{const o="string"==typeof(s=t(e,n,this))?(t=>{const e=document.createElement("template");return e.innerHTML=t,e})(s).content:s instanceof HTMLTemplateElement?s.content:(console.error("Invalid template",s),null);var s;this.baseElement.appendChild(o?.cloneNode(!0))}))}set data(t){this.#e(t)&&(this.#t=t,this.#o())}get data(){return this.#t}init(){super.init?.(),o.length?(0,s.FX)(this,(()=>this.#o()),{includeAttrs:o}):this.#o()}})({itemRenderer:({name:t,icon:e,url:n},o,s)=>`\n <a href="${n}" target="_blank" title="${n}">\n <descope-list-item>\n <descope-avatar\n img="${e}"\n display-name="${t}"\n abbr=${((t,e=3)=>t.trim().split(" ").splice(0,e).map((t=>t[0]?.toUpperCase())).join(""))(t)}\n size=${s.size}\n ></descope-avatar>\n <descope-text\n variant="body1"\n mode="primary"\n >${t}</descope-text>\n </descope-list-item>\n </a>\n`,rerenderAttrsList:["size"]}),i.e4,i.Ae,(t=>class extends t{get size(){return this.getAttribute("size")||"sm"}}))((0,i.DM)({slots:["empty-state"],wrappedEleName:"descope-list",excludeAttrsSync:["tabindex","class"],componentName:d,style:()=>`\n :host {\n width: 100%;\n display: inline-flex;\n }\n\n descope-text::part(text-wrapper) {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n a {\n text-decoration: none;\n }\n\n descope-text {\n ${l.k.cssVarList.hostDirection}: var(${p.cssVarList.hostDirection});\n }\n `}));customElements.define(d,p)},33120:(t,e,n)=>{n.r(e),n.d(e,{AvatarClass:()=>h});var o=n(94978),s=n(33346),i=n(2061),r=n(54567);const a=(0,r.iY)("avatar");class l extends((0,s.s)({componentName:a,baseSelector:":host > .wrapper"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n .editableBadge {\n border: 1px solid;\n border-radius: 100%;\n height: fit-content;\n width: 25%;\n height: 25%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5%;\n box-sizing: border-box;\n position: absolute;\n bottom: 0;\n inset-inline-end: 0;\n }\n\n vaadin-icon {\n color: currentcolor;\n }\n\n vaadin-avatar {\n width: 100%;\n height: 100%;\n margin: 0;\n border: none\n }\n\n .wrapper {\n display: inline-flex;\n position: relative;\n width: 100%;\n height: 100%;\n }\n </style>\n\n\n <div class="wrapper">\n <vaadin-avatar></vaadin-avatar>\n <div class="editableBadge">\n <vaadin-icon icon="vaadin:pencil"></vaadin-icon>\n </div>\n </div>\n\t\t',this.avatarComponent=this.shadowRoot.querySelector("vaadin-avatar"),(0,r.oP)(this,this.avatarComponent,{includeAttrs:["display-name","img","abbr"],mapAttrs:{"display-name":"name"}});const t=this.shadowRoot.querySelector(".editableBadge");(0,r.FX)(this,(()=>{t.style.display=this.isEditable?"":"none"}),{includeAttrs:["editable"]})}get isEditable(){return"true"===this.getAttribute("editable")}}const{host:d,editableBadge:p,avatar:c}={host:{selector:()=>":host"},editableBadge:{selector:"> .editableBadge"},avatar:{selector:"vaadin-avatar"}},h=(0,i.qC)((0,o.yk)({mappings:{hostWidth:[{...d,property:"width"},{...d,property:"min-width"}],hostHeight:{...d,property:"height"},cursor:[c,d],hostDirection:{...d,property:"direction"},avatarTextColor:{...c,property:"color"},avatarBackgroundColor:{...c,property:"background-color"},editableIconColor:{...p,property:"color"},editableBorderColor:{...p,property:"border-color"},editableBackgroundColor:{...p,property:"background-color"}}}),o.e4,o.Ae)(l);n(62775),n(57911),n(56594),customElements.define(a,h)},78781:(t,e,n)=>{n.r(e),n.d(e,{ListClass:()=>c});var o=n(94978),s=n(33346),i=n(2061),r=n(54567);const a=(0,r.iY)("list-item"),l=(0,i.qC)((0,o.yk)({mappings:{padding:{},backgroundColor:{},borderColor:{},borderStyle:{},borderWidth:{},borderRadius:{},outline:{},cursor:{},gap:{},maxWidth:{selector:()=>":host"},alignItems:{},flexDirection:{},transition:{}}}),o.e4,o.Ae,(t=>class extends t{constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n <style>\n /*css*/\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n\n /*!css*/\n </style>\n <slot></slot>\n "}}),(t=>class extends t{init(){super.init?.(),this.baseElement.addEventListener("mousedown",(t=>{t.preventDefault(),this.setAttribute("active","true"),window.addEventListener("mouseup",(()=>this.removeAttribute("active")),{once:!0})}))}}))((0,s.s)({componentName:a,baseSelector:"slot"})),d=(0,r.iY)("list");class p extends((0,s.s)({componentName:d,baseSelector:".wrapper"})){static get observedAttributes(){return["variant"]}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n\t\t<style>\n\t /*css*/\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name="empty-state"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name="empty-state"] {\n display: none;\n }\n :host([empty]) slot[name="empty-state"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n /*!css*/\n\t\t</style>\n\n <div class="wrapper">\n <slot></slot>\n <slot name="empty-state">\n No item...\n </slot>\n </div>\n\t'}get items(){return this.shadowRoot.querySelector("slot").assignedElements()}#s(){0===this.items.length?this.setAttribute("empty","true"):this.removeAttribute("empty")}get variant(){return this.getAttribute("variant")||"list"}#i(){this.items.forEach((t=>{let e=t;e.localName!==l.componentName&&(e=t.querySelector(l.componentName));const n="tiles"===this.variant?"tile":"row";e.setAttribute("variant",n)}))}init(){super.init?.(),(0,r.P$)(this,(()=>{this.#s(),this.#i()}))}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),n!==e&&"variant"===t&&this.#i()}}const c=(0,i.qC)((0,o.yk)({mappings:{hostWidth:{selector:()=>":host",property:"width"},maxHeight:{selector:()=>":host"},minHeight:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],hostDirection:{selector:()=>":host",property:"direction"},fontFamily:{},gap:{},backgroundColor:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},boxShadow:{},gridTemplateColumns:{},maxItemsWidth:{selector:()=>"::slotted(:not([slot]))",property:"max-width"},minItemsWidth:{selector:()=>"::slotted(:not([slot]))",property:"min-width"},itemsHorizontalAlign:{selector:()=>"::slotted(*)",property:"justify-self"},emptyStateTextColor:{selector:()=>'slot[name="empty-state"]',property:"color"},emptyStateTextFontFamily:{selector:()=>'slot[name="empty-state"]',property:"font-family"}}}),o.e4,o.Ae)(p);customElements.define(d,c),customElements.define(a,l)},32138:(t,e,n)=>{n.d(e,{f:()=>a,k:()=>d});var o=n(94978),s=n(2061),i=n(54567),r=n(33346);const a=(0,i.iY)("text");class l extends((0,r.s)({componentName:a,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <style>\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n </style>\n <slot part="text-wrapper"></slot>\n '}get hideWhenEmpty(){return"true"===this.getAttribute("hide-when-empty")}init(){super.init(),(0,i.P$)(this,(()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""}))}}const d=(0,s.qC)((0,o.yk)({mappings:{hostWidth:{selector:()=>":host",property:"width"},hostDirection:{selector:()=>":host",property:"direction"},fontSize:{},textColor:{property:"color"},textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),o.e4,o.Ae)(l)},31876:(t,e,n)=>{n.r(e),n.d(e,{TextClass:()=>o.k});var o=n(32138);customElements.define(o.f,o.k)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[8873],{33120:(t,e,n)=>{n.r(e),n.d(e,{AvatarClass:()=>h});var a=n(94978),o=n(33346),i=n(2061),r=n(54567);const s=(0,r.iY)("avatar");class d extends((0,o.s)({componentName:s,baseSelector:":host > .wrapper"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n .editableBadge {\n border: 1px solid;\n border-radius: 100%;\n height: fit-content;\n width: 25%;\n height: 25%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5%;\n box-sizing: border-box;\n position: absolute;\n bottom: 0;\n inset-inline-end: 0;\n }\n\n vaadin-icon {\n color: currentcolor;\n }\n\n vaadin-avatar {\n width: 100%;\n height: 100%;\n margin: 0;\n border: none\n }\n\n .wrapper {\n display: inline-flex;\n position: relative;\n width: 100%;\n height: 100%;\n }\n </style>\n\n\n <div class="wrapper">\n <vaadin-avatar></vaadin-avatar>\n <div class="editableBadge">\n <vaadin-icon icon="vaadin:pencil"></vaadin-icon>\n </div>\n </div>\n\t\t',this.avatarComponent=this.shadowRoot.querySelector("vaadin-avatar"),(0,r.oP)(this,this.avatarComponent,{includeAttrs:["display-name","img"],mapAttrs:{"display-name":"name"}});const t=this.shadowRoot.querySelector(".editableBadge");(0,r.FX)(this,(()=>{t.style.display=this.isEditable?"":"none"}),{includeAttrs:["editable"]})}get isEditable(){return"true"===this.getAttribute("editable")}}const{host:l,editableBadge:c,avatar:p}={host:{selector:()=>":host"},editableBadge:{selector:"> .editableBadge"},avatar:{selector:"vaadin-avatar"}},h=(0,i.qC)((0,a.yk)({mappings:{hostWidth:{...l,property:"width"},hostHeight:{...l,property:"height"},cursor:[p,l],hostDirection:{...l,property:"direction"},avatarTextColor:{...p,property:"color"},avatarBackgroundColor:{...p,property:"background-color"},editableIconColor:{...c,property:"color"},editableBorderColor:{...c,property:"border-color"},editableBackgroundColor:{...c,property:"background-color"}}}),a.e4,a.Ae)(d);n(62775),n(57911),n(56594),customElements.define(s,h)}}]);
1
+ "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[8873],{33120:(t,e,n)=>{n.r(e),n.d(e,{AvatarClass:()=>h});var a=n(94978),o=n(33346),r=n(2061),i=n(54567);const s=(0,i.iY)("avatar");class d extends((0,o.s)({componentName:s,baseSelector:":host > .wrapper"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n\t\t\t<style>\n\t\t\t\t:host {\n\t\t\t\t\tdisplay: inline-flex;\n\t\t\t\t}\n\n .editableBadge {\n border: 1px solid;\n border-radius: 100%;\n height: fit-content;\n width: 25%;\n height: 25%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5%;\n box-sizing: border-box;\n position: absolute;\n bottom: 0;\n inset-inline-end: 0;\n }\n\n vaadin-icon {\n color: currentcolor;\n }\n\n vaadin-avatar {\n width: 100%;\n height: 100%;\n margin: 0;\n border: none\n }\n\n .wrapper {\n display: inline-flex;\n position: relative;\n width: 100%;\n height: 100%;\n }\n </style>\n\n\n <div class="wrapper">\n <vaadin-avatar></vaadin-avatar>\n <div class="editableBadge">\n <vaadin-icon icon="vaadin:pencil"></vaadin-icon>\n </div>\n </div>\n\t\t',this.avatarComponent=this.shadowRoot.querySelector("vaadin-avatar"),(0,i.oP)(this,this.avatarComponent,{includeAttrs:["display-name","img","abbr"],mapAttrs:{"display-name":"name"}});const t=this.shadowRoot.querySelector(".editableBadge");(0,i.FX)(this,(()=>{t.style.display=this.isEditable?"":"none"}),{includeAttrs:["editable"]})}get isEditable(){return"true"===this.getAttribute("editable")}}const{host:l,editableBadge:c,avatar:p}={host:{selector:()=>":host"},editableBadge:{selector:"> .editableBadge"},avatar:{selector:"vaadin-avatar"}},h=(0,r.qC)((0,a.yk)({mappings:{hostWidth:[{...l,property:"width"},{...l,property:"min-width"}],hostHeight:{...l,property:"height"},cursor:[p,l],hostDirection:{...l,property:"direction"},avatarTextColor:{...p,property:"color"},avatarBackgroundColor:{...p,property:"background-color"},editableIconColor:{...c,property:"color"},editableBorderColor:{...c,property:"border-color"},editableBackgroundColor:{...c,property:"background-color"}}}),a.e4,a.Ae)(d);n(62775),n(57911),n(56594),customElements.define(s,h)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[257],{78781:(t,e,n)=>{n.r(e),n.d(e,{ListClass:()=>m});var s=n(94978),o=n(33346),i=n(2061),r=n(54567);const a=(0,r.iY)("list-item"),l=(0,i.qC)((0,s.yk)({mappings:{padding:{},backgroundColor:{},borderColor:{},borderStyle:{},borderWidth:{},borderRadius:{},outline:{},cursor:{},gap:{},maxWidth:{selector:()=>":host"},alignItems:{},flexDirection:{},transition:{}}}),s.e4,s.Ae,(t=>class extends t{constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n <style>\n /*css*/\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n\n /*!css*/\n </style>\n <slot></slot>\n "}}),(t=>class extends t{init(){super.init?.(),this.baseElement.addEventListener("mousedown",(t=>{t.preventDefault(),this.setAttribute("active","true"),window.addEventListener("mouseup",(()=>this.removeAttribute("active")),{once:!0})}))}}))((0,o.s)({componentName:a,baseSelector:"slot"})),d=(0,r.iY)("list");class p extends((0,o.s)({componentName:d,baseSelector:".wrapper"})){static get observedAttributes(){return["variant"]}constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n\t\t<style>\n\t /*css*/\n .wrapper {\n overflow: auto;\n display: grid;\n max-height: 100%;\n width: 100%;\n }\n\n :host {\n display: inline-flex;\n width: 100%;\n }\n slot[name="empty-state"] {\n justify-content: center;\n align-items: center;\n display: flex;\n flex-grow: 1;\n }\n\n :host slot[name="empty-state"] {\n display: none;\n }\n :host([empty]) slot[name="empty-state"] {\n display: flex;\n }\n ::slotted(:not([slot])) {\n width: 100%;\n }\n /*!css*/\n\t\t</style>\n\n <div class="wrapper">\n <slot></slot>\n <slot name="empty-state">\n No item...\n </slot>\n </div>\n\t'}get items(){return this.shadowRoot.querySelector("slot").assignedElements()}#t(){0===this.items.length?this.setAttribute("empty","true"):this.removeAttribute("empty")}get variant(){return this.getAttribute("variant")||"list"}#e(){this.items.forEach((t=>{let e=t;e.localName!==l.componentName&&(e=t.querySelector(l.componentName));const n="tiles"===this.variant?"tile":"row";e.setAttribute("variant",n)}))}init(){super.init?.(),(0,r.P$)(this,(()=>{this.#t(),this.#e()}))}attributeChangedCallback(t,e,n){super.attributeChangedCallback?.(t,e,n),n!==e&&"variant"===t&&this.#e()}}const m=(0,i.qC)((0,s.yk)({mappings:{hostWidth:{selector:()=>":host",property:"width"},maxHeight:{selector:()=>":host"},minHeight:{},verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],hostDirection:{selector:()=>":host",property:"direction"},fontFamily:{},gap:{},backgroundColor:{},borderRadius:{},borderColor:{},borderStyle:{},borderWidth:{},boxShadow:{},gridTemplateColumns:{},maxItemsWidth:{selector:()=>"::slotted(:not([slot]))",property:"max-width"},minItemsWidth:{selector:()=>"::slotted(:not([slot]))",property:"min-width"},itemsHorizontalAlign:{selector:()=>"::slotted(*)",property:"justify-self"},emptyStateTextColor:{selector:()=>'slot[name="empty-state"]',property:"color"},emptyStateTextFontFamily:{selector:()=>'slot[name="empty-state"]',property:"font-family"}}}),s.e4,s.Ae)(p);customElements.define(d,m),customElements.define(a,l)}}]);
package/dist/umd/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,s){"object"==typeof exports&&"object"==typeof module?module.exports=s():"function"==typeof define&&define.amd?define([],s):"object"==typeof exports?exports.DescopeUI=s():e.DescopeUI=s()}(self,(()=>(()=>{var e,s,o,n={20534:(e,s,o)=>{var n={"./boolean-fields/descope-boolean-field-internal/index.js":[86676,5910,4978,769],"./boolean-fields/descope-checkbox/index.js":[63483,5910,7531,3227,602,8137,1224,8191,4978,3726],"./boolean-fields/descope-switch-toggle/index.js":[89203,5910,7531,3227,602,8137,1224,8191,4978,4483],"./button-selection-group-fields/descope-button-multi-selection-group-internal/index.js":[66793,5910,4978,9122],"./button-selection-group-fields/descope-button-multi-selection-group/index.js":[53795,5910,7531,3227,1224,4024,4978,5263],"./button-selection-group-fields/descope-button-selection-group-internal/index.js":[88901,5910,4978,2313],"./button-selection-group-fields/descope-button-selection-group-item/index.js":[84873,5910,7531,3227,1224,4024,4978,6656],"./button-selection-group-fields/descope-button-selection-group/index.js":[94887,5910,7531,3227,1224,4024,4978,2861],"./descope-avatar/index.js":[33120,5910,7531,3227,7911,6594,4746,4028,4978,8873],"./descope-badge/index.js":[4021,5910,4978,8012],"./descope-button/index.js":[72018,5910,7531,3227,1224,4978,9662],"./descope-code-snippet/index.js":[423,5910,637,4978,8807],"./descope-combo-box/index.js":[21294,5910,7531,3227,602,8137,4746,3830,8866,4978,9483],"./descope-container/index.js":[17107,5910,4978,7317],"./descope-date-picker/index.js":[82552,5910,7531,3227,602,8137,1224,4746,9092,4978,8017],"./descope-divider/index.js":[16162,5910,4978,4178],"./descope-email-field/index.js":[77840,5910,7531,3227,602,8137,4978,9760],"./descope-enriched-text/index.js":[20409,5910,4569,4978,5158],"./descope-grid/descope-grid-custom-column/index.js":[19278,7531,5517,5988],"./descope-grid/descope-grid-item-details-column/index.js":[79178,7531,3227,7911,6594,5517,6941],"./descope-grid/descope-grid-selection-column/index.js":[52238,5910,7531,3227,602,8137,1224,5517,8191,4978,7487],"./descope-grid/descope-grid-text-column/index.js":[42356,7531,5517,3705],"./descope-grid/index.js":[19950,5910,7531,3227,602,8137,1224,7911,6594,3830,5517,8191,637,5135,4978,9461],"./descope-icon/index.js":[72449,5910,4978,4348],"./descope-image/index.js":[28278,5910,4978,6772],"./descope-link/index.js":[65846,5910,4978,58],"./descope-loader-linear/index.js":[57845,5910,4978,6453],"./descope-loader-radial/index.js":[65747,5910,4978,3072],"./descope-logo/index.js":[61034,5910,4978,1984],"./descope-modal/index.js":[80958,5910,7531,4746,9314,4978,4641],"./descope-multi-select-combo-box/index.js":[99393,5910,7531,3227,602,8137,4746,3830,8866,1438,4978,3840],"./descope-new-password/descope-new-password-internal/index.js":[1545,5910,4978,1842],"./descope-new-password/index.js":[88974,5910,7531,3227,602,8137,1224,7911,6594,7056,4978,7055],"./descope-notification/descope-notification-card/index.js":[35400,5910,7531,3951,4978,7401],"./descope-notification/index.js":[91845,5910,7531,3951,4978,9655],"./descope-notp-image/index.js":[26016,5910,4978,869],"./descope-number-field/index.js":[66916,5910,7531,3227,602,8137,5806,4978,2142],"./descope-passcode/descope-passcode-internal/index.js":[4775,5910,4978,1841],"./descope-passcode/index.js":[64919,5910,7531,3227,602,8137,7911,6594,4525,4978,939],"./descope-password/index.js":[79279,5910,7531,3227,602,8137,1224,7056,4978,8106],"./descope-policy-validation/index.js":[38558,5910,4978,4570],"./descope-radio-group/index.js":[92031,5910,7531,3227,602,1224,7284,4978,9034],"./descope-recaptcha/index.js":[38164,5910,4978,964],"./descope-text-area/index.js":[71962,5910,7531,3227,602,8137,6770,4978,3322],"./descope-text-field/index.js":[19357,5910,7531,3227,602,8137,7911,6594,4978,2934],"./descope-text/index.js":[31876,5910,4978,2528],"./descope-totp-image/index.js":[91331,5910,4978,5364],"./descope-upload-file/index.js":[66667,5910,7531,3227,1224,4052,4978,5874],"./descope-user-attribute/index.js":[84199,5910,7531,3227,1224,7911,1612,4978,1722],"./descope-user-auth-method/index.js":[29449,5910,7531,3227,1224,7911,9562,4978,1711],"./mapping-fields/descope-mappings-field/descope-mapping-item/index.js":[36751,5910,4978,3172],"./mapping-fields/descope-mappings-field/descope-mappings-field-internal/index.js":[33820,5910,4978,5130],"./mapping-fields/descope-mappings-field/index.js":[5894,5910,7531,3227,602,8137,1224,7911,6594,4746,3830,8866,9423,4978,9299],"./mapping-fields/descope-saml-group-mappings/descope-saml-group-mappings-internal/index.js":[74115,5910,4978,9656],"./mapping-fields/descope-saml-group-mappings/index.js":[73277,5910,7531,3227,602,8137,1224,7911,6594,4746,3830,8866,9423,4978,9299,9476],"./phone-fields/descope-phone-field/descope-phone-field-internal/index.js":[99240,5910,7531,3227,602,8137,7911,6594,4746,3830,8866,63,4978,4392,9288],"./phone-fields/descope-phone-field/index.js":[76581,5910,7531,3227,602,8137,7911,6594,4746,3830,8866,63,4978,4392,9806],"./phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/index.js":[83067,5910,7531,3227,602,8137,7911,6594,4978,4392,4981],"./phone-fields/descope-phone-input-box-field/index.js":[69423,5910,7531,3227,602,8137,7911,6594,4746,3830,8866,7164,4978,4392,5119]};function i(e){if(!o.o(n,e))return Promise.resolve().then((()=>{var s=new Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}));var s=n[e],i=s[0];return Promise.all(s.slice(1).map(o.e)).then((()=>o(i)))}i.keys=()=>Object.keys(n),i.id=20534,e.exports=i},25561:(e,s,o)=>{"use strict";o.r(s),o.d(s,{componentsThemeManager:()=>n});const n=new class{static mountOnPropName="DescopeThemeManager";#e={};#s="light";#o=new Set;#n(){this.#o.forEach((e=>e?.()))}get currentThemeName(){return this.#s}set currentThemeName(e){this.#s=e,this.#n()}get currentTheme(){return this.#e[this.currentThemeName]}onCurrentThemeChange(e){return this.#o.add(e),()=>{this.#o.delete(e)}}set themes(e){this.#e=e,this.#n()}get hasThemes(){return!!Object.keys(this.#e).length}}},7507:(e,s,o)=>{const{componentsThemeManager:n}=o(25561),i=o(20534);e.exports=i.keys().reduce(((e,s)=>{const o=s.replace(/.*?([^\/]+)\/index\.js$/,"$1");return o.endsWith("-internal")||(e[o]=()=>i(s)),e}),{}),e.exports.componentsThemeManager=n}},i={};function d(e){var s=i[e];if(void 0!==s)return s.exports;var o=i[e]={exports:{}};return n[e](o,o.exports,d),o.exports}d.m=n,e=[],d.O=(s,o,n,i)=>{if(!o){var t=1/0;for(a=0;a<e.length;a++){for(var[o,n,i]=e[a],p=!0,c=0;c<o.length;c++)(!1&i||t>=i)&&Object.keys(d.O).every((e=>d.O[e](o[c])))?o.splice(c--,1):(p=!1,i<t&&(t=i));if(p){e.splice(a--,1);var r=n();void 0!==r&&(s=r)}}return s}i=i||0;for(var a=e.length;a>0&&e[a-1][2]>i;a--)e[a]=e[a-1];e[a]=[o,n,i]},d.F={},d.E=e=>{Object.keys(d.F).map((s=>{d.F[s](e)}))},d.n=e=>{var s=e&&e.__esModule?()=>e.default:()=>e;return d.d(s,{a:s}),s},d.d=(e,s)=>{for(var o in s)d.o(s,o)&&!d.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:s[o]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((s,o)=>(d.f[o](e,s),s)),[])),d.u=e=>(({58:"descope-link-index-js",769:"boolean-fields-descope-boolean-field-internal-index-js",869:"descope-notp-image-index-js",939:"descope-passcode-index-js",964:"descope-recaptcha-index-js",1711:"descope-user-auth-method-index-js",1722:"descope-user-attribute-index-js",1841:"descope-passcode-descope-passcode-internal-index-js",1842:"descope-new-password-descope-new-password-internal-index-js",1984:"descope-logo-index-js",2142:"descope-number-field-index-js",2313:"button-selection-group-fields-descope-button-selection-group-internal-index-js",2528:"descope-text-index-js",2861:"button-selection-group-fields-descope-button-selection-group-index-js",2934:"descope-text-field-index-js",3072:"descope-loader-radial-index-js",3172:"mapping-fields-descope-mappings-field-descope-mapping-item-index-js",3322:"descope-text-area-index-js",3705:"descope-grid-descope-grid-text-column-index-js",3726:"boolean-fields-descope-checkbox-index-js",3840:"descope-multi-select-combo-box-index-js",4178:"descope-divider-index-js",4348:"descope-icon-index-js",4483:"boolean-fields-descope-switch-toggle-index-js",4570:"descope-policy-validation-index-js",4641:"descope-modal-index-js",4981:"phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js",5119:"phone-fields-descope-phone-input-box-field-index-js",5130:"mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js",5158:"descope-enriched-text-index-js",5263:"button-selection-group-fields-descope-button-multi-selection-group-index-js",5364:"descope-totp-image-index-js",5874:"descope-upload-file-index-js",5988:"descope-grid-descope-grid-custom-column-index-js",6453:"descope-loader-linear-index-js",6656:"button-selection-group-fields-descope-button-selection-group-item-index-js",6772:"descope-image-index-js",6941:"descope-grid-descope-grid-item-details-column-index-js",7055:"descope-new-password-index-js",7317:"descope-container-index-js",7401:"descope-notification-descope-notification-card-index-js",7487:"descope-grid-descope-grid-selection-column-index-js",8012:"descope-badge-index-js",8017:"descope-date-picker-index-js",8106:"descope-password-index-js",8807:"descope-code-snippet-index-js",8873:"descope-avatar-index-js",9034:"descope-radio-group-index-js",9122:"button-selection-group-fields-descope-button-multi-selection-group-internal-index-js",9288:"phone-fields-descope-phone-field-descope-phone-field-internal-index-js",9299:"mapping-fields-descope-mappings-field-index-js",9461:"descope-grid-index-js",9476:"mapping-fields-descope-saml-group-mappings-index-js",9483:"descope-combo-box-index-js",9655:"descope-notification-index-js",9656:"mapping-fields-descope-saml-group-mappings-descope-saml-group-mappings-internal-index-js",9662:"descope-button-index-js",9760:"descope-email-field-index-js",9806:"phone-fields-descope-phone-field-index-js"}[e]||e)+".js"),d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,s)=>Object.prototype.hasOwnProperty.call(e,s),s={},o="@descope/web-components-ui:",d.l=(e,n,i,t)=>{if(s[e])s[e].push(n);else{var p,c;if(void 0!==i)for(var r=document.getElementsByTagName("script"),a=0;a<r.length;a++){var l=r[a];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+i){p=l;break}}p||(c=!0,(p=document.createElement("script")).charset="utf-8",p.timeout=120,d.nc&&p.setAttribute("nonce",d.nc),p.setAttribute("data-webpack",o+i),p.src=e),s[e]=[n];var u=(o,n)=>{p.onerror=p.onload=null,clearTimeout(x);var i=s[e];if(delete s[e],p.parentNode&&p.parentNode.removeChild(p),i&&i.forEach((e=>e(n))),o)return o(n)},x=setTimeout(u.bind(null,void 0,{type:"timeout",target:p}),12e4);p.onerror=u.bind(null,p.onerror),p.onload=u.bind(null,p.onload),c&&document.head.appendChild(p)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;d.g.importScripts&&(e=d.g.location+"");var s=d.g.document;if(!e&&s&&(s.currentScript&&(e=s.currentScript.src),!e)){var o=s.getElementsByTagName("script");if(o.length)for(var n=o.length-1;n>-1&&!e;)e=o[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),d.p=e})(),(()=>{var e={5524:0};d.f.j=(s,o)=>{var n=d.o(e,s)?e[s]:void 0;if(0!==n)if(n)o.push(n[2]);else{var i=new Promise(((o,i)=>n=e[s]=[o,i]));o.push(n[2]=i);var t=d.p+d.u(s),p=new Error;d.l(t,(o=>{if(d.o(e,s)&&(0!==(n=e[s])&&(e[s]=void 0),n)){var i=o&&("load"===o.type?"missing":o.type),t=o&&o.target&&o.target.src;p.message="Loading chunk "+s+" failed.\n("+i+": "+t+")",p.name="ChunkLoadError",p.type=i,p.request=t,n[1](p)}}),"chunk-"+s,s)}},d.F.j=s=>{if(!d.o(e,s)||void 0===e[s]){e[s]=null;var o=document.createElement("link");d.nc&&o.setAttribute("nonce",d.nc),o.rel="prefetch",o.as="script",o.href=d.p+d.u(s),document.head.appendChild(o)}},d.O.j=s=>0===e[s];var s=(s,o)=>{var n,i,[t,p,c]=o,r=0;if(t.some((s=>0!==e[s]))){for(n in p)d.o(p,n)&&(d.m[n]=p[n]);if(c)var a=c(d)}for(s&&s(o);r<t.length;r++)i=t[r],d.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return d.O(a)},o=self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[];o.forEach(s.bind(null,0)),o.push=s.bind(null,o.push.bind(o))})(),d.O(0,[5524],(()=>{[5910,4978,769,7531,3227,602,8137,1224,8191,3726,4483,9122,4024,5263,2313,6656,2861,7911,6594,4746,4028,8873,8012,9662,637,8807,3830,8866,9483,7317,9092,8017,4178,9760,4569,5158,5517,5988,6941,7487,3705,5135,9461,4348,6772,58,6453,3072,1984,9314,4641,1438,3840,1842,7056,7055,3951,7401,9655,869,5806,2142,1841,4525,939,8106,4570,7284,9034,964,6770,3322,2934,2528,5364,4052,5874,1612,1722,9562,1711,3172,5130,9423,9299,9656,9476,63,4392,9288,9806,4981,7164,5119].map(d.E)}),5);var t=d(7507);return d.O(t)})()));
1
+ !function(e,s){"object"==typeof exports&&"object"==typeof module?module.exports=s():"function"==typeof define&&define.amd?define([],s):"object"==typeof exports?exports.DescopeUI=s():e.DescopeUI=s()}(self,(()=>(()=>{var e,s,o,n={20534:(e,s,o)=>{var n={"./boolean-fields/descope-boolean-field-internal/index.js":[86676,5910,4978,769],"./boolean-fields/descope-checkbox/index.js":[63483,5910,7531,3227,602,8137,1224,8191,4978,3726],"./boolean-fields/descope-switch-toggle/index.js":[89203,5910,7531,3227,602,8137,1224,8191,4978,4483],"./button-selection-group-fields/descope-button-multi-selection-group-internal/index.js":[66793,5910,4978,9122],"./button-selection-group-fields/descope-button-multi-selection-group/index.js":[53795,5910,7531,3227,1224,4024,4978,5263],"./button-selection-group-fields/descope-button-selection-group-internal/index.js":[88901,5910,4978,2313],"./button-selection-group-fields/descope-button-selection-group-item/index.js":[84873,5910,7531,3227,1224,4024,4978,6656],"./button-selection-group-fields/descope-button-selection-group/index.js":[94887,5910,7531,3227,1224,4024,4978,2861],"./descope-apps-list/index.js":[19843,5910,7531,3227,7911,6594,4746,4028,4978,8569],"./descope-avatar/index.js":[33120,5910,7531,3227,7911,6594,4746,4028,4978,8873],"./descope-badge/index.js":[4021,5910,4978,8012],"./descope-button/index.js":[72018,5910,7531,3227,1224,4978,9662],"./descope-code-snippet/index.js":[423,5910,637,4978,8807],"./descope-combo-box/index.js":[21294,5910,7531,3227,602,8137,4746,3830,8866,4978,9483],"./descope-container/index.js":[17107,5910,4978,7317],"./descope-date-picker/index.js":[82552,5910,7531,3227,602,8137,1224,4746,9092,4978,8017],"./descope-divider/index.js":[16162,5910,4978,4178],"./descope-email-field/index.js":[77840,5910,7531,3227,602,8137,4978,9760],"./descope-enriched-text/index.js":[20409,5910,4569,4978,5158],"./descope-grid/descope-grid-custom-column/index.js":[19278,7531,5517,5988],"./descope-grid/descope-grid-item-details-column/index.js":[79178,7531,3227,7911,6594,5517,6941],"./descope-grid/descope-grid-selection-column/index.js":[52238,5910,7531,3227,602,8137,1224,5517,8191,4978,7487],"./descope-grid/descope-grid-text-column/index.js":[42356,7531,5517,3705],"./descope-grid/index.js":[19950,5910,7531,3227,602,8137,1224,7911,6594,3830,5517,8191,637,5135,4978,9461],"./descope-icon/index.js":[72449,5910,4978,4348],"./descope-image/index.js":[28278,5910,4978,6772],"./descope-link/index.js":[65846,5910,4978,58],"./descope-list/index.js":[78781,5910,4978,257],"./descope-loader-linear/index.js":[57845,5910,4978,6453],"./descope-loader-radial/index.js":[65747,5910,4978,3072],"./descope-logo/index.js":[61034,5910,4978,1984],"./descope-modal/index.js":[80958,5910,7531,4746,9314,4978,4641],"./descope-multi-select-combo-box/index.js":[99393,5910,7531,3227,602,8137,4746,3830,8866,1438,4978,3840],"./descope-new-password/descope-new-password-internal/index.js":[1545,5910,4978,1842],"./descope-new-password/index.js":[88974,5910,7531,3227,602,8137,1224,7911,6594,7056,4978,7055],"./descope-notification/descope-notification-card/index.js":[35400,5910,7531,3951,4978,7401],"./descope-notification/index.js":[91845,5910,7531,3951,4978,9655],"./descope-notp-image/index.js":[26016,5910,4978,869],"./descope-number-field/index.js":[66916,5910,7531,3227,602,8137,5806,4978,2142],"./descope-passcode/descope-passcode-internal/index.js":[4775,5910,4978,1841],"./descope-passcode/index.js":[64919,5910,7531,3227,602,8137,7911,6594,4525,4978,939],"./descope-password/index.js":[79279,5910,7531,3227,602,8137,1224,7056,4978,8106],"./descope-policy-validation/index.js":[38558,5910,4978,4570],"./descope-radio-group/index.js":[92031,5910,7531,3227,602,1224,7284,4978,9034],"./descope-recaptcha/index.js":[38164,5910,4978,964],"./descope-text-area/index.js":[71962,5910,7531,3227,602,8137,6770,4978,3322],"./descope-text-field/index.js":[19357,5910,7531,3227,602,8137,7911,6594,4978,2934],"./descope-text/index.js":[31876,5910,4978,2528],"./descope-totp-image/index.js":[91331,5910,4978,5364],"./descope-upload-file/index.js":[66667,5910,7531,3227,1224,4052,4978,5874],"./descope-user-attribute/index.js":[84199,5910,7531,3227,1224,7911,1612,4978,1722],"./descope-user-auth-method/index.js":[29449,5910,7531,3227,1224,7911,9562,4978,1711],"./mapping-fields/descope-mappings-field/descope-mapping-item/index.js":[36751,5910,4978,3172],"./mapping-fields/descope-mappings-field/descope-mappings-field-internal/index.js":[33820,5910,4978,5130],"./mapping-fields/descope-mappings-field/index.js":[5894,5910,7531,3227,602,8137,1224,7911,6594,4746,3830,8866,9423,4978,9299],"./mapping-fields/descope-saml-group-mappings/descope-saml-group-mappings-internal/index.js":[74115,5910,4978,9656],"./mapping-fields/descope-saml-group-mappings/index.js":[73277,5910,7531,3227,602,8137,1224,7911,6594,4746,3830,8866,9423,4978,9299,9476],"./phone-fields/descope-phone-field/descope-phone-field-internal/index.js":[99240,5910,7531,3227,602,8137,7911,6594,4746,3830,8866,63,4978,4392,9288],"./phone-fields/descope-phone-field/index.js":[76581,5910,7531,3227,602,8137,7911,6594,4746,3830,8866,63,4978,4392,9806],"./phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/index.js":[83067,5910,7531,3227,602,8137,7911,6594,4978,4392,4981],"./phone-fields/descope-phone-input-box-field/index.js":[69423,5910,7531,3227,602,8137,7911,6594,4746,3830,8866,7164,4978,4392,5119]};function i(e){if(!o.o(n,e))return Promise.resolve().then((()=>{var s=new Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}));var s=n[e],i=s[0];return Promise.all(s.slice(1).map(o.e)).then((()=>o(i)))}i.keys=()=>Object.keys(n),i.id=20534,e.exports=i},25561:(e,s,o)=>{"use strict";o.r(s),o.d(s,{componentsThemeManager:()=>n});const n=new class{static mountOnPropName="DescopeThemeManager";#e={};#s="light";#o=new Set;#n(){this.#o.forEach((e=>e?.()))}get currentThemeName(){return this.#s}set currentThemeName(e){this.#s=e,this.#n()}get currentTheme(){return this.#e[this.currentThemeName]}onCurrentThemeChange(e){return this.#o.add(e),()=>{this.#o.delete(e)}}set themes(e){this.#e=e,this.#n()}get hasThemes(){return!!Object.keys(this.#e).length}}},7507:(e,s,o)=>{const{componentsThemeManager:n}=o(25561),i=o(20534);e.exports=i.keys().reduce(((e,s)=>{const o=s.replace(/.*?([^\/]+)\/index\.js$/,"$1");return o.endsWith("-internal")||(e[o]=()=>i(s)),e}),{}),e.exports.componentsThemeManager=n}},i={};function d(e){var s=i[e];if(void 0!==s)return s.exports;var o=i[e]={exports:{}};return n[e](o,o.exports,d),o.exports}d.m=n,e=[],d.O=(s,o,n,i)=>{if(!o){var t=1/0;for(a=0;a<e.length;a++){for(var[o,n,i]=e[a],p=!0,c=0;c<o.length;c++)(!1&i||t>=i)&&Object.keys(d.O).every((e=>d.O[e](o[c])))?o.splice(c--,1):(p=!1,i<t&&(t=i));if(p){e.splice(a--,1);var r=n();void 0!==r&&(s=r)}}return s}i=i||0;for(var a=e.length;a>0&&e[a-1][2]>i;a--)e[a]=e[a-1];e[a]=[o,n,i]},d.F={},d.E=e=>{Object.keys(d.F).map((s=>{d.F[s](e)}))},d.n=e=>{var s=e&&e.__esModule?()=>e.default:()=>e;return d.d(s,{a:s}),s},d.d=(e,s)=>{for(var o in s)d.o(s,o)&&!d.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:s[o]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((s,o)=>(d.f[o](e,s),s)),[])),d.u=e=>(({58:"descope-link-index-js",257:"descope-list-index-js",769:"boolean-fields-descope-boolean-field-internal-index-js",869:"descope-notp-image-index-js",939:"descope-passcode-index-js",964:"descope-recaptcha-index-js",1711:"descope-user-auth-method-index-js",1722:"descope-user-attribute-index-js",1841:"descope-passcode-descope-passcode-internal-index-js",1842:"descope-new-password-descope-new-password-internal-index-js",1984:"descope-logo-index-js",2142:"descope-number-field-index-js",2313:"button-selection-group-fields-descope-button-selection-group-internal-index-js",2528:"descope-text-index-js",2861:"button-selection-group-fields-descope-button-selection-group-index-js",2934:"descope-text-field-index-js",3072:"descope-loader-radial-index-js",3172:"mapping-fields-descope-mappings-field-descope-mapping-item-index-js",3322:"descope-text-area-index-js",3705:"descope-grid-descope-grid-text-column-index-js",3726:"boolean-fields-descope-checkbox-index-js",3840:"descope-multi-select-combo-box-index-js",4178:"descope-divider-index-js",4348:"descope-icon-index-js",4483:"boolean-fields-descope-switch-toggle-index-js",4570:"descope-policy-validation-index-js",4641:"descope-modal-index-js",4981:"phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js",5119:"phone-fields-descope-phone-input-box-field-index-js",5130:"mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js",5158:"descope-enriched-text-index-js",5263:"button-selection-group-fields-descope-button-multi-selection-group-index-js",5364:"descope-totp-image-index-js",5874:"descope-upload-file-index-js",5988:"descope-grid-descope-grid-custom-column-index-js",6453:"descope-loader-linear-index-js",6656:"button-selection-group-fields-descope-button-selection-group-item-index-js",6772:"descope-image-index-js",6941:"descope-grid-descope-grid-item-details-column-index-js",7055:"descope-new-password-index-js",7317:"descope-container-index-js",7401:"descope-notification-descope-notification-card-index-js",7487:"descope-grid-descope-grid-selection-column-index-js",8012:"descope-badge-index-js",8017:"descope-date-picker-index-js",8106:"descope-password-index-js",8569:"descope-apps-list-index-js",8807:"descope-code-snippet-index-js",8873:"descope-avatar-index-js",9034:"descope-radio-group-index-js",9122:"button-selection-group-fields-descope-button-multi-selection-group-internal-index-js",9288:"phone-fields-descope-phone-field-descope-phone-field-internal-index-js",9299:"mapping-fields-descope-mappings-field-index-js",9461:"descope-grid-index-js",9476:"mapping-fields-descope-saml-group-mappings-index-js",9483:"descope-combo-box-index-js",9655:"descope-notification-index-js",9656:"mapping-fields-descope-saml-group-mappings-descope-saml-group-mappings-internal-index-js",9662:"descope-button-index-js",9760:"descope-email-field-index-js",9806:"phone-fields-descope-phone-field-index-js"}[e]||e)+".js"),d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,s)=>Object.prototype.hasOwnProperty.call(e,s),s={},o="@descope/web-components-ui:",d.l=(e,n,i,t)=>{if(s[e])s[e].push(n);else{var p,c;if(void 0!==i)for(var r=document.getElementsByTagName("script"),a=0;a<r.length;a++){var l=r[a];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+i){p=l;break}}p||(c=!0,(p=document.createElement("script")).charset="utf-8",p.timeout=120,d.nc&&p.setAttribute("nonce",d.nc),p.setAttribute("data-webpack",o+i),p.src=e),s[e]=[n];var u=(o,n)=>{p.onerror=p.onload=null,clearTimeout(x);var i=s[e];if(delete s[e],p.parentNode&&p.parentNode.removeChild(p),i&&i.forEach((e=>e(n))),o)return o(n)},x=setTimeout(u.bind(null,void 0,{type:"timeout",target:p}),12e4);p.onerror=u.bind(null,p.onerror),p.onload=u.bind(null,p.onload),c&&document.head.appendChild(p)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;d.g.importScripts&&(e=d.g.location+"");var s=d.g.document;if(!e&&s&&(s.currentScript&&(e=s.currentScript.src),!e)){var o=s.getElementsByTagName("script");if(o.length)for(var n=o.length-1;n>-1&&!e;)e=o[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),d.p=e})(),(()=>{var e={5524:0};d.f.j=(s,o)=>{var n=d.o(e,s)?e[s]:void 0;if(0!==n)if(n)o.push(n[2]);else{var i=new Promise(((o,i)=>n=e[s]=[o,i]));o.push(n[2]=i);var t=d.p+d.u(s),p=new Error;d.l(t,(o=>{if(d.o(e,s)&&(0!==(n=e[s])&&(e[s]=void 0),n)){var i=o&&("load"===o.type?"missing":o.type),t=o&&o.target&&o.target.src;p.message="Loading chunk "+s+" failed.\n("+i+": "+t+")",p.name="ChunkLoadError",p.type=i,p.request=t,n[1](p)}}),"chunk-"+s,s)}},d.F.j=s=>{if(!d.o(e,s)||void 0===e[s]){e[s]=null;var o=document.createElement("link");d.nc&&o.setAttribute("nonce",d.nc),o.rel="prefetch",o.as="script",o.href=d.p+d.u(s),document.head.appendChild(o)}},d.O.j=s=>0===e[s];var s=(s,o)=>{var n,i,[t,p,c]=o,r=0;if(t.some((s=>0!==e[s]))){for(n in p)d.o(p,n)&&(d.m[n]=p[n]);if(c)var a=c(d)}for(s&&s(o);r<t.length;r++)i=t[r],d.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return d.O(a)},o=self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[];o.forEach(s.bind(null,0)),o.push=s.bind(null,o.push.bind(o))})(),d.O(0,[5524],(()=>{[5910,4978,769,7531,3227,602,8137,1224,8191,3726,4483,9122,4024,5263,2313,6656,2861,7911,6594,4746,4028,8569,8873,8012,9662,637,8807,3830,8866,9483,7317,9092,8017,4178,9760,4569,5158,5517,5988,6941,7487,3705,5135,9461,4348,6772,58,257,6453,3072,1984,9314,4641,1438,3840,1842,7056,7055,3951,7401,9655,869,5806,2142,1841,4525,939,8106,4570,7284,9034,964,6770,3322,2934,2528,5364,4052,5874,1612,1722,9562,1711,3172,5130,9423,9299,9656,9476,63,4392,9288,9806,4981,7164,5119].map(d.E)}),5);var t=d(7507);return d.O(t)})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/web-components-ui",
3
- "version": "1.0.365",
3
+ "version": "1.0.367",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -0,0 +1,98 @@
1
+ import { compose } from '../../helpers';
2
+ import { getComponentName } from '../../helpers/componentHelpers';
3
+ import {
4
+ createStyleMixin,
5
+ draggableMixin,
6
+ createProxy,
7
+ componentNameValidationMixin,
8
+ } from '../../mixins';
9
+ import { createDynamicDataMixin } from '../../mixins/createDynamicDataMixin';
10
+ import { TextClass } from '../descope-text/TextClass';
11
+
12
+ export const componentName = getComponentName('apps-list');
13
+
14
+ const limitAbbreviation = (str, limit = 3) =>
15
+ str
16
+ .trim()
17
+ .split(' ')
18
+ .splice(0, limit)
19
+ .map((s) => s[0]?.toUpperCase())
20
+ .join('');
21
+
22
+ const itemRenderer = ({ name, icon, url }, _, ref) => `
23
+ <a href="${url}" target="_blank" title="${url}">
24
+ <descope-list-item>
25
+ <descope-avatar
26
+ img="${icon}"
27
+ display-name="${name}"
28
+ abbr=${limitAbbreviation(name)}
29
+ size=${ref.size}
30
+ ></descope-avatar>
31
+ <descope-text
32
+ variant="body1"
33
+ mode="primary"
34
+ >${name}</descope-text>
35
+ </descope-list-item>
36
+ </a>
37
+ `;
38
+
39
+ const customMixin = (superclass) =>
40
+ class AppsListMixinClass extends superclass {
41
+ get size() {
42
+ return this.getAttribute('size') || 'sm';
43
+ }
44
+ };
45
+
46
+ export const AppsListClass = compose(
47
+ createStyleMixin({
48
+ mappings: {
49
+ maxHeight: { selector: () => ':host' },
50
+ minHeight: { selector: () => ':host' },
51
+ hostDirection: { selector: () => ':host', property: 'direction' },
52
+ itemsFontWeight: {
53
+ selector: TextClass.componentName,
54
+ property: TextClass.cssVarList.fontWeight,
55
+ },
56
+ itemsFontSize: {
57
+ selector: TextClass.componentName,
58
+ property: TextClass.cssVarList.fontSize,
59
+ },
60
+ itemsTextAlign: {
61
+ selector: TextClass.componentName,
62
+ property: TextClass.cssVarList.textAlign,
63
+ },
64
+ },
65
+ }),
66
+ createDynamicDataMixin({ itemRenderer, rerenderAttrsList: ['size'] }),
67
+ draggableMixin,
68
+ componentNameValidationMixin,
69
+ customMixin
70
+ )(
71
+ createProxy({
72
+ slots: ['empty-state'],
73
+ wrappedEleName: 'descope-list',
74
+ excludeAttrsSync: ['tabindex', 'class'],
75
+ componentName,
76
+ style: () => `
77
+ :host {
78
+ width: 100%;
79
+ display: inline-flex;
80
+ }
81
+
82
+ descope-text::part(text-wrapper) {
83
+ display: -webkit-box;
84
+ -webkit-line-clamp: 2;
85
+ -webkit-box-orient: vertical;
86
+ overflow: hidden;
87
+ }
88
+
89
+ a {
90
+ text-decoration: none;
91
+ }
92
+
93
+ descope-text {
94
+ ${TextClass.cssVarList.hostDirection}: var(${AppsListClass.cssVarList.hostDirection});
95
+ }
96
+ `,
97
+ })
98
+ );
@@ -0,0 +1,8 @@
1
+ import '../descope-list';
2
+ import '../descope-avatar';
3
+ import '../descope-text';
4
+ import { componentName, AppsListClass } from './AppsListClass';
5
+
6
+ customElements.define(componentName, AppsListClass);
7
+
8
+ export { AppsListClass };
@@ -61,7 +61,7 @@ class RawAvatar extends createBaseClass({ componentName, baseSelector: ':host >
61
61
  this.avatarComponent = this.shadowRoot.querySelector('vaadin-avatar');
62
62
 
63
63
  forwardAttrs(this, this.avatarComponent, {
64
- includeAttrs: ['display-name', 'img'],
64
+ includeAttrs: ['display-name', 'img', 'abbr'],
65
65
  mapAttrs: { 'display-name': 'name' },
66
66
  });
67
67
 
@@ -90,7 +90,10 @@ const { host, editableBadge, avatar } = {
90
90
  export const AvatarClass = compose(
91
91
  createStyleMixin({
92
92
  mappings: {
93
- hostWidth: { ...host, property: 'width' },
93
+ hostWidth: [
94
+ { ...host, property: 'width' },
95
+ { ...host, property: 'min-width' },
96
+ ],
94
97
  hostHeight: { ...host, property: 'height' },
95
98
  cursor: [avatar, host],
96
99
  hostDirection: { ...host, property: 'direction' },
@@ -0,0 +1,140 @@
1
+ import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';
2
+ import { createBaseClass } from '../../baseClasses/createBaseClass';
3
+ import { compose } from '../../helpers';
4
+ import { getComponentName, observeChildren } from '../../helpers/componentHelpers';
5
+ import { ListItemClass } from './ListItemClass';
6
+
7
+ export const componentName = getComponentName('list');
8
+
9
+ class RawList extends createBaseClass({ componentName, baseSelector: '.wrapper' }) {
10
+ static get observedAttributes() {
11
+ return ['variant'];
12
+ }
13
+
14
+ constructor() {
15
+ super();
16
+
17
+ this.attachShadow({ mode: 'open' }).innerHTML = `
18
+ <style>
19
+ /*css*/
20
+ .wrapper {
21
+ overflow: auto;
22
+ display: grid;
23
+ max-height: 100%;
24
+ width: 100%;
25
+ }
26
+
27
+ :host {
28
+ display: inline-flex;
29
+ width: 100%;
30
+ }
31
+ slot[name="empty-state"] {
32
+ justify-content: center;
33
+ align-items: center;
34
+ display: flex;
35
+ flex-grow: 1;
36
+ }
37
+
38
+ :host slot[name="empty-state"] {
39
+ display: none;
40
+ }
41
+ :host([empty]) slot[name="empty-state"] {
42
+ display: flex;
43
+ }
44
+ ::slotted(:not([slot])) {
45
+ width: 100%;
46
+ }
47
+ /*!css*/
48
+ </style>
49
+
50
+ <div class="wrapper">
51
+ <slot></slot>
52
+ <slot name="empty-state">
53
+ No item...
54
+ </slot>
55
+ </div>
56
+ `;
57
+ }
58
+
59
+ get items() {
60
+ return this.shadowRoot.querySelector('slot').assignedElements();
61
+ }
62
+
63
+ #handleEmptyState() {
64
+ if (this.items.length === 0) {
65
+ this.setAttribute('empty', 'true');
66
+ } else {
67
+ this.removeAttribute('empty');
68
+ }
69
+ }
70
+
71
+ get variant() {
72
+ return this.getAttribute('variant') || 'list';
73
+ }
74
+
75
+ #handleItemsVariant() {
76
+ this.items.forEach((item) => {
77
+ let listItem = item;
78
+ if (listItem.localName !== ListItemClass.componentName) {
79
+ listItem = item.querySelector(ListItemClass.componentName);
80
+ }
81
+
82
+ const listItemVariant = this.variant === 'tiles' ? 'tile' : 'row';
83
+ listItem.setAttribute('variant', listItemVariant);
84
+ });
85
+ }
86
+
87
+ init() {
88
+ super.init?.();
89
+
90
+ // we want new items to get the size
91
+ observeChildren(this, () => {
92
+ this.#handleEmptyState();
93
+ this.#handleItemsVariant();
94
+ });
95
+ }
96
+
97
+ attributeChangedCallback(name, oldValue, newValue) {
98
+ super.attributeChangedCallback?.(name, oldValue, newValue);
99
+
100
+ if (newValue === oldValue) return;
101
+
102
+ if (name === 'variant') {
103
+ this.#handleItemsVariant();
104
+ }
105
+ }
106
+ }
107
+
108
+ export const ListClass = compose(
109
+ createStyleMixin({
110
+ mappings: {
111
+ hostWidth: { selector: () => ':host', property: 'width' },
112
+ maxHeight: { selector: () => ':host' },
113
+ minHeight: {},
114
+ verticalPadding: [{ property: 'padding-top' }, { property: 'padding-bottom' }],
115
+ horizontalPadding: [{ property: 'padding-left' }, { property: 'padding-right' }],
116
+ hostDirection: { selector: () => ':host', property: 'direction' },
117
+ fontFamily: {},
118
+ gap: {},
119
+
120
+ backgroundColor: {},
121
+ borderRadius: {},
122
+ borderColor: {},
123
+ borderStyle: {},
124
+ borderWidth: {},
125
+
126
+ boxShadow: {},
127
+ gridTemplateColumns: {},
128
+ maxItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'max-width' },
129
+ minItemsWidth: { selector: () => '::slotted(:not([slot]))', property: 'min-width' },
130
+ itemsHorizontalAlign: { selector: () => '::slotted(*)', property: 'justify-self' },
131
+ emptyStateTextColor: { selector: () => 'slot[name="empty-state"]', property: 'color' },
132
+ emptyStateTextFontFamily: {
133
+ selector: () => 'slot[name="empty-state"]',
134
+ property: 'font-family',
135
+ },
136
+ },
137
+ }),
138
+ draggableMixin,
139
+ componentNameValidationMixin
140
+ )(RawList);
@@ -0,0 +1,56 @@
1
+ import { createStyleMixin, draggableMixin, componentNameValidationMixin } from '../../mixins';
2
+ import { createBaseClass } from '../../baseClasses/createBaseClass';
3
+ import { compose } from '../../helpers';
4
+ import { getComponentName } from '../../helpers/componentHelpers';
5
+ import { activeableMixin } from '../../mixins/activableMixin';
6
+
7
+ export const componentName = getComponentName('list-item');
8
+
9
+ const customMixin = (superclass) =>
10
+ class ListItemMixinClass extends superclass {
11
+ constructor() {
12
+ super();
13
+
14
+ this.attachShadow({ mode: 'open' }).innerHTML = `
15
+ <style>
16
+ /*css*/
17
+ slot {
18
+ width: 100%;
19
+ display: flex;
20
+ overflow: hidden;
21
+ box-sizing: border-box;
22
+ }
23
+ :host {
24
+ display: block;
25
+ }
26
+
27
+ /*!css*/
28
+ </style>
29
+ <slot></slot>
30
+ `;
31
+ }
32
+ };
33
+
34
+ export const ListItemClass = compose(
35
+ createStyleMixin({
36
+ mappings: {
37
+ padding: {},
38
+ backgroundColor: {},
39
+ borderColor: {},
40
+ borderStyle: {},
41
+ borderWidth: {},
42
+ borderRadius: {},
43
+ outline: {},
44
+ cursor: {},
45
+ gap: {},
46
+ maxWidth: { selector: () => ':host' },
47
+ alignItems: {},
48
+ flexDirection: {},
49
+ transition: {},
50
+ },
51
+ }),
52
+ draggableMixin,
53
+ componentNameValidationMixin,
54
+ customMixin,
55
+ activeableMixin
56
+ )(createBaseClass({ componentName, baseSelector: 'slot' }));
@@ -0,0 +1,7 @@
1
+ import { componentName as listComponentName, ListClass } from './ListClass';
2
+ import { componentName as listItemComponentName, ListItemClass } from './ListItemClass';
3
+
4
+ customElements.define(listComponentName, ListClass);
5
+ customElements.define(listItemComponentName, ListItemClass);
6
+
7
+ export { ListClass };
package/src/index.cjs.js CHANGED
@@ -47,3 +47,6 @@ export { PolicyValidationClass } from './components/descope-policy-validation/Po
47
47
  export { CodeSnippetClass } from './components/descope-code-snippet/CodeSnippetClass';
48
48
  export { RadioGroupClass } from './components/descope-radio-group/RadioGroupClass';
49
49
  export { RadioButtonClass } from './components/descope-radio-group/RadioButtonClass';
50
+ export { ListClass } from './components/descope-list/ListClass';
51
+ export { ListItemClass } from './components/descope-list/ListItemClass';
52
+ export { AppsListClass } from './components/descope-apps-list/AppsListClass';
@@ -0,0 +1,14 @@
1
+ export const activeableMixin = (superclass) =>
2
+ class ActiveableMixinClass extends superclass {
3
+ init() {
4
+ super.init?.();
5
+
6
+ this.baseElement.addEventListener('mousedown', (e) => {
7
+ e.preventDefault();
8
+ this.setAttribute('active', 'true');
9
+ window.addEventListener('mouseup', () => this.removeAttribute('active'), {
10
+ once: true,
11
+ });
12
+ });
13
+ }
14
+ };
@@ -0,0 +1,84 @@
1
+ import { observeAttributes } from '../helpers/componentHelpers';
2
+
3
+ const defaultValidateSchema = () => true;
4
+ const defaultItemRenderer = (item) => `<pre>${JSON.stringify(item, null, 4)}</pre>`;
5
+
6
+ const createTemplate = (templateString) => {
7
+ const template = document.createElement('template');
8
+ template.innerHTML = templateString;
9
+
10
+ return template;
11
+ };
12
+
13
+ const getTemplateContent = (templateOrString) => {
14
+ if (typeof templateOrString === 'string') {
15
+ return createTemplate(templateOrString).content;
16
+ }
17
+
18
+ if (templateOrString instanceof HTMLTemplateElement) {
19
+ return templateOrString.content;
20
+ }
21
+
22
+ // eslint-disable-next-line no-console
23
+ console.error('Invalid template', templateOrString);
24
+ return null;
25
+ };
26
+
27
+ export const createDynamicDataMixin =
28
+ ({
29
+ itemRenderer = defaultItemRenderer,
30
+ validateSchema = defaultValidateSchema,
31
+ slotName,
32
+ rerenderAttrsList = [],
33
+ }) =>
34
+ (superclass) =>
35
+ class DynamicDataMixinClass extends superclass {
36
+ #data = [];
37
+
38
+ // eslint-disable-next-line class-methods-use-this
39
+ #validateSchema(data) {
40
+ if (!validateSchema) return true;
41
+
42
+ const validation = validateSchema(data);
43
+ if (validation === true) return true;
44
+
45
+ // eslint-disable-next-line no-console
46
+ console.error('Data schema validation failed', validation || '');
47
+
48
+ return false;
49
+ }
50
+
51
+ #removeOldItems() {
52
+ const selector = slotName ? `*[slot="${slotName}"]` : ':not([slot])';
53
+ this.baseElement.querySelectorAll(selector).forEach((item) => item.remove());
54
+ }
55
+
56
+ #renderItems() {
57
+ this.#removeOldItems();
58
+ this.data.forEach((item, index) => {
59
+ const content = getTemplateContent(itemRenderer(item, index, this));
60
+ this.baseElement.appendChild(content?.cloneNode(true));
61
+ });
62
+ }
63
+
64
+ set data(value) {
65
+ if (this.#validateSchema(value)) {
66
+ this.#data = value;
67
+ this.#renderItems();
68
+ }
69
+ }
70
+
71
+ get data() {
72
+ return this.#data;
73
+ }
74
+
75
+ init() {
76
+ super.init?.();
77
+
78
+ if (rerenderAttrsList.length) {
79
+ observeAttributes(this, () => this.#renderItems(), { includeAttrs: rerenderAttrsList });
80
+ } else {
81
+ this.#renderItems();
82
+ }
83
+ }
84
+ };
@@ -26,7 +26,7 @@ export const createProxy = ({
26
26
  .map(
27
27
  (
28
28
  slot // when slot is an empty string, we will create the default slot (without a name)
29
- ) => `<slot ${slot ? `name="${slot}" slot="${slot}"` : ''} ></slot>`
29
+ ) => `<slot ${slot ? `name="${slot}" slot="${slot}"` : ''}></slot>`
30
30
  )
31
31
  .join('')}
32
32
  </${wrappedEleName}>
@@ -84,6 +84,7 @@ export const inputValidationMixin = (superclass) =>
84
84
  badInput,
85
85
  customError,
86
86
  } = flags;
87
+
87
88
  switch (true) {
88
89
  case valueMissing:
89
90
  return (
@@ -96,7 +97,9 @@ export const inputValidationMixin = (superclass) =>
96
97
  );
97
98
  case typeMismatch:
98
99
  return (
99
- this.getAttribute(errorAttributes.typeMismatch) || this.defaultErrorMsgTypeMismatch
100
+ this.getAttribute(errorAttributes.typeMismatch) ||
101
+ this.getAttribute(errorAttributes.patternMismatch) ||
102
+ this.defaultErrorMsgTypeMismatch
100
103
  );
101
104
  case tooShort:
102
105
  return this.getAttribute(errorAttributes.tooShort) || this.defaultErrorMsgTooShort;
@@ -0,0 +1,36 @@
1
+ import { AppsListClass } from '../../components/descope-apps-list/AppsListClass';
2
+ import { getThemeRefs } from '../../helpers/themeHelpers';
3
+ import globals from '../globals';
4
+
5
+ export const vars = AppsListClass.cssVarList;
6
+ const globalRefs = getThemeRefs(globals);
7
+
8
+ const defaultHeight = '400px';
9
+
10
+ const appsList = {
11
+ [vars.itemsFontWeight]: 'normal',
12
+ [vars.itemsTextAlign]: 'start',
13
+ [vars.hostDirection]: globalRefs.direction,
14
+ [vars.maxHeight]: defaultHeight,
15
+
16
+ _empty: {
17
+ [vars.minHeight]: defaultHeight,
18
+ },
19
+
20
+ size: {
21
+ xs: {
22
+ [vars.itemsFontSize]: '14px',
23
+ },
24
+ sm: {
25
+ [vars.itemsFontSize]: '14px',
26
+ },
27
+ md: {
28
+ [vars.itemsFontSize]: '16px',
29
+ },
30
+ lg: {
31
+ [vars.itemsFontSize]: '20px',
32
+ },
33
+ },
34
+ };
35
+
36
+ export default appsList;