@haiilo/catalyst 0.3.1 → 0.5.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 (267) hide show
  1. package/dist/catalyst/assets/fonts/AzeretMono-Regular.woff2 +0 -0
  2. package/dist/catalyst/assets/fonts/DMSans-Bold.woff2 +0 -0
  3. package/dist/catalyst/assets/fonts/DMSans-BoldItalic.woff2 +0 -0
  4. package/dist/catalyst/assets/fonts/DMSans-Italic.woff2 +0 -0
  5. package/dist/catalyst/assets/fonts/DMSans-Medium.woff2 +0 -0
  6. package/dist/catalyst/assets/fonts/DMSans-MediumItalic.woff2 +0 -0
  7. package/dist/catalyst/assets/fonts/DMSans-Regular.woff2 +0 -0
  8. package/dist/catalyst/assets/fonts/Lato-Black.woff +0 -0
  9. package/dist/catalyst/assets/fonts/Lato-Black.woff2 +0 -0
  10. package/dist/catalyst/assets/fonts/Lato-BlackItalic.woff +0 -0
  11. package/dist/catalyst/assets/fonts/Lato-BlackItalic.woff2 +0 -0
  12. package/dist/catalyst/assets/fonts/Lato-Bold.woff +0 -0
  13. package/dist/catalyst/assets/fonts/Lato-Bold.woff2 +0 -0
  14. package/dist/catalyst/assets/fonts/Lato-BoldItalic.woff +0 -0
  15. package/dist/catalyst/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  16. package/dist/catalyst/assets/fonts/Lato-Hairline.woff +0 -0
  17. package/dist/catalyst/assets/fonts/Lato-Hairline.woff2 +0 -0
  18. package/dist/catalyst/assets/fonts/Lato-HairlineItalic.woff +0 -0
  19. package/dist/catalyst/assets/fonts/Lato-HairlineItalic.woff2 +0 -0
  20. package/dist/catalyst/assets/fonts/Lato-Heavy.woff +0 -0
  21. package/dist/catalyst/assets/fonts/Lato-Heavy.woff2 +0 -0
  22. package/dist/catalyst/assets/fonts/Lato-HeavyItalic.woff +0 -0
  23. package/dist/catalyst/assets/fonts/Lato-HeavyItalic.woff2 +0 -0
  24. package/dist/catalyst/assets/fonts/Lato-Italic.woff +0 -0
  25. package/dist/catalyst/assets/fonts/Lato-Italic.woff2 +0 -0
  26. package/dist/catalyst/assets/fonts/Lato-Light.woff +0 -0
  27. package/dist/catalyst/assets/fonts/Lato-Light.woff2 +0 -0
  28. package/dist/catalyst/assets/fonts/Lato-LightItalic.woff +0 -0
  29. package/dist/catalyst/assets/fonts/Lato-LightItalic.woff2 +0 -0
  30. package/dist/catalyst/assets/fonts/Lato-Medium.woff +0 -0
  31. package/dist/catalyst/assets/fonts/Lato-Medium.woff2 +0 -0
  32. package/dist/catalyst/assets/fonts/Lato-MediumItalic.woff +0 -0
  33. package/dist/catalyst/assets/fonts/Lato-MediumItalic.woff2 +0 -0
  34. package/dist/catalyst/assets/fonts/Lato-Regular.woff +0 -0
  35. package/dist/catalyst/assets/fonts/Lato-Regular.woff2 +0 -0
  36. package/dist/catalyst/assets/fonts/Lato-Semibold.woff +0 -0
  37. package/dist/catalyst/assets/fonts/Lato-Semibold.woff2 +0 -0
  38. package/dist/catalyst/assets/fonts/Lato-SemiboldItalic.woff +0 -0
  39. package/dist/catalyst/assets/fonts/Lato-SemiboldItalic.woff2 +0 -0
  40. package/dist/catalyst/assets/fonts/Lato-Thin.woff +0 -0
  41. package/dist/catalyst/assets/fonts/Lato-Thin.woff2 +0 -0
  42. package/dist/catalyst/assets/fonts/Lato-ThinItalic.woff +0 -0
  43. package/dist/catalyst/assets/fonts/Lato-ThinItalic.woff2 +0 -0
  44. package/dist/catalyst/catalyst.css +1 -1
  45. package/dist/catalyst/catalyst.esm.js +1 -1
  46. package/dist/catalyst/catalyst.esm.js.map +1 -1
  47. package/dist/catalyst/index.esm.js +1 -1
  48. package/dist/catalyst/p-23d54bc6.js +2 -0
  49. package/dist/catalyst/p-23d54bc6.js.map +1 -0
  50. package/dist/catalyst/p-84693f87.entry.js +24 -0
  51. package/dist/catalyst/p-84693f87.entry.js.map +1 -0
  52. package/dist/catalyst/p-8f5cfa78.js +2 -0
  53. package/dist/catalyst/p-8f5cfa78.js.map +1 -0
  54. package/dist/catalyst/{p-ed826597.js → p-fa7da4c6.js} +2 -2
  55. package/dist/catalyst/p-fa7da4c6.js.map +1 -0
  56. package/dist/cjs/{app-globals-7f2b1f8e.js → app-globals-50e7504d.js} +9 -2
  57. package/dist/cjs/app-globals-50e7504d.js.map +1 -0
  58. package/dist/cjs/{cat-alert_8.cjs.entry.js → cat-alert_15.cjs.entry.js} +602 -400
  59. package/dist/cjs/cat-alert_15.cjs.entry.js.map +1 -0
  60. package/dist/cjs/cat-icon-registry-6895750f.js +441 -0
  61. package/dist/cjs/cat-icon-registry-6895750f.js.map +1 -0
  62. package/dist/cjs/catalyst.cjs.js +4 -4
  63. package/dist/cjs/{index-c0881ae0.js → index-2db8e23d.js} +1 -2
  64. package/dist/cjs/index-2db8e23d.js.map +1 -0
  65. package/dist/cjs/index.cjs.js +2 -1
  66. package/dist/cjs/index.cjs.js.map +1 -1
  67. package/dist/cjs/loader.cjs.js +4 -4
  68. package/dist/collection/assets/fonts/AzeretMono-Regular.woff2 +0 -0
  69. package/dist/collection/assets/fonts/DMSans-Bold.woff2 +0 -0
  70. package/dist/collection/assets/fonts/DMSans-BoldItalic.woff2 +0 -0
  71. package/dist/collection/assets/fonts/DMSans-Italic.woff2 +0 -0
  72. package/dist/collection/assets/fonts/DMSans-Medium.woff2 +0 -0
  73. package/dist/collection/assets/fonts/DMSans-MediumItalic.woff2 +0 -0
  74. package/dist/collection/assets/fonts/DMSans-Regular.woff2 +0 -0
  75. package/dist/collection/assets/fonts/Lato-Black.woff +0 -0
  76. package/dist/collection/assets/fonts/Lato-Black.woff2 +0 -0
  77. package/dist/collection/assets/fonts/Lato-BlackItalic.woff +0 -0
  78. package/dist/collection/assets/fonts/Lato-BlackItalic.woff2 +0 -0
  79. package/dist/collection/assets/fonts/Lato-Bold.woff +0 -0
  80. package/dist/collection/assets/fonts/Lato-Bold.woff2 +0 -0
  81. package/dist/collection/assets/fonts/Lato-BoldItalic.woff +0 -0
  82. package/dist/collection/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  83. package/dist/collection/assets/fonts/Lato-Hairline.woff +0 -0
  84. package/dist/collection/assets/fonts/Lato-Hairline.woff2 +0 -0
  85. package/dist/collection/assets/fonts/Lato-HairlineItalic.woff +0 -0
  86. package/dist/collection/assets/fonts/Lato-HairlineItalic.woff2 +0 -0
  87. package/dist/collection/assets/fonts/Lato-Heavy.woff +0 -0
  88. package/dist/collection/assets/fonts/Lato-Heavy.woff2 +0 -0
  89. package/dist/collection/assets/fonts/Lato-HeavyItalic.woff +0 -0
  90. package/dist/collection/assets/fonts/Lato-HeavyItalic.woff2 +0 -0
  91. package/dist/collection/assets/fonts/Lato-Italic.woff +0 -0
  92. package/dist/collection/assets/fonts/Lato-Italic.woff2 +0 -0
  93. package/dist/collection/assets/fonts/Lato-Light.woff +0 -0
  94. package/dist/collection/assets/fonts/Lato-Light.woff2 +0 -0
  95. package/dist/collection/assets/fonts/Lato-LightItalic.woff +0 -0
  96. package/dist/collection/assets/fonts/Lato-LightItalic.woff2 +0 -0
  97. package/dist/collection/assets/fonts/Lato-Medium.woff +0 -0
  98. package/dist/collection/assets/fonts/Lato-Medium.woff2 +0 -0
  99. package/dist/collection/assets/fonts/Lato-MediumItalic.woff +0 -0
  100. package/dist/collection/assets/fonts/Lato-MediumItalic.woff2 +0 -0
  101. package/dist/collection/assets/fonts/Lato-Regular.woff +0 -0
  102. package/dist/collection/assets/fonts/Lato-Regular.woff2 +0 -0
  103. package/dist/collection/assets/fonts/Lato-Semibold.woff +0 -0
  104. package/dist/collection/assets/fonts/Lato-Semibold.woff2 +0 -0
  105. package/dist/collection/assets/fonts/Lato-SemiboldItalic.woff +0 -0
  106. package/dist/collection/assets/fonts/Lato-SemiboldItalic.woff2 +0 -0
  107. package/dist/collection/assets/fonts/Lato-Thin.woff +0 -0
  108. package/dist/collection/assets/fonts/Lato-Thin.woff2 +0 -0
  109. package/dist/collection/assets/fonts/Lato-ThinItalic.woff +0 -0
  110. package/dist/collection/assets/fonts/Lato-ThinItalic.woff2 +0 -0
  111. package/dist/collection/collection-manifest.json +8 -1
  112. package/dist/collection/components/cat-alert/cat-alert.css +11 -6
  113. package/dist/collection/components/cat-alert/cat-alert.js +19 -8
  114. package/dist/collection/components/cat-alert/cat-alert.js.map +1 -1
  115. package/dist/collection/components/cat-badge/cat-badge.css +17 -17
  116. package/dist/collection/components/cat-badge/cat-badge.js +9 -8
  117. package/dist/collection/components/cat-badge/cat-badge.js.map +1 -1
  118. package/dist/collection/components/cat-button/cat-button.css +18 -8
  119. package/dist/collection/components/cat-button/cat-button.js +32 -8
  120. package/dist/collection/components/cat-button/cat-button.js.map +1 -1
  121. package/dist/collection/components/cat-card/cat-card.css +25 -0
  122. package/dist/collection/components/cat-card/cat-card.js +20 -0
  123. package/dist/collection/components/cat-card/cat-card.js.map +1 -0
  124. package/dist/collection/components/cat-checkbox/cat-checkbox.css +105 -0
  125. package/dist/collection/components/cat-checkbox/cat-checkbox.js +314 -0
  126. package/dist/collection/components/cat-checkbox/cat-checkbox.js.map +1 -0
  127. package/dist/collection/components/cat-i18n/cat-i18n-registry.js +69 -0
  128. package/dist/collection/components/cat-i18n/cat-i18n-registry.js.map +1 -0
  129. package/dist/collection/components/cat-icon/cat-icon-registry.js +14 -1
  130. package/dist/collection/components/cat-icon/cat-icon-registry.js.map +1 -1
  131. package/dist/collection/components/cat-icon/cat-icon.css +5 -5
  132. package/dist/collection/components/cat-icon/cat-icon.js +3 -2
  133. package/dist/collection/components/cat-icon/cat-icon.js.map +1 -1
  134. package/dist/collection/components/cat-input/cat-input.css +131 -0
  135. package/dist/collection/components/cat-input/cat-input.js +606 -0
  136. package/dist/collection/components/cat-input/cat-input.js.map +1 -0
  137. package/dist/collection/components/cat-menu/cat-menu.css +2 -1
  138. package/dist/collection/components/cat-menu/cat-menu.js +3 -5
  139. package/dist/collection/components/cat-menu/cat-menu.js.map +1 -1
  140. package/dist/collection/components/cat-radio/cat-radio.css +84 -0
  141. package/dist/collection/components/cat-radio/cat-radio.js +283 -0
  142. package/dist/collection/components/cat-radio/cat-radio.js.map +1 -0
  143. package/dist/collection/components/cat-scrollable/cat-scrollable.js +4 -2
  144. package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +1 -1
  145. package/dist/collection/components/cat-skeleton/cat-skeleton.css +30 -30
  146. package/dist/collection/components/cat-skeleton/cat-skeleton.js +4 -4
  147. package/dist/collection/components/cat-skeleton/cat-skeleton.js.map +1 -1
  148. package/dist/collection/components/cat-spinner/cat-spinner.css +7 -7
  149. package/dist/collection/components/cat-spinner/cat-spinner.js +1 -1
  150. package/dist/collection/components/cat-spinner/cat-spinner.js.map +1 -1
  151. package/dist/collection/components/cat-textarea/cat-textarea.css +74 -0
  152. package/dist/collection/components/cat-textarea/cat-textarea.js +393 -0
  153. package/dist/collection/components/cat-textarea/cat-textarea.js.map +1 -0
  154. package/dist/collection/components/cat-toggle/cat-toggle.css +93 -0
  155. package/dist/collection/components/cat-toggle/cat-toggle.js +283 -0
  156. package/dist/collection/components/cat-toggle/cat-toggle.js.map +1 -0
  157. package/dist/collection/components/cat-tooltip/cat-tooltip.css +41 -0
  158. package/dist/collection/components/cat-tooltip/cat-tooltip.js +254 -0
  159. package/dist/collection/components/cat-tooltip/cat-tooltip.js.map +1 -0
  160. package/dist/collection/index.js +1 -0
  161. package/dist/collection/index.js.map +1 -1
  162. package/dist/collection/init.js +9 -1
  163. package/dist/collection/init.js.map +1 -1
  164. package/dist/collection/utils/first-tabbable.js +6 -0
  165. package/dist/collection/utils/first-tabbable.js.map +1 -0
  166. package/dist/collection/utils/is-touch-screen.js +3 -0
  167. package/dist/collection/utils/is-touch-screen.js.map +1 -0
  168. package/dist/components/cat-alert.js +15 -6
  169. package/dist/components/cat-alert.js.map +1 -1
  170. package/dist/components/cat-badge.js +7 -7
  171. package/dist/components/cat-badge.js.map +1 -1
  172. package/dist/components/cat-button.js +1 -647
  173. package/dist/components/cat-button.js.map +1 -1
  174. package/dist/components/cat-button2.js +346 -0
  175. package/dist/components/cat-button2.js.map +1 -0
  176. package/dist/components/cat-card.d.ts +11 -0
  177. package/dist/components/cat-card.js +35 -0
  178. package/dist/components/cat-card.js.map +1 -0
  179. package/dist/components/cat-checkbox.d.ts +11 -0
  180. package/dist/components/cat-checkbox.js +103 -0
  181. package/dist/components/cat-checkbox.js.map +1 -0
  182. package/dist/components/cat-i18n-registry.js +73 -0
  183. package/dist/components/cat-i18n-registry.js.map +1 -0
  184. package/dist/components/cat-icon-registry.js +15 -1
  185. package/dist/components/cat-icon-registry.js.map +1 -1
  186. package/dist/components/cat-icon2.js +3 -2
  187. package/dist/components/cat-icon2.js.map +1 -1
  188. package/dist/components/cat-input.d.ts +11 -0
  189. package/dist/components/cat-input.js +172 -0
  190. package/dist/components/cat-input.js.map +1 -0
  191. package/dist/components/cat-menu.js +12 -1520
  192. package/dist/components/cat-menu.js.map +1 -1
  193. package/dist/components/cat-radio.d.ts +11 -0
  194. package/dist/components/cat-radio.js +93 -0
  195. package/dist/components/cat-radio.js.map +1 -0
  196. package/dist/components/cat-scrollable.js +1 -2
  197. package/dist/components/cat-scrollable.js.map +1 -1
  198. package/dist/components/cat-skeleton.js +5 -5
  199. package/dist/components/cat-skeleton.js.map +1 -1
  200. package/dist/components/cat-spinner2.js +2 -2
  201. package/dist/components/cat-spinner2.js.map +1 -1
  202. package/dist/components/cat-textarea.d.ts +11 -0
  203. package/dist/components/cat-textarea.js +119 -0
  204. package/dist/components/cat-textarea.js.map +1 -0
  205. package/dist/components/cat-toggle.d.ts +11 -0
  206. package/dist/components/cat-toggle.js +93 -0
  207. package/dist/components/cat-toggle.js.map +1 -0
  208. package/dist/components/cat-tooltip.d.ts +11 -0
  209. package/dist/components/cat-tooltip.js +154 -0
  210. package/dist/components/cat-tooltip.js.map +1 -0
  211. package/dist/components/first-tabbable.js +1496 -0
  212. package/dist/components/first-tabbable.js.map +1 -0
  213. package/dist/components/index.js +9 -0
  214. package/dist/components/index.js.map +1 -1
  215. package/dist/components/loglevel.js +315 -0
  216. package/dist/components/loglevel.js.map +1 -0
  217. package/dist/esm/{app-globals-8af9b2cf.js → app-globals-6906ac5c.js} +9 -2
  218. package/dist/esm/app-globals-6906ac5c.js.map +1 -0
  219. package/dist/esm/{cat-alert_8.entry.js → cat-alert_15.entry.js} +594 -399
  220. package/dist/esm/cat-alert_15.entry.js.map +1 -0
  221. package/dist/esm/cat-icon-registry-77963c26.js +437 -0
  222. package/dist/esm/cat-icon-registry-77963c26.js.map +1 -0
  223. package/dist/esm/catalyst.js +4 -4
  224. package/dist/esm/{index-0ff35bca.js → index-1f3ca03b.js} +2 -2
  225. package/dist/esm/index-1f3ca03b.js.map +1 -0
  226. package/dist/esm/index.js +1 -1
  227. package/dist/esm/loader.js +4 -4
  228. package/dist/types/components/cat-alert/cat-alert.d.ts +4 -2
  229. package/dist/types/components/cat-badge/cat-badge.d.ts +3 -2
  230. package/dist/types/components/cat-button/cat-button.d.ts +8 -3
  231. package/dist/types/components/cat-card/cat-card.d.ts +7 -0
  232. package/dist/types/components/cat-checkbox/cat-checkbox.d.ts +69 -0
  233. package/dist/types/components/cat-i18n/cat-i18n-registry.d.ts +18 -0
  234. package/dist/types/components/cat-icon/cat-icon-registry.d.ts +4 -4
  235. package/dist/types/components/cat-icon/cat-icon.d.ts +1 -1
  236. package/dist/types/components/cat-input/cat-input.d.ts +130 -0
  237. package/dist/types/components/cat-menu/cat-menu.d.ts +0 -1
  238. package/dist/types/components/cat-radio/cat-radio.d.ts +63 -0
  239. package/dist/types/components/cat-scrollable/cat-scrollable.d.ts +3 -1
  240. package/dist/types/components/cat-textarea/cat-textarea.d.ts +85 -0
  241. package/dist/types/components/cat-toggle/cat-toggle.d.ts +64 -0
  242. package/dist/types/components/cat-tooltip/cat-tooltip.d.ts +46 -0
  243. package/dist/types/components.d.ts +680 -4
  244. package/dist/types/index.d.ts +1 -0
  245. package/dist/types/utils/first-tabbable.d.ts +4 -0
  246. package/dist/types/utils/is-touch-screen.d.ts +2 -0
  247. package/package.json +9 -7
  248. package/dist/catalyst/p-31b500c7.entry.js +0 -10
  249. package/dist/catalyst/p-31b500c7.entry.js.map +0 -1
  250. package/dist/catalyst/p-ed826597.js.map +0 -1
  251. package/dist/catalyst/p-ef0a8ae9.js +0 -2
  252. package/dist/catalyst/p-ef0a8ae9.js.map +0 -1
  253. package/dist/catalyst/p-f151cb13.js +0 -2
  254. package/dist/catalyst/p-f151cb13.js.map +0 -1
  255. package/dist/cjs/app-globals-7f2b1f8e.js.map +0 -1
  256. package/dist/cjs/cat-alert_8.cjs.entry.js.map +0 -1
  257. package/dist/cjs/cat-icon-registry-850c538c.js +0 -47
  258. package/dist/cjs/cat-icon-registry-850c538c.js.map +0 -1
  259. package/dist/cjs/index-c0881ae0.js.map +0 -1
  260. package/dist/collection/utils/utils.js +0 -4
  261. package/dist/collection/utils/utils.js.map +0 -1
  262. package/dist/esm/app-globals-8af9b2cf.js.map +0 -1
  263. package/dist/esm/cat-alert_8.entry.js.map +0 -1
  264. package/dist/esm/cat-icon-registry-59da2e37.js +0 -45
  265. package/dist/esm/cat-icon-registry-59da2e37.js.map +0 -1
  266. package/dist/esm/index-0ff35bca.js.map +0 -1
  267. package/dist/types/utils/utils.d.ts +0 -1
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, h, c as createEvent, H as Host, g as getElement } from './index-0ff35bca.js';
2
- import { C as CatIconRegistry } from './cat-icon-registry-59da2e37.js';
1
+ import { r as registerInstance, h, H as Host, c as createEvent } from './index-1f3ca03b.js';
2
+ import { l as loglevel, C as CatIconRegistry, a as CatI18nRegistry } from './cat-icon-registry-77963c26.js';
3
3
 
