@haiilo/catalyst 6.4.6 → 6.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 (132) hide show
  1. package/dist/catalyst/catalyst.css +3 -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/index.esm.js.map +1 -1
  6. package/dist/catalyst/p-19fad7af.js +2 -0
  7. package/dist/catalyst/p-19fad7af.js.map +1 -0
  8. package/dist/catalyst/p-376b504c.js +3 -0
  9. package/dist/catalyst/p-376b504c.js.map +1 -0
  10. package/dist/catalyst/p-d303131e.entry.js +10 -0
  11. package/dist/catalyst/p-d303131e.entry.js.map +1 -0
  12. package/dist/catalyst/scss/core/_dialog.scss +2 -0
  13. package/dist/cjs/cat-alert_26.cjs.entry.js +121 -54
  14. package/dist/cjs/cat-alert_26.cjs.entry.js.map +1 -1
  15. package/dist/cjs/catalyst.cjs.js +3 -3
  16. package/dist/cjs/catalyst.cjs.js.map +1 -1
  17. package/dist/cjs/{index-6ec4ef6d.js → index-329a3380.js} +111 -29
  18. package/dist/cjs/index-329a3380.js.map +1 -0
  19. package/dist/cjs/index.cjs.js +1 -1
  20. package/dist/cjs/index.cjs.js.map +1 -1
  21. package/dist/cjs/loader.cjs.js +2 -2
  22. package/dist/cjs/{of-eda6baf8.js → of-8545b523.js} +2 -2
  23. package/dist/cjs/of-8545b523.js.map +1 -0
  24. package/dist/collection/collection-manifest.json +2 -2
  25. package/dist/collection/components/cat-alert/cat-alert.css +10 -20
  26. package/dist/collection/components/cat-avatar/cat-avatar.css +2 -2
  27. package/dist/collection/components/cat-badge/cat-badge.css +6 -11
  28. package/dist/collection/components/cat-checkbox/cat-checkbox.js +4 -1
  29. package/dist/collection/components/cat-checkbox/cat-checkbox.js.map +1 -1
  30. package/dist/collection/components/cat-datepicker/cat-datepicker.config.js +1 -0
  31. package/dist/collection/components/cat-datepicker/cat-datepicker.config.js.map +1 -1
  32. package/dist/collection/components/cat-datepicker/cat-datepicker.format.js +3 -2
  33. package/dist/collection/components/cat-datepicker/cat-datepicker.format.js.map +1 -1
  34. package/dist/collection/components/cat-dropdown/cat-dropdown.js +2 -4
  35. package/dist/collection/components/cat-dropdown/cat-dropdown.js.map +1 -1
  36. package/dist/collection/components/cat-form-hint/cat-form-hint.js +1 -1
  37. package/dist/collection/components/cat-form-hint/cat-form-hint.js.map +1 -1
  38. package/dist/collection/components/cat-form-hint/cat-form-hint.spec.js +1 -1
  39. package/dist/collection/components/cat-form-hint/cat-form-hint.spec.js.map +1 -1
  40. package/dist/collection/components/cat-i18n/cat-i18n-registry.js +1 -1
  41. package/dist/collection/components/cat-i18n/cat-i18n-registry.js.map +1 -1
  42. package/dist/collection/components/cat-input/cat-input.js +20 -4
  43. package/dist/collection/components/cat-input/cat-input.js.map +1 -1
  44. package/dist/collection/components/cat-notification/cat-notification.js +1 -2
  45. package/dist/collection/components/cat-notification/cat-notification.js.map +1 -1
  46. package/dist/collection/components/cat-radio/cat-radio.js +4 -1
  47. package/dist/collection/components/cat-radio/cat-radio.js.map +1 -1
  48. package/dist/collection/components/cat-scrollable/cat-scrollable.js +1 -3
  49. package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +1 -1
  50. package/dist/collection/components/cat-select/cat-select.css +3 -0
  51. package/dist/collection/components/cat-select/cat-select.js +13 -8
  52. package/dist/collection/components/cat-select/cat-select.js.map +1 -1
  53. package/dist/collection/components/cat-textarea/cat-textarea.js +5 -2
  54. package/dist/collection/components/cat-textarea/cat-textarea.js.map +1 -1
  55. package/dist/collection/components/cat-toggle/cat-toggle.js +4 -1
  56. package/dist/collection/components/cat-toggle/cat-toggle.js.map +1 -1
  57. package/dist/collection/components/cat-tooltip/cat-tooltip.js +2 -4
  58. package/dist/collection/components/cat-tooltip/cat-tooltip.js.map +1 -1
  59. package/dist/collection/scss/core/_dialog.scss +2 -0
  60. package/dist/components/cat-alert.js +1 -1
  61. package/dist/components/cat-alert.js.map +1 -1
  62. package/dist/components/cat-avatar2.js +3 -1
  63. package/dist/components/cat-avatar2.js.map +1 -1
  64. package/dist/components/cat-badge.js +1 -1
  65. package/dist/components/cat-badge.js.map +1 -1
  66. package/dist/components/cat-button2.js +3 -1
  67. package/dist/components/cat-button2.js.map +1 -1
  68. package/dist/components/cat-checkbox2.js +4 -1
  69. package/dist/components/cat-checkbox2.js.map +1 -1
  70. package/dist/components/cat-datepicker-inline.js +4 -0
  71. package/dist/components/cat-datepicker-inline.js.map +1 -1
  72. package/dist/components/cat-datepicker.js +6 -0
  73. package/dist/components/cat-datepicker.js.map +1 -1
  74. package/dist/components/cat-datepicker.locale.js +4 -2
  75. package/dist/components/cat-datepicker.locale.js.map +1 -1
  76. package/dist/components/cat-dropdown2.js +44 -25
  77. package/dist/components/cat-dropdown2.js.map +1 -1
  78. package/dist/components/cat-form-group.js +3 -0
  79. package/dist/components/cat-form-group.js.map +1 -1
  80. package/dist/components/cat-form-hint.js +1 -1
  81. package/dist/components/cat-form-hint.js.map +1 -1
  82. package/dist/components/cat-i18n-registry.js +1 -1
  83. package/dist/components/cat-i18n-registry.js.map +1 -1
  84. package/dist/components/cat-input2.js +22 -4
  85. package/dist/components/cat-input2.js.map +1 -1
  86. package/dist/components/cat-radio-group.js +6 -1
  87. package/dist/components/cat-radio-group.js.map +1 -1
  88. package/dist/components/cat-radio.js +4 -1
  89. package/dist/components/cat-radio.js.map +1 -1
  90. package/dist/components/cat-select2.js +18 -6
  91. package/dist/components/cat-select2.js.map +1 -1
  92. package/dist/components/cat-tabs.js +3 -1
  93. package/dist/components/cat-tabs.js.map +1 -1
  94. package/dist/components/cat-textarea.js +7 -2
  95. package/dist/components/cat-textarea.js.map +1 -1
  96. package/dist/components/cat-toggle.js +4 -1
  97. package/dist/components/cat-toggle.js.map +1 -1
  98. package/dist/components/floating-ui.dom.esm.js +16 -5
  99. package/dist/components/floating-ui.dom.esm.js.map +1 -1
  100. package/dist/components/index.d.ts +6 -0
  101. package/dist/components/index.js +1 -1
  102. package/dist/components/index.js.map +1 -1
  103. package/dist/esm/cat-alert_26.entry.js +121 -54
  104. package/dist/esm/cat-alert_26.entry.js.map +1 -1
  105. package/dist/esm/catalyst.js +4 -4
  106. package/dist/esm/catalyst.js.map +1 -1
  107. package/dist/esm/{index-b424aa97.js → index-6af09649.js} +111 -29
  108. package/dist/esm/index-6af09649.js.map +1 -0
  109. package/dist/esm/index.js +2 -2
  110. package/dist/esm/index.js.map +1 -1
  111. package/dist/esm/loader.js +3 -3
  112. package/dist/esm/{of-246f9b35.js → of-a965d8fb.js} +2 -2
  113. package/dist/esm/of-a965d8fb.js.map +1 -0
  114. package/dist/types/components/cat-checkbox/cat-checkbox.d.ts +1 -0
  115. package/dist/types/components/cat-i18n/cat-i18n-registry.d.ts +1 -0
  116. package/dist/types/components/cat-input/cat-input.d.ts +2 -0
  117. package/dist/types/components/cat-radio/cat-radio.d.ts +1 -0
  118. package/dist/types/components/cat-select/cat-select.d.ts +1 -0
  119. package/dist/types/components/cat-textarea/cat-textarea.d.ts +1 -0
  120. package/dist/types/components/cat-toggle/cat-toggle.d.ts +1 -0
  121. package/dist/types/stencil-public-runtime.d.ts +5 -3
  122. package/package.json +18 -18
  123. package/dist/catalyst/p-8929f28a.js +0 -2
  124. package/dist/catalyst/p-8929f28a.js.map +0 -1
  125. package/dist/catalyst/p-e7e1f61e.entry.js +0 -10
  126. package/dist/catalyst/p-e7e1f61e.entry.js.map +0 -1
  127. package/dist/catalyst/p-f0bcebed.js +0 -3
  128. package/dist/catalyst/p-f0bcebed.js.map +0 -1
  129. package/dist/cjs/index-6ec4ef6d.js.map +0 -1
  130. package/dist/cjs/of-eda6baf8.js.map +0 -1
  131. package/dist/esm/index-b424aa97.js.map +0 -1
  132. package/dist/esm/of-246f9b35.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-b424aa97.js';
