@getflip/swirl-components 0.14.1 → 0.16.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 (357) hide show
  1. package/components.json +682 -52
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{swirl-action-list-item.cjs.entry.js → swirl-action-list_3.cjs.entry.js} +74 -1
  4. package/dist/cjs/swirl-app-layout_5.cjs.entry.js +4 -4
  5. package/dist/cjs/swirl-autocomplete.cjs.entry.js +1 -1
  6. package/dist/cjs/swirl-banner.cjs.entry.js +1 -1
  7. package/dist/cjs/swirl-button.cjs.entry.js +4 -1
  8. package/dist/cjs/swirl-chip.cjs.entry.js +1 -1
  9. package/dist/cjs/swirl-components.cjs.js +1 -1
  10. package/dist/cjs/swirl-console-layout.cjs.entry.js +1 -1
  11. package/dist/cjs/swirl-date-input.cjs.entry.js +1 -1
  12. package/dist/cjs/swirl-file-viewer_7.cjs.entry.js +2 -1
  13. package/dist/cjs/{swirl-icon-arrow-left_3.cjs.entry.js → swirl-icon-arrow-left_4.cjs.entry.js} +22 -4
  14. package/dist/cjs/swirl-icon-bookmark.cjs.entry.js +24 -0
  15. package/dist/cjs/swirl-icon-check-small_4.cjs.entry.js +1 -1
  16. package/dist/cjs/swirl-icon-double-arrow-left.cjs.entry.js +24 -0
  17. package/dist/cjs/swirl-icon-double-arrow-right.cjs.entry.js +24 -0
  18. package/dist/cjs/swirl-icon-download.cjs.entry.js +24 -0
  19. package/dist/cjs/swirl-icon-error_3.cjs.entry.js +2 -2
  20. package/dist/cjs/swirl-icon-folder.cjs.entry.js +24 -0
  21. package/dist/cjs/swirl-lightbox.cjs.entry.js +25 -5
  22. package/dist/cjs/swirl-pdf-reader.cjs.entry.js +9 -4
  23. package/dist/cjs/swirl-popover.cjs.entry.js +10 -4
  24. package/dist/cjs/swirl-resource-list-file-item.cjs.entry.js +1 -1
  25. package/dist/cjs/swirl-search.cjs.entry.js +1 -1
  26. package/dist/cjs/swirl-select.cjs.entry.js +1 -1
  27. package/dist/cjs/swirl-shell-layout.cjs.entry.js +106 -0
  28. package/dist/cjs/swirl-shell-navigation-item.cjs.entry.js +45 -0
  29. package/dist/cjs/swirl-table.cjs.entry.js +1 -1
  30. package/dist/cjs/swirl-text-input.cjs.entry.js +1 -1
  31. package/dist/cjs/swirl-toast.cjs.entry.js +1 -1
  32. package/dist/cjs/{utils-a07ee0db.js → utils-f1b4e064.js} +13 -0
  33. package/dist/collection/collection-manifest.json +6 -0
  34. package/dist/collection/components/swirl-action-list/swirl-action-list.css +1 -0
  35. package/dist/collection/components/swirl-action-list/swirl-action-list.js +20 -8
  36. package/dist/collection/components/swirl-action-list-item/swirl-action-list-item.js +3 -0
  37. package/dist/collection/components/swirl-app-layout/swirl-app-layout.css +35 -12
  38. package/dist/collection/components/swirl-app-layout/swirl-app-layout.js +2 -2
  39. package/dist/collection/components/swirl-app-layout/swirl-app-layout.stories.js +1 -1
  40. package/dist/collection/components/swirl-button/swirl-button.js +3 -0
  41. package/dist/collection/components/swirl-file-viewer/swirl-file-viewer.js +18 -0
  42. package/dist/collection/components/swirl-icon/icons/swirl-icon-bookmark.js +52 -0
  43. package/dist/collection/components/swirl-icon/icons/swirl-icon-double-arrow-left.js +52 -0
  44. package/dist/collection/components/swirl-icon/icons/swirl-icon-double-arrow-right.js +52 -0
  45. package/dist/collection/components/swirl-icon/icons/swirl-icon-folder.js +52 -0
  46. package/dist/collection/components/swirl-lightbox/swirl-lightbox.css +31 -2
  47. package/dist/collection/components/swirl-lightbox/swirl-lightbox.js +60 -4
  48. package/dist/collection/components/swirl-lightbox/swirl-lightbox.stories.js +14 -3
  49. package/dist/collection/components/swirl-pdf-reader/swirl-pdf-reader.css +30 -0
  50. package/dist/collection/components/swirl-pdf-reader/swirl-pdf-reader.js +61 -2
  51. package/dist/collection/components/swirl-pdf-reader/swirl-pdf-reader.stories.js +8 -1
  52. package/dist/collection/components/swirl-popover/swirl-popover.js +27 -4
  53. package/dist/collection/components/swirl-popover/swirl-popover.stories.js +3 -0
  54. package/dist/collection/components/swirl-separator/swirl-separator.css +1 -0
  55. package/dist/collection/components/swirl-shell-layout/swirl-shell-layout.css +233 -0
  56. package/dist/collection/components/swirl-shell-layout/swirl-shell-layout.js +196 -0
  57. package/dist/collection/components/swirl-shell-layout/swirl-shell-layout.stories.js +88 -0
  58. package/dist/collection/components/swirl-shell-navigation-item/swirl-shell-navigation-item.css +71 -0
  59. package/dist/collection/components/swirl-shell-navigation-item/swirl-shell-navigation-item.js +100 -0
  60. package/dist/collection/components/swirl-shell-navigation-item/swirl-shell-navigation-item.stories.js +30 -0
  61. package/dist/collection/components/swirl-spinner/swirl-spinner.css +13 -2
  62. package/dist/collection/components/swirl-spinner/swirl-spinner.js +2 -2
  63. package/dist/collection/prototypes/file-manager/file-manager.stories.js +1 -1
  64. package/dist/collection/utils.js +31 -15
  65. package/dist/components/file-manager.js +1 -0
  66. package/dist/components/swirl-action-list-item.js +1 -67
  67. package/dist/{esm/swirl-action-list-item.entry.js → components/swirl-action-list-item2.js} +36 -10
  68. package/dist/components/swirl-action-list-section.js +1 -0
  69. package/dist/components/swirl-action-list.js +1 -61
  70. package/dist/components/swirl-action-list2.js +76 -0
  71. package/dist/components/swirl-app-layout2.js +4 -3
  72. package/dist/components/swirl-autocomplete.js +1 -0
  73. package/dist/components/swirl-avatar-group.js +1 -0
  74. package/dist/components/swirl-avatar.js +1 -0
  75. package/dist/components/swirl-badge.js +1 -0
  76. package/dist/components/swirl-banner.js +1 -0
  77. package/dist/components/swirl-box2.js +1 -0
  78. package/dist/components/swirl-button-group2.js +1 -0
  79. package/dist/components/swirl-button2.js +4 -0
  80. package/dist/components/swirl-card.js +1 -0
  81. package/dist/components/swirl-checkbox.js +1 -0
  82. package/dist/components/swirl-chip.js +1 -0
  83. package/dist/components/swirl-console-layout.js +1 -0
  84. package/dist/components/swirl-date-input.js +1 -0
  85. package/dist/components/swirl-date-picker2.js +1 -0
  86. package/dist/components/swirl-description-list-item.js +1 -0
  87. package/dist/components/swirl-description-list.js +1 -0
  88. package/dist/components/swirl-dialog.js +1 -0
  89. package/dist/components/swirl-empty-state2.js +1 -0
  90. package/dist/components/swirl-file-uploader.js +1 -0
  91. package/dist/components/swirl-file-viewer-audio2.js +1 -0
  92. package/dist/components/swirl-file-viewer-csv2.js +1 -0
  93. package/dist/components/swirl-file-viewer-image2.js +1 -0
  94. package/dist/components/swirl-file-viewer-pdf2.js +1 -0
  95. package/dist/components/swirl-file-viewer-text2.js +1 -0
  96. package/dist/components/swirl-file-viewer-video2.js +1 -0
  97. package/dist/components/swirl-file-viewer2.js +3 -0
  98. package/dist/components/swirl-form-control.js +1 -0
  99. package/dist/components/swirl-form-group.js +1 -0
  100. package/dist/components/swirl-heading2.js +1 -0
  101. package/dist/components/swirl-icon-add-photo.js +1 -0
  102. package/dist/components/swirl-icon-add2.js +1 -0
  103. package/dist/components/swirl-icon-admin-panel-settings.js +1 -0
  104. package/dist/components/swirl-icon-arrow-back.js +1 -0
  105. package/dist/components/swirl-icon-arrow-downward2.js +1 -0
  106. package/dist/components/swirl-icon-arrow-forward.js +1 -0
  107. package/dist/components/swirl-icon-arrow-left2.js +1 -0
  108. package/dist/components/swirl-icon-arrow-right-small.js +1 -0
  109. package/dist/components/swirl-icon-arrow-right2.js +1 -0
  110. package/dist/components/swirl-icon-arrow-upward2.js +1 -0
  111. package/dist/components/swirl-icon-attachment.js +1 -0
  112. package/dist/components/swirl-icon-block.js +1 -0
  113. package/dist/components/swirl-icon-bookmark.d.ts +11 -0
  114. package/dist/components/swirl-icon-bookmark.js +40 -0
  115. package/dist/components/swirl-icon-cancel2.js +1 -0
  116. package/dist/components/swirl-icon-chat-bubble.js +1 -0
  117. package/dist/components/swirl-icon-chats-filled.js +1 -0
  118. package/dist/components/swirl-icon-chats-outlined.js +1 -0
  119. package/dist/components/swirl-icon-check-circle.js +1 -0
  120. package/dist/components/swirl-icon-check-small2.js +1 -0
  121. package/dist/components/swirl-icon-check-strong2.js +1 -0
  122. package/dist/components/swirl-icon-check.js +1 -0
  123. package/dist/components/swirl-icon-chevron-left.js +1 -0
  124. package/dist/components/swirl-icon-chevron-right.js +1 -0
  125. package/dist/components/swirl-icon-close-small.js +1 -0
  126. package/dist/components/swirl-icon-close2.js +1 -0
  127. package/dist/components/swirl-icon-cloud-upload2.js +1 -0
  128. package/dist/components/swirl-icon-column.js +1 -0
  129. package/dist/components/swirl-icon-comment.js +1 -0
  130. package/dist/components/swirl-icon-copy.js +1 -0
  131. package/dist/components/swirl-icon-date-range.js +1 -0
  132. package/dist/components/swirl-icon-delete.js +1 -0
  133. package/dist/components/swirl-icon-description.js +1 -0
  134. package/dist/components/swirl-icon-double-arrow-left.d.ts +11 -0
  135. package/dist/components/swirl-icon-double-arrow-left.js +40 -0
  136. package/dist/components/swirl-icon-double-arrow-right.d.ts +11 -0
  137. package/dist/components/swirl-icon-double-arrow-right.js +40 -0
  138. package/dist/components/swirl-icon-download.js +35 -1
  139. package/dist/components/swirl-icon-drag-handle2.js +1 -0
  140. package/dist/components/swirl-icon-edit.js +1 -0
  141. package/dist/components/swirl-icon-emoji-mood.js +1 -0
  142. package/dist/components/swirl-icon-emoji-satisfied.js +1 -0
  143. package/dist/components/swirl-icon-error2.js +1 -0
  144. package/dist/components/swirl-icon-expand-less2.js +1 -0
  145. package/dist/components/swirl-icon-expand-more2.js +1 -0
  146. package/dist/components/swirl-icon-file.js +1 -0
  147. package/dist/components/swirl-icon-filter.js +1 -0
  148. package/dist/components/swirl-icon-folder-shared.js +1 -0
  149. package/dist/components/swirl-icon-folder.d.ts +11 -0
  150. package/dist/components/swirl-icon-folder.js +40 -0
  151. package/dist/components/swirl-icon-fullscreen-exit2.js +1 -0
  152. package/dist/components/swirl-icon-fullscreen2.js +1 -0
  153. package/dist/components/swirl-icon-group-assign.js +1 -0
  154. package/dist/components/swirl-icon-groups-custom.js +1 -0
  155. package/dist/components/swirl-icon-groups-filled.js +1 -0
  156. package/dist/components/swirl-icon-groups-outlined.js +1 -0
  157. package/dist/components/swirl-icon-groups.js +1 -0
  158. package/dist/components/swirl-icon-help.js +1 -0
  159. package/dist/components/swirl-icon-image.js +1 -0
  160. package/dist/components/swirl-icon-info.js +1 -0
  161. package/dist/components/swirl-icon-inventory.js +1 -0
  162. package/dist/components/swirl-icon-like.js +1 -0
  163. package/dist/components/swirl-icon-link.js +1 -0
  164. package/dist/components/swirl-icon-lock.js +1 -0
  165. package/dist/components/swirl-icon-logout.js +1 -0
  166. package/dist/components/swirl-icon-mail.js +1 -0
  167. package/dist/components/swirl-icon-manage-accounts.js +1 -0
  168. package/dist/components/swirl-icon-mention.js +1 -0
  169. package/dist/components/swirl-icon-menu-filled.js +1 -0
  170. package/dist/components/swirl-icon-menu-outlined.js +1 -0
  171. package/dist/components/swirl-icon-menu.js +1 -0
  172. package/dist/components/swirl-icon-message.js +1 -0
  173. package/dist/components/swirl-icon-more-horizontal.js +1 -0
  174. package/dist/components/swirl-icon-more-vertikal.js +1 -34
  175. package/dist/{esm/swirl-icon-more-vertikal.entry.js → components/swirl-icon-more-vertikal2.js} +26 -9
  176. package/dist/components/swirl-icon-news-filled.js +1 -0
  177. package/dist/components/swirl-icon-news-outlined.js +1 -0
  178. package/dist/components/swirl-icon-notifications-active.js +1 -0
  179. package/dist/components/swirl-icon-notifications-off.js +1 -0
  180. package/dist/components/swirl-icon-notifications.js +1 -0
  181. package/dist/components/swirl-icon-open-in-new.js +1 -0
  182. package/dist/components/swirl-icon-people-alt.js +1 -0
  183. package/dist/components/swirl-icon-person-off.js +1 -0
  184. package/dist/components/swirl-icon-person2.js +1 -0
  185. package/dist/components/swirl-icon-phone.js +1 -0
  186. package/dist/components/swirl-icon-poll.js +1 -0
  187. package/dist/components/swirl-icon-print.js +1 -0
  188. package/dist/components/swirl-icon-recieved.js +1 -0
  189. package/dist/components/swirl-icon-remove2.js +1 -0
  190. package/dist/components/swirl-icon-search-strong.js +1 -0
  191. package/dist/components/swirl-icon-search2.js +1 -0
  192. package/dist/components/swirl-icon-send.js +1 -0
  193. package/dist/components/swirl-icon-settings.js +1 -0
  194. package/dist/components/swirl-icon-sync.js +1 -0
  195. package/dist/components/swirl-icon-tasks-filled.js +1 -0
  196. package/dist/components/swirl-icon-tasks-outlined.js +1 -0
  197. package/dist/components/swirl-icon-time-filled.js +1 -0
  198. package/dist/components/swirl-icon-time-outlined.js +1 -0
  199. package/dist/components/swirl-icon-today2.js +1 -0
  200. package/dist/components/swirl-icon-user-assign.js +1 -0
  201. package/dist/components/swirl-icon-video-camera.js +1 -0
  202. package/dist/components/swirl-icon-visibility-off2.js +1 -0
  203. package/dist/components/swirl-icon-visibility2.js +1 -0
  204. package/dist/components/swirl-icon-warning.js +1 -0
  205. package/dist/components/swirl-inline-error2.js +1 -0
  206. package/dist/components/swirl-lightbox.js +77 -12
  207. package/dist/components/swirl-link.js +1 -0
  208. package/dist/components/swirl-list.js +1 -0
  209. package/dist/components/swirl-modal.js +1 -0
  210. package/dist/components/swirl-option-list-item2.js +1 -0
  211. package/dist/components/swirl-option-list-section.js +1 -0
  212. package/dist/components/swirl-option-list2.js +1 -0
  213. package/dist/components/swirl-pagination.js +1 -0
  214. package/dist/components/swirl-pdf-reader.js +80 -35
  215. package/dist/components/swirl-popover2.js +13 -5
  216. package/dist/components/swirl-progress-indicator.js +1 -0
  217. package/dist/components/swirl-radio-group.js +1 -0
  218. package/dist/components/swirl-radio.js +1 -0
  219. package/dist/components/swirl-resource-list-file-item.js +1 -0
  220. package/dist/components/swirl-resource-list-item2.js +1 -0
  221. package/dist/components/swirl-resource-list2.js +1 -0
  222. package/dist/components/swirl-search.js +1 -0
  223. package/dist/components/swirl-select.js +1 -0
  224. package/dist/components/swirl-separator.js +1 -28
  225. package/dist/components/swirl-separator2.js +31 -0
  226. package/dist/components/swirl-shell-layout.d.ts +11 -0
  227. package/dist/components/swirl-shell-layout.js +134 -0
  228. package/dist/components/swirl-shell-navigation-item.d.ts +11 -0
  229. package/dist/components/swirl-shell-navigation-item.js +63 -0
  230. package/dist/components/swirl-skeleton-box.js +1 -0
  231. package/dist/components/swirl-skeleton-text.js +1 -0
  232. package/dist/components/swirl-spinner2.js +3 -2
  233. package/dist/components/swirl-stack2.js +1 -0
  234. package/dist/components/swirl-switch.js +1 -0
  235. package/dist/components/swirl-tab.js +1 -0
  236. package/dist/components/swirl-table-cell.js +1 -0
  237. package/dist/components/swirl-table-column.js +1 -0
  238. package/dist/components/swirl-table-row-group.js +1 -0
  239. package/dist/components/swirl-table-row.js +1 -0
  240. package/dist/components/swirl-table.js +1 -0
  241. package/dist/components/swirl-tabs.js +1 -0
  242. package/dist/components/swirl-tag.js +1 -0
  243. package/dist/components/swirl-text-input2.js +1 -0
  244. package/dist/components/swirl-text2.js +1 -0
  245. package/dist/components/swirl-theme-provider.js +1 -0
  246. package/dist/components/swirl-thumbnail.js +1 -39
  247. package/dist/{esm/swirl-thumbnail.entry.js → components/swirl-thumbnail2.js} +29 -9
  248. package/dist/components/swirl-toast-provider.js +1 -0
  249. package/dist/components/swirl-toast2.js +1 -0
  250. package/dist/components/swirl-tooltip.js +1 -0
  251. package/dist/components/swirl-tree-navigation-item.js +1 -0
  252. package/dist/components/swirl-video-thumbnail.js +1 -0
  253. package/dist/components/swirl-visually-hidden2.js +1 -0
  254. package/dist/components/utils.js +13 -1
  255. package/dist/components/wc-datepicker2.js +1 -0
  256. package/dist/esm/loader.js +1 -1
  257. package/dist/esm/swirl-action-list_3.entry.js +118 -0
  258. package/dist/esm/swirl-app-layout_5.entry.js +4 -4
  259. package/dist/esm/swirl-autocomplete.entry.js +1 -1
  260. package/dist/esm/swirl-banner.entry.js +1 -1
  261. package/dist/esm/swirl-button.entry.js +4 -1
  262. package/dist/esm/swirl-chip.entry.js +1 -1
  263. package/dist/esm/swirl-components.js +1 -1
  264. package/dist/esm/swirl-console-layout.entry.js +1 -1
  265. package/dist/esm/swirl-date-input.entry.js +1 -1
  266. package/dist/esm/swirl-file-viewer_7.entry.js +2 -1
  267. package/dist/esm/{swirl-icon-arrow-left_3.entry.js → swirl-icon-arrow-left_4.entry.js} +22 -5
  268. package/dist/esm/swirl-icon-bookmark.entry.js +20 -0
  269. package/dist/esm/swirl-icon-check-small_4.entry.js +1 -1
  270. package/dist/esm/swirl-icon-double-arrow-left.entry.js +20 -0
  271. package/dist/esm/swirl-icon-double-arrow-right.entry.js +20 -0
  272. package/dist/{components/swirl-icon-download2.js → esm/swirl-icon-download.entry.js} +9 -25
  273. package/dist/esm/swirl-icon-error_3.entry.js +2 -2
  274. package/dist/esm/swirl-icon-folder.entry.js +20 -0
  275. package/dist/esm/swirl-lightbox.entry.js +25 -5
  276. package/dist/esm/swirl-pdf-reader.entry.js +9 -4
  277. package/dist/esm/swirl-popover.entry.js +11 -5
  278. package/dist/esm/swirl-resource-list-file-item.entry.js +1 -1
  279. package/dist/esm/swirl-search.entry.js +1 -1
  280. package/dist/esm/swirl-select.entry.js +1 -1
  281. package/dist/esm/swirl-shell-layout.entry.js +102 -0
  282. package/dist/esm/swirl-shell-navigation-item.entry.js +41 -0
  283. package/dist/esm/swirl-table.entry.js +1 -1
  284. package/dist/esm/swirl-text-input.entry.js +1 -1
  285. package/dist/esm/swirl-toast.entry.js +1 -1
  286. package/dist/esm/{utils-33d31b58.js → utils-61f188cc.js} +13 -1
  287. package/dist/swirl-components/{p-905e3f32.entry.js → p-03c7be43.entry.js} +1 -1
  288. package/dist/swirl-components/{p-33e4b66d.entry.js → p-05550659.entry.js} +1 -1
  289. package/dist/swirl-components/p-097f02b9.entry.js +1 -0
  290. package/dist/swirl-components/p-2fce527a.entry.js +1 -0
  291. package/dist/swirl-components/p-2fd243cf.entry.js +1 -0
  292. package/dist/swirl-components/{p-67e86a11.entry.js → p-3060f78f.entry.js} +1 -1
  293. package/dist/swirl-components/{p-1a6ca33d.entry.js → p-3275cac1.entry.js} +1 -1
  294. package/dist/swirl-components/{p-87ce453b.entry.js → p-357509d4.entry.js} +1 -1
  295. package/dist/swirl-components/{p-d51a5f4f.entry.js → p-3c7eb982.entry.js} +1 -1
  296. package/dist/swirl-components/p-41466a58.entry.js +1 -0
  297. package/dist/swirl-components/p-438b3941.js +1 -0
  298. package/dist/swirl-components/p-4607e131.entry.js +1 -0
  299. package/dist/swirl-components/p-48145eb1.entry.js +1 -0
  300. package/dist/swirl-components/p-4acd4270.entry.js +1 -0
  301. package/dist/swirl-components/{p-0dcc2cbc.entry.js → p-5341bbe1.entry.js} +1 -1
  302. package/dist/swirl-components/p-5568862a.entry.js +1 -0
  303. package/dist/swirl-components/{p-fbd4380b.entry.js → p-55e7fa1b.entry.js} +1 -1
  304. package/dist/swirl-components/p-711cc9ed.entry.js +1 -0
  305. package/dist/swirl-components/p-74340004.entry.js +1 -0
  306. package/dist/swirl-components/{p-61b7f41b.entry.js → p-99778781.entry.js} +1 -1
  307. package/dist/swirl-components/{p-148b7b70.entry.js → p-a76e3488.entry.js} +1 -1
  308. package/dist/swirl-components/p-a7d93c6a.entry.js +1 -0
  309. package/dist/swirl-components/p-b0b07705.entry.js +1 -0
  310. package/dist/swirl-components/p-b12586c9.entry.js +1 -0
  311. package/dist/swirl-components/{p-2e733839.entry.js → p-c0f87c48.entry.js} +1 -1
  312. package/dist/swirl-components/{p-2c941975.entry.js → p-ca2d3b9f.entry.js} +1 -1
  313. package/dist/swirl-components/{p-8342ee34.entry.js → p-d4eb2174.entry.js} +1 -1
  314. package/dist/swirl-components/{p-19caf328.entry.js → p-f2989961.entry.js} +1 -1
  315. package/dist/swirl-components/p-f8dc7e92.entry.js +1 -0
  316. package/dist/swirl-components/swirl-components.esm.js +1 -1
  317. package/dist/types/components/swirl-action-list/swirl-action-list.d.ts +4 -0
  318. package/dist/types/components/swirl-action-list-item/swirl-action-list-item.d.ts +1 -0
  319. package/dist/types/components/swirl-app-layout/swirl-app-layout.stories.d.ts +1 -2
  320. package/dist/types/components/swirl-button/swirl-button.d.ts +1 -0
  321. package/dist/types/components/swirl-file-viewer/swirl-file-viewer.d.ts +1 -0
  322. package/dist/types/components/swirl-icon/icons/swirl-icon-bookmark.d.ts +5 -0
  323. package/dist/types/components/swirl-icon/icons/swirl-icon-double-arrow-left.d.ts +5 -0
  324. package/dist/types/components/swirl-icon/icons/swirl-icon-double-arrow-right.d.ts +5 -0
  325. package/dist/types/components/swirl-icon/icons/swirl-icon-folder.d.ts +5 -0
  326. package/dist/types/components/swirl-lightbox/swirl-lightbox.d.ts +6 -0
  327. package/dist/types/components/swirl-pdf-reader/swirl-pdf-reader.d.ts +4 -0
  328. package/dist/types/components/swirl-popover/swirl-popover.d.ts +1 -0
  329. package/dist/types/components/swirl-popover/swirl-popover.stories.d.ts +3 -0
  330. package/dist/types/components/swirl-shell-layout/swirl-shell-layout.d.ts +33 -0
  331. package/dist/types/components/swirl-shell-layout/swirl-shell-layout.stories.d.ts +15 -0
  332. package/dist/types/components/swirl-shell-navigation-item/swirl-shell-navigation-item.d.ts +11 -0
  333. package/dist/types/components/swirl-shell-navigation-item/swirl-shell-navigation-item.stories.d.ts +23 -0
  334. package/dist/types/components/swirl-spinner/swirl-spinner.d.ts +1 -1
  335. package/dist/types/components.d.ts +118 -0
  336. package/dist/types/prototypes/file-manager/file-manager.stories.d.ts +1 -2
  337. package/dist/types/utils.d.ts +2 -1
  338. package/package.json +2 -2
  339. package/vscode-data.json +121 -0
  340. package/dist/cjs/swirl-action-list.cjs.entry.js +0 -52
  341. package/dist/cjs/swirl-icon-more-vertikal.cjs.entry.js +0 -24
  342. package/dist/cjs/swirl-separator.cjs.entry.js +0 -19
  343. package/dist/cjs/swirl-thumbnail.cjs.entry.js +0 -26
  344. package/dist/esm/swirl-action-list.entry.js +0 -48
  345. package/dist/esm/swirl-separator.entry.js +0 -15
  346. package/dist/swirl-components/p-027680e2.entry.js +0 -1
  347. package/dist/swirl-components/p-2edc08f0.entry.js +0 -1
  348. package/dist/swirl-components/p-4a847ce0.entry.js +0 -1
  349. package/dist/swirl-components/p-5540b8cf.entry.js +0 -1
  350. package/dist/swirl-components/p-8ea0a318.entry.js +0 -1
  351. package/dist/swirl-components/p-9142e03b.js +0 -1
  352. package/dist/swirl-components/p-a0e0322a.entry.js +0 -1
  353. package/dist/swirl-components/p-c7326b88.entry.js +0 -1
  354. package/dist/swirl-components/p-cef24ae4.entry.js +0 -1
  355. package/dist/swirl-components/p-d20dbf47.entry.js +0 -1
  356. package/dist/swirl-components/p-e1abf6d5.entry.js +0 -1
  357. package/dist/swirl-components/p-ff161795.entry.js +0 -1
