@getflip/swirl-components 0.78.1 → 0.80.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 (88) hide show
  1. package/components.json +140 -6
  2. package/dist/cjs/file-manager.cjs.entry.js +2 -1
  3. package/dist/cjs/index-506fe4ea.js +2 -2
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/swirl-app-layout_7.cjs.entry.js +7 -4
  6. package/dist/cjs/swirl-button.cjs.entry.js +3 -1
  7. package/dist/cjs/swirl-components.cjs.js +1 -1
  8. package/dist/cjs/swirl-date-input.cjs.entry.js +1 -1
  9. package/dist/cjs/swirl-lightbox.cjs.entry.js +1 -1
  10. package/dist/cjs/swirl-pdf-reader.cjs.entry.js +2 -2
  11. package/dist/cjs/{swirl-popover.cjs.entry.js → swirl-popover_2.cjs.entry.js} +105 -18
  12. package/dist/cjs/swirl-select.cjs.entry.js +2 -2
  13. package/dist/collection/assets/pdfjs/pdf.worker.min.js +22 -0
  14. package/dist/collection/collection-manifest.json +1 -0
  15. package/dist/collection/components/swirl-button/swirl-button.js +37 -1
  16. package/dist/collection/components/swirl-date-input/swirl-date-input.js +1 -1
  17. package/dist/collection/components/swirl-date-input/swirl-date-input.spec.js +6 -4
  18. package/dist/collection/components/swirl-lightbox/swirl-lightbox.js +1 -1
  19. package/dist/collection/components/swirl-lightbox/swirl-lightbox.spec.js +6 -4
  20. package/dist/collection/components/swirl-menu/swirl-menu.spec.js +38 -14
  21. package/dist/collection/components/swirl-menu/swirl-menu.stories.js +35 -33
  22. package/dist/collection/components/swirl-pdf-reader/swirl-pdf-reader.js +2 -2
  23. package/dist/collection/components/swirl-pdf-reader/swirl-pdf-reader.spec.js +4 -2
  24. package/dist/collection/components/swirl-popover/swirl-popover.js +53 -39
  25. package/dist/collection/components/swirl-popover/swirl-popover.spec.js +20 -11
  26. package/dist/collection/components/swirl-popover/swirl-popover.stories.js +8 -25
  27. package/dist/collection/components/swirl-popover-trigger/swirl-popover-trigger.css +3 -0
  28. package/dist/collection/components/swirl-popover-trigger/swirl-popover-trigger.js +132 -0
  29. package/dist/collection/components/swirl-popover-trigger/swirl-popover-trigger.spec.js +26 -0
  30. package/dist/collection/components/swirl-popover-trigger/swirl-popover-trigger.stories.js +48 -0
  31. package/dist/collection/components/swirl-resource-list-item/swirl-resource-list-item.css +7 -0
  32. package/dist/collection/components/swirl-resource-list-item/swirl-resource-list-item.js +7 -3
  33. package/dist/collection/components/swirl-resource-list-item/swirl-resource-list-item.spec.js +1 -0
  34. package/dist/collection/components/swirl-resource-list-item/swirl-resource-list-item.stories.js +29 -29
  35. package/dist/collection/components/swirl-select/swirl-select.js +2 -2
  36. package/dist/collection/components/swirl-select/swirl-select.spec.js +4 -2
  37. package/dist/collection/prototypes/file-manager/file-manager.js +4 -2
  38. package/dist/components/assets/pdfjs/pdf.worker.min.js +22 -0
  39. package/dist/components/file-manager.js +54 -46
  40. package/dist/components/swirl-button2.js +5 -1
  41. package/dist/components/swirl-date-input.js +13 -7
  42. package/dist/components/swirl-lightbox.js +21 -15
  43. package/dist/components/swirl-pdf-reader.js +48 -42
  44. package/dist/components/swirl-popover-trigger.d.ts +11 -0
  45. package/dist/components/swirl-popover-trigger.js +6 -0
  46. package/dist/components/swirl-popover-trigger2.js +99 -0
  47. package/dist/components/swirl-popover2.js +27 -19
  48. package/dist/components/swirl-resource-list-item2.js +19 -10
  49. package/dist/components/swirl-select.js +18 -12
  50. package/dist/esm/file-manager.entry.js +2 -1
  51. package/dist/esm/index-99d0060d.js +2 -2
  52. package/dist/esm/loader.js +1 -1
  53. package/dist/esm/swirl-app-layout_7.entry.js +7 -4
  54. package/dist/esm/swirl-button.entry.js +3 -1
  55. package/dist/esm/swirl-components.js +1 -1
  56. package/dist/esm/swirl-date-input.entry.js +1 -1
  57. package/dist/esm/swirl-lightbox.entry.js +1 -1
  58. package/dist/esm/swirl-pdf-reader.entry.js +2 -2
  59. package/dist/esm/{swirl-popover.entry.js → swirl-popover_2.entry.js} +105 -19
  60. package/dist/esm/swirl-select.entry.js +2 -2
  61. package/dist/swirl-components/p-0fce283f.entry.js +1 -0
  62. package/dist/swirl-components/p-2278aeae.entry.js +1 -0
  63. package/dist/swirl-components/p-251884ec.entry.js +1 -0
  64. package/dist/swirl-components/{p-a16a6381.entry.js → p-30ae7d5c.entry.js} +1 -1
  65. package/dist/swirl-components/p-3abcd491.entry.js +1 -0
  66. package/dist/swirl-components/p-6832ee6c.entry.js +1 -0
  67. package/dist/swirl-components/p-794d25e2.entry.js +1 -0
  68. package/dist/swirl-components/p-ed921838.entry.js +1 -0
  69. package/dist/swirl-components/swirl-components.esm.js +1 -1
  70. package/dist/types/components/swirl-button/swirl-button.d.ts +2 -0
  71. package/dist/types/components/swirl-popover/swirl-popover.d.ts +4 -5
  72. package/dist/types/components/swirl-popover/swirl-popover.stories.d.ts +0 -3
  73. package/dist/types/components/swirl-popover-trigger/swirl-popover-trigger.d.ts +13 -0
  74. package/dist/types/components/swirl-popover-trigger/swirl-popover-trigger.stories.d.ts +22 -0
  75. package/dist/types/components/swirl-resource-list-item/swirl-resource-list-item.d.ts +1 -0
  76. package/dist/types/components/swirl-resource-list-item/swirl-resource-list-item.stories.d.ts +8 -3
  77. package/dist/types/components.d.ts +26 -5
  78. package/dist/types/prototypes/file-manager/file-manager.d.ts +1 -0
  79. package/package.json +1 -1
  80. package/vscode-data.json +25 -0
  81. package/dist/swirl-components/p-8c507544.entry.js +0 -1
  82. package/dist/swirl-components/p-acd95936.entry.js +0 -1
  83. package/dist/swirl-components/p-b105d565.entry.js +0 -1
  84. package/dist/swirl-components/p-b28fadcf.entry.js +0 -1
  85. package/dist/swirl-components/p-d98edc75.entry.js +0 -1
  86. package/dist/swirl-components/p-ef50db1d.entry.js +0 -1
  87. package/dist/swirl-components/p-f990566c.entry.js +0 -1
  88. package/dist/typings.d.ts +0 -1
@@ -3,26 +3,27 @@ import { A as A11yDialog } from './a11y-dialog.esm.js';
3
3
  import { d as disableBodyScroll, e as enableBodyScroll } from './bodyScrollLock.esm.js';
4
4
  import { c as classnames } from './index2.js';
5
5
  import { q as querySelectorAllDeep, i as isMobileViewport } from './utils.js';
6
- import { d as defineCustomElement$q } from './swirl-action-list2.js';
7
- import { d as defineCustomElement$p } from './swirl-action-list-item2.js';
8
- import { d as defineCustomElement$o } from './swirl-button2.js';
9
- import { d as defineCustomElement$n } from './swirl-file-viewer2.js';
10
- import { d as defineCustomElement$m } from './swirl-file-viewer-audio2.js';
11
- import { d as defineCustomElement$l } from './swirl-file-viewer-csv2.js';
12
- import { d as defineCustomElement$k } from './swirl-file-viewer-image2.js';
13
- import { d as defineCustomElement$j } from './swirl-file-viewer-pdf2.js';
14
- import { d as defineCustomElement$i } from './swirl-file-viewer-text2.js';
15
- import { d as defineCustomElement$h } from './swirl-file-viewer-video2.js';
16
- import { d as defineCustomElement$g } from './swirl-icon-add2.js';
17
- import { d as defineCustomElement$f } from './swirl-icon-error2.js';
18
- import { d as defineCustomElement$e } from './swirl-icon-expand-more2.js';
19
- import { d as defineCustomElement$d } from './swirl-icon-file-copy2.js';
20
- import { d as defineCustomElement$c } from './swirl-icon-fullscreen2.js';
21
- import { d as defineCustomElement$b } from './swirl-icon-fullscreen-exit2.js';
22
- import { d as defineCustomElement$a } from './swirl-icon-menu-book2.js';
23
- import { d as defineCustomElement$9 } from './swirl-icon-remove2.js';
24
- import { d as defineCustomElement$8 } from './swirl-inline-error2.js';
25
- import { d as defineCustomElement$7 } from './swirl-popover2.js';
6
+ import { d as defineCustomElement$r } from './swirl-action-list2.js';
7
+ import { d as defineCustomElement$q } from './swirl-action-list-item2.js';
8
+ import { d as defineCustomElement$p } from './swirl-button2.js';
9
+ import { d as defineCustomElement$o } from './swirl-file-viewer2.js';
10
+ import { d as defineCustomElement$n } from './swirl-file-viewer-audio2.js';
11
+ import { d as defineCustomElement$m } from './swirl-file-viewer-csv2.js';
12
+ import { d as defineCustomElement$l } from './swirl-file-viewer-image2.js';
13
+ import { d as defineCustomElement$k } from './swirl-file-viewer-pdf2.js';
14
+ import { d as defineCustomElement$j } from './swirl-file-viewer-text2.js';
15
+ import { d as defineCustomElement$i } from './swirl-file-viewer-video2.js';
16
+ import { d as defineCustomElement$h } from './swirl-icon-add2.js';
17
+ import { d as defineCustomElement$g } from './swirl-icon-error2.js';
18
+ import { d as defineCustomElement$f } from './swirl-icon-expand-more2.js';
19
+ import { d as defineCustomElement$e } from './swirl-icon-file-copy2.js';
20
+ import { d as defineCustomElement$d } from './swirl-icon-fullscreen2.js';
21
+ import { d as defineCustomElement$c } from './swirl-icon-fullscreen-exit2.js';
22
+ import { d as defineCustomElement$b } from './swirl-icon-menu-book2.js';
23
+ import { d as defineCustomElement$a } from './swirl-icon-remove2.js';
24
+ import { d as defineCustomElement$9 } from './swirl-inline-error2.js';
25
+ import { d as defineCustomElement$8 } from './swirl-popover2.js';
26
+ import { d as defineCustomElement$7 } from './swirl-popover-trigger2.js';
26
27
  import { d as defineCustomElement$6 } from './swirl-separator2.js';