2
- import { f as createErrorClass, O as Observable, g as errorContext, E as EMPTY_SUBSCRIPTION, S as Subscription, h as arrRemove, i as operate, j as createOperatorSubscriber, k as innerFrom, l as executeSchedule, m as isFunction, n as identity, p as from, q as popScheduler, r as isArrayLike, s as isScheduler, t as popNumber, u as noop, v as loglevel, b as catI18nRegistry, c as createCommonjsModule, a as commonjsGlobal, e as catIconRegistry, o as of } from './of-246f9b35.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-6af09649.js';
2
+ import { f as createErrorClass, O as Observable, g as errorContext, E as EMPTY_SUBSCRIPTION, S as Subscription, h as arrRemove, i as operate, j as createOperatorSubscriber, k as innerFrom, l as executeSchedule, m as isFunction, n as identity, p as from, q as popScheduler, r as isArrayLike, s as isScheduler, t as popNumber, u as noop, v as loglevel, b as catI18nRegistry, c as createCommonjsModule, a as commonjsGlobal, e as catIconRegistry, o as of } from './of-a965d8fb.js';
3
3
 
4
4
  const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {
5
5
  _super(this);
@@ -786,7 +786,7 @@ function setAttributeDefault(host, attr, value) {
786
786
  }
787
787
  }
788
788
 
789
- const catAlertCss = ":host{display:flex;gap:0.5rem;padding:1.25rem;border-radius:var(--cat-border-radius-l, 0.5rem);margin-bottom:1rem}:host([hidden]){display:none}:host(:focus-visible){outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.content{align-self:center}::slotted(:last-child){margin-bottom:0 !important}:host([color=primary]){background-color:rgba(var(--cat-primary-bg, 0, 129, 148), 0.1)}:host([color=primary]) cat-icon{color:rgb(var(--cat-primary-text, 0, 129, 148))}:host([color=secondary]){background-color:rgba(var(--cat-secondary-bg, 105, 118, 135), 0.1)}:host([color=secondary]) cat-icon{color:#697687}:host([color=success]){background-color:rgba(var(--cat-success-bg, 0, 132, 88), 0.1)}:host([color=success]) cat-icon{color:#008458}:host([color=warning]){background-color:rgba(var(--cat-warning-bg, 255, 206, 128), 0.1)}:host([color=warning]) cat-icon{color:#ebb663}:host([color=danger]){background-color:rgba(var(--cat-danger-bg, 217, 52, 13), 0.1)}:host([color=danger]) cat-icon{color:#d9340d}";
789
+ const catAlertCss = ":host{display:flex;gap:0.5rem;padding:1.25rem;border-radius:var(--cat-border-radius-l, 0.5rem);margin-bottom:1rem}:host([hidden]){display:none}:host(:focus-visible){outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.content{align-self:center}::slotted(:last-child){margin-bottom:0 !important}:host([color=primary]){background-color:rgb(var(--cat-primary-bg, 0, 129, 148));color:rgb(var(--cat-primary-fill, 255, 255, 255))}:host([color=secondary]){background-color:rgb(var(--cat-secondary-bg, 105, 118, 135));color:rgb(var(--cat-secondary-fill, 255, 255, 255))}:host([color=success]){background-color:rgb(var(--cat-success-bg, 0, 132, 88));color:rgb(var(--cat-success-fill, 255, 255, 255))}:host([color=warning]){background-color:rgb(var(--cat-warning-bg, 255, 206, 128));color:rgb(var(--cat-warning-fill, 0, 0, 0))}:host([color=danger]){background-color:rgb(var(--cat-danger-bg, 217, 52, 13));color:rgb(var(--cat-danger-fill, 255, 255, 255))}";
790
790
 
791
791
  const CatAlert = class {
792
792
  constructor(hostRef) {
@@ -835,7 +835,7 @@ const loadImg = (src) => {
835
835
  });
836
836
  };
837
837
 
838
- const catAvatarCss = ":host{display:contents}:host([hidden]){display:none}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--cat-border-radius-m, 0.25rem);text-decoration:inherit;color:var(--cat-avatar-fill, white);background-color:var(--cat-avatar-bg, #697687);background-size:cover;background-position:center;white-space:nowrap;overflow:hidden;vertical-align:middle;font-weight:600;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.avatar:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.avatar-round{border-radius:50%}.avatar-xs{width:var(--cat-avatar-size, 1.5rem);height:var(--cat-avatar-size, 1.5rem);line-height:var(--cat-avatar-size, 1.5rem);font-size:var(--cat-avatar-font-size, 0.75rem)}.avatar-s{width:var(--cat-avatar-size, 2rem);height:var(--cat-avatar-size, 2rem);line-height:var(--cat-avatar-size, 2rem);font-size:var(--cat-avatar-font-size, 0.875rem)}.avatar-m{width:var(--cat-avatar-size, 2.5rem);height:var(--cat-avatar-size, 2.5rem);line-height:var(--cat-avatar-size, 2.5rem);font-size:var(--cat-avatar-font-size, 0.9375rem)}.avatar-l{width:var(--cat-avatar-size, 3rem);height:var(--cat-avatar-size, 3rem);line-height:var(--cat-avatar-size, 3rem);font-size:var(--cat-avatar-font-size, 1.125rem)}.avatar-xl{width:var(--cat-avatar-size, 3.5rem);height:var(--cat-avatar-size, 3.5rem);line-height:var(--cat-avatar-size, 3.5rem);font-size:var(--cat-avatar-font-size, 1.25rem)}";
838
+ const catAvatarCss = ":host{display:contents}:host([hidden]){display:none}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--cat-border-radius-m, 0.25rem);text-decoration:inherit;color:var(--cat-avatar-fill, #515c6c);background-color:var(--cat-avatar-bg, #f2f4f7);background-size:cover;background-position:center;white-space:nowrap;overflow:hidden;vertical-align:middle;font-weight:600;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.avatar:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.avatar-round{border-radius:50%}.avatar-xs{width:var(--cat-avatar-size, 1.5rem);height:var(--cat-avatar-size, 1.5rem);line-height:var(--cat-avatar-size, 1.5rem);font-size:var(--cat-avatar-font-size, 0.75rem)}.avatar-s{width:var(--cat-avatar-size, 2rem);height:var(--cat-avatar-size, 2rem);line-height:var(--cat-avatar-size, 2rem);font-size:var(--cat-avatar-font-size, 0.875rem)}.avatar-m{width:var(--cat-avatar-size, 2.5rem);height:var(--cat-avatar-size, 2.5rem);line-height:var(--cat-avatar-size, 2.5rem);font-size:var(--cat-avatar-font-size, 0.9375rem)}.avatar-l{width:var(--cat-avatar-size, 3rem);height:var(--cat-avatar-size, 3rem);line-height:var(--cat-avatar-size, 3rem);font-size:var(--cat-avatar-font-size, 1.125rem)}.avatar-xl{width:var(--cat-avatar-size, 3.5rem);height:var(--cat-avatar-size, 3.5rem);line-height:var(--cat-avatar-size, 3.5rem);font-size:var(--cat-avatar-font-size, 1.25rem)}";
839
839
 