4
- const catAlertCss = ":host{display:block;margin-bottom:1rem}:host([hidden]){display:none}.cat-alert{font:inherit;color:rgb(var(--text));background-color:rgba(var(--bg), 0.1);box-shadow:inset 0 0 0 1px rgba(var(--border), 0.2);border-radius:0.25rem;padding:0.75rem 1rem;width:100%}::slotted(:last-child){margin-bottom:0 !important}.cat-alert-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--text:var(--cat-primary-text, 32, 127, 138);--border:var(--cat-primary-text, 32, 127, 138)}.cat-alert-secondary{--bg:105, 118, 135;--text:0, 0, 0;--border:105, 118, 135}.cat-alert-success{--bg:0, 132, 88;--text:0, 132, 88;--border:0, 132, 88}.cat-alert-warning{--bg:255, 206, 128;--text:159, 97, 0;--border:159, 97, 0}.cat-alert-danger{--bg:217, 52, 13;--text:217, 52, 13;--border:217, 52, 13}";
4
+ const catAlertCss = ":host{display:block;margin-bottom:1rem}:host(:focus-visible){outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}:host([hidden]){display:none}.alert{font:inherit;color:rgb(var(--text));background-color:rgba(var(--bg), 0.1);box-shadow:inset 0 0 0 1px rgba(var(--border), 0.2);border-radius:0.25rem;padding:0.75rem 1rem;width:100%}::slotted(:last-child){margin-bottom:0 !important}.alert-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--text:var(--cat-primary-text, 32, 127, 138);--border:var(--cat-primary-text, 32, 127, 138)}.alert-secondary{--bg:105, 118, 135;--text:0, 0, 0;--border:105, 118, 135}.alert-success{--bg:0, 132, 88;--text:0, 132, 88;--border:0, 132, 88}.alert-warning{--bg:255, 206, 128;--text:159, 97, 0;--border:159, 97, 0}.alert-danger{--bg:217, 52, 13;--text:217, 52, 13;--border:217, 52, 13}";
5
5
 
