@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
@@ -21,6 +21,8 @@ $-dialog-padding: 1.5rem;
21
21
  }
22
22
 
23
23
  .cat-dialog {
24
+ display: flex;
25
+ flex-direction: column;
24
26
  background-color: cat-token('color.ui.background.surface');
25
27
  border-radius: cat-border-radius('l');
26
28
  @include cat-elevation(7);
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-6ec4ef6d.js');
6
- const of = require('./of-eda6baf8.js');
5
+ const index = require('./index-329a3380.js');
6
+ const of = require('./of-8545b523.js');
7
7
 
8
8
  const ObjectUnsubscribedError = of.createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {
9
9
  _super(this);
@@ -790,7 +790,7 @@ function setAttributeDefault(host, attr, value) {
790
790
  }
791
791
  }
792
792
 
793
- 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}";
793
+ 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))}";
794
794
 
795
795
  const CatAlert = class {
796
796
  constructor(hostRef) {
@@ -839,7 +839,7 @@ const loadImg = (src) => {
839
839
  });
840
840
  };
841
841
 
842
- 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)}";
842
+ 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)}";
843
843
 
844
844
  const CatAvatar = class {
845
845
  constructor(hostRef) {
@@ -906,7 +906,7 @@ const CatAvatar = class {
906
906
  };
907
907
  CatAvatar.style = catAvatarCss;
908
908
 
909
- 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)}}";
909
+ 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)}}";
910
910
 
911
911
  const CatBadge = class {
912
912
  constructor(hostRef) {
@@ -1248,7 +1248,7 @@ CatCard.style = catCardCss;
1248
1248
  const CatFormHint = props => {
1249
1249
  const { id, hint, slottedHint, errorMap } = props;
1250
1250
  const errors = Object.entries(errorMap || {});
1251
- return (index.h("div", { id: id + '-hint', class: "hint-section" }, errors.length
1251
+ return (index.h("div", { "aria-live": "polite", id: id + '-hint', class: "hint-section" }, errors.length
1252
1252
  ? errors.map(([key, params]) => (index.h("p", { class: (props.class ?? '') + ' input-hint cat-text-danger' }, of.catI18nRegistry.t(`error.${key}`, params))))
1253
1253
  : [
1254
1254
  hint &&
@@ -1314,7 +1314,10 @@ const CatCheckbox = class {
1314
1314
  this.input.blur();
1315
1315
  }
1316
1316
  render() {
1317
- return (index.h(index.Host, null, index.h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled, 'label-left': this.labelLeft } }, index.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) }), index.h("span", { class: "box", "aria-hidden": "true", part: "checkbox" }, index.h("svg", { class: "check", viewBox: "0 0 12 10" }, index.h("polyline", { points: "1.5 6 4.5 9 10.5 1" })), index.h("svg", { class: "dash", viewBox: "0 0 12 10" }, index.h("polyline", { points: "1.5 5 10.5 5" }))), index.h("span", { class: "label", part: "label" }, (this.hasSlottedLabel && index.h("slot", { name: "label" })) || this.label)), (this.hint || this.hasSlottedHint) && (index.h("div", { class: { 'hint-wrapper': true, 'label-left': this.labelLeft } }, index.h("div", { class: "box-placeholder" }), index.h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }) })))));
1317
+ return (index.h(index.Host, null, index.h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled, 'label-left': this.labelLeft } }, index.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 }), index.h("span", { class: "box", "aria-hidden": "true", part: "checkbox" }, index.h("svg", { class: "check", viewBox: "0 0 12 10" }, index.h("polyline", { points: "1.5 6 4.5 9 10.5 1" })), index.h("svg", { class: "dash", viewBox: "0 0 12 10" }, index.h("polyline", { points: "1.5 5 10.5 5" }))), index.h("span", { class: "label", part: "label" }, (this.hasSlottedLabel && index.h("slot", { name: "label" })) || this.label)), this.hasHint && (index.h("div", { class: { 'hint-wrapper': true, 'label-left': this.labelLeft } }, index.h("div", { class: "box-placeholder" }), index.h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }) })))));
1318
+ }
1319
+ get hasHint() {
1320
+ return !!this.hint || !!this.hasSlottedHint;
1318
1321
  }
