@keenthemes/ktui 1.0.28 → 1.1.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 (288) hide show
  1. package/README.md +27 -0
  2. package/dist/ktui.js +8780 -6199
  3. package/dist/ktui.min.js +1 -1
  4. package/dist/ktui.min.js.map +1 -1
  5. package/dist/styles.css +2744 -1367
  6. package/lib/cjs/components/alert/alert.js +1025 -0
  7. package/lib/cjs/components/alert/alert.js.map +1 -0
  8. package/lib/cjs/components/alert/index.js +20 -0
  9. package/lib/cjs/components/alert/index.js.map +1 -0
  10. package/lib/cjs/components/alert/templates.js +120 -0
  11. package/lib/cjs/components/alert/templates.js.map +1 -0
  12. package/lib/cjs/components/alert/types.js +7 -0
  13. package/lib/cjs/components/alert/types.js.map +1 -0
  14. package/lib/cjs/components/datepicker/config/config.js +42 -0
  15. package/lib/cjs/components/datepicker/config/config.js.map +1 -0
  16. package/lib/cjs/components/datepicker/config/index.js +24 -0
  17. package/lib/cjs/components/datepicker/config/index.js.map +1 -0
  18. package/lib/cjs/components/datepicker/config/interfaces.js +7 -0
  19. package/lib/cjs/components/datepicker/config/interfaces.js.map +1 -0
  20. package/lib/cjs/components/datepicker/config/types.js +7 -0
  21. package/lib/cjs/components/datepicker/config/types.js.map +1 -0
  22. package/lib/cjs/components/datepicker/core/event-manager.js +135 -0
  23. package/lib/cjs/components/datepicker/core/event-manager.js.map +1 -0
  24. package/lib/cjs/components/datepicker/core/focus-manager.js +167 -0
  25. package/lib/cjs/components/datepicker/core/focus-manager.js.map +1 -0
  26. package/lib/cjs/components/datepicker/core/helpers.js +219 -0
  27. package/lib/cjs/components/datepicker/core/helpers.js.map +1 -0
  28. package/lib/cjs/components/datepicker/core/index.js +25 -0
  29. package/lib/cjs/components/datepicker/core/index.js.map +1 -0
  30. package/lib/cjs/components/datepicker/core/unified-state-manager.js +394 -0
  31. package/lib/cjs/components/datepicker/core/unified-state-manager.js.map +1 -0
  32. package/lib/cjs/components/datepicker/datepicker.js +2066 -763
  33. package/lib/cjs/components/datepicker/datepicker.js.map +1 -1
  34. package/lib/cjs/components/datepicker/index.js +19 -8
  35. package/lib/cjs/components/datepicker/index.js.map +1 -1
  36. package/lib/cjs/components/datepicker/ui/index.js +23 -0
  37. package/lib/cjs/components/datepicker/ui/index.js.map +1 -0
  38. package/lib/cjs/components/datepicker/ui/input/dropdown.js +489 -0
  39. package/lib/cjs/components/datepicker/ui/input/dropdown.js.map +1 -0
  40. package/lib/cjs/components/datepicker/ui/input/index.js +23 -0
  41. package/lib/cjs/components/datepicker/ui/input/index.js.map +1 -0
  42. package/lib/cjs/components/datepicker/ui/input/segmented-input.js +640 -0
  43. package/lib/cjs/components/datepicker/ui/input/segmented-input.js.map +1 -0
  44. package/lib/cjs/components/datepicker/ui/renderers/calendar.js +446 -0
  45. package/lib/cjs/components/datepicker/ui/renderers/calendar.js.map +1 -0
  46. package/lib/cjs/components/datepicker/ui/renderers/footer.js +42 -0
  47. package/lib/cjs/components/datepicker/ui/renderers/footer.js.map +1 -0
  48. package/lib/cjs/components/datepicker/ui/renderers/header.js +32 -0
  49. package/lib/cjs/components/datepicker/ui/renderers/header.js.map +1 -0
  50. package/lib/cjs/components/datepicker/ui/renderers/index.js +25 -0
  51. package/lib/cjs/components/datepicker/ui/renderers/index.js.map +1 -0
  52. package/lib/cjs/components/datepicker/ui/renderers/time-picker.js +384 -0
  53. package/lib/cjs/components/datepicker/ui/renderers/time-picker.js.map +1 -0
  54. package/lib/cjs/components/datepicker/ui/templates/index.js +22 -0
  55. package/lib/cjs/components/datepicker/ui/templates/index.js.map +1 -0
  56. package/lib/cjs/components/datepicker/ui/templates/templates.js +253 -0
  57. package/lib/cjs/components/datepicker/ui/templates/templates.js.map +1 -0
  58. package/lib/cjs/components/datepicker/utils/date-formatters.js +88 -0
  59. package/lib/cjs/components/datepicker/utils/date-formatters.js.map +1 -0
  60. package/lib/cjs/components/datepicker/utils/date-utils.js +194 -0
  61. package/lib/cjs/components/datepicker/utils/date-utils.js.map +1 -0
  62. package/lib/cjs/components/datepicker/utils/index.js +24 -0
  63. package/lib/cjs/components/datepicker/utils/index.js.map +1 -0
  64. package/lib/cjs/components/datepicker/utils/time-utils.js +213 -0
  65. package/lib/cjs/components/datepicker/utils/time-utils.js.map +1 -0
  66. package/lib/cjs/index.js +6 -1
  67. package/lib/cjs/index.js.map +1 -1
  68. package/lib/esm/components/alert/alert.js +1022 -0
  69. package/lib/esm/components/alert/alert.js.map +1 -0
  70. package/lib/esm/components/alert/index.js +4 -0
  71. package/lib/esm/components/alert/index.js.map +1 -0
  72. package/lib/esm/components/alert/templates.js +112 -0
  73. package/lib/esm/components/alert/templates.js.map +1 -0
  74. package/lib/esm/components/alert/types.js +6 -0
  75. package/lib/esm/components/alert/types.js.map +1 -0
  76. package/lib/esm/components/datepicker/config/config.js +39 -0
  77. package/lib/esm/components/datepicker/config/config.js.map +1 -0
  78. package/lib/esm/components/datepicker/config/index.js +8 -0
  79. package/lib/esm/components/datepicker/config/index.js.map +1 -0
  80. package/lib/esm/components/datepicker/config/interfaces.js +6 -0
  81. package/lib/esm/components/datepicker/config/interfaces.js.map +1 -0
  82. package/lib/esm/components/datepicker/config/types.js +6 -0
  83. package/lib/esm/components/datepicker/config/types.js.map +1 -0
  84. package/lib/esm/components/datepicker/core/event-manager.js +133 -0
  85. package/lib/esm/components/datepicker/core/event-manager.js.map +1 -0
  86. package/lib/esm/components/datepicker/core/focus-manager.js +164 -0
  87. package/lib/esm/components/datepicker/core/focus-manager.js.map +1 -0
  88. package/lib/esm/components/datepicker/core/helpers.js +211 -0
  89. package/lib/esm/components/datepicker/core/helpers.js.map +1 -0
  90. package/lib/esm/components/datepicker/core/index.js +9 -0
  91. package/lib/esm/components/datepicker/core/index.js.map +1 -0
  92. package/lib/esm/components/datepicker/core/unified-state-manager.js +391 -0
  93. package/lib/esm/components/datepicker/core/unified-state-manager.js.map +1 -0
  94. package/lib/esm/components/datepicker/datepicker.js +2065 -763
  95. package/lib/esm/components/datepicker/datepicker.js.map +1 -1
  96. package/lib/esm/components/datepicker/index.js +6 -8
  97. package/lib/esm/components/datepicker/index.js.map +1 -1
  98. package/lib/esm/components/datepicker/ui/index.js +7 -0
  99. package/lib/esm/components/datepicker/ui/index.js.map +1 -0
  100. package/lib/esm/components/datepicker/ui/input/dropdown.js +486 -0
  101. package/lib/esm/components/datepicker/ui/input/dropdown.js.map +1 -0
  102. package/lib/esm/components/datepicker/ui/input/index.js +7 -0
  103. package/lib/esm/components/datepicker/ui/input/index.js.map +1 -0
  104. package/lib/esm/components/datepicker/ui/input/segmented-input.js +637 -0
  105. package/lib/esm/components/datepicker/ui/input/segmented-input.js.map +1 -0
  106. package/lib/esm/components/datepicker/ui/renderers/calendar.js +443 -0
  107. package/lib/esm/components/datepicker/ui/renderers/calendar.js.map +1 -0
  108. package/lib/esm/components/datepicker/ui/renderers/footer.js +39 -0
  109. package/lib/esm/components/datepicker/ui/renderers/footer.js.map +1 -0
  110. package/lib/esm/components/datepicker/ui/renderers/header.js +29 -0
  111. package/lib/esm/components/datepicker/ui/renderers/header.js.map +1 -0
  112. package/lib/esm/components/datepicker/ui/renderers/index.js +9 -0
  113. package/lib/esm/components/datepicker/ui/renderers/index.js.map +1 -0
  114. package/lib/esm/components/datepicker/ui/renderers/time-picker.js +381 -0
  115. package/lib/esm/components/datepicker/ui/renderers/time-picker.js.map +1 -0
  116. package/lib/esm/components/datepicker/ui/templates/index.js +6 -0
  117. package/lib/esm/components/datepicker/ui/templates/index.js.map +1 -0
  118. package/lib/esm/components/datepicker/ui/templates/templates.js +242 -0
  119. package/lib/esm/components/datepicker/ui/templates/templates.js.map +1 -0
  120. package/lib/esm/components/datepicker/utils/date-formatters.js +83 -0
  121. package/lib/esm/components/datepicker/utils/date-formatters.js.map +1 -0
  122. package/lib/esm/components/datepicker/utils/date-utils.js +184 -0
  123. package/lib/esm/components/datepicker/utils/date-utils.js.map +1 -0
  124. package/lib/esm/components/datepicker/utils/index.js +8 -0
  125. package/lib/esm/components/datepicker/utils/index.js.map +1 -0
  126. package/lib/esm/components/datepicker/utils/time-utils.js +201 -0
  127. package/lib/esm/components/datepicker/utils/time-utils.js.map +1 -0
  128. package/lib/esm/index.js +4 -0
  129. package/lib/esm/index.js.map +1 -1
  130. package/package.json +22 -3
  131. package/src/components/alert/alert.css +429 -188
  132. package/src/components/alert/alert.ts +990 -0
  133. package/src/components/alert/index.ts +4 -0
  134. package/src/components/alert/templates.ts +110 -0
  135. package/src/components/alert/tests/accessibility/aria-roles.test.ts +19 -0
  136. package/src/components/alert/tests/accessibility/focus-management.test.ts +19 -0
  137. package/src/components/alert/tests/accessibility/keyboard-nav.test.ts +22 -0
  138. package/src/components/alert/tests/actions/confirm-cancel.test.ts +122 -0
  139. package/src/components/alert/tests/actions/input-field.test.ts +180 -0
  140. package/src/components/alert/tests/alert.basic.test.ts +126 -0
  141. package/src/components/alert/tests/alert.config.test.ts +75 -0
  142. package/src/components/alert/tests/alert.templates.test.ts +17 -0
  143. package/src/components/alert/tests/config/attribute-config.test.ts +94 -0
  144. package/src/components/alert/tests/config/json-config.test.ts +119 -0
  145. package/src/components/alert/tests/config/merging.test.ts +89 -0
  146. package/src/components/alert/tests/dismissal/auto-dismiss.test.ts +96 -0
  147. package/src/components/alert/tests/dismissal/escape-key-dismiss.test.ts +105 -0
  148. package/src/components/alert/tests/dismissal/manual-dismiss.test.ts +90 -0
  149. package/src/components/alert/tests/dismissal/outside-click-dismiss.test.ts +91 -0
  150. package/src/components/alert/tests/edge-cases/invalid-config.test.ts +19 -0
  151. package/src/components/alert/tests/edge-cases/multiple-alerts.test.ts +19 -0
  152. package/src/components/alert/tests/rendering/custom-content.test.ts +81 -0
  153. package/src/components/alert/tests/rendering/info-alert.test.ts +84 -0
  154. package/src/components/alert/tests/rendering/success-alert.test.ts +100 -0
  155. package/src/components/alert/tests/templates/default-templates.test.ts +16 -0
  156. package/src/components/alert/tests/templates/user-templates.test.ts +16 -0
  157. package/src/components/alert/types.ts +145 -0
  158. package/src/components/datepicker/__tests__/datepicker-events.test.ts +356 -0
  159. package/src/components/datepicker/__tests__/datepicker-init.test.ts +343 -0
  160. package/src/components/datepicker/__tests__/datepicker-integration.test.ts +435 -0
  161. package/src/components/datepicker/__tests__/datepicker-timezone.test.ts +220 -0
  162. package/src/components/datepicker/__tests__/segmented-input-focus.test.ts +380 -0
  163. package/src/components/datepicker/__tests__/selective-state-updates.test.ts +400 -0
  164. package/src/components/datepicker/__tests__/state-manager.test.ts +421 -0
  165. package/src/components/datepicker/__tests__/time-preservation.test.ts +387 -0
  166. package/src/components/datepicker/config/config.ts +40 -0
  167. package/src/components/datepicker/config/index.ts +8 -0
  168. package/src/components/datepicker/config/interfaces.ts +82 -0
  169. package/src/components/datepicker/config/types.ts +188 -0
  170. package/src/components/datepicker/core/event-manager.ts +159 -0
  171. package/src/components/datepicker/core/focus-manager.ts +201 -0
  172. package/src/components/datepicker/core/helpers.ts +231 -0
  173. package/src/components/datepicker/core/index.ts +9 -0
  174. package/src/components/datepicker/core/unified-state-manager.ts +459 -0
  175. package/src/components/datepicker/datepicker.css +429 -1
  176. package/src/components/datepicker/datepicker.ts +2538 -1277
  177. package/src/components/datepicker/index.ts +6 -8
  178. package/src/components/datepicker/ui/index.ts +7 -0
  179. package/src/components/datepicker/ui/input/dropdown.ts +552 -0
  180. package/src/components/datepicker/ui/input/index.ts +7 -0
  181. package/src/components/datepicker/ui/input/segmented-input.ts +638 -0
  182. package/src/components/datepicker/ui/renderers/__tests__/calendar-optimizations.test.ts +611 -0
  183. package/src/components/datepicker/ui/renderers/calendar.ts +530 -0
  184. package/src/components/datepicker/ui/renderers/footer.ts +43 -0
  185. package/src/components/datepicker/ui/renderers/header.ts +33 -0
  186. package/src/components/datepicker/ui/renderers/index.ts +9 -0
  187. package/src/components/datepicker/ui/renderers/time-picker.ts +438 -0
  188. package/src/components/datepicker/ui/templates/index.ts +6 -0
  189. package/src/components/datepicker/ui/templates/templates.ts +306 -0
  190. package/src/components/datepicker/utils/__tests__/date-formatters.test.ts +160 -0
  191. package/src/components/datepicker/utils/__tests__/date-utils-keys.test.ts +86 -0
  192. package/src/components/datepicker/utils/__tests__/date-utils-timezone.test.ts +215 -0
  193. package/src/components/datepicker/utils/date-formatters.ts +85 -0
  194. package/src/components/datepicker/utils/date-utils.ts +172 -0
  195. package/src/components/datepicker/utils/index.ts +8 -0
  196. package/src/components/datepicker/utils/time-utils.ts +221 -0
  197. package/src/index.ts +7 -1
  198. package/CONTRIBUTING.md +0 -101
  199. package/examples/datatable/checkbox-events-test.html +0 -400
  200. package/examples/datatable/credentials-test.html +0 -423
  201. package/examples/datatable/remote-checkbox-test.html +0 -365
  202. package/examples/datatable/sorting-test.html +0 -258
  203. package/examples/image-input/file-upload-example.html +0 -189
  204. package/examples/modal/persistent.html +0 -205
  205. package/examples/modal/remote-select-dropdown.html +0 -166
  206. package/examples/modal/select-dropdown-container.html +0 -129
  207. package/examples/select/avatar.html +0 -47
  208. package/examples/select/basic-usage.html +0 -39
  209. package/examples/select/country.html +0 -43
  210. package/examples/select/dark-mode.html +0 -93
  211. package/examples/select/description.html +0 -53
  212. package/examples/select/disable-option.html +0 -37
  213. package/examples/select/disable-select.html +0 -35
  214. package/examples/select/dropdowncontainer.html +0 -111
  215. package/examples/select/dynamic-methods.html +0 -273
  216. package/examples/select/formdata-remote.html +0 -161
  217. package/examples/select/global-config.html +0 -81
  218. package/examples/select/icon-multiple.html +0 -50
  219. package/examples/select/icon.html +0 -48
  220. package/examples/select/max-selection.html +0 -38
  221. package/examples/select/modal-container.html +0 -128
  222. package/examples/select/modal-positioning-test.html +0 -338
  223. package/examples/select/modal.html +0 -80
  224. package/examples/select/multiple.html +0 -40
  225. package/examples/select/native-selected.html +0 -64
  226. package/examples/select/placeholder.html +0 -40
  227. package/examples/select/remote-data-preselected.html +0 -283
  228. package/examples/select/remote-data.html +0 -38
  229. package/examples/select/search.html +0 -57
  230. package/examples/select/sizes.html +0 -94
  231. package/examples/select/tags-enhanced.html +0 -86
  232. package/examples/select/tags-icons.html +0 -57
  233. package/examples/select/template-customization.html +0 -61
  234. package/examples/sticky/README.md +0 -158
  235. package/examples/sticky/debug-sticky.html +0 -144
  236. package/examples/sticky/test-runner.html +0 -175
  237. package/examples/sticky/test-sticky-logic.js +0 -369
  238. package/examples/sticky/test-sticky-positioning.html +0 -386
  239. package/examples/toast/example.html +0 -479
  240. package/lib/cjs/components/datepicker/calendar.js +0 -1061
  241. package/lib/cjs/components/datepicker/calendar.js.map +0 -1
  242. package/lib/cjs/components/datepicker/config.js +0 -332
  243. package/lib/cjs/components/datepicker/config.js.map +0 -1
  244. package/lib/cjs/components/datepicker/dropdown.js +0 -635
  245. package/lib/cjs/components/datepicker/dropdown.js.map +0 -1
  246. package/lib/cjs/components/datepicker/events.js +0 -129
  247. package/lib/cjs/components/datepicker/events.js.map +0 -1
  248. package/lib/cjs/components/datepicker/keyboard.js +0 -536
  249. package/lib/cjs/components/datepicker/keyboard.js.map +0 -1
  250. package/lib/cjs/components/datepicker/locales.js +0 -78
  251. package/lib/cjs/components/datepicker/locales.js.map +0 -1
  252. package/lib/cjs/components/datepicker/templates.js +0 -403
  253. package/lib/cjs/components/datepicker/templates.js.map +0 -1
  254. package/lib/cjs/components/datepicker/types.js +0 -23
  255. package/lib/cjs/components/datepicker/types.js.map +0 -1
  256. package/lib/cjs/components/datepicker/utils.js +0 -524
  257. package/lib/cjs/components/datepicker/utils.js.map +0 -1
  258. package/lib/esm/components/datepicker/calendar.js +0 -1058
  259. package/lib/esm/components/datepicker/calendar.js.map +0 -1
  260. package/lib/esm/components/datepicker/config.js +0 -329
  261. package/lib/esm/components/datepicker/config.js.map +0 -1
  262. package/lib/esm/components/datepicker/dropdown.js +0 -632
  263. package/lib/esm/components/datepicker/dropdown.js.map +0 -1
  264. package/lib/esm/components/datepicker/events.js +0 -126
  265. package/lib/esm/components/datepicker/events.js.map +0 -1
  266. package/lib/esm/components/datepicker/keyboard.js +0 -533
  267. package/lib/esm/components/datepicker/keyboard.js.map +0 -1
  268. package/lib/esm/components/datepicker/locales.js +0 -74
  269. package/lib/esm/components/datepicker/locales.js.map +0 -1
  270. package/lib/esm/components/datepicker/templates.js +0 -390
  271. package/lib/esm/components/datepicker/templates.js.map +0 -1
  272. package/lib/esm/components/datepicker/types.js +0 -20
  273. package/lib/esm/components/datepicker/types.js.map +0 -1
  274. package/lib/esm/components/datepicker/utils.js +0 -508
  275. package/lib/esm/components/datepicker/utils.js.map +0 -1
  276. package/prettier.config.js +0 -9
  277. package/src/components/datepicker/calendar.ts +0 -1397
  278. package/src/components/datepicker/config.ts +0 -368
  279. package/src/components/datepicker/dropdown.ts +0 -757
  280. package/src/components/datepicker/events.ts +0 -149
  281. package/src/components/datepicker/keyboard.ts +0 -646
  282. package/src/components/datepicker/locales.ts +0 -80
  283. package/src/components/datepicker/templates.ts +0 -792
  284. package/src/components/datepicker/types.ts +0 -154
  285. package/src/components/datepicker/utils.ts +0 -631
  286. package/src/components/select/variants.css +0 -4
  287. package/tsconfig.json +0 -17
  288. package/webpack.config.js +0 -118