6
6
  const CatAlert = class {
7
7
  constructor(hostRef) {
@@ -12,15 +12,24 @@ const CatAlert = class {
12
12
  this.color = 'primary';
13
13
  }
14
14
  render() {
15
- return (h("div", { part: "alert", class: {
16
- 'cat-alert': true,
17
- [`cat-alert-${this.color}`]: Boolean(this.color)
18
- } }, h("slot", null)));
15
+ return (h(Host, { tabindex: "0", role: this.role }, h("div", { part: "alert", class: {
16
+ alert: true,
17
+ [`alert-${this.color}`]: Boolean(this.color)
18
+ } }, h("slot", null))));
19
+ }
20
+ get role() {
21
+ switch (this.color) {
22
+ case 'danger':
23
+ case 'warning':
24
+ return 'alert';
25
+ default:
26
+ return 'status';
27
+ }
19
28
  }
20
29
  };
21
30
  CatAlert.style = catAlertCss;
22
31
 
23
- const catBadgeCss = ":host{display:inline-flex;max-width:100%;vertical-align:baseline}:host([hidden]){display:none}.cat-badge{font:inherit;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:0.125rem;text-decoration:none;width:100%;box-sizing:border-box;line-height:1;white-space:nowrap}.cat-badge slot{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.cat-badge-round{border-radius:10rem}.cat-badge-filled{background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}.cat-badge-outlined{background-color:white;box-shadow:inset 0 0 0 1px rgba(var(--border), 0.2);color:rgb(var(--text))}.cat-badge-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 32, 127, 138);--border:var(--cat-primary-text, 32, 127, 138)}.cat-badge-secondary{--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0;--border:105, 118, 135}.cat-badge-success{--bg:0, 132, 88;--fill:255, 255, 255;--text:0, 132, 88;--border:0, 132, 88}.cat-badge-warning{--bg:255, 206, 128;--fill:0, 0, 0;--text:159, 97, 0;--border:159, 97, 0}.cat-badge-danger{--bg:217, 52, 13;--fill:255, 255, 255;--text:217, 52, 13;--border:217, 52, 13}.cat-badge-xs{height:0.75rem;min-width:0.75rem;font-size:0.75rem;padding:0 0.1875rem}.cat-badge-s{height:1rem;min-width:1rem;font-size:0.75rem;padding:0 0.25rem}.cat-badge-m{height:1.25rem;min-width:1.25rem;font-size:0.75rem;padding:0 0.3125rem}.cat-badge-l{height:1.5rem;min-width:1.5rem;font-size:0.875rem;padding:0 0.375rem}.cat-badge-xl{height:1.75rem;min-width:1.75rem;font-size:0.9375rem;padding:0 0.4375rem}.cat-badge-pulse.cat-badge-filled{animation:1.5s ease 0s infinite normal none running pulse}.cat-badge-pulse.cat-badge-outlined{animation:1.5s ease 0s infinite normal none running pulse-outlined}@keyframes pulse{0%{box-shadow:0 0 0 0 rgb(var(--bg))}70%{box-shadow:transparent 0 0 0 0.5rem}100%{box-shadow:transparent 0 0 0 0}}@keyframes pulse-outlined{0%{box-shadow:0 0 0 0 rgb(var(--bg)), inset 0 0 0 1px rgba(var(--border), 0.2)}70%{box-shadow:transparent 0 0 0 0.5rem, inset 0 0 0 1px rgba(var(--border), 0.2)}100%{box-shadow:transparent 0 0 0 0, inset 0 0 0 1px rgba(var(--border), 0.2)}}";
32
+ const catBadgeCss = ":host{display:inline-flex;max-width:100%;vertical-align:baseline}:host([hidden]){display:none}.badge{font:inherit;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:0.125rem;text-decoration:none;width:100%;box-sizing:border-box;line-height:1;white-space:nowrap}.badge slot{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.badge-round{border-radius:10rem}.badge-filled{background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}.badge-outlined{background-color:white;box-shadow:inset 0 0 0 1px rgba(var(--border), 0.2);color:rgb(var(--text))}.badge-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 32, 127, 138);--border:var(--cat-primary-text, 32, 127, 138)}.badge-secondary{--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0;--border:105, 118, 135}.badge-success{--bg:0, 132, 88;--fill:255, 255, 255;--text:0, 132, 88;--border:0, 132, 88}.badge-warning{--bg:255, 206, 128;--fill:0, 0, 0;--text:159, 97, 0;--border:159, 97, 0}.badge-danger{--bg:217, 52, 13;--fill:255, 255, 255;--text:217, 52, 13;--border:217, 52, 13}.badge-xs{height:0.75rem;min-width:0.75rem;font-size:0.75rem;padding:0 0.1875rem}.badge-s{height:1rem;min-width:1rem;font-size:0.75rem;padding:0 0.25rem}.badge-m{height:1.25rem;min-width:1.25rem;font-size:0.75rem;padding:0 0.3125rem}.badge-l{height:1.5rem;min-width:1.5rem;font-size:0.875rem;padding:0 0.375rem}.badge-xl{height:1.75rem;min-width:1.75rem;font-size:0.9375rem;padding:0 0.4375rem}.badge-pulse.badge-filled{animation:1.5s ease 0s infinite normal none running pulse}.badge-pulse.badge-outlined{animation:1.5s ease 0s infinite normal none running pulse-outlined}@keyframes pulse{0%{box-shadow:0 0 0 0 rgb(var(--bg))}70%{box-shadow:transparent 0 0 0 0.5rem}100%{box-shadow:transparent 0 0 0 0}}@keyframes pulse-outlined{0%{box-shadow:0 0 0 0 rgb(var(--bg)), inset 0 0 0 1px rgba(var(--border), 0.2)}70%{box-shadow:transparent 0 0 0 0.5rem, inset 0 0 0 1px rgba(var(--border), 0.2)}100%{box-shadow:transparent 0 0 0 0, inset 0 0 0 1px rgba(var(--border), 0.2)}}";
24
33
 
25
34
  const CatBadge = class {
26
35
  constructor(hostRef) {
@@ -48,329 +57,17 @@ const CatBadge = class {
48
57
  }
49
58
  render() {
50
59
  return (h("span", { part: "badge", class: {
51
- 'cat-badge': true,
52
- 'cat-badge-round': this.round,
53
- 'cat-badge-pulse': this.pulse,
54
- [`cat-badge-${this.variant}`]: Boolean(this.variant),
55
- [`cat-badge-${this.color}`]: Boolean(this.color),
56
- [`cat-badge-${this.size}`]: Boolean(this.size)
60
+ badge: true,
61
+ 'badge-round': this.round,
62
+ 'badge-pulse': this.pulse,
63
+ [`badge-${this.variant}`]: Boolean(this.variant),
64
+ [`badge-${this.color}`]: Boolean(this.color),
65
+ [`badge-${this.size}`]: Boolean(this.size)
57
66
  } }, h("slot", null)));
58
67
  }
59
68
  };
60
69
  CatBadge.style = catBadgeCss;
61
70
 
62
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
63
-
64
- function createCommonjsModule(fn, basedir, module) {
65
- return module = {
66
- path: basedir,
67
- exports: {},
68
- require: function (path, base) {
69
- return commonjsRequire();
70
- }
71
- }, fn(module, module.exports), module.exports;
72
- }
73
-
74
- function commonjsRequire () {
75
- throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
76
- }
77
-
78
- var loglevel = createCommonjsModule(function (module) {
79
- /*
80
- * loglevel - https://github.com/pimterry/loglevel
81
- *
82
- * Copyright (c) 2013 Tim Perry
83
- * Licensed under the MIT license.
84
- */
85
- (function (root, definition) {
86
- if (module.exports) {
87
- module.exports = definition();
88
- } else {
89
- root.log = definition();
90
- }
91
- }(commonjsGlobal, function () {
92
-
93
- // Slightly dubious tricks to cut down minimized file size
94
- var noop = function() {};
95
- var undefinedType = "undefined";
96
- var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (
97
- /Trident\/|MSIE /.test(window.navigator.userAgent)
98
- );
99
-
100
- var logMethods = [
101
- "trace",
102
- "debug",
103
- "info",
104
- "warn",
105
- "error"
106
- ];
107
-
108
- // Cross-browser bind equivalent that works at least back to IE6
109
- function bindMethod(obj, methodName) {
110
- var method = obj[methodName];
111
- if (typeof method.bind === 'function') {
112
- return method.bind(obj);
113
- } else {
114
- try {
115
- return Function.prototype.bind.call(method, obj);
116
- } catch (e) {
117
- // Missing bind shim or IE8 + Modernizr, fallback to wrapping
118
- return function() {
119
- return Function.prototype.apply.apply(method, [obj, arguments]);
120
- };
121
- }
122
- }
123
- }
124
-
125
- // Trace() doesn't print the message in IE, so for that case we need to wrap it
126
- function traceForIE() {
127
- if (console.log) {
128
- if (console.log.apply) {
129
- console.log.apply(console, arguments);
130
- } else {
131
- // In old IE, native console methods themselves don't have apply().
132
- Function.prototype.apply.apply(console.log, [console, arguments]);
133
- }
134
- }
135
- if (console.trace) console.trace();
136
- }
137
-
138
- // Build the best logging method possible for this env
139
- // Wherever possible we want to bind, not wrap, to preserve stack traces
140
- function realMethod(methodName) {
141
- if (methodName === 'debug') {
142
- methodName = 'log';
143
- }
144
-
145
- if (typeof console === undefinedType) {
146
- return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives
147
- } else if (methodName === 'trace' && isIE) {
148
- return traceForIE;
149
- } else if (console[methodName] !== undefined) {
150
- return bindMethod(console, methodName);
151
- } else if (console.log !== undefined) {
152
- return bindMethod(console, 'log');
153
- } else {
154
- return noop;
155
- }
156
- }
157
-
158
- // These private functions always need `this` to be set properly
159
-
160
- function replaceLoggingMethods(level, loggerName) {
161
- /*jshint validthis:true */
162
- for (var i = 0; i < logMethods.length; i++) {
163
- var methodName = logMethods[i];
164
- this[methodName] = (i < level) ?
165
- noop :
166
- this.methodFactory(methodName, level, loggerName);
167
- }
168
-
169
- // Define log.log as an alias for log.debug
170
- this.log = this.debug;
171
- }
172
-
173
- // In old IE versions, the console isn't present until you first open it.
174
- // We build realMethod() replacements here that regenerate logging methods
175
- function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {
176
- return function () {
177
- if (typeof console !== undefinedType) {
178
- replaceLoggingMethods.call(this, level, loggerName);
179
- this[methodName].apply(this, arguments);
180
- }
181
- };
182
- }
183
-
184
- // By default, we use closely bound real methods wherever possible, and
185
- // otherwise we wait for a console to appear, and then try again.
186
- function defaultMethodFactory(methodName, level, loggerName) {
187
- /*jshint validthis:true */
188
- return realMethod(methodName) ||
189
- enableLoggingWhenConsoleArrives.apply(this, arguments);
190
- }
191
-
192
- function Logger(name, defaultLevel, factory) {
193
- var self = this;
194
- var currentLevel;
195
- defaultLevel = defaultLevel == null ? "WARN" : defaultLevel;
196
-
197
- var storageKey = "loglevel";
198
- if (typeof name === "string") {
199
- storageKey += ":" + name;
200
- } else if (typeof name === "symbol") {
201
- storageKey = undefined;
202
- }
203
-
204
- function persistLevelIfPossible(levelNum) {
205
- var levelName = (logMethods[levelNum] || 'silent').toUpperCase();
206
-
207
- if (typeof window === undefinedType || !storageKey) return;
208
-
209
- // Use localStorage if available
210
- try {
211
- window.localStorage[storageKey] = levelName;
212
- return;
213
- } catch (ignore) {}
214
-
215
- // Use session cookie as fallback
216
- try {
217
- window.document.cookie =
218
- encodeURIComponent(storageKey) + "=" + levelName + ";";
219
- } catch (ignore) {}
220
- }
221
-
222
- function getPersistedLevel() {
223
- var storedLevel;
224
-
225
- if (typeof window === undefinedType || !storageKey) return;
226
-
227
- try {
228
- storedLevel = window.localStorage[storageKey];
229
- } catch (ignore) {}
230
-
231
- // Fallback to cookies if local storage gives us nothing
232
- if (typeof storedLevel === undefinedType) {
233
- try {
234
- var cookie = window.document.cookie;
235
- var location = cookie.indexOf(
236
- encodeURIComponent(storageKey) + "=");
237
- if (location !== -1) {
238
- storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];
239
- }
240
- } catch (ignore) {}
241
- }
242
-
243
- // If the stored level is not valid, treat it as if nothing was stored.
244
- if (self.levels[storedLevel] === undefined) {
245
- storedLevel = undefined;
246
- }
247
-
248
- return storedLevel;
249
- }
250
-
251
- function clearPersistedLevel() {
252
- if (typeof window === undefinedType || !storageKey) return;
253
-
254
- // Use localStorage if available
255
- try {
256
- window.localStorage.removeItem(storageKey);
257
- return;
258
- } catch (ignore) {}
259
-
260
- // Use session cookie as fallback
261
- try {
262
- window.document.cookie =
263
- encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
264
- } catch (ignore) {}
265
- }
266
-
267
- /*
268
- *
269
- * Public logger API - see https://github.com/pimterry/loglevel for details
270
- *
271
- */
272
-
273
- self.name = name;
274
-
275
- self.levels = { "TRACE": 0, "DEBUG": 1, "INFO": 2, "WARN": 3,
276
- "ERROR": 4, "SILENT": 5};
277
-
278
- self.methodFactory = factory || defaultMethodFactory;
279
-
280
- self.getLevel = function () {
281
- return currentLevel;
282
- };
283
-
284
- self.setLevel = function (level, persist) {
285
- if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) {
286
- level = self.levels[level.toUpperCase()];
287
- }
288
- if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) {
289
- currentLevel = level;
290
- if (persist !== false) { // defaults to true
291
- persistLevelIfPossible(level);
292
- }
293
- replaceLoggingMethods.call(self, level, name);
294
- if (typeof console === undefinedType && level < self.levels.SILENT) {
295
- return "No console available for logging";
296
- }
297
- } else {
298
- throw "log.setLevel() called with invalid level: " + level;
299
- }
300
- };
301
-
302
- self.setDefaultLevel = function (level) {
303
- defaultLevel = level;
304
- if (!getPersistedLevel()) {
305
- self.setLevel(level, false);
306
- }
307
- };
308
-
309
- self.resetLevel = function () {
310
- self.setLevel(defaultLevel, false);
311
- clearPersistedLevel();
312
- };
313
-
314
- self.enableAll = function(persist) {
315
- self.setLevel(self.levels.TRACE, persist);
316
- };
317
-
318
- self.disableAll = function(persist) {
319
- self.setLevel(self.levels.SILENT, persist);
320
- };
321
-
322
- // Initialize with the right level
323
- var initialLevel = getPersistedLevel();
324
- if (initialLevel == null) {
325
- initialLevel = defaultLevel;
326
- }
327
- self.setLevel(initialLevel, false);
328
- }
329
-
330
- /*
331
- *
332
- * Top-level API
333
- *
334
- */
335
-
336
- var defaultLogger = new Logger();
337
-
338
- var _loggersByName = {};
339
- defaultLogger.getLogger = function getLogger(name) {
340
- if ((typeof name !== "symbol" && typeof name !== "string") || name === "") {
341
- throw new TypeError("You must supply a name when creating a logger.");
342
- }
343
-
344
- var logger = _loggersByName[name];
345
- if (!logger) {
346
- logger = _loggersByName[name] = new Logger(
347
- name, defaultLogger.getLevel(), defaultLogger.methodFactory);
348
- }
349
- return logger;
350
- };
351
-
352
- // Grab the current global log variable in case of overwrite
353
- var _log = (typeof window !== undefinedType) ? window.log : undefined;
354
- defaultLogger.noConflict = function() {
355
- if (typeof window !== undefinedType &&
356
- window.log === defaultLogger) {
357
- window.log = _log;
358
- }
359
-
360
- return defaultLogger;
361
- };
362
-
363
- defaultLogger.getLoggers = function getLoggers() {
364
- return _loggersByName;
365
- };
366
-
367
- // ES6 default export, for compatibility
368
- defaultLogger['default'] = defaultLogger;
369
-
370
- return defaultLogger;
371
- }));
372
- });
373
-
374
71
  const _breakpoints = ['xs', 's', 'm', 'l', 'xl'];
375
72
  const Breakpoints = {
376
73
  xs: '(max-width: 539.98px)',
@@ -486,7 +183,7 @@ function createEmptyStyleRule(query) {
486
183
  }
487
184
  }
488
185
 
