@geajs/ui 0.2.4 → 0.2.10

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 (170) hide show
  1. package/dist/accordion.d.mts +2 -2
  2. package/dist/accordion.mjs +92 -122
  3. package/dist/accordion.mjs.map +1 -1
  4. package/dist/alert.d.mts +3 -3
  5. package/dist/alert.mjs +45 -107
  6. package/dist/alert.mjs.map +1 -1
  7. package/dist/avatar.d.mts +2 -2
  8. package/dist/avatar.mjs +38 -62
  9. package/dist/avatar.mjs.map +1 -1
  10. package/dist/badge.d.mts +1 -1
  11. package/dist/badge.mjs +18 -43
  12. package/dist/badge.mjs.map +1 -1
  13. package/dist/bind.mjs +169 -0
  14. package/dist/bind.mjs.map +1 -0
  15. package/dist/button.d.mts +3 -2
  16. package/dist/button.mjs +30 -85
  17. package/dist/button.mjs.map +1 -1
  18. package/dist/card.d.mts +6 -6
  19. package/dist/card.mjs +82 -194
  20. package/dist/card.mjs.map +1 -1
  21. package/dist/checkbox.d.mts +2 -2
  22. package/dist/checkbox.mjs +30 -31
  23. package/dist/checkbox.mjs.map +1 -1
  24. package/dist/clipboard.d.mts +2 -2
  25. package/dist/clipboard.mjs +49 -55
  26. package/dist/clipboard.mjs.map +1 -1
  27. package/dist/collapsible.d.mts +2 -2
  28. package/dist/collapsible.mjs +18 -45
  29. package/dist/collapsible.mjs.map +1 -1
  30. package/dist/combobox.d.mts +2 -2
  31. package/dist/combobox.mjs +390 -261
  32. package/dist/combobox.mjs.map +1 -1
  33. package/dist/compiled-component.mjs +121 -0
  34. package/dist/compiled-component.mjs.map +1 -0
  35. package/dist/compiled-reactive-component.mjs +435 -0
  36. package/dist/compiled-reactive-component.mjs.map +1 -0
  37. package/dist/component-id.mjs +21 -0
  38. package/dist/component-id.mjs.map +1 -0
  39. package/dist/conditional-truthy.mjs +48 -0
  40. package/dist/conditional-truthy.mjs.map +1 -0
  41. package/dist/conditional.mjs +54 -0
  42. package/dist/conditional.mjs.map +1 -0
  43. package/dist/delegate-event.mjs +53 -0
  44. package/dist/delegate-event.mjs.map +1 -0
  45. package/dist/dialog.d.mts +4 -3
  46. package/dist/dialog.mjs +57 -70
  47. package/dist/dialog.mjs.map +1 -1
  48. package/dist/dirty-symbols.mjs +7 -0
  49. package/dist/dirty-symbols.mjs.map +1 -0
  50. package/dist/disposer.mjs +65 -0
  51. package/dist/disposer.mjs.map +1 -0
  52. package/dist/dnd-manager.d.mts +9 -1
  53. package/dist/dnd-manager.mjs +67 -29
  54. package/dist/dnd-manager.mjs.map +1 -1
  55. package/dist/drag-drop-context.d.mts +1 -1
  56. package/dist/drag-drop-context.mjs +17 -33
  57. package/dist/drag-drop-context.mjs.map +1 -1
  58. package/dist/draggable.d.mts +1 -1
  59. package/dist/draggable.mjs +2 -91
  60. package/dist/draggable2.mjs +424 -0
  61. package/dist/draggable2.mjs.map +1 -0
  62. package/dist/droppable.d.mts +1 -1
  63. package/dist/droppable.mjs +20 -44
  64. package/dist/droppable.mjs.map +1 -1
  65. package/dist/file-upload.d.mts +2 -2
  66. package/dist/file-upload.mjs +405 -122
  67. package/dist/file-upload.mjs.map +1 -1
  68. package/dist/hover-card.d.mts +2 -2
  69. package/dist/hover-card.mjs +24 -59
  70. package/dist/hover-card.mjs.map +1 -1
  71. package/dist/index.mjs +3 -3
  72. package/dist/input.d.mts +1 -1
  73. package/dist/input.mjs +1 -93
  74. package/dist/input2.mjs +56 -0
  75. package/dist/input2.mjs.map +1 -0
  76. package/dist/internal-symbols.mjs +9 -0
  77. package/dist/internal-symbols.mjs.map +1 -0
  78. package/dist/item-obs.mjs +31 -0
  79. package/dist/item-obs.mjs.map +1 -0
  80. package/dist/keyed-list-symbols.mjs +6 -0
  81. package/dist/keyed-list-symbols.mjs.map +1 -0
  82. package/dist/keyed-list.mjs +538 -0
  83. package/dist/keyed-list.mjs.map +1 -0
  84. package/dist/label.d.mts +1 -1
  85. package/dist/label.mjs +20 -45
  86. package/dist/label.mjs.map +1 -1
  87. package/dist/menu.d.mts +2 -2
  88. package/dist/menu.mjs +87 -41
  89. package/dist/menu.mjs.map +1 -1
  90. package/dist/number-input.d.mts +2 -2
  91. package/dist/number-input.mjs +28 -32
  92. package/dist/number-input.mjs.map +1 -1
  93. package/dist/pagination.d.mts +2 -2
  94. package/dist/pagination.mjs +12 -35
  95. package/dist/pagination.mjs.map +1 -1
  96. package/dist/patch.mjs +21 -0
  97. package/dist/patch.mjs.map +1 -0
  98. package/dist/pin-input.d.mts +2 -2
  99. package/dist/pin-input.mjs +88 -87
  100. package/dist/pin-input.mjs.map +1 -1
  101. package/dist/popover.d.mts +2 -2
  102. package/dist/popover.mjs +45 -67
  103. package/dist/popover.mjs.map +1 -1
  104. package/dist/progress.d.mts +2 -2
  105. package/dist/progress.mjs +37 -43
  106. package/dist/progress.mjs.map +1 -1
  107. package/dist/radio-group.d.mts +2 -2
  108. package/dist/radio-group.mjs +99 -140
  109. package/dist/radio-group.mjs.map +1 -1
  110. package/dist/rating-group.d.mts +2 -2
  111. package/dist/rating-group.mjs +91 -99
  112. package/dist/rating-group.mjs.map +1 -1
  113. package/dist/reactive-attr.mjs +13 -0
  114. package/dist/reactive-attr.mjs.map +1 -0
  115. package/dist/reactive-bool.mjs +13 -0
  116. package/dist/reactive-bool.mjs.map +1 -0
  117. package/dist/reactive-class-name.mjs +15 -0
  118. package/dist/reactive-class-name.mjs.map +1 -0
  119. package/dist/reactive-class.mjs +54 -0
  120. package/dist/reactive-class.mjs.map +1 -0
  121. package/dist/reactive-style.mjs +24 -0
  122. package/dist/reactive-style.mjs.map +1 -0
  123. package/dist/reactive-text.mjs +62 -0
  124. package/dist/reactive-text.mjs.map +1 -0
  125. package/dist/select.d.mts +2 -2
  126. package/dist/select.mjs +106 -186
  127. package/dist/select.mjs.map +1 -1
  128. package/dist/separator.d.mts +1 -1
  129. package/dist/separator.mjs +19 -45
  130. package/dist/separator.mjs.map +1 -1
  131. package/dist/skeleton.d.mts +1 -1
  132. package/dist/skeleton.mjs +11 -35
  133. package/dist/skeleton.mjs.map +1 -1
  134. package/dist/slider.d.mts +2 -2
  135. package/dist/slider.mjs +31 -32
  136. package/dist/slider.mjs.map +1 -1
  137. package/dist/switch.d.mts +2 -2
  138. package/dist/switch.mjs +30 -31
  139. package/dist/switch.mjs.map +1 -1
  140. package/dist/tabs.d.mts +7 -2
  141. package/dist/tabs.mjs +180 -147
  142. package/dist/tabs.mjs.map +1 -1
  143. package/dist/tags-input.d.mts +2 -2
  144. package/dist/tags-input.mjs +102 -188
  145. package/dist/tags-input.mjs.map +1 -1
  146. package/dist/textarea.d.mts +1 -1
  147. package/dist/textarea.mjs +32 -75
  148. package/dist/textarea.mjs.map +1 -1
  149. package/dist/theme.css +4 -5
  150. package/dist/toast.d.mts +1 -1
  151. package/dist/toast.mjs +14 -34
  152. package/dist/toast.mjs.map +1 -1
  153. package/dist/toggle-group.d.mts +2 -2
  154. package/dist/toggle-group.mjs +78 -85
  155. package/dist/toggle-group.mjs.map +1 -1
  156. package/dist/tooltip.d.mts +2 -2
  157. package/dist/tooltip.mjs +23 -43
  158. package/dist/tooltip.mjs.map +1 -1
  159. package/dist/tree-view.d.mts +2 -2
  160. package/dist/tree-view.mjs +32 -50
  161. package/dist/tree-view.mjs.map +1 -1
  162. package/dist/types.d.mts +9 -0
  163. package/dist/zag-component.d.mts +26 -3
  164. package/dist/zag-component.mjs +73 -17
  165. package/dist/zag-component.mjs.map +1 -1
  166. package/package.json +4 -3
  167. package/dist/cn.mjs +0 -10
  168. package/dist/cn.mjs.map +0 -1
  169. package/dist/draggable.mjs.map +0 -1
  170. package/dist/input.mjs.map +0 -1