840
840
  const CatAvatar = class {
841
841
  constructor(hostRef) {
@@ -902,7 +902,7 @@ const CatAvatar = class {
902
902
  };
903
903
  CatAvatar.style = catAvatarCss;
904
904
 
905
- const catBadgeCss = ":host([hidden]){display:none}:host{display:inline-flex;max-width:100%;vertical-align:baseline;align-items:center;justify-content:center;border-radius:var(--cat-border-radius-m, 0.25rem);text-decoration:none;line-height:1.5}:host slot{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}:host([round]){border-radius:10rem}:host([variant=filled]){background-color:rgba(var(--bg), 0.1);color:rgb(var(--text));font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}:host([variant=outlined]){background-color:white;box-shadow:inset 0 0 0 1px rgba(var(--border), 0.2);color:rgb(var(--text))}:host([color=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);--border:var(--cat-primary-text, 0, 129, 148)}:host([color=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);--border:var(--cat-secondary-bg, 105, 118, 135)}:host([color=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);--border:var(--cat-success-text, 0, 132, 88)}:host([color=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);--border:var(--cat-warning-text, 159, 97, 0)}:host([color=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);--border:var(--cat-danger-text, 217, 52, 13)}:host([size=xs]){height:1rem;min-width:1rem;font-size:0.75rem;padding:0 0.25rem}:host([size=s]){height:1.5rem;min-width:1.5rem;font-size:0.75rem;padding:0 0.5rem}:host([size=m]){height:2rem;min-width:2rem;font-size:0.875rem;padding:0 0.75rem}:host([size=l]){height:2.5rem;min-width:2.5rem;font-size:0.9375rem;padding:0 1rem}:host([size=xl]){height:3rem;min-width:3rem;font-size:1.125rem;padding:0 1rem}:host([pulse][variant=filled]){animation:1.5s ease 0s infinite normal none running pulse}:host([pulse][variant=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)}}";
905
+ const catBadgeCss = ":host([hidden]){display:none}:host{display:inline-flex;max-width:100%;vertical-align:baseline;align-items:center;justify-content:center;border-radius:var(--cat-border-radius-m, 0.25rem);text-decoration:none;line-height:1.5}:host slot{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}:host([round]){border-radius:10rem}:host([variant=filled]){background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}:host([variant=outlined]){background-color:white;color:rgb(var(--text));box-shadow:inset 0 0 0 1px rgba(var(--text), 0.2)}:host([color=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)}:host([color=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)}:host([color=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)}:host([color=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)}:host([color=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)}:host([size=xs]){height:1rem;min-width:1rem;font-size:0.75rem;padding:0 0.25rem}:host([size=s]){height:1.5rem;min-width:1.5rem;font-size:0.75rem;padding:0 0.5rem}:host([size=m]){height:2rem;min-width:2rem;font-size:0.875rem;padding:0 0.75rem}:host([size=l]){height:2.5rem;min-width:2.5rem;font-size:0.9375rem;padding:0 1rem}:host([size=xl]){height:3rem;min-width:3rem;font-size:1.125rem;padding:0 1rem}:host([pulse][variant=filled]){animation:1.5s ease 0s infinite normal none running pulse}:host([pulse][variant=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(--text), 0.2)}70%{box-shadow:transparent 0 0 0 0.5rem, inset 0 0 0 1px rgba(var(--text), 0.2)}100%{box-shadow:transparent 0 0 0 0, inset 0 0 0 1px rgba(var(--text), 0.2)}}";
906
906
 
907
907
  const CatBadge = class {
908
908
  constructor(hostRef) {
@@ -1244,7 +1244,7 @@ CatCard.style = catCardCss;
1244
1244
  const CatFormHint = props => {
1245
1245
  const { id, hint, slottedHint, errorMap } = props;
1246
1246
  const errors = Object.entries(errorMap || {});
1247
- return (h("div", { id: id + '-hint', class: "hint-section" }, errors.length
1247
+ return (h("div", { "aria-live": "polite", id: id + '-hint', class: "hint-section" }, errors.length
1248
1248
  ? errors.map(([key, params]) => (h("p", { class: (props.class ?? '') + ' input-hint cat-text-danger' }, catI18nRegistry.t(`error.${key}`, params))))
1249
1249
  : [
1250
1250
  hint &&
@@ -1310,7 +1310,10 @@ const CatCheckbox = class {
1310
1310
  this.input.blur();
1311
1311
  }
1312
1312
  render() {
1313
- return (h(Host, null, h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled, 'label-left': this.labelLeft } }, h("input", { ...this.nativeAttributes, 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, indeterminate: this.indeterminate, 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.hasSlottedLabel && h("slot", { name: "label" })) || this.label)), (this.hint || this.hasSlottedHint) && (h("div", { class: { 'hint-wrapper': true, 'label-left': this.labelLeft } }, h("div", { class: "box-placeholder" }), h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }) })))));
1313
+ return (h(Host, null, h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled, 'label-left': this.labelLeft } }, h("input", { ...this.nativeAttributes, 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, indeterminate: this.indeterminate, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this), "aria-describedby": this.hasHint ? this.id + '-hint' : undefined }), 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.hasSlottedLabel && h("slot", { name: "label" })) || this.label)), this.hasHint && (h("div", { class: { 'hint-wrapper': true, 'label-left': this.labelLeft } }, h("div", { class: "box-placeholder" }), h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }) })))));
1314
+ }
1315
+ get hasHint() {
1316
+ return !!this.hint || !!this.hasSlottedHint;
1314
1317
  }
