@haiilo/catalyst 5.3.0 → 6.0.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 (195) hide show
  1. package/dist/catalyst/catalyst.css +1127 -39
  2. package/dist/catalyst/catalyst.esm.js +1 -1
  3. package/dist/catalyst/catalyst.esm.js.map +1 -1
  4. package/dist/catalyst/index.cdn.js +7 -0
  5. package/dist/catalyst/index.esm.js +2 -2
  6. package/dist/catalyst/index.esm.js.map +1 -1
  7. package/dist/catalyst/p-ad5fca6b.entry.js +10 -0
  8. package/dist/catalyst/p-ad5fca6b.entry.js.map +1 -0
  9. package/dist/catalyst/{p-d1fb9d96.js → p-ce6a1db2.js} +1 -1
  10. package/dist/catalyst/p-ce6a1db2.js.map +1 -0
  11. package/dist/catalyst/p-d7dc291a.js +2 -0
  12. package/dist/catalyst/p-d7dc291a.js.map +1 -0
  13. package/dist/catalyst/scss/_snippets/_checkbox-hint.scss +20 -0
  14. package/dist/catalyst/scss/index.scss +2 -0
  15. package/dist/catalyst/scss/utils/_border.scss +14 -0
  16. package/dist/catalyst/scss/utils/_media.mixins.scss +0 -1
  17. package/dist/catalyst/scss/utils/_typography.mixins.scss +1 -0
  18. package/dist/catalyst/scss/vendor/_flatpickr.scss +314 -0
  19. package/dist/cjs/cat-alert_25.cjs.entry.js +3391 -506
  20. package/dist/cjs/cat-alert_25.cjs.entry.js.map +1 -1
  21. package/dist/cjs/{cat-icon-registry-671af264.js → cat-icon-registry-6161e2ee.js} +56 -3
  22. package/dist/cjs/cat-icon-registry-6161e2ee.js.map +1 -0
  23. package/dist/cjs/catalyst.cjs.js +3 -3
  24. package/dist/cjs/catalyst.cjs.js.map +1 -1
  25. package/dist/cjs/{index-01312a2e.js → index-4258b31e.js} +8 -1
  26. package/dist/{catalyst/p-d1fb9d96.js.map → cjs/index-4258b31e.js.map} +1 -1
  27. package/dist/cjs/index.cjs.js +13 -15
  28. package/dist/cjs/index.cjs.js.map +1 -1
  29. package/dist/cjs/loader.cjs.js +3 -3
  30. package/dist/cjs/loader.cjs.js.map +1 -1
  31. package/dist/collection/collection-manifest.json +3 -3
  32. package/dist/collection/components/cat-alert/cat-alert.js +5 -5
  33. package/dist/collection/components/cat-alert/cat-alert.js.map +1 -1
  34. package/dist/collection/components/cat-avatar/cat-avatar.js +5 -5
  35. package/dist/collection/components/cat-avatar/cat-avatar.js.map +1 -1
  36. package/dist/collection/components/cat-button/cat-button.css +7 -7
  37. package/dist/collection/components/cat-button/cat-button.js +11 -31
  38. package/dist/collection/components/cat-button/cat-button.js.map +1 -1
  39. package/dist/collection/components/cat-checkbox/cat-checkbox.css +24 -1
  40. package/dist/collection/components/cat-checkbox/cat-checkbox.js +38 -37
  41. package/dist/collection/components/cat-checkbox/cat-checkbox.js.map +1 -1
  42. package/dist/collection/components/cat-datepicker/cat-datepicker.config.js +22 -0
  43. package/dist/collection/components/cat-datepicker/cat-datepicker.config.js.map +1 -0
  44. package/dist/collection/components/cat-datepicker/cat-datepicker.css +18 -0
  45. package/dist/collection/components/cat-datepicker/cat-datepicker.js +669 -0
  46. package/dist/collection/components/cat-datepicker/cat-datepicker.js.map +1 -0
  47. package/dist/collection/components/cat-datepicker/cat-datepicker.locale.js +51 -0
  48. package/dist/collection/components/cat-datepicker/cat-datepicker.locale.js.map +1 -0
  49. package/dist/collection/components/cat-dropdown/cat-dropdown.css +1 -0
  50. package/dist/collection/components/cat-dropdown/cat-dropdown.js +18 -14
  51. package/dist/collection/components/cat-dropdown/cat-dropdown.js.map +1 -1
  52. package/dist/collection/components/cat-form-group/cat-form-group.js +4 -5
  53. package/dist/collection/components/cat-form-group/cat-form-group.js.map +1 -1
  54. package/dist/collection/components/cat-form-hint/cat-form-hint.js +2 -6
  55. package/dist/collection/components/cat-form-hint/cat-form-hint.js.map +1 -1
  56. package/dist/collection/components/cat-i18n/cat-i18n-registry.js +13 -1
  57. package/dist/collection/components/cat-i18n/cat-i18n-registry.js.map +1 -1
  58. package/dist/collection/components/cat-icon/cat-icon-registry.js +29 -1
  59. package/dist/collection/components/cat-icon/cat-icon-registry.js.map +1 -1
  60. package/dist/collection/components/cat-input/cat-input.css +7 -11
  61. package/dist/collection/components/cat-input/cat-input.js +13 -35
  62. package/dist/collection/components/cat-input/cat-input.js.map +1 -1
  63. package/dist/collection/components/cat-input/input-type.js.map +1 -1
  64. package/dist/collection/components/cat-notification/cat-notification.js +12 -14
  65. package/dist/collection/components/cat-notification/cat-notification.js.map +1 -1
  66. package/dist/collection/components/cat-pagination/cat-pagination.js +28 -6
  67. package/dist/collection/components/cat-pagination/cat-pagination.js.map +1 -1
  68. package/dist/collection/components/cat-radio/cat-radio.css +24 -1
  69. package/dist/collection/components/cat-radio/cat-radio.js +10 -31
  70. package/dist/collection/components/cat-radio/cat-radio.js.map +1 -1
  71. package/dist/collection/components/cat-radio-group/cat-radio-group.js +40 -10
  72. package/dist/collection/components/cat-radio-group/cat-radio-group.js.map +1 -1
  73. package/dist/collection/components/cat-scrollable/cat-scrollable.css +1 -4
  74. package/dist/collection/components/cat-scrollable/cat-scrollable.js +2 -3
  75. package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +1 -1
  76. package/dist/collection/components/cat-select/cat-select.css +8 -11
  77. package/dist/collection/components/cat-select/cat-select.js +76 -62
  78. package/dist/collection/components/cat-select/cat-select.js.map +1 -1
  79. package/dist/collection/components/cat-select-demo/cat-select-demo.js +21 -25
  80. package/dist/collection/components/cat-select-demo/cat-select-demo.js.map +1 -1
  81. package/dist/collection/components/cat-skeleton/cat-skeleton.css +1 -1
  82. package/dist/collection/components/cat-tabs/cat-tabs.js +4 -7
  83. package/dist/collection/components/cat-tabs/cat-tabs.js.map +1 -1
  84. package/dist/collection/components/cat-textarea/cat-textarea.css +9 -12
  85. package/dist/collection/components/cat-textarea/cat-textarea.js +16 -16
  86. package/dist/collection/components/cat-textarea/cat-textarea.js.map +1 -1
  87. package/dist/collection/components/cat-toggle/cat-toggle.css +24 -1
  88. package/dist/collection/components/cat-toggle/cat-toggle.js +37 -36
  89. package/dist/collection/components/cat-toggle/cat-toggle.js.map +1 -1
  90. package/dist/collection/components/cat-tooltip/cat-tooltip.css +1 -1
  91. package/dist/collection/components/cat-tooltip/cat-tooltip.js +17 -22
  92. package/dist/collection/components/cat-tooltip/cat-tooltip.js.map +1 -1
  93. package/dist/collection/index.cdn.js +7 -0
  94. package/dist/collection/scss/_snippets/_checkbox-hint.scss +20 -0
  95. package/dist/collection/scss/index.scss +2 -0
  96. package/dist/collection/scss/utils/_border.scss +14 -0
  97. package/dist/collection/scss/utils/_media.mixins.scss +0 -1
  98. package/dist/collection/scss/utils/_typography.mixins.scss +1 -0
  99. package/dist/collection/scss/vendor/_flatpickr.scss +314 -0
  100. package/dist/collection/utils/platform.js +1 -1
  101. package/dist/collection/utils/platform.js.map +1 -1
  102. package/dist/components/cat-alert.js +5 -5
  103. package/dist/components/cat-alert.js.map +1 -1
  104. package/dist/components/cat-avatar2.js +5 -5
  105. package/dist/components/cat-avatar2.js.map +1 -1
  106. package/dist/components/cat-button2.js +13 -17
  107. package/dist/components/cat-button2.js.map +1 -1
  108. package/dist/components/cat-checkbox2.js +15 -16
  109. package/dist/components/cat-checkbox2.js.map +1 -1
  110. package/dist/components/{cat-label.d.ts → cat-datepicker.d.ts} +4 -4
  111. package/dist/components/cat-datepicker.js +2907 -0
  112. package/dist/components/cat-datepicker.js.map +1 -0
  113. package/dist/components/cat-dropdown2.js +188 -66
  114. package/dist/components/cat-dropdown2.js.map +1 -1
  115. package/dist/components/cat-form-group.js +4 -5
  116. package/dist/components/cat-form-group.js.map +1 -1
  117. package/dist/components/cat-form-hint.js +2 -6
  118. package/dist/components/cat-form-hint.js.map +1 -1
  119. package/dist/components/cat-i18n-registry.js +13 -1
  120. package/dist/components/cat-i18n-registry.js.map +1 -1
  121. package/dist/components/cat-icon-registry.js +42 -1
  122. package/dist/components/cat-icon-registry.js.map +1 -1
  123. package/dist/components/cat-input.js +1 -226
  124. package/dist/components/cat-input.js.map +1 -1
  125. package/dist/components/cat-input2.js +223 -0
  126. package/dist/components/cat-input2.js.map +1 -0
  127. package/dist/components/cat-pagination.js +10 -5
  128. package/dist/components/cat-pagination.js.map +1 -1
  129. package/dist/components/cat-radio-group.js +15 -9
  130. package/dist/components/cat-radio-group.js.map +1 -1
  131. package/dist/components/cat-radio.js +6 -13
  132. package/dist/components/cat-radio.js.map +1 -1
  133. package/dist/components/cat-scrollable2.js +9 -8
  134. package/dist/components/cat-scrollable2.js.map +1 -1
  135. package/dist/components/cat-select-demo.js +23 -27
  136. package/dist/components/cat-select-demo.js.map +1 -1
  137. package/dist/components/cat-select2.js +70 -60
  138. package/dist/components/cat-select2.js.map +1 -1
  139. package/dist/components/cat-skeleton2.js +1 -1
  140. package/dist/components/cat-skeleton2.js.map +1 -1
  141. package/dist/components/cat-tabs.js +4 -7
  142. package/dist/components/cat-tabs.js.map +1 -1
  143. package/dist/components/cat-textarea.js +13 -13
  144. package/dist/components/cat-textarea.js.map +1 -1
  145. package/dist/components/cat-toggle.js +15 -16
  146. package/dist/components/cat-toggle.js.map +1 -1
  147. package/dist/components/cat-tooltip.js +18 -23
  148. package/dist/components/cat-tooltip.js.map +1 -1
  149. package/dist/components/floating-ui.dom.esm.js +119 -130
  150. package/dist/components/floating-ui.dom.esm.js.map +1 -1
  151. package/dist/components/index.js +12 -14
  152. package/dist/components/index.js.map +1 -1
  153. package/dist/esm/cat-alert_25.entry.js +3391 -506
  154. package/dist/esm/cat-alert_25.entry.js.map +1 -1
  155. package/dist/esm/{cat-icon-registry-d6b80490.js → cat-icon-registry-f15b29d9.js} +56 -3
  156. package/dist/esm/cat-icon-registry-f15b29d9.js.map +1 -0
  157. package/dist/esm/catalyst.js +4 -4
  158. package/dist/esm/catalyst.js.map +1 -1
  159. package/dist/esm/{index-fc2f91a4.js → index-636ce8d6.js} +8 -1
  160. package/dist/esm/index-636ce8d6.js.map +1 -0
  161. package/dist/esm/index.js +14 -16
  162. package/dist/esm/index.js.map +1 -1
  163. package/dist/esm/loader.js +4 -4
  164. package/dist/esm/loader.js.map +1 -1
  165. package/dist/types/@types/Intl.d.ts +3 -0
  166. package/dist/types/components/cat-button/cat-button.d.ts +0 -5
  167. package/dist/types/components/cat-checkbox/cat-checkbox.d.ts +11 -9
  168. package/dist/types/components/cat-datepicker/cat-datepicker.config.d.ts +1 -0
  169. package/dist/types/components/cat-datepicker/cat-datepicker.d.ts +143 -0
  170. package/dist/types/components/cat-datepicker/cat-datepicker.locale.d.ts +3 -0
  171. package/dist/types/components/cat-i18n/cat-i18n-registry.d.ts +3 -0
  172. package/dist/types/components/cat-input/cat-input.d.ts +2 -6
  173. package/dist/types/components/cat-input/input-type.d.ts +1 -1
  174. package/dist/types/components/cat-pagination/cat-pagination.d.ts +6 -0
  175. package/dist/types/components/cat-radio/cat-radio.d.ts +3 -7
  176. package/dist/types/components/cat-radio-group/cat-radio-group.d.ts +6 -1
  177. package/dist/types/components/cat-select/cat-select.d.ts +6 -1
  178. package/dist/types/components/cat-textarea/cat-textarea.d.ts +4 -4
  179. package/dist/types/components/cat-toggle/cat-toggle.d.ts +10 -8
  180. package/dist/types/components.d.ts +298 -117
  181. package/package.json +21 -19
  182. package/dist/catalyst/p-ba081831.entry.js +0 -10
  183. package/dist/catalyst/p-ba081831.entry.js.map +0 -1
  184. package/dist/catalyst/p-ccfebe33.js +0 -2
  185. package/dist/catalyst/p-ccfebe33.js.map +0 -1
  186. package/dist/cjs/cat-icon-registry-671af264.js.map +0 -1
  187. package/dist/cjs/index-01312a2e.js.map +0 -1
  188. package/dist/collection/components/cat-label/cat-label.css +0 -22
  189. package/dist/collection/components/cat-label/cat-label.js +0 -134
  190. package/dist/collection/components/cat-label/cat-label.js.map +0 -1
  191. package/dist/components/cat-label.js +0 -73
  192. package/dist/components/cat-label.js.map +0 -1
  193. package/dist/esm/cat-icon-registry-d6b80490.js.map +0 -1
  194. package/dist/esm/index-fc2f91a4.js.map +0 -1
  195. package/dist/types/components/cat-label/cat-label.d.ts +0 -27
