@maggioli-design-system/mds-dropdown
Advanced tools
Comparing version 2.2.0 to 2.2.1
@@ -8,3 +8,3 @@ 'use strict'; | ||
/* | ||
Stencil Client Patch Esm v2.18.1 | MIT Licensed | https://stenciljs.com | ||
Stencil Client Patch Esm v2.19.3 | MIT Licensed | https://stenciljs.com | ||
*/ | ||
@@ -11,0 +11,0 @@ const patchEsm = () => { |
@@ -6,3 +6,2 @@ 'use strict'; | ||
const index = require('./index-d1a0a511.js'); | ||
const aria = require('@common/aria'); | ||
@@ -116,5 +115,5 @@ function getSide(placement) { | ||
let middlewareData = {}; | ||
let resetCount = 0; | ||
for (let i = 0; i < middleware.length; i++) { | ||
const { | ||
@@ -151,3 +150,5 @@ name, | ||
if (reset) { | ||
if (reset && resetCount <= 50) { | ||
resetCount++; | ||
if (typeof reset === 'object') { | ||
@@ -260,5 +261,3 @@ if (reset.placement) { | ||
strategy | ||
}) : rects[elementContext]); // positive = overflowing the clipping rect | ||
// 0 or negative = within the clipping rect | ||
}) : rects[elementContext]); | ||
return { | ||
@@ -313,2 +312,3 @@ top: clippingClientRect.top - elementClientRect.top + paddingObject.top, | ||
const axis = getMainAxisFromPlacement(placement); | ||
const alignment = getAlignment(placement); | ||
const length = getLengthFromAxis(axis); | ||
@@ -321,5 +321,10 @@ const arrowDimensions = await platform.getDimensions(element); | ||
const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element)); | ||
const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; | ||
let clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; | ||
if (clientSize === 0) { | ||
clientSize = rects.floating[length]; | ||
} | ||
const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center | ||
// point is outside of the floating element's bounds | ||
// point is outside the floating element's bounds | ||
@@ -329,4 +334,9 @@ const min = paddingObject[minProp]; | ||
const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference; | ||
const offset = within(min, center, max); | ||
const offset = within(min, center, max); // Make sure that arrow points at the reference | ||
const alignmentPadding = alignment === 'start' ? paddingObject[minProp] : paddingObject[maxProp]; | ||
const shouldAddOffset = alignmentPadding > 0 && center !== offset && rects.reference[length] <= rects.floating[length]; | ||
const alignmentOffset = shouldAddOffset ? center < min ? min - center : max - center : 0; | ||
return { | ||
[axis]: coords[axis] - alignmentOffset, | ||
data: { | ||
@@ -371,3 +381,3 @@ [axis]: offset, | ||
const hash = { | ||
const hash$2 = { | ||
start: 'end', | ||
@@ -377,3 +387,3 @@ end: 'start' | ||
function getOppositeAlignmentPlacement(placement) { | ||
return placement.replace(/start|end/g, matched => hash[matched]); | ||
return placement.replace(/start|end/g, matched => hash$2[matched]); | ||
} | ||
@@ -614,7 +624,9 @@ | ||
function convertValueToCoords(placement, rects, value, rtl) { | ||
if (rtl === void 0) { | ||
rtl = false; | ||
} | ||
async function convertValueToCoords(middlewareArguments, value) { | ||
const { | ||
placement, | ||
platform, | ||
elements | ||
} = middlewareArguments; | ||
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)); | ||
const side = getSide(placement); | ||
@@ -625,5 +637,3 @@ const alignment = getAlignment(placement); | ||
const crossAxisMulti = rtl && isVertical ? -1 : 1; | ||
const rawValue = typeof value === 'function' ? value({ ...rects, | ||
placement | ||
}) : value; // eslint-disable-next-line prefer-const | ||
const rawValue = typeof value === 'function' ? value(middlewareArguments) : value; // eslint-disable-next-line prefer-const | ||
@@ -674,9 +684,5 @@ let { | ||
x, | ||
y, | ||
placement, | ||
rects, | ||
platform, | ||
elements | ||
y | ||
} = middlewareArguments; | ||
const diffCoords = convertValueToCoords(placement, rects, value, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))); | ||
const diffCoords = await convertValueToCoords(middlewareArguments, value); | ||
return { | ||
@@ -790,3 +796,3 @@ x: x + diffCoords.x, | ||
function getComputedStyle$1(element) { | ||
function getComputedStyle(element) { | ||
return getWindow(element).getComputedStyle(element); | ||
@@ -799,2 +805,12 @@ } | ||
function getUAString() { | ||
const uaData = navigator.userAgentData; | ||
if (uaData != null && uaData.brands) { | ||
return uaData.brands.map(item => item.brand + "/" + item.version).join(' '); | ||
} | ||
return navigator.userAgent; | ||
} | ||
function isHTMLElement(value) { | ||
@@ -823,5 +839,6 @@ return value instanceof getWindow(value).HTMLElement; | ||
overflowX, | ||
overflowY | ||
} = getComputedStyle$1(element); | ||
return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); | ||
overflowY, | ||
display | ||
} = getComputedStyle(element); | ||
return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display); | ||
} | ||
@@ -833,13 +850,16 @@ function isTableElement(element) { | ||
// TODO: Try and use feature detection here instead | ||
const isFirefox = navigator.userAgent.toLowerCase().includes('firefox'); | ||
const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that | ||
const isFirefox = /firefox/i.test(getUAString()); | ||
const css = getComputedStyle(element); // This is non-exhaustive but covers the most common CSS properties that | ||
// create a containing block. | ||
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block | ||
return css.transform !== 'none' || css.perspective !== 'none' || // @ts-ignore (TS 4.1 compat) | ||
css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false); | ||
return css.transform !== 'none' || css.perspective !== 'none' || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective'].some(value => css.willChange.includes(value)) || ['paint', 'layout', 'strict', 'content'].some( // TS 4.1 compat | ||
value => { | ||
const contain = css.contain; | ||
return contain != null ? contain.includes(value) : false; | ||
}); | ||
} | ||
function isLayoutViewport() { | ||
// Not Safari | ||
return !/^((?!chrome|android).)*safari/i.test(navigator.userAgent); // Feature detection for this fails in various ways | ||
return !/^((?!chrome|android).)*safari/i.test(getUAString()); // Feature detection for this fails in various ways | ||
// • Always-visible scrollbar or not | ||
@@ -850,2 +870,5 @@ // • Width of <html>, etc. | ||
} | ||
function isLastTraversableNode(node) { | ||
return ['html', 'body', '#document'].includes(getNodeName(node)); | ||
} | ||
@@ -989,7 +1012,8 @@ const min = Math.min; | ||
while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) { | ||
while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) { | ||
if (isContainingBlock(currentNode)) { | ||
return currentNode; | ||
} else { | ||
currentNode = currentNode.parentNode; | ||
const parent = currentNode.parentNode; | ||
currentNode = isShadowRoot(parent) ? parent.host : parent; | ||
} | ||
@@ -1118,3 +1142,3 @@ } | ||
if (getComputedStyle$1(body || html).direction === 'rtl') { | ||
if (getComputedStyle(body || html).direction === 'rtl') { | ||
x += max(html.clientWidth, body ? body.clientWidth : 0) - width; | ||
@@ -1134,3 +1158,3 @@ } | ||
if (['html', 'body', '#document'].includes(getNodeName(parentNode))) { | ||
if (isLastTraversableNode(parentNode)) { | ||
// @ts-ignore assume body is always available | ||
@@ -1164,5 +1188,5 @@ return node.ownerDocument.body; | ||
function contains(parent, child) { | ||
const rootNode = child == null ? void 0 : child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method | ||
const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method | ||
if (parent != null && parent.contains(child)) { | ||
if (parent.contains(child)) { | ||
return true; | ||
@@ -1187,2 +1211,18 @@ } // then fallback to custom implementation with Shadow DOM support | ||
function getNearestParentCapableOfEscapingClipping(element, clippingAncestors) { | ||
let currentNode = element; | ||
while (currentNode && !isLastTraversableNode(currentNode) && // @ts-expect-error | ||
!clippingAncestors.includes(currentNode)) { | ||
if (isElement(currentNode) && ['absolute', 'fixed'].includes(getComputedStyle(currentNode).position)) { | ||
break; | ||
} | ||
const parentNode = getParentNode(currentNode); | ||
currentNode = isShadowRoot(parentNode) ? parentNode.host : parentNode; | ||
} | ||
return currentNode; | ||
} | ||
function getInnerBoundingClientRect(element, strategy) { | ||
@@ -1221,5 +1261,15 @@ const clientRect = getBoundingClientRect(element, false, strategy === 'fixed'); | ||
const clippingAncestors = getOverflowAncestors(element); | ||
const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position); | ||
const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; | ||
const nearestEscapableParent = getNearestParentCapableOfEscapingClipping(element, clippingAncestors); | ||
let clipperElement = null; | ||
if (nearestEscapableParent && isHTMLElement(nearestEscapableParent)) { | ||
const offsetParent = getOffsetParent(nearestEscapableParent); | ||
if (isOverflowElement(nearestEscapableParent)) { | ||
clipperElement = nearestEscapableParent; | ||
} else if (isHTMLElement(offsetParent)) { | ||
clipperElement = offsetParent; | ||
} | ||
} | ||
if (!isElement(clipperElement)) { | ||
@@ -1230,3 +1280,3 @@ return []; | ||
return clippingAncestors.filter(clippingAncestors => isElement(clippingAncestors) && contains(clippingAncestors, clipperElement) && getNodeName(clippingAncestors) !== 'body'); | ||
return clippingAncestors.filter(clippingAncestors => clipperElement && isElement(clippingAncestors) && contains(clippingAncestors, clipperElement) && getNodeName(clippingAncestors) !== 'body'); | ||
} // Gets the maximum area that the element is visible in due to any number of | ||
@@ -1284,3 +1334,3 @@ // clipping ancestors | ||
getClientRects: element => Array.from(element.getClientRects()), | ||
isRTL: element => getComputedStyle$1(element).direction === 'rtl' | ||
isRTL: element => getComputedStyle(element).direction === 'rtl' | ||
}; | ||
@@ -1299,11 +1349,8 @@ | ||
ancestorScroll: _ancestorScroll = true, | ||
ancestorResize: _ancestorResize = true, | ||
elementResize: _elementResize = true, | ||
ancestorResize = true, | ||
elementResize = true, | ||
animationFrame = false | ||
} = options; | ||
let cleanedUp = false; | ||
const ancestorScroll = _ancestorScroll && !animationFrame; | ||
const ancestorResize = _ancestorResize && !animationFrame; | ||
const elementResize = _elementResize && !animationFrame; | ||
const ancestors = ancestorScroll || ancestorResize ? [...(isElement(reference) ? getOverflowAncestors(reference) : []), ...getOverflowAncestors(floating)] : []; | ||
const ancestors = ancestorScroll || ancestorResize ? [...(isElement(reference) ? getOverflowAncestors(reference) : reference.contextElement ? getOverflowAncestors(reference.contextElement) : []), ...getOverflowAncestors(floating)] : []; | ||
ancestors.forEach(ancestor => { | ||
@@ -1318,4 +1365,16 @@ ancestorScroll && ancestor.addEventListener('scroll', update, { | ||
if (elementResize) { | ||
observer = new ResizeObserver(update); | ||
isElement(reference) && observer.observe(reference); | ||
let initialUpdate = true; | ||
observer = new ResizeObserver(() => { | ||
if (!initialUpdate) { | ||
update(); | ||
} | ||
initialUpdate = false; | ||
}); | ||
isElement(reference) && !animationFrame && observer.observe(reference); | ||
if (!isElement(reference) && reference.contextElement && !animationFrame) { | ||
observer.observe(reference.contextElement); | ||
} | ||
observer.observe(floating); | ||
@@ -1332,6 +1391,2 @@ } | ||
function frameLoop() { | ||
if (cleanedUp) { | ||
return; | ||
} | ||
const nextRefRect = getBoundingClientRect(reference); | ||
@@ -1347,6 +1402,6 @@ | ||
update(); | ||
return () => { | ||
var _observer; | ||
cleanedUp = true; | ||
ancestors.forEach(ancestor => { | ||
@@ -1381,2 +1436,18 @@ ancestorScroll && ancestor.removeEventListener('scroll', update); | ||
const hash = (s) => { | ||
let i, h; | ||
for (i = 0, h = 0; i < s.length; i++) { | ||
h = Math.imul(31, h) + s.charCodeAt(i) | 0; | ||
} | ||
return h.toString(); | ||
}; | ||
const setAttributeIfEmpty = (element, attribute, value) => { | ||
if (element.hasAttribute(attribute)) { | ||
return element.getAttribute(attribute); | ||
} | ||
element.setAttribute(attribute, value); | ||
return value; | ||
}; | ||
const hashValue = (value) => `${value}-${hash(value)}`; | ||
const mdsDropdownCss = ".visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mt-\\[25vh\\]{margin-top:25vh}.flex{display:-ms-flexbox;display:flex}.h-\\[2px\\]{height:2px}.h-\\[200vh\\]{height:200vh}.h-\\[100vh\\]{height:100vh}.w-20{width:5rem}.w-full{width:100%}.max-w-\\[350px\\]{max-width:350px}.transform{-webkit-transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.items-center{-ms-flex-align:center;align-items:center}.justify-start{-ms-flex-pack:start;justify-content:flex-start}.justify-end{-ms-flex-pack:end;justify-content:flex-end}.justify-center{-ms-flex-pack:center;justify-content:center}.border{border-width:1px}.bg-brand-maggioli-06{--tw-bg-opacity:1;background-color:rgba(var(--brand-maggioli-06), var(--tw-bg-opacity))}.bg-tone-neutral-08{--tw-bg-opacity:1;background-color:rgba(var(--tone-neutral-08), var(--tw-bg-opacity))}.text-tone-neutral-04{--tw-text-opacity:1;color:rgba(var(--tone-neutral-04), var(--tw-text-opacity))}.text-tone-neutral-02{--tw-text-opacity:1;color:rgba(var(--tone-neutral-02), var(--tw-text-opacity))}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;-webkit-transition-property:color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:150ms;transition-duration:150ms}.ease-out{-webkit-transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}:host{--background-arrow:var(--background);--background:rgb(var(--tone-neutral));--drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1)) drop-shadow(0 0 1px rgba(0, 0, 0, 0.1));--duration:0.5s;--ease:cubic-bezier(0.19, 1, 0.22, 1);--transform-from:scale(0.9) translateY(-3%);--transform-to:scale(1) translate(0, 0);pointer-events:none;position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;gap:1rem;border-radius:0.5rem;padding:1.5rem;opacity:0;background-color:var(--background);-webkit-filter:var(--drop-shadow);filter:var(--drop-shadow);-webkit-transform:var(--transform-from);transform:var(--transform-from);-webkit-transition-duration:var(--duration);transition-duration:var(--duration);-webkit-transition-property:opacity, -webkit-transform, -webkit-transform-origin;transition-property:opacity, -webkit-transform, -webkit-transform-origin;transition-property:opacity, transform, transform-origin;transition-property:opacity, transform, transform-origin, -webkit-transform, -webkit-transform-origin;-webkit-transition-timing-function:var(--ease);transition-timing-function:var(--ease)}:host([visible]:not([visible=false])){pointer-events:auto;opacity:1;-webkit-transform:var(--transform-to);transform:var(--transform-to)}:host([smooth]:not([smooth=false])){-webkit-transition-property:bottom, left, opacity, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, opacity, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, opacity, right, top, transform, transform-origin;transition-property:bottom, left, opacity, right, top, transform, transform-origin, -webkit-transform, -webkit-transform-origin}.arrow{pointer-events:none;position:fixed;top:-1rem;display:-ms-flexbox;display:flex;fill:var(--background-arrow);-webkit-transition-duration:var(--duration);transition-duration:var(--duration);-webkit-transition-property:bottom, left, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, right, top, transform, transform-origin;transition-property:bottom, left, right, top, transform, transform-origin, -webkit-transform, -webkit-transform-origin}:host([arrow]:not([arrow=false])[visible]:not([visible=false])) .arrow{-webkit-transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1)}:host([arrow]:not([arrow=false]):not([visible]):not([visible=true])) .arrow{-webkit-transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1)}::slotted(*){position:relative;z-index:10}"; | ||
@@ -1392,50 +1463,2 @@ | ||
this.backdropId = 'mds-dropdown-backdrop'; | ||
/** | ||
* If set, the component will have an arrow pointing to the caller. | ||
*/ | ||
this.arrow = true; | ||
/** | ||
* Sets the distance between arrow and dropdown margins. | ||
*/ | ||
this.arrowPadding = 24; | ||
/** | ||
* If set, the component will be placed automatically near it's caller. | ||
*/ | ||
this.autoPlacement = false; | ||
/** | ||
* Specifies if the component has a backdrop background | ||
*/ | ||
this.backdrop = false; | ||
/** | ||
* Specifies the placement of the component if no space is available where it is placed. | ||
*/ | ||
this.flip = false; | ||
/** | ||
* Sets distance between the dropdown and the caller. | ||
*/ | ||
this.offset = 24; | ||
/** | ||
* Specifies where the component should be placed relative to the caller. | ||
*/ | ||
this.placement = 'bottom'; | ||
/** | ||
* If set, the component will be kept inside the viewport. | ||
*/ | ||
this.shift = true; | ||
/** | ||
* Sets a safe area distance between the dropdown and the viewport. | ||
*/ | ||
this.shiftPadding = 24; | ||
/** | ||
* If set, the component will follow the caller smoothly, visible when the page scrolls. | ||
*/ | ||
this.smooth = true; | ||
/** | ||
* Sets the CSS position strategy of the component. | ||
*/ | ||
this.strategy = 'fixed'; | ||
/** | ||
* Specifies the visibility of the component. | ||
*/ | ||
this.visible = false; | ||
this.handleCloseDropdown = (e = null) => { | ||
@@ -1570,2 +1593,15 @@ if (!this.visible) { | ||
}; | ||
this.arrow = true; | ||
this.arrowPadding = 24; | ||
this.autoPlacement = false; | ||
this.backdrop = false; | ||
this.flip = false; | ||
this.target = undefined; | ||
this.offset = 24; | ||
this.placement = 'bottom'; | ||
this.shift = true; | ||
this.shiftPadding = 24; | ||
this.smooth = true; | ||
this.strategy = 'fixed'; | ||
this.visible = false; | ||
} | ||
@@ -1657,7 +1693,7 @@ onCloseListener() { | ||
setAriaAttributes() { | ||
const hostId = aria.setAttributeIfEmpty(this.host, 'id', aria.hashValue(this.target)); | ||
aria.setAttributeIfEmpty(this.caller, 'aria-haspopup', 'true'); | ||
aria.setAttributeIfEmpty(this.caller, 'aria-controls', hostId); | ||
aria.setAttributeIfEmpty(this.host, 'role', 'menu'); | ||
aria.setAttributeIfEmpty(this.host, 'aria-labelledby', this.target); | ||
const hostId = setAttributeIfEmpty(this.host, 'id', hashValue(this.target)); | ||
setAttributeIfEmpty(this.caller, 'aria-haspopup', 'true'); | ||
setAttributeIfEmpty(this.caller, 'aria-controls', hostId); | ||
setAttributeIfEmpty(this.host, 'role', 'menu'); | ||
setAttributeIfEmpty(this.host, 'aria-labelledby', this.target); | ||
} | ||
@@ -1664,0 +1700,0 @@ componentDidLoad() { |
@@ -6,3 +6,3 @@ 'use strict'; | ||
/* | ||
Stencil Client Patch Browser v2.18.1 | MIT Licensed | https://stenciljs.com | ||
Stencil Client Patch Browser v2.19.3 | MIT Licensed | https://stenciljs.com | ||
*/ | ||
@@ -9,0 +9,0 @@ const patchBrowser = () => { |
@@ -7,3 +7,3 @@ { | ||
"name": "@stencil/core", | ||
"version": "2.18.1", | ||
"version": "2.19.3", | ||
"typescriptVersion": "4.7.4" | ||
@@ -10,0 +10,0 @@ }, |
@@ -11,50 +11,2 @@ import { Host, h } from '@stencil/core'; | ||
this.backdropId = 'mds-dropdown-backdrop'; | ||
/** | ||
* If set, the component will have an arrow pointing to the caller. | ||
*/ | ||
this.arrow = true; | ||
/** | ||
* Sets the distance between arrow and dropdown margins. | ||
*/ | ||
this.arrowPadding = 24; | ||
/** | ||
* If set, the component will be placed automatically near it's caller. | ||
*/ | ||
this.autoPlacement = false; | ||
/** | ||
* Specifies if the component has a backdrop background | ||
*/ | ||
this.backdrop = false; | ||
/** | ||
* Specifies the placement of the component if no space is available where it is placed. | ||
*/ | ||
this.flip = false; | ||
/** | ||
* Sets distance between the dropdown and the caller. | ||
*/ | ||
this.offset = 24; | ||
/** | ||
* Specifies where the component should be placed relative to the caller. | ||
*/ | ||
this.placement = 'bottom'; | ||
/** | ||
* If set, the component will be kept inside the viewport. | ||
*/ | ||
this.shift = true; | ||
/** | ||
* Sets a safe area distance between the dropdown and the viewport. | ||
*/ | ||
this.shiftPadding = 24; | ||
/** | ||
* If set, the component will follow the caller smoothly, visible when the page scrolls. | ||
*/ | ||
this.smooth = true; | ||
/** | ||
* Sets the CSS position strategy of the component. | ||
*/ | ||
this.strategy = 'fixed'; | ||
/** | ||
* Specifies the visibility of the component. | ||
*/ | ||
this.visible = false; | ||
this.handleCloseDropdown = (e = null) => { | ||
@@ -193,2 +145,15 @@ if (!this.visible) { | ||
}; | ||
this.arrow = true; | ||
this.arrowPadding = 24; | ||
this.autoPlacement = false; | ||
this.backdrop = false; | ||
this.flip = false; | ||
this.target = undefined; | ||
this.offset = 24; | ||
this.placement = 'bottom'; | ||
this.shift = true; | ||
this.shiftPadding = 24; | ||
this.smooth = true; | ||
this.strategy = 'fixed'; | ||
this.visible = false; | ||
} | ||
@@ -195,0 +160,0 @@ onCloseListener() { |
const typographyDictionary = [ | ||
'action', | ||
'caption', | ||
'code', | ||
'snippet', | ||
'detail', | ||
@@ -22,6 +22,6 @@ 'h1', | ||
'read', | ||
'mono', | ||
'code', | ||
]; | ||
const typographyMonoDictionary = [ | ||
'code', | ||
'snippet', | ||
'hack', | ||
@@ -28,0 +28,0 @@ ]; |
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client'; | ||
import { setAttributeIfEmpty, hashValue } from '@common/aria'; | ||
@@ -111,5 +110,5 @@ function getSide(placement) { | ||
let middlewareData = {}; | ||
let resetCount = 0; | ||
for (let i = 0; i < middleware.length; i++) { | ||
const { | ||
@@ -146,3 +145,5 @@ name, | ||
if (reset) { | ||
if (reset && resetCount <= 50) { | ||
resetCount++; | ||
if (typeof reset === 'object') { | ||
@@ -255,5 +256,3 @@ if (reset.placement) { | ||
strategy | ||
}) : rects[elementContext]); // positive = overflowing the clipping rect | ||
// 0 or negative = within the clipping rect | ||
}) : rects[elementContext]); | ||
return { | ||
@@ -308,2 +307,3 @@ top: clippingClientRect.top - elementClientRect.top + paddingObject.top, | ||
const axis = getMainAxisFromPlacement(placement); | ||
const alignment = getAlignment(placement); | ||
const length = getLengthFromAxis(axis); | ||
@@ -316,5 +316,10 @@ const arrowDimensions = await platform.getDimensions(element); | ||
const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element)); | ||
const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; | ||
let clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; | ||
if (clientSize === 0) { | ||
clientSize = rects.floating[length]; | ||
} | ||
const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center | ||
// point is outside of the floating element's bounds | ||
// point is outside the floating element's bounds | ||
@@ -324,4 +329,9 @@ const min = paddingObject[minProp]; | ||
const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference; | ||
const offset = within(min, center, max); | ||
const offset = within(min, center, max); // Make sure that arrow points at the reference | ||
const alignmentPadding = alignment === 'start' ? paddingObject[minProp] : paddingObject[maxProp]; | ||
const shouldAddOffset = alignmentPadding > 0 && center !== offset && rects.reference[length] <= rects.floating[length]; | ||
const alignmentOffset = shouldAddOffset ? center < min ? min - center : max - center : 0; | ||
return { | ||
[axis]: coords[axis] - alignmentOffset, | ||
data: { | ||
@@ -366,3 +376,3 @@ [axis]: offset, | ||
const hash = { | ||
const hash$2 = { | ||
start: 'end', | ||
@@ -372,3 +382,3 @@ end: 'start' | ||
function getOppositeAlignmentPlacement(placement) { | ||
return placement.replace(/start|end/g, matched => hash[matched]); | ||
return placement.replace(/start|end/g, matched => hash$2[matched]); | ||
} | ||
@@ -609,7 +619,9 @@ | ||
function convertValueToCoords(placement, rects, value, rtl) { | ||
if (rtl === void 0) { | ||
rtl = false; | ||
} | ||
async function convertValueToCoords(middlewareArguments, value) { | ||
const { | ||
placement, | ||
platform, | ||
elements | ||
} = middlewareArguments; | ||
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)); | ||
const side = getSide(placement); | ||
@@ -620,5 +632,3 @@ const alignment = getAlignment(placement); | ||
const crossAxisMulti = rtl && isVertical ? -1 : 1; | ||
const rawValue = typeof value === 'function' ? value({ ...rects, | ||
placement | ||
}) : value; // eslint-disable-next-line prefer-const | ||
const rawValue = typeof value === 'function' ? value(middlewareArguments) : value; // eslint-disable-next-line prefer-const | ||
@@ -669,9 +679,5 @@ let { | ||
x, | ||
y, | ||
placement, | ||
rects, | ||
platform, | ||
elements | ||
y | ||
} = middlewareArguments; | ||
const diffCoords = convertValueToCoords(placement, rects, value, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))); | ||
const diffCoords = await convertValueToCoords(middlewareArguments, value); | ||
return { | ||
@@ -785,3 +791,3 @@ x: x + diffCoords.x, | ||
function getComputedStyle$1(element) { | ||
function getComputedStyle(element) { | ||
return getWindow(element).getComputedStyle(element); | ||
@@ -794,2 +800,12 @@ } | ||
function getUAString() { | ||
const uaData = navigator.userAgentData; | ||
if (uaData != null && uaData.brands) { | ||
return uaData.brands.map(item => item.brand + "/" + item.version).join(' '); | ||
} | ||
return navigator.userAgent; | ||
} | ||
function isHTMLElement(value) { | ||
@@ -818,5 +834,6 @@ return value instanceof getWindow(value).HTMLElement; | ||
overflowX, | ||
overflowY | ||
} = getComputedStyle$1(element); | ||
return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); | ||
overflowY, | ||
display | ||
} = getComputedStyle(element); | ||
return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display); | ||
} | ||
@@ -828,13 +845,16 @@ function isTableElement(element) { | ||
// TODO: Try and use feature detection here instead | ||
const isFirefox = navigator.userAgent.toLowerCase().includes('firefox'); | ||
const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that | ||
const isFirefox = /firefox/i.test(getUAString()); | ||
const css = getComputedStyle(element); // This is non-exhaustive but covers the most common CSS properties that | ||
// create a containing block. | ||
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block | ||
return css.transform !== 'none' || css.perspective !== 'none' || // @ts-ignore (TS 4.1 compat) | ||
css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false); | ||
return css.transform !== 'none' || css.perspective !== 'none' || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective'].some(value => css.willChange.includes(value)) || ['paint', 'layout', 'strict', 'content'].some( // TS 4.1 compat | ||
value => { | ||
const contain = css.contain; | ||
return contain != null ? contain.includes(value) : false; | ||
}); | ||
} | ||
function isLayoutViewport() { | ||
// Not Safari | ||
return !/^((?!chrome|android).)*safari/i.test(navigator.userAgent); // Feature detection for this fails in various ways | ||
return !/^((?!chrome|android).)*safari/i.test(getUAString()); // Feature detection for this fails in various ways | ||
// • Always-visible scrollbar or not | ||
@@ -845,2 +865,5 @@ // • Width of <html>, etc. | ||
} | ||
function isLastTraversableNode(node) { | ||
return ['html', 'body', '#document'].includes(getNodeName(node)); | ||
} | ||
@@ -984,7 +1007,8 @@ const min = Math.min; | ||
while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) { | ||
while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) { | ||
if (isContainingBlock(currentNode)) { | ||
return currentNode; | ||
} else { | ||
currentNode = currentNode.parentNode; | ||
const parent = currentNode.parentNode; | ||
currentNode = isShadowRoot(parent) ? parent.host : parent; | ||
} | ||
@@ -1113,3 +1137,3 @@ } | ||
if (getComputedStyle$1(body || html).direction === 'rtl') { | ||
if (getComputedStyle(body || html).direction === 'rtl') { | ||
x += max(html.clientWidth, body ? body.clientWidth : 0) - width; | ||
@@ -1129,3 +1153,3 @@ } | ||
if (['html', 'body', '#document'].includes(getNodeName(parentNode))) { | ||
if (isLastTraversableNode(parentNode)) { | ||
// @ts-ignore assume body is always available | ||
@@ -1159,5 +1183,5 @@ return node.ownerDocument.body; | ||
function contains(parent, child) { | ||
const rootNode = child == null ? void 0 : child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method | ||
const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method | ||
if (parent != null && parent.contains(child)) { | ||
if (parent.contains(child)) { | ||
return true; | ||
@@ -1182,2 +1206,18 @@ } // then fallback to custom implementation with Shadow DOM support | ||
function getNearestParentCapableOfEscapingClipping(element, clippingAncestors) { | ||
let currentNode = element; | ||
while (currentNode && !isLastTraversableNode(currentNode) && // @ts-expect-error | ||
!clippingAncestors.includes(currentNode)) { | ||
if (isElement(currentNode) && ['absolute', 'fixed'].includes(getComputedStyle(currentNode).position)) { | ||
break; | ||
} | ||
const parentNode = getParentNode(currentNode); | ||
currentNode = isShadowRoot(parentNode) ? parentNode.host : parentNode; | ||
} | ||
return currentNode; | ||
} | ||
function getInnerBoundingClientRect(element, strategy) { | ||
@@ -1216,5 +1256,15 @@ const clientRect = getBoundingClientRect(element, false, strategy === 'fixed'); | ||
const clippingAncestors = getOverflowAncestors(element); | ||
const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position); | ||
const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; | ||
const nearestEscapableParent = getNearestParentCapableOfEscapingClipping(element, clippingAncestors); | ||
let clipperElement = null; | ||
if (nearestEscapableParent && isHTMLElement(nearestEscapableParent)) { | ||
const offsetParent = getOffsetParent(nearestEscapableParent); | ||
if (isOverflowElement(nearestEscapableParent)) { | ||
clipperElement = nearestEscapableParent; | ||
} else if (isHTMLElement(offsetParent)) { | ||
clipperElement = offsetParent; | ||
} | ||
} | ||
if (!isElement(clipperElement)) { | ||
@@ -1225,3 +1275,3 @@ return []; | ||
return clippingAncestors.filter(clippingAncestors => isElement(clippingAncestors) && contains(clippingAncestors, clipperElement) && getNodeName(clippingAncestors) !== 'body'); | ||
return clippingAncestors.filter(clippingAncestors => clipperElement && isElement(clippingAncestors) && contains(clippingAncestors, clipperElement) && getNodeName(clippingAncestors) !== 'body'); | ||
} // Gets the maximum area that the element is visible in due to any number of | ||
@@ -1279,3 +1329,3 @@ // clipping ancestors | ||
getClientRects: element => Array.from(element.getClientRects()), | ||
isRTL: element => getComputedStyle$1(element).direction === 'rtl' | ||
isRTL: element => getComputedStyle(element).direction === 'rtl' | ||
}; | ||
@@ -1294,11 +1344,8 @@ | ||
ancestorScroll: _ancestorScroll = true, | ||
ancestorResize: _ancestorResize = true, | ||
elementResize: _elementResize = true, | ||
ancestorResize = true, | ||
elementResize = true, | ||
animationFrame = false | ||
} = options; | ||
let cleanedUp = false; | ||
const ancestorScroll = _ancestorScroll && !animationFrame; | ||
const ancestorResize = _ancestorResize && !animationFrame; | ||
const elementResize = _elementResize && !animationFrame; | ||
const ancestors = ancestorScroll || ancestorResize ? [...(isElement(reference) ? getOverflowAncestors(reference) : []), ...getOverflowAncestors(floating)] : []; | ||
const ancestors = ancestorScroll || ancestorResize ? [...(isElement(reference) ? getOverflowAncestors(reference) : reference.contextElement ? getOverflowAncestors(reference.contextElement) : []), ...getOverflowAncestors(floating)] : []; | ||
ancestors.forEach(ancestor => { | ||
@@ -1313,4 +1360,16 @@ ancestorScroll && ancestor.addEventListener('scroll', update, { | ||
if (elementResize) { | ||
observer = new ResizeObserver(update); | ||
isElement(reference) && observer.observe(reference); | ||
let initialUpdate = true; | ||
observer = new ResizeObserver(() => { | ||
if (!initialUpdate) { | ||
update(); | ||
} | ||
initialUpdate = false; | ||
}); | ||
isElement(reference) && !animationFrame && observer.observe(reference); | ||
if (!isElement(reference) && reference.contextElement && !animationFrame) { | ||
observer.observe(reference.contextElement); | ||
} | ||
observer.observe(floating); | ||
@@ -1327,6 +1386,2 @@ } | ||
function frameLoop() { | ||
if (cleanedUp) { | ||
return; | ||
} | ||
const nextRefRect = getBoundingClientRect(reference); | ||
@@ -1342,6 +1397,6 @@ | ||
update(); | ||
return () => { | ||
var _observer; | ||
cleanedUp = true; | ||
ancestors.forEach(ancestor => { | ||
@@ -1376,2 +1431,18 @@ ancestorScroll && ancestor.removeEventListener('scroll', update); | ||
const hash = (s) => { | ||
let i, h; | ||
for (i = 0, h = 0; i < s.length; i++) { | ||
h = Math.imul(31, h) + s.charCodeAt(i) | 0; | ||
} | ||
return h.toString(); | ||
}; | ||
const setAttributeIfEmpty = (element, attribute, value) => { | ||
if (element.hasAttribute(attribute)) { | ||
return element.getAttribute(attribute); | ||
} | ||
element.setAttribute(attribute, value); | ||
return value; | ||
}; | ||
const hashValue = (value) => `${value}-${hash(value)}`; | ||
const mdsDropdownCss = ".visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mt-\\[25vh\\]{margin-top:25vh}.flex{display:-ms-flexbox;display:flex}.h-\\[2px\\]{height:2px}.h-\\[200vh\\]{height:200vh}.h-\\[100vh\\]{height:100vh}.w-20{width:5rem}.w-full{width:100%}.max-w-\\[350px\\]{max-width:350px}.transform{-webkit-transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.items-center{-ms-flex-align:center;align-items:center}.justify-start{-ms-flex-pack:start;justify-content:flex-start}.justify-end{-ms-flex-pack:end;justify-content:flex-end}.justify-center{-ms-flex-pack:center;justify-content:center}.border{border-width:1px}.bg-brand-maggioli-06{--tw-bg-opacity:1;background-color:rgba(var(--brand-maggioli-06), var(--tw-bg-opacity))}.bg-tone-neutral-08{--tw-bg-opacity:1;background-color:rgba(var(--tone-neutral-08), var(--tw-bg-opacity))}.text-tone-neutral-04{--tw-text-opacity:1;color:rgba(var(--tone-neutral-04), var(--tw-text-opacity))}.text-tone-neutral-02{--tw-text-opacity:1;color:rgba(var(--tone-neutral-02), var(--tw-text-opacity))}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;-webkit-transition-property:color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:150ms;transition-duration:150ms}.ease-out{-webkit-transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}:host{--background-arrow:var(--background);--background:rgb(var(--tone-neutral));--drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1)) drop-shadow(0 0 1px rgba(0, 0, 0, 0.1));--duration:0.5s;--ease:cubic-bezier(0.19, 1, 0.22, 1);--transform-from:scale(0.9) translateY(-3%);--transform-to:scale(1) translate(0, 0);pointer-events:none;position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;gap:1rem;border-radius:0.5rem;padding:1.5rem;opacity:0;background-color:var(--background);-webkit-filter:var(--drop-shadow);filter:var(--drop-shadow);-webkit-transform:var(--transform-from);transform:var(--transform-from);-webkit-transition-duration:var(--duration);transition-duration:var(--duration);-webkit-transition-property:opacity, -webkit-transform, -webkit-transform-origin;transition-property:opacity, -webkit-transform, -webkit-transform-origin;transition-property:opacity, transform, transform-origin;transition-property:opacity, transform, transform-origin, -webkit-transform, -webkit-transform-origin;-webkit-transition-timing-function:var(--ease);transition-timing-function:var(--ease)}:host([visible]:not([visible=false])){pointer-events:auto;opacity:1;-webkit-transform:var(--transform-to);transform:var(--transform-to)}:host([smooth]:not([smooth=false])){-webkit-transition-property:bottom, left, opacity, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, opacity, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, opacity, right, top, transform, transform-origin;transition-property:bottom, left, opacity, right, top, transform, transform-origin, -webkit-transform, -webkit-transform-origin}.arrow{pointer-events:none;position:fixed;top:-1rem;display:-ms-flexbox;display:flex;fill:var(--background-arrow);-webkit-transition-duration:var(--duration);transition-duration:var(--duration);-webkit-transition-property:bottom, left, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, right, top, transform, transform-origin;transition-property:bottom, left, right, top, transform, transform-origin, -webkit-transform, -webkit-transform-origin}:host([arrow]:not([arrow=false])[visible]:not([visible=false])) .arrow{-webkit-transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1)}:host([arrow]:not([arrow=false]):not([visible]):not([visible=true])) .arrow{-webkit-transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1)}::slotted(*){position:relative;z-index:10}"; | ||
@@ -1389,50 +1460,2 @@ | ||
this.backdropId = 'mds-dropdown-backdrop'; | ||
/** | ||
* If set, the component will have an arrow pointing to the caller. | ||
*/ | ||
this.arrow = true; | ||
/** | ||
* Sets the distance between arrow and dropdown margins. | ||
*/ | ||
this.arrowPadding = 24; | ||
/** | ||
* If set, the component will be placed automatically near it's caller. | ||
*/ | ||
this.autoPlacement = false; | ||
/** | ||
* Specifies if the component has a backdrop background | ||
*/ | ||
this.backdrop = false; | ||
/** | ||
* Specifies the placement of the component if no space is available where it is placed. | ||
*/ | ||
this.flip = false; | ||
/** | ||
* Sets distance between the dropdown and the caller. | ||
*/ | ||
this.offset = 24; | ||
/** | ||
* Specifies where the component should be placed relative to the caller. | ||
*/ | ||
this.placement = 'bottom'; | ||
/** | ||
* If set, the component will be kept inside the viewport. | ||
*/ | ||
this.shift = true; | ||
/** | ||
* Sets a safe area distance between the dropdown and the viewport. | ||
*/ | ||
this.shiftPadding = 24; | ||
/** | ||
* If set, the component will follow the caller smoothly, visible when the page scrolls. | ||
*/ | ||
this.smooth = true; | ||
/** | ||
* Sets the CSS position strategy of the component. | ||
*/ | ||
this.strategy = 'fixed'; | ||
/** | ||
* Specifies the visibility of the component. | ||
*/ | ||
this.visible = false; | ||
this.handleCloseDropdown = (e = null) => { | ||
@@ -1567,2 +1590,15 @@ if (!this.visible) { | ||
}; | ||
this.arrow = true; | ||
this.arrowPadding = 24; | ||
this.autoPlacement = false; | ||
this.backdrop = false; | ||
this.flip = false; | ||
this.target = undefined; | ||
this.offset = 24; | ||
this.placement = 'bottom'; | ||
this.shift = true; | ||
this.shiftPadding = 24; | ||
this.smooth = true; | ||
this.strategy = 'fixed'; | ||
this.visible = false; | ||
} | ||
@@ -1569,0 +1605,0 @@ onCloseListener() { |
@@ -1,1 +0,1 @@ | ||
var __assign=this&&this.__assign||function(){__assign=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o))t[o]=e[o]}return t};return __assign.apply(this,arguments)};var __awaiter=this&&this.__awaiter||function(t,e,r,n){function o(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,i){function a(t){try{l(n.next(t))}catch(t){i(t)}}function s(t){try{l(n["throw"](t))}catch(t){i(t)}}function l(t){t.done?r(t.value):o(t.value).then(a,s)}l((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,o,i,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(t){return function(e){return l([t,e])}}function l(a){if(n)throw new TypeError("Generator is already executing.");while(r)try{if(n=1,o&&(i=a[0]&2?o["return"]:a[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,a[1])).done)return i;if(o=0,i)a=[a[0]&2,i.value];switch(a[0]){case 0:case 1:i=a;break;case 4:r.label++;return{value:a[1],done:false};case 5:r.label++;o=a[1];a=[0];continue;case 7:a=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(a[0]===6||a[0]===2)){r=0;continue}if(a[0]===3&&(!i||a[1]>i[0]&&a[1]<i[3])){r.label=a[1];break}if(a[0]===6&&r.label<i[1]){r.label=i[1];i=a;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(a);break}if(i[2])r.ops.pop();r.trys.pop();continue}a=e.call(t,r)}catch(t){a=[6,t];o=0}finally{n=i=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};var __rest=this&&this.__rest||function(t,e){var r={};for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0)r[n]=t[n];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var o=0,n=Object.getOwnPropertySymbols(t);o<n.length;o++){if(e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o]))r[n[o]]=t[n[o]]}return r};var __spreadArray=this&&this.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var n=0,o=e.length,i;n<o;n++){if(i||!(n in e)){if(!i)i=Array.prototype.slice.call(e,0,n);i[n]=e[n]}}return t.concat(i||Array.prototype.slice.call(e))};import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-0116e12a.js";import{setAttributeIfEmpty,hashValue}from"@common/aria";function getSide(t){return t.split("-")[0]}function getAlignment(t){return t.split("-")[1]}function getMainAxisFromPlacement(t){return["top","bottom"].includes(getSide(t))?"x":"y"}function getLengthFromAxis(t){return t==="y"?"height":"width"}function computeCoordsFromPlacement(t,e,r){var n=t.reference,o=t.floating;var i=n.x+n.width/2-o.width/2;var a=n.y+n.height/2-o.height/2;var s=getMainAxisFromPlacement(e);var l=getLengthFromAxis(s);var c=n[l]/2-o[l]/2;var f=getSide(e);var u=s==="x";var d;switch(f){case"top":d={x:i,y:n.y-o.height};break;case"bottom":d={x:i,y:n.y+n.height};break;case"right":d={x:n.x+n.width,y:a};break;case"left":d={x:n.x-o.width,y:a};break;default:d={x:n.x,y:n.y}}switch(getAlignment(e)){case"start":d[s]-=c*(r&&u?-1:1);break;case"end":d[s]+=c*(r&&u?-1:1);break}return d}var computePosition$1=function(t,e,r){return __awaiter(void 0,void 0,void 0,(function(){var n,o,i,a,s,l,c,f,u,d,p,g,m,h,v,b,w,y,x,k,_,P,A,C;var E,O;return __generator(this,(function(R){switch(R.label){case 0:n=r.placement,o=n===void 0?"bottom":n,i=r.strategy,a=i===void 0?"absolute":i,s=r.middleware,l=s===void 0?[]:s,c=r.platform;return[4,c.isRTL==null?void 0:c.isRTL(e)];case 1:f=R.sent();return[4,c.getElementRects({reference:t,floating:e,strategy:a})];case 2:u=R.sent();d=computeCoordsFromPlacement(u,o,f),p=d.x,g=d.y;m=o;h={};v=0;R.label=3;case 3:if(!(v<l.length))return[3,11];b=l[v],w=b.name,y=b.fn;return[4,y({x:p,y:g,initialPlacement:o,placement:m,strategy:a,middlewareData:h,rects:u,platform:c,elements:{reference:t,floating:e}})];case 4:x=R.sent(),k=x.x,_=x.y,P=x.data,A=x.reset;p=k!=null?k:p;g=_!=null?_:g;h=__assign(__assign({},h),(E={},E[w]=__assign(__assign({},h[w]),P),E));if(!A)return[3,10];if(!(typeof A==="object"))return[3,9];if(A.placement){m=A.placement}if(!A.rects)return[3,8];if(!(A.rects===true))return[3,6];return[4,c.getElementRects({reference:t,floating:e,strategy:a})];case 5:C=R.sent();return[3,7];case 6:C=A.rects;R.label=7;case 7:u=C;R.label=8;case 8:O=computeCoordsFromPlacement(u,m,f),p=O.x,g=O.y;R.label=9;case 9:v=-1;return[3,10];case 10:v++;return[3,3];case 11:return[2,{x:p,y:g,placement:m,strategy:a,middlewareData:h}]}}))}))};function expandPaddingObject(t){return __assign({top:0,right:0,bottom:0,left:0},t)}function getSideObjectFromPadding(t){return typeof t!=="number"?expandPaddingObject(t):{top:t,right:t,bottom:t,left:t}}function rectToClientRect(t){return __assign(__assign({},t),{top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height})}function detectOverflow(t,e){return __awaiter(this,void 0,void 0,(function(){var r,n,o,i,a,s,l,c,f,u,d,p,g,m,h,v,b,w,y,x,k,_,P,A,C,E,O,R,T,L,S;var D,N;return __generator(this,(function(B){switch(B.label){case 0:if(e===void 0){e={}}n=t.x,o=t.y,i=t.platform,a=t.rects,s=t.elements,l=t.strategy;c=e.boundary,f=c===void 0?"clippingAncestors":c,u=e.rootBoundary,d=u===void 0?"viewport":u,p=e.elementContext,g=p===void 0?"floating":p,m=e.altBoundary,h=m===void 0?false:m,v=e.padding,b=v===void 0?0:v;w=getSideObjectFromPadding(b);y=g==="floating"?"reference":"floating";x=s[h?y:g];_=rectToClientRect;A=(P=i).getClippingRect;D={};return[4,i.isElement==null?void 0:i.isElement(x)];case 1:if(!((r=B.sent())!=null?r:true))return[3,2];C=x;return[3,5];case 2:E=x.contextElement;if(E)return[3,4];return[4,i.getDocumentElement==null?void 0:i.getDocumentElement(s.floating)];case 3:E=B.sent();B.label=4;case 4:C=E;B.label=5;case 5:return[4,A.apply(P,[(D.element=C,D.boundary=f,D.rootBoundary=d,D.strategy=l,D)])];case 6:k=_.apply(void 0,[B.sent()]);R=rectToClientRect;if(!i.convertOffsetParentRelativeRectToViewportRelativeRect)return[3,9];S=(L=i).convertOffsetParentRelativeRectToViewportRelativeRect;N={rect:g==="floating"?__assign(__assign({},a.floating),{x:n,y:o}):a.reference};return[4,i.getOffsetParent==null?void 0:i.getOffsetParent(s.floating)];case 7:return[4,S.apply(L,[(N.offsetParent=B.sent(),N.strategy=l,N)])];case 8:T=B.sent();return[3,10];case 9:T=a[g];B.label=10;case 10:O=R.apply(void 0,[T]);return[2,{top:k.top-O.top+w.top,bottom:O.bottom-k.bottom+w.bottom,left:k.left-O.left+w.left,right:O.right-k.right+w.right}]}}))}))}var min$1=Math.min;var max$1=Math.max;function within(t,e,r){return max$1(t,min$1(e,r))}var arrow=function(t){return{name:"arrow",options:t,fn:function(e){return __awaiter(this,void 0,void 0,(function(){var r,n,o,i,a,s,l,c,f,u,d,p,g,m,h,v,b,w,y,x,k,_,P,A,C;var E;return __generator(this,(function(O){switch(O.label){case 0:r=t!=null?t:{},n=r.element,o=r.padding,i=o===void 0?0:o;a=e.x,s=e.y,l=e.placement,c=e.rects,f=e.platform;if(n==null){return[2,{}]}u=getSideObjectFromPadding(i);d={x:a,y:s};p=getMainAxisFromPlacement(l);g=getLengthFromAxis(p);return[4,f.getDimensions(n)];case 1:m=O.sent();h=p==="y"?"top":"left";v=p==="y"?"bottom":"right";b=c.reference[g]+c.reference[p]-d[p]-c.floating[g];w=d[p]-c.reference[p];return[4,f.getOffsetParent==null?void 0:f.getOffsetParent(n)];case 2:y=O.sent();x=y?p==="y"?y.clientHeight||0:y.clientWidth||0:0;k=b/2-w/2;_=u[h];P=x-m[g]-u[v];A=x/2-m[g]/2+k;C=within(_,A,P);return[2,{data:(E={},E[p]=C,E.centerOffset=A-C,E)}]}}))}))}}};var hash$1={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(t){return t.replace(/left|right|bottom|top/g,(function(t){return hash$1[t]}))}function getAlignmentSides(t,e,r){if(r===void 0){r=false}var n=getAlignment(t);var o=getMainAxisFromPlacement(t);var i=getLengthFromAxis(o);var a=o==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";if(e.reference[i]>e.floating[i]){a=getOppositePlacement(a)}return{main:a,cross:getOppositePlacement(a)}}var hash={start:"end",end:"start"};function getOppositeAlignmentPlacement(t){return t.replace(/start|end/g,(function(t){return hash[t]}))}var sides=["top","right","bottom","left"];var allPlacements=sides.reduce((function(t,e){return t.concat(e,e+"-start",e+"-end")}),[]);function getPlacementList(t,e,r){var n=t?__spreadArray(__spreadArray([],r.filter((function(e){return getAlignment(e)===t})),true),r.filter((function(e){return getAlignment(e)!==t})),true):r.filter((function(t){return getSide(t)===t}));return n.filter((function(r){if(t){return getAlignment(r)===t||(e?getOppositeAlignmentPlacement(r)!==r:false)}return true}))}var autoPlacement=function(t){if(t===void 0){t={}}return{name:"autoPlacement",options:t,fn:function(e){return __awaiter(this,void 0,void 0,(function(){var r,n,o,i,a,s,l,c,f,u,d,p,g,m,h,v,b,w,y,x,k,_,P,A,C,E,O,R,T,L,S,D,N,B;return __generator(this,(function(H){switch(H.label){case 0:s=e.x,l=e.y,c=e.rects,f=e.middlewareData,u=e.placement,d=e.platform,p=e.elements;g=t.alignment,m=g===void 0?null:g,h=t.allowedPlacements,v=h===void 0?allPlacements:h,b=t.autoAlignment,w=b===void 0?true:b,y=__rest(t,["alignment","allowedPlacements","autoAlignment"]);x=getPlacementList(m,w,v);return[4,detectOverflow(e,y)];case 1:k=H.sent();_=(r=(n=f.autoPlacement)==null?void 0:n.index)!=null?r:0;P=x[_];if(P==null){return[2,{}]}O=getAlignmentSides;R=[P,c];return[4,d.isRTL==null?void 0:d.isRTL(p.floating)];case 2:A=O.apply(void 0,R.concat([H.sent()])),C=A.main,E=A.cross;if(u!==P){return[2,{x:s,y:l,reset:{placement:x[0]}}]}T=[k[getSide(P)],k[C],k[E]];L=__spreadArray(__spreadArray([],(o=(i=f.autoPlacement)==null?void 0:i.overflows)!=null?o:[],true),[{placement:P,overflows:T}],false);S=x[_+1];if(S){return[2,{data:{index:_+1,overflows:L},reset:{placement:S}}]}D=L.slice().sort((function(t,e){return t.overflows[0]-e.overflows[0]}));N=(a=D.find((function(t){var e=t.overflows;return e.every((function(t){return t<=0}))})))==null?void 0:a.placement;B=N!=null?N:D[0].placement;if(B!==u){return[2,{data:{index:_+1,overflows:L},reset:{placement:B}}]}return[2,{}]}}))}))}}};function getExpandedPlacements(t){var e=getOppositePlacement(t);return[getOppositeAlignmentPlacement(t),e,getOppositeAlignmentPlacement(e)]}var flip=function(t){if(t===void 0){t={}}return{name:"flip",options:t,fn:function(e){return __awaiter(this,void 0,void 0,(function(){var r,n,o,i,a,s,l,c,f,u,d,p,g,m,h,v,b,w,y,x,k,_,P,A,C,E,O,R,T,L,S,D,N,B,H,W;return __generator(this,(function(M){switch(M.label){case 0:n=e.placement,o=e.middlewareData,i=e.rects,a=e.initialPlacement,s=e.platform,l=e.elements;c=t.mainAxis,f=c===void 0?true:c,u=t.crossAxis,d=u===void 0?true:u,p=t.fallbackPlacements,g=t.fallbackStrategy,m=g===void 0?"bestFit":g,h=t.flipAlignment,v=h===void 0?true:h,b=__rest(t,["mainAxis","crossAxis","fallbackPlacements","fallbackStrategy","flipAlignment"]);w=getSide(n);y=w===a;x=p||(y||!v?[getOppositePlacement(a)]:getExpandedPlacements(a));k=__spreadArray([a],x,true);return[4,detectOverflow(e,b)];case 1:_=M.sent();P=[];A=((r=o.flip)==null?void 0:r.overflows)||[];if(f){P.push(_[w])}if(!d)return[3,3];R=getAlignmentSides;T=[n,i];return[4,s.isRTL==null?void 0:s.isRTL(l.floating)];case 2:C=R.apply(void 0,T.concat([M.sent()])),E=C.main,O=C.cross;P.push(_[E],_[O]);M.label=3;case 3:A=__spreadArray(__spreadArray([],A,true),[{placement:n,overflows:P}],false);if(!P.every((function(t){return t<=0}))){D=((L=(S=o.flip)==null?void 0:S.index)!=null?L:0)+1;N=k[D];if(N){return[2,{data:{index:D,overflows:A},reset:{placement:N}}]}B="bottom";switch(m){case"bestFit":{W=(H=A.map((function(t){return[t,t.overflows.filter((function(t){return t>0})).reduce((function(t,e){return t+e}),0)]})).sort((function(t,e){return t[1]-e[1]}))[0])==null?void 0:H[0].placement;if(W){B=W}break}case"initialPlacement":B=a;break}if(n!==B){return[2,{reset:{placement:B}}]}}return[2,{}]}}))}))}}};function convertValueToCoords(t,e,r,n){if(n===void 0){n=false}var o=getSide(t);var i=getAlignment(t);var a=getMainAxisFromPlacement(t)==="x";var s=["left","top"].includes(o)?-1:1;var l=n&&a?-1:1;var c=typeof r==="function"?r(__assign(__assign({},e),{placement:t})):r;var f=typeof c==="number"?{mainAxis:c,crossAxis:0,alignmentAxis:null}:__assign({mainAxis:0,crossAxis:0,alignmentAxis:null},c),u=f.mainAxis,d=f.crossAxis,p=f.alignmentAxis;if(i&&typeof p==="number"){d=i==="end"?p*-1:p}return a?{x:d*l,y:u*s}:{x:u*s,y:d*l}}var offset=function(t){if(t===void 0){t=0}return{name:"offset",options:t,fn:function(e){return __awaiter(this,void 0,void 0,(function(){var r,n,o,i,a,s,l,c,f;return __generator(this,(function(u){switch(u.label){case 0:r=e.x,n=e.y,o=e.placement,i=e.rects,a=e.platform,s=e.elements;c=convertValueToCoords;f=[o,i,t];return[4,a.isRTL==null?void 0:a.isRTL(s.floating)];case 1:l=c.apply(void 0,f.concat([u.sent()]));return[2,{x:r+l.x,y:n+l.y,data:l}]}}))}))}}};function getCrossAxis(t){return t==="x"?"y":"x"}var shift=function(t){if(t===void 0){t={}}return{name:"shift",options:t,fn:function(e){return __awaiter(this,void 0,void 0,(function(){var r,n,o,i,a,s,l,c,f,u,d,p,g,m,h,v,b,w,y,x,b,w,k,_,P;var A;return __generator(this,(function(C){switch(C.label){case 0:r=e.x,n=e.y,o=e.placement;i=t.mainAxis,a=i===void 0?true:i,s=t.crossAxis,l=s===void 0?false:s,c=t.limiter,f=c===void 0?{fn:function(t){var e=t.x,r=t.y;return{x:e,y:r}}}:c,u=__rest(t,["mainAxis","crossAxis","limiter"]);d={x:r,y:n};return[4,detectOverflow(e,u)];case 1:p=C.sent();g=getMainAxisFromPlacement(getSide(o));m=getCrossAxis(g);h=d[g];v=d[m];if(a){b=g==="y"?"top":"left";w=g==="y"?"bottom":"right";y=h+p[b];x=h-p[w];h=within(y,h,x)}if(l){b=m==="y"?"top":"left";w=m==="y"?"bottom":"right";k=v+p[b];_=v-p[w];v=within(k,v,_)}P=f.fn(__assign(__assign({},e),(A={},A[g]=h,A[m]=v,A)));return[2,__assign(__assign({},P),{data:{x:P.x-r,y:P.y-n}})]}}))}))}}};function isWindow(t){return t&&t.document&&t.location&&t.alert&&t.setInterval}function getWindow(t){if(t==null){return window}if(!isWindow(t)){var e=t.ownerDocument;return e?e.defaultView||window:window}return t}function getComputedStyle$1(t){return getWindow(t).getComputedStyle(t)}function getNodeName(t){return isWindow(t)?"":t?(t.nodeName||"").toLowerCase():""}function isHTMLElement(t){return t instanceof getWindow(t).HTMLElement}function isElement(t){return t instanceof getWindow(t).Element}function isNode(t){return t instanceof getWindow(t).Node}function isShadowRoot(t){if(typeof ShadowRoot==="undefined"){return false}var e=getWindow(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function isOverflowElement(t){var e=getComputedStyle$1(t),r=e.overflow,n=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+n)}function isTableElement(t){return["table","td","th"].includes(getNodeName(t))}function isContainingBlock(t){var e=navigator.userAgent.toLowerCase().includes("firefox");var r=getComputedStyle$1(t);return r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].includes(r.willChange)||e&&r.willChange==="filter"||e&&(r.filter?r.filter!=="none":false)}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}var min=Math.min;var max=Math.max;var round=Math.round;function getBoundingClientRect(t,e,r){var n,o,i,a;if(e===void 0){e=false}if(r===void 0){r=false}var s=t.getBoundingClientRect();var l=1;var c=1;if(e&&isHTMLElement(t)){l=t.offsetWidth>0?round(s.width)/t.offsetWidth||1:1;c=t.offsetHeight>0?round(s.height)/t.offsetHeight||1:1}var f=isElement(t)?getWindow(t):window;var u=!isLayoutViewport()&&r;var d=(s.left+(u?(n=(o=f.visualViewport)==null?void 0:o.offsetLeft)!=null?n:0:0))/l;var p=(s.top+(u?(i=(a=f.visualViewport)==null?void 0:a.offsetTop)!=null?i:0:0))/c;var g=s.width/l;var m=s.height/c;return{width:g,height:m,top:p,right:d+g,bottom:p+m,left:d,x:d,y:p}}function getDocumentElement(t){return((isNode(t)?t.ownerDocument:t.document)||window.document).documentElement}function getNodeScroll(t){if(isElement(t)){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function getWindowScrollBarX(t){return getBoundingClientRect(getDocumentElement(t)).left+getNodeScroll(t).scrollLeft}function isScaled(t){var e=getBoundingClientRect(t);return round(e.width)!==t.offsetWidth||round(e.height)!==t.offsetHeight}function getRectRelativeToOffsetParent(t,e,r){var n=isHTMLElement(e);var o=getDocumentElement(e);var i=getBoundingClientRect(t,n&&isScaled(e),r==="fixed");var a={scrollLeft:0,scrollTop:0};var s={x:0,y:0};if(n||!n&&r!=="fixed"){if(getNodeName(e)!=="body"||isOverflowElement(o)){a=getNodeScroll(e)}if(isHTMLElement(e)){var l=getBoundingClientRect(e,true);s.x=l.x+e.clientLeft;s.y=l.y+e.clientTop}else if(o){s.x=getWindowScrollBarX(o)}}return{x:i.left+a.scrollLeft-s.x,y:i.top+a.scrollTop-s.y,width:i.width,height:i.height}}function getParentNode(t){if(getNodeName(t)==="html"){return t}return t.assignedSlot||t.parentNode||(isShadowRoot(t)?t.host:null)||getDocumentElement(t)}function getTrueOffsetParent(t){if(!isHTMLElement(t)||getComputedStyle(t).position==="fixed"){return null}return t.offsetParent}function getContainingBlock(t){var e=getParentNode(t);if(isShadowRoot(e)){e=e.host}while(isHTMLElement(e)&&!["html","body"].includes(getNodeName(e))){if(isContainingBlock(e)){return e}else{e=e.parentNode}}return null}function getOffsetParent(t){var e=getWindow(t);var r=getTrueOffsetParent(t);while(r&&isTableElement(r)&&getComputedStyle(r).position==="static"){r=getTrueOffsetParent(r)}if(r&&(getNodeName(r)==="html"||getNodeName(r)==="body"&&getComputedStyle(r).position==="static"&&!isContainingBlock(r))){return e}return r||getContainingBlock(t)||e}function getDimensions(t){if(isHTMLElement(t)){return{width:t.offsetWidth,height:t.offsetHeight}}var e=getBoundingClientRect(t);return{width:e.width,height:e.height}}function convertOffsetParentRelativeRectToViewportRelativeRect(t){var e=t.rect,r=t.offsetParent,n=t.strategy;var o=isHTMLElement(r);var i=getDocumentElement(r);if(r===i){return e}var a={scrollLeft:0,scrollTop:0};var s={x:0,y:0};if(o||!o&&n!=="fixed"){if(getNodeName(r)!=="body"||isOverflowElement(i)){a=getNodeScroll(r)}if(isHTMLElement(r)){var l=getBoundingClientRect(r,true);s.x=l.x+r.clientLeft;s.y=l.y+r.clientTop}}return __assign(__assign({},e),{x:e.x-a.scrollLeft+s.x,y:e.y-a.scrollTop+s.y})}function getViewportRect(t,e){var r=getWindow(t);var n=getDocumentElement(t);var o=r.visualViewport;var i=n.clientWidth;var a=n.clientHeight;var s=0;var l=0;if(o){i=o.width;a=o.height;var c=isLayoutViewport();if(c||!c&&e==="fixed"){s=o.offsetLeft;l=o.offsetTop}}return{width:i,height:a,x:s,y:l}}function getDocumentRect(t){var e;var r=getDocumentElement(t);var n=getNodeScroll(t);var o=(e=t.ownerDocument)==null?void 0:e.body;var i=max(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0);var a=max(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0);var s=-n.scrollLeft+getWindowScrollBarX(t);var l=-n.scrollTop;if(getComputedStyle$1(o||r).direction==="rtl"){s+=max(r.clientWidth,o?o.clientWidth:0)-i}return{width:i,height:a,x:s,y:l}}function getNearestOverflowAncestor(t){var e=getParentNode(t);if(["html","body","#document"].includes(getNodeName(e))){return t.ownerDocument.body}if(isHTMLElement(e)&&isOverflowElement(e)){return e}return getNearestOverflowAncestor(e)}function getOverflowAncestors(t,e){var r;if(e===void 0){e=[]}var n=getNearestOverflowAncestor(t);var o=n===((r=t.ownerDocument)==null?void 0:r.body);var i=getWindow(n);var a=o?[i].concat(i.visualViewport||[],isOverflowElement(n)?n:[]):n;var s=e.concat(a);return o?s:s.concat(getOverflowAncestors(a))}function contains(t,e){var r=e==null?void 0:e.getRootNode==null?void 0:e.getRootNode();if(t!=null&&t.contains(e)){return true}else if(r&&isShadowRoot(r)){var n=e;do{if(n&&t===n){return true}n=n.parentNode||n.host}while(n)}return false}function getInnerBoundingClientRect(t,e){var r=getBoundingClientRect(t,false,e==="fixed");var n=r.top+t.clientTop;var o=r.left+t.clientLeft;return{top:n,left:o,x:o,y:n,right:o+t.clientWidth,bottom:n+t.clientHeight,width:t.clientWidth,height:t.clientHeight}}function getClientRectFromClippingAncestor(t,e,r){if(e==="viewport"){return rectToClientRect(getViewportRect(t,r))}if(isElement(e)){return getInnerBoundingClientRect(e,r)}return rectToClientRect(getDocumentRect(getDocumentElement(t)))}function getClippingAncestors(t){var e=getOverflowAncestors(t);var r=["absolute","fixed"].includes(getComputedStyle$1(t).position);var n=r&&isHTMLElement(t)?getOffsetParent(t):t;if(!isElement(n)){return[]}return e.filter((function(t){return isElement(t)&&contains(t,n)&&getNodeName(t)!=="body"}))}function getClippingRect(t){var e=t.element,r=t.boundary,n=t.rootBoundary,o=t.strategy;var i=r==="clippingAncestors"?getClippingAncestors(e):[].concat(r);var a=__spreadArray(__spreadArray([],i,true),[n],false);var s=a[0];var l=a.reduce((function(t,r){var n=getClientRectFromClippingAncestor(e,r,o);t.top=max(n.top,t.top);t.right=min(n.right,t.right);t.bottom=min(n.bottom,t.bottom);t.left=max(n.left,t.left);return t}),getClientRectFromClippingAncestor(e,s,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}var platform={getClippingRect:getClippingRect,convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,isElement:isElement,getDimensions:getDimensions,getOffsetParent:getOffsetParent,getDocumentElement:getDocumentElement,getElementRects:function(t){var e=t.reference,r=t.floating,n=t.strategy;return{reference:getRectRelativeToOffsetParent(e,getOffsetParent(r),n),floating:__assign(__assign({},getDimensions(r)),{x:0,y:0})}},getClientRects:function(t){return Array.from(t.getClientRects())},isRTL:function(t){return getComputedStyle$1(t).direction==="rtl"}};function autoUpdate(t,e,r,n){if(n===void 0){n={}}var o=n.ancestorScroll,i=o===void 0?true:o,a=n.ancestorResize,s=a===void 0?true:a,l=n.elementResize,c=l===void 0?true:l,f=n.animationFrame,u=f===void 0?false:f;var d=false;var p=i&&!u;var g=s&&!u;var m=c&&!u;var h=p||g?__spreadArray(__spreadArray([],isElement(t)?getOverflowAncestors(t):[],true),getOverflowAncestors(e),true):[];h.forEach((function(t){p&&t.addEventListener("scroll",r,{passive:true});g&&t.addEventListener("resize",r)}));var v=null;if(m){v=new ResizeObserver(r);isElement(t)&&v.observe(t);v.observe(e)}var b;var w=u?getBoundingClientRect(t):null;if(u){y()}function y(){if(d){return}var e=getBoundingClientRect(t);if(w&&(e.x!==w.x||e.y!==w.y||e.width!==w.width||e.height!==w.height)){r()}w=e;b=requestAnimationFrame(y)}return function(){var t;d=true;h.forEach((function(t){p&&t.removeEventListener("scroll",r);g&&t.removeEventListener("resize",r)}));(t=v)==null?void 0:t.disconnect();v=null;if(u){cancelAnimationFrame(b)}}}var computePosition=function(t,e,r){return computePosition$1(t,e,__assign({platform:platform},r))};var arrowSvg='<svg width="30" height="16" viewBox="0 0 30 16" xmlns="http://www.w3.org/2000/svg">\n <path d="M10.2 2.4C12.6 -0.800001 17.4 -0.800001 19.8 2.4L30 16H0L10.2 2.4Z"/>\n</svg>\n';var mdsDropdownCss=".visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mt-\\[25vh\\]{margin-top:25vh}.flex{display:-ms-flexbox;display:flex}.h-\\[2px\\]{height:2px}.h-\\[200vh\\]{height:200vh}.h-\\[100vh\\]{height:100vh}.w-20{width:5rem}.w-full{width:100%}.max-w-\\[350px\\]{max-width:350px}.transform{-webkit-transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.items-center{-ms-flex-align:center;align-items:center}.justify-start{-ms-flex-pack:start;justify-content:flex-start}.justify-end{-ms-flex-pack:end;justify-content:flex-end}.justify-center{-ms-flex-pack:center;justify-content:center}.border{border-width:1px}.bg-brand-maggioli-06{--tw-bg-opacity:1;background-color:rgba(var(--brand-maggioli-06), var(--tw-bg-opacity))}.bg-tone-neutral-08{--tw-bg-opacity:1;background-color:rgba(var(--tone-neutral-08), var(--tw-bg-opacity))}.text-tone-neutral-04{--tw-text-opacity:1;color:rgba(var(--tone-neutral-04), var(--tw-text-opacity))}.text-tone-neutral-02{--tw-text-opacity:1;color:rgba(var(--tone-neutral-02), var(--tw-text-opacity))}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;-webkit-transition-property:color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:150ms;transition-duration:150ms}.ease-out{-webkit-transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}:host{--background-arrow:var(--background);--background:rgb(var(--tone-neutral));--drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1)) drop-shadow(0 0 1px rgba(0, 0, 0, 0.1));--duration:0.5s;--ease:cubic-bezier(0.19, 1, 0.22, 1);--transform-from:scale(0.9) translateY(-3%);--transform-to:scale(1) translate(0, 0);pointer-events:none;position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;gap:1rem;border-radius:0.5rem;padding:1.5rem;opacity:0;background-color:var(--background);-webkit-filter:var(--drop-shadow);filter:var(--drop-shadow);-webkit-transform:var(--transform-from);transform:var(--transform-from);-webkit-transition-duration:var(--duration);transition-duration:var(--duration);-webkit-transition-property:opacity, -webkit-transform, -webkit-transform-origin;transition-property:opacity, -webkit-transform, -webkit-transform-origin;transition-property:opacity, transform, transform-origin;transition-property:opacity, transform, transform-origin, -webkit-transform, -webkit-transform-origin;-webkit-transition-timing-function:var(--ease);transition-timing-function:var(--ease)}:host([visible]:not([visible=false])){pointer-events:auto;opacity:1;-webkit-transform:var(--transform-to);transform:var(--transform-to)}:host([smooth]:not([smooth=false])){-webkit-transition-property:bottom, left, opacity, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, opacity, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, opacity, right, top, transform, transform-origin;transition-property:bottom, left, opacity, right, top, transform, transform-origin, -webkit-transform, -webkit-transform-origin}.arrow{pointer-events:none;position:fixed;top:-1rem;display:-ms-flexbox;display:flex;fill:var(--background-arrow);-webkit-transition-duration:var(--duration);transition-duration:var(--duration);-webkit-transition-property:bottom, left, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, right, top, transform, transform-origin;transition-property:bottom, left, right, top, transform, transform-origin, -webkit-transform, -webkit-transform-origin}:host([arrow]:not([arrow=false])[visible]:not([visible=false])) .arrow{-webkit-transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1)}:host([arrow]:not([arrow=false]):not([visible]):not([visible=true])) .arrow{-webkit-transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1)}::slotted(*){position:relative;z-index:10}";var MdsDropdown=function(){function t(t){var e=this;registerInstance(this,t);this.closeDropdown=createEvent(this,"closeDropdown",7);this.backdropBackgroundVisible="rgba(var(--backdrop-color, 0 0 0) / var(--backdrop-opacity, 0.1))";this.backdropBackgroundHidden="rgba(var(--backdrop-color, 0 0 0) / 0)";this.backdropDuration=2e3;this.backdropId="mds-dropdown-backdrop";this.arrow=true;this.arrowPadding=24;this.autoPlacement=false;this.backdrop=false;this.flip=false;this.offset=24;this.placement="bottom";this.shift=true;this.shiftPadding=24;this.smooth=true;this.strategy="fixed";this.visible=false;this.handleCloseDropdown=function(t){if(t===void 0){t=null}if(!e.visible){return}if(!e.host.contains(t.target)&&t.target!==e.caller){e.closeDropdown.emit()}};this.handleVisibility=function(t){if(t===void 0){t=null}if(t!==null){e.visible=t;return}if(e.visible){e.visible=false;return}e.visible=true;e.updatePosition()};this.callerOnClick=function(){e.handleVisibility()};this.arrowInset=function(t,e){var r=t.arrow;var n={bottom:"",left:"",right:"",top:""};if(r===undefined){return{}}switch(e){case"bottom":n.left=r.x!==null?"".concat(r.x,"px"):"";n.top="100%";break;case"left":n.right="100%";n.top=r.y!==null?"".concat(r.y,"px"):"";break;case"right":n.left="100%";n.top=r.y!==null?"".concat(r.y,"px"):"";break;case"top":n.left=r.x!==null?"".concat(r.x,"px"):"";n.top=null;break}return n};this.arrowTransform=function(t){var r=e.arrow&&e.visible?"scale(1)":"scale(0)";switch(t){case"bottom":r="rotate(180deg) ".concat(r," translate(0, -100%)");break;case"left":r="rotate(-90deg) ".concat(r," translate(50%, -50%)");break;case"right":r="rotate(90deg) ".concat(r," translate(-50%, -50%)");break;case"top":r="rotate(0deg) ".concat(r," translate(0, 0)");break}return{transform:r}};this.arrowTransformOrigin=function(t){switch(t){case"bottom":return{transformOrigin:"center top"};case"left":return{transformOrigin:"right center"};case"right":return{transformOrigin:"left center"};case"top":return{transformOrigin:"center bottom"};default:return{transformOrigin:"center top"}}};this.updatePosition=function(){if(!e.caller)return;var t=[];var r={};if(e.shiftPadding){r.padding=e.shiftPadding}if(e.autoPlacement){t.push(autoPlacement())}if(e.offset){t.push(offset(e.offset))}if(!e.autoPlacement&&e.flip){t.push(flip(r))}if(e.shift){t.push(shift(r))}if(e.arrow){t.push(arrow({element:e.arrowEl,padding:e.arrowPadding}))}computePosition(e.caller,e.host,{middleware:t,placement:e.placement,strategy:e.strategy}).then((function(t){var r=t.x,n=t.y,o=t.placement,i=t.middlewareData;Object.assign(e.host.style,{left:"".concat(r,"px"),top:"".concat(n,"px")});var a={};var s={top:"bottom",right:"left",bottom:"top",left:"right"}[o.split("-")[0]];Object.assign(a,e.arrowTransform(s));Object.assign(a,e.arrowInset(i,s));Object.assign(a,e.arrowTransformOrigin(s));Object.assign(e.arrowEl.style,a)}))}}t.prototype.onCloseListener=function(){this.handleVisibility(false)};t.prototype.attachBackdrop=function(){var t=this;if(!this.backdropEl){this.backdropEl=document.createElement("div");this.backdropEl.style.backgroundColor=this.backdropBackgroundHidden;this.backdropEl.className=this.backdropId;this.backdropEl.style.inset="0";this.backdropEl.style.pointerEvents="none";this.backdropEl.style.position="fixed";this.backdropEl.style.transition="background-color ".concat(this.backdropDuration/1e4,"s ease-out");this.backdropEl.style.zIndex=(Number(this.host.style.zIndex)-1).toString();document.body.appendChild(this.backdropEl)}clearTimeout(this.backdropTimer);this.backdropTimer=setTimeout((function(){t.backdropEl.style.backgroundColor=t.backdropBackgroundVisible}),1)};t.prototype.detachBackdrop=function(){var t=this;if(!this.backdropEl){return}this.backdropEl.style.backgroundColor="transparent";clearTimeout(this.backdropTimer);this.backdropTimer=setTimeout((function(){t.backdropEl.remove();t.backdropEl=null}),this.backdropDuration)};t.prototype.arrowChanged=function(){this.updatePosition()};t.prototype.arrowPaddingChanged=function(){this.updatePosition()};t.prototype.autoPlacementChanged=function(){this.updatePosition()};t.prototype.backdropChanged=function(t){if(!this.visible){return}if(t){this.attachBackdrop();return}this.detachBackdrop()};t.prototype.flipChanged=function(){this.updatePosition()};t.prototype.offsetChanged=function(){this.updatePosition()};t.prototype.placementChanged=function(){this.updatePosition()};t.prototype.shiftChanged=function(){this.updatePosition()};t.prototype.shiftPaddingChanged=function(){this.updatePosition()};t.prototype.strategyChanged=function(){this.updatePosition()};t.prototype.visibleChanged=function(t){this.updatePosition();if(!this.backdrop){return}if(t){this.attachBackdrop();return}this.detachBackdrop()};t.prototype.componentWillLoad=function(){Array.from(document.getElementsByClassName(this.backdropId)).forEach((function(t){t.remove()}))};t.prototype.setAriaAttributes=function(){var t=setAttributeIfEmpty(this.host,"id",hashValue(this.target));setAttributeIfEmpty(this.caller,"aria-haspopup","true");setAttributeIfEmpty(this.caller,"aria-controls",t);setAttributeIfEmpty(this.host,"role","menu");setAttributeIfEmpty(this.host,"aria-labelledby",this.target)};t.prototype.componentDidLoad=function(){document.addEventListener("click",this.handleCloseDropdown);this.arrowEl=this.host.shadowRoot.querySelector(".arrow");this.caller=document.getElementById(this.target);this.setAriaAttributes();if(!this.caller)return;this.caller.addEventListener("click",this.callerOnClick.bind(this));this.backdropChanged(this.backdrop)};t.prototype.componentDidRender=function(){if(!this.cleanupAutoUpdate){this.cleanupAutoUpdate=autoUpdate(this.caller,this.host,this.updatePosition)}};t.prototype.disconnectedCallback=function(){this.cleanupAutoUpdate=null};t.prototype.render=function(){return h(Host,null,h("div",{class:"arrow",innerHTML:arrowSvg}),h("slot",null))};Object.defineProperty(t.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{arrow:["arrowChanged"],arrowPadding:["arrowPaddingChanged"],autoPlacement:["autoPlacementChanged"],backdrop:["backdropChanged"],flip:["flipChanged"],offset:["offsetChanged"],placement:["placementChanged"],shift:["shiftChanged"],shiftPadding:["shiftPaddingChanged"],strategy:["strategyChanged"],visible:["visibleChanged"]}},enumerable:false,configurable:true});return t}();MdsDropdown.style=mdsDropdownCss;export{MdsDropdown as mds_dropdown}; | ||
var __assign=this&&this.__assign||function(){__assign=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i))t[i]=e[i]}return t};return __assign.apply(this,arguments)};var __awaiter=this&&this.__awaiter||function(t,e,r,n){function i(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,o){function a(t){try{l(n.next(t))}catch(t){o(t)}}function s(t){try{l(n["throw"](t))}catch(t){o(t)}}function l(t){t.done?r(t.value):i(t.value).then(a,s)}l((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,i,o,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(t){return function(e){return l([t,e])}}function l(a){if(n)throw new TypeError("Generator is already executing.");while(r)try{if(n=1,i&&(o=a[0]&2?i["return"]:a[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,a[1])).done)return o;if(i=0,o)a=[a[0]&2,o.value];switch(a[0]){case 0:case 1:o=a;break;case 4:r.label++;return{value:a[1],done:false};case 5:r.label++;i=a[1];a=[0];continue;case 7:a=r.ops.pop();r.trys.pop();continue;default:if(!(o=r.trys,o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){r=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){r.label=a[1];break}if(a[0]===6&&r.label<o[1]){r.label=o[1];o=a;break}if(o&&r.label<o[2]){r.label=o[2];r.ops.push(a);break}if(o[2])r.ops.pop();r.trys.pop();continue}a=e.call(t,r)}catch(t){a=[6,t];i=0}finally{n=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};var __rest=this&&this.__rest||function(t,e){var r={};for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0)r[n]=t[n];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++){if(e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i]))r[n[i]]=t[n[i]]}return r};var __spreadArray=this&&this.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,o;n<i;n++){if(o||!(n in e)){if(!o)o=Array.prototype.slice.call(e,0,n);o[n]=e[n]}}return t.concat(o||Array.prototype.slice.call(e))};import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-0116e12a.js";function getSide(t){return t.split("-")[0]}function getAlignment(t){return t.split("-")[1]}function getMainAxisFromPlacement(t){return["top","bottom"].includes(getSide(t))?"x":"y"}function getLengthFromAxis(t){return t==="y"?"height":"width"}function computeCoordsFromPlacement(t,e,r){var n=t.reference,i=t.floating;var o=n.x+n.width/2-i.width/2;var a=n.y+n.height/2-i.height/2;var s=getMainAxisFromPlacement(e);var l=getLengthFromAxis(s);var c=n[l]/2-i[l]/2;var f=getSide(e);var u=s==="x";var d;switch(f){case"top":d={x:o,y:n.y-i.height};break;case"bottom":d={x:o,y:n.y+n.height};break;case"right":d={x:n.x+n.width,y:a};break;case"left":d={x:n.x-i.width,y:a};break;default:d={x:n.x,y:n.y}}switch(getAlignment(e)){case"start":d[s]-=c*(r&&u?-1:1);break;case"end":d[s]+=c*(r&&u?-1:1);break}return d}var computePosition$1=function(t,e,r){return __awaiter(void 0,void 0,void 0,(function(){var n,i,o,a,s,l,c,f,u,d,g,p,m,h,v,b,w,y,x,k,_,P,A,E,C;var O,R;return __generator(this,(function(T){switch(T.label){case 0:n=r.placement,i=n===void 0?"bottom":n,o=r.strategy,a=o===void 0?"absolute":o,s=r.middleware,l=s===void 0?[]:s,c=r.platform;return[4,c.isRTL==null?void 0:c.isRTL(e)];case 1:f=T.sent();return[4,c.getElementRects({reference:t,floating:e,strategy:a})];case 2:u=T.sent();d=computeCoordsFromPlacement(u,i,f),g=d.x,p=d.y;m=i;h={};v=0;b=0;T.label=3;case 3:if(!(b<l.length))return[3,11];w=l[b],y=w.name,x=w.fn;return[4,x({x:g,y:p,initialPlacement:i,placement:m,strategy:a,middlewareData:h,rects:u,platform:c,elements:{reference:t,floating:e}})];case 4:k=T.sent(),_=k.x,P=k.y,A=k.data,E=k.reset;g=_!=null?_:g;p=P!=null?P:p;h=__assign(__assign({},h),(O={},O[y]=__assign(__assign({},h[y]),A),O));if(!(E&&v<=50))return[3,10];v++;if(!(typeof E==="object"))return[3,9];if(E.placement){m=E.placement}if(!E.rects)return[3,8];if(!(E.rects===true))return[3,6];return[4,c.getElementRects({reference:t,floating:e,strategy:a})];case 5:C=T.sent();return[3,7];case 6:C=E.rects;T.label=7;case 7:u=C;T.label=8;case 8:R=computeCoordsFromPlacement(u,m,f),g=R.x,p=R.y;T.label=9;case 9:b=-1;return[3,10];case 10:b++;return[3,3];case 11:return[2,{x:g,y:p,placement:m,strategy:a,middlewareData:h}]}}))}))};function expandPaddingObject(t){return __assign({top:0,right:0,bottom:0,left:0},t)}function getSideObjectFromPadding(t){return typeof t!=="number"?expandPaddingObject(t):{top:t,right:t,bottom:t,left:t}}function rectToClientRect(t){return __assign(__assign({},t),{top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height})}function detectOverflow(t,e){return __awaiter(this,void 0,void 0,(function(){var r,n,i,o,a,s,l,c,f,u,d,g,p,m,h,v,b,w,y,x,k,_,P,A,E,C,O,R,T,L,S;var N,D;return __generator(this,(function(B){switch(B.label){case 0:if(e===void 0){e={}}n=t.x,i=t.y,o=t.platform,a=t.rects,s=t.elements,l=t.strategy;c=e.boundary,f=c===void 0?"clippingAncestors":c,u=e.rootBoundary,d=u===void 0?"viewport":u,g=e.elementContext,p=g===void 0?"floating":g,m=e.altBoundary,h=m===void 0?false:m,v=e.padding,b=v===void 0?0:v;w=getSideObjectFromPadding(b);y=p==="floating"?"reference":"floating";x=s[h?y:p];_=rectToClientRect;A=(P=o).getClippingRect;N={};return[4,o.isElement==null?void 0:o.isElement(x)];case 1:if(!((r=B.sent())!=null?r:true))return[3,2];E=x;return[3,5];case 2:C=x.contextElement;if(C)return[3,4];return[4,o.getDocumentElement==null?void 0:o.getDocumentElement(s.floating)];case 3:C=B.sent();B.label=4;case 4:E=C;B.label=5;case 5:return[4,A.apply(P,[(N.element=E,N.boundary=f,N.rootBoundary=d,N.strategy=l,N)])];case 6:k=_.apply(void 0,[B.sent()]);R=rectToClientRect;if(!o.convertOffsetParentRelativeRectToViewportRelativeRect)return[3,9];S=(L=o).convertOffsetParentRelativeRectToViewportRelativeRect;D={rect:p==="floating"?__assign(__assign({},a.floating),{x:n,y:i}):a.reference};return[4,o.getOffsetParent==null?void 0:o.getOffsetParent(s.floating)];case 7:return[4,S.apply(L,[(D.offsetParent=B.sent(),D.strategy=l,D)])];case 8:T=B.sent();return[3,10];case 9:T=a[p];B.label=10;case 10:O=R.apply(void 0,[T]);return[2,{top:k.top-O.top+w.top,bottom:O.bottom-k.bottom+w.bottom,left:k.left-O.left+w.left,right:O.right-k.right+w.right}]}}))}))}var min$1=Math.min;var max$1=Math.max;function within(t,e,r){return max$1(t,min$1(e,r))}var arrow=function(t){return{name:"arrow",options:t,fn:function(e){return __awaiter(this,void 0,void 0,(function(){var r,n,i,o,a,s,l,c,f,u,d,g,p,m,h,v,b,w,y,x,k,_,P,A,E,C,O,R,T;var L,S;return __generator(this,(function(N){switch(N.label){case 0:r=t!=null?t:{},n=r.element,i=r.padding,o=i===void 0?0:i;a=e.x,s=e.y,l=e.placement,c=e.rects,f=e.platform;if(n==null){return[2,{}]}u=getSideObjectFromPadding(o);d={x:a,y:s};g=getMainAxisFromPlacement(l);p=getAlignment(l);m=getLengthFromAxis(g);return[4,f.getDimensions(n)];case 1:h=N.sent();v=g==="y"?"top":"left";b=g==="y"?"bottom":"right";w=c.reference[m]+c.reference[g]-d[g]-c.floating[m];y=d[g]-c.reference[g];return[4,f.getOffsetParent==null?void 0:f.getOffsetParent(n)];case 2:x=N.sent();k=x?g==="y"?x.clientHeight||0:x.clientWidth||0:0;if(k===0){k=c.floating[m]}_=w/2-y/2;P=u[v];A=k-h[m]-u[b];E=k/2-h[m]/2+_;C=within(P,E,A);O=p==="start"?u[v]:u[b];R=O>0&&E!==C&&c.reference[m]<=c.floating[m];T=R?E<P?P-E:A-E:0;return[2,(L={},L[g]=d[g]-T,L.data=(S={},S[g]=C,S.centerOffset=E-C,S),L)]}}))}))}}};var hash$1={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(t){return t.replace(/left|right|bottom|top/g,(function(t){return hash$1[t]}))}function getAlignmentSides(t,e,r){if(r===void 0){r=false}var n=getAlignment(t);var i=getMainAxisFromPlacement(t);var o=getLengthFromAxis(i);var a=i==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";if(e.reference[o]>e.floating[o]){a=getOppositePlacement(a)}return{main:a,cross:getOppositePlacement(a)}}var hash$2={start:"end",end:"start"};function getOppositeAlignmentPlacement(t){return t.replace(/start|end/g,(function(t){return hash$2[t]}))}var sides=["top","right","bottom","left"];var allPlacements=sides.reduce((function(t,e){return t.concat(e,e+"-start",e+"-end")}),[]);function getPlacementList(t,e,r){var n=t?__spreadArray(__spreadArray([],r.filter((function(e){return getAlignment(e)===t})),true),r.filter((function(e){return getAlignment(e)!==t})),true):r.filter((function(t){return getSide(t)===t}));return n.filter((function(r){if(t){return getAlignment(r)===t||(e?getOppositeAlignmentPlacement(r)!==r:false)}return true}))}var autoPlacement=function(t){if(t===void 0){t={}}return{name:"autoPlacement",options:t,fn:function(e){return __awaiter(this,void 0,void 0,(function(){var r,n,i,o,a,s,l,c,f,u,d,g,p,m,h,v,b,w,y,x,k,_,P,A,E,C,O,R,T,L,S,N,D,B;return __generator(this,(function(H){switch(H.label){case 0:s=e.x,l=e.y,c=e.rects,f=e.middlewareData,u=e.placement,d=e.platform,g=e.elements;p=t.alignment,m=p===void 0?null:p,h=t.allowedPlacements,v=h===void 0?allPlacements:h,b=t.autoAlignment,w=b===void 0?true:b,y=__rest(t,["alignment","allowedPlacements","autoAlignment"]);x=getPlacementList(m,w,v);return[4,detectOverflow(e,y)];case 1:k=H.sent();_=(r=(n=f.autoPlacement)==null?void 0:n.index)!=null?r:0;P=x[_];if(P==null){return[2,{}]}O=getAlignmentSides;R=[P,c];return[4,d.isRTL==null?void 0:d.isRTL(g.floating)];case 2:A=O.apply(void 0,R.concat([H.sent()])),E=A.main,C=A.cross;if(u!==P){return[2,{x:s,y:l,reset:{placement:x[0]}}]}T=[k[getSide(P)],k[E],k[C]];L=__spreadArray(__spreadArray([],(i=(o=f.autoPlacement)==null?void 0:o.overflows)!=null?i:[],true),[{placement:P,overflows:T}],false);S=x[_+1];if(S){return[2,{data:{index:_+1,overflows:L},reset:{placement:S}}]}N=L.slice().sort((function(t,e){return t.overflows[0]-e.overflows[0]}));D=(a=N.find((function(t){var e=t.overflows;return e.every((function(t){return t<=0}))})))==null?void 0:a.placement;B=D!=null?D:N[0].placement;if(B!==u){return[2,{data:{index:_+1,overflows:L},reset:{placement:B}}]}return[2,{}]}}))}))}}};function getExpandedPlacements(t){var e=getOppositePlacement(t);return[getOppositeAlignmentPlacement(t),e,getOppositeAlignmentPlacement(e)]}var flip=function(t){if(t===void 0){t={}}return{name:"flip",options:t,fn:function(e){return __awaiter(this,void 0,void 0,(function(){var r,n,i,o,a,s,l,c,f,u,d,g,p,m,h,v,b,w,y,x,k,_,P,A,E,C,O,R,T,L,S,N,D,B,H,W;return __generator(this,(function(M){switch(M.label){case 0:n=e.placement,i=e.middlewareData,o=e.rects,a=e.initialPlacement,s=e.platform,l=e.elements;c=t.mainAxis,f=c===void 0?true:c,u=t.crossAxis,d=u===void 0?true:u,g=t.fallbackPlacements,p=t.fallbackStrategy,m=p===void 0?"bestFit":p,h=t.flipAlignment,v=h===void 0?true:h,b=__rest(t,["mainAxis","crossAxis","fallbackPlacements","fallbackStrategy","flipAlignment"]);w=getSide(n);y=w===a;x=g||(y||!v?[getOppositePlacement(a)]:getExpandedPlacements(a));k=__spreadArray([a],x,true);return[4,detectOverflow(e,b)];case 1:_=M.sent();P=[];A=((r=i.flip)==null?void 0:r.overflows)||[];if(f){P.push(_[w])}if(!d)return[3,3];R=getAlignmentSides;T=[n,o];return[4,s.isRTL==null?void 0:s.isRTL(l.floating)];case 2:E=R.apply(void 0,T.concat([M.sent()])),C=E.main,O=E.cross;P.push(_[C],_[O]);M.label=3;case 3:A=__spreadArray(__spreadArray([],A,true),[{placement:n,overflows:P}],false);if(!P.every((function(t){return t<=0}))){N=((L=(S=i.flip)==null?void 0:S.index)!=null?L:0)+1;D=k[N];if(D){return[2,{data:{index:N,overflows:A},reset:{placement:D}}]}B="bottom";switch(m){case"bestFit":{W=(H=A.map((function(t){return[t,t.overflows.filter((function(t){return t>0})).reduce((function(t,e){return t+e}),0)]})).sort((function(t,e){return t[1]-e[1]}))[0])==null?void 0:H[0].placement;if(W){B=W}break}case"initialPlacement":B=a;break}if(n!==B){return[2,{reset:{placement:B}}]}}return[2,{}]}}))}))}}};function convertValueToCoords(t,e){return __awaiter(this,void 0,void 0,(function(){var r,n,i,o,a,s,l,c,f,u,d,g,p,m;return __generator(this,(function(h){switch(h.label){case 0:r=t.placement,n=t.platform,i=t.elements;return[4,n.isRTL==null?void 0:n.isRTL(i.floating)];case 1:o=h.sent();a=getSide(r);s=getAlignment(r);l=getMainAxisFromPlacement(r)==="x";c=["left","top"].includes(a)?-1:1;f=o&&l?-1:1;u=typeof e==="function"?e(t):e;d=typeof u==="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:__assign({mainAxis:0,crossAxis:0,alignmentAxis:null},u),g=d.mainAxis,p=d.crossAxis,m=d.alignmentAxis;if(s&&typeof m==="number"){p=s==="end"?m*-1:m}return[2,l?{x:p*f,y:g*c}:{x:g*c,y:p*f}]}}))}))}var offset=function(t){if(t===void 0){t=0}return{name:"offset",options:t,fn:function(e){return __awaiter(this,void 0,void 0,(function(){var r,n,i;return __generator(this,(function(o){switch(o.label){case 0:r=e.x,n=e.y;return[4,convertValueToCoords(e,t)];case 1:i=o.sent();return[2,{x:r+i.x,y:n+i.y,data:i}]}}))}))}}};function getCrossAxis(t){return t==="x"?"y":"x"}var shift=function(t){if(t===void 0){t={}}return{name:"shift",options:t,fn:function(e){return __awaiter(this,void 0,void 0,(function(){var r,n,i,o,a,s,l,c,f,u,d,g,p,m,h,v,b,w,y,x,b,w,k,_,P;var A;return __generator(this,(function(E){switch(E.label){case 0:r=e.x,n=e.y,i=e.placement;o=t.mainAxis,a=o===void 0?true:o,s=t.crossAxis,l=s===void 0?false:s,c=t.limiter,f=c===void 0?{fn:function(t){var e=t.x,r=t.y;return{x:e,y:r}}}:c,u=__rest(t,["mainAxis","crossAxis","limiter"]);d={x:r,y:n};return[4,detectOverflow(e,u)];case 1:g=E.sent();p=getMainAxisFromPlacement(getSide(i));m=getCrossAxis(p);h=d[p];v=d[m];if(a){b=p==="y"?"top":"left";w=p==="y"?"bottom":"right";y=h+g[b];x=h-g[w];h=within(y,h,x)}if(l){b=m==="y"?"top":"left";w=m==="y"?"bottom":"right";k=v+g[b];_=v-g[w];v=within(k,v,_)}P=f.fn(__assign(__assign({},e),(A={},A[p]=h,A[m]=v,A)));return[2,__assign(__assign({},P),{data:{x:P.x-r,y:P.y-n}})]}}))}))}}};function isWindow(t){return t&&t.document&&t.location&&t.alert&&t.setInterval}function getWindow(t){if(t==null){return window}if(!isWindow(t)){var e=t.ownerDocument;return e?e.defaultView||window:window}return t}function getComputedStyle(t){return getWindow(t).getComputedStyle(t)}function getNodeName(t){return isWindow(t)?"":t?(t.nodeName||"").toLowerCase():""}function getUAString(){var t=navigator.userAgentData;if(t!=null&&t.brands){return t.brands.map((function(t){return t.brand+"/"+t.version})).join(" ")}return navigator.userAgent}function isHTMLElement(t){return t instanceof getWindow(t).HTMLElement}function isElement(t){return t instanceof getWindow(t).Element}function isNode(t){return t instanceof getWindow(t).Node}function isShadowRoot(t){if(typeof ShadowRoot==="undefined"){return false}var e=getWindow(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function isOverflowElement(t){var e=getComputedStyle(t),r=e.overflow,n=e.overflowX,i=e.overflowY,o=e.display;return/auto|scroll|overlay|hidden/.test(r+i+n)&&!["inline","contents"].includes(o)}function isTableElement(t){return["table","td","th"].includes(getNodeName(t))}function isContainingBlock(t){var e=/firefox/i.test(getUAString());var r=getComputedStyle(t);return r.transform!=="none"||r.perspective!=="none"||e&&r.willChange==="filter"||e&&(r.filter?r.filter!=="none":false)||["transform","perspective"].some((function(t){return r.willChange.includes(t)}))||["paint","layout","strict","content"].some((function(t){var e=r.contain;return e!=null?e.includes(t):false}))}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function isLastTraversableNode(t){return["html","body","#document"].includes(getNodeName(t))}var min=Math.min;var max=Math.max;var round=Math.round;function getBoundingClientRect(t,e,r){var n,i,o,a;if(e===void 0){e=false}if(r===void 0){r=false}var s=t.getBoundingClientRect();var l=1;var c=1;if(e&&isHTMLElement(t)){l=t.offsetWidth>0?round(s.width)/t.offsetWidth||1:1;c=t.offsetHeight>0?round(s.height)/t.offsetHeight||1:1}var f=isElement(t)?getWindow(t):window;var u=!isLayoutViewport()&&r;var d=(s.left+(u?(n=(i=f.visualViewport)==null?void 0:i.offsetLeft)!=null?n:0:0))/l;var g=(s.top+(u?(o=(a=f.visualViewport)==null?void 0:a.offsetTop)!=null?o:0:0))/c;var p=s.width/l;var m=s.height/c;return{width:p,height:m,top:g,right:d+p,bottom:g+m,left:d,x:d,y:g}}function getDocumentElement(t){return((isNode(t)?t.ownerDocument:t.document)||window.document).documentElement}function getNodeScroll(t){if(isElement(t)){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function getWindowScrollBarX(t){return getBoundingClientRect(getDocumentElement(t)).left+getNodeScroll(t).scrollLeft}function isScaled(t){var e=getBoundingClientRect(t);return round(e.width)!==t.offsetWidth||round(e.height)!==t.offsetHeight}function getRectRelativeToOffsetParent(t,e,r){var n=isHTMLElement(e);var i=getDocumentElement(e);var o=getBoundingClientRect(t,n&&isScaled(e),r==="fixed");var a={scrollLeft:0,scrollTop:0};var s={x:0,y:0};if(n||!n&&r!=="fixed"){if(getNodeName(e)!=="body"||isOverflowElement(i)){a=getNodeScroll(e)}if(isHTMLElement(e)){var l=getBoundingClientRect(e,true);s.x=l.x+e.clientLeft;s.y=l.y+e.clientTop}else if(i){s.x=getWindowScrollBarX(i)}}return{x:o.left+a.scrollLeft-s.x,y:o.top+a.scrollTop-s.y,width:o.width,height:o.height}}function getParentNode(t){if(getNodeName(t)==="html"){return t}return t.assignedSlot||t.parentNode||(isShadowRoot(t)?t.host:null)||getDocumentElement(t)}function getTrueOffsetParent(t){if(!isHTMLElement(t)||getComputedStyle(t).position==="fixed"){return null}return t.offsetParent}function getContainingBlock(t){var e=getParentNode(t);if(isShadowRoot(e)){e=e.host}while(isHTMLElement(e)&&!isLastTraversableNode(e)){if(isContainingBlock(e)){return e}else{var r=e.parentNode;e=isShadowRoot(r)?r.host:r}}return null}function getOffsetParent(t){var e=getWindow(t);var r=getTrueOffsetParent(t);while(r&&isTableElement(r)&&getComputedStyle(r).position==="static"){r=getTrueOffsetParent(r)}if(r&&(getNodeName(r)==="html"||getNodeName(r)==="body"&&getComputedStyle(r).position==="static"&&!isContainingBlock(r))){return e}return r||getContainingBlock(t)||e}function getDimensions(t){if(isHTMLElement(t)){return{width:t.offsetWidth,height:t.offsetHeight}}var e=getBoundingClientRect(t);return{width:e.width,height:e.height}}function convertOffsetParentRelativeRectToViewportRelativeRect(t){var e=t.rect,r=t.offsetParent,n=t.strategy;var i=isHTMLElement(r);var o=getDocumentElement(r);if(r===o){return e}var a={scrollLeft:0,scrollTop:0};var s={x:0,y:0};if(i||!i&&n!=="fixed"){if(getNodeName(r)!=="body"||isOverflowElement(o)){a=getNodeScroll(r)}if(isHTMLElement(r)){var l=getBoundingClientRect(r,true);s.x=l.x+r.clientLeft;s.y=l.y+r.clientTop}}return __assign(__assign({},e),{x:e.x-a.scrollLeft+s.x,y:e.y-a.scrollTop+s.y})}function getViewportRect(t,e){var r=getWindow(t);var n=getDocumentElement(t);var i=r.visualViewport;var o=n.clientWidth;var a=n.clientHeight;var s=0;var l=0;if(i){o=i.width;a=i.height;var c=isLayoutViewport();if(c||!c&&e==="fixed"){s=i.offsetLeft;l=i.offsetTop}}return{width:o,height:a,x:s,y:l}}function getDocumentRect(t){var e;var r=getDocumentElement(t);var n=getNodeScroll(t);var i=(e=t.ownerDocument)==null?void 0:e.body;var o=max(r.scrollWidth,r.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0);var a=max(r.scrollHeight,r.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0);var s=-n.scrollLeft+getWindowScrollBarX(t);var l=-n.scrollTop;if(getComputedStyle(i||r).direction==="rtl"){s+=max(r.clientWidth,i?i.clientWidth:0)-o}return{width:o,height:a,x:s,y:l}}function getNearestOverflowAncestor(t){var e=getParentNode(t);if(isLastTraversableNode(e)){return t.ownerDocument.body}if(isHTMLElement(e)&&isOverflowElement(e)){return e}return getNearestOverflowAncestor(e)}function getOverflowAncestors(t,e){var r;if(e===void 0){e=[]}var n=getNearestOverflowAncestor(t);var i=n===((r=t.ownerDocument)==null?void 0:r.body);var o=getWindow(n);var a=i?[o].concat(o.visualViewport||[],isOverflowElement(n)?n:[]):n;var s=e.concat(a);return i?s:s.concat(getOverflowAncestors(a))}function contains(t,e){var r=e.getRootNode==null?void 0:e.getRootNode();if(t.contains(e)){return true}else if(r&&isShadowRoot(r)){var n=e;do{if(n&&t===n){return true}n=n.parentNode||n.host}while(n)}return false}function getNearestParentCapableOfEscapingClipping(t,e){var r=t;while(r&&!isLastTraversableNode(r)&&!e.includes(r)){if(isElement(r)&&["absolute","fixed"].includes(getComputedStyle(r).position)){break}var n=getParentNode(r);r=isShadowRoot(n)?n.host:n}return r}function getInnerBoundingClientRect(t,e){var r=getBoundingClientRect(t,false,e==="fixed");var n=r.top+t.clientTop;var i=r.left+t.clientLeft;return{top:n,left:i,x:i,y:n,right:i+t.clientWidth,bottom:n+t.clientHeight,width:t.clientWidth,height:t.clientHeight}}function getClientRectFromClippingAncestor(t,e,r){if(e==="viewport"){return rectToClientRect(getViewportRect(t,r))}if(isElement(e)){return getInnerBoundingClientRect(e,r)}return rectToClientRect(getDocumentRect(getDocumentElement(t)))}function getClippingAncestors(t){var e=getOverflowAncestors(t);var r=getNearestParentCapableOfEscapingClipping(t,e);var n=null;if(r&&isHTMLElement(r)){var i=getOffsetParent(r);if(isOverflowElement(r)){n=r}else if(isHTMLElement(i)){n=i}}if(!isElement(n)){return[]}return e.filter((function(t){return n&&isElement(t)&&contains(t,n)&&getNodeName(t)!=="body"}))}function getClippingRect(t){var e=t.element,r=t.boundary,n=t.rootBoundary,i=t.strategy;var o=r==="clippingAncestors"?getClippingAncestors(e):[].concat(r);var a=__spreadArray(__spreadArray([],o,true),[n],false);var s=a[0];var l=a.reduce((function(t,r){var n=getClientRectFromClippingAncestor(e,r,i);t.top=max(n.top,t.top);t.right=min(n.right,t.right);t.bottom=min(n.bottom,t.bottom);t.left=max(n.left,t.left);return t}),getClientRectFromClippingAncestor(e,s,i));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}var platform={getClippingRect:getClippingRect,convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,isElement:isElement,getDimensions:getDimensions,getOffsetParent:getOffsetParent,getDocumentElement:getDocumentElement,getElementRects:function(t){var e=t.reference,r=t.floating,n=t.strategy;return{reference:getRectRelativeToOffsetParent(e,getOffsetParent(r),n),floating:__assign(__assign({},getDimensions(r)),{x:0,y:0})}},getClientRects:function(t){return Array.from(t.getClientRects())},isRTL:function(t){return getComputedStyle(t).direction==="rtl"}};function autoUpdate(t,e,r,n){if(n===void 0){n={}}var i=n.ancestorScroll,o=i===void 0?true:i,a=n.ancestorResize,s=a===void 0?true:a,l=n.elementResize,c=l===void 0?true:l,f=n.animationFrame,u=f===void 0?false:f;var d=o&&!u;var g=d||s?__spreadArray(__spreadArray([],isElement(t)?getOverflowAncestors(t):t.contextElement?getOverflowAncestors(t.contextElement):[],true),getOverflowAncestors(e),true):[];g.forEach((function(t){d&&t.addEventListener("scroll",r,{passive:true});s&&t.addEventListener("resize",r)}));var p=null;if(c){var m=true;p=new ResizeObserver((function(){if(!m){r()}m=false}));isElement(t)&&!u&&p.observe(t);if(!isElement(t)&&t.contextElement&&!u){p.observe(t.contextElement)}p.observe(e)}var h;var v=u?getBoundingClientRect(t):null;if(u){b()}function b(){var e=getBoundingClientRect(t);if(v&&(e.x!==v.x||e.y!==v.y||e.width!==v.width||e.height!==v.height)){r()}v=e;h=requestAnimationFrame(b)}r();return function(){var t;g.forEach((function(t){d&&t.removeEventListener("scroll",r);s&&t.removeEventListener("resize",r)}));(t=p)==null?void 0:t.disconnect();p=null;if(u){cancelAnimationFrame(h)}}}var computePosition=function(t,e,r){return computePosition$1(t,e,__assign({platform:platform},r))};var arrowSvg='<svg width="30" height="16" viewBox="0 0 30 16" xmlns="http://www.w3.org/2000/svg">\n <path d="M10.2 2.4C12.6 -0.800001 17.4 -0.800001 19.8 2.4L30 16H0L10.2 2.4Z"/>\n</svg>\n';var hash=function(t){var e,r;for(e=0,r=0;e<t.length;e++){r=Math.imul(31,r)+t.charCodeAt(e)|0}return r.toString()};var setAttributeIfEmpty=function(t,e,r){if(t.hasAttribute(e)){return t.getAttribute(e)}t.setAttribute(e,r);return r};var hashValue=function(t){return"".concat(t,"-").concat(hash(t))};var mdsDropdownCss=".visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mt-\\[25vh\\]{margin-top:25vh}.flex{display:-ms-flexbox;display:flex}.h-\\[2px\\]{height:2px}.h-\\[200vh\\]{height:200vh}.h-\\[100vh\\]{height:100vh}.w-20{width:5rem}.w-full{width:100%}.max-w-\\[350px\\]{max-width:350px}.transform{-webkit-transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.items-center{-ms-flex-align:center;align-items:center}.justify-start{-ms-flex-pack:start;justify-content:flex-start}.justify-end{-ms-flex-pack:end;justify-content:flex-end}.justify-center{-ms-flex-pack:center;justify-content:center}.border{border-width:1px}.bg-brand-maggioli-06{--tw-bg-opacity:1;background-color:rgba(var(--brand-maggioli-06), var(--tw-bg-opacity))}.bg-tone-neutral-08{--tw-bg-opacity:1;background-color:rgba(var(--tone-neutral-08), var(--tw-bg-opacity))}.text-tone-neutral-04{--tw-text-opacity:1;color:rgba(var(--tone-neutral-04), var(--tw-text-opacity))}.text-tone-neutral-02{--tw-text-opacity:1;color:rgba(var(--tone-neutral-02), var(--tw-text-opacity))}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;-webkit-transition-property:color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:150ms;transition-duration:150ms}.ease-out{-webkit-transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}:host{--background-arrow:var(--background);--background:rgb(var(--tone-neutral));--drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1)) drop-shadow(0 0 1px rgba(0, 0, 0, 0.1));--duration:0.5s;--ease:cubic-bezier(0.19, 1, 0.22, 1);--transform-from:scale(0.9) translateY(-3%);--transform-to:scale(1) translate(0, 0);pointer-events:none;position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;gap:1rem;border-radius:0.5rem;padding:1.5rem;opacity:0;background-color:var(--background);-webkit-filter:var(--drop-shadow);filter:var(--drop-shadow);-webkit-transform:var(--transform-from);transform:var(--transform-from);-webkit-transition-duration:var(--duration);transition-duration:var(--duration);-webkit-transition-property:opacity, -webkit-transform, -webkit-transform-origin;transition-property:opacity, -webkit-transform, -webkit-transform-origin;transition-property:opacity, transform, transform-origin;transition-property:opacity, transform, transform-origin, -webkit-transform, -webkit-transform-origin;-webkit-transition-timing-function:var(--ease);transition-timing-function:var(--ease)}:host([visible]:not([visible=false])){pointer-events:auto;opacity:1;-webkit-transform:var(--transform-to);transform:var(--transform-to)}:host([smooth]:not([smooth=false])){-webkit-transition-property:bottom, left, opacity, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, opacity, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, opacity, right, top, transform, transform-origin;transition-property:bottom, left, opacity, right, top, transform, transform-origin, -webkit-transform, -webkit-transform-origin}.arrow{pointer-events:none;position:fixed;top:-1rem;display:-ms-flexbox;display:flex;fill:var(--background-arrow);-webkit-transition-duration:var(--duration);transition-duration:var(--duration);-webkit-transition-property:bottom, left, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, right, top, transform, transform-origin;transition-property:bottom, left, right, top, transform, transform-origin, -webkit-transform, -webkit-transform-origin}:host([arrow]:not([arrow=false])[visible]:not([visible=false])) .arrow{-webkit-transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1)}:host([arrow]:not([arrow=false]):not([visible]):not([visible=true])) .arrow{-webkit-transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1)}::slotted(*){position:relative;z-index:10}";var MdsDropdown=function(){function t(t){var e=this;registerInstance(this,t);this.closeDropdown=createEvent(this,"closeDropdown",7);this.backdropBackgroundVisible="rgba(var(--backdrop-color, 0 0 0) / var(--backdrop-opacity, 0.1))";this.backdropBackgroundHidden="rgba(var(--backdrop-color, 0 0 0) / 0)";this.backdropDuration=2e3;this.backdropId="mds-dropdown-backdrop";this.handleCloseDropdown=function(t){if(t===void 0){t=null}if(!e.visible){return}if(!e.host.contains(t.target)&&t.target!==e.caller){e.closeDropdown.emit()}};this.handleVisibility=function(t){if(t===void 0){t=null}if(t!==null){e.visible=t;return}if(e.visible){e.visible=false;return}e.visible=true;e.updatePosition()};this.callerOnClick=function(){e.handleVisibility()};this.arrowInset=function(t,e){var r=t.arrow;var n={bottom:"",left:"",right:"",top:""};if(r===undefined){return{}}switch(e){case"bottom":n.left=r.x!==null?"".concat(r.x,"px"):"";n.top="100%";break;case"left":n.right="100%";n.top=r.y!==null?"".concat(r.y,"px"):"";break;case"right":n.left="100%";n.top=r.y!==null?"".concat(r.y,"px"):"";break;case"top":n.left=r.x!==null?"".concat(r.x,"px"):"";n.top=null;break}return n};this.arrowTransform=function(t){var r=e.arrow&&e.visible?"scale(1)":"scale(0)";switch(t){case"bottom":r="rotate(180deg) ".concat(r," translate(0, -100%)");break;case"left":r="rotate(-90deg) ".concat(r," translate(50%, -50%)");break;case"right":r="rotate(90deg) ".concat(r," translate(-50%, -50%)");break;case"top":r="rotate(0deg) ".concat(r," translate(0, 0)");break}return{transform:r}};this.arrowTransformOrigin=function(t){switch(t){case"bottom":return{transformOrigin:"center top"};case"left":return{transformOrigin:"right center"};case"right":return{transformOrigin:"left center"};case"top":return{transformOrigin:"center bottom"};default:return{transformOrigin:"center top"}}};this.updatePosition=function(){if(!e.caller)return;var t=[];var r={};if(e.shiftPadding){r.padding=e.shiftPadding}if(e.autoPlacement){t.push(autoPlacement())}if(e.offset){t.push(offset(e.offset))}if(!e.autoPlacement&&e.flip){t.push(flip(r))}if(e.shift){t.push(shift(r))}if(e.arrow){t.push(arrow({element:e.arrowEl,padding:e.arrowPadding}))}computePosition(e.caller,e.host,{middleware:t,placement:e.placement,strategy:e.strategy}).then((function(t){var r=t.x,n=t.y,i=t.placement,o=t.middlewareData;Object.assign(e.host.style,{left:"".concat(r,"px"),top:"".concat(n,"px")});var a={};var s={top:"bottom",right:"left",bottom:"top",left:"right"}[i.split("-")[0]];Object.assign(a,e.arrowTransform(s));Object.assign(a,e.arrowInset(o,s));Object.assign(a,e.arrowTransformOrigin(s));Object.assign(e.arrowEl.style,a)}))};this.arrow=true;this.arrowPadding=24;this.autoPlacement=false;this.backdrop=false;this.flip=false;this.target=undefined;this.offset=24;this.placement="bottom";this.shift=true;this.shiftPadding=24;this.smooth=true;this.strategy="fixed";this.visible=false}t.prototype.onCloseListener=function(){this.handleVisibility(false)};t.prototype.attachBackdrop=function(){var t=this;if(!this.backdropEl){this.backdropEl=document.createElement("div");this.backdropEl.style.backgroundColor=this.backdropBackgroundHidden;this.backdropEl.className=this.backdropId;this.backdropEl.style.inset="0";this.backdropEl.style.pointerEvents="none";this.backdropEl.style.position="fixed";this.backdropEl.style.transition="background-color ".concat(this.backdropDuration/1e4,"s ease-out");this.backdropEl.style.zIndex=(Number(this.host.style.zIndex)-1).toString();document.body.appendChild(this.backdropEl)}clearTimeout(this.backdropTimer);this.backdropTimer=setTimeout((function(){t.backdropEl.style.backgroundColor=t.backdropBackgroundVisible}),1)};t.prototype.detachBackdrop=function(){var t=this;if(!this.backdropEl){return}this.backdropEl.style.backgroundColor="transparent";clearTimeout(this.backdropTimer);this.backdropTimer=setTimeout((function(){t.backdropEl.remove();t.backdropEl=null}),this.backdropDuration)};t.prototype.arrowChanged=function(){this.updatePosition()};t.prototype.arrowPaddingChanged=function(){this.updatePosition()};t.prototype.autoPlacementChanged=function(){this.updatePosition()};t.prototype.backdropChanged=function(t){if(!this.visible){return}if(t){this.attachBackdrop();return}this.detachBackdrop()};t.prototype.flipChanged=function(){this.updatePosition()};t.prototype.offsetChanged=function(){this.updatePosition()};t.prototype.placementChanged=function(){this.updatePosition()};t.prototype.shiftChanged=function(){this.updatePosition()};t.prototype.shiftPaddingChanged=function(){this.updatePosition()};t.prototype.strategyChanged=function(){this.updatePosition()};t.prototype.visibleChanged=function(t){this.updatePosition();if(!this.backdrop){return}if(t){this.attachBackdrop();return}this.detachBackdrop()};t.prototype.componentWillLoad=function(){Array.from(document.getElementsByClassName(this.backdropId)).forEach((function(t){t.remove()}))};t.prototype.setAriaAttributes=function(){var t=setAttributeIfEmpty(this.host,"id",hashValue(this.target));setAttributeIfEmpty(this.caller,"aria-haspopup","true");setAttributeIfEmpty(this.caller,"aria-controls",t);setAttributeIfEmpty(this.host,"role","menu");setAttributeIfEmpty(this.host,"aria-labelledby",this.target)};t.prototype.componentDidLoad=function(){document.addEventListener("click",this.handleCloseDropdown);this.arrowEl=this.host.shadowRoot.querySelector(".arrow");this.caller=document.getElementById(this.target);this.setAriaAttributes();if(!this.caller)return;this.caller.addEventListener("click",this.callerOnClick.bind(this));this.backdropChanged(this.backdrop)};t.prototype.componentDidRender=function(){if(!this.cleanupAutoUpdate){this.cleanupAutoUpdate=autoUpdate(this.caller,this.host,this.updatePosition)}};t.prototype.disconnectedCallback=function(){this.cleanupAutoUpdate=null};t.prototype.render=function(){return h(Host,null,h("div",{class:"arrow",innerHTML:arrowSvg}),h("slot",null))};Object.defineProperty(t.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{arrow:["arrowChanged"],arrowPadding:["arrowPaddingChanged"],autoPlacement:["autoPlacementChanged"],backdrop:["backdropChanged"],flip:["flipChanged"],offset:["offsetChanged"],placement:["placementChanged"],shift:["shiftChanged"],shiftPadding:["shiftPaddingChanged"],strategy:["strategyChanged"],visible:["visibleChanged"]}},enumerable:false,configurable:true});return t}();MdsDropdown.style=mdsDropdownCss;export{MdsDropdown as mds_dropdown}; |
import { p as promiseResolve, b as bootstrapLazy } from './index-0116e12a.js'; | ||
/* | ||
Stencil Client Patch Esm v2.18.1 | MIT Licensed | https://stenciljs.com | ||
Stencil Client Patch Esm v2.19.3 | MIT Licensed | https://stenciljs.com | ||
*/ | ||
@@ -6,0 +6,0 @@ const patchEsm = () => { |
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-0116e12a.js'; | ||
import { setAttributeIfEmpty, hashValue } from '@common/aria'; | ||
@@ -111,5 +110,5 @@ function getSide(placement) { | ||
let middlewareData = {}; | ||
let resetCount = 0; | ||
for (let i = 0; i < middleware.length; i++) { | ||
const { | ||
@@ -146,3 +145,5 @@ name, | ||
if (reset) { | ||
if (reset && resetCount <= 50) { | ||
resetCount++; | ||
if (typeof reset === 'object') { | ||
@@ -255,5 +256,3 @@ if (reset.placement) { | ||
strategy | ||
}) : rects[elementContext]); // positive = overflowing the clipping rect | ||
// 0 or negative = within the clipping rect | ||
}) : rects[elementContext]); | ||
return { | ||
@@ -308,2 +307,3 @@ top: clippingClientRect.top - elementClientRect.top + paddingObject.top, | ||
const axis = getMainAxisFromPlacement(placement); | ||
const alignment = getAlignment(placement); | ||
const length = getLengthFromAxis(axis); | ||
@@ -316,5 +316,10 @@ const arrowDimensions = await platform.getDimensions(element); | ||
const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element)); | ||
const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; | ||
let clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; | ||
if (clientSize === 0) { | ||
clientSize = rects.floating[length]; | ||
} | ||
const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center | ||
// point is outside of the floating element's bounds | ||
// point is outside the floating element's bounds | ||
@@ -324,4 +329,9 @@ const min = paddingObject[minProp]; | ||
const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference; | ||
const offset = within(min, center, max); | ||
const offset = within(min, center, max); // Make sure that arrow points at the reference | ||
const alignmentPadding = alignment === 'start' ? paddingObject[minProp] : paddingObject[maxProp]; | ||
const shouldAddOffset = alignmentPadding > 0 && center !== offset && rects.reference[length] <= rects.floating[length]; | ||
const alignmentOffset = shouldAddOffset ? center < min ? min - center : max - center : 0; | ||
return { | ||
[axis]: coords[axis] - alignmentOffset, | ||
data: { | ||
@@ -366,3 +376,3 @@ [axis]: offset, | ||
const hash = { | ||
const hash$2 = { | ||
start: 'end', | ||
@@ -372,3 +382,3 @@ end: 'start' | ||
function getOppositeAlignmentPlacement(placement) { | ||
return placement.replace(/start|end/g, matched => hash[matched]); | ||
return placement.replace(/start|end/g, matched => hash$2[matched]); | ||
} | ||
@@ -609,7 +619,9 @@ | ||
function convertValueToCoords(placement, rects, value, rtl) { | ||
if (rtl === void 0) { | ||
rtl = false; | ||
} | ||
async function convertValueToCoords(middlewareArguments, value) { | ||
const { | ||
placement, | ||
platform, | ||
elements | ||
} = middlewareArguments; | ||
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)); | ||
const side = getSide(placement); | ||
@@ -620,5 +632,3 @@ const alignment = getAlignment(placement); | ||
const crossAxisMulti = rtl && isVertical ? -1 : 1; | ||
const rawValue = typeof value === 'function' ? value({ ...rects, | ||
placement | ||
}) : value; // eslint-disable-next-line prefer-const | ||
const rawValue = typeof value === 'function' ? value(middlewareArguments) : value; // eslint-disable-next-line prefer-const | ||
@@ -669,9 +679,5 @@ let { | ||
x, | ||
y, | ||
placement, | ||
rects, | ||
platform, | ||
elements | ||
y | ||
} = middlewareArguments; | ||
const diffCoords = convertValueToCoords(placement, rects, value, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))); | ||
const diffCoords = await convertValueToCoords(middlewareArguments, value); | ||
return { | ||
@@ -785,3 +791,3 @@ x: x + diffCoords.x, | ||
function getComputedStyle$1(element) { | ||
function getComputedStyle(element) { | ||
return getWindow(element).getComputedStyle(element); | ||
@@ -794,2 +800,12 @@ } | ||
function getUAString() { | ||
const uaData = navigator.userAgentData; | ||
if (uaData != null && uaData.brands) { | ||
return uaData.brands.map(item => item.brand + "/" + item.version).join(' '); | ||
} | ||
return navigator.userAgent; | ||
} | ||
function isHTMLElement(value) { | ||
@@ -818,5 +834,6 @@ return value instanceof getWindow(value).HTMLElement; | ||
overflowX, | ||
overflowY | ||
} = getComputedStyle$1(element); | ||
return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); | ||
overflowY, | ||
display | ||
} = getComputedStyle(element); | ||
return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display); | ||
} | ||
@@ -828,13 +845,16 @@ function isTableElement(element) { | ||
// TODO: Try and use feature detection here instead | ||
const isFirefox = navigator.userAgent.toLowerCase().includes('firefox'); | ||
const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that | ||
const isFirefox = /firefox/i.test(getUAString()); | ||
const css = getComputedStyle(element); // This is non-exhaustive but covers the most common CSS properties that | ||
// create a containing block. | ||
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block | ||
return css.transform !== 'none' || css.perspective !== 'none' || // @ts-ignore (TS 4.1 compat) | ||
css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false); | ||
return css.transform !== 'none' || css.perspective !== 'none' || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective'].some(value => css.willChange.includes(value)) || ['paint', 'layout', 'strict', 'content'].some( // TS 4.1 compat | ||
value => { | ||
const contain = css.contain; | ||
return contain != null ? contain.includes(value) : false; | ||
}); | ||
} | ||
function isLayoutViewport() { | ||
// Not Safari | ||
return !/^((?!chrome|android).)*safari/i.test(navigator.userAgent); // Feature detection for this fails in various ways | ||
return !/^((?!chrome|android).)*safari/i.test(getUAString()); // Feature detection for this fails in various ways | ||
// • Always-visible scrollbar or not | ||
@@ -845,2 +865,5 @@ // • Width of <html>, etc. | ||
} | ||
function isLastTraversableNode(node) { | ||
return ['html', 'body', '#document'].includes(getNodeName(node)); | ||
} | ||
@@ -984,7 +1007,8 @@ const min = Math.min; | ||
while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) { | ||
while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) { | ||
if (isContainingBlock(currentNode)) { | ||
return currentNode; | ||
} else { | ||
currentNode = currentNode.parentNode; | ||
const parent = currentNode.parentNode; | ||
currentNode = isShadowRoot(parent) ? parent.host : parent; | ||
} | ||
@@ -1113,3 +1137,3 @@ } | ||
if (getComputedStyle$1(body || html).direction === 'rtl') { | ||
if (getComputedStyle(body || html).direction === 'rtl') { | ||
x += max(html.clientWidth, body ? body.clientWidth : 0) - width; | ||
@@ -1129,3 +1153,3 @@ } | ||
if (['html', 'body', '#document'].includes(getNodeName(parentNode))) { | ||
if (isLastTraversableNode(parentNode)) { | ||
// @ts-ignore assume body is always available | ||
@@ -1159,5 +1183,5 @@ return node.ownerDocument.body; | ||
function contains(parent, child) { | ||
const rootNode = child == null ? void 0 : child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method | ||
const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method | ||
if (parent != null && parent.contains(child)) { | ||
if (parent.contains(child)) { | ||
return true; | ||
@@ -1182,2 +1206,18 @@ } // then fallback to custom implementation with Shadow DOM support | ||
function getNearestParentCapableOfEscapingClipping(element, clippingAncestors) { | ||
let currentNode = element; | ||
while (currentNode && !isLastTraversableNode(currentNode) && // @ts-expect-error | ||
!clippingAncestors.includes(currentNode)) { | ||
if (isElement(currentNode) && ['absolute', 'fixed'].includes(getComputedStyle(currentNode).position)) { | ||
break; | ||
} | ||
const parentNode = getParentNode(currentNode); | ||
currentNode = isShadowRoot(parentNode) ? parentNode.host : parentNode; | ||
} | ||
return currentNode; | ||
} | ||
function getInnerBoundingClientRect(element, strategy) { | ||
@@ -1216,5 +1256,15 @@ const clientRect = getBoundingClientRect(element, false, strategy === 'fixed'); | ||
const clippingAncestors = getOverflowAncestors(element); | ||
const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position); | ||
const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; | ||
const nearestEscapableParent = getNearestParentCapableOfEscapingClipping(element, clippingAncestors); | ||
let clipperElement = null; | ||
if (nearestEscapableParent && isHTMLElement(nearestEscapableParent)) { | ||
const offsetParent = getOffsetParent(nearestEscapableParent); | ||
if (isOverflowElement(nearestEscapableParent)) { | ||
clipperElement = nearestEscapableParent; | ||
} else if (isHTMLElement(offsetParent)) { | ||
clipperElement = offsetParent; | ||
} | ||
} | ||
if (!isElement(clipperElement)) { | ||
@@ -1225,3 +1275,3 @@ return []; | ||
return clippingAncestors.filter(clippingAncestors => isElement(clippingAncestors) && contains(clippingAncestors, clipperElement) && getNodeName(clippingAncestors) !== 'body'); | ||
return clippingAncestors.filter(clippingAncestors => clipperElement && isElement(clippingAncestors) && contains(clippingAncestors, clipperElement) && getNodeName(clippingAncestors) !== 'body'); | ||
} // Gets the maximum area that the element is visible in due to any number of | ||
@@ -1279,3 +1329,3 @@ // clipping ancestors | ||
getClientRects: element => Array.from(element.getClientRects()), | ||
isRTL: element => getComputedStyle$1(element).direction === 'rtl' | ||
isRTL: element => getComputedStyle(element).direction === 'rtl' | ||
}; | ||
@@ -1294,11 +1344,8 @@ | ||
ancestorScroll: _ancestorScroll = true, | ||
ancestorResize: _ancestorResize = true, | ||
elementResize: _elementResize = true, | ||
ancestorResize = true, | ||
elementResize = true, | ||
animationFrame = false | ||
} = options; | ||
let cleanedUp = false; | ||
const ancestorScroll = _ancestorScroll && !animationFrame; | ||
const ancestorResize = _ancestorResize && !animationFrame; | ||
const elementResize = _elementResize && !animationFrame; | ||
const ancestors = ancestorScroll || ancestorResize ? [...(isElement(reference) ? getOverflowAncestors(reference) : []), ...getOverflowAncestors(floating)] : []; | ||
const ancestors = ancestorScroll || ancestorResize ? [...(isElement(reference) ? getOverflowAncestors(reference) : reference.contextElement ? getOverflowAncestors(reference.contextElement) : []), ...getOverflowAncestors(floating)] : []; | ||
ancestors.forEach(ancestor => { | ||
@@ -1313,4 +1360,16 @@ ancestorScroll && ancestor.addEventListener('scroll', update, { | ||
if (elementResize) { | ||
observer = new ResizeObserver(update); | ||
isElement(reference) && observer.observe(reference); | ||
let initialUpdate = true; | ||
observer = new ResizeObserver(() => { | ||
if (!initialUpdate) { | ||
update(); | ||
} | ||
initialUpdate = false; | ||
}); | ||
isElement(reference) && !animationFrame && observer.observe(reference); | ||
if (!isElement(reference) && reference.contextElement && !animationFrame) { | ||
observer.observe(reference.contextElement); | ||
} | ||
observer.observe(floating); | ||
@@ -1327,6 +1386,2 @@ } | ||
function frameLoop() { | ||
if (cleanedUp) { | ||
return; | ||
} | ||
const nextRefRect = getBoundingClientRect(reference); | ||
@@ -1342,6 +1397,6 @@ | ||
update(); | ||
return () => { | ||
var _observer; | ||
cleanedUp = true; | ||
ancestors.forEach(ancestor => { | ||
@@ -1376,2 +1431,18 @@ ancestorScroll && ancestor.removeEventListener('scroll', update); | ||
const hash = (s) => { | ||
let i, h; | ||
for (i = 0, h = 0; i < s.length; i++) { | ||
h = Math.imul(31, h) + s.charCodeAt(i) | 0; | ||
} | ||
return h.toString(); | ||
}; | ||
const setAttributeIfEmpty = (element, attribute, value) => { | ||
if (element.hasAttribute(attribute)) { | ||
return element.getAttribute(attribute); | ||
} | ||
element.setAttribute(attribute, value); | ||
return value; | ||
}; | ||
const hashValue = (value) => `${value}-${hash(value)}`; | ||
const mdsDropdownCss = ".visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mt-\\[25vh\\]{margin-top:25vh}.flex{display:-ms-flexbox;display:flex}.h-\\[2px\\]{height:2px}.h-\\[200vh\\]{height:200vh}.h-\\[100vh\\]{height:100vh}.w-20{width:5rem}.w-full{width:100%}.max-w-\\[350px\\]{max-width:350px}.transform{-webkit-transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.items-center{-ms-flex-align:center;align-items:center}.justify-start{-ms-flex-pack:start;justify-content:flex-start}.justify-end{-ms-flex-pack:end;justify-content:flex-end}.justify-center{-ms-flex-pack:center;justify-content:center}.border{border-width:1px}.bg-brand-maggioli-06{--tw-bg-opacity:1;background-color:rgba(var(--brand-maggioli-06), var(--tw-bg-opacity))}.bg-tone-neutral-08{--tw-bg-opacity:1;background-color:rgba(var(--tone-neutral-08), var(--tw-bg-opacity))}.text-tone-neutral-04{--tw-text-opacity:1;color:rgba(var(--tone-neutral-04), var(--tw-text-opacity))}.text-tone-neutral-02{--tw-text-opacity:1;color:rgba(var(--tone-neutral-02), var(--tw-text-opacity))}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;-webkit-transition-property:color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, fill, stroke, opacity, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:150ms;transition-duration:150ms}.ease-out{-webkit-transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}:host{--background-arrow:var(--background);--background:rgb(var(--tone-neutral));--drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1)) drop-shadow(0 0 1px rgba(0, 0, 0, 0.1));--duration:0.5s;--ease:cubic-bezier(0.19, 1, 0.22, 1);--transform-from:scale(0.9) translateY(-3%);--transform-to:scale(1) translate(0, 0);pointer-events:none;position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;gap:1rem;border-radius:0.5rem;padding:1.5rem;opacity:0;background-color:var(--background);-webkit-filter:var(--drop-shadow);filter:var(--drop-shadow);-webkit-transform:var(--transform-from);transform:var(--transform-from);-webkit-transition-duration:var(--duration);transition-duration:var(--duration);-webkit-transition-property:opacity, -webkit-transform, -webkit-transform-origin;transition-property:opacity, -webkit-transform, -webkit-transform-origin;transition-property:opacity, transform, transform-origin;transition-property:opacity, transform, transform-origin, -webkit-transform, -webkit-transform-origin;-webkit-transition-timing-function:var(--ease);transition-timing-function:var(--ease)}:host([visible]:not([visible=false])){pointer-events:auto;opacity:1;-webkit-transform:var(--transform-to);transform:var(--transform-to)}:host([smooth]:not([smooth=false])){-webkit-transition-property:bottom, left, opacity, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, opacity, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, opacity, right, top, transform, transform-origin;transition-property:bottom, left, opacity, right, top, transform, transform-origin, -webkit-transform, -webkit-transform-origin}.arrow{pointer-events:none;position:fixed;top:-1rem;display:-ms-flexbox;display:flex;fill:var(--background-arrow);-webkit-transition-duration:var(--duration);transition-duration:var(--duration);-webkit-transition-property:bottom, left, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, right, top, -webkit-transform, -webkit-transform-origin;transition-property:bottom, left, right, top, transform, transform-origin;transition-property:bottom, left, right, top, transform, transform-origin, -webkit-transform, -webkit-transform-origin}:host([arrow]:not([arrow=false])[visible]:not([visible=false])) .arrow{-webkit-transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1);transition-timing-function:cubic-bezier(0.165, 0.84, 0.44, 1)}:host([arrow]:not([arrow=false]):not([visible]):not([visible=true])) .arrow{-webkit-transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1);transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1)}::slotted(*){position:relative;z-index:10}"; | ||
@@ -1387,50 +1458,2 @@ | ||
this.backdropId = 'mds-dropdown-backdrop'; | ||
/** | ||
* If set, the component will have an arrow pointing to the caller. | ||
*/ | ||
this.arrow = true; | ||
/** | ||
* Sets the distance between arrow and dropdown margins. | ||
*/ | ||
this.arrowPadding = 24; | ||
/** | ||
* If set, the component will be placed automatically near it's caller. | ||
*/ | ||
this.autoPlacement = false; | ||
/** | ||
* Specifies if the component has a backdrop background | ||
*/ | ||
this.backdrop = false; | ||
/** | ||
* Specifies the placement of the component if no space is available where it is placed. | ||
*/ | ||
this.flip = false; | ||
/** | ||
* Sets distance between the dropdown and the caller. | ||
*/ | ||
this.offset = 24; | ||
/** | ||
* Specifies where the component should be placed relative to the caller. | ||
*/ | ||
this.placement = 'bottom'; | ||
/** | ||
* If set, the component will be kept inside the viewport. | ||
*/ | ||
this.shift = true; | ||
/** | ||
* Sets a safe area distance between the dropdown and the viewport. | ||
*/ | ||
this.shiftPadding = 24; | ||
/** | ||
* If set, the component will follow the caller smoothly, visible when the page scrolls. | ||
*/ | ||
this.smooth = true; | ||
/** | ||
* Sets the CSS position strategy of the component. | ||
*/ | ||
this.strategy = 'fixed'; | ||
/** | ||
* Specifies the visibility of the component. | ||
*/ | ||
this.visible = false; | ||
this.handleCloseDropdown = (e = null) => { | ||
@@ -1565,2 +1588,15 @@ if (!this.visible) { | ||
}; | ||
this.arrow = true; | ||
this.arrowPadding = 24; | ||
this.autoPlacement = false; | ||
this.backdrop = false; | ||
this.flip = false; | ||
this.target = undefined; | ||
this.offset = 24; | ||
this.placement = 'bottom'; | ||
this.shift = true; | ||
this.shiftPadding = 24; | ||
this.smooth = true; | ||
this.strategy = 'fixed'; | ||
this.visible = false; | ||
} | ||
@@ -1567,0 +1603,0 @@ onCloseListener() { |
import { p as promiseResolve, b as bootstrapLazy } from './index-0116e12a.js'; | ||
/* | ||
Stencil Client Patch Browser v2.18.1 | MIT Licensed | https://stenciljs.com | ||
Stencil Client Patch Browser v2.19.3 | MIT Licensed | https://stenciljs.com | ||
*/ | ||
@@ -6,0 +6,0 @@ const patchBrowser = () => { |
@@ -1,1 +0,1 @@ | ||
import{p as o,b as t}from"./p-b245361a.js";(()=>{const t=import.meta.url,a={};return""!==t&&(a.resourcesUrl=new URL(".",t).href),o(a)})().then((o=>t([["p-77477604",[[1,"mds-dropdown",{arrow:[4],arrowPadding:[2,"arrow-padding"],autoPlacement:[4,"auto-placement"],backdrop:[4],flip:[4],target:[1],offset:[2],placement:[1],shift:[4],shiftPadding:[2,"shift-padding"],smooth:[4],strategy:[1],visible:[1540]},[[4,"closeDropdown","onCloseListener"]]]]]],o))); | ||
import{p as o,b as a}from"./p-b245361a.js";(()=>{const a=import.meta.url,t={};return""!==a&&(t.resourcesUrl=new URL(".",a).href),o(t)})().then((o=>a([["p-ad5f5eb0",[[1,"mds-dropdown",{arrow:[4],arrowPadding:[2,"arrow-padding"],autoPlacement:[4,"auto-placement"],backdrop:[4],flip:[4],target:[1],offset:[2],placement:[1],shift:[4],shiftPadding:[2,"shift-padding"],smooth:[4],strategy:[1],visible:[1540]},[[4,"closeDropdown","onCloseListener"]]]]]],o))); |
{ | ||
"timestamp": "2022-10-21T13:59:37", | ||
"timestamp": "2022-12-06T12:54:44", | ||
"compiler": { | ||
@@ -12,8 +12,9 @@ "name": "node", | ||
"entries": 1, | ||
"bundles": 63, | ||
"bundles": 64, | ||
"outputs": [ | ||
{ | ||
"name": "dist-collection", | ||
"files": 22, | ||
"files": 23, | ||
"generatedFiles": [ | ||
"./dist/collection/common/aria.js", | ||
"./dist/collection/components/mds-dropdown/mds-dropdown.js", | ||
@@ -78,7 +79,7 @@ "./dist/collection/components/mds-dropdown/test/mds-dropdown.stories.js", | ||
"./dist/mds-dropdown/p-50ea2036.system.js", | ||
"./dist/mds-dropdown/p-6aa8d4fe.system.entry.js", | ||
"./dist/mds-dropdown/p-68680495.system.js", | ||
"./dist/mds-dropdown/p-6eb48701.system.js", | ||
"./dist/mds-dropdown/p-77477604.entry.js", | ||
"./dist/mds-dropdown/p-70da9ff6.system.entry.js", | ||
"./dist/mds-dropdown/p-ad5f5eb0.entry.js", | ||
"./dist/mds-dropdown/p-b245361a.js", | ||
"./dist/mds-dropdown/p-b82580f8.system.js", | ||
"./www/build/index.esm.js", | ||
@@ -88,7 +89,7 @@ "./www/build/mds-dropdown.esm.js", | ||
"./www/build/p-50ea2036.system.js", | ||
"./www/build/p-6aa8d4fe.system.entry.js", | ||
"./www/build/p-68680495.system.js", | ||
"./www/build/p-6eb48701.system.js", | ||
"./www/build/p-77477604.entry.js", | ||
"./www/build/p-b245361a.js", | ||
"./www/build/p-b82580f8.system.js" | ||
"./www/build/p-70da9ff6.system.entry.js", | ||
"./www/build/p-ad5f5eb0.entry.js", | ||
"./www/build/p-b245361a.js" | ||
] | ||
@@ -126,9 +127,8 @@ }, | ||
], | ||
"bundleId": "p-77477604", | ||
"fileName": "p-77477604.entry.js", | ||
"bundleId": "p-ad5f5eb0", | ||
"fileName": "p-ad5f5eb0.entry.js", | ||
"imports": [ | ||
"p-b245361a.js", | ||
"@common/aria" | ||
"p-b245361a.js" | ||
], | ||
"originalByteSize": 55314 | ||
"originalByteSize": 56571 | ||
} | ||
@@ -145,6 +145,5 @@ ], | ||
"imports": [ | ||
"index-0116e12a.js", | ||
"@common/aria" | ||
"index-0116e12a.js" | ||
], | ||
"originalByteSize": 55318 | ||
"originalByteSize": 56575 | ||
} | ||
@@ -161,6 +160,5 @@ ], | ||
"imports": [ | ||
"index-0116e12a.js", | ||
"@common/aria" | ||
"index-0116e12a.js" | ||
], | ||
"originalByteSize": 55318 | ||
"originalByteSize": 56575 | ||
} | ||
@@ -174,9 +172,8 @@ ], | ||
], | ||
"bundleId": "p-6aa8d4fe.system", | ||
"fileName": "p-6aa8d4fe.system.entry.js", | ||
"bundleId": "p-70da9ff6.system", | ||
"fileName": "p-70da9ff6.system.entry.js", | ||
"imports": [ | ||
"p-6eb48701.system.js", | ||
"@common/aria" | ||
"p-6eb48701.system.js" | ||
], | ||
"originalByteSize": 64440 | ||
"originalByteSize": 65737 | ||
} | ||
@@ -193,6 +190,5 @@ ], | ||
"imports": [ | ||
"index-d1a0a511.js", | ||
"@common/aria" | ||
"index-d1a0a511.js" | ||
], | ||
"originalByteSize": 55376 | ||
"originalByteSize": 56628 | ||
} | ||
@@ -1017,7 +1013,7 @@ ] | ||
"sc-mds-dropdown": [ | ||
"p-b245361a.js", | ||
"@common/aria" | ||
"p-b245361a.js" | ||
] | ||
}, | ||
"sourceGraph": { | ||
"./src/common/aria.ts": [], | ||
"./src/components/mds-dropdown/mds-dropdown.tsx": [ | ||
@@ -1024,0 +1020,0 @@ "./src/components/mds-dropdown/assets/arrow.svg" |
@@ -226,2 +226,3 @@ declare type CustomMethodDecorator<T> = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void; | ||
* @param ref a reference to the node to get styles for | ||
* @returns the current mode or undefined, if not found | ||
*/ | ||
@@ -241,2 +242,3 @@ export declare function getMode<T = string | undefined>(ref: any): T; | ||
* used in conjunction with the base asset path | ||
* @returns the base path | ||
*/ | ||
@@ -257,2 +259,3 @@ export declare function getAssetPath(path: string): string; | ||
* @param path the asset path to set | ||
* @returns the set path | ||
*/ | ||
@@ -263,2 +266,3 @@ export declare function setAssetPath(path: string): string; | ||
* @param ref the ref to get the Stencil element for | ||
* @returns a reference to the element | ||
*/ | ||
@@ -276,2 +280,3 @@ export declare function getElement(ref: any): HTMLStencilElement; | ||
* getRenderingRef | ||
* @returns the rendering ref | ||
*/ | ||
@@ -278,0 +283,0 @@ export declare function getRenderingRef(): any; |
@@ -1,3 +0,3 @@ | ||
export declare type TypographyType = 'action' | 'caption' | 'code' | 'detail' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'hack' | 'label' | 'option' | 'paragraph' | 'tip'; | ||
export declare type TypographyVariants = 'title' | 'info' | 'read' | 'mono'; | ||
export declare type TypographyType = 'action' | 'caption' | 'snippet' | 'detail' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'hack' | 'label' | 'option' | 'paragraph' | 'tip'; | ||
export declare type TypographyVariants = 'title' | 'info' | 'read' | 'code'; | ||
export declare type TypographyTitleType = 'action' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'; | ||
@@ -7,3 +7,3 @@ export declare type TypographyInfoType = 'caption' | 'detail' | 'label' | 'option' | 'paragraph' | 'tip'; | ||
export declare type TypographySmallerType = 'tip' | 'option'; | ||
export declare type TypographyMonoType = 'code' | 'hack'; | ||
export declare type TypographyMonoType = 'snippet' | 'hack'; | ||
export declare type TypographyTooltipType = 'caption' | 'detail' | 'tip'; |
{ | ||
"name": "@maggioli-design-system/mds-dropdown", | ||
"version": "2.2.0", | ||
"version": "2.2.1", | ||
"description": "mds-dropdown is a web-component from Maggioli Design System Magma, built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScirpt framework you are using.", | ||
@@ -26,4 +26,4 @@ "main": "dist/index.cjs.js", | ||
"@floating-ui/dom": "^0.5.4", | ||
"@maggioli-design-system/styles": "^8.0.0", | ||
"@stencil/core": "^2.17.0" | ||
"@maggioli-design-system/styles": "^10.0.0", | ||
"@stencil/core": "^2.19.3" | ||
}, | ||
@@ -30,0 +30,0 @@ "license": "MIT", |
const typographyDictionary = [ | ||
'action', | ||
'caption', | ||
'code', | ||
'snippet', | ||
'detail', | ||
@@ -23,7 +23,7 @@ 'h1', | ||
'read', | ||
'mono', | ||
'code', | ||
] | ||
const typographyMonoDictionary = [ | ||
'code', | ||
'snippet', | ||
'hack', | ||
@@ -30,0 +30,0 @@ ] |
@@ -21,6 +21,6 @@ [ | ||
"mi/baseline/border-all", | ||
"mi/baseline/cancel", | ||
"mi/baseline/check-box", | ||
"mi/baseline/check-box-outline-blank", | ||
"mi/baseline/check-circle", | ||
"mi/baseline/check-circle-outline", | ||
"mi/baseline/close", | ||
@@ -32,3 +32,3 @@ "mi/baseline/css", | ||
"mi/baseline/email", | ||
"mi/baseline/error-outline", | ||
"mi/baseline/error", | ||
"mi/baseline/explore", | ||
@@ -35,0 +35,0 @@ "mi/baseline/folder-zip", |
export type TypographyType = | ||
| 'action' | ||
| 'caption' | ||
| 'code' | ||
| 'snippet' | ||
| 'detail' | ||
@@ -22,3 +22,3 @@ | 'h1' | ||
| 'read' | ||
| 'mono' | ||
| 'code' | ||
@@ -52,3 +52,3 @@ export type TypographyTitleType = | ||
export type TypographyMonoType = | ||
| 'code' | ||
| 'snippet' | ||
| 'hack' | ||
@@ -55,0 +55,0 @@ |
@@ -1,1 +0,1 @@ | ||
import{p as o,b as t}from"./p-b245361a.js";(()=>{const t=import.meta.url,a={};return""!==t&&(a.resourcesUrl=new URL(".",t).href),o(a)})().then((o=>t([["p-77477604",[[1,"mds-dropdown",{arrow:[4],arrowPadding:[2,"arrow-padding"],autoPlacement:[4,"auto-placement"],backdrop:[4],flip:[4],target:[1],offset:[2],placement:[1],shift:[4],shiftPadding:[2,"shift-padding"],smooth:[4],strategy:[1],visible:[1540]},[[4,"closeDropdown","onCloseListener"]]]]]],o))); | ||
import{p as o,b as a}from"./p-b245361a.js";(()=>{const a=import.meta.url,t={};return""!==a&&(t.resourcesUrl=new URL(".",a).href),o(t)})().then((o=>a([["p-ad5f5eb0",[[1,"mds-dropdown",{arrow:[4],arrowPadding:[2,"arrow-padding"],autoPlacement:[4,"auto-placement"],backdrop:[4],flip:[4],target:[1],offset:[2],placement:[1],shift:[4],shiftPadding:[2,"shift-padding"],smooth:[4],strategy:[1],visible:[1540]},[[4,"closeDropdown","onCloseListener"]]]]]],o))); |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1075949
136
15176
+ Added@fontsource/roboto-mono@4.5.10(transitive)
+ Added@maggioli-design-system/design-tokens@10.7.0(transitive)
+ Added@maggioli-design-system/styles@10.0.1(transitive)
- Removed@maggioli-design-system/design-tokens@8.0.0(transitive)
- Removed@maggioli-design-system/styles@8.2.0(transitive)
- Removedtypeface-karla@1.1.13(transitive)
- Removedtypeface-merriweather@1.1.13(transitive)
- Removedtypeface-roboto@1.1.13(transitive)
Updated@stencil/core@^2.19.3