1319
1322
  onInput() {
1320
1323
  this.checked = this.input.checked;
@@ -4004,6 +4007,7 @@ function getConfig(options, more = {}) {
4004
4007
  ...more,
4005
4008
  locale: options.locale,
4006
4009
  plugins,
4010
+ allowInput: true,
4007
4011
  altInput: true,
4008
4012
  prevArrow: '←',
4009
4013
  nextArrow: '→',
@@ -4064,7 +4068,7 @@ function dateFormat(mode) {
4064
4068
  }
4065
4069
 
4066
4070
  function getFormat(language, mode) {
4067
- const date = new Date(2000, 1, 3, 4, 5, 6);
4071
+ const date = new Date(2000, 1, 3, 16, 5, 6);
4068
4072
  const formatDate = { year: 'numeric', month: '2-digit', day: '2-digit' };
4069
4073
  const formatTime = { hour: '2-digit', minute: '2-digit' };
4070
4074
  return mode === 'week'
@@ -4080,7 +4084,8 @@ function getFormat(language, mode) {
4080
4084
  .replace('00', 'y')
4081
4085
  .replace('02', 'm')
4082
4086
  .replace('03', 'd')
4083
- .replace('04', 'H')
4087
+ .replace('04', 'h')
4088
+ .replace('16', 'H')
4084
4089
  .replace('05', 'i')
4085
4090
  .replace(/AM|PM/i, 'K');
4086
4091
  }
@@ -4680,7 +4685,7 @@ const flip = function (options) {
4680
4685
  name: 'flip',
4681
4686
  options,
4682
4687
  async fn(state) {
4683
- var _middlewareData$flip;
4688
+ var _middlewareData$arrow, _middlewareData$flip;
4684
4689
  const {
4685
4690
  placement,
4686
4691
  middlewareData,
@@ -4698,6 +4703,14 @@ const flip = function (options) {
4698
4703
  flipAlignment = true,
4699
4704
  ...detectOverflowOptions
4700
4705
  } = evaluate(options, state);
4706
+
4707
+ // If a reset by the arrow was caused due to an alignment offset being
4708
+ // added, we should skip any logic now since `flip()` has already done its
4709
+ // work.
4710
+ // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643
4711
+ if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
4712
+ return {};
4713
+ }
4701
4714
  const side = getSide(placement);
4702
4715
  const isBasePlacement = getSide(initialPlacement) === initialPlacement;
4703
4716
  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
@@ -5111,18 +5124,21 @@ function getNearestOverflowAncestor(node) {
5111
5124
  }
5112
5125
  return getNearestOverflowAncestor(parentNode);
5113
5126
  }
5114
- function getOverflowAncestors(node, list) {
5127
+ function getOverflowAncestors(node, list, traverseIframes) {
5115
5128
  var _node$ownerDocument2;
5116
5129
  if (list === void 0) {
5117
5130
  list = [];
5118
5131
  }
5132
+ if (traverseIframes === void 0) {
5133
+ traverseIframes = true;
5134
+ }
5119
5135
  const scrollableAncestor = getNearestOverflowAncestor(node);
5120
5136
  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
5121
5137
  const win = getWindow(scrollableAncestor);
5122
5138
  if (isBody) {
5123
- return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []);
5139
+ return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);
5124
5140
  }
5125
- return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor));
5141
+ return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
5126
5142
  }
5127
5143
 
5128
5144
  function getCssDimensions(element) {
@@ -5393,7 +5409,7 @@ function getClippingElementAncestors(element, cache) {
5393
5409
  if (cachedResult) {
5394
5410
  return cachedResult;
5395
5411
  }
5396
- let result = getOverflowAncestors(element).filter(el => isElement(el) && getNodeName(el) !== 'body');
5412
+ let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');
5397
5413
  let currentContainingBlockComputedStyle = null;
5398
5414
  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
5399
5415
  let currentNode = elementIsFixed ? getParentNode(element) : element;
@@ -6293,30 +6309,30 @@ var isFocusable = function isFocusable(node, options) {
6293
6309
  };
6294
6310
 
6295
6311
  /*!
6296
- * focus-trap 7.5.2
6312
+ * focus-trap 7.5.4
6297
6313
  * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
6298
6314
  */
6299
6315
 
6300
- function ownKeys(object, enumerableOnly) {
6301
- var keys = Object.keys(object);
6316
+ function ownKeys(e, r) {
6317
+ var t = Object.keys(e);
6302
6318
  if (Object.getOwnPropertySymbols) {
6303
- var symbols = Object.getOwnPropertySymbols(object);
6304
- enumerableOnly && (symbols = symbols.filter(function (sym) {
6305
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
6306
- })), keys.push.apply(keys, symbols);
6307
- }
6308
- return keys;
6309
- }
6310
- function _objectSpread2(target) {
6311
- for (var i = 1; i < arguments.length; i++) {
6312
- var source = null != arguments[i] ? arguments[i] : {};
6313
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
6314
- _defineProperty(target, key, source[key]);
6315
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
6316
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
6319
+ var o = Object.getOwnPropertySymbols(e);
6320
+ r && (o = o.filter(function (r) {
6321
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
6322
+ })), t.push.apply(t, o);
6323
+ }
6324
+ return t;
6325
+ }
6326
+ function _objectSpread2(e) {
6327
+ for (var r = 1; r < arguments.length; r++) {
6328
+ var t = null != arguments[r] ? arguments[r] : {};
6329
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
6330
+ _defineProperty(e, r, t[r]);
6331
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
6332
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
6317
6333
  });
6318
6334
  }
6319
- return target;
6335
+ return e;
6320
6336
  }
6321
6337
  function _defineProperty(obj, key, value) {
6322
6338
  key = _toPropertyKey(key);
@@ -6693,11 +6709,30 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
6693
6709
  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.");
6694
6710
  }
6695
6711
  };
6712
+
6713
+ /**
6714
+ * Gets the current activeElement. If it's a web-component and has open shadow-root
6715
+ * it will recursively search inside shadow roots for the "true" activeElement.
6716
+ *
6717
+ * @param {Document | ShadowRoot} el
6718
+ *
6719
+ * @returns {HTMLElement} The element that currently has the focus
6720
+ **/
6721
+ var getActiveElement = function getActiveElement(el) {
6722
+ var activeElement = el.activeElement;
6723
+ if (!activeElement) {
6724
+ return;
6725
+ }
6726
+ if (activeElement.shadowRoot && activeElement.shadowRoot.activeElement !== null) {
6727
+ return getActiveElement(activeElement.shadowRoot);
6728
+ }
6729
+ return activeElement;
6730
+ };
6696
6731
  var tryFocus = function tryFocus(node) {
6697
6732
  if (node === false) {
6698
6733
  return;
6699
6734
  }
6700
- if (node === doc.activeElement) {
6735
+ if (node === getActiveElement(document)) {
6701
6736
  return;
6702
6737
  }
6703
6738
  if (!node || !node.focus) {
@@ -7111,14 +7146,14 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
7111
7146
  state.active = true;
7112
7147
  state.paused = false;
7113
7148
  state.nodeFocusedBeforeActivation = doc.activeElement;
7114
- onActivate === null || onActivate === void 0 ? void 0 : onActivate();
7149
+ onActivate === null || onActivate === void 0 || onActivate();
7115
7150
  var finishActivation = function finishActivation() {
7116
7151
  if (checkCanFocusTrap) {
7117
7152
  updateTabbableNodes();
7118
7153
  }
7119
7154
  addListeners();
7120
7155
  updateObservedNodes();
7121
- onPostActivate === null || onPostActivate === void 0 ? void 0 : onPostActivate();
7156
+ onPostActivate === null || onPostActivate === void 0 || onPostActivate();
7122
7157
  };
7123
7158
  if (checkCanFocusTrap) {
7124
7159
  checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);
@@ -7147,13 +7182,13 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
7147
7182
  var onPostDeactivate = getOption(options, 'onPostDeactivate');
7148
7183
  var checkCanReturnFocus = getOption(options, 'checkCanReturnFocus');
7149
7184
  var returnFocus = getOption(options, 'returnFocus', 'returnFocusOnDeactivate');
7150
- onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate();
7185
+ onDeactivate === null || onDeactivate === void 0 || onDeactivate();
7151
7186
  var finishDeactivation = function finishDeactivation() {
7152
7187
  delay(function () {
7153
7188
  if (returnFocus) {
7154
7189
  tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));
7155
7190
  }
7156
- onPostDeactivate === null || onPostDeactivate === void 0 ? void 0 : onPostDeactivate();
7191
+ onPostDeactivate === null || onPostDeactivate === void 0 || onPostDeactivate();
7157
7192
  });
7158
7193
  };
7159
7194
  if (returnFocus && checkCanReturnFocus) {
@@ -7170,10 +7205,10 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
7170
7205
  var onPause = getOption(pauseOptions, 'onPause');
7171
7206
  var onPostPause = getOption(pauseOptions, 'onPostPause');
7172
7207
  state.paused = true;
7173
- onPause === null || onPause === void 0 ? void 0 : onPause();
7208
+ onPause === null || onPause === void 0 || onPause();
7174
7209
  removeListeners();
7175
7210
  updateObservedNodes();
7176
- onPostPause === null || onPostPause === void 0 ? void 0 : onPostPause();
7211
+ onPostPause === null || onPostPause === void 0 || onPostPause();
7177
7212
  return this;
7178
7213
  },
7179
7214
  unpause: function unpause(unpauseOptions) {
@@ -7183,11 +7218,11 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
7183
7218
  var onUnpause = getOption(unpauseOptions, 'onUnpause');
7184
7219
  var onPostUnpause = getOption(unpauseOptions, 'onPostUnpause');
7185
7220
  state.paused = false;
7186
- onUnpause === null || onUnpause === void 0 ? void 0 : onUnpause();
7221
+ onUnpause === null || onUnpause === void 0 || onUnpause();
7187
7222
  updateTabbableNodes();
7188
7223
  addListeners();
7189
7224
  updateObservedNodes();
7190
- onPostUnpause === null || onPostUnpause === void 0 ? void 0 : onPostUnpause();
7225
+ onPostUnpause === null || onPostUnpause === void 0 || onPostUnpause();
7191
7226
  return this;
7192
7227
  },
7193
7228
  updateContainerElements: function updateContainerElements(containerElements) {
@@ -7517,7 +7552,11 @@ const CatInput = class {
7517
7552
  * the focusing process.
7518
7553
  */
7519
7554
  async doFocus(options) {
7520
- this.input.focus(options);
7555
+ // hack to make datepicker inputs focusable. The datepicker hides the input
7556
+ // element and dynamically creates a sibling. We need to find the new input
7557
+ // element and focus it instead.
7558
+ const input = this.input.type === 'hidden' ? this.findSiblingInput(this.input.nextSibling) : this.input;
7559
+ input?.focus(options);
7521
7560
  }
7522
7561
  /**
7523
7562
  * Programmatically remove focus from the input. Use this method instead of
@@ -7556,12 +7595,15 @@ const CatInput = class {
7556
7595
  'input-readonly': this.readonly,
7557
7596
  'input-disabled': this.disabled,
7558
7597
  'input-invalid': this.invalid
7559
- }, onClick: () => this.input.focus() }, this.textPrefix && (index.h("span", { class: "text-prefix", part: "prefix" }, this.textPrefix)), this.icon && !this.iconRight && index.h("cat-icon", { icon: this.icon, class: "icon-prefix", size: "l" }), index.h("div", { class: "input-inner-wrapper" }, index.h("input", { ...this.nativeAttributes, ref: el => (this.input = el), id: this.id, class: {
7598
+ }, onClick: () => this.input.focus() }, this.textPrefix && (index.h("span", { class: "text-prefix", part: "prefix" }, this.textPrefix)), this.icon && !this.iconRight && (index.h("cat-icon", { icon: this.icon, class: "icon-prefix", size: "l", onClick: () => this.doFocus() })), index.h("div", { class: "input-inner-wrapper" }, index.h("input", { ...this.nativeAttributes, ref: el => (this.input = el), id: this.id, class: {
7560
7599
  'has-clearable': this.clearable && !this.disabled && !this.readonly
7561
- }, 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 && (index.h("cat-button", { class: "clearable", icon: "$cat:input-close", "icon-only": "true", size: "s", variant: "text", "a11y-label": of.catI18nRegistry.t('input.clear'), onClick: this.clear.bind(this), "data-dropdown-no-close": true }))), !this.invalid && this.icon && this.iconRight && (index.h("cat-icon", { icon: this.icon, class: "icon-suffix", size: "l" })), this.invalid && index.h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l" }), this.textSuffix && (index.h("span", { class: "text-suffix", part: "suffix" }, this.textSuffix))), (this.hint || this.hasSlottedHint || !!Object.keys(this.errorMap || {}).length) && (index.h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }), errorMap: this.errorMap })))));
7600
+ }, 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 && (index.h("cat-button", { class: "clearable", icon: "$cat:input-close", "icon-only": "true", size: "s", variant: "text", "a11y-label": of.catI18nRegistry.t('input.clear'), onClick: this.clear.bind(this), "data-dropdown-no-close": true }))), !this.invalid && this.icon && this.iconRight && (index.h("cat-icon", { icon: this.icon, class: "icon-suffix", size: "l", onClick: () => this.doFocus() })), this.invalid && index.h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l" }), this.textSuffix && (index.h("span", { class: "text-suffix", part: "suffix" }, this.textSuffix))), this.hasHint && (index.h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }), errorMap: this.errorMap })))));
7601
+ }
7602
+ get hasHint() {
7603
+ return !!this.hint || !!this.hasSlottedHint || this.invalid;
7562
7604
  }
7563
7605
  get invalid() {
7564
- return !!this.errorMap;
7606
+ return !!Object.keys(this.errorMap || {}).length;
7565
7607
  }
7566
7608
  onInput() {
7567
7609
  this.value = this.input.value;
@@ -7595,6 +7637,15 @@ const CatInput = class {
7595
7637
  this.showErrors();
7596
7638
  }
7597
7639
  }
7640
+ findSiblingInput(node) {
7641
+ if (node instanceof HTMLInputElement) {
7642
+ return node;
7643
+ }
7644
+ else if (node?.nextSibling) {
7645
+ return this.findSiblingInput(node.nextSibling);
7646
+ }
7647
+ return undefined;
7648
+ }
7598
7649
  get hostElement() { return index.getElement(this); }
7599
7650
  static get watchers() { return {
7600
7651
  "errors": ["onErrorsChanged"]
@@ -7726,7 +7777,10 @@ const CatRadio = class {
7726
7777
  this.input.blur();
7727
7778
  }
7728
7779
  render() {
7729
- return (index.h(index.Host, null, index.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' }, index.h("span", { class: "radio" }, index.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) }), index.h("span", { class: "circle" })), index.h("span", { class: "label", part: "label" }, (this.hasSlottedLabel && index.h("slot", { name: "label" })) || this.label)), (this.hint || this.hasSlottedHint) && (index.h("div", { class: { 'hint-wrapper': true, 'label-left': this.labelLeft } }, index.h("div", { class: "circle-placeholder" }), index.h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }) })))));
7780
+ return (index.h(index.Host, null, index.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' }, index.h("span", { class: "radio" }, index.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 }), index.h("span", { class: "circle" })), index.h("span", { class: "label", part: "label" }, (this.hasSlottedLabel && index.h("slot", { name: "label" })) || this.label)), this.hasHint && (index.h("div", { class: { 'hint-wrapper': true, 'label-left': this.labelLeft } }, index.h("div", { class: "circle-placeholder" }), index.h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }) })))));
7781
+ }
7782
+ get hasHint() {
7783
+ return !!this.hint || !!this.hasSlottedHint;
7730
7784
  }
7731
7785
  onInput() {
7732
7786
  this.checked = true;
@@ -8021,7 +8075,7 @@ var autosizeInput = function (element, options) {
8021
8075
  }
8022
8076
  };
8023
8077
 
8024
- 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))}";
8078
+ 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))}";
8025
8079
 
8026
8080
  const INIT_STATE = {
8027
8081
  term: '',
@@ -8227,7 +8281,9 @@ const CatSelect = class {
8227
8281
  }
8228
8282
  }
8229
8283
  else if (event.key === 'Escape') {
8230
- this.hide();
8284
+ if (this.hide()) {
8285
+ event.stopPropagation();
8286
+ }
8231
8287
  }
8232
8288
  else if (event.key === 'Backspace' || event.key === 'Delete') {
8233
8289
  this.input?.focus();
@@ -8320,16 +8376,19 @@ const CatSelect = class {
8320
8376
  pill: true,
8321
8377
  'select-no-open': true,
8322
8378
  'select-option-active': this.state.activeSelectionIndex === i
8323
- }, role: "option", "aria-selected": "true", id: `select-${this.id}-selection-${i}` }, item.render.avatar ? (index.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, index.h("span", null, item.render.label), !this.disabled && (index.h("cat-button", { size: "xs", variant: "text", icon: "$cat:select-clear", iconOnly: true, a11yLabel: of.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 ? (index.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, index.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 && index.h("cat-spinner", null), this.invalid && (index.h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l" })), (this.state.selection.length || this.state.term.length) &&
8379
+ }, role: "option", "aria-selected": "true", id: `select-${this.id}-selection-${i}` }, item.render.avatar ? (index.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, index.h("span", null, item.render.label), !this.disabled && (index.h("cat-button", { size: "xs", variant: "text", icon: "$cat:select-clear", iconOnly: true, a11yLabel: of.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 ? (index.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, index.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 && index.h("cat-spinner", null), this.invalid && (index.h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l" })), (this.state.selection.length || this.state.term.length) &&
8324
8380
  !this.disabled &&
8325
8381
  !this.state.isResolving &&
8326
- this.clearable ? (index.h("cat-button", { id: `select-clear-btn-${this.id}`, iconOnly: true, icon: "$cat:input-close", variant: "text", size: "s", a11yLabel: of.catI18nRegistry.t('input.clear'), onCatClick: () => this.clear(), "data-dropdown-no-close": true })) : null, !this.state.isResolving && (index.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 ? of.catI18nRegistry.t('select.close') : of.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) && (index.h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }), errorMap: this.errorMap })))), index.h("div", { class: "select-dropdown", ref: el => (this.dropdown = el), style: { display: this.state.isOpen ? 'block' : undefined } }, this.state.isOpen && (index.h("cat-scrollable", { class: "select-options-wrapper", scrolledBuffer: 56, noOverflowX: true, noOverscroll: true, noScrolledInit: true, onScrolledBottom: () => this.more$.next() }, index.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
8382
+ this.clearable ? (index.h("cat-button", { id: `select-clear-btn-${this.id}`, iconOnly: true, icon: "$cat:input-close", variant: "text", size: "s", a11yLabel: of.catI18nRegistry.t('input.clear'), onCatClick: () => this.clear(), "data-dropdown-no-close": true })) : null, !this.state.isResolving && (index.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 ? of.catI18nRegistry.t('select.close') : of.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 && (index.h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }), errorMap: this.errorMap })))), index.h("div", { class: "select-dropdown", ref: el => (this.dropdown = el), style: { display: this.state.isOpen ? 'block' : undefined } }, this.state.isOpen && (index.h("cat-scrollable", { class: "select-options-wrapper", scrolledBuffer: 56, noOverflowX: true, noOverscroll: true, noScrolledInit: true, onScrolledBottom: () => this.more$.next() }, index.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
8327
8383
  ? Array.from(Array(CatSelect.SKELETON_COUNT)).map(() => (index.h("li", { class: "select-option-loading" }, index.h("cat-skeleton", { variant: "body", lines: 1 }), index.h("cat-skeleton", { variant: "body", lines: 1 }))))
8328
8384
  : !this.state.options.length &&
8329
8385
  !this.tags && (index.h("li", { class: "select-option-empty" }, this.noItems ? this.noItems : of.catI18nRegistry.t('select.empty')))))))));
8330
8386
  }
8387
+ get hasHint() {
8388
+ return !!this.hint || !!this.hasSlottedHint || this.invalid;
8389
+ }
8331
8390
  get invalid() {
8332
- return !!this.errorMap;
8391
+ return !!Object.keys(this.errorMap || {}).length;
8333
8392
  }
8334
8393
  get optionsList() {
8335
8394
  return this.state.options.map((item, i) => {
@@ -8400,7 +8459,9 @@ const CatSelect = class {
8400
8459
  if (this.state.isOpen) {
8401
8460
  this.patchState({ isOpen: false, activeOptionIndex: -1 });
8402
8461
  this.catClose.emit();
8462
+ return true;
8403
8463
  }
8464
+ return false;
8404
8465
  }
8405
8466
  search(term) {
8406
8467
  this.patchState({ term, activeOptionIndex: -1, activeSelectionIndex: -1 });
@@ -10307,10 +10368,13 @@ const CatTextarea = class {
10307
10368
  'textarea-readonly': this.readonly,
10308
10369
  'textarea-disabled': this.disabled,
10309
10370
  'textarea-invalid': this.invalid
10310
- } }, index.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 && (index.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) && (index.h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }), errorMap: this.errorMap }))))));
10371
+ } }, index.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 && (index.h("cat-icon", { icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l", onClick: () => this.textarea.focus() }))), this.hasHint && (index.h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }), errorMap: this.errorMap }))))));
10372
+ }
10373
+ get hasHint() {
10374
+ return !!this.hint || !!this.hasSlottedHint || this.invalid;
10311
10375
  }
10312
10376
  get invalid() {
10313
- return !!this.errorMap;
10377
+ return !!Object.keys(this.errorMap || {}).length;
10314
10378
  }
10315
10379
  onInput() {
10316
10380
  this.value = this.textarea.value;
@@ -10407,7 +10471,10 @@ const CatToggle = class {
10407
10471
  this.input.blur();
10408
10472
  }
10409
10473
  render() {
10410
- return (index.h(index.Host, null, index.h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled, 'label-left': this.labelLeft } }, index.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) }), index.h("span", { class: "toggle", part: "toggle" }), index.h("span", { class: "label", part: "label" }, (this.hasSlottedLabel && index.h("slot", { name: "label" })) || this.label)), (this.hint || this.hasSlottedHint) && (index.h("div", { class: { 'hint-wrapper': true, 'label-left': this.labelLeft } }, index.h("div", { class: "toggle-placeholder" }), index.h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }) })))));
10474
+ return (index.h(index.Host, null, index.h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled, 'label-left': this.labelLeft } }, index.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 }), index.h("span", { class: "toggle", part: "toggle" }), index.h("span", { class: "label", part: "label" }, (this.hasSlottedLabel && index.h("slot", { name: "label" })) || this.label)), this.hasHint && (index.h("div", { class: { 'hint-wrapper': true, 'label-left': this.labelLeft } }, index.h("div", { class: "toggle-placeholder" }), index.h(CatFormHint, { id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && index.h("slot", { name: "hint" }) })))));
10475
+ }
10476
+ get hasHint() {
10477
+ return !!this.hint || !!this.hasSlottedHint;
10411
10478
  }
10412
10479
  onInput() {
10413
10480
  this.checked = this.input.checked;