489
- const catButtonCss = ":host{display:inline-block;max-width:100%;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.cat-button{font:inherit;display:flex;align-items:center;justify-content:center;border:none;border-radius:0.25rem;text-decoration:none;width:100%;box-sizing:border-box;cursor:pointer;transition:color 0.13s linear, border-color 0.13s linear, background-color 0.13s linear, box-shadow 0.13s linear}.cat-button:focus-visible{outline:2px solid #0071ff;outline-offset:1px}.cat-button-ellipsed .cat-button-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.cat-button-disabled{cursor:not-allowed;opacity:0.65;filter:grayscale(100%)}.cat-button-round{border-radius:10rem}.cat-button-loading{cursor:default}.cat-button-loading cat-spinner{position:absolute}.cat-button-loading>*:not(cat-spinner){visibility:hidden}.cat-button-filled{background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}.cat-button-outlined{background-color:white;box-shadow:inset 0 0 0 1px rgba(var(--base), 0.2);color:rgb(var(--text))}.cat-button-outlined:hover:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.05)}.cat-button-outlined:active:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.1)}.cat-button-text{background-color:transparent;color:rgb(var(--text));text-decoration:none}.cat-button-text:hover:not(.cat-button-disabled):not(.cat-button-loading){text-decoration:underline}.cat-button-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 32, 127, 138);--base:var(--cat-primary-text, 32, 127, 138)}.cat-button-primary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-hover, 28, 112, 122);--fill:var(--cat-primary-fill-hover, 255, 255, 255);--text:var(--cat-primary-text-hover, 28, 112, 122)}.cat-button-primary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-active, 25, 101, 110);--fill:var(--cat-primary-fill-active, 255, 255, 255);--text:var(--cat-primary-text-active, 25, 101, 110)}.cat-button-secondary{--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0;--base:105, 118, 135}.cat-button-secondary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0}.cat-button-secondary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0}.cat-button-success{--bg:0, 132, 88;--fill:255, 255, 255;--text:0, 132, 88;--base:0, 132, 88}.cat-button-success:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:0, 117, 78;--fill:255, 255, 255;--text:0, 117, 78}.cat-button-success:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:0, 105, 70;--fill:255, 255, 255;--text:0, 105, 70}.cat-button-warning{--bg:255, 206, 128;--fill:0, 0, 0;--text:159, 97, 0;--base:159, 97, 0}.cat-button-warning:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:255, 214, 148;--fill:0, 0, 0;--text:159, 97, 0}.cat-button-warning:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:255, 222, 168;--fill:0, 0, 0;--text:159, 97, 0}.cat-button-danger{--bg:217, 52, 13;--fill:255, 255, 255;--text:217, 52, 13;--base:217, 52, 13}.cat-button-danger:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:194, 46, 11;--fill:255, 255, 255;--text:194, 46, 11}.cat-button-danger:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:174, 42, 10;--fill:255, 255, 255;--text:174, 42, 10}.cat-button-xs{min-width:1.5rem;padding:0.25rem 0.25rem;font-size:0.875rem;line-height:1rem}.cat-button-xs .cat-button-prefix{margin-right:0.25rem}.cat-button-xs .cat-button-suffix{margin-left:0.25rem}.cat-button-xs.cat-button-icon{width:1.5rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-xs{padding-left:1rem;padding-right:1rem}.cat-button-s{min-width:2rem;padding:0.375rem 0.5rem;font-size:0.9375rem;line-height:1.25rem}.cat-button-s .cat-button-prefix{margin-right:0.25rem}.cat-button-s .cat-button-suffix{margin-left:0.25rem}.cat-button-s cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-s.cat-button-icon{width:2rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-s{padding-left:1rem;padding-right:1rem}.cat-button-m{min-width:2.5rem;padding:0.625rem 0.75rem;font-size:0.9375rem;line-height:1.25rem}.cat-button-m .cat-button-prefix{margin-right:0.25rem}.cat-button-m .cat-button-suffix{margin-left:0.25rem}.cat-button-m cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-m.cat-button-icon{width:2.5rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-m{padding-left:1rem;padding-right:1rem}.cat-button-l{min-width:3rem;padding:0.875rem 1rem;font-size:0.9375rem;line-height:1.25rem}.cat-button-l .cat-button-prefix{margin-right:0.25rem}.cat-button-l .cat-button-suffix{margin-left:0.25rem}.cat-button-l cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-l.cat-button-icon{width:3rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-l{padding-left:1rem;padding-right:1rem}.cat-button-xl{min-width:3.5rem;padding:1rem 1.25rem;font-size:1.125rem;line-height:1.5rem}.cat-button-xl .cat-button-prefix{margin-right:0.25rem}.cat-button-xl .cat-button-suffix{margin-left:0.25rem}.cat-button-xl.cat-button-icon{width:3.5rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-xl{padding-left:1rem;padding-right:1rem}:host-context(nav){width:100%}:host-context(nav) .cat-button{box-shadow:none;border-radius:0}:host-context(nav) .cat-button:focus-visible{outline-offset:-2px}:host-context(nav) .cat-button-content{text-align:left}:host([hidden]){display:none}:host(.cat-text-left) .cat-button{justify-content:left}:host(.cat-text-right) .cat-button{justify-content:right}";
186
+ const catButtonCss = ":host{display:inline-block;max-width:100%;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host([hidden]){display:none}.cat-button{position:relative;font:inherit;display:flex;align-items:center;justify-content:center;border:none;border-radius:0.25rem;text-decoration:none;width:100%;box-sizing:border-box;cursor:pointer;transition:color 0.13s linear, border-color 0.13s linear, background-color 0.13s linear, box-shadow 0.13s linear}.cat-button:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.cat-button-ellipsed .cat-button-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.cat-button-disabled{cursor:not-allowed;opacity:0.65;filter:grayscale(100%)}.cat-button-round{border-radius:10rem}.cat-button-loading{cursor:default}.cat-button-loading cat-spinner{position:absolute}.cat-button-loading>*:not(cat-spinner){visibility:hidden}.cat-button-filled{background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}.cat-button-outlined{background-color:white;box-shadow:inset 0 0 0 1px rgba(var(--base), 0.2);color:rgb(var(--text))}.cat-button-outlined:hover:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.05)}.cat-button-outlined:active:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.1)}.cat-button-text{background-color:transparent;color:rgb(var(--text));text-decoration:none}.cat-button-text:hover:not(.cat-button-disabled):not(.cat-button-loading){text-decoration:underline}.cat-button-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 32, 127, 138);--base:var(--cat-primary-text, 32, 127, 138)}.cat-button-primary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-hover, 28, 112, 122);--fill:var(--cat-primary-fill-hover, 255, 255, 255);--text:var(--cat-primary-text-hover, 28, 112, 122)}.cat-button-primary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-active, 25, 101, 110);--fill:var(--cat-primary-fill-active, 255, 255, 255);--text:var(--cat-primary-text-active, 25, 101, 110)}.cat-button-secondary{--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0;--base:105, 118, 135}.cat-button-secondary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0}.cat-button-secondary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0}.cat-button-success{--bg:0, 132, 88;--fill:255, 255, 255;--text:0, 132, 88;--base:0, 132, 88}.cat-button-success:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:0, 117, 78;--fill:255, 255, 255;--text:0, 117, 78}.cat-button-success:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:0, 105, 70;--fill:255, 255, 255;--text:0, 105, 70}.cat-button-warning{--bg:255, 206, 128;--fill:0, 0, 0;--text:159, 97, 0;--base:159, 97, 0}.cat-button-warning:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:255, 214, 148;--fill:0, 0, 0;--text:159, 97, 0}.cat-button-warning:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:255, 222, 168;--fill:0, 0, 0;--text:159, 97, 0}.cat-button-danger{--bg:217, 52, 13;--fill:255, 255, 255;--text:217, 52, 13;--base:217, 52, 13}.cat-button-danger:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:194, 46, 11;--fill:255, 255, 255;--text:194, 46, 11}.cat-button-danger:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:174, 42, 10;--fill:255, 255, 255;--text:174, 42, 10}.cat-button-xs{min-width:1.5rem;padding:0.25rem 0.25rem;font-size:0.875rem;line-height:1rem}.cat-button-xs .cat-button-prefix{margin-right:0.25rem}.cat-button-xs .cat-button-suffix{margin-left:0.25rem}.cat-button-xs.cat-button-icon{width:1.5rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-xs{padding-left:1rem;padding-right:1rem}.cat-button-s{min-width:2rem;padding:0.375rem 0.5rem;font-size:0.9375rem;line-height:1.25rem}.cat-button-s .cat-button-prefix{margin-right:0.25rem}.cat-button-s .cat-button-suffix{margin-left:0.25rem}.cat-button-s cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-s.cat-button-icon{width:2rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-s{padding-left:1rem;padding-right:1rem}.cat-button-m{min-width:2.5rem;padding:0.625rem 0.75rem;font-size:0.9375rem;line-height:1.25rem}.cat-button-m .cat-button-prefix{margin-right:0.25rem}.cat-button-m .cat-button-suffix{margin-left:0.25rem}.cat-button-m cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-m.cat-button-icon{width:2.5rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-m{padding-left:1rem;padding-right:1rem}.cat-button-l{min-width:3rem;padding:0.875rem 1rem;font-size:0.9375rem;line-height:1.25rem}.cat-button-l .cat-button-prefix{margin-right:0.25rem}.cat-button-l .cat-button-suffix{margin-left:0.25rem}.cat-button-l cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-l.cat-button-icon{width:3rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-l{padding-left:1rem;padding-right:1rem}.cat-button-xl{min-width:3.5rem;padding:1rem 1.25rem;font-size:1.125rem;line-height:1.5rem}.cat-button-xl .cat-button-prefix{margin-right:0.25rem}.cat-button-xl .cat-button-suffix{margin-left:0.25rem}.cat-button-xl.cat-button-icon{width:3.5rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-xl{padding-left:1rem;padding-right:1rem}.cat-button-active::before{content:\"\";display:block;position:absolute;top:0;left:0;width:0.25rem;height:100%;background:rgb(var(--base))}:host-context(nav){width:100%}:host-context(nav) .cat-button{box-shadow:none;border-radius:0;justify-content:left}:host-context(nav) .cat-button:focus-visible{outline-offset:-2px}:host(.cat-text-left) .cat-button{justify-content:left}:host(.cat-text-right) .cat-button{justify-content:right}";
490
187
 
