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