@haiilo/catalyst 1.2.3 → 1.2.5

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 (52) hide show
  1. package/dist/catalyst/catalyst.css +1 -1
  2. package/dist/catalyst/catalyst.esm.js +1 -1
  3. package/dist/catalyst/catalyst.esm.js.map +1 -1
  4. package/dist/catalyst/p-270fd91d.entry.js +2 -0
  5. package/dist/catalyst/{p-394f6b20.entry.js.map → p-270fd91d.entry.js.map} +1 -1
  6. package/dist/catalyst/p-692e49d6.js +3 -0
  7. package/dist/catalyst/p-692e49d6.js.map +1 -0
  8. package/dist/catalyst/p-cdac3176.entry.js +2 -0
  9. package/dist/catalyst/p-cdac3176.entry.js.map +1 -0
  10. package/dist/catalyst/scss/_variables.tokens.scss +2 -2
  11. package/dist/catalyst/scss/index.scss +4 -4
  12. package/dist/cjs/cat-alert_22.cjs.entry.js +109 -61
  13. package/dist/cjs/cat-alert_22.cjs.entry.js.map +1 -1
  14. package/dist/cjs/cat-modal.cjs.entry.js +2 -2
  15. package/dist/cjs/cat-modal.cjs.entry.js.map +1 -1
  16. package/dist/cjs/catalyst.cjs.js +2 -2
  17. package/dist/cjs/catalyst.cjs.js.map +1 -1
  18. package/dist/cjs/{index-8ab22379.js → index-b2134f1b.js} +13 -5
  19. package/dist/cjs/index-b2134f1b.js.map +1 -0
  20. package/dist/cjs/loader.cjs.js +2 -2
  21. package/dist/cjs/loader.cjs.js.map +1 -1
  22. package/dist/collection/collection-manifest.json +1 -1
  23. package/dist/collection/components/cat-button/cat-button.css +6 -2
  24. package/dist/collection/components/cat-menu/cat-menu.js +0 -1
  25. package/dist/collection/components/cat-menu/cat-menu.js.map +1 -1
  26. package/dist/collection/components/cat-select/cat-select.css +3 -0
  27. package/dist/components/cat-button2.js +1 -1
  28. package/dist/components/cat-button2.js.map +1 -1
  29. package/dist/components/cat-menu.js +0 -1
  30. package/dist/components/cat-menu.js.map +1 -1
  31. package/dist/components/cat-select2.js +1 -1
  32. package/dist/components/cat-select2.js.map +1 -1
  33. package/dist/components/floating-ui.dom.esm.js +106 -57
  34. package/dist/components/floating-ui.dom.esm.js.map +1 -1
  35. package/dist/esm/cat-alert_22.entry.js +109 -61
  36. package/dist/esm/cat-alert_22.entry.js.map +1 -1
  37. package/dist/esm/cat-modal.entry.js +2 -2
  38. package/dist/esm/cat-modal.entry.js.map +1 -1
  39. package/dist/esm/catalyst.js +2 -2
  40. package/dist/esm/catalyst.js.map +1 -1
  41. package/dist/esm/{index-df195301.js → index-033048ed.js} +13 -6
  42. package/dist/esm/index-033048ed.js.map +1 -0
  43. package/dist/esm/loader.js +2 -2
  44. package/dist/esm/loader.js.map +1 -1
  45. package/package.json +16 -13
  46. package/dist/catalyst/p-394f6b20.entry.js +0 -2
  47. package/dist/catalyst/p-bc57ca12.entry.js +0 -2
  48. package/dist/catalyst/p-bc57ca12.entry.js.map +0 -1
  49. package/dist/catalyst/p-f80e3399.js +0 -3
  50. package/dist/catalyst/p-f80e3399.js.map +0 -1
  51. package/dist/cjs/index-8ab22379.js.map +0 -1
  52. package/dist/esm/index-df195301.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-df195301.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-033048ed.js';
2
2
  import { l as loglevel, a as CatIconRegistry, C as CatI18nRegistry, N as NotificationsService } from './cat-notification-8bcf6fa2.js';
3
3
  import { t as tabbable, f as firstTabbable, c as createFocusTrap } from './first-tabbable-4a00de61.js';
4
4
 
@@ -289,7 +289,7 @@ function createEmptyStyleRule(query) {
289
289
  }
290
290
  }
291
291
 
