@cas-smartdesign/popover 6.0.0 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,10 @@
13
13
  margin: 0 auto !important;
14
14
  padding-bottom: 45px;
15
15
  }
16
+
17
+ .popover-container > :not(.popover-arrow) {
18
+ color: var(--color-fg-default, #111);
19
+ }
16
20
  </style>
17
21
  <script type="module" crossorigin src="./doc.mjs"></script>
18
22
  <link rel="stylesheet" crossorigin href="./doc.css">
package/dist/popover.mjs CHANGED
@@ -33,7 +33,7 @@ var t = 1, n = "sd-popover-open", r = 0, i = () => (r++, r), a = class r extends
33
33
  e ? this.setAttribute("trigger-type", e) : this.removeAttribute("trigger-type");
34
34
  }
35
35
  get arrowSvg() {
36
- return this.getAttribute("arrow-svg") || "<svg width=\"26\" height=\"12\" viewBox=\"0 0 26 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M13.7072 0.707031L0.707153 0.707031L9.87873 9.8786C11.4408 11.4407 13.9735 11.4407 15.5356 9.8786L24.7072 0.707031L13.7072 0.707031Z\" fill=\"var(--color-bg-default, #ffffff)\" class=\"arrow-background\"/>\r\n<path d=\"M0.707153 0.707031L9.87872 9.8786C11.4408 11.4407 13.9735 11.4407 15.5356 9.8786L24.7072 0.707031\" stroke=\"var(--color-border-strong, #B3B3B3)\" stroke-linecap=\"square\" class=\"arrow-border\"/>\r\n</svg>\r\n";
36
+ return this.getAttribute("arrow-svg") || "<svg width=\"26\" height=\"12\" viewBox=\"0 0 26 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M13.7072 0.707031L0.707153 0.707031L9.87873 9.8786C11.4408 11.4407 13.9735 11.4407 15.5356 9.8786L24.7072 0.707031L13.7072 0.707031Z\" fill=\"var(--color-bg-default, #ffffff)\" class=\"arrow-background\"/>\r\n<path d=\"M0.707153 0.707031L9.87872 9.8786C11.4408 11.4407 13.9735 11.4407 15.5356 9.8786L24.7072 0.707031\" stroke=\"var(--color-border-default, #d4d4d4)\" stroke-linecap=\"square\" class=\"arrow-border\"/>\r\n</svg>\r\n";
37
37
  }
