@haiilo/catalyst 0.4.0 → 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 (170) 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/index.esm.js +1 -1
  5. package/dist/catalyst/p-23d54bc6.js +2 -0
  6. package/dist/catalyst/p-23d54bc6.js.map +1 -0
  7. package/dist/catalyst/p-84693f87.entry.js +24 -0
  8. package/dist/catalyst/p-84693f87.entry.js.map +1 -0
  9. package/dist/catalyst/p-8f5cfa78.js +2 -0
  10. package/dist/catalyst/p-8f5cfa78.js.map +1 -0
  11. package/dist/catalyst/{p-ed826597.js → p-fa7da4c6.js} +2 -2
  12. package/dist/catalyst/p-fa7da4c6.js.map +1 -0
  13. package/dist/cjs/{app-globals-7f2b1f8e.js → app-globals-50e7504d.js} +9 -2
  14. package/dist/cjs/app-globals-50e7504d.js.map +1 -0
  15. package/dist/cjs/{cat-alert_9.cjs.entry.js → cat-alert_15.cjs.entry.js} +449 -354
  16. package/dist/cjs/cat-alert_15.cjs.entry.js.map +1 -0
  17. package/dist/cjs/cat-icon-registry-6895750f.js +441 -0
  18. package/dist/cjs/cat-icon-registry-6895750f.js.map +1 -0
  19. package/dist/cjs/catalyst.cjs.js +4 -4
  20. package/dist/cjs/{index-c0881ae0.js → index-2db8e23d.js} +1 -2
  21. package/dist/cjs/index-2db8e23d.js.map +1 -0
  22. package/dist/cjs/index.cjs.js +2 -1
  23. package/dist/cjs/index.cjs.js.map +1 -1
  24. package/dist/cjs/loader.cjs.js +4 -4
  25. package/dist/collection/collection-manifest.json +6 -0
  26. package/dist/collection/components/cat-alert/cat-alert.css +11 -6
  27. package/dist/collection/components/cat-alert/cat-alert.js +19 -8
  28. package/dist/collection/components/cat-alert/cat-alert.js.map +1 -1
  29. package/dist/collection/components/cat-badge/cat-badge.css +17 -17
  30. package/dist/collection/components/cat-badge/cat-badge.js +9 -8
  31. package/dist/collection/components/cat-badge/cat-badge.js.map +1 -1
  32. package/dist/collection/components/cat-button/cat-button.css +18 -8
  33. package/dist/collection/components/cat-button/cat-button.js +32 -8
  34. package/dist/collection/components/cat-button/cat-button.js.map +1 -1
  35. package/dist/collection/components/cat-card/cat-card.css +25 -0
  36. package/dist/collection/components/cat-card/cat-card.js +20 -0
  37. package/dist/collection/components/cat-card/cat-card.js.map +1 -0
  38. package/dist/collection/components/cat-checkbox/cat-checkbox.css +105 -0
  39. package/dist/collection/components/cat-checkbox/cat-checkbox.js +314 -0
  40. package/dist/collection/components/cat-checkbox/cat-checkbox.js.map +1 -0
  41. package/dist/collection/components/cat-i18n/cat-i18n-registry.js +69 -0
  42. package/dist/collection/components/cat-i18n/cat-i18n-registry.js.map +1 -0
  43. package/dist/collection/components/cat-icon/cat-icon-registry.js +14 -1
  44. package/dist/collection/components/cat-icon/cat-icon-registry.js.map +1 -1
  45. package/dist/collection/components/cat-icon/cat-icon.css +5 -5
  46. package/dist/collection/components/cat-icon/cat-icon.js +3 -2
  47. package/dist/collection/components/cat-icon/cat-icon.js.map +1 -1
  48. package/dist/collection/components/cat-input/cat-input.css +131 -0
  49. package/dist/collection/components/cat-input/cat-input.js +606 -0
  50. package/dist/collection/components/cat-input/cat-input.js.map +1 -0
  51. package/dist/collection/components/cat-menu/cat-menu.css +2 -1
  52. package/dist/collection/components/cat-radio/cat-radio.css +84 -0
  53. package/dist/collection/components/cat-radio/cat-radio.js +283 -0
  54. package/dist/collection/components/cat-radio/cat-radio.js.map +1 -0
  55. package/dist/collection/components/cat-scrollable/cat-scrollable.js +4 -2
  56. package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +1 -1
  57. package/dist/collection/components/cat-skeleton/cat-skeleton.css +30 -30
  58. package/dist/collection/components/cat-skeleton/cat-skeleton.js +4 -4
  59. package/dist/collection/components/cat-skeleton/cat-skeleton.js.map +1 -1
  60. package/dist/collection/components/cat-spinner/cat-spinner.css +7 -7
  61. package/dist/collection/components/cat-spinner/cat-spinner.js +1 -1
  62. package/dist/collection/components/cat-spinner/cat-spinner.js.map +1 -1
  63. package/dist/collection/components/cat-textarea/cat-textarea.css +74 -0
  64. package/dist/collection/components/cat-textarea/cat-textarea.js +393 -0
  65. package/dist/collection/components/cat-textarea/cat-textarea.js.map +1 -0
  66. package/dist/collection/components/cat-toggle/cat-toggle.css +93 -0
  67. package/dist/collection/components/cat-toggle/cat-toggle.js +283 -0
  68. package/dist/collection/components/cat-toggle/cat-toggle.js.map +1 -0
  69. package/dist/collection/components/cat-tooltip/cat-tooltip.css +9 -5
  70. package/dist/collection/components/cat-tooltip/cat-tooltip.js +2 -2
  71. package/dist/collection/components/cat-tooltip/cat-tooltip.js.map +1 -1
  72. package/dist/collection/index.js +1 -0
  73. package/dist/collection/index.js.map +1 -1
  74. package/dist/collection/init.js +9 -1
  75. package/dist/collection/init.js.map +1 -1
  76. package/dist/components/cat-alert.js +15 -6
  77. package/dist/components/cat-alert.js.map +1 -1
  78. package/dist/components/cat-badge.js +7 -7
  79. package/dist/components/cat-badge.js.map +1 -1
  80. package/dist/components/cat-button.js +1 -647
  81. package/dist/components/cat-button.js.map +1 -1
  82. package/dist/components/cat-button2.js +346 -0
  83. package/dist/components/cat-button2.js.map +1 -0
  84. package/dist/components/cat-card.d.ts +11 -0
  85. package/dist/components/cat-card.js +35 -0
  86. package/dist/components/cat-card.js.map +1 -0
  87. package/dist/components/cat-checkbox.d.ts +11 -0
  88. package/dist/components/cat-checkbox.js +103 -0
  89. package/dist/components/cat-checkbox.js.map +1 -0
  90. package/dist/components/cat-i18n-registry.js +73 -0
  91. package/dist/components/cat-i18n-registry.js.map +1 -0
  92. package/dist/components/cat-icon-registry.js +15 -1
  93. package/dist/components/cat-icon-registry.js.map +1 -1
  94. package/dist/components/cat-icon2.js +3 -2
  95. package/dist/components/cat-icon2.js.map +1 -1
  96. package/dist/components/cat-input.d.ts +11 -0
  97. package/dist/components/cat-input.js +172 -0
  98. package/dist/components/cat-input.js.map +1 -0
  99. package/dist/components/cat-menu.js +1 -1
  100. package/dist/components/cat-menu.js.map +1 -1
  101. package/dist/components/cat-radio.d.ts +11 -0
  102. package/dist/components/cat-radio.js +93 -0
  103. package/dist/components/cat-radio.js.map +1 -0
  104. package/dist/components/cat-scrollable.js +1 -2
  105. package/dist/components/cat-scrollable.js.map +1 -1
  106. package/dist/components/cat-skeleton.js +5 -5
  107. package/dist/components/cat-skeleton.js.map +1 -1
  108. package/dist/components/cat-spinner2.js +2 -2
  109. package/dist/components/cat-spinner2.js.map +1 -1
  110. package/dist/components/cat-textarea.d.ts +11 -0
  111. package/dist/components/cat-textarea.js +119 -0
  112. package/dist/components/cat-textarea.js.map +1 -0
  113. package/dist/components/cat-toggle.d.ts +11 -0
  114. package/dist/components/cat-toggle.js +93 -0
  115. package/dist/components/cat-toggle.js.map +1 -0
  116. package/dist/components/cat-tooltip.js +2 -2
  117. package/dist/components/cat-tooltip.js.map +1 -1
  118. package/dist/components/first-tabbable.js +5 -4
  119. package/dist/components/first-tabbable.js.map +1 -1
  120. package/dist/components/index.js +9 -0
  121. package/dist/components/index.js.map +1 -1
  122. package/dist/components/loglevel.js +315 -0
  123. package/dist/components/loglevel.js.map +1 -0
  124. package/dist/esm/{app-globals-8af9b2cf.js → app-globals-6906ac5c.js} +9 -2
  125. package/dist/esm/app-globals-6906ac5c.js.map +1 -0
  126. package/dist/esm/{cat-alert_9.entry.js → cat-alert_15.entry.js} +442 -353
  127. package/dist/esm/cat-alert_15.entry.js.map +1 -0
  128. package/dist/esm/cat-icon-registry-77963c26.js +437 -0
  129. package/dist/esm/cat-icon-registry-77963c26.js.map +1 -0
  130. package/dist/esm/catalyst.js +4 -4
  131. package/dist/esm/{index-0ff35bca.js → index-1f3ca03b.js} +2 -2
  132. package/dist/esm/index-1f3ca03b.js.map +1 -0
  133. package/dist/esm/index.js +1 -1
  134. package/dist/esm/loader.js +4 -4
  135. package/dist/types/components/cat-alert/cat-alert.d.ts +4 -2
  136. package/dist/types/components/cat-badge/cat-badge.d.ts +3 -2
  137. package/dist/types/components/cat-button/cat-button.d.ts +8 -3
  138. package/dist/types/components/cat-card/cat-card.d.ts +7 -0
  139. package/dist/types/components/cat-checkbox/cat-checkbox.d.ts +69 -0
  140. package/dist/types/components/cat-i18n/cat-i18n-registry.d.ts +18 -0
  141. package/dist/types/components/cat-icon/cat-icon-registry.d.ts +4 -4
  142. package/dist/types/components/cat-icon/cat-icon.d.ts +1 -1
  143. package/dist/types/components/cat-input/cat-input.d.ts +130 -0
  144. package/dist/types/components/cat-radio/cat-radio.d.ts +63 -0
  145. package/dist/types/components/cat-scrollable/cat-scrollable.d.ts +3 -1
  146. package/dist/types/components/cat-textarea/cat-textarea.d.ts +85 -0
  147. package/dist/types/components/cat-toggle/cat-toggle.d.ts +64 -0
  148. package/dist/types/components.d.ts +619 -4
  149. package/dist/types/index.d.ts +1 -0
  150. package/package.json +5 -3
  151. package/dist/catalyst/p-89a97b7b.entry.js +0 -10
  152. package/dist/catalyst/p-89a97b7b.entry.js.map +0 -1
  153. package/dist/catalyst/p-ed826597.js.map +0 -1
  154. package/dist/catalyst/p-ef0a8ae9.js +0 -2
  155. package/dist/catalyst/p-ef0a8ae9.js.map +0 -1
  156. package/dist/catalyst/p-f151cb13.js +0 -2
  157. package/dist/catalyst/p-f151cb13.js.map +0 -1
  158. package/dist/cjs/app-globals-7f2b1f8e.js.map +0 -1
  159. package/dist/cjs/cat-alert_9.cjs.entry.js.map +0 -1
  160. package/dist/cjs/cat-icon-registry-850c538c.js +0 -47
  161. package/dist/cjs/cat-icon-registry-850c538c.js.map +0 -1
  162. package/dist/cjs/index-c0881ae0.js.map +0 -1
  163. package/dist/collection/utils/utils.js +0 -4
  164. package/dist/collection/utils/utils.js.map +0 -1
  165. package/dist/esm/app-globals-8af9b2cf.js.map +0 -1
  166. package/dist/esm/cat-alert_9.entry.js.map +0 -1
  167. package/dist/esm/cat-icon-registry-59da2e37.js +0 -45
  168. package/dist/esm/cat-icon-registry-59da2e37.js.map +0 -1
  169. package/dist/esm/index-0ff35bca.js.map +0 -1
  170. 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