@@ -6,10 +6,10 @@ const index = require('./index-83363034.js');
6
6
  const a11yDialog_esm = require('./a11y-dialog.esm-4a3287ed.js');
7
7
  const bodyScrollLock_esm = require('./bodyScrollLock.esm-f29f1a77.js');
8
8
  const index$1 = require('./index-e038b0f7.js');
9
- const utils = require('./utils-a07ee0db.js');
9
+ const utils = require('./utils-f1b4e064.js');
10
10
  require('./_commonjsHelpers-a5111d61.js');
11
11
 
12
- const swirlLightboxCss = ":host{display:block}:host *{box-sizing:border-box}.lightbox{position:fixed;z-index:var(--s-z-40);background-color:rgba(0, 0, 0, 1);inset:0}.lightbox[aria-hidden=\"true\"]{display:none}@media (min-width: 768px){.lightbox{background-color:rgba(0, 0, 0, 0.6)}}.lightbox:not(.lightbox--closing) .lightbox__body{-webkit-animation:0.15s lightbox-fade-in;animation:0.15s lightbox-fade-in}@media (prefers-reduced-motion){.lightbox:not(.lightbox--closing) .lightbox__body{-webkit-animation:none;animation:none}}.lightbox--closing{-webkit-animation:0.15s lightbox-fade-out;animation:0.15s lightbox-fade-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion){.lightbox--closing{-webkit-animation:none;animation:none}}.lightbox__body{position:relative;width:100%;height:100%}.lightbox__header{position:absolute;z-index:1;top:0;right:0;left:0;display:flex;padding:var(--s-space-12) var(--s-space-16);justify-content:space-between;align-items:flex-start;pointer-events:none}.lightbox__controls{position:absolute;z-index:1;top:50%;right:0;left:0;display:none;padding-right:var(--s-space-16);padding-left:var(--s-space-16);justify-content:space-between;align-items:flex-start;pointer-events:none}@media (min-width: 768px){.lightbox__controls{display:flex}}.lightbox__close-button,.lightbox__download-button,.lightbox__previous-slide-button,.lightbox__next-slide-button{display:inline-flex;width:2.5rem;height:2.5rem;justify-content:center;align-items:center;border:none;border-radius:50%;color:var(--s-icon-on-image);background-color:rgba(0, 0, 0, 0.6);cursor:pointer;transition:opacity 0.15s;pointer-events:auto}.lightbox__close-button:disabled,.lightbox__download-button:disabled,.lightbox__previous-slide-button:disabled,.lightbox__next-slide-button:disabled{pointer-events:none;opacity:0}.lightbox__content{overflow:hidden;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lightbox__slides{display:flex;width:100%;height:100%}.lightbox__slides ::slotted(*){flex-basis:100%;flex-shrink:0;transition:transform 0.3s}@media (min-width: 768px){.lightbox__slides ::slotted(*){padding:4rem 5rem}}@media (prefers-reduced-motion){.lightbox__slides ::slotted(*){transition:none}}.lightbox__pagination{position:absolute;bottom:var(--s-space-32);left:50%;padding:var(--s-space-4) var(--s-space-12);border-radius:var(--s-border-radius-base);color:var(--s-text-on-image);background-color:rgba(0, 0, 0, 0.6);font-weight:var(--s-font-weight-medium);line-height:var(--s-line-height-base);transform:translateX(-50%);pointer-events:none}@media (min-width: 768px){.lightbox__pagination{display:none}}@-webkit-keyframes lightbox-fade-in{from{opacity:0}to{opacity:1}}@keyframes lightbox-fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes lightbox-fade-out{from{opacity:1}to{opacity:0}}@keyframes lightbox-fade-out{from{opacity:1}to{opacity:0}}";
12
+ const swirlLightboxCss = ":host{display:block}:host *{box-sizing:border-box}.lightbox{position:fixed;z-index:var(--s-z-40);background-color:rgba(0, 0, 0, 1);inset:0}.lightbox[aria-hidden=\"true\"]{display:none}@media (min-width: 768px){.lightbox{background-color:rgba(0, 0, 0, 0.6)}}.lightbox:not(.lightbox--closing) .lightbox__body{-webkit-animation:0.15s lightbox-fade-in;animation:0.15s lightbox-fade-in}@media (prefers-reduced-motion){.lightbox:not(.lightbox--closing) .lightbox__body{-webkit-animation:none;animation:none}}.lightbox--closing{-webkit-animation:0.15s lightbox-fade-out;animation:0.15s lightbox-fade-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion){.lightbox--closing{-webkit-animation:none;animation:none}}.lightbox__body{position:relative;width:100%;height:100%}.lightbox__header{position:absolute;z-index:1;top:0;right:0;left:0;display:flex;padding:var(--s-space-12) var(--s-space-16);justify-content:space-between;align-items:flex-start;pointer-events:none}.lightbox__controls{position:absolute;z-index:1;top:50%;right:0;left:0;display:none;padding-right:var(--s-space-16);padding-left:var(--s-space-16);justify-content:space-between;align-items:flex-start;pointer-events:none}@media (min-width: 768px){.lightbox__controls{display:flex}}.lightbox__close-button,.lightbox__menu-button,.lightbox__previous-slide-button,.lightbox__next-slide-button{display:inline-flex;width:2.5rem;height:2.5rem;justify-content:center;align-items:center;border:none;border-radius:50%;color:var(--s-icon-on-image);background-color:rgba(0, 0, 0, 0.6);cursor:pointer;transition:opacity 0.15s;pointer-events:auto}.lightbox__close-button:disabled,.lightbox__menu-button:disabled,.lightbox__previous-slide-button:disabled,.lightbox__next-slide-button:disabled{pointer-events:none;opacity:0}.lightbox__content{overflow:hidden;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lightbox__slides{display:flex;width:100%;height:100%}.lightbox__slides ::slotted(*){flex-basis:100%;flex-shrink:0;transition:transform 0.3s}@media (min-width: 768px){.lightbox__slides ::slotted(*){padding:4rem 5rem}}@media (prefers-reduced-motion){.lightbox__slides ::slotted(*){transition:none}}.lightbox__pagination{position:absolute;bottom:var(--s-space-32);left:50%;padding:var(--s-space-4) var(--s-space-12);border-radius:var(--s-border-radius-base);color:var(--s-text-on-image);background-color:rgba(0, 0, 0, 0.6);font-weight:var(--s-font-weight-medium);line-height:var(--s-line-height-base);transform:translateX(-50%);pointer-events:none}@media (min-width: 768px){.lightbox__pagination{display:none}}.lightbox__meta{display:flex;padding-top:var(--s-space-4);padding-right:var(--s-space-16);padding-bottom:var(--s-space-4);padding-left:var(--s-space-16);align-items:center;gap:var(--s-space-12)}@media (min-width: 768px){.lightbox__meta{max-width:18rem}}.lightbox__thumbnail{display:inline-flex;flex-shrink:0}.lightbox__file-info{display:flex;min-width:0;flex-grow:1;flex-direction:column}@-webkit-keyframes lightbox-fade-in{from{opacity:0}to{opacity:1}}@keyframes lightbox-fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes lightbox-fade-out{from{opacity:1}to{opacity:0}}@keyframes lightbox-fade-out{from{opacity:1}to{opacity:0}}";
13
13
 