@@ -320,7 +320,7 @@ var autosizeInput = function (element, options) {
320
320
  }
321
321
  };
322
322
 
323
- 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:1rem;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 0.13s, color 0.13s}.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 0.13s}.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 0.13s, color 0.13s}.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 0.13s}.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 0.13s, color 0.13s}.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 0.13s}.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 0.13s, color 0.13s}.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 0.13s}.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 0.13s, color 0.13s}.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 0.13s}.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 0.13s, color 0.13s}.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 0.13s}.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 0.13s, color 0.13s}.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 0.13s}.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}.label-container{flex-basis:var(--label-size, 33.33%)}.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 .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-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:0 0 0 1px rgb(var(--cat-border-color-dark, 215, 219, 224));transition:box-shadow 0.13s linear;padding:0.25rem;}.select-wrapper:not(.select-disabled):hover{box-shadow:0 0 0 2px rgb(var(--cat-border-color-dark, 215, 219, 224))}.select-wrapper:not(.select-disabled):hover.select-invalid{box-shadow:0 0 0 2px rgba(var(--cat-danger-bg, 217, 52, 13), 0.2)}.select-wrapper:not(.select-disabled):focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}.select-wrapper:not(.select-disabled):focus-within.select-invalid{outline:2px solid rgba(var(--cat-danger-bg, 217, 52, 13), 0.2)}.select-wrapper.select-invalid{box-shadow:0 0 0 1px rgba(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 0.13s 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:absolute;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);z-index:100}.select-options-wrapper{max-height:16rem;width:100%}.select-empty{margin:1rem 0;padding:0 1.25rem}.select-options{list-style-type:none;margin:0;padding:0.5rem 0}.select-options cat-checkbox,.select-options .select-option-single{margin:0;padding:0.5rem 1rem}.select-option-inner{display:flex;gap:0.5rem}.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))}";
323
+ 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 0.13s, color 0.13s}.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 0.13s}.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 0.13s, color 0.13s}.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 0.13s}.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 0.13s, color 0.13s}.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 0.13s}.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 0.13s, color 0.13s}.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 0.13s}.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 0.13s, color 0.13s}.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 0.13s}.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 0.13s, color 0.13s}.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 0.13s}.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 0.13s, color 0.13s}.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 0.13s}.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}.label-container{flex-basis:var(--label-size, 33.33%)}.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 .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-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 0.13s 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 0.13s 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:absolute;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:100}.select-options-wrapper{max-height:16rem;width:100%}.select-empty{margin:1rem 0;padding:0 1.25rem}.select-options{list-style-type:none;margin:0;padding:0.5rem 0}.select-options cat-checkbox,.select-options .select-option-single{margin:0;padding:0.5rem 1rem}.select-option-inner{display:flex;gap:0.5rem}.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))}";
324
324
 
