@nl-design-system-community/clippy-components 1.0.0 → 1.2.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 (61) hide show
  1. package/dist/clippy-button/index.d.ts +25 -0
  2. package/dist/clippy-button/index.d.ts.map +1 -0
  3. package/dist/clippy-button/index.js +9 -0
  4. package/dist/clippy-code/index.d.ts +13 -0
  5. package/dist/clippy-code/index.d.ts.map +1 -0
  6. package/dist/clippy-code/index.js +21 -0
  7. package/dist/clippy-color-combobox/index.d.ts +46 -0
  8. package/dist/clippy-color-combobox/index.d.ts.map +1 -0
  9. package/dist/clippy-color-combobox/index.js +10 -0
  10. package/dist/clippy-color-combobox/lib.d.ts +19 -0
  11. package/dist/clippy-color-combobox/lib.d.ts.map +1 -0
  12. package/dist/clippy-color-combobox/messages/en.d.ts +10 -0
  13. package/dist/clippy-color-combobox/messages/en.d.ts.map +1 -0
  14. package/dist/clippy-color-combobox/messages/nl.d.ts +10 -0
  15. package/dist/clippy-color-combobox/messages/nl.d.ts.map +1 -0
  16. package/dist/clippy-combobox/index.d.ts +17 -23
  17. package/dist/clippy-combobox/index.d.ts.map +1 -0
  18. package/dist/clippy-combobox/index.js +8 -315
  19. package/dist/clippy-font-combobox/external.d.ts +3 -6
  20. package/dist/clippy-font-combobox/external.d.ts.map +1 -0
  21. package/dist/clippy-font-combobox/index.d.ts +9 -3
  22. package/dist/clippy-font-combobox/index.d.ts.map +1 -0
  23. package/dist/clippy-font-combobox/index.js +56 -34
  24. package/dist/clippy-heading/index.d.ts +14 -0
  25. package/dist/clippy-heading/index.d.ts.map +1 -0
  26. package/dist/clippy-heading/index.js +262 -0
  27. package/dist/clippy-html-image/index.d.ts +1 -0
  28. package/dist/clippy-html-image/index.d.ts.map +1 -0
  29. package/dist/clippy-html-image/index.js +11 -8
  30. package/dist/clippy-icon/index.d.ts +26 -0
  31. package/dist/clippy-icon/index.d.ts.map +1 -0
  32. package/dist/clippy-icon/index.js +40 -0
  33. package/dist/clippy-lang-combobox/index.d.ts +43 -0
  34. package/dist/clippy-lang-combobox/index.d.ts.map +1 -0
  35. package/dist/clippy-lang-combobox/index.js +290 -0
  36. package/dist/clippy-lang-combobox/languages.d.ts +202 -0
  37. package/dist/clippy-lang-combobox/languages.d.ts.map +1 -0
  38. package/dist/clippy-modal/index.d.ts +1 -0
  39. package/dist/clippy-modal/index.d.ts.map +1 -0
  40. package/dist/clippy-modal/index.js +85 -69
  41. package/dist/decorators-BGpMqJ7V.js +7 -0
  42. package/dist/en-B-D8DBsf.js +4 -0
  43. package/dist/external-Dtf6f6DP.js +4 -0
  44. package/dist/index-CT1z3SFL.js +106 -0
  45. package/dist/index-CaVpiaBC.js +52 -0
  46. package/dist/index-CmKtM5nD.js +379 -0
  47. package/dist/index-CtreqNZ6.js +3602 -0
  48. package/dist/index-D3FiqptQ.js +65 -0
  49. package/dist/lib/FormElement/index.d.ts +17 -0
  50. package/dist/lib/FormElement/index.d.ts.map +1 -0
  51. package/dist/lib/LocalizationMixin/index.d.ts +29 -0
  52. package/dist/lib/LocalizationMixin/index.d.ts.map +1 -0
  53. package/dist/lib/converters/index.d.ts +6 -0
  54. package/dist/lib/converters/index.d.ts.map +1 -0
  55. package/dist/lib/decorators.d.ts +12 -0
  56. package/dist/lib/decorators.d.ts.map +1 -0
  57. package/dist/nl-CJG2-yS5.js +11 -0
  58. package/package.json +13 -7
  59. package/dist/clippy-font-combobox/google-fonts.json.d.ts +0 -33283
  60. package/dist/external-lwd0iv80.js +0 -8
  61. package/dist/index.d.ts +0 -0
