@furystack/shades-common-components 10.0.35 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/esm/components/animations.spec.d.ts +2 -0
  3. package/esm/components/animations.spec.d.ts.map +1 -0
  4. package/esm/components/animations.spec.js +201 -0
  5. package/esm/components/animations.spec.js.map +1 -0
  6. package/esm/components/app-bar-link.js +21 -20
  7. package/esm/components/app-bar-link.js.map +1 -1
  8. package/esm/components/app-bar-link.spec.d.ts +2 -0
  9. package/esm/components/app-bar-link.spec.d.ts.map +1 -0
  10. package/esm/components/app-bar-link.spec.js +252 -0
  11. package/esm/components/app-bar-link.spec.js.map +1 -0
  12. package/esm/components/app-bar.js +21 -21
  13. package/esm/components/app-bar.js.map +1 -1
  14. package/esm/components/app-bar.spec.d.ts +2 -0
  15. package/esm/components/app-bar.spec.d.ts.map +1 -0
  16. package/esm/components/app-bar.spec.js +117 -0
  17. package/esm/components/app-bar.spec.js.map +1 -0
  18. package/esm/components/avatar.d.ts.map +1 -1
  19. package/esm/components/avatar.js +15 -19
  20. package/esm/components/avatar.js.map +1 -1
  21. package/esm/components/avatar.spec.d.ts +2 -0
  22. package/esm/components/avatar.spec.d.ts.map +1 -0
  23. package/esm/components/avatar.spec.js +114 -0
  24. package/esm/components/avatar.spec.js.map +1 -0
  25. package/esm/components/button.d.ts.map +1 -1
  26. package/esm/components/button.js +145 -156
  27. package/esm/components/button.js.map +1 -1
  28. package/esm/components/button.spec.d.ts +2 -0
  29. package/esm/components/button.spec.d.ts.map +1 -0
  30. package/esm/components/button.spec.js +155 -0
  31. package/esm/components/button.spec.js.map +1 -0
  32. package/esm/components/command-palette/command-palette-input.d.ts.map +1 -1
  33. package/esm/components/command-palette/command-palette-input.js +18 -16
  34. package/esm/components/command-palette/command-palette-input.js.map +1 -1
  35. package/esm/components/command-palette/command-palette-input.spec.d.ts +2 -0
  36. package/esm/components/command-palette/command-palette-input.spec.d.ts.map +1 -0
  37. package/esm/components/command-palette/command-palette-input.spec.js +233 -0
  38. package/esm/components/command-palette/command-palette-input.spec.js.map +1 -0
  39. package/esm/components/command-palette/command-palette-manager.spec.d.ts +2 -0
  40. package/esm/components/command-palette/command-palette-manager.spec.d.ts.map +1 -0
  41. package/esm/components/command-palette/command-palette-manager.spec.js +362 -0
  42. package/esm/components/command-palette/command-palette-manager.spec.js.map +1 -0
  43. package/esm/components/command-palette/command-palette-suggestion-list.d.ts.map +1 -1
  44. package/esm/components/command-palette/command-palette-suggestion-list.js +42 -46
  45. package/esm/components/command-palette/command-palette-suggestion-list.js.map +1 -1
  46. package/esm/components/command-palette/command-palette-suggestion-list.spec.d.ts +2 -0
  47. package/esm/components/command-palette/command-palette-suggestion-list.spec.d.ts.map +1 -0
  48. package/esm/components/command-palette/command-palette-suggestion-list.spec.js +376 -0
  49. package/esm/components/command-palette/command-palette-suggestion-list.spec.js.map +1 -0
  50. package/esm/components/command-palette/index.d.ts.map +1 -1
  51. package/esm/components/command-palette/index.js +100 -110
  52. package/esm/components/command-palette/index.js.map +1 -1
  53. package/esm/components/command-palette/index.spec.d.ts +2 -0
  54. package/esm/components/command-palette/index.spec.d.ts.map +1 -0
  55. package/esm/components/command-palette/index.spec.js +509 -0
  56. package/esm/components/command-palette/index.spec.js.map +1 -0
  57. package/esm/components/data-grid/body.js +1 -1
  58. package/esm/components/data-grid/body.js.map +1 -1
  59. package/esm/components/data-grid/body.spec.d.ts +2 -0
  60. package/esm/components/data-grid/body.spec.d.ts.map +1 -0
  61. package/esm/components/data-grid/body.spec.js +228 -0
  62. package/esm/components/data-grid/body.spec.js.map +1 -0
  63. package/esm/components/data-grid/data-grid-row.d.ts.map +1 -1
  64. package/esm/components/data-grid/data-grid-row.js +49 -73
  65. package/esm/components/data-grid/data-grid-row.js.map +1 -1
  66. package/esm/components/data-grid/data-grid-row.spec.d.ts +2 -0
  67. package/esm/components/data-grid/data-grid-row.spec.d.ts.map +1 -0
  68. package/esm/components/data-grid/data-grid-row.spec.js +296 -0
  69. package/esm/components/data-grid/data-grid-row.spec.js.map +1 -0
  70. package/esm/components/data-grid/data-grid.d.ts.map +1 -1
  71. package/esm/components/data-grid/data-grid.js +35 -28
  72. package/esm/components/data-grid/data-grid.js.map +1 -1
  73. package/esm/components/data-grid/data-grid.spec.d.ts +2 -0
  74. package/esm/components/data-grid/data-grid.spec.d.ts.map +1 -0
  75. package/esm/components/data-grid/data-grid.spec.js +544 -0
  76. package/esm/components/data-grid/data-grid.spec.js.map +1 -0
  77. package/esm/components/data-grid/footer.js +21 -15
  78. package/esm/components/data-grid/footer.js.map +1 -1
  79. package/esm/components/data-grid/footer.spec.d.ts +2 -0
  80. package/esm/components/data-grid/footer.spec.d.ts.map +1 -0
  81. package/esm/components/data-grid/footer.spec.js +264 -0
  82. package/esm/components/data-grid/footer.spec.js.map +1 -0
  83. package/esm/components/data-grid/header.d.ts.map +1 -1
  84. package/esm/components/data-grid/header.js +55 -33
  85. package/esm/components/data-grid/header.js.map +1 -1
  86. package/esm/components/data-grid/header.spec.d.ts +2 -0
  87. package/esm/components/data-grid/header.spec.d.ts.map +1 -0
  88. package/esm/components/data-grid/header.spec.js +421 -0
  89. package/esm/components/data-grid/header.spec.js.map +1 -0
  90. package/esm/components/data-grid/selection-cell.d.ts.map +1 -1
  91. package/esm/components/data-grid/selection-cell.js +13 -6
  92. package/esm/components/data-grid/selection-cell.js.map +1 -1
  93. package/esm/components/data-grid/selection-cell.spec.d.ts +2 -0
  94. package/esm/components/data-grid/selection-cell.spec.d.ts.map +1 -0
  95. package/esm/components/data-grid/selection-cell.spec.js +118 -0
  96. package/esm/components/data-grid/selection-cell.spec.js.map +1 -0
  97. package/esm/components/fab.d.ts.map +1 -1
  98. package/esm/components/fab.js +10 -1
  99. package/esm/components/fab.js.map +1 -1
  100. package/esm/components/fab.spec.d.ts +2 -0
  101. package/esm/components/fab.spec.d.ts.map +1 -0
  102. package/esm/components/fab.spec.js +95 -0
  103. package/esm/components/fab.spec.js.map +1 -0
  104. package/esm/components/form.spec.d.ts +2 -0
  105. package/esm/components/form.spec.d.ts.map +1 -0
  106. package/esm/components/form.spec.js +314 -0
  107. package/esm/components/form.spec.js.map +1 -0
  108. package/esm/components/grid.d.ts.map +1 -1
  109. package/esm/components/grid.js +40 -37
  110. package/esm/components/grid.js.map +1 -1
  111. package/esm/components/grid.spec.d.ts +2 -0
  112. package/esm/components/grid.spec.d.ts.map +1 -0
  113. package/esm/components/grid.spec.js +316 -0
  114. package/esm/components/grid.spec.js.map +1 -0
  115. package/esm/components/inputs/autocomplete.spec.d.ts +2 -0
  116. package/esm/components/inputs/autocomplete.spec.d.ts.map +1 -0
  117. package/esm/components/inputs/autocomplete.spec.js +194 -0
  118. package/esm/components/inputs/autocomplete.spec.js.map +1 -0
  119. package/esm/components/inputs/input.d.ts.map +1 -1
  120. package/esm/components/inputs/input.js +141 -109
  121. package/esm/components/inputs/input.js.map +1 -1
  122. package/esm/components/inputs/input.spec.d.ts +2 -0
  123. package/esm/components/inputs/input.spec.d.ts.map +1 -0
  124. package/esm/components/inputs/input.spec.js +577 -0
  125. package/esm/components/inputs/input.spec.js.map +1 -0
  126. package/esm/components/inputs/text-area.d.ts.map +1 -1
  127. package/esm/components/inputs/text-area.js +54 -58
  128. package/esm/components/inputs/text-area.js.map +1 -1
  129. package/esm/components/inputs/text-area.spec.d.ts +2 -0
  130. package/esm/components/inputs/text-area.spec.d.ts.map +1 -0
  131. package/esm/components/inputs/text-area.spec.js +214 -0
  132. package/esm/components/inputs/text-area.spec.js.map +1 -0
  133. package/esm/components/loader.js +1 -1
  134. package/esm/components/loader.js.map +1 -1
  135. package/esm/components/loader.spec.d.ts +2 -0
  136. package/esm/components/loader.spec.d.ts.map +1 -0
  137. package/esm/components/loader.spec.js +251 -0
  138. package/esm/components/loader.spec.js.map +1 -0
  139. package/esm/components/modal.d.ts.map +1 -1
  140. package/esm/components/modal.js +11 -9
  141. package/esm/components/modal.js.map +1 -1
  142. package/esm/components/modal.spec.d.ts +2 -0
  143. package/esm/components/modal.spec.d.ts.map +1 -0
  144. package/esm/components/modal.spec.js +227 -0
  145. package/esm/components/modal.spec.js.map +1 -0
  146. package/esm/components/noty-list.d.ts.map +1 -1
  147. package/esm/components/noty-list.js +39 -40
  148. package/esm/components/noty-list.js.map +1 -1
  149. package/esm/components/noty-list.spec.d.ts +2 -0
  150. package/esm/components/noty-list.spec.d.ts.map +1 -0
  151. package/esm/components/noty-list.spec.js +486 -0
  152. package/esm/components/noty-list.spec.js.map +1 -0
  153. package/esm/components/paper.d.ts.map +1 -1
  154. package/esm/components/paper.js +15 -12
  155. package/esm/components/paper.js.map +1 -1
  156. package/esm/components/paper.spec.d.ts +2 -0
  157. package/esm/components/paper.spec.d.ts.map +1 -0
  158. package/esm/components/paper.spec.js +63 -0
  159. package/esm/components/paper.spec.js.map +1 -0
  160. package/esm/components/skeleton.js +1 -1
  161. package/esm/components/skeleton.js.map +1 -1
  162. package/esm/components/skeleton.spec.d.ts +2 -0
  163. package/esm/components/skeleton.spec.d.ts.map +1 -0
  164. package/esm/components/skeleton.spec.js +159 -0
  165. package/esm/components/skeleton.spec.js.map +1 -0
  166. package/esm/components/styles.spec.d.ts +2 -0
  167. package/esm/components/styles.spec.d.ts.map +1 -0
  168. package/esm/components/styles.spec.js +56 -0
  169. package/esm/components/styles.spec.js.map +1 -0
  170. package/esm/components/suggest/index.d.ts.map +1 -1
  171. package/esm/components/suggest/index.js +74 -83
  172. package/esm/components/suggest/index.js.map +1 -1
  173. package/esm/components/suggest/index.spec.d.ts +2 -0
  174. package/esm/components/suggest/index.spec.d.ts.map +1 -0
  175. package/esm/components/suggest/index.spec.js +515 -0
  176. package/esm/components/suggest/index.spec.js.map +1 -0
  177. package/esm/components/suggest/suggest-input.d.ts.map +1 -1
  178. package/esm/components/suggest/suggest-input.js +16 -17
  179. package/esm/components/suggest/suggest-input.js.map +1 -1
  180. package/esm/components/suggest/suggest-input.spec.d.ts +2 -0
  181. package/esm/components/suggest/suggest-input.spec.d.ts.map +1 -0
  182. package/esm/components/suggest/suggest-input.spec.js +138 -0
  183. package/esm/components/suggest/suggest-input.spec.js.map +1 -0
  184. package/esm/components/suggest/suggest-manager.spec.d.ts +2 -0
  185. package/esm/components/suggest/suggest-manager.spec.d.ts.map +1 -0
  186. package/esm/components/suggest/suggest-manager.spec.js +308 -0
  187. package/esm/components/suggest/suggest-manager.spec.js.map +1 -0
  188. package/esm/components/suggest/suggestion-list.d.ts.map +1 -1
  189. package/esm/components/suggest/suggestion-list.js +43 -48
  190. package/esm/components/suggest/suggestion-list.js.map +1 -1
  191. package/esm/components/suggest/suggestion-list.spec.d.ts +2 -0
  192. package/esm/components/suggest/suggestion-list.spec.d.ts.map +1 -0
  193. package/esm/components/suggest/suggestion-list.spec.js +252 -0
  194. package/esm/components/suggest/suggestion-list.spec.js.map +1 -0
  195. package/esm/components/tabs.d.ts.map +1 -1
  196. package/esm/components/tabs.js +32 -18
  197. package/esm/components/tabs.js.map +1 -1
  198. package/esm/components/tabs.spec.d.ts +2 -0
  199. package/esm/components/tabs.spec.d.ts.map +1 -0
  200. package/esm/components/tabs.spec.js +187 -0
  201. package/esm/components/tabs.spec.js.map +1 -0
  202. package/esm/components/wizard/index.d.ts.map +1 -1
  203. package/esm/components/wizard/index.js +10 -7
  204. package/esm/components/wizard/index.js.map +1 -1
  205. package/esm/components/wizard/index.spec.d.ts +2 -0
  206. package/esm/components/wizard/index.spec.d.ts.map +1 -0
  207. package/esm/components/wizard/index.spec.js +171 -0
  208. package/esm/components/wizard/index.spec.js.map +1 -0
  209. package/esm/services/collection-service.spec.js +391 -2
  210. package/esm/services/collection-service.spec.js.map +1 -1
  211. package/esm/services/css-variable-theme.d.ts.map +1 -1
  212. package/esm/services/css-variable-theme.js +21 -1
  213. package/esm/services/css-variable-theme.js.map +1 -1
  214. package/esm/services/css-variable-theme.spec.d.ts +2 -0
  215. package/esm/services/css-variable-theme.spec.d.ts.map +1 -0
  216. package/esm/services/css-variable-theme.spec.js +169 -0
  217. package/esm/services/css-variable-theme.spec.js.map +1 -0
  218. package/esm/services/default-palette.d.ts +4 -0
  219. package/esm/services/default-palette.d.ts.map +1 -1
  220. package/esm/services/default-palette.js +22 -0
  221. package/esm/services/default-palette.js.map +1 -1
  222. package/esm/services/theme-provider-service.d.ts +59 -1
  223. package/esm/services/theme-provider-service.d.ts.map +1 -1
  224. package/esm/services/theme-provider-service.js.map +1 -1
  225. package/esm/services/theme-provider-service.spec.d.ts +2 -0
  226. package/esm/services/theme-provider-service.spec.d.ts.map +1 -0
  227. package/esm/services/theme-provider-service.spec.js +166 -0
  228. package/esm/services/theme-provider-service.spec.js.map +1 -0
  229. package/package.json +2 -2
  230. package/src/components/animations.spec.ts +299 -0
  231. package/src/components/app-bar-link.spec.tsx +341 -0
  232. package/src/components/app-bar-link.tsx +21 -21
  233. package/src/components/app-bar.spec.tsx +142 -0
  234. package/src/components/app-bar.tsx +22 -22
  235. package/src/components/avatar.spec.tsx +146 -0
  236. package/src/components/avatar.tsx +17 -20
  237. package/src/components/button.spec.tsx +193 -0
  238. package/src/components/button.tsx +162 -197
  239. package/src/components/command-palette/command-palette-input.spec.tsx +320 -0
  240. package/src/components/command-palette/command-palette-input.tsx +19 -22
  241. package/src/components/command-palette/command-palette-manager.spec.ts +470 -0
  242. package/src/components/command-palette/command-palette-suggestion-list.spec.tsx +499 -0
  243. package/src/components/command-palette/command-palette-suggestion-list.tsx +42 -46
  244. package/src/components/command-palette/index.spec.tsx +684 -0
  245. package/src/components/command-palette/index.tsx +107 -136
  246. package/src/components/data-grid/body.spec.tsx +340 -0
  247. package/src/components/data-grid/body.tsx +1 -1
  248. package/src/components/data-grid/data-grid-row.spec.tsx +382 -0
  249. package/src/components/data-grid/data-grid-row.tsx +50 -82
  250. package/src/components/data-grid/data-grid.spec.tsx +939 -0
  251. package/src/components/data-grid/data-grid.tsx +38 -35
  252. package/src/components/data-grid/footer.spec.tsx +344 -0
  253. package/src/components/data-grid/footer.tsx +19 -19
  254. package/src/components/data-grid/header.spec.tsx +563 -0
  255. package/src/components/data-grid/header.tsx +53 -44
  256. package/src/components/data-grid/selection-cell.spec.tsx +150 -0
  257. package/src/components/data-grid/selection-cell.tsx +12 -6
  258. package/src/components/fab.spec.tsx +108 -0
  259. package/src/components/fab.tsx +10 -1
  260. package/src/components/form.spec.tsx +481 -0
  261. package/src/components/grid.spec.tsx +334 -0
  262. package/src/components/grid.tsx +57 -63
  263. package/src/components/inputs/autocomplete.spec.tsx +258 -0
  264. package/src/components/inputs/input.spec.tsx +808 -0
  265. package/src/components/inputs/input.tsx +153 -139
  266. package/src/components/inputs/text-area.spec.tsx +285 -0
  267. package/src/components/inputs/text-area.tsx +53 -79
  268. package/src/components/loader.spec.tsx +346 -0
  269. package/src/components/loader.tsx +1 -1
  270. package/src/components/modal.spec.tsx +304 -0
  271. package/src/components/modal.tsx +11 -9
  272. package/src/components/noty-list.spec.tsx +631 -0
  273. package/src/components/noty-list.tsx +39 -50
  274. package/src/components/paper.spec.tsx +72 -0
  275. package/src/components/paper.tsx +15 -13
  276. package/src/components/skeleton.spec.tsx +219 -0
  277. package/src/components/skeleton.tsx +1 -1
  278. package/src/components/styles.spec.ts +70 -0
  279. package/src/components/suggest/index.spec.tsx +861 -0
  280. package/src/components/suggest/index.tsx +74 -101
  281. package/src/components/suggest/suggest-input.spec.tsx +181 -0
  282. package/src/components/suggest/suggest-input.tsx +16 -24
  283. package/src/components/suggest/suggest-manager.spec.ts +409 -0
  284. package/src/components/suggest/suggestion-list.spec.tsx +334 -0
  285. package/src/components/suggest/suggestion-list.tsx +43 -48
  286. package/src/components/tabs.spec.tsx +236 -0
  287. package/src/components/tabs.tsx +33 -21
  288. package/src/components/wizard/index.spec.tsx +224 -0
  289. package/src/components/wizard/index.tsx +10 -9
  290. package/src/services/collection-service.spec.ts +492 -3
  291. package/src/services/css-variable-theme.spec.ts +204 -0
  292. package/src/services/css-variable-theme.ts +21 -1
  293. package/src/services/default-palette.ts +22 -0
  294. package/src/services/theme-provider-service.spec.ts +195 -0
  295. package/src/services/theme-provider-service.ts +60 -2