38
38
  set arrowSvg(e) {
39
39
  e ? this.setAttribute("arrow-svg", e) : this.removeAttribute("arrow-svg"), this._arrow && (this._arrow.innerHTML = this.arrowSvg);
@@ -133,7 +133,7 @@ var t = 1, n = "sd-popover-open", r = 0, i = () => (r++, r), a = class r extends
133
133
  let e = document.createElement("style");
134
134
  e.innerHTML = `#${this.popoverContainerId} {
135
135
  box-shadow: var(--effect-shadow-strong, 1px 4px 24px 0 rgba(17, 17, 17, 0.5));
136
- border: 1px solid var(--color-border-strong, #B3B3B3);
136
+ border: 1px solid var(--color-border-default, #d4d4d4);
137
137
  border-radius: var(--radius-s, 4px);
138
138
  box-sizing: border-box;
139
139
  z-index: 20000;
@@ -1 +1 @@
1
- {"version":3,"file":"popover.mjs","names":[],"sources":["../arrow.svg?raw","../popover.ts"],"sourcesContent":["export default \"<svg width=\\\"26\\\" height=\\\"12\\\" viewBox=\\\"0 0 26 12\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\r\\n<path d=\\\"M13.7072 0.707031L0.707153 0.707031L9.87873 9.8786C11.4408 11.4407 13.9735 11.4407 15.5356 9.8786L24.7072 0.707031L13.7072 0.707031Z\\\" fill=\\\"var(--color-bg-default, #ffffff)\\\" class=\\\"arrow-background\\\"/>\\r\\n<path d=\\\"M0.707153 0.707031L9.87872 9.8786C11.4408 11.4407 13.9735 11.4407 15.5356 9.8786L24.7072 0.707031\\\" stroke=\\\"var(--color-border-strong, #B3B3B3)\\\" stroke-linecap=\\\"square\\\" class=\\\"arrow-border\\\"/>\\r\\n</svg>\\r\\n\"","import { createPopper, type Instance as Popper, type Options, type Placement } from \"@popperjs/core\";\n\nimport { default as arrowSvg } from \"./arrow.svg?raw\";\n\nconst arrowOverlapOffset = 1;\nconst targetClassOpen = \"sd-popover-open\";\n\nlet idCounter = 0;\nconst nextId = () => {\n idCounter++;\n return idCounter;\n};\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [Popover.ID]: Popover;\n }\n interface HTMLElementEventMap {\n \"sd-popover-open\": CustomEvent<IOpenEvent>;\n \"sd-popover-close\": CustomEvent<ICloseEvent>;\n }\n}\n\nexport type TriggerType = \"click\" | \"hover\" | \"manual\";\nexport type ArrowVariant = \"bottom\" | \"left\" | \"right\" | \"top\";\nexport type IOpenEvent = void;\nexport type ICloseEvent = void;\n\nexport default class Popover extends HTMLElement {\n public static readonly ID = \"sd-popover\";\n public static ensureDefined = () => {\n if (!customElements.get(Popover.ID)) {\n customElements.define(Popover.ID, Popover);\n }\n };\n private popoverContainerId = \"popover-container-\" + nextId();\n\n private _open = false;\n private _popper?: Popper;\n private _targetElement?: HTMLElement;\n private _container?: HTMLElement;\n private _arrow?: HTMLElement;\n private _content?: HTMLElement;\n private _firstUpdated = false;\n private _flipPriority?: Placement[];\n private _resizeObserver?: ResizeObserver;\n\n public get triggerType(): TriggerType {\n return this.getAttribute(\"trigger-type\") as TriggerType;\n }\n\n public set triggerType(type: TriggerType) {\n if (type) {\n this.setAttribute(\"trigger-type\", type);\n } else {\n this.removeAttribute(\"trigger-type\");\n }\n }\n\n public get arrowSvg(): string {\n return this.getAttribute(\"arrow-svg\") || arrowSvg;\n }\n\n public set arrowSvg(arrowSvg: string) {\n if (arrowSvg) {\n this.setAttribute(\"arrow-svg\", arrowSvg);\n } else {\n this.removeAttribute(\"arrow-svg\");\n }\n if (this._arrow) {\n this._arrow.innerHTML = this.arrowSvg;\n }\n }\n\n public get placement(): Placement {\n return this.getAttribute(\"placement\") as Placement;\n }\n\n public set placement(placement: Placement) {\n if (placement) {\n this.setAttribute(\"placement\", placement);\n } else {\n this.removeAttribute(\"placement\");\n }\n }\n\n public get targetElement(): HTMLElement | undefined {\n return this._targetElement;\n }\n\n public set targetElement(element: HTMLElement | undefined) {\n this.removeTargetEventListener(this.targetElement);\n if (this._targetElement && \"true\" == this._targetElement.getAttribute(\"aria-expanded\")) {\n this._targetElement.setAttribute(\"aria-expanded\", \"false\");\n }\n this._targetElement = element;\n if (element) {\n element.setAttribute(\"aria-expanded\", \"false\");\n }\n this.addTargetEventListener(this.targetElement);\n this.updatePopper();\n }\n\n public get targetSelector(): string | null {\n return this.getAttribute(\"target-selector\");\n }\n\n public set targetSelector(selector: string) {\n if (selector) {\n this.setAttribute(\"target-selector\", selector);\n } else {\n this.removeAttribute(\"target-selector\");\n }\n }\n\n public get modal(): boolean {\n return this.hasAttribute(\"modal\");\n }\n\n public set modal(modal: boolean) {\n if (modal) {\n this.setAttribute(\"modal\", \"\");\n } else {\n this.removeAttribute(\"modal\");\n }\n }\n\n public get popoverFor(): string | null {\n return this.getAttribute(\"popover-for\");\n }\n\n public set popoverFor(popoverFor: string) {\n if (popoverFor) {\n this.setAttribute(\"popover-for\", popoverFor);\n } else {\n this.removeAttribute(\"popover-for\");\n }\n }\n\n public get flipPriority(): Placement[] | undefined {\n return this._flipPriority;\n }\n\n public set flipPriority(priority: Placement[] | undefined) {\n if (priority && priority.length > 0) {\n this._flipPriority = priority;\n } else {\n this._flipPriority = undefined;\n }\n this.reConfigurePopper();\n }\n\n public get offset(): number {\n return this.getAttribute(\"offset\") ? parseInt(this.getAttribute(\"offset\") ?? \"0\") : 0;\n }\n\n public set offset(offset: number) {\n if (offset) {\n this.setAttribute(\"offset\", offset.toString());\n } else {\n this.removeAttribute(\"offset\");\n }\n this.reConfigurePopper();\n }\n\n private reConfigurePopper() {\n if (this._popper) {\n this.configurePopper();\n }\n }\n\n public get noArrow(): boolean {\n return this.hasAttribute(\"no-arrow\");\n }\n\n public set noArrow(noArrow: boolean) {\n if (noArrow) {\n this.setAttribute(\"no-arrow\", \"\");\n } else {\n this.removeAttribute(\"no-arrow\");\n }\n }\n\n static get observedAttributes(): string[] {\n return [\"placement\", \"target-selector\", \"trigger-type\"];\n }\n\n public attributeChangedCallback(name: string, oldValue: string): void {\n switch (name) {\n case \"placement\": {\n this.updatePopper();\n break;\n }\n case \"trigger-type\": {\n this.removeTargetEventListener(this.targetElement);\n this.addTargetEventListener(this.targetElement);\n break;\n }\n case \"target-selector\": {\n this.handleTargetSelectorChange(oldValue);\n break;\n }\n }\n }\n\n public connectedCallback(): void {\n if (!this._firstUpdated) {\n this.firstUpdated();\n this._firstUpdated = true;\n }\n if (this.targetElement) {\n this.addTargetEventListener(this.targetElement);\n } else if (this.targetSelector) {\n // The browser is currently attaching html nodes to the dom tree, the target may not be present in it yet.\n requestAnimationFrame(() => {\n if (this.isConnected) {\n this.handleTargetSelectorChange(null);\n }\n });\n }\n\n this._arrow = document.createElement(\"div\");\n this._arrow.classList.add(\"popover-arrow\");\n this._arrow.setAttribute(\"data-popper-arrow\", \"\");\n this._arrow.style.display = \"flex\";\n this._arrow.innerHTML = this.arrowSvg;\n }\n\n public disconnectedCallback(): void {\n if (this.targetElement) {\n this.removeTargetEventListener(this.targetElement);\n this.removeTargetClassForOpen(this.targetElement);\n }\n if (this._resizeObserver) {\n this._resizeObserver.disconnect();\n this._resizeObserver = undefined;\n }\n }\n\n public toggle = (): void => {\n this.open = !this.open;\n };\n\n public show = (): void => {\n this.open = true;\n };\n\n public hide = (): void => {\n this.open = false;\n };\n\n private firstUpdated(): void {\n this.style.display = \"none\";\n this.triggerType = this.triggerType || \"click\";\n this.placement = this.placement || \"auto\";\n }\n\n private get open(): boolean {\n return this._open;\n }\n\n private set open(open: boolean) {\n if (open !== this._open) {\n this._open = open;\n this.handleOpenChange();\n }\n }\n\n private handleOpenChange(): void {\n if (this.open) {\n if (!this._popper) {\n this.configurePopper();\n }\n if (this._container == null) {\n return;\n }\n\n this._container.innerHTML = \"\";\n const style = document.createElement(\"style\");\n style.innerHTML = `#${this.popoverContainerId} {\n box-shadow: var(--effect-shadow-strong, 1px 4px 24px 0 rgba(17, 17, 17, 0.5));\n border: 1px solid var(--color-border-strong, #B3B3B3);\n border-radius: var(--radius-s, 4px);\n box-sizing: border-box;\n z-index: 20000;\n\n > *:not(.popover-arrow) {\n border-radius: var(--radius-s, 4px);\n clip-path: inset(0 round var(--radius-s, 4px));\n }\n }`;\n this._container.appendChild(style);\n if (this.popoverFor) {\n this._container.setAttribute(\"popover-for\", this.popoverFor);\n }\n if (this.content) {\n this._container.prepend(this.content);\n Object.assign(this.content.style, {\n position: \"relative\",\n display: \"block\",\n zIndex: 1,\n });\n window.requestAnimationFrame(() => {\n let backgroundColor = getComputedStyle(this.content).backgroundColor;\n if (backgroundColor == \"rgba(0, 0, 0, 0)\") {\n this.content.style.background = backgroundColor = \"var(--color-bg-default, #ffffff)\";\n }\n if (!this._arrow) {\n return;\n }\n const arrowBackground = this._arrow.querySelector(\".arrow-background\") as HTMLElement;\n if (arrowBackground) {\n arrowBackground.style.fill = backgroundColor;\n }\n });\n }\n this.ensureArrowIsAdded();\n this.ownerDocument.body.appendChild(this._container);\n this.updatePopper();\n this.setAttribute(\"open\", \"\");\n\n if (this.modal) {\n window.addEventListener(\"click\", this.hideIfExternalTarget, { capture: true });\n window.addEventListener(\"focus\", this.hideIfExternalTarget, { capture: true });\n }\n if (this.targetElement) {\n this.addTargetClassForOpen(this.targetElement);\n this.targetElement.setAttribute(\"aria-expanded\", \"true\");\n }\n this.dispatchEvent(new CustomEvent(\"sd-popover-open\"));\n\n this._container.addEventListener(\"keydown\", this.handleTabKeyDown);\n } else {\n if (this._container != null) {\n this.ownerDocument.body.removeChild(this._container);\n }\n\n this.removeAttribute(\"open\");\n window.removeEventListener(\"click\", this.hideIfExternalTarget, { capture: true });\n window.removeEventListener(\"focus\", this.hideIfExternalTarget, { capture: true });\n\n if (this.targetElement) {\n this.removeTargetClassForOpen(this.targetElement);\n this.targetElement.setAttribute(\"aria-expanded\", \"false\");\n }\n this.dispatchEvent(new CustomEvent(\"sd-popover-close\"));\n\n if (this._container != null) {\n this._container.removeEventListener(\"keydown\", this.handleTabKeyDown);\n }\n }\n }\n\n private hideIfExternalTarget = (event: Event) => {\n const target = event.target;\n if (\n !(target instanceof HTMLElement) ||\n this._container == null ||\n this.targetElement == null ||\n (!this._container.contains(target) && !this.targetElement.contains(target))\n ) {\n this.hide();\n }\n };\n\n private handleTabKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Tab\") {\n return;\n }\n\n const shift = event.shiftKey;\n let nextInsidePopover: HTMLElement | null = null;\n\n const target = event.target as Element | null;\n const root = this.content;\n\n if (target instanceof HTMLElement && root) {\n nextInsidePopover = this.findNextFocusableAfter(target, root, !shift);\n }\n\n if (nextInsidePopover) {\n // Let browser handle tabbing inside popover\n return;\n }\n\n // No more focusable elements inside popover → close it\n event.preventDefault();\n this.open = false;\n\n const next = this.findNextFocusableAfter(this.targetElement, null, !shift);\n next?.focus();\n };\n\n private handleTargetSelectorChange(oldValue: string | null | undefined): void {\n if (oldValue != null) {\n const oldTarget = document.querySelector<HTMLElement>(oldValue);\n if (oldTarget) {\n this.removeTargetEventListener(oldTarget);\n this.removeTargetClassForOpen(oldTarget);\n }\n }\n if (this.targetSelector) {\n const target = document.querySelector(this.targetSelector);\n if (target instanceof HTMLElement) {\n this.targetElement = target;\n }\n\n this.addTargetEventListener(this.targetElement);\n }\n }\n\n private addTargetEventListener(target: HTMLElement | undefined): void {\n if (target) {\n switch (this.triggerType) {\n case \"hover\": {\n target.addEventListener(\"mouseenter\", this.show);\n target.addEventListener(\"mouseleave\", this.hide);\n break;\n }\n case \"click\": {\n target.addEventListener(\"click\", this.toggle);\n break;\n }\n }\n }\n }\n\n private removeTargetEventListener(target: HTMLElement | undefined): void {\n if (target) {\n switch (this.triggerType) {\n case \"hover\": {\n target.removeEventListener(\"mouseenter\", this.show);\n target.removeEventListener(\"mouseleave\", this.hide);\n break;\n }\n case \"click\": {\n target.removeEventListener(\"click\", this.toggle);\n break;\n }\n }\n }\n }\n\n private configurePopper(): void {\n this.createContentContainer();\n // In popper.js 2 the arrow needs to be added before calling Popper#createPopper\n this.ensureArrowIsAdded();\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const popover = this;\n const options: Options = {\n placement: popover.placement as Placement,\n strategy: \"absolute\",\n modifiers: [\n {\n name: \"computeStyles\",\n options: {\n gpuAcceleration: true,\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: popover._flipPriority,\n },\n },\n {\n name: \"offset\",\n options: {\n offset: () => {\n return [\n 0,\n popover.noArrow\n ? 0 + popover.offset\n : (this._arrow?.clientHeight ?? 0 + popover.offset),\n ];\n },\n },\n },\n {\n name: \"arrow\",\n options: {\n padding: 10, // Avoid to reach the edges of the popper element with the arrow\n },\n },\n {\n name: \"resetArrowStyles\",\n enabled: true,\n phase: \"beforeWrite\",\n fn({ state }) {\n if (popover._arrow && state.styles.arrow) {\n Object.assign(popover._arrow.style, {\n top: state.styles.arrow.top || \"\",\n left: state.styles.arrow.left || \"\",\n bottom: state.styles.arrow.bottom || \"\",\n right: state.styles.arrow.right || \"\",\n });\n }\n },\n },\n {\n name: \"onUpdate\",\n enabled: true,\n phase: \"afterWrite\",\n fn({ state }) {\n popover.updateArrow(state.placement);\n },\n },\n ],\n };\n this._popper = createPopper(this.targetElement!, this._container!, options);\n }\n\n private createContentContainer(): void {\n this._container = document.createElement(\"div\");\n this._container.id = this.popoverContainerId;\n this._container.classList.add(\"popover-container\");\n this._container.tabIndex = 0;\n if (this._resizeObserver) {\n this._resizeObserver.disconnect();\n }\n this._resizeObserver = new ResizeObserver(() => {\n if (this._popper) {\n void this._popper.update();\n }\n });\n this._resizeObserver.observe(this._container);\n }\n\n private ensureArrowIsAdded() {\n if (this._container && this._arrow && !this.noArrow && !this._container.contains(this._arrow)) {\n this._container.appendChild(this._arrow);\n }\n }\n\n public updatePopper(): void {\n if (this._popper) {\n this._popper.state.elements.reference = this.targetElement ?? document.body;\n this._popper.state.options.placement = this.placement;\n\n if (this.open) {\n void this._popper.update();\n }\n }\n }\n\n private updateArrow(placement: Placement): void {\n if (this._arrow) {\n const arrowVariant = this.getArrowVariant(placement);\n this._arrow.setAttribute(\"variant\", arrowVariant);\n if (this._content) {\n const svg = this._arrow.querySelector(\"svg\")!;\n\n const arrowWidth = this._arrow.clientWidth;\n const arrowHeight = this._arrow.clientHeight;\n const verticalOffset = `-${arrowHeight - arrowOverlapOffset}px`;\n\n const horizontalTransformationOffset = (arrowWidth - arrowHeight) / 2;\n // Note that arrowHeight is used on purpose for the horizontalOffset\n // as this is the height of the unrotated wrapper div which defines the gap between the\n // reference element and the popover.\n const horizontalOffset = `-${arrowHeight + horizontalTransformationOffset - arrowOverlapOffset}px`;\n\n switch (arrowVariant) {\n case \"bottom\": {\n this._arrow.style.top = verticalOffset;\n svg.style.transform = \"rotate(180deg)\";\n break;\n }\n case \"top\": {\n this._arrow.style.bottom = verticalOffset;\n svg.style.transform = \"rotate(0deg)\";\n break;\n }\n case \"left\": {\n this._arrow.style.right = horizontalOffset;\n svg.style.transform = \"rotate(270deg)\";\n break;\n }\n case \"right\": {\n this._arrow.style.left = horizontalOffset;\n svg.style.transform = \"rotate(90deg)\";\n break;\n }\n }\n }\n }\n }\n\n private getArrowVariant(placement: Placement): ArrowVariant {\n if (placement.indexOf(\"bottom\") !== -1) {\n return \"bottom\";\n } else if (placement.indexOf(\"top\") !== -1) {\n return \"top\";\n } else if (placement.indexOf(\"left\") !== -1) {\n return \"left\";\n } else if (placement.indexOf(\"right\") !== -1) {\n return \"right\";\n }\n return \"bottom\";\n }\n\n private get content(): HTMLElement {\n if (!this._content) {\n this._content = this.firstElementChild as HTMLElement;\n this._content.setAttribute(\"data-popper-content\", \"\");\n }\n return this._content;\n }\n\n private addTargetClassForOpen(target: HTMLElement): void {\n if (target) {\n target.classList.add(targetClassOpen);\n }\n }\n\n private removeTargetClassForOpen(target: HTMLElement): void {\n if (target) {\n target.classList.remove(targetClassOpen);\n }\n }\n\n private findNextFocusableAfter(\n trigger: HTMLElement | undefined | null,\n root: HTMLElement | undefined | null,\n forward: boolean,\n ): HTMLElement | null {\n if (!trigger) return null;\n\n const effectiveRoot = root ?? document.body;\n\n const walker = document.createTreeWalker(effectiveRoot, NodeFilter.SHOW_ELEMENT, {\n acceptNode(node) {\n const el = node as HTMLElement;\n\n return el.tabIndex >= 0 && !el.hidden && el.offsetParent !== null\n ? NodeFilter.FILTER_ACCEPT\n : NodeFilter.FILTER_SKIP;\n },\n });\n\n walker.currentNode = trigger;\n\n const nextNode = forward ? walker.nextNode() : walker.previousNode();\n\n return nextNode as HTMLElement | null;\n }\n}\n\nPopover.ensureDefined();\n"],"mappings":"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"}
1
+ {"version":3,"file":"popover.mjs","names":[],"sources":["../arrow.svg?raw","../popover.ts"],"sourcesContent":["export default \"<svg width=\\\"26\\\" height=\\\"12\\\" viewBox=\\\"0 0 26 12\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\r\\n<path d=\\\"M13.7072 0.707031L0.707153 0.707031L9.87873 9.8786C11.4408 11.4407 13.9735 11.4407 15.5356 9.8786L24.7072 0.707031L13.7072 0.707031Z\\\" fill=\\\"var(--color-bg-default, #ffffff)\\\" class=\\\"arrow-background\\\"/>\\r\\n<path d=\\\"M0.707153 0.707031L9.87872 9.8786C11.4408 11.4407 13.9735 11.4407 15.5356 9.8786L24.7072 0.707031\\\" stroke=\\\"var(--color-border-default, #d4d4d4)\\\" stroke-linecap=\\\"square\\\" class=\\\"arrow-border\\\"/>\\r\\n</svg>\\r\\n\"","import { createPopper, type Instance as Popper, type Options, type Placement } from \"@popperjs/core\";\n\nimport { default as arrowSvg } from \"./arrow.svg?raw\";\n\nconst arrowOverlapOffset = 1;\nconst targetClassOpen = \"sd-popover-open\";\n\nlet idCounter = 0;\nconst nextId = () => {\n idCounter++;\n return idCounter;\n};\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [Popover.ID]: Popover;\n }\n interface HTMLElementEventMap {\n \"sd-popover-open\": CustomEvent<IOpenEvent>;\n \"sd-popover-close\": CustomEvent<ICloseEvent>;\n }\n}\n\nexport type TriggerType = \"click\" | \"hover\" | \"manual\";\nexport type ArrowVariant = \"bottom\" | \"left\" | \"right\" | \"top\";\nexport type IOpenEvent = void;\nexport type ICloseEvent = void;\n\nexport default class Popover extends HTMLElement {\n public static readonly ID = \"sd-popover\";\n public static ensureDefined = () => {\n if (!customElements.get(Popover.ID)) {\n customElements.define(Popover.ID, Popover);\n }\n };\n private popoverContainerId = \"popover-container-\" + nextId();\n\n private _open = false;\n private _popper?: Popper;\n private _targetElement?: HTMLElement;\n private _container?: HTMLElement;\n private _arrow?: HTMLElement;\n private _content?: HTMLElement;\n private _firstUpdated = false;\n private _flipPriority?: Placement[];\n private _resizeObserver?: ResizeObserver;\n\n public get triggerType(): TriggerType {\n return this.getAttribute(\"trigger-type\") as TriggerType;\n }\n\n public set triggerType(type: TriggerType) {\n if (type) {\n this.setAttribute(\"trigger-type\", type);\n } else {\n this.removeAttribute(\"trigger-type\");\n }\n }\n\n public get arrowSvg(): string {\n return this.getAttribute(\"arrow-svg\") || arrowSvg;\n }\n\n public set arrowSvg(arrowSvg: string) {\n if (arrowSvg) {\n this.setAttribute(\"arrow-svg\", arrowSvg);\n } else {\n this.removeAttribute(\"arrow-svg\");\n }\n if (this._arrow) {\n this._arrow.innerHTML = this.arrowSvg;\n }\n }\n\n public get placement(): Placement {\n return this.getAttribute(\"placement\") as Placement;\n }\n\n public set placement(placement: Placement) {\n if (placement) {\n this.setAttribute(\"placement\", placement);\n } else {\n this.removeAttribute(\"placement\");\n }\n }\n\n public get targetElement(): HTMLElement | undefined {\n return this._targetElement;\n }\n\n public set targetElement(element: HTMLElement | undefined) {\n this.removeTargetEventListener(this.targetElement);\n if (this._targetElement && \"true\" == this._targetElement.getAttribute(\"aria-expanded\")) {\n this._targetElement.setAttribute(\"aria-expanded\", \"false\");\n }\n this._targetElement = element;\n if (element) {\n element.setAttribute(\"aria-expanded\", \"false\");\n }\n this.addTargetEventListener(this.targetElement);\n this.updatePopper();\n }\n\n public get targetSelector(): string | null {\n return this.getAttribute(\"target-selector\");\n }\n\n public set targetSelector(selector: string) {\n if (selector) {\n this.setAttribute(\"target-selector\", selector);\n } else {\n this.removeAttribute(\"target-selector\");\n }\n }\n\n public get modal(): boolean {\n return this.hasAttribute(\"modal\");\n }\n\n public set modal(modal: boolean) {\n if (modal) {\n this.setAttribute(\"modal\", \"\");\n } else {\n this.removeAttribute(\"modal\");\n }\n }\n\n public get popoverFor(): string | null {\n return this.getAttribute(\"popover-for\");\n }\n\n public set popoverFor(popoverFor: string) {\n if (popoverFor) {\n this.setAttribute(\"popover-for\", popoverFor);\n } else {\n this.removeAttribute(\"popover-for\");\n }\n }\n\n public get flipPriority(): Placement[] | undefined {\n return this._flipPriority;\n }\n\n public set flipPriority(priority: Placement[] | undefined) {\n if (priority && priority.length > 0) {\n this._flipPriority = priority;\n } else {\n this._flipPriority = undefined;\n }\n this.reConfigurePopper();\n }\n\n public get offset(): number {\n return this.getAttribute(\"offset\") ? parseInt(this.getAttribute(\"offset\") ?? \"0\") : 0;\n }\n\n public set offset(offset: number) {\n if (offset) {\n this.setAttribute(\"offset\", offset.toString());\n } else {\n this.removeAttribute(\"offset\");\n }\n this.reConfigurePopper();\n }\n\n private reConfigurePopper() {\n if (this._popper) {\n this.configurePopper();\n }\n }\n\n public get noArrow(): boolean {\n return this.hasAttribute(\"no-arrow\");\n }\n\n public set noArrow(noArrow: boolean) {\n if (noArrow) {\n this.setAttribute(\"no-arrow\", \"\");\n } else {\n this.removeAttribute(\"no-arrow\");\n }\n }\n\n static get observedAttributes(): string[] {\n return [\"placement\", \"target-selector\", \"trigger-type\"];\n }\n\n public attributeChangedCallback(name: string, oldValue: string): void {\n switch (name) {\n case \"placement\": {\n this.updatePopper();\n break;\n }\n case \"trigger-type\": {\n this.removeTargetEventListener(this.targetElement);\n this.addTargetEventListener(this.targetElement);\n break;\n }\n case \"target-selector\": {\n this.handleTargetSelectorChange(oldValue);\n break;\n }\n }\n }\n\n public connectedCallback(): void {\n if (!this._firstUpdated) {\n this.firstUpdated();\n this._firstUpdated = true;\n }\n if (this.targetElement) {\n this.addTargetEventListener(this.targetElement);\n } else if (this.targetSelector) {\n // The browser is currently attaching html nodes to the dom tree, the target may not be present in it yet.\n requestAnimationFrame(() => {\n if (this.isConnected) {\n this.handleTargetSelectorChange(null);\n }\n });\n }\n\n this._arrow = document.createElement(\"div\");\n this._arrow.classList.add(\"popover-arrow\");\n this._arrow.setAttribute(\"data-popper-arrow\", \"\");\n this._arrow.style.display = \"flex\";\n this._arrow.innerHTML = this.arrowSvg;\n }\n\n public disconnectedCallback(): void {\n if (this.targetElement) {\n this.removeTargetEventListener(this.targetElement);\n this.removeTargetClassForOpen(this.targetElement);\n }\n if (this._resizeObserver) {\n this._resizeObserver.disconnect();\n this._resizeObserver = undefined;\n }\n }\n\n public toggle = (): void => {\n this.open = !this.open;\n };\n\n public show = (): void => {\n this.open = true;\n };\n\n public hide = (): void => {\n this.open = false;\n };\n\n private firstUpdated(): void {\n this.style.display = \"none\";\n this.triggerType = this.triggerType || \"click\";\n this.placement = this.placement || \"auto\";\n }\n\n private get open(): boolean {\n return this._open;\n }\n\n private set open(open: boolean) {\n if (open !== this._open) {\n this._open = open;\n this.handleOpenChange();\n }\n }\n\n private handleOpenChange(): void {\n if (this.open) {\n if (!this._popper) {\n this.configurePopper();\n }\n if (this._container == null) {\n return;\n }\n\n this._container.innerHTML = \"\";\n const style = document.createElement(\"style\");\n style.innerHTML = `#${this.popoverContainerId} {\n box-shadow: var(--effect-shadow-strong, 1px 4px 24px 0 rgba(17, 17, 17, 0.5));\n border: 1px solid var(--color-border-default, #d4d4d4);\n border-radius: var(--radius-s, 4px);\n box-sizing: border-box;\n z-index: 20000;\n\n > *:not(.popover-arrow) {\n border-radius: var(--radius-s, 4px);\n clip-path: inset(0 round var(--radius-s, 4px));\n }\n }`;\n this._container.appendChild(style);\n if (this.popoverFor) {\n this._container.setAttribute(\"popover-for\", this.popoverFor);\n }\n if (this.content) {\n this._container.prepend(this.content);\n Object.assign(this.content.style, {\n position: \"relative\",\n display: \"block\",\n zIndex: 1,\n });\n window.requestAnimationFrame(() => {\n let backgroundColor = getComputedStyle(this.content).backgroundColor;\n if (backgroundColor == \"rgba(0, 0, 0, 0)\") {\n this.content.style.background = backgroundColor = \"var(--color-bg-default, #ffffff)\";\n }\n if (!this._arrow) {\n return;\n }\n const arrowBackground = this._arrow.querySelector(\".arrow-background\") as HTMLElement;\n if (arrowBackground) {\n arrowBackground.style.fill = backgroundColor;\n }\n });\n }\n this.ensureArrowIsAdded();\n this.ownerDocument.body.appendChild(this._container);\n this.updatePopper();\n this.setAttribute(\"open\", \"\");\n\n if (this.modal) {\n window.addEventListener(\"click\", this.hideIfExternalTarget, { capture: true });\n window.addEventListener(\"focus\", this.hideIfExternalTarget, { capture: true });\n }\n if (this.targetElement) {\n this.addTargetClassForOpen(this.targetElement);\n this.targetElement.setAttribute(\"aria-expanded\", \"true\");\n }\n this.dispatchEvent(new CustomEvent(\"sd-popover-open\"));\n\n this._container.addEventListener(\"keydown\", this.handleTabKeyDown);\n } else {\n if (this._container != null) {\n this.ownerDocument.body.removeChild(this._container);\n }\n\n this.removeAttribute(\"open\");\n window.removeEventListener(\"click\", this.hideIfExternalTarget, { capture: true });\n window.removeEventListener(\"focus\", this.hideIfExternalTarget, { capture: true });\n\n if (this.targetElement) {\n this.removeTargetClassForOpen(this.targetElement);\n this.targetElement.setAttribute(\"aria-expanded\", \"false\");\n }\n this.dispatchEvent(new CustomEvent(\"sd-popover-close\"));\n\n if (this._container != null) {\n this._container.removeEventListener(\"keydown\", this.handleTabKeyDown);\n }\n }\n }\n\n private hideIfExternalTarget = (event: Event) => {\n const target = event.target;\n if (\n !(target instanceof HTMLElement) ||\n this._container == null ||\n this.targetElement == null ||\n (!this._container.contains(target) && !this.targetElement.contains(target))\n ) {\n this.hide();\n }\n };\n\n private handleTabKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Tab\") {\n return;\n }\n\n const shift = event.shiftKey;\n let nextInsidePopover: HTMLElement | null = null;\n\n const target = event.target as Element | null;\n const root = this.content;\n\n if (target instanceof HTMLElement && root) {\n nextInsidePopover = this.findNextFocusableAfter(target, root, !shift);\n }\n\n if (nextInsidePopover) {\n // Let browser handle tabbing inside popover\n return;\n }\n\n // No more focusable elements inside popover → close it\n event.preventDefault();\n this.open = false;\n\n const next = this.findNextFocusableAfter(this.targetElement, null, !shift);\n next?.focus();\n };\n\n private handleTargetSelectorChange(oldValue: string | null | undefined): void {\n if (oldValue != null) {\n const oldTarget = document.querySelector<HTMLElement>(oldValue);\n if (oldTarget) {\n this.removeTargetEventListener(oldTarget);\n this.removeTargetClassForOpen(oldTarget);\n }\n }\n if (this.targetSelector) {\n const target = document.querySelector(this.targetSelector);\n if (target instanceof HTMLElement) {\n this.targetElement = target;\n }\n\n this.addTargetEventListener(this.targetElement);\n }\n }\n\n private addTargetEventListener(target: HTMLElement | undefined): void {\n if (target) {\n switch (this.triggerType) {\n case \"hover\": {\n target.addEventListener(\"mouseenter\", this.show);\n target.addEventListener(\"mouseleave\", this.hide);\n break;\n }\n case \"click\": {\n target.addEventListener(\"click\", this.toggle);\n break;\n }\n }\n }\n }\n\n private removeTargetEventListener(target: HTMLElement | undefined): void {\n if (target) {\n switch (this.triggerType) {\n case \"hover\": {\n target.removeEventListener(\"mouseenter\", this.show);\n target.removeEventListener(\"mouseleave\", this.hide);\n break;\n }\n case \"click\": {\n target.removeEventListener(\"click\", this.toggle);\n break;\n }\n }\n }\n }\n\n private configurePopper(): void {\n this.createContentContainer();\n // In popper.js 2 the arrow needs to be added before calling Popper#createPopper\n this.ensureArrowIsAdded();\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const popover = this;\n const options: Options = {\n placement: popover.placement as Placement,\n strategy: \"absolute\",\n modifiers: [\n {\n name: \"computeStyles\",\n options: {\n gpuAcceleration: true,\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: popover._flipPriority,\n },\n },\n {\n name: \"offset\",\n options: {\n offset: () => {\n return [\n 0,\n popover.noArrow\n ? 0 + popover.offset\n : (this._arrow?.clientHeight ?? 0 + popover.offset),\n ];\n },\n },\n },\n {\n name: \"arrow\",\n options: {\n padding: 10, // Avoid to reach the edges of the popper element with the arrow\n },\n },\n {\n name: \"resetArrowStyles\",\n enabled: true,\n phase: \"beforeWrite\",\n fn({ state }) {\n if (popover._arrow && state.styles.arrow) {\n Object.assign(popover._arrow.style, {\n top: state.styles.arrow.top || \"\",\n left: state.styles.arrow.left || \"\",\n bottom: state.styles.arrow.bottom || \"\",\n right: state.styles.arrow.right || \"\",\n });\n }\n },\n },\n {\n name: \"onUpdate\",\n enabled: true,\n phase: \"afterWrite\",\n fn({ state }) {\n popover.updateArrow(state.placement);\n },\n },\n ],\n };\n this._popper = createPopper(this.targetElement!, this._container!, options);\n }\n\n private createContentContainer(): void {\n this._container = document.createElement(\"div\");\n this._container.id = this.popoverContainerId;\n this._container.classList.add(\"popover-container\");\n this._container.tabIndex = 0;\n if (this._resizeObserver) {\n this._resizeObserver.disconnect();\n }\n this._resizeObserver = new ResizeObserver(() => {\n if (this._popper) {\n void this._popper.update();\n }\n });\n this._resizeObserver.observe(this._container);\n }\n\n private ensureArrowIsAdded() {\n if (this._container && this._arrow && !this.noArrow && !this._container.contains(this._arrow)) {\n this._container.appendChild(this._arrow);\n }\n }\n\n public updatePopper(): void {\n if (this._popper) {\n this._popper.state.elements.reference = this.targetElement ?? document.body;\n this._popper.state.options.placement = this.placement;\n\n if (this.open) {\n void this._popper.update();\n }\n }\n }\n\n private updateArrow(placement: Placement): void {\n if (this._arrow) {\n const arrowVariant = this.getArrowVariant(placement);\n this._arrow.setAttribute(\"variant\", arrowVariant);\n if (this._content) {\n const svg = this._arrow.querySelector(\"svg\")!;\n\n const arrowWidth = this._arrow.clientWidth;\n const arrowHeight = this._arrow.clientHeight;\n const verticalOffset = `-${arrowHeight - arrowOverlapOffset}px`;\n\n const horizontalTransformationOffset = (arrowWidth - arrowHeight) / 2;\n // Note that arrowHeight is used on purpose for the horizontalOffset\n // as this is the height of the unrotated wrapper div which defines the gap between the\n // reference element and the popover.\n const horizontalOffset = `-${arrowHeight + horizontalTransformationOffset - arrowOverlapOffset}px`;\n\n switch (arrowVariant) {\n case \"bottom\": {\n this._arrow.style.top = verticalOffset;\n svg.style.transform = \"rotate(180deg)\";\n break;\n }\n case \"top\": {\n this._arrow.style.bottom = verticalOffset;\n svg.style.transform = \"rotate(0deg)\";\n break;\n }\n case \"left\": {\n this._arrow.style.right = horizontalOffset;\n svg.style.transform = \"rotate(270deg)\";\n break;\n }\n case \"right\": {\n this._arrow.style.left = horizontalOffset;\n svg.style.transform = \"rotate(90deg)\";\n break;\n }\n }\n }\n }\n }\n\n private getArrowVariant(placement: Placement): ArrowVariant {\n if (placement.indexOf(\"bottom\") !== -1) {\n return \"bottom\";\n } else if (placement.indexOf(\"top\") !== -1) {\n return \"top\";\n } else if (placement.indexOf(\"left\") !== -1) {\n return \"left\";\n } else if (placement.indexOf(\"right\") !== -1) {\n return \"right\";\n }\n return \"bottom\";\n }\n\n private get content(): HTMLElement {\n if (!this._content) {\n this._content = this.firstElementChild as HTMLElement;\n this._content.setAttribute(\"data-popper-content\", \"\");\n }\n return this._content;\n }\n\n private addTargetClassForOpen(target: HTMLElement): void {\n if (target) {\n target.classList.add(targetClassOpen);\n }\n }\n\n private removeTargetClassForOpen(target: HTMLElement): void {\n if (target) {\n target.classList.remove(targetClassOpen);\n }\n }\n\n private findNextFocusableAfter(\n trigger: HTMLElement | undefined | null,\n root: HTMLElement | undefined | null,\n forward: boolean,\n ): HTMLElement | null {\n if (!trigger) return null;\n\n const effectiveRoot = root ?? document.body;\n\n const walker = document.createTreeWalker(effectiveRoot, NodeFilter.SHOW_ELEMENT, {\n acceptNode(node) {\n const el = node as HTMLElement;\n\n return el.tabIndex >= 0 && !el.hidden && el.offsetParent !== null\n ? NodeFilter.FILTER_ACCEPT\n : NodeFilter.FILTER_SKIP;\n },\n });\n\n walker.currentNode = trigger;\n\n const nextNode = forward ? walker.nextNode() : walker.previousNode();\n\n return nextNode as HTMLElement | null;\n }\n}\n\nPopover.ensureDefined();\n"],"mappings":";;;ACIA,IAAM,IAAqB,GACrB,IAAkB,mBAEpB,IAAY,GACV,WACF,KACO,IAkBU,IAArB,MAAqB,UAAgB,YAAY;;yCAOhB,uBAAuB,GAAQ,eAE5C,yBAMQ,wBAoMI;AACxB,QAAK,OAAO,CAAC,KAAK;uBAGI;AACtB,QAAK,OAAO;uBAGU;AACtB,QAAK,OAAO;kCAyGgB,MAAiB;GAC7C,IAAM,IAAS,EAAM;AACrB,IACI,EAAE,aAAkB,gBACpB,KAAK,cAAc,QACnB,KAAK,iBAAiB,QACrB,CAAC,KAAK,WAAW,SAAS,EAAO,IAAI,CAAC,KAAK,cAAc,SAAS,EAAO,KAE1E,KAAK,MAAM;8BAIS,MAAyB;AACjD,OAAI,EAAM,QAAQ,MACd;GAGJ,IAAM,IAAQ,EAAM,UAChB,IAAwC,MAEtC,IAAS,EAAM,QACf,IAAO,KAAK;AAElB,GAAI,aAAkB,eAAe,MACjC,IAAoB,KAAK,uBAAuB,GAAQ,GAAM,CAAC,EAAM,GAGrE,OAMJ,EAAM,gBAAgB,EACtB,KAAK,OAAO,IAEC,KAAK,uBAAuB,KAAK,eAAe,MAAM,CAAC,EAAM,EACpE,OAAO;;;;YAzWW;;;6BACQ;AAChC,GAAK,eAAe,IAAI,EAAQ,GAAG,IAC/B,eAAe,OAAO,EAAQ,IAAI,EAAQ;;;CAelD,IAAW,cAA2B;AAClC,SAAO,KAAK,aAAa,eAAe;;CAG5C,IAAW,YAAY,GAAmB;AACtC,EAAI,IACA,KAAK,aAAa,gBAAgB,EAAK,GAEvC,KAAK,gBAAgB,eAAe;;CAI5C,IAAW,WAAmB;AAC1B,SAAO,KAAK,aAAa,YAAY,IAAA;;CAGzC,IAAW,SAAS,GAAkB;AAMlC,EALI,IACA,KAAK,aAAa,aAAa,EAAS,GAExC,KAAK,gBAAgB,YAAY,EAEjC,KAAK,WACL,KAAK,OAAO,YAAY,KAAK;;CAIrC,IAAW,YAAuB;AAC9B,SAAO,KAAK,aAAa,YAAY;;CAGzC,IAAW,UAAU,GAAsB;AACvC,EAAI,IACA,KAAK,aAAa,aAAa,EAAU,GAEzC,KAAK,gBAAgB,YAAY;;CAIzC,IAAW,gBAAyC;AAChD,SAAO,KAAK;;CAGhB,IAAW,cAAc,GAAkC;AAUvD,EATA,KAAK,0BAA0B,KAAK,cAAc,EAC9C,KAAK,kBAA4B,KAAK,eAAe,aAAa,gBAAgB,IAA3D,UACvB,KAAK,eAAe,aAAa,iBAAiB,QAAQ,EAE9D,KAAK,iBAAiB,GAClB,KACA,EAAQ,aAAa,iBAAiB,QAAQ,EAElD,KAAK,uBAAuB,KAAK,cAAc,EAC/C,KAAK,cAAc;;CAGvB,IAAW,iBAAgC;AACvC,SAAO,KAAK,aAAa,kBAAkB;;CAG/C,IAAW,eAAe,GAAkB;AACxC,EAAI,IACA,KAAK,aAAa,mBAAmB,EAAS,GAE9C,KAAK,gBAAgB,kBAAkB;;CAI/C,IAAW,QAAiB;AACxB,SAAO,KAAK,aAAa,QAAQ;;CAGrC,IAAW,MAAM,GAAgB;AAC7B,EAAI,IACA,KAAK,aAAa,SAAS,GAAG,GAE9B,KAAK,gBAAgB,QAAQ;;CAIrC,IAAW,aAA4B;AACnC,SAAO,KAAK,aAAa,cAAc;;CAG3C,IAAW,WAAW,GAAoB;AACtC,EAAI,IACA,KAAK,aAAa,eAAe,EAAW,GAE5C,KAAK,gBAAgB,cAAc;;CAI3C,IAAW,eAAwC;AAC/C,SAAO,KAAK;;CAGhB,IAAW,aAAa,GAAmC;AAMvD,EALI,KAAY,EAAS,SAAS,IAC9B,KAAK,gBAAgB,IAErB,KAAK,gBAAgB,KAAA,GAEzB,KAAK,mBAAmB;;CAG5B,IAAW,SAAiB;AACxB,SAAO,KAAK,aAAa,SAAS,GAAG,SAAS,KAAK,aAAa,SAAS,IAAI,IAAI,GAAG;;CAGxF,IAAW,OAAO,GAAgB;AAM9B,EALI,IACA,KAAK,aAAa,UAAU,EAAO,UAAU,CAAC,GAE9C,KAAK,gBAAgB,SAAS,EAElC,KAAK,mBAAmB;;CAG5B,oBAA4B;AACxB,EAAI,KAAK,WACL,KAAK,iBAAiB;;CAI9B,IAAW,UAAmB;AAC1B,SAAO,KAAK,aAAa,WAAW;;CAGxC,IAAW,QAAQ,GAAkB;AACjC,EAAI,IACA,KAAK,aAAa,YAAY,GAAG,GAEjC,KAAK,gBAAgB,WAAW;;CAIxC,WAAW,qBAA+B;AACtC,SAAO;GAAC;GAAa;GAAmB;GAAe;;CAG3D,yBAAgC,GAAc,GAAwB;AAClE,UAAQ,GAAR;GACI,KAAK;AACD,SAAK,cAAc;AACnB;GAEJ,KAAK;AAED,IADA,KAAK,0BAA0B,KAAK,cAAc,EAClD,KAAK,uBAAuB,KAAK,cAAc;AAC/C;GAEJ,KAAK;AACD,SAAK,2BAA2B,EAAS;AACzC;;;CAKZ,oBAAiC;AAoB7B,EAnBA,AAEI,KAAK,mBADL,KAAK,cAAc,EACE,KAErB,KAAK,gBACL,KAAK,uBAAuB,KAAK,cAAc,GACxC,KAAK,kBAEZ,4BAA4B;AACxB,GAAI,KAAK,eACL,KAAK,2BAA2B,KAAK;IAE3C,EAGN,KAAK,SAAS,SAAS,cAAc,MAAM,EAC3C,KAAK,OAAO,UAAU,IAAI,gBAAgB,EAC1C,KAAK,OAAO,aAAa,qBAAqB,GAAG,EACjD,KAAK,OAAO,MAAM,UAAU,QAC5B,KAAK,OAAO,YAAY,KAAK;;CAGjC,uBAAoC;AAKhC,EAJI,KAAK,kBACL,KAAK,0BAA0B,KAAK,cAAc,EAClD,KAAK,yBAAyB,KAAK,cAAc,GAErD,AAEI,KAAK,qBADL,KAAK,gBAAgB,YAAY,EACV,KAAA;;CAgB/B,eAA6B;AAGzB,EAFA,KAAK,MAAM,UAAU,QACrB,KAAK,cAAc,KAAK,eAAe,SACvC,KAAK,YAAY,KAAK,aAAa;;CAGvC,IAAY,OAAgB;AACxB,SAAO,KAAK;;CAGhB,IAAY,KAAK,GAAe;AAC5B,EAAI,MAAS,KAAK,UACd,KAAK,QAAQ,GACb,KAAK,kBAAkB;;CAI/B,mBAAiC;AAC7B,MAAI,KAAK,MAAM;AAIX,OAHK,KAAK,WACN,KAAK,iBAAiB,EAEtB,KAAK,cAAc,KACnB;AAGJ,QAAK,WAAW,YAAY;GAC5B,IAAM,IAAQ,SAAS,cAAc,QAAQ;AAqD7C,GApDA,EAAM,YAAY,IAAI,KAAK,mBAAmB;;;;;;;;;;;gBAY9C,KAAK,WAAW,YAAY,EAAM,EAC9B,KAAK,cACL,KAAK,WAAW,aAAa,eAAe,KAAK,WAAW,EAE5D,KAAK,YACL,KAAK,WAAW,QAAQ,KAAK,QAAQ,EACrC,OAAO,OAAO,KAAK,QAAQ,OAAO;IAC9B,UAAU;IACV,SAAS;IACT,QAAQ;IACX,CAAC,EACF,OAAO,4BAA4B;IAC/B,IAAI,IAAkB,iBAAiB,KAAK,QAAQ,CAAC;AAIrD,QAHI,KAAmB,uBACnB,KAAK,QAAQ,MAAM,aAAa,IAAkB,qCAElD,CAAC,KAAK,OACN;IAEJ,IAAM,IAAkB,KAAK,OAAO,cAAc,oBAAoB;AACtE,IAAI,MACA,EAAgB,MAAM,OAAO;KAEnC,GAEN,KAAK,oBAAoB,EACzB,KAAK,cAAc,KAAK,YAAY,KAAK,WAAW,EACpD,KAAK,cAAc,EACnB,KAAK,aAAa,QAAQ,GAAG,EAEzB,KAAK,UACL,OAAO,iBAAiB,SAAS,KAAK,sBAAsB,EAAE,SAAS,IAAM,CAAC,EAC9E,OAAO,iBAAiB,SAAS,KAAK,sBAAsB,EAAE,SAAS,IAAM,CAAC,GAE9E,KAAK,kBACL,KAAK,sBAAsB,KAAK,cAAc,EAC9C,KAAK,cAAc,aAAa,iBAAiB,OAAO,GAE5D,KAAK,cAAc,IAAI,YAAY,kBAAkB,CAAC,EAEtD,KAAK,WAAW,iBAAiB,WAAW,KAAK,iBAAiB;QAgBlE,CAdI,KAAK,cAAc,QACnB,KAAK,cAAc,KAAK,YAAY,KAAK,WAAW,EAGxD,KAAK,gBAAgB,OAAO,EAC5B,OAAO,oBAAoB,SAAS,KAAK,sBAAsB,EAAE,SAAS,IAAM,CAAC,EACjF,OAAO,oBAAoB,SAAS,KAAK,sBAAsB,EAAE,SAAS,IAAM,CAAC,EAE7E,KAAK,kBACL,KAAK,yBAAyB,KAAK,cAAc,EACjD,KAAK,cAAc,aAAa,iBAAiB,QAAQ,GAE7D,KAAK,cAAc,IAAI,YAAY,mBAAmB,CAAC,EAEnD,KAAK,cAAc,QACnB,KAAK,WAAW,oBAAoB,WAAW,KAAK,iBAAiB;;CA6CjF,2BAAmC,GAA2C;AAC1E,MAAI,KAAY,MAAM;GAClB,IAAM,IAAY,SAAS,cAA2B,EAAS;AAC/D,GAAI,MACA,KAAK,0BAA0B,EAAU,EACzC,KAAK,yBAAyB,EAAU;;AAGhD,MAAI,KAAK,gBAAgB;GACrB,IAAM,IAAS,SAAS,cAAc,KAAK,eAAe;AAK1D,GAJI,aAAkB,gBAClB,KAAK,gBAAgB,IAGzB,KAAK,uBAAuB,KAAK,cAAc;;;CAIvD,uBAA+B,GAAuC;AAClE,MAAI,EACA,SAAQ,KAAK,aAAb;GACI,KAAK;AAED,IADA,EAAO,iBAAiB,cAAc,KAAK,KAAK,EAChD,EAAO,iBAAiB,cAAc,KAAK,KAAK;AAChD;GAEJ,KAAK;AACD,MAAO,iBAAiB,SAAS,KAAK,OAAO;AAC7C;;;CAMhB,0BAAkC,GAAuC;AACrE,MAAI,EACA,SAAQ,KAAK,aAAb;GACI,KAAK;AAED,IADA,EAAO,oBAAoB,cAAc,KAAK,KAAK,EACnD,EAAO,oBAAoB,cAAc,KAAK,KAAK;AACnD;GAEJ,KAAK;AACD,MAAO,oBAAoB,SAAS,KAAK,OAAO;AAChD;;;CAMhB,kBAAgC;AAG5B,EAFA,KAAK,wBAAwB,EAE7B,KAAK,oBAAoB;EAGzB,IAAM,IAAU,MACV,IAAmB;GACrB,WAAW,EAAQ;GACnB,UAAU;GACV,WAAW;IACP;KACI,MAAM;KACN,SAAS,EACL,iBAAiB,IACpB;KACJ;IACD;KACI,MAAM;KACN,SAAS,EACL,oBAAoB,EAAQ,eAC/B;KACJ;IACD;KACI,MAAM;KACN,SAAS,EACL,cACW,CACH,GACA,EAAQ,UACF,IAAI,EAAQ,SACX,KAAK,QAAQ,gBAAgB,IAAI,EAAQ,OACnD,EAER;KACJ;IACD;KACI,MAAM;KACN,SAAS,EACL,SAAS,IACZ;KACJ;IACD;KACI,MAAM;KACN,SAAS;KACT,OAAO;KACP,GAAG,EAAE,YAAS;AACV,MAAI,EAAQ,UAAU,EAAM,OAAO,SAC/B,OAAO,OAAO,EAAQ,OAAO,OAAO;OAChC,KAAK,EAAM,OAAO,MAAM,OAAO;OAC/B,MAAM,EAAM,OAAO,MAAM,QAAQ;OACjC,QAAQ,EAAM,OAAO,MAAM,UAAU;OACrC,OAAO,EAAM,OAAO,MAAM,SAAS;OACtC,CAAC;;KAGb;IACD;KACI,MAAM;KACN,SAAS;KACT,OAAO;KACP,GAAG,EAAE,YAAS;AACV,QAAQ,YAAY,EAAM,UAAU;;KAE3C;IACJ;GACJ;AACD,OAAK,UAAU,EAAa,KAAK,eAAgB,KAAK,YAAa,EAAQ;;CAG/E,yBAAuC;AAanC,EAZA,KAAK,aAAa,SAAS,cAAc,MAAM,EAC/C,KAAK,WAAW,KAAK,KAAK,oBAC1B,KAAK,WAAW,UAAU,IAAI,oBAAoB,EAClD,KAAK,WAAW,WAAW,GACvB,KAAK,mBACL,KAAK,gBAAgB,YAAY,EAErC,KAAK,kBAAkB,IAAI,qBAAqB;AAC5C,GAAI,KAAK,WACA,KAAK,QAAQ,QAAQ;IAEhC,EACF,KAAK,gBAAgB,QAAQ,KAAK,WAAW;;CAGjD,qBAA6B;AACzB,EAAI,KAAK,cAAc,KAAK,UAAU,CAAC,KAAK,WAAW,CAAC,KAAK,WAAW,SAAS,KAAK,OAAO,IACzF,KAAK,WAAW,YAAY,KAAK,OAAO;;CAIhD,eAA4B;AACxB,EAAI,KAAK,YACL,KAAK,QAAQ,MAAM,SAAS,YAAY,KAAK,iBAAiB,SAAS,MACvE,KAAK,QAAQ,MAAM,QAAQ,YAAY,KAAK,WAExC,KAAK,QACA,KAAK,QAAQ,QAAQ;;CAKtC,YAAoB,GAA4B;AAC5C,MAAI,KAAK,QAAQ;GACb,IAAM,IAAe,KAAK,gBAAgB,EAAU;AAEpD,OADA,KAAK,OAAO,aAAa,WAAW,EAAa,EAC7C,KAAK,UAAU;IACf,IAAM,IAAM,KAAK,OAAO,cAAc,MAAM,EAEtC,IAAa,KAAK,OAAO,aACzB,IAAc,KAAK,OAAO,cAC1B,IAAiB,IAAI,IAAc,EAAmB,KAMtD,IAAmB,IAAI,KAJW,IAAa,KAAe,IAIQ,EAAmB;AAE/F,YAAQ,GAAR;KACI,KAAK;AAED,MADA,KAAK,OAAO,MAAM,MAAM,GACxB,EAAI,MAAM,YAAY;AACtB;KAEJ,KAAK;AAED,MADA,KAAK,OAAO,MAAM,SAAS,GAC3B,EAAI,MAAM,YAAY;AACtB;KAEJ,KAAK;AAED,MADA,KAAK,OAAO,MAAM,QAAQ,GAC1B,EAAI,MAAM,YAAY;AACtB;KAEJ,KAAK;AAED,MADA,KAAK,OAAO,MAAM,OAAO,GACzB,EAAI,MAAM,YAAY;AACtB;;;;;CAOpB,gBAAwB,GAAoC;AAUxD,SATI,EAAU,QAAQ,SAAS,KAAK,KAEzB,EAAU,QAAQ,MAAM,KAAK,KAE7B,EAAU,QAAQ,OAAO,KAAK,KAE9B,EAAU,QAAQ,QAAQ,KAAK,KAGnC,WAFI,UAFA,SAFA,QAFA;;CAWf,IAAY,UAAuB;AAK/B,SAJK,KAAK,aACN,KAAK,WAAW,KAAK,mBACrB,KAAK,SAAS,aAAa,uBAAuB,GAAG,GAElD,KAAK;;CAGhB,sBAA8B,GAA2B;AACrD,EAAI,KACA,EAAO,UAAU,IAAI,EAAgB;;CAI7C,yBAAiC,GAA2B;AACxD,EAAI,KACA,EAAO,UAAU,OAAO,EAAgB;;CAIhD,uBACI,GACA,GACA,GACkB;AAClB,MAAI,CAAC,EAAS,QAAO;EAErB,IAAM,IAAgB,KAAQ,SAAS,MAEjC,IAAS,SAAS,iBAAiB,GAAe,WAAW,cAAc,EAC7E,WAAW,GAAM;GACb,IAAM,IAAK;AAEX,UAAO,EAAG,YAAY,KAAK,CAAC,EAAG,UAAU,EAAG,iBAAiB,OACvD,WAAW,gBACX,WAAW;KAExB,CAAC;AAMF,SAJA,EAAO,cAAc,GAEJ,IAAU,EAAO,UAAU,GAAG,EAAO,cAAc;;;AAM5E,EAAQ,eAAe"}
@@ -19,11 +19,6 @@
19
19
  "repository": "https://github.com/DefinitelyTyped/DefinitelyTyped",
20
20
  "licenseUrl": "https://unpkg.com/@types/node@25.5.2/LICENSE"
21
21
  },
