@gov-design-system-ce/components 4.0.8-rc04 → 4.0.8-rc05

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 (66) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/gov-form-autocomplete.cjs.entry.js +9 -2
  3. package/dist/cjs/gov-form-autocomplete.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gov-icon.cjs.entry.js +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js +51 -1
  7. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js.map +1 -1
  8. package/dist/components/gov-accordion-item.js +1 -1
  9. package/dist/components/gov-attachments-item.js +1 -1
  10. package/dist/components/gov-breadcrumbs.js +1 -1
  11. package/dist/components/gov-button.js +1 -1
  12. package/dist/components/gov-card.js +1 -1
  13. package/dist/components/gov-chip.js +1 -1
  14. package/dist/components/gov-form-autocomplete.js +1 -1
  15. package/dist/components/gov-form-checkbox.js +1 -1
  16. package/dist/components/gov-form-file.js +1 -1
  17. package/dist/components/gov-form-input.js +1 -1
  18. package/dist/components/gov-form-multi-select.js +1 -1
  19. package/dist/components/gov-form-select.js +1 -1
  20. package/dist/components/gov-icon.js +1 -1
  21. package/dist/components/gov-infobar.js +1 -1
  22. package/dist/components/gov-loading.js +1 -1
  23. package/dist/components/gov-modal.js +1 -1
  24. package/dist/components/gov-pagination.js +1 -1
  25. package/dist/components/gov-prompt.js +1 -1
  26. package/dist/components/gov-side-nav-item.js +1 -1
  27. package/dist/components/gov-tabs.js +1 -1
  28. package/dist/components/gov-tag.js +1 -1
  29. package/dist/components/gov-toast.js +1 -1
  30. package/dist/components/gov-tooltip-content.js +1 -1
  31. package/dist/components/gov-wizard-item.js +1 -1
  32. package/dist/components/p-0576bf44.js +2 -0
  33. package/dist/components/p-0576bf44.js.map +1 -0
  34. package/dist/components/{p-ff36425b.js → p-09b12418.js} +2 -2
  35. package/dist/components/{p-64f5f375.js → p-0f5aceff.js} +2 -2
  36. package/dist/components/{p-76f5fa0b.js → p-36d7ce72.js} +2 -2
  37. package/dist/components/{p-4a59fb03.js → p-b5408874.js} +2 -2
  38. package/dist/components/{p-2d34bfae.js → p-d58ed95a.js} +2 -2
  39. package/dist/components/{p-ae0d4f50.js → p-f8a108f1.js} +2 -2
  40. package/dist/core/core.esm.js +1 -1
  41. package/dist/core/core.esm.js.map +1 -1
  42. package/dist/core/{p-d959beaf.entry.js → p-3d980231.entry.js} +2 -2
  43. package/dist/core/p-d2da3db9.entry.js +2 -0
  44. package/dist/core/p-d2da3db9.entry.js.map +1 -0
  45. package/dist/esm/core.js +1 -1
  46. package/dist/esm/gov-form-autocomplete.entry.js +9 -2
  47. package/dist/esm/gov-form-autocomplete.entry.js.map +1 -1
  48. package/dist/esm/gov-icon.entry.js +1 -1
  49. package/dist/esm/loader.js +1 -1
  50. package/dist/hydrate/index.js +51 -43
  51. package/dist/types/components/gov-form/autocomplete/gov-form-autocomplete.d.ts +9 -0
  52. package/dist/types/components.d.ts +18 -2
  53. package/package.json +1 -1
  54. package/dist/components/p-f2037423.js +0 -2
  55. package/dist/components/p-f2037423.js.map +0 -1
  56. package/dist/core/p-927880d6.entry.js +0 -2
  57. package/dist/core/p-927880d6.entry.js.map +0 -1
  58. package/dist/globals.d.ts +0 -2
  59. package/dist/types/types/typings.d.ts +0 -6
  60. /package/dist/components/{p-ff36425b.js.map → p-09b12418.js.map} +0 -0
  61. /package/dist/components/{p-64f5f375.js.map → p-0f5aceff.js.map} +0 -0
  62. /package/dist/components/{p-76f5fa0b.js.map → p-36d7ce72.js.map} +0 -0
  63. /package/dist/components/{p-4a59fb03.js.map → p-b5408874.js.map} +0 -0
  64. /package/dist/components/{p-2d34bfae.js.map → p-d58ed95a.js.map} +0 -0
  65. /package/dist/components/{p-ae0d4f50.js.map → p-f8a108f1.js.map} +0 -0
  66. /package/dist/core/{p-d959beaf.entry.js.map → p-3d980231.entry.js.map} +0 -0
@@ -7250,6 +7250,46 @@ const FormAutocompleteClass = {
7250
7250
  loading: 'gov-form-autocomplete__item--loading',
7251
7251
  };
7252
7252
 
7253
+ const is = (value) => value !== undefined && value !== null;
7254
+ const isObject = (obj) => typeof obj === 'object';
7255
+ const isString = (input) => is(input) && typeof input === 'string';
7256
+
7257
+ const parseJSONString = (value) => {
7258
+ if (isString(value) && value.length) {
7259
+ try {
7260
+ console.log(value);
7261
+ const parsed = JSON.parse(value);
7262
+ if (Array.isArray(parsed) || isObject(parsed)) {
7263
+ return parsed;
7264
+ }
7265
+ }
7266
+ catch (e) {
7267
+ console.log(e);
7268
+ return null;
7269
+ }
7270
+ }
7271
+ return null;
7272
+ };
7273
+
7274
+ const createArrayRange = (from, to) => {
7275
+ if (Number.isInteger(from) && Number.isInteger(to)) {
7276
+ return [...Array(to + 1).keys()].slice(from);
7277
+ }
7278
+ return [];
7279
+ };
7280
+ const propsValueToArray = (value) => {
7281
+ if (Array.isArray(value)) {
7282
+ return value;
7283
+ }
7284
+ else if (isString(value)) {
7285
+ const parsed = parseJSONString(value);
7286
+ if (Array.isArray(parsed)) {
7287
+ return parsed;
7288
+ }
7289
+ }
7290
+ return [];
7291
+ };
7292
+
7253
7293
  const govFormAutocompleteCss = ".gov-form-autocomplete__list{margin:0;padding:0}.gov-form-autocomplete__list>.gov-form-autocomplete__item{margin:0;padding:0;background:none}.gov-form-autocomplete__list>.gov-form-autocomplete__item::before{display:none}.gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-form-autocomplete{position:relative;display:block;width:100%}.gov-form-autocomplete__list{font-weight:var(--gov-text-s-font-weight);font-size:var(--gov-text-s-font-size);line-height:var(--gov-text-s-line-height);letter-spacing:var(--gov-text-s-letter-spacing);position:absolute;top:100%;right:0;left:0;z-index:5;max-height:14.0625rem;margin-top:0.5rem;border:var(--gov-autocomplete-item-hover, 0.0625rem solid var(--gov-color-secondary-500));border-radius:var(--gov-border-radius, 0.1875rem);background:var(--gov-autocomplete-bg, var(--gov-color-neutral-white));overflow-x:hidden;overflow-y:auto;overscroll-behavior:none}.gov-form-autocomplete__list>.gov-form-autocomplete__item{padding:0.75rem 0.5rem;cursor:pointer}.gov-form-autocomplete__item--empty,.gov-form-autocomplete__item--loading{padding:0.75rem 0.5rem;color:var(--gov-autocomplete-item-disable-color, var(--gov-color-secondary-600))}.gov-form-autocomplete__item--empty .gov-icon,.gov-form-autocomplete__item--empty .gov-spin-animation,.gov-form-autocomplete__item--loading .gov-icon,.gov-form-autocomplete__item--loading .gov-spin-animation{width:12px;height:12px}.gov-form-autocomplete__list:empty{display:none}.gov-form-autocomplete__item[aria-selected=\"\"],.gov-form-autocomplete__item[aria-selected=true i],.gov-form-autocomplete__item[aria-selected=\"1\"]{background:var(--gov-autocomplete-item-select, var(--gov-color-secondary-400))}@media not all and (pointer: coarse){.gov-form-autocomplete__item:hover{background:var(--gov-autocomplete-item-hover, var(--gov-color-primary-100))}}";
7254
7294
 
