@getflip/swirl-components 0.402.0 → 0.404.0

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 (129) hide show
  1. package/components.json +122 -6
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/swirl-app-layout_5.cjs.entry.js +4 -2
  4. package/dist/cjs/swirl-components.cjs.js +1 -1
  5. package/dist/cjs/swirl-icon-arrow-left_4.cjs.entry.js +1 -1
  6. package/dist/cjs/swirl-icon-error_3.cjs.entry.js +1 -1
  7. package/dist/cjs/swirl-popover_2.cjs.entry.js +18 -7
  8. package/dist/cjs/swirl-search.cjs.entry.js +1 -1
  9. package/dist/cjs/swirl-shell-layout.cjs.entry.js +6 -6
  10. package/dist/cjs/swirl-shell-navigation-item.cjs.entry.js +2 -2
  11. package/dist/cjs/swirl-skeleton-box.cjs.entry.js +2 -2
  12. package/dist/cjs/swirl-skeleton-text.cjs.entry.js +1 -1
  13. package/dist/cjs/swirl-status-indicator.cjs.entry.js +1 -1
  14. package/dist/cjs/swirl-switch.cjs.entry.js +2 -2
  15. package/dist/cjs/swirl-tab-bar.cjs.entry.js +1 -1
  16. package/dist/cjs/swirl-tab.cjs.entry.js +1 -1
  17. package/dist/cjs/swirl-table-column.cjs.entry.js +1 -1
  18. package/dist/cjs/swirl-table.cjs.entry.js +1 -1
  19. package/dist/cjs/swirl-tag.cjs.entry.js +1 -1
  20. package/dist/cjs/swirl-text.cjs.entry.js +1 -1
  21. package/dist/cjs/swirl-toast-provider.cjs.entry.js +1 -1
  22. package/dist/cjs/swirl-toast.cjs.entry.js +1 -1
  23. package/dist/cjs/swirl-toggle-group.cjs.entry.js +1 -1
  24. package/dist/cjs/swirl-toolbar.cjs.entry.js +1 -1
  25. package/dist/cjs/swirl-tooltip.cjs.entry.js +2 -2
  26. package/dist/collection/collection-manifest.json +1 -1
  27. package/dist/collection/components/swirl-popover/swirl-popover.js +41 -5
  28. package/dist/collection/components/swirl-popover-trigger/swirl-popover-trigger.js +2 -2
  29. package/dist/collection/components/swirl-resource-list-item/swirl-resource-list-item.css +0 -1
  30. package/dist/collection/components/swirl-resource-list-item/swirl-resource-list-item.js +48 -1
  31. package/dist/collection/components/swirl-search/swirl-search.js +1 -1
  32. package/dist/collection/components/swirl-shell-layout/swirl-shell-layout.js +6 -6
  33. package/dist/collection/components/swirl-shell-navigation-item/swirl-shell-navigation-item.js +2 -2
  34. package/dist/collection/components/swirl-skeleton-box/swirl-skeleton-box.js +2 -2
  35. package/dist/collection/components/swirl-skeleton-text/swirl-skeleton-text.js +1 -1
  36. package/dist/collection/components/swirl-spinner/swirl-spinner.js +1 -1
  37. package/dist/collection/components/swirl-status-indicator/swirl-status-indicator.js +1 -1
  38. package/dist/collection/components/swirl-switch/swirl-switch.js +2 -2
  39. package/dist/collection/components/swirl-tab/swirl-tab.js +1 -1
  40. package/dist/collection/components/swirl-tab-bar/swirl-tab-bar.js +1 -1
  41. package/dist/collection/components/swirl-table/swirl-table.js +1 -1
  42. package/dist/collection/components/swirl-table-column/swirl-table-column.js +1 -1
  43. package/dist/collection/components/swirl-tag/swirl-tag.js +1 -1
  44. package/dist/collection/components/swirl-text/swirl-text.js +1 -1
  45. package/dist/collection/components/swirl-thumbnail/swirl-thumbnail.js +1 -1
  46. package/dist/collection/components/swirl-toast/swirl-toast.js +1 -1
  47. package/dist/collection/components/swirl-toast-provider/swirl-toast-provider.js +1 -1
  48. package/dist/collection/components/swirl-toggle-group/swirl-toggle-group.js +1 -1
  49. package/dist/collection/components/swirl-toolbar/swirl-toolbar.js +1 -1
  50. package/dist/collection/components/swirl-tooltip/swirl-tooltip.js +2 -2
  51. package/dist/components/assets/pdfjs/pdf.worker.min.mjs +28 -0
  52. package/dist/components/file-manager.js +64 -58
  53. package/dist/components/swirl-popover-trigger2.js +2 -2
  54. package/dist/components/swirl-popover2.js +18 -6
  55. package/dist/components/swirl-resource-list-item2.js +20 -10
  56. package/dist/components/swirl-search.js +1 -1
  57. package/dist/components/swirl-shell-layout.js +6 -6
  58. package/dist/components/swirl-shell-navigation-item.js +2 -2
  59. package/dist/components/swirl-skeleton-box2.js +2 -2
  60. package/dist/components/swirl-skeleton-text.js +1 -1
  61. package/dist/components/swirl-spinner2.js +1 -1
  62. package/dist/components/swirl-status-indicator.js +1 -1
  63. package/dist/components/swirl-switch.js +2 -2
  64. package/dist/components/swirl-tab-bar2.js +1 -1
  65. package/dist/components/swirl-tab.js +1 -1
  66. package/dist/components/swirl-table-column.js +1 -1
  67. package/dist/components/swirl-table.js +1 -1
  68. package/dist/components/swirl-tag2.js +1 -1
  69. package/dist/components/swirl-text2.js +1 -1
  70. package/dist/components/swirl-thumbnail2.js +1 -1
  71. package/dist/components/swirl-toast-provider.js +1 -1
  72. package/dist/components/swirl-toast2.js +1 -1
  73. package/dist/components/swirl-toggle-group.js +1 -1
  74. package/dist/components/swirl-toolbar.js +1 -1
  75. package/dist/components/swirl-tooltip2.js +2 -2
  76. package/dist/esm/loader.js +1 -1
  77. package/dist/esm/swirl-app-layout_5.entry.js +4 -2
  78. package/dist/esm/swirl-components.js +1 -1
  79. package/dist/esm/swirl-icon-arrow-left_4.entry.js +1 -1
  80. package/dist/esm/swirl-icon-error_3.entry.js +1 -1
  81. package/dist/esm/swirl-popover_2.entry.js +18 -7
  82. package/dist/esm/swirl-search.entry.js +1 -1
  83. package/dist/esm/swirl-shell-layout.entry.js +6 -6
  84. package/dist/esm/swirl-shell-navigation-item.entry.js +2 -2
  85. package/dist/esm/swirl-skeleton-box.entry.js +2 -2
  86. package/dist/esm/swirl-skeleton-text.entry.js +1 -1
  87. package/dist/esm/swirl-status-indicator.entry.js +1 -1
  88. package/dist/esm/swirl-switch.entry.js +2 -2
  89. package/dist/esm/swirl-tab-bar.entry.js +1 -1
  90. package/dist/esm/swirl-tab.entry.js +1 -1
  91. package/dist/esm/swirl-table-column.entry.js +1 -1
  92. package/dist/esm/swirl-table.entry.js +1 -1
  93. package/dist/esm/swirl-tag.entry.js +1 -1
  94. package/dist/esm/swirl-text.entry.js +1 -1
  95. package/dist/esm/swirl-toast-provider.entry.js +1 -1
  96. package/dist/esm/swirl-toast.entry.js +1 -1
  97. package/dist/esm/swirl-toggle-group.entry.js +1 -1
  98. package/dist/esm/swirl-toolbar.entry.js +1 -1
  99. package/dist/esm/swirl-tooltip.entry.js +2 -2
  100. package/dist/swirl-components/{p-25a0bc6f.entry.js → p-0d86713d.entry.js} +1 -1
  101. package/dist/swirl-components/{p-93bb3365.entry.js → p-251853c7.entry.js} +2 -2
  102. package/dist/swirl-components/{p-b23edf69.entry.js → p-2dd48f2d.entry.js} +1 -1
  103. package/dist/swirl-components/{p-046c85df.entry.js → p-2fbbff16.entry.js} +1 -1
  104. package/dist/swirl-components/{p-b98cc8ee.entry.js → p-32205cb6.entry.js} +1 -1
  105. package/dist/swirl-components/{p-00b0bcdf.entry.js → p-4fe92179.entry.js} +1 -1
  106. package/dist/swirl-components/{p-362cf5cd.entry.js → p-525eccb7.entry.js} +1 -1
  107. package/dist/swirl-components/{p-66f57e69.entry.js → p-6058e144.entry.js} +1 -1
  108. package/dist/swirl-components/{p-900b7395.entry.js → p-61f63eb1.entry.js} +1 -1
  109. package/dist/swirl-components/p-6294b4b8.entry.js +1 -0
  110. package/dist/swirl-components/p-8293861d.entry.js +1 -0
  111. package/dist/swirl-components/{p-68f1fc93.entry.js → p-8e15adb5.entry.js} +1 -1
  112. package/dist/swirl-components/{p-25937c0c.entry.js → p-9116eac5.entry.js} +1 -1
  113. package/dist/swirl-components/{p-38205c0f.entry.js → p-91d81ff7.entry.js} +1 -1
  114. package/dist/swirl-components/{p-e79a2b2f.entry.js → p-b56f08dd.entry.js} +1 -1
  115. package/dist/swirl-components/{p-55342fef.entry.js → p-bb3bf811.entry.js} +1 -1
  116. package/dist/swirl-components/{p-62a94658.entry.js → p-d8201d5b.entry.js} +1 -1
  117. package/dist/swirl-components/{p-a3709d0e.entry.js → p-d82c10a6.entry.js} +1 -1
  118. package/dist/swirl-components/{p-5067665a.entry.js → p-e24e9424.entry.js} +1 -1
  119. package/dist/swirl-components/{p-fef8e82f.entry.js → p-e8c9b581.entry.js} +1 -1
  120. package/dist/swirl-components/{p-f4cd2bc8.entry.js → p-eccc6946.entry.js} +1 -1
  121. package/dist/swirl-components/{p-db2de234.entry.js → p-f49848d1.entry.js} +1 -1
  122. package/dist/swirl-components/swirl-components.esm.js +1 -1
  123. package/dist/types/components/swirl-popover/swirl-popover.d.ts +5 -1
  124. package/dist/types/components/swirl-resource-list-item/swirl-resource-list-item.d.ts +3 -0
  125. package/dist/types/components.d.ts +20 -4
  126. package/package.json +1 -1
  127. package/vscode-data.json +22 -0
  128. package/dist/swirl-components/p-da93355a.entry.js +0 -1
  129. package/dist/swirl-components/p-f9342dc7.entry.js +0 -1