@@ -1,508 +0,0 @@
1
- /**
2
- * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
- * Copyright 2025 by Keenthemes Inc
4
- */
5
- /**
6
- * Format a date according to the provided format string
7
- *
8
- * @param date - Date to format
9
- * @param format - Format string
10
- * @param config - Datepicker configuration
11
- * @returns Formatted date string
12
- */
13
- export function formatDate(date, format, config) {
14
- if (!date || !(date instanceof Date) || isNaN(date.getTime())) {
15
- return '';
16
- }
17
- var locale = getLocaleConfig(config);
18
- var isLeadingZero = config.forceLeadingZero;
19
- // Replace year tokens
20
- var year = date.getFullYear();
21
- format = format.replace(/yyyy/g, year.toString());
22
- format = format.replace(/yy/g, year.toString().slice(-2));
23
- // Replace month tokens
24
- var month = date.getMonth();
25
- var monthNum = month + 1;
26
- format = format.replace(/MMMM/g, locale.monthNames[month]);
27
- format = format.replace(/MMM/g, locale.monthNamesShort[month]);
28
- format = format.replace(/MM/g, isLeadingZero ? padZero(monthNum) : monthNum.toString());
29
- format = format.replace(/M/g, monthNum.toString());
30
- // Replace day tokens
31
- var day = date.getDate();
32
- format = format.replace(/dd/g, isLeadingZero ? padZero(day) : day.toString());
33
- format = format.replace(/d/g, day.toString());
34
- // Replace day of week tokens
35
- var dayOfWeek = date.getDay();
36
- format = format.replace(/EEEE/g, locale.dayNames[dayOfWeek]);
37
- format = format.replace(/EEE/g, locale.dayNamesShort[dayOfWeek]);
38
- format = format.replace(/E/g, locale.dayNamesMin[dayOfWeek]);
39
- // Replace time tokens if time is enabled
40
- if (config.enableTime) {
41
- var hours = date.getHours();
42
- var minutes = date.getMinutes();
43
- var seconds = date.getSeconds();
44
- // 24-hour format
45
- format = format.replace(/HH/g, isLeadingZero ? padZero(hours) : hours.toString());
46
- format = format.replace(/H/g, hours.toString());
47
- // 12-hour format
48
- var hours12 = hours % 12 || 12;
49
- format = format.replace(/hh/g, isLeadingZero ? padZero(hours12) : hours12.toString());
50
- format = format.replace(/h/g, hours12.toString());
51
- // Minutes and seconds
52
- format = format.replace(/mm/g, isLeadingZero ? padZero(minutes) : minutes.toString());
53
- format = format.replace(/m/g, minutes.toString());
54
- format = format.replace(/ss/g, isLeadingZero ? padZero(seconds) : seconds.toString());
55
- format = format.replace(/s/g, seconds.toString());
56
- // AM/PM
57
- var ampm = hours >= 12 ? config.pm : config.am;
58
- format = format.replace(/A/g, ampm);
59
- format = format.replace(/a/g, ampm.toLowerCase());
60
- // Timezone (simplified implementation)
61
- var timezoneOffset = date.getTimezoneOffset();
62
- var timezoneOffsetHours = Math.abs(Math.floor(timezoneOffset / 60));
63
- var timezoneOffsetMinutes = Math.abs(timezoneOffset % 60);
64
- var timezoneSign = timezoneOffset > 0 ? '-' : '+';
65
- var formattedTimezone = "".concat(timezoneSign).concat(padZero(timezoneOffsetHours), ":").concat(padZero(timezoneOffsetMinutes));
66
- format = format.replace(/ZZZ/g, formattedTimezone);
67
- }
68
- return format;
69
- }
70
- /**
71
- * Parse a date string according to the provided format
72
- *
73
- * @param dateStr - Date string to parse
74
- * @param format - Format string
75
- * @param config - Datepicker configuration
76
- * @returns Parsed date or null if invalid
77
- */
78
- export function parseDate(dateStr, format, config) {
79
- if (!dateStr)
80
- return null;
81
- // Handle natural language dates if enabled
82
- if (config.enableNaturalLanguage) {
83
- var naturalDate = parseNaturalLanguageDate(dateStr);
84
- if (naturalDate)
85
- return naturalDate;
86
- }
87
- // Create a new date object to populate
88
- var date = new Date();
89
- date.setHours(0, 0, 0, 0);
90
- // Extract parts from the format
91
- var formatParts = {};
92
- var formatRegex = format
93
- .replace(/(\w)(\1*)/g, function (_, p1, p2) {
94
- var length = p1.length + p2.length;
95
- var token = '';
96
- switch (p1) {
97
- case 'y':
98
- token = length > 2 ? 'yyyy' : 'yy';
99
- break;
100
- case 'M':
101
- token = ['M', 'MM', 'MMM', 'MMMM'][Math.min(length - 1, 3)];
102
- break;
103
- case 'd':
104
- token = length > 1 ? 'dd' : 'd';
105
- break;
106
- case 'E':
107
- token = length > 3 ? 'EEEE' : length > 1 ? 'EEE' : 'E';
108
- break;
109
- case 'h':
110
- case 'H':
111
- token = length > 1 ? p1 + p1 : p1;
112
- break;
113
- case 'm':
114
- token = length > 1 ? 'mm' : 'm';
115
- break;
116
- case 's':
117
- token = length > 1 ? 'ss' : 's';
118
- break;
119
- case 'a':
120
- case 'A':
121
- token = p1;
122
- break;
123
- default:
124
- token = p1.repeat(length);
125
- }
126
- formatParts[token] = '';
127
- return "(\\d+|[a-zA-Z]+)";
128
- })
129
- .replace(/[^\w\s]/g, '\\$&');
130
- var match = new RegExp(formatRegex).exec(dateStr);
131
- if (!match)
132
- return null;
133
- // Map format tokens to their extracted values
134
- var i = 1;
135
- for (var token in formatParts) {
136
- formatParts[token] = match[i++];
137
- }
138
- // Extract year
139
- if (formatParts.yyyy) {
140
- date.setFullYear(parseInt(formatParts.yyyy));
141
- }
142
- else if (formatParts.yy) {
143
- var year = parseInt(formatParts.yy);
144
- var century = Math.floor(new Date().getFullYear() / 100) * 100;
145
- date.setFullYear(century + year);
146
- }
147
- // Extract month
148
- if (formatParts.MM || formatParts.M) {
149
- var month = parseInt(formatParts.MM || formatParts.M) - 1;
150
- if (month >= 0 && month <= 11) {
151
- date.setMonth(month);
152
- }
153
- }
154
- else if (formatParts.MMM || formatParts.MMMM) {
155
- var monthName_1 = formatParts.MMMM || formatParts.MMM;
156
- var locale = getLocaleConfig(config);
157
- var monthIndex = locale.monthNames.findIndex(function (m) { return m.toLowerCase() === monthName_1.toLowerCase(); });
158
- if (monthIndex === -1) {
159
- var shortMonthIndex = locale.monthNamesShort.findIndex(function (m) { return m.toLowerCase() === monthName_1.toLowerCase(); });
160
- if (shortMonthIndex !== -1) {
161
- date.setMonth(shortMonthIndex);
162
- }
163
- }
164
- else {
165
- date.setMonth(monthIndex);
166
- }
167
- }
168
- // Extract day
169
- if (formatParts.dd || formatParts.d) {
170
- var day = parseInt(formatParts.dd || formatParts.d);
171
- if (day >= 1 && day <= 31) {
172
- date.setDate(day);
173
- }
174
- }
175
- // Extract time if needed
176
- if (config.enableTime) {
177
- // Hours (24-hour format)
178
- if (formatParts.HH || formatParts.H) {
179
- var hours = parseInt(formatParts.HH || formatParts.H);
180
- if (hours >= 0 && hours <= 23) {
181
- date.setHours(hours);
182
- }
183
- }
184
- // Hours (12-hour format)
185
- else if (formatParts.hh || formatParts.h) {
186
- var hours = parseInt(formatParts.hh || formatParts.h);
187
- // Adjust for AM/PM
188
- if (formatParts.A) {
189
- var isPM = formatParts.A.toUpperCase() === config.pm;
190
- if (isPM && hours < 12) {
191
- hours += 12;
192
- }
193
- else if (!isPM && hours === 12) {
194
- hours = 0;
195
- }
196
- }
197
- if (hours >= 0 && hours <= 23) {
198
- date.setHours(hours);
199
- }
200
- }
201
- // Minutes
202
- if (formatParts.mm || formatParts.m) {
203
- var minutes = parseInt(formatParts.mm || formatParts.m);
204
- if (minutes >= 0 && minutes <= 59) {
205
- date.setMinutes(minutes);
206
- }
207
- }
208
- // Seconds
209
- if (formatParts.ss || formatParts.s) {
210
- var seconds = parseInt(formatParts.ss || formatParts.s);
211
- if (seconds >= 0 && seconds <= 59) {
212
- date.setSeconds(seconds);
213
- }
214
- }
215
- }
216
- // Validate the final date
217
- return isValidDate(date) ? date : null;
218
- }
219
- /**
220
- * Parse natural language date strings
221
- *
222
- * @param input - Natural language date string
223
- * @returns Parsed date or null if not recognized
224
- */
225
- function parseNaturalLanguageDate(input) {
226
- var normalized = input.trim().toLowerCase();
227
- var now = new Date();
228
- // Handle common natural language inputs
229
- switch (normalized) {
230
- case 'today':
231
- return new Date(now.setHours(0, 0, 0, 0));
232
- case 'yesterday': {
233
- var yesterday = new Date(now);
234
- yesterday.setDate(yesterday.getDate() - 1);
235
- yesterday.setHours(0, 0, 0, 0);
236
- return yesterday;
237
- }
238
- case 'tomorrow': {
239
- var tomorrow = new Date(now);
240
- tomorrow.setDate(tomorrow.getDate() + 1);
241
- tomorrow.setHours(0, 0, 0, 0);
242
- return tomorrow;
243
- }
244
- default: {
245
- // Handle relative dates like "next week", "last month", etc.
246
- var relativeMatch = normalized.match(/^(next|last|this)\s+(day|week|month|year)$/);
247
- if (relativeMatch) {
248
- var _ = relativeMatch[0], direction = relativeMatch[1], unit = relativeMatch[2];
249
- var result = new Date(now);
250
- result.setHours(0, 0, 0, 0);
251
- switch (unit) {
252
- case 'day':
253
- result.setDate(result.getDate() +
254
- (direction === 'next' ? 1 : direction === 'last' ? -1 : 0));
255
- break;
256
- case 'week':
257
- result.setDate(result.getDate() +
258
- (direction === 'next' ? 7 : direction === 'last' ? -7 : 0));
259
- break;
260
- case 'month':
261
- result.setMonth(result.getMonth() +
262
- (direction === 'next' ? 1 : direction === 'last' ? -1 : 0));
263
- break;
264
- case 'year':
265
- result.setFullYear(result.getFullYear() +
266
- (direction === 'next' ? 1 : direction === 'last' ? -1 : 0));
267
- break;
268
- }
269
- return result;
270
- }
271
- return null;
272
- }
273
- }
274
- }
275
- /**
276
- * Check if a date is valid
277
- *
278
- * @param date - Date to check
279
- * @returns Whether the date is valid
280
- */
281
- export function isValidDate(date) {
282
- return date instanceof Date && !isNaN(date.getTime());
283
- }
284
- /**
285
- * Get the number of days in a month
286
- *
287
- * @param year - Year
288
- * @param month - Month (0-indexed)
289
- * @returns Number of days in the month
290
- */
291
- export function getDaysInMonth(year, month) {
292
- return new Date(year, month + 1, 0).getDate();
293
- }
294
- /**
295
- * Get the first day of the month
296
- *
297
- * @param year - Year
298
- * @param month - Month (0-indexed)
299
- * @returns Day of week for the first day (0 = Sunday, 6 = Saturday)
300
- */
301
- export function getFirstDayOfMonth(year, month) {
302
- return new Date(year, month, 1).getDay();
303
- }
304
- /**
305
- * Pad a number with a leading zero if needed
306
- *
307
- * @param num - Number to pad
308
- * @returns Padded number string
309
- */
310
- export function padZero(num) {
311
- return num < 10 ? "0".concat(num) : num.toString();
312
- }
313
- /**
314
- * Get locale configuration for the datepicker
315
- *
316
- * @param config - Datepicker configuration
317
- * @returns Locale configuration
318
- */
319
- export function getLocaleConfig(config) {
320
- return config.locales[config.locale] || config.locales['en-US'];
321
- }
322
- /**
323
- * Check if a date is between two other dates (inclusive)
324
- *
325
- * @param date - Date to check
326
- * @param start - Start date
327
- * @param end - End date
328
- * @returns Whether the date is between start and end
329
- */
330
- export function isDateBetween(date, start, end) {
331
- var dateTime = date.getTime();
332
- return dateTime >= start.getTime() && dateTime <= end.getTime();
333
- }
334
- /**
335
- * Compare two dates for equality (ignoring time)
336
- *
337
- * @param date1 - First date
338
- * @param date2 - Second date
339
- * @returns Whether the dates are equal
340
- */
341
- export function isSameDay(date1, date2) {
342
- return (date1.getFullYear() === date2.getFullYear() &&
343
- date1.getMonth() === date2.getMonth() &&
344
- date1.getDate() === date2.getDate());
345
- }
346
- /**
347
- * Check if a date is a weekend (Saturday or Sunday)
348
- *
349
- * @param date - Date to check
350
- * @returns Whether the date is a weekend
351
- */
352
- export function isWeekend(date) {
353
- var day = date.getDay();
354
- return day === 0 || day === 6;
355
- }
356
- /**
357
- * Check if a date is disabled (outside min/max range or explicitly disabled)
358
- *
359
- * @param date - Date to check
360
- * @param config - Datepicker configuration
361
- * @returns Whether the date is disabled
362
- */
363
- export function isDateDisabled(date, config) {
364
- if (!date || !(date instanceof Date) || isNaN(date.getTime())) {
365
- return true;
366
- }
367
- // Set the time to noon for consistent comparison
368
- var normalizedDate = new Date(date);
369
- normalizedDate.setHours(12, 0, 0, 0);
370
- // Check min date
371
- if (config.minDate) {
372
- var minDate = null;
373
- if (config.minDate instanceof Date) {
374
- minDate = new Date(config.minDate);
375
- minDate.setHours(0, 0, 0, 0);
376
- }
377
- else {
378
- // Try parsing with the configured format
379
- minDate = parseDate(config.minDate.toString(), config.format, config);
380
- // If that fails, try parsing with other common formats
381
- if (!minDate) {
382
- // Try DD/MM/YYYY format
383
- var parts = config.minDate.toString().split('/');
384
- if (parts.length === 3) {
385
- var day = parseInt(parts[0], 10);
386
- var month = parseInt(parts[1], 10) - 1;
387
- var year = parseInt(parts[2], 10);
388
- if (!isNaN(day) && !isNaN(month) && !isNaN(year)) {
389
- minDate = new Date(year, month, day);
390
- }
391
- }
392
- }
393
- }
394
- if (minDate) {
395
- // Ensure minDate has time set to beginning of day for accurate comparison
396
- minDate.setHours(0, 0, 0, 0);
397
- if (normalizedDate < minDate) {
398
- return true;
399
- }
400
- }
401
- }
402
- // Check max date
403
- if (config.maxDate) {
404
- var maxDate = null;
405
- if (config.maxDate instanceof Date) {
406
- maxDate = new Date(config.maxDate);
407
- maxDate.setHours(23, 59, 59, 999);
408
- }
409
- else {
410
- // Try parsing with the configured format
411
- maxDate = parseDate(config.maxDate.toString(), config.format, config);
412
- // If that fails, try parsing with other common formats
413
- if (!maxDate) {
414
- // Try DD/MM/YYYY format
415
- var parts = config.maxDate.toString().split('/');
416
- if (parts.length === 3) {
417
- var day = parseInt(parts[0], 10);
418
- var month = parseInt(parts[1], 10) - 1;
419
- var year = parseInt(parts[2], 10);
420
- if (!isNaN(day) && !isNaN(month) && !isNaN(year)) {
421
- maxDate = new Date(year, month, day);
422
- }
423
- }
424
- }
425
- }
426
- if (maxDate) {
427
- // Ensure maxDate has time set to end of day for accurate comparison
428
- maxDate.setHours(23, 59, 59, 999);
429
- if (normalizedDate > maxDate) {
430
- return true;
431
- }
432
- }
433
- }
434
- // Check explicitly disabled dates
435
- if (config.disabledDates && config.disabledDates.length > 0) {
436
- for (var _i = 0, _a = config.disabledDates; _i < _a.length; _i++) {
437
- var disabledDate = _a[_i];
438
- var disabled = disabledDate instanceof Date
439
- ? disabledDate
440
- : parseDate(disabledDate.toString(), config.format, config);
441
- if (disabled && isSameDay(normalizedDate, disabled)) {
442
- return true;
443
- }
444
- }
445
- }
446
- return false;
447
- }
448
- /**
449
- * Generate a calender for the specified month
450
- *
451
- * @param year - Year
452
- * @param month - Month (0-indexed)
453
- * @param config - Datepicker configuration
454
- * @returns Calendar days matrix
455
- */
456
- export function generateCalendarMonth(year, month, config) {
457
- var daysInMonth = getDaysInMonth(year, month);
458
- var firstDayOfMonth = getFirstDayOfMonth(year, month);
459
- var locale = getLocaleConfig(config);
460
- var firstDayOfWeek = locale.firstDayOfWeek;
461
- // Calculate the offset from the first day of the month to the first day of the calendar
462
- var startOffset = (firstDayOfMonth - firstDayOfWeek + 7) % 7;
463
- // Create a 6x7 matrix for the calendar
464
- var calendar = [];
465
- var day = 1 - startOffset;
466
- for (var week = 0; week < 6; week++) {
467
- var weekDays = [];
468
- for (var i = 0; i < 7; i++) {
469
- var date = new Date(year, month, day);
470
- weekDays.push(date);
471
- day++;
472
- }
473
- calendar.push(weekDays);
474
- // If we've gone past the end of the month and it's a complete week, we can stop
475
- if (day > daysInMonth && week >= 4) {
476
- break;
477
- }
478
- }
479
- return calendar;
480
- }
481
- /**
482
- * Check if two dates are the same day
483
- * (ignoring time part)
484
- *
485
- * @param date1 - First date to compare
486
- * @param date2 - Second date to compare
487
- * @returns True if dates are the same day
488
- */
489
- export function isDateEqual(date1, date2) {
490
- return (date1.getDate() === date2.getDate() &&
491
- date1.getMonth() === date2.getMonth() &&
492
- date1.getFullYear() === date2.getFullYear());
493
- }
494
- /**
495
- * Check if a date is within a range (inclusive)
496
- *
497
- * @param date - Date to check
498
- * @param startDate - Start date of the range
499
- * @param endDate - End date of the range
500
- * @returns True if date is within the range
501
- */
502
- export function isDateInRange(date, startDate, endDate) {
503
- var time = date.getTime();
504
- var startTime = startDate.getTime();
505
- var endTime = endDate.getTime();
506
- return time >= startTime && time <= endTime;
507
- }
508
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/datepicker/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACzB,IAAU,EACV,MAAc,EACd,MAAmC;IAEnC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC/D,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,IAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAE9C,sBAAsB;IACtB,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,uBAAuB;IACvB,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,IAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;IAC3B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CACtB,KAAK,EACL,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CACvD,CAAC;IACF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEnD,qBAAqB;IACrB,IAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE9C,6BAA6B;IAC7B,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IAE7D,yCAAyC;IACzC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,iBAAiB;QACjB,MAAM,GAAG,MAAM,CAAC,OAAO,CACtB,KAAK,EACL,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CACjD,CAAC;QACF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEhD,iBAAiB;QACjB,IAAM,OAAO,GAAG,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC;QACjC,MAAM,GAAG,MAAM,CAAC,OAAO,CACtB,KAAK,EACL,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CACrD,CAAC;QACF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAElD,sBAAsB;QACtB,MAAM,GAAG,MAAM,CAAC,OAAO,CACtB,KAAK,EACL,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CACrD,CAAC;QACF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,MAAM,GAAG,MAAM,CAAC,OAAO,CACtB,KAAK,EACL,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CACrD,CAAC;QACF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAElD,QAAQ;QACR,IAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAElD,uCAAuC;QACvC,IAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC;QACtE,IAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAM,YAAY,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEpD,IAAM,iBAAiB,GAAG,UAAG,YAAY,SAAG,OAAO,CAAC,mBAAmB,CAAC,cAAI,OAAO,CAAC,qBAAqB,CAAC,CAAE,CAAC;QAC7G,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CACxB,OAAe,EACf,MAAc,EACd,MAAmC;IAEnC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,2CAA2C;IAC3C,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAClC,IAAM,WAAW,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;IACrC,CAAC;IAED,uCAAuC;IACvC,IAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1B,gCAAgC;IAChC,IAAM,WAAW,GAA8B,EAAE,CAAC;IAElD,IAAI,WAAW,GAAG,MAAM;SACtB,OAAO,CAAC,YAAY,EAAE,UAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QAChC,IAAM,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACrC,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,QAAQ,EAAE,EAAE,CAAC;YACZ,KAAK,GAAG;gBACP,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnC,MAAM;YACP,KAAK,GAAG;gBACP,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM;YACP,KAAK,GAAG;gBACP,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;gBAChC,MAAM;YACP,KAAK,GAAG;gBACP,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;gBACvD,MAAM;YACP,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACP,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,MAAM;YACP,KAAK,GAAG;gBACP,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;gBAChC,MAAM;YACP,KAAK,GAAG;gBACP,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;gBAChC,MAAM;YACP,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACP,KAAK,GAAG,EAAE,CAAC;gBACX,MAAM;YACP;gBACC,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAED,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,OAAO,kBAAkB,CAAC;IAC3B,CAAC,CAAC;SACD,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE9B,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,8CAA8C;IAC9C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QACjC,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,eAAe;IACf,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtC,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QACjE,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB;IAChB,IAAI,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC;QACrC,IAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;SAAM,IAAI,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QAChD,IAAM,WAAS,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC;QACtD,IAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,IAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAC7C,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,WAAW,EAAE,KAAK,WAAS,CAAC,WAAW,EAAE,EAA3C,CAA2C,CAClD,CAAC;QACF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,IAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,SAAS,CACvD,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,WAAW,EAAE,KAAK,WAAS,CAAC,WAAW,EAAE,EAA3C,CAA2C,CAClD,CAAC;YACF,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAChC,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;IACF,CAAC;IAED,cAAc;IACd,IAAI,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC;QACrC,IAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACF,CAAC;IAED,yBAAyB;IACzB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,yBAAyB;QACzB,IAAI,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC;YACrC,IAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACF,CAAC;QACD,yBAAyB;aACpB,IAAI,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC;YAC1C,IAAI,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;YAEtD,mBAAmB;YACnB,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC;gBACnB,IAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;gBACvD,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;oBACxB,KAAK,IAAI,EAAE,CAAC;gBACb,CAAC;qBAAM,IAAI,CAAC,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;oBAClC,KAAK,GAAG,CAAC,CAAC;gBACX,CAAC;YACF,CAAC;YAED,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACF,CAAC;QAED,UAAU;QACV,IAAI,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC;YACrC,IAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACF,CAAC;QAED,UAAU;QACV,IAAI,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC;YACrC,IAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACF,CAAC;IACF,CAAC;IAED,0BAA0B;IAC1B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,KAAa;IAC9C,IAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,wCAAwC;IACxC,QAAQ,UAAU,EAAE,CAAC;QACpB,KAAK,OAAO;YACX,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3C,KAAK,WAAW,CAAC,CAAC,CAAC;YAClB,IAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3C,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/B,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YACjB,IAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACzC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACT,6DAA6D;YAC7D,IAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CACrC,4CAA4C,CAC5C,CAAC;YACF,IAAI,aAAa,EAAE,CAAC;gBACZ,IAAA,CAAC,GAAqB,aAAa,GAAlC,EAAE,SAAS,GAAU,aAAa,GAAvB,EAAE,IAAI,GAAI,aAAa,GAAjB,CAAkB;gBAC3C,IAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE5B,QAAQ,IAAI,EAAE,CAAC;oBACd,KAAK,KAAK;wBACT,MAAM,CAAC,OAAO,CACb,MAAM,CAAC,OAAO,EAAE;4BACf,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAC;wBACF,MAAM;oBAEP,KAAK,MAAM;wBACV,MAAM,CAAC,OAAO,CACb,MAAM,CAAC,OAAO,EAAE;4BACf,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAC;wBACF,MAAM;oBAEP,KAAK,OAAO;wBACX,MAAM,CAAC,QAAQ,CACd,MAAM,CAAC,QAAQ,EAAE;4BAChB,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAC;wBACF,MAAM;oBAEP,KAAK,MAAM;wBACV,MAAM,CAAC,WAAW,CACjB,MAAM,CAAC,WAAW,EAAE;4BACnB,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAC;wBACF,MAAM;gBACR,CAAC;gBAED,OAAO,MAAM,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAS;IACpC,OAAO,IAAI,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,KAAa;IACzD,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAa;IAC7D,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IAClC,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,WAAI,GAAG,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC9B,MAAmC;IAEnC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAU,EAAE,KAAW,EAAE,GAAS;IAC/D,IAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAChC,OAAO,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAW,EAAE,KAAW;IACjD,OAAO,CACN,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;QAC3C,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;QACrC,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CACnC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAU;IACnC,IAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC1B,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC7B,IAAU,EACV,MAAmC;IAEnC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,iDAAiD;IACjD,IAAM,cAAc,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAErC,iBAAiB;IACjB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,OAAO,GAAgB,IAAI,CAAC;QAEhC,IAAI,MAAM,CAAC,OAAO,YAAY,IAAI,EAAE,CAAC;YACpC,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,yCAAyC;YACzC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEtE,uDAAuD;YACvD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,wBAAwB;gBACxB,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,IAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBACzC,IAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAEpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClD,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;oBACtC,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACb,0EAA0E;YAC1E,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,IAAI,cAAc,GAAG,OAAO,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IAED,iBAAiB;IACjB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,OAAO,GAAgB,IAAI,CAAC;QAEhC,IAAI,MAAM,CAAC,OAAO,YAAY,IAAI,EAAE,CAAC;YACpC,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACP,yCAAyC;YACzC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEtE,uDAAuD;YACvD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,wBAAwB;gBACxB,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,IAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBACzC,IAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAEpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClD,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;oBACtC,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACb,oEAAoE;YACpE,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAClC,IAAI,cAAc,GAAG,OAAO,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7D,KAA2B,UAAoB,EAApB,KAAA,MAAM,CAAC,aAAa,EAApB,cAAoB,EAApB,IAAoB,EAAE,CAAC;YAA7C,IAAM,YAAY,SAAA;YACtB,IAAM,QAAQ,GACb,YAAY,YAAY,IAAI;gBAC3B,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAE9D,IAAI,QAAQ,IAAI,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACpC,IAAY,EACZ,KAAa,EACb,MAAmC;IAEnC,IAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,IAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,IAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,IAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAE7C,wFAAwF;IACxF,IAAI,WAAW,GAAG,CAAC,eAAe,GAAG,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAE7D,uCAAuC;IACvC,IAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,GAAG,GAAG,CAAC,GAAG,WAAW,CAAC;IAE1B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;QACrC,IAAM,QAAQ,GAAW,EAAE,CAAC;QAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,GAAG,EAAE,CAAC;QACP,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExB,gFAAgF;QAChF,IAAI,GAAG,GAAG,WAAW,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM;QACP,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,KAAW,EAAE,KAAW;IACnD,OAAO,CACN,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;QACnC,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;QACrC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAC3C,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC5B,IAAU,EACV,SAAe,EACf,OAAa;IAEb,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5B,IAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACtC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAElC,OAAO,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC;AAC7C,CAAC"}
@@ -1,9 +0,0 @@
1
- const config = {
2
- useTabs: true,
3
- tabWidth: 2,
4
- singleQuote: true,
5
- bracketSameLine: true,
6
- arrowParens: 'always',
7
- };
8
-
9
- module.exports = config;