@descope/web-components-ui 1.0.151 → 1.0.153

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 (75) hide show
  1. package/dist/cjs/index.cjs.js +6197 -0
  2. package/dist/cjs/index.cjs.js.map +1 -0
  3. package/dist/cjs/package.json +1 -0
  4. package/dist/index.d.ts +52 -0
  5. package/dist/index.esm.js +6848 -0
  6. package/dist/index.esm.js.map +1 -0
  7. package/dist/umd/1018.js +577 -0
  8. package/dist/umd/1018.js.LICENSE.txt +23 -0
  9. package/dist/umd/2481.js +1 -0
  10. package/dist/umd/3208.js +2 -0
  11. package/dist/umd/3208.js.LICENSE.txt +5 -0
  12. package/dist/umd/3585.js +1 -0
  13. package/dist/umd/3878.js +1 -0
  14. package/dist/umd/4201.js +1 -0
  15. package/dist/umd/422.js +2 -0
  16. package/dist/umd/422.js.LICENSE.txt +5 -0
  17. package/dist/umd/4447.js +1 -0
  18. package/dist/umd/4513.js +1 -0
  19. package/dist/umd/4803.js +1 -0
  20. package/dist/umd/541.js +744 -0
  21. package/dist/umd/541.js.LICENSE.txt +21 -0
  22. package/dist/umd/5767.js +2 -0
  23. package/dist/umd/5767.js.LICENSE.txt +15 -0
  24. package/dist/umd/5806.js +109 -0
  25. package/dist/umd/5806.js.LICENSE.txt +5 -0
  26. package/dist/umd/7056.js +48 -0
  27. package/dist/umd/7056.js.LICENSE.txt +5 -0
  28. package/dist/umd/7101.js +148 -0
  29. package/dist/umd/7101.js.LICENSE.txt +11 -0
  30. package/dist/umd/729.js +1 -0
  31. package/dist/umd/7824.js +229 -0
  32. package/dist/umd/7824.js.LICENSE.txt +27 -0
  33. package/dist/umd/8725.js +37 -0
  34. package/dist/umd/8725.js.LICENSE.txt +11 -0
  35. package/dist/umd/9211.js +312 -0
  36. package/dist/umd/9211.js.LICENSE.txt +5 -0
  37. package/dist/umd/9241.js +1 -0
  38. package/dist/umd/9314.js +283 -0
  39. package/dist/umd/9314.js.LICENSE.txt +27 -0
  40. package/dist/umd/9437.js +19 -0
  41. package/dist/umd/9437.js.LICENSE.txt +5 -0
  42. package/dist/umd/9515.js +202 -0
  43. package/dist/umd/9515.js.LICENSE.txt +11 -0
  44. package/dist/umd/9545.js +356 -0
  45. package/dist/umd/9545.js.LICENSE.txt +61 -0
  46. package/dist/umd/9789.js +1 -0
  47. package/dist/umd/boolean-fields-descope-boolean-field-internal-index-js.js +1 -0
  48. package/dist/umd/boolean-fields-descope-checkbox-index-js.js +1 -0
  49. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +1 -0
  50. package/dist/umd/descope-button-index-js.js +1 -0
  51. package/dist/umd/descope-combo-box-index-js.js +1 -0
  52. package/dist/umd/descope-container-index-js.js +1 -0
  53. package/dist/umd/descope-date-picker-index-js.js +1 -0
  54. package/dist/umd/descope-divider-index-js.js +1 -0
  55. package/dist/umd/descope-email-field-index-js.js +1 -0
  56. package/dist/umd/descope-image-index-js.js +1 -0
  57. package/dist/umd/descope-link-index-js.js +1 -0
  58. package/dist/umd/descope-loader-linear-index-js.js +1 -0
  59. package/dist/umd/descope-loader-radial-index-js.js +1 -0
  60. package/dist/umd/descope-logo-index-js.js +1 -0
  61. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +1 -0
  62. package/dist/umd/descope-new-password-index-js.js +1 -0
  63. package/dist/umd/descope-number-field-index-js.js +1 -0
  64. package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js +1 -0
  65. package/dist/umd/descope-passcode-index-js.js +1 -0
  66. package/dist/umd/descope-password-index-js.js +1 -0
  67. package/dist/umd/descope-phone-field-descope-phone-field-internal-index-js.js +1 -0
  68. package/dist/umd/descope-phone-field-index-js.js +1 -0
  69. package/dist/umd/descope-text-area-index-js.js +1 -0
  70. package/dist/umd/descope-text-field-index-js.js +1 -0
  71. package/dist/umd/descope-text-index-js.js +1 -0
  72. package/dist/umd/descope-totp-image-index-js.js +1 -0
  73. package/dist/umd/descope-upload-file-index-js.js +1 -0
  74. package/dist/umd/index.js +1 -0
  75. package/package.json +1 -1
