@haiilo/catalyst 0.14.1 → 0.15.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 (81) hide show
  1. package/dist/catalyst/catalyst.esm.js +1 -1
  2. package/dist/catalyst/catalyst.esm.js.map +1 -1
  3. package/dist/catalyst/index.cdn.js +37 -15
  4. package/dist/catalyst/p-01da674e.entry.js +12 -0
  5. package/dist/catalyst/p-01da674e.entry.js.map +1 -0
  6. package/dist/catalyst/p-a255bd64.js +3 -0
  7. package/dist/catalyst/p-a255bd64.js.map +1 -0
  8. package/dist/cjs/{cat-alert_22.cjs.entry.js → cat-alert_24.cjs.entry.js} +2264 -50
  9. package/dist/cjs/cat-alert_24.cjs.entry.js.map +1 -0
  10. package/dist/cjs/catalyst.cjs.js +2 -2
  11. package/dist/cjs/{index-158dcabf.js → index-c7955116.js} +1 -4
  12. package/dist/cjs/index-c7955116.js.map +1 -0
  13. package/dist/cjs/loader.cjs.js +2 -2
  14. package/dist/collection/collection-manifest.json +2 -0
  15. package/dist/collection/components/cat-badge/cat-badge.css +5 -5
  16. package/dist/collection/components/cat-button/cat-button.css +4 -0
  17. package/dist/collection/components/cat-checkbox/cat-checkbox.css +1 -0
  18. package/dist/collection/components/cat-checkbox/cat-checkbox.js +9 -6
  19. package/dist/collection/components/cat-checkbox/cat-checkbox.js.map +1 -1
  20. package/dist/collection/components/cat-input/cat-input.css +1 -0
  21. package/dist/collection/components/cat-scrollable/cat-scrollable.css +0 -1
  22. package/dist/collection/components/cat-select-remote/cat-select-remote.css +209 -0
  23. package/dist/collection/components/cat-select-remote/cat-select-remote.js +778 -0
  24. package/dist/collection/components/cat-select-remote/cat-select-remote.js.map +1 -0
  25. package/dist/collection/components/cat-select-remote-test/cat-select-remote-test.js +1288 -0
  26. package/dist/collection/components/cat-select-remote-test/cat-select-remote-test.js.map +1 -0
  27. package/dist/collection/components/cat-toggle/cat-toggle.js +9 -6
  28. package/dist/collection/components/cat-toggle/cat-toggle.js.map +1 -1
  29. package/dist/collection/index.cdn.js +37 -15
  30. package/dist/components/cat-badge.js +1 -1
  31. package/dist/components/cat-badge.js.map +1 -1
  32. package/dist/components/cat-button2.js +1 -1
  33. package/dist/components/cat-button2.js.map +1 -1
  34. package/dist/components/cat-checkbox.js +1 -112
  35. package/dist/components/cat-checkbox.js.map +1 -1
  36. package/dist/components/cat-checkbox2.js +119 -0
  37. package/dist/components/cat-checkbox2.js.map +1 -0
  38. package/dist/components/cat-input.js +1 -1
  39. package/dist/components/cat-input.js.map +1 -1
  40. package/dist/components/cat-scrollable.js +1 -1355
  41. package/dist/components/cat-scrollable.js.map +1 -1
  42. package/dist/components/cat-scrollable2.js +1359 -0
  43. package/dist/components/cat-scrollable2.js.map +1 -0
  44. package/dist/components/cat-select-remote-test.d.ts +11 -0
  45. package/dist/components/cat-select-remote-test.js +1368 -0
  46. package/dist/components/cat-select-remote-test.js.map +1 -0
  47. package/dist/components/cat-select-remote.d.ts +11 -0
  48. package/dist/components/cat-select-remote.js +8 -0
  49. package/dist/components/cat-select-remote.js.map +1 -0
  50. package/dist/components/cat-select-remote2.js +980 -0
  51. package/dist/components/cat-select-remote2.js.map +1 -0
  52. package/dist/components/cat-skeleton.js +1 -71
  53. package/dist/components/cat-skeleton.js.map +1 -1
  54. package/dist/components/cat-skeleton2.js +75 -0
  55. package/dist/components/cat-skeleton2.js.map +1 -0
  56. package/dist/components/cat-toggle.js +7 -4
  57. package/dist/components/cat-toggle.js.map +1 -1
  58. package/dist/components/index.d.ts +2 -0
  59. package/dist/components/index.js +2 -0
  60. package/dist/components/index.js.map +1 -1
  61. package/dist/esm/{cat-alert_22.entry.js → cat-alert_24.entry.js} +2263 -51
  62. package/dist/esm/cat-alert_24.entry.js.map +1 -0
  63. package/dist/esm/catalyst.js +2 -2
  64. package/dist/esm/{index-62388101.js → index-17d2bcf3.js} +2 -4
  65. package/dist/esm/index-17d2bcf3.js.map +1 -0
  66. package/dist/esm/loader.js +2 -2
  67. package/dist/types/components/cat-checkbox/cat-checkbox.d.ts +1 -1
  68. package/dist/types/components/cat-select-remote/autosize.d.ts +1 -0
  69. package/dist/types/components/cat-select-remote/cat-select-remote.d.ts +141 -0
  70. package/dist/types/components/cat-select-remote-test/cat-select-remote-test.d.ts +6 -0
  71. package/dist/types/components/cat-toggle/cat-toggle.d.ts +1 -1
  72. package/dist/types/components.d.ts +145 -4
  73. package/package.json +5 -4
  74. package/dist/catalyst/p-153d4fb8.js +0 -3
  75. package/dist/catalyst/p-153d4fb8.js.map +0 -1
  76. package/dist/catalyst/p-57d68cab.entry.js +0 -12
  77. package/dist/catalyst/p-57d68cab.entry.js.map +0 -1
  78. package/dist/cjs/cat-alert_22.cjs.entry.js.map +0 -1
  79. package/dist/cjs/index-158dcabf.js.map +0 -1
  80. package/dist/esm/cat-alert_22.entry.js.map +0 -1
  81. package/dist/esm/index-62388101.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-158dcabf.js');
5
+ const index = require('./index-c7955116.js');
6
6
  const catNotification = require('./cat-notification-6a438ad1.js');
7
7
 
8
8
  const catAlertCss = ":host{display:block;margin-bottom:1rem}:host(:focus-visible){outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}:host([hidden]){display:none}.alert{font:inherit;background-color:rgba(var(--bg), 0.1);border-radius:0.5rem;padding:1.25rem;display:flex;flex-direction:row;gap:0.5rem}.content{align-self:center}::slotted(:last-child){margin-bottom:0 !important}.alert-primary{--bg:var(--cat-primary-bg, 32, 127, 138)}.alert-primary cat-icon{color:#207f8a}.alert-secondary{--bg:105, 118, 135}.alert-secondary cat-icon{color:#697687}.alert-success{--bg:0, 132, 88}.alert-success cat-icon{color:#008458}.alert-warning{--bg:255, 206, 128}.alert-warning cat-icon{color:#ebb663}.alert-danger{--bg:217, 52, 13}.alert-danger cat-icon{color:#d9340d}";
@@ -129,7 +129,7 @@ const CatAvatar = class {
129
129
  };
130
130
  CatAvatar.style = catAvatarCss;
131
131
 
132
- const catBadgeCss = ":host{display:inline-flex;max-width:100%;vertical-align:baseline}:host([hidden]){display:none}.badge{font:inherit;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:0.125rem;text-decoration:none;width:100%;box-sizing:border-box;line-height:1;white-space:nowrap}.badge slot{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.badge-round{border-radius:10rem}.badge-filled{background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}.badge-outlined{background-color:white;box-shadow:inset 0 0 0 1px rgba(var(--border), 0.2);color:rgb(var(--text))}.badge-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 32, 127, 138);--border:var(--cat-primary-text, 32, 127, 138)}.badge-secondary{--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0;--border:105, 118, 135}.badge-success{--bg:0, 132, 88;--fill:255, 255, 255;--text:0, 132, 88;--border:0, 132, 88}.badge-warning{--bg:255, 206, 128;--fill:0, 0, 0;--text:159, 97, 0;--border:159, 97, 0}.badge-danger{--bg:217, 52, 13;--fill:255, 255, 255;--text:217, 52, 13;--border:217, 52, 13}.badge-xs{height:1rem;min-width:0.75rem;font-size:12px;padding:0 0.25rem}.badge-s{height:1.5rem;min-width:1rem;font-size:12px;padding:0 0.5rem}.badge-m{height:2rem;min-width:1.25rem;font-size:13px;padding:0 0.75rem}.badge-l{height:2.5rem;min-width:1.5rem;font-size:15px;padding:0 1rem}.badge-xl{height:3rem;min-width:1.75rem;font-size:18px;padding:0 1rem}.badge-pulse.badge-filled{animation:1.5s ease 0s infinite normal none running pulse}.badge-pulse.badge-outlined{animation:1.5s ease 0s infinite normal none running pulse-outlined}@keyframes pulse{0%{box-shadow:0 0 0 0 rgb(var(--bg))}70%{box-shadow:transparent 0 0 0 0.5rem}100%{box-shadow:transparent 0 0 0 0}}@keyframes pulse-outlined{0%{box-shadow:0 0 0 0 rgb(var(--bg)), inset 0 0 0 1px rgba(var(--border), 0.2)}70%{box-shadow:transparent 0 0 0 0.5rem, inset 0 0 0 1px rgba(var(--border), 0.2)}100%{box-shadow:transparent 0 0 0 0, inset 0 0 0 1px rgba(var(--border), 0.2)}}";
132
+ const catBadgeCss = ":host{display:inline-flex;max-width:100%;vertical-align:baseline}:host([hidden]){display:none}.badge{font:inherit;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:0.125rem;text-decoration:none;width:100%;box-sizing:border-box;line-height:1;white-space:nowrap}.badge slot{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.badge-round{border-radius:10rem}.badge-filled{background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}.badge-outlined{background-color:white;box-shadow:inset 0 0 0 1px rgba(var(--border), 0.2);color:rgb(var(--text))}.badge-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 32, 127, 138);--border:var(--cat-primary-text, 32, 127, 138)}.badge-secondary{--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0;--border:105, 118, 135}.badge-success{--bg:0, 132, 88;--fill:255, 255, 255;--text:0, 132, 88;--border:0, 132, 88}.badge-warning{--bg:255, 206, 128;--fill:0, 0, 0;--text:159, 97, 0;--border:159, 97, 0}.badge-danger{--bg:217, 52, 13;--fill:255, 255, 255;--text:217, 52, 13;--border:217, 52, 13}.badge-xs{height:1rem;min-width:1rem;font-size:12px;padding:0 0.25rem}.badge-s{height:1.5rem;min-width:1.5rem;font-size:12px;padding:0 0.5rem}.badge-m{height:2rem;min-width:2rem;font-size:13px;padding:0 0.75rem}.badge-l{height:2.5rem;min-width:2.5rem;font-size:15px;padding:0 1rem}.badge-xl{height:3rem;min-width:3rem;font-size:18px;padding:0 1rem}.badge-pulse.badge-filled{animation:1.5s ease 0s infinite normal none running pulse}.badge-pulse.badge-outlined{animation:1.5s ease 0s infinite normal none running pulse-outlined}@keyframes pulse{0%{box-shadow:0 0 0 0 rgb(var(--bg))}70%{box-shadow:transparent 0 0 0 0.5rem}100%{box-shadow:transparent 0 0 0 0}}@keyframes pulse-outlined{0%{box-shadow:0 0 0 0 rgb(var(--bg)), inset 0 0 0 1px rgba(var(--border), 0.2)}70%{box-shadow:transparent 0 0 0 0.5rem, inset 0 0 0 1px rgba(var(--border), 0.2)}100%{box-shadow:transparent 0 0 0 0, inset 0 0 0 1px rgba(var(--border), 0.2)}}";
133
133
 