22
- "@types/postcss-prefix-selector@1.16.3": {
23
- "licenses": "MIT",
24
- "repository": "https://github.com/DefinitelyTyped/DefinitelyTyped",
25
- "licenseUrl": "https://unpkg.com/@types/postcss-prefix-selector@1.16.3/LICENSE"
26
- },
27
22
  "@types/yargs@17.0.35": {
28
23
  "licenses": "MIT",
29
24
  "repository": "https://github.com/DefinitelyTyped/DefinitelyTyped",
@@ -94,16 +89,6 @@
94
89
  "repository": "https://github.com/oxc-project/oxc",
95
90
  "licenseUrl": "https://unpkg.com/oxlint@1.59.0/LICENSE"
96
91
  },
97
- "postcss-prefix-selector@2.1.1": {
98
- "licenses": "MIT",
99
- "repository": "https://github.com/RadValentin/postcss-prefix-selector",
100
- "licenseUrl": "https://unpkg.com/postcss-prefix-selector@2.1.1/LICENSE"
101
- },
102
- "postcss@8.5.8": {
103
- "licenses": "MIT",
104
- "repository": "https://github.com/postcss/postcss",
105
- "licenseUrl": "https://unpkg.com/postcss@8.5.8/LICENSE"
106
- },
107
92
  "resolve-pkg@3.0.1": {
108
93
  "licenses": "MIT",
109
94
  "repository": "https://github.com/sindresorhus/resolve-pkg",
@@ -114,6 +99,11 @@
114
99
  "repository": "https://github.com/sass/dart-sass",
115
100
  "licenseUrl": "https://unpkg.com/sass@1.99.0/LICENSE"
116
101
  },
