@descope/web-components-ui 2.1.18 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +290 -255
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +8084 -8026
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/1899.js +1 -1
- package/dist/umd/1899.js.map +1 -1
- package/dist/umd/4623.js +1 -1
- package/dist/umd/4623.js.map +1 -1
- package/dist/umd/4914.js +1 -1
- package/dist/umd/4914.js.map +1 -1
- package/dist/umd/5648.js +1 -1
- package/dist/umd/5648.js.map +1 -1
- package/dist/umd/9582.js +2 -0
- package/dist/umd/9582.js.map +1 -0
- package/dist/umd/DescopeDev.js +1 -1
- package/dist/umd/DescopeDev.js.map +1 -1
- package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js +1 -1
- package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js.map +1 -1
- package/dist/umd/boolean-fields-descope-checkbox-index-js.js +1 -1
- package/dist/umd/boolean-fields-descope-checkbox-index-js.js.map +1 -1
- package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +1 -1
- package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js.map +1 -1
- package/dist/umd/descope-alert-index-js.js +1 -1
- package/dist/umd/descope-alert-index-js.js.map +1 -1
- package/dist/umd/descope-apps-list.js +1 -1
- package/dist/umd/descope-apps-list.js.map +1 -1
- package/dist/umd/descope-email-field-index-js.js +1 -1
- package/dist/umd/descope-email-field-index-js.js.map +1 -1
- package/dist/umd/descope-enriched-text.js +1 -1
- package/dist/umd/descope-enriched-text.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-index-js.js +1 -1
- package/dist/umd/descope-grid-index-js.js.map +1 -1
- package/dist/umd/descope-passcode-index-js.js +1 -1
- package/dist/umd/descope-passcode-index-js.js.map +1 -1
- package/dist/umd/descope-scopes-list-index-js.js +1 -1
- package/dist/umd/descope-scopes-list-index-js.js.map +1 -1
- package/dist/umd/descope-security-questions-verify-index-js.js +1 -1
- package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -1
- package/dist/umd/descope-text-field-index-js.js +1 -1
- package/dist/umd/descope-text-field-index-js.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js.map +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.map +1 -1
- package/package.json +28 -28
- package/src/components/boolean-fields/commonStyles.js +11 -1
- package/src/components/boolean-fields/descope-boolean-field-internal/BooleanFieldInternal.js +32 -4
- package/src/components/boolean-fields/descope-checkbox/CheckboxClass.js +15 -2
- package/src/components/boolean-fields/descope-checkbox/index.js +1 -0
- package/src/components/boolean-fields/descope-switch-toggle/SwitchToggleClass.js +5 -2
- package/src/components/boolean-fields/descope-switch-toggle/index.js +1 -0
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
/* For backwards compatibility */
|
|
15
15
|
--lumo-icon-size: var(--lumo-icon-size-m);
|
|
16
16
|
}
|
|
17
|
-
`;(0,i.q)("sizing-props",n)},44099:(t,e,o)=>{o.d(e,{r:()=>r});var s=o(1508),i=o(65641),n=o(11707);class r extends EventTarget{static generateId(t,e){return`${e||"default"}-${t.localName}-${(0,n.I)()}`}constructor(t,e,o,s={}){super();const{initializer:i,multiple:n,observe:r,useUniqueId:a}=s;this.host=t,this.slotName=e,this.tagName=o,this.observe="boolean"!=typeof r||r,this.multiple="boolean"==typeof n&&n,this.slotInitializer=i,n&&(this.nodes=[]),a&&(this.defaultId=this.constructor.generateId(t,e))}hostConnected(){this.initialized||(this.multiple?this.initMultiple():this.initSingle(),this.observe&&this.observeSlot(),this.initialized=!0)}initSingle(){let t=this.getSlotChild();t?(this.node=t,this.initAddedNode(t)):(t=this.attachDefaultNode(),this.initNode(t))}initMultiple(){const t=this.getSlotChildren();if(0===t.length){const t=this.attachDefaultNode();t&&(this.nodes=[t],this.initNode(t))}else this.nodes=t,t.forEach(t=>{this.initAddedNode(t)})}attachDefaultNode(){const{host:t,slotName:e,tagName:o}=this;let s=this.defaultNode;return!s&&o&&(s=document.createElement(o),s instanceof Element&&(""!==e&&s.setAttribute("slot",e),this.defaultNode=s)),s&&(this.node=s,t.appendChild(s)),s}getSlotChildren(){const{slotName:t}=this;return Array.from(this.host.childNodes).filter(e=>e.nodeType===Node.ELEMENT_NODE&&e.slot===t||e.nodeType===Node.TEXT_NODE&&e.textContent.trim()&&""===t)}getSlotChild(){return this.getSlotChildren()[0]}initNode(t){const{slotInitializer:e}=this;e&&e(t,this.host)}initCustomNode(t){}teardownNode(t){}initAddedNode(t){t!==this.defaultNode&&(this.initCustomNode(t),this.initNode(t))}observeSlot(){const{slotName:t}=this,e=""===t?"slot:not([name])":`slot[name=${t}]`,o=this.host.shadowRoot.querySelector(e);this.__slotObserver=new i.P(o,({addedNodes:t,removedNodes:e})=>{const o=this.multiple?this.nodes:[this.node],i=t.filter(t=>!(0,s.ZA)(t)&&!o.includes(t));e.length&&(this.nodes=o.filter(t=>!e.includes(t)),e.forEach(t=>{this.teardownNode(t)})),i&&i.length>0&&(this.multiple?(this.defaultNode&&this.defaultNode.remove(),this.nodes=[...o,...i].filter(t=>t!==this.defaultNode),i.forEach(t=>{this.initAddedNode(t)})):(this.node&&this.node.remove(),this.node=i[0],this.initAddedNode(this.node)))})}}},45400:(t,e,o)=>{o.r(e),o.d(e,{ListClass:()=>s.x,componentName:()=>s.T}),o(24542);var s=o(7720);customElements.define(s.T,s.x)},47477:(t,e,o)=>{o.r(e),o.d(e,{AppsListClass:()=>h,componentName:()=>l}),o(45400),o(53557),o(63595);var s=o(63200),i=o(25964),n=o(88961),r=o(66434),a=o(7720),d=o(93895);const l=(0,i.xE)("apps-list"),h=(0,s.Zz)((0,n.RF)({mappings:{maxHeight:{selector:()=>":host"},minHeight:{selector:()=>":host"},hostDirection:{selector:()=>":host",property:"direction"},itemsFontWeight:{selector:r.s.componentName,property:r.s.cssVarList.fontWeightOverride},itemsFontSize:{selector:r.s.componentName,property:r.s.cssVarList.fontSizeOverride},itemsTextAlign:{selector:r.s.componentName,property:r.s.cssVarList.textAlign},itemBackgroundColor:{selector:d.O.componentName,property:d.O.cssVarList.backgroundColor},backgroundColor:{selector:a.x.componentName,property:a.x.cssVarList.backgroundColorOverride},itemBorderStyle:{selector:d.O.componentName,property:d.O.cssVarList.borderStyleOverride},itemBorderColor:{selector:d.O.componentName,property:d.O.cssVarList.borderColorOverride},itemBorderWidth:{selector:d.O.componentName,property:d.O.cssVarList.borderWidthOverride},itemVerticalPadding:{selector:d.O.componentName,property:d.O.cssVarList.verticalPaddingOverride},itemHorizontalPadding:{selector:d.O.componentName,property:d.O.cssVarList.horizontalPaddingOverride},itemAlignment:[{selector:d.O.componentName,property:d.O.cssVarList.alignItemsOverride},{selector:r.s.componentName,property:r.s.cssVarList.textAlign}]}}),(0,n.t$)({itemRenderer:({name:t,icon:e,url:o},s,n)=>`\n <a ${o?`href="${o}" title="${o}"`:""} target="_blank">\n <descope-list-item>\n <descope-avatar\n ${e?`img="${e}"`:""}\n ${t?`display-name="${t}" abbr=${(0,i.ie)(t)}`:""}\n size="${n.logoSize||n.size}"\n ></descope-avatar>\n <descope-text\n variant="${n.itemTextVariant}"\n mode="primary"\n >${t}</descope-text>\n </descope-list-item>\n </a>\n`,rerenderAttrsList:["size","item-text-variant","logo-size"]}),n.VO,n.tQ,t=>class extends t{get size(){return this.getAttribute("size")||"sm"}get itemTextVariant(){return this.getAttribute("item-text-variant")||"body1"}get logoSize(){return this.getAttribute("logo-size")}})((0,n.tz)({slots:["empty-state"],wrappedEleName:"descope-list",excludeAttrsSync:["tabindex","class","empty","style"],componentName:l,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 ${r.s.cssVarList.hostDirection}: var(${h.cssVarList.hostDirection});\n max-width: 100%;\n }\n `}));customElements.define(l,h)},53149:(t,e,o)=>{o.d(e,{y:()=>n});var s=o(98741),i=o(30025);const n=(0,s.y)(t=>class extends t{get _keyboardActive(){return(0,i.aJ)()}ready(){this.addEventListener("focusin",t=>{this._shouldSetFocus(t)&&this._setFocused(!0)}),this.addEventListener("focusout",t=>{this._shouldRemoveFocus(t)&&this._setFocused(!1)}),super.ready()}disconnectedCallback(){super.disconnectedCallback(),this.hasAttribute("focused")&&this._setFocused(!1)}_setFocused(t){this.toggleAttribute("focused",t),this.toggleAttribute("focus-ring",t&&this._keyboardActive)}_shouldSetFocus(t){return!0}_shouldRemoveFocus(t){return!0}})},53557:(t,e,o)=>{o.r(e),o.d(e,{AvatarClass:()=>p,componentName:()=>a});var s=o(88961),i=o(72270),n=o(63200),r=o(25964);const a=(0,r.xE)("avatar");class d extends((0,i.qu)({componentName:a,baseSelector:":host > .wrapper"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\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',(0,r.fz)("\n :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 ",this),this.avatarComponent=this.shadowRoot.querySelector("vaadin-avatar"),(0,r.EA)(this,this.avatarComponent,{includeAttrs:["display-name","img","abbr"],mapAttrs:{"display-name":"name"}});const t=this.shadowRoot.querySelector(".editableBadge");(0,r.mx)(this,()=>{t.style.display=this.isEditable?"":"none"},{includeAttrs:["editable"]})}get isEditable(){return"true"===this.getAttribute("editable")}}const{host:l,editableBadge:h,avatar:c}={host:{selector:()=>":host"},editableBadge:{selector:"> .editableBadge"},avatar:{selector:"vaadin-avatar"}},p=(0,n.Zz)((0,s.RF)({mappings:{hostWidth:[{...l,property:"width"},{...l,property:"min-width"}],hostHeight:{...l,property:"height"},cursor:[c,l],hostDirection:{...l,property:"direction"},avatarTextColor:{...c,property:"color"},avatarBackgroundColor:{...c,property:"background-color"},editableIconColor:{...h,property:"color"},editableBorderColor:{...h,property:"border-color"},editableBackgroundColor:{...h,property:"background-color"}}}),s.VO,s.tQ)(d);o(4408),o(95260),o(37182),customElements.define(a,p)},63595:(t,e,o)=>{o.r(e),o.d(e,{TextClass:()=>s.s,componentName:()=>s.T});var s=o(66434);customElements.define(s.T,s.s)},65641:(t,e,o)=>{o.d(e,{P:()=>s});class s{constructor(t,e){this.slot=t,this.callback=e,this._storedNodes=[],this._connected=!1,this._scheduled=!1,this._boundSchedule=()=>{this._schedule()},this.connect(),this._schedule()}connect(){this.slot.addEventListener("slotchange",this._boundSchedule),this._connected=!0}disconnect(){this.slot.removeEventListener("slotchange",this._boundSchedule),this._connected=!1}_schedule(){this._scheduled||(this._scheduled=!0,queueMicrotask(()=>{this.flush()}))}flush(){this._connected&&(this._scheduled=!1,this._processNodes())}_processNodes(){const t=this.slot.assignedNodes({flatten:!0});let e=[];const o=[],s=[];t.length&&(e=t.filter(t=>!this._storedNodes.includes(t))),this._storedNodes.length&&this._storedNodes.forEach((e,i)=>{const n=t.indexOf(e);-1===n?o.push(e):n!==i&&s.push(e)}),(e.length||o.length||s.length)&&this.callback({addedNodes:e,movedNodes:s,removedNodes:o}),this._storedNodes=t}}},66434:(t,e,o)=>{o.d(e,{T:()=>a,s:()=>h});var s=o(88961),i=o(63200),n=o(25964),r=o(72270);const a=(0,n.xE)("text");class d extends((0,r.qu)({componentName:a,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <slot part="text-wrapper"></slot>\n ',(0,n.fz)("\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n ",this)}get hideWhenEmpty(){return"true"===this.getAttribute("hide-when-empty")}init(){super.init(),(0,n.Ge)(this,()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""})}}const{host:l}={host:{selector:()=>":host"}},h=(0,i.Zz)((0,s.RF)({mappings:{hostWidth:{...l,property:"width"},hostDirection:{...l,property:"direction"},fontSize:{},textColor:[{property:"color"}],textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),s.VO,s.tQ)(d)},81488:(t,e,o)=>{o.d(e,{I:()=>i});var s=o(44099);class i extends s.r{constructor(t){super(t,"tooltip"),this.setTarget(t)}initCustomNode(t){t.target=this.target,void 0!==this.ariaTarget&&(t.ariaTarget=this.ariaTarget),void 0!==this.context&&(t.context=this.context),void 0!==this.manual&&(t.manual=this.manual),void 0!==this.opened&&(t.opened=this.opened),void 0!==this.position&&(t._position=this.position),void 0!==this.shouldShow&&(t.shouldShow=this.shouldShow),this.__notifyChange()}teardownNode(){this.__notifyChange()}setAriaTarget(t){this.ariaTarget=t;const e=this.node;e&&(e.ariaTarget=t)}setContext(t){this.context=t;const e=this.node;e&&(e.context=t)}setManual(t){this.manual=t;const e=this.node;e&&(e.manual=t)}setOpened(t){this.opened=t;const e=this.node;e&&(e.opened=t)}setPosition(t){this.position=t;const e=this.node;e&&(e._position=t)}setShouldShow(t){this.shouldShow=t;const e=this.node;e&&(e.shouldShow=t)}setTarget(t){this.target=t;const e=this.node;e&&(e.target=t)}__notifyChange(){this.dispatchEvent(new CustomEvent("tooltip-changed",{detail:{node:this.node}}))}}},93895:(t,e,o)=>{o.d(e,{O:()=>d,T:()=>a});var s=o(88961),i=o(63200),n=o(25964),r=o(72270);const a=(0,n.xE)("list-item"),d=(0,i.Zz)((0,s.RF)({mappings:{verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],backgroundColor:{},borderColor:{},borderStyle:{},borderWidth:{},borderRadius:{},outline:{},cursor:{},gap:{},maxWidth:{selector:()=>":host"},alignItems:{},flexDirection:{},transition:{}}}),s.VO,s.tQ,t=>class extends t{constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n <slot></slot>\n ",(0,n.fz)("\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n ",this)}},s.y)((0,r.qu)({componentName:a,baseSelector:"slot"}))}}]);
|
|
17
|
+
`;(0,i.q)("sizing-props",n)},44099:(t,e,o)=>{o.d(e,{r:()=>r});var s=o(1508),i=o(65641),n=o(11707);class r extends EventTarget{static generateId(t,e){return`${e||"default"}-${t.localName}-${(0,n.I)()}`}constructor(t,e,o,s={}){super();const{initializer:i,multiple:n,observe:r,useUniqueId:a}=s;this.host=t,this.slotName=e,this.tagName=o,this.observe="boolean"!=typeof r||r,this.multiple="boolean"==typeof n&&n,this.slotInitializer=i,n&&(this.nodes=[]),a&&(this.defaultId=this.constructor.generateId(t,e))}hostConnected(){this.initialized||(this.multiple?this.initMultiple():this.initSingle(),this.observe&&this.observeSlot(),this.initialized=!0)}initSingle(){let t=this.getSlotChild();t?(this.node=t,this.initAddedNode(t)):(t=this.attachDefaultNode(),this.initNode(t))}initMultiple(){const t=this.getSlotChildren();if(0===t.length){const t=this.attachDefaultNode();t&&(this.nodes=[t],this.initNode(t))}else this.nodes=t,t.forEach(t=>{this.initAddedNode(t)})}attachDefaultNode(){const{host:t,slotName:e,tagName:o}=this;let s=this.defaultNode;return!s&&o&&(s=document.createElement(o),s instanceof Element&&(""!==e&&s.setAttribute("slot",e),this.defaultNode=s)),s&&(this.node=s,t.appendChild(s)),s}getSlotChildren(){const{slotName:t}=this;return Array.from(this.host.childNodes).filter(e=>e.nodeType===Node.ELEMENT_NODE&&e.slot===t||e.nodeType===Node.TEXT_NODE&&e.textContent.trim()&&""===t)}getSlotChild(){return this.getSlotChildren()[0]}initNode(t){const{slotInitializer:e}=this;e&&e(t,this.host)}initCustomNode(t){}teardownNode(t){}initAddedNode(t){t!==this.defaultNode&&(this.initCustomNode(t),this.initNode(t))}observeSlot(){const{slotName:t}=this,e=""===t?"slot:not([name])":`slot[name=${t}]`,o=this.host.shadowRoot.querySelector(e);this.__slotObserver=new i.P(o,({addedNodes:t,removedNodes:e})=>{const o=this.multiple?this.nodes:[this.node],i=t.filter(t=>!(0,s.ZA)(t)&&!o.includes(t));e.length&&(this.nodes=o.filter(t=>!e.includes(t)),e.forEach(t=>{this.teardownNode(t)})),i&&i.length>0&&(this.multiple?(this.defaultNode&&this.defaultNode.remove(),this.nodes=[...o,...i].filter(t=>t!==this.defaultNode),i.forEach(t=>{this.initAddedNode(t)})):(this.node&&this.node.remove(),this.node=i[0],this.initAddedNode(this.node)))})}}},45400:(t,e,o)=>{o.r(e),o.d(e,{ListClass:()=>s.x,componentName:()=>s.T}),o(24542);var s=o(7720);customElements.define(s.T,s.x)},47477:(t,e,o)=>{o.r(e),o.d(e,{AppsListClass:()=>h,componentName:()=>l}),o(45400),o(53557),o(63595);var s=o(63200),i=o(25964),n=o(88961),r=o(66434),a=o(7720),d=o(93895);const l=(0,i.xE)("apps-list"),h=(0,s.Zz)((0,n.RF)({mappings:{maxHeight:{selector:()=>":host"},minHeight:{selector:()=>":host"},hostDirection:{selector:()=>":host",property:"direction"},itemsFontWeight:{selector:r.s.componentName,property:r.s.cssVarList.fontWeightOverride},itemsFontSize:{selector:r.s.componentName,property:r.s.cssVarList.fontSizeOverride},itemsTextAlign:{selector:r.s.componentName,property:r.s.cssVarList.textAlign},itemBackgroundColor:{selector:d.O.componentName,property:d.O.cssVarList.backgroundColor},backgroundColor:{selector:a.x.componentName,property:a.x.cssVarList.backgroundColorOverride},itemBorderStyle:{selector:d.O.componentName,property:d.O.cssVarList.borderStyleOverride},itemBorderColor:{selector:d.O.componentName,property:d.O.cssVarList.borderColorOverride},itemBorderWidth:{selector:d.O.componentName,property:d.O.cssVarList.borderWidthOverride},itemVerticalPadding:{selector:d.O.componentName,property:d.O.cssVarList.verticalPaddingOverride},itemHorizontalPadding:{selector:d.O.componentName,property:d.O.cssVarList.horizontalPaddingOverride},itemAlignment:[{selector:()=>".avatar-wrapper",property:"text-align"},{selector:r.s.componentName,property:r.s.cssVarList.textAlign}]}}),(0,n.t$)({itemRenderer:({name:t,icon:e,url:o},s,n)=>`\n <a ${o?`href="${o}" title="${o}"`:""} target="_blank">\n <descope-list-item>\n <div class="avatar-wrapper">\n <descope-avatar\n ${e?`img="${e}"`:""}\n ${t?`display-name="${t}" abbr=${(0,i.ie)(t)}`:""}\n size="${n.logoSize||n.size}"\n ></descope-avatar>\n </div>\n <descope-text\n variant="${n.itemTextVariant}"\n mode="primary"\n >${t}</descope-text>\n </descope-list-item>\n </a>\n`,rerenderAttrsList:["size","item-text-variant","logo-size"]}),n.VO,n.tQ,t=>class extends t{get size(){return this.getAttribute("size")||"sm"}get itemTextVariant(){return this.getAttribute("item-text-variant")||"body1"}get logoSize(){return this.getAttribute("logo-size")}})((0,n.tz)({slots:["empty-state"],wrappedEleName:"descope-list",excludeAttrsSync:["tabindex","class","empty","style"],componentName:l,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 descope-list-item[variant="tile"] .avatar-wrapper {\n width: 100%;\n }\n\n .avatar-wrapper {\n line-height: 0;\n }\n\n a {\n text-decoration: none;\n }\n\n descope-text {\n ${r.s.cssVarList.hostDirection}: var(${h.cssVarList.hostDirection});\n max-width: 100%;\n width: 100%;\n }\n `}));customElements.define(l,h)},53149:(t,e,o)=>{o.d(e,{y:()=>n});var s=o(98741),i=o(30025);const n=(0,s.y)(t=>class extends t{get _keyboardActive(){return(0,i.aJ)()}ready(){this.addEventListener("focusin",t=>{this._shouldSetFocus(t)&&this._setFocused(!0)}),this.addEventListener("focusout",t=>{this._shouldRemoveFocus(t)&&this._setFocused(!1)}),super.ready()}disconnectedCallback(){super.disconnectedCallback(),this.hasAttribute("focused")&&this._setFocused(!1)}_setFocused(t){this.toggleAttribute("focused",t),this.toggleAttribute("focus-ring",t&&this._keyboardActive)}_shouldSetFocus(t){return!0}_shouldRemoveFocus(t){return!0}})},53557:(t,e,o)=>{o.r(e),o.d(e,{AvatarClass:()=>p,componentName:()=>a});var s=o(88961),i=o(72270),n=o(63200),r=o(25964);const a=(0,r.xE)("avatar");class d extends((0,i.qu)({componentName:a,baseSelector:":host > .wrapper"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\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',(0,r.fz)("\n :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 ",this),this.avatarComponent=this.shadowRoot.querySelector("vaadin-avatar"),(0,r.EA)(this,this.avatarComponent,{includeAttrs:["display-name","img","abbr"],mapAttrs:{"display-name":"name"}});const t=this.shadowRoot.querySelector(".editableBadge");(0,r.mx)(this,()=>{t.style.display=this.isEditable?"":"none"},{includeAttrs:["editable"]})}get isEditable(){return"true"===this.getAttribute("editable")}}const{host:l,editableBadge:h,avatar:c}={host:{selector:()=>":host"},editableBadge:{selector:"> .editableBadge"},avatar:{selector:"vaadin-avatar"}},p=(0,n.Zz)((0,s.RF)({mappings:{hostWidth:[{...l,property:"width"},{...l,property:"min-width"}],hostHeight:{...l,property:"height"},cursor:[c,l],hostDirection:{...l,property:"direction"},avatarTextColor:{...c,property:"color"},avatarBackgroundColor:{...c,property:"background-color"},editableIconColor:{...h,property:"color"},editableBorderColor:{...h,property:"border-color"},editableBackgroundColor:{...h,property:"background-color"}}}),s.VO,s.tQ)(d);o(4408),o(95260),o(37182),customElements.define(a,p)},63595:(t,e,o)=>{o.r(e),o.d(e,{TextClass:()=>s.s,componentName:()=>s.T});var s=o(66434);customElements.define(s.T,s.s)},65641:(t,e,o)=>{o.d(e,{P:()=>s});class s{constructor(t,e){this.slot=t,this.callback=e,this._storedNodes=[],this._connected=!1,this._scheduled=!1,this._boundSchedule=()=>{this._schedule()},this.connect(),this._schedule()}connect(){this.slot.addEventListener("slotchange",this._boundSchedule),this._connected=!0}disconnect(){this.slot.removeEventListener("slotchange",this._boundSchedule),this._connected=!1}_schedule(){this._scheduled||(this._scheduled=!0,queueMicrotask(()=>{this.flush()}))}flush(){this._connected&&(this._scheduled=!1,this._processNodes())}_processNodes(){const t=this.slot.assignedNodes({flatten:!0});let e=[];const o=[],s=[];t.length&&(e=t.filter(t=>!this._storedNodes.includes(t))),this._storedNodes.length&&this._storedNodes.forEach((e,i)=>{const n=t.indexOf(e);-1===n?o.push(e):n!==i&&s.push(e)}),(e.length||o.length||s.length)&&this.callback({addedNodes:e,movedNodes:s,removedNodes:o}),this._storedNodes=t}}},66434:(t,e,o)=>{o.d(e,{T:()=>a,s:()=>h});var s=o(88961),i=o(63200),n=o(25964),r=o(72270);const a=(0,n.xE)("text");class d extends((0,r.qu)({componentName:a,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <slot part="text-wrapper"></slot>\n ',(0,n.fz)("\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n ",this)}get hideWhenEmpty(){return"true"===this.getAttribute("hide-when-empty")}init(){super.init(),(0,n.Ge)(this,()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""})}}const{host:l}={host:{selector:()=>":host"}},h=(0,i.Zz)((0,s.RF)({mappings:{hostWidth:{...l,property:"width"},hostDirection:{...l,property:"direction"},fontSize:{},textColor:[{property:"color"}],textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),s.VO,s.tQ)(d)},81488:(t,e,o)=>{o.d(e,{I:()=>i});var s=o(44099);class i extends s.r{constructor(t){super(t,"tooltip"),this.setTarget(t)}initCustomNode(t){t.target=this.target,void 0!==this.ariaTarget&&(t.ariaTarget=this.ariaTarget),void 0!==this.context&&(t.context=this.context),void 0!==this.manual&&(t.manual=this.manual),void 0!==this.opened&&(t.opened=this.opened),void 0!==this.position&&(t._position=this.position),void 0!==this.shouldShow&&(t.shouldShow=this.shouldShow),this.__notifyChange()}teardownNode(){this.__notifyChange()}setAriaTarget(t){this.ariaTarget=t;const e=this.node;e&&(e.ariaTarget=t)}setContext(t){this.context=t;const e=this.node;e&&(e.context=t)}setManual(t){this.manual=t;const e=this.node;e&&(e.manual=t)}setOpened(t){this.opened=t;const e=this.node;e&&(e.opened=t)}setPosition(t){this.position=t;const e=this.node;e&&(e._position=t)}setShouldShow(t){this.shouldShow=t;const e=this.node;e&&(e.shouldShow=t)}setTarget(t){this.target=t;const e=this.node;e&&(e.target=t)}__notifyChange(){this.dispatchEvent(new CustomEvent("tooltip-changed",{detail:{node:this.node}}))}}},93895:(t,e,o)=>{o.d(e,{O:()=>d,T:()=>a});var s=o(88961),i=o(63200),n=o(25964),r=o(72270);const a=(0,n.xE)("list-item"),d=(0,i.Zz)((0,s.RF)({mappings:{verticalPadding:[{property:"padding-top"},{property:"padding-bottom"}],horizontalPadding:[{property:"padding-left"},{property:"padding-right"}],backgroundColor:{},borderColor:{},borderStyle:{},borderWidth:{},borderRadius:{},outline:{},cursor:{},gap:{},maxWidth:{selector:()=>":host"},alignItems:{},flexDirection:{},transition:{}}}),s.VO,s.tQ,t=>class extends t{constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n <slot></slot>\n ",(0,n.fz)("\n slot {\n width: 100%;\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n }\n :host {\n display: block;\n }\n ",this)}},s.y)((0,r.qu)({componentName:a,baseSelector:"slot"}))}}]);
|
|
18
18
|
//# sourceMappingURL=descope-apps-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descope-apps-list.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/dom-utils.js","webpack://@descope/web-components-ui/../components/descope-list/src/component/ListClass.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/unique-id-utils.js","webpack://@descope/web-components-ui/../components/descope-list-item/src/component/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/sizing.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/slot-controller.js","webpack://@descope/web-components-ui/../components/descope-list/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-apps-list/src/component/AppsListClass.js","webpack://@descope/web-components-ui/../components/descope-apps-list/src/component/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/focus-mixin.js","webpack://@descope/web-components-ui/../components/descope-avatar/src/component/AvatarClass.js","webpack://@descope/web-components-ui/../components/descope-avatar/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/slot-observer.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/TextClass.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/tooltip-controller.js","webpack://@descope/web-components-ui/../components/descope-list-item/src/component/ListItemClass.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Returns an array of ancestor root nodes for the given node.\n *\n * A root node is either a document node or a document fragment node (Shadow Root).\n * The array is collected by a bottom-up DOM traversing that starts with the given node\n * and involves both the light DOM and ancestor shadow DOM trees.\n *\n * @param {Node} node\n * @return {Node[]}\n */\nexport function getAncestorRootNodes(node) {\n const result = [];\n\n while (node) {\n if (node.nodeType === Node.DOCUMENT_NODE) {\n result.push(node);\n break;\n }\n\n if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n result.push(node);\n node = node.host;\n continue;\n }\n\n if (node.assignedSlot) {\n node = node.assignedSlot;\n continue;\n }\n\n node = node.parentNode;\n }\n\n return result;\n}\n\n/**\n * Returns the list of flattened elements for the given `node`.\n * This list consists of a node's children and, for any children that are\n * `<slot>` elements, the expanded flattened list of `assignedElements`.\n *\n * @param {Node} node\n * @return {Element[]}\n */\nexport function getFlattenedElements(node) {\n const result = [];\n let elements;\n if (node.localName === 'slot') {\n elements = node.assignedElements();\n } else {\n result.push(node);\n elements = [...node.children];\n }\n elements.forEach((elem) => result.push(...getFlattenedElements(elem)));\n return result;\n}\n\n/**\n * Traverses the given node and its parents, including those that are across\n * the shadow root boundaries, until it finds a node that matches the selector.\n *\n * @param {string} selector The CSS selector to match against\n * @param {Node} node The starting node for the traversal\n * @return {Node | null} The closest matching element, or null if no match is found\n */\nexport function getClosestElement(selector, node) {\n if (!node) {\n return null;\n }\n\n return node.closest(selector) || getClosestElement(selector, node.getRootNode().host);\n}\n\n/**\n * Takes a string with values separated by space and returns a set the values\n *\n * @param {string} value\n * @return {Set<string>}\n */\nexport function deserializeAttributeValue(value) {\n if (!value) {\n return new Set();\n }\n\n return new Set(value.split(' '));\n}\n\n/**\n * Takes a set of string values and returns a string with values separated by space\n *\n * @param {Set<string>} values\n * @return {string}\n */\nexport function serializeAttributeValue(values) {\n return values ? [...values].join(' ') : '';\n}\n\n/**\n * Adds a value to an attribute containing space-delimited values.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function addValueToAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.add(value);\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Removes a value from an attribute containing space-delimited values.\n * If the value is the last one, the whole attribute is removed.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function removeValueFromAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.delete(value);\n if (values.size === 0) {\n element.removeAttribute(attr);\n return;\n }\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Returns true if the given node is an empty text node, false otherwise.\n *\n * @param {Node} node\n * @return {boolean}\n */\nexport function isEmptyTextNode(node) {\n return node.nodeType === Node.TEXT_NODE && node.textContent.trim() === '';\n}\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\nimport { ListItemClass } from '@descope-ui/descope-list-item/class';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('list');\n\nclass RawList extends createBaseClass({\n componentName,\n baseSelector: '.wrapper',\n}) {\n static get observedAttributes() {\n return ['variant', 'readonly'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"wrapper\">\n <slot></slot>\n <slot name=\"empty-state\">\n No item...\n </slot>\n </div>\n\t`;\n\n injectStyle(\n `\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 `,\n this,\n );\n }\n\n get items() {\n return this.shadowRoot.querySelector('slot').assignedElements();\n }\n\n #handleEmptyState() {\n if (this.items.length === 0) {\n this.setAttribute('empty', 'true');\n } else {\n this.removeAttribute('empty');\n }\n }\n\n get variant() {\n return this.getAttribute('variant') || 'list';\n }\n\n #handleItemsVariant() {\n this.items.forEach((item) => {\n let listItem = item;\n if (listItem.localName !== ListItemClass.componentName) {\n listItem = item.querySelector(ListItemClass.componentName);\n }\n\n const listItemVariant = this.variant === 'tiles' ? 'tile' : 'row';\n listItem?.setAttribute('variant', listItemVariant);\n });\n }\n\n init() {\n super.init?.();\n\n // we want new items to get the size\n observeChildren(this, () => {\n this.#handleEmptyState();\n this.#handleItemsVariant();\n this.#handleReadOnly();\n });\n }\n\n get isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n #handleReadOnly() {\n this.items.forEach((item) => {\n if (this.isReadOnly) item.setAttribute('inert', '');\n else item.removeAttribute('inert');\n });\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n if (newValue === oldValue) return;\n\n if (name === 'variant') {\n this.#handleItemsVariant();\n } else if (name === 'readonly') {\n this.#handleReadOnly();\n }\n }\n}\n\nexport const ListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n maxHeight: { selector: () => ':host' },\n minHeight: {},\n verticalPadding: [\n { property: 'padding-top' },\n { property: 'padding-bottom' },\n ],\n horizontalPadding: [\n { property: 'padding-left' },\n { property: 'padding-right' },\n ],\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontFamily: {},\n gap: {},\n\n backgroundColor: {},\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n boxShadow: {},\n gridTemplateColumns: {},\n maxItemsWidth: {\n selector: () => '::slotted(:not([slot]))',\n property: 'max-width',\n },\n minItemsWidth: {\n selector: () => '::slotted(:not([slot]))',\n property: 'min-width',\n },\n itemsHorizontalAlign: {\n selector: () => '::slotted(*)',\n property: 'justify-self',\n },\n emptyStateTextColor: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'color',\n },\n emptyStateTextFontFamily: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'font-family',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawList);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\nlet uniqueId = 0;\n\n/**\n * Resets the unique id counter.\n *\n * @return {void}\n */\nexport function resetUniqueId() {\n uniqueId = 0;\n}\n\n/**\n * Returns a unique integer id.\n *\n * @return {number}\n */\nexport function generateUniqueId() {\n // eslint-disable-next-line no-plusplus\n return uniqueId++;\n}\n","import { componentName, ListItemClass } from './ListItemClass';\n\ncustomElements.define(componentName, ListItemClass);\n\nexport { ListItemClass, componentName };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './version.js';\nimport { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst sizing = css`\n :host {\n --lumo-size-xs: 1.625rem;\n --lumo-size-s: 1.875rem;\n --lumo-size-m: 2.25rem;\n --lumo-size-l: 2.75rem;\n --lumo-size-xl: 3.5rem;\n\n /* Icons */\n --lumo-icon-size-s: 1.25em;\n --lumo-icon-size-m: 1.5em;\n --lumo-icon-size-l: 2.25em;\n /* For backwards compatibility */\n --lumo-icon-size: var(--lumo-icon-size-m);\n }\n`;\n\naddLumoGlobalStyles('sizing-props', sizing);\n\nexport { sizing };\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { isEmptyTextNode } from './dom-utils.js';\nimport { SlotObserver } from './slot-observer.js';\nimport { generateUniqueId } from './unique-id-utils.js';\n\n/**\n * A controller for providing content to slot element and observing changes.\n */\nexport class SlotController extends EventTarget {\n /**\n * Ensure that every instance has unique ID.\n *\n * @param {HTMLElement} host\n * @param {string} slotName\n * @return {string}\n * @protected\n */\n static generateId(host, slotName) {\n const prefix = slotName || 'default';\n return `${prefix}-${host.localName}-${generateUniqueId()}`;\n }\n\n constructor(host, slotName, tagName, config = {}) {\n super();\n\n const { initializer, multiple, observe, useUniqueId } = config;\n\n this.host = host;\n this.slotName = slotName;\n this.tagName = tagName;\n this.observe = typeof observe === 'boolean' ? observe : true;\n this.multiple = typeof multiple === 'boolean' ? multiple : false;\n this.slotInitializer = initializer;\n\n if (multiple) {\n this.nodes = [];\n }\n\n // Only generate the default ID if requested by the controller.\n if (useUniqueId) {\n this.defaultId = this.constructor.generateId(host, slotName);\n }\n }\n\n hostConnected() {\n if (!this.initialized) {\n if (this.multiple) {\n this.initMultiple();\n } else {\n this.initSingle();\n }\n\n if (this.observe) {\n this.observeSlot();\n }\n\n this.initialized = true;\n }\n }\n\n /** @protected */\n initSingle() {\n let node = this.getSlotChild();\n\n if (!node) {\n node = this.attachDefaultNode();\n this.initNode(node);\n } else {\n this.node = node;\n this.initAddedNode(node);\n }\n }\n\n /** @protected */\n initMultiple() {\n const children = this.getSlotChildren();\n\n if (children.length === 0) {\n const defaultNode = this.attachDefaultNode();\n if (defaultNode) {\n this.nodes = [defaultNode];\n this.initNode(defaultNode);\n }\n } else {\n this.nodes = children;\n children.forEach((node) => {\n this.initAddedNode(node);\n });\n }\n }\n\n /**\n * Create and attach default node using the provided tag name, if any.\n * @return {Node | undefined}\n * @protected\n */\n attachDefaultNode() {\n const { host, slotName, tagName } = this;\n\n // Check if the node was created previously and if so, reuse it.\n let node = this.defaultNode;\n\n // Tag name is optional, sometimes we don't init default content.\n if (!node && tagName) {\n node = document.createElement(tagName);\n if (node instanceof Element) {\n if (slotName !== '') {\n node.setAttribute('slot', slotName);\n }\n this.defaultNode = node;\n }\n }\n\n if (node) {\n this.node = node;\n host.appendChild(node);\n }\n\n return node;\n }\n\n /**\n * Return the list of nodes matching the slot managed by the controller.\n * @return {Node}\n */\n getSlotChildren() {\n const { slotName } = this;\n return Array.from(this.host.childNodes).filter((node) => {\n // Either an element (any slot) or a text node (only un-named slot).\n return (\n (node.nodeType === Node.ELEMENT_NODE && node.slot === slotName) ||\n (node.nodeType === Node.TEXT_NODE && node.textContent.trim() && slotName === '')\n );\n });\n }\n\n /**\n * Return a reference to the node managed by the controller.\n * @return {Node}\n */\n getSlotChild() {\n return this.getSlotChildren()[0];\n }\n\n /**\n * Run `slotInitializer` for the node managed by the controller.\n *\n * @param {Node} node\n * @protected\n */\n initNode(node) {\n const { slotInitializer } = this;\n // Don't try to bind `this` to initializer (normally it's arrow function).\n // Instead, pass the host as a first argument to access component's state.\n if (slotInitializer) {\n slotInitializer(node, this.host);\n }\n }\n\n /**\n * Override to initialize the newly added custom node.\n *\n * @param {Node} _node\n * @protected\n */\n initCustomNode(_node) {}\n\n /**\n * Override to teardown slotted node when it's removed.\n *\n * @param {Node} _node\n * @protected\n */\n teardownNode(_node) {}\n\n /**\n * Run both `initCustomNode` and `initNode` for a custom slotted node.\n *\n * @param {Node} node\n * @protected\n */\n initAddedNode(node) {\n if (node !== this.defaultNode) {\n this.initCustomNode(node);\n this.initNode(node);\n }\n }\n\n /**\n * Setup the observer to manage slot content changes.\n * @protected\n */\n observeSlot() {\n const { slotName } = this;\n const selector = slotName === '' ? 'slot:not([name])' : `slot[name=${slotName}]`;\n const slot = this.host.shadowRoot.querySelector(selector);\n\n this.__slotObserver = new SlotObserver(slot, ({ addedNodes, removedNodes }) => {\n const current = this.multiple ? this.nodes : [this.node];\n\n // Calling `slot.assignedNodes()` includes whitespace text nodes in case of default slot:\n // unlike comment nodes, they are not filtered out. So we need to manually ignore them.\n const newNodes = addedNodes.filter((node) => !isEmptyTextNode(node) && !current.includes(node));\n\n if (removedNodes.length) {\n this.nodes = current.filter((node) => !removedNodes.includes(node));\n\n removedNodes.forEach((node) => {\n this.teardownNode(node);\n });\n }\n\n if (newNodes && newNodes.length > 0) {\n if (this.multiple) {\n // Remove default node if exists\n if (this.defaultNode) {\n this.defaultNode.remove();\n }\n this.nodes = [...current, ...newNodes].filter((node) => node !== this.defaultNode);\n newNodes.forEach((node) => {\n this.initAddedNode(node);\n });\n } else {\n // Remove previous node if exists\n if (this.node) {\n this.node.remove();\n }\n this.node = newNodes[0];\n this.initAddedNode(this.node);\n }\n }\n });\n }\n}\n","import '@descope-ui/descope-list-item';\n\nimport { componentName, ListClass } from './ListClass';\n\ncustomElements.define(componentName, ListClass);\n\nexport { ListClass, componentName };\n","import { compose } from '@descope-ui/common/utils';\nimport { getComponentName, limitAbbreviation } from '@descope-ui/common/components-helpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n createDynamicDataMixin,\n} from '@descope-ui/common/components-mixins';\nimport { TextClass } from '@descope-ui/descope-text/class';\nimport { ListClass } from '@descope-ui/descope-list/class';\nimport { ListItemClass } from '@descope-ui/descope-list-item/class';\n\nexport const componentName = getComponentName('apps-list');\n\nconst itemRenderer = ({ name, icon, url }, _, ref) => `\n <a ${url ? `href=\"${url}\" title=\"${url}\"` : ''} target=\"_blank\">\n <descope-list-item>\n <descope-avatar\n ${icon ? `img=\"${icon}\"` : ''}\n ${name ? `display-name=\"${name}\" abbr=${limitAbbreviation(name)}` : ''}\n size=\"${ref.logoSize || ref.size}\"\n ></descope-avatar>\n <descope-text\n variant=\"${ref.itemTextVariant}\"\n mode=\"primary\"\n >${name}</descope-text>\n </descope-list-item>\n </a>\n`;\n\nconst customMixin = (superclass) =>\n class AppsListMixinClass extends superclass {\n // size controls both item logo size and font size\n get size() {\n return this.getAttribute('size') || 'sm';\n }\n\n get itemTextVariant() {\n return this.getAttribute('item-text-variant') || 'body1';\n }\n\n get logoSize() {\n return this.getAttribute('logo-size');\n }\n };\n\nexport const AppsListClass = compose(\n createStyleMixin({\n mappings: {\n maxHeight: { selector: () => ':host' },\n minHeight: { selector: () => ':host' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n itemsFontWeight: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.fontWeightOverride,\n },\n itemsFontSize: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.fontSizeOverride,\n },\n itemsTextAlign: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.textAlign,\n },\n itemBackgroundColor: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.backgroundColor,\n },\n backgroundColor: {\n selector: ListClass.componentName,\n property: ListClass.cssVarList.backgroundColorOverride,\n },\n itemBorderStyle: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.borderStyleOverride,\n },\n itemBorderColor: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.borderColorOverride,\n },\n itemBorderWidth: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.borderWidthOverride,\n },\n itemVerticalPadding: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.verticalPaddingOverride,\n },\n itemHorizontalPadding: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.horizontalPaddingOverride,\n },\n itemAlignment: [\n { selector: ListItemClass.componentName, property: ListItemClass.cssVarList.alignItemsOverride },\n { selector: TextClass.componentName, property: TextClass.cssVarList.textAlign },\n ]\n },\n }),\n createDynamicDataMixin({ itemRenderer, rerenderAttrsList: ['size', 'item-text-variant', 'logo-size'] }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['empty-state'],\n wrappedEleName: 'descope-list',\n excludeAttrsSync: ['tabindex', 'class', 'empty', 'style'],\n componentName,\n 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 ${TextClass.cssVarList.hostDirection}: var(${AppsListClass.cssVarList.hostDirection});\n max-width: 100%;\n }\n `,\n })\n);\n","import '@descope-ui/descope-list';\nimport '@descope-ui/descope-avatar';\nimport '@descope-ui/descope-text';\nimport { componentName, AppsListClass } from './AppsListClass';\n\ncustomElements.define(componentName, AppsListClass);\n\nexport { AppsListClass, componentName };\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { dedupingMixin } from '@polymer/polymer/lib/utils/mixin.js';\nimport { isKeyboardActive } from './focus-utils.js';\n\n/**\n * A mixin to handle `focused` and `focus-ring` attributes based on focus.\n *\n * @polymerMixin\n */\nexport const FocusMixin = dedupingMixin(\n (superclass) =>\n class FocusMixinClass extends superclass {\n /**\n * @protected\n * @return {boolean}\n */\n get _keyboardActive() {\n return isKeyboardActive();\n }\n\n /** @protected */\n ready() {\n this.addEventListener('focusin', (e) => {\n if (this._shouldSetFocus(e)) {\n this._setFocused(true);\n }\n });\n\n this.addEventListener('focusout', (e) => {\n if (this._shouldRemoveFocus(e)) {\n this._setFocused(false);\n }\n });\n\n // In super.ready() other 'focusin' and 'focusout' listeners might be\n // added, so we call it after our own ones to ensure they execute first.\n // Issue to watch out: when incorrect, <vaadin-combo-box> refocuses the\n // input field on iOS after \"Done\" is pressed.\n super.ready();\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n\n // In non-Chrome browsers, blur does not fire on the element when it is disconnected.\n // reproducible in `<vaadin-date-picker>` when closing on `Cancel` or `Today` click.\n if (this.hasAttribute('focused')) {\n this._setFocused(false);\n }\n }\n\n /**\n * Override to change how focused and focus-ring attributes are set.\n *\n * @param {boolean} focused\n * @protected\n */\n _setFocused(focused) {\n this.toggleAttribute('focused', focused);\n\n // Focus-ring is true when the element was focused from the keyboard.\n // Focus Ring [A11ycasts]: https://youtu.be/ilj2P5-5CjI\n this.toggleAttribute('focus-ring', focused && this._keyboardActive);\n }\n\n /**\n * Override to define if the field receives focus based on the event.\n *\n * @param {FocusEvent} _event\n * @return {boolean}\n * @protected\n */\n _shouldSetFocus(_event) {\n return true;\n }\n\n /**\n * Override to define if the field loses focus based on the event.\n *\n * @param {FocusEvent} _event\n * @return {boolean}\n * @protected\n */\n _shouldRemoveFocus(_event) {\n return true;\n }\n },\n);\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n forwardAttrs,\n getComponentName,\n injectStyle,\n observeAttributes,\n} from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('avatar');\nclass RawAvatar extends createBaseClass({\n componentName,\n baseSelector: ':host > .wrapper',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\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`;\n\n injectStyle(`\n :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 `, this);\n\n this.avatarComponent = this.shadowRoot.querySelector('vaadin-avatar');\n\n forwardAttrs(this, this.avatarComponent, {\n includeAttrs: ['display-name', 'img', 'abbr'],\n mapAttrs: { 'display-name': 'name' },\n });\n\n const editableIcon = this.shadowRoot.querySelector('.editableBadge');\n\n observeAttributes(\n this,\n () => {\n editableIcon.style.display = this.isEditable ? '' : 'none';\n },\n { includeAttrs: ['editable'] },\n );\n }\n\n get isEditable() {\n return this.getAttribute('editable') === 'true';\n }\n}\n\nconst { host, editableBadge, avatar } = {\n host: { selector: () => ':host' },\n editableBadge: { selector: '> .editableBadge' },\n avatar: { selector: 'vaadin-avatar' },\n};\n\nexport const AvatarClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: [\n { ...host, property: 'width' },\n { ...host, property: 'min-width' },\n ],\n hostHeight: { ...host, property: 'height' },\n cursor: [avatar, host],\n hostDirection: { ...host, property: 'direction' },\n avatarTextColor: { ...avatar, property: 'color' },\n avatarBackgroundColor: { ...avatar, property: 'background-color' },\n editableIconColor: { ...editableBadge, property: 'color' },\n editableBorderColor: { ...editableBadge, property: 'border-color' },\n editableBackgroundColor: {\n ...editableBadge,\n property: 'background-color',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawAvatar);\n","import { componentName, AvatarClass } from './AvatarClass';\nimport '@vaadin/avatar';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\ncustomElements.define(componentName, AvatarClass);\n\nexport { AvatarClass, componentName };\n","import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass, componentName };\n","/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * A helper for observing slot changes.\n */\nexport class SlotObserver {\n constructor(slot, callback) {\n /** @type HTMLSlotElement */\n this.slot = slot;\n\n /** @type Function */\n this.callback = callback;\n\n /** @type {Node[]} */\n this._storedNodes = [];\n\n this._connected = false;\n this._scheduled = false;\n\n this._boundSchedule = () => {\n this._schedule();\n };\n\n this.connect();\n this._schedule();\n }\n\n /**\n * Activates an observer. This method is automatically called when\n * a `SlotObserver` is created. It should only be called to re-activate\n * an observer that has been deactivated via the `disconnect` method.\n */\n connect() {\n this.slot.addEventListener('slotchange', this._boundSchedule);\n this._connected = true;\n }\n\n /**\n * Deactivates the observer. After calling this method the observer callback\n * will not be called when changes to slotted nodes occur. The `connect` method\n * may be subsequently called to reactivate the observer.\n */\n disconnect() {\n this.slot.removeEventListener('slotchange', this._boundSchedule);\n this._connected = false;\n }\n\n /** @private */\n _schedule() {\n if (!this._scheduled) {\n this._scheduled = true;\n\n queueMicrotask(() => {\n this.flush();\n });\n }\n }\n\n /**\n * Run the observer callback synchronously.\n */\n flush() {\n if (!this._connected) {\n return;\n }\n\n this._scheduled = false;\n\n this._processNodes();\n }\n\n /** @private */\n _processNodes() {\n const currentNodes = this.slot.assignedNodes({ flatten: true });\n\n let addedNodes = [];\n const removedNodes = [];\n const movedNodes = [];\n\n if (currentNodes.length) {\n addedNodes = currentNodes.filter((node) => !this._storedNodes.includes(node));\n }\n\n if (this._storedNodes.length) {\n this._storedNodes.forEach((node, index) => {\n const idx = currentNodes.indexOf(node);\n if (idx === -1) {\n removedNodes.push(node);\n } else if (idx !== index) {\n movedNodes.push(node);\n }\n });\n }\n\n if (addedNodes.length || removedNodes.length || movedNodes.length) {\n this.callback({ addedNodes, movedNodes, removedNodes });\n }\n\n this._storedNodes = currentNodes;\n }\n}\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n injectStyle,\n observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({\n componentName,\n baseSelector: ':host > slot',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot part=\"text-wrapper\"></slot>\n `;\n\n injectStyle(`\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n `, this);\n }\n\n get hideWhenEmpty() {\n return this.getAttribute('hide-when-empty') === 'true';\n }\n\n init() {\n super.init();\n\n observeChildren(this, () => {\n const hasChildren = !!this.childNodes.length;\n this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';\n });\n }\n}\n\nconst { host } = {\n host: { selector: () => ':host' }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n textColor: [\n { property: 'color' }\n ],\n textLineHeight: { property: 'line-height' },\n textLetterSpacing: { property: 'letter-spacing' },\n textShadow: {},\n textAlign: {},\n textTransform: {},\n fontFamily: {},\n fontStyle: {},\n fontWeight: {},\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawText);\n","/**\n * @license\n * Copyright (c) 2022 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { SlotController } from './slot-controller.js';\n\n/**\n * A controller that manages the slotted tooltip element.\n */\nexport class TooltipController extends SlotController {\n constructor(host) {\n // Do not provide slot factory to create tooltip lazily.\n super(host, 'tooltip');\n\n this.setTarget(host);\n }\n\n /**\n * Override to initialize the newly added custom tooltip.\n *\n * @param {Node} tooltipNode\n * @protected\n * @override\n */\n initCustomNode(tooltipNode) {\n tooltipNode.target = this.target;\n\n if (this.ariaTarget !== undefined) {\n tooltipNode.ariaTarget = this.ariaTarget;\n }\n\n if (this.context !== undefined) {\n tooltipNode.context = this.context;\n }\n\n if (this.manual !== undefined) {\n tooltipNode.manual = this.manual;\n }\n\n if (this.opened !== undefined) {\n tooltipNode.opened = this.opened;\n }\n\n if (this.position !== undefined) {\n tooltipNode._position = this.position;\n }\n\n if (this.shouldShow !== undefined) {\n tooltipNode.shouldShow = this.shouldShow;\n }\n\n this.__notifyChange();\n }\n\n /**\n * Override to notify the host when the tooltip is removed.\n *\n * @param {Node} tooltipNode\n * @protected\n * @override\n */\n teardownNode() {\n this.__notifyChange();\n }\n\n /**\n * Set an HTML element for linking with the tooltip overlay\n * via `aria-describedby` attribute used by screen readers.\n * @param {HTMLElement} ariaTarget\n */\n setAriaTarget(ariaTarget) {\n this.ariaTarget = ariaTarget;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.ariaTarget = ariaTarget;\n }\n }\n\n /**\n * Set a context object to be used by generator.\n * @param {object} context\n */\n setContext(context) {\n this.context = context;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.context = context;\n }\n }\n\n /**\n * Toggle manual state on the slotted tooltip.\n * @param {boolean} manual\n */\n setManual(manual) {\n this.manual = manual;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.manual = manual;\n }\n }\n\n /**\n * Toggle opened state on the slotted tooltip.\n * @param {boolean} opened\n */\n setOpened(opened) {\n this.opened = opened;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.opened = opened;\n }\n }\n\n /**\n * Set default position for the slotted tooltip.\n * This can be overridden by setting the position\n * using corresponding property or attribute.\n * @param {string} position\n */\n setPosition(position) {\n this.position = position;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode._position = position;\n }\n }\n\n /**\n * Set function used to detect whether to show\n * the tooltip based on a condition.\n * @param {Function} shouldShow\n */\n setShouldShow(shouldShow) {\n this.shouldShow = shouldShow;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.shouldShow = shouldShow;\n }\n }\n\n /**\n * Set an HTML element to attach the tooltip to.\n * @param {HTMLElement} target\n */\n setTarget(target) {\n this.target = target;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.target = target;\n }\n }\n\n /** @private */\n __notifyChange() {\n this.dispatchEvent(new CustomEvent('tooltip-changed', { detail: { node: this.node } }));\n }\n}\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n activeableMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport { getComponentName } from '@descope-ui/common/components-helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('list-item');\n\nconst customMixin = (superclass) =>\n class ListItemMixinClass extends superclass {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot></slot>\n `;\n\n injectStyle(\n `\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 this,\n );\n }\n };\n\nexport const ListItemClass = compose(\n createStyleMixin({\n mappings: {\n verticalPadding: [\n { property: 'padding-top' },\n { property: 'padding-bottom' },\n ],\n horizontalPadding: [\n { property: 'padding-left' },\n { property: 'padding-right' },\n ],\n backgroundColor: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n borderRadius: {},\n outline: {},\n cursor: {},\n gap: {},\n maxWidth: { selector: () => ':host' },\n alignItems: {},\n flexDirection: {},\n transition: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin,\n activeableMixin,\n)(createBaseClass({ componentName, baseSelector: 'slot' }));\n"],"names":["getAncestorRootNodes","node","result","nodeType","Node","DOCUMENT_NODE","push","DOCUMENT_FRAGMENT_NODE","assignedSlot","parentNode","host","getFlattenedElements","elements","localName","assignedElements","children","forEach","elem","getClosestElement","selector","closest","getRootNode","deserializeAttributeValue","value","Set","split","serializeAttributeValue","values","join","addValueToAttribute","element","attr","getAttribute","add","setAttribute","removeValueFromAttribute","delete","size","removeAttribute","isEmptyTextNode","TEXT_NODE","textContent","trim","componentName","RawList","baseSelector","observedAttributes","constructor","super","this","attachShadow","mode","innerHTML","items","shadowRoot","querySelector","length","variant","item","listItem","listItemVariant","init","isReadOnly","attributeChangedCallback","name","oldValue","newValue","ListClass","mappings","hostWidth","property","maxHeight","minHeight","verticalPadding","horizontalPadding","hostDirection","fontFamily","gap","backgroundColor","borderRadius","borderColor","borderStyle","borderWidth","boxShadow","gridTemplateColumns","maxItemsWidth","minItemsWidth","itemsHorizontalAlign","emptyStateTextColor","emptyStateTextFontFamily","uniqueId","generateUniqueId","customElements","define","sizing","SlotController","EventTarget","generateId","slotName","tagName","config","initializer","multiple","observe","useUniqueId","slotInitializer","nodes","defaultId","hostConnected","initialized","initMultiple","initSingle","observeSlot","getSlotChild","initAddedNode","attachDefaultNode","initNode","getSlotChildren","defaultNode","document","createElement","Element","appendChild","Array","from","childNodes","filter","ELEMENT_NODE","slot","initCustomNode","_node","teardownNode","__slotObserver","addedNodes","removedNodes","current","newNodes","includes","remove","AppsListClass","itemsFontWeight","TextClass","cssVarList","fontWeightOverride","itemsFontSize","fontSizeOverride","itemsTextAlign","textAlign","itemBackgroundColor","ListItemClass","backgroundColorOverride","itemBorderStyle","borderStyleOverride","itemBorderColor","borderColorOverride","itemBorderWidth","borderWidthOverride","itemVerticalPadding","verticalPaddingOverride","itemHorizontalPadding","horizontalPaddingOverride","itemAlignment","alignItemsOverride","itemRenderer","icon","url","_","ref","logoSize","itemTextVariant","rerenderAttrsList","superclass","slots","wrappedEleName","excludeAttrsSync","style","FocusMixin","_keyboardActive","ready","addEventListener","e","_shouldSetFocus","_setFocused","_shouldRemoveFocus","disconnectedCallback","hasAttribute","focused","toggleAttribute","_event","RawAvatar","avatarComponent","includeAttrs","mapAttrs","editableIcon","display","isEditable","editableBadge","avatar","AvatarClass","hostHeight","cursor","avatarTextColor","avatarBackgroundColor","editableIconColor","editableBorderColor","editableBackgroundColor","SlotObserver","callback","_storedNodes","_connected","_scheduled","_boundSchedule","_schedule","connect","disconnect","removeEventListener","queueMicrotask","flush","_processNodes","currentNodes","assignedNodes","flatten","movedNodes","index","idx","indexOf","RawText","hideWhenEmpty","hasChildren","fontSize","textColor","textLineHeight","textLetterSpacing","textShadow","textTransform","fontStyle","fontWeight","TooltipController","setTarget","tooltipNode","target","undefined","ariaTarget","context","manual","opened","position","_position","shouldShow","__notifyChange","setAriaTarget","setContext","setManual","setOpened","setPosition","setShouldShow","dispatchEvent","CustomEvent","detail","outline","maxWidth","alignItems","flexDirection","transition"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"descope-apps-list.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/dom-utils.js","webpack://@descope/web-components-ui/../components/descope-list/src/component/ListClass.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/unique-id-utils.js","webpack://@descope/web-components-ui/../components/descope-list-item/src/component/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-lumo-styles/sizing.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/slot-controller.js","webpack://@descope/web-components-ui/../components/descope-list/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-apps-list/src/component/AppsListClass.js","webpack://@descope/web-components-ui/../components/descope-apps-list/src/component/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/a11y-base/src/focus-mixin.js","webpack://@descope/web-components-ui/../components/descope-avatar/src/component/AvatarClass.js","webpack://@descope/web-components-ui/../components/descope-avatar/src/component/index.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/index.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/slot-observer.js","webpack://@descope/web-components-ui/../components/descope-text/src/component/TextClass.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/tooltip-controller.js","webpack://@descope/web-components-ui/../components/descope-list-item/src/component/ListItemClass.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Returns an array of ancestor root nodes for the given node.\n *\n * A root node is either a document node or a document fragment node (Shadow Root).\n * The array is collected by a bottom-up DOM traversing that starts with the given node\n * and involves both the light DOM and ancestor shadow DOM trees.\n *\n * @param {Node} node\n * @return {Node[]}\n */\nexport function getAncestorRootNodes(node) {\n const result = [];\n\n while (node) {\n if (node.nodeType === Node.DOCUMENT_NODE) {\n result.push(node);\n break;\n }\n\n if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n result.push(node);\n node = node.host;\n continue;\n }\n\n if (node.assignedSlot) {\n node = node.assignedSlot;\n continue;\n }\n\n node = node.parentNode;\n }\n\n return result;\n}\n\n/**\n * Returns the list of flattened elements for the given `node`.\n * This list consists of a node's children and, for any children that are\n * `<slot>` elements, the expanded flattened list of `assignedElements`.\n *\n * @param {Node} node\n * @return {Element[]}\n */\nexport function getFlattenedElements(node) {\n const result = [];\n let elements;\n if (node.localName === 'slot') {\n elements = node.assignedElements();\n } else {\n result.push(node);\n elements = [...node.children];\n }\n elements.forEach((elem) => result.push(...getFlattenedElements(elem)));\n return result;\n}\n\n/**\n * Traverses the given node and its parents, including those that are across\n * the shadow root boundaries, until it finds a node that matches the selector.\n *\n * @param {string} selector The CSS selector to match against\n * @param {Node} node The starting node for the traversal\n * @return {Node | null} The closest matching element, or null if no match is found\n */\nexport function getClosestElement(selector, node) {\n if (!node) {\n return null;\n }\n\n return node.closest(selector) || getClosestElement(selector, node.getRootNode().host);\n}\n\n/**\n * Takes a string with values separated by space and returns a set the values\n *\n * @param {string} value\n * @return {Set<string>}\n */\nexport function deserializeAttributeValue(value) {\n if (!value) {\n return new Set();\n }\n\n return new Set(value.split(' '));\n}\n\n/**\n * Takes a set of string values and returns a string with values separated by space\n *\n * @param {Set<string>} values\n * @return {string}\n */\nexport function serializeAttributeValue(values) {\n return values ? [...values].join(' ') : '';\n}\n\n/**\n * Adds a value to an attribute containing space-delimited values.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function addValueToAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.add(value);\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Removes a value from an attribute containing space-delimited values.\n * If the value is the last one, the whole attribute is removed.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function removeValueFromAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.delete(value);\n if (values.size === 0) {\n element.removeAttribute(attr);\n return;\n }\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Returns true if the given node is an empty text node, false otherwise.\n *\n * @param {Node} node\n * @return {boolean}\n */\nexport function isEmptyTextNode(node) {\n return node.nodeType === Node.TEXT_NODE && node.textContent.trim() === '';\n}\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\nimport { ListItemClass } from '@descope-ui/descope-list-item/class';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('list');\n\nclass RawList extends createBaseClass({\n componentName,\n baseSelector: '.wrapper',\n}) {\n static get observedAttributes() {\n return ['variant', 'readonly'];\n }\n\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <div class=\"wrapper\">\n <slot></slot>\n <slot name=\"empty-state\">\n No item...\n </slot>\n </div>\n\t`;\n\n injectStyle(\n `\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 `,\n this,\n );\n }\n\n get items() {\n return this.shadowRoot.querySelector('slot').assignedElements();\n }\n\n #handleEmptyState() {\n if (this.items.length === 0) {\n this.setAttribute('empty', 'true');\n } else {\n this.removeAttribute('empty');\n }\n }\n\n get variant() {\n return this.getAttribute('variant') || 'list';\n }\n\n #handleItemsVariant() {\n this.items.forEach((item) => {\n let listItem = item;\n if (listItem.localName !== ListItemClass.componentName) {\n listItem = item.querySelector(ListItemClass.componentName);\n }\n\n const listItemVariant = this.variant === 'tiles' ? 'tile' : 'row';\n listItem?.setAttribute('variant', listItemVariant);\n });\n }\n\n init() {\n super.init?.();\n\n // we want new items to get the size\n observeChildren(this, () => {\n this.#handleEmptyState();\n this.#handleItemsVariant();\n this.#handleReadOnly();\n });\n }\n\n get isReadOnly() {\n return this.getAttribute('readonly') === 'true';\n }\n\n #handleReadOnly() {\n this.items.forEach((item) => {\n if (this.isReadOnly) item.setAttribute('inert', '');\n else item.removeAttribute('inert');\n });\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n if (newValue === oldValue) return;\n\n if (name === 'variant') {\n this.#handleItemsVariant();\n } else if (name === 'readonly') {\n this.#handleReadOnly();\n }\n }\n}\n\nexport const ListClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { selector: () => ':host', property: 'width' },\n maxHeight: { selector: () => ':host' },\n minHeight: {},\n verticalPadding: [\n { property: 'padding-top' },\n { property: 'padding-bottom' },\n ],\n horizontalPadding: [\n { property: 'padding-left' },\n { property: 'padding-right' },\n ],\n hostDirection: { selector: () => ':host', property: 'direction' },\n fontFamily: {},\n gap: {},\n\n backgroundColor: {},\n borderRadius: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n\n boxShadow: {},\n gridTemplateColumns: {},\n maxItemsWidth: {\n selector: () => '::slotted(:not([slot]))',\n property: 'max-width',\n },\n minItemsWidth: {\n selector: () => '::slotted(:not([slot]))',\n property: 'min-width',\n },\n itemsHorizontalAlign: {\n selector: () => '::slotted(*)',\n property: 'justify-self',\n },\n emptyStateTextColor: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'color',\n },\n emptyStateTextFontFamily: {\n selector: () => 'slot[name=\"empty-state\"]',\n property: 'font-family',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawList);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\nlet uniqueId = 0;\n\n/**\n * Resets the unique id counter.\n *\n * @return {void}\n */\nexport function resetUniqueId() {\n uniqueId = 0;\n}\n\n/**\n * Returns a unique integer id.\n *\n * @return {number}\n */\nexport function generateUniqueId() {\n // eslint-disable-next-line no-plusplus\n return uniqueId++;\n}\n","import { componentName, ListItemClass } from './ListItemClass';\n\ncustomElements.define(componentName, ListItemClass);\n\nexport { ListItemClass, componentName };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './version.js';\nimport { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { addLumoGlobalStyles } from './global.js';\n\nconst sizing = css`\n :host {\n --lumo-size-xs: 1.625rem;\n --lumo-size-s: 1.875rem;\n --lumo-size-m: 2.25rem;\n --lumo-size-l: 2.75rem;\n --lumo-size-xl: 3.5rem;\n\n /* Icons */\n --lumo-icon-size-s: 1.25em;\n --lumo-icon-size-m: 1.5em;\n --lumo-icon-size-l: 2.25em;\n /* For backwards compatibility */\n --lumo-icon-size: var(--lumo-icon-size-m);\n }\n`;\n\naddLumoGlobalStyles('sizing-props', sizing);\n\nexport { sizing };\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { isEmptyTextNode } from './dom-utils.js';\nimport { SlotObserver } from './slot-observer.js';\nimport { generateUniqueId } from './unique-id-utils.js';\n\n/**\n * A controller for providing content to slot element and observing changes.\n */\nexport class SlotController extends EventTarget {\n /**\n * Ensure that every instance has unique ID.\n *\n * @param {HTMLElement} host\n * @param {string} slotName\n * @return {string}\n * @protected\n */\n static generateId(host, slotName) {\n const prefix = slotName || 'default';\n return `${prefix}-${host.localName}-${generateUniqueId()}`;\n }\n\n constructor(host, slotName, tagName, config = {}) {\n super();\n\n const { initializer, multiple, observe, useUniqueId } = config;\n\n this.host = host;\n this.slotName = slotName;\n this.tagName = tagName;\n this.observe = typeof observe === 'boolean' ? observe : true;\n this.multiple = typeof multiple === 'boolean' ? multiple : false;\n this.slotInitializer = initializer;\n\n if (multiple) {\n this.nodes = [];\n }\n\n // Only generate the default ID if requested by the controller.\n if (useUniqueId) {\n this.defaultId = this.constructor.generateId(host, slotName);\n }\n }\n\n hostConnected() {\n if (!this.initialized) {\n if (this.multiple) {\n this.initMultiple();\n } else {\n this.initSingle();\n }\n\n if (this.observe) {\n this.observeSlot();\n }\n\n this.initialized = true;\n }\n }\n\n /** @protected */\n initSingle() {\n let node = this.getSlotChild();\n\n if (!node) {\n node = this.attachDefaultNode();\n this.initNode(node);\n } else {\n this.node = node;\n this.initAddedNode(node);\n }\n }\n\n /** @protected */\n initMultiple() {\n const children = this.getSlotChildren();\n\n if (children.length === 0) {\n const defaultNode = this.attachDefaultNode();\n if (defaultNode) {\n this.nodes = [defaultNode];\n this.initNode(defaultNode);\n }\n } else {\n this.nodes = children;\n children.forEach((node) => {\n this.initAddedNode(node);\n });\n }\n }\n\n /**\n * Create and attach default node using the provided tag name, if any.\n * @return {Node | undefined}\n * @protected\n */\n attachDefaultNode() {\n const { host, slotName, tagName } = this;\n\n // Check if the node was created previously and if so, reuse it.\n let node = this.defaultNode;\n\n // Tag name is optional, sometimes we don't init default content.\n if (!node && tagName) {\n node = document.createElement(tagName);\n if (node instanceof Element) {\n if (slotName !== '') {\n node.setAttribute('slot', slotName);\n }\n this.defaultNode = node;\n }\n }\n\n if (node) {\n this.node = node;\n host.appendChild(node);\n }\n\n return node;\n }\n\n /**\n * Return the list of nodes matching the slot managed by the controller.\n * @return {Node}\n */\n getSlotChildren() {\n const { slotName } = this;\n return Array.from(this.host.childNodes).filter((node) => {\n // Either an element (any slot) or a text node (only un-named slot).\n return (\n (node.nodeType === Node.ELEMENT_NODE && node.slot === slotName) ||\n (node.nodeType === Node.TEXT_NODE && node.textContent.trim() && slotName === '')\n );\n });\n }\n\n /**\n * Return a reference to the node managed by the controller.\n * @return {Node}\n */\n getSlotChild() {\n return this.getSlotChildren()[0];\n }\n\n /**\n * Run `slotInitializer` for the node managed by the controller.\n *\n * @param {Node} node\n * @protected\n */\n initNode(node) {\n const { slotInitializer } = this;\n // Don't try to bind `this` to initializer (normally it's arrow function).\n // Instead, pass the host as a first argument to access component's state.\n if (slotInitializer) {\n slotInitializer(node, this.host);\n }\n }\n\n /**\n * Override to initialize the newly added custom node.\n *\n * @param {Node} _node\n * @protected\n */\n initCustomNode(_node) {}\n\n /**\n * Override to teardown slotted node when it's removed.\n *\n * @param {Node} _node\n * @protected\n */\n teardownNode(_node) {}\n\n /**\n * Run both `initCustomNode` and `initNode` for a custom slotted node.\n *\n * @param {Node} node\n * @protected\n */\n initAddedNode(node) {\n if (node !== this.defaultNode) {\n this.initCustomNode(node);\n this.initNode(node);\n }\n }\n\n /**\n * Setup the observer to manage slot content changes.\n * @protected\n */\n observeSlot() {\n const { slotName } = this;\n const selector = slotName === '' ? 'slot:not([name])' : `slot[name=${slotName}]`;\n const slot = this.host.shadowRoot.querySelector(selector);\n\n this.__slotObserver = new SlotObserver(slot, ({ addedNodes, removedNodes }) => {\n const current = this.multiple ? this.nodes : [this.node];\n\n // Calling `slot.assignedNodes()` includes whitespace text nodes in case of default slot:\n // unlike comment nodes, they are not filtered out. So we need to manually ignore them.\n const newNodes = addedNodes.filter((node) => !isEmptyTextNode(node) && !current.includes(node));\n\n if (removedNodes.length) {\n this.nodes = current.filter((node) => !removedNodes.includes(node));\n\n removedNodes.forEach((node) => {\n this.teardownNode(node);\n });\n }\n\n if (newNodes && newNodes.length > 0) {\n if (this.multiple) {\n // Remove default node if exists\n if (this.defaultNode) {\n this.defaultNode.remove();\n }\n this.nodes = [...current, ...newNodes].filter((node) => node !== this.defaultNode);\n newNodes.forEach((node) => {\n this.initAddedNode(node);\n });\n } else {\n // Remove previous node if exists\n if (this.node) {\n this.node.remove();\n }\n this.node = newNodes[0];\n this.initAddedNode(this.node);\n }\n }\n });\n }\n}\n","import '@descope-ui/descope-list-item';\n\nimport { componentName, ListClass } from './ListClass';\n\ncustomElements.define(componentName, ListClass);\n\nexport { ListClass, componentName };\n","import { compose } from '@descope-ui/common/utils';\nimport { getComponentName, limitAbbreviation } from '@descope-ui/common/components-helpers';\nimport {\n createStyleMixin,\n draggableMixin,\n createProxy,\n componentNameValidationMixin,\n createDynamicDataMixin,\n} from '@descope-ui/common/components-mixins';\nimport { TextClass } from '@descope-ui/descope-text/class';\nimport { ListClass } from '@descope-ui/descope-list/class';\nimport { ListItemClass } from '@descope-ui/descope-list-item/class';\n\nexport const componentName = getComponentName('apps-list');\n\nconst itemRenderer = ({ name, icon, url }, _, ref) => `\n <a ${url ? `href=\"${url}\" title=\"${url}\"` : ''} target=\"_blank\">\n <descope-list-item>\n <div class=\"avatar-wrapper\">\n <descope-avatar\n ${icon ? `img=\"${icon}\"` : ''}\n ${name ? `display-name=\"${name}\" abbr=${limitAbbreviation(name)}` : ''}\n size=\"${ref.logoSize || ref.size}\"\n ></descope-avatar>\n </div>\n <descope-text\n variant=\"${ref.itemTextVariant}\"\n mode=\"primary\"\n >${name}</descope-text>\n </descope-list-item>\n </a>\n`;\n\nconst customMixin = (superclass) =>\n class AppsListMixinClass extends superclass {\n // size controls both item logo size and font size\n get size() {\n return this.getAttribute('size') || 'sm';\n }\n\n get itemTextVariant() {\n return this.getAttribute('item-text-variant') || 'body1';\n }\n\n get logoSize() {\n return this.getAttribute('logo-size');\n }\n };\n\nexport const AppsListClass = compose(\n createStyleMixin({\n mappings: {\n maxHeight: { selector: () => ':host' },\n minHeight: { selector: () => ':host' },\n hostDirection: { selector: () => ':host', property: 'direction' },\n itemsFontWeight: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.fontWeightOverride,\n },\n itemsFontSize: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.fontSizeOverride,\n },\n itemsTextAlign: {\n selector: TextClass.componentName,\n property: TextClass.cssVarList.textAlign,\n },\n itemBackgroundColor: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.backgroundColor,\n },\n backgroundColor: {\n selector: ListClass.componentName,\n property: ListClass.cssVarList.backgroundColorOverride,\n },\n itemBorderStyle: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.borderStyleOverride,\n },\n itemBorderColor: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.borderColorOverride,\n },\n itemBorderWidth: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.borderWidthOverride,\n },\n itemVerticalPadding: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.verticalPaddingOverride,\n },\n itemHorizontalPadding: {\n selector: ListItemClass.componentName,\n property: ListItemClass.cssVarList.horizontalPaddingOverride,\n },\n itemAlignment: [\n { selector: () => '.avatar-wrapper', property: 'text-align' },\n { selector: TextClass.componentName, property: TextClass.cssVarList.textAlign },\n ]\n },\n }),\n createDynamicDataMixin({ itemRenderer, rerenderAttrsList: ['size', 'item-text-variant', 'logo-size'] }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['empty-state'],\n wrappedEleName: 'descope-list',\n excludeAttrsSync: ['tabindex', 'class', 'empty', 'style'],\n componentName,\n 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 descope-list-item[variant=\"tile\"] .avatar-wrapper {\n width: 100%;\n }\n\n .avatar-wrapper {\n line-height: 0;\n }\n\n a {\n text-decoration: none;\n }\n\n descope-text {\n ${TextClass.cssVarList.hostDirection}: var(${AppsListClass.cssVarList.hostDirection});\n max-width: 100%;\n width: 100%;\n }\n `,\n })\n);\n","import '@descope-ui/descope-list';\nimport '@descope-ui/descope-avatar';\nimport '@descope-ui/descope-text';\nimport { componentName, AppsListClass } from './AppsListClass';\n\ncustomElements.define(componentName, AppsListClass);\n\nexport { AppsListClass, componentName };\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { dedupingMixin } from '@polymer/polymer/lib/utils/mixin.js';\nimport { isKeyboardActive } from './focus-utils.js';\n\n/**\n * A mixin to handle `focused` and `focus-ring` attributes based on focus.\n *\n * @polymerMixin\n */\nexport const FocusMixin = dedupingMixin(\n (superclass) =>\n class FocusMixinClass extends superclass {\n /**\n * @protected\n * @return {boolean}\n */\n get _keyboardActive() {\n return isKeyboardActive();\n }\n\n /** @protected */\n ready() {\n this.addEventListener('focusin', (e) => {\n if (this._shouldSetFocus(e)) {\n this._setFocused(true);\n }\n });\n\n this.addEventListener('focusout', (e) => {\n if (this._shouldRemoveFocus(e)) {\n this._setFocused(false);\n }\n });\n\n // In super.ready() other 'focusin' and 'focusout' listeners might be\n // added, so we call it after our own ones to ensure they execute first.\n // Issue to watch out: when incorrect, <vaadin-combo-box> refocuses the\n // input field on iOS after \"Done\" is pressed.\n super.ready();\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n\n // In non-Chrome browsers, blur does not fire on the element when it is disconnected.\n // reproducible in `<vaadin-date-picker>` when closing on `Cancel` or `Today` click.\n if (this.hasAttribute('focused')) {\n this._setFocused(false);\n }\n }\n\n /**\n * Override to change how focused and focus-ring attributes are set.\n *\n * @param {boolean} focused\n * @protected\n */\n _setFocused(focused) {\n this.toggleAttribute('focused', focused);\n\n // Focus-ring is true when the element was focused from the keyboard.\n // Focus Ring [A11ycasts]: https://youtu.be/ilj2P5-5CjI\n this.toggleAttribute('focus-ring', focused && this._keyboardActive);\n }\n\n /**\n * Override to define if the field receives focus based on the event.\n *\n * @param {FocusEvent} _event\n * @return {boolean}\n * @protected\n */\n _shouldSetFocus(_event) {\n return true;\n }\n\n /**\n * Override to define if the field loses focus based on the event.\n *\n * @param {FocusEvent} _event\n * @return {boolean}\n * @protected\n */\n _shouldRemoveFocus(_event) {\n return true;\n }\n },\n);\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n forwardAttrs,\n getComponentName,\n injectStyle,\n observeAttributes,\n} from '@descope-ui/common/components-helpers';\n\nexport const componentName = getComponentName('avatar');\nclass RawAvatar extends createBaseClass({\n componentName,\n baseSelector: ':host > .wrapper',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\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`;\n\n injectStyle(`\n :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 `, this);\n\n this.avatarComponent = this.shadowRoot.querySelector('vaadin-avatar');\n\n forwardAttrs(this, this.avatarComponent, {\n includeAttrs: ['display-name', 'img', 'abbr'],\n mapAttrs: { 'display-name': 'name' },\n });\n\n const editableIcon = this.shadowRoot.querySelector('.editableBadge');\n\n observeAttributes(\n this,\n () => {\n editableIcon.style.display = this.isEditable ? '' : 'none';\n },\n { includeAttrs: ['editable'] },\n );\n }\n\n get isEditable() {\n return this.getAttribute('editable') === 'true';\n }\n}\n\nconst { host, editableBadge, avatar } = {\n host: { selector: () => ':host' },\n editableBadge: { selector: '> .editableBadge' },\n avatar: { selector: 'vaadin-avatar' },\n};\n\nexport const AvatarClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: [\n { ...host, property: 'width' },\n { ...host, property: 'min-width' },\n ],\n hostHeight: { ...host, property: 'height' },\n cursor: [avatar, host],\n hostDirection: { ...host, property: 'direction' },\n avatarTextColor: { ...avatar, property: 'color' },\n avatarBackgroundColor: { ...avatar, property: 'background-color' },\n editableIconColor: { ...editableBadge, property: 'color' },\n editableBorderColor: { ...editableBadge, property: 'border-color' },\n editableBackgroundColor: {\n ...editableBadge,\n property: 'background-color',\n },\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawAvatar);\n","import { componentName, AvatarClass } from './AvatarClass';\nimport '@vaadin/avatar';\nimport '@vaadin/icon';\nimport '@vaadin/icons';\n\ncustomElements.define(componentName, AvatarClass);\n\nexport { AvatarClass, componentName };\n","import { componentName, TextClass } from './TextClass';\n\ncustomElements.define(componentName, TextClass);\n\nexport { TextClass, componentName };\n","/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * A helper for observing slot changes.\n */\nexport class SlotObserver {\n constructor(slot, callback) {\n /** @type HTMLSlotElement */\n this.slot = slot;\n\n /** @type Function */\n this.callback = callback;\n\n /** @type {Node[]} */\n this._storedNodes = [];\n\n this._connected = false;\n this._scheduled = false;\n\n this._boundSchedule = () => {\n this._schedule();\n };\n\n this.connect();\n this._schedule();\n }\n\n /**\n * Activates an observer. This method is automatically called when\n * a `SlotObserver` is created. It should only be called to re-activate\n * an observer that has been deactivated via the `disconnect` method.\n */\n connect() {\n this.slot.addEventListener('slotchange', this._boundSchedule);\n this._connected = true;\n }\n\n /**\n * Deactivates the observer. After calling this method the observer callback\n * will not be called when changes to slotted nodes occur. The `connect` method\n * may be subsequently called to reactivate the observer.\n */\n disconnect() {\n this.slot.removeEventListener('slotchange', this._boundSchedule);\n this._connected = false;\n }\n\n /** @private */\n _schedule() {\n if (!this._scheduled) {\n this._scheduled = true;\n\n queueMicrotask(() => {\n this.flush();\n });\n }\n }\n\n /**\n * Run the observer callback synchronously.\n */\n flush() {\n if (!this._connected) {\n return;\n }\n\n this._scheduled = false;\n\n this._processNodes();\n }\n\n /** @private */\n _processNodes() {\n const currentNodes = this.slot.assignedNodes({ flatten: true });\n\n let addedNodes = [];\n const removedNodes = [];\n const movedNodes = [];\n\n if (currentNodes.length) {\n addedNodes = currentNodes.filter((node) => !this._storedNodes.includes(node));\n }\n\n if (this._storedNodes.length) {\n this._storedNodes.forEach((node, index) => {\n const idx = currentNodes.indexOf(node);\n if (idx === -1) {\n removedNodes.push(node);\n } else if (idx !== index) {\n movedNodes.push(node);\n }\n });\n }\n\n if (addedNodes.length || removedNodes.length || movedNodes.length) {\n this.callback({ addedNodes, movedNodes, removedNodes });\n }\n\n this._storedNodes = currentNodes;\n }\n}\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport {\n getComponentName,\n injectStyle,\n observeChildren,\n} from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('text');\n\nclass RawText extends createBaseClass({\n componentName,\n baseSelector: ':host > slot',\n}) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot part=\"text-wrapper\"></slot>\n `;\n\n injectStyle(`\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n `, this);\n }\n\n get hideWhenEmpty() {\n return this.getAttribute('hide-when-empty') === 'true';\n }\n\n init() {\n super.init();\n\n observeChildren(this, () => {\n const hasChildren = !!this.childNodes.length;\n this.style.display = !hasChildren && this.hideWhenEmpty ? 'none' : '';\n });\n }\n}\n\nconst { host } = {\n host: { selector: () => ':host' }\n}\n\nexport const TextClass = compose(\n createStyleMixin({\n mappings: {\n hostWidth: { ...host, property: 'width' },\n hostDirection: { ...host, property: 'direction' },\n fontSize: {},\n textColor: [\n { property: 'color' }\n ],\n textLineHeight: { property: 'line-height' },\n textLetterSpacing: { property: 'letter-spacing' },\n textShadow: {},\n textAlign: {},\n textTransform: {},\n fontFamily: {},\n fontStyle: {},\n fontWeight: {},\n borderWidth: {},\n borderStyle: {},\n borderColor: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n)(RawText);\n","/**\n * @license\n * Copyright (c) 2022 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { SlotController } from './slot-controller.js';\n\n/**\n * A controller that manages the slotted tooltip element.\n */\nexport class TooltipController extends SlotController {\n constructor(host) {\n // Do not provide slot factory to create tooltip lazily.\n super(host, 'tooltip');\n\n this.setTarget(host);\n }\n\n /**\n * Override to initialize the newly added custom tooltip.\n *\n * @param {Node} tooltipNode\n * @protected\n * @override\n */\n initCustomNode(tooltipNode) {\n tooltipNode.target = this.target;\n\n if (this.ariaTarget !== undefined) {\n tooltipNode.ariaTarget = this.ariaTarget;\n }\n\n if (this.context !== undefined) {\n tooltipNode.context = this.context;\n }\n\n if (this.manual !== undefined) {\n tooltipNode.manual = this.manual;\n }\n\n if (this.opened !== undefined) {\n tooltipNode.opened = this.opened;\n }\n\n if (this.position !== undefined) {\n tooltipNode._position = this.position;\n }\n\n if (this.shouldShow !== undefined) {\n tooltipNode.shouldShow = this.shouldShow;\n }\n\n this.__notifyChange();\n }\n\n /**\n * Override to notify the host when the tooltip is removed.\n *\n * @param {Node} tooltipNode\n * @protected\n * @override\n */\n teardownNode() {\n this.__notifyChange();\n }\n\n /**\n * Set an HTML element for linking with the tooltip overlay\n * via `aria-describedby` attribute used by screen readers.\n * @param {HTMLElement} ariaTarget\n */\n setAriaTarget(ariaTarget) {\n this.ariaTarget = ariaTarget;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.ariaTarget = ariaTarget;\n }\n }\n\n /**\n * Set a context object to be used by generator.\n * @param {object} context\n */\n setContext(context) {\n this.context = context;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.context = context;\n }\n }\n\n /**\n * Toggle manual state on the slotted tooltip.\n * @param {boolean} manual\n */\n setManual(manual) {\n this.manual = manual;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.manual = manual;\n }\n }\n\n /**\n * Toggle opened state on the slotted tooltip.\n * @param {boolean} opened\n */\n setOpened(opened) {\n this.opened = opened;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.opened = opened;\n }\n }\n\n /**\n * Set default position for the slotted tooltip.\n * This can be overridden by setting the position\n * using corresponding property or attribute.\n * @param {string} position\n */\n setPosition(position) {\n this.position = position;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode._position = position;\n }\n }\n\n /**\n * Set function used to detect whether to show\n * the tooltip based on a condition.\n * @param {Function} shouldShow\n */\n setShouldShow(shouldShow) {\n this.shouldShow = shouldShow;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.shouldShow = shouldShow;\n }\n }\n\n /**\n * Set an HTML element to attach the tooltip to.\n * @param {HTMLElement} target\n */\n setTarget(target) {\n this.target = target;\n\n const tooltipNode = this.node;\n if (tooltipNode) {\n tooltipNode.target = target;\n }\n }\n\n /** @private */\n __notifyChange() {\n this.dispatchEvent(new CustomEvent('tooltip-changed', { detail: { node: this.node } }));\n }\n}\n","import {\n createStyleMixin,\n draggableMixin,\n componentNameValidationMixin,\n activeableMixin,\n} from '@descope-ui/common/components-mixins';\nimport { compose } from '@descope-ui/common/utils';\nimport { getComponentName } from '@descope-ui/common/components-helpers';\nimport { injectStyle } from '@descope-ui/common/components-helpers';\nimport { createBaseClass } from '@descope-ui/common/base-classes';\n\nexport const componentName = getComponentName('list-item');\n\nconst customMixin = (superclass) =>\n class ListItemMixinClass extends superclass {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' }).innerHTML = `\n <slot></slot>\n `;\n\n injectStyle(\n `\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 this,\n );\n }\n };\n\nexport const ListItemClass = compose(\n createStyleMixin({\n mappings: {\n verticalPadding: [\n { property: 'padding-top' },\n { property: 'padding-bottom' },\n ],\n horizontalPadding: [\n { property: 'padding-left' },\n { property: 'padding-right' },\n ],\n backgroundColor: {},\n borderColor: {},\n borderStyle: {},\n borderWidth: {},\n borderRadius: {},\n outline: {},\n cursor: {},\n gap: {},\n maxWidth: { selector: () => ':host' },\n alignItems: {},\n flexDirection: {},\n transition: {},\n },\n }),\n draggableMixin,\n componentNameValidationMixin,\n customMixin,\n activeableMixin,\n)(createBaseClass({ componentName, baseSelector: 'slot' }));\n"],"names":["getAncestorRootNodes","node","result","nodeType","Node","DOCUMENT_NODE","push","DOCUMENT_FRAGMENT_NODE","assignedSlot","parentNode","host","getFlattenedElements","elements","localName","assignedElements","children","forEach","elem","getClosestElement","selector","closest","getRootNode","deserializeAttributeValue","value","Set","split","serializeAttributeValue","values","join","addValueToAttribute","element","attr","getAttribute","add","setAttribute","removeValueFromAttribute","delete","size","removeAttribute","isEmptyTextNode","TEXT_NODE","textContent","trim","componentName","RawList","baseSelector","observedAttributes","constructor","super","this","attachShadow","mode","innerHTML","items","shadowRoot","querySelector","length","variant","item","listItem","listItemVariant","init","isReadOnly","attributeChangedCallback","name","oldValue","newValue","ListClass","mappings","hostWidth","property","maxHeight","minHeight","verticalPadding","horizontalPadding","hostDirection","fontFamily","gap","backgroundColor","borderRadius","borderColor","borderStyle","borderWidth","boxShadow","gridTemplateColumns","maxItemsWidth","minItemsWidth","itemsHorizontalAlign","emptyStateTextColor","emptyStateTextFontFamily","uniqueId","generateUniqueId","customElements","define","sizing","SlotController","EventTarget","generateId","slotName","tagName","config","initializer","multiple","observe","useUniqueId","slotInitializer","nodes","defaultId","hostConnected","initialized","initMultiple","initSingle","observeSlot","getSlotChild","initAddedNode","attachDefaultNode","initNode","getSlotChildren","defaultNode","document","createElement","Element","appendChild","Array","from","childNodes","filter","ELEMENT_NODE","slot","initCustomNode","_node","teardownNode","__slotObserver","addedNodes","removedNodes","current","newNodes","includes","remove","AppsListClass","itemsFontWeight","TextClass","cssVarList","fontWeightOverride","itemsFontSize","fontSizeOverride","itemsTextAlign","textAlign","itemBackgroundColor","ListItemClass","backgroundColorOverride","itemBorderStyle","borderStyleOverride","itemBorderColor","borderColorOverride","itemBorderWidth","borderWidthOverride","itemVerticalPadding","verticalPaddingOverride","itemHorizontalPadding","horizontalPaddingOverride","itemAlignment","itemRenderer","icon","url","_","ref","logoSize","itemTextVariant","rerenderAttrsList","superclass","slots","wrappedEleName","excludeAttrsSync","style","FocusMixin","_keyboardActive","ready","addEventListener","e","_shouldSetFocus","_setFocused","_shouldRemoveFocus","disconnectedCallback","hasAttribute","focused","toggleAttribute","_event","RawAvatar","avatarComponent","includeAttrs","mapAttrs","editableIcon","display","isEditable","editableBadge","avatar","AvatarClass","hostHeight","cursor","avatarTextColor","avatarBackgroundColor","editableIconColor","editableBorderColor","editableBackgroundColor","SlotObserver","callback","_storedNodes","_connected","_scheduled","_boundSchedule","_schedule","connect","disconnect","removeEventListener","queueMicrotask","flush","_processNodes","currentNodes","assignedNodes","flatten","movedNodes","index","idx","indexOf","RawText","hideWhenEmpty","hasChildren","fontSize","textColor","textLineHeight","textLetterSpacing","textShadow","textTransform","fontStyle","fontWeight","TooltipController","setTarget","tooltipNode","target","undefined","ariaTarget","context","manual","opened","position","_position","shouldShow","__notifyChange","setAriaTarget","setContext","setManual","setOpened","setPosition","setShouldShow","dispatchEvent","CustomEvent","detail","outline","maxWidth","alignItems","flexDirection","transition"],"sourceRoot":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*! For license information please see descope-email-field-index-js.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[5695],{6424:(t,e,r)=>{r.d(e,{A:()=>x});const{host:i,label:o,placeholder:l,requiredIndicator:n,inputField:a,input:p,inputMask:s,helperText:d,errorMessage:u,disabledPlaceholder:c,inputDisabled:h,inputIcon:y,externalInput:m,externalInputDisabled:g,externalPlaceholder:f,externalDisabledPlaceholder:b}={host:{selector:()=>":host"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},placeholder:[{selector:"> input:placeholder-shown"},{selector:()=>":host::slotted(input:placeholder-shown)"}],disabledPlaceholder:{selector:"> input:disabled::placeholder"},inputField:{selector:"::part(input-field)"},input:{selector:"input"},inputMask:{selector:"::part(input-field)::before"},inputDisabled:{selector:"input:disabled"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"},inputIcon:{selector:"vaadin-icon"},externalInput:{selector:()=>"::slotted(input)"},externalInputDisabled:{selector:()=>"::slotted(input:disabled)"},externalPlaceholder:{selector:()=>"::slotted(input:placeholder-shown)"},externalDisabledPlaceholder:{selector:()=>"::slotted(input:disabled::placeholder)"}},x={fontSize:[{},i],fontFamily:[o,a,d,u],labelFontSize:{...o,property:"font-size"},labelFontWeight:{...o,property:"font-weight"},labelTextColor:[{...o,property:"color"},{...n,property:"color"},{...o,property:"-webkit-text-fill-color"},{...n,property:"-webkit-text-fill-color"}],hostWidth:{...i,property:"width"},hostMinWidth:{...i,property:"min-width"},hostDirection:{...i,property:"direction"},inputDirection:{...p,property:"direction"},inputBackgroundColor:[{...a,property:"background-color"},{...s,property:"background-color"}],errorMessageTextColor:{...u,property:"color"},errorMessageIcon:{...u,property:"background-image"},errorMessageIconSize:{...u,property:"background-size"},errorMessageIconPadding:{...u,property:"padding-inline-start"},errorMessageIconRepeat:{...u,property:"background-repeat"},errorMessageIconPosition:{...u,property:"background-position"},errorMessageFontSize:{...u,property:"font-size"},helperTextColor:{...d,property:"-webkit-text-fill-color"},inputValueTextColor:[{...a,property:"color"},{...h,property:"-webkit-text-fill-color"},{...g,property:"-webkit-text-fill-color"}],inputCaretTextColor:[{...p,property:"caret-color"},{...m,property:"caret-color"}],labelRequiredIndicator:{...n,property:"content"},inputBorderColor:{...a,property:"border-color"},inputBorderWidth:{...a,property:"border-width"},inputBorderStyle:{...a,property:"border-style"},inputBorderRadius:{...a,property:"border-radius"},inputHeight:{...a,property:"height"},inputHorizontalPadding:[{...p,property:"padding-left"},{...p,property:"padding-right"},{...m,property:"padding-left"},{...m,property:"padding-right"}],inputOutlineColor:{...a,property:"outline-color"},inputOutlineStyle:{...a,property:"outline-style"},inputOutlineWidth:{...a,property:"outline-width"},inputOutlineOffset:{...a,property:"outline-offset"},textAlign:{},inputTextAlign:[{...p,property:"text-align"},{...m,property:"text-align"}],inputPlaceholderColor:[{selector:()=>":host input:placeholder-shown",property:"color"},{...f,property:"color"},{...l,property:"color"},{...c,property:"-webkit-text-fill-color"},{...b,property:"-webkit-text-fill-color"}],labelPosition:{...o,property:"position"},labelTopPosition:{...o,property:"top"},labelHorizontalPosition:[{...o,property:"left"},{...o,property:"right"}],inputTransformY:{...o,property:"transform"},inputTransition:{...o,property:"transition"},marginInlineStart:{...o,property:"margin-inline-start"},placeholderOpacity:[{selector:"> input:placeholder-shown",property:"opacity"},{...f,property:"opacity"}],inputVerticalAlignment:[{...a,property:"align-items"},{...m,property:"align-items"}],valueInputHeight:[{...p,property:"height"},{...m,property:"height"}],valueInputMarginBottom:[{...p,property:"margin-bottom"},{...m,property:"margin-bottom"}],inputIconOffset:[{...y,property:"margin-right"},{...y,property:"margin-left"}],inputIconSize:{...y,property:"font-size"},inputIconColor:{...y,property:"color"}}},18330:(t,e,r)=>{r.d(e,{f:()=>o});var i=r(44099);class o extends i.r{constructor(t,e){super(t,"input","input",{initializer:(t,r)=>{r.value&&(t.value=r.value),r.type&&t.setAttribute("type",r.type),t.id=this.defaultId,"function"==typeof e&&e(t)},useUniqueId:!0})}}},27136:(t,e,r)=>{r.d(e,{A:()=>h}),r(86689);var i=r(13256),o=r(82901),l=r(90676),n=r(81488),a=r(86314),p=r(87550),s=r(18330),d=r(37436),u=r(37720);const c=t=>class extends((0,d.a)(t)){static get properties(){return{maxlength:{type:Number},minlength:{type:Number},pattern:{type:String}}}static get delegateAttrs(){return[...super.delegateAttrs,"maxlength","minlength","pattern"]}static get constraints(){return[...super.constraints,"maxlength","minlength","pattern"]}constructor(){super(),this._setType("text")}get clearElement(){return this.$.clearButton}ready(){super.ready(),this.addController(new s.f(this,t=>{this._setInputElement(t),this._setFocusElement(t),this.stateTarget=t,this.ariaTarget=t})),this.addController(new u.q(this.inputElement,this._labelController))}};(0,p.SF)("vaadin-text-field",a.k,{moduleId:"vaadin-text-field-styles"});class h extends(c((0,p.cp)((0,l.q)(i.Pu)))){static get is(){return"vaadin-text-field"}static get template(){return i.qy`
|
|
2
|
+
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[4838,5695],{6424:(t,e,r)=>{r.d(e,{A:()=>x});const{host:i,label:o,placeholder:l,requiredIndicator:n,inputField:a,input:p,inputMask:s,helperText:d,errorMessage:u,disabledPlaceholder:c,inputDisabled:h,inputIcon:y,externalInput:m,externalInputDisabled:g,externalPlaceholder:f,externalDisabledPlaceholder:b}={host:{selector:()=>":host"},label:{selector:"::part(label)"},requiredIndicator:{selector:"[required]::part(required-indicator)::after"},placeholder:[{selector:"> input:placeholder-shown"},{selector:()=>":host::slotted(input:placeholder-shown)"}],disabledPlaceholder:{selector:"> input:disabled::placeholder"},inputField:{selector:"::part(input-field)"},input:{selector:"input"},inputMask:{selector:"::part(input-field)::before"},inputDisabled:{selector:"input:disabled"},helperText:{selector:"::part(helper-text)"},errorMessage:{selector:"::part(error-message)"},inputIcon:{selector:"vaadin-icon"},externalInput:{selector:()=>"::slotted(input)"},externalInputDisabled:{selector:()=>"::slotted(input:disabled)"},externalPlaceholder:{selector:()=>"::slotted(input:placeholder-shown)"},externalDisabledPlaceholder:{selector:()=>"::slotted(input:disabled::placeholder)"}},x={fontSize:[{},i],fontFamily:[o,a,d,u],labelFontSize:{...o,property:"font-size"},labelFontWeight:{...o,property:"font-weight"},labelTextColor:[{...o,property:"color"},{...n,property:"color"},{...o,property:"-webkit-text-fill-color"},{...n,property:"-webkit-text-fill-color"}],hostWidth:{...i,property:"width"},hostMinWidth:{...i,property:"min-width"},hostDirection:{...i,property:"direction"},inputDirection:{...p,property:"direction"},inputBackgroundColor:[{...a,property:"background-color"},{...s,property:"background-color"}],errorMessageTextColor:{...u,property:"color"},errorMessageIcon:{...u,property:"background-image"},errorMessageIconSize:{...u,property:"background-size"},errorMessageIconPadding:{...u,property:"padding-inline-start"},errorMessageIconRepeat:{...u,property:"background-repeat"},errorMessageIconPosition:{...u,property:"background-position"},errorMessageFontSize:{...u,property:"font-size"},helperTextColor:{...d,property:"-webkit-text-fill-color"},inputValueTextColor:[{...a,property:"color"},{...h,property:"-webkit-text-fill-color"},{...g,property:"-webkit-text-fill-color"}],inputCaretTextColor:[{...p,property:"caret-color"},{...m,property:"caret-color"}],labelRequiredIndicator:{...n,property:"content"},inputBorderColor:{...a,property:"border-color"},inputBorderWidth:{...a,property:"border-width"},inputBorderStyle:{...a,property:"border-style"},inputBorderRadius:{...a,property:"border-radius"},inputHeight:{...a,property:"height"},inputHorizontalPadding:[{...p,property:"padding-left"},{...p,property:"padding-right"},{...m,property:"padding-left"},{...m,property:"padding-right"}],inputOutlineColor:{...a,property:"outline-color"},inputOutlineStyle:{...a,property:"outline-style"},inputOutlineWidth:{...a,property:"outline-width"},inputOutlineOffset:{...a,property:"outline-offset"},textAlign:{},inputTextAlign:[{...p,property:"text-align"},{...m,property:"text-align"}],inputPlaceholderColor:[{selector:()=>":host input:placeholder-shown",property:"color"},{...f,property:"color"},{...l,property:"color"},{...c,property:"-webkit-text-fill-color"},{...b,property:"-webkit-text-fill-color"}],labelPosition:{...o,property:"position"},labelTopPosition:{...o,property:"top"},labelHorizontalPosition:[{...o,property:"left"},{...o,property:"right"}],inputTransformY:{...o,property:"transform"},inputTransition:{...o,property:"transition"},marginInlineStart:{...o,property:"margin-inline-start"},placeholderOpacity:[{selector:"> input:placeholder-shown",property:"opacity"},{...f,property:"opacity"}],inputVerticalAlignment:[{...a,property:"align-items"},{...m,property:"align-items"}],valueInputHeight:[{...p,property:"height"},{...m,property:"height"}],valueInputMarginBottom:[{...p,property:"margin-bottom"},{...m,property:"margin-bottom"}],inputIconOffset:[{...y,property:"margin-right"},{...y,property:"margin-left"}],inputIconSize:{...y,property:"font-size"},inputIconColor:{...y,property:"color"}}},18330:(t,e,r)=>{r.d(e,{f:()=>o});var i=r(44099);class o extends i.r{constructor(t,e){super(t,"input","input",{initializer:(t,r)=>{r.value&&(t.value=r.value),r.type&&t.setAttribute("type",r.type),t.id=this.defaultId,"function"==typeof e&&e(t)},useUniqueId:!0})}}},27136:(t,e,r)=>{r.d(e,{A:()=>h}),r(86689);var i=r(13256),o=r(82901),l=r(90676),n=r(81488),a=r(86314),p=r(87550),s=r(18330),d=r(37436),u=r(37720);const c=t=>class extends((0,d.a)(t)){static get properties(){return{maxlength:{type:Number},minlength:{type:Number},pattern:{type:String}}}static get delegateAttrs(){return[...super.delegateAttrs,"maxlength","minlength","pattern"]}static get constraints(){return[...super.constraints,"maxlength","minlength","pattern"]}constructor(){super(),this._setType("text")}get clearElement(){return this.$.clearButton}ready(){super.ready(),this.addController(new s.f(this,t=>{this._setInputElement(t),this._setFocusElement(t),this.stateTarget=t,this.ariaTarget=t})),this.addController(new u.q(this.inputElement,this._labelController))}};(0,p.SF)("vaadin-text-field",a.k,{moduleId:"vaadin-text-field-styles"});class h extends(c((0,p.cp)((0,l.q)(i.Pu)))){static get is(){return"vaadin-text-field"}static get template(){return i.qy`
|
|
3
3
|
<style>
|
|
4
4
|
[part='input-field'] {
|
|
5
5
|
flex-grow: 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descope-email-field-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-text-field/textFieldMappings.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/src/vaadin-text-field-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/src/vaadin-text-field.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-field-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/theme/lumo/vaadin-text-field-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/email-field/theme/lumo/vaadin-email-field-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/email-field/src/vaadin-email-field-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/email-field/src/vaadin-email-field.js","webpack://@descope/web-components-ui/./src/components/descope-email-field/EmailFieldClass.js","webpack://@descope/web-components-ui/./src/components/descope-email-field/index.js"],"sourcesContent":["const {\n host,\n label,\n placeholder,\n requiredIndicator,\n inputField,\n input,\n inputMask,\n helperText,\n errorMessage,\n disabledPlaceholder,\n inputDisabled,\n inputIcon,\n externalInput,\n externalInputDisabled,\n externalPlaceholder,\n externalDisabledPlaceholder,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n placeholder: [\n { selector: '> input:placeholder-shown' },\n { selector: () => ':host::slotted(input:placeholder-shown)' },\n ],\n disabledPlaceholder: { selector: '> input:disabled::placeholder' },\n inputField: { selector: '::part(input-field)' },\n input: { selector: 'input' },\n inputMask: { selector: '::part(input-field)::before' },\n inputDisabled: { selector: 'input:disabled' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n inputIcon: { selector: 'vaadin-icon' },\n externalInput: { selector: () => '::slotted(input)' },\n externalInputDisabled: { selector: () => '::slotted(input:disabled)' },\n externalPlaceholder: { selector: () => '::slotted(input:placeholder-shown)' },\n externalDisabledPlaceholder: { selector: () => '::slotted(input:disabled::placeholder)' },\n};\n\nexport default {\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host],\n fontFamily: [label, inputField, helperText, errorMessage],\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n { ...label, property: '-webkit-text-fill-color' },\n { ...requiredIndicator, property: '-webkit-text-fill-color' },\n ],\n\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n inputDirection: { ...input, property: 'direction' },\n\n inputBackgroundColor: [\n { ...inputField, property: 'background-color' },\n { ...inputMask, property: 'background-color' },\n ],\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n errorMessageFontSize: { ...errorMessage, property: 'font-size' },\n\n helperTextColor: { ...helperText, property: '-webkit-text-fill-color' },\n\n inputValueTextColor: [\n { ...inputField, property: 'color' },\n { ...inputDisabled, property: '-webkit-text-fill-color' },\n { ...externalInputDisabled, property: '-webkit-text-fill-color' },\n ],\n inputCaretTextColor: [\n { ...input, property: 'caret-color' },\n { ...externalInput, property: 'caret-color' },\n ],\n\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputHeight: { ...inputField, property: 'height' },\n inputHorizontalPadding: [\n { ...input, property: 'padding-left' },\n { ...input, property: 'padding-right' },\n { ...externalInput, property: 'padding-left' },\n { ...externalInput, property: 'padding-right' },\n ],\n\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n textAlign: {},\n\n inputTextAlign: [\n { ...input, property: 'text-align' },\n { ...externalInput, property: 'text-align' },\n ],\n\n inputPlaceholderColor: [\n { selector: () => ':host input:placeholder-shown', property: 'color' },\n { ...externalPlaceholder, property: 'color' },\n { ...placeholder, property: 'color' },\n { ...disabledPlaceholder, property: '-webkit-text-fill-color' },\n { ...externalDisabledPlaceholder, property: '-webkit-text-fill-color' },\n ],\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: [\n { selector: '> input:placeholder-shown', property: 'opacity' },\n { ...externalPlaceholder, property: 'opacity' },\n ],\n inputVerticalAlignment: [\n { ...inputField, property: 'align-items' },\n { ...externalInput, property: 'align-items' },\n ],\n valueInputHeight: [\n { ...input, property: 'height' },\n { ...externalInput, property: 'height' },\n ],\n valueInputMarginBottom: [\n { ...input, property: 'margin-bottom' },\n { ...externalInput, property: 'margin-bottom' },\n ],\n\n inputIconOffset: [\n { ...inputIcon, property: 'margin-right' },\n { ...inputIcon, property: 'margin-left' },\n ],\n inputIconSize: { ...inputIcon, property: 'font-size' },\n inputIconColor: { ...inputIcon, property: 'color' },\n};\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { SlotController } from '@vaadin/component-base/src/slot-controller.js';\n\n/**\n * A controller to create and initialize slotted `<input>` element.\n */\nexport class InputController extends SlotController {\n constructor(host, callback) {\n super(host, 'input', 'input', {\n initializer: (node, host) => {\n if (host.value) {\n node.value = host.value;\n }\n if (host.type) {\n node.setAttribute('type', host.type);\n }\n\n // Ensure every instance has unique ID\n node.id = this.defaultId;\n\n if (typeof callback === 'function') {\n callback(node);\n }\n },\n useUniqueId: true,\n });\n }\n}\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { InputController } from '@vaadin/field-base/src/input-controller.js';\nimport { InputFieldMixin } from '@vaadin/field-base/src/input-field-mixin.js';\nimport { LabelledInputController } from '@vaadin/field-base/src/labelled-input-controller.js';\n\n/**\n * A mixin providing common text field functionality.\n *\n * @polymerMixin\n * @mixes InputFieldMixin\n */\nexport const TextFieldMixin = (superClass) =>\n class TextFieldMixinClass extends InputFieldMixin(superClass) {\n static get properties() {\n return {\n /**\n * Maximum number of characters (in Unicode code points) that the user can enter.\n */\n maxlength: {\n type: Number,\n },\n\n /**\n * Minimum number of characters (in Unicode code points) that the user can enter.\n */\n minlength: {\n type: Number,\n },\n\n /**\n * A regular expression that the value is checked against.\n * The pattern must match the entire value, not just some subset.\n */\n pattern: {\n type: String,\n },\n };\n }\n\n static get delegateAttrs() {\n return [...super.delegateAttrs, 'maxlength', 'minlength', 'pattern'];\n }\n\n static get constraints() {\n return [...super.constraints, 'maxlength', 'minlength', 'pattern'];\n }\n\n constructor() {\n super();\n this._setType('text');\n }\n\n /** @protected */\n get clearElement() {\n return this.$.clearButton;\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this.addController(\n new InputController(this, (input) => {\n this._setInputElement(input);\n this._setFocusElement(input);\n this.stateTarget = input;\n this.ariaTarget = input;\n }),\n );\n this.addController(new LabelledInputController(this.inputElement, this._labelController));\n }\n };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/input-container/src/vaadin-input-container.js';\nimport { html, PolymerElement } from '@polymer/polymer';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';\nimport { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js';\nimport { inputFieldShared } from '@vaadin/field-base/src/styles/input-field-shared-styles.js';\nimport { registerStyles, ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { TextFieldMixin } from './vaadin-text-field-mixin.js';\n\nregisterStyles('vaadin-text-field', inputFieldShared, { moduleId: 'vaadin-text-field-styles' });\n\n/**\n * `<vaadin-text-field>` is a web component that allows the user to input and edit text.\n *\n * ```html\n * <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n * ```\n *\n * ### Prefixes and suffixes\n *\n * These are child elements of a `<vaadin-text-field>` that are displayed\n * inline with the input, before or after.\n * In order for an element to be considered as a prefix, it must have the slot\n * attribute set to `prefix` (and similarly for `suffix`).\n *\n * ```html\n * <vaadin-text-field label=\"Email address\">\n * <div slot=\"prefix\">Sent to:</div>\n * <div slot=\"suffix\">@vaadin.com</div>\n * </vaadin-text-field>\n * ```\n *\n * ### Styling\n *\n * The following custom properties are available for styling:\n *\n * Custom property | Description | Default\n * -------------------------------|----------------------------|---------\n * `--vaadin-field-default-width` | Default width of the field | `12em`\n *\n * The following shadow DOM parts are available for styling:\n *\n * Part name | Description\n * ---------------------|----------------\n * `label` | The label element\n * `input-field` | The element that wraps prefix, value and suffix\n * `clear-button` | The clear button\n * `error-message` | The error message element\n * `helper-text` | The helper text element wrapper\n * `required-indicator` | The `required` state indicator element\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description | Part name\n * --------------------|-------------|------------\n * `disabled` | Set to a disabled text field | :host\n * `has-value` | Set when the element has a value | :host\n * `has-label` | Set when the element has a label | :host\n * `has-helper` | Set when the element has helper text or slot | :host\n * `has-error-message` | Set when the element has an error message | :host\n * `invalid` | Set when the element is invalid | :host\n * `input-prevented` | Temporarily set when invalid input is prevented | :host\n * `focused` | Set when the element is focused | :host\n * `focus-ring` | Set when the element is keyboard focused | :host\n * `readonly` | Set to a readonly text field | :host\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @fires {Event} input - Fired when the value is changed by the user: on every typing keystroke, and the value is cleared using the clear button.\n * @fires {Event} change - Fired when the user commits a value change.\n * @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.\n * @fires {CustomEvent} value-changed - Fired when the `value` property changes.\n * @fires {CustomEvent} validated - Fired whenever the field is validated.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes ElementMixin\n * @mixes ThemableMixin\n * @mixes TextFieldMixin\n */\nexport class TextField extends TextFieldMixin(ThemableMixin(ElementMixin(PolymerElement))) {\n static get is() {\n return 'vaadin-text-field';\n }\n\n static get template() {\n return html`\n <style>\n [part='input-field'] {\n flex-grow: 0;\n }\n </style>\n\n <div class=\"vaadin-field-container\">\n <div part=\"label\">\n <slot name=\"label\"></slot>\n <span part=\"required-indicator\" aria-hidden=\"true\" on-click=\"focus\"></span>\n </div>\n\n <vaadin-input-container\n part=\"input-field\"\n readonly=\"[[readonly]]\"\n disabled=\"[[disabled]]\"\n invalid=\"[[invalid]]\"\n theme$=\"[[_theme]]\"\n >\n <slot name=\"prefix\" slot=\"prefix\"></slot>\n <slot name=\"input\"></slot>\n <slot name=\"suffix\" slot=\"suffix\"></slot>\n <div id=\"clearButton\" part=\"clear-button\" slot=\"suffix\" aria-hidden=\"true\"></div>\n </vaadin-input-container>\n\n <div part=\"helper-text\">\n <slot name=\"helper\"></slot>\n </div>\n\n <div part=\"error-message\">\n <slot name=\"error-message\"></slot>\n </div>\n </div>\n <slot name=\"tooltip\"></slot>\n `;\n }\n\n static get properties() {\n return {\n /**\n * Maximum number of characters (in Unicode code points) that the user can enter.\n */\n maxlength: {\n type: Number,\n },\n\n /**\n * Minimum number of characters (in Unicode code points) that the user can enter.\n */\n minlength: {\n type: Number,\n },\n };\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this._tooltipController = new TooltipController(this);\n this._tooltipController.setPosition('top');\n this._tooltipController.setAriaTarget(this.inputElement);\n this.addController(this._tooltipController);\n }\n}\n\ndefineCustomElement(TextField);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { InputControlMixin } from './input-control-mixin.js';\n\n/**\n * A mixin to provide logic for vaadin-text-field and related components.\n *\n * @polymerMixin\n * @mixes InputControlMixin\n */\nexport const InputFieldMixin = (superclass) =>\n class InputFieldMixinClass extends InputControlMixin(superclass) {\n static get properties() {\n return {\n /**\n * Whether the value of the control can be automatically completed by the browser.\n * List of available options at:\n * https://developer.mozilla.org/en/docs/Web/HTML/Element/input#attr-autocomplete\n */\n autocomplete: {\n type: String,\n },\n\n /**\n * This is a property supported by Safari that is used to control whether\n * autocorrection should be enabled when the user is entering/editing the text.\n * Possible values are:\n * on: Enable autocorrection.\n * off: Disable autocorrection.\n */\n autocorrect: {\n type: String,\n },\n\n /**\n * This is a property supported by Safari and Chrome that is used to control whether\n * autocapitalization should be enabled when the user is entering/editing the text.\n * Possible values are:\n * characters: Characters capitalization.\n * words: Words capitalization.\n * sentences: Sentences capitalization.\n * none: No capitalization.\n */\n autocapitalize: {\n type: String,\n reflectToAttribute: true,\n },\n };\n }\n\n static get delegateAttrs() {\n return [...super.delegateAttrs, 'autocapitalize', 'autocomplete', 'autocorrect'];\n }\n\n // Workaround for https://github.com/Polymer/polymer/issues/5259\n get __data() {\n return this.__dataValue || {};\n }\n\n set __data(value) {\n this.__dataValue = value;\n }\n\n /**\n * @param {HTMLElement} input\n * @protected\n * @override\n */\n _inputElementChanged(input) {\n super._inputElementChanged(input);\n\n if (input) {\n // Discard value set on the custom slotted input.\n if (input.value && input.value !== this.value) {\n console.warn(`Please define value on the <${this.localName}> component!`);\n input.value = '';\n }\n\n if (this.value) {\n input.value = this.value;\n }\n }\n }\n\n /**\n * Override an event listener from `FocusMixin`.\n * @param {boolean} focused\n * @protected\n * @override\n */\n _setFocused(focused) {\n super._setFocused(focused);\n\n // Do not validate when focusout is caused by document\n // losing focus, which happens on browser tab switch.\n if (!focused && document.hasFocus()) {\n this.validate();\n }\n }\n\n /**\n * Override an event listener from `InputMixin`\n * to mark as valid after user started typing.\n * @param {Event} event\n * @protected\n * @override\n */\n _onInput(event) {\n super._onInput(event);\n\n if (this.invalid) {\n this.validate();\n }\n }\n\n /**\n * Override an observer from `InputMixin` to validate the field\n * when a new value is set programmatically.\n *\n * @param {string | undefined} newValue\n * @param {string | undefined} oldValue\n * @protected\n * @override\n */\n _valueChanged(newValue, oldValue) {\n super._valueChanged(newValue, oldValue);\n\n if (oldValue === undefined) {\n return;\n }\n\n if (this.invalid) {\n this.validate();\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/input-container/theme/lumo/vaadin-input-container-styles.js';\nimport { inputFieldShared } from '@vaadin/vaadin-lumo-styles/mixins/input-field-shared.js';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nregisterStyles('vaadin-text-field', inputFieldShared, {\n moduleId: 'lumo-text-field-styles',\n});\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { inputFieldShared } from '@vaadin/vaadin-lumo-styles/mixins/input-field-shared.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst emailField = css`\n :host([dir='rtl']) [part='input-field'] ::slotted(input) {\n --_lumo-text-field-overflow-mask-image: linear-gradient(to left, transparent, #000 1.25em);\n }\n\n :host([dir='rtl']) [part='input-field'] ::slotted(input:placeholder-shown) {\n --_lumo-text-field-overflow-mask-image: none;\n }\n`;\n\nregisterStyles('vaadin-email-field', [inputFieldShared, emailField], {\n moduleId: 'lumo-email-field',\n});\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { css } from 'lit';\n\n// See https://github.com/vaadin/vaadin-text-field/issues/466\nexport const emailFieldStyles = css`\n :host([dir='rtl']) [part='input-field'] {\n direction: ltr;\n }\n\n :host([dir='rtl']) [part='input-field'] ::slotted(input)::placeholder {\n direction: rtl;\n text-align: left;\n }\n`;\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { TextField } from '@vaadin/text-field/src/vaadin-text-field.js';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { emailFieldStyles } from './vaadin-email-field-styles.js';\n\nregisterStyles('vaadin-email-field', emailFieldStyles, { moduleId: 'vaadin-email-field-styles' });\n\n/**\n * `<vaadin-email-field>` is a Web Component for email field control in forms.\n *\n * ```html\n * <vaadin-email-field label=\"Email\"></vaadin-email-field>\n * ```\n *\n * ### Styling\n *\n * `<vaadin-email-field>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.\n * See [`<vaadin-text-field>`](#/elements/vaadin-text-field) for the styling documentation.\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @fires {Event} input - Fired when the value is changed by the user: on every typing keystroke, and the value is cleared using the clear button.\n * @fires {Event} change - Fired when the user commits a value change.\n * @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.\n * @fires {CustomEvent} value-changed - Fired when the `value` property changes.\n * @fires {CustomEvent} validated - Fired whenever the field is validated.\n *\n * @customElement\n * @extends TextField\n */\nexport class EmailField extends TextField {\n static get is() {\n return 'vaadin-email-field';\n }\n\n constructor() {\n super();\n this._setType('email');\n this.pattern = '^([a-zA-Z0-9_\\\\.\\\\-+])+@[a-zA-Z0-9\\\\-.]+\\\\.[a-zA-Z0-9\\\\-]{2,}$';\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n if (this.inputElement) {\n this.inputElement.autocapitalize = 'off';\n }\n }\n}\n\ndefineCustomElement(EmailField);\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n externalInputMixin,\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n inputFloatingLabelStyle,\n resetInputLabelPosition,\n resetInputOverrides,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('email-field');\n\nconst defaultPattern = \"^[\\\\w\\\\.\\\\%\\\\+\\\\-']+@[\\\\w\\\\.\\\\-]+\\\\.[A-Za-z]{2,}$\";\nconst defaultAutocomplete = 'username';\n\nconst customMixin = (superclass) =>\n class EmailFieldMixinClass extends superclass {\n init() {\n super.init?.();\n\n // we need to set the pattern on the base element because vaadin-email-field is overriding it\n this.baseElement.setAttribute('pattern', defaultPattern);\n\n if (!this.getAttribute('autocomplete')) {\n this.setAttribute('autocomplete', defaultAutocomplete);\n }\n\n this.createExternalInput();\n }\n };\n\nexport const EmailFieldClass = compose(\n createStyleMixin({\n mappings: textFieldMappings,\n }),\n draggableMixin,\n externalInputMixin({\n inputType: 'email',\n inputName: 'email',\n autocompleteType: 'username',\n includeAttrs: ['disabled', 'readonly', 'pattern'],\n }),\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['', 'suffix'],\n wrappedEleName: 'vaadin-email-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${EmailFieldClass.cssVarList.inputOutlineWidth}) + var(${\n EmailFieldClass.cssVarList.inputOutlineOffset\n }));\n box-sizing: border-box;\n\t\t\t}\n ${resetInputLabelPosition('vaadin-email-field')}\n\t\t\t${useHostExternalPadding(EmailFieldClass.cssVarList)}\n\t\t\t${resetInputOverrides('vaadin-email-field', EmailFieldClass.cssVarList)}\n ${inputFloatingLabelStyle()}\n\n vaadin-email-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-email-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\n :host ::slotted(*) {\n -webkit-mask-image: none;\n }\n\n vaadin-email-field[external-input=\"true\"] > input:not(:placeholder-shown) {\n opacity: 0;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex', 'style'],\n componentName,\n })\n);\n","import '@vaadin/email-field';\nimport { componentName, EmailFieldClass } from './EmailFieldClass';\n\ncustomElements.define(componentName, EmailFieldClass);\n\nexport { EmailFieldClass, componentName };\n"],"names":["host","label","placeholder","requiredIndicator","inputField","input","inputMask","helperText","errorMessage","disabledPlaceholder","inputDisabled","inputIcon","externalInput","externalInputDisabled","externalPlaceholder","externalDisabledPlaceholder","selector","fontSize","fontFamily","labelFontSize","property","labelFontWeight","labelTextColor","hostWidth","hostMinWidth","hostDirection","inputDirection","inputBackgroundColor","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","helperTextColor","inputValueTextColor","inputCaretTextColor","labelRequiredIndicator","inputBorderColor","inputBorderWidth","inputBorderStyle","inputBorderRadius","inputHeight","inputHorizontalPadding","inputOutlineColor","inputOutlineStyle","inputOutlineWidth","inputOutlineOffset","textAlign","inputTextAlign","inputPlaceholderColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","placeholderOpacity","inputVerticalAlignment","valueInputHeight","valueInputMarginBottom","inputIconOffset","inputIconSize","inputIconColor","InputController","constructor","callback","super","initializer","node","value","type","setAttribute","id","this","defaultId","useUniqueId","TextFieldMixin","superClass","properties","maxlength","Number","minlength","pattern","String","delegateAttrs","constraints","_setType","clearElement","$","clearButton","ready","addController","_setInputElement","_setFocusElement","stateTarget","ariaTarget","inputElement","_labelController","moduleId","TextField","is","template","_tooltipController","setPosition","setAriaTarget","InputFieldMixin","superclass","autocomplete","autocorrect","autocapitalize","reflectToAttribute","__data","__dataValue","_inputElementChanged","console","warn","localName","_setFocused","focused","document","hasFocus","validate","_onInput","event","invalid","_valueChanged","newValue","oldValue","undefined","emailField","emailFieldStyles","EmailField","componentName","EmailFieldClass","mappings","textFieldMappings","inputType","inputName","autocompleteType","includeAttrs","proxyProps","useProxyTargets","init","baseElement","getAttribute","createExternalInput","slots","wrappedEleName","style","cssVarList","excludeAttrsSync","customElements","define"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"descope-email-field-index-js.js","mappings":"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","sources":["webpack://@descope/web-components-ui/./src/components/descope-text-field/textFieldMappings.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/src/vaadin-text-field-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/src/vaadin-text-field.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/field-base/src/input-field-mixin.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/text-field/theme/lumo/vaadin-text-field-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/email-field/theme/lumo/vaadin-email-field-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/email-field/src/vaadin-email-field-styles.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/email-field/src/vaadin-email-field.js","webpack://@descope/web-components-ui/./src/components/descope-email-field/EmailFieldClass.js","webpack://@descope/web-components-ui/./src/components/descope-email-field/index.js"],"sourcesContent":["const {\n host,\n label,\n placeholder,\n requiredIndicator,\n inputField,\n input,\n inputMask,\n helperText,\n errorMessage,\n disabledPlaceholder,\n inputDisabled,\n inputIcon,\n externalInput,\n externalInputDisabled,\n externalPlaceholder,\n externalDisabledPlaceholder,\n} = {\n host: { selector: () => ':host' },\n label: { selector: '::part(label)' },\n requiredIndicator: { selector: '[required]::part(required-indicator)::after' },\n placeholder: [\n { selector: '> input:placeholder-shown' },\n { selector: () => ':host::slotted(input:placeholder-shown)' },\n ],\n disabledPlaceholder: { selector: '> input:disabled::placeholder' },\n inputField: { selector: '::part(input-field)' },\n input: { selector: 'input' },\n inputMask: { selector: '::part(input-field)::before' },\n inputDisabled: { selector: 'input:disabled' },\n helperText: { selector: '::part(helper-text)' },\n errorMessage: { selector: '::part(error-message)' },\n inputIcon: { selector: 'vaadin-icon' },\n externalInput: { selector: () => '::slotted(input)' },\n externalInputDisabled: { selector: () => '::slotted(input:disabled)' },\n externalPlaceholder: { selector: () => '::slotted(input:placeholder-shown)' },\n externalDisabledPlaceholder: { selector: () => '::slotted(input:disabled::placeholder)' },\n};\n\nexport default {\n // we apply font-size also on the host so we can set its width with em\n fontSize: [{}, host],\n fontFamily: [label, inputField, helperText, errorMessage],\n\n labelFontSize: { ...label, property: 'font-size' },\n labelFontWeight: { ...label, property: 'font-weight' },\n\n labelTextColor: [\n { ...label, property: 'color' },\n { ...requiredIndicator, property: 'color' },\n { ...label, property: '-webkit-text-fill-color' },\n { ...requiredIndicator, property: '-webkit-text-fill-color' },\n ],\n\n hostWidth: { ...host, property: 'width' },\n hostMinWidth: { ...host, property: 'min-width' },\n hostDirection: { ...host, property: 'direction' },\n inputDirection: { ...input, property: 'direction' },\n\n inputBackgroundColor: [\n { ...inputField, property: 'background-color' },\n { ...inputMask, property: 'background-color' },\n ],\n\n errorMessageTextColor: { ...errorMessage, property: 'color' },\n errorMessageIcon: { ...errorMessage, property: 'background-image' },\n errorMessageIconSize: { ...errorMessage, property: 'background-size' },\n errorMessageIconPadding: { ...errorMessage, property: 'padding-inline-start' },\n errorMessageIconRepeat: { ...errorMessage, property: 'background-repeat' },\n errorMessageIconPosition: { ...errorMessage, property: 'background-position' },\n errorMessageFontSize: { ...errorMessage, property: 'font-size' },\n\n helperTextColor: { ...helperText, property: '-webkit-text-fill-color' },\n\n inputValueTextColor: [\n { ...inputField, property: 'color' },\n { ...inputDisabled, property: '-webkit-text-fill-color' },\n { ...externalInputDisabled, property: '-webkit-text-fill-color' },\n ],\n inputCaretTextColor: [\n { ...input, property: 'caret-color' },\n { ...externalInput, property: 'caret-color' },\n ],\n\n labelRequiredIndicator: { ...requiredIndicator, property: 'content' },\n\n inputBorderColor: { ...inputField, property: 'border-color' },\n inputBorderWidth: { ...inputField, property: 'border-width' },\n inputBorderStyle: { ...inputField, property: 'border-style' },\n inputBorderRadius: { ...inputField, property: 'border-radius' },\n\n inputHeight: { ...inputField, property: 'height' },\n inputHorizontalPadding: [\n { ...input, property: 'padding-left' },\n { ...input, property: 'padding-right' },\n { ...externalInput, property: 'padding-left' },\n { ...externalInput, property: 'padding-right' },\n ],\n\n inputOutlineColor: { ...inputField, property: 'outline-color' },\n inputOutlineStyle: { ...inputField, property: 'outline-style' },\n inputOutlineWidth: { ...inputField, property: 'outline-width' },\n inputOutlineOffset: { ...inputField, property: 'outline-offset' },\n\n textAlign: {},\n\n inputTextAlign: [\n { ...input, property: 'text-align' },\n { ...externalInput, property: 'text-align' },\n ],\n\n inputPlaceholderColor: [\n { selector: () => ':host input:placeholder-shown', property: 'color' },\n { ...externalPlaceholder, property: 'color' },\n { ...placeholder, property: 'color' },\n { ...disabledPlaceholder, property: '-webkit-text-fill-color' },\n { ...externalDisabledPlaceholder, property: '-webkit-text-fill-color' },\n ],\n\n labelPosition: { ...label, property: 'position' },\n labelTopPosition: { ...label, property: 'top' },\n labelHorizontalPosition: [\n { ...label, property: 'left' },\n { ...label, property: 'right' },\n ],\n inputTransformY: { ...label, property: 'transform' },\n inputTransition: { ...label, property: 'transition' },\n marginInlineStart: { ...label, property: 'margin-inline-start' },\n placeholderOpacity: [\n { selector: '> input:placeholder-shown', property: 'opacity' },\n { ...externalPlaceholder, property: 'opacity' },\n ],\n inputVerticalAlignment: [\n { ...inputField, property: 'align-items' },\n { ...externalInput, property: 'align-items' },\n ],\n valueInputHeight: [\n { ...input, property: 'height' },\n { ...externalInput, property: 'height' },\n ],\n valueInputMarginBottom: [\n { ...input, property: 'margin-bottom' },\n { ...externalInput, property: 'margin-bottom' },\n ],\n\n inputIconOffset: [\n { ...inputIcon, property: 'margin-right' },\n { ...inputIcon, property: 'margin-left' },\n ],\n inputIconSize: { ...inputIcon, property: 'font-size' },\n inputIconColor: { ...inputIcon, property: 'color' },\n};\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { SlotController } from '@vaadin/component-base/src/slot-controller.js';\n\n/**\n * A controller to create and initialize slotted `<input>` element.\n */\nexport class InputController extends SlotController {\n constructor(host, callback) {\n super(host, 'input', 'input', {\n initializer: (node, host) => {\n if (host.value) {\n node.value = host.value;\n }\n if (host.type) {\n node.setAttribute('type', host.type);\n }\n\n // Ensure every instance has unique ID\n node.id = this.defaultId;\n\n if (typeof callback === 'function') {\n callback(node);\n }\n },\n useUniqueId: true,\n });\n }\n}\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { InputController } from '@vaadin/field-base/src/input-controller.js';\nimport { InputFieldMixin } from '@vaadin/field-base/src/input-field-mixin.js';\nimport { LabelledInputController } from '@vaadin/field-base/src/labelled-input-controller.js';\n\n/**\n * A mixin providing common text field functionality.\n *\n * @polymerMixin\n * @mixes InputFieldMixin\n */\nexport const TextFieldMixin = (superClass) =>\n class TextFieldMixinClass extends InputFieldMixin(superClass) {\n static get properties() {\n return {\n /**\n * Maximum number of characters (in Unicode code points) that the user can enter.\n */\n maxlength: {\n type: Number,\n },\n\n /**\n * Minimum number of characters (in Unicode code points) that the user can enter.\n */\n minlength: {\n type: Number,\n },\n\n /**\n * A regular expression that the value is checked against.\n * The pattern must match the entire value, not just some subset.\n */\n pattern: {\n type: String,\n },\n };\n }\n\n static get delegateAttrs() {\n return [...super.delegateAttrs, 'maxlength', 'minlength', 'pattern'];\n }\n\n static get constraints() {\n return [...super.constraints, 'maxlength', 'minlength', 'pattern'];\n }\n\n constructor() {\n super();\n this._setType('text');\n }\n\n /** @protected */\n get clearElement() {\n return this.$.clearButton;\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this.addController(\n new InputController(this, (input) => {\n this._setInputElement(input);\n this._setFocusElement(input);\n this.stateTarget = input;\n this.ariaTarget = input;\n }),\n );\n this.addController(new LabelledInputController(this.inputElement, this._labelController));\n }\n };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/input-container/src/vaadin-input-container.js';\nimport { html, PolymerElement } from '@polymer/polymer';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';\nimport { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js';\nimport { inputFieldShared } from '@vaadin/field-base/src/styles/input-field-shared-styles.js';\nimport { registerStyles, ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { TextFieldMixin } from './vaadin-text-field-mixin.js';\n\nregisterStyles('vaadin-text-field', inputFieldShared, { moduleId: 'vaadin-text-field-styles' });\n\n/**\n * `<vaadin-text-field>` is a web component that allows the user to input and edit text.\n *\n * ```html\n * <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n * ```\n *\n * ### Prefixes and suffixes\n *\n * These are child elements of a `<vaadin-text-field>` that are displayed\n * inline with the input, before or after.\n * In order for an element to be considered as a prefix, it must have the slot\n * attribute set to `prefix` (and similarly for `suffix`).\n *\n * ```html\n * <vaadin-text-field label=\"Email address\">\n * <div slot=\"prefix\">Sent to:</div>\n * <div slot=\"suffix\">@vaadin.com</div>\n * </vaadin-text-field>\n * ```\n *\n * ### Styling\n *\n * The following custom properties are available for styling:\n *\n * Custom property | Description | Default\n * -------------------------------|----------------------------|---------\n * `--vaadin-field-default-width` | Default width of the field | `12em`\n *\n * The following shadow DOM parts are available for styling:\n *\n * Part name | Description\n * ---------------------|----------------\n * `label` | The label element\n * `input-field` | The element that wraps prefix, value and suffix\n * `clear-button` | The clear button\n * `error-message` | The error message element\n * `helper-text` | The helper text element wrapper\n * `required-indicator` | The `required` state indicator element\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description | Part name\n * --------------------|-------------|------------\n * `disabled` | Set to a disabled text field | :host\n * `has-value` | Set when the element has a value | :host\n * `has-label` | Set when the element has a label | :host\n * `has-helper` | Set when the element has helper text or slot | :host\n * `has-error-message` | Set when the element has an error message | :host\n * `invalid` | Set when the element is invalid | :host\n * `input-prevented` | Temporarily set when invalid input is prevented | :host\n * `focused` | Set when the element is focused | :host\n * `focus-ring` | Set when the element is keyboard focused | :host\n * `readonly` | Set to a readonly text field | :host\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @fires {Event} input - Fired when the value is changed by the user: on every typing keystroke, and the value is cleared using the clear button.\n * @fires {Event} change - Fired when the user commits a value change.\n * @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.\n * @fires {CustomEvent} value-changed - Fired when the `value` property changes.\n * @fires {CustomEvent} validated - Fired whenever the field is validated.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes ElementMixin\n * @mixes ThemableMixin\n * @mixes TextFieldMixin\n */\nexport class TextField extends TextFieldMixin(ThemableMixin(ElementMixin(PolymerElement))) {\n static get is() {\n return 'vaadin-text-field';\n }\n\n static get template() {\n return html`\n <style>\n [part='input-field'] {\n flex-grow: 0;\n }\n </style>\n\n <div class=\"vaadin-field-container\">\n <div part=\"label\">\n <slot name=\"label\"></slot>\n <span part=\"required-indicator\" aria-hidden=\"true\" on-click=\"focus\"></span>\n </div>\n\n <vaadin-input-container\n part=\"input-field\"\n readonly=\"[[readonly]]\"\n disabled=\"[[disabled]]\"\n invalid=\"[[invalid]]\"\n theme$=\"[[_theme]]\"\n >\n <slot name=\"prefix\" slot=\"prefix\"></slot>\n <slot name=\"input\"></slot>\n <slot name=\"suffix\" slot=\"suffix\"></slot>\n <div id=\"clearButton\" part=\"clear-button\" slot=\"suffix\" aria-hidden=\"true\"></div>\n </vaadin-input-container>\n\n <div part=\"helper-text\">\n <slot name=\"helper\"></slot>\n </div>\n\n <div part=\"error-message\">\n <slot name=\"error-message\"></slot>\n </div>\n </div>\n <slot name=\"tooltip\"></slot>\n `;\n }\n\n static get properties() {\n return {\n /**\n * Maximum number of characters (in Unicode code points) that the user can enter.\n */\n maxlength: {\n type: Number,\n },\n\n /**\n * Minimum number of characters (in Unicode code points) that the user can enter.\n */\n minlength: {\n type: Number,\n },\n };\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this._tooltipController = new TooltipController(this);\n this._tooltipController.setPosition('top');\n this._tooltipController.setAriaTarget(this.inputElement);\n this.addController(this._tooltipController);\n }\n}\n\ndefineCustomElement(TextField);\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { InputControlMixin } from './input-control-mixin.js';\n\n/**\n * A mixin to provide logic for vaadin-text-field and related components.\n *\n * @polymerMixin\n * @mixes InputControlMixin\n */\nexport const InputFieldMixin = (superclass) =>\n class InputFieldMixinClass extends InputControlMixin(superclass) {\n static get properties() {\n return {\n /**\n * Whether the value of the control can be automatically completed by the browser.\n * List of available options at:\n * https://developer.mozilla.org/en/docs/Web/HTML/Element/input#attr-autocomplete\n */\n autocomplete: {\n type: String,\n },\n\n /**\n * This is a property supported by Safari that is used to control whether\n * autocorrection should be enabled when the user is entering/editing the text.\n * Possible values are:\n * on: Enable autocorrection.\n * off: Disable autocorrection.\n */\n autocorrect: {\n type: String,\n },\n\n /**\n * This is a property supported by Safari and Chrome that is used to control whether\n * autocapitalization should be enabled when the user is entering/editing the text.\n * Possible values are:\n * characters: Characters capitalization.\n * words: Words capitalization.\n * sentences: Sentences capitalization.\n * none: No capitalization.\n */\n autocapitalize: {\n type: String,\n reflectToAttribute: true,\n },\n };\n }\n\n static get delegateAttrs() {\n return [...super.delegateAttrs, 'autocapitalize', 'autocomplete', 'autocorrect'];\n }\n\n // Workaround for https://github.com/Polymer/polymer/issues/5259\n get __data() {\n return this.__dataValue || {};\n }\n\n set __data(value) {\n this.__dataValue = value;\n }\n\n /**\n * @param {HTMLElement} input\n * @protected\n * @override\n */\n _inputElementChanged(input) {\n super._inputElementChanged(input);\n\n if (input) {\n // Discard value set on the custom slotted input.\n if (input.value && input.value !== this.value) {\n console.warn(`Please define value on the <${this.localName}> component!`);\n input.value = '';\n }\n\n if (this.value) {\n input.value = this.value;\n }\n }\n }\n\n /**\n * Override an event listener from `FocusMixin`.\n * @param {boolean} focused\n * @protected\n * @override\n */\n _setFocused(focused) {\n super._setFocused(focused);\n\n // Do not validate when focusout is caused by document\n // losing focus, which happens on browser tab switch.\n if (!focused && document.hasFocus()) {\n this.validate();\n }\n }\n\n /**\n * Override an event listener from `InputMixin`\n * to mark as valid after user started typing.\n * @param {Event} event\n * @protected\n * @override\n */\n _onInput(event) {\n super._onInput(event);\n\n if (this.invalid) {\n this.validate();\n }\n }\n\n /**\n * Override an observer from `InputMixin` to validate the field\n * when a new value is set programmatically.\n *\n * @param {string | undefined} newValue\n * @param {string | undefined} oldValue\n * @protected\n * @override\n */\n _valueChanged(newValue, oldValue) {\n super._valueChanged(newValue, oldValue);\n\n if (oldValue === undefined) {\n return;\n }\n\n if (this.invalid) {\n this.validate();\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport '@vaadin/input-container/theme/lumo/vaadin-input-container-styles.js';\nimport { inputFieldShared } from '@vaadin/vaadin-lumo-styles/mixins/input-field-shared.js';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nregisterStyles('vaadin-text-field', inputFieldShared, {\n moduleId: 'lumo-text-field-styles',\n});\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { inputFieldShared } from '@vaadin/vaadin-lumo-styles/mixins/input-field-shared.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst emailField = css`\n :host([dir='rtl']) [part='input-field'] ::slotted(input) {\n --_lumo-text-field-overflow-mask-image: linear-gradient(to left, transparent, #000 1.25em);\n }\n\n :host([dir='rtl']) [part='input-field'] ::slotted(input:placeholder-shown) {\n --_lumo-text-field-overflow-mask-image: none;\n }\n`;\n\nregisterStyles('vaadin-email-field', [inputFieldShared, emailField], {\n moduleId: 'lumo-email-field',\n});\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { css } from 'lit';\n\n// See https://github.com/vaadin/vaadin-text-field/issues/466\nexport const emailFieldStyles = css`\n :host([dir='rtl']) [part='input-field'] {\n direction: ltr;\n }\n\n :host([dir='rtl']) [part='input-field'] ::slotted(input)::placeholder {\n direction: rtl;\n text-align: left;\n }\n`;\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { TextField } from '@vaadin/text-field/src/vaadin-text-field.js';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { emailFieldStyles } from './vaadin-email-field-styles.js';\n\nregisterStyles('vaadin-email-field', emailFieldStyles, { moduleId: 'vaadin-email-field-styles' });\n\n/**\n * `<vaadin-email-field>` is a Web Component for email field control in forms.\n *\n * ```html\n * <vaadin-email-field label=\"Email\"></vaadin-email-field>\n * ```\n *\n * ### Styling\n *\n * `<vaadin-email-field>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.\n * See [`<vaadin-text-field>`](#/elements/vaadin-text-field) for the styling documentation.\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @fires {Event} input - Fired when the value is changed by the user: on every typing keystroke, and the value is cleared using the clear button.\n * @fires {Event} change - Fired when the user commits a value change.\n * @fires {CustomEvent} invalid-changed - Fired when the `invalid` property changes.\n * @fires {CustomEvent} value-changed - Fired when the `value` property changes.\n * @fires {CustomEvent} validated - Fired whenever the field is validated.\n *\n * @customElement\n * @extends TextField\n */\nexport class EmailField extends TextField {\n static get is() {\n return 'vaadin-email-field';\n }\n\n constructor() {\n super();\n this._setType('email');\n this.pattern = '^([a-zA-Z0-9_\\\\.\\\\-+])+@[a-zA-Z0-9\\\\-.]+\\\\.[a-zA-Z0-9\\\\-]{2,}$';\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n if (this.inputElement) {\n this.inputElement.autocapitalize = 'off';\n }\n }\n}\n\ndefineCustomElement(EmailField);\n","import {\n createStyleMixin,\n draggableMixin,\n createProxy,\n proxyInputMixin,\n componentNameValidationMixin,\n externalInputMixin,\n} from '../../mixins';\nimport textFieldMappings from '../descope-text-field/textFieldMappings';\nimport { compose } from '../../helpers';\nimport { getComponentName } from '../../helpers/componentHelpers';\nimport {\n inputFloatingLabelStyle,\n resetInputLabelPosition,\n resetInputOverrides,\n useHostExternalPadding,\n} from '../../helpers/themeHelpers/resetHelpers';\n\nexport const componentName = getComponentName('email-field');\n\nconst defaultPattern = \"^[\\\\w\\\\.\\\\%\\\\+\\\\-']+@[\\\\w\\\\.\\\\-]+\\\\.[A-Za-z]{2,}$\";\nconst defaultAutocomplete = 'username';\n\nconst customMixin = (superclass) =>\n class EmailFieldMixinClass extends superclass {\n init() {\n super.init?.();\n\n // we need to set the pattern on the base element because vaadin-email-field is overriding it\n this.baseElement.setAttribute('pattern', defaultPattern);\n\n if (!this.getAttribute('autocomplete')) {\n this.setAttribute('autocomplete', defaultAutocomplete);\n }\n\n this.createExternalInput();\n }\n };\n\nexport const EmailFieldClass = compose(\n createStyleMixin({\n mappings: textFieldMappings,\n }),\n draggableMixin,\n externalInputMixin({\n inputType: 'email',\n inputName: 'email',\n autocompleteType: 'username',\n includeAttrs: ['disabled', 'readonly', 'pattern'],\n }),\n proxyInputMixin({ proxyProps: ['value', 'selectionStart'], useProxyTargets: true }),\n componentNameValidationMixin,\n customMixin\n)(\n createProxy({\n slots: ['', 'suffix'],\n wrappedEleName: 'vaadin-email-field',\n style: () => `\n\t\t\t:host {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tmax-width: 100%;\n\t\t\t\tpadding: calc(var(${EmailFieldClass.cssVarList.inputOutlineWidth}) + var(${\n EmailFieldClass.cssVarList.inputOutlineOffset\n }));\n box-sizing: border-box;\n\t\t\t}\n ${resetInputLabelPosition('vaadin-email-field')}\n\t\t\t${useHostExternalPadding(EmailFieldClass.cssVarList)}\n\t\t\t${resetInputOverrides('vaadin-email-field', EmailFieldClass.cssVarList)}\n ${inputFloatingLabelStyle()}\n\n vaadin-email-field[label-type=\"floating\"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-email-field[label-type=\"floating\"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n\n :host ::slotted(*) {\n -webkit-mask-image: none;\n }\n\n vaadin-email-field[external-input=\"true\"] > input:not(:placeholder-shown) {\n opacity: 0;\n }\n\t\t`,\n excludeAttrsSync: ['tabindex', 'style'],\n componentName,\n })\n);\n","import '@vaadin/email-field';\nimport { componentName, EmailFieldClass } from './EmailFieldClass';\n\ncustomElements.define(componentName, EmailFieldClass);\n\nexport { EmailFieldClass, componentName };\n"],"names":["host","label","placeholder","requiredIndicator","inputField","input","inputMask","helperText","errorMessage","disabledPlaceholder","inputDisabled","inputIcon","externalInput","externalInputDisabled","externalPlaceholder","externalDisabledPlaceholder","selector","fontSize","fontFamily","labelFontSize","property","labelFontWeight","labelTextColor","hostWidth","hostMinWidth","hostDirection","inputDirection","inputBackgroundColor","errorMessageTextColor","errorMessageIcon","errorMessageIconSize","errorMessageIconPadding","errorMessageIconRepeat","errorMessageIconPosition","errorMessageFontSize","helperTextColor","inputValueTextColor","inputCaretTextColor","labelRequiredIndicator","inputBorderColor","inputBorderWidth","inputBorderStyle","inputBorderRadius","inputHeight","inputHorizontalPadding","inputOutlineColor","inputOutlineStyle","inputOutlineWidth","inputOutlineOffset","textAlign","inputTextAlign","inputPlaceholderColor","labelPosition","labelTopPosition","labelHorizontalPosition","inputTransformY","inputTransition","marginInlineStart","placeholderOpacity","inputVerticalAlignment","valueInputHeight","valueInputMarginBottom","inputIconOffset","inputIconSize","inputIconColor","InputController","constructor","callback","super","initializer","node","value","type","setAttribute","id","this","defaultId","useUniqueId","TextFieldMixin","superClass","properties","maxlength","Number","minlength","pattern","String","delegateAttrs","constraints","_setType","clearElement","$","clearButton","ready","addController","_setInputElement","_setFocusElement","stateTarget","ariaTarget","inputElement","_labelController","moduleId","TextField","is","template","_tooltipController","setPosition","setAriaTarget","InputFieldMixin","superclass","autocomplete","autocorrect","autocapitalize","reflectToAttribute","__data","__dataValue","_inputElementChanged","console","warn","localName","_setFocused","focused","document","hasFocus","validate","_onInput","event","invalid","_valueChanged","newValue","oldValue","undefined","emailField","emailFieldStyles","EmailField","componentName","EmailFieldClass","mappings","textFieldMappings","inputType","inputName","autocompleteType","includeAttrs","proxyProps","useProxyTargets","init","baseElement","getAttribute","createExternalInput","slots","wrappedEleName","style","cssVarList","excludeAttrsSync","customElements","define"],"sourceRoot":""}
|