@descope/web-components-ui 2.2.23 → 2.2.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/umd/1408.js +2 -2
- package/dist/umd/1453.js +177 -0
- package/dist/umd/{1995.js.LICENSE.txt → 1453.js.LICENSE.txt} +6 -0
- package/dist/umd/1453.js.map +1 -0
- package/dist/umd/1899.js +2 -2
- package/dist/umd/2562.js +3 -0
- package/dist/umd/2562.js.map +1 -0
- package/dist/umd/3620.js +3 -3
- package/dist/umd/4518.js +3 -3
- package/dist/umd/4550.js +2 -2
- package/dist/umd/4623.js +1 -1
- package/dist/umd/4914.js +1 -1
- package/dist/umd/4914.js.map +1 -1
- package/dist/umd/5260.js +2 -2
- package/dist/umd/5263.js +498 -0
- package/dist/umd/5263.js.LICENSE.txt +17 -0
- package/dist/umd/5263.js.map +1 -0
- package/dist/umd/5648.js +1 -1
- package/dist/umd/5966.js +125 -0
- package/dist/umd/5966.js.map +1 -0
- package/dist/umd/6477.js +3 -3
- package/dist/umd/7291.js +2 -2
- package/dist/umd/7387.js +144 -0
- package/dist/umd/{6419.js.LICENSE.txt → 7387.js.LICENSE.txt} +8 -2
- package/dist/umd/7387.js.map +1 -0
- package/dist/umd/7774.js +3 -3
- package/dist/umd/7939.js +1 -1
- package/dist/umd/8202.js +82 -0
- package/dist/umd/{descope-apps-list.js.LICENSE.txt → 8202.js.LICENSE.txt} +0 -6
- package/dist/umd/8202.js.map +1 -0
- package/dist/umd/8983.js +1 -1
- package/dist/umd/9117.js +3 -3
- package/dist/umd/9970.js +1 -1
- package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +1 -1
- package/dist/umd/descope-apps-list.js +1 -17
- package/dist/umd/descope-apps-list.js.map +1 -1
- package/dist/umd/descope-avatar.js +161 -2
- package/dist/umd/descope-avatar.js.LICENSE.txt +6 -0
- package/dist/umd/descope-avatar.js.map +1 -1
- package/dist/umd/descope-button.js +1 -1
- package/dist/umd/descope-combo-box.js +2 -2
- package/dist/umd/descope-date-field-index-js.js +1 -1
- package/dist/umd/descope-email-field-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-custom-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-item-details-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js.map +1 -1
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js +1 -1
- package/dist/umd/descope-grid-descope-grid-text-column-index-js.js.map +1 -1
- package/dist/umd/descope-outbound-app-button.js +1 -1
- package/dist/umd/descope-outbound-apps.js +1 -338
- package/dist/umd/descope-outbound-apps.js.map +1 -1
- package/dist/umd/descope-passcode-index-js.js +1 -1
- package/dist/umd/descope-security-questions-verify-index-js.js +1 -1
- package/dist/umd/descope-text-field-index-js.js +1 -1
- package/dist/umd/descope-timer-button.js +1 -1
- package/dist/umd/descope-tooltip.js +2 -1
- package/dist/umd/descope-tooltip.js.LICENSE.txt +11 -0
- package/dist/umd/descope-tooltip.js.map +1 -1
- package/dist/umd/descope-upload-file-index-js.js +1 -1
- package/dist/umd/descope-user-attribute-index-js.js +1 -1
- package/dist/umd/descope-user-auth-method-index-js.js +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +1 -1
- package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +1 -1
- package/package.json +29 -29
- package/dist/umd/1519.js +0 -203
- package/dist/umd/1519.js.LICENSE.txt +0 -51
- package/dist/umd/1519.js.map +0 -1
- package/dist/umd/1995.js +0 -241
- package/dist/umd/1995.js.map +0 -1
- package/dist/umd/6419.js +0 -82
- package/dist/umd/6419.js.map +0 -1
- package/dist/umd/676.js +0 -3
- package/dist/umd/676.js.map +0 -1
- package/dist/umd/8618.js +0 -125
- package/dist/umd/8618.js.map +0 -1
- package/dist/umd/descope-outbound-apps.js.LICENSE.txt +0 -5
- /package/dist/umd/{676.js.LICENSE.txt → 2562.js.LICENSE.txt} +0 -0
- /package/dist/umd/{8618.js.LICENSE.txt → 5966.js.LICENSE.txt} +0 -0
package/dist/umd/6419.js
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 6419.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[6419],{1508:(t,e,o)=>{function i(t){const e=[];for(;t;){if(t.nodeType===Node.DOCUMENT_NODE){e.push(t);break}t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?t=t.assignedSlot?t.assignedSlot:t.parentNode:(e.push(t),t=t.host)}return e}function s(t){const e=[];let o;return"slot"===t.localName?o=t.assignedElements():(e.push(t),o=[...t.children]),o.forEach(t=>e.push(...s(t))),e}function n(t,e){return e?e.closest(t)||n(t,e.getRootNode().host):null}function r(t){return t?new Set(t.split(" ")):new Set}function a(t){return t?[...t].join(" "):""}function l(t,e,o){const i=r(t.getAttribute(e));i.add(o),t.setAttribute(e,a(i))}function h(t,e,o){const i=r(t.getAttribute(e));i.delete(o),0!==i.size?t.setAttribute(e,a(i)):t.removeAttribute(e)}function d(t){return t.nodeType===Node.TEXT_NODE&&""===t.textContent.trim()}o.d(e,{Dy:()=>i,J$:()=>s,Wr:()=>h,Z4:()=>r,ZA:()=>d,el:()=>n,iA:()=>l,sz:()=>a})},4080:(t,e,o)=>{o.d(e,{CI:()=>_,H8:()=>r,gm:()=>a,m0:()=>n,nr:()=>d,un:()=>h});const i=t=>t.test(navigator.userAgent),s=t=>t.test(navigator.platform),n=i(/Android/u),r=i(/Chrome/u)&&/Google Inc/u.test(navigator.vendor),a=i(/Firefox/u),l=s(/^iPad/u)||s(/^Mac/u)&&navigator.maxTouchPoints>1,h=s(/^iPhone/u)||l,d=i(/^((?!chrome|android).)*safari/iu),_=(()=>{try{return document.createEvent("TouchEvent"),!0}catch(t){return!1}})()},11707:(t,e,o)=>{o.d(e,{I:()=>s});let i=0;function s(){return i++}},44099:(t,e,o)=>{o.d(e,{r:()=>r});var i=o(1508),s=o(65641),n=o(11707);class r extends EventTarget{static generateId(t,e){return`${e||"default"}-${t.localName}-${(0,n.I)()}`}constructor(t,e,o,i={}){super();const{initializer:s,multiple:n,observe:r,useUniqueId:a}=i;this.host=t,this.slotName=e,this.tagName=o,this.observe="boolean"!=typeof r||r,this.multiple="boolean"==typeof n&&n,this.slotInitializer=s,n&&(this.nodes=[]),a&&(this.defaultId=this.constructor.generateId(t,e))}hostConnected(){this.initialized||(this.multiple?this.initMultiple():this.initSingle(),this.observe&&this.observeSlot(),this.initialized=!0)}initSingle(){let t=this.getSlotChild();t?(this.node=t,this.initAddedNode(t)):(t=this.attachDefaultNode(),this.initNode(t))}initMultiple(){const t=this.getSlotChildren();if(0===t.length){const t=this.attachDefaultNode();t&&(this.nodes=[t],this.initNode(t))}else this.nodes=t,t.forEach(t=>{this.initAddedNode(t)})}attachDefaultNode(){const{host:t,slotName:e,tagName:o}=this;let i=this.defaultNode;return!i&&o&&(i=document.createElement(o),i instanceof Element&&(""!==e&&i.setAttribute("slot",e),this.defaultNode=i)),i&&(this.node=i,t.appendChild(i)),i}getSlotChildren(){const{slotName:t}=this;return Array.from(this.host.childNodes).filter(e=>e.nodeType===Node.ELEMENT_NODE&&e.slot===t||e.nodeType===Node.TEXT_NODE&&e.textContent.trim()&&""===t)}getSlotChild(){return this.getSlotChildren()[0]}initNode(t){const{slotInitializer:e}=this;e&&e(t,this.host)}initCustomNode(t){}teardownNode(t){}initAddedNode(t){t!==this.defaultNode&&(this.initCustomNode(t),this.initNode(t))}observeSlot(){const{slotName:t}=this,e=""===t?"slot:not([name])":`slot[name=${t}]`,o=this.host.shadowRoot.querySelector(e);this.__slotObserver=new s.P(o,({addedNodes:t,removedNodes:e})=>{const o=this.multiple?this.nodes:[this.node],s=t.filter(t=>!(0,i.ZA)(t)&&!o.includes(t));e.length&&(this.nodes=o.filter(t=>!e.includes(t)),e.forEach(t=>{this.teardownNode(t)})),s&&s.length>0&&(this.multiple?(this.defaultNode&&this.defaultNode.remove(),this.nodes=[...o,...s].filter(t=>t!==this.defaultNode),s.forEach(t=>{this.initAddedNode(t)})):(this.node&&this.node.remove(),this.node=s[0],this.initAddedNode(this.node)))})}}},65641:(t,e,o)=>{o.d(e,{P:()=>i});class i{constructor(t,e){this.slot=t,this.callback=e,this._storedNodes=[],this._connected=!1,this._scheduled=!1,this._boundSchedule=()=>{this._schedule()},this.connect(),this._schedule()}connect(){this.slot.addEventListener("slotchange",this._boundSchedule),this._connected=!0}disconnect(){this.slot.removeEventListener("slotchange",this._boundSchedule),this._connected=!1}_schedule(){this._scheduled||(this._scheduled=!0,queueMicrotask(()=>{this.flush()}))}flush(){this._connected&&(this._scheduled=!1,this._processNodes())}_processNodes(){const t=this.slot.assignedNodes({flatten:!0});let e=[];const o=[],i=[];t.length&&(e=t.filter(t=>!this._storedNodes.includes(t))),this._storedNodes.length&&this._storedNodes.forEach((e,s)=>{const n=t.indexOf(e);-1===n?o.push(e):n!==s&&i.push(e)}),(e.length||o.length||i.length)&&this.callback({addedNodes:e,movedNodes:i,removedNodes:o}),this._storedNodes=t}}},71916:(t,e,o)=>{o(64511),o(3241),o(83315);var i=o(40211),s=o(87550);const n=s.AH`
|
|
3
|
-
:host {
|
|
4
|
-
--vaadin-tooltip-offset-top: var(--lumo-space-xs);
|
|
5
|
-
--vaadin-tooltip-offset-bottom: var(--lumo-space-xs);
|
|
6
|
-
--vaadin-tooltip-offset-start: var(--lumo-space-xs);
|
|
7
|
-
--vaadin-tooltip-offset-end: var(--lumo-space-xs);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
[part='overlay'] {
|
|
11
|
-
background: var(--lumo-base-color) linear-gradient(var(--lumo-contrast-5pct), var(--lumo-contrast-5pct));
|
|
12
|
-
color: var(--lumo-body-text-color);
|
|
13
|
-
font-size: var(--lumo-font-size-xs);
|
|
14
|
-
line-height: var(--lumo-line-height-s);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
[part='content'] {
|
|
18
|
-
padding: var(--lumo-space-xs) var(--lumo-space-s);
|
|
19
|
-
}
|
|
20
|
-
`;(0,s.SF)("vaadin-tooltip-overlay",[i.L,n],{moduleId:"lumo-tooltip-overlay"});var r=o(13256),a=o(82901),l=o(23927),h=o(5072),d=o(24473),_=o(81481);const u=t=>class extends((0,_.t)((0,d.c)(t))){static get properties(){return{position:{type:String,reflectToAttribute:!0}}}requestContentUpdate(){if(super.requestContentUpdate(),this.toggleAttribute("hidden",""===this.textContent.trim()),this.positionTarget&&this.owner){const t=getComputedStyle(this.owner);["top","bottom","start","end"].forEach(e=>{this.style.setProperty(`--vaadin-tooltip-offset-${e}`,t.getPropertyValue(`--vaadin-tooltip-offset-${e}`))})}}_updatePosition(){if(super._updatePosition(),this.positionTarget){if("bottom"===this.position||"top"===this.position){const t=this.positionTarget.getBoundingClientRect(),e=this.$.overlay.getBoundingClientRect(),o=t.width/2-e.width/2;if(this.style.left){const t=e.left+o;t>0&&(this.style.left=`${t}px`)}if(this.style.right){const t=parseFloat(this.style.right)+o;t>0&&(this.style.right=`${t}px`)}}if("start"===this.position||"end"===this.position){const t=this.positionTarget.getBoundingClientRect(),e=this.$.overlay.getBoundingClientRect(),o=t.height/2-e.height/2;this.style.top=`${e.top+o}px`}}}},c=s.AH`
|
|
21
|
-
:host {
|
|
22
|
-
z-index: 1100;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
[part='overlay'] {
|
|
26
|
-
max-width: 40ch;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
:host([position^='top'][top-aligned]) [part='overlay'],
|
|
30
|
-
:host([position^='bottom'][top-aligned]) [part='overlay'] {
|
|
31
|
-
margin-top: var(--vaadin-tooltip-offset-top, 0);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
:host([position^='top'][bottom-aligned]) [part='overlay'],
|
|
35
|
-
:host([position^='bottom'][bottom-aligned]) [part='overlay'] {
|
|
36
|
-
margin-bottom: var(--vaadin-tooltip-offset-bottom, 0);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
:host([position^='start'][start-aligned]) [part='overlay'],
|
|
40
|
-
:host([position^='end'][start-aligned]) [part='overlay'] {
|
|
41
|
-
margin-inline-start: var(--vaadin-tooltip-offset-start, 0);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
:host([position^='start'][end-aligned]) [part='overlay'],
|
|
45
|
-
:host([position^='end'][end-aligned]) [part='overlay'] {
|
|
46
|
-
margin-inline-end: var(--vaadin-tooltip-offset-end, 0);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
@media (forced-colors: active) {
|
|
50
|
-
[part='overlay'] {
|
|
51
|
-
outline: 1px dashed;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
`;(0,s.SF)("vaadin-tooltip-overlay",[h.B,c],{moduleId:"vaadin-tooltip-overlay-styles"});class p extends(u((0,l.v)((0,s.cp)(r.Pu)))){static get is(){return"vaadin-tooltip-overlay"}static get template(){return r.qy`
|
|
55
|
-
<div id="backdrop" part="backdrop" hidden></div>
|
|
56
|
-
<div part="overlay" id="overlay">
|
|
57
|
-
<div part="content" id="content"><slot></slot></div>
|
|
58
|
-
</div>
|
|
59
|
-
`}ready(){super.ready(),this.owner=this.__dataHost,this.owner._overlayElement=this}}(0,a.X)(p);var v=o(55774),g=o(90676),m=o(75365),y=o(30025),f=o(62804),b=o(76685),C=o(1508),E=o(55341),w=o(44099),T=o(11707);const N=500;let O=N,S=N,A=N;const D=new Set;let x=!1,L=null,P=null;class I{constructor(t){this.host=t}get openedProp(){return this.host.manual?"opened":"_autoOpened"}get focusDelay(){const t=this.host;return null!=t.focusDelay&&t.focusDelay>0?t.focusDelay:O}get hoverDelay(){const t=this.host;return null!=t.hoverDelay&&t.hoverDelay>0?t.hoverDelay:S}get hideDelay(){const t=this.host;return null!=t.hideDelay&&t.hideDelay>0?t.hideDelay:A}get isClosing(){return D.has(this.host)}open(t={immediate:!1}){const{immediate:e,hover:o,focus:i}=t,s=o&&this.hoverDelay>0,n=i&&this.focusDelay>0;e||!s&&!n||this.__closeTimeout?this.__showTooltip():this.__warmupTooltip(n)}close(t){!t&&this.hideDelay>0?this.__scheduleClose():(this.__abortClose(),this._setOpened(!1)),this.__abortWarmUp(),x&&(this.__abortCooldown(),this.__scheduleCooldown())}_isOpened(){return this.host[this.openedProp]}_setOpened(t){this.host[this.openedProp]=t}__flushClosingTooltips(){D.forEach(t=>{t._stateController.close(!0),D.delete(t)})}__showTooltip(){this.__abortClose(),this.__flushClosingTooltips(),this._setOpened(!0),x=!0,this.__abortWarmUp(),this.__abortCooldown()}__warmupTooltip(t){this._isOpened()||(x?this.__showTooltip():this.__scheduleWarmUp(t))}__abortClose(){this.__closeTimeout&&(clearTimeout(this.__closeTimeout),this.__closeTimeout=null)}__abortCooldown(){P&&(clearTimeout(P),P=null)}__abortWarmUp(){L&&(clearTimeout(L),L=null)}__scheduleClose(){this._isOpened()&&(D.add(this.host),this.__closeTimeout=setTimeout(()=>{D.delete(this.host),this.__closeTimeout=null,this._setOpened(!1)},this.hideDelay))}__scheduleCooldown(){P=setTimeout(()=>{P=null,x=!1},this.hideDelay)}__scheduleWarmUp(t){const e=t?this.focusDelay:this.hoverDelay;L=setTimeout(()=>{L=null,x=!0,this.__showTooltip()},e)}}const M=t=>class extends((0,E.i)(t)){static get properties(){return{ariaTarget:{type:Object},context:{type:Object,value:()=>({})},focusDelay:{type:Number},for:{type:String,observer:"__forChanged"},generator:{type:Object},hideDelay:{type:Number},hoverDelay:{type:Number},manual:{type:Boolean,value:!1,sync:!0},opened:{type:Boolean,value:!1,sync:!0},position:{type:String},shouldShow:{type:Object,value:()=>(t,e)=>!0},target:{type:Object,observer:"__targetChanged"},text:{type:String,observer:"__textChanged"},_autoOpened:{type:Boolean,observer:"__autoOpenedChanged",sync:!0},_effectiveAriaTarget:{type:Object,computed:"__computeAriaTarget(ariaTarget, target)",observer:"__effectiveAriaTargetChanged"},__effectivePosition:{type:String,computed:"__computePosition(position, _position)"},__isTargetHidden:{type:Boolean,value:!1},_isConnected:{type:Boolean,sync:!0},_position:{type:String,value:"bottom"},_srLabel:{type:Object},_overlayContent:{type:String}}}static get observers(){return["__generatorChanged(_overlayElement, generator, context)","__updateSrLabelText(_srLabel, _overlayContent)"]}static setDefaultFocusDelay(t){O=null!=t&&t>=0?t:N}static setDefaultHideDelay(t){A=null!=t&&t>=0?t:N}static setDefaultHoverDelay(t){S=null!=t&&t>=0?t:N}constructor(){super(),this._uniqueId=`vaadin-tooltip-${(0,T.I)()}`,this._renderer=this.__tooltipRenderer.bind(this),this.__onFocusin=this.__onFocusin.bind(this),this.__onFocusout=this.__onFocusout.bind(this),this.__onMouseDown=this.__onMouseDown.bind(this),this.__onMouseEnter=this.__onMouseEnter.bind(this),this.__onMouseLeave=this.__onMouseLeave.bind(this),this.__onKeyDown=this.__onKeyDown.bind(this),this.__onOverlayOpen=this.__onOverlayOpen.bind(this),this.__targetVisibilityObserver=new IntersectionObserver(t=>{t.forEach(t=>this.__onTargetVisibilityChange(t.isIntersecting))},{threshold:0}),this._stateController=new I(this)}connectedCallback(){super.connectedCallback(),this._isConnected=!0,document.body.addEventListener("vaadin-overlay-open",this.__onOverlayOpen)}disconnectedCallback(){super.disconnectedCallback(),this._autoOpened&&this._stateController.close(!0),this._isConnected=!1,document.body.removeEventListener("vaadin-overlay-open",this.__onOverlayOpen)}ready(){super.ready(),this._srLabelController=new w.r(this,"sr-label","div",{initializer:t=>{t.id=this._uniqueId,t.setAttribute("role","tooltip"),this._srLabel=t}}),this.addController(this._srLabelController)}__computeHorizontalAlign(t){return["top-end","bottom-end","start-top","start","start-bottom"].includes(t)?"end":"start"}__computeNoHorizontalOverlap(t){return["start-top","start","start-bottom","end-top","end","end-bottom"].includes(t)}__computeNoVerticalOverlap(t){return["top-start","top-end","top","bottom-start","bottom","bottom-end"].includes(t)}__computeVerticalAlign(t){return["top-start","top-end","top","start-bottom","end-bottom"].includes(t)?"bottom":"top"}__computeOpened(t,e,o,i){return i&&(t?e:o)}__computePosition(t,e){return t||e}__autoOpenedChanged(t,e){t?document.addEventListener("keydown",this.__onKeyDown,!0):e&&document.removeEventListener("keydown",this.__onKeyDown,!0)}__forChanged(t){t&&(this.__setTargetByIdDebouncer=b.aq.debounce(this.__setTargetByIdDebouncer,f._3,()=>this.__setTargetById(t)))}__setTargetById(t){if(!this.isConnected)return;const e=this.getRootNode().getElementById(t);e?this.target=e:console.warn(`No element with id="${t}" found to show tooltip.`)}__targetChanged(t,e){e&&(e.removeEventListener("mouseenter",this.__onMouseEnter),e.removeEventListener("mouseleave",this.__onMouseLeave),e.removeEventListener("focusin",this.__onFocusin),e.removeEventListener("focusout",this.__onFocusout),e.removeEventListener("mousedown",this.__onMouseDown),this.__targetVisibilityObserver.unobserve(e)),t&&(t.addEventListener("mouseenter",this.__onMouseEnter),t.addEventListener("mouseleave",this.__onMouseLeave),t.addEventListener("focusin",this.__onFocusin),t.addEventListener("focusout",this.__onFocusout),t.addEventListener("mousedown",this.__onMouseDown),requestAnimationFrame(()=>{this.__targetVisibilityObserver.observe(t)}))}__onFocusin(t){this.manual||(0,y.aJ)()&&(this.target.contains(t.relatedTarget)||this.__isShouldShow()&&(this.__focusInside=!0,this.__isTargetHidden||this.__hoverInside&&this._autoOpened||this._stateController.open({focus:!0})))}__onFocusout(t){this.manual||this.target.contains(t.relatedTarget)||(this.__focusInside=!1,this.__hoverInside||this._stateController.close(!0))}__onKeyDown(t){"Escape"===t.key&&(t.stopPropagation(),this._stateController.close(!0))}__onMouseDown(){this._stateController.close(!0)}__onMouseEnter(){this.manual||this.__isShouldShow()&&(this.__hoverInside||(this.__hoverInside=!0,this.__isTargetHidden||this.__focusInside&&this._autoOpened||this._stateController.open({hover:!0})))}__onMouseLeave(t){t.relatedTarget!==this._overlayElement&&this.__handleMouseLeave()}__onOverlayMouseEnter(){this._stateController.isClosing&&this._stateController.open({immediate:!0})}__onOverlayMouseLeave(t){t.relatedTarget!==this.target&&this.__handleMouseLeave()}__handleMouseLeave(){this.manual||(this.__hoverInside=!1,this.__focusInside||this._stateController.close())}__onOverlayOpen(){this.manual||this._overlayElement.opened&&!this._overlayElement._last&&this._stateController.close(!0)}__onTargetVisibilityChange(t){const e=this.__isTargetHidden;this.__isTargetHidden=!t,e&&t&&(this.__focusInside||this.__hoverInside)?this._stateController.open({immediate:!0}):!t&&this._autoOpened&&this._stateController.close(!0)}__isShouldShow(){return"function"!=typeof this.shouldShow||!0===this.shouldShow(this.target,this.context)}__textChanged(t,e){this._overlayElement&&(t||e)&&this._overlayElement.requestContentUpdate()}__tooltipRenderer(t){t.textContent="function"==typeof this.generator?this.generator(this.context):this.text,this._overlayContent=t.textContent}__computeAriaTarget(t,e){return(Array.isArray(t)?t.some(t=>t&&t.nodeType===Node.ELEMENT_NODE):t)?t:e}__effectiveAriaTargetChanged(t,e){e&&[e].flat().forEach(t=>{(0,C.Wr)(t,"aria-describedby",this._uniqueId)}),t&&[t].flat().forEach(t=>{(0,C.iA)(t,"aria-describedby",this._uniqueId)})}__generatorChanged(t,e,o){t&&(e===this.__oldTextGenerator&&o===this.__oldContext||t.requestContentUpdate(),this.__oldTextGenerator=e,this.__oldContext=o)}__updateSrLabelText(t,e){t&&(t.textContent=e)}};class H extends(M((0,m._)((0,g.q)((0,v.w)(r.Pu))))){static get is(){return"vaadin-tooltip"}static get template(){return r.qy`
|
|
60
|
-
<style>
|
|
61
|
-
:host {
|
|
62
|
-
display: none;
|
|
63
|
-
}
|
|
64
|
-
</style>
|
|
65
|
-
<vaadin-tooltip-overlay
|
|
66
|
-
renderer="[[_renderer]]"
|
|
67
|
-
theme$="[[_theme]]"
|
|
68
|
-
opened="[[__computeOpened(manual, opened, _autoOpened, _isConnected)]]"
|
|
69
|
-
position-target="[[target]]"
|
|
70
|
-
position="[[__effectivePosition]]"
|
|
71
|
-
no-horizontal-overlap$="[[__computeNoHorizontalOverlap(__effectivePosition)]]"
|
|
72
|
-
no-vertical-overlap$="[[__computeNoVerticalOverlap(__effectivePosition)]]"
|
|
73
|
-
horizontal-align="[[__computeHorizontalAlign(__effectivePosition)]]"
|
|
74
|
-
vertical-align="[[__computeVerticalAlign(__effectivePosition)]]"
|
|
75
|
-
on-mouseenter="__onOverlayMouseEnter"
|
|
76
|
-
on-mouseleave="__onOverlayMouseLeave"
|
|
77
|
-
modeless
|
|
78
|
-
></vaadin-tooltip-overlay>
|
|
79
|
-
|
|
80
|
-
<slot name="sr-label"></slot>
|
|
81
|
-
`}}(0,a.X)(H)},81481:(t,e,o)=>{o.d(e,{t:()=>a});var i=o(1508);const s={start:"top",end:"bottom"},n={start:"left",end:"right"},r=new ResizeObserver(t=>{setTimeout(()=>{t.forEach(t=>{t.target.__overlay&&t.target.__overlay._updatePosition()})})}),a=t=>class extends t{static get properties(){return{positionTarget:{type:Object,value:null,sync:!0},horizontalAlign:{type:String,value:"start",sync:!0},verticalAlign:{type:String,value:"top",sync:!0},noHorizontalOverlap:{type:Boolean,value:!1,sync:!0},noVerticalOverlap:{type:Boolean,value:!1,sync:!0},requiredVerticalSpace:{type:Number,value:0,sync:!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.visualViewport.addEventListener("resize",this._updatePosition),window.visualViewport.addEventListener("scroll",this.__onScroll,!0),this.__positionTargetAncestorRootNodes=(0,i.Dy)(this.positionTarget),this.__positionTargetAncestorRootNodes.forEach(t=>{t.addEventListener("scroll",this.__onScroll,!0)})}__removeUpdatePositionEventListeners(){window.visualViewport.removeEventListener("resize",this._updatePosition),window.visualViewport.removeEventListener("scroll",this.__onScroll,!0),this.__positionTargetAncestorRootNodes&&(this.__positionTargetAncestorRootNodes.forEach(t=>{t.removeEventListener("scroll",this.__onScroll,!0)}),this.__positionTargetAncestorRootNodes=null)}__overlayOpenedChanged(t,e){if(this.__removeUpdatePositionEventListeners(),e&&(e.__overlay=null,r.unobserve(e),t&&(this.__addUpdatePositionEventListeners(),e.__overlay=this,r.observe(e))),t){const t=getComputedStyle(this);this.__margins||(this.__margins={},["top","bottom","left","right"].forEach(e=>{this.__margins[e]=parseInt(t[e],10)})),this.setAttribute("dir",t.direction),this._updatePosition(),requestAnimationFrame(()=>this._updatePosition())}}__positionSettingsChanged(){this._updatePosition()}__onScroll(t){t.target instanceof Node&&this.contains(t.target)||this._updatePosition()}_updatePosition(){if(!this.positionTarget||!this.opened)return;const t=this.positionTarget.getBoundingClientRect();if(0===t.width&&0===t.height&&this.opened)return void(this.opened=!1);const e=this.__shouldAlignStartVertically(t);this.style.justifyContent=e?"flex-start":"flex-end";const o=this.__isRTL,i=this.__shouldAlignStartHorizontally(t,o),r=!o&&i||o&&!i;this.style.alignItems=r?"flex-start":"flex-end";const a=this.getBoundingClientRect(),l=this.__calculatePositionInOneDimension(t,a,this.noVerticalOverlap,s,this,e),h=this.__calculatePositionInOneDimension(t,a,this.noHorizontalOverlap,n,this,i);Object.assign(this.style,l,h),this.toggleAttribute("bottom-aligned",!e),this.toggleAttribute("top-aligned",e),this.toggleAttribute("end-aligned",!r),this.toggleAttribute("start-aligned",r)}__shouldAlignStartHorizontally(t,e){const o=Math.max(this.__oldContentWidth||0,this.$.overlay.offsetWidth);this.__oldContentWidth=this.$.overlay.offsetWidth;const i=Math.min(window.innerWidth,document.documentElement.clientWidth),s=!e&&"start"===this.horizontalAlign||e&&"end"===this.horizontalAlign;return this.__shouldAlignStart(t,o,i,this.__margins,s,this.noHorizontalOverlap,n)}__shouldAlignStartVertically(t){const e=this.requiredVerticalSpace||Math.max(this.__oldContentHeight||0,this.$.overlay.offsetHeight);this.__oldContentHeight=this.$.overlay.offsetHeight;const o=Math.min(window.innerHeight,document.documentElement.clientHeight),i="top"===this.verticalAlign;return this.__shouldAlignStart(t,e,o,this.__margins,i,this.noVerticalOverlap,s)}__shouldAlignStart(t,e,o,i,s,n,r){const a=o-t[n?r.end:r.start]-i[r.end],l=t[n?r.start:r.end]-i[r.start],h=s?a:l;return s===(h>(s?l:a)||h>e)}__adjustBottomProperty(t,e,o){let i;if(t===e.end){if(e.end===s.end){const t=Math.min(window.innerHeight,document.documentElement.clientHeight);o>t&&this.__oldViewportHeight&&(i=o-(this.__oldViewportHeight-t)),this.__oldViewportHeight=t}if(e.end===n.end){const t=Math.min(window.innerWidth,document.documentElement.clientWidth);o>t&&this.__oldViewportWidth&&(i=o-(this.__oldViewportWidth-t)),this.__oldViewportWidth=t}}return i}__calculatePositionInOneDimension(t,e,o,i,s,n){const r=n?i.start:i.end,a=n?i.end:i.start,l=parseFloat(s.style[r]||getComputedStyle(s)[r]),h=this.__adjustBottomProperty(r,i,l),d=e[n?i.start:i.end]-t[o===n?i.end:i.start],_=h?`${h}px`:`${l+d*(n?-1:1)}px`;return{[r]:_,[a]:""}}}}}]);
|
|
82
|
-
//# sourceMappingURL=6419.js.map
|
package/dist/umd/6419.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"6419.js","mappings":"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","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/dom-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/browser-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/unique-id-utils.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/slot-controller.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/slot-observer.js","webpack://@descope/web-components-ui/../components/descope-tooltip/node_modules/@vaadin/tooltip/theme/lumo/vaadin-tooltip-styles.js","webpack://@descope/web-components-ui/../components/descope-tooltip/node_modules/@vaadin/tooltip/src/vaadin-tooltip-overlay-mixin.js","webpack://@descope/web-components-ui/../components/descope-tooltip/node_modules/@vaadin/tooltip/src/vaadin-tooltip-overlay-styles.js","webpack://@descope/web-components-ui/../components/descope-tooltip/node_modules/@vaadin/tooltip/src/vaadin-tooltip-overlay.js","webpack://@descope/web-components-ui/../components/descope-tooltip/node_modules/@vaadin/tooltip/src/vaadin-tooltip-mixin.js","webpack://@descope/web-components-ui/../components/descope-tooltip/node_modules/@vaadin/tooltip/src/vaadin-tooltip.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/overlay/src/vaadin-overlay-position-mixin.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * Returns an array of ancestor root nodes for the given node.\n *\n * A root node is either a document node or a document fragment node (Shadow Root).\n * The array is collected by a bottom-up DOM traversing that starts with the given node\n * and involves both the light DOM and ancestor shadow DOM trees.\n *\n * @param {Node} node\n * @return {Node[]}\n */\nexport function getAncestorRootNodes(node) {\n const result = [];\n\n while (node) {\n if (node.nodeType === Node.DOCUMENT_NODE) {\n result.push(node);\n break;\n }\n\n if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n result.push(node);\n node = node.host;\n continue;\n }\n\n if (node.assignedSlot) {\n node = node.assignedSlot;\n continue;\n }\n\n node = node.parentNode;\n }\n\n return result;\n}\n\n/**\n * Returns the list of flattened elements for the given `node`.\n * This list consists of a node's children and, for any children that are\n * `<slot>` elements, the expanded flattened list of `assignedElements`.\n *\n * @param {Node} node\n * @return {Element[]}\n */\nexport function getFlattenedElements(node) {\n const result = [];\n let elements;\n if (node.localName === 'slot') {\n elements = node.assignedElements();\n } else {\n result.push(node);\n elements = [...node.children];\n }\n elements.forEach((elem) => result.push(...getFlattenedElements(elem)));\n return result;\n}\n\n/**\n * Traverses the given node and its parents, including those that are across\n * the shadow root boundaries, until it finds a node that matches the selector.\n *\n * @param {string} selector The CSS selector to match against\n * @param {Node} node The starting node for the traversal\n * @return {Node | null} The closest matching element, or null if no match is found\n */\nexport function getClosestElement(selector, node) {\n if (!node) {\n return null;\n }\n\n return node.closest(selector) || getClosestElement(selector, node.getRootNode().host);\n}\n\n/**\n * Takes a string with values separated by space and returns a set the values\n *\n * @param {string} value\n * @return {Set<string>}\n */\nexport function deserializeAttributeValue(value) {\n if (!value) {\n return new Set();\n }\n\n return new Set(value.split(' '));\n}\n\n/**\n * Takes a set of string values and returns a string with values separated by space\n *\n * @param {Set<string>} values\n * @return {string}\n */\nexport function serializeAttributeValue(values) {\n return values ? [...values].join(' ') : '';\n}\n\n/**\n * Adds a value to an attribute containing space-delimited values.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function addValueToAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.add(value);\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Removes a value from an attribute containing space-delimited values.\n * If the value is the last one, the whole attribute is removed.\n *\n * @param {HTMLElement} element\n * @param {string} attr\n * @param {string} value\n */\nexport function removeValueFromAttribute(element, attr, value) {\n const values = deserializeAttributeValue(element.getAttribute(attr));\n values.delete(value);\n if (values.size === 0) {\n element.removeAttribute(attr);\n return;\n }\n element.setAttribute(attr, serializeAttributeValue(values));\n}\n\n/**\n * Returns true if the given node is an empty text node, false otherwise.\n *\n * @param {Node} node\n * @return {boolean}\n */\nexport function isEmptyTextNode(node) {\n return node.nodeType === Node.TEXT_NODE && node.textContent.trim() === '';\n}\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\nconst testUserAgent = (regexp) => regexp.test(navigator.userAgent);\n\nconst testPlatform = (regexp) => regexp.test(navigator.platform);\n\nconst testVendor = (regexp) => regexp.test(navigator.vendor);\n\nexport const isAndroid = testUserAgent(/Android/u);\n\nexport const isChrome = testUserAgent(/Chrome/u) && testVendor(/Google Inc/u);\n\nexport const isFirefox = testUserAgent(/Firefox/u);\n\n// IPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\nexport const isIPad = testPlatform(/^iPad/u) || (testPlatform(/^Mac/u) && navigator.maxTouchPoints > 1);\n\nexport const isIPhone = testPlatform(/^iPhone/u);\n\nexport const isIOS = isIPhone || isIPad;\n\nexport const isSafari = testUserAgent(/^((?!chrome|android).)*safari/iu);\n\nexport const isTouch = (() => {\n try {\n document.createEvent('TouchEvent');\n return true;\n } catch (e) {\n return false;\n }\n})();\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\nlet uniqueId = 0;\n\n/**\n * Resets the unique id counter.\n *\n * @return {void}\n */\nexport function resetUniqueId() {\n uniqueId = 0;\n}\n\n/**\n * Returns a unique integer id.\n *\n * @return {number}\n */\nexport function generateUniqueId() {\n // eslint-disable-next-line no-plusplus\n return uniqueId++;\n}\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { isEmptyTextNode } from './dom-utils.js';\nimport { SlotObserver } from './slot-observer.js';\nimport { generateUniqueId } from './unique-id-utils.js';\n\n/**\n * A controller for providing content to slot element and observing changes.\n */\nexport class SlotController extends EventTarget {\n /**\n * Ensure that every instance has unique ID.\n *\n * @param {HTMLElement} host\n * @param {string} slotName\n * @return {string}\n * @protected\n */\n static generateId(host, slotName) {\n const prefix = slotName || 'default';\n return `${prefix}-${host.localName}-${generateUniqueId()}`;\n }\n\n constructor(host, slotName, tagName, config = {}) {\n super();\n\n const { initializer, multiple, observe, useUniqueId } = config;\n\n this.host = host;\n this.slotName = slotName;\n this.tagName = tagName;\n this.observe = typeof observe === 'boolean' ? observe : true;\n this.multiple = typeof multiple === 'boolean' ? multiple : false;\n this.slotInitializer = initializer;\n\n if (multiple) {\n this.nodes = [];\n }\n\n // Only generate the default ID if requested by the controller.\n if (useUniqueId) {\n this.defaultId = this.constructor.generateId(host, slotName);\n }\n }\n\n hostConnected() {\n if (!this.initialized) {\n if (this.multiple) {\n this.initMultiple();\n } else {\n this.initSingle();\n }\n\n if (this.observe) {\n this.observeSlot();\n }\n\n this.initialized = true;\n }\n }\n\n /** @protected */\n initSingle() {\n let node = this.getSlotChild();\n\n if (!node) {\n node = this.attachDefaultNode();\n this.initNode(node);\n } else {\n this.node = node;\n this.initAddedNode(node);\n }\n }\n\n /** @protected */\n initMultiple() {\n const children = this.getSlotChildren();\n\n if (children.length === 0) {\n const defaultNode = this.attachDefaultNode();\n if (defaultNode) {\n this.nodes = [defaultNode];\n this.initNode(defaultNode);\n }\n } else {\n this.nodes = children;\n children.forEach((node) => {\n this.initAddedNode(node);\n });\n }\n }\n\n /**\n * Create and attach default node using the provided tag name, if any.\n * @return {Node | undefined}\n * @protected\n */\n attachDefaultNode() {\n const { host, slotName, tagName } = this;\n\n // Check if the node was created previously and if so, reuse it.\n let node = this.defaultNode;\n\n // Tag name is optional, sometimes we don't init default content.\n if (!node && tagName) {\n node = document.createElement(tagName);\n if (node instanceof Element) {\n if (slotName !== '') {\n node.setAttribute('slot', slotName);\n }\n this.defaultNode = node;\n }\n }\n\n if (node) {\n this.node = node;\n host.appendChild(node);\n }\n\n return node;\n }\n\n /**\n * Return the list of nodes matching the slot managed by the controller.\n * @return {Node}\n */\n getSlotChildren() {\n const { slotName } = this;\n return Array.from(this.host.childNodes).filter((node) => {\n // Either an element (any slot) or a text node (only un-named slot).\n return (\n (node.nodeType === Node.ELEMENT_NODE && node.slot === slotName) ||\n (node.nodeType === Node.TEXT_NODE && node.textContent.trim() && slotName === '')\n );\n });\n }\n\n /**\n * Return a reference to the node managed by the controller.\n * @return {Node}\n */\n getSlotChild() {\n return this.getSlotChildren()[0];\n }\n\n /**\n * Run `slotInitializer` for the node managed by the controller.\n *\n * @param {Node} node\n * @protected\n */\n initNode(node) {\n const { slotInitializer } = this;\n // Don't try to bind `this` to initializer (normally it's arrow function).\n // Instead, pass the host as a first argument to access component's state.\n if (slotInitializer) {\n slotInitializer(node, this.host);\n }\n }\n\n /**\n * Override to initialize the newly added custom node.\n *\n * @param {Node} _node\n * @protected\n */\n initCustomNode(_node) {}\n\n /**\n * Override to teardown slotted node when it's removed.\n *\n * @param {Node} _node\n * @protected\n */\n teardownNode(_node) {}\n\n /**\n * Run both `initCustomNode` and `initNode` for a custom slotted node.\n *\n * @param {Node} node\n * @protected\n */\n initAddedNode(node) {\n if (node !== this.defaultNode) {\n this.initCustomNode(node);\n this.initNode(node);\n }\n }\n\n /**\n * Setup the observer to manage slot content changes.\n * @protected\n */\n observeSlot() {\n const { slotName } = this;\n const selector = slotName === '' ? 'slot:not([name])' : `slot[name=${slotName}]`;\n const slot = this.host.shadowRoot.querySelector(selector);\n\n this.__slotObserver = new SlotObserver(slot, ({ addedNodes, removedNodes }) => {\n const current = this.multiple ? this.nodes : [this.node];\n\n // Calling `slot.assignedNodes()` includes whitespace text nodes in case of default slot:\n // unlike comment nodes, they are not filtered out. So we need to manually ignore them.\n const newNodes = addedNodes.filter((node) => !isEmptyTextNode(node) && !current.includes(node));\n\n if (removedNodes.length) {\n this.nodes = current.filter((node) => !removedNodes.includes(node));\n\n removedNodes.forEach((node) => {\n this.teardownNode(node);\n });\n }\n\n if (newNodes && newNodes.length > 0) {\n if (this.multiple) {\n // Remove default node if exists\n if (this.defaultNode) {\n this.defaultNode.remove();\n }\n this.nodes = [...current, ...newNodes].filter((node) => node !== this.defaultNode);\n newNodes.forEach((node) => {\n this.initAddedNode(node);\n });\n } else {\n // Remove previous node if exists\n if (this.node) {\n this.node.remove();\n }\n this.node = newNodes[0];\n this.initAddedNode(this.node);\n }\n }\n });\n }\n}\n","/**\n * @license\n * Copyright (c) 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\n\n/**\n * A helper for observing slot changes.\n */\nexport class SlotObserver {\n constructor(slot, callback) {\n /** @type HTMLSlotElement */\n this.slot = slot;\n\n /** @type Function */\n this.callback = callback;\n\n /** @type {Node[]} */\n this._storedNodes = [];\n\n this._connected = false;\n this._scheduled = false;\n\n this._boundSchedule = () => {\n this._schedule();\n };\n\n this.connect();\n this._schedule();\n }\n\n /**\n * Activates an observer. This method is automatically called when\n * a `SlotObserver` is created. It should only be called to re-activate\n * an observer that has been deactivated via the `disconnect` method.\n */\n connect() {\n this.slot.addEventListener('slotchange', this._boundSchedule);\n this._connected = true;\n }\n\n /**\n * Deactivates the observer. After calling this method the observer callback\n * will not be called when changes to slotted nodes occur. The `connect` method\n * may be subsequently called to reactivate the observer.\n */\n disconnect() {\n this.slot.removeEventListener('slotchange', this._boundSchedule);\n this._connected = false;\n }\n\n /** @private */\n _schedule() {\n if (!this._scheduled) {\n this._scheduled = true;\n\n queueMicrotask(() => {\n this.flush();\n });\n }\n }\n\n /**\n * Run the observer callback synchronously.\n */\n flush() {\n if (!this._connected) {\n return;\n }\n\n this._scheduled = false;\n\n this._processNodes();\n }\n\n /** @private */\n _processNodes() {\n const currentNodes = this.slot.assignedNodes({ flatten: true });\n\n let addedNodes = [];\n const removedNodes = [];\n const movedNodes = [];\n\n if (currentNodes.length) {\n addedNodes = currentNodes.filter((node) => !this._storedNodes.includes(node));\n }\n\n if (this._storedNodes.length) {\n this._storedNodes.forEach((node, index) => {\n const idx = currentNodes.indexOf(node);\n if (idx === -1) {\n removedNodes.push(node);\n } else if (idx !== index) {\n movedNodes.push(node);\n }\n });\n }\n\n if (addedNodes.length || removedNodes.length || movedNodes.length) {\n this.callback({ addedNodes, movedNodes, removedNodes });\n }\n\n this._storedNodes = currentNodes;\n }\n}\n","import '@vaadin/vaadin-lumo-styles/color.js';\nimport '@vaadin/vaadin-lumo-styles/style.js';\nimport '@vaadin/vaadin-lumo-styles/typography.js';\nimport { overlay } from '@vaadin/vaadin-lumo-styles/mixins/overlay.js';\nimport { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nconst tooltipOverlay = css`\n :host {\n --vaadin-tooltip-offset-top: var(--lumo-space-xs);\n --vaadin-tooltip-offset-bottom: var(--lumo-space-xs);\n --vaadin-tooltip-offset-start: var(--lumo-space-xs);\n --vaadin-tooltip-offset-end: var(--lumo-space-xs);\n }\n\n [part='overlay'] {\n background: var(--lumo-base-color) linear-gradient(var(--lumo-contrast-5pct), var(--lumo-contrast-5pct));\n color: var(--lumo-body-text-color);\n font-size: var(--lumo-font-size-xs);\n line-height: var(--lumo-line-height-s);\n }\n\n [part='content'] {\n padding: var(--lumo-space-xs) var(--lumo-space-s);\n }\n`;\n\nregisterStyles('vaadin-tooltip-overlay', [overlay, tooltipOverlay], { moduleId: 'lumo-tooltip-overlay' });\n","/**\n * @license\n * Copyright (c) 2022 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { OverlayMixin } from '@vaadin/overlay/src/vaadin-overlay-mixin.js';\nimport { PositionMixin } from '@vaadin/overlay/src/vaadin-overlay-position-mixin.js';\n\n/**\n * A mixin providing common tooltip overlay functionality.\n *\n * @polymerMixin\n * @mixes PositionMixin\n * @mixes OverlayMixin\n */\nexport const TooltipOverlayMixin = (superClass) =>\n class TooltipOverlayMixinClass extends PositionMixin(OverlayMixin(superClass)) {\n static get properties() {\n return {\n position: {\n type: String,\n reflectToAttribute: true,\n },\n };\n }\n\n requestContentUpdate() {\n super.requestContentUpdate();\n\n this.toggleAttribute('hidden', this.textContent.trim() === '');\n\n // Copy custom properties from the tooltip\n if (this.positionTarget && this.owner) {\n const style = getComputedStyle(this.owner);\n ['top', 'bottom', 'start', 'end'].forEach((prop) => {\n this.style.setProperty(\n `--vaadin-tooltip-offset-${prop}`,\n style.getPropertyValue(`--vaadin-tooltip-offset-${prop}`),\n );\n });\n }\n }\n\n /**\n * @protected\n * @override\n */\n _updatePosition() {\n super._updatePosition();\n\n if (!this.positionTarget) {\n return;\n }\n\n // Center the tooltip overlay horizontally\n if (this.position === 'bottom' || this.position === 'top') {\n const targetRect = this.positionTarget.getBoundingClientRect();\n const overlayRect = this.$.overlay.getBoundingClientRect();\n\n const offset = targetRect.width / 2 - overlayRect.width / 2;\n\n if (this.style.left) {\n const left = overlayRect.left + offset;\n if (left > 0) {\n this.style.left = `${left}px`;\n }\n }\n\n if (this.style.right) {\n const right = parseFloat(this.style.right) + offset;\n if (right > 0) {\n this.style.right = `${right}px`;\n }\n }\n }\n\n // Center the tooltip overlay vertically\n if (this.position === 'start' || this.position === 'end') {\n const targetRect = this.positionTarget.getBoundingClientRect();\n const overlayRect = this.$.overlay.getBoundingClientRect();\n\n const offset = targetRect.height / 2 - overlayRect.height / 2;\n this.style.top = `${overlayRect.top + offset}px`;\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2022 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\n\nexport const tooltipOverlayStyles = css`\n :host {\n z-index: 1100;\n }\n\n [part='overlay'] {\n max-width: 40ch;\n }\n\n :host([position^='top'][top-aligned]) [part='overlay'],\n :host([position^='bottom'][top-aligned]) [part='overlay'] {\n margin-top: var(--vaadin-tooltip-offset-top, 0);\n }\n\n :host([position^='top'][bottom-aligned]) [part='overlay'],\n :host([position^='bottom'][bottom-aligned]) [part='overlay'] {\n margin-bottom: var(--vaadin-tooltip-offset-bottom, 0);\n }\n\n :host([position^='start'][start-aligned]) [part='overlay'],\n :host([position^='end'][start-aligned]) [part='overlay'] {\n margin-inline-start: var(--vaadin-tooltip-offset-start, 0);\n }\n\n :host([position^='start'][end-aligned]) [part='overlay'],\n :host([position^='end'][end-aligned]) [part='overlay'] {\n margin-inline-end: var(--vaadin-tooltip-offset-end, 0);\n }\n\n @media (forced-colors: active) {\n [part='overlay'] {\n outline: 1px dashed;\n }\n }\n`;\n","/**\n * @license\n * Copyright (c) 2022 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { html, PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';\nimport { overlayStyles } from '@vaadin/overlay/src/vaadin-overlay-styles.js';\nimport { registerStyles, ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';\nimport { TooltipOverlayMixin } from './vaadin-tooltip-overlay-mixin.js';\nimport { tooltipOverlayStyles } from './vaadin-tooltip-overlay-styles.js';\n\nregisterStyles('vaadin-tooltip-overlay', [overlayStyles, tooltipOverlayStyles], {\n moduleId: 'vaadin-tooltip-overlay-styles',\n});\n\n/**\n * An element used internally by `<vaadin-tooltip>`. Not intended to be used separately.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes DirMixin\n * @mixes ThemableMixin\n * @mixes TooltipOverlayMixin\n * @private\n */\nclass TooltipOverlay extends TooltipOverlayMixin(DirMixin(ThemableMixin(PolymerElement))) {\n static get is() {\n return 'vaadin-tooltip-overlay';\n }\n\n static get template() {\n return html`\n <div id=\"backdrop\" part=\"backdrop\" hidden></div>\n <div part=\"overlay\" id=\"overlay\">\n <div part=\"content\" id=\"content\"><slot></slot></div>\n </div>\n `;\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n // When setting `manual` and `opened` attributes, the overlay is already moved to body\n // by the time when `ready()` callback of the `vaadin-tooltip` is executed by Polymer,\n // so querySelector() would return null. So we use this workaround to set properties.\n this.owner = this.__dataHost;\n this.owner._overlayElement = this;\n }\n}\n\ndefineCustomElement(TooltipOverlay);\n","/**\n * @license\n * Copyright (c) 2022 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { isKeyboardActive } from '@vaadin/a11y-base/src/focus-utils.js';\nimport { microTask } from '@vaadin/component-base/src/async.js';\nimport { Debouncer } from '@vaadin/component-base/src/debounce.js';\nimport { addValueToAttribute, removeValueFromAttribute } from '@vaadin/component-base/src/dom-utils.js';\nimport { OverlayClassMixin } from '@vaadin/component-base/src/overlay-class-mixin.js';\nimport { SlotController } from '@vaadin/component-base/src/slot-controller.js';\nimport { generateUniqueId } from '@vaadin/component-base/src/unique-id-utils.js';\n\nconst DEFAULT_DELAY = 500;\n\nlet defaultFocusDelay = DEFAULT_DELAY;\nlet defaultHoverDelay = DEFAULT_DELAY;\nlet defaultHideDelay = DEFAULT_DELAY;\n\nconst closing = new Set();\n\nlet warmedUp = false;\nlet warmUpTimeout = null;\nlet cooldownTimeout = null;\n\n/**\n * Resets the global tooltip warmup and cooldown state.\n * Only for internal use in tests.\n * @private\n */\nexport function resetGlobalTooltipState() {\n warmedUp = false;\n clearTimeout(warmUpTimeout);\n clearTimeout(cooldownTimeout);\n closing.clear();\n}\n\n/**\n * Controller for handling tooltip opened state.\n */\nclass TooltipStateController {\n constructor(host) {\n this.host = host;\n }\n\n /** @private */\n get openedProp() {\n return this.host.manual ? 'opened' : '_autoOpened';\n }\n\n /** @private */\n get focusDelay() {\n const tooltip = this.host;\n return tooltip.focusDelay != null && tooltip.focusDelay > 0 ? tooltip.focusDelay : defaultFocusDelay;\n }\n\n /** @private */\n get hoverDelay() {\n const tooltip = this.host;\n return tooltip.hoverDelay != null && tooltip.hoverDelay > 0 ? tooltip.hoverDelay : defaultHoverDelay;\n }\n\n /** @private */\n get hideDelay() {\n const tooltip = this.host;\n return tooltip.hideDelay != null && tooltip.hideDelay > 0 ? tooltip.hideDelay : defaultHideDelay;\n }\n\n /**\n * Whether closing is currently in progress.\n * @return {boolean}\n */\n get isClosing() {\n return closing.has(this.host);\n }\n\n /**\n * Schedule opening the tooltip.\n * @param {Object} options\n */\n open(options = { immediate: false }) {\n const { immediate, hover, focus } = options;\n const isHover = hover && this.hoverDelay > 0;\n const isFocus = focus && this.focusDelay > 0;\n\n if (!immediate && (isHover || isFocus) && !this.__closeTimeout) {\n this.__warmupTooltip(isFocus);\n } else {\n this.__showTooltip();\n }\n }\n\n /**\n * Schedule closing the tooltip.\n * @param {boolean} immediate\n */\n close(immediate) {\n if (!immediate && this.hideDelay > 0) {\n this.__scheduleClose();\n } else {\n this.__abortClose();\n this._setOpened(false);\n }\n\n this.__abortWarmUp();\n\n if (warmedUp) {\n // Re-start cooldown timer on each tooltip closing.\n this.__abortCooldown();\n this.__scheduleCooldown();\n }\n }\n\n /** @private */\n _isOpened() {\n return this.host[this.openedProp];\n }\n\n /** @private */\n _setOpened(opened) {\n this.host[this.openedProp] = opened;\n }\n\n /** @private */\n __flushClosingTooltips() {\n closing.forEach((tooltip) => {\n tooltip._stateController.close(true);\n closing.delete(tooltip);\n });\n }\n\n /** @private */\n __showTooltip() {\n this.__abortClose();\n this.__flushClosingTooltips();\n\n this._setOpened(true);\n warmedUp = true;\n\n // Abort previously scheduled timers.\n this.__abortWarmUp();\n this.__abortCooldown();\n }\n\n /** @private */\n __warmupTooltip(isFocus) {\n if (!this._isOpened()) {\n // First tooltip is opened, warm up.\n if (!warmedUp) {\n this.__scheduleWarmUp(isFocus);\n } else {\n // Warmed up, show another tooltip.\n this.__showTooltip();\n }\n }\n }\n\n /** @private */\n __abortClose() {\n if (this.__closeTimeout) {\n clearTimeout(this.__closeTimeout);\n this.__closeTimeout = null;\n }\n }\n\n /** @private */\n __abortCooldown() {\n if (cooldownTimeout) {\n clearTimeout(cooldownTimeout);\n cooldownTimeout = null;\n }\n }\n\n /** @private */\n __abortWarmUp() {\n if (warmUpTimeout) {\n clearTimeout(warmUpTimeout);\n warmUpTimeout = null;\n }\n }\n\n /** @private */\n __scheduleClose() {\n if (this._isOpened()) {\n closing.add(this.host);\n\n this.__closeTimeout = setTimeout(() => {\n closing.delete(this.host);\n this.__closeTimeout = null;\n this._setOpened(false);\n }, this.hideDelay);\n }\n }\n\n /** @private */\n __scheduleCooldown() {\n cooldownTimeout = setTimeout(() => {\n cooldownTimeout = null;\n warmedUp = false;\n }, this.hideDelay);\n }\n\n /** @private */\n __scheduleWarmUp(isFocus) {\n const delay = isFocus ? this.focusDelay : this.hoverDelay;\n warmUpTimeout = setTimeout(() => {\n warmUpTimeout = null;\n warmedUp = true;\n this.__showTooltip();\n }, delay);\n }\n}\n\n/**\n * A mixin providing common tooltip functionality.\n *\n * @polymerMixin\n * @mixes OverlayClassMixin\n */\nexport const TooltipMixin = (superClass) =>\n class TooltipMixinClass extends OverlayClassMixin(superClass) {\n static get properties() {\n return {\n /**\n * Element used to link with the `aria-describedby`\n * attribute. Supports array of multiple elements.\n * When not set, defaults to `target`.\n */\n ariaTarget: {\n type: Object,\n },\n\n /**\n * Object with properties passed to `generator` and\n * `shouldShow` functions for generating tooltip text\n * or detecting whether to show the tooltip or not.\n */\n context: {\n type: Object,\n value: () => {\n return {};\n },\n },\n\n /**\n * The delay in milliseconds before the tooltip\n * is opened on keyboard focus, when not in manual mode.\n * @attr {number} focus-delay\n */\n focusDelay: {\n type: Number,\n },\n\n /**\n * The id of the element used as a tooltip trigger.\n * The element should be in the DOM by the time when\n * the attribute is set, otherwise a warning is shown.\n */\n for: {\n type: String,\n observer: '__forChanged',\n },\n\n /**\n * Function used to generate the tooltip content.\n * When provided, it overrides the `text` property.\n * Use the `context` property to provide argument\n * that can be passed to the generator function.\n */\n generator: {\n type: Object,\n },\n\n /**\n * The delay in milliseconds before the tooltip\n * is closed on losing hover, when not in manual mode.\n * On blur, the tooltip is closed immediately.\n * @attr {number} hide-delay\n */\n hideDelay: {\n type: Number,\n },\n\n /**\n * The delay in milliseconds before the tooltip\n * is opened on hover, when not in manual mode.\n * @attr {number} hover-delay\n */\n hoverDelay: {\n type: Number,\n },\n\n /**\n * When true, the tooltip is controlled programmatically\n * instead of reacting to focus and mouse events.\n */\n manual: {\n type: Boolean,\n value: false,\n sync: true,\n },\n\n /**\n * When true, the tooltip is opened programmatically.\n * Only works if `manual` is set to `true`.\n */\n opened: {\n type: Boolean,\n value: false,\n sync: true,\n },\n\n /**\n * Position of the tooltip with respect to its target.\n * Supported values: `top-start`, `top`, `top-end`,\n * `bottom-start`, `bottom`, `bottom-end`, `start-top`,\n * `start`, `start-bottom`, `end-top`, `end`, `end-bottom`.\n */\n position: {\n type: String,\n },\n\n /**\n * Function used to detect whether to show the tooltip based on a condition,\n * called every time the tooltip is about to be shown on hover and focus.\n * The function takes two parameters: `target` and `context`, which contain\n * values of the corresponding tooltip properties at the time of calling.\n * The tooltip is only shown when the function invocation returns `true`.\n */\n shouldShow: {\n type: Object,\n value: () => {\n return (_target, _context) => true;\n },\n },\n\n /**\n * Reference to the element used as a tooltip trigger.\n * The target must be placed in the same shadow scope.\n * Defaults to an element referenced with `for`.\n */\n target: {\n type: Object,\n observer: '__targetChanged',\n },\n\n /**\n * String used as a tooltip content.\n */\n text: {\n type: String,\n observer: '__textChanged',\n },\n\n /**\n * Set to true when the overlay is opened using auto-added\n * event listeners: mouseenter and focusin (keyboard only).\n * @protected\n */\n _autoOpened: {\n type: Boolean,\n observer: '__autoOpenedChanged',\n sync: true,\n },\n\n /**\n * Element used to link with the `aria-describedby`\n * attribute. When not set, defaults to `target`.\n * @protected\n */\n _effectiveAriaTarget: {\n type: Object,\n computed: '__computeAriaTarget(ariaTarget, target)',\n observer: '__effectiveAriaTargetChanged',\n },\n\n /** @private */\n __effectivePosition: {\n type: String,\n computed: '__computePosition(position, _position)',\n },\n\n /** @private */\n __isTargetHidden: {\n type: Boolean,\n value: false,\n },\n\n /** @private */\n _isConnected: {\n type: Boolean,\n sync: true,\n },\n\n /**\n * Default value used when `position` property is not set.\n * @protected\n */\n _position: {\n type: String,\n value: 'bottom',\n },\n\n /** @private */\n _srLabel: {\n type: Object,\n },\n\n /** @private */\n _overlayContent: {\n type: String,\n },\n };\n }\n\n static get observers() {\n return [\n '__generatorChanged(_overlayElement, generator, context)',\n '__updateSrLabelText(_srLabel, _overlayContent)',\n ];\n }\n\n /**\n * Sets the default focus delay to be used by all tooltip instances,\n * except for those that have focus delay configured using property.\n *\n * @param {number} delay\n */\n static setDefaultFocusDelay(focusDelay) {\n defaultFocusDelay = focusDelay != null && focusDelay >= 0 ? focusDelay : DEFAULT_DELAY;\n }\n\n /**\n * Sets the default hide delay to be used by all tooltip instances,\n * except for those that have hide delay configured using property.\n *\n * @param {number} hideDelay\n */\n static setDefaultHideDelay(hideDelay) {\n defaultHideDelay = hideDelay != null && hideDelay >= 0 ? hideDelay : DEFAULT_DELAY;\n }\n\n /**\n * Sets the default hover delay to be used by all tooltip instances,\n * except for those that have hover delay configured using property.\n *\n * @param {number} delay\n */\n static setDefaultHoverDelay(hoverDelay) {\n defaultHoverDelay = hoverDelay != null && hoverDelay >= 0 ? hoverDelay : DEFAULT_DELAY;\n }\n\n constructor() {\n super();\n\n this._uniqueId = `vaadin-tooltip-${generateUniqueId()}`;\n this._renderer = this.__tooltipRenderer.bind(this);\n\n this.__onFocusin = this.__onFocusin.bind(this);\n this.__onFocusout = this.__onFocusout.bind(this);\n this.__onMouseDown = this.__onMouseDown.bind(this);\n this.__onMouseEnter = this.__onMouseEnter.bind(this);\n this.__onMouseLeave = this.__onMouseLeave.bind(this);\n this.__onKeyDown = this.__onKeyDown.bind(this);\n this.__onOverlayOpen = this.__onOverlayOpen.bind(this);\n\n this.__targetVisibilityObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => this.__onTargetVisibilityChange(entry.isIntersecting));\n },\n { threshold: 0 },\n );\n\n this._stateController = new TooltipStateController(this);\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n\n this._isConnected = true;\n\n document.body.addEventListener('vaadin-overlay-open', this.__onOverlayOpen);\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n\n if (this._autoOpened) {\n this._stateController.close(true);\n }\n this._isConnected = false;\n\n document.body.removeEventListener('vaadin-overlay-open', this.__onOverlayOpen);\n }\n\n /** @protected */\n ready() {\n super.ready();\n\n this._srLabelController = new SlotController(this, 'sr-label', 'div', {\n initializer: (element) => {\n element.id = this._uniqueId;\n element.setAttribute('role', 'tooltip');\n this._srLabel = element;\n },\n });\n this.addController(this._srLabelController);\n }\n\n /** @private */\n __computeHorizontalAlign(position) {\n return ['top-end', 'bottom-end', 'start-top', 'start', 'start-bottom'].includes(position) ? 'end' : 'start';\n }\n\n /** @private */\n __computeNoHorizontalOverlap(position) {\n return ['start-top', 'start', 'start-bottom', 'end-top', 'end', 'end-bottom'].includes(position);\n }\n\n /** @private */\n __computeNoVerticalOverlap(position) {\n return ['top-start', 'top-end', 'top', 'bottom-start', 'bottom', 'bottom-end'].includes(position);\n }\n\n /** @private */\n __computeVerticalAlign(position) {\n return ['top-start', 'top-end', 'top', 'start-bottom', 'end-bottom'].includes(position) ? 'bottom' : 'top';\n }\n\n /** @private */\n __computeOpened(manual, opened, autoOpened, connected) {\n return connected && (manual ? opened : autoOpened);\n }\n\n /** @private */\n __computePosition(position, defaultPosition) {\n return position || defaultPosition;\n }\n\n /** @private */\n __autoOpenedChanged(opened, oldOpened) {\n if (opened) {\n document.addEventListener('keydown', this.__onKeyDown, true);\n } else if (oldOpened) {\n document.removeEventListener('keydown', this.__onKeyDown, true);\n }\n }\n\n /** @private */\n __forChanged(forId) {\n if (forId) {\n this.__setTargetByIdDebouncer = Debouncer.debounce(this.__setTargetByIdDebouncer, microTask, () =>\n this.__setTargetById(forId),\n );\n }\n }\n\n /** @private */\n __setTargetById(targetId) {\n if (!this.isConnected) {\n return;\n }\n\n const target = this.getRootNode().getElementById(targetId);\n\n if (target) {\n this.target = target;\n } else {\n console.warn(`No element with id=\"${targetId}\" found to show tooltip.`);\n }\n }\n\n /** @private */\n __targetChanged(target, oldTarget) {\n if (oldTarget) {\n oldTarget.removeEventListener('mouseenter', this.__onMouseEnter);\n oldTarget.removeEventListener('mouseleave', this.__onMouseLeave);\n oldTarget.removeEventListener('focusin', this.__onFocusin);\n oldTarget.removeEventListener('focusout', this.__onFocusout);\n oldTarget.removeEventListener('mousedown', this.__onMouseDown);\n\n this.__targetVisibilityObserver.unobserve(oldTarget);\n }\n\n if (target) {\n target.addEventListener('mouseenter', this.__onMouseEnter);\n target.addEventListener('mouseleave', this.__onMouseLeave);\n target.addEventListener('focusin', this.__onFocusin);\n target.addEventListener('focusout', this.__onFocusout);\n target.addEventListener('mousedown', this.__onMouseDown);\n\n // Wait before observing to avoid Chrome issue.\n requestAnimationFrame(() => {\n this.__targetVisibilityObserver.observe(target);\n });\n }\n }\n\n /** @private */\n __onFocusin(event) {\n if (this.manual) {\n return;\n }\n\n // Only open on keyboard focus.\n if (!isKeyboardActive()) {\n return;\n }\n\n // Do not re-open while focused if closed on Esc or mousedown.\n if (this.target.contains(event.relatedTarget)) {\n return;\n }\n\n if (!this.__isShouldShow()) {\n return;\n }\n\n this.__focusInside = true;\n\n if (!this.__isTargetHidden && (!this.__hoverInside || !this._autoOpened)) {\n this._stateController.open({ focus: true });\n }\n }\n\n /** @private */\n __onFocusout(event) {\n if (this.manual) {\n return;\n }\n\n // Do not close when moving focus within a component.\n if (this.target.contains(event.relatedTarget)) {\n return;\n }\n\n this.__focusInside = false;\n\n if (!this.__hoverInside) {\n this._stateController.close(true);\n }\n }\n\n /** @private */\n __onKeyDown(event) {\n if (event.key === 'Escape') {\n event.stopPropagation();\n this._stateController.close(true);\n }\n }\n\n /** @private */\n __onMouseDown() {\n this._stateController.close(true);\n }\n\n /** @private */\n __onMouseEnter() {\n if (this.manual) {\n return;\n }\n\n if (!this.__isShouldShow()) {\n return;\n }\n\n if (this.__hoverInside) {\n // Already hovering inside the element, do nothing.\n return;\n }\n\n this.__hoverInside = true;\n\n if (!this.__isTargetHidden && (!this.__focusInside || !this._autoOpened)) {\n this._stateController.open({ hover: true });\n }\n }\n\n /** @private */\n __onMouseLeave(event) {\n if (event.relatedTarget !== this._overlayElement) {\n this.__handleMouseLeave();\n }\n }\n\n /** @protected */\n __onOverlayMouseEnter() {\n // Retain opened state when moving pointer over the overlay.\n // Closing can start due to an offset between the target and\n // the overlay itself. If that's the case, re-open overlay.\n // See https://github.com/vaadin/web-components/issues/6316\n if (this._stateController.isClosing) {\n this._stateController.open({ immediate: true });\n }\n }\n\n /** @protected */\n __onOverlayMouseLeave(event) {\n if (event.relatedTarget !== this.target) {\n this.__handleMouseLeave();\n }\n }\n\n /** @private */\n __handleMouseLeave() {\n if (this.manual) {\n return;\n }\n\n this.__hoverInside = false;\n\n if (!this.__focusInside) {\n this._stateController.close();\n }\n }\n\n /** @private */\n __onOverlayOpen() {\n if (this.manual) {\n return;\n }\n\n // Close tooltip if another overlay is opened on top of the tooltip's overlay\n if (this._overlayElement.opened && !this._overlayElement._last) {\n this._stateController.close(true);\n }\n }\n\n /** @private */\n __onTargetVisibilityChange(isVisible) {\n const oldHidden = this.__isTargetHidden;\n this.__isTargetHidden = !isVisible;\n\n // Open the overlay when the target becomes visible and has focus or hover.\n if (oldHidden && isVisible && (this.__focusInside || this.__hoverInside)) {\n this._stateController.open({ immediate: true });\n return;\n }\n\n // Close the overlay when the target is no longer fully visible.\n if (!isVisible && this._autoOpened) {\n this._stateController.close(true);\n }\n }\n\n /** @private */\n __isShouldShow() {\n if (typeof this.shouldShow === 'function' && this.shouldShow(this.target, this.context) !== true) {\n return false;\n }\n\n return true;\n }\n\n /** @private */\n __textChanged(text, oldText) {\n if (this._overlayElement && (text || oldText)) {\n this._overlayElement.requestContentUpdate();\n }\n }\n\n /** @private */\n __tooltipRenderer(root) {\n root.textContent = typeof this.generator === 'function' ? this.generator(this.context) : this.text;\n\n // Update the sr-only label text content\n this._overlayContent = root.textContent;\n }\n\n /** @private */\n __computeAriaTarget(ariaTarget, target) {\n const isElementNode = (el) => el && el.nodeType === Node.ELEMENT_NODE;\n const isAriaTargetSet = Array.isArray(ariaTarget) ? ariaTarget.some(isElementNode) : ariaTarget;\n return isAriaTargetSet ? ariaTarget : target;\n }\n\n /** @private */\n __effectiveAriaTargetChanged(ariaTarget, oldAriaTarget) {\n if (oldAriaTarget) {\n [oldAriaTarget].flat().forEach((target) => {\n removeValueFromAttribute(target, 'aria-describedby', this._uniqueId);\n });\n }\n\n if (ariaTarget) {\n [ariaTarget].flat().forEach((target) => {\n addValueToAttribute(target, 'aria-describedby', this._uniqueId);\n });\n }\n }\n\n /** @private */\n __generatorChanged(overlayElement, generator, context) {\n if (overlayElement) {\n if (generator !== this.__oldTextGenerator || context !== this.__oldContext) {\n overlayElement.requestContentUpdate();\n }\n\n this.__oldTextGenerator = generator;\n this.__oldContext = context;\n }\n }\n\n /** @private */\n __updateSrLabelText(srLabel, textContent) {\n if (srLabel) {\n srLabel.textContent = textContent;\n }\n }\n };\n","/**\n * @license\n * Copyright (c) 2022 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport './vaadin-tooltip-overlay.js';\nimport { html, PolymerElement } from '@polymer/polymer/polymer-element.js';\nimport { ControllerMixin } from '@vaadin/component-base/src/controller-mixin.js';\nimport { defineCustomElement } from '@vaadin/component-base/src/define.js';\nimport { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';\nimport { ThemePropertyMixin } from '@vaadin/vaadin-themable-mixin/vaadin-theme-property-mixin.js';\nimport { TooltipMixin } from './vaadin-tooltip-mixin.js';\n\n/**\n * `<vaadin-tooltip>` is a Web Component for creating tooltips.\n *\n * ```html\n * <button id=\"confirm\">Confirm</button>\n * <vaadin-tooltip text=\"Click to save changes\" for=\"confirm\"></vaadin-tooltip>\n * ```\n *\n * ### Styling\n *\n * `<vaadin-tooltip>` uses `<vaadin-tooltip-overlay>` internal\n * themable component as the actual visible overlay.\n *\n * See [`<vaadin-overlay>`](#/elements/vaadin-overlay) documentation\n * for `<vaadin-tooltip-overlay>` parts.\n *\n * The following state attributes are available for styling:\n *\n * Attribute | Description\n * -----------------|----------------------------------------\n * `position` | Reflects the `position` property value.\n *\n * Note: the `theme` attribute value set on `<vaadin-tooltip>` is\n * propagated to the internal `<vaadin-tooltip-overlay>` component.\n *\n * ### Custom CSS Properties\n *\n * The following custom CSS properties are available on the `<vaadin-tooltip>` element:\n *\n * Custom CSS property | Description\n * ---------------------------------|-------------\n * `--vaadin-tooltip-offset-top` | Used as an offset when the tooltip is aligned vertically below the target\n * `--vaadin-tooltip-offset-bottom` | Used as an offset when the tooltip is aligned vertically above the target\n * `--vaadin-tooltip-offset-start` | Used as an offset when the tooltip is aligned horizontally after the target\n * `--vaadin-tooltip-offset-end` | Used as an offset when the tooltip is aligned horizontally before the target\n *\n * See [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n *\n * @customElement\n * @extends HTMLElement\n * @mixes ControllerMixin\n * @mixes ElementMixin\n * @mixes ThemePropertyMixin\n * @mixes TooltipMixin\n */\nclass Tooltip extends TooltipMixin(ThemePropertyMixin(ElementMixin(ControllerMixin(PolymerElement)))) {\n static get is() {\n return 'vaadin-tooltip';\n }\n\n static get template() {\n return html`\n <style>\n :host {\n display: none;\n }\n </style>\n <vaadin-tooltip-overlay\n renderer=\"[[_renderer]]\"\n theme$=\"[[_theme]]\"\n opened=\"[[__computeOpened(manual, opened, _autoOpened, _isConnected)]]\"\n position-target=\"[[target]]\"\n position=\"[[__effectivePosition]]\"\n no-horizontal-overlap$=\"[[__computeNoHorizontalOverlap(__effectivePosition)]]\"\n no-vertical-overlap$=\"[[__computeNoVerticalOverlap(__effectivePosition)]]\"\n horizontal-align=\"[[__computeHorizontalAlign(__effectivePosition)]]\"\n vertical-align=\"[[__computeVerticalAlign(__effectivePosition)]]\"\n on-mouseenter=\"__onOverlayMouseEnter\"\n on-mouseleave=\"__onOverlayMouseLeave\"\n modeless\n ></vaadin-tooltip-overlay>\n\n <slot name=\"sr-label\"></slot>\n `;\n }\n}\n\ndefineCustomElement(Tooltip);\n\nexport { Tooltip };\n","/**\n * @license\n * Copyright (c) 2017 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { getAncestorRootNodes } from '@vaadin/component-base/src/dom-utils.js';\n\nconst PROP_NAMES_VERTICAL = {\n start: 'top',\n end: 'bottom',\n};\n\nconst PROP_NAMES_HORIZONTAL = {\n start: 'left',\n end: 'right',\n};\n\nconst targetResizeObserver = new ResizeObserver((entries) => {\n setTimeout(() => {\n entries.forEach((entry) => {\n if (entry.target.__overlay) {\n entry.target.__overlay._updatePosition();\n }\n });\n });\n});\n\n/**\n * @polymerMixin\n */\nexport const PositionMixin = (superClass) =>\n class PositionMixin extends superClass {\n static get properties() {\n return {\n /**\n * The element next to which this overlay should be aligned.\n * The position of the overlay relative to the positionTarget can be adjusted\n * with properties `horizontalAlign`, `verticalAlign`, `noHorizontalOverlap`\n * and `noVerticalOverlap`.\n */\n positionTarget: {\n type: Object,\n value: null,\n sync: true,\n },\n\n /**\n * When `positionTarget` is set, this property defines whether to align the overlay's\n * left or right side to the target element by default.\n * Possible values are `start` and `end`.\n * RTL is taken into account when interpreting the value.\n * The overlay is automatically flipped to the opposite side when it doesn't fit into\n * the default side defined by this property.\n *\n * @attr {start|end} horizontal-align\n */\n horizontalAlign: {\n type: String,\n value: 'start',\n sync: true,\n },\n\n /**\n * When `positionTarget` is set, this property defines whether to align the overlay's\n * top or bottom side to the target element by default.\n * Possible values are `top` and `bottom`.\n * The overlay is automatically flipped to the opposite side when it doesn't fit into\n * the default side defined by this property.\n *\n * @attr {top|bottom} vertical-align\n */\n verticalAlign: {\n type: String,\n value: 'top',\n sync: true,\n },\n\n /**\n * When `positionTarget` is set, this property defines whether the overlay should overlap\n * the target element in the x-axis, or be positioned right next to it.\n *\n * @attr {boolean} no-horizontal-overlap\n */\n noHorizontalOverlap: {\n type: Boolean,\n value: false,\n sync: true,\n },\n\n /**\n * When `positionTarget` is set, this property defines whether the overlay should overlap\n * the target element in the y-axis, or be positioned right above/below it.\n *\n * @attr {boolean} no-vertical-overlap\n */\n noVerticalOverlap: {\n type: Boolean,\n value: false,\n sync: true,\n },\n\n /**\n * If the overlay content has no intrinsic height, this property can be used to set\n * the minimum vertical space (in pixels) required by the overlay. Setting a value to\n * the property effectively disables the content measurement in favor of using this\n * fixed value for determining the open direction.\n *\n * @attr {number} required-vertical-space\n */\n requiredVerticalSpace: {\n type: Number,\n value: 0,\n sync: true,\n },\n };\n }\n\n static get observers() {\n return [\n '__positionSettingsChanged(horizontalAlign, verticalAlign, noHorizontalOverlap, noVerticalOverlap, requiredVerticalSpace)',\n '__overlayOpenedChanged(opened, positionTarget)',\n ];\n }\n\n constructor() {\n super();\n\n this.__onScroll = this.__onScroll.bind(this);\n this._updatePosition = this._updatePosition.bind(this);\n }\n\n /** @protected */\n connectedCallback() {\n super.connectedCallback();\n\n if (this.opened) {\n this.__addUpdatePositionEventListeners();\n }\n }\n\n /** @protected */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.__removeUpdatePositionEventListeners();\n }\n\n /** @private */\n __addUpdatePositionEventListeners() {\n window.visualViewport.addEventListener('resize', this._updatePosition);\n window.visualViewport.addEventListener('scroll', this.__onScroll, true);\n\n this.__positionTargetAncestorRootNodes = getAncestorRootNodes(this.positionTarget);\n this.__positionTargetAncestorRootNodes.forEach((node) => {\n node.addEventListener('scroll', this.__onScroll, true);\n });\n }\n\n /** @private */\n __removeUpdatePositionEventListeners() {\n window.visualViewport.removeEventListener('resize', this._updatePosition);\n window.visualViewport.removeEventListener('scroll', this.__onScroll, true);\n\n if (this.__positionTargetAncestorRootNodes) {\n this.__positionTargetAncestorRootNodes.forEach((node) => {\n node.removeEventListener('scroll', this.__onScroll, true);\n });\n this.__positionTargetAncestorRootNodes = null;\n }\n }\n\n /** @private */\n __overlayOpenedChanged(opened, positionTarget) {\n this.__removeUpdatePositionEventListeners();\n\n if (positionTarget) {\n positionTarget.__overlay = null;\n targetResizeObserver.unobserve(positionTarget);\n\n if (opened) {\n this.__addUpdatePositionEventListeners();\n positionTarget.__overlay = this;\n targetResizeObserver.observe(positionTarget);\n }\n }\n\n if (opened) {\n const computedStyle = getComputedStyle(this);\n if (!this.__margins) {\n this.__margins = {};\n ['top', 'bottom', 'left', 'right'].forEach((propName) => {\n this.__margins[propName] = parseInt(computedStyle[propName], 10);\n });\n }\n this.setAttribute('dir', computedStyle.direction);\n\n this._updatePosition();\n // Schedule another position update (to cover virtual keyboard opening for example)\n requestAnimationFrame(() => this._updatePosition());\n }\n }\n\n __positionSettingsChanged() {\n this._updatePosition();\n }\n\n /** @private */\n __onScroll(e) {\n // If the scroll event occurred inside the overlay, ignore it.\n if (e.target instanceof Node && this.contains(e.target)) {\n return;\n }\n\n this._updatePosition();\n }\n\n _updatePosition() {\n if (!this.positionTarget || !this.opened) {\n return;\n }\n\n const targetRect = this.positionTarget.getBoundingClientRect();\n\n if (targetRect.width === 0 && targetRect.height === 0 && this.opened) {\n this.opened = false;\n return;\n }\n\n // Detect the desired alignment and update the layout accordingly\n const shouldAlignStartVertically = this.__shouldAlignStartVertically(targetRect);\n this.style.justifyContent = shouldAlignStartVertically ? 'flex-start' : 'flex-end';\n\n const isRTL = this.__isRTL;\n const shouldAlignStartHorizontally = this.__shouldAlignStartHorizontally(targetRect, isRTL);\n const flexStart = (!isRTL && shouldAlignStartHorizontally) || (isRTL && !shouldAlignStartHorizontally);\n this.style.alignItems = flexStart ? 'flex-start' : 'flex-end';\n\n // Get the overlay rect after possible overlay alignment changes\n const overlayRect = this.getBoundingClientRect();\n\n // Obtain vertical positioning properties\n const verticalProps = this.__calculatePositionInOneDimension(\n targetRect,\n overlayRect,\n this.noVerticalOverlap,\n PROP_NAMES_VERTICAL,\n this,\n shouldAlignStartVertically,\n );\n\n // Obtain horizontal positioning properties\n const horizontalProps = this.__calculatePositionInOneDimension(\n targetRect,\n overlayRect,\n this.noHorizontalOverlap,\n PROP_NAMES_HORIZONTAL,\n this,\n shouldAlignStartHorizontally,\n );\n\n // Apply the positioning properties to the overlay\n Object.assign(this.style, verticalProps, horizontalProps);\n\n this.toggleAttribute('bottom-aligned', !shouldAlignStartVertically);\n this.toggleAttribute('top-aligned', shouldAlignStartVertically);\n\n this.toggleAttribute('end-aligned', !flexStart);\n this.toggleAttribute('start-aligned', flexStart);\n }\n\n __shouldAlignStartHorizontally(targetRect, rtl) {\n // Using previous size to fix a case where window resize may cause the overlay to be squeezed\n // smaller than its current space before the fit-calculations.\n const contentWidth = Math.max(this.__oldContentWidth || 0, this.$.overlay.offsetWidth);\n this.__oldContentWidth = this.$.overlay.offsetWidth;\n\n const viewportWidth = Math.min(window.innerWidth, document.documentElement.clientWidth);\n const defaultAlignLeft = (!rtl && this.horizontalAlign === 'start') || (rtl && this.horizontalAlign === 'end');\n\n return this.__shouldAlignStart(\n targetRect,\n contentWidth,\n viewportWidth,\n this.__margins,\n defaultAlignLeft,\n this.noHorizontalOverlap,\n PROP_NAMES_HORIZONTAL,\n );\n }\n\n __shouldAlignStartVertically(targetRect) {\n // Using previous size to fix a case where window resize may cause the overlay to be squeezed\n // smaller than its current space before the fit-calculations.\n const contentHeight =\n this.requiredVerticalSpace || Math.max(this.__oldContentHeight || 0, this.$.overlay.offsetHeight);\n this.__oldContentHeight = this.$.overlay.offsetHeight;\n\n const viewportHeight = Math.min(window.innerHeight, document.documentElement.clientHeight);\n const defaultAlignTop = this.verticalAlign === 'top';\n\n return this.__shouldAlignStart(\n targetRect,\n contentHeight,\n viewportHeight,\n this.__margins,\n defaultAlignTop,\n this.noVerticalOverlap,\n PROP_NAMES_VERTICAL,\n );\n }\n\n // eslint-disable-next-line max-params\n __shouldAlignStart(targetRect, contentSize, viewportSize, margins, defaultAlignStart, noOverlap, propNames) {\n const spaceForStartAlignment =\n viewportSize - targetRect[noOverlap ? propNames.end : propNames.start] - margins[propNames.end];\n const spaceForEndAlignment = targetRect[noOverlap ? propNames.start : propNames.end] - margins[propNames.start];\n\n const spaceForDefaultAlignment = defaultAlignStart ? spaceForStartAlignment : spaceForEndAlignment;\n const spaceForOtherAlignment = defaultAlignStart ? spaceForEndAlignment : spaceForStartAlignment;\n\n const shouldGoToDefaultSide =\n spaceForDefaultAlignment > spaceForOtherAlignment || spaceForDefaultAlignment > contentSize;\n\n return defaultAlignStart === shouldGoToDefaultSide;\n }\n\n /**\n * Returns an adjusted value after resizing the browser window,\n * to avoid wrong calculations when e.g. previously set `bottom`\n * CSS property value is larger than the updated viewport height.\n * See https://github.com/vaadin/web-components/issues/4604\n */\n __adjustBottomProperty(cssPropNameToSet, propNames, currentValue) {\n let adjustedProp;\n\n if (cssPropNameToSet === propNames.end) {\n // Adjust horizontally\n if (propNames.end === PROP_NAMES_VERTICAL.end) {\n const viewportHeight = Math.min(window.innerHeight, document.documentElement.clientHeight);\n\n if (currentValue > viewportHeight && this.__oldViewportHeight) {\n const heightDiff = this.__oldViewportHeight - viewportHeight;\n adjustedProp = currentValue - heightDiff;\n }\n\n this.__oldViewportHeight = viewportHeight;\n }\n\n // Adjust vertically\n if (propNames.end === PROP_NAMES_HORIZONTAL.end) {\n const viewportWidth = Math.min(window.innerWidth, document.documentElement.clientWidth);\n\n if (currentValue > viewportWidth && this.__oldViewportWidth) {\n const widthDiff = this.__oldViewportWidth - viewportWidth;\n adjustedProp = currentValue - widthDiff;\n }\n\n this.__oldViewportWidth = viewportWidth;\n }\n }\n\n return adjustedProp;\n }\n\n /**\n * Returns an object with CSS position properties to set,\n * e.g. { top: \"100px\" }\n */\n // eslint-disable-next-line max-params\n __calculatePositionInOneDimension(targetRect, overlayRect, noOverlap, propNames, overlay, shouldAlignStart) {\n const cssPropNameToSet = shouldAlignStart ? propNames.start : propNames.end;\n const cssPropNameToClear = shouldAlignStart ? propNames.end : propNames.start;\n\n const currentValue = parseFloat(overlay.style[cssPropNameToSet] || getComputedStyle(overlay)[cssPropNameToSet]);\n const adjustedValue = this.__adjustBottomProperty(cssPropNameToSet, propNames, currentValue);\n\n const diff =\n overlayRect[shouldAlignStart ? propNames.start : propNames.end] -\n targetRect[noOverlap === shouldAlignStart ? propNames.end : propNames.start];\n\n const valueToSet = adjustedValue\n ? `${adjustedValue}px`\n : `${currentValue + diff * (shouldAlignStart ? -1 : 1)}px`;\n\n return {\n [cssPropNameToSet]: valueToSet,\n [cssPropNameToClear]: '',\n };\n }\n };\n"],"names":["getAncestorRootNodes","node","result","nodeType","Node","DOCUMENT_NODE","push","DOCUMENT_FRAGMENT_NODE","assignedSlot","parentNode","host","getFlattenedElements","elements","localName","assignedElements","children","forEach","elem","getClosestElement","selector","closest","getRootNode","deserializeAttributeValue","value","Set","split","serializeAttributeValue","values","join","addValueToAttribute","element","attr","getAttribute","add","setAttribute","removeValueFromAttribute","delete","size","removeAttribute","isEmptyTextNode","TEXT_NODE","textContent","trim","testUserAgent","regexp","test","navigator","userAgent","testPlatform","platform","isAndroid","isChrome","vendor","isFirefox","isIPad","maxTouchPoints","isIOS","isSafari","isTouch","document","createEvent","e","uniqueId","generateUniqueId","SlotController","EventTarget","generateId","slotName","constructor","tagName","config","super","initializer","multiple","observe","useUniqueId","this","slotInitializer","nodes","defaultId","hostConnected","initialized","initMultiple","initSingle","observeSlot","getSlotChild","initAddedNode","attachDefaultNode","initNode","getSlotChildren","length","defaultNode","createElement","Element","appendChild","Array","from","childNodes","filter","ELEMENT_NODE","slot","initCustomNode","_node","teardownNode","shadowRoot","querySelector","__slotObserver","addedNodes","removedNodes","current","newNodes","includes","remove","SlotObserver","callback","_storedNodes","_connected","_scheduled","_boundSchedule","_schedule","connect","addEventListener","disconnect","removeEventListener","queueMicrotask","flush","_processNodes","currentNodes","assignedNodes","flatten","movedNodes","index","idx","indexOf","tooltipOverlay","overlay","moduleId","TooltipOverlayMixin","superClass","properties","position","type","String","reflectToAttribute","requestContentUpdate","toggleAttribute","positionTarget","owner","style","getComputedStyle","prop","setProperty","getPropertyValue","_updatePosition","targetRect","getBoundingClientRect","overlayRect","$","offset","width","left","right","parseFloat","height","top","tooltipOverlayStyles","TooltipOverlay","is","template","ready","__dataHost","_overlayElement","DEFAULT_DELAY","defaultFocusDelay","defaultHoverDelay","defaultHideDelay","closing","warmedUp","warmUpTimeout","cooldownTimeout","TooltipStateController","openedProp","manual","focusDelay","tooltip","hoverDelay","hideDelay","isClosing","has","open","options","immediate","hover","focus","isHover","isFocus","__closeTimeout","__showTooltip","__warmupTooltip","close","__scheduleClose","__abortClose","_setOpened","__abortWarmUp","__abortCooldown","__scheduleCooldown","_isOpened","opened","__flushClosingTooltips","_stateController","__scheduleWarmUp","clearTimeout","setTimeout","delay","TooltipMixin","ariaTarget","Object","context","Number","for","observer","generator","Boolean","sync","shouldShow","_target","_context","target","text","_autoOpened","_effectiveAriaTarget","computed","__effectivePosition","__isTargetHidden","_isConnected","_position","_srLabel","_overlayContent","observers","setDefaultFocusDelay","setDefaultHideDelay","setDefaultHoverDelay","_uniqueId","_renderer","__tooltipRenderer","bind","__onFocusin","__onFocusout","__onMouseDown","__onMouseEnter","__onMouseLeave","__onKeyDown","__onOverlayOpen","__targetVisibilityObserver","IntersectionObserver","entries","entry","__onTargetVisibilityChange","isIntersecting","threshold","connectedCallback","body","disconnectedCallback","_srLabelController","id","addController","__computeHorizontalAlign","__computeNoHorizontalOverlap","__computeNoVerticalOverlap","__computeVerticalAlign","__computeOpened","autoOpened","connected","__computePosition","defaultPosition","__autoOpenedChanged","oldOpened","__forChanged","forId","__setTargetByIdDebouncer","debounce","__setTargetById","targetId","isConnected","getElementById","console","warn","__targetChanged","oldTarget","unobserve","requestAnimationFrame","event","contains","relatedTarget","__isShouldShow","__focusInside","__hoverInside","key","stopPropagation","__handleMouseLeave","__onOverlayMouseEnter","__onOverlayMouseLeave","_last","isVisible","oldHidden","__textChanged","oldText","root","__computeAriaTarget","isArray","some","el","__effectiveAriaTargetChanged","oldAriaTarget","flat","__generatorChanged","overlayElement","__oldTextGenerator","__oldContext","__updateSrLabelText","srLabel","Tooltip","PROP_NAMES_VERTICAL","start","end","PROP_NAMES_HORIZONTAL","targetResizeObserver","ResizeObserver","__overlay","PositionMixin","horizontalAlign","verticalAlign","noHorizontalOverlap","noVerticalOverlap","requiredVerticalSpace","__onScroll","__addUpdatePositionEventListeners","__removeUpdatePositionEventListeners","window","visualViewport","__positionTargetAncestorRootNodes","__overlayOpenedChanged","computedStyle","__margins","propName","parseInt","direction","__positionSettingsChanged","shouldAlignStartVertically","__shouldAlignStartVertically","justifyContent","isRTL","__isRTL","shouldAlignStartHorizontally","__shouldAlignStartHorizontally","flexStart","alignItems","verticalProps","__calculatePositionInOneDimension","horizontalProps","assign","rtl","contentWidth","Math","max","__oldContentWidth","offsetWidth","viewportWidth","min","innerWidth","documentElement","clientWidth","defaultAlignLeft","__shouldAlignStart","contentHeight","__oldContentHeight","offsetHeight","viewportHeight","innerHeight","clientHeight","defaultAlignTop","contentSize","viewportSize","margins","defaultAlignStart","noOverlap","propNames","spaceForStartAlignment","spaceForEndAlignment","spaceForDefaultAlignment","__adjustBottomProperty","cssPropNameToSet","currentValue","adjustedProp","__oldViewportHeight","__oldViewportWidth","shouldAlignStart","cssPropNameToClear","adjustedValue","diff","valueToSet"],"sourceRoot":""}
|
package/dist/umd/676.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 676.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[676],{68519:(n,e,o)=>{o.d(e,{r:()=>c});const a=/\/\*[\*!]\s+vaadin-dev-mode:start([\s\S]*)vaadin-dev-mode:end\s+\*\*\//i,d=window.Vaadin&&window.Vaadin.Flow&&window.Vaadin.Flow.clients;function t(n,e){if("function"!=typeof n)return;const o=a.exec(n.toString());if(o)try{n=new Function(o[1])}catch(n){console.log("vaadin-development-mode-detector: uncommentAndRun() failed",n)}return n(e)}window.Vaadin=window.Vaadin||{};function i(){}void 0===window.Vaadin.developmentMode&&(window.Vaadin.developmentMode=function(){try{return!!localStorage.getItem("vaadin.developmentmode.force")||["localhost","127.0.0.1"].indexOf(window.location.hostname)>=0&&(d?!(d&&Object.keys(d).map(n=>d[n]).filter(n=>n.productionMode).length>0):!t(function(){return!0}))}catch(n){return!1}}());const c=function(){return function(n,e){if(window.Vaadin.developmentMode)return t(n,e)}(i)}},90676:(n,e,o)=>{o.d(e,{q:()=>l});var a=o(82663),d=o(68519),t=o(62804),i=o(76685),c=o(23927);let s;(0,a.DH)(!1),window.Vaadin||(window.Vaadin={}),window.Vaadin.registrations||(window.Vaadin.registrations=[]),window.Vaadin.developmentModeCallback||(window.Vaadin.developmentModeCallback={}),window.Vaadin.developmentModeCallback["vaadin-usage-statistics"]=function(){(0,d.r)()};const w=new Set,l=n=>class extends((0,c.v)(n)){static finalize(){super.finalize();const{is:n}=this;n&&!w.has(n)&&(window.Vaadin.registrations.push(this),w.add(n),window.Vaadin.developmentModeCallback&&(s=i.aq.debounce(s,t.g8,()=>{window.Vaadin.developmentModeCallback["vaadin-usage-statistics"]()}),(0,i.Oy)(s)))}constructor(){super(),null===document.doctype&&console.warn('Vaadin components require the "standards mode" declaration. Please add <!DOCTYPE html> to the HTML document.')}}}}]);
|
|
3
|
-
//# sourceMappingURL=676.js.map
|
package/dist/umd/676.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"676.js","mappings":";yJAAA,MAAMA,EACJ,0EAEIC,EAAcC,OAAOC,QAAUD,OAAOC,OAAOC,MAAQF,OAAOC,OAAOC,KAAKC,QAqD9E,SAASC,EAAgBC,EAAUC,GACjC,GAAwB,mBAAbD,EACT,OAGF,MAAME,EAAQT,EAAqBU,KAAKH,EAASI,YACjD,GAAIF,EACF,IAEEF,EAAW,IAAIK,SAASH,EAAM,GAChC,CAAE,MAAOI,GAEPC,QAAQC,IAAI,6DAA8DF,EAC5E,CAGF,OAAON,EAASC,EAClB,CAIAN,OAAe,OAAIA,OAAe,QAAK,CAAC,EC5DxC,SAASc,IAgeT,MDhZsCC,IAAlCf,OAAOC,OAAOe,kBAChBhB,OAAOC,OAAOe,gBAnFhB,WACE,IACE,QAoBKC,aAAaC,QAAQ,iCAIpB,CAAC,YAAY,aAAaC,QAAQnB,OAAOoB,SAASC,WAAa,IAhBjEtB,IAoBFA,GACyBuB,OAAOC,KAAKxB,GACpCyB,IAAIC,GAAO1B,EAAY0B,IACvBC,OAAOC,GAAUA,EAAOC,gBACJC,OAAS,IArC3BzB,EANP,WAIE,OAAO,CACT,GAmBA,CAAE,MAAOO,GAEP,OAAO,CACT,CACF,CAgEkCmB,ICiZ3B,MAAMC,EAAkB,WAE3B,OD1ZgC,SAAS1B,EAAUC,GACrD,GAAIN,OAAOC,OAAOe,gBAChB,OAAOZ,EAAgBC,EAAUC,EAErC,CCsZW0B,CAAqBlB,EAEhC,C,8FCndA,IAAImB,GArBJ,SAA8B,GAEzBjC,OAAOC,SACVD,OAAOC,OAAS,CAAC,GAMdD,OAAOC,OAAOiC,gBACjBlC,OAAOC,OAAOiC,cAAgB,IAG3BlC,OAAOC,OAAOkC,0BACjBnC,OAAOC,OAAOkC,wBAA0B,CAAC,GAG3CnC,OAAOC,OAAOkC,wBAAwB,2BAA6B,YACjE,QACF,EAIA,MAAMC,EAAa,IAAIC,IAMVC,EAAgBC,GAC3B,eAAiC,OAASA,IAExC,eAAOC,GACLC,MAAMD,WAEN,MAAM,GAAEE,GAAOC,KAGXD,IAAON,EAAWQ,IAAIF,KACxB1C,OAAOC,OAAOiC,cAAcW,KAAKF,MACjCP,EAAWU,IAAIJ,GAEX1C,OAAOC,OAAOkC,0BAChBF,EAAW,KAAUc,SAASd,EAAU,KAAY,KAClDjC,OAAOC,OAAOkC,wBAAwB,gCAExC,QAAiBF,IAGvB,CAEA,WAAAe,GACEP,QAEyB,OAArBQ,SAASC,SACXtC,QAAQuC,KACN,+GAGN,E","sources":["webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-development-mode-detector/vaadin-development-mode-detector.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/vaadin-usage-statistics/vaadin-usage-statistics-collect.js","webpack://@descope/web-components-ui/../../../node_modules/@vaadin/component-base/src/element-mixin.js"],"sourcesContent":["const DEV_MODE_CODE_REGEXP =\n /\\/\\*[\\*!]\\s+vaadin-dev-mode:start([\\s\\S]*)vaadin-dev-mode:end\\s+\\*\\*\\//i;\n\nconst FlowClients = window.Vaadin && window.Vaadin.Flow && window.Vaadin.Flow.clients;\n\nfunction isMinified() {\n function test() {\n /** vaadin-dev-mode:start\n return false;\n vaadin-dev-mode:end **/\n return true;\n }\n return uncommentAndRun(test);\n}\n\nfunction isDevelopmentMode() {\n try {\n if (isForcedDevelopmentMode()) {\n return true;\n }\n\n if (!isLocalhost()) {\n return false;\n }\n\n if (FlowClients) {\n return !isFlowProductionMode();\n }\n\n return !isMinified();\n } catch (e) {\n // Some error in this code, assume production so no further actions will be taken\n return false;\n }\n}\n\nfunction isForcedDevelopmentMode() {\n return localStorage.getItem(\"vaadin.developmentmode.force\");\n}\n\nfunction isLocalhost() {\n return ([\"localhost\",\"127.0.0.1\"].indexOf(window.location.hostname) >= 0);\n}\n\nfunction isFlowProductionMode() {\n if (FlowClients) {\n const productionModeApps = Object.keys(FlowClients)\n .map(key => FlowClients[key])\n .filter(client => client.productionMode);\n if (productionModeApps.length > 0) {\n return true;\n }\n }\n return false;\n}\n\nfunction uncommentAndRun(callback, args) {\n if (typeof callback !== 'function') {\n return;\n }\n\n const match = DEV_MODE_CODE_REGEXP.exec(callback.toString());\n if (match) {\n try {\n // requires CSP: script-src 'unsafe-eval'\n callback = new Function(match[1]);\n } catch (e) {\n // eat the exception\n console.log('vaadin-development-mode-detector: uncommentAndRun() failed', e)\n }\n }\n\n return callback(args);\n}\n\n// A guard against polymer-modulizer removing the window.Vaadin\n// initialization above.\nwindow['Vaadin'] = window['Vaadin'] || {};\n\n/**\n * Inspects the source code of the given `callback` function for\n * specially-marked _commented_ code. If such commented code is found in the\n * callback source, uncomments and runs that code instead of the callback\n * itself. Otherwise runs the callback as is.\n *\n * The optional arguments are passed into the callback / uncommented code,\n * the result is returned.\n *\n * See the `isMinified()` function source code in this file for an example.\n *\n */\nexport const runIfDevelopmentMode = function(callback, args) {\n if (window.Vaadin.developmentMode) {\n return uncommentAndRun(callback, args);\n }\n};\n\nif (window.Vaadin.developmentMode === undefined) {\n window.Vaadin.developmentMode = isDevelopmentMode();\n}\n","/* This file is autogenerated from src/vaadin-usage-statistics.tpl.html */\n/*\n\nThis script gathers usage statistics from the application running in development mode.\n\nStatistics gathering is automatically disabled and excluded from production builds.\n\nFor details and to opt-out, see https://github.com/vaadin/vaadin-usage-statistics.\n\n*/\n/*\n FIXME(polymer-modulizer): the above comments were extracted\n from HTML and may be out of place here. Review them and\n then delete this comment!\n*/\nimport { runIfDevelopmentMode } from '@vaadin/vaadin-development-mode-detector/vaadin-development-mode-detector.js';\n\nfunction maybeGatherAndSendStats() {\n /*! vaadin-dev-mode:start\n (function () {\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar getPolymerVersion = function getPolymerVersion() {\n return window.Polymer && window.Polymer.version;\n};\n\nvar StatisticsGatherer = function () {\n function StatisticsGatherer(logger) {\n classCallCheck(this, StatisticsGatherer);\n\n this.now = new Date().getTime();\n this.logger = logger;\n }\n\n createClass(StatisticsGatherer, [{\n key: 'frameworkVersionDetectors',\n value: function frameworkVersionDetectors() {\n return {\n 'Flow': function Flow() {\n if (window.Vaadin && window.Vaadin.Flow && window.Vaadin.Flow.clients) {\n var flowVersions = Object.keys(window.Vaadin.Flow.clients).map(function (key) {\n return window.Vaadin.Flow.clients[key];\n }).filter(function (client) {\n return client.getVersionInfo;\n }).map(function (client) {\n return client.getVersionInfo().flow;\n });\n if (flowVersions.length > 0) {\n return flowVersions[0];\n }\n }\n },\n 'Vaadin Framework': function VaadinFramework() {\n if (window.vaadin && window.vaadin.clients) {\n var frameworkVersions = Object.values(window.vaadin.clients).filter(function (client) {\n return client.getVersionInfo;\n }).map(function (client) {\n return client.getVersionInfo().vaadinVersion;\n });\n if (frameworkVersions.length > 0) {\n return frameworkVersions[0];\n }\n }\n },\n 'AngularJs': function AngularJs() {\n if (window.angular && window.angular.version && window.angular.version) {\n return window.angular.version.full;\n }\n },\n 'Angular': function Angular() {\n if (window.ng) {\n var tags = document.querySelectorAll(\"[ng-version]\");\n if (tags.length > 0) {\n return tags[0].getAttribute(\"ng-version\");\n }\n return \"Unknown\";\n }\n },\n 'Backbone.js': function BackboneJs() {\n if (window.Backbone) {\n return window.Backbone.VERSION;\n }\n },\n 'React': function React() {\n var reactSelector = '[data-reactroot], [data-reactid]';\n if (!!document.querySelector(reactSelector)) {\n // React does not publish the version by default\n return \"unknown\";\n }\n },\n 'Ember': function Ember() {\n if (window.Em && window.Em.VERSION) {\n return window.Em.VERSION;\n } else if (window.Ember && window.Ember.VERSION) {\n return window.Ember.VERSION;\n }\n },\n 'jQuery': function (_jQuery) {\n function jQuery() {\n return _jQuery.apply(this, arguments);\n }\n\n jQuery.toString = function () {\n return _jQuery.toString();\n };\n\n return jQuery;\n }(function () {\n if (typeof jQuery === 'function' && jQuery.prototype.jquery !== undefined) {\n return jQuery.prototype.jquery;\n }\n }),\n 'Polymer': function Polymer() {\n var version = getPolymerVersion();\n if (version) {\n return version;\n }\n },\n 'LitElement': function LitElement() {\n var version = window.litElementVersions && window.litElementVersions[0];\n if (version) {\n return version;\n }\n },\n 'LitHtml': function LitHtml() {\n var version = window.litHtmlVersions && window.litHtmlVersions[0];\n if (version) {\n return version;\n }\n },\n 'Vue.js': function VueJs() {\n if (window.Vue) {\n return window.Vue.version;\n }\n }\n };\n }\n }, {\n key: 'getUsedVaadinElements',\n value: function getUsedVaadinElements(elements) {\n var version = getPolymerVersion();\n var elementClasses = void 0;\n // NOTE: In case you edit the code here, YOU MUST UPDATE any statistics reporting code in Flow.\n // Check all locations calling the method getEntries() in\n // https://github.com/vaadin/flow/blob/master/flow-server/src/main/java/com/vaadin/flow/internal/UsageStatistics.java#L106\n // Currently it is only used by BootstrapHandler.\n if (version && version.indexOf('2') === 0) {\n // Polymer 2: components classes are stored in window.Vaadin\n elementClasses = Object.keys(window.Vaadin).map(function (c) {\n return window.Vaadin[c];\n }).filter(function (c) {\n return c.is;\n });\n } else {\n // Polymer 3: components classes are stored in window.Vaadin.registrations\n elementClasses = window.Vaadin.registrations || [];\n }\n elementClasses.forEach(function (klass) {\n var version = klass.version ? klass.version : \"0.0.0\";\n elements[klass.is] = { version: version };\n });\n }\n }, {\n key: 'getUsedVaadinThemes',\n value: function getUsedVaadinThemes(themes) {\n ['Lumo', 'Material'].forEach(function (themeName) {\n var theme;\n var version = getPolymerVersion();\n if (version && version.indexOf('2') === 0) {\n // Polymer 2: themes are stored in window.Vaadin\n theme = window.Vaadin[themeName];\n } else {\n // Polymer 3: themes are stored in custom element registry\n theme = customElements.get('vaadin-' + themeName.toLowerCase() + '-styles');\n }\n if (theme && theme.version) {\n themes[themeName] = { version: theme.version };\n }\n });\n }\n }, {\n key: 'getFrameworks',\n value: function getFrameworks(frameworks) {\n var detectors = this.frameworkVersionDetectors();\n Object.keys(detectors).forEach(function (framework) {\n var detector = detectors[framework];\n try {\n var version = detector();\n if (version) {\n frameworks[framework] = { version: version };\n }\n } catch (e) {}\n });\n }\n }, {\n key: 'gather',\n value: function gather(storage) {\n var storedStats = storage.read();\n var gatheredStats = {};\n var types = [\"elements\", \"frameworks\", \"themes\"];\n\n types.forEach(function (type) {\n gatheredStats[type] = {};\n if (!storedStats[type]) {\n storedStats[type] = {};\n }\n });\n\n var previousStats = JSON.stringify(storedStats);\n\n this.getUsedVaadinElements(gatheredStats.elements);\n this.getFrameworks(gatheredStats.frameworks);\n this.getUsedVaadinThemes(gatheredStats.themes);\n\n var now = this.now;\n types.forEach(function (type) {\n var keys = Object.keys(gatheredStats[type]);\n keys.forEach(function (key) {\n if (!storedStats[type][key] || _typeof(storedStats[type][key]) != _typeof({})) {\n storedStats[type][key] = { firstUsed: now };\n }\n // Discards any previously logged version number\n storedStats[type][key].version = gatheredStats[type][key].version;\n storedStats[type][key].lastUsed = now;\n });\n });\n\n var newStats = JSON.stringify(storedStats);\n storage.write(newStats);\n if (newStats != previousStats && Object.keys(storedStats).length > 0) {\n this.logger.debug(\"New stats: \" + newStats);\n }\n }\n }]);\n return StatisticsGatherer;\n}();\n\nvar StatisticsStorage = function () {\n function StatisticsStorage(key) {\n classCallCheck(this, StatisticsStorage);\n\n this.key = key;\n }\n\n createClass(StatisticsStorage, [{\n key: 'read',\n value: function read() {\n var localStorageStatsString = localStorage.getItem(this.key);\n try {\n return JSON.parse(localStorageStatsString ? localStorageStatsString : '{}');\n } catch (e) {\n return {};\n }\n }\n }, {\n key: 'write',\n value: function write(data) {\n localStorage.setItem(this.key, data);\n }\n }, {\n key: 'clear',\n value: function clear() {\n localStorage.removeItem(this.key);\n }\n }, {\n key: 'isEmpty',\n value: function isEmpty() {\n var storedStats = this.read();\n var empty = true;\n Object.keys(storedStats).forEach(function (key) {\n if (Object.keys(storedStats[key]).length > 0) {\n empty = false;\n }\n });\n\n return empty;\n }\n }]);\n return StatisticsStorage;\n}();\n\nvar StatisticsSender = function () {\n function StatisticsSender(url, logger) {\n classCallCheck(this, StatisticsSender);\n\n this.url = url;\n this.logger = logger;\n }\n\n createClass(StatisticsSender, [{\n key: 'send',\n value: function send(data, errorHandler) {\n var logger = this.logger;\n\n if (navigator.onLine === false) {\n logger.debug(\"Offline, can't send\");\n errorHandler();\n return;\n }\n logger.debug(\"Sending data to \" + this.url);\n\n var req = new XMLHttpRequest();\n req.withCredentials = true;\n req.addEventListener(\"load\", function () {\n // Stats sent, nothing more to do\n logger.debug(\"Response: \" + req.responseText);\n });\n req.addEventListener(\"error\", function () {\n logger.debug(\"Send failed\");\n errorHandler();\n });\n req.addEventListener(\"abort\", function () {\n logger.debug(\"Send aborted\");\n errorHandler();\n });\n req.open(\"POST\", this.url);\n req.setRequestHeader(\"Content-Type\", \"application/json\");\n req.send(data);\n }\n }]);\n return StatisticsSender;\n}();\n\nvar StatisticsLogger = function () {\n function StatisticsLogger(id) {\n classCallCheck(this, StatisticsLogger);\n\n this.id = id;\n }\n\n createClass(StatisticsLogger, [{\n key: '_isDebug',\n value: function _isDebug() {\n return localStorage.getItem(\"vaadin.\" + this.id + \".debug\");\n }\n }, {\n key: 'debug',\n value: function debug(msg) {\n if (this._isDebug()) {\n console.info(this.id + \": \" + msg);\n }\n }\n }]);\n return StatisticsLogger;\n}();\n\nvar UsageStatistics = function () {\n function UsageStatistics() {\n classCallCheck(this, UsageStatistics);\n\n this.now = new Date();\n this.timeNow = this.now.getTime();\n this.gatherDelay = 10; // Delay between loading this file and gathering stats\n this.initialDelay = 24 * 60 * 60;\n\n this.logger = new StatisticsLogger(\"statistics\");\n this.storage = new StatisticsStorage(\"vaadin.statistics.basket\");\n this.gatherer = new StatisticsGatherer(this.logger);\n this.sender = new StatisticsSender(\"https://tools.vaadin.com/usage-stats/submit\", this.logger);\n }\n\n createClass(UsageStatistics, [{\n key: 'maybeGatherAndSend',\n value: function maybeGatherAndSend() {\n var _this = this;\n\n if (localStorage.getItem(UsageStatistics.optOutKey)) {\n return;\n }\n this.gatherer.gather(this.storage);\n setTimeout(function () {\n _this.maybeSend();\n }, this.gatherDelay * 1000);\n }\n }, {\n key: 'lottery',\n value: function lottery() {\n return true;\n }\n }, {\n key: 'currentMonth',\n value: function currentMonth() {\n return this.now.getYear() * 12 + this.now.getMonth();\n }\n }, {\n key: 'maybeSend',\n value: function maybeSend() {\n var firstUse = Number(localStorage.getItem(UsageStatistics.firstUseKey));\n var monthProcessed = Number(localStorage.getItem(UsageStatistics.monthProcessedKey));\n\n if (!firstUse) {\n // Use a grace period to avoid interfering with tests, incognito mode etc\n firstUse = this.timeNow;\n localStorage.setItem(UsageStatistics.firstUseKey, firstUse);\n }\n\n if (this.timeNow < firstUse + this.initialDelay * 1000) {\n this.logger.debug(\"No statistics will be sent until the initial delay of \" + this.initialDelay + \"s has passed\");\n return;\n }\n if (this.currentMonth() <= monthProcessed) {\n this.logger.debug(\"This month has already been processed\");\n return;\n }\n localStorage.setItem(UsageStatistics.monthProcessedKey, this.currentMonth());\n // Use random sampling\n if (this.lottery()) {\n this.logger.debug(\"Congratulations, we have a winner!\");\n } else {\n this.logger.debug(\"Sorry, no stats from you this time\");\n return;\n }\n\n this.send();\n }\n }, {\n key: 'send',\n value: function send() {\n // Ensure we have the latest data\n this.gatherer.gather(this.storage);\n\n // Read, send and clean up\n var data = this.storage.read();\n data[\"firstUse\"] = Number(localStorage.getItem(UsageStatistics.firstUseKey));\n data[\"usageStatisticsVersion\"] = UsageStatistics.version;\n var info = 'This request contains usage statistics gathered from the application running in development mode. \\n\\nStatistics gathering is automatically disabled and excluded from production builds.\\n\\nFor details and to opt-out, see https://github.com/vaadin/vaadin-usage-statistics.\\n\\n\\n\\n';\n var self = this;\n this.sender.send(info + JSON.stringify(data), function () {\n // Revert the 'month processed' flag\n localStorage.setItem(UsageStatistics.monthProcessedKey, self.currentMonth() - 1);\n });\n }\n }], [{\n key: 'version',\n get: function get$1() {\n return '2.1.2';\n }\n }, {\n key: 'firstUseKey',\n get: function get$1() {\n return 'vaadin.statistics.firstuse';\n }\n }, {\n key: 'monthProcessedKey',\n get: function get$1() {\n return 'vaadin.statistics.monthProcessed';\n }\n }, {\n key: 'optOutKey',\n get: function get$1() {\n return 'vaadin.statistics.optout';\n }\n }]);\n return UsageStatistics;\n}();\n\ntry {\n window.Vaadin = window.Vaadin || {};\n window.Vaadin.usageStatsChecker = window.Vaadin.usageStatsChecker || new UsageStatistics();\n window.Vaadin.usageStatsChecker.maybeGatherAndSend();\n} catch (e) {\n // Intentionally ignored as this is not a problem in the app being developed\n}\n\n}());\n\n vaadin-dev-mode:end **/\n}\n\nexport const usageStatistics = function() {\n if (typeof runIfDevelopmentMode === 'function') {\n return runIfDevelopmentMode(maybeGatherAndSendStats);\n }\n};\n","/**\n * @license\n * Copyright (c) 2021 - 2023 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { setCancelSyntheticClickEvents } from '@polymer/polymer/lib/utils/settings.js';\nimport { usageStatistics } from '@vaadin/vaadin-usage-statistics/vaadin-usage-statistics.js';\nimport { idlePeriod } from './async.js';\nimport { Debouncer, enqueueDebouncer } from './debounce.js';\nimport { DirMixin } from './dir-mixin.js';\n\n// This setting affects the legacy Polymer gestures which get activated\n// once you import any iron component e.g iron-icon.\n// It has to be explicitly disabled to prevent click issues in iOS + VoiceOver\n// for buttons that are based on `[role=button]` e.g vaadin-button.\nsetCancelSyntheticClickEvents(false);\n\nif (!window.Vaadin) {\n window.Vaadin = {};\n}\n\n/**\n * Array of Vaadin custom element classes that have been finalized.\n */\nif (!window.Vaadin.registrations) {\n window.Vaadin.registrations = [];\n}\n\nif (!window.Vaadin.developmentModeCallback) {\n window.Vaadin.developmentModeCallback = {};\n}\n\nwindow.Vaadin.developmentModeCallback['vaadin-usage-statistics'] = function () {\n usageStatistics();\n};\n\nlet statsJob;\n\nconst registered = new Set();\n\n/**\n * @polymerMixin\n * @mixes DirMixin\n */\nexport const ElementMixin = (superClass) =>\n class VaadinElementMixin extends DirMixin(superClass) {\n /** @protected */\n static finalize() {\n super.finalize();\n\n const { is } = this;\n\n // Registers a class prototype for telemetry purposes.\n if (is && !registered.has(is)) {\n window.Vaadin.registrations.push(this);\n registered.add(is);\n\n if (window.Vaadin.developmentModeCallback) {\n statsJob = Debouncer.debounce(statsJob, idlePeriod, () => {\n window.Vaadin.developmentModeCallback['vaadin-usage-statistics']();\n });\n enqueueDebouncer(statsJob);\n }\n }\n }\n\n constructor() {\n super();\n\n if (document.doctype === null) {\n console.warn(\n 'Vaadin components require the \"standards mode\" declaration. Please add <!DOCTYPE html> to the HTML document.',\n );\n }\n }\n };\n"],"names":["DEV_MODE_CODE_REGEXP","FlowClients","window","Vaadin","Flow","clients","uncommentAndRun","callback","args","match","exec","toString","Function","e","console","log","maybeGatherAndSendStats","undefined","developmentMode","localStorage","getItem","indexOf","location","hostname","Object","keys","map","key","filter","client","productionMode","length","isDevelopmentMode","usageStatistics","runIfDevelopmentMode","statsJob","registrations","developmentModeCallback","registered","Set","ElementMixin","superClass","finalize","super","is","this","has","push","add","debounce","constructor","document","doctype","warn"],"sourceRoot":""}
|
package/dist/umd/8618.js
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 8618.js.LICENSE.txt */
|
|
2
|
-
"use strict";(self.webpackChunk_descope_web_components_ui=self.webpackChunk_descope_web_components_ui||[]).push([[8618],{5072:(e,t,o)=>{o.d(t,{B:()=>s});const s=o(51450).AH`
|
|
3
|
-
:host {
|
|
4
|
-
z-index: 200;
|
|
5
|
-
position: fixed;
|
|
6
|
-
|
|
7
|
-
/* Despite of what the names say, <vaadin-overlay> is just a container
|
|
8
|
-
for position/sizing/alignment. The actual overlay is the overlay part. */
|
|
9
|
-
|
|
10
|
-
/* Default position constraints: the entire viewport. Note: themes can
|
|
11
|
-
override this to introduce gaps between the overlay and the viewport. */
|
|
12
|
-
inset: 0;
|
|
13
|
-
bottom: var(--vaadin-overlay-viewport-bottom);
|
|
14
|
-
|
|
15
|
-
/* Use flexbox alignment for the overlay part. */
|
|
16
|
-
display: flex;
|
|
17
|
-
flex-direction: column; /* makes dropdowns sizing easier */
|
|
18
|
-
/* Align to center by default. */
|
|
19
|
-
align-items: center;
|
|
20
|
-
justify-content: center;
|
|
21
|
-
|
|
22
|
-
/* Allow centering when max-width/max-height applies. */
|
|
23
|
-
margin: auto;
|
|
24
|
-
|
|
25
|
-
/* The host is not clickable, only the overlay part is. */
|
|
26
|
-
pointer-events: none;
|
|
27
|
-
|
|
28
|
-
/* Remove tap highlight on touch devices. */
|
|
29
|
-
-webkit-tap-highlight-color: transparent;
|
|
30
|
-
|
|
31
|
-
/* CSS API for host */
|
|
32
|
-
--vaadin-overlay-viewport-bottom: 0;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
:host([hidden]),
|
|
36
|
-
:host(:not([opened]):not([closing])),
|
|
37
|
-
:host(:not([opened]):not([closing])) [part='overlay'] {
|
|
38
|
-
display: none !important;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
[part='overlay'] {
|
|
42
|
-
-webkit-overflow-scrolling: touch;
|
|
43
|
-
overflow: auto;
|
|
44
|
-
pointer-events: auto;
|
|
45
|
-
|
|
46
|
-
/* Prevent overflowing the host */
|
|
47
|
-
max-width: 100%;
|
|
48
|
-
box-sizing: border-box;
|
|
49
|
-
|
|
50
|
-
-webkit-tap-highlight-color: initial; /* reenable tap highlight inside */
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
[part='backdrop'] {
|
|
54
|
-
z-index: -1;
|
|
55
|
-
content: '';
|
|
56
|
-
background: rgba(0, 0, 0, 0.5);
|
|
57
|
-
position: fixed;
|
|
58
|
-
inset: 0;
|
|
59
|
-
pointer-events: auto;
|
|
60
|
-
}
|
|
61
|
-
`},24473:(e,t,o)=>{o.d(t,{c:()=>g});var s=o(72821),n=o(4080);let i=new WeakMap,r=new WeakMap,a={},l=0;const d=e=>e&&e.nodeType===Node.ELEMENT_NODE,h=(...e)=>{console.error(`Error: ${e.join(" ")}. Skip setting aria-hidden.`)},c=(e,t=document.body,o="data-aria-hidden")=>{const s=Array.from(Array.isArray(e)?e:[e]);return t&&s.push(...Array.from(t.querySelectorAll("[aria-live]"))),((e,t,o,s)=>{const n=((e,t)=>d(e)?t.map(t=>{if(!d(t))return h(t,"is not a valid element"),null;let o=t;for(;o&&o!==e;){if(e.contains(o))return t;o=o.getRootNode().host}return h(t,"is not contained inside",e),null}).filter(e=>Boolean(e)):(h(e,"is not a valid element"),[]))(t,Array.isArray(e)?e:[e]);a[o]||(a[o]=new WeakMap);const c=a[o],u=[],p=new Set,_=new Set(n),m=e=>{if(!e||p.has(e))return;p.add(e);const t=e.assignedSlot;t&&m(t),m(e.parentNode||e.host)};n.forEach(m);const v=e=>{if(!e||_.has(e))return;const t=e.shadowRoot;(t?[...e.children,...t.children]:[...e.children]).forEach(e=>{if(!["template","script","style"].includes(e.localName))if(p.has(e))v(e);else{const t=e.getAttribute(s),n=null!==t&&"false"!==t,a=(i.get(e)||0)+1,l=(c.get(e)||0)+1;i.set(e,a),c.set(e,l),u.push(e),1===a&&n&&r.set(e,!0),1===l&&e.setAttribute(o,"true"),n||e.setAttribute(s,"true")}})};return v(t),p.clear(),l+=1,()=>{u.forEach(e=>{const t=i.get(e)-1,n=c.get(e)-1;i.set(e,t),c.set(e,n),t||(r.has(e)?r.delete(e):e.removeAttribute(s)),n||e.removeAttribute(o)}),l-=1,l||(i=new WeakMap,i=new WeakMap,r=new WeakMap,a={})}})(s,t,o,"aria-hidden")};HTMLElement.prototype;class u{constructor(e,t){this.host=e,this.callback="function"==typeof t?t:()=>e}showModal(){const e=this.callback();this.__showOthers=c(e)}close(){this.__showOthers&&(this.__showOthers(),this.__showOthers=null)}}var p=o(51281),_=o(60626),m=o(30025),v=o(55774);const y=e=>class extends((0,v.w)(e)){static get properties(){return{focusTrap:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!1},restoreFocusNode:{type:HTMLElement}}}constructor(){super(),this.__ariaModalController=new u(this),this.__focusTrapController=new _.q(this),this.__focusRestorationController=new p.H}ready(){super.ready(),this.addController(this.__ariaModalController),this.addController(this.__focusTrapController),this.addController(this.__focusRestorationController)}_resetFocus(){if(this.focusTrap&&(this.__ariaModalController.close(),this.__focusTrapController.releaseFocus()),this.restoreFocusOnClose&&this._shouldRestoreFocus()){const e=!(0,m.aJ)();this.__focusRestorationController.restoreFocus({preventScroll:e})}}_saveFocus(){this.restoreFocusOnClose&&this.__focusRestorationController.saveFocus(this.restoreFocusNode)}_trapFocus(){this.focusTrap&&(this.__ariaModalController.showModal(),this.__focusTrapController.trapFocus(this.$.overlay))}_shouldRestoreFocus(){const e=(0,m.dw)();return e===document.body||this._deepContains(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}},b=()=>Array.from(document.body.children).filter(e=>e instanceof HTMLElement&&e._hasOverlayStackMixin&&!e.hasAttribute("closing")).sort((e,t)=>e.__zIndex-t.__zIndex||0),f=e=>class extends e{constructor(){super(),this._hasOverlayStackMixin=!0}get _last(){return this===b().pop()}bringToFront(){let e="";const t=b().filter(e=>e!==this).pop();t&&(e=t.__zIndex+1),this.style.zIndex=e,this.__zIndex=e||parseFloat(getComputedStyle(this).zIndex)}_enterModalState(){"none"!==document.body.style.pointerEvents&&(this._previousDocumentPointerEvents=document.body.style.pointerEvents,document.body.style.pointerEvents="none"),b().forEach(e=>{e!==this&&(e.$.overlay.style.pointerEvents="none")})}_exitModalState(){void 0!==this._previousDocumentPointerEvents&&(document.body.style.pointerEvents=this._previousDocumentPointerEvents,delete this._previousDocumentPointerEvents);const e=b();let t;for(;(t=e.pop())&&(t===this||(t.$.overlay.style.removeProperty("pointer-events"),t.modeless)););}},g=e=>class extends(y(f(e))){static get properties(){return{opened:{type:Boolean,notify:!0,observer:"_openedChanged",reflectToAttribute:!0},owner:{type:Object},model:{type:Object},renderer:{type:Object},modeless:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"_modelessChanged"},hidden:{type:Boolean,reflectToAttribute:!0,observer:"_hiddenChanged"},withBackdrop:{type:Boolean,value:!1,reflectToAttribute:!0}}}static get observers(){return["_rendererOrDataChanged(renderer, owner, model, opened)"]}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),n.un&&(this._boundIosResizeListener=()=>this._detectIosNavbar())}ready(){super.ready(),this.addEventListener("click",()=>{}),this.$.backdrop.addEventListener("click",()=>{}),this.addEventListener("mouseup",()=>{document.activeElement===document.body&&"0"===this.$.overlay.getAttribute("tabindex")&&this.$.overlay.focus()})}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)}close(e){const t=new CustomEvent("vaadin-overlay-close",{bubbles:!0,cancelable:!0,detail:{sourceEvent:e}});this.dispatchEvent(t),t.defaultPrevented||(this.opened=!1)}_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")}_addGlobalListeners(){document.addEventListener("mousedown",this._boundMouseDownListener),document.addEventListener("mouseup",this._boundMouseUpListener),document.documentElement.addEventListener("click",this._boundOutsideClickListener,!0)}_removeGlobalListeners(){document.removeEventListener("mousedown",this._boundMouseDownListener),document.removeEventListener("mouseup",this._boundMouseUpListener),document.documentElement.removeEventListener("click",this._boundOutsideClickListener,!0)}_rendererOrDataChanged(e,t,o,s){const n=this._oldOwner!==t||this._oldModel!==o;this._oldModel=o,this._oldOwner=t;const i=this._oldRenderer!==e,r=void 0!==this._oldRenderer;this._oldRenderer=e;const a=this._oldOpened!==s;this._oldOpened=s,i&&r&&(this.innerHTML="",delete this._$litPart$),s&&e&&(i||a||n)&&this.requestContentUpdate()}_modelessChanged(e){e?(this._removeGlobalListeners(),this._exitModalState()):this.opened&&(this._addGlobalListeners(),this._enterModalState())}_openedChanged(e,t){e?(this._saveFocus(),this._animatedOpening(),(0,s.m)(this,()=>{this._trapFocus();const e=new CustomEvent("vaadin-overlay-open",{bubbles:!0});this.dispatchEvent(e)}),document.addEventListener("keydown",this._boundKeydownListener),this.modeless||this._addGlobalListeners()):t&&(this._resetFocus(),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`,s=e=>{e&&e.target!==this||(t(),this.removeEventListener("animationend",s),delete this[o])};this[o]=s,this.addEventListener("animationend",s)}_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(){this.hasAttribute("opening")&&this._flushAnimation("opening"),this._placeholder&&(this._exitModalState(),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)}_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)}}}},40211:(e,t,o)=>{o.d(t,{L:()=>n}),o(64511),o(9433),o(3241),o(83315);var s=o(87550);const n=s.AH`
|
|
62
|
-
:host {
|
|
63
|
-
top: var(--lumo-space-m);
|
|
64
|
-
right: var(--lumo-space-m);
|
|
65
|
-
bottom: var(--lumo-space-m);
|
|
66
|
-
left: var(--lumo-space-m);
|
|
67
|
-
/* Workaround for Edge issue (only on Surface), where an overflowing vaadin-list-box inside vaadin-select-overlay makes the overlay transparent */
|
|
68
|
-
/* stylelint-disable-next-line */
|
|
69
|
-
outline: 0px solid transparent;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
[part='overlay'] {
|
|
73
|
-
background-color: var(--lumo-base-color);
|
|
74
|
-
background-image: linear-gradient(var(--lumo-tint-5pct), var(--lumo-tint-5pct));
|
|
75
|
-
border-radius: var(--lumo-border-radius-m);
|
|
76
|
-
box-shadow: 0 0 0 1px var(--lumo-shade-5pct), var(--lumo-box-shadow-m);
|
|
77
|
-
color: var(--lumo-body-text-color);
|
|
78
|
-
font-family: var(--lumo-font-family);
|
|
79
|
-
font-size: var(--lumo-font-size-m);
|
|
80
|
-
font-weight: 400;
|
|
81
|
-
line-height: var(--lumo-line-height-m);
|
|
82
|
-
letter-spacing: 0;
|
|
83
|
-
text-transform: none;
|
|
84
|
-
-webkit-text-size-adjust: 100%;
|
|
85
|
-
-webkit-font-smoothing: antialiased;
|
|
86
|
-
-moz-osx-font-smoothing: grayscale;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
[part='content'] {
|
|
90
|
-
padding: var(--lumo-space-xs);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
[part='backdrop'] {
|
|
94
|
-
background-color: var(--lumo-shade-20pct);
|
|
95
|
-
animation: 0.2s lumo-overlay-backdrop-enter both;
|
|
96
|
-
will-change: opacity;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
@keyframes lumo-overlay-backdrop-enter {
|
|
100
|
-
0% {
|
|
101
|
-
opacity: 0;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
:host([closing]) [part='backdrop'] {
|
|
106
|
-
animation: 0.2s lumo-overlay-backdrop-exit both;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
@keyframes lumo-overlay-backdrop-exit {
|
|
110
|
-
100% {
|
|
111
|
-
opacity: 0;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
@keyframes lumo-overlay-dummy-animation {
|
|
116
|
-
0% {
|
|
117
|
-
opacity: 1;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
100% {
|
|
121
|
-
opacity: 1;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
`;(0,s.SF)("",n,{moduleId:"lumo-overlay"})},51281:(e,t,o)=>{o.d(t,{H:()=>n});var s=o(30025);class n{saveFocus(e){this.focusNode=e||(0,s.dw)()}restoreFocus(e){const t=this.focusNode;if(!t)return;const o=!!e&&e.preventScroll;(0,s.dw)()===document.body?setTimeout(()=>t.focus({preventScroll:o})):t.focus({preventScroll:o}),this.focusNode=null}}},55341:(e,t,o)=>{o.d(t,{i:()=>s});const s=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 s="string"==typeof e?e.split(" ").filter(Boolean):[];s.length>0&&o.add(...s),this.__previousClasses=s}}},60626:(e,t,o)=>{o.d(t,{q:()=>i});var s=o(30025);const n=[];class i{constructor(e){this.host=e,this.__trapNode=null,this.__onKeyDown=this.__onKeyDown.bind(this)}get __focusableElements(){return(0,s.iq)(this.__trapNode)}get __focusedElementIndex(){const e=this.__focusableElements;return e.indexOf(e.filter(s.Qj).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.");n.push(this),-1===this.__focusedElementIndex&&this.__focusableElements[0].focus()}releaseFocus(){this.__trapNode=null,n.pop()}__onKeyDown(e){if(this.__trapNode&&this===Array.from(n).pop()&&"Tab"===e.key){e.preventDefault();const t=e.shiftKey;this.__focusNextElement(t)}}__focusNextElement(e=!1){const t=this.__focusableElements,o=e?-1:1,s=this.__focusedElementIndex,n=t[(t.length+s+o)%t.length];n.focus(),"input"===n.localName&&n.select()}}},72821:(e,t,o)=>{o.d(t,{m:()=>l}),o(68358);let s=!1,n=[],i=[];function r(){s=!0,requestAnimationFrame(function(){s=!1,function(e){for(;e.length;)a(e.shift())}(n),setTimeout(function(){!function(e){for(let t=0,o=e.length;t<o;t++)a(e.shift())}(i)})})}function a(e){const t=e[0],o=e[1],s=e[2];try{o.apply(t,s)}catch(e){setTimeout(()=>{throw e})}}function l(e,t,o){s||r(),i.push([e,t,o])}}}]);
|
|
125
|
-
//# sourceMappingURL=8618.js.map
|