@logosphere-ui/core 0.0.0-alpha.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.
Files changed (110) hide show
  1. package/README.md +759 -0
  2. package/dist/atoms/Badge/badge.d.ts +21 -0
  3. package/dist/atoms/Badge/index.d.ts +2 -0
  4. package/dist/atoms/Button/button.d.ts +11 -0
  5. package/dist/atoms/Button/index.d.ts +1 -0
  6. package/dist/atoms/Checkbox/checkbox.d.ts +20 -0
  7. package/dist/atoms/Checkbox/index.d.ts +1 -0
  8. package/dist/atoms/FormField/formfield.d.ts +30 -0
  9. package/dist/atoms/FormField/index.d.ts +2 -0
  10. package/dist/atoms/Switch/index.d.ts +1 -0
  11. package/dist/atoms/Switch/switch.d.ts +10 -0
  12. package/dist/badge-BbhaO73N.cjs +13 -0
  13. package/dist/badge-DE7Tgd8Z.js +71 -0
  14. package/dist/badge.cjs +1 -0
  15. package/dist/badge.js +4 -0
  16. package/dist/breadcrumb-B-4yqoJZ.js +41 -0
  17. package/dist/breadcrumb-Cop-B1J7.cjs +12 -0
  18. package/dist/breadcrumb.cjs +1 -0
  19. package/dist/breadcrumb.js +4 -0
  20. package/dist/button-C1EwOosO.js +58 -0
  21. package/dist/button-CDRccsk9.cjs +10 -0
  22. package/dist/button.cjs +1 -0
  23. package/dist/button.js +4 -0
  24. package/dist/card-CUhlTJyJ.js +97 -0
  25. package/dist/card-n8ka8Zk-.cjs +43 -0
  26. package/dist/card.cjs +1 -0
  27. package/dist/card.js +4 -0
  28. package/dist/chatbot-Ces7Xveb.js +496 -0
  29. package/dist/chatbot-oRwt64d8.cjs +160 -0
  30. package/dist/chatbot.cjs +1 -0
  31. package/dist/chatbot.js +4 -0
  32. package/dist/checkbox-7Rb3WKGx.js +119 -0
  33. package/dist/checkbox-CdDTRdKV.cjs +37 -0
  34. package/dist/checkbox.cjs +1 -0
  35. package/dist/checkbox.js +4 -0
  36. package/dist/combobox-BJbI-Tgi.js +268 -0
  37. package/dist/combobox-pmE7bgEL.cjs +99 -0
  38. package/dist/combobox.cjs +1 -0
  39. package/dist/combobox.js +4 -0
  40. package/dist/datepicker-DFJx45C-.js +750 -0
  41. package/dist/datepicker-b9JGTTMx.cjs +115 -0
  42. package/dist/datepicker.cjs +1 -0
  43. package/dist/datepicker.js +4 -0
  44. package/dist/directive-Z_rhNYWK.js +240 -0
  45. package/dist/directive-ekjitgzi.cjs +3 -0
  46. package/dist/download-manager-A4fOxGWJ.js +381 -0
  47. package/dist/download-manager-BSIMTGaK.cjs +97 -0
  48. package/dist/download-manager.cjs +1 -0
  49. package/dist/download-manager.js +4 -0
  50. package/dist/formfield-D_7NFFoe.cjs +27 -0
  51. package/dist/formfield-d8fp9FTV.js +118 -0
  52. package/dist/formfield.cjs +1 -0
  53. package/dist/formfield.js +4 -0
  54. package/dist/index.cjs +1 -0
  55. package/dist/index.d.ts +16 -0
  56. package/dist/index.js +34 -0
  57. package/dist/index.umd.js +819 -0
  58. package/dist/input-ByllRq9M.js +192 -0
  59. package/dist/input-DsIOQPGV.cjs +46 -0
  60. package/dist/input.cjs +1 -0
  61. package/dist/input.js +4 -0
  62. package/dist/live-BX-yBGvT.cjs +1 -0
  63. package/dist/live-WTVSYE2F.js +24 -0
  64. package/dist/modal-Bfc6WQSL.js +110 -0
  65. package/dist/modal-DQ8VFL-P.cjs +39 -0
  66. package/dist/modal.cjs +1 -0
  67. package/dist/modal.js +4 -0
  68. package/dist/molecules/Breadcrumb/breadcrumb.d.ts +10 -0
  69. package/dist/molecules/Breadcrumb/index.d.ts +1 -0
  70. package/dist/molecules/Card/card.d.ts +16 -0
  71. package/dist/molecules/Card/index.d.ts +1 -0
  72. package/dist/molecules/Input/index.d.ts +2 -0
  73. package/dist/molecules/Input/input.d.ts +50 -0
  74. package/dist/molecules/Popover/index.d.ts +1 -0
  75. package/dist/molecules/Popover/popover.d.ts +33 -0
  76. package/dist/molecules/Textarea/index.d.ts +1 -0
  77. package/dist/molecules/Textarea/text-area.d.ts +49 -0
  78. package/dist/organisms/Chatbot/chatbot.d.ts +79 -0
  79. package/dist/organisms/Chatbot/index.d.ts +1 -0
  80. package/dist/organisms/Combobox/combobox.d.ts +49 -0
  81. package/dist/organisms/Combobox/index.d.ts +1 -0
  82. package/dist/organisms/DatePicker/datepicker.d.ts +79 -0
  83. package/dist/organisms/DatePicker/index.d.ts +1 -0
  84. package/dist/organisms/DownloadManager/download-manager.d.ts +52 -0
  85. package/dist/organisms/DownloadManager/index.d.ts +1 -0
  86. package/dist/organisms/Modal/index.d.ts +1 -0
  87. package/dist/organisms/Modal/modal.d.ts +21 -0
  88. package/dist/organisms/Tab/index.d.ts +1 -0
  89. package/dist/organisms/Tab/tab.d.ts +33 -0
  90. package/dist/popover-C_Ob86CJ.cjs +30 -0
  91. package/dist/popover-D-FXdEdS.js +1040 -0
  92. package/dist/popover.cjs +1 -0
  93. package/dist/popover.js +4 -0
  94. package/dist/shared/icons/icon-map.d.ts +1 -0
  95. package/dist/shared/icons/ui-icon.d.ts +15 -0
  96. package/dist/styles/main.css +247 -0
  97. package/dist/switch-Cpl53nRW.js +64 -0
  98. package/dist/switch-Rnnn10bn.cjs +17 -0
  99. package/dist/switch.cjs +1 -0
  100. package/dist/switch.js +4 -0
  101. package/dist/tab-BKdN4xAz.js +176 -0
  102. package/dist/tab-DcjAlXzU.cjs +40 -0
  103. package/dist/tab.cjs +1 -0
  104. package/dist/tab.js +4 -0
  105. package/dist/text-area-CtZY3yLA.js +204 -0
  106. package/dist/text-area-DFDF5oos.cjs +44 -0
  107. package/dist/textarea.cjs +1 -0
  108. package/dist/textarea.js +4 -0
  109. package/dist/vite.svg +1 -0
  110. package/package.json +185 -0