27
28
  import { d as defineCustomElement$5 } from './swirl-spinner2.js';
28
29
  import { d as defineCustomElement$4 } from './swirl-stack2.js';
@@ -193,12 +194,12 @@ const SwirlPdfReader$1 = /*@__PURE__*/ proxyCustomElement(class SwirlPdfReader e
193
194
  "pdf-reader--closing": this.closing,
194
195
  "pdf-reader--show-thumbnails": this.showThumbnails,
195
196
  });
196
- return (h(Host, null, h("section", { "aria-hidden": "true", "aria-label": this.label, class: className, id: "pdf-reader", onKeyDown: this.onKeyDown, ref: (el) => (this.modalEl = el) }, h("div", { class: "pdf-reader__body", role: "document" }, h("header", { class: "pdf-reader__header" }, h("span", { class: "pdf-reader__header-left" }, h("swirl-button", { class: "pdf-reader__close-button", hideLabel: true, icon: "<swirl-icon-close></swirl-icon-close>", label: this.closeButtonLabel, onClick: this.onCloseButtonClick }), h("span", { class: "pdf-reader__label" }, this.label)), h("span", { class: "pdf-reader__header-center" }, h("span", { class: "pdf-reader__zoom-button-container" }, h("swirl-button", { class: "pdf-reader__zoom-button", disabled: this.zoom === this.zoomSteps[0], hideLabel: true, icon: "<swirl-icon-remove></swirl-icon-remove>", label: this.zoomOutButtonLabel, onClick: this.onZoomOutButtonClick }), h("swirl-button", { class: "pdf-reader__zoom-button", disabled: this.zoom === this.zoomSteps[this.zoomSteps.length - 1], hideLabel: true, icon: "<swirl-icon-add></swirl-icon-add>", label: this.zoomInButtonLabel, onClick: this.onZoomInButtonClick })), h("span", { class: "pdf-reader__zoom-select-container" }, h("select", { "aria-label": this.zoomSelectLabel, class: "pdf-reader__zoom-select", name: "zoom-select", id: "zoom-select", onChange: this.onZoomChange }, h("option", { selected: this.zoom === "auto", value: "auto" }, this.autoZoomLabel), this.zoomSteps.map((zoom) => (h("option", { key: zoom, selected: this.zoom === zoom, value: zoom }, zoom * 100, "%")))), h("swirl-icon-expand-more", { class: "pdf-reader__zoom-select-icon" }))), h("span", { class: "pdf-reader__header-right" }, h("swirl-button", { class: "pdf-reader__menu-button", hideLabel: true, icon: "<swirl-icon-more-vertikal></swirl-icon-more-vertikal>", id: "menu-trigger", label: this.menuTriggerLabel })), h("span", { class: "pdf-reader__floating-tools" }, h("button", { "aria-label": this.sideBySideButtonLabel, class: "pdf-reader__floating-tool-button", onClick: this.toggleViewMode, type: "button" }, h("swirl-icon-menu-book", null)), h("button", { "aria-controls": "thumbnails", "aria-expanded": String(Boolean(this.showThumbnails)), "aria-label": this.thumbnailsButtonLabel, class: "pdf-reader__floating-tool-button", onClick: this.toggleThumbnals, type: "button" }, h("swirl-icon-file-copy", null)))), h("div", { class: "pdf-reader__content" }, h("nav", { "aria-label": this.thumbnailsLabel, class: "pdf-reader__thumbnails", id: "thumbnails" }, this.thumbnails.map((thumbnail, index) => {
197
+ return (h(Host, null, h("section", { "aria-hidden": "true", "aria-label": this.label, class: className, id: "pdf-reader", onKeyDown: this.onKeyDown, ref: (el) => (this.modalEl = el) }, h("div", { class: "pdf-reader__body", role: "document" }, h("header", { class: "pdf-reader__header" }, h("span", { class: "pdf-reader__header-left" }, h("swirl-button", { class: "pdf-reader__close-button", hideLabel: true, icon: "<swirl-icon-close></swirl-icon-close>", label: this.closeButtonLabel, onClick: this.onCloseButtonClick }), h("span", { class: "pdf-reader__label" }, this.label)), h("span", { class: "pdf-reader__header-center" }, h("span", { class: "pdf-reader__zoom-button-container" }, h("swirl-button", { class: "pdf-reader__zoom-button", disabled: this.zoom === this.zoomSteps[0], hideLabel: true, icon: "<swirl-icon-remove></swirl-icon-remove>", label: this.zoomOutButtonLabel, onClick: this.onZoomOutButtonClick }), h("swirl-button", { class: "pdf-reader__zoom-button", disabled: this.zoom === this.zoomSteps[this.zoomSteps.length - 1], hideLabel: true, icon: "<swirl-icon-add></swirl-icon-add>", label: this.zoomInButtonLabel, onClick: this.onZoomInButtonClick })), h("span", { class: "pdf-reader__zoom-select-container" }, h("select", { "aria-label": this.zoomSelectLabel, class: "pdf-reader__zoom-select", name: "zoom-select", id: "zoom-select", onChange: this.onZoomChange }, h("option", { selected: this.zoom === "auto", value: "auto" }, this.autoZoomLabel), this.zoomSteps.map((zoom) => (h("option", { key: zoom, selected: this.zoom === zoom, value: zoom }, zoom * 100, "%")))), h("swirl-icon-expand-more", { class: "pdf-reader__zoom-select-icon" }))), h("span", { class: "pdf-reader__header-right" }, h("swirl-popover-trigger", { popover: this.menu }, h("swirl-button", { class: "pdf-reader__menu-button", hideLabel: true, icon: "<swirl-icon-more-vertikal></swirl-icon-more-vertikal>", label: this.menuTriggerLabel }))), h("span", { class: "pdf-reader__floating-tools" }, h("button", { "aria-label": this.sideBySideButtonLabel, class: "pdf-reader__floating-tool-button", onClick: this.toggleViewMode, type: "button" }, h("swirl-icon-menu-book", null)), h("button", { "aria-controls": "thumbnails", "aria-expanded": String(Boolean(this.showThumbnails)), "aria-label": this.thumbnailsButtonLabel, class: "pdf-reader__floating-tool-button", onClick: this.toggleThumbnals, type: "button" }, h("swirl-icon-file-copy", null)))), h("div", { class: "pdf-reader__content" }, h("nav", { "aria-label": this.thumbnailsLabel, class: "pdf-reader__thumbnails", id: "thumbnails" }, this.thumbnails.map((thumbnail, index) => {
197
198
  const thumbnailClassName = classnames("pdf-reader__thumbnail", {
198
199
  "pdf-reader__thumbnail--active": this.visiblePages[0] === index + 1,
199
200
  });
200
201
  return (h("button", { "aria-label": `${this.thumbnailButtonLabel} ${index + 1}`, class: thumbnailClassName, onClick: this.onThumbnailClick(index), type: "button" }, h("img", { src: thumbnail.toDataURL("image/png"), alt: "" })));
201
- })), h("swirl-file-viewer", { active: this.active, class: "pdf-reader__viewer", file: this.file, onActivate: this.onActivate, onVisiblePagesChange: this.onVisiblePagesChange, ref: (el) => (this.viewer = el), type: "application/pdf", viewMode: this.viewMode, zoom: this.zoom }), h("div", { class: "pdf-reader__mobile-zoom-controls" }, h("button", { "aria-label": this.autoZoomLabel, class: "pdf-reader__mobile-zoom-button", onClick: this.onZoomAutoButtonClick, type: "button" }, this.zoom === "auto" ? (h("swirl-icon-fullscreen-exit", null)) : (h("swirl-icon-fullscreen", null))), h("button", { "aria-label": this.zoomInButtonLabel, class: "pdf-reader__mobile-zoom-button", disabled: this.zoom === this.zoomSteps[this.zoomSteps.length - 1], onClick: this.onZoomInButtonClick, type: "button" }, h("swirl-icon-add", null)), h("button", { "aria-label": this.zoomOutButtonLabel, class: "pdf-reader__mobile-zoom-button", disabled: this.zoom === this.zoomSteps[0], onClick: this.onZoomOutButtonClick, type: "button" }, h("swirl-icon-remove", null))))), h("swirl-popover", { animation: "scale-in-y", disableScrollLock: true, label: this.menuLabel, placement: "bottom-end", popoverId: "menu", ref: (el) => (this.menu = el), trigger: "menu-trigger" }, h("swirl-stack", null, h("div", { class: "pdf-reader__meta" }, h("div", { class: "pdf-reader__file-icon" }, h("svg", { fill: "none", height: "36", viewBox: "0 0 24 36", width: "24" }, h("path", { d: "M7.01755 21.6V15.192H8.39455C8.64655 15.192 8.86855 15.225 9.06055 15.291C9.25255 15.357 9.42655 15.474 9.58255 15.642C9.73855 15.81 9.84655 16.008 9.90655 16.236C9.96655 16.458 9.99655 16.761 9.99655 17.145C9.99655 17.433 9.97855 17.676 9.94255 17.874C9.91255 18.072 9.84355 18.258 9.73555 18.432C9.60955 18.642 9.44155 18.807 9.23155 18.927C9.02155 19.041 8.74555 19.098 8.40355 19.098H7.93555V21.6H7.01755ZM7.93555 16.056V18.234H8.37655C8.56255 18.234 8.70655 18.207 8.80855 18.153C8.91055 18.099 8.98555 18.024 9.03355 17.928C9.08155 17.838 9.10855 17.727 9.11455 17.595C9.12655 17.463 9.13255 17.316 9.13255 17.154C9.13255 17.004 9.12955 16.863 9.12355 16.731C9.11755 16.593 9.09055 16.473 9.04255 16.371C8.99455 16.269 8.92255 16.191 8.82655 16.137C8.73055 16.083 8.59255 16.056 8.41255 16.056H7.93555Z", fill: "white" }), h("path", { d: "M10.6826 21.6V15.192H12.0416C12.5696 15.192 12.9686 15.336 13.2386 15.624C13.5146 15.912 13.6526 16.32 13.6526 16.848V19.845C13.6526 20.445 13.5056 20.889 13.2116 21.177C12.9236 21.459 12.5066 21.6 11.9606 21.6H10.6826ZM11.6006 16.056V20.736H12.0236C12.2816 20.736 12.4646 20.673 12.5726 20.547C12.6806 20.415 12.7346 20.211 12.7346 19.935V16.848C12.7346 16.596 12.6836 16.401 12.5816 16.263C12.4796 16.125 12.2936 16.056 12.0236 16.056H11.6006Z", fill: "white" }), h("path", { d: "M14.5146 21.6V15.192H17.2506V16.056H15.4326V18H17.0166V18.864H15.4326V21.6H14.5146Z", fill: "white" }), h("path", { d: "M3.59961 9.00001C3.59961 8.0059 4.4055 7.20001 5.39961 7.20001H14.854C15.3314 7.20001 15.7893 7.38965 16.1268 7.72722L19.8724 11.4728C20.21 11.8104 20.3996 12.2682 20.3996 12.7456V27C20.3996 27.9941 19.5937 28.8 18.5996 28.8H5.39961C4.4055 28.8 3.59961 27.9941 3.59961 27V9.00001Z", fill: "#FF574D" }), h("path", { d: "M15.5996 7.36166V10.2C15.5996 11.1941 16.4055 12 17.3996 12H20.2379C20.3237 12.1884 20.3768 12.3913 20.3937 12.6H17.3996C16.0785 12.6 15.0067 11.5325 14.9996 10.213L14.9996 7.20587C15.2083 7.2228 15.4112 7.27593 15.5996 7.36166Z", fill: "white" }), h("path", { d: "M7.01755 21.6V15.192H8.39455C8.64655 15.192 8.86855 15.225 9.06055 15.291C9.25255 15.357 9.42655 15.474 9.58255 15.642C9.73855 15.81 9.84655 16.008 9.90655 16.236C9.96655 16.458 9.99655 16.761 9.99655 17.145C9.99655 17.433 9.97855 17.676 9.94255 17.874C9.91255 18.072 9.84355 18.258 9.73555 18.432C9.60955 18.642 9.44155 18.807 9.23155 18.927C9.02155 19.041 8.74555 19.098 8.40355 19.098H7.93555V21.6H7.01755ZM7.93555 16.056V18.234H8.37655C8.56255 18.234 8.70655 18.207 8.80855 18.153C8.91055 18.099 8.98555 18.024 9.03355 17.928C9.08155 17.838 9.10855 17.727 9.11455 17.595C9.12655 17.463 9.13255 17.316 9.13255 17.154C9.13255 17.004 9.12955 16.863 9.12355 16.731C9.11755 16.593 9.09055 16.473 9.04255 16.371C8.99455 16.269 8.92255 16.191 8.82655 16.137C8.73055 16.083 8.59255 16.056 8.41255 16.056H7.93555Z", fill: "white" }), h("path", { d: "M10.6826 21.6V15.192H12.0416C12.5696 15.192 12.9686 15.336 13.2386 15.624C13.5146 15.912 13.6526 16.32 13.6526 16.848V19.845C13.6526 20.445 13.5056 20.889 13.2116 21.177C12.9236 21.459 12.5066 21.6 11.9606 21.6H10.6826ZM11.6006 16.056V20.736H12.0236C12.2816 20.736 12.4646 20.673 12.5726 20.547C12.6806 20.415 12.7346 20.211 12.7346 19.935V16.848C12.7346 16.596 12.6836 16.401 12.5816 16.263C12.4796 16.125 12.2936 16.056 12.0236 16.056H11.6006Z", fill: "white" }), h("path", { d: "M14.5146 21.6V15.192H17.2506V16.056H15.4326V18H17.0166V18.864H15.4326V21.6H14.5146Z", fill: "white" }))), h("div", { class: "pdf-reader__file-info" }, h("swirl-text", { truncate: true, weight: "semibold" }, this.label), h("swirl-text", { color: "subdued", size: "sm", truncate: true }, this.fileTypeLabel))), h("swirl-separator", null), h("swirl-action-list", null, h("swirl-action-list-item", { class: "pdf-reader__print-button", icon: "<swirl-icon-print></swirl-icon-print>", label: this.printButtonLabel, onClick: this.onPrintButtonClick }), h("swirl-action-list-item", { class: "pdf-reader__download-button", disabled: this.downloading, icon: !this.downloading
202
+ })), h("swirl-file-viewer", { active: this.active, class: "pdf-reader__viewer", file: this.file, onActivate: this.onActivate, onVisiblePagesChange: this.onVisiblePagesChange, ref: (el) => (this.viewer = el), type: "application/pdf", viewMode: this.viewMode, zoom: this.zoom }), h("div", { class: "pdf-reader__mobile-zoom-controls" }, h("button", { "aria-label": this.autoZoomLabel, class: "pdf-reader__mobile-zoom-button", onClick: this.onZoomAutoButtonClick, type: "button" }, this.zoom === "auto" ? (h("swirl-icon-fullscreen-exit", null)) : (h("swirl-icon-fullscreen", null))), h("button", { "aria-label": this.zoomInButtonLabel, class: "pdf-reader__mobile-zoom-button", disabled: this.zoom === this.zoomSteps[this.zoomSteps.length - 1], onClick: this.onZoomInButtonClick, type: "button" }, h("swirl-icon-add", null)), h("button", { "aria-label": this.zoomOutButtonLabel, class: "pdf-reader__mobile-zoom-button", disabled: this.zoom === this.zoomSteps[0], onClick: this.onZoomOutButtonClick, type: "button" }, h("swirl-icon-remove", null))))), h("swirl-popover", { animation: "scale-in-y", disableScrollLock: true, id: "menu", label: this.menuLabel, placement: "bottom-end", ref: (el) => (this.menu = el) }, h("swirl-stack", null, h("div", { class: "pdf-reader__meta" }, h("div", { class: "pdf-reader__file-icon" }, h("svg", { fill: "none", height: "36", viewBox: "0 0 24 36", width: "24" }, h("path", { d: "M7.01755 21.6V15.192H8.39455C8.64655 15.192 8.86855 15.225 9.06055 15.291C9.25255 15.357 9.42655 15.474 9.58255 15.642C9.73855 15.81 9.84655 16.008 9.90655 16.236C9.96655 16.458 9.99655 16.761 9.99655 17.145C9.99655 17.433 9.97855 17.676 9.94255 17.874C9.91255 18.072 9.84355 18.258 9.73555 18.432C9.60955 18.642 9.44155 18.807 9.23155 18.927C9.02155 19.041 8.74555 19.098 8.40355 19.098H7.93555V21.6H7.01755ZM7.93555 16.056V18.234H8.37655C8.56255 18.234 8.70655 18.207 8.80855 18.153C8.91055 18.099 8.98555 18.024 9.03355 17.928C9.08155 17.838 9.10855 17.727 9.11455 17.595C9.12655 17.463 9.13255 17.316 9.13255 17.154C9.13255 17.004 9.12955 16.863 9.12355 16.731C9.11755 16.593 9.09055 16.473 9.04255 16.371C8.99455 16.269 8.92255 16.191 8.82655 16.137C8.73055 16.083 8.59255 16.056 8.41255 16.056H7.93555Z", fill: "white" }), h("path", { d: "M10.6826 21.6V15.192H12.0416C12.5696 15.192 12.9686 15.336 13.2386 15.624C13.5146 15.912 13.6526 16.32 13.6526 16.848V19.845C13.6526 20.445 13.5056 20.889 13.2116 21.177C12.9236 21.459 12.5066 21.6 11.9606 21.6H10.6826ZM11.6006 16.056V20.736H12.0236C12.2816 20.736 12.4646 20.673 12.5726 20.547C12.6806 20.415 12.7346 20.211 12.7346 19.935V16.848C12.7346 16.596 12.6836 16.401 12.5816 16.263C12.4796 16.125 12.2936 16.056 12.0236 16.056H11.6006Z", fill: "white" }), h("path", { d: "M14.5146 21.6V15.192H17.2506V16.056H15.4326V18H17.0166V18.864H15.4326V21.6H14.5146Z", fill: "white" }), h("path", { d: "M3.59961 9.00001C3.59961 8.0059 4.4055 7.20001 5.39961 7.20001H14.854C15.3314 7.20001 15.7893 7.38965 16.1268 7.72722L19.8724 11.4728C20.21 11.8104 20.3996 12.2682 20.3996 12.7456V27C20.3996 27.9941 19.5937 28.8 18.5996 28.8H5.39961C4.4055 28.8 3.59961 27.9941 3.59961 27V9.00001Z", fill: "#FF574D" }), h("path", { d: "M15.5996 7.36166V10.2C15.5996 11.1941 16.4055 12 17.3996 12H20.2379C20.3237 12.1884 20.3768 12.3913 20.3937 12.6H17.3996C16.0785 12.6 15.0067 11.5325 14.9996 10.213L14.9996 7.20587C15.2083 7.2228 15.4112 7.27593 15.5996 7.36166Z", fill: "white" }), h("path", { d: "M7.01755 21.6V15.192H8.39455C8.64655 15.192 8.86855 15.225 9.06055 15.291C9.25255 15.357 9.42655 15.474 9.58255 15.642C9.73855 15.81 9.84655 16.008 9.90655 16.236C9.96655 16.458 9.99655 16.761 9.99655 17.145C9.99655 17.433 9.97855 17.676 9.94255 17.874C9.91255 18.072 9.84355 18.258 9.73555 18.432C9.60955 18.642 9.44155 18.807 9.23155 18.927C9.02155 19.041 8.74555 19.098 8.40355 19.098H7.93555V21.6H7.01755ZM7.93555 16.056V18.234H8.37655C8.56255 18.234 8.70655 18.207 8.80855 18.153C8.91055 18.099 8.98555 18.024 9.03355 17.928C9.08155 17.838 9.10855 17.727 9.11455 17.595C9.12655 17.463 9.13255 17.316 9.13255 17.154C9.13255 17.004 9.12955 16.863 9.12355 16.731C9.11755 16.593 9.09055 16.473 9.04255 16.371C8.99455 16.269 8.92255 16.191 8.82655 16.137C8.73055 16.083 8.59255 16.056 8.41255 16.056H7.93555Z", fill: "white" }), h("path", { d: "M10.6826 21.6V15.192H12.0416C12.5696 15.192 12.9686 15.336 13.2386 15.624C13.5146 15.912 13.6526 16.32 13.6526 16.848V19.845C13.6526 20.445 13.5056 20.889 13.2116 21.177C12.9236 21.459 12.5066 21.6 11.9606 21.6H10.6826ZM11.6006 16.056V20.736H12.0236C12.2816 20.736 12.4646 20.673 12.5726 20.547C12.6806 20.415 12.7346 20.211 12.7346 19.935V16.848C12.7346 16.596 12.6836 16.401 12.5816 16.263C12.4796 16.125 12.2936 16.056 12.0236 16.056H11.6006Z", fill: "white" }), h("path", { d: "M14.5146 21.6V15.192H17.2506V16.056H15.4326V18H17.0166V18.864H15.4326V21.6H14.5146Z", fill: "white" }))), h("div", { class: "pdf-reader__file-info" }, h("swirl-text", { truncate: true, weight: "semibold" }, this.label), h("swirl-text", { color: "subdued", size: "sm", truncate: true }, this.fileTypeLabel))), h("swirl-separator", null), h("swirl-action-list", null, h("swirl-action-list-item", { class: "pdf-reader__print-button", icon: "<swirl-icon-print></swirl-icon-print>", label: this.printButtonLabel, onClick: this.onPrintButtonClick }), h("swirl-action-list-item", { class: "pdf-reader__download-button", disabled: this.downloading, icon: !this.downloading
202
203
  ? "<swirl-icon-download></swirl-icon-download>"
203
204
  : '<swirl-spinner size="xs"></swirl-spinner>', label: this.downloadButtonLabel, onClick: this.onDownloadButtonClick }), h("slot", { name: "menu-items" })))))));
204
205
  }
@@ -237,7 +238,7 @@ function defineCustomElement$1() {
237
238
  if (typeof customElements === "undefined") {
238
239
  return;
239
240
  }
240
- const components = ["swirl-pdf-reader", "swirl-action-list", "swirl-action-list-item", "swirl-button", "swirl-file-viewer", "swirl-file-viewer-audio", "swirl-file-viewer-csv", "swirl-file-viewer-image", "swirl-file-viewer-pdf", "swirl-file-viewer-text", "swirl-file-viewer-video", "swirl-icon-add", "swirl-icon-error", "swirl-icon-expand-more", "swirl-icon-file-copy", "swirl-icon-fullscreen", "swirl-icon-fullscreen-exit", "swirl-icon-menu-book", "swirl-icon-remove", "swirl-inline-error", "swirl-popover", "swirl-separator", "swirl-spinner", "swirl-stack", "swirl-text", "swirl-visually-hidden"];
241
+ const components = ["swirl-pdf-reader", "swirl-action-list", "swirl-action-list-item", "swirl-button", "swirl-file-viewer", "swirl-file-viewer-audio", "swirl-file-viewer-csv", "swirl-file-viewer-image", "swirl-file-viewer-pdf", "swirl-file-viewer-text", "swirl-file-viewer-video", "swirl-icon-add", "swirl-icon-error", "swirl-icon-expand-more", "swirl-icon-file-copy", "swirl-icon-fullscreen", "swirl-icon-fullscreen-exit", "swirl-icon-menu-book", "swirl-icon-remove", "swirl-inline-error", "swirl-popover", "swirl-popover-trigger", "swirl-separator", "swirl-spinner", "swirl-stack", "swirl-text", "swirl-visually-hidden"];
241
242
  components.forEach(tagName => { switch (tagName) {
242
243
  case "swirl-pdf-reader":
243
244
  if (!customElements.get(tagName)) {
@@ -246,100 +247,105 @@ function defineCustomElement$1() {
246
247
  break;
247
248
  case "swirl-action-list":
248
249
  if (!customElements.get(tagName)) {
249
- defineCustomElement$q();
250
+ defineCustomElement$r();
250
251
  }
251
252
  break;
252
253
  case "swirl-action-list-item":
253
254
  if (!customElements.get(tagName)) {
254
- defineCustomElement$p();
255
+ defineCustomElement$q();
255
256
  }
256
257
  break;
257
258
  case "swirl-button":
258
259
  if (!customElements.get(tagName)) {
259
- defineCustomElement$o();
260
+ defineCustomElement$p();
260
261
  }
261
262
  break;
262
263
  case "swirl-file-viewer":
263
264
  if (!customElements.get(tagName)) {
264
- defineCustomElement$n();
265
+ defineCustomElement$o();
265
266
  }
266
267
  break;
267
268
  case "swirl-file-viewer-audio":
268
269
  if (!customElements.get(tagName)) {
269
- defineCustomElement$m();
270
+ defineCustomElement$n();
270
271
  }
271
272
  break;
272
273
  case "swirl-file-viewer-csv":
273
274
  if (!customElements.get(tagName)) {
274
- defineCustomElement$l();
275
+ defineCustomElement$m();
275
276
  }
276
277
  break;
277
278
  case "swirl-file-viewer-image":
278
279
  if (!customElements.get(tagName)) {
279
- defineCustomElement$k();
280
+ defineCustomElement$l();
280
281
  }
281
282
  break;
282
283
  case "swirl-file-viewer-pdf":
283
284
  if (!customElements.get(tagName)) {
284
- defineCustomElement$j();
285
+ defineCustomElement$k();
285
286
  }
286
287
  break;
287
288
  case "swirl-file-viewer-text":
288
289
  if (!customElements.get(tagName)) {
289
- defineCustomElement$i();
290
+ defineCustomElement$j();
290
291
  }
291
292
  break;
292
293
  case "swirl-file-viewer-video":
293
294
  if (!customElements.get(tagName)) {
294
- defineCustomElement$h();
295
+ defineCustomElement$i();
295
296
  }
296
297
  break;
297
298
  case "swirl-icon-add":
298
299
  if (!customElements.get(tagName)) {
299
- defineCustomElement$g();
300
+ defineCustomElement$h();
300
301
  }
301
302
  break;
302
303
  case "swirl-icon-error":
303
304
  if (!customElements.get(tagName)) {
304
- defineCustomElement$f();
305
+ defineCustomElement$g();
305
306
  }
306
307
  break;
307
308
  case "swirl-icon-expand-more":
308
309
  if (!customElements.get(tagName)) {
309
- defineCustomElement$e();
310
+ defineCustomElement$f();
310
311
  }
311
312
  break;
312
313
  case "swirl-icon-file-copy":
313
314
  if (!customElements.get(tagName)) {
314
- defineCustomElement$d();
315
+ defineCustomElement$e();
315
316
  }
316
317
  break;
317
318
  case "swirl-icon-fullscreen":
318
319
  if (!customElements.get(tagName)) {
319
- defineCustomElement$c();
320
+ defineCustomElement$d();
320
321
  }
321
322
  break;
322
323
  case "swirl-icon-fullscreen-exit":
323
324
  if (!customElements.get(tagName)) {
324
- defineCustomElement$b();
325
+ defineCustomElement$c();
325
326
  }
326
327
  break;
327
328
  case "swirl-icon-menu-book":
328
329
  if (!customElements.get(tagName)) {
329
- defineCustomElement$a();
330
+ defineCustomElement$b();
330
331
  }
331
332
  break;
332
333
  case "swirl-icon-remove":
333
334
  if (!customElements.get(tagName)) {
334
- defineCustomElement$9();
335
+ defineCustomElement$a();
335
336
  }
336
337
  break;
337
338
  case "swirl-inline-error":
338
339
  if (!customElements.get(tagName)) {
339
- defineCustomElement$8();
340
+ defineCustomElement$9();
340
341
  }
341
342
  break;
342
343
  case "swirl-popover":
344
+ if (!customElements.get(tagName)) {
345
+ defineCustomElement$8();
346
+ }
347
+ break;
348
+ case "swirl-popover-trigger":
343
349
  if (!customElements.get(tagName)) {
344
350
  defineCustomElement$7();
345
351
  }
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface SwirlPopoverTrigger extends Components.SwirlPopoverTrigger, HTMLElement {}
4
+ export const SwirlPopoverTrigger: {
5
+ prototype: SwirlPopoverTrigger;
6
+ new (): SwirlPopoverTrigger;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,6 @@
1
+ import { S as SwirlPopoverTrigger$1, d as defineCustomElement$1 } from './swirl-popover-trigger2.js';
2
+
3
+ const SwirlPopoverTrigger = SwirlPopoverTrigger$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { SwirlPopoverTrigger, defineCustomElement };
@@ -0,0 +1,99 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const swirlPopoverTriggerCss = ".sc-swirl-popover-trigger-h{display:contents}";
4
+
5
+ const SwirlPopoverTrigger = /*@__PURE__*/ proxyCustomElement(class SwirlPopoverTrigger extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.popoverOpen = false;
10
+ this.onClick = (event) => {
11
+ event.stopPropagation();
12
+ const popoverEl = this.getPopoverEl();
13
+ if (!Boolean(popoverEl)) {
14
+ return;
15
+ }
16
+ if (this.popoverOpen) {
17
+ popoverEl.close();
18
+ return;
19
+ }
20
+ const triggerEl = this.getTriggerEl();
21
+ if (!Boolean(triggerEl)) {
22
+ return;
23
+ }
24
+ popoverEl.open(triggerEl);
25
+ popoverEl.addEventListener("popoverOpen", () => {
26
+ this.popoverOpen = true;
27
+ this.updateTriggerElAriaAttributes(true);
28
+ }, { once: true });
29
+ popoverEl.addEventListener("popoverClose", () => {
30
+ this.popoverOpen = false;
31
+ this.updateTriggerElAriaAttributes(false);
32
+ }, { once: true });
33
+ };
34
+ this.updateTriggerElAriaAttributes = (open) => {
35
+ var _a;
36
+ if (!this.setAriaAttributes) {
37
+ return;
38
+ }
39
+ const triggerEl = this.getTriggerEl();
40
+ const popoverId = typeof this.popover === "string" ? this.popover : (_a = this.popover) === null || _a === void 0 ? void 0 : _a.id;
41
+ if (triggerEl.tagName.startsWith("SWIRL-")) {
42
+ triggerEl.setAttribute("swirl-aria-controls", popoverId);
43
+ triggerEl.setAttribute("swirl-aria-expanded", String(open || "false"));
44
+ triggerEl.setAttribute("swirl-aria-haspopup", "dialog");
45
+ }
46
+ else {
47
+ triggerEl.setAttribute("aria-controls", popoverId);
48
+ triggerEl.setAttribute("aria-expanded", String(open || "false"));
49
+ triggerEl.setAttribute("aria-haspopup", "dialog");
50
+ }
51
+ };
52
+ this.popover = undefined;
53
+ this.setAriaAttributes = true;
54
+ }
55
+ componentDidLoad() {
56
+ this.updateTriggerElAriaAttributes();
57
+ }
58
+ watchPopover() {
59
+ this.updateTriggerElAriaAttributes();
60
+ }
61
+ getPopoverEl() {
62
+ return typeof this.popover === "string"
63
+ ? document.querySelector(`#${this.popover}`)
64
+ : this.popover;
65
+ }
66
+ getTriggerEl() {
67
+ if (this.el.children.length !== 1) {
68
+ console.warn('[Swirl] The "swirl-popover-trigger" component expects exactly one child element.');
69
+ }
70
+ return this.el.children[0];
71
+ }
72
+ render() {
73
+ return (h(Host, { onClick: this.onClick }, h("slot", null)));
74
+ }
75
+ get el() { return this; }
76
+ static get watchers() { return {
77
+ "popover": ["watchPopover"]
78
+ }; }
79
+ static get style() { return swirlPopoverTriggerCss; }
80
+ }, [6, "swirl-popover-trigger", {
81
+ "popover": [1],
82
+ "setAriaAttributes": [4, "set-aria-attributes"]
83
+ }]);
84
+ function defineCustomElement() {
85
+ if (typeof customElements === "undefined") {
86
+ return;
87
+ }
88
+ const components = ["swirl-popover-trigger"];
89
+ components.forEach(tagName => { switch (tagName) {
90
+ case "swirl-popover-trigger":
91
+ if (!customElements.get(tagName)) {
92
+ customElements.define(tagName, SwirlPopoverTrigger);
93
+ }
94
+ break;
95
+ } });
96
+ }
97
+ defineCustomElement();
98
+
99
+ export { SwirlPopoverTrigger as S, defineCustomElement as d };
@@ -59,8 +59,8 @@ const SwirlPopover = /*@__PURE__*/ proxyCustomElement(class SwirlPopover extends
59
59
  this.label = undefined;
60
60
  this.maxHeight = "22rem";
61
61
  this.offset = 8;
62
- this.placement = "bottom-start";
63
62
  this.popoverId = undefined;
63
+ this.placement = "bottom-start";
64
64
  this.trigger = undefined;
65
65
  this.triggerContainer = undefined;
66
66
  this.useContainerWidth = undefined;
@@ -70,13 +70,16 @@ const SwirlPopover = /*@__PURE__*/ proxyCustomElement(class SwirlPopover extends
70
70
  }
71
71
  componentDidLoad() {
72
72
  this.connectTrigger();
73
- this.updateFocusableChildren();
74
73
  this.updateTriggerAttributes();
74
+ if (Boolean(this.trigger)) {
75
+ 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');
76
+ }
75
77
  }
76
78
  disconnectedCallback() {
77
79
  this.unlockBodyScroll();
78
80
  }
79
81
  onWindowFocusIn(event) {
82
+ var _a;
80
83
  if (!this.active) {
81
84
  return;
82
85
  }
@@ -87,7 +90,7 @@ const SwirlPopover = /*@__PURE__*/ proxyCustomElement(class SwirlPopover extends
87
90
  const popoverLostFocus = !this.el.contains(target) &&
88
91
  !this.el.contains(activeElement) &&
89
92
  target !== this.triggerEl &&
90
- !this.triggerEl.contains(target) &&
93
+ !((_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.contains(target)) &&
91
94
  (!isSafari ||
92
95
  (isSafari &&
93
96
  !this.el.contains(relatedTarget || target) &&
@@ -107,7 +110,7 @@ const SwirlPopover = /*@__PURE__*/ proxyCustomElement(class SwirlPopover extends
107
110
  .some((el) => Boolean(el) && el instanceof Node
108
111
  ? this.el.contains(el)
109
112
  : false);
110
- const clickedTrigger = event.target === this.triggerEl;
113
+ const clickedTrigger = target === this.triggerEl;
111
114
  if (!clickedChild && !clickedShadowChild && !clickedTrigger) {
112
115
  this.close();
113
116
  }
@@ -138,19 +141,20 @@ const SwirlPopover = /*@__PURE__*/ proxyCustomElement(class SwirlPopover extends
138
141
  * Open the popover.
139
142
  * @returns
140
143
  */
141
- async open() {
142
- if (this.active) {
144
+ async open(triggerEl) {
145
+ this.triggerEl = triggerEl || this.triggerEl;
146
+ if (this.active || !Boolean(this.triggerEl)) {
143
147
  return;
144
148
  }
145
149
  this.adjustWidth();
146
150
  this.active = true;
147
- this.updateFocusableChildren();
148
151
  this.updateTriggerAttributes();
152
+ const focusableChildren = this.getFocusableChildren();
149
153
  requestAnimationFrame(async () => {
150
154
  await this.reposition();
151
155
  this.popoverOpen.emit({ position: this.position });
152
- if (this.focusableChildren.length > 0) {
153
- this.focusableChildren[0].focus();
156
+ if (focusableChildren.length > 0) {
157
+ focusableChildren[0].focus();
154
158
  }
155
159
  else {
156
160
  this.contentContainer.focus();
@@ -158,12 +162,16 @@ const SwirlPopover = /*@__PURE__*/ proxyCustomElement(class SwirlPopover extends
158
162
  if (this.disableAutoUpdate) {
159
163
  this.disableAutoUpdate();
160
164
  }
161
- this.disableAutoUpdate = autoUpdate(this.triggerEl, this.contentContainer, this.reposition);
165
+ this.disableAutoUpdate = autoUpdate(this.triggerEl, this.contentContainer, () => this.reposition());
162
166
  this.scrollContainer.scrollTop = 0;
163
167
  this.lockBodyScroll();
164
168
  });
165
169
  }
166
170
  connectTrigger() {
171
+ if (!Boolean(this.trigger)) {
172
+ this.triggerEl = undefined;
173
+ return;
174
+ }
167
175
  this.triggerEl =
168
176
  typeof this.trigger === "string"
169
177
  ? querySelectorAllDeep(this.triggerContainer || document.body, `#${this.trigger}`)[0]
@@ -176,10 +184,10 @@ const SwirlPopover = /*@__PURE__*/ proxyCustomElement(class SwirlPopover extends
176
184
  });
177
185
  }
178
186
  getNativeTriggerElement() {
179
- var _a, _b, _c;
180
- return this.triggerEl.tagName.startsWith("SWIRL-")
181
- ? (((_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.children[0]) ||
182
- ((_c = (_b = this.triggerEl) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.children[0]) ||
187
+ var _a, _b, _c, _d;
188
+ return ((_a = this.triggerEl) === null || _a === void 0 ? void 0 : _a.tagName.startsWith("SWIRL-"))
189
+ ? (((_b = this.triggerEl) === null || _b === void 0 ? void 0 : _b.children[0]) ||
190
+ ((_d = (_c = this.triggerEl) === null || _c === void 0 ? void 0 : _c.shadowRoot) === null || _d === void 0 ? void 0 : _d.children[0]) ||
183
191
  this.triggerEl)
184
192
  : this.triggerEl;
185
193
  }
@@ -188,12 +196,12 @@ const SwirlPopover = /*@__PURE__*/ proxyCustomElement(class SwirlPopover extends
188
196
  return;
189
197
  }
190
198
  const nativeTriggerEl = this.getNativeTriggerElement();
191
- nativeTriggerEl.setAttribute("aria-controls", this.popoverId);
199
+ nativeTriggerEl.setAttribute("aria-controls", this.el.id);
192
200
  nativeTriggerEl.setAttribute("aria-expanded", String(this.active));
193
201
  nativeTriggerEl.setAttribute("aria-haspopup", "dialog");
194
202
  }
195
- updateFocusableChildren() {
196
- this.focusableChildren = querySelectorAllDeep(this.el, '[role="menuitem"], [role="listbox"]');
203
+ getFocusableChildren() {
204
+ return querySelectorAllDeep(this.el, '[role="menuitem"], [role="listbox"]');
197
205
  }
198
206
  adjustWidth() {
199
207
  let useContainerWidth = this.useContainerWidth;
@@ -240,7 +248,7 @@ const SwirlPopover = /*@__PURE__*/ proxyCustomElement(class SwirlPopover extends
240
248
  "popover--fullscreen-bottom-sheet": this.fullscreenBottomSheet,
241
249
  "popover--inactive": !this.active,
242
250
  });
243
- return (h(Host, { id: this.popoverId }, h("div", { class: className, onKeyDown: this.onKeydown }, h("div", { "aria-hidden": !this.active ? "true" : "false", "aria-label": this.label, class: "popover__content", part: "popover__content", role: "dialog", ref: (el) => (this.contentContainer = el), style: {
251
+ return (h(Host, null, h("div", { class: className, onKeyDown: this.onKeydown }, h("div", { "aria-hidden": !this.active ? "true" : "false", "aria-label": this.label, class: "popover__content", id: this.popoverId, part: "popover__content", role: "dialog", ref: (el) => (this.contentContainer = el), style: {
244
252
  top: Boolean(this.position) ? `${(_b = this.position) === null || _b === void 0 ? void 0 : _b.y}px` : "",
245
253
  left: Boolean(this.position) ? `${(_c = this.position) === null || _c === void 0 ? void 0 : _c.x}px` : "",
246
254
  }, tabindex: "-1" }, h("span", { class: "popover__handle" }), h("div", { class: "popover__scroll-container", ref: (el) => (this.scrollContainer = el), style: {
@@ -259,8 +267,8 @@ const SwirlPopover = /*@__PURE__*/ proxyCustomElement(class SwirlPopover extends
259
267
  "label": [1],
260
268
  "maxHeight": [1, "max-height"],
261
269
  "offset": [2],
262
- "placement": [1],
263
270
  "popoverId": [1, "popover-id"],
271
+ "placement": [1],
264
272
  "trigger": [1],
265
273
  "triggerContainer": [16],
266
274
  "useContainerWidth": [8, "use-container-width"],
@@ -1,11 +1,12 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as classnames } from './index2.js';
3
3
  import { g as getDesktopMediaQuery } from './utils.js';
4
- import { d as defineCustomElement$3 } from './swirl-button2.js';
5
- import { d as defineCustomElement$2 } from './swirl-icon-check-strong2.js';
6
- import { d as defineCustomElement$1 } from './swirl-icon-drag-handle2.js';
4
+ import { d as defineCustomElement$4 } from './swirl-button2.js';
5
+ import { d as defineCustomElement$3 } from './swirl-icon-check-strong2.js';
6
+ import { d as defineCustomElement$2 } from './swirl-icon-drag-handle2.js';
7
+ import { d as defineCustomElement$1 } from './swirl-popover-trigger2.js';
7
8
 
8
- const swirlResourceListItemCss = ".sc-swirl-resource-list-item-h{position:relative;display:block;width:100%}.sc-swirl-resource-list-item-h *.sc-swirl-resource-list-item{box-sizing:border-box}.resource-list-item.sc-swirl-resource-list-item{position:relative;width:100%}.resource-list-item--interactive.sc-swirl-resource-list-item:hover{--swirl-ghost-button-background-default:var(--s-background-hovered)}.resource-list-item--interactive.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item{cursor:pointer}.resource-list-item--interactive.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item:disabled{cursor:default}.resource-list-item--interactive.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item:hover:not(:disabled){background-color:var(--swirl-resource-list-item-background-hovered)}.resource-list-item--interactive.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item:hover:not(:disabled) .resource-list-item__media.sc-swirl-resource-list-item{--swirl-avatar-background-color:var(--s-surface-raised-hovered);--swirl-avatar-group-border-color:var(--s-background-hovered);--swirl-badge-border-color:var(--s-background-hovered)}.resource-list-item--interactive.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item:active:not(:disabled){background-color:var(--swirl-resource-list-item-background-pressed)}.resource-list-item--interactive.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item:active:not(:disabled) .resource-list-item__media.sc-swirl-resource-list-item{--swirl-avatar-group-border-color:var(--s-background-pressed);--swirl-badge-border-color:var(--s-background-pressed)}.resource-list-item--checked.sc-swirl-resource-list-item .resource-list-item__checkbox.sc-swirl-resource-list-item{border-color:var(--s-icon-highlight);color:var(--s-text-on-status);background-color:var(--s-icon-highlight)}.resource-list-item--has-menu.sc-swirl-resource-list-item .resource-list-item__label-container.sc-swirl-resource-list-item{padding-right:calc(var(--s-space-16) + 2.5rem + var(--s-space-12))}@media (min-width: 768px){.resource-list-item--selectable.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item{padding-left:calc(var(--s-space-16) + 1.5rem + var(--s-space-12))}}.resource-list-item--selectable.sc-swirl-resource-list-item .resource-list-item__label-container.sc-swirl-resource-list-item{padding-right:calc(var(--s-space-16) + 1.5rem + var(--s-space-12))}@media (min-width: 768px){.resource-list-item--selectable.sc-swirl-resource-list-item .resource-list-item__label-container.sc-swirl-resource-list-item{padding-right:var(--s-space-16)}}.resource-list-item--hide-divider.sc-swirl-resource-list-item .resource-list-item__label-container.sc-swirl-resource-list-item:after{display:none}.resource-list-item--label-weight-medium.sc-swirl-resource-list-item{font-weight:var(--s-font-weight-medium)}.resource-list-item--draggable.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item{padding-left:calc(var(--s-space-16) * 2 + 1.5rem)}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.resource-list-item--draggable.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item{padding-left:calc(var(--s-space-16) * 2 + 1rem)}}.resource-list-item--dragging.sc-swirl-resource-list-item{z-index:1;border-radius:var(--s-border-radius-s);background-color:var(--s-surface-overlay-pressed);box-shadow:0 0.0625rem 0.125rem rgba(25, 26, 28, 0.08),\n 0 0.25rem 2rem rgba(25, 26, 28, 0.16)}.resource-list-item--dragging.sc-swirl-resource-list-item:hover:not(.resource-list-item--disabled){background-color:var(--s-surface-overlay-pressed)}.resource-list-item--disabled.resource-list-item--checked.sc-swirl-resource-list-item .resource-list-item__checkbox.sc-swirl-resource-list-item{border-color:var(--s-icon-disabled);background-color:var(--s-icon-disabled)}.resource-list-item--disabled.sc-swirl-resource-list-item .resource-list-item__checkbox.sc-swirl-resource-list-item{border-color:var(--s-icon-disabled);background-color:transparent}.resource-list-item--disabled.sc-swirl-resource-list-item .resource-list-item__checkbox-icon.sc-swirl-resource-list-item{color:var(--s-text-on-status)}.resource-list-item__content.sc-swirl-resource-list-item{--swirl-avatar-group-border-color:var(--s-background-default);--swirl-badge-border-color:var(--s-background-default);display:flex;width:100%;margin:0;padding-top:var(--s-space-12);padding-right:0;padding-bottom:var(--s-space-12);padding-left:var(--s-space-16);align-items:center;border:none;color:var(--s-text-default);background-color:var(--swirl-resource-list-item-background-default);font:inherit;line-height:var(--s-line-height-base);text-align:left;text-decoration:none;gap:var(--s-space-12)}.resource-list-item__content.sc-swirl-resource-list-item:focus{outline:none}.resource-list-item__content.sc-swirl-resource-list-item:focus-visible{background-color:var(--s-background-hovered)}.resource-list-item__content.sc-swirl-resource-list-item:focus-visible .resource-list-item__media.sc-swirl-resource-list-item{--swirl-avatar-group-border-color:var(--s-background-hovered);--swirl-badge-border-color:var(--s-background-hovered)}.resource-list-item__content.sc-swirl-resource-list-item:disabled{color:var(--s-text-disabled);cursor:default}.resource-list-item__content.sc-swirl-resource-list-item:disabled .resource-list-item__description.sc-swirl-resource-list-item{color:var(--s-text-disabled)}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.resource-list-item__content.sc-swirl-resource-list-item{padding:var(--s-space-12);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm)}}.resource-list-item__media.sc-swirl-resource-list-item{display:inline-flex}.resource-list-item__label-container.sc-swirl-resource-list-item{position:relative;display:flex;min-width:0;min-height:2.875rem;padding-right:var(--s-space-16);flex-grow:1;justify-content:center;flex-direction:column}.resource-list-item__label-container.sc-swirl-resource-list-item:after{position:absolute;right:0;bottom:calc(-1 * var(--s-space-12));left:0;height:0.0625rem;background-color:var(--s-border-default);content:\"\"}.resource-list-item__label.sc-swirl-resource-list-item{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.resource-list-item__label.sc-swirl-resource-list-item b.sc-swirl-resource-list-item,.resource-list-item__label.sc-swirl-resource-list-item strong.sc-swirl-resource-list-item{font-weight:var(--s-font-weight-semibold)}.resource-list-item__description.sc-swirl-resource-list-item{overflow:hidden;margin-top:var(--s-space-2);color:var(--s-text-subdued);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);white-space:nowrap;text-overflow:ellipsis}.resource-list-item__menu-trigger.sc-swirl-resource-list-item{position:absolute;top:50%;right:var(--s-space-16);transform:translateY(-50%)}.resource-list-item__checkbox.sc-swirl-resource-list-item{position:absolute;top:50%;right:var(--s-space-16);display:flex;width:1.25rem;height:1.25rem;justify-content:center;align-items:center;border:0.125rem solid var(--s-icon-default);border-radius:var(--s-border-radius-s);transform:translateY(-50%);pointer-events:none}@media (min-width: 768px){.resource-list-item__checkbox.sc-swirl-resource-list-item{right:auto;left:var(--s-space-16)}}.resource-list-item__checkbox-icon.sc-swirl-resource-list-item{display:inline-flex;width:1.0625rem;height:1.0625rem}.resource-list-item__checkbox-icon.sc-swirl-resource-list-item>*.sc-swirl-resource-list-item::part(icon){width:1.0625rem;height:1.0625rem}.resource-list-item__meta.sc-swirl-resource-list-item{position:absolute;top:calc(var(--s-space-12) + var(--s-space-4));right:var(--s-space-16);color:var(--s-text-subdued);font-size:var(--s-font-size-sm)}.resource-list-item__drag-handle.sc-swirl-resource-list-item{position:absolute;z-index:1;top:50%;left:var(--s-space-4);display:inline-flex;margin:0;padding:0;padding:var(--s-space-8);flex-shrink:0;border:none;color:var(--s-icon-default);background-color:transparent;cursor:grab;transform:translateY(-50%)}.resource-list-item__drag-handle.sc-swirl-resource-list-item:active{cursor:grabbing}.resource-list-item__drag-handle.sc-swirl-resource-list-item:focus:not(:focus-visible){outline:none}.resource-list-item__drag-handle.sc-swirl-resource-list-item:focus-visible{outline-color:var(--s-focus-default)}";
9
+ const swirlResourceListItemCss = ".sc-swirl-resource-list-item-h{position:relative;display:block;width:100%}.sc-swirl-resource-list-item-h *.sc-swirl-resource-list-item{box-sizing:border-box}.resource-list-item.sc-swirl-resource-list-item{position:relative;width:100%}.resource-list-item--interactive.sc-swirl-resource-list-item:hover{--swirl-ghost-button-background-default:var(--s-background-hovered)}.resource-list-item--interactive.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item{cursor:pointer}.resource-list-item--interactive.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item:disabled{cursor:default}.resource-list-item--interactive.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item:hover:not(:disabled){background-color:var(--swirl-resource-list-item-background-hovered)}.resource-list-item--interactive.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item:hover:not(:disabled) .resource-list-item__media.sc-swirl-resource-list-item{--swirl-avatar-background-color:var(--s-surface-raised-hovered);--swirl-avatar-group-border-color:var(--s-background-hovered);--swirl-badge-border-color:var(--s-background-hovered)}.resource-list-item--interactive.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item:active:not(:disabled){background-color:var(--swirl-resource-list-item-background-pressed)}.resource-list-item--interactive.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item:active:not(:disabled) .resource-list-item__media.sc-swirl-resource-list-item{--swirl-avatar-group-border-color:var(--s-background-pressed);--swirl-badge-border-color:var(--s-background-pressed)}.resource-list-item--checked.sc-swirl-resource-list-item .resource-list-item__checkbox.sc-swirl-resource-list-item{border-color:var(--s-icon-highlight);color:var(--s-text-on-status);background-color:var(--s-icon-highlight)}.resource-list-item--has-menu.sc-swirl-resource-list-item .resource-list-item__label-container.sc-swirl-resource-list-item{padding-right:calc(var(--s-space-16) + 2.5rem + var(--s-space-12))}@media (min-width: 768px){.resource-list-item--selectable.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item{padding-left:calc(var(--s-space-16) + 1.5rem + var(--s-space-12))}}.resource-list-item--selectable.sc-swirl-resource-list-item .resource-list-item__label-container.sc-swirl-resource-list-item{padding-right:calc(var(--s-space-16) + 1.5rem + var(--s-space-12))}@media (min-width: 768px){.resource-list-item--selectable.sc-swirl-resource-list-item .resource-list-item__label-container.sc-swirl-resource-list-item{padding-right:var(--s-space-16)}}.resource-list-item--hide-divider.sc-swirl-resource-list-item .resource-list-item__label-container.sc-swirl-resource-list-item:after{display:none}.resource-list-item--label-weight-medium.sc-swirl-resource-list-item{font-weight:var(--s-font-weight-medium)}.resource-list-item--draggable.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item{padding-left:calc(var(--s-space-16) * 2 + 1.5rem)}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.resource-list-item--draggable.sc-swirl-resource-list-item .resource-list-item__content.sc-swirl-resource-list-item{padding-left:calc(var(--s-space-16) * 2 + 1rem)}}.resource-list-item--dragging.sc-swirl-resource-list-item{z-index:1;border-radius:var(--s-border-radius-s);background-color:var(--s-surface-overlay-pressed);box-shadow:0 0.0625rem 0.125rem rgba(25, 26, 28, 0.08),\n 0 0.25rem 2rem rgba(25, 26, 28, 0.16)}.resource-list-item--dragging.sc-swirl-resource-list-item:hover:not(.resource-list-item--disabled){background-color:var(--s-surface-overlay-pressed)}.resource-list-item--disabled.resource-list-item--checked.sc-swirl-resource-list-item .resource-list-item__checkbox.sc-swirl-resource-list-item{border-color:var(--s-icon-disabled);background-color:var(--s-icon-disabled)}.resource-list-item--disabled.sc-swirl-resource-list-item .resource-list-item__checkbox.sc-swirl-resource-list-item{border-color:var(--s-icon-disabled);background-color:transparent}.resource-list-item--disabled.sc-swirl-resource-list-item .resource-list-item__checkbox-icon.sc-swirl-resource-list-item{color:var(--s-text-on-status)}.resource-list-item__content.sc-swirl-resource-list-item{--swirl-avatar-group-border-color:var(--s-background-default);--swirl-badge-border-color:var(--s-background-default);display:flex;width:100%;margin:0;padding-top:var(--s-space-12);padding-right:0;padding-bottom:var(--s-space-12);padding-left:var(--s-space-16);align-items:center;border:none;color:var(--s-text-default);background-color:var(--swirl-resource-list-item-background-default);font:inherit;line-height:var(--s-line-height-base);text-align:left;text-decoration:none;gap:var(--s-space-12)}.resource-list-item__content.sc-swirl-resource-list-item:focus{outline:none}.resource-list-item__content.sc-swirl-resource-list-item:focus-visible{background-color:var(--s-background-hovered)}.resource-list-item__content.sc-swirl-resource-list-item:focus-visible .resource-list-item__media.sc-swirl-resource-list-item{--swirl-avatar-group-border-color:var(--s-background-hovered);--swirl-badge-border-color:var(--s-background-hovered)}.resource-list-item__content.sc-swirl-resource-list-item:disabled{color:var(--s-text-disabled);cursor:default}.resource-list-item__content.sc-swirl-resource-list-item:disabled .resource-list-item__description.sc-swirl-resource-list-item{color:var(--s-text-disabled)}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.resource-list-item__content.sc-swirl-resource-list-item{padding:var(--s-space-12);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm)}}.resource-list-item__media.sc-swirl-resource-list-item{display:inline-flex}.resource-list-item__label-container.sc-swirl-resource-list-item{position:relative;display:flex;min-width:0;min-height:2.875rem;padding-right:var(--s-space-16);flex-grow:1;justify-content:center;flex-direction:column}.resource-list-item__label-container.sc-swirl-resource-list-item:after{position:absolute;right:0;bottom:calc(-1 * var(--s-space-12));left:0;height:0.0625rem;background-color:var(--s-border-default);content:\"\"}.resource-list-item__label.sc-swirl-resource-list-item{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.resource-list-item__label.sc-swirl-resource-list-item b.sc-swirl-resource-list-item,.resource-list-item__label.sc-swirl-resource-list-item strong.sc-swirl-resource-list-item{font-weight:var(--s-font-weight-semibold)}.resource-list-item__description.sc-swirl-resource-list-item{overflow:hidden;margin-top:var(--s-space-2);color:var(--s-text-subdued);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);white-space:nowrap;text-overflow:ellipsis}.resource-list-item__menu-trigger.sc-swirl-resource-list-item{position:absolute;top:50%;right:var(--s-space-16);transform:translateY(-50%)}.resource-list-item__control.sc-swirl-resource-list-item{position:absolute;top:50%;right:var(--s-space-16);transform:translateY(-50%)}.resource-list-item__checkbox.sc-swirl-resource-list-item{position:absolute;top:50%;right:var(--s-space-16);display:flex;width:1.25rem;height:1.25rem;justify-content:center;align-items:center;border:0.125rem solid var(--s-icon-default);border-radius:var(--s-border-radius-s);transform:translateY(-50%);pointer-events:none}@media (min-width: 768px){.resource-list-item__checkbox.sc-swirl-resource-list-item{right:auto;left:var(--s-space-16)}}.resource-list-item__checkbox-icon.sc-swirl-resource-list-item{display:inline-flex;width:1.0625rem;height:1.0625rem}.resource-list-item__checkbox-icon.sc-swirl-resource-list-item>*.sc-swirl-resource-list-item::part(icon){width:1.0625rem;height:1.0625rem}.resource-list-item__meta.sc-swirl-resource-list-item{position:absolute;top:calc(var(--s-space-12) + var(--s-space-4));right:var(--s-space-16);color:var(--s-text-subdued);font-size:var(--s-font-size-sm)}.resource-list-item__drag-handle.sc-swirl-resource-list-item{position:absolute;z-index:1;top:50%;left:var(--s-space-4);display:inline-flex;margin:0;padding:0;padding:var(--s-space-8);flex-shrink:0;border:none;color:var(--s-icon-default);background-color:transparent;cursor:grab;transform:translateY(-50%)}.resource-list-item__drag-handle.sc-swirl-resource-list-item:active{cursor:grabbing}.resource-list-item__drag-handle.sc-swirl-resource-list-item:focus:not(:focus-visible){outline:none}.resource-list-item__drag-handle.sc-swirl-resource-list-item:focus-visible{outline-color:var(--s-focus-default)}";
9
10
 
10
11
  const SwirlResourceListItem = /*@__PURE__*/ proxyCustomElement(class SwirlResourceListItem extends HTMLElement {
11
12
  constructor() {
@@ -63,6 +64,9 @@ const SwirlResourceListItem = /*@__PURE__*/ proxyCustomElement(class SwirlResour
63
64
  this.forceIconProps(this.desktopMediaQuery.matches);
64
65
  this.updateIconSize(this.desktopMediaQuery.matches);
65
66
  this.desktopMediaQuery.onchange = this.desktopMediaQueryHandler;
67
+ if (Boolean(this.menuTriggerId)) {
68
+ console.warn('[Swirl] The "menu-trigger-id" prop of swirl-resource-list-item is deprecated and will be removed with the next major release. Please use the "control" slot to add a menu button instead. https://swirl-storybook.flip-app.dev/?path=/docs/components-swirlresourcelistitem--docs');
69
+ }
66
70
  }
67
71
  disconnectedCallback() {
68
72
  var _a, _b;
@@ -90,9 +94,9 @@ const SwirlResourceListItem = /*@__PURE__*/ proxyCustomElement(class SwirlResour
90
94
  ? "a"
91
95
  : "button";
92
96
  const disabled = this.disabled && !Boolean(this.href);
93
- const hasMenu = Boolean(this.menuTriggerId);
97
+ const hasMenu = Boolean(this.menuTriggerId) || this.el.querySelector("[slot='control']");
94
98
  const href = this.interactive && Boolean(this.href) ? this.href : undefined;
95
- const showMenu = hasMenu && !Boolean(this.meta) && !this.selectable;
99
+ const showMenu = Boolean(this.menuTriggerId) && !Boolean(this.meta) && !this.selectable;
96
100
  const showMeta = Boolean(this.meta) && !this.selectable;
97
101
  const ariaChecked = this.selectable ? String(this.checked) : undefined;
98
102
  const role = this.interactive && this.selectable ? "checkbox" : undefined;
@@ -106,7 +110,7 @@ const SwirlResourceListItem = /*@__PURE__*/ proxyCustomElement(class SwirlResour
106
110
  "resource-list-item--interactive": this.interactive || this.selectable,
107
111
  "resource-list-item--selectable": this.selectable,
108
112
  });
109
- return (h(Host, { role: "row" }, h("div", { class: className, role: "gridcell" }, h(Tag, { "aria-checked": ariaChecked, "aria-disabled": disabled ? "true" : undefined, "aria-labelledby": "label", class: "resource-list-item__content", href: href, disabled: disabled, onClick: this.onClick, part: "resource-list-item__content", role: role, tabIndex: 0 }, this.hasMedia && (h("span", { class: "resource-list-item__media" }, h("slot", { name: "media" }))), h("span", { class: "resource-list-item__label-container" }, h("span", { class: "resource-list-item__label", id: "label", innerHTML: this.label }), this.description && (h("span", { class: "resource-list-item__description" }, this.description)))), this.selectable && (h("span", { "aria-hidden": "true", class: "resource-list-item__checkbox" }, h("span", { class: "resource-list-item__checkbox-icon" }, this.checked && (h("swirl-icon-check-strong", null))))), showMeta && (h("span", { class: "resource-list-item__meta" }, this.meta)), showMenu && (h("swirl-button", { "aria-disabled": disabled ? "true" : undefined, class: "resource-list-item__menu-trigger", disabled: disabled, hideLabel: true, icon: "<swirl-icon-more-horizontal></swirl-icon-more-horizontal>", id: this.menuTriggerId, intent: "primary", label: this.menuTriggerLabel, onClick: this.onMenuTriggerClick }))), this.allowDrag && (h("button", { "aria-describedby": this.dragHandleDescription, "aria-label": `${this.dragHandleLabel} "${this.label}"`, class: "resource-list-item__drag-handle", onKeyDown: this.onDragHandleKeyDown, type: "button" }, h("swirl-icon-drag-handle", { size: this.iconSize })))));
113
+ return (h(Host, { role: "row" }, h("div", { class: className, role: "gridcell" }, h(Tag, { "aria-checked": ariaChecked, "aria-disabled": disabled ? "true" : undefined, "aria-labelledby": "label", class: "resource-list-item__content", href: href, disabled: disabled, onClick: this.onClick, part: "resource-list-item__content", role: role, tabIndex: 0 }, this.hasMedia && (h("span", { class: "resource-list-item__media" }, h("slot", { name: "media" }))), h("span", { class: "resource-list-item__label-container" }, h("span", { class: "resource-list-item__label", id: "label", innerHTML: this.label }), this.description && (h("span", { class: "resource-list-item__description" }, this.description)))), this.selectable && (h("span", { "aria-hidden": "true", class: "resource-list-item__checkbox" }, h("span", { class: "resource-list-item__checkbox-icon" }, this.checked && (h("swirl-icon-check-strong", null))))), showMeta && (h("span", { class: "resource-list-item__meta" }, this.meta)), h("span", { class: "resource-list-item__control" }, h("slot", { name: "control" })), showMenu && (h("swirl-popover-trigger", { popover: this.menuTriggerId }, h("swirl-button", { "aria-disabled": disabled ? "true" : undefined, class: "resource-list-item__menu-trigger", disabled: disabled, hideLabel: true, icon: "<swirl-icon-more-horizontal></swirl-icon-more-horizontal>", intent: "primary", label: this.menuTriggerLabel, onClick: this.onMenuTriggerClick })))), this.allowDrag && (h("button", { "aria-describedby": this.dragHandleDescription, "aria-label": `${this.dragHandleLabel} "${this.label}"`, class: "resource-list-item__drag-handle", onKeyDown: this.onDragHandleKeyDown, type: "button" }, h("swirl-icon-drag-handle", { size: this.iconSize })))));
110
114
  }
111
115
  get el() { return this; }
112
116
  static get style() { return swirlResourceListItemCss; }
@@ -135,7 +139,7 @@ function defineCustomElement() {
135
139
  if (typeof customElements === "undefined") {
136
140
  return;
137
141
  }
138
- const components = ["swirl-resource-list-item", "swirl-button", "swirl-icon-check-strong", "swirl-icon-drag-handle"];
142
+ const components = ["swirl-resource-list-item", "swirl-button", "swirl-icon-check-strong", "swirl-icon-drag-handle", "swirl-popover-trigger"];
139
143
  components.forEach(tagName => { switch (tagName) {
140
144
  case "swirl-resource-list-item":
141
145
  if (!customElements.get(tagName)) {
@@ -144,15 +148,20 @@ function defineCustomElement() {
144
148
  break;
145
149
  case "swirl-button":
146
150
  if (!customElements.get(tagName)) {
147
- defineCustomElement$3();
151
+ defineCustomElement$4();
148
152
  }
149
153
  break;
150
154
  case "swirl-icon-check-strong":
151
155
  if (!customElements.get(tagName)) {
152
- defineCustomElement$2();
156
+ defineCustomElement$3();
153
157
  }
154
158
  break;
155
159
  case "swirl-icon-drag-handle":
160
+ if (!customElements.get(tagName)) {
161
+ defineCustomElement$2();
162
+ }
163
+ break;
164
+ case "swirl-popover-trigger":
156
165
  if (!customElements.get(tagName)) {
157
166
  defineCustomElement$1();
158
167
  }