14
14
  const SwirlLightbox = class {
15
15
  constructor(hostRef) {
@@ -22,6 +22,7 @@ const SwirlLightbox = class {
22
22
  this.onDownloadButtonClick = () => {
23
23
  var _a;
24
24
  (_a = this.slides[this.activeSlideIndex]) === null || _a === void 0 ? void 0 : _a.download();
25
+ this.menu.close();
25
26
  };
26
27
  this.onKeyDown = (event) => {
27
28
  if (event.code === "Escape") {
@@ -41,7 +42,7 @@ const SwirlLightbox = class {
41
42
  this.activateSlide(Math.max(0, this.activeSlideIndex - 1));
42
43
  };
43
44
  this.registerSlides = () => {
44
- this.slides = Array.from(this.el.children);
45
+ this.slides = Array.from(this.el.children).filter((el) => el.tagName === "SWIRL-FILE-VIEWER");
45
46
  this.setSlideAttributes();
46
47
  this.updateMediaPlayers();
47
48
  };
@@ -97,8 +98,10 @@ const SwirlLightbox = class {
97
98
  }
98
99
  };
99
100
  this.closeButtonLabel = "Close modal";
100
- this.downloadButtonLabel = "Download active slide content";
101
+ this.downloadButtonLabel = "Download";
101
102
  this.label = undefined;
103
+ this.menuLabel = "Slide options";
104
+ this.menuTriggerLabel = "Open slide menu";
102
105
  this.nextSlideButtonLabel = "Next slide";
103
106
  this.previousSlideButtonLabel = "Previous slide";
104
107
  this.activeSlideIndex = 0;
@@ -144,6 +147,8 @@ const SwirlLightbox = class {
144
147
  * @param newActiveSlideIndex
145
148
  */
146
149
  async activateSlide(newActiveSlideIndex) {
150
+ var _a, _b;
151
+ (_b = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.close) === null || _b === void 0 ? void 0 : _b.call(_a);
147
152
  this.dragging = false;
148
153
  this.activeSlideIndex = newActiveSlideIndex;
149
154
  this.slides.forEach((slide, index) => {
@@ -188,6 +193,18 @@ const SwirlLightbox = class {
188
193
  slide.style.transform = `translate3d(-${100 * this.activeSlideIndex}%, 0, 0)`;
189
194
  });
190
195
  }
196
+ getCurrentFileName() {
197
+ var _a, _b;
198
+ return (_b = (_a = this.slides[this.activeSlideIndex]) === null || _a === void 0 ? void 0 : _a.file) === null || _b === void 0 ? void 0 : _b.split("/").pop();
199
+ }
200
+ getCurrentFileType() {
201
+ var _a;
202
+ return (_a = this.slides[this.activeSlideIndex]) === null || _a === void 0 ? void 0 : _a.type;
203
+ }
204
+ getCurrentThumbnailUrl() {
205
+ var _a;
206
+ return (_a = this.slides[this.activeSlideIndex]) === null || _a === void 0 ? void 0 : _a.thumbnailUrl;
207
+ }
191
208
  lockBodyScroll() {
192
209
  bodyScrollLock_esm.disableBodyScroll(this.el);
193
210
  }
@@ -212,10 +229,13 @@ const SwirlLightbox = class {
212
229
  }
213
230
  render() {
214
231
  const showPagination = this.slides.length > 1;
232
+ const currentFileName = this.getCurrentFileName();
233
+ const currentFileType = this.getCurrentFileType();
234
+ const currentThumbnailUrl = this.getCurrentThumbnailUrl();
215
235
  const className = index$1.classnames("lightbox", {
216
236
  "lightbox--closing": this.closing,
217
237
  });
218
- return (index.h(index.Host, null, index.h("section", { "aria-hidden": "true", "aria-label": this.label, class: className, id: "lightbox", onMouseDown: this.onPointerDown, onMouseMove: this.onPointerMove, onMouseOut: this.onPointerUp, onMouseUp: this.onPointerUp, onKeyDown: this.onKeyDown, onTouchEnd: this.onPointerUp, onTouchMove: this.onPointerMove, onTouchStart: this.onPointerDown, ref: (el) => (this.modalEl = el) }, index.h("div", { class: "lightbox__body", role: "document" }, index.h("header", { class: "lightbox__header" }, index.h("button", { "aria-label": this.closeButtonLabel, class: "lightbox__close-button", onClick: this.onCloseButtonClick }, index.h("swirl-icon-close", null)), index.h("button", { "aria-label": this.downloadButtonLabel, class: "lightbox__download-button", onClick: this.onDownloadButtonClick }, index.h("swirl-icon-download", null))), index.h("div", { "aria-roledescription": "carousel", class: "lightbox__content", role: "group" }, index.h("div", { "aria-atomic": "false", "aria-live": "polite", class: "lightbox__slides" }, index.h("slot", { onSlotchange: this.registerSlides }))), index.h("div", { class: "lightbox__controls" }, index.h("button", { "aria-label": this.previousSlideButtonLabel, class: "lightbox__previous-slide-button", disabled: this.activeSlideIndex === 0, onClick: this.onPreviousSlideClick }, index.h("swirl-icon-arrow-left", null)), index.h("button", { "aria-label": this.nextSlideButtonLabel, class: "lightbox__next-slide-button", disabled: this.activeSlideIndex === this.slides.length - 1, onClick: this.onNextSlideClick }, index.h("swirl-icon-arrow-right", null))), showPagination && (index.h("span", { class: "lightbox__pagination" }, index.h("span", { "aria-current": "page" }, this.activeSlideIndex + 1), " /", " ", this.slides.length))))));
238
+ return (index.h(index.Host, null, index.h("section", { "aria-hidden": "true", "aria-label": this.label, class: className, id: "lightbox", onMouseDown: this.onPointerDown, onMouseMove: this.onPointerMove, onMouseOut: this.onPointerUp, onMouseUp: this.onPointerUp, onKeyDown: this.onKeyDown, onTouchEnd: this.onPointerUp, onTouchMove: this.onPointerMove, onTouchStart: this.onPointerDown, ref: (el) => (this.modalEl = el) }, index.h("div", { class: "lightbox__body", role: "document" }, index.h("header", { class: "lightbox__header" }, index.h("button", { "aria-label": this.closeButtonLabel, class: "lightbox__close-button", onClick: this.onCloseButtonClick }, index.h("swirl-icon-close", null)), index.h("button", { "aria-label": this.menuTriggerLabel, class: "lightbox__menu-button", id: "slide-menu-trigger" }, index.h("swirl-icon-more-vertikal", null))), index.h("div", { "aria-roledescription": "carousel", class: "lightbox__content", role: "group" }, index.h("div", { "aria-atomic": "false", "aria-live": "polite", class: "lightbox__slides" }, index.h("slot", { onSlotchange: this.registerSlides }))), index.h("div", { class: "lightbox__controls" }, index.h("button", { "aria-label": this.previousSlideButtonLabel, class: "lightbox__previous-slide-button", disabled: this.activeSlideIndex === 0, onClick: this.onPreviousSlideClick }, index.h("swirl-icon-arrow-left", null)), index.h("button", { "aria-label": this.nextSlideButtonLabel, class: "lightbox__next-slide-button", disabled: this.activeSlideIndex === this.slides.length - 1, onClick: this.onNextSlideClick }, index.h("swirl-icon-arrow-right", null))), showPagination && (index.h("span", { class: "lightbox__pagination" }, index.h("span", { "aria-current": "page" }, this.activeSlideIndex + 1), " /", " ", this.slides.length))), index.h("swirl-popover", { animation: "scale-in-y", disableScrollLock: true, label: this.menuLabel, placement: "bottom-end", popoverId: "slide-menu", ref: (el) => (this.menu = el), trigger: "slide-menu-trigger" }, index.h("swirl-stack", null, index.h("div", { class: "lightbox__meta" }, currentThumbnailUrl && (index.h("div", { class: "lightbox__thumbnail" }, index.h("swirl-thumbnail", { alt: "", src: currentThumbnailUrl }))), index.h("div", { class: "lightbox__file-info" }, index.h("swirl-text", { truncate: true, weight: "semibold" }, currentFileName), index.h("swirl-text", { color: "subdued", size: "sm", truncate: true }, currentFileType))), index.h("swirl-separator", null), index.h("swirl-action-list", null, index.h("swirl-action-list-item", { icon: "<swirl-icon-download></swirl-icon-download>", label: this.downloadButtonLabel, onClick: this.onDownloadButtonClick }), index.h("slot", { name: "menu-items" })))))));
219
239
  }
220
240
  get el() { return index.getElement(this); }
221
241
  };
@@ -6,10 +6,10 @@ const index = require('./index-83363034.js');
6
6
  const a11yDialog_esm = require('./a11y-dialog.esm-4a3287ed.js');
7
7
  const bodyScrollLock_esm = require('./bodyScrollLock.esm-f29f1a77.js');
8
8
  const index$1 = require('./index-e038b0f7.js');
9
- const utils = require('./utils-a07ee0db.js');
9
+ const utils = require('./utils-f1b4e064.js');
10
10
  require('./_commonjsHelpers-a5111d61.js');
11
11
 
12
- const swirlPdfReaderCss = ":host{display:block}:host *{box-sizing:border-box}.pdf-reader{position:fixed;z-index:var(--s-z-40);background-color:var(--s-surface-raised-default);inset:0;touch-action:pan-x pan-y}.pdf-reader[aria-hidden=\"true\"]{display:none}.pdf-reader:not(.pdf-reader--closing) .pdf-reader__body{-webkit-animation:0.15s pdf-reader-fade-in;animation:0.15s pdf-reader-fade-in}@media (prefers-reduced-motion){.pdf-reader:not(.pdf-reader--closing) .pdf-reader__body{-webkit-animation:none;animation:none}}.pdf-reader--closing{-webkit-animation:0.15s pdf-reader-fade-out;animation:0.15s pdf-reader-fade-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion){.pdf-reader--closing{-webkit-animation:none;animation:none}}.pdf-reader__body{position:relative;width:100%;height:100%}.pdf-reader__header{display:flex;height:4rem;padding-right:var(--s-space-16);padding-left:var(--s-space-16);align-items:center;border-bottom:var(--s-border-width-default) solid var(--s-border-default);background-color:var(--s-background-default);gap:var(--s-space-8)}.pdf-reader__header-left,.pdf-reader__header-right{display:flex;flex-grow:1;align-items:center;gap:var(--s-space-8)}@media (min-width: 768px){.pdf-reader__header-left,.pdf-reader__header-right{flex-basis:calc(100 / 3 * 1%);flex-grow:0}}.pdf-reader__header-right{justify-content:flex-end}.pdf-reader__header-center{display:none;flex-grow:1;justify-content:center;align-items:center;gap:var(--s-space-16)}@media (min-width: 768px){.pdf-reader__header-center{display:flex}}.pdf-reader__label{overflow:hidden;flex-grow:1;font-weight:var(--s-font-weight-semibold);white-space:nowrap;text-overflow:ellipsis}.pdf-reader__zoom-button-container{display:flex;align-items:center;gap:var(--s-space-8)}.pdf-reader__zoom-button-container>*:not(:last-child){position:relative}.pdf-reader__zoom-button-container>*:not(:last-child):after{position:absolute;top:50%;right:calc(-1 * var(--s-space-4));width:var(--s-border-width-default);height:1.5rem;background-color:var(--s-border-default);content:\"\";transform:translate3d(50%, -50%, 0)}.pdf-reader__zoom-select-container{position:relative}.pdf-reader__zoom-select{display:inline-flex;height:2.5rem;padding-right:var(--s-space-12);padding-right:calc(var(--s-space-8) + 1.5rem + var(--s-space-12));padding-left:var(--s-space-12);justify-content:flex-start;align-items:center;border:var(--s-border-width-default) solid var(--s-border-default);border-radius:var(--s-border-radius-sm);color:var(--s-interactive-neutral-default);background-color:transparent;font:inherit;font-weight:var(--s-font-weight-medium);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pdf-reader__zoom-select:focus:not(:focus-visible){outline:none}.pdf-reader__zoom-select:focus-visible{outline-color:var(--s-focus-default)}.pdf-reader__zoom-select-icon{position:absolute;top:50%;right:var(--s-space-8);display:inline-flex;transform:translateY(-50%);pointer-events:none}.pdf-reader__content{width:100%;height:calc(100% - 4rem)}.pdf-reader__mobile-zoom-controls{position:absolute;z-index:1;right:var(--s-space-16);bottom:var(--s-space-32);display:flex;padding-bottom:var(--s-space-4);flex-direction:column;gap:var(--s-space-8)}@media (min-width: 768px){.pdf-reader__mobile-zoom-controls{display:none}}.pdf-reader__mobile-zoom-button{display:inline-flex;width:2.5rem;height:2.5rem;justify-content:center;align-items:center;border:none;border-radius:50%;color:var(--s-icon-on-image);background-color:rgba(0, 0, 0, 0.6);cursor:pointer;transition:opacity 0.15s;pointer-events:auto}.pdf-reader__mobile-zoom-button:disabled{cursor:default}@-webkit-keyframes pdf-reader-fade-in{from{opacity:0}to{opacity:1}}@keyframes pdf-reader-fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes pdf-reader-fade-out{from{opacity:1}to{opacity:0}}@keyframes pdf-reader-fade-out{from{opacity:1}to{opacity:0}}";
12
+ const swirlPdfReaderCss = ":host{display:block}:host *{box-sizing:border-box}.pdf-reader{position:fixed;z-index:var(--s-z-40);background-color:var(--s-surface-raised-default);inset:0;touch-action:pan-x pan-y}.pdf-reader[aria-hidden=\"true\"]{display:none}.pdf-reader:not(.pdf-reader--closing) .pdf-reader__body{-webkit-animation:0.15s pdf-reader-fade-in;animation:0.15s pdf-reader-fade-in}@media (prefers-reduced-motion){.pdf-reader:not(.pdf-reader--closing) .pdf-reader__body{-webkit-animation:none;animation:none}}.pdf-reader--closing{-webkit-animation:0.15s pdf-reader-fade-out;animation:0.15s pdf-reader-fade-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion){.pdf-reader--closing{-webkit-animation:none;animation:none}}.pdf-reader__body{position:relative;width:100%;height:100%}.pdf-reader__header{display:flex;height:4rem;padding-right:var(--s-space-16);padding-left:var(--s-space-16);align-items:center;border-bottom:var(--s-border-width-default) solid var(--s-border-default);background-color:var(--s-background-default);gap:var(--s-space-8)}.pdf-reader__header-left,.pdf-reader__header-right{display:flex;flex-grow:1;align-items:center;gap:var(--s-space-8)}@media (min-width: 768px){.pdf-reader__header-left,.pdf-reader__header-right{flex-basis:calc(100 / 3 * 1%);flex-grow:0}}.pdf-reader__header-right{justify-content:flex-end}.pdf-reader__header-center{display:none;flex-grow:1;justify-content:center;align-items:center;gap:var(--s-space-16)}@media (min-width: 768px){.pdf-reader__header-center{display:flex}}.pdf-reader__label{overflow:hidden;flex-grow:1;font-weight:var(--s-font-weight-semibold);white-space:nowrap;text-overflow:ellipsis}.pdf-reader__zoom-button-container{display:flex;align-items:center;gap:var(--s-space-8)}.pdf-reader__zoom-button-container>*:not(:last-child){position:relative}.pdf-reader__zoom-button-container>*:not(:last-child):after{position:absolute;top:50%;right:calc(-1 * var(--s-space-4));width:var(--s-border-width-default);height:1.5rem;background-color:var(--s-border-default);content:\"\";transform:translate3d(50%, -50%, 0)}.pdf-reader__zoom-select-container{position:relative}.pdf-reader__zoom-select{display:inline-flex;height:2.5rem;padding-right:var(--s-space-12);padding-right:calc(var(--s-space-8) + 1.5rem + var(--s-space-12));padding-left:var(--s-space-12);justify-content:flex-start;align-items:center;border:var(--s-border-width-default) solid var(--s-border-default);border-radius:var(--s-border-radius-sm);color:var(--s-interactive-neutral-default);background-color:transparent;font:inherit;font-weight:var(--s-font-weight-medium);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pdf-reader__zoom-select:focus:not(:focus-visible){outline:none}.pdf-reader__zoom-select:focus-visible{outline-color:var(--s-focus-default)}.pdf-reader__zoom-select-icon{position:absolute;top:50%;right:var(--s-space-8);display:inline-flex;transform:translateY(-50%);pointer-events:none}.pdf-reader__content{width:100%;height:calc(100% - 4rem)}.pdf-reader__mobile-zoom-controls{position:absolute;z-index:1;right:var(--s-space-16);bottom:var(--s-space-32);display:flex;padding-bottom:var(--s-space-4);flex-direction:column;gap:var(--s-space-8)}@media (min-width: 768px){.pdf-reader__mobile-zoom-controls{display:none}}.pdf-reader__mobile-zoom-button{display:inline-flex;width:2.5rem;height:2.5rem;justify-content:center;align-items:center;border:none;border-radius:50%;color:var(--s-icon-on-image);background-color:rgba(0, 0, 0, 0.6);cursor:pointer;transition:opacity 0.15s;pointer-events:auto}.pdf-reader__mobile-zoom-button:disabled{cursor:default}.pdf-reader__meta{display:flex;padding-top:var(--s-space-4);padding-right:var(--s-space-16);padding-bottom:var(--s-space-4);padding-left:var(--s-space-8);align-items:center;gap:var(--s-space-12)}@media (min-width: 768px){.pdf-reader__meta{max-width:18rem}}.pdf-reader__thumbnail{display:inline-flex;flex-shrink:0;padding-left:var(--s-space-4)}.pdf-reader__file-info{display:flex;min-width:0;flex-grow:1;flex-direction:column}@-webkit-keyframes pdf-reader-fade-in{from{opacity:0}to{opacity:1}}@keyframes pdf-reader-fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes pdf-reader-fade-out{from{opacity:1}to{opacity:0}}@keyframes pdf-reader-fade-out{from{opacity:1}to{opacity:0}}";
13
13
 
14
14
  const SwirlPdfReader = class {
15
15
  constructor(hostRef) {
@@ -30,11 +30,13 @@ const SwirlPdfReader = class {
30
30
  };
31
31
  this.onPrintButtonClick = () => {
32
32
  this.pdfViewer.print();
33
+ this.menu.close();
33
34
  };
34
35
  this.onDownloadButtonClick = async () => {
35
36
  this.downloading = true;
36
37
  await this.viewer.download();
37
38
  this.downloading = false;
39
+ this.menu.close();
38
40
  };
39
41
  this.onZoomInButtonClick = () => {
40
42
  const currentZoomStepIndex = this.zoomSteps.indexOf(+this.zoom);
@@ -61,7 +63,10 @@ const SwirlPdfReader = class {
61
63
  this.closeButtonLabel = "Close PDF viewer";
62
64
  this.downloadButtonLabel = "Download PDF";
63
65
  this.file = undefined;
66
+ this.fileTypeLabel = "PDF Document";
64
67
  this.label = undefined;
68
+ this.menuLabel = "File menu";
69
+ this.menuTriggerLabel = "Open file menu";
65
70
  this.printButtonLabel = "Print PDF";
66
71
  this.zoomInButtonLabel = "Zoom in";
67
72
  this.zoomOutButtonLabel = "Zoom out";
@@ -134,9 +139,9 @@ const SwirlPdfReader = class {
134
139
  const className = index$1.classnames("pdf-reader", {
135
140
  "pdf-reader--closing": this.closing,
136
141
  });
137
- return (index.h(index.Host, null, index.h("section", { "aria-hidden": "true", "aria-label": this.label, class: className, id: "pdf-reader", onKeyDown: this.onKeyDown, ref: (el) => (this.modalEl = el) }, index.h("div", { class: "pdf-reader__body", role: "document" }, index.h("header", { class: "pdf-reader__header" }, index.h("span", { class: "pdf-reader__header-left" }, index.h("swirl-button", { class: "pdf-reader__close-button", hideLabel: true, icon: "<swirl-icon-close></swirl-icon-close>", label: this.closeButtonLabel, onClick: this.onCloseButtonClick }), index.h("span", { class: "pdf-reader__label" }, this.label)), index.h("span", { class: "pdf-reader__header-center" }, index.h("span", { class: "pdf-reader__zoom-button-container" }, index.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 }), index.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 })), index.h("span", { class: "pdf-reader__zoom-select-container" }, index.h("select", { "aria-label": this.zoomSelectLabel, class: "pdf-reader__zoom-select", name: "zoom-select", id: "zoom-select", onChange: this.onZoomChange }, index.h("option", { selected: this.zoom === "auto", value: "auto" }, this.autoZoomLabel), this.zoomSteps.map((zoom) => (index.h("option", { key: zoom, selected: this.zoom === zoom, value: zoom }, zoom * 100, "%")))), index.h("swirl-icon-expand-more", { class: "pdf-reader__zoom-select-icon" }))), index.h("span", { class: "pdf-reader__header-right" }, index.h("swirl-button", { class: "pdf-reader__print-button", hideLabel: true, icon: "<swirl-icon-print></swirl-icon-print>", label: this.printButtonLabel, onClick: this.onPrintButtonClick }), index.h("swirl-button", { class: "pdf-reader__download-button", disabled: this.downloading, hideLabel: true, icon: !this.downloading
142
+ return (index.h(index.Host, null, index.h("section", { "aria-hidden": "true", "aria-label": this.label, class: className, id: "pdf-reader", onKeyDown: this.onKeyDown, ref: (el) => (this.modalEl = el) }, index.h("div", { class: "pdf-reader__body", role: "document" }, index.h("header", { class: "pdf-reader__header" }, index.h("span", { class: "pdf-reader__header-left" }, index.h("swirl-button", { class: "pdf-reader__close-button", hideLabel: true, icon: "<swirl-icon-close></swirl-icon-close>", label: this.closeButtonLabel, onClick: this.onCloseButtonClick }), index.h("span", { class: "pdf-reader__label" }, this.label)), index.h("span", { class: "pdf-reader__header-center" }, index.h("span", { class: "pdf-reader__zoom-button-container" }, index.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 }), index.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 })), index.h("span", { class: "pdf-reader__zoom-select-container" }, index.h("select", { "aria-label": this.zoomSelectLabel, class: "pdf-reader__zoom-select", name: "zoom-select", id: "zoom-select", onChange: this.onZoomChange }, index.h("option", { selected: this.zoom === "auto", value: "auto" }, this.autoZoomLabel), this.zoomSteps.map((zoom) => (index.h("option", { key: zoom, selected: this.zoom === zoom, value: zoom }, zoom * 100, "%")))), index.h("swirl-icon-expand-more", { class: "pdf-reader__zoom-select-icon" }))), index.h("span", { class: "pdf-reader__header-right" }, index.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 }))), index.h("div", { class: "pdf-reader__content" }, index.h("swirl-file-viewer", { active: this.active, file: this.file, onActivate: this.onActivate, ref: (el) => (this.viewer = el), type: "application/pdf", zoom: this.zoom }), index.h("div", { class: "pdf-reader__mobile-zoom-controls" }, index.h("button", { "aria-label": this.autoZoomLabel, class: "pdf-reader__mobile-zoom-button", onClick: this.onZoomAutoButtonClick, type: "button" }, this.zoom === "auto" ? (index.h("swirl-icon-fullscreen-exit", null)) : (index.h("swirl-icon-fullscreen", null))), index.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" }, index.h("swirl-icon-add", null)), index.h("button", { "aria-label": this.zoomOutButtonLabel, class: "pdf-reader__mobile-zoom-button", disabled: this.zoom === this.zoomSteps[0], onClick: this.onZoomOutButtonClick, type: "button" }, index.h("swirl-icon-remove", null))))), index.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" }, index.h("swirl-stack", null, index.h("div", { class: "pdf-reader__meta" }, index.h("div", { class: "pdf-reader__thumbnail" }, index.h("svg", { fill: "none", height: "36", viewBox: "0 0 24 36", width: "24" }, index.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" }), index.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" }), index.h("path", { d: "M14.5146 21.6V15.192H17.2506V16.056H15.4326V18H17.0166V18.864H15.4326V21.6H14.5146Z", fill: "white" }), index.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" }), index.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" }), index.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" }), index.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" }), index.h("path", { d: "M14.5146 21.6V15.192H17.2506V16.056H15.4326V18H17.0166V18.864H15.4326V21.6H14.5146Z", fill: "white" }))), index.h("div", { class: "pdf-reader__file-info" }, index.h("swirl-text", { truncate: true, weight: "semibold" }, this.label), index.h("swirl-text", { color: "subdued", size: "sm", truncate: true }, this.fileTypeLabel))), index.h("swirl-separator", null), index.h("swirl-action-list", null, index.h("swirl-action-list-item", { class: "pdf-reader__print-button", icon: "<swirl-icon-print></swirl-icon-print>", label: this.printButtonLabel, onClick: this.onPrintButtonClick }), index.h("swirl-action-list-item", { class: "pdf-reader__download-button", disabled: this.downloading, icon: !this.downloading
138
143
  ? "<swirl-icon-download></swirl-icon-download>"
139
- : '<swirl-spinner size="s"></swirl-spinner>', label: this.downloadButtonLabel, onClick: this.onDownloadButtonClick }))), index.h("div", { class: "pdf-reader__content" }, index.h("swirl-file-viewer", { active: this.active, file: this.file, onActivate: this.onActivate, ref: (el) => (this.viewer = el), type: "application/pdf", zoom: this.zoom }), index.h("div", { class: "pdf-reader__mobile-zoom-controls" }, index.h("button", { "aria-label": this.autoZoomLabel, class: "pdf-reader__mobile-zoom-button", onClick: this.onZoomAutoButtonClick, type: "button" }, this.zoom === "auto" ? (index.h("swirl-icon-fullscreen-exit", null)) : (index.h("swirl-icon-fullscreen", null))), index.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" }, index.h("swirl-icon-add", null)), index.h("button", { "aria-label": this.zoomOutButtonLabel, class: "pdf-reader__mobile-zoom-button", disabled: this.zoom === this.zoomSteps[0], onClick: this.onZoomOutButtonClick, type: "button" }, index.h("swirl-icon-remove", null))))))));
144
+ : '<swirl-spinner size="xs"></swirl-spinner>', label: this.downloadButtonLabel, onClick: this.onDownloadButtonClick }), index.h("slot", { name: "menu-items" })))))));
140
145
  }