292
- 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:var(--cat-border-radius-m, 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-content{word-wrap:break-word;word-break:break-word}.cat-button-ellipsed .cat-button-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.cat-button-disabled{cursor:not-allowed;opacity:var(--cat-opacity-disabled, 0.65)}.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-filled.cat-button-disabled{--bg:235, 236, 240;--fill:var(--cat-font-color-muted, 105, 118, 135)}.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.cat-button-disabled{--base:var(--cat-font-color-muted, 105, 118, 135);--text:var(--cat-font-color-muted, 105, 118, 135)}.cat-button-outlined:hover:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.05)}.cat-button-outlined.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.1)}.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.cat-button-disabled{--text:var(--cat-font-color-muted, 105, 118, 135)}.cat-button-text:hover:not(.cat-button-disabled):not(.cat-button-loading){text-decoration:none;background-color:rgba(var(--base), 0.05)}.cat-button-text.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading){text-decoration:none;background-color:rgba(var(--base), 0.1)}.cat-button-primary{--bg:var(--cat-primary-bg, 0, 129, 148);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 0, 129, 148);--base:var(--cat-primary-text, 0, 129, 148)}.cat-button-primary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-hover, 1, 115, 132);--fill:var(--cat-primary-fill-hover, 255, 255, 255);--text:var(--cat-primary-text-hover, 1, 115, 132)}.cat-button-primary.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-primary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-active, 2, 83, 113);--fill:var(--cat-primary-fill-active, 255, 255, 255);--text:var(--cat-primary-text-active, 2, 83, 113)}.cat-button-secondary{--bg:var(--cat-secondary-bg, 105, 118, 135);--fill:var(--cat-secondary-fill, 255, 255, 255);--text:var(--cat-secondary-text, 0, 0, 0);--base:var(--cat-secondary-bg, 105, 118, 135)}.cat-button-secondary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-secondary-bg-hover, 105, 118, 135);--fill:var(--cat-secondary-fill-hover, 255, 255, 255);--text:var(--cat-secondary-text-hover, 0, 0, 0)}.cat-button-secondary.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-secondary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-secondary-bg-active, 105, 118, 135);--fill:var(--cat-secondary-fill-active, 255, 255, 255);--text:var(--cat-catsecondary-text-active, 0, 0, 0)}.cat-button-success{--bg:var(--cat-success-bg-, 0, 132, 88);--fill:var(--cat-success-fill, 255, 255, 255);--text:var(--cat-success-text, 0, 132, 88);--base:var(--cat-success-text, 0, 132, 88)}.cat-button-success:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-success-bg-hover, 0, 117, 78);--fill:var(--cat-success-fill-hover, 255, 255, 255);--text:var(--cat-success-text-hover, 0, 117, 78)}.cat-button-success.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-success:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-success-bg-active, 0, 105, 70);--fill:var(--cat-success-fill-active, 255, 255, 255);--text:var(--cat-success-text-active, 0, 105, 70)}.cat-button-warning{--bg:var(--cat-warning-bg, 255, 206, 128);--fill:var(--cat-warning-fill, 0, 0, 0);--text:var(--cat-warning-text, 159, 97, 0);--base:var(--cat-warning-text, 159, 97, 0)}.cat-button-warning:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-warning-bg-hover, 255, 214, 148);--fill:var(--cat-warning-fill-hover, 0, 0, 0);--text:var(--cat-warning-text-hover, 159, 97, 0)}.cat-button-warning.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-warning:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-warning-bg-active, 255, 222, 168);--fill:var(--cat-warning-fill-active, 0, 0, 0);--text:var(--cat-warning-text-active, 159, 97, 0)}.cat-button-danger{--bg:var(--cat-danger-bg, 217, 52, 13);--fill:var(--cat-danger-fill, 255, 255, 255);--text:var(--cat-danger-text, 217, 52, 13);--base:var(--cat-danger-text, 217, 52, 13)}.cat-button-danger:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-danger-bg-hover, 194, 46, 11);--fill:var(--cat-danger-fill-hover, 255, 255, 255);--text:var(--cat-danger-text-hover, 194, 46, 11)}.cat-button-danger.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-danger:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-danger-bg-active, 174, 42, 10);--fill:var(--cat-danger-fill-active, 255, 255, 255);--text:var(--cat-catdanger-text-active, 174, 42, 10)}:host(.cat-button-pull:not([size])){margin:-0.625rem -0.75rem}:host(.cat-button-pull-h:not([size])){margin-left:-0.75rem;margin-right:-0.75rem}:host(.cat-button-pull-v:not([size])){margin-top:-0.625rem;margin-bottom:-0.625rem}:host(.cat-button-pull-t:not([size])){margin-top:-0.625rem}:host(.cat-button-pull-l:not([size])){margin-left:-0.75rem}:host(.cat-button-pull-b:not([size])){margin-bottom:-0.625rem}:host(.cat-button-pull-r:not([size])){margin-right:-0.75rem}.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:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=xs]){margin:-0.25rem -0.25rem}:host(.cat-button-pull-h[size=xs]){margin-left:-0.25rem;margin-right:-0.25rem}:host(.cat-button-pull-v[size=xs]){margin-top:-0.25rem;margin-bottom:-0.25rem}:host(.cat-button-pull-t[size=xs]){margin-top:-0.25rem}:host(.cat-button-pull-l[size=xs]){margin-left:-0.25rem}:host(.cat-button-pull-b[size=xs]){margin-bottom:-0.25rem}:host(.cat-button-pull-r[size=xs]){margin-right:-0.25rem}.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:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=s]){margin:-0.375rem -0.5rem}:host(.cat-button-pull-h[size=s]){margin-left:-0.5rem;margin-right:-0.5rem}:host(.cat-button-pull-v[size=s]){margin-top:-0.375rem;margin-bottom:-0.375rem}:host(.cat-button-pull-t[size=s]){margin-top:-0.375rem}:host(.cat-button-pull-l[size=s]){margin-left:-0.5rem}:host(.cat-button-pull-b[size=s]){margin-bottom:-0.375rem}:host(.cat-button-pull-r[size=s]){margin-right:-0.5rem}.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:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=m]){margin:-0.625rem -0.75rem}:host(.cat-button-pull-h[size=m]){margin-left:-0.75rem;margin-right:-0.75rem}:host(.cat-button-pull-v[size=m]){margin-top:-0.625rem;margin-bottom:-0.625rem}:host(.cat-button-pull-t[size=m]){margin-top:-0.625rem}:host(.cat-button-pull-l[size=m]){margin-left:-0.75rem}:host(.cat-button-pull-b[size=m]){margin-bottom:-0.625rem}:host(.cat-button-pull-r[size=m]){margin-right:-0.75rem}.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:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=l]){margin:-0.875rem -1rem}:host(.cat-button-pull-h[size=l]){margin-left:-1rem;margin-right:-1rem}:host(.cat-button-pull-v[size=l]){margin-top:-0.875rem;margin-bottom:-0.875rem}:host(.cat-button-pull-t[size=l]){margin-top:-0.875rem}:host(.cat-button-pull-l[size=l]){margin-left:-1rem}:host(.cat-button-pull-b[size=l]){margin-bottom:-0.875rem}:host(.cat-button-pull-r[size=l]){margin-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:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=xl]){margin:-1rem -1.25rem}:host(.cat-button-pull-h[size=xl]){margin-left:-1.25rem;margin-right:-1.25rem}:host(.cat-button-pull-v[size=xl]){margin-top:-1rem;margin-bottom:-1rem}:host(.cat-button-pull-t[size=xl]){margin-top:-1rem}:host(.cat-button-pull-l[size=xl]){margin-left:-1.25rem}:host(.cat-button-pull-b[size=xl]){margin-bottom:-1rem}:host(.cat-button-pull-r[size=xl]){margin-right:-1.25rem}: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}";
292
+ 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:var(--cat-border-radius-m, 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-content{word-wrap:break-word;word-break:break-word}.cat-button-ellipsed .cat-button-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.cat-button-disabled{cursor:not-allowed;opacity:var(--cat-opacity-disabled, 0.65)}.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-filled.cat-button-disabled{--bg:235, 236, 240;--fill:var(--cat-font-color-muted, 105, 118, 135)}.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.cat-button-disabled{--base:var(--cat-font-color-muted, 105, 118, 135);--text:var(--cat-font-color-muted, 105, 118, 135)}.cat-button-outlined:hover:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.05)}.cat-button-outlined.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.1)}.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.cat-button-disabled{--text:var(--cat-font-color-muted, 105, 118, 135)}.cat-button-text:hover:not(.cat-button-disabled):not(.cat-button-loading){text-decoration:none;background-color:rgba(var(--base), 0.05)}.cat-button-text.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading){text-decoration:none;background-color:rgba(var(--base), 0.1)}.cat-button-primary{--bg:var(--cat-primary-bg, 0, 129, 148);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 0, 129, 148);--base:var(--cat-primary-text, 0, 129, 148)}.cat-button-primary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-hover, 1, 115, 132);--fill:var(--cat-primary-fill-hover, 255, 255, 255);--text:var(--cat-primary-text-hover, 1, 115, 132)}.cat-button-primary.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-primary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-active, 2, 99, 113);--fill:var(--cat-primary-fill-active, 255, 255, 255);--text:var(--cat-primary-text-active, 2, 99, 113)}.cat-button-secondary{--bg:var(--cat-secondary-bg, 105, 118, 135);--fill:var(--cat-secondary-fill, 255, 255, 255);--text:var(--cat-secondary-text, 0, 0, 0);--base:var(--cat-secondary-bg, 105, 118, 135)}.cat-button-secondary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-secondary-bg-hover, 105, 118, 135);--fill:var(--cat-secondary-fill-hover, 255, 255, 255);--text:var(--cat-secondary-text-hover, 0, 0, 0)}.cat-button-secondary.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-secondary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-secondary-bg-active, 105, 118, 135);--fill:var(--cat-secondary-fill-active, 255, 255, 255);--text:var(--cat-catsecondary-text-active, 0, 0, 0)}.cat-button-success{--bg:var(--cat-success-bg-, 0, 132, 88);--fill:var(--cat-success-fill, 255, 255, 255);--text:var(--cat-success-text, 0, 132, 88);--base:var(--cat-success-text, 0, 132, 88)}.cat-button-success:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-success-bg-hover, 0, 117, 78);--fill:var(--cat-success-fill-hover, 255, 255, 255);--text:var(--cat-success-text-hover, 0, 117, 78)}.cat-button-success.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-success:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-success-bg-active, 0, 105, 70);--fill:var(--cat-success-fill-active, 255, 255, 255);--text:var(--cat-success-text-active, 0, 105, 70)}.cat-button-warning{--bg:var(--cat-warning-bg, 255, 206, 128);--fill:var(--cat-warning-fill, 0, 0, 0);--text:var(--cat-warning-text, 159, 97, 0);--base:var(--cat-warning-text, 159, 97, 0)}.cat-button-warning:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-warning-bg-hover, 255, 214, 148);--fill:var(--cat-warning-fill-hover, 0, 0, 0);--text:var(--cat-warning-text-hover, 159, 97, 0)}.cat-button-warning.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-warning:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-warning-bg-active, 255, 222, 168);--fill:var(--cat-warning-fill-active, 0, 0, 0);--text:var(--cat-warning-text-active, 159, 97, 0)}.cat-button-danger{--bg:var(--cat-danger-bg, 217, 52, 13);--fill:var(--cat-danger-fill, 255, 255, 255);--text:var(--cat-danger-text, 217, 52, 13);--base:var(--cat-danger-text, 217, 52, 13)}.cat-button-danger:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-danger-bg-hover, 194, 46, 11);--fill:var(--cat-danger-fill-hover, 255, 255, 255);--text:var(--cat-danger-text-hover, 194, 46, 11)}.cat-button-danger.cat-button-active:not(.cat-button-disabled):not(.cat-button-loading),.cat-button-danger:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-danger-bg-active, 174, 42, 10);--fill:var(--cat-danger-fill-active, 255, 255, 255);--text:var(--cat-catdanger-text-active, 174, 42, 10)}:host(.cat-button-pull:not([size])){margin:-0.625rem -0.75rem}:host(.cat-button-pull-h:not([size])){margin-left:-0.75rem;margin-right:-0.75rem}:host(.cat-button-pull-v:not([size])){margin-top:-0.625rem;margin-bottom:-0.625rem}:host(.cat-button-pull-t:not([size])){margin-top:-0.625rem}:host(.cat-button-pull-l:not([size])){margin-left:-0.75rem}:host(.cat-button-pull-b:not([size])){margin-bottom:-0.625rem}:host(.cat-button-pull-r:not([size])){margin-right:-0.75rem}.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:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=xs]){margin:-0.25rem -0.25rem}:host(.cat-button-pull-h[size=xs]){margin-left:-0.25rem;margin-right:-0.25rem}:host(.cat-button-pull-v[size=xs]){margin-top:-0.25rem;margin-bottom:-0.25rem}:host(.cat-button-pull-t[size=xs]){margin-top:-0.25rem}:host(.cat-button-pull-l[size=xs]){margin-left:-0.25rem}:host(.cat-button-pull-b[size=xs]){margin-bottom:-0.25rem}:host(.cat-button-pull-r[size=xs]){margin-right:-0.25rem}.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:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=s]){margin:-0.375rem -0.5rem}:host(.cat-button-pull-h[size=s]){margin-left:-0.5rem;margin-right:-0.5rem}:host(.cat-button-pull-v[size=s]){margin-top:-0.375rem;margin-bottom:-0.375rem}:host(.cat-button-pull-t[size=s]){margin-top:-0.375rem}:host(.cat-button-pull-l[size=s]){margin-left:-0.5rem}:host(.cat-button-pull-b[size=s]){margin-bottom:-0.375rem}:host(.cat-button-pull-r[size=s]){margin-right:-0.5rem}.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:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=m]){margin:-0.625rem -0.75rem}:host(.cat-button-pull-h[size=m]){margin-left:-0.75rem;margin-right:-0.75rem}:host(.cat-button-pull-v[size=m]){margin-top:-0.625rem;margin-bottom:-0.625rem}:host(.cat-button-pull-t[size=m]){margin-top:-0.625rem}:host(.cat-button-pull-l[size=m]){margin-left:-0.75rem}:host(.cat-button-pull-b[size=m]){margin-bottom:-0.625rem}:host(.cat-button-pull-r[size=m]){margin-right:-0.75rem}.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:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=l]){margin:-0.875rem -1rem}:host(.cat-button-pull-h[size=l]){margin-left:-1rem;margin-right:-1rem}:host(.cat-button-pull-v[size=l]){margin-top:-0.875rem;margin-bottom:-0.875rem}:host(.cat-button-pull-t[size=l]){margin-top:-0.875rem}:host(.cat-button-pull-l[size=l]){margin-left:-1rem}:host(.cat-button-pull-b[size=l]){margin-bottom:-0.875rem}:host(.cat-button-pull-r[size=l]){margin-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:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=xl]){margin:-1rem -1.25rem}:host(.cat-button-pull-h[size=xl]){margin-left:-1.25rem;margin-right:-1.25rem}:host(.cat-button-pull-v[size=xl]){margin-top:-1rem;margin-bottom:-1rem}:host(.cat-button-pull-t[size=xl]){margin-top:-1rem}:host(.cat-button-pull-l[size=xl]){margin-left:-1.25rem}:host(.cat-button-pull-b[size=xl]){margin-bottom:-1rem}:host(.cat-button-pull-r[size=xl]){margin-right:-1.25rem}:host-context(cat-tabs) .cat-button{background-color:transparent !important}: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}";
293
293
 