@@ -55,6 +55,7 @@ import { SwirlProgressIndicatorSize, SwirlProgressIndicatorVariant } from "./com
55
55
  import { SwirlRadioState, SwirlRadioVariant } from "./components/swirl-radio/swirl-radio";
56
56
  import { SwirlBoxPadding as SwirlBoxPadding1, SwirlResourceListSemantics } from "./components/swirl-resource-list/swirl-resource-list";
57
57
  import { SwirlResourceListItemLabelWeight } from "./components/swirl-resource-list-item/swirl-resource-list-item";
58
+ import { SwirlTooltipPosition } from "./components/swirl-tooltip/swirl-tooltip";
58
59
  import { SwirlSearchVariant } from "./components/swirl-search/swirl-search";
59
60
  import { SwirlSeparatorColor, SwirlSeparatorOrientation, SwirlSeparatorSemantics, SwirlSeparatorSpacing as SwirlSeparatorSpacing1 } from "./components/swirl-separator/swirl-separator";
60
61
  import { SwirlShellLayoutSecondaryNavGridItemVariant } from "./components/swirl-shell-layout/swirl-shell-layout";
@@ -80,7 +81,7 @@ import { SwirlToastIntent } from "./components/swirl-toast/swirl-toast";
80
81
  import { SwirlToastConfig, SwirlToastMessage } from "./components/swirl-toast-provider/swirl-toast-provider";