@@ -0,0 +1,229 @@
1
+ /*! For license information please see 7824.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[7824],{2223:(e,t,o)=>{o.d(t,{T8:()=>l}),o(7894);let n=!1,i=[],s=[];function r(){n=!0,requestAnimationFrame((function(){n=!1,function(e){for(;e.length;)a(e.shift())}(i),setTimeout((function(){!function(e){for(let t=0,o=e.length;t<o;t++)a(e.shift())}(s)}))}))}function a(e){const t=e[0],o=e[1],n=e[2];try{o.apply(t,n)}catch(e){setTimeout((()=>{throw e}))}}function l(e,t,o){n||r(),s.push([e,t,o])}},1037:(e,t,o)=>{o.d(t,{G6:()=>l,T:()=>d,gn:()=>a,vU:()=>s});const n=e=>e.test(navigator.userAgent),i=e=>e.test(navigator.platform);n(/Android/u),n(/Chrome/u)&&/Google Inc/u.test(navigator.vendor);const s=n(/Firefox/u),r=i(/^iPad/u)||i(/^Mac/u)&&navigator.maxTouchPoints>1,a=i(/^iPhone/u)||r,l=n(/^((?!chrome|android).)*safari/iu),d=(()=>{try{return document.createEvent("TouchEvent"),!0}catch(e){return!1}})()},9320:(e,t,o)=>{o.d(t,{u:()=>n});const n=e=>class extends e{static get properties(){return{overlayClass:{type:String},_overlayElement:{type:Object}}}static get observers(){return["__updateOverlayClassNames(overlayClass, _overlayElement)"]}__updateOverlayClassNames(e,t){if(!t)return;if(void 0===e)return;const{classList:o}=t;if(this.__initialClasses||(this.__initialClasses=new Set(o)),Array.isArray(this.__previousClasses)){const e=this.__previousClasses.filter((e=>!this.__initialClasses.has(e)));e.length>0&&o.remove(...e)}const n="string"==typeof e?e.split(" "):[];n.length>0&&o.add(...n),this.__previousClasses=n}}},262:(e,t,o)=>{function n(e){window.Vaadin&&window.Vaadin.templateRendererCallback?window.Vaadin.templateRendererCallback(e):e.querySelector("template")&&console.warn(`WARNING: <template> inside <${e.localName}> is no longer supported. Import @vaadin/polymer-legacy-adapter/template-renderer.js to enable compatibility.`)}o.d(t,{k:()=>n})},9580:(e,t,o)=>{o.d(t,{B:()=>n});class n{constructor(e){this.host=e,e.addEventListener("opened-changed",(()=>{e.opened||this.__setVirtualKeyboardEnabled(!1)})),e.addEventListener("blur",(()=>this.__setVirtualKeyboardEnabled(!0))),e.addEventListener("touchstart",(()=>this.__setVirtualKeyboardEnabled(!0)))}__setVirtualKeyboardEnabled(e){this.host.inputElement&&(this.host.inputElement.inputMode=e?"":"none")}}},3373:(e,t,o)=>{o.d(t,{y:()=>a});var n=o(3726);const i={start:"top",end:"bottom"},s={start:"left",end:"right"},r=new ResizeObserver((e=>{setTimeout((()=>{e.forEach((e=>{e.target.__overlay&&e.target.__overlay._updatePosition()}))}))})),a=e=>class extends e{static get properties(){return{positionTarget:{type:Object,value:null},horizontalAlign:{type:String,value:"start"},verticalAlign:{type:String,value:"top"},noHorizontalOverlap:{type:Boolean,value:!1},noVerticalOverlap:{type:Boolean,value:!1},requiredVerticalSpace:{type:Number,value:0}}}static get observers(){return["__positionSettingsChanged(horizontalAlign, verticalAlign, noHorizontalOverlap, noVerticalOverlap, requiredVerticalSpace)","__overlayOpenedChanged(opened, positionTarget)"]}constructor(){super(),this.__onScroll=this.__onScroll.bind(this),this._updatePosition=this._updatePosition.bind(this)}connectedCallback(){super.connectedCallback(),this.opened&&this.__addUpdatePositionEventListeners()}disconnectedCallback(){super.disconnectedCallback(),this.__removeUpdatePositionEventListeners()}__addUpdatePositionEventListeners(){window.addEventListener("resize",this._updatePosition),this.__positionTargetAncestorRootNodes=(0,n.AD)(this.positionTarget),this.__positionTargetAncestorRootNodes.forEach((e=>{e.addEventListener("scroll",this.__onScroll,!0)}))}__removeUpdatePositionEventListeners(){window.removeEventListener("resize",this._updatePosition),this.__positionTargetAncestorRootNodes&&(this.__positionTargetAncestorRootNodes.forEach((e=>{e.removeEventListener("scroll",this.__onScroll,!0)})),this.__positionTargetAncestorRootNodes=null)}__overlayOpenedChanged(e,t){if(this.__removeUpdatePositionEventListeners(),t&&(t.__overlay=null,r.unobserve(t),e&&(this.__addUpdatePositionEventListeners(),t.__overlay=this,r.observe(t))),e){const e=getComputedStyle(this);this.__margins||(this.__margins={},["top","bottom","left","right"].forEach((t=>{this.__margins[t]=parseInt(e[t],10)}))),this.setAttribute("dir",e.direction),this._updatePosition(),requestAnimationFrame((()=>this._updatePosition()))}}__positionSettingsChanged(){this._updatePosition()}__onScroll(e){this.contains(e.target)||this._updatePosition()}_updatePosition(){if(!this.positionTarget||!this.opened)return;const e=this.positionTarget.getBoundingClientRect(),t=this.__shouldAlignStartVertically(e);this.style.justifyContent=t?"flex-start":"flex-end";const o=this.__isRTL,n=this.__shouldAlignStartHorizontally(e,o),r=!o&&n||o&&!n;this.style.alignItems=r?"flex-start":"flex-end";const a=this.getBoundingClientRect(),l=this.__calculatePositionInOneDimension(e,a,this.noVerticalOverlap,i,this,t),d=this.__calculatePositionInOneDimension(e,a,this.noHorizontalOverlap,s,this,n);Object.assign(this.style,l,d),this.toggleAttribute("bottom-aligned",!t),this.toggleAttribute("top-aligned",t),this.toggleAttribute("end-aligned",!r),this.toggleAttribute("start-aligned",r)}__shouldAlignStartHorizontally(e,t){const o=Math.max(this.__oldContentWidth||0,this.$.overlay.offsetWidth);this.__oldContentWidth=this.$.overlay.offsetWidth;const n=Math.min(window.innerWidth,document.documentElement.clientWidth),i=!t&&"start"===this.horizontalAlign||t&&"end"===this.horizontalAlign;return this.__shouldAlignStart(e,o,n,this.__margins,i,this.noHorizontalOverlap,s)}__shouldAlignStartVertically(e){const t=this.requiredVerticalSpace||Math.max(this.__oldContentHeight||0,this.$.overlay.offsetHeight);this.__oldContentHeight=this.$.overlay.offsetHeight;const o=Math.min(window.innerHeight,document.documentElement.clientHeight),n="top"===this.verticalAlign;return this.__shouldAlignStart(e,t,o,this.__margins,n,this.noVerticalOverlap,i)}__shouldAlignStart(e,t,o,n,i,s,r){const a=o-e[s?r.end:r.start]-n[r.end],l=e[s?r.start:r.end]-n[r.start],d=i?a:l;return i===(d>(i?l:a)||d>t)}__adjustBottomProperty(e,t,o){let n;if(e===t.end){if(t.end===i.end){const e=Math.min(window.innerHeight,document.documentElement.clientHeight);o>e&&this.__oldViewportHeight&&(n=o-(this.__oldViewportHeight-e)),this.__oldViewportHeight=e}if(t.end===s.end){const e=Math.min(window.innerWidth,document.documentElement.clientWidth);o>e&&this.__oldViewportWidth&&(n=o-(this.__oldViewportWidth-e)),this.__oldViewportWidth=e}}return n}__calculatePositionInOneDimension(e,t,o,n,i,s){const r=s?n.start:n.end,a=s?n.end:n.start,l=parseFloat(i.style[r]||getComputedStyle(i)[r]),d=this.__adjustBottomProperty(r,n,l),h=t[s?n.start:n.end]-e[o===s?n.end:n.start];return{[r]:d?`${d}px`:`${l+h*(s?-1:1)}px`,[a]:""}}}},8813:(e,t,o)=>{o.d(t,{a:()=>p});var n=o(2223),i=o(4241),s=o(1037),r=o(6155),a=o(1914),l=o(4530);const d=[];class h{constructor(e){this.host=e,this.__trapNode=null,this.__onKeyDown=this.__onKeyDown.bind(this)}get __focusableElements(){return(0,l.GO)(this.__trapNode)}get __focusedElementIndex(){const e=this.__focusableElements;return e.indexOf(e.filter(l.Qw).pop())}hostConnected(){document.addEventListener("keydown",this.__onKeyDown)}hostDisconnected(){document.removeEventListener("keydown",this.__onKeyDown)}trapFocus(e){if(this.__trapNode=e,0===this.__focusableElements.length)throw this.__trapNode=null,new Error("The trap node should have at least one focusable descendant or be focusable itself.");d.push(this),-1===this.__focusedElementIndex&&this.__focusableElements[0].focus()}releaseFocus(){this.__trapNode=null,d.pop()}__onKeyDown(e){if(this.__trapNode&&this===Array.from(d).pop()&&"Tab"===e.key){e.preventDefault();const t=e.shiftKey;this.__focusNextElement(t)}}__focusNextElement(e=!1){const t=this.__focusableElements,o=e?-1:1,n=this.__focusedElementIndex,i=t[(t.length+n+o)%t.length];i.focus(),"input"===i.localName&&i.select()}}var c=o(262),u=o(5128);class p extends((0,u.Tb)((0,a.U)((0,r.k)(i.H3)))){static get template(){return i.dy`
3
+ <style>
4
+ :host {
5
+ z-index: 200;
6
+ position: fixed;
7
+
8
+ /* Despite of what the names say, <vaadin-overlay> is just a container
9
+ for position/sizing/alignment. The actual overlay is the overlay part. */
10
+
11
+ /* Default position constraints: the entire viewport. Note: themes can
12
+ override this to introduce gaps between the overlay and the viewport. */
13
+ top: 0;
14
+ right: 0;
15
+ bottom: var(--vaadin-overlay-viewport-bottom);
16
+ left: 0;
17
+
18
+ /* Use flexbox alignment for the overlay part. */
19
+ display: flex;
20
+ flex-direction: column; /* makes dropdowns sizing easier */
21
+ /* Align to center by default. */
22
+ align-items: center;
23
+ justify-content: center;
24
+
25
+ /* Allow centering when max-width/max-height applies. */
26
+ margin: auto;
27
+
28
+ /* The host is not clickable, only the overlay part is. */
29
+ pointer-events: none;
30
+
31
+ /* Remove tap highlight on touch devices. */
32
+ -webkit-tap-highlight-color: transparent;
33
+
34
+ /* CSS API for host */
35
+ --vaadin-overlay-viewport-bottom: 0;
36
+ }
37
+
38
+ :host([hidden]),
39
+ :host(:not([opened]):not([closing])) {
40
+ display: none !important;
41
+ }
42
+
43
+ [part='overlay'] {
44
+ -webkit-overflow-scrolling: touch;
45
+ overflow: auto;
46
+ pointer-events: auto;
47
+
48
+ /* Prevent overflowing the host in MSIE 11 */
49
+ max-width: 100%;
50
+ box-sizing: border-box;
51
+
52
+ -webkit-tap-highlight-color: initial; /* reenable tap highlight inside */
53
+ }
54
+
55
+ [part='backdrop'] {
56
+ z-index: -1;
57
+ content: '';
58
+ background: rgba(0, 0, 0, 0.5);
59
+ position: fixed;
60
+ top: 0;
61
+ left: 0;
62
+ bottom: 0;
63
+ right: 0;
64
+ pointer-events: auto;
65
+ }
66
+ </style>
67
+
68
+ <div id="backdrop" part="backdrop" hidden$="[[!withBackdrop]]"></div>
69
+ <div part="overlay" id="overlay" tabindex="0">
70
+ <div part="content" id="content">
71
+ <slot></slot>
72
+ </div>
73
+ </div>
74
+ `}static get is(){return"vaadin-overlay"}static get properties(){return{opened:{type:Boolean,notify:!0,observer:"_openedChanged",reflectToAttribute:!0},owner:Element,renderer:Function,withBackdrop:{type:Boolean,value:!1,reflectToAttribute:!0},model:Object,modeless:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"_modelessChanged"},hidden:{type:Boolean,reflectToAttribute:!0,observer:"_hiddenChanged"},focusTrap:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!1},restoreFocusNode:{type:HTMLElement},_mouseDownInside:{type:Boolean},_mouseUpInside:{type:Boolean},_oldOwner:Element,_oldModel:Object,_oldRenderer:Object,_oldOpened:Boolean}}static get observers(){return["_rendererOrDataChanged(renderer, owner, model, opened)"]}static get __attachedInstances(){return Array.from(document.body.children).filter((e=>e instanceof p&&!e.hasAttribute("closing"))).sort(((e,t)=>e.__zIndex-t.__zIndex||0))}constructor(){super(),this._boundMouseDownListener=this._mouseDownListener.bind(this),this._boundMouseUpListener=this._mouseUpListener.bind(this),this._boundOutsideClickListener=this._outsideClickListener.bind(this),this._boundKeydownListener=this._keydownListener.bind(this),s.gn&&(this._boundIosResizeListener=()=>this._detectIosNavbar()),this.__focusTrapController=new h(this)}get _last(){return this===p.__attachedInstances.pop()}ready(){super.ready(),this.addEventListener("click",(()=>{})),this.$.backdrop.addEventListener("click",(()=>{})),this.addController(this.__focusTrapController),(0,c.k)(this)}_detectIosNavbar(){if(!this.opened)return;const e=window.innerHeight,t=window.innerWidth>e,o=document.documentElement.clientHeight;t&&o>e?this.style.setProperty("--vaadin-overlay-viewport-bottom",o-e+"px"):this.style.setProperty("--vaadin-overlay-viewport-bottom","0")}close(e){const t=new CustomEvent("vaadin-overlay-close",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),t.defaultPrevented||(this.opened=!1)}connectedCallback(){super.connectedCallback(),this._boundIosResizeListener&&(this._detectIosNavbar(),window.addEventListener("resize",this._boundIosResizeListener))}disconnectedCallback(){super.disconnectedCallback(),this._boundIosResizeListener&&window.removeEventListener("resize",this._boundIosResizeListener)}requestContentUpdate(){this.renderer&&this.renderer.call(this.owner,this,this.owner,this.model)}_mouseDownListener(e){this._mouseDownInside=e.composedPath().indexOf(this.$.overlay)>=0}_mouseUpListener(e){this._mouseUpInside=e.composedPath().indexOf(this.$.overlay)>=0}_shouldCloseOnOutsideClick(e){return this._last}_outsideClickListener(e){if(e.composedPath().includes(this.$.overlay)||this._mouseDownInside||this._mouseUpInside)return this._mouseDownInside=!1,void(this._mouseUpInside=!1);if(!this._shouldCloseOnOutsideClick(e))return;const t=new CustomEvent("vaadin-overlay-outside-click",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),this.opened&&!t.defaultPrevented&&this.close(e)}_keydownListener(e){if(this._last&&(!this.modeless||e.composedPath().includes(this.$.overlay))&&"Escape"===e.key){const t=new CustomEvent("vaadin-overlay-escape-press",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),this.opened&&!t.defaultPrevented&&this.close(e)}}_openedChanged(e,t){e?(this.__restoreFocusNode=this._getActiveElement(),this._animatedOpening(),(0,n.T8)(this,(()=>{this.focusTrap&&this.__focusTrapController.trapFocus(this.$.overlay);const e=new CustomEvent("vaadin-overlay-open",{bubbles:!0});this.dispatchEvent(e)})),document.addEventListener("keydown",this._boundKeydownListener),this.modeless||this._addGlobalListeners()):t&&(this.focusTrap&&this.__focusTrapController.releaseFocus(),this._animatedClosing(),document.removeEventListener("keydown",this._boundKeydownListener),this.modeless||this._removeGlobalListeners())}_hiddenChanged(e){e&&this.hasAttribute("closing")&&this._flushAnimation("closing")}_shouldAnimate(){const e=getComputedStyle(this),t=e.getPropertyValue("animation-name");return!("none"===e.getPropertyValue("display"))&&t&&"none"!==t}_enqueueAnimation(e,t){const o=`__${e}Handler`,n=e=>{e&&e.target!==this||(t(),this.removeEventListener("animationend",n),delete this[o])};this[o]=n,this.addEventListener("animationend",n)}_flushAnimation(e){const t=`__${e}Handler`;"function"==typeof this[t]&&this[t]()}_animatedOpening(){this.parentNode===document.body&&this.hasAttribute("closing")&&this._flushAnimation("closing"),this._attachOverlay(),this.modeless||this._enterModalState(),this.setAttribute("opening",""),this._shouldAnimate()?this._enqueueAnimation("opening",(()=>{this._finishOpening()})):this._finishOpening()}_attachOverlay(){this._placeholder=document.createComment("vaadin-overlay-placeholder"),this.parentNode.insertBefore(this._placeholder,this),document.body.appendChild(this),this.bringToFront()}_finishOpening(){this.removeAttribute("opening")}_finishClosing(){this._detachOverlay(),this.$.overlay.style.removeProperty("pointer-events"),this.removeAttribute("closing"),this.dispatchEvent(new CustomEvent("vaadin-overlay-closed"))}_animatedClosing(){if(this.hasAttribute("opening")&&this._flushAnimation("opening"),this._placeholder){this._exitModalState();const e=this.restoreFocusNode||this.__restoreFocusNode;if(this.restoreFocusOnClose&&e){const t=this._getActiveElement();(t===document.body||this._deepContains(t))&&setTimeout((()=>e.focus())),this.__restoreFocusNode=null}this.setAttribute("closing",""),this.dispatchEvent(new CustomEvent("vaadin-overlay-closing")),this._shouldAnimate()?this._enqueueAnimation("closing",(()=>{this._finishClosing()})):this._finishClosing()}}_detachOverlay(){this._placeholder.parentNode.insertBefore(this,this._placeholder),this._placeholder.parentNode.removeChild(this._placeholder)}_modelessChanged(e){e?(this._removeGlobalListeners(),this._exitModalState()):this.opened&&(this._addGlobalListeners(),this._enterModalState())}_addGlobalListeners(){document.addEventListener("mousedown",this._boundMouseDownListener),document.addEventListener("mouseup",this._boundMouseUpListener),document.documentElement.addEventListener("click",this._boundOutsideClickListener,!0)}_enterModalState(){"none"!==document.body.style.pointerEvents&&(this._previousDocumentPointerEvents=document.body.style.pointerEvents,document.body.style.pointerEvents="none"),p.__attachedInstances.forEach((e=>{e!==this&&(e.shadowRoot.querySelector('[part="overlay"]').style.pointerEvents="none")}))}_removeGlobalListeners(){document.removeEventListener("mousedown",this._boundMouseDownListener),document.removeEventListener("mouseup",this._boundMouseUpListener),document.documentElement.removeEventListener("click",this._boundOutsideClickListener,!0)}_exitModalState(){void 0!==this._previousDocumentPointerEvents&&(document.body.style.pointerEvents=this._previousDocumentPointerEvents,delete this._previousDocumentPointerEvents);const e=p.__attachedInstances;let t;for(;(t=e.pop())&&(t===this||(t.shadowRoot.querySelector('[part="overlay"]').style.removeProperty("pointer-events"),t.modeless)););}_rendererOrDataChanged(e,t,o,n){const i=this._oldOwner!==t||this._oldModel!==o;this._oldModel=o,this._oldOwner=t;const s=this._oldRenderer!==e;this._oldRenderer=e;const r=this._oldOpened!==n;this._oldOpened=n,s&&(this.innerHTML="",delete this._$litPart$),n&&e&&(s||r||i)&&this.requestContentUpdate()}_getActiveElement(){let e=document.activeElement||document.body;for(;e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;return e}_deepContains(e){if(this.contains(e))return!0;let t=e;const o=e.ownerDocument;for(;t&&t!==o&&t!==this;)t=t.parentNode||t.host;return t===this}bringToFront(){let e="";const t=p.__attachedInstances.filter((e=>e!==this)).pop();t&&(e=t.__zIndex+1),this.style.zIndex=e,this.__zIndex=e||parseFloat(getComputedStyle(this).zIndex)}}customElements.define(p.is,p)},6687:(e,t,o)=>{var n=o(510);(0,o(5128).hC)("vaadin-overlay",n.I,{moduleId:"lumo-vaadin-overlay"}),o(8813)},6754:(e,t,o)=>{o.d(t,{L:()=>a,e:()=>s}),o(9416),o(9849);var n=o(5128),i=o(510);const s=n.iv`
75
+ :host([opening]),
76
+ :host([closing]) {
77
+ animation: 0.14s lumo-overlay-dummy-animation;
78
+ }
79
+
80
+ [part='overlay'] {
81
+ will-change: opacity, transform;
82
+ }
83
+
84
+ :host([opening]) [part='overlay'] {
85
+ animation: 0.1s lumo-menu-overlay-enter ease-out both;
86
+ }
87
+
88
+ @keyframes lumo-menu-overlay-enter {
89
+ 0% {
90
+ opacity: 0;
91
+ transform: translateY(-4px);
92
+ }
93
+ }
94
+
95
+ :host([closing]) [part='overlay'] {
96
+ animation: 0.1s lumo-menu-overlay-exit both;
97
+ }
98
+
99
+ @keyframes lumo-menu-overlay-exit {
100
+ 100% {
101
+ opacity: 0;
102
+ }
103
+ }
104
+ `;(0,n.hC)("",s,{moduleId:"lumo-menu-overlay-core"});const r=n.iv`
105
+ /* Small viewport (bottom sheet) styles */
106
+ /* Use direct media queries instead of the state attributes ([phone] and [fullscreen]) provided by the elements */
107
+ @media (max-width: 420px), (max-height: 420px) {
108
+ :host {
109
+ top: 0 !important;
110
+ right: 0 !important;
111
+ bottom: var(--vaadin-overlay-viewport-bottom, 0) !important;
112
+ left: 0 !important;
113
+ align-items: stretch !important;
114
+ justify-content: flex-end !important;
115
+ }
116
+
117
+ [part='overlay'] {
118
+ max-height: 50vh;
119
+ width: 100vw;
120
+ border-radius: 0;
121
+ box-shadow: var(--lumo-box-shadow-xl);
122
+ }
123
+
124
+ /* The content part scrolls instead of the overlay part, because of the gradient fade-out */
125
+ [part='content'] {
126
+ padding: 30px var(--lumo-space-m);
127
+ max-height: inherit;
128
+ box-sizing: border-box;
129
+ -webkit-overflow-scrolling: touch;
130
+ overflow: auto;
131
+ -webkit-mask-image: linear-gradient(transparent, #000 40px, #000 calc(100% - 40px), transparent);
132
+ mask-image: linear-gradient(transparent, #000 40px, #000 calc(100% - 40px), transparent);
133
+ }
134
+
135
+ [part='backdrop'] {
136
+ display: block;
137
+ }
138
+
139
+ /* Animations */
140
+
141
+ :host([opening]) [part='overlay'] {
142
+ animation: 0.2s lumo-mobile-menu-overlay-enter cubic-bezier(0.215, 0.61, 0.355, 1) both;
143
+ }
144
+
145
+ :host([closing]),
146
+ :host([closing]) [part='backdrop'] {
147
+ animation-delay: 0.14s;
148
+ }
149
+
150
+ :host([closing]) [part='overlay'] {
151
+ animation: 0.14s 0.14s lumo-mobile-menu-overlay-exit cubic-bezier(0.55, 0.055, 0.675, 0.19) both;
152
+ }
153
+ }
154
+
155
+ @keyframes lumo-mobile-menu-overlay-enter {
156
+ 0% {
157
+ transform: translateY(150%);
158
+ }
159
+ }
160
+
161
+ @keyframes lumo-mobile-menu-overlay-exit {
162
+ 100% {
163
+ transform: translateY(150%);
164
+ }
165
+ }
166
+ `,a=[i.I,s,r];(0,n.hC)("",a,{moduleId:"lumo-menu-overlay"})},510:(e,t,o)=>{o.d(t,{I:()=>i}),o(1195),o(9416),o(9849),o(4173);var n=o(5128);const i=n.iv`
167
+ :host {
168
+ top: var(--lumo-space-m);
169
+ right: var(--lumo-space-m);
170
+ bottom: var(--lumo-space-m);
171
+ left: var(--lumo-space-m);
172
+ /* Workaround for Edge issue (only on Surface), where an overflowing vaadin-list-box inside vaadin-select-overlay makes the overlay transparent */
173
+ /* stylelint-disable-next-line */
174
+ outline: 0px solid transparent;
175
+ }
176
+
177
+ [part='overlay'] {
178
+ background-color: var(--lumo-base-color);
179
+ background-image: linear-gradient(var(--lumo-tint-5pct), var(--lumo-tint-5pct));
180
+ border-radius: var(--lumo-border-radius-m);
181
+ box-shadow: 0 0 0 1px var(--lumo-shade-5pct), var(--lumo-box-shadow-m);
182
+ color: var(--lumo-body-text-color);
183
+ font-family: var(--lumo-font-family);
184
+ font-size: var(--lumo-font-size-m);
185
+ font-weight: 400;
186
+ line-height: var(--lumo-line-height-m);
187
+ letter-spacing: 0;
188
+ text-transform: none;
189
+ -webkit-text-size-adjust: 100%;
190
+ -webkit-font-smoothing: antialiased;
191
+ -moz-osx-font-smoothing: grayscale;
192
+ }
193
+
194
+ [part='content'] {
195
+ padding: var(--lumo-space-xs);
196
+ }
197
+
198
+ [part='backdrop'] {
199
+ background-color: var(--lumo-shade-20pct);
200
+ animation: 0.2s lumo-overlay-backdrop-enter both;
201
+ will-change: opacity;
202
+ }
203
+
204
+ @keyframes lumo-overlay-backdrop-enter {
205
+ 0% {
206
+ opacity: 0;
207
+ }
208
+ }
209
+
210
+ :host([closing]) [part='backdrop'] {
211
+ animation: 0.2s lumo-overlay-backdrop-exit both;
212
+ }
213
+
214
+ @keyframes lumo-overlay-backdrop-exit {
215
+ 100% {
216
+ opacity: 0;
217
+ }
218
+ }
219
+
220
+ @keyframes lumo-overlay-dummy-animation {
221
+ 0% {
222
+ opacity: 1;
223
+ }
224
+
225
+ 100% {
226
+ opacity: 1;
227
+ }
228
+ }
229
+ `;(0,n.hC)("",i,{moduleId:"lumo-overlay"})}}]);
@@ -0,0 +1,27 @@
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
+ */
12
+
13
+ /**
14
+ * @license
15
+ * Copyright (c) 2023 Vaadin Ltd.
16
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
17
+ */
18
+
19
+ /**
20
+ @license
21
+ Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
22
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
23
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
24
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
25
+ Code distributed by Google as part of the polymer project is also
26
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
27
+ */
@@ -0,0 +1,37 @@
1
+ /*! For license information please see 8725.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[8725],{8005:(t,e,s)=>{s.d(e,{n:()=>h}),s(3130);var i=s(4241),r=s(2521),l=s(4463),n=s(2743),a=s(5128),o=s(3208),d=s(422),p=s(6729);const u=t=>class extends((0,d.j)(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 o.b(this,(t=>{this._setInputElement(t),this._setFocusElement(t),this.stateTarget=t,this.ariaTarget=t}))),this.addController(new p.v(this.inputElement,this._labelController))}};(0,a.hC)("vaadin-text-field",n.J,{moduleId:"vaadin-text-field-styles"});class h extends(u((0,a.Tb)((0,r.S)(i.H3)))){static get is(){return"vaadin-text-field"}static get template(){return i.dy`
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.f(this),this._tooltipController.setPosition("top"),this.addController(this._tooltipController)}}customElements.define(h.is,h)},8725:(t,e,s)=>{s(3787);var i=s(2279);(0,s(5128).hC)("vaadin-text-field",i.J,{moduleId:"lumo-text-field-styles"}),s(8005)}}]);
@@ -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
+ */
@@ -0,0 +1,312 @@
1
+ /*! For license information please see 9211.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[9211],{7078:(t,e,o)=>{o.d(e,{z:()=>p});var r=o(4241),i=o(6155),a=o(2521),n=o(4463),s=o(5128);const l=o(9897).iv`
3
+ :host {
4
+ display: inline-block;
5
+ position: relative;
6
+ outline: none;
7
+ white-space: nowrap;
8
+ -webkit-user-select: none;
9
+ -moz-user-select: none;
10
+ user-select: none;
11
+ }
12
+
13
+ :host([hidden]) {
14
+ display: none !important;
15
+ }
16
+
17
+ /* Aligns the button with form fields when placed on the same line.
18
+ Note, to make it work, the form fields should have the same "::before" pseudo-element. */
19
+ .vaadin-button-container::before {
20
+ content: '\\2003';
21
+ display: inline-block;
22
+ width: 0;
23
+ max-height: 100%;
24
+ }
25
+
26
+ .vaadin-button-container {
27
+ display: inline-flex;
28
+ align-items: center;
29
+ justify-content: center;
30
+ text-align: center;
31
+ width: 100%;
32
+ height: 100%;
33
+ min-height: inherit;
34
+ text-shadow: inherit;
35
+ }
36
+
37
+ [part='prefix'],
38
+ [part='suffix'] {
39
+ flex: none;
40
+ }
41
+
42
+ [part='label'] {
43
+ white-space: nowrap;
44
+ overflow: hidden;
45
+ text-overflow: ellipsis;
46
+ }
47
+ `;var c=o(5767),m=o(2527),h=o(4062);const u=t=>class extends((0,c.D)((0,h.N)((0,m.W)(t)))){static get properties(){return{tabindex:{type:Number,value:0,reflectToAttribute:!0}}}get _activeKeys(){return["Enter"," "]}ready(){super.ready(),this.hasAttribute("role")||this.setAttribute("role","button")}_onKeyDown(t){super._onKeyDown(t),this._activeKeys.includes(t.key)&&(t.preventDefault(),this.click())}};(0,s.hC)("vaadin-button",l,{moduleId:"vaadin-button-styles"});class p extends(u((0,a.S)((0,s.Tb)((0,i.k)(r.H3))))){static get is(){return"vaadin-button"}static get template(){return r.dy`
48
+ <div class="vaadin-button-container">
49
+ <span part="prefix" aria-hidden="true">
50
+ <slot name="prefix"></slot>
51
+ </span>
52
+ <span part="label">
53
+ <slot></slot>
54
+ </span>
55
+ <span part="suffix" aria-hidden="true">
56
+ <slot name="suffix"></slot>
57
+ </span>
58
+ </div>
59
+ <slot name="tooltip"></slot>
60
+ `}ready(){super.ready(),this._tooltipController=new n.f(this),this.addController(this._tooltipController)}}customElements.define(p.is,p)},4750:(t,e,o)=>{o.d(e,{L:()=>i}),o(1195),o(9098),o(9416),o(9849),o(4173);var r=o(5128);const i=r.iv`
61
+ :host {
62
+ /* Sizing */
63
+ --lumo-button-size: var(--lumo-size-m);
64
+ min-width: calc(var(--lumo-button-size) * 2);
65
+ height: var(--lumo-button-size);
66
+ padding: 0 calc(var(--lumo-button-size) / 3 + var(--lumo-border-radius-m) / 2);
67
+ margin: var(--lumo-space-xs) 0;
68
+ box-sizing: border-box;
69
+ /* Style */
70
+ font-family: var(--lumo-font-family);
71
+ font-size: var(--lumo-font-size-m);
72
+ font-weight: 500;
73
+ color: var(--_lumo-button-color, var(--lumo-primary-text-color));
74
+ background-color: var(--_lumo-button-background-color, var(--lumo-contrast-5pct));
75
+ border-radius: var(--lumo-border-radius-m);
76
+ cursor: var(--lumo-clickable-cursor);
77
+ -webkit-tap-highlight-color: transparent;
78
+ -webkit-font-smoothing: antialiased;
79
+ -moz-osx-font-smoothing: grayscale;
80
+ flex-shrink: 0;
81
+ }
82
+
83
+ /* Set only for the internal parts so we don't affect the host vertical alignment */
84
+ [part='label'],
85
+ [part='prefix'],
86
+ [part='suffix'] {
87
+ line-height: var(--lumo-line-height-xs);
88
+ }
89
+
90
+ [part='label'] {
91
+ padding: calc(var(--lumo-button-size) / 6) 0;
92
+ }
93
+
94
+ :host([theme~='small']) {
95
+ font-size: var(--lumo-font-size-s);
96
+ --lumo-button-size: var(--lumo-size-s);
97
+ }
98
+
99
+ :host([theme~='large']) {
100
+ font-size: var(--lumo-font-size-l);
101
+ --lumo-button-size: var(--lumo-size-l);
102
+ }
103
+
104
+ /* For interaction states */
105
+ :host::before,
106
+ :host::after {
107
+ content: '';
108
+ /* We rely on the host always being relative */
109
+ position: absolute;
110
+ z-index: 1;
111
+ top: 0;
112
+ right: 0;
113
+ bottom: 0;
114
+ left: 0;
115
+ background-color: currentColor;
116
+ border-radius: inherit;
117
+ opacity: 0;
118
+ pointer-events: none;
119
+ }
120
+
121
+ /* Hover */
122
+
123
+ @media (any-hover: hover) {
124
+ :host(:hover)::before {
125
+ opacity: 0.02;
126
+ }
127
+ }
128
+
129
+ /* Active */
130
+
131
+ :host::after {
132
+ transition: opacity 1.4s, transform 0.1s;
133
+ filter: blur(8px);
134
+ }
135
+
136
+ :host([active])::before {
137
+ opacity: 0.05;
138
+ transition-duration: 0s;
139
+ }
140
+
141
+ :host([active])::after {
142
+ opacity: 0.1;
143
+ transition-duration: 0s, 0s;
144
+ transform: scale(0);
145
+ }
146
+
147
+ /* Keyboard focus */
148
+
149
+ :host([focus-ring]) {
150
+ box-shadow: 0 0 0 2px var(--lumo-primary-color-50pct);
151
+ }
152
+
153
+ :host([theme~='primary'][focus-ring]) {
154
+ box-shadow: 0 0 0 1px var(--lumo-base-color), 0 0 0 3px var(--lumo-primary-color-50pct);
155
+ }
156
+
157
+ /* Types (primary, tertiary, tertiary-inline */
158
+
159
+ :host([theme~='tertiary']),
160
+ :host([theme~='tertiary-inline']) {
161
+ background-color: transparent !important;
162
+ min-width: 0;
163
+ }
164
+
165
+ :host([theme~='tertiary']) {
166
+ padding: 0 calc(var(--lumo-button-size) / 6);
167
+ }
168
+
169
+ :host([theme~='tertiary-inline'])::before {
170
+ display: none;
171
+ }
172
+
173
+ :host([theme~='tertiary-inline']) {
174
+ margin: 0;
175
+ height: auto;
176
+ padding: 0;
177
+ line-height: inherit;
178
+ font-size: inherit;
179
+ }
180
+
181
+ :host([theme~='tertiary-inline']) [part='label'] {
182
+ padding: 0;
183
+ overflow: visible;
184
+ line-height: inherit;
185
+ }
186
+
187
+ :host([theme~='primary']) {
188
+ background-color: var(--_lumo-button-primary-background-color, var(--lumo-primary-color));
189
+ color: var(--_lumo-button-primary-color, var(--lumo-primary-contrast-color));
190
+ font-weight: 600;
191
+ min-width: calc(var(--lumo-button-size) * 2.5);
192
+ }
193
+
194
+ :host([theme~='primary'])::before {
195
+ background-color: black;
196
+ }
197
+
198
+ @media (any-hover: hover) {
199
+ :host([theme~='primary']:hover)::before {
200
+ opacity: 0.05;
201
+ }
202
+ }
203
+
204
+ :host([theme~='primary'][active])::before {
205
+ opacity: 0.1;
206
+ }
207
+
208
+ :host([theme~='primary'][active])::after {
209
+ opacity: 0.2;
210
+ }
211
+
212
+ /* Colors (success, error, contrast) */
213
+
214
+ :host([theme~='success']) {
215
+ color: var(--lumo-success-text-color);
216
+ }
217
+
218
+ :host([theme~='success'][theme~='primary']) {
219
+ background-color: var(--lumo-success-color);
220
+ color: var(--lumo-success-contrast-color);
221
+ }
222
+
223
+ :host([theme~='error']) {
224
+ color: var(--lumo-error-text-color);
225
+ }
226
+
227
+ :host([theme~='error'][theme~='primary']) {
228
+ background-color: var(--lumo-error-color);
229
+ color: var(--lumo-error-contrast-color);
230
+ }
231
+
232
+ :host([theme~='contrast']) {
233
+ color: var(--lumo-contrast);
234
+ }
235
+
236
+ :host([theme~='contrast'][theme~='primary']) {
237
+ background-color: var(--lumo-contrast);
238
+ color: var(--lumo-base-color);
239
+ }
240
+
241
+ /* Disabled state. Keep selectors after other color variants. */
242
+
243
+ :host([disabled]) {
244
+ pointer-events: none;
245
+ color: var(--lumo-disabled-text-color);
246
+ }
247
+
248
+ :host([theme~='primary'][disabled]) {
249
+ background-color: var(--lumo-contrast-30pct);
250
+ color: var(--lumo-base-color);
251
+ }
252
+
253
+ :host([theme~='primary'][disabled]) [part] {
254
+ opacity: 0.7;
255
+ }
256
+
257
+ /* Icons */
258
+
259
+ [part] ::slotted(vaadin-icon) {
260
+ display: inline-block;
261
+ width: var(--lumo-icon-size-m);
262
+ height: var(--lumo-icon-size-m);
263
+ }
264
+
265
+ /* Vaadin icons are based on a 16x16 grid (unlike Lumo and Material icons with 24x24), so they look too big by default */
266
+ [part] ::slotted(vaadin-icon[icon^='vaadin:']) {
267
+ padding: 0.25em;
268
+ box-sizing: border-box !important;
269
+ }
270
+
271
+ [part='prefix'] {
272
+ margin-left: -0.25em;
273
+ margin-right: 0.25em;
274
+ }
275
+
276
+ [part='suffix'] {
277
+ margin-left: 0.25em;
278
+ margin-right: -0.25em;
279
+ }
280
+
281
+ /* Icon-only */
282
+
283
+ :host([theme~='icon']:not([theme~='tertiary-inline'])) {
284
+ min-width: var(--lumo-button-size);
285
+ padding-left: calc(var(--lumo-button-size) / 4);
286
+ padding-right: calc(var(--lumo-button-size) / 4);
287
+ }
288
+
289
+ :host([theme~='icon']) [part='prefix'],
290
+ :host([theme~='icon']) [part='suffix'] {
291
+ margin-left: 0;
292
+ margin-right: 0;
293
+ }
294
+
295
+ /* RTL specific styles */
296
+
297
+ :host([dir='rtl']) [part='prefix'] {
298
+ margin-left: 0.25em;
299
+ margin-right: -0.25em;
300
+ }
301
+
302
+ :host([dir='rtl']) [part='suffix'] {
303
+ margin-left: -0.25em;
304
+ margin-right: 0.25em;
305
+ }
306
+
307
+ :host([dir='rtl'][theme~='icon']) [part='prefix'],
308
+ :host([dir='rtl'][theme~='icon']) [part='suffix'] {
309
+ margin-left: 0;
310
+ margin-right: 0;
311
+ }
312
+ `;(0,r.hC)("vaadin-button",i,{moduleId:"lumo-button"})}}]);
@@ -0,0 +1,5 @@
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
+ */