294
294
  const CatButton = class {
295
295
  constructor(hostRef) {
@@ -809,9 +809,9 @@ const computePosition$1 = async (reference, floating, config) => {
809
809
  } = computeCoordsFromPlacement(rects, placement, rtl);
810
810
  let statefulPlacement = placement;
811
811
  let middlewareData = {};
812
+ let resetCount = 0;
812
813
 
813
814
  for (let i = 0; i < middleware.length; i++) {
814
-
815
815
  const {
816
816
  name,
817
817
  fn
@@ -843,7 +843,9 @@ const computePosition$1 = async (reference, floating, config) => {
843
843
  }
844
844
  };
845
845
 
846
- if (reset) {
846
+ if (reset && resetCount <= 50) {
847
+ resetCount++;
848
+
847
849
  if (typeof reset === 'object') {
848
850
  if (reset.placement) {
849
851
  statefulPlacement = reset.placement;
@@ -951,9 +953,7 @@ async function detectOverflow(middlewareArguments, options) {
951
953
  } : rects.reference,
952
954
  offsetParent: await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating)),
953
955
  strategy
954
- }) : rects[elementContext]); // positive = overflowing the clipping rect
955
- // 0 or negative = within the clipping rect
956
-
956
+ }) : rects[elementContext]);
957
957
  return {
958
958
  top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
959
959
  bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
@@ -1118,19 +1118,19 @@ const flip = function (options) {
1118
1118
  };
1119
1119
  };