134
134
  const CatBadge = class {
135
135
  constructor(hostRef) {
@@ -283,7 +283,7 @@ function createEmptyStyleRule(query) {
283
283
  }
284
284
  }
285
285
 
286
- const catButtonCss = ":host{display:inline-block;max-width:100%;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host([hidden]){display:none}.cat-button{position:relative;font:inherit;display:flex;align-items:center;justify-content:center;border:none;border-radius:0.25rem;text-decoration:none;width:100%;box-sizing:border-box;cursor:pointer;transition:color 0.13s linear, border-color 0.13s linear, background-color 0.13s linear, box-shadow 0.13s linear}.cat-button:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.cat-button-ellipsed .cat-button-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.cat-button-disabled{cursor:not-allowed;opacity:0.65;filter:grayscale(100%)}.cat-button-round{border-radius:10rem}.cat-button-loading{cursor:default}.cat-button-loading cat-spinner{position:absolute}.cat-button-loading>*:not(cat-spinner){visibility:hidden}.cat-button-filled{background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}.cat-button-outlined{background-color:white;box-shadow:inset 0 0 0 1px rgba(var(--base), 0.2);color:rgb(var(--text))}.cat-button-outlined:hover:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.05)}.cat-button-outlined:active:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.1)}.cat-button-text{background-color:transparent;color:rgb(var(--text));text-decoration:none}.cat-button-text:hover:not(.cat-button-disabled):not(.cat-button-loading){text-decoration:none;background-color:rgba(var(--base), 0.05)}.cat-button-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 32, 127, 138);--base:var(--cat-primary-text, 32, 127, 138)}.cat-button-primary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-hover, 28, 112, 122);--fill:var(--cat-primary-fill-hover, 255, 255, 255);--text:var(--cat-primary-text-hover, 28, 112, 122)}.cat-button-primary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-active, 25, 101, 110);--fill:var(--cat-primary-fill-active, 255, 255, 255);--text:var(--cat-primary-text-active, 25, 101, 110)}.cat-button-secondary{--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0;--base:105, 118, 135}.cat-button-secondary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0}.cat-button-secondary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0}.cat-button-success{--bg:0, 132, 88;--fill:255, 255, 255;--text:0, 132, 88;--base:0, 132, 88}.cat-button-success:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:0, 117, 78;--fill:255, 255, 255;--text:0, 117, 78}.cat-button-success:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:0, 105, 70;--fill:255, 255, 255;--text:0, 105, 70}.cat-button-warning{--bg:255, 206, 128;--fill:0, 0, 0;--text:159, 97, 0;--base:159, 97, 0}.cat-button-warning:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:255, 214, 148;--fill:0, 0, 0;--text:159, 97, 0}.cat-button-warning:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:255, 222, 168;--fill:0, 0, 0;--text:159, 97, 0}.cat-button-danger{--bg:217, 52, 13;--fill:255, 255, 255;--text:217, 52, 13;--base:217, 52, 13}.cat-button-danger:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:194, 46, 11;--fill:255, 255, 255;--text:194, 46, 11}.cat-button-danger:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:174, 42, 10;--fill:255, 255, 255;--text:174, 42, 10}:host(.cat-button-pull:not([size])){margin:-0.625rem -0.75rem}:host(.cat-button-pull-h:not([size])){margin-left:-0.75rem;margin-right:-0.75rem}:host(.cat-button-pull-v:not([size])){margin-top:-0.625rem;margin-bottom:-0.625rem}:host(.cat-button-pull-t:not([size])){margin-top:-0.625rem}:host(.cat-button-pull-l:not([size])){margin-left:-0.75rem}:host(.cat-button-pull-b:not([size])){margin-bottom:-0.625rem}:host(.cat-button-pull-r:not([size])){margin-right:-0.75rem}.cat-button-xs{min-width:1.5rem;padding:0.25rem 0.25rem;font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400)}.cat-button-xs .cat-button-prefix{margin-right:0.25rem}.cat-button-xs .cat-button-suffix{margin-left:0.25rem}.cat-button-xs.cat-button-icon{width:1.5rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-xs{padding-left:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=xs]){margin:-0.25rem -0.25rem}:host(.cat-button-pull-h[size=xs]){margin-left:-0.25rem;margin-right:-0.25rem}:host(.cat-button-pull-v[size=xs]){margin-top:-0.25rem;margin-bottom:-0.25rem}:host(.cat-button-pull-t[size=xs]){margin-top:-0.25rem}:host(.cat-button-pull-l[size=xs]){margin-left:-0.25rem}:host(.cat-button-pull-b[size=xs]){margin-bottom:-0.25rem}:host(.cat-button-pull-r[size=xs]){margin-right:-0.25rem}.cat-button-s{min-width:2rem;padding:0.375rem 0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400)}.cat-button-s .cat-button-prefix{margin-right:0.25rem}.cat-button-s .cat-button-suffix{margin-left:0.25rem}.cat-button-s cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-s.cat-button-icon{width:2rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-s{padding-left:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=s]){margin:-0.375rem -0.5rem}:host(.cat-button-pull-h[size=s]){margin-left:-0.5rem;margin-right:-0.5rem}:host(.cat-button-pull-v[size=s]){margin-top:-0.375rem;margin-bottom:-0.375rem}:host(.cat-button-pull-t[size=s]){margin-top:-0.375rem}:host(.cat-button-pull-l[size=s]){margin-left:-0.5rem}:host(.cat-button-pull-b[size=s]){margin-bottom:-0.375rem}:host(.cat-button-pull-r[size=s]){margin-right:-0.5rem}.cat-button-m{min-width:2.5rem;padding:0.625rem 0.75rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400)}.cat-button-m .cat-button-prefix{margin-right:0.25rem}.cat-button-m .cat-button-suffix{margin-left:0.25rem}.cat-button-m cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-m.cat-button-icon{width:2.5rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-m{padding-left:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=m]){margin:-0.625rem -0.75rem}:host(.cat-button-pull-h[size=m]){margin-left:-0.75rem;margin-right:-0.75rem}:host(.cat-button-pull-v[size=m]){margin-top:-0.625rem;margin-bottom:-0.625rem}:host(.cat-button-pull-t[size=m]){margin-top:-0.625rem}:host(.cat-button-pull-l[size=m]){margin-left:-0.75rem}:host(.cat-button-pull-b[size=m]){margin-bottom:-0.625rem}:host(.cat-button-pull-r[size=m]){margin-right:-0.75rem}.cat-button-l{min-width:3rem;padding:0.875rem 1rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400)}.cat-button-l .cat-button-prefix{margin-right:0.25rem}.cat-button-l .cat-button-suffix{margin-left:0.25rem}.cat-button-l cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-l.cat-button-icon{width:3rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-l{padding-left:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=l]){margin:-0.875rem -1rem}:host(.cat-button-pull-h[size=l]){margin-left:-1rem;margin-right:-1rem}:host(.cat-button-pull-v[size=l]){margin-top:-0.875rem;margin-bottom:-0.875rem}:host(.cat-button-pull-t[size=l]){margin-top:-0.875rem}:host(.cat-button-pull-l[size=l]){margin-left:-1rem}:host(.cat-button-pull-b[size=l]){margin-bottom:-0.875rem}:host(.cat-button-pull-r[size=l]){margin-right:-1rem}.cat-button-xl{min-width:3.5rem;padding:1rem 1.25rem;font-size:1.125rem;line-height:1.5rem;font-weight:var(--cat-font-weight-body, 400)}.cat-button-xl .cat-button-prefix{margin-right:0.25rem}.cat-button-xl .cat-button-suffix{margin-left:0.25rem}.cat-button-xl.cat-button-icon{width:3.5rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-xl{padding-left:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=xl]){margin:-1rem -1.25rem}:host(.cat-button-pull-h[size=xl]){margin-left:-1.25rem;margin-right:-1.25rem}:host(.cat-button-pull-v[size=xl]){margin-top:-1rem;margin-bottom:-1rem}:host(.cat-button-pull-t[size=xl]){margin-top:-1rem}:host(.cat-button-pull-l[size=xl]){margin-left:-1.25rem}:host(.cat-button-pull-b[size=xl]){margin-bottom:-1rem}:host(.cat-button-pull-r[size=xl]){margin-right:-1.25rem}.cat-button-active::before{content:\"\";display:block;position:absolute;top:0;left:0;width:0.25rem;height:100%;background:rgb(var(--base))}:host-context(nav){width:100%}:host-context(nav) .cat-button{box-shadow:none;border-radius:0;justify-content:left}:host-context(nav) .cat-button:focus-visible{outline-offset:-2px}:host(.cat-text-left) .cat-button{justify-content:left}:host(.cat-text-right) .cat-button{justify-content:right}";
286
+ const catButtonCss = ":host{display:inline-block;max-width:100%;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host([hidden]){display:none}.cat-button{position:relative;font:inherit;display:flex;align-items:center;justify-content:center;border:none;border-radius:0.25rem;text-decoration:none;width:100%;box-sizing:border-box;cursor:pointer;transition:color 0.13s linear, border-color 0.13s linear, background-color 0.13s linear, box-shadow 0.13s linear}.cat-button:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.cat-button-content{word-wrap:break-word;word-break:break-word}.cat-button-ellipsed .cat-button-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.cat-button-disabled{cursor:not-allowed;opacity:0.65;filter:grayscale(100%)}.cat-button-round{border-radius:10rem}.cat-button-loading{cursor:default}.cat-button-loading cat-spinner{position:absolute}.cat-button-loading>*:not(cat-spinner){visibility:hidden}.cat-button-filled{background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}.cat-button-outlined{background-color:white;box-shadow:inset 0 0 0 1px rgba(var(--base), 0.2);color:rgb(var(--text))}.cat-button-outlined:hover:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.05)}.cat-button-outlined:active:not(.cat-button-disabled):not(.cat-button-loading){background-color:rgba(var(--base), 0.1)}.cat-button-text{background-color:transparent;color:rgb(var(--text));text-decoration:none}.cat-button-text:hover:not(.cat-button-disabled):not(.cat-button-loading){text-decoration:none;background-color:rgba(var(--base), 0.05)}.cat-button-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 32, 127, 138);--base:var(--cat-primary-text, 32, 127, 138)}.cat-button-primary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-hover, 28, 112, 122);--fill:var(--cat-primary-fill-hover, 255, 255, 255);--text:var(--cat-primary-text-hover, 28, 112, 122)}.cat-button-primary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:var(--cat-primary-bg-active, 25, 101, 110);--fill:var(--cat-primary-fill-active, 255, 255, 255);--text:var(--cat-primary-text-active, 25, 101, 110)}.cat-button-secondary{--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0;--base:105, 118, 135}.cat-button-secondary:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0}.cat-button-secondary:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0}.cat-button-success{--bg:0, 132, 88;--fill:255, 255, 255;--text:0, 132, 88;--base:0, 132, 88}.cat-button-success:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:0, 117, 78;--fill:255, 255, 255;--text:0, 117, 78}.cat-button-success:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:0, 105, 70;--fill:255, 255, 255;--text:0, 105, 70}.cat-button-warning{--bg:255, 206, 128;--fill:0, 0, 0;--text:159, 97, 0;--base:159, 97, 0}.cat-button-warning:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:255, 214, 148;--fill:0, 0, 0;--text:159, 97, 0}.cat-button-warning:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:255, 222, 168;--fill:0, 0, 0;--text:159, 97, 0}.cat-button-danger{--bg:217, 52, 13;--fill:255, 255, 255;--text:217, 52, 13;--base:217, 52, 13}.cat-button-danger:hover:not(.cat-button-disabled):not(.cat-button-loading){--bg:194, 46, 11;--fill:255, 255, 255;--text:194, 46, 11}.cat-button-danger:active:not(.cat-button-disabled):not(.cat-button-loading){--bg:174, 42, 10;--fill:255, 255, 255;--text:174, 42, 10}:host(.cat-button-pull:not([size])){margin:-0.625rem -0.75rem}:host(.cat-button-pull-h:not([size])){margin-left:-0.75rem;margin-right:-0.75rem}:host(.cat-button-pull-v:not([size])){margin-top:-0.625rem;margin-bottom:-0.625rem}:host(.cat-button-pull-t:not([size])){margin-top:-0.625rem}:host(.cat-button-pull-l:not([size])){margin-left:-0.75rem}:host(.cat-button-pull-b:not([size])){margin-bottom:-0.625rem}:host(.cat-button-pull-r:not([size])){margin-right:-0.75rem}.cat-button-xs{min-width:1.5rem;padding:0.25rem 0.25rem;font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400)}.cat-button-xs .cat-button-prefix{margin-right:0.25rem}.cat-button-xs .cat-button-suffix{margin-left:0.25rem}.cat-button-xs.cat-button-icon{width:1.5rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-xs{padding-left:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=xs]){margin:-0.25rem -0.25rem}:host(.cat-button-pull-h[size=xs]){margin-left:-0.25rem;margin-right:-0.25rem}:host(.cat-button-pull-v[size=xs]){margin-top:-0.25rem;margin-bottom:-0.25rem}:host(.cat-button-pull-t[size=xs]){margin-top:-0.25rem}:host(.cat-button-pull-l[size=xs]){margin-left:-0.25rem}:host(.cat-button-pull-b[size=xs]){margin-bottom:-0.25rem}:host(.cat-button-pull-r[size=xs]){margin-right:-0.25rem}.cat-button-s{min-width:2rem;padding:0.375rem 0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400)}.cat-button-s .cat-button-prefix{margin-right:0.25rem}.cat-button-s .cat-button-suffix{margin-left:0.25rem}.cat-button-s cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-s.cat-button-icon{width:2rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-s{padding-left:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=s]){margin:-0.375rem -0.5rem}:host(.cat-button-pull-h[size=s]){margin-left:-0.5rem;margin-right:-0.5rem}:host(.cat-button-pull-v[size=s]){margin-top:-0.375rem;margin-bottom:-0.375rem}:host(.cat-button-pull-t[size=s]){margin-top:-0.375rem}:host(.cat-button-pull-l[size=s]){margin-left:-0.5rem}:host(.cat-button-pull-b[size=s]){margin-bottom:-0.375rem}:host(.cat-button-pull-r[size=s]){margin-right:-0.5rem}.cat-button-m{min-width:2.5rem;padding:0.625rem 0.75rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400)}.cat-button-m .cat-button-prefix{margin-right:0.25rem}.cat-button-m .cat-button-suffix{margin-left:0.25rem}.cat-button-m cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-m.cat-button-icon{width:2.5rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-m{padding-left:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=m]){margin:-0.625rem -0.75rem}:host(.cat-button-pull-h[size=m]){margin-left:-0.75rem;margin-right:-0.75rem}:host(.cat-button-pull-v[size=m]){margin-top:-0.625rem;margin-bottom:-0.625rem}:host(.cat-button-pull-t[size=m]){margin-top:-0.625rem}:host(.cat-button-pull-l[size=m]){margin-left:-0.75rem}:host(.cat-button-pull-b[size=m]){margin-bottom:-0.625rem}:host(.cat-button-pull-r[size=m]){margin-right:-0.75rem}.cat-button-l{min-width:3rem;padding:0.875rem 1rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400)}.cat-button-l .cat-button-prefix{margin-right:0.25rem}.cat-button-l .cat-button-suffix{margin-left:0.25rem}.cat-button-l cat-icon{margin-top:-0.125rem;margin-bottom:-0.125rem}.cat-button-l.cat-button-icon{width:3rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-l{padding-left:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=l]){margin:-0.875rem -1rem}:host(.cat-button-pull-h[size=l]){margin-left:-1rem;margin-right:-1rem}:host(.cat-button-pull-v[size=l]){margin-top:-0.875rem;margin-bottom:-0.875rem}:host(.cat-button-pull-t[size=l]){margin-top:-0.875rem}:host(.cat-button-pull-l[size=l]){margin-left:-1rem}:host(.cat-button-pull-b[size=l]){margin-bottom:-0.875rem}:host(.cat-button-pull-r[size=l]){margin-right:-1rem}.cat-button-xl{min-width:3.5rem;padding:1rem 1.25rem;font-size:1.125rem;line-height:1.5rem;font-weight:var(--cat-font-weight-body, 400)}.cat-button-xl .cat-button-prefix{margin-right:0.25rem}.cat-button-xl .cat-button-suffix{margin-left:0.25rem}.cat-button-xl.cat-button-icon{width:3.5rem;padding-left:0;padding-right:0}:host-context(nav) .cat-button-xl{padding-left:1.25rem;padding-right:1.25rem}:host(.cat-button-pull[size=xl]){margin:-1rem -1.25rem}:host(.cat-button-pull-h[size=xl]){margin-left:-1.25rem;margin-right:-1.25rem}:host(.cat-button-pull-v[size=xl]){margin-top:-1rem;margin-bottom:-1rem}:host(.cat-button-pull-t[size=xl]){margin-top:-1rem}:host(.cat-button-pull-l[size=xl]){margin-left:-1.25rem}:host(.cat-button-pull-b[size=xl]){margin-bottom:-1rem}:host(.cat-button-pull-r[size=xl]){margin-right:-1.25rem}.cat-button-active::before{content:\"\";display:block;position:absolute;top:0;left:0;width:0.25rem;height:100%;background:rgb(var(--base))}:host-context(nav){width:100%}:host-context(nav) .cat-button{box-shadow:none;border-radius:0;justify-content:left}:host-context(nav) .cat-button:focus-visible{outline-offset:-2px}:host(.cat-text-left) .cat-button{justify-content:left}:host(.cat-text-right) .cat-button{justify-content:right}";
287
287
 
288
288
  const CatButton = class {
289
289
  constructor(hostRef) {
@@ -487,16 +487,16 @@ const CatFormHint = props => {
487
487
  ]));
488
488
  };
489
489
 
