@descope/web-components-ui 1.0.394 → 1.0.396

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.
Files changed (29) hide show
  1. package/dist/cjs/index.cjs.js +1415 -1196
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +1395 -1175
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/4619.js +1 -1
  6. package/dist/umd/DescopeDev.js +1 -1
  7. package/dist/umd/descope-email-field-index-js.js +4 -4
  8. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +1 -1
  9. package/dist/umd/descope-new-password-index-js.js +1 -1
  10. package/dist/umd/descope-password-index-js.js +1 -1
  11. package/dist/umd/descope-security-questions-setup-index-js.js +1 -1
  12. package/dist/umd/descope-security-questions-verify-index-js.js +37 -0
  13. package/dist/umd/descope-security-questions-verify-index-js.js.LICENSE.txt +11 -0
  14. package/dist/umd/index.js +1 -1
  15. package/package.json +1 -1
  16. package/src/components/descope-email-field/EmailFieldClass.js +1 -0
  17. package/src/components/descope-new-password/NewPasswordClass.js +1 -0
  18. package/src/components/descope-password/PasswordClass.js +1 -0
  19. package/src/components/descope-security-questions-setup/SecurityQuestionsSetupClass.js +1 -9
  20. package/src/components/descope-security-questions-setup/index.js +0 -1
  21. package/src/components/descope-security-questions-verify/SecurityQuestionsVerifyClass.js +208 -0
  22. package/src/components/descope-security-questions-verify/index.js +7 -0
  23. package/src/index.cjs.js +1 -0
  24. package/src/index.js +1 -0
  25. package/src/mixins/externalInputHelpers.js +2 -1
  26. package/src/mixins/externalInputMixin.js +3 -2
  27. package/src/theme/components/index.js +2 -0
  28. package/src/theme/components/securityQuestionsSetup.js +2 -2
  29. package/src/theme/components/securityQuestionsVerify.js +16 -0