325
325
  const INIT_STATE = {
326
326
  term: '',
@@ -329,6 +329,7 @@ const INIT_STATE = {
329
329
  isResolving: false,
330
330
  options: [],
331
331
  selection: [],
332
+ tempSelection: [],
332
333
  activeOptionIndex: -1,
333
334
  activeSelectionIndex: -1
334
335
  };
@@ -389,7 +390,7 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
389
390
  }
390
391
  else {
391
392
  this.errorMapSrc = Array.isArray(value)
392
- ? value.reduce((acc, err) => (Object.assign(Object.assign({}, acc), { [err]: undefined })), {})
393
+ ? value.reduce((acc, err) => ({ ...acc, [err]: undefined }), {})
393
394
  : value === true
394
395
  ? {}
395
396
  : value || undefined;
@@ -397,13 +398,14 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
397
398
  }
398
399
  }
399
400
  onStateChange(newState, oldState) {
400
- var _a, _b;
401
401
  const changed = (key) => newState[key] !== oldState[key];
402
402
  if (changed('isOpen')) {
403
403
  this.update();
404
404
  }
405
405
  if (changed('activeOptionIndex') && this.state.activeOptionIndex >= 0) {
406
- (_b = (_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.querySelector(`#select-${this.id}-option-${this.state.activeOptionIndex}`)) === null || _b === void 0 ? void 0 : _b.scrollIntoView({ block: 'nearest' });
406
+ this.dropdown
407
+ ?.querySelector(`#select-${this.id}-option-${this.state.activeOptionIndex}`)
408
+ ?.scrollIntoView({ block: 'nearest' });
407
409
  }
408
410
  if (changed('selection')) {
409
411
  let newValue;
@@ -465,15 +467,25 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
465
467
  }
466
468
  }
467
469
  this.hide();
468
- this.patchState({ activeSelectionIndex: -1 });
470
+ if (!this.multiple && this.state.tempSelection?.length) {
471
+ this.patchState({
472
+ activeSelectionIndex: -1,
473
+ selection: this.state.tempSelection,
474
+ tempSelection: [],
475
+ options: [],
476
+ term: this.state.tempSelection[0].render.label
477
+ });
478
+ }
479
+ else {
480
+ this.patchState({ activeSelectionIndex: -1 });
481
+ }
469
482
  this.catBlur.emit(event);
470
483
  if (coerceBoolean(this.errorUpdate)) {
471
484
  this.showErrors();
472
485
  }
473
486
  }