1120
1120
 
1121
- function convertValueToCoords(placement, rects, value, rtl) {
1122
- if (rtl === void 0) {
1123
- rtl = false;
1124
- }
1125
-
1121
+ async function convertValueToCoords(middlewareArguments, value) {
1122
+ const {
1123
+ placement,
1124
+ platform,
1125
+ elements
1126
+ } = middlewareArguments;
1127
+ const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
1126
1128
  const side = getSide(placement);
1127
1129
  const alignment = getAlignment(placement);
1128
1130
  const isVertical = getMainAxisFromPlacement(placement) === 'x';
1129
1131
  const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
1130
1132
  const crossAxisMulti = rtl && isVertical ? -1 : 1;
1131
- const rawValue = typeof value === 'function' ? value({ ...rects,
1132
- placement
1133
- }) : value; // eslint-disable-next-line prefer-const
1133
+ const rawValue = typeof value === 'function' ? value(middlewareArguments) : value; // eslint-disable-next-line prefer-const
1134
1134
 
1135
1135
  let {
1136
1136
  mainAxis,
@@ -1176,13 +1176,9 @@ const offset = function (value) {
1176
1176
  async fn(middlewareArguments) {
1177
1177
  const {
1178
1178
  x,
1179
- y,
1180
- placement,
1181
- rects,
1182
- platform,
1183
- elements
1179
+ y
1184
1180
  } = middlewareArguments;
1185
- const diffCoords = convertValueToCoords(placement, rects, value, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));
1181
+ const diffCoords = await convertValueToCoords(middlewareArguments, value);
1186
1182
  return {
1187
1183
  x: x + diffCoords.x,
1188
1184
  y: y + diffCoords.y,
@@ -1194,7 +1190,7 @@ const offset = function (value) {
1194
1190
  };
1195
1191
 
1196
1192
  function isWindow(value) {
1197
- return (value == null ? void 0 : value.toString()) === '[object Window]';
1193
+ return value && value.document && value.location && value.alert && value.setInterval;
1198
1194
  }
1199
1195
  function getWindow(node) {
1200
1196
  if (node == null) {
@@ -1209,7 +1205,7 @@ function getWindow(node) {
1209
1205
  return node;
1210
1206
  }
1211
1207
 
1212
- function getComputedStyle$1(element) {
1208
+ function getComputedStyle(element) {
1213
1209
  return getWindow(element).getComputedStyle(element);
1214
1210
  }
1215
1211
 
@@ -1217,6 +1213,16 @@ function getNodeName(node) {
1217
1213
  return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';
1218
1214
  }
1219
1215
 
1216
+ function getUAString() {
1217
+ const uaData = navigator.userAgentData;
1218
+
1219
+ if (uaData != null && uaData.brands) {
1220
+ return uaData.brands.map(item => item.brand + "/" + item.version).join(' ');
1221
+ }
1222
+
1223
+ return navigator.userAgent;
1224
+ }
1225
+
1220
1226
  function isHTMLElement(value) {
1221
1227
  return value instanceof getWindow(value).HTMLElement;
1222
1228
  }
@@ -1227,6 +1233,11 @@ function isNode(value) {
1227
1233
  return value instanceof getWindow(value).Node;
1228
1234
  }
1229
1235
  function isShadowRoot(node) {
1236
+ // Browsers without `ShadowRoot` support
1237
+ if (typeof ShadowRoot === 'undefined') {
1238
+ return false;
1239
+ }
1240
+
1230
1241
  const OwnElement = getWindow(node).ShadowRoot;
1231
1242
  return node instanceof OwnElement || node instanceof ShadowRoot;
1232
1243
  }
@@ -1235,36 +1246,46 @@ function isOverflowElement(element) {
1235
1246
  const {
1236
1247
  overflow,
1237
1248
  overflowX,
1238
- overflowY
1239
- } = getComputedStyle$1(element);
1240
- return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
1249
+ overflowY,
1250
+ display
1251
+ } = getComputedStyle(element);
1252
+ return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);
1241
1253
  }
1242
1254
  function isTableElement(element) {
1243
1255
  return ['table', 'td', 'th'].includes(getNodeName(element));
1244
1256
  }
1245
1257
  function isContainingBlock(element) {
1246
1258
  // TODO: Try and use feature detection here instead
1247
- const isFirefox = navigator.userAgent.toLowerCase().includes('firefox');
1248
- const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that
1259
+ const isFirefox = /firefox/i.test(getUAString());
1260
+ const css = getComputedStyle(element); // This is non-exhaustive but covers the most common CSS properties that
1249
1261
  // create a containing block.
1250
1262
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
1251
1263
 
1252
- return css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);
1264
+ return css.transform !== 'none' || css.perspective !== 'none' || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective'].some(value => css.willChange.includes(value)) || ['paint', 'layout', 'strict', 'content'].some( // TS 4.1 compat
1265
+ value => {
1266
+ const contain = css.contain;
1267
+ return contain != null ? contain.includes(value) : false;
1268
+ });
1253
1269
  }
1254
1270
  function isLayoutViewport() {
1255
1271
  // Not Safari
1256
- return !/^((?!chrome|android).)*safari/i.test(navigator.userAgent); // Feature detection for this fails in various ways
1272
+ return !/^((?!chrome|android).)*safari/i.test(getUAString()); // Feature detection for this fails in various ways
1257
1273
  // • Always-visible scrollbar or not
1258
1274
  // • Width of <html>, etc.
1259
1275
  // const vV = win.visualViewport;
1260
1276
  // return vV ? Math.abs(win.innerWidth / vV.scale - vV.width) < 0.5 : true;
1261
1277
  }
1278
+ function isLastTraversableNode(node) {
1279
+ return ['html', 'body', '#document'].includes(getNodeName(node));
1280
+ }
1262
1281
 
1263
1282
  const min = Math.min;
1264
1283
  const max = Math.max;
1265
1284
  const round = Math.round;
1266
1285
 
1267
1286
  function getBoundingClientRect(element, includeScale, isFixedStrategy) {
1287
+ var _win$visualViewport$o, _win$visualViewport, _win$visualViewport$o2, _win$visualViewport2;
1288
+
1268
1289
  if (includeScale === void 0) {
1269
1290
  includeScale = false;
1270
1291
  }
@@ -1284,8 +1305,8 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy) {
1284
1305
 
1285
1306
  const win = isElement(element) ? getWindow(element) : window;
1286
1307
  const addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
1287
- const x = (clientRect.left + (addVisualOffsets ? win.visualViewport.offsetLeft : 0)) / scaleX;
1288
- const y = (clientRect.top + (addVisualOffsets ? win.visualViewport.offsetTop : 0)) / scaleY;
1308
+ const x = (clientRect.left + (addVisualOffsets ? (_win$visualViewport$o = (_win$visualViewport = win.visualViewport) == null ? void 0 : _win$visualViewport.offsetLeft) != null ? _win$visualViewport$o : 0 : 0)) / scaleX;
1309
+ const y = (clientRect.top + (addVisualOffsets ? (_win$visualViewport$o2 = (_win$visualViewport2 = win.visualViewport) == null ? void 0 : _win$visualViewport2.offsetTop) != null ? _win$visualViewport$o2 : 0 : 0)) / scaleY;
1289
1310
  const width = clientRect.width / scaleX;
1290
1311
  const height = clientRect.height / scaleY;
1291
1312
  return {
@@ -1305,16 +1326,16 @@ function getDocumentElement(node) {
1305
1326
  }
1306
1327
 
1307
1328
  function getNodeScroll(element) {
1308
- if (isWindow(element)) {
1329
+ if (isElement(element)) {
1309
1330
  return {
1310
- scrollLeft: element.pageXOffset,
1311
- scrollTop: element.pageYOffset
1331
+ scrollLeft: element.scrollLeft,
1332
+ scrollTop: element.scrollTop
1312
1333
  };
1313
1334
  }
1314
1335
 
1315
1336
  return {
1316
- scrollLeft: element.scrollLeft,
1317
- scrollTop: element.scrollTop
1337
+ scrollLeft: element.pageXOffset,
1338
+ scrollTop: element.pageYOffset
1318
1339
  };
1319
1340
  }
1320
1341
 
@@ -1332,7 +1353,8 @@ function isScaled(element) {
1332
1353
  function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1333
1354
  const isOffsetParentAnElement = isHTMLElement(offsetParent);
1334
1355
  const documentElement = getDocumentElement(offsetParent);
1335
- const rect = getBoundingClientRect(element, isOffsetParentAnElement && isScaled(offsetParent), strategy === 'fixed');
1356
+ const rect = getBoundingClientRect(element, // @ts-ignore - checked above (TS 4.1 compat)
1357
+ isOffsetParentAnElement && isScaled(offsetParent), strategy === 'fixed');
1336
1358
  let scroll = {
1337
1359
  scrollLeft: 0,
1338
1360
  scrollTop: 0
@@ -1394,11 +1416,12 @@ function getContainingBlock(element) {
1394
1416
  currentNode = currentNode.host;
1395
1417
  }
1396
1418
 
1397
- while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {
1419
+ while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
1398
1420
  if (isContainingBlock(currentNode)) {
1399
1421
  return currentNode;
1400
1422
  } else {
1401
- currentNode = currentNode.parentNode;
1423
+ const parent = currentNode.parentNode;
1424
+ currentNode = isShadowRoot(parent) ? parent.host : parent;
1402
1425
  }
1403
1426
  }
1404
1427
 
@@ -1522,7 +1545,7 @@ function getDocumentRect(element) {
1522
1545
  let x = -scroll.scrollLeft + getWindowScrollBarX(element);
1523
1546
  const y = -scroll.scrollTop;
1524
1547
 
1525
- if (getComputedStyle$1(body || html).direction === 'rtl') {
1548
+ if (getComputedStyle(body || html).direction === 'rtl') {
1526
1549
  x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
1527
1550
  }
1528
1551
 
@@ -1537,7 +1560,7 @@ function getDocumentRect(element) {
1537
1560
  function getNearestOverflowAncestor(node) {
1538
1561
  const parentNode = getParentNode(node);
1539
1562
 
1540
- if (['html', 'body', '#document'].includes(getNodeName(parentNode))) {
1563
+ if (isLastTraversableNode(parentNode)) {
1541
1564
  // @ts-ignore assume body is always available
1542
1565
  return node.ownerDocument.body;
1543
1566
  }
@@ -1562,7 +1585,7 @@ function getOverflowAncestors(node, list) {
1562
1585
  const target = isBody ? [win].concat(win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []) : scrollableAncestor;
1563
1586
  const updatedList = list.concat(target);
1564
1587
  return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here
1565
- updatedList.concat(getOverflowAncestors(getParentNode(target)));
1588
+ updatedList.concat(getOverflowAncestors(target));
1566
1589
  }
1567
1590
 
1568
1591
  function contains(parent, child) {
@@ -1588,6 +1611,22 @@ function contains(parent, child) {
1588
1611
  return false;
1589
1612
  }
1590
1613
 
1614
+ function getNearestParentCapableOfEscapingClipping(element, clippingAncestors) {
1615
+ let currentNode = element;
1616
+
1617
+ while (currentNode && !isLastTraversableNode(currentNode) && // @ts-expect-error
1618
+ !clippingAncestors.includes(currentNode)) {
1619
+ if (isElement(currentNode) && ['absolute', 'fixed'].includes(getComputedStyle(currentNode).position)) {
1620
+ break;
1621
+ }
1622
+
1623
+ const parentNode = getParentNode(currentNode);
1624
+ currentNode = isShadowRoot(parentNode) ? parentNode.host : parentNode;
1625
+ }
1626
+
1627
+ return currentNode;
1628
+ }
1629
+
1591
1630
  function getInnerBoundingClientRect(element, strategy) {
1592
1631
  const clientRect = getBoundingClientRect(element, false, strategy === 'fixed');
1593
1632
  const top = clientRect.top + element.clientTop;
@@ -1621,15 +1660,25 @@ function getClientRectFromClippingAncestor(element, clippingParent, strategy) {
1621
1660
 
1622
1661
  function getClippingAncestors(element) {
1623
1662
  const clippingAncestors = getOverflowAncestors(element);
1624
- const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position);
1625
- const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
1663
+ const nearestEscapableParent = getNearestParentCapableOfEscapingClipping(element, clippingAncestors);
1664
+ let clipperElement = null;
1665
+
1666
+ if (nearestEscapableParent && isHTMLElement(nearestEscapableParent)) {
1667
+ const offsetParent = getOffsetParent(nearestEscapableParent);
1668
+
1669
+ if (isOverflowElement(nearestEscapableParent)) {
1670
+ clipperElement = nearestEscapableParent;
1671
+ } else if (isHTMLElement(offsetParent)) {
1672
+ clipperElement = offsetParent;
1673
+ }
1674
+ }
1626
1675
 
1627
1676
  if (!isElement(clipperElement)) {
1628
1677
  return [];
1629
1678
  } // @ts-ignore isElement check ensures we return Array<Element>
1630
1679
 
1631
1680
 
1632
- return clippingAncestors.filter(clippingAncestors => isElement(clippingAncestors) && contains(clippingAncestors, clipperElement) && getNodeName(clippingAncestors) !== 'body');
1681
+ return clippingAncestors.filter(clippingAncestors => clipperElement && isElement(clippingAncestors) && contains(clippingAncestors, clipperElement) && getNodeName(clippingAncestors) !== 'body');
1633
1682
  } // Gets the maximum area that the element is visible in due to any number of
1634
1683
  // clipping ancestors
1635
1684
 
@@ -1682,7 +1731,7 @@ const platform = {
1682
1731
  };
1683
1732
  },
1684
1733
  getClientRects: element => Array.from(element.getClientRects()),
1685
- isRTL: element => getComputedStyle$1(element).direction === 'rtl'
1734
+ isRTL: element => getComputedStyle(element).direction === 'rtl'
1686
1735
  };
1687
1736
 
1688
1737
  /**
@@ -1696,14 +1745,11 @@ function autoUpdate(reference, floating, update, options) {
1696
1745
 
1697
1746
  const {
1698
1747
  ancestorScroll: _ancestorScroll = true,
1699
- ancestorResize: _ancestorResize = true,
1700
- elementResize: _elementResize = true,
1748
+ ancestorResize = true,
1749
+ elementResize = true,
1701
1750
  animationFrame = false
1702
1751
  } = options;
1703
- let cleanedUp = false;
1704
1752
  const ancestorScroll = _ancestorScroll && !animationFrame;
1705
- const ancestorResize = _ancestorResize && !animationFrame;
1706
- const elementResize = _elementResize && !animationFrame;
1707
1753
  const ancestors = ancestorScroll || ancestorResize ? [...(isElement(reference) ? getOverflowAncestors(reference) : []), ...getOverflowAncestors(floating)] : [];
1708
1754
  ancestors.forEach(ancestor => {
1709
1755
  ancestorScroll && ancestor.addEventListener('scroll', update, {
@@ -1714,8 +1760,15 @@ function autoUpdate(reference, floating, update, options) {
1714
1760
  let observer = null;
1715
1761
 
1716
1762
  if (elementResize) {
1717
- observer = new ResizeObserver(update);
1718
- isElement(reference) && observer.observe(reference);
1763
+ let initialUpdate = true;
1764
+ observer = new ResizeObserver(() => {
1765
+ if (!initialUpdate) {
1766
+ update();
1767
+ }
1768
+
1769
+ initialUpdate = false;
1770
+ });
1771
+ isElement(reference) && !animationFrame && observer.observe(reference);
1719
1772
  observer.observe(floating);
1720
1773
  }
1721
1774
 
@@ -1727,10 +1780,6 @@ function autoUpdate(reference, floating, update, options) {
1727
1780
  }
1728
1781
 
1729
1782
  function frameLoop() {
1730
- if (cleanedUp) {
1731
- return;
1732
- }
1733
-
1734
1783
  const nextRefRect = getBoundingClientRect(reference);
1735
1784
 
1736
1785
  if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {
@@ -1741,10 +1790,10 @@ function autoUpdate(reference, floating, update, options) {
1741
1790
  frameId = requestAnimationFrame(frameLoop);
1742
1791
  }
1743
1792
 
1793
+ update();
1744
1794
  return () => {
1745
1795
  var _observer;
1746
1796
 
1747
- cleanedUp = true;
1748
1797
  ancestors.forEach(ancestor => {
1749
1798
  ancestorScroll && ancestor.removeEventListener('scroll', update);
1750
1799
  ancestorResize && ancestor.removeEventListener('resize', update);
@@ -1890,7 +1939,6 @@ const CatMenu = class {
1890
1939
  if (!trigger) {
1891
1940
  loglevel.error('Cannot find tabbable element. Use [data-trigger] to set the trigger.');
1892
1941
  }
1893
- console.log(trigger);
1894
1942
  return trigger;
1895
1943
  }
1896
1944
  };
@@ -3909,7 +3957,7 @@ var autosizeInput = function (element, options) {
3909
3957
  }
3910
3958
  };
3911
3959
 
3912
- const catSelectCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0 !important}:host-context(.cat-error) .hint-section{color:rgb(var(--cat-danger-text, 217, 52, 13))}:host{display:flex;flex-direction:column;gap:0.5rem;position:relative;margin-bottom:1rem}:host([hidden]){display:none}label{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;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.select-wrapper{display:flex;align-items:flex-start;background:white;border-radius:var(--cat-border-radius-m, 0.25rem);box-shadow:0 0 0 1px rgb(var(--cat-border-color-dark, 215, 219, 224));transition:box-shadow 0.13s linear;padding:0.25rem}.select-wrapper:not(.select-disabled):hover{box-shadow:0 0 0 2px rgb(var(--cat-border-color-dark, 215, 219, 224))}.select-wrapper:not(.select-disabled):focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}:host(.cat-error) .select-wrapper{box-shadow:0 0 0 1px rgb(var(--cat-danger-bg, 217, 52, 13))}:host(.cat-error) .select-wrapper:not(.input-disabled):hover{box-shadow:0 0 0 2px rgb(var(--cat-danger-bg, 217, 52, 13))}.select-disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135));pointer-events:none}.select-wrapper-inner{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:0.25rem;min-width:0}.select-wrapper-inner>cat-avatar{padding-left:0.25rem}.select-wrapper-inner cat-avatar{--cat-avatar-size:1.25rem}.select-input{font:inherit;background:none;border:none;outline:none;padding:0.375rem 0.5rem;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.select-disabled .select-input{cursor:inherit}.select-pills{display:contents}.pill{display:inline-flex;align-items:center;gap:0.5rem;padding:0.25rem 0.5rem;background:#f2f4f7;border-radius:var(--cat-border-radius-s, 0.125rem);white-space:nowrap;min-width:0}.pill>span{overflow:hidden;text-overflow:ellipsis;flex:1 1 0%}.pill>cat-button{margin-right:-0.25rem;margin-left:-0.25rem}.select-btn{transition:transform 0.13s linear}.select-btn::part(button){outline:none}cat-spinner{padding:0.375rem}.select-btn-open{transform:rotate(180deg)}.select-dropdown{position:absolute;right:0;background:white;display:none;overflow:auto;box-shadow:0 1px 4px 0 rgba(16, 29, 48, 0.2);border-radius:var(--cat-border-radius-m, 0.25rem);z-index:100}.select-options-wrapper{max-height:16rem;width:100%}.select-empty{margin:1rem 0;padding:0 1.25rem}.select-options{list-style-type:none;margin:0;padding:0.5rem 0}.select-options cat-checkbox,.select-options .select-option-single{margin:0;padding:0.5rem 1rem}.select-option-inner{display:flex;gap:0.5rem;--cat-avatar-size:1.25rem}.select-option-text{flex:1 1 0%;min-width:0}.select-option-single{cursor:pointer}.select-input-transparent-caret{caret-color:transparent}.select-option-empty,.select-option-loading{padding:0.5rem 1rem}.select-option:hover{background-color:rgba(var(--cat-secondary-bg, 105, 118, 135), 0.05)}.select-option-active{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:-2px}.select-option-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}.select-option-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
3960
+ const catSelectCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0 !important}:host-context(.cat-error) .hint-section{color:rgb(var(--cat-danger-text, 217, 52, 13))}:host{display:flex;flex-direction:column;gap:0.5rem;line-height:1.25rem;position:relative;margin-bottom:1rem}:host([hidden]){display:none}label{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;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.select-wrapper{display:flex;align-items:flex-start;background:white;border-radius:var(--cat-border-radius-m, 0.25rem);box-shadow:0 0 0 1px rgb(var(--cat-border-color-dark, 215, 219, 224));transition:box-shadow 0.13s linear;padding:0.25rem}.select-wrapper:not(.select-disabled):hover{box-shadow:0 0 0 2px rgb(var(--cat-border-color-dark, 215, 219, 224))}.select-wrapper:not(.select-disabled):focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}:host(.cat-error) .select-wrapper{box-shadow:0 0 0 1px rgb(var(--cat-danger-bg, 217, 52, 13))}:host(.cat-error) .select-wrapper:not(.input-disabled):hover{box-shadow:0 0 0 2px rgb(var(--cat-danger-bg, 217, 52, 13))}.select-disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135));pointer-events:none}.select-wrapper-inner{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:0.25rem;min-width:0}.select-wrapper-inner>cat-avatar{padding-left:0.25rem}.select-wrapper-inner cat-avatar{--cat-avatar-size:1.25rem}.select-input{font:inherit;background:none;border:none;outline:none;padding:0.375rem 0.5rem;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.select-disabled .select-input{cursor:inherit}.select-pills{display:contents}.pill{display:inline-flex;align-items:center;gap:0.5rem;padding:0.25rem 0.5rem;background:#f2f4f7;border-radius:var(--cat-border-radius-s, 0.125rem);white-space:nowrap;min-width:0}.pill>span{overflow:hidden;text-overflow:ellipsis;flex:1 1 0%}.pill>cat-button{margin-right:-0.25rem;margin-left:-0.25rem}.select-btn{transition:transform 0.13s linear}.select-btn::part(button){outline:none}cat-spinner{padding:0.375rem}.select-btn-open{transform:rotate(180deg)}.select-dropdown{position:absolute;right:0;background:white;display:none;overflow:auto;box-shadow:0 1px 4px 0 rgba(16, 29, 48, 0.2);border-radius:var(--cat-border-radius-m, 0.25rem);z-index:100}.select-options-wrapper{max-height:16rem;width:100%}.select-empty{margin:1rem 0;padding:0 1.25rem}.select-options{list-style-type:none;margin:0;padding:0.5rem 0}.select-options cat-checkbox,.select-options .select-option-single{margin:0;padding:0.5rem 1rem}.select-option-inner{display:flex;gap:0.5rem;--cat-avatar-size:1.25rem}.select-option-text{flex:1 1 0%;min-width:0}.select-option-single{cursor:pointer}.select-input-transparent-caret{caret-color:transparent}.select-option-empty,.select-option-loading{padding:0.5rem 1rem}.select-option:hover{background-color:rgba(var(--cat-secondary-bg, 105, 118, 135), 0.05)}.select-option-active{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:-2px}.select-option-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-wrap:break-word;word-break:break-word}.select-option-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
3913
3961
 
3914
3962
  const INIT_STATE = {
3915
3963
  term: '',