141
146
  get el() { return index.getElement(this); }
142
147
  };
@@ -6,7 +6,7 @@ const index = require('./index-83363034.js');
6
6
  const floatingUi_dom_esm = require('./floating-ui.dom.esm-35943202.js');
7
7
  const bodyScrollLock_esm = require('./bodyScrollLock.esm-f29f1a77.js');
8
8
  const index$1 = require('./index-e038b0f7.js');
9
- const utils = require('./utils-a07ee0db.js');
9
+ const utils = require('./utils-f1b4e064.js');
10
10
  require('./_commonjsHelpers-a5111d61.js');
11
11
 
12
12
  const swirlPopoverCss = ":host{position:relative;z-index:var(--s-z-40);display:inline-flex}:host *{box-sizing:border-box}.popover--active:not(.popover--closing) .popover__backdrop{-webkit-animation:0.15s popover-fade-in;animation:0.15s popover-fade-in}@media (prefers-reduced-motion){.popover--active:not(.popover--closing) .popover__backdrop{-webkit-animation:none;animation:none}}.popover--active:not(.popover--closing) .popover__content{-webkit-animation:0.15s popover-slide-in;animation:0.15s popover-slide-in}@media (min-width: 768px){.popover--active:not(.popover--closing) .popover__content{transform-origin:top left;-webkit-animation:0.15s popover-fade-scale-in-xy;animation:0.15s popover-fade-scale-in-xy}}@media (prefers-reduced-motion){.popover--active:not(.popover--closing) .popover__content{-webkit-animation:none;animation:none}}.popover--closing .popover__backdrop{-webkit-animation:0.15s popover-fade-out;animation:0.15s popover-fade-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion){.popover--closing .popover__backdrop{-webkit-animation:none;animation:none}}.popover--closing .popover__content{-webkit-animation:0.15s popover-slide-out;animation:0.15s popover-slide-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (min-width: 768px){.popover--closing .popover__content{-webkit-animation:0.15s popover-fade-out;animation:0.15s popover-fade-out}}@media (prefers-reduced-motion){.popover--closing .popover__content{-webkit-animation:none;animation:none}}.popover--inactive .popover__content{display:none}@media (min-width: 768px){.popover--animation-scale-in-y.popover--active:not(.popover--closing) .popover__content{-webkit-animation:0.15s popover-fade-scale-in-y;animation:0.15s popover-fade-scale-in-y}}@media (prefers-reduced-motion){.popover--animation-scale-in-y.popover--active:not(.popover--closing) .popover__content{-webkit-animation:none;animation:none}}.popover__backdrop{position:fixed;z-index:0;background-color:rgba(0, 0, 0, 0.2);-webkit-animation:0.15s popover-backdrop-fade-in;animation:0.15s popover-backdrop-fade-in;inset:0}@media (prefers-reduced-motion){.popover__backdrop{-webkit-animation:none;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-sm);-webkit-animation:none;animation:none;box-shadow:var(--s-shadow-level-1)}}.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:var(--s-space-8);padding-bottom:var(--s-space-8)}}.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}}@-webkit-keyframes popover-slide-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes popover-slide-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes popover-slide-out{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes popover-slide-out{from{transform:translateY(0)}to{transform:translateY(100%)}}@-webkit-keyframes popover-fade-in{from{opacity:0}to{opacity:1}}@keyframes popover-fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes popover-fade-out{from{opacity:1}to{opacity:0}}@keyframes popover-fade-out{from{opacity:1}to{opacity:0}}@-webkit-keyframes popover-fade-scale-in-xy{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes popover-fade-scale-in-xy{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes popover-fade-scale-in-y{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@keyframes popover-fade-scale-in-y{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}";