474
487
  onKeyDown(event) {
475
- var _a, _b, _c, _d, _e;
476
- const isInputFocused = ((_a = this.hostElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) === this.input;
488
+ const isInputFocused = this.hostElement.shadowRoot?.activeElement === this.input;
477
489
  if (['ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {
478
490
  this.onArrowKeyDown(event);
479
491
  }
@@ -506,20 +518,23 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
506
518
  this.hide();
507
519
  }
508
520
  else if (event.key === 'Backspace' || event.key === 'Delete') {
509
- (_b = this.input) === null || _b === void 0 ? void 0 : _b.focus();
510
- if (!this.multiple || !this.state.term || (((_c = this.input) === null || _c === void 0 ? void 0 : _c.selectionStart) === 0 && event.key === 'Backspace')) {
521
+ this.input?.focus();
522
+ if (!this.multiple || !this.state.term || (this.input?.selectionStart === 0 && event.key === 'Backspace')) {
511
523
  if (this.state.activeSelectionIndex >= 0) {
512
524
  this.deselect(this.state.selection[this.state.activeSelectionIndex].item.id);
513
525
  }
514
526
  else if (this.state.selection.length) {
515
527
  const selectionClone = [...this.state.selection];
516
528
  selectionClone.pop();
517
- this.patchState({ selection: selectionClone });
529
+ this.patchState({
530
+ selection: selectionClone,
531
+ tempSelection: this.state.term ? [...this.state.selection] : []
532
+ });
518
533
  }
519
534
  }
520
535
  }
521
536
  else if (event.key === 'Tab') {
522
- (_d = this.trigger) === null || _d === void 0 ? void 0 : _d.setAttribute('tabindex', '-1');
537
+ this.trigger?.setAttribute('tabindex', '-1');
523
538
  if (this.multiple) {
524
539
  this.patchState({ activeSelectionIndex: -1, activeOptionIndex: -1 });
525
540
  }
@@ -533,21 +548,20 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
533
548
  }
534
549
  }
535
550
  else if (event.key.length === 1) {
536
- (_e = this.input) === null || _e === void 0 ? void 0 : _e.focus();
551
+ this.input?.focus();
537
552
  }
538
553
  }
539
554
  onKeyUp(event) {
540
- var _a, _b, _c, _d, _e;
541
555
  if (event.key === 'Tab' && !event.shiftKey) {
542
- ((_a = this.hostElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) === this.trigger && ((_b = this.input) === null || _b === void 0 ? void 0 : _b.focus());
543
- if (((_c = this.hostElement.shadowRoot) === null || _c === void 0 ? void 0 : _c.activeElement) === this.input) {
556
+ this.hostElement.shadowRoot?.activeElement === this.trigger && this.input?.focus();
557
+ if (this.hostElement.shadowRoot?.activeElement === this.input) {
544
558
  this.show();
545
559
  }
546
560
  }
547
561
  else if (event.key === 'Tab' && event.shiftKey) {
548
- const clearButton = (_d = this.trigger) === null || _d === void 0 ? void 0 : _d.querySelector(`#select-clear-btn-${this.id}`);
562
+ const clearButton = this.trigger?.querySelector(`#select-clear-btn-${this.id}`);
549
563
  if (clearButton) {
550
- ((_e = this.hostElement.shadowRoot) === null || _e === void 0 ? void 0 : _e.activeElement) === clearButton && this.show();
564
+ this.hostElement.shadowRoot?.activeElement === clearButton && this.show();
551
565
  }
552
566
  else {
553
567
  this.show();
@@ -560,22 +574,21 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
560
574
  * @param connector - The {@link CatSelectConnector} of the select.
561
575
  */
562
576
  async connect(connector) {
563
- var _a;
564
577
  this.connector = connector;
565
578
  let number$;
566
- (_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
579
+ this.subscription?.unsubscribe();
567
580
  this.subscription = this.term$
568
581
  .asObservable()
569
582
  .pipe(debounce(term => (term ? timer(this.debounce) : of(0))), distinctUntilChanged(), tap(() => (number$ = this.more$.pipe(filter(() => !this.state.isLoading), scan(n => n + 1, 0), startWith(0)))), tap(() => this.patchState({ options: [] })), switchMap(term => number$.pipe(tap(() => this.patchState({ isLoading: true })), switchMap(number => connector.retrieve(term, number)), tap(page => this.patchState({ isLoading: false, totalElements: page.totalElements })), takeWhile(page => !page.last, true), scan((items, page) => [...items, ...page.content], []))))
570
583
  .subscribe(items => {
571
- var _a;
572
584
  const options = this.toSelectItems(connector, items);
573
585
  if (this.tags &&
574
586
  this.state.term.trim().length &&
575
587
  !options.find(value1 => value1.render.label.toLowerCase() === this.state.term.toLowerCase())) {
576
588
  let label;
577
589
  if (this.isTagSelected(this.state.term)) {
578
- label = (_a = this.state.selection.find(item => item.render.label.toLowerCase() === this.state.term.toLowerCase())) === null || _a === void 0 ? void 0 : _a.render.label;
590
+ label = this.state.selection.find(item => item.render.label.toLowerCase() === this.state.term.toLowerCase())
591
+ ?.render.label;
579
592
  }
580
593
  options.unshift({
581
594
  item: { id: `select-${this.id}-option-tag` },
@@ -588,24 +601,23 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
588
601
  });
589
602
  }
590
603
  render() {
591
- var _a, _b;
592
604
  return (h(Host, null, h("div", { class: {
593
605
  'select-field': true,
594
606
  'select-horizontal': this.horizontal
595
607
  } }, h("div", { class: {
596
608
  hidden: this.labelHidden,
597
609
  'label-container': true
598
- } }, (this.hasSlottedLabel || this.label) && (h("label", { htmlFor: this.id }, h("span", { class: "label-wrapper", part: "label" }, (this.hasSlottedLabel && h("slot", { name: "label" })) || this.label, h("div", { class: "label-metadata" }, !this.required && this.requiredMarker.startsWith('optional') && (h("span", { class: "label-optional", "aria-hidden": "true" }, "(", catI18nRegistry.t('input.optional'), ")")), this.required && this.requiredMarker.startsWith('required') && (h("span", { class: "label-optional", "aria-hidden": "true" }, "(", catI18nRegistry.t('input.required'), ")"))))))), h("div", { class: "select-container" }, h("div", { class: { 'select-wrapper': true, 'select-disabled': this.disabled, 'select-invalid': this.invalid }, ref: el => (this.trigger = el), id: this.id, role: "combobox", "aria-expanded": this.state.isOpen || this.isPillboxActive(), "aria-controls": this.isPillboxActive() ? `select-pillbox-${this.id}` : `select-listbox-${this.id}`, "aria-required": this.required ? 'true' : false, "aria-activedescendant": this.activeDescendant, onClick: e => this.onClick(e) }, h("div", { class: "select-wrapper-inner" }, this.multiple && this.state.selection.length ? (h("div", { id: `select-pillbox-${this.id}`, role: "listbox", "aria-orientation": "horizontal", class: "select-pills" }, this.state.selection.map((item, i) => {
599
- var _a;
600
- return (h("span", { class: {
601
- pill: true,
602
- 'select-no-open': true,
603
- 'select-option-active': this.state.activeSelectionIndex === i
604
- }, 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, initials: (_a = item.render.avatar.initials) !== null && _a !== void 0 ? _a : '' })) : null, h("span", null, item.render.label), !this.disabled && (h("cat-button", { size: "xs", variant: "text", icon: "16-cross", iconOnly: true, a11yLabel: catI18nRegistry.t('select.deselect'), onClick: () => this.deselect(item.item.id), tabIndex: -1 }))));
605
- }))) : 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, initials: (_a = this.state.selection[0].render.avatar.initials) !== null && _a !== void 0 ? _a : '' })) : null, h("input", Object.assign({}, 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": ((_b = this.hint) === null || _b === void 0 ? void 0 : _b.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: "alert-circle-outlined", class: "icon-suffix cat-text-danger", size: "l" })), (this.state.selection.length || this.state.term.length) &&
610
+ } }, (this.hasSlottedLabel || this.label) && (h("label", { htmlFor: this.id }, h("span", { class: "label-wrapper", part: "label" }, (this.hasSlottedLabel && h("slot", { name: "label" })) || this.label, h("div", { class: "label-metadata" }, !this.required && this.requiredMarker.startsWith('optional') && (h("span", { class: "label-optional", "aria-hidden": "true" }, "(", catI18nRegistry.t('input.optional'), ")")), this.required && this.requiredMarker.startsWith('required') && (h("span", { class: "label-optional", "aria-hidden": "true" }, "(", catI18nRegistry.t('input.required'), ")"))))))), h("div", { class: "select-container" }, h("div", { class: { 'select-wrapper': true, 'select-disabled': this.disabled, 'select-invalid': this.invalid }, ref: el => (this.trigger = el), id: this.id, role: "combobox", "aria-expanded": this.state.isOpen || this.isPillboxActive(), "aria-controls": this.isPillboxActive() ? `select-pillbox-${this.id}` : `select-listbox-${this.id}`, "aria-required": this.required ? 'true' : false, "aria-activedescendant": this.activeDescendant, onClick: e => this.onClick(e) }, h("div", { class: "select-wrapper-inner" }, this.multiple && this.state.selection.length ? (h("div", { id: `select-pillbox-${this.id}`, role: "listbox", "aria-orientation": "horizontal", class: "select-pills" }, this.state.selection.map((item, i) => (h("span", { class: {
611
+ pill: true,
612
+ 'select-no-open': true,
613
+ 'select-option-active': this.state.activeSelectionIndex === i
614
+ }, 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, onCatClick: event => event.stopPropagation() }))))))) : 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) &&
606
615
  !this.disabled &&
607
616
  !this.state.isResolving &&
608
- this.clearable ? (h("cat-button", { id: `select-clear-btn-${this.id}`, iconOnly: true, icon: "cross-circle-outlined", variant: "text", size: "s", a11yLabel: catI18nRegistry.t('input.clear'), onClick: () => this.clear() })) : null, !this.state.isResolving && (h("cat-button", { iconOnly: true, icon: "chevron-down-outlined", 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 }))), (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
617
+ 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: event => {
618
+ event.stopPropagation();
619
+ this.clear();
620
+ } })) : 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, onCatClick: event => event.stopPropagation() }))), (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
609
621
  ? 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 }))))
