@pod-os/elements 0.29.0 → 0.29.1-rc.0f2bda0.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 (4198) hide show
  1. package/dist/cjs/{app-globals-97a7ec18.js → app-globals-fee927d4.js} +3 -1
  2. package/dist/cjs/app-globals-fee927d4.js.map +1 -0
  3. package/dist/cjs/chunk.3Y6SB6QS-10eff6c1.js +31 -0
  4. package/dist/cjs/chunk.3Y6SB6QS-10eff6c1.js.map +1 -0
  5. package/dist/cjs/elements.cjs.js +3 -2
  6. package/dist/cjs/elements.cjs.js.map +1 -1
  7. package/dist/cjs/{ion-icon_32.cjs.entry.js → ion-icon_33.cjs.entry.js} +213 -138
  8. package/dist/cjs/ion-icon_33.cjs.entry.js.map +1 -0
  9. package/dist/cjs/loader.cjs.js +3 -2
  10. package/dist/cjs/loader.cjs.js.map +1 -1
  11. package/dist/cjs/pos-document.cjs.entry.js +1 -1
  12. package/dist/cjs/pos-document.cjs.entry.js.map +1 -1
  13. package/dist/collection/apps/pos-app-browser/pos-app-browser.css +3 -0
  14. package/dist/collection/collection-manifest.json +1 -0
  15. package/dist/collection/components/pos-app/pos-app.js +1 -1
  16. package/dist/collection/components/pos-document/pos-document.css +1 -1
  17. package/dist/collection/components/pos-tool-select/pos-tool-select.css +99 -0
  18. package/dist/collection/components/pos-tool-select/pos-tool-select.js +107 -0
  19. package/dist/collection/components/pos-tool-select/pos-tool-select.js.map +1 -0
  20. package/dist/collection/components/pos-tool-select/shoelace.js +2 -0
  21. package/dist/collection/components/pos-tool-select/shoelace.js.map +1 -0
  22. package/dist/collection/components/pos-type-router/pos-type-router.css +54 -0
  23. package/dist/collection/components/pos-type-router/pos-type-router.js +52 -6
  24. package/dist/collection/components/pos-type-router/pos-type-router.js.map +1 -1
  25. package/dist/collection/components/pos-type-router/selectToolsForTypes.js +73 -0
  26. package/dist/collection/components/pos-type-router/selectToolsForTypes.js.map +1 -0
  27. package/dist/collection/global.js +2 -0
  28. package/dist/collection/global.js.map +1 -1
  29. package/dist/collection/shoelace/assets/icons/0-circle-fill.svg +4 -0
  30. package/dist/collection/shoelace/assets/icons/0-circle.svg +4 -0
  31. package/dist/collection/shoelace/assets/icons/0-square-fill.svg +4 -0
  32. package/dist/collection/shoelace/assets/icons/0-square.svg +4 -0
  33. package/dist/collection/shoelace/assets/icons/1-circle-fill.svg +3 -0
  34. package/dist/collection/shoelace/assets/icons/1-circle.svg +3 -0
  35. package/dist/collection/shoelace/assets/icons/1-square-fill.svg +3 -0
  36. package/dist/collection/shoelace/assets/icons/1-square.svg +4 -0
  37. package/dist/collection/shoelace/assets/icons/123.svg +3 -0
  38. package/dist/collection/shoelace/assets/icons/2-circle-fill.svg +3 -0
  39. package/dist/collection/shoelace/assets/icons/2-circle.svg +3 -0
  40. package/dist/collection/shoelace/assets/icons/2-square-fill.svg +3 -0
  41. package/dist/collection/shoelace/assets/icons/2-square.svg +4 -0
  42. package/dist/collection/shoelace/assets/icons/3-circle-fill.svg +3 -0
  43. package/dist/collection/shoelace/assets/icons/3-circle.svg +4 -0
  44. package/dist/collection/shoelace/assets/icons/3-square-fill.svg +3 -0
  45. package/dist/collection/shoelace/assets/icons/3-square.svg +4 -0
  46. package/dist/collection/shoelace/assets/icons/4-circle-fill.svg +3 -0
  47. package/dist/collection/shoelace/assets/icons/4-circle.svg +4 -0
  48. package/dist/collection/shoelace/assets/icons/4-square-fill.svg +4 -0
  49. package/dist/collection/shoelace/assets/icons/4-square.svg +4 -0
  50. package/dist/collection/shoelace/assets/icons/5-circle-fill.svg +3 -0
  51. package/dist/collection/shoelace/assets/icons/5-circle.svg +3 -0
  52. package/dist/collection/shoelace/assets/icons/5-square-fill.svg +3 -0
  53. package/dist/collection/shoelace/assets/icons/5-square.svg +4 -0
  54. package/dist/collection/shoelace/assets/icons/6-circle-fill.svg +3 -0
  55. package/dist/collection/shoelace/assets/icons/6-circle.svg +3 -0
  56. package/dist/collection/shoelace/assets/icons/6-square-fill.svg +4 -0
  57. package/dist/collection/shoelace/assets/icons/6-square.svg +4 -0
  58. package/dist/collection/shoelace/assets/icons/7-circle-fill.svg +3 -0
  59. package/dist/collection/shoelace/assets/icons/7-circle.svg +3 -0
  60. package/dist/collection/shoelace/assets/icons/7-square-fill.svg +3 -0
  61. package/dist/collection/shoelace/assets/icons/7-square.svg +4 -0
  62. package/dist/collection/shoelace/assets/icons/8-circle-fill.svg +3 -0
  63. package/dist/collection/shoelace/assets/icons/8-circle.svg +3 -0
  64. package/dist/collection/shoelace/assets/icons/8-square-fill.svg +4 -0
  65. package/dist/collection/shoelace/assets/icons/8-square.svg +4 -0
  66. package/dist/collection/shoelace/assets/icons/9-circle-fill.svg +3 -0
  67. package/dist/collection/shoelace/assets/icons/9-circle.svg +3 -0
  68. package/dist/collection/shoelace/assets/icons/9-square-fill.svg +4 -0
  69. package/dist/collection/shoelace/assets/icons/9-square.svg +4 -0
  70. package/dist/collection/shoelace/assets/icons/LICENSE +21 -0
  71. package/dist/collection/shoelace/assets/icons/activity.svg +3 -0
  72. package/dist/collection/shoelace/assets/icons/airplane-engines-fill.svg +3 -0
  73. package/dist/collection/shoelace/assets/icons/airplane-engines.svg +3 -0
  74. package/dist/collection/shoelace/assets/icons/airplane-fill.svg +3 -0
  75. package/dist/collection/shoelace/assets/icons/airplane.svg +3 -0
  76. package/dist/collection/shoelace/assets/icons/alarm-fill.svg +3 -0
  77. package/dist/collection/shoelace/assets/icons/alarm.svg +4 -0
  78. package/dist/collection/shoelace/assets/icons/alexa.svg +3 -0
  79. package/dist/collection/shoelace/assets/icons/align-bottom.svg +4 -0
  80. package/dist/collection/shoelace/assets/icons/align-center.svg +3 -0
  81. package/dist/collection/shoelace/assets/icons/align-end.svg +4 -0
  82. package/dist/collection/shoelace/assets/icons/align-middle.svg +3 -0
  83. package/dist/collection/shoelace/assets/icons/align-start.svg +4 -0
  84. package/dist/collection/shoelace/assets/icons/align-top.svg +4 -0
  85. package/dist/collection/shoelace/assets/icons/alipay.svg +4 -0
  86. package/dist/collection/shoelace/assets/icons/alphabet-uppercase.svg +3 -0
  87. package/dist/collection/shoelace/assets/icons/alphabet.svg +3 -0
  88. package/dist/collection/shoelace/assets/icons/alt.svg +3 -0
  89. package/dist/collection/shoelace/assets/icons/amazon.svg +4 -0
  90. package/dist/collection/shoelace/assets/icons/amd.svg +3 -0
  91. package/dist/collection/shoelace/assets/icons/android.svg +3 -0
  92. package/dist/collection/shoelace/assets/icons/android2.svg +3 -0
  93. package/dist/collection/shoelace/assets/icons/app-indicator.svg +4 -0
  94. package/dist/collection/shoelace/assets/icons/app.svg +3 -0
  95. package/dist/collection/shoelace/assets/icons/apple.svg +4 -0
  96. package/dist/collection/shoelace/assets/icons/archive-fill.svg +3 -0
  97. package/dist/collection/shoelace/assets/icons/archive.svg +3 -0
  98. package/dist/collection/shoelace/assets/icons/arrow-90deg-down.svg +3 -0
  99. package/dist/collection/shoelace/assets/icons/arrow-90deg-left.svg +3 -0
  100. package/dist/collection/shoelace/assets/icons/arrow-90deg-right.svg +3 -0
  101. package/dist/collection/shoelace/assets/icons/arrow-90deg-up.svg +3 -0
  102. package/dist/collection/shoelace/assets/icons/arrow-bar-down.svg +3 -0
  103. package/dist/collection/shoelace/assets/icons/arrow-bar-left.svg +3 -0
  104. package/dist/collection/shoelace/assets/icons/arrow-bar-right.svg +3 -0
  105. package/dist/collection/shoelace/assets/icons/arrow-bar-up.svg +3 -0
  106. package/dist/collection/shoelace/assets/icons/arrow-clockwise.svg +4 -0
  107. package/dist/collection/shoelace/assets/icons/arrow-counterclockwise.svg +4 -0
  108. package/dist/collection/shoelace/assets/icons/arrow-down-circle-fill.svg +3 -0
  109. package/dist/collection/shoelace/assets/icons/arrow-down-circle.svg +3 -0
  110. package/dist/collection/shoelace/assets/icons/arrow-down-left-circle-fill.svg +3 -0
  111. package/dist/collection/shoelace/assets/icons/arrow-down-left-circle.svg +3 -0
  112. package/dist/collection/shoelace/assets/icons/arrow-down-left-square-fill.svg +3 -0
  113. package/dist/collection/shoelace/assets/icons/arrow-down-left-square.svg +3 -0
  114. package/dist/collection/shoelace/assets/icons/arrow-down-left.svg +3 -0
  115. package/dist/collection/shoelace/assets/icons/arrow-down-right-circle-fill.svg +3 -0
  116. package/dist/collection/shoelace/assets/icons/arrow-down-right-circle.svg +3 -0
  117. package/dist/collection/shoelace/assets/icons/arrow-down-right-square-fill.svg +3 -0
  118. package/dist/collection/shoelace/assets/icons/arrow-down-right-square.svg +3 -0
  119. package/dist/collection/shoelace/assets/icons/arrow-down-right.svg +3 -0
  120. package/dist/collection/shoelace/assets/icons/arrow-down-short.svg +3 -0
  121. package/dist/collection/shoelace/assets/icons/arrow-down-square-fill.svg +3 -0
  122. package/dist/collection/shoelace/assets/icons/arrow-down-square.svg +3 -0
  123. package/dist/collection/shoelace/assets/icons/arrow-down-up.svg +3 -0
  124. package/dist/collection/shoelace/assets/icons/arrow-down.svg +3 -0
  125. package/dist/collection/shoelace/assets/icons/arrow-left-circle-fill.svg +3 -0
  126. package/dist/collection/shoelace/assets/icons/arrow-left-circle.svg +3 -0
  127. package/dist/collection/shoelace/assets/icons/arrow-left-right.svg +3 -0
  128. package/dist/collection/shoelace/assets/icons/arrow-left-short.svg +3 -0
  129. package/dist/collection/shoelace/assets/icons/arrow-left-square-fill.svg +3 -0
  130. package/dist/collection/shoelace/assets/icons/arrow-left-square.svg +3 -0
  131. package/dist/collection/shoelace/assets/icons/arrow-left.svg +3 -0
  132. package/dist/collection/shoelace/assets/icons/arrow-repeat.svg +4 -0
  133. package/dist/collection/shoelace/assets/icons/arrow-return-left.svg +3 -0
  134. package/dist/collection/shoelace/assets/icons/arrow-return-right.svg +3 -0
  135. package/dist/collection/shoelace/assets/icons/arrow-right-circle-fill.svg +3 -0
  136. package/dist/collection/shoelace/assets/icons/arrow-right-circle.svg +3 -0
  137. package/dist/collection/shoelace/assets/icons/arrow-right-short.svg +3 -0
  138. package/dist/collection/shoelace/assets/icons/arrow-right-square-fill.svg +3 -0
  139. package/dist/collection/shoelace/assets/icons/arrow-right-square.svg +3 -0
  140. package/dist/collection/shoelace/assets/icons/arrow-right.svg +3 -0
  141. package/dist/collection/shoelace/assets/icons/arrow-through-heart-fill.svg +3 -0
  142. package/dist/collection/shoelace/assets/icons/arrow-through-heart.svg +3 -0
  143. package/dist/collection/shoelace/assets/icons/arrow-up-circle-fill.svg +3 -0
  144. package/dist/collection/shoelace/assets/icons/arrow-up-circle.svg +3 -0
  145. package/dist/collection/shoelace/assets/icons/arrow-up-left-circle-fill.svg +3 -0
  146. package/dist/collection/shoelace/assets/icons/arrow-up-left-circle.svg +3 -0
  147. package/dist/collection/shoelace/assets/icons/arrow-up-left-square-fill.svg +3 -0
  148. package/dist/collection/shoelace/assets/icons/arrow-up-left-square.svg +3 -0
  149. package/dist/collection/shoelace/assets/icons/arrow-up-left.svg +3 -0
  150. package/dist/collection/shoelace/assets/icons/arrow-up-right-circle-fill.svg +3 -0
  151. package/dist/collection/shoelace/assets/icons/arrow-up-right-circle.svg +3 -0
  152. package/dist/collection/shoelace/assets/icons/arrow-up-right-square-fill.svg +3 -0
  153. package/dist/collection/shoelace/assets/icons/arrow-up-right-square.svg +3 -0
  154. package/dist/collection/shoelace/assets/icons/arrow-up-right.svg +3 -0
  155. package/dist/collection/shoelace/assets/icons/arrow-up-short.svg +3 -0
  156. package/dist/collection/shoelace/assets/icons/arrow-up-square-fill.svg +3 -0
  157. package/dist/collection/shoelace/assets/icons/arrow-up-square.svg +3 -0
  158. package/dist/collection/shoelace/assets/icons/arrow-up.svg +3 -0
  159. package/dist/collection/shoelace/assets/icons/arrows-angle-contract.svg +3 -0
  160. package/dist/collection/shoelace/assets/icons/arrows-angle-expand.svg +3 -0
  161. package/dist/collection/shoelace/assets/icons/arrows-collapse-vertical.svg +3 -0
  162. package/dist/collection/shoelace/assets/icons/arrows-collapse.svg +3 -0
  163. package/dist/collection/shoelace/assets/icons/arrows-expand-vertical.svg +3 -0
  164. package/dist/collection/shoelace/assets/icons/arrows-expand.svg +3 -0
  165. package/dist/collection/shoelace/assets/icons/arrows-fullscreen.svg +3 -0
  166. package/dist/collection/shoelace/assets/icons/arrows-move.svg +3 -0
  167. package/dist/collection/shoelace/assets/icons/arrows-vertical.svg +3 -0
  168. package/dist/collection/shoelace/assets/icons/arrows.svg +3 -0
  169. package/dist/collection/shoelace/assets/icons/aspect-ratio-fill.svg +3 -0
  170. package/dist/collection/shoelace/assets/icons/aspect-ratio.svg +4 -0
  171. package/dist/collection/shoelace/assets/icons/asterisk.svg +3 -0
  172. package/dist/collection/shoelace/assets/icons/at.svg +3 -0
  173. package/dist/collection/shoelace/assets/icons/award-fill.svg +4 -0
  174. package/dist/collection/shoelace/assets/icons/award.svg +4 -0
  175. package/dist/collection/shoelace/assets/icons/back.svg +3 -0
  176. package/dist/collection/shoelace/assets/icons/backpack-fill.svg +4 -0
  177. package/dist/collection/shoelace/assets/icons/backpack.svg +4 -0
  178. package/dist/collection/shoelace/assets/icons/backpack2-fill.svg +4 -0
  179. package/dist/collection/shoelace/assets/icons/backpack2.svg +5 -0
  180. package/dist/collection/shoelace/assets/icons/backpack3-fill.svg +4 -0
  181. package/dist/collection/shoelace/assets/icons/backpack3.svg +4 -0
  182. package/dist/collection/shoelace/assets/icons/backpack4-fill.svg +4 -0
  183. package/dist/collection/shoelace/assets/icons/backpack4.svg +4 -0
  184. package/dist/collection/shoelace/assets/icons/backspace-fill.svg +3 -0
  185. package/dist/collection/shoelace/assets/icons/backspace-reverse-fill.svg +3 -0
  186. package/dist/collection/shoelace/assets/icons/backspace-reverse.svg +4 -0
  187. package/dist/collection/shoelace/assets/icons/backspace.svg +4 -0
  188. package/dist/collection/shoelace/assets/icons/badge-3d-fill.svg +4 -0
  189. package/dist/collection/shoelace/assets/icons/badge-3d.svg +4 -0
  190. package/dist/collection/shoelace/assets/icons/badge-4k-fill.svg +4 -0
  191. package/dist/collection/shoelace/assets/icons/badge-4k.svg +4 -0
  192. package/dist/collection/shoelace/assets/icons/badge-8k-fill.svg +4 -0
  193. package/dist/collection/shoelace/assets/icons/badge-8k.svg +4 -0
  194. package/dist/collection/shoelace/assets/icons/badge-ad-fill.svg +4 -0
  195. package/dist/collection/shoelace/assets/icons/badge-ad.svg +4 -0
  196. package/dist/collection/shoelace/assets/icons/badge-ar-fill.svg +4 -0
  197. package/dist/collection/shoelace/assets/icons/badge-ar.svg +4 -0
  198. package/dist/collection/shoelace/assets/icons/badge-cc-fill.svg +3 -0
  199. package/dist/collection/shoelace/assets/icons/badge-cc.svg +4 -0
  200. package/dist/collection/shoelace/assets/icons/badge-hd-fill.svg +4 -0
  201. package/dist/collection/shoelace/assets/icons/badge-hd.svg +4 -0
  202. package/dist/collection/shoelace/assets/icons/badge-sd-fill.svg +4 -0
  203. package/dist/collection/shoelace/assets/icons/badge-sd.svg +3 -0
  204. package/dist/collection/shoelace/assets/icons/badge-tm-fill.svg +3 -0
  205. package/dist/collection/shoelace/assets/icons/badge-tm.svg +4 -0
  206. package/dist/collection/shoelace/assets/icons/badge-vo-fill.svg +4 -0
  207. package/dist/collection/shoelace/assets/icons/badge-vo.svg +4 -0
  208. package/dist/collection/shoelace/assets/icons/badge-vr-fill.svg +4 -0
  209. package/dist/collection/shoelace/assets/icons/badge-vr.svg +4 -0
  210. package/dist/collection/shoelace/assets/icons/badge-wc-fill.svg +3 -0
  211. package/dist/collection/shoelace/assets/icons/badge-wc.svg +4 -0
  212. package/dist/collection/shoelace/assets/icons/bag-check-fill.svg +3 -0
  213. package/dist/collection/shoelace/assets/icons/bag-check.svg +4 -0
  214. package/dist/collection/shoelace/assets/icons/bag-dash-fill.svg +3 -0
  215. package/dist/collection/shoelace/assets/icons/bag-dash.svg +4 -0
  216. package/dist/collection/shoelace/assets/icons/bag-fill.svg +3 -0
  217. package/dist/collection/shoelace/assets/icons/bag-heart-fill.svg +3 -0
  218. package/dist/collection/shoelace/assets/icons/bag-heart.svg +3 -0
  219. package/dist/collection/shoelace/assets/icons/bag-plus-fill.svg +3 -0
  220. package/dist/collection/shoelace/assets/icons/bag-plus.svg +4 -0
  221. package/dist/collection/shoelace/assets/icons/bag-x-fill.svg +3 -0
  222. package/dist/collection/shoelace/assets/icons/bag-x.svg +4 -0
  223. package/dist/collection/shoelace/assets/icons/bag.svg +3 -0
  224. package/dist/collection/shoelace/assets/icons/balloon-fill.svg +3 -0
  225. package/dist/collection/shoelace/assets/icons/balloon-heart-fill.svg +3 -0
  226. package/dist/collection/shoelace/assets/icons/balloon-heart.svg +3 -0
  227. package/dist/collection/shoelace/assets/icons/balloon.svg +3 -0
  228. package/dist/collection/shoelace/assets/icons/ban-fill.svg +3 -0
  229. package/dist/collection/shoelace/assets/icons/ban.svg +3 -0
  230. package/dist/collection/shoelace/assets/icons/bandaid-fill.svg +3 -0
  231. package/dist/collection/shoelace/assets/icons/bandaid.svg +4 -0
  232. package/dist/collection/shoelace/assets/icons/bank.svg +3 -0
  233. package/dist/collection/shoelace/assets/icons/bank2.svg +3 -0
  234. package/dist/collection/shoelace/assets/icons/bar-chart-fill.svg +3 -0
  235. package/dist/collection/shoelace/assets/icons/bar-chart-line-fill.svg +3 -0
  236. package/dist/collection/shoelace/assets/icons/bar-chart-line.svg +3 -0
  237. package/dist/collection/shoelace/assets/icons/bar-chart-steps.svg +3 -0
  238. package/dist/collection/shoelace/assets/icons/bar-chart.svg +3 -0
  239. package/dist/collection/shoelace/assets/icons/basket-fill.svg +3 -0
  240. package/dist/collection/shoelace/assets/icons/basket.svg +3 -0
  241. package/dist/collection/shoelace/assets/icons/basket2-fill.svg +3 -0
  242. package/dist/collection/shoelace/assets/icons/basket2.svg +4 -0
  243. package/dist/collection/shoelace/assets/icons/basket3-fill.svg +3 -0
  244. package/dist/collection/shoelace/assets/icons/basket3.svg +3 -0
  245. package/dist/collection/shoelace/assets/icons/battery-charging.svg +6 -0
  246. package/dist/collection/shoelace/assets/icons/battery-full.svg +4 -0
  247. package/dist/collection/shoelace/assets/icons/battery-half.svg +4 -0
  248. package/dist/collection/shoelace/assets/icons/battery.svg +3 -0
  249. package/dist/collection/shoelace/assets/icons/behance.svg +3 -0
  250. package/dist/collection/shoelace/assets/icons/bell-fill.svg +3 -0
  251. package/dist/collection/shoelace/assets/icons/bell-slash-fill.svg +3 -0
  252. package/dist/collection/shoelace/assets/icons/bell-slash.svg +3 -0
  253. package/dist/collection/shoelace/assets/icons/bell.svg +3 -0
  254. package/dist/collection/shoelace/assets/icons/bezier.svg +4 -0
  255. package/dist/collection/shoelace/assets/icons/bezier2.svg +3 -0
  256. package/dist/collection/shoelace/assets/icons/bicycle.svg +3 -0
  257. package/dist/collection/shoelace/assets/icons/bing.svg +5 -0
  258. package/dist/collection/shoelace/assets/icons/binoculars-fill.svg +3 -0
  259. package/dist/collection/shoelace/assets/icons/binoculars.svg +3 -0
  260. package/dist/collection/shoelace/assets/icons/blockquote-left.svg +3 -0
  261. package/dist/collection/shoelace/assets/icons/blockquote-right.svg +3 -0
  262. package/dist/collection/shoelace/assets/icons/bluetooth.svg +3 -0
  263. package/dist/collection/shoelace/assets/icons/body-text.svg +3 -0
  264. package/dist/collection/shoelace/assets/icons/book-fill.svg +3 -0
  265. package/dist/collection/shoelace/assets/icons/book-half.svg +3 -0
  266. package/dist/collection/shoelace/assets/icons/book.svg +3 -0
  267. package/dist/collection/shoelace/assets/icons/bookmark-check-fill.svg +3 -0
  268. package/dist/collection/shoelace/assets/icons/bookmark-check.svg +4 -0
  269. package/dist/collection/shoelace/assets/icons/bookmark-dash-fill.svg +3 -0
  270. package/dist/collection/shoelace/assets/icons/bookmark-dash.svg +4 -0
  271. package/dist/collection/shoelace/assets/icons/bookmark-fill.svg +3 -0
  272. package/dist/collection/shoelace/assets/icons/bookmark-heart-fill.svg +3 -0
  273. package/dist/collection/shoelace/assets/icons/bookmark-heart.svg +4 -0
  274. package/dist/collection/shoelace/assets/icons/bookmark-plus-fill.svg +3 -0
  275. package/dist/collection/shoelace/assets/icons/bookmark-plus.svg +4 -0
  276. package/dist/collection/shoelace/assets/icons/bookmark-star-fill.svg +3 -0
  277. package/dist/collection/shoelace/assets/icons/bookmark-star.svg +4 -0
  278. package/dist/collection/shoelace/assets/icons/bookmark-x-fill.svg +3 -0
  279. package/dist/collection/shoelace/assets/icons/bookmark-x.svg +4 -0
  280. package/dist/collection/shoelace/assets/icons/bookmark.svg +3 -0
  281. package/dist/collection/shoelace/assets/icons/bookmarks-fill.svg +4 -0
  282. package/dist/collection/shoelace/assets/icons/bookmarks.svg +4 -0
  283. package/dist/collection/shoelace/assets/icons/bookshelf.svg +3 -0
  284. package/dist/collection/shoelace/assets/icons/boombox-fill.svg +4 -0
  285. package/dist/collection/shoelace/assets/icons/boombox.svg +6 -0
  286. package/dist/collection/shoelace/assets/icons/bootstrap-fill.svg +4 -0
  287. package/dist/collection/shoelace/assets/icons/bootstrap-reboot.svg +4 -0
  288. package/dist/collection/shoelace/assets/icons/bootstrap.svg +4 -0
  289. package/dist/collection/shoelace/assets/icons/border-all.svg +3 -0
  290. package/dist/collection/shoelace/assets/icons/border-bottom.svg +3 -0
  291. package/dist/collection/shoelace/assets/icons/border-center.svg +3 -0
  292. package/dist/collection/shoelace/assets/icons/border-inner.svg +5 -0
  293. package/dist/collection/shoelace/assets/icons/border-left.svg +3 -0
  294. package/dist/collection/shoelace/assets/icons/border-middle.svg +3 -0
  295. package/dist/collection/shoelace/assets/icons/border-outer.svg +4 -0
  296. package/dist/collection/shoelace/assets/icons/border-right.svg +3 -0
  297. package/dist/collection/shoelace/assets/icons/border-style.svg +3 -0
  298. package/dist/collection/shoelace/assets/icons/border-top.svg +3 -0
  299. package/dist/collection/shoelace/assets/icons/border-width.svg +3 -0
  300. package/dist/collection/shoelace/assets/icons/border.svg +3 -0
  301. package/dist/collection/shoelace/assets/icons/bounding-box-circles.svg +3 -0
  302. package/dist/collection/shoelace/assets/icons/bounding-box.svg +3 -0
  303. package/dist/collection/shoelace/assets/icons/box-arrow-down-left.svg +4 -0
  304. package/dist/collection/shoelace/assets/icons/box-arrow-down-right.svg +4 -0
  305. package/dist/collection/shoelace/assets/icons/box-arrow-down.svg +4 -0
  306. package/dist/collection/shoelace/assets/icons/box-arrow-in-down-left.svg +4 -0
  307. package/dist/collection/shoelace/assets/icons/box-arrow-in-down-right.svg +4 -0
  308. package/dist/collection/shoelace/assets/icons/box-arrow-in-down.svg +4 -0
  309. package/dist/collection/shoelace/assets/icons/box-arrow-in-left.svg +4 -0
  310. package/dist/collection/shoelace/assets/icons/box-arrow-in-right.svg +4 -0
  311. package/dist/collection/shoelace/assets/icons/box-arrow-in-up-left.svg +4 -0
  312. package/dist/collection/shoelace/assets/icons/box-arrow-in-up-right.svg +4 -0
  313. package/dist/collection/shoelace/assets/icons/box-arrow-in-up.svg +4 -0
  314. package/dist/collection/shoelace/assets/icons/box-arrow-left.svg +4 -0
  315. package/dist/collection/shoelace/assets/icons/box-arrow-right.svg +4 -0
  316. package/dist/collection/shoelace/assets/icons/box-arrow-up-left.svg +4 -0
  317. package/dist/collection/shoelace/assets/icons/box-arrow-up-right.svg +4 -0
  318. package/dist/collection/shoelace/assets/icons/box-arrow-up.svg +4 -0
  319. package/dist/collection/shoelace/assets/icons/box-fill.svg +3 -0
  320. package/dist/collection/shoelace/assets/icons/box-seam-fill.svg +3 -0
  321. package/dist/collection/shoelace/assets/icons/box-seam.svg +3 -0
  322. package/dist/collection/shoelace/assets/icons/box.svg +3 -0
  323. package/dist/collection/shoelace/assets/icons/box2-fill.svg +3 -0
  324. package/dist/collection/shoelace/assets/icons/box2-heart-fill.svg +3 -0
  325. package/dist/collection/shoelace/assets/icons/box2-heart.svg +4 -0
  326. package/dist/collection/shoelace/assets/icons/box2.svg +3 -0
  327. package/dist/collection/shoelace/assets/icons/boxes.svg +3 -0
  328. package/dist/collection/shoelace/assets/icons/braces-asterisk.svg +3 -0
  329. package/dist/collection/shoelace/assets/icons/braces.svg +3 -0
  330. package/dist/collection/shoelace/assets/icons/bricks.svg +3 -0
  331. package/dist/collection/shoelace/assets/icons/briefcase-fill.svg +4 -0
  332. package/dist/collection/shoelace/assets/icons/briefcase.svg +3 -0
  333. package/dist/collection/shoelace/assets/icons/brightness-alt-high-fill.svg +3 -0
  334. package/dist/collection/shoelace/assets/icons/brightness-alt-high.svg +3 -0
  335. package/dist/collection/shoelace/assets/icons/brightness-alt-low-fill.svg +3 -0
  336. package/dist/collection/shoelace/assets/icons/brightness-alt-low.svg +3 -0
  337. package/dist/collection/shoelace/assets/icons/brightness-high-fill.svg +3 -0
  338. package/dist/collection/shoelace/assets/icons/brightness-high.svg +3 -0
  339. package/dist/collection/shoelace/assets/icons/brightness-low-fill.svg +3 -0
  340. package/dist/collection/shoelace/assets/icons/brightness-low.svg +3 -0
  341. package/dist/collection/shoelace/assets/icons/brilliance.svg +3 -0
  342. package/dist/collection/shoelace/assets/icons/broadcast-pin.svg +3 -0
  343. package/dist/collection/shoelace/assets/icons/broadcast.svg +3 -0
  344. package/dist/collection/shoelace/assets/icons/browser-chrome.svg +3 -0
  345. package/dist/collection/shoelace/assets/icons/browser-edge.svg +5 -0
  346. package/dist/collection/shoelace/assets/icons/browser-firefox.svg +3 -0
  347. package/dist/collection/shoelace/assets/icons/browser-safari.svg +3 -0
  348. package/dist/collection/shoelace/assets/icons/brush-fill.svg +3 -0
  349. package/dist/collection/shoelace/assets/icons/brush.svg +3 -0
  350. package/dist/collection/shoelace/assets/icons/bucket-fill.svg +3 -0
  351. package/dist/collection/shoelace/assets/icons/bucket.svg +3 -0
  352. package/dist/collection/shoelace/assets/icons/bug-fill.svg +4 -0
  353. package/dist/collection/shoelace/assets/icons/bug.svg +3 -0
  354. package/dist/collection/shoelace/assets/icons/building-add.svg +5 -0
  355. package/dist/collection/shoelace/assets/icons/building-check.svg +5 -0
  356. package/dist/collection/shoelace/assets/icons/building-dash.svg +5 -0
  357. package/dist/collection/shoelace/assets/icons/building-down.svg +5 -0
  358. package/dist/collection/shoelace/assets/icons/building-exclamation.svg +4 -0
  359. package/dist/collection/shoelace/assets/icons/building-fill-add.svg +4 -0
  360. package/dist/collection/shoelace/assets/icons/building-fill-check.svg +4 -0
  361. package/dist/collection/shoelace/assets/icons/building-fill-dash.svg +4 -0
  362. package/dist/collection/shoelace/assets/icons/building-fill-down.svg +4 -0
  363. package/dist/collection/shoelace/assets/icons/building-fill-exclamation.svg +4 -0
  364. package/dist/collection/shoelace/assets/icons/building-fill-gear.svg +4 -0
  365. package/dist/collection/shoelace/assets/icons/building-fill-lock.svg +4 -0
  366. package/dist/collection/shoelace/assets/icons/building-fill-slash.svg +4 -0
  367. package/dist/collection/shoelace/assets/icons/building-fill-up.svg +4 -0
  368. package/dist/collection/shoelace/assets/icons/building-fill-x.svg +4 -0
  369. package/dist/collection/shoelace/assets/icons/building-fill.svg +3 -0
  370. package/dist/collection/shoelace/assets/icons/building-gear.svg +4 -0
  371. package/dist/collection/shoelace/assets/icons/building-lock.svg +4 -0
  372. package/dist/collection/shoelace/assets/icons/building-slash.svg +5 -0
  373. package/dist/collection/shoelace/assets/icons/building-up.svg +5 -0
  374. package/dist/collection/shoelace/assets/icons/building-x.svg +4 -0
  375. package/dist/collection/shoelace/assets/icons/building.svg +4 -0
  376. package/dist/collection/shoelace/assets/icons/buildings-fill.svg +3 -0
  377. package/dist/collection/shoelace/assets/icons/buildings.svg +4 -0
  378. package/dist/collection/shoelace/assets/icons/bullseye.svg +6 -0
  379. package/dist/collection/shoelace/assets/icons/bus-front-fill.svg +3 -0
  380. package/dist/collection/shoelace/assets/icons/bus-front.svg +4 -0
  381. package/dist/collection/shoelace/assets/icons/c-circle-fill.svg +3 -0
  382. package/dist/collection/shoelace/assets/icons/c-circle.svg +3 -0
  383. package/dist/collection/shoelace/assets/icons/c-square-fill.svg +3 -0
  384. package/dist/collection/shoelace/assets/icons/c-square.svg +4 -0
  385. package/dist/collection/shoelace/assets/icons/cake-fill.svg +3 -0
  386. package/dist/collection/shoelace/assets/icons/cake.svg +3 -0
  387. package/dist/collection/shoelace/assets/icons/cake2-fill.svg +4 -0
  388. package/dist/collection/shoelace/assets/icons/cake2.svg +3 -0
  389. package/dist/collection/shoelace/assets/icons/calculator-fill.svg +3 -0
  390. package/dist/collection/shoelace/assets/icons/calculator.svg +4 -0
  391. package/dist/collection/shoelace/assets/icons/calendar-check-fill.svg +3 -0
  392. package/dist/collection/shoelace/assets/icons/calendar-check.svg +4 -0
  393. package/dist/collection/shoelace/assets/icons/calendar-date-fill.svg +4 -0
  394. package/dist/collection/shoelace/assets/icons/calendar-date.svg +4 -0
  395. package/dist/collection/shoelace/assets/icons/calendar-day-fill.svg +3 -0
  396. package/dist/collection/shoelace/assets/icons/calendar-day.svg +4 -0
  397. package/dist/collection/shoelace/assets/icons/calendar-event-fill.svg +3 -0
  398. package/dist/collection/shoelace/assets/icons/calendar-event.svg +4 -0
  399. package/dist/collection/shoelace/assets/icons/calendar-fill.svg +3 -0
  400. package/dist/collection/shoelace/assets/icons/calendar-heart-fill.svg +3 -0
  401. package/dist/collection/shoelace/assets/icons/calendar-heart.svg +3 -0
  402. package/dist/collection/shoelace/assets/icons/calendar-minus-fill.svg +3 -0
  403. package/dist/collection/shoelace/assets/icons/calendar-minus.svg +4 -0
  404. package/dist/collection/shoelace/assets/icons/calendar-month-fill.svg +4 -0
  405. package/dist/collection/shoelace/assets/icons/calendar-month.svg +4 -0
  406. package/dist/collection/shoelace/assets/icons/calendar-plus-fill.svg +3 -0
  407. package/dist/collection/shoelace/assets/icons/calendar-plus.svg +4 -0
  408. package/dist/collection/shoelace/assets/icons/calendar-range-fill.svg +3 -0
  409. package/dist/collection/shoelace/assets/icons/calendar-range.svg +4 -0
  410. package/dist/collection/shoelace/assets/icons/calendar-week-fill.svg +3 -0
  411. package/dist/collection/shoelace/assets/icons/calendar-week.svg +4 -0
  412. package/dist/collection/shoelace/assets/icons/calendar-x-fill.svg +3 -0
  413. package/dist/collection/shoelace/assets/icons/calendar-x.svg +4 -0
  414. package/dist/collection/shoelace/assets/icons/calendar.svg +3 -0
  415. package/dist/collection/shoelace/assets/icons/calendar2-check-fill.svg +3 -0
  416. package/dist/collection/shoelace/assets/icons/calendar2-check.svg +5 -0
  417. package/dist/collection/shoelace/assets/icons/calendar2-date-fill.svg +4 -0
  418. package/dist/collection/shoelace/assets/icons/calendar2-date.svg +5 -0
  419. package/dist/collection/shoelace/assets/icons/calendar2-day-fill.svg +3 -0
  420. package/dist/collection/shoelace/assets/icons/calendar2-day.svg +5 -0
  421. package/dist/collection/shoelace/assets/icons/calendar2-event-fill.svg +3 -0
  422. package/dist/collection/shoelace/assets/icons/calendar2-event.svg +5 -0
  423. package/dist/collection/shoelace/assets/icons/calendar2-fill.svg +3 -0
  424. package/dist/collection/shoelace/assets/icons/calendar2-heart-fill.svg +3 -0
  425. package/dist/collection/shoelace/assets/icons/calendar2-heart.svg +3 -0
  426. package/dist/collection/shoelace/assets/icons/calendar2-minus-fill.svg +3 -0
  427. package/dist/collection/shoelace/assets/icons/calendar2-minus.svg +5 -0
  428. package/dist/collection/shoelace/assets/icons/calendar2-month-fill.svg +4 -0
  429. package/dist/collection/shoelace/assets/icons/calendar2-month.svg +5 -0
  430. package/dist/collection/shoelace/assets/icons/calendar2-plus-fill.svg +3 -0
  431. package/dist/collection/shoelace/assets/icons/calendar2-plus.svg +4 -0
  432. package/dist/collection/shoelace/assets/icons/calendar2-range-fill.svg +3 -0
  433. package/dist/collection/shoelace/assets/icons/calendar2-range.svg +4 -0
  434. package/dist/collection/shoelace/assets/icons/calendar2-week-fill.svg +3 -0
  435. package/dist/collection/shoelace/assets/icons/calendar2-week.svg +4 -0
  436. package/dist/collection/shoelace/assets/icons/calendar2-x-fill.svg +3 -0
  437. package/dist/collection/shoelace/assets/icons/calendar2-x.svg +5 -0
  438. package/dist/collection/shoelace/assets/icons/calendar2.svg +4 -0
  439. package/dist/collection/shoelace/assets/icons/calendar3-event-fill.svg +3 -0
  440. package/dist/collection/shoelace/assets/icons/calendar3-event.svg +4 -0
  441. package/dist/collection/shoelace/assets/icons/calendar3-fill.svg +3 -0
  442. package/dist/collection/shoelace/assets/icons/calendar3-range-fill.svg +3 -0
  443. package/dist/collection/shoelace/assets/icons/calendar3-range.svg +4 -0
  444. package/dist/collection/shoelace/assets/icons/calendar3-week-fill.svg +3 -0
  445. package/dist/collection/shoelace/assets/icons/calendar3-week.svg +4 -0
  446. package/dist/collection/shoelace/assets/icons/calendar3.svg +4 -0
  447. package/dist/collection/shoelace/assets/icons/calendar4-event.svg +4 -0
  448. package/dist/collection/shoelace/assets/icons/calendar4-range.svg +4 -0
  449. package/dist/collection/shoelace/assets/icons/calendar4-week.svg +4 -0
  450. package/dist/collection/shoelace/assets/icons/calendar4.svg +3 -0
  451. package/dist/collection/shoelace/assets/icons/camera-fill.svg +4 -0
  452. package/dist/collection/shoelace/assets/icons/camera-reels-fill.svg +5 -0
  453. package/dist/collection/shoelace/assets/icons/camera-reels.svg +5 -0
  454. package/dist/collection/shoelace/assets/icons/camera-video-fill.svg +3 -0
  455. package/dist/collection/shoelace/assets/icons/camera-video-off-fill.svg +3 -0
  456. package/dist/collection/shoelace/assets/icons/camera-video-off.svg +3 -0
  457. package/dist/collection/shoelace/assets/icons/camera-video.svg +3 -0
  458. package/dist/collection/shoelace/assets/icons/camera.svg +4 -0
  459. package/dist/collection/shoelace/assets/icons/camera2.svg +4 -0
  460. package/dist/collection/shoelace/assets/icons/capslock-fill.svg +3 -0
  461. package/dist/collection/shoelace/assets/icons/capslock.svg +3 -0
  462. package/dist/collection/shoelace/assets/icons/capsule-pill.svg +3 -0
  463. package/dist/collection/shoelace/assets/icons/capsule.svg +3 -0
  464. package/dist/collection/shoelace/assets/icons/car-front-fill.svg +3 -0
  465. package/dist/collection/shoelace/assets/icons/car-front.svg +4 -0
  466. package/dist/collection/shoelace/assets/icons/card-checklist.svg +4 -0
  467. package/dist/collection/shoelace/assets/icons/card-heading.svg +4 -0
  468. package/dist/collection/shoelace/assets/icons/card-image.svg +4 -0
  469. package/dist/collection/shoelace/assets/icons/card-list.svg +4 -0
  470. package/dist/collection/shoelace/assets/icons/card-text.svg +4 -0
  471. package/dist/collection/shoelace/assets/icons/caret-down-fill.svg +3 -0
  472. package/dist/collection/shoelace/assets/icons/caret-down-square-fill.svg +3 -0
  473. package/dist/collection/shoelace/assets/icons/caret-down-square.svg +4 -0
  474. package/dist/collection/shoelace/assets/icons/caret-down.svg +3 -0
  475. package/dist/collection/shoelace/assets/icons/caret-left-fill.svg +3 -0
  476. package/dist/collection/shoelace/assets/icons/caret-left-square-fill.svg +3 -0
  477. package/dist/collection/shoelace/assets/icons/caret-left-square.svg +4 -0
  478. package/dist/collection/shoelace/assets/icons/caret-left.svg +3 -0
  479. package/dist/collection/shoelace/assets/icons/caret-right-fill.svg +3 -0
  480. package/dist/collection/shoelace/assets/icons/caret-right-square-fill.svg +3 -0
  481. package/dist/collection/shoelace/assets/icons/caret-right-square.svg +4 -0
  482. package/dist/collection/shoelace/assets/icons/caret-right.svg +3 -0
  483. package/dist/collection/shoelace/assets/icons/caret-up-fill.svg +3 -0
  484. package/dist/collection/shoelace/assets/icons/caret-up-square-fill.svg +3 -0
  485. package/dist/collection/shoelace/assets/icons/caret-up-square.svg +4 -0
  486. package/dist/collection/shoelace/assets/icons/caret-up.svg +3 -0
  487. package/dist/collection/shoelace/assets/icons/cart-check-fill.svg +3 -0
  488. package/dist/collection/shoelace/assets/icons/cart-check.svg +4 -0
  489. package/dist/collection/shoelace/assets/icons/cart-dash-fill.svg +3 -0
  490. package/dist/collection/shoelace/assets/icons/cart-dash.svg +4 -0
  491. package/dist/collection/shoelace/assets/icons/cart-fill.svg +3 -0
  492. package/dist/collection/shoelace/assets/icons/cart-plus-fill.svg +3 -0
  493. package/dist/collection/shoelace/assets/icons/cart-plus.svg +4 -0
  494. package/dist/collection/shoelace/assets/icons/cart-x-fill.svg +3 -0
  495. package/dist/collection/shoelace/assets/icons/cart-x.svg +4 -0
  496. package/dist/collection/shoelace/assets/icons/cart.svg +3 -0
  497. package/dist/collection/shoelace/assets/icons/cart2.svg +3 -0
  498. package/dist/collection/shoelace/assets/icons/cart3.svg +3 -0
  499. package/dist/collection/shoelace/assets/icons/cart4.svg +3 -0
  500. package/dist/collection/shoelace/assets/icons/cash-coin.svg +6 -0
  501. package/dist/collection/shoelace/assets/icons/cash-stack.svg +4 -0
  502. package/dist/collection/shoelace/assets/icons/cash.svg +4 -0
  503. package/dist/collection/shoelace/assets/icons/cassette-fill.svg +4 -0
  504. package/dist/collection/shoelace/assets/icons/cassette.svg +4 -0
  505. package/dist/collection/shoelace/assets/icons/cast.svg +4 -0
  506. package/dist/collection/shoelace/assets/icons/cc-circle-fill.svg +3 -0
  507. package/dist/collection/shoelace/assets/icons/cc-circle.svg +3 -0
  508. package/dist/collection/shoelace/assets/icons/cc-square-fill.svg +3 -0
  509. package/dist/collection/shoelace/assets/icons/cc-square.svg +4 -0
  510. package/dist/collection/shoelace/assets/icons/chat-dots-fill.svg +3 -0
  511. package/dist/collection/shoelace/assets/icons/chat-dots.svg +4 -0
  512. package/dist/collection/shoelace/assets/icons/chat-fill.svg +3 -0
  513. package/dist/collection/shoelace/assets/icons/chat-heart-fill.svg +3 -0
  514. package/dist/collection/shoelace/assets/icons/chat-heart.svg +3 -0
  515. package/dist/collection/shoelace/assets/icons/chat-left-dots-fill.svg +3 -0
  516. package/dist/collection/shoelace/assets/icons/chat-left-dots.svg +4 -0
  517. package/dist/collection/shoelace/assets/icons/chat-left-fill.svg +3 -0
  518. package/dist/collection/shoelace/assets/icons/chat-left-heart-fill.svg +3 -0
  519. package/dist/collection/shoelace/assets/icons/chat-left-heart.svg +4 -0
  520. package/dist/collection/shoelace/assets/icons/chat-left-quote-fill.svg +3 -0
  521. package/dist/collection/shoelace/assets/icons/chat-left-quote.svg +4 -0
  522. package/dist/collection/shoelace/assets/icons/chat-left-text-fill.svg +3 -0
  523. package/dist/collection/shoelace/assets/icons/chat-left-text.svg +4 -0
  524. package/dist/collection/shoelace/assets/icons/chat-left.svg +3 -0
  525. package/dist/collection/shoelace/assets/icons/chat-quote-fill.svg +3 -0
  526. package/dist/collection/shoelace/assets/icons/chat-quote.svg +4 -0
  527. package/dist/collection/shoelace/assets/icons/chat-right-dots-fill.svg +3 -0
  528. package/dist/collection/shoelace/assets/icons/chat-right-dots.svg +4 -0
  529. package/dist/collection/shoelace/assets/icons/chat-right-fill.svg +3 -0
  530. package/dist/collection/shoelace/assets/icons/chat-right-heart-fill.svg +3 -0
  531. package/dist/collection/shoelace/assets/icons/chat-right-heart.svg +4 -0
  532. package/dist/collection/shoelace/assets/icons/chat-right-quote-fill.svg +3 -0
  533. package/dist/collection/shoelace/assets/icons/chat-right-quote.svg +4 -0
  534. package/dist/collection/shoelace/assets/icons/chat-right-text-fill.svg +3 -0
  535. package/dist/collection/shoelace/assets/icons/chat-right-text.svg +4 -0
  536. package/dist/collection/shoelace/assets/icons/chat-right.svg +3 -0
  537. package/dist/collection/shoelace/assets/icons/chat-square-dots-fill.svg +3 -0
  538. package/dist/collection/shoelace/assets/icons/chat-square-dots.svg +4 -0
  539. package/dist/collection/shoelace/assets/icons/chat-square-fill.svg +3 -0
  540. package/dist/collection/shoelace/assets/icons/chat-square-heart-fill.svg +3 -0
  541. package/dist/collection/shoelace/assets/icons/chat-square-heart.svg +4 -0
  542. package/dist/collection/shoelace/assets/icons/chat-square-quote-fill.svg +3 -0
  543. package/dist/collection/shoelace/assets/icons/chat-square-quote.svg +4 -0
  544. package/dist/collection/shoelace/assets/icons/chat-square-text-fill.svg +3 -0
  545. package/dist/collection/shoelace/assets/icons/chat-square-text.svg +4 -0
  546. package/dist/collection/shoelace/assets/icons/chat-square.svg +3 -0
  547. package/dist/collection/shoelace/assets/icons/chat-text-fill.svg +3 -0
  548. package/dist/collection/shoelace/assets/icons/chat-text.svg +4 -0
  549. package/dist/collection/shoelace/assets/icons/chat.svg +3 -0
  550. package/dist/collection/shoelace/assets/icons/check-all.svg +3 -0
  551. package/dist/collection/shoelace/assets/icons/check-circle-fill.svg +3 -0
  552. package/dist/collection/shoelace/assets/icons/check-circle.svg +4 -0
  553. package/dist/collection/shoelace/assets/icons/check-lg.svg +3 -0
  554. package/dist/collection/shoelace/assets/icons/check-square-fill.svg +3 -0
  555. package/dist/collection/shoelace/assets/icons/check-square.svg +4 -0
  556. package/dist/collection/shoelace/assets/icons/check.svg +3 -0
  557. package/dist/collection/shoelace/assets/icons/check2-all.svg +4 -0
  558. package/dist/collection/shoelace/assets/icons/check2-circle.svg +4 -0
  559. package/dist/collection/shoelace/assets/icons/check2-square.svg +4 -0
  560. package/dist/collection/shoelace/assets/icons/check2.svg +3 -0
  561. package/dist/collection/shoelace/assets/icons/chevron-bar-contract.svg +3 -0
  562. package/dist/collection/shoelace/assets/icons/chevron-bar-down.svg +3 -0
  563. package/dist/collection/shoelace/assets/icons/chevron-bar-expand.svg +3 -0
  564. package/dist/collection/shoelace/assets/icons/chevron-bar-left.svg +3 -0
  565. package/dist/collection/shoelace/assets/icons/chevron-bar-right.svg +3 -0
  566. package/dist/collection/shoelace/assets/icons/chevron-bar-up.svg +3 -0
  567. package/dist/collection/shoelace/assets/icons/chevron-compact-down.svg +3 -0
  568. package/dist/collection/shoelace/assets/icons/chevron-compact-left.svg +3 -0
  569. package/dist/collection/shoelace/assets/icons/chevron-compact-right.svg +3 -0
  570. package/dist/collection/shoelace/assets/icons/chevron-compact-up.svg +3 -0
  571. package/dist/collection/shoelace/assets/icons/chevron-contract.svg +3 -0
  572. package/dist/collection/shoelace/assets/icons/chevron-double-down.svg +4 -0
  573. package/dist/collection/shoelace/assets/icons/chevron-double-left.svg +4 -0
  574. package/dist/collection/shoelace/assets/icons/chevron-double-right.svg +4 -0
  575. package/dist/collection/shoelace/assets/icons/chevron-double-up.svg +4 -0
  576. package/dist/collection/shoelace/assets/icons/chevron-down.svg +3 -0
  577. package/dist/collection/shoelace/assets/icons/chevron-expand.svg +3 -0
  578. package/dist/collection/shoelace/assets/icons/chevron-left.svg +3 -0
  579. package/dist/collection/shoelace/assets/icons/chevron-right.svg +3 -0
  580. package/dist/collection/shoelace/assets/icons/chevron-up.svg +3 -0
  581. package/dist/collection/shoelace/assets/icons/circle-fill.svg +3 -0
  582. package/dist/collection/shoelace/assets/icons/circle-half.svg +3 -0
  583. package/dist/collection/shoelace/assets/icons/circle-square.svg +4 -0
  584. package/dist/collection/shoelace/assets/icons/circle.svg +3 -0
  585. package/dist/collection/shoelace/assets/icons/clipboard-check-fill.svg +4 -0
  586. package/dist/collection/shoelace/assets/icons/clipboard-check.svg +5 -0
  587. package/dist/collection/shoelace/assets/icons/clipboard-data-fill.svg +4 -0
  588. package/dist/collection/shoelace/assets/icons/clipboard-data.svg +5 -0
  589. package/dist/collection/shoelace/assets/icons/clipboard-fill.svg +3 -0
  590. package/dist/collection/shoelace/assets/icons/clipboard-heart-fill.svg +4 -0
  591. package/dist/collection/shoelace/assets/icons/clipboard-heart.svg +5 -0
  592. package/dist/collection/shoelace/assets/icons/clipboard-minus-fill.svg +4 -0
  593. package/dist/collection/shoelace/assets/icons/clipboard-minus.svg +5 -0
  594. package/dist/collection/shoelace/assets/icons/clipboard-plus-fill.svg +4 -0
  595. package/dist/collection/shoelace/assets/icons/clipboard-plus.svg +5 -0
  596. package/dist/collection/shoelace/assets/icons/clipboard-pulse.svg +3 -0
  597. package/dist/collection/shoelace/assets/icons/clipboard-x-fill.svg +4 -0
  598. package/dist/collection/shoelace/assets/icons/clipboard-x.svg +5 -0
  599. package/dist/collection/shoelace/assets/icons/clipboard.svg +4 -0
  600. package/dist/collection/shoelace/assets/icons/clipboard2-check-fill.svg +4 -0
  601. package/dist/collection/shoelace/assets/icons/clipboard2-check.svg +5 -0
  602. package/dist/collection/shoelace/assets/icons/clipboard2-data-fill.svg +4 -0
  603. package/dist/collection/shoelace/assets/icons/clipboard2-data.svg +5 -0
  604. package/dist/collection/shoelace/assets/icons/clipboard2-fill.svg +4 -0
  605. package/dist/collection/shoelace/assets/icons/clipboard2-heart-fill.svg +4 -0
  606. package/dist/collection/shoelace/assets/icons/clipboard2-heart.svg +5 -0
  607. package/dist/collection/shoelace/assets/icons/clipboard2-minus-fill.svg +4 -0
  608. package/dist/collection/shoelace/assets/icons/clipboard2-minus.svg +5 -0
  609. package/dist/collection/shoelace/assets/icons/clipboard2-plus-fill.svg +4 -0
  610. package/dist/collection/shoelace/assets/icons/clipboard2-plus.svg +5 -0
  611. package/dist/collection/shoelace/assets/icons/clipboard2-pulse-fill.svg +4 -0
  612. package/dist/collection/shoelace/assets/icons/clipboard2-pulse.svg +5 -0
  613. package/dist/collection/shoelace/assets/icons/clipboard2-x-fill.svg +4 -0
  614. package/dist/collection/shoelace/assets/icons/clipboard2-x.svg +5 -0
  615. package/dist/collection/shoelace/assets/icons/clipboard2.svg +4 -0
  616. package/dist/collection/shoelace/assets/icons/clock-fill.svg +3 -0
  617. package/dist/collection/shoelace/assets/icons/clock-history.svg +5 -0
  618. package/dist/collection/shoelace/assets/icons/clock.svg +4 -0
  619. package/dist/collection/shoelace/assets/icons/cloud-arrow-down-fill.svg +3 -0
  620. package/dist/collection/shoelace/assets/icons/cloud-arrow-down.svg +4 -0
  621. package/dist/collection/shoelace/assets/icons/cloud-arrow-up-fill.svg +3 -0
  622. package/dist/collection/shoelace/assets/icons/cloud-arrow-up.svg +4 -0
  623. package/dist/collection/shoelace/assets/icons/cloud-check-fill.svg +3 -0
  624. package/dist/collection/shoelace/assets/icons/cloud-check.svg +4 -0
  625. package/dist/collection/shoelace/assets/icons/cloud-download-fill.svg +3 -0
  626. package/dist/collection/shoelace/assets/icons/cloud-download.svg +4 -0
  627. package/dist/collection/shoelace/assets/icons/cloud-drizzle-fill.svg +3 -0
  628. package/dist/collection/shoelace/assets/icons/cloud-drizzle.svg +3 -0
  629. package/dist/collection/shoelace/assets/icons/cloud-fill.svg +3 -0
  630. package/dist/collection/shoelace/assets/icons/cloud-fog-fill.svg +3 -0
  631. package/dist/collection/shoelace/assets/icons/cloud-fog.svg +3 -0
  632. package/dist/collection/shoelace/assets/icons/cloud-fog2-fill.svg +3 -0
  633. package/dist/collection/shoelace/assets/icons/cloud-fog2.svg +3 -0
  634. package/dist/collection/shoelace/assets/icons/cloud-hail-fill.svg +3 -0
  635. package/dist/collection/shoelace/assets/icons/cloud-hail.svg +3 -0
  636. package/dist/collection/shoelace/assets/icons/cloud-haze-fill.svg +3 -0
  637. package/dist/collection/shoelace/assets/icons/cloud-haze.svg +3 -0
  638. package/dist/collection/shoelace/assets/icons/cloud-haze2-fill.svg +3 -0
  639. package/dist/collection/shoelace/assets/icons/cloud-haze2.svg +3 -0
  640. package/dist/collection/shoelace/assets/icons/cloud-lightning-fill.svg +3 -0
  641. package/dist/collection/shoelace/assets/icons/cloud-lightning-rain-fill.svg +3 -0
  642. package/dist/collection/shoelace/assets/icons/cloud-lightning-rain.svg +3 -0
  643. package/dist/collection/shoelace/assets/icons/cloud-lightning.svg +3 -0
  644. package/dist/collection/shoelace/assets/icons/cloud-minus-fill.svg +3 -0
  645. package/dist/collection/shoelace/assets/icons/cloud-minus.svg +4 -0
  646. package/dist/collection/shoelace/assets/icons/cloud-moon-fill.svg +4 -0
  647. package/dist/collection/shoelace/assets/icons/cloud-moon.svg +4 -0
  648. package/dist/collection/shoelace/assets/icons/cloud-plus-fill.svg +3 -0
  649. package/dist/collection/shoelace/assets/icons/cloud-plus.svg +4 -0
  650. package/dist/collection/shoelace/assets/icons/cloud-rain-fill.svg +3 -0
  651. package/dist/collection/shoelace/assets/icons/cloud-rain-heavy-fill.svg +3 -0
  652. package/dist/collection/shoelace/assets/icons/cloud-rain-heavy.svg +3 -0
  653. package/dist/collection/shoelace/assets/icons/cloud-rain.svg +3 -0
  654. package/dist/collection/shoelace/assets/icons/cloud-slash-fill.svg +3 -0
  655. package/dist/collection/shoelace/assets/icons/cloud-slash.svg +4 -0
  656. package/dist/collection/shoelace/assets/icons/cloud-sleet-fill.svg +3 -0
  657. package/dist/collection/shoelace/assets/icons/cloud-sleet.svg +3 -0
  658. package/dist/collection/shoelace/assets/icons/cloud-snow-fill.svg +3 -0
  659. package/dist/collection/shoelace/assets/icons/cloud-snow.svg +3 -0
  660. package/dist/collection/shoelace/assets/icons/cloud-sun-fill.svg +4 -0
  661. package/dist/collection/shoelace/assets/icons/cloud-sun.svg +4 -0
  662. package/dist/collection/shoelace/assets/icons/cloud-upload-fill.svg +3 -0
  663. package/dist/collection/shoelace/assets/icons/cloud-upload.svg +4 -0
  664. package/dist/collection/shoelace/assets/icons/cloud.svg +3 -0
  665. package/dist/collection/shoelace/assets/icons/clouds-fill.svg +4 -0
  666. package/dist/collection/shoelace/assets/icons/clouds.svg +4 -0
  667. package/dist/collection/shoelace/assets/icons/cloudy-fill.svg +3 -0
  668. package/dist/collection/shoelace/assets/icons/cloudy.svg +3 -0
  669. package/dist/collection/shoelace/assets/icons/code-slash.svg +3 -0
  670. package/dist/collection/shoelace/assets/icons/code-square.svg +4 -0
  671. package/dist/collection/shoelace/assets/icons/code.svg +3 -0
  672. package/dist/collection/shoelace/assets/icons/coin.svg +5 -0
  673. package/dist/collection/shoelace/assets/icons/collection-fill.svg +3 -0
  674. package/dist/collection/shoelace/assets/icons/collection-play-fill.svg +3 -0
  675. package/dist/collection/shoelace/assets/icons/collection-play.svg +4 -0
  676. package/dist/collection/shoelace/assets/icons/collection.svg +3 -0
  677. package/dist/collection/shoelace/assets/icons/columns-gap.svg +3 -0
  678. package/dist/collection/shoelace/assets/icons/columns.svg +3 -0
  679. package/dist/collection/shoelace/assets/icons/command.svg +3 -0
  680. package/dist/collection/shoelace/assets/icons/compass-fill.svg +3 -0
  681. package/dist/collection/shoelace/assets/icons/compass.svg +4 -0
  682. package/dist/collection/shoelace/assets/icons/cone-striped.svg +3 -0
  683. package/dist/collection/shoelace/assets/icons/cone.svg +3 -0
  684. package/dist/collection/shoelace/assets/icons/controller.svg +4 -0
  685. package/dist/collection/shoelace/assets/icons/cookie.svg +4 -0
  686. package/dist/collection/shoelace/assets/icons/copy.svg +3 -0
  687. package/dist/collection/shoelace/assets/icons/cpu-fill.svg +4 -0
  688. package/dist/collection/shoelace/assets/icons/cpu.svg +3 -0
  689. package/dist/collection/shoelace/assets/icons/credit-card-2-back-fill.svg +3 -0
  690. package/dist/collection/shoelace/assets/icons/credit-card-2-back.svg +4 -0
  691. package/dist/collection/shoelace/assets/icons/credit-card-2-front-fill.svg +3 -0
  692. package/dist/collection/shoelace/assets/icons/credit-card-2-front.svg +4 -0
  693. package/dist/collection/shoelace/assets/icons/credit-card-fill.svg +3 -0
  694. package/dist/collection/shoelace/assets/icons/credit-card.svg +4 -0
  695. package/dist/collection/shoelace/assets/icons/crop.svg +3 -0
  696. package/dist/collection/shoelace/assets/icons/crosshair.svg +3 -0
  697. package/dist/collection/shoelace/assets/icons/crosshair2.svg +3 -0
  698. package/dist/collection/shoelace/assets/icons/cup-fill.svg +3 -0
  699. package/dist/collection/shoelace/assets/icons/cup-hot-fill.svg +4 -0
  700. package/dist/collection/shoelace/assets/icons/cup-hot.svg +4 -0
  701. package/dist/collection/shoelace/assets/icons/cup-straw.svg +3 -0
  702. package/dist/collection/shoelace/assets/icons/cup.svg +3 -0
  703. package/dist/collection/shoelace/assets/icons/currency-bitcoin.svg +3 -0
  704. package/dist/collection/shoelace/assets/icons/currency-dollar.svg +3 -0
  705. package/dist/collection/shoelace/assets/icons/currency-euro.svg +3 -0
  706. package/dist/collection/shoelace/assets/icons/currency-exchange.svg +3 -0
  707. package/dist/collection/shoelace/assets/icons/currency-pound.svg +3 -0
  708. package/dist/collection/shoelace/assets/icons/currency-rupee.svg +3 -0
  709. package/dist/collection/shoelace/assets/icons/currency-yen.svg +3 -0
  710. package/dist/collection/shoelace/assets/icons/cursor-fill.svg +3 -0
  711. package/dist/collection/shoelace/assets/icons/cursor-text.svg +3 -0
  712. package/dist/collection/shoelace/assets/icons/cursor.svg +3 -0
  713. package/dist/collection/shoelace/assets/icons/dash-circle-dotted.svg +3 -0
  714. package/dist/collection/shoelace/assets/icons/dash-circle-fill.svg +3 -0
  715. package/dist/collection/shoelace/assets/icons/dash-circle.svg +4 -0
  716. package/dist/collection/shoelace/assets/icons/dash-lg.svg +3 -0
  717. package/dist/collection/shoelace/assets/icons/dash-square-dotted.svg +3 -0
  718. package/dist/collection/shoelace/assets/icons/dash-square-fill.svg +3 -0
  719. package/dist/collection/shoelace/assets/icons/dash-square.svg +4 -0
  720. package/dist/collection/shoelace/assets/icons/dash.svg +3 -0
  721. package/dist/collection/shoelace/assets/icons/database-add.svg +4 -0
  722. package/dist/collection/shoelace/assets/icons/database-check.svg +4 -0
  723. package/dist/collection/shoelace/assets/icons/database-dash.svg +4 -0
  724. package/dist/collection/shoelace/assets/icons/database-down.svg +4 -0
  725. package/dist/collection/shoelace/assets/icons/database-exclamation.svg +4 -0
  726. package/dist/collection/shoelace/assets/icons/database-fill-add.svg +4 -0
  727. package/dist/collection/shoelace/assets/icons/database-fill-check.svg +4 -0
  728. package/dist/collection/shoelace/assets/icons/database-fill-dash.svg +4 -0
  729. package/dist/collection/shoelace/assets/icons/database-fill-down.svg +4 -0
  730. package/dist/collection/shoelace/assets/icons/database-fill-exclamation.svg +5 -0
  731. package/dist/collection/shoelace/assets/icons/database-fill-gear.svg +4 -0
  732. package/dist/collection/shoelace/assets/icons/database-fill-lock.svg +5 -0
  733. package/dist/collection/shoelace/assets/icons/database-fill-slash.svg +4 -0
  734. package/dist/collection/shoelace/assets/icons/database-fill-up.svg +4 -0
  735. package/dist/collection/shoelace/assets/icons/database-fill-x.svg +5 -0
  736. package/dist/collection/shoelace/assets/icons/database-fill.svg +6 -0
  737. package/dist/collection/shoelace/assets/icons/database-gear.svg +4 -0
  738. package/dist/collection/shoelace/assets/icons/database-lock.svg +4 -0
  739. package/dist/collection/shoelace/assets/icons/database-slash.svg +4 -0
  740. package/dist/collection/shoelace/assets/icons/database-up.svg +4 -0
  741. package/dist/collection/shoelace/assets/icons/database-x.svg +4 -0
  742. package/dist/collection/shoelace/assets/icons/database.svg +3 -0
  743. package/dist/collection/shoelace/assets/icons/device-hdd-fill.svg +4 -0
  744. package/dist/collection/shoelace/assets/icons/device-hdd.svg +5 -0
  745. package/dist/collection/shoelace/assets/icons/device-ssd-fill.svg +4 -0
  746. package/dist/collection/shoelace/assets/icons/device-ssd.svg +4 -0
  747. package/dist/collection/shoelace/assets/icons/diagram-2-fill.svg +3 -0
  748. package/dist/collection/shoelace/assets/icons/diagram-2.svg +3 -0
  749. package/dist/collection/shoelace/assets/icons/diagram-3-fill.svg +3 -0
  750. package/dist/collection/shoelace/assets/icons/diagram-3.svg +3 -0
  751. package/dist/collection/shoelace/assets/icons/diamond-fill.svg +3 -0
  752. package/dist/collection/shoelace/assets/icons/diamond-half.svg +3 -0
  753. package/dist/collection/shoelace/assets/icons/diamond.svg +3 -0
  754. package/dist/collection/shoelace/assets/icons/dice-1-fill.svg +3 -0
  755. package/dist/collection/shoelace/assets/icons/dice-1.svg +4 -0
  756. package/dist/collection/shoelace/assets/icons/dice-2-fill.svg +3 -0
  757. package/dist/collection/shoelace/assets/icons/dice-2.svg +4 -0
  758. package/dist/collection/shoelace/assets/icons/dice-3-fill.svg +3 -0
  759. package/dist/collection/shoelace/assets/icons/dice-3.svg +4 -0
  760. package/dist/collection/shoelace/assets/icons/dice-4-fill.svg +3 -0
  761. package/dist/collection/shoelace/assets/icons/dice-4.svg +4 -0
  762. package/dist/collection/shoelace/assets/icons/dice-5-fill.svg +3 -0
  763. package/dist/collection/shoelace/assets/icons/dice-5.svg +4 -0
  764. package/dist/collection/shoelace/assets/icons/dice-6-fill.svg +3 -0
  765. package/dist/collection/shoelace/assets/icons/dice-6.svg +4 -0
  766. package/dist/collection/shoelace/assets/icons/disc-fill.svg +3 -0
  767. package/dist/collection/shoelace/assets/icons/disc.svg +4 -0
  768. package/dist/collection/shoelace/assets/icons/discord.svg +3 -0
  769. package/dist/collection/shoelace/assets/icons/display-fill.svg +3 -0
  770. package/dist/collection/shoelace/assets/icons/display.svg +3 -0
  771. package/dist/collection/shoelace/assets/icons/displayport-fill.svg +3 -0
  772. package/dist/collection/shoelace/assets/icons/displayport.svg +4 -0
  773. package/dist/collection/shoelace/assets/icons/distribute-horizontal.svg +4 -0
  774. package/dist/collection/shoelace/assets/icons/distribute-vertical.svg +4 -0
  775. package/dist/collection/shoelace/assets/icons/door-closed-fill.svg +3 -0
  776. package/dist/collection/shoelace/assets/icons/door-closed.svg +4 -0
  777. package/dist/collection/shoelace/assets/icons/door-open-fill.svg +3 -0
  778. package/dist/collection/shoelace/assets/icons/door-open.svg +4 -0
  779. package/dist/collection/shoelace/assets/icons/dot.svg +3 -0
  780. package/dist/collection/shoelace/assets/icons/download.svg +4 -0
  781. package/dist/collection/shoelace/assets/icons/dpad-fill.svg +3 -0
  782. package/dist/collection/shoelace/assets/icons/dpad.svg +4 -0
  783. package/dist/collection/shoelace/assets/icons/dribbble.svg +3 -0
  784. package/dist/collection/shoelace/assets/icons/dropbox.svg +3 -0
  785. package/dist/collection/shoelace/assets/icons/droplet-fill.svg +3 -0
  786. package/dist/collection/shoelace/assets/icons/droplet-half.svg +4 -0
  787. package/dist/collection/shoelace/assets/icons/droplet.svg +4 -0
  788. package/dist/collection/shoelace/assets/icons/duffle-fill.svg +3 -0
  789. package/dist/collection/shoelace/assets/icons/duffle.svg +4 -0
  790. package/dist/collection/shoelace/assets/icons/ear-fill.svg +3 -0
  791. package/dist/collection/shoelace/assets/icons/ear.svg +3 -0
  792. package/dist/collection/shoelace/assets/icons/earbuds.svg +3 -0
  793. package/dist/collection/shoelace/assets/icons/easel-fill.svg +3 -0
  794. package/dist/collection/shoelace/assets/icons/easel.svg +3 -0
  795. package/dist/collection/shoelace/assets/icons/easel2-fill.svg +4 -0
  796. package/dist/collection/shoelace/assets/icons/easel2.svg +3 -0
  797. package/dist/collection/shoelace/assets/icons/easel3-fill.svg +3 -0
  798. package/dist/collection/shoelace/assets/icons/easel3.svg +3 -0
  799. package/dist/collection/shoelace/assets/icons/egg-fill.svg +3 -0
  800. package/dist/collection/shoelace/assets/icons/egg-fried.svg +4 -0
  801. package/dist/collection/shoelace/assets/icons/egg.svg +3 -0
  802. package/dist/collection/shoelace/assets/icons/eject-fill.svg +3 -0
  803. package/dist/collection/shoelace/assets/icons/eject.svg +3 -0
  804. package/dist/collection/shoelace/assets/icons/emoji-angry-fill.svg +3 -0
  805. package/dist/collection/shoelace/assets/icons/emoji-angry.svg +4 -0
  806. package/dist/collection/shoelace/assets/icons/emoji-astonished-fill.svg +3 -0
  807. package/dist/collection/shoelace/assets/icons/emoji-astonished.svg +4 -0
  808. package/dist/collection/shoelace/assets/icons/emoji-dizzy-fill.svg +3 -0
  809. package/dist/collection/shoelace/assets/icons/emoji-dizzy.svg +4 -0
  810. package/dist/collection/shoelace/assets/icons/emoji-expressionless-fill.svg +3 -0
  811. package/dist/collection/shoelace/assets/icons/emoji-expressionless.svg +4 -0
  812. package/dist/collection/shoelace/assets/icons/emoji-frown-fill.svg +3 -0
  813. package/dist/collection/shoelace/assets/icons/emoji-frown.svg +4 -0
  814. package/dist/collection/shoelace/assets/icons/emoji-grimace-fill.svg +3 -0
  815. package/dist/collection/shoelace/assets/icons/emoji-grimace.svg +4 -0
  816. package/dist/collection/shoelace/assets/icons/emoji-grin-fill.svg +3 -0
  817. package/dist/collection/shoelace/assets/icons/emoji-grin.svg +4 -0
  818. package/dist/collection/shoelace/assets/icons/emoji-heart-eyes-fill.svg +3 -0
  819. package/dist/collection/shoelace/assets/icons/emoji-heart-eyes.svg +4 -0
  820. package/dist/collection/shoelace/assets/icons/emoji-kiss-fill.svg +3 -0
  821. package/dist/collection/shoelace/assets/icons/emoji-kiss.svg +3 -0
  822. package/dist/collection/shoelace/assets/icons/emoji-laughing-fill.svg +3 -0
  823. package/dist/collection/shoelace/assets/icons/emoji-laughing.svg +4 -0
  824. package/dist/collection/shoelace/assets/icons/emoji-neutral-fill.svg +3 -0
  825. package/dist/collection/shoelace/assets/icons/emoji-neutral.svg +4 -0
  826. package/dist/collection/shoelace/assets/icons/emoji-smile-fill.svg +3 -0
  827. package/dist/collection/shoelace/assets/icons/emoji-smile-upside-down-fill.svg +3 -0
  828. package/dist/collection/shoelace/assets/icons/emoji-smile-upside-down.svg +4 -0
  829. package/dist/collection/shoelace/assets/icons/emoji-smile.svg +4 -0
  830. package/dist/collection/shoelace/assets/icons/emoji-sunglasses-fill.svg +3 -0
  831. package/dist/collection/shoelace/assets/icons/emoji-sunglasses.svg +4 -0
  832. package/dist/collection/shoelace/assets/icons/emoji-surprise-fill.svg +3 -0
  833. package/dist/collection/shoelace/assets/icons/emoji-surprise.svg +4 -0
  834. package/dist/collection/shoelace/assets/icons/emoji-tear-fill.svg +3 -0
  835. package/dist/collection/shoelace/assets/icons/emoji-tear.svg +4 -0
  836. package/dist/collection/shoelace/assets/icons/emoji-wink-fill.svg +3 -0
  837. package/dist/collection/shoelace/assets/icons/emoji-wink.svg +4 -0
  838. package/dist/collection/shoelace/assets/icons/envelope-arrow-down-fill.svg +4 -0
  839. package/dist/collection/shoelace/assets/icons/envelope-arrow-down.svg +4 -0
  840. package/dist/collection/shoelace/assets/icons/envelope-arrow-up-fill.svg +4 -0
  841. package/dist/collection/shoelace/assets/icons/envelope-arrow-up.svg +4 -0
  842. package/dist/collection/shoelace/assets/icons/envelope-at-fill.svg +4 -0
  843. package/dist/collection/shoelace/assets/icons/envelope-at.svg +4 -0
  844. package/dist/collection/shoelace/assets/icons/envelope-check-fill.svg +4 -0
  845. package/dist/collection/shoelace/assets/icons/envelope-check.svg +4 -0
  846. package/dist/collection/shoelace/assets/icons/envelope-dash-fill.svg +4 -0
  847. package/dist/collection/shoelace/assets/icons/envelope-dash.svg +4 -0
  848. package/dist/collection/shoelace/assets/icons/envelope-exclamation-fill.svg +4 -0
  849. package/dist/collection/shoelace/assets/icons/envelope-exclamation.svg +4 -0
  850. package/dist/collection/shoelace/assets/icons/envelope-fill.svg +3 -0
  851. package/dist/collection/shoelace/assets/icons/envelope-heart-fill.svg +4 -0
  852. package/dist/collection/shoelace/assets/icons/envelope-heart.svg +3 -0
  853. package/dist/collection/shoelace/assets/icons/envelope-open-fill.svg +3 -0
  854. package/dist/collection/shoelace/assets/icons/envelope-open-heart-fill.svg +4 -0
  855. package/dist/collection/shoelace/assets/icons/envelope-open-heart.svg +3 -0
  856. package/dist/collection/shoelace/assets/icons/envelope-open.svg +3 -0
  857. package/dist/collection/shoelace/assets/icons/envelope-paper-fill.svg +3 -0
  858. package/dist/collection/shoelace/assets/icons/envelope-paper-heart-fill.svg +3 -0
  859. package/dist/collection/shoelace/assets/icons/envelope-paper-heart.svg +3 -0
  860. package/dist/collection/shoelace/assets/icons/envelope-paper.svg +3 -0
  861. package/dist/collection/shoelace/assets/icons/envelope-plus-fill.svg +4 -0
  862. package/dist/collection/shoelace/assets/icons/envelope-plus.svg +4 -0
  863. package/dist/collection/shoelace/assets/icons/envelope-slash-fill.svg +4 -0
  864. package/dist/collection/shoelace/assets/icons/envelope-slash.svg +4 -0
  865. package/dist/collection/shoelace/assets/icons/envelope-x-fill.svg +4 -0
  866. package/dist/collection/shoelace/assets/icons/envelope-x.svg +4 -0
  867. package/dist/collection/shoelace/assets/icons/envelope.svg +3 -0
  868. package/dist/collection/shoelace/assets/icons/eraser-fill.svg +3 -0
  869. package/dist/collection/shoelace/assets/icons/eraser.svg +3 -0
  870. package/dist/collection/shoelace/assets/icons/escape.svg +4 -0
  871. package/dist/collection/shoelace/assets/icons/ethernet.svg +4 -0
  872. package/dist/collection/shoelace/assets/icons/ev-front-fill.svg +3 -0
  873. package/dist/collection/shoelace/assets/icons/ev-front.svg +4 -0
  874. package/dist/collection/shoelace/assets/icons/ev-station-fill.svg +3 -0
  875. package/dist/collection/shoelace/assets/icons/ev-station.svg +4 -0
  876. package/dist/collection/shoelace/assets/icons/exclamation-circle-fill.svg +3 -0
  877. package/dist/collection/shoelace/assets/icons/exclamation-circle.svg +4 -0
  878. package/dist/collection/shoelace/assets/icons/exclamation-diamond-fill.svg +3 -0
  879. package/dist/collection/shoelace/assets/icons/exclamation-diamond.svg +4 -0
  880. package/dist/collection/shoelace/assets/icons/exclamation-lg.svg +3 -0
  881. package/dist/collection/shoelace/assets/icons/exclamation-octagon-fill.svg +3 -0
  882. package/dist/collection/shoelace/assets/icons/exclamation-octagon.svg +4 -0
  883. package/dist/collection/shoelace/assets/icons/exclamation-square-fill.svg +3 -0
  884. package/dist/collection/shoelace/assets/icons/exclamation-square.svg +4 -0
  885. package/dist/collection/shoelace/assets/icons/exclamation-triangle-fill.svg +3 -0
  886. package/dist/collection/shoelace/assets/icons/exclamation-triangle.svg +4 -0
  887. package/dist/collection/shoelace/assets/icons/exclamation.svg +3 -0
  888. package/dist/collection/shoelace/assets/icons/exclude.svg +3 -0
  889. package/dist/collection/shoelace/assets/icons/explicit-fill.svg +3 -0
  890. package/dist/collection/shoelace/assets/icons/explicit.svg +4 -0
  891. package/dist/collection/shoelace/assets/icons/exposure.svg +4 -0
  892. package/dist/collection/shoelace/assets/icons/eye-fill.svg +4 -0
  893. package/dist/collection/shoelace/assets/icons/eye-slash-fill.svg +4 -0
  894. package/dist/collection/shoelace/assets/icons/eye-slash.svg +5 -0
  895. package/dist/collection/shoelace/assets/icons/eye.svg +4 -0
  896. package/dist/collection/shoelace/assets/icons/eyedropper.svg +3 -0
  897. package/dist/collection/shoelace/assets/icons/eyeglasses.svg +3 -0
  898. package/dist/collection/shoelace/assets/icons/facebook.svg +3 -0
  899. package/dist/collection/shoelace/assets/icons/fan.svg +4 -0
  900. package/dist/collection/shoelace/assets/icons/fast-forward-btn-fill.svg +3 -0
  901. package/dist/collection/shoelace/assets/icons/fast-forward-btn.svg +4 -0
  902. package/dist/collection/shoelace/assets/icons/fast-forward-circle-fill.svg +3 -0
  903. package/dist/collection/shoelace/assets/icons/fast-forward-circle.svg +4 -0
  904. package/dist/collection/shoelace/assets/icons/fast-forward-fill.svg +4 -0
  905. package/dist/collection/shoelace/assets/icons/fast-forward.svg +4 -0
  906. package/dist/collection/shoelace/assets/icons/feather.svg +3 -0
  907. package/dist/collection/shoelace/assets/icons/feather2.svg +3 -0
  908. package/dist/collection/shoelace/assets/icons/file-arrow-down-fill.svg +3 -0
  909. package/dist/collection/shoelace/assets/icons/file-arrow-down.svg +4 -0
  910. package/dist/collection/shoelace/assets/icons/file-arrow-up-fill.svg +3 -0
  911. package/dist/collection/shoelace/assets/icons/file-arrow-up.svg +4 -0
  912. package/dist/collection/shoelace/assets/icons/file-bar-graph-fill.svg +3 -0
  913. package/dist/collection/shoelace/assets/icons/file-bar-graph.svg +4 -0
  914. package/dist/collection/shoelace/assets/icons/file-binary-fill.svg +4 -0
  915. package/dist/collection/shoelace/assets/icons/file-binary.svg +4 -0
  916. package/dist/collection/shoelace/assets/icons/file-break-fill.svg +3 -0
  917. package/dist/collection/shoelace/assets/icons/file-break.svg +3 -0
  918. package/dist/collection/shoelace/assets/icons/file-check-fill.svg +3 -0
  919. package/dist/collection/shoelace/assets/icons/file-check.svg +4 -0
  920. package/dist/collection/shoelace/assets/icons/file-code-fill.svg +3 -0
  921. package/dist/collection/shoelace/assets/icons/file-code.svg +4 -0
  922. package/dist/collection/shoelace/assets/icons/file-diff-fill.svg +3 -0
  923. package/dist/collection/shoelace/assets/icons/file-diff.svg +4 -0
  924. package/dist/collection/shoelace/assets/icons/file-earmark-arrow-down-fill.svg +3 -0
  925. package/dist/collection/shoelace/assets/icons/file-earmark-arrow-down.svg +4 -0
  926. package/dist/collection/shoelace/assets/icons/file-earmark-arrow-up-fill.svg +3 -0
  927. package/dist/collection/shoelace/assets/icons/file-earmark-arrow-up.svg +4 -0
  928. package/dist/collection/shoelace/assets/icons/file-earmark-bar-graph-fill.svg +3 -0
  929. package/dist/collection/shoelace/assets/icons/file-earmark-bar-graph.svg +4 -0
  930. package/dist/collection/shoelace/assets/icons/file-earmark-binary-fill.svg +4 -0
  931. package/dist/collection/shoelace/assets/icons/file-earmark-binary.svg +4 -0
  932. package/dist/collection/shoelace/assets/icons/file-earmark-break-fill.svg +3 -0
  933. package/dist/collection/shoelace/assets/icons/file-earmark-break.svg +3 -0
  934. package/dist/collection/shoelace/assets/icons/file-earmark-check-fill.svg +3 -0
  935. package/dist/collection/shoelace/assets/icons/file-earmark-check.svg +4 -0
  936. package/dist/collection/shoelace/assets/icons/file-earmark-code-fill.svg +3 -0
  937. package/dist/collection/shoelace/assets/icons/file-earmark-code.svg +4 -0
  938. package/dist/collection/shoelace/assets/icons/file-earmark-diff-fill.svg +3 -0
  939. package/dist/collection/shoelace/assets/icons/file-earmark-diff.svg +4 -0
  940. package/dist/collection/shoelace/assets/icons/file-earmark-easel-fill.svg +4 -0
  941. package/dist/collection/shoelace/assets/icons/file-earmark-easel.svg +4 -0
  942. package/dist/collection/shoelace/assets/icons/file-earmark-excel-fill.svg +3 -0
  943. package/dist/collection/shoelace/assets/icons/file-earmark-excel.svg +4 -0
  944. package/dist/collection/shoelace/assets/icons/file-earmark-fill.svg +3 -0
  945. package/dist/collection/shoelace/assets/icons/file-earmark-font-fill.svg +3 -0
  946. package/dist/collection/shoelace/assets/icons/file-earmark-font.svg +4 -0
  947. package/dist/collection/shoelace/assets/icons/file-earmark-image-fill.svg +4 -0
  948. package/dist/collection/shoelace/assets/icons/file-earmark-image.svg +4 -0
  949. package/dist/collection/shoelace/assets/icons/file-earmark-lock-fill.svg +4 -0
  950. package/dist/collection/shoelace/assets/icons/file-earmark-lock.svg +4 -0
  951. package/dist/collection/shoelace/assets/icons/file-earmark-lock2-fill.svg +4 -0
  952. package/dist/collection/shoelace/assets/icons/file-earmark-lock2.svg +4 -0
  953. package/dist/collection/shoelace/assets/icons/file-earmark-medical-fill.svg +3 -0
  954. package/dist/collection/shoelace/assets/icons/file-earmark-medical.svg +4 -0
  955. package/dist/collection/shoelace/assets/icons/file-earmark-minus-fill.svg +3 -0
  956. package/dist/collection/shoelace/assets/icons/file-earmark-minus.svg +4 -0
  957. package/dist/collection/shoelace/assets/icons/file-earmark-music-fill.svg +3 -0
  958. package/dist/collection/shoelace/assets/icons/file-earmark-music.svg +4 -0
  959. package/dist/collection/shoelace/assets/icons/file-earmark-pdf-fill.svg +4 -0
  960. package/dist/collection/shoelace/assets/icons/file-earmark-pdf.svg +4 -0
  961. package/dist/collection/shoelace/assets/icons/file-earmark-person-fill.svg +3 -0
  962. package/dist/collection/shoelace/assets/icons/file-earmark-person.svg +4 -0
  963. package/dist/collection/shoelace/assets/icons/file-earmark-play-fill.svg +3 -0
  964. package/dist/collection/shoelace/assets/icons/file-earmark-play.svg +4 -0
  965. package/dist/collection/shoelace/assets/icons/file-earmark-plus-fill.svg +3 -0
  966. package/dist/collection/shoelace/assets/icons/file-earmark-plus.svg +4 -0
  967. package/dist/collection/shoelace/assets/icons/file-earmark-post-fill.svg +3 -0
  968. package/dist/collection/shoelace/assets/icons/file-earmark-post.svg +4 -0
  969. package/dist/collection/shoelace/assets/icons/file-earmark-ppt-fill.svg +4 -0
  970. package/dist/collection/shoelace/assets/icons/file-earmark-ppt.svg +4 -0
  971. package/dist/collection/shoelace/assets/icons/file-earmark-richtext-fill.svg +3 -0
  972. package/dist/collection/shoelace/assets/icons/file-earmark-richtext.svg +4 -0
  973. package/dist/collection/shoelace/assets/icons/file-earmark-ruled-fill.svg +3 -0
  974. package/dist/collection/shoelace/assets/icons/file-earmark-ruled.svg +3 -0
  975. package/dist/collection/shoelace/assets/icons/file-earmark-slides-fill.svg +4 -0
  976. package/dist/collection/shoelace/assets/icons/file-earmark-slides.svg +4 -0
  977. package/dist/collection/shoelace/assets/icons/file-earmark-spreadsheet-fill.svg +4 -0
  978. package/dist/collection/shoelace/assets/icons/file-earmark-spreadsheet.svg +3 -0
  979. package/dist/collection/shoelace/assets/icons/file-earmark-text-fill.svg +3 -0
  980. package/dist/collection/shoelace/assets/icons/file-earmark-text.svg +4 -0
  981. package/dist/collection/shoelace/assets/icons/file-earmark-word-fill.svg +3 -0
  982. package/dist/collection/shoelace/assets/icons/file-earmark-word.svg +4 -0
  983. package/dist/collection/shoelace/assets/icons/file-earmark-x-fill.svg +3 -0
  984. package/dist/collection/shoelace/assets/icons/file-earmark-x.svg +4 -0
  985. package/dist/collection/shoelace/assets/icons/file-earmark-zip-fill.svg +4 -0
  986. package/dist/collection/shoelace/assets/icons/file-earmark-zip.svg +4 -0
  987. package/dist/collection/shoelace/assets/icons/file-earmark.svg +3 -0
  988. package/dist/collection/shoelace/assets/icons/file-easel-fill.svg +4 -0
  989. package/dist/collection/shoelace/assets/icons/file-easel.svg +4 -0
  990. package/dist/collection/shoelace/assets/icons/file-excel-fill.svg +3 -0
  991. package/dist/collection/shoelace/assets/icons/file-excel.svg +4 -0
  992. package/dist/collection/shoelace/assets/icons/file-fill.svg +3 -0
  993. package/dist/collection/shoelace/assets/icons/file-font-fill.svg +3 -0
  994. package/dist/collection/shoelace/assets/icons/file-font.svg +4 -0
  995. package/dist/collection/shoelace/assets/icons/file-image-fill.svg +4 -0
  996. package/dist/collection/shoelace/assets/icons/file-image.svg +4 -0
  997. package/dist/collection/shoelace/assets/icons/file-lock-fill.svg +4 -0
  998. package/dist/collection/shoelace/assets/icons/file-lock.svg +4 -0
  999. package/dist/collection/shoelace/assets/icons/file-lock2-fill.svg +4 -0
  1000. package/dist/collection/shoelace/assets/icons/file-lock2.svg +4 -0
  1001. package/dist/collection/shoelace/assets/icons/file-medical-fill.svg +3 -0
  1002. package/dist/collection/shoelace/assets/icons/file-medical.svg +4 -0
  1003. package/dist/collection/shoelace/assets/icons/file-minus-fill.svg +3 -0
  1004. package/dist/collection/shoelace/assets/icons/file-minus.svg +4 -0
  1005. package/dist/collection/shoelace/assets/icons/file-music-fill.svg +3 -0
  1006. package/dist/collection/shoelace/assets/icons/file-music.svg +4 -0
  1007. package/dist/collection/shoelace/assets/icons/file-pdf-fill.svg +4 -0
  1008. package/dist/collection/shoelace/assets/icons/file-pdf.svg +4 -0
  1009. package/dist/collection/shoelace/assets/icons/file-person-fill.svg +3 -0
  1010. package/dist/collection/shoelace/assets/icons/file-person.svg +4 -0
  1011. package/dist/collection/shoelace/assets/icons/file-play-fill.svg +3 -0
  1012. package/dist/collection/shoelace/assets/icons/file-play.svg +4 -0
  1013. package/dist/collection/shoelace/assets/icons/file-plus-fill.svg +3 -0
  1014. package/dist/collection/shoelace/assets/icons/file-plus.svg +4 -0
  1015. package/dist/collection/shoelace/assets/icons/file-post-fill.svg +3 -0
  1016. package/dist/collection/shoelace/assets/icons/file-post.svg +4 -0
  1017. package/dist/collection/shoelace/assets/icons/file-ppt-fill.svg +4 -0
  1018. package/dist/collection/shoelace/assets/icons/file-ppt.svg +4 -0
  1019. package/dist/collection/shoelace/assets/icons/file-richtext-fill.svg +3 -0
  1020. package/dist/collection/shoelace/assets/icons/file-richtext.svg +4 -0
  1021. package/dist/collection/shoelace/assets/icons/file-ruled-fill.svg +3 -0
  1022. package/dist/collection/shoelace/assets/icons/file-ruled.svg +3 -0
  1023. package/dist/collection/shoelace/assets/icons/file-slides-fill.svg +4 -0
  1024. package/dist/collection/shoelace/assets/icons/file-slides.svg +4 -0
  1025. package/dist/collection/shoelace/assets/icons/file-spreadsheet-fill.svg +3 -0
  1026. package/dist/collection/shoelace/assets/icons/file-spreadsheet.svg +3 -0
  1027. package/dist/collection/shoelace/assets/icons/file-text-fill.svg +3 -0
  1028. package/dist/collection/shoelace/assets/icons/file-text.svg +4 -0
  1029. package/dist/collection/shoelace/assets/icons/file-word-fill.svg +3 -0
  1030. package/dist/collection/shoelace/assets/icons/file-word.svg +4 -0
  1031. package/dist/collection/shoelace/assets/icons/file-x-fill.svg +3 -0
  1032. package/dist/collection/shoelace/assets/icons/file-x.svg +4 -0
  1033. package/dist/collection/shoelace/assets/icons/file-zip-fill.svg +4 -0
  1034. package/dist/collection/shoelace/assets/icons/file-zip.svg +4 -0
  1035. package/dist/collection/shoelace/assets/icons/file.svg +3 -0
  1036. package/dist/collection/shoelace/assets/icons/files-alt.svg +3 -0
  1037. package/dist/collection/shoelace/assets/icons/files.svg +3 -0
  1038. package/dist/collection/shoelace/assets/icons/filetype-aac.svg +3 -0
  1039. package/dist/collection/shoelace/assets/icons/filetype-ai.svg +3 -0
  1040. package/dist/collection/shoelace/assets/icons/filetype-bmp.svg +3 -0
  1041. package/dist/collection/shoelace/assets/icons/filetype-cs.svg +3 -0
  1042. package/dist/collection/shoelace/assets/icons/filetype-css.svg +3 -0
  1043. package/dist/collection/shoelace/assets/icons/filetype-csv.svg +3 -0
  1044. package/dist/collection/shoelace/assets/icons/filetype-doc.svg +3 -0
  1045. package/dist/collection/shoelace/assets/icons/filetype-docx.svg +3 -0
  1046. package/dist/collection/shoelace/assets/icons/filetype-exe.svg +3 -0
  1047. package/dist/collection/shoelace/assets/icons/filetype-gif.svg +3 -0
  1048. package/dist/collection/shoelace/assets/icons/filetype-heic.svg +3 -0
  1049. package/dist/collection/shoelace/assets/icons/filetype-html.svg +3 -0
  1050. package/dist/collection/shoelace/assets/icons/filetype-java.svg +3 -0
  1051. package/dist/collection/shoelace/assets/icons/filetype-jpg.svg +3 -0
  1052. package/dist/collection/shoelace/assets/icons/filetype-js.svg +3 -0
  1053. package/dist/collection/shoelace/assets/icons/filetype-json.svg +3 -0
  1054. package/dist/collection/shoelace/assets/icons/filetype-jsx.svg +3 -0
  1055. package/dist/collection/shoelace/assets/icons/filetype-key.svg +3 -0
  1056. package/dist/collection/shoelace/assets/icons/filetype-m4p.svg +3 -0
  1057. package/dist/collection/shoelace/assets/icons/filetype-md.svg +3 -0
  1058. package/dist/collection/shoelace/assets/icons/filetype-mdx.svg +3 -0
  1059. package/dist/collection/shoelace/assets/icons/filetype-mov.svg +3 -0
  1060. package/dist/collection/shoelace/assets/icons/filetype-mp3.svg +3 -0
  1061. package/dist/collection/shoelace/assets/icons/filetype-mp4.svg +3 -0
  1062. package/dist/collection/shoelace/assets/icons/filetype-otf.svg +3 -0
  1063. package/dist/collection/shoelace/assets/icons/filetype-pdf.svg +3 -0
  1064. package/dist/collection/shoelace/assets/icons/filetype-php.svg +3 -0
  1065. package/dist/collection/shoelace/assets/icons/filetype-png.svg +3 -0
  1066. package/dist/collection/shoelace/assets/icons/filetype-ppt.svg +3 -0
  1067. package/dist/collection/shoelace/assets/icons/filetype-pptx.svg +3 -0
  1068. package/dist/collection/shoelace/assets/icons/filetype-psd.svg +3 -0
  1069. package/dist/collection/shoelace/assets/icons/filetype-py.svg +3 -0
  1070. package/dist/collection/shoelace/assets/icons/filetype-raw.svg +3 -0
  1071. package/dist/collection/shoelace/assets/icons/filetype-rb.svg +3 -0
  1072. package/dist/collection/shoelace/assets/icons/filetype-sass.svg +3 -0
  1073. package/dist/collection/shoelace/assets/icons/filetype-scss.svg +3 -0
  1074. package/dist/collection/shoelace/assets/icons/filetype-sh.svg +3 -0
  1075. package/dist/collection/shoelace/assets/icons/filetype-sql.svg +3 -0
  1076. package/dist/collection/shoelace/assets/icons/filetype-svg.svg +3 -0
  1077. package/dist/collection/shoelace/assets/icons/filetype-tiff.svg +3 -0
  1078. package/dist/collection/shoelace/assets/icons/filetype-tsx.svg +3 -0
  1079. package/dist/collection/shoelace/assets/icons/filetype-ttf.svg +3 -0
  1080. package/dist/collection/shoelace/assets/icons/filetype-txt.svg +3 -0
  1081. package/dist/collection/shoelace/assets/icons/filetype-wav.svg +3 -0
  1082. package/dist/collection/shoelace/assets/icons/filetype-woff.svg +3 -0
  1083. package/dist/collection/shoelace/assets/icons/filetype-xls.svg +3 -0
  1084. package/dist/collection/shoelace/assets/icons/filetype-xlsx.svg +3 -0
  1085. package/dist/collection/shoelace/assets/icons/filetype-xml.svg +3 -0
  1086. package/dist/collection/shoelace/assets/icons/filetype-yml.svg +3 -0
  1087. package/dist/collection/shoelace/assets/icons/film.svg +3 -0
  1088. package/dist/collection/shoelace/assets/icons/filter-circle-fill.svg +3 -0
  1089. package/dist/collection/shoelace/assets/icons/filter-circle.svg +4 -0
  1090. package/dist/collection/shoelace/assets/icons/filter-left.svg +3 -0
  1091. package/dist/collection/shoelace/assets/icons/filter-right.svg +3 -0
  1092. package/dist/collection/shoelace/assets/icons/filter-square-fill.svg +3 -0
  1093. package/dist/collection/shoelace/assets/icons/filter-square.svg +4 -0
  1094. package/dist/collection/shoelace/assets/icons/filter.svg +3 -0
  1095. package/dist/collection/shoelace/assets/icons/fingerprint.svg +7 -0
  1096. package/dist/collection/shoelace/assets/icons/fire.svg +3 -0
  1097. package/dist/collection/shoelace/assets/icons/flag-fill.svg +3 -0
  1098. package/dist/collection/shoelace/assets/icons/flag.svg +3 -0
  1099. package/dist/collection/shoelace/assets/icons/floppy-fill.svg +4 -0
  1100. package/dist/collection/shoelace/assets/icons/floppy.svg +4 -0
  1101. package/dist/collection/shoelace/assets/icons/floppy2-fill.svg +4 -0
  1102. package/dist/collection/shoelace/assets/icons/floppy2.svg +3 -0
  1103. package/dist/collection/shoelace/assets/icons/flower1.svg +3 -0
  1104. package/dist/collection/shoelace/assets/icons/flower2.svg +3 -0
  1105. package/dist/collection/shoelace/assets/icons/flower3.svg +3 -0
  1106. package/dist/collection/shoelace/assets/icons/folder-check.svg +4 -0
  1107. package/dist/collection/shoelace/assets/icons/folder-fill.svg +3 -0
  1108. package/dist/collection/shoelace/assets/icons/folder-minus.svg +4 -0
  1109. package/dist/collection/shoelace/assets/icons/folder-plus.svg +4 -0
  1110. package/dist/collection/shoelace/assets/icons/folder-symlink-fill.svg +3 -0
  1111. package/dist/collection/shoelace/assets/icons/folder-symlink.svg +4 -0
  1112. package/dist/collection/shoelace/assets/icons/folder-x.svg +4 -0
  1113. package/dist/collection/shoelace/assets/icons/folder.svg +3 -0
  1114. package/dist/collection/shoelace/assets/icons/folder2-open.svg +3 -0
  1115. package/dist/collection/shoelace/assets/icons/folder2.svg +3 -0
  1116. package/dist/collection/shoelace/assets/icons/fonts.svg +3 -0
  1117. package/dist/collection/shoelace/assets/icons/forward-fill.svg +3 -0
  1118. package/dist/collection/shoelace/assets/icons/forward.svg +3 -0
  1119. package/dist/collection/shoelace/assets/icons/front.svg +3 -0
  1120. package/dist/collection/shoelace/assets/icons/fuel-pump-diesel-fill.svg +4 -0
  1121. package/dist/collection/shoelace/assets/icons/fuel-pump-diesel.svg +4 -0
  1122. package/dist/collection/shoelace/assets/icons/fuel-pump-fill.svg +3 -0
  1123. package/dist/collection/shoelace/assets/icons/fuel-pump.svg +4 -0
  1124. package/dist/collection/shoelace/assets/icons/fullscreen-exit.svg +3 -0
  1125. package/dist/collection/shoelace/assets/icons/fullscreen.svg +3 -0
  1126. package/dist/collection/shoelace/assets/icons/funnel-fill.svg +3 -0
  1127. package/dist/collection/shoelace/assets/icons/funnel.svg +3 -0
  1128. package/dist/collection/shoelace/assets/icons/gear-fill.svg +3 -0
  1129. package/dist/collection/shoelace/assets/icons/gear-wide-connected.svg +3 -0
  1130. package/dist/collection/shoelace/assets/icons/gear-wide.svg +3 -0
  1131. package/dist/collection/shoelace/assets/icons/gear.svg +4 -0
  1132. package/dist/collection/shoelace/assets/icons/gem.svg +3 -0
  1133. package/dist/collection/shoelace/assets/icons/gender-ambiguous.svg +3 -0
  1134. package/dist/collection/shoelace/assets/icons/gender-female.svg +3 -0
  1135. package/dist/collection/shoelace/assets/icons/gender-male.svg +3 -0
  1136. package/dist/collection/shoelace/assets/icons/gender-neuter.svg +3 -0
  1137. package/dist/collection/shoelace/assets/icons/gender-trans.svg +3 -0
  1138. package/dist/collection/shoelace/assets/icons/geo-alt-fill.svg +3 -0
  1139. package/dist/collection/shoelace/assets/icons/geo-alt.svg +4 -0
  1140. package/dist/collection/shoelace/assets/icons/geo-fill.svg +3 -0
  1141. package/dist/collection/shoelace/assets/icons/geo.svg +3 -0
  1142. package/dist/collection/shoelace/assets/icons/gift-fill.svg +3 -0
  1143. package/dist/collection/shoelace/assets/icons/gift.svg +3 -0
  1144. package/dist/collection/shoelace/assets/icons/git.svg +3 -0
  1145. package/dist/collection/shoelace/assets/icons/github.svg +3 -0
  1146. package/dist/collection/shoelace/assets/icons/gitlab.svg +3 -0
  1147. package/dist/collection/shoelace/assets/icons/globe-americas.svg +3 -0
  1148. package/dist/collection/shoelace/assets/icons/globe-asia-australia.svg +4 -0
  1149. package/dist/collection/shoelace/assets/icons/globe-central-south-asia.svg +3 -0
  1150. package/dist/collection/shoelace/assets/icons/globe-europe-africa.svg +3 -0
  1151. package/dist/collection/shoelace/assets/icons/globe.svg +3 -0
  1152. package/dist/collection/shoelace/assets/icons/globe2.svg +3 -0
  1153. package/dist/collection/shoelace/assets/icons/google-play.svg +3 -0
  1154. package/dist/collection/shoelace/assets/icons/google.svg +3 -0
  1155. package/dist/collection/shoelace/assets/icons/gpu-card.svg +5 -0
  1156. package/dist/collection/shoelace/assets/icons/graph-down-arrow.svg +3 -0
  1157. package/dist/collection/shoelace/assets/icons/graph-down.svg +3 -0
  1158. package/dist/collection/shoelace/assets/icons/graph-up-arrow.svg +3 -0
  1159. package/dist/collection/shoelace/assets/icons/graph-up.svg +3 -0
  1160. package/dist/collection/shoelace/assets/icons/grid-1x2-fill.svg +3 -0
  1161. package/dist/collection/shoelace/assets/icons/grid-1x2.svg +3 -0
  1162. package/dist/collection/shoelace/assets/icons/grid-3x2-gap-fill.svg +3 -0
  1163. package/dist/collection/shoelace/assets/icons/grid-3x2-gap.svg +3 -0
  1164. package/dist/collection/shoelace/assets/icons/grid-3x2.svg +3 -0
  1165. package/dist/collection/shoelace/assets/icons/grid-3x3-gap-fill.svg +3 -0
  1166. package/dist/collection/shoelace/assets/icons/grid-3x3-gap.svg +3 -0
  1167. package/dist/collection/shoelace/assets/icons/grid-3x3.svg +3 -0
  1168. package/dist/collection/shoelace/assets/icons/grid-fill.svg +3 -0
  1169. package/dist/collection/shoelace/assets/icons/grid.svg +3 -0
  1170. package/dist/collection/shoelace/assets/icons/grip-horizontal.svg +3 -0
  1171. package/dist/collection/shoelace/assets/icons/grip-vertical.svg +3 -0
  1172. package/dist/collection/shoelace/assets/icons/h-circle-fill.svg +3 -0
  1173. package/dist/collection/shoelace/assets/icons/h-circle.svg +3 -0
  1174. package/dist/collection/shoelace/assets/icons/h-square-fill.svg +3 -0
  1175. package/dist/collection/shoelace/assets/icons/h-square.svg +4 -0
  1176. package/dist/collection/shoelace/assets/icons/hammer.svg +3 -0
  1177. package/dist/collection/shoelace/assets/icons/hand-index-fill.svg +3 -0
  1178. package/dist/collection/shoelace/assets/icons/hand-index-thumb-fill.svg +3 -0
  1179. package/dist/collection/shoelace/assets/icons/hand-index-thumb.svg +3 -0
  1180. package/dist/collection/shoelace/assets/icons/hand-index.svg +3 -0
  1181. package/dist/collection/shoelace/assets/icons/hand-thumbs-down-fill.svg +3 -0
  1182. package/dist/collection/shoelace/assets/icons/hand-thumbs-down.svg +3 -0
  1183. package/dist/collection/shoelace/assets/icons/hand-thumbs-up-fill.svg +3 -0
  1184. package/dist/collection/shoelace/assets/icons/hand-thumbs-up.svg +3 -0
  1185. package/dist/collection/shoelace/assets/icons/handbag-fill.svg +3 -0
  1186. package/dist/collection/shoelace/assets/icons/handbag.svg +3 -0
  1187. package/dist/collection/shoelace/assets/icons/hash.svg +3 -0
  1188. package/dist/collection/shoelace/assets/icons/hdd-fill.svg +3 -0
  1189. package/dist/collection/shoelace/assets/icons/hdd-network-fill.svg +3 -0
  1190. package/dist/collection/shoelace/assets/icons/hdd-network.svg +4 -0
  1191. package/dist/collection/shoelace/assets/icons/hdd-rack-fill.svg +3 -0
  1192. package/dist/collection/shoelace/assets/icons/hdd-rack.svg +4 -0
  1193. package/dist/collection/shoelace/assets/icons/hdd-stack-fill.svg +3 -0
  1194. package/dist/collection/shoelace/assets/icons/hdd-stack.svg +5 -0
  1195. package/dist/collection/shoelace/assets/icons/hdd.svg +4 -0
  1196. package/dist/collection/shoelace/assets/icons/hdmi-fill.svg +3 -0
  1197. package/dist/collection/shoelace/assets/icons/hdmi.svg +4 -0
  1198. package/dist/collection/shoelace/assets/icons/headphones.svg +3 -0
  1199. package/dist/collection/shoelace/assets/icons/headset-vr.svg +4 -0
  1200. package/dist/collection/shoelace/assets/icons/headset.svg +3 -0
  1201. package/dist/collection/shoelace/assets/icons/heart-arrow.svg +3 -0
  1202. package/dist/collection/shoelace/assets/icons/heart-fill.svg +3 -0
  1203. package/dist/collection/shoelace/assets/icons/heart-half.svg +3 -0
  1204. package/dist/collection/shoelace/assets/icons/heart-pulse-fill.svg +4 -0
  1205. package/dist/collection/shoelace/assets/icons/heart-pulse.svg +4 -0
  1206. package/dist/collection/shoelace/assets/icons/heart.svg +3 -0
  1207. package/dist/collection/shoelace/assets/icons/heartbreak-fill.svg +3 -0
  1208. package/dist/collection/shoelace/assets/icons/heartbreak.svg +3 -0
  1209. package/dist/collection/shoelace/assets/icons/hearts.svg +3 -0
  1210. package/dist/collection/shoelace/assets/icons/heptagon-fill.svg +3 -0
  1211. package/dist/collection/shoelace/assets/icons/heptagon-half.svg +3 -0
  1212. package/dist/collection/shoelace/assets/icons/heptagon.svg +3 -0
  1213. package/dist/collection/shoelace/assets/icons/hexagon-fill.svg +3 -0
  1214. package/dist/collection/shoelace/assets/icons/hexagon-half.svg +3 -0
  1215. package/dist/collection/shoelace/assets/icons/hexagon.svg +3 -0
  1216. package/dist/collection/shoelace/assets/icons/highlighter.svg +3 -0
  1217. package/dist/collection/shoelace/assets/icons/highlights.svg +3 -0
  1218. package/dist/collection/shoelace/assets/icons/hospital-fill.svg +3 -0
  1219. package/dist/collection/shoelace/assets/icons/hospital.svg +4 -0
  1220. package/dist/collection/shoelace/assets/icons/hourglass-bottom.svg +3 -0
  1221. package/dist/collection/shoelace/assets/icons/hourglass-split.svg +3 -0
  1222. package/dist/collection/shoelace/assets/icons/hourglass-top.svg +3 -0
  1223. package/dist/collection/shoelace/assets/icons/hourglass.svg +3 -0
  1224. package/dist/collection/shoelace/assets/icons/house-add-fill.svg +5 -0
  1225. package/dist/collection/shoelace/assets/icons/house-add.svg +4 -0
  1226. package/dist/collection/shoelace/assets/icons/house-check-fill.svg +5 -0
  1227. package/dist/collection/shoelace/assets/icons/house-check.svg +4 -0
  1228. package/dist/collection/shoelace/assets/icons/house-dash-fill.svg +5 -0
  1229. package/dist/collection/shoelace/assets/icons/house-dash.svg +4 -0
  1230. package/dist/collection/shoelace/assets/icons/house-door-fill.svg +3 -0
  1231. package/dist/collection/shoelace/assets/icons/house-door.svg +3 -0
  1232. package/dist/collection/shoelace/assets/icons/house-down-fill.svg +5 -0
  1233. package/dist/collection/shoelace/assets/icons/house-down.svg +4 -0
  1234. package/dist/collection/shoelace/assets/icons/house-exclamation-fill.svg +5 -0
  1235. package/dist/collection/shoelace/assets/icons/house-exclamation.svg +4 -0
  1236. package/dist/collection/shoelace/assets/icons/house-fill.svg +4 -0
  1237. package/dist/collection/shoelace/assets/icons/house-gear-fill.svg +5 -0
  1238. package/dist/collection/shoelace/assets/icons/house-gear.svg +4 -0
  1239. package/dist/collection/shoelace/assets/icons/house-heart-fill.svg +4 -0
  1240. package/dist/collection/shoelace/assets/icons/house-heart.svg +4 -0
  1241. package/dist/collection/shoelace/assets/icons/house-lock-fill.svg +5 -0
  1242. package/dist/collection/shoelace/assets/icons/house-lock.svg +4 -0
  1243. package/dist/collection/shoelace/assets/icons/house-slash-fill.svg +5 -0
  1244. package/dist/collection/shoelace/assets/icons/house-slash.svg +4 -0
  1245. package/dist/collection/shoelace/assets/icons/house-up-fill.svg +5 -0
  1246. package/dist/collection/shoelace/assets/icons/house-up.svg +4 -0
  1247. package/dist/collection/shoelace/assets/icons/house-x-fill.svg +5 -0
  1248. package/dist/collection/shoelace/assets/icons/house-x.svg +4 -0
  1249. package/dist/collection/shoelace/assets/icons/house.svg +3 -0
  1250. package/dist/collection/shoelace/assets/icons/houses-fill.svg +4 -0
  1251. package/dist/collection/shoelace/assets/icons/houses.svg +3 -0
  1252. package/dist/collection/shoelace/assets/icons/hr.svg +3 -0
  1253. package/dist/collection/shoelace/assets/icons/hurricane.svg +3 -0
  1254. package/dist/collection/shoelace/assets/icons/hypnotize.svg +4 -0
  1255. package/dist/collection/shoelace/assets/icons/icons.json +24701 -0
  1256. package/dist/collection/shoelace/assets/icons/image-alt.svg +3 -0
  1257. package/dist/collection/shoelace/assets/icons/image-fill.svg +3 -0
  1258. package/dist/collection/shoelace/assets/icons/image.svg +4 -0
  1259. package/dist/collection/shoelace/assets/icons/images.svg +4 -0
  1260. package/dist/collection/shoelace/assets/icons/inbox-fill.svg +3 -0
  1261. package/dist/collection/shoelace/assets/icons/inbox.svg +3 -0
  1262. package/dist/collection/shoelace/assets/icons/inboxes-fill.svg +3 -0
  1263. package/dist/collection/shoelace/assets/icons/inboxes.svg +3 -0
  1264. package/dist/collection/shoelace/assets/icons/incognito.svg +3 -0
  1265. package/dist/collection/shoelace/assets/icons/indent.svg +4 -0
  1266. package/dist/collection/shoelace/assets/icons/infinity.svg +3 -0
  1267. package/dist/collection/shoelace/assets/icons/info-circle-fill.svg +3 -0
  1268. package/dist/collection/shoelace/assets/icons/info-circle.svg +4 -0
  1269. package/dist/collection/shoelace/assets/icons/info-lg.svg +3 -0
  1270. package/dist/collection/shoelace/assets/icons/info-square-fill.svg +3 -0
  1271. package/dist/collection/shoelace/assets/icons/info-square.svg +4 -0
  1272. package/dist/collection/shoelace/assets/icons/info.svg +3 -0
  1273. package/dist/collection/shoelace/assets/icons/input-cursor-text.svg +4 -0
  1274. package/dist/collection/shoelace/assets/icons/input-cursor.svg +4 -0
  1275. package/dist/collection/shoelace/assets/icons/instagram.svg +3 -0
  1276. package/dist/collection/shoelace/assets/icons/intersect.svg +3 -0
  1277. package/dist/collection/shoelace/assets/icons/journal-album.svg +5 -0
  1278. package/dist/collection/shoelace/assets/icons/journal-arrow-down.svg +5 -0
  1279. package/dist/collection/shoelace/assets/icons/journal-arrow-up.svg +5 -0
  1280. package/dist/collection/shoelace/assets/icons/journal-bookmark-fill.svg +5 -0
  1281. package/dist/collection/shoelace/assets/icons/journal-bookmark.svg +5 -0
  1282. package/dist/collection/shoelace/assets/icons/journal-check.svg +5 -0
  1283. package/dist/collection/shoelace/assets/icons/journal-code.svg +5 -0
  1284. package/dist/collection/shoelace/assets/icons/journal-medical.svg +5 -0
  1285. package/dist/collection/shoelace/assets/icons/journal-minus.svg +5 -0
  1286. package/dist/collection/shoelace/assets/icons/journal-plus.svg +5 -0
  1287. package/dist/collection/shoelace/assets/icons/journal-richtext.svg +5 -0
  1288. package/dist/collection/shoelace/assets/icons/journal-text.svg +5 -0
  1289. package/dist/collection/shoelace/assets/icons/journal-x.svg +5 -0
  1290. package/dist/collection/shoelace/assets/icons/journal.svg +4 -0
  1291. package/dist/collection/shoelace/assets/icons/journals.svg +4 -0
  1292. package/dist/collection/shoelace/assets/icons/joystick.svg +4 -0
  1293. package/dist/collection/shoelace/assets/icons/justify-left.svg +3 -0
  1294. package/dist/collection/shoelace/assets/icons/justify-right.svg +3 -0
  1295. package/dist/collection/shoelace/assets/icons/justify.svg +3 -0
  1296. package/dist/collection/shoelace/assets/icons/kanban-fill.svg +3 -0
  1297. package/dist/collection/shoelace/assets/icons/kanban.svg +4 -0
  1298. package/dist/collection/shoelace/assets/icons/key-fill.svg +3 -0
  1299. package/dist/collection/shoelace/assets/icons/key.svg +4 -0
  1300. package/dist/collection/shoelace/assets/icons/keyboard-fill.svg +3 -0
  1301. package/dist/collection/shoelace/assets/icons/keyboard.svg +4 -0
  1302. package/dist/collection/shoelace/assets/icons/ladder.svg +3 -0
  1303. package/dist/collection/shoelace/assets/icons/lamp-fill.svg +4 -0
  1304. package/dist/collection/shoelace/assets/icons/lamp.svg +4 -0
  1305. package/dist/collection/shoelace/assets/icons/laptop-fill.svg +3 -0
  1306. package/dist/collection/shoelace/assets/icons/laptop.svg +3 -0
  1307. package/dist/collection/shoelace/assets/icons/layer-backward.svg +4 -0
  1308. package/dist/collection/shoelace/assets/icons/layer-forward.svg +4 -0
  1309. package/dist/collection/shoelace/assets/icons/layers-fill.svg +4 -0
  1310. package/dist/collection/shoelace/assets/icons/layers-half.svg +3 -0
  1311. package/dist/collection/shoelace/assets/icons/layers.svg +3 -0
  1312. package/dist/collection/shoelace/assets/icons/layout-sidebar-inset-reverse.svg +4 -0
  1313. package/dist/collection/shoelace/assets/icons/layout-sidebar-inset.svg +4 -0
  1314. package/dist/collection/shoelace/assets/icons/layout-sidebar-reverse.svg +3 -0
  1315. package/dist/collection/shoelace/assets/icons/layout-sidebar.svg +3 -0
  1316. package/dist/collection/shoelace/assets/icons/layout-split.svg +3 -0
  1317. package/dist/collection/shoelace/assets/icons/layout-text-sidebar-reverse.svg +4 -0
  1318. package/dist/collection/shoelace/assets/icons/layout-text-sidebar.svg +4 -0
  1319. package/dist/collection/shoelace/assets/icons/layout-text-window-reverse.svg +4 -0
  1320. package/dist/collection/shoelace/assets/icons/layout-text-window.svg +4 -0
  1321. package/dist/collection/shoelace/assets/icons/layout-three-columns.svg +3 -0
  1322. package/dist/collection/shoelace/assets/icons/layout-wtf.svg +3 -0
  1323. package/dist/collection/shoelace/assets/icons/life-preserver.svg +3 -0
  1324. package/dist/collection/shoelace/assets/icons/lightbulb-fill.svg +3 -0
  1325. package/dist/collection/shoelace/assets/icons/lightbulb-off-fill.svg +3 -0
  1326. package/dist/collection/shoelace/assets/icons/lightbulb-off.svg +3 -0
  1327. package/dist/collection/shoelace/assets/icons/lightbulb.svg +3 -0
  1328. package/dist/collection/shoelace/assets/icons/lightning-charge-fill.svg +3 -0
  1329. package/dist/collection/shoelace/assets/icons/lightning-charge.svg +3 -0
  1330. package/dist/collection/shoelace/assets/icons/lightning-fill.svg +3 -0
  1331. package/dist/collection/shoelace/assets/icons/lightning.svg +3 -0
  1332. package/dist/collection/shoelace/assets/icons/line.svg +3 -0
  1333. package/dist/collection/shoelace/assets/icons/link-45deg.svg +4 -0
  1334. package/dist/collection/shoelace/assets/icons/link.svg +4 -0
  1335. package/dist/collection/shoelace/assets/icons/linkedin.svg +3 -0
  1336. package/dist/collection/shoelace/assets/icons/list-check.svg +3 -0
  1337. package/dist/collection/shoelace/assets/icons/list-columns-reverse.svg +3 -0
  1338. package/dist/collection/shoelace/assets/icons/list-columns.svg +3 -0
  1339. package/dist/collection/shoelace/assets/icons/list-nested.svg +3 -0
  1340. package/dist/collection/shoelace/assets/icons/list-ol.svg +4 -0
  1341. package/dist/collection/shoelace/assets/icons/list-stars.svg +4 -0
  1342. package/dist/collection/shoelace/assets/icons/list-task.svg +5 -0
  1343. package/dist/collection/shoelace/assets/icons/list-ul.svg +3 -0
  1344. package/dist/collection/shoelace/assets/icons/list.svg +3 -0
  1345. package/dist/collection/shoelace/assets/icons/lock-fill.svg +3 -0
  1346. package/dist/collection/shoelace/assets/icons/lock.svg +3 -0
  1347. package/dist/collection/shoelace/assets/icons/luggage-fill.svg +4 -0
  1348. package/dist/collection/shoelace/assets/icons/luggage.svg +4 -0
  1349. package/dist/collection/shoelace/assets/icons/lungs-fill.svg +3 -0
  1350. package/dist/collection/shoelace/assets/icons/lungs.svg +3 -0
  1351. package/dist/collection/shoelace/assets/icons/magic.svg +3 -0
  1352. package/dist/collection/shoelace/assets/icons/magnet-fill.svg +3 -0
  1353. package/dist/collection/shoelace/assets/icons/magnet.svg +3 -0
  1354. package/dist/collection/shoelace/assets/icons/mailbox-flag.svg +4 -0
  1355. package/dist/collection/shoelace/assets/icons/mailbox.svg +4 -0
  1356. package/dist/collection/shoelace/assets/icons/mailbox2-flag.svg +4 -0
  1357. package/dist/collection/shoelace/assets/icons/mailbox2.svg +4 -0
  1358. package/dist/collection/shoelace/assets/icons/map-fill.svg +3 -0
  1359. package/dist/collection/shoelace/assets/icons/map.svg +3 -0
  1360. package/dist/collection/shoelace/assets/icons/markdown-fill.svg +3 -0
  1361. package/dist/collection/shoelace/assets/icons/markdown.svg +6 -0
  1362. package/dist/collection/shoelace/assets/icons/marker-tip.svg +3 -0
  1363. package/dist/collection/shoelace/assets/icons/mask.svg +3 -0
  1364. package/dist/collection/shoelace/assets/icons/mastodon.svg +3 -0
  1365. package/dist/collection/shoelace/assets/icons/medium.svg +3 -0
  1366. package/dist/collection/shoelace/assets/icons/megaphone-fill.svg +3 -0
  1367. package/dist/collection/shoelace/assets/icons/megaphone.svg +3 -0
  1368. package/dist/collection/shoelace/assets/icons/memory.svg +3 -0
  1369. package/dist/collection/shoelace/assets/icons/menu-app-fill.svg +3 -0
  1370. package/dist/collection/shoelace/assets/icons/menu-app.svg +3 -0
  1371. package/dist/collection/shoelace/assets/icons/menu-button-fill.svg +3 -0
  1372. package/dist/collection/shoelace/assets/icons/menu-button-wide-fill.svg +3 -0
  1373. package/dist/collection/shoelace/assets/icons/menu-button-wide.svg +4 -0
  1374. package/dist/collection/shoelace/assets/icons/menu-button.svg +4 -0
  1375. package/dist/collection/shoelace/assets/icons/menu-down.svg +3 -0
  1376. package/dist/collection/shoelace/assets/icons/menu-up.svg +3 -0
  1377. package/dist/collection/shoelace/assets/icons/messenger.svg +3 -0
  1378. package/dist/collection/shoelace/assets/icons/meta.svg +3 -0
  1379. package/dist/collection/shoelace/assets/icons/mic-fill.svg +4 -0
  1380. package/dist/collection/shoelace/assets/icons/mic-mute-fill.svg +4 -0
  1381. package/dist/collection/shoelace/assets/icons/mic-mute.svg +4 -0
  1382. package/dist/collection/shoelace/assets/icons/mic.svg +4 -0
  1383. package/dist/collection/shoelace/assets/icons/microsoft-teams.svg +4 -0
  1384. package/dist/collection/shoelace/assets/icons/microsoft.svg +3 -0
  1385. package/dist/collection/shoelace/assets/icons/minecart-loaded.svg +4 -0
  1386. package/dist/collection/shoelace/assets/icons/minecart.svg +3 -0
  1387. package/dist/collection/shoelace/assets/icons/modem-fill.svg +3 -0
  1388. package/dist/collection/shoelace/assets/icons/modem.svg +4 -0
  1389. package/dist/collection/shoelace/assets/icons/moisture.svg +3 -0
  1390. package/dist/collection/shoelace/assets/icons/moon-fill.svg +3 -0
  1391. package/dist/collection/shoelace/assets/icons/moon-stars-fill.svg +4 -0
  1392. package/dist/collection/shoelace/assets/icons/moon-stars.svg +4 -0
  1393. package/dist/collection/shoelace/assets/icons/moon.svg +3 -0
  1394. package/dist/collection/shoelace/assets/icons/mortarboard-fill.svg +4 -0
  1395. package/dist/collection/shoelace/assets/icons/mortarboard.svg +4 -0
  1396. package/dist/collection/shoelace/assets/icons/motherboard-fill.svg +4 -0
  1397. package/dist/collection/shoelace/assets/icons/motherboard.svg +4 -0
  1398. package/dist/collection/shoelace/assets/icons/mouse-fill.svg +3 -0
  1399. package/dist/collection/shoelace/assets/icons/mouse.svg +3 -0
  1400. package/dist/collection/shoelace/assets/icons/mouse2-fill.svg +3 -0
  1401. package/dist/collection/shoelace/assets/icons/mouse2.svg +3 -0
  1402. package/dist/collection/shoelace/assets/icons/mouse3-fill.svg +3 -0
  1403. package/dist/collection/shoelace/assets/icons/mouse3.svg +3 -0
  1404. package/dist/collection/shoelace/assets/icons/music-note-beamed.svg +5 -0
  1405. package/dist/collection/shoelace/assets/icons/music-note-list.svg +6 -0
  1406. package/dist/collection/shoelace/assets/icons/music-note.svg +5 -0
  1407. package/dist/collection/shoelace/assets/icons/music-player-fill.svg +4 -0
  1408. package/dist/collection/shoelace/assets/icons/music-player.svg +5 -0
  1409. package/dist/collection/shoelace/assets/icons/newspaper.svg +4 -0
  1410. package/dist/collection/shoelace/assets/icons/nintendo-switch.svg +4 -0
  1411. package/dist/collection/shoelace/assets/icons/node-minus-fill.svg +3 -0
  1412. package/dist/collection/shoelace/assets/icons/node-minus.svg +3 -0
  1413. package/dist/collection/shoelace/assets/icons/node-plus-fill.svg +3 -0
  1414. package/dist/collection/shoelace/assets/icons/node-plus.svg +3 -0
  1415. package/dist/collection/shoelace/assets/icons/noise-reduction.svg +4 -0
  1416. package/dist/collection/shoelace/assets/icons/nut-fill.svg +3 -0
  1417. package/dist/collection/shoelace/assets/icons/nut.svg +4 -0
  1418. package/dist/collection/shoelace/assets/icons/nvidia.svg +3 -0
  1419. package/dist/collection/shoelace/assets/icons/nvme-fill.svg +4 -0
  1420. package/dist/collection/shoelace/assets/icons/nvme.svg +4 -0
  1421. package/dist/collection/shoelace/assets/icons/octagon-fill.svg +3 -0
  1422. package/dist/collection/shoelace/assets/icons/octagon-half.svg +3 -0
  1423. package/dist/collection/shoelace/assets/icons/octagon.svg +3 -0
  1424. package/dist/collection/shoelace/assets/icons/opencollective.svg +4 -0
  1425. package/dist/collection/shoelace/assets/icons/optical-audio-fill.svg +4 -0
  1426. package/dist/collection/shoelace/assets/icons/optical-audio.svg +5 -0
  1427. package/dist/collection/shoelace/assets/icons/option.svg +3 -0
  1428. package/dist/collection/shoelace/assets/icons/outlet.svg +4 -0
  1429. package/dist/collection/shoelace/assets/icons/p-circle-fill.svg +3 -0
  1430. package/dist/collection/shoelace/assets/icons/p-circle.svg +3 -0
  1431. package/dist/collection/shoelace/assets/icons/p-square-fill.svg +4 -0
  1432. package/dist/collection/shoelace/assets/icons/p-square.svg +4 -0
  1433. package/dist/collection/shoelace/assets/icons/paint-bucket.svg +3 -0
  1434. package/dist/collection/shoelace/assets/icons/palette-fill.svg +3 -0
  1435. package/dist/collection/shoelace/assets/icons/palette.svg +4 -0
  1436. package/dist/collection/shoelace/assets/icons/palette2.svg +3 -0
  1437. package/dist/collection/shoelace/assets/icons/paperclip.svg +3 -0
  1438. package/dist/collection/shoelace/assets/icons/paragraph.svg +3 -0
  1439. package/dist/collection/shoelace/assets/icons/pass-fill.svg +3 -0
  1440. package/dist/collection/shoelace/assets/icons/pass.svg +4 -0
  1441. package/dist/collection/shoelace/assets/icons/passport-fill.svg +4 -0
  1442. package/dist/collection/shoelace/assets/icons/passport.svg +4 -0
  1443. package/dist/collection/shoelace/assets/icons/patch-check-fill.svg +3 -0
  1444. package/dist/collection/shoelace/assets/icons/patch-check.svg +4 -0
  1445. package/dist/collection/shoelace/assets/icons/patch-exclamation-fill.svg +3 -0
  1446. package/dist/collection/shoelace/assets/icons/patch-exclamation.svg +4 -0
  1447. package/dist/collection/shoelace/assets/icons/patch-minus-fill.svg +3 -0
  1448. package/dist/collection/shoelace/assets/icons/patch-minus.svg +4 -0
  1449. package/dist/collection/shoelace/assets/icons/patch-plus-fill.svg +3 -0
  1450. package/dist/collection/shoelace/assets/icons/patch-plus.svg +4 -0
  1451. package/dist/collection/shoelace/assets/icons/patch-question-fill.svg +3 -0
  1452. package/dist/collection/shoelace/assets/icons/patch-question.svg +5 -0
  1453. package/dist/collection/shoelace/assets/icons/pause-btn-fill.svg +3 -0
  1454. package/dist/collection/shoelace/assets/icons/pause-btn.svg +4 -0
  1455. package/dist/collection/shoelace/assets/icons/pause-circle-fill.svg +3 -0
  1456. package/dist/collection/shoelace/assets/icons/pause-circle.svg +4 -0
  1457. package/dist/collection/shoelace/assets/icons/pause-fill.svg +3 -0
  1458. package/dist/collection/shoelace/assets/icons/pause.svg +3 -0
  1459. package/dist/collection/shoelace/assets/icons/paypal.svg +3 -0
  1460. package/dist/collection/shoelace/assets/icons/pc-display-horizontal.svg +3 -0
  1461. package/dist/collection/shoelace/assets/icons/pc-display.svg +3 -0
  1462. package/dist/collection/shoelace/assets/icons/pc-horizontal.svg +3 -0
  1463. package/dist/collection/shoelace/assets/icons/pc.svg +3 -0
  1464. package/dist/collection/shoelace/assets/icons/pci-card-network.svg +5 -0
  1465. package/dist/collection/shoelace/assets/icons/pci-card-sound.svg +5 -0
  1466. package/dist/collection/shoelace/assets/icons/pci-card.svg +4 -0
  1467. package/dist/collection/shoelace/assets/icons/peace-fill.svg +3 -0
  1468. package/dist/collection/shoelace/assets/icons/peace.svg +3 -0
  1469. package/dist/collection/shoelace/assets/icons/pen-fill.svg +3 -0
  1470. package/dist/collection/shoelace/assets/icons/pen.svg +3 -0
  1471. package/dist/collection/shoelace/assets/icons/pencil-fill.svg +3 -0
  1472. package/dist/collection/shoelace/assets/icons/pencil-square.svg +4 -0
  1473. package/dist/collection/shoelace/assets/icons/pencil.svg +3 -0
  1474. package/dist/collection/shoelace/assets/icons/pentagon-fill.svg +3 -0
  1475. package/dist/collection/shoelace/assets/icons/pentagon-half.svg +3 -0
  1476. package/dist/collection/shoelace/assets/icons/pentagon.svg +3 -0
  1477. package/dist/collection/shoelace/assets/icons/people-fill.svg +3 -0
  1478. package/dist/collection/shoelace/assets/icons/people.svg +3 -0
  1479. package/dist/collection/shoelace/assets/icons/percent.svg +3 -0
  1480. package/dist/collection/shoelace/assets/icons/person-add.svg +4 -0
  1481. package/dist/collection/shoelace/assets/icons/person-arms-up.svg +4 -0
  1482. package/dist/collection/shoelace/assets/icons/person-badge-fill.svg +3 -0
  1483. package/dist/collection/shoelace/assets/icons/person-badge.svg +4 -0
  1484. package/dist/collection/shoelace/assets/icons/person-bounding-box.svg +4 -0
  1485. package/dist/collection/shoelace/assets/icons/person-check-fill.svg +4 -0
  1486. package/dist/collection/shoelace/assets/icons/person-check.svg +4 -0
  1487. package/dist/collection/shoelace/assets/icons/person-circle.svg +4 -0
  1488. package/dist/collection/shoelace/assets/icons/person-dash-fill.svg +4 -0
  1489. package/dist/collection/shoelace/assets/icons/person-dash.svg +4 -0
  1490. package/dist/collection/shoelace/assets/icons/person-down.svg +4 -0
  1491. package/dist/collection/shoelace/assets/icons/person-exclamation.svg +4 -0
  1492. package/dist/collection/shoelace/assets/icons/person-fill-add.svg +4 -0
  1493. package/dist/collection/shoelace/assets/icons/person-fill-check.svg +4 -0
  1494. package/dist/collection/shoelace/assets/icons/person-fill-dash.svg +4 -0
  1495. package/dist/collection/shoelace/assets/icons/person-fill-down.svg +4 -0
  1496. package/dist/collection/shoelace/assets/icons/person-fill-exclamation.svg +4 -0
  1497. package/dist/collection/shoelace/assets/icons/person-fill-gear.svg +3 -0
  1498. package/dist/collection/shoelace/assets/icons/person-fill-lock.svg +3 -0
  1499. package/dist/collection/shoelace/assets/icons/person-fill-slash.svg +3 -0
  1500. package/dist/collection/shoelace/assets/icons/person-fill-up.svg +4 -0
  1501. package/dist/collection/shoelace/assets/icons/person-fill-x.svg +4 -0
  1502. package/dist/collection/shoelace/assets/icons/person-fill.svg +3 -0
  1503. package/dist/collection/shoelace/assets/icons/person-gear.svg +3 -0
  1504. package/dist/collection/shoelace/assets/icons/person-heart.svg +3 -0
  1505. package/dist/collection/shoelace/assets/icons/person-hearts.svg +3 -0
  1506. package/dist/collection/shoelace/assets/icons/person-lines-fill.svg +3 -0
  1507. package/dist/collection/shoelace/assets/icons/person-lock.svg +3 -0
  1508. package/dist/collection/shoelace/assets/icons/person-plus-fill.svg +4 -0
  1509. package/dist/collection/shoelace/assets/icons/person-plus.svg +4 -0
  1510. package/dist/collection/shoelace/assets/icons/person-raised-hand.svg +4 -0
  1511. package/dist/collection/shoelace/assets/icons/person-rolodex.svg +4 -0
  1512. package/dist/collection/shoelace/assets/icons/person-slash.svg +3 -0
  1513. package/dist/collection/shoelace/assets/icons/person-square.svg +4 -0
  1514. package/dist/collection/shoelace/assets/icons/person-standing-dress.svg +3 -0
  1515. package/dist/collection/shoelace/assets/icons/person-standing.svg +3 -0
  1516. package/dist/collection/shoelace/assets/icons/person-up.svg +4 -0
  1517. package/dist/collection/shoelace/assets/icons/person-vcard-fill.svg +3 -0
  1518. package/dist/collection/shoelace/assets/icons/person-vcard.svg +4 -0
  1519. package/dist/collection/shoelace/assets/icons/person-video.svg +4 -0
  1520. package/dist/collection/shoelace/assets/icons/person-video2.svg +4 -0
  1521. package/dist/collection/shoelace/assets/icons/person-video3.svg +4 -0
  1522. package/dist/collection/shoelace/assets/icons/person-walking.svg +4 -0
  1523. package/dist/collection/shoelace/assets/icons/person-wheelchair.svg +3 -0
  1524. package/dist/collection/shoelace/assets/icons/person-workspace.svg +4 -0
  1525. package/dist/collection/shoelace/assets/icons/person-x-fill.svg +3 -0
  1526. package/dist/collection/shoelace/assets/icons/person-x.svg +4 -0
  1527. package/dist/collection/shoelace/assets/icons/person.svg +3 -0
  1528. package/dist/collection/shoelace/assets/icons/phone-fill.svg +3 -0
  1529. package/dist/collection/shoelace/assets/icons/phone-flip.svg +3 -0
  1530. package/dist/collection/shoelace/assets/icons/phone-landscape-fill.svg +3 -0
  1531. package/dist/collection/shoelace/assets/icons/phone-landscape.svg +4 -0
  1532. package/dist/collection/shoelace/assets/icons/phone-vibrate-fill.svg +3 -0
  1533. package/dist/collection/shoelace/assets/icons/phone-vibrate.svg +4 -0
  1534. package/dist/collection/shoelace/assets/icons/phone.svg +4 -0
  1535. package/dist/collection/shoelace/assets/icons/pie-chart-fill.svg +3 -0
  1536. package/dist/collection/shoelace/assets/icons/pie-chart.svg +3 -0
  1537. package/dist/collection/shoelace/assets/icons/piggy-bank-fill.svg +3 -0
  1538. package/dist/collection/shoelace/assets/icons/piggy-bank.svg +4 -0
  1539. package/dist/collection/shoelace/assets/icons/pin-angle-fill.svg +3 -0
  1540. package/dist/collection/shoelace/assets/icons/pin-angle.svg +3 -0
  1541. package/dist/collection/shoelace/assets/icons/pin-fill.svg +3 -0
  1542. package/dist/collection/shoelace/assets/icons/pin-map-fill.svg +4 -0
  1543. package/dist/collection/shoelace/assets/icons/pin-map.svg +4 -0
  1544. package/dist/collection/shoelace/assets/icons/pin.svg +3 -0
  1545. package/dist/collection/shoelace/assets/icons/pinterest.svg +3 -0
  1546. package/dist/collection/shoelace/assets/icons/pip-fill.svg +3 -0
  1547. package/dist/collection/shoelace/assets/icons/pip.svg +4 -0
  1548. package/dist/collection/shoelace/assets/icons/play-btn-fill.svg +3 -0
  1549. package/dist/collection/shoelace/assets/icons/play-btn.svg +4 -0
  1550. package/dist/collection/shoelace/assets/icons/play-circle-fill.svg +3 -0
  1551. package/dist/collection/shoelace/assets/icons/play-circle.svg +4 -0
  1552. package/dist/collection/shoelace/assets/icons/play-fill.svg +3 -0
  1553. package/dist/collection/shoelace/assets/icons/play.svg +3 -0
  1554. package/dist/collection/shoelace/assets/icons/playstation.svg +3 -0
  1555. package/dist/collection/shoelace/assets/icons/plug-fill.svg +3 -0
  1556. package/dist/collection/shoelace/assets/icons/plug.svg +3 -0
  1557. package/dist/collection/shoelace/assets/icons/plugin.svg +3 -0
  1558. package/dist/collection/shoelace/assets/icons/plus-circle-dotted.svg +3 -0
  1559. package/dist/collection/shoelace/assets/icons/plus-circle-fill.svg +3 -0
  1560. package/dist/collection/shoelace/assets/icons/plus-circle.svg +4 -0
  1561. package/dist/collection/shoelace/assets/icons/plus-lg.svg +3 -0
  1562. package/dist/collection/shoelace/assets/icons/plus-slash-minus.svg +3 -0
  1563. package/dist/collection/shoelace/assets/icons/plus-square-dotted.svg +3 -0
  1564. package/dist/collection/shoelace/assets/icons/plus-square-fill.svg +3 -0
  1565. package/dist/collection/shoelace/assets/icons/plus-square.svg +4 -0
  1566. package/dist/collection/shoelace/assets/icons/plus.svg +3 -0
  1567. package/dist/collection/shoelace/assets/icons/postage-fill.svg +4 -0
  1568. package/dist/collection/shoelace/assets/icons/postage-heart-fill.svg +4 -0
  1569. package/dist/collection/shoelace/assets/icons/postage-heart.svg +4 -0
  1570. package/dist/collection/shoelace/assets/icons/postage.svg +4 -0
  1571. package/dist/collection/shoelace/assets/icons/postcard-fill.svg +4 -0
  1572. package/dist/collection/shoelace/assets/icons/postcard-heart-fill.svg +3 -0
  1573. package/dist/collection/shoelace/assets/icons/postcard-heart.svg +4 -0
  1574. package/dist/collection/shoelace/assets/icons/postcard.svg +3 -0
  1575. package/dist/collection/shoelace/assets/icons/power.svg +4 -0
  1576. package/dist/collection/shoelace/assets/icons/prescription.svg +4 -0
  1577. package/dist/collection/shoelace/assets/icons/prescription2.svg +4 -0
  1578. package/dist/collection/shoelace/assets/icons/printer-fill.svg +4 -0
  1579. package/dist/collection/shoelace/assets/icons/printer.svg +4 -0
  1580. package/dist/collection/shoelace/assets/icons/projector-fill.svg +3 -0
  1581. package/dist/collection/shoelace/assets/icons/projector.svg +4 -0
  1582. package/dist/collection/shoelace/assets/icons/puzzle-fill.svg +3 -0
  1583. package/dist/collection/shoelace/assets/icons/puzzle.svg +3 -0
  1584. package/dist/collection/shoelace/assets/icons/qr-code-scan.svg +7 -0
  1585. package/dist/collection/shoelace/assets/icons/qr-code.svg +7 -0
  1586. package/dist/collection/shoelace/assets/icons/question-circle-fill.svg +3 -0
  1587. package/dist/collection/shoelace/assets/icons/question-circle.svg +4 -0
  1588. package/dist/collection/shoelace/assets/icons/question-diamond-fill.svg +3 -0
  1589. package/dist/collection/shoelace/assets/icons/question-diamond.svg +4 -0
  1590. package/dist/collection/shoelace/assets/icons/question-lg.svg +3 -0
  1591. package/dist/collection/shoelace/assets/icons/question-octagon-fill.svg +3 -0
  1592. package/dist/collection/shoelace/assets/icons/question-octagon.svg +4 -0
  1593. package/dist/collection/shoelace/assets/icons/question-square-fill.svg +3 -0
  1594. package/dist/collection/shoelace/assets/icons/question-square.svg +4 -0
  1595. package/dist/collection/shoelace/assets/icons/question.svg +3 -0
  1596. package/dist/collection/shoelace/assets/icons/quora.svg +3 -0
  1597. package/dist/collection/shoelace/assets/icons/quote.svg +3 -0
  1598. package/dist/collection/shoelace/assets/icons/r-circle-fill.svg +3 -0
  1599. package/dist/collection/shoelace/assets/icons/r-circle.svg +3 -0
  1600. package/dist/collection/shoelace/assets/icons/r-square-fill.svg +4 -0
  1601. package/dist/collection/shoelace/assets/icons/r-square.svg +4 -0
  1602. package/dist/collection/shoelace/assets/icons/radar.svg +3 -0
  1603. package/dist/collection/shoelace/assets/icons/radioactive.svg +4 -0
  1604. package/dist/collection/shoelace/assets/icons/rainbow.svg +3 -0
  1605. package/dist/collection/shoelace/assets/icons/receipt-cutoff.svg +4 -0
  1606. package/dist/collection/shoelace/assets/icons/receipt.svg +4 -0
  1607. package/dist/collection/shoelace/assets/icons/reception-0.svg +3 -0
  1608. package/dist/collection/shoelace/assets/icons/reception-1.svg +3 -0
  1609. package/dist/collection/shoelace/assets/icons/reception-2.svg +3 -0
  1610. package/dist/collection/shoelace/assets/icons/reception-3.svg +3 -0
  1611. package/dist/collection/shoelace/assets/icons/reception-4.svg +3 -0
  1612. package/dist/collection/shoelace/assets/icons/record-btn-fill.svg +3 -0
  1613. package/dist/collection/shoelace/assets/icons/record-btn.svg +4 -0
  1614. package/dist/collection/shoelace/assets/icons/record-circle-fill.svg +3 -0
  1615. package/dist/collection/shoelace/assets/icons/record-circle.svg +4 -0
  1616. package/dist/collection/shoelace/assets/icons/record-fill.svg +3 -0
  1617. package/dist/collection/shoelace/assets/icons/record.svg +3 -0
  1618. package/dist/collection/shoelace/assets/icons/record2-fill.svg +4 -0
  1619. package/dist/collection/shoelace/assets/icons/record2.svg +4 -0
  1620. package/dist/collection/shoelace/assets/icons/recycle.svg +3 -0
  1621. package/dist/collection/shoelace/assets/icons/reddit.svg +4 -0
  1622. package/dist/collection/shoelace/assets/icons/regex.svg +3 -0
  1623. package/dist/collection/shoelace/assets/icons/repeat-1.svg +4 -0
  1624. package/dist/collection/shoelace/assets/icons/repeat.svg +3 -0
  1625. package/dist/collection/shoelace/assets/icons/reply-all-fill.svg +4 -0
  1626. package/dist/collection/shoelace/assets/icons/reply-all.svg +4 -0
  1627. package/dist/collection/shoelace/assets/icons/reply-fill.svg +3 -0
  1628. package/dist/collection/shoelace/assets/icons/reply.svg +3 -0
  1629. package/dist/collection/shoelace/assets/icons/rewind-btn-fill.svg +3 -0
  1630. package/dist/collection/shoelace/assets/icons/rewind-btn.svg +4 -0
  1631. package/dist/collection/shoelace/assets/icons/rewind-circle-fill.svg +3 -0
  1632. package/dist/collection/shoelace/assets/icons/rewind-circle.svg +4 -0
  1633. package/dist/collection/shoelace/assets/icons/rewind-fill.svg +4 -0
  1634. package/dist/collection/shoelace/assets/icons/rewind.svg +4 -0
  1635. package/dist/collection/shoelace/assets/icons/robot.svg +4 -0
  1636. package/dist/collection/shoelace/assets/icons/rocket-fill.svg +4 -0
  1637. package/dist/collection/shoelace/assets/icons/rocket-takeoff-fill.svg +4 -0
  1638. package/dist/collection/shoelace/assets/icons/rocket-takeoff.svg +5 -0
  1639. package/dist/collection/shoelace/assets/icons/rocket.svg +5 -0
  1640. package/dist/collection/shoelace/assets/icons/router-fill.svg +6 -0
  1641. package/dist/collection/shoelace/assets/icons/router.svg +6 -0
  1642. package/dist/collection/shoelace/assets/icons/rss-fill.svg +3 -0
  1643. package/dist/collection/shoelace/assets/icons/rss.svg +4 -0
  1644. package/dist/collection/shoelace/assets/icons/rulers.svg +3 -0
  1645. package/dist/collection/shoelace/assets/icons/safe-fill.svg +4 -0
  1646. package/dist/collection/shoelace/assets/icons/safe.svg +4 -0
  1647. package/dist/collection/shoelace/assets/icons/safe2-fill.svg +4 -0
  1648. package/dist/collection/shoelace/assets/icons/safe2.svg +4 -0
  1649. package/dist/collection/shoelace/assets/icons/save-fill.svg +3 -0
  1650. package/dist/collection/shoelace/assets/icons/save.svg +3 -0
  1651. package/dist/collection/shoelace/assets/icons/save2-fill.svg +3 -0
  1652. package/dist/collection/shoelace/assets/icons/save2.svg +3 -0
  1653. package/dist/collection/shoelace/assets/icons/scissors.svg +3 -0
  1654. package/dist/collection/shoelace/assets/icons/scooter.svg +3 -0
  1655. package/dist/collection/shoelace/assets/icons/screwdriver.svg +3 -0
  1656. package/dist/collection/shoelace/assets/icons/sd-card-fill.svg +3 -0
  1657. package/dist/collection/shoelace/assets/icons/sd-card.svg +4 -0
  1658. package/dist/collection/shoelace/assets/icons/search-heart-fill.svg +3 -0
  1659. package/dist/collection/shoelace/assets/icons/search-heart.svg +4 -0
  1660. package/dist/collection/shoelace/assets/icons/search.svg +3 -0
  1661. package/dist/collection/shoelace/assets/icons/segmented-nav.svg +3 -0
  1662. package/dist/collection/shoelace/assets/icons/send-arrow-down-fill.svg +4 -0
  1663. package/dist/collection/shoelace/assets/icons/send-arrow-down.svg +4 -0
  1664. package/dist/collection/shoelace/assets/icons/send-arrow-up-fill.svg +4 -0
  1665. package/dist/collection/shoelace/assets/icons/send-arrow-up.svg +4 -0
  1666. package/dist/collection/shoelace/assets/icons/send-check-fill.svg +4 -0
  1667. package/dist/collection/shoelace/assets/icons/send-check.svg +4 -0
  1668. package/dist/collection/shoelace/assets/icons/send-dash-fill.svg +4 -0
  1669. package/dist/collection/shoelace/assets/icons/send-dash.svg +4 -0
  1670. package/dist/collection/shoelace/assets/icons/send-exclamation-fill.svg +4 -0
  1671. package/dist/collection/shoelace/assets/icons/send-exclamation.svg +4 -0
  1672. package/dist/collection/shoelace/assets/icons/send-fill.svg +3 -0
  1673. package/dist/collection/shoelace/assets/icons/send-plus-fill.svg +4 -0
  1674. package/dist/collection/shoelace/assets/icons/send-plus.svg +4 -0
  1675. package/dist/collection/shoelace/assets/icons/send-slash-fill.svg +4 -0
  1676. package/dist/collection/shoelace/assets/icons/send-slash.svg +4 -0
  1677. package/dist/collection/shoelace/assets/icons/send-x-fill.svg +4 -0
  1678. package/dist/collection/shoelace/assets/icons/send-x.svg +4 -0
  1679. package/dist/collection/shoelace/assets/icons/send.svg +3 -0
  1680. package/dist/collection/shoelace/assets/icons/server.svg +5 -0
  1681. package/dist/collection/shoelace/assets/icons/shadows.svg +3 -0
  1682. package/dist/collection/shoelace/assets/icons/share-fill.svg +3 -0
  1683. package/dist/collection/shoelace/assets/icons/share.svg +3 -0
  1684. package/dist/collection/shoelace/assets/icons/shield-check.svg +4 -0
  1685. package/dist/collection/shoelace/assets/icons/shield-exclamation.svg +4 -0
  1686. package/dist/collection/shoelace/assets/icons/shield-fill-check.svg +3 -0
  1687. package/dist/collection/shoelace/assets/icons/shield-fill-exclamation.svg +3 -0
  1688. package/dist/collection/shoelace/assets/icons/shield-fill-minus.svg +3 -0
  1689. package/dist/collection/shoelace/assets/icons/shield-fill-plus.svg +3 -0
  1690. package/dist/collection/shoelace/assets/icons/shield-fill-x.svg +3 -0
  1691. package/dist/collection/shoelace/assets/icons/shield-fill.svg +3 -0
  1692. package/dist/collection/shoelace/assets/icons/shield-lock-fill.svg +3 -0
  1693. package/dist/collection/shoelace/assets/icons/shield-lock.svg +4 -0
  1694. package/dist/collection/shoelace/assets/icons/shield-minus.svg +4 -0
  1695. package/dist/collection/shoelace/assets/icons/shield-plus.svg +4 -0
  1696. package/dist/collection/shoelace/assets/icons/shield-shaded.svg +3 -0
  1697. package/dist/collection/shoelace/assets/icons/shield-slash-fill.svg +3 -0
  1698. package/dist/collection/shoelace/assets/icons/shield-slash.svg +3 -0
  1699. package/dist/collection/shoelace/assets/icons/shield-x.svg +4 -0
  1700. package/dist/collection/shoelace/assets/icons/shield.svg +3 -0
  1701. package/dist/collection/shoelace/assets/icons/shift-fill.svg +3 -0
  1702. package/dist/collection/shoelace/assets/icons/shift.svg +3 -0
  1703. package/dist/collection/shoelace/assets/icons/shop-window.svg +3 -0
  1704. package/dist/collection/shoelace/assets/icons/shop.svg +3 -0
  1705. package/dist/collection/shoelace/assets/icons/shuffle.svg +4 -0
  1706. package/dist/collection/shoelace/assets/icons/sign-dead-end-fill.svg +4 -0
  1707. package/dist/collection/shoelace/assets/icons/sign-dead-end.svg +4 -0
  1708. package/dist/collection/shoelace/assets/icons/sign-do-not-enter-fill.svg +4 -0
  1709. package/dist/collection/shoelace/assets/icons/sign-do-not-enter.svg +4 -0
  1710. package/dist/collection/shoelace/assets/icons/sign-intersection-fill.svg +3 -0
  1711. package/dist/collection/shoelace/assets/icons/sign-intersection-side-fill.svg +3 -0
  1712. package/dist/collection/shoelace/assets/icons/sign-intersection-side.svg +4 -0
  1713. package/dist/collection/shoelace/assets/icons/sign-intersection-t-fill.svg +3 -0
  1714. package/dist/collection/shoelace/assets/icons/sign-intersection-t.svg +4 -0
  1715. package/dist/collection/shoelace/assets/icons/sign-intersection-y-fill.svg +3 -0
  1716. package/dist/collection/shoelace/assets/icons/sign-intersection-y.svg +4 -0
  1717. package/dist/collection/shoelace/assets/icons/sign-intersection.svg +4 -0
  1718. package/dist/collection/shoelace/assets/icons/sign-merge-left-fill.svg +3 -0
  1719. package/dist/collection/shoelace/assets/icons/sign-merge-left.svg +4 -0
  1720. package/dist/collection/shoelace/assets/icons/sign-merge-right-fill.svg +3 -0
  1721. package/dist/collection/shoelace/assets/icons/sign-merge-right.svg +4 -0
  1722. package/dist/collection/shoelace/assets/icons/sign-no-left-turn-fill.svg +4 -0
  1723. package/dist/collection/shoelace/assets/icons/sign-no-left-turn.svg +3 -0
  1724. package/dist/collection/shoelace/assets/icons/sign-no-parking-fill.svg +4 -0
  1725. package/dist/collection/shoelace/assets/icons/sign-no-parking.svg +3 -0
  1726. package/dist/collection/shoelace/assets/icons/sign-no-right-turn-fill.svg +4 -0
  1727. package/dist/collection/shoelace/assets/icons/sign-no-right-turn.svg +3 -0
  1728. package/dist/collection/shoelace/assets/icons/sign-railroad-fill.svg +5 -0
  1729. package/dist/collection/shoelace/assets/icons/sign-railroad.svg +4 -0
  1730. package/dist/collection/shoelace/assets/icons/sign-stop-fill.svg +4 -0
  1731. package/dist/collection/shoelace/assets/icons/sign-stop-lights-fill.svg +4 -0
  1732. package/dist/collection/shoelace/assets/icons/sign-stop-lights.svg +4 -0
  1733. package/dist/collection/shoelace/assets/icons/sign-stop.svg +5 -0
  1734. package/dist/collection/shoelace/assets/icons/sign-turn-left-fill.svg +3 -0
  1735. package/dist/collection/shoelace/assets/icons/sign-turn-left.svg +4 -0
  1736. package/dist/collection/shoelace/assets/icons/sign-turn-right-fill.svg +3 -0
  1737. package/dist/collection/shoelace/assets/icons/sign-turn-right.svg +4 -0
  1738. package/dist/collection/shoelace/assets/icons/sign-turn-slight-left-fill.svg +3 -0
  1739. package/dist/collection/shoelace/assets/icons/sign-turn-slight-left.svg +4 -0
  1740. package/dist/collection/shoelace/assets/icons/sign-turn-slight-right-fill.svg +3 -0
  1741. package/dist/collection/shoelace/assets/icons/sign-turn-slight-right.svg +4 -0
  1742. package/dist/collection/shoelace/assets/icons/sign-yield-fill.svg +4 -0
  1743. package/dist/collection/shoelace/assets/icons/sign-yield.svg +5 -0
  1744. package/dist/collection/shoelace/assets/icons/signal.svg +3 -0
  1745. package/dist/collection/shoelace/assets/icons/signpost-2-fill.svg +3 -0
  1746. package/dist/collection/shoelace/assets/icons/signpost-2.svg +3 -0
  1747. package/dist/collection/shoelace/assets/icons/signpost-fill.svg +3 -0
  1748. package/dist/collection/shoelace/assets/icons/signpost-split-fill.svg +3 -0
  1749. package/dist/collection/shoelace/assets/icons/signpost-split.svg +3 -0
  1750. package/dist/collection/shoelace/assets/icons/signpost.svg +3 -0
  1751. package/dist/collection/shoelace/assets/icons/sim-fill.svg +4 -0
  1752. package/dist/collection/shoelace/assets/icons/sim-slash-fill.svg +3 -0
  1753. package/dist/collection/shoelace/assets/icons/sim-slash.svg +3 -0
  1754. package/dist/collection/shoelace/assets/icons/sim.svg +4 -0
  1755. package/dist/collection/shoelace/assets/icons/sina-weibo.svg +4 -0
  1756. package/dist/collection/shoelace/assets/icons/skip-backward-btn-fill.svg +3 -0
  1757. package/dist/collection/shoelace/assets/icons/skip-backward-btn.svg +4 -0
  1758. package/dist/collection/shoelace/assets/icons/skip-backward-circle-fill.svg +3 -0
  1759. package/dist/collection/shoelace/assets/icons/skip-backward-circle.svg +4 -0
  1760. package/dist/collection/shoelace/assets/icons/skip-backward-fill.svg +3 -0
  1761. package/dist/collection/shoelace/assets/icons/skip-backward.svg +3 -0
  1762. package/dist/collection/shoelace/assets/icons/skip-end-btn-fill.svg +3 -0
  1763. package/dist/collection/shoelace/assets/icons/skip-end-btn.svg +4 -0
  1764. package/dist/collection/shoelace/assets/icons/skip-end-circle-fill.svg +3 -0
  1765. package/dist/collection/shoelace/assets/icons/skip-end-circle.svg +4 -0
  1766. package/dist/collection/shoelace/assets/icons/skip-end-fill.svg +3 -0
  1767. package/dist/collection/shoelace/assets/icons/skip-end.svg +3 -0
  1768. package/dist/collection/shoelace/assets/icons/skip-forward-btn-fill.svg +3 -0
  1769. package/dist/collection/shoelace/assets/icons/skip-forward-btn.svg +4 -0
  1770. package/dist/collection/shoelace/assets/icons/skip-forward-circle-fill.svg +3 -0
  1771. package/dist/collection/shoelace/assets/icons/skip-forward-circle.svg +4 -0
  1772. package/dist/collection/shoelace/assets/icons/skip-forward-fill.svg +3 -0
  1773. package/dist/collection/shoelace/assets/icons/skip-forward.svg +3 -0
  1774. package/dist/collection/shoelace/assets/icons/skip-start-btn-fill.svg +3 -0
  1775. package/dist/collection/shoelace/assets/icons/skip-start-btn.svg +4 -0
  1776. package/dist/collection/shoelace/assets/icons/skip-start-circle-fill.svg +3 -0
  1777. package/dist/collection/shoelace/assets/icons/skip-start-circle.svg +4 -0
  1778. package/dist/collection/shoelace/assets/icons/skip-start-fill.svg +3 -0
  1779. package/dist/collection/shoelace/assets/icons/skip-start.svg +3 -0
  1780. package/dist/collection/shoelace/assets/icons/skype.svg +3 -0
  1781. package/dist/collection/shoelace/assets/icons/slack.svg +3 -0
  1782. package/dist/collection/shoelace/assets/icons/slash-circle-fill.svg +3 -0
  1783. package/dist/collection/shoelace/assets/icons/slash-circle.svg +4 -0
  1784. package/dist/collection/shoelace/assets/icons/slash-lg.svg +3 -0
  1785. package/dist/collection/shoelace/assets/icons/slash-square-fill.svg +3 -0
  1786. package/dist/collection/shoelace/assets/icons/slash-square.svg +4 -0
  1787. package/dist/collection/shoelace/assets/icons/slash.svg +3 -0
  1788. package/dist/collection/shoelace/assets/icons/sliders.svg +3 -0
  1789. package/dist/collection/shoelace/assets/icons/sliders2-vertical.svg +3 -0
  1790. package/dist/collection/shoelace/assets/icons/sliders2.svg +3 -0
  1791. package/dist/collection/shoelace/assets/icons/smartwatch.svg +4 -0
  1792. package/dist/collection/shoelace/assets/icons/snapchat.svg +3 -0
  1793. package/dist/collection/shoelace/assets/icons/snow.svg +3 -0
  1794. package/dist/collection/shoelace/assets/icons/snow2.svg +3 -0
  1795. package/dist/collection/shoelace/assets/icons/snow3.svg +4 -0
  1796. package/dist/collection/shoelace/assets/icons/sort-alpha-down-alt.svg +5 -0
  1797. package/dist/collection/shoelace/assets/icons/sort-alpha-down.svg +4 -0
  1798. package/dist/collection/shoelace/assets/icons/sort-alpha-up-alt.svg +5 -0
  1799. package/dist/collection/shoelace/assets/icons/sort-alpha-up.svg +4 -0
  1800. package/dist/collection/shoelace/assets/icons/sort-down-alt.svg +3 -0
  1801. package/dist/collection/shoelace/assets/icons/sort-down.svg +3 -0
  1802. package/dist/collection/shoelace/assets/icons/sort-numeric-down-alt.svg +4 -0
  1803. package/dist/collection/shoelace/assets/icons/sort-numeric-down.svg +5 -0
  1804. package/dist/collection/shoelace/assets/icons/sort-numeric-up-alt.svg +4 -0
  1805. package/dist/collection/shoelace/assets/icons/sort-numeric-up.svg +5 -0
  1806. package/dist/collection/shoelace/assets/icons/sort-up-alt.svg +3 -0
  1807. package/dist/collection/shoelace/assets/icons/sort-up.svg +3 -0
  1808. package/dist/collection/shoelace/assets/icons/soundwave.svg +3 -0
  1809. package/dist/collection/shoelace/assets/icons/sourceforge.svg +4 -0
  1810. package/dist/collection/shoelace/assets/icons/speaker-fill.svg +4 -0
  1811. package/dist/collection/shoelace/assets/icons/speaker.svg +4 -0
  1812. package/dist/collection/shoelace/assets/icons/speedometer.svg +4 -0
  1813. package/dist/collection/shoelace/assets/icons/speedometer2.svg +4 -0
  1814. package/dist/collection/shoelace/assets/icons/spellcheck.svg +4 -0
  1815. package/dist/collection/shoelace/assets/icons/spotify.svg +3 -0
  1816. package/dist/collection/shoelace/assets/icons/square-fill.svg +3 -0
  1817. package/dist/collection/shoelace/assets/icons/square-half.svg +3 -0
  1818. package/dist/collection/shoelace/assets/icons/square.svg +3 -0
  1819. package/dist/collection/shoelace/assets/icons/stack-overflow.svg +4 -0
  1820. package/dist/collection/shoelace/assets/icons/stack.svg +4 -0
  1821. package/dist/collection/shoelace/assets/icons/star-fill.svg +3 -0
  1822. package/dist/collection/shoelace/assets/icons/star-half.svg +3 -0
  1823. package/dist/collection/shoelace/assets/icons/star.svg +3 -0
  1824. package/dist/collection/shoelace/assets/icons/stars.svg +3 -0
  1825. package/dist/collection/shoelace/assets/icons/steam.svg +4 -0
  1826. package/dist/collection/shoelace/assets/icons/stickies-fill.svg +4 -0
  1827. package/dist/collection/shoelace/assets/icons/stickies.svg +4 -0
  1828. package/dist/collection/shoelace/assets/icons/sticky-fill.svg +3 -0
  1829. package/dist/collection/shoelace/assets/icons/sticky.svg +3 -0
  1830. package/dist/collection/shoelace/assets/icons/stop-btn-fill.svg +3 -0
  1831. package/dist/collection/shoelace/assets/icons/stop-btn.svg +4 -0
  1832. package/dist/collection/shoelace/assets/icons/stop-circle-fill.svg +3 -0
  1833. package/dist/collection/shoelace/assets/icons/stop-circle.svg +4 -0
  1834. package/dist/collection/shoelace/assets/icons/stop-fill.svg +3 -0
  1835. package/dist/collection/shoelace/assets/icons/stop.svg +3 -0
  1836. package/dist/collection/shoelace/assets/icons/stoplights-fill.svg +3 -0
  1837. package/dist/collection/shoelace/assets/icons/stoplights.svg +4 -0
  1838. package/dist/collection/shoelace/assets/icons/stopwatch-fill.svg +3 -0
  1839. package/dist/collection/shoelace/assets/icons/stopwatch.svg +4 -0
  1840. package/dist/collection/shoelace/assets/icons/strava.svg +3 -0
  1841. package/dist/collection/shoelace/assets/icons/stripe.svg +3 -0
  1842. package/dist/collection/shoelace/assets/icons/subscript.svg +3 -0
  1843. package/dist/collection/shoelace/assets/icons/substack.svg +3 -0
  1844. package/dist/collection/shoelace/assets/icons/subtract.svg +3 -0
  1845. package/dist/collection/shoelace/assets/icons/suit-club-fill.svg +3 -0
  1846. package/dist/collection/shoelace/assets/icons/suit-club.svg +3 -0
  1847. package/dist/collection/shoelace/assets/icons/suit-diamond-fill.svg +3 -0
  1848. package/dist/collection/shoelace/assets/icons/suit-diamond.svg +3 -0
  1849. package/dist/collection/shoelace/assets/icons/suit-heart-fill.svg +3 -0
  1850. package/dist/collection/shoelace/assets/icons/suit-heart.svg +3 -0
  1851. package/dist/collection/shoelace/assets/icons/suit-spade-fill.svg +3 -0
  1852. package/dist/collection/shoelace/assets/icons/suit-spade.svg +3 -0
  1853. package/dist/collection/shoelace/assets/icons/suitcase-fill.svg +3 -0
  1854. package/dist/collection/shoelace/assets/icons/suitcase-lg-fill.svg +3 -0
  1855. package/dist/collection/shoelace/assets/icons/suitcase-lg.svg +3 -0
  1856. package/dist/collection/shoelace/assets/icons/suitcase.svg +4 -0
  1857. package/dist/collection/shoelace/assets/icons/suitcase2-fill.svg +3 -0
  1858. package/dist/collection/shoelace/assets/icons/suitcase2.svg +3 -0
  1859. package/dist/collection/shoelace/assets/icons/sun-fill.svg +3 -0
  1860. package/dist/collection/shoelace/assets/icons/sun.svg +3 -0
  1861. package/dist/collection/shoelace/assets/icons/sunglasses.svg +3 -0
  1862. package/dist/collection/shoelace/assets/icons/sunrise-fill.svg +3 -0
  1863. package/dist/collection/shoelace/assets/icons/sunrise.svg +3 -0
  1864. package/dist/collection/shoelace/assets/icons/sunset-fill.svg +3 -0
  1865. package/dist/collection/shoelace/assets/icons/sunset.svg +3 -0
  1866. package/dist/collection/shoelace/assets/icons/superscript.svg +3 -0
  1867. package/dist/collection/shoelace/assets/icons/symmetry-horizontal.svg +3 -0
  1868. package/dist/collection/shoelace/assets/icons/symmetry-vertical.svg +3 -0
  1869. package/dist/collection/shoelace/assets/icons/table.svg +3 -0
  1870. package/dist/collection/shoelace/assets/icons/tablet-fill.svg +3 -0
  1871. package/dist/collection/shoelace/assets/icons/tablet-landscape-fill.svg +3 -0
  1872. package/dist/collection/shoelace/assets/icons/tablet-landscape.svg +4 -0
  1873. package/dist/collection/shoelace/assets/icons/tablet.svg +4 -0
  1874. package/dist/collection/shoelace/assets/icons/tag-fill.svg +3 -0
  1875. package/dist/collection/shoelace/assets/icons/tag.svg +4 -0
  1876. package/dist/collection/shoelace/assets/icons/tags-fill.svg +4 -0
  1877. package/dist/collection/shoelace/assets/icons/tags.svg +4 -0
  1878. package/dist/collection/shoelace/assets/icons/taxi-front-fill.svg +3 -0
  1879. package/dist/collection/shoelace/assets/icons/taxi-front.svg +4 -0
  1880. package/dist/collection/shoelace/assets/icons/telegram.svg +3 -0
  1881. package/dist/collection/shoelace/assets/icons/telephone-fill.svg +3 -0
  1882. package/dist/collection/shoelace/assets/icons/telephone-forward-fill.svg +3 -0
  1883. package/dist/collection/shoelace/assets/icons/telephone-forward.svg +3 -0
  1884. package/dist/collection/shoelace/assets/icons/telephone-inbound-fill.svg +3 -0
  1885. package/dist/collection/shoelace/assets/icons/telephone-inbound.svg +3 -0
  1886. package/dist/collection/shoelace/assets/icons/telephone-minus-fill.svg +3 -0
  1887. package/dist/collection/shoelace/assets/icons/telephone-minus.svg +4 -0
  1888. package/dist/collection/shoelace/assets/icons/telephone-outbound-fill.svg +3 -0
  1889. package/dist/collection/shoelace/assets/icons/telephone-outbound.svg +3 -0
  1890. package/dist/collection/shoelace/assets/icons/telephone-plus-fill.svg +3 -0
  1891. package/dist/collection/shoelace/assets/icons/telephone-plus.svg +4 -0
  1892. package/dist/collection/shoelace/assets/icons/telephone-x-fill.svg +3 -0
  1893. package/dist/collection/shoelace/assets/icons/telephone-x.svg +4 -0
  1894. package/dist/collection/shoelace/assets/icons/telephone.svg +3 -0
  1895. package/dist/collection/shoelace/assets/icons/tencent-qq.svg +4 -0
  1896. package/dist/collection/shoelace/assets/icons/terminal-dash.svg +4 -0
  1897. package/dist/collection/shoelace/assets/icons/terminal-fill.svg +3 -0
  1898. package/dist/collection/shoelace/assets/icons/terminal-plus.svg +4 -0
  1899. package/dist/collection/shoelace/assets/icons/terminal-split.svg +4 -0
  1900. package/dist/collection/shoelace/assets/icons/terminal-x.svg +4 -0
  1901. package/dist/collection/shoelace/assets/icons/terminal.svg +4 -0
  1902. package/dist/collection/shoelace/assets/icons/text-center.svg +3 -0
  1903. package/dist/collection/shoelace/assets/icons/text-indent-left.svg +3 -0
  1904. package/dist/collection/shoelace/assets/icons/text-indent-right.svg +3 -0
  1905. package/dist/collection/shoelace/assets/icons/text-left.svg +3 -0
  1906. package/dist/collection/shoelace/assets/icons/text-paragraph.svg +3 -0
  1907. package/dist/collection/shoelace/assets/icons/text-right.svg +3 -0
  1908. package/dist/collection/shoelace/assets/icons/text-wrap.svg +3 -0
  1909. package/dist/collection/shoelace/assets/icons/textarea-resize.svg +3 -0
  1910. package/dist/collection/shoelace/assets/icons/textarea-t.svg +4 -0
  1911. package/dist/collection/shoelace/assets/icons/textarea.svg +3 -0
  1912. package/dist/collection/shoelace/assets/icons/thermometer-half.svg +4 -0
  1913. package/dist/collection/shoelace/assets/icons/thermometer-high.svg +4 -0
  1914. package/dist/collection/shoelace/assets/icons/thermometer-low.svg +4 -0
  1915. package/dist/collection/shoelace/assets/icons/thermometer-snow.svg +4 -0
  1916. package/dist/collection/shoelace/assets/icons/thermometer-sun.svg +4 -0
  1917. package/dist/collection/shoelace/assets/icons/thermometer.svg +4 -0
  1918. package/dist/collection/shoelace/assets/icons/threads-fill.svg +4 -0
  1919. package/dist/collection/shoelace/assets/icons/threads.svg +3 -0
  1920. package/dist/collection/shoelace/assets/icons/three-dots-vertical.svg +3 -0
  1921. package/dist/collection/shoelace/assets/icons/three-dots.svg +3 -0
  1922. package/dist/collection/shoelace/assets/icons/thunderbolt-fill.svg +3 -0
  1923. package/dist/collection/shoelace/assets/icons/thunderbolt.svg +4 -0
  1924. package/dist/collection/shoelace/assets/icons/ticket-detailed-fill.svg +3 -0
  1925. package/dist/collection/shoelace/assets/icons/ticket-detailed.svg +4 -0
  1926. package/dist/collection/shoelace/assets/icons/ticket-fill.svg +3 -0
  1927. package/dist/collection/shoelace/assets/icons/ticket-perforated-fill.svg +3 -0
  1928. package/dist/collection/shoelace/assets/icons/ticket-perforated.svg +4 -0
  1929. package/dist/collection/shoelace/assets/icons/ticket.svg +3 -0
  1930. package/dist/collection/shoelace/assets/icons/tiktok.svg +3 -0
  1931. package/dist/collection/shoelace/assets/icons/toggle-off.svg +3 -0
  1932. package/dist/collection/shoelace/assets/icons/toggle-on.svg +3 -0
  1933. package/dist/collection/shoelace/assets/icons/toggle2-off.svg +4 -0
  1934. package/dist/collection/shoelace/assets/icons/toggle2-on.svg +4 -0
  1935. package/dist/collection/shoelace/assets/icons/toggles.svg +3 -0
  1936. package/dist/collection/shoelace/assets/icons/toggles2.svg +5 -0
  1937. package/dist/collection/shoelace/assets/icons/tools.svg +3 -0
  1938. package/dist/collection/shoelace/assets/icons/tornado.svg +3 -0
  1939. package/dist/collection/shoelace/assets/icons/train-freight-front-fill.svg +3 -0
  1940. package/dist/collection/shoelace/assets/icons/train-freight-front.svg +3 -0
  1941. package/dist/collection/shoelace/assets/icons/train-front-fill.svg +3 -0
  1942. package/dist/collection/shoelace/assets/icons/train-front.svg +3 -0
  1943. package/dist/collection/shoelace/assets/icons/train-lightrail-front-fill.svg +3 -0
  1944. package/dist/collection/shoelace/assets/icons/train-lightrail-front.svg +3 -0
  1945. package/dist/collection/shoelace/assets/icons/translate.svg +4 -0
  1946. package/dist/collection/shoelace/assets/icons/transparency.svg +3 -0
  1947. package/dist/collection/shoelace/assets/icons/trash-fill.svg +3 -0
  1948. package/dist/collection/shoelace/assets/icons/trash.svg +4 -0
  1949. package/dist/collection/shoelace/assets/icons/trash2-fill.svg +3 -0
  1950. package/dist/collection/shoelace/assets/icons/trash2.svg +3 -0
  1951. package/dist/collection/shoelace/assets/icons/trash3-fill.svg +3 -0
  1952. package/dist/collection/shoelace/assets/icons/trash3.svg +3 -0
  1953. package/dist/collection/shoelace/assets/icons/tree-fill.svg +3 -0
  1954. package/dist/collection/shoelace/assets/icons/tree.svg +3 -0
  1955. package/dist/collection/shoelace/assets/icons/trello.svg +3 -0
  1956. package/dist/collection/shoelace/assets/icons/triangle-fill.svg +3 -0
  1957. package/dist/collection/shoelace/assets/icons/triangle-half.svg +3 -0
  1958. package/dist/collection/shoelace/assets/icons/triangle.svg +3 -0
  1959. package/dist/collection/shoelace/assets/icons/trophy-fill.svg +3 -0
  1960. package/dist/collection/shoelace/assets/icons/trophy.svg +3 -0
  1961. package/dist/collection/shoelace/assets/icons/tropical-storm.svg +4 -0
  1962. package/dist/collection/shoelace/assets/icons/truck-flatbed.svg +3 -0
  1963. package/dist/collection/shoelace/assets/icons/truck-front-fill.svg +3 -0
  1964. package/dist/collection/shoelace/assets/icons/truck-front.svg +4 -0
  1965. package/dist/collection/shoelace/assets/icons/truck.svg +3 -0
  1966. package/dist/collection/shoelace/assets/icons/tsunami.svg +3 -0
  1967. package/dist/collection/shoelace/assets/icons/tv-fill.svg +3 -0
  1968. package/dist/collection/shoelace/assets/icons/tv.svg +3 -0
  1969. package/dist/collection/shoelace/assets/icons/twitch.svg +4 -0
  1970. package/dist/collection/shoelace/assets/icons/twitter-x.svg +3 -0
  1971. package/dist/collection/shoelace/assets/icons/twitter.svg +3 -0
  1972. package/dist/collection/shoelace/assets/icons/type-bold.svg +3 -0
  1973. package/dist/collection/shoelace/assets/icons/type-h1.svg +3 -0
  1974. package/dist/collection/shoelace/assets/icons/type-h2.svg +3 -0
  1975. package/dist/collection/shoelace/assets/icons/type-h3.svg +3 -0
  1976. package/dist/collection/shoelace/assets/icons/type-h4.svg +3 -0
  1977. package/dist/collection/shoelace/assets/icons/type-h5.svg +3 -0
  1978. package/dist/collection/shoelace/assets/icons/type-h6.svg +3 -0
  1979. package/dist/collection/shoelace/assets/icons/type-italic.svg +3 -0
  1980. package/dist/collection/shoelace/assets/icons/type-strikethrough.svg +3 -0
  1981. package/dist/collection/shoelace/assets/icons/type-underline.svg +3 -0
  1982. package/dist/collection/shoelace/assets/icons/type.svg +3 -0
  1983. package/dist/collection/shoelace/assets/icons/ubuntu.svg +3 -0
  1984. package/dist/collection/shoelace/assets/icons/ui-checks-grid.svg +3 -0
  1985. package/dist/collection/shoelace/assets/icons/ui-checks.svg +3 -0
  1986. package/dist/collection/shoelace/assets/icons/ui-radios-grid.svg +3 -0
  1987. package/dist/collection/shoelace/assets/icons/ui-radios.svg +3 -0
  1988. package/dist/collection/shoelace/assets/icons/umbrella-fill.svg +3 -0
  1989. package/dist/collection/shoelace/assets/icons/umbrella.svg +3 -0
  1990. package/dist/collection/shoelace/assets/icons/unindent.svg +4 -0
  1991. package/dist/collection/shoelace/assets/icons/union.svg +3 -0
  1992. package/dist/collection/shoelace/assets/icons/unity.svg +3 -0
  1993. package/dist/collection/shoelace/assets/icons/universal-access-circle.svg +4 -0
  1994. package/dist/collection/shoelace/assets/icons/universal-access.svg +3 -0
  1995. package/dist/collection/shoelace/assets/icons/unlock-fill.svg +3 -0
  1996. package/dist/collection/shoelace/assets/icons/unlock.svg +3 -0
  1997. package/dist/collection/shoelace/assets/icons/upc-scan.svg +3 -0
  1998. package/dist/collection/shoelace/assets/icons/upc.svg +3 -0
  1999. package/dist/collection/shoelace/assets/icons/upload.svg +4 -0
  2000. package/dist/collection/shoelace/assets/icons/usb-c-fill.svg +3 -0
  2001. package/dist/collection/shoelace/assets/icons/usb-c.svg +4 -0
  2002. package/dist/collection/shoelace/assets/icons/usb-drive-fill.svg +3 -0
  2003. package/dist/collection/shoelace/assets/icons/usb-drive.svg +3 -0
  2004. package/dist/collection/shoelace/assets/icons/usb-fill.svg +3 -0
  2005. package/dist/collection/shoelace/assets/icons/usb-micro-fill.svg +3 -0
  2006. package/dist/collection/shoelace/assets/icons/usb-micro.svg +4 -0
  2007. package/dist/collection/shoelace/assets/icons/usb-mini-fill.svg +3 -0
  2008. package/dist/collection/shoelace/assets/icons/usb-mini.svg +4 -0
  2009. package/dist/collection/shoelace/assets/icons/usb-plug-fill.svg +3 -0
  2010. package/dist/collection/shoelace/assets/icons/usb-plug.svg +3 -0
  2011. package/dist/collection/shoelace/assets/icons/usb-symbol.svg +3 -0
  2012. package/dist/collection/shoelace/assets/icons/usb.svg +4 -0
  2013. package/dist/collection/shoelace/assets/icons/valentine.svg +4 -0
  2014. package/dist/collection/shoelace/assets/icons/valentine2.svg +4 -0
  2015. package/dist/collection/shoelace/assets/icons/vector-pen.svg +4 -0
  2016. package/dist/collection/shoelace/assets/icons/view-list.svg +3 -0
  2017. package/dist/collection/shoelace/assets/icons/view-stacked.svg +3 -0
  2018. package/dist/collection/shoelace/assets/icons/vignette.svg +4 -0
  2019. package/dist/collection/shoelace/assets/icons/vimeo.svg +3 -0
  2020. package/dist/collection/shoelace/assets/icons/vinyl-fill.svg +4 -0
  2021. package/dist/collection/shoelace/assets/icons/vinyl.svg +5 -0
  2022. package/dist/collection/shoelace/assets/icons/virus.svg +3 -0
  2023. package/dist/collection/shoelace/assets/icons/virus2.svg +3 -0
  2024. package/dist/collection/shoelace/assets/icons/voicemail.svg +3 -0
  2025. package/dist/collection/shoelace/assets/icons/volume-down-fill.svg +3 -0
  2026. package/dist/collection/shoelace/assets/icons/volume-down.svg +3 -0
  2027. package/dist/collection/shoelace/assets/icons/volume-mute-fill.svg +3 -0
  2028. package/dist/collection/shoelace/assets/icons/volume-mute.svg +3 -0
  2029. package/dist/collection/shoelace/assets/icons/volume-off-fill.svg +3 -0
  2030. package/dist/collection/shoelace/assets/icons/volume-off.svg +3 -0
  2031. package/dist/collection/shoelace/assets/icons/volume-up-fill.svg +5 -0
  2032. package/dist/collection/shoelace/assets/icons/volume-up.svg +5 -0
  2033. package/dist/collection/shoelace/assets/icons/vr.svg +3 -0
  2034. package/dist/collection/shoelace/assets/icons/wallet-fill.svg +4 -0
  2035. package/dist/collection/shoelace/assets/icons/wallet.svg +3 -0
  2036. package/dist/collection/shoelace/assets/icons/wallet2.svg +3 -0
  2037. package/dist/collection/shoelace/assets/icons/watch.svg +4 -0
  2038. package/dist/collection/shoelace/assets/icons/water.svg +3 -0
  2039. package/dist/collection/shoelace/assets/icons/webcam-fill.svg +4 -0
  2040. package/dist/collection/shoelace/assets/icons/webcam.svg +4 -0
  2041. package/dist/collection/shoelace/assets/icons/wechat.svg +4 -0
  2042. package/dist/collection/shoelace/assets/icons/whatsapp.svg +3 -0
  2043. package/dist/collection/shoelace/assets/icons/wifi-1.svg +3 -0
  2044. package/dist/collection/shoelace/assets/icons/wifi-2.svg +3 -0
  2045. package/dist/collection/shoelace/assets/icons/wifi-off.svg +3 -0
  2046. package/dist/collection/shoelace/assets/icons/wifi.svg +4 -0
  2047. package/dist/collection/shoelace/assets/icons/wikipedia.svg +3 -0
  2048. package/dist/collection/shoelace/assets/icons/wind.svg +3 -0
  2049. package/dist/collection/shoelace/assets/icons/window-dash.svg +5 -0
  2050. package/dist/collection/shoelace/assets/icons/window-desktop.svg +4 -0
  2051. package/dist/collection/shoelace/assets/icons/window-dock.svg +4 -0
  2052. package/dist/collection/shoelace/assets/icons/window-fullscreen.svg +4 -0
  2053. package/dist/collection/shoelace/assets/icons/window-plus.svg +5 -0
  2054. package/dist/collection/shoelace/assets/icons/window-sidebar.svg +4 -0
  2055. package/dist/collection/shoelace/assets/icons/window-split.svg +4 -0
  2056. package/dist/collection/shoelace/assets/icons/window-stack.svg +4 -0
  2057. package/dist/collection/shoelace/assets/icons/window-x.svg +5 -0
  2058. package/dist/collection/shoelace/assets/icons/window.svg +4 -0
  2059. package/dist/collection/shoelace/assets/icons/windows.svg +3 -0
  2060. package/dist/collection/shoelace/assets/icons/wordpress.svg +5 -0
  2061. package/dist/collection/shoelace/assets/icons/wrench-adjustable-circle-fill.svg +4 -0
  2062. package/dist/collection/shoelace/assets/icons/wrench-adjustable-circle.svg +4 -0
  2063. package/dist/collection/shoelace/assets/icons/wrench-adjustable.svg +4 -0
  2064. package/dist/collection/shoelace/assets/icons/wrench.svg +3 -0
  2065. package/dist/collection/shoelace/assets/icons/x-circle-fill.svg +3 -0
  2066. package/dist/collection/shoelace/assets/icons/x-circle.svg +4 -0
  2067. package/dist/collection/shoelace/assets/icons/x-diamond-fill.svg +3 -0
  2068. package/dist/collection/shoelace/assets/icons/x-diamond.svg +3 -0
  2069. package/dist/collection/shoelace/assets/icons/x-lg.svg +3 -0
  2070. package/dist/collection/shoelace/assets/icons/x-octagon-fill.svg +3 -0
  2071. package/dist/collection/shoelace/assets/icons/x-octagon.svg +4 -0
  2072. package/dist/collection/shoelace/assets/icons/x-square-fill.svg +3 -0
  2073. package/dist/collection/shoelace/assets/icons/x-square.svg +4 -0
  2074. package/dist/collection/shoelace/assets/icons/x.svg +3 -0
  2075. package/dist/collection/shoelace/assets/icons/xbox.svg +3 -0
  2076. package/dist/collection/shoelace/assets/icons/yelp.svg +3 -0
  2077. package/dist/collection/shoelace/assets/icons/yin-yang.svg +4 -0
  2078. package/dist/collection/shoelace/assets/icons/youtube.svg +3 -0
  2079. package/dist/collection/shoelace/assets/icons/zoom-in.svg +5 -0
  2080. package/dist/collection/shoelace/assets/icons/zoom-out.svg +5 -0
  2081. package/dist/components/chunk.3Y6SB6QS.js +28 -0
  2082. package/dist/components/chunk.3Y6SB6QS.js.map +1 -0
  2083. package/dist/components/chunk.HVTXQL7M.js +24 -598
  2084. package/dist/components/chunk.HVTXQL7M.js.map +1 -1
  2085. package/dist/components/chunk.YHLNUJ7P.js +556 -0
  2086. package/dist/components/chunk.YHLNUJ7P.js.map +1 -0
  2087. package/dist/components/index.js +2 -0
  2088. package/dist/components/index.js.map +1 -1
  2089. package/dist/components/pos-app-browser.js +65 -59
  2090. package/dist/components/pos-app-browser.js.map +1 -1
  2091. package/dist/components/pos-app2.js +7 -2
  2092. package/dist/components/pos-app2.js.map +1 -1
  2093. package/dist/components/pos-document2.js +1 -1
  2094. package/dist/components/pos-document2.js.map +1 -1
  2095. package/dist/components/pos-make-findable2.js +1 -0
  2096. package/dist/components/pos-make-findable2.js.map +1 -1
  2097. package/dist/components/pos-tool-select.d.ts +11 -0
  2098. package/dist/components/pos-tool-select.js +8 -0
  2099. package/dist/components/pos-tool-select.js.map +1 -0
  2100. package/dist/components/pos-tool-select2.js +50 -0
  2101. package/dist/components/pos-tool-select2.js.map +1 -0
  2102. package/dist/components/pos-type-router2.js +114 -37
  2103. package/dist/components/pos-type-router2.js.map +1 -1
  2104. package/dist/components/pos-user-menu2.js +2 -1
  2105. package/dist/components/pos-user-menu2.js.map +1 -1
  2106. package/dist/elements/elements.esm.js +1 -1
  2107. package/dist/elements/elements.esm.js.map +1 -1
  2108. package/dist/elements/p-b0c20178.js +2 -0
  2109. package/dist/elements/p-b0c20178.js.map +1 -0
  2110. package/dist/elements/p-c066fd50.js +2 -0
  2111. package/dist/elements/p-c066fd50.js.map +1 -0
  2112. package/dist/elements/p-e7498ab7.entry.js +652 -0
  2113. package/dist/elements/p-e7498ab7.entry.js.map +1 -0
  2114. package/dist/elements/p-f2e65e83.entry.js +2 -0
  2115. package/dist/elements/p-f2e65e83.entry.js.map +1 -0
  2116. package/dist/elements/shoelace/assets/icons/0-circle-fill.svg +4 -0
  2117. package/dist/elements/shoelace/assets/icons/0-circle.svg +4 -0
  2118. package/dist/elements/shoelace/assets/icons/0-square-fill.svg +4 -0
  2119. package/dist/elements/shoelace/assets/icons/0-square.svg +4 -0
  2120. package/dist/elements/shoelace/assets/icons/1-circle-fill.svg +3 -0
  2121. package/dist/elements/shoelace/assets/icons/1-circle.svg +3 -0
  2122. package/dist/elements/shoelace/assets/icons/1-square-fill.svg +3 -0
  2123. package/dist/elements/shoelace/assets/icons/1-square.svg +4 -0
  2124. package/dist/elements/shoelace/assets/icons/123.svg +3 -0
  2125. package/dist/elements/shoelace/assets/icons/2-circle-fill.svg +3 -0
  2126. package/dist/elements/shoelace/assets/icons/2-circle.svg +3 -0
  2127. package/dist/elements/shoelace/assets/icons/2-square-fill.svg +3 -0
  2128. package/dist/elements/shoelace/assets/icons/2-square.svg +4 -0
  2129. package/dist/elements/shoelace/assets/icons/3-circle-fill.svg +3 -0
  2130. package/dist/elements/shoelace/assets/icons/3-circle.svg +4 -0
  2131. package/dist/elements/shoelace/assets/icons/3-square-fill.svg +3 -0
  2132. package/dist/elements/shoelace/assets/icons/3-square.svg +4 -0
  2133. package/dist/elements/shoelace/assets/icons/4-circle-fill.svg +3 -0
  2134. package/dist/elements/shoelace/assets/icons/4-circle.svg +4 -0
  2135. package/dist/elements/shoelace/assets/icons/4-square-fill.svg +4 -0
  2136. package/dist/elements/shoelace/assets/icons/4-square.svg +4 -0
  2137. package/dist/elements/shoelace/assets/icons/5-circle-fill.svg +3 -0
  2138. package/dist/elements/shoelace/assets/icons/5-circle.svg +3 -0
  2139. package/dist/elements/shoelace/assets/icons/5-square-fill.svg +3 -0
  2140. package/dist/elements/shoelace/assets/icons/5-square.svg +4 -0
  2141. package/dist/elements/shoelace/assets/icons/6-circle-fill.svg +3 -0
  2142. package/dist/elements/shoelace/assets/icons/6-circle.svg +3 -0
  2143. package/dist/elements/shoelace/assets/icons/6-square-fill.svg +4 -0
  2144. package/dist/elements/shoelace/assets/icons/6-square.svg +4 -0
  2145. package/dist/elements/shoelace/assets/icons/7-circle-fill.svg +3 -0
  2146. package/dist/elements/shoelace/assets/icons/7-circle.svg +3 -0
  2147. package/dist/elements/shoelace/assets/icons/7-square-fill.svg +3 -0
  2148. package/dist/elements/shoelace/assets/icons/7-square.svg +4 -0
  2149. package/dist/elements/shoelace/assets/icons/8-circle-fill.svg +3 -0
  2150. package/dist/elements/shoelace/assets/icons/8-circle.svg +3 -0
  2151. package/dist/elements/shoelace/assets/icons/8-square-fill.svg +4 -0
  2152. package/dist/elements/shoelace/assets/icons/8-square.svg +4 -0
  2153. package/dist/elements/shoelace/assets/icons/9-circle-fill.svg +3 -0
  2154. package/dist/elements/shoelace/assets/icons/9-circle.svg +3 -0
  2155. package/dist/elements/shoelace/assets/icons/9-square-fill.svg +4 -0
  2156. package/dist/elements/shoelace/assets/icons/9-square.svg +4 -0
  2157. package/dist/elements/shoelace/assets/icons/LICENSE +21 -0
  2158. package/dist/elements/shoelace/assets/icons/activity.svg +3 -0
  2159. package/dist/elements/shoelace/assets/icons/airplane-engines-fill.svg +3 -0
  2160. package/dist/elements/shoelace/assets/icons/airplane-engines.svg +3 -0
  2161. package/dist/elements/shoelace/assets/icons/airplane-fill.svg +3 -0
  2162. package/dist/elements/shoelace/assets/icons/airplane.svg +3 -0
  2163. package/dist/elements/shoelace/assets/icons/alarm-fill.svg +3 -0
  2164. package/dist/elements/shoelace/assets/icons/alarm.svg +4 -0
  2165. package/dist/elements/shoelace/assets/icons/alexa.svg +3 -0
  2166. package/dist/elements/shoelace/assets/icons/align-bottom.svg +4 -0
  2167. package/dist/elements/shoelace/assets/icons/align-center.svg +3 -0
  2168. package/dist/elements/shoelace/assets/icons/align-end.svg +4 -0
  2169. package/dist/elements/shoelace/assets/icons/align-middle.svg +3 -0
  2170. package/dist/elements/shoelace/assets/icons/align-start.svg +4 -0
  2171. package/dist/elements/shoelace/assets/icons/align-top.svg +4 -0
  2172. package/dist/elements/shoelace/assets/icons/alipay.svg +4 -0
  2173. package/dist/elements/shoelace/assets/icons/alphabet-uppercase.svg +3 -0
  2174. package/dist/elements/shoelace/assets/icons/alphabet.svg +3 -0
  2175. package/dist/elements/shoelace/assets/icons/alt.svg +3 -0
  2176. package/dist/elements/shoelace/assets/icons/amazon.svg +4 -0
  2177. package/dist/elements/shoelace/assets/icons/amd.svg +3 -0
  2178. package/dist/elements/shoelace/assets/icons/android.svg +3 -0
  2179. package/dist/elements/shoelace/assets/icons/android2.svg +3 -0
  2180. package/dist/elements/shoelace/assets/icons/app-indicator.svg +4 -0
  2181. package/dist/elements/shoelace/assets/icons/app.svg +3 -0
  2182. package/dist/elements/shoelace/assets/icons/apple.svg +4 -0
  2183. package/dist/elements/shoelace/assets/icons/archive-fill.svg +3 -0
  2184. package/dist/elements/shoelace/assets/icons/archive.svg +3 -0
  2185. package/dist/elements/shoelace/assets/icons/arrow-90deg-down.svg +3 -0
  2186. package/dist/elements/shoelace/assets/icons/arrow-90deg-left.svg +3 -0
  2187. package/dist/elements/shoelace/assets/icons/arrow-90deg-right.svg +3 -0
  2188. package/dist/elements/shoelace/assets/icons/arrow-90deg-up.svg +3 -0
  2189. package/dist/elements/shoelace/assets/icons/arrow-bar-down.svg +3 -0
  2190. package/dist/elements/shoelace/assets/icons/arrow-bar-left.svg +3 -0
  2191. package/dist/elements/shoelace/assets/icons/arrow-bar-right.svg +3 -0
  2192. package/dist/elements/shoelace/assets/icons/arrow-bar-up.svg +3 -0
  2193. package/dist/elements/shoelace/assets/icons/arrow-clockwise.svg +4 -0
  2194. package/dist/elements/shoelace/assets/icons/arrow-counterclockwise.svg +4 -0
  2195. package/dist/elements/shoelace/assets/icons/arrow-down-circle-fill.svg +3 -0
  2196. package/dist/elements/shoelace/assets/icons/arrow-down-circle.svg +3 -0
  2197. package/dist/elements/shoelace/assets/icons/arrow-down-left-circle-fill.svg +3 -0
  2198. package/dist/elements/shoelace/assets/icons/arrow-down-left-circle.svg +3 -0
  2199. package/dist/elements/shoelace/assets/icons/arrow-down-left-square-fill.svg +3 -0
  2200. package/dist/elements/shoelace/assets/icons/arrow-down-left-square.svg +3 -0
  2201. package/dist/elements/shoelace/assets/icons/arrow-down-left.svg +3 -0
  2202. package/dist/elements/shoelace/assets/icons/arrow-down-right-circle-fill.svg +3 -0
  2203. package/dist/elements/shoelace/assets/icons/arrow-down-right-circle.svg +3 -0
  2204. package/dist/elements/shoelace/assets/icons/arrow-down-right-square-fill.svg +3 -0
  2205. package/dist/elements/shoelace/assets/icons/arrow-down-right-square.svg +3 -0
  2206. package/dist/elements/shoelace/assets/icons/arrow-down-right.svg +3 -0
  2207. package/dist/elements/shoelace/assets/icons/arrow-down-short.svg +3 -0
  2208. package/dist/elements/shoelace/assets/icons/arrow-down-square-fill.svg +3 -0
  2209. package/dist/elements/shoelace/assets/icons/arrow-down-square.svg +3 -0
  2210. package/dist/elements/shoelace/assets/icons/arrow-down-up.svg +3 -0
  2211. package/dist/elements/shoelace/assets/icons/arrow-down.svg +3 -0
  2212. package/dist/elements/shoelace/assets/icons/arrow-left-circle-fill.svg +3 -0
  2213. package/dist/elements/shoelace/assets/icons/arrow-left-circle.svg +3 -0
  2214. package/dist/elements/shoelace/assets/icons/arrow-left-right.svg +3 -0
  2215. package/dist/elements/shoelace/assets/icons/arrow-left-short.svg +3 -0
  2216. package/dist/elements/shoelace/assets/icons/arrow-left-square-fill.svg +3 -0
  2217. package/dist/elements/shoelace/assets/icons/arrow-left-square.svg +3 -0
  2218. package/dist/elements/shoelace/assets/icons/arrow-left.svg +3 -0
  2219. package/dist/elements/shoelace/assets/icons/arrow-repeat.svg +4 -0
  2220. package/dist/elements/shoelace/assets/icons/arrow-return-left.svg +3 -0
  2221. package/dist/elements/shoelace/assets/icons/arrow-return-right.svg +3 -0
  2222. package/dist/elements/shoelace/assets/icons/arrow-right-circle-fill.svg +3 -0
  2223. package/dist/elements/shoelace/assets/icons/arrow-right-circle.svg +3 -0
  2224. package/dist/elements/shoelace/assets/icons/arrow-right-short.svg +3 -0
  2225. package/dist/elements/shoelace/assets/icons/arrow-right-square-fill.svg +3 -0
  2226. package/dist/elements/shoelace/assets/icons/arrow-right-square.svg +3 -0
  2227. package/dist/elements/shoelace/assets/icons/arrow-right.svg +3 -0
  2228. package/dist/elements/shoelace/assets/icons/arrow-through-heart-fill.svg +3 -0
  2229. package/dist/elements/shoelace/assets/icons/arrow-through-heart.svg +3 -0
  2230. package/dist/elements/shoelace/assets/icons/arrow-up-circle-fill.svg +3 -0
  2231. package/dist/elements/shoelace/assets/icons/arrow-up-circle.svg +3 -0
  2232. package/dist/elements/shoelace/assets/icons/arrow-up-left-circle-fill.svg +3 -0
  2233. package/dist/elements/shoelace/assets/icons/arrow-up-left-circle.svg +3 -0
  2234. package/dist/elements/shoelace/assets/icons/arrow-up-left-square-fill.svg +3 -0
  2235. package/dist/elements/shoelace/assets/icons/arrow-up-left-square.svg +3 -0
  2236. package/dist/elements/shoelace/assets/icons/arrow-up-left.svg +3 -0
  2237. package/dist/elements/shoelace/assets/icons/arrow-up-right-circle-fill.svg +3 -0
  2238. package/dist/elements/shoelace/assets/icons/arrow-up-right-circle.svg +3 -0
  2239. package/dist/elements/shoelace/assets/icons/arrow-up-right-square-fill.svg +3 -0
  2240. package/dist/elements/shoelace/assets/icons/arrow-up-right-square.svg +3 -0
  2241. package/dist/elements/shoelace/assets/icons/arrow-up-right.svg +3 -0
  2242. package/dist/elements/shoelace/assets/icons/arrow-up-short.svg +3 -0
  2243. package/dist/elements/shoelace/assets/icons/arrow-up-square-fill.svg +3 -0
  2244. package/dist/elements/shoelace/assets/icons/arrow-up-square.svg +3 -0
  2245. package/dist/elements/shoelace/assets/icons/arrow-up.svg +3 -0
  2246. package/dist/elements/shoelace/assets/icons/arrows-angle-contract.svg +3 -0
  2247. package/dist/elements/shoelace/assets/icons/arrows-angle-expand.svg +3 -0
  2248. package/dist/elements/shoelace/assets/icons/arrows-collapse-vertical.svg +3 -0
  2249. package/dist/elements/shoelace/assets/icons/arrows-collapse.svg +3 -0
  2250. package/dist/elements/shoelace/assets/icons/arrows-expand-vertical.svg +3 -0
  2251. package/dist/elements/shoelace/assets/icons/arrows-expand.svg +3 -0
  2252. package/dist/elements/shoelace/assets/icons/arrows-fullscreen.svg +3 -0
  2253. package/dist/elements/shoelace/assets/icons/arrows-move.svg +3 -0
  2254. package/dist/elements/shoelace/assets/icons/arrows-vertical.svg +3 -0
  2255. package/dist/elements/shoelace/assets/icons/arrows.svg +3 -0
  2256. package/dist/elements/shoelace/assets/icons/aspect-ratio-fill.svg +3 -0
  2257. package/dist/elements/shoelace/assets/icons/aspect-ratio.svg +4 -0
  2258. package/dist/elements/shoelace/assets/icons/asterisk.svg +3 -0
  2259. package/dist/elements/shoelace/assets/icons/at.svg +3 -0
  2260. package/dist/elements/shoelace/assets/icons/award-fill.svg +4 -0
  2261. package/dist/elements/shoelace/assets/icons/award.svg +4 -0
  2262. package/dist/elements/shoelace/assets/icons/back.svg +3 -0
  2263. package/dist/elements/shoelace/assets/icons/backpack-fill.svg +4 -0
  2264. package/dist/elements/shoelace/assets/icons/backpack.svg +4 -0
  2265. package/dist/elements/shoelace/assets/icons/backpack2-fill.svg +4 -0
  2266. package/dist/elements/shoelace/assets/icons/backpack2.svg +5 -0
  2267. package/dist/elements/shoelace/assets/icons/backpack3-fill.svg +4 -0
  2268. package/dist/elements/shoelace/assets/icons/backpack3.svg +4 -0
  2269. package/dist/elements/shoelace/assets/icons/backpack4-fill.svg +4 -0
  2270. package/dist/elements/shoelace/assets/icons/backpack4.svg +4 -0
  2271. package/dist/elements/shoelace/assets/icons/backspace-fill.svg +3 -0
  2272. package/dist/elements/shoelace/assets/icons/backspace-reverse-fill.svg +3 -0
  2273. package/dist/elements/shoelace/assets/icons/backspace-reverse.svg +4 -0
  2274. package/dist/elements/shoelace/assets/icons/backspace.svg +4 -0
  2275. package/dist/elements/shoelace/assets/icons/badge-3d-fill.svg +4 -0
  2276. package/dist/elements/shoelace/assets/icons/badge-3d.svg +4 -0
  2277. package/dist/elements/shoelace/assets/icons/badge-4k-fill.svg +4 -0
  2278. package/dist/elements/shoelace/assets/icons/badge-4k.svg +4 -0
  2279. package/dist/elements/shoelace/assets/icons/badge-8k-fill.svg +4 -0
  2280. package/dist/elements/shoelace/assets/icons/badge-8k.svg +4 -0
  2281. package/dist/elements/shoelace/assets/icons/badge-ad-fill.svg +4 -0
  2282. package/dist/elements/shoelace/assets/icons/badge-ad.svg +4 -0
  2283. package/dist/elements/shoelace/assets/icons/badge-ar-fill.svg +4 -0
  2284. package/dist/elements/shoelace/assets/icons/badge-ar.svg +4 -0
  2285. package/dist/elements/shoelace/assets/icons/badge-cc-fill.svg +3 -0
  2286. package/dist/elements/shoelace/assets/icons/badge-cc.svg +4 -0
  2287. package/dist/elements/shoelace/assets/icons/badge-hd-fill.svg +4 -0
  2288. package/dist/elements/shoelace/assets/icons/badge-hd.svg +4 -0
  2289. package/dist/elements/shoelace/assets/icons/badge-sd-fill.svg +4 -0
  2290. package/dist/elements/shoelace/assets/icons/badge-sd.svg +3 -0
  2291. package/dist/elements/shoelace/assets/icons/badge-tm-fill.svg +3 -0
  2292. package/dist/elements/shoelace/assets/icons/badge-tm.svg +4 -0
  2293. package/dist/elements/shoelace/assets/icons/badge-vo-fill.svg +4 -0
  2294. package/dist/elements/shoelace/assets/icons/badge-vo.svg +4 -0
  2295. package/dist/elements/shoelace/assets/icons/badge-vr-fill.svg +4 -0
  2296. package/dist/elements/shoelace/assets/icons/badge-vr.svg +4 -0
  2297. package/dist/elements/shoelace/assets/icons/badge-wc-fill.svg +3 -0
  2298. package/dist/elements/shoelace/assets/icons/badge-wc.svg +4 -0
  2299. package/dist/elements/shoelace/assets/icons/bag-check-fill.svg +3 -0
  2300. package/dist/elements/shoelace/assets/icons/bag-check.svg +4 -0
  2301. package/dist/elements/shoelace/assets/icons/bag-dash-fill.svg +3 -0
  2302. package/dist/elements/shoelace/assets/icons/bag-dash.svg +4 -0
  2303. package/dist/elements/shoelace/assets/icons/bag-fill.svg +3 -0
  2304. package/dist/elements/shoelace/assets/icons/bag-heart-fill.svg +3 -0
  2305. package/dist/elements/shoelace/assets/icons/bag-heart.svg +3 -0
  2306. package/dist/elements/shoelace/assets/icons/bag-plus-fill.svg +3 -0
  2307. package/dist/elements/shoelace/assets/icons/bag-plus.svg +4 -0
  2308. package/dist/elements/shoelace/assets/icons/bag-x-fill.svg +3 -0
  2309. package/dist/elements/shoelace/assets/icons/bag-x.svg +4 -0
  2310. package/dist/elements/shoelace/assets/icons/bag.svg +3 -0
  2311. package/dist/elements/shoelace/assets/icons/balloon-fill.svg +3 -0
  2312. package/dist/elements/shoelace/assets/icons/balloon-heart-fill.svg +3 -0
  2313. package/dist/elements/shoelace/assets/icons/balloon-heart.svg +3 -0
  2314. package/dist/elements/shoelace/assets/icons/balloon.svg +3 -0
  2315. package/dist/elements/shoelace/assets/icons/ban-fill.svg +3 -0
  2316. package/dist/elements/shoelace/assets/icons/ban.svg +3 -0
  2317. package/dist/elements/shoelace/assets/icons/bandaid-fill.svg +3 -0
  2318. package/dist/elements/shoelace/assets/icons/bandaid.svg +4 -0
  2319. package/dist/elements/shoelace/assets/icons/bank.svg +3 -0
  2320. package/dist/elements/shoelace/assets/icons/bank2.svg +3 -0
  2321. package/dist/elements/shoelace/assets/icons/bar-chart-fill.svg +3 -0
  2322. package/dist/elements/shoelace/assets/icons/bar-chart-line-fill.svg +3 -0
  2323. package/dist/elements/shoelace/assets/icons/bar-chart-line.svg +3 -0
  2324. package/dist/elements/shoelace/assets/icons/bar-chart-steps.svg +3 -0
  2325. package/dist/elements/shoelace/assets/icons/bar-chart.svg +3 -0
  2326. package/dist/elements/shoelace/assets/icons/basket-fill.svg +3 -0
  2327. package/dist/elements/shoelace/assets/icons/basket.svg +3 -0
  2328. package/dist/elements/shoelace/assets/icons/basket2-fill.svg +3 -0
  2329. package/dist/elements/shoelace/assets/icons/basket2.svg +4 -0
  2330. package/dist/elements/shoelace/assets/icons/basket3-fill.svg +3 -0
  2331. package/dist/elements/shoelace/assets/icons/basket3.svg +3 -0
  2332. package/dist/elements/shoelace/assets/icons/battery-charging.svg +6 -0
  2333. package/dist/elements/shoelace/assets/icons/battery-full.svg +4 -0
  2334. package/dist/elements/shoelace/assets/icons/battery-half.svg +4 -0
  2335. package/dist/elements/shoelace/assets/icons/battery.svg +3 -0
  2336. package/dist/elements/shoelace/assets/icons/behance.svg +3 -0
  2337. package/dist/elements/shoelace/assets/icons/bell-fill.svg +3 -0
  2338. package/dist/elements/shoelace/assets/icons/bell-slash-fill.svg +3 -0
  2339. package/dist/elements/shoelace/assets/icons/bell-slash.svg +3 -0
  2340. package/dist/elements/shoelace/assets/icons/bell.svg +3 -0
  2341. package/dist/elements/shoelace/assets/icons/bezier.svg +4 -0
  2342. package/dist/elements/shoelace/assets/icons/bezier2.svg +3 -0
  2343. package/dist/elements/shoelace/assets/icons/bicycle.svg +3 -0
  2344. package/dist/elements/shoelace/assets/icons/bing.svg +5 -0
  2345. package/dist/elements/shoelace/assets/icons/binoculars-fill.svg +3 -0
  2346. package/dist/elements/shoelace/assets/icons/binoculars.svg +3 -0
  2347. package/dist/elements/shoelace/assets/icons/blockquote-left.svg +3 -0
  2348. package/dist/elements/shoelace/assets/icons/blockquote-right.svg +3 -0
  2349. package/dist/elements/shoelace/assets/icons/bluetooth.svg +3 -0
  2350. package/dist/elements/shoelace/assets/icons/body-text.svg +3 -0
  2351. package/dist/elements/shoelace/assets/icons/book-fill.svg +3 -0
  2352. package/dist/elements/shoelace/assets/icons/book-half.svg +3 -0
  2353. package/dist/elements/shoelace/assets/icons/book.svg +3 -0
  2354. package/dist/elements/shoelace/assets/icons/bookmark-check-fill.svg +3 -0
  2355. package/dist/elements/shoelace/assets/icons/bookmark-check.svg +4 -0
  2356. package/dist/elements/shoelace/assets/icons/bookmark-dash-fill.svg +3 -0
  2357. package/dist/elements/shoelace/assets/icons/bookmark-dash.svg +4 -0
  2358. package/dist/elements/shoelace/assets/icons/bookmark-fill.svg +3 -0
  2359. package/dist/elements/shoelace/assets/icons/bookmark-heart-fill.svg +3 -0
  2360. package/dist/elements/shoelace/assets/icons/bookmark-heart.svg +4 -0
  2361. package/dist/elements/shoelace/assets/icons/bookmark-plus-fill.svg +3 -0
  2362. package/dist/elements/shoelace/assets/icons/bookmark-plus.svg +4 -0
  2363. package/dist/elements/shoelace/assets/icons/bookmark-star-fill.svg +3 -0
  2364. package/dist/elements/shoelace/assets/icons/bookmark-star.svg +4 -0
  2365. package/dist/elements/shoelace/assets/icons/bookmark-x-fill.svg +3 -0
  2366. package/dist/elements/shoelace/assets/icons/bookmark-x.svg +4 -0
  2367. package/dist/elements/shoelace/assets/icons/bookmark.svg +3 -0
  2368. package/dist/elements/shoelace/assets/icons/bookmarks-fill.svg +4 -0
  2369. package/dist/elements/shoelace/assets/icons/bookmarks.svg +4 -0
  2370. package/dist/elements/shoelace/assets/icons/bookshelf.svg +3 -0
  2371. package/dist/elements/shoelace/assets/icons/boombox-fill.svg +4 -0
  2372. package/dist/elements/shoelace/assets/icons/boombox.svg +6 -0
  2373. package/dist/elements/shoelace/assets/icons/bootstrap-fill.svg +4 -0
  2374. package/dist/elements/shoelace/assets/icons/bootstrap-reboot.svg +4 -0
  2375. package/dist/elements/shoelace/assets/icons/bootstrap.svg +4 -0
  2376. package/dist/elements/shoelace/assets/icons/border-all.svg +3 -0
  2377. package/dist/elements/shoelace/assets/icons/border-bottom.svg +3 -0
  2378. package/dist/elements/shoelace/assets/icons/border-center.svg +3 -0
  2379. package/dist/elements/shoelace/assets/icons/border-inner.svg +5 -0
  2380. package/dist/elements/shoelace/assets/icons/border-left.svg +3 -0
  2381. package/dist/elements/shoelace/assets/icons/border-middle.svg +3 -0
  2382. package/dist/elements/shoelace/assets/icons/border-outer.svg +4 -0
  2383. package/dist/elements/shoelace/assets/icons/border-right.svg +3 -0
  2384. package/dist/elements/shoelace/assets/icons/border-style.svg +3 -0
  2385. package/dist/elements/shoelace/assets/icons/border-top.svg +3 -0
  2386. package/dist/elements/shoelace/assets/icons/border-width.svg +3 -0
  2387. package/dist/elements/shoelace/assets/icons/border.svg +3 -0
  2388. package/dist/elements/shoelace/assets/icons/bounding-box-circles.svg +3 -0
  2389. package/dist/elements/shoelace/assets/icons/bounding-box.svg +3 -0
  2390. package/dist/elements/shoelace/assets/icons/box-arrow-down-left.svg +4 -0
  2391. package/dist/elements/shoelace/assets/icons/box-arrow-down-right.svg +4 -0
  2392. package/dist/elements/shoelace/assets/icons/box-arrow-down.svg +4 -0
  2393. package/dist/elements/shoelace/assets/icons/box-arrow-in-down-left.svg +4 -0
  2394. package/dist/elements/shoelace/assets/icons/box-arrow-in-down-right.svg +4 -0
  2395. package/dist/elements/shoelace/assets/icons/box-arrow-in-down.svg +4 -0
  2396. package/dist/elements/shoelace/assets/icons/box-arrow-in-left.svg +4 -0
  2397. package/dist/elements/shoelace/assets/icons/box-arrow-in-right.svg +4 -0
  2398. package/dist/elements/shoelace/assets/icons/box-arrow-in-up-left.svg +4 -0
  2399. package/dist/elements/shoelace/assets/icons/box-arrow-in-up-right.svg +4 -0
  2400. package/dist/elements/shoelace/assets/icons/box-arrow-in-up.svg +4 -0
  2401. package/dist/elements/shoelace/assets/icons/box-arrow-left.svg +4 -0
  2402. package/dist/elements/shoelace/assets/icons/box-arrow-right.svg +4 -0
  2403. package/dist/elements/shoelace/assets/icons/box-arrow-up-left.svg +4 -0
  2404. package/dist/elements/shoelace/assets/icons/box-arrow-up-right.svg +4 -0
  2405. package/dist/elements/shoelace/assets/icons/box-arrow-up.svg +4 -0
  2406. package/dist/elements/shoelace/assets/icons/box-fill.svg +3 -0
  2407. package/dist/elements/shoelace/assets/icons/box-seam-fill.svg +3 -0
  2408. package/dist/elements/shoelace/assets/icons/box-seam.svg +3 -0
  2409. package/dist/elements/shoelace/assets/icons/box.svg +3 -0
  2410. package/dist/elements/shoelace/assets/icons/box2-fill.svg +3 -0
  2411. package/dist/elements/shoelace/assets/icons/box2-heart-fill.svg +3 -0
  2412. package/dist/elements/shoelace/assets/icons/box2-heart.svg +4 -0
  2413. package/dist/elements/shoelace/assets/icons/box2.svg +3 -0
  2414. package/dist/elements/shoelace/assets/icons/boxes.svg +3 -0
  2415. package/dist/elements/shoelace/assets/icons/braces-asterisk.svg +3 -0
  2416. package/dist/elements/shoelace/assets/icons/braces.svg +3 -0
  2417. package/dist/elements/shoelace/assets/icons/bricks.svg +3 -0
  2418. package/dist/elements/shoelace/assets/icons/briefcase-fill.svg +4 -0
  2419. package/dist/elements/shoelace/assets/icons/briefcase.svg +3 -0
  2420. package/dist/elements/shoelace/assets/icons/brightness-alt-high-fill.svg +3 -0
  2421. package/dist/elements/shoelace/assets/icons/brightness-alt-high.svg +3 -0
  2422. package/dist/elements/shoelace/assets/icons/brightness-alt-low-fill.svg +3 -0
  2423. package/dist/elements/shoelace/assets/icons/brightness-alt-low.svg +3 -0
  2424. package/dist/elements/shoelace/assets/icons/brightness-high-fill.svg +3 -0
  2425. package/dist/elements/shoelace/assets/icons/brightness-high.svg +3 -0
  2426. package/dist/elements/shoelace/assets/icons/brightness-low-fill.svg +3 -0
  2427. package/dist/elements/shoelace/assets/icons/brightness-low.svg +3 -0
  2428. package/dist/elements/shoelace/assets/icons/brilliance.svg +3 -0
  2429. package/dist/elements/shoelace/assets/icons/broadcast-pin.svg +3 -0
  2430. package/dist/elements/shoelace/assets/icons/broadcast.svg +3 -0
  2431. package/dist/elements/shoelace/assets/icons/browser-chrome.svg +3 -0
  2432. package/dist/elements/shoelace/assets/icons/browser-edge.svg +5 -0
  2433. package/dist/elements/shoelace/assets/icons/browser-firefox.svg +3 -0
  2434. package/dist/elements/shoelace/assets/icons/browser-safari.svg +3 -0
  2435. package/dist/elements/shoelace/assets/icons/brush-fill.svg +3 -0
  2436. package/dist/elements/shoelace/assets/icons/brush.svg +3 -0
  2437. package/dist/elements/shoelace/assets/icons/bucket-fill.svg +3 -0
  2438. package/dist/elements/shoelace/assets/icons/bucket.svg +3 -0
  2439. package/dist/elements/shoelace/assets/icons/bug-fill.svg +4 -0
  2440. package/dist/elements/shoelace/assets/icons/bug.svg +3 -0
  2441. package/dist/elements/shoelace/assets/icons/building-add.svg +5 -0
  2442. package/dist/elements/shoelace/assets/icons/building-check.svg +5 -0
  2443. package/dist/elements/shoelace/assets/icons/building-dash.svg +5 -0
  2444. package/dist/elements/shoelace/assets/icons/building-down.svg +5 -0
  2445. package/dist/elements/shoelace/assets/icons/building-exclamation.svg +4 -0
  2446. package/dist/elements/shoelace/assets/icons/building-fill-add.svg +4 -0
  2447. package/dist/elements/shoelace/assets/icons/building-fill-check.svg +4 -0
  2448. package/dist/elements/shoelace/assets/icons/building-fill-dash.svg +4 -0
  2449. package/dist/elements/shoelace/assets/icons/building-fill-down.svg +4 -0
  2450. package/dist/elements/shoelace/assets/icons/building-fill-exclamation.svg +4 -0
  2451. package/dist/elements/shoelace/assets/icons/building-fill-gear.svg +4 -0
  2452. package/dist/elements/shoelace/assets/icons/building-fill-lock.svg +4 -0
  2453. package/dist/elements/shoelace/assets/icons/building-fill-slash.svg +4 -0
  2454. package/dist/elements/shoelace/assets/icons/building-fill-up.svg +4 -0
  2455. package/dist/elements/shoelace/assets/icons/building-fill-x.svg +4 -0
  2456. package/dist/elements/shoelace/assets/icons/building-fill.svg +3 -0
  2457. package/dist/elements/shoelace/assets/icons/building-gear.svg +4 -0
  2458. package/dist/elements/shoelace/assets/icons/building-lock.svg +4 -0
  2459. package/dist/elements/shoelace/assets/icons/building-slash.svg +5 -0
  2460. package/dist/elements/shoelace/assets/icons/building-up.svg +5 -0
  2461. package/dist/elements/shoelace/assets/icons/building-x.svg +4 -0
  2462. package/dist/elements/shoelace/assets/icons/building.svg +4 -0
  2463. package/dist/elements/shoelace/assets/icons/buildings-fill.svg +3 -0
  2464. package/dist/elements/shoelace/assets/icons/buildings.svg +4 -0
  2465. package/dist/elements/shoelace/assets/icons/bullseye.svg +6 -0
  2466. package/dist/elements/shoelace/assets/icons/bus-front-fill.svg +3 -0
  2467. package/dist/elements/shoelace/assets/icons/bus-front.svg +4 -0
  2468. package/dist/elements/shoelace/assets/icons/c-circle-fill.svg +3 -0
  2469. package/dist/elements/shoelace/assets/icons/c-circle.svg +3 -0
  2470. package/dist/elements/shoelace/assets/icons/c-square-fill.svg +3 -0
  2471. package/dist/elements/shoelace/assets/icons/c-square.svg +4 -0
  2472. package/dist/elements/shoelace/assets/icons/cake-fill.svg +3 -0
  2473. package/dist/elements/shoelace/assets/icons/cake.svg +3 -0
  2474. package/dist/elements/shoelace/assets/icons/cake2-fill.svg +4 -0
  2475. package/dist/elements/shoelace/assets/icons/cake2.svg +3 -0
  2476. package/dist/elements/shoelace/assets/icons/calculator-fill.svg +3 -0
  2477. package/dist/elements/shoelace/assets/icons/calculator.svg +4 -0
  2478. package/dist/elements/shoelace/assets/icons/calendar-check-fill.svg +3 -0
  2479. package/dist/elements/shoelace/assets/icons/calendar-check.svg +4 -0
  2480. package/dist/elements/shoelace/assets/icons/calendar-date-fill.svg +4 -0
  2481. package/dist/elements/shoelace/assets/icons/calendar-date.svg +4 -0
  2482. package/dist/elements/shoelace/assets/icons/calendar-day-fill.svg +3 -0
  2483. package/dist/elements/shoelace/assets/icons/calendar-day.svg +4 -0
  2484. package/dist/elements/shoelace/assets/icons/calendar-event-fill.svg +3 -0
  2485. package/dist/elements/shoelace/assets/icons/calendar-event.svg +4 -0
  2486. package/dist/elements/shoelace/assets/icons/calendar-fill.svg +3 -0
  2487. package/dist/elements/shoelace/assets/icons/calendar-heart-fill.svg +3 -0
  2488. package/dist/elements/shoelace/assets/icons/calendar-heart.svg +3 -0
  2489. package/dist/elements/shoelace/assets/icons/calendar-minus-fill.svg +3 -0
  2490. package/dist/elements/shoelace/assets/icons/calendar-minus.svg +4 -0
  2491. package/dist/elements/shoelace/assets/icons/calendar-month-fill.svg +4 -0
  2492. package/dist/elements/shoelace/assets/icons/calendar-month.svg +4 -0
  2493. package/dist/elements/shoelace/assets/icons/calendar-plus-fill.svg +3 -0
  2494. package/dist/elements/shoelace/assets/icons/calendar-plus.svg +4 -0
  2495. package/dist/elements/shoelace/assets/icons/calendar-range-fill.svg +3 -0
  2496. package/dist/elements/shoelace/assets/icons/calendar-range.svg +4 -0
  2497. package/dist/elements/shoelace/assets/icons/calendar-week-fill.svg +3 -0
  2498. package/dist/elements/shoelace/assets/icons/calendar-week.svg +4 -0
  2499. package/dist/elements/shoelace/assets/icons/calendar-x-fill.svg +3 -0
  2500. package/dist/elements/shoelace/assets/icons/calendar-x.svg +4 -0
  2501. package/dist/elements/shoelace/assets/icons/calendar.svg +3 -0
  2502. package/dist/elements/shoelace/assets/icons/calendar2-check-fill.svg +3 -0
  2503. package/dist/elements/shoelace/assets/icons/calendar2-check.svg +5 -0
  2504. package/dist/elements/shoelace/assets/icons/calendar2-date-fill.svg +4 -0
  2505. package/dist/elements/shoelace/assets/icons/calendar2-date.svg +5 -0
  2506. package/dist/elements/shoelace/assets/icons/calendar2-day-fill.svg +3 -0
  2507. package/dist/elements/shoelace/assets/icons/calendar2-day.svg +5 -0
  2508. package/dist/elements/shoelace/assets/icons/calendar2-event-fill.svg +3 -0
  2509. package/dist/elements/shoelace/assets/icons/calendar2-event.svg +5 -0
  2510. package/dist/elements/shoelace/assets/icons/calendar2-fill.svg +3 -0
  2511. package/dist/elements/shoelace/assets/icons/calendar2-heart-fill.svg +3 -0
  2512. package/dist/elements/shoelace/assets/icons/calendar2-heart.svg +3 -0
  2513. package/dist/elements/shoelace/assets/icons/calendar2-minus-fill.svg +3 -0
  2514. package/dist/elements/shoelace/assets/icons/calendar2-minus.svg +5 -0
  2515. package/dist/elements/shoelace/assets/icons/calendar2-month-fill.svg +4 -0
  2516. package/dist/elements/shoelace/assets/icons/calendar2-month.svg +5 -0
  2517. package/dist/elements/shoelace/assets/icons/calendar2-plus-fill.svg +3 -0
  2518. package/dist/elements/shoelace/assets/icons/calendar2-plus.svg +4 -0
  2519. package/dist/elements/shoelace/assets/icons/calendar2-range-fill.svg +3 -0
  2520. package/dist/elements/shoelace/assets/icons/calendar2-range.svg +4 -0
  2521. package/dist/elements/shoelace/assets/icons/calendar2-week-fill.svg +3 -0
  2522. package/dist/elements/shoelace/assets/icons/calendar2-week.svg +4 -0
  2523. package/dist/elements/shoelace/assets/icons/calendar2-x-fill.svg +3 -0
  2524. package/dist/elements/shoelace/assets/icons/calendar2-x.svg +5 -0
  2525. package/dist/elements/shoelace/assets/icons/calendar2.svg +4 -0
  2526. package/dist/elements/shoelace/assets/icons/calendar3-event-fill.svg +3 -0
  2527. package/dist/elements/shoelace/assets/icons/calendar3-event.svg +4 -0
  2528. package/dist/elements/shoelace/assets/icons/calendar3-fill.svg +3 -0
  2529. package/dist/elements/shoelace/assets/icons/calendar3-range-fill.svg +3 -0
  2530. package/dist/elements/shoelace/assets/icons/calendar3-range.svg +4 -0
  2531. package/dist/elements/shoelace/assets/icons/calendar3-week-fill.svg +3 -0
  2532. package/dist/elements/shoelace/assets/icons/calendar3-week.svg +4 -0
  2533. package/dist/elements/shoelace/assets/icons/calendar3.svg +4 -0
  2534. package/dist/elements/shoelace/assets/icons/calendar4-event.svg +4 -0
  2535. package/dist/elements/shoelace/assets/icons/calendar4-range.svg +4 -0
  2536. package/dist/elements/shoelace/assets/icons/calendar4-week.svg +4 -0
  2537. package/dist/elements/shoelace/assets/icons/calendar4.svg +3 -0
  2538. package/dist/elements/shoelace/assets/icons/camera-fill.svg +4 -0
  2539. package/dist/elements/shoelace/assets/icons/camera-reels-fill.svg +5 -0
  2540. package/dist/elements/shoelace/assets/icons/camera-reels.svg +5 -0
  2541. package/dist/elements/shoelace/assets/icons/camera-video-fill.svg +3 -0
  2542. package/dist/elements/shoelace/assets/icons/camera-video-off-fill.svg +3 -0
  2543. package/dist/elements/shoelace/assets/icons/camera-video-off.svg +3 -0
  2544. package/dist/elements/shoelace/assets/icons/camera-video.svg +3 -0
  2545. package/dist/elements/shoelace/assets/icons/camera.svg +4 -0
  2546. package/dist/elements/shoelace/assets/icons/camera2.svg +4 -0
  2547. package/dist/elements/shoelace/assets/icons/capslock-fill.svg +3 -0
  2548. package/dist/elements/shoelace/assets/icons/capslock.svg +3 -0
  2549. package/dist/elements/shoelace/assets/icons/capsule-pill.svg +3 -0
  2550. package/dist/elements/shoelace/assets/icons/capsule.svg +3 -0
  2551. package/dist/elements/shoelace/assets/icons/car-front-fill.svg +3 -0
  2552. package/dist/elements/shoelace/assets/icons/car-front.svg +4 -0
  2553. package/dist/elements/shoelace/assets/icons/card-checklist.svg +4 -0
  2554. package/dist/elements/shoelace/assets/icons/card-heading.svg +4 -0
  2555. package/dist/elements/shoelace/assets/icons/card-image.svg +4 -0
  2556. package/dist/elements/shoelace/assets/icons/card-list.svg +4 -0
  2557. package/dist/elements/shoelace/assets/icons/card-text.svg +4 -0
  2558. package/dist/elements/shoelace/assets/icons/caret-down-fill.svg +3 -0
  2559. package/dist/elements/shoelace/assets/icons/caret-down-square-fill.svg +3 -0
  2560. package/dist/elements/shoelace/assets/icons/caret-down-square.svg +4 -0
  2561. package/dist/elements/shoelace/assets/icons/caret-down.svg +3 -0
  2562. package/dist/elements/shoelace/assets/icons/caret-left-fill.svg +3 -0
  2563. package/dist/elements/shoelace/assets/icons/caret-left-square-fill.svg +3 -0
  2564. package/dist/elements/shoelace/assets/icons/caret-left-square.svg +4 -0
  2565. package/dist/elements/shoelace/assets/icons/caret-left.svg +3 -0
  2566. package/dist/elements/shoelace/assets/icons/caret-right-fill.svg +3 -0
  2567. package/dist/elements/shoelace/assets/icons/caret-right-square-fill.svg +3 -0
  2568. package/dist/elements/shoelace/assets/icons/caret-right-square.svg +4 -0
  2569. package/dist/elements/shoelace/assets/icons/caret-right.svg +3 -0
  2570. package/dist/elements/shoelace/assets/icons/caret-up-fill.svg +3 -0
  2571. package/dist/elements/shoelace/assets/icons/caret-up-square-fill.svg +3 -0
  2572. package/dist/elements/shoelace/assets/icons/caret-up-square.svg +4 -0
  2573. package/dist/elements/shoelace/assets/icons/caret-up.svg +3 -0
  2574. package/dist/elements/shoelace/assets/icons/cart-check-fill.svg +3 -0
  2575. package/dist/elements/shoelace/assets/icons/cart-check.svg +4 -0
  2576. package/dist/elements/shoelace/assets/icons/cart-dash-fill.svg +3 -0
  2577. package/dist/elements/shoelace/assets/icons/cart-dash.svg +4 -0
  2578. package/dist/elements/shoelace/assets/icons/cart-fill.svg +3 -0
  2579. package/dist/elements/shoelace/assets/icons/cart-plus-fill.svg +3 -0
  2580. package/dist/elements/shoelace/assets/icons/cart-plus.svg +4 -0
  2581. package/dist/elements/shoelace/assets/icons/cart-x-fill.svg +3 -0
  2582. package/dist/elements/shoelace/assets/icons/cart-x.svg +4 -0
  2583. package/dist/elements/shoelace/assets/icons/cart.svg +3 -0
  2584. package/dist/elements/shoelace/assets/icons/cart2.svg +3 -0
  2585. package/dist/elements/shoelace/assets/icons/cart3.svg +3 -0
  2586. package/dist/elements/shoelace/assets/icons/cart4.svg +3 -0
  2587. package/dist/elements/shoelace/assets/icons/cash-coin.svg +6 -0
  2588. package/dist/elements/shoelace/assets/icons/cash-stack.svg +4 -0
  2589. package/dist/elements/shoelace/assets/icons/cash.svg +4 -0
  2590. package/dist/elements/shoelace/assets/icons/cassette-fill.svg +4 -0
  2591. package/dist/elements/shoelace/assets/icons/cassette.svg +4 -0
  2592. package/dist/elements/shoelace/assets/icons/cast.svg +4 -0
  2593. package/dist/elements/shoelace/assets/icons/cc-circle-fill.svg +3 -0
  2594. package/dist/elements/shoelace/assets/icons/cc-circle.svg +3 -0
  2595. package/dist/elements/shoelace/assets/icons/cc-square-fill.svg +3 -0
  2596. package/dist/elements/shoelace/assets/icons/cc-square.svg +4 -0
  2597. package/dist/elements/shoelace/assets/icons/chat-dots-fill.svg +3 -0
  2598. package/dist/elements/shoelace/assets/icons/chat-dots.svg +4 -0
  2599. package/dist/elements/shoelace/assets/icons/chat-fill.svg +3 -0
  2600. package/dist/elements/shoelace/assets/icons/chat-heart-fill.svg +3 -0
  2601. package/dist/elements/shoelace/assets/icons/chat-heart.svg +3 -0
  2602. package/dist/elements/shoelace/assets/icons/chat-left-dots-fill.svg +3 -0
  2603. package/dist/elements/shoelace/assets/icons/chat-left-dots.svg +4 -0
  2604. package/dist/elements/shoelace/assets/icons/chat-left-fill.svg +3 -0
  2605. package/dist/elements/shoelace/assets/icons/chat-left-heart-fill.svg +3 -0
  2606. package/dist/elements/shoelace/assets/icons/chat-left-heart.svg +4 -0
  2607. package/dist/elements/shoelace/assets/icons/chat-left-quote-fill.svg +3 -0
  2608. package/dist/elements/shoelace/assets/icons/chat-left-quote.svg +4 -0
  2609. package/dist/elements/shoelace/assets/icons/chat-left-text-fill.svg +3 -0
  2610. package/dist/elements/shoelace/assets/icons/chat-left-text.svg +4 -0
  2611. package/dist/elements/shoelace/assets/icons/chat-left.svg +3 -0
  2612. package/dist/elements/shoelace/assets/icons/chat-quote-fill.svg +3 -0
  2613. package/dist/elements/shoelace/assets/icons/chat-quote.svg +4 -0
  2614. package/dist/elements/shoelace/assets/icons/chat-right-dots-fill.svg +3 -0
  2615. package/dist/elements/shoelace/assets/icons/chat-right-dots.svg +4 -0
  2616. package/dist/elements/shoelace/assets/icons/chat-right-fill.svg +3 -0
  2617. package/dist/elements/shoelace/assets/icons/chat-right-heart-fill.svg +3 -0
  2618. package/dist/elements/shoelace/assets/icons/chat-right-heart.svg +4 -0
  2619. package/dist/elements/shoelace/assets/icons/chat-right-quote-fill.svg +3 -0
  2620. package/dist/elements/shoelace/assets/icons/chat-right-quote.svg +4 -0
  2621. package/dist/elements/shoelace/assets/icons/chat-right-text-fill.svg +3 -0
  2622. package/dist/elements/shoelace/assets/icons/chat-right-text.svg +4 -0
  2623. package/dist/elements/shoelace/assets/icons/chat-right.svg +3 -0
  2624. package/dist/elements/shoelace/assets/icons/chat-square-dots-fill.svg +3 -0
  2625. package/dist/elements/shoelace/assets/icons/chat-square-dots.svg +4 -0
  2626. package/dist/elements/shoelace/assets/icons/chat-square-fill.svg +3 -0
  2627. package/dist/elements/shoelace/assets/icons/chat-square-heart-fill.svg +3 -0
  2628. package/dist/elements/shoelace/assets/icons/chat-square-heart.svg +4 -0
  2629. package/dist/elements/shoelace/assets/icons/chat-square-quote-fill.svg +3 -0
  2630. package/dist/elements/shoelace/assets/icons/chat-square-quote.svg +4 -0
  2631. package/dist/elements/shoelace/assets/icons/chat-square-text-fill.svg +3 -0
  2632. package/dist/elements/shoelace/assets/icons/chat-square-text.svg +4 -0
  2633. package/dist/elements/shoelace/assets/icons/chat-square.svg +3 -0
  2634. package/dist/elements/shoelace/assets/icons/chat-text-fill.svg +3 -0
  2635. package/dist/elements/shoelace/assets/icons/chat-text.svg +4 -0
  2636. package/dist/elements/shoelace/assets/icons/chat.svg +3 -0
  2637. package/dist/elements/shoelace/assets/icons/check-all.svg +3 -0
  2638. package/dist/elements/shoelace/assets/icons/check-circle-fill.svg +3 -0
  2639. package/dist/elements/shoelace/assets/icons/check-circle.svg +4 -0
  2640. package/dist/elements/shoelace/assets/icons/check-lg.svg +3 -0
  2641. package/dist/elements/shoelace/assets/icons/check-square-fill.svg +3 -0
  2642. package/dist/elements/shoelace/assets/icons/check-square.svg +4 -0
  2643. package/dist/elements/shoelace/assets/icons/check.svg +3 -0
  2644. package/dist/elements/shoelace/assets/icons/check2-all.svg +4 -0
  2645. package/dist/elements/shoelace/assets/icons/check2-circle.svg +4 -0
  2646. package/dist/elements/shoelace/assets/icons/check2-square.svg +4 -0
  2647. package/dist/elements/shoelace/assets/icons/check2.svg +3 -0
  2648. package/dist/elements/shoelace/assets/icons/chevron-bar-contract.svg +3 -0
  2649. package/dist/elements/shoelace/assets/icons/chevron-bar-down.svg +3 -0
  2650. package/dist/elements/shoelace/assets/icons/chevron-bar-expand.svg +3 -0
  2651. package/dist/elements/shoelace/assets/icons/chevron-bar-left.svg +3 -0
  2652. package/dist/elements/shoelace/assets/icons/chevron-bar-right.svg +3 -0
  2653. package/dist/elements/shoelace/assets/icons/chevron-bar-up.svg +3 -0
  2654. package/dist/elements/shoelace/assets/icons/chevron-compact-down.svg +3 -0
  2655. package/dist/elements/shoelace/assets/icons/chevron-compact-left.svg +3 -0
  2656. package/dist/elements/shoelace/assets/icons/chevron-compact-right.svg +3 -0
  2657. package/dist/elements/shoelace/assets/icons/chevron-compact-up.svg +3 -0
  2658. package/dist/elements/shoelace/assets/icons/chevron-contract.svg +3 -0
  2659. package/dist/elements/shoelace/assets/icons/chevron-double-down.svg +4 -0
  2660. package/dist/elements/shoelace/assets/icons/chevron-double-left.svg +4 -0
  2661. package/dist/elements/shoelace/assets/icons/chevron-double-right.svg +4 -0
  2662. package/dist/elements/shoelace/assets/icons/chevron-double-up.svg +4 -0
  2663. package/dist/elements/shoelace/assets/icons/chevron-down.svg +3 -0
  2664. package/dist/elements/shoelace/assets/icons/chevron-expand.svg +3 -0
  2665. package/dist/elements/shoelace/assets/icons/chevron-left.svg +3 -0
  2666. package/dist/elements/shoelace/assets/icons/chevron-right.svg +3 -0
  2667. package/dist/elements/shoelace/assets/icons/chevron-up.svg +3 -0
  2668. package/dist/elements/shoelace/assets/icons/circle-fill.svg +3 -0
  2669. package/dist/elements/shoelace/assets/icons/circle-half.svg +3 -0
  2670. package/dist/elements/shoelace/assets/icons/circle-square.svg +4 -0
  2671. package/dist/elements/shoelace/assets/icons/circle.svg +3 -0
  2672. package/dist/elements/shoelace/assets/icons/clipboard-check-fill.svg +4 -0
  2673. package/dist/elements/shoelace/assets/icons/clipboard-check.svg +5 -0
  2674. package/dist/elements/shoelace/assets/icons/clipboard-data-fill.svg +4 -0
  2675. package/dist/elements/shoelace/assets/icons/clipboard-data.svg +5 -0
  2676. package/dist/elements/shoelace/assets/icons/clipboard-fill.svg +3 -0
  2677. package/dist/elements/shoelace/assets/icons/clipboard-heart-fill.svg +4 -0
  2678. package/dist/elements/shoelace/assets/icons/clipboard-heart.svg +5 -0
  2679. package/dist/elements/shoelace/assets/icons/clipboard-minus-fill.svg +4 -0
  2680. package/dist/elements/shoelace/assets/icons/clipboard-minus.svg +5 -0
  2681. package/dist/elements/shoelace/assets/icons/clipboard-plus-fill.svg +4 -0
  2682. package/dist/elements/shoelace/assets/icons/clipboard-plus.svg +5 -0
  2683. package/dist/elements/shoelace/assets/icons/clipboard-pulse.svg +3 -0
  2684. package/dist/elements/shoelace/assets/icons/clipboard-x-fill.svg +4 -0
  2685. package/dist/elements/shoelace/assets/icons/clipboard-x.svg +5 -0
  2686. package/dist/elements/shoelace/assets/icons/clipboard.svg +4 -0
  2687. package/dist/elements/shoelace/assets/icons/clipboard2-check-fill.svg +4 -0
  2688. package/dist/elements/shoelace/assets/icons/clipboard2-check.svg +5 -0
  2689. package/dist/elements/shoelace/assets/icons/clipboard2-data-fill.svg +4 -0
  2690. package/dist/elements/shoelace/assets/icons/clipboard2-data.svg +5 -0
  2691. package/dist/elements/shoelace/assets/icons/clipboard2-fill.svg +4 -0
  2692. package/dist/elements/shoelace/assets/icons/clipboard2-heart-fill.svg +4 -0
  2693. package/dist/elements/shoelace/assets/icons/clipboard2-heart.svg +5 -0
  2694. package/dist/elements/shoelace/assets/icons/clipboard2-minus-fill.svg +4 -0
  2695. package/dist/elements/shoelace/assets/icons/clipboard2-minus.svg +5 -0
  2696. package/dist/elements/shoelace/assets/icons/clipboard2-plus-fill.svg +4 -0
  2697. package/dist/elements/shoelace/assets/icons/clipboard2-plus.svg +5 -0
  2698. package/dist/elements/shoelace/assets/icons/clipboard2-pulse-fill.svg +4 -0
  2699. package/dist/elements/shoelace/assets/icons/clipboard2-pulse.svg +5 -0
  2700. package/dist/elements/shoelace/assets/icons/clipboard2-x-fill.svg +4 -0
  2701. package/dist/elements/shoelace/assets/icons/clipboard2-x.svg +5 -0
  2702. package/dist/elements/shoelace/assets/icons/clipboard2.svg +4 -0
  2703. package/dist/elements/shoelace/assets/icons/clock-fill.svg +3 -0
  2704. package/dist/elements/shoelace/assets/icons/clock-history.svg +5 -0
  2705. package/dist/elements/shoelace/assets/icons/clock.svg +4 -0
  2706. package/dist/elements/shoelace/assets/icons/cloud-arrow-down-fill.svg +3 -0
  2707. package/dist/elements/shoelace/assets/icons/cloud-arrow-down.svg +4 -0
  2708. package/dist/elements/shoelace/assets/icons/cloud-arrow-up-fill.svg +3 -0
  2709. package/dist/elements/shoelace/assets/icons/cloud-arrow-up.svg +4 -0
  2710. package/dist/elements/shoelace/assets/icons/cloud-check-fill.svg +3 -0
  2711. package/dist/elements/shoelace/assets/icons/cloud-check.svg +4 -0
  2712. package/dist/elements/shoelace/assets/icons/cloud-download-fill.svg +3 -0
  2713. package/dist/elements/shoelace/assets/icons/cloud-download.svg +4 -0
  2714. package/dist/elements/shoelace/assets/icons/cloud-drizzle-fill.svg +3 -0
  2715. package/dist/elements/shoelace/assets/icons/cloud-drizzle.svg +3 -0
  2716. package/dist/elements/shoelace/assets/icons/cloud-fill.svg +3 -0
  2717. package/dist/elements/shoelace/assets/icons/cloud-fog-fill.svg +3 -0
  2718. package/dist/elements/shoelace/assets/icons/cloud-fog.svg +3 -0
  2719. package/dist/elements/shoelace/assets/icons/cloud-fog2-fill.svg +3 -0
  2720. package/dist/elements/shoelace/assets/icons/cloud-fog2.svg +3 -0
  2721. package/dist/elements/shoelace/assets/icons/cloud-hail-fill.svg +3 -0
  2722. package/dist/elements/shoelace/assets/icons/cloud-hail.svg +3 -0
  2723. package/dist/elements/shoelace/assets/icons/cloud-haze-fill.svg +3 -0
  2724. package/dist/elements/shoelace/assets/icons/cloud-haze.svg +3 -0
  2725. package/dist/elements/shoelace/assets/icons/cloud-haze2-fill.svg +3 -0
  2726. package/dist/elements/shoelace/assets/icons/cloud-haze2.svg +3 -0
  2727. package/dist/elements/shoelace/assets/icons/cloud-lightning-fill.svg +3 -0
  2728. package/dist/elements/shoelace/assets/icons/cloud-lightning-rain-fill.svg +3 -0
  2729. package/dist/elements/shoelace/assets/icons/cloud-lightning-rain.svg +3 -0
  2730. package/dist/elements/shoelace/assets/icons/cloud-lightning.svg +3 -0
  2731. package/dist/elements/shoelace/assets/icons/cloud-minus-fill.svg +3 -0
  2732. package/dist/elements/shoelace/assets/icons/cloud-minus.svg +4 -0
  2733. package/dist/elements/shoelace/assets/icons/cloud-moon-fill.svg +4 -0
  2734. package/dist/elements/shoelace/assets/icons/cloud-moon.svg +4 -0
  2735. package/dist/elements/shoelace/assets/icons/cloud-plus-fill.svg +3 -0
  2736. package/dist/elements/shoelace/assets/icons/cloud-plus.svg +4 -0
  2737. package/dist/elements/shoelace/assets/icons/cloud-rain-fill.svg +3 -0
  2738. package/dist/elements/shoelace/assets/icons/cloud-rain-heavy-fill.svg +3 -0
  2739. package/dist/elements/shoelace/assets/icons/cloud-rain-heavy.svg +3 -0
  2740. package/dist/elements/shoelace/assets/icons/cloud-rain.svg +3 -0
  2741. package/dist/elements/shoelace/assets/icons/cloud-slash-fill.svg +3 -0
  2742. package/dist/elements/shoelace/assets/icons/cloud-slash.svg +4 -0
  2743. package/dist/elements/shoelace/assets/icons/cloud-sleet-fill.svg +3 -0
  2744. package/dist/elements/shoelace/assets/icons/cloud-sleet.svg +3 -0
  2745. package/dist/elements/shoelace/assets/icons/cloud-snow-fill.svg +3 -0
  2746. package/dist/elements/shoelace/assets/icons/cloud-snow.svg +3 -0
  2747. package/dist/elements/shoelace/assets/icons/cloud-sun-fill.svg +4 -0
  2748. package/dist/elements/shoelace/assets/icons/cloud-sun.svg +4 -0
  2749. package/dist/elements/shoelace/assets/icons/cloud-upload-fill.svg +3 -0
  2750. package/dist/elements/shoelace/assets/icons/cloud-upload.svg +4 -0
  2751. package/dist/elements/shoelace/assets/icons/cloud.svg +3 -0
  2752. package/dist/elements/shoelace/assets/icons/clouds-fill.svg +4 -0
  2753. package/dist/elements/shoelace/assets/icons/clouds.svg +4 -0
  2754. package/dist/elements/shoelace/assets/icons/cloudy-fill.svg +3 -0
  2755. package/dist/elements/shoelace/assets/icons/cloudy.svg +3 -0
  2756. package/dist/elements/shoelace/assets/icons/code-slash.svg +3 -0
  2757. package/dist/elements/shoelace/assets/icons/code-square.svg +4 -0
  2758. package/dist/elements/shoelace/assets/icons/code.svg +3 -0
  2759. package/dist/elements/shoelace/assets/icons/coin.svg +5 -0
  2760. package/dist/elements/shoelace/assets/icons/collection-fill.svg +3 -0
  2761. package/dist/elements/shoelace/assets/icons/collection-play-fill.svg +3 -0
  2762. package/dist/elements/shoelace/assets/icons/collection-play.svg +4 -0
  2763. package/dist/elements/shoelace/assets/icons/collection.svg +3 -0
  2764. package/dist/elements/shoelace/assets/icons/columns-gap.svg +3 -0
  2765. package/dist/elements/shoelace/assets/icons/columns.svg +3 -0
  2766. package/dist/elements/shoelace/assets/icons/command.svg +3 -0
  2767. package/dist/elements/shoelace/assets/icons/compass-fill.svg +3 -0
  2768. package/dist/elements/shoelace/assets/icons/compass.svg +4 -0
  2769. package/dist/elements/shoelace/assets/icons/cone-striped.svg +3 -0
  2770. package/dist/elements/shoelace/assets/icons/cone.svg +3 -0
  2771. package/dist/elements/shoelace/assets/icons/controller.svg +4 -0
  2772. package/dist/elements/shoelace/assets/icons/cookie.svg +4 -0
  2773. package/dist/elements/shoelace/assets/icons/copy.svg +3 -0
  2774. package/dist/elements/shoelace/assets/icons/cpu-fill.svg +4 -0
  2775. package/dist/elements/shoelace/assets/icons/cpu.svg +3 -0
  2776. package/dist/elements/shoelace/assets/icons/credit-card-2-back-fill.svg +3 -0
  2777. package/dist/elements/shoelace/assets/icons/credit-card-2-back.svg +4 -0
  2778. package/dist/elements/shoelace/assets/icons/credit-card-2-front-fill.svg +3 -0
  2779. package/dist/elements/shoelace/assets/icons/credit-card-2-front.svg +4 -0
  2780. package/dist/elements/shoelace/assets/icons/credit-card-fill.svg +3 -0
  2781. package/dist/elements/shoelace/assets/icons/credit-card.svg +4 -0
  2782. package/dist/elements/shoelace/assets/icons/crop.svg +3 -0
  2783. package/dist/elements/shoelace/assets/icons/crosshair.svg +3 -0
  2784. package/dist/elements/shoelace/assets/icons/crosshair2.svg +3 -0
  2785. package/dist/elements/shoelace/assets/icons/cup-fill.svg +3 -0
  2786. package/dist/elements/shoelace/assets/icons/cup-hot-fill.svg +4 -0
  2787. package/dist/elements/shoelace/assets/icons/cup-hot.svg +4 -0
  2788. package/dist/elements/shoelace/assets/icons/cup-straw.svg +3 -0
  2789. package/dist/elements/shoelace/assets/icons/cup.svg +3 -0
  2790. package/dist/elements/shoelace/assets/icons/currency-bitcoin.svg +3 -0
  2791. package/dist/elements/shoelace/assets/icons/currency-dollar.svg +3 -0
  2792. package/dist/elements/shoelace/assets/icons/currency-euro.svg +3 -0
  2793. package/dist/elements/shoelace/assets/icons/currency-exchange.svg +3 -0
  2794. package/dist/elements/shoelace/assets/icons/currency-pound.svg +3 -0
  2795. package/dist/elements/shoelace/assets/icons/currency-rupee.svg +3 -0
  2796. package/dist/elements/shoelace/assets/icons/currency-yen.svg +3 -0
  2797. package/dist/elements/shoelace/assets/icons/cursor-fill.svg +3 -0
  2798. package/dist/elements/shoelace/assets/icons/cursor-text.svg +3 -0
  2799. package/dist/elements/shoelace/assets/icons/cursor.svg +3 -0
  2800. package/dist/elements/shoelace/assets/icons/dash-circle-dotted.svg +3 -0
  2801. package/dist/elements/shoelace/assets/icons/dash-circle-fill.svg +3 -0
  2802. package/dist/elements/shoelace/assets/icons/dash-circle.svg +4 -0
  2803. package/dist/elements/shoelace/assets/icons/dash-lg.svg +3 -0
  2804. package/dist/elements/shoelace/assets/icons/dash-square-dotted.svg +3 -0
  2805. package/dist/elements/shoelace/assets/icons/dash-square-fill.svg +3 -0
  2806. package/dist/elements/shoelace/assets/icons/dash-square.svg +4 -0
  2807. package/dist/elements/shoelace/assets/icons/dash.svg +3 -0
  2808. package/dist/elements/shoelace/assets/icons/database-add.svg +4 -0
  2809. package/dist/elements/shoelace/assets/icons/database-check.svg +4 -0
  2810. package/dist/elements/shoelace/assets/icons/database-dash.svg +4 -0
  2811. package/dist/elements/shoelace/assets/icons/database-down.svg +4 -0
  2812. package/dist/elements/shoelace/assets/icons/database-exclamation.svg +4 -0
  2813. package/dist/elements/shoelace/assets/icons/database-fill-add.svg +4 -0
  2814. package/dist/elements/shoelace/assets/icons/database-fill-check.svg +4 -0
  2815. package/dist/elements/shoelace/assets/icons/database-fill-dash.svg +4 -0
  2816. package/dist/elements/shoelace/assets/icons/database-fill-down.svg +4 -0
  2817. package/dist/elements/shoelace/assets/icons/database-fill-exclamation.svg +5 -0
  2818. package/dist/elements/shoelace/assets/icons/database-fill-gear.svg +4 -0
  2819. package/dist/elements/shoelace/assets/icons/database-fill-lock.svg +5 -0
  2820. package/dist/elements/shoelace/assets/icons/database-fill-slash.svg +4 -0
  2821. package/dist/elements/shoelace/assets/icons/database-fill-up.svg +4 -0
  2822. package/dist/elements/shoelace/assets/icons/database-fill-x.svg +5 -0
  2823. package/dist/elements/shoelace/assets/icons/database-fill.svg +6 -0
  2824. package/dist/elements/shoelace/assets/icons/database-gear.svg +4 -0
  2825. package/dist/elements/shoelace/assets/icons/database-lock.svg +4 -0
  2826. package/dist/elements/shoelace/assets/icons/database-slash.svg +4 -0
  2827. package/dist/elements/shoelace/assets/icons/database-up.svg +4 -0
  2828. package/dist/elements/shoelace/assets/icons/database-x.svg +4 -0
  2829. package/dist/elements/shoelace/assets/icons/database.svg +3 -0
  2830. package/dist/elements/shoelace/assets/icons/device-hdd-fill.svg +4 -0
  2831. package/dist/elements/shoelace/assets/icons/device-hdd.svg +5 -0
  2832. package/dist/elements/shoelace/assets/icons/device-ssd-fill.svg +4 -0
  2833. package/dist/elements/shoelace/assets/icons/device-ssd.svg +4 -0
  2834. package/dist/elements/shoelace/assets/icons/diagram-2-fill.svg +3 -0
  2835. package/dist/elements/shoelace/assets/icons/diagram-2.svg +3 -0
  2836. package/dist/elements/shoelace/assets/icons/diagram-3-fill.svg +3 -0
  2837. package/dist/elements/shoelace/assets/icons/diagram-3.svg +3 -0
  2838. package/dist/elements/shoelace/assets/icons/diamond-fill.svg +3 -0
  2839. package/dist/elements/shoelace/assets/icons/diamond-half.svg +3 -0
  2840. package/dist/elements/shoelace/assets/icons/diamond.svg +3 -0
  2841. package/dist/elements/shoelace/assets/icons/dice-1-fill.svg +3 -0
  2842. package/dist/elements/shoelace/assets/icons/dice-1.svg +4 -0
  2843. package/dist/elements/shoelace/assets/icons/dice-2-fill.svg +3 -0
  2844. package/dist/elements/shoelace/assets/icons/dice-2.svg +4 -0
  2845. package/dist/elements/shoelace/assets/icons/dice-3-fill.svg +3 -0
  2846. package/dist/elements/shoelace/assets/icons/dice-3.svg +4 -0
  2847. package/dist/elements/shoelace/assets/icons/dice-4-fill.svg +3 -0
  2848. package/dist/elements/shoelace/assets/icons/dice-4.svg +4 -0
  2849. package/dist/elements/shoelace/assets/icons/dice-5-fill.svg +3 -0
  2850. package/dist/elements/shoelace/assets/icons/dice-5.svg +4 -0
  2851. package/dist/elements/shoelace/assets/icons/dice-6-fill.svg +3 -0
  2852. package/dist/elements/shoelace/assets/icons/dice-6.svg +4 -0
  2853. package/dist/elements/shoelace/assets/icons/disc-fill.svg +3 -0
  2854. package/dist/elements/shoelace/assets/icons/disc.svg +4 -0
  2855. package/dist/elements/shoelace/assets/icons/discord.svg +3 -0
  2856. package/dist/elements/shoelace/assets/icons/display-fill.svg +3 -0
  2857. package/dist/elements/shoelace/assets/icons/display.svg +3 -0
  2858. package/dist/elements/shoelace/assets/icons/displayport-fill.svg +3 -0
  2859. package/dist/elements/shoelace/assets/icons/displayport.svg +4 -0
  2860. package/dist/elements/shoelace/assets/icons/distribute-horizontal.svg +4 -0
  2861. package/dist/elements/shoelace/assets/icons/distribute-vertical.svg +4 -0
  2862. package/dist/elements/shoelace/assets/icons/door-closed-fill.svg +3 -0
  2863. package/dist/elements/shoelace/assets/icons/door-closed.svg +4 -0
  2864. package/dist/elements/shoelace/assets/icons/door-open-fill.svg +3 -0
  2865. package/dist/elements/shoelace/assets/icons/door-open.svg +4 -0
  2866. package/dist/elements/shoelace/assets/icons/dot.svg +3 -0
  2867. package/dist/elements/shoelace/assets/icons/download.svg +4 -0
  2868. package/dist/elements/shoelace/assets/icons/dpad-fill.svg +3 -0
  2869. package/dist/elements/shoelace/assets/icons/dpad.svg +4 -0
  2870. package/dist/elements/shoelace/assets/icons/dribbble.svg +3 -0
  2871. package/dist/elements/shoelace/assets/icons/dropbox.svg +3 -0
  2872. package/dist/elements/shoelace/assets/icons/droplet-fill.svg +3 -0
  2873. package/dist/elements/shoelace/assets/icons/droplet-half.svg +4 -0
  2874. package/dist/elements/shoelace/assets/icons/droplet.svg +4 -0
  2875. package/dist/elements/shoelace/assets/icons/duffle-fill.svg +3 -0
  2876. package/dist/elements/shoelace/assets/icons/duffle.svg +4 -0
  2877. package/dist/elements/shoelace/assets/icons/ear-fill.svg +3 -0
  2878. package/dist/elements/shoelace/assets/icons/ear.svg +3 -0
  2879. package/dist/elements/shoelace/assets/icons/earbuds.svg +3 -0
  2880. package/dist/elements/shoelace/assets/icons/easel-fill.svg +3 -0
  2881. package/dist/elements/shoelace/assets/icons/easel.svg +3 -0
  2882. package/dist/elements/shoelace/assets/icons/easel2-fill.svg +4 -0
  2883. package/dist/elements/shoelace/assets/icons/easel2.svg +3 -0
  2884. package/dist/elements/shoelace/assets/icons/easel3-fill.svg +3 -0
  2885. package/dist/elements/shoelace/assets/icons/easel3.svg +3 -0
  2886. package/dist/elements/shoelace/assets/icons/egg-fill.svg +3 -0
  2887. package/dist/elements/shoelace/assets/icons/egg-fried.svg +4 -0
  2888. package/dist/elements/shoelace/assets/icons/egg.svg +3 -0
  2889. package/dist/elements/shoelace/assets/icons/eject-fill.svg +3 -0
  2890. package/dist/elements/shoelace/assets/icons/eject.svg +3 -0
  2891. package/dist/elements/shoelace/assets/icons/emoji-angry-fill.svg +3 -0
  2892. package/dist/elements/shoelace/assets/icons/emoji-angry.svg +4 -0
  2893. package/dist/elements/shoelace/assets/icons/emoji-astonished-fill.svg +3 -0
  2894. package/dist/elements/shoelace/assets/icons/emoji-astonished.svg +4 -0
  2895. package/dist/elements/shoelace/assets/icons/emoji-dizzy-fill.svg +3 -0
  2896. package/dist/elements/shoelace/assets/icons/emoji-dizzy.svg +4 -0
  2897. package/dist/elements/shoelace/assets/icons/emoji-expressionless-fill.svg +3 -0
  2898. package/dist/elements/shoelace/assets/icons/emoji-expressionless.svg +4 -0
  2899. package/dist/elements/shoelace/assets/icons/emoji-frown-fill.svg +3 -0
  2900. package/dist/elements/shoelace/assets/icons/emoji-frown.svg +4 -0
  2901. package/dist/elements/shoelace/assets/icons/emoji-grimace-fill.svg +3 -0
  2902. package/dist/elements/shoelace/assets/icons/emoji-grimace.svg +4 -0
  2903. package/dist/elements/shoelace/assets/icons/emoji-grin-fill.svg +3 -0
  2904. package/dist/elements/shoelace/assets/icons/emoji-grin.svg +4 -0
  2905. package/dist/elements/shoelace/assets/icons/emoji-heart-eyes-fill.svg +3 -0
  2906. package/dist/elements/shoelace/assets/icons/emoji-heart-eyes.svg +4 -0
  2907. package/dist/elements/shoelace/assets/icons/emoji-kiss-fill.svg +3 -0
  2908. package/dist/elements/shoelace/assets/icons/emoji-kiss.svg +3 -0
  2909. package/dist/elements/shoelace/assets/icons/emoji-laughing-fill.svg +3 -0
  2910. package/dist/elements/shoelace/assets/icons/emoji-laughing.svg +4 -0
  2911. package/dist/elements/shoelace/assets/icons/emoji-neutral-fill.svg +3 -0
  2912. package/dist/elements/shoelace/assets/icons/emoji-neutral.svg +4 -0
  2913. package/dist/elements/shoelace/assets/icons/emoji-smile-fill.svg +3 -0
  2914. package/dist/elements/shoelace/assets/icons/emoji-smile-upside-down-fill.svg +3 -0
  2915. package/dist/elements/shoelace/assets/icons/emoji-smile-upside-down.svg +4 -0
  2916. package/dist/elements/shoelace/assets/icons/emoji-smile.svg +4 -0
  2917. package/dist/elements/shoelace/assets/icons/emoji-sunglasses-fill.svg +3 -0
  2918. package/dist/elements/shoelace/assets/icons/emoji-sunglasses.svg +4 -0
  2919. package/dist/elements/shoelace/assets/icons/emoji-surprise-fill.svg +3 -0
  2920. package/dist/elements/shoelace/assets/icons/emoji-surprise.svg +4 -0
  2921. package/dist/elements/shoelace/assets/icons/emoji-tear-fill.svg +3 -0
  2922. package/dist/elements/shoelace/assets/icons/emoji-tear.svg +4 -0
  2923. package/dist/elements/shoelace/assets/icons/emoji-wink-fill.svg +3 -0
  2924. package/dist/elements/shoelace/assets/icons/emoji-wink.svg +4 -0
  2925. package/dist/elements/shoelace/assets/icons/envelope-arrow-down-fill.svg +4 -0
  2926. package/dist/elements/shoelace/assets/icons/envelope-arrow-down.svg +4 -0
  2927. package/dist/elements/shoelace/assets/icons/envelope-arrow-up-fill.svg +4 -0
  2928. package/dist/elements/shoelace/assets/icons/envelope-arrow-up.svg +4 -0
  2929. package/dist/elements/shoelace/assets/icons/envelope-at-fill.svg +4 -0
  2930. package/dist/elements/shoelace/assets/icons/envelope-at.svg +4 -0
  2931. package/dist/elements/shoelace/assets/icons/envelope-check-fill.svg +4 -0
  2932. package/dist/elements/shoelace/assets/icons/envelope-check.svg +4 -0
  2933. package/dist/elements/shoelace/assets/icons/envelope-dash-fill.svg +4 -0
  2934. package/dist/elements/shoelace/assets/icons/envelope-dash.svg +4 -0
  2935. package/dist/elements/shoelace/assets/icons/envelope-exclamation-fill.svg +4 -0
  2936. package/dist/elements/shoelace/assets/icons/envelope-exclamation.svg +4 -0
  2937. package/dist/elements/shoelace/assets/icons/envelope-fill.svg +3 -0
  2938. package/dist/elements/shoelace/assets/icons/envelope-heart-fill.svg +4 -0
  2939. package/dist/elements/shoelace/assets/icons/envelope-heart.svg +3 -0
  2940. package/dist/elements/shoelace/assets/icons/envelope-open-fill.svg +3 -0
  2941. package/dist/elements/shoelace/assets/icons/envelope-open-heart-fill.svg +4 -0
  2942. package/dist/elements/shoelace/assets/icons/envelope-open-heart.svg +3 -0
  2943. package/dist/elements/shoelace/assets/icons/envelope-open.svg +3 -0
  2944. package/dist/elements/shoelace/assets/icons/envelope-paper-fill.svg +3 -0
  2945. package/dist/elements/shoelace/assets/icons/envelope-paper-heart-fill.svg +3 -0
  2946. package/dist/elements/shoelace/assets/icons/envelope-paper-heart.svg +3 -0
  2947. package/dist/elements/shoelace/assets/icons/envelope-paper.svg +3 -0
  2948. package/dist/elements/shoelace/assets/icons/envelope-plus-fill.svg +4 -0
  2949. package/dist/elements/shoelace/assets/icons/envelope-plus.svg +4 -0
  2950. package/dist/elements/shoelace/assets/icons/envelope-slash-fill.svg +4 -0
  2951. package/dist/elements/shoelace/assets/icons/envelope-slash.svg +4 -0
  2952. package/dist/elements/shoelace/assets/icons/envelope-x-fill.svg +4 -0
  2953. package/dist/elements/shoelace/assets/icons/envelope-x.svg +4 -0
  2954. package/dist/elements/shoelace/assets/icons/envelope.svg +3 -0
  2955. package/dist/elements/shoelace/assets/icons/eraser-fill.svg +3 -0
  2956. package/dist/elements/shoelace/assets/icons/eraser.svg +3 -0
  2957. package/dist/elements/shoelace/assets/icons/escape.svg +4 -0
  2958. package/dist/elements/shoelace/assets/icons/ethernet.svg +4 -0
  2959. package/dist/elements/shoelace/assets/icons/ev-front-fill.svg +3 -0
  2960. package/dist/elements/shoelace/assets/icons/ev-front.svg +4 -0
  2961. package/dist/elements/shoelace/assets/icons/ev-station-fill.svg +3 -0
  2962. package/dist/elements/shoelace/assets/icons/ev-station.svg +4 -0
  2963. package/dist/elements/shoelace/assets/icons/exclamation-circle-fill.svg +3 -0
  2964. package/dist/elements/shoelace/assets/icons/exclamation-circle.svg +4 -0
  2965. package/dist/elements/shoelace/assets/icons/exclamation-diamond-fill.svg +3 -0
  2966. package/dist/elements/shoelace/assets/icons/exclamation-diamond.svg +4 -0
  2967. package/dist/elements/shoelace/assets/icons/exclamation-lg.svg +3 -0
  2968. package/dist/elements/shoelace/assets/icons/exclamation-octagon-fill.svg +3 -0
  2969. package/dist/elements/shoelace/assets/icons/exclamation-octagon.svg +4 -0
  2970. package/dist/elements/shoelace/assets/icons/exclamation-square-fill.svg +3 -0
  2971. package/dist/elements/shoelace/assets/icons/exclamation-square.svg +4 -0
  2972. package/dist/elements/shoelace/assets/icons/exclamation-triangle-fill.svg +3 -0
  2973. package/dist/elements/shoelace/assets/icons/exclamation-triangle.svg +4 -0
  2974. package/dist/elements/shoelace/assets/icons/exclamation.svg +3 -0
  2975. package/dist/elements/shoelace/assets/icons/exclude.svg +3 -0
  2976. package/dist/elements/shoelace/assets/icons/explicit-fill.svg +3 -0
  2977. package/dist/elements/shoelace/assets/icons/explicit.svg +4 -0
  2978. package/dist/elements/shoelace/assets/icons/exposure.svg +4 -0
  2979. package/dist/elements/shoelace/assets/icons/eye-fill.svg +4 -0
  2980. package/dist/elements/shoelace/assets/icons/eye-slash-fill.svg +4 -0
  2981. package/dist/elements/shoelace/assets/icons/eye-slash.svg +5 -0
  2982. package/dist/elements/shoelace/assets/icons/eye.svg +4 -0
  2983. package/dist/elements/shoelace/assets/icons/eyedropper.svg +3 -0
  2984. package/dist/elements/shoelace/assets/icons/eyeglasses.svg +3 -0
  2985. package/dist/elements/shoelace/assets/icons/facebook.svg +3 -0
  2986. package/dist/elements/shoelace/assets/icons/fan.svg +4 -0
  2987. package/dist/elements/shoelace/assets/icons/fast-forward-btn-fill.svg +3 -0
  2988. package/dist/elements/shoelace/assets/icons/fast-forward-btn.svg +4 -0
  2989. package/dist/elements/shoelace/assets/icons/fast-forward-circle-fill.svg +3 -0
  2990. package/dist/elements/shoelace/assets/icons/fast-forward-circle.svg +4 -0
  2991. package/dist/elements/shoelace/assets/icons/fast-forward-fill.svg +4 -0
  2992. package/dist/elements/shoelace/assets/icons/fast-forward.svg +4 -0
  2993. package/dist/elements/shoelace/assets/icons/feather.svg +3 -0
  2994. package/dist/elements/shoelace/assets/icons/feather2.svg +3 -0
  2995. package/dist/elements/shoelace/assets/icons/file-arrow-down-fill.svg +3 -0
  2996. package/dist/elements/shoelace/assets/icons/file-arrow-down.svg +4 -0
  2997. package/dist/elements/shoelace/assets/icons/file-arrow-up-fill.svg +3 -0
  2998. package/dist/elements/shoelace/assets/icons/file-arrow-up.svg +4 -0
  2999. package/dist/elements/shoelace/assets/icons/file-bar-graph-fill.svg +3 -0
  3000. package/dist/elements/shoelace/assets/icons/file-bar-graph.svg +4 -0
  3001. package/dist/elements/shoelace/assets/icons/file-binary-fill.svg +4 -0
  3002. package/dist/elements/shoelace/assets/icons/file-binary.svg +4 -0
  3003. package/dist/elements/shoelace/assets/icons/file-break-fill.svg +3 -0
  3004. package/dist/elements/shoelace/assets/icons/file-break.svg +3 -0
  3005. package/dist/elements/shoelace/assets/icons/file-check-fill.svg +3 -0
  3006. package/dist/elements/shoelace/assets/icons/file-check.svg +4 -0
  3007. package/dist/elements/shoelace/assets/icons/file-code-fill.svg +3 -0
  3008. package/dist/elements/shoelace/assets/icons/file-code.svg +4 -0
  3009. package/dist/elements/shoelace/assets/icons/file-diff-fill.svg +3 -0
  3010. package/dist/elements/shoelace/assets/icons/file-diff.svg +4 -0
  3011. package/dist/elements/shoelace/assets/icons/file-earmark-arrow-down-fill.svg +3 -0
  3012. package/dist/elements/shoelace/assets/icons/file-earmark-arrow-down.svg +4 -0
  3013. package/dist/elements/shoelace/assets/icons/file-earmark-arrow-up-fill.svg +3 -0
  3014. package/dist/elements/shoelace/assets/icons/file-earmark-arrow-up.svg +4 -0
  3015. package/dist/elements/shoelace/assets/icons/file-earmark-bar-graph-fill.svg +3 -0
  3016. package/dist/elements/shoelace/assets/icons/file-earmark-bar-graph.svg +4 -0
  3017. package/dist/elements/shoelace/assets/icons/file-earmark-binary-fill.svg +4 -0
  3018. package/dist/elements/shoelace/assets/icons/file-earmark-binary.svg +4 -0
  3019. package/dist/elements/shoelace/assets/icons/file-earmark-break-fill.svg +3 -0
  3020. package/dist/elements/shoelace/assets/icons/file-earmark-break.svg +3 -0
  3021. package/dist/elements/shoelace/assets/icons/file-earmark-check-fill.svg +3 -0
  3022. package/dist/elements/shoelace/assets/icons/file-earmark-check.svg +4 -0
  3023. package/dist/elements/shoelace/assets/icons/file-earmark-code-fill.svg +3 -0
  3024. package/dist/elements/shoelace/assets/icons/file-earmark-code.svg +4 -0
  3025. package/dist/elements/shoelace/assets/icons/file-earmark-diff-fill.svg +3 -0
  3026. package/dist/elements/shoelace/assets/icons/file-earmark-diff.svg +4 -0
  3027. package/dist/elements/shoelace/assets/icons/file-earmark-easel-fill.svg +4 -0
  3028. package/dist/elements/shoelace/assets/icons/file-earmark-easel.svg +4 -0
  3029. package/dist/elements/shoelace/assets/icons/file-earmark-excel-fill.svg +3 -0
  3030. package/dist/elements/shoelace/assets/icons/file-earmark-excel.svg +4 -0
  3031. package/dist/elements/shoelace/assets/icons/file-earmark-fill.svg +3 -0
  3032. package/dist/elements/shoelace/assets/icons/file-earmark-font-fill.svg +3 -0
  3033. package/dist/elements/shoelace/assets/icons/file-earmark-font.svg +4 -0
  3034. package/dist/elements/shoelace/assets/icons/file-earmark-image-fill.svg +4 -0
  3035. package/dist/elements/shoelace/assets/icons/file-earmark-image.svg +4 -0
  3036. package/dist/elements/shoelace/assets/icons/file-earmark-lock-fill.svg +4 -0
  3037. package/dist/elements/shoelace/assets/icons/file-earmark-lock.svg +4 -0
  3038. package/dist/elements/shoelace/assets/icons/file-earmark-lock2-fill.svg +4 -0
  3039. package/dist/elements/shoelace/assets/icons/file-earmark-lock2.svg +4 -0
  3040. package/dist/elements/shoelace/assets/icons/file-earmark-medical-fill.svg +3 -0
  3041. package/dist/elements/shoelace/assets/icons/file-earmark-medical.svg +4 -0
  3042. package/dist/elements/shoelace/assets/icons/file-earmark-minus-fill.svg +3 -0
  3043. package/dist/elements/shoelace/assets/icons/file-earmark-minus.svg +4 -0
  3044. package/dist/elements/shoelace/assets/icons/file-earmark-music-fill.svg +3 -0
  3045. package/dist/elements/shoelace/assets/icons/file-earmark-music.svg +4 -0
  3046. package/dist/elements/shoelace/assets/icons/file-earmark-pdf-fill.svg +4 -0
  3047. package/dist/elements/shoelace/assets/icons/file-earmark-pdf.svg +4 -0
  3048. package/dist/elements/shoelace/assets/icons/file-earmark-person-fill.svg +3 -0
  3049. package/dist/elements/shoelace/assets/icons/file-earmark-person.svg +4 -0
  3050. package/dist/elements/shoelace/assets/icons/file-earmark-play-fill.svg +3 -0
  3051. package/dist/elements/shoelace/assets/icons/file-earmark-play.svg +4 -0
  3052. package/dist/elements/shoelace/assets/icons/file-earmark-plus-fill.svg +3 -0
  3053. package/dist/elements/shoelace/assets/icons/file-earmark-plus.svg +4 -0
  3054. package/dist/elements/shoelace/assets/icons/file-earmark-post-fill.svg +3 -0
  3055. package/dist/elements/shoelace/assets/icons/file-earmark-post.svg +4 -0
  3056. package/dist/elements/shoelace/assets/icons/file-earmark-ppt-fill.svg +4 -0
  3057. package/dist/elements/shoelace/assets/icons/file-earmark-ppt.svg +4 -0
  3058. package/dist/elements/shoelace/assets/icons/file-earmark-richtext-fill.svg +3 -0
  3059. package/dist/elements/shoelace/assets/icons/file-earmark-richtext.svg +4 -0
  3060. package/dist/elements/shoelace/assets/icons/file-earmark-ruled-fill.svg +3 -0
  3061. package/dist/elements/shoelace/assets/icons/file-earmark-ruled.svg +3 -0
  3062. package/dist/elements/shoelace/assets/icons/file-earmark-slides-fill.svg +4 -0
  3063. package/dist/elements/shoelace/assets/icons/file-earmark-slides.svg +4 -0
  3064. package/dist/elements/shoelace/assets/icons/file-earmark-spreadsheet-fill.svg +4 -0
  3065. package/dist/elements/shoelace/assets/icons/file-earmark-spreadsheet.svg +3 -0
  3066. package/dist/elements/shoelace/assets/icons/file-earmark-text-fill.svg +3 -0
  3067. package/dist/elements/shoelace/assets/icons/file-earmark-text.svg +4 -0
  3068. package/dist/elements/shoelace/assets/icons/file-earmark-word-fill.svg +3 -0
  3069. package/dist/elements/shoelace/assets/icons/file-earmark-word.svg +4 -0
  3070. package/dist/elements/shoelace/assets/icons/file-earmark-x-fill.svg +3 -0
  3071. package/dist/elements/shoelace/assets/icons/file-earmark-x.svg +4 -0
  3072. package/dist/elements/shoelace/assets/icons/file-earmark-zip-fill.svg +4 -0
  3073. package/dist/elements/shoelace/assets/icons/file-earmark-zip.svg +4 -0
  3074. package/dist/elements/shoelace/assets/icons/file-earmark.svg +3 -0
  3075. package/dist/elements/shoelace/assets/icons/file-easel-fill.svg +4 -0
  3076. package/dist/elements/shoelace/assets/icons/file-easel.svg +4 -0
  3077. package/dist/elements/shoelace/assets/icons/file-excel-fill.svg +3 -0
  3078. package/dist/elements/shoelace/assets/icons/file-excel.svg +4 -0
  3079. package/dist/elements/shoelace/assets/icons/file-fill.svg +3 -0
  3080. package/dist/elements/shoelace/assets/icons/file-font-fill.svg +3 -0
  3081. package/dist/elements/shoelace/assets/icons/file-font.svg +4 -0
  3082. package/dist/elements/shoelace/assets/icons/file-image-fill.svg +4 -0
  3083. package/dist/elements/shoelace/assets/icons/file-image.svg +4 -0
  3084. package/dist/elements/shoelace/assets/icons/file-lock-fill.svg +4 -0
  3085. package/dist/elements/shoelace/assets/icons/file-lock.svg +4 -0
  3086. package/dist/elements/shoelace/assets/icons/file-lock2-fill.svg +4 -0
  3087. package/dist/elements/shoelace/assets/icons/file-lock2.svg +4 -0
  3088. package/dist/elements/shoelace/assets/icons/file-medical-fill.svg +3 -0
  3089. package/dist/elements/shoelace/assets/icons/file-medical.svg +4 -0
  3090. package/dist/elements/shoelace/assets/icons/file-minus-fill.svg +3 -0
  3091. package/dist/elements/shoelace/assets/icons/file-minus.svg +4 -0
  3092. package/dist/elements/shoelace/assets/icons/file-music-fill.svg +3 -0
  3093. package/dist/elements/shoelace/assets/icons/file-music.svg +4 -0
  3094. package/dist/elements/shoelace/assets/icons/file-pdf-fill.svg +4 -0
  3095. package/dist/elements/shoelace/assets/icons/file-pdf.svg +4 -0
  3096. package/dist/elements/shoelace/assets/icons/file-person-fill.svg +3 -0
  3097. package/dist/elements/shoelace/assets/icons/file-person.svg +4 -0
  3098. package/dist/elements/shoelace/assets/icons/file-play-fill.svg +3 -0
  3099. package/dist/elements/shoelace/assets/icons/file-play.svg +4 -0
  3100. package/dist/elements/shoelace/assets/icons/file-plus-fill.svg +3 -0
  3101. package/dist/elements/shoelace/assets/icons/file-plus.svg +4 -0
  3102. package/dist/elements/shoelace/assets/icons/file-post-fill.svg +3 -0
  3103. package/dist/elements/shoelace/assets/icons/file-post.svg +4 -0
  3104. package/dist/elements/shoelace/assets/icons/file-ppt-fill.svg +4 -0
  3105. package/dist/elements/shoelace/assets/icons/file-ppt.svg +4 -0
  3106. package/dist/elements/shoelace/assets/icons/file-richtext-fill.svg +3 -0
  3107. package/dist/elements/shoelace/assets/icons/file-richtext.svg +4 -0
  3108. package/dist/elements/shoelace/assets/icons/file-ruled-fill.svg +3 -0
  3109. package/dist/elements/shoelace/assets/icons/file-ruled.svg +3 -0
  3110. package/dist/elements/shoelace/assets/icons/file-slides-fill.svg +4 -0
  3111. package/dist/elements/shoelace/assets/icons/file-slides.svg +4 -0
  3112. package/dist/elements/shoelace/assets/icons/file-spreadsheet-fill.svg +3 -0
  3113. package/dist/elements/shoelace/assets/icons/file-spreadsheet.svg +3 -0
  3114. package/dist/elements/shoelace/assets/icons/file-text-fill.svg +3 -0
  3115. package/dist/elements/shoelace/assets/icons/file-text.svg +4 -0
  3116. package/dist/elements/shoelace/assets/icons/file-word-fill.svg +3 -0
  3117. package/dist/elements/shoelace/assets/icons/file-word.svg +4 -0
  3118. package/dist/elements/shoelace/assets/icons/file-x-fill.svg +3 -0
  3119. package/dist/elements/shoelace/assets/icons/file-x.svg +4 -0
  3120. package/dist/elements/shoelace/assets/icons/file-zip-fill.svg +4 -0
  3121. package/dist/elements/shoelace/assets/icons/file-zip.svg +4 -0
  3122. package/dist/elements/shoelace/assets/icons/file.svg +3 -0
  3123. package/dist/elements/shoelace/assets/icons/files-alt.svg +3 -0
  3124. package/dist/elements/shoelace/assets/icons/files.svg +3 -0
  3125. package/dist/elements/shoelace/assets/icons/filetype-aac.svg +3 -0
  3126. package/dist/elements/shoelace/assets/icons/filetype-ai.svg +3 -0
  3127. package/dist/elements/shoelace/assets/icons/filetype-bmp.svg +3 -0
  3128. package/dist/elements/shoelace/assets/icons/filetype-cs.svg +3 -0
  3129. package/dist/elements/shoelace/assets/icons/filetype-css.svg +3 -0
  3130. package/dist/elements/shoelace/assets/icons/filetype-csv.svg +3 -0
  3131. package/dist/elements/shoelace/assets/icons/filetype-doc.svg +3 -0
  3132. package/dist/elements/shoelace/assets/icons/filetype-docx.svg +3 -0
  3133. package/dist/elements/shoelace/assets/icons/filetype-exe.svg +3 -0
  3134. package/dist/elements/shoelace/assets/icons/filetype-gif.svg +3 -0
  3135. package/dist/elements/shoelace/assets/icons/filetype-heic.svg +3 -0
  3136. package/dist/elements/shoelace/assets/icons/filetype-html.svg +3 -0
  3137. package/dist/elements/shoelace/assets/icons/filetype-java.svg +3 -0
  3138. package/dist/elements/shoelace/assets/icons/filetype-jpg.svg +3 -0
  3139. package/dist/elements/shoelace/assets/icons/filetype-js.svg +3 -0
  3140. package/dist/elements/shoelace/assets/icons/filetype-json.svg +3 -0
  3141. package/dist/elements/shoelace/assets/icons/filetype-jsx.svg +3 -0
  3142. package/dist/elements/shoelace/assets/icons/filetype-key.svg +3 -0
  3143. package/dist/elements/shoelace/assets/icons/filetype-m4p.svg +3 -0
  3144. package/dist/elements/shoelace/assets/icons/filetype-md.svg +3 -0
  3145. package/dist/elements/shoelace/assets/icons/filetype-mdx.svg +3 -0
  3146. package/dist/elements/shoelace/assets/icons/filetype-mov.svg +3 -0
  3147. package/dist/elements/shoelace/assets/icons/filetype-mp3.svg +3 -0
  3148. package/dist/elements/shoelace/assets/icons/filetype-mp4.svg +3 -0
  3149. package/dist/elements/shoelace/assets/icons/filetype-otf.svg +3 -0
  3150. package/dist/elements/shoelace/assets/icons/filetype-pdf.svg +3 -0
  3151. package/dist/elements/shoelace/assets/icons/filetype-php.svg +3 -0
  3152. package/dist/elements/shoelace/assets/icons/filetype-png.svg +3 -0
  3153. package/dist/elements/shoelace/assets/icons/filetype-ppt.svg +3 -0
  3154. package/dist/elements/shoelace/assets/icons/filetype-pptx.svg +3 -0
  3155. package/dist/elements/shoelace/assets/icons/filetype-psd.svg +3 -0
  3156. package/dist/elements/shoelace/assets/icons/filetype-py.svg +3 -0
  3157. package/dist/elements/shoelace/assets/icons/filetype-raw.svg +3 -0
  3158. package/dist/elements/shoelace/assets/icons/filetype-rb.svg +3 -0
  3159. package/dist/elements/shoelace/assets/icons/filetype-sass.svg +3 -0
  3160. package/dist/elements/shoelace/assets/icons/filetype-scss.svg +3 -0
  3161. package/dist/elements/shoelace/assets/icons/filetype-sh.svg +3 -0
  3162. package/dist/elements/shoelace/assets/icons/filetype-sql.svg +3 -0
  3163. package/dist/elements/shoelace/assets/icons/filetype-svg.svg +3 -0
  3164. package/dist/elements/shoelace/assets/icons/filetype-tiff.svg +3 -0
  3165. package/dist/elements/shoelace/assets/icons/filetype-tsx.svg +3 -0
  3166. package/dist/elements/shoelace/assets/icons/filetype-ttf.svg +3 -0
  3167. package/dist/elements/shoelace/assets/icons/filetype-txt.svg +3 -0
  3168. package/dist/elements/shoelace/assets/icons/filetype-wav.svg +3 -0
  3169. package/dist/elements/shoelace/assets/icons/filetype-woff.svg +3 -0
  3170. package/dist/elements/shoelace/assets/icons/filetype-xls.svg +3 -0
  3171. package/dist/elements/shoelace/assets/icons/filetype-xlsx.svg +3 -0
  3172. package/dist/elements/shoelace/assets/icons/filetype-xml.svg +3 -0
  3173. package/dist/elements/shoelace/assets/icons/filetype-yml.svg +3 -0
  3174. package/dist/elements/shoelace/assets/icons/film.svg +3 -0
  3175. package/dist/elements/shoelace/assets/icons/filter-circle-fill.svg +3 -0
  3176. package/dist/elements/shoelace/assets/icons/filter-circle.svg +4 -0
  3177. package/dist/elements/shoelace/assets/icons/filter-left.svg +3 -0
  3178. package/dist/elements/shoelace/assets/icons/filter-right.svg +3 -0
  3179. package/dist/elements/shoelace/assets/icons/filter-square-fill.svg +3 -0
  3180. package/dist/elements/shoelace/assets/icons/filter-square.svg +4 -0
  3181. package/dist/elements/shoelace/assets/icons/filter.svg +3 -0
  3182. package/dist/elements/shoelace/assets/icons/fingerprint.svg +7 -0
  3183. package/dist/elements/shoelace/assets/icons/fire.svg +3 -0
  3184. package/dist/elements/shoelace/assets/icons/flag-fill.svg +3 -0
  3185. package/dist/elements/shoelace/assets/icons/flag.svg +3 -0
  3186. package/dist/elements/shoelace/assets/icons/floppy-fill.svg +4 -0
  3187. package/dist/elements/shoelace/assets/icons/floppy.svg +4 -0
  3188. package/dist/elements/shoelace/assets/icons/floppy2-fill.svg +4 -0
  3189. package/dist/elements/shoelace/assets/icons/floppy2.svg +3 -0
  3190. package/dist/elements/shoelace/assets/icons/flower1.svg +3 -0
  3191. package/dist/elements/shoelace/assets/icons/flower2.svg +3 -0
  3192. package/dist/elements/shoelace/assets/icons/flower3.svg +3 -0
  3193. package/dist/elements/shoelace/assets/icons/folder-check.svg +4 -0
  3194. package/dist/elements/shoelace/assets/icons/folder-fill.svg +3 -0
  3195. package/dist/elements/shoelace/assets/icons/folder-minus.svg +4 -0
  3196. package/dist/elements/shoelace/assets/icons/folder-plus.svg +4 -0
  3197. package/dist/elements/shoelace/assets/icons/folder-symlink-fill.svg +3 -0
  3198. package/dist/elements/shoelace/assets/icons/folder-symlink.svg +4 -0
  3199. package/dist/elements/shoelace/assets/icons/folder-x.svg +4 -0
  3200. package/dist/elements/shoelace/assets/icons/folder.svg +3 -0
  3201. package/dist/elements/shoelace/assets/icons/folder2-open.svg +3 -0
  3202. package/dist/elements/shoelace/assets/icons/folder2.svg +3 -0
  3203. package/dist/elements/shoelace/assets/icons/fonts.svg +3 -0
  3204. package/dist/elements/shoelace/assets/icons/forward-fill.svg +3 -0
  3205. package/dist/elements/shoelace/assets/icons/forward.svg +3 -0
  3206. package/dist/elements/shoelace/assets/icons/front.svg +3 -0
  3207. package/dist/elements/shoelace/assets/icons/fuel-pump-diesel-fill.svg +4 -0
  3208. package/dist/elements/shoelace/assets/icons/fuel-pump-diesel.svg +4 -0
  3209. package/dist/elements/shoelace/assets/icons/fuel-pump-fill.svg +3 -0
  3210. package/dist/elements/shoelace/assets/icons/fuel-pump.svg +4 -0
  3211. package/dist/elements/shoelace/assets/icons/fullscreen-exit.svg +3 -0
  3212. package/dist/elements/shoelace/assets/icons/fullscreen.svg +3 -0
  3213. package/dist/elements/shoelace/assets/icons/funnel-fill.svg +3 -0
  3214. package/dist/elements/shoelace/assets/icons/funnel.svg +3 -0
  3215. package/dist/elements/shoelace/assets/icons/gear-fill.svg +3 -0
  3216. package/dist/elements/shoelace/assets/icons/gear-wide-connected.svg +3 -0
  3217. package/dist/elements/shoelace/assets/icons/gear-wide.svg +3 -0
  3218. package/dist/elements/shoelace/assets/icons/gear.svg +4 -0
  3219. package/dist/elements/shoelace/assets/icons/gem.svg +3 -0
  3220. package/dist/elements/shoelace/assets/icons/gender-ambiguous.svg +3 -0
  3221. package/dist/elements/shoelace/assets/icons/gender-female.svg +3 -0
  3222. package/dist/elements/shoelace/assets/icons/gender-male.svg +3 -0
  3223. package/dist/elements/shoelace/assets/icons/gender-neuter.svg +3 -0
  3224. package/dist/elements/shoelace/assets/icons/gender-trans.svg +3 -0
  3225. package/dist/elements/shoelace/assets/icons/geo-alt-fill.svg +3 -0
  3226. package/dist/elements/shoelace/assets/icons/geo-alt.svg +4 -0
  3227. package/dist/elements/shoelace/assets/icons/geo-fill.svg +3 -0
  3228. package/dist/elements/shoelace/assets/icons/geo.svg +3 -0
  3229. package/dist/elements/shoelace/assets/icons/gift-fill.svg +3 -0
  3230. package/dist/elements/shoelace/assets/icons/gift.svg +3 -0
  3231. package/dist/elements/shoelace/assets/icons/git.svg +3 -0
  3232. package/dist/elements/shoelace/assets/icons/github.svg +3 -0
  3233. package/dist/elements/shoelace/assets/icons/gitlab.svg +3 -0
  3234. package/dist/elements/shoelace/assets/icons/globe-americas.svg +3 -0
  3235. package/dist/elements/shoelace/assets/icons/globe-asia-australia.svg +4 -0
  3236. package/dist/elements/shoelace/assets/icons/globe-central-south-asia.svg +3 -0
  3237. package/dist/elements/shoelace/assets/icons/globe-europe-africa.svg +3 -0
  3238. package/dist/elements/shoelace/assets/icons/globe.svg +3 -0
  3239. package/dist/elements/shoelace/assets/icons/globe2.svg +3 -0
  3240. package/dist/elements/shoelace/assets/icons/google-play.svg +3 -0
  3241. package/dist/elements/shoelace/assets/icons/google.svg +3 -0
  3242. package/dist/elements/shoelace/assets/icons/gpu-card.svg +5 -0
  3243. package/dist/elements/shoelace/assets/icons/graph-down-arrow.svg +3 -0
  3244. package/dist/elements/shoelace/assets/icons/graph-down.svg +3 -0
  3245. package/dist/elements/shoelace/assets/icons/graph-up-arrow.svg +3 -0
  3246. package/dist/elements/shoelace/assets/icons/graph-up.svg +3 -0
  3247. package/dist/elements/shoelace/assets/icons/grid-1x2-fill.svg +3 -0
  3248. package/dist/elements/shoelace/assets/icons/grid-1x2.svg +3 -0
  3249. package/dist/elements/shoelace/assets/icons/grid-3x2-gap-fill.svg +3 -0
  3250. package/dist/elements/shoelace/assets/icons/grid-3x2-gap.svg +3 -0
  3251. package/dist/elements/shoelace/assets/icons/grid-3x2.svg +3 -0
  3252. package/dist/elements/shoelace/assets/icons/grid-3x3-gap-fill.svg +3 -0
  3253. package/dist/elements/shoelace/assets/icons/grid-3x3-gap.svg +3 -0
  3254. package/dist/elements/shoelace/assets/icons/grid-3x3.svg +3 -0
  3255. package/dist/elements/shoelace/assets/icons/grid-fill.svg +3 -0
  3256. package/dist/elements/shoelace/assets/icons/grid.svg +3 -0
  3257. package/dist/elements/shoelace/assets/icons/grip-horizontal.svg +3 -0
  3258. package/dist/elements/shoelace/assets/icons/grip-vertical.svg +3 -0
  3259. package/dist/elements/shoelace/assets/icons/h-circle-fill.svg +3 -0
  3260. package/dist/elements/shoelace/assets/icons/h-circle.svg +3 -0
  3261. package/dist/elements/shoelace/assets/icons/h-square-fill.svg +3 -0
  3262. package/dist/elements/shoelace/assets/icons/h-square.svg +4 -0
  3263. package/dist/elements/shoelace/assets/icons/hammer.svg +3 -0
  3264. package/dist/elements/shoelace/assets/icons/hand-index-fill.svg +3 -0
  3265. package/dist/elements/shoelace/assets/icons/hand-index-thumb-fill.svg +3 -0
  3266. package/dist/elements/shoelace/assets/icons/hand-index-thumb.svg +3 -0
  3267. package/dist/elements/shoelace/assets/icons/hand-index.svg +3 -0
  3268. package/dist/elements/shoelace/assets/icons/hand-thumbs-down-fill.svg +3 -0
  3269. package/dist/elements/shoelace/assets/icons/hand-thumbs-down.svg +3 -0
  3270. package/dist/elements/shoelace/assets/icons/hand-thumbs-up-fill.svg +3 -0
  3271. package/dist/elements/shoelace/assets/icons/hand-thumbs-up.svg +3 -0
  3272. package/dist/elements/shoelace/assets/icons/handbag-fill.svg +3 -0
  3273. package/dist/elements/shoelace/assets/icons/handbag.svg +3 -0
  3274. package/dist/elements/shoelace/assets/icons/hash.svg +3 -0
  3275. package/dist/elements/shoelace/assets/icons/hdd-fill.svg +3 -0
  3276. package/dist/elements/shoelace/assets/icons/hdd-network-fill.svg +3 -0
  3277. package/dist/elements/shoelace/assets/icons/hdd-network.svg +4 -0
  3278. package/dist/elements/shoelace/assets/icons/hdd-rack-fill.svg +3 -0
  3279. package/dist/elements/shoelace/assets/icons/hdd-rack.svg +4 -0
  3280. package/dist/elements/shoelace/assets/icons/hdd-stack-fill.svg +3 -0
  3281. package/dist/elements/shoelace/assets/icons/hdd-stack.svg +5 -0
  3282. package/dist/elements/shoelace/assets/icons/hdd.svg +4 -0
  3283. package/dist/elements/shoelace/assets/icons/hdmi-fill.svg +3 -0
  3284. package/dist/elements/shoelace/assets/icons/hdmi.svg +4 -0
  3285. package/dist/elements/shoelace/assets/icons/headphones.svg +3 -0
  3286. package/dist/elements/shoelace/assets/icons/headset-vr.svg +4 -0
  3287. package/dist/elements/shoelace/assets/icons/headset.svg +3 -0
  3288. package/dist/elements/shoelace/assets/icons/heart-arrow.svg +3 -0
  3289. package/dist/elements/shoelace/assets/icons/heart-fill.svg +3 -0
  3290. package/dist/elements/shoelace/assets/icons/heart-half.svg +3 -0
  3291. package/dist/elements/shoelace/assets/icons/heart-pulse-fill.svg +4 -0
  3292. package/dist/elements/shoelace/assets/icons/heart-pulse.svg +4 -0
  3293. package/dist/elements/shoelace/assets/icons/heart.svg +3 -0
  3294. package/dist/elements/shoelace/assets/icons/heartbreak-fill.svg +3 -0
  3295. package/dist/elements/shoelace/assets/icons/heartbreak.svg +3 -0
  3296. package/dist/elements/shoelace/assets/icons/hearts.svg +3 -0
  3297. package/dist/elements/shoelace/assets/icons/heptagon-fill.svg +3 -0
  3298. package/dist/elements/shoelace/assets/icons/heptagon-half.svg +3 -0
  3299. package/dist/elements/shoelace/assets/icons/heptagon.svg +3 -0
  3300. package/dist/elements/shoelace/assets/icons/hexagon-fill.svg +3 -0
  3301. package/dist/elements/shoelace/assets/icons/hexagon-half.svg +3 -0
  3302. package/dist/elements/shoelace/assets/icons/hexagon.svg +3 -0
  3303. package/dist/elements/shoelace/assets/icons/highlighter.svg +3 -0
  3304. package/dist/elements/shoelace/assets/icons/highlights.svg +3 -0
  3305. package/dist/elements/shoelace/assets/icons/hospital-fill.svg +3 -0
  3306. package/dist/elements/shoelace/assets/icons/hospital.svg +4 -0
  3307. package/dist/elements/shoelace/assets/icons/hourglass-bottom.svg +3 -0
  3308. package/dist/elements/shoelace/assets/icons/hourglass-split.svg +3 -0
  3309. package/dist/elements/shoelace/assets/icons/hourglass-top.svg +3 -0
  3310. package/dist/elements/shoelace/assets/icons/hourglass.svg +3 -0
  3311. package/dist/elements/shoelace/assets/icons/house-add-fill.svg +5 -0
  3312. package/dist/elements/shoelace/assets/icons/house-add.svg +4 -0
  3313. package/dist/elements/shoelace/assets/icons/house-check-fill.svg +5 -0
  3314. package/dist/elements/shoelace/assets/icons/house-check.svg +4 -0
  3315. package/dist/elements/shoelace/assets/icons/house-dash-fill.svg +5 -0
  3316. package/dist/elements/shoelace/assets/icons/house-dash.svg +4 -0
  3317. package/dist/elements/shoelace/assets/icons/house-door-fill.svg +3 -0
  3318. package/dist/elements/shoelace/assets/icons/house-door.svg +3 -0
  3319. package/dist/elements/shoelace/assets/icons/house-down-fill.svg +5 -0
  3320. package/dist/elements/shoelace/assets/icons/house-down.svg +4 -0
  3321. package/dist/elements/shoelace/assets/icons/house-exclamation-fill.svg +5 -0
  3322. package/dist/elements/shoelace/assets/icons/house-exclamation.svg +4 -0
  3323. package/dist/elements/shoelace/assets/icons/house-fill.svg +4 -0
  3324. package/dist/elements/shoelace/assets/icons/house-gear-fill.svg +5 -0
  3325. package/dist/elements/shoelace/assets/icons/house-gear.svg +4 -0
  3326. package/dist/elements/shoelace/assets/icons/house-heart-fill.svg +4 -0
  3327. package/dist/elements/shoelace/assets/icons/house-heart.svg +4 -0
  3328. package/dist/elements/shoelace/assets/icons/house-lock-fill.svg +5 -0
  3329. package/dist/elements/shoelace/assets/icons/house-lock.svg +4 -0
  3330. package/dist/elements/shoelace/assets/icons/house-slash-fill.svg +5 -0
  3331. package/dist/elements/shoelace/assets/icons/house-slash.svg +4 -0
  3332. package/dist/elements/shoelace/assets/icons/house-up-fill.svg +5 -0
  3333. package/dist/elements/shoelace/assets/icons/house-up.svg +4 -0
  3334. package/dist/elements/shoelace/assets/icons/house-x-fill.svg +5 -0
  3335. package/dist/elements/shoelace/assets/icons/house-x.svg +4 -0
  3336. package/dist/elements/shoelace/assets/icons/house.svg +3 -0
  3337. package/dist/elements/shoelace/assets/icons/houses-fill.svg +4 -0
  3338. package/dist/elements/shoelace/assets/icons/houses.svg +3 -0
  3339. package/dist/elements/shoelace/assets/icons/hr.svg +3 -0
  3340. package/dist/elements/shoelace/assets/icons/hurricane.svg +3 -0
  3341. package/dist/elements/shoelace/assets/icons/hypnotize.svg +4 -0
  3342. package/dist/elements/shoelace/assets/icons/icons.json +24701 -0
  3343. package/dist/elements/shoelace/assets/icons/image-alt.svg +3 -0
  3344. package/dist/elements/shoelace/assets/icons/image-fill.svg +3 -0
  3345. package/dist/elements/shoelace/assets/icons/image.svg +4 -0
  3346. package/dist/elements/shoelace/assets/icons/images.svg +4 -0
  3347. package/dist/elements/shoelace/assets/icons/inbox-fill.svg +3 -0
  3348. package/dist/elements/shoelace/assets/icons/inbox.svg +3 -0
  3349. package/dist/elements/shoelace/assets/icons/inboxes-fill.svg +3 -0
  3350. package/dist/elements/shoelace/assets/icons/inboxes.svg +3 -0
  3351. package/dist/elements/shoelace/assets/icons/incognito.svg +3 -0
  3352. package/dist/elements/shoelace/assets/icons/indent.svg +4 -0
  3353. package/dist/elements/shoelace/assets/icons/infinity.svg +3 -0
  3354. package/dist/elements/shoelace/assets/icons/info-circle-fill.svg +3 -0
  3355. package/dist/elements/shoelace/assets/icons/info-circle.svg +4 -0
  3356. package/dist/elements/shoelace/assets/icons/info-lg.svg +3 -0
  3357. package/dist/elements/shoelace/assets/icons/info-square-fill.svg +3 -0
  3358. package/dist/elements/shoelace/assets/icons/info-square.svg +4 -0
  3359. package/dist/elements/shoelace/assets/icons/info.svg +3 -0
  3360. package/dist/elements/shoelace/assets/icons/input-cursor-text.svg +4 -0
  3361. package/dist/elements/shoelace/assets/icons/input-cursor.svg +4 -0
  3362. package/dist/elements/shoelace/assets/icons/instagram.svg +3 -0
  3363. package/dist/elements/shoelace/assets/icons/intersect.svg +3 -0
  3364. package/dist/elements/shoelace/assets/icons/journal-album.svg +5 -0
  3365. package/dist/elements/shoelace/assets/icons/journal-arrow-down.svg +5 -0
  3366. package/dist/elements/shoelace/assets/icons/journal-arrow-up.svg +5 -0
  3367. package/dist/elements/shoelace/assets/icons/journal-bookmark-fill.svg +5 -0
  3368. package/dist/elements/shoelace/assets/icons/journal-bookmark.svg +5 -0
  3369. package/dist/elements/shoelace/assets/icons/journal-check.svg +5 -0
  3370. package/dist/elements/shoelace/assets/icons/journal-code.svg +5 -0
  3371. package/dist/elements/shoelace/assets/icons/journal-medical.svg +5 -0
  3372. package/dist/elements/shoelace/assets/icons/journal-minus.svg +5 -0
  3373. package/dist/elements/shoelace/assets/icons/journal-plus.svg +5 -0
  3374. package/dist/elements/shoelace/assets/icons/journal-richtext.svg +5 -0
  3375. package/dist/elements/shoelace/assets/icons/journal-text.svg +5 -0
  3376. package/dist/elements/shoelace/assets/icons/journal-x.svg +5 -0
  3377. package/dist/elements/shoelace/assets/icons/journal.svg +4 -0
  3378. package/dist/elements/shoelace/assets/icons/journals.svg +4 -0
  3379. package/dist/elements/shoelace/assets/icons/joystick.svg +4 -0
  3380. package/dist/elements/shoelace/assets/icons/justify-left.svg +3 -0
  3381. package/dist/elements/shoelace/assets/icons/justify-right.svg +3 -0
  3382. package/dist/elements/shoelace/assets/icons/justify.svg +3 -0
  3383. package/dist/elements/shoelace/assets/icons/kanban-fill.svg +3 -0
  3384. package/dist/elements/shoelace/assets/icons/kanban.svg +4 -0
  3385. package/dist/elements/shoelace/assets/icons/key-fill.svg +3 -0
  3386. package/dist/elements/shoelace/assets/icons/key.svg +4 -0
  3387. package/dist/elements/shoelace/assets/icons/keyboard-fill.svg +3 -0
  3388. package/dist/elements/shoelace/assets/icons/keyboard.svg +4 -0
  3389. package/dist/elements/shoelace/assets/icons/ladder.svg +3 -0
  3390. package/dist/elements/shoelace/assets/icons/lamp-fill.svg +4 -0
  3391. package/dist/elements/shoelace/assets/icons/lamp.svg +4 -0
  3392. package/dist/elements/shoelace/assets/icons/laptop-fill.svg +3 -0
  3393. package/dist/elements/shoelace/assets/icons/laptop.svg +3 -0
  3394. package/dist/elements/shoelace/assets/icons/layer-backward.svg +4 -0
  3395. package/dist/elements/shoelace/assets/icons/layer-forward.svg +4 -0
  3396. package/dist/elements/shoelace/assets/icons/layers-fill.svg +4 -0
  3397. package/dist/elements/shoelace/assets/icons/layers-half.svg +3 -0
  3398. package/dist/elements/shoelace/assets/icons/layers.svg +3 -0
  3399. package/dist/elements/shoelace/assets/icons/layout-sidebar-inset-reverse.svg +4 -0
  3400. package/dist/elements/shoelace/assets/icons/layout-sidebar-inset.svg +4 -0
  3401. package/dist/elements/shoelace/assets/icons/layout-sidebar-reverse.svg +3 -0
  3402. package/dist/elements/shoelace/assets/icons/layout-sidebar.svg +3 -0
  3403. package/dist/elements/shoelace/assets/icons/layout-split.svg +3 -0
  3404. package/dist/elements/shoelace/assets/icons/layout-text-sidebar-reverse.svg +4 -0
  3405. package/dist/elements/shoelace/assets/icons/layout-text-sidebar.svg +4 -0
  3406. package/dist/elements/shoelace/assets/icons/layout-text-window-reverse.svg +4 -0
  3407. package/dist/elements/shoelace/assets/icons/layout-text-window.svg +4 -0
  3408. package/dist/elements/shoelace/assets/icons/layout-three-columns.svg +3 -0
  3409. package/dist/elements/shoelace/assets/icons/layout-wtf.svg +3 -0
  3410. package/dist/elements/shoelace/assets/icons/life-preserver.svg +3 -0
  3411. package/dist/elements/shoelace/assets/icons/lightbulb-fill.svg +3 -0
  3412. package/dist/elements/shoelace/assets/icons/lightbulb-off-fill.svg +3 -0
  3413. package/dist/elements/shoelace/assets/icons/lightbulb-off.svg +3 -0
  3414. package/dist/elements/shoelace/assets/icons/lightbulb.svg +3 -0
  3415. package/dist/elements/shoelace/assets/icons/lightning-charge-fill.svg +3 -0
  3416. package/dist/elements/shoelace/assets/icons/lightning-charge.svg +3 -0
  3417. package/dist/elements/shoelace/assets/icons/lightning-fill.svg +3 -0
  3418. package/dist/elements/shoelace/assets/icons/lightning.svg +3 -0
  3419. package/dist/elements/shoelace/assets/icons/line.svg +3 -0
  3420. package/dist/elements/shoelace/assets/icons/link-45deg.svg +4 -0
  3421. package/dist/elements/shoelace/assets/icons/link.svg +4 -0
  3422. package/dist/elements/shoelace/assets/icons/linkedin.svg +3 -0
  3423. package/dist/elements/shoelace/assets/icons/list-check.svg +3 -0
  3424. package/dist/elements/shoelace/assets/icons/list-columns-reverse.svg +3 -0
  3425. package/dist/elements/shoelace/assets/icons/list-columns.svg +3 -0
  3426. package/dist/elements/shoelace/assets/icons/list-nested.svg +3 -0
  3427. package/dist/elements/shoelace/assets/icons/list-ol.svg +4 -0
  3428. package/dist/elements/shoelace/assets/icons/list-stars.svg +4 -0
  3429. package/dist/elements/shoelace/assets/icons/list-task.svg +5 -0
  3430. package/dist/elements/shoelace/assets/icons/list-ul.svg +3 -0
  3431. package/dist/elements/shoelace/assets/icons/list.svg +3 -0
  3432. package/dist/elements/shoelace/assets/icons/lock-fill.svg +3 -0
  3433. package/dist/elements/shoelace/assets/icons/lock.svg +3 -0
  3434. package/dist/elements/shoelace/assets/icons/luggage-fill.svg +4 -0
  3435. package/dist/elements/shoelace/assets/icons/luggage.svg +4 -0
  3436. package/dist/elements/shoelace/assets/icons/lungs-fill.svg +3 -0
  3437. package/dist/elements/shoelace/assets/icons/lungs.svg +3 -0
  3438. package/dist/elements/shoelace/assets/icons/magic.svg +3 -0
  3439. package/dist/elements/shoelace/assets/icons/magnet-fill.svg +3 -0
  3440. package/dist/elements/shoelace/assets/icons/magnet.svg +3 -0
  3441. package/dist/elements/shoelace/assets/icons/mailbox-flag.svg +4 -0
  3442. package/dist/elements/shoelace/assets/icons/mailbox.svg +4 -0
  3443. package/dist/elements/shoelace/assets/icons/mailbox2-flag.svg +4 -0
  3444. package/dist/elements/shoelace/assets/icons/mailbox2.svg +4 -0
  3445. package/dist/elements/shoelace/assets/icons/map-fill.svg +3 -0
  3446. package/dist/elements/shoelace/assets/icons/map.svg +3 -0
  3447. package/dist/elements/shoelace/assets/icons/markdown-fill.svg +3 -0
  3448. package/dist/elements/shoelace/assets/icons/markdown.svg +6 -0
  3449. package/dist/elements/shoelace/assets/icons/marker-tip.svg +3 -0
  3450. package/dist/elements/shoelace/assets/icons/mask.svg +3 -0
  3451. package/dist/elements/shoelace/assets/icons/mastodon.svg +3 -0
  3452. package/dist/elements/shoelace/assets/icons/medium.svg +3 -0
  3453. package/dist/elements/shoelace/assets/icons/megaphone-fill.svg +3 -0
  3454. package/dist/elements/shoelace/assets/icons/megaphone.svg +3 -0
  3455. package/dist/elements/shoelace/assets/icons/memory.svg +3 -0
  3456. package/dist/elements/shoelace/assets/icons/menu-app-fill.svg +3 -0
  3457. package/dist/elements/shoelace/assets/icons/menu-app.svg +3 -0
  3458. package/dist/elements/shoelace/assets/icons/menu-button-fill.svg +3 -0
  3459. package/dist/elements/shoelace/assets/icons/menu-button-wide-fill.svg +3 -0
  3460. package/dist/elements/shoelace/assets/icons/menu-button-wide.svg +4 -0
  3461. package/dist/elements/shoelace/assets/icons/menu-button.svg +4 -0
  3462. package/dist/elements/shoelace/assets/icons/menu-down.svg +3 -0
  3463. package/dist/elements/shoelace/assets/icons/menu-up.svg +3 -0
  3464. package/dist/elements/shoelace/assets/icons/messenger.svg +3 -0
  3465. package/dist/elements/shoelace/assets/icons/meta.svg +3 -0
  3466. package/dist/elements/shoelace/assets/icons/mic-fill.svg +4 -0
  3467. package/dist/elements/shoelace/assets/icons/mic-mute-fill.svg +4 -0
  3468. package/dist/elements/shoelace/assets/icons/mic-mute.svg +4 -0
  3469. package/dist/elements/shoelace/assets/icons/mic.svg +4 -0
  3470. package/dist/elements/shoelace/assets/icons/microsoft-teams.svg +4 -0
  3471. package/dist/elements/shoelace/assets/icons/microsoft.svg +3 -0
  3472. package/dist/elements/shoelace/assets/icons/minecart-loaded.svg +4 -0
  3473. package/dist/elements/shoelace/assets/icons/minecart.svg +3 -0
  3474. package/dist/elements/shoelace/assets/icons/modem-fill.svg +3 -0
  3475. package/dist/elements/shoelace/assets/icons/modem.svg +4 -0
  3476. package/dist/elements/shoelace/assets/icons/moisture.svg +3 -0
  3477. package/dist/elements/shoelace/assets/icons/moon-fill.svg +3 -0
  3478. package/dist/elements/shoelace/assets/icons/moon-stars-fill.svg +4 -0
  3479. package/dist/elements/shoelace/assets/icons/moon-stars.svg +4 -0
  3480. package/dist/elements/shoelace/assets/icons/moon.svg +3 -0
  3481. package/dist/elements/shoelace/assets/icons/mortarboard-fill.svg +4 -0
  3482. package/dist/elements/shoelace/assets/icons/mortarboard.svg +4 -0
  3483. package/dist/elements/shoelace/assets/icons/motherboard-fill.svg +4 -0
  3484. package/dist/elements/shoelace/assets/icons/motherboard.svg +4 -0
  3485. package/dist/elements/shoelace/assets/icons/mouse-fill.svg +3 -0
  3486. package/dist/elements/shoelace/assets/icons/mouse.svg +3 -0
  3487. package/dist/elements/shoelace/assets/icons/mouse2-fill.svg +3 -0
  3488. package/dist/elements/shoelace/assets/icons/mouse2.svg +3 -0
  3489. package/dist/elements/shoelace/assets/icons/mouse3-fill.svg +3 -0
  3490. package/dist/elements/shoelace/assets/icons/mouse3.svg +3 -0
  3491. package/dist/elements/shoelace/assets/icons/music-note-beamed.svg +5 -0
  3492. package/dist/elements/shoelace/assets/icons/music-note-list.svg +6 -0
  3493. package/dist/elements/shoelace/assets/icons/music-note.svg +5 -0
  3494. package/dist/elements/shoelace/assets/icons/music-player-fill.svg +4 -0
  3495. package/dist/elements/shoelace/assets/icons/music-player.svg +5 -0
  3496. package/dist/elements/shoelace/assets/icons/newspaper.svg +4 -0
  3497. package/dist/elements/shoelace/assets/icons/nintendo-switch.svg +4 -0
  3498. package/dist/elements/shoelace/assets/icons/node-minus-fill.svg +3 -0
  3499. package/dist/elements/shoelace/assets/icons/node-minus.svg +3 -0
  3500. package/dist/elements/shoelace/assets/icons/node-plus-fill.svg +3 -0
  3501. package/dist/elements/shoelace/assets/icons/node-plus.svg +3 -0
  3502. package/dist/elements/shoelace/assets/icons/noise-reduction.svg +4 -0
  3503. package/dist/elements/shoelace/assets/icons/nut-fill.svg +3 -0
  3504. package/dist/elements/shoelace/assets/icons/nut.svg +4 -0
  3505. package/dist/elements/shoelace/assets/icons/nvidia.svg +3 -0
  3506. package/dist/elements/shoelace/assets/icons/nvme-fill.svg +4 -0
  3507. package/dist/elements/shoelace/assets/icons/nvme.svg +4 -0
  3508. package/dist/elements/shoelace/assets/icons/octagon-fill.svg +3 -0
  3509. package/dist/elements/shoelace/assets/icons/octagon-half.svg +3 -0
  3510. package/dist/elements/shoelace/assets/icons/octagon.svg +3 -0
  3511. package/dist/elements/shoelace/assets/icons/opencollective.svg +4 -0
  3512. package/dist/elements/shoelace/assets/icons/optical-audio-fill.svg +4 -0
  3513. package/dist/elements/shoelace/assets/icons/optical-audio.svg +5 -0
  3514. package/dist/elements/shoelace/assets/icons/option.svg +3 -0
  3515. package/dist/elements/shoelace/assets/icons/outlet.svg +4 -0
  3516. package/dist/elements/shoelace/assets/icons/p-circle-fill.svg +3 -0
  3517. package/dist/elements/shoelace/assets/icons/p-circle.svg +3 -0
  3518. package/dist/elements/shoelace/assets/icons/p-square-fill.svg +4 -0
  3519. package/dist/elements/shoelace/assets/icons/p-square.svg +4 -0
  3520. package/dist/elements/shoelace/assets/icons/paint-bucket.svg +3 -0
  3521. package/dist/elements/shoelace/assets/icons/palette-fill.svg +3 -0
  3522. package/dist/elements/shoelace/assets/icons/palette.svg +4 -0
  3523. package/dist/elements/shoelace/assets/icons/palette2.svg +3 -0
  3524. package/dist/elements/shoelace/assets/icons/paperclip.svg +3 -0
  3525. package/dist/elements/shoelace/assets/icons/paragraph.svg +3 -0
  3526. package/dist/elements/shoelace/assets/icons/pass-fill.svg +3 -0
  3527. package/dist/elements/shoelace/assets/icons/pass.svg +4 -0
  3528. package/dist/elements/shoelace/assets/icons/passport-fill.svg +4 -0
  3529. package/dist/elements/shoelace/assets/icons/passport.svg +4 -0
  3530. package/dist/elements/shoelace/assets/icons/patch-check-fill.svg +3 -0
  3531. package/dist/elements/shoelace/assets/icons/patch-check.svg +4 -0
  3532. package/dist/elements/shoelace/assets/icons/patch-exclamation-fill.svg +3 -0
  3533. package/dist/elements/shoelace/assets/icons/patch-exclamation.svg +4 -0
  3534. package/dist/elements/shoelace/assets/icons/patch-minus-fill.svg +3 -0
  3535. package/dist/elements/shoelace/assets/icons/patch-minus.svg +4 -0
  3536. package/dist/elements/shoelace/assets/icons/patch-plus-fill.svg +3 -0
  3537. package/dist/elements/shoelace/assets/icons/patch-plus.svg +4 -0
  3538. package/dist/elements/shoelace/assets/icons/patch-question-fill.svg +3 -0
  3539. package/dist/elements/shoelace/assets/icons/patch-question.svg +5 -0
  3540. package/dist/elements/shoelace/assets/icons/pause-btn-fill.svg +3 -0
  3541. package/dist/elements/shoelace/assets/icons/pause-btn.svg +4 -0
  3542. package/dist/elements/shoelace/assets/icons/pause-circle-fill.svg +3 -0
  3543. package/dist/elements/shoelace/assets/icons/pause-circle.svg +4 -0
  3544. package/dist/elements/shoelace/assets/icons/pause-fill.svg +3 -0
  3545. package/dist/elements/shoelace/assets/icons/pause.svg +3 -0
  3546. package/dist/elements/shoelace/assets/icons/paypal.svg +3 -0
  3547. package/dist/elements/shoelace/assets/icons/pc-display-horizontal.svg +3 -0
  3548. package/dist/elements/shoelace/assets/icons/pc-display.svg +3 -0
  3549. package/dist/elements/shoelace/assets/icons/pc-horizontal.svg +3 -0
  3550. package/dist/elements/shoelace/assets/icons/pc.svg +3 -0
  3551. package/dist/elements/shoelace/assets/icons/pci-card-network.svg +5 -0
  3552. package/dist/elements/shoelace/assets/icons/pci-card-sound.svg +5 -0
  3553. package/dist/elements/shoelace/assets/icons/pci-card.svg +4 -0
  3554. package/dist/elements/shoelace/assets/icons/peace-fill.svg +3 -0
  3555. package/dist/elements/shoelace/assets/icons/peace.svg +3 -0
  3556. package/dist/elements/shoelace/assets/icons/pen-fill.svg +3 -0
  3557. package/dist/elements/shoelace/assets/icons/pen.svg +3 -0
  3558. package/dist/elements/shoelace/assets/icons/pencil-fill.svg +3 -0
  3559. package/dist/elements/shoelace/assets/icons/pencil-square.svg +4 -0
  3560. package/dist/elements/shoelace/assets/icons/pencil.svg +3 -0
  3561. package/dist/elements/shoelace/assets/icons/pentagon-fill.svg +3 -0
  3562. package/dist/elements/shoelace/assets/icons/pentagon-half.svg +3 -0
  3563. package/dist/elements/shoelace/assets/icons/pentagon.svg +3 -0
  3564. package/dist/elements/shoelace/assets/icons/people-fill.svg +3 -0
  3565. package/dist/elements/shoelace/assets/icons/people.svg +3 -0
  3566. package/dist/elements/shoelace/assets/icons/percent.svg +3 -0
  3567. package/dist/elements/shoelace/assets/icons/person-add.svg +4 -0
  3568. package/dist/elements/shoelace/assets/icons/person-arms-up.svg +4 -0
  3569. package/dist/elements/shoelace/assets/icons/person-badge-fill.svg +3 -0
  3570. package/dist/elements/shoelace/assets/icons/person-badge.svg +4 -0
  3571. package/dist/elements/shoelace/assets/icons/person-bounding-box.svg +4 -0
  3572. package/dist/elements/shoelace/assets/icons/person-check-fill.svg +4 -0
  3573. package/dist/elements/shoelace/assets/icons/person-check.svg +4 -0
  3574. package/dist/elements/shoelace/assets/icons/person-circle.svg +4 -0
  3575. package/dist/elements/shoelace/assets/icons/person-dash-fill.svg +4 -0
  3576. package/dist/elements/shoelace/assets/icons/person-dash.svg +4 -0
  3577. package/dist/elements/shoelace/assets/icons/person-down.svg +4 -0
  3578. package/dist/elements/shoelace/assets/icons/person-exclamation.svg +4 -0
  3579. package/dist/elements/shoelace/assets/icons/person-fill-add.svg +4 -0
  3580. package/dist/elements/shoelace/assets/icons/person-fill-check.svg +4 -0
  3581. package/dist/elements/shoelace/assets/icons/person-fill-dash.svg +4 -0
  3582. package/dist/elements/shoelace/assets/icons/person-fill-down.svg +4 -0
  3583. package/dist/elements/shoelace/assets/icons/person-fill-exclamation.svg +4 -0
  3584. package/dist/elements/shoelace/assets/icons/person-fill-gear.svg +3 -0
  3585. package/dist/elements/shoelace/assets/icons/person-fill-lock.svg +3 -0
  3586. package/dist/elements/shoelace/assets/icons/person-fill-slash.svg +3 -0
  3587. package/dist/elements/shoelace/assets/icons/person-fill-up.svg +4 -0
  3588. package/dist/elements/shoelace/assets/icons/person-fill-x.svg +4 -0
  3589. package/dist/elements/shoelace/assets/icons/person-fill.svg +3 -0
  3590. package/dist/elements/shoelace/assets/icons/person-gear.svg +3 -0
  3591. package/dist/elements/shoelace/assets/icons/person-heart.svg +3 -0
  3592. package/dist/elements/shoelace/assets/icons/person-hearts.svg +3 -0
  3593. package/dist/elements/shoelace/assets/icons/person-lines-fill.svg +3 -0
  3594. package/dist/elements/shoelace/assets/icons/person-lock.svg +3 -0
  3595. package/dist/elements/shoelace/assets/icons/person-plus-fill.svg +4 -0
  3596. package/dist/elements/shoelace/assets/icons/person-plus.svg +4 -0
  3597. package/dist/elements/shoelace/assets/icons/person-raised-hand.svg +4 -0
  3598. package/dist/elements/shoelace/assets/icons/person-rolodex.svg +4 -0
  3599. package/dist/elements/shoelace/assets/icons/person-slash.svg +3 -0
  3600. package/dist/elements/shoelace/assets/icons/person-square.svg +4 -0
  3601. package/dist/elements/shoelace/assets/icons/person-standing-dress.svg +3 -0
  3602. package/dist/elements/shoelace/assets/icons/person-standing.svg +3 -0
  3603. package/dist/elements/shoelace/assets/icons/person-up.svg +4 -0
  3604. package/dist/elements/shoelace/assets/icons/person-vcard-fill.svg +3 -0
  3605. package/dist/elements/shoelace/assets/icons/person-vcard.svg +4 -0
  3606. package/dist/elements/shoelace/assets/icons/person-video.svg +4 -0
  3607. package/dist/elements/shoelace/assets/icons/person-video2.svg +4 -0
  3608. package/dist/elements/shoelace/assets/icons/person-video3.svg +4 -0
  3609. package/dist/elements/shoelace/assets/icons/person-walking.svg +4 -0
  3610. package/dist/elements/shoelace/assets/icons/person-wheelchair.svg +3 -0
  3611. package/dist/elements/shoelace/assets/icons/person-workspace.svg +4 -0
  3612. package/dist/elements/shoelace/assets/icons/person-x-fill.svg +3 -0
  3613. package/dist/elements/shoelace/assets/icons/person-x.svg +4 -0
  3614. package/dist/elements/shoelace/assets/icons/person.svg +3 -0
  3615. package/dist/elements/shoelace/assets/icons/phone-fill.svg +3 -0
  3616. package/dist/elements/shoelace/assets/icons/phone-flip.svg +3 -0
  3617. package/dist/elements/shoelace/assets/icons/phone-landscape-fill.svg +3 -0
  3618. package/dist/elements/shoelace/assets/icons/phone-landscape.svg +4 -0
  3619. package/dist/elements/shoelace/assets/icons/phone-vibrate-fill.svg +3 -0
  3620. package/dist/elements/shoelace/assets/icons/phone-vibrate.svg +4 -0
  3621. package/dist/elements/shoelace/assets/icons/phone.svg +4 -0
  3622. package/dist/elements/shoelace/assets/icons/pie-chart-fill.svg +3 -0
  3623. package/dist/elements/shoelace/assets/icons/pie-chart.svg +3 -0
  3624. package/dist/elements/shoelace/assets/icons/piggy-bank-fill.svg +3 -0
  3625. package/dist/elements/shoelace/assets/icons/piggy-bank.svg +4 -0
  3626. package/dist/elements/shoelace/assets/icons/pin-angle-fill.svg +3 -0
  3627. package/dist/elements/shoelace/assets/icons/pin-angle.svg +3 -0
  3628. package/dist/elements/shoelace/assets/icons/pin-fill.svg +3 -0
  3629. package/dist/elements/shoelace/assets/icons/pin-map-fill.svg +4 -0
  3630. package/dist/elements/shoelace/assets/icons/pin-map.svg +4 -0
  3631. package/dist/elements/shoelace/assets/icons/pin.svg +3 -0
  3632. package/dist/elements/shoelace/assets/icons/pinterest.svg +3 -0
  3633. package/dist/elements/shoelace/assets/icons/pip-fill.svg +3 -0
  3634. package/dist/elements/shoelace/assets/icons/pip.svg +4 -0
  3635. package/dist/elements/shoelace/assets/icons/play-btn-fill.svg +3 -0
  3636. package/dist/elements/shoelace/assets/icons/play-btn.svg +4 -0
  3637. package/dist/elements/shoelace/assets/icons/play-circle-fill.svg +3 -0
  3638. package/dist/elements/shoelace/assets/icons/play-circle.svg +4 -0
  3639. package/dist/elements/shoelace/assets/icons/play-fill.svg +3 -0
  3640. package/dist/elements/shoelace/assets/icons/play.svg +3 -0
  3641. package/dist/elements/shoelace/assets/icons/playstation.svg +3 -0
  3642. package/dist/elements/shoelace/assets/icons/plug-fill.svg +3 -0
  3643. package/dist/elements/shoelace/assets/icons/plug.svg +3 -0
  3644. package/dist/elements/shoelace/assets/icons/plugin.svg +3 -0
  3645. package/dist/elements/shoelace/assets/icons/plus-circle-dotted.svg +3 -0
  3646. package/dist/elements/shoelace/assets/icons/plus-circle-fill.svg +3 -0
  3647. package/dist/elements/shoelace/assets/icons/plus-circle.svg +4 -0
  3648. package/dist/elements/shoelace/assets/icons/plus-lg.svg +3 -0
  3649. package/dist/elements/shoelace/assets/icons/plus-slash-minus.svg +3 -0
  3650. package/dist/elements/shoelace/assets/icons/plus-square-dotted.svg +3 -0
  3651. package/dist/elements/shoelace/assets/icons/plus-square-fill.svg +3 -0
  3652. package/dist/elements/shoelace/assets/icons/plus-square.svg +4 -0
  3653. package/dist/elements/shoelace/assets/icons/plus.svg +3 -0
  3654. package/dist/elements/shoelace/assets/icons/postage-fill.svg +4 -0
  3655. package/dist/elements/shoelace/assets/icons/postage-heart-fill.svg +4 -0
  3656. package/dist/elements/shoelace/assets/icons/postage-heart.svg +4 -0
  3657. package/dist/elements/shoelace/assets/icons/postage.svg +4 -0
  3658. package/dist/elements/shoelace/assets/icons/postcard-fill.svg +4 -0
  3659. package/dist/elements/shoelace/assets/icons/postcard-heart-fill.svg +3 -0
  3660. package/dist/elements/shoelace/assets/icons/postcard-heart.svg +4 -0
  3661. package/dist/elements/shoelace/assets/icons/postcard.svg +3 -0
  3662. package/dist/elements/shoelace/assets/icons/power.svg +4 -0
  3663. package/dist/elements/shoelace/assets/icons/prescription.svg +4 -0
  3664. package/dist/elements/shoelace/assets/icons/prescription2.svg +4 -0
  3665. package/dist/elements/shoelace/assets/icons/printer-fill.svg +4 -0
  3666. package/dist/elements/shoelace/assets/icons/printer.svg +4 -0
  3667. package/dist/elements/shoelace/assets/icons/projector-fill.svg +3 -0
  3668. package/dist/elements/shoelace/assets/icons/projector.svg +4 -0
  3669. package/dist/elements/shoelace/assets/icons/puzzle-fill.svg +3 -0
  3670. package/dist/elements/shoelace/assets/icons/puzzle.svg +3 -0
  3671. package/dist/elements/shoelace/assets/icons/qr-code-scan.svg +7 -0
  3672. package/dist/elements/shoelace/assets/icons/qr-code.svg +7 -0
  3673. package/dist/elements/shoelace/assets/icons/question-circle-fill.svg +3 -0
  3674. package/dist/elements/shoelace/assets/icons/question-circle.svg +4 -0
  3675. package/dist/elements/shoelace/assets/icons/question-diamond-fill.svg +3 -0
  3676. package/dist/elements/shoelace/assets/icons/question-diamond.svg +4 -0
  3677. package/dist/elements/shoelace/assets/icons/question-lg.svg +3 -0
  3678. package/dist/elements/shoelace/assets/icons/question-octagon-fill.svg +3 -0
  3679. package/dist/elements/shoelace/assets/icons/question-octagon.svg +4 -0
  3680. package/dist/elements/shoelace/assets/icons/question-square-fill.svg +3 -0
  3681. package/dist/elements/shoelace/assets/icons/question-square.svg +4 -0
  3682. package/dist/elements/shoelace/assets/icons/question.svg +3 -0
  3683. package/dist/elements/shoelace/assets/icons/quora.svg +3 -0
  3684. package/dist/elements/shoelace/assets/icons/quote.svg +3 -0
  3685. package/dist/elements/shoelace/assets/icons/r-circle-fill.svg +3 -0
  3686. package/dist/elements/shoelace/assets/icons/r-circle.svg +3 -0
  3687. package/dist/elements/shoelace/assets/icons/r-square-fill.svg +4 -0
  3688. package/dist/elements/shoelace/assets/icons/r-square.svg +4 -0
  3689. package/dist/elements/shoelace/assets/icons/radar.svg +3 -0
  3690. package/dist/elements/shoelace/assets/icons/radioactive.svg +4 -0
  3691. package/dist/elements/shoelace/assets/icons/rainbow.svg +3 -0
  3692. package/dist/elements/shoelace/assets/icons/receipt-cutoff.svg +4 -0
  3693. package/dist/elements/shoelace/assets/icons/receipt.svg +4 -0
  3694. package/dist/elements/shoelace/assets/icons/reception-0.svg +3 -0
  3695. package/dist/elements/shoelace/assets/icons/reception-1.svg +3 -0
  3696. package/dist/elements/shoelace/assets/icons/reception-2.svg +3 -0
  3697. package/dist/elements/shoelace/assets/icons/reception-3.svg +3 -0
  3698. package/dist/elements/shoelace/assets/icons/reception-4.svg +3 -0
  3699. package/dist/elements/shoelace/assets/icons/record-btn-fill.svg +3 -0
  3700. package/dist/elements/shoelace/assets/icons/record-btn.svg +4 -0
  3701. package/dist/elements/shoelace/assets/icons/record-circle-fill.svg +3 -0
  3702. package/dist/elements/shoelace/assets/icons/record-circle.svg +4 -0
  3703. package/dist/elements/shoelace/assets/icons/record-fill.svg +3 -0
  3704. package/dist/elements/shoelace/assets/icons/record.svg +3 -0
  3705. package/dist/elements/shoelace/assets/icons/record2-fill.svg +4 -0
  3706. package/dist/elements/shoelace/assets/icons/record2.svg +4 -0
  3707. package/dist/elements/shoelace/assets/icons/recycle.svg +3 -0
  3708. package/dist/elements/shoelace/assets/icons/reddit.svg +4 -0
  3709. package/dist/elements/shoelace/assets/icons/regex.svg +3 -0
  3710. package/dist/elements/shoelace/assets/icons/repeat-1.svg +4 -0
  3711. package/dist/elements/shoelace/assets/icons/repeat.svg +3 -0
  3712. package/dist/elements/shoelace/assets/icons/reply-all-fill.svg +4 -0
  3713. package/dist/elements/shoelace/assets/icons/reply-all.svg +4 -0
  3714. package/dist/elements/shoelace/assets/icons/reply-fill.svg +3 -0
  3715. package/dist/elements/shoelace/assets/icons/reply.svg +3 -0
  3716. package/dist/elements/shoelace/assets/icons/rewind-btn-fill.svg +3 -0
  3717. package/dist/elements/shoelace/assets/icons/rewind-btn.svg +4 -0
  3718. package/dist/elements/shoelace/assets/icons/rewind-circle-fill.svg +3 -0
  3719. package/dist/elements/shoelace/assets/icons/rewind-circle.svg +4 -0
  3720. package/dist/elements/shoelace/assets/icons/rewind-fill.svg +4 -0
  3721. package/dist/elements/shoelace/assets/icons/rewind.svg +4 -0
  3722. package/dist/elements/shoelace/assets/icons/robot.svg +4 -0
  3723. package/dist/elements/shoelace/assets/icons/rocket-fill.svg +4 -0
  3724. package/dist/elements/shoelace/assets/icons/rocket-takeoff-fill.svg +4 -0
  3725. package/dist/elements/shoelace/assets/icons/rocket-takeoff.svg +5 -0
  3726. package/dist/elements/shoelace/assets/icons/rocket.svg +5 -0
  3727. package/dist/elements/shoelace/assets/icons/router-fill.svg +6 -0
  3728. package/dist/elements/shoelace/assets/icons/router.svg +6 -0
  3729. package/dist/elements/shoelace/assets/icons/rss-fill.svg +3 -0
  3730. package/dist/elements/shoelace/assets/icons/rss.svg +4 -0
  3731. package/dist/elements/shoelace/assets/icons/rulers.svg +3 -0
  3732. package/dist/elements/shoelace/assets/icons/safe-fill.svg +4 -0
  3733. package/dist/elements/shoelace/assets/icons/safe.svg +4 -0
  3734. package/dist/elements/shoelace/assets/icons/safe2-fill.svg +4 -0
  3735. package/dist/elements/shoelace/assets/icons/safe2.svg +4 -0
  3736. package/dist/elements/shoelace/assets/icons/save-fill.svg +3 -0
  3737. package/dist/elements/shoelace/assets/icons/save.svg +3 -0
  3738. package/dist/elements/shoelace/assets/icons/save2-fill.svg +3 -0
  3739. package/dist/elements/shoelace/assets/icons/save2.svg +3 -0
  3740. package/dist/elements/shoelace/assets/icons/scissors.svg +3 -0
  3741. package/dist/elements/shoelace/assets/icons/scooter.svg +3 -0
  3742. package/dist/elements/shoelace/assets/icons/screwdriver.svg +3 -0
  3743. package/dist/elements/shoelace/assets/icons/sd-card-fill.svg +3 -0
  3744. package/dist/elements/shoelace/assets/icons/sd-card.svg +4 -0
  3745. package/dist/elements/shoelace/assets/icons/search-heart-fill.svg +3 -0
  3746. package/dist/elements/shoelace/assets/icons/search-heart.svg +4 -0
  3747. package/dist/elements/shoelace/assets/icons/search.svg +3 -0
  3748. package/dist/elements/shoelace/assets/icons/segmented-nav.svg +3 -0
  3749. package/dist/elements/shoelace/assets/icons/send-arrow-down-fill.svg +4 -0
  3750. package/dist/elements/shoelace/assets/icons/send-arrow-down.svg +4 -0
  3751. package/dist/elements/shoelace/assets/icons/send-arrow-up-fill.svg +4 -0
  3752. package/dist/elements/shoelace/assets/icons/send-arrow-up.svg +4 -0
  3753. package/dist/elements/shoelace/assets/icons/send-check-fill.svg +4 -0
  3754. package/dist/elements/shoelace/assets/icons/send-check.svg +4 -0
  3755. package/dist/elements/shoelace/assets/icons/send-dash-fill.svg +4 -0
  3756. package/dist/elements/shoelace/assets/icons/send-dash.svg +4 -0
  3757. package/dist/elements/shoelace/assets/icons/send-exclamation-fill.svg +4 -0
  3758. package/dist/elements/shoelace/assets/icons/send-exclamation.svg +4 -0
  3759. package/dist/elements/shoelace/assets/icons/send-fill.svg +3 -0
  3760. package/dist/elements/shoelace/assets/icons/send-plus-fill.svg +4 -0
  3761. package/dist/elements/shoelace/assets/icons/send-plus.svg +4 -0
  3762. package/dist/elements/shoelace/assets/icons/send-slash-fill.svg +4 -0
  3763. package/dist/elements/shoelace/assets/icons/send-slash.svg +4 -0
  3764. package/dist/elements/shoelace/assets/icons/send-x-fill.svg +4 -0
  3765. package/dist/elements/shoelace/assets/icons/send-x.svg +4 -0
  3766. package/dist/elements/shoelace/assets/icons/send.svg +3 -0
  3767. package/dist/elements/shoelace/assets/icons/server.svg +5 -0
  3768. package/dist/elements/shoelace/assets/icons/shadows.svg +3 -0
  3769. package/dist/elements/shoelace/assets/icons/share-fill.svg +3 -0
  3770. package/dist/elements/shoelace/assets/icons/share.svg +3 -0
  3771. package/dist/elements/shoelace/assets/icons/shield-check.svg +4 -0
  3772. package/dist/elements/shoelace/assets/icons/shield-exclamation.svg +4 -0
  3773. package/dist/elements/shoelace/assets/icons/shield-fill-check.svg +3 -0
  3774. package/dist/elements/shoelace/assets/icons/shield-fill-exclamation.svg +3 -0
  3775. package/dist/elements/shoelace/assets/icons/shield-fill-minus.svg +3 -0
  3776. package/dist/elements/shoelace/assets/icons/shield-fill-plus.svg +3 -0
  3777. package/dist/elements/shoelace/assets/icons/shield-fill-x.svg +3 -0
  3778. package/dist/elements/shoelace/assets/icons/shield-fill.svg +3 -0
  3779. package/dist/elements/shoelace/assets/icons/shield-lock-fill.svg +3 -0
  3780. package/dist/elements/shoelace/assets/icons/shield-lock.svg +4 -0
  3781. package/dist/elements/shoelace/assets/icons/shield-minus.svg +4 -0
  3782. package/dist/elements/shoelace/assets/icons/shield-plus.svg +4 -0
  3783. package/dist/elements/shoelace/assets/icons/shield-shaded.svg +3 -0
  3784. package/dist/elements/shoelace/assets/icons/shield-slash-fill.svg +3 -0
  3785. package/dist/elements/shoelace/assets/icons/shield-slash.svg +3 -0
  3786. package/dist/elements/shoelace/assets/icons/shield-x.svg +4 -0
  3787. package/dist/elements/shoelace/assets/icons/shield.svg +3 -0
  3788. package/dist/elements/shoelace/assets/icons/shift-fill.svg +3 -0
  3789. package/dist/elements/shoelace/assets/icons/shift.svg +3 -0
  3790. package/dist/elements/shoelace/assets/icons/shop-window.svg +3 -0
  3791. package/dist/elements/shoelace/assets/icons/shop.svg +3 -0
  3792. package/dist/elements/shoelace/assets/icons/shuffle.svg +4 -0
  3793. package/dist/elements/shoelace/assets/icons/sign-dead-end-fill.svg +4 -0
  3794. package/dist/elements/shoelace/assets/icons/sign-dead-end.svg +4 -0
  3795. package/dist/elements/shoelace/assets/icons/sign-do-not-enter-fill.svg +4 -0
  3796. package/dist/elements/shoelace/assets/icons/sign-do-not-enter.svg +4 -0
  3797. package/dist/elements/shoelace/assets/icons/sign-intersection-fill.svg +3 -0
  3798. package/dist/elements/shoelace/assets/icons/sign-intersection-side-fill.svg +3 -0
  3799. package/dist/elements/shoelace/assets/icons/sign-intersection-side.svg +4 -0
  3800. package/dist/elements/shoelace/assets/icons/sign-intersection-t-fill.svg +3 -0
  3801. package/dist/elements/shoelace/assets/icons/sign-intersection-t.svg +4 -0
  3802. package/dist/elements/shoelace/assets/icons/sign-intersection-y-fill.svg +3 -0
  3803. package/dist/elements/shoelace/assets/icons/sign-intersection-y.svg +4 -0
  3804. package/dist/elements/shoelace/assets/icons/sign-intersection.svg +4 -0
  3805. package/dist/elements/shoelace/assets/icons/sign-merge-left-fill.svg +3 -0
  3806. package/dist/elements/shoelace/assets/icons/sign-merge-left.svg +4 -0
  3807. package/dist/elements/shoelace/assets/icons/sign-merge-right-fill.svg +3 -0
  3808. package/dist/elements/shoelace/assets/icons/sign-merge-right.svg +4 -0
  3809. package/dist/elements/shoelace/assets/icons/sign-no-left-turn-fill.svg +4 -0
  3810. package/dist/elements/shoelace/assets/icons/sign-no-left-turn.svg +3 -0
  3811. package/dist/elements/shoelace/assets/icons/sign-no-parking-fill.svg +4 -0
  3812. package/dist/elements/shoelace/assets/icons/sign-no-parking.svg +3 -0
  3813. package/dist/elements/shoelace/assets/icons/sign-no-right-turn-fill.svg +4 -0
  3814. package/dist/elements/shoelace/assets/icons/sign-no-right-turn.svg +3 -0
  3815. package/dist/elements/shoelace/assets/icons/sign-railroad-fill.svg +5 -0
  3816. package/dist/elements/shoelace/assets/icons/sign-railroad.svg +4 -0
  3817. package/dist/elements/shoelace/assets/icons/sign-stop-fill.svg +4 -0
  3818. package/dist/elements/shoelace/assets/icons/sign-stop-lights-fill.svg +4 -0
  3819. package/dist/elements/shoelace/assets/icons/sign-stop-lights.svg +4 -0
  3820. package/dist/elements/shoelace/assets/icons/sign-stop.svg +5 -0
  3821. package/dist/elements/shoelace/assets/icons/sign-turn-left-fill.svg +3 -0
  3822. package/dist/elements/shoelace/assets/icons/sign-turn-left.svg +4 -0
  3823. package/dist/elements/shoelace/assets/icons/sign-turn-right-fill.svg +3 -0
  3824. package/dist/elements/shoelace/assets/icons/sign-turn-right.svg +4 -0
  3825. package/dist/elements/shoelace/assets/icons/sign-turn-slight-left-fill.svg +3 -0
  3826. package/dist/elements/shoelace/assets/icons/sign-turn-slight-left.svg +4 -0
  3827. package/dist/elements/shoelace/assets/icons/sign-turn-slight-right-fill.svg +3 -0
  3828. package/dist/elements/shoelace/assets/icons/sign-turn-slight-right.svg +4 -0
  3829. package/dist/elements/shoelace/assets/icons/sign-yield-fill.svg +4 -0
  3830. package/dist/elements/shoelace/assets/icons/sign-yield.svg +5 -0
  3831. package/dist/elements/shoelace/assets/icons/signal.svg +3 -0
  3832. package/dist/elements/shoelace/assets/icons/signpost-2-fill.svg +3 -0
  3833. package/dist/elements/shoelace/assets/icons/signpost-2.svg +3 -0
  3834. package/dist/elements/shoelace/assets/icons/signpost-fill.svg +3 -0
  3835. package/dist/elements/shoelace/assets/icons/signpost-split-fill.svg +3 -0
  3836. package/dist/elements/shoelace/assets/icons/signpost-split.svg +3 -0
  3837. package/dist/elements/shoelace/assets/icons/signpost.svg +3 -0
  3838. package/dist/elements/shoelace/assets/icons/sim-fill.svg +4 -0
  3839. package/dist/elements/shoelace/assets/icons/sim-slash-fill.svg +3 -0
  3840. package/dist/elements/shoelace/assets/icons/sim-slash.svg +3 -0
  3841. package/dist/elements/shoelace/assets/icons/sim.svg +4 -0
  3842. package/dist/elements/shoelace/assets/icons/sina-weibo.svg +4 -0
  3843. package/dist/elements/shoelace/assets/icons/skip-backward-btn-fill.svg +3 -0
  3844. package/dist/elements/shoelace/assets/icons/skip-backward-btn.svg +4 -0
  3845. package/dist/elements/shoelace/assets/icons/skip-backward-circle-fill.svg +3 -0
  3846. package/dist/elements/shoelace/assets/icons/skip-backward-circle.svg +4 -0
  3847. package/dist/elements/shoelace/assets/icons/skip-backward-fill.svg +3 -0
  3848. package/dist/elements/shoelace/assets/icons/skip-backward.svg +3 -0
  3849. package/dist/elements/shoelace/assets/icons/skip-end-btn-fill.svg +3 -0
  3850. package/dist/elements/shoelace/assets/icons/skip-end-btn.svg +4 -0
  3851. package/dist/elements/shoelace/assets/icons/skip-end-circle-fill.svg +3 -0
  3852. package/dist/elements/shoelace/assets/icons/skip-end-circle.svg +4 -0
  3853. package/dist/elements/shoelace/assets/icons/skip-end-fill.svg +3 -0
  3854. package/dist/elements/shoelace/assets/icons/skip-end.svg +3 -0
  3855. package/dist/elements/shoelace/assets/icons/skip-forward-btn-fill.svg +3 -0
  3856. package/dist/elements/shoelace/assets/icons/skip-forward-btn.svg +4 -0
  3857. package/dist/elements/shoelace/assets/icons/skip-forward-circle-fill.svg +3 -0
  3858. package/dist/elements/shoelace/assets/icons/skip-forward-circle.svg +4 -0
  3859. package/dist/elements/shoelace/assets/icons/skip-forward-fill.svg +3 -0
  3860. package/dist/elements/shoelace/assets/icons/skip-forward.svg +3 -0
  3861. package/dist/elements/shoelace/assets/icons/skip-start-btn-fill.svg +3 -0
  3862. package/dist/elements/shoelace/assets/icons/skip-start-btn.svg +4 -0
  3863. package/dist/elements/shoelace/assets/icons/skip-start-circle-fill.svg +3 -0
  3864. package/dist/elements/shoelace/assets/icons/skip-start-circle.svg +4 -0
  3865. package/dist/elements/shoelace/assets/icons/skip-start-fill.svg +3 -0
  3866. package/dist/elements/shoelace/assets/icons/skip-start.svg +3 -0
  3867. package/dist/elements/shoelace/assets/icons/skype.svg +3 -0
  3868. package/dist/elements/shoelace/assets/icons/slack.svg +3 -0
  3869. package/dist/elements/shoelace/assets/icons/slash-circle-fill.svg +3 -0
  3870. package/dist/elements/shoelace/assets/icons/slash-circle.svg +4 -0
  3871. package/dist/elements/shoelace/assets/icons/slash-lg.svg +3 -0
  3872. package/dist/elements/shoelace/assets/icons/slash-square-fill.svg +3 -0
  3873. package/dist/elements/shoelace/assets/icons/slash-square.svg +4 -0
  3874. package/dist/elements/shoelace/assets/icons/slash.svg +3 -0
  3875. package/dist/elements/shoelace/assets/icons/sliders.svg +3 -0
  3876. package/dist/elements/shoelace/assets/icons/sliders2-vertical.svg +3 -0
  3877. package/dist/elements/shoelace/assets/icons/sliders2.svg +3 -0
  3878. package/dist/elements/shoelace/assets/icons/smartwatch.svg +4 -0
  3879. package/dist/elements/shoelace/assets/icons/snapchat.svg +3 -0
  3880. package/dist/elements/shoelace/assets/icons/snow.svg +3 -0
  3881. package/dist/elements/shoelace/assets/icons/snow2.svg +3 -0
  3882. package/dist/elements/shoelace/assets/icons/snow3.svg +4 -0
  3883. package/dist/elements/shoelace/assets/icons/sort-alpha-down-alt.svg +5 -0
  3884. package/dist/elements/shoelace/assets/icons/sort-alpha-down.svg +4 -0
  3885. package/dist/elements/shoelace/assets/icons/sort-alpha-up-alt.svg +5 -0
  3886. package/dist/elements/shoelace/assets/icons/sort-alpha-up.svg +4 -0
  3887. package/dist/elements/shoelace/assets/icons/sort-down-alt.svg +3 -0
  3888. package/dist/elements/shoelace/assets/icons/sort-down.svg +3 -0
  3889. package/dist/elements/shoelace/assets/icons/sort-numeric-down-alt.svg +4 -0
  3890. package/dist/elements/shoelace/assets/icons/sort-numeric-down.svg +5 -0
  3891. package/dist/elements/shoelace/assets/icons/sort-numeric-up-alt.svg +4 -0
  3892. package/dist/elements/shoelace/assets/icons/sort-numeric-up.svg +5 -0
  3893. package/dist/elements/shoelace/assets/icons/sort-up-alt.svg +3 -0
  3894. package/dist/elements/shoelace/assets/icons/sort-up.svg +3 -0
  3895. package/dist/elements/shoelace/assets/icons/soundwave.svg +3 -0
  3896. package/dist/elements/shoelace/assets/icons/sourceforge.svg +4 -0
  3897. package/dist/elements/shoelace/assets/icons/speaker-fill.svg +4 -0
  3898. package/dist/elements/shoelace/assets/icons/speaker.svg +4 -0
  3899. package/dist/elements/shoelace/assets/icons/speedometer.svg +4 -0
  3900. package/dist/elements/shoelace/assets/icons/speedometer2.svg +4 -0
  3901. package/dist/elements/shoelace/assets/icons/spellcheck.svg +4 -0
  3902. package/dist/elements/shoelace/assets/icons/spotify.svg +3 -0
  3903. package/dist/elements/shoelace/assets/icons/square-fill.svg +3 -0
  3904. package/dist/elements/shoelace/assets/icons/square-half.svg +3 -0
  3905. package/dist/elements/shoelace/assets/icons/square.svg +3 -0
  3906. package/dist/elements/shoelace/assets/icons/stack-overflow.svg +4 -0
  3907. package/dist/elements/shoelace/assets/icons/stack.svg +4 -0
  3908. package/dist/elements/shoelace/assets/icons/star-fill.svg +3 -0
  3909. package/dist/elements/shoelace/assets/icons/star-half.svg +3 -0
  3910. package/dist/elements/shoelace/assets/icons/star.svg +3 -0
  3911. package/dist/elements/shoelace/assets/icons/stars.svg +3 -0
  3912. package/dist/elements/shoelace/assets/icons/steam.svg +4 -0
  3913. package/dist/elements/shoelace/assets/icons/stickies-fill.svg +4 -0
  3914. package/dist/elements/shoelace/assets/icons/stickies.svg +4 -0
  3915. package/dist/elements/shoelace/assets/icons/sticky-fill.svg +3 -0
  3916. package/dist/elements/shoelace/assets/icons/sticky.svg +3 -0
  3917. package/dist/elements/shoelace/assets/icons/stop-btn-fill.svg +3 -0
  3918. package/dist/elements/shoelace/assets/icons/stop-btn.svg +4 -0
  3919. package/dist/elements/shoelace/assets/icons/stop-circle-fill.svg +3 -0
  3920. package/dist/elements/shoelace/assets/icons/stop-circle.svg +4 -0
  3921. package/dist/elements/shoelace/assets/icons/stop-fill.svg +3 -0
  3922. package/dist/elements/shoelace/assets/icons/stop.svg +3 -0
  3923. package/dist/elements/shoelace/assets/icons/stoplights-fill.svg +3 -0
  3924. package/dist/elements/shoelace/assets/icons/stoplights.svg +4 -0
  3925. package/dist/elements/shoelace/assets/icons/stopwatch-fill.svg +3 -0
  3926. package/dist/elements/shoelace/assets/icons/stopwatch.svg +4 -0
  3927. package/dist/elements/shoelace/assets/icons/strava.svg +3 -0
  3928. package/dist/elements/shoelace/assets/icons/stripe.svg +3 -0
  3929. package/dist/elements/shoelace/assets/icons/subscript.svg +3 -0
  3930. package/dist/elements/shoelace/assets/icons/substack.svg +3 -0
  3931. package/dist/elements/shoelace/assets/icons/subtract.svg +3 -0
  3932. package/dist/elements/shoelace/assets/icons/suit-club-fill.svg +3 -0
  3933. package/dist/elements/shoelace/assets/icons/suit-club.svg +3 -0
  3934. package/dist/elements/shoelace/assets/icons/suit-diamond-fill.svg +3 -0
  3935. package/dist/elements/shoelace/assets/icons/suit-diamond.svg +3 -0
  3936. package/dist/elements/shoelace/assets/icons/suit-heart-fill.svg +3 -0
  3937. package/dist/elements/shoelace/assets/icons/suit-heart.svg +3 -0
  3938. package/dist/elements/shoelace/assets/icons/suit-spade-fill.svg +3 -0
  3939. package/dist/elements/shoelace/assets/icons/suit-spade.svg +3 -0
  3940. package/dist/elements/shoelace/assets/icons/suitcase-fill.svg +3 -0
  3941. package/dist/elements/shoelace/assets/icons/suitcase-lg-fill.svg +3 -0
  3942. package/dist/elements/shoelace/assets/icons/suitcase-lg.svg +3 -0
  3943. package/dist/elements/shoelace/assets/icons/suitcase.svg +4 -0
  3944. package/dist/elements/shoelace/assets/icons/suitcase2-fill.svg +3 -0
  3945. package/dist/elements/shoelace/assets/icons/suitcase2.svg +3 -0
  3946. package/dist/elements/shoelace/assets/icons/sun-fill.svg +3 -0
  3947. package/dist/elements/shoelace/assets/icons/sun.svg +3 -0
  3948. package/dist/elements/shoelace/assets/icons/sunglasses.svg +3 -0
  3949. package/dist/elements/shoelace/assets/icons/sunrise-fill.svg +3 -0
  3950. package/dist/elements/shoelace/assets/icons/sunrise.svg +3 -0
  3951. package/dist/elements/shoelace/assets/icons/sunset-fill.svg +3 -0
  3952. package/dist/elements/shoelace/assets/icons/sunset.svg +3 -0
  3953. package/dist/elements/shoelace/assets/icons/superscript.svg +3 -0
  3954. package/dist/elements/shoelace/assets/icons/symmetry-horizontal.svg +3 -0
  3955. package/dist/elements/shoelace/assets/icons/symmetry-vertical.svg +3 -0
  3956. package/dist/elements/shoelace/assets/icons/table.svg +3 -0
  3957. package/dist/elements/shoelace/assets/icons/tablet-fill.svg +3 -0
  3958. package/dist/elements/shoelace/assets/icons/tablet-landscape-fill.svg +3 -0
  3959. package/dist/elements/shoelace/assets/icons/tablet-landscape.svg +4 -0
  3960. package/dist/elements/shoelace/assets/icons/tablet.svg +4 -0
  3961. package/dist/elements/shoelace/assets/icons/tag-fill.svg +3 -0
  3962. package/dist/elements/shoelace/assets/icons/tag.svg +4 -0
  3963. package/dist/elements/shoelace/assets/icons/tags-fill.svg +4 -0
  3964. package/dist/elements/shoelace/assets/icons/tags.svg +4 -0
  3965. package/dist/elements/shoelace/assets/icons/taxi-front-fill.svg +3 -0
  3966. package/dist/elements/shoelace/assets/icons/taxi-front.svg +4 -0
  3967. package/dist/elements/shoelace/assets/icons/telegram.svg +3 -0
  3968. package/dist/elements/shoelace/assets/icons/telephone-fill.svg +3 -0
  3969. package/dist/elements/shoelace/assets/icons/telephone-forward-fill.svg +3 -0
  3970. package/dist/elements/shoelace/assets/icons/telephone-forward.svg +3 -0
  3971. package/dist/elements/shoelace/assets/icons/telephone-inbound-fill.svg +3 -0
  3972. package/dist/elements/shoelace/assets/icons/telephone-inbound.svg +3 -0
  3973. package/dist/elements/shoelace/assets/icons/telephone-minus-fill.svg +3 -0
  3974. package/dist/elements/shoelace/assets/icons/telephone-minus.svg +4 -0
  3975. package/dist/elements/shoelace/assets/icons/telephone-outbound-fill.svg +3 -0
  3976. package/dist/elements/shoelace/assets/icons/telephone-outbound.svg +3 -0
  3977. package/dist/elements/shoelace/assets/icons/telephone-plus-fill.svg +3 -0
  3978. package/dist/elements/shoelace/assets/icons/telephone-plus.svg +4 -0
  3979. package/dist/elements/shoelace/assets/icons/telephone-x-fill.svg +3 -0
  3980. package/dist/elements/shoelace/assets/icons/telephone-x.svg +4 -0
  3981. package/dist/elements/shoelace/assets/icons/telephone.svg +3 -0
  3982. package/dist/elements/shoelace/assets/icons/tencent-qq.svg +4 -0
  3983. package/dist/elements/shoelace/assets/icons/terminal-dash.svg +4 -0
  3984. package/dist/elements/shoelace/assets/icons/terminal-fill.svg +3 -0
  3985. package/dist/elements/shoelace/assets/icons/terminal-plus.svg +4 -0
  3986. package/dist/elements/shoelace/assets/icons/terminal-split.svg +4 -0
  3987. package/dist/elements/shoelace/assets/icons/terminal-x.svg +4 -0
  3988. package/dist/elements/shoelace/assets/icons/terminal.svg +4 -0
  3989. package/dist/elements/shoelace/assets/icons/text-center.svg +3 -0
  3990. package/dist/elements/shoelace/assets/icons/text-indent-left.svg +3 -0
  3991. package/dist/elements/shoelace/assets/icons/text-indent-right.svg +3 -0
  3992. package/dist/elements/shoelace/assets/icons/text-left.svg +3 -0
  3993. package/dist/elements/shoelace/assets/icons/text-paragraph.svg +3 -0
  3994. package/dist/elements/shoelace/assets/icons/text-right.svg +3 -0
  3995. package/dist/elements/shoelace/assets/icons/text-wrap.svg +3 -0
  3996. package/dist/elements/shoelace/assets/icons/textarea-resize.svg +3 -0
  3997. package/dist/elements/shoelace/assets/icons/textarea-t.svg +4 -0
  3998. package/dist/elements/shoelace/assets/icons/textarea.svg +3 -0
  3999. package/dist/elements/shoelace/assets/icons/thermometer-half.svg +4 -0
  4000. package/dist/elements/shoelace/assets/icons/thermometer-high.svg +4 -0
  4001. package/dist/elements/shoelace/assets/icons/thermometer-low.svg +4 -0
  4002. package/dist/elements/shoelace/assets/icons/thermometer-snow.svg +4 -0
  4003. package/dist/elements/shoelace/assets/icons/thermometer-sun.svg +4 -0
  4004. package/dist/elements/shoelace/assets/icons/thermometer.svg +4 -0
  4005. package/dist/elements/shoelace/assets/icons/threads-fill.svg +4 -0
  4006. package/dist/elements/shoelace/assets/icons/threads.svg +3 -0
  4007. package/dist/elements/shoelace/assets/icons/three-dots-vertical.svg +3 -0
  4008. package/dist/elements/shoelace/assets/icons/three-dots.svg +3 -0
  4009. package/dist/elements/shoelace/assets/icons/thunderbolt-fill.svg +3 -0
  4010. package/dist/elements/shoelace/assets/icons/thunderbolt.svg +4 -0
  4011. package/dist/elements/shoelace/assets/icons/ticket-detailed-fill.svg +3 -0
  4012. package/dist/elements/shoelace/assets/icons/ticket-detailed.svg +4 -0
  4013. package/dist/elements/shoelace/assets/icons/ticket-fill.svg +3 -0
  4014. package/dist/elements/shoelace/assets/icons/ticket-perforated-fill.svg +3 -0
  4015. package/dist/elements/shoelace/assets/icons/ticket-perforated.svg +4 -0
  4016. package/dist/elements/shoelace/assets/icons/ticket.svg +3 -0
  4017. package/dist/elements/shoelace/assets/icons/tiktok.svg +3 -0
  4018. package/dist/elements/shoelace/assets/icons/toggle-off.svg +3 -0
  4019. package/dist/elements/shoelace/assets/icons/toggle-on.svg +3 -0
  4020. package/dist/elements/shoelace/assets/icons/toggle2-off.svg +4 -0
  4021. package/dist/elements/shoelace/assets/icons/toggle2-on.svg +4 -0
  4022. package/dist/elements/shoelace/assets/icons/toggles.svg +3 -0
  4023. package/dist/elements/shoelace/assets/icons/toggles2.svg +5 -0
  4024. package/dist/elements/shoelace/assets/icons/tools.svg +3 -0
  4025. package/dist/elements/shoelace/assets/icons/tornado.svg +3 -0
  4026. package/dist/elements/shoelace/assets/icons/train-freight-front-fill.svg +3 -0
  4027. package/dist/elements/shoelace/assets/icons/train-freight-front.svg +3 -0
  4028. package/dist/elements/shoelace/assets/icons/train-front-fill.svg +3 -0
  4029. package/dist/elements/shoelace/assets/icons/train-front.svg +3 -0
  4030. package/dist/elements/shoelace/assets/icons/train-lightrail-front-fill.svg +3 -0
  4031. package/dist/elements/shoelace/assets/icons/train-lightrail-front.svg +3 -0
  4032. package/dist/elements/shoelace/assets/icons/translate.svg +4 -0
  4033. package/dist/elements/shoelace/assets/icons/transparency.svg +3 -0
  4034. package/dist/elements/shoelace/assets/icons/trash-fill.svg +3 -0
  4035. package/dist/elements/shoelace/assets/icons/trash.svg +4 -0
  4036. package/dist/elements/shoelace/assets/icons/trash2-fill.svg +3 -0
  4037. package/dist/elements/shoelace/assets/icons/trash2.svg +3 -0
  4038. package/dist/elements/shoelace/assets/icons/trash3-fill.svg +3 -0
  4039. package/dist/elements/shoelace/assets/icons/trash3.svg +3 -0
  4040. package/dist/elements/shoelace/assets/icons/tree-fill.svg +3 -0
  4041. package/dist/elements/shoelace/assets/icons/tree.svg +3 -0
  4042. package/dist/elements/shoelace/assets/icons/trello.svg +3 -0
  4043. package/dist/elements/shoelace/assets/icons/triangle-fill.svg +3 -0
  4044. package/dist/elements/shoelace/assets/icons/triangle-half.svg +3 -0
  4045. package/dist/elements/shoelace/assets/icons/triangle.svg +3 -0
  4046. package/dist/elements/shoelace/assets/icons/trophy-fill.svg +3 -0
  4047. package/dist/elements/shoelace/assets/icons/trophy.svg +3 -0
  4048. package/dist/elements/shoelace/assets/icons/tropical-storm.svg +4 -0
  4049. package/dist/elements/shoelace/assets/icons/truck-flatbed.svg +3 -0
  4050. package/dist/elements/shoelace/assets/icons/truck-front-fill.svg +3 -0
  4051. package/dist/elements/shoelace/assets/icons/truck-front.svg +4 -0
  4052. package/dist/elements/shoelace/assets/icons/truck.svg +3 -0
  4053. package/dist/elements/shoelace/assets/icons/tsunami.svg +3 -0
  4054. package/dist/elements/shoelace/assets/icons/tv-fill.svg +3 -0
  4055. package/dist/elements/shoelace/assets/icons/tv.svg +3 -0
  4056. package/dist/elements/shoelace/assets/icons/twitch.svg +4 -0
  4057. package/dist/elements/shoelace/assets/icons/twitter-x.svg +3 -0
  4058. package/dist/elements/shoelace/assets/icons/twitter.svg +3 -0
  4059. package/dist/elements/shoelace/assets/icons/type-bold.svg +3 -0
  4060. package/dist/elements/shoelace/assets/icons/type-h1.svg +3 -0
  4061. package/dist/elements/shoelace/assets/icons/type-h2.svg +3 -0
  4062. package/dist/elements/shoelace/assets/icons/type-h3.svg +3 -0
  4063. package/dist/elements/shoelace/assets/icons/type-h4.svg +3 -0
  4064. package/dist/elements/shoelace/assets/icons/type-h5.svg +3 -0
  4065. package/dist/elements/shoelace/assets/icons/type-h6.svg +3 -0
  4066. package/dist/elements/shoelace/assets/icons/type-italic.svg +3 -0
  4067. package/dist/elements/shoelace/assets/icons/type-strikethrough.svg +3 -0
  4068. package/dist/elements/shoelace/assets/icons/type-underline.svg +3 -0
  4069. package/dist/elements/shoelace/assets/icons/type.svg +3 -0
  4070. package/dist/elements/shoelace/assets/icons/ubuntu.svg +3 -0
  4071. package/dist/elements/shoelace/assets/icons/ui-checks-grid.svg +3 -0
  4072. package/dist/elements/shoelace/assets/icons/ui-checks.svg +3 -0
  4073. package/dist/elements/shoelace/assets/icons/ui-radios-grid.svg +3 -0
  4074. package/dist/elements/shoelace/assets/icons/ui-radios.svg +3 -0
  4075. package/dist/elements/shoelace/assets/icons/umbrella-fill.svg +3 -0
  4076. package/dist/elements/shoelace/assets/icons/umbrella.svg +3 -0
  4077. package/dist/elements/shoelace/assets/icons/unindent.svg +4 -0
  4078. package/dist/elements/shoelace/assets/icons/union.svg +3 -0
  4079. package/dist/elements/shoelace/assets/icons/unity.svg +3 -0
  4080. package/dist/elements/shoelace/assets/icons/universal-access-circle.svg +4 -0
  4081. package/dist/elements/shoelace/assets/icons/universal-access.svg +3 -0
  4082. package/dist/elements/shoelace/assets/icons/unlock-fill.svg +3 -0
  4083. package/dist/elements/shoelace/assets/icons/unlock.svg +3 -0
  4084. package/dist/elements/shoelace/assets/icons/upc-scan.svg +3 -0
  4085. package/dist/elements/shoelace/assets/icons/upc.svg +3 -0
  4086. package/dist/elements/shoelace/assets/icons/upload.svg +4 -0
  4087. package/dist/elements/shoelace/assets/icons/usb-c-fill.svg +3 -0
  4088. package/dist/elements/shoelace/assets/icons/usb-c.svg +4 -0
  4089. package/dist/elements/shoelace/assets/icons/usb-drive-fill.svg +3 -0
  4090. package/dist/elements/shoelace/assets/icons/usb-drive.svg +3 -0
  4091. package/dist/elements/shoelace/assets/icons/usb-fill.svg +3 -0
  4092. package/dist/elements/shoelace/assets/icons/usb-micro-fill.svg +3 -0
  4093. package/dist/elements/shoelace/assets/icons/usb-micro.svg +4 -0
  4094. package/dist/elements/shoelace/assets/icons/usb-mini-fill.svg +3 -0
  4095. package/dist/elements/shoelace/assets/icons/usb-mini.svg +4 -0
  4096. package/dist/elements/shoelace/assets/icons/usb-plug-fill.svg +3 -0
  4097. package/dist/elements/shoelace/assets/icons/usb-plug.svg +3 -0
  4098. package/dist/elements/shoelace/assets/icons/usb-symbol.svg +3 -0
  4099. package/dist/elements/shoelace/assets/icons/usb.svg +4 -0
  4100. package/dist/elements/shoelace/assets/icons/valentine.svg +4 -0
  4101. package/dist/elements/shoelace/assets/icons/valentine2.svg +4 -0
  4102. package/dist/elements/shoelace/assets/icons/vector-pen.svg +4 -0
  4103. package/dist/elements/shoelace/assets/icons/view-list.svg +3 -0
  4104. package/dist/elements/shoelace/assets/icons/view-stacked.svg +3 -0
  4105. package/dist/elements/shoelace/assets/icons/vignette.svg +4 -0
  4106. package/dist/elements/shoelace/assets/icons/vimeo.svg +3 -0
  4107. package/dist/elements/shoelace/assets/icons/vinyl-fill.svg +4 -0
  4108. package/dist/elements/shoelace/assets/icons/vinyl.svg +5 -0
  4109. package/dist/elements/shoelace/assets/icons/virus.svg +3 -0
  4110. package/dist/elements/shoelace/assets/icons/virus2.svg +3 -0
  4111. package/dist/elements/shoelace/assets/icons/voicemail.svg +3 -0
  4112. package/dist/elements/shoelace/assets/icons/volume-down-fill.svg +3 -0
  4113. package/dist/elements/shoelace/assets/icons/volume-down.svg +3 -0
  4114. package/dist/elements/shoelace/assets/icons/volume-mute-fill.svg +3 -0
  4115. package/dist/elements/shoelace/assets/icons/volume-mute.svg +3 -0
  4116. package/dist/elements/shoelace/assets/icons/volume-off-fill.svg +3 -0
  4117. package/dist/elements/shoelace/assets/icons/volume-off.svg +3 -0
  4118. package/dist/elements/shoelace/assets/icons/volume-up-fill.svg +5 -0
  4119. package/dist/elements/shoelace/assets/icons/volume-up.svg +5 -0
  4120. package/dist/elements/shoelace/assets/icons/vr.svg +3 -0
  4121. package/dist/elements/shoelace/assets/icons/wallet-fill.svg +4 -0
  4122. package/dist/elements/shoelace/assets/icons/wallet.svg +3 -0
  4123. package/dist/elements/shoelace/assets/icons/wallet2.svg +3 -0
  4124. package/dist/elements/shoelace/assets/icons/watch.svg +4 -0
  4125. package/dist/elements/shoelace/assets/icons/water.svg +3 -0
  4126. package/dist/elements/shoelace/assets/icons/webcam-fill.svg +4 -0
  4127. package/dist/elements/shoelace/assets/icons/webcam.svg +4 -0
  4128. package/dist/elements/shoelace/assets/icons/wechat.svg +4 -0
  4129. package/dist/elements/shoelace/assets/icons/whatsapp.svg +3 -0
  4130. package/dist/elements/shoelace/assets/icons/wifi-1.svg +3 -0
  4131. package/dist/elements/shoelace/assets/icons/wifi-2.svg +3 -0
  4132. package/dist/elements/shoelace/assets/icons/wifi-off.svg +3 -0
  4133. package/dist/elements/shoelace/assets/icons/wifi.svg +4 -0
  4134. package/dist/elements/shoelace/assets/icons/wikipedia.svg +3 -0
  4135. package/dist/elements/shoelace/assets/icons/wind.svg +3 -0
  4136. package/dist/elements/shoelace/assets/icons/window-dash.svg +5 -0
  4137. package/dist/elements/shoelace/assets/icons/window-desktop.svg +4 -0
  4138. package/dist/elements/shoelace/assets/icons/window-dock.svg +4 -0
  4139. package/dist/elements/shoelace/assets/icons/window-fullscreen.svg +4 -0
  4140. package/dist/elements/shoelace/assets/icons/window-plus.svg +5 -0
  4141. package/dist/elements/shoelace/assets/icons/window-sidebar.svg +4 -0
  4142. package/dist/elements/shoelace/assets/icons/window-split.svg +4 -0
  4143. package/dist/elements/shoelace/assets/icons/window-stack.svg +4 -0
  4144. package/dist/elements/shoelace/assets/icons/window-x.svg +5 -0
  4145. package/dist/elements/shoelace/assets/icons/window.svg +4 -0
  4146. package/dist/elements/shoelace/assets/icons/windows.svg +3 -0
  4147. package/dist/elements/shoelace/assets/icons/wordpress.svg +5 -0
  4148. package/dist/elements/shoelace/assets/icons/wrench-adjustable-circle-fill.svg +4 -0
  4149. package/dist/elements/shoelace/assets/icons/wrench-adjustable-circle.svg +4 -0
  4150. package/dist/elements/shoelace/assets/icons/wrench-adjustable.svg +4 -0
  4151. package/dist/elements/shoelace/assets/icons/wrench.svg +3 -0
  4152. package/dist/elements/shoelace/assets/icons/x-circle-fill.svg +3 -0
  4153. package/dist/elements/shoelace/assets/icons/x-circle.svg +4 -0
  4154. package/dist/elements/shoelace/assets/icons/x-diamond-fill.svg +3 -0
  4155. package/dist/elements/shoelace/assets/icons/x-diamond.svg +3 -0
  4156. package/dist/elements/shoelace/assets/icons/x-lg.svg +3 -0
  4157. package/dist/elements/shoelace/assets/icons/x-octagon-fill.svg +3 -0
  4158. package/dist/elements/shoelace/assets/icons/x-octagon.svg +4 -0
  4159. package/dist/elements/shoelace/assets/icons/x-square-fill.svg +3 -0
  4160. package/dist/elements/shoelace/assets/icons/x-square.svg +4 -0
  4161. package/dist/elements/shoelace/assets/icons/x.svg +3 -0
  4162. package/dist/elements/shoelace/assets/icons/xbox.svg +3 -0
  4163. package/dist/elements/shoelace/assets/icons/yelp.svg +3 -0
  4164. package/dist/elements/shoelace/assets/icons/yin-yang.svg +4 -0
  4165. package/dist/elements/shoelace/assets/icons/youtube.svg +3 -0
  4166. package/dist/elements/shoelace/assets/icons/zoom-in.svg +5 -0
  4167. package/dist/elements/shoelace/assets/icons/zoom-out.svg +5 -0
  4168. package/dist/esm/{app-globals-fd9221d0.js → app-globals-27c2f043.js} +3 -1
  4169. package/dist/esm/app-globals-27c2f043.js.map +1 -0
  4170. package/dist/esm/chunk.3Y6SB6QS-ff2f5b55.js +28 -0
  4171. package/dist/esm/chunk.3Y6SB6QS-ff2f5b55.js.map +1 -0
  4172. package/dist/esm/elements.js +3 -2
  4173. package/dist/esm/elements.js.map +1 -1
  4174. package/dist/esm/{ion-icon_32.entry.js → ion-icon_33.entry.js} +212 -138
  4175. package/dist/esm/ion-icon_33.entry.js.map +1 -0
  4176. package/dist/esm/loader.js +3 -2
  4177. package/dist/esm/loader.js.map +1 -1
  4178. package/dist/esm/pos-document.entry.js +1 -1
  4179. package/dist/esm/pos-document.entry.js.map +1 -1
  4180. package/dist/types/components/pos-tool-select/pos-tool-select.d.ts +15 -0
  4181. package/dist/types/components/pos-tool-select/shoelace.d.ts +1 -0
  4182. package/dist/types/components/pos-type-router/pos-type-router.d.ts +9 -2
  4183. package/dist/types/components/pos-type-router/selectToolsForTypes.d.ts +16 -0
  4184. package/dist/types/components.d.ts +47 -0
  4185. package/package.json +3 -3
  4186. package/dist/cjs/app-globals-97a7ec18.js.map +0 -1
  4187. package/dist/cjs/ion-icon_32.cjs.entry.js.map +0 -1
  4188. package/dist/collection/components/pos-type-router/selectAppForTypes.js +0 -33
  4189. package/dist/collection/components/pos-type-router/selectAppForTypes.js.map +0 -1
  4190. package/dist/elements/p-38edfa6d.entry.js +0 -2
  4191. package/dist/elements/p-38edfa6d.entry.js.map +0 -1
  4192. package/dist/elements/p-61cd1259.js +0 -2
  4193. package/dist/elements/p-61cd1259.js.map +0 -1
  4194. package/dist/elements/p-d303d82c.entry.js +0 -652
  4195. package/dist/elements/p-d303d82c.entry.js.map +0 -1
  4196. package/dist/esm/app-globals-fd9221d0.js.map +0 -1
  4197. package/dist/esm/ion-icon_32.entry.js.map +0 -1
  4198. package/dist/types/components/pos-type-router/selectAppForTypes.d.ts +0 -9
@@ -1 +0,0 @@
1
- {"file":"ion-icon.ion-progress-bar.ion-ripple-effect.ion-skeleton-text.ion-toast.pos-add-new-thing.pos-app.pos-app-browser.pos-app-dashboard.pos-app-settings.pos-description.pos-dialog.pos-error-toast.pos-example-resources.pos-getting-started.pos-image.pos-internal-router.pos-label.pos-login.pos-login-form.pos-make-findable.pos-navigation.pos-navigation-bar.pos-new-thing-form.pos-picture.pos-resource.pos-rich-link.pos-router.pos-select-term.pos-setting-offline-cache.pos-type-router.pos-user-menu.entry.js","mappings":"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","names":["isRTL","parser","h","config","getIonMode","createColorClasses","clamp","createStore","Symbol_observable","__await","Symbol_iterator","sessionStore","session","t","e","s","o","n","r","i","S","c","a","l","p","d","u","f","y","css","LocalizeController","DefaultLocalizationController","LitElement","property","computePosition","arrow","flip","offset","shift","size","getComputedStyle","autoPlacement$1","hide$1","inline$1","limitShift$1","html","classMap","query","ifDefined","createRef","ref","isTemplateResult","state"],"sources":["../node_modules/ionicons/dist/collection/components/icon/utils.js","../node_modules/ionicons/dist/collection/components/icon/validate.js","../node_modules/ionicons/dist/collection/components/icon/request.js","../node_modules/ionicons/dist/collection/components/icon/icon.css?tag=ion-icon&encapsulation=shadow","../node_modules/ionicons/dist/collection/components/icon/icon.js","../node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.ios.css?tag=ion-progress-bar&mode=ios&encapsulation=shadow","../node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.md.css?tag=ion-progress-bar&mode=md&encapsulation=shadow","../node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.js","../node_modules/@ionic/core/dist/collection/components/ripple-effect/ripple-effect.css?tag=ion-ripple-effect&encapsulation=shadow","../node_modules/@ionic/core/dist/collection/components/ripple-effect/ripple-effect.js","../node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.css?tag=ion-skeleton-text&encapsulation=shadow","../node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.js","../node_modules/@ionic/core/dist/collection/components/toast/animations/utils.js","../node_modules/@ionic/core/dist/collection/components/toast/animations/ios.enter.js","../node_modules/@ionic/core/dist/collection/components/toast/animations/ios.leave.js","../node_modules/@ionic/core/dist/collection/components/toast/animations/md.enter.js","../node_modules/@ionic/core/dist/collection/components/toast/animations/md.leave.js","../node_modules/@ionic/core/dist/collection/components/toast/gestures/swipe-to-dismiss.js","../node_modules/@ionic/core/dist/collection/components/toast/toast.ios.css?tag=ion-toast&mode=ios&encapsulation=shadow","../node_modules/@ionic/core/dist/collection/components/toast/toast.md.css?tag=ion-toast&mode=md&encapsulation=shadow","../node_modules/@ionic/core/dist/collection/components/toast/toast.js","src/components/pos-add-new-thing/pos-add-new-thing.css?tag=pos-add-new-thing&encapsulation=shadow","src/components/pos-add-new-thing/pos-add-new-thing.tsx","src/store/settings.ts","../node_modules/idb/build/index.js","src/cache/IndexedDbOfflineCache.ts","src/cache/NavigatorOnlineStatus.ts","src/pod-os.ts","../node_modules/rxjs/dist/esm/internal/util/isFunction.js","../node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","../node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","../node_modules/rxjs/dist/esm/internal/util/arrRemove.js","../node_modules/rxjs/dist/esm/internal/Subscription.js","../node_modules/rxjs/dist/esm/internal/config.js","../node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","../node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","../node_modules/rxjs/dist/esm/internal/util/noop.js","../node_modules/rxjs/dist/esm/internal/NotificationFactories.js","../node_modules/rxjs/dist/esm/internal/util/errorContext.js","../node_modules/rxjs/dist/esm/internal/Subscriber.js","../node_modules/rxjs/dist/esm/internal/symbol/observable.js","../node_modules/rxjs/dist/esm/internal/util/identity.js","../node_modules/rxjs/dist/esm/internal/util/pipe.js","../node_modules/rxjs/dist/esm/internal/Observable.js","../node_modules/rxjs/dist/esm/internal/util/lift.js","../node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","../node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","../node_modules/rxjs/dist/esm/internal/Subject.js","../node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","../node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","../node_modules/rxjs/dist/esm/internal/scheduler/Action.js","../node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","../node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","../node_modules/rxjs/dist/esm/internal/Scheduler.js","../node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","../node_modules/rxjs/dist/esm/internal/scheduler/async.js","../node_modules/tslib/tslib.es6.js","../node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","../node_modules/rxjs/dist/esm/internal/util/isPromise.js","../node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","../node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","../node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","../node_modules/rxjs/dist/esm/internal/symbol/iterator.js","../node_modules/rxjs/dist/esm/internal/util/isIterable.js","../node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","../node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","../node_modules/rxjs/dist/esm/internal/operators/debounceTime.js","../node_modules/rxjs/dist/esm/internal/operators/takeUntil.js","../node_modules/@uvdsl/solid-oidc-client-browser/dist/esm/index.js","src/authentication/BrowserSession.ts","src/components/pos-app/pos-app.tsx","src/apps/pos-app-browser/pos-app-browser.css?tag=pos-app-browser","src/apps/pos-app-browser/pos-app-browser.tsx","src/apps/pos-app-dashboard/pos-app-dashboard.css?tag=pos-app-dashboard&encapsulation=shadow","src/apps/pos-app-dashboard/pos-app-dashboard.tsx","src/apps/pos-app-settings/pos-app-settings.css?tag=pos-app-settings&encapsulation=shadow","src/apps/pos-app-settings/pos-app-settings.tsx","src/components/pos-description/pos-description.tsx","src/components/pos-dialog/pos-dialog.css?tag=pos-dialog","src/components/pos-dialog/pos-dialog.tsx","src/components/pos-error-toast/pos-error-toast.tsx","src/apps/pos-app-dashboard/pos-example-resources/pos-example-resources.css?tag=pos-example-resources&encapsulation=shadow","src/apps/pos-app-dashboard/pos-example-resources/pos-example-resources.tsx","src/apps/pos-app-dashboard/pos-getting-started/pos-getting-started.css?tag=pos-getting-started&encapsulation=shadow","src/apps/pos-app-dashboard/pos-getting-started/pos-getting-started.tsx","src/components/pos-image/pos-image.css?tag=pos-image&encapsulation=shadow","src/components/pos-image/pos-image.tsx","src/components/pos-internal-router/pos-internal-router.tsx","src/components/pos-label/pos-label.tsx","src/components/pos-login/pos-login.css?tag=pos-login&encapsulation=shadow","src/components/pos-login/pos-login.tsx","src/components/pos-login-form/pos-login-form.css?tag=pos-login-form&encapsulation=shadow","src/components/pos-login-form/pos-login-form.tsx","../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.LXP7GVU3.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.KAW7D32O.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.VESXC477.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.3KSWVBQ5.js","../node_modules/@shoelace-style/localize/dist/index.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.7BTDLTNI.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.6CTB5ZDJ.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.TUVJKY7S.js","../node_modules/@lit/reactive-element/decorators/property.js","../node_modules/@lit/reactive-element/decorators/state.js","../node_modules/@lit/reactive-element/decorators/base.js","../node_modules/@lit/reactive-element/decorators/query.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.4TUIT776.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js","../node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js","../node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directives/class-map.js","../node_modules/composed-offset-position/dist/composed-offset-position.esm.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.5JY5FUCG.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.K7JGTRV7.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.B4BZKR24.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.AJ3ENQ5C.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.GMYPQTFK.js","../node_modules/lit-html/directives/if-defined.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.C56A5M6T.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.UDWRA64J.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.VVA35HTY.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.Q6CVTR7F.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.JHOXTQXA.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.KZJNDGFO.js","../node_modules/lit-html/directive-helpers.js","../node_modules/lit-html/async-directive.js","../node_modules/lit-html/directives/ref.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.ZLIGP6HZ.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.7DUCI5S4.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.36O46B5H.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.NYIIDP5N.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.3Y6SB6QS.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.P7ZG6EMR.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.3TFKS637.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.ZL53POKZ.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.QLXRCYS4.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.YHLNUJ7P.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.WGYPSPL3.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.HVTXQL7M.js","src/components/pos-make-findable/pos-make-findable.css?tag=pos-make-findable&encapsulation=shadow","src/components/pos-make-findable/pos-make-findable.tsx","src/components/pos-navigation/pos-navigation.css?tag=pos-navigation&encapsulation=shadow","src/components/pos-navigation/pos-navigation.tsx","src/components/pos-navigation/bar/pos-navigation-bar.css?tag=pos-navigation-bar&encapsulation=shadow","src/components/pos-navigation/bar/pos-navigation-bar.tsx","src/components/pos-new-thing-form/pos-new-thing-form.css?tag=pos-new-thing-form&encapsulation=shadow","src/components/pos-new-thing-form/pos-new-thing-form.tsx","src/components/pos-picture/pos-picture.css?tag=pos-picture&encapsulation=shadow","src/components/pos-picture/pos-picture.tsx","src/components/pos-resource/pos-resource.css?tag=pos-resource&encapsulation=shadow","src/components/pos-resource/pos-resource.tsx","src/components/pos-rich-link/pos-rich-link.css?tag=pos-rich-link&encapsulation=shadow","src/components/pos-rich-link/pos-rich-link.tsx","../node_modules/stencil-router-v2/node_modules/@stencil/store/dist/index.mjs","../node_modules/stencil-router-v2/dist/index.mjs","src/components/pos-router/pos-router.css?tag=pos-router","src/components/pos-router/pos-router.tsx","src/components/pos-select-term/pos-select-term.css?tag=pos-select-term&encapsulation=shadow","src/components/pos-select-term/pos-select-term.tsx","src/apps/pos-app-settings/pos-setting-offline-cache/pos-setting-offline-cache.css?tag=pos-setting-offline-cache&encapsulation=shadow","src/apps/pos-app-settings/pos-setting-offline-cache/pos-setting-offline-cache.tsx","src/components/pos-type-router/selectAppForTypes.ts","src/components/pos-type-router/pos-type-router.tsx","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.K35GSB4N.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.WREZSXX4.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.24ZZSBUF.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.SUSCR7CI.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.5ZSXZIE6.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.IVVHNXMC.js","src/components/pos-user-menu/pos-user-menu.css?tag=pos-user-menu&encapsulation=shadow","src/components/pos-user-menu/pos-user-menu.tsx"],"sourcesContent":["import { getAssetPath } from \"@stencil/core\";\nlet CACHED_MAP;\nexport const getIconMap = () => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n else {\n if (!CACHED_MAP) {\n const win = window;\n win.Ionicons = win.Ionicons || {};\n CACHED_MAP = win.Ionicons.map = win.Ionicons.map || new Map();\n }\n return CACHED_MAP;\n }\n};\nexport const addIcons = (icons) => {\n Object.keys(icons).forEach(name => {\n addToIconMap(name, icons[name]);\n /**\n * Developers can also pass in the SVG object directly\n * and Ionicons can map the object to a kebab case name.\n * Example: addIcons({ addCircleOutline });\n * This will create an \"addCircleOutline\" entry and\n * an \"add-circle-outline\" entry.\n * Usage: <ion-icon name=\"add-circle-outline\"></ion-icon>\n * Using name=\"addCircleOutline\" is valid too, but the\n * kebab case naming is preferred.\n */\n const toKebabCase = name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g, \"$1-$2\").toLowerCase();\n if (name !== toKebabCase) {\n addToIconMap(toKebabCase, icons[name]);\n }\n });\n};\nconst addToIconMap = (name, data) => {\n const map = getIconMap();\n const existingIcon = map.get(name);\n if (existingIcon === undefined) {\n map.set(name, data);\n /**\n * Importing and defining the same icon reference\n * multiple times should not yield a warning.\n */\n }\n else if (existingIcon !== data) {\n console.warn(`[Ionicons Warning]: Multiple icons were mapped to name \"${name}\". Ensure that multiple icons are not mapped to the same icon name.`);\n }\n};\nexport const getUrl = (i) => {\n let url = getSrc(i.src);\n if (url) {\n return url;\n }\n url = getName(i.name, i.icon, i.mode, i.ios, i.md);\n if (url) {\n return getNamedUrl(url, i);\n }\n if (i.icon) {\n url = getSrc(i.icon);\n if (url) {\n return url;\n }\n url = getSrc(i.icon[i.mode]);\n if (url) {\n return url;\n }\n }\n return null;\n};\nconst getNamedUrl = (iconName, iconEl) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n try {\n return getAssetPath(`svg/${iconName}.svg`);\n }\n catch (e) {\n /**\n * In the custom elements build version of ionicons, referencing an icon\n * by name will throw an invalid URL error because the asset path is not defined.\n * This catches that error and logs something that is more developer-friendly.\n * We also include a reference to the ion-icon element so developers can\n * figure out which instance of ion-icon needs to be updated.\n */\n console.warn(`[Ionicons Warning]: Could not load icon with name \"${iconName}\". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to the icon component.`, iconEl);\n }\n};\nexport const getName = (iconName, icon, mode, ios, md) => {\n // default to \"md\" if somehow the mode wasn't set\n mode = (mode && toLower(mode)) === 'ios' ? 'ios' : 'md';\n // if an icon was passed in using the ios or md attributes\n // set the iconName to whatever was passed in\n if (ios && mode === 'ios') {\n iconName = toLower(ios);\n }\n else if (md && mode === 'md') {\n iconName = toLower(md);\n }\n else {\n if (!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n }\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n // only allow alpha characters and dash\n const invalidChars = iconName.replace(/[a-z]|-|\\d/gi, '');\n if (invalidChars !== '') {\n return null;\n }\n return iconName;\n};\nexport const getSrc = (src) => {\n if (isStr(src)) {\n src = src.trim();\n if (isSrc(src)) {\n return src;\n }\n }\n return null;\n};\nexport const isSrc = (str) => str.length > 0 && /(\\/|\\.)/.test(str);\nexport const isStr = (val) => typeof val === 'string';\nexport const toLower = (val) => val.toLowerCase();\n/**\n * Elements inside of web components sometimes need to inherit global attributes\n * set on the host. For example, the inner input in `ion-input` should inherit\n * the `title` attribute that developers set directly on `ion-input`. This\n * helper function should be called in componentWillLoad and assigned to a variable\n * that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (el, attributes = []) => {\n const attributeObject = {};\n attributes.forEach(attr => {\n if (el.hasAttribute(attr)) {\n const value = el.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = el.getAttribute(attr);\n }\n el.removeAttribute(attr);\n }\n });\n return attributeObject;\n};\n/**\n * Returns `true` if the document or host element\n * has a `dir` set to `rtl`. The host value will always\n * take priority over the root document value.\n */\nexport const isRTL = (hostEl) => {\n if (hostEl) {\n if (hostEl.dir !== '') {\n return hostEl.dir.toLowerCase() === 'rtl';\n }\n }\n return (document === null || document === void 0 ? void 0 : document.dir.toLowerCase()) === 'rtl';\n};\n","import { isStr } from \"./utils\";\nexport const validateContent = (svgContent) => {\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n // setup this way to ensure it works on our buddy IE\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {\n div.removeChild(div.childNodes[i]);\n }\n }\n // must only have 1 root element\n const svgElm = div.firstElementChild;\n if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') {\n const svgClass = svgElm.getAttribute('class') || '';\n svgElm.setAttribute('class', (svgClass + ' s-ion-icon').trim());\n // root element must be an svg\n // lets double check we've got valid elements\n // do not allow scripts\n if (isValid(svgElm)) {\n return div.innerHTML;\n }\n }\n return '';\n};\nexport const isValid = (elm) => {\n if (elm.nodeType === 1) {\n if (elm.nodeName.toLowerCase() === 'script') {\n return false;\n }\n for (let i = 0; i < elm.attributes.length; i++) {\n const name = elm.attributes[i].name;\n if (isStr(name) && name.toLowerCase().indexOf('on') === 0) {\n return false;\n }\n }\n for (let i = 0; i < elm.childNodes.length; i++) {\n if (!isValid(elm.childNodes[i])) {\n return false;\n }\n }\n }\n return true;\n};\nexport const isSvgDataUrl = (url) => url.startsWith('data:image/svg+xml');\nexport const isEncodedDataUrl = (url) => url.indexOf(';utf8,') !== -1;\n","import { isEncodedDataUrl, isSvgDataUrl, validateContent } from \"./validate\";\nexport const ioniconContent = new Map();\nconst requests = new Map();\nlet parser;\nexport const getSvgContent = (url, sanitize) => {\n // see if we already have a request for this url\n let req = requests.get(url);\n if (!req) {\n if (typeof fetch !== 'undefined' && typeof document !== 'undefined') {\n /**\n * If the url is a data url of an svg, then try to parse it\n * with the DOMParser. This works with content security policies enabled.\n */\n if (isSvgDataUrl(url) && isEncodedDataUrl(url)) {\n if (!parser) {\n /**\n * Create an instance of the DOM parser. This creates a single\n * parser instance for the entire app, which is more efficient.\n */\n parser = new DOMParser();\n }\n const doc = parser.parseFromString(url, 'text/html');\n const svg = doc.querySelector('svg');\n if (svg) {\n ioniconContent.set(url, svg.outerHTML);\n }\n return Promise.resolve();\n }\n else {\n // we don't already have a request\n req = fetch(url).then((rsp) => {\n if (rsp.ok) {\n return rsp.text().then((svgContent) => {\n if (svgContent && sanitize !== false) {\n svgContent = validateContent(svgContent);\n }\n ioniconContent.set(url, svgContent || '');\n });\n }\n ioniconContent.set(url, '');\n });\n // cache for the same requests\n requests.set(url, req);\n }\n }\n else {\n // set to empty for ssr scenarios and resolve promise\n ioniconContent.set(url, '');\n return Promise.resolve();\n }\n }\n return req;\n};\n",":host {\n display: inline-block;\n\n width: 1em;\n height: 1em;\n\n contain: strict;\n\n fill: currentColor;\n\n box-sizing: content-box !important;\n\n}\n\n:host .ionicon {\n stroke: currentColor;\n}\n\n.ionicon-fill-none {\n fill: none;\n}\n\n.ionicon-stroke-width {\n stroke-width: 32px;\n stroke-width: var(--ionicon-stroke-width, 32px);\n}\n\n.icon-inner,\n.ionicon,\nsvg {\n display: block;\n\n height: 100%;\n width: 100%;\n}\n\n/* Icon RTL\n * -----------------------------------------------------------\n */\n\n/**\n * Safari <16.4 incorrectly reports\n * that it supports :dir(rtl) when it does not.\n * This @supports statement lets us target\n * WebKit browsers to apply the RTL fallback.\n * -webkit-named-image only exists on WebKit.\n * For WebKit browsers that do support :dir(rtl)\n * (i.e. Safari >= 16.4) then the :dir(rtl)\n * code farther down on the page will take\n * effect and override this fallback.\n */\n@supports (background: -webkit-named-image(i)) {\n :host(.icon-rtl) .icon-inner {\n transform: scaleX(-1);\n }\n}\n\n/**\n * Fallback for browsers that support\n * neither :host-context nor :dir.\n * The icon will not react to dir\n * changes, but it will at least\n * respect the dir on component load.\n */\n@supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])) {\n :host(.icon-rtl) .icon-inner {\n transform: scaleX(-1);\n }\n}\n\n/* :host-context is supported in chromium; :dir is supported in safari & firefox */\n:host(.flip-rtl):host-context([dir='rtl']) .icon-inner {\n transform: scaleX(-1);\n}\n\n@supports selector(:dir(rtl)) {\n :host(.flip-rtl:dir(rtl)) .icon-inner {\n transform: scaleX(-1);\n }\n /**\n * This is needed for WebKit otherwise the fallback\n * will always cause the icon to be flipped if the document\n * loads in RTL.\n */\n :host(.flip-rtl:dir(ltr)) .icon-inner {\n transform: scaleX(1);\n }\n}\n\n/* Icon Sizes\n * -----------------------------------------------------------\n */\n\n:host(.icon-small) {\n font-size: 1.125rem !important;\n}\n\n:host(.icon-large) {\n font-size: 2rem !important;\n}\n\n/* Icon Colors\n * -----------------------------------------------------------\n */\n\n:host(.ion-color) {\n color: var(--ion-color-base) !important;\n}\n\n:host(.ion-color-primary) {\n --ion-color-base: var(--ion-color-primary, #3880ff);\n}\n\n:host(.ion-color-secondary) {\n --ion-color-base: var(--ion-color-secondary, #0cd1e8);\n}\n\n:host(.ion-color-tertiary) {\n --ion-color-base: var(--ion-color-tertiary, #f4a942);\n}\n\n:host(.ion-color-success) {\n --ion-color-base: var(--ion-color-success, #10dc60);\n}\n\n:host(.ion-color-warning) {\n --ion-color-base: var(--ion-color-warning, #ffce00);\n}\n\n:host(.ion-color-danger) {\n --ion-color-base: var(--ion-color-danger, #f14141);\n}\n\n:host(.ion-color-light) {\n --ion-color-base: var(--ion-color-light, #f4f5f8);\n}\n\n:host(.ion-color-medium) {\n --ion-color-base: var(--ion-color-medium, #989aa2);\n}\n\n:host(.ion-color-dark) {\n --ion-color-base: var(--ion-color-dark, #222428);\n}\n","import { Build, Host, h } from \"@stencil/core\";\nimport { getSvgContent, ioniconContent } from \"./request\";\nimport { getName, getUrl, inheritAttributes, isRTL } from \"./utils\";\nexport class Icon {\n constructor() {\n this.iconName = null;\n this.inheritedAttributes = {};\n this.didLoadIcon = false;\n this.svgContent = undefined;\n this.isVisible = false;\n this.mode = getIonMode();\n this.color = undefined;\n this.ios = undefined;\n this.md = undefined;\n this.flipRtl = undefined;\n this.name = undefined;\n this.src = undefined;\n this.icon = undefined;\n this.size = undefined;\n this.lazy = false;\n this.sanitize = true;\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);\n }\n connectedCallback() {\n // purposely do not return the promise here because loading\n // the svg file should not hold up loading the app\n // only load the svg if it's visible\n this.waitUntilVisible(this.el, '50px', () => {\n this.isVisible = true;\n this.loadIcon();\n });\n }\n componentDidLoad() {\n /**\n * Addresses an Angular issue where property values are assigned after the 'connectedCallback' but prior to the registration of watchers.\n * This enhancement ensures the loading of an icon when the component has finished rendering and the icon has yet to apply the SVG data.\n * This modification pertains to the usage of Angular's binding syntax:\n * `<ion-icon [name]=\"myIconName\"></ion-icon>`\n */\n if (!this.didLoadIcon) {\n this.loadIcon();\n }\n }\n disconnectedCallback() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n }\n waitUntilVisible(el, rootMargin, cb) {\n if (Build.isBrowser && this.lazy && typeof window !== 'undefined' && window.IntersectionObserver) {\n const io = (this.io = new window.IntersectionObserver((data) => {\n if (data[0].isIntersecting) {\n io.disconnect();\n this.io = undefined;\n cb();\n }\n }, { rootMargin }));\n io.observe(el);\n }\n else {\n // browser doesn't support IntersectionObserver\n // so just fallback to always show it\n cb();\n }\n }\n loadIcon() {\n if (Build.isBrowser && this.isVisible) {\n const url = getUrl(this);\n if (url) {\n if (ioniconContent.has(url)) {\n // sync if it's already loaded\n this.svgContent = ioniconContent.get(url);\n }\n else {\n // async if it hasn't been loaded\n getSvgContent(url, this.sanitize).then(() => (this.svgContent = ioniconContent.get(url)));\n }\n this.didLoadIcon = true;\n }\n }\n this.iconName = getName(this.name, this.icon, this.mode, this.ios, this.md);\n }\n render() {\n const { flipRtl, iconName, inheritedAttributes, el } = this;\n const mode = this.mode || 'md';\n // we have designated that arrows & chevrons should automatically flip (unless flip-rtl is set to false) because \"back\" is left in ltr and right in rtl, and \"forward\" is the opposite\n const shouldAutoFlip = iconName\n ? (iconName.includes('arrow') || iconName.includes('chevron')) && flipRtl !== false\n : false;\n // if shouldBeFlippable is true, the icon should change direction when `dir` changes\n const shouldBeFlippable = flipRtl || shouldAutoFlip;\n return (h(Host, Object.assign({ role: \"img\", class: Object.assign(Object.assign({ [mode]: true }, createColorClasses(this.color)), { [`icon-${this.size}`]: !!this.size, 'flip-rtl': shouldBeFlippable, 'icon-rtl': shouldBeFlippable && isRTL(el) }) }, inheritedAttributes), Build.isBrowser && this.svgContent ? (h(\"div\", { class: \"icon-inner\", innerHTML: this.svgContent })) : (h(\"div\", { class: \"icon-inner\" }))));\n }\n static get is() { return \"ion-icon\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"icon.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"icon.css\"]\n };\n }\n static get assetsDirs() { return [\"svg\"]; }\n static get properties() {\n return {\n \"mode\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The mode determines which platform styles to use.\"\n },\n \"attribute\": \"mode\",\n \"reflect\": false,\n \"defaultValue\": \"getIonMode()\"\n },\n \"color\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The color to use for the background of the item.\"\n },\n \"attribute\": \"color\",\n \"reflect\": false\n },\n \"ios\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies which icon to use on `ios` mode.\"\n },\n \"attribute\": \"ios\",\n \"reflect\": false\n },\n \"md\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies which icon to use on `md` mode.\"\n },\n \"attribute\": \"md\",\n \"reflect\": false\n },\n \"flipRtl\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies whether the icon should horizontally flip when `dir` is `\\\"rtl\\\"`.\"\n },\n \"attribute\": \"flip-rtl\",\n \"reflect\": false\n },\n \"name\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies which icon to use from the built-in set of icons.\"\n },\n \"attribute\": \"name\",\n \"reflect\": true\n },\n \"src\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies the exact `src` of an SVG file to use.\"\n },\n \"attribute\": \"src\",\n \"reflect\": false\n },\n \"icon\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A combination of both `name` and `src`. If a `src` url is detected\\nit will set the `src` property. Otherwise it assumes it's a built-in named\\nSVG and set the `name` property.\"\n },\n \"attribute\": \"icon\",\n \"reflect\": false\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the icon.\\nAvailable options are: `\\\"small\\\"` and `\\\"large\\\"`.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false\n },\n \"lazy\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If enabled, ion-icon will be loaded lazily when it's visible in the viewport.\\nDefault, `false`.\"\n },\n \"attribute\": \"lazy\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"sanitize\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"default\",\n \"text\": \"true\"\n }],\n \"text\": \"When set to `false`, SVG content that is HTTP fetched will not be checked\\nif the response SVG content has any `<script>` elements, or any attributes\\nthat start with `on`, such as `onclick`.\"\n },\n \"attribute\": \"sanitize\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n }\n };\n }\n static get states() {\n return {\n \"svgContent\": {},\n \"isVisible\": {}\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"name\",\n \"methodName\": \"loadIcon\"\n }, {\n \"propName\": \"src\",\n \"methodName\": \"loadIcon\"\n }, {\n \"propName\": \"icon\",\n \"methodName\": \"loadIcon\"\n }, {\n \"propName\": \"ios\",\n \"methodName\": \"loadIcon\"\n }, {\n \"propName\": \"md\",\n \"methodName\": \"loadIcon\"\n }];\n }\n}\nconst getIonMode = () => (Build.isBrowser && typeof document !== 'undefined' && document.documentElement.getAttribute('mode')) || 'md';\nconst createColorClasses = (color) => {\n return color\n ? {\n 'ion-color': true,\n [`ion-color-${color}`]: true,\n }\n : null;\n};\n","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n /**\n * @prop --background: Background of the progress track, or the buffer bar if `buffer` is set\n * @prop --progress-background: Background of the progress bar representing the current value\n * @prop --buffer-background: DEPRECATED, use `--background` instead\n */\n --background: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.3);\n --progress-background: var(--ion-color-primary, #3880ff);\n --buffer-background: var(--background);\n display: block;\n position: relative;\n width: 100%;\n contain: strict;\n direction: ltr;\n overflow: hidden;\n}\n\n.progress,\n.progress-indeterminate,\n.indeterminate-bar-primary,\n.indeterminate-bar-secondary,\n.progress-buffer-bar {\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.buffer-circles-container,\n.buffer-circles {\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n position: absolute;\n}\n\n.buffer-circles {\n /* stylelint-disable property-disallowed-list */\n right: -10px;\n left: -10px;\n /* stylelint-enable property-disallowed-list */\n}\n\n.progress,\n.progress-buffer-bar,\n.buffer-circles-container {\n /* stylelint-disable-next-line property-disallowed-list */\n transform-origin: left top;\n transition: transform 150ms linear;\n}\n\n.progress,\n.progress-indeterminate {\n background: var(--progress-background);\n z-index: 2;\n}\n\n.progress-buffer-bar {\n background: var(--buffer-background);\n z-index: 1;\n}\n\n.buffer-circles-container {\n overflow: hidden;\n}\n\n.indeterminate-bar-primary {\n /* stylelint-disable property-disallowed-list */\n top: 0;\n right: 0;\n bottom: 0;\n left: -145.166611%;\n /* stylelint-enable property-disallowed-list */\n animation: primary-indeterminate-translate 2s infinite linear;\n}\n.indeterminate-bar-primary .progress-indeterminate {\n animation: primary-indeterminate-scale 2s infinite linear;\n animation-play-state: inherit;\n}\n\n.indeterminate-bar-secondary {\n /* stylelint-disable property-disallowed-list */\n top: 0;\n right: 0;\n bottom: 0;\n left: -54.888891%;\n /* stylelint-enable property-disallowed-list */\n animation: secondary-indeterminate-translate 2s infinite linear;\n}\n.indeterminate-bar-secondary .progress-indeterminate {\n animation: secondary-indeterminate-scale 2s infinite linear;\n animation-play-state: inherit;\n}\n\n.buffer-circles {\n background-image: radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%);\n /* stylelint-disable property-disallowed-list */\n background-repeat: repeat-x;\n background-position: 5px center;\n background-size: 10px 10px;\n /* stylelint-enable property-disallowed-list */\n z-index: 0;\n animation: buffering 450ms infinite linear;\n}\n\n:host(.progress-bar-reversed) {\n transform: scaleX(-1);\n}\n\n:host(.progress-paused) .indeterminate-bar-secondary,\n:host(.progress-paused) .indeterminate-bar-primary,\n:host(.progress-paused) .buffer-circles {\n animation-play-state: paused;\n}\n\n:host(.ion-color) .progress-buffer-bar {\n background: rgba(var(--ion-color-base-rgb), 0.3);\n}\n\n:host(.ion-color) .buffer-circles {\n background-image: radial-gradient(ellipse at center, rgba(var(--ion-color-base-rgb), 0.3) 0%, rgba(var(--ion-color-base-rgb), 0.3) 30%, transparent 30%);\n}\n\n:host(.ion-color) .progress,\n:host(.ion-color) .progress-indeterminate {\n background: var(--ion-color-base);\n}\n\n@keyframes primary-indeterminate-translate {\n 0% {\n transform: translateX(0);\n }\n 20% {\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n transform: translateX(0);\n }\n 59.15% {\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n transform: translateX(83.67142%);\n }\n 100% {\n transform: translateX(200.611057%);\n }\n}\n@keyframes primary-indeterminate-scale {\n 0% {\n transform: scaleX(0.08);\n }\n 36.65% {\n animation-timing-function: cubic-bezier(0.334731, 0.12482, 0.785844, 1);\n transform: scaleX(0.08);\n }\n 69.15% {\n animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);\n transform: scaleX(0.661479);\n }\n 100% {\n transform: scaleX(0.08);\n }\n}\n@keyframes secondary-indeterminate-translate {\n 0% {\n animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n transform: translateX(0);\n }\n 25% {\n animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n transform: translateX(37.651913%);\n }\n 48.35% {\n animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n transform: translateX(84.386165%);\n }\n 100% {\n transform: translateX(160.277782%);\n }\n}\n@keyframes secondary-indeterminate-scale {\n 0% {\n animation-timing-function: cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);\n transform: scaleX(0.08);\n }\n 19.15% {\n animation-timing-function: cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);\n transform: scaleX(0.457104);\n }\n 44.15% {\n animation-timing-function: cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);\n transform: scaleX(0.72796);\n }\n 100% {\n transform: scaleX(0.08);\n }\n}\n@keyframes buffering {\n to {\n transform: translateX(-10px);\n }\n}\n:host {\n height: 3px;\n}","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n /**\n * @prop --background: Background of the progress track, or the buffer bar if `buffer` is set\n * @prop --progress-background: Background of the progress bar representing the current value\n * @prop --buffer-background: DEPRECATED, use `--background` instead\n */\n --background: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.3);\n --progress-background: var(--ion-color-primary, #3880ff);\n --buffer-background: var(--background);\n display: block;\n position: relative;\n width: 100%;\n contain: strict;\n direction: ltr;\n overflow: hidden;\n}\n\n.progress,\n.progress-indeterminate,\n.indeterminate-bar-primary,\n.indeterminate-bar-secondary,\n.progress-buffer-bar {\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.buffer-circles-container,\n.buffer-circles {\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n position: absolute;\n}\n\n.buffer-circles {\n /* stylelint-disable property-disallowed-list */\n right: -10px;\n left: -10px;\n /* stylelint-enable property-disallowed-list */\n}\n\n.progress,\n.progress-buffer-bar,\n.buffer-circles-container {\n /* stylelint-disable-next-line property-disallowed-list */\n transform-origin: left top;\n transition: transform 150ms linear;\n}\n\n.progress,\n.progress-indeterminate {\n background: var(--progress-background);\n z-index: 2;\n}\n\n.progress-buffer-bar {\n background: var(--buffer-background);\n z-index: 1;\n}\n\n.buffer-circles-container {\n overflow: hidden;\n}\n\n.indeterminate-bar-primary {\n /* stylelint-disable property-disallowed-list */\n top: 0;\n right: 0;\n bottom: 0;\n left: -145.166611%;\n /* stylelint-enable property-disallowed-list */\n animation: primary-indeterminate-translate 2s infinite linear;\n}\n.indeterminate-bar-primary .progress-indeterminate {\n animation: primary-indeterminate-scale 2s infinite linear;\n animation-play-state: inherit;\n}\n\n.indeterminate-bar-secondary {\n /* stylelint-disable property-disallowed-list */\n top: 0;\n right: 0;\n bottom: 0;\n left: -54.888891%;\n /* stylelint-enable property-disallowed-list */\n animation: secondary-indeterminate-translate 2s infinite linear;\n}\n.indeterminate-bar-secondary .progress-indeterminate {\n animation: secondary-indeterminate-scale 2s infinite linear;\n animation-play-state: inherit;\n}\n\n.buffer-circles {\n background-image: radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%);\n /* stylelint-disable property-disallowed-list */\n background-repeat: repeat-x;\n background-position: 5px center;\n background-size: 10px 10px;\n /* stylelint-enable property-disallowed-list */\n z-index: 0;\n animation: buffering 450ms infinite linear;\n}\n\n:host(.progress-bar-reversed) {\n transform: scaleX(-1);\n}\n\n:host(.progress-paused) .indeterminate-bar-secondary,\n:host(.progress-paused) .indeterminate-bar-primary,\n:host(.progress-paused) .buffer-circles {\n animation-play-state: paused;\n}\n\n:host(.ion-color) .progress-buffer-bar {\n background: rgba(var(--ion-color-base-rgb), 0.3);\n}\n\n:host(.ion-color) .buffer-circles {\n background-image: radial-gradient(ellipse at center, rgba(var(--ion-color-base-rgb), 0.3) 0%, rgba(var(--ion-color-base-rgb), 0.3) 30%, transparent 30%);\n}\n\n:host(.ion-color) .progress,\n:host(.ion-color) .progress-indeterminate {\n background: var(--ion-color-base);\n}\n\n@keyframes primary-indeterminate-translate {\n 0% {\n transform: translateX(0);\n }\n 20% {\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n transform: translateX(0);\n }\n 59.15% {\n animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);\n transform: translateX(83.67142%);\n }\n 100% {\n transform: translateX(200.611057%);\n }\n}\n@keyframes primary-indeterminate-scale {\n 0% {\n transform: scaleX(0.08);\n }\n 36.65% {\n animation-timing-function: cubic-bezier(0.334731, 0.12482, 0.785844, 1);\n transform: scaleX(0.08);\n }\n 69.15% {\n animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);\n transform: scaleX(0.661479);\n }\n 100% {\n transform: scaleX(0.08);\n }\n}\n@keyframes secondary-indeterminate-translate {\n 0% {\n animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n transform: translateX(0);\n }\n 25% {\n animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n transform: translateX(37.651913%);\n }\n 48.35% {\n animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n transform: translateX(84.386165%);\n }\n 100% {\n transform: translateX(160.277782%);\n }\n}\n@keyframes secondary-indeterminate-scale {\n 0% {\n animation-timing-function: cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);\n transform: scaleX(0.08);\n }\n 19.15% {\n animation-timing-function: cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);\n transform: scaleX(0.457104);\n }\n 44.15% {\n animation-timing-function: cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);\n transform: scaleX(0.72796);\n }\n 100% {\n transform: scaleX(0.08);\n }\n}\n@keyframes buffering {\n to {\n transform: translateX(-10px);\n }\n}\n:host {\n height: 4px;\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Host, h } from \"@stencil/core\";\nimport { clamp } from \"../../utils/helpers\";\nimport { createColorClasses } from \"../../utils/theme\";\nimport { config } from \"../../global/config\";\nimport { getIonMode } from \"../../global/ionic-global\";\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n *\n * @part progress - The progress bar that shows the current value when `type` is `\"determinate\"` and slides back and forth when `type` is `\"indeterminate\"`.\n * @part stream - The animated circles that appear while buffering. This only shows when `buffer` is set and `type` is `\"determinate\"`.\n * @part track - The track bar behind the progress bar. If the `buffer` property is set and `type` is `\"determinate\"` the track will be the\n * width of the `buffer` value.\n */\nexport class ProgressBar {\n constructor() {\n this.type = 'determinate';\n this.reversed = false;\n this.value = 0;\n this.buffer = 1;\n this.color = undefined;\n }\n render() {\n const { color, type, reversed, value, buffer } = this;\n const paused = config.getBoolean('_testing');\n const mode = getIonMode(this);\n return (h(Host, { key: '944b79ed6fce1b2c0ed48681cd8517a5abbddd80', role: \"progressbar\", \"aria-valuenow\": type === 'determinate' ? value : null, \"aria-valuemin\": \"0\", \"aria-valuemax\": \"1\", class: createColorClasses(color, {\n [mode]: true,\n [`progress-bar-${type}`]: true,\n 'progress-paused': paused,\n 'progress-bar-reversed': document.dir === 'rtl' ? !reversed : reversed,\n }) }, type === 'indeterminate' ? renderIndeterminate() : renderProgress(value, buffer)));\n }\n static get is() { return \"ion-progress-bar\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"ios\": [\"progress-bar.ios.scss\"],\n \"md\": [\"progress-bar.md.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"ios\": [\"progress-bar.ios.css\"],\n \"md\": [\"progress-bar.md.css\"]\n };\n }\n static get properties() {\n return {\n \"type\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'determinate' | 'indeterminate'\",\n \"resolved\": \"\\\"determinate\\\" | \\\"indeterminate\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The state of the progress bar, based on if the time the process takes is known or not.\\nDefault options are: `\\\"determinate\\\"` (no animation), `\\\"indeterminate\\\"` (animate from left to right).\"\n },\n \"attribute\": \"type\",\n \"reflect\": false,\n \"defaultValue\": \"'determinate'\"\n },\n \"reversed\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If true, reverse the progress bar direction.\"\n },\n \"attribute\": \"reversed\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"value\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value determines how much of the active bar should display when the\\n`type` is `\\\"determinate\\\"`.\\nThe value should be between [0, 1].\"\n },\n \"attribute\": \"value\",\n \"reflect\": false,\n \"defaultValue\": \"0\"\n },\n \"buffer\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If the buffer and value are smaller than 1, the buffer circles will show.\\nThe buffer should be between [0, 1].\"\n },\n \"attribute\": \"buffer\",\n \"reflect\": false,\n \"defaultValue\": \"1\"\n },\n \"color\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"Color\",\n \"resolved\": \"\\\"danger\\\" | \\\"dark\\\" | \\\"light\\\" | \\\"medium\\\" | \\\"primary\\\" | \\\"secondary\\\" | \\\"success\\\" | \\\"tertiary\\\" | \\\"warning\\\" | string & Record<never, never> | undefined\",\n \"references\": {\n \"Color\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::Color\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The color to use from your application's color palette.\\nDefault options are: `\\\"primary\\\"`, `\\\"secondary\\\"`, `\\\"tertiary\\\"`, `\\\"success\\\"`, `\\\"warning\\\"`, `\\\"danger\\\"`, `\\\"light\\\"`, `\\\"medium\\\"`, and `\\\"dark\\\"`.\\nFor more information on colors, see [theming](/docs/theming/basics).\"\n },\n \"attribute\": \"color\",\n \"reflect\": true\n }\n };\n }\n}\nconst renderIndeterminate = () => {\n return (h(\"div\", { part: \"track\", class: \"progress-buffer-bar\" }, h(\"div\", { class: \"indeterminate-bar-primary\" }, h(\"span\", { part: \"progress\", class: \"progress-indeterminate\" })), h(\"div\", { class: \"indeterminate-bar-secondary\" }, h(\"span\", { part: \"progress\", class: \"progress-indeterminate\" }))));\n};\nconst renderProgress = (value, buffer) => {\n const finalValue = clamp(0, value, 1);\n const finalBuffer = clamp(0, buffer, 1);\n return [\n h(\"div\", { part: \"progress\", class: \"progress\", style: { transform: `scaleX(${finalValue})` } }),\n /**\n * Buffer circles with two container to move\n * the circles behind the buffer progress\n * with respecting the animation.\n * When finalBuffer === 1, we use display: none\n * instead of removing the element to avoid flickering.\n */\n h(\"div\", { class: { 'buffer-circles-container': true, 'ion-hide': finalBuffer === 1 }, style: { transform: `translateX(${finalBuffer * 100}%)` } }, h(\"div\", { class: \"buffer-circles-container\", style: { transform: `translateX(-${finalBuffer * 100}%)` } }, h(\"div\", { part: \"stream\", class: \"buffer-circles\" }))),\n h(\"div\", { part: \"track\", class: \"progress-buffer-bar\", style: { transform: `scaleX(${finalBuffer})` } }),\n ];\n};\n","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n position: absolute;\n contain: strict;\n pointer-events: none;\n}\n\n:host(.unbounded) {\n contain: layout size style;\n}\n\n.ripple-effect {\n border-radius: 50%;\n position: absolute;\n background-color: currentColor;\n color: inherit;\n contain: strict;\n opacity: 0;\n animation: 225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;\n will-change: transform, opacity;\n pointer-events: none;\n}\n\n.fade-out {\n transform: translate(var(--translate-end)) scale(var(--final-scale, 1));\n animation: 150ms fadeOutAnimation forwards;\n}\n\n@keyframes rippleAnimation {\n from {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transform: scale(1);\n }\n to {\n transform: translate(var(--translate-end)) scale(var(--final-scale, 1));\n }\n}\n@keyframes fadeInAnimation {\n from {\n animation-timing-function: linear;\n opacity: 0;\n }\n to {\n opacity: 0.16;\n }\n}\n@keyframes fadeOutAnimation {\n from {\n animation-timing-function: linear;\n opacity: 0.16;\n }\n to {\n opacity: 0;\n }\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Host, h, readTask, writeTask } from \"@stencil/core\";\nimport { getIonMode } from \"../../global/ionic-global\";\nexport class RippleEffect {\n constructor() {\n this.type = 'bounded';\n }\n /**\n * Adds the ripple effect to the parent element.\n *\n * @param x The horizontal coordinate of where the ripple should start.\n * @param y The vertical coordinate of where the ripple should start.\n */\n async addRipple(x, y) {\n return new Promise((resolve) => {\n readTask(() => {\n const rect = this.el.getBoundingClientRect();\n const width = rect.width;\n const height = rect.height;\n const hypotenuse = Math.sqrt(width * width + height * height);\n const maxDim = Math.max(height, width);\n const maxRadius = this.unbounded ? maxDim : hypotenuse + PADDING;\n const initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n const finalScale = maxRadius / initialSize;\n let posX = x - rect.left;\n let posY = y - rect.top;\n if (this.unbounded) {\n posX = width * 0.5;\n posY = height * 0.5;\n }\n const styleX = posX - initialSize * 0.5;\n const styleY = posY - initialSize * 0.5;\n const moveX = width * 0.5 - posX;\n const moveY = height * 0.5 - posY;\n writeTask(() => {\n const div = document.createElement('div');\n div.classList.add('ripple-effect');\n const style = div.style;\n style.top = styleY + 'px';\n style.left = styleX + 'px';\n style.width = style.height = initialSize + 'px';\n style.setProperty('--final-scale', `${finalScale}`);\n style.setProperty('--translate-end', `${moveX}px, ${moveY}px`);\n const container = this.el.shadowRoot || this.el;\n container.appendChild(div);\n setTimeout(() => {\n resolve(() => {\n removeRipple(div);\n });\n }, 225 + 100);\n });\n });\n });\n }\n get unbounded() {\n return this.type === 'unbounded';\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { key: 'f1129019a6d556b008c754aeb79618c69baea9f8', role: \"presentation\", class: {\n [mode]: true,\n unbounded: this.unbounded,\n } }));\n }\n static get is() { return \"ion-ripple-effect\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ripple-effect.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ripple-effect.css\"]\n };\n }\n static get properties() {\n return {\n \"type\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'bounded' | 'unbounded'\",\n \"resolved\": \"\\\"bounded\\\" | \\\"unbounded\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the type of ripple-effect:\\n\\n- `bounded`: the ripple effect expands from the user's click position\\n- `unbounded`: the ripple effect expands from the center of the button and overflows the container.\\n\\nNOTE: Surfaces for bounded ripples should have the overflow property set to hidden,\\nwhile surfaces for unbounded ripples should have it set to visible.\"\n },\n \"attribute\": \"type\",\n \"reflect\": false,\n \"defaultValue\": \"'bounded'\"\n }\n };\n }\n static get methods() {\n return {\n \"addRipple\": {\n \"complexType\": {\n \"signature\": \"(x: number, y: number) => Promise<() => void>\",\n \"parameters\": [{\n \"name\": \"x\",\n \"type\": \"number\",\n \"docs\": \"The horizontal coordinate of where the ripple should start.\"\n }, {\n \"name\": \"y\",\n \"type\": \"number\",\n \"docs\": \"The vertical coordinate of where the ripple should start.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<() => void>\"\n },\n \"docs\": {\n \"text\": \"Adds the ripple effect to the parent element.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"x The horizontal coordinate of where the ripple should start.\"\n }, {\n \"name\": \"param\",\n \"text\": \"y The vertical coordinate of where the ripple should start.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\nconst removeRipple = (ripple) => {\n ripple.classList.add('fade-out');\n setTimeout(() => {\n ripple.remove();\n }, 200);\n};\nconst PADDING = 10;\nconst INITIAL_ORIGIN_SCALE = 0.5;\n","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n /**\n * @prop --background: Background of the skeleton text\n * @prop --background-rgb: Background of the skeleton text in rgb format\n *\n * @prop --border-radius: Border radius of the skeleton text\n */\n --background: rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065);\n border-radius: var(--border-radius, inherit);\n display: block;\n width: 100%;\n height: inherit;\n margin-top: 4px;\n margin-bottom: 4px;\n background: var(--background);\n line-height: 10px;\n user-select: none;\n pointer-events: none;\n}\n\nspan {\n display: inline-block;\n}\n\n:host(.in-media) {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n height: 100%;\n}\n\n:host(.skeleton-text-animated) {\n position: relative;\n background: linear-gradient(to right, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135) 18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 33%);\n background-size: 800px 104px;\n animation-duration: 1s;\n animation-fill-mode: forwards;\n animation-iteration-count: infinite;\n animation-name: shimmer;\n animation-timing-function: linear;\n}\n\n/* stylelint-disable property-disallowed-list */\n@keyframes shimmer {\n 0% {\n background-position: -400px 0;\n }\n 100% {\n background-position: 400px 0;\n }\n}\n/* stylelint-enable property-disallowed-list */","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Host, h } from \"@stencil/core\";\nimport { hostContext } from \"../../utils/theme\";\nimport { config } from \"../../global/config\";\nimport { getIonMode } from \"../../global/ionic-global\";\nexport class SkeletonText {\n constructor() {\n this.animated = false;\n }\n componentWillLoad() {\n this.emitStyle();\n }\n emitStyle() {\n // The emitted property is used by item in order\n // to add the item-skeleton-text class which applies\n // overflow: hidden to its label\n const style = {\n 'skeleton-text': true,\n };\n this.ionStyle.emit(style);\n }\n render() {\n const animated = this.animated && config.getBoolean('animated', true);\n const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);\n const mode = getIonMode(this);\n return (h(Host, { key: '4dab0fd2de666de12ad8f6dc6ed1e1de0be67ddd', class: {\n [mode]: true,\n 'skeleton-text-animated': animated,\n 'in-media': inMedia,\n } }, h(\"span\", { key: 'f8f908ec24d65e63b14d9a54640a5f18f0fa8fa5' }, \"\\u00A0\")));\n }\n static get is() { return \"ion-skeleton-text\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"skeleton-text.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"skeleton-text.css\"]\n };\n }\n static get properties() {\n return {\n \"animated\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the skeleton text will animate.\"\n },\n \"attribute\": \"animated\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"ionStyle\",\n \"name\": \"ionStyle\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"Emitted when the styles change.\"\n },\n \"complexType\": {\n \"original\": \"StyleEventDetail\",\n \"resolved\": \"StyleEventDetail\",\n \"references\": {\n \"StyleEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::StyleEventDetail\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n}\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { win } from \"../../../utils/browser/index\";\nimport { printIonWarning } from \"../../../utils/logging/index\";\n/**\n * Calculate the CSS top and bottom position of the toast, to be used\n * as starting points for the animation keyframes.\n *\n * The default animations for both MD and iOS\n * use translateY, which calculates from the\n * top edge of the screen. This behavior impacts\n * how we compute the offset when a toast has\n * position='bottom' since we need to calculate from\n * the bottom edge of the screen instead.\n *\n * @param position The value of the toast's position prop.\n * @param positionAnchor The element the toast should be anchored to,\n * if applicable.\n * @param mode The toast component's mode (md, ios, etc).\n * @param toast A reference to the toast element itself.\n */\nexport function getAnimationPosition(position, positionAnchor, mode, toast) {\n /**\n * Start with a predefined offset from the edge the toast will be\n * positioned relative to, whether on the screen or anchor element.\n */\n let offset;\n if (mode === 'md') {\n offset = position === 'top' ? 8 : -8;\n }\n else {\n offset = position === 'top' ? 10 : -10;\n }\n /**\n * If positionAnchor is defined, add in the distance from the target\n * screen edge to the target anchor edge. For position=\"top\", the\n * bottom anchor edge is targeted. For position=\"bottom\", the top\n * anchor edge is targeted.\n */\n if (positionAnchor && win) {\n warnIfAnchorIsHidden(positionAnchor, toast);\n const box = positionAnchor.getBoundingClientRect();\n if (position === 'top') {\n offset += box.bottom;\n }\n else if (position === 'bottom') {\n /**\n * Just box.top is the distance from the top edge of the screen\n * to the top edge of the anchor. We want to calculate from the\n * bottom edge of the screen instead.\n */\n offset -= win.innerHeight - box.top;\n }\n /**\n * We don't include safe area here because that should already be\n * accounted for when checking the position of the anchor.\n */\n return {\n top: `${offset}px`,\n bottom: `${offset}px`,\n };\n }\n else {\n return {\n top: `calc(${offset}px + var(--ion-safe-area-top, 0px))`,\n bottom: `calc(${offset}px - var(--ion-safe-area-bottom, 0px))`,\n };\n }\n}\n/**\n * If the anchor element is hidden, getBoundingClientRect()\n * will return all 0s for it, which can cause unexpected\n * results in the position calculation when animating.\n */\nfunction warnIfAnchorIsHidden(positionAnchor, toast) {\n if (positionAnchor.offsetParent === null) {\n printIonWarning('The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);\n }\n}\n/**\n * Returns the top offset required to place\n * the toast in the middle of the screen.\n * Only needed when position=\"toast\".\n * @param toastHeight - The height of the ion-toast element\n * @param wrapperHeight - The height of the .toast-wrapper element\n * inside the toast's shadow root.\n */\nexport const getOffsetForMiddlePosition = (toastHeight, wrapperHeight) => {\n return Math.floor(toastHeight / 2 - wrapperHeight / 2);\n};\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { createAnimation } from \"../../../utils/animation/animation\";\nimport { getElementRoot } from \"../../../utils/helpers\";\nimport { getOffsetForMiddlePosition } from \"./utils\";\n/**\n * iOS Toast Enter Animation\n */\nexport const iosEnterAnimation = (baseEl, opts) => {\n const baseAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n const { position, top, bottom } = opts;\n const root = getElementRoot(baseEl);\n const wrapperEl = root.querySelector('.toast-wrapper');\n wrapperAnimation.addElement(wrapperEl);\n switch (position) {\n case 'top':\n wrapperAnimation.fromTo('transform', 'translateY(-100%)', `translateY(${top})`);\n break;\n case 'middle':\n const topPosition = getOffsetForMiddlePosition(baseEl.clientHeight, wrapperEl.clientHeight);\n wrapperEl.style.top = `${topPosition}px`;\n wrapperAnimation.fromTo('opacity', 0.01, 1);\n break;\n default:\n wrapperAnimation.fromTo('transform', 'translateY(100%)', `translateY(${bottom})`);\n break;\n }\n return baseAnimation.easing('cubic-bezier(.155,1.105,.295,1.12)').duration(400).addAnimation(wrapperAnimation);\n};\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { createAnimation } from \"../../../utils/animation/animation\";\nimport { getElementRoot } from \"../../../utils/helpers\";\n/**\n * iOS Toast Leave Animation\n */\nexport const iosLeaveAnimation = (baseEl, opts) => {\n const baseAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n const { position, top, bottom } = opts;\n const root = getElementRoot(baseEl);\n const wrapperEl = root.querySelector('.toast-wrapper');\n wrapperAnimation.addElement(wrapperEl);\n switch (position) {\n case 'top':\n wrapperAnimation.fromTo('transform', `translateY(${top})`, 'translateY(-100%)');\n break;\n case 'middle':\n wrapperAnimation.fromTo('opacity', 0.99, 0);\n break;\n default:\n wrapperAnimation.fromTo('transform', `translateY(${bottom})`, 'translateY(100%)');\n break;\n }\n return baseAnimation.easing('cubic-bezier(.36,.66,.04,1)').duration(300).addAnimation(wrapperAnimation);\n};\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { createAnimation } from \"../../../utils/animation/animation\";\nimport { getElementRoot } from \"../../../utils/helpers\";\nimport { getOffsetForMiddlePosition } from \"./utils\";\n/**\n * MD Toast Enter Animation\n */\nexport const mdEnterAnimation = (baseEl, opts) => {\n const baseAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n const { position, top, bottom } = opts;\n const root = getElementRoot(baseEl);\n const wrapperEl = root.querySelector('.toast-wrapper');\n wrapperAnimation.addElement(wrapperEl);\n switch (position) {\n case 'top':\n wrapperEl.style.setProperty('transform', `translateY(${top})`);\n wrapperAnimation.fromTo('opacity', 0.01, 1);\n break;\n case 'middle':\n const topPosition = getOffsetForMiddlePosition(baseEl.clientHeight, wrapperEl.clientHeight);\n wrapperEl.style.top = `${topPosition}px`;\n wrapperAnimation.fromTo('opacity', 0.01, 1);\n break;\n default:\n wrapperEl.style.setProperty('transform', `translateY(${bottom})`);\n wrapperAnimation.fromTo('opacity', 0.01, 1);\n break;\n }\n return baseAnimation.easing('cubic-bezier(.36,.66,.04,1)').duration(400).addAnimation(wrapperAnimation);\n};\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { createAnimation } from \"../../../utils/animation/animation\";\nimport { getElementRoot } from \"../../../utils/helpers\";\n/**\n * md Toast Leave Animation\n */\nexport const mdLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n const root = getElementRoot(baseEl);\n const wrapperEl = root.querySelector('.toast-wrapper');\n wrapperAnimation.addElement(wrapperEl).fromTo('opacity', 0.99, 0);\n return baseAnimation.easing('cubic-bezier(.36,.66,.04,1)').duration(300).addAnimation(wrapperAnimation);\n};\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Build } from \"@stencil/core\";\nimport { createAnimation } from \"../../../utils/animation/animation\";\nimport { createGesture } from \"../../../utils/gesture/index\";\nimport { getElementRoot } from \"../../../utils/helpers\";\nimport { OVERLAY_GESTURE_PRIORITY } from \"../../../utils/overlays\";\nimport { getOffsetForMiddlePosition } from \"../animations/utils\";\n/**\n * Create a gesture that allows the Toast\n * to be swiped to dismiss.\n * @param el - The Toast element\n * @param toastPosition - The last computed position of the Toast. This is computed in the \"present\" method.\n * @param onDismiss - A callback to fire when the Toast was swiped to dismiss.\n */\nexport const createSwipeToDismissGesture = (el, toastPosition, onDismiss) => {\n /**\n * Users should swipe on the visible toast wrapper\n * rather than on ion-toast which covers the entire screen.\n * When testing the class instance the inner wrapper will not\n * be defined. As a result, we use a placeholder element in those environments.\n */\n const wrapperEl = Build.isTesting\n ? document.createElement('div')\n : getElementRoot(el).querySelector('.toast-wrapper');\n const hostElHeight = el.clientHeight;\n const wrapperElBox = wrapperEl.getBoundingClientRect();\n /**\n * The maximum amount that\n * the toast can be swiped. This should\n * account for the wrapper element's height\n * too so the toast can be swiped offscreen\n * completely.\n */\n let MAX_SWIPE_DISTANCE = 0;\n /**\n * The step value at which a toast\n * is eligible for dismissing via gesture.\n */\n const DISMISS_THRESHOLD = 0.5;\n /**\n * The middle position Toast starts 50% of the way\n * through the animation, so we need to use this\n * as the starting point for our step values.\n */\n const STEP_OFFSET = el.position === 'middle' ? 0.5 : 0;\n /**\n * When the Toast is at the top users will be\n * swiping up. As a result, the delta values will be\n * negative numbers which will result in negative steps\n * and thresholds. As a result, we need to make those numbers\n * positive.\n */\n const INVERSION_FACTOR = el.position === 'top' ? -1 : 1;\n /**\n * The top offset that places the\n * toast in the middle of the screen.\n * Only needed when position=\"middle\".\n */\n const topPosition = getOffsetForMiddlePosition(hostElHeight, wrapperElBox.height);\n const SWIPE_UP_DOWN_KEYFRAMES = [\n { offset: 0, transform: `translateY(-${topPosition + wrapperElBox.height}px)` },\n { offset: 0.5, transform: `translateY(0px)` },\n { offset: 1, transform: `translateY(${topPosition + wrapperElBox.height}px)` },\n ];\n const swipeAnimation = createAnimation('toast-swipe-to-dismiss-animation')\n .addElement(wrapperEl)\n /**\n * The specific value here does not actually\n * matter. We just need this to be a positive\n * value so the animation does not jump\n * to the end when the user beings to drag.\n */\n .duration(100);\n switch (el.position) {\n case 'middle':\n MAX_SWIPE_DISTANCE = hostElHeight + wrapperElBox.height;\n swipeAnimation.keyframes(SWIPE_UP_DOWN_KEYFRAMES);\n /**\n * Toast can be swiped up or down but\n * should start in the middle of the screen.\n */\n swipeAnimation.progressStart(true, 0.5);\n break;\n case 'top':\n /**\n * The bottom edge of the wrapper\n * includes the distance between the top\n * of the screen and the top of the wrapper\n * as well as the wrapper height so the wrapper\n * can be dragged fully offscreen.\n */\n MAX_SWIPE_DISTANCE = wrapperElBox.bottom;\n swipeAnimation.keyframes([\n { offset: 0, transform: `translateY(${toastPosition.top})` },\n { offset: 1, transform: 'translateY(-100%)' },\n ]);\n swipeAnimation.progressStart(true, 0);\n break;\n case 'bottom':\n default:\n /**\n * This computes the distance between the\n * top of the wrapper and the bottom of the\n * screen including the height of the wrapper\n * element so it can be dragged fully offscreen.\n */\n MAX_SWIPE_DISTANCE = hostElHeight - wrapperElBox.top;\n swipeAnimation.keyframes([\n { offset: 0, transform: `translateY(${toastPosition.bottom})` },\n { offset: 1, transform: 'translateY(100%)' },\n ]);\n swipeAnimation.progressStart(true, 0);\n break;\n }\n const computeStep = (delta) => {\n return (delta * INVERSION_FACTOR) / MAX_SWIPE_DISTANCE;\n };\n const onMove = (detail) => {\n const step = STEP_OFFSET + computeStep(detail.deltaY);\n swipeAnimation.progressStep(step);\n };\n const onEnd = (detail) => {\n const velocity = detail.velocityY;\n const threshold = ((detail.deltaY + velocity * 1000) / MAX_SWIPE_DISTANCE) * INVERSION_FACTOR;\n /**\n * Disable the gesture for the remainder of the animation.\n * It will be re-enabled if the toast animates back to\n * its initial presented position.\n */\n gesture.enable(false);\n let shouldDismiss = true;\n let playTo = 1;\n let step = 0;\n let remainingDistance = 0;\n if (el.position === 'middle') {\n /**\n * A middle positioned Toast appears\n * in the middle of the screen (at animation offset 0.5).\n * As a result, the threshold will be calculated relative\n * to this starting position. In other words at animation offset 0.5\n * the threshold will be 0. We want the middle Toast to be eligible\n * for dismiss when the user has swiped either half way up or down the\n * screen. As a result, we divide DISMISS_THRESHOLD in half. We also\n * consider when the threshold is a negative in the event the\n * user drags up (since the deltaY will also be negative).\n */\n shouldDismiss = threshold >= DISMISS_THRESHOLD / 2 || threshold <= -DISMISS_THRESHOLD / 2;\n /**\n * Since we are replacing the keyframes\n * below the animation always starts from\n * the beginning of the new keyframes.\n * Similarly, we are always playing to\n * the end of the new keyframes.\n */\n playTo = 1;\n step = 0;\n /**\n * The Toast should animate from wherever its\n * current position is to the desired end state.\n *\n * To begin, we get the current position of the\n * Toast for its starting state.\n */\n const wrapperElBox = wrapperEl.getBoundingClientRect();\n const startOffset = wrapperElBox.top - topPosition;\n const startPosition = `${startOffset}px`;\n /**\n * If the deltaY is negative then the user is swiping\n * up, so the Toast should animate to the top of the screen.\n * If the deltaY is positive then the user is swiping\n * down, so the Toast should animate to the bottom of the screen.\n * We also account for when the deltaY is 0, but realistically\n * that should never happen because it means the user did not drag\n * the toast.\n */\n const offsetFactor = detail.deltaY <= 0 ? -1 : 1;\n const endOffset = (topPosition + wrapperElBox.height) * offsetFactor;\n /**\n * If the Toast should dismiss\n * then we need to figure out which edge of\n * the screen it should animate towards.\n * By default, the Toast will come\n * back to its default state in the\n * middle of the screen.\n */\n const endPosition = shouldDismiss ? `${endOffset}px` : '0px';\n const KEYFRAMES = [\n { offset: 0, transform: `translateY(${startPosition})` },\n { offset: 1, transform: `translateY(${endPosition})` },\n ];\n swipeAnimation.keyframes(KEYFRAMES);\n /**\n * Compute the remaining amount of pixels the\n * toast needs to move to be fully dismissed.\n */\n remainingDistance = endOffset - startOffset;\n }\n else {\n shouldDismiss = threshold >= DISMISS_THRESHOLD;\n playTo = shouldDismiss ? 1 : 0;\n step = computeStep(detail.deltaY);\n /**\n * Compute the remaining amount of pixels the\n * toast needs to move to be fully dismissed.\n */\n const remainingStepAmount = shouldDismiss ? 1 - step : step;\n remainingDistance = remainingStepAmount * MAX_SWIPE_DISTANCE;\n }\n /**\n * The animation speed should depend on how quickly\n * the user flicks the toast across the screen. However,\n * it should be no slower than 200ms.\n * We use Math.abs on the remainingDistance because that value\n * can be negative when swiping up on a middle position toast.\n */\n const duration = Math.min(Math.abs(remainingDistance) / Math.abs(velocity), 200);\n swipeAnimation\n .onFinish(() => {\n if (shouldDismiss) {\n onDismiss();\n swipeAnimation.destroy();\n }\n else {\n if (el.position === 'middle') {\n /**\n * If the toast snapped back to\n * the middle of the screen we need\n * to reset the keyframes\n * so the toast can be swiped\n * up or down again.\n */\n swipeAnimation.keyframes(SWIPE_UP_DOWN_KEYFRAMES).progressStart(true, 0.5);\n }\n else {\n swipeAnimation.progressStart(true, 0);\n }\n /**\n * If the toast did not dismiss then\n * the user should be able to swipe again.\n */\n gesture.enable(true);\n }\n /**\n * This must be a one time callback\n * otherwise a new callback will\n * be added every time onEnd runs.\n */\n }, { oneTimeCallback: true })\n .progressEnd(playTo, step, duration);\n };\n const gesture = createGesture({\n el: wrapperEl,\n gestureName: 'toast-swipe-to-dismiss',\n gesturePriority: OVERLAY_GESTURE_PRIORITY,\n /**\n * Toast only supports vertical swipes.\n * This needs to be updated if we later\n * support horizontal swipes.\n */\n direction: 'y',\n onMove,\n onEnd,\n });\n return gesture;\n};\n","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n /**\n * @prop --background: Background of the toast\n * @prop --color: Color of the toast text\n *\n * @prop --border-color: Border color of the toast\n * @prop --border-radius: Border radius of the toast\n * @prop --border-width: Border width of the toast\n * @prop --border-style: Border style of the toast\n *\n * @prop --white-space: White space of the toast message\n *\n * @prop --box-shadow: Box shadow of the toast\n *\n * @prop --min-width: Minimum width of the toast\n * @prop --width: Width of the toast\n * @prop --max-width: Maximum width of the toast\n *\n * @prop --min-height: Minimum height of the toast\n * @prop --height: Height of the toast\n * @prop --max-height: Maximum height of the toast\n *\n * @prop --button-color: Color of the button text\n *\n * @prop --start: Position from the left if direction is left-to-right, and from the right if direction is right-to-left\n * @prop --end: Position from the right if direction is left-to-right, and from the left if direction is right-to-left\n */\n --border-width: 0;\n --border-style: none;\n --border-color: initial;\n --box-shadow: none;\n --min-width: auto;\n --width: auto;\n --min-height: auto;\n --height: auto;\n --max-height: auto;\n --white-space: normal;\n top: 0;\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n outline: none;\n color: var(--color);\n font-family: var(--ion-font-family, inherit);\n contain: strict;\n z-index: 1001;\n pointer-events: none;\n}\n@supports (inset-inline-start: 0) {\n :host {\n inset-inline-start: 0;\n }\n}\n@supports not (inset-inline-start: 0) {\n :host {\n left: 0;\n }\n :host-context([dir=rtl]) {\n left: unset;\n right: unset;\n right: 0;\n }\n @supports selector(:dir(rtl)) {\n :host(:dir(rtl)) {\n left: unset;\n right: unset;\n right: 0;\n }\n }\n}\n\n:host(.overlay-hidden) {\n display: none;\n}\n\n:host(.ion-color) {\n --button-color: inherit;\n color: var(--ion-color-contrast);\n}\n\n:host(.ion-color) .toast-button-cancel {\n color: inherit;\n}\n\n:host(.ion-color) .toast-wrapper {\n background: var(--ion-color-base);\n}\n\n.toast-wrapper {\n border-radius: var(--border-radius);\n width: var(--width);\n min-width: var(--min-width);\n max-width: var(--max-width);\n height: var(--height);\n min-height: var(--min-height);\n max-height: var(--max-height);\n border-width: var(--border-width);\n border-style: var(--border-style);\n border-color: var(--border-color);\n background: var(--background);\n box-shadow: var(--box-shadow);\n}\n@supports (inset-inline-start: 0) {\n .toast-wrapper {\n inset-inline-start: var(--start);\n inset-inline-end: var(--end);\n }\n}\n@supports not (inset-inline-start: 0) {\n .toast-wrapper {\n left: var(--start);\n right: var(--end);\n }\n :host-context([dir=rtl]) .toast-wrapper {\n left: unset;\n right: unset;\n left: var(--end);\n right: var(--start);\n }\n [dir=rtl] .toast-wrapper {\n left: unset;\n right: unset;\n left: var(--end);\n right: var(--start);\n }\n @supports selector(:dir(rtl)) {\n .toast-wrapper:dir(rtl) {\n left: unset;\n right: unset;\n left: var(--end);\n right: var(--start);\n }\n }\n}\n\n.toast-wrapper.toast-top {\n transform: translate3d(0, -100%, 0);\n top: 0;\n}\n\n.toast-wrapper.toast-bottom {\n transform: translate3d(0, 100%, 0);\n bottom: 0;\n}\n\n.toast-container {\n display: flex;\n align-items: center;\n pointer-events: auto;\n height: inherit;\n min-height: inherit;\n max-height: inherit;\n contain: content;\n}\n\n.toast-layout-stacked .toast-container {\n flex-wrap: wrap;\n}\n\n.toast-layout-baseline .toast-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n justify-content: center;\n}\n\n.toast-icon {\n -webkit-margin-start: 16px;\n margin-inline-start: 16px;\n}\n\n.toast-content {\n min-width: 0;\n}\n\n.toast-message {\n flex: 1;\n white-space: var(--white-space);\n}\n\n.toast-button-group {\n display: flex;\n}\n\n.toast-layout-stacked .toast-button-group {\n justify-content: end;\n width: 100%;\n}\n\n.toast-button {\n border: 0;\n outline: none;\n color: var(--button-color);\n z-index: 0;\n}\n\n.toast-icon,\n.toast-button-icon {\n font-size: 1.4em;\n}\n\n.toast-button-inner {\n display: flex;\n align-items: center;\n}\n\n@media (any-hover: hover) {\n .toast-button:hover {\n cursor: pointer;\n }\n}\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n --background: var(--ion-color-step-50, #f2f2f2);\n --border-radius: 14px;\n --button-color: var(--ion-color-primary, #3880ff);\n --color: var(--ion-color-step-850, #262626);\n --max-width: 700px;\n --max-height: 478px;\n --start: 10px;\n --end: 10px;\n font-size: clamp(14px, 0.875rem, 43.4px);\n}\n\n.toast-wrapper {\n -webkit-margin-start: auto;\n margin-inline-start: auto;\n -webkit-margin-end: auto;\n margin-inline-end: auto;\n margin-top: auto;\n margin-bottom: auto;\n display: block;\n position: absolute;\n z-index: 10;\n}\n\n@supports (backdrop-filter: blur(0)) {\n :host(.toast-translucent) .toast-wrapper {\n background: rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);\n backdrop-filter: saturate(180%) blur(20px);\n }\n :host(.ion-color.toast-translucent) .toast-wrapper {\n background: rgba(var(--ion-color-base-rgb), 0.8);\n }\n}\n.toast-wrapper.toast-middle {\n opacity: 0.01;\n}\n\n.toast-content {\n -webkit-padding-start: 15px;\n padding-inline-start: 15px;\n -webkit-padding-end: 15px;\n padding-inline-end: 15px;\n padding-top: 15px;\n padding-bottom: 15px;\n}\n\n.toast-header {\n margin-bottom: 2px;\n font-weight: 500;\n}\n\n.toast-button {\n -webkit-padding-start: 15px;\n padding-inline-start: 15px;\n -webkit-padding-end: 15px;\n padding-inline-end: 15px;\n padding-top: 10px;\n padding-bottom: 10px;\n min-height: 44px;\n transition: background-color, opacity 100ms linear;\n border: 0;\n background-color: transparent;\n font-family: var(--ion-font-family);\n font-size: clamp(17px, 1.0625rem, 21.998px);\n font-weight: 500;\n overflow: hidden;\n}\n\n.toast-button.ion-activated {\n opacity: 0.4;\n}\n\n@media (any-hover: hover) {\n .toast-button:hover {\n opacity: 0.6;\n }\n}","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n /**\n * @prop --background: Background of the toast\n * @prop --color: Color of the toast text\n *\n * @prop --border-color: Border color of the toast\n * @prop --border-radius: Border radius of the toast\n * @prop --border-width: Border width of the toast\n * @prop --border-style: Border style of the toast\n *\n * @prop --white-space: White space of the toast message\n *\n * @prop --box-shadow: Box shadow of the toast\n *\n * @prop --min-width: Minimum width of the toast\n * @prop --width: Width of the toast\n * @prop --max-width: Maximum width of the toast\n *\n * @prop --min-height: Minimum height of the toast\n * @prop --height: Height of the toast\n * @prop --max-height: Maximum height of the toast\n *\n * @prop --button-color: Color of the button text\n *\n * @prop --start: Position from the left if direction is left-to-right, and from the right if direction is right-to-left\n * @prop --end: Position from the right if direction is left-to-right, and from the left if direction is right-to-left\n */\n --border-width: 0;\n --border-style: none;\n --border-color: initial;\n --box-shadow: none;\n --min-width: auto;\n --width: auto;\n --min-height: auto;\n --height: auto;\n --max-height: auto;\n --white-space: normal;\n top: 0;\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n outline: none;\n color: var(--color);\n font-family: var(--ion-font-family, inherit);\n contain: strict;\n z-index: 1001;\n pointer-events: none;\n}\n@supports (inset-inline-start: 0) {\n :host {\n inset-inline-start: 0;\n }\n}\n@supports not (inset-inline-start: 0) {\n :host {\n left: 0;\n }\n :host-context([dir=rtl]) {\n left: unset;\n right: unset;\n right: 0;\n }\n @supports selector(:dir(rtl)) {\n :host(:dir(rtl)) {\n left: unset;\n right: unset;\n right: 0;\n }\n }\n}\n\n:host(.overlay-hidden) {\n display: none;\n}\n\n:host(.ion-color) {\n --button-color: inherit;\n color: var(--ion-color-contrast);\n}\n\n:host(.ion-color) .toast-button-cancel {\n color: inherit;\n}\n\n:host(.ion-color) .toast-wrapper {\n background: var(--ion-color-base);\n}\n\n.toast-wrapper {\n border-radius: var(--border-radius);\n width: var(--width);\n min-width: var(--min-width);\n max-width: var(--max-width);\n height: var(--height);\n min-height: var(--min-height);\n max-height: var(--max-height);\n border-width: var(--border-width);\n border-style: var(--border-style);\n border-color: var(--border-color);\n background: var(--background);\n box-shadow: var(--box-shadow);\n}\n@supports (inset-inline-start: 0) {\n .toast-wrapper {\n inset-inline-start: var(--start);\n inset-inline-end: var(--end);\n }\n}\n@supports not (inset-inline-start: 0) {\n .toast-wrapper {\n left: var(--start);\n right: var(--end);\n }\n :host-context([dir=rtl]) .toast-wrapper {\n left: unset;\n right: unset;\n left: var(--end);\n right: var(--start);\n }\n [dir=rtl] .toast-wrapper {\n left: unset;\n right: unset;\n left: var(--end);\n right: var(--start);\n }\n @supports selector(:dir(rtl)) {\n .toast-wrapper:dir(rtl) {\n left: unset;\n right: unset;\n left: var(--end);\n right: var(--start);\n }\n }\n}\n\n.toast-wrapper.toast-top {\n transform: translate3d(0, -100%, 0);\n top: 0;\n}\n\n.toast-wrapper.toast-bottom {\n transform: translate3d(0, 100%, 0);\n bottom: 0;\n}\n\n.toast-container {\n display: flex;\n align-items: center;\n pointer-events: auto;\n height: inherit;\n min-height: inherit;\n max-height: inherit;\n contain: content;\n}\n\n.toast-layout-stacked .toast-container {\n flex-wrap: wrap;\n}\n\n.toast-layout-baseline .toast-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n justify-content: center;\n}\n\n.toast-icon {\n -webkit-margin-start: 16px;\n margin-inline-start: 16px;\n}\n\n.toast-content {\n min-width: 0;\n}\n\n.toast-message {\n flex: 1;\n white-space: var(--white-space);\n}\n\n.toast-button-group {\n display: flex;\n}\n\n.toast-layout-stacked .toast-button-group {\n justify-content: end;\n width: 100%;\n}\n\n.toast-button {\n border: 0;\n outline: none;\n color: var(--button-color);\n z-index: 0;\n}\n\n.toast-icon,\n.toast-button-icon {\n font-size: 1.4em;\n}\n\n.toast-button-inner {\n display: flex;\n align-items: center;\n}\n\n@media (any-hover: hover) {\n .toast-button:hover {\n cursor: pointer;\n }\n}\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n --background: var(--ion-color-step-800, #333333);\n --border-radius: 4px;\n --box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);\n --button-color: var(--ion-color-primary, #3880ff);\n --color: var(--ion-color-step-50, #f2f2f2);\n --max-width: 700px;\n --start: 8px;\n --end: 8px;\n font-size: 0.875rem;\n}\n\n.toast-wrapper {\n -webkit-margin-start: auto;\n margin-inline-start: auto;\n -webkit-margin-end: auto;\n margin-inline-end: auto;\n margin-top: auto;\n margin-bottom: auto;\n display: block;\n position: absolute;\n opacity: 0.01;\n z-index: 10;\n}\n\n.toast-content {\n -webkit-padding-start: 16px;\n padding-inline-start: 16px;\n -webkit-padding-end: 16px;\n padding-inline-end: 16px;\n padding-top: 14px;\n padding-bottom: 14px;\n}\n\n.toast-header {\n margin-bottom: 2px;\n font-weight: 500;\n line-height: 1.25rem;\n}\n\n.toast-message {\n line-height: 1.25rem;\n}\n\n.toast-layout-baseline .toast-button-group-start {\n -webkit-margin-start: 8px;\n margin-inline-start: 8px;\n}\n\n.toast-layout-stacked .toast-button-group-start {\n -webkit-margin-end: 8px;\n margin-inline-end: 8px;\n margin-top: 8px;\n}\n\n.toast-layout-baseline .toast-button-group-end {\n -webkit-margin-end: 8px;\n margin-inline-end: 8px;\n}\n\n.toast-layout-stacked .toast-button-group-end {\n -webkit-margin-end: 8px;\n margin-inline-end: 8px;\n margin-bottom: 8px;\n}\n\n.toast-button {\n -webkit-padding-start: 15px;\n padding-inline-start: 15px;\n -webkit-padding-end: 15px;\n padding-inline-end: 15px;\n padding-top: 10px;\n padding-bottom: 10px;\n position: relative;\n background-color: transparent;\n font-family: var(--ion-font-family);\n font-size: 0.875rem;\n font-weight: 500;\n letter-spacing: 0.84px;\n text-transform: uppercase;\n overflow: hidden;\n}\n\n.toast-button-cancel {\n color: var(--ion-color-step-100, #e6e6e6);\n}\n\n.toast-button-icon-only {\n border-radius: 50%;\n -webkit-padding-start: 9px;\n padding-inline-start: 9px;\n -webkit-padding-end: 9px;\n padding-inline-end: 9px;\n padding-top: 9px;\n padding-bottom: 9px;\n width: 36px;\n height: 36px;\n}\n\n@media (any-hover: hover) {\n .toast-button:hover {\n background-color: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.08);\n }\n .toast-button-cancel:hover {\n background-color: rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.08);\n }\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { h, Host } from \"@stencil/core\";\nimport { ENABLE_HTML_CONTENT_DEFAULT } from \"../../utils/config\";\nimport { raf } from \"../../utils/helpers\";\nimport { createLockController } from \"../../utils/lock-controller\";\nimport { printIonWarning } from \"../../utils/logging/index\";\nimport { GESTURE, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from \"../../utils/overlays\";\nimport { sanitizeDOMString } from \"../../utils/sanitization/index\";\nimport { createColorClasses, getClassMap } from \"../../utils/theme\";\nimport { config } from \"../../global/config\";\nimport { getIonMode } from \"../../global/ionic-global\";\nimport { iosEnterAnimation } from \"./animations/ios.enter\";\nimport { iosLeaveAnimation } from \"./animations/ios.leave\";\nimport { mdEnterAnimation } from \"./animations/md.enter\";\nimport { mdLeaveAnimation } from \"./animations/md.leave\";\nimport { getAnimationPosition } from \"./animations/utils\";\nimport { createSwipeToDismissGesture } from \"./gestures/swipe-to-dismiss\";\n// TODO(FW-2832): types\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n *\n * @part button - Any button element that is displayed inside of the toast.\n * @part button cancel - Any button element with role \"cancel\" that is displayed inside of the toast.\n * @part container - The element that wraps all child elements.\n * @part header - The header text of the toast.\n * @part message - The body text of the toast.\n * @part icon - The icon that appears next to the toast content.\n */\nexport class Toast {\n constructor() {\n this.delegateController = createDelegateController(this);\n this.lockController = createLockController();\n this.triggerController = createTriggerController();\n this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);\n this.presented = false;\n this.dispatchCancelHandler = (ev) => {\n const role = ev.detail.role;\n if (isCancel(role)) {\n const cancelButton = this.getButtons().find((b) => b.role === 'cancel');\n this.callButtonHandler(cancelButton);\n }\n };\n /**\n * Create a new swipe gesture so Toast\n * can be swiped to dismiss.\n */\n this.createSwipeGesture = (toastPosition) => {\n const gesture = (this.gesture = createSwipeToDismissGesture(this.el, toastPosition, () => {\n /**\n * If the gesture completed then\n * we should dismiss the toast.\n */\n this.dismiss(undefined, GESTURE);\n }));\n gesture.enable(true);\n };\n /**\n * Destroy an existing swipe gesture\n * so Toast can no longer be swiped to dismiss.\n */\n this.destroySwipeGesture = () => {\n const { gesture } = this;\n if (gesture === undefined) {\n return;\n }\n gesture.destroy();\n this.gesture = undefined;\n };\n /**\n * Returns `true` if swipeGesture\n * is configured to a value that enables the swipe behavior.\n * Returns `false` otherwise.\n */\n this.prefersSwipeGesture = () => {\n const { swipeGesture } = this;\n return swipeGesture === 'vertical';\n };\n this.revealContentToScreenReader = false;\n this.overlayIndex = undefined;\n this.delegate = undefined;\n this.hasController = false;\n this.color = undefined;\n this.enterAnimation = undefined;\n this.leaveAnimation = undefined;\n this.cssClass = undefined;\n this.duration = config.getNumber('toastDuration', 0);\n this.header = undefined;\n this.layout = 'baseline';\n this.message = undefined;\n this.keyboardClose = false;\n this.position = 'bottom';\n this.positionAnchor = undefined;\n this.buttons = undefined;\n this.translucent = false;\n this.animated = true;\n this.icon = undefined;\n this.htmlAttributes = undefined;\n this.swipeGesture = undefined;\n this.isOpen = false;\n this.trigger = undefined;\n }\n swipeGestureChanged() {\n /**\n * If the Toast is presented, then we need to destroy\n * any actives gestures before a new gesture is potentially\n * created below.\n *\n * If the Toast is dismissed, then no gesture should be available\n * since the Toast is not visible. This case should never\n * happen since the \"dismiss\" method handles destroying\n * any active swipe gestures, but we keep this code\n * around to handle the first case.\n */\n this.destroySwipeGesture();\n /**\n * A new swipe gesture should only be created\n * if the Toast is presented. If the Toast is not\n * yet presented then the \"present\" method will\n * handle calling the swipe gesture setup function.\n */\n if (this.presented && this.prefersSwipeGesture()) {\n /**\n * If the Toast is presented then\n * lastPresentedPosition is defined.\n */\n this.createSwipeGesture(this.lastPresentedPosition);\n }\n }\n onIsOpenChange(newValue, oldValue) {\n if (newValue === true && oldValue === false) {\n this.present();\n }\n else if (newValue === false && oldValue === true) {\n this.dismiss();\n }\n }\n triggerChanged() {\n const { trigger, el, triggerController } = this;\n if (trigger) {\n triggerController.addClickListener(el, trigger);\n }\n }\n connectedCallback() {\n prepareOverlay(this.el);\n this.triggerChanged();\n }\n disconnectedCallback() {\n this.triggerController.removeClickListener();\n }\n componentWillLoad() {\n setOverlayId(this.el);\n }\n componentDidLoad() {\n /**\n * If toast was rendered with isOpen=\"true\"\n * then we should open toast immediately.\n */\n if (this.isOpen === true) {\n raf(() => this.present());\n }\n /**\n * When binding values in frameworks such as Angular\n * it is possible for the value to be set after the Web Component\n * initializes but before the value watcher is set up in Stencil.\n * As a result, the watcher callback may not be fired.\n * We work around this by manually calling the watcher\n * callback when the component has loaded and the watcher\n * is configured.\n */\n this.triggerChanged();\n }\n /**\n * Present the toast overlay after it has been created.\n */\n async present() {\n const unlock = await this.lockController.lock();\n await this.delegateController.attachViewToDom();\n const { el, position } = this;\n const anchor = this.getAnchorElement();\n const animationPosition = getAnimationPosition(position, anchor, getIonMode(this), el);\n /**\n * Cache the calculated position of the toast, so we can re-use it\n * in the dismiss animation.\n */\n this.lastPresentedPosition = animationPosition;\n await present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation, {\n position,\n top: animationPosition.top,\n bottom: animationPosition.bottom,\n });\n /**\n * Content is revealed to screen readers after\n * the transition to avoid jank since this\n * state updates will cause a re-render.\n */\n this.revealContentToScreenReader = true;\n if (this.duration > 0) {\n this.durationTimeout = setTimeout(() => this.dismiss(undefined, 'timeout'), this.duration);\n }\n /**\n * If the Toast has a swipe gesture then we can\n * create the gesture so users can swipe the\n * presented Toast.\n */\n if (this.prefersSwipeGesture()) {\n this.createSwipeGesture(animationPosition);\n }\n unlock();\n }\n /**\n * Dismiss the toast overlay after it has been presented.\n *\n * @param data Any data to emit in the dismiss events.\n * @param role The role of the element that is dismissing the toast.\n * This can be useful in a button handler for determining which button was\n * clicked to dismiss the toast.\n * Some examples include: ``\"cancel\"`, `\"destructive\"`, \"selected\"`, and `\"backdrop\"`.\n *\n * This is a no-op if the overlay has not been presented yet. If you want\n * to remove an overlay from the DOM that was never presented, use the\n * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.\n */\n async dismiss(data, role) {\n var _a, _b;\n const unlock = await this.lockController.lock();\n const { durationTimeout, position, lastPresentedPosition } = this;\n if (durationTimeout) {\n clearTimeout(durationTimeout);\n }\n const dismissed = await dismiss(this, data, role, 'toastLeave', iosLeaveAnimation, mdLeaveAnimation, \n /**\n * Fetch the cached position that was calculated back in the present\n * animation. We always want to animate the dismiss from the same\n * position the present stopped at, so the animation looks continuous.\n */\n {\n position,\n top: (_a = lastPresentedPosition === null || lastPresentedPosition === void 0 ? void 0 : lastPresentedPosition.top) !== null && _a !== void 0 ? _a : '',\n bottom: (_b = lastPresentedPosition === null || lastPresentedPosition === void 0 ? void 0 : lastPresentedPosition.bottom) !== null && _b !== void 0 ? _b : '',\n });\n if (dismissed) {\n this.delegateController.removeViewFromDom();\n this.revealContentToScreenReader = false;\n }\n this.lastPresentedPosition = undefined;\n /**\n * If the Toast has a swipe gesture then we can\n * safely destroy it now that it is dismissed.\n */\n this.destroySwipeGesture();\n unlock();\n return dismissed;\n }\n /**\n * Returns a promise that resolves when the toast did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionToastDidDismiss');\n }\n /**\n * Returns a promise that resolves when the toast will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionToastWillDismiss');\n }\n getButtons() {\n const buttons = this.buttons\n ? this.buttons.map((b) => {\n return typeof b === 'string' ? { text: b } : b;\n })\n : [];\n return buttons;\n }\n /**\n * Returns the element specified by the positionAnchor prop,\n * or undefined if prop's value is an ID string and the element\n * is not found in the DOM.\n */\n getAnchorElement() {\n const { position, positionAnchor, el } = this;\n /**\n * If positionAnchor is undefined then\n * no anchor should be used when presenting the toast.\n */\n if (positionAnchor === undefined) {\n return;\n }\n if (position === 'middle' && positionAnchor !== undefined) {\n printIonWarning('The positionAnchor property is ignored when using position=\"middle\".', this.el);\n return undefined;\n }\n if (typeof positionAnchor === 'string') {\n /**\n * If the anchor is defined as an ID, find the element.\n * We do this on every present so the toast doesn't need\n * to account for the surrounding DOM changing since the\n * last time it was presented.\n */\n const foundEl = document.getElementById(positionAnchor);\n if (foundEl === null) {\n printIonWarning(`An anchor element with an ID of \"${positionAnchor}\" was not found in the DOM.`, el);\n return undefined;\n }\n return foundEl;\n }\n if (positionAnchor instanceof HTMLElement) {\n return positionAnchor;\n }\n printIonWarning('Invalid positionAnchor value:', positionAnchor, el);\n return undefined;\n }\n async buttonClick(button) {\n const role = button.role;\n if (isCancel(role)) {\n return this.dismiss(undefined, role);\n }\n const shouldDismiss = await this.callButtonHandler(button);\n if (shouldDismiss) {\n return this.dismiss(undefined, role);\n }\n return Promise.resolve();\n }\n async callButtonHandler(button) {\n if (button === null || button === void 0 ? void 0 : button.handler) {\n // a handler has been provided, execute it\n // pass the handler the values from the inputs\n try {\n const rtn = await safeCall(button.handler);\n if (rtn === false) {\n // if the return value of the handler is false then do not dismiss\n return false;\n }\n }\n catch (e) {\n console.error(e);\n }\n }\n return true;\n }\n renderButtons(buttons, side) {\n if (buttons.length === 0) {\n return;\n }\n const mode = getIonMode(this);\n const buttonGroupsClasses = {\n 'toast-button-group': true,\n [`toast-button-group-${side}`]: true,\n };\n return (h(\"div\", { class: buttonGroupsClasses }, buttons.map((b) => (h(\"button\", Object.assign({}, b.htmlAttributes, { type: \"button\", class: buttonClass(b), tabIndex: 0, onClick: () => this.buttonClick(b), part: buttonPart(b) }), h(\"div\", { class: \"toast-button-inner\" }, b.icon && (h(\"ion-icon\", { \"aria-hidden\": \"true\", icon: b.icon, slot: b.text === undefined ? 'icon-only' : undefined, class: \"toast-button-icon\" })), b.text), mode === 'md' && (h(\"ion-ripple-effect\", { type: b.icon !== undefined && b.text === undefined ? 'unbounded' : 'bounded' })))))));\n }\n /**\n * Render the `message` property.\n * @param key - A key to give the element a stable identity. This is used to improve compatibility with screen readers.\n * @param ariaHidden - If \"true\" then content will be hidden from screen readers.\n */\n renderToastMessage(key, ariaHidden = null) {\n const { customHTMLEnabled, message } = this;\n if (customHTMLEnabled) {\n return (h(\"div\", { key: key, \"aria-hidden\": ariaHidden, class: \"toast-message\", part: \"message\", innerHTML: sanitizeDOMString(message) }));\n }\n return (h(\"div\", { key: key, \"aria-hidden\": ariaHidden, class: \"toast-message\", part: \"message\" }, message));\n }\n /**\n * Render the `header` property.\n * @param key - A key to give the element a stable identity. This is used to improve compatibility with screen readers.\n * @param ariaHidden - If \"true\" then content will be hidden from screen readers.\n */\n renderHeader(key, ariaHidden = null) {\n return (h(\"div\", { key: key, class: \"toast-header\", \"aria-hidden\": ariaHidden, part: \"header\" }, this.header));\n }\n render() {\n const { layout, el, revealContentToScreenReader, header, message } = this;\n const allButtons = this.getButtons();\n const startButtons = allButtons.filter((b) => b.side === 'start');\n const endButtons = allButtons.filter((b) => b.side !== 'start');\n const mode = getIonMode(this);\n const wrapperClass = {\n 'toast-wrapper': true,\n [`toast-${this.position}`]: true,\n [`toast-layout-${layout}`]: true,\n };\n /**\n * Stacked buttons are only meant to be\n * used with one type of button.\n */\n if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {\n printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);\n }\n return (h(Host, Object.assign({ key: '23803334fb668f6ce7044d3a321cb84bc753bd16', tabindex: \"-1\" }, this.htmlAttributes, { style: {\n zIndex: `${60000 + this.overlayIndex}`,\n }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h(\"div\", { key: '7cd7138ba079fccf97f318b91e9986491ab4214d', class: wrapperClass }, h(\"div\", { key: '93b78fa64e24435adeb77a04c1d1d53d2f093864', class: \"toast-container\", part: \"container\" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h(\"ion-icon\", { key: '9a3c71b164ebcfba2540acb7568beffa76b62f47', class: \"toast-icon\", part: \"icon\", icon: this.icon, lazy: false, \"aria-hidden\": \"true\" })), h(\"div\", { key: 'feb9268102d844f1314205f7440de7066cf0620e', class: \"toast-content\", role: \"status\", \"aria-atomic\": \"true\", \"aria-live\": \"polite\" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));\n }\n static get is() { return \"ion-toast\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"ios\": [\"toast.ios.scss\"],\n \"md\": [\"toast.md.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"ios\": [\"toast.ios.css\"],\n \"md\": [\"toast.md.css\"]\n };\n }\n static get properties() {\n return {\n \"overlayIndex\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"\"\n },\n \"attribute\": \"overlay-index\",\n \"reflect\": false\n },\n \"delegate\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"FrameworkDelegate\",\n \"resolved\": \"FrameworkDelegate | undefined\",\n \"references\": {\n \"FrameworkDelegate\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::FrameworkDelegate\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"\"\n }\n },\n \"hasController\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"\"\n },\n \"attribute\": \"has-controller\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"color\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"Color\",\n \"resolved\": \"\\\"danger\\\" | \\\"dark\\\" | \\\"light\\\" | \\\"medium\\\" | \\\"primary\\\" | \\\"secondary\\\" | \\\"success\\\" | \\\"tertiary\\\" | \\\"warning\\\" | string & Record<never, never> | undefined\",\n \"references\": {\n \"Color\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::Color\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The color to use from your application's color palette.\\nDefault options are: `\\\"primary\\\"`, `\\\"secondary\\\"`, `\\\"tertiary\\\"`, `\\\"success\\\"`, `\\\"warning\\\"`, `\\\"danger\\\"`, `\\\"light\\\"`, `\\\"medium\\\"`, and `\\\"dark\\\"`.\\nFor more information on colors, see [theming](/docs/theming/basics).\"\n },\n \"attribute\": \"color\",\n \"reflect\": true\n },\n \"enterAnimation\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"AnimationBuilder\",\n \"resolved\": \"((baseEl: any, opts?: any) => Animation) | undefined\",\n \"references\": {\n \"AnimationBuilder\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::AnimationBuilder\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Animation to use when the toast is presented.\"\n }\n },\n \"leaveAnimation\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"AnimationBuilder\",\n \"resolved\": \"((baseEl: any, opts?: any) => Animation) | undefined\",\n \"references\": {\n \"AnimationBuilder\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::AnimationBuilder\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Animation to use when the toast is dismissed.\"\n }\n },\n \"cssClass\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | string[]\",\n \"resolved\": \"string | string[] | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Additional classes to apply for custom CSS. If multiple classes are\\nprovided they should be separated by spaces.\"\n },\n \"attribute\": \"css-class\",\n \"reflect\": false\n },\n \"duration\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How many milliseconds to wait before hiding the toast. By default, it will show\\nuntil `dismiss()` is called.\"\n },\n \"attribute\": \"duration\",\n \"reflect\": false,\n \"defaultValue\": \"config.getNumber('toastDuration', 0)\"\n },\n \"header\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Header to be shown in the toast.\"\n },\n \"attribute\": \"header\",\n \"reflect\": false\n },\n \"layout\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ToastLayout\",\n \"resolved\": \"\\\"baseline\\\" | \\\"stacked\\\"\",\n \"references\": {\n \"ToastLayout\": {\n \"location\": \"import\",\n \"path\": \"./toast-interface\",\n \"id\": \"src/components/toast/toast-interface.ts::ToastLayout\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Defines how the message and buttons are laid out in the toast.\\n'baseline': The message and the buttons will appear on the same line.\\nMessage text may wrap within the message container.\\n'stacked': The buttons containers and message will stack on top\\nof each other. Use this if you have long text in your buttons.\"\n },\n \"attribute\": \"layout\",\n \"reflect\": false,\n \"defaultValue\": \"'baseline'\"\n },\n \"message\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | IonicSafeString\",\n \"resolved\": \"IonicSafeString | string | undefined\",\n \"references\": {\n \"IonicSafeString\": {\n \"location\": \"import\",\n \"path\": \"../../utils/sanitization\",\n \"id\": \"src/utils/sanitization/index.ts::IonicSafeString\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Message to be shown in the toast.\\nThis property accepts custom HTML as a string.\\nContent is parsed as plaintext by default.\\n`innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config\\nbefore custom HTML can be used.\"\n },\n \"attribute\": \"message\",\n \"reflect\": false\n },\n \"keyboardClose\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the keyboard will be automatically dismissed when the overlay is presented.\"\n },\n \"attribute\": \"keyboard-close\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"position\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ToastPosition\",\n \"resolved\": \"\\\"bottom\\\" | \\\"middle\\\" | \\\"top\\\"\",\n \"references\": {\n \"ToastPosition\": {\n \"location\": \"import\",\n \"path\": \"./toast-interface\",\n \"id\": \"src/components/toast/toast-interface.ts::ToastPosition\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The starting position of the toast on the screen. Can be tweaked further\\nusing the `positionAnchor` property.\"\n },\n \"attribute\": \"position\",\n \"reflect\": false,\n \"defaultValue\": \"'bottom'\"\n },\n \"positionAnchor\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLElement | string\",\n \"resolved\": \"HTMLElement | string | undefined\",\n \"references\": {\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The element to anchor the toast's position to. Can be set as a direct reference\\nor the ID of the element. With `position=\\\"bottom\\\"`, the toast will sit above the\\nchosen element. With `position=\\\"top\\\"`, the toast will sit below the chosen element.\\nWith `position=\\\"middle\\\"`, the value of `positionAnchor` is ignored.\"\n },\n \"attribute\": \"position-anchor\",\n \"reflect\": false\n },\n \"buttons\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"(ToastButton | string)[]\",\n \"resolved\": \"(string | ToastButton)[] | undefined\",\n \"references\": {\n \"ToastButton\": {\n \"location\": \"import\",\n \"path\": \"./toast-interface\",\n \"id\": \"src/components/toast/toast-interface.ts::ToastButton\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"An array of buttons for the toast.\"\n }\n },\n \"translucent\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toast will be translucent.\\nOnly applies when the mode is `\\\"ios\\\"` and the device supports\\n[`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\"\n },\n \"attribute\": \"translucent\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"animated\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toast will animate.\"\n },\n \"attribute\": \"animated\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"icon\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The name of the icon to display, or the path to a valid SVG file. See `ion-icon`.\\nhttps://ionic.io/ionicons\"\n },\n \"attribute\": \"icon\",\n \"reflect\": false\n },\n \"htmlAttributes\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"{ [key: string]: any }\",\n \"resolved\": \"undefined | { [key: string]: any; }\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Additional attributes to pass to the toast.\"\n }\n },\n \"swipeGesture\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ToastSwipeGestureDirection\",\n \"resolved\": \"\\\"vertical\\\" | undefined\",\n \"references\": {\n \"ToastSwipeGestureDirection\": {\n \"location\": \"import\",\n \"path\": \"./toast-interface\",\n \"id\": \"src/components/toast/toast-interface.ts::ToastSwipeGestureDirection\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If set to 'vertical', the Toast can be dismissed with\\na swipe gesture. The swipe direction is determined by\\nthe value of the `position` property:\\n`top`: The Toast can be swiped up to dismiss.\\n`bottom`: The Toast can be swiped down to dismiss.\\n`middle`: The Toast can be swiped up or down to dismiss.\"\n },\n \"attribute\": \"swipe-gesture\",\n \"reflect\": false\n },\n \"isOpen\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toast will open. If `false`, the toast will close.\\nUse this if you need finer grained control over presentation, otherwise\\njust use the toastController or the `trigger` property.\\nNote: `isOpen` will not automatically be set back to `false` when\\nthe toast dismisses. You will need to do that in your code.\"\n },\n \"attribute\": \"is-open\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"trigger\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | undefined\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"An ID corresponding to the trigger element that\\ncauses the toast to open when clicked.\"\n },\n \"attribute\": \"trigger\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"revealContentToScreenReader\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"didPresent\",\n \"name\": \"ionToastDidPresent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted after the toast has presented.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"willPresent\",\n \"name\": \"ionToastWillPresent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted before the toast has presented.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"willDismiss\",\n \"name\": \"ionToastWillDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted before the toast has dismissed.\"\n },\n \"complexType\": {\n \"original\": \"OverlayEventDetail\",\n \"resolved\": \"OverlayEventDetail<any>\",\n \"references\": {\n \"OverlayEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/overlays-interface\",\n \"id\": \"src/utils/overlays-interface.ts::OverlayEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"didDismiss\",\n \"name\": \"ionToastDidDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted after the toast has dismissed.\"\n },\n \"complexType\": {\n \"original\": \"OverlayEventDetail\",\n \"resolved\": \"OverlayEventDetail<any>\",\n \"references\": {\n \"OverlayEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/overlays-interface\",\n \"id\": \"src/utils/overlays-interface.ts::OverlayEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"didPresentShorthand\",\n \"name\": \"didPresent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted after the toast has presented.\\nShorthand for ionToastWillDismiss.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"willPresentShorthand\",\n \"name\": \"willPresent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted before the toast has presented.\\nShorthand for ionToastWillPresent.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"willDismissShorthand\",\n \"name\": \"willDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted before the toast has dismissed.\\nShorthand for ionToastWillDismiss.\"\n },\n \"complexType\": {\n \"original\": \"OverlayEventDetail\",\n \"resolved\": \"OverlayEventDetail<any>\",\n \"references\": {\n \"OverlayEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/overlays-interface\",\n \"id\": \"src/utils/overlays-interface.ts::OverlayEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"didDismissShorthand\",\n \"name\": \"didDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted after the toast has dismissed.\\nShorthand for ionToastDidDismiss.\"\n },\n \"complexType\": {\n \"original\": \"OverlayEventDetail\",\n \"resolved\": \"OverlayEventDetail<any>\",\n \"references\": {\n \"OverlayEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/overlays-interface\",\n \"id\": \"src/utils/overlays-interface.ts::OverlayEventDetail\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"present\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"ToastPresentOptions\": {\n \"location\": \"import\",\n \"path\": \"./toast-interface\",\n \"id\": \"src/components/toast/toast-interface.ts::ToastPresentOptions\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Present the toast overlay after it has been created.\",\n \"tags\": []\n }\n },\n \"dismiss\": {\n \"complexType\": {\n \"signature\": \"(data?: any, role?: string) => Promise<boolean>\",\n \"parameters\": [{\n \"name\": \"data\",\n \"type\": \"any\",\n \"docs\": \"Any data to emit in the dismiss events.\"\n }, {\n \"name\": \"role\",\n \"type\": \"string | undefined\",\n \"docs\": \"The role of the element that is dismissing the toast.\\nThis can be useful in a button handler for determining which button was\\nclicked to dismiss the toast.\\nSome examples include: ``\\\"cancel\\\"`, `\\\"destructive\\\"`, \\\"selected\\\"`, and `\\\"backdrop\\\"`.\\n\\nThis is a no-op if the overlay has not been presented yet. If you want\\nto remove an overlay from the DOM that was never presented, use the\\n[remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"ToastDismissOptions\": {\n \"location\": \"import\",\n \"path\": \"./toast-interface\",\n \"id\": \"src/components/toast/toast-interface.ts::ToastDismissOptions\"\n }\n },\n \"return\": \"Promise<boolean>\"\n },\n \"docs\": {\n \"text\": \"Dismiss the toast overlay after it has been presented.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"data Any data to emit in the dismiss events.\"\n }, {\n \"name\": \"param\",\n \"text\": \"role The role of the element that is dismissing the toast.\\nThis can be useful in a button handler for determining which button was\\nclicked to dismiss the toast.\\nSome examples include: ``\\\"cancel\\\"`, `\\\"destructive\\\"`, \\\"selected\\\"`, and `\\\"backdrop\\\"`.\\n\\nThis is a no-op if the overlay has not been presented yet. If you want\\nto remove an overlay from the DOM that was never presented, use the\\n[remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.\"\n }]\n }\n },\n \"onDidDismiss\": {\n \"complexType\": {\n \"signature\": \"<T = any>() => Promise<OverlayEventDetail<T>>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"OverlayEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/overlays-interface\",\n \"id\": \"src/utils/overlays-interface.ts::OverlayEventDetail\"\n },\n \"T\": {\n \"location\": \"global\",\n \"id\": \"global::T\"\n }\n },\n \"return\": \"Promise<OverlayEventDetail<T>>\"\n },\n \"docs\": {\n \"text\": \"Returns a promise that resolves when the toast did dismiss.\",\n \"tags\": []\n }\n },\n \"onWillDismiss\": {\n \"complexType\": {\n \"signature\": \"<T = any>() => Promise<OverlayEventDetail<T>>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"OverlayEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/overlays-interface\",\n \"id\": \"src/utils/overlays-interface.ts::OverlayEventDetail\"\n },\n \"T\": {\n \"location\": \"global\",\n \"id\": \"global::T\"\n }\n },\n \"return\": \"Promise<OverlayEventDetail<T>>\"\n },\n \"docs\": {\n \"text\": \"Returns a promise that resolves when the toast will dismiss.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"swipeGesture\",\n \"methodName\": \"swipeGestureChanged\"\n }, {\n \"propName\": \"isOpen\",\n \"methodName\": \"onIsOpenChange\"\n }, {\n \"propName\": \"trigger\",\n \"methodName\": \"triggerChanged\"\n }];\n }\n}\nconst buttonClass = (button) => {\n return Object.assign({ 'toast-button': true, 'toast-button-icon-only': button.icon !== undefined && button.text === undefined, [`toast-button-${button.role}`]: button.role !== undefined, 'ion-focusable': true, 'ion-activatable': true }, getClassMap(button.cssClass));\n};\nconst buttonPart = (button) => {\n return isCancel(button.role) ? 'button cancel' : 'button';\n};\n",":host {\n font-family: var(--font-sans);\n display: block;\n}\n\nbutton#new {\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n width: var(--size-10);\n height: var(--size-10);\n background-color: var(--pos-primary-color);\n color: var(--pos-primary-text-color);\n font-size: var(--scale-6);\n border-radius: var(--radius-xs);\n}\n\nbutton#new:hover,\nbutton#new:focus {\n outline: none;\n filter: brightness(110%);\n box-shadow: var(--shadow-sm);\n}\n\npos-new-thing-form {\n margin: var(--scale-3);\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pos-add-new-thing',\n styleUrl: 'pos-add-new-thing.css',\n shadow: true,\n})\nexport class PosAddNewThing {\n @Prop() referenceUri!: string;\n\n private dialog: HTMLPosDialogElement;\n\n openDialog() {\n this.dialog.showModal();\n }\n\n render() {\n return (\n <Host>\n <button id=\"new\" title=\"Add a new thing\" onClick={() => this.openDialog()}>\n <ion-icon name=\"add-circle-outline\"></ion-icon>\n </button>\n <pos-dialog ref={el => (this.dialog = el as HTMLPosDialogElement)}>\n <span slot=\"title\">Add a new thing</span>\n <pos-new-thing-form slot=\"content\" referenceUri={this.referenceUri} />\n </pos-dialog>\n </Host>\n );\n }\n}\n","import { createStore } from '@stencil/store';\n\nexport interface LocalSettings {\n offlineCache: boolean;\n}\n\nconst storedSettings = localStorage.getItem('settings');\nconst initialSettings = storedSettings\n ? JSON.parse(storedSettings)\n : {\n offlineCache: false,\n };\n\nexport const localSettings = createStore<LocalSettings>(initialSettings);\n\npersistChanges();\nsyncChangesAcrossTabs();\n\nfunction persistChanges() {\n localSettings.on('set', () => {\n const snapshot = JSON.stringify(localSettings.state);\n localStorage.setItem('settings', snapshot);\n });\n}\nfunction syncChangesAcrossTabs() {\n window.addEventListener('storage', event => {\n if (event.key === 'settings' && event.newValue) {\n const newSettings: LocalSettings = JSON.parse(event.newValue);\n localSettings.state.offlineCache = newSettings.offlineCache;\n }\n });\n}\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst transactionDoneMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n // This mapping exists in reverseTransformCache but doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(this.request);\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nconst advanceMethodProps = ['continue', 'continuePrimaryKey', 'advance'];\nconst methodMap = {};\nconst advanceResults = new WeakMap();\nconst ittrProxiedCursorToOriginalProxy = new WeakMap();\nconst cursorIteratorTraps = {\n get(target, prop) {\n if (!advanceMethodProps.includes(prop))\n return target[prop];\n let cachedFunc = methodMap[prop];\n if (!cachedFunc) {\n cachedFunc = methodMap[prop] = function (...args) {\n advanceResults.set(this, ittrProxiedCursorToOriginalProxy.get(this)[prop](...args));\n };\n }\n return cachedFunc;\n },\n};\nasync function* iterate(...args) {\n // tslint:disable-next-line:no-this-assignment\n let cursor = this;\n if (!(cursor instanceof IDBCursor)) {\n cursor = await cursor.openCursor(...args);\n }\n if (!cursor)\n return;\n cursor = cursor;\n const proxiedCursor = new Proxy(cursor, cursorIteratorTraps);\n ittrProxiedCursorToOriginalProxy.set(proxiedCursor, cursor);\n // Map this double-proxy back to the original, so other cursor methods work.\n reverseTransformCache.set(proxiedCursor, unwrap(cursor));\n while (cursor) {\n yield proxiedCursor;\n // If one of the advancing methods was not called, call continue().\n cursor = await (advanceResults.get(proxiedCursor) || cursor.continue());\n advanceResults.delete(proxiedCursor);\n }\n}\nfunction isIteratorProp(target, prop) {\n return ((prop === Symbol.asyncIterator &&\n instanceOfAny(target, [IDBIndex, IDBObjectStore, IDBCursor])) ||\n (prop === 'iterate' && instanceOfAny(target, [IDBIndex, IDBObjectStore])));\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get(target, prop, receiver) {\n if (isIteratorProp(target, prop))\n return iterate;\n return oldTraps.get(target, prop, receiver);\n },\n has(target, prop) {\n return isIteratorProp(target, prop) || oldTraps.has(target, prop);\n },\n}));\n\nexport { deleteDB, openDB, unwrap, wrap };\n","import { DBSchema, IDBPDatabase, openDB } from 'idb';\nimport { CachedRdfDocument, OfflineCache } from '@pod-os/core';\n\ninterface OfflineCacheDb extends DBSchema {\n documents: {\n key: string;\n value: CachedRdfDocument;\n indexes: {\n 'url-revision': [string, string];\n };\n };\n}\n\n/**\n * An offline cache backed by the browsers IndexedDB storage\n */\nexport class IndexedDbOfflineCache implements OfflineCache {\n private readonly dbPromise: Promise<IDBPDatabase<OfflineCacheDb>>;\n\n constructor() {\n this.dbPromise = openDB<OfflineCacheDb>('OfflineCacheDB', 1, {\n upgrade(db) {\n if (!db.objectStoreNames.contains('documents')) {\n const store = db.createObjectStore('documents', { keyPath: 'url' });\n store.createIndex('url-revision', ['url', 'revision']);\n }\n },\n });\n }\n\n async clear() {\n const db = await this.dbPromise;\n return db.clear('documents');\n }\n\n async get(url: string): Promise<CachedRdfDocument | undefined> {\n const db = await this.dbPromise;\n return await db.get('documents', url);\n }\n\n async put(document: CachedRdfDocument) {\n const db = await this.dbPromise;\n const existing = await db.getFromIndex('documents', 'url-revision', [document.url, document.revision]);\n\n if (existing) {\n return; // No need to update if the revision is the same\n }\n await db.put('documents', document);\n }\n}\n","import { OnlineStatus } from '@pod-os/core';\n\nexport class NavigatorOnlineStatus implements OnlineStatus {\n isOnline(): boolean {\n return navigator.onLine;\n }\n}\n","import { NoOfflineCache, PodOS } from '@pod-os/core';\nimport { IndexedDbOfflineCache } from './cache/IndexedDbOfflineCache';\nimport { NavigatorOnlineStatus } from './cache/NavigatorOnlineStatus';\nimport { LocalSettings } from './store/settings';\nimport { BrowserSession } from './authentication';\n\nexport const createPodOS = (session: BrowserSession, settings: LocalSettings): PodOS => {\n return new PodOS({\n session,\n offlineCache: settings.offlineCache ? new IndexedDbOfflineCache() : new NoOfflineCache(),\n onlineStatus: new NavigatorOnlineStatus(),\n });\n};\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n const _super = (instance) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport const UnsubscriptionError = createErrorClass((_super) => function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subscription {\n constructor(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n unsubscribe() {\n let errors;\n if (!this.closed) {\n this.closed = true;\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n add(teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n }\n _hasParent(parent) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n _addParent(parent) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n _removeParent(parent) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n remove(teardown) {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\nSubscription.EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n})();\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export const config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","export const timeoutProvider = {\n setTimeout(handler, timeout, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind,\n value,\n error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { config } from '../config';\nlet context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nexport class Subscriber extends Subscription {\n constructor(destination) {\n super();\n this.isStopped = false;\n if (destination) {\n this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(this);\n }\n }\n else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n static create(next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n }\n next(value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n }\n error(err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null;\n }\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n _complete() {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n }\n}\nconst _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nclass ConsumerObserver {\n constructor(partialObserver) {\n this.partialObserver = partialObserver;\n }\n next(value) {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n error(err) {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n }\n complete() {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(observerOrNext, error, complete) {\n super();\n let partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n let context;\n if (this && config.useDeprecatedNextContext) {\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\nexport const EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export const observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nexport class Observable {\n constructor(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n this._subscribe(subscriber)\n :\n this._trySubscribe(subscriber));\n });\n return subscriber;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n });\n }\n _subscribe(subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => (value = x), (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return (source) => {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nexport class OperatorSubscriber extends Subscriber {\n constructor(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n super(destination);\n this.onFinalize = onFinalize;\n this.shouldUnsubscribe = shouldUnsubscribe;\n this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n unsubscribe() {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n }\n}\n//# sourceMappingURL=OperatorSubscriber.js.map","import { createErrorClass } from './createErrorClass';\nexport const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nexport class Subject extends Observable {\n constructor() {\n super();\n this.closed = false;\n this.currentObservers = null;\n this.observers = [];\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n next(value) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n error(err) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n }\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n }\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n }\n get observed() {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n }\n _trySubscribe(subscriber) {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n _innerSubscribe(subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n _checkFinalizedStatuses(subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n error(err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n }\n complete() {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n _subscribe(subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n }\n}\n//# sourceMappingURL=Subject.js.map","import { Subject } from './Subject';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n getValue() {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n next(value) {\n super.next((this._value = value));\n }\n}\n//# sourceMappingURL=BehaviorSubject.js.map","export const dateTimestampProvider = {\n now() {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n//# sourceMappingURL=Action.js.map","export const intervalProvider = {\n setInterval(handler, timeout, ...args) {\n const { delegate } = intervalProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n var _a;\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, _id, delay = 0) {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(_scheduler, id, delay = 0) {\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, _delay) {\n let errored = false;\n let errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n super.unsubscribe();\n }\n }\n}\n//# sourceMappingURL=AsyncAction.js.map","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nexport class Scheduler {\n constructor(schedulerActionCtor, now = Scheduler.now) {\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\nScheduler.now = dateTimestampProvider.now;\n//# sourceMappingURL=Scheduler.js.map","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, now);\n this.actions = [];\n this._active = false;\n }\n flush(action) {\n const { actions } = this;\n if (this._active) {\n actions.push(action);\n return;\n }\n let error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n//# sourceMappingURL=AsyncScheduler.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\nexport const async = asyncScheduler;\n//# sourceMappingURL=async.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(`You provided ${input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`);\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function* readableStreamLikeToAsyncGenerator_1() {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = yield __await(reader.read());\n if (done) {\n return yield __await(void 0);\n }\n yield yield __await(value);\n }\n }\n finally {\n reader.releaseLock();\n }\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable((subscriber) => {\n const obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable((subscriber) => {\n for (let i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable((subscriber) => {\n promise\n .then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable((subscriber) => {\n for (const value of iterable) {\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable((subscriber) => {\n process(asyncIterable, subscriber).catch((err) => subscriber.error(err));\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n for (asyncIterable_1 = __asyncValues(asyncIterable); asyncIterable_1_1 = yield asyncIterable_1.next(), !asyncIterable_1_1.done;) {\n const value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return)) yield _a.call(asyncIterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\n//# sourceMappingURL=innerFrom.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function debounceTime(dueTime, scheduler = asyncScheduler) {\n return operate((source, subscriber) => {\n let activeTask = null;\n let lastValue = null;\n let lastTime = null;\n const emit = () => {\n if (activeTask) {\n activeTask.unsubscribe();\n activeTask = null;\n const value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n };\n function emitWhenIdle() {\n const targetTime = lastTime + dueTime;\n const now = scheduler.now();\n if (now < targetTime) {\n activeTask = this.schedule(undefined, targetTime - now);\n subscriber.add(activeTask);\n return;\n }\n emit();\n }\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n lastValue = value;\n lastTime = scheduler.now();\n if (!activeTask) {\n activeTask = scheduler.schedule(emitWhenIdle, dueTime);\n subscriber.add(activeTask);\n }\n }, () => {\n emit();\n subscriber.complete();\n }, undefined, () => {\n lastValue = activeTask = null;\n }));\n });\n}\n//# sourceMappingURL=debounceTime.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/innerFrom';\nimport { noop } from '../util/noop';\nexport function takeUntil(notifier) {\n return operate((source, subscriber) => {\n innerFrom(notifier).subscribe(createOperatorSubscriber(subscriber, () => subscriber.complete(), noop));\n !subscriber.closed && source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=takeUntil.js.map","var crypto$1 = crypto;\nconst isCryptoKey = (key) => key instanceof CryptoKey;\n\nconst digest = async (algorithm, data) => {\n const subtleDigest = `SHA-${algorithm.slice(-3)}`;\n return new Uint8Array(await crypto$1.subtle.digest(subtleDigest, data));\n};\nvar digest$1 = digest;\n\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction concat(...buffers) {\n const size = buffers.reduce((acc, { length }) => acc + length, 0);\n const buf = new Uint8Array(size);\n let i = 0;\n for (const buffer of buffers) {\n buf.set(buffer, i);\n i += buffer.length;\n }\n return buf;\n}\n\nconst encodeBase64 = (input) => {\n let unencoded = input;\n if (typeof unencoded === 'string') {\n unencoded = encoder.encode(unencoded);\n }\n const CHUNK_SIZE = 0x8000;\n const arr = [];\n for (let i = 0; i < unencoded.length; i += CHUNK_SIZE) {\n arr.push(String.fromCharCode.apply(null, unencoded.subarray(i, i + CHUNK_SIZE)));\n }\n return btoa(arr.join(''));\n};\nconst encode = (input) => {\n return encodeBase64(input).replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n};\nconst decodeBase64 = (encoded) => {\n const binary = atob(encoded);\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n};\nconst decode$1 = (input) => {\n let encoded = input;\n if (encoded instanceof Uint8Array) {\n encoded = decoder.decode(encoded);\n }\n encoded = encoded.replace(/-/g, '+').replace(/_/g, '/').replace(/\\s/g, '');\n try {\n return decodeBase64(encoded);\n }\n catch {\n throw new TypeError('The input to be decoded is not correctly encoded.');\n }\n};\n\nclass JOSEError extends Error {\n constructor(message, options) {\n super(message, options);\n this.code = 'ERR_JOSE_GENERIC';\n this.name = this.constructor.name;\n Error.captureStackTrace?.(this, this.constructor);\n }\n}\nJOSEError.code = 'ERR_JOSE_GENERIC';\nclass JWTClaimValidationFailed extends JOSEError {\n constructor(message, payload, claim = 'unspecified', reason = 'unspecified') {\n super(message, { cause: { claim, reason, payload } });\n this.code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\n this.claim = claim;\n this.reason = reason;\n this.payload = payload;\n }\n}\nJWTClaimValidationFailed.code = 'ERR_JWT_CLAIM_VALIDATION_FAILED';\nclass JWTExpired extends JOSEError {\n constructor(message, payload, claim = 'unspecified', reason = 'unspecified') {\n super(message, { cause: { claim, reason, payload } });\n this.code = 'ERR_JWT_EXPIRED';\n this.claim = claim;\n this.reason = reason;\n this.payload = payload;\n }\n}\nJWTExpired.code = 'ERR_JWT_EXPIRED';\nclass JOSEAlgNotAllowed extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JOSE_ALG_NOT_ALLOWED';\n }\n}\nJOSEAlgNotAllowed.code = 'ERR_JOSE_ALG_NOT_ALLOWED';\nclass JOSENotSupported extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JOSE_NOT_SUPPORTED';\n }\n}\nJOSENotSupported.code = 'ERR_JOSE_NOT_SUPPORTED';\nclass JWEDecryptionFailed extends JOSEError {\n constructor(message = 'decryption operation failed', options) {\n super(message, options);\n this.code = 'ERR_JWE_DECRYPTION_FAILED';\n }\n}\nJWEDecryptionFailed.code = 'ERR_JWE_DECRYPTION_FAILED';\nclass JWEInvalid extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWE_INVALID';\n }\n}\nJWEInvalid.code = 'ERR_JWE_INVALID';\nclass JWSInvalid extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWS_INVALID';\n }\n}\nJWSInvalid.code = 'ERR_JWS_INVALID';\nclass JWTInvalid extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWT_INVALID';\n }\n}\nJWTInvalid.code = 'ERR_JWT_INVALID';\nclass JWKInvalid extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWK_INVALID';\n }\n}\nJWKInvalid.code = 'ERR_JWK_INVALID';\nclass JWKSInvalid extends JOSEError {\n constructor() {\n super(...arguments);\n this.code = 'ERR_JWKS_INVALID';\n }\n}\nJWKSInvalid.code = 'ERR_JWKS_INVALID';\nclass JWKSNoMatchingKey extends JOSEError {\n constructor(message = 'no applicable key found in the JSON Web Key Set', options) {\n super(message, options);\n this.code = 'ERR_JWKS_NO_MATCHING_KEY';\n }\n}\nJWKSNoMatchingKey.code = 'ERR_JWKS_NO_MATCHING_KEY';\nclass JWKSMultipleMatchingKeys extends JOSEError {\n constructor(message = 'multiple matching keys found in the JSON Web Key Set', options) {\n super(message, options);\n this.code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\n }\n}\nJWKSMultipleMatchingKeys.code = 'ERR_JWKS_MULTIPLE_MATCHING_KEYS';\nclass JWKSTimeout extends JOSEError {\n constructor(message = 'request timed out', options) {\n super(message, options);\n this.code = 'ERR_JWKS_TIMEOUT';\n }\n}\nJWKSTimeout.code = 'ERR_JWKS_TIMEOUT';\nclass JWSSignatureVerificationFailed extends JOSEError {\n constructor(message = 'signature verification failed', options) {\n super(message, options);\n this.code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n }\n}\nJWSSignatureVerificationFailed.code = 'ERR_JWS_SIGNATURE_VERIFICATION_FAILED';\n\nfunction unusable(name, prop = 'algorithm.name') {\n return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);\n}\nfunction isAlgorithm(algorithm, name) {\n return algorithm.name === name;\n}\nfunction getHashLength(hash) {\n return parseInt(hash.name.slice(4), 10);\n}\nfunction getNamedCurve(alg) {\n switch (alg) {\n case 'ES256':\n return 'P-256';\n case 'ES384':\n return 'P-384';\n case 'ES512':\n return 'P-521';\n default:\n throw new Error('unreachable');\n }\n}\nfunction checkUsage(key, usages) {\n if (usages.length && !usages.some((expected) => key.usages.includes(expected))) {\n let msg = 'CryptoKey does not support this operation, its usages must include ';\n if (usages.length > 2) {\n const last = usages.pop();\n msg += `one of ${usages.join(', ')}, or ${last}.`;\n }\n else if (usages.length === 2) {\n msg += `one of ${usages[0]} or ${usages[1]}.`;\n }\n else {\n msg += `${usages[0]}.`;\n }\n throw new TypeError(msg);\n }\n}\nfunction checkSigCryptoKey(key, alg, ...usages) {\n switch (alg) {\n case 'HS256':\n case 'HS384':\n case 'HS512': {\n if (!isAlgorithm(key.algorithm, 'HMAC'))\n throw unusable('HMAC');\n const expected = parseInt(alg.slice(2), 10);\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected)\n throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n case 'RS256':\n case 'RS384':\n case 'RS512': {\n if (!isAlgorithm(key.algorithm, 'RSASSA-PKCS1-v1_5'))\n throw unusable('RSASSA-PKCS1-v1_5');\n const expected = parseInt(alg.slice(2), 10);\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected)\n throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n case 'PS256':\n case 'PS384':\n case 'PS512': {\n if (!isAlgorithm(key.algorithm, 'RSA-PSS'))\n throw unusable('RSA-PSS');\n const expected = parseInt(alg.slice(2), 10);\n const actual = getHashLength(key.algorithm.hash);\n if (actual !== expected)\n throw unusable(`SHA-${expected}`, 'algorithm.hash');\n break;\n }\n case 'EdDSA': {\n if (key.algorithm.name !== 'Ed25519' && key.algorithm.name !== 'Ed448') {\n throw unusable('Ed25519 or Ed448');\n }\n break;\n }\n case 'Ed25519': {\n if (!isAlgorithm(key.algorithm, 'Ed25519'))\n throw unusable('Ed25519');\n break;\n }\n case 'ES256':\n case 'ES384':\n case 'ES512': {\n if (!isAlgorithm(key.algorithm, 'ECDSA'))\n throw unusable('ECDSA');\n const expected = getNamedCurve(alg);\n const actual = key.algorithm.namedCurve;\n if (actual !== expected)\n throw unusable(expected, 'algorithm.namedCurve');\n break;\n }\n default:\n throw new TypeError('CryptoKey does not support this operation');\n }\n checkUsage(key, usages);\n}\n\nfunction message(msg, actual, ...types) {\n types = types.filter(Boolean);\n if (types.length > 2) {\n const last = types.pop();\n msg += `one of type ${types.join(', ')}, or ${last}.`;\n }\n else if (types.length === 2) {\n msg += `one of type ${types[0]} or ${types[1]}.`;\n }\n else {\n msg += `of type ${types[0]}.`;\n }\n if (actual == null) {\n msg += ` Received ${actual}`;\n }\n else if (typeof actual === 'function' && actual.name) {\n msg += ` Received function ${actual.name}`;\n }\n else if (typeof actual === 'object' && actual != null) {\n if (actual.constructor?.name) {\n msg += ` Received an instance of ${actual.constructor.name}`;\n }\n }\n return msg;\n}\nvar invalidKeyInput = (actual, ...types) => {\n return message('Key must be ', actual, ...types);\n};\nfunction withAlg(alg, actual, ...types) {\n return message(`Key for the ${alg} algorithm must be `, actual, ...types);\n}\n\nvar isKeyLike = (key) => {\n if (isCryptoKey(key)) {\n return true;\n }\n return key?.[Symbol.toStringTag] === 'KeyObject';\n};\nconst types = ['CryptoKey'];\n\nconst isDisjoint = (...headers) => {\n const sources = headers.filter(Boolean);\n if (sources.length === 0 || sources.length === 1) {\n return true;\n }\n let acc;\n for (const header of sources) {\n const parameters = Object.keys(header);\n if (!acc || acc.size === 0) {\n acc = new Set(parameters);\n continue;\n }\n for (const parameter of parameters) {\n if (acc.has(parameter)) {\n return false;\n }\n acc.add(parameter);\n }\n }\n return true;\n};\nvar isDisjoint$1 = isDisjoint;\n\nfunction isObjectLike(value) {\n return typeof value === 'object' && value !== null;\n}\nfunction isObject(input) {\n if (!isObjectLike(input) || Object.prototype.toString.call(input) !== '[object Object]') {\n return false;\n }\n if (Object.getPrototypeOf(input) === null) {\n return true;\n }\n let proto = input;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(input) === proto;\n}\n\nvar checkKeyLength = (alg, key) => {\n if (alg.startsWith('RS') || alg.startsWith('PS')) {\n const { modulusLength } = key.algorithm;\n if (typeof modulusLength !== 'number' || modulusLength < 2048) {\n throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);\n }\n }\n};\n\nfunction isJWK(key) {\n return isObject(key) && typeof key.kty === 'string';\n}\nfunction isPrivateJWK(key) {\n return key.kty !== 'oct' && typeof key.d === 'string';\n}\nfunction isPublicJWK(key) {\n return key.kty !== 'oct' && typeof key.d === 'undefined';\n}\nfunction isSecretJWK(key) {\n return isJWK(key) && key.kty === 'oct' && typeof key.k === 'string';\n}\n\nfunction subtleMapping(jwk) {\n let algorithm;\n let keyUsages;\n switch (jwk.kty) {\n case 'RSA': {\n switch (jwk.alg) {\n case 'PS256':\n case 'PS384':\n case 'PS512':\n algorithm = { name: 'RSA-PSS', hash: `SHA-${jwk.alg.slice(-3)}` };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'RS256':\n case 'RS384':\n case 'RS512':\n algorithm = { name: 'RSASSA-PKCS1-v1_5', hash: `SHA-${jwk.alg.slice(-3)}` };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'RSA-OAEP':\n case 'RSA-OAEP-256':\n case 'RSA-OAEP-384':\n case 'RSA-OAEP-512':\n algorithm = {\n name: 'RSA-OAEP',\n hash: `SHA-${parseInt(jwk.alg.slice(-3), 10) || 1}`,\n };\n keyUsages = jwk.d ? ['decrypt', 'unwrapKey'] : ['encrypt', 'wrapKey'];\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n break;\n }\n case 'EC': {\n switch (jwk.alg) {\n case 'ES256':\n algorithm = { name: 'ECDSA', namedCurve: 'P-256' };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'ES384':\n algorithm = { name: 'ECDSA', namedCurve: 'P-384' };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'ES512':\n algorithm = { name: 'ECDSA', namedCurve: 'P-521' };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n algorithm = { name: 'ECDH', namedCurve: jwk.crv };\n keyUsages = jwk.d ? ['deriveBits'] : [];\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n break;\n }\n case 'OKP': {\n switch (jwk.alg) {\n case 'Ed25519':\n algorithm = { name: 'Ed25519' };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'EdDSA':\n algorithm = { name: jwk.crv };\n keyUsages = jwk.d ? ['sign'] : ['verify'];\n break;\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW':\n algorithm = { name: jwk.crv };\n keyUsages = jwk.d ? ['deriveBits'] : [];\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n break;\n }\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"kty\" (Key Type) Parameter value');\n }\n return { algorithm, keyUsages };\n}\nconst parse = async (jwk) => {\n if (!jwk.alg) {\n throw new TypeError('\"alg\" argument is required when \"jwk.alg\" is not present');\n }\n const { algorithm, keyUsages } = subtleMapping(jwk);\n const rest = [\n algorithm,\n jwk.ext ?? false,\n jwk.key_ops ?? keyUsages,\n ];\n const keyData = { ...jwk };\n delete keyData.alg;\n delete keyData.use;\n return crypto$1.subtle.importKey('jwk', keyData, ...rest);\n};\nvar asKeyObject = parse;\n\nconst exportKeyValue = (k) => decode$1(k);\nlet privCache;\nlet pubCache;\nconst isKeyObject = (key) => {\n return key?.[Symbol.toStringTag] === 'KeyObject';\n};\nconst importAndCache = async (cache, key, jwk, alg, freeze = false) => {\n let cached = cache.get(key);\n if (cached?.[alg]) {\n return cached[alg];\n }\n const cryptoKey = await asKeyObject({ ...jwk, alg });\n if (freeze)\n Object.freeze(key);\n if (!cached) {\n cache.set(key, { [alg]: cryptoKey });\n }\n else {\n cached[alg] = cryptoKey;\n }\n return cryptoKey;\n};\nconst normalizePublicKey = (key, alg) => {\n if (isKeyObject(key)) {\n let jwk = key.export({ format: 'jwk' });\n delete jwk.d;\n delete jwk.dp;\n delete jwk.dq;\n delete jwk.p;\n delete jwk.q;\n delete jwk.qi;\n if (jwk.k) {\n return exportKeyValue(jwk.k);\n }\n pubCache || (pubCache = new WeakMap());\n return importAndCache(pubCache, key, jwk, alg);\n }\n if (isJWK(key)) {\n if (key.k)\n return decode$1(key.k);\n pubCache || (pubCache = new WeakMap());\n const cryptoKey = importAndCache(pubCache, key, key, alg, true);\n return cryptoKey;\n }\n return key;\n};\nconst normalizePrivateKey = (key, alg) => {\n if (isKeyObject(key)) {\n let jwk = key.export({ format: 'jwk' });\n if (jwk.k) {\n return exportKeyValue(jwk.k);\n }\n privCache || (privCache = new WeakMap());\n return importAndCache(privCache, key, jwk, alg);\n }\n if (isJWK(key)) {\n if (key.k)\n return decode$1(key.k);\n privCache || (privCache = new WeakMap());\n const cryptoKey = importAndCache(privCache, key, key, alg, true);\n return cryptoKey;\n }\n return key;\n};\nvar normalize = { normalizePublicKey, normalizePrivateKey };\n\nasync function importJWK(jwk, alg) {\n if (!isObject(jwk)) {\n throw new TypeError('JWK must be an object');\n }\n alg || (alg = jwk.alg);\n switch (jwk.kty) {\n case 'oct':\n if (typeof jwk.k !== 'string' || !jwk.k) {\n throw new TypeError('missing \"k\" (Key Value) Parameter value');\n }\n return decode$1(jwk.k);\n case 'RSA':\n if ('oth' in jwk && jwk.oth !== undefined) {\n throw new JOSENotSupported('RSA JWK \"oth\" (Other Primes Info) Parameter value is not supported');\n }\n case 'EC':\n case 'OKP':\n return asKeyObject({ ...jwk, alg });\n default:\n throw new JOSENotSupported('Unsupported \"kty\" (Key Type) Parameter value');\n }\n}\n\nconst tag = (key) => key?.[Symbol.toStringTag];\nconst jwkMatchesOp = (alg, key, usage) => {\n if (key.use !== undefined && key.use !== 'sig') {\n throw new TypeError('Invalid key for this operation, when present its use must be sig');\n }\n if (key.key_ops !== undefined && key.key_ops.includes?.(usage) !== true) {\n throw new TypeError(`Invalid key for this operation, when present its key_ops must include ${usage}`);\n }\n if (key.alg !== undefined && key.alg !== alg) {\n throw new TypeError(`Invalid key for this operation, when present its alg must be ${alg}`);\n }\n return true;\n};\nconst symmetricTypeCheck = (alg, key, usage, allowJwk) => {\n if (key instanceof Uint8Array)\n return;\n if (allowJwk && isJWK(key)) {\n if (isSecretJWK(key) && jwkMatchesOp(alg, key, usage))\n return;\n throw new TypeError(`JSON Web Key for symmetric algorithms must have JWK \"kty\" (Key Type) equal to \"oct\" and the JWK \"k\" (Key Value) present`);\n }\n if (!isKeyLike(key)) {\n throw new TypeError(withAlg(alg, key, ...types, 'Uint8Array', allowJwk ? 'JSON Web Key' : null));\n }\n if (key.type !== 'secret') {\n throw new TypeError(`${tag(key)} instances for symmetric algorithms must be of type \"secret\"`);\n }\n};\nconst asymmetricTypeCheck = (alg, key, usage, allowJwk) => {\n if (allowJwk && isJWK(key)) {\n switch (usage) {\n case 'sign':\n if (isPrivateJWK(key) && jwkMatchesOp(alg, key, usage))\n return;\n throw new TypeError(`JSON Web Key for this operation be a private JWK`);\n case 'verify':\n if (isPublicJWK(key) && jwkMatchesOp(alg, key, usage))\n return;\n throw new TypeError(`JSON Web Key for this operation be a public JWK`);\n }\n }\n if (!isKeyLike(key)) {\n throw new TypeError(withAlg(alg, key, ...types, allowJwk ? 'JSON Web Key' : null));\n }\n if (key.type === 'secret') {\n throw new TypeError(`${tag(key)} instances for asymmetric algorithms must not be of type \"secret\"`);\n }\n if (usage === 'sign' && key.type === 'public') {\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm signing must be of type \"private\"`);\n }\n if (usage === 'decrypt' && key.type === 'public') {\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm decryption must be of type \"private\"`);\n }\n if (key.algorithm && usage === 'verify' && key.type === 'private') {\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm verifying must be of type \"public\"`);\n }\n if (key.algorithm && usage === 'encrypt' && key.type === 'private') {\n throw new TypeError(`${tag(key)} instances for asymmetric algorithm encryption must be of type \"public\"`);\n }\n};\nfunction checkKeyType(allowJwk, alg, key, usage) {\n const symmetric = alg.startsWith('HS') ||\n alg === 'dir' ||\n alg.startsWith('PBES2') ||\n /^A\\d{3}(?:GCM)?KW$/.test(alg);\n if (symmetric) {\n symmetricTypeCheck(alg, key, usage, allowJwk);\n }\n else {\n asymmetricTypeCheck(alg, key, usage, allowJwk);\n }\n}\ncheckKeyType.bind(undefined, false);\nconst checkKeyTypeWithJwk = checkKeyType.bind(undefined, true);\n\nfunction validateCrit(Err, recognizedDefault, recognizedOption, protectedHeader, joseHeader) {\n if (joseHeader.crit !== undefined && protectedHeader?.crit === undefined) {\n throw new Err('\"crit\" (Critical) Header Parameter MUST be integrity protected');\n }\n if (!protectedHeader || protectedHeader.crit === undefined) {\n return new Set();\n }\n if (!Array.isArray(protectedHeader.crit) ||\n protectedHeader.crit.length === 0 ||\n protectedHeader.crit.some((input) => typeof input !== 'string' || input.length === 0)) {\n throw new Err('\"crit\" (Critical) Header Parameter MUST be an array of non-empty strings when present');\n }\n let recognized;\n if (recognizedOption !== undefined) {\n recognized = new Map([...Object.entries(recognizedOption), ...recognizedDefault.entries()]);\n }\n else {\n recognized = recognizedDefault;\n }\n for (const parameter of protectedHeader.crit) {\n if (!recognized.has(parameter)) {\n throw new JOSENotSupported(`Extension Header Parameter \"${parameter}\" is not recognized`);\n }\n if (joseHeader[parameter] === undefined) {\n throw new Err(`Extension Header Parameter \"${parameter}\" is missing`);\n }\n if (recognized.get(parameter) && protectedHeader[parameter] === undefined) {\n throw new Err(`Extension Header Parameter \"${parameter}\" MUST be integrity protected`);\n }\n }\n return new Set(protectedHeader.crit);\n}\n\nconst validateAlgorithms = (option, algorithms) => {\n if (algorithms !== undefined &&\n (!Array.isArray(algorithms) || algorithms.some((s) => typeof s !== 'string'))) {\n throw new TypeError(`\"${option}\" option must be an array of strings`);\n }\n if (!algorithms) {\n return undefined;\n }\n return new Set(algorithms);\n};\nvar validateAlgorithms$1 = validateAlgorithms;\n\nconst keyToJWK = async (key) => {\n if (key instanceof Uint8Array) {\n return {\n kty: 'oct',\n k: encode(key),\n };\n }\n if (!isCryptoKey(key)) {\n throw new TypeError(invalidKeyInput(key, ...types, 'Uint8Array'));\n }\n if (!key.extractable) {\n throw new TypeError('non-extractable CryptoKey cannot be exported as a JWK');\n }\n const { ext, key_ops, alg, use, ...jwk } = await crypto$1.subtle.exportKey('jwk', key);\n return jwk;\n};\nvar keyToJWK$1 = keyToJWK;\n\nasync function exportJWK(key) {\n return keyToJWK$1(key);\n}\n\nfunction subtleDsa(alg, algorithm) {\n const hash = `SHA-${alg.slice(-3)}`;\n switch (alg) {\n case 'HS256':\n case 'HS384':\n case 'HS512':\n return { hash, name: 'HMAC' };\n case 'PS256':\n case 'PS384':\n case 'PS512':\n return { hash, name: 'RSA-PSS', saltLength: alg.slice(-3) >> 3 };\n case 'RS256':\n case 'RS384':\n case 'RS512':\n return { hash, name: 'RSASSA-PKCS1-v1_5' };\n case 'ES256':\n case 'ES384':\n case 'ES512':\n return { hash, name: 'ECDSA', namedCurve: algorithm.namedCurve };\n case 'Ed25519':\n return { name: 'Ed25519' };\n case 'EdDSA':\n return { name: algorithm.name };\n default:\n throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);\n }\n}\n\nasync function getCryptoKey(alg, key, usage) {\n if (usage === 'sign') {\n key = await normalize.normalizePrivateKey(key, alg);\n }\n if (usage === 'verify') {\n key = await normalize.normalizePublicKey(key, alg);\n }\n if (isCryptoKey(key)) {\n checkSigCryptoKey(key, alg, usage);\n return key;\n }\n if (key instanceof Uint8Array) {\n if (!alg.startsWith('HS')) {\n throw new TypeError(invalidKeyInput(key, ...types));\n }\n return crypto$1.subtle.importKey('raw', key, { hash: `SHA-${alg.slice(-3)}`, name: 'HMAC' }, false, [usage]);\n }\n throw new TypeError(invalidKeyInput(key, ...types, 'Uint8Array', 'JSON Web Key'));\n}\n\nconst verify = async (alg, key, signature, data) => {\n const cryptoKey = await getCryptoKey(alg, key, 'verify');\n checkKeyLength(alg, cryptoKey);\n const algorithm = subtleDsa(alg, cryptoKey.algorithm);\n try {\n return await crypto$1.subtle.verify(algorithm, cryptoKey, signature, data);\n }\n catch {\n return false;\n }\n};\nvar verify$1 = verify;\n\nasync function flattenedVerify(jws, key, options) {\n if (!isObject(jws)) {\n throw new JWSInvalid('Flattened JWS must be an object');\n }\n if (jws.protected === undefined && jws.header === undefined) {\n throw new JWSInvalid('Flattened JWS must have either of the \"protected\" or \"header\" members');\n }\n if (jws.protected !== undefined && typeof jws.protected !== 'string') {\n throw new JWSInvalid('JWS Protected Header incorrect type');\n }\n if (jws.payload === undefined) {\n throw new JWSInvalid('JWS Payload missing');\n }\n if (typeof jws.signature !== 'string') {\n throw new JWSInvalid('JWS Signature missing or incorrect type');\n }\n if (jws.header !== undefined && !isObject(jws.header)) {\n throw new JWSInvalid('JWS Unprotected Header incorrect type');\n }\n let parsedProt = {};\n if (jws.protected) {\n try {\n const protectedHeader = decode$1(jws.protected);\n parsedProt = JSON.parse(decoder.decode(protectedHeader));\n }\n catch {\n throw new JWSInvalid('JWS Protected Header is invalid');\n }\n }\n if (!isDisjoint$1(parsedProt, jws.header)) {\n throw new JWSInvalid('JWS Protected and JWS Unprotected Header Parameter names must be disjoint');\n }\n const joseHeader = {\n ...parsedProt,\n ...jws.header,\n };\n const extensions = validateCrit(JWSInvalid, new Map([['b64', true]]), options?.crit, parsedProt, joseHeader);\n let b64 = true;\n if (extensions.has('b64')) {\n b64 = parsedProt.b64;\n if (typeof b64 !== 'boolean') {\n throw new JWSInvalid('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');\n }\n }\n const { alg } = joseHeader;\n if (typeof alg !== 'string' || !alg) {\n throw new JWSInvalid('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');\n }\n const algorithms = options && validateAlgorithms$1('algorithms', options.algorithms);\n if (algorithms && !algorithms.has(alg)) {\n throw new JOSEAlgNotAllowed('\"alg\" (Algorithm) Header Parameter value not allowed');\n }\n if (b64) {\n if (typeof jws.payload !== 'string') {\n throw new JWSInvalid('JWS Payload must be a string');\n }\n }\n else if (typeof jws.payload !== 'string' && !(jws.payload instanceof Uint8Array)) {\n throw new JWSInvalid('JWS Payload must be a string or an Uint8Array instance');\n }\n let resolvedKey = false;\n if (typeof key === 'function') {\n key = await key(parsedProt, jws);\n resolvedKey = true;\n checkKeyTypeWithJwk(alg, key, 'verify');\n if (isJWK(key)) {\n key = await importJWK(key, alg);\n }\n }\n else {\n checkKeyTypeWithJwk(alg, key, 'verify');\n }\n const data = concat(encoder.encode(jws.protected ?? ''), encoder.encode('.'), typeof jws.payload === 'string' ? encoder.encode(jws.payload) : jws.payload);\n let signature;\n try {\n signature = decode$1(jws.signature);\n }\n catch {\n throw new JWSInvalid('Failed to base64url decode the signature');\n }\n const verified = await verify$1(alg, key, signature, data);\n if (!verified) {\n throw new JWSSignatureVerificationFailed();\n }\n let payload;\n if (b64) {\n try {\n payload = decode$1(jws.payload);\n }\n catch {\n throw new JWSInvalid('Failed to base64url decode the payload');\n }\n }\n else if (typeof jws.payload === 'string') {\n payload = encoder.encode(jws.payload);\n }\n else {\n payload = jws.payload;\n }\n const result = { payload };\n if (jws.protected !== undefined) {\n result.protectedHeader = parsedProt;\n }\n if (jws.header !== undefined) {\n result.unprotectedHeader = jws.header;\n }\n if (resolvedKey) {\n return { ...result, key };\n }\n return result;\n}\n\nasync function compactVerify(jws, key, options) {\n if (jws instanceof Uint8Array) {\n jws = decoder.decode(jws);\n }\n if (typeof jws !== 'string') {\n throw new JWSInvalid('Compact JWS must be a string or Uint8Array');\n }\n const { 0: protectedHeader, 1: payload, 2: signature, length } = jws.split('.');\n if (length !== 3) {\n throw new JWSInvalid('Invalid Compact JWS');\n }\n const verified = await flattenedVerify({ payload, protected: protectedHeader, signature }, key, options);\n const result = { payload: verified.payload, protectedHeader: verified.protectedHeader };\n if (typeof key === 'function') {\n return { ...result, key: verified.key };\n }\n return result;\n}\n\nvar epoch = (date) => Math.floor(date.getTime() / 1000);\n\nconst minute = 60;\nconst hour = minute * 60;\nconst day = hour * 24;\nconst week = day * 7;\nconst year = day * 365.25;\nconst REGEX = /^(\\+|\\-)? ?(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;\nvar secs = (str) => {\n const matched = REGEX.exec(str);\n if (!matched || (matched[4] && matched[1])) {\n throw new TypeError('Invalid time period format');\n }\n const value = parseFloat(matched[2]);\n const unit = matched[3].toLowerCase();\n let numericDate;\n switch (unit) {\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n case 's':\n numericDate = Math.round(value);\n break;\n case 'minute':\n case 'minutes':\n case 'min':\n case 'mins':\n case 'm':\n numericDate = Math.round(value * minute);\n break;\n case 'hour':\n case 'hours':\n case 'hr':\n case 'hrs':\n case 'h':\n numericDate = Math.round(value * hour);\n break;\n case 'day':\n case 'days':\n case 'd':\n numericDate = Math.round(value * day);\n break;\n case 'week':\n case 'weeks':\n case 'w':\n numericDate = Math.round(value * week);\n break;\n default:\n numericDate = Math.round(value * year);\n break;\n }\n if (matched[1] === '-' || matched[4] === 'ago') {\n return -numericDate;\n }\n return numericDate;\n};\n\nconst normalizeTyp = (value) => value.toLowerCase().replace(/^application\\//, '');\nconst checkAudiencePresence = (audPayload, audOption) => {\n if (typeof audPayload === 'string') {\n return audOption.includes(audPayload);\n }\n if (Array.isArray(audPayload)) {\n return audOption.some(Set.prototype.has.bind(new Set(audPayload)));\n }\n return false;\n};\nvar jwtPayload = (protectedHeader, encodedPayload, options = {}) => {\n let payload;\n try {\n payload = JSON.parse(decoder.decode(encodedPayload));\n }\n catch {\n }\n if (!isObject(payload)) {\n throw new JWTInvalid('JWT Claims Set must be a top-level JSON object');\n }\n const { typ } = options;\n if (typ &&\n (typeof protectedHeader.typ !== 'string' ||\n normalizeTyp(protectedHeader.typ) !== normalizeTyp(typ))) {\n throw new JWTClaimValidationFailed('unexpected \"typ\" JWT header value', payload, 'typ', 'check_failed');\n }\n const { requiredClaims = [], issuer, subject, audience, maxTokenAge } = options;\n const presenceCheck = [...requiredClaims];\n if (maxTokenAge !== undefined)\n presenceCheck.push('iat');\n if (audience !== undefined)\n presenceCheck.push('aud');\n if (subject !== undefined)\n presenceCheck.push('sub');\n if (issuer !== undefined)\n presenceCheck.push('iss');\n for (const claim of new Set(presenceCheck.reverse())) {\n if (!(claim in payload)) {\n throw new JWTClaimValidationFailed(`missing required \"${claim}\" claim`, payload, claim, 'missing');\n }\n }\n if (issuer &&\n !(Array.isArray(issuer) ? issuer : [issuer]).includes(payload.iss)) {\n throw new JWTClaimValidationFailed('unexpected \"iss\" claim value', payload, 'iss', 'check_failed');\n }\n if (subject && payload.sub !== subject) {\n throw new JWTClaimValidationFailed('unexpected \"sub\" claim value', payload, 'sub', 'check_failed');\n }\n if (audience &&\n !checkAudiencePresence(payload.aud, typeof audience === 'string' ? [audience] : audience)) {\n throw new JWTClaimValidationFailed('unexpected \"aud\" claim value', payload, 'aud', 'check_failed');\n }\n let tolerance;\n switch (typeof options.clockTolerance) {\n case 'string':\n tolerance = secs(options.clockTolerance);\n break;\n case 'number':\n tolerance = options.clockTolerance;\n break;\n case 'undefined':\n tolerance = 0;\n break;\n default:\n throw new TypeError('Invalid clockTolerance option type');\n }\n const { currentDate } = options;\n const now = epoch(currentDate || new Date());\n if ((payload.iat !== undefined || maxTokenAge) && typeof payload.iat !== 'number') {\n throw new JWTClaimValidationFailed('\"iat\" claim must be a number', payload, 'iat', 'invalid');\n }\n if (payload.nbf !== undefined) {\n if (typeof payload.nbf !== 'number') {\n throw new JWTClaimValidationFailed('\"nbf\" claim must be a number', payload, 'nbf', 'invalid');\n }\n if (payload.nbf > now + tolerance) {\n throw new JWTClaimValidationFailed('\"nbf\" claim timestamp check failed', payload, 'nbf', 'check_failed');\n }\n }\n if (payload.exp !== undefined) {\n if (typeof payload.exp !== 'number') {\n throw new JWTClaimValidationFailed('\"exp\" claim must be a number', payload, 'exp', 'invalid');\n }\n if (payload.exp <= now - tolerance) {\n throw new JWTExpired('\"exp\" claim timestamp check failed', payload, 'exp', 'check_failed');\n }\n }\n if (maxTokenAge) {\n const age = now - payload.iat;\n const max = typeof maxTokenAge === 'number' ? maxTokenAge : secs(maxTokenAge);\n if (age - tolerance > max) {\n throw new JWTExpired('\"iat\" claim timestamp check failed (too far in the past)', payload, 'iat', 'check_failed');\n }\n if (age < 0 - tolerance) {\n throw new JWTClaimValidationFailed('\"iat\" claim timestamp check failed (it should be in the past)', payload, 'iat', 'check_failed');\n }\n }\n return payload;\n};\n\nasync function jwtVerify(jwt, key, options) {\n const verified = await compactVerify(jwt, key, options);\n if (verified.protectedHeader.crit?.includes('b64') && verified.protectedHeader.b64 === false) {\n throw new JWTInvalid('JWTs MUST NOT use unencoded payload');\n }\n const payload = jwtPayload(verified.protectedHeader, verified.payload, options);\n const result = { payload, protectedHeader: verified.protectedHeader };\n if (typeof key === 'function') {\n return { ...result, key: verified.key };\n }\n return result;\n}\n\nconst sign = async (alg, key, data) => {\n const cryptoKey = await getCryptoKey(alg, key, 'sign');\n checkKeyLength(alg, cryptoKey);\n const signature = await crypto$1.subtle.sign(subtleDsa(alg, cryptoKey.algorithm), cryptoKey, data);\n return new Uint8Array(signature);\n};\nvar sign$1 = sign;\n\nclass FlattenedSign {\n constructor(payload) {\n if (!(payload instanceof Uint8Array)) {\n throw new TypeError('payload must be an instance of Uint8Array');\n }\n this._payload = payload;\n }\n setProtectedHeader(protectedHeader) {\n if (this._protectedHeader) {\n throw new TypeError('setProtectedHeader can only be called once');\n }\n this._protectedHeader = protectedHeader;\n return this;\n }\n setUnprotectedHeader(unprotectedHeader) {\n if (this._unprotectedHeader) {\n throw new TypeError('setUnprotectedHeader can only be called once');\n }\n this._unprotectedHeader = unprotectedHeader;\n return this;\n }\n async sign(key, options) {\n if (!this._protectedHeader && !this._unprotectedHeader) {\n throw new JWSInvalid('either setProtectedHeader or setUnprotectedHeader must be called before #sign()');\n }\n if (!isDisjoint$1(this._protectedHeader, this._unprotectedHeader)) {\n throw new JWSInvalid('JWS Protected and JWS Unprotected Header Parameter names must be disjoint');\n }\n const joseHeader = {\n ...this._protectedHeader,\n ...this._unprotectedHeader,\n };\n const extensions = validateCrit(JWSInvalid, new Map([['b64', true]]), options?.crit, this._protectedHeader, joseHeader);\n let b64 = true;\n if (extensions.has('b64')) {\n b64 = this._protectedHeader.b64;\n if (typeof b64 !== 'boolean') {\n throw new JWSInvalid('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');\n }\n }\n const { alg } = joseHeader;\n if (typeof alg !== 'string' || !alg) {\n throw new JWSInvalid('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');\n }\n checkKeyTypeWithJwk(alg, key, 'sign');\n let payload = this._payload;\n if (b64) {\n payload = encoder.encode(encode(payload));\n }\n let protectedHeader;\n if (this._protectedHeader) {\n protectedHeader = encoder.encode(encode(JSON.stringify(this._protectedHeader)));\n }\n else {\n protectedHeader = encoder.encode('');\n }\n const data = concat(protectedHeader, encoder.encode('.'), payload);\n const signature = await sign$1(alg, key, data);\n const jws = {\n signature: encode(signature),\n payload: '',\n };\n if (b64) {\n jws.payload = decoder.decode(payload);\n }\n if (this._unprotectedHeader) {\n jws.header = this._unprotectedHeader;\n }\n if (this._protectedHeader) {\n jws.protected = decoder.decode(protectedHeader);\n }\n return jws;\n }\n}\n\nclass CompactSign {\n constructor(payload) {\n this._flattened = new FlattenedSign(payload);\n }\n setProtectedHeader(protectedHeader) {\n this._flattened.setProtectedHeader(protectedHeader);\n return this;\n }\n async sign(key, options) {\n const jws = await this._flattened.sign(key, options);\n if (jws.payload === undefined) {\n throw new TypeError('use the flattened module for creating JWS with b64: false');\n }\n return `${jws.protected}.${jws.payload}.${jws.signature}`;\n }\n}\n\nfunction validateInput(label, input) {\n if (!Number.isFinite(input)) {\n throw new TypeError(`Invalid ${label} input`);\n }\n return input;\n}\nclass ProduceJWT {\n constructor(payload = {}) {\n if (!isObject(payload)) {\n throw new TypeError('JWT Claims Set MUST be an object');\n }\n this._payload = payload;\n }\n setIssuer(issuer) {\n this._payload = { ...this._payload, iss: issuer };\n return this;\n }\n setSubject(subject) {\n this._payload = { ...this._payload, sub: subject };\n return this;\n }\n setAudience(audience) {\n this._payload = { ...this._payload, aud: audience };\n return this;\n }\n setJti(jwtId) {\n this._payload = { ...this._payload, jti: jwtId };\n return this;\n }\n setNotBefore(input) {\n if (typeof input === 'number') {\n this._payload = { ...this._payload, nbf: validateInput('setNotBefore', input) };\n }\n else if (input instanceof Date) {\n this._payload = { ...this._payload, nbf: validateInput('setNotBefore', epoch(input)) };\n }\n else {\n this._payload = { ...this._payload, nbf: epoch(new Date()) + secs(input) };\n }\n return this;\n }\n setExpirationTime(input) {\n if (typeof input === 'number') {\n this._payload = { ...this._payload, exp: validateInput('setExpirationTime', input) };\n }\n else if (input instanceof Date) {\n this._payload = { ...this._payload, exp: validateInput('setExpirationTime', epoch(input)) };\n }\n else {\n this._payload = { ...this._payload, exp: epoch(new Date()) + secs(input) };\n }\n return this;\n }\n setIssuedAt(input) {\n if (typeof input === 'undefined') {\n this._payload = { ...this._payload, iat: epoch(new Date()) };\n }\n else if (input instanceof Date) {\n this._payload = { ...this._payload, iat: validateInput('setIssuedAt', epoch(input)) };\n }\n else if (typeof input === 'string') {\n this._payload = {\n ...this._payload,\n iat: validateInput('setIssuedAt', epoch(new Date()) + secs(input)),\n };\n }\n else {\n this._payload = { ...this._payload, iat: validateInput('setIssuedAt', input) };\n }\n return this;\n }\n}\n\nclass SignJWT extends ProduceJWT {\n setProtectedHeader(protectedHeader) {\n this._protectedHeader = protectedHeader;\n return this;\n }\n async sign(key, options) {\n const sig = new CompactSign(encoder.encode(JSON.stringify(this._payload)));\n sig.setProtectedHeader(this._protectedHeader);\n if (Array.isArray(this._protectedHeader?.crit) &&\n this._protectedHeader.crit.includes('b64') &&\n this._protectedHeader.b64 === false) {\n throw new JWTInvalid('JWTs MUST NOT use unencoded payload');\n }\n return sig.sign(key, options);\n }\n}\n\nconst check = (value, description) => {\n if (typeof value !== 'string' || !value) {\n throw new JWKInvalid(`${description} missing or invalid`);\n }\n};\nasync function calculateJwkThumbprint(jwk, digestAlgorithm) {\n if (!isObject(jwk)) {\n throw new TypeError('JWK must be an object');\n }\n digestAlgorithm ?? (digestAlgorithm = 'sha256');\n if (digestAlgorithm !== 'sha256' &&\n digestAlgorithm !== 'sha384' &&\n digestAlgorithm !== 'sha512') {\n throw new TypeError('digestAlgorithm must one of \"sha256\", \"sha384\", or \"sha512\"');\n }\n let components;\n switch (jwk.kty) {\n case 'EC':\n check(jwk.crv, '\"crv\" (Curve) Parameter');\n check(jwk.x, '\"x\" (X Coordinate) Parameter');\n check(jwk.y, '\"y\" (Y Coordinate) Parameter');\n components = { crv: jwk.crv, kty: jwk.kty, x: jwk.x, y: jwk.y };\n break;\n case 'OKP':\n check(jwk.crv, '\"crv\" (Subtype of Key Pair) Parameter');\n check(jwk.x, '\"x\" (Public Key) Parameter');\n components = { crv: jwk.crv, kty: jwk.kty, x: jwk.x };\n break;\n case 'RSA':\n check(jwk.e, '\"e\" (Exponent) Parameter');\n check(jwk.n, '\"n\" (Modulus) Parameter');\n components = { e: jwk.e, kty: jwk.kty, n: jwk.n };\n break;\n case 'oct':\n check(jwk.k, '\"k\" (Key Value) Parameter');\n components = { k: jwk.k, kty: jwk.kty };\n break;\n default:\n throw new JOSENotSupported('\"kty\" (Key Type) Parameter missing or unsupported');\n }\n const data = encoder.encode(JSON.stringify(components));\n return encode(await digest$1(digestAlgorithm, data));\n}\n\nfunction getKtyFromAlg(alg) {\n switch (typeof alg === 'string' && alg.slice(0, 2)) {\n case 'RS':\n case 'PS':\n return 'RSA';\n case 'ES':\n return 'EC';\n case 'Ed':\n return 'OKP';\n default:\n throw new JOSENotSupported('Unsupported \"alg\" value for a JSON Web Key Set');\n }\n}\nfunction isJWKSLike(jwks) {\n return (jwks &&\n typeof jwks === 'object' &&\n Array.isArray(jwks.keys) &&\n jwks.keys.every(isJWKLike));\n}\nfunction isJWKLike(key) {\n return isObject(key);\n}\nfunction clone(obj) {\n if (typeof structuredClone === 'function') {\n return structuredClone(obj);\n }\n return JSON.parse(JSON.stringify(obj));\n}\nclass LocalJWKSet {\n constructor(jwks) {\n this._cached = new WeakMap();\n if (!isJWKSLike(jwks)) {\n throw new JWKSInvalid('JSON Web Key Set malformed');\n }\n this._jwks = clone(jwks);\n }\n async getKey(protectedHeader, token) {\n const { alg, kid } = { ...protectedHeader, ...token?.header };\n const kty = getKtyFromAlg(alg);\n const candidates = this._jwks.keys.filter((jwk) => {\n let candidate = kty === jwk.kty;\n if (candidate && typeof kid === 'string') {\n candidate = kid === jwk.kid;\n }\n if (candidate && typeof jwk.alg === 'string') {\n candidate = alg === jwk.alg;\n }\n if (candidate && typeof jwk.use === 'string') {\n candidate = jwk.use === 'sig';\n }\n if (candidate && Array.isArray(jwk.key_ops)) {\n candidate = jwk.key_ops.includes('verify');\n }\n if (candidate) {\n switch (alg) {\n case 'ES256':\n candidate = jwk.crv === 'P-256';\n break;\n case 'ES256K':\n candidate = jwk.crv === 'secp256k1';\n break;\n case 'ES384':\n candidate = jwk.crv === 'P-384';\n break;\n case 'ES512':\n candidate = jwk.crv === 'P-521';\n break;\n case 'Ed25519':\n candidate = jwk.crv === 'Ed25519';\n break;\n case 'EdDSA':\n candidate = jwk.crv === 'Ed25519' || jwk.crv === 'Ed448';\n break;\n }\n }\n return candidate;\n });\n const { 0: jwk, length } = candidates;\n if (length === 0) {\n throw new JWKSNoMatchingKey();\n }\n if (length !== 1) {\n const error = new JWKSMultipleMatchingKeys();\n const { _cached } = this;\n error[Symbol.asyncIterator] = async function* () {\n for (const jwk of candidates) {\n try {\n yield await importWithAlgCache(_cached, jwk, alg);\n }\n catch { }\n }\n };\n throw error;\n }\n return importWithAlgCache(this._cached, jwk, alg);\n }\n}\nasync function importWithAlgCache(cache, jwk, alg) {\n const cached = cache.get(jwk) || cache.set(jwk, {}).get(jwk);\n if (cached[alg] === undefined) {\n const key = await importJWK({ ...jwk, ext: true }, alg);\n if (key instanceof Uint8Array || key.type !== 'public') {\n throw new JWKSInvalid('JSON Web Key Set members must be public keys');\n }\n cached[alg] = key;\n }\n return cached[alg];\n}\nfunction createLocalJWKSet(jwks) {\n const set = new LocalJWKSet(jwks);\n const localJWKSet = async (protectedHeader, token) => set.getKey(protectedHeader, token);\n Object.defineProperties(localJWKSet, {\n jwks: {\n value: () => clone(set._jwks),\n enumerable: true,\n configurable: false,\n writable: false,\n },\n });\n return localJWKSet;\n}\n\nconst fetchJwks = async (url, timeout, options) => {\n let controller;\n let id;\n let timedOut = false;\n if (typeof AbortController === 'function') {\n controller = new AbortController();\n id = setTimeout(() => {\n timedOut = true;\n controller.abort();\n }, timeout);\n }\n const response = await fetch(url.href, {\n signal: controller ? controller.signal : undefined,\n redirect: 'manual',\n headers: options.headers,\n }).catch((err) => {\n if (timedOut)\n throw new JWKSTimeout();\n throw err;\n });\n if (id !== undefined)\n clearTimeout(id);\n if (response.status !== 200) {\n throw new JOSEError('Expected 200 OK from the JSON Web Key Set HTTP response');\n }\n try {\n return await response.json();\n }\n catch {\n throw new JOSEError('Failed to parse the JSON Web Key Set HTTP response as JSON');\n }\n};\nvar fetchJwks$1 = fetchJwks;\n\nfunction isCloudflareWorkers() {\n return (typeof WebSocketPair !== 'undefined' ||\n (typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') ||\n (typeof EdgeRuntime !== 'undefined' && EdgeRuntime === 'vercel'));\n}\nlet USER_AGENT;\nif (typeof navigator === 'undefined' || !navigator.userAgent?.startsWith?.('Mozilla/5.0 ')) {\n const NAME = 'jose';\n const VERSION = 'v5.10.0';\n USER_AGENT = `${NAME}/${VERSION}`;\n}\nconst jwksCache = Symbol();\nfunction isFreshJwksCache(input, cacheMaxAge) {\n if (typeof input !== 'object' || input === null) {\n return false;\n }\n if (!('uat' in input) || typeof input.uat !== 'number' || Date.now() - input.uat >= cacheMaxAge) {\n return false;\n }\n if (!('jwks' in input) ||\n !isObject(input.jwks) ||\n !Array.isArray(input.jwks.keys) ||\n !Array.prototype.every.call(input.jwks.keys, isObject)) {\n return false;\n }\n return true;\n}\nclass RemoteJWKSet {\n constructor(url, options) {\n if (!(url instanceof URL)) {\n throw new TypeError('url must be an instance of URL');\n }\n this._url = new URL(url.href);\n this._options = { agent: options?.agent, headers: options?.headers };\n this._timeoutDuration =\n typeof options?.timeoutDuration === 'number' ? options?.timeoutDuration : 5000;\n this._cooldownDuration =\n typeof options?.cooldownDuration === 'number' ? options?.cooldownDuration : 30000;\n this._cacheMaxAge = typeof options?.cacheMaxAge === 'number' ? options?.cacheMaxAge : 600000;\n if (options?.[jwksCache] !== undefined) {\n this._cache = options?.[jwksCache];\n if (isFreshJwksCache(options?.[jwksCache], this._cacheMaxAge)) {\n this._jwksTimestamp = this._cache.uat;\n this._local = createLocalJWKSet(this._cache.jwks);\n }\n }\n }\n coolingDown() {\n return typeof this._jwksTimestamp === 'number'\n ? Date.now() < this._jwksTimestamp + this._cooldownDuration\n : false;\n }\n fresh() {\n return typeof this._jwksTimestamp === 'number'\n ? Date.now() < this._jwksTimestamp + this._cacheMaxAge\n : false;\n }\n async getKey(protectedHeader, token) {\n if (!this._local || !this.fresh()) {\n await this.reload();\n }\n try {\n return await this._local(protectedHeader, token);\n }\n catch (err) {\n if (err instanceof JWKSNoMatchingKey) {\n if (this.coolingDown() === false) {\n await this.reload();\n return this._local(protectedHeader, token);\n }\n }\n throw err;\n }\n }\n async reload() {\n if (this._pendingFetch && isCloudflareWorkers()) {\n this._pendingFetch = undefined;\n }\n const headers = new Headers(this._options.headers);\n if (USER_AGENT && !headers.has('User-Agent')) {\n headers.set('User-Agent', USER_AGENT);\n this._options.headers = Object.fromEntries(headers.entries());\n }\n this._pendingFetch || (this._pendingFetch = fetchJwks$1(this._url, this._timeoutDuration, this._options)\n .then((json) => {\n this._local = createLocalJWKSet(json);\n if (this._cache) {\n this._cache.uat = Date.now();\n this._cache.jwks = json;\n }\n this._jwksTimestamp = Date.now();\n this._pendingFetch = undefined;\n })\n .catch((err) => {\n this._pendingFetch = undefined;\n throw err;\n }));\n await this._pendingFetch;\n }\n}\nfunction createRemoteJWKSet(url, options) {\n const set = new RemoteJWKSet(url, options);\n const remoteJWKSet = async (protectedHeader, token) => set.getKey(protectedHeader, token);\n Object.defineProperties(remoteJWKSet, {\n coolingDown: {\n get: () => set.coolingDown(),\n enumerable: true,\n configurable: false,\n },\n fresh: {\n get: () => set.fresh(),\n enumerable: true,\n configurable: false,\n },\n reload: {\n value: () => set.reload(),\n enumerable: true,\n configurable: false,\n writable: false,\n },\n reloading: {\n get: () => !!set._pendingFetch,\n enumerable: true,\n configurable: false,\n },\n jwks: {\n value: () => set._local?.jwks(),\n enumerable: true,\n configurable: false,\n writable: false,\n },\n });\n return remoteJWKSet;\n}\n\nconst decode = decode$1;\n\nfunction decodeJwt(jwt) {\n if (typeof jwt !== 'string')\n throw new JWTInvalid('JWTs must use Compact JWS serialization, JWT must be a string');\n const { 1: payload, length } = jwt.split('.');\n if (length === 5)\n throw new JWTInvalid('Only JWTs using Compact JWS serialization can be decoded');\n if (length !== 3)\n throw new JWTInvalid('Invalid JWT');\n if (!payload)\n throw new JWTInvalid('JWTs must contain a payload');\n let decoded;\n try {\n decoded = decode(payload);\n }\n catch {\n throw new JWTInvalid('Failed to base64url decode the payload');\n }\n let result;\n try {\n result = JSON.parse(decoder.decode(decoded));\n }\n catch {\n throw new JWTInvalid('Failed to parse the decoded payload as JSON');\n }\n if (!isObject(result))\n throw new JWTInvalid('Invalid JWT Claims Set');\n return result;\n}\n\nfunction getModulusLengthOption(options) {\n const modulusLength = options?.modulusLength ?? 2048;\n if (typeof modulusLength !== 'number' || modulusLength < 2048) {\n throw new JOSENotSupported('Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used');\n }\n return modulusLength;\n}\nasync function generateKeyPair$1(alg, options) {\n let algorithm;\n let keyUsages;\n switch (alg) {\n case 'PS256':\n case 'PS384':\n case 'PS512':\n algorithm = {\n name: 'RSA-PSS',\n hash: `SHA-${alg.slice(-3)}`,\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]),\n modulusLength: getModulusLengthOption(options),\n };\n keyUsages = ['sign', 'verify'];\n break;\n case 'RS256':\n case 'RS384':\n case 'RS512':\n algorithm = {\n name: 'RSASSA-PKCS1-v1_5',\n hash: `SHA-${alg.slice(-3)}`,\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]),\n modulusLength: getModulusLengthOption(options),\n };\n keyUsages = ['sign', 'verify'];\n break;\n case 'RSA-OAEP':\n case 'RSA-OAEP-256':\n case 'RSA-OAEP-384':\n case 'RSA-OAEP-512':\n algorithm = {\n name: 'RSA-OAEP',\n hash: `SHA-${parseInt(alg.slice(-3), 10) || 1}`,\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]),\n modulusLength: getModulusLengthOption(options),\n };\n keyUsages = ['decrypt', 'unwrapKey', 'encrypt', 'wrapKey'];\n break;\n case 'ES256':\n algorithm = { name: 'ECDSA', namedCurve: 'P-256' };\n keyUsages = ['sign', 'verify'];\n break;\n case 'ES384':\n algorithm = { name: 'ECDSA', namedCurve: 'P-384' };\n keyUsages = ['sign', 'verify'];\n break;\n case 'ES512':\n algorithm = { name: 'ECDSA', namedCurve: 'P-521' };\n keyUsages = ['sign', 'verify'];\n break;\n case 'Ed25519':\n algorithm = { name: 'Ed25519' };\n keyUsages = ['sign', 'verify'];\n break;\n case 'EdDSA': {\n keyUsages = ['sign', 'verify'];\n const crv = options?.crv ?? 'Ed25519';\n switch (crv) {\n case 'Ed25519':\n case 'Ed448':\n algorithm = { name: crv };\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported crv option provided');\n }\n break;\n }\n case 'ECDH-ES':\n case 'ECDH-ES+A128KW':\n case 'ECDH-ES+A192KW':\n case 'ECDH-ES+A256KW': {\n keyUsages = ['deriveKey', 'deriveBits'];\n const crv = options?.crv ?? 'P-256';\n switch (crv) {\n case 'P-256':\n case 'P-384':\n case 'P-521': {\n algorithm = { name: 'ECDH', namedCurve: crv };\n break;\n }\n case 'X25519':\n case 'X448':\n algorithm = { name: crv };\n break;\n default:\n throw new JOSENotSupported('Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448');\n }\n break;\n }\n default:\n throw new JOSENotSupported('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value');\n }\n return crypto$1.subtle.generateKey(algorithm, options?.extractable ?? false, keyUsages);\n}\n\nasync function generateKeyPair(alg, options) {\n return generateKeyPair$1(alg, options);\n}\n\n/**\n * When the client does not have a webid profile document, use this.\n *\n * @param registration_endpoint\n * @param redirect__uris\n * @returns\n */\nconst requestDynamicClientRegistration = async (registration_endpoint, client_details) => {\n // prepare dynamic client registration\n const client_registration_request_body = {\n ...client_details,\n grant_types: [\"authorization_code\", \"refresh_token\"],\n id_token_signed_response_alg: \"ES256\",\n token_endpoint_auth_method: \"none\",\n application_type: \"web\",\n subject_type: \"public\",\n };\n // register\n return fetch(registration_endpoint, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(client_registration_request_body),\n });\n};\n\n/**\n * A simple IndexedDB wrapper\n */\nclass SessionDatabase {\n dbName;\n storeName;\n dbVersion;\n db = null;\n /**\n * Creates a new instance\n * @param dbName The name of the IndexedDB database\n * @param storeName The name of the object store\n * @param dbVersion The database version\n */\n constructor(dbName = 'soidc', storeName = 'session', dbVersion = 1) {\n this.dbName = dbName;\n this.storeName = storeName;\n this.dbVersion = dbVersion;\n }\n /**\n * Initializes the IndexedDB database\n * @returns Promise that resolves when the database is ready\n */\n async init() {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(this.dbName, this.dbVersion);\n request.onerror = (event) => {\n reject(new Error(`Database error: ${event.target.error}`));\n };\n request.onsuccess = (event) => {\n this.db = event.target.result;\n resolve(this);\n };\n request.onupgradeneeded = (event) => {\n const db = event.target.result;\n // Check if the object store already exists, if not create it\n if (!db.objectStoreNames.contains(this.storeName)) {\n db.createObjectStore(this.storeName);\n }\n };\n });\n }\n /**\n * Stores any value in the database with the given ID as key\n * @param id The identifier/key for the value\n * @param value The value to store\n */\n async setItem(id, value) {\n if (!this.db) {\n await this.init();\n }\n return new Promise((resolve, reject) => {\n const transaction = this.db.transaction(this.storeName, 'readwrite');\n // Handle transation\n transaction.oncomplete = () => {\n resolve();\n };\n transaction.onerror = (event) => {\n reject(new Error(`Transaction error for setItem(${id},...): ${event.target.error}`));\n };\n transaction.onabort = (event) => {\n reject(new Error(`Transaction aborted for setItem(${id},...): ${event.target.error}`));\n };\n // Perform the request within the transaction\n const store = transaction.objectStore(this.storeName);\n store.put(value, id);\n });\n }\n /**\n * Retrieves a value from the database by ID\n * @param id The identifier/key for the value\n * @returns The stored value or null if not found\n */\n async getItem(id) {\n if (!this.db) {\n await this.init();\n }\n return new Promise((resolve, reject) => {\n const transaction = this.db.transaction(this.storeName, 'readonly');\n // Handle transation\n transaction.onerror = (event) => {\n reject(new Error(`Transaction error for getItem(${id}): ${event.target.error}`));\n };\n transaction.onabort = (event) => {\n reject(new Error(`Transaction aborted for getItem(${id}): ${event.target.error}`));\n };\n // Perform the request within the transaction\n const store = transaction.objectStore(this.storeName);\n const request = store.get(id);\n request.onsuccess = () => {\n resolve(request.result || null);\n };\n });\n }\n /**\n * Removes an item from the database\n * @param id The identifier of the item to remove\n */\n async deleteItem(id) {\n if (!this.db) {\n await this.init();\n }\n return new Promise((resolve, reject) => {\n const transaction = this.db.transaction(this.storeName, 'readwrite');\n // Handle transation\n transaction.oncomplete = () => {\n resolve();\n };\n transaction.onerror = (event) => {\n reject(new Error(`Transaction error for deleteItem(${id}): ${event.target.error}`));\n };\n transaction.onabort = (event) => {\n reject(new Error(`Transaction aborted for deleteItem(${id}): ${event.target.error}`));\n };\n // Perform the request within the transaction\n const store = transaction.objectStore(this.storeName);\n store.delete(id);\n });\n }\n /**\n * Clears all items from the database\n */\n async clear() {\n if (!this.db) {\n await this.init();\n }\n return new Promise((resolve, reject) => {\n const transaction = this.db.transaction(this.storeName, 'readwrite');\n // Handle transation\n transaction.oncomplete = () => {\n resolve();\n };\n transaction.onerror = (event) => {\n reject(new Error(`Transaction error for clear(): ${event.target.error}`));\n };\n transaction.onabort = (event) => {\n reject(new Error(`Transaction aborted for clear(): ${event.target.error}`));\n };\n // Perform the request within the transaction\n const store = transaction.objectStore(this.storeName);\n store.clear();\n });\n }\n /**\n * Closes the database connection\n */\n close() {\n if (this.db) {\n this.db.close();\n this.db = null;\n }\n }\n}\n\n/**\n * Login with the idp, using a provided `client_id` or dynamic client registration if none provided.\n *\n * @param idp\n * @param redirect_uri\n */\nconst redirectForLogin = async (idp, redirect_uri, client_details) => {\n // RFC 6749 - Section 3.1.2 - sanitize redirect_uri\n const redirect_uri_ = new URL(redirect_uri);\n const redirect_uri_sane = redirect_uri_.origin + redirect_uri_.pathname + redirect_uri_.search;\n // RFC 9207 iss check: remember the identity provider (idp) / issuer (iss)\n sessionStorage.setItem(\"idp\", idp);\n // lookup openid configuration of idp\n const idp_origin = new URL(idp).origin;\n const openid_configuration = await fetch(`${idp_origin}/.well-known/openid-configuration`)\n .then((response) => {\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n return response.json();\n });\n // remember token endpoint\n sessionStorage.setItem(\"token_endpoint\", openid_configuration[\"token_endpoint\"]);\n // remember jwks_uri for later token verification\n sessionStorage.setItem(\"jwks_uri\", openid_configuration[\"jwks_uri\"]);\n let client_id = client_details?.client_id;\n // no client_id => attempt dynamic registration\n if (!client_id) {\n // use registration endpoint\n const registration_endpoint = openid_configuration[\"registration_endpoint\"];\n // get client registration\n const client_registration = await requestDynamicClientRegistration(registration_endpoint, client_details ?? { redirect_uris: [redirect_uri_sane] })\n .then((response) => {\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n return response.json();\n });\n client_id = client_registration[\"client_id\"];\n // remember client_id\n sessionStorage.setItem(\"client_id\", client_id);\n }\n // RFC 7636 PKCE, remember code verifer\n const { pkce_code_verifier, pkce_code_challenge } = await getPKCEcode();\n sessionStorage.setItem(\"pkce_code_verifier\", pkce_code_verifier);\n // RFC 6749 OAuth 2.0 - CSRF token\n const csrf_token = window.crypto.randomUUID();\n sessionStorage.setItem(\"csrf_token\", csrf_token);\n // redirect to idp\n const redirect_to_idp = openid_configuration[\"authorization_endpoint\"] +\n `?response_type=code` +\n `&redirect_uri=${encodeURIComponent(redirect_uri_sane)}` +\n `&scope=openid offline_access webid` +\n `&client_id=${encodeURIComponent(client_id)}` +\n `&code_challenge_method=S256` +\n `&code_challenge=${pkce_code_challenge}` +\n `&state=${csrf_token}` +\n `&prompt=consent`; // this query parameter value MUST be present for CSS v7 to issue a refresh token ( // TODO open issue because prompting is the default behaviour but without this query param no refresh token is provided despite the \"remember this client\" box being checked)\n window.location.href = redirect_to_idp;\n};\n/**\n * RFC 7636 PKCE\n * @returns PKCE code verifier and PKCE code challenge\n */\nconst getPKCEcode = async () => {\n // create random string as PKCE code verifier\n const pkce_code_verifier = window.crypto.randomUUID() + \"-\" + window.crypto.randomUUID();\n // hash the verifier and base64URL encode as PKCE code challenge\n const digest = new Uint8Array(await window.crypto.subtle.digest(\"SHA-256\", new TextEncoder().encode(pkce_code_verifier)));\n const pkce_code_challenge = btoa(String.fromCharCode(...digest))\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/, \"\");\n return { pkce_code_verifier, pkce_code_challenge };\n};\n/**\n * On incoming redirect from OpenID provider (idp/iss),\n * URL contains authrization code, issuer (idp) and state (csrf token),\n * get an access token for the authrization code.\n */\nconst onIncomingRedirect = async (client_details) => {\n const url = new URL(window.location.href);\n // authorization code\n const authorization_code = url.searchParams.get(\"code\");\n // if no code, session remains unauthenticated at this point\n if (authorization_code === null) {\n return { clientDetails: client_details };\n }\n // RFC 9207 issuer check\n const idp = sessionStorage.getItem(\"idp\");\n if (idp === null || url.searchParams.get(\"iss\") != idp) {\n throw new Error(\"RFC 9207 - iss != idp - \" + url.searchParams.get(\"iss\") + \" != \" + idp);\n }\n // RFC 6749 OAuth 2.0\n if (url.searchParams.get(\"state\") != sessionStorage.getItem(\"csrf_token\")) {\n throw new Error(\"RFC 6749 - state != csrf_token - \" + url.searchParams.get(\"state\") + \" != \" + sessionStorage.getItem(\"csrf_token\"));\n }\n // remove redirect query parameters from URL\n url.searchParams.delete(\"iss\");\n url.searchParams.delete(\"state\");\n url.searchParams.delete(\"code\");\n window.history.pushState({}, document.title, url.toString());\n // prepare token request\n const pkce_code_verifier = sessionStorage.getItem(\"pkce_code_verifier\");\n if (pkce_code_verifier === null) {\n throw new Error(\"Access Token Request preparation - Could not find in sessionStorage: pkce_code_verifier\");\n }\n const client_id = client_details?.client_id || sessionStorage.getItem(\"client_id\");\n if (!client_id) {\n throw new Error(\"Access Token Request preparation - Could not find in sessionStorage: client_id (dynamic registration)\");\n }\n const token_endpoint = sessionStorage.getItem(\"token_endpoint\");\n if (token_endpoint === null) {\n throw new Error(\"Access Token Request preparation - Could not find in sessionStorage: token_endpoint\");\n }\n // RFC 9449 DPoP\n const key_pair = await generateKeyPair(\"ES256\");\n // get access token\n const token_response = await requestAccessToken(authorization_code, pkce_code_verifier, url.toString(), client_id, token_endpoint, key_pair)\n .then((response) => {\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n return response.json();\n });\n // verify access_token // ! Solid-OIDC specification says it should be a dpop-bound `id token` but implementations provide a dpop-bound `access token`\n const accessToken = token_response[\"access_token\"];\n const jwks_uri = sessionStorage.getItem(\"jwks_uri\");\n if (jwks_uri === null) {\n throw new Error(\"Access Token validation preparation - Could not find in sessionStorage: jwks_uri\");\n }\n const jwks = createRemoteJWKSet(new URL(jwks_uri));\n const { payload } = await jwtVerify(accessToken, jwks, {\n issuer: idp, // RFC 9207\n audience: \"solid\", // RFC 7519 // ! \"solid\" as per implementations ...\n // exp, nbf, iat - handled automatically\n });\n // check dpop thumbprint\n const dpopThumbprint = await calculateJwkThumbprint(await exportJWK(key_pair.publicKey));\n if (payload[\"cnf\"][\"jkt\"] != dpopThumbprint) {\n throw new Error(\"Access Token validation failed on `jkt`: jkt != DPoP thumbprint - \" + payload[\"cnf\"][\"jkt\"] + \" != \" + dpopThumbprint);\n }\n // check client_id\n if (payload[\"client_id\"] != client_id) {\n throw new Error(\"Access Token validation failed on `client_id`: JWT payload != client_id - \" + payload[\"client_id\"] + \" != \" + client_id);\n }\n // summarise session info\n const token_details = { ...token_response, dpop_key_pair: key_pair };\n const idp_details = { idp, jwks_uri, token_endpoint };\n if (!client_details)\n client_details = { redirect_uris: [window.location.href] };\n client_details.client_id = client_id;\n // to remember for session restore\n const sessionDatabase = await new SessionDatabase().init();\n await Promise.all([\n sessionDatabase.setItem(\"idp\", idp),\n sessionDatabase.setItem(\"jwks_uri\", jwks_uri),\n sessionDatabase.setItem(\"token_endpoint\", token_endpoint),\n sessionDatabase.setItem(\"client_id\", client_id),\n sessionDatabase.setItem(\"dpop_keypair\", key_pair),\n sessionDatabase.setItem(\"refresh_token\", token_response[\"refresh_token\"])\n ]);\n sessionDatabase.close();\n // clean session storage\n sessionStorage.removeItem(\"csrf_token\");\n sessionStorage.removeItem(\"pkce_code_verifier\");\n sessionStorage.removeItem(\"idp\");\n sessionStorage.removeItem(\"jwks_uri\");\n sessionStorage.removeItem(\"token_endpoint\");\n sessionStorage.removeItem(\"client_id\");\n // return session information\n return {\n clientDetails: client_details,\n idpDetails: idp_details,\n tokenDetails: token_details\n };\n};\n/**\n * Request an dpop-bound access token from a token endpoint\n * @param authorization_code\n * @param pkce_code_verifier\n * @param redirect_uri\n * @param client_id\n * @param token_endpoint\n * @param key_pair\n * @returns\n */\nconst requestAccessToken = async (authorization_code, pkce_code_verifier, redirect_uri, client_id, token_endpoint, key_pair) => {\n // prepare public key to bind access token to\n const jwk_public_key = await exportJWK(key_pair.publicKey);\n jwk_public_key.alg = \"ES256\";\n // sign the access token request DPoP token\n const dpop = await new SignJWT({\n htu: token_endpoint,\n htm: \"POST\",\n })\n .setIssuedAt()\n .setJti(window.crypto.randomUUID())\n .setProtectedHeader({\n alg: \"ES256\",\n typ: \"dpop+jwt\",\n jwk: jwk_public_key,\n })\n .sign(key_pair.privateKey);\n return fetch(token_endpoint, {\n method: \"POST\",\n headers: {\n dpop,\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n body: new URLSearchParams({\n grant_type: \"authorization_code\",\n code: authorization_code,\n code_verifier: pkce_code_verifier,\n redirect_uri: redirect_uri,\n client_id: client_id,\n }),\n });\n};\n\nconst renewTokens = async () => {\n // remember session details\n const sessionDatabase = await new SessionDatabase().init();\n const client_id = await sessionDatabase.getItem(\"client_id\");\n const token_endpoint = await sessionDatabase.getItem(\"token_endpoint\");\n const key_pair = await sessionDatabase.getItem(\"dpop_keypair\");\n const refresh_token = await sessionDatabase.getItem(\"refresh_token\");\n if (client_id === null || token_endpoint === null || key_pair === null || refresh_token === null) {\n // we can not restore the old session\n throw new Error(\"Could not refresh tokens: details missing from database.\");\n }\n const token_response = await requestFreshTokens(refresh_token, client_id, token_endpoint, key_pair)\n .then((response) => {\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n return response.json();\n });\n // verify access_token // ! Solid-OIDC specification says it should be a dpop-bound `id token` but implementations provide a dpop-bound `access token`\n const accessToken = token_response[\"access_token\"];\n const idp = await sessionDatabase.getItem(\"idp\");\n if (idp === null) {\n throw new Error(\"Access Token validation preparation - Could not find in sessionDatabase: idp\");\n }\n const jwks_uri = await sessionDatabase.getItem(\"jwks_uri\");\n if (jwks_uri === null) {\n throw new Error(\"Access Token validation preparation - Could not find in sessionDatabase: jwks_uri\");\n }\n const jwks = createRemoteJWKSet(new URL(jwks_uri));\n const { payload } = await jwtVerify(accessToken, jwks, {\n issuer: idp, // RFC 9207\n audience: \"solid\", // RFC 7519 // ! \"solid\" as per implementations ...\n // exp, nbf, iat - handled automatically\n });\n // check dpop thumbprint\n const dpopThumbprint = await calculateJwkThumbprint(await exportJWK(key_pair.publicKey));\n if (payload[\"cnf\"][\"jkt\"] != dpopThumbprint) {\n throw new Error(\"Access Token validation failed on `jkt`: jkt != DPoP thumbprint - \" + payload[\"cnf\"][\"jkt\"] + \" != \" + dpopThumbprint);\n }\n // check client_id\n if (payload[\"client_id\"] != client_id) {\n throw new Error(\"Access Token validation failed on `client_id`: JWT payload != client_id - \" + payload[\"client_id\"] + \" != \" + client_id);\n }\n // set new refresh token for token rotation\n await sessionDatabase.setItem(\"refresh_token\", token_response[\"refresh_token\"]);\n sessionDatabase.close();\n return {\n ...token_response,\n dpop_key_pair: key_pair,\n };\n};\n/**\n * Request an dpop-bound access token from a token endpoint using a refresh token\n * @param authorization_code\n * @param pkce_code_verifier\n * @param redirect_uri\n * @param client_id\n * @param token_endpoint\n * @param key_pair\n * @returns\n */\nconst requestFreshTokens = async (refresh_token, client_id, token_endpoint, key_pair) => {\n // prepare public key to bind access token to\n const jwk_public_key = await exportJWK(key_pair.publicKey);\n jwk_public_key.alg = \"ES256\";\n // sign the access token request DPoP token\n const dpop = await new SignJWT({\n htu: token_endpoint,\n htm: \"POST\",\n })\n .setIssuedAt()\n .setJti(window.crypto.randomUUID())\n .setProtectedHeader({\n alg: \"ES256\",\n typ: \"dpop+jwt\",\n jwk: jwk_public_key,\n })\n .sign(key_pair.privateKey);\n return fetch(token_endpoint, {\n method: \"POST\",\n headers: {\n dpop,\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n body: new URLSearchParams({\n grant_type: \"refresh_token\",\n refresh_token,\n client_id\n }),\n });\n};\n\nclass Session {\n sessionInformation;\n isActive_ = false;\n webId_ = undefined;\n currentAth_ = undefined;\n tokenRefreshTimeout;\n sessionDeactivateTimeout;\n onSessionExpirationWarning;\n /**\n * Create a new session.\n */\n constructor(clientDetails, sessionOptions) {\n this.sessionInformation = { clientDetails };\n this.onSessionExpirationWarning = sessionOptions?.onSessionExpirationWarning;\n }\n /**\n * Redirect the user for login to their IDP.\n *\n * @throws Error if the session has not been initialized.\n */\n async login(idp, redirect_uri) {\n await redirectForLogin(idp, redirect_uri, this.sessionInformation.clientDetails);\n }\n /**\n * Clears all session-related information, including IDP details and tokens.\n * This logs the user out.\n * Client details are preserved.\n */\n async logout() {\n // clear timeouts\n if (this.sessionDeactivateTimeout)\n clearTimeout(this.sessionDeactivateTimeout);\n this.sessionDeactivateTimeout = undefined;\n if (this.tokenRefreshTimeout)\n clearTimeout(this.tokenRefreshTimeout);\n this.tokenRefreshTimeout = undefined;\n // clean session data\n this.sessionInformation.idpDetails = undefined;\n this.sessionInformation.tokenDetails = undefined;\n this.isActive_ = false;\n this.webId_ = undefined;\n // only preserve client_id if URI\n if (this.sessionInformation.clientDetails?.client_id)\n try {\n new URL(this.sessionInformation.clientDetails.client_id);\n }\n catch (_) {\n this.sessionInformation.clientDetails.client_id = undefined;\n }\n // clean session database\n const sessionDatabase = await new SessionDatabase().init();\n await sessionDatabase.clear();\n sessionDatabase.close();\n }\n /**\n * Handles the redirect from the identity provider after a login attempt.\n * It attempts to retrieve tokens using the authorization code.\n */\n async handleRedirectFromLogin() {\n // Redirect after Authorization Code Grant // memory via sessionStorage\n const newSessionInfo = await onIncomingRedirect(this.sessionInformation.clientDetails);\n // no session - we remain unauthenticated\n if (!newSessionInfo.tokenDetails) {\n return;\n }\n // we got a session\n this.sessionInformation = newSessionInfo;\n await this.setSessionDetails();\n }\n /**\n * Handles session restoration using the refresh token grant.\n * Silently fails if session could not be restored (maybe there was no session in the first place).\n */\n async restore() {\n // Restore session using Refresh Token Grant // memory via IndexedDB\n await renewTokens()\n .then(tokenDetails => {\n // got new tokens\n this.sessionInformation.tokenDetails = tokenDetails;\n // set session information\n return this.setSessionDetails();\n })\n // anything missing or wrong => abort, could not restore session.\n .catch(_ => { }); // fail silently\n }\n /**\n * Creates a signed DPoP (Demonstration of Proof-of-Possession) token.\n *\n * @param payload The payload to include in the DPoP token. By default, it includes `htu` (HTTP target URI) and `htm` (HTTP method).\n * @returns A promise that resolves to the signed DPoP token string.\n * @throws Error if the session has not been initialized - if no token details are available.\n */\n async createSignedDPoPToken(payload) {\n if (!this.sessionInformation.tokenDetails || !this.currentAth_) {\n throw new Error(\"Session not established.\");\n }\n payload.ath = this.currentAth_;\n const jwk_public_key = await exportJWK(this.sessionInformation.tokenDetails.dpop_key_pair.publicKey);\n return new SignJWT(payload)\n .setIssuedAt()\n .setJti(window.crypto.randomUUID())\n .setProtectedHeader({\n alg: \"ES256\",\n typ: \"dpop+jwt\",\n jwk: jwk_public_key,\n })\n .sign(this.sessionInformation.tokenDetails.dpop_key_pair.privateKey);\n }\n /**\n * Makes an HTTP fetch request.\n * If a session is active, it includes the DPoP token and the access token in the `Authorization` header.\n *\n * @param input The URL or Request object to fetch.\n * @param init Optional fetch request options (RequestInit). Headers for `Authorization` and `DPoP` will be overwritten if a session is active.\n * @param dpopPayload Optional payload for the DPoP token. If provided, it overrides the default `htu` and `htm` claims.\n * @returns A promise that resolves to the fetch Response.\n */\n async authFetch(input, init, dpopPayload) {\n // prepare authenticated call using a DPoP token (either provided payload, or default)\n let url;\n let method;\n let headers;\n if (input instanceof Request) {\n url = new URL(input.url);\n method = init?.method || input?.method || 'GET';\n headers = new Headers(input.headers);\n }\n else {\n init = init || {};\n url = new URL(input.toString());\n method = init.method || 'GET';\n headers = init.headers ? new Headers(init.headers) : new Headers();\n }\n // create DPoP token, and add tokens to request\n if (this.sessionInformation.tokenDetails) {\n dpopPayload = dpopPayload ?? {\n htu: `${url.origin}${url.pathname}`,\n htm: method.toUpperCase()\n };\n const dpop = await this.createSignedDPoPToken(dpopPayload);\n headers.set(\"dpop\", dpop);\n headers.set(\"authorization\", `DPoP ${this.sessionInformation.tokenDetails.access_token}`);\n }\n // check explicitly; to avoid unexpected behaviour\n if (input instanceof Request) { // clone the provided request, and override the headers\n return fetch(new Request(input, { ...init, headers }));\n }\n // just override the headers\n return fetch(url, { ...init, headers });\n }\n get isActive() {\n return this.isActive_;\n }\n get webId() {\n return this.webId_;\n }\n //\n // Helper Methods\n //\n /**\n * Set the session to active if there is an access token.\n */\n async setSessionDetails() {\n // check for access token \n if (!this.sessionInformation.tokenDetails?.access_token) {\n this.logout();\n }\n // generate ath\n this.currentAth_ = await this.computeAth(this.sessionInformation.tokenDetails.access_token);\n // check for active session\n this.webId_ = decodeJwt(this.sessionInformation.tokenDetails.access_token)[\"webid\"];\n this.isActive_ = this.webId !== undefined;\n // deactivating session when token expire\n this.setSessionDeactivateTimeout();\n // refreshing tokens\n this.setTokenRefreshTimeout();\n }\n setSessionDeactivateTimeout() {\n const deactivate_buffer_seconds = 5;\n const timeUntilDeactivate = (this.sessionInformation.tokenDetails.expires_in - deactivate_buffer_seconds) * 1000;\n if (this.sessionDeactivateTimeout)\n clearTimeout(this.sessionDeactivateTimeout);\n this.sessionDeactivateTimeout = setTimeout(() => this.logout(), timeUntilDeactivate);\n }\n setTokenRefreshTimeout() {\n const refresh_buffer_seconds = 95;\n const timeUntilRefresh = (this.sessionInformation.tokenDetails.expires_in - refresh_buffer_seconds) * 1000;\n if (this.tokenRefreshTimeout)\n clearTimeout(this.tokenRefreshTimeout);\n this.tokenRefreshTimeout = setTimeout(async () => {\n const newTokens = await renewTokens()\n .catch((error) => {\n // anything missing or wrong => could not renew tokens.\n if (this.onSessionExpirationWarning)\n this.onSessionExpirationWarning();\n return undefined;\n });\n if (!newTokens) {\n return;\n }\n this.sessionInformation.tokenDetails = newTokens;\n this.setSessionDeactivateTimeout();\n this.setTokenRefreshTimeout();\n }, timeUntilRefresh);\n }\n /**\n * RFC 9449 - Hash of the access token\n */\n async computeAth(accessToken) {\n // Convert the ASCII string of the token to a Uint8Array\n const encoder = new TextEncoder();\n const data = encoder.encode(accessToken); // ASCII by default\n // Compute SHA-256 hash\n const hashBuffer = await crypto.subtle.digest('SHA-256', data);\n // Convert ArrayBuffer to base64url string\n const hashArray = Array.from(new Uint8Array(hashBuffer));\n const base64 = btoa(String.fromCharCode(...hashArray));\n // Convert base64 to base64url\n const base64url = base64\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=+$/, '');\n return base64url;\n }\n}\n\nexport { Session };\n//# sourceMappingURL=index.js.map\n","import { Session } from '@uvdsl/solid-oidc-client-browser';\nimport { BehaviorSubject } from 'rxjs';\nimport { AuthenticatedFetch, PodOsSession, SessionInfo } from '@pod-os/core';\n\nexport class BrowserSession implements PodOsSession {\n private readonly session: Session;\n private onSessionRestoreCallback: (url: string) => void = () => {};\n private readonly _authenticatedFetch: AuthenticatedFetch;\n\n private readonly sessionInfo$: BehaviorSubject<SessionInfo> = new BehaviorSubject<SessionInfo>({\n isLoggedIn: false,\n webId: undefined,\n });\n\n get authenticatedFetch(): (url: RequestInfo, init?: RequestInit | undefined) => Promise<Response> {\n return this._authenticatedFetch;\n }\n\n constructor() {\n this.session = new Session();\n this._authenticatedFetch = this.session.authFetch.bind(this.session);\n }\n\n async handleIncomingRedirect(restorePreviousSession = false) {\n await this.session.handleRedirectFromLogin();\n if (restorePreviousSession) {\n await this.session.restore();\n if (this.session.isActive) {\n this.onSessionRestoreCallback(window.location.href);\n }\n }\n this.sessionInfo$.next({\n isLoggedIn: this.session.isActive,\n webId: this.session.webId,\n });\n }\n\n async login(oidcIssuer: string) {\n return this.session.login(oidcIssuer, window.location.href);\n }\n\n async logout() {\n await this.session.logout();\n this.sessionInfo$.next({\n isLoggedIn: false,\n webId: undefined,\n });\n }\n\n observeSession(): BehaviorSubject<SessionInfo> {\n return this.sessionInfo$;\n }\n\n onSessionRestore(callback: (url: string) => void) {\n this.onSessionRestoreCallback = callback;\n }\n}\n","import { PodOS } from '@pod-os/core';\nimport { Component, h, Listen, Prop, State, Event, EventEmitter } from '@stencil/core';\nimport sessionStore from '../../store/session';\nimport { localSettings } from '../../store/settings';\nimport { createPodOS } from '../../pod-os';\nimport { Subject, takeUntil } from 'rxjs';\nimport { BrowserSession } from '../../authentication';\n\ninterface InitializeOsEvent extends CustomEvent {\n detail: Function;\n}\n\ninterface RequestModuleEvent extends CustomEvent {\n detail: {\n module: string;\n receiver: Function;\n };\n}\n\n@Component({\n tag: 'pos-app',\n shadow: true,\n})\nexport class PosApp {\n @State() os: PodOS;\n\n @Prop() restorePreviousSession: boolean = false;\n\n /**\n * Fired whenever the session was restored\n */\n @Event({ eventName: 'pod-os:session-restored' }) sessionRestoredEmitter: EventEmitter<{ url: string }>;\n\n /**\n * Fires as soon as the pos-app DOM element has been loaded and PodOS can be used. Note: In case the user is authenticated, this will fire before profile data of the user has been fetched, but after authentication has been handled.\n */\n @Event({ eventName: 'pod-os:loaded' }) podOsLoadedEmitter: EventEmitter<{\n os: PodOS;\n authenticatedFetch: typeof global.fetch;\n }>;\n\n private readonly disconnected$ = new Subject<void>();\n\n @State()\n private unsubscribeSettings: () => void;\n\n @State()\n private loading = true;\n\n async componentWillLoad() {\n const session = new BrowserSession();\n this.unsubscribeSettings = localSettings.on('set', () => {\n this.os = createPodOS(session, localSettings.state);\n });\n this.os = createPodOS(session, localSettings.state);\n session.onSessionRestore(url => {\n this.sessionRestoredEmitter.emit({ url });\n });\n try {\n await session.handleIncomingRedirect(this.restorePreviousSession);\n } catch (e) {\n console.error(e);\n }\n this.os\n .observeSession()\n .pipe(takeUntil(this.disconnected$))\n .subscribe(async sessionInfo => {\n sessionStore.state.webId = sessionInfo.webId;\n if (sessionInfo.isLoggedIn) {\n const profile = await this.os.fetchProfile(sessionInfo.webId);\n sessionStore.state.profile = profile;\n }\n sessionStore.state.isLoggedIn = sessionInfo.isLoggedIn;\n this.loading = false;\n });\n this.podOsLoadedEmitter.emit({\n os: this.os,\n authenticatedFetch: session.authenticatedFetch,\n });\n }\n\n disconnectedCallback() {\n this.unsubscribeSettings();\n this.disconnected$.next();\n this.disconnected$.unsubscribe();\n }\n\n @Listen('pod-os:init')\n async initializeOs(event: InitializeOsEvent) {\n event.stopPropagation();\n event.detail(this.os);\n }\n\n @Listen('pod-os:module')\n async loadModule(event: RequestModuleEvent) {\n event.stopPropagation();\n if (event.detail.module === 'contacts') {\n const module = await this.os.loadContactsModule();\n event.detail.receiver(module);\n } else {\n throw Error(`Unknown module \"${event.detail.module}\"`);\n }\n }\n\n render() {\n return this.loading ? <ion-progress-bar type=\"indeterminate\"></ion-progress-bar> : <slot></slot>;\n }\n}\n","pos-router {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\npos-navigation {\n max-width: var(--width-lg);\n margin: 0;\n min-width: var(--size-32);\n flex-shrink: 1; /* Ensure navigation can shrink */\n}\n\npos-add-new-thing,\npos-login {\n flex: 0 1 auto;\n flex-shrink: 0; /* Ensure those items don't shrink */\n}\n\nheader,\nfooter {\n display: flex;\n gap: var(--size-1);\n height: auto;\n justify-content: center;\n align-items: center;\n padding: var(--size-1);\n}\n\nfooter svg {\n width: var(--size-5);\n height: var(--size-5);\n}\n\nfooter {\n font-size: var(--scale-fluid-000);\n\n .settings {\n padding: 0 var(--size-1);\n text-decoration: none;\n background-color: var(--pos-background-color);\n border: 1px solid var(--pos-secondary-border-color);\n color: var(--pos-secondary-border-color);\n border-radius: var(--radius-xs);\n\n &:hover {\n background-color: var(--pos-secondary-border-color);\n color: var(--pos-background-color);\n }\n }\n}\n\nheader {\n flex-wrap: nowrap;\n padding: var(--size-1) var(--size-8);\n}\n\nmain {\n flex: 1;\n max-height: 100vh;\n overflow: auto;\n}\n\n@media (max-width: 640px) {\n header {\n padding: var(--size-1);\n justify-content: space-between;\n }\n}\n","import { Component, h, Host, Prop, State } from '@stencil/core';\nimport session from '../../store/session';\n\n@Component({\n tag: 'pos-app-browser',\n styleUrl: 'pos-app-browser.css',\n})\nexport class PosAppBrowser {\n @Prop() restorePreviousSession: boolean = false;\n\n /**\n * The mode the app is running in:\n *\n * - standalone: use this when you deploy it as a standalone web application\n * - pod: use this when you host this app as a default interface for you pod\n */\n @Prop() mode: 'standalone' | 'pod' = 'standalone';\n\n @State() uri = '';\n\n render() {\n return (\n <Host>\n <pos-app restorePreviousSession={this.restorePreviousSession}>\n <pos-error-toast>\n <pos-router mode={this.mode} onPod-os:route-changed={e => (this.uri = e.detail)}>\n <header>\n <pos-add-new-thing referenceUri={this.uri}></pos-add-new-thing>\n <pos-navigation uri={this.uri === 'pod-os:dashboard' ? '' : this.uri}></pos-navigation>\n\n <pos-login>\n <pos-user-menu webId={session.state.webId} slot=\"if-logged-in\"></pos-user-menu>\n </pos-login>\n </header>\n <main>{this.mainContent()}</main>\n <footer>\n <Logo />\n <span>PodOS Browser</span>\n </footer>\n </pos-router>\n </pos-error-toast>\n </pos-app>\n </Host>\n );\n }\n\n private mainContent() {\n if (this.uri === '') {\n return null;\n }\n if (this.uri.startsWith('pod-os:')) {\n return <pos-internal-router uri={this.uri} />;\n }\n return (\n <pos-resource key={this.uri} uri={this.uri}>\n <pos-type-router />\n </pos-resource>\n );\n }\n}\n\nconst Logo = () => {\n return (\n <svg viewBox=\"0 0 400 400\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M50 350 L50 100 L200 50 L350 100 L350 350 Z\"\n style={{\n 'fill': '#008BF8',\n 'stroke': '#008BF8',\n 'stroke-width': '70',\n }}\n stroke-linejoin=\"round\"\n />\n\n <path\n d=\"M100 300 L100 150 L200 120 L300 150 L300 300 L130 300 L130 370 L100 370Z\"\n style={{\n 'fill': 'white',\n 'stroke': 'white',\n 'stroke-width': '45',\n }}\n stroke-linejoin=\"round\"\n />\n\n <path\n d=\"M150 250 L150 200 L200 180 L250 200 L250 250 Z\"\n style={{\n 'fill': '#DC0073',\n 'stroke': '#DC0073',\n 'stroke-width': '20',\n }}\n stroke-linejoin=\"round\"\n />\n </svg>\n );\n};\n",":host {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(var(--size-12), var(--size-96)));\n gap: var(--size-4);\n padding: var(--size-2);\n justify-content: center;\n align-items: start;\n justify-items: stretch;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'pos-app-dashboard',\n styleUrl: 'pos-app-dashboard.css',\n shadow: true,\n})\nexport class PosAppDashboard {\n render() {\n return (\n <Host>\n <pos-getting-started></pos-getting-started>\n <pos-example-resources></pos-example-resources>\n </Host>\n );\n }\n}\n",":host {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(var(--size-12), var(--size-96)));\n gap: var(--size-4);\n padding: var(--size-2);\n justify-content: center;\n align-items: start;\n justify-items: stretch;\n}\n","import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'pos-app-settings',\n styleUrl: 'pos-app-settings.css',\n shadow: true,\n})\nexport class PosAppSettings {\n render() {\n return <pos-setting-offline-cache></pos-setting-offline-cache>;\n }\n}\n","import { Thing } from '@pod-os/core';\nimport { Component, Event, EventEmitter, State } from '@stencil/core';\nimport { ResourceAware, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-description',\n shadow: true,\n})\nexport class PosDescription implements ResourceAware {\n @State() resource: Thing;\n\n @Event({ eventName: 'pod-os:resource' }) subscribeResource: EventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.resource = resource;\n };\n\n render() {\n return this.resource ? this.resource.description() : null;\n }\n}\n","dialog {\n background-color: var(--pos-background-color);\n color: var(--pos-normal-text-color);\n border: none;\n border-radius: var(--radius-md);\n box-shadow: var(--shadow-md);\n max-width: var(--width-xs);\n animation: slideIn 0.2s ease-out;\n}\n\ndialog::backdrop {\n background: rgba(0, 0, 0, 0.5);\n backdrop-filter: var(--blur-sm);\n animation: fadeIn 0.2s ease-out;\n}\n\n@media (prefers-color-scheme: dark) {\n dialog::backdrop {\n background: rgb(100, 100, 100, 0.5);\n }\n}\n\ndialog header > :first-child {\n /* This is the title slot*/\n flex-grow: 1;\n font-weight: var(--weight-light);\n font-size: var(--scale-2);\n font-family: var(--font-sans);\n margin: 0;\n}\n\ndialog header {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n gap: var(--scale-0);\n border-bottom-style: inset;\n padding: 0 0 var(--scale-0) 0;\n}\n\ndialog > :last-child {\n /* This is the content slot*/\n display: block;\n margin-top: var(--scale-3);\n}\n\nbutton#close {\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n background: none;\n font-size: var(--scale-3);\n color: var(--color-grey-500);\n}\n\nbutton#close:hover {\n color: var(--pos-secondary-border-color);\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes slideIn {\n from {\n opacity: 0;\n transform: translateY(-20px) scale(0.95);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n","import { Component, Host, h, Method } from '@stencil/core';\n\n/**\n * Styled wrapper around native dialog element, with slots `title` and `content`\n */\n@Component({\n tag: 'pos-dialog',\n styleUrl: 'pos-dialog.css',\n shadow: false, // shadow dom prevents the html dialog from working normally (autofocus, close on submit)\n})\nexport class PosDialog {\n private dialog: HTMLDialogElement;\n\n @Method()\n async showModal() {\n this.dialog.showModal();\n }\n\n @Method()\n async close() {\n this.dialog.close();\n }\n\n render() {\n return (\n <Host>\n <dialog ref={el => (this.dialog = el as HTMLDialogElement)}>\n <header>\n <slot name=\"title\" />\n <button tabindex={-1} id=\"close\" title=\"Close\" onClick={() => this.close()}>\n <ion-icon name=\"close-outline\"></ion-icon>\n </button>\n </header>\n <slot name=\"content\" />\n </dialog>\n </Host>\n );\n }\n}\n","import { toastController } from '@ionic/core';\nimport { Component, h, Host, Listen } from '@stencil/core';\n\n@Component({\n tag: 'pos-error-toast',\n shadow: true,\n})\nexport class PosErrorToast {\n @Listen('unhandledrejection', { target: 'window' })\n async unhandledRejection(event: PromiseRejectionEvent) {\n event.stopPropagation();\n console.error('unhandled promise rejection', event);\n await this.showToast(event.reason.toString());\n }\n\n @Listen('pod-os:error')\n async catchError(event) {\n event.stopPropagation();\n console.error(event.detail);\n await this.showToast(event.detail.message);\n }\n\n private async showToast(message: string) {\n const toast = await toastController.create({\n message,\n duration: 10000,\n position: 'top',\n color: 'danger',\n buttons: [\n {\n text: 'Dismiss',\n role: 'cancel',\n },\n ],\n });\n\n await toast.present();\n }\n render() {\n return (\n <Host>\n <ion-toast\n trigger=\"never\"\n message=\"Workarround to preload ion-toast and ion-ripple-effect to be able to show errors while offline\"\n duration={0}\n >\n <ion-ripple-effect></ion-ripple-effect>\n </ion-toast>\n <slot></slot>\n </Host>\n );\n }\n}\n",":host {\n border: var(--size-px) solid var(--pos-border-color);\n border-radius: var(--radius-lg);\n box-shadow: var(--shadow-md);\n padding: var(--size-8);\n max-width: var(--size-96);\n background: var(--pos-card-background);\n}\n\n.links {\n display: flex;\n flex-direction: column;\n gap: var(--size-3);\n max-width: 80vw;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'pos-example-resources',\n styleUrl: 'pos-example-resources.css',\n shadow: true,\n})\nexport class PosExampleResources {\n render() {\n return (\n <Host>\n <div>\n <h2>Try these... 💡</h2>\n <p>No idea where to start? Try these example resources, and follow your nose 👃</p>\n <div class=\"links\">\n <pos-rich-link uri=\"https://pod-os.solidcommunity.net/profile/card#me\" />\n <pos-rich-link uri=\"https://angelo.veltens.org/profile/card#me\" />\n <pos-rich-link uri=\"https://angelo.veltens.org/public/bookmarks\" />\n <pos-rich-link uri=\"https://solidos.solidcommunity.net/profile/card#me\" />\n </div>\n </div>\n </Host>\n );\n }\n}\n",":host {\n border: var(--size-px) solid var(--pos-border-color);\n border-radius: var(--radius-lg);\n box-shadow: var(--shadow-md);\n padding: var(--size-8);\n max-width: var(--size-96);\n background: var(--pos-card-background);\n}\n\n.question {\n font-weight: var(--weight-semibold);\n}\n\na {\n font-weight: var(--weight-bold);\n color: var(--pos-primary-color);\n}\n\nbutton.login {\n background: none;\n color: var(--pos-primary-color);\n display: inline;\n text-decoration: underline;\n border: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font-size: unset;\n}\n","import { Component, Event, EventEmitter, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'pos-getting-started',\n styleUrl: 'pos-getting-started.css',\n shadow: true,\n})\nexport class PosGettingStarted {\n @Event({ eventName: 'pod-os:login' })\n login: EventEmitter<void>;\n\n render() {\n return (\n <Host>\n <div>\n <h2>Getting started 🚀</h2>\n <p>🔎 Enter a URL into the above navigation bar to browse through the web of data. </p>\n <p>\n 🔐{' '}\n <button class=\"login\" onClick={() => this.login.emit()}>\n Sign in\n </button>{' '}\n to access private resources on your Solid Pod or those of your friends or coworkers.\n </p>\n </div>\n <div>\n <p class=\"question\">New to Solid?</p>\n <p>\n <a href=\"https://solidproject.org/for-developers#hosted-pod-services\">Get a Pod &rarr;</a>\n </p>\n </div>\n <div>\n <p class=\"question\">Want to dig deeper into PodOS?</p>\n <p>\n <a href=\"http://pod-os.org\">Learn more &rarr;</a>\n </p>\n </div>\n </Host>\n );\n }\n}\n",":host {\n /**\n * @prop --width: Width of the image\n * @prop --height: Height of the image\n * @prop --border-radius: Border radius of the image\n * @prop --max-width: Maximum width of the image\n * @prop --max-height: Maximum height of the image\n * @prop --object-fit: CSS object-fit of the image\n */\n display: flex;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n border-radius: inherit;\n}\n\nimg,\nion-skeleton-text,\ndiv.error {\n border-radius: var(--border-radius);\n width: var(--width);\n height: var(--height);\n max-width: var(--max-width);\n max-height: var(--max-height);\n object-fit: var(--object-fit);\n}\n\nimg {\n backdrop-filter: var(--blur-xl);\n}\n\n.error {\n display: flex;\n opacity: 0.8;\n background: repeating-linear-gradient(-45deg, rgba(150, 0, 0, 0.1), rgba(150, 0, 0, 0.1) 10px, #fff 5px, #fff 25px);\n flex-direction: column;\n border: 1px solid red;\n color: black;\n align-items: center;\n justify-content: center;\n word-break: break-all;\n padding: 1rem;\n box-sizing: border-box;\n}\n\n.error ion-icon {\n color: #282828;\n --ionicon-stroke-width: calc(var(--width) / 5);\n font-size: calc(var(--width) / 2);\n}\n\na.error {\n text-decoration: none;\n width: var(--width);\n height: var(--height);\n}\n\n.code {\n font-weight: bold;\n font-size: calc(var(--width) / 8);\n}\n\n.text {\n font-size: calc(var(--width) / 20);\n}\n","import { BrokenFile as BrokenFileData, PodOS } from '@pod-os/core';\nimport { BrokenFile } from '../broken-file/BrokenFile';\nimport { Component, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\nimport session from '../../store/session';\n\n/**\n * Tries fetch an image with the solid authentication, and can visualize http errors like 403 or 404 if this fails.\n * Falls back to classic `<img src=\"...\">` on network errors like CORS.\n * Renders a normal link if even this fails.\n */\n@Component({\n tag: 'pos-image',\n styleUrl: 'pos-image.css',\n shadow: true,\n})\nexport class PosImage {\n @Prop() src: string;\n\n @Prop() alt: string;\n\n /**\n * Use a blurred version of the image as its own background, if the image is scaled down to fit into the container.\n */\n @Prop() blurredBackground: boolean = false;\n\n @State() os: PodOS;\n\n @State()\n private dataUri: string;\n\n @State()\n private brokenFile: BrokenFileData;\n\n @State()\n private networkError: Error;\n\n @State()\n private imageError: Event;\n\n @State()\n private loading: boolean = true;\n\n @Event({ eventName: 'pod-os:init' }) initializeOsEmitter: EventEmitter;\n\n /**\n * Indicates that the resource given in `src` property has been loaded.\n */\n @Event({ eventName: 'pod-os:resource-loaded' }) resourceLoadedEmitter: EventEmitter<string>;\n\n componentWillLoad() {\n session.onChange('isLoggedIn', () => this.fetchBlob());\n this.initializeOsEmitter.emit(this.setOs);\n }\n\n setOs = async (os: PodOS) => {\n this.os = os;\n };\n\n @Watch('os')\n @Watch('src')\n async fetchBlob() {\n try {\n this.loading = true;\n this.imageError = null;\n this.networkError = null;\n this.brokenFile = null;\n const file = await this.os.fetchFile(this.src);\n this.resourceLoadedEmitter.emit(this.src);\n if (file.blob()) {\n this.dataUri = URL.createObjectURL(file.blob());\n } else {\n this.brokenFile = file as BrokenFileData;\n }\n } catch (err) {\n this.networkError = err;\n } finally {\n this.loading = false;\n }\n }\n\n onImageError(err: Event) {\n this.networkError = null;\n this.imageError = err;\n }\n\n render() {\n if (this.loading) {\n return <ion-skeleton-text animated={true}></ion-skeleton-text>;\n }\n if (this.networkError) {\n // probably a CORS error\n return <img alt={this.alt} src={this.src} onError={err => this.onImageError(err)} />;\n }\n if (this.brokenFile) {\n // fetching worked, but HTTP response was not ok\n return <BrokenFile file={this.brokenFile} />;\n }\n if (this.imageError) {\n // if even the loading via classic <img src=\"...\"> failed, render a link\n return (\n <div class=\"error\">\n <a href={this.src}>{this.src}</a>\n </div>\n );\n }\n\n return (\n <Host\n style={{\n backgroundImage: this.blurredBackground ? `url('${this.dataUri}')` : null,\n }}\n >\n <img src={this.dataUri} alt={this.alt} />\n </Host>\n );\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pos-internal-router',\n})\nexport class PosInternalRouter {\n @Prop()\n uri: string = 'pod-os:dashboard';\n\n render() {\n return this.uri === 'pod-os:settings' ? (\n <pos-app-settings></pos-app-settings>\n ) : (\n <pos-app-dashboard></pos-app-dashboard>\n );\n }\n}\n","import { Thing } from '@pod-os/core';\nimport { Component, Event, State } from '@stencil/core';\nimport { ResourceAware, ResourceEventEmitter, subscribeResource } from '../events/ResourceAware';\n\n/**\n * Displays a human-readable label of the resource, provided by [Thing.label()](https://pod-os.org/reference/core/classes/thing/#label)\n */\n@Component({\n tag: 'pos-label',\n shadow: true,\n})\nexport class PosLabel implements ResourceAware {\n @State() resource: Thing;\n\n @Event({ eventName: 'pod-os:resource' })\n subscribeResource: ResourceEventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.resource = resource;\n };\n\n render() {\n return this.resource ? this.resource.label() : null;\n }\n}\n",".container {\n display: flex;\n align-items: center;\n gap: var(--size-2);\n}\n.user-data {\n align-items: center;\n display: inline-flex;\n gap: 10px;\n}\n.user-data pos-picture {\n --width: 40px;\n --height: 40px;\n --border-radius: 50%;\n}\n\npos-login-form {\n margin: var(--size-2);\n}\n\ndialog {\n margin-top: var(--size-10);\n}\n\nbutton#login,\nbutton#logout {\n outline: none;\n font-weight: var(--weight-bold);\n letter-spacing: var(--letter-xl);\n border: none;\n box-sizing: border-box;\n border-radius: var(--radius-xs);\n padding: var(--size-2);\n box-shadow: var(--shadow-sm);\n color: var(--pos-primary-text-color);\n background-color: var(--pos-primary-color);\n}\n\nbutton#login:focus-within,\nbutton#logout:focus-within {\n outline: var(--pos-input-focus-outline);\n}\n\nbutton#login:focus,\nbutton#login:hover,\nbutton#logout:focus,\nbutton#logout:hover {\n filter: brightness(110%);\n box-shadow: var(--shadow-md);\n}\n","import { PodOS } from '@pod-os/core';\nimport { Component, Element, Event, EventEmitter, h, Host, Listen, State } from '@stencil/core';\n\nimport session from '../../store/session';\n\n@Component({\n tag: 'pos-login',\n shadow: true,\n styleUrl: 'pos-login.css',\n})\nexport class PosLogin {\n @Event({ eventName: 'pod-os:init' }) initializeOsEmitter: EventEmitter;\n\n @State() os: PodOS;\n\n @Element() host: HTMLElement;\n\n @State()\n private customLoggedInComponent: boolean = false;\n\n componentWillLoad() {\n this.customLoggedInComponent = !!this.host.querySelector('[slot=\"if-logged-in\"]');\n this.initializeOsEmitter.emit(this.setOs);\n }\n\n setOs = async (os: PodOS) => {\n this.os = os;\n };\n\n login(event: CustomEvent<string>) {\n const idpUrl = event.detail;\n this.os.login(idpUrl);\n }\n\n @Listen('pod-os:logout', { target: 'document' })\n logout() {\n this.os.logout();\n }\n\n private dialog: HTMLPosDialogElement;\n\n @Listen('pod-os:login', { target: 'document' })\n onLogin() {\n this.openDialog();\n }\n\n openDialog() {\n this.dialog.showModal();\n }\n\n render() {\n return (\n <Host>\n <div class=\"container\">\n {!session.state.isLoggedIn ? (\n <button id=\"login\" onClick={() => this.openDialog()}>\n Login\n </button>\n ) : (\n this.loggedInComponents()\n )}\n </div>\n <pos-dialog ref={el => (this.dialog = el)}>\n <span slot=\"title\">Sign in to your Pod</span>\n <pos-login-form onPod-os:idp-url-selected={ev => this.login(ev)} slot=\"content\" />\n </pos-dialog>\n </Host>\n );\n }\n\n private loggedInComponents() {\n return this.customLoggedInComponent ? <slot name=\"if-logged-in\"></slot> : this.defaultLoggedInComponents();\n }\n\n private defaultLoggedInComponents() {\n return [\n <pos-resource uri={session.state.webId}>\n <span class=\"user-data\">\n <pos-picture />\n <pos-label />\n </span>\n </pos-resource>,\n <button id=\"logout\" onClick={() => this.logout()}>\n Logout\n </button>,\n ];\n }\n}\n",":host {\n display: block;\n margin: 0;\n}\n\nform {\n display: flex;\n flex-direction: column;\n gap: var(--size-4);\n}\n\ninput {\n outline: var(--pos-input-outline);\n padding: var(--scale-000);\n border: none;\n border-radius: var(--radius-xs);\n width: var(--size-full);\n box-sizing: border-box;\n background: var(--pos-input-background-color);\n color: var(--pos-normal-text-color);\n}\n\ninput:focus-within {\n outline: var(--pos-input-focus-outline);\n}\n\ninput#login {\n outline: none;\n box-shadow: var(--shadow-sm);\n cursor: pointer;\n color: var(--pos-primary-text-color);\n background-color: var(--pos-primary-color);\n}\n\ninput#login:disabled {\n cursor: default;\n color: var(--pos-disabled-text-color);\n background-color: var(--pos-disabled-color);\n box-shadow: none;\n}\n\ninput#login:hover:not(:disabled),\ninput#login:focus {\n filter: brightness(110%);\n box-shadow: var(--shadow-md);\n}\n","import { Component, Event, EventEmitter, h, State, Watch } from '@stencil/core';\n\n@Component({\n tag: 'pos-login-form',\n shadow: {\n delegatesFocus: true,\n },\n styleUrl: 'pos-login-form.css',\n})\nexport class PosLoginForm {\n @State() idpUrl: string = '';\n\n @State() canSubmit: boolean = false;\n\n /**\n * Emits the selected IDP URL to use for login\n */\n @Event({ eventName: 'pod-os:idp-url-selected' }) idpUrlSelected: EventEmitter;\n\n @Watch('idpUrl')\n validate() {\n this.canSubmit = Boolean(this.idpUrl);\n }\n\n render(): any {\n return (\n <form method=\"dialog\" onSubmit={() => this.handleSubmit()}>\n <label htmlFor=\"idpUrl\">Please enter your Identity Provider</label>\n <input\n id=\"idpUrl\"\n type=\"url\"\n value={this.idpUrl}\n required={true}\n onInput={e => this.handleChange(e)}\n list=\"suggestedIssuers\"\n placeholder=\"Type to search...\"\n />\n <datalist id=\"suggestedIssuers\">\n <option value=\"https://solidcommunity.net/\">solidcommunity.net</option>\n <option value=\"https://solidweb.me/\">solidweb.me</option>\n <option value=\"https://login.inrupt.com\">Inrupt PodSpaces</option>\n <option value=\"https://trinpod.us\">trinpod.us</option>\n <option value=\"https://trinpod.eu\">trinpod.eu</option>\n <option value=\"https://solid.redpencil.io/\">redpencil.io</option>\n <option value=\"https://teamid.live/\">teamid.live</option>\n </datalist>\n <input id=\"login\" type=\"submit\" value=\"Login\" disabled={!this.canSubmit} />\n </form>\n );\n }\n\n handleChange(event) {\n this.validate();\n this.idpUrl = event.target.value;\n }\n\n async handleSubmit() {\n this.idpUrlSelected.emit(this.idpUrl);\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.1\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","// src/components/dropdown/dropdown.styles.ts\nimport { css } from \"lit\";\nvar dropdown_styles_default = css`\n :host {\n display: inline-block;\n }\n\n .dropdown::part(popup) {\n z-index: var(--sl-z-index-dropdown);\n }\n\n .dropdown[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .dropdown[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n .dropdown[data-current-placement^='left']::part(popup) {\n transform-origin: right;\n }\n\n .dropdown[data-current-placement^='right']::part(popup) {\n transform-origin: left;\n }\n\n .dropdown__trigger {\n display: block;\n }\n\n .dropdown__panel {\n font-family: var(--sl-font-sans);\n font-size: var(--sl-font-size-medium);\n font-weight: var(--sl-font-weight-normal);\n box-shadow: var(--sl-shadow-large);\n border-radius: var(--sl-border-radius-medium);\n pointer-events: none;\n }\n\n .dropdown--open .dropdown__panel {\n display: block;\n pointer-events: all;\n }\n\n /* When users slot a menu, make sure it conforms to the popup's auto-size */\n ::slotted(sl-menu) {\n max-width: var(--auto-size-available-width) !important;\n max-height: var(--auto-size-available-height) !important;\n }\n`;\n\nexport {\n dropdown_styles_default\n};\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for(\"Symbol.\" + name);\nvar __typeError = (msg) => {\n throw TypeError(msg);\n};\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __decorateClass = (decorators, target, key, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n if (kind && result) __defProp(target, key, result);\n return result;\n};\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), setter ? setter.call(obj, value) : member.set(obj, value), value);\nvar __await = function(promise, isYieldStar) {\n this[0] = promise;\n this[1] = isYieldStar;\n};\nvar __yieldStar = (value) => {\n var obj = value[__knownSymbol(\"asyncIterator\")], isAwait = false, method, it = {};\n if (obj == null) {\n obj = value[__knownSymbol(\"iterator\")]();\n method = (k) => it[k] = (x) => obj[k](x);\n } else {\n obj = obj.call(value);\n method = (k) => it[k] = (v) => {\n if (isAwait) {\n isAwait = false;\n if (k === \"throw\") throw v;\n return v;\n }\n isAwait = true;\n return {\n done: false,\n value: new __await(new Promise((resolve) => {\n var x = obj[k](v);\n if (!(x instanceof Object)) __typeError(\"Object expected\");\n resolve(x);\n }), 1)\n };\n };\n }\n return it[__knownSymbol(\"iterator\")] = () => it, method(\"next\"), \"throw\" in obj ? method(\"throw\") : it.throw = (x) => {\n throw x;\n }, \"return\" in obj && method(\"return\"), it;\n};\n\nexport {\n __spreadValues,\n __spreadProps,\n __decorateClass,\n __privateGet,\n __privateAdd,\n __privateSet,\n __yieldStar\n};\n","import {\n __yieldStar\n} from \"./chunk.KAW7D32O.js\";\n\n// src/internal/active-elements.ts\nfunction* activeElements(activeElement = document.activeElement) {\n if (activeElement === null || activeElement === void 0) return;\n yield activeElement;\n if (\"shadowRoot\" in activeElement && activeElement.shadowRoot && activeElement.shadowRoot.mode !== \"closed\") {\n yield* __yieldStar(activeElements(activeElement.shadowRoot.activeElement));\n }\n}\nfunction getDeepestActiveElement() {\n return [...activeElements()].pop();\n}\n\n// src/internal/tabbable.ts\nvar computedStyleMap = /* @__PURE__ */ new WeakMap();\nfunction getCachedComputedStyle(el) {\n let computedStyle = computedStyleMap.get(el);\n if (!computedStyle) {\n computedStyle = window.getComputedStyle(el, null);\n computedStyleMap.set(el, computedStyle);\n }\n return computedStyle;\n}\nfunction isVisible(el) {\n if (typeof el.checkVisibility === \"function\") {\n return el.checkVisibility({ checkOpacity: false, checkVisibilityCSS: true });\n }\n const computedStyle = getCachedComputedStyle(el);\n return computedStyle.visibility !== \"hidden\" && computedStyle.display !== \"none\";\n}\nfunction isOverflowingAndTabbable(el) {\n const computedStyle = getCachedComputedStyle(el);\n const { overflowY, overflowX } = computedStyle;\n if (overflowY === \"scroll\" || overflowX === \"scroll\") {\n return true;\n }\n if (overflowY !== \"auto\" || overflowX !== \"auto\") {\n return false;\n }\n const isOverflowingY = el.scrollHeight > el.clientHeight;\n if (isOverflowingY && overflowY === \"auto\") {\n return true;\n }\n const isOverflowingX = el.scrollWidth > el.clientWidth;\n if (isOverflowingX && overflowX === \"auto\") {\n return true;\n }\n return false;\n}\nfunction isTabbable(el) {\n const tag = el.tagName.toLowerCase();\n const tabindex = Number(el.getAttribute(\"tabindex\"));\n const hasTabindex = el.hasAttribute(\"tabindex\");\n if (hasTabindex && (isNaN(tabindex) || tabindex <= -1)) {\n return false;\n }\n if (el.hasAttribute(\"disabled\")) {\n return false;\n }\n if (el.closest(\"[inert]\")) {\n return false;\n }\n if (tag === \"input\" && el.getAttribute(\"type\") === \"radio\") {\n const rootNode = el.getRootNode();\n const findRadios = `input[type='radio'][name=\"${el.getAttribute(\"name\")}\"]`;\n const firstChecked = rootNode.querySelector(`${findRadios}:checked`);\n if (firstChecked) {\n return firstChecked === el;\n }\n const firstRadio = rootNode.querySelector(findRadios);\n return firstRadio === el;\n }\n if (!isVisible(el)) {\n return false;\n }\n if ((tag === \"audio\" || tag === \"video\") && el.hasAttribute(\"controls\")) {\n return true;\n }\n if (el.hasAttribute(\"tabindex\")) {\n return true;\n }\n if (el.hasAttribute(\"contenteditable\") && el.getAttribute(\"contenteditable\") !== \"false\") {\n return true;\n }\n const isNativelyTabbable = [\n \"button\",\n \"input\",\n \"select\",\n \"textarea\",\n \"a\",\n \"audio\",\n \"video\",\n \"summary\",\n \"iframe\"\n ].includes(tag);\n if (isNativelyTabbable) {\n return true;\n }\n return isOverflowingAndTabbable(el);\n}\nfunction getTabbableBoundary(root) {\n var _a, _b;\n const tabbableElements = getTabbableElements(root);\n const start = (_a = tabbableElements[0]) != null ? _a : null;\n const end = (_b = tabbableElements[tabbableElements.length - 1]) != null ? _b : null;\n return { start, end };\n}\nfunction getSlottedChildrenOutsideRootElement(slotElement, root) {\n var _a;\n return ((_a = slotElement.getRootNode({ composed: true })) == null ? void 0 : _a.host) !== root;\n}\nfunction getTabbableElements(root) {\n const walkedEls = /* @__PURE__ */ new WeakMap();\n const tabbableElements = [];\n function walk(el) {\n if (el instanceof Element) {\n if (el.hasAttribute(\"inert\") || el.closest(\"[inert]\")) {\n return;\n }\n if (walkedEls.has(el)) {\n return;\n }\n walkedEls.set(el, true);\n if (!tabbableElements.includes(el) && isTabbable(el)) {\n tabbableElements.push(el);\n }\n if (el instanceof HTMLSlotElement && getSlottedChildrenOutsideRootElement(el, root)) {\n el.assignedElements({ flatten: true }).forEach((assignedEl) => {\n walk(assignedEl);\n });\n }\n if (el.shadowRoot !== null && el.shadowRoot.mode === \"open\") {\n walk(el.shadowRoot);\n }\n }\n for (const e of el.children) {\n walk(e);\n }\n }\n walk(root);\n return tabbableElements.sort((a, b) => {\n const aTabindex = Number(a.getAttribute(\"tabindex\")) || 0;\n const bTabindex = Number(b.getAttribute(\"tabindex\")) || 0;\n return bTabindex - aTabindex;\n });\n}\n\nexport {\n activeElements,\n getDeepestActiveElement,\n getTabbableBoundary,\n getTabbableElements\n};\n","// src/components/popup/popup.styles.ts\nimport { css } from \"lit\";\nvar popup_styles_default = css`\n :host {\n --arrow-color: var(--sl-color-neutral-1000);\n --arrow-size: 6px;\n\n /*\n * These properties are computed to account for the arrow's dimensions after being rotated 45º. The constant\n * 0.7071 is derived from sin(45), which is the diagonal size of the arrow's container after rotating.\n */\n --arrow-size-diagonal: calc(var(--arrow-size) * 0.7071);\n --arrow-padding-offset: calc(var(--arrow-size-diagonal) - var(--arrow-size));\n\n display: contents;\n }\n\n .popup {\n position: absolute;\n isolation: isolate;\n max-width: var(--auto-size-available-width, none);\n max-height: var(--auto-size-available-height, none);\n }\n\n .popup--fixed {\n position: fixed;\n }\n\n .popup:not(.popup--active) {\n display: none;\n }\n\n .popup__arrow {\n position: absolute;\n width: calc(var(--arrow-size-diagonal) * 2);\n height: calc(var(--arrow-size-diagonal) * 2);\n rotate: 45deg;\n background: var(--arrow-color);\n z-index: -1;\n }\n\n /* Hover bridge */\n .popup-hover-bridge:not(.popup-hover-bridge--visible) {\n display: none;\n }\n\n .popup-hover-bridge {\n position: fixed;\n z-index: calc(var(--sl-z-index-dropdown) - 1);\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n clip-path: polygon(\n var(--hover-bridge-top-left-x, 0) var(--hover-bridge-top-left-y, 0),\n var(--hover-bridge-top-right-x, 0) var(--hover-bridge-top-right-y, 0),\n var(--hover-bridge-bottom-right-x, 0) var(--hover-bridge-bottom-right-y, 0),\n var(--hover-bridge-bottom-left-x, 0) var(--hover-bridge-bottom-left-y, 0)\n );\n }\n`;\n\nexport {\n popup_styles_default\n};\n","const connectedElements = new Set();\nconst translations = new Map();\nlet fallback;\nlet documentDirection = 'ltr';\nlet documentLanguage = 'en';\nconst isClient = (typeof MutationObserver !== \"undefined\" && typeof document !== \"undefined\" && typeof document.documentElement !== \"undefined\");\nif (isClient) {\n const documentElementObserver = new MutationObserver(update);\n documentDirection = document.documentElement.dir || 'ltr';\n documentLanguage = document.documentElement.lang || navigator.language;\n documentElementObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['dir', 'lang']\n });\n}\nexport function registerTranslation(...translation) {\n translation.map(t => {\n const code = t.$code.toLowerCase();\n if (translations.has(code)) {\n translations.set(code, Object.assign(Object.assign({}, translations.get(code)), t));\n }\n else {\n translations.set(code, t);\n }\n if (!fallback) {\n fallback = t;\n }\n });\n update();\n}\nexport function update() {\n if (isClient) {\n documentDirection = document.documentElement.dir || 'ltr';\n documentLanguage = document.documentElement.lang || navigator.language;\n }\n [...connectedElements.keys()].map((el) => {\n if (typeof el.requestUpdate === 'function') {\n el.requestUpdate();\n }\n });\n}\nexport class LocalizeController {\n constructor(host) {\n this.host = host;\n this.host.addController(this);\n }\n hostConnected() {\n connectedElements.add(this.host);\n }\n hostDisconnected() {\n connectedElements.delete(this.host);\n }\n dir() {\n return `${this.host.dir || documentDirection}`.toLowerCase();\n }\n lang() {\n return `${this.host.lang || documentLanguage}`.toLowerCase();\n }\n getTranslationData(lang) {\n var _a, _b;\n const locale = new Intl.Locale(lang.replace(/_/g, '-'));\n const language = locale === null || locale === void 0 ? void 0 : locale.language.toLowerCase();\n const region = (_b = (_a = locale === null || locale === void 0 ? void 0 : locale.region) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : '';\n const primary = translations.get(`${language}-${region}`);\n const secondary = translations.get(language);\n return { locale, language, region, primary, secondary };\n }\n exists(key, options) {\n var _a;\n const { primary, secondary } = this.getTranslationData((_a = options.lang) !== null && _a !== void 0 ? _a : this.lang());\n options = Object.assign({ includeFallback: false }, options);\n if ((primary && primary[key]) ||\n (secondary && secondary[key]) ||\n (options.includeFallback && fallback && fallback[key])) {\n return true;\n }\n return false;\n }\n term(key, ...args) {\n const { primary, secondary } = this.getTranslationData(this.lang());\n let term;\n if (primary && primary[key]) {\n term = primary[key];\n }\n else if (secondary && secondary[key]) {\n term = secondary[key];\n }\n else if (fallback && fallback[key]) {\n term = fallback[key];\n }\n else {\n console.error(`No translation found for: ${String(key)}`);\n return String(key);\n }\n if (typeof term === 'function') {\n return term(...args);\n }\n return term;\n }\n date(dateToFormat, options) {\n dateToFormat = new Date(dateToFormat);\n return new Intl.DateTimeFormat(this.lang(), options).format(dateToFormat);\n }\n number(numberToFormat, options) {\n numberToFormat = Number(numberToFormat);\n return isNaN(numberToFormat) ? '' : new Intl.NumberFormat(this.lang(), options).format(numberToFormat);\n }\n relativeTime(value, unit, options) {\n return new Intl.RelativeTimeFormat(this.lang(), options).format(value, unit);\n }\n}\n","// src/translations/en.ts\nimport { registerTranslation } from \"@shoelace-style/localize\";\nvar translation = {\n $code: \"en\",\n $name: \"English\",\n $dir: \"ltr\",\n carousel: \"Carousel\",\n clearEntry: \"Clear entry\",\n close: \"Close\",\n copied: \"Copied\",\n copy: \"Copy\",\n currentValue: \"Current value\",\n error: \"Error\",\n goToSlide: (slide, count) => `Go to slide ${slide} of ${count}`,\n hidePassword: \"Hide password\",\n loading: \"Loading\",\n nextSlide: \"Next slide\",\n numOptionsSelected: (num) => {\n if (num === 0) return \"No options selected\";\n if (num === 1) return \"1 option selected\";\n return `${num} options selected`;\n },\n previousSlide: \"Previous slide\",\n progress: \"Progress\",\n remove: \"Remove\",\n resize: \"Resize\",\n scrollToEnd: \"Scroll to end\",\n scrollToStart: \"Scroll to start\",\n selectAColorFromTheScreen: \"Select a color from the screen\",\n showPassword: \"Show password\",\n slideNum: (slide) => `Slide ${slide}`,\n toggleColorFormat: \"Toggle color format\"\n};\nregisterTranslation(translation);\nvar en_default = translation;\n\nexport {\n en_default\n};\n","import {\n en_default\n} from \"./chunk.7BTDLTNI.js\";\n\n// src/utilities/localize.ts\nimport { LocalizeController as DefaultLocalizationController, registerTranslation } from \"@shoelace-style/localize\";\nimport { registerTranslation as registerTranslation2 } from \"@shoelace-style/localize\";\nvar LocalizeController = class extends DefaultLocalizationController {\n};\nregisterTranslation(en_default);\n\nexport {\n LocalizeController,\n registerTranslation2 as registerTranslation\n};\n","// src/styles/component.styles.ts\nimport { css } from \"lit\";\nvar component_styles_default = css`\n :host {\n box-sizing: border-box;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n`;\n\nexport {\n component_styles_default\n};\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import {\n __decorateClass,\n __privateAdd,\n __privateGet,\n __privateSet,\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/internal/shoelace-element.ts\nimport { LitElement } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nvar _hasRecordedInitialProperties;\nvar ShoelaceElement = class extends LitElement {\n constructor() {\n super();\n __privateAdd(this, _hasRecordedInitialProperties, false);\n // Store the constructor value of all `static properties = {}`\n this.initialReflectedProperties = /* @__PURE__ */ new Map();\n Object.entries(this.constructor.dependencies).forEach(([name, component]) => {\n this.constructor.define(name, component);\n });\n }\n emit(name, options) {\n const event = new CustomEvent(name, __spreadValues({\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {}\n }, options));\n this.dispatchEvent(event);\n return event;\n }\n /* eslint-enable */\n static define(name, elementConstructor = this, options = {}) {\n const currentlyRegisteredConstructor = customElements.get(name);\n if (!currentlyRegisteredConstructor) {\n try {\n customElements.define(name, elementConstructor, options);\n } catch (_err) {\n customElements.define(name, class extends elementConstructor {\n }, options);\n }\n return;\n }\n let newVersion = \" (unknown version)\";\n let existingVersion = newVersion;\n if (\"version\" in elementConstructor && elementConstructor.version) {\n newVersion = \" v\" + elementConstructor.version;\n }\n if (\"version\" in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = \" v\" + currentlyRegisteredConstructor.version;\n }\n if (newVersion && existingVersion && newVersion === existingVersion) {\n return;\n }\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n attributeChangedCallback(name, oldValue, newValue) {\n if (!__privateGet(this, _hasRecordedInitialProperties)) {\n this.constructor.elementProperties.forEach(\n (obj, prop) => {\n if (obj.reflect && this[prop] != null) {\n this.initialReflectedProperties.set(prop, this[prop]);\n }\n }\n );\n __privateSet(this, _hasRecordedInitialProperties, true);\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n willUpdate(changedProperties) {\n super.willUpdate(changedProperties);\n this.initialReflectedProperties.forEach((value, prop) => {\n if (changedProperties.has(prop) && this[prop] == null) {\n this[prop] = value;\n }\n });\n }\n};\n_hasRecordedInitialProperties = new WeakMap();\n/* eslint-disable */\n// @ts-expect-error This is auto-injected at build time.\nShoelaceElement.version = \"2.20.1\";\nShoelaceElement.dependencies = {};\n__decorateClass([\n property()\n], ShoelaceElement.prototype, \"dir\", 2);\n__decorateClass([\n property()\n], ShoelaceElement.prototype, \"lang\", 2);\n\nexport {\n ShoelaceElement\n};\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => d.overflows[0] > 0 && getSideAxis(d.placement) === initialSideAxis)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n return topLayerSelectors.some(selector => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import { isContainingBlock } from '@floating-ui/utils/dom';\n\nfunction offsetParent(element) {\n return offsetParentPolyfill(element);\n}\nfunction offsetTop(element) {\n return offsetTopLeftPolyfill(element, 'offsetTop');\n}\nfunction offsetLeft(element) {\n return offsetTopLeftPolyfill(element, 'offsetLeft');\n}\nfunction flatTreeParent(element) {\n if (element.assignedSlot) {\n return element.assignedSlot;\n }\n if (element.parentNode instanceof ShadowRoot) {\n return element.parentNode.host;\n }\n return element.parentNode;\n}\nfunction ancestorTreeScopes(element) {\n const scopes = new Set();\n let currentScope = element.getRootNode();\n while (currentScope) {\n scopes.add(currentScope);\n currentScope = currentScope.parentNode\n ? currentScope.parentNode.getRootNode()\n : null;\n }\n return scopes;\n}\nfunction offsetParentPolyfill(element) {\n // Do an initial walk to check for display:none ancestors.\n for (let ancestor = element; ancestor; ancestor = flatTreeParent(ancestor)) {\n if (!(ancestor instanceof Element)) {\n continue;\n }\n if (getComputedStyle(ancestor).display === 'none') {\n return null;\n }\n }\n for (let ancestor = flatTreeParent(element); ancestor; ancestor = flatTreeParent(ancestor)) {\n if (!(ancestor instanceof Element)) {\n continue;\n }\n const style = getComputedStyle(ancestor);\n // Display:contents nodes aren't in the layout tree, so they should be skipped.\n if (style.display === 'contents') {\n continue;\n }\n if (style.position !== 'static' || isContainingBlock(style)) {\n return ancestor;\n }\n if (ancestor.tagName === 'BODY') {\n return ancestor;\n }\n }\n return null;\n}\nfunction offsetTopLeftPolyfill(element, offsetTopOrLeft) {\n let value = element[offsetTopOrLeft];\n let nextOffsetParent = offsetParentPolyfill(element);\n const scopes = ancestorTreeScopes(element);\n while (nextOffsetParent && !scopes.has(nextOffsetParent.getRootNode())) {\n value -= nextOffsetParent[offsetTopOrLeft];\n nextOffsetParent = offsetParentPolyfill(nextOffsetParent);\n }\n return value;\n}\n\nexport { offsetLeft, offsetParent, offsetTop };\n","import {\n popup_styles_default\n} from \"./chunk.3KSWVBQ5.js\";\nimport {\n LocalizeController\n} from \"./chunk.6CTB5ZDJ.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass,\n __spreadProps,\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/popup/popup.component.ts\nimport { arrow, autoUpdate, computePosition, flip, offset, platform, shift, size } from \"@floating-ui/dom\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit\";\nimport { offsetParent } from \"composed-offset-position\";\nimport { property, query } from \"lit/decorators.js\";\nfunction isVirtualElement(e) {\n return e !== null && typeof e === \"object\" && \"getBoundingClientRect\" in e && (\"contextElement\" in e ? e.contextElement instanceof Element : true);\n}\nvar SlPopup = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n this.active = false;\n this.placement = \"top\";\n this.strategy = \"absolute\";\n this.distance = 0;\n this.skidding = 0;\n this.arrow = false;\n this.arrowPlacement = \"anchor\";\n this.arrowPadding = 10;\n this.flip = false;\n this.flipFallbackPlacements = \"\";\n this.flipFallbackStrategy = \"best-fit\";\n this.flipPadding = 0;\n this.shift = false;\n this.shiftPadding = 0;\n this.autoSizePadding = 0;\n this.hoverBridge = false;\n this.updateHoverBridge = () => {\n if (this.hoverBridge && this.anchorEl) {\n const anchorRect = this.anchorEl.getBoundingClientRect();\n const popupRect = this.popup.getBoundingClientRect();\n const isVertical = this.placement.includes(\"top\") || this.placement.includes(\"bottom\");\n let topLeftX = 0;\n let topLeftY = 0;\n let topRightX = 0;\n let topRightY = 0;\n let bottomLeftX = 0;\n let bottomLeftY = 0;\n let bottomRightX = 0;\n let bottomRightY = 0;\n if (isVertical) {\n if (anchorRect.top < popupRect.top) {\n topLeftX = anchorRect.left;\n topLeftY = anchorRect.bottom;\n topRightX = anchorRect.right;\n topRightY = anchorRect.bottom;\n bottomLeftX = popupRect.left;\n bottomLeftY = popupRect.top;\n bottomRightX = popupRect.right;\n bottomRightY = popupRect.top;\n } else {\n topLeftX = popupRect.left;\n topLeftY = popupRect.bottom;\n topRightX = popupRect.right;\n topRightY = popupRect.bottom;\n bottomLeftX = anchorRect.left;\n bottomLeftY = anchorRect.top;\n bottomRightX = anchorRect.right;\n bottomRightY = anchorRect.top;\n }\n } else {\n if (anchorRect.left < popupRect.left) {\n topLeftX = anchorRect.right;\n topLeftY = anchorRect.top;\n topRightX = popupRect.left;\n topRightY = popupRect.top;\n bottomLeftX = anchorRect.right;\n bottomLeftY = anchorRect.bottom;\n bottomRightX = popupRect.left;\n bottomRightY = popupRect.bottom;\n } else {\n topLeftX = popupRect.right;\n topLeftY = popupRect.top;\n topRightX = anchorRect.left;\n topRightY = anchorRect.top;\n bottomLeftX = popupRect.right;\n bottomLeftY = popupRect.bottom;\n bottomRightX = anchorRect.left;\n bottomRightY = anchorRect.bottom;\n }\n }\n this.style.setProperty(\"--hover-bridge-top-left-x\", `${topLeftX}px`);\n this.style.setProperty(\"--hover-bridge-top-left-y\", `${topLeftY}px`);\n this.style.setProperty(\"--hover-bridge-top-right-x\", `${topRightX}px`);\n this.style.setProperty(\"--hover-bridge-top-right-y\", `${topRightY}px`);\n this.style.setProperty(\"--hover-bridge-bottom-left-x\", `${bottomLeftX}px`);\n this.style.setProperty(\"--hover-bridge-bottom-left-y\", `${bottomLeftY}px`);\n this.style.setProperty(\"--hover-bridge-bottom-right-x\", `${bottomRightX}px`);\n this.style.setProperty(\"--hover-bridge-bottom-right-y\", `${bottomRightY}px`);\n }\n };\n }\n async connectedCallback() {\n super.connectedCallback();\n await this.updateComplete;\n this.start();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.stop();\n }\n async updated(changedProps) {\n super.updated(changedProps);\n if (changedProps.has(\"active\")) {\n if (this.active) {\n this.start();\n } else {\n this.stop();\n }\n }\n if (changedProps.has(\"anchor\")) {\n this.handleAnchorChange();\n }\n if (this.active) {\n await this.updateComplete;\n this.reposition();\n }\n }\n async handleAnchorChange() {\n await this.stop();\n if (this.anchor && typeof this.anchor === \"string\") {\n const root = this.getRootNode();\n this.anchorEl = root.getElementById(this.anchor);\n } else if (this.anchor instanceof Element || isVirtualElement(this.anchor)) {\n this.anchorEl = this.anchor;\n } else {\n this.anchorEl = this.querySelector('[slot=\"anchor\"]');\n }\n if (this.anchorEl instanceof HTMLSlotElement) {\n this.anchorEl = this.anchorEl.assignedElements({ flatten: true })[0];\n }\n if (this.anchorEl && this.active) {\n this.start();\n }\n }\n start() {\n if (!this.anchorEl || !this.active) {\n return;\n }\n this.cleanup = autoUpdate(this.anchorEl, this.popup, () => {\n this.reposition();\n });\n }\n async stop() {\n return new Promise((resolve) => {\n if (this.cleanup) {\n this.cleanup();\n this.cleanup = void 0;\n this.removeAttribute(\"data-current-placement\");\n this.style.removeProperty(\"--auto-size-available-width\");\n this.style.removeProperty(\"--auto-size-available-height\");\n requestAnimationFrame(() => resolve());\n } else {\n resolve();\n }\n });\n }\n /** Forces the popup to recalculate and reposition itself. */\n reposition() {\n if (!this.active || !this.anchorEl) {\n return;\n }\n const middleware = [\n // The offset middleware goes first\n offset({ mainAxis: this.distance, crossAxis: this.skidding })\n ];\n if (this.sync) {\n middleware.push(\n size({\n apply: ({ rects }) => {\n const syncWidth = this.sync === \"width\" || this.sync === \"both\";\n const syncHeight = this.sync === \"height\" || this.sync === \"both\";\n this.popup.style.width = syncWidth ? `${rects.reference.width}px` : \"\";\n this.popup.style.height = syncHeight ? `${rects.reference.height}px` : \"\";\n }\n })\n );\n } else {\n this.popup.style.width = \"\";\n this.popup.style.height = \"\";\n }\n if (this.flip) {\n middleware.push(\n flip({\n boundary: this.flipBoundary,\n // @ts-expect-error - We're converting a string attribute to an array here\n fallbackPlacements: this.flipFallbackPlacements,\n fallbackStrategy: this.flipFallbackStrategy === \"best-fit\" ? \"bestFit\" : \"initialPlacement\",\n padding: this.flipPadding\n })\n );\n }\n if (this.shift) {\n middleware.push(\n shift({\n boundary: this.shiftBoundary,\n padding: this.shiftPadding\n })\n );\n }\n if (this.autoSize) {\n middleware.push(\n size({\n boundary: this.autoSizeBoundary,\n padding: this.autoSizePadding,\n apply: ({ availableWidth, availableHeight }) => {\n if (this.autoSize === \"vertical\" || this.autoSize === \"both\") {\n this.style.setProperty(\"--auto-size-available-height\", `${availableHeight}px`);\n } else {\n this.style.removeProperty(\"--auto-size-available-height\");\n }\n if (this.autoSize === \"horizontal\" || this.autoSize === \"both\") {\n this.style.setProperty(\"--auto-size-available-width\", `${availableWidth}px`);\n } else {\n this.style.removeProperty(\"--auto-size-available-width\");\n }\n }\n })\n );\n } else {\n this.style.removeProperty(\"--auto-size-available-width\");\n this.style.removeProperty(\"--auto-size-available-height\");\n }\n if (this.arrow) {\n middleware.push(\n arrow({\n element: this.arrowEl,\n padding: this.arrowPadding\n })\n );\n }\n const getOffsetParent = this.strategy === \"absolute\" ? (element) => platform.getOffsetParent(element, offsetParent) : platform.getOffsetParent;\n computePosition(this.anchorEl, this.popup, {\n placement: this.placement,\n middleware,\n strategy: this.strategy,\n platform: __spreadProps(__spreadValues({}, platform), {\n getOffsetParent\n })\n }).then(({ x, y, middlewareData, placement }) => {\n const isRtl = this.localize.dir() === \"rtl\";\n const staticSide = { top: \"bottom\", right: \"left\", bottom: \"top\", left: \"right\" }[placement.split(\"-\")[0]];\n this.setAttribute(\"data-current-placement\", placement);\n Object.assign(this.popup.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n if (this.arrow) {\n const arrowX = middlewareData.arrow.x;\n const arrowY = middlewareData.arrow.y;\n let top = \"\";\n let right = \"\";\n let bottom = \"\";\n let left = \"\";\n if (this.arrowPlacement === \"start\") {\n const value = typeof arrowX === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n top = typeof arrowY === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n right = isRtl ? value : \"\";\n left = isRtl ? \"\" : value;\n } else if (this.arrowPlacement === \"end\") {\n const value = typeof arrowX === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n right = isRtl ? \"\" : value;\n left = isRtl ? value : \"\";\n bottom = typeof arrowY === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n } else if (this.arrowPlacement === \"center\") {\n left = typeof arrowX === \"number\" ? `calc(50% - var(--arrow-size-diagonal))` : \"\";\n top = typeof arrowY === \"number\" ? `calc(50% - var(--arrow-size-diagonal))` : \"\";\n } else {\n left = typeof arrowX === \"number\" ? `${arrowX}px` : \"\";\n top = typeof arrowY === \"number\" ? `${arrowY}px` : \"\";\n }\n Object.assign(this.arrowEl.style, {\n top,\n right,\n bottom,\n left,\n [staticSide]: \"calc(var(--arrow-size-diagonal) * -1)\"\n });\n }\n });\n requestAnimationFrame(() => this.updateHoverBridge());\n this.emit(\"sl-reposition\");\n }\n render() {\n return html`\n <slot name=\"anchor\" @slotchange=${this.handleAnchorChange}></slot>\n\n <span\n part=\"hover-bridge\"\n class=${classMap({\n \"popup-hover-bridge\": true,\n \"popup-hover-bridge--visible\": this.hoverBridge && this.active\n })}\n ></span>\n\n <div\n part=\"popup\"\n class=${classMap({\n popup: true,\n \"popup--active\": this.active,\n \"popup--fixed\": this.strategy === \"fixed\",\n \"popup--has-arrow\": this.arrow\n })}\n >\n <slot></slot>\n ${this.arrow ? html`<div part=\"arrow\" class=\"popup__arrow\" role=\"presentation\"></div>` : \"\"}\n </div>\n `;\n }\n};\nSlPopup.styles = [component_styles_default, popup_styles_default];\n__decorateClass([\n query(\".popup\")\n], SlPopup.prototype, \"popup\", 2);\n__decorateClass([\n query(\".popup__arrow\")\n], SlPopup.prototype, \"arrowEl\", 2);\n__decorateClass([\n property()\n], SlPopup.prototype, \"anchor\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlPopup.prototype, \"active\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlPopup.prototype, \"placement\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlPopup.prototype, \"strategy\", 2);\n__decorateClass([\n property({ type: Number })\n], SlPopup.prototype, \"distance\", 2);\n__decorateClass([\n property({ type: Number })\n], SlPopup.prototype, \"skidding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], SlPopup.prototype, \"arrow\", 2);\n__decorateClass([\n property({ attribute: \"arrow-placement\" })\n], SlPopup.prototype, \"arrowPlacement\", 2);\n__decorateClass([\n property({ attribute: \"arrow-padding\", type: Number })\n], SlPopup.prototype, \"arrowPadding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], SlPopup.prototype, \"flip\", 2);\n__decorateClass([\n property({\n attribute: \"flip-fallback-placements\",\n converter: {\n fromAttribute: (value) => {\n return value.split(\" \").map((p) => p.trim()).filter((p) => p !== \"\");\n },\n toAttribute: (value) => {\n return value.join(\" \");\n }\n }\n })\n], SlPopup.prototype, \"flipFallbackPlacements\", 2);\n__decorateClass([\n property({ attribute: \"flip-fallback-strategy\" })\n], SlPopup.prototype, \"flipFallbackStrategy\", 2);\n__decorateClass([\n property({ type: Object })\n], SlPopup.prototype, \"flipBoundary\", 2);\n__decorateClass([\n property({ attribute: \"flip-padding\", type: Number })\n], SlPopup.prototype, \"flipPadding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], SlPopup.prototype, \"shift\", 2);\n__decorateClass([\n property({ type: Object })\n], SlPopup.prototype, \"shiftBoundary\", 2);\n__decorateClass([\n property({ attribute: \"shift-padding\", type: Number })\n], SlPopup.prototype, \"shiftPadding\", 2);\n__decorateClass([\n property({ attribute: \"auto-size\" })\n], SlPopup.prototype, \"autoSize\", 2);\n__decorateClass([\n property()\n], SlPopup.prototype, \"sync\", 2);\n__decorateClass([\n property({ type: Object })\n], SlPopup.prototype, \"autoSizeBoundary\", 2);\n__decorateClass([\n property({ attribute: \"auto-size-padding\", type: Number })\n], SlPopup.prototype, \"autoSizePadding\", 2);\n__decorateClass([\n property({ attribute: \"hover-bridge\", type: Boolean })\n], SlPopup.prototype, \"hoverBridge\", 2);\n\nexport {\n SlPopup\n};\n","import {\n __spreadProps,\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/utilities/animation-registry.ts\nvar defaultAnimationRegistry = /* @__PURE__ */ new Map();\nvar customAnimationRegistry = /* @__PURE__ */ new WeakMap();\nfunction ensureAnimation(animation) {\n return animation != null ? animation : { keyframes: [], options: { duration: 0 } };\n}\nfunction getLogicalAnimation(animation, dir) {\n if (dir.toLowerCase() === \"rtl\") {\n return {\n keyframes: animation.rtlKeyframes || animation.keyframes,\n options: animation.options\n };\n }\n return animation;\n}\nfunction setDefaultAnimation(animationName, animation) {\n defaultAnimationRegistry.set(animationName, ensureAnimation(animation));\n}\nfunction setAnimation(el, animationName, animation) {\n customAnimationRegistry.set(el, __spreadProps(__spreadValues({}, customAnimationRegistry.get(el)), { [animationName]: ensureAnimation(animation) }));\n}\nfunction getAnimation(el, animationName, options) {\n const customAnimation = customAnimationRegistry.get(el);\n if (customAnimation == null ? void 0 : customAnimation[animationName]) {\n return getLogicalAnimation(customAnimation[animationName], options.dir);\n }\n const defaultAnimation = defaultAnimationRegistry.get(animationName);\n if (defaultAnimation) {\n return getLogicalAnimation(defaultAnimation, options.dir);\n }\n return {\n keyframes: [],\n options: { duration: 0 }\n };\n}\n\nexport {\n setDefaultAnimation,\n setAnimation,\n getAnimation\n};\n","// src/internal/event.ts\nfunction waitForEvent(el, eventName) {\n return new Promise((resolve) => {\n function done(event) {\n if (event.target === el) {\n el.removeEventListener(eventName, done);\n resolve();\n }\n }\n el.addEventListener(eventName, done);\n });\n}\n\nexport {\n waitForEvent\n};\n","import {\n __spreadProps,\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/internal/animate.ts\nfunction animateTo(el, keyframes, options) {\n return new Promise((resolve) => {\n if ((options == null ? void 0 : options.duration) === Infinity) {\n throw new Error(\"Promise-based animations must be finite.\");\n }\n const animation = el.animate(keyframes, __spreadProps(__spreadValues({}, options), {\n duration: prefersReducedMotion() ? 0 : options.duration\n }));\n animation.addEventListener(\"cancel\", resolve, { once: true });\n animation.addEventListener(\"finish\", resolve, { once: true });\n });\n}\nfunction parseDuration(delay) {\n delay = delay.toString().toLowerCase();\n if (delay.indexOf(\"ms\") > -1) {\n return parseFloat(delay);\n }\n if (delay.indexOf(\"s\") > -1) {\n return parseFloat(delay) * 1e3;\n }\n return parseFloat(delay);\n}\nfunction prefersReducedMotion() {\n const query = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n return query.matches;\n}\nfunction stopAnimations(el) {\n return Promise.all(\n el.getAnimations().map((animation) => {\n return new Promise((resolve) => {\n animation.cancel();\n requestAnimationFrame(resolve);\n });\n })\n );\n}\nfunction shimKeyframesHeightAuto(keyframes, calculatedHeight) {\n return keyframes.map((keyframe) => __spreadProps(__spreadValues({}, keyframe), {\n height: keyframe.height === \"auto\" ? `${calculatedHeight}px` : keyframe.height\n }));\n}\n\nexport {\n animateTo,\n parseDuration,\n prefersReducedMotion,\n stopAnimations,\n shimKeyframesHeightAuto\n};\n","import {\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/internal/watch.ts\nfunction watch(propertyName, options) {\n const resolvedOptions = __spreadValues({\n waitUntilFirstUpdate: false\n }, options);\n return (proto, decoratedFnName) => {\n const { update } = proto;\n const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];\n proto.update = function(changedProps) {\n watchedProperties.forEach((property) => {\n const key = property;\n if (changedProps.has(key)) {\n const oldValue = changedProps.get(key);\n const newValue = this[key];\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n this[decoratedFnName](oldValue, newValue);\n }\n }\n }\n });\n update.call(this, changedProps);\n };\n };\n}\n\nexport {\n watch\n};\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import {\n dropdown_styles_default\n} from \"./chunk.LXP7GVU3.js\";\nimport {\n getDeepestActiveElement,\n getTabbableBoundary\n} from \"./chunk.VESXC477.js\";\nimport {\n SlPopup\n} from \"./chunk.5JY5FUCG.js\";\nimport {\n getAnimation,\n setDefaultAnimation\n} from \"./chunk.K7JGTRV7.js\";\nimport {\n waitForEvent\n} from \"./chunk.B4BZKR24.js\";\nimport {\n animateTo,\n stopAnimations\n} from \"./chunk.AJ3ENQ5C.js\";\nimport {\n LocalizeController\n} from \"./chunk.6CTB5ZDJ.js\";\nimport {\n watch\n} from \"./chunk.GMYPQTFK.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/dropdown/dropdown.component.ts\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { property, query } from \"lit/decorators.js\";\nvar SlDropdown = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n this.open = false;\n this.placement = \"bottom-start\";\n this.disabled = false;\n this.stayOpenOnSelect = false;\n this.distance = 0;\n this.skidding = 0;\n this.hoist = false;\n this.sync = void 0;\n this.handleKeyDown = (event) => {\n if (this.open && event.key === \"Escape\") {\n event.stopPropagation();\n this.hide();\n this.focusOnTrigger();\n }\n };\n this.handleDocumentKeyDown = (event) => {\n var _a;\n if (event.key === \"Escape\" && this.open && !this.closeWatcher) {\n event.stopPropagation();\n this.focusOnTrigger();\n this.hide();\n return;\n }\n if (event.key === \"Tab\") {\n if (this.open && ((_a = document.activeElement) == null ? void 0 : _a.tagName.toLowerCase()) === \"sl-menu-item\") {\n event.preventDefault();\n this.hide();\n this.focusOnTrigger();\n return;\n }\n const computeClosestContaining = (element, tagName) => {\n if (!element) return null;\n const closest = element.closest(tagName);\n if (closest) return closest;\n const rootNode = element.getRootNode();\n if (rootNode instanceof ShadowRoot) {\n return computeClosestContaining(rootNode.host, tagName);\n }\n return null;\n };\n setTimeout(() => {\n var _a2;\n const activeElement = ((_a2 = this.containingElement) == null ? void 0 : _a2.getRootNode()) instanceof ShadowRoot ? getDeepestActiveElement() : document.activeElement;\n if (!this.containingElement || computeClosestContaining(activeElement, this.containingElement.tagName.toLowerCase()) !== this.containingElement) {\n this.hide();\n }\n });\n }\n };\n this.handleDocumentMouseDown = (event) => {\n const path = event.composedPath();\n if (this.containingElement && !path.includes(this.containingElement)) {\n this.hide();\n }\n };\n this.handlePanelSelect = (event) => {\n const target = event.target;\n if (!this.stayOpenOnSelect && target.tagName.toLowerCase() === \"sl-menu\") {\n this.hide();\n this.focusOnTrigger();\n }\n };\n }\n connectedCallback() {\n super.connectedCallback();\n if (!this.containingElement) {\n this.containingElement = this;\n }\n }\n firstUpdated() {\n this.panel.hidden = !this.open;\n if (this.open) {\n this.addOpenListeners();\n this.popup.active = true;\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeOpenListeners();\n this.hide();\n }\n focusOnTrigger() {\n const trigger = this.trigger.assignedElements({ flatten: true })[0];\n if (typeof (trigger == null ? void 0 : trigger.focus) === \"function\") {\n trigger.focus();\n }\n }\n getMenu() {\n return this.panel.assignedElements({ flatten: true }).find((el) => el.tagName.toLowerCase() === \"sl-menu\");\n }\n handleTriggerClick() {\n if (this.open) {\n this.hide();\n } else {\n this.show();\n this.focusOnTrigger();\n }\n }\n async handleTriggerKeyDown(event) {\n if ([\" \", \"Enter\"].includes(event.key)) {\n event.preventDefault();\n this.handleTriggerClick();\n return;\n }\n const menu = this.getMenu();\n if (menu) {\n const menuItems = menu.getAllItems();\n const firstMenuItem = menuItems[0];\n const lastMenuItem = menuItems[menuItems.length - 1];\n if ([\"ArrowDown\", \"ArrowUp\", \"Home\", \"End\"].includes(event.key)) {\n event.preventDefault();\n if (!this.open) {\n this.show();\n await this.updateComplete;\n }\n if (menuItems.length > 0) {\n this.updateComplete.then(() => {\n if (event.key === \"ArrowDown\" || event.key === \"Home\") {\n menu.setCurrentItem(firstMenuItem);\n firstMenuItem.focus();\n }\n if (event.key === \"ArrowUp\" || event.key === \"End\") {\n menu.setCurrentItem(lastMenuItem);\n lastMenuItem.focus();\n }\n });\n }\n }\n }\n }\n handleTriggerKeyUp(event) {\n if (event.key === \" \") {\n event.preventDefault();\n }\n }\n handleTriggerSlotChange() {\n this.updateAccessibleTrigger();\n }\n //\n // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and\n // `aria-expanded`. These must be applied to the \"accessible trigger\" (the tabbable portion of the trigger element\n // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,\n // a child of the slotted element, or an element in the slotted element's shadow root.\n //\n // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.\n //\n // To determine this, we assume the first tabbable element in the trigger slot is the \"accessible trigger.\"\n //\n updateAccessibleTrigger() {\n const assignedElements = this.trigger.assignedElements({ flatten: true });\n const accessibleTrigger = assignedElements.find((el) => getTabbableBoundary(el).start);\n let target;\n if (accessibleTrigger) {\n switch (accessibleTrigger.tagName.toLowerCase()) {\n // Shoelace buttons have to update the internal button so it's announced correctly by screen readers\n case \"sl-button\":\n case \"sl-icon-button\":\n target = accessibleTrigger.button;\n break;\n default:\n target = accessibleTrigger;\n }\n target.setAttribute(\"aria-haspopup\", \"true\");\n target.setAttribute(\"aria-expanded\", this.open ? \"true\" : \"false\");\n }\n }\n /** Shows the dropdown panel. */\n async show() {\n if (this.open) {\n return void 0;\n }\n this.open = true;\n return waitForEvent(this, \"sl-after-show\");\n }\n /** Hides the dropdown panel */\n async hide() {\n if (!this.open) {\n return void 0;\n }\n this.open = false;\n return waitForEvent(this, \"sl-after-hide\");\n }\n /**\n * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\n * is activated.\n */\n reposition() {\n this.popup.reposition();\n }\n addOpenListeners() {\n var _a;\n this.panel.addEventListener(\"sl-select\", this.handlePanelSelect);\n if (\"CloseWatcher\" in window) {\n (_a = this.closeWatcher) == null ? void 0 : _a.destroy();\n this.closeWatcher = new CloseWatcher();\n this.closeWatcher.onclose = () => {\n this.hide();\n this.focusOnTrigger();\n };\n } else {\n this.panel.addEventListener(\"keydown\", this.handleKeyDown);\n }\n document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n document.addEventListener(\"mousedown\", this.handleDocumentMouseDown);\n }\n removeOpenListeners() {\n var _a;\n if (this.panel) {\n this.panel.removeEventListener(\"sl-select\", this.handlePanelSelect);\n this.panel.removeEventListener(\"keydown\", this.handleKeyDown);\n }\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n document.removeEventListener(\"mousedown\", this.handleDocumentMouseDown);\n (_a = this.closeWatcher) == null ? void 0 : _a.destroy();\n }\n async handleOpenChange() {\n if (this.disabled) {\n this.open = false;\n return;\n }\n this.updateAccessibleTrigger();\n if (this.open) {\n this.emit(\"sl-show\");\n this.addOpenListeners();\n await stopAnimations(this);\n this.panel.hidden = false;\n this.popup.active = true;\n const { keyframes, options } = getAnimation(this, \"dropdown.show\", { dir: this.localize.dir() });\n await animateTo(this.popup.popup, keyframes, options);\n this.emit(\"sl-after-show\");\n } else {\n this.emit(\"sl-hide\");\n this.removeOpenListeners();\n await stopAnimations(this);\n const { keyframes, options } = getAnimation(this, \"dropdown.hide\", { dir: this.localize.dir() });\n await animateTo(this.popup.popup, keyframes, options);\n this.panel.hidden = true;\n this.popup.active = false;\n this.emit(\"sl-after-hide\");\n }\n }\n render() {\n return html`\n <sl-popup\n part=\"base\"\n exportparts=\"popup:base__popup\"\n id=\"dropdown\"\n placement=${this.placement}\n distance=${this.distance}\n skidding=${this.skidding}\n strategy=${this.hoist ? \"fixed\" : \"absolute\"}\n flip\n shift\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n sync=${ifDefined(this.sync ? this.sync : void 0)}\n class=${classMap({\n dropdown: true,\n \"dropdown--open\": this.open\n })}\n >\n <slot\n name=\"trigger\"\n slot=\"anchor\"\n part=\"trigger\"\n class=\"dropdown__trigger\"\n @click=${this.handleTriggerClick}\n @keydown=${this.handleTriggerKeyDown}\n @keyup=${this.handleTriggerKeyUp}\n @slotchange=${this.handleTriggerSlotChange}\n ></slot>\n\n <div aria-hidden=${this.open ? \"false\" : \"true\"} aria-labelledby=\"dropdown\">\n <slot part=\"panel\" class=\"dropdown__panel\"></slot>\n </div>\n </sl-popup>\n `;\n }\n};\nSlDropdown.styles = [component_styles_default, dropdown_styles_default];\nSlDropdown.dependencies = { \"sl-popup\": SlPopup };\n__decorateClass([\n query(\".dropdown\")\n], SlDropdown.prototype, \"popup\", 2);\n__decorateClass([\n query(\".dropdown__trigger\")\n], SlDropdown.prototype, \"trigger\", 2);\n__decorateClass([\n query(\".dropdown__panel\")\n], SlDropdown.prototype, \"panel\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlDropdown.prototype, \"open\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlDropdown.prototype, \"placement\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlDropdown.prototype, \"disabled\", 2);\n__decorateClass([\n property({ attribute: \"stay-open-on-select\", type: Boolean, reflect: true })\n], SlDropdown.prototype, \"stayOpenOnSelect\", 2);\n__decorateClass([\n property({ attribute: false })\n], SlDropdown.prototype, \"containingElement\", 2);\n__decorateClass([\n property({ type: Number })\n], SlDropdown.prototype, \"distance\", 2);\n__decorateClass([\n property({ type: Number })\n], SlDropdown.prototype, \"skidding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], SlDropdown.prototype, \"hoist\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlDropdown.prototype, \"sync\", 2);\n__decorateClass([\n watch(\"open\", { waitUntilFirstUpdate: true })\n], SlDropdown.prototype, \"handleOpenChange\", 1);\nsetDefaultAnimation(\"dropdown.show\", {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 }\n ],\n options: { duration: 100, easing: \"ease\" }\n});\nsetDefaultAnimation(\"dropdown.hide\", {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 }\n ],\n options: { duration: 100, easing: \"ease\" }\n});\n\nexport {\n SlDropdown\n};\n","import {\n SlDropdown\n} from \"./chunk.C56A5M6T.js\";\n\n// src/components/dropdown/dropdown.ts\nvar dropdown_default = SlDropdown;\nSlDropdown.define(\"sl-dropdown\");\n\nexport {\n dropdown_default\n};\n","// src/components/menu/menu.styles.ts\nimport { css } from \"lit\";\nvar menu_styles_default = css`\n :host {\n display: block;\n position: relative;\n background: var(--sl-panel-background-color);\n border: solid var(--sl-panel-border-width) var(--sl-panel-border-color);\n border-radius: var(--sl-border-radius-medium);\n padding: var(--sl-spacing-x-small) 0;\n overflow: auto;\n overscroll-behavior: none;\n }\n\n ::slotted(sl-divider) {\n --spacing: var(--sl-spacing-x-small);\n }\n`;\n\nexport {\n menu_styles_default\n};\n","import {\n menu_styles_default\n} from \"./chunk.VVA35HTY.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/menu/menu.component.ts\nimport { html } from \"lit\";\nimport { query } from \"lit/decorators.js\";\nvar SlMenu = class extends ShoelaceElement {\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"role\", \"menu\");\n }\n handleClick(event) {\n const menuItemTypes = [\"menuitem\", \"menuitemcheckbox\"];\n const composedPath = event.composedPath();\n const target = composedPath.find((el) => {\n var _a;\n return menuItemTypes.includes(((_a = el == null ? void 0 : el.getAttribute) == null ? void 0 : _a.call(el, \"role\")) || \"\");\n });\n if (!target) return;\n const closestMenu = composedPath.find((el) => {\n var _a;\n return ((_a = el == null ? void 0 : el.getAttribute) == null ? void 0 : _a.call(el, \"role\")) === \"menu\";\n });\n const clickHasSubmenu = closestMenu !== this;\n if (clickHasSubmenu) return;\n const item = target;\n if (item.type === \"checkbox\") {\n item.checked = !item.checked;\n }\n this.emit(\"sl-select\", { detail: { item } });\n }\n handleKeyDown(event) {\n if (event.key === \"Enter\" || event.key === \" \") {\n const item = this.getCurrentItem();\n event.preventDefault();\n event.stopPropagation();\n item == null ? void 0 : item.click();\n } else if ([\"ArrowDown\", \"ArrowUp\", \"Home\", \"End\"].includes(event.key)) {\n const items = this.getAllItems();\n const activeItem = this.getCurrentItem();\n let index = activeItem ? items.indexOf(activeItem) : 0;\n if (items.length > 0) {\n event.preventDefault();\n event.stopPropagation();\n if (event.key === \"ArrowDown\") {\n index++;\n } else if (event.key === \"ArrowUp\") {\n index--;\n } else if (event.key === \"Home\") {\n index = 0;\n } else if (event.key === \"End\") {\n index = items.length - 1;\n }\n if (index < 0) {\n index = items.length - 1;\n }\n if (index > items.length - 1) {\n index = 0;\n }\n this.setCurrentItem(items[index]);\n items[index].focus();\n }\n }\n }\n handleMouseDown(event) {\n const target = event.target;\n if (this.isMenuItem(target)) {\n this.setCurrentItem(target);\n }\n }\n handleSlotChange() {\n const items = this.getAllItems();\n if (items.length > 0) {\n this.setCurrentItem(items[0]);\n }\n }\n isMenuItem(item) {\n var _a;\n return item.tagName.toLowerCase() === \"sl-menu-item\" || [\"menuitem\", \"menuitemcheckbox\", \"menuitemradio\"].includes((_a = item.getAttribute(\"role\")) != null ? _a : \"\");\n }\n /** @internal Gets all slotted menu items, ignoring dividers, headers, and other elements. */\n getAllItems() {\n return [...this.defaultSlot.assignedElements({ flatten: true })].filter((el) => {\n if (el.inert || !this.isMenuItem(el)) {\n return false;\n }\n return true;\n });\n }\n /**\n * @internal Gets the current menu item, which is the menu item that has `tabindex=\"0\"` within the roving tab index.\n * The menu item may or may not have focus, but for keyboard interaction purposes it's considered the \"active\" item.\n */\n getCurrentItem() {\n return this.getAllItems().find((i) => i.getAttribute(\"tabindex\") === \"0\");\n }\n /**\n * @internal Sets the current menu item to the specified element. This sets `tabindex=\"0\"` on the target element and\n * `tabindex=\"-1\"` to all other items. This method must be called prior to setting focus on a menu item.\n */\n setCurrentItem(item) {\n const items = this.getAllItems();\n items.forEach((i) => {\n i.setAttribute(\"tabindex\", i === item ? \"0\" : \"-1\");\n });\n }\n render() {\n return html`\n <slot\n @slotchange=${this.handleSlotChange}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n @mousedown=${this.handleMouseDown}\n ></slot>\n `;\n }\n};\nSlMenu.styles = [component_styles_default, menu_styles_default];\n__decorateClass([\n query(\"slot\")\n], SlMenu.prototype, \"defaultSlot\", 2);\n\nexport {\n SlMenu\n};\n","import {\n SlMenu\n} from \"./chunk.Q6CVTR7F.js\";\n\n// src/components/menu/menu.ts\nvar menu_default = SlMenu;\nSlMenu.define(\"sl-menu\");\n\nexport {\n menu_default\n};\n","// src/components/menu-item/menu-item.styles.ts\nimport { css } from \"lit\";\nvar menu_item_styles_default = css`\n :host {\n --submenu-offset: -2px;\n\n display: block;\n }\n\n :host([inert]) {\n display: none;\n }\n\n .menu-item {\n position: relative;\n display: flex;\n align-items: stretch;\n font-family: var(--sl-font-sans);\n font-size: var(--sl-font-size-medium);\n font-weight: var(--sl-font-weight-normal);\n line-height: var(--sl-line-height-normal);\n letter-spacing: var(--sl-letter-spacing-normal);\n color: var(--sl-color-neutral-700);\n padding: var(--sl-spacing-2x-small) var(--sl-spacing-2x-small);\n transition: var(--sl-transition-fast) fill;\n user-select: none;\n -webkit-user-select: none;\n white-space: nowrap;\n cursor: pointer;\n }\n\n .menu-item.menu-item--disabled {\n outline: none;\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .menu-item.menu-item--loading {\n outline: none;\n cursor: wait;\n }\n\n .menu-item.menu-item--loading *:not(sl-spinner) {\n opacity: 0.5;\n }\n\n .menu-item--loading sl-spinner {\n --indicator-color: currentColor;\n --track-width: 1px;\n position: absolute;\n font-size: 0.75em;\n top: calc(50% - 0.5em);\n left: 0.65rem;\n opacity: 1;\n }\n\n .menu-item .menu-item__label {\n flex: 1 1 auto;\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n .menu-item .menu-item__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n }\n\n .menu-item .menu-item__prefix::slotted(*) {\n margin-inline-end: var(--sl-spacing-x-small);\n }\n\n .menu-item .menu-item__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n }\n\n .menu-item .menu-item__suffix::slotted(*) {\n margin-inline-start: var(--sl-spacing-x-small);\n }\n\n /* Safe triangle */\n .menu-item--submenu-expanded::after {\n content: '';\n position: fixed;\n z-index: calc(var(--sl-z-index-dropdown) - 1);\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n clip-path: polygon(\n var(--safe-triangle-cursor-x, 0) var(--safe-triangle-cursor-y, 0),\n var(--safe-triangle-submenu-start-x, 0) var(--safe-triangle-submenu-start-y, 0),\n var(--safe-triangle-submenu-end-x, 0) var(--safe-triangle-submenu-end-y, 0)\n );\n }\n\n :host(:focus-visible) {\n outline: none;\n }\n\n :host(:hover:not([aria-disabled='true'], :focus-visible)) .menu-item,\n .menu-item--submenu-expanded {\n background-color: var(--sl-color-neutral-100);\n color: var(--sl-color-neutral-1000);\n }\n\n :host(:focus-visible) .menu-item {\n outline: none;\n background-color: var(--sl-color-primary-600);\n color: var(--sl-color-neutral-0);\n opacity: 1;\n }\n\n .menu-item .menu-item__check,\n .menu-item .menu-item__chevron {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5em;\n visibility: hidden;\n }\n\n .menu-item--checked .menu-item__check,\n .menu-item--has-submenu .menu-item__chevron {\n visibility: visible;\n }\n\n /* Add elevation and z-index to submenus */\n sl-popup::part(popup) {\n box-shadow: var(--sl-shadow-large);\n z-index: var(--sl-z-index-dropdown);\n margin-left: var(--submenu-offset);\n }\n\n .menu-item--rtl sl-popup::part(popup) {\n margin-left: calc(-1 * var(--submenu-offset));\n }\n\n @media (forced-colors: active) {\n :host(:hover:not([aria-disabled='true'])) .menu-item,\n :host(:focus-visible) .menu-item {\n outline: dashed 1px SelectedItem;\n outline-offset: -1px;\n }\n }\n\n ::slotted(sl-menu) {\n max-width: var(--auto-size-available-width) !important;\n max-height: var(--auto-size-available-height) !important;\n }\n`;\n\nexport {\n menu_item_styles_default\n};\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2,MATHML:3},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,d=o=>void 0!==o?._$litDirective$,c=o=>o?._$litDirective$,f=o=>void 0===o.strings,r=()=>document.createComment(\"\"),s=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(r(),l),d=e.insertBefore(r(),l);n=new t(i,d,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,d=i!==o;if(d){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||d){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,M=o=>{o._$AR(),o._$AA.remove()},h=o=>{o._$AR()};export{n as TemplateResultType,h as clearPart,p as getCommittedValue,c as getDirectiveClass,s as insertPart,l as isCompiledTemplateResult,d as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,M as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const c=i=>{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as t}from\"../lit-html.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new h;class h{}const o=new WeakMap,n=s(class extends i{render(i){return t}update(i,[s]){const e=s!==this.G;return e&&void 0!==this.G&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.G=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),t}rt(t){if(this.isConnected||(t=void 0),\"function\"==typeof this.G){const i=this.ht??globalThis;let s=o.get(i);void 0===s&&(s=new WeakMap,o.set(i,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return\"function\"==typeof this.G?o.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","// src/components/menu-item/submenu-controller.ts\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport { html } from \"lit\";\nvar SubmenuController = class {\n constructor(host, hasSlotController) {\n this.popupRef = createRef();\n this.enableSubmenuTimer = -1;\n this.isConnected = false;\n this.isPopupConnected = false;\n this.skidding = 0;\n this.submenuOpenDelay = 100;\n // Set the safe triangle cursor position\n this.handleMouseMove = (event) => {\n this.host.style.setProperty(\"--safe-triangle-cursor-x\", `${event.clientX}px`);\n this.host.style.setProperty(\"--safe-triangle-cursor-y\", `${event.clientY}px`);\n };\n this.handleMouseOver = () => {\n if (this.hasSlotController.test(\"submenu\")) {\n this.enableSubmenu();\n }\n };\n // Focus on the first menu-item of a submenu.\n this.handleKeyDown = (event) => {\n switch (event.key) {\n case \"Escape\":\n case \"Tab\":\n this.disableSubmenu();\n break;\n case \"ArrowLeft\":\n if (event.target !== this.host) {\n event.preventDefault();\n event.stopPropagation();\n this.host.focus();\n this.disableSubmenu();\n }\n break;\n case \"ArrowRight\":\n case \"Enter\":\n case \" \":\n this.handleSubmenuEntry(event);\n break;\n default:\n break;\n }\n };\n this.handleClick = (event) => {\n var _a;\n if (event.target === this.host) {\n event.preventDefault();\n event.stopPropagation();\n } else if (event.target instanceof Element && (event.target.tagName === \"sl-menu-item\" || ((_a = event.target.role) == null ? void 0 : _a.startsWith(\"menuitem\")))) {\n this.disableSubmenu();\n }\n };\n // Close this submenu on focus outside of the parent or any descendants.\n this.handleFocusOut = (event) => {\n if (event.relatedTarget && event.relatedTarget instanceof Element && this.host.contains(event.relatedTarget)) {\n return;\n }\n this.disableSubmenu();\n };\n // Prevent the parent menu-item from getting focus on mouse movement on the submenu\n this.handlePopupMouseover = (event) => {\n event.stopPropagation();\n };\n // Set the safe triangle values for the submenu when the position changes\n this.handlePopupReposition = () => {\n const submenuSlot = this.host.renderRoot.querySelector(\"slot[name='submenu']\");\n const menu = submenuSlot == null ? void 0 : submenuSlot.assignedElements({ flatten: true }).filter((el) => el.localName === \"sl-menu\")[0];\n const isRtl = getComputedStyle(this.host).direction === \"rtl\";\n if (!menu) {\n return;\n }\n const { left, top, width, height } = menu.getBoundingClientRect();\n this.host.style.setProperty(\"--safe-triangle-submenu-start-x\", `${isRtl ? left + width : left}px`);\n this.host.style.setProperty(\"--safe-triangle-submenu-start-y\", `${top}px`);\n this.host.style.setProperty(\"--safe-triangle-submenu-end-x\", `${isRtl ? left + width : left}px`);\n this.host.style.setProperty(\"--safe-triangle-submenu-end-y\", `${top + height}px`);\n };\n (this.host = host).addController(this);\n this.hasSlotController = hasSlotController;\n }\n hostConnected() {\n if (this.hasSlotController.test(\"submenu\") && !this.host.disabled) {\n this.addListeners();\n }\n }\n hostDisconnected() {\n this.removeListeners();\n }\n hostUpdated() {\n if (this.hasSlotController.test(\"submenu\") && !this.host.disabled) {\n this.addListeners();\n this.updateSkidding();\n } else {\n this.removeListeners();\n }\n }\n addListeners() {\n if (!this.isConnected) {\n this.host.addEventListener(\"mousemove\", this.handleMouseMove);\n this.host.addEventListener(\"mouseover\", this.handleMouseOver);\n this.host.addEventListener(\"keydown\", this.handleKeyDown);\n this.host.addEventListener(\"click\", this.handleClick);\n this.host.addEventListener(\"focusout\", this.handleFocusOut);\n this.isConnected = true;\n }\n if (!this.isPopupConnected) {\n if (this.popupRef.value) {\n this.popupRef.value.addEventListener(\"mouseover\", this.handlePopupMouseover);\n this.popupRef.value.addEventListener(\"sl-reposition\", this.handlePopupReposition);\n this.isPopupConnected = true;\n }\n }\n }\n removeListeners() {\n if (this.isConnected) {\n this.host.removeEventListener(\"mousemove\", this.handleMouseMove);\n this.host.removeEventListener(\"mouseover\", this.handleMouseOver);\n this.host.removeEventListener(\"keydown\", this.handleKeyDown);\n this.host.removeEventListener(\"click\", this.handleClick);\n this.host.removeEventListener(\"focusout\", this.handleFocusOut);\n this.isConnected = false;\n }\n if (this.isPopupConnected) {\n if (this.popupRef.value) {\n this.popupRef.value.removeEventListener(\"mouseover\", this.handlePopupMouseover);\n this.popupRef.value.removeEventListener(\"sl-reposition\", this.handlePopupReposition);\n this.isPopupConnected = false;\n }\n }\n }\n handleSubmenuEntry(event) {\n const submenuSlot = this.host.renderRoot.querySelector(\"slot[name='submenu']\");\n if (!submenuSlot) {\n console.error(\"Cannot activate a submenu if no corresponding menuitem can be found.\", this);\n return;\n }\n let menuItems = null;\n for (const elt of submenuSlot.assignedElements()) {\n menuItems = elt.querySelectorAll(\"sl-menu-item, [role^='menuitem']\");\n if (menuItems.length !== 0) {\n break;\n }\n }\n if (!menuItems || menuItems.length === 0) {\n return;\n }\n menuItems[0].setAttribute(\"tabindex\", \"0\");\n for (let i = 1; i !== menuItems.length; ++i) {\n menuItems[i].setAttribute(\"tabindex\", \"-1\");\n }\n if (this.popupRef.value) {\n event.preventDefault();\n event.stopPropagation();\n if (this.popupRef.value.active) {\n if (menuItems[0] instanceof HTMLElement) {\n menuItems[0].focus();\n }\n } else {\n this.enableSubmenu(false);\n this.host.updateComplete.then(() => {\n if (menuItems[0] instanceof HTMLElement) {\n menuItems[0].focus();\n }\n });\n this.host.requestUpdate();\n }\n }\n }\n setSubmenuState(state) {\n if (this.popupRef.value) {\n if (this.popupRef.value.active !== state) {\n this.popupRef.value.active = state;\n this.host.requestUpdate();\n }\n }\n }\n // Shows the submenu. Supports disabling the opening delay, e.g. for keyboard events that want to set the focus to the\n // newly opened menu.\n enableSubmenu(delay = true) {\n if (delay) {\n window.clearTimeout(this.enableSubmenuTimer);\n this.enableSubmenuTimer = window.setTimeout(() => {\n this.setSubmenuState(true);\n }, this.submenuOpenDelay);\n } else {\n this.setSubmenuState(true);\n }\n }\n disableSubmenu() {\n window.clearTimeout(this.enableSubmenuTimer);\n this.setSubmenuState(false);\n }\n // Calculate the space the top of a menu takes-up, for aligning the popup menu-item with the activating element.\n updateSkidding() {\n var _a;\n if (!((_a = this.host.parentElement) == null ? void 0 : _a.computedStyleMap)) {\n return;\n }\n const styleMap = this.host.parentElement.computedStyleMap();\n const attrs = [\"padding-top\", \"border-top-width\", \"margin-top\"];\n const skidding = attrs.reduce((accumulator, attr) => {\n var _a2;\n const styleValue = (_a2 = styleMap.get(attr)) != null ? _a2 : new CSSUnitValue(0, \"px\");\n const unitValue = styleValue instanceof CSSUnitValue ? styleValue : new CSSUnitValue(0, \"px\");\n const pxValue = unitValue.to(\"px\");\n return accumulator - pxValue.value;\n }, 0);\n this.skidding = skidding;\n }\n isExpanded() {\n return this.popupRef.value ? this.popupRef.value.active : false;\n }\n renderSubmenu() {\n const isRtl = getComputedStyle(this.host).direction === \"rtl\";\n if (!this.isConnected) {\n return html` <slot name=\"submenu\" hidden></slot> `;\n }\n return html`\n <sl-popup\n ${ref(this.popupRef)}\n placement=${isRtl ? \"left-start\" : \"right-start\"}\n anchor=\"anchor\"\n flip\n flip-fallback-strategy=\"best-fit\"\n skidding=\"${this.skidding}\"\n strategy=\"fixed\"\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n <slot name=\"submenu\"></slot>\n </sl-popup>\n `;\n }\n};\n\nexport {\n SubmenuController\n};\n","// src/components/spinner/spinner.styles.ts\nimport { css } from \"lit\";\nvar spinner_styles_default = css`\n :host {\n --track-width: 2px;\n --track-color: rgb(128 128 128 / 25%);\n --indicator-color: var(--sl-color-primary-600);\n --speed: 2s;\n\n display: inline-flex;\n width: 1em;\n height: 1em;\n flex: none;\n }\n\n .spinner {\n flex: 1 1 auto;\n height: 100%;\n width: 100%;\n }\n\n .spinner__track,\n .spinner__indicator {\n fill: none;\n stroke-width: var(--track-width);\n r: calc(0.5em - var(--track-width) / 2);\n cx: 0.5em;\n cy: 0.5em;\n transform-origin: 50% 50%;\n }\n\n .spinner__track {\n stroke: var(--track-color);\n transform-origin: 0% 0%;\n }\n\n .spinner__indicator {\n stroke: var(--indicator-color);\n stroke-linecap: round;\n stroke-dasharray: 150% 75%;\n animation: spin var(--speed) linear infinite;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n stroke-dasharray: 0.05em, 3em;\n }\n\n 50% {\n transform: rotate(450deg);\n stroke-dasharray: 1.375em, 1.375em;\n }\n\n 100% {\n transform: rotate(1080deg);\n stroke-dasharray: 0.05em, 3em;\n }\n }\n`;\n\nexport {\n spinner_styles_default\n};\n","import {\n spinner_styles_default\n} from \"./chunk.7DUCI5S4.js\";\nimport {\n LocalizeController\n} from \"./chunk.6CTB5ZDJ.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\n\n// src/components/spinner/spinner.component.ts\nimport { html } from \"lit\";\nvar SlSpinner = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n }\n render() {\n return html`\n <svg part=\"base\" class=\"spinner\" role=\"progressbar\" aria-label=${this.localize.term(\"loading\")}>\n <circle class=\"spinner__track\"></circle>\n <circle class=\"spinner__indicator\"></circle>\n </svg>\n `;\n }\n};\nSlSpinner.styles = [component_styles_default, spinner_styles_default];\n\nexport {\n SlSpinner\n};\n","// src/internal/slot.ts\nvar HasSlotController = class {\n constructor(host, ...slotNames) {\n this.slotNames = [];\n this.handleSlotChange = (event) => {\n const slot = event.target;\n if (this.slotNames.includes(\"[default]\") && !slot.name || slot.name && this.slotNames.includes(slot.name)) {\n this.host.requestUpdate();\n }\n };\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n }\n hasDefaultSlot() {\n return [...this.host.childNodes].some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== \"\") {\n return true;\n }\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node;\n const tagName = el.tagName.toLowerCase();\n if (tagName === \"sl-visually-hidden\") {\n return false;\n }\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n return false;\n });\n }\n hasNamedSlot(name) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n test(slotName) {\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n hostConnected() {\n this.host.shadowRoot.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n hostDisconnected() {\n this.host.shadowRoot.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n};\nfunction getTextContent(slot) {\n if (!slot) {\n return \"\";\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = \"\";\n [...nodes].forEach((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n return text;\n}\n\nexport {\n HasSlotController,\n getTextContent\n};\n","// src/utilities/base-path.ts\nvar basePath = \"\";\nfunction setBasePath(path) {\n basePath = path;\n}\nfunction getBasePath(subpath = \"\") {\n if (!basePath) {\n const scripts = [...document.getElementsByTagName(\"script\")];\n const configScript = scripts.find((script) => script.hasAttribute(\"data-shoelace\"));\n if (configScript) {\n setBasePath(configScript.getAttribute(\"data-shoelace\"));\n } else {\n const fallbackScript = scripts.find((s) => {\n return /shoelace(\\.min)?\\.js($|\\?)/.test(s.src) || /shoelace-autoloader(\\.min)?\\.js($|\\?)/.test(s.src);\n });\n let path = \"\";\n if (fallbackScript) {\n path = fallbackScript.getAttribute(\"src\");\n }\n setBasePath(path.split(\"/\").slice(0, -1).join(\"/\"));\n }\n }\n return basePath.replace(/\\/$/, \"\") + (subpath ? `/${subpath.replace(/^\\//, \"\")}` : ``);\n}\n\nexport {\n setBasePath,\n getBasePath\n};\n","import {\n getBasePath\n} from \"./chunk.3Y6SB6QS.js\";\n\n// src/components/icon/library.default.ts\nvar library = {\n name: \"default\",\n resolver: (name) => getBasePath(`assets/icons/${name}.svg`)\n};\nvar library_default_default = library;\n\nexport {\n library_default_default\n};\n","// src/components/icon/library.system.ts\nvar icons = {\n caret: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <polyline points=\"6 9 12 15 18 9\"></polyline>\n </svg>\n `,\n check: `\n <svg part=\"checked-icon\" class=\"checkbox__icon\" viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\">\n <g transform=\"translate(3.428571, 3.428571)\">\n <path d=\"M0,5.71428571 L3.42857143,9.14285714\"></path>\n <path d=\"M9.14285714,0 L3.42857143,9.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n `,\n \"chevron-down\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-chevron-down\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"/>\n </svg>\n `,\n \"chevron-left\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-chevron-left\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\n </svg>\n `,\n \"chevron-right\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-chevron-right\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"/>\n </svg>\n `,\n copy: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-copy\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V2Zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H6ZM2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1H2Z\"/>\n </svg>\n `,\n eye: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-eye\" viewBox=\"0 0 16 16\">\n <path d=\"M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z\"/>\n <path d=\"M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z\"/>\n </svg>\n `,\n \"eye-slash\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-eye-slash\" viewBox=\"0 0 16 16\">\n <path d=\"M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z\"/>\n <path d=\"M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829z\"/>\n <path d=\"M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708z\"/>\n </svg>\n `,\n eyedropper: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-eyedropper\" viewBox=\"0 0 16 16\">\n <path d=\"M13.354.646a1.207 1.207 0 0 0-1.708 0L8.5 3.793l-.646-.647a.5.5 0 1 0-.708.708L8.293 5l-7.147 7.146A.5.5 0 0 0 1 12.5v1.793l-.854.853a.5.5 0 1 0 .708.707L1.707 15H3.5a.5.5 0 0 0 .354-.146L11 7.707l1.146 1.147a.5.5 0 0 0 .708-.708l-.647-.646 3.147-3.146a1.207 1.207 0 0 0 0-1.708l-2-2zM2 12.707l7-7L10.293 7l-7 7H2v-1.293z\"></path>\n </svg>\n `,\n \"grip-vertical\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-grip-vertical\" viewBox=\"0 0 16 16\">\n <path d=\"M7 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"></path>\n </svg>\n `,\n indeterminate: `\n <svg part=\"indeterminate-icon\" class=\"checkbox__icon\" viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(2.285714, 6.857143)\">\n <path d=\"M10.2857143,1.14285714 L1.14285714,1.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n `,\n \"person-fill\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-person-fill\" viewBox=\"0 0 16 16\">\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"/>\n </svg>\n `,\n \"play-fill\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-play-fill\" viewBox=\"0 0 16 16\">\n <path d=\"m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z\"></path>\n </svg>\n `,\n \"pause-fill\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-pause-fill\" viewBox=\"0 0 16 16\">\n <path d=\"M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z\"></path>\n </svg>\n `,\n radio: `\n <svg part=\"checked-icon\" class=\"radio__icon\" viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <g fill=\"currentColor\">\n <circle cx=\"8\" cy=\"8\" r=\"3.42857143\"></circle>\n </g>\n </g>\n </svg>\n `,\n \"star-fill\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-star-fill\" viewBox=\"0 0 16 16\">\n <path d=\"M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z\"/>\n </svg>\n `,\n \"x-lg\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-x-lg\" viewBox=\"0 0 16 16\">\n <path d=\"M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z\"/>\n </svg>\n `,\n \"x-circle-fill\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-x-circle-fill\" viewBox=\"0 0 16 16\">\n <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z\"></path>\n </svg>\n `\n};\nvar systemLibrary = {\n name: \"system\",\n resolver: (name) => {\n if (name in icons) {\n return `data:image/svg+xml,${encodeURIComponent(icons[name])}`;\n }\n return \"\";\n }\n};\nvar library_system_default = systemLibrary;\n\nexport {\n library_system_default\n};\n","import {\n library_default_default\n} from \"./chunk.P7ZG6EMR.js\";\nimport {\n library_system_default\n} from \"./chunk.3TFKS637.js\";\n\n// src/components/icon/library.ts\nvar registry = [library_default_default, library_system_default];\nvar watchedIcons = [];\nfunction watchIcon(icon) {\n watchedIcons.push(icon);\n}\nfunction unwatchIcon(icon) {\n watchedIcons = watchedIcons.filter((el) => el !== icon);\n}\nfunction getIconLibrary(name) {\n return registry.find((lib) => lib.name === name);\n}\nfunction registerIconLibrary(name, options) {\n unregisterIconLibrary(name);\n registry.push({\n name,\n resolver: options.resolver,\n mutator: options.mutator,\n spriteSheet: options.spriteSheet\n });\n watchedIcons.forEach((icon) => {\n if (icon.library === name) {\n icon.setIcon();\n }\n });\n}\nfunction unregisterIconLibrary(name) {\n registry = registry.filter((lib) => lib.name !== name);\n}\n\nexport {\n watchIcon,\n unwatchIcon,\n getIconLibrary,\n registerIconLibrary,\n unregisterIconLibrary\n};\n","// src/components/icon/icon.styles.ts\nimport { css } from \"lit\";\nvar icon_styles_default = css`\n :host {\n display: inline-block;\n width: 1em;\n height: 1em;\n box-sizing: content-box !important;\n }\n\n svg {\n display: block;\n height: 100%;\n width: 100%;\n }\n`;\n\nexport {\n icon_styles_default\n};\n","import {\n getIconLibrary,\n unwatchIcon,\n watchIcon\n} from \"./chunk.ZL53POKZ.js\";\nimport {\n icon_styles_default\n} from \"./chunk.QLXRCYS4.js\";\nimport {\n watch\n} from \"./chunk.GMYPQTFK.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/icon/icon.component.ts\nimport { html } from \"lit\";\nimport { isTemplateResult } from \"lit/directive-helpers.js\";\nimport { property, state } from \"lit/decorators.js\";\nvar CACHEABLE_ERROR = Symbol();\nvar RETRYABLE_ERROR = Symbol();\nvar parser;\nvar iconCache = /* @__PURE__ */ new Map();\nvar SlIcon = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.initialRender = false;\n this.svg = null;\n this.label = \"\";\n this.library = \"default\";\n }\n /** Given a URL, this function returns the resulting SVG element or an appropriate error symbol. */\n async resolveIcon(url, library) {\n var _a;\n let fileData;\n if (library == null ? void 0 : library.spriteSheet) {\n this.svg = html`<svg part=\"svg\">\n <use part=\"use\" href=\"${url}\"></use>\n </svg>`;\n return this.svg;\n }\n try {\n fileData = await fetch(url, { mode: \"cors\" });\n if (!fileData.ok) return fileData.status === 410 ? CACHEABLE_ERROR : RETRYABLE_ERROR;\n } catch (e) {\n return RETRYABLE_ERROR;\n }\n try {\n const div = document.createElement(\"div\");\n div.innerHTML = await fileData.text();\n const svg = div.firstElementChild;\n if (((_a = svg == null ? void 0 : svg.tagName) == null ? void 0 : _a.toLowerCase()) !== \"svg\") return CACHEABLE_ERROR;\n if (!parser) parser = new DOMParser();\n const doc = parser.parseFromString(svg.outerHTML, \"text/html\");\n const svgEl = doc.body.querySelector(\"svg\");\n if (!svgEl) return CACHEABLE_ERROR;\n svgEl.part.add(\"svg\");\n return document.adoptNode(svgEl);\n } catch (e) {\n return CACHEABLE_ERROR;\n }\n }\n connectedCallback() {\n super.connectedCallback();\n watchIcon(this);\n }\n firstUpdated() {\n this.initialRender = true;\n this.setIcon();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n unwatchIcon(this);\n }\n getIconSource() {\n const library = getIconLibrary(this.library);\n if (this.name && library) {\n return {\n url: library.resolver(this.name),\n fromLibrary: true\n };\n }\n return {\n url: this.src,\n fromLibrary: false\n };\n }\n handleLabelChange() {\n const hasLabel = typeof this.label === \"string\" && this.label.length > 0;\n if (hasLabel) {\n this.setAttribute(\"role\", \"img\");\n this.setAttribute(\"aria-label\", this.label);\n this.removeAttribute(\"aria-hidden\");\n } else {\n this.removeAttribute(\"role\");\n this.removeAttribute(\"aria-label\");\n this.setAttribute(\"aria-hidden\", \"true\");\n }\n }\n async setIcon() {\n var _a;\n const { url, fromLibrary } = this.getIconSource();\n const library = fromLibrary ? getIconLibrary(this.library) : void 0;\n if (!url) {\n this.svg = null;\n return;\n }\n let iconResolver = iconCache.get(url);\n if (!iconResolver) {\n iconResolver = this.resolveIcon(url, library);\n iconCache.set(url, iconResolver);\n }\n if (!this.initialRender) {\n return;\n }\n const svg = await iconResolver;\n if (svg === RETRYABLE_ERROR) {\n iconCache.delete(url);\n }\n if (url !== this.getIconSource().url) {\n return;\n }\n if (isTemplateResult(svg)) {\n this.svg = svg;\n if (library) {\n await this.updateComplete;\n const shadowSVG = this.shadowRoot.querySelector(\"[part='svg']\");\n if (typeof library.mutator === \"function\" && shadowSVG) {\n library.mutator(shadowSVG);\n }\n }\n return;\n }\n switch (svg) {\n case RETRYABLE_ERROR:\n case CACHEABLE_ERROR:\n this.svg = null;\n this.emit(\"sl-error\");\n break;\n default:\n this.svg = svg.cloneNode(true);\n (_a = library == null ? void 0 : library.mutator) == null ? void 0 : _a.call(library, this.svg);\n this.emit(\"sl-load\");\n }\n }\n render() {\n return this.svg;\n }\n};\nSlIcon.styles = [component_styles_default, icon_styles_default];\n__decorateClass([\n state()\n], SlIcon.prototype, \"svg\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlIcon.prototype, \"name\", 2);\n__decorateClass([\n property()\n], SlIcon.prototype, \"src\", 2);\n__decorateClass([\n property()\n], SlIcon.prototype, \"label\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlIcon.prototype, \"library\", 2);\n__decorateClass([\n watch(\"label\")\n], SlIcon.prototype, \"handleLabelChange\", 1);\n__decorateClass([\n watch([\"name\", \"src\", \"library\"])\n], SlIcon.prototype, \"setIcon\", 1);\n\nexport {\n SlIcon\n};\n","import {\n menu_item_styles_default\n} from \"./chunk.KZJNDGFO.js\";\nimport {\n SubmenuController\n} from \"./chunk.ZLIGP6HZ.js\";\nimport {\n SlPopup\n} from \"./chunk.5JY5FUCG.js\";\nimport {\n SlSpinner\n} from \"./chunk.36O46B5H.js\";\nimport {\n HasSlotController,\n getTextContent\n} from \"./chunk.NYIIDP5N.js\";\nimport {\n LocalizeController\n} from \"./chunk.6CTB5ZDJ.js\";\nimport {\n SlIcon\n} from \"./chunk.YHLNUJ7P.js\";\nimport {\n watch\n} from \"./chunk.GMYPQTFK.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/menu-item/menu-item.component.ts\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nvar SlMenuItem = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n this.type = \"normal\";\n this.checked = false;\n this.value = \"\";\n this.loading = false;\n this.disabled = false;\n this.hasSlotController = new HasSlotController(this, \"submenu\");\n this.submenuController = new SubmenuController(this, this.hasSlotController);\n this.handleHostClick = (event) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n };\n this.handleMouseOver = (event) => {\n this.focus();\n event.stopPropagation();\n };\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"click\", this.handleHostClick);\n this.addEventListener(\"mouseover\", this.handleMouseOver);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"click\", this.handleHostClick);\n this.removeEventListener(\"mouseover\", this.handleMouseOver);\n }\n handleDefaultSlotChange() {\n const textLabel = this.getTextLabel();\n if (typeof this.cachedTextLabel === \"undefined\") {\n this.cachedTextLabel = textLabel;\n return;\n }\n if (textLabel !== this.cachedTextLabel) {\n this.cachedTextLabel = textLabel;\n this.emit(\"slotchange\", { bubbles: true, composed: false, cancelable: false });\n }\n }\n handleCheckedChange() {\n if (this.checked && this.type !== \"checkbox\") {\n this.checked = false;\n console.error('The checked attribute can only be used on menu items with type=\"checkbox\"', this);\n return;\n }\n if (this.type === \"checkbox\") {\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n } else {\n this.removeAttribute(\"aria-checked\");\n }\n }\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n handleTypeChange() {\n if (this.type === \"checkbox\") {\n this.setAttribute(\"role\", \"menuitemcheckbox\");\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n } else {\n this.setAttribute(\"role\", \"menuitem\");\n this.removeAttribute(\"aria-checked\");\n }\n }\n /** Returns a text label based on the contents of the menu item's default slot. */\n getTextLabel() {\n return getTextContent(this.defaultSlot);\n }\n isSubmenu() {\n return this.hasSlotController.test(\"submenu\");\n }\n render() {\n const isRtl = this.localize.dir() === \"rtl\";\n const isSubmenuExpanded = this.submenuController.isExpanded();\n return html`\n <div\n id=\"anchor\"\n part=\"base\"\n class=${classMap({\n \"menu-item\": true,\n \"menu-item--rtl\": isRtl,\n \"menu-item--checked\": this.checked,\n \"menu-item--disabled\": this.disabled,\n \"menu-item--loading\": this.loading,\n \"menu-item--has-submenu\": this.isSubmenu(),\n \"menu-item--submenu-expanded\": isSubmenuExpanded\n })}\n ?aria-haspopup=\"${this.isSubmenu()}\"\n ?aria-expanded=\"${isSubmenuExpanded ? true : false}\"\n >\n <span part=\"checked-icon\" class=\"menu-item__check\">\n <sl-icon name=\"check\" library=\"system\" aria-hidden=\"true\"></sl-icon>\n </span>\n\n <slot name=\"prefix\" part=\"prefix\" class=\"menu-item__prefix\"></slot>\n\n <slot part=\"label\" class=\"menu-item__label\" @slotchange=${this.handleDefaultSlotChange}></slot>\n\n <slot name=\"suffix\" part=\"suffix\" class=\"menu-item__suffix\"></slot>\n\n <span part=\"submenu-icon\" class=\"menu-item__chevron\">\n <sl-icon name=${isRtl ? \"chevron-left\" : \"chevron-right\"} library=\"system\" aria-hidden=\"true\"></sl-icon>\n </span>\n\n ${this.submenuController.renderSubmenu()}\n ${this.loading ? html` <sl-spinner part=\"spinner\" exportparts=\"base:spinner__base\"></sl-spinner> ` : \"\"}\n </div>\n `;\n }\n};\nSlMenuItem.styles = [component_styles_default, menu_item_styles_default];\nSlMenuItem.dependencies = {\n \"sl-icon\": SlIcon,\n \"sl-popup\": SlPopup,\n \"sl-spinner\": SlSpinner\n};\n__decorateClass([\n query(\"slot:not([name])\")\n], SlMenuItem.prototype, \"defaultSlot\", 2);\n__decorateClass([\n query(\".menu-item\")\n], SlMenuItem.prototype, \"menuItem\", 2);\n__decorateClass([\n property()\n], SlMenuItem.prototype, \"type\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlMenuItem.prototype, \"checked\", 2);\n__decorateClass([\n property()\n], SlMenuItem.prototype, \"value\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlMenuItem.prototype, \"loading\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlMenuItem.prototype, \"disabled\", 2);\n__decorateClass([\n watch(\"checked\")\n], SlMenuItem.prototype, \"handleCheckedChange\", 1);\n__decorateClass([\n watch(\"disabled\")\n], SlMenuItem.prototype, \"handleDisabledChange\", 1);\n__decorateClass([\n watch(\"type\")\n], SlMenuItem.prototype, \"handleTypeChange\", 1);\n\nexport {\n SlMenuItem\n};\n","import {\n SlMenuItem\n} from \"./chunk.WGYPSPL3.js\";\n\n// src/components/menu-item/menu-item.ts\nvar menu_item_default = SlMenuItem;\nSlMenuItem.define(\"sl-menu-item\");\n\nexport {\n menu_item_default\n};\n","button.main {\n display: flex;\n transition:\n width 200ms,\n background-color 500ms,\n color 500ms,\n border-color 500ms;\n max-width: var(--size-40);\n flex-direction: row;\n overflow: hidden;\n height: var(--pos-navigation-bar-height);\n width: var(--pos-navigation-bar-height);\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-md);\n color: var(--pos-subtle-text-color);\n border: var(--size-px) dashed var(--pos-subtle-text-color);\n background-color: var(--pos-background-color);\n\n p {\n padding: 0;\n margin: 0;\n display: none;\n white-space: nowrap;\n }\n\n &.success {\n color: var(--color-green-700);\n border-color: var(--color-green-700);\n border-style: solid;\n background-color: var(--color-green-100);\n }\n\n &:active {\n transform: scale(0.99);\n filter: brightness(90%);\n }\n &:focus {\n outline: var(--pos-input-focus-outline);\n }\n}\n\nsvg {\n display: inline-block;\n height: var(--size-6);\n flex-shrink: 0;\n flex-grow: 0;\n width: var(--size-6);\n}\n\nbutton.main:hover,\nsl-dropdown[open] button {\n &.success {\n background: var(--color-green-200);\n color: var(--color-green-700);\n }\n width: var(--size-full);\n height: var(--pos-navigation-bar-height);\n background: var(--pos-background-color);\n color: var(--pos-normal-text-color);\n\n p {\n display: inline-block;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Prop, State, Watch } from '@stencil/core';\nimport { LabelIndex, PodOS, Thing, WebIdProfile } from '@pod-os/core';\nimport { PodOsAware, PodOsEventEmitter, subscribePodOs } from '../events/PodOsAware';\nimport session from '../../store/session';\n\nimport './shoelace';\n\n@Component({\n tag: 'pos-make-findable',\n styleUrl: 'pos-make-findable.css',\n shadow: true,\n})\nexport class PosMakeFindable implements PodOsAware {\n @Prop() uri!: string;\n\n @State() os: PodOS;\n @State() thing: Thing;\n @State() indexes: LabelIndex[] = [];\n\n @Event({ eventName: 'pod-os:init' }) subscribePodOs: PodOsEventEmitter;\n\n @State() unsubscribeSessionChange: undefined | (() => void);\n\n @State() showOptions = false;\n @State() isIndexed = false;\n\n @Event({ eventName: 'pod-os:error' }) errorEmitter: EventEmitter;\n @Event({ eventName: 'pod-os:search:index-updated' }) indexUpdatedEmitter: EventEmitter;\n @Event({ eventName: 'pod-os:search:index-created' }) indexCreatedEmitter: EventEmitter;\n\n @Element() el: HTMLElement;\n\n componentWillLoad() {\n subscribePodOs(this);\n }\n\n disconnectedCallback() {\n this.unsubscribeSessionChange && this.unsubscribeSessionChange();\n }\n\n @Watch('uri')\n updateUri(uri: string) {\n this.thing = this.os.store.get(uri);\n this.isIndexed = this.checkIfIndexed(uri);\n }\n\n private checkIfIndexed(uri: string) {\n return this.indexes.some(it => it.contains(uri));\n }\n\n receivePodOs = async (os: PodOS) => {\n this.os = os;\n this.thing = this.os.store.get(this.uri);\n this.getLabelIndexes(session.state.profile);\n this.unsubscribeSessionChange = session.onChange('profile', profile => {\n this.getLabelIndexes(profile);\n });\n };\n\n private getLabelIndexes(profile: WebIdProfile) {\n if (profile) {\n this.indexes = profile.getPrivateLabelIndexes().map(it => this.os.store.get(it).assume(LabelIndex));\n this.showOptions = this.indexes.length > 1;\n this.isIndexed = this.checkIfIndexed(this.uri);\n }\n }\n\n private async onClick(e: MouseEvent) {\n e.preventDefault();\n if (this.indexes.length === 1) {\n const index = this.indexes[0];\n await this.addToLabelIndex(index);\n this.indexUpdatedEmitter.emit(index);\n } else if (this.indexes.length === 0) {\n const index = await this.createDefaultLabelIndex();\n await this.addToLabelIndex(index);\n this.indexCreatedEmitter.emit(index);\n }\n }\n\n private async addToLabelIndex(index: LabelIndex) {\n try {\n await this.os.addToLabelIndex(this.thing, index);\n this.isIndexed = true;\n } catch (e) {\n this.errorEmitter.emit(e);\n }\n }\n\n private async createDefaultLabelIndex(): Promise<LabelIndex> {\n try {\n return await this.os.createDefaultLabelIndex(session.state.profile);\n } catch (e) {\n this.errorEmitter.emit(e);\n }\n }\n\n render() {\n if (!session.state.isLoggedIn || !this.uri) {\n return null;\n }\n\n const label = 'Make this findable';\n const button = (\n <button\n type=\"button\"\n slot=\"trigger\"\n aria-label={label}\n class={{ main: true, success: this.isIndexed }}\n onClick={e => this.onClick(e)}\n title=\"\"\n >\n {this.isIndexed ? <IconSuccess /> : <IconMakeFindable />}\n <p>{label}</p>\n </button>\n );\n if (this.showOptions) {\n return (\n <Host>\n <sl-dropdown>\n {button}\n <sl-menu role=\"listbox\">\n {this.indexes.map((index: LabelIndex) => (\n <sl-menu-item role=\"option\" value={index} type=\"checkbox\" checked={index.contains(this.uri)}>\n <pos-resource uri={index.uri} lazy={true}>\n <pos-label></pos-label>\n </pos-resource>\n </sl-menu-item>\n ))}\n </sl-menu>\n </sl-dropdown>\n </Host>\n );\n } else {\n return button;\n }\n }\n\n @Listen('sl-select')\n async onSelect(e: CustomEvent<{ item: { value: LabelIndex } }>) {\n const index = e.detail.item.value;\n e.preventDefault();\n await this.addToLabelIndex(index);\n this.indexUpdatedEmitter.emit(index);\n }\n}\n\nconst IconMakeFindable = () => (\n <svg\n role=\"presentation\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m5.231 13.481L15 17.25m-4.5-15H5.625c-.621 0-1.125.504-1.125 1.125v16.5c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Zm3.75 11.625a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z\"\n />\n </svg>\n);\n\nconst IconSuccess = () => (\n <svg\n role=\"presentation\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M10.125 2.25h-4.5c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125v-9M10.125 2.25h.375a9 9 0 0 1 9 9v.375M10.125 2.25A3.375 3.375 0 0 1 13.5 5.625v1.5c0 .621.504 1.125 1.125 1.125h1.5a3.375 3.375 0 0 1 3.375 3.375M9 15l2.25 2.25L15 12\"\n />\n </svg>\n);\n",":host {\n --pos-navigation-bar-height: var(--size-10);\n}\n\nsearch {\n position: relative;\n}\n\n.suggestions ol {\n border: 1px solid var(--pos-border-color);\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n\n.suggestions {\n width: 100%;\n overflow-y: auto;\n max-height: 90dvh;\n li {\n padding: 1rem;\n background-color: var(--pos-background-color);\n pos-rich-link {\n --background-color: inherit;\n }\n &[aria-selected='true'] {\n background-color: var(--pos-primary-color);\n &:hover {\n background-color: var(--pos-primary-color);\n }\n }\n &:hover {\n background-color: var(--pos-border-color);\n }\n }\n}\n\n.suggestions li.selected pos-rich-link {\n --label-color: white;\n --description-color: var(--pos-border-color);\n --uri-color: var(--pos-subtle-text-color);\n}\n\ndialog {\n position: absolute;\n margin-top: calc(-1 * var(--pos-navigation-bar-height));\n padding: 0;\n width: 100%;\n max-width: 100%;\n min-width: 100%;\n overflow: hidden;\n max-height: 100dvh;\n background-color: var(--pos-background-color);\n color: var(--pos-normal-text-color);\n border: var(--pos-border-color);\n border-radius: var(--radius-md);\n box-shadow: var(--shadow-md);\n form {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n align-items: center;\n input {\n display: flex;\n font-size: var(--scale-1);\n height: var(--pos-navigation-bar-height);\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\n padding-left: var(--size-2);\n width: 100%;\n border: none;\n outline: none;\n color: var(--pos-normal-text-color);\n background-color: var(--pos-input-background-color);\n box-sizing: border-box;\n }\n }\n}\n\ndialog[open] {\n display: flex;\n z-index: var(--layer-top);\n animation: slideIn 100ms ease-out;\n}\n\n@media (max-width: 640px) {\n search {\n position: unset;\n }\n dialog {\n margin-top: var(--size-1);\n top: 0;\n width: 95dvw;\n max-width: unset;\n min-width: unset;\n form {\n input {\n height: var(--size-12);\n font-size: var(--scale-fluid-3);\n }\n }\n }\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n","import { PodOS, SearchIndex, Thing } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Listen, Prop, State, Watch } from '@stencil/core';\nimport { debounceTime, Subject } from 'rxjs';\n\nimport session from '../../store/session';\nimport { PodOsAware, PodOsEventEmitter, subscribePodOs } from '../events/PodOsAware';\n\ninterface NavigateEvent {\n detail: Thing | null;\n}\n\n@Component({\n tag: 'pos-navigation',\n shadow: true,\n styleUrl: 'pos-navigation.css',\n})\nexport class PosNavigation implements PodOsAware {\n @State() private os: PodOS;\n private dialogRef?: HTMLDialogElement;\n\n private inputRef?: HTMLInputElement;\n\n @Event({ eventName: 'pod-os:init' }) subscribePodOs: PodOsEventEmitter;\n\n /**\n * Initial value of the navigation bar\n */\n @Prop() uri: string = '';\n\n /**\n * Current value of the input field\n */\n @State() private inputValue: string = this.uri;\n\n @Event({ eventName: 'pod-os:link' }) linkEmitter: EventEmitter;\n\n @State() searchIndex?: SearchIndex = undefined;\n\n @State() private suggestions = [];\n\n @State() private selectedIndex = -1;\n\n @State() private resource: Thing = null;\n\n private readonly changeEvents = new Subject<void>();\n private debouncedSearch = null;\n\n @Watch('uri')\n @Watch('os')\n updateResource(): void {\n try {\n this.resource = this.uri ? this.os?.store.get(this.uri) : null;\n } catch {\n this.resource = null;\n }\n }\n\n componentWillLoad() {\n subscribePodOs(this);\n this.updateResource();\n session.onChange('isLoggedIn', async isLoggedIn => {\n if (isLoggedIn) {\n await this.buildSearchIndex();\n } else {\n this.clearSearchIndex();\n }\n });\n this.debouncedSearch = this.changeEvents.pipe(debounceTime(300)).subscribe(() => this.search());\n }\n\n disconnectedCallback() {\n this.debouncedSearch?.unsubscribe();\n }\n\n @Listen('pod-os:search:index-created')\n private async buildSearchIndex() {\n this.searchIndex = await this.os.buildSearchIndex(session.state.profile);\n }\n\n @Listen('pod-os:search:index-updated')\n rebuildSearchIndex() {\n this.searchIndex.rebuild();\n }\n\n @Listen('pod-os:navigate')\n openNavigationDialog(e: NavigateEvent) {\n this.resource = e.detail;\n if (e.detail) {\n this.inputValue = e.detail.uri;\n this.search();\n }\n this.inputRef?.select();\n this.dialogRef?.show();\n }\n\n private clearSearchIndex() {\n this.searchIndex?.clear();\n }\n\n receivePodOs = async (os: PodOS) => {\n this.os = os;\n };\n\n private onChange(event) {\n this.inputValue = event.target.value;\n this.changeEvents.next();\n }\n\n @Listen('click', { target: 'document' })\n closeDialog() {\n this.dialogRef?.close();\n this.selectedIndex = -1;\n }\n\n @Listen('pod-os:link')\n clearSuggestions() {\n this.suggestions = [];\n this.dialogRef?.close();\n this.selectedIndex = -1;\n }\n\n @Listen('click')\n onClickSelf(event) {\n event.stopPropagation();\n }\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Escape') {\n this.closeDialog();\n } else if (ev.key === 'ArrowDown') {\n ev.preventDefault();\n this.selectedIndex = Math.min(this.selectedIndex + 1, this.suggestions.length - 1);\n } else if (ev.key === 'ArrowUp') {\n ev.preventDefault();\n this.selectedIndex = Math.max(this.selectedIndex - 1, 0);\n }\n }\n\n private search() {\n if (this.searchIndex) {\n this.suggestions = this.inputValue ? this.searchIndex.search(this.inputValue) : [];\n }\n }\n\n private onSubmit() {\n if (this.suggestions && this.selectedIndex > -1) {\n this.linkEmitter.emit(this.suggestions[this.selectedIndex].ref);\n } else {\n this.linkEmitter.emit(this.inputValue);\n }\n }\n\n render() {\n return (\n <nav>\n <search>\n <pos-navigation-bar\n searchIndexReady={this.searchIndex !== undefined}\n current={this.resource}\n ></pos-navigation-bar>\n <dialog ref={el => (this.dialogRef = el)}>\n <form method=\"dialog\" onSubmit={() => this.onSubmit()}>\n <input\n ref={el => (this.inputRef = el)}\n enterkeyhint=\"search\"\n aria-label=\"Search or enter URI\"\n placeholder=\"Search or enter URI\"\n value={this.uri}\n onChange={e => this.onChange(e)}\n onInput={e => this.onChange(e)}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-expanded={this.suggestions.length > 0}\n aria-controls=\"suggestions-list\"\n aria-activedescendant={this.selectedIndex >= 0 ? `option-${this.selectedIndex}` : null}\n />\n {this.suggestions.length > 0 ? (\n <div class=\"suggestions\">\n <ol id=\"suggestions-list\" role=\"listbox\" aria-label=\"Search results\">\n {this.suggestions.map((it, index) => (\n <li\n id={`option-${index}`}\n role=\"option\"\n aria-selected={index === this.selectedIndex ? 'true' : 'false'}\n >\n <pos-rich-link uri={it.ref}></pos-rich-link>\n </li>\n ))}\n </ol>\n </div>\n ) : null}\n </form>\n </dialog>\n </search>\n </nav>\n );\n }\n}\n","section.current {\n display: flex;\n height: var(--pos-navigation-bar-height);\n flex-grow: 1;\n gap: 0;\n background-color: var(--pos-input-background-color);\n border-radius: var(--radius-md);\n width: 100%;\n &:focus-within {\n outline: var(--pos-input-focus-outline);\n }\n}\n\nsection.current button {\n cursor: pointer;\n font-size: var(--scale-1);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n background: none;\n color: var(--pos-normal-text-color);\n outline: none;\n border: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n &:focus {\n text-decoration: underline;\n }\n :first-child {\n flex-grow: 1;\n }\n svg {\n width: var(--size-6);\n color: var(--pos-subtle-text-color);\n }\n}\n","import { Component, Event, EventEmitter, h, Listen, Prop } from '@stencil/core';\nimport { Thing } from '@pod-os/core';\n\n@Component({\n tag: 'pos-navigation-bar',\n shadow: true,\n styleUrl: 'pos-navigation-bar.css',\n})\nexport class PosNavigationBar {\n @Prop() current?: Thing;\n @Prop() searchIndexReady: boolean;\n\n @Event({ eventName: 'pod-os:navigate' }) navigate: EventEmitter;\n\n private onClick() {\n this.navigate.emit(this.current);\n }\n\n @Listen('keydown', { target: 'document' })\n activate(e: KeyboardEvent) {\n if ((e.ctrlKey || e.metaKey) && e.key === 'k') {\n e.preventDefault();\n this.navigate.emit(this.current);\n }\n }\n\n render() {\n const ariaLabel = this.current ? `${this.current.label()} (Click to search or enter URI)` : 'Search or enter URI';\n\n return (\n <section class=\"current\">\n {this.current && this.searchIndexReady && <pos-make-findable uri={this.current.uri}></pos-make-findable>}\n <button aria-label={ariaLabel} onClick={() => this.onClick()}>\n <div>{this.current ? this.current.label() : 'Search or enter URI'}</div>\n {this.icon()}\n </button>\n </section>\n );\n }\n\n private icon() {\n return (\n <svg\n aria-hidden=\"true\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z\"\n />\n </svg>\n );\n }\n}\n",":host {\n display: block;\n}\n\nform {\n display: grid;\n grid-template-columns: var(--size-16) 1fr;\n grid-gap: var(--scale-0);\n}\n\nlabel {\n grid-column: 1 / 2;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n\ninput,\npos-select-term,\nbutton {\n grid-column: 2 / 3;\n}\n\ninput,\npos-select-term::part(input) {\n outline: var(--pos-input-outline);\n padding: var(--scale-000);\n border: none;\n border-radius: var(--radius-xs);\n width: var(--size-full);\n box-sizing: border-box;\n background: var(--pos-input-background-color);\n color: var(--pos-normal-text-color);\n}\n\ninput:focus-within,\npos-select-term::part(input):focus-within {\n outline: var(--pos-input-focus-outline);\n}\n\n#new-uri {\n grid-column: 1/3;\n cursor: default;\n word-break: break-all;\n color: var(--pos-normal-text-color);\n font-weight: var(--weight-light);\n background: var(--pos-disabled-color);\n padding: var(--scale-000);\n border-radius: var(--radius-xs);\n}\n\ninput#create {\n outline: none;\n box-shadow: var(--shadow-sm);\n cursor: pointer;\n color: var(--pos-primary-text-color);\n background-color: var(--pos-primary-color);\n}\n\ninput#create:disabled {\n cursor: default;\n color: var(--pos-disabled-text-color);\n background-color: var(--pos-disabled-color);\n box-shadow: none;\n}\n\ninput#create:hover:not(:disabled),\ninput#create:focus {\n filter: brightness(110%);\n box-shadow: var(--shadow-md);\n}\n","import { PodOS } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { PodOsAware, PodOsEventEmitter, subscribePodOs } from '../events/PodOsAware';\n\n@Component({\n tag: 'pos-new-thing-form',\n styleUrl: 'pos-new-thing-form.css',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PosNewThingForm implements PodOsAware {\n @Prop() referenceUri!: string;\n @State() os: PodOS;\n\n @State() newUri: string;\n @State() name: string;\n @State() selectedTypeUri: string;\n\n @State() canSubmit: boolean = false;\n\n @Event({ eventName: 'pod-os:link' }) linkEmitter: EventEmitter;\n @Event({ eventName: 'pod-os:error' }) errorEmitter: EventEmitter;\n\n @Watch('name')\n @Watch('selectedTypeUri')\n validate() {\n this.canSubmit = Boolean(this.name && this.selectedTypeUri);\n }\n\n componentWillLoad() {\n subscribePodOs(this);\n }\n receivePodOs = async (os: PodOS) => {\n this.os = os;\n };\n\n @Event({ eventName: 'pod-os:init' }) subscribePodOs: PodOsEventEmitter;\n\n render() {\n return (\n <form method=\"dialog\" onSubmit={e => this.handleSubmit(e)}>\n <label htmlFor=\"type\">Type</label>\n <pos-select-term\n id=\"type\"\n placeholder=\"\"\n value={this.selectedTypeUri}\n onPod-os:term-selected={e => this.onTermSelected(e)}\n />\n <label htmlFor=\"name\">Name</label>\n <input id=\"name\" type=\"text\" value={this.name} onInput={e => this.handleChange(e)} />\n {this.newUri ? (\n <div id=\"new-uri\" title=\"This will be the URI of the new thing\">\n {this.newUri}\n </div>\n ) : null}\n <input id=\"create\" type=\"submit\" value=\"Create\" disabled={!this.canSubmit} />\n </form>\n );\n }\n\n handleChange(event) {\n this.name = event.target.value;\n this.newUri = this.os.proposeUriForNewThing(this.referenceUri, this.name);\n }\n\n onTermSelected(event) {\n this.selectedTypeUri = event.detail.uri;\n }\n\n async handleSubmit(event) {\n try {\n await this.os.addNewThing(this.newUri, this.name, this.selectedTypeUri);\n this.linkEmitter.emit(this.newUri);\n this.reset();\n } catch (error) {\n event.preventDefault();\n this.errorEmitter.emit(error);\n }\n }\n\n private reset() {\n this.name = '';\n this.newUri = '';\n this.selectedTypeUri = '';\n }\n}\n",":host {\n /**\n * @prop --width: Width of the picture\n * @prop --height: Height of the picture\n * @prop --border-radius: Border radius of the picture\n * @prop --object-fit: CSS object-fit of the picture\n */\n --width: 300px;\n --height: 300px;\n --border-radius: var(--border-radius, 0);\n --object-fit: var(--object-fit, cover);\n}\n","import { Component, Event, EventEmitter, State, h, Prop } from '@stencil/core';\nimport { Thing } from '@pod-os/core';\nimport { ResourceAware, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-picture',\n shadow: true,\n styleUrl: 'pos-picture.css',\n})\nexport class PosPicture implements ResourceAware {\n /**\n * Use a blurred version of the image as its own background, if the image is scaled down to fit into the container.\n */\n @Prop() blurredBackground: boolean = false;\n\n @State() resource: Thing;\n\n @Event({ eventName: 'pod-os:resource' }) subscribeResource: EventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.resource = resource;\n };\n\n render() {\n const pic = this.resource ? this.resource.picture() : null;\n if (!pic) return <slot></slot>;\n return <pos-image blurredBackground={this.blurredBackground} src={pic.url} alt={this.resource.label()}></pos-image>;\n }\n}\n","details.error {\n margin: var(--size-2);\n background-color: var(--pos-error-background-color);\n border: var(--size-px) solid var(--pos-error-border-color);\n padding: var(--size-2);\n border-radius: var(--radius-md);\n\n a {\n color: var(--pos-normal-text-color);\n }\n}\n","import { PodOS, Thing } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport session from '../../store/session';\nimport { PodOsAware, PodOsEventEmitter, subscribePodOs } from '../events/PodOsAware';\nimport { ResourceReceiver } from '../events/ResourceAware';\n\ninterface SubscribeResourceEvent extends CustomEvent {\n detail: ResourceReceiver;\n}\n\n@Component({\n tag: 'pos-resource',\n shadow: true,\n styleUrl: 'pos-resource.css',\n})\nexport class PosResource implements PodOsAware {\n @State() os: PodOS;\n\n @State() resource: Thing;\n @State() consumers: SubscribeResourceEvent[] = [];\n\n @Prop() uri: string;\n\n @Prop() lazy: boolean = false;\n\n @Event({ eventName: 'pod-os:init' }) subscribePodOs: PodOsEventEmitter;\n\n /**\n * Indicates that the resource given in `uri` property has been loaded.\n */\n @Event({ eventName: 'pod-os:resource-loaded' }) resourceLoadedEmitter: EventEmitter;\n\n @State()\n private error: Error;\n\n @State()\n private loading: boolean = true;\n\n componentWillLoad() {\n session.onChange('isLoggedIn', () => this.loadResource());\n subscribePodOs(this);\n }\n\n receivePodOs = async (os: PodOS) => {\n this.os = os;\n };\n\n @Listen('pod-os:resource')\n async provideResource(event: SubscribeResourceEvent) {\n event.stopPropagation();\n if (this.resource) {\n event.detail(this.resource);\n }\n this.consumers.push(event);\n }\n\n @Watch('os')\n @Watch('uri')\n async loadResource() {\n await this.getResource(!this.lazy);\n }\n\n @Method()\n async fetch() {\n await this.getResource(true);\n }\n\n private async getResource(fetch: boolean = false) {\n try {\n if (fetch) {\n this.loading = true;\n await this.os.fetch(this.uri);\n this.resourceLoadedEmitter.emit(this.uri);\n }\n this.resource = this.os.store.get(this.uri);\n this.error = null;\n this.consumers.forEach(consumer => {\n consumer.detail(this.resource);\n });\n } catch (err) {\n this.error = err;\n } finally {\n this.loading = false;\n }\n }\n\n render() {\n if (this.loading) {\n return <ion-progress-bar type=\"indeterminate\" />;\n }\n if (this.error) {\n return (\n <details class=\"error\">\n <summary title=\"Click to expand\">⚠ Sorry, something went wrong</summary>\n <p>\n Status:\n {\n // @ts-ignore\n this.error.status\n }\n </p>\n <p>{this.error.message}</p>\n <p>\n You can try to open the link outside PodOS: <a href={this.uri}>{this.uri}</a>\n </p>\n </details>\n );\n }\n return <slot />;\n }\n}\n",":host {\n --background-color: inherit;\n --label-color: var(--pos-normal-text-color);\n --description-color: var(--pos-normal-text-color);\n --uri-color: var(--pos-subtle-text-color);\n --font-family: var(--font-sans);\n}\n\np.content {\n background-color: var(--background-color);\n line-height: var(--line-xs);\n margin: 0;\n display: flex;\n flex-direction: column;\n align-items: baseline;\n gap: var(--size-1);\n\n .url {\n font-size: var(--scale-fluid-1);\n color: var(--pos-subtle-text-color);\n }\n}\n\na {\n color: var(--label-color);\n max-width: min(100%, var(--prose-lg));\n text-decoration: underline;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-decoration-thickness: var(--size-px);\n}\n\npos-label {\n color: var(--label-color);\n font-size: var(--scale-fluid-2);\n margin-bottom: var(--size-1);\n}\n\npos-description {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n font-weight: var(--weight-light);\n color: var(--description-color);\n font-size: var(--scale-fluid-2);\n}\n\n@media (min-width: 640px) {\n pos-label {\n font-size: var(--scale-fluid-0);\n }\n pos-description {\n font-size: var(--scale-fluid-1);\n }\n\n p.content {\n .url {\n font-size: var(--scale-fluid-000);\n }\n }\n}\n","import { Relation, Thing } from '@pod-os/core';\nimport { Component, Element, Event, EventEmitter, h, Prop, State } from '@stencil/core';\nimport { ResourceAware, ResourceEventEmitter, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-rich-link',\n shadow: true,\n styleUrl: 'pos-rich-link.css',\n})\nexport class PosRichLink implements ResourceAware {\n /**\n * Link will use this URI\n */\n @Prop() uri?: string;\n /**\n * Link will be obtained by following the predicate with this URI forward from a resource\n */\n @Prop() rel?: string;\n /**\n * Link will be obtained by following the predicate with this URI in reverse from a resource\n */\n @Prop() rev?: string;\n\n @Event({ eventName: 'pod-os:link' }) linkEmitter: EventEmitter;\n\n @Event({ eventName: 'pod-os:resource' })\n subscribeResource: ResourceEventEmitter;\n\n @Event({ eventName: 'pod-os:error' }) errorEmitter: EventEmitter;\n\n @State() link?: string;\n @State() followPredicate: boolean = false;\n @State() error: string = null;\n\n @Element() host: HTMLElement;\n\n @State()\n private showCustomContent: boolean = false;\n\n componentWillLoad() {\n this.showCustomContent = // custom content can either be given as child elements, or as just text, so we check for both:\n !!this.host.lastElementChild || // either has any child element\n this.host.textContent.trim() != ''; // or contains a non-empty text\n if (!this.uri) subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n const addLink = (links: Relation[], resource: Thing, predicate: string, direction: string) => {\n if (links.length == 0) {\n this.error = 'No matching link found';\n this.errorEmitter.emit(\n new Error(`pos-rich-link: No matching link found from ${resource.uri} ${direction}=${predicate}`),\n );\n } else if (links[0].uris.length > 1) {\n this.error = 'More than one matching link found';\n this.errorEmitter.emit(\n new Error(`pos-rich-link: More than one matching link found from ${resource.uri} ${direction}=${predicate}`),\n );\n } else {\n this.link = links[0].uris[0];\n this.followPredicate = true;\n }\n };\n\n if (this.rel) {\n addLink(resource.relations(this.rel), resource, this.rel, 'rel');\n } else if (this.rev) {\n addLink(resource.reverseRelations(this.rev), resource, this.rev, 'rev');\n } else {\n this.link = resource.uri;\n }\n };\n\n render() {\n const content = (uri: string) =>\n this.showCustomContent ? (\n <a\n href={uri}\n onClick={e => {\n e.preventDefault();\n this.linkEmitter.emit(uri);\n }}\n >\n <slot></slot>\n </a>\n ) : (\n <p class=\"content\">\n <a\n href={uri}\n onClick={e => {\n e.preventDefault();\n this.linkEmitter.emit(uri);\n }}\n >\n <pos-label />\n </a>\n <span class=\"url\">{new URL(uri).host}</span>\n <pos-description />\n </p>\n );\n\n if (this.error) {\n return this.error;\n } else if (this.followPredicate) {\n return (\n <pos-resource lazy={true} uri={this.link}>\n {content(this.link)}\n </pos-resource>\n );\n } else if (this.link) {\n return content(this.link);\n } else if (this.uri) {\n return (\n <pos-resource lazy={true} uri={this.uri}>\n {content(this.uri)}\n </pos-resource>\n );\n } else {\n return null;\n }\n }\n}\n","import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n let states = new Map(Object.entries(defaultState !== null && defaultState !== void 0 ? defaultState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n states = new Map(Object.entries(defaultState !== null && defaultState !== void 0 ? defaultState : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(defaultState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n const unReset = on('reset', () => cb(defaultState[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","import { Build } from '@stencil/core';\nimport { createStore } from '@stencil/store';\n\nlet defaultRouter;\nconst createRouter = (opts) => {\n var _a;\n const win = window;\n const url = new URL(win.location.href);\n const parseURL = (_a = opts === null || opts === void 0 ? void 0 : opts.parseURL) !== null && _a !== void 0 ? _a : DEFAULT_PARSE_URL;\n const { state, onChange, dispose } = createStore({\n url,\n activePath: parseURL(url)\n }, (newV, oldV, prop) => {\n if (prop === 'url') {\n return newV.href !== oldV.href;\n }\n return newV !== oldV;\n });\n const push = (href) => {\n history.pushState(null, null, href);\n const url = new URL(href, document.baseURI);\n state.url = url;\n state.activePath = parseURL(url);\n };\n const match = (routes) => {\n const { activePath } = state;\n for (let route of routes) {\n const params = matchPath(activePath, route.path);\n if (params) {\n if (route.to != null) {\n const to = (typeof route.to === 'string')\n ? route.to\n : route.to(activePath);\n push(to);\n return match(routes);\n }\n else {\n return { params, route };\n }\n }\n }\n return undefined;\n };\n const navigationChanged = () => {\n const url = new URL(win.location.href);\n state.url = url;\n state.activePath = parseURL(url);\n };\n const Switch = (_, childrenRoutes) => {\n const result = match(childrenRoutes);\n if (result) {\n if (typeof result.route.jsx === 'function') {\n return result.route.jsx(result.params);\n }\n else {\n return result.route.jsx;\n }\n }\n };\n const disposeRouter = () => {\n defaultRouter = undefined;\n win.removeEventListener('popstate', navigationChanged);\n dispose();\n };\n const router = defaultRouter = {\n Switch,\n get url() {\n return state.url;\n },\n get activePath() {\n return state.activePath;\n },\n push,\n onChange: onChange,\n dispose: disposeRouter,\n };\n // Initial update\n navigationChanged();\n // Listen URL changes\n win.addEventListener('popstate', navigationChanged);\n return router;\n};\nconst Route = (props, children) => {\n var _a;\n if ('to' in props) {\n return {\n path: props.path,\n to: props.to,\n };\n }\n if (Build.isDev && props.render && children.length > 0) {\n console.warn('Route: if `render` is provided, the component should not have any children');\n }\n return {\n path: props.path,\n id: props.id,\n jsx: (_a = props.render) !== null && _a !== void 0 ? _a : children,\n };\n};\nconst href = (href, router = defaultRouter) => {\n if (Build.isDev && !router) {\n throw new Error('Router must be defined in href');\n }\n return {\n href,\n onClick: (ev) => {\n if (ev.metaKey || ev.ctrlKey) {\n return;\n }\n if (ev.which == 2 || ev.button == 1) {\n return;\n }\n ev.preventDefault();\n router.push(href);\n },\n };\n};\nconst matchPath = (pathname, path) => {\n if (typeof path === 'string') {\n if (path === pathname) {\n return {};\n }\n }\n else if (typeof path === 'function') {\n const params = path(pathname);\n if (params) {\n return params === true\n ? {}\n : { ...params };\n }\n }\n else {\n const results = path.exec(pathname);\n if (results) {\n path.lastIndex = 0;\n return { ...results };\n }\n }\n return undefined;\n};\nconst DEFAULT_PARSE_URL = (url) => {\n return url.pathname.toLowerCase();\n};\nconst NotFound = () => ({});\n\n/**\n * TS adaption of https://github.com/pillarjs/path-to-regexp/blob/master/index.js\n */\n/**\n * Default configs.\n */\nconst DEFAULT_DELIMITER = '/';\nconst DEFAULT_DELIMITERS = './';\n/**\n * The main path matching regexp utility.\n */\nconst PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\"]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined]\n '(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?'\n].join('|'), 'g');\n/**\n * Parse a string for the raw tokens.\n */\nconst parse = (str, options) => {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = (options && options.delimiter) || DEFAULT_DELIMITER;\n var delimiters = (options && options.delimiters) || DEFAULT_DELIMITERS;\n var pathEscaped = false;\n var res;\n while ((res = PATH_REGEXP.exec(str)) !== null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n pathEscaped = true;\n continue;\n }\n var prev = '';\n var next = str[index];\n var name = res[2];\n var capture = res[3];\n var group = res[4];\n var modifier = res[5];\n if (!pathEscaped && path.length) {\n var k = path.length - 1;\n if (delimiters.indexOf(path[k]) > -1) {\n prev = path[k];\n path = path.slice(0, k);\n }\n }\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n pathEscaped = false;\n }\n var partial = prev !== '' && next !== undefined && next !== prev;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = prev || defaultDelimiter;\n var pattern = capture || group;\n tokens.push({\n name: name || key++,\n prefix: prev,\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n pattern: pattern ? escapeGroup(pattern) : '[^' + escapeString(delimiter) + ']+?'\n });\n }\n // Push any remaining characters.\n if (path || index < str.length) {\n tokens.push(path + str.substr(index));\n }\n return tokens;\n};\n/**\n * Escape a regular expression string.\n */\nconst escapeString = (str) => {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1');\n};\n/**\n * Escape the capturing group by escaping special characters and meaning.\n */\nconst escapeGroup = (group) => {\n return group.replace(/([=!:$/()])/g, '\\\\$1');\n};\n/**\n * Get the flags for a regexp from the options.\n */\nconst flags = (options) => {\n return options && options.sensitive ? '' : 'i';\n};\n/**\n * Pull out keys from a regexp.\n */\nconst regexpToRegexp = (path, keys) => {\n if (!keys)\n return path;\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n pattern: null\n });\n }\n }\n return path;\n};\n/**\n * Transform an array into a regexp.\n */\nconst arrayToRegexp = (path, keys, options) => {\n var parts = [];\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n return new RegExp('(?:' + parts.join('|') + ')', flags(options));\n};\n/**\n * Create a path regexp from string input.\n */\nconst stringToRegexp = (path, keys, options) => {\n return tokensToRegExp(parse(path, options), keys, options);\n};\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nconst tokensToRegExp = (tokens, keys, options) => {\n options = options || {};\n var strict = options.strict;\n var end = options.end !== false;\n var delimiter = escapeString(options.delimiter || DEFAULT_DELIMITER);\n var delimiters = options.delimiters || DEFAULT_DELIMITERS;\n var endsWith = [].concat(options.endsWith || []).map(escapeString).concat('$').join('|');\n var route = '';\n var isEndDelimited = false;\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (typeof token === 'string') {\n route += escapeString(token);\n isEndDelimited = i === tokens.length - 1 && delimiters.indexOf(token[token.length - 1]) > -1;\n }\n else {\n var prefix = escapeString(token.prefix || '');\n var capture = token.repeat\n ? '(?:' + token.pattern + ')(?:' + prefix + '(?:' + token.pattern + '))*'\n : token.pattern;\n if (keys)\n keys.push(token);\n if (token.optional) {\n if (token.partial) {\n route += prefix + '(' + capture + ')?';\n }\n else {\n route += '(?:' + prefix + '(' + capture + '))?';\n }\n }\n else {\n route += prefix + '(' + capture + ')';\n }\n }\n }\n if (end) {\n if (!strict)\n route += '(?:' + delimiter + ')?';\n route += endsWith === '$' ? '$' : '(?=' + endsWith + ')';\n }\n else {\n if (!strict)\n route += '(?:' + delimiter + '(?=' + endsWith + '))?';\n if (!isEndDelimited)\n route += '(?=' + delimiter + '|' + endsWith + ')';\n }\n return new RegExp('^' + route, flags(options));\n};\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nconst pathToRegexp = (path, keys, options) => {\n if (path instanceof RegExp) {\n return regexpToRegexp(path, keys);\n }\n if (Array.isArray(path)) {\n return arrayToRegexp(path, keys, options);\n }\n return stringToRegexp(path, keys, options);\n};\n\nlet cacheCount = 0;\nconst patternCache = {};\nconst cacheLimit = 10000;\n// Memoized function for creating the path match regex\nconst compilePath = (pattern, options) => {\n const cacheKey = `${options.end}${options.strict}`;\n const cache = patternCache[cacheKey] || (patternCache[cacheKey] = {});\n const cachePattern = JSON.stringify(pattern);\n if (cache[cachePattern]) {\n return cache[cachePattern];\n }\n const keys = [];\n const re = pathToRegexp(pattern, keys, options);\n const compiledPattern = { re, keys };\n if (cacheCount < cacheLimit) {\n cache[cachePattern] = compiledPattern;\n cacheCount += 1;\n }\n return compiledPattern;\n};\nconst match = (pathname, options = {}) => {\n const { exact = false, strict = false } = options;\n const { re, keys } = compilePath(pathname, { end: exact, strict });\n return (path) => {\n const match = re.exec(path);\n if (!match) {\n return undefined;\n }\n const [url, ...values] = match;\n const isExact = path === url;\n if (exact && !isExact) {\n return undefined;\n }\n return keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {});\n };\n};\n\nexport { NotFound, Route, createRouter, href, match };\n",".toolbar {\n display: flex;\n flex-direction: row;\n gap: 0;\n align-items: center;\n margin-left: 0.5rem;\n}\n\npos-navigation {\n flex-grow: 1;\n}\n","import { Component, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\n\nimport { createRouter } from 'stencil-router-v2';\n\nconst Router = createRouter();\n\n/**\n * The responsibility of pos-router is to handle the `uri` query param, that specifies the URI of the resource that is currently opened.\n * It reads this query param and informs other components about changes via the `pod-os:route-changed` event.\n * It also intercepts the URLs from `pod-os:link` events and pushes them as a new `uri` parameter.\n */\n@Component({\n tag: 'pos-router',\n styleUrl: 'pos-router.css',\n})\nexport class PosRouter {\n /**\n * The mode defines what default URI will be used, if no URI param is given\n *\n * - standalone: reroute to pod-os:dashboard\n * - pod: reroute to the URI that is shown in the actual browser\n */\n @Prop() mode: 'standalone' | 'pod' = 'standalone';\n\n @State() uri;\n\n /**\n * Emits the new URI that is active\n */\n @Event({ eventName: 'pod-os:route-changed' }) routeChanged: EventEmitter<string>;\n\n @Listen('pod-os:link')\n linkClicked(e) {\n this.navigate(e.detail);\n }\n\n @Listen('pod-os:session-restored', { target: 'window' })\n sessionRestored(e) {\n Router.push(e.detail.url);\n }\n\n componentWillLoad() {\n this.updateUri();\n Router.onChange('url', () => {\n this.updateUri();\n });\n }\n\n navigate(uri: string) {\n Router.push('?uri=' + encodeURIComponent(uri));\n }\n\n updateUri() {\n this.uri =\n new URLSearchParams(window.location.search).get('uri') ||\n (this.mode === 'standalone' ? 'pod-os:dashboard' : window.location.href);\n this.routeChanged.emit(this.uri);\n }\n\n render() {\n return <slot></slot>;\n }\n}\n",":host {\n display: block;\n}\n\ninput {\n background-color: transparent;\n color: var(--pos-normal-text-color);\n border: none;\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\ninput:focus {\n outline: none;\n}\n","import { PodOS, Term } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\nimport { PodOsAware, PodOsEventEmitter, subscribePodOs } from '../events/PodOsAware';\n\n@Component({\n tag: 'pos-select-term',\n styleUrl: 'pos-select-term.css',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PosSelectTerm implements PodOsAware {\n @State() os: PodOS;\n\n @Prop() placeholder: string = 'Type to search...';\n\n @Prop() value: string = '';\n\n @State() terms: Term[] = [];\n\n @Event({ eventName: 'pod-os:init' }) subscribePodOs: PodOsEventEmitter;\n\n /**\n * Fires when a term is entered or selected\n */\n @Event({ eventName: 'pod-os:term-selected' }) termSelected: EventEmitter;\n\n componentWillLoad() {\n subscribePodOs(this);\n }\n\n receivePodOs = async (os: PodOS) => {\n this.os = os;\n };\n\n @Watch('os')\n setTerms() {\n this.terms = this.os.listKnownTerms();\n }\n\n handleChange(event) {\n this.termSelected.emit({ uri: event.target.value });\n }\n\n render() {\n return (\n <Host>\n <input\n part=\"input\"\n list=\"terms\"\n placeholder={this.placeholder}\n value={this.value}\n onChange={ev => this.handleChange(ev)}\n ></input>\n <datalist part=\"terms\" id=\"terms\">\n {this.terms.map(term => (\n <option value={term.uri}>{term.shorthand}</option>\n ))}\n </datalist>\n </Host>\n );\n }\n}\n",":host {\n border: var(--size-px) solid var(--pos-border-color);\n border-radius: var(--radius-lg);\n box-shadow: var(--shadow-md);\n padding: var(--size-8);\n max-width: var(--size-96);\n background: var(--pos-card-background);\n}\n\nsvg {\n width: var(--size-8);\n}\n\nh2 {\n display: flex;\n align-items: center;\n}\n\np {\n padding: var(--size-2);\n}\n\n.info {\n color: var(--color-grey-900);\n background-color: var(--color-blue-200);\n}\n.warn {\n color: var(--color-grey-900);\n background-color: var(--color-yellow-200);\n}\n","import { Component, h, Host } from '@stencil/core';\nimport { localSettings } from '../../../store/settings';\n\n@Component({\n tag: 'pos-setting-offline-cache',\n styleUrl: 'pos-setting-offline-cache.css',\n shadow: true,\n})\nexport class PosSettingOfflineCache {\n render() {\n return (\n <Host>\n <div>\n <h2>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125\"\n />\n </svg>\n Cache Settings\n </h2>\n <p class=\"info\">ℹ Enable offline cache to be able to access previously loaded data while offline.</p>\n <p class=\"warn\">⚠ Private data may be stored on this device. Only enable it, if you trust this device.</p>\n <label>\n <input\n type=\"checkbox\"\n checked={localSettings.state.offlineCache}\n onChange={ev => (localSettings.state.offlineCache = (ev.target as HTMLInputElement).checked)}\n ></input>\n Enable offline cache\n </label>\n </div>\n </Host>\n );\n }\n}\n","import { RdfType } from '@pod-os/core';\n\nexport enum AvailableApps {\n Generic = 'pos-app-generic',\n RdfDocument = 'pos-app-rdf-document',\n DocumentViewer = 'pos-app-document-viewer',\n ImageViewer = 'pos-app-image-viewer',\n LdpContainer = 'pos-app-ldp-container',\n}\n\n// TODO: remove duplication with pos-container-contents/selectIconForTypes\nfunction containsType(types: RdfType[], typeUri: string) {\n return types.some(type => type.uri === typeUri);\n}\n\nexport function selectAppForTypes(types: RdfType[]) {\n if (containsType(types, 'http://www.w3.org/ns/ldp#Container')) {\n return AvailableApps.LdpContainer;\n } else if (containsType(types, 'http://www.w3.org/2007/ont/link#RDFDocument')) {\n return AvailableApps.RdfDocument;\n } else if (containsType(types, 'http://www.w3.org/ns/iana/media-types/application/pdf#Resource')) {\n return AvailableApps.DocumentViewer;\n } else if (containsType(types, 'http://purl.org/dc/terms/Image')) {\n return AvailableApps.ImageViewer;\n } else if (containsType(types, 'http://www.w3.org/2007/ont/link#Document')) {\n return AvailableApps.DocumentViewer;\n } else {\n return AvailableApps.Generic;\n }\n}\n","import { RdfType, Thing } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, State } from '@stencil/core';\nimport { ResourceAware, subscribeResource } from '../events/ResourceAware';\nimport { selectAppForTypes } from './selectAppForTypes';\n\n@Component({\n tag: 'pos-type-router',\n shadow: true,\n})\nexport class PosTypeRouter implements ResourceAware {\n @State() types: RdfType[];\n\n @Event({ eventName: 'pod-os:resource' })\n subscribeResource: EventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.types = resource.types();\n };\n\n render() {\n return this.types ? this.renderApp() : null;\n }\n\n private renderApp() {\n const App = selectAppForTypes(this.types);\n return <App />;\n }\n}\n","// src/components/avatar/avatar.styles.ts\nimport { css } from \"lit\";\nvar avatar_styles_default = css`\n :host {\n display: inline-block;\n\n --size: 3rem;\n }\n\n .avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n width: var(--size);\n height: var(--size);\n background-color: var(--sl-color-neutral-400);\n font-family: var(--sl-font-sans);\n font-size: calc(var(--size) * 0.5);\n font-weight: var(--sl-font-weight-normal);\n color: var(--sl-color-neutral-0);\n user-select: none;\n -webkit-user-select: none;\n vertical-align: middle;\n }\n\n .avatar--circle,\n .avatar--circle .avatar__image {\n border-radius: var(--sl-border-radius-circle);\n }\n\n .avatar--rounded,\n .avatar--rounded .avatar__image {\n border-radius: var(--sl-border-radius-medium);\n }\n\n .avatar--square {\n border-radius: 0;\n }\n\n .avatar__icon {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n .avatar__initials {\n line-height: 1;\n text-transform: uppercase;\n }\n\n .avatar__image {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n overflow: hidden;\n }\n`;\n\nexport {\n avatar_styles_default\n};\n","import {\n avatar_styles_default\n} from \"./chunk.K35GSB4N.js\";\nimport {\n SlIcon\n} from \"./chunk.YHLNUJ7P.js\";\nimport {\n watch\n} from \"./chunk.GMYPQTFK.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/avatar/avatar.component.ts\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nvar SlAvatar = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.hasError = false;\n this.image = \"\";\n this.label = \"\";\n this.initials = \"\";\n this.loading = \"eager\";\n this.shape = \"circle\";\n }\n handleImageChange() {\n this.hasError = false;\n }\n handleImageLoadError() {\n this.hasError = true;\n this.emit(\"sl-error\");\n }\n render() {\n const avatarWithImage = html`\n <img\n part=\"image\"\n class=\"avatar__image\"\n src=\"${this.image}\"\n loading=\"${this.loading}\"\n alt=\"\"\n @error=\"${this.handleImageLoadError}\"\n />\n `;\n let avatarWithoutImage = html``;\n if (this.initials) {\n avatarWithoutImage = html`<div part=\"initials\" class=\"avatar__initials\">${this.initials}</div>`;\n } else {\n avatarWithoutImage = html`\n <div part=\"icon\" class=\"avatar__icon\" aria-hidden=\"true\">\n <slot name=\"icon\">\n <sl-icon name=\"person-fill\" library=\"system\"></sl-icon>\n </slot>\n </div>\n `;\n }\n return html`\n <div\n part=\"base\"\n class=${classMap({\n avatar: true,\n \"avatar--circle\": this.shape === \"circle\",\n \"avatar--rounded\": this.shape === \"rounded\",\n \"avatar--square\": this.shape === \"square\"\n })}\n role=\"img\"\n aria-label=${this.label}\n >\n ${this.image && !this.hasError ? avatarWithImage : avatarWithoutImage}\n </div>\n `;\n }\n};\nSlAvatar.styles = [component_styles_default, avatar_styles_default];\nSlAvatar.dependencies = {\n \"sl-icon\": SlIcon\n};\n__decorateClass([\n state()\n], SlAvatar.prototype, \"hasError\", 2);\n__decorateClass([\n property()\n], SlAvatar.prototype, \"image\", 2);\n__decorateClass([\n property()\n], SlAvatar.prototype, \"label\", 2);\n__decorateClass([\n property()\n], SlAvatar.prototype, \"initials\", 2);\n__decorateClass([\n property()\n], SlAvatar.prototype, \"loading\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlAvatar.prototype, \"shape\", 2);\n__decorateClass([\n watch(\"image\")\n], SlAvatar.prototype, \"handleImageChange\", 1);\n\nexport {\n SlAvatar\n};\n","import {\n SlAvatar\n} from \"./chunk.WREZSXX4.js\";\n\n// src/components/avatar/avatar.ts\nvar avatar_default = SlAvatar;\nSlAvatar.define(\"sl-avatar\");\n\nexport {\n avatar_default\n};\n","// src/components/divider/divider.styles.ts\nimport { css } from \"lit\";\nvar divider_styles_default = css`\n :host {\n --color: var(--sl-panel-border-color);\n --width: var(--sl-panel-border-width);\n --spacing: var(--sl-spacing-medium);\n }\n\n :host(:not([vertical])) {\n display: block;\n border-top: solid var(--width) var(--color);\n margin: var(--spacing) 0;\n }\n\n :host([vertical]) {\n display: inline-block;\n height: 100%;\n border-left: solid var(--width) var(--color);\n margin: 0 var(--spacing);\n }\n`;\n\nexport {\n divider_styles_default\n};\n","import {\n divider_styles_default\n} from \"./chunk.SUSCR7CI.js\";\nimport {\n watch\n} from \"./chunk.GMYPQTFK.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/divider/divider.component.ts\nimport { property } from \"lit/decorators.js\";\nvar SlDivider = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.vertical = false;\n }\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"role\", \"separator\");\n }\n handleVerticalChange() {\n this.setAttribute(\"aria-orientation\", this.vertical ? \"vertical\" : \"horizontal\");\n }\n};\nSlDivider.styles = [component_styles_default, divider_styles_default];\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlDivider.prototype, \"vertical\", 2);\n__decorateClass([\n watch(\"vertical\")\n], SlDivider.prototype, \"handleVerticalChange\", 1);\n\nexport {\n SlDivider\n};\n","import {\n SlDivider\n} from \"./chunk.5ZSXZIE6.js\";\n\n// src/components/divider/divider.ts\nvar divider_default = SlDivider;\nSlDivider.define(\"sl-divider\");\n\nexport {\n divider_default\n};\n","button {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n margin: 0;\n border: none;\n background: none;\n cursor: pointer;\n border-radius: 50%;\n pos-picture {\n --width: 40px;\n --height: 40px;\n --border-radius: 50%;\n }\n sl-avatar {\n --size: 40px;\n }\n}\n\nsl-dropdown {\n display: block;\n}\n","import { Component, Event, EventEmitter, h, Listen, Prop } from '@stencil/core';\n\nimport './shoelace';\n\n@Component({\n tag: 'pos-user-menu',\n shadow: true,\n styleUrl: 'pos-user-menu.css',\n})\nexport class PosUserMenu {\n @Prop()\n webId!: string;\n\n @Event({ eventName: 'pod-os:logout' })\n logout: EventEmitter;\n\n @Event({ eventName: 'pod-os:link' })\n link: EventEmitter;\n\n @Listen('sl-select')\n onSelect(e: CustomEvent<{ item: { value: 'profile' | 'logout' | 'dashboard' } }>) {\n const { value } = e.detail.item;\n if (value === 'logout') {\n this.logout.emit();\n } else if (value === 'profile') {\n this.link.emit(this.webId);\n } else if (value === 'dashboard') {\n this.link.emit('pod-os:dashboard');\n } else if (value === 'settings') {\n this.link.emit('pod-os:settings');\n }\n }\n\n render() {\n if (!this.webId) return null; //?\n return (\n <pos-resource uri={this.webId}>\n <sl-dropdown>\n <button slot=\"trigger\" aria-label=\"User menu\">\n <pos-picture>\n <sl-avatar></sl-avatar>\n </pos-picture>\n </button>\n <sl-menu>\n <sl-menu-item value=\"dashboard\">Dashboard</sl-menu-item>\n <sl-menu-item value=\"profile\">\n <pos-label></pos-label>\n </sl-menu-item>\n <sl-menu-item value=\"settings\">Settings</sl-menu-item>\n <sl-divider></sl-divider>\n <sl-menu-item value=\"logout\">Logout</sl-menu-item>\n </sl-menu>\n </sl-dropdown>\n </pos-resource>\n );\n }\n}\n"],"version":3}