490
- const catCheckboxCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem}:host([hidden]){display:none}label{flex:0 1 auto;display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400);-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;position:relative}.label-left{flex-direction:row-reverse}.label-left input{right:1px;left:unset}input{position:absolute;width:1.25rem;height:1.25rem;margin:0;opacity:0;cursor:inherit;left:1px;top:0.5px}.box{flex:0 0 auto;display:flex;position:relative;height:1.25rem;width:1.25rem;background-color:white;border:1px solid #d7dbe0;border-radius:0.125rem;transition:background-color 0.13s ease, border-color 0.13s ease;pointer-events:none}.box svg{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16px;stroke-dashoffset:16px;transition:all 0.13s ease;width:70%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.99)}:checked+.box{background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-color:rgb(var(--cat-primary-bg, 32, 127, 138));stroke:rgb(var(--cat-primary-fill, 255, 255, 255))}:checked+.box .check{stroke-dashoffset:0}:indeterminate+.box{background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-color:rgb(var(--cat-primary-bg, 32, 127, 138));stroke:rgb(var(--cat-primary-fill, 255, 255, 255))}:indeterminate+.box .dash{stroke-dashoffset:0}:focus-visible+.box{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.label{flex:1 1 auto}.is-hidden .label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
490
+ const catCheckboxCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem}:host([hidden]){display:none}label{flex:0 1 auto;display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400);-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;position:relative}.label-left{flex-direction:row-reverse}.label-left input{right:1px;left:unset}input{position:absolute;width:1.25rem;height:1.25rem;margin:0;opacity:0;cursor:inherit;left:1px;top:0.5px}.box{flex:0 0 auto;display:flex;position:relative;height:1.25rem;width:1.25rem;background-color:white;border:1px solid #d7dbe0;border-radius:0.125rem;transition:background-color 0.13s ease, border-color 0.13s ease;pointer-events:none}.box svg{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16px;stroke-dashoffset:16px;transition:all 0.13s ease;width:70%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.99)}:checked+.box{background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-color:rgb(var(--cat-primary-bg, 32, 127, 138));stroke:rgb(var(--cat-primary-fill, 255, 255, 255))}:checked+.box .check{stroke-dashoffset:0}:indeterminate+.box{background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-color:rgb(var(--cat-primary-bg, 32, 127, 138));stroke:rgb(var(--cat-primary-fill, 255, 255, 255))}:indeterminate+.box .dash{stroke-dashoffset:0}:focus-visible+.box{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.label{flex:1 1 auto;min-width:0}.is-hidden .label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
491
491
 
492
- let nextUniqueId$8 = 0;
492
+ let nextUniqueId$9 = 0;
493
493
  const CatCheckbox = class {
494
494
  constructor(hostRef) {
495
495
  index.registerInstance(this, hostRef);
496
496
  this.catChange = index.createEvent(this, "catChange", 7);
497
497
  this.catFocus = index.createEvent(this, "catFocus", 7);
498
498
  this.catBlur = index.createEvent(this, "catBlur", 7);
499
- this.id = `cat-checkbox-${nextUniqueId$8++}`;
499
+ this.id = `cat-checkbox-${nextUniqueId$9++}`;
500
500
  this.hasSlottedLabel = false;
501
501
  /**
502
502
  * Checked state of the checkbox
@@ -548,14 +548,17 @@ const CatCheckbox = class {
548
548
  this.input.focus(options);
549
549
  }
550
550
  render() {
551
- 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", { ref: el => (this.input = el), id: this.id, type: "checkbox", name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), 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.hintSection));
551
+ 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", { ref: el => (this.input = el), id: this.id, type: "checkbox", name: this.name, value: this.value !== undefined ? String(this.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: "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.hintSection));
552
552
  }
553
553
  get hintSection() {
554
554
  const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
555
555
  return ((this.hint || hasSlottedHint) && (index.h(CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
556
556
  }
557
557
  onInput(event) {
558
- this.value = this.input.value;
558
+ this.checked = this.input.checked;
559
+ if (!this.value || typeof this.value === 'boolean') {
560
+ this.value = this.checked;
561
+ }
559
562
  this.catChange.emit(event);
560
563
  }
561
564
  onFocus(event) {
@@ -592,9 +595,9 @@ const CatIcon = class {
592
595
  };
593
596
  CatIcon.style = catIconCss;
594
597
 
595
- const catInputCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400);margin-bottom:1rem}:host([hidden]){display:none}.input-wrapper{display:flex;align-items:stretch;gap:0.75rem;padding:0 0.75rem;height:2.5rem;overflow:hidden;background:white;border-radius:0.25rem;box-shadow:0 0 0 1px #d7dbe0;transition:box-shadow 0.13s linear}.input-wrapper.input-round{border-radius:10rem}.input-wrapper.input-disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.input-wrapper:not(.input-disabled):hover{box-shadow:0 0 0 2px #d7dbe0}.input-wrapper:not(.input-disabled):focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}label{align-self:flex-start}label.hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.text-prefix,.text-suffix{display:inline-flex;align-items:center;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.text-prefix{border-right:1px solid #d7dbe0;padding-right:0.75rem}.text-suffix{border-left:1px solid #d7dbe0;padding-left:0.75rem}.icon-prefix,.icon-suffix{align-self:center}.input-inner-wrapper{display:flex;position:relative;flex:1 1 auto}input{font:inherit;margin:0;padding:0;width:100%;min-width:0;border:none;outline:none;background:none}.input-disabled input{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}input.has-clearable{padding-right:1.5rem}input::placeholder{color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.clearable{position:absolute;top:calc(50% - 1rem);right:-0.5rem}";
598
+ const catInputCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400);margin-bottom:1rem}:host([hidden]){display:none}.input-wrapper{display:flex;align-items:stretch;gap:0.75rem;padding:0 0.75rem;height:2.5rem;overflow:hidden;background:white;border-radius:0.25rem;box-shadow:0 0 0 1px #d7dbe0;transition:box-shadow 0.13s linear}.input-wrapper.input-round{border-radius:10rem}.input-wrapper.input-disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.input-wrapper:not(.input-disabled):hover{box-shadow:0 0 0 2px #d7dbe0}.input-wrapper:not(.input-disabled):focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}label{align-self:flex-start}label.hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.text-prefix,.text-suffix{display:inline-flex;align-items:center;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.text-prefix{border-right:1px solid #d7dbe0;padding-right:0.75rem}.text-suffix{border-left:1px solid #d7dbe0;padding-left:0.75rem}.icon-prefix,.icon-suffix{align-self:center}.input-inner-wrapper{display:flex;align-items:center;position:relative;flex:1 1 auto}input{font:inherit;margin:0;padding:0;width:100%;min-width:0;border:none;outline:none;background:none}.input-disabled input{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}input.has-clearable{padding-right:1.5rem}input::placeholder{color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.clearable{position:absolute;top:calc(50% - 1rem);right:-0.5rem}";
596
599
 
597
- let nextUniqueId$7 = 0;
600
+ let nextUniqueId$8 = 0;
598
601
  const CatInput = class {
599
602
  constructor(hostRef) {
600
603
  index.registerInstance(this, hostRef);
@@ -602,7 +605,7 @@ const CatInput = class {
602
605
  this.catFocus = index.createEvent(this, "catFocus", 7);
603
606
  this.catBlur = index.createEvent(this, "catBlur", 7);
604
607
  this.i18n = catNotification.CatI18nRegistry.getInstance();
605
- this.id = `cat-input-${nextUniqueId$7++}`;
608
+ this.id = `cat-input-${nextUniqueId$8++}`;
606
609
  this.hasSlottedLabel = false;
607
610
  /**
608
611
  * Whether the input should show a clear button.
@@ -2275,7 +2278,7 @@ var isTabEvent = function isTabEvent(e) {
2275
2278
  return e.key === 'Tab' || e.keyCode === 9;
2276
2279
  };
2277
2280
 
2278
- var delay = function delay(fn) {
2281
+ var delay$1 = function delay(fn) {
2279
2282
  return setTimeout(fn, 0);
2280
2283
  }; // Array.find/findIndex() are not supported on IE; this replicates enough
2281
2284
  // of Array.findIndex() for our needs
@@ -2762,7 +2765,7 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
2762
2765
  activeFocusTraps.activateTrap(trap); // Delay ensures that the focused element doesn't capture the event
2763
2766
  // that caused the focus trap activation.
2764
2767
 
2765
- state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function () {
2768
+ state.delayInitialFocusTimer = config.delayInitialFocus ? delay$1(function () {
2766
2769
  tryFocus(getInitialFocusNode());
2767
2770
  }) : tryFocus(getInitialFocusNode());
2768
2771
  doc.addEventListener('focusin', checkFocusIn, true);
@@ -2866,7 +2869,7 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
2866
2869
  var returnFocus = getOption(deactivateOptions, 'returnFocus', 'returnFocusOnDeactivate');
2867
2870
 
2868
2871
  var finishDeactivation = function finishDeactivation() {
2869
- delay(function () {
2872
+ delay$1(function () {
2870
2873
  if (returnFocus) {
2871
2874
  tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));
2872
2875
  }
@@ -2928,13 +2931,13 @@ const firstTabbable = (container) => {
2928
2931
 
2929
2932
  const catMenuCss = ":host{display:contents}:host([hidden]){display:none}.content{padding-top:0.5rem;padding-bottom:0.5rem;position:absolute;background:white;display:none;overflow:auto;-webkit-overflow-scrolling:touch;min-width:8rem;max-width:16rem;min-height:2rem;max-height:calc(100vh - 48px);box-shadow:0 1px 4px 0 rgba(16, 29, 48, 0.2);border-radius:0.25rem;z-index:100}";
2930
2933
 
2931
- let nextUniqueId$6 = 0;
2934
+ let nextUniqueId$7 = 0;
2932
2935
  const CatMenu = class {
2933
2936
  constructor(hostRef) {
2934
2937
  index.registerInstance(this, hostRef);
2935
2938
  this.catOpen = index.createEvent(this, "catOpen", 7);
2936
2939
  this.catClose = index.createEvent(this, "catClose", 7);
2937
- this.id = nextUniqueId$6++;
2940
+ this.id = nextUniqueId$7++;
2938
2941
  /**
2939
2942
  * The placement of the menu.
2940
2943
  */
@@ -3050,7 +3053,7 @@ const CatModal = class {
3050
3053
  allowOutsideClick: true,
3051
3054
  clickOutsideDeactivates: event => !this.modal || !event.composedPath().includes(this.modal),
3052
3055
  onDeactivate: () => (this.isVisible = false),
3053
- setReturnFocus: previousActiveElement => previousActiveElement instanceof index.H
3056
+ setReturnFocus: previousActiveElement => previousActiveElement instanceof HTMLElement
3054
3057
  ? firstTabbable(previousActiveElement)
3055
3058
  : previousActiveElement
3056
3059
  });
@@ -3095,14 +3098,14 @@ CatModal.style = catModalCss;
3095
3098
 
3096
3099
  const catRadioCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem}:host([hidden]){display:none}label{display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400);cursor:pointer}.label-left{flex-direction:row-reverse}.radio{display:flex;position:relative;align-self:flex-start}.circle{position:absolute;width:0.75rem;height:0.75rem;background-color:rgb(var(--cat-primary-bg, 32, 127, 138));border-radius:10rem;top:calc(50% - 0.375rem);left:calc(50% - 0.375rem);visibility:hidden;pointer-events:none}input{margin:0;width:1.25rem;height:1.25rem;appearance:none;background-color:white;border:1px solid #d7dbe0;border-radius:10rem;cursor:inherit}input:checked{border-color:rgb(var(--cat-primary-bg, 32, 127, 138))}input:checked+.circle{visibility:visible}input:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.label{flex:1 1 auto}.is-hidden .label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.is-disabled input{background-color:#f8f8fb}.is-disabled input:checked{border-color:#d7dbe0}.is-disabled .circle{background-color:#d7dbe0}";
3097
3100
 
3098
- let nextUniqueId$5 = 0;
3101
+ let nextUniqueId$6 = 0;
3099
3102
  const CatRadio = class {
3100
3103
  constructor(hostRef) {
3101
3104
  index.registerInstance(this, hostRef);
3102
3105
  this.catChange = index.createEvent(this, "catChange", 7);
3103
3106
  this.catFocus = index.createEvent(this, "catFocus", 7);
3104
3107
  this.catBlur = index.createEvent(this, "catBlur", 7);
3105
- this.id = `cat-radio-${++nextUniqueId$5}`;
3108
+ this.id = `cat-radio-${++nextUniqueId$6}`;
3106
3109
  this.hasSlottedLabel = false;
3107
3110
  /**
3108
3111
  * Whether this radio is checked.
@@ -3941,6 +3944,157 @@ class AnonymousSubject extends Subject {
3941
3944
  }
3942
3945
  }
3943
3946
 
3947
+ const dateTimestampProvider = {
3948
+ now() {
3949
+ return (dateTimestampProvider.delegate || Date).now();
3950
+ },
3951
+ delegate: undefined,
3952
+ };
3953
+
3954
+ class Action extends Subscription {
3955
+ constructor(scheduler, work) {
3956
+ super();
3957
+ }
3958
+ schedule(state, delay = 0) {
3959
+ return this;
3960
+ }
3961
+ }
3962
+
3963
+ const intervalProvider = {
3964
+ setInterval(handler, timeout, ...args) {
3965
+ const { delegate } = intervalProvider;
3966
+ if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {
3967
+ return delegate.setInterval(handler, timeout, ...args);
3968
+ }
3969
+ return setInterval(handler, timeout, ...args);
3970
+ },
3971
+ clearInterval(handle) {
3972
+ const { delegate } = intervalProvider;
3973
+ return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);
3974
+ },
3975
+ delegate: undefined,
3976
+ };
3977
+
3978
+ class AsyncAction extends Action {
3979
+ constructor(scheduler, work) {
3980
+ super(scheduler, work);
3981
+ this.scheduler = scheduler;
3982
+ this.work = work;
3983
+ this.pending = false;
3984
+ }
3985
+ schedule(state, delay = 0) {
3986
+ if (this.closed) {
3987
+ return this;
3988
+ }
3989
+ this.state = state;
3990
+ const id = this.id;
3991
+ const scheduler = this.scheduler;
3992
+ if (id != null) {
3993
+ this.id = this.recycleAsyncId(scheduler, id, delay);
3994
+ }
3995
+ this.pending = true;
3996
+ this.delay = delay;
3997
+ this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);
3998
+ return this;
3999
+ }
4000
+ requestAsyncId(scheduler, _id, delay = 0) {
4001
+ return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);
4002
+ }
4003
+ recycleAsyncId(_scheduler, id, delay = 0) {
4004
+ if (delay != null && this.delay === delay && this.pending === false) {
4005
+ return id;
4006
+ }
4007
+ intervalProvider.clearInterval(id);
4008
+ return undefined;
4009
+ }
4010
+ execute(state, delay) {
4011
+ if (this.closed) {
4012
+ return new Error('executing a cancelled action');
4013
+ }
4014
+ this.pending = false;
4015
+ const error = this._execute(state, delay);
4016
+ if (error) {
4017
+ return error;
4018
+ }
4019
+ else if (this.pending === false && this.id != null) {
4020
+ this.id = this.recycleAsyncId(this.scheduler, this.id, null);
4021
+ }
4022
+ }
4023
+ _execute(state, _delay) {
4024
+ let errored = false;
4025
+ let errorValue;
4026
+ try {
4027
+ this.work(state);
4028
+ }
4029
+ catch (e) {
4030
+ errored = true;
4031
+ errorValue = e ? e : new Error('Scheduled action threw falsy error');
4032
+ }
4033
+ if (errored) {
4034
+ this.unsubscribe();
4035
+ return errorValue;
4036
+ }
4037
+ }
4038
+ unsubscribe() {
4039
+ if (!this.closed) {
4040
+ const { id, scheduler } = this;
4041
+ const { actions } = scheduler;
4042
+ this.work = this.state = this.scheduler = null;
4043
+ this.pending = false;
4044
+ arrRemove(actions, this);
4045
+ if (id != null) {
4046
+ this.id = this.recycleAsyncId(scheduler, id, null);
4047
+ }
4048
+ this.delay = null;
4049
+ super.unsubscribe();
4050
+ }
4051
+ }
4052
+ }
4053
+
4054
+ class Scheduler {
4055
+ constructor(schedulerActionCtor, now = Scheduler.now) {
4056
+ this.schedulerActionCtor = schedulerActionCtor;
4057
+ this.now = now;
4058
+ }
4059
+ schedule(work, delay = 0, state) {
4060
+ return new this.schedulerActionCtor(this, work).schedule(state, delay);
4061
+ }
4062
+ }
4063
+ Scheduler.now = dateTimestampProvider.now;
4064
+
4065
+ class AsyncScheduler extends Scheduler {
4066
+ constructor(SchedulerAction, now = Scheduler.now) {
4067
+ super(SchedulerAction, now);
4068
+ this.actions = [];
4069
+ this._active = false;
4070
+ this._scheduled = undefined;
4071
+ }
4072
+ flush(action) {
4073
+ const { actions } = this;
4074
+ if (this._active) {
4075
+ actions.push(action);
4076
+ return;
4077
+ }
4078
+ let error;
4079
+ this._active = true;
4080
+ do {
4081
+ if ((error = action.execute(action.state, action.delay))) {
4082
+ break;
4083
+ }
4084
+ } while ((action = actions.shift()));
4085
+ this._active = false;
4086
+ if (error) {
4087
+ while ((action = actions.shift())) {
4088
+ action.unsubscribe();
4089
+ }
4090
+ throw error;
4091
+ }
4092
+ }
4093
+ }
4094
+
4095
+ const asyncScheduler = new AsyncScheduler(AsyncAction);
4096
+ const async = asyncScheduler;
4097
+
3944
4098
  const EMPTY = new Observable((subscriber) => subscriber.complete());
3945
4099
 
3946
4100
  function isScheduler(value) {
@@ -4300,6 +4454,21 @@ function from(input, scheduler) {
4300
4454
  return scheduler ? scheduled(input, scheduler) : innerFrom(input);
4301
4455
  }
4302
4456
 
4457
+ function of(...args) {
4458
+ const scheduler = popScheduler(args);
4459
+ return from(args, scheduler);
4460
+ }
4461
+
4462
+ const EmptyError = createErrorClass((_super) => function EmptyErrorImpl() {
4463
+ _super(this);
4464
+ this.name = 'EmptyError';
4465
+ this.message = 'no elements in sequence';
4466
+ });
4467
+
4468
+ function isValidDate(value) {
4469
+ return value instanceof Date && !isNaN(value);
4470
+ }
4471
+
4303
4472
  function map(project, thisArg) {
4304
4473
  return operate((source, subscriber) => {
4305
4474
  let index = 0;
@@ -4386,6 +4555,14 @@ function mergeAll(concurrent = Infinity) {
4386
4555
  return mergeMap(identity, concurrent);
4387
4556
  }
4388
4557
 
4558
+ function concatAll() {
4559
+ return mergeAll(1);
4560
+ }
4561
+
4562
+ function concat(...args) {
4563
+ return concatAll()(from(args, popScheduler(args)));
4564
+ }
4565
+
4389
4566
  const nodeEventEmitterMethods = ['addListener', 'removeListener'];
4390
4567
  const eventTargetMethods = ['addEventListener', 'removeEventListener'];
4391
4568
  const jqueryMethods = ['on', 'off'];
@@ -4432,6 +4609,36 @@ function isEventTarget(target) {
4432
4609
  return isFunction(target.addEventListener) && isFunction(target.removeEventListener);
4433
4610
  }
4434
4611
 
4612
+ function timer(dueTime = 0, intervalOrScheduler, scheduler = async) {
4613
+ let intervalDuration = -1;
4614
+ if (intervalOrScheduler != null) {
4615
+ if (isScheduler(intervalOrScheduler)) {
4616
+ scheduler = intervalOrScheduler;
4617
+ }
4618
+ else {
4619
+ intervalDuration = intervalOrScheduler;
4620
+ }
4621
+ }
4622
+ return new Observable((subscriber) => {
4623
+ let due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;
4624
+ if (due < 0) {
4625
+ due = 0;
4626
+ }
4627
+ let n = 0;
4628
+ return scheduler.schedule(function () {
4629
+ if (!subscriber.closed) {
4630
+ subscriber.next(n++);
4631
+ if (0 <= intervalDuration) {
4632
+ this.schedule(undefined, intervalDuration);
4633
+ }
4634
+ else {
4635
+ subscriber.complete();
4636
+ }
4637
+ }
4638
+ }, due);
4639
+ });
4640
+ }
4641
+
4435
4642
  function merge(...args) {
4436
4643
  const scheduler = popScheduler(args);
4437
4644
  const concurrent = popNumber(args, Infinity);
@@ -4453,6 +4660,135 @@ function filter(predicate, thisArg) {
4453
4660
  });
4454
4661
  }
4455
4662
 
4663
+ function catchError(selector) {
4664
+ return operate((source, subscriber) => {
4665
+ let innerSub = null;
4666
+ let syncUnsub = false;
4667
+ let handledResult;
4668
+ innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, (err) => {
4669
+ handledResult = innerFrom(selector(err, catchError(selector)(source)));
4670
+ if (innerSub) {
4671
+ innerSub.unsubscribe();
4672
+ innerSub = null;
4673
+ handledResult.subscribe(subscriber);
4674
+ }
4675
+ else {
4676
+ syncUnsub = true;
4677
+ }
4678
+ }));
4679
+ if (syncUnsub) {
4680
+ innerSub.unsubscribe();
4681
+ innerSub = null;
4682
+ handledResult.subscribe(subscriber);
4683
+ }
4684
+ });
4685
+ }
4686
+
4687
+ function scanInternals(accumulator, seed, hasSeed, emitOnNext, emitBeforeComplete) {
4688
+ return (source, subscriber) => {
4689
+ let hasState = hasSeed;
4690
+ let state = seed;
4691
+ let index = 0;
4692
+ source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4693
+ const i = index++;
4694
+ state = hasState
4695
+ ?
4696
+ accumulator(state, value, i)
4697
+ :
4698
+ ((hasState = true), value);
4699
+ emitOnNext && subscriber.next(state);
4700
+ }, emitBeforeComplete &&
4701
+ (() => {
4702
+ hasState && subscriber.next(state);
4703
+ subscriber.complete();
4704
+ })));
4705
+ };
4706
+ }
4707
+
4708
+ function debounce(durationSelector) {
4709
+ return operate((source, subscriber) => {
4710
+ let hasValue = false;
4711
+ let lastValue = null;
4712
+ let durationSubscriber = null;
4713
+ const emit = () => {
4714
+ durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
4715
+ durationSubscriber = null;
4716
+ if (hasValue) {
4717
+ hasValue = false;
4718
+ const value = lastValue;
4719
+ lastValue = null;
4720
+ subscriber.next(value);
4721
+ }
4722
+ };
4723
+ source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4724
+ durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
4725
+ hasValue = true;
4726
+ lastValue = value;
4727
+ durationSubscriber = createOperatorSubscriber(subscriber, emit, noop);
4728
+ innerFrom(durationSelector(value)).subscribe(durationSubscriber);
4729
+ }, () => {
4730
+ emit();
4731
+ subscriber.complete();
4732
+ }, undefined, () => {
4733
+ lastValue = durationSubscriber = null;
4734
+ }));
4735
+ });
4736
+ }
4737
+
4738
+ function defaultIfEmpty(defaultValue) {
4739
+ return operate((source, subscriber) => {
4740
+ let hasValue = false;
4741
+ source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4742
+ hasValue = true;
4743
+ subscriber.next(value);
4744
+ }, () => {
4745
+ if (!hasValue) {
4746
+ subscriber.next(defaultValue);
4747
+ }
4748
+ subscriber.complete();
4749
+ }));
4750
+ });
4751
+ }
4752
+
4753
+ function take(count) {
4754
+ return count <= 0
4755
+ ?
4756
+ () => EMPTY
4757
+ : operate((source, subscriber) => {
4758
+ let seen = 0;
4759
+ source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4760
+ if (++seen <= count) {
4761
+ subscriber.next(value);
4762
+ if (count <= seen) {
4763
+ subscriber.complete();
4764
+ }
4765
+ }
4766
+ }));
4767
+ });
4768
+ }
4769
+
4770
+ function ignoreElements() {
4771
+ return operate((source, subscriber) => {
4772
+ source.subscribe(createOperatorSubscriber(subscriber, noop));
4773
+ });
4774
+ }
4775
+
4776
+ function mapTo(value) {
4777
+ return map(() => value);
4778
+ }
4779
+
4780
+ function delayWhen(delayDurationSelector, subscriptionDelay) {
4781
+ if (subscriptionDelay) {
4782
+ return (source) => concat(subscriptionDelay.pipe(take(1), ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));
4783
+ }
4784
+ return mergeMap((value, index) => delayDurationSelector(value, index).pipe(take(1), mapTo(value)));
4785
+ }
4786
+
4787
+ function delay(due, scheduler = asyncScheduler) {
4788
+ const duration = timer(due, scheduler);
4789
+ return delayWhen(() => duration);
4790
+ }
4791
+
4456
4792
  function distinctUntilChanged(comparator, keySelector = identity) {
4457
4793
  comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;
4458
4794
  return operate((source, subscriber) => {
@@ -4472,6 +4808,56 @@ function defaultCompare(a, b) {
4472
4808
  return a === b;
4473
4809
  }
4474
4810
 
4811
+ function throwIfEmpty(errorFactory = defaultErrorFactory) {
4812
+ return operate((source, subscriber) => {
4813
+ let hasValue = false;
4814
+ source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4815
+ hasValue = true;
4816
+ subscriber.next(value);
4817
+ }, () => (hasValue ? subscriber.complete() : subscriber.error(errorFactory()))));
4818
+ });
4819
+ }
4820
+ function defaultErrorFactory() {
4821
+ return new EmptyError();
4822
+ }
4823
+
4824
+ function first(predicate, defaultValue) {
4825
+ const hasDefaultValue = arguments.length >= 2;
4826
+ return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));
4827
+ }
4828
+
4829
+ function scan(accumulator, seed) {
4830
+ return operate(scanInternals(accumulator, seed, arguments.length >= 2, true));
4831
+ }
4832
+
4833
+ function startWith(...values) {
4834
+ const scheduler = popScheduler(values);
4835
+ return operate((source, subscriber) => {
4836
+ (scheduler ? concat(values, source, scheduler) : concat(values, source)).subscribe(subscriber);
4837
+ });
4838
+ }
4839
+
4840
+ function switchMap(project, resultSelector) {
4841
+ return operate((source, subscriber) => {
4842
+ let innerSubscriber = null;
4843
+ let index = 0;
4844
+ let isComplete = false;
4845
+ const checkComplete = () => isComplete && !innerSubscriber && subscriber.complete();
4846
+ source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4847
+ innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();
4848
+ let innerIndex = 0;
4849
+ const outerIndex = index++;
4850
+ innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, (innerValue) => subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue), () => {
4851
+ innerSubscriber = null;
4852
+ checkComplete();
4853
+ })));
4854
+ }, () => {
4855
+ isComplete = true;
4856
+ checkComplete();
4857
+ }));
4858
+ });
4859
+ }
4860
+
4475
4861
  function takeUntil(notifier) {
4476
4862
  return operate((source, subscriber) => {
4477
4863
  innerFrom(notifier).subscribe(createOperatorSubscriber(subscriber, () => subscriber.complete(), noop));
@@ -4479,7 +4865,54 @@ function takeUntil(notifier) {
4479
4865
  });
4480
4866
  }
4481
4867
 
4482
- const catScrollableCss = ":host{overflow:hidden;position:relative;display:flex}:host([hidden]){display:none}.shadow-bottom,.shadow-right,.shadow-left,.shadow-top{position:absolute;transition:box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1)}.shadow-top{z-index:2;width:100%;top:0}.shadow-left{z-index:4;height:100%;left:0}.shadow-right{z-index:4;height:100%;right:0}.shadow-bottom{z-index:2;width:100%;bottom:0}.scrollable-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.scrollable-wrapper.cat-scrollable-top .shadow-top,.scrollable-wrapper.cat-scrollable-bottom .shadow-bottom,.scrollable-wrapper.cat-scrollable-left .shadow-left,.scrollable-wrapper.cat-scrollable-right .shadow-right{box-shadow:0 0 4px 1px rgba(16, 29, 48, 0.2)}.scrollable-content{width:100%;overflow:hidden;white-space:nowrap}.scrollable-content.scroll-x{overflow-x:auto}.scrollable-content.scroll-y{overflow-y:auto}.scrollable-content.no-overscroll{overscroll-behavior:contain}";
4868
+ function takeWhile(predicate, inclusive = false) {
4869
+ return operate((source, subscriber) => {
4870
+ let index = 0;
4871
+ source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4872
+ const result = predicate(value, index++);
4873
+ (result || inclusive) && subscriber.next(value);
4874
+ !result && subscriber.complete();
4875
+ }));
4876
+ });
4877
+ }
4878
+
4879
+ function tap(observerOrNext, error, complete) {
4880
+ const tapObserver = isFunction(observerOrNext) || error || complete
4881
+ ?
4882
+ { next: observerOrNext, error, complete }
4883
+ : observerOrNext;
4884
+ return tapObserver
4885
+ ? operate((source, subscriber) => {
4886
+ var _a;
4887
+ (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
4888
+ let isUnsub = true;
4889
+ source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4890
+ var _a;
4891
+ (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);
4892
+ subscriber.next(value);
4893
+ }, () => {
4894
+ var _a;
4895
+ isUnsub = false;
4896
+ (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
4897
+ subscriber.complete();
4898
+ }, (err) => {
4899
+ var _a;
4900
+ isUnsub = false;
4901
+ (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);
4902
+ subscriber.error(err);
4903
+ }, () => {
4904
+ var _a, _b;
4905
+ if (isUnsub) {
4906
+ (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
4907
+ }
4908
+ (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);
4909
+ }));
4910
+ })
4911
+ :
4912
+ identity;
4913
+ }
4914
+
4915
+ const catScrollableCss = ":host{overflow:hidden;position:relative;display:flex}:host([hidden]){display:none}.shadow-bottom,.shadow-right,.shadow-left,.shadow-top{position:absolute;transition:box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1)}.shadow-top{z-index:2;width:100%;top:0}.shadow-left{z-index:4;height:100%;left:0}.shadow-right{z-index:4;height:100%;right:0}.shadow-bottom{z-index:2;width:100%;bottom:0}.scrollable-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.scrollable-wrapper.cat-scrollable-top .shadow-top,.scrollable-wrapper.cat-scrollable-bottom .shadow-bottom,.scrollable-wrapper.cat-scrollable-left .shadow-left,.scrollable-wrapper.cat-scrollable-right .shadow-right{box-shadow:0 0 4px 1px rgba(16, 29, 48, 0.2)}.scrollable-content{width:100%;overflow:hidden}.scrollable-content.scroll-x{overflow-x:auto}.scrollable-content.scroll-y{overflow-y:auto}.scrollable-content.no-overscroll{overscroll-behavior:contain}";
4483
4916
 
4484
4917
  const CatScrollable = class {
4485
4918
  constructor(hostRef) {
@@ -12074,7 +12507,7 @@ const Choices = /*@__PURE__*/catNotification.getDefaultExportFromCjs(choices);
12074
12507
 
12075
12508
  const catSelectCss = "*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*::before,*::after{box-sizing:border-box}html,body{position:relative;margin:0;width:100%;height:100%}body{font-family:\"Helvetica Neue\", Helvetica, Arial, \"Lucida Grande\", sans-serif;font-size:16px;line-height:1.4;color:#fff;background-color:#333;overflow-x:hidden}label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;cursor:pointer}p{margin-top:0;margin-bottom:8px}hr{display:block;margin:30px 0;border:0;border-bottom:1px solid #eaeaea;height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:12px;font-weight:400;line-height:1.2}a,a:visited,a:focus{color:#fff;text-decoration:none;font-weight:600}.form-control{display:block;width:100%;background-color:#f9f9f9;padding:12px;border:1px solid #ddd;border-radius:2.5px;font-size:14px;appearance:none;margin-bottom:24px}h1,.h1{font-size:32px}h2,.h2{font-size:24px}h3,.h3{font-size:20px}h4,.h4{font-size:18px}h5,.h5{font-size:16px}h6,.h6{font-size:14px}label+p{margin-top:-4px}.container{display:block;margin:auto;max-width:40em;padding:48px}@media (max-width: 620px){.container{padding:0}}.section{background-color:#fff;padding:24px;color:#333}.section a,.section a:visited,.section a:focus{color:#00bcd4}.logo{display:block;margin-bottom:12px}.logo-img{width:100%;height:auto;display:inline-block;max-width:100%;vertical-align:top;padding:6px 0}.visible-ie{display:none}.push-bottom{margin-bottom:24px}.zero-bottom{margin-bottom:0}.zero-top{margin-top:0}.text-center{text-align:center}[data-test-hook]{margin-bottom:24px}.hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;font-weight:var(--cat-font-weight-body, 400);margin-bottom:1rem}:host([hidden]){display:none}label{align-self:flex-start;font-size:inherit;font-weight:inherit;margin:0}label.hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.choices{position:relative;overflow:hidden;font-size:16px}.choices.is-focused,.choices:focus{outline:none;box-shadow:0 1px 4px 0 #101d3033}.choices:last-child{margin-bottom:0}.choices.is-open{overflow:visible}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#eaeaea;cursor:not-allowed;user-select:none}.choices.is-disabled .choices__item{cursor:not-allowed}.choices [hidden]{display:none !important}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] .choices__list--dropdown .choices__list{padding-top:0.5rem}.choices[data-type*=select-one] .choices__input{display:block;width:100%;padding:12px 16px 12px 40px;border-bottom:1px solid #d7dbe0;margin:0;color:#000;background:#fff url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjUgMC4yNUMzLjk0MzY1IDAuMjUgMC4yNSAzLjk0MzY1IDAuMjUgOC41QzAuMjUgMTMuMDU2MyAzLjk0MzY1IDE2Ljc1IDguNSAxNi43NUMxMC41MjU1IDE2Ljc1IDEyLjM4MDUgMTYuMDIwMSAxMy44MTYzIDE0LjgwODlDMTMuODUyNiAxNC44ODkyIDEzLjkwMzcgMTQuOTY0NCAxMy45Njk3IDE1LjAzMDNMMTYuNDY5NyAxNy41MzAzQzE2Ljc2MjYgMTcuODIzMiAxNy4yMzc0IDE3LjgyMzIgMTcuNTMwMyAxNy41MzAzQzE3LjgyMzIgMTcuMjM3NCAxNy44MjMyIDE2Ljc2MjYgMTcuNTMwMyAxNi40Njk3TDE1LjAzMDMgMTMuOTY5N0MxNC45NjQ0IDEzLjkwMzcgMTQuODg5MiAxMy44NTI2IDE0LjgwODkgMTMuODE2M0MxNi4wMjAxIDEyLjM4MDUgMTYuNzUgMTAuNTI1NSAxNi43NSA4LjVDMTYuNzUgMy45NDM2NSAxMy4wNTYzIDAuMjUgOC41IDAuMjVaTTEuNzUgOC41QzEuNzUgNC43NzIwOCA0Ljc3MjA4IDEuNzUgOC41IDEuNzVDMTIuMjI3OSAxLjc1IDE1LjI1IDQuNzcyMDggMTUuMjUgOC41QzE1LjI1IDEyLjIyNzkgMTIuMjI3OSAxNS4yNSA4LjUgMTUuMjVDNC43NzIwOCAxNS4yNSAxLjc1IDEyLjIyNzkgMS43NSA4LjVaIiBmaWxsPSIjNjk3Njg3Ii8+Cjwvc3ZnPgo=\") no-repeat left 12px center}.choices[data-type*=select-one] .choices__input::before{content:\"abc\"}.choices[data-type*=select-one] .choices__button{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuNDY5NjcgNi40Njk2N0M2Ljc2MjU2IDYuMTc2NzggNy4yMzc0NCA2LjE3Njc4IDcuNTMwMzMgNi40Njk2N0wxMCA4LjkzOTM0TDEyLjQ2OTcgNi40Njk2N0MxMi43NjI2IDYuMTc2NzggMTMuMjM3NCA2LjE3Njc4IDEzLjUzMDMgNi40Njk2N0MxMy44MjMyIDYuNzYyNTYgMTMuODIzMiA3LjIzNzQ0IDEzLjUzMDMgNy41MzAzM0wxMS4wNjA3IDEwTDEzLjUzMDMgMTIuNDY5N0MxMy44MjMyIDEyLjc2MjYgMTMuODIzMiAxMy4yMzc0IDEzLjUzMDMgMTMuNTMwM0MxMy4yMzc0IDEzLjgyMzIgMTIuNzYyNiAxMy44MjMyIDEyLjQ2OTcgMTMuNTMwM0wxMCAxMS4wNjA3TDcuNTMwMzMgMTMuNTMwM0M3LjIzNzQ0IDEzLjgyMzIgNi43NjI1NiAxMy44MjMyIDYuNDY5NjcgMTMuNTMwM0M2LjE3Njc4IDEzLjIzNzQgNi4xNzY3OCAxMi43NjI2IDYuNDY5NjcgMTIuNDY5N0w4LjkzOTM0IDEwTDYuNDY5NjcgNy41MzAzM0M2LjE3Njc4IDcuMjM3NDQgNi4xNzY3OCA2Ljc2MjU2IDYuNDY5NjcgNi40Njk2N1oiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMC4yNUM0LjYxNTIyIDAuMjUgMC4yNSA0LjYxNTIyIDAuMjUgMTBDMC4yNSAxNS4zODQ4IDQuNjE1MjIgMTkuNzUgMTAgMTkuNzVDMTUuMzg0OCAxOS43NSAxOS43NSAxNS4zODQ4IDE5Ljc1IDEwQzE5Ljc1IDQuNjE1MjIgMTUuMzg0OCAwLjI1IDEwIDAuMjVaTTEuNzUgMTBDMS43NSA1LjQ0MzY1IDUuNDQzNjUgMS43NSAxMCAxLjc1QzE0LjU1NjMgMS43NSAxOC4yNSA1LjQ0MzY1IDE4LjI1IDEwQzE4LjI1IDE0LjU1NjMgMTQuNTU2MyAxOC4yNSAxMCAxOC4yNUM1LjQ0MzY1IDE4LjI1IDEuNzUgMTQuNTU2MyAxLjc1IDEwWiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg==\");padding:0;background-size:20px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:35px;height:20px;width:20px}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px rgba(105, 118, 135, 0.1)}.choices[data-type*=select-one] .choices__item[data-value=\"\"] .choices__button{display:none}.choices[data-type*=select-one] .choices__item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.choices[data-type*=select-one][dir=rtl]::after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:35px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text;display:flex;flex-flow:row wrap;align-items:center;padding:4px 60px 4px 4px;gap:4px}.choices[data-type*=select-multiple] .choices__item cat-checkbox,.choices[data-type*=text] .choices__item cat-checkbox{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.choices[data-type*=select-multiple] .choices__item cat-checkbox::part(label),.choices[data-type*=text] .choices__item cat-checkbox::part(label){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.choices[data-type*=select-multiple] .choices__input,.choices[data-type*=text] .choices__input{min-width:1ch;width:1ch}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;padding-left:24px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMCAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuMjc1MzIgMC4zOTEzNzFDMS4wMzEyNCAwLjE0NzI5NCAwLjYzNTUxIDAuMTQ3Mjk0IDAuMzkxNDMyIDAuMzkxMzcxQzAuMTQ3MzU1IDAuNjM1NDQ5IDAuMTQ3MzU1IDEuMDMxMTggMC4zOTE0MzIgMS4yNzUyNUw0LjExNjE2IDQuOTk5OThMMC4zOTE0MzIgOC43MjQ3QzAuMTQ3MzU1IDguOTY4NzggMC4xNDczNTUgOS4zNjQ1MSAwLjM5MTQzMiA5LjYwODU5QzAuNjM1NTEgOS44NTI2NyAxLjAzMTI0IDkuODUyNjcgMS4yNzUzMiA5LjYwODU5TDUuMDAwMDQgNS44ODM4Nkw4LjcyNDc3IDkuNjA4NTlDOC45Njg4NCA5Ljg1MjY3IDkuMzY0NTcgOS44NTI2NyA5LjYwODY1IDkuNjA4NTlDOS44NTI3MyA5LjM2NDUxIDkuODUyNzMgOC45Njg3OCA5LjYwODY1IDguNzI0N0w1Ljg4MzkyIDQuOTk5OThMOS42MDg2NSAxLjI3NTI1QzkuODUyNzMgMS4wMzExOCA5Ljg1MjczIDAuNjM1NDQ5IDkuNjA4NjUgMC4zOTEzNzFDOS4zNjQ1NyAwLjE0NzI5NCA4Ljk2ODg0IDAuMTQ3Mjk0IDguNzI0NzcgMC4zOTEzNzFMNS4wMDAwNCA0LjExNjFMMS4yNzUzMiAwLjM5MTM3MVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=\");background-size:10px;width:10px;line-height:1;opacity:0.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=text] .choices__button:hover,.choices[data-type*=text] .choices__button:focus{opacity:1}.choices[data-type*=select-multiple] cat-button,.choices[data-type*=text] cat-button{position:absolute;top:50%;right:0;margin-top:-20px;margin-right:25px}.choices[data-type*=select-multiple] cat-button::part(button),.choices[data-type*=text] cat-button::part(button){box-shadow:unset;background-color:transparent}.choices[data-type*=select-multiple][dir=rtl] .choices__inner,.choices[data-type*=text][dir=rtl] .choices__inner{padding-right:4px;padding-left:60px}.choices[data-type*=select-multiple][dir=rtl] cat-button,.choices[data-type*=text][dir=rtl] cat-button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-one]::after,.choices[data-type*=select-multiple]::after{content:\"\";width:12px;height:6.5px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEyIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMC40Njk2NyAwLjQ2OTY3QzAuNzYyNTYzIDAuMTc2Nzc3IDEuMjM3NDQgMC4xNzY3NzcgMS41MzAzMyAwLjQ2OTY3TDYgNC45MzkzNEwxMC40Njk3IDAuNDY5NjcxQzEwLjc2MjYgMC4xNzY3NzggMTEuMjM3NCAwLjE3Njc3OCAxMS41MzAzIDAuNDY5NjcxQzExLjgyMzIgMC43NjI1NjQgMTEuODIzMiAxLjIzNzQ0IDExLjUzMDMgMS41MzAzM0w2LjUzMDMzIDYuNTMwMzNDNi4yMzc0NCA2LjgyMzIyIDUuNzYyNTYgNi44MjMyMiA1LjQ2OTY3IDYuNTMwMzNMMC40Njk2NyAxLjUzMDMzQzAuMTc2Nzc3IDEuMjM3NDQgMC4xNzY3NzcgMC43NjI1NjMgMC40Njk2NyAwLjQ2OTY3WiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg==\");position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none;transition:transform 0.25s linear}.choices[data-type*=select-one][dir=rtl]::after,.choices[data-type*=select-multiple][dir=rtl]::after{left:11.5px;right:auto}.choices[data-type*=select-one].is-open::after,.choices[data-type*=select-multiple].is-open::after{transform:rotate(180deg);transition:transform 0.25s linear}.choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:#fff;border:1px solid #d7dbe0;border-radius:4px;font-size:15px;min-height:40px;overflow:hidden}.is-open .choices__inner{border-radius:4px 4px 0 0}.is-flipped.is-open .choices__inner{border-radius:0 0 4px 4px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:flex;padding:9px 50px 9px 12px;width:100%}[dir=rtl] .choices__list--single{padding-right:12px;padding-left:50px}.choices__list--single .choices__item{width:100%}.choices__list--multiple{display:contents}.choices__list--multiple .choices__item{font-size:0.9375rem;line-height:1.25rem;font-weight:600;display:inline-flex;align-items:center;justify-content:space-between;border-radius:2px;padding:5px 8px 5px 4px;background-color:rgba(105, 118, 135, 0.1);color:#000;word-break:break-all;box-sizing:border-box}.choices__list--multiple .choices__item[data-deletable]{padding-right:5px}[dir=rtl] .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}.choices__list--multiple .choices__item.is-highlighted{background-color:rgba(94, 105, 121, 0.1)}.is-disabled .choices__list--multiple .choices__item{background-color:#aaaaaa}.choices__list--dropdown,.choices__list[aria-expanded]{visibility:hidden;z-index:1;position:absolute;width:100%;background-color:#fff;border:1px solid #d7dbe0;top:100%;margin-top:-1px;overflow:hidden;word-break:break-all;will-change:visibility;box-shadow:0 2px 4px 0 #101d3033;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.is-active.choices__list--dropdown,.is-active.choices__list[aria-expanded]{visibility:visible}.is-flipped .choices__list--dropdown,.is-flipped .choices__list[aria-expanded]{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:0.25rem 0.25rem 0 0}.choices__list--dropdown .choices__list,.choices__list[aria-expanded] .choices__list{position:relative;max-height:300px;padding:8px 0;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item,.choices__list[aria-expanded] .choices__item{font-size:0.9375rem;line-height:1.25rem;font-weight:500;position:relative;padding:10px;min-height:40px}[dir=rtl] .choices__list--dropdown .choices__item,[dir=rtl] .choices__list[aria-expanded] .choices__item{text-align:right}@media (min-width: 640px){.choices__list--dropdown .choices__item--selectable[data-select-text]:not([data-select-text=\"\"]),.choices__list[aria-expanded] .choices__item--selectable[data-select-text]:not([data-select-text=\"\"]){padding-right:100px}[dir=rtl] .choices__list--dropdown .choices__item--selectable[data-select-text]:not([data-select-text=\"\"]),[dir=rtl] .choices__list[aria-expanded] .choices__item--selectable[data-select-text]:not([data-select-text=\"\"]){padding-right:10px}.choices__list--dropdown .choices__item--selectable::after,.choices__list[aria-expanded] .choices__item--selectable::after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}[dir=rtl] .choices__list--dropdown .choices__item--selectable,[dir=rtl] .choices__list[aria-expanded] .choices__item--selectable{text-align:right;padding-left:100px}[dir=rtl] .choices__list--dropdown .choices__item--selectable::after,[dir=rtl] .choices__list[aria-expanded] .choices__item--selectable::after{right:auto;left:10px}}.choices__list--dropdown .choices__item--selectable.is-highlighted,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted{background-color:rgba(105, 118, 135, 0.05)}.choices__list--dropdown .choices__item--selectable.is-highlighted::after,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted::after{opacity:0.5}.choices__item{cursor:default;border-left:3px solid transparent;transition:0.25s linear}.choices__item--selectable{cursor:pointer}.choices__item--selected{border-color:rgb(var(--cat-primary-bg, 32, 127, 138))}.choices__item--disabled{cursor:not-allowed;user-select:none;opacity:0.5}.choices__heading{font-weight:600;font-size:12px;padding:10px;border-bottom:1px solid #f4f5f6;color:gray}.choices__button{text-indent:-9999px;appearance:none;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus{outline:none}.choices__input{display:inline-block;vertical-align:baseline;background-color:white;font-size:15px;font-family:var(--cat-font-family-body, \"Lato\"), system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";border:0;border-radius:0;max-width:100%;padding:7px 0 4px 2px}.choices__input:focus{outline:0}.choices__input::-webkit-search-decoration,.choices__input::-webkit-search-cancel-button,.choices__input::-webkit-search-results-button,.choices__input::-webkit-search-results-decoration{display:none}.choices__input::-ms-clear,.choices__input::-ms-reveal{display:none;width:0;height:0}[dir=rtl] .choices__input{padding-right:2px;padding-left:0}.choices__placeholder{opacity:0.5}.choices__group{padding:8px 16px;height:34px}.choices__group .choices__heading{font-style:normal;font-weight:700;font-size:14px;line-height:18px;padding:unset;border-bottom:0;color:#697687}.choices__group:not(:first-child){border-top:1px solid #f4f5f6;margin-top:8px}.d-flex{display:flex}.align-items-center{align-items:center}.choices-option-icon{width:20px;aspect-ratio:1;border-radius:0.125rem}";
12076
12509
 
12077
- let nextUniqueId$4 = 0;
12510
+ let nextUniqueId$5 = 0;
12078
12511
  const getOptionTemplate = (data) => {
12079
12512
  var _a;
12080
12513
  if ((_a = data.customProperties) === null || _a === void 0 ? void 0 : _a.imageUrl) {
@@ -12095,7 +12528,7 @@ const CatSelect = class {
12095
12528
  this.catScrolledBottom = index.createEvent(this, "catScrolledBottom", 7);
12096
12529
  this.catBlur = index.createEvent(this, "catBlur", 7);
12097
12530
  this.i18n = catNotification.CatI18nRegistry.getInstance();
12098
- this.id = `cat-select-${nextUniqueId$4++}`;
12531
+ this.id = `cat-select-${nextUniqueId$5++}`;
12099
12532
  this.resetItemsOnNextValueChange = true;
12100
12533
  this.hasSlottedLabel = false;
12101
12534
  /**
@@ -12404,43 +12837,1819 @@ const CatSelect = class {
12404
12837
  };
12405
12838
  CatSelect.style = catSelectCss;
12406
12839
 
12407
- const catSkeletonCss = ":host{display:flex;flex-direction:column;position:relative;--background:#ebecf0;--highlight:#d7dbe0;--speed:2s}:host([variant=square]),:host([variant=circle]){display:inline-flex}:host([hidden]){display:none}:host([variant=head]){margin-bottom:0.5rem}:host([variant=body]){margin-bottom:1rem}.skeleton{display:block;border-radius:0.25rem;background:var(--background)}.skeleton-circle{border-radius:10rem}.skeleton-xs.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 1.5rem)}.skeleton-xs.skeleton-square,.skeleton-xs.skeleton-circle{width:var(--width, 1.5rem);height:var(--height, 1.5rem)}.skeleton-xs.skeleton-head,.skeleton-xs.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-xs.skeleton-head{height:calc(0.9375rem - 4px);margin:calc((1.25rem - 0.9375rem + 4px) * 0.5) 0}.skeleton-xs.skeleton-body{height:calc(0.75rem - 4px);margin:calc((1rem - 0.75rem + 4px) * 0.5) 0}.skeleton-s.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 2rem)}.skeleton-s.skeleton-square,.skeleton-s.skeleton-circle{width:var(--width, 2rem);height:var(--height, 2rem)}.skeleton-s.skeleton-head,.skeleton-s.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-s.skeleton-head{height:calc(1.125rem - 4px);margin:calc((1.5rem - 1.125rem + 4px) * 0.5) 0}.skeleton-s.skeleton-body{height:calc(0.875rem - 4px);margin:calc((1rem - 0.875rem + 4px) * 0.5) 0}.skeleton-m.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 2.5rem)}.skeleton-m.skeleton-square,.skeleton-m.skeleton-circle{width:var(--width, 2.5rem);height:var(--height, 2.5rem)}.skeleton-m.skeleton-head,.skeleton-m.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-m.skeleton-head{height:calc(1.25rem - 4px);margin:calc((1.5rem - 1.25rem + 4px) * 0.5) 0}.skeleton-m.skeleton-body{height:calc(0.9375rem - 4px);margin:calc((1.25rem - 0.9375rem + 4px) * 0.5) 0}.skeleton-l.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 3rem)}.skeleton-l.skeleton-square,.skeleton-l.skeleton-circle{width:var(--width, 3rem);height:var(--height, 3rem)}.skeleton-l.skeleton-head,.skeleton-l.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-l.skeleton-head{height:calc(1.5rem - 4px);margin:calc((1.75rem - 1.5rem + 4px) * 0.5) 0}.skeleton-l.skeleton-body{height:calc(1.125rem - 4px);margin:calc((1.5rem - 1.125rem + 4px) * 0.5) 0}.skeleton-xl.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 3.5rem)}.skeleton-xl.skeleton-square,.skeleton-xl.skeleton-circle{width:var(--width, 3.5rem);height:var(--height, 3.5rem)}.skeleton-xl.skeleton-head,.skeleton-xl.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-xl.skeleton-head{height:calc(1.75rem - 4px);margin:calc((2rem - 1.75rem + 4px) * 0.5) 0}.skeleton-xl.skeleton-body{height:calc(1.25rem - 4px);margin:calc((1.5rem - 1.25rem + 4px) * 0.5) 0}.skeleton-sheen{background:linear-gradient(90deg, var(--background) 33%, var(--highlight) 50%, var(--background) 66%) var(--background);background-size:300% 100%;animation:sheen var(--speed) ease-in-out infinite}.skeleton-pulse{position:relative;overflow:hidden}.skeleton-pulse::before{content:\"\";display:block;position:absolute;width:100%;height:100%;background-color:var(--highlight);animation:var(--speed) ease-in-out 0.5s infinite normal none running pulse;opacity:0}@keyframes sheen{0%{background-position:right}}@keyframes pulse{50%{opacity:1}}";
12840
+ var GHOST_ELEMENT_ID = '__autosizeInputGhost';
12408
12841
 
12409
- const CatSkeleton = class {
12842
+ var characterEntities = {
12843
+ ' ': 'nbsp',
12844
+ '<': 'lt',
12845
+ '>': 'gt'
12846
+ };
12847
+ function mapSpecialCharacterToCharacterEntity (specialCharacter) {
12848
+ return '&' + characterEntities[specialCharacter] + ';'
12849
+ }
12850
+ function escapeSpecialCharacters (string) {
12851
+ return string.replace(/\s|<|>/g, mapSpecialCharacterToCharacterEntity)
12852
+ }
12853
+
12854
+ // Create `ghostElement`, with inline styles to hide it and ensure that the text is all
12855
+ // on a single line.
12856
+ function createGhostElement () {
12857
+ var ghostElement = document.createElement('div');
12858
+ ghostElement.id = GHOST_ELEMENT_ID;
12859
+ ghostElement.style.cssText =
12860
+ 'display:inline-block;height:0;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:nowrap;';
12861
+ document.body.appendChild(ghostElement);
12862
+ return ghostElement
12863
+ }
12864
+
12865
+ var autosizeInput = function (element, options) {
12866
+ var elementStyle = window.getComputedStyle(element);
12867
+ // prettier-ignore
12868
+ var elementCssText = 'box-sizing:' + elementStyle.boxSizing +
12869
+ ';border-left:' + elementStyle.borderLeftWidth + ' solid red' +
12870
+ ';border-right:' + elementStyle.borderRightWidth + ' solid red' +
12871
+ ';font-family:' + elementStyle.fontFamily +
12872
+ ';font-feature-settings:' + elementStyle.fontFeatureSettings +
12873
+ ';font-kerning:' + elementStyle.fontKerning +
12874
+ ';font-size:' + elementStyle.fontSize +
12875
+ ';font-stretch:' + elementStyle.fontStretch +
12876
+ ';font-style:' + elementStyle.fontStyle +
12877
+ ';font-variant:' + elementStyle.fontVariant +
12878
+ ';font-variant-caps:' + elementStyle.fontVariantCaps +
12879
+ ';font-variant-ligatures:' + elementStyle.fontVariantLigatures +
12880
+ ';font-variant-numeric:' + elementStyle.fontVariantNumeric +
12881
+ ';font-weight:' + elementStyle.fontWeight +
12882
+ ';letter-spacing:' + elementStyle.letterSpacing +
12883
+ ';margin-left:' + elementStyle.marginLeft +
12884
+ ';margin-right:' + elementStyle.marginRight +
12885
+ ';padding-left:' + elementStyle.paddingLeft +
12886
+ ';padding-right:' + elementStyle.paddingRight +
12887
+ ';text-indent:' + elementStyle.textIndent +
12888
+ ';text-transform:' + elementStyle.textTransform;
12889
+
12890
+ // Assigns an appropriate width to the given `element` based on its contents.
12891
+ function setWidth () {
12892
+ var string = element.value || element.getAttribute('placeholder') || '';
12893
+ // Check if the `ghostElement` exists. If no, create it.
12894
+ var ghostElement =
12895
+ document.getElementById(GHOST_ELEMENT_ID) || createGhostElement();
12896
+ // Copy all width-affecting styles to the `ghostElement`.
12897
+ ghostElement.style.cssText += elementCssText;
12898
+ ghostElement.innerHTML = escapeSpecialCharacters(string);
12899
+ // Copy the width of `ghostElement` to `element`.
12900
+ var width = window.getComputedStyle(ghostElement).width;
12901
+ element.style.width = width;
12902
+ return width
12903
+ }
12904
+
12905
+ element.addEventListener('input', setWidth);
12906
+
12907
+ var width = setWidth();
12908
+
12909
+ // Set `min-width` only if `options.minWidth` was set, and only if the initial
12910
+ // width is non-zero.
12911
+ if (options && options.minWidth && width !== '0px') {
12912
+ element.style.minWidth = width;
12913
+ }
12914
+
12915
+ // Return a function for unbinding the event listener and removing the `ghostElement`.
12916
+ return function () {
12917
+ element.removeEventListener('input', setWidth);
12918
+ var ghostElement = document.getElementById(GHOST_ELEMENT_ID);
12919
+ if (ghostElement) {
12920
+ ghostElement.parentNode.removeChild(ghostElement);
12921
+ }
12922
+ }
12923
+ };
12924
+
12925
+ const catSelectRemoteCss = ".hint-section{display:flex;gap:0.5rem;flex-direction:column}.hint-section .input-hint,.hint-section ::slotted([slot=hint]){font-size:0.875rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);margin:0}:host{display:flex;flex-direction:column;gap:0.5rem;position:relative}:host([hidden]){display:none}label{align-self:flex-start}label.hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;font-weight:var(--cat-font-weight-body, 400);color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.select-wrapper{display:flex;align-items:flex-start;background:white;border-radius:0.25rem;box-shadow:0 0 0 1px #d7dbe0;transition:box-shadow 0.13s linear;padding:4px}.select-wrapper:not(.select-disabled):hover{box-shadow:0 0 0 2px #d7dbe0}.select-wrapper:not(.select-disabled):focus-within{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}.select-disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.select-wrapper-inner{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.select-input{font:inherit;background:none;border:none;outline:none;padding:6px 8px;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:4px;padding:4px 8px;background:#ebecf0;border-radius:0.125rem;white-space:nowrap;min-width:0}.pill>span{overflow:hidden;text-overflow:ellipsis}.pill>cat-button{margin-right:-4px}.select-btn{transition:transform 0.13s linear}.select-btn::part(button){outline:none}cat-spinner{padding:6px}.select-btn-open{transform:rotate(180deg)}.select-dropdown{position:absolute;right:0;background:white;display:none;overflow:auto;box-shadow:0 1px 4px 0 rgba(16, 29, 48, 0.2);border-radius: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-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(105, 118, 135, 0.05)}.select-option-active{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:-2px}.select-option-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}.select-option-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
12926
+
12927
+ const INIT_STATE = {
12928
+ term: '',
12929
+ isOpen: false,
12930
+ isLoading: false,
12931
+ isResolving: false,
12932
+ options: [],
12933
+ selection: [],
12934
+ activeOptionIndex: -1,
12935
+ activeSelectionIndex: -1
12936
+ };
12937
+ let nextUniqueId$4 = 0;
12938
+ const CatSelectRemote = class {
12410
12939
  constructor(hostRef) {
12411
12940
  index.registerInstance(this, hostRef);
12941
+ this.catOpen = index.createEvent(this, "catOpen", 7);
12942
+ this.catClose = index.createEvent(this, "catClose", 7);
12943
+ this.catChange = index.createEvent(this, "catChange", 7);
12944
+ this.i18n = catNotification.CatI18nRegistry.getInstance();
12945
+ this.id = `cat-input-${nextUniqueId$4++}`;
12946
+ this.term$ = new Subject();
12947
+ this.more$ = new Subject();
12948
+ this.state = INIT_STATE;
12949
+ this.hasSlottedLabel = false;
12412
12950
  /**
12413
- * The animation style of the skeleton.
12951
+ * Enable multiple selection.
12414
12952
  */
12415
- this.effect = 'sheen';
12953
+ this.multiple = false;
12416
12954
  /**
12417
- * The rendering style of the skeleton.
12955
+ * The debounce time for the search.
12418
12956
  */
12419
- this.variant = 'rectangle';
12957
+ this.debounce = 250;
12420
12958
  /**
12421
- * The size of the skeleton. If the variant is set to "head", the size values
12422
- * "xs" to "xl" translate to the head levels `h1` to `h5`.
12959
+ * The placement of the select.
12423
12960
  */
12424
- this.size = 'm';
12961
+ this.placement = 'bottom-start';
12962
+ /**
12963
+ * Whether the select is disabled.
12964
+ */
12965
+ this.disabled = false;
12966
+ /**
12967
+ * The label for the select.
12968
+ */
12969
+ this.label = '';
12970
+ /**
12971
+ * The name of the form control. Submitted with the form as part of a name/value pair.
12972
+ */
12973
+ this.name = '';
12974
+ /**
12975
+ * Visually hide the label, but still show it to assistive technologies like screen readers.
12976
+ */
12977
+ this.labelHidden = false;
12978
+ /**
12979
+ * A value is required or must be check for the form to be submittable.
12980
+ */
12981
+ this.required = false;
12982
+ /**
12983
+ * Whether the select should show a clear button.
12984
+ */
12985
+ this.clearable = false;
12425
12986
  }
12426
- render() {
12427
- return (index.h(index.Host, null, Array.from(Array(this.count)).map(() => (index.h("div", { style: this.style, class: {
12428
- skeleton: true,
12429
- [`skeleton-${this.effect}`]: Boolean(this.effect),
12430
- [`skeleton-${this.variant}`]: Boolean(this.variant),
12431
- [`skeleton-${this.size}`]: Boolean(this.size)
12432
- } })))));
12987
+ onConnectorChange(connector) {
12988
+ this.reset(connector);
12989
+ this.resolve();
12433
12990
  }
12434
- get count() {
12435
- switch (this.variant) {
12436
- case 'head':
12437
- return Math.max(1, this.lines || 1);
12438
- case 'body':
12439
- return Math.max(1, this.lines || 3);
12440
- default:
12441
- return 1;
12991
+ onStateChange(newState, oldState) {
12992
+ var _a;
12993
+ const changed = (key) => newState[key] !== oldState[key];
12994
+ if (changed('activeOptionIndex')) {
12995
+ if (this.state.activeOptionIndex >= 0) {
12996
+ const option = (_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.querySelector(`#select-${this.id}-option-${this.state.activeOptionIndex}`);
12997
+ option === null || option === void 0 ? void 0 : option.scrollIntoView({ block: 'nearest' });
12998
+ }
12442
12999
  }
12443
- }
13000
+ if (changed('selection')) {
13001
+ if (!this.multiple && this.state.selection.length) {
13002
+ this.hide();
13003
+ }
13004
+ const idsSelected = this.state.selection.map(item => item.item.id);
13005
+ if (this.multiple) {
13006
+ this.value = idsSelected;
13007
+ }
13008
+ else {
13009
+ this.value = idsSelected.length ? idsSelected[0] : '';
13010
+ }
13011
+ this.catChange.emit();
13012
+ }
13013
+ }
13014
+ componentDidLoad() {
13015
+ if (this.input) {
13016
+ autosizeInput(this.input);
13017
+ }
13018
+ if (this.trigger && this.dropdown) {
13019
+ autoUpdate(this.trigger, this.dropdown, () => this.update());
13020
+ }
13021
+ }
13022
+ componentWillRender() {
13023
+ this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
13024
+ if (!this.label && !this.hasSlottedLabel) {
13025
+ catNotification.loglevel.error('[A11y] Missing ARIA label on select', this);
13026
+ }
13027
+ }
13028
+ onBlur() {
13029
+ if (!this.multiple && this.state.activeOptionIndex >= 0) {
13030
+ this.select(this.state.options[this.state.activeOptionIndex]);
13031
+ }
13032
+ this.hide();
13033
+ this.patchState({ activeSelectionIndex: -1 });
13034
+ }
13035
+ onKeyDown(event) {
13036
+ var _a, _b, _c, _d, _e;
13037
+ const isInputFocused = ((_a = this.hostElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) === this.input;
13038
+ if (['ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {
13039
+ this.onArrowKeyDown(event);
13040
+ }
13041
+ else if (['Enter', ' '].includes(event.key)) {
13042
+ if (isInputFocused && this.state.activeOptionIndex >= 0) {
13043
+ event.preventDefault();
13044
+ if (this.multiple) {
13045
+ this.toggle(this.state.options[this.state.activeOptionIndex]);
13046
+ }
13047
+ else {
13048
+ this.select(this.state.options[this.state.activeOptionIndex]);
13049
+ }
13050
+ }
13051
+ }
13052
+ else if (event.key === 'Escape') {
13053
+ this.hide();
13054
+ }
13055
+ else if (event.key === 'Backspace' || event.key === 'Delete') {
13056
+ (_b = this.input) === null || _b === void 0 ? void 0 : _b.focus();
13057
+ if (!this.multiple || !this.state.term || (((_c = this.input) === null || _c === void 0 ? void 0 : _c.selectionStart) === 0 && event.key === 'Backspace')) {
13058
+ if (this.state.activeSelectionIndex >= 0) {
13059
+ this.deselect(this.state.selection[this.state.activeSelectionIndex].item.id);
13060
+ }
13061
+ else if (this.state.selection.length) {
13062
+ const selectionClone = [...this.state.selection];
13063
+ selectionClone.pop();
13064
+ this.patchState({ selection: selectionClone });
13065
+ }
13066
+ }
13067
+ }
13068
+ else if (event.key === 'Tab') {
13069
+ (_d = this.trigger) === null || _d === void 0 ? void 0 : _d.setAttribute('tabindex', '-1');
13070
+ if (this.multiple) {
13071
+ this.patchState({ activeSelectionIndex: -1, activeOptionIndex: -1 });
13072
+ }
13073
+ else if (this.state.activeOptionIndex >= 0) {
13074
+ this.select(this.state.options[this.state.activeOptionIndex]);
13075
+ }
13076
+ }
13077
+ else if (event.key.length === 1) {
13078
+ (_e = this.input) === null || _e === void 0 ? void 0 : _e.focus();
13079
+ }
13080
+ }
13081
+ onKeyUp(event) {
13082
+ var _a, _b, _c, _d, _e;
13083
+ if (event.key === 'Tab' && !event.shiftKey) {
13084
+ ((_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());
13085
+ if (((_c = this.hostElement.shadowRoot) === null || _c === void 0 ? void 0 : _c.activeElement) === this.input) {
13086
+ this.show();
13087
+ }
13088
+ }
13089
+ else if (event.key === 'Tab' && event.shiftKey) {
13090
+ const clearButton = (_d = this.trigger) === null || _d === void 0 ? void 0 : _d.querySelector(`#select-clear-btn-${this.id}`);
13091
+ if (clearButton) {
13092
+ ((_e = this.hostElement.shadowRoot) === null || _e === void 0 ? void 0 : _e.activeElement) === clearButton && this.show();
13093
+ }
13094
+ else {
13095
+ this.show();
13096
+ }
13097
+ }
13098
+ }
13099
+ async connect(connector) {
13100
+ var _a;
13101
+ this.connector = connector;
13102
+ let number$;
13103
+ (_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
13104
+ this.subscription = this.term$
13105
+ .asObservable()
13106
+ .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 => this.connectorSafe.retrieve(term, number)), tap(page => this.patchState({ isLoading: false, totalElements: page.totalElements })), takeWhile(page => !page.last, true), scan((items, page) => [...items, ...page.content], []))))
13107
+ .subscribe(items => this.patchState({
13108
+ options: items === null || items === void 0 ? void 0 : items.map(item => ({
13109
+ item,
13110
+ render: this.connectorSafe.render(item)
13111
+ }))
13112
+ }));
13113
+ }
13114
+ render() {
13115
+ return (index.h(index.Host, null, (this.hasSlottedLabel || this.label) && (index.h("label", { htmlFor: this.id, class: { hidden: this.labelHidden } }, index.h("span", { part: "label" }, (this.hasSlottedLabel && index.h("slot", { name: "label" })) || this.label, !this.required && (index.h("span", { class: "input-optional", "aria-hidden": "true" }, "(", this.i18n.t('input.optional'), ")"))))), index.h("div", { class: { 'select-wrapper': true, 'select-disabled': this.disabled }, 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, "aria-activedescendant": this.activeDescendant, onClick: e => this.onClick(e) }, index.h("div", { class: "select-wrapper-inner" }, this.multiple && this.state.selection.length ? (index.h("div", { id: `select-pillbox-${this.id}`, role: "listbox", "aria-orientation": "horizontal", class: "select-pills" }, this.state.selection.map((item, i) => (index.h("span", { class: {
13116
+ pill: true,
13117
+ 'select-no-open': true,
13118
+ 'select-option-active': this.state.activeSelectionIndex === i
13119
+ }, role: "option", "aria-selected": "true", id: `select-${this.id}-selection-${i}` }, index.h("span", null, item.render.label), !this.disabled && (index.h("cat-button", { size: "xs", variant: "text", icon: "16-cross", iconOnly: true, a11yLabel: this.i18n.t('select.deselect'), onClick: () => this.deselect(item.item.id), tabIndex: -1 }))))))) : null, index.h("input", { class: "select-input", ref: el => (this.input = el), "aria-controls": this.isPillboxActive() ? `select-pillbox-${this.id}` : `select-listbox-${this.id}`, "aria-activedescendant": this.activeDescendant, onInput: () => this.onInput(), 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.state.selection.length || this.state.term.length) &&
13120
+ !this.disabled &&
13121
+ !this.state.isResolving &&
13122
+ this.clearable ? (index.h("cat-button", { id: `select-clear-btn-${this.id}`, iconOnly: true, icon: "cross-circle-outlined", variant: "text", size: "s", a11yLabel: this.i18n.t('select.clear'), onClick: () => this.clear() })) : null, !this.state.isResolving && (index.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 ? this.i18n.t('select.close') : this.i18n.t('select.open'), "aria-controls": `select-listbox-${this.id}`, "aria-expanded": this.state.isOpen, tabIndex: -1, disabled: this.disabled || this.state.isResolving }))), this.hintSection, 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.state.options.map((item, i) => (index.h("li", { role: "option", class: "select-option", id: `select-${this.id}-option-${i}`, "aria-selected": this.isSelected(item.item.id) ? 'true' : 'false' }, this.multiple ? (index.h("cat-checkbox", { class: { 'select-option-active': this.state.activeOptionIndex === i }, checked: this.isSelected(item.item.id), tabIndex: -1, labelLeft: true, onFocus: () => { var _a; return (_a = this.input) === null || _a === void 0 ? void 0 : _a.focus(); }, onCatChange: e => {
13123
+ this.toggle(item);
13124
+ e.stopPropagation();
13125
+ } }, index.h("span", { slot: "label", class: "select-option" }, index.h("span", { class: "select-option-label" }, item.render.label), index.h("span", { class: "select-option-description" }, item.render.description)))) : (index.h("div", { class: {
13126
+ 'select-option-single': true,
13127
+ 'select-option-active': this.state.activeOptionIndex === i
13128
+ }, onFocus: () => { var _a; return (_a = this.input) === null || _a === void 0 ? void 0 : _a.focus(); }, onClick: () => this.select(item), tabIndex: -1 }, index.h("span", { class: "select-option-label" }, item.render.label), index.h("span", { class: "select-option-description" }, item.render.description)))))), this.state.isLoading
13129
+ ? Array.from(Array(CatSelectRemote.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 }))))
13130
+ : !this.state.options.length && index.h("li", { class: "select-option-empty" }, this.i18n.t('select.empty'))))))));
13131
+ }
13132
+ get hintSection() {
13133
+ const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
13134
+ return ((this.hint || hasSlottedHint) && (index.h(CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
13135
+ }
13136
+ get connectorSafe() {
13137
+ if (this.connector) {
13138
+ return this.connector;
13139
+ }
13140
+ throw new Error('CatSelectRemoteConnector not set');
13141
+ }
13142
+ resolve() {
13143
+ var _a;
13144
+ this.patchState({ isResolving: true });
13145
+ let ids;
13146
+ if (this.multiple) {
13147
+ ids = this.value;
13148
+ }
13149
+ else {
13150
+ ids = [this.value];
13151
+ }
13152
+ const data$ = ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) ? this.connectorSafe.resolve(ids).pipe(first()) : of([]);
13153
+ data$.pipe(catchError(() => of([]))).subscribe(items => this.patchState({
13154
+ isResolving: false,
13155
+ selection: items === null || items === void 0 ? void 0 : items.map(item => ({ item, render: this.connectorSafe.render(item) })),
13156
+ term: !this.multiple && items.length ? this.connectorSafe.render(items[0]).label : ''
13157
+ }));
13158
+ }
13159
+ show() {
13160
+ var _a;
13161
+ if (!this.state.isOpen) {
13162
+ this.patchState({ isOpen: true });
13163
+ this.catOpen.emit();
13164
+ this.term$.next(this.state.term);
13165
+ (_a = this.input) === null || _a === void 0 ? void 0 : _a.classList.remove('select-input-transparent-caret');
13166
+ }
13167
+ }
13168
+ hide() {
13169
+ if (this.state.isOpen) {
13170
+ this.patchState({ isOpen: false, activeOptionIndex: -1 });
13171
+ this.catClose.emit();
13172
+ }
13173
+ }
13174
+ search(term) {
13175
+ this.patchState({ term, activeOptionIndex: -1, activeSelectionIndex: -1 });
13176
+ this.term$.next(term);
13177
+ }
13178
+ isSelected(id) {
13179
+ return this.state.selection.findIndex(s => s.item.id === id) >= 0;
13180
+ }
13181
+ select(item) {
13182
+ var _a;
13183
+ if (!this.isSelected(item.item.id)) {
13184
+ let newSelection;
13185
+ if (this.multiple) {
13186
+ newSelection = [...this.state.selection, item];
13187
+ }
13188
+ else {
13189
+ newSelection = [item];
13190
+ this.search(item.render.label);
13191
+ }
13192
+ this.patchState({ selection: newSelection });
13193
+ }
13194
+ if (!this.multiple) {
13195
+ this.hide();
13196
+ (_a = this.input) === null || _a === void 0 ? void 0 : _a.classList.add('select-input-transparent-caret');
13197
+ }
13198
+ }
13199
+ deselect(id) {
13200
+ if (this.isSelected(id)) {
13201
+ this.patchState({
13202
+ selection: this.state.selection.filter(item => item.item.id !== id),
13203
+ activeSelectionIndex: -1
13204
+ });
13205
+ }
13206
+ }
13207
+ toggle(item) {
13208
+ this.isSelected(item.item.id) ? this.deselect(item.item.id) : this.select(item);
13209
+ }
13210
+ clear() {
13211
+ if (this.input && this.state.term) {
13212
+ this.patchState({ selection: [], options: [], term: '', activeOptionIndex: -1 });
13213
+ this.term$.next('');
13214
+ this.input.value = '';
13215
+ }
13216
+ else {
13217
+ this.patchState({ selection: [] });
13218
+ }
13219
+ }
13220
+ reset(connector) {
13221
+ var _a;
13222
+ this.connector = connector !== null && connector !== void 0 ? connector : this.connector;
13223
+ (_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
13224
+ this.subscription = undefined;
13225
+ this.state = INIT_STATE;
13226
+ }
13227
+ onClick(event) {
13228
+ var _a, _b;
13229
+ const elem = event.target;
13230
+ (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.setAttribute('tabindex', '0');
13231
+ (_b = this.input) === null || _b === void 0 ? void 0 : _b.focus();
13232
+ if (elem === this.trigger ||
13233
+ elem === this.input ||
13234
+ elem.classList.contains('select-btn') ||
13235
+ elem.nodeName === 'SPAN') {
13236
+ this.state.isOpen ? this.hide() : this.show();
13237
+ }
13238
+ }
13239
+ onInput() {
13240
+ var _a;
13241
+ this.search(((_a = this.input) === null || _a === void 0 ? void 0 : _a.value) || '');
13242
+ this.show();
13243
+ }
13244
+ update() {
13245
+ if (this.trigger && this.dropdown) {
13246
+ computePosition(this.trigger, this.dropdown, {
13247
+ placement: this.placement,
13248
+ middleware: [offset(CatSelectRemote.DROPDOWN_OFFSET)]
13249
+ }).then(({ x, y }) => {
13250
+ if (this.dropdown) {
13251
+ Object.assign(this.dropdown.style, {
13252
+ left: `${x}px`,
13253
+ top: `${y}px`
13254
+ });
13255
+ }
13256
+ });
13257
+ }
13258
+ }
13259
+ patchState(update) {
13260
+ this.state = Object.assign(Object.assign({}, this.state), update);
13261
+ }
13262
+ isPillboxActive() {
13263
+ return this.state.activeSelectionIndex >= 0;
13264
+ }
13265
+ get activeDescendant() {
13266
+ let activeDescendant = undefined;
13267
+ if (this.state.activeOptionIndex >= 0) {
13268
+ activeDescendant = `select-${this.id}-option-${this.state.activeOptionIndex}`;
13269
+ }
13270
+ else if (this.state.activeSelectionIndex >= 0) {
13271
+ activeDescendant = `select-${this.id}-selection-${this.state.activeSelectionIndex}`;
13272
+ }
13273
+ return activeDescendant;
13274
+ }
13275
+ onArrowKeyDown(event) {
13276
+ var _a, _b;
13277
+ let preventDefault = false;
13278
+ (_a = this.input) === null || _a === void 0 ? void 0 : _a.focus();
13279
+ if (event.key === 'ArrowDown') {
13280
+ preventDefault = true;
13281
+ this.state.isOpen
13282
+ ? this.patchState({
13283
+ activeOptionIndex: Math.min(this.state.activeOptionIndex + 1, this.state.options.length - 1),
13284
+ activeSelectionIndex: -1
13285
+ })
13286
+ : this.show();
13287
+ }
13288
+ else if (event.key === 'ArrowUp') {
13289
+ preventDefault = true;
13290
+ this.state.activeOptionIndex >= 0
13291
+ ? this.patchState({
13292
+ activeOptionIndex: Math.max(this.state.activeOptionIndex - 1, -1),
13293
+ activeSelectionIndex: -1
13294
+ })
13295
+ : this.hide();
13296
+ }
13297
+ else if (event.key === 'ArrowLeft') {
13298
+ if (((_b = this.input) === null || _b === void 0 ? void 0 : _b.selectionStart) === 0) {
13299
+ preventDefault = true;
13300
+ let index;
13301
+ this.state.activeSelectionIndex > 0
13302
+ ? (index = Math.max(this.state.activeSelectionIndex - 1, -1))
13303
+ : (index = this.state.selection.length - 1);
13304
+ this.patchState({ activeSelectionIndex: index, activeOptionIndex: -1 });
13305
+ }
13306
+ }
13307
+ else if (event.key === 'ArrowRight') {
13308
+ if (this.state.activeSelectionIndex >= 0) {
13309
+ preventDefault = true;
13310
+ let index = -1;
13311
+ if (this.state.activeSelectionIndex < this.state.selection.length - 1) {
13312
+ index = Math.min(this.state.activeSelectionIndex + 1, this.state.selection.length - 1);
13313
+ }
13314
+ else if (!this.state.term) {
13315
+ index = 0;
13316
+ }
13317
+ this.patchState({ activeSelectionIndex: index, activeOptionIndex: -1 });
13318
+ }
13319
+ }
13320
+ if (preventDefault) {
13321
+ event.preventDefault();
13322
+ event.stopPropagation();
13323
+ }
13324
+ }
13325
+ get hostElement() { return index.getElement(this); }
13326
+ static get watchers() { return {
13327
+ "connector": ["onConnectorChange"],
13328
+ "state": ["onStateChange"]
13329
+ }; }
13330
+ };
13331
+ CatSelectRemote.SKELETON_COUNT = 4;
13332
+ CatSelectRemote.DROPDOWN_OFFSET = 4;
13333
+ CatSelectRemote.style = catSelectRemoteCss;
13334
+
13335
+ const CatSelectRemoteTest = class {
13336
+ constructor(hostRef) {
13337
+ index.registerInstance(this, hostRef);
13338
+ }
13339
+ componentDidLoad() {
13340
+ var _a, _b;
13341
+ (_a = this.multipleSelect) === null || _a === void 0 ? void 0 : _a.connect({
13342
+ resolve: (ids) => {
13343
+ console.info(`Resolving data... (${ids.join(', ')})`);
13344
+ return of(ids.map(id => ({
13345
+ id,
13346
+ firstName: 'John',
13347
+ lastName: `Doe (${id})`,
13348
+ desc: 'resolved'
13349
+ }))).pipe(delay(500));
13350
+ },
13351
+ retrieve: (term, page) => {
13352
+ console.info(`Retrieving data... ("${term}", ${page})`);
13353
+ return term === 'no'
13354
+ ? of({ last: true, content: [], totalElements: 0 })
13355
+ : of({
13356
+ last: false,
13357
+ totalElements: 10000,
13358
+ content: Array.from({ length: 10 }, (_, i) => ({
13359
+ id: '' + (i + page * 10),
13360
+ firstName: 'John',
13361
+ lastName: `Doe (${i + page * 10})`,
13362
+ desc: `"${term}": page ${page}`
13363
+ }))
13364
+ }).pipe(delay(500));
13365
+ },
13366
+ render: (user) => ({
13367
+ label: `${user.firstName} ${user.lastName}`,
13368
+ description: user.desc
13369
+ })
13370
+ });
13371
+ (_b = this.singleSelect) === null || _b === void 0 ? void 0 : _b.connect({
13372
+ resolve: (ids) => {
13373
+ console.info(`Resolving data... (${ids.join(', ')})`);
13374
+ return of(ids.map(id => countries.find(value => value.id === id))).pipe(delay(500));
13375
+ },
13376
+ retrieve: (term, page) => {
13377
+ console.info(`Retrieving data... ("${term}", ${page})`);
13378
+ const filter = countries.filter(value => {
13379
+ var _a;
13380
+ return value.country.toLowerCase().indexOf(term.toLowerCase()) === 0 ||
13381
+ ((_a = value.capital) === null || _a === void 0 ? void 0 : _a.toLowerCase().indexOf(term.toLowerCase())) === 0;
13382
+ });
13383
+ const slice = filter.slice(page * 10, page * 10 + 10);
13384
+ return of({
13385
+ last: slice.length < 10,
13386
+ totalElements: filter.length,
13387
+ content: slice
13388
+ }).pipe(delay(500));
13389
+ },
13390
+ render: (country) => ({
13391
+ label: country.country,
13392
+ description: country.capital || 'No capital'
13393
+ })
13394
+ });
13395
+ }
13396
+ render() {
13397
+ return (index.h(index.Host, { style: { display: 'flex', gap: '0.5rem', flexDirection: 'column' } }, index.h("cat-select-remote", { label: "Multiple Select", hint: "This is a hint!", ref: el => (this.multipleSelect = el), value: ['1'], placeholder: "Hello World", onCatChange: e => console.log('Multiple', e), multiple: true, clearable: true }, index.h("span", { slot: "hint" }, "Searching for \"no\" -", '>', " no options are returned!")), index.h("cat-select-remote", { label: "Single Select", hint: "This is a hint!", ref: el => (this.singleSelect = el), value: '1', placeholder: "Search for a country or capital", onCatChange: e => console.log('Single', e), clearable: true })));
13398
+ }
13399
+ };
13400
+ const countries = [
13401
+ {
13402
+ id: '0',
13403
+ country: 'Afghanistan Extra extra large extra large extra large extra large extra large extra large extra large extra large extra large extra large extra large extra large extra large extra large ',
13404
+ capital: 'Kabul'
13405
+ },
13406
+ {
13407
+ id: '1',
13408
+ country: 'Albania',
13409
+ capital: 'Tirana'
13410
+ },
13411
+ {
13412
+ id: '2',
13413
+ country: 'Algeria',
13414
+ capital: 'Alger'
13415
+ },
13416
+ {
13417
+ id: '3',
13418
+ country: 'American Samoa',
13419
+ capital: 'Fagatogo'
13420
+ },
13421
+ {
13422
+ id: '4',
13423
+ country: 'Andorra',
13424
+ capital: 'Andorra la Vella'
13425
+ },
13426
+ {
13427
+ id: '5',
13428
+ country: 'Angola',
13429
+ capital: 'Luanda'
13430
+ },
13431
+ {
13432
+ id: '6',
13433
+ country: 'Anguilla',
13434
+ capital: 'The Valley'
13435
+ },
13436
+ {
13437
+ id: '7',
13438
+ country: 'Antarctica'
13439
+ },
13440
+ {
13441
+ id: '8',
13442
+ country: 'Antigua and Barbuda',
13443
+ capital: "Saint John's"
13444
+ },
13445
+ {
13446
+ id: '9',
13447
+ country: 'Argentina',
13448
+ capital: 'Buenos Aires'
13449
+ },
13450
+ {
13451
+ id: '10',
13452
+ country: 'Armenia',
13453
+ capital: 'Yerevan'
13454
+ },
13455
+ {
13456
+ id: '11',
13457
+ country: 'Aruba',
13458
+ capital: 'Oranjestad'
13459
+ },
13460
+ {
13461
+ id: '12',
13462
+ country: 'Australia',
13463
+ capital: 'Canberra'
13464
+ },
13465
+ {
13466
+ id: '13',
13467
+ country: 'Austria',
13468
+ capital: 'Wien'
13469
+ },
13470
+ {
13471
+ id: '14',
13472
+ country: 'Azerbaijan',
13473
+ capital: 'Baku'
13474
+ },
13475
+ {
13476
+ id: '15',
13477
+ country: 'Bahamas',
13478
+ capital: 'Nassau'
13479
+ },
13480
+ {
13481
+ id: '16',
13482
+ country: 'Bahrain',
13483
+ capital: 'al-Manama'
13484
+ },
13485
+ {
13486
+ id: '17',
13487
+ country: 'Bangladesh',
13488
+ capital: 'Dhaka'
13489
+ },
13490
+ {
13491
+ id: '18',
13492
+ country: 'Barbados',
13493
+ capital: 'Bridgetown'
13494
+ },
13495
+ {
13496
+ id: '19',
13497
+ country: 'Belarus',
13498
+ capital: 'Minsk'
13499
+ },
13500
+ {
13501
+ id: '20',
13502
+ country: 'Belgium',
13503
+ capital: 'Bruxelles [Brussel]'
13504
+ },
13505
+ {
13506
+ id: '21',
13507
+ country: 'Belize',
13508
+ capital: 'Belmopan'
13509
+ },
13510
+ {
13511
+ id: '22',
13512
+ country: 'Benin',
13513
+ capital: 'Porto-Novo'
13514
+ },
13515
+ {
13516
+ id: '23',
13517
+ country: 'Bermuda',
13518
+ capital: 'Hamilton'
13519
+ },
13520
+ {
13521
+ id: '24',
13522
+ country: 'Bhutan',
13523
+ capital: 'Thimphu'
13524
+ },
13525
+ {
13526
+ id: '25',
13527
+ country: 'Bolivia',
13528
+ capital: 'La Paz'
13529
+ },
13530
+ {
13531
+ id: '26',
13532
+ country: 'Bosnia and Herzegovina',
13533
+ capital: 'Sarajevo'
13534
+ },
13535
+ {
13536
+ id: '27',
13537
+ country: 'Botswana',
13538
+ capital: 'Gaborone'
13539
+ },
13540
+ {
13541
+ id: '28',
13542
+ country: 'Bouvet Island'
13543
+ },
13544
+ {
13545
+ id: '29',
13546
+ country: 'Brazil',
13547
+ capital: 'Brasília'
13548
+ },
13549
+ {
13550
+ id: '30',
13551
+ country: 'British Indian Ocean Territory'
13552
+ },
13553
+ {
13554
+ id: '31',
13555
+ country: 'Brunei',
13556
+ capital: 'Bandar Seri Begawan'
13557
+ },
13558
+ {
13559
+ id: '32',
13560
+ country: 'Bulgaria',
13561
+ capital: 'Sofia'
13562
+ },
13563
+ {
13564
+ id: '33',
13565
+ country: 'Burkina Faso',
13566
+ capital: 'Ouagadougou'
13567
+ },
13568
+ {
13569
+ id: '34',
13570
+ country: 'Burundi',
13571
+ capital: 'Bujumbura'
13572
+ },
13573
+ {
13574
+ id: '35',
13575
+ country: 'Cambodia',
13576
+ capital: 'Phnom Penh'
13577
+ },
13578
+ {
13579
+ id: '36',
13580
+ country: 'Cameroon',
13581
+ capital: 'Yaound'
13582
+ },
13583
+ {
13584
+ id: '37',
13585
+ country: 'Canada',
13586
+ capital: 'Ottawa'
13587
+ },
13588
+ {
13589
+ id: '38',
13590
+ country: 'Cape Verde',
13591
+ capital: 'Praia'
13592
+ },
13593
+ {
13594
+ id: '39',
13595
+ country: 'Cayman Islands',
13596
+ capital: 'George Town'
13597
+ },
13598
+ {
13599
+ id: '40',
13600
+ country: 'Central African Republic',
13601
+ capital: 'Bangui'
13602
+ },
13603
+ {
13604
+ id: '41',
13605
+ country: 'Chad',
13606
+ capital: "N'Djam"
13607
+ },
13608
+ {
13609
+ id: '42',
13610
+ country: 'Chile',
13611
+ capital: 'Santiago de Chile'
13612
+ },
13613
+ {
13614
+ id: '43',
13615
+ country: 'China',
13616
+ capital: 'Peking'
13617
+ },
13618
+ {
13619
+ id: '44',
13620
+ country: 'Christmas Island',
13621
+ capital: 'Flying Fish Cove'
13622
+ },
13623
+ {
13624
+ id: '45',
13625
+ country: 'Cocos (Keeling) Islands',
13626
+ capital: 'West Island'
13627
+ },
13628
+ {
13629
+ id: '46',
13630
+ country: 'Colombia',
13631
+ capital: 'Santaf'
13632
+ },
13633
+ {
13634
+ id: '47',
13635
+ country: 'Comoros',
13636
+ capital: 'Moroni'
13637
+ },
13638
+ {
13639
+ id: '48',
13640
+ country: 'Congo',
13641
+ capital: 'Brazzaville'
13642
+ },
13643
+ {
13644
+ id: '49',
13645
+ country: 'Cook Islands',
13646
+ capital: 'Avarua'
13647
+ },
13648
+ {
13649
+ id: '50',
13650
+ country: 'Costa Rica',
13651
+ capital: 'San José'
13652
+ },
13653
+ {
13654
+ id: '51',
13655
+ country: 'Croatia',
13656
+ capital: 'Zagreb'
13657
+ },
13658
+ {
13659
+ id: '52',
13660
+ country: 'Cuba',
13661
+ capital: 'La Habana'
13662
+ },
13663
+ {
13664
+ id: '53',
13665
+ country: 'Cyprus',
13666
+ capital: 'Nicosia'
13667
+ },
13668
+ {
13669
+ id: '54',
13670
+ country: 'Czech Republic',
13671
+ capital: 'Praha'
13672
+ },
13673
+ {
13674
+ id: '55',
13675
+ country: 'Denmark',
13676
+ capital: 'Copenhagen'
13677
+ },
13678
+ {
13679
+ id: '56',
13680
+ country: 'Djibouti',
13681
+ capital: 'Djibouti'
13682
+ },
13683
+ {
13684
+ id: '57',
13685
+ country: 'Dominica',
13686
+ capital: 'Roseau'
13687
+ },
13688
+ {
13689
+ id: '58',
13690
+ country: 'Dominican Republic',
13691
+ capital: 'Santo Domingo de Guzm'
13692
+ },
13693
+ {
13694
+ id: '59',
13695
+ country: 'East Timor',
13696
+ capital: 'Dili'
13697
+ },
13698
+ {
13699
+ id: '60',
13700
+ country: 'Ecuador',
13701
+ capital: 'Quito'
13702
+ },
13703
+ {
13704
+ id: '61',
13705
+ country: 'Egypt',
13706
+ capital: 'Cairo'
13707
+ },
13708
+ {
13709
+ id: '62',
13710
+ country: 'El Salvador',
13711
+ capital: 'San Salvador'
13712
+ },
13713
+ {
13714
+ id: '63',
13715
+ country: 'England',
13716
+ capital: 'London'
13717
+ },
13718
+ {
13719
+ id: '64',
13720
+ country: 'Equatorial Guinea',
13721
+ capital: 'Malabo'
13722
+ },
13723
+ {
13724
+ id: '65',
13725
+ country: 'Eritrea',
13726
+ capital: 'Asmara'
13727
+ },
13728
+ {
13729
+ id: '66',
13730
+ country: 'Estonia',
13731
+ capital: 'Tallinn'
13732
+ },
13733
+ {
13734
+ id: '67',
13735
+ country: 'Ethiopia',
13736
+ capital: 'Addis Abeba'
13737
+ },
13738
+ {
13739
+ id: '68',
13740
+ country: 'Falkland Islands',
13741
+ capital: 'Stanley'
13742
+ },
13743
+ {
13744
+ id: '69',
13745
+ country: 'Faroe Islands',
13746
+ capital: 'Tórshavn'
13747
+ },
13748
+ {
13749
+ id: '70',
13750
+ country: 'Fiji Islands',
13751
+ capital: 'Suva'
13752
+ },
13753
+ {
13754
+ id: '71',
13755
+ country: 'Finland',
13756
+ capital: 'Helsinki [Helsingfors]'
13757
+ },
13758
+ {
13759
+ id: '72',
13760
+ country: 'France',
13761
+ capital: 'Paris'
13762
+ },
13763
+ {
13764
+ id: '73',
13765
+ country: 'French Guiana',
13766
+ capital: 'Cayenne'
13767
+ },
13768
+ {
13769
+ id: '74',
13770
+ country: 'French Polynesia',
13771
+ capital: 'Papeete'
13772
+ },
13773
+ {
13774
+ id: '75',
13775
+ country: 'French Southern territories'
13776
+ },
13777
+ {
13778
+ id: '76',
13779
+ country: 'Gabon',
13780
+ capital: 'Libreville'
13781
+ },
13782
+ {
13783
+ id: '77',
13784
+ country: 'Gambia',
13785
+ capital: 'Banjul'
13786
+ },
13787
+ {
13788
+ id: '78',
13789
+ country: 'Georgia',
13790
+ capital: 'Tbilisi'
13791
+ },
13792
+ {
13793
+ id: '79',
13794
+ country: 'Germany',
13795
+ capital: 'Berlin'
13796
+ },
13797
+ {
13798
+ id: '80',
13799
+ country: 'Ghana',
13800
+ capital: 'Accra'
13801
+ },
13802
+ {
13803
+ id: '81',
13804
+ country: 'Gibraltar',
13805
+ capital: 'Gibraltar'
13806
+ },
13807
+ {
13808
+ id: '82',
13809
+ country: 'Greece',
13810
+ capital: 'Athenai'
13811
+ },
13812
+ {
13813
+ id: '83',
13814
+ country: 'Greenland',
13815
+ capital: 'Nuuk'
13816
+ },
13817
+ {
13818
+ id: '84',
13819
+ country: 'Grenada',
13820
+ capital: "Saint George's"
13821
+ },
13822
+ {
13823
+ id: '85',
13824
+ country: 'Guadeloupe',
13825
+ capital: 'Basse-Terre'
13826
+ },
13827
+ {
13828
+ id: '86',
13829
+ country: 'Guam',
13830
+ capital: 'Aga'
13831
+ },
13832
+ {
13833
+ id: '87',
13834
+ country: 'Guatemala',
13835
+ capital: 'Ciudad de Guatemala'
13836
+ },
13837
+ {
13838
+ id: '88',
13839
+ country: 'Guinea',
13840
+ capital: 'Conakry'
13841
+ },
13842
+ {
13843
+ id: '89',
13844
+ country: 'Guinea-Bissau',
13845
+ capital: 'Bissau'
13846
+ },
13847
+ {
13848
+ id: '90',
13849
+ country: 'Guyana',
13850
+ capital: 'Georgetown'
13851
+ },
13852
+ {
13853
+ id: '91',
13854
+ country: 'Haiti',
13855
+ capital: 'Port-au-Prince'
13856
+ },
13857
+ {
13858
+ id: '92',
13859
+ country: 'Heard Island and McDonald Islands'
13860
+ },
13861
+ {
13862
+ id: '93',
13863
+ country: 'Holy See (Vatican City State)',
13864
+ capital: 'Citt'
13865
+ },
13866
+ {
13867
+ id: '94',
13868
+ country: 'Honduras',
13869
+ capital: 'Tegucigalpa'
13870
+ },
13871
+ {
13872
+ id: '95',
13873
+ country: 'Hong Kong',
13874
+ capital: 'Victoria'
13875
+ },
13876
+ {
13877
+ id: '96',
13878
+ country: 'Hungary',
13879
+ capital: 'Budapest'
13880
+ },
13881
+ {
13882
+ id: '97',
13883
+ country: 'Iceland',
13884
+ capital: 'Reykjavík'
13885
+ },
13886
+ {
13887
+ id: '98',
13888
+ country: 'India',
13889
+ capital: 'New Delhi'
13890
+ },
13891
+ {
13892
+ id: '99',
13893
+ country: 'Indonesia',
13894
+ capital: 'Jakarta'
13895
+ },
13896
+ {
13897
+ id: '100',
13898
+ country: 'Iran',
13899
+ capital: 'Tehran'
13900
+ },
13901
+ {
13902
+ id: '101',
13903
+ country: 'Iraq',
13904
+ capital: 'Baghdad'
13905
+ },
13906
+ {
13907
+ id: '102',
13908
+ country: 'Ireland',
13909
+ capital: 'Dublin'
13910
+ },
13911
+ {
13912
+ id: '103',
13913
+ country: 'Israel',
13914
+ capital: 'Jerusalem'
13915
+ },
13916
+ {
13917
+ id: '104',
13918
+ country: 'Italy',
13919
+ capital: 'Roma'
13920
+ },
13921
+ {
13922
+ id: '105',
13923
+ country: 'Ivory Coast',
13924
+ capital: 'Yamoussoukro'
13925
+ },
13926
+ {
13927
+ id: '106',
13928
+ country: 'Jamaica',
13929
+ capital: 'Kingston'
13930
+ },
13931
+ {
13932
+ id: '107',
13933
+ country: 'Japan',
13934
+ capital: 'Tokyo'
13935
+ },
13936
+ {
13937
+ id: '108',
13938
+ country: 'Jordan',
13939
+ capital: 'Amman'
13940
+ },
13941
+ {
13942
+ id: '109',
13943
+ country: 'Kazakhstan',
13944
+ capital: 'Astana'
13945
+ },
13946
+ {
13947
+ id: '110',
13948
+ country: 'Kenya',
13949
+ capital: 'Nairobi'
13950
+ },
13951
+ {
13952
+ id: '111',
13953
+ country: 'Kiribati',
13954
+ capital: 'Bairiki'
13955
+ },
13956
+ {
13957
+ id: '112',
13958
+ country: 'Kuwait',
13959
+ capital: 'Kuwait'
13960
+ },
13961
+ {
13962
+ id: '113',
13963
+ country: 'Kyrgyzstan',
13964
+ capital: 'Bishkek'
13965
+ },
13966
+ {
13967
+ id: '114',
13968
+ country: 'Laos',
13969
+ capital: 'Vientiane'
13970
+ },
13971
+ {
13972
+ id: '115',
13973
+ country: 'Latvia',
13974
+ capital: 'Riga'
13975
+ },
13976
+ {
13977
+ id: '116',
13978
+ country: 'Lebanon',
13979
+ capital: 'Beirut'
13980
+ },
13981
+ {
13982
+ id: '117',
13983
+ country: 'Lesotho',
13984
+ capital: 'Maseru'
13985
+ },
13986
+ {
13987
+ id: '118',
13988
+ country: 'Liberia',
13989
+ capital: 'Monrovia'
13990
+ },
13991
+ {
13992
+ id: '119',
13993
+ country: 'Libyan Arab Jamahiriya',
13994
+ capital: 'Tripoli'
13995
+ },
13996
+ {
13997
+ id: '120',
13998
+ country: 'Liechtenstein',
13999
+ capital: 'Vaduz'
14000
+ },
14001
+ {
14002
+ id: '121',
14003
+ country: 'Lithuania',
14004
+ capital: 'Vilnius'
14005
+ },
14006
+ {
14007
+ id: '122',
14008
+ country: 'Luxembourg',
14009
+ capital: 'Luxembourg [Luxemburg/L'
14010
+ },
14011
+ {
14012
+ id: '123',
14013
+ country: 'Macao',
14014
+ capital: 'Macao'
14015
+ },
14016
+ {
14017
+ id: '124',
14018
+ country: 'North Macedonia',
14019
+ capital: 'Skopje'
14020
+ },
14021
+ {
14022
+ id: '125',
14023
+ country: 'Madagascar',
14024
+ capital: 'Antananarivo'
14025
+ },
14026
+ {
14027
+ id: '126',
14028
+ country: 'Malawi',
14029
+ capital: 'Lilongwe'
14030
+ },
14031
+ {
14032
+ id: '127',
14033
+ country: 'Malaysia',
14034
+ capital: 'Kuala Lumpur'
14035
+ },
14036
+ {
14037
+ id: '128',
14038
+ country: 'Maldives',
14039
+ capital: 'Male'
14040
+ },
14041
+ {
14042
+ id: '129',
14043
+ country: 'Mali',
14044
+ capital: 'Bamako'
14045
+ },
14046
+ {
14047
+ id: '130',
14048
+ country: 'Malta',
14049
+ capital: 'Valletta'
14050
+ },
14051
+ {
14052
+ id: '131',
14053
+ country: 'Marshall Islands',
14054
+ capital: 'Dalap-Uliga-Darrit'
14055
+ },
14056
+ {
14057
+ id: '132',
14058
+ country: 'Martinique',
14059
+ capital: 'Fort-de-France'
14060
+ },
14061
+ {
14062
+ id: '133',
14063
+ country: 'Mauritania',
14064
+ capital: 'Nouakchott'
14065
+ },
14066
+ {
14067
+ id: '134',
14068
+ country: 'Mauritius',
14069
+ capital: 'Port-Louis'
14070
+ },
14071
+ {
14072
+ id: '135',
14073
+ country: 'Mayotte',
14074
+ capital: 'Mamoutzou'
14075
+ },
14076
+ {
14077
+ id: '136',
14078
+ country: 'Mexico',
14079
+ capital: 'Ciudad de M'
14080
+ },
14081
+ {
14082
+ id: '137',
14083
+ country: 'Micronesia, Federated States of',
14084
+ capital: 'Palikir'
14085
+ },
14086
+ {
14087
+ id: '138',
14088
+ country: 'Moldova',
14089
+ capital: 'Chisinau'
14090
+ },
14091
+ {
14092
+ id: '139',
14093
+ country: 'Monaco',
14094
+ capital: 'Monaco-Ville'
14095
+ },
14096
+ {
14097
+ id: '140',
14098
+ country: 'Mongolia',
14099
+ capital: 'Ulan Bator'
14100
+ },
14101
+ {
14102
+ id: '141',
14103
+ country: 'Montenegro',
14104
+ capital: 'Podgorica'
14105
+ },
14106
+ {
14107
+ id: '142',
14108
+ country: 'Montserrat',
14109
+ capital: 'Plymouth'
14110
+ },
14111
+ {
14112
+ id: '143',
14113
+ country: 'Morocco',
14114
+ capital: 'Rabat'
14115
+ },
14116
+ {
14117
+ id: '144',
14118
+ country: 'Mozambique',
14119
+ capital: 'Maputo'
14120
+ },
14121
+ {
14122
+ id: '145',
14123
+ country: 'Myanmar',
14124
+ capital: 'Rangoon (Yangon)'
14125
+ },
14126
+ {
14127
+ id: '146',
14128
+ country: 'Namibia',
14129
+ capital: 'Windhoek'
14130
+ },
14131
+ {
14132
+ id: '147',
14133
+ country: 'Nauru',
14134
+ capital: 'Yaren'
14135
+ },
14136
+ {
14137
+ id: '148',
14138
+ country: 'Nepal',
14139
+ capital: 'Kathmandu'
14140
+ },
14141
+ {
14142
+ id: '149',
14143
+ country: 'Netherlands',
14144
+ capital: 'Amsterdam'
14145
+ },
14146
+ {
14147
+ id: '150',
14148
+ country: 'Netherlands Antilles',
14149
+ capital: 'Willemstad'
14150
+ },
14151
+ {
14152
+ id: '151',
14153
+ country: 'New Caledonia',
14154
+ capital: 'Noum'
14155
+ },
14156
+ {
14157
+ id: '152',
14158
+ country: 'New Zealand',
14159
+ capital: 'Wellington'
14160
+ },
14161
+ {
14162
+ id: '153',
14163
+ country: 'Nicaragua',
14164
+ capital: 'Managua'
14165
+ },
14166
+ {
14167
+ id: '154',
14168
+ country: 'Niger',
14169
+ capital: 'Niamey'
14170
+ },
14171
+ {
14172
+ id: '155',
14173
+ country: 'Nigeria',
14174
+ capital: 'Abuja'
14175
+ },
14176
+ {
14177
+ id: '156',
14178
+ country: 'Niue',
14179
+ capital: 'Alofi'
14180
+ },
14181
+ {
14182
+ id: '157',
14183
+ country: 'Norfolk Island',
14184
+ capital: 'Kingston'
14185
+ },
14186
+ {
14187
+ id: '158',
14188
+ country: 'North Korea',
14189
+ capital: 'Pyongyang'
14190
+ },
14191
+ {
14192
+ id: '159',
14193
+ country: 'Northern Ireland',
14194
+ capital: 'Belfast'
14195
+ },
14196
+ {
14197
+ id: '160',
14198
+ country: 'Northern Mariana Islands',
14199
+ capital: 'Garapan'
14200
+ },
14201
+ {
14202
+ id: '161',
14203
+ country: 'Norway',
14204
+ capital: 'Oslo'
14205
+ },
14206
+ {
14207
+ id: '162',
14208
+ country: 'Oman',
14209
+ capital: 'Masqat'
14210
+ },
14211
+ {
14212
+ id: '163',
14213
+ country: 'Pakistan',
14214
+ capital: 'Islamabad'
14215
+ },
14216
+ {
14217
+ id: '164',
14218
+ country: 'Palau',
14219
+ capital: 'Koror'
14220
+ },
14221
+ {
14222
+ id: '165',
14223
+ country: 'Palestine',
14224
+ capital: 'Gaza'
14225
+ },
14226
+ {
14227
+ id: '166',
14228
+ country: 'Panama',
14229
+ capital: 'Ciudad de Panamá'
14230
+ },
14231
+ {
14232
+ id: '167',
14233
+ country: 'Papua New Guinea',
14234
+ capital: 'Port Moresby'
14235
+ },
14236
+ {
14237
+ id: '168',
14238
+ country: 'Paraguay',
14239
+ capital: 'Asunción'
14240
+ },
14241
+ {
14242
+ id: '169',
14243
+ country: 'Peru',
14244
+ capital: 'Lima'
14245
+ },
14246
+ {
14247
+ id: '170',
14248
+ country: 'Philippines',
14249
+ capital: 'Manila'
14250
+ },
14251
+ {
14252
+ id: '171',
14253
+ country: 'Pitcairn',
14254
+ capital: 'Adamstown'
14255
+ },
14256
+ {
14257
+ id: '172',
14258
+ country: 'Poland',
14259
+ capital: 'Warszawa'
14260
+ },
14261
+ {
14262
+ id: '173',
14263
+ country: 'Portugal',
14264
+ capital: 'Lisboa'
14265
+ },
14266
+ {
14267
+ id: '174',
14268
+ country: 'Puerto Rico',
14269
+ capital: 'San Juan'
14270
+ },
14271
+ {
14272
+ id: '175',
14273
+ country: 'Qatar',
14274
+ capital: 'Doha'
14275
+ },
14276
+ {
14277
+ id: '176',
14278
+ country: 'Reunion',
14279
+ capital: 'Saint-Denis'
14280
+ },
14281
+ {
14282
+ id: '177',
14283
+ country: 'Romania',
14284
+ capital: 'Bucuresti'
14285
+ },
14286
+ {
14287
+ id: '178',
14288
+ country: 'Russian Federation',
14289
+ capital: 'Moscow'
14290
+ },
14291
+ {
14292
+ id: '179',
14293
+ country: 'Rwanda',
14294
+ capital: 'Kigali'
14295
+ },
14296
+ {
14297
+ id: '180',
14298
+ country: 'Saint Helena',
14299
+ capital: 'Jamestown'
14300
+ },
14301
+ {
14302
+ id: '181',
14303
+ country: 'Saint Kitts and Nevis',
14304
+ capital: 'Basseterre'
14305
+ },
14306
+ {
14307
+ id: '182',
14308
+ country: 'Saint Lucia',
14309
+ capital: 'Castries'
14310
+ },
14311
+ {
14312
+ id: '183',
14313
+ country: 'Saint Pierre and Miquelon',
14314
+ capital: 'Saint-Pierre'
14315
+ },
14316
+ {
14317
+ id: '184',
14318
+ country: 'Saint Vincent and the Grenadines',
14319
+ capital: 'Kingstown'
14320
+ },
14321
+ {
14322
+ id: '185',
14323
+ country: 'Samoa',
14324
+ capital: 'Apia'
14325
+ },
14326
+ {
14327
+ id: '186',
14328
+ country: 'San Marino',
14329
+ capital: 'San Marino'
14330
+ },
14331
+ {
14332
+ id: '187',
14333
+ country: 'Sao Tome and Principe',
14334
+ capital: 'São Tomé'
14335
+ },
14336
+ {
14337
+ id: '188',
14338
+ country: 'Saudi Arabia',
14339
+ capital: 'Riyadh'
14340
+ },
14341
+ {
14342
+ id: '189',
14343
+ country: 'Scotland',
14344
+ capital: 'Edinburgh'
14345
+ },
14346
+ {
14347
+ id: '190',
14348
+ country: 'Senegal',
14349
+ capital: 'Dakar'
14350
+ },
14351
+ {
14352
+ id: '191',
14353
+ country: 'Serbia',
14354
+ capital: 'Belgrade'
14355
+ },
14356
+ {
14357
+ id: '192',
14358
+ country: 'Seychelles',
14359
+ capital: 'Victoria'
14360
+ },
14361
+ {
14362
+ id: '193',
14363
+ country: 'Sierra Leone',
14364
+ capital: 'Freetown'
14365
+ },
14366
+ {
14367
+ id: '194',
14368
+ country: 'Singapore',
14369
+ capital: 'Singapore'
14370
+ },
14371
+ {
14372
+ id: '195',
14373
+ country: 'Slovakia',
14374
+ capital: 'Bratislava'
14375
+ },
14376
+ {
14377
+ id: '196',
14378
+ country: 'Slovenia',
14379
+ capital: 'Ljubljana'
14380
+ },
14381
+ {
14382
+ id: '197',
14383
+ country: 'Solomon Islands',
14384
+ capital: 'Honiara'
14385
+ },
14386
+ {
14387
+ id: '198',
14388
+ country: 'Somalia',
14389
+ capital: 'Mogadishu'
14390
+ },
14391
+ {
14392
+ id: '199',
14393
+ country: 'South Africa',
14394
+ capital: 'Pretoria'
14395
+ },
14396
+ {
14397
+ id: '200',
14398
+ country: 'South Georgia and the South Sandwich Islands'
14399
+ },
14400
+ {
14401
+ id: '201',
14402
+ country: 'South Korea',
14403
+ capital: 'Seoul'
14404
+ },
14405
+ {
14406
+ id: '202',
14407
+ country: 'South Sudan',
14408
+ capital: 'Juba'
14409
+ },
14410
+ {
14411
+ id: '203',
14412
+ country: 'Spain',
14413
+ capital: 'Madrid'
14414
+ },
14415
+ {
14416
+ id: '204',
14417
+ country: 'Sri Lanka',
14418
+ capital: 'Colombo, Sri Jayawardenepura Kotte'
14419
+ },
14420
+ {
14421
+ id: '205',
14422
+ country: 'Sudan',
14423
+ capital: 'Khartum'
14424
+ },
14425
+ {
14426
+ id: '206',
14427
+ country: 'Suriname',
14428
+ capital: 'Paramaribo'
14429
+ },
14430
+ {
14431
+ id: '207',
14432
+ country: 'Svalbard and Jan Mayen',
14433
+ capital: 'Longyearbyen'
14434
+ },
14435
+ {
14436
+ id: '208',
14437
+ country: 'Swaziland',
14438
+ capital: 'Mbabane'
14439
+ },
14440
+ {
14441
+ id: '209',
14442
+ country: 'Sweden',
14443
+ capital: 'Stockholm'
14444
+ },
14445
+ {
14446
+ id: '210',
14447
+ country: 'Switzerland',
14448
+ capital: 'Bern'
14449
+ },
14450
+ {
14451
+ id: '211',
14452
+ country: 'Syria',
14453
+ capital: 'Damascus'
14454
+ },
14455
+ {
14456
+ id: '212',
14457
+ country: 'Tajikistan',
14458
+ capital: 'Dushanbe'
14459
+ },
14460
+ {
14461
+ id: '213',
14462
+ country: 'Tanzania',
14463
+ capital: 'Dodoma'
14464
+ },
14465
+ {
14466
+ id: '214',
14467
+ country: 'Thailand',
14468
+ capital: 'Bangkok'
14469
+ },
14470
+ {
14471
+ id: '215',
14472
+ country: 'The Democratic Republic of Congo',
14473
+ capital: 'Kinshasa'
14474
+ },
14475
+ {
14476
+ id: '216',
14477
+ country: 'Togo',
14478
+ capital: 'Lomé'
14479
+ },
14480
+ {
14481
+ id: '217',
14482
+ country: 'Tokelau',
14483
+ capital: 'Fakaofo'
14484
+ },
14485
+ {
14486
+ id: '218',
14487
+ country: 'Tonga',
14488
+ capital: "Nuku'alofa"
14489
+ },
14490
+ {
14491
+ id: '219',
14492
+ country: 'Trinidad and Tobago',
14493
+ capital: 'Port-of-Spain'
14494
+ },
14495
+ {
14496
+ id: '220',
14497
+ country: 'Tunisia',
14498
+ capital: 'Tunis'
14499
+ },
14500
+ {
14501
+ id: '221',
14502
+ country: 'Turkey',
14503
+ capital: 'Ankara'
14504
+ },
14505
+ {
14506
+ id: '222',
14507
+ country: 'Turkmenistan',
14508
+ capital: 'Ashgabat'
14509
+ },
14510
+ {
14511
+ id: '223',
14512
+ country: 'Turks and Caicos Islands',
14513
+ capital: 'Cockburn Town'
14514
+ },
14515
+ {
14516
+ id: '224',
14517
+ country: 'Tuvalu',
14518
+ capital: 'Funafuti'
14519
+ },
14520
+ {
14521
+ id: '225',
14522
+ country: 'Uganda',
14523
+ capital: 'Kampala'
14524
+ },
14525
+ {
14526
+ id: '226',
14527
+ country: 'Ukraine',
14528
+ capital: 'Kyiv'
14529
+ },
14530
+ {
14531
+ id: '227',
14532
+ country: 'United Arab Emirates',
14533
+ capital: 'Abu Dhabi'
14534
+ },
14535
+ {
14536
+ id: '228',
14537
+ country: 'United Kingdom',
14538
+ capital: 'London'
14539
+ },
14540
+ {
14541
+ id: '229',
14542
+ country: 'United States',
14543
+ capital: 'Washington'
14544
+ },
14545
+ {
14546
+ id: '230',
14547
+ country: 'United States Minor Outlying Islands'
14548
+ },
14549
+ {
14550
+ id: '231',
14551
+ country: 'Uruguay',
14552
+ capital: 'Montevideo'
14553
+ },
14554
+ {
14555
+ id: '232',
14556
+ country: 'Uzbekistan',
14557
+ capital: 'Toskent'
14558
+ },
14559
+ {
14560
+ id: '233',
14561
+ country: 'Vanuatu',
14562
+ capital: 'Port-Vila'
14563
+ },
14564
+ {
14565
+ id: '234',
14566
+ country: 'Venezuela',
14567
+ capital: 'Caracas'
14568
+ },
14569
+ {
14570
+ id: '235',
14571
+ country: 'Vietnam',
14572
+ capital: 'Hanoi'
14573
+ },
14574
+ {
14575
+ id: '236',
14576
+ country: 'Virgin Islands, British',
14577
+ capital: 'Road Town'
14578
+ },
14579
+ {
14580
+ id: '237',
14581
+ country: 'Virgin Islands, U.S.',
14582
+ capital: 'Charlotte Amalie'
14583
+ },
14584
+ {
14585
+ id: '238',
14586
+ country: 'Wales',
14587
+ capital: 'Cardiff'
14588
+ },
14589
+ {
14590
+ id: '239',
14591
+ country: 'Wallis and Futuna',
14592
+ capital: 'Mata-Utu'
14593
+ },
14594
+ {
14595
+ id: '240',
14596
+ country: 'Western Sahara',
14597
+ capital: 'El-Aai'
14598
+ },
14599
+ {
14600
+ id: '241',
14601
+ country: 'Yemen',
14602
+ capital: 'Sanaa'
14603
+ },
14604
+ {
14605
+ id: '242',
14606
+ country: 'Zambia',
14607
+ capital: 'Lusaka'
14608
+ },
14609
+ {
14610
+ id: '243',
14611
+ country: 'Zimbabwe',
14612
+ capital: 'Harare'
14613
+ }
14614
+ ];
14615
+
14616
+ const catSkeletonCss = ":host{display:flex;flex-direction:column;position:relative;--background:#ebecf0;--highlight:#d7dbe0;--speed:2s}:host([variant=square]),:host([variant=circle]){display:inline-flex}:host([hidden]){display:none}:host([variant=head]){margin-bottom:0.5rem}:host([variant=body]){margin-bottom:1rem}.skeleton{display:block;border-radius:0.25rem;background:var(--background)}.skeleton-circle{border-radius:10rem}.skeleton-xs.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 1.5rem)}.skeleton-xs.skeleton-square,.skeleton-xs.skeleton-circle{width:var(--width, 1.5rem);height:var(--height, 1.5rem)}.skeleton-xs.skeleton-head,.skeleton-xs.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-xs.skeleton-head{height:calc(0.9375rem - 4px);margin:calc((1.25rem - 0.9375rem + 4px) * 0.5) 0}.skeleton-xs.skeleton-body{height:calc(0.75rem - 4px);margin:calc((1rem - 0.75rem + 4px) * 0.5) 0}.skeleton-s.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 2rem)}.skeleton-s.skeleton-square,.skeleton-s.skeleton-circle{width:var(--width, 2rem);height:var(--height, 2rem)}.skeleton-s.skeleton-head,.skeleton-s.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-s.skeleton-head{height:calc(1.125rem - 4px);margin:calc((1.5rem - 1.125rem + 4px) * 0.5) 0}.skeleton-s.skeleton-body{height:calc(0.875rem - 4px);margin:calc((1rem - 0.875rem + 4px) * 0.5) 0}.skeleton-m.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 2.5rem)}.skeleton-m.skeleton-square,.skeleton-m.skeleton-circle{width:var(--width, 2.5rem);height:var(--height, 2.5rem)}.skeleton-m.skeleton-head,.skeleton-m.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-m.skeleton-head{height:calc(1.25rem - 4px);margin:calc((1.5rem - 1.25rem + 4px) * 0.5) 0}.skeleton-m.skeleton-body{height:calc(0.9375rem - 4px);margin:calc((1.25rem - 0.9375rem + 4px) * 0.5) 0}.skeleton-l.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 3rem)}.skeleton-l.skeleton-square,.skeleton-l.skeleton-circle{width:var(--width, 3rem);height:var(--height, 3rem)}.skeleton-l.skeleton-head,.skeleton-l.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-l.skeleton-head{height:calc(1.5rem - 4px);margin:calc((1.75rem - 1.5rem + 4px) * 0.5) 0}.skeleton-l.skeleton-body{height:calc(1.125rem - 4px);margin:calc((1.5rem - 1.125rem + 4px) * 0.5) 0}.skeleton-xl.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 3.5rem)}.skeleton-xl.skeleton-square,.skeleton-xl.skeleton-circle{width:var(--width, 3.5rem);height:var(--height, 3.5rem)}.skeleton-xl.skeleton-head,.skeleton-xl.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-xl.skeleton-head{height:calc(1.75rem - 4px);margin:calc((2rem - 1.75rem + 4px) * 0.5) 0}.skeleton-xl.skeleton-body{height:calc(1.25rem - 4px);margin:calc((1.5rem - 1.25rem + 4px) * 0.5) 0}.skeleton-sheen{background:linear-gradient(90deg, var(--background) 33%, var(--highlight) 50%, var(--background) 66%) var(--background);background-size:300% 100%;animation:sheen var(--speed) ease-in-out infinite}.skeleton-pulse{position:relative;overflow:hidden}.skeleton-pulse::before{content:\"\";display:block;position:absolute;width:100%;height:100%;background-color:var(--highlight);animation:var(--speed) ease-in-out 0.5s infinite normal none running pulse;opacity:0}@keyframes sheen{0%{background-position:right}}@keyframes pulse{50%{opacity:1}}";
14617
+
14618
+ const CatSkeleton = class {
14619
+ constructor(hostRef) {
14620
+ index.registerInstance(this, hostRef);
14621
+ /**
14622
+ * The animation style of the skeleton.
14623
+ */
14624
+ this.effect = 'sheen';
14625
+ /**
14626
+ * The rendering style of the skeleton.
14627
+ */
14628
+ this.variant = 'rectangle';
14629
+ /**
14630
+ * The size of the skeleton. If the variant is set to "head", the size values
14631
+ * "xs" to "xl" translate to the head levels `h1` to `h5`.
14632
+ */
14633
+ this.size = 'm';
14634
+ }
14635
+ render() {
14636
+ return (index.h(index.Host, null, Array.from(Array(this.count)).map(() => (index.h("div", { style: this.style, class: {
14637
+ skeleton: true,
14638
+ [`skeleton-${this.effect}`]: Boolean(this.effect),
14639
+ [`skeleton-${this.variant}`]: Boolean(this.variant),
14640
+ [`skeleton-${this.size}`]: Boolean(this.size)
14641
+ } })))));
14642
+ }
14643
+ get count() {
14644
+ switch (this.variant) {
14645
+ case 'head':
14646
+ return Math.max(1, this.lines || 1);
14647
+ case 'body':
14648
+ return Math.max(1, this.lines || 3);
14649
+ default:
14650
+ return 1;
14651
+ }
14652
+ }
12444
14653
  get style() {
12445
14654
  return this.variant === 'head' || this.variant === 'body'
12446
14655
  ? {
@@ -12776,14 +14985,17 @@ const CatToggle = class {
12776
14985
  this.input.focus(options);
12777
14986
  }
12778
14987
  render() {
12779
- 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", { 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.hintSection));
14988
+ 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", { ref: el => (this.input = el), id: this.id, type: "checkbox", name: this.name, value: this.value !== undefined ? String(this.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.hintSection));
12780
14989
  }
12781
14990
  get hintSection() {
12782
14991
  const hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
12783
14992
  return ((this.hint || hasSlottedHint) && (index.h(CatFormHint, { hint: this.hint, slottedHint: hasSlottedHint && index.h("slot", { name: "hint" }) })));
12784
14993
  }
12785
14994
  onInput(event) {
12786
- this.value = this.input.value;
14995
+ this.checked = this.input.checked;
14996
+ if (!this.value || typeof this.value === 'boolean') {
14997
+ this.value = this.checked;
14998
+ }
12787
14999
  this.catChange.emit(event);
12788
15000
  }
12789
15001
  onFocus(event) {
@@ -12938,6 +15150,8 @@ exports.cat_radio = CatRadio;
12938
15150
  exports.cat_radio_group = CatRadioGroup;
12939
15151
  exports.cat_scrollable = CatScrollable;
12940
15152
  exports.cat_select = CatSelect;
15153
+ exports.cat_select_remote = CatSelectRemote;
15154
+ exports.cat_select_remote_test = CatSelectRemoteTest;
12941
15155
  exports.cat_skeleton = CatSkeleton;
12942
15156
  exports.cat_spinner = CatSpinner;
12943
15157
  exports.cat_tab = CatTab;
@@ -12947,4 +15161,4 @@ exports.cat_toast_demo = CatToastDemo;
12947
15161
  exports.cat_toggle = CatToggle;
12948
15162
  exports.cat_tooltip = CatTooltip;
12949
15163
 
12950
- //# sourceMappingURL=cat-alert_22.cjs.entry.js.map
15164
+ //# sourceMappingURL=cat-alert_24.cjs.entry.js.map