overview-components 1.1.161 → 1.1.165

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 (250) hide show
  1. package/dist/assets/generated/locales/de.js +269 -0
  2. package/dist/assets/generated/locales/de.js.map +1 -0
  3. package/dist/assets/generated/locales/en.js +269 -0
  4. package/dist/assets/generated/locales/en.js.map +1 -0
  5. package/dist/assets/generated/locales/fr.js +269 -0
  6. package/dist/assets/generated/locales/fr.js.map +1 -0
  7. package/dist/assets/generated/locales/hr.js +269 -0
  8. package/dist/assets/generated/locales/hr.js.map +1 -0
  9. package/dist/assets/generated/locales/it.js +269 -0
  10. package/dist/assets/generated/locales/it.js.map +1 -0
  11. package/dist/assets/generated/locales/pl.js +269 -0
  12. package/dist/assets/generated/locales/pl.js.map +1 -0
  13. package/dist/assets/generated/locales/ro.js +269 -0
  14. package/dist/assets/generated/locales/ro.js.map +1 -0
  15. package/dist/assets/generated/locales/sk.js +269 -0
  16. package/dist/assets/generated/locales/sk.js.map +1 -0
  17. package/dist/assets/generated/locales/sr.js +269 -0
  18. package/dist/assets/generated/locales/sr.js.map +1 -0
  19. package/dist/assets/icons/iconGlyphs.js +691 -0
  20. package/dist/assets/icons/iconGlyphs.js.map +1 -0
  21. package/dist/assets/illustration/aichatbot-illustration.js +144 -0
  22. package/dist/assets/illustration/aichatbot-illustration.js.map +1 -0
  23. package/dist/assets/illustration/delete-illustration.js +88 -0
  24. package/dist/assets/illustration/delete-illustration.js.map +1 -0
  25. package/dist/assets/illustration/no-content.js +159 -0
  26. package/dist/assets/illustration/no-content.js.map +1 -0
  27. package/dist/assets/illustration/no-preview.js +125 -0
  28. package/dist/assets/illustration/no-preview.js.map +1 -0
  29. package/dist/assets/illustration/not-found.js +98 -0
  30. package/dist/assets/illustration/not-found.js.map +1 -0
  31. package/dist/assets/illustration/settings-illustration.js +168 -0
  32. package/dist/assets/illustration/settings-illustration.js.map +1 -0
  33. package/dist/components/components-settings/attachments-tab-settings.js +318 -0
  34. package/dist/components/components-settings/attachments-tab-settings.js.map +1 -0
  35. package/dist/components/components-settings/data-grid-settings.js +553 -0
  36. package/dist/components/components-settings/data-grid-settings.js.map +1 -0
  37. package/dist/components/components-settings/section-tab-settings.js +719 -0
  38. package/dist/components/components-settings/section-tab-settings.js.map +1 -0
  39. package/dist/components/components-settings/tabs-overview-settings.js +421 -0
  40. package/dist/components/components-settings/tabs-overview-settings.js.map +1 -0
  41. package/dist/components/index.js +30 -0
  42. package/dist/components/index.js.map +1 -0
  43. package/dist/components/lit-ai-filter-assistant.js +443 -0
  44. package/dist/components/lit-ai-filter-assistant.js.map +1 -0
  45. package/dist/components/lit-attachments-tab.js +2044 -0
  46. package/dist/components/lit-attachments-tab.js.map +1 -0
  47. package/dist/components/lit-badge.js +124 -0
  48. package/dist/components/lit-badge.js.map +1 -0
  49. package/dist/components/lit-case-variables-tab.d.ts +2 -0
  50. package/dist/components/lit-case-variables-tab.d.ts.map +1 -1
  51. package/dist/components/lit-case-variables-tab.js +3763 -0
  52. package/dist/components/lit-case-variables-tab.js.map +1 -0
  53. package/dist/components/lit-chart.js +727 -0
  54. package/dist/components/lit-chart.js.map +1 -0
  55. package/dist/components/lit-data-grid-tanstack.js +2550 -0
  56. package/dist/components/lit-data-grid-tanstack.js.map +1 -0
  57. package/dist/components/lit-filter-builder.js +701 -0
  58. package/dist/components/lit-filter-builder.js.map +1 -0
  59. package/dist/components/lit-filter-modal.js +349 -0
  60. package/dist/components/lit-filter-modal.js.map +1 -0
  61. package/dist/components/lit-multiselect-item.js +707 -0
  62. package/dist/components/lit-multiselect-item.js.map +1 -0
  63. package/dist/components/lit-section-tab.js +268 -0
  64. package/dist/components/lit-section-tab.js.map +1 -0
  65. package/dist/components/lit-tabs-overview.js +356 -0
  66. package/dist/components/lit-tabs-overview.js.map +1 -0
  67. package/dist/components/modals/lit-confirm-modal.js +121 -0
  68. package/dist/components/modals/lit-confirm-modal.js.map +1 -0
  69. package/dist/components/modals/lit-delete-modal.js +131 -0
  70. package/dist/components/modals/lit-delete-modal.js.map +1 -0
  71. package/dist/components/react-wrappers/ai-filter-assistant.js +9 -0
  72. package/dist/components/react-wrappers/ai-filter-assistant.js.map +1 -0
  73. package/dist/components/react-wrappers/attachments-tab.js +9 -0
  74. package/dist/components/react-wrappers/attachments-tab.js.map +1 -0
  75. package/dist/components/react-wrappers/badge.js +9 -0
  76. package/dist/components/react-wrappers/badge.js.map +1 -0
  77. package/dist/components/react-wrappers/button.js +9 -0
  78. package/dist/components/react-wrappers/button.js.map +1 -0
  79. package/dist/components/react-wrappers/calendar.js +9 -0
  80. package/dist/components/react-wrappers/calendar.js.map +1 -0
  81. package/dist/components/react-wrappers/case-variables-tab.js +9 -0
  82. package/dist/components/react-wrappers/case-variables-tab.js.map +1 -0
  83. package/dist/components/react-wrappers/chart.js +9 -0
  84. package/dist/components/react-wrappers/chart.js.map +1 -0
  85. package/dist/components/react-wrappers/data-grid-tanstack.js +9 -0
  86. package/dist/components/react-wrappers/data-grid-tanstack.js.map +1 -0
  87. package/dist/components/react-wrappers/filter-builder.js +12 -0
  88. package/dist/components/react-wrappers/filter-builder.js.map +1 -0
  89. package/dist/components/react-wrappers/filter-modal.js +9 -0
  90. package/dist/components/react-wrappers/filter-modal.js.map +1 -0
  91. package/dist/components/react-wrappers/index.js +27 -0
  92. package/dist/components/react-wrappers/index.js.map +1 -0
  93. package/dist/components/react-wrappers/progress-bar.js +9 -0
  94. package/dist/components/react-wrappers/progress-bar.js.map +1 -0
  95. package/dist/components/react-wrappers/section-tab.js +9 -0
  96. package/dist/components/react-wrappers/section-tab.js.map +1 -0
  97. package/dist/components/react-wrappers/tabs-overview.js +9 -0
  98. package/dist/components/react-wrappers/tabs-overview.js.map +1 -0
  99. package/dist/data/translations.js +2768 -0
  100. package/dist/data/translations.js.map +1 -0
  101. package/dist/index.js +7 -19890
  102. package/dist/index.js.map +1 -0
  103. package/dist/schemas/index.js +18 -0
  104. package/dist/schemas/index.js.map +1 -0
  105. package/dist/schemas/lit-attachments-tab-document.schema.js +39 -0
  106. package/dist/schemas/lit-attachments-tab-document.schema.js.map +1 -0
  107. package/dist/schemas/lit-attachments-tab-settings-value.schema.js +30 -0
  108. package/dist/schemas/lit-attachments-tab-settings-value.schema.js.map +1 -0
  109. package/dist/schemas/lit-attachments-tab.schema.js +68 -0
  110. package/dist/schemas/lit-attachments-tab.schema.js.map +1 -0
  111. package/dist/schemas/lit-case-variables-tab-cell.schema.d.ts +3 -0
  112. package/dist/schemas/lit-case-variables-tab-cell.schema.d.ts.map +1 -1
  113. package/dist/schemas/lit-case-variables-tab-cell.schema.js +226 -0
  114. package/dist/schemas/lit-case-variables-tab-cell.schema.js.map +1 -0
  115. package/dist/schemas/lit-case-variables-tab-rows.schema.d.ts +3 -0
  116. package/dist/schemas/lit-case-variables-tab-rows.schema.d.ts.map +1 -1
  117. package/dist/schemas/lit-case-variables-tab-rows.schema.js +6 -0
  118. package/dist/schemas/lit-case-variables-tab-rows.schema.js.map +1 -0
  119. package/dist/schemas/lit-case-variables-tab.schema.d.ts +6 -0
  120. package/dist/schemas/lit-case-variables-tab.schema.d.ts.map +1 -1
  121. package/dist/schemas/lit-case-variables-tab.schema.js +27 -0
  122. package/dist/schemas/lit-case-variables-tab.schema.js.map +1 -0
  123. package/dist/schemas/lit-data-grid-tanstack-column-array.schema.js +6 -0
  124. package/dist/schemas/lit-data-grid-tanstack-column-array.schema.js.map +1 -0
  125. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter-array.schema.js +6 -0
  126. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter-array.schema.js.map +1 -0
  127. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter.schema.js +11 -0
  128. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter.schema.js.map +1 -0
  129. package/dist/schemas/lit-data-grid-tanstack-column.schema.js +79 -0
  130. package/dist/schemas/lit-data-grid-tanstack-column.schema.js.map +1 -0
  131. package/dist/schemas/lit-data-grid-tanstack.schema.js +108 -0
  132. package/dist/schemas/lit-data-grid-tanstack.schema.js.map +1 -0
  133. package/dist/schemas/lit-filter-builder.schema.js +61 -0
  134. package/dist/schemas/lit-filter-builder.schema.js.map +1 -0
  135. package/dist/schemas/lit-section-tab-schema.js +37 -0
  136. package/dist/schemas/lit-section-tab-schema.js.map +1 -0
  137. package/dist/schemas/lit-tabs-overview-tab-array.schema.js +6 -0
  138. package/dist/schemas/lit-tabs-overview-tab-array.schema.js.map +1 -0
  139. package/dist/schemas/lit-tabs-overview-tab.schema.js +32 -0
  140. package/dist/schemas/lit-tabs-overview-tab.schema.js.map +1 -0
  141. package/dist/schemas/lit-tabs-overview.schema.js +29 -0
  142. package/dist/schemas/lit-tabs-overview.schema.js.map +1 -0
  143. package/dist/scripts/translate-locales.js +241 -0
  144. package/dist/scripts/translate-locales.js.map +1 -0
  145. package/dist/shared/filter-inputs.js +429 -0
  146. package/dist/shared/filter-inputs.js.map +1 -0
  147. package/dist/shared/index.js +40 -0
  148. package/dist/shared/index.js.map +1 -0
  149. package/dist/shared/lit-button.js +159 -0
  150. package/dist/shared/lit-button.js.map +1 -0
  151. package/dist/shared/lit-calendar.js +485 -0
  152. package/dist/shared/lit-calendar.js.map +1 -0
  153. package/dist/shared/lit-case-variables-tab-cell.d.ts +2 -0
  154. package/dist/shared/lit-case-variables-tab-cell.d.ts.map +1 -1
  155. package/dist/shared/lit-case-variables-tab-cell.js +235 -0
  156. package/dist/shared/lit-case-variables-tab-cell.js.map +1 -0
  157. package/dist/shared/lit-checkbox.js +184 -0
  158. package/dist/shared/lit-checkbox.js.map +1 -0
  159. package/dist/shared/lit-custom-popper.js +116 -0
  160. package/dist/shared/lit-custom-popper.js.map +1 -0
  161. package/dist/shared/lit-data-grid-action-buttons-popover.js +295 -0
  162. package/dist/shared/lit-data-grid-action-buttons-popover.js.map +1 -0
  163. package/dist/shared/lit-data-grid-density-popover.js +84 -0
  164. package/dist/shared/lit-data-grid-density-popover.js.map +1 -0
  165. package/dist/shared/lit-data-grid-export-popover.js +68 -0
  166. package/dist/shared/lit-data-grid-export-popover.js.map +1 -0
  167. package/dist/shared/lit-data-grid-operators-popover.js +114 -0
  168. package/dist/shared/lit-data-grid-operators-popover.js.map +1 -0
  169. package/dist/shared/lit-data-grid-row-actions.js +87 -0
  170. package/dist/shared/lit-data-grid-row-actions.js.map +1 -0
  171. package/dist/shared/lit-date-picker.js +608 -0
  172. package/dist/shared/lit-date-picker.js.map +1 -0
  173. package/dist/shared/lit-document-thumbnail.js +383 -0
  174. package/dist/shared/lit-document-thumbnail.js.map +1 -0
  175. package/dist/shared/lit-filter-input.js +115 -0
  176. package/dist/shared/lit-filter-input.js.map +1 -0
  177. package/dist/shared/lit-icon-button.js +165 -0
  178. package/dist/shared/lit-icon-button.js.map +1 -0
  179. package/dist/shared/lit-icon.d.ts.map +1 -1
  180. package/dist/shared/lit-icon.js +337 -0
  181. package/dist/shared/lit-icon.js.map +1 -0
  182. package/dist/shared/lit-input.js +282 -0
  183. package/dist/shared/lit-input.js.map +1 -0
  184. package/dist/shared/lit-label.js +103 -0
  185. package/dist/shared/lit-label.js.map +1 -0
  186. package/dist/shared/lit-loader.js +68 -0
  187. package/dist/shared/lit-loader.js.map +1 -0
  188. package/dist/shared/lit-loading-bar.js +91 -0
  189. package/dist/shared/lit-loading-bar.js.map +1 -0
  190. package/dist/shared/lit-menu-item.js +98 -0
  191. package/dist/shared/lit-menu-item.js.map +1 -0
  192. package/dist/shared/lit-menu.js +29 -0
  193. package/dist/shared/lit-menu.js.map +1 -0
  194. package/dist/shared/lit-modal-body.js +24 -0
  195. package/dist/shared/lit-modal-body.js.map +1 -0
  196. package/dist/shared/lit-modal-footer.js +21 -0
  197. package/dist/shared/lit-modal-footer.js.map +1 -0
  198. package/dist/shared/lit-modal-header.js +34 -0
  199. package/dist/shared/lit-modal-header.js.map +1 -0
  200. package/dist/shared/lit-modal.js +168 -0
  201. package/dist/shared/lit-modal.js.map +1 -0
  202. package/dist/shared/lit-overflow-tooltip.js +114 -0
  203. package/dist/shared/lit-overflow-tooltip.js.map +1 -0
  204. package/dist/shared/lit-pill.js +87 -0
  205. package/dist/shared/lit-pill.js.map +1 -0
  206. package/dist/shared/lit-progress-bar.js +130 -0
  207. package/dist/shared/lit-progress-bar.js.map +1 -0
  208. package/dist/shared/lit-responsive-button.js +106 -0
  209. package/dist/shared/lit-responsive-button.js.map +1 -0
  210. package/dist/shared/lit-select-field.js +457 -0
  211. package/dist/shared/lit-select-field.js.map +1 -0
  212. package/dist/shared/lit-select.js +668 -0
  213. package/dist/shared/lit-select.js.map +1 -0
  214. package/dist/shared/lit-settings.js +76 -0
  215. package/dist/shared/lit-settings.js.map +1 -0
  216. package/dist/shared/lit-text-field.js +252 -0
  217. package/dist/shared/lit-text-field.js.map +1 -0
  218. package/dist/shared/lit-toggle.js +240 -0
  219. package/dist/shared/lit-toggle.js.map +1 -0
  220. package/dist/shared/lit-tooltip.js +165 -0
  221. package/dist/shared/lit-tooltip.js.map +1 -0
  222. package/dist/shared/simple-popper.js +285 -0
  223. package/dist/shared/simple-popper.js.map +1 -0
  224. package/dist/shared/simple-tooltip.js +249 -0
  225. package/dist/shared/simple-tooltip.js.map +1 -0
  226. package/dist/shared/styles/button-shared-styles.js +494 -0
  227. package/dist/shared/styles/button-shared-styles.js.map +1 -0
  228. package/dist/styles.js +169 -0
  229. package/dist/styles.js.map +1 -0
  230. package/dist/utils/custom-filters.js +42 -0
  231. package/dist/utils/custom-filters.js.map +1 -0
  232. package/dist/utils/date.js +21 -0
  233. package/dist/utils/date.js.map +1 -0
  234. package/dist/utils/file-type-utils.js +55 -0
  235. package/dist/utils/file-type-utils.js.map +1 -0
  236. package/dist/utils/formatNumber.js +62 -0
  237. package/dist/utils/formatNumber.js.map +1 -0
  238. package/dist/utils/getOperatorByType.js +70 -0
  239. package/dist/utils/getOperatorByType.js.map +1 -0
  240. package/dist/utils/getOverviewValue.js +175 -0
  241. package/dist/utils/getOverviewValue.js.map +1 -0
  242. package/dist/utils/localization.js +433 -0
  243. package/dist/utils/localization.js.map +1 -0
  244. package/dist/utils/pdf-thumbnail-generator.js +91 -0
  245. package/dist/utils/pdf-thumbnail-generator.js.map +1 -0
  246. package/dist/utils/utils.js +94 -0
  247. package/dist/utils/utils.js.map +1 -0
  248. package/package.json +21 -58
  249. package/README.md +0 -82
  250. package/dist/icons.js +0 -692