@@ -0,0 +1,577 @@
1
+ import { Injector } from '@furystack/inject';
2
+ import { createComponent, initializeShadeRoot } from '@furystack/shades';
3
+ import { sleepAsync } from '@furystack/utils';
4
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
+ import { ThemeProviderService } from '../../services/theme-provider-service.js';
6
+ import { Form, FormService } from '../form.js';
7
+ import { Input } from './input.js';
8
+ describe('Input', () => {
9
+ beforeEach(() => {
10
+ document.body.innerHTML = '<div id="root"></div>';
11
+ });
12
+ afterEach(() => {
13
+ document.body.innerHTML = '';
14
+ vi.restoreAllMocks();
15
+ });
16
+ it('should render with shadow DOM', async () => {
17
+ const injector = new Injector();
18
+ const rootElement = document.getElementById('root');
19
+ initializeShadeRoot({
20
+ injector,
21
+ rootElement,
22
+ jsxElement: createComponent(Input, null),
23
+ });
24
+ await sleepAsync(50);
25
+ const input = document.querySelector('shade-input');
26
+ expect(input).not.toBeNull();
27
+ });
28
+ it('should render the inner input element', async () => {
29
+ const injector = new Injector();
30
+ const rootElement = document.getElementById('root');
31
+ initializeShadeRoot({
32
+ injector,
33
+ rootElement,
34
+ jsxElement: createComponent(Input, { name: "testField" }),
35
+ });
36
+ await sleepAsync(50);
37
+ const input = document.querySelector('shade-input input');
38
+ expect(input).not.toBeNull();
39
+ expect(input.name).toBe('testField');
40
+ });
41
+ it('should render the label title', async () => {
42
+ const injector = new Injector();
43
+ const rootElement = document.getElementById('root');
44
+ initializeShadeRoot({
45
+ injector,
46
+ rootElement,
47
+ jsxElement: createComponent(Input, { labelTitle: "Test Label" }),
48
+ });
49
+ await sleepAsync(50);
50
+ const label = document.querySelector('shade-input label');
51
+ expect(label).not.toBeNull();
52
+ expect(label.textContent).toContain('Test Label');
53
+ });
54
+ describe('variants', () => {
55
+ it('should set data-variant attribute for outlined variant', async () => {
56
+ const injector = new Injector();
57
+ const rootElement = document.getElementById('root');
58
+ initializeShadeRoot({
59
+ injector,
60
+ rootElement,
61
+ jsxElement: createComponent(Input, { variant: "outlined" }),
62
+ });
63
+ await sleepAsync(50);
64
+ const input = document.querySelector('shade-input');
65
+ expect(input).not.toBeNull();
66
+ expect(input.getAttribute('data-variant')).toBe('outlined');
67
+ });
68
+ it('should set data-variant attribute for contained variant', async () => {
69
+ const injector = new Injector();
70
+ const rootElement = document.getElementById('root');
71
+ initializeShadeRoot({
72
+ injector,
73
+ rootElement,
74
+ jsxElement: createComponent(Input, { variant: "contained" }),
75
+ });
76
+ await sleepAsync(50);
77
+ const input = document.querySelector('shade-input');
78
+ expect(input).not.toBeNull();
79
+ expect(input.getAttribute('data-variant')).toBe('contained');
80
+ });
81
+ it('should not have data-variant when variant is not specified', async () => {
82
+ const injector = new Injector();
83
+ const rootElement = document.getElementById('root');
84
+ initializeShadeRoot({
85
+ injector,
86
+ rootElement,
87
+ jsxElement: createComponent(Input, null),
88
+ });
89
+ await sleepAsync(50);
90
+ const input = document.querySelector('shade-input');
91
+ expect(input).not.toBeNull();
92
+ expect(input.hasAttribute('data-variant')).toBe(false);
93
+ });
94
+ });
95
+ describe('disabled state', () => {
96
+ it('should set data-disabled attribute when disabled', async () => {
97
+ const injector = new Injector();
98
+ const rootElement = document.getElementById('root');
99
+ initializeShadeRoot({
100
+ injector,
101
+ rootElement,
102
+ jsxElement: createComponent(Input, { disabled: true }),
103
+ });
104
+ await sleepAsync(50);
105
+ const input = document.querySelector('shade-input');
106
+ expect(input).not.toBeNull();
107
+ expect(input.hasAttribute('data-disabled')).toBe(true);
108
+ });
109
+ it('should not have data-disabled attribute when not disabled', async () => {
110
+ const injector = new Injector();
111
+ const rootElement = document.getElementById('root');
112
+ initializeShadeRoot({
113
+ injector,
114
+ rootElement,
115
+ jsxElement: createComponent(Input, { disabled: false }),
116
+ });
117
+ await sleepAsync(50);
118
+ const input = document.querySelector('shade-input');
119
+ expect(input).not.toBeNull();
120
+ expect(input.hasAttribute('data-disabled')).toBe(false);
121
+ });
122
+ });
123
+ describe('validation', () => {
124
+ it('should call custom validation callback', async () => {
125
+ const injector = new Injector();
126
+ const rootElement = document.getElementById('root');
127
+ const getValidationResult = vi.fn().mockReturnValue({ isValid: true });
128
+ initializeShadeRoot({
129
+ injector,
130
+ rootElement,
131
+ jsxElement: createComponent(Input, { name: "email", getValidationResult: getValidationResult }),
132
+ });
133
+ await sleepAsync(50);
134
+ const input = document.querySelector('shade-input input');
135
+ input.value = 'test@example.com';
136
+ input.dispatchEvent(new Event('change', { bubbles: true }));
137
+ await sleepAsync(50);
138
+ expect(getValidationResult).toHaveBeenCalled();
139
+ });
140
+ it('should set data-invalid when validation fails', async () => {
141
+ const injector = new Injector();
142
+ const rootElement = document.getElementById('root');
143
+ initializeShadeRoot({
144
+ injector,
145
+ rootElement,
146
+ jsxElement: (createComponent(Input, { name: "email", getValidationResult: () => ({ isValid: false, message: 'Invalid email' }), value: "invalid" })),
147
+ });
148
+ await sleepAsync(50);
149
+ const inputWrapper = document.querySelector('shade-input');
150
+ const input = inputWrapper.querySelector('input');
151
+ input.value = 'invalid';
152
+ input.dispatchEvent(new Event('change', { bubbles: true }));
153
+ await sleepAsync(50);
154
+ expect(inputWrapper.hasAttribute('data-invalid')).toBe(true);
155
+ });
156
+ it('should not have data-invalid when validation passes', async () => {
157
+ const injector = new Injector();
158
+ const rootElement = document.getElementById('root');
159
+ initializeShadeRoot({
160
+ injector,
161
+ rootElement,
162
+ jsxElement: createComponent(Input, { name: "email", getValidationResult: () => ({ isValid: true }), value: "valid@email.com" }),
163
+ });
164
+ await sleepAsync(50);
165
+ const inputWrapper = document.querySelector('shade-input');
166
+ const input = inputWrapper.querySelector('input');
167
+ input.value = 'valid@email.com';
168
+ input.dispatchEvent(new Event('change', { bubbles: true }));
169
+ await sleepAsync(50);
170
+ expect(inputWrapper.hasAttribute('data-invalid')).toBe(false);
171
+ });
172
+ it('should display validation message in helper text when validation fails', async () => {
173
+ const injector = new Injector();
174
+ const rootElement = document.getElementById('root');
175
+ initializeShadeRoot({
176
+ injector,
177
+ rootElement,
178
+ jsxElement: (createComponent(Input, { name: "email", getValidationResult: () => ({ isValid: false, message: 'Email is required' }) })),
179
+ });
180
+ await sleepAsync(50);
181
+ const inputWrapper = document.querySelector('shade-input');
182
+ const input = inputWrapper.querySelector('input');
183
+ input.value = '';
184
+ input.dispatchEvent(new Event('change', { bubbles: true }));
185
+ await sleepAsync(50);
186
+ const helperText = inputWrapper.querySelector('.helperText');
187
+ expect(helperText.textContent).toBe('Email is required');
188
+ });
189
+ it('should show default validation message for required field', async () => {
190
+ const injector = new Injector();
191
+ const rootElement = document.getElementById('root');
192
+ initializeShadeRoot({
193
+ injector,
194
+ rootElement,
195
+ jsxElement: createComponent(Input, { name: "field", required: true }),
196
+ });
197
+ await sleepAsync(50);
198
+ const inputWrapper = document.querySelector('shade-input');
199
+ const input = inputWrapper.querySelector('input');
200
+ const invalidEvent = new Event('invalid', { bubbles: true, cancelable: true });
201
+ input.dispatchEvent(invalidEvent);
202
+ await sleepAsync(50);
203
+ const helperText = inputWrapper.querySelector('.helperText');
204
+ expect(helperText.textContent).toBe('Value is required');
205
+ });
206
+ });
207
+ describe('helper text', () => {
208
+ it('should render custom helper text', async () => {
209
+ const injector = new Injector();
210
+ const rootElement = document.getElementById('root');
211
+ initializeShadeRoot({
212
+ injector,
213
+ rootElement,
214
+ jsxElement: createComponent(Input, { name: "email", getHelperText: () => 'Enter your email address' }),
215
+ });
216
+ await sleepAsync(50);
217
+ const inputWrapper = document.querySelector('shade-input');
218
+ const helperText = inputWrapper.querySelector('.helperText');
219
+ expect(helperText.textContent).toBe('Enter your email address');
220
+ });
221
+ it('should call getHelperText with state and validation result when validation passes', async () => {
222
+ const injector = new Injector();
223
+ const rootElement = document.getElementById('root');
224
+ const getHelperText = vi.fn().mockReturnValue('Helper text');
225
+ initializeShadeRoot({
226
+ injector,
227
+ rootElement,
228
+ jsxElement: (createComponent(Input, { name: "email", getHelperText: getHelperText, getValidationResult: () => ({ isValid: true }) })),
229
+ });
230
+ await sleepAsync(50);
231
+ const input = document.querySelector('shade-input input');
232
+ input.value = 'test';
233
+ input.dispatchEvent(new Event('change', { bubbles: true }));
234
+ await sleepAsync(50);
235
+ expect(getHelperText).toHaveBeenCalled();
236
+ const { calls } = getHelperText.mock;
237
+ const callWithValidation = calls.find((call) => call[0].validationResult !== undefined);
238
+ expect(callWithValidation).toBeDefined();
239
+ expect(callWithValidation[0].validationResult).toEqual({
240
+ isValid: true,
241
+ });
242
+ expect(callWithValidation[0].state).toBeDefined();
243
+ });
244
+ it('should use validation message instead of getHelperText when validation fails with message', async () => {
245
+ const injector = new Injector();
246
+ const rootElement = document.getElementById('root');
247
+ const getHelperText = vi.fn().mockReturnValue('Fallback helper');
248
+ initializeShadeRoot({
249
+ injector,
250
+ rootElement,
251
+ jsxElement: (createComponent(Input, { name: "email", getHelperText: getHelperText, getValidationResult: () => ({ isValid: false, message: 'Validation error message' }) })),
252
+ });
253
+ await sleepAsync(50);
254
+ const input = document.querySelector('shade-input input');
255
+ input.value = 'test';
256
+ input.dispatchEvent(new Event('change', { bubbles: true }));
257
+ await sleepAsync(50);
258
+ const inputWrapper = document.querySelector('shade-input');
259
+ const helperText = inputWrapper.querySelector('.helperText');
260
+ expect(helperText.textContent).toBe('Validation error message');
261
+ });
262
+ });
263
+ describe('icons', () => {
264
+ it('should render start icon when getStartIcon is provided', async () => {
265
+ const injector = new Injector();
266
+ const rootElement = document.getElementById('root');
267
+ initializeShadeRoot({
268
+ injector,
269
+ rootElement,
270
+ jsxElement: createComponent(Input, { name: "search", getStartIcon: () => '🔍' }),
271
+ });
272
+ await sleepAsync(50);
273
+ const inputWrapper = document.querySelector('shade-input');
274
+ const startIcon = inputWrapper.querySelector('.startIcon');
275
+ expect(startIcon).not.toBeNull();
276
+ expect(startIcon.textContent).toBe('🔍');
277
+ });
278
+ it('should render end icon when getEndIcon is provided', async () => {
279
+ const injector = new Injector();
280
+ const rootElement = document.getElementById('root');
281
+ initializeShadeRoot({
282
+ injector,
283
+ rootElement,
284
+ jsxElement: createComponent(Input, { name: "password", getEndIcon: () => '👁️' }),
285
+ });
286
+ await sleepAsync(50);
287
+ const inputWrapper = document.querySelector('shade-input');
288
+ const endIcon = inputWrapper.querySelector('.endIcon');
289
+ expect(endIcon).not.toBeNull();
290
+ expect(endIcon.textContent).toBe('👁️');
291
+ });
292
+ it('should not render icon container when getStartIcon is not provided', async () => {
293
+ const injector = new Injector();
294
+ const rootElement = document.getElementById('root');
295
+ initializeShadeRoot({
296
+ injector,
297
+ rootElement,
298
+ jsxElement: createComponent(Input, { name: "field" }),
299
+ });
300
+ await sleepAsync(50);
301
+ const inputWrapper = document.querySelector('shade-input');
302
+ const startIcon = inputWrapper.querySelector('.startIcon');
303
+ expect(startIcon).toBeNull();
304
+ });
305
+ it('should update icons on state change', async () => {
306
+ const injector = new Injector();
307
+ const rootElement = document.getElementById('root');
308
+ initializeShadeRoot({
309
+ injector,
310
+ rootElement,
311
+ jsxElement: createComponent(Input, { name: "field", getEndIcon: ({ state }) => (state.focused ? '✓' : '○') }),
312
+ });
313
+ await sleepAsync(50);
314
+ const inputWrapper = document.querySelector('shade-input');
315
+ const input = inputWrapper.querySelector('input');
316
+ const endIcon = inputWrapper.querySelector('.endIcon');
317
+ expect(endIcon.textContent).toBe('○');
318
+ input.dispatchEvent(new FocusEvent('focus'));
319
+ await sleepAsync(50);
320
+ expect(endIcon.textContent).toBe('✓');
321
+ });
322
+ });
323
+ describe('theme integration', () => {
324
+ it('should set CSS color variables from theme', async () => {
325
+ const injector = new Injector();
326
+ const rootElement = document.getElementById('root');
327
+ initializeShadeRoot({
328
+ injector,
329
+ rootElement,
330
+ jsxElement: createComponent(Input, { name: "field" }),
331
+ });
332
+ await sleepAsync(50);
333
+ const inputWrapper = document.querySelector('shade-input');
334
+ const themeService = injector.getInstance(ThemeProviderService);
335
+ expect(inputWrapper.style.getPropertyValue('--input-primary-color')).toBe(themeService.theme.palette.primary.main);
336
+ expect(inputWrapper.style.getPropertyValue('--input-error-color')).toBe(themeService.theme.palette.error.main);
337
+ });
338
+ it('should use custom color from defaultColor prop', async () => {
339
+ const injector = new Injector();
340
+ const rootElement = document.getElementById('root');
341
+ initializeShadeRoot({
342
+ injector,
343
+ rootElement,
344
+ jsxElement: createComponent(Input, { name: "field", defaultColor: "secondary" }),
345
+ });
346
+ await sleepAsync(50);
347
+ const inputWrapper = document.querySelector('shade-input');
348
+ const themeService = injector.getInstance(ThemeProviderService);
349
+ expect(inputWrapper.style.getPropertyValue('--input-primary-color')).toBe(themeService.theme.palette.secondary.main);
350
+ });
351
+ });
352
+ describe('callbacks', () => {
353
+ it('should call onTextChange when input value changes', async () => {
354
+ const injector = new Injector();
355
+ const rootElement = document.getElementById('root');
356
+ const onTextChange = vi.fn();
357
+ initializeShadeRoot({
358
+ injector,
359
+ rootElement,
360
+ jsxElement: createComponent(Input, { name: "field", onTextChange: onTextChange }),
361
+ });
362
+ await sleepAsync(50);
363
+ const input = document.querySelector('shade-input input');
364
+ input.value = 'new value';
365
+ input.dispatchEvent(new Event('change', { bubbles: true }));
366
+ await sleepAsync(50);
367
+ expect(onTextChange).toHaveBeenCalledWith('new value');
368
+ });
369
+ it('should call onchange when input value changes', async () => {
370
+ const injector = new Injector();
371
+ const rootElement = document.getElementById('root');
372
+ const onchange = vi.fn();
373
+ initializeShadeRoot({
374
+ injector,
375
+ rootElement,
376
+ jsxElement: createComponent(Input, { name: "field", onchange: onchange }),
377
+ });
378
+ await sleepAsync(50);
379
+ const input = document.querySelector('shade-input input');
380
+ input.value = 'test';
381
+ input.dispatchEvent(new Event('change', { bubbles: true }));
382
+ await sleepAsync(50);
383
+ expect(onchange).toHaveBeenCalled();
384
+ });
385
+ });
386
+ describe('focus and blur', () => {
387
+ it('should update state on focus', async () => {
388
+ const injector = new Injector();
389
+ const rootElement = document.getElementById('root');
390
+ const getEndIcon = vi.fn().mockReturnValue('icon');
391
+ initializeShadeRoot({
392
+ injector,
393
+ rootElement,
394
+ jsxElement: createComponent(Input, { name: "field", getEndIcon: getEndIcon }),
395
+ });
396
+ await sleepAsync(50);
397
+ const input = document.querySelector('shade-input input');
398
+ input.dispatchEvent(new FocusEvent('focus'));
399
+ await sleepAsync(50);
400
+ expect(getEndIcon).toHaveBeenLastCalledWith(expect.objectContaining({
401
+ state: expect.objectContaining({
402
+ focused: true,
403
+ }),
404
+ }));
405
+ });
406
+ it('should update state on blur', async () => {
407
+ const injector = new Injector();
408
+ const rootElement = document.getElementById('root');
409
+ const getEndIcon = vi.fn().mockReturnValue('icon');
410
+ initializeShadeRoot({
411
+ injector,
412
+ rootElement,
413
+ jsxElement: createComponent(Input, { name: "field", getEndIcon: getEndIcon }),
414
+ });
415
+ await sleepAsync(50);
416
+ const input = document.querySelector('shade-input input');
417
+ input.dispatchEvent(new FocusEvent('focus'));
418
+ await sleepAsync(50);
419
+ input.dispatchEvent(new FocusEvent('blur'));
420
+ await sleepAsync(50);
421
+ expect(getEndIcon).toHaveBeenLastCalledWith(expect.objectContaining({
422
+ state: expect.objectContaining({
423
+ focused: false,
424
+ }),
425
+ }));
426
+ });
427
+ });
428
+ describe('autofocus', () => {
429
+ it('should set initial focused state based on autofocus prop', async () => {
430
+ const injector = new Injector();
431
+ const rootElement = document.getElementById('root');
432
+ const getEndIcon = vi.fn().mockReturnValue('icon');
433
+ initializeShadeRoot({
434
+ injector,
435
+ rootElement,
436
+ jsxElement: createComponent(Input, { name: "field", autofocus: true, getEndIcon: getEndIcon }),
437
+ });
438
+ await sleepAsync(50);
439
+ expect(getEndIcon).toHaveBeenCalledWith(expect.objectContaining({
440
+ state: expect.objectContaining({
441
+ focused: true,
442
+ }),
443
+ }));
444
+ });
445
+ });
446
+ describe('FormService integration', () => {
447
+ it('should register input with FormService when inside a Form', async () => {
448
+ const injector = new Injector();
449
+ const rootElement = document.getElementById('root');
450
+ initializeShadeRoot({
451
+ injector,
452
+ rootElement,
453
+ jsxElement: (createComponent(Form, { onSubmit: () => { }, validate: (_data) => true },
454
+ createComponent(Input, { name: "email", labelTitle: "Email" }))),
455
+ });
456
+ await sleepAsync(50);
457
+ const form = document.querySelector('form[is="shade-form"]');
458
+ const formInjector = form.injector;
459
+ const formService = formInjector.getInstance(FormService);
460
+ expect(formService.inputs.size).toBe(1);
461
+ });
462
+ it('should update FormService field state on validation', async () => {
463
+ const injector = new Injector();
464
+ const rootElement = document.getElementById('root');
465
+ initializeShadeRoot({
466
+ injector,
467
+ rootElement,
468
+ jsxElement: (createComponent(Form, { onSubmit: () => { }, validate: (_data) => true },
469
+ createComponent(Input, { name: "email", labelTitle: "Email", getValidationResult: ({ state }) => {
470
+ if (state.value.includes('@')) {
471
+ return { isValid: true };
472
+ }
473
+ return { isValid: false, message: 'Invalid email format' };
474
+ } }))),
475
+ });
476
+ await sleepAsync(50);
477
+ const form = document.querySelector('form[is="shade-form"]');
478
+ const inputWrapper = form.querySelector('shade-input');
479
+ const input = inputWrapper.querySelector('input');
480
+ input.value = 'invalid';
481
+ input.dispatchEvent(new Event('change', { bubbles: true }));
482
+ await sleepAsync(50);
483
+ const formInjector = form.injector;
484
+ const formService = formInjector.getInstance(FormService);
485
+ const fieldErrors = formService.fieldErrors.getValue();
486
+ expect(fieldErrors.email).toBeDefined();
487
+ expect(fieldErrors.email?.validationResult).toEqual({
488
+ isValid: false,
489
+ message: 'Invalid email format',
490
+ });
491
+ });
492
+ it('should unregister input from FormService on cleanup', async () => {
493
+ const injector = new Injector();
494
+ const rootElement = document.getElementById('root');
495
+ initializeShadeRoot({
496
+ injector,
497
+ rootElement,
498
+ jsxElement: (createComponent(Form, { onSubmit: () => { }, validate: (_data) => true },
499
+ createComponent(Input, { name: "email", labelTitle: "Email" }))),
500
+ });
501
+ await sleepAsync(50);
502
+ const form = document.querySelector('form[is="shade-form"]');
503
+ const formInjector = form.injector;
504
+ const formService = formInjector.getInstance(FormService);
505
+ expect(formService.inputs.size).toBe(1);
506
+ rootElement.innerHTML = '';
507
+ await sleepAsync(50);
508
+ });
509
+ });
510
+ describe('default validation messages', () => {
511
+ it('should show message for typeMismatch', async () => {
512
+ const injector = new Injector();
513
+ const rootElement = document.getElementById('root');
514
+ initializeShadeRoot({
515
+ injector,
516
+ rootElement,
517
+ jsxElement: createComponent(Input, { name: "email", type: "email" }),
518
+ });
519
+ await sleepAsync(50);
520
+ const inputWrapper = document.querySelector('shade-input');
521
+ const input = inputWrapper.querySelector('input');
522
+ input.value = 'not-an-email';
523
+ const invalidEvent = new Event('invalid', { bubbles: true, cancelable: true });
524
+ input.dispatchEvent(invalidEvent);
525
+ await sleepAsync(50);
526
+ const helperText = inputWrapper.querySelector('.helperText');
527
+ expect(helperText.textContent).toBe('Value is not valid');
528
+ });
529
+ it('should handle pattern mismatch validation', async () => {
530
+ const injector = new Injector();
531
+ const rootElement = document.getElementById('root');
532
+ initializeShadeRoot({
533
+ injector,
534
+ rootElement,
535
+ jsxElement: createComponent(Input, { name: "code", pattern: "[A-Z]{3}" }),
536
+ });
537
+ await sleepAsync(50);
538
+ const inputWrapper = document.querySelector('shade-input');
539
+ const input = inputWrapper.querySelector('input');
540
+ input.value = '123';
541
+ const invalidEvent = new Event('invalid', { bubbles: true, cancelable: true });
542
+ input.dispatchEvent(invalidEvent);
543
+ await sleepAsync(50);
544
+ const helperText = inputWrapper.querySelector('.helperText');
545
+ expect(helperText.textContent).toBe('Value does not match the pattern');
546
+ });
547
+ });
548
+ describe('value handling', () => {
549
+ it('should use initial value prop', async () => {
550
+ const injector = new Injector();
551
+ const rootElement = document.getElementById('root');
552
+ initializeShadeRoot({
553
+ injector,
554
+ rootElement,
555
+ jsxElement: createComponent(Input, { name: "field", value: "initial value" }),
556
+ });
557
+ await sleepAsync(50);
558
+ const input = document.querySelector('shade-input input');
559
+ expect(input.value).toBe('initial value');
560
+ });
561
+ });
562
+ describe('labelProps', () => {
563
+ it('should pass labelProps to the label element', async () => {
564
+ const injector = new Injector();
565
+ const rootElement = document.getElementById('root');
566
+ initializeShadeRoot({
567
+ injector,
568
+ rootElement,
569
+ jsxElement: createComponent(Input, { name: "field", labelProps: { className: 'custom-label' } }),
570
+ });
571
+ await sleepAsync(50);
572
+ const label = document.querySelector('shade-input label');
573
+ expect(label.className).toContain('custom-label');
574
+ });
575
+ });
576
+ });
577
+ //# sourceMappingURL=input.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.spec.js","sourceRoot":"","sources":["../../../src/components/inputs/input.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AAC/E,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QAC5B,EAAE,CAAC,eAAe,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;QAErE,mBAAmB,CAAC;YAClB,QAAQ;YACR,WAAW;YACX,UAAU,EAAE,gBAAC,KAAK,OAAG;SACtB,CAAC,CAAA;QAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;QAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;QACnD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;QAErE,mBAAmB,CAAC;YAClB,QAAQ;YACR,WAAW;YACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,WAAW,GAAG;SACvC,CAAC,CAAA;QAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;QAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAqB,CAAA;QAC7E,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;QAErE,mBAAmB,CAAC;YAClB,QAAQ;YACR,WAAW;YACX,UAAU,EAAE,gBAAC,KAAK,IAAC,UAAU,EAAC,YAAY,GAAG;SAC9C,CAAC,CAAA;QAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;QAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAqB,CAAA;QAC7E,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QAC5B,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,OAAO,EAAC,UAAU,GAAG;aACzC,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAClE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAC5B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,OAAO,EAAC,WAAW,GAAG;aAC1C,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAClE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAC5B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,OAAG;aACtB,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAClE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAC5B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,QAAQ,SAAG;aAC/B,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAClE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAC5B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,QAAQ,EAAE,KAAK,GAAI;aACvC,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAClE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAC5B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YACrE,MAAM,mBAAmB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YAEtE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,GAAI;aAC7E,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAqB,CAAA;YAC7E,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAA;YAChC,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAE3D,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,CAAC,mBAAmB,CAAC,CAAC,gBAAgB,EAAE,CAAA;QAChD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,CACV,gBAAC,KAAK,IACJ,IAAI,EAAC,OAAO,EACZ,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,EACzE,KAAK,EAAC,SAAS,GACf,CACH;aACF,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACzE,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAA;YACrE,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;YACvB,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAE3D,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAC,iBAAiB,GAAG;aAC3G,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACzE,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAA;YACrE,KAAK,CAAC,KAAK,GAAG,iBAAiB,CAAA;YAC/B,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAE3D,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,CACV,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,GAAI,CACtG;aACF,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACzE,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAA;YACrE,KAAK,CAAC,KAAK,GAAG,EAAE,CAAA;YAChB,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAE3D,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAC3E,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,SAAG;aAC5C,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACzE,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAA;YAErE,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9E,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;YAEjC,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAC3E,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,aAAa,EAAE,GAAG,EAAE,CAAC,0BAA0B,GAAI;aACpF,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACzE,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAE3E,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;YACjG,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YACrE,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;YAE5D,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,CACV,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAI,CACrG;aACF,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAqB,CAAA;YAC7E,KAAK,CAAC,KAAK,GAAG,MAAM,CAAA;YACpB,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAE3D,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAA;YAExC,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,IAAI,CAAA;YACpC,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CACnC,CAAC,IAA2C,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,KAAK,SAAS,CACxF,CAAA;YACD,MAAM,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAA;YACxC,MAAM,CAAE,kBAAsE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;gBAC1G,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;YACF,MAAM,CAAE,kBAAsE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;QACxG,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;YACzG,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YACrE,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA;YAEhE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,CACV,gBAAC,KAAK,IACJ,IAAI,EAAC,OAAO,EACZ,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,GACpF,CACH;aACF,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAqB,CAAA;YAC7E,KAAK,CAAC,KAAK,GAAG,MAAM,CAAA;YACpB,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAE3D,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACzE,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAE3E,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,QAAQ,EAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,GAAI;aAC9D,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACzE,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,CAAgB,CAAA;YAEzE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAChC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,GAAI;aAC/D,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACzE,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,UAAU,CAAgB,CAAA;YAErE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YAC9B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,GAAG;aACnC,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACzE,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;YAE1D,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAI;aAC3F,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACzE,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAA;YACrE,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,UAAU,CAAgB,CAAA;YAErE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAErC,KAAK,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;YAC5C,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,GAAG;aACnC,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAEzE,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAA;YAC/D,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAClH,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,YAAY,EAAC,WAAW,GAAG;aAC5D,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAEzE,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAA;YAC/D,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CACvE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAC1C,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YACrE,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;YAE5B,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,YAAY,EAAE,YAAY,GAAI;aAC/D,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAqB,CAAA;YAC7E,KAAK,CAAC,KAAK,GAAG,WAAW,CAAA;YACzB,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAE3D,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YACrE,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;YAExB,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAE,QAAQ,GAAI;aACvD,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAqB,CAAA;YAC7E,KAAK,CAAC,KAAK,GAAG,MAAM,CAAA;YACpB,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAE3D,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YACrE,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAElD,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,UAAU,EAAE,UAAU,GAAI;aAC3D,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAqB,CAAA;YAC7E,KAAK,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;YAE5C,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,CAAC,UAAU,CAAC,CAAC,wBAAwB,CACzC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC7B,OAAO,EAAE,IAAI;iBACd,CAAY;aACd,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YACrE,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAElD,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,UAAU,EAAE,UAAU,GAAI;aAC3D,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAqB,CAAA;YAE7E,KAAK,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;YAC5C,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,KAAK,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;YAC3C,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,CAAC,UAAU,CAAC,CAAC,wBAAwB,CACzC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC7B,OAAO,EAAE,KAAK;iBACf,CAAY;aACd,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YACrE,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAElD,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,QAAC,UAAU,EAAE,UAAU,GAAI;aACrE,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CACrC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAC7B,OAAO,EAAE,IAAI;iBACd,CAAY;aACd,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAIrE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,CACV,gBAAC,IAAI,IAAe,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAyB,EAAE,CAAC,IAAI;oBACtF,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,GAAG,CACpC,CACR;aACF,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAoB,CAAA;YAC/E,MAAM,YAAY,GAAI,IAA0C,CAAC,QAAQ,CAAA;YACzE,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;YAEzD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAIrE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,CACV,gBAAC,IAAI,IAAe,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAyB,EAAE,CAAC,IAAI;oBACtF,gBAAC,KAAK,IACJ,IAAI,EAAC,OAAO,EACZ,UAAU,EAAC,OAAO,EAClB,mBAAmB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;4BACjC,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;4BAC1B,CAAC;4BACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAA;wBAC5D,CAAC,GACD,CACG,CACR;aACF,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAoB,CAAA;YAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACrE,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAA;YAErE,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;YACvB,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAE3D,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAI,IAA0C,CAAC,QAAQ,CAAA;YACzE,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;YACzD,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;YAEtD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;YACvC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC;gBAClD,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAIrE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,CACV,gBAAC,IAAI,IAAe,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAyB,EAAE,CAAC,IAAI;oBACtF,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,GAAG,CACpC,CACR;aACF,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAoB,CAAA;YAC/E,MAAM,YAAY,GAAI,IAA0C,CAAC,QAAQ,CAAA;YACzE,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;YAEzD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAEvC,WAAW,CAAC,SAAS,GAAG,EAAE,CAAA;YAE1B,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GAAG;aAChD,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACzE,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAA;YAErE,KAAK,CAAC,KAAK,GAAG,cAAc,CAAA;YAC5B,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9E,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;YAEjC,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAC3E,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,UAAU,GAAG;aACrD,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YACzE,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAA;YAErE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YACnB,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9E,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;YAEjC,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAA;YAC3E,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QACzE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe,GAAG;aACzD,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAqB,CAAA;YAC7E,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,gBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAI;aAC9E,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAqB,CAAA;YAC7E,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"text-area.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/text-area.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAKvD,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,mBAAmB,CAAC;IACxE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAA;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,CAAA;CACnC;AAED,eAAO,MAAM,QAAQ;;sEA4FnB,CAAA"}
1
+ {"version":3,"file":"text-area.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/text-area.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,mBAAmB,CAAC;IACxE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAA;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,CAAA;CACnC;AAED,eAAO,MAAM,QAAQ;;sEAmEnB,CAAA"}