81
82
  import { SwirlToggleGroupVariant } from "./components/swirl-toggle-group/swirl-toggle-group";
82
83
  import { SwirlToolbarOrientation } from "./components/swirl-toolbar/swirl-toolbar";
83
- import { SwirlTooltipPosition } from "./components/swirl-tooltip/swirl-tooltip";
84
+ import { SwirlTooltipPosition as SwirlTooltipPosition1 } from "./components/swirl-tooltip/swirl-tooltip";
84
85
  import { SwirlTreeViewCanDropHandler, SwirlTreeViewDropItemEvent, SwirlTreeViewSemantics } from "./components/swirl-tree-view/swirl-tree-view";
85
86
  import { SwirlTreeViewDropItemEvent as SwirlTreeViewDropItemEvent1 } from "./components/swirl-tree-view/swirl-tree-view";
86
87
  import { SwirlTreeViewItemKeyboardMoveEvent } from "./components/swirl-tree-view-item/swirl-tree-view-item";
@@ -134,6 +135,7 @@ export { SwirlProgressIndicatorSize, SwirlProgressIndicatorVariant } from "./com
134
135
  export { SwirlRadioState, SwirlRadioVariant } from "./components/swirl-radio/swirl-radio";
135
136
  export { SwirlBoxPadding as SwirlBoxPadding1, SwirlResourceListSemantics } from "./components/swirl-resource-list/swirl-resource-list";
136
137
  export { SwirlResourceListItemLabelWeight } from "./components/swirl-resource-list-item/swirl-resource-list-item";