1315
1318
  onInput() {
1316
1319
  this.checked = this.input.checked;
@@ -4000,6 +4003,7 @@ function getConfig(options, more = {}) {
4000
4003
  ...more,
4001
4004
  locale: options.locale,
4002
4005
  plugins,
4006
+ allowInput: true,
4003
4007
  altInput: true,
4004
4008
  prevArrow: '←',
4005
4009
  nextArrow: '→',
@@ -4060,7 +4064,7 @@ function dateFormat(mode) {
4060
4064
  }
4061
4065
 
4062
4066
  function getFormat(language, mode) {
4063
- const date = new Date(2000, 1, 3, 4, 5, 6);
4067
+ const date = new Date(2000, 1, 3, 16, 5, 6);
4064
4068
  const formatDate = { year: 'numeric', month: '2-digit', day: '2-digit' };
4065
4069
  const formatTime = { hour: '2-digit', minute: '2-digit' };
4066
4070
  return mode === 'week'
@@ -4076,7 +4080,8 @@ function getFormat(language, mode) {
4076
4080
  .replace('00', 'y')
4077
4081
  .replace('02', 'm')
4078
4082
  .replace('03', 'd')
4079
- .replace('04', 'H')
4083
+ .replace('04', 'h')
4084
+ .replace('16', 'H')
4080
4085
  .replace('05', 'i')
4081
4086
  .replace(/AM|PM/i, 'K');
4082
4087
  }
@@ -4676,7 +4681,7 @@ const flip = function (options) {
4676
4681
  name: 'flip',
4677
4682
  options,
4678
4683
  async fn(state) {
4679
- var _middlewareData$flip;
4684
+ var _middlewareData$arrow, _middlewareData$flip;
4680
4685
  const {
4681
4686
  placement,
4682
4687
  middlewareData,
@@ -4694,6 +4699,14 @@ const flip = function (options) {
4694
4699
  flipAlignment = true,
4695
4700
  ...detectOverflowOptions
4696
4701
  } = evaluate(options, state);
4702
+
4703
+ // If a reset by the arrow was caused due to an alignment offset being
4704
+ // added, we should skip any logic now since `flip()` has already done its
4705
+ // work.
4706
+ // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643
4707
+ if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
4708
+ return {};
4709
+ }
4697
4710
  const side = getSide(placement);
4698
4711
  const isBasePlacement = getSide(initialPlacement) === initialPlacement;
4699
4712
  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
@@ -5107,18 +5120,21 @@ function getNearestOverflowAncestor(node) {
5107
5120
  }
5108
5121
  return getNearestOverflowAncestor(parentNode);
5109
5122
  }
5110
- function getOverflowAncestors(node, list) {
5123
+ function getOverflowAncestors(node, list, traverseIframes) {
5111
5124
  var _node$ownerDocument2;
5112
5125
  if (list === void 0) {
5113
5126
  list = [];
5114
5127
  }
5128
+ if (traverseIframes === void 0) {
5129
+ traverseIframes = true;
5130
+ }
5115
5131
  const scrollableAncestor = getNearestOverflowAncestor(node);
5116
5132
  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
5117
5133
  const win = getWindow(scrollableAncestor);
5118
5134
  if (isBody) {
5119
- return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []);
5135
+ return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);
5120
5136
  }
5121
- return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor));
5137
+ return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
5122
5138
  }
5123
5139
 
5124
5140
  function getCssDimensions(element) {
@@ -5389,7 +5405,7 @@ function getClippingElementAncestors(element, cache) {
5389
5405
  if (cachedResult) {
5390
5406
  return cachedResult;
5391
5407
  }
5392
- let result = getOverflowAncestors(element).filter(el => isElement(el) && getNodeName(el) !== 'body');
5408
+ let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');
5393
5409
  let currentContainingBlockComputedStyle = null;
5394
5410
  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
5395
5411
  let currentNode = elementIsFixed ? getParentNode(element) : element;
@@ -6289,30 +6305,30 @@ var isFocusable = function isFocusable(node, options) {
6289
6305
  };
6290
6306
 
6291
6307
  /*!
6292
- * focus-trap 7.5.2
6308
+ * focus-trap 7.5.4
6293
6309
  * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
6294
6310
  */
6295
6311
 
6296
- function ownKeys(object, enumerableOnly) {
6297
- var keys = Object.keys(object);
6312
+ function ownKeys(e, r) {
6313
+ var t = Object.keys(e);
6298
6314
  if (Object.getOwnPropertySymbols) {
6299
- var symbols = Object.getOwnPropertySymbols(object);
6300
- enumerableOnly && (symbols = symbols.filter(function (sym) {
6301
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
6302
- })), keys.push.apply(keys, symbols);
6303
- }
6304
- return keys;
6305
- }
6306
- function _objectSpread2(target) {
6307
- for (var i = 1; i < arguments.length; i++) {
6308
- var source = null != arguments[i] ? arguments[i] : {};
6309
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
6310
- _defineProperty(target, key, source[key]);
6311
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
6312
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
6315
+ var o = Object.getOwnPropertySymbols(e);
6316
+ r && (o = o.filter(function (r) {
6317
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
6318
+ })), t.push.apply(t, o);
6319
+ }
6320
+ return t;
6321
+ }
6322
+ function _objectSpread2(e) {
6323
+ for (var r = 1; r < arguments.length; r++) {
6324
+ var t = null != arguments[r] ? arguments[r] : {};
6325
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
6326
+ _defineProperty(e, r, t[r]);
6327
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
6328
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
6313
6329
  });
6314
6330
  }
6315
- return target;
6331
+ return e;
6316
6332
  }
6317
6333
  function _defineProperty(obj, key, value) {
6318
6334
  key = _toPropertyKey(key);
@@ -6689,11 +6705,30 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
6689
6705
  throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.");
6690
6706
  }
6691
6707
  };
6708
+
6709
+ /**
6710
+ * Gets the current activeElement. If it's a web-component and has open shadow-root
6711
+ * it will recursively search inside shadow roots for the "true" activeElement.
6712
+ *
6713
+ * @param {Document | ShadowRoot} el
6714
+ *
6715
+ * @returns {HTMLElement} The element that currently has the focus
6716
+ **/
6717
+ var getActiveElement = function getActiveElement(el) {
6718
+ var activeElement = el.activeElement;
6719
+ if (!activeElement) {
6720
+ return;
6721
+ }
6722
+ if (activeElement.shadowRoot && activeElement.shadowRoot.activeElement !== null) {
6723
+ return getActiveElement(activeElement.shadowRoot);
6724
+ }
6725
+ return activeElement;
6726
+ };
6692
6727
  var tryFocus = function tryFocus(node) {
6693
6728
  if (node === false) {
6694
6729
  return;
6695
6730
  }
6696
- if (node === doc.activeElement) {
6731
+ if (node === getActiveElement(document)) {
6697
6732
  return;
6698
6733
  }
6699
6734
  if (!node || !node.focus) {
@@ -7107,14 +7142,14 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
7107
7142
  state.active = true;
7108
7143
  state.paused = false;
7109
7144
  state.nodeFocusedBeforeActivation = doc.activeElement;
7110
- onActivate === null || onActivate === void 0 ? void 0 : onActivate();
7145
+ onActivate === null || onActivate === void 0 || onActivate();
7111
7146
  var finishActivation = function finishActivation() {
7112
7147
  if (checkCanFocusTrap) {
7113
7148
  updateTabbableNodes();
7114
7149
  }
7115
7150
  addListeners();
7116
7151
  updateObservedNodes();
7117
- onPostActivate === null || onPostActivate === void 0 ? void 0 : onPostActivate();
7152
+ onPostActivate === null || onPostActivate === void 0 || onPostActivate();
7118
7153
  };
7119
7154
  if (checkCanFocusTrap) {
7120
7155
  checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);
@@ -7143,13 +7178,13 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
7143
7178
  var onPostDeactivate = getOption(options, 'onPostDeactivate');
7144
7179
  var checkCanReturnFocus = getOption(options, 'checkCanReturnFocus');
7145
7180
  var returnFocus = getOption(options, 'returnFocus', 'returnFocusOnDeactivate');
7146
- onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate();
7181
+ onDeactivate === null || onDeactivate === void 0 || onDeactivate();
7147
7182
  var finishDeactivation = function finishDeactivation() {
7148
7183
  delay(function () {
7149
7184
  if (returnFocus) {
7150
7185
  tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));
7151
7186
  }
7152
- onPostDeactivate === null || onPostDeactivate === void 0 ? void 0 : onPostDeactivate();
7187
+ onPostDeactivate === null || onPostDeactivate === void 0 || onPostDeactivate();
7153
7188
  });
7154
7189
  };
7155
7190
  if (returnFocus && checkCanReturnFocus) {
@@ -7166,10 +7201,10 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
7166
7201
  var onPause = getOption(pauseOptions, 'onPause');
7167
7202
  var onPostPause = getOption(pauseOptions, 'onPostPause');
7168
7203
  state.paused = true;
7169
- onPause === null || onPause === void 0 ? void 0 : onPause();
7204
+ onPause === null || onPause === void 0 || onPause();
7170
7205
  removeListeners();
7171
7206
  updateObservedNodes();
7172
- onPostPause === null || onPostPause === void 0 ? void 0 : onPostPause();
7207
+ onPostPause === null || onPostPause === void 0 || onPostPause();
7173
7208
  return this;
7174
7209
  },
7175
7210
  unpause: function unpause(unpauseOptions) {
@@ -7179,11 +7214,11 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
7179
7214
  var onUnpause = getOption(unpauseOptions, 'onUnpause');
7180
7215
  var onPostUnpause = getOption(unpauseOptions, 'onPostUnpause');
7181
7216
  state.paused = false;
7182
- onUnpause === null || onUnpause === void 0 ? void 0 : onUnpause();
7217
+ onUnpause === null || onUnpause === void 0 || onUnpause();
7183
7218
  updateTabbableNodes();
7184
7219
  addListeners();
7185
7220
  updateObservedNodes();
7186
- onPostUnpause === null || onPostUnpause === void 0 ? void 0 : onPostUnpause();
7221
+ onPostUnpause === null || onPostUnpause === void 0 || onPostUnpause();
7187
7222
  return this;
7188
7223
  },
7189
7224
  updateContainerElements: function updateContainerElements(containerElements) {
@@ -7513,7 +7548,11 @@ const CatInput = class {
7513
7548
  * the focusing process.
7514
7549
  */
7515
7550
  async doFocus(options) {
7516
- this.input.focus(options);
7551
+ // hack to make datepicker inputs focusable. The datepicker hides the input
7552
+ // element and dynamically creates a sibling. We need to find the new input
7553
+ // element and focus it instead.
7554
+ const input = this.input.type === 'hidden' ? this.findSiblingInput(this.input.nextSibling) : this.input;
7555
+ input?.focus(options);
7517
7556
  }
7518
7557
  /**
7519
7558
  * Programmatically remove focus from the input. Use this method instead of
@@ -7552,12 +7591,15 @@ const CatInput = class {
7552
7591
  'input-readonly': this.readonly,
7553
7592
  'input-disabled': this.disabled,
7554
7593
  'input-invalid': this.invalid
7555
- }, 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", size: "l" }), h("div", { class: "input-inner-wrapper" }, h("input", { ...this.nativeAttributes, ref: el => (this.input = el), id: this.id, class: {
7594
+ }, 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", size: "l", onClick: () => this.doFocus() })), h("div", { class: "input-inner-wrapper" }, h("input", { ...this.nativeAttributes, ref: el => (this.input = el), id: this.id, class: {
7556
7595
  'has-clearable': this.clearable && !this.disabled && !this.readonly
7557
- }, autocomplete: this.autoComplete, disabled: this.disabled, max: this.max, maxlength: this.maxLength, min: this.min, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, type: this.type, value: this.value, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this), "aria-invalid": this.invalid ? 'true' : undefined, "aria-describedby": this.hint?.length ? this.id + '-hint' : undefined }), this.clearable && !this.disabled && !this.readonly && this.value && (h("cat-button", { class: "clearable", icon: "$cat:input-close", "icon-only": "true", size: "s", variant: "text", "a11y-label": catI18nRegistry.t('input.clear'), onClick: this.clear.bind(this), "data-dropdown-no-close": true }))), !this.invalid && this.icon && this.iconRight && (h("cat-icon", { icon: this.icon, class: "icon-suffix", size: "l" })), this.invalid && h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l" }), this.textSuffix && (h("span", { class: "text-suffix", part: "suffix" }, this.textSuffix))), (this.hint || this.hasSlottedHint || !!Object.keys(this.errorMap || {}).length) && (h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }), errorMap: this.errorMap })))));
7596
+ }, autocomplete: this.autoComplete, disabled: this.disabled, max: this.max, maxlength: this.maxLength, min: this.min, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, type: this.type, value: this.value, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this), "aria-invalid": this.invalid ? 'true' : undefined, "aria-describedby": this.hasHint ? this.id + '-hint' : undefined }), this.clearable && !this.disabled && !this.readonly && this.value && (h("cat-button", { class: "clearable", icon: "$cat:input-close", "icon-only": "true", size: "s", variant: "text", "a11y-label": catI18nRegistry.t('input.clear'), onClick: this.clear.bind(this), "data-dropdown-no-close": true }))), !this.invalid && this.icon && this.iconRight && (h("cat-icon", { icon: this.icon, class: "icon-suffix", size: "l", onClick: () => this.doFocus() })), this.invalid && h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l" }), this.textSuffix && (h("span", { class: "text-suffix", part: "suffix" }, this.textSuffix))), this.hasHint && (h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }), errorMap: this.errorMap })))));
7597
+ }
7598
+ get hasHint() {
7599
+ return !!this.hint || !!this.hasSlottedHint || this.invalid;
7558
7600
  }
7559
7601
  get invalid() {
7560
- return !!this.errorMap;
7602
+ return !!Object.keys(this.errorMap || {}).length;
7561
7603
  }
7562
7604
  onInput() {
7563
7605
  this.value = this.input.value;
@@ -7591,6 +7633,15 @@ const CatInput = class {
7591
7633
  this.showErrors();
7592
7634
  }
7593
7635
  }
7636
+ findSiblingInput(node) {
7637
+ if (node instanceof HTMLInputElement) {
7638
+ return node;
7639
+ }
7640
+ else if (node?.nextSibling) {
7641
+ return this.findSiblingInput(node.nextSibling);
7642
+ }
7643
+ return undefined;
7644
+ }
7594
7645
  get hostElement() { return getElement(this); }
7595
7646
  static get watchers() { return {
7596
7647
  "errors": ["onErrorsChanged"]
@@ -7722,7 +7773,10 @@ const CatRadio = class {
7722
7773
  this.input.blur();
7723
7774
  }
7724
7775
  render() {
7725
- return (h(Host, null, h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled, 'label-left': this.labelLeft }, role: "radio", "aria-checked": this.checked ? 'true' : 'false' }, h("span", { class: "radio" }, h("input", { ...this.nativeAttributes, ref: el => (this.input = el), id: this.identifier || this.id, type: "radio", 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: "circle" })), h("span", { class: "label", part: "label" }, (this.hasSlottedLabel && h("slot", { name: "label" })) || this.label)), (this.hint || this.hasSlottedHint) && (h("div", { class: { 'hint-wrapper': true, 'label-left': this.labelLeft } }, h("div", { class: "circle-placeholder" }), h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }) })))));
7776
+ return (h(Host, null, h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled, 'label-left': this.labelLeft }, role: "radio", "aria-checked": this.checked ? 'true' : 'false' }, h("span", { class: "radio" }, h("input", { ...this.nativeAttributes, ref: el => (this.input = el), id: this.identifier || this.id, type: "radio", 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), "aria-describedby": this.hasHint ? this.id + '-hint' : undefined }), h("span", { class: "circle" })), h("span", { class: "label", part: "label" }, (this.hasSlottedLabel && h("slot", { name: "label" })) || this.label)), this.hasHint && (h("div", { class: { 'hint-wrapper': true, 'label-left': this.labelLeft } }, h("div", { class: "circle-placeholder" }), h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }) })))));
7777
+ }
7778
+ get hasHint() {
7779
+ return !!this.hint || !!this.hasSlottedHint;
7726
7780
  }
7727
7781
  onInput() {
7728
7782
  this.checked = true;
@@ -8017,7 +8071,7 @@ var autosizeInput = function (element, options) {
8017
8071
  }
8018
8072
  };
8019
8073
 
8020
- const catSelectCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column;color:rgb(var(--cat-hint-color, inherit))}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1.125rem;font-weight:var(--cat-font-weight-body, 400);margin:0 !important}.cat-bg-primary{background-color:rgb(var(--cat-primary-bg, 0, 129, 148)) !important;color:rgb(var(--cat-primary-fill, 255, 255, 255)) !important}.cat-bg-primary-hover{transition:background-color 125ms, color 125ms}.cat-bg-primary-hover:hover{background-color:rgb(var(--cat-primary-bg-hover, 1, 115, 132)) !important;color:rgb(var(--cat-primary-fill-hover, 255, 255, 255)) !important}.cat-text-primary,.cat-link-primary{color:rgb(var(--cat-primary-text, 0, 129, 148)) !important}.cat-link-primary,.cat-text-primary-hover{transition:color 125ms}.cat-link-primary:hover,.cat-text-primary-hover:hover{color:rgb(var(--cat-primary-text-hover, 1, 115, 132)) !important}.cat-link-primary:active,.cat-text-primary-hover:active{color:rgb(var(--cat-primary-text-active, 2, 99, 113)) !important}.cat-bg-primaryInverted{background-color:#93b4f2 !important;color:black !important}.cat-bg-primaryInverted-hover{transition:background-color 125ms, color 125ms}.cat-bg-primaryInverted-hover:hover{background-color:#93b4f2 !important;color:black !important}.cat-text-primaryInverted,.cat-link-primaryInverted{color:#93b4f2 !important}.cat-link-primaryInverted,.cat-text-primaryInverted-hover{transition:color 125ms}.cat-link-primaryInverted:hover,.cat-text-primaryInverted-hover:hover{color:#93b4f2 !important}.cat-link-primaryInverted:active,.cat-text-primaryInverted-hover:active{color:#93b4f2 !important}.cat-bg-secondary{background-color:rgb(var(--cat-secondary-bg, 105, 118, 135)) !important;color:rgb(var(--cat-secondary-fill, 255, 255, 255)) !important}.cat-bg-secondary-hover{transition:background-color 125ms, color 125ms}.cat-bg-secondary-hover:hover{background-color:rgb(var(--cat-secondary-bg-hover, 105, 118, 135)) !important;color:rgb(var(--cat-secondary-fill-hover, 255, 255, 255)) !important}.cat-text-secondary,.cat-link-secondary{color:rgb(var(--cat-secondary-text, 0, 0, 0)) !important}.cat-link-secondary,.cat-text-secondary-hover{transition:color 125ms}.cat-link-secondary:hover,.cat-text-secondary-hover:hover{color:rgb(var(--cat-secondary-text-hover, 0, 0, 0)) !important}.cat-link-secondary:active,.cat-text-secondary-hover:active{color:rgb(var(--cat-secondary-text-active, 0, 0, 0)) !important}.cat-bg-secondaryInverted{background-color:#697687 !important;color:black !important}.cat-bg-secondaryInverted-hover{transition:background-color 125ms, color 125ms}.cat-bg-secondaryInverted-hover:hover{background-color:#697687 !important;color:black !important}.cat-text-secondaryInverted,.cat-link-secondaryInverted{color:white !important}.cat-link-secondaryInverted,.cat-text-secondaryInverted-hover{transition:color 125ms}.cat-link-secondaryInverted:hover,.cat-text-secondaryInverted-hover:hover{color:white !important}.cat-link-secondaryInverted:active,.cat-text-secondaryInverted-hover:active{color:white !important}.cat-bg-success{background-color:rgb(var(--cat-success-bg, 0, 132, 88)) !important;color:rgb(var(--cat-success-fill, 255, 255, 255)) !important}.cat-bg-success-hover{transition:background-color 125ms, color 125ms}.cat-bg-success-hover:hover{background-color:rgb(var(--cat-success-bg-hover, 0, 117, 78)) !important;color:rgb(var(--cat-success-fill-hover, 255, 255, 255)) !important}.cat-text-success,.cat-link-success{color:rgb(var(--cat-success-text, 0, 132, 88)) !important}.cat-link-success,.cat-text-success-hover{transition:color 125ms}.cat-link-success:hover,.cat-text-success-hover:hover{color:rgb(var(--cat-success-text-hover, 0, 117, 78)) !important}.cat-link-success:active,.cat-text-success-hover:active{color:rgb(var(--cat-success-text-active, 0, 105, 70)) !important}.cat-bg-warning{background-color:rgb(var(--cat-warning-bg, 255, 206, 128)) !important;color:rgb(var(--cat-warning-fill, 0, 0, 0)) !important}.cat-bg-warning-hover{transition:background-color 125ms, color 125ms}.cat-bg-warning-hover:hover{background-color:rgb(var(--cat-warning-bg-hover, 255, 214, 148)) !important;color:rgb(var(--cat-warning-fill-hover, 0, 0, 0)) !important}.cat-text-warning,.cat-link-warning{color:rgb(var(--cat-warning-text, 159, 97, 0)) !important}.cat-link-warning,.cat-text-warning-hover{transition:color 125ms}.cat-link-warning:hover,.cat-text-warning-hover:hover{color:rgb(var(--cat-warning-text-hover, 159, 97, 0)) !important}.cat-link-warning:active,.cat-text-warning-hover:active{color:rgb(var(--cat-warning-text-active, 159, 97, 0)) !important}.cat-bg-danger{background-color:rgb(var(--cat-danger-bg, 217, 52, 13)) !important;color:rgb(var(--cat-danger-fill, 255, 255, 255)) !important}.cat-bg-danger-hover{transition:background-color 125ms, color 125ms}.cat-bg-danger-hover:hover{background-color:rgb(var(--cat-danger-bg-hover, 194, 46, 11)) !important;color:rgb(var(--cat-danger-fill-hover, 255, 255, 255)) !important}.cat-text-danger,.cat-link-danger{color:rgb(var(--cat-danger-text, 217, 52, 13)) !important}.cat-link-danger,.cat-text-danger-hover{transition:color 125ms}.cat-link-danger:hover,.cat-text-danger-hover:hover{color:rgb(var(--cat-danger-text-hover, 194, 46, 11)) !important}.cat-link-danger:active,.cat-text-danger-hover:active{color:rgb(var(--cat-danger-text-active, 174, 42, 10)) !important}.cat-active{color:rgb(var(--cat-primary-text, 0, 129, 148)) !important}.cat-muted{color:rgb(var(--cat-font-color-muted, 81, 92, 108)) !important}.cat-text-reset{color:inherit !important}.cat-link-reset{color:inherit !important;text-decoration:inherit !important}.label{overflow:hidden;word-wrap:break-word;word-break:break-word}.input-field:not(.input-horizontal) .label-container.hidden,.textarea-field:not(.textarea-horizontal) .label-container.hidden,.select-field:not(.select-horizontal) .label-container.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}.label-container{flex-basis:var(--label-size, 33.33%)}.label-container .label-wrapper{display:flex;gap:0.25rem}.label-metadata{display:flex;flex-shrink:0;flex-grow:1;justify-content:space-between;gap:0.25rem}.label-optional{display:flex;align-items:center;max-height:1.25rem;font-size:0.75rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 81, 92, 108))}.label-character-count{display:flex;align-items:center;margin-left:auto;max-height:1.25rem;font-size:0.75rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 81, 92, 108))}.input-horizontal .label-container.hidden label,.textarea-horizontal .label-container.hidden label,.select-horizontal .label-container.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}.input-horizontal .label-wrapper,.textarea-horizontal .label-wrapper,.select-horizontal .label-wrapper{flex-direction:column}.input-horizontal label,.textarea-horizontal label,.select-horizontal label{min-height:2.5rem;display:inline-flex;align-items:center}.input-horizontal .label-metadata,.textarea-horizontal .label-metadata,.select-horizontal .label-metadata{justify-content:flex-start}.input-horizontal .label-metadata .label-character-count,.textarea-horizontal .label-metadata .label-character-count,.select-horizontal .label-metadata .label-character-count{margin-left:0}: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}.select-field,.select-container{display:flex;flex-direction:column;gap:0.5rem;flex:1 1 auto}.select-field.select-horizontal{flex-direction:row;gap:1rem}.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, 81, 92, 108))}.select-wrapper{display:flex;align-items:flex-start;background:white;border-radius:var(--cat-border-radius-m, 0.25rem);box-shadow:inset 0 0 0 1px rgb(var(--border-color));transition:box-shadow 125ms linear;padding:0.25rem;--border-color:var(--cat-border-color-dark, 215, 219, 224);}.select-wrapper:not(.select-disabled):hover{box-shadow:inset 0 0 0 1px rgb(var(--border-color)), 0 0 0 1px rgb(var(--border-color))}.select-wrapper:focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:-1px}.select-wrapper.select-invalid{--border-color:var(--cat-danger-bg, 217, 52, 13), 0.2}.select-wrapper:has(input:-webkit-autofill),.select-wrapper:has(input:-webkit-autofill):hover,.select-wrapper:has(input:-webkit-autofill):focus{background-color:#e8f0fe}: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:#f2f4f7;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 81, 92, 108));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{display:inline-block;padding-left:0.5rem}.select-wrapper-inner>cat-avatar+.select-input{padding-left:0.25rem}.select-wrapper-inner cat-avatar{--cat-avatar-size:1.25rem;--cat-avatar-font-size:0.5rem}.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 125ms linear}.select-btn::part(button){outline:none}cat-spinner{padding:0.375rem}.icon-suffix{padding:0.25rem}.select-btn-open{transform:rotate(180deg)}.select-dropdown{position:fixed;right:0;background:white;display:none;overflow:auto;box-shadow:0 4px 6px -2px rgba(27, 31, 38, 0.03), 0 12px 16px -4px rgba(27, 31, 38, 0.08);border-radius:var(--cat-border-radius-m, 0.25rem);border:1px solid rgb(var(--cat-border-color, 235, 236, 240));z-index:calc(var(--cat-z-index, 1000) + 100);width:max-content;top:0;left:0}.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}.select-option-inner cat-avatar{--cat-avatar-size:1.25rem;--cat-avatar-font-size:0.5rem}.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, 81, 92, 108))}";
8074
+ const catSelectCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column;color:rgb(var(--cat-hint-color, inherit))}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1.125rem;font-weight:var(--cat-font-weight-body, 400);margin:0 !important}.cat-bg-primary{background-color:rgb(var(--cat-primary-bg, 0, 129, 148)) !important;color:rgb(var(--cat-primary-fill, 255, 255, 255)) !important}.cat-bg-primary-hover{transition:background-color 125ms, color 125ms}.cat-bg-primary-hover:hover{background-color:rgb(var(--cat-primary-bg-hover, 1, 115, 132)) !important;color:rgb(var(--cat-primary-fill-hover, 255, 255, 255)) !important}.cat-text-primary,.cat-link-primary{color:rgb(var(--cat-primary-text, 0, 129, 148)) !important}.cat-link-primary,.cat-text-primary-hover{transition:color 125ms}.cat-link-primary:hover,.cat-text-primary-hover:hover{color:rgb(var(--cat-primary-text-hover, 1, 115, 132)) !important}.cat-link-primary:active,.cat-text-primary-hover:active{color:rgb(var(--cat-primary-text-active, 2, 99, 113)) !important}.cat-bg-primaryInverted{background-color:#93b4f2 !important;color:black !important}.cat-bg-primaryInverted-hover{transition:background-color 125ms, color 125ms}.cat-bg-primaryInverted-hover:hover{background-color:#93b4f2 !important;color:black !important}.cat-text-primaryInverted,.cat-link-primaryInverted{color:#93b4f2 !important}.cat-link-primaryInverted,.cat-text-primaryInverted-hover{transition:color 125ms}.cat-link-primaryInverted:hover,.cat-text-primaryInverted-hover:hover{color:#93b4f2 !important}.cat-link-primaryInverted:active,.cat-text-primaryInverted-hover:active{color:#93b4f2 !important}.cat-bg-secondary{background-color:rgb(var(--cat-secondary-bg, 105, 118, 135)) !important;color:rgb(var(--cat-secondary-fill, 255, 255, 255)) !important}.cat-bg-secondary-hover{transition:background-color 125ms, color 125ms}.cat-bg-secondary-hover:hover{background-color:rgb(var(--cat-secondary-bg-hover, 105, 118, 135)) !important;color:rgb(var(--cat-secondary-fill-hover, 255, 255, 255)) !important}.cat-text-secondary,.cat-link-secondary{color:rgb(var(--cat-secondary-text, 0, 0, 0)) !important}.cat-link-secondary,.cat-text-secondary-hover{transition:color 125ms}.cat-link-secondary:hover,.cat-text-secondary-hover:hover{color:rgb(var(--cat-secondary-text-hover, 0, 0, 0)) !important}.cat-link-secondary:active,.cat-text-secondary-hover:active{color:rgb(var(--cat-secondary-text-active, 0, 0, 0)) !important}.cat-bg-secondaryInverted{background-color:#697687 !important;color:black !important}.cat-bg-secondaryInverted-hover{transition:background-color 125ms, color 125ms}.cat-bg-secondaryInverted-hover:hover{background-color:#697687 !important;color:black !important}.cat-text-secondaryInverted,.cat-link-secondaryInverted{color:white !important}.cat-link-secondaryInverted,.cat-text-secondaryInverted-hover{transition:color 125ms}.cat-link-secondaryInverted:hover,.cat-text-secondaryInverted-hover:hover{color:white !important}.cat-link-secondaryInverted:active,.cat-text-secondaryInverted-hover:active{color:white !important}.cat-bg-success{background-color:rgb(var(--cat-success-bg, 0, 132, 88)) !important;color:rgb(var(--cat-success-fill, 255, 255, 255)) !important}.cat-bg-success-hover{transition:background-color 125ms, color 125ms}.cat-bg-success-hover:hover{background-color:rgb(var(--cat-success-bg-hover, 0, 117, 78)) !important;color:rgb(var(--cat-success-fill-hover, 255, 255, 255)) !important}.cat-text-success,.cat-link-success{color:rgb(var(--cat-success-text, 0, 132, 88)) !important}.cat-link-success,.cat-text-success-hover{transition:color 125ms}.cat-link-success:hover,.cat-text-success-hover:hover{color:rgb(var(--cat-success-text-hover, 0, 117, 78)) !important}.cat-link-success:active,.cat-text-success-hover:active{color:rgb(var(--cat-success-text-active, 0, 105, 70)) !important}.cat-bg-warning{background-color:rgb(var(--cat-warning-bg, 255, 206, 128)) !important;color:rgb(var(--cat-warning-fill, 0, 0, 0)) !important}.cat-bg-warning-hover{transition:background-color 125ms, color 125ms}.cat-bg-warning-hover:hover{background-color:rgb(var(--cat-warning-bg-hover, 255, 214, 148)) !important;color:rgb(var(--cat-warning-fill-hover, 0, 0, 0)) !important}.cat-text-warning,.cat-link-warning{color:rgb(var(--cat-warning-text, 159, 97, 0)) !important}.cat-link-warning,.cat-text-warning-hover{transition:color 125ms}.cat-link-warning:hover,.cat-text-warning-hover:hover{color:rgb(var(--cat-warning-text-hover, 159, 97, 0)) !important}.cat-link-warning:active,.cat-text-warning-hover:active{color:rgb(var(--cat-warning-text-active, 159, 97, 0)) !important}.cat-bg-danger{background-color:rgb(var(--cat-danger-bg, 217, 52, 13)) !important;color:rgb(var(--cat-danger-fill, 255, 255, 255)) !important}.cat-bg-danger-hover{transition:background-color 125ms, color 125ms}.cat-bg-danger-hover:hover{background-color:rgb(var(--cat-danger-bg-hover, 194, 46, 11)) !important;color:rgb(var(--cat-danger-fill-hover, 255, 255, 255)) !important}.cat-text-danger,.cat-link-danger{color:rgb(var(--cat-danger-text, 217, 52, 13)) !important}.cat-link-danger,.cat-text-danger-hover{transition:color 125ms}.cat-link-danger:hover,.cat-text-danger-hover:hover{color:rgb(var(--cat-danger-text-hover, 194, 46, 11)) !important}.cat-link-danger:active,.cat-text-danger-hover:active{color:rgb(var(--cat-danger-text-active, 174, 42, 10)) !important}.cat-active{color:rgb(var(--cat-primary-text, 0, 129, 148)) !important}.cat-muted{color:rgb(var(--cat-font-color-muted, 81, 92, 108)) !important}.cat-text-reset{color:inherit !important}.cat-link-reset{color:inherit !important;text-decoration:inherit !important}.label{overflow:hidden;word-wrap:break-word;word-break:break-word}.input-field:not(.input-horizontal) .label-container.hidden,.textarea-field:not(.textarea-horizontal) .label-container.hidden,.select-field:not(.select-horizontal) .label-container.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}.label-container{flex-basis:var(--label-size, 33.33%)}.label-container .label-wrapper{display:flex;gap:0.25rem}.label-metadata{display:flex;flex-shrink:0;flex-grow:1;justify-content:space-between;gap:0.25rem}.label-optional{display:flex;align-items:center;max-height:1.25rem;font-size:0.75rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 81, 92, 108))}.label-character-count{display:flex;align-items:center;margin-left:auto;max-height:1.25rem;font-size:0.75rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 81, 92, 108))}.input-horizontal .label-container.hidden label,.textarea-horizontal .label-container.hidden label,.select-horizontal .label-container.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}.input-horizontal .label-wrapper,.textarea-horizontal .label-wrapper,.select-horizontal .label-wrapper{flex-direction:column}.input-horizontal label,.textarea-horizontal label,.select-horizontal label{min-height:2.5rem;display:inline-flex;align-items:center}.input-horizontal .label-metadata,.textarea-horizontal .label-metadata,.select-horizontal .label-metadata{justify-content:flex-start}.input-horizontal .label-metadata .label-character-count,.textarea-horizontal .label-metadata .label-character-count,.select-horizontal .label-metadata .label-character-count{margin-left:0}: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}.select-field,.select-container{display:flex;flex-direction:column;gap:0.5rem;flex:1 1 auto}.select-field.select-horizontal{flex-direction:row;gap:1rem}.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, 81, 92, 108))}.select-wrapper{display:flex;align-items:flex-start;background:white;border-radius:var(--cat-border-radius-m, 0.25rem);box-shadow:inset 0 0 0 1px rgb(var(--border-color));transition:box-shadow 125ms linear;padding:0.25rem;--border-color:var(--cat-border-color-dark, 215, 219, 224);}.select-wrapper:not(.select-disabled):hover{box-shadow:inset 0 0 0 1px rgb(var(--border-color)), 0 0 0 1px rgb(var(--border-color))}.select-wrapper:focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:-1px}.select-wrapper.select-invalid{--border-color:var(--cat-danger-bg, 217, 52, 13), 0.2}.select-wrapper:has(input:-webkit-autofill),.select-wrapper:has(input:-webkit-autofill):hover,.select-wrapper:has(input:-webkit-autofill):focus{background-color:#e8f0fe}: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:#f2f4f7;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 81, 92, 108));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{display:inline-block;padding-left:0.5rem}.select-wrapper-inner>cat-avatar+.select-input{padding-left:0.25rem}.select-wrapper-inner cat-avatar{--cat-avatar-size:1.25rem;--cat-avatar-font-size:0.5rem}.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-input::placeholder{color:rgb(var(--cat-font-color-muted, 81, 92, 108))}.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 125ms linear}.select-btn::part(button){outline:none}cat-spinner{padding:0.375rem}.icon-suffix{padding:0.25rem}.select-btn-open{transform:rotate(180deg)}.select-dropdown{position:fixed;right:0;background:white;display:none;overflow:auto;box-shadow:0 4px 6px -2px rgba(27, 31, 38, 0.03), 0 12px 16px -4px rgba(27, 31, 38, 0.08);border-radius:var(--cat-border-radius-m, 0.25rem);border:1px solid rgb(var(--cat-border-color, 235, 236, 240));z-index:calc(var(--cat-z-index, 1000) + 100);width:max-content;top:0;left:0}.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}.select-option-inner cat-avatar{--cat-avatar-size:1.25rem;--cat-avatar-font-size:0.5rem}.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, 81, 92, 108))}";
8021
8075
 
8022
8076
  const INIT_STATE = {
8023
8077
  term: '',
@@ -8223,7 +8277,9 @@ const CatSelect = class {
8223
8277
  }
8224
8278
  }
8225
8279
  else if (event.key === 'Escape') {
8226
- this.hide();
8280
+ if (this.hide()) {
8281
+ event.stopPropagation();
8282
+ }
8227
8283
  }
8228
8284
  else if (event.key === 'Backspace' || event.key === 'Delete') {
8229
8285
  this.input?.focus();
@@ -8316,16 +8372,19 @@ const CatSelect = class {
8316
8372
  pill: true,
8317
8373
  'select-no-open': true,
8318
8374
  'select-option-active': this.state.activeSelectionIndex === i
8319
- }, role: "option", "aria-selected": "true", id: `select-${this.id}-selection-${i}` }, item.render.avatar ? (h("cat-avatar", { label: item.render.label, round: item.render.avatar.round, src: item.render.avatar.src, icon: item.render.avatar.icon, initials: item.render.avatar.initials ?? '' })) : null, h("span", null, item.render.label), !this.disabled && (h("cat-button", { size: "xs", variant: "text", icon: "$cat:select-clear", iconOnly: true, a11yLabel: catI18nRegistry.t('select.deselect'), onClick: () => this.deselect(item.item.id), tabIndex: -1, "data-dropdown-no-close": true }))))))) : this.state.selection.length && this.state.selection[0].render.avatar ? (h("cat-avatar", { label: this.state.selection[0].render.label, round: this.state.selection[0].render.avatar.round, src: this.state.selection[0].render.avatar.src, icon: this.state.selection[0].render.avatar.icon, initials: this.state.selection[0].render.avatar.initials ?? '' })) : null, h("input", { ...this.nativeAttributes, class: "select-input", ref: el => (this.input = el), "aria-controls": this.isPillboxActive() ? `select-pillbox-${this.id}` : `select-listbox-${this.id}`, "aria-activedescendant": this.activeDescendant, "aria-invalid": this.invalid ? 'true' : undefined, "aria-describedby": this.hint?.length ? this.id + '-hint' : undefined, onInput: this.onInput.bind(this), value: !this.multiple ? this.state.term : undefined, placeholder: this.placeholder, disabled: this.disabled || this.state.isResolving })), this.state.isResolving && h("cat-spinner", null), this.invalid && (h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l" })), (this.state.selection.length || this.state.term.length) &&
8375
+ }, role: "option", "aria-selected": "true", id: `select-${this.id}-selection-${i}` }, item.render.avatar ? (h("cat-avatar", { label: item.render.label, round: item.render.avatar.round, src: item.render.avatar.src, icon: item.render.avatar.icon, initials: item.render.avatar.initials ?? '' })) : null, h("span", null, item.render.label), !this.disabled && (h("cat-button", { size: "xs", variant: "text", icon: "$cat:select-clear", iconOnly: true, a11yLabel: catI18nRegistry.t('select.deselect'), onClick: () => this.deselect(item.item.id), tabIndex: -1, "data-dropdown-no-close": true }))))))) : this.state.selection.length && this.state.selection[0].render.avatar ? (h("cat-avatar", { label: this.state.selection[0].render.label, round: this.state.selection[0].render.avatar.round, src: this.state.selection[0].render.avatar.src, icon: this.state.selection[0].render.avatar.icon, initials: this.state.selection[0].render.avatar.initials ?? '' })) : null, h("input", { ...this.nativeAttributes, class: "select-input", ref: el => (this.input = el), "aria-controls": this.isPillboxActive() ? `select-pillbox-${this.id}` : `select-listbox-${this.id}`, "aria-activedescendant": this.activeDescendant, "aria-invalid": this.invalid ? 'true' : undefined, "aria-describedby": this.hasHint ? this.id + '-hint' : undefined, onInput: this.onInput.bind(this), value: !this.multiple ? this.state.term : undefined, placeholder: this.placeholder, disabled: this.disabled || this.state.isResolving })), this.state.isResolving && h("cat-spinner", null), this.invalid && (h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l" })), (this.state.selection.length || this.state.term.length) &&
8320
8376
  !this.disabled &&
8321
8377
  !this.state.isResolving &&
8322
- this.clearable ? (h("cat-button", { id: `select-clear-btn-${this.id}`, iconOnly: true, icon: "$cat:input-close", variant: "text", size: "s", a11yLabel: catI18nRegistry.t('input.clear'), onCatClick: () => this.clear(), "data-dropdown-no-close": true })) : null, !this.state.isResolving && (h("cat-button", { iconOnly: true, icon: "$cat:select-open", class: { 'select-btn': true, 'select-btn-open': this.state.isOpen }, variant: "text", size: "s", a11yLabel: this.state.isOpen ? catI18nRegistry.t('select.close') : catI18nRegistry.t('select.open'), "aria-controls": `select-listbox-${this.id}`, "aria-expanded": this.state.isOpen, tabIndex: -1, disabled: this.disabled || this.state.isResolving, "data-dropdown-no-close": true }))), (this.hint || this.hasSlottedHint || !!Object.keys(this.errorMap || {}).length) && (h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }), errorMap: this.errorMap })))), h("div", { class: "select-dropdown", ref: el => (this.dropdown = el), style: { display: this.state.isOpen ? 'block' : undefined } }, this.state.isOpen && (h("cat-scrollable", { class: "select-options-wrapper", scrolledBuffer: 56, noOverflowX: true, noOverscroll: true, noScrolledInit: true, onScrolledBottom: () => this.more$.next() }, h("ul", { class: "select-options", role: "listbox", "aria-multiselectable": this.multiple, "aria-setsize": this.state.totalElements, id: `select-listbox-${this.id}` }, this.optionsList, this.state.isLoading
8378
+ this.clearable ? (h("cat-button", { id: `select-clear-btn-${this.id}`, iconOnly: true, icon: "$cat:input-close", variant: "text", size: "s", a11yLabel: catI18nRegistry.t('input.clear'), onCatClick: () => this.clear(), "data-dropdown-no-close": true })) : null, !this.state.isResolving && (h("cat-button", { iconOnly: true, icon: "$cat:select-open", class: { 'select-btn': true, 'select-btn-open': this.state.isOpen }, variant: "text", size: "s", a11yLabel: this.state.isOpen ? catI18nRegistry.t('select.close') : catI18nRegistry.t('select.open'), "aria-controls": `select-listbox-${this.id}`, "aria-expanded": this.state.isOpen, tabIndex: -1, disabled: this.disabled || this.state.isResolving, "data-dropdown-no-close": true }))), this.hasHint && (h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }), errorMap: this.errorMap })))), h("div", { class: "select-dropdown", ref: el => (this.dropdown = el), style: { display: this.state.isOpen ? 'block' : undefined } }, this.state.isOpen && (h("cat-scrollable", { class: "select-options-wrapper", scrolledBuffer: 56, noOverflowX: true, noOverscroll: true, noScrolledInit: true, onScrolledBottom: () => this.more$.next() }, h("ul", { class: "select-options", role: "listbox", "aria-multiselectable": this.multiple, "aria-setsize": this.state.totalElements, id: `select-listbox-${this.id}` }, this.optionsList, this.state.isLoading
8323
8379
  ? Array.from(Array(CatSelect.SKELETON_COUNT)).map(() => (h("li", { class: "select-option-loading" }, h("cat-skeleton", { variant: "body", lines: 1 }), h("cat-skeleton", { variant: "body", lines: 1 }))))
8324
8380
  : !this.state.options.length &&
8325
8381
  !this.tags && (h("li", { class: "select-option-empty" }, this.noItems ? this.noItems : catI18nRegistry.t('select.empty')))))))));
8326
8382
  }
8383
+ get hasHint() {
8384
+ return !!this.hint || !!this.hasSlottedHint || this.invalid;
8385
+ }
8327
8386
  get invalid() {
8328
- return !!this.errorMap;
8387
+ return !!Object.keys(this.errorMap || {}).length;
8329
8388
  }
8330
8389
  get optionsList() {
8331
8390
  return this.state.options.map((item, i) => {
@@ -8396,7 +8455,9 @@ const CatSelect = class {
8396
8455
  if (this.state.isOpen) {
8397
8456
  this.patchState({ isOpen: false, activeOptionIndex: -1 });
8398
8457
  this.catClose.emit();
8458
+ return true;
8399
8459
  }
8460
+ return false;
8400
8461
  }
8401
8462
  search(term) {
8402
8463
  this.patchState({ term, activeOptionIndex: -1, activeSelectionIndex: -1 });
@@ -10303,10 +10364,13 @@ const CatTextarea = class {
10303
10364
  'textarea-readonly': this.readonly,
10304
10365
  'textarea-disabled': this.disabled,
10305
10366
  'textarea-invalid': this.invalid
10306
- } }, h("textarea", { ...this.nativeAttributes, 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), "aria-invalid": this.invalid ? 'true' : undefined, "aria-describedby": this.hint?.length ? this.id + '-hint' : undefined }), this.invalid && (h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l", onClick: () => this.textarea.focus() }))), (this.hint || this.hasSlottedHint || !!Object.keys(this.errorMap || {}).length) && (h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }), errorMap: this.errorMap }))))));
10367
+ } }, h("textarea", { ...this.nativeAttributes, 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), "aria-invalid": this.invalid ? 'true' : undefined, "aria-describedby": this.hasHint ? this.id + '-hint' : undefined }), this.invalid && (h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l", onClick: () => this.textarea.focus() }))), this.hasHint && (h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }), errorMap: this.errorMap }))))));
10368
+ }
10369
+ get hasHint() {
10370
+ return !!this.hint || !!this.hasSlottedHint || this.invalid;
10307
10371
  }
10308
10372
  get invalid() {
10309
- return !!this.errorMap;
10373
+ return !!Object.keys(this.errorMap || {}).length;
10310
10374
  }
10311
10375
  onInput() {
10312
10376
  this.value = this.textarea.value;
@@ -10403,7 +10467,10 @@ const CatToggle = class {
10403
10467
  this.input.blur();
10404
10468
  }
10405
10469
  render() {
10406
- return (h(Host, null, h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled, 'label-left': this.labelLeft } }, h("input", { ...this.nativeAttributes, 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.hasSlottedLabel && h("slot", { name: "label" })) || this.label)), (this.hint || this.hasSlottedHint) && (h("div", { class: { 'hint-wrapper': true, 'label-left': this.labelLeft } }, h("div", { class: "toggle-placeholder" }), h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }) })))));
10470
+ return (h(Host, null, h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled, 'label-left': this.labelLeft } }, h("input", { ...this.nativeAttributes, 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), "aria-describedby": this.hasHint ? this.id + '-hint' : undefined }), h("span", { class: "toggle", part: "toggle" }), h("span", { class: "label", part: "label" }, (this.hasSlottedLabel && h("slot", { name: "label" })) || this.label)), this.hasHint && (h("div", { class: { 'hint-wrapper': true, 'label-left': this.labelLeft } }, h("div", { class: "toggle-placeholder" }), h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }) })))));
10471
+ }
10472
+ get hasHint() {
10473
+ return !!this.hint || !!this.hasSlottedHint;
10407
10474
  }
10408
10475
  onInput() {
10409
10476
  this.checked = this.input.checked;