@@ -0,0 +1,79 @@
1
+ import { LitElement, type PropertyValues } from "lit";
2
+ import "../../atoms/Button/button";
3
+ import "../../molecules/Input/input";
4
+ import "../../shared/icons/ui-icon";
5
+ type Product = {
6
+ id: string;
7
+ name: string;
8
+ };
9
+ export declare class LedsUiChatbot extends LitElement {
10
+ static styles: import("lit").CSSResult[];
11
+ private static readonly ICONS;
12
+ returnUri: string;
13
+ questionPrompt: string;
14
+ minimizedIconOnly: boolean;
15
+ draggable: boolean;
16
+ resizable: boolean;
17
+ products: Product[];
18
+ openInitially: boolean;
19
+ showFeedbackButtons: boolean;
20
+ private open;
21
+ private fullscreen;
22
+ private messages;
23
+ private conversationId?;
24
+ private assertionToken?;
25
+ private isLoading;
26
+ private inputText;
27
+ private selectedProductId;
28
+ private windowWidth;
29
+ private windowHeight;
30
+ private position;
31
+ private isDragging;
32
+ private screenWidth;
33
+ private dragStartPos;
34
+ private initialPosition;
35
+ private isResizing;
36
+ private resizeDirection;
37
+ private resizeStartWidth;
38
+ private resizeStartHeight;
39
+ private chatContainer;
40
+ private productEl;
41
+ private onWindowResize;
42
+ connectedCallback(): void;
43
+ disconnectedCallback(): void;
44
+ firstUpdated(): Promise<void>;
45
+ updated(changed: PropertyValues): void;
46
+ private handleProductUpdate;
47
+ private updateComboboxItems;
48
+ private onProductChange;
49
+ private onToggle;
50
+ private onClose;
51
+ private onToggleFullscreen;
52
+ private onMouseDown;
53
+ private onMouseMove;
54
+ private onMouseUp;
55
+ private startResize;
56
+ private ensureToken;
57
+ private postChat;
58
+ private initConversation;
59
+ private sendMessage;
60
+ private addMessage;
61
+ private handleKeyDown;
62
+ private onInput;
63
+ private scrollToBottom;
64
+ private onCopyMessage;
65
+ private formatContent;
66
+ render(): import("lit-html").TemplateResult<1>;
67
+ private renderOverlay;
68
+ private renderLauncher;
69
+ private renderWindow;
70
+ private renderResizeHandles;
71
+ private renderHeader;
72
+ private renderProductSelector;
73
+ private renderChatArea;
74
+ private renderMessage;
75
+ private renderFeedbackButtons;
76
+ private renderTypingIndicator;
77
+ private renderInputArea;
78
+ }
79
+ export {};
@@ -0,0 +1 @@
1
+ export { LedsUiChatbot } from './chatbot';
@@ -0,0 +1,49 @@
1
+ import { LitElement } from "lit";
2
+ import "../../atoms/Checkbox";
3
+ import "../../shared/icons/ui-icon";
4
+ type ComboboxItem = Record<string, unknown>;
5
+ export declare class Combobox extends LitElement {
6
+ static styles: import("lit").CSSResult[];
7
+ readonly inputId: string;
8
+ label: string;
9
+ placeholder: string;
10
+ required: boolean;
11
+ readOnly: boolean;
12
+ multiple: boolean;
13
+ filterable: boolean;
14
+ optionLabel: string;
15
+ optionValue: string;
16
+ emptyMessage: string;
17
+ items: ComboboxItem[];
18
+ size: "default" | "large";
19
+ private selected;
20
+ private inputValue;
21
+ private isOpen;
22
+ private focusedIndex;
23
+ private _filteredItems;
24
+ willUpdate(changed: Map<string, unknown>): void;
25
+ updated(changed: Map<string, unknown>): void;
26
+ private _handleOutsideClick;
27
+ connectedCallback(): void;
28
+ disconnectedCallback(): void;
29
+ private _closeDropdown;
30
+ private get _filterDisplayValue();
31
+ private _focusFilterInput;
32
+ private _scrollFocusedIntoView;
33
+ private _handleKeydown;
34
+ selectedItems(): ComboboxItem[];
35
+ isSelected(item: ComboboxItem): boolean;
36
+ private _selectItem;
37
+ private _removeTag;
38
+ private _clearSelection;
39
+ setSelected(value: ComboboxItem[]): void;
40
+ private _onFilterFocus;
41
+ private _onFilterInput;
42
+ private _stopPropagation;
43
+ private _onTriggerClick;
44
+ private _renderTagList;
45
+ private _renderTriggerContent;
46
+ private _renderDropdown;
47
+ render(): import("lit-html").TemplateResult<1>;
48
+ }
49
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./combobox";
@@ -0,0 +1,79 @@
1
+ import { LitElement } from "lit";
2
+ import "dayjs/locale/tr";
3
+ import "../../shared/icons/ui-icon";
4
+ export declare class LedsDatePicker extends LitElement {
5
+ static styles: import("lit").CSSResult[];
6
+ value: string | null;
7
+ min: string | null;
8
+ max: string | null;
9
+ required: boolean;
10
+ disabled: boolean;
11
+ expandFactor: number;
12
+ placeholder: string;
13
+ /** Range selection mode — select a start and end date */
14
+ rangeMode: boolean;
15
+ disabledDays: number[];
16
+ /** Pre-selected range start date (YYYY-MM-DD). Only used when rangeMode=true. */
17
+ rangeStart: string | null;
18
+ /** Pre-selected range end date (YYYY-MM-DD). Only used when rangeMode=true. */
19
+ rangeEnd: string | null;
20
+ /** Callback fired when a single date is selected or cleared. Receives ISO string or null. */
21
+ onChange?: (value: string | null) => void;
22
+ /** Callback fired when a complete range is selected. */
23
+ onRangeChange?: (range: {
24
+ start: string;
25
+ end: string;
26
+ }) => void;
27
+ private _open;
28
+ private _cursor;
29
+ private _popupPos;
30
+ private _rangeStart;
31
+ private _rangeEnd;
32
+ private _hoverDate;
33
+ private _viewMode;
34
+ private _hasError;
35
+ private _errorMsg;
36
+ private _errorTimer;
37
+ readonly inputId: string;
38
+ protected willUpdate(changed: Map<string, unknown>): void;
39
+ private _outsideClick;
40
+ private _onScrollOrResize;
41
+ connectedCallback(): void;
42
+ disconnectedCallback(): void;
43
+ private _safeDay;
44
+ private _withinBounds;
45
+ private _displayValue;
46
+ private _getYears;
47
+ private _getHeaderLabel;
48
+ private _daysInGrid;
49
+ private _isInRange;
50
+ private _getHoverPreview;
51
+ private _getDayClasses;
52
+ private _emitChange;
53
+ private _emitRangeChange;
54
+ private _showInputError;
55
+ private _clearInputError;
56
+ private _toggleOpen;
57
+ private _onInput;
58
+ private _onKeydown;
59
+ private _parseAndSetDate;
60
+ private _select;
61
+ private _clear;
62
+ private _today;
63
+ private _navigatePrevious;
64
+ private _navigateNext;
65
+ private _handleHeaderClick;
66
+ private _selectMonth;
67
+ private _selectYear;
68
+ private _keydownGrid;
69
+ private _recalcPopupPos;
70
+ private _renderCalendar;
71
+ private _renderMonthGrid;
72
+ private _renderYearGrid;
73
+ render(): import("lit-html").TemplateResult<1>;
74
+ }
75
+ declare global {
76
+ interface HTMLElementTagNameMap {
77
+ "logosphere-datepicker": LedsDatePicker;
78
+ }
79
+ }
@@ -0,0 +1 @@
1
+ export * from './datepicker';
@@ -0,0 +1,52 @@
1
+ import { LitElement } from "lit";
2
+ export interface DownloadItem {
3
+ id: string;
4
+ url: string;
5
+ filename: string;
6
+ size: number;
7
+ downloaded: number;
8
+ status: "pending" | "downloading" | "paused" | "completed" | "error";
9
+ chunks: ChunkInfo[];
10
+ error?: string;
11
+ startTime?: number;
12
+ endTime?: number;
13
+ }
14
+ export interface ChunkInfo {
15
+ start: number;
16
+ end: number;
17
+ downloaded: number;
18
+ status: "pending" | "downloading" | "completed" | "error";
19
+ }
20
+ export declare class DownloadManager extends LitElement {
21
+ static styles: import("lit").CSSResult[];
22
+ chunkSize: number;
23
+ maxConcurrentDownloads: number;
24
+ maxConcurrentChunks: number;
25
+ downloads: DownloadItem[];
26
+ private isAddingFiles;
27
+ private activeDownloads;
28
+ private storageKey;
29
+ connectedCallback(): void;
30
+ disconnectedCallback(): void;
31
+ private setupVisibilityChangeHandler;
32
+ private loadState;
33
+ saveState(): void;
34
+ private getFileSize;
35
+ createChunks(totalSize: number): ChunkInfo[];
36
+ private downloadChunk;
37
+ private downloadFile;
38
+ pauseDownload(downloadId: string): void;
39
+ resumeDownload(downloadId: string): void;
40
+ removeDownload(downloadId: string): void;
41
+ clearCompleted: () => void;
42
+ formatBytes(bytes: number): string;
43
+ formatDuration(ms: number): string;
44
+ getProgressPercentage(download: DownloadItem): number;
45
+ private getDownloadSpeed;
46
+ private getETA;
47
+ private addDownload;
48
+ handleAddDownload: (event: Event) => void;
49
+ private getStatusClass;
50
+ private getProgressBarClass;
51
+ render(): import("lit-html").TemplateResult<1>;
52
+ }
@@ -0,0 +1 @@
1
+ export * from './download-manager';
@@ -0,0 +1 @@
1
+ export * from "./modal";
@@ -0,0 +1,21 @@
1
+ import { LitElement } from "lit";
2
+ export declare class Modal extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ open: boolean;
5
+ title: string;
6
+ closeOnEsc: boolean;
7
+ closeOnBackdrop: boolean;
8
+ showBack: boolean;
9
+ showClose: boolean;
10
+ hasFooterContent: boolean;
11
+ connectedCallback(): void;
12
+ disconnectedCallback(): void;
13
+ openModal(): void;
14
+ closeModal(): void;
15
+ private setOpen;
16
+ private onKeyDown;
17
+ private onBackdropClick;
18
+ private checkFooterContent;
19
+ updated(changedProperties: Map<string | number | symbol, unknown>): void;
20
+ render(): import("lit-html").TemplateResult<1>;
21
+ }
@@ -0,0 +1 @@
1
+ export * from "./tab";
@@ -0,0 +1,33 @@
1
+ import { LitElement } from "lit";
2
+ import type { PropertyValues } from "lit";
3
+ export interface TabItem {
4
+ id: string;
5
+ label: string;
6
+ description?: string;
7
+ icon?: string;
8
+ disabled?: boolean;
9
+ content?: string | HTMLElement;
10
+ }
11
+ export declare class LogosphereTab extends LitElement {
12
+ static styles: import("lit").CSSResult[];
13
+ tabs: TabItem[];
14
+ activeTab: string;
15
+ lazy: boolean;
16
+ variant: "default" | "card";
17
+ private _focusedIndex;
18
+ private _renderedTabs;
19
+ private tablist?;
20
+ connectedCallback(): void;
21
+ protected willUpdate(changedProperties: PropertyValues): void;
22
+ private handleTabClick;
23
+ private handleKeyDown;
24
+ private scrollTabIntoView;
25
+ private renderTabButton;
26
+ private renderTabPanel;
27
+ render(): import("lit-html").TemplateResult<1>;
28
+ }
29
+ declare global {
30
+ interface HTMLElementTagNameMap {
31
+ "logosphere-tab": LogosphereTab;
32
+ }
33
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";const Z=require("lit"),N=require("lit/decorators.js");var $="top",M="bottom",L="right",j="left",ke="auto",le=[$,M,L,j],ee="start",fe="end",vt="clippingParents",Ze="viewport",ae="popper",ht="reference",Ie=le.reduce(function(t,e){return t.concat([e+"-"+ee,e+"-"+fe])},[]),et=[].concat(le,[ke]).reduce(function(t,e){return t.concat([e,e+"-"+ee,e+"-"+fe])},[]),mt="beforeRead",gt="read",yt="afterRead",bt="beforeMain",wt="main",xt="afterMain",Ot="beforeWrite",Pt="write",Et="afterWrite",At=[mt,gt,yt,bt,wt,xt,Ot,Pt,Et];function H(t){return t?(t.nodeName||"").toLowerCase():null}function R(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function K(t){var e=R(t).Element;return t instanceof e||t instanceof Element}function S(t){var e=R(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function $e(t){if(typeof ShadowRoot>"u")return!1;var e=R(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Ct(t){var e=t.state;Object.keys(e.elements).forEach(function(r){var n=e.styles[r]||{},o=e.attributes[r]||{},i=e.elements[r];!S(i)||!H(i)||(Object.assign(i.style,n),Object.keys(o).forEach(function(f){var s=o[f];s===!1?i.removeAttribute(f):i.setAttribute(f,s===!0?"":s)}))})}function Dt(t){var e=t.state,r={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,r.popper),e.styles=r,e.elements.arrow&&Object.assign(e.elements.arrow.style,r.arrow),function(){Object.keys(e.elements).forEach(function(n){var o=e.elements[n],i=e.attributes[n]||{},f=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:r[n]),s=f.reduce(function(a,c){return a[c]="",a},{});!S(o)||!H(o)||(Object.assign(o.style,s),Object.keys(i).forEach(function(a){o.removeAttribute(a)}))})}}const kt={name:"applyStyles",enabled:!0,phase:"write",fn:Ct,effect:Dt,requires:["computeStyles"]};function W(t){return t.split("-")[0]}var J=Math.max,we=Math.min,te=Math.round;function Ce(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function tt(){return!/^((?!chrome|android).)*safari/i.test(Ce())}function re(t,e,r){e===void 0&&(e=!1),r===void 0&&(r=!1);var n=t.getBoundingClientRect(),o=1,i=1;e&&S(t)&&(o=t.offsetWidth>0&&te(n.width)/t.offsetWidth||1,i=t.offsetHeight>0&&te(n.height)/t.offsetHeight||1);var f=K(t)?R(t):window,s=f.visualViewport,a=!tt()&&r,c=(n.left+(a&&s?s.offsetLeft:0))/o,p=(n.top+(a&&s?s.offsetTop:0))/i,h=n.width/o,y=n.height/i;return{width:h,height:y,top:p,right:c+h,bottom:p+y,left:c,x:c,y:p}}function je(t){var e=re(t),r=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-r)<=1&&(r=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:r,height:n}}function rt(t,e){var r=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(r&&$e(r)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function V(t){return R(t).getComputedStyle(t)}function $t(t){return["table","td","th"].indexOf(H(t))>=0}function I(t){return((K(t)?t.ownerDocument:t.document)||window.document).documentElement}function xe(t){return H(t)==="html"?t:t.assignedSlot||t.parentNode||($e(t)?t.host:null)||I(t)}function Fe(t){return!S(t)||V(t).position==="fixed"?null:t.offsetParent}function jt(t){var e=/firefox/i.test(Ce()),r=/Trident/i.test(Ce());if(r&&S(t)){var n=V(t);if(n.position==="fixed")return null}var o=xe(t);for($e(o)&&(o=o.host);S(o)&&["html","body"].indexOf(H(o))<0;){var i=V(o);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||e&&i.willChange==="filter"||e&&i.filter&&i.filter!=="none")return o;o=o.parentNode}return null}function ue(t){for(var e=R(t),r=Fe(t);r&&$t(r)&&V(r).position==="static";)r=Fe(r);return r&&(H(r)==="html"||H(r)==="body"&&V(r).position==="static")?e:r||jt(t)||e}function Be(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function se(t,e,r){return J(t,we(e,r))}function Bt(t,e,r){var n=se(t,e,r);return n>r?r:n}function ot(){return{top:0,right:0,bottom:0,left:0}}function nt(t){return Object.assign({},ot(),t)}function it(t,e){return e.reduce(function(r,n){return r[n]=t,r},{})}var Rt=function(e,r){return e=typeof e=="function"?e(Object.assign({},r.rects,{placement:r.placement})):e,nt(typeof e!="number"?e:it(e,le))};function St(t){var e,r=t.state,n=t.name,o=t.options,i=r.elements.arrow,f=r.modifiersData.popperOffsets,s=W(r.placement),a=Be(s),c=[j,L].indexOf(s)>=0,p=c?"height":"width";if(!(!i||!f)){var h=Rt(o.padding,r),y=je(i),l=a==="y"?$:j,w=a==="y"?M:L,v=r.rects.reference[p]+r.rects.reference[a]-f[a]-r.rects.popper[p],d=f[a]-r.rects.reference[a],b=ue(i),O=b?a==="y"?b.clientHeight||0:b.clientWidth||0:0,P=v/2-d/2,u=h[l],m=O-y[p]-h[w],g=O/2-y[p]/2+P,x=se(u,g,m),C=a;r.modifiersData[n]=(e={},e[C]=x,e.centerOffset=x-g,e)}}function Mt(t){var e=t.state,r=t.options,n=r.element,o=n===void 0?"[data-popper-arrow]":n;o!=null&&(typeof o=="string"&&(o=e.elements.popper.querySelector(o),!o)||rt(e.elements.popper,o)&&(e.elements.arrow=o))}const Lt={name:"arrow",enabled:!0,phase:"main",fn:St,effect:Mt,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function oe(t){return t.split("-")[1]}var Tt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function _t(t,e){var r=t.x,n=t.y,o=e.devicePixelRatio||1;return{x:te(r*o)/o||0,y:te(n*o)/o||0}}function Xe(t){var e,r=t.popper,n=t.popperRect,o=t.placement,i=t.variation,f=t.offsets,s=t.position,a=t.gpuAcceleration,c=t.adaptive,p=t.roundOffsets,h=t.isFixed,y=f.x,l=y===void 0?0:y,w=f.y,v=w===void 0?0:w,d=typeof p=="function"?p({x:l,y:v}):{x:l,y:v};l=d.x,v=d.y;var b=f.hasOwnProperty("x"),O=f.hasOwnProperty("y"),P=j,u=$,m=window;if(c){var g=ue(r),x="clientHeight",C="clientWidth";if(g===R(r)&&(g=I(r),V(g).position!=="static"&&s==="absolute"&&(x="scrollHeight",C="scrollWidth")),g=g,o===$||(o===j||o===L)&&i===fe){u=M;var A=h&&g===m&&m.visualViewport?m.visualViewport.height:g[x];v-=A-n.height,v*=a?1:-1}if(o===j||(o===$||o===M)&&i===fe){P=L;var E=h&&g===m&&m.visualViewport?m.visualViewport.width:g[C];l-=E-n.width,l*=a?1:-1}}var D=Object.assign({position:s},c&&Tt),T=p===!0?_t({x:l,y:v},R(r)):{x:l,y:v};if(l=T.x,v=T.y,a){var k;return Object.assign({},D,(k={},k[u]=O?"0":"",k[P]=b?"0":"",k.transform=(m.devicePixelRatio||1)<=1?"translate("+l+"px, "+v+"px)":"translate3d("+l+"px, "+v+"px, 0)",k))}return Object.assign({},D,(e={},e[u]=O?v+"px":"",e[P]=b?l+"px":"",e.transform="",e))}function Wt(t){var e=t.state,r=t.options,n=r.gpuAcceleration,o=n===void 0?!0:n,i=r.adaptive,f=i===void 0?!0:i,s=r.roundOffsets,a=s===void 0?!0:s,c={placement:W(e.placement),variation:oe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Xe(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:f,roundOffsets:a})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Xe(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:a})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Ht={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Wt,data:{}};var ye={passive:!0};function Nt(t){var e=t.state,r=t.instance,n=t.options,o=n.scroll,i=o===void 0?!0:o,f=n.resize,s=f===void 0?!0:f,a=R(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return i&&c.forEach(function(p){p.addEventListener("scroll",r.update,ye)}),s&&a.addEventListener("resize",r.update,ye),function(){i&&c.forEach(function(p){p.removeEventListener("scroll",r.update,ye)}),s&&a.removeEventListener("resize",r.update,ye)}}const zt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Nt,data:{}};var Vt={left:"right",right:"left",bottom:"top",top:"bottom"};function be(t){return t.replace(/left|right|bottom|top/g,function(e){return Vt[e]})}var qt={start:"end",end:"start"};function Ye(t){return t.replace(/start|end/g,function(e){return qt[e]})}function Re(t){var e=R(t),r=e.pageXOffset,n=e.pageYOffset;return{scrollLeft:r,scrollTop:n}}function Se(t){return re(I(t)).left+Re(t).scrollLeft}function It(t,e){var r=R(t),n=I(t),o=r.visualViewport,i=n.clientWidth,f=n.clientHeight,s=0,a=0;if(o){i=o.width,f=o.height;var c=tt();(c||!c&&e==="fixed")&&(s=o.offsetLeft,a=o.offsetTop)}return{width:i,height:f,x:s+Se(t),y:a}}function Ft(t){var e,r=I(t),n=Re(t),o=(e=t.ownerDocument)==null?void 0:e.body,i=J(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),f=J(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-n.scrollLeft+Se(t),a=-n.scrollTop;return V(o||r).direction==="rtl"&&(s+=J(r.clientWidth,o?o.clientWidth:0)-i),{width:i,height:f,x:s,y:a}}function Me(t){var e=V(t),r=e.overflow,n=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+n)}function at(t){return["html","body","#document"].indexOf(H(t))>=0?t.ownerDocument.body:S(t)&&Me(t)?t:at(xe(t))}function pe(t,e){var r;e===void 0&&(e=[]);var n=at(t),o=n===((r=t.ownerDocument)==null?void 0:r.body),i=R(n),f=o?[i].concat(i.visualViewport||[],Me(n)?n:[]):n,s=e.concat(f);return o?s:s.concat(pe(xe(f)))}function De(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Xt(t,e){var r=re(t,!1,e==="fixed");return r.top=r.top+t.clientTop,r.left=r.left+t.clientLeft,r.bottom=r.top+t.clientHeight,r.right=r.left+t.clientWidth,r.width=t.clientWidth,r.height=t.clientHeight,r.x=r.left,r.y=r.top,r}function Ue(t,e,r){return e===Ze?De(It(t,r)):K(e)?Xt(e,r):De(Ft(I(t)))}function Yt(t){var e=pe(xe(t)),r=["absolute","fixed"].indexOf(V(t).position)>=0,n=r&&S(t)?ue(t):t;return K(n)?e.filter(function(o){return K(o)&&rt(o,n)&&H(o)!=="body"}):[]}function Ut(t,e,r,n){var o=e==="clippingParents"?Yt(t):[].concat(e),i=[].concat(o,[r]),f=i[0],s=i.reduce(function(a,c){var p=Ue(t,c,n);return a.top=J(p.top,a.top),a.right=we(p.right,a.right),a.bottom=we(p.bottom,a.bottom),a.left=J(p.left,a.left),a},Ue(t,f,n));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function st(t){var e=t.reference,r=t.element,n=t.placement,o=n?W(n):null,i=n?oe(n):null,f=e.x+e.width/2-r.width/2,s=e.y+e.height/2-r.height/2,a;switch(o){case $:a={x:f,y:e.y-r.height};break;case M:a={x:f,y:e.y+e.height};break;case L:a={x:e.x+e.width,y:s};break;case j:a={x:e.x-r.width,y:s};break;default:a={x:e.x,y:e.y}}var c=o?Be(o):null;if(c!=null){var p=c==="y"?"height":"width";switch(i){case ee:a[c]=a[c]-(e[p]/2-r[p]/2);break;case fe:a[c]=a[c]+(e[p]/2-r[p]/2);break}}return a}function ce(t,e){e===void 0&&(e={});var r=e,n=r.placement,o=n===void 0?t.placement:n,i=r.strategy,f=i===void 0?t.strategy:i,s=r.boundary,a=s===void 0?vt:s,c=r.rootBoundary,p=c===void 0?Ze:c,h=r.elementContext,y=h===void 0?ae:h,l=r.altBoundary,w=l===void 0?!1:l,v=r.padding,d=v===void 0?0:v,b=nt(typeof d!="number"?d:it(d,le)),O=y===ae?ht:ae,P=t.rects.popper,u=t.elements[w?O:y],m=Ut(K(u)?u:u.contextElement||I(t.elements.popper),a,p,f),g=re(t.elements.reference),x=st({reference:g,element:P,placement:o}),C=De(Object.assign({},P,x)),A=y===ae?C:g,E={top:m.top-A.top+b.top,bottom:A.bottom-m.bottom+b.bottom,left:m.left-A.left+b.left,right:A.right-m.right+b.right},D=t.modifiersData.offset;if(y===ae&&D){var T=D[o];Object.keys(E).forEach(function(k){var F=[L,M].indexOf(k)>=0?1:-1,X=[$,M].indexOf(k)>=0?"y":"x";E[k]+=T[X]*F})}return E}function Gt(t,e){e===void 0&&(e={});var r=e,n=r.placement,o=r.boundary,i=r.rootBoundary,f=r.padding,s=r.flipVariations,a=r.allowedAutoPlacements,c=a===void 0?et:a,p=oe(n),h=p?s?Ie:Ie.filter(function(w){return oe(w)===p}):le,y=h.filter(function(w){return c.indexOf(w)>=0});y.length===0&&(y=h);var l=y.reduce(function(w,v){return w[v]=ce(t,{placement:v,boundary:o,rootBoundary:i,padding:f})[W(v)],w},{});return Object.keys(l).sort(function(w,v){return l[w]-l[v]})}function Jt(t){if(W(t)===ke)return[];var e=be(t);return[Ye(t),e,Ye(e)]}function Kt(t){var e=t.state,r=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var o=r.mainAxis,i=o===void 0?!0:o,f=r.altAxis,s=f===void 0?!0:f,a=r.fallbackPlacements,c=r.padding,p=r.boundary,h=r.rootBoundary,y=r.altBoundary,l=r.flipVariations,w=l===void 0?!0:l,v=r.allowedAutoPlacements,d=e.options.placement,b=W(d),O=b===d,P=a||(O||!w?[be(d)]:Jt(d)),u=[d].concat(P).reduce(function(Q,q){return Q.concat(W(q)===ke?Gt(e,{placement:q,boundary:p,rootBoundary:h,padding:c,flipVariations:w,allowedAutoPlacements:v}):q)},[]),m=e.rects.reference,g=e.rects.popper,x=new Map,C=!0,A=u[0],E=0;E<u.length;E++){var D=u[E],T=W(D),k=oe(D)===ee,F=[$,M].indexOf(T)>=0,X=F?"width":"height",B=ce(e,{placement:D,boundary:p,rootBoundary:h,altBoundary:y,padding:c}),_=F?k?L:j:k?M:$;m[X]>g[X]&&(_=be(_));var de=be(_),Y=[];if(i&&Y.push(B[T]<=0),s&&Y.push(B[_]<=0,B[de]<=0),Y.every(function(Q){return Q})){A=D,C=!1;break}x.set(D,Y)}if(C)for(var ve=w?3:1,Oe=function(q){var ie=u.find(function(me){var U=x.get(me);if(U)return U.slice(0,q).every(function(Pe){return Pe})});if(ie)return A=ie,"break"},ne=ve;ne>0;ne--){var he=Oe(ne);if(he==="break")break}e.placement!==A&&(e.modifiersData[n]._skip=!0,e.placement=A,e.reset=!0)}}const Qt={name:"flip",enabled:!0,phase:"main",fn:Kt,requiresIfExists:["offset"],data:{_skip:!1}};function Ge(t,e,r){return r===void 0&&(r={x:0,y:0}),{top:t.top-e.height-r.y,right:t.right-e.width+r.x,bottom:t.bottom-e.height+r.y,left:t.left-e.width-r.x}}function Je(t){return[$,L,M,j].some(function(e){return t[e]>=0})}function Zt(t){var e=t.state,r=t.name,n=e.rects.reference,o=e.rects.popper,i=e.modifiersData.preventOverflow,f=ce(e,{elementContext:"reference"}),s=ce(e,{altBoundary:!0}),a=Ge(f,n),c=Ge(s,o,i),p=Je(a),h=Je(c);e.modifiersData[r]={referenceClippingOffsets:a,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":h})}const er={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Zt};function tr(t,e,r){var n=W(t),o=[j,$].indexOf(n)>=0?-1:1,i=typeof r=="function"?r(Object.assign({},e,{placement:t})):r,f=i[0],s=i[1];return f=f||0,s=(s||0)*o,[j,L].indexOf(n)>=0?{x:s,y:f}:{x:f,y:s}}function rr(t){var e=t.state,r=t.options,n=t.name,o=r.offset,i=o===void 0?[0,0]:o,f=et.reduce(function(p,h){return p[h]=tr(h,e.rects,i),p},{}),s=f[e.placement],a=s.x,c=s.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=a,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=f}const or={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:rr};function nr(t){var e=t.state,r=t.name;e.modifiersData[r]=st({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const ir={name:"popperOffsets",enabled:!0,phase:"read",fn:nr,data:{}};function ar(t){return t==="x"?"y":"x"}function sr(t){var e=t.state,r=t.options,n=t.name,o=r.mainAxis,i=o===void 0?!0:o,f=r.altAxis,s=f===void 0?!1:f,a=r.boundary,c=r.rootBoundary,p=r.altBoundary,h=r.padding,y=r.tether,l=y===void 0?!0:y,w=r.tetherOffset,v=w===void 0?0:w,d=ce(e,{boundary:a,rootBoundary:c,padding:h,altBoundary:p}),b=W(e.placement),O=oe(e.placement),P=!O,u=Be(b),m=ar(u),g=e.modifiersData.popperOffsets,x=e.rects.reference,C=e.rects.popper,A=typeof v=="function"?v(Object.assign({},e.rects,{placement:e.placement})):v,E=typeof A=="number"?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A),D=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,T={x:0,y:0};if(g){if(i){var k,F=u==="y"?$:j,X=u==="y"?M:L,B=u==="y"?"height":"width",_=g[u],de=_+d[F],Y=_-d[X],ve=l?-C[B]/2:0,Oe=O===ee?x[B]:C[B],ne=O===ee?-C[B]:-x[B],he=e.elements.arrow,Q=l&&he?je(he):{width:0,height:0},q=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:ot(),ie=q[F],me=q[X],U=se(0,x[B],Q[B]),Pe=P?x[B]/2-ve-U-ie-E.mainAxis:Oe-U-ie-E.mainAxis,pt=P?-x[B]/2+ve+U+me+E.mainAxis:ne+U+me+E.mainAxis,Ee=e.elements.arrow&&ue(e.elements.arrow),ft=Ee?u==="y"?Ee.clientTop||0:Ee.clientLeft||0:0,Le=(k=D?.[u])!=null?k:0,ct=_+Pe-Le-ft,lt=_+pt-Le,Te=se(l?we(de,ct):de,_,l?J(Y,lt):Y);g[u]=Te,T[u]=Te-_}if(s){var _e,ut=u==="x"?$:j,dt=u==="x"?M:L,G=g[m],ge=m==="y"?"height":"width",We=G+d[ut],He=G-d[dt],Ae=[$,j].indexOf(b)!==-1,Ne=(_e=D?.[m])!=null?_e:0,ze=Ae?We:G-x[ge]-C[ge]-Ne+E.altAxis,Ve=Ae?G+x[ge]+C[ge]-Ne-E.altAxis:He,qe=l&&Ae?Bt(ze,G,Ve):se(l?ze:We,G,l?Ve:He);g[m]=qe,T[m]=qe-G}e.modifiersData[n]=T}}const pr={name:"preventOverflow",enabled:!0,phase:"main",fn:sr,requiresIfExists:["offset"]};function fr(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function cr(t){return t===R(t)||!S(t)?Re(t):fr(t)}function lr(t){var e=t.getBoundingClientRect(),r=te(e.width)/t.offsetWidth||1,n=te(e.height)/t.offsetHeight||1;return r!==1||n!==1}function ur(t,e,r){r===void 0&&(r=!1);var n=S(e),o=S(e)&&lr(e),i=I(e),f=re(t,o,r),s={scrollLeft:0,scrollTop:0},a={x:0,y:0};return(n||!n&&!r)&&((H(e)!=="body"||Me(i))&&(s=cr(e)),S(e)?(a=re(e,!0),a.x+=e.clientLeft,a.y+=e.clientTop):i&&(a.x=Se(i))),{x:f.left+s.scrollLeft-a.x,y:f.top+s.scrollTop-a.y,width:f.width,height:f.height}}function dr(t){var e=new Map,r=new Set,n=[];t.forEach(function(i){e.set(i.name,i)});function o(i){r.add(i.name);var f=[].concat(i.requires||[],i.requiresIfExists||[]);f.forEach(function(s){if(!r.has(s)){var a=e.get(s);a&&o(a)}}),n.push(i)}return t.forEach(function(i){r.has(i.name)||o(i)}),n}function vr(t){var e=dr(t);return At.reduce(function(r,n){return r.concat(e.filter(function(o){return o.phase===n}))},[])}function hr(t){var e;return function(){return e||(e=new Promise(function(r){Promise.resolve().then(function(){e=void 0,r(t())})})),e}}function mr(t){var e=t.reduce(function(r,n){var o=r[n.name];return r[n.name]=o?Object.assign({},o,n,{options:Object.assign({},o.options,n.options),data:Object.assign({},o.data,n.data)}):n,r},{});return Object.keys(e).map(function(r){return e[r]})}var Ke={placement:"bottom",modifiers:[],strategy:"absolute"};function Qe(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return!e.some(function(n){return!(n&&typeof n.getBoundingClientRect=="function")})}function gr(t){t===void 0&&(t={});var e=t,r=e.defaultModifiers,n=r===void 0?[]:r,o=e.defaultOptions,i=o===void 0?Ke:o;return function(s,a,c){c===void 0&&(c=i);var p={placement:"bottom",orderedModifiers:[],options:Object.assign({},Ke,i),modifiersData:{},elements:{reference:s,popper:a},attributes:{},styles:{}},h=[],y=!1,l={state:p,setOptions:function(b){var O=typeof b=="function"?b(p.options):b;v(),p.options=Object.assign({},i,p.options,O),p.scrollParents={reference:K(s)?pe(s):s.contextElement?pe(s.contextElement):[],popper:pe(a)};var P=vr(mr([].concat(n,p.options.modifiers)));return p.orderedModifiers=P.filter(function(u){return u.enabled}),w(),l.update()},forceUpdate:function(){if(!y){var b=p.elements,O=b.reference,P=b.popper;if(Qe(O,P)){p.rects={reference:ur(O,ue(P),p.options.strategy==="fixed"),popper:je(P)},p.reset=!1,p.placement=p.options.placement,p.orderedModifiers.forEach(function(E){return p.modifiersData[E.name]=Object.assign({},E.data)});for(var u=0;u<p.orderedModifiers.length;u++){if(p.reset===!0){p.reset=!1,u=-1;continue}var m=p.orderedModifiers[u],g=m.fn,x=m.options,C=x===void 0?{}:x,A=m.name;typeof g=="function"&&(p=g({state:p,options:C,name:A,instance:l})||p)}}}},update:hr(function(){return new Promise(function(d){l.forceUpdate(),d(p)})}),destroy:function(){v(),y=!0}};if(!Qe(s,a))return l;l.setOptions(c).then(function(d){!y&&c.onFirstUpdate&&c.onFirstUpdate(d)});function w(){p.orderedModifiers.forEach(function(d){var b=d.name,O=d.options,P=O===void 0?{}:O,u=d.effect;if(typeof u=="function"){var m=u({state:p,name:b,instance:l,options:P}),g=function(){};h.push(m||g)}})}function v(){h.forEach(function(d){return d()}),h=[]}return l}}var yr=[zt,ir,Ht,kt,or,Qt,pr,Lt,er],br=gr({defaultModifiers:yr});const wr='.popover__wrapper{position:relative;display:inline-block;font-family:var(--font-family-base)}.popover__trigger{display:inline-flex}.popover__panel{position:relative;overflow:visible;z-index:var(--z-index-popover);min-width:240px;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-body-bg);box-shadow:var(--shadow-md)}.popover__content{position:relative;z-index:1;background-color:var(--color-body-bg);border-radius:var(--radius-md);overflow:hidden}.popover__content:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background-color:var(--color-body-bg);border-radius:var(--radius-md) var(--radius-md) 0 0;z-index:1;pointer-events:none}.popover__content>*{position:relative;z-index:2}.popover__title{padding:10px var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-body-text)}.popover__body{padding:var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-secondary)}.popover__body--with-border{border-top:1px solid var(--color-border)}.popper-arrow{position:absolute;width:12px;height:12px;pointer-events:none;z-index:0}.popper-arrow:before{content:"";position:absolute;inset:0;background:var(--color-border);transform:rotate(45deg)}.popper-arrow:after{content:"";position:absolute;inset:1px;background:var(--color-body-bg);transform:rotate(45deg)}[data-popper]{position:relative;overflow:visible}[data-popper-placement^=bottom]>.popper-arrow{top:-6px;left:50%;transform:translate(-50%,-50%)}[data-popper-placement^=top]>.popper-arrow{bottom:-6px;left:50%;transform:translate(-50%,50%)}[data-popper-placement^=left]>.popper-arrow{right:-6px;top:50%;transform:translate(50%,-50%)}[data-popper-placement^=right]>.popper-arrow{left:-6px;top:50%;transform:translate(-50%,-50%)}';var xr=Object.defineProperty,Or=Object.getOwnPropertyDescriptor,z=(t,e,r,n)=>{for(var o=n>1?void 0:n?Or(e,r):e,i=t.length-1,f;i>=0;i--)(f=t[i])&&(o=(n?f(e,r,o):f(o))||o);return n&&o&&xr(e,r,o),o};exports.Popover=class extends Z.LitElement{constructor(){super(...arguments),this.title="",this.trigger="click",this.placement="bottom",this.offset=8,this.open=!1,this.closeOnOutsideClick=!0,this.handleDocumentClick=e=>{!this.open||!this.closeOnOutsideClick||e.composedPath().includes(this)||this.setOpen(!1)},this.toggle=e=>{(this.trigger==="click"||this.trigger==="both")&&(e?.stopPropagation(),this.setOpen(!this.open))},this.handleMouseEnter=()=>{(this.trigger==="hover"||this.trigger==="both")&&this.setOpen(!0)},this.handleMouseLeave=()=>{(this.trigger==="hover"||this.trigger==="both")&&this.setOpen(!1)}}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.handleDocumentClick,{capture:!0})}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.handleDocumentClick,{capture:!0}),this.destroyPopper()}updated(e){super.updated(e);const r=e.has("placement"),n=e.has("open")&&this.open;if(e.has("open")&&!this.open){this.destroyPopper();return}(n||r)&&this.open&&this.updatePopper()}setOpen(e){this.open!==e&&(this.open=e,this.dispatchEvent(new CustomEvent(e?"popover-open":"popover-close",{bubbles:!0,composed:!0})))}updatePopper(){if(!this.isConnected||!this.open)return;const e=this.triggerElement,r=this.popperElement;if(!(!e||!r)){if(this.popperInstance){this.popperInstance.setOptions({placement:this.placement,modifiers:this.getPopperModifiers(),strategy:"fixed"}),this.popperInstance.update();return}this.popperInstance=br(e,r,{placement:this.placement,strategy:"fixed",modifiers:this.getPopperModifiers()})}}getPopperModifiers(){return[{name:"offset",options:{offset:[0,this.offset]}},{name:"arrow",options:{element:this.popperArrowElement,padding:8}},{name:"preventOverflow",options:{padding:8}},{name:"flip",options:{padding:8}}]}destroyPopper(){this.popperInstance&&(this.popperInstance.destroy(),this.popperInstance=void 0)}render(){const e=!!this.title;return Z.html`
2
+ <div
3
+ class="popover__wrapper"
4
+ @mouseenter=${this.handleMouseEnter}
5
+ @mouseleave=${this.handleMouseLeave}
6
+ >
7
+ <div class="popover__trigger" part="trigger" @click=${this.toggle}>
8
+ <slot name="trigger"></slot>
9
+ </div>
10
+
11
+ ${this.open?Z.html`
12
+ <div
13
+ data-popper
14
+ class="popover__panel"
15
+ role="dialog"
16
+ aria-hidden=${this.open?"false":"true"}
17
+ >
18
+ <div data-popper-arrow class="popper-arrow"></div>
19
+ <div class="popover__content">
20
+ ${this.title?Z.html`
21
+ <div class="popover__title">${this.title}</div>
22
+ `:null}
23
+ <div class="popover__body ${e?"popover__body--with-border":""}">
24
+ <slot></slot>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ `:null}
29
+ </div>
30
+ `}};exports.Popover.styles=[Z.css`${Z.unsafeCSS(wr)}`];z([N.property({type:String})],exports.Popover.prototype,"title",2);z([N.property({type:String})],exports.Popover.prototype,"trigger",2);z([N.property({type:String})],exports.Popover.prototype,"placement",2);z([N.property({type:Number})],exports.Popover.prototype,"offset",2);z([N.property({type:Boolean,reflect:!0})],exports.Popover.prototype,"open",2);z([N.property({type:Boolean})],exports.Popover.prototype,"closeOnOutsideClick",2);z([N.query('[part="trigger"]')],exports.Popover.prototype,"triggerElement",2);z([N.query("[data-popper]")],exports.Popover.prototype,"popperElement",2);z([N.query("[data-popper-arrow]")],exports.Popover.prototype,"popperArrowElement",2);exports.Popover=z([N.customElement("logosphere-popover")],exports.Popover);