@@ -1,33 +1,42 @@
1
1
  import { t as ZagComponent } from "./zag-component.mjs";
2
- import { Component, GEA_APPLY_LIST_CHANGES, GEA_DOM_ITEM, GEA_DOM_KEY, GEA_ELEMENT, GEA_ENSURE_ARRAY_CONFIGS, GEA_OBSERVE, GEA_ON_PROP_CHANGE, GEA_PATCH_COND, GEA_REGISTER_COND, GEA_RENDERED, GEA_SETUP_LOCAL_STATE_OBSERVERS, GEA_STORE_ROOT, geaCondPatchedSymbol, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
2
+ import { o as GEA_CREATE_TEMPLATE, u as GEA_PROXY_RAW } from "./bind.mjs";
3
+ import { n as _DIRTY_PROPS, t as _DIRTY } from "./dirty-symbols.mjs";
4
+ import { n as reactiveTextValue } from "./reactive-text.mjs";
5
+ import { t as reactiveClass } from "./reactive-class.mjs";
6
+ import { t as conditionalTruthy } from "./conditional-truthy.mjs";
7
+ import { t as GEA_DOM_ITEM } from "./keyed-list-symbols.mjs";
3
8
  import { normalizeProps } from "@zag-js/vanilla";
4
9
  import * as fileUpload from "@zag-js/file-upload";
5
10
  //#region src/components/file-upload.tsx
11
+ let _tpl0_root = null;
12
+ function _tpl0_create() {
13
+ const t = document.createElement("template");
14
+ t.innerHTML = "<div data-part=root><!--1--><div data-part=dropzone class=\"file-upload-dropzone flex flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 p-8 text-center hover:border-muted-foreground/50 transition-colors\"><p class=\"text-sm text-muted-foreground mb-2\">Drag and drop files here</p><button data-part=trigger class=\"file-upload-trigger inline-flex h-9 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow hover:bg-primary/90\">Choose Files</button></div><input data-part=hidden-input type=file class=sr-only><!--2-->";
15
+ return t.content.firstChild;
16
+ }
17
+ let _tpl1_root = null;
18
+ function _tpl1_create() {
19
+ const t = document.createElement("template");
20
+ t.innerHTML = "<label data-part=label class=\"file-upload-label text-sm font-medium mb-2 block\">0";
21
+ return t.content.firstChild;
22
+ }
23
+ let _tpl2_root = null;
24
+ function _tpl2_create() {
25
+ const t = document.createElement("template");
26
+ t.innerHTML = "<div class=\"file-upload-file-list mt-3 space-y-1\"><!--0--><button data-part=clear-trigger class=\"file-upload-clear text-xs text-muted-foreground hover:text-foreground mt-1\">Clear all";
27
+ return t.content.firstChild;
28
+ }
29
+ let _tpl3_root = null;
30
+ function _tpl3_create() {
31
+ const t = document.createElement("template");
32
+ t.innerHTML = "<div class=\"flex items-center justify-between rounded-md border px-3 py-2 text-sm\"><span>0";
33
+ return t.content.firstChild;
34
+ }
6
35
  var FileUpload = class extends ZagComponent {
7
- static {
8
- this.__geaTagName = "file-upload";
9
- }
10
- #__rowEls_list;
11
- #__dc_acceptedFiles;
12
- constructor(...args) {
13
- super(...args);
14
- this.props;
15
- this[geaCondValueSymbol(0)] = !!this.props.label;
16
- this[geaCondValueSymbol(1)] = !!(this.acceptedFiles.length > 0);
17
- this[GEA_REGISTER_COND](0, "c0", () => {
18
- this.props;
19
- return this.props.label;
20
- }, () => {
21
- this.props;
22
- return `<label data-part="label" class="file-upload-label text-sm font-medium mb-2 block">${geaEscapeHtml(String(this.props.label))}</label>`;
23
- }, null);
24
- this[GEA_REGISTER_COND](1, "c1", () => {
25
- this.props;
26
- return this.acceptedFiles.length > 0;
27
- }, () => {
28
- this.props;
29
- return `<div class="file-upload-file-list mt-3 space-y-1">${this.acceptedFiles.map((file) => this.renderAcceptedFilesItem(file)).join("")}<button data-part="clear-trigger" class="file-upload-clear text-xs text-muted-foreground hover:text-foreground mt-1">Clear all</button></div>`;
30
- }, null);
36
+ constructor(..._args) {
37
+ super(..._args);
38
+ this.acceptedFiles = [];
39
+ this.rejectedFiles = [];
31
40
  }
32
41
  createMachine(_props) {
33
42
  return fileUpload.machine;
@@ -67,104 +76,378 @@ var FileUpload = class extends ZagComponent {
67
76
  this.acceptedFiles = api.acceptedFiles;
68
77
  this.rejectedFiles = api.rejectedFiles;
69
78
  }
70
- template(props) {
71
- const __id = this.id;
72
- Component._register(ZagComponent, "zag-component");
73
- return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><!--${__id + "-c0"}-->${props.label && `<label data-part="label" class="file-upload-label text-sm font-medium mb-2 block">${geaEscapeHtml(String(props.label))}</label>` || ""}<!--${__id + "-c0-end"}--><div data-part="dropzone" class="file-upload-dropzone flex flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 p-8 text-center hover:border-muted-foreground/50 transition-colors"><p class="text-sm text-muted-foreground mb-2">Drag and drop files here</p><button data-part="trigger" class="file-upload-trigger inline-flex h-9 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow hover:bg-primary/90">Choose Files</button></div><input data-part="hidden-input" type="file" class="sr-only" /><!--${__id + "-c1"}-->${this.acceptedFiles.length > 0 && `<div class="file-upload-file-list mt-3 space-y-1">${this.acceptedFiles.map((file) => this.renderAcceptedFilesItem(file)).join("")}<button data-part="clear-trigger" class="file-upload-clear text-xs text-muted-foreground hover:text-foreground mt-1">Clear all</button></div>` || ""}<!--${__id + "-c1-end"}--></div>`;
74
- }
75
- [GEA_ON_PROP_CHANGE](key, value) {
76
- if (key === "class") {
77
- const __el = this[GEA_ELEMENT];
78
- this.props;
79
- const __boundValue = value || "";
80
- if (__el) {
81
- const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
82
- if (__el.className !== __newClass) __el.className = __newClass;
83
- }
84
- }
85
- if (key === "label") this[GEA_PATCH_COND](0);
86
- this[GEA_PATCH_COND](1);
87
- }
88
- __observe_local_acceptedFiles(value, change) {
89
- if (this[GEA_RENDERED]) {
90
- if (!this[geaCondPatchedSymbol(1)]) {
91
- this[geaCondPatchedSymbol(1)] = this[GEA_PATCH_COND](1);
92
- if (this[geaCondPatchedSymbol(1)]) queueMicrotask(() => this[geaCondPatchedSymbol(1)] = false);
93
- }
94
- }
95
- if (!this.__acceptedFiles_container) this.__acceptedFiles_container = this.$(":scope");
96
- if (!this.__acceptedFiles_container) return;
97
- if (Array.isArray(value) && value.length === 0) {
98
- this.#__rowEls_list = null;
99
- this.__acceptedFiles_container.textContent = "";
100
- return;
101
- }
102
- this[GEA_ENSURE_ARRAY_CONFIGS]();
103
- this[GEA_APPLY_LIST_CHANGES](this.__acceptedFiles_container, value, change, this.__acceptedFilesListConfig);
104
- }
105
- __observe_local_acceptedFiles__join(value, change) {
106
- if (this[GEA_RENDERED]) {
107
- if (!this[geaCondPatchedSymbol(1)]) {
108
- this[geaCondPatchedSymbol(1)] = this[GEA_PATCH_COND](1);
109
- if (this[geaCondPatchedSymbol(1)]) queueMicrotask(() => this[geaCondPatchedSymbol(1)] = false);
79
+ [GEA_CREATE_TEMPLATE](d) {
80
+ const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
81
+ const el0 = root;
82
+ const anchor1 = root.firstChild;
83
+ const anchor2 = root.childNodes[3];
84
+ reactiveClass(el0, d, this, () => this.props.class || "");
85
+ conditionalTruthy(anchor1.parentNode, anchor1, d, this, () => this.props.label, (d) => {
86
+ const root = (_tpl1_root || (_tpl1_root = _tpl1_create())).cloneNode(true);
87
+ const t0 = root.firstChild;
88
+ reactiveTextValue(t0, d, this, () => this.props.label);
89
+ return root;
90
+ });
91
+ conditionalTruthy(anchor2.parentNode, anchor2, d, this, () => this.acceptedFiles.length > 0, (d) => {
92
+ const root = (_tpl2_root || (_tpl2_root = _tpl2_create())).cloneNode(true);
93
+ const anchor0 = root.firstChild;
94
+ const __ki_L0 = (file, idx, d) => {
95
+ const root = (_tpl3_root || (_tpl3_root = _tpl3_create())).cloneNode(true);
96
+ {
97
+ const __n = root.firstChild.firstChild;
98
+ __n.nodeValue = `${file.name ?? ""}`;
99
+ }
100
+ root[GEA_DOM_ITEM] = file;
101
+ return root;
102
+ };
103
+ const __kp_L0 = (el, item) => {
104
+ if (!item[_DIRTY_PROPS] || item[_DIRTY_PROPS].has("name")) {
105
+ const __n = el.__r0 || (el.__r0 = el.firstChild.firstChild);
106
+ __n.nodeValue = `${item.name ?? ""}`;
107
+ }
108
+ };
109
+ {
110
+ const __kl_container = anchor0.parentNode;
111
+ const __kl_anchor = anchor0;
112
+ const __kl_root = this;
113
+ const __kl_key = (file, idx) => file.name;
114
+ const __kl_create = (item, idx) => {
115
+ const __k = item.name;
116
+ const __el = __ki_L0(item, idx);
117
+ return {
118
+ key: __k,
119
+ item: item && item[GEA_PROXY_RAW] || item,
120
+ element: __el
121
+ };
122
+ };
123
+ const __kl_patch = (e, newItem, newIdx) => {
124
+ e.item = newItem && newItem[GEA_PROXY_RAW] || newItem;
125
+ __kp_L0(e.element, newItem);
126
+ };
127
+ const __kl_unwrap = (v) => v && typeof v === "object" && v[GEA_PROXY_RAW] || v;
128
+ const __kl_resolve = () => {
129
+ const v = __kl_root?.["acceptedFiles"];
130
+ return Array.isArray(v) ? v : [];
131
+ };
132
+ let __kl_entries = [];
133
+ const __kl_byKey = /* @__PURE__ */ new Map();
134
+ const __kl_remove = (entry) => {
135
+ entry.disposer?.dispose();
136
+ __kl_byKey.delete(entry.key);
137
+ if (entry.element.parentNode) entry.element.parentNode.removeChild(entry.element);
138
+ };
139
+ const __kl_first = __kl_resolve();
140
+ if (__kl_first.length > 0) {
141
+ const frag = __kl_container.ownerDocument.createDocumentFragment();
142
+ for (let i = 0; i < __kl_first.length; i++) {
143
+ const item = __kl_first[i];
144
+ const entry = __kl_create(item, i);
145
+ __kl_entries.push(entry);
146
+ __kl_byKey.set(entry.key, entry);
147
+ frag.appendChild(entry.element);
148
+ if (item && typeof item === "object") {
149
+ item[_DIRTY] = false;
150
+ item[_DIRTY_PROPS]?.clear();
151
+ }
152
+ }
153
+ __kl_container.insertBefore(frag, __kl_anchor);
154
+ }
155
+ let __kl_prev = __kl_first;
156
+ const __kl_reconcile = (arr, changes) => {
157
+ if (!Array.isArray(arr)) arr = [];
158
+ if (changes && changes.length > 0) {
159
+ let aipuPatchable = true;
160
+ for (let i = 0; i < changes.length; i++) {
161
+ const change = changes[i];
162
+ const idx = change.arix;
163
+ if (!change.aipu || idx < 0 || idx >= __kl_entries.length || !change.itemDirty && __kl_entries[idx].key !== __kl_key(change.newValue, idx)) {
164
+ aipuPatchable = false;
165
+ break;
166
+ }
167
+ }
168
+ if (aipuPatchable) {
169
+ for (let i = 0; i < changes.length; i++) {
170
+ const idx = changes[i].arix;
171
+ let superseded = false;
172
+ for (let j = i + 1; j < changes.length; j++) if (changes[j].arix === idx) {
173
+ superseded = true;
174
+ break;
175
+ }
176
+ if (superseded) continue;
177
+ const item = changes[i].newValue;
178
+ __kl_patch(__kl_entries[idx], item, idx);
179
+ if (item && typeof item === "object") {
180
+ item[_DIRTY] = false;
181
+ item[_DIRTY_PROPS]?.clear();
182
+ }
183
+ __kl_entries[idx].item = __kl_unwrap(item);
184
+ if (__kl_prev && __kl_prev.length === __kl_entries.length) __kl_prev[idx] = __kl_unwrap(item);
185
+ }
186
+ return;
187
+ }
188
+ let dirtyOnly = true;
189
+ for (let i = 0; i < changes.length; i++) {
190
+ const change = changes[i];
191
+ if (change.aipu || change.type === "append" || change.type === "remove" || change.type === "delete" || change.type === "reorder") {
192
+ dirtyOnly = false;
193
+ break;
194
+ }
195
+ }
196
+ if (dirtyOnly) {
197
+ const raw = arr[GEA_PROXY_RAW] || arr;
198
+ if (__kl_entries.length === arr.length) {
199
+ let patched = false;
200
+ for (let i = 0; i < raw.length; i++) {
201
+ const item = raw[i];
202
+ if (item && typeof item === "object" && item[_DIRTY]) {
203
+ __kl_patch(__kl_entries[i], item, i);
204
+ item[_DIRTY] = false;
205
+ item[_DIRTY_PROPS]?.clear();
206
+ __kl_entries[i].item = item;
207
+ patched = true;
208
+ }
209
+ }
210
+ if (patched) return;
211
+ }
212
+ }
213
+ }
214
+ const raw = arr[GEA_PROXY_RAW] || arr;
215
+ if (arr === __kl_prev && __kl_entries.length === arr.length) {
216
+ let structural = false;
217
+ let aipuOnly = changes && changes.length > 0;
218
+ if (changes && changes.length > 0) for (let i = 0; i < changes.length; i++) {
219
+ const change = changes[i];
220
+ if (change.type === "append" || change.type === "remove" || change.type === "delete" || change.type === "reorder") {
221
+ structural = true;
222
+ aipuOnly = false;
223
+ break;
224
+ }
225
+ if (!change.aipu) aipuOnly = false;
226
+ else structural = true;
227
+ }
228
+ if (aipuOnly && changes.length === 2) {
229
+ const a = changes[0].arix;
230
+ const b = changes[1].arix;
231
+ if (a >= 0 && b >= 0 && a < __kl_entries.length && b < __kl_entries.length && a !== b) {
232
+ const entryA = __kl_entries[a];
233
+ const entryB = __kl_entries[b];
234
+ const newAKey = __kl_key(arr[a], a);
235
+ const newBKey = __kl_key(arr[b], b);
236
+ if (entryA.key === newBKey && entryB.key === newAKey) {
237
+ const refB = entryB.element.nextSibling;
238
+ __kl_container.insertBefore(entryB.element, entryA.element);
239
+ if (refB) __kl_container.insertBefore(entryA.element, refB);
240
+ else __kl_container.appendChild(entryA.element);
241
+ __kl_entries[a] = entryB;
242
+ __kl_entries[b] = entryA;
243
+ if (__kl_unwrap(arr[a]) !== entryB.item) __kl_patch(entryB, arr[a], a);
244
+ if (__kl_unwrap(arr[b]) !== entryA.item) __kl_patch(entryA, arr[b], b);
245
+ __kl_prev = arr;
246
+ return;
247
+ }
248
+ }
249
+ }
250
+ if (!structural) {
251
+ for (let i = 0; i < raw.length; i++) {
252
+ const item = raw[i];
253
+ if (item && typeof item === "object" && item[_DIRTY]) {
254
+ __kl_patch(__kl_entries[i], item, i);
255
+ item[_DIRTY] = false;
256
+ item[_DIRTY_PROPS]?.clear();
257
+ __kl_entries[i].item = item;
258
+ }
259
+ }
260
+ return;
261
+ }
262
+ }
263
+ if (changes && changes.length > 0 && __kl_entries.length < arr.length) {
264
+ let onlyAppends = true;
265
+ let appendCount = 0;
266
+ for (let i = 0; i < changes.length; i++) {
267
+ if (changes[i].type !== "append") {
268
+ onlyAppends = false;
269
+ break;
270
+ }
271
+ appendCount += changes[i].count || 0;
272
+ }
273
+ if (onlyAppends && appendCount === arr.length - __kl_entries.length) {
274
+ const start = __kl_entries.length;
275
+ const frag = __kl_container.ownerDocument.createDocumentFragment();
276
+ for (let i = start; i < arr.length; i++) {
277
+ const entry = __kl_create(arr[i], i);
278
+ __kl_entries.push(entry);
279
+ __kl_byKey.set(entry.key, entry);
280
+ frag.appendChild(entry.element);
281
+ }
282
+ __kl_container.insertBefore(frag, __kl_anchor);
283
+ __kl_prev = arr;
284
+ return;
285
+ }
286
+ }
287
+ if (changes && changes.length > 0 && __kl_entries.length > arr.length) {
288
+ let onlyRemoves = true;
289
+ let totalRemoved = 0;
290
+ for (let i = 0; i < changes.length; i++) {
291
+ const change = changes[i];
292
+ if (change.type !== "remove") {
293
+ onlyRemoves = false;
294
+ break;
295
+ }
296
+ totalRemoved += change.count || 0;
297
+ }
298
+ if (onlyRemoves && __kl_entries.length - arr.length === totalRemoved) {
299
+ if (changes.length === 1 && changes[0].count === 1) {
300
+ const idx = changes[0].start;
301
+ if (idx >= 0 && idx < __kl_entries.length) {
302
+ __kl_remove(__kl_entries[idx]);
303
+ __kl_entries.splice(idx, 1);
304
+ }
305
+ __kl_prev = arr;
306
+ return;
307
+ }
308
+ const removed = [];
309
+ for (let i = 0; i < changes.length; i++) {
310
+ const start = changes[i].start;
311
+ const count = changes[i].count;
312
+ for (let j = 0; j < count; j++) removed.push(start + j);
313
+ }
314
+ removed.sort((a, b) => b - a);
315
+ for (let i = 0; i < removed.length; i++) {
316
+ const idx = removed[i];
317
+ if (idx >= 0 && idx < __kl_entries.length) {
318
+ __kl_remove(__kl_entries[idx]);
319
+ __kl_entries.splice(idx, 1);
320
+ }
321
+ }
322
+ __kl_prev = arr;
323
+ return;
324
+ }
325
+ }
326
+ const newLen = arr.length;
327
+ const oldLen = __kl_entries.length;
328
+ if (oldLen === 0 && newLen > 0) {
329
+ const nextEntries = new Array(newLen);
330
+ const frag = __kl_container.ownerDocument.createDocumentFragment();
331
+ for (let i = 0; i < newLen; i++) {
332
+ const entry = __kl_create(arr[i], i);
333
+ nextEntries[i] = entry;
334
+ __kl_byKey.set(entry.key, entry);
335
+ frag.appendChild(entry.element);
336
+ }
337
+ __kl_container.insertBefore(frag, __kl_anchor);
338
+ __kl_entries = nextEntries;
339
+ __kl_prev = arr;
340
+ return;
341
+ }
342
+ const newKeys = new Array(newLen);
343
+ for (let i = 0; i < newLen; i++) newKeys[i] = __kl_key(arr[i], i);
344
+ if (newLen === 0) {
345
+ if (__kl_container.childNodes.length === oldLen + (__kl_anchor ? 1 : 0)) {
346
+ for (let i = 0; i < oldLen; i++) __kl_entries[i].disposer?.dispose();
347
+ __kl_container.textContent = "";
348
+ if (__kl_anchor) __kl_container.appendChild(__kl_anchor);
349
+ } else for (let i = oldLen - 1; i >= 0; i--) __kl_remove(__kl_entries[i]);
350
+ __kl_entries = [];
351
+ __kl_byKey.clear();
352
+ __kl_prev = arr;
353
+ return;
354
+ }
355
+ if (newLen === oldLen) {
356
+ let diffA = -1;
357
+ let diffB = -1;
358
+ let diffCount = 0;
359
+ for (let i = 0; i < newLen; i++) if (__kl_entries[i].key !== newKeys[i]) {
360
+ if (diffCount === 0) diffA = i;
361
+ else if (diffCount === 1) diffB = i;
362
+ diffCount++;
363
+ if (diffCount > 2) break;
364
+ }
365
+ if (diffCount === 2 && __kl_entries[diffA].key === newKeys[diffB] && __kl_entries[diffB].key === newKeys[diffA]) {
366
+ const entryA = __kl_entries[diffA];
367
+ const entryB = __kl_entries[diffB];
368
+ const refB = entryB.element.nextSibling;
369
+ __kl_container.insertBefore(entryB.element, entryA.element);
370
+ if (refB) __kl_container.insertBefore(entryA.element, refB);
371
+ else __kl_container.appendChild(entryA.element);
372
+ __kl_entries[diffA] = entryB;
373
+ __kl_entries[diffB] = entryA;
374
+ if (__kl_unwrap(arr[diffA]) !== entryB.item) __kl_patch(entryB, arr[diffA], diffA);
375
+ if (__kl_unwrap(arr[diffB]) !== entryA.item) __kl_patch(entryA, arr[diffB], diffB);
376
+ __kl_prev = arr;
377
+ return;
378
+ }
379
+ }
380
+ if (oldLen > 0 && newLen > 0 && __kl_container.childNodes.length === oldLen + (__kl_anchor ? 1 : 0)) {
381
+ let disjoint = true;
382
+ for (let i = 0; i < newLen; i++) {
383
+ let existing = null;
384
+ for (let j = 0; j < oldLen; j++) if (__kl_entries[j].key === newKeys[i]) {
385
+ existing = __kl_entries[j];
386
+ break;
387
+ }
388
+ if (existing) {
389
+ disjoint = false;
390
+ break;
391
+ }
392
+ }
393
+ if (disjoint) {
394
+ for (let i = 0; i < oldLen; i++) __kl_entries[i].disposer?.dispose();
395
+ __kl_byKey.clear();
396
+ const nextEntries = new Array(newLen);
397
+ const nextNodes = new Array(newLen + (__kl_anchor ? 1 : 0));
398
+ for (let i = 0; i < newLen; i++) {
399
+ const entry = __kl_create(arr[i], i);
400
+ nextEntries[i] = entry;
401
+ nextNodes[i] = entry.element;
402
+ __kl_byKey.set(entry.key, entry);
403
+ }
404
+ if (__kl_anchor) nextNodes[newLen] = __kl_anchor;
405
+ __kl_container.replaceChildren(...nextNodes);
406
+ __kl_entries = nextEntries;
407
+ __kl_prev = arr;
408
+ return;
409
+ }
410
+ }
411
+ for (let i = 0; i < oldLen; i++) __kl_entries[i]._i = i;
412
+ const seenOld = new Array(oldLen).fill(false);
413
+ const nextEntries = new Array(newLen);
414
+ for (let i = 0; i < newLen; i++) {
415
+ let entry = null;
416
+ for (let j = 0; j < oldLen; j++) if (__kl_entries[j].key === newKeys[i]) {
417
+ entry = __kl_entries[j];
418
+ break;
419
+ }
420
+ if (entry) {
421
+ const oldIdx = entry._i;
422
+ seenOld[oldIdx] = true;
423
+ nextEntries[i] = entry;
424
+ }
425
+ }
426
+ for (let i = oldLen - 1; i >= 0; i--) if (!seenOld[i]) __kl_remove(__kl_entries[i]);
427
+ let nextRef = __kl_anchor;
428
+ for (let i = newLen - 1; i >= 0; i--) {
429
+ let entry = nextEntries[i];
430
+ if (!entry) {
431
+ entry = __kl_create(arr[i], i);
432
+ __kl_byKey.set(entry.key, entry);
433
+ } else if (entry.item !== __kl_unwrap(arr[i])) __kl_patch(entry, arr[i], i);
434
+ if (entry.element.parentNode !== __kl_container || entry.element.nextSibling !== nextRef) __kl_container.insertBefore(entry.element, nextRef);
435
+ nextEntries[i] = entry;
436
+ nextRef = entry.element;
437
+ }
438
+ __kl_entries = nextEntries;
439
+ __kl_prev = arr;
440
+ };
441
+ if (__kl_root && typeof __kl_root.observe === "function") {
442
+ const off = __kl_root.observe("acceptedFiles", (_value, changes) => {
443
+ __kl_reconcile(_value, changes);
444
+ });
445
+ d.add(off);
446
+ }
110
447
  }
111
- }
112
- }
113
- renderAcceptedFilesItem(file) {
114
- return `<div data-gid="${file?.name ?? file}" class="flex items-center justify-between rounded-md border px-3 py-2 text-sm"><span>${file.name}</span></div>`;
115
- }
116
- createAcceptedFilesItem(item) {
117
- var __c = this.#__dc_acceptedFiles || (this.#__dc_acceptedFiles = this.__acceptedFiles_container);
118
- if (!__c.__geaTpl) try {
119
- var __tw = document.createElement("template");
120
- __tw.innerHTML = this.renderAcceptedFilesItem({ name: 0 });
121
- __c.__geaTpl = __tw.content.firstElementChild;
122
- __c.__geaTpl?.removeAttribute("data-gid");
123
- } catch (__err) {
124
- console.error(__err);
125
- }
126
- if (__c.__geaTpl) var el = __c.__geaTpl.cloneNode(true);
127
- else {
128
- var __fw = document.createElement("template");
129
- __fw.innerHTML = this.renderAcceptedFilesItem(item);
130
- var el = __fw.content.firstElementChild;
131
- }
132
- el.__ref_0 = el.firstElementChild;
133
- if (el.__ref_0.textContent !== `${item.name}`) el.__ref_0.textContent = `${item.name}`;
134
- el[GEA_DOM_KEY] = String(item?.name ?? item);
135
- el[GEA_DOM_ITEM] = item;
136
- return el;
137
- }
138
- patchAcceptedFilesItem(row, item, __prevItem) {
139
- if (!row) return;
140
- if (!row.__ref_0) row.__ref_0 = row.firstElementChild;
141
- if (row.__ref_0.textContent !== `${item.name}`) row.__ref_0.textContent = `${item.name}`;
142
- row[GEA_DOM_KEY] = String(item?.name ?? item);
143
- (this.#__rowEls_list || (this.#__rowEls_list = {}))[String(item?.name ?? item)] = row;
144
- row[GEA_DOM_ITEM] = item;
145
- }
146
- [GEA_ENSURE_ARRAY_CONFIGS]() {
147
- if (!this.__acceptedFilesListConfig) this.__acceptedFilesListConfig = {
148
- arrayPathParts: ["acceptedFiles"],
149
- render: this.renderAcceptedFilesItem.bind(this),
150
- create: this.createAcceptedFilesItem.bind(this),
151
- patchRow: this.patchAcceptedFilesItem && this.patchAcceptedFilesItem.bind(this),
152
- getKey: (item) => String(item?.name ?? item),
153
- propPatchers: { "name": [(row, value, item) => {
154
- const __target = row.__ref_0 || (row.__ref_0 = row.firstElementChild);
155
- if (!__target) return;
156
- if (__target.textContent !== `${item.name}`) __target.textContent = `${item.name}`;
157
- }, (row, value) => {
158
- row.classList.toggle("name", value);
159
- }] }
160
- };
161
- }
162
- [GEA_SETUP_LOCAL_STATE_OBSERVERS]() {
163
- this[GEA_ENSURE_ARRAY_CONFIGS]();
164
- if (!this[GEA_STORE_ROOT]) return;
165
- this[GEA_OBSERVE](this, ["acceptedFiles"], this.__observe_local_acceptedFiles);
166
- this[GEA_OBSERVE](this, ["acceptedFiles", "join"], this.__observe_local_acceptedFiles__join);
167
- this[GEA_OBSERVE](this, ["acceptedFiles", "map"], this.__observe_local_acceptedFiles__join);
448
+ return root;
449
+ });
450
+ return root;
168
451
  }
169
452
  };
170
453
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.mjs","names":["Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_COND","GEA_RENDERED","geaCondPatchedSymbol","GEA_ENSURE_ARRAY_CONFIGS","GEA_APPLY_LIST_CHANGES","GEA_DOM_KEY","GEA_DOM_ITEM","GEA_SETUP_LOCAL_STATE_OBSERVERS","GEA_STORE_ROOT","GEA_OBSERVE","fileUpload","normalizeProps","ZagComponent","FileUpload","__geaTagName","__rowEls_list","__dc_acceptedFiles","constructor","args","props","label","acceptedFiles","length","String","map","file","File","renderAcceptedFilesItem","join","rejectedFiles","createMachine","_props","machine","getMachineProps","id","accept","maxFiles","maxFileSize","minFileSize","multiple","disabled","allowDrop","name","onFileChange","details","FileChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","template","__id","_register","class","trim","key","value","__el","__boundValue","__newClass","replace","className","__observe_local_acceptedFiles","change","queueMicrotask","__acceptedFiles_container","$","Array","isArray","textContent","__acceptedFilesListConfig","__observe_local_acceptedFiles__join","createAcceptedFilesItem","item","__c","__geaTpl","__tw","document","createElement","innerHTML","content","firstElementChild","removeAttribute","__err","console","error","el","cloneNode","__fw","__ref_0","patchAcceptedFilesItem","row","__prevItem","arrayPathParts","render","bind","create","patchRow","getKey","propPatchers","__target","classList","toggle"],"sources":["../src/components/file-upload.tsx"],"sourcesContent":["import * as fileUpload from '@zag-js/file-upload'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class FileUpload extends ZagComponent {\n declare acceptedFiles: File[]\n declare rejectedFiles: any[]\n\n createMachine(_props: any): any {\n return fileUpload.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n accept: props.accept,\n maxFiles: props.maxFiles,\n maxFileSize: props.maxFileSize,\n minFileSize: props.minFileSize,\n multiple: props.multiple ?? false,\n disabled: props.disabled,\n allowDrop: props.allowDrop ?? true,\n name: props.name,\n onFileChange: (details: fileUpload.FileChangeDetails) => {\n this.acceptedFiles = details.acceptedFiles\n this.rejectedFiles = details.rejectedFiles\n props.onFileChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return fileUpload.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"dropzone\"]': 'getDropzoneProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"hidden-input\"]': 'getHiddenInputProps',\n '[data-part=\"clear-trigger\"]': 'getClearTriggerProps',\n }\n }\n\n syncState(api: any) {\n this.acceptedFiles = api.acceptedFiles\n this.rejectedFiles = api.rejectedFiles\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"file-upload-label text-sm font-medium mb-2 block\">\n {props.label}\n </label>\n )}\n <div\n data-part=\"dropzone\"\n class=\"file-upload-dropzone flex flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 p-8 text-center hover:border-muted-foreground/50 transition-colors\"\n >\n <p class=\"text-sm text-muted-foreground mb-2\">Drag and drop files here</p>\n <button\n data-part=\"trigger\"\n class=\"file-upload-trigger inline-flex h-9 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow hover:bg-primary/90\"\n >\n Choose Files\n </button>\n </div>\n <input data-part=\"hidden-input\" type=\"file\" class=\"sr-only\" />\n {this.acceptedFiles.length > 0 && (\n <div class=\"file-upload-file-list mt-3 space-y-1\">\n {this.acceptedFiles.map((file: File) => (\n <div key={file.name} class=\"flex items-center justify-between rounded-md border px-3 py-2 text-sm\">\n <span>{file.name}</span>\n </div>\n ))}\n <button\n data-part=\"clear-trigger\"\n class=\"file-upload-clear text-xs text-muted-foreground hover:text-foreground mt-1\"\n >\n Clear all\n </button>\n </div>\n )}\n </div>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"file-upload.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveTextValue","conditionalTruthy","reactiveAttr","GEA_DIRTY_PROPS","GEA_DOM_ITEM","GEA_PROXY_RAW","GEA_DIRTY","fileUpload","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","_tpl1_root","_tpl1_create","_tpl2_root","_tpl2_create","_tpl3_root","_tpl3_create","FileUpload","acceptedFiles","File","rejectedFiles","createMachine","_props","machine","getMachineProps","props","id","accept","maxFiles","maxFileSize","minFileSize","multiple","disabled","allowDrop","name","onFileChange","details","FileChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","d","root","cloneNode","el0","anchor1","anchor2","childNodes","class","parentNode","label","marker0","t0","length","anchor0","__ki_L0","file","idx","__n","nodeValue","__kp_L0","el","item","has","__r0","__kl_container","__kl_anchor","__kl_root","__kl_key","__kl_create","__k","__el","key","element","__kl_patch","e","newItem","newIdx","__raw","__kl_unwrap","v","__kl_resolve","Array","isArray","__kl_entries","__kl_byKey","Map","__kl_remove","entry","disposer","dispose","delete","removeChild","__kl_first","frag","ownerDocument","createDocumentFragment","i","push","set","appendChild","clear","insertBefore","__kl_prev","__kl_reconcile","arr","changes","aipuPatchable","change","arix","aipu","itemDirty","newValue","superseded","j","dirtyOnly","type","raw","patched","structural","aipuOnly","a","b","entryA","entryB","newAKey","newBKey","refB","nextSibling","onlyAppends","appendCount","count","start","onlyRemoves","totalRemoved","splice","removed","sort","newLen","oldLen","nextEntries","newKeys","textContent","diffA","diffB","diffCount","disjoint","existing","nextNodes","replaceChildren","_i","seenOld","fill","oldIdx","nextRef","observe","off","_value","add"],"sources":["../src/components/file-upload.tsx"],"sourcesContent":["import * as fileUpload from '@zag-js/file-upload'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class FileUpload extends ZagComponent {\n acceptedFiles: File[] = []\n rejectedFiles: any[] = []\n\n createMachine(_props: any): any {\n return fileUpload.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n accept: props.accept,\n maxFiles: props.maxFiles,\n maxFileSize: props.maxFileSize,\n minFileSize: props.minFileSize,\n multiple: props.multiple ?? false,\n disabled: props.disabled,\n allowDrop: props.allowDrop ?? true,\n name: props.name,\n onFileChange: (details: fileUpload.FileChangeDetails) => {\n this.acceptedFiles = details.acceptedFiles\n this.rejectedFiles = details.rejectedFiles\n props.onFileChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return fileUpload.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"dropzone\"]': 'getDropzoneProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"hidden-input\"]': 'getHiddenInputProps',\n '[data-part=\"clear-trigger\"]': 'getClearTriggerProps',\n }\n }\n\n syncState(api: any) {\n this.acceptedFiles = api.acceptedFiles\n this.rejectedFiles = api.rejectedFiles\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"file-upload-label text-sm font-medium mb-2 block\">\n {props.label}\n </label>\n )}\n <div\n data-part=\"dropzone\"\n class=\"file-upload-dropzone flex flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 p-8 text-center hover:border-muted-foreground/50 transition-colors\"\n >\n <p class=\"text-sm text-muted-foreground mb-2\">Drag and drop files here</p>\n <button\n data-part=\"trigger\"\n class=\"file-upload-trigger inline-flex h-9 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow hover:bg-primary/90\"\n >\n Choose Files\n </button>\n </div>\n <input data-part=\"hidden-input\" type=\"file\" class=\"sr-only\" />\n {this.acceptedFiles.length > 0 && (\n <div class=\"file-upload-file-list mt-3 space-y-1\">\n {this.acceptedFiles.map((file: File) => (\n <div key={file.name} class=\"flex items-center justify-between rounded-md border px-3 py-2 text-sm\">\n <span>{file.name}</span>\n </div>\n ))}\n <button\n data-part=\"clear-trigger\"\n class=\"file-upload-clear text-xs text-muted-foreground hover:text-foreground mt-1\"\n >\n Clear all\n </button>\n </div>\n )}\n </div>\n )\n }\n}\n"],"mappings":";;;;;;;;;;AAIA,IAAIY,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMC,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAIC,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMP,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAIG,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMT,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAIK,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMX,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAqBO,aAArB,cAAwCf,aAAa;;;uBAC3B,EAAE;uBACH,EAAE;;CACzBmB,cAAcC,QAAkB;AAC9B,SAAOtB,WAAWuB;;CAEpBC,gBAAgBC,OAAY;AAC1B,SAAO;GACLC,IAAI,KAAKA;GACTC,QAAQF,MAAME;GACdC,UAAUH,MAAMG;GAChBC,aAAaJ,MAAMI;GACnBC,aAAaL,MAAMK;GACnBC,UAAUN,MAAMM,YAAY;GAC5BC,UAAUP,MAAMO;GAChBC,WAAWR,MAAMQ,aAAa;GAC9BC,MAAMT,MAAMS;GACZC,eAAeC,YAA0C;AACvD,SAAKlB,gBAAgBkB,QAAQlB;AAC7B,SAAKE,gBAAgBgB,QAAQhB;AAC7BK,UAAMU,eAAeC,QAAQ;;GAEhC;;CAEHE,WAAWC,SAAc;AACvB,SAAOvC,WAAWwC,QAAQD,SAAStC,eAAe;;CAEpDwC,eAAe;AACb,SAAO;GACL,wBAAsB;GACtB,yBAAuB;GACvB,4BAA0B;GAC1B,2BAAyB;GACzB,gCAA8B;GAC9B,iCAA+B;GAChC;;CAEHC,UAAUC,KAAU;AAClB,OAAKzB,gBAAgByB,IAAIzB;AACzB,OAAKE,gBAAgBuB,IAAIvB;;CAE3B,CAAC7B,qBAAqBqD,GAAG;EACvB,MAAMC,QAAQ1C,eAAeA,aAAaC,cAAc,GAAG0C,UAAU,KAAK;EAC1E,MAAMC,MAAMF;EACZ,MAAMG,UAAUH,KAAKnC;EACrB,MAAMuC,UAAUJ,KAAKK,WAAW;AAChC1D,gBAAcuD,KAAKH,GAAG,YAAY,KAAKnB,MAAM0B,SAAS,GAAG;AACzDzD,oBAAkBsD,QAAQI,YAAYJ,SAASJ,GAAG,YAAY,KAAKnB,MAAM4B,QAAOT,MAAK;GACnF,MAAMC,QAAQlC,eAAeA,aAAaC,cAAc,GAAGkC,UAAU,KAAK;GAE1E,MAAMS,KADUV,KAAKnC;AAErBjB,qBAAkB8D,IAAIX,GAAG,YAAY,KAAKnB,MAAM4B,MAAM;AACtD,UAAOR;IACP;AACFnD,oBAAkBuD,QAAQG,YAAYH,SAASL,GAAG,YAAY,KAAK1B,cAAcsC,SAAS,IAAGZ,MAAK;GAChG,MAAMC,QAAQhC,eAAeA,aAAaC,cAAc,GAAGgC,UAAU,KAAK;GAC1E,MAAMW,UAAUZ,KAAKnC;GACrB,MAAMgD,WAAWC,MAAYC,KAAKhB,MAAM;IACtC,MAAMC,QAAQ9B,eAAeA,aAAaC,cAAc,GAAG8B,UAAU,KAAK;IAE1E;KACE,MAAMe,MAAMhB,KAAKnC,WAAWA;AAC5BmD,SAAIC,YAAY,GAAGH,KAAKzB,QAAQ;;AAElCW,SAAKhD,gBAAgB8D;AACrB,WAAOd;;GAET,MAAMkB,WAAWC,IAAIC,SAAS;AAC5B,QAAI,CAACA,KAAKrE,iBAAoBqE,KAAKrE,cAAiBsE,IAAI,OAAO,EAAE;KAC/D,MAAML,MAAMG,GAAGG,SAASH,GAAGG,OAAOH,GAAGtD,WAAWA;AAChDmD,SAAIC,YAAY,GAAGG,KAAK/B,QAAQ;;;GAGpC;IACE,MAAMkC,iBAAiBX,QAAQL;IAC/B,MAAMiB,cAAcZ;IACpB,MAAMa,YAAY;IAClB,MAAMC,YAAYZ,MAAYC,QAAQD,KAAKzB;IAC3C,MAAMsC,eAAeP,MAAML,QAAQ;KACjC,MAAMa,MAAMR,KAAK/B;KACjB,MAAMwC,OAAOhB,QAAQO,MAAML,IAAI;AAC/B,YAAO;MACLe,KAAKF;MACLR,MAAMA,QAAQA,KAAKnE,kBAAkBmE;MACrCW,SAASF;MACV;;IAEH,MAAMG,cAAcC,GAAGC,SAASC,WAAW;AAEzCF,OAAEb,OADYc,WAAWA,QAAQjF,kBAAkBiF;AAEnDhB,aAAQe,EAAEF,SAASG,QAAQ;;IAE7B,MAAMG,eAAcC,MAAKA,KAAK,OAAOA,MAAM,YAAYA,EAAErF,kBAAkBqF;IAC3E,MAAMC,qBAAqB;KACzB,MAAMD,IAAIb,YAAY;AACtB,YAAOe,MAAMC,QAAQH,EAAE,GAAGA,IAAI,EAAE;;IAElC,IAAII,eAAe,EAAE;IACrB,MAAMC,6BAAa,IAAIC,KAAK;IAC5B,MAAMC,eAAcC,UAAS;AAC3BA,WAAMC,UAAUC,SAAS;AACzBL,gBAAWM,OAAOH,MAAMhB,IAAI;AAC5B,SAAIgB,MAAMf,QAAQxB,WAAYuC,OAAMf,QAAQxB,WAAW2C,YAAYJ,MAAMf,QAAQ;;IAEnF,MAAMoB,aAAaZ,cAAc;AACjC,QAAIY,WAAWxC,SAAS,GAAG;KACzB,MAAMyC,OAAO7B,eAAe8B,cAAcC,wBAAwB;AAClE,UAAK,IAAIC,IAAI,GAAGA,IAAIJ,WAAWxC,QAAQ4C,KAAK;MAC1C,MAAMnC,OAAO+B,WAAWI;MACxB,MAAMT,QAAQnB,YAAYP,MAAMmC,EAAE;AAClCb,mBAAac,KAAKV,MAAM;AACxBH,iBAAWc,IAAIX,MAAMhB,KAAKgB,MAAM;AAChCM,WAAKM,YAAYZ,MAAMf,QAAQ;AAC/B,UAAIX,QAAQ,OAAOA,SAAS,UAAU;AACpCA,YAAKlE,UAAa;AAClBkE,YAAKrE,eAAkB4G,OAAO;;;AAGlCpC,oBAAeqC,aAAaR,MAAM5B,YAAY;;IAEhD,IAAIqC,YAAYV;IAChB,MAAMW,kBAAkBC,KAAKC,YAAY;AACvC,SAAI,CAACxB,MAAMC,QAAQsB,IAAI,CAAEA,OAAM,EAAE;AACjC,SAAIC,WAAWA,QAAQrD,SAAS,GAAG;MACjC,IAAIsD,gBAAgB;AACpB,WAAK,IAAIV,IAAI,GAAGA,IAAIS,QAAQrD,QAAQ4C,KAAK;OACvC,MAAMW,SAASF,QAAQT;OACvB,MAAMxC,MAAMmD,OAAOC;AACnB,WAAI,CAACD,OAAOE,QAAQrD,MAAM,KAAKA,OAAO2B,aAAa/B,UAAU,CAACuD,OAAOG,aAAa3B,aAAa3B,KAAKe,QAAQJ,SAASwC,OAAOI,UAAUvD,IAAI,EAAE;AAC1IkD,wBAAgB;AAChB;;;AAGJ,UAAIA,eAAe;AACjB,YAAK,IAAIV,IAAI,GAAGA,IAAIS,QAAQrD,QAAQ4C,KAAK;QACvC,MAAMxC,MAAMiD,QAAQT,GAAGY;QACvB,IAAII,aAAa;AACjB,aAAK,IAAIC,IAAIjB,IAAI,GAAGiB,IAAIR,QAAQrD,QAAQ6D,IACtC,KAAIR,QAAQQ,GAAGL,SAASpD,KAAK;AAC3BwD,sBAAa;AACb;;AAGJ,YAAIA,WAAY;QAChB,MAAMnD,OAAO4C,QAAQT,GAAGe;AACxBtC,mBAAWU,aAAa3B,MAAMK,MAAML,IAAI;AACxC,YAAIK,QAAQ,OAAOA,SAAS,UAAU;AACpCA,cAAKlE,UAAa;AAClBkE,cAAKrE,eAAkB4G,OAAO;;AAEhCjB,qBAAa3B,KAAKK,OAAOiB,YAAYjB,KAAK;AAC1C,YAAIyC,aAAaA,UAAUlD,WAAW+B,aAAa/B,OAAQkD,WAAU9C,OAAOsB,YAAYjB,KAAK;;AAE/F;;MAEF,IAAIqD,YAAY;AAChB,WAAK,IAAIlB,IAAI,GAAGA,IAAIS,QAAQrD,QAAQ4C,KAAK;OACvC,MAAMW,SAASF,QAAQT;AACvB,WAAIW,OAAOE,QAAQF,OAAOQ,SAAS,YAAYR,OAAOQ,SAAS,YAAYR,OAAOQ,SAAS,YAAYR,OAAOQ,SAAS,WAAW;AAChID,oBAAY;AACZ;;;AAGJ,UAAIA,WAAW;OACb,MAAME,MAAMZ,IAAI9G,kBAAkB8G;AAClC,WAAIrB,aAAa/B,WAAWoD,IAAIpD,QAAQ;QACtC,IAAIiE,UAAU;AACd,aAAK,IAAIrB,IAAI,GAAGA,IAAIoB,IAAIhE,QAAQ4C,KAAK;SACnC,MAAMnC,OAAOuD,IAAIpB;AACjB,aAAInC,QAAQ,OAAOA,SAAS,YAAYA,KAAKlE,SAAY;AACvD8E,qBAAWU,aAAaa,IAAInC,MAAMmC,EAAE;AACpCnC,eAAKlE,UAAa;AAClBkE,eAAKrE,eAAkB4G,OAAO;AAC9BjB,uBAAaa,GAAGnC,OAAOA;AACvBwD,oBAAU;;;AAGd,YAAIA,QAAS;;;;KAInB,MAAMD,MAAMZ,IAAI9G,kBAAkB8G;AAClC,SAAIA,QAAQF,aAAanB,aAAa/B,WAAWoD,IAAIpD,QAAQ;MAC3D,IAAIkE,aAAa;MACjB,IAAIC,WAAWd,WAAWA,QAAQrD,SAAS;AAC3C,UAAIqD,WAAWA,QAAQrD,SAAS,EAC9B,MAAK,IAAI4C,IAAI,GAAGA,IAAIS,QAAQrD,QAAQ4C,KAAK;OACvC,MAAMW,SAASF,QAAQT;AACvB,WAAIW,OAAOQ,SAAS,YAAYR,OAAOQ,SAAS,YAAYR,OAAOQ,SAAS,YAAYR,OAAOQ,SAAS,WAAW;AACjHG,qBAAa;AACbC,mBAAW;AACX;;AAEF,WAAI,CAACZ,OAAOE,KAAMU,YAAW;WAAWD,cAAa;;AAGzD,UAAIC,YAAYd,QAAQrD,WAAW,GAAG;OACpC,MAAMoE,IAAIf,QAAQ,GAAGG;OACrB,MAAMa,IAAIhB,QAAQ,GAAGG;AACrB,WAAIY,KAAK,KAAKC,KAAK,KAAKD,IAAIrC,aAAa/B,UAAUqE,IAAItC,aAAa/B,UAAUoE,MAAMC,GAAG;QACrF,MAAMC,SAASvC,aAAaqC;QAC5B,MAAMG,SAASxC,aAAasC;QAC5B,MAAMG,UAAUzD,SAASqC,IAAIgB,IAAIA,EAAE;QACnC,MAAMK,UAAU1D,SAASqC,IAAIiB,IAAIA,EAAE;AACnC,YAAIC,OAAOnD,QAAQsD,WAAWF,OAAOpD,QAAQqD,SAAS;SACpD,MAAME,OAAOH,OAAOnD,QAAQuD;AAC5B/D,wBAAeqC,aAAasB,OAAOnD,SAASkD,OAAOlD,QAAQ;AAC3D,aAAIsD,KAAM9D,gBAAeqC,aAAaqB,OAAOlD,SAASsD,KAAK;aAAM9D,gBAAemC,YAAYuB,OAAOlD,QAAQ;AAC3GW,sBAAaqC,KAAKG;AAClBxC,sBAAasC,KAAKC;AAClB,aAAI5C,YAAY0B,IAAIgB,GAAG,KAAKG,OAAO9D,KAAMY,YAAWkD,QAAQnB,IAAIgB,IAAIA,EAAE;AACtE,aAAI1C,YAAY0B,IAAIiB,GAAG,KAAKC,OAAO7D,KAAMY,YAAWiD,QAAQlB,IAAIiB,IAAIA,EAAE;AACtEnB,qBAAYE;AACZ;;;;AAIN,UAAI,CAACc,YAAY;AACf,YAAK,IAAItB,IAAI,GAAGA,IAAIoB,IAAIhE,QAAQ4C,KAAK;QACnC,MAAMnC,OAAOuD,IAAIpB;AACjB,YAAInC,QAAQ,OAAOA,SAAS,YAAYA,KAAKlE,SAAY;AACvD8E,oBAAWU,aAAaa,IAAInC,MAAMmC,EAAE;AACpCnC,cAAKlE,UAAa;AAClBkE,cAAKrE,eAAkB4G,OAAO;AAC9BjB,sBAAaa,GAAGnC,OAAOA;;;AAG3B;;;AAGJ,SAAI4C,WAAWA,QAAQrD,SAAS,KAAK+B,aAAa/B,SAASoD,IAAIpD,QAAQ;MACrE,IAAI4E,cAAc;MAClB,IAAIC,cAAc;AAClB,WAAK,IAAIjC,IAAI,GAAGA,IAAIS,QAAQrD,QAAQ4C,KAAK;AACvC,WAAIS,QAAQT,GAAGmB,SAAS,UAAU;AAChCa,sBAAc;AACd;;AAEFC,sBAAexB,QAAQT,GAAGkC,SAAS;;AAErC,UAAIF,eAAeC,gBAAgBzB,IAAIpD,SAAS+B,aAAa/B,QAAQ;OACnE,MAAM+E,QAAQhD,aAAa/B;OAC3B,MAAMyC,OAAO7B,eAAe8B,cAAcC,wBAAwB;AAClE,YAAK,IAAIC,IAAImC,OAAOnC,IAAIQ,IAAIpD,QAAQ4C,KAAK;QACvC,MAAMT,QAAQnB,YAAYoC,IAAIR,IAAIA,EAAE;AACpCb,qBAAac,KAAKV,MAAM;AACxBH,mBAAWc,IAAIX,MAAMhB,KAAKgB,MAAM;AAChCM,aAAKM,YAAYZ,MAAMf,QAAQ;;AAEjCR,sBAAeqC,aAAaR,MAAM5B,YAAY;AAC9CqC,mBAAYE;AACZ;;;AAGJ,SAAIC,WAAWA,QAAQrD,SAAS,KAAK+B,aAAa/B,SAASoD,IAAIpD,QAAQ;MACrE,IAAIgF,cAAc;MAClB,IAAIC,eAAe;AACnB,WAAK,IAAIrC,IAAI,GAAGA,IAAIS,QAAQrD,QAAQ4C,KAAK;OACvC,MAAMW,SAASF,QAAQT;AACvB,WAAIW,OAAOQ,SAAS,UAAU;AAC5BiB,sBAAc;AACd;;AAEFC,uBAAgB1B,OAAOuB,SAAS;;AAElC,UAAIE,eAAejD,aAAa/B,SAASoD,IAAIpD,WAAWiF,cAAc;AACpE,WAAI5B,QAAQrD,WAAW,KAAKqD,QAAQ,GAAGyB,UAAU,GAAG;QAClD,MAAM1E,MAAMiD,QAAQ,GAAG0B;AACvB,YAAI3E,OAAO,KAAKA,MAAM2B,aAAa/B,QAAQ;AACzCkC,qBAAYH,aAAa3B,KAAK;AAC9B2B,sBAAamD,OAAO9E,KAAK,EAAE;;AAE7B8C,oBAAYE;AACZ;;OAEF,MAAM+B,UAAU,EAAE;AAClB,YAAK,IAAIvC,IAAI,GAAGA,IAAIS,QAAQrD,QAAQ4C,KAAK;QACvC,MAAMmC,QAAQ1B,QAAQT,GAAGmC;QACzB,MAAMD,QAAQzB,QAAQT,GAAGkC;AACzB,aAAK,IAAIjB,IAAI,GAAGA,IAAIiB,OAAOjB,IAAKsB,SAAQtC,KAAKkC,QAAQlB,EAAE;;AAEzDsB,eAAQC,MAAMhB,GAAGC,MAAMA,IAAID,EAAE;AAC7B,YAAK,IAAIxB,IAAI,GAAGA,IAAIuC,QAAQnF,QAAQ4C,KAAK;QACvC,MAAMxC,MAAM+E,QAAQvC;AACpB,YAAIxC,OAAO,KAAKA,MAAM2B,aAAa/B,QAAQ;AACzCkC,qBAAYH,aAAa3B,KAAK;AAC9B2B,sBAAamD,OAAO9E,KAAK,EAAE;;;AAG/B8C,mBAAYE;AACZ;;;KAGJ,MAAMiC,SAASjC,IAAIpD;KACnB,MAAMsF,SAASvD,aAAa/B;AAC5B,SAAIsF,WAAW,KAAKD,SAAS,GAAG;MAC9B,MAAME,cAAc,IAAI1D,MAAMwD,OAAO;MACrC,MAAM5C,OAAO7B,eAAe8B,cAAcC,wBAAwB;AAClE,WAAK,IAAIC,IAAI,GAAGA,IAAIyC,QAAQzC,KAAK;OAC/B,MAAMT,QAAQnB,YAAYoC,IAAIR,IAAIA,EAAE;AACpC2C,mBAAY3C,KAAKT;AACjBH,kBAAWc,IAAIX,MAAMhB,KAAKgB,MAAM;AAChCM,YAAKM,YAAYZ,MAAMf,QAAQ;;AAEjCR,qBAAeqC,aAAaR,MAAM5B,YAAY;AAC9CkB,qBAAewD;AACfrC,kBAAYE;AACZ;;KAEF,MAAMoC,UAAU,IAAI3D,MAAMwD,OAAO;AACjC,UAAK,IAAIzC,IAAI,GAAGA,IAAIyC,QAAQzC,IAAK4C,SAAQ5C,KAAK7B,SAASqC,IAAIR,IAAIA,EAAE;AACjE,SAAIyC,WAAW,GAAG;AAChB,UAAIzE,eAAelB,WAAWM,WAAWsF,UAAUzE,cAAc,IAAI,IAAI;AACvE,YAAK,IAAI+B,IAAI,GAAGA,IAAI0C,QAAQ1C,IAAKb,cAAaa,GAAGR,UAAUC,SAAS;AACpEzB,sBAAe6E,cAAc;AAC7B,WAAI5E,YAAaD,gBAAemC,YAAYlC,YAAY;YAExD,MAAK,IAAI+B,IAAI0C,SAAS,GAAG1C,KAAK,GAAGA,IAAKV,aAAYH,aAAaa,GAAG;AAEpEb,qBAAe,EAAE;AACjBC,iBAAWgB,OAAO;AAClBE,kBAAYE;AACZ;;AAEF,SAAIiC,WAAWC,QAAQ;MACrB,IAAII,QAAQ;MACZ,IAAIC,QAAQ;MACZ,IAAIC,YAAY;AAChB,WAAK,IAAIhD,IAAI,GAAGA,IAAIyC,QAAQzC,IAC1B,KAAIb,aAAaa,GAAGzB,QAAQqE,QAAQ5C,IAAI;AACtC,WAAIgD,cAAc,EAAGF,SAAQ9C;gBAAWgD,cAAc,EAAGD,SAAQ/C;AACjEgD;AACA,WAAIA,YAAY,EAAG;;AAGvB,UAAIA,cAAc,KAAK7D,aAAa2D,OAAOvE,QAAQqE,QAAQG,UAAU5D,aAAa4D,OAAOxE,QAAQqE,QAAQE,QAAQ;OAC/G,MAAMpB,SAASvC,aAAa2D;OAC5B,MAAMnB,SAASxC,aAAa4D;OAC5B,MAAMjB,OAAOH,OAAOnD,QAAQuD;AAC5B/D,sBAAeqC,aAAasB,OAAOnD,SAASkD,OAAOlD,QAAQ;AAC3D,WAAIsD,KAAM9D,gBAAeqC,aAAaqB,OAAOlD,SAASsD,KAAK;WAAM9D,gBAAemC,YAAYuB,OAAOlD,QAAQ;AAC3GW,oBAAa2D,SAASnB;AACtBxC,oBAAa4D,SAASrB;AACtB,WAAI5C,YAAY0B,IAAIsC,OAAO,KAAKnB,OAAO9D,KAAMY,YAAWkD,QAAQnB,IAAIsC,QAAQA,MAAM;AAClF,WAAIhE,YAAY0B,IAAIuC,OAAO,KAAKrB,OAAO7D,KAAMY,YAAWiD,QAAQlB,IAAIuC,QAAQA,MAAM;AAClFzC,mBAAYE;AACZ;;;AAGJ,SAAIkC,SAAS,KAAKD,SAAS,KAAKzE,eAAelB,WAAWM,WAAWsF,UAAUzE,cAAc,IAAI,IAAI;MACnG,IAAIgF,WAAW;AACf,WAAK,IAAIjD,IAAI,GAAGA,IAAIyC,QAAQzC,KAAK;OAC/B,IAAIkD,WAAW;AACf,YAAK,IAAIjC,IAAI,GAAGA,IAAIyB,QAAQzB,IAC1B,KAAI9B,aAAa8B,GAAG1C,QAAQqE,QAAQ5C,IAAI;AACtCkD,mBAAW/D,aAAa8B;AACxB;;AAGJ,WAAIiC,UAAU;AACZD,mBAAW;AACX;;;AAGJ,UAAIA,UAAU;AACZ,YAAK,IAAIjD,IAAI,GAAGA,IAAI0C,QAAQ1C,IAAKb,cAAaa,GAAGR,UAAUC,SAAS;AACpEL,kBAAWgB,OAAO;OAClB,MAAMuC,cAAc,IAAI1D,MAAMwD,OAAO;OACrC,MAAMU,YAAY,IAAIlE,MAAMwD,UAAUxE,cAAc,IAAI,GAAG;AAC3D,YAAK,IAAI+B,IAAI,GAAGA,IAAIyC,QAAQzC,KAAK;QAC/B,MAAMT,QAAQnB,YAAYoC,IAAIR,IAAIA,EAAE;AACpC2C,oBAAY3C,KAAKT;AACjB4D,kBAAUnD,KAAKT,MAAMf;AACrBY,mBAAWc,IAAIX,MAAMhB,KAAKgB,MAAM;;AAElC,WAAItB,YAAakF,WAAUV,UAAUxE;AACrCD,sBAAeoF,gBAAgB,GAAGD,UAAU;AAC5ChE,sBAAewD;AACfrC,mBAAYE;AACZ;;;AAGJ,UAAK,IAAIR,IAAI,GAAGA,IAAI0C,QAAQ1C,IAAKb,cAAaa,GAAGqD,KAAKrD;KACtD,MAAMsD,UAAU,IAAIrE,MAAMyD,OAAO,CAACa,KAAK,MAAM;KAC7C,MAAMZ,cAAc,IAAI1D,MAAMwD,OAAO;AACrC,UAAK,IAAIzC,IAAI,GAAGA,IAAIyC,QAAQzC,KAAK;MAC/B,IAAIT,QAAQ;AACZ,WAAK,IAAI0B,IAAI,GAAGA,IAAIyB,QAAQzB,IAC1B,KAAI9B,aAAa8B,GAAG1C,QAAQqE,QAAQ5C,IAAI;AACtCT,eAAQJ,aAAa8B;AACrB;;AAGJ,UAAI1B,OAAO;OACT,MAAMiE,SAASjE,MAAM8D;AACrBC,eAAQE,UAAU;AAClBb,mBAAY3C,KAAKT;;;AAGrB,UAAK,IAAIS,IAAI0C,SAAS,GAAG1C,KAAK,GAAGA,IAC/B,KAAI,CAACsD,QAAQtD,GAAIV,aAAYH,aAAaa,GAAG;KAE/C,IAAIyD,UAAUxF;AACd,UAAK,IAAI+B,IAAIyC,SAAS,GAAGzC,KAAK,GAAGA,KAAK;MACpC,IAAIT,QAAQoD,YAAY3C;AACxB,UAAI,CAACT,OAAO;AACVA,eAAQnB,YAAYoC,IAAIR,IAAIA,EAAE;AAC9BZ,kBAAWc,IAAIX,MAAMhB,KAAKgB,MAAM;iBACvBA,MAAM1B,SAASiB,YAAY0B,IAAIR,GAAG,CAC3CvB,YAAWc,OAAOiB,IAAIR,IAAIA,EAAE;AAE9B,UAAIT,MAAMf,QAAQxB,eAAegB,kBAAkBuB,MAAMf,QAAQuD,gBAAgB0B,QAASzF,gBAAeqC,aAAad,MAAMf,SAASiF,QAAQ;AAC7Id,kBAAY3C,KAAKT;AACjBkE,gBAAUlE,MAAMf;;AAElBW,oBAAewD;AACfrC,iBAAYE;;AAEd,QAAItC,aAAa,OAAOA,UAAUwF,YAAY,YAAY;KACxD,MAAMC,MAAMzF,UAAUwF,QAAQ,kBAAkBE,QAAQnD,YAAY;AAClEF,qBAAeqD,QAAQnD,QAAQ;OAC/B;AACFjE,OAAEqH,IAAIF,IAAI;;;AAGd,UAAOlH;IACP;AACF,SAAOA"}
@@ -7,7 +7,7 @@ declare class HoverCard extends ZagComponent {
7
7
  open: boolean;
8
8
  createMachine(_props: any): any;
9
9
  getMachineProps(props: any): {
10
- id: any;
10
+ id: string;
11
11
  open: any;
12
12
  defaultOpen: any;
13
13
  openDelay: any;
@@ -26,7 +26,7 @@ declare class HoverCard extends ZagComponent {
26
26
  '[data-part="arrow-tip"]': string;
27
27
  };
28
28
  syncState(api: any): void;
29
- template(props: any): string;
29
+ template(props: any): any;
30
30
  }
31
31
  //#endregion
32
32
  export { HoverCard as default };