138
+ export { SwirlTooltipPosition } from "./components/swirl-tooltip/swirl-tooltip";
137
139
  export { SwirlSearchVariant } from "./components/swirl-search/swirl-search";
138
140
  export { SwirlSeparatorColor, SwirlSeparatorOrientation, SwirlSeparatorSemantics, SwirlSeparatorSpacing as SwirlSeparatorSpacing1 } from "./components/swirl-separator/swirl-separator";
139
141
  export { SwirlShellLayoutSecondaryNavGridItemVariant } from "./components/swirl-shell-layout/swirl-shell-layout";
@@ -159,7 +161,7 @@ export { SwirlToastIntent } from "./components/swirl-toast/swirl-toast";
159
161
  export { SwirlToastConfig, SwirlToastMessage } from "./components/swirl-toast-provider/swirl-toast-provider";
160
162
  export { SwirlToggleGroupVariant } from "./components/swirl-toggle-group/swirl-toggle-group";
161
163
  export { SwirlToolbarOrientation } from "./components/swirl-toolbar/swirl-toolbar";
162
- export { SwirlTooltipPosition } from "./components/swirl-tooltip/swirl-tooltip";
164
+ export { SwirlTooltipPosition as SwirlTooltipPosition1 } from "./components/swirl-tooltip/swirl-tooltip";
163
165
  export { SwirlTreeViewCanDropHandler, SwirlTreeViewDropItemEvent, SwirlTreeViewSemantics } from "./components/swirl-tree-view/swirl-tree-view";
164
166
  export { SwirlTreeViewDropItemEvent as SwirlTreeViewDropItemEvent1 } from "./components/swirl-tree-view/swirl-tree-view";
165
167
  export { SwirlTreeViewItemKeyboardMoveEvent } from "./components/swirl-tree-view-item/swirl-tree-view-item";