@@ -0,0 +1,37 @@
1
+ /*! For license information please see descope-security-questions-verify-index-js.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[9446,5166,171],{45307:(t,e,r)=>{r.r(e),r.d(e,{SecurityQuestionsVerifyClass:()=>g});var i=r(70263),n=r(7138),o=r(14944),l=r(94619),s=r(85108),a=r(69473);const p=(0,o.xE)("security-questions-verify"),d=["full-width","readonly","size","answer-placeholder","answer-data-errormessage-value-missing"],c=["question-mode"],u={"answer-placeholder":"placeholder","answer-data-errormessage-value-missing":"data-errormessage-value-missing","question-mode":"mode"},h=[...d,...c],y=["questions"];class b extends((0,i.q)({componentName:p,baseSelector:"div"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML="\n\t\t<style>\n :host {\n display: inline-flex;\n }\n\n div {\n display: flex;\n flex-direction: column;\n }\n\n\t\t</style>\n <div></div>\n\t\t"}#t(){const t=this.questions.map((({id:t,text:e})=>`\n <div class="question-wrapper">\n <descope-text\n data-id="${t}"\n >${e}</descope-text>\n\n <descope-text-field\n data-id="${t}"\n required="true"\n bordered="true"\n ></descope-text-field>\n </div>\n `));this.baseElement.innerHTML=t.join("<spacer></spacer><descope-divider></descope-divider><spacer></spacer>"),this.#e(h),this.texts.forEach((t=>{const e=this.textFields.find((e=>e.getAttribute("data-id")===t.getAttribute("data-id")));e&&(t.onclick=e.focus.bind(e))}))}reportValidity(){return this.textFields.reverse().forEach((t=>t.reportValidity())),this.checkValidity()}checkValidity(){return this.textFields.every((t=>t.checkValidity()))}get questions(){try{return JSON.parse(this.getAttribute("questions"))||[]}catch(t){return console.error(p,"Error parsing questions attribute",t),[]}}get texts(){return Array.from(this.baseElement.querySelectorAll("descope-text"))}get textFields(){return Array.from(this.baseElement.querySelectorAll("descope-text-field"))}get elements(){return Array.from(this.baseElement.querySelectorAll("descope-text, descope-text-field"))}get value(){return this.textFields.map((t=>({id:t.getAttribute("data-id"),answer:t.value})))}set value(t=[]){t.forEach((({id:t,answer:e})=>{const r=this.textFields.find((e=>e.getAttribute("data-id")===t));r&&(r.value=e)}))}#r(t,e,r){null===r?t.removeAttribute(e):t.setAttribute(e,r)}#i(t){switch(!0){case d.includes(t):return this.textFields;case c.includes(t):return this.texts;default:return[]}}#e(t){t.forEach((t=>{this.#i(t).forEach((e=>{this.#r(e,u[t]||t,this.getAttribute(t))}))}))}init(){super.init?.(),(0,o.mx)(this,(()=>{this.#t()}),{includeAttrs:y}),(0,o.mx)(this,this.#e.bind(this),{includeAttrs:h})}}const g=(0,n.Zz)((0,l.RF)({componentNameOverride:(0,o.xE)("input-wrapper")}),(0,l.RF)({mappings:{hostWidth:[{selector:()=>":host",property:"width"},{property:"width"}],hostDirection:[{selector:()=>":host",property:"direction"},{selector:()=>s.s.componentName,property:s.s.cssVarList.hostDirection},{selector:()=>a.w.componentName,property:a.w.cssVarList.hostDirection}],gap:{selector:()=>"div",property:"gap"},questionTextAlign:{selector:()=>s.s.componentName,property:s.s.cssVarList.textAlign},questionFontSize:{selector:()=>s.s.componentName,property:s.s.cssVarList.fontSize},questionFontFamily:{selector:()=>s.s.componentName,property:s.s.cssVarList.fontFamily},questionCursor:{selector:()=>s.s.componentName,property:"cursor"}}}),l.VO,l.tQ)(b);r(16429),r(89348),customElements.define(p,g)},69473:(t,e,r)=>{r.d(e,{T:()=>a,w:()=>d});var i=r(94619),n=r(93826),o=r(7138),l=r(14944),s=r(33177);const a=(0,l.xE)("text-field"),p=["type","label-type","copy-to-clipboard"],d=(0,o.Zz)((0,i.RF)({mappings:n.A}),i.VO,(0,i.OZ)({proxyProps:["value","selectionStart"],useProxyTargets:!0}),i.tQ,(t=>class extends t{static get observedAttributes(){return p.concat(t.observedAttributes||[])}icon;init(){super.init?.()}renderCopyToClipboard(t){if(!t)return void this.icon?.remove();const e={icon:"vaadin:copy-o",title:"Copy",style:"cursor: pointer"},r={icon:"vaadin:check-circle-o",title:"Copied",style:"cursor: initial"};this.icon=Object.assign(document.createElement("vaadin-icon"),{slot:"suffix",...e}),this.baseElement.appendChild(this.icon),this.icon.addEventListener("click",(()=>{navigator.clipboard.writeText(this.value),Object.assign(this.icon,r),setTimeout((()=>{Object.assign(this.icon,e)}),5e3)}))}onLabelClick(){this.focus()}attributeChangedCallback(t,e,r){super.attributeChangeCallback?.(t,e,r),"type"===t&&this.baseElement._setType(r),e!==r&&("label-type"===t?"floating"===r?this.addEventListener("click",this.onLabelClick):this.removeEventListener("click",this.onLabelClick):"copy-to-clipboard"===t&&this.renderCopyToClipboard("true"===r))}}))((0,i.tz)({slots:["prefix","suffix"],wrappedEleName:"vaadin-text-field",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(${d.cssVarList.inputOutlineWidth}) + var(${d.cssVarList.inputOutlineOffset}));\n box-sizing: border-box;\n\t\t\t}\n :host(:is([readonly], [disabled])) ::slotted(:is(input, textarea):placeholder-shown) {\n opacity: 1;\n }\n\n vaadin-text-field[label-type="floating"]:not([focused])[readonly] > input:placeholder-shown {\n opacity: 0;\n }\n vaadin-text-field[label-type="floating"]:not([focused])[disabled] > input:placeholder-shown {\n opacity: 0;\n }\n ${(0,s.$J)("vaadin-text-field")}\n\t\t\t${(0,s.cy)(d.cssVarList)}\n\t\t\t${(0,s.LJ)("vaadin-text-field",d.cssVarList)}\n ${(0,s.Kl)()}\n\n vaadin-text-field vaadin-icon {\n align-self: center;\n }\n\t\t`,excludeAttrsSync:["tabindex"],componentName:a}))},89348:(t,e,r)=>{r.r(e),r.d(e,{TextFieldClass:()=>i.w}),r(39542),r(66418),r(56637);var i=r(69473);customElements.define(i.T,i.w)},93826:(t,e,r)=>{r.d(e,{A:()=>x});const{host:i,label:n,placeholder:o,requiredIndicator:l,inputField:s,input:a,inputMask:p,helperText:d,errorMessage:c,disabledPlaceholder:u,inputDisabled:h,inputIcon:y,externalInput:b,externalInputDisabled:g,externalPlaceholder:m,externalDisabledPlaceholder:f}={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:[n,s,d,c],labelFontSize:{...n,property:"font-size"},labelFontWeight:{...n,property:"font-weight"},labelTextColor:[{...n,property:"color"},{...l,property:"color"},{...n,property:"-webkit-text-fill-color"},{...l,property:"-webkit-text-fill-color"}],hostWidth:{...i,property:"width"},hostMinWidth:{...i,property:"min-width"},hostDirection:{...i,property:"direction"},inputDirection:{...a,property:"direction"},inputBackgroundColor:[{...s,property:"background-color"},{...p,property:"background-color"}],errorMessageTextColor:{...c,property:"color"},helperTextColor:{...d,property:"-webkit-text-fill-color"},inputValueTextColor:[{...s,property:"color"},{...h,property:"-webkit-text-fill-color"},{...g,property:"-webkit-text-fill-color"}],inputCaretTextColor:[{...a,property:"caret-color"},{...b,property:"caret-color"}],labelRequiredIndicator:{...l,property:"content"},inputBorderColor:{...s,property:"border-color"},inputBorderWidth:{...s,property:"border-width"},inputBorderStyle:{...s,property:"border-style"},inputBorderRadius:{...s,property:"border-radius"},inputHeight:{...s,property:"height"},inputHorizontalPadding:[{...a,property:"padding-left"},{...a,property:"padding-right"},{...b,property:"padding-left"},{...b,property:"padding-right"}],inputOutlineColor:{...s,property:"outline-color"},inputOutlineStyle:{...s,property:"outline-style"},inputOutlineWidth:{...s,property:"outline-width"},inputOutlineOffset:{...s,property:"outline-offset"},textAlign:{},inputTextAlign:[{...a,property:"text-align"},{...b,property:"text-align"}],inputPlaceholderColor:[{selector:()=>":host input:placeholder-shown",property:"color"},{...m,property:"color"},{...o,property:"color"},{...u,property:"-webkit-text-fill-color"},{...f,property:"-webkit-text-fill-color"}],labelPosition:{...n,property:"position"},labelTopPosition:{...n,property:"top"},labelHorizontalPosition:[{...n,property:"left"},{...n,property:"right"}],inputTransformY:{...n,property:"transform"},inputTransition:{...n,property:"transition"},marginInlineStart:{...n,property:"margin-inline-start"},placeholderOpacity:[{selector:"> input:placeholder-shown",property:"opacity"},{...m,property:"opacity"}],inputVerticalAlignment:[{...s,property:"align-items"},{...b,property:"align-items"}],valueInputHeight:[{...a,property:"height"},{...b,property:"height"}],valueInputMarginBottom:[{...a,property:"margin-bottom"},{...b,property:"margin-bottom"}],inputIconOffset:[{...y,property:"margin-right"},{...y,property:"margin-left"}],inputIconSize:{...y,property:"font-size"},inputIconColor:{...y,property:"color"}}},85108:(t,e,r)=>{r.d(e,{T:()=>s,s:()=>p});var i=r(94619),n=r(7138),o=r(14944),l=r(70263);const s=(0,o.xE)("text");class a extends((0,l.q)({componentName:s,baseSelector:":host > slot"})){constructor(){super(),this.attachShadow({mode:"open"}).innerHTML='\n <style>\n :host {\n display: inline-block;\n line-height: 1em;\n }\n :host > slot {\n width: 100%;\n display: inline-block;\n }\n </style>\n <slot part="text-wrapper"></slot>\n '}get hideWhenEmpty(){return"true"===this.getAttribute("hide-when-empty")}init(){super.init(),(0,o.Ge)(this,(()=>{const t=!!this.childNodes.length;this.style.display=!t&&this.hideWhenEmpty?"none":""}))}}const p=(0,n.Zz)((0,i.RF)({mappings:{hostWidth:{selector:()=>":host",property:"width"},hostDirection:{selector:()=>":host",property:"direction"},fontSize:{},textColor:{property:"color"},textLineHeight:{property:"line-height"},textLetterSpacing:{property:"letter-spacing"},textShadow:{},textAlign:{},textTransform:{},fontFamily:{},fontStyle:{},fontWeight:{},borderWidth:{},borderStyle:{},borderColor:{}}}),i.VO,i.tQ)(a)},16429:(t,e,r)=>{r.r(e),r.d(e,{TextClass:()=>i.s});var i=r(85108);customElements.define(i.T,i.s)},33177:(t,e,r)=>{r.d(e,{$J:()=>u,I4:()=>l,Kl:()=>h,LJ:()=>c,Qv:()=>o,X6:()=>a,cy:()=>i,fu:()=>p,kG:()=>d,lS:()=>s,zm:()=>n});const i=t=>`\n :host {\n padding: calc(var(${t.inputOutlineWidth}) + var(${t.inputOutlineOffset}))\n }\n`,n=t=>`\n ${t} {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n }\n`,o=t=>`\n ${t}::part(input-field) {\n overflow: hidden;\n padding: 0;\n box-shadow: none;\n }\n`,l=t=>`\n ${t} > label,\n ${t}::part(label),\n ${t}::part(required-indicator) {\n cursor: pointer;\n }\n`,s=(t,e="input")=>`\n ${t}[disabled] > ${e}:placeholder-shown,\n\t${t}[readonly] > ${e}:placeholder-shown {\n\t\topacity: 1;\n\t}\n`,a=()=>"\n :host {\n --vaadin-field-default-width: auto;\n box-sizing: border-box;\n }\n",p=t=>`\n ${t}::part(input-field)::after {\n opacity: 0;\n }\n`,d=t=>`\n ${t}::part(input-field)::after {\n background: none;\n }\n`,c=(t,e)=>`\n ${n(t)}\n ${l(t)}\n ${s(t)}\n ${o(t)}\n ${((t,e)=>`\n ${t} input:-webkit-autofill,\n ${t} input:-webkit-autofill::first-line,\n ${t} input:-webkit-autofill:hover,\n ${t} input:-webkit-autofill:active,\n ${t} input:-webkit-autofill:focus {\n -webkit-text-fill-color: var(${e.inputValueTextColor});\n box-shadow: 0 0 0 var(${e.inputHeight}) var(${e.inputBackgroundColor}) inset;\n }\n`)(t,e)}\n ${d(t)}\n ${(t=>`\n ${t}::before {\n\t\theight: unset;\n\t}\n`)(t)}\n ${(t=>`\n ${t} > input {\n -webkit-mask-image: none;\n min-height: 0;\n box-sizing: border-box;\n }\n`)(t)}\n ${(t=>`\n ${t}::part(input-field)::after {\n border: none;\n }\n`)(t)}\n`,u=t=>`\n :host ::part(error-message) {\n direction: ltr;\n }\n :host([required]) ::part(required-indicator) {\n width: 1em;\n display: inline-flex;\n }\n :host([required]) ::part(required-indicator)::after {\n position: static;\n }\n :host([has-label]) ::part(label) {\n padding-right: 0;\n padding-bottom: 0;\n display: flex;\n width: 100%;\n }\n ${t} [slot="label"] {\n max-width: calc(100% - 1em);\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 0.5em;\n }\n`,h=()=>'\n :host([label-type="floating"]) {\n position: relative;\n }\n :host([label-type="floating"][has-label]) [slot="label"] {\n padding: 0;\n }\n :host([label-type="floating"][has-label]) > ::part(label) {\n z-index: 1;\n padding: 0;\n width: auto;\n }\n '},15408:(t,e,r)=>{r.d(e,{f:()=>n});var i=r(32065);class n 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})}}},53430:(t,e,r)=>{r.d(e,{a:()=>n});var i=r(32318);const n=t=>class extends((0,i.R)(t)){static get properties(){return{autocomplete:{type:String},autocorrect:{type:String},autocapitalize:{type:String,reflectToAttribute:!0}}}static get delegateAttrs(){return[...super.delegateAttrs,"autocapitalize","autocomplete","autocorrect"]}get __data(){return this.__dataValue||{}}set __data(t){this.__dataValue=t}_inputElementChanged(t){super._inputElementChanged(t),t&&(t.value&&t.value!==this.value&&(console.warn(`Please define value on the <${this.localName}> component!`),t.value=""),this.value&&(t.value=this.value))}_setFocused(t){super._setFocused(t),!t&&document.hasFocus()&&this.validate()}_onInput(t){super._onInput(t),this.invalid&&this.validate()}_valueChanged(t,e){super._valueChanged(t,e),void 0!==e&&this.invalid&&this.validate()}}},34068:(t,e,r)=>{r.d(e,{A:()=>h}),r(9077);var i=r(33791),n=r(38735),o=r(31846),l=r(58074),s=r(89385),a=r(6052),p=r(15408),d=r(53430),c=r(3550);const u=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 p.f(this,(t=>{this._setInputElement(t),this._setFocusElement(t),this.stateTarget=t,this.ariaTarget=t}))),this.addController(new c.q(this.inputElement,this._labelController))}};(0,a.SF)("vaadin-text-field",s.k,{moduleId:"vaadin-text-field-styles"});class h extends(u((0,a.cp)((0,o.q)(i.Pu)))){static get is(){return"vaadin-text-field"}static get template(){return i.qy`
3
+ <style>
4
+ [part='input-field'] {
5
+ flex-grow: 0;
6
+ }
7
+ </style>
8
+
9
+ <div class="vaadin-field-container">
10
+ <div part="label">
11
+ <slot name="label"></slot>
12
+ <span part="required-indicator" aria-hidden="true" on-click="focus"></span>
13
+ </div>
14
+
15
+ <vaadin-input-container
16
+ part="input-field"
17
+ readonly="[[readonly]]"
18
+ disabled="[[disabled]]"
19
+ invalid="[[invalid]]"
20
+ theme$="[[_theme]]"
21
+ >
22
+ <slot name="prefix" slot="prefix"></slot>
23
+ <slot name="input"></slot>
24
+ <slot name="suffix" slot="suffix"></slot>
25
+ <div id="clearButton" part="clear-button" slot="suffix" aria-hidden="true"></div>
26
+ </vaadin-input-container>
27
+
28
+ <div part="helper-text">
29
+ <slot name="helper"></slot>
30
+ </div>
31
+
32
+ <div part="error-message">
33
+ <slot name="error-message"></slot>
34
+ </div>
35
+ </div>
36
+ <slot name="tooltip"></slot>
37
+ `}static get properties(){return{maxlength:{type:Number},minlength:{type:Number}}}ready(){super.ready(),this._tooltipController=new l.I(this),this._tooltipController.setPosition("top"),this._tooltipController.setAriaTarget(this.inputElement),this.addController(this._tooltipController)}}(0,n.X)(h)},70297:(t,e,r)=>{r(37451);var i=r(90500);(0,r(6052).SF)("vaadin-text-field",i.k,{moduleId:"lumo-text-field-styles"}),r(34068)},39542:(t,e,r)=>{r(70297),r(34068)}}]);
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2017 - 2023 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+
7
+ /**
8
+ * @license
9
+ * Copyright (c) 2021 - 2023 Vaadin Ltd.
10
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
11
+ */
package/dist/umd/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,s){"object"==typeof exports&&"object"==typeof module?module.exports=s():"function"==typeof define&&define.amd?define([],s):"object"==typeof exports?exports.DescopeUI=s():e.DescopeUI=s()}(self,(()=>(()=>{var e,s,o,d={97301:(e,s,o)=>{var d={"./boolean-fields/descope-boolean-field-internal/index.js":[53716,650,4619,7362],"./boolean-fields/descope-checkbox/index.js":[12388,650,8164,9895,3222,9167,1033,5273,4619,4838],"./boolean-fields/descope-switch-toggle/index.js":[57836,650,8164,9895,3222,9167,1033,5273,4619,1448],"./button-selection-group-fields/descope-button-multi-selection-group-internal/index.js":[39173,650,4619,8399],"./button-selection-group-fields/descope-button-multi-selection-group/index.js":[82329,650,8164,9895,1033,2838,7824,4619,3829],"./button-selection-group-fields/descope-button-selection-group-internal/index.js":[19509,650,4619,7079],"./button-selection-group-fields/descope-button-selection-group-item/index.js":[42426,650,8164,9895,1033,2838,7824,4619,1837],"./button-selection-group-fields/descope-button-selection-group/index.js":[7815,650,8164,9895,1033,2838,7824,4619,2141],"./descope-apps-list/index.js":[94073,650,8164,9895,6637,6418,3711,1414,4619,3057],"./descope-avatar/index.js":[23008,650,8164,9895,6637,6418,3711,1414,4619,2645],"./descope-badge/index.js":[58765,650,4619,9553],"./descope-button/index.js":[1058,650,8164,9895,1033,2838,4619,9984],"./descope-code-snippet/index.js":[52475,650,9878,4619,3521],"./descope-combo-box/index.js":[4480,650,8164,9895,3222,9167,3711,2566,9632,4619,7052],"./descope-container/index.js":[43713,650,4619,8689],"./descope-date-field/descope-calendar/index.js":[18562,650,8164,9895,3222,9167,1033,2838,3711,2566,9632,7607,4619,6028],"./descope-date-field/index.js":[66509,650,8164,9895,3222,9167,1033,6637,6418,2838,3711,2566,9632,7607,8980,4619,6028,9257],"./descope-divider/index.js":[53665,650,4619,8819],"./descope-email-field/index.js":[91046,650,8164,9895,3222,9167,4619,5695],"./descope-enriched-text/index.js":[39e3,650,1672,4619,5710],"./descope-grid/descope-grid-custom-column/index.js":[96969,8164,3607,9176],"./descope-grid/descope-grid-item-details-column/index.js":[85198,8164,9895,6637,6418,3607,2381],"./descope-grid/descope-grid-selection-column/index.js":[79120,650,8164,9895,3222,9167,1033,5273,3607,4619,3305],"./descope-grid/descope-grid-text-column/index.js":[36486,8164,3607,8108],"./descope-grid/index.js":[30954,650,8164,9895,3222,9167,1033,6637,6418,2566,5273,3607,9878,2919,4619,2200],"./descope-icon/index.js":[21471,650,2838,4619,7401],"./descope-image/index.js":[90313,650,4619,9175],"./descope-link/index.js":[31678,650,4619,7792],"./descope-list/index.js":[36911,650,4619,7640],"./descope-loader-linear/index.js":[22339,650,4619,8009],"./descope-loader-radial/index.js":[86715,650,4619,7163],"./descope-logo/index.js":[47713,650,4619,1239],"./descope-modal/index.js":[826,650,8164,3711,1437,4619,4139],"./descope-multi-select-combo-box/index.js":[10664,650,8164,9895,3222,9167,3711,2566,9632,6474,4619,1331],"./descope-new-password/descope-new-password-internal/index.js":[32039,650,4619,8603],"./descope-new-password/index.js":[26586,650,8164,9895,3222,9167,1033,6637,6418,351,4619,4364],"./descope-notification/descope-notification-card/index.js":[39749,650,8164,4834,4619,7326],"./descope-notification/index.js":[35592,650,8164,4834,4619,8019],"./descope-notp-image/index.js":[22529,650,4619,2251],"./descope-number-field/index.js":[37041,650,8164,9895,3222,9167,5412,4619,7944],"./descope-passcode/descope-passcode-internal/index.js":[81443,650,4619,3359],"./descope-passcode/index.js":[40868,650,8164,9895,3222,9167,6637,6418,8162,4619,8884],"./descope-password/index.js":[1279,650,8164,9895,3222,9167,1033,351,4619,6969],"./descope-policy-validation/index.js":[28184,650,4619,2996],"./descope-radio-group/index.js":[94702,650,8164,9895,3222,1033,5086,4619,9399],"./descope-recaptcha/index.js":[19552,650,4619,3847],"./descope-scopes-list/index.js":[78538,650,8164,9895,3222,9167,1033,5273,4619,1674],"./descope-security-questions-setup/index.js":[69555,650,8164,9895,3222,9167,1033,5273,4619,3594],"./descope-text-area/index.js":[641,650,8164,9895,3222,9167,286,4619,5686],"./descope-text-field/index.js":[89348,650,8164,9895,3222,9167,6637,6418,4619,5166],"./descope-text/index.js":[16429,650,4619,171],"./descope-third-party-app-logo/index.js":[63200,650,2838,4619,230],"./descope-totp-image/index.js":[89011,650,4619,6213],"./descope-upload-file/index.js":[82147,650,8164,9895,1033,2838,5443,4619,9636],"./descope-user-attribute/index.js":[91132,650,8164,9895,1033,6637,2838,5026,4619,1578],"./descope-user-auth-method/index.js":[56780,650,8164,9895,1033,6637,2838,7407,4619,9990],"./mapping-fields/descope-mappings-field/descope-mapping-item/index.js":[91491,650,4619,2230],"./mapping-fields/descope-mappings-field/descope-mappings-field-internal/index.js":[88858,650,4619,9522],"./mapping-fields/descope-mappings-field/index.js":[64551,650,8164,9895,3222,9167,1033,6637,6418,2838,3711,2566,9632,1053,4619,7095],"./mapping-fields/descope-saml-group-mappings/descope-saml-group-mappings-internal/index.js":[71828,650,4619,9708],"./mapping-fields/descope-saml-group-mappings/index.js":[28511,650,8164,9895,3222,9167,1033,6637,6418,2838,3711,2566,9632,1053,4619,7095,6832],"./phone-fields/descope-phone-field/descope-phone-field-internal/index.js":[54930,650,8164,9895,3222,9167,6637,6418,3711,2566,9632,6726,4619,5459,2878],"./phone-fields/descope-phone-field/index.js":[18638,650,8164,9895,3222,9167,6637,6418,3711,2566,9632,6726,4619,5459,9894],"./phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/index.js":[46633,650,8164,9895,3222,9167,6637,6418,4619,5459,8657],"./phone-fields/descope-phone-input-box-field/index.js":[65636,650,8164,9895,3222,9167,6637,6418,3711,2566,9632,7212,4619,5459,4043]};function i(e){if(!o.o(d,e))return Promise.resolve().then((()=>{var s=new Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}));var s=d[e],i=s[0];return Promise.all(s.slice(1).map(o.e)).then((()=>o(i)))}i.keys=()=>Object.keys(d),i.id=97301,e.exports=i},6461:(e,s,o)=>{"use strict";o.r(s),o.d(s,{componentsThemeManager:()=>d});const d=new class{static mountOnPropName="DescopeThemeManager";#e={};#s="light";#o=new Set;#d(){this.#o.forEach((e=>e?.()))}get currentThemeName(){return this.#s}set currentThemeName(e){this.#s=e,this.#d()}get currentTheme(){return this.#e[this.currentThemeName]}onCurrentThemeChange(e){return this.#o.add(e),()=>{this.#o.delete(e)}}set themes(e){this.#e=e,this.#d()}get hasThemes(){return!!Object.keys(this.#e).length}}},41216:(e,s,o)=>{const{componentsThemeManager:d}=o(6461),i=o(97301);e.exports=i.keys().reduce(((e,s)=>{const o=s.replace(/.*?([^\/]+)\/index\.js$/,"$1");return o.endsWith("-internal")||(e[o]=()=>i(s)),e}),{}),e.exports.componentsThemeManager=d}},i={};function n(e){var s=i[e];if(void 0!==s)return s.exports;var o=i[e]={exports:{}};return d[e].call(o.exports,o,o.exports,n),o.exports}n.m=d,e=[],n.O=(s,o,d,i)=>{if(!o){var t=1/0;for(a=0;a<e.length;a++){for(var[o,d,i]=e[a],p=!0,c=0;c<o.length;c++)(!1&i||t>=i)&&Object.keys(n.O).every((e=>n.O[e](o[c])))?o.splice(c--,1):(p=!1,i<t&&(t=i));if(p){e.splice(a--,1);var r=d();void 0!==r&&(s=r)}}return s}i=i||0;for(var a=e.length;a>0&&e[a-1][2]>i;a--)e[a]=e[a-1];e[a]=[o,d,i]},n.F={},n.E=e=>{Object.keys(n.F).map((s=>{n.F[s](e)}))},n.n=e=>{var s=e&&e.__esModule?()=>e.default:()=>e;return n.d(s,{a:s}),s},n.d=(e,s)=>{for(var o in s)n.o(s,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:s[o]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((s,o)=>(n.f[o](e,s),s)),[])),n.u=e=>(({171:"descope-text-index-js",230:"descope-third-party-app-logo-index-js",1239:"descope-logo-index-js",1331:"descope-multi-select-combo-box-index-js",1448:"boolean-fields-descope-switch-toggle-index-js",1578:"descope-user-attribute-index-js",1674:"descope-scopes-list-index-js",1837:"button-selection-group-fields-descope-button-selection-group-item-index-js",2141:"button-selection-group-fields-descope-button-selection-group-index-js",2200:"descope-grid-index-js",2230:"mapping-fields-descope-mappings-field-descope-mapping-item-index-js",2251:"descope-notp-image-index-js",2381:"descope-grid-descope-grid-item-details-column-index-js",2645:"descope-avatar-index-js",2878:"phone-fields-descope-phone-field-descope-phone-field-internal-index-js",2996:"descope-policy-validation-index-js",3057:"descope-apps-list-index-js",3305:"descope-grid-descope-grid-selection-column-index-js",3359:"descope-passcode-descope-passcode-internal-index-js",3521:"descope-code-snippet-index-js",3594:"descope-security-questions-setup-index-js",3829:"button-selection-group-fields-descope-button-multi-selection-group-index-js",3847:"descope-recaptcha-index-js",4043:"phone-fields-descope-phone-input-box-field-index-js",4139:"descope-modal-index-js",4364:"descope-new-password-index-js",4838:"boolean-fields-descope-checkbox-index-js",5166:"descope-text-field-index-js",5686:"descope-text-area-index-js",5695:"descope-email-field-index-js",5710:"descope-enriched-text-index-js",6028:"descope-date-field-descope-calendar-index-js",6213:"descope-totp-image-index-js",6832:"mapping-fields-descope-saml-group-mappings-index-js",6969:"descope-password-index-js",7052:"descope-combo-box-index-js",7079:"button-selection-group-fields-descope-button-selection-group-internal-index-js",7095:"mapping-fields-descope-mappings-field-index-js",7163:"descope-loader-radial-index-js",7326:"descope-notification-descope-notification-card-index-js",7362:"boolean-fields-descope-boolean-field-internal-index-js",7401:"descope-icon-index-js",7640:"descope-list-index-js",7792:"descope-link-index-js",7944:"descope-number-field-index-js",8009:"descope-loader-linear-index-js",8019:"descope-notification-index-js",8108:"descope-grid-descope-grid-text-column-index-js",8399:"button-selection-group-fields-descope-button-multi-selection-group-internal-index-js",8603:"descope-new-password-descope-new-password-internal-index-js",8657:"phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js",8689:"descope-container-index-js",8819:"descope-divider-index-js",8884:"descope-passcode-index-js",9175:"descope-image-index-js",9176:"descope-grid-descope-grid-custom-column-index-js",9257:"descope-date-field-index-js",9399:"descope-radio-group-index-js",9522:"mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js",9553:"descope-badge-index-js",9636:"descope-upload-file-index-js",9708:"mapping-fields-descope-saml-group-mappings-descope-saml-group-mappings-internal-index-js",9894:"phone-fields-descope-phone-field-index-js",9984:"descope-button-index-js",9990:"descope-user-auth-method-index-js"}[e]||e)+".js"),n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,s)=>Object.prototype.hasOwnProperty.call(e,s),s={},o="@descope/web-components-ui:",n.l=(e,d,i,t)=>{if(s[e])s[e].push(d);else{var p,c;if(void 0!==i)for(var r=document.getElementsByTagName("script"),a=0;a<r.length;a++){var l=r[a];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+i){p=l;break}}p||(c=!0,(p=document.createElement("script")).charset="utf-8",p.timeout=120,n.nc&&p.setAttribute("nonce",n.nc),p.setAttribute("data-webpack",o+i),p.src=e),s[e]=[d];var u=(o,d)=>{p.onerror=p.onload=null,clearTimeout(x);var i=s[e];if(delete s[e],p.parentNode&&p.parentNode.removeChild(p),i&&i.forEach((e=>e(d))),o)return o(d)},x=setTimeout(u.bind(null,void 0,{type:"timeout",target:p}),12e4);p.onerror=u.bind(null,p.onerror),p.onload=u.bind(null,p.onload),c&&document.head.appendChild(p)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var s=n.g.document;if(!e&&s&&(s.currentScript&&"SCRIPT"===s.currentScript.tagName.toUpperCase()&&(e=s.currentScript.src),!e)){var o=s.getElementsByTagName("script");if(o.length)for(var d=o.length-1;d>-1&&(!e||!/^http(s?):/.test(e));)e=o[d--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={5536:0};n.f.j=(s,o)=>{var d=n.o(e,s)?e[s]:void 0;if(0!==d)if(d)o.push(d[2]);else{var i=new Promise(((o,i)=>d=e[s]=[o,i]));o.push(d[2]=i);var t=n.p+n.u(s),p=new Error;n.l(t,(o=>{if(n.o(e,s)&&(0!==(d=e[s])&&(e[s]=void 0),d)){var i=o&&("load"===o.type?"missing":o.type),t=o&&o.target&&o.target.src;p.message="Loading chunk "+s+" failed.\n("+i+": "+t+")",p.name="ChunkLoadError",p.type=i,p.request=t,d[1](p)}}),"chunk-"+s,s)}},n.F.j=s=>{if(!n.o(e,s)||void 0===e[s]){e[s]=null;var o=document.createElement("link");n.nc&&o.setAttribute("nonce",n.nc),o.rel="prefetch",o.as="script",o.href=n.p+n.u(s),document.head.appendChild(o)}},n.O.j=s=>0===e[s];var s=(s,o)=>{var d,i,[t,p,c]=o,r=0;if(t.some((s=>0!==e[s]))){for(d in p)n.o(p,d)&&(n.m[d]=p[d]);if(c)var a=c(n)}for(s&&s(o);r<t.length;r++)i=t[r],n.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return n.O(a)},o=self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[];o.forEach(s.bind(null,0)),o.push=s.bind(null,o.push.bind(o))})(),n.O(0,[5536],(()=>{[650,4619,7362,8164,9895,3222,9167,1033,5273,4838,1448,8399,2838,7824,3829,7079,1837,2141,6637,6418,3711,1414,3057,2645,9553,9984,9878,3521,2566,9632,7052,8689,7607,6028,8980,9257,8819,5695,1672,5710,3607,9176,2381,3305,8108,2919,2200,7401,9175,7792,7640,8009,7163,1239,1437,4139,6474,1331,8603,351,4364,4834,7326,8019,2251,5412,7944,3359,8162,8884,6969,2996,5086,9399,3847,1674,3594,286,5686,5166,171,230,6213,5443,9636,5026,1578,7407,9990,2230,9522,1053,7095,9708,6832,6726,5459,2878,9894,8657,7212,4043].map(n.E)}),5);var t=n(41216);return n.O(t)})()));
1
+ !function(e,s){"object"==typeof exports&&"object"==typeof module?module.exports=s():"function"==typeof define&&define.amd?define([],s):"object"==typeof exports?exports.DescopeUI=s():e.DescopeUI=s()}(self,(()=>(()=>{var e,s,o,d={97301:(e,s,o)=>{var d={"./boolean-fields/descope-boolean-field-internal/index.js":[53716,650,4619,7362],"./boolean-fields/descope-checkbox/index.js":[12388,650,8164,9895,3222,9167,1033,5273,4619,4838],"./boolean-fields/descope-switch-toggle/index.js":[57836,650,8164,9895,3222,9167,1033,5273,4619,1448],"./button-selection-group-fields/descope-button-multi-selection-group-internal/index.js":[39173,650,4619,8399],"./button-selection-group-fields/descope-button-multi-selection-group/index.js":[82329,650,8164,9895,1033,2838,7824,4619,3829],"./button-selection-group-fields/descope-button-selection-group-internal/index.js":[19509,650,4619,7079],"./button-selection-group-fields/descope-button-selection-group-item/index.js":[42426,650,8164,9895,1033,2838,7824,4619,1837],"./button-selection-group-fields/descope-button-selection-group/index.js":[7815,650,8164,9895,1033,2838,7824,4619,2141],"./descope-apps-list/index.js":[94073,650,8164,9895,6637,6418,3711,1414,4619,3057],"./descope-avatar/index.js":[23008,650,8164,9895,6637,6418,3711,1414,4619,2645],"./descope-badge/index.js":[58765,650,4619,9553],"./descope-button/index.js":[1058,650,8164,9895,1033,2838,4619,9984],"./descope-code-snippet/index.js":[52475,650,9878,4619,3521],"./descope-combo-box/index.js":[4480,650,8164,9895,3222,9167,3711,2566,9632,4619,7052],"./descope-container/index.js":[43713,650,4619,8689],"./descope-date-field/descope-calendar/index.js":[18562,650,8164,9895,3222,9167,1033,2838,3711,2566,9632,7607,4619,6028],"./descope-date-field/index.js":[66509,650,8164,9895,3222,9167,1033,6637,6418,2838,3711,2566,9632,7607,8980,4619,6028,9257],"./descope-divider/index.js":[53665,650,4619,8819],"./descope-email-field/index.js":[91046,650,8164,9895,3222,9167,4619,5695],"./descope-enriched-text/index.js":[39e3,650,1672,4619,5710],"./descope-grid/descope-grid-custom-column/index.js":[96969,8164,3607,9176],"./descope-grid/descope-grid-item-details-column/index.js":[85198,8164,9895,6637,6418,3607,2381],"./descope-grid/descope-grid-selection-column/index.js":[79120,650,8164,9895,3222,9167,1033,5273,3607,4619,3305],"./descope-grid/descope-grid-text-column/index.js":[36486,8164,3607,8108],"./descope-grid/index.js":[30954,650,8164,9895,3222,9167,1033,6637,6418,2566,5273,3607,9878,2919,4619,2200],"./descope-icon/index.js":[21471,650,2838,4619,7401],"./descope-image/index.js":[90313,650,4619,9175],"./descope-link/index.js":[31678,650,4619,7792],"./descope-list/index.js":[36911,650,4619,7640],"./descope-loader-linear/index.js":[22339,650,4619,8009],"./descope-loader-radial/index.js":[86715,650,4619,7163],"./descope-logo/index.js":[47713,650,4619,1239],"./descope-modal/index.js":[826,650,8164,3711,1437,4619,4139],"./descope-multi-select-combo-box/index.js":[10664,650,8164,9895,3222,9167,3711,2566,9632,6474,4619,1331],"./descope-new-password/descope-new-password-internal/index.js":[32039,650,4619,8603],"./descope-new-password/index.js":[26586,650,8164,9895,3222,9167,1033,6637,6418,351,4619,4364],"./descope-notification/descope-notification-card/index.js":[39749,650,8164,4834,4619,7326],"./descope-notification/index.js":[35592,650,8164,4834,4619,8019],"./descope-notp-image/index.js":[22529,650,4619,2251],"./descope-number-field/index.js":[37041,650,8164,9895,3222,9167,5412,4619,7944],"./descope-passcode/descope-passcode-internal/index.js":[81443,650,4619,3359],"./descope-passcode/index.js":[40868,650,8164,9895,3222,9167,6637,6418,8162,4619,8884],"./descope-password/index.js":[1279,650,8164,9895,3222,9167,1033,351,4619,6969],"./descope-policy-validation/index.js":[28184,650,4619,2996],"./descope-radio-group/index.js":[94702,650,8164,9895,3222,1033,5086,4619,9399],"./descope-recaptcha/index.js":[19552,650,4619,3847],"./descope-scopes-list/index.js":[78538,650,8164,9895,3222,9167,1033,5273,4619,1674],"./descope-security-questions-setup/index.js":[69555,650,8164,9895,3222,9167,1033,5273,4619,3594],"./descope-security-questions-verify/index.js":[45307,650,8164,9895,3222,9167,6637,6418,4619,9446],"./descope-text-area/index.js":[641,650,8164,9895,3222,9167,286,4619,5686],"./descope-text-field/index.js":[89348,650,8164,9895,3222,9167,6637,6418,4619,5166],"./descope-text/index.js":[16429,650,4619,171],"./descope-third-party-app-logo/index.js":[63200,650,2838,4619,230],"./descope-totp-image/index.js":[89011,650,4619,6213],"./descope-upload-file/index.js":[82147,650,8164,9895,1033,2838,5443,4619,9636],"./descope-user-attribute/index.js":[91132,650,8164,9895,1033,6637,2838,5026,4619,1578],"./descope-user-auth-method/index.js":[56780,650,8164,9895,1033,6637,2838,7407,4619,9990],"./mapping-fields/descope-mappings-field/descope-mapping-item/index.js":[91491,650,4619,2230],"./mapping-fields/descope-mappings-field/descope-mappings-field-internal/index.js":[88858,650,4619,9522],"./mapping-fields/descope-mappings-field/index.js":[64551,650,8164,9895,3222,9167,1033,6637,6418,2838,3711,2566,9632,1053,4619,7095],"./mapping-fields/descope-saml-group-mappings/descope-saml-group-mappings-internal/index.js":[71828,650,4619,9708],"./mapping-fields/descope-saml-group-mappings/index.js":[28511,650,8164,9895,3222,9167,1033,6637,6418,2838,3711,2566,9632,1053,4619,7095,6832],"./phone-fields/descope-phone-field/descope-phone-field-internal/index.js":[54930,650,8164,9895,3222,9167,6637,6418,3711,2566,9632,6726,4619,5459,2878],"./phone-fields/descope-phone-field/index.js":[18638,650,8164,9895,3222,9167,6637,6418,3711,2566,9632,6726,4619,5459,9894],"./phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/index.js":[46633,650,8164,9895,3222,9167,6637,6418,4619,5459,8657],"./phone-fields/descope-phone-input-box-field/index.js":[65636,650,8164,9895,3222,9167,6637,6418,3711,2566,9632,7212,4619,5459,4043]};function i(e){if(!o.o(d,e))return Promise.resolve().then((()=>{var s=new Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}));var s=d[e],i=s[0];return Promise.all(s.slice(1).map(o.e)).then((()=>o(i)))}i.keys=()=>Object.keys(d),i.id=97301,e.exports=i},6461:(e,s,o)=>{"use strict";o.r(s),o.d(s,{componentsThemeManager:()=>d});const d=new class{static mountOnPropName="DescopeThemeManager";#e={};#s="light";#o=new Set;#d(){this.#o.forEach((e=>e?.()))}get currentThemeName(){return this.#s}set currentThemeName(e){this.#s=e,this.#d()}get currentTheme(){return this.#e[this.currentThemeName]}onCurrentThemeChange(e){return this.#o.add(e),()=>{this.#o.delete(e)}}set themes(e){this.#e=e,this.#d()}get hasThemes(){return!!Object.keys(this.#e).length}}},41216:(e,s,o)=>{const{componentsThemeManager:d}=o(6461),i=o(97301);e.exports=i.keys().reduce(((e,s)=>{const o=s.replace(/.*?([^\/]+)\/index\.js$/,"$1");return o.endsWith("-internal")||(e[o]=()=>i(s)),e}),{}),e.exports.componentsThemeManager=d}},i={};function n(e){var s=i[e];if(void 0!==s)return s.exports;var o=i[e]={exports:{}};return d[e].call(o.exports,o,o.exports,n),o.exports}n.m=d,e=[],n.O=(s,o,d,i)=>{if(!o){var t=1/0;for(a=0;a<e.length;a++){for(var[o,d,i]=e[a],p=!0,c=0;c<o.length;c++)(!1&i||t>=i)&&Object.keys(n.O).every((e=>n.O[e](o[c])))?o.splice(c--,1):(p=!1,i<t&&(t=i));if(p){e.splice(a--,1);var r=d();void 0!==r&&(s=r)}}return s}i=i||0;for(var a=e.length;a>0&&e[a-1][2]>i;a--)e[a]=e[a-1];e[a]=[o,d,i]},n.F={},n.E=e=>{Object.keys(n.F).map((s=>{n.F[s](e)}))},n.n=e=>{var s=e&&e.__esModule?()=>e.default:()=>e;return n.d(s,{a:s}),s},n.d=(e,s)=>{for(var o in s)n.o(s,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:s[o]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((s,o)=>(n.f[o](e,s),s)),[])),n.u=e=>(({171:"descope-text-index-js",230:"descope-third-party-app-logo-index-js",1239:"descope-logo-index-js",1331:"descope-multi-select-combo-box-index-js",1448:"boolean-fields-descope-switch-toggle-index-js",1578:"descope-user-attribute-index-js",1674:"descope-scopes-list-index-js",1837:"button-selection-group-fields-descope-button-selection-group-item-index-js",2141:"button-selection-group-fields-descope-button-selection-group-index-js",2200:"descope-grid-index-js",2230:"mapping-fields-descope-mappings-field-descope-mapping-item-index-js",2251:"descope-notp-image-index-js",2381:"descope-grid-descope-grid-item-details-column-index-js",2645:"descope-avatar-index-js",2878:"phone-fields-descope-phone-field-descope-phone-field-internal-index-js",2996:"descope-policy-validation-index-js",3057:"descope-apps-list-index-js",3305:"descope-grid-descope-grid-selection-column-index-js",3359:"descope-passcode-descope-passcode-internal-index-js",3521:"descope-code-snippet-index-js",3594:"descope-security-questions-setup-index-js",3829:"button-selection-group-fields-descope-button-multi-selection-group-index-js",3847:"descope-recaptcha-index-js",4043:"phone-fields-descope-phone-input-box-field-index-js",4139:"descope-modal-index-js",4364:"descope-new-password-index-js",4838:"boolean-fields-descope-checkbox-index-js",5166:"descope-text-field-index-js",5686:"descope-text-area-index-js",5695:"descope-email-field-index-js",5710:"descope-enriched-text-index-js",6028:"descope-date-field-descope-calendar-index-js",6213:"descope-totp-image-index-js",6832:"mapping-fields-descope-saml-group-mappings-index-js",6969:"descope-password-index-js",7052:"descope-combo-box-index-js",7079:"button-selection-group-fields-descope-button-selection-group-internal-index-js",7095:"mapping-fields-descope-mappings-field-index-js",7163:"descope-loader-radial-index-js",7326:"descope-notification-descope-notification-card-index-js",7362:"boolean-fields-descope-boolean-field-internal-index-js",7401:"descope-icon-index-js",7640:"descope-list-index-js",7792:"descope-link-index-js",7944:"descope-number-field-index-js",8009:"descope-loader-linear-index-js",8019:"descope-notification-index-js",8108:"descope-grid-descope-grid-text-column-index-js",8399:"button-selection-group-fields-descope-button-multi-selection-group-internal-index-js",8603:"descope-new-password-descope-new-password-internal-index-js",8657:"phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js",8689:"descope-container-index-js",8819:"descope-divider-index-js",8884:"descope-passcode-index-js",9175:"descope-image-index-js",9176:"descope-grid-descope-grid-custom-column-index-js",9257:"descope-date-field-index-js",9399:"descope-radio-group-index-js",9446:"descope-security-questions-verify-index-js",9522:"mapping-fields-descope-mappings-field-descope-mappings-field-internal-index-js",9553:"descope-badge-index-js",9636:"descope-upload-file-index-js",9708:"mapping-fields-descope-saml-group-mappings-descope-saml-group-mappings-internal-index-js",9894:"phone-fields-descope-phone-field-index-js",9984:"descope-button-index-js",9990:"descope-user-auth-method-index-js"}[e]||e)+".js"),n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,s)=>Object.prototype.hasOwnProperty.call(e,s),s={},o="@descope/web-components-ui:",n.l=(e,d,i,t)=>{if(s[e])s[e].push(d);else{var p,c;if(void 0!==i)for(var r=document.getElementsByTagName("script"),a=0;a<r.length;a++){var l=r[a];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+i){p=l;break}}p||(c=!0,(p=document.createElement("script")).charset="utf-8",p.timeout=120,n.nc&&p.setAttribute("nonce",n.nc),p.setAttribute("data-webpack",o+i),p.src=e),s[e]=[d];var u=(o,d)=>{p.onerror=p.onload=null,clearTimeout(x);var i=s[e];if(delete s[e],p.parentNode&&p.parentNode.removeChild(p),i&&i.forEach((e=>e(d))),o)return o(d)},x=setTimeout(u.bind(null,void 0,{type:"timeout",target:p}),12e4);p.onerror=u.bind(null,p.onerror),p.onload=u.bind(null,p.onload),c&&document.head.appendChild(p)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var s=n.g.document;if(!e&&s&&(s.currentScript&&"SCRIPT"===s.currentScript.tagName.toUpperCase()&&(e=s.currentScript.src),!e)){var o=s.getElementsByTagName("script");if(o.length)for(var d=o.length-1;d>-1&&(!e||!/^http(s?):/.test(e));)e=o[d--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={5536:0};n.f.j=(s,o)=>{var d=n.o(e,s)?e[s]:void 0;if(0!==d)if(d)o.push(d[2]);else{var i=new Promise(((o,i)=>d=e[s]=[o,i]));o.push(d[2]=i);var t=n.p+n.u(s),p=new Error;n.l(t,(o=>{if(n.o(e,s)&&(0!==(d=e[s])&&(e[s]=void 0),d)){var i=o&&("load"===o.type?"missing":o.type),t=o&&o.target&&o.target.src;p.message="Loading chunk "+s+" failed.\n("+i+": "+t+")",p.name="ChunkLoadError",p.type=i,p.request=t,d[1](p)}}),"chunk-"+s,s)}},n.F.j=s=>{if(!n.o(e,s)||void 0===e[s]){e[s]=null;var o=document.createElement("link");n.nc&&o.setAttribute("nonce",n.nc),o.rel="prefetch",o.as="script",o.href=n.p+n.u(s),document.head.appendChild(o)}},n.O.j=s=>0===e[s];var s=(s,o)=>{var d,i,[t,p,c]=o,r=0;if(t.some((s=>0!==e[s]))){for(d in p)n.o(p,d)&&(n.m[d]=p[d]);if(c)var a=c(n)}for(s&&s(o);r<t.length;r++)i=t[r],n.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return n.O(a)},o=self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[];o.forEach(s.bind(null,0)),o.push=s.bind(null,o.push.bind(o))})(),n.O(0,[5536],(()=>{[650,4619,7362,8164,9895,3222,9167,1033,5273,4838,1448,8399,2838,7824,3829,7079,1837,2141,6637,6418,3711,1414,3057,2645,9553,9984,9878,3521,2566,9632,7052,8689,7607,6028,8980,9257,8819,5695,1672,5710,3607,9176,2381,3305,8108,2919,2200,7401,9175,7792,7640,8009,7163,1239,1437,4139,6474,1331,8603,351,4364,4834,7326,8019,2251,5412,7944,3359,8162,8884,6969,2996,5086,9399,3847,1674,3594,9446,286,5686,5166,171,230,6213,5443,9636,5026,1578,7407,9990,2230,9522,1053,7095,9708,6832,6726,5459,2878,9894,8657,7212,4043].map(n.E)}),5);var t=n(41216);return n.O(t)})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/web-components-ui",
3
- "version": "1.0.394",
3
+ "version": "1.0.396",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -44,6 +44,7 @@ export const EmailFieldClass = compose(
44
44
  draggableMixin,
45
45
  externalInputMixin({
46
46
  inputType: 'email',
47
+ inputName: 'email',
47
48
  autocompleteType: 'username',
48
49
  includeAttrs: ['disabled', 'readonly', 'pattern'],
49
50
  }),
@@ -75,6 +75,7 @@ const customMixin = (superclass) =>
75
75
 
76
76
  // move external input
77
77
  externalInput.setAttribute('slot', slotName);
78
+ externalInput.setAttribute('name', this.getAttribute('name'));
78
79
  externalInput.setAttribute('data-hidden-input', 'true');
79
80
 
80
81
  this.appendChild(externalInput);
@@ -218,6 +218,7 @@ export const PasswordClass = compose(
218
218
  draggableMixin,
219
219
  externalInputMixin({
220
220
  inputType: 'password',
221
+ inputName: 'password',
221
222
  includeAttrs: ['disabled', 'readonly', 'pattern', 'type', 'autocomplete'],
222
223
  noBlurDispatch: true,
223
224
  }),
@@ -41,14 +41,6 @@ class RawSecurityQuestionsSetup extends createBaseClass({ componentName, baseSel
41
41
  `;
42
42
  }
43
43
 
44
- get isReadOnly() {
45
- return this.getAttribute('readonly') === 'true';
46
- }
47
-
48
- get size() {
49
- return this.getAttribute('size') || 'sm';
50
- }
51
-
52
44
  get count() {
53
45
  return Number(this.getAttribute('count')) || 0;
54
46
  }
@@ -136,7 +128,7 @@ class RawSecurityQuestionsSetup extends createBaseClass({ componentName, baseSel
136
128
  return JSON.parse(this.getAttribute('questions')) || [];
137
129
  } catch (e) {
138
130
  // eslint-disable-next-line no-console
139
- console.error(componentName, 'Error parsing data attribute', e);
131
+ console.error(componentName, 'Error parsing questions attribute', e);
140
132
  return [];
141
133
  }
142
134
  }
@@ -1,5 +1,4 @@
1
1
  import { componentName, SecurityQuestionsSetupClass } from './SecurityQuestionsSetupClass';
2
- import '../descope-list';
3
2
  import '../boolean-fields/descope-checkbox';
4
3
 
5
4
  customElements.define(componentName, SecurityQuestionsSetupClass);
@@ -0,0 +1,208 @@
1
+ import { createBaseClass } from '../../baseClasses/createBaseClass';
2
+ import { compose } from '../../helpers';
3
+ import { getComponentName, observeAttributes } from '../../helpers/componentHelpers';
4
+ import { componentNameValidationMixin, createStyleMixin, draggableMixin } from '../../mixins';
5
+ import { TextClass } from '../descope-text/TextClass';
6
+ import { TextFieldClass } from '../descope-text-field/TextFieldClass';
7
+
8
+ export const componentName = getComponentName('security-questions-verify');
9
+
10
+ const textFieldsAttrs = [
11
+ 'full-width',
12
+ 'readonly',
13
+ 'size',
14
+ 'answer-placeholder',
15
+ 'answer-data-errormessage-value-missing',
16
+ ];
17
+
18
+ const textsAttrs = ['question-mode'];
19
+
20
+ const attrMappings = {
21
+ 'answer-placeholder': 'placeholder',
22
+ 'answer-data-errormessage-value-missing': 'data-errormessage-value-missing',
23
+ 'question-mode': 'mode',
24
+ };
25
+
26
+ const attrsToSync = [...textFieldsAttrs, ...textsAttrs];
27
+
28
+ const attrsToReRender = ['questions'];
29
+ class RawSecurityQuestionsVerify extends createBaseClass({ componentName, baseSelector: 'div' }) {
30
+ constructor() {
31
+ super();
32
+
33
+ this.attachShadow({ mode: 'open' }).innerHTML = `
34
+ <style>
35
+ :host {
36
+ display: inline-flex;
37
+ }
38
+
39
+ div {
40
+ display: flex;
41
+ flex-direction: column;
42
+ }
43
+
44
+ </style>
45
+ <div></div>
46
+ `;
47
+ }
48
+
49
+ #renderQuestions() {
50
+ const res = this.questions.map(
51
+ ({ id, text }) =>
52
+ // <!--html-->
53
+ `
54
+ <div class="question-wrapper">
55
+ <descope-text
56
+ data-id="${id}"
57
+ >${text}</descope-text>
58
+
59
+ <descope-text-field
60
+ data-id="${id}"
61
+ required="true"
62
+ bordered="true"
63
+ ></descope-text-field>
64
+ </div>
65
+ `
66
+ // <!--!html-->
67
+ );
68
+
69
+ this.baseElement.innerHTML = res.join(
70
+ '<spacer></spacer><descope-divider></descope-divider><spacer></spacer>'
71
+ );
72
+
73
+ this.#syncAttrs(attrsToSync);
74
+
75
+ // focus input when text is clicked
76
+ this.texts.forEach((el) => {
77
+ const input = this.textFields.find(
78
+ (field) => field.getAttribute('data-id') === el.getAttribute('data-id')
79
+ );
80
+ // eslint-disable-next-line no-param-reassign
81
+ if (input) el.onclick = input.focus.bind(input);
82
+ });
83
+ }
84
+
85
+ reportValidity() {
86
+ this.textFields.reverse().forEach((el) => el.reportValidity());
87
+
88
+ return this.checkValidity();
89
+ }
90
+
91
+ checkValidity() {
92
+ return this.textFields.every((el) => el.checkValidity());
93
+ }
94
+
95
+ get questions() {
96
+ try {
97
+ return JSON.parse(this.getAttribute('questions')) || [];
98
+ } catch (e) {
99
+ // eslint-disable-next-line no-console
100
+ console.error(componentName, 'Error parsing questions attribute', e);
101
+ return [];
102
+ }
103
+ }
104
+
105
+ get texts() {
106
+ return Array.from(this.baseElement.querySelectorAll('descope-text'));
107
+ }
108
+
109
+ get textFields() {
110
+ return Array.from(this.baseElement.querySelectorAll('descope-text-field'));
111
+ }
112
+
113
+ get elements() {
114
+ return Array.from(this.baseElement.querySelectorAll('descope-text, descope-text-field'));
115
+ }
116
+
117
+ get value() {
118
+ return this.textFields.map((el) => ({ id: el.getAttribute('data-id'), answer: el.value }));
119
+ }
120
+
121
+ set value(val = []) {
122
+ val.forEach(({ id, answer }) => {
123
+ const textField = this.textFields.find((el) => el.getAttribute('data-id') === id);
124
+ if (textField) textField.value = answer;
125
+ });
126
+ }
127
+
128
+ // eslint-disable-next-line class-methods-use-this
129
+ #updateAttribute(ele, attrName, value) {
130
+ if (value === null) ele.removeAttribute(attrName);
131
+ else ele.setAttribute(attrName, value);
132
+ }
133
+
134
+ #getElementsToUpdate(attr) {
135
+ switch (true) {
136
+ case textFieldsAttrs.includes(attr):
137
+ return this.textFields;
138
+ case textsAttrs.includes(attr):
139
+ return this.texts;
140
+ default:
141
+ return [];
142
+ }
143
+ }
144
+
145
+ #syncAttrs(attrs) {
146
+ attrs.forEach((attr) => {
147
+ this.#getElementsToUpdate(attr).forEach((el) => {
148
+ this.#updateAttribute(el, attrMappings[attr] || attr, this.getAttribute(attr));
149
+ });
150
+ });
151
+ }
152
+
153
+ init() {
154
+ super.init?.();
155
+ // render new components
156
+ observeAttributes(
157
+ this,
158
+ () => {
159
+ this.#renderQuestions();
160
+ },
161
+ { includeAttrs: attrsToReRender }
162
+ );
163
+
164
+ // update existing components
165
+ observeAttributes(this, this.#syncAttrs.bind(this), {
166
+ includeAttrs: attrsToSync,
167
+ });
168
+ }
169
+ }
170
+
171
+ export const SecurityQuestionsVerifyClass = compose(
172
+ createStyleMixin({ componentNameOverride: getComponentName('input-wrapper') }),
173
+ createStyleMixin({
174
+ mappings: {
175
+ hostWidth: [{ selector: () => ':host', property: 'width' }, { property: 'width' }],
176
+ hostDirection: [
177
+ { selector: () => ':host', property: 'direction' },
178
+ {
179
+ selector: () => TextClass.componentName,
180
+ property: TextClass.cssVarList.hostDirection,
181
+ },
182
+ {
183
+ selector: () => TextFieldClass.componentName,
184
+ property: TextFieldClass.cssVarList.hostDirection,
185
+ },
186
+ ],
187
+ gap: { selector: () => 'div', property: 'gap' },
188
+ questionTextAlign: {
189
+ selector: () => TextClass.componentName,
190
+ property: TextClass.cssVarList.textAlign,
191
+ },
192
+ questionFontSize: {
193
+ selector: () => TextClass.componentName,
194
+ property: TextClass.cssVarList.fontSize,
195
+ },
196
+ questionFontFamily: {
197
+ selector: () => TextClass.componentName,
198
+ property: TextClass.cssVarList.fontFamily,
199
+ },
200
+ questionCursor: {
201
+ selector: () => TextClass.componentName,
202
+ property: 'cursor',
203
+ },
204
+ },
205
+ }),
206
+ draggableMixin,
207
+ componentNameValidationMixin
208
+ )(RawSecurityQuestionsVerify);
@@ -0,0 +1,7 @@
1
+ import { componentName, SecurityQuestionsVerifyClass } from './SecurityQuestionsVerifyClass';
2
+ import '../descope-text';
3
+ import '../descope-text-field';
4
+
5
+ customElements.define(componentName, SecurityQuestionsVerifyClass);
6
+
7
+ export { SecurityQuestionsVerifyClass };
package/src/index.cjs.js CHANGED
@@ -55,3 +55,4 @@ export { AppsListClass } from './components/descope-apps-list/AppsListClass';
55
55
  export { ScopesListClass } from './components/descope-scopes-list/ScopesListClass';
56
56
  export { ThirdPartyAppLogoClass } from './components/descope-third-party-app-logo/ThirdPartyAppLogoClass';
57
57
  export { SecurityQuestionsSetupClass } from './components/descope-security-questions-setup/SecurityQuestionsSetupClass';
58
+ export { SecurityQuestionsVerifyClass } from './components/descope-security-questions-verify/SecurityQuestionsVerifyClass';
package/src/index.js CHANGED
@@ -47,6 +47,7 @@ export * from './components/descope-apps-list';
47
47
  export * from './components/descope-scopes-list';
48
48
  export * from './components/descope-third-party-app-logo';
49
49
  export * from './components/descope-security-questions-setup';
50
+ export * from './components/descope-security-questions-verify';
50
51
 
51
52
  export {
52
53
  globalsThemeToStyle,
@@ -27,11 +27,12 @@ export const createExternalInputSlot = (slotName, targetSlotName) => {
27
27
  return slotEle;
28
28
  };
29
29
 
30
- export const createExternalInputEle = (targetSlotName, type, autocompleteType) => {
30
+ export const createExternalInputEle = (targetSlotName, type, autocompleteType, inputName) => {
31
31
  const inputEle = document.createElement('input');
32
32
 
33
33
  inputEle.setAttribute('slot', targetSlotName);
34
34
  inputEle.setAttribute('type', type);
35
+ inputEle.setAttribute('name', inputName);
35
36
  inputEle.setAttribute('data-hidden-input', 'true');
36
37
  inputEle.setAttribute('autocomplete', autocompleteType);
37
38
 
@@ -6,7 +6,7 @@ import {
6
6
  } from './externalInputHelpers';
7
7
 
8
8
  export const externalInputMixin =
9
- ({ inputType, autocompleteType, includeAttrs = [], noBlurDispatch = false }) =>
9
+ ({ inputType, inputName, autocompleteType, includeAttrs = [], noBlurDispatch = false }) =>
10
10
  (superclass) =>
11
11
  class ExternalInputMixinClass extends superclass {
12
12
  #timers = [];
@@ -37,7 +37,8 @@ export const externalInputMixin =
37
37
  this.externalInput = createExternalInputEle(
38
38
  'external-input',
39
39
  inputType,
40
- this.getAutocompleteType()
40
+ this.getAutocompleteType(),
41
+ inputName
41
42
  );
42
43
 
43
44
  // apply original input's styles to external input
@@ -49,6 +49,7 @@ import * as appsList from './appsList';
49
49
  import * as scopesList from './scopesList';
50
50
  import * as thirdPartyAppLogo from './thirdPartyAppLogo';
51
51
  import * as securityQuestionsSetup from './securityQuestionsSetup';
52
+ import * as securityQuestionsVerify from './securityQuestionsVerify';
52
53
 
53
54
  const components = {
54
55
  button,
@@ -103,6 +104,7 @@ const components = {
103
104
  scopesList,
104
105
  thirdPartyAppLogo,
105
106
  securityQuestionsSetup,
107
+ securityQuestionsVerify,
106
108
  };
107
109
 
108
110
  const theme = Object.keys(components).reduce(
@@ -2,11 +2,11 @@ import { SecurityQuestionsSetupClass } from '../../components/descope-security-q
2
2
 
3
3
  export const vars = SecurityQuestionsSetupClass.cssVarList;
4
4
 
5
- const scopesList = {
5
+ const securityQuestionsSetup = {
6
6
  [vars.hostWidth]: 'fit-content',
7
7
  _fullWidth: {
8
8
  [vars.hostWidth]: '100%',
9
9
  },
10
10
  };
11
11
 
12
- export default scopesList;
12
+ export default securityQuestionsSetup;
@@ -0,0 +1,16 @@
1
+ import { SecurityQuestionsVerifyClass } from '../../components/descope-security-questions-verify/SecurityQuestionsVerifyClass';
2
+ import { refs } from './inputWrapper';
3
+
4
+ export const vars = SecurityQuestionsVerifyClass.cssVarList;
5
+
6
+ const securityQuestionsVerify = {
7
+ [vars.hostWidth]: 'min-content',
8
+ [vars.questionCursor]: 'pointer',
9
+ _fullWidth: {
10
+ [vars.hostWidth]: '100%',
11
+ },
12
+ [vars.questionFontSize]: refs.fontSize,
13
+ [vars.questionFontFamily]: refs.fontFamily,
14
+ };
15
+
16
+ export default securityQuestionsVerify;