@@ -0,0 +1,25 @@
1
+ import { FormElement } from './../lib/FormElement';
2
+ declare const tag = "clippy-button";
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ [tag]: ClippyButton;
6
+ }
7
+ }
8
+ type Purpose = 'primary' | 'secondary' | 'subtle';
9
+ type Hint = 'positive' | 'negative';
10
+ type ButtonType = 'button' | 'submit' | 'reset';
11
+ type Size = 'small' | 'medium';
12
+ export declare class ClippyButton<T = unknown> extends FormElement<T> {
13
+ 'icon-only': boolean;
14
+ toggle: undefined;
15
+ pressed: boolean;
16
+ busy: boolean;
17
+ hint: Hint | undefined;
18
+ size: Size;
19
+ purpose: Purpose | undefined;
20
+ type: ButtonType;
21
+ static readonly styles: import('lit').CSSResult[];
22
+ render(): import('lit').TemplateResult<1>;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clippy-button/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,QAAA,MAAM,GAAG,kBAAkB,CAAC;AAE5B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;KACrB;CACF;AAED,KAAK,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAClD,KAAK,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC;AACpC,KAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAChD,KAAK,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC;AAG/B,qBACa,YAAY,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC9B,WAAW,UAAS;IACpB,MAAM,YAAa;IACnB,OAAO,UAAS;IAChB,IAAI,UAAS;IAa1C,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IAavB,IAAI,EAAE,IAAI,CAAe;IAazB,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAa7B,IAAI,EAAE,UAAU,CAAY;IAE5B,gBAAyB,MAAM,4BAAwC;IAE9D,MAAM;CAuBhB"}
@@ -0,0 +1,9 @@
1
+ import "../decorators-BGpMqJ7V.js";
2
+ import { C as a } from "../index-CT1z3SFL.js";
3
+ import "lit";
4
+ import "lit/decorators.js";
5
+ import "lit/directives/class-map.js";
6
+ import "../index-D3FiqptQ.js";
7
+ export {
8
+ a as ClippyButton
9
+ };
@@ -0,0 +1,13 @@
1
+ import { LitElement } from 'lit';
2
+ declare const tag = "clippy-code";
3
+ export declare class ClippyCode extends LitElement {
4
+ static readonly styles: import('lit').CSSResult[];
5
+ render(): import('lit').TemplateResult<1>;
6
+ }
7
+ declare global {
8
+ interface HTMLElementTagNameMap {
9
+ [tag]: ClippyCode;
10
+ }
11
+ }
12
+ export {};
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clippy-code/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAElD,QAAA,MAAM,GAAG,gBAAgB,CAAC;AAE1B,qBACa,UAAW,SAAQ,UAAU;IACxC,gBAAyB,MAAM,4BAAwB;IAE9C,MAAM;CAGhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;KACnB;CACF"}
@@ -0,0 +1,21 @@
1
+ import { s as a } from "../decorators-BGpMqJ7V.js";
2
+ import { unsafeCSS as p, LitElement as d, html as i } from "lit";
3
+ const f = ".nl-code{background-color:var(--nl-code-background-color);color:var(--nl-code-color);font-family:var(--nl-code-font-family, monospace),monospace;font-size:var(--nl-code-font-size, inherit);-webkit-hyphens:none;hyphens:none;white-space:pre-wrap}";
4
+ var m = Object.getOwnPropertyDescriptor, v = (r, s, l, t) => {
5
+ for (var e = t > 1 ? void 0 : t ? m(s, l) : s, o = r.length - 1, c; o >= 0; o--)
6
+ (c = r[o]) && (e = c(e) || e);
7
+ return e;
8
+ };
9
+ const h = "clippy-code";
10
+ let n = class extends d {
11
+ render() {
12
+ return i`<code class="nl-code"><slot></slot></code>`;
13
+ }
14
+ };
15
+ n.styles = [p(f)];
16
+ n = v([
17
+ a(h)
18
+ ], n);
19
+ export {
20
+ n as ClippyCode
21
+ };
@@ -0,0 +1,46 @@
1
+ import { default as Color } from 'colorjs.io';
2
+ import { ClippyCombobox } from '../clippy-combobox';
3
+ import { ColorName } from './lib';
4
+ type Option = {
5
+ color: Color;
6
+ label: string;
7
+ names: ColorName[];
8
+ value: string;
9
+ };
10
+ declare const tag = "clippy-color-combobox";
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ [tag]: ClippyColorCombobox;
14
+ }
15
+ }
16
+ declare class C extends ClippyCombobox<Option> {
17
+ }
18
+ declare const ClippyColorCombobox_base: (new (...args: any[]) => {
19
+ get DEFAULT_LANG(): string;
20
+ get lang(): string;
21
+ set lang(value: string);
22
+ }) & typeof C;
23
+ export declare class ClippyColorCombobox extends ClippyColorCombobox_base {
24
+ #private;
25
+ static readonly styles: import('lit').CSSResult[];
26
+ translations: {
27
+ readonly RED: "red";
28
+ readonly ORANGE: "orange";
29
+ readonly YELLOW: "yellow";
30
+ readonly GREEN: "green";
31
+ readonly BLUE: "blue";
32
+ readonly PURPLE: "purple";
33
+ };
34
+ set lang(value: string);
35
+ loadLocalizations(lang: string): Promise<void>;
36
+ readonly filter: (query: string) => (option: Option) => boolean;
37
+ get options(): Option[];
38
+ set options(value: Array<{
39
+ label: Option['label'];
40
+ value: Option['value'];
41
+ }>);
42
+ valueToQuery(value: Option['value']): string;
43
+ renderEntry(option: Option): import('lit').TemplateResult<1>;
44
+ }
45
+ export {};
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clippy-color-combobox/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,YAAY,CAAC;AAI/B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIpD,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,QAAA,MAAM,GAAG,0BAA0B,CAAC;AAEpC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC;KAC5B;CACF;AAGD,cAAM,CAAE,SAAQ,cAAc,CAAC,MAAM,CAAC;CAAG;;;;;;AAEzC,qBACa,mBAAoB,SAAQ,wBAAoB;;IAC3D,gBAAyB,MAAM,4BAAiF;IAChH,YAAY;;;;;;;MAAY;IAGxB,IAAa,IAAI,CAAC,KAAK,EAAE,MAAM,EAI9B;IAEK,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAkBpC,SAAkB,MAAM,GAAI,OAAO,MAAM,MAE/B,QAAQ,MAAM,aAOtB;IAEF,IACa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,IAAa,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,EAapF;IAEQ,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM;IAI5C,WAAW,CAAC,MAAM,EAAE,MAAM;CAWpC"}
@@ -0,0 +1,10 @@
1
+ import { a as b } from "../index-CtreqNZ6.js";
2
+ import "../decorators-BGpMqJ7V.js";
3
+ import "../index-CaVpiaBC.js";
4
+ import "lit";
5
+ import "lit/decorators.js";
6
+ import "lit/directives/style-map.js";
7
+ import "../index-CmKtM5nD.js";
8
+ export {
9
+ b as ClippyColorCombobox
10
+ };
@@ -0,0 +1,19 @@
1
+ export declare const COLOR_NAMES: {
2
+ readonly RED: "red";
3
+ readonly ORANGE: "orange";
4
+ readonly YELLOW: "yellow";
5
+ readonly GREEN: "green";
6
+ readonly BLUE: "blue";
7
+ readonly PURPLE: "purple";
8
+ };
9
+ export type ColorName = keyof typeof COLOR_NAMES;
10
+ export type ColorNameTranslations = {
11
+ [K in ColorName]: string;
12
+ };
13
+ export type ColorLookup = {
14
+ name: keyof typeof COLOR_NAMES;
15
+ hue: (hue: number) => boolean;
16
+ rgb: ([r, g, b]: [number, number, number]) => boolean;
17
+ };
18
+ export declare const namedColors: ColorLookup[];
19
+ //# sourceMappingURL=lib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/clippy-color-combobox/lib.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,WAAW,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAAG;KAAG,CAAC,IAAI,SAAS,GAAG,MAAM;CAAE,CAAC;AAEjE,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,OAAO,WAAW,CAAC;IAC/B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9B,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;CACvD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WAAW,EA+BpC,CAAC"}
@@ -0,0 +1,10 @@
1
+ declare const _default: {
2
+ readonly RED: "red";
3
+ readonly ORANGE: "orange";
4
+ readonly YELLOW: "yellow";
5
+ readonly GREEN: "green";
6
+ readonly BLUE: "blue";
7
+ readonly PURPLE: "purple";
8
+ };
9
+ export default _default;
10
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/clippy-color-combobox/messages/en.ts"],"names":[],"mappings":";;;;;;;;AAEA,wBAA2D"}
@@ -0,0 +1,10 @@
1
+ declare const _default: {
2
+ RED: string;
3
+ ORANGE: string;
4
+ YELLOW: string;
5
+ GREEN: string;
6
+ BLUE: string;
7
+ PURPLE: string;
8
+ };
9
+ export default _default;
10
+ //# sourceMappingURL=nl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nl.d.ts","sourceRoot":"","sources":["../../../src/clippy-color-combobox/messages/nl.ts"],"names":[],"mappings":";;;;;;;;AAGA,wBAOkC"}
@@ -1,7 +1,7 @@
1
- import { LitElement } from 'lit';
1
+ import { FormElement } from '../lib/FormElement';
2
2
  type Option = {
3
3
  label: string;
4
- value: string | Array<string>;
4
+ value: unknown;
5
5
  };