@@ -3407,6 +3409,10 @@ export namespace Components {
3407
3409
  * @default true
3408
3410
  */
3409
3411
  "returnFocusToTrigger"?: boolean;
3412
+ /**
3413
+ * Toggles the popover.
3414
+ */
3415
+ "toggle": (triggerEl?: HTMLElement) => Promise<void>;
3410
3416
  "transparent"?: boolean;
3411
3417
  "trigger"?: string | HTMLElement;
3412
3418
  "triggerContainer"?: HTMLElement;
@@ -3549,6 +3555,11 @@ export namespace Components {
3549
3555
  "interactive"?: boolean;
3550
3556
  "label": string;
3551
3557
  "labelMinHeight"?: string;
3558
+ "labelTooltip"?: string;
3559
+ /**
3560
+ * @default "top"
3561
+ */
3562
+ "labelTooltipPosition"?: SwirlTooltipPosition;
3552
3563
  /**
3553
3564
  * @default "medium"
3554
3565
  */
@@ -4944,7 +4955,7 @@ export namespace Components {
4944
4955
  /**
4945
4956
  * @default "top"
4946
4957
  */
4947
- "position"?: SwirlTooltipPosition;
4958
+ "position"?: SwirlTooltipPosition1;
4948
4959
  /**
4949
4960
  * @default "absolute"
4950
4961
  */
@@ -12478,6 +12489,11 @@ declare namespace LocalJSX {
12478
12489
  "interactive"?: boolean;
12479
12490
  "label": string;
12480
12491
  "labelMinHeight"?: string;
12492
+ "labelTooltip"?: string;
12493
+ /**
12494
+ * @default "top"
12495
+ */
12496
+ "labelTooltipPosition"?: SwirlTooltipPosition;
12481
12497
  /**
12482
12498
  * @default "medium"
12483
12499
  */
@@ -13845,7 +13861,7 @@ declare namespace LocalJSX {
13845
13861
  /**
13846
13862
  * @default "top"
13847
13863
  */
13848
- "position"?: SwirlTooltipPosition;
13864
+ "position"?: SwirlTooltipPosition1;
13849
13865
  /**
13850
13866
  * @default "absolute"
13851
13867
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getflip/swirl-components",
3
- "version": "0.402.0",
3
+ "version": "0.404.0",
4
4
  "description": "Swirl Design System Web Component Library",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
package/vscode-data.json CHANGED
@@ -18674,6 +18674,28 @@
18674
18674
  "name": "label-min-height",
18675
18675
  "description": ""
18676
18676
  },
18677
+ {
18678
+ "name": "label-tooltip",
18679
+ "description": ""
18680
+ },
18681
+ {
18682
+ "name": "label-tooltip-position",
18683
+ "description": "",
18684
+ "values": [
18685
+ {
18686
+ "name": "bottom"
18687
+ },
18688
+ {
18689
+ "name": "left"
18690
+ },
18691
+ {
18692
+ "name": "right"
18693
+ },
18694
+ {
18695
+ "name": "top"
18696
+ }
18697
+ ]
18698
+ },
18677
18699
  {
18678
18700
  "name": "label-weight",
18679
18701
  "description": "",
@@ -1 +0,0 @@
1
- import{r as s,h as t,H as a}from"./p-g4wOnHIT.js";import{c as e}from"./p-orsBiyT_.js";const i=class{constructor(t){s(this,t),this.padding="8"}render(){const s=e("tab",{"tab--active":this.active});return t(a,{key:"3e858f89f81b918c9f9a00c2ca891f68ca31fe2e","aria-labelledby":`tab-${this.tabId}`,id:this.tabId,role:"tabpanel",tabIndex:this.active?0:-1,class:s,style:{padding:`var(--s-space-${this.padding})`}},t("slot",{key:"9253c411cecb72a4414188c5fb9f0dd148b0fa1e"}))}};i.style=":host{display:none;width:100%}:host(.tab--active){display:block}:host *{box-sizing:border-box}";export{i as swirl_tab}
@@ -1 +0,0 @@
1
- import{r as o,c as e,h as t,H as i,d as s}from"./p-g4wOnHIT.js";import{P as r,N as n,k as a,D as p,b as h}from"./p-BtsCuEVE.js";import{d as c,e as d}from"./p-B0kNlhKL.js";import{c as l}from"./p-orsBiyT_.js";import{i as v,o as m,k as f,q as u}from"./p-wi_3Z3FQ.js";const g=class{constructor(t){o(this,t),this.popoverClose=e(this,"popoverClose",7),this.popoverOpen=e(this,"popoverOpen",7),this.animation="scale-in-xy",this.enableFlip=!0,this.maxHeight="22rem",this.offset=8,this.padded=!0,this.placement="bottom-start",this.returnFocusToTrigger=!0,this.active=!1,this.closing=!1,this.toggle=o=>{o.stopPropagation(),this.active?this.close():this.open()},this.onKeydown=o=>{"Escape"===o.code&&this.active&&(o.stopImmediatePropagation(),o.stopPropagation(),this.close())},this.reposition=async()=>{const o=v();if(!Boolean(this.triggerEl)||!Boolean(this.contentContainer))return;if(o)return void(this.position=void 0);const e="number"==typeof this.offset?{mainAxis:this.offset,crossAxis:0}:{mainAxis:this.offset[0],crossAxis:this.offset[1]},t=m("--s-space-16"),i=a({padding:{left:t,right:t}}),s=this.enableFlip?[p(e),i,h()]:[p(e),i];this.position=await r(this.triggerEl,this.contentContainer,{middleware:s,placement:this.placement,strategy:"fixed"})},this.onCloseButtonClick=()=>{this.close()}}componentDidLoad(){this.connectTrigger(),this.updateTriggerAttributes(),Boolean(this.trigger)&&console.warn('[Swirl] The "trigger" prop of swirl-popover is deprecated and will be removed with the next major release. Please use the swirl-popover-trigger component instead. https://swirl-storybook.flip-app.dev/?path=/docs/components-swirlpopovertrigger--docs')}disconnectedCallback(){this.unlockBodyScroll()}onWindowFocusIn(o){if(!this.active)return;const e=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),t="webkit"in window,i=e||t,s=o.target,r=o.relatedTarget,n=f(),a=!this.el.contains(s)&&!this.el.contains(n),p=s!==this.triggerEl&&!this.triggerEl?.contains(s),h=i&&!this.el.contains(r||s)&&r!==this.el;["SWIRL-TAB"].includes(s.tagName)||!a||!p||i&&!h||this.close()}onWindowBlur(){if(!this.active||this.closing)return;const o=document.activeElement;o&&["IFRAME"].includes(o.tagName)&&this.close()}onWindowClick(o){if(!this.active||this.closing)return;const e=o.target,t=this.el.contains(e),i=o.composedPath().some((o=>!!(Boolean(o)&&o instanceof Node)&&this.el.contains(o))),s=e===this.triggerEl||this.triggerEl.contains(e)||o.composedPath().includes(this.triggerEl);t||i||s||this.close()}async close(o){!this.closing&&this.active&&(this.popoverClose.emit(),this.disableAutoUpdate&&this.disableAutoUpdate(),this.closing=!0,setTimeout((()=>{this.active=!1,this.closing=!1,this.updateTriggerAttributes()}),150),this.unlockBodyScroll(),this.returnFocusToTrigger&&!o&&this.getNativeTriggerElement()?.focus())}async open(o,e){if(this.triggerEl=o||this.triggerEl,this.active||!Boolean(this.triggerEl))return;this.adjustWidth(),this.active=!0,this.updateTriggerAttributes();const t=this.getFocusableChildren();requestAnimationFrame((async()=>{await this.reposition(),this.popoverOpen.emit({position:this.position}),t.length>0&&!e?t[0].focus():e||this.contentContainer.focus(),this.disableAutoUpdate&&this.disableAutoUpdate(),this.disableAutoUpdate=n(this.triggerEl,this.contentContainer,(()=>this.reposition())),this.scrollContainer.scrollTop=0,this.lockBodyScroll()}))}async isOpen(){return this.active&&!this.closing}connectTrigger(){Boolean(this.trigger)?(this.triggerEl="string"==typeof this.trigger?u(this.triggerContainer||document.body,`#${this.trigger}`)[0]:this.trigger,Boolean(this.triggerEl)&&this.triggerEl.addEventListener("click",(o=>{this.toggle(o)}))):this.triggerEl=void 0}getNativeTriggerElement(){return this.triggerEl?.tagName.startsWith("SWIRL-")&&(this.triggerEl?.children[0]||this.triggerEl?.shadowRoot?.children[0])||this.triggerEl}updateTriggerAttributes(){if(!Boolean(this.triggerEl))return;const o=this.getNativeTriggerElement();o.setAttribute("aria-controls",this.el.id),o.setAttribute("aria-expanded",String(this.active)),o.setAttribute("aria-haspopup","dialog")}getFocusableChildren(){return u(this.el,'[role="menuitem"], [role="menuitemradio"], [role="option"]')}adjustWidth(){let o=this.useContainerWidth;[!0,"true"].includes(this.useContainerWidth)?o=!0:[!1,"false"].includes(this.useContainerWidth)&&(o=!1);const e=!window.matchMedia("(min-width: 768px)").matches;if(Boolean(o)&&!e){const e="string"==typeof o&&this.el.closest(o)||this.el.parentElement;this.contentContainer.style.maxWidth="none",this.contentContainer.style.width=e.getBoundingClientRect().width+"px"}else this.contentContainer.style.maxWidth="",this.contentContainer.style.width=""}lockBodyScroll(){v()&&!this.disableScrollLock&&Boolean(this.scrollContainer)&&c(this.scrollContainer)}unlockBodyScroll(){v()&&!this.disableScrollLock&&Boolean(this.scrollContainer)&&d(this.scrollContainer)}render(){const o=!window.matchMedia("(min-width: 768px)").matches,e=l("popover",`popover--animation-${this.animation}`,`popover--placement-${this.position?.placement}`,{"popover--active":this.active,"popover--closing":this.closing,"popover--fullscreen-bottom-sheet":this.fullscreenBottomSheet,"popover--inactive":!this.active,"popover--transparent":this.transparent,"popover--padded":this.padded});return t(i,{key:"cae2c409308bf89dc66f2b89456568046aaded46",style:{display:this.active?"inline-flex":"none"}},t("div",{key:"db3717521769c75c2653098cbb625224dbb2eb55",class:e,onKeyDown:this.onKeydown},t("div",{key:"3aab5c2bb11f1beea924f3c7de4e65a1fc8eb1d7","aria-hidden":this.active?"false":"true","aria-label":this.label,class:"popover__content",id:this.popoverId,part:"popover__content",role:"dialog",ref:o=>this.contentContainer=o,style:{top:Boolean(this.position)?`${this.position?.y}px`:"",left:Boolean(this.position)?`${this.position?.x}px`:""},tabindex:"-1"},t("span",{key:"8e448d47cb436bf6480559afc079eb6bce38fe12",class:"popover__handle"}),t("div",{key:"86c8939a2de68df053efacb31bdc97707007259f",class:"popover__scroll-container",part:"popover__scroll-container",ref:o=>this.scrollContainer=o,style:{maxHeight:!o&&Boolean(this.maxHeight)?this.maxHeight:void 0}},t("slot",{key:"a5cd47d451b4cd8874b3f76a2dcab3818d71ab1c"}))),this.active&&t("div",{key:"05fbf70a43239cca62a57ca654aa78c3914069da",class:"popover__backdrop",onClick:this.onCloseButtonClick})))}get el(){return s(this)}};g.style=":host{position:relative;z-index:var(--s-z-40)}:host *{box-sizing:border-box}:host{--swirl-resource-list-item-background-default:var(\n --s-surface-overlay-default\n );--swirl-resource-list-item-background-hovered:var(\n --s-surface-overlay-hovered\n );--swirl-resource-list-item-background-pressed:var(\n --s-surface-overlay-pressed\n )}.popover--active:not(.popover--closing) .popover__backdrop{animation:0.15s popover-fade-in}@media (prefers-reduced-motion){.popover--active:not(.popover--closing) .popover__backdrop{animation:none}}.popover--active:not(.popover--closing) .popover__content{animation:0.15s popover-slide-in}@media (min-width: 768px){.popover--active:not(.popover--closing) .popover__content{transform-origin:top left;animation:0.15s popover-fade-scale-in-xy}}@media (prefers-reduced-motion){.popover--active:not(.popover--closing) .popover__content{animation:none}}.popover--closing .popover__backdrop{animation:0.15s popover-fade-out;animation-fill-mode:forwards}@media (prefers-reduced-motion){.popover--closing .popover__backdrop{animation:none}}.popover--closing .popover__content{animation:0.15s popover-slide-out;animation-fill-mode:forwards}@media (min-width: 768px){.popover--closing .popover__content{animation:0.15s popover-fade-out}}@media (prefers-reduced-motion){.popover--closing .popover__content{animation:none}}.popover--inactive .popover__content{display:none}@media (max-width: 767px){.popover--fullscreen-bottom-sheet.popover--active:not(.popover--closing) .popover__content{animation:0.15s popover-fade-in}@media (prefers-reduced-motion){.popover--fullscreen-bottom-sheet.popover--active:not(.popover--closing) .popover__content{animation:none}}.popover--fullscreen-bottom-sheet.popover--closing .popover__content{animation:0.15s popover-fade-out;animation-fill-mode:forwards}@media (prefers-reduced-motion){.popover--fullscreen-bottom-sheet.popover--closing .popover__content{animation:none}}.popover--fullscreen-bottom-sheet .popover__backdrop{display:none}.popover--fullscreen-bottom-sheet .popover__content{top:0;border-top-left-radius:0;border-top-right-radius:0}.popover--fullscreen-bottom-sheet .popover__scroll-container{height:100%;max-height:none;padding-top:0;padding-bottom:0}.popover--fullscreen-bottom-sheet .popover__handle{display:none}}@media (min-width: 768px){.popover--animation-scale-in-y.popover--active:not(.popover--closing) .popover__content{animation:0.15s popover-fade-scale-in-y}}@media (prefers-reduced-motion){.popover--animation-scale-in-y.popover--active:not(.popover--closing) .popover__content{animation:none}}@media (min-width: 768px){.popover--animation-fade-in.popover--active:not(.popover--closing) .popover__content{animation:0.15s popover-fade-in}}@media (prefers-reduced-motion){.popover--animation-fade-in.popover--active:not(.popover--closing) .popover__content{animation:none}}@media (min-width: 768px){.popover--transparent .popover__content{background-color:transparent;box-shadow:none}}@media (min-width: 768px){.popover--transparent .popover__scroll-container{padding:0}}.popover__backdrop{position:fixed;z-index:0;background-color:rgba(0, 0, 0, 0.2);animation:0.15s popover-backdrop-fade-in;inset:0}@media (prefers-reduced-motion){.popover__backdrop{animation:none}}@media (min-width: 768px){.popover__backdrop{display:none}}.popover__content{position:fixed;z-index:2;right:0;bottom:0;left:0;overflow:hidden;border-top-left-radius:var(--s-border-radius-xl);border-top-right-radius:var(--s-border-radius-xl);background-color:var(--s-surface-overlay-default)}@media (min-width: 768px){.popover__content{right:unset;bottom:unset;left:unset;max-width:22.5rem;border-radius:var(--s-border-radius-base);animation:none;box-shadow:var(--s-shadow-level-2)}}.popover__scroll-container{overflow-x:hidden;overflow-y:auto;width:100%;max-height:90vh;padding-top:var(--s-space-24);padding-bottom:var(--s-space-24);overscroll-behavior:contain}@media (min-width: 768px){.popover__scroll-container{max-height:22rem;padding-top:0;padding-bottom:0}}@media (min-width: 768px){.popover--padded .popover__scroll-container{padding:var(--s-space-4)}}.popover__handle{position:absolute;top:var(--s-space-8);left:50%;width:2.5rem;height:0.375rem;border-radius:0.1875rem;background-color:var(--s-border-default);transform:translatex(-50%)}@media (min-width: 768px){.popover__handle{display:none}}@keyframes popover-slide-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes popover-slide-out{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes popover-fade-in{from{opacity:0}to{opacity:1}}@keyframes popover-fade-out{from{opacity:1}to{opacity:0}}@keyframes popover-fade-scale-in-xy{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes popover-fade-scale-in-y{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}";const b=class{constructor(e){o(this,e),this.hidePopoverWhenInvisible=!0,this.setAriaAttributes=!0,this.triggerOnClick=!0,this.triggerOnHover=!1,this.triggerIsActive=!1,this.popoverMouseEnter=()=>{this.stopHoverLingerTimer()},this.popoverMouseLeave=()=>{this.triggerIsActive&&this.mouseleaveHandler()},this.onMouseenter=()=>{this.triggerOnHover&&(this.stopHoverLingerTimer(),this.triggerIsActive=!0,this.hoverDelayReference=setTimeout((()=>{this.hoverDelayReference=void 0,this.triggerOnHover&&this.mouseenterHandler()}),this.hoverDelay))},this.mouseenterHandler=()=>{const o=this.getPopoverEl(),e=this.getTriggerEl();o.open(e,!0),o.addEventListener("popoverOpen",(()=>{this.updateTriggerElAriaAttributes(!0)}),{once:!0}),o.addEventListener("popoverClose",(()=>{this.updateTriggerElAriaAttributes(!1)}),{once:!0})},this.onMouseleave=()=>{clearTimeout(this.hoverDelayReference),this.mouseleaveHandler()},this.mouseleaveHandler=()=>{this.triggerOnHover&&this.startHoverLingerTimer()},this.onClick=()=>{if(!this.triggerOnClick)return;const o=this.getPopoverEl(),e=this.getTriggerEl();o.open(e),o.addEventListener("popoverOpen",(()=>{this.updateTriggerElAriaAttributes(!0)}),{once:!0}),o.addEventListener("popoverClose",(()=>{this.updateTriggerElAriaAttributes(!1)}),{once:!0})},this.updateTriggerElAriaAttributes=o=>{if(!this.setAriaAttributes)return;const e=this.getTriggerEl();if(!Boolean(e))return;const t=this.getPopoverEl()?.id;e.tagName.startsWith("SWIRL-")?(e.setAttribute("swirl-aria-controls",t),e.setAttribute("swirl-aria-expanded",String(o||"false")),e.setAttribute("swirl-aria-haspopup","dialog")):(e.setAttribute("aria-controls",t),e.setAttribute("aria-expanded",String(o||"false")),e.setAttribute("aria-haspopup","dialog"))}}componentDidLoad(){if(this.updateTriggerElAriaAttributes(),this.setupHoverListeners(),this.hidePopoverWhenInvisible){this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange.bind(this),{root:this.parentScrollContainer,threshold:1});const o=this.el.querySelector("*");if(!Boolean(o))return;this.intersectionObserver.observe(o)}}disconnectedCallback(){this.intersectionObserver?.disconnect();const o=this.getPopoverEl();Boolean(o)&&(o.removeEventListener("mouseenter",this.popoverMouseEnter),o.removeEventListener("mouseleave",this.popoverMouseLeave))}watchPopover(){this.updateTriggerElAriaAttributes()}watchHover(){clearTimeout(this.hoverDelayReference),clearTimeout(this.hoverLingerReference)}getPopoverEl(){return"string"==typeof this.swirlPopover?document.querySelector(`#${this.swirlPopover}`):this.swirlPopover?.el??this.swirlPopover}getTriggerEl(){return 1!==this.el.children.length&&console.warn('[Swirl] The "swirl-popover-trigger" component expects exactly one child element.'),this.el.children[0]}onVisibilityChange(o){!o[0].isIntersecting&&this.isPopoverOpen()&&this.getPopoverEl()?.close()}setupHoverListeners(){const o=this.getPopoverEl();Boolean(o)&&(o.addEventListener("mouseenter",this.popoverMouseEnter),o.addEventListener("mouseleave",this.popoverMouseLeave))}startHoverLingerTimer(){clearTimeout(this.hoverLingerReference),this.hoverLingerReference=setTimeout((()=>{this.triggerIsActive&&this.isPopoverOpen()&&this.getPopoverEl().close(!0),this.triggerIsActive=!1}),this.hoverLingerDuration)}stopHoverLingerTimer(){clearTimeout(this.hoverLingerReference)}isPopoverOpen(){const o=this.getPopoverEl(),e=o?.shadowRoot.firstChild?.classList.contains("popover--active");return e}render(){return t(i,{key:"d29a8367b14d3539999b84e5e853a5718f1e4b44",onClick:this.onClick,onMouseenter:this.onMouseenter,onMouseleave:this.onMouseleave},t("slot",{key:"614ece098209821558723743a5ddf9b230a7b222"}))}get el(){return s(this)}static get watchers(){return{swirlPopover:["watchPopover"],triggerOnHover:["watchHover"]}}};b.style=".sc-swirl-popover-trigger-h{display:contents}";export{g as swirl_popover,b as swirl_popover_trigger}