610
622
  : !this.state.options.length &&
611
623
  !this.tags && (h("li", { class: "select-option-empty" }, this.noItems ? this.noItems : catI18nRegistry.t('select.empty')))))))));
@@ -615,7 +627,6 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
615
627
  }
616
628
  get optionsList() {
617
629
  return this.state.options.map((item, i) => {
618
- var _a, _b;
619
630
  const isTagOption = this.tags && item.item.id === `select-${this.id}-option-tag`;
620
631
  const isOptionSelected = this.isSelected(item.item.id) || (this.tags && this.isTagSelected(item.render.label));
621
632
  const getLabel = () => {
@@ -624,14 +635,14 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
624
635
  }
625
636
  return item.render.label;
626
637
  };
627
- return (h("li", { role: "option", class: "select-option", id: `select-${this.id}-option-${i}`, "aria-selected": isOptionSelected ? 'true' : 'false' }, this.multiple ? (h("cat-checkbox", { class: { 'select-option-active': this.state.activeOptionIndex === i }, checked: isOptionSelected, tabIndex: -1, labelLeft: true, onFocus: () => { var _a; return (_a = this.input) === null || _a === void 0 ? void 0 : _a.focus(); }, onCatChange: e => {
638
+ return (h("li", { role: "option", class: "select-option", id: `select-${this.id}-option-${i}`, "aria-selected": isOptionSelected ? 'true' : 'false' }, this.multiple ? (h("cat-checkbox", { class: { 'select-option-active': this.state.activeOptionIndex === i }, checked: isOptionSelected, tabIndex: -1, labelLeft: true, onFocus: () => this.input?.focus(), onCatChange: e => {
628
639
  !isTagOption ? this.toggle(item) : this.toggleTag(item);
629
640
  e.stopPropagation();
630
- } }, h("span", { slot: "label", class: "select-option-inner" }, item.render.avatar ? (h("cat-avatar", { label: item.render.label, round: item.render.avatar.round, src: item.render.avatar.src, initials: (_a = item.render.avatar.initials) !== null && _a !== void 0 ? _a : '' })) : null, h("span", { class: "select-option-text" }, h("span", { class: "select-option-label" }, getLabel()), h("span", { class: "select-option-description" }, item.render.description))))) : (h("div", { class: {
641
+ } }, h("span", { slot: "label", class: "select-option-inner" }, 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", { class: "select-option-text" }, h("span", { class: "select-option-label" }, getLabel()), h("span", { class: "select-option-description" }, item.render.description))))) : (h("div", { class: {
631
642
  'select-option-inner': true,
632
643
  'select-option-single': true,
633
644
  'select-option-active': this.state.activeOptionIndex === i
634
- }, onFocus: () => { var _a; return (_a = this.input) === null || _a === void 0 ? void 0 : _a.focus(); }, onClick: () => (isTagOption ? this.createTag(item.render.label) : this.select(item)), tabIndex: -1 }, item.render.avatar ? (h("cat-avatar", { label: item.render.label, round: item.render.avatar.round, src: item.render.avatar.src, initials: (_b = item.render.avatar.initials) !== null && _b !== void 0 ? _b : '' })) : null, h("span", { class: "select-option-text" }, h("span", { class: "select-option-label" }, getLabel()), h("span", { class: "select-option-description" }, item.render.description))))));
645
+ }, onFocus: () => this.input?.focus(), onClick: () => (isTagOption ? this.createTag(item.render.label) : this.select(item)), tabIndex: -1 }, 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", { class: "select-option-text" }, h("span", { class: "select-option-label" }, getLabel()), h("span", { class: "select-option-description" }, item.render.description))))));
635
646
  });
636
647
  }
637
648
  resolve() {
@@ -665,17 +676,16 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
665
676
  }
666
677
  toSelectItems(connector, items) {
667
678
  return items.map(item => ({
668
- item: Object.assign(Object.assign({}, item), { id: connector.customId ? connector.customId(item) : item.id }),
679
+ item: { ...item, id: connector.customId ? connector.customId(item) : item.id },
669
680
  render: connector.render(item)
670
681
  }));
671
682
  }
672
683
  show() {
673
- var _a;
674
684
  if (!this.state.isOpen) {
675
685
  this.patchState({ isOpen: true });
676
686
  this.catOpen.emit();
677
- this.term$.next(this.state.term);
678
- (_a = this.input) === null || _a === void 0 ? void 0 : _a.classList.remove('select-input-transparent-caret');
687
+ this.term$.next('');
688
+ this.input?.classList.remove('select-input-transparent-caret');
679
689
  }
680
690
  }
681
691
  hide() {
@@ -727,29 +737,27 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
727
737
  }
728
738
  clear() {
729
739
  if (this.input && this.state.term) {
730
- this.patchState({ selection: [], options: [], term: '', activeOptionIndex: -1 });
740
+ this.patchState({ selection: [], options: [], term: '', activeOptionIndex: -1, tempSelection: [] });
731
741
  this.term$.next('');
732
742
  this.input.value = '';
733
743
  }
734
744
  else {
735
- this.patchState({ selection: [] });
745
+ this.patchState({ selection: [], tempSelection: [] });
736
746
  }
737
747
  }
738
748
  reset(connector) {
739
- var _a;
740
- this.connector = connector !== null && connector !== void 0 ? connector : this.connector;
741
- (_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
749
+ this.connector = connector ?? this.connector;
750
+ this.subscription?.unsubscribe();
742
751
  this.subscription = undefined;
743
752
  this.state = INIT_STATE;
744
753
  }
745
754
  onClick(event) {
746
- var _a, _b;
747
755
  if (this.disabled) {
748
756
  return;
749
757
  }
750
758
  const elem = event.target;
751
- (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.setAttribute('tabindex', '0');
752
- (_b = this.input) === null || _b === void 0 ? void 0 : _b.focus();
759
+ this.trigger?.setAttribute('tabindex', '0');
760
+ this.input?.focus();
753
761
  if (elem === this.trigger ||
754
762
  elem === this.input ||
755
763
  elem.classList.contains('select-btn') ||
@@ -758,12 +766,16 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
758
766
  }
759
767
  }
760
768
  onInput() {
761
- var _a;
762
- this.search(((_a = this.input) === null || _a === void 0 ? void 0 : _a.value.trim()) || '');
763
- if (!this.multiple && this.state.selection.length) {
764
- const selectionClone = [...this.state.selection];
765
- selectionClone.pop();
766
- this.patchState({ selection: selectionClone });
769
+ this.search(this.input?.value.trim() || '');
770
+ if (!this.multiple) {
771
+ if (this.state.selection.length) {
772
+ const selectionClone = [...this.state.selection];
773
+ selectionClone.pop();
774
+ this.patchState({ selection: selectionClone, tempSelection: [...this.state.selection] });
775
+ }
776
+ if (!this.input?.value.trim()) {
777
+ this.patchState({ tempSelection: [] });
778
+ }
767
779
  }
768
780
  this.show();
769
781
  }
@@ -783,7 +795,7 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
783
795
  }
784
796
  }
785
797
  patchState(update) {
786
- this.state = Object.assign(Object.assign({}, this.state), update);
798
+ this.state = { ...this.state, ...update };
787
799
  }
788
800
  isPillboxActive() {
789
801
  return this.state.activeSelectionIndex >= 0;
@@ -799,9 +811,8 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
799
811
  return activeDescendant;
800
812
  }
801
813
  onArrowKeyDown(event) {
802
- var _a, _b;
803
814
  let preventDefault = false;
804
- (_a = this.input) === null || _a === void 0 ? void 0 : _a.focus();
815
+ this.input?.focus();
805
816
  switch (event.key) {
806
817
  case 'ArrowDown':
807
818
  preventDefault = true;
@@ -822,7 +833,7 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
822
833
  : this.hide();
823
834
  break;
824
835
  case 'ArrowLeft':
825
- if (((_b = this.input) === null || _b === void 0 ? void 0 : _b.selectionStart) === 0) {
836
+ if (this.input?.selectionStart === 0) {
826
837
  preventDefault = true;
827
838
  let index;
828
839
  this.state.activeSelectionIndex > 0
@@ -858,7 +869,7 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
858
869
  createTag(term) {
859
870
  if (term.trim().length && !this.isTagSelected(term)) {
860
871
  const value = this.value;
861
- const tags = value === null || value === void 0 ? void 0 : value.tags;
872
+ const tags = value?.tags;
862
873
  const tag = { id: `select-${this.id}-tag-${tags ? tags.length : 0}`, name: term };
863
874
  this.select({ item: tag, render: { label: tag.name } });
864
875
  }
@@ -912,10 +923,9 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
912
923
  return tags;
913
924
  }
914
925
  setTransparentCaret() {
915
- var _a;
916
926
  if (!this.multiple) {
917
927
  this.hide();
918
- (_a = this.input) === null || _a === void 0 ? void 0 : _a.classList.add('select-input-transparent-caret');
928
+ this.input?.classList.add('select-input-transparent-caret');
919
929
  }
920
930
  }
921
931
  showErrors() {