491
188
  const CatButton = class {
492
189
  constructor(hostRef) {
@@ -503,6 +200,10 @@ const CatButton = class {
503
200
  * The color palette of the button.
504
201
  */
505
202
  this.color = 'secondary';
203
+ /**
204
+ * Show an active status indicator on the left side of the button.
205
+ */
206
+ this.active = false;
506
207
  /**
507
208
  * The size of the button.
508
209
  */
@@ -535,9 +236,9 @@ const CatButton = class {
535
236
  */
536
237
  this.iconOnly = false;
537
238
  /**
538
- * Display the icon as a suffix.
239
+ * Display the icon on the right.
539
240
  */
540
- this.iconSuffix = false;
241
+ this.iconRight = false;
541
242
  }
542
243
  onIconOnlyChanged(value) {
543
244
  var _a, _b;
@@ -599,6 +300,7 @@ const CatButton = class {
599
300
  else {
600
301
  return (h("button", { ref: el => (this.button = el), type: this.submit ? 'submit' : 'button', name: this.name, value: this.value, disabled: this.disabled, "aria-disabled": this.disabled ? 'true' : null, "aria-label": this.a11yLabel, id: this.buttonId, part: "button", class: {
601
302
  'cat-button': true,
303
+ 'cat-button-active': this.active,
602
304
  'cat-button-icon': this.isIconButton,
603
305
  'cat-button-round': (_a = this.round) !== null && _a !== void 0 ? _a : this.isIconButton,
604
306
  'cat-button-loading': this.loading,
@@ -630,10 +332,10 @@ const CatButton = class {
630
332
  return Boolean(this.icon) && this._iconOnly;
631
333
  }
632
334
  get hasPrefixIcon() {
633
- return Boolean(this.icon) && !this._iconOnly && !this.iconSuffix;
335
+ return Boolean(this.icon) && !this._iconOnly && !this.iconRight;
634
336
  }
635
337
  get hasSuffixIcon() {
636
- return Boolean(this.icon) && !this._iconOnly && this.iconSuffix;
338
+ return Boolean(this.icon) && !this._iconOnly && this.iconRight;
637
339
  }
638
340
  get content() {
639
341
  return [
@@ -658,7 +360,88 @@ const CatButton = class {
658
360
  };
659
361
  CatButton.style = catButtonCss;
660
362
 
661
- const catIconCss = ":host{display:inline-flex;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host([hidden]){display:none}span{display:inline-flex}svg{fill:currentColor;stroke:none;transform-origin:center center;width:1em;height:1em}.cat-icon-xs svg{font-size:0.75rem}.cat-icon-s svg{font-size:1rem}.cat-icon-m svg{font-size:1.25rem}.cat-icon-l svg{font-size:1.5rem}.cat-icon-xl svg{font-size:1.75rem}";
363
+ const catCardCss = ":host{display:block;margin-bottom:1rem;border-radius:0.5rem;background-color:white;box-shadow:inset 0 0 0 1px #ebecf0;padding:1.5rem}:host([hidden]){display:none}::slotted(nav){margin:-1rem -1.5rem !important}::slotted(:last-child){margin-bottom:0}";
364
+
365
+ const CatCard = class {
366
+ constructor(hostRef) {
367
+ registerInstance(this, hostRef);
368
+ }
369
+ render() {
370
+ return (h(Host, null, h("slot", null)));
371
+ }
372
+ };
373
+ CatCard.style = catCardCss;
374
+
375
+ const catCheckboxCss = ":host{display:flex;margin-bottom:1rem}:host([hidden]){display:none}label{flex:0 1 auto;display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}input{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.box{flex:0 0 auto;display:flex;position:relative;height:1.25rem;width:1.25rem;background-color:white;border:1px solid #d7dbe0;border-radius:0.125rem;transition:background-color 0.13s ease, border-color 0.13s ease}.box svg{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16px;stroke-dashoffset:16px;transition:all 0.13s ease;width:70%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.99)}:checked+.box{background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-color:rgb(var(--cat-primary-bg, 32, 127, 138));stroke:rgb(var(--cat-primary-fill, 255, 255, 255))}:checked+.box .check{stroke-dashoffset:0}:indeterminate+.box{background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-color:rgb(var(--cat-primary-bg, 32, 127, 138));stroke:rgb(var(--cat-primary-fill, 255, 255, 255))}:indeterminate+.box .dash{stroke-dashoffset:0}:focus-visible+.box{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.label{flex:1 1 auto}.is-hidden .label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
376
+
377
+ let nextUniqueId$6 = 0;
378
+ const CatCheckbox = class {
379
+ constructor(hostRef) {
380
+ registerInstance(this, hostRef);
381
+ this.catChange = createEvent(this, "catChange", 7);
382
+ this.catFocus = createEvent(this, "catFocus", 7);
383
+ this.catBlur = createEvent(this, "catBlur", 7);
384
+ this.id = `cat-checkbox-${nextUniqueId$6++}`;
385
+ /**
386
+ * Checked state of the checkbox
387
+ */
388
+ this.checked = false;
389
+ /**
390
+ * Disabled state of the checkbox
391
+ */
392
+ this.disabled = false;
393
+ /**
394
+ * Indeterminate state of the checkbox
395
+ */
396
+ this.indeterminate = false;
397
+ /**
398
+ * Label of the checkbox which is presented in the UI
399
+ */
400
+ this.label = '';
401
+ /**
402
+ * Visually hide the label, but still show it to assistive technologies like screen readers.
403
+ */
404
+ this.labelHidden = false;
405
+ /**
406
+ * Required state of the checkbox
407
+ */
408
+ this.required = false;
409
+ }
410
+ componentDidLoad() {
411
+ if (this.input && this.indeterminate) {
412
+ this.input.indeterminate = true;
413
+ }
414
+ }
415
+ componentWillRender() {
416
+ if (!this.label) {
417
+ loglevel.error('[A11y] Missing ARIA label on checkbox', this);
418
+ }
419
+ }
420
+ /**
421
+ * Sets focus on the checkbox. Use this method instead of `checkbox.focus()`.
422
+ *
423
+ * @param options An optional object providing options to control aspects of
424
+ * the focusing process.
425
+ */
426
+ async setFocus(options) {
427
+ this.input.focus(options);
428
+ }
429
+ render() {
430
+ return (h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled } }, h("input", { ref: el => (this.input = el), id: this.id, type: "checkbox", name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), h("span", { class: "box", "aria-hidden": "true", part: "checkbox" }, h("svg", { class: "check", viewBox: "0 0 12 10" }, h("polyline", { points: "1.5 6 4.5 9 10.5 1" })), h("svg", { class: "dash", viewBox: "0 0 12 10" }, h("polyline", { points: "1.5 5 10.5 5" }))), h("span", { class: "label", part: "label" }, this.label)));
431
+ }
432
+ onInput(event) {
433
+ this.catChange.emit(event);
434
+ }
435
+ onFocus(event) {
436
+ this.catFocus.emit(event);
437
+ }
438
+ onBlur(event) {
439
+ this.catBlur.emit(event);
440
+ }
441
+ };
442
+ CatCheckbox.style = catCheckboxCss;
443
+
444
+ const catIconCss = ":host{display:inline-flex;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host([hidden]){display:none}span{display:inline-flex}svg{fill:currentColor;stroke:none;transform-origin:center center;width:1em;height:1em}.icon-xs svg{font-size:0.75rem}.icon-s svg{font-size:1rem}.icon-m svg{font-size:1.25rem}.icon-l svg{font-size:1.5rem}.icon-xl svg{font-size:1.75rem}";
662
445
 
663
446
  const CatIcon = class {
664
447
  constructor(hostRef) {
@@ -675,12 +458,117 @@ const CatIcon = class {
675
458
  }
676
459
  render() {
677
460
  return (h("span", { innerHTML: this.iconRegistry.getIcon(this.icon), "aria-label": this.a11yLabel, "aria-hidden": this.a11yLabel ? null : 'true', part: "icon", class: {
678
- [`cat-icon-${this.size}`]: this.size !== 'inline'
461
+ icon: true,
462
+ [`icon-${this.size}`]: this.size !== 'inline'
679
463
  } }));
680
464
  }
681
465
  };
682
466
  CatIcon.style = catIconCss;
683
467
 
468
+ const catInputCss = ":host{display:flex;flex-direction:column;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;margin-bottom:1rem}:host([hidden]){display:none}.input-wrapper{display:flex;align-items:stretch;gap:0.5rem;padding:0 0.75rem;height:2.5rem;overflow:hidden;background:white;border-radius:0.25rem;box-shadow:0 0 0 1px #d7dbe0;transition:box-shadow 0.13s linear}.input-wrapper.input-round{border-radius:10rem}.input-wrapper.input-disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.input-wrapper:not(.input-disabled):hover{box-shadow:0 0 0 2px #d7dbe0}.input-wrapper:not(.input-disabled):focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}label{display:block;align-self:flex-start}label.hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.text-prefix,.text-suffix{display:inline-flex;align-items:center;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.text-prefix{border-right:1px solid #d7dbe0;padding-right:0.5rem}.text-suffix{border-left:1px solid #d7dbe0;padding-left:0.5rem}.icon-prefix,.icon-suffix{align-self:center}.input-inner-wrapper{display:flex;position:relative}input{font:inherit;margin:0;padding:0;width:100%;min-width:0;border:none;outline:none;background:none}.input-disabled input{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}input.has-clearable{padding-right:2rem}input::placeholder{color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.clearable{position:absolute;top:calc(50% - 1rem);right:-0.25rem}.input-hint{font-size:0.875rem;line-height:1rem;margin:0}";
469
+
470
+ let nextUniqueId$5 = 0;
471
+ const CatInput = class {
472
+ constructor(hostRef) {
473
+ registerInstance(this, hostRef);
474
+ this.catChange = createEvent(this, "catChange", 7);
475
+ this.catFocus = createEvent(this, "catFocus", 7);
476
+ this.catBlur = createEvent(this, "catBlur", 7);
477
+ this.i18n = CatI18nRegistry.getInstance();
478
+ this.id = `cat-input-${nextUniqueId$5++}`;
479
+ this.inputValue = '';
480
+ /**
481
+ * Whether the input should show a clear button.
482
+ */
483
+ this.clearable = false;
484
+ /**
485
+ * Whether the input is disabled.
486
+ */
487
+ this.disabled = false;
488
+ /**
489
+ * Display the icon on the right.
490
+ */
491
+ this.iconRight = false;
492
+ /**
493
+ * The label for the input.
494
+ */
495
+ this.label = '';
496
+ /**
497
+ * Visually hide the label, but still show it to assistive technologies like screen readers.
498
+ */
499
+ this.labelHidden = false;
500
+ /**
501
+ * The name of the form control. Submitted with the form as part of a name/value pair.
502
+ */
503
+ this.name = '';
504
+ /**
505
+ * The value is not editable.
506
+ */
507
+ this.readonly = false;
508
+ /**
509
+ * A value is required or must be check for the form to be submittable.
510
+ */
511
+ this.required = false;
512
+ /**
513
+ * Use round input edges.
514
+ */
515
+ this.round = false;
516
+ /**
517
+ * Type of form control.
518
+ */
519
+ this.type = 'text';
520
+ }
521
+ onValueChange(value) {
522
+ this.inputValue = '' + (value !== null && value !== void 0 ? value : '');
523
+ }
524
+ componentWillLoad() {
525
+ this.onValueChange(this.value);
526
+ }
527
+ componentWillRender() {
528
+ if (!this.label) {
529
+ loglevel.error('[A11y] Missing ARIA label on input', this);
530
+ }
531
+ }
532
+ /**
533
+ * Sets focus on the input. Use this method instead of `input.focus()`.
534
+ *
535
+ * @param options An optional object providing options to control aspects of
536
+ * the focusing process.
537
+ */
538
+ async setFocus(options) {
539
+ this.input.focus(options);
540
+ }
541
+ /**
542
+ * Clear the input.
543
+ */
544
+ async clear() {
545
+ this.inputValue = '';
546
+ }
547
+ render() {
548
+ return (h(Host, null, this.label && (h("label", { htmlFor: this.id, class: { hidden: this.labelHidden } }, h("span", { part: "label" }, this.label, !this.required && (h("span", { class: "input-optional", "aria-hidden": "true" }, "(", this.i18n.getMessage('input.optional'), ")"))))), h("div", { class: {
549
+ 'input-wrapper': true,
550
+ 'input-round': this.round,
551
+ 'input-disabled': this.disabled
552
+ }, onClick: () => this.input.focus() }, this.textPrefix && (h("span", { class: "text-prefix", part: "prefix" }, this.textPrefix)), this.icon && !this.iconRight && h("cat-icon", { icon: this.icon, class: "icon-prefix" }), h("div", { class: "input-inner-wrapper" }, h("input", { ref: el => (this.input = el), id: this.id, class: {
553
+ 'has-clearable': this.clearable && !this.disabled
554
+ }, autocomplete: this.autoComplete, disabled: this.disabled, max: this.max, maxlength: this.maxLength, min: this.max, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, type: this.type, value: this.inputValue, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), this.clearable && !this.disabled && this.inputValue && (h("cat-button", { class: "clearable", icon: "cross-circle-outlined", "icon-only": "true", size: "s", variant: "text", round: true, "a11y-label": "sdf", onClick: this.clear.bind(this) }, this.i18n.getMessage('input.clear')))), this.icon && this.iconRight && h("cat-icon", { icon: this.icon, class: "icon-suffix" }), this.textSuffix && (h("span", { class: "text-suffix", part: "suffix" }, this.textSuffix))), this.hint && h("p", { class: "input-hint" }, this.hint)));
555
+ }
556
+ onInput(event) {
557
+ this.inputValue = this.input.value;
558
+ this.catChange.emit(event);
559
+ }
560
+ onFocus(event) {
561
+ this.catFocus.emit(event);
562
+ }
563
+ onBlur(event) {
564
+ this.catBlur.emit(event);
565
+ }
566
+ static get watchers() { return {
567
+ "value": ["onValueChange"]
568
+ }; }
569
+ };
570
+ CatInput.style = catInputCss;
571
+
684
572
  function getSide(placement) {
685
573
  return placement.split('-')[0];
686
574
  }
@@ -1066,9 +954,9 @@ const flip = function (options) {
1066
954
  switch (fallbackStrategy) {
1067
955
  case 'bestFit':
1068
956
  {
1069
- var _overflowsData$map$so;
957
+ var _overflowsData$slice$;
1070
958
 
1071
- const placement = (_overflowsData$map$so = overflowsData.map(d => [d, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0].placement;
959
+ const placement = (_overflowsData$slice$ = overflowsData.slice().sort((a, b) => a.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0) - b.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0))[0]) == null ? void 0 : _overflowsData$slice$.placement;
1072
960
 
1073
961
  if (placement) {
1074
962
  resetPlacement = placement;
@@ -1109,13 +997,14 @@ function convertValueToCoords(placement, rects, value, rtl) {
1109
997
  const crossAxisMulti = rtl && isVertical ? -1 : 1;
1110
998
  const rawValue = typeof value === 'function' ? value({ ...rects,
1111
999
  placement
1112
- }) : value; // eslint-disable-next-line prefer-const
1000
+ }) : value;
1001
+ const isNumber = typeof rawValue === 'number'; // eslint-disable-next-line prefer-const
1113
1002
 
1114
1003
  let {
1115
1004
  mainAxis,
1116
1005
  crossAxis,
1117
1006
  alignmentAxis
1118
- } = typeof rawValue === 'number' ? {
1007
+ } = isNumber ? {
1119
1008
  mainAxis: rawValue,
1120
1009
  crossAxis: 0,
1121
1010
  alignmentAxis: null
@@ -1749,7 +1638,7 @@ const computePosition = (reference, floating, options) => computePosition$1(refe
1749
1638
  });
1750
1639
 
1751
1640
  /*!
1752
- * tabbable 5.3.0-beta.1
1641
+ * tabbable 5.3.1
1753
1642
  * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
1754
1643
  */
1755
1644
  var candidateSelectors = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]:not(slot)', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])', 'details>summary:first-of-type', 'details'];
@@ -1868,34 +1757,22 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
1868
1757
  return candidates;
1869
1758
  };
1870
1759
 
1871
- var isContentEditable = function isContentEditable(node) {
1872
- return node.contentEditable === 'true';
1873
- };
1874
-
1875
1760
  var getTabindex = function getTabindex(node, isScope) {
1876
- var tabindexAttr = parseInt(node.getAttribute('tabindex'), 10);
1877
-
1878
- if (!isNaN(tabindexAttr)) {
1879
- return tabindexAttr;
1880
- } // Browsers do not return `tabIndex` correctly for contentEditable nodes;
1881
- // so if they don't have a tabindex attribute specifically set, assume it's 0.
1882
-
1883
-
1884
- if (isContentEditable(node)) {
1885
- return 0;
1886
- } // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
1887
- // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,
1888
- // yet they are still part of the regular tab order; in FF, they get a default
1889
- // `tabIndex` of 0; since Chrome still puts those elements in the regular tab
1890
- // order, consider their tab index to be 0.
1891
- //
1892
- // isScope is positive for custom element with shadow root or slot that by default
1893
- // have tabIndex -1, but need to be sorted by document order in order for their
1894
- // content to be inserted in the correct position
1895
-
1896
-
1897
- if ((isScope || node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) {
1898
- return 0;
1761
+ if (node.tabIndex < 0) {
1762
+ // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
1763
+ // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,
1764
+ // yet they are still part of the regular tab order; in FF, they get a default
1765
+ // `tabIndex` of 0; since Chrome still puts those elements in the regular tab
1766
+ // order, consider their tab index to be 0.
1767
+ // Also browsers do not return `tabIndex` correctly for contentEditable nodes;
1768
+ // so if they don't have a tabindex attribute specifically set, assume it's 0.
1769
+ //
1770
+ // isScope is positive for custom element with shadow root or slot that by default
1771
+ // have tabIndex -1, but need to be sorted by document order in order for their
1772
+ // content to be inserted in the correct position
1773
+ if ((isScope || /^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || node.isContentEditable) && isNaN(parseInt(node.getAttribute('tabindex'), 10))) {
1774
+ return 0;
1775
+ }
1899
1776
  }
1900
1777
 
1901
1778
  return node.tabIndex;
@@ -2078,7 +1955,7 @@ var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(o
2078
1955
  };
2079
1956
 
2080
1957
  var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {
2081
- if (!isNodeMatchingSelectorFocusable(options, node) || isNonTabbableRadio(node) || getTabindex(node) < 0) {
1958
+ if (isNonTabbableRadio(node) || getTabindex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {
2082
1959
  return false;
2083
1960
  }
2084
1961
 
@@ -2182,7 +2059,7 @@ var isFocusable = function isFocusable(node, options) {
2182
2059
  };
2183
2060
 
2184
2061
  /*!
2185
- * focus-trap 6.8.0-beta.2
2062
+ * focus-trap 6.8.1
2186
2063
  * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
2187
2064
  */
2188
2065
 
@@ -2479,16 +2356,10 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
2479
2356
 
2480
2357
  var updateTabbableNodes = function updateTabbableNodes() {
2481
2358
  state.containerGroups = state.containers.map(function (container) {
2482
- var _config$tabbableOptio, _config$tabbableOptio2;
2483
-
2484
- var tabbableNodes = tabbable(container, {
2485
- getShadowRoot: (_config$tabbableOptio = config.tabbableOptions) === null || _config$tabbableOptio === void 0 ? void 0 : _config$tabbableOptio.getShadowRoot
2486
- }); // NOTE: if we have tabbable nodes, we must have focusable nodes; focusable nodes
2359
+ var tabbableNodes = tabbable(container, config.tabbableOptions); // NOTE: if we have tabbable nodes, we must have focusable nodes; focusable nodes
2487
2360
  // are a superset of tabbable nodes
2488
2361
 
2489
- var focusableNodes = focusable(container, {
2490
- getShadowRoot: (_config$tabbableOptio2 = config.tabbableOptions) === null || _config$tabbableOptio2 === void 0 ? void 0 : _config$tabbableOptio2.getShadowRoot
2491
- });
2362
+ var focusableNodes = focusable(container, config.tabbableOptions);
2492
2363
  return {
2493
2364
  container: container,
2494
2365
  tabbableNodes: tabbableNodes,
@@ -2526,12 +2397,12 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
2526
2397
 
2527
2398
  if (forward) {
2528
2399
  return focusableNodes.slice(nodeIdx + 1).find(function (n) {
2529
- return isTabbable(n);
2400
+ return isTabbable(n, config.tabbableOptions);
2530
2401
  });
2531
2402
  }
2532
2403
 
2533
2404
  return focusableNodes.slice(0, nodeIdx).reverse().find(function (n) {
2534
- return isTabbable(n);
2405
+ return isTabbable(n, config.tabbableOptions);
2535
2406
  });
2536
2407
  }
2537
2408
  };
@@ -2599,7 +2470,7 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
2599
2470
  // that was clicked, whether it's focusable or not; by setting
2600
2471
  // `returnFocus: true`, we'll attempt to re-focus the node originally-focused
2601
2472
  // on activation (or the configured `setReturnFocus` node)
2602
- returnFocus: config.returnFocusOnDeactivate && !isFocusable(target)
2473
+ returnFocus: config.returnFocusOnDeactivate && !isFocusable(target, config.tabbableOptions)
2603
2474
  });
2604
2475
  return;
2605
2476
  } // This is needed for mobile devices.
@@ -2666,7 +2537,7 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
2666
2537
  return target === firstTabbableNode;
2667
2538
  });
2668
2539
 
2669
- if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target) && !isTabbable(target) && !containerGroup.nextTabbableNode(target, false))) {
2540
+ if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {
2670
2541
  // an exception case where the target is either the container itself, or
2671
2542
  // a non-tabbable node that was given focus (i.e. tabindex is negative
2672
2543
  // and user clicked on it or node was programmatically given focus)
@@ -2692,7 +2563,7 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
2692
2563
  return target === lastTabbableNode;
2693
2564
  });
2694
2565
 
2695
- if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target) && !isTabbable(target) && !containerGroup.nextTabbableNode(target))) {
2566
+ if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {
2696
2567
  // an exception case where the target is the container itself, or
2697
2568
  // a non-tabbable node that was given focus (i.e. tabindex is negative
2698
2569
  // and user clicked on it or node was programmatically given focus)
@@ -2928,15 +2799,19 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
2928
2799
  return trap;
2929
2800
  };
2930
2801
 
2931
- const catMenuCss = ":host{display:inline-block}:host([hidden]){display:none}.content{padding-top:0.5rem;padding-bottom:0.5rem;position:absolute;background:white;display:none;overflow:auto;-webkit-overflow-scrolling:touch;min-width:8rem;max-width:16rem;min-height:2rem;max-height:calc(100vh - 48px);box-shadow:0 1px 4px 0 rgba(16, 29, 48, 0.2);border-radius:0.25rem}";
2802
+ const firstTabbable = (container) => {
2803
+ return (container ? tabbable(container, { includeContainer: true, getShadowRoot: true }) : []).shift();
2804
+ };
2932
2805
 
2933
- let nextUniqueId = 0;
2806
+ const catMenuCss = ":host{display:contents}:host([hidden]){display:none}.content{padding-top:0.5rem;padding-bottom:0.5rem;position:absolute;background:white;display:none;overflow:auto;-webkit-overflow-scrolling:touch;min-width:8rem;max-width:16rem;min-height:2rem;max-height:calc(100vh - 48px);box-shadow:0 1px 4px 0 rgba(16, 29, 48, 0.2);border-radius:0.25rem;z-index:100}";
2807
+
2808
+ let nextUniqueId$4 = 0;
2934
2809
  const CatMenu = class {
2935
2810
  constructor(hostRef) {
2936
2811
  registerInstance(this, hostRef);
2937
2812
  this.catOpen = createEvent(this, "catOpen", 7);
2938
2813
  this.catClose = createEvent(this, "catClose", 7);
2939
- this.id = nextUniqueId++;
2814
+ this.id = nextUniqueId$4++;
2940
2815
  /**
2941
2816
  * The placement of the menu.
2942
2817
  */
@@ -2952,7 +2827,7 @@ const CatMenu = class {
2952
2827
  }
2953
2828
  componentDidLoad() {
2954
2829
  var _a, _b, _c, _d, _e;
2955
- this.trigger = this.firstTabbable(this.triggerSlot);
2830
+ this.trigger = firstTabbable(this.triggerSlot);
2956
2831
  (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-haspopup', 'true');
2957
2832
  (_b = this.trigger) === null || _b === void 0 ? void 0 : _b.setAttribute('aria-expanded', 'false');
2958
2833
  (_c = this.trigger) === null || _c === void 0 ? void 0 : _c.setAttribute('aria-controls', this.contentId);
@@ -2964,7 +2839,7 @@ const CatMenu = class {
2964
2839
  this.keyListener = event => {
2965
2840
  if (this.content && ['ArrowDown', 'ArrowUp'].includes(event.key)) {
2966
2841
  const targetElements = tabbable(this.content, { includeContainer: false, getShadowRoot: true });
2967
- const activeElement = this.firstTabbable(document.activeElement);
2842
+ const activeElement = firstTabbable(document.activeElement);
2968
2843
  const activeIdx = activeElement ? targetElements.indexOf(activeElement) : -1;
2969
2844
  const activeOff = event.key === 'ArrowDown' ? 1 : -1;
2970
2845
  const targetIdx = activeIdx < 0 ? 0 : (activeIdx + activeOff + targetElements.length) % targetElements.length;
@@ -3027,13 +2902,70 @@ const CatMenu = class {
3027
2902
  });
3028
2903
  }
3029
2904
  }
3030
- firstTabbable(container) {
3031
- return (container ? tabbable(container, { includeContainer: true, getShadowRoot: true }) : []).shift();
3032
- }
3033
2905
  };
3034
2906
  CatMenu.OFFSET = 4;
3035
2907
  CatMenu.style = catMenuCss;
3036
2908
 
2909
+ const catRadioCss = ":host{display:flex;margin-bottom:1rem}:host([hidden]){display:none}label{display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;cursor:pointer}.radio{display:flex;position:relative}.circle{position:absolute;width:0.75rem;height:0.75rem;background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-radius:10rem;top:calc(50% - 0.375rem);left:calc(50% - 0.375rem);visibility:hidden}input{margin:0;width:1.25rem;height:1.25rem;appearance:none;background-color:white;border:1px solid #d7dbe0;border-radius:10rem;cursor:inherit}input:checked{border-color:rgb(var(--cat-primary-bg, 32, 127, 138))}input:checked+.circle{visibility:visible}input:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.is-hidden .label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.is-disabled input{background-color:#f8f8fb}.is-disabled input:checked{border-color:#d7dbe0}.is-disabled .circle{background-color:#d7dbe0}";
2910
+
2911
+ let nextUniqueId$3 = 0;
2912
+ const CatRadio = class {
2913
+ constructor(hostRef) {
2914
+ registerInstance(this, hostRef);
2915
+ this.catChange = createEvent(this, "catChange", 7);
2916
+ this.catFocus = createEvent(this, "catFocus", 7);
2917
+ this.catBlur = createEvent(this, "catBlur", 7);
2918
+ this.id = `cat-radio-${++nextUniqueId$3}`;
2919
+ /**
2920
+ * Whether this radio is checked.
2921
+ */
2922
+ this.checked = false;
2923
+ /**
2924
+ * Whether this radio is disabled.
2925
+ */
2926
+ this.disabled = false;
2927
+ /**
2928
+ * The label of the radio that is visible.
2929
+ */
2930
+ this.label = '';
2931
+ /**
2932
+ * Visually hide the label, but still show it to assistive technologies like screen readers.
2933
+ */
2934
+ this.labelHidden = false;
2935
+ /**
2936
+ * Whether the radio is required.
2937
+ */
2938
+ this.required = false;
2939
+ }
2940
+ componentWillRender() {
2941
+ if (!this.label) {
2942
+ loglevel.error('[A11y] Missing ARIA label on radio', this);
2943
+ }
2944
+ }
2945
+ /**
2946
+ * Sets focus on the radio. Use this method instead of `radio.focus()`.
2947
+ *
2948
+ * @param options An optional object providing options to control aspects of
2949
+ * the focusing process.
2950
+ */
2951
+ async setFocus(options) {
2952
+ this.input.focus(options);
2953
+ }
2954
+ render() {
2955
+ return (h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled } }, h("span", { class: "radio" }, h("input", { ref: el => (this.input = el), id: this.id, type: "radio", name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onInput: this.onChange.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), h("span", { class: "circle" })), h("span", { class: "label", part: "label" }, this.label)));
2956
+ }
2957
+ onChange(event) {
2958
+ this.catChange.emit(event);
2959
+ }
2960
+ onFocus(event) {
2961
+ this.catFocus.emit(event);
2962
+ }
2963
+ onBlur(event) {
2964
+ this.catBlur.emit(event);
2965
+ }
2966
+ };
2967
+ CatRadio.style = catRadioCss;
2968
+
3037
2969
  function isFunction(value) {
3038
2970
  return typeof value === 'function';
3039
2971
  }
@@ -3732,7 +3664,7 @@ function popNumber(args, defaultValue) {
3732
3664
  return typeof last(args) === 'number' ? args.pop() : defaultValue;
3733
3665
  }
3734
3666
 
3735
- /******************************************************************************
3667
+ /*! *****************************************************************************
3736
3668
  Copyright (c) Microsoft Corporation.
3737
3669
 
3738
3670
  Permission to use, copy, modify, and/or distribute this software for any
@@ -4362,11 +4294,10 @@ const CatScrollable = class {
4362
4294
  (_b = this.scrollWrapperElement) === null || _b === void 0 ? void 0 : _b.classList.remove(name);
4363
4295
  }
4364
4296
  }
4365
- get el() { return getElement(this); }
4366
4297
  };
4367
4298
  CatScrollable.style = catScrollableCss;
4368
4299
 
4369
- const catSkeletonCss = ":host{display:flex;flex-direction:column;position:relative;--background:#ebecf0;--highlight:#d7dbe0;--speed:2s}:host([variant=square]),:host([variant=circle]){display:inline-flex}:host([hidden]){display:none}:host([variant=head]){margin-bottom:0.5rem}:host([variant=body]){margin-bottom:1rem}.cat-skeleton{display:block;border-radius:0.25rem;background:var(--background)}.cat-skeleton-circle{border-radius:10rem}.cat-skeleton-xs.cat-skeleton-rectangle{width:var(--width, 100%);height:var(--height, 1.5rem)}.cat-skeleton-xs.cat-skeleton-square,.cat-skeleton-xs.cat-skeleton-circle{width:var(--width, 1.5rem);height:var(--height, 1.5rem)}.cat-skeleton-xs.cat-skeleton-head,.cat-skeleton-xs.cat-skeleton-body{width:var(--width, var(--line-width, 100%))}.cat-skeleton-xs.cat-skeleton-head{height:calc(0.9375rem - 4px);margin:calc((1.25rem - 0.9375rem + 4px) * 0.5) 0}.cat-skeleton-xs.cat-skeleton-body{height:calc(0.75rem - 4px);margin:calc((1rem - 0.75rem + 4px) * 0.5) 0}.cat-skeleton-s.cat-skeleton-rectangle{width:var(--width, 100%);height:var(--height, 2rem)}.cat-skeleton-s.cat-skeleton-square,.cat-skeleton-s.cat-skeleton-circle{width:var(--width, 2rem);height:var(--height, 2rem)}.cat-skeleton-s.cat-skeleton-head,.cat-skeleton-s.cat-skeleton-body{width:var(--width, var(--line-width, 100%))}.cat-skeleton-s.cat-skeleton-head{height:calc(1.125rem - 4px);margin:calc((1.5rem - 1.125rem + 4px) * 0.5) 0}.cat-skeleton-s.cat-skeleton-body{height:calc(0.875rem - 4px);margin:calc((1rem - 0.875rem + 4px) * 0.5) 0}.cat-skeleton-m.cat-skeleton-rectangle{width:var(--width, 100%);height:var(--height, 2.5rem)}.cat-skeleton-m.cat-skeleton-square,.cat-skeleton-m.cat-skeleton-circle{width:var(--width, 2.5rem);height:var(--height, 2.5rem)}.cat-skeleton-m.cat-skeleton-head,.cat-skeleton-m.cat-skeleton-body{width:var(--width, var(--line-width, 100%))}.cat-skeleton-m.cat-skeleton-head{height:calc(1.25rem - 4px);margin:calc((1.5rem - 1.25rem + 4px) * 0.5) 0}.cat-skeleton-m.cat-skeleton-body{height:calc(0.9375rem - 4px);margin:calc((1.25rem - 0.9375rem + 4px) * 0.5) 0}.cat-skeleton-l.cat-skeleton-rectangle{width:var(--width, 100%);height:var(--height, 3rem)}.cat-skeleton-l.cat-skeleton-square,.cat-skeleton-l.cat-skeleton-circle{width:var(--width, 3rem);height:var(--height, 3rem)}.cat-skeleton-l.cat-skeleton-head,.cat-skeleton-l.cat-skeleton-body{width:var(--width, var(--line-width, 100%))}.cat-skeleton-l.cat-skeleton-head{height:calc(1.5rem - 4px);margin:calc((1.75rem - 1.5rem + 4px) * 0.5) 0}.cat-skeleton-l.cat-skeleton-body{height:calc(1.125rem - 4px);margin:calc((1.5rem - 1.125rem + 4px) * 0.5) 0}.cat-skeleton-xl.cat-skeleton-rectangle{width:var(--width, 100%);height:var(--height, 3.5rem)}.cat-skeleton-xl.cat-skeleton-square,.cat-skeleton-xl.cat-skeleton-circle{width:var(--width, 3.5rem);height:var(--height, 3.5rem)}.cat-skeleton-xl.cat-skeleton-head,.cat-skeleton-xl.cat-skeleton-body{width:var(--width, var(--line-width, 100%))}.cat-skeleton-xl.cat-skeleton-head{height:calc(1.75rem - 4px);margin:calc((2rem - 1.75rem + 4px) * 0.5) 0}.cat-skeleton-xl.cat-skeleton-body{height:calc(1.25rem - 4px);margin:calc((1.5rem - 1.25rem + 4px) * 0.5) 0}.cat-skeleton-sheen{background:linear-gradient(90deg, var(--background) 33%, var(--highlight) 50%, var(--background) 66%) var(--background);background-size:300% 100%;animation:sheen var(--speed) ease-in-out infinite}.cat-skeleton-pulse{position:relative;overflow:hidden}.cat-skeleton-pulse::before{content:\"\";display:block;position:absolute;width:100%;height:100%;background-color:var(--highlight);animation:var(--speed) ease-in-out 0.5s infinite normal none running pulse;opacity:0}@keyframes sheen{0%{background-position:right}}@keyframes pulse{50%{opacity:1}}";
4300
+ const catSkeletonCss = ":host{display:flex;flex-direction:column;position:relative;--background:#ebecf0;--highlight:#d7dbe0;--speed:2s}:host([variant=square]),:host([variant=circle]){display:inline-flex}:host([hidden]){display:none}:host([variant=head]){margin-bottom:0.5rem}:host([variant=body]){margin-bottom:1rem}.skeleton{display:block;border-radius:0.25rem;background:var(--background)}.skeleton-circle{border-radius:10rem}.skeleton-xs.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 1.5rem)}.skeleton-xs.skeleton-square,.skeleton-xs.skeleton-circle{width:var(--width, 1.5rem);height:var(--height, 1.5rem)}.skeleton-xs.skeleton-head,.skeleton-xs.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-xs.skeleton-head{height:calc(0.9375rem - 4px);margin:calc((1.25rem - 0.9375rem + 4px) * 0.5) 0}.skeleton-xs.skeleton-body{height:calc(0.75rem - 4px);margin:calc((1rem - 0.75rem + 4px) * 0.5) 0}.skeleton-s.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 2rem)}.skeleton-s.skeleton-square,.skeleton-s.skeleton-circle{width:var(--width, 2rem);height:var(--height, 2rem)}.skeleton-s.skeleton-head,.skeleton-s.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-s.skeleton-head{height:calc(1.125rem - 4px);margin:calc((1.5rem - 1.125rem + 4px) * 0.5) 0}.skeleton-s.skeleton-body{height:calc(0.875rem - 4px);margin:calc((1rem - 0.875rem + 4px) * 0.5) 0}.skeleton-m.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 2.5rem)}.skeleton-m.skeleton-square,.skeleton-m.skeleton-circle{width:var(--width, 2.5rem);height:var(--height, 2.5rem)}.skeleton-m.skeleton-head,.skeleton-m.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-m.skeleton-head{height:calc(1.25rem - 4px);margin:calc((1.5rem - 1.25rem + 4px) * 0.5) 0}.skeleton-m.skeleton-body{height:calc(0.9375rem - 4px);margin:calc((1.25rem - 0.9375rem + 4px) * 0.5) 0}.skeleton-l.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 3rem)}.skeleton-l.skeleton-square,.skeleton-l.skeleton-circle{width:var(--width, 3rem);height:var(--height, 3rem)}.skeleton-l.skeleton-head,.skeleton-l.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-l.skeleton-head{height:calc(1.5rem - 4px);margin:calc((1.75rem - 1.5rem + 4px) * 0.5) 0}.skeleton-l.skeleton-body{height:calc(1.125rem - 4px);margin:calc((1.5rem - 1.125rem + 4px) * 0.5) 0}.skeleton-xl.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 3.5rem)}.skeleton-xl.skeleton-square,.skeleton-xl.skeleton-circle{width:var(--width, 3.5rem);height:var(--height, 3.5rem)}.skeleton-xl.skeleton-head,.skeleton-xl.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-xl.skeleton-head{height:calc(1.75rem - 4px);margin:calc((2rem - 1.75rem + 4px) * 0.5) 0}.skeleton-xl.skeleton-body{height:calc(1.25rem - 4px);margin:calc((1.5rem - 1.25rem + 4px) * 0.5) 0}.skeleton-sheen{background:linear-gradient(90deg, var(--background) 33%, var(--highlight) 50%, var(--background) 66%) var(--background);background-size:300% 100%;animation:sheen var(--speed) ease-in-out infinite}.skeleton-pulse{position:relative;overflow:hidden}.skeleton-pulse::before{content:\"\";display:block;position:absolute;width:100%;height:100%;background-color:var(--highlight);animation:var(--speed) ease-in-out 0.5s infinite normal none running pulse;opacity:0}@keyframes sheen{0%{background-position:right}}@keyframes pulse{50%{opacity:1}}";
4370
4301
 
4371
4302
  const CatSkeleton = class {
4372
4303
  constructor(hostRef) {
@@ -4387,10 +4318,10 @@ const CatSkeleton = class {
4387
4318
  }
4388
4319
  render() {
4389
4320
  return (h(Host, null, Array.from(Array(this.count)).map(() => (h("div", { style: this.style, class: {
4390
- 'cat-skeleton': true,
4391
- [`cat-skeleton-${this.effect}`]: Boolean(this.effect),
4392
- [`cat-skeleton-${this.variant}`]: Boolean(this.variant),
4393
- [`cat-skeleton-${this.size}`]: Boolean(this.size)
4321
+ skeleton: true,
4322
+ [`skeleton-${this.effect}`]: Boolean(this.effect),
4323
+ [`skeleton-${this.variant}`]: Boolean(this.variant),
4324
+ [`skeleton-${this.size}`]: Boolean(this.size)
4394
4325
  } })))));
4395
4326
  }
4396
4327
  get count() {
@@ -4416,7 +4347,7 @@ const CatSkeleton = class {
4416
4347
  };
4417
4348
  CatSkeleton.style = catSkeletonCss;
4418
4349
 
4419
- const catSpinnerCss = ":host{display:inline-flex;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host[hidden]{display:none}span{display:inline-flex}svg{fill:none;stroke:currentColor;stroke-dasharray:135px;stroke-dashoffset:95px;stroke-linecap:round;stroke-width:5px;transform-origin:center center;animation:cat-spinner 0.75s cubic-bezier(0.4, 0.15, 0.6, 0.85) infinite;width:1em;height:1em}.cat-spinner-xs svg{font-size:0.75rem}.cat-spinner-s svg{font-size:1rem}.cat-spinner-m svg{font-size:1.25rem}.cat-spinner-l svg{font-size:1.5rem}.cat-spinner-xl svg{font-size:1.75rem}@keyframes cat-spinner{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}";
4350
+ const catSpinnerCss = ":host{display:inline-flex;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host[hidden]{display:none}span{display:inline-flex}svg{fill:none;stroke:currentColor;stroke-dasharray:135px;stroke-dashoffset:95px;stroke-linecap:round;stroke-width:5px;transform-origin:center center;animation:spin 0.75s cubic-bezier(0.4, 0.15, 0.6, 0.85) infinite;width:1em;height:1em}.spinner-xs svg{font-size:0.75rem}.spinner-s svg{font-size:1rem}.spinner-m svg{font-size:1.25rem}.spinner-l svg{font-size:1.5rem}.spinner-xl svg{font-size:1.75rem}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}";
4420
4351
 
4421
4352
  const CatSpinner = class {
4422
4353
  constructor(hostRef) {
@@ -4428,12 +4359,276 @@ const CatSpinner = class {
4428
4359
  }
4429
4360
  render() {
4430
4361
  return (h("span", { "aria-label": this.a11yLabel, "aria-hidden": this.a11yLabel ? null : 'true', class: {
4431
- [`cat-spinner-${this.size}`]: this.size !== 'inline'
4362
+ [`spinner-${this.size}`]: this.size !== 'inline'
4432
4363
  } }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 48 48" }, h("circle", { cx: "24", cy: "24", r: "21.5" }))));
4433
4364
  }
4434
4365
  };
4435
4366
  CatSpinner.style = catSpinnerCss;
4436
4367
 
4437
- export { CatAlert as cat_alert, CatBadge as cat_badge, CatButton as cat_button, CatIcon as cat_icon, CatMenu as cat_menu, CatScrollable as cat_scrollable, CatSkeleton as cat_skeleton, CatSpinner as cat_spinner };
4368
+ var e,t,n="function"==typeof Map?new Map:(e=[],t=[],{has:function(t){return e.indexOf(t)>-1},get:function(n){return t[e.indexOf(n)]},set:function(n,o){-1===e.indexOf(n)&&(e.push(n),t.push(o));},delete:function(n){var o=e.indexOf(n);o>-1&&(e.splice(o,1),t.splice(o,1));}}),o=function(e){return new Event(e,{bubbles:!0})};try{new Event("test");}catch(e){o=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t};}function r(e){var t=n.get(e);t&&t.destroy();}function i(e){var t=n.get(e);t&&t.update();}var l=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((l=function(e){return e}).destroy=function(e){return e},l.update=function(e){return e}):((l=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return function(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!n.has(e)){var t,r=null,i=null,l=null,d=function(){e.clientWidth!==i&&c();},a=function(t){window.removeEventListener("resize",d,!1),e.removeEventListener("input",c,!1),e.removeEventListener("keyup",c,!1),e.removeEventListener("autosize:destroy",a,!1),e.removeEventListener("autosize:update",c,!1),Object.keys(t).forEach(function(n){e.style[n]=t[n];}),n.delete(e);}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",a,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",c,!1),window.addEventListener("resize",d,!1),e.addEventListener("input",c,!1),e.addEventListener("autosize:update",c,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",n.set(e,{destroy:a,update:c}),"vertical"===(t=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),r="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(r)&&(r=0),c();}function u(t){var n=e.style.width;e.style.width="0px",e.style.width=n,e.style.overflowY=t;}function s(){if(0!==e.scrollHeight){var t=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(e),n=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+r+"px",i=e.clientWidth,t.forEach(function(e){e.node.scrollTop=e.scrollTop;}),n&&(document.documentElement.scrollTop=n);}}function c(){s();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),r="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(r<t?"hidden"===n.overflowY&&(u("scroll"),s(),r="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight):"hidden"!==n.overflowY&&(u("hidden"),s(),r="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight),l!==r){l=r;var i=o("autosize:resized");try{e.dispatchEvent(i);}catch(e){}}}}(e)}),e}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],r),e},l.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],i),e});var d=l;
4369
+
4370
+ const catTextareaCss = ":host{display:flex;flex-direction:column;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;margin-bottom:1rem}:host([hidden]){display:none}label{display:block;align-self:flex-start}label.hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}textarea{margin:0;padding:0.625rem 0.75rem;width:100%;min-height:2.5rem;font:inherit;background:white;border-radius:0.25rem;border:none;box-shadow:0 0 0 1px #d7dbe0;transition:box-shadow 0.13s linear}textarea:disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135));resize:none}textarea:hover:not(:disabled){box-shadow:0 0 0 2px #d7dbe0}textarea:focus{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}textarea::placeholder{color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.input-hint{font-size:0.875rem;line-height:1rem;margin:0}";
4371
+
4372
+ let nextUniqueId$2 = 0;
4373
+ const CatTextarea = class {
4374
+ constructor(hostRef) {
4375
+ registerInstance(this, hostRef);
4376
+ this.catChange = createEvent(this, "catChange", 7);
4377
+ this.catFocus = createEvent(this, "catFocus", 7);
4378
+ this.catBlur = createEvent(this, "catBlur", 7);
4379
+ this.id = `cat-textarea-${nextUniqueId$2++}`;
4380
+ /**
4381
+ * Whether the textarea is disabled.
4382
+ */
4383
+ this.disabled = false;
4384
+ /**
4385
+ * The label for the textarea.
4386
+ */
4387
+ this.label = '';
4388
+ /**
4389
+ * Visually hide the label, but still show it to assistive technologies like screen readers.
4390
+ */
4391
+ this.labelHidden = false;
4392
+ /**
4393
+ * The name of the form control. Submitted with the form as part of a name/value pair.
4394
+ */
4395
+ this.name = '';
4396
+ /**
4397
+ * The value is not editable.
4398
+ */
4399
+ this.readonly = false;
4400
+ /**
4401
+ * A value is required or must be check for the form to be submittable.
4402
+ */
4403
+ this.required = false;
4404
+ /**
4405
+ * Specifies the initial number of lines in the textarea.
4406
+ */
4407
+ this.rows = 3;
4408
+ }
4409
+ componentWillRender() {
4410
+ if (!this.label) {
4411
+ loglevel.error('[A11y] Missing ARIA label on textarea', this);
4412
+ }
4413
+ }
4414
+ componentDidLoad() {
4415
+ d(this.textarea);
4416
+ }
4417
+ /**
4418
+ * Sets focus on the textarea. Use this method instead of `textarea.focus()`.
4419
+ *
4420
+ * @param options An optional object providing options to control aspects of
4421
+ * the focusing process.
4422
+ */
4423
+ async setFocus(options) {
4424
+ this.textarea.focus(options);
4425
+ }
4426
+ // /**
4427
+ // * Clear the input.
4428
+ // */
4429
+ // @Method()
4430
+ // async clear(): Promise<void> {
4431
+ // this.inputValue = '';
4432
+ // }
4433
+ render() {
4434
+ return (h(Host, null, this.label && (h("label", { htmlFor: this.id, class: { hidden: this.labelHidden } }, h("span", { part: "label" }, this.label, !this.required && (h("span", { class: "input-optional", "aria-hidden": "true" }, "(Optional)"))))), h("textarea", { ref: el => (this.textarea = el), id: this.id, disabled: this.disabled, maxlength: this.maxLength, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, rows: this.rows, value: this.value, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), this.hint && h("p", { class: "input-hint" }, this.hint)));
4435
+ }
4436
+ onInput(event) {
4437
+ // this.inputValue = πthis.input.value;
4438
+ this.catChange.emit(event);
4439
+ }
4440
+ onFocus(event) {
4441
+ this.catFocus.emit(event);
4442
+ }
4443
+ onBlur(event) {
4444
+ this.catBlur.emit(event);
4445
+ }
4446
+ };
4447
+ CatTextarea.style = catTextareaCss;
4448
+
4449
+ const catToggleCss = ":host{display:flex;margin-bottom:1rem}:host([hidden]){display:none}label{flex:0 1 auto;display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}input{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;position:relative;width:2rem;height:1.25rem;border-radius:10rem;background-color:#d7dbe0;transition:background-color 0.13s ease}:checked+.toggle{background-color:rgb(var(--cat-primary-bg, 32, 127, 138))}:focus-visible+.toggle{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.toggle::after{content:\"\";position:absolute;width:1rem;height:1rem;background:#fff;border-radius:10rem;transform:translateX(calc(2px - 0.5rem));transition:transform 0.13s linear;box-shadow:0 1px 4px 0 rgba(16, 29, 48, 0.2)}:checked+.toggle::after{transform:translateX(calc(-2px + 0.5rem))}.label{flex:1 1 auto}.is-hidden .label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
4450
+
4451
+ let nextUniqueId$1 = 0;
4452
+ const CatToggle = class {
4453
+ constructor(hostRef) {
4454
+ registerInstance(this, hostRef);
4455
+ this.catChange = createEvent(this, "catChange", 7);
4456
+ this.catFocus = createEvent(this, "catFocus", 7);
4457
+ this.catBlur = createEvent(this, "catBlur", 7);
4458
+ this.id = `cat-toggle-${nextUniqueId$1++}`;
4459
+ /**
4460
+ * Checked state of the toggle.
4461
+ */
4462
+ this.checked = false;
4463
+ /**
4464
+ * Disabled state of the toggle.
4465
+ */
4466
+ this.disabled = false;
4467
+ /**
4468
+ * The label of the toggle that is visible.
4469
+ */
4470
+ this.label = '';
4471
+ /**
4472
+ * Visually hide the label, but still show it to assistive technologies like screen readers.
4473
+ */
4474
+ this.labelHidden = false;
4475
+ /**
4476
+ * Required state of the toggle
4477
+ */
4478
+ this.required = false;
4479
+ }
4480
+ componentWillRender() {
4481
+ if (!this.label) {
4482
+ loglevel.error('[A11y] Missing ARIA label on toggle', this);
4483
+ }
4484
+ }
4485
+ /**
4486
+ * Sets focus on the toggle. Use this method instead of `toggle.focus()`.
4487
+ *
4488
+ * @param options An optional object providing options to control aspects of
4489
+ * the focusing process.
4490
+ */
4491
+ async setFocus(options) {
4492
+ this.input.focus(options);
4493
+ }
4494
+ render() {
4495
+ return (h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled } }, h("input", { ref: el => (this.input = el), id: this.id, type: "checkbox", name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, class: "form-check-input", role: "switch", onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), h("span", { class: "toggle", part: "toggle" }), h("span", { class: "label", part: "label" }, this.label)));
4496
+ }
4497
+ onInput(event) {
4498
+ this.catChange.emit(event);
4499
+ }
4500
+ onFocus(event) {
4501
+ this.catFocus.emit(event);
4502
+ }
4503
+ onBlur(event) {
4504
+ this.catBlur.emit(event);
4505
+ }
4506
+ };
4507
+ CatToggle.style = catToggleCss;
4508
+
4509
+ const isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0;
4510
+
4511
+ const catTooltipCss = ":host{display:contents}:host([hidden]){display:none}.tooltip{position:absolute;font-size:0.875rem;line-height:1rem;font-weight:500;padding:0.5rem 0.75rem;background-color:white;border-radius:0.25rem;color:black;white-space:nowrap;transition:all 0.25s linear 0s;visibility:hidden;opacity:0;box-shadow:rgba(0, 0, 0, 0.08) 0 1px 8px 0;border:1px solid #ebecf0;z-index:200}.tooltip-show{opacity:1;visibility:visible}.tooltip-trigger{display:inline-block}.tooltip-trigger:focus{outline:none}";
4512
+
4513
+ let nextUniqueId = 0;
4514
+ const CatTooltip = class {
4515
+ constructor(hostRef) {
4516
+ registerInstance(this, hostRef);
4517
+ this.id = `cat-tooltip-${nextUniqueId++}`;
4518
+ /**
4519
+ * The content of the tooltip.
4520
+ */
4521
+ this.content = '';
4522
+ /**
4523
+ * Specifies that the tooltip should be disabled. A disabled tooltip is unusable,
4524
+ * and invisible. Corresponds with the native HTML disabled attribute.
4525
+ */
4526
+ this.disabled = false;
4527
+ /**
4528
+ * The placement of the tooltip.
4529
+ */
4530
+ this.placement = 'top';
4531
+ /**
4532
+ * The delay time for showing tooltip in ms.
4533
+ */
4534
+ this.showDelay = 500;
4535
+ /**
4536
+ * The delay time for hiding tooltip in ms.
4537
+ */
4538
+ this.hideDelay = 0;
4539
+ /**
4540
+ * The duration of tap to show the tooltip.
4541
+ */
4542
+ this.longTouchDuration = 1000;
4543
+ }
4544
+ handleKeyDown({ key }) {
4545
+ key === 'Escape' && this.hideListener();
4546
+ }
4547
+ componentDidLoad() {
4548
+ var _a, _b, _c, _d, _e, _f, _g;
4549
+ this.trigger = firstTabbable(this.triggerElement) || this.triggerElement;
4550
+ if (!this.isTabbable) {
4551
+ (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.setAttribute('tabindex', '0');
4552
+ }
4553
+ if (this.trigger && this.tooltip) {
4554
+ autoUpdate(this.trigger, this.tooltip, () => this.update());
4555
+ }
4556
+ if (isTouchDevice) {
4557
+ (_b = this.trigger) === null || _b === void 0 ? void 0 : _b.addEventListener('touchstart', this.touchStartListener.bind(this));
4558
+ (_c = this.trigger) === null || _c === void 0 ? void 0 : _c.addEventListener('touchend', this.touchEndListener.bind(this));
4559
+ }
4560
+ else {
4561
+ (_d = this.trigger) === null || _d === void 0 ? void 0 : _d.addEventListener('focusin', this.showListener.bind(this));
4562
+ (_e = this.trigger) === null || _e === void 0 ? void 0 : _e.addEventListener('focusout', this.hideListener.bind(this));
4563
+ (_f = this.trigger) === null || _f === void 0 ? void 0 : _f.addEventListener('mouseenter', this.showListener.bind(this));
4564
+ (_g = this.trigger) === null || _g === void 0 ? void 0 : _g.addEventListener('mouseleave', this.hideListener.bind(this));
4565
+ }
4566
+ }
4567
+ disconnectedCallback() {
4568
+ var _a, _b, _c, _d, _e, _f;
4569
+ if (isTouchDevice) {
4570
+ (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.removeEventListener('touchstart', this.touchStartListener.bind(this));
4571
+ (_b = this.trigger) === null || _b === void 0 ? void 0 : _b.removeEventListener('touchend', this.touchEndListener.bind(this));
4572
+ }
4573
+ else {
4574
+ (_c = this.trigger) === null || _c === void 0 ? void 0 : _c.removeEventListener('mouseenter', this.showListener.bind(this));
4575
+ (_d = this.trigger) === null || _d === void 0 ? void 0 : _d.removeEventListener('mouseleave', this.hideListener.bind(this));
4576
+ (_e = this.trigger) === null || _e === void 0 ? void 0 : _e.removeEventListener('focusin', this.showListener.bind(this));
4577
+ (_f = this.trigger) === null || _f === void 0 ? void 0 : _f.removeEventListener('focusout', this.hideListener.bind(this));
4578
+ }
4579
+ }
4580
+ render() {
4581
+ return (h(Host, null, h("div", { ref: el => (this.triggerElement = el), "aria-describedby": this.id, class: "tooltip-trigger" }, h("slot", null)), this.content && !this.disabled && (h("div", { ref: el => (this.tooltip = el), id: this.id, class: "tooltip" }, this.content))));
4582
+ }
4583
+ get isTabbable() {
4584
+ return firstTabbable(this.trigger);
4585
+ }
4586
+ update() {
4587
+ if (this.trigger && this.tooltip) {
4588
+ computePosition(this.trigger, this.tooltip, {
4589
+ placement: this.placement,
4590
+ middleware: [offset(CatTooltip.OFFSET), flip()]
4591
+ }).then(({ x, y }) => {
4592
+ if (this.tooltip) {
4593
+ Object.assign(this.tooltip.style, {
4594
+ left: `${Math.max(0, x)}px`,
4595
+ top: `${y}px`
4596
+ });
4597
+ }
4598
+ });
4599
+ }
4600
+ }
4601
+ showListener() {
4602
+ window.clearTimeout(this.hideTimeout);
4603
+ this.showTimeout = window.setTimeout(() => {
4604
+ var _a, _b;
4605
+ (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.focus();
4606
+ (_b = this.tooltip) === null || _b === void 0 ? void 0 : _b.classList.add('tooltip-show');
4607
+ }, this.showDelay);
4608
+ }
4609
+ hideListener() {
4610
+ window.clearTimeout(this.showTimeout);
4611
+ this.hideTimeout = window.setTimeout(() => {
4612
+ var _a, _b;
4613
+ (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.blur();
4614
+ (_b = this.tooltip) === null || _b === void 0 ? void 0 : _b.classList.remove('tooltip-show');
4615
+ }, this.hideDelay);
4616
+ }
4617
+ touchStartListener() {
4618
+ this.touchTimeout = window.setTimeout(() => {
4619
+ var _a;
4620
+ (_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.classList.add('tooltip-show');
4621
+ }, this.longTouchDuration);
4622
+ }
4623
+ touchEndListener() {
4624
+ var _a;
4625
+ window.clearTimeout(this.touchTimeout);
4626
+ (_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.classList.remove('tooltip-show');
4627
+ }
4628
+ };
4629
+ CatTooltip.OFFSET = 4;
4630
+ CatTooltip.style = catTooltipCss;
4631
+
4632
+ export { CatAlert as cat_alert, CatBadge as cat_badge, CatButton as cat_button, CatCard as cat_card, CatCheckbox as cat_checkbox, CatIcon as cat_icon, CatInput as cat_input, CatMenu as cat_menu, CatRadio as cat_radio, CatScrollable as cat_scrollable, CatSkeleton as cat_skeleton, CatSpinner as cat_spinner, CatTextarea as cat_textarea, CatToggle as cat_toggle, CatTooltip as cat_tooltip };
4438
4633
 
4439
- //# sourceMappingURL=cat-alert_8.entry.js.map
4634
+ //# sourceMappingURL=cat-alert_15.entry.js.map