6
6
  type Position = 'block-start' | 'block-end';
7
7
  declare const tag = "clippy-combobox";
@@ -10,51 +10,45 @@ declare global {
10
10
  [tag]: ClippyCombobox;
11
11
  }
12
12
  }
13
- export declare class ClippyCombobox<T extends Option = Option> extends LitElement {
13
+ export declare class ClippyCombobox<T extends Option = Option> extends FormElement<T['value']> {
14
14
  #private;
15
- name: string;
16
- hiddenLabel: string;
17
- disabled: boolean;
18
- readonly: boolean;
19
- private open;
15
+ allowOther: boolean;
16
+ open: boolean;
20
17
  readonly position: Position;
21
- internals_: ElementInternals;
22
- static readonly formAssociated = true;
23
18
  static readonly styles: import('lit').CSSResult[];
24
19
  selectedIndex: number;
25
20
  query: string;
26
21
  get filteredOptions(): T[];
27
- set options(value: T[]);
22
+ set options(options: T[] | string[]);
28
23
  get options(): T[];
29
- set value(value: T['value'] | undefined);
30
- get value(): T["value"] | undefined;
24
+ set value(value: T['value'] | null);
25
+ get value(): T['value'] | null;
31
26
  emit(type: 'blur' | 'change' | 'focus' | 'input'): void;
32
27
  /**
33
28
  * Override this function to customize how options are filtered when typing
34
29
  */
35
- readonly filter: (option: T) => boolean;
30
+ readonly filter: (query: string) => ({ label }: T) => boolean;
36
31
  /**
37
32
  * Override this function to customize an external data source
38
33
  */
39
34
  fetchAdditionalOptions(_query: string): Promise<T[]>;
35
+ getOptionForValue(value: T['value'] | null): T | undefined;
40
36
  /**
41
37
  * Override this function to customize how the user input is resolved to a value.
42
- * This runs on input.
43
38
  */
44
- queryToValue(query: string): T['value'] | undefined;
39
+ queryToValue(query: string): T['value'] | null;
45
40
  /**
46
- * Override this function to customize how a value is converted to a .
41
+ * Override this function to customize how a value is converted to a query.
47
42
  * This runs on setting the value.
48
43
  */
49
- valueToQuery(value: T['value'] | undefined): string;
50
- /**
51
- * Override this function to customize how the value is converted to a form value;
52
- */
53
- valueToFormValue(value?: T['value']): string;
44
+ valueToQuery(value: Option['value']): string | undefined;
54
45
  /**
55
46
  * Override this function to customize the rendering of combobox options and selected value.
56
47
  */
57
- renderEntry(option: Option, _index: number): import('lit').TemplateResult<1>;
48
+ renderEntry({ label }: Option, _index?: number): import('lit').TemplateResult<1>;
49
+ connectedCallback(): void;
50
+ disconnectedCallback(): void;
58
51
  render(): import('lit').TemplateResult<1>;
59
52
  }
60
53
  export {};
54
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clippy-combobox/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,QAAQ,GAAG,aAAa,GAAG,WAAW,CAAC;AAE5C,QAAA,MAAM,GAAG,oBAAoB,CAAC;AAE9B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;KACvB;CACF;AAED,qBACa,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;;IACnC,UAAU,UAAS;IACxB,IAAI,UAAS;IAC7C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAe;IAQtD,gBAAyB,MAAM,4BAM7B;IAEO,aAAa,SAAM;IACnB,KAAK,SAAM;IACpB,IAAa,eAAe,IAAI,CAAC,EAAE,CAUlC;IAED,IACI,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,EAQlC;IAED,IAAI,OAAO,IAAI,CAAC,EAAE,CAEjB;IAED,IACa,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,EAG1C;IAED,IAAa,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAEtC;IAED,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO;IAIhD;;OAEG;IACH,QAAQ,CAAC,MAAM,GACZ,OAAO,MAAM,MACb,WAAW,CAAC,aAEX;IAEJ;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM;IAKrC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,SAAS;IAU1D;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;IAQ9C;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS;IAuIxD;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAIrC,iBAAiB;IAKjB,oBAAoB;IAKpB,MAAM;CAoEhB"}
@@ -1,317 +1,10 @@
1
- import { css as G, unsafeCSS as z, LitElement as B, html as T, nothing as Y } from "lit";
2
- import { property as x, state as W, customElement as D } from "lit/decorators.js";
3
- import { classMap as V } from "lit/directives/class-map.js";
4
- const Q = ".utrecht-combobox{inline-size:100%;max-inline-size:var(--utrecht-textbox-max-inline-size, var(--utrecht-form-control-max-inline-size));position:relative}.utrecht-combobox__popover{border-width:0;padding-block-end:0;padding-block-start:0;padding-inline-end:0;padding-inline-start:0;background-color:canvas;block-size:fit-content;color:canvastext;inline-size:fit-content;inset:0;overflow:auto;position:absolute;z-index:var(--utrecht-combobox-popover-z-index, 1)}.utrecht-combobox__popover--block-end{inset-block-start:100%}.utrecht-combobox__popover--hidden{display:none!important}", K = ".utrecht-listbox{--utrecht-listbox-max-block-size: 300px;background-color:var(--_utrecht-listbox-disabled-background-color, var(--_utrecht-listbox-interactive-background-color, var(--utrecht-listbox-background-color)));border-color:var(--_utrecht-listbox-disabled-border-color, var(--_utrecht-listbox-interactive-border-color, var(--utrecht-listbox-border-color)));border-radius:var(--utrecht-listbox-border-radius);border-style:solid;border-width:var(--utrecht-listbox-border-width);box-sizing:border-box;color:var(--_utrecht-listbox-disabled-color, var(--_utrecht-listbox-interactive-color, var(--utrecht-listbox-color)));cursor:default;display:flex;flex-direction:column;font-weight:var(--utrecht-listbox-font-weight, var(--utrecht-form-control-font-weight, initial));inline-size:var(--utrecht-listbox-inline-size, var(--utrecht-form-control-max-inline-size));max-block-size:var(--utrecht-listbox-max-block-size);max-inline-size:100%;min-block-size:1em;overflow-block:auto;overflow-y:auto;padding-block-end:var(--utrecht-listbox-padding-block-end);padding-block-start:var(--utrecht-listbox-padding-block-start);padding-inline-end:var(--utrecht-listbox-padding-inline-end);padding-inline-start:var(--utrecht-listbox-padding-inline-start);-webkit-user-select:none;user-select:none}@media(forced-colors:active){.utrecht-listbox{--utrecht-listbox-background-color: field;--utrecht-listbox-border-color: fieldtext;--utrecht-listbox-hover-background-color: field;--utrecht-listbox-hover-border-color: fieldtext;--utrecht-listbox-hover-color: fieldtext;--utrecht-listbox-focus-border-color: Highlight;--utrecht-listbox-disabled-border-color: GrayText;--utrecht-listbox-option-background-color: field;--utrecht-listbox-option-color: fieldtext;--utrecht-listbox-option-hover-background-color: Highlight;--utrecht-listbox-option-hover-color: HighlightText;--utrecht-listbox-option-active-background-color: Highlight;--utrecht-listbox-option-active-color: HighlightText;--utrecht-listbox-option-disabled-background-color: field;--utrecht-listbox-option-disabled-color: GrayText;--utrecht-listbox-option-selected-background-color: Highlight;--utrecht-listbox-option-selected-color: HighlightText;--utrecht-listbox-option-selected-hover-background-color: Highlight;--utrecht-listbox-option-selected-hover-color: HighlightText;--utrecht-listbox-option-selected-disabled-background-color: GrayText;--utrecht-listbox-option-selected-disabled-color: field}}.utrecht-listbox--focus{--_utrecht-listbox-interactive-border-color: var(--utrecht-listbox-focus-border-color)}.utrecht-listbox--focus-visible{--_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0) var(--utrecht-focus-inverse-outline-color, transparent);box-shadow:var(--_utrecht-focus-ring-box-shadow);outline-color:var(--utrecht-focus-outline-color, revert);outline-offset:var(--utrecht-focus-outline-offset, revert);outline-style:var(--utrecht-focus-outline-style, revert);outline-width:var(--utrecht-focus-outline-width, revert);z-index:1}.utrecht-listbox__list{margin-block-end:0;margin-block-start:0;margin-inline-end:0;margin-inline-start:0;padding-inline-start:0}.utrecht-listbox__group{margin-block-end:0;margin-block-start:0;margin-inline-end:0;margin-inline-start:0;padding-inline-start:0;margin-block-end:var(--utrecht-listbox-option-group-margin-block-end)}.utrecht-listbox__group-label{color:var(--utrecht-listbox-option-group-label-color);font-size:var(--utrecht-listbox-option-group-label-font-size);font-weight:var(--utrecht-listbox-option-group-label-font-weight);line-height:var(--utrecht-listbox-option-group-label-line-height);margin-inline-start:var(--utrecht-listbox-option-group-label-margin-inline-start)}@media(forced-colors:active){.utrecht-listbox__group-label{background-color:field;color:fieldtext}}.utrecht-listbox__option{list-style:none;--_utrecht-listbox-option-background-color: var( --_utrecht-listbox-option-disabled-background-color, var( --_utrecht-listbox-option-interactive-background-color, var(--_utrecht-listbox-option-state-background-color, var(--utrecht-listbox-option-background-color)) ) );--_utrecht-listbox-option-color: var( --_utrecht-listbox-option-disabled-color, var( --_utrecht-listbox-option-interactive-color, var(--_utrecht-listbox-option-state-color, var(--utrecht-listbox-option-color)) ) );align-items:center;background-color:var(--_utrecht-listbox-option-background-color);box-sizing:border-box;color:var(--_utrecht-listbox-option-color);display:flex;min-block-size:var(--utrecht-listbox-option-min-block-size, var(--utrecht-pointer-target-min-size, 24px));padding-block-end:var(--utrecht-listbox-option-padding-block-end);padding-block-start:var(--utrecht-listbox-option-padding-block-start);padding-inline-end:var(--utrecht-listbox-option-padding-inline-end);padding-inline-start:var(--utrecht-listbox-option-padding-inline-start)}@media(forced-colors:active){.utrecht-listbox__option{forced-color-adjust:none}}.utrecht-listbox__option--hover{--_utrecht-listbox-option-interactive-background-color: var(--utrecht-listbox-option-hover-background-color);--_utrecht-listbox-option-interactive-color: var(--utrecht-listbox-option-hover-color)}.utrecht-listbox__option--focus{--_utrecht-listbox-option-state-background-color: var(--utrecht-listbox-option-focus-background-color);--_utrecht-listbox-option-state-color: var(--utrecht-listbox-option-focus-color)}.utrecht-listbox__option--focus-visible{--_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0) var(--utrecht-focus-inverse-outline-color, transparent);box-shadow:var(--_utrecht-focus-ring-box-shadow);outline-color:var(--utrecht-focus-outline-color, revert);outline-offset:var(--utrecht-focus-outline-offset, revert);outline-style:var(--utrecht-focus-outline-style, revert);outline-width:var(--utrecht-focus-outline-width, revert);z-index:1;--utrecht-focus-outline-offset: calc(var(--utrecht-focus-outline-width) * -1)}.utrecht-listbox__option--active{--_utrecht-listbox-option-state-background-color: var(--utrecht-listbox-option-active-background-color);--_utrecht-listbox-option-state-color: var(--utrecht-listbox-option-active-color);font-weight:var(--utrecht-listbox-option-is-active-font-weight)}.utrecht-listbox__option--selected{--_utrecht-listbox-option-disabled-background-color: var(--utrecht-listbox-option-selected-disabled-background-color);--_utrecht-listbox-option-disabled-color: var(--utrecht-listbox-option-selected-disabled-color);--_utrecht-listbox-option-interactive-background-color: var(--utrecht-listbox-option-selected-hover-background-color);--_utrecht-listbox-option-interactive-color: var(--utrecht-listbox-option-selected-hover-color);--_utrecht-listbox-option-state-background-color: var(--utrecht-listbox-option-selected-background-color);--_utrecht-listbox-option-state-color: var(--utrecht-listbox-option-selected-color)}.utrecht-listbox__option--html-li{list-style:none}.utrecht-listbox__option--html-li:hover{--_utrecht-listbox-option-interactive-background-color: var(--utrecht-listbox-option-hover-background-color);--_utrecht-listbox-option-interactive-color: var(--utrecht-listbox-option-hover-color)}.utrecht-listbox__option--html-li:focus{--_utrecht-listbox-option-state-background-color: var(--utrecht-listbox-option-focus-background-color);--_utrecht-listbox-option-state-color: var(--utrecht-listbox-option-focus-color)}.utrecht-listbox__option--disabled{--utrecht-listbox-option-hover-background-color: var(--utrecht-listbox-option-disabled-background-color);--utrecht-listbox-option-hover-color: var(--utrecht-listbox-option-disabled-color);--_utrecht-listbox-option-interactive-background-color: var(--utrecht-listbox-option-disabled-background-color);--_utrecht-listbox-option-interactive-color: var(--utrecht-listbox-option-disabled-color);cursor:var(--utrecht-action-disabled-cursor, not-allowed)}.utrecht-listbox--disabled{--_utrecht-listbox-option-disabled-background-color: var(--utrecht-listbox-option-disabled-background-color);--_utrecht-listbox-option-disabled-color: var(--utrecht-listbox-option-disabled-color);--_utrecht-listbox-disabled-background-color: var(--utrecht-listbox-disabled-background-color);--_utrecht-listbox-disabled-border-color: var(--utrecht-listbox-disabled-border-color);--_utrecht-listbox-disabled-color: var(--utrecht-listbox-disabled-color);cursor:var(--utrecht-action-disabled-cursor, not-allowed)}.utrecht-listbox--html-div:focus{--_utrecht-listbox-interactive-border-color: var(--utrecht-listbox-focus-border-color)}.utrecht-listbox--html-div:focus-visible{--_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0) var(--utrecht-focus-inverse-outline-color, transparent);box-shadow:var(--_utrecht-focus-ring-box-shadow);outline-color:var(--utrecht-focus-outline-color, revert);outline-offset:var(--utrecht-focus-outline-offset, revert);outline-style:var(--utrecht-focus-outline-style, revert);outline-width:var(--utrecht-focus-outline-width, revert);z-index:1}.utrecht-listbox--forced-colors{--utrecht-listbox-background-color: field;--utrecht-listbox-border-color: fieldtext;--utrecht-listbox-hover-background-color: field;--utrecht-listbox-hover-border-color: fieldtext;--utrecht-listbox-hover-color: fieldtext;--utrecht-listbox-focus-border-color: Highlight;--utrecht-listbox-disabled-border-color: GrayText;--utrecht-listbox-option-background-color: field;--utrecht-listbox-option-color: fieldtext;--utrecht-listbox-option-hover-background-color: Highlight;--utrecht-listbox-option-hover-color: HighlightText;--utrecht-listbox-option-active-background-color: Highlight;--utrecht-listbox-option-active-color: HighlightText;--utrecht-listbox-option-disabled-background-color: field;--utrecht-listbox-option-disabled-color: GrayText;--utrecht-listbox-option-selected-background-color: Highlight;--utrecht-listbox-option-selected-color: HighlightText;--utrecht-listbox-option-selected-hover-background-color: Highlight;--utrecht-listbox-option-selected-hover-color: HighlightText;--utrecht-listbox-option-selected-disabled-background-color: GrayText;--utrecht-listbox-option-selected-disabled-color: field}", R = '.utrecht-textbox{--_utrecht-textbox-value-char: .667em + .334ch;--_utrecht-textbox-max-inline-size: calc( calc(var(--utrecht-textbox-value-max-length) * var(--_utrecht-textbox-value-char)) + var(--utrecht-textbox-padding-inline-end, var(--utrecht-form-control-padding-inline-end, 0)) + var(--utrecht-textbox-padding-inline-start, var(--utrecht-form-control-padding-inline-start, 0)) + var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width, 0)) + var(--utrecht-textbox-autocomplete-ui-size, 44px) );background-color:var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color));block-size:initial;border-width:var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width));border-block-end-width:var(--utrecht-textbox-border-bottom-width, var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width)));border-color:var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color));border-radius:var(--utrecht-textbox-border-radius, var(--utrecht-form-control-border-radius, 0));border-style:solid;box-sizing:border-box;color:var(--utrecht-textbox-color, var(--utrecht-form-control-color));font-family:var(--utrecht-textbox-font-family, var(--utrecht-form-control-font-family));font-size:var(--utrecht-textbox-font-size, var(--utrecht-form-control-font-size, inherit));font-weight:var(--utrecht-textbox-font-weight, var(--utrecht-form-control-font-weight, initial));inline-size:100%;line-height:var(--utrecht-textbox-line-height, var(--utrecht-form-control-line-height, initial));min-block-size:var(--utrecht-pointer-target-min-size, 44px);min-inline-size:var(--utrecht-pointer-target-min-size, 44px);max-inline-size:min(var(--_utrecht-textbox-max-inline-size, 100%),var(--utrecht-textbox-max-inline-size, var(--utrecht-form-control-max-inline-size)));padding-block-end:var(--utrecht-textbox-padding-block-end, var(--utrecht-form-control-padding-block-end, 0));padding-block-start:var(--utrecht-textbox-padding-block-start, var(--utrecht-form-control-padding-block-start, 0));padding-inline-end:var(--utrecht-textbox-padding-inline-end, var(--utrecht-form-control-padding-inline-end, initial));padding-inline-start:var(--utrecht-textbox-padding-inline-start, var(--utrecht-form-control-padding-inline-start, initial))}.utrecht-textbox--invalid{--_utrecht-textbox-border-width: var( --utrecht-textbox-invalid-border-width, var( --utrecht-form-control-invalid-border-width, var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width)) ) );background-color:var(--utrecht-textbox-invalid-background-color, var(--utrecht-form-control-invalid-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));border-width:var(--_utrecht-textbox-border-width);border-block-end-width:var(--utrecht-textbox-invalid-border-bottom-width, var(--utrecht-form-control-invalid-border-bottom-width, var(--utrecht-textbox-border-bottom-width, var(--utrecht-form-control-border-bottom-width, var(--_utrecht-textbox-border-width)))));border-color:var(--utrecht-textbox-invalid-border-color, var(--utrecht-form-control-invalid-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));color:var(--utrecht-textbox-invalid-color, var(--utrecht-form-control-invalid-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))))}.utrecht-textbox--disabled{background-color:var(--utrecht-textbox-disabled-background-color, var(--utrecht-form-control-disabled-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));border-color:var(--utrecht-textbox-disabled-border-color, var(--utrecht-form-control-disabled-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));color:var(--utrecht-textbox-disabled-color, var(--utrecht-form-control-disabled-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));cursor:var(--utrecht-action-disabled-cursor, not-allowed)}.utrecht-textbox--focus{background-color:var(--utrecht-textbox-focus-background-color, var(--utrecht-form-control-focus-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));border-color:var(--utrecht-textbox-focus-border-color, var(--utrecht-form-control-focus-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));color:var(--utrecht-textbox-focus-color, var(--utrecht-form-control-focus-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))))}.utrecht-textbox--focus-visible{--_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0) var(--utrecht-focus-inverse-outline-color, transparent);box-shadow:var(--_utrecht-focus-ring-box-shadow);outline-color:var(--utrecht-focus-outline-color, revert);outline-offset:var(--utrecht-focus-outline-offset, revert);outline-style:var(--utrecht-focus-outline-style, revert);outline-width:var(--utrecht-focus-outline-width, revert);z-index:1}.utrecht-textbox--read-only{background-color:var(--utrecht-textbox-read-only-background-color, var(--utrecht-form-control-read-only-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));border-color:var(--utrecht-textbox-read-only-border-color, var(--utrecht-form-control-read-only-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));color:var(--utrecht-textbox-read-only-color, var(--utrecht-form-control-read-only-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))))}.utrecht-textbox__placeholder{color:var(--utrecht-textbox-placeholder-color, var(--utrecht-form-control-placeholder-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));font-style:var(--utrecht-form-control-placeholder-font-style);opacity:100%}.utrecht-textbox--numeric{-moz-appearance:textfield;font-variant-numeric:lining-nums tabular-nums}.utrecht-textbox--password{font-variant-ligatures:none;font-variant-numeric:slashed-zero}.utrecht-textbox--postal-code-nl-size{--utrecht-textbox-value-max-length: 7}.utrecht-textbox--house-number-size{--utrecht-textbox-value-max-length: 5}.utrecht-textbox--house-letter-size{--utrecht-textbox-value-max-length: 1}.utrecht-textbox--house-addition-size{--utrecht-textbox-value-max-length: 4}.utrecht-textbox--voorvoegsel-size{--utrecht-textbox-value-max-length: 10}.utrecht-textbox--tel-size{--utrecht-textbox-value-max-length: 19}.utrecht-textbox--tel-nl-size{--utrecht-textbox-value-max-length: 13}.utrecht-textbox--iban-size{--utrecht-textbox-value-max-length: 41}.utrecht-textbox--iban-nl-size{--utrecht-textbox-value-max-length: 22}.utrecht-textbox--placeholder-ltr::placeholder,.utrecht-textbox--placeholder-ltr:placeholder-shown{direction:ltr}.utrecht-textbox--placeholder-rtl::placeholder,.utrecht-textbox--placeholder-rtl:placeholder-shown{direction:rtl}.utrecht-textbox--url{font-variant-ligatures:none}.utrecht-textbox--html-input:focus{background-color:var(--utrecht-textbox-focus-background-color, var(--utrecht-form-control-focus-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));border-color:var(--utrecht-textbox-focus-border-color, var(--utrecht-form-control-focus-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));color:var(--utrecht-textbox-focus-color, var(--utrecht-form-control-focus-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))))}.utrecht-textbox--html-input:focus-visible{--_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0) var(--utrecht-focus-inverse-outline-color, transparent);box-shadow:var(--_utrecht-focus-ring-box-shadow);outline-color:var(--utrecht-focus-outline-color, revert);outline-offset:var(--utrecht-focus-outline-offset, revert);outline-style:var(--utrecht-focus-outline-style, revert);outline-width:var(--utrecht-focus-outline-width, revert);z-index:1}.utrecht-textbox--html-input:user-invalid,.utrecht-textbox--html-input[aria-invalid=true]{--_utrecht-textbox-border-width: var( --utrecht-textbox-invalid-border-width, var( --utrecht-form-control-invalid-border-width, var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width)) ) );background-color:var(--utrecht-textbox-invalid-background-color, var(--utrecht-form-control-invalid-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));border-width:var(--_utrecht-textbox-border-width);border-block-end-width:var(--utrecht-textbox-invalid-border-bottom-width, var(--utrecht-form-control-invalid-border-bottom-width, var(--utrecht-textbox-border-bottom-width, var(--utrecht-form-control-border-bottom-width, var(--_utrecht-textbox-border-width)))));border-color:var(--utrecht-textbox-invalid-border-color, var(--utrecht-form-control-invalid-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));color:var(--utrecht-textbox-invalid-color, var(--utrecht-form-control-invalid-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))))}.utrecht-textbox--html-input:read-only{background-color:var(--utrecht-textbox-read-only-background-color, var(--utrecht-form-control-read-only-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));border-color:var(--utrecht-textbox-read-only-border-color, var(--utrecht-form-control-read-only-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));color:var(--utrecht-textbox-read-only-color, var(--utrecht-form-control-read-only-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))))}.utrecht-textbox--html-input:disabled{background-color:var(--utrecht-textbox-disabled-background-color, var(--utrecht-form-control-disabled-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));border-color:var(--utrecht-textbox-disabled-border-color, var(--utrecht-form-control-disabled-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));color:var(--utrecht-textbox-disabled-color, var(--utrecht-form-control-disabled-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));cursor:var(--utrecht-action-disabled-cursor, not-allowed)}.utrecht-textbox--html-input::placeholder{color:var(--utrecht-textbox-placeholder-color, var(--utrecht-form-control-placeholder-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));font-style:var(--utrecht-form-control-placeholder-font-style);opacity:100%}.utrecht-textbox--html-input[type=password i]{font-variant-ligatures:none;font-variant-numeric:slashed-zero}.utrecht-textbox--html-input[type=url i],.utrecht-textbox--html-input[type=email i],.utrecht-textbox--html-input[inputMode=email i],.utrecht-textbox--html-input[inputMode=url i]{font-variant-ligatures:none}.utrecht-textbox--html-input[pattern="\\\\d*"],.utrecht-textbox--html-input[pattern="[0-9]*"],.utrecht-textbox--html-input[type=number i],.utrecht-textbox--html-input[type=tel i],.utrecht-textbox--html-input[inputMode=numeric i],.utrecht-textbox--html-input[inputMode=decimal i],.utrecht-textbox--html-input[inputMode=tel i]{-moz-appearance:textfield;font-variant-numeric:lining-nums tabular-nums}', U = (t, o, r, e) => {
5
- if (r === "length" || r === "prototype" || r === "arguments" || r === "caller")
6
- return;
7
- const c = Object.getOwnPropertyDescriptor(t, r), l = Object.getOwnPropertyDescriptor(o, r);
8
- !J(c, l) && e || Object.defineProperty(t, r, l);
9
- }, J = function(t, o) {
10
- return t === void 0 || t.configurable || t.writable === o.writable && t.enumerable === o.enumerable && t.configurable === o.configurable && (t.writable || t.value === o.value);
11
- }, X = (t, o) => {
12
- const r = Object.getPrototypeOf(o);
13
- r !== Object.getPrototypeOf(t) && Object.setPrototypeOf(t, r);
14
- }, Z = (t, o) => `/* Wrapped ${t}*/
15
- ${o}`, tt = Object.getOwnPropertyDescriptor(Function.prototype, "toString"), ot = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name"), rt = (t, o, r) => {
16
- const e = r === "" ? "" : `with ${r.trim()}() `, c = Z.bind(null, e, o.toString());
17
- Object.defineProperty(c, "name", ot);
18
- const { writable: l, enumerable: d, configurable: g } = tt;
19
- Object.defineProperty(t, "toString", { value: c, writable: l, enumerable: d, configurable: g });
20
- };
21
- function et(t, o, { ignoreNonConfigurable: r = !1 } = {}) {
22
- const { name: e } = t;
23
- for (const c of Reflect.ownKeys(o))
24
- U(t, o, c, r);
25
- return X(t, o), rt(t, o, e), t;
26
- }
27
- const m = 2147483647, ct = /* @__PURE__ */ new WeakMap(), O = /* @__PURE__ */ new WeakMap(), it = /* @__PURE__ */ new WeakMap();
28
- function lt(t, o) {
29
- const r = t.get(o);
30
- if (r) {
31
- if (r.maxAge <= Date.now()) {
32
- t.delete(o);
33
- return;
34
- }
35
- return r;
36
- }
37
- }
38
- function nt(t, { cacheKey: o, cache: r = /* @__PURE__ */ new Map(), maxAge: e } = {}) {
39
- if (e === 0)
40
- return t;
41
- if (typeof e == "number" && Number.isFinite(e)) {
42
- if (e > m)
43
- throw new TypeError(`The \`maxAge\` option cannot exceed ${m}.`);
44
- if (e < 0)
45
- throw new TypeError("The `maxAge` option should not be a negative number.");
46
- }
47
- const c = function(...l) {
48
- const d = o ? o(l) : l[0], g = lt(r, d);
49
- if (g)
50
- return g.data;
51
- const w = t.apply(this, l), s = typeof e == "function" ? e(...l) : e;
52
- if (s !== void 0 && s !== Number.POSITIVE_INFINITY) {
53
- if (!Number.isFinite(s))
54
- throw new TypeError("The `maxAge` function must return a finite number, `0`, or `Infinity`.");
55
- if (s <= 0)
56
- return w;
57
- if (s > m)
58
- throw new TypeError(`The \`maxAge\` function result cannot exceed ${m}.`);
59
- }
60
- if (r.set(d, {
61
- data: w,
62
- maxAge: s === void 0 || s === Number.POSITIVE_INFINITY ? Number.POSITIVE_INFINITY : Date.now() + s
63
- }), s !== void 0 && s !== Number.POSITIVE_INFINITY) {
64
- const y = setTimeout(() => {
65
- r.delete(d), O.get(c)?.delete(y);
66
- }, s);
67
- y.unref?.();
68
- const F = O.get(c) ?? /* @__PURE__ */ new Set();
69
- F.add(y), O.set(c, F);
70
- }
71
- return w;
72
- };
73
- return et(c, t, {
74
- ignoreNonConfigurable: !0
75
- }), ct.set(c, r), it.set(c, o ?? ((l) => l[0])), c;
76
- }
77
- const at = G`
78
- /* stylelint-disable */
79
- .sr-only {
80
- position: absolute;
81
- inline-size: 1px;
82
- block-size: 1px;
83
- padding: 0;
84
- margin: -1px;
85
- overflow: hidden;
86
- clip: rect(0, 0, 0, 0);
87
- white-space: nowrap;
88
- border-width: 0;
89
- }
90
- `;
91
- var ut = Object.defineProperty, st = Object.getOwnPropertyDescriptor, A = (t) => {
92
- throw TypeError(t);
93
- }, u = (t, o, r, e) => {
94
- for (var c = e > 1 ? void 0 : e ? st(o, r) : o, l = t.length - 1, d; l >= 0; l--)
95
- (d = t[l]) && (c = (e ? d(o, r, c) : d(c)) || c);
96
- return e && c && ut(o, r, c), c;
97
- }, q = (t, o, r) => o.has(t) || A("Cannot " + r), i = (t, o, r) => (q(t, o, "read from private field"), r ? r.call(t) : o.get(t)), h = (t, o, r) => o.has(t) ? A("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(t) : o.set(t, r), j = (t, o, r, e) => (q(t, o, "write to private field"), o.set(t, r), r), b = (t, o, r) => (q(t, o, "access private method"), r), p, _, f, I, $, k, S, M, P, E, a, v, H, N, C;
98
- const L = "clippy-combobox";
99
- let n = class extends B {
100
- constructor() {
101
- super(...arguments), h(this, a), this.name = "", this.hiddenLabel = "", this.disabled = !1, this.readonly = !1, this.open = !1, this.position = "block-end", this.internals_ = this.attachInternals(), h(this, p, `${L}-${this.name}`), h(this, _), h(this, f, /* @__PURE__ */ new Map()), this.selectedIndex = -1, this.query = "", this.filter = (t) => `${t.label}`.toLowerCase().includes(this.query.toLowerCase()), h(this, I, nt(async (t) => {
102
- const o = await this.fetchAdditionalOptions(t);
103
- for (const r of o)
104
- i(this, f).set(r.label, r);
105
- })), h(this, $, () => {
106
- this.open = !1, this.emit("blur");
107
- }), h(this, k, () => {
108
- this.emit("change");
109
- }), h(this, S, () => {
110
- this.open = !0, this.emit("focus");
111
- }), h(this, M, (t) => {
112
- const o = t.target;
113
- o instanceof HTMLInputElement && (this.selectedIndex = -1, this.open = !0, this.query = o.value, this.value = this.queryToValue(this.query), this.emit("input"));
114
- }), h(this, P, (t) => {
115
- const o = t.currentTarget;
116
- if (!(o instanceof HTMLElement)) return;
117
- const r = Number(o.dataset.index);
118
- Number.isNaN(r) || b(this, a, H).call(this, r);
119
- }), h(this, E, ({ key: t }) => {
120
- const o = this.selectedIndex, r = this.filteredOptions.length;
121
- switch (t) {
122
- case "ArrowDown":
123
- return b(this, a, v).call(this, o + 1, !0);
124
- case "ArrowUp":
125
- return b(this, a, v).call(this, o - 1, !0);
126
- case "Enter":
127
- return b(this, a, H).call(this, o);
128
- case "Escape":
129
- return b(this, a, v).call(this, -1);
130
- case "Home":
131
- return b(this, a, v).call(this, 0);
132
- case "End":
133
- return b(this, a, v).call(this, r - 1);
134
- default:
135
- return;
136
- }
137
- });
138
- }
139
- get filteredOptions() {
140
- if (this.query.length === 0)
141
- return this.options;
142
- const t = this.options.filter(this.filter);
143
- return t.length === 0 && i(this, I).call(this, this.query), t;
144
- }
145
- set options(t) {
146
- j(this, f, new Map(t.map((o) => [o.label, o])));
147
- }
148
- get options() {
149
- return [...i(this, f).values()];
150
- }
151
- set value(t) {
152
- j(this, _, t), this.query = this.valueToQuery(t), this.internals_.setFormValue(this.valueToFormValue(t));
153
- }
154
- get value() {
155
- return i(this, _);
156
- }
157
- emit(t) {
158
- this.dispatchEvent(new Event(t, { bubbles: !0, composed: !0 }));
159
- }
160
- /**
161
- * Override this function to customize an external data source
162
- */
163
- fetchAdditionalOptions(t) {
164
- const o = [];
165
- return Promise.resolve(o);
166
- }
167
- /**
168
- * Override this function to customize how the user input is resolved to a value.
169
- * This runs on input.
170
- */
171
- queryToValue(t) {
172
- return t;
173
- }
174
- /**
175
- * Override this function to customize how a value is converted to a .
176
- * This runs on setting the value.
177
- */
178
- valueToQuery(t) {
179
- return (t ?? "").toString();
180
- }
181
- /**
182
- * Override this function to customize how the value is converted to a form value;
183
- */
184
- valueToFormValue(t) {
185
- return t ? `${t}` : "";
186
- }
187
- /**
188
- * Override this function to customize the rendering of combobox options and selected value.
189
- */
190
- renderEntry(t, o) {
191
- return T`${t?.label}`;
192
- }
193
- render() {
194
- const t = {
195
- [`utrecht-combobox__popover--${this.position}`]: this.position,
196
- "utrecht-combobox__popover--hidden": !this.open
197
- };
198
- return T`
199
- <div class="utrecht-combobox">
200
- <label for="${i(this, p)}" class="sr-only">${this.hiddenLabel}</label>
201
- <input
202
- id=${i(this, p)}
203
- name=${this.name}
204
- autocomplete="off"
205
- role="combobox"
206
- aria-autocomplete="list"
207
- aria-haspopup="listbox"
208
- aria-controls=${i(this, a, N)}
209
- aria-activedescendant=${b(this, a, C).call(this)}
210
- type="text"
211
- class="utrecht-textbox utrecht-combobox__input"
212
- dir="auto"
213
- .value=${this.query}
214
- @input=${i(this, M)}
215
- @focus=${i(this, S)}
216
- @blur=${i(this, $)}
217
- @change=${i(this, k)}
218
- @keydown=${i(this, E)}
219
- />
220
- <div
221
- id=${i(this, a, N)}
222
- class="utrecht-listbox utrecht-combobox__popover ${V(t)}"
223
- role="listbox"
224
- tabindex="-1"
225
- >
226
- <ul class="utrecht-listbox__list" role="none">
227
- ${this.filteredOptions.map((o, r) => {
228
- const e = r === this.selectedIndex;
229
- return T`<li
230
- class="utrecht-listbox__option utrecht-listbox__option--html-li ${V({
231
- "utrecht-listbox__option--selected": e
232
- })}"
233
- role="option"
234
- id=${b(this, a, C).call(this, r)}
235
- aria-selected=${e}
236
- data-index=${r}
237
- @mousedown=${i(this, P)}
238
- >
239
- ${this.renderEntry(o, r)}
240
- </li>`;
241
- })}
242
- </ul>
243
- </div>
244
- </div>
245
- `;
246
- }
247
- };
248
- p = /* @__PURE__ */ new WeakMap();
249
- _ = /* @__PURE__ */ new WeakMap();
250
- f = /* @__PURE__ */ new WeakMap();
251
- I = /* @__PURE__ */ new WeakMap();
252
- $ = /* @__PURE__ */ new WeakMap();
253
- k = /* @__PURE__ */ new WeakMap();
254
- S = /* @__PURE__ */ new WeakMap();
255
- M = /* @__PURE__ */ new WeakMap();
256
- P = /* @__PURE__ */ new WeakMap();
257
- E = /* @__PURE__ */ new WeakMap();
258
- a = /* @__PURE__ */ new WeakSet();
259
- v = function(t, o = !1) {
260
- this.open = o, this.selectedIndex = t > -1 ? t % this.filteredOptions.length : -1;
261
- };
262
- H = function(t) {
263
- const { label: o, value: r } = this.filteredOptions.at(t) ?? {};
264
- t < 0 || !o || (this.query = o.toString(), this.value !== r && (this.value = r, i(this, k).call(this)), this.open = !1);
265
- };
266
- N = function() {
267
- return `list-${i(this, p)}`;
268
- };
269
- C = function(t = this.selectedIndex) {
270
- return t !== -1 ? `option-${t}-${i(this, p)}` : Y;
271
- };
272
- n.formAssociated = !0;
273
- n.styles = [
274
- at,
275
- z(Q),
276
- z(K),
277
- z(R)
278
- ];
279
- u([
280
- x()
281
- ], n.prototype, "name", 2);
282
- u([
283
- x({ attribute: "hidden-label" })
284
- ], n.prototype, "hiddenLabel", 2);
285
- u([
286
- x({ type: Boolean })
287
- ], n.prototype, "disabled", 2);
288
- u([
289
- x({ type: Boolean })
290
- ], n.prototype, "readonly", 2);
291
- u([
292
- x({ type: Boolean })
293
- ], n.prototype, "open", 2);
294
- u([
295
- x()
296
- ], n.prototype, "position", 2);
297
- u([
298
- W()
299
- ], n.prototype, "selectedIndex", 2);
300
- u([
301
- W()
302
- ], n.prototype, "query", 2);
303
- u([
304
- W()
305
- ], n.prototype, "filteredOptions", 1);
306
- u([
307
- x({ type: Array })
308
- ], n.prototype, "options", 1);
309
- u([
310
- x({ attribute: !1 })
311
- ], n.prototype, "value", 1);
312
- n = u([
313
- D(L)
314
- ], n);
1
+ import "../decorators-BGpMqJ7V.js";
2
+ import { C as x } from "../index-CmKtM5nD.js";
3
+ import "lit";
4
+ import "lit/decorators.js";
5
+ import "lit/directives/class-map.js";
6
+ import "lit/directives/if-defined.js";
7
+ import "../index-D3FiqptQ.js";
315
8
  export {
316
- n as ClippyCombobox
9
+ x as ClippyCombobox
317
10
  };