102
+ "style-dictionary@5.4.0": {
103
+ "licenses": "Apache-2.0",
104
+ "repository": "https://github.com/style-dictionary/style-dictionary",
105
+ "licenseUrl": "https://unpkg.com/style-dictionary@5.4.0/LICENSE"
106
+ },
117
107
  "tsdown@0.21.7": {
118
108
  "licenses": "MIT",
119
109
  "repository": "https://github.com/rolldown/tsdown",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cas-smartdesign/popover",
3
- "version": "6.0.0",
3
+ "version": "6.0.2",
4
4
  "description": "A popover element which appears next to its target when triggered",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "files": [
@@ -19,11 +19,11 @@
19
19
  "@popperjs/core": "^2.11.8"
20
20
  },
21
21
  "devDependencies": {
22
- "@cas-smartdesign/element-preview": "^1.1.0",
23
- "@cas-smartdesign/license-generator": "^1.10.0"
22
+ "@cas-smartdesign/element-preview": "^1.1.1",
23
+ "@cas-smartdesign/license-generator": "^1.10.2"
24
24
  },
25
25
  "peerDependencies": {
26
- "@cas-smartdesign/design-tokens": "^3.0.2"
26
+ "@cas-smartdesign/design-tokens": "^3.0.4"
27
27
  },
28
28
  "peerDependenciesMeta": {
29
29
  "@cas-smartdesign/design-tokens": {