7255
7295
  class GovFormAutocomplete {
@@ -7261,6 +7301,7 @@ class GovFormAutocomplete {
7261
7301
  this.govSelect = createEvent(this, "gov-select", 7);
7262
7302
  this.templateResolver = item => item[this.nameKey];
7263
7303
  this.value = '';
7304
+ this.options = undefined;
7264
7305
  this.identifier = undefined;
7265
7306
  this.variant = undefined;
7266
7307
  this.success = undefined;
@@ -7274,6 +7315,7 @@ class GovFormAutocomplete {
7274
7315
  this.invalid = undefined;
7275
7316
  this.minlength = 3;
7276
7317
  this.maxlength = undefined;
7318
+ this.throttleTime = 200;
7277
7319
  this.messageEmpty = 'Nebyly nalezeny žádné výsledky';
7278
7320
  this.messageLoading = 'Načítám...';
7279
7321
  this.wcagDescribedBy = undefined;
@@ -7291,6 +7333,9 @@ class GovFormAutocomplete {
7291
7333
  validateSize(newValue) {
7292
7334
  validateProp(FormAutocompleteSizes, newValue, FormAutocompleteClass.root);
7293
7335
  }
7336
+ watchOptions(newValue) {
7337
+ this.setOptions(propsValueToArray(newValue)).catch();
7338
+ }
7294
7339
  onArrowUp() {
7295
7340
  if (this.arrowCounter > 0) {
7296
7341
  this.arrowCounter = this.arrowCounter - 1;
@@ -7343,7 +7388,7 @@ class GovFormAutocomplete {
7343
7388
  this.validateSize(this.size);
7344
7389
  }
7345
7390
  render() {
7346
- return (hAsync(Host, { class: FormAutocompleteClass.root, size: this.size, variant: this.variant }, hAsync("gov-form-input", { placeholder: this.placeholder, name: this.name, disabled: this.disabled, readonly: this.readonly, autocomplete: false, size: this.size, variant: this.variant, required: this.required, invalid: this.invalid, success: this.success, role: 'searchbox', value: this.value, minlength: this.minlength, maxlength: this.maxlength, "on-gov-input": throttle(this.onInputHandler.bind(this), 200), "on-gov-keyup": this.onKeyUpHandler.bind(this), "on-gov-keydown": this.onKeyDownHandler.bind(this), "on-gov-focus": this.onFocusHandler.bind(this), "on-gov-blur": this.onBlurHandler.bind(this), wcagAutocomplete: 'list', wcagDescribedBy: this.wcagDescribedBy, wcagLabelledBy: this.wcagLabelledBy, wcagOwns: [this.listBoxId, this.wcagOwns].join(' '), wcagExpanded: this.list.length && this.focused, ref: el => (this.inputRef = el) }, hAsync("slot", { slot: "right-icon", name: "right-icon" })), hAsync("ul", { class: FormAutocompleteClass.list, role: 'listbox', id: this.listBoxId, ref: el => (this.listRef = el) }, this.focused && this.list.length === 0 && this.processing === false && this.isValueAccepted && this.messageEmpty ? (hAsync("li", { class: FormAutocompleteClass.empty }, this.messageEmpty)) : null, this.focused && this.processing === true && this.isValueAccepted ? (hAsync("li", { class: FormAutocompleteClass.loading }, hAsync("gov-icon", { name: "loader", class: "gov-spin-animation" }), "\u00A0", this.messageLoading)) : null, this.list.map((item, index) => {
7391
+ return (hAsync(Host, { class: FormAutocompleteClass.root, size: this.size, variant: this.variant }, hAsync("gov-form-input", { placeholder: this.placeholder, name: this.name, disabled: this.disabled, readonly: this.readonly, autocomplete: false, size: this.size, variant: this.variant, required: this.required, invalid: this.invalid, success: this.success, role: 'searchbox', value: this.value, minlength: this.minlength, maxlength: this.maxlength, "on-gov-input": throttle(this.onInputHandler.bind(this), this.throttleTime), "on-gov-keyup": this.onKeyUpHandler.bind(this), "on-gov-keydown": this.onKeyDownHandler.bind(this), "on-gov-focus": this.onFocusHandler.bind(this), "on-gov-blur": this.onBlurHandler.bind(this), wcagAutocomplete: 'list', wcagDescribedBy: this.wcagDescribedBy, wcagLabelledBy: this.wcagLabelledBy, wcagOwns: [this.listBoxId, this.wcagOwns].join(' '), wcagExpanded: this.list.length && this.focused, ref: el => (this.inputRef = el) }, hAsync("slot", { slot: "right-icon", name: "right-icon" })), hAsync("ul", { class: FormAutocompleteClass.list, role: 'listbox', id: this.listBoxId, ref: el => (this.listRef = el) }, this.focused && this.list.length === 0 && this.processing === false && this.isValueAccepted && this.messageEmpty ? (hAsync("li", { class: FormAutocompleteClass.empty }, this.messageEmpty)) : null, this.focused && this.processing === true && this.isValueAccepted ? (hAsync("li", { class: FormAutocompleteClass.loading }, hAsync("gov-icon", { name: "loader", class: "gov-spin-animation" }), "\u00A0", this.messageLoading)) : null, this.list.map((item, index) => {
7347
7392
  const isSelected = this.arrowCounter === index;
7348
7393
  return (hAsync("li", { class: FormAutocompleteClass.item, innerHTML: this.templateResolver(item, isSelected), role: 'option', "aria-posinset": index, tabindex: isSelected ? 0 : -1, "aria-setsize": this.list.length, onTouchStart: (e) => this.onSelectHandler(e, index), onMouseDown: (e) => this.onSelectHandler(e, index), "aria-selected": toBoolAttr(isSelected) }));
7349
7394
  }))));
@@ -7472,7 +7517,8 @@ class GovFormAutocomplete {
7472
7517
  get host() { return getElement(this); }
7473
7518
  static get watchers() { return {
7474
7519
  "variant": ["validateVariant"],
7475
- "size": ["validateSize"]
7520
+ "size": ["validateSize"],
7521
+ "options": ["watchOptions"]
7476
7522
  }; }
7477
7523
  static get style() { return govFormAutocompleteCss; }
7478
7524
  static get cmpMeta() { return {
@@ -7480,6 +7526,7 @@ class GovFormAutocomplete {
7480
7526
  "$tagName$": "gov-form-autocomplete",
7481
7527
  "$members$": {
7482
7528
  "value": [1537],
7529
+ "options": [1537],
7483
7530
  "identifier": [1],
7484
7531
  "variant": [1],
7485
7532
  "success": [4],
@@ -7493,6 +7540,7 @@ class GovFormAutocomplete {
7493
7540
  "invalid": [4],
7494
7541
  "minlength": [2],
7495
7542
  "maxlength": [2],
7543
+ "throttleTime": [2, "throttle-time"],
7496
7544
  "messageEmpty": [1, "message-empty"],
7497
7545
  "messageLoading": [1, "message-loading"],
7498
7546
  "wcagDescribedBy": [1, "wcag-described-by"],
@@ -7511,7 +7559,7 @@ class GovFormAutocomplete {
7511
7559
  },
7512
7560
  "$listeners$": undefined,
7513
7561
  "$lazyBundleId$": "-",
7514
- "$attrsToReflect$": [["value", "value"]]
7562
+ "$attrsToReflect$": [["value", "value"], ["options", "options"]]
7515
7563
  }; }
7516
7564
  }
7517
7565
 
@@ -7821,46 +7869,6 @@ const tick = (callback) => {
7821
7869
  }, 0);
7822
7870
  };
7823
7871
 
7824
- const is = (value) => value !== undefined && value !== null;
7825
- const isObject = (obj) => typeof obj === 'object';
7826
- const isString = (input) => is(input) && typeof input === 'string';
7827
-
7828
- const parseJSONString = (value) => {
7829
- if (isString(value) && value.length) {
7830
- try {
7831
- console.log(value);
7832
- const parsed = JSON.parse(value);
7833
- if (Array.isArray(parsed) || isObject(parsed)) {
7834
- return parsed;
7835
- }
7836
- }
7837
- catch (e) {
7838
- console.log(e);
7839
- return null;
7840
- }
7841
- }
7842
- return null;
7843
- };
7844
-
7845
- const createArrayRange = (from, to) => {
7846
- if (Number.isInteger(from) && Number.isInteger(to)) {
7847
- return [...Array(to + 1).keys()].slice(from);
7848
- }
7849
- return [];
7850
- };
7851
- const propsValueToArray = (value) => {
7852
- if (Array.isArray(value)) {
7853
- return value;
7854
- }
7855
- else if (isString(value)) {
7856
- const parsed = parseJSONString(value);
7857
- if (Array.isArray(parsed)) {
7858
- return parsed;
7859
- }
7860
- }
7861
- return [];
7862
- };
7863
-
7864
7872
  const govFormGroupCss$2 = ".gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}gov-form-group,gov-form-radio-group,gov-form-checkbox-group,.gov-form-group{position:relative;display:flex;width:100%;flex-direction:column;align-items:flex-start}gov-form-group .gov-form-label__label,gov-form-radio-group .gov-form-label__label,gov-form-checkbox-group .gov-form-label__label,.gov-form-group .gov-form-label__label{margin:0}gov-form-group[orientation=horizontal],gov-form-radio-group[orientation=horizontal],gov-form-checkbox-group[orientation=horizontal],.gov-form-group[orientation=horizontal]{flex-direction:row;flex-wrap:wrap}gov-form-group[orientation=horizontal] .gov-form-label__label,gov-form-radio-group[orientation=horizontal] .gov-form-label__label,gov-form-checkbox-group[orientation=horizontal] .gov-form-label__label,.gov-form-group[orientation=horizontal] .gov-form-label__label{white-space:nowrap}gov-form-group[gap=\"2xs\"],gov-form-radio-group[gap=\"2xs\"],gov-form-checkbox-group[gap=\"2xs\"],.gov-form-group[gap=\"2xs\"]{gap:0.25rem}gov-form-group[gap=xs],gov-form-radio-group[gap=xs],gov-form-checkbox-group[gap=xs],.gov-form-group[gap=xs]{gap:0.5rem}gov-form-group[gap=s],gov-form-radio-group[gap=s],gov-form-checkbox-group[gap=s],.gov-form-group[gap=s]{gap:0.75rem}gov-form-group[gap=m],gov-form-radio-group[gap=m],gov-form-checkbox-group[gap=m],.gov-form-group[gap=m]{gap:1rem}gov-form-group[gap=l],gov-form-radio-group[gap=l],gov-form-checkbox-group[gap=l],.gov-form-group[gap=l]{gap:1.25rem}";
7865
7873
 
7866
7874
  class GovFormCheckboxGroup {
@@ -13,6 +13,10 @@ export declare class GovFormAutocomplete {
13
13
  * Value of input
14
14
  */
15
15
  value: string;
16
+ /**
17
+ * Options of autocomplete
18
+ */
19
+ options?: string | GovFormAutocompleteItem[];
16
20
  /**
17
21
  * Custom input identifier.
18
22
  */
@@ -67,6 +71,10 @@ export declare class GovFormAutocomplete {
67
71
  * Maximum length (number of characters) of value
68
72
  */
69
73
  readonly maxlength: number;
74
+ /**
75
+ * Input throttle in milliseconds
76
+ */
77
+ readonly throttleTime: number;
70
78
  /**
71
79
  * Custom message for when there is a blank sheet
72
80
  */
@@ -110,6 +118,7 @@ export declare class GovFormAutocomplete {
110
118
  list: GovFormAutocompleteItem[];
111
119
  validateVariant(newValue: string): void;
112
120
  validateSize(newValue: string): void;
121
+ watchOptions(newValue: string | GovFormAutocompleteItem[]): void;
113
122
  private onArrowUp;
114
123
  private onArrowDown;
115
124
  private moveToView;
@@ -15,8 +15,8 @@ import { NativeTypesType as NativeTypesType1 } from "./components/gov-chip/const
15
15
  import { ControlGroupVariantType } from "./components/gov-control-group/constants";
16
16
  import { PositionType } from "./components/gov-button/dropdown/constants";
17
17
  import { DropdownEvent } from "./components/gov-button/dropdown/gov-dropdown.types";
18
- import { SizesType, VariantType } from "./components/gov-form/autocomplete/constants";
19
18
  import { FormAutocompleteEvent, GovFormAutocompleteItem } from "./components/gov-form/autocomplete/gov-form-autocomplete.types";
19
+ import { SizesType, VariantType } from "./components/gov-form/autocomplete/constants";
20
20
  import { FormCheckboxSizesType } from "./components/gov-form/checkbox/constants";
21
21
  import { FormCheckboxEvent } from "./components/gov-form/checkbox/gov-form-checkbox.types";
22
22
  import { FormGroupOrientationType, FormGroupSizesType } from "./components/gov-form/group/constants";
@@ -65,8 +65,8 @@ export { NativeTypesType as NativeTypesType1 } from "./components/gov-chip/const
65
65
  export { ControlGroupVariantType } from "./components/gov-control-group/constants";
66
66
  export { PositionType } from "./components/gov-button/dropdown/constants";
67
67
  export { DropdownEvent } from "./components/gov-button/dropdown/gov-dropdown.types";
68
- export { SizesType, VariantType } from "./components/gov-form/autocomplete/constants";
69
68
  export { FormAutocompleteEvent, GovFormAutocompleteItem } from "./components/gov-form/autocomplete/gov-form-autocomplete.types";
69
+ export { SizesType, VariantType } from "./components/gov-form/autocomplete/constants";
70
70
  export { FormCheckboxSizesType } from "./components/gov-form/checkbox/constants";
71
71
  export { FormCheckboxEvent } from "./components/gov-form/checkbox/gov-form-checkbox.types";
72
72
  export { FormGroupOrientationType, FormGroupSizesType } from "./components/gov-form/group/constants";
@@ -585,6 +585,10 @@ export namespace Components {
585
585
  * Main key name in the object
586
586
  */
587
587
  "nameKey": string;
588
+ /**
589
+ * Options of autocomplete
590
+ */
591
+ "options"?: string | GovFormAutocompleteItem[];
588
592
  /**
589
593
  * Text that appears in the form control when it has no value set
590
594
  */
@@ -626,6 +630,10 @@ export namespace Components {
626
630
  * Indicates the entered value of child form element does conform to the format expected by the application.
627
631
  */
628
632
  "success": boolean;
633
+ /**
634
+ * Input throttle in milliseconds
635
+ */
636
+ "throttleTime": number;
629
637
  /**
630
638
  * Value of input
631
639
  */
@@ -3068,6 +3076,10 @@ declare namespace LocalJSX {
3068
3076
  * Emitted when the input change value.
3069
3077
  */
3070
3078
  "onGov-select"?: (event: GovFormAutocompleteCustomEvent<FormAutocompleteEvent>) => void;
3079
+ /**
3080
+ * Options of autocomplete
3081
+ */
3082
+ "options"?: string | GovFormAutocompleteItem[];
3071
3083
  /**
3072
3084
  * Text that appears in the form control when it has no value set
3073
3085
  */
@@ -3088,6 +3100,10 @@ declare namespace LocalJSX {
3088
3100
  * Indicates the entered value of child form element does conform to the format expected by the application.
3089
3101
  */
3090
3102
  "success"?: boolean;
3103
+ /**
3104
+ * Input throttle in milliseconds
3105
+ */
3106
+ "throttleTime"?: number;
3091
3107
  /**
3092
3108
  * Value of input
3093
3109
  */
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@gov-design-system-ce/components",
3
3
  "description": "This package includes Gov Design System Web Components and related utilities.",
4
4
  "author": "Zdeněk Vítek",
5
- "version": "4.0.8-rc04",
5
+ "version": "4.0.8-rc05",
6
6
  "license": "EUPL v1.2 Licensed",
7
7
  "main": "./dist/index.cjs.js",
8
8
  "unpkg": "./dist/core/core.esm.js",
@@ -1,2 +0,0 @@
1
- import{p as t,H as e,c as i,h as s,d as o}from"./p-2dee9951.js";import{a}from"./p-c353678b.js";import{v as n}from"./p-dcb5fb35.js";import{c as r}from"./p-24636c53.js";import{d as l,t as h,h as c}from"./p-03990da5.js";import{F as m,a as d,b as g}from"./p-f04382c3.js";import{d as u}from"./p-ae0d4f50.js";import{d as p}from"./p-ff36425b.js";const v='.gov-form-autocomplete__list{margin:0;padding:0}.gov-form-autocomplete__list>.gov-form-autocomplete__item{margin:0;padding:0;background:none}.gov-form-autocomplete__list>.gov-form-autocomplete__item::before{display:none}.gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-form-autocomplete{position:relative;display:block;width:100%}.gov-form-autocomplete__list{font-weight:var(--gov-text-s-font-weight);font-size:var(--gov-text-s-font-size);line-height:var(--gov-text-s-line-height);letter-spacing:var(--gov-text-s-letter-spacing);position:absolute;top:100%;right:0;left:0;z-index:5;max-height:14.0625rem;margin-top:0.5rem;border:var(--gov-autocomplete-item-hover, 0.0625rem solid var(--gov-color-secondary-500));border-radius:var(--gov-border-radius, 0.1875rem);background:var(--gov-autocomplete-bg, var(--gov-color-neutral-white));overflow-x:hidden;overflow-y:auto;overscroll-behavior:none}.gov-form-autocomplete__list>.gov-form-autocomplete__item{padding:0.75rem 0.5rem;cursor:pointer}.gov-form-autocomplete__item--empty,.gov-form-autocomplete__item--loading{padding:0.75rem 0.5rem;color:var(--gov-autocomplete-item-disable-color, var(--gov-color-secondary-600))}.gov-form-autocomplete__item--empty .gov-icon,.gov-form-autocomplete__item--empty .gov-spin-animation,.gov-form-autocomplete__item--loading .gov-icon,.gov-form-autocomplete__item--loading .gov-spin-animation{width:12px;height:12px}.gov-form-autocomplete__list:empty{display:none}.gov-form-autocomplete__item[aria-selected=""],.gov-form-autocomplete__item[aria-selected=true i],.gov-form-autocomplete__item[aria-selected="1"]{background:var(--gov-autocomplete-item-select, var(--gov-color-secondary-400))}@media not all and (pointer: coarse){.gov-form-autocomplete__item:hover{background:var(--gov-autocomplete-item-hover, var(--gov-color-primary-100))}}';const f=t(class t extends e{constructor(){super();this.__registerHost();this.govFocus=i(this,"gov-focus",7);this.govBlur=i(this,"gov-blur",7);this.govInput=i(this,"gov-input",7);this.govSelect=i(this,"gov-select",7);this.templateResolver=t=>t[this.nameKey];this.value="";this.identifier=undefined;this.variant=undefined;this.success=undefined;this.size="m";this.nameKey="name";this.name=undefined;this.required=false;this.disabled=false;this.placeholder=undefined;this.readonly=undefined;this.invalid=undefined;this.minlength=3;this.maxlength=undefined;this.messageEmpty="Nebyly nalezeny žádné výsledky";this.messageLoading="Načítám...";this.wcagDescribedBy=undefined;this.wcagLabelledBy=undefined;this.wcagOwns=undefined;this.focused=undefined;this.processing=false;this.arrowCounter=-1;this.list=[];this.listBoxId=r("GovListBox")}validateVariant(t){n(d,t,m.root)}validateSize(t){n(g,t,m.root)}onArrowUp(){if(this.arrowCounter>0){this.arrowCounter=this.arrowCounter-1;this.moveToView().finally()}}onArrowDown(){if(this.arrowCounter<this.list.length-1){this.arrowCounter=this.arrowCounter+1;this.moveToView().finally()}}async moveToView(){await l(200);const t=this.listRef.offsetHeight;const e=this.listRef.querySelector('li[aria-selected="true"]');if(e&&t){const t=e.offsetTop;this.listRef.scrollTo({top:t,behavior:"smooth"})}}doSearch(){if(Number.isInteger(this.minlength)&&this.isValueAccepted===false&&this.minlength){this.list=[];this.arrowCounter=-1;this.processing=false;return}if(this.searchCallback){this.processing=true;this.searchCallback(this.value).then((t=>this.list=t)).catch((()=>this.list=[])).finally((()=>{this.arrowCounter=-1;this.processing=false}))}}get isValueAccepted(){if(typeof this.value==="string"){return this.value.length>=this.minlength}else{return false}}componentWillLoad(){this.validateVariant(this.variant);this.validateSize(this.size)}render(){return s(o,{class:m.root,size:this.size,variant:this.variant},s("gov-form-input",{placeholder:this.placeholder,name:this.name,disabled:this.disabled,readonly:this.readonly,autocomplete:false,size:this.size,variant:this.variant,required:this.required,invalid:this.invalid,success:this.success,role:"searchbox",value:this.value,minlength:this.minlength,maxlength:this.maxlength,"on-gov-input":h(this.onInputHandler.bind(this),200),"on-gov-keyup":this.onKeyUpHandler.bind(this),"on-gov-keydown":this.onKeyDownHandler.bind(this),"on-gov-focus":this.onFocusHandler.bind(this),"on-gov-blur":this.onBlurHandler.bind(this),wcagAutocomplete:"list",wcagDescribedBy:this.wcagDescribedBy,wcagLabelledBy:this.wcagLabelledBy,wcagOwns:[this.listBoxId,this.wcagOwns].join(" "),wcagExpanded:this.list.length&&this.focused,ref:t=>this.inputRef=t},s("slot",{slot:"right-icon",name:"right-icon"})),s("ul",{class:m.list,role:"listbox",id:this.listBoxId,ref:t=>this.listRef=t},this.focused&&this.list.length===0&&this.processing===false&&this.isValueAccepted&&this.messageEmpty?s("li",{class:m.empty},this.messageEmpty):null,this.focused&&this.processing===true&&this.isValueAccepted?s("li",{class:m.loading},s("gov-icon",{name:"loader",class:"gov-spin-animation"})," ",this.messageLoading):null,this.list.map(((t,e)=>{const i=this.arrowCounter===e;return s("li",{class:m.item,innerHTML:this.templateResolver(t,i),role:"option","aria-posinset":e,tabindex:i?0:-1,"aria-setsize":this.list.length,onTouchStart:t=>this.onSelectHandler(t,e),onMouseDown:t=>this.onSelectHandler(t,e),"aria-selected":a(i)})}))))}onFocusHandler(t){this.focused=true;this.arrowCounter=-1;if((this.value||this.minlength===0)&&this.searchCallback){this.doSearch()}t.stopPropagation();this.govFocus.emit({originalEvent:t,component:m.root,value:this.value,selected:null})}onBlurHandler(t){this.focused=false;this.list=[];this.arrowCounter=-1;t.stopPropagation();this.govBlur.emit({originalEvent:t,component:m.root,value:this.value,selected:null})}onInputHandler(t){this.value=t.target.value;t.stopPropagation();this.govInput.emit({originalEvent:t,component:m.root,value:this.value,selected:null});this.doSearch()}onSelectHandler(t,e=-1){let i=null;if(e>-1){i=this.list[e]}else if(c(this.arrowCounter,this.list)){i=this.list[this.arrowCounter]}if(i){this.govSelect.emit({component:m.root,value:this.value,selected:i,originalEvent:t});this.list=[];if(c(this.nameKey,i)&&typeof i[this.nameKey]==="string"){this.value=i[this.nameKey]}}}onKeyUpHandler(t){const e=t.detail.originalEvent;t.stopPropagation();e.stopPropagation();if(e.keyCode===38)this.onArrowUp();else if(e.keyCode===40)this.onArrowDown();else if(e.keyCode===13){t.preventDefault();e.preventDefault();this.onSelectHandler(t)}}onKeyDownHandler(t){const e=t.detail.originalEvent;t.stopPropagation();e.stopPropagation();if(e.keyCode===13){t.preventDefault();e.preventDefault()}}async setFocus(t){return this.inputRef.focus(t)}async setOptions(t){this.list=Array.isArray(t)?t:[];this.arrowCounter=-1}async clearValue(){this.value="";this.inputRef.value="";await this.inputRef.clearValue()}async setProcessing(t){this.processing=t}async setSearchCallback(t){this.searchCallback=t}async setTemplateResolver(t){this.templateResolver=t}get host(){return this}static get watchers(){return{variant:["validateVariant"],size:["validateSize"]}}static get style(){return v}},[4,"gov-form-autocomplete",{value:[1537],identifier:[1],variant:[1],success:[4],size:[1],nameKey:[1,"name-key"],name:[1],required:[4],disabled:[4],placeholder:[1],readonly:[4],invalid:[4],minlength:[2],maxlength:[2],messageEmpty:[1,"message-empty"],messageLoading:[1,"message-loading"],wcagDescribedBy:[1,"wcag-described-by"],wcagLabelledBy:[1,"wcag-labelled-by"],wcagOwns:[1,"wcag-owns"],focused:[32],processing:[32],arrowCounter:[32],list:[32],setFocus:[64],setOptions:[64],clearValue:[64],setProcessing:[64],setSearchCallback:[64],setTemplateResolver:[64]}]);function y(){if(typeof customElements==="undefined"){return}const t=["gov-form-autocomplete","gov-form-input","gov-icon"];t.forEach((t=>{switch(t){case"gov-form-autocomplete":if(!customElements.get(t)){customElements.define(t,f)}break;case"gov-form-input":if(!customElements.get(t)){u()}break;case"gov-icon":if(!customElements.get(t)){p()}break}}))}y();export{f as G,y as d};
2
- //# sourceMappingURL=p-f2037423.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["govFormAutocompleteCss","GovFormAutocomplete","proxyCustomElement","H","constructor","this","templateResolver","item","nameKey","listBoxId","createID","validateVariant","newValue","validateProp","FormAutocompleteVariants","FormAutocompleteClass","root","validateSize","FormAutocompleteSizes","onArrowUp","arrowCounter","moveToView","finally","onArrowDown","list","length","delay","heightOfList","listRef","offsetHeight","selected","querySelector","offsetTop","scrollTo","top","behavior","doSearch","Number","isInteger","minlength","isValueAccepted","processing","searchCallback","value","then","response","catch","componentWillLoad","variant","size","render","h","Host","class","placeholder","name","disabled","readonly","autocomplete","required","invalid","success","role","maxlength","throttle","onInputHandler","bind","onKeyUpHandler","onKeyDownHandler","onFocusHandler","onBlurHandler","wcagAutocomplete","wcagDescribedBy","wcagLabelledBy","wcagOwns","join","wcagExpanded","focused","ref","el","inputRef","slot","id","messageEmpty","empty","loading","messageLoading","map","index","isSelected","innerHTML","tabindex","onTouchStart","e","onSelectHandler","onMouseDown","toBoolAttr","stopPropagation","govFocus","emit","originalEvent","component","govBlur","target","govInput","has","govSelect","event","detail","keyCode","preventDefault","setFocus","options","focus","setOptions","Array","isArray","clearValue","setProcessing","status","setSearchCallback","callback","setTemplateResolver"],"sources":["../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.scss?tag=gov-form-autocomplete","../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.tsx"],"sourcesContent":["$class: \".gov-form-autocomplete\";\n\n#{$class} {\n\t@include base();\n\t&__list {\n\t\t@include typography($font-size-s);\n\t\t@extend %reset-ul;\n\t\tposition: absolute;\n\t\ttop: 100%;\n\t\tright: 0;\n\t\tleft: 0;\n\t\tz-index: 5;\n\t\tmax-height: rem-calc(225);\n\t\tmargin-top: rem-calc(8);\n\t\tborder: $form-autocomplete-border;\n\t\tborder-radius: $border-radius;\n\t\tbackground: $form-autocomplete-bg;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\toverscroll-behavior: none;\n\t}\n\t&__list > &__item {\n\t\t@extend %reset-ul-li;\n\t\tpadding: rem-calc(12 8);\n\t\tcursor: pointer;\n\t}\n\t&__item {\n\t\t&--empty,\n\t\t&--loading {\n\t\t\tpadding: rem-calc(12 8);\n\t\t\tcolor: $form-autocomplete-item-disable-color;\n\t\t\t& .gov-icon,\n\t\t\t& .gov-spin-animation {\n\t\t\t\twidth: 12px;\n\t\t\t\theight: 12px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// STATES\n\t&__list:empty {\n\t\tdisplay: none;\n\t}\n\n\t// HOVERS\n\t&__item {\n\t\t@include parameter(\"aria-selected\") {\n\t\t\tbackground: $form-autocomplete-item-select-bg;\n\t\t}\n\t\t@include hover() {\n\t\t\tbackground: $form-autocomplete-item-hover-bg;\n\t\t}\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {toBoolAttr} from '../../../helpers/Dom/template'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {Nullable} from '../../../types/interfaces'\nimport {createID} from '../../../utils/string.utils'\nimport {delay, has, throttle} from '../../../utils/utils'\nimport {FormInputEvent} from '../input/gov-form-input.types'\nimport {\n\tFormAutocompleteClass,\n\tFormAutocompleteSizes,\n\tFormAutocompleteVariants,\n\tSizesType,\n\tVariantType\n} from './constants'\nimport {FormAutocompleteEvent, GovFormAutocompleteItem} from './gov-form-autocomplete.types'\n\n@Component({\n\ttag: 'gov-form-autocomplete',\n\tstyleUrl: 'gov-form-autocomplete.scss',\n})\nexport class GovFormAutocomplete {\n\tprivate inputRef?: HTMLGovFormInputElement\n\tprivate listRef?: HTMLUListElement\n\tprivate readonly listBoxId: string\n\tprivate searchCallback: (value: string) => Promise<GovFormAutocompleteItem[]>\n\tprivate templateResolver: (item: GovFormAutocompleteItem, selected: boolean) => string = item => item[this.nameKey]\n\n\tconstructor() {\n\t\tthis.listBoxId = createID('GovListBox')\n\t}\n\n\t@Element() host: HTMLGovFormInputElement\n\t/**\n\t * Value of input\n\t */\n\t@Prop({reflect: true, mutable: true}) value = ''\n\t/**\n\t * Custom input identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Style variation of the form input.\n\t */\n\t@Prop() readonly variant?: VariantType\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Input’s size.\n\t */\n\t@Prop() readonly size?: SizesType = 'm'\n\t/**\n\t * Main key name in the object\n\t */\n\t@Prop() readonly nameKey: string = 'name'\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the input component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * Text that appears in the form control when it has no value set\n\t */\n\t@Prop() readonly placeholder: string\n\t/**\n\t * The value is not editable\n\t */\n\t@Prop() readonly readonly: boolean\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Minimum length (number of characters) of value\n\t */\n\t@Prop() readonly minlength: number = 3\n\t/**\n\t * Maximum length (number of characters) of value\n\t */\n\t@Prop() readonly maxlength: number\n\t/**\n\t * Custom message for when there is a blank sheet\n\t */\n\t@Prop({attribute: 'message-empty'}) readonly messageEmpty: string = 'Nebyly nalezeny žádné výsledky'\n\t/**\n\t * Custom message for when data is loaded\n\t */\n\t@Prop({attribute: 'message-loading'}) readonly messageLoading: string = 'Načítám...'\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({attribute: 'wcag-described-by'}) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({attribute: 'wcag-labelled-by'}) readonly wcagLabelledBy: string\n\t/**\n\t * Same as original parameter\n\t * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-owns\n\t */\n\t@Prop({attribute: 'wcag-owns'}) readonly wcagOwns: string\n\t/**\n\t * Emitted when the input has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({eventName: 'gov-input'}) govInput: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({eventName: 'gov-select'}) govSelect: EventEmitter<FormAutocompleteEvent>\n\t@State() focused: boolean\n\t@State() processing = false\n\t@State() arrowCounter = -1\n\t@State() list: GovFormAutocompleteItem[] = []\n\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteVariants, newValue, FormAutocompleteClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteSizes, newValue, FormAutocompleteClass.root)\n\t}\n\n\tprivate onArrowUp() {\n\t\tif (this.arrowCounter > 0) {\n\t\t\tthis.arrowCounter = this.arrowCounter - 1\n\t\t\tthis.moveToView().finally()\n\t\t}\n\t}\n\n\tprivate onArrowDown() {\n\t\tif (this.arrowCounter < this.list.length - 1) {\n\t\t\tthis.arrowCounter = this.arrowCounter + 1\n\t\t\tthis.moveToView().finally()\n\t\t}\n\t}\n\n\tprivate async moveToView() {\n\t\tawait delay(200)\n\t\tconst heightOfList = this.listRef.offsetHeight\n\t\tconst selected = this.listRef.querySelector('li[aria-selected=\"true\"]') as HTMLUListElement\n\t\tif (selected && heightOfList) {\n\t\t\tconst offsetTop = selected.offsetTop\n\t\t\tthis.listRef.scrollTo({top: offsetTop, behavior: 'smooth'})\n\t\t}\n\t}\n\n\tprivate doSearch() {\n\t\tif (Number.isInteger(this.minlength) && this.isValueAccepted === false && this.minlength) {\n\t\t\tthis.list = []\n\t\t\tthis.arrowCounter = -1\n\t\t\tthis.processing = false\n\t\t\treturn\n\t\t}\n\t\tif (this.searchCallback) {\n\t\t\tthis.processing = true\n\t\t\tthis.searchCallback(this.value)\n\t\t\t\t.then(response => (this.list = response))\n\t\t\t\t.catch(() => (this.list = []))\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.arrowCounter = -1\n\t\t\t\t\tthis.processing = false\n\t\t\t\t})\n\t\t}\n\t}\n\n\tget isValueAccepted() {\n\t\tif (typeof this.value === 'string') {\n\t\t\treturn this.value.length >= this.minlength\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormAutocompleteClass.root} size={this.size} variant={this.variant}>\n\t\t\t\t<gov-form-input\n\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tautocomplete={false}\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\tsuccess={this.success}\n\t\t\t\t\trole={'searchbox'}\n\t\t\t\t\tvalue={this.value}\n\t\t\t\t\tminlength={this.minlength}\n\t\t\t\t\tmaxlength={this.maxlength}\n\t\t\t\t\ton-gov-input={throttle(this.onInputHandler.bind(this), 200)}\n\t\t\t\t\ton-gov-keyup={this.onKeyUpHandler.bind(this)}\n\t\t\t\t\ton-gov-keydown={this.onKeyDownHandler.bind(this)}\n\t\t\t\t\ton-gov-focus={this.onFocusHandler.bind(this)}\n\t\t\t\t\ton-gov-blur={this.onBlurHandler.bind(this)}\n\t\t\t\t\twcagAutocomplete={'list'}\n\t\t\t\t\twcagDescribedBy={this.wcagDescribedBy}\n\t\t\t\t\twcagLabelledBy={this.wcagLabelledBy}\n\t\t\t\t\twcagOwns={[this.listBoxId, this.wcagOwns].join(' ')}\n\t\t\t\t\twcagExpanded={this.list.length && this.focused}\n\t\t\t\t\tref={el => (this.inputRef = el as HTMLGovFormInputElement)}\n\t\t\t\t>\n\t\t\t\t\t<slot slot=\"right-icon\" name=\"right-icon\"/>\n\t\t\t\t</gov-form-input>\n\t\t\t\t<ul class={FormAutocompleteClass.list} role={'listbox'} id={this.listBoxId}\n\t\t\t\t\t\tref={el => (this.listRef = el as HTMLUListElement)}>\n\t\t\t\t\t{this.focused && this.list.length === 0 && this.processing === false && this.isValueAccepted && this.messageEmpty ? (\n\t\t\t\t\t\t<li class={FormAutocompleteClass.empty}>{this.messageEmpty}</li>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{this.focused && this.processing === true && this.isValueAccepted ? (\n\t\t\t\t\t\t<li class={FormAutocompleteClass.loading}>\n\t\t\t\t\t\t\t<gov-icon name=\"loader\" class=\"gov-spin-animation\"></gov-icon>\n\t\t\t\t\t\t\t&nbsp;{this.messageLoading}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{this.list.map((item, index) => {\n\t\t\t\t\t\tconst isSelected = this.arrowCounter === index\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tclass={FormAutocompleteClass.item}\n\t\t\t\t\t\t\t\tinnerHTML={this.templateResolver(item, isSelected)}\n\t\t\t\t\t\t\t\trole={'option'}\n\t\t\t\t\t\t\t\taria-posinset={index}\n\t\t\t\t\t\t\t\ttabindex={isSelected ? 0 : -1}\n\t\t\t\t\t\t\t\taria-setsize={this.list.length}\n\t\t\t\t\t\t\t\tonTouchStart={(e: TouchEvent) => this.onSelectHandler(e, index)}\n\t\t\t\t\t\t\t\tonMouseDown={(e: PointerEvent) => this.onSelectHandler(e, index)}\n\t\t\t\t\t\t\t\taria-selected={toBoolAttr(isSelected)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</ul>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.arrowCounter = -1\n\t\tif ((this.value || this.minlength === 0) && this.searchCallback) {\n\t\t\tthis.doSearch()\n\t\t}\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.list = []\n\t\tthis.arrowCounter = -1\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t}\n\n\tprivate onInputHandler(e: InputEvent) {\n\t\tthis.value = (e.target as HTMLGovFormInputElement).value\n\t\te.stopPropagation()\n\t\tthis.govInput.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t\tthis.doSearch()\n\t}\n\n\tprivate onSelectHandler(e: PointerEvent | CustomEvent | TouchEvent, index = -1) {\n\t\tlet selected: Nullable<GovFormAutocompleteItem> = null\n\t\tif (index > -1) {\n\t\t\tselected = this.list[index]\n\t\t} else if (has(this.arrowCounter, this.list)) {\n\t\t\tselected = this.list[this.arrowCounter]\n\t\t}\n\t\tif (selected) {\n\t\t\tthis.govSelect.emit({\n\t\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\t\tvalue: this.value,\n\t\t\t\tselected: selected,\n\t\t\t\toriginalEvent: e,\n\t\t\t})\n\t\t\tthis.list = []\n\t\t\tif (has(this.nameKey, selected) && typeof selected[this.nameKey] === 'string') {\n\t\t\t\tthis.value = selected[this.nameKey]\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate onKeyUpHandler(e: CustomEvent) {\n\t\tconst event = (e.detail as FormInputEvent).originalEvent as KeyboardEvent\n\t\te.stopPropagation()\n\t\tevent.stopPropagation()\n\t\tif (event.keyCode === 38) this.onArrowUp()\n\t\telse if (event.keyCode === 40) this.onArrowDown()\n\t\telse if (event.keyCode === 13) {\n\t\t\te.preventDefault()\n\t\t\tevent.preventDefault()\n\t\t\tthis.onSelectHandler(e)\n\t\t}\n\t}\n\n\tprivate onKeyDownHandler(e: CustomEvent) {\n\t\tconst event = (e.detail as FormInputEvent).originalEvent as KeyboardEvent\n\t\te.stopPropagation()\n\t\tevent.stopPropagation()\n\t\tif (event.keyCode === 13) {\n\t\t\te.preventDefault()\n\t\t\tevent.preventDefault()\n\t\t}\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.inputRef.focus(options)\n\t}\n\n\t/**\n\t * Set options for list\n\t */\n\t@Method()\n\tasync setOptions(options: GovFormAutocompleteItem[]): Promise<void> {\n\t\tthis.list = Array.isArray(options) ? options : []\n\t\tthis.arrowCounter = -1\n\t}\n\n\t/**\n\t * Clears whisperer value\n\t */\n\t@Method()\n\tasync clearValue(): Promise<void> {\n\t\tthis.value = ''\n\t\tthis.inputRef.value = ''\n\n\t\tawait this.inputRef.clearValue()\n\t}\n\n\t/**\n\t * Clears whisperer value\n\t */\n\t@Method()\n\tasync setProcessing(status: boolean): Promise<void> {\n\t\tthis.processing = status\n\t}\n\n\t/**\n\t * Set a custom asynchronous function for the whisperer\n\t */\n\t@Method()\n\tasync setSearchCallback(callback: (value: string) => Promise<any>) {\n\t\tthis.searchCallback = callback\n\t}\n\n\t/**\n\t * Setting a custom whisper result template\n\t * @param callback\n\t */\n\t@Method()\n\tasync setTemplateResolver(callback: (item: GovFormAutocompleteItem) => string) {\n\t\tthis.templateResolver = callback\n\t}\n}\n"],"mappings":"mVAAA,MAAMA,EAAyB,skE,MCoBlBC,EAAmBC,EAAA,MAAAD,UAAAE,EAO/B,WAAAC,G,8KAFQC,KAAAC,iBAAiFC,GAAQA,EAAKF,KAAKG,S,WAU7D,G,kFAgBV,I,aAID,O,kCASE,M,cAKA,M,yFAgBA,E,2CAQ+B,iC,oBAII,a,4HA+BlD,M,mBACG,E,UACkB,GAtG1CH,KAAKI,UAAYC,EAAS,a,CAyG3B,eAAAC,CAAgBC,GACfC,EAAaC,EAA0BF,EAAUG,EAAsBC,K,CAIxE,YAAAC,CAAaL,GACZC,EAAaK,EAAuBN,EAAUG,EAAsBC,K,CAG7D,SAAAG,GACP,GAAId,KAAKe,aAAe,EAAG,CAC1Bf,KAAKe,aAAef,KAAKe,aAAe,EACxCf,KAAKgB,aAAaC,S,EAIZ,WAAAC,GACP,GAAIlB,KAAKe,aAAef,KAAKmB,KAAKC,OAAS,EAAG,CAC7CpB,KAAKe,aAAef,KAAKe,aAAe,EACxCf,KAAKgB,aAAaC,S,EAIZ,gBAAMD,SACPK,EAAM,KACZ,MAAMC,EAAetB,KAAKuB,QAAQC,aAClC,MAAMC,EAAWzB,KAAKuB,QAAQG,cAAc,4BAC5C,GAAID,GAAYH,EAAc,CAC7B,MAAMK,EAAYF,EAASE,UAC3B3B,KAAKuB,QAAQK,SAAS,CAACC,IAAKF,EAAWG,SAAU,U,EAI3C,QAAAC,GACP,GAAIC,OAAOC,UAAUjC,KAAKkC,YAAclC,KAAKmC,kBAAoB,OAASnC,KAAKkC,UAAW,CACzFlC,KAAKmB,KAAO,GACZnB,KAAKe,cAAgB,EACrBf,KAAKoC,WAAa,MAClB,M,CAED,GAAIpC,KAAKqC,eAAgB,CACxBrC,KAAKoC,WAAa,KAClBpC,KAAKqC,eAAerC,KAAKsC,OACvBC,MAAKC,GAAaxC,KAAKmB,KAAOqB,IAC9BC,OAAM,IAAOzC,KAAKmB,KAAO,KACzBF,SAAQ,KACRjB,KAAKe,cAAgB,EACrBf,KAAKoC,WAAa,KAAK,G,EAK3B,mBAAID,GACH,UAAWnC,KAAKsC,QAAU,SAAU,CACnC,OAAOtC,KAAKsC,MAAMlB,QAAUpB,KAAKkC,S,KAC3B,CACN,OAAO,K,EAIT,iBAAAQ,GACC1C,KAAKM,gBAAgBN,KAAK2C,SAC1B3C,KAAKY,aAAaZ,KAAK4C,K,CAGxB,MAAAC,GACC,OACCC,EAACC,EAAI,CAACC,MAAOtC,EAAsBC,KAAMiC,KAAM5C,KAAK4C,KAAMD,QAAS3C,KAAK2C,SACvEG,EAAA,kBACCG,YAAajD,KAAKiD,YAClBC,KAAMlD,KAAKkD,KACXC,SAAUnD,KAAKmD,SACfC,SAAUpD,KAAKoD,SACfC,aAAc,MACdT,KAAM5C,KAAK4C,KACXD,QAAS3C,KAAK2C,QACdW,SAAUtD,KAAKsD,SACfC,QAASvD,KAAKuD,QACdC,QAASxD,KAAKwD,QACdC,KAAM,YACNnB,MAAOtC,KAAKsC,MACZJ,UAAWlC,KAAKkC,UAChBwB,UAAW1D,KAAK0D,UAAS,eACXC,EAAS3D,KAAK4D,eAAeC,KAAK7D,MAAO,KAAI,eAC7CA,KAAK8D,eAAeD,KAAK7D,MAAK,iBAC5BA,KAAK+D,iBAAiBF,KAAK7D,MAAK,eAClCA,KAAKgE,eAAeH,KAAK7D,MAAK,cAC/BA,KAAKiE,cAAcJ,KAAK7D,MACrCkE,iBAAkB,OAClBC,gBAAiBnE,KAAKmE,gBACtBC,eAAgBpE,KAAKoE,eACrBC,SAAU,CAACrE,KAAKI,UAAWJ,KAAKqE,UAAUC,KAAK,KAC/CC,aAAcvE,KAAKmB,KAAKC,QAAUpB,KAAKwE,QACvCC,IAAKC,GAAO1E,KAAK2E,SAAWD,GAE5B5B,EAAA,QAAM8B,KAAK,aAAa1B,KAAK,gBAE9BJ,EAAA,MAAIE,MAAOtC,EAAsBS,KAAMsC,KAAM,UAAWoB,GAAI7E,KAAKI,UAC/DqE,IAAKC,GAAO1E,KAAKuB,QAAUmD,GAC3B1E,KAAKwE,SAAWxE,KAAKmB,KAAKC,SAAW,GAAKpB,KAAKoC,aAAe,OAASpC,KAAKmC,iBAAmBnC,KAAK8E,aACpGhC,EAAA,MAAIE,MAAOtC,EAAsBqE,OAAQ/E,KAAK8E,cAC3C,KACH9E,KAAKwE,SAAWxE,KAAKoC,aAAe,MAAQpC,KAAKmC,gBACjDW,EAAA,MAAIE,MAAOtC,EAAsBsE,SAChClC,EAAA,YAAUI,KAAK,SAASF,MAAM,uBAAgC,IACvDhD,KAAKiF,gBAEV,KACHjF,KAAKmB,KAAK+D,KAAI,CAAChF,EAAMiF,KACrB,MAAMC,EAAapF,KAAKe,eAAiBoE,EACzC,OACCrC,EAAA,MACCE,MAAOtC,EAAsBR,KAC7BmF,UAAWrF,KAAKC,iBAAiBC,EAAMkF,GACvC3B,KAAM,SAAQ,gBACC0B,EACfG,SAAUF,EAAa,GAAK,EAAC,eACfpF,KAAKmB,KAAKC,OACxBmE,aAAeC,GAAkBxF,KAAKyF,gBAAgBD,EAAGL,GACzDO,YAAcF,GAAoBxF,KAAKyF,gBAAgBD,EAAGL,GAAM,gBACjDQ,EAAWP,IACzB,K,CAQA,cAAApB,CAAewB,GACtBxF,KAAKwE,QAAU,KACfxE,KAAKe,cAAgB,EACrB,IAAKf,KAAKsC,OAAStC,KAAKkC,YAAc,IAAMlC,KAAKqC,eAAgB,CAChErC,KAAK+B,U,CAENyD,EAAEI,kBACF5F,KAAK6F,SAASC,KAAK,CAClBC,cAAeP,EACfQ,UAAWtF,EAAsBC,KACjC2B,MAAOtC,KAAKsC,MACZb,SAAU,M,CAIJ,aAAAwC,CAAcuB,GACrBxF,KAAKwE,QAAU,MACfxE,KAAKmB,KAAO,GACZnB,KAAKe,cAAgB,EACrByE,EAAEI,kBACF5F,KAAKiG,QAAQH,KAAK,CACjBC,cAAeP,EACfQ,UAAWtF,EAAsBC,KACjC2B,MAAOtC,KAAKsC,MACZb,SAAU,M,CAIJ,cAAAmC,CAAe4B,GACtBxF,KAAKsC,MAASkD,EAAEU,OAAmC5D,MACnDkD,EAAEI,kBACF5F,KAAKmG,SAASL,KAAK,CAClBC,cAAeP,EACfQ,UAAWtF,EAAsBC,KACjC2B,MAAOtC,KAAKsC,MACZb,SAAU,OAEXzB,KAAK+B,U,CAGE,eAAA0D,CAAgBD,EAA4CL,GAAS,GAC5E,IAAI1D,EAA8C,KAClD,GAAI0D,GAAS,EAAG,CACf1D,EAAWzB,KAAKmB,KAAKgE,E,MACf,GAAIiB,EAAIpG,KAAKe,aAAcf,KAAKmB,MAAO,CAC7CM,EAAWzB,KAAKmB,KAAKnB,KAAKe,a,CAE3B,GAAIU,EAAU,CACbzB,KAAKqG,UAAUP,KAAK,CACnBE,UAAWtF,EAAsBC,KACjC2B,MAAOtC,KAAKsC,MACZb,SAAUA,EACVsE,cAAeP,IAEhBxF,KAAKmB,KAAO,GACZ,GAAIiF,EAAIpG,KAAKG,QAASsB,WAAoBA,EAASzB,KAAKG,WAAa,SAAU,CAC9EH,KAAKsC,MAAQb,EAASzB,KAAKG,Q,GAKtB,cAAA2D,CAAe0B,GACtB,MAAMc,EAASd,EAAEe,OAA0BR,cAC3CP,EAAEI,kBACFU,EAAMV,kBACN,GAAIU,EAAME,UAAY,GAAIxG,KAAKc,iBAC1B,GAAIwF,EAAME,UAAY,GAAIxG,KAAKkB,mBAC/B,GAAIoF,EAAME,UAAY,GAAI,CAC9BhB,EAAEiB,iBACFH,EAAMG,iBACNzG,KAAKyF,gBAAgBD,E,EAIf,gBAAAzB,CAAiByB,GACxB,MAAMc,EAASd,EAAEe,OAA0BR,cAC3CP,EAAEI,kBACFU,EAAMV,kBACN,GAAIU,EAAME,UAAY,GAAI,CACzBhB,EAAEiB,iBACFH,EAAMG,gB,EAQR,cAAMC,CAASC,GACd,OAAO3G,KAAK2E,SAASiC,MAAMD,E,CAO5B,gBAAME,CAAWF,GAChB3G,KAAKmB,KAAO2F,MAAMC,QAAQJ,GAAWA,EAAU,GAC/C3G,KAAKe,cAAgB,C,CAOtB,gBAAMiG,GACLhH,KAAKsC,MAAQ,GACbtC,KAAK2E,SAASrC,MAAQ,SAEhBtC,KAAK2E,SAASqC,Y,CAOrB,mBAAMC,CAAcC,GACnBlH,KAAKoC,WAAa8E,C,CAOnB,uBAAMC,CAAkBC,GACvBpH,KAAKqC,eAAiB+E,C,CAQvB,yBAAMC,CAAoBD,GACzBpH,KAAKC,iBAAmBmH,C"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,a as s,g as o}from"./p-5bc604a3.js";import{a}from"./p-5de606f8.js";import{v as n}from"./p-dcb5fb35.js";import{c as r}from"./p-24636c53.js";import{d as h,t as l,h as c}from"./p-03990da5.js";import{F as m,a as p,b as d}from"./p-9dab01be.js";import"./p-7f2c9830.js";import"./p-003e6cca.js";import"./p-55500e5a.js";import"./p-ff7365ae.js";const g='.gov-form-autocomplete__list{margin:0;padding:0}.gov-form-autocomplete__list>.gov-form-autocomplete__item{margin:0;padding:0;background:none}.gov-form-autocomplete__list>.gov-form-autocomplete__item::before{display:none}.gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-form-autocomplete{position:relative;display:block;width:100%}.gov-form-autocomplete__list{font-weight:var(--gov-text-s-font-weight);font-size:var(--gov-text-s-font-size);line-height:var(--gov-text-s-line-height);letter-spacing:var(--gov-text-s-letter-spacing);position:absolute;top:100%;right:0;left:0;z-index:5;max-height:14.0625rem;margin-top:0.5rem;border:var(--gov-autocomplete-item-hover, 0.0625rem solid var(--gov-color-secondary-500));border-radius:var(--gov-border-radius, 0.1875rem);background:var(--gov-autocomplete-bg, var(--gov-color-neutral-white));overflow-x:hidden;overflow-y:auto;overscroll-behavior:none}.gov-form-autocomplete__list>.gov-form-autocomplete__item{padding:0.75rem 0.5rem;cursor:pointer}.gov-form-autocomplete__item--empty,.gov-form-autocomplete__item--loading{padding:0.75rem 0.5rem;color:var(--gov-autocomplete-item-disable-color, var(--gov-color-secondary-600))}.gov-form-autocomplete__item--empty .gov-icon,.gov-form-autocomplete__item--empty .gov-spin-animation,.gov-form-autocomplete__item--loading .gov-icon,.gov-form-autocomplete__item--loading .gov-spin-animation{width:12px;height:12px}.gov-form-autocomplete__list:empty{display:none}.gov-form-autocomplete__item[aria-selected=""],.gov-form-autocomplete__item[aria-selected=true i],.gov-form-autocomplete__item[aria-selected="1"]{background:var(--gov-autocomplete-item-select, var(--gov-color-secondary-400))}@media not all and (pointer: coarse){.gov-form-autocomplete__item:hover{background:var(--gov-autocomplete-item-hover, var(--gov-color-primary-100))}}';const u=class{constructor(e){t(this,e);this.govFocus=i(this,"gov-focus",7);this.govBlur=i(this,"gov-blur",7);this.govInput=i(this,"gov-input",7);this.govSelect=i(this,"gov-select",7);this.templateResolver=t=>t[this.nameKey];this.value="";this.identifier=undefined;this.variant=undefined;this.success=undefined;this.size="m";this.nameKey="name";this.name=undefined;this.required=false;this.disabled=false;this.placeholder=undefined;this.readonly=undefined;this.invalid=undefined;this.minlength=3;this.maxlength=undefined;this.messageEmpty="Nebyly nalezeny žádné výsledky";this.messageLoading="Načítám...";this.wcagDescribedBy=undefined;this.wcagLabelledBy=undefined;this.wcagOwns=undefined;this.focused=undefined;this.processing=false;this.arrowCounter=-1;this.list=[];this.listBoxId=r("GovListBox")}validateVariant(t){n(p,t,m.root)}validateSize(t){n(d,t,m.root)}onArrowUp(){if(this.arrowCounter>0){this.arrowCounter=this.arrowCounter-1;this.moveToView().finally()}}onArrowDown(){if(this.arrowCounter<this.list.length-1){this.arrowCounter=this.arrowCounter+1;this.moveToView().finally()}}async moveToView(){await h(200);const t=this.listRef.offsetHeight;const i=this.listRef.querySelector('li[aria-selected="true"]');if(i&&t){const t=i.offsetTop;this.listRef.scrollTo({top:t,behavior:"smooth"})}}doSearch(){if(Number.isInteger(this.minlength)&&this.isValueAccepted===false&&this.minlength){this.list=[];this.arrowCounter=-1;this.processing=false;return}if(this.searchCallback){this.processing=true;this.searchCallback(this.value).then((t=>this.list=t)).catch((()=>this.list=[])).finally((()=>{this.arrowCounter=-1;this.processing=false}))}}get isValueAccepted(){if(typeof this.value==="string"){return this.value.length>=this.minlength}else{return false}}componentWillLoad(){this.validateVariant(this.variant);this.validateSize(this.size)}render(){return e(s,{class:m.root,size:this.size,variant:this.variant},e("gov-form-input",{placeholder:this.placeholder,name:this.name,disabled:this.disabled,readonly:this.readonly,autocomplete:false,size:this.size,variant:this.variant,required:this.required,invalid:this.invalid,success:this.success,role:"searchbox",value:this.value,minlength:this.minlength,maxlength:this.maxlength,"on-gov-input":l(this.onInputHandler.bind(this),200),"on-gov-keyup":this.onKeyUpHandler.bind(this),"on-gov-keydown":this.onKeyDownHandler.bind(this),"on-gov-focus":this.onFocusHandler.bind(this),"on-gov-blur":this.onBlurHandler.bind(this),wcagAutocomplete:"list",wcagDescribedBy:this.wcagDescribedBy,wcagLabelledBy:this.wcagLabelledBy,wcagOwns:[this.listBoxId,this.wcagOwns].join(" "),wcagExpanded:this.list.length&&this.focused,ref:t=>this.inputRef=t},e("slot",{slot:"right-icon",name:"right-icon"})),e("ul",{class:m.list,role:"listbox",id:this.listBoxId,ref:t=>this.listRef=t},this.focused&&this.list.length===0&&this.processing===false&&this.isValueAccepted&&this.messageEmpty?e("li",{class:m.empty},this.messageEmpty):null,this.focused&&this.processing===true&&this.isValueAccepted?e("li",{class:m.loading},e("gov-icon",{name:"loader",class:"gov-spin-animation"})," ",this.messageLoading):null,this.list.map(((t,i)=>{const s=this.arrowCounter===i;return e("li",{class:m.item,innerHTML:this.templateResolver(t,s),role:"option","aria-posinset":i,tabindex:s?0:-1,"aria-setsize":this.list.length,onTouchStart:t=>this.onSelectHandler(t,i),onMouseDown:t=>this.onSelectHandler(t,i),"aria-selected":a(s)})}))))}onFocusHandler(t){this.focused=true;this.arrowCounter=-1;if((this.value||this.minlength===0)&&this.searchCallback){this.doSearch()}t.stopPropagation();this.govFocus.emit({originalEvent:t,component:m.root,value:this.value,selected:null})}onBlurHandler(t){this.focused=false;this.list=[];this.arrowCounter=-1;t.stopPropagation();this.govBlur.emit({originalEvent:t,component:m.root,value:this.value,selected:null})}onInputHandler(t){this.value=t.target.value;t.stopPropagation();this.govInput.emit({originalEvent:t,component:m.root,value:this.value,selected:null});this.doSearch()}onSelectHandler(t,i=-1){let e=null;if(i>-1){e=this.list[i]}else if(c(this.arrowCounter,this.list)){e=this.list[this.arrowCounter]}if(e){this.govSelect.emit({component:m.root,value:this.value,selected:e,originalEvent:t});this.list=[];if(c(this.nameKey,e)&&typeof e[this.nameKey]==="string"){this.value=e[this.nameKey]}}}onKeyUpHandler(t){const i=t.detail.originalEvent;t.stopPropagation();i.stopPropagation();if(i.keyCode===38)this.onArrowUp();else if(i.keyCode===40)this.onArrowDown();else if(i.keyCode===13){t.preventDefault();i.preventDefault();this.onSelectHandler(t)}}onKeyDownHandler(t){const i=t.detail.originalEvent;t.stopPropagation();i.stopPropagation();if(i.keyCode===13){t.preventDefault();i.preventDefault()}}async setFocus(t){return this.inputRef.focus(t)}async setOptions(t){this.list=Array.isArray(t)?t:[];this.arrowCounter=-1}async clearValue(){this.value="";this.inputRef.value="";await this.inputRef.clearValue()}async setProcessing(t){this.processing=t}async setSearchCallback(t){this.searchCallback=t}async setTemplateResolver(t){this.templateResolver=t}get host(){return o(this)}static get watchers(){return{variant:["validateVariant"],size:["validateSize"]}}};u.style=g;export{u as gov_form_autocomplete};
2
- //# sourceMappingURL=p-927880d6.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["govFormAutocompleteCss","GovFormAutocomplete","constructor","hostRef","this","templateResolver","item","nameKey","listBoxId","createID","validateVariant","newValue","validateProp","FormAutocompleteVariants","FormAutocompleteClass","root","validateSize","FormAutocompleteSizes","onArrowUp","arrowCounter","moveToView","finally","onArrowDown","list","length","delay","heightOfList","listRef","offsetHeight","selected","querySelector","offsetTop","scrollTo","top","behavior","doSearch","Number","isInteger","minlength","isValueAccepted","processing","searchCallback","value","then","response","catch","componentWillLoad","variant","size","render","h","Host","class","placeholder","name","disabled","readonly","autocomplete","required","invalid","success","role","maxlength","throttle","onInputHandler","bind","onKeyUpHandler","onKeyDownHandler","onFocusHandler","onBlurHandler","wcagAutocomplete","wcagDescribedBy","wcagLabelledBy","wcagOwns","join","wcagExpanded","focused","ref","el","inputRef","slot","id","messageEmpty","empty","loading","messageLoading","map","index","isSelected","innerHTML","tabindex","onTouchStart","e","onSelectHandler","onMouseDown","toBoolAttr","stopPropagation","govFocus","emit","originalEvent","component","govBlur","target","govInput","has","govSelect","event","detail","keyCode","preventDefault","setFocus","options","focus","setOptions","Array","isArray","clearValue","setProcessing","status","setSearchCallback","callback","setTemplateResolver"],"sources":["../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.scss?tag=gov-form-autocomplete","../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.tsx"],"sourcesContent":["$class: \".gov-form-autocomplete\";\n\n#{$class} {\n\t@include base();\n\t&__list {\n\t\t@include typography($font-size-s);\n\t\t@extend %reset-ul;\n\t\tposition: absolute;\n\t\ttop: 100%;\n\t\tright: 0;\n\t\tleft: 0;\n\t\tz-index: 5;\n\t\tmax-height: rem-calc(225);\n\t\tmargin-top: rem-calc(8);\n\t\tborder: $form-autocomplete-border;\n\t\tborder-radius: $border-radius;\n\t\tbackground: $form-autocomplete-bg;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\toverscroll-behavior: none;\n\t}\n\t&__list > &__item {\n\t\t@extend %reset-ul-li;\n\t\tpadding: rem-calc(12 8);\n\t\tcursor: pointer;\n\t}\n\t&__item {\n\t\t&--empty,\n\t\t&--loading {\n\t\t\tpadding: rem-calc(12 8);\n\t\t\tcolor: $form-autocomplete-item-disable-color;\n\t\t\t& .gov-icon,\n\t\t\t& .gov-spin-animation {\n\t\t\t\twidth: 12px;\n\t\t\t\theight: 12px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// STATES\n\t&__list:empty {\n\t\tdisplay: none;\n\t}\n\n\t// HOVERS\n\t&__item {\n\t\t@include parameter(\"aria-selected\") {\n\t\t\tbackground: $form-autocomplete-item-select-bg;\n\t\t}\n\t\t@include hover() {\n\t\t\tbackground: $form-autocomplete-item-hover-bg;\n\t\t}\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {toBoolAttr} from '../../../helpers/Dom/template'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {Nullable} from '../../../types/interfaces'\nimport {createID} from '../../../utils/string.utils'\nimport {delay, has, throttle} from '../../../utils/utils'\nimport {FormInputEvent} from '../input/gov-form-input.types'\nimport {\n\tFormAutocompleteClass,\n\tFormAutocompleteSizes,\n\tFormAutocompleteVariants,\n\tSizesType,\n\tVariantType\n} from './constants'\nimport {FormAutocompleteEvent, GovFormAutocompleteItem} from './gov-form-autocomplete.types'\n\n@Component({\n\ttag: 'gov-form-autocomplete',\n\tstyleUrl: 'gov-form-autocomplete.scss',\n})\nexport class GovFormAutocomplete {\n\tprivate inputRef?: HTMLGovFormInputElement\n\tprivate listRef?: HTMLUListElement\n\tprivate readonly listBoxId: string\n\tprivate searchCallback: (value: string) => Promise<GovFormAutocompleteItem[]>\n\tprivate templateResolver: (item: GovFormAutocompleteItem, selected: boolean) => string = item => item[this.nameKey]\n\n\tconstructor() {\n\t\tthis.listBoxId = createID('GovListBox')\n\t}\n\n\t@Element() host: HTMLGovFormInputElement\n\t/**\n\t * Value of input\n\t */\n\t@Prop({reflect: true, mutable: true}) value = ''\n\t/**\n\t * Custom input identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Style variation of the form input.\n\t */\n\t@Prop() readonly variant?: VariantType\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Input’s size.\n\t */\n\t@Prop() readonly size?: SizesType = 'm'\n\t/**\n\t * Main key name in the object\n\t */\n\t@Prop() readonly nameKey: string = 'name'\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the input component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * Text that appears in the form control when it has no value set\n\t */\n\t@Prop() readonly placeholder: string\n\t/**\n\t * The value is not editable\n\t */\n\t@Prop() readonly readonly: boolean\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Minimum length (number of characters) of value\n\t */\n\t@Prop() readonly minlength: number = 3\n\t/**\n\t * Maximum length (number of characters) of value\n\t */\n\t@Prop() readonly maxlength: number\n\t/**\n\t * Custom message for when there is a blank sheet\n\t */\n\t@Prop({attribute: 'message-empty'}) readonly messageEmpty: string = 'Nebyly nalezeny žádné výsledky'\n\t/**\n\t * Custom message for when data is loaded\n\t */\n\t@Prop({attribute: 'message-loading'}) readonly messageLoading: string = 'Načítám...'\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({attribute: 'wcag-described-by'}) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({attribute: 'wcag-labelled-by'}) readonly wcagLabelledBy: string\n\t/**\n\t * Same as original parameter\n\t * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-owns\n\t */\n\t@Prop({attribute: 'wcag-owns'}) readonly wcagOwns: string\n\t/**\n\t * Emitted when the input has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({eventName: 'gov-input'}) govInput: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({eventName: 'gov-select'}) govSelect: EventEmitter<FormAutocompleteEvent>\n\t@State() focused: boolean\n\t@State() processing = false\n\t@State() arrowCounter = -1\n\t@State() list: GovFormAutocompleteItem[] = []\n\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteVariants, newValue, FormAutocompleteClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteSizes, newValue, FormAutocompleteClass.root)\n\t}\n\n\tprivate onArrowUp() {\n\t\tif (this.arrowCounter > 0) {\n\t\t\tthis.arrowCounter = this.arrowCounter - 1\n\t\t\tthis.moveToView().finally()\n\t\t}\n\t}\n\n\tprivate onArrowDown() {\n\t\tif (this.arrowCounter < this.list.length - 1) {\n\t\t\tthis.arrowCounter = this.arrowCounter + 1\n\t\t\tthis.moveToView().finally()\n\t\t}\n\t}\n\n\tprivate async moveToView() {\n\t\tawait delay(200)\n\t\tconst heightOfList = this.listRef.offsetHeight\n\t\tconst selected = this.listRef.querySelector('li[aria-selected=\"true\"]') as HTMLUListElement\n\t\tif (selected && heightOfList) {\n\t\t\tconst offsetTop = selected.offsetTop\n\t\t\tthis.listRef.scrollTo({top: offsetTop, behavior: 'smooth'})\n\t\t}\n\t}\n\n\tprivate doSearch() {\n\t\tif (Number.isInteger(this.minlength) && this.isValueAccepted === false && this.minlength) {\n\t\t\tthis.list = []\n\t\t\tthis.arrowCounter = -1\n\t\t\tthis.processing = false\n\t\t\treturn\n\t\t}\n\t\tif (this.searchCallback) {\n\t\t\tthis.processing = true\n\t\t\tthis.searchCallback(this.value)\n\t\t\t\t.then(response => (this.list = response))\n\t\t\t\t.catch(() => (this.list = []))\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.arrowCounter = -1\n\t\t\t\t\tthis.processing = false\n\t\t\t\t})\n\t\t}\n\t}\n\n\tget isValueAccepted() {\n\t\tif (typeof this.value === 'string') {\n\t\t\treturn this.value.length >= this.minlength\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormAutocompleteClass.root} size={this.size} variant={this.variant}>\n\t\t\t\t<gov-form-input\n\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tautocomplete={false}\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\tsuccess={this.success}\n\t\t\t\t\trole={'searchbox'}\n\t\t\t\t\tvalue={this.value}\n\t\t\t\t\tminlength={this.minlength}\n\t\t\t\t\tmaxlength={this.maxlength}\n\t\t\t\t\ton-gov-input={throttle(this.onInputHandler.bind(this), 200)}\n\t\t\t\t\ton-gov-keyup={this.onKeyUpHandler.bind(this)}\n\t\t\t\t\ton-gov-keydown={this.onKeyDownHandler.bind(this)}\n\t\t\t\t\ton-gov-focus={this.onFocusHandler.bind(this)}\n\t\t\t\t\ton-gov-blur={this.onBlurHandler.bind(this)}\n\t\t\t\t\twcagAutocomplete={'list'}\n\t\t\t\t\twcagDescribedBy={this.wcagDescribedBy}\n\t\t\t\t\twcagLabelledBy={this.wcagLabelledBy}\n\t\t\t\t\twcagOwns={[this.listBoxId, this.wcagOwns].join(' ')}\n\t\t\t\t\twcagExpanded={this.list.length && this.focused}\n\t\t\t\t\tref={el => (this.inputRef = el as HTMLGovFormInputElement)}\n\t\t\t\t>\n\t\t\t\t\t<slot slot=\"right-icon\" name=\"right-icon\"/>\n\t\t\t\t</gov-form-input>\n\t\t\t\t<ul class={FormAutocompleteClass.list} role={'listbox'} id={this.listBoxId}\n\t\t\t\t\t\tref={el => (this.listRef = el as HTMLUListElement)}>\n\t\t\t\t\t{this.focused && this.list.length === 0 && this.processing === false && this.isValueAccepted && this.messageEmpty ? (\n\t\t\t\t\t\t<li class={FormAutocompleteClass.empty}>{this.messageEmpty}</li>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{this.focused && this.processing === true && this.isValueAccepted ? (\n\t\t\t\t\t\t<li class={FormAutocompleteClass.loading}>\n\t\t\t\t\t\t\t<gov-icon name=\"loader\" class=\"gov-spin-animation\"></gov-icon>\n\t\t\t\t\t\t\t&nbsp;{this.messageLoading}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{this.list.map((item, index) => {\n\t\t\t\t\t\tconst isSelected = this.arrowCounter === index\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tclass={FormAutocompleteClass.item}\n\t\t\t\t\t\t\t\tinnerHTML={this.templateResolver(item, isSelected)}\n\t\t\t\t\t\t\t\trole={'option'}\n\t\t\t\t\t\t\t\taria-posinset={index}\n\t\t\t\t\t\t\t\ttabindex={isSelected ? 0 : -1}\n\t\t\t\t\t\t\t\taria-setsize={this.list.length}\n\t\t\t\t\t\t\t\tonTouchStart={(e: TouchEvent) => this.onSelectHandler(e, index)}\n\t\t\t\t\t\t\t\tonMouseDown={(e: PointerEvent) => this.onSelectHandler(e, index)}\n\t\t\t\t\t\t\t\taria-selected={toBoolAttr(isSelected)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</ul>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.arrowCounter = -1\n\t\tif ((this.value || this.minlength === 0) && this.searchCallback) {\n\t\t\tthis.doSearch()\n\t\t}\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.list = []\n\t\tthis.arrowCounter = -1\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t}\n\n\tprivate onInputHandler(e: InputEvent) {\n\t\tthis.value = (e.target as HTMLGovFormInputElement).value\n\t\te.stopPropagation()\n\t\tthis.govInput.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t\tthis.doSearch()\n\t}\n\n\tprivate onSelectHandler(e: PointerEvent | CustomEvent | TouchEvent, index = -1) {\n\t\tlet selected: Nullable<GovFormAutocompleteItem> = null\n\t\tif (index > -1) {\n\t\t\tselected = this.list[index]\n\t\t} else if (has(this.arrowCounter, this.list)) {\n\t\t\tselected = this.list[this.arrowCounter]\n\t\t}\n\t\tif (selected) {\n\t\t\tthis.govSelect.emit({\n\t\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\t\tvalue: this.value,\n\t\t\t\tselected: selected,\n\t\t\t\toriginalEvent: e,\n\t\t\t})\n\t\t\tthis.list = []\n\t\t\tif (has(this.nameKey, selected) && typeof selected[this.nameKey] === 'string') {\n\t\t\t\tthis.value = selected[this.nameKey]\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate onKeyUpHandler(e: CustomEvent) {\n\t\tconst event = (e.detail as FormInputEvent).originalEvent as KeyboardEvent\n\t\te.stopPropagation()\n\t\tevent.stopPropagation()\n\t\tif (event.keyCode === 38) this.onArrowUp()\n\t\telse if (event.keyCode === 40) this.onArrowDown()\n\t\telse if (event.keyCode === 13) {\n\t\t\te.preventDefault()\n\t\t\tevent.preventDefault()\n\t\t\tthis.onSelectHandler(e)\n\t\t}\n\t}\n\n\tprivate onKeyDownHandler(e: CustomEvent) {\n\t\tconst event = (e.detail as FormInputEvent).originalEvent as KeyboardEvent\n\t\te.stopPropagation()\n\t\tevent.stopPropagation()\n\t\tif (event.keyCode === 13) {\n\t\t\te.preventDefault()\n\t\t\tevent.preventDefault()\n\t\t}\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.inputRef.focus(options)\n\t}\n\n\t/**\n\t * Set options for list\n\t */\n\t@Method()\n\tasync setOptions(options: GovFormAutocompleteItem[]): Promise<void> {\n\t\tthis.list = Array.isArray(options) ? options : []\n\t\tthis.arrowCounter = -1\n\t}\n\n\t/**\n\t * Clears whisperer value\n\t */\n\t@Method()\n\tasync clearValue(): Promise<void> {\n\t\tthis.value = ''\n\t\tthis.inputRef.value = ''\n\n\t\tawait this.inputRef.clearValue()\n\t}\n\n\t/**\n\t * Clears whisperer value\n\t */\n\t@Method()\n\tasync setProcessing(status: boolean): Promise<void> {\n\t\tthis.processing = status\n\t}\n\n\t/**\n\t * Set a custom asynchronous function for the whisperer\n\t */\n\t@Method()\n\tasync setSearchCallback(callback: (value: string) => Promise<any>) {\n\t\tthis.searchCallback = callback\n\t}\n\n\t/**\n\t * Setting a custom whisper result template\n\t * @param callback\n\t */\n\t@Method()\n\tasync setTemplateResolver(callback: (item: GovFormAutocompleteItem) => string) {\n\t\tthis.templateResolver = callback\n\t}\n}\n"],"mappings":"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"}
package/dist/globals.d.ts DELETED
@@ -1,2 +0,0 @@
1
- declare module "*.md";
2
- declare module "*.json";
@@ -1,6 +0,0 @@
1
- declare module '*.jpg'
2
-
3
- declare module '*.md' {
4
- const value: string // markdown is just a string
5
- export default value
6
- }