@@ -0,0 +1,668 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, html, css } from 'lit';
8
+ import { msg } from '@lit/localize';
9
+ import { classMap } from 'lit/directives/class-map.js';
10
+ import { property, state, query } from 'lit/decorators.js';
11
+ import './lit-custom-popper.js';
12
+ import './lit-icon.js';
13
+ import './lit-icon-button.js';
14
+ import './lit-checkbox.js';
15
+ import './lit-menu-item.js';
16
+ import './lit-menu.js';
17
+ export class LitSelect extends LitElement {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.id = '';
21
+ this.value = ''; // Aktuálne vybraná hodnota
22
+ this.options = []; // Možnosti
23
+ this.onChange = () => { }; // Callback funkcia
24
+ this.multiple = false;
25
+ this.disableClearButton = false;
26
+ this.disabled = false;
27
+ this.server = false;
28
+ this.setOperator = (operator) => { };
29
+ this.filterOperators = [];
30
+ this.placeholder = '';
31
+ this.variant = 'outlined';
32
+ this.color = 'default';
33
+ this.isOpen = false; // Stav poppera
34
+ this.searchQuery = null;
35
+ this.selectedIndex = -1;
36
+ this.typeBuffer = '';
37
+ this.typeTimeout = null;
38
+ this.handleOutsideClick = (event) => {
39
+ const path = event.composedPath();
40
+ if (!path.includes(this) &&
41
+ !path.some((element) => element instanceof HTMLElement && element.tagName === 'SIMPLE-POPPER')) {
42
+ this.closePopover();
43
+ }
44
+ };
45
+ }
46
+ connectedCallback() {
47
+ super.connectedCallback();
48
+ this.addEventListener('focus', () => this.focus());
49
+ document.addEventListener('click', this.handleOutsideClick);
50
+ }
51
+ disconnectedCallback() {
52
+ super.disconnectedCallback();
53
+ this.removeEventListener('focus', () => this.focus());
54
+ document.removeEventListener('click', this.handleOutsideClick);
55
+ this.closePopover();
56
+ }
57
+ firstUpdated() {
58
+ if (this.server && this.multiple) {
59
+ this.setOperator('isAnyOfValue');
60
+ }
61
+ }
62
+ async toggleCustomPopover(event) {
63
+ event?.preventDefault();
64
+ this.isOpen = !this.isOpen;
65
+ if (!this.multiple) {
66
+ await this.updateComplete; // Ensure the input is rendered
67
+ const input = this.shadowRoot?.querySelector('input');
68
+ this.selectedIndex = this.options.findIndex((option) => option.value === this.value);
69
+ if (input) {
70
+ input.focus();
71
+ input.select(); // Select all text
72
+ this.scrollToVisible();
73
+ }
74
+ }
75
+ }
76
+ scrollToVisible() {
77
+ // Use a short timeout to ensure the DOM is updated
78
+ setTimeout(() => {
79
+ const popper = this.shadowRoot?.querySelector('simple-popper');
80
+ const optionElement = popper?.querySelector(`#${this.id}-${this.selectedIndex}`);
81
+ if (optionElement) {
82
+ // Only scroll within the dropdown menu, don't scroll the page
83
+ optionElement.scrollIntoView({
84
+ block: 'nearest',
85
+ inline: 'nearest',
86
+ behavior: 'auto',
87
+ });
88
+ }
89
+ }, 0);
90
+ }
91
+ closePopover() {
92
+ this.isOpen = false;
93
+ this.searchQuery = null;
94
+ this.selectedIndex = -1;
95
+ }
96
+ selectOption(optionValue) {
97
+ this.selectedIndex = this.options.findIndex((option) => option.value === optionValue);
98
+ if (this.multiple) {
99
+ if (Array.isArray(this.value) && this.value.includes(optionValue)) {
100
+ this.value = this.value.filter((item) => item !== optionValue);
101
+ this.onChange(this.value);
102
+ }
103
+ else {
104
+ const newValue = [...this.value, optionValue];
105
+ this.value = newValue;
106
+ this.onChange(this.value);
107
+ this.searchQuery = null;
108
+ }
109
+ }
110
+ else {
111
+ this.value = String(optionValue);
112
+ this.onChange(this.value);
113
+ this.closePopover();
114
+ }
115
+ }
116
+ clearValue(e) {
117
+ e.stopPropagation(); // Zabrániť spusteniu togglePopover
118
+ this.value = [];
119
+ this.onChange([]); // Nastav prázdnu hodnotu a zavolaj callback
120
+ this.searchQuery = null;
121
+ }
122
+ handleInput(event) {
123
+ this.searchQuery = event.target.value;
124
+ this.isOpen = true;
125
+ this.selectedIndex = -1;
126
+ }
127
+ getFilteredOptions() {
128
+ if (!this.searchQuery) {
129
+ return this.options;
130
+ }
131
+ return this.options.filter((option) => option.label?.toLowerCase().includes(this.searchQuery?.toLowerCase() || '') &&
132
+ (!this.multiple || !this.value.includes(option.value)));
133
+ }
134
+ async handleKeyDown(event) {
135
+ if (event.key === 'Tab' || event.key === 'Escape') {
136
+ this.closePopover();
137
+ }
138
+ else if (event.key === 'ArrowDown') {
139
+ event.preventDefault();
140
+ if (!this.isOpen) {
141
+ this.toggleCustomPopover();
142
+ }
143
+ else {
144
+ this.selectedIndex = Math.min(this.selectedIndex + 1, this.getFilteredOptions().length - 1);
145
+ }
146
+ }
147
+ else if (event.key === 'ArrowUp') {
148
+ event.preventDefault();
149
+ if (!this.isOpen) {
150
+ this.toggleCustomPopover();
151
+ }
152
+ this.selectedIndex = Math.max(this.selectedIndex - 1, 0);
153
+ }
154
+ else if (event.key === 'Enter') {
155
+ if (this.selectedIndex >= 0) {
156
+ this.selectOption(this.getFilteredOptions()[this.selectedIndex].value);
157
+ }
158
+ }
159
+ else if (/^[a-z0-9]$/i.test(event.key)) {
160
+ this.typeBuffer += event.key.toLowerCase();
161
+ if (this.typeTimeout)
162
+ clearTimeout(this.typeTimeout);
163
+ this.typeTimeout = window.setTimeout(() => {
164
+ this.typeBuffer = '';
165
+ }, 500);
166
+ const matchIndex = this.options.findIndex((option) => option.label?.toLowerCase().startsWith(this.typeBuffer));
167
+ if (matchIndex !== -1) {
168
+ this.selectedIndex = matchIndex;
169
+ }
170
+ }
171
+ this.scrollToVisible();
172
+ this.requestUpdate();
173
+ }
174
+ focus() {
175
+ const firstFocusable = this.shadowRoot?.querySelector('input');
176
+ firstFocusable?.focus();
177
+ }
178
+ _isTrulyEmpty(value) {
179
+ if (value == null)
180
+ return true; // null or undefined
181
+ if (typeof value === 'string' || Array.isArray(value))
182
+ return value.length === 0;
183
+ if (typeof value === 'object')
184
+ return Object.keys(value).length === 0;
185
+ return false; // numbers, booleans, etc. are not empty
186
+ }
187
+ render() {
188
+ const selectOptions = this.multiple ? this.options : this.getFilteredOptions();
189
+ const dropdownIconClasses = {
190
+ 'dropdown-icon': true,
191
+ 'dropdown-icon--rotate': this.isOpen,
192
+ 'dropdown-icon--no-filter': !this.server || (this.server && this.multiple),
193
+ };
194
+ const displayValue = this._isTrulyEmpty(this.value)
195
+ ? ''
196
+ : !Array.isArray(this.value)
197
+ ? (() => {
198
+ const option = this.options.find((option) => option.value == this.value);
199
+ if (!option)
200
+ return '';
201
+ let label = option.label || '';
202
+ if (option.meta && option.meta.length > 0) {
203
+ label += ' ' + option.meta.map((meta) => `[${meta}]`).join(' ');
204
+ }
205
+ return label;
206
+ })()
207
+ : this.value
208
+ .map((val) => {
209
+ const option = this.options.find((option) => option.value == val);
210
+ if (!option)
211
+ return val;
212
+ let label = option.label || val;
213
+ if (option.meta && option.meta.length > 0) {
214
+ label += ' ' + option.meta.map((meta) => `[${meta}]`).join(' ');
215
+ }
216
+ return label;
217
+ })
218
+ .join(', ');
219
+ const inputClass = `${this.variant}-${this.color}`;
220
+ return html `
221
+ <div class="custom-icon-wrapper ${inputClass}" slot="reference">
222
+ <input
223
+ id="${this.id}"
224
+ class="${inputClass}"
225
+ ?readonly=${this.multiple}
226
+ type="text"
227
+ placeholder="${this.placeholder}"
228
+ .value="${this.searchQuery ?? displayValue ?? ''}"
229
+ @input=${this.handleInput}
230
+ @click="${(e) => this.toggleCustomPopover(e)}"
231
+ @keydown=${this.handleKeyDown}
232
+ .disabled="${this.disabled}"
233
+ />
234
+ ${!this._isTrulyEmpty(this.value) && !this.disableClearButton
235
+ ? html `
236
+ <div
237
+ class=${classMap({
238
+ 'custom-icon': true,
239
+ 'custom-icon--no-filter': !this.server || (this.server && this.multiple), // Trieda ak filter nie je
240
+ })}
241
+ @click="${this.clearValue}"
242
+ >
243
+ <lit-icon-button
244
+ icon="close"
245
+ size="small"
246
+ variant="text"
247
+ color="${this.variant === 'contained' ? 'primary' : 'secondary'}"
248
+ ></lit-icon-button>
249
+ </div>
250
+ `
251
+ : ''}
252
+ <div class="${classMap(dropdownIconClasses)}">
253
+ <lit-icon
254
+ class="${this.disabled ? 'dropdown-icon-disabled' : null}"
255
+ icon="chevrondown"
256
+ size="17px"
257
+ ></lit-icon>
258
+ </div>
259
+ ${this.server && !this.multiple
260
+ ? html `<lit-data-grid-operators-popover
261
+ class="filter-icon"
262
+ .type="${this.multiple ? 'multiselect' : 'select'}"
263
+ .setOperator="${(value) => {
264
+ this.setOperator(value);
265
+ }}"
266
+ .operator="${this.operator}"
267
+ .disabled="${this.disabled}"
268
+ .filterOperators="${this.filterOperators}"
269
+ ></lit-data-grid-operators-popover>`
270
+ : null}
271
+ </div>
272
+ <simple-popper
273
+ .showing=${this.isOpen}
274
+ placement="bottom-start"
275
+ @close="${this.closePopover}"
276
+ manualOpening=${true}
277
+ maxWidthAsTarget=${true}
278
+ @keydown=${this.handleKeyDown}
279
+ >
280
+ <lit-menu tabindex="0" id="menu">
281
+ ${selectOptions?.length === 0
282
+ ? html `<lit-menu-item disabledButtons=${true}>
283
+ ${msg('Nenalezeno')}</lit-menu-item
284
+ > `
285
+ : selectOptions?.map((option, index) => {
286
+ const selected = Array.isArray(this.value)
287
+ ? this.value.includes(option.value)
288
+ : this.value === option.value;
289
+ return html `
290
+ <lit-menu-item
291
+ id="${this.id}-${index}"
292
+ .isActive=${this.selectedIndex === index ||
293
+ (selected && !this.multiple)}
294
+ .onClick="${() => this.selectOption(option.value)}"
295
+ >
296
+ ${this.renderOption
297
+ ? this.renderOption(option, this.selectedIndex === index, selected)
298
+ : html `
299
+ <span
300
+ style="display: flex; align-items: center; gap: 0.25rem;"
301
+ >
302
+ ${this.multiple
303
+ ? html `<lit-checkbox
304
+ class="cursor"
305
+ .checked=${selected}
306
+ ></lit-checkbox>`
307
+ : ''}
308
+ ${option.label}
309
+ ${option.meta?.map((meta) => html `<lit-badge
310
+ content="neutral"
311
+ .text=${meta}
312
+ ></lit-badge>`) ?? ''}
313
+ </span>
314
+ `}
315
+ </lit-menu-item>
316
+ `;
317
+ })}
318
+ </lit-menu>
319
+ </simple-popper>
320
+ `;
321
+ }
322
+ }
323
+ LitSelect.styles = css `
324
+ .custom-icon-wrapper {
325
+ position: relative;
326
+ width: 100%;
327
+ display: inline-block;
328
+ color: var(--text-primary, #111827);
329
+ }
330
+
331
+ input {
332
+ padding: 0.5rem;
333
+ border: 0.0625rem solid var(--color-divider, #d0d3db);
334
+ border-radius: 0.25rem;
335
+ min-width: 70px;
336
+ width: -webkit-fill-available;
337
+ width: -moz-available;
338
+ width: fill-available;
339
+ background-color: var(--background-paper, #fff);
340
+ color: var(--text-primary, #111827);
341
+ }
342
+
343
+ input:hover {
344
+ border: 0.0625rem solid var(--color-secondary-main, #111827);
345
+ cursor: pointer;
346
+ }
347
+
348
+ input:focus {
349
+ outline: none;
350
+ border: 0.0625rem solid var(--color-secondary-dark, #010204);
351
+ }
352
+
353
+ /* Outlined Primary */
354
+ input.outlined-primary {
355
+ background-color: var(--background-paper, #fff);
356
+ border-color: var(--color-primary-main, #76b703);
357
+ }
358
+ input.outlined-primary:hover {
359
+ border-color: var(--color-primary-dark, #5f9402);
360
+ }
361
+ input.outlined-primary:focus {
362
+ border-color: var(--color-primary-dark, #5f9402);
363
+ }
364
+
365
+ /* Outlined Secondary */
366
+ input.outlined-secondary {
367
+ background-color: var(--background-paper, #fff);
368
+ border-color: var(--color-secondary-main, #111827);
369
+ }
370
+ input.outlined-secondary:hover {
371
+ border-color: var(--color-secondary-dark, #010204);
372
+ }
373
+ input.outlined-secondary:focus {
374
+ border-color: var(--color-secondary-dark, #010204);
375
+ }
376
+
377
+ /* Outlined Success */
378
+ input.outlined-success {
379
+ background-color: var(--background-paper, #fff);
380
+ border-color: var(--color-success-main, #76b703);
381
+ }
382
+ input.outlined-success:hover {
383
+ border-color: var(--color-success-dark, #5f9402);
384
+ }
385
+ input.outlined-success:focus {
386
+ border-color: var(--color-success-dark, #5f9402);
387
+ }
388
+
389
+ /* Outlined Info */
390
+ input.outlined-info {
391
+ background-color: var(--background-paper, #fff);
392
+ border-color: var(--color-info-main, #00687e);
393
+ }
394
+ input.outlined-info:hover {
395
+ border-color: var(--color-info-dark, #004452);
396
+ }
397
+ input.outlined-info:focus {
398
+ border-color: var(--color-info-dark, #004452);
399
+ }
400
+
401
+ /* Outlined Error */
402
+ input.outlined-error {
403
+ background-color: var(--background-paper, #fff);
404
+ border-color: var(--color-error-main, #ca2d0a);
405
+ }
406
+ input.outlined-error:hover {
407
+ border-color: var(--color-error-dark, #a52103);
408
+ }
409
+ input.outlined-error:focus {
410
+ border-color: var(--color-error-dark, #a52103);
411
+ }
412
+
413
+ /* Outlined Warning */
414
+ input.outlined-warning {
415
+ background-color: var(--background-paper, #fff);
416
+ border-color: var(--color-warning-main, #875900);
417
+ }
418
+ input.outlined-warning:hover {
419
+ border-color: var(--color-warning-dark, #684500);
420
+ }
421
+ input.outlined-warning:focus {
422
+ border-color: var(--color-warning-dark, #684500);
423
+ }
424
+
425
+ /* Contained Default */
426
+ input.contained-default {
427
+ color: white;
428
+ background-color: var(--color-secondary-main, #111827);
429
+ border-color: var(--color-secondary-main, #111827);
430
+ }
431
+ input.contained-default:hover {
432
+ background-color: var(--color-secondary-dark, #010204);
433
+ border-color: var(--color-secondary-dark, #010204);
434
+ }
435
+ input.contained-default:focus {
436
+ background-color: var(--color-secondary-dark, #010204);
437
+ border-color: var(--color-secondary-dark, #010204);
438
+ }
439
+
440
+ /* Contained Primary */
441
+ input.contained-primary {
442
+ color: white;
443
+ background-color: var(--color-primary-main, #76b703);
444
+ border-color: var(--color-primary-main, #76b703);
445
+ }
446
+ input.contained-primary:hover {
447
+ background-color: var(--color-primary-dark, #5f9402);
448
+ border-color: var(--color-primary-dark, #5f9402);
449
+ }
450
+ input.contained-primary:focus {
451
+ background-color: var(--color-primary-dark, #5f9402);
452
+ border-color: var(--color-primary-dark, #5f9402);
453
+ }
454
+
455
+ /* Contained Secondary */
456
+ input.contained-secondary {
457
+ color: white;
458
+ background-color: var(--color-secondary-main, #111827);
459
+ border-color: var(--color-secondary-main, #111827);
460
+ }
461
+ input.contained-secondary:hover {
462
+ background-color: var(--color-secondary-dark, #010204);
463
+ border-color: var(--color-secondary-dark, #010204);
464
+ }
465
+ input.contained-secondary:focus {
466
+ background-color: var(--color-secondary-dark, #010204);
467
+ border-color: var(--color-secondary-dark, #010204);
468
+ }
469
+
470
+ /* Contained Success */
471
+ input.contained-success {
472
+ color: white;
473
+ background-color: var(--color-success-main, #76b703);
474
+ border-color: var(--color-success-main, #76b703);
475
+ }
476
+ input.contained-success:hover {
477
+ background-color: var(--color-success-dark, #5f9402);
478
+ border-color: var(--color-success-dark, #5f9402);
479
+ }
480
+ input.contained-success:focus {
481
+ background-color: var(--color-success-dark, #5f9402);
482
+ border-color: var(--color-success-dark, #5f9402);
483
+ }
484
+
485
+ /* Contained Info */
486
+ input.contained-info {
487
+ color: white;
488
+ background-color: var(--color-info-main, #00687e);
489
+ border-color: var(--color-info-main, #00687e);
490
+ }
491
+ input.contained-info:hover {
492
+ background-color: var(--color-info-dark, #004452);
493
+ border-color: var(--color-info-dark, #004452);
494
+ }
495
+ input.contained-info:focus {
496
+ background-color: var(--color-info-dark, #004452);
497
+ border-color: var(--color-info-dark, #004452);
498
+ }
499
+
500
+ /* Contained Error */
501
+ input.contained-error {
502
+ color: white;
503
+ background-color: var(--color-error-main, #ca2d0a);
504
+ border-color: var(--color-error-main, #ca2d0a);
505
+ }
506
+ input.contained-error:hover {
507
+ background-color: var(--color-error-dark, #a52103);
508
+ border-color: var(--color-error-dark, #a52103);
509
+ }
510
+ input.contained-error:focus {
511
+ background-color: var(--color-error-dark, #a52103);
512
+ border-color: var(--color-error-dark, #a52103);
513
+ }
514
+
515
+ /* Contained Warning */
516
+ input.contained-warning {
517
+ color: white;
518
+ background-color: var(--color-warning-main, #875900);
519
+ border-color: var(--color-warning-main, #875900);
520
+ }
521
+ input.contained-warning:hover {
522
+ background-color: var(--color-warning-dark, #684500);
523
+ border-color: var(--color-warning-dark, #684500);
524
+ }
525
+ input.contained-warning:focus {
526
+ background-color: var(--color-warning-dark, #684500);
527
+ border-color: var(--color-warning-dark, #684500);
528
+ }
529
+
530
+ input:disabled {
531
+ cursor: inherit;
532
+ }
533
+
534
+ .custom-icon-wrapper:hover .custom-icon {
535
+ display: inline-block;
536
+ }
537
+
538
+ .custom-icon-wrapper .custom-icon {
539
+ display: none;
540
+ position: absolute;
541
+ right: 51px;
542
+ top: 50%;
543
+ transform: translateY(-50%);
544
+ cursor: pointer;
545
+ pointer-events: auto;
546
+ }
547
+
548
+ .custom-icon-wrapper .custom-icon--no-filter {
549
+ right: 27px;
550
+ }
551
+
552
+ .custom-icon-wrapper .filter-icon {
553
+ display: block;
554
+ position: absolute;
555
+ right: 10px;
556
+ top: 50%;
557
+ transform: translateY(-50%);
558
+ cursor: pointer;
559
+ pointer-events: auto;
560
+ }
561
+
562
+ .custom-icon-wrapper .dropdown-icon {
563
+ position: absolute;
564
+ right: 34px;
565
+ top: 50%;
566
+ transform: translateY(-50%);
567
+ pointer-events: none;
568
+ background-color: var(--background-paper, #fff);
569
+ }
570
+
571
+ .custom-icon-wrapper .dropdown-icon--no-filter {
572
+ right: 10px;
573
+ }
574
+
575
+ .custom-icon-wrapper .dropdown-icon--rotate {
576
+ transform: translateY(-55%) rotate(180deg);
577
+ }
578
+
579
+ .dropdown-icon-disabled {
580
+ background: #f8f8f8;
581
+ color: #5d6371;
582
+ }
583
+
584
+ /* Icon styling for contained variants */
585
+ .contained-default .dropdown-icon,
586
+ .contained-primary .dropdown-icon,
587
+ .contained-secondary .dropdown-icon,
588
+ .contained-success .dropdown-icon,
589
+ .contained-info .dropdown-icon,
590
+ .contained-error .dropdown-icon,
591
+ .contained-warning .dropdown-icon {
592
+ color: white !important;
593
+ background: transparent !important;
594
+ }
595
+
596
+ .contained-default .dropdown-icon-disabled,
597
+ .contained-primary .dropdown-icon-disabled,
598
+ .contained-secondary .dropdown-icon-disabled,
599
+ .contained-success .dropdown-icon-disabled,
600
+ .contained-info .dropdown-icon-disabled,
601
+ .contained-error .dropdown-icon-disabled,
602
+ .contained-warning .dropdown-icon-disabled {
603
+ background-color: transparent !important;
604
+ color: rgba(255, 255, 255, 0.5) !important;
605
+ }
606
+ `;
607
+ __decorate([
608
+ property({ type: String })
609
+ ], LitSelect.prototype, "id", void 0);
610
+ __decorate([
611
+ property()
612
+ ], LitSelect.prototype, "value", void 0);
613
+ __decorate([
614
+ property({ type: Array })
615
+ ], LitSelect.prototype, "options", void 0);
616
+ __decorate([
617
+ property({ type: Function })
618
+ ], LitSelect.prototype, "onChange", void 0);
619
+ __decorate([
620
+ property({ type: Boolean })
621
+ ], LitSelect.prototype, "multiple", void 0);
622
+ __decorate([
623
+ property({ type: Boolean })
624
+ ], LitSelect.prototype, "disableClearButton", void 0);
625
+ __decorate([
626
+ property({ type: Boolean })
627
+ ], LitSelect.prototype, "disabled", void 0);
628
+ __decorate([
629
+ property({ type: Boolean })
630
+ ], LitSelect.prototype, "server", void 0);
631
+ __decorate([
632
+ property({ type: String })
633
+ ], LitSelect.prototype, "operator", void 0);
634
+ __decorate([
635
+ property({ type: Function })
636
+ ], LitSelect.prototype, "setOperator", void 0);
637
+ __decorate([
638
+ property({ type: Array })
639
+ ], LitSelect.prototype, "filterOperators", void 0);
640
+ __decorate([
641
+ property({ type: String })
642
+ ], LitSelect.prototype, "placeholder", void 0);
643
+ __decorate([
644
+ property({ type: String })
645
+ ], LitSelect.prototype, "variant", void 0);
646
+ __decorate([
647
+ property({ type: String })
648
+ ], LitSelect.prototype, "color", void 0);
649
+ __decorate([
650
+ property({ type: Function })
651
+ ], LitSelect.prototype, "renderOption", void 0);
652
+ __decorate([
653
+ property({ reflect: true, type: Boolean }),
654
+ state()
655
+ ], LitSelect.prototype, "isOpen", void 0);
656
+ __decorate([
657
+ state()
658
+ ], LitSelect.prototype, "searchQuery", void 0);
659
+ __decorate([
660
+ state()
661
+ ], LitSelect.prototype, "selectedIndex", void 0);
662
+ __decorate([
663
+ query('#menu')
664
+ ], LitSelect.prototype, "menu", void 0);
665
+ if (!window.customElements.get('lit-select')) {
666
+ window.customElements.define('lit-select', LitSelect);
667
+ }
668
+ //# sourceMappingURL=lit-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lit-select.js","sourceRoot":"","sources":["../../src/shared/lit-select.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAkC,MAAM,KAAK,CAAC;AAC5E,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAiB,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAY,MAAM,mBAAmB,CAAC;AACpF,OAAO,wBAAwB,CAAC;AAChC,OAAO,eAAe,CAAC;AACvB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,eAAe,CAAC;AAsBvB,MAAM,OAAO,SAAU,SAAQ,UAAU;IAAzC;;QACgC,OAAE,GAAG,EAAE,CAAC;QACxB,UAAK,GAAsB,EAAE,CAAC,CAAC,2BAA2B;QAC3C,YAAO,GAAwD,EAAE,CAAC,CAAC,WAAW;QAC3E,aAAQ,GAAuC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,mBAAmB;QAC7E,aAAQ,GAAY,KAAK,CAAC;QAC1B,uBAAkB,GAAY,KAAK,CAAC;QACpC,aAAQ,GAAY,KAAK,CAAC;QAC1B,WAAM,GAAY,KAAK,CAAC;QAEvB,gBAAW,GAAiC,CAAC,QAAQ,EAAE,EAAE,GAAE,CAAC,CAAC;QAChE,oBAAe,GAAQ,EAAE,CAAC;QACzB,gBAAW,GAAW,EAAE,CAAC;QACzB,YAAO,GAA6B,UAAU,CAAC;QAC/C,UAAK,GAOf,SAAS,CAAC;QAKpB,WAAM,GAAG,KAAK,CAAC,CAAC,eAAe;QACtB,gBAAW,GAAkB,IAAI,CAAC;QAClC,kBAAa,GAAW,CAAC,CAAC,CAAC;QACpC,eAAU,GAAG,EAAE,CAAC;QAChB,gBAAW,GAAkB,IAAI,CAAC;QAmUlC,uBAAkB,GAAG,CAAC,KAAiB,EAAQ,EAAE;YACrD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YAClC,IACI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACpB,CAAC,IAAI,CAAC,IAAI,CACN,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,YAAY,WAAW,IAAI,OAAO,CAAC,OAAO,KAAK,eAAe,CACrF,EACH,CAAC;gBACC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,CAAC;QACL,CAAC,CAAC;IAwQN,CAAC;IApTG,iBAAiB;QACb,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChE,CAAC;IAED,oBAAoB;QAChB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACtD,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAES,YAAY;QAClB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,KAAa;QAC3C,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,+BAA+B;YAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;YACrF,IAAI,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,kBAAkB;gBAClC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3B,CAAC;QACL,CAAC;IACL,CAAC;IAcD,eAAe;QACX,mDAAmD;QACnD,UAAU,CAAC,GAAG,EAAE;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;YAC/D,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACjF,IAAI,aAAa,EAAE,CAAC;gBAChB,8DAA8D;gBAC9D,aAAa,CAAC,cAAc,CAAC;oBACzB,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,MAAM;iBACnB,CAAC,CAAC;YACP,CAAC;QACL,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAEO,YAAY;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAC5B,CAAC;IAEO,YAAY,CAAC,WAAmB;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC;QACtF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBAC/D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC9C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC5B,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,CAAQ;QACvB,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,mCAAmC;QACxD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,4CAA4C;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,KAAU;QAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,kBAAkB;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACtB,CAAC,MAAM,EAAE,EAAE,CACP,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC3E,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC7D,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAoB;QACpC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CACzB,IAAI,CAAC,aAAa,GAAG,CAAC,EACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,GAAG,CAAC,CACvC,CAAC;YACN,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/B,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;aAAM,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,WAAW;gBAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACtC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACzB,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CACjD,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAC1D,CAAC;YAEF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;YACpC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEM,KAAK;QACR,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAc,OAAO,CAAC,CAAC;QAC5E,cAAc,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,aAAa,CAAC,KAAU;QACpB,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,CAAC,oBAAoB;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QACjF,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC,CAAC,wCAAwC;IAC1D,CAAC;IAED,MAAM;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/E,MAAM,mBAAmB,GAAG;YACxB,eAAe,EAAE,IAAI;YACrB,uBAAuB,EAAE,IAAI,CAAC,MAAM;YACpC,0BAA0B,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC;SAC7E,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC1B,CAAC,CAAC,CAAC,GAAG,EAAE;oBACF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;oBACzE,IAAI,CAAC,MAAM;wBAAE,OAAO,EAAE,CAAC;oBACvB,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC/B,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,KAAK,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpE,CAAC;oBACD,OAAO,KAAK,CAAC;gBACjB,CAAC,CAAC,EAAE;gBACN,CAAC,CAAC,IAAI,CAAC,KAAK;qBACL,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACT,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;oBAClE,IAAI,CAAC,MAAM;wBAAE,OAAO,GAAG,CAAC;oBACxB,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;oBAChC,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,KAAK,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpE,CAAC;oBACD,OAAO,KAAK,CAAC;gBACjB,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAExB,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnD,OAAO,IAAI,CAAA;8CAC2B,UAAU;;0BAE9B,IAAI,CAAC,EAAE;6BACJ,UAAU;gCACP,IAAI,CAAC,QAAQ;;mCAEV,IAAI,CAAC,WAAW;8BACrB,IAAI,CAAC,WAAW,IAAI,YAAY,IAAI,EAAE;6BACvC,IAAI,CAAC,WAAW;8BACf,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;+BACxC,IAAI,CAAC,aAAa;iCAChB,IAAI,CAAC,QAAQ;;kBAE5B,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB;YACzD,CAAC,CAAC,IAAI,CAAA;;sCAEY,QAAQ,CAAC;gBACb,aAAa,EAAE,IAAI;gBACnB,wBAAwB,EACpB,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,0BAA0B;aACjF,CAAC;wCACQ,IAAI,CAAC,UAAU;;;;;;2CAMZ,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;;;uBAG1E;YACH,CAAC,CAAC,EAAE;8BACM,QAAQ,CAAC,mBAAmB,CAAC;;iCAE1B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI;;;;;kBAK9D,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC3B,CAAC,CAAC,IAAI,CAAA;;mCAES,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ;0CACjC,CAAC,KAAU,EAAE,EAAE;gBAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;uCACY,IAAI,CAAC,QAAQ;uCACb,IAAI,CAAC,QAAQ;8CACN,IAAI,CAAC,eAAe;0DACR;YACtC,CAAC,CAAC,IAAI;;;2BAGC,IAAI,CAAC,MAAM;;0BAEZ,IAAI,CAAC,YAAY;gCACX,IAAI;mCACD,IAAI;2BACZ,IAAI,CAAC,aAAa;;;sBAGvB,aAAa,EAAE,MAAM,KAAK,CAAC;YACzB,CAAC,CAAC,IAAI,CAAA,kCAAkC,IAAI;gCACpC,GAAG,CAAC,YAAY,CAAC;6BACpB;YACL,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;oBACnC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;gBAClC,OAAO,IAAI,CAAA;;4CAEG,IAAI,CAAC,EAAE,IAAI,KAAK;kDACV,IAAI,CAAC,aAAa,KAAK,KAAK;oBACxC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;kDAChB,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;;wCAE/C,IAAI,CAAC,YAAY;oBACf,CAAC,CAAC,IAAI,CAAC,YAAY,CACb,MAAM,EACN,IAAI,CAAC,aAAa,KAAK,KAAK,EAC5B,QAAQ,CACX;oBACH,CAAC,CAAC,IAAI,CAAA;;;;sDAIM,IAAI,CAAC,QAAQ;wBACX,CAAC,CAAC,IAAI,CAAA;;yEAEW,QAAQ;2EACN;wBACnB,CAAC,CAAC,EAAE;sDACN,MAAM,CAAC,KAAK;sDACZ,MAAM,CAAC,IAAI,EAAE,GAAG,CACd,CAAC,IAAY,EAAE,EAAE,CACb,IAAI,CAAA;;wEAEQ,IAAI;0EACF,CACrB,IAAI,EAAE;;6CAEd;;+BAEd,CAAC;YACN,CAAC,CAAC;;;SAGnB,CAAC;IACN,CAAC;;AAhlBM,gBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2RlB,AA3RY,CA2RX;AA5T0B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qCAAS;AACxB;IAAX,QAAQ,EAAE;wCAA+B;AACf;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;0CAAmE;AAC/D;IAA7B,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;2CAAyD;AACzD;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2CAA2B;AAC1B;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDAAqC;AACpC;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2CAA2B;AAC1B;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCAAyB;AACzB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAAqB;AAClB;IAA7B,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8CAA8D;AAChE;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;kDAA2B;AACzB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAA0B;AACzB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAAgD;AAC/C;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wCAOC;AAE5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;+CAC0D;AAG/E;IAFP,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC1C,KAAK,EAAE;yCACe;AACN;IAAhB,KAAK,EAAE;8CAA2C;AAClC;IAAhB,KAAK,EAAE;gDAAoC;AAI5B;IAAf,KAAK,CAAC,OAAO,CAAC;uCAAY;AAqlB/B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IAC3C,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAC1D,CAAC"}