@@ -56,6 +56,7 @@ const SwirlPopover = class {
56
56
  this.close();
57
57
  };
58
58
  this.animation = "scale-in-xy";
59
+ this.disableScrollLock = undefined;
59
60
  this.enableFlip = true;
60
61
  this.label = undefined;
61
62
  this.offset = 8;
@@ -73,14 +74,15 @@ const SwirlPopover = class {
73
74
  this.updateTriggerAttributes();
74
75
  }
75
76
  disconnectedCallback() {
76
- bodyScrollLock_esm.enableBodyScroll(this.scrollContainer);
77
+ this.unlockBodyScroll();
77
78
  }
78
79
  onWindowFocusIn(event) {
79
80
  if (!this.active) {
80
81
  return;
81
82
  }
82
83
  const target = event.target;
83
- const popoverLostFocus = !this.el.contains(target);
84
+ const activeElement = utils.getActiveElement();
85
+ const popoverLostFocus = !this.el.contains(target) && !this.el.contains(activeElement);
84
86
  if (popoverLostFocus) {
85
87
  this.close();
86
88
  }
@@ -205,12 +207,16 @@ const SwirlPopover = class {
205
207
  }
206
208
  lockBodyScroll() {
207
209
  const mobile = utils.isMobileViewport();
208
- if (!mobile) {
210
+ if (!mobile || this.disableScrollLock) {
209
211
  return;
210
212
  }
211
213
  bodyScrollLock_esm.disableBodyScroll(this.scrollContainer);
212
214
  }
213
215
  unlockBodyScroll() {
216
+ const mobile = utils.isMobileViewport();
217
+ if (!mobile || this.disableScrollLock) {
218
+ return;
219
+ }
214
220
  bodyScrollLock_esm.enableBodyScroll(this.scrollContainer);
215
221
  }
216
222
  render() {
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-83363034.js');
6
6
  const index$1 = require('./index-e038b0f7.js');
7
- const utils = require('./utils-a07ee0db.js');
7
+ const utils = require('./utils-f1b4e064.js');
8
8
  require('./_commonjsHelpers-a5111d61.js');
9
9
 
10
10
  const swirlResourceListFileItemCss = ":host{display:block;width:100%}:host *{box-sizing:border-box}.resource-list-file-item{position:relative;display:flex;width:100%;padding:var(--s-space-12) var(--s-space-16);align-items:center;background-color:var(--s-background-default);line-height:var(--s-line-height-base);gap:var(--s-space-12)}.resource-list-file-item:focus{outline:none}.resource-list-file-item:focus-visible{background-color:var(--s-background-hovered)}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.resource-list-file-item{padding:var(--s-space-12);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm)}}.resource-list-file-item--has-control .resource-list-file-item__label-container{padding-right:calc(var(--s-space-12) + 2.5rem)}.resource-list-file-item__icon{color:var(--s-icon-highlight)}.resource-list-file-item__label-container{position:relative;display:flex;min-width:0;min-height:2.875rem;flex-grow:1;justify-content:center;flex-direction:column}.resource-list-file-item__label-container: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-file-item__label{overflow:hidden;font-weight:var(--s-font-weight-medium);white-space:nowrap;text-overflow:ellipsis}.resource-list-file-item__description{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-file-item__error-message{margin-top:var(--s-space-2)}.resource-list-file-item__remove-button{position:absolute;top:50%;right:var(--s-space-16);display:inline-flex;transform:translateY(-50%)}.resource-list-file-item__spinner{position:absolute;top:50%;right:var(--s-space-24);display:inline-flex;transform:translateY(-50%)}";
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-83363034.js');
6
6
  const index$1 = require('./index-e038b0f7.js');
7
- const utils = require('./utils-a07ee0db.js');
7
+ const utils = require('./utils-f1b4e064.js');
8
8
  require('./_commonjsHelpers-a5111d61.js');
9
9
 
10
10
  const swirlSearchCss = ".sc-swirl-search-h{display:flex;width:100%}.sc-swirl-search-h *.sc-swirl-search{box-sizing:border-box}.search.sc-swirl-search{position:relative;display:flex;width:100%}.search--disabled.sc-swirl-search .search__icon.sc-swirl-search{color:var(--s-icon-disabled)}.search--disabled.sc-swirl-search .search__input.sc-swirl-search{color:var(--s-text-disabled)}.search--disabled.sc-swirl-search .search__input.sc-swirl-search::-moz-placeholder{color:var(--s-text-disabled)}.search--disabled.sc-swirl-search .search__input.sc-swirl-search::placeholder{color:var(--s-text-disabled)}.search__icon.sc-swirl-search{position:absolute;top:50%;left:var(--s-space-12);display:inline-flex;color:var(--s-icon-default);transform:translateY(-50%)}.search__input.sc-swirl-search{width:100%;height:2.5rem;padding-top:var(--s-space-8);padding-right:calc(var(--s-space-12) + 1.5rem + var(--s-space-8));padding-bottom:var(--s-space-8);padding-left:calc(var(--s-space-12) + 1.5rem + var(--s-space-8));border:none;border-radius:var(--s-border-radius-base);color:var(--s-text-default);background-color:var(--s-surface-raised-default);font:inherit;line-height:var(--s-line-height-base);caret-color:var(--s-border-highlight)}.search__input.sc-swirl-search:focus:not(:focus-visible){outline:none}.search__input.sc-swirl-search:focus-visible{outline-color:var(--s-focus-default)}.search__input.sc-swirl-search::-moz-placeholder{color:var(--s-text-subdued)}.search__input.sc-swirl-search::placeholder{color:var(--s-text-subdued)}.search__input.sc-swirl-search::-webkit-search-decoration,.search__input.sc-swirl-search::-webkit-search-cancel-button,.search__input.sc-swirl-search::-webkit-search-results-button,.search__input.sc-swirl-search::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.search__input.sc-swirl-search:not(:-moz-placeholder-shown)+.search__clear-button.sc-swirl-search{display:inline-flex}.search__input.sc-swirl-search:not(:placeholder-shown)+.search__clear-button.sc-swirl-search{display:inline-flex}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.search__input.sc-swirl-search{font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);padding-left:calc(var(--s-space-8) + 1.5rem + var(--s-space-8))}}.search__clear-button.sc-swirl-search{position:absolute;top:50%;right:var(--s-space-12);display:none;padding:0;border:none;color:var(--s-icon-default);background-color:transparent;cursor:pointer;transform:translateY(-50%)}";
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-83363034.js');
6
6
  const index$1 = require('./index-e038b0f7.js');
7
- const utils = require('./utils-a07ee0db.js');
7
+ const utils = require('./utils-f1b4e064.js');
8
8
  require('./_commonjsHelpers-a5111d61.js');
9
9
 
10
10
  const swirlSelectCss = ".sc-swirl-select-h{display:block;width:100%}.sc-swirl-select-h *.sc-swirl-select{box-sizing:border-box}.select.sc-swirl-select{position:relative;display:flex;width:100%}.select--disabled.sc-swirl-select .select__label.sc-swirl-select{color:var(--s-text-disabled)}.select--disabled.sc-swirl-select .select__indicator.sc-swirl-select{color:var(--s-icon-disabled)}.select--inline.sc-swirl-select .select__indicator.sc-swirl-select{top:0}.select__label.sc-swirl-select{display:block;overflow:hidden;width:100%;height:1.375rem;margin:0;padding:0;padding-right:calc(1.5rem + var(--s-space-8));border:none;background-color:transparent;font:inherit;line-height:var(--s-line-height-base);text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:default}.select__label.sc-swirl-select:focus{outline:none}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.select__label.sc-swirl-select{font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm)}}.select__indicator.sc-swirl-select{position:absolute;top:calc(-1 * var(--s-space-12));right:0;display:inline-flex;color:var(--s-icon-default)}";
@@ -0,0 +1,106 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-83363034.js');
6
+ const index$1 = require('./index-e038b0f7.js');
7
+ const utils = require('./utils-f1b4e064.js');
8
+ require('./_commonjsHelpers-a5111d61.js');
9
+
10
+ const swirlShellLayoutCss = ":host{--extended-sidebar-width:17.5rem;--collapsed-sidebar-width:4rem;display:flex;width:100%;height:100%}:host *{box-sizing:border-box}.shell-layout{display:flex;width:100%;min-height:100%;background-color:var(--s-border-default);gap:var(--s-border-width-default)}@media (min-width: 992px){.shell-layout--collapsed-sidebar:not(.shell-layout--collapsing) .shell-layout__sidebar-wrapper.shell-layout__sidebar-wrapper--hovered .shell-layout__sidebar,.shell-layout--collapsed-sidebar:not(.shell-layout--collapsing) .shell-layout__sidebar-wrapper:focus-within .shell-layout__sidebar{width:var(--extended-sidebar-width);box-shadow:0 0.75rem 2rem rgba(25, 26, 28, 0.12),\n 0 0.25rem 0.75rem rgba(25, 26, 28, 0.08)}}.shell-layout--collapsed-sidebar .shell-layout__sidebar-wrapper{min-height:100%;transform:translate3d(-100%, 0, 0)}.shell-layout--collapsed-sidebar .shell-layout__sidebar-wrapper .shell-layout__sidebar{width:100%;box-shadow:none}@media (min-width: 992px){.shell-layout--collapsed-sidebar .shell-layout__sidebar-wrapper{max-width:var(--collapsed-sidebar-width);flex-basis:var(--collapsed-sidebar-width);transform:none}.shell-layout--collapsed-sidebar .shell-layout__sidebar-wrapper:not(.shell-layout__sidebar-wrapper--hovered):not(:focus-within) .shell-layout__sidebar{box-shadow:none}.shell-layout--collapsed-sidebar .shell-layout__sidebar-wrapper:not(.shell-layout__sidebar-wrapper--hovered):not(:focus-within) .shell-layout__collapsed-logo{display:block}.shell-layout--collapsed-sidebar .shell-layout__sidebar-wrapper:not(.shell-layout__sidebar-wrapper--hovered):not(:focus-within) .shell-layout__expanded-logo{display:none}.shell-layout--collapsed-sidebar .shell-layout__sidebar-wrapper:not(.shell-layout__sidebar-wrapper--hovered):not(:focus-within) .shell-layout__toggle{display:none}}.shell-layout__sidebar-wrapper{position:absolute;z-index:2;top:0;bottom:0;left:0;width:100%;max-width:var(--extended-sidebar-width);flex-basis:var(--extended-sidebar-width);flex-shrink:0;transition:max-width 0.2s, transform 0.2s}@media (min-width: 992px){.shell-layout__sidebar-wrapper{position:relative;inset:auto}}.shell-layout__sidebar{display:flex;width:var(--extended-sidebar-width);height:100%;border-right:var(--s-border-width-default) solid var(--s-border-default);background-color:var(--s-border-default);flex-direction:column;transition:box-shadow 0.2s, width 0.2s;box-shadow:0 0.75rem 2rem rgba(25, 26, 28, 0.12),\n 0 0.25rem 0.75rem rgba(25, 26, 28, 0.08);gap:var(--s-border-width-default)}@media (min-width: 992px){.shell-layout__sidebar{border-right:none;box-shadow:none}}.shell-layout__header{padding:var(--s-space-8);flex-shrink:0;background-color:var(--s-background-default)}.shell-layout__logo-bar{display:flex;overflow:hidden;align-items:center}.shell-layout__expanded-logo{padding-top:var(--s-space-8);padding-right:calc(var(--s-space-12) + var(--s-space-2));padding-bottom:var(--s-space-8);padding-left:calc(var(--s-space-12) + var(--s-space-2));flex-grow:1}.shell-layout__collapsed-logo{display:none;padding-top:var(--s-space-8);padding-right:calc(var(--s-space-12) + var(--s-space-2));padding-bottom:var(--s-space-8);padding-left:calc(var(--s-space-12) + var(--s-space-2));flex-grow:1}.shell-layout__toggle{padding-right:var(--s-space-8);padding-left:var(--s-space-12);flex-grow:0;flex-shrink:0}.shell-layout__mobile-toggle{position:absolute;z-index:2;top:var(--s-space-12);left:calc(100% + var(--s-space-16))}@media (min-width: 992px){.shell-layout__mobile-toggle{display:none}}.shell-layout__tools{margin-top:var(--s-space-4);flex-basis:100%;flex-shrink:0}.shell-layout__main-navigation{overflow:auto;padding:var(--s-space-8);flex-grow:1;background-color:var(--s-background-default)}.shell-layout__main{flex-grow:1;background-color:var(--s-background-default)}.shell-layout__main>*,.shell-layout__main ::slotted(*){height:100%}.shell-layout__backdrop{position:fixed;z-index:1;background-color:rgba(0, 0, 0, 0.4);-webkit-animation:shell-layout-backdrop-fade-in 0.1s;animation:shell-layout-backdrop-fade-in 0.1s;inset:0}@media (min-width: 992px){.shell-layout__backdrop{display:none}}.shell-layout__backdrop--fading{-webkit-animation:shell-layout-backdrop-fade-out 0.2s;animation:shell-layout-backdrop-fade-out 0.2s}@-webkit-keyframes shell-layout-backdrop-fade-in{from{opacity:0}to{opacity:1}}@keyframes shell-layout-backdrop-fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes shell-layout-backdrop-fade-out{from{opacity:1}to{opacity:0}}@keyframes shell-layout-backdrop-fade-out{from{opacity:1}to{opacity:0}}";
11
+
12
+ const SwirlShellLayout = class {
13
+ constructor(hostRef) {
14
+ index.registerInstance(this, hostRef);
15
+ this.desktopMediaQuery = utils.getDesktopMediaQuery();
16
+ this.desktopMediaQueryHandler = (event) => {
17
+ if (event.matches) {
18
+ this.showSidebar();
19
+ }
20
+ else {
21
+ this.hideSidebar();
22
+ }
23
+ };
24
+ this.hideSidebar = () => {
25
+ this.collapsedSidebar = true;
26
+ this.collapsing = true;
27
+ setTimeout(() => {
28
+ this.collapsing = false;
29
+ // Some browsers don't update the hovered state of an element correctly,
30
+ // if the element was moved and is no longer underneath the cursor.
31
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=276329
32
+ this.sidebarHovered = false;
33
+ }, 200);
34
+ };
35
+ this.showSidebar = () => {
36
+ this.collapsedSidebar = false;
37
+ };
38
+ this.toggleSidebar = () => {
39
+ if (this.collapsedSidebar) {
40
+ this.showSidebar();
41
+ }
42
+ else {
43
+ this.hideSidebar();
44
+ }
45
+ };
46
+ this.onBackdropClick = () => {
47
+ if (!this.collapsedSidebar) {
48
+ this.hideSidebar();
49
+ }
50
+ };
51
+ this.onSidebarClick = () => {
52
+ var _a;
53
+ if (this.collapsedSidebar) {
54
+ (_a = utils.getActiveElement()) === null || _a === void 0 ? void 0 : _a.blur();
55
+ }
56
+ };
57
+ this.onSidebarMouseEnter = () => {
58
+ this.sidebarHovered = true;
59
+ };
60
+ this.onSidebarMouseLeave = () => {
61
+ this.sidebarHovered = false;
62
+ };
63
+ this.mainNavigationLabel = "Main";
64
+ this.sidebarToggleLabel = "Toggle sidebar";
65
+ this.collapsedSidebar = undefined;
66
+ this.collapsing = undefined;
67
+ this.sidebarHovered = undefined;
68
+ }
69
+ componentWillLoad() {
70
+ var _a, _b;
71
+ if (!this.desktopMediaQuery.matches) {
72
+ this.hideSidebar();
73
+ }
74
+ (_b = (_a = this.desktopMediaQuery).addEventListener) === null || _b === void 0 ? void 0 : _b.call(_a, "change", this.desktopMediaQueryHandler);
75
+ }
76
+ /**
77
+ * Collapse the left sidebar.
78
+ */
79
+ async collapseSidebar() {
80
+ this.hideSidebar();
81
+ }
82
+ /**
83
+ * Extend the left sidebar.
84
+ */
85
+ async extendSidebar() {
86
+ this.showSidebar();
87
+ }
88
+ render() {
89
+ const className = index$1.classnames("shell-layout", {
90
+ "shell-layout--collapsed-sidebar": this.collapsedSidebar,
91
+ "shell-layout--collapsing": this.collapsing,
92
+ });
93
+ const sidebarWrapperClassName = index$1.classnames("shell-layout__sidebar-wrapper", {
94
+ "shell-layout__sidebar-wrapper--hovered": this.sidebarHovered,
95
+ });
96
+ const backdropClassName = index$1.classnames("shell-layout__backdrop", {
97
+ "shell-layout__backdrop--fading": this.collapsing,
98
+ });
99
+ return (index.h(index.Host, null, index.h("div", { class: className }, index.h("div", { class: sidebarWrapperClassName, onClick: this.onSidebarClick, onMouseEnter: this.onSidebarMouseEnter, onMouseLeave: this.onSidebarMouseLeave }, index.h("div", { class: "shell-layout__sidebar" }, index.h("header", { class: "shell-layout__header" }, index.h("div", { class: "shell-layout__logo-bar" }, index.h("div", { class: "shell-layout__expanded-logo" }, index.h("slot", { name: "logo-expanded" })), index.h("div", { class: "shell-layout__collapsed-logo" }, index.h("slot", { name: "logo-collapsed" })), index.h("div", { class: "shell-layout__toggle" }, index.h("swirl-button", { swirlAriaExpanded: String(!this.collapsedSidebar), hideLabel: true, icon: this.collapsedSidebar
100
+ ? "<swirl-icon-double-arrow-right></swirl-icon-double-arrow-right>"
101
+ : "<swirl-icon-double-arrow-left></swirl-icon-double-arrow-left>", label: this.sidebarToggleLabel, onClick: this.toggleSidebar }))), index.h("div", { class: "shell-layout__tools" }, index.h("slot", { name: "tools" }))), index.h("nav", { "aria-label": this.mainNavigationLabel, class: "shell-layout__main-navigation" }, index.h("slot", { name: "main-navigation" })), this.collapsedSidebar && !this.collapsing && (index.h("div", { class: "shell-layout__mobile-toggle" }, index.h("swirl-button", { swirlAriaExpanded: String(!this.collapsedSidebar), hideLabel: true, icon: "<swirl-icon-menu></swirl-icon-menu>", label: this.sidebarToggleLabel, onClick: this.showSidebar }))))), index.h("main", { class: "shell-layout__main" }, index.h("slot", { name: "main" })), (!this.collapsedSidebar || this.collapsing) && (index.h("div", { class: backdropClassName, onClick: this.onBackdropClick })))));
102
+ }
103
+ };
104
+ SwirlShellLayout.style = swirlShellLayoutCss;
105
+
106
+ exports.swirl_shell_layout = SwirlShellLayout;
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-83363034.js');
6
+ const index$1 = require('./index-e038b0f7.js');
7
+ require('./_commonjsHelpers-a5111d61.js');
8
+
9
+ const swirlShellNavigationItemCss = ":host{display:inline-flex;width:100%;height:3rem;padding-right:var(--s-space-12);padding-left:calc(var(--s-space-12) + var(--s-space-2));flex-shrink:0;justify-content:flex-start;align-items:center;border-radius:var(--s-border-radius-sm);color:var(--s-text-default);background-color:var(--s-surface-default);font-size:var(--s-font-size-sm);font-weight:var(--s-font-weight-medium);line-height:var(--s-line-height-sm);cursor:pointer;gap:var(--s-space-12)}:host(:hover){background-color:var(--s-surface-hovered)}:host(:active){background-color:var(--s-surface-pressed)}:host(:focus){outline:none}:host(:focus-visible) .shell-navigation-item__label{border-radius:var(--s-border-radius-xs);box-shadow:0 0 0 0.125rem var(--s-focus-default)}:host(.shell-navigation-item--active){color:var(--s-text-highlight);background-color:var(--s-surface-raised-default)}:host(.shell-navigation-item--active) ::part(icon){color:var(--s-icon-highlight)}:host(.shell-navigation-item--active:hover){background-color:var(--s-surface-raised-hovered)}:host(.shell-navigation-item--active:active){background-color:var(--s-surface-raised-pressed)}:host *{box-sizing:border-box}.shell-navigation-item__icon{display:inline-flex}.shell-navigation-item__icon ::part(icon){color:var(--s-icon-default)}.shell-navigation-item__label{overflow:hidden;min-width:0;white-space:nowrap;text-overflow:ellipsis}";
10
+
11
+ const SwirlShellNavigationItem = class {
12
+ constructor(hostRef) {
13
+ index.registerInstance(this, hostRef);
14
+ this.onKeyDown = (event) => {
15
+ if (event.code === "Enter") {
16
+ event.preventDefault();
17
+ this.el.click();
18
+ }
19
+ };
20
+ this.active = undefined;
21
+ this.icon = undefined;
22
+ this.label = undefined;
23
+ }
24
+ componentDidLoad() {
25
+ this.forceIconProps();
26
+ }
27
+ forceIconProps() {
28
+ if (!Boolean(this.iconEl)) {
29
+ return;
30
+ }
31
+ const icon = this.iconEl.children[0];
32
+ icon === null || icon === void 0 ? void 0 : icon.setAttribute("size", "20");
33
+ }
34
+ render() {
35
+ const className = index$1.classnames("shell-navigation-item", {
36
+ "shell-navigation-item--active": this.active,
37
+ "shell-navigation-item--has-icon": Boolean(this.icon),
38
+ });
39
+ return (index.h(index.Host, { class: className, onKeyDown: this.onKeyDown, role: "link", tabIndex: 0 }, index.h("span", { class: "shell-navigation-item__icon", innerHTML: this.icon, ref: (el) => (this.iconEl = el) }), index.h("span", { class: "shell-navigation-item__label" }, this.label)));
40
+ }
41
+ get el() { return index.getElement(this); }
42
+ };
43
+ SwirlShellNavigationItem.style = swirlShellNavigationItemCss;
44
+
45
+ exports.swirl_shell_navigation_item = SwirlShellNavigationItem;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-83363034.js');
6
- const utils = require('./utils-a07ee0db.js');
6
+ const utils = require('./utils-f1b4e064.js');
7
7
 
8
8
  /* global setTimeout, clearTimeout */
9
9
 
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-83363034.js');
6
6
  const index$1 = require('./index-e038b0f7.js');
7
- const utils = require('./utils-a07ee0db.js');
7
+ const utils = require('./utils-f1b4e064.js');
8
8
  require('./_commonjsHelpers-a5111d61.js');
9
9
 
10
10
  const swirlTextInputCss = ".sc-swirl-text-input-h{display:block;width:100%}.sc-swirl-text-input-h *.sc-swirl-text-input{box-sizing:border-box}.text-input.sc-swirl-text-input{position:relative;display:flex;width:100%;align-items:center;color:var(--s-text-default);font:inherit;line-height:var(--s-line-height-sm)}.text-input--clearable.sc-swirl-text-input,.text-input--type-number.sc-swirl-text-input,.text-input--type-password.sc-swirl-text-input{padding-right:calc(1.5rem + var(--s-space-8))}.text-input--show-password.sc-swirl-text-input .text-input__input.sc-swirl-text-input{width:100%}.text-input--disabled.sc-swirl-text-input .text-input__character-counter.sc-swirl-text-input{color:var(--s-text-disabled)}.text-input--inline.sc-swirl-text-input .text-input__stepper.sc-swirl-text-input{display:none}.text-input--inline.sc-swirl-text-input .text-input__clear-button.sc-swirl-text-input,.text-input--inline.sc-swirl-text-input .text-input__password-toggle.sc-swirl-text-input{top:-0.0625rem}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.text-input--inline.sc-swirl-text-input .text-input__clear-button.sc-swirl-text-input,.text-input--inline.sc-swirl-text-input .text-input__password-toggle.sc-swirl-text-input{top:0}}.text-input--inline.sc-swirl-text-input .text-input__character-counter.sc-swirl-text-input{top:0}.text-input__input.sc-swirl-text-input{display:inline-flex;width:100%;max-height:13.75rem;margin:0;padding:0;border:none;color:var(--s-text-default);background-color:transparent;font:inherit;font-size:var(--s-font-size-base);line-height:var(--s-line-height-base);resize:none;caret-color:var(--s-border-highlight)}.text-input__input.sc-swirl-text-input:focus{outline:none}.text-input__input.sc-swirl-text-input:disabled{color:var(--s-text-disabled);background-color:transparent}.text-input__input.sc-swirl-text-input::-webkit-outer-spin-button,.text-input__input.sc-swirl-text-input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.text-input__input[type=\"number\"].sc-swirl-text-input{-moz-appearance:textfield}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.text-input__input.sc-swirl-text-input{font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm)}}input.text-input__input.sc-swirl-text-input:not([type=\"password\"]){width:0.25rem;min-width:0.25rem}.text-input--disable-dynamic-width.sc-swirl-text-input input.text-input__input.sc-swirl-text-input:not([type=\"password\"]){width:100%;min-width:0}.text-input__clear-button.sc-swirl-text-input,.text-input__password-toggle.sc-swirl-text-input{position:absolute;top:calc(-1 * var(--s-space-12));right:0;display:inline-flex;margin:0;padding:0;border:none;color:var(--s-icon-default);background-color:transparent;cursor:pointer}.text-input__clear-button.sc-swirl-text-input:focus:not(:focus-visible),.text-input__password-toggle.sc-swirl-text-input:focus:not(:focus-visible){outline:none}.text-input__clear-button.sc-swirl-text-input:focus-visible,.text-input__password-toggle.sc-swirl-text-input:focus-visible{outline-color:var(--s-focus-default)}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.text-input__clear-button.sc-swirl-text-input,.text-input__password-toggle.sc-swirl-text-input{top:-0.625rem}}.text-input__stepper.sc-swirl-text-input{position:absolute;top:-1.4375rem;right:0;display:flex;flex-direction:column}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.text-input__stepper.sc-swirl-text-input{top:-1.25rem}}.text-input__step-button.sc-swirl-text-input{display:inline-flex;margin:0;padding:0;border:none;color:var(--s-icon-default);background-color:transparent;cursor:pointer}.text-input__step-button.sc-swirl-text-input:focus:not(:focus-visible){outline:none}.text-input__step-button.sc-swirl-text-input:focus-visible{outline-color:var(--s-focus-default)}.text-input__character-counter.sc-swirl-text-input{position:absolute;top:-1.375rem;right:0;display:flex;color:var(--s-text-subdued);line-height:var(--s-line-height-sm);flex-direction:column}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.text-input__character-counter.sc-swirl-text-input{font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm)}}.text-input__prefix.sc-swirl-text-input{padding-right:var(--s-space-4);color:var(--s-text-subdued);font-size:var(--s-font-size-base)}.text-input__suffix.sc-swirl-text-input{padding-left:var(--s-space-4);color:var(--s-text-subdued);font-size:var(--s-font-size-base)}";
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-83363034.js');
6
6
  const index$1 = require('./index-e038b0f7.js');
7
- const utils = require('./utils-a07ee0db.js');
7
+ const utils = require('./utils-f1b4e064.js');
8
8
  require('./_commonjsHelpers-a5111d61.js');
9
9
 
10
10
  const swirlToastCss = ":host{display:flex}:host *{box-sizing:border-box}.toast{display:flex;width:100%;max-width:28rem;padding:var(--s-space-16);border-radius:var(--s-border-radius-sm);color:var(--s-text-on-status);background-color:var(--s-surface-neutral-default);box-shadow:var(--s-shadow-level-2)}.toast--intent-critical{background-color:var(--s-surface-critical-default)}.toast--intent-success{background-color:var(--s-surface-success-default)}.toast__icon{display:inline-flex;margin-top:calc(-1 * var(--s-space-2));margin-right:0.625rem;flex-shrink:0}.toast__icon ::part(icon){color:var(--s-icon-on-status)}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.toast__icon{margin-top:0}}.toast__content{flex-grow:1;line-height:var(--s-line-height-base);text-align:left;align-self:flex-start}@media (min-width: 992px) and (max-width: 1439px) and (hover: hover),(min-width: 1440px){.toast__content{font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm)}}.toast__dismiss-button{display:inline-flex;min-width:1.5rem;height:1.5rem;margin-top:calc(-1 * var(--s-space-2));margin-left:var(--s-space-16);padding:0;flex-shrink:0;justify-content:center;align-items:center;border:none;color:var(--s-text-on-status);background-color:transparent;font:inherit;font-weight:var(--s-font-weight-semibold);cursor:pointer}.toast__dismiss-button ::part(icon){color:var(--s-icon-on-status)}";
@@ -17,6 +17,18 @@ function closestPassShadow(node, selector) {
17
17
  }
18
18
  return closestPassShadow(node.parentNode, selector);
19
19
  }
20
+ function getActiveElement(root = document) {
21
+ const activeEl = root.activeElement;
22
+ if (!Boolean(activeEl)) {
23
+ return undefined;
24
+ }
25
+ if (Boolean(activeEl.shadowRoot)) {
26
+ return getActiveElement(activeEl.shadowRoot);
27
+ }
28
+ else {
29
+ return activeEl;
30
+ }
31
+ }
20
32
  const getDesktopMediaQuery = () => document.documentElement.classList.contains("disable-desktop-style-tweaks")
21
33
  ? window.matchMedia(null)
22
34
  : window.matchMedia("(min-width: 992px) and (max-width: 1439px) and (hover: hover), (min-width: 1440px)");
@@ -86,6 +98,7 @@ function querySelectorAllDeep(root, selector) {
86
98
 
87
99
  exports.closestPassShadow = closestPassShadow;
88
100
  exports.debounce = debounce;
101
+ exports.getActiveElement = getActiveElement;
89
102
  exports.getDesktopMediaQuery = getDesktopMediaQuery;
90
103
  exports.getVisibleHeight = getVisibleHeight;
91
104
  exports.isMobileViewport = isMobileViewport;
@@ -66,6 +66,7 @@
66
66
  "./components/swirl-icon/icons/swirl-icon-arrow-upward.js",
67
67
  "./components/swirl-icon/icons/swirl-icon-attachment.js",
68
68
  "./components/swirl-icon/icons/swirl-icon-block.js",
69
+ "./components/swirl-icon/icons/swirl-icon-bookmark.js",
69
70
  "./components/swirl-icon/icons/swirl-icon-cancel.js",
70
71
  "./components/swirl-icon/icons/swirl-icon-chat-bubble.js",
71
72
  "./components/swirl-icon/icons/swirl-icon-chats-filled.js",
@@ -85,6 +86,8 @@
85
86
  "./components/swirl-icon/icons/swirl-icon-date-range.js",
86
87
  "./components/swirl-icon/icons/swirl-icon-delete.js",
87
88
  "./components/swirl-icon/icons/swirl-icon-description.js",
89
+ "./components/swirl-icon/icons/swirl-icon-double-arrow-left.js",
90
+ "./components/swirl-icon/icons/swirl-icon-double-arrow-right.js",
88
91
  "./components/swirl-icon/icons/swirl-icon-download.js",
89
92
  "./components/swirl-icon/icons/swirl-icon-drag-handle.js",
90
93
  "./components/swirl-icon/icons/swirl-icon-edit.js",
@@ -96,6 +99,7 @@
96
99
  "./components/swirl-icon/icons/swirl-icon-file.js",
97
100
  "./components/swirl-icon/icons/swirl-icon-filter.js",
98
101
  "./components/swirl-icon/icons/swirl-icon-folder-shared.js",
102
+ "./components/swirl-icon/icons/swirl-icon-folder.js",
99
103
  "./components/swirl-icon/icons/swirl-icon-fullscreen-exit.js",
100
104
  "./components/swirl-icon/icons/swirl-icon-fullscreen.js",
101
105
  "./components/swirl-icon/icons/swirl-icon-group-assign.js",
@@ -162,6 +166,8 @@
162
166
  "./components/swirl-search/swirl-search.js",
163
167
  "./components/swirl-select/swirl-select.js",
164
168
  "./components/swirl-separator/swirl-separator.js",
169
+ "./components/swirl-shell-layout/swirl-shell-layout.js",
170
+ "./components/swirl-shell-navigation-item/swirl-shell-navigation-item.js",
165
171
  "./components/swirl-tab/swirl-tab.js",
166
172
  "./components/swirl-table/swirl-table.js",
167
173
  "./components/swirl-table-cell/swirl-table-cell.js",
@@ -1,5 +1,6 @@
1
1
  :host {
2
2
  display: block;
3
+ width: 100%;
3
4
  }
4
5
 
5
6
  :host * {
@@ -1,5 +1,5 @@
1
1
  import { h, Host } from "@stencil/core";
2
- import { querySelectorAllDeep } from "../../utils";
2
+ import { getActiveElement, querySelectorAllDeep } from "../../utils";
3
3
  /**
4
4
  * @slot slot - The action list items and sections
5
5
  */
@@ -17,6 +17,20 @@ export class SwirlActionList {
17
17
  };
18
18
  }
19
19
  componentDidLoad() {
20
+ this.updateItems();
21
+ this.observeSlotChanges();
22
+ }
23
+ disconnectedCallback() {
24
+ var _a;
25
+ (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
26
+ }
27
+ observeSlotChanges() {
28
+ this.observer = new MutationObserver(() => {
29
+ this.updateItems();
30
+ });
31
+ this.observer.observe(this.el, { childList: true });
32
+ }
33
+ updateItems() {
20
34
  this.items = querySelectorAllDeep(this.el, '[role="menuitem"]');
21
35
  }
22
36
  focusNextItem() {
@@ -25,17 +39,15 @@ export class SwirlActionList {
25
39
  this.items[newIndex].focus();
26
40
  }
27
41
  focusPreviousItem() {
42
+ var _a;
28
43
  const activeItemIndex = this.getActiveItemIndex();
29
44
  const newIndex = activeItemIndex === 0 ? this.items.length - 1 : activeItemIndex - 1;
30
- this.items[newIndex].focus();
45
+ (_a = this.items[newIndex]) === null || _a === void 0 ? void 0 : _a.focus();
31
46
  }
32
47
  getActiveItemIndex() {
33
- return this.items.findIndex((item) => {
34
- var _a, _b;
35
- return item === document.activeElement ||
36
- item ===
37
- ((_b = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('[role="menuitem"]'));
38
- });
48
+ const activeElement = getActiveElement();
49
+ return this.items.findIndex((item) => item === activeElement ||
50
+ item === (activeElement === null || activeElement === void 0 ? void 0 : activeElement.querySelector('[role="menuitem"]')));
39
51
  }
40
52
  render() {
41
53
  return (h(Host, null, h("div", { "aria-orientation": "vertical", class: "action-list", onKeyDown: this.onKeyDown, role: "menu" }, h("slot", null))));