@@ -2914,15 +2803,15 @@ const firstTabbable = (container) => {
2914
2803
  return (container ? tabbable(container, { includeContainer: true, getShadowRoot: true }) : []).shift();
2915
2804
  };
2916
2805
 
2917
- 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}";
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}";
2918
2807
 
2919
- let nextUniqueId$1 = 0;
2808
+ let nextUniqueId$4 = 0;
2920
2809
  const CatMenu = class {
2921
2810
  constructor(hostRef) {
2922
2811
  registerInstance(this, hostRef);
2923
2812
  this.catOpen = createEvent(this, "catOpen", 7);
2924
2813
  this.catClose = createEvent(this, "catClose", 7);
2925
- this.id = nextUniqueId$1++;
2814
+ this.id = nextUniqueId$4++;
2926
2815
  /**
2927
2816
  * The placement of the menu.
2928
2817
  */
@@ -3017,6 +2906,66 @@ const CatMenu = class {
3017
2906
  CatMenu.OFFSET = 4;
3018
2907
  CatMenu.style = catMenuCss;
3019
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
+
3020
2969
  function isFunction(value) {
3021
2970
  return typeof value === 'function';
3022
2971
  }
@@ -3715,7 +3664,7 @@ function popNumber(args, defaultValue) {
3715
3664
  return typeof last(args) === 'number' ? args.pop() : defaultValue;
3716
3665
  }
3717
3666
 
3718
- /******************************************************************************
3667
+ /*! *****************************************************************************
3719
3668
  Copyright (c) Microsoft Corporation.
3720
3669
 
3721
3670
  Permission to use, copy, modify, and/or distribute this software for any
@@ -4345,11 +4294,10 @@ const CatScrollable = class {
4345
4294
  (_b = this.scrollWrapperElement) === null || _b === void 0 ? void 0 : _b.classList.remove(name);
4346
4295
  }
4347
4296
  }
4348
- get el() { return getElement(this); }
4349
4297
  };
4350
4298
  CatScrollable.style = catScrollableCss;
4351
4299
 
4352
- 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}}";
4353
4301
 
4354
4302
  const CatSkeleton = class {
4355
4303
  constructor(hostRef) {
@@ -4370,10 +4318,10 @@ const CatSkeleton = class {
4370
4318
  }
4371
4319
  render() {
4372
4320
  return (h(Host, null, Array.from(Array(this.count)).map(() => (h("div", { style: this.style, class: {
4373
- 'cat-skeleton': true,
4374
- [`cat-skeleton-${this.effect}`]: Boolean(this.effect),
4375
- [`cat-skeleton-${this.variant}`]: Boolean(this.variant),
4376
- [`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)
4377
4325
  } })))));
4378
4326
  }
4379
4327
  get count() {
@@ -4399,7 +4347,7 @@ const CatSkeleton = class {
4399
4347
  };
4400
4348
  CatSkeleton.style = catSkeletonCss;
4401
4349
 
4402
- 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)}}";
4403
4351
 
4404
4352
  const CatSpinner = class {
4405
4353
  constructor(hostRef) {
@@ -4411,15 +4359,156 @@ const CatSpinner = class {
4411
4359
  }
4412
4360
  render() {
4413
4361
  return (h("span", { "aria-label": this.a11yLabel, "aria-hidden": this.a11yLabel ? null : 'true', class: {
4414
- [`cat-spinner-${this.size}`]: this.size !== 'inline'
4362
+ [`spinner-${this.size}`]: this.size !== 'inline'
4415
4363
  } }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 48 48" }, h("circle", { cx: "24", cy: "24", r: "21.5" }))));
4416
4364
  }
4417
4365
  };
4418
4366
  CatSpinner.style = catSpinnerCss;
4419
4367
 
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
+
4420
4509
  const isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0;
4421
4510
 
4422
- const catTooltipCss = ":host{display:contents}:host([hidden]){display:none}.tooltip{position:absolute;font-size:0.875rem;line-height:1rem;padding:0.25rem;background-color:rgba(0, 0, 0, 0.7);border-radius:0.125rem;color:white;white-space:nowrap;transition:0.13s linear;visibility:hidden;opacity:0}.tooltip-show{opacity:1;visibility:visible}.tooltip-trigger{display:inline-block}.tooltip-trigger:focus{outline:none}";
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}";
4423
4512
 
4424
4513
  let nextUniqueId = 0;
4425
4514
  const CatTooltip = class {
@@ -4442,7 +4531,7 @@ const CatTooltip = class {
4442
4531
  /**
4443
4532
  * The delay time for showing tooltip in ms.
4444
4533
  */
4445
- this.showDelay = 1000;
4534
+ this.showDelay = 500;
4446
4535
  /**
4447
4536
  * The delay time for hiding tooltip in ms.
4448
4537
  */
@@ -4540,6 +4629,6 @@ const CatTooltip = class {
4540
4629
  CatTooltip.OFFSET = 4;
4541
4630
  CatTooltip.style = catTooltipCss;
4542
4631
 
4543
- 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, CatTooltip as cat_tooltip };
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 };
4544
4633
 
4545
- //# sourceMappingURL=cat-alert_9.entry.js.map
4634
+ //# sourceMappingURL=cat-alert_15.entry.js.map