shad-m 1.0.0 → 1.0.2

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 (628) hide show
  1. package/dist/common/interactive/list.d.ts +1 -1
  2. package/dist/common/interactive/select/variants.d.ts +1 -1
  3. package/dist/components/alert-dialog.d.ts +2 -2
  4. package/dist/components/badge.d.ts +3 -3
  5. package/dist/components/button.d.ts +4 -4
  6. package/dist/components/chip.d.ts +2 -2
  7. package/dist/components/command.d.ts +7 -7
  8. package/dist/components/dialog.d.ts +2 -2
  9. package/dist/components/input-otp.d.ts +2 -2
  10. package/dist/components/resizable.d.ts +1 -1
  11. package/dist/components/sidebar.d.ts +1 -1
  12. package/dist/components/spinner.d.ts +2 -2
  13. package/dist/components/stepper.d.ts +3 -3
  14. package/dist/components/toggle-group.d.ts +2 -2
  15. package/dist/components/toggle.d.ts +2 -2
  16. package/dist/index.css +43 -0
  17. package/dist/index.css.map +1 -0
  18. package/dist/index.d.ts +59 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +8189 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/index.mjs +7846 -0
  23. package/dist/index.mjs.map +1 -0
  24. package/package.json +34 -2
  25. package/dist/assets/Animation/index.js +0 -180
  26. package/dist/assets/Animation/index.js.map +0 -1
  27. package/dist/assets/Animation/index.mjs +0 -79
  28. package/dist/assets/Animation/index.mjs.map +0 -1
  29. package/dist/assets/Icon/index.js +0 -2102
  30. package/dist/assets/Icon/index.js.map +0 -1
  31. package/dist/assets/Icon/index.mjs +0 -421
  32. package/dist/assets/Icon/index.mjs.map +0 -1
  33. package/dist/assets/Image/index.js +0 -755
  34. package/dist/assets/Image/index.js.map +0 -1
  35. package/dist/assets/Image/index.mjs +0 -150
  36. package/dist/assets/Image/index.mjs.map +0 -1
  37. package/dist/common/display/countdown.js +0 -68
  38. package/dist/common/display/countdown.js.map +0 -1
  39. package/dist/common/display/countdown.mjs +0 -46
  40. package/dist/common/display/countdown.mjs.map +0 -1
  41. package/dist/common/display/display-field-group.js +0 -91
  42. package/dist/common/display/display-field-group.js.map +0 -1
  43. package/dist/common/display/display-field-group.mjs +0 -89
  44. package/dist/common/display/display-field-group.mjs.map +0 -1
  45. package/dist/common/display/display-field.js +0 -46
  46. package/dist/common/display/display-field.js.map +0 -1
  47. package/dist/common/display/display-field.mjs +0 -40
  48. package/dist/common/display/display-field.mjs.map +0 -1
  49. package/dist/common/display/display-html-string.js +0 -52
  50. package/dist/common/display/display-html-string.js.map +0 -1
  51. package/dist/common/display/display-html-string.mjs +0 -30
  52. package/dist/common/display/display-html-string.mjs.map +0 -1
  53. package/dist/common/display/index.js +0 -59
  54. package/dist/common/display/index.js.map +0 -1
  55. package/dist/common/display/index.mjs +0 -10
  56. package/dist/common/display/index.mjs.map +0 -1
  57. package/dist/common/display/page-breadcrumb.js +0 -43
  58. package/dist/common/display/page-breadcrumb.js.map +0 -1
  59. package/dist/common/display/page-breadcrumb.mjs +0 -37
  60. package/dist/common/display/page-breadcrumb.mjs.map +0 -1
  61. package/dist/common/display/page-v2.js +0 -58
  62. package/dist/common/display/page-v2.js.map +0 -1
  63. package/dist/common/display/page-v2.mjs +0 -20
  64. package/dist/common/display/page-v2.mjs.map +0 -1
  65. package/dist/common/display/page.js +0 -155
  66. package/dist/common/display/page.js.map +0 -1
  67. package/dist/common/display/page.mjs +0 -138
  68. package/dist/common/display/page.mjs.map +0 -1
  69. package/dist/common/display/score-meter.js +0 -161
  70. package/dist/common/display/score-meter.js.map +0 -1
  71. package/dist/common/display/score-meter.mjs +0 -140
  72. package/dist/common/display/score-meter.mjs.map +0 -1
  73. package/dist/common/display/sidebar/app-sidebar.js +0 -114
  74. package/dist/common/display/sidebar/app-sidebar.js.map +0 -1
  75. package/dist/common/display/sidebar/app-sidebar.mjs +0 -92
  76. package/dist/common/display/sidebar/app-sidebar.mjs.map +0 -1
  77. package/dist/common/display/sidebar/index.js +0 -89
  78. package/dist/common/display/sidebar/index.js.map +0 -1
  79. package/dist/common/display/sidebar/index.mjs +0 -81
  80. package/dist/common/display/sidebar/index.mjs.map +0 -1
  81. package/dist/common/display/sidebar/nav-main.js +0 -406
  82. package/dist/common/display/sidebar/nav-main.js.map +0 -1
  83. package/dist/common/display/sidebar/nav-main.mjs +0 -400
  84. package/dist/common/display/sidebar/nav-main.mjs.map +0 -1
  85. package/dist/common/display/sidebar/sidebar-sheet.js +0 -140
  86. package/dist/common/display/sidebar/sidebar-sheet.js.map +0 -1
  87. package/dist/common/display/sidebar/sidebar-sheet.mjs +0 -118
  88. package/dist/common/display/sidebar/sidebar-sheet.mjs.map +0 -1
  89. package/dist/common/display/sidebar/types.js +0 -4
  90. package/dist/common/display/sidebar/types.js.map +0 -1
  91. package/dist/common/display/sidebar/types.mjs +0 -3
  92. package/dist/common/display/sidebar/types.mjs.map +0 -1
  93. package/dist/common/display/status-state.js +0 -97
  94. package/dist/common/display/status-state.js.map +0 -1
  95. package/dist/common/display/status-state.mjs +0 -88
  96. package/dist/common/display/status-state.mjs.map +0 -1
  97. package/dist/common/forms/auto-form.js +0 -101
  98. package/dist/common/forms/auto-form.js.map +0 -1
  99. package/dist/common/forms/auto-form.mjs +0 -78
  100. package/dist/common/forms/auto-form.mjs.map +0 -1
  101. package/dist/common/forms/form-field.js +0 -58
  102. package/dist/common/forms/form-field.js.map +0 -1
  103. package/dist/common/forms/form-field.mjs +0 -56
  104. package/dist/common/forms/form-field.mjs.map +0 -1
  105. package/dist/common/forms/form-input-field.js +0 -64
  106. package/dist/common/forms/form-input-field.js.map +0 -1
  107. package/dist/common/forms/form-input-field.mjs +0 -62
  108. package/dist/common/forms/form-input-field.mjs.map +0 -1
  109. package/dist/common/forms/index.js +0 -22
  110. package/dist/common/forms/index.js.map +0 -1
  111. package/dist/common/forms/index.mjs +0 -5
  112. package/dist/common/forms/index.mjs.map +0 -1
  113. package/dist/common/forms/switch-field.js +0 -106
  114. package/dist/common/forms/switch-field.js.map +0 -1
  115. package/dist/common/forms/switch-field.mjs +0 -104
  116. package/dist/common/forms/switch-field.mjs.map +0 -1
  117. package/dist/common/interactive/alert-dialog-wrapper.js +0 -141
  118. package/dist/common/interactive/alert-dialog-wrapper.js.map +0 -1
  119. package/dist/common/interactive/alert-dialog-wrapper.mjs +0 -119
  120. package/dist/common/interactive/alert-dialog-wrapper.mjs.map +0 -1
  121. package/dist/common/interactive/autocomplete.js +0 -178
  122. package/dist/common/interactive/autocomplete.js.map +0 -1
  123. package/dist/common/interactive/autocomplete.mjs +0 -157
  124. package/dist/common/interactive/autocomplete.mjs.map +0 -1
  125. package/dist/common/interactive/copy-tooltip.js +0 -152
  126. package/dist/common/interactive/copy-tooltip.js.map +0 -1
  127. package/dist/common/interactive/copy-tooltip.mjs +0 -143
  128. package/dist/common/interactive/copy-tooltip.mjs.map +0 -1
  129. package/dist/common/interactive/date-field.js +0 -303
  130. package/dist/common/interactive/date-field.js.map +0 -1
  131. package/dist/common/interactive/date-field.mjs +0 -281
  132. package/dist/common/interactive/date-field.mjs.map +0 -1
  133. package/dist/common/interactive/date-input/date-input.js +0 -68
  134. package/dist/common/interactive/date-input/date-input.js.map +0 -1
  135. package/dist/common/interactive/date-input/date-input.mjs +0 -62
  136. package/dist/common/interactive/date-input/date-input.mjs.map +0 -1
  137. package/dist/common/interactive/date-input/index.js +0 -17
  138. package/dist/common/interactive/date-input/index.js.map +0 -1
  139. package/dist/common/interactive/date-input/index.mjs +0 -4
  140. package/dist/common/interactive/date-input/index.mjs.map +0 -1
  141. package/dist/common/interactive/date-input/types.js +0 -4
  142. package/dist/common/interactive/date-input/types.js.map +0 -1
  143. package/dist/common/interactive/date-input/types.mjs +0 -3
  144. package/dist/common/interactive/date-input/types.mjs.map +0 -1
  145. package/dist/common/interactive/date-input/use-typed-date.js +0 -478
  146. package/dist/common/interactive/date-input/use-typed-date.js.map +0 -1
  147. package/dist/common/interactive/date-input/use-typed-date.mjs +0 -476
  148. package/dist/common/interactive/date-input/use-typed-date.mjs.map +0 -1
  149. package/dist/common/interactive/date-input/utils.js +0 -34
  150. package/dist/common/interactive/date-input/utils.js.map +0 -1
  151. package/dist/common/interactive/date-input/utils.mjs +0 -29
  152. package/dist/common/interactive/date-input/utils.mjs.map +0 -1
  153. package/dist/common/interactive/date-picker.js +0 -616
  154. package/dist/common/interactive/date-picker.js.map +0 -1
  155. package/dist/common/interactive/date-picker.mjs +0 -594
  156. package/dist/common/interactive/date-picker.mjs.map +0 -1
  157. package/dist/common/interactive/date-range-input/date-range-input.js +0 -82
  158. package/dist/common/interactive/date-range-input/date-range-input.js.map +0 -1
  159. package/dist/common/interactive/date-range-input/date-range-input.mjs +0 -76
  160. package/dist/common/interactive/date-range-input/date-range-input.mjs.map +0 -1
  161. package/dist/common/interactive/date-range-input/index.js +0 -12
  162. package/dist/common/interactive/date-range-input/index.js.map +0 -1
  163. package/dist/common/interactive/date-range-input/index.mjs +0 -3
  164. package/dist/common/interactive/date-range-input/index.mjs.map +0 -1
  165. package/dist/common/interactive/date-range-input/types.js +0 -4
  166. package/dist/common/interactive/date-range-input/types.js.map +0 -1
  167. package/dist/common/interactive/date-range-input/types.mjs +0 -3
  168. package/dist/common/interactive/date-range-input/types.mjs.map +0 -1
  169. package/dist/common/interactive/date-range-input/use-typed-date-range.js +0 -602
  170. package/dist/common/interactive/date-range-input/use-typed-date-range.js.map +0 -1
  171. package/dist/common/interactive/date-range-input/use-typed-date-range.mjs +0 -600
  172. package/dist/common/interactive/date-range-input/use-typed-date-range.mjs.map +0 -1
  173. package/dist/common/interactive/date-time-picker.js +0 -215
  174. package/dist/common/interactive/date-time-picker.js.map +0 -1
  175. package/dist/common/interactive/date-time-picker.mjs +0 -213
  176. package/dist/common/interactive/date-time-picker.mjs.map +0 -1
  177. package/dist/common/interactive/dialog-wrapper.js +0 -124
  178. package/dist/common/interactive/dialog-wrapper.js.map +0 -1
  179. package/dist/common/interactive/dialog-wrapper.mjs +0 -102
  180. package/dist/common/interactive/dialog-wrapper.mjs.map +0 -1
  181. package/dist/common/interactive/filter.js +0 -287
  182. package/dist/common/interactive/filter.js.map +0 -1
  183. package/dist/common/interactive/filter.mjs +0 -280
  184. package/dist/common/interactive/filter.mjs.map +0 -1
  185. package/dist/common/interactive/index.js +0 -235
  186. package/dist/common/interactive/index.js.map +0 -1
  187. package/dist/common/interactive/index.mjs +0 -24
  188. package/dist/common/interactive/index.mjs.map +0 -1
  189. package/dist/common/interactive/list.js +0 -160
  190. package/dist/common/interactive/list.js.map +0 -1
  191. package/dist/common/interactive/list.mjs +0 -134
  192. package/dist/common/interactive/list.mjs.map +0 -1
  193. package/dist/common/interactive/otp-dialog/index.js +0 -35
  194. package/dist/common/interactive/otp-dialog/index.js.map +0 -1
  195. package/dist/common/interactive/otp-dialog/index.mjs +0 -6
  196. package/dist/common/interactive/otp-dialog/index.mjs.map +0 -1
  197. package/dist/common/interactive/otp-dialog/otp-dialog.js +0 -325
  198. package/dist/common/interactive/otp-dialog/otp-dialog.js.map +0 -1
  199. package/dist/common/interactive/otp-dialog/otp-dialog.mjs +0 -303
  200. package/dist/common/interactive/otp-dialog/otp-dialog.mjs.map +0 -1
  201. package/dist/common/interactive/otp-dialog/reducer.js +0 -40
  202. package/dist/common/interactive/otp-dialog/reducer.js.map +0 -1
  203. package/dist/common/interactive/otp-dialog/reducer.mjs +0 -37
  204. package/dist/common/interactive/otp-dialog/reducer.mjs.map +0 -1
  205. package/dist/common/interactive/otp-dialog/types.js +0 -15
  206. package/dist/common/interactive/otp-dialog/types.js.map +0 -1
  207. package/dist/common/interactive/otp-dialog/types.mjs +0 -13
  208. package/dist/common/interactive/otp-dialog/types.mjs.map +0 -1
  209. package/dist/common/interactive/otp-dialog/utils.js +0 -24
  210. package/dist/common/interactive/otp-dialog/utils.js.map +0 -1
  211. package/dist/common/interactive/otp-dialog/utils.mjs +0 -21
  212. package/dist/common/interactive/otp-dialog/utils.mjs.map +0 -1
  213. package/dist/common/interactive/pagination/PaginationSkeleton.js +0 -51
  214. package/dist/common/interactive/pagination/PaginationSkeleton.js.map +0 -1
  215. package/dist/common/interactive/pagination/PaginationSkeleton.mjs +0 -49
  216. package/dist/common/interactive/pagination/PaginationSkeleton.mjs.map +0 -1
  217. package/dist/common/interactive/pagination/index.js +0 -235
  218. package/dist/common/interactive/pagination/index.js.map +0 -1
  219. package/dist/common/interactive/pagination/index.mjs +0 -223
  220. package/dist/common/interactive/pagination/index.mjs.map +0 -1
  221. package/dist/common/interactive/pagination/usePagination.js +0 -28
  222. package/dist/common/interactive/pagination/usePagination.js.map +0 -1
  223. package/dist/common/interactive/pagination/usePagination.mjs +0 -25
  224. package/dist/common/interactive/pagination/usePagination.mjs.map +0 -1
  225. package/dist/common/interactive/popover-wrapper.js +0 -138
  226. package/dist/common/interactive/popover-wrapper.js.map +0 -1
  227. package/dist/common/interactive/popover-wrapper.mjs +0 -116
  228. package/dist/common/interactive/popover-wrapper.mjs.map +0 -1
  229. package/dist/common/interactive/pressable.js +0 -84
  230. package/dist/common/interactive/pressable.js.map +0 -1
  231. package/dist/common/interactive/pressable.mjs +0 -62
  232. package/dist/common/interactive/pressable.mjs.map +0 -1
  233. package/dist/common/interactive/select/context.js +0 -38
  234. package/dist/common/interactive/select/context.js.map +0 -1
  235. package/dist/common/interactive/select/context.mjs +0 -14
  236. package/dist/common/interactive/select/context.mjs.map +0 -1
  237. package/dist/common/interactive/select/index.js +0 -123
  238. package/dist/common/interactive/select/index.js.map +0 -1
  239. package/dist/common/interactive/select/index.mjs +0 -18
  240. package/dist/common/interactive/select/index.mjs.map +0 -1
  241. package/dist/common/interactive/select/select-body.js +0 -89
  242. package/dist/common/interactive/select/select-body.js.map +0 -1
  243. package/dist/common/interactive/select/select-body.mjs +0 -67
  244. package/dist/common/interactive/select/select-body.mjs.map +0 -1
  245. package/dist/common/interactive/select/select-close.js +0 -38
  246. package/dist/common/interactive/select/select-close.js.map +0 -1
  247. package/dist/common/interactive/select/select-close.mjs +0 -16
  248. package/dist/common/interactive/select/select-close.mjs.map +0 -1
  249. package/dist/common/interactive/select/select-content-auto-layout.js +0 -221
  250. package/dist/common/interactive/select/select-content-auto-layout.js.map +0 -1
  251. package/dist/common/interactive/select/select-content-auto-layout.mjs +0 -199
  252. package/dist/common/interactive/select/select-content-auto-layout.mjs.map +0 -1
  253. package/dist/common/interactive/select/select-content-group-auto-layout.js +0 -411
  254. package/dist/common/interactive/select/select-content-group-auto-layout.js.map +0 -1
  255. package/dist/common/interactive/select/select-content-group-auto-layout.mjs +0 -389
  256. package/dist/common/interactive/select/select-content-group-auto-layout.mjs.map +0 -1
  257. package/dist/common/interactive/select/select-content.js +0 -187
  258. package/dist/common/interactive/select/select-content.js.map +0 -1
  259. package/dist/common/interactive/select/select-content.mjs +0 -165
  260. package/dist/common/interactive/select/select-content.mjs.map +0 -1
  261. package/dist/common/interactive/select/select-footer.js +0 -82
  262. package/dist/common/interactive/select/select-footer.js.map +0 -1
  263. package/dist/common/interactive/select/select-footer.mjs +0 -60
  264. package/dist/common/interactive/select/select-footer.mjs.map +0 -1
  265. package/dist/common/interactive/select/select-item.js +0 -214
  266. package/dist/common/interactive/select/select-item.js.map +0 -1
  267. package/dist/common/interactive/select/select-item.mjs +0 -191
  268. package/dist/common/interactive/select/select-item.mjs.map +0 -1
  269. package/dist/common/interactive/select/select-layout.js +0 -66
  270. package/dist/common/interactive/select/select-layout.js.map +0 -1
  271. package/dist/common/interactive/select/select-layout.mjs +0 -41
  272. package/dist/common/interactive/select/select-layout.mjs.map +0 -1
  273. package/dist/common/interactive/select/select-search.js +0 -55
  274. package/dist/common/interactive/select/select-search.js.map +0 -1
  275. package/dist/common/interactive/select/select-search.mjs +0 -33
  276. package/dist/common/interactive/select/select-search.mjs.map +0 -1
  277. package/dist/common/interactive/select/select-states.js +0 -57
  278. package/dist/common/interactive/select/select-states.js.map +0 -1
  279. package/dist/common/interactive/select/select-states.mjs +0 -34
  280. package/dist/common/interactive/select/select-states.mjs.map +0 -1
  281. package/dist/common/interactive/select/select-trigger.js +0 -310
  282. package/dist/common/interactive/select/select-trigger.js.map +0 -1
  283. package/dist/common/interactive/select/select-trigger.mjs +0 -286
  284. package/dist/common/interactive/select/select-trigger.mjs.map +0 -1
  285. package/dist/common/interactive/select/select-value.js +0 -52
  286. package/dist/common/interactive/select/select-value.js.map +0 -1
  287. package/dist/common/interactive/select/select-value.mjs +0 -30
  288. package/dist/common/interactive/select/select-value.mjs.map +0 -1
  289. package/dist/common/interactive/select/select.js +0 -184
  290. package/dist/common/interactive/select/select.js.map +0 -1
  291. package/dist/common/interactive/select/select.mjs +0 -162
  292. package/dist/common/interactive/select/select.mjs.map +0 -1
  293. package/dist/common/interactive/select/types.js +0 -4
  294. package/dist/common/interactive/select/types.js.map +0 -1
  295. package/dist/common/interactive/select/types.mjs +0 -3
  296. package/dist/common/interactive/select/types.mjs.map +0 -1
  297. package/dist/common/interactive/select/utils.js +0 -31
  298. package/dist/common/interactive/select/utils.js.map +0 -1
  299. package/dist/common/interactive/select/utils.mjs +0 -28
  300. package/dist/common/interactive/select/utils.mjs.map +0 -1
  301. package/dist/common/interactive/select/variants.js +0 -27
  302. package/dist/common/interactive/select/variants.js.map +0 -1
  303. package/dist/common/interactive/select/variants.mjs +0 -25
  304. package/dist/common/interactive/select/variants.mjs.map +0 -1
  305. package/dist/common/interactive/select-chip.js +0 -76
  306. package/dist/common/interactive/select-chip.js.map +0 -1
  307. package/dist/common/interactive/select-chip.mjs +0 -74
  308. package/dist/common/interactive/select-chip.mjs.map +0 -1
  309. package/dist/common/interactive/select-level.js +0 -236
  310. package/dist/common/interactive/select-level.js.map +0 -1
  311. package/dist/common/interactive/select-level.mjs +0 -230
  312. package/dist/common/interactive/select-level.mjs.map +0 -1
  313. package/dist/common/interactive/select-range.js +0 -211
  314. package/dist/common/interactive/select-range.js.map +0 -1
  315. package/dist/common/interactive/select-range.mjs +0 -209
  316. package/dist/common/interactive/select-range.mjs.map +0 -1
  317. package/dist/common/interactive/select-with-api.js +0 -767
  318. package/dist/common/interactive/select-with-api.js.map +0 -1
  319. package/dist/common/interactive/select-with-api.mjs +0 -758
  320. package/dist/common/interactive/select-with-api.mjs.map +0 -1
  321. package/dist/common/interactive/select.js +0 -15
  322. package/dist/common/interactive/select.js.map +0 -1
  323. package/dist/common/interactive/select.mjs +0 -4
  324. package/dist/common/interactive/select.mjs.map +0 -1
  325. package/dist/common/interactive/sheet-wrapper.js +0 -105
  326. package/dist/common/interactive/sheet-wrapper.js.map +0 -1
  327. package/dist/common/interactive/sheet-wrapper.mjs +0 -83
  328. package/dist/common/interactive/sheet-wrapper.mjs.map +0 -1
  329. package/dist/common/interactive/table/enhanced-table.js +0 -390
  330. package/dist/common/interactive/table/enhanced-table.js.map +0 -1
  331. package/dist/common/interactive/table/enhanced-table.mjs +0 -388
  332. package/dist/common/interactive/table/enhanced-table.mjs.map +0 -1
  333. package/dist/common/interactive/table/index.js +0 -83
  334. package/dist/common/interactive/table/index.js.map +0 -1
  335. package/dist/common/interactive/table/index.mjs +0 -68
  336. package/dist/common/interactive/table/index.mjs.map +0 -1
  337. package/dist/common/interactive/table/table-pagination.js +0 -12
  338. package/dist/common/interactive/table/table-pagination.js.map +0 -1
  339. package/dist/common/interactive/table/table-pagination.mjs +0 -10
  340. package/dist/common/interactive/table/table-pagination.mjs.map +0 -1
  341. package/dist/common/interactive/table/types.js +0 -4
  342. package/dist/common/interactive/table/types.js.map +0 -1
  343. package/dist/common/interactive/table/types.mjs +0 -3
  344. package/dist/common/interactive/table/types.mjs.map +0 -1
  345. package/dist/common/interactive/time-picker.js +0 -313
  346. package/dist/common/interactive/time-picker.js.map +0 -1
  347. package/dist/common/interactive/time-picker.mjs +0 -307
  348. package/dist/common/interactive/time-picker.mjs.map +0 -1
  349. package/dist/common/interactive/types.js +0 -4
  350. package/dist/common/interactive/types.js.map +0 -1
  351. package/dist/common/interactive/types.mjs +0 -3
  352. package/dist/common/interactive/types.mjs.map +0 -1
  353. package/dist/common/pages/page-404.js +0 -16
  354. package/dist/common/pages/page-404.js.map +0 -1
  355. package/dist/common/pages/page-404.mjs +0 -11
  356. package/dist/common/pages/page-404.mjs.map +0 -1
  357. package/dist/common/pages/page-500.js +0 -30
  358. package/dist/common/pages/page-500.js.map +0 -1
  359. package/dist/common/pages/page-500.mjs +0 -25
  360. package/dist/common/pages/page-500.mjs.map +0 -1
  361. package/dist/components/accordion.js +0 -65
  362. package/dist/components/accordion.js.map +0 -1
  363. package/dist/components/accordion.mjs +0 -39
  364. package/dist/components/accordion.mjs.map +0 -1
  365. package/dist/components/alert-dialog.js +0 -231
  366. package/dist/components/alert-dialog.js.map +0 -1
  367. package/dist/components/alert-dialog.mjs +0 -197
  368. package/dist/components/alert-dialog.mjs.map +0 -1
  369. package/dist/components/alert.js +0 -97
  370. package/dist/components/alert.js.map +0 -1
  371. package/dist/components/alert.mjs +0 -72
  372. package/dist/components/alert.mjs.map +0 -1
  373. package/dist/components/aspect-ratio.js +0 -29
  374. package/dist/components/aspect-ratio.js.map +0 -1
  375. package/dist/components/aspect-ratio.mjs +0 -7
  376. package/dist/components/aspect-ratio.mjs.map +0 -1
  377. package/dist/components/avatar.js +0 -64
  378. package/dist/components/avatar.js.map +0 -1
  379. package/dist/components/avatar.mjs +0 -39
  380. package/dist/components/avatar.mjs.map +0 -1
  381. package/dist/components/badge.js +0 -72
  382. package/dist/components/badge.js.map +0 -1
  383. package/dist/components/badge.mjs +0 -69
  384. package/dist/components/badge.mjs.map +0 -1
  385. package/dist/components/breadcrumb.js +0 -109
  386. package/dist/components/breadcrumb.js.map +0 -1
  387. package/dist/components/breadcrumb.mjs +0 -81
  388. package/dist/components/breadcrumb.mjs.map +0 -1
  389. package/dist/components/button.js +0 -250
  390. package/dist/components/button.js.map +0 -1
  391. package/dist/components/button.mjs +0 -226
  392. package/dist/components/button.mjs.map +0 -1
  393. package/dist/components/calendar.js +0 -681
  394. package/dist/components/calendar.js.map +0 -1
  395. package/dist/components/calendar.mjs +0 -659
  396. package/dist/components/calendar.mjs.map +0 -1
  397. package/dist/components/card.js +0 -98
  398. package/dist/components/card.js.map +0 -1
  399. package/dist/components/card.mjs +0 -71
  400. package/dist/components/card.mjs.map +0 -1
  401. package/dist/components/carousel.js +0 -237
  402. package/dist/components/carousel.js.map +0 -1
  403. package/dist/components/carousel.mjs +0 -208
  404. package/dist/components/carousel.mjs.map +0 -1
  405. package/dist/components/chart.js +0 -252
  406. package/dist/components/chart.js.map +0 -1
  407. package/dist/components/chart.mjs +0 -224
  408. package/dist/components/chart.mjs.map +0 -1
  409. package/dist/components/checkbox.js +0 -97
  410. package/dist/components/checkbox.js.map +0 -1
  411. package/dist/components/checkbox.mjs +0 -74
  412. package/dist/components/checkbox.mjs.map +0 -1
  413. package/dist/components/chip.js +0 -88
  414. package/dist/components/chip.js.map +0 -1
  415. package/dist/components/chip.mjs +0 -82
  416. package/dist/components/chip.mjs.map +0 -1
  417. package/dist/components/collapsible.js +0 -33
  418. package/dist/components/collapsible.js.map +0 -1
  419. package/dist/components/collapsible.mjs +0 -9
  420. package/dist/components/collapsible.mjs.map +0 -1
  421. package/dist/components/command.js +0 -125
  422. package/dist/components/command.js.map +0 -1
  423. package/dist/components/command.mjs +0 -95
  424. package/dist/components/command.mjs.map +0 -1
  425. package/dist/components/context-menu.js +0 -168
  426. package/dist/components/context-menu.js.map +0 -1
  427. package/dist/components/context-menu.mjs +0 -131
  428. package/dist/components/context-menu.mjs.map +0 -1
  429. package/dist/components/dialog.js +0 -192
  430. package/dist/components/dialog.js.map +0 -1
  431. package/dist/components/dialog.mjs +0 -159
  432. package/dist/components/dialog.mjs.map +0 -1
  433. package/dist/components/drawer.js +0 -98
  434. package/dist/components/drawer.js.map +0 -1
  435. package/dist/components/drawer.mjs +0 -67
  436. package/dist/components/drawer.mjs.map +0 -1
  437. package/dist/components/dropdown-menu.js +0 -163
  438. package/dist/components/dropdown-menu.js.map +0 -1
  439. package/dist/components/dropdown-menu.mjs +0 -126
  440. package/dist/components/dropdown-menu.mjs.map +0 -1
  441. package/dist/components/form.js +0 -123
  442. package/dist/components/form.js.map +0 -1
  443. package/dist/components/form.mjs +0 -94
  444. package/dist/components/form.mjs.map +0 -1
  445. package/dist/components/hover-card.js +0 -50
  446. package/dist/components/hover-card.js.map +0 -1
  447. package/dist/components/hover-card.mjs +0 -25
  448. package/dist/components/hover-card.mjs.map +0 -1
  449. package/dist/components/input-otp.js +0 -84
  450. package/dist/components/input-otp.js.map +0 -1
  451. package/dist/components/input-otp.mjs +0 -59
  452. package/dist/components/input-otp.mjs.map +0 -1
  453. package/dist/components/input.js +0 -858
  454. package/dist/components/input.js.map +0 -1
  455. package/dist/components/input.mjs +0 -831
  456. package/dist/components/input.mjs.map +0 -1
  457. package/dist/components/label.js +0 -38
  458. package/dist/components/label.js.map +0 -1
  459. package/dist/components/label.mjs +0 -15
  460. package/dist/components/label.mjs.map +0 -1
  461. package/dist/components/lottie.js +0 -59
  462. package/dist/components/lottie.js.map +0 -1
  463. package/dist/components/lottie.mjs +0 -49
  464. package/dist/components/lottie.mjs.map +0 -1
  465. package/dist/components/menubar.js +0 -195
  466. package/dist/components/menubar.js.map +0 -1
  467. package/dist/components/menubar.mjs +0 -157
  468. package/dist/components/menubar.mjs.map +0 -1
  469. package/dist/components/navigation-menu.js +0 -126
  470. package/dist/components/navigation-menu.js.map +0 -1
  471. package/dist/components/navigation-menu.mjs +0 -95
  472. package/dist/components/navigation-menu.mjs.map +0 -1
  473. package/dist/components/pagination.js +0 -112
  474. package/dist/components/pagination.js.map +0 -1
  475. package/dist/components/pagination.mjs +0 -84
  476. package/dist/components/pagination.mjs.map +0 -1
  477. package/dist/components/popover.js +0 -63
  478. package/dist/components/popover.js.map +0 -1
  479. package/dist/components/popover.mjs +0 -38
  480. package/dist/components/popover.mjs.map +0 -1
  481. package/dist/components/progress.js +0 -50
  482. package/dist/components/progress.js.map +0 -1
  483. package/dist/components/progress.mjs +0 -27
  484. package/dist/components/progress.mjs.map +0 -1
  485. package/dist/components/radio-group.js +0 -91
  486. package/dist/components/radio-group.js.map +0 -1
  487. package/dist/components/radio-group.mjs +0 -67
  488. package/dist/components/radio-group.mjs.map +0 -1
  489. package/dist/components/resizable.js +0 -59
  490. package/dist/components/resizable.js.map +0 -1
  491. package/dist/components/resizable.mjs +0 -35
  492. package/dist/components/resizable.mjs.map +0 -1
  493. package/dist/components/responsive-popover.js +0 -74
  494. package/dist/components/responsive-popover.js.map +0 -1
  495. package/dist/components/responsive-popover.mjs +0 -50
  496. package/dist/components/responsive-popover.mjs.map +0 -1
  497. package/dist/components/scroll-area.js +0 -63
  498. package/dist/components/scroll-area.js.map +0 -1
  499. package/dist/components/scroll-area.mjs +0 -39
  500. package/dist/components/scroll-area.mjs.map +0 -1
  501. package/dist/components/separator.js +0 -47
  502. package/dist/components/separator.js.map +0 -1
  503. package/dist/components/separator.mjs +0 -24
  504. package/dist/components/separator.mjs.map +0 -1
  505. package/dist/components/sheet.js +0 -239
  506. package/dist/components/sheet.js.map +0 -1
  507. package/dist/components/sheet.mjs +0 -206
  508. package/dist/components/sheet.mjs.map +0 -1
  509. package/dist/components/sidebar.js +0 -888
  510. package/dist/components/sidebar.js.map +0 -1
  511. package/dist/components/sidebar.mjs +0 -842
  512. package/dist/components/sidebar.mjs.map +0 -1
  513. package/dist/components/skeleton.js +0 -153
  514. package/dist/components/skeleton.js.map +0 -1
  515. package/dist/components/skeleton.mjs +0 -127
  516. package/dist/components/skeleton.mjs.map +0 -1
  517. package/dist/components/slider.js +0 -45
  518. package/dist/components/slider.js.map +0 -1
  519. package/dist/components/slider.mjs +0 -22
  520. package/dist/components/slider.mjs.map +0 -1
  521. package/dist/components/sonner.js +0 -76
  522. package/dist/components/sonner.js.map +0 -1
  523. package/dist/components/sonner.mjs +0 -71
  524. package/dist/components/sonner.mjs.map +0 -1
  525. package/dist/components/spinner.js +0 -59
  526. package/dist/components/spinner.js.map +0 -1
  527. package/dist/components/spinner.mjs +0 -36
  528. package/dist/components/spinner.mjs.map +0 -1
  529. package/dist/components/stepper.js +0 -726
  530. package/dist/components/stepper.js.map +0 -1
  531. package/dist/components/stepper.mjs +0 -702
  532. package/dist/components/stepper.mjs.map +0 -1
  533. package/dist/components/switch.js +0 -85
  534. package/dist/components/switch.js.map +0 -1
  535. package/dist/components/switch.mjs +0 -62
  536. package/dist/components/switch.mjs.map +0 -1
  537. package/dist/components/table.js +0 -91
  538. package/dist/components/table.js.map +0 -1
  539. package/dist/components/table.mjs +0 -62
  540. package/dist/components/table.mjs.map +0 -1
  541. package/dist/components/tabs.js +0 -287
  542. package/dist/components/tabs.js.map +0 -1
  543. package/dist/components/tabs.mjs +0 -261
  544. package/dist/components/tabs.mjs.map +0 -1
  545. package/dist/components/textarea.js +0 -200
  546. package/dist/components/textarea.js.map +0 -1
  547. package/dist/components/textarea.mjs +0 -174
  548. package/dist/components/textarea.mjs.map +0 -1
  549. package/dist/components/toggle-group.js +0 -67
  550. package/dist/components/toggle-group.js.map +0 -1
  551. package/dist/components/toggle-group.mjs +0 -43
  552. package/dist/components/toggle-group.mjs.map +0 -1
  553. package/dist/components/toggle.js +0 -63
  554. package/dist/components/toggle.js.map +0 -1
  555. package/dist/components/toggle.mjs +0 -39
  556. package/dist/components/toggle.mjs.map +0 -1
  557. package/dist/components/tooltip.js +0 -172
  558. package/dist/components/tooltip.js.map +0 -1
  559. package/dist/components/tooltip.mjs +0 -145
  560. package/dist/components/tooltip.mjs.map +0 -1
  561. package/dist/hooks/index.js +0 -27
  562. package/dist/hooks/index.js.map +0 -1
  563. package/dist/hooks/index.mjs +0 -6
  564. package/dist/hooks/index.mjs.map +0 -1
  565. package/dist/hooks/useCopyToClipboard.js +0 -59
  566. package/dist/hooks/useCopyToClipboard.js.map +0 -1
  567. package/dist/hooks/useCopyToClipboard.mjs +0 -57
  568. package/dist/hooks/useCopyToClipboard.mjs.map +0 -1
  569. package/dist/hooks/useDevice.js +0 -20
  570. package/dist/hooks/useDevice.js.map +0 -1
  571. package/dist/hooks/useDevice.mjs +0 -14
  572. package/dist/hooks/useDevice.mjs.map +0 -1
  573. package/dist/hooks/useDialogTracking.js +0 -113
  574. package/dist/hooks/useDialogTracking.js.map +0 -1
  575. package/dist/hooks/useDialogTracking.mjs +0 -91
  576. package/dist/hooks/useDialogTracking.mjs.map +0 -1
  577. package/dist/hooks/useIsMounted.js +0 -15
  578. package/dist/hooks/useIsMounted.js.map +0 -1
  579. package/dist/hooks/useIsMounted.mjs +0 -13
  580. package/dist/hooks/useIsMounted.mjs.map +0 -1
  581. package/dist/hooks/usePathname.js +0 -85
  582. package/dist/hooks/usePathname.js.map +0 -1
  583. package/dist/hooks/usePathname.mjs +0 -83
  584. package/dist/hooks/usePathname.mjs.map +0 -1
  585. package/dist/icons.js +0 -14
  586. package/dist/icons.js.map +0 -1
  587. package/dist/icons.mjs +0 -3
  588. package/dist/icons.mjs.map +0 -1
  589. package/dist/lib/formatCurrency.js +0 -187
  590. package/dist/lib/formatCurrency.js.map +0 -1
  591. package/dist/lib/formatCurrency.mjs +0 -185
  592. package/dist/lib/formatCurrency.mjs.map +0 -1
  593. package/dist/lib/helpers.js +0 -171
  594. package/dist/lib/helpers.js.map +0 -1
  595. package/dist/lib/helpers.mjs +0 -157
  596. package/dist/lib/helpers.mjs.map +0 -1
  597. package/dist/lib/index.js +0 -33
  598. package/dist/lib/index.js.map +0 -1
  599. package/dist/lib/index.mjs +0 -6
  600. package/dist/lib/index.mjs.map +0 -1
  601. package/dist/lib/types.js +0 -11
  602. package/dist/lib/types.js.map +0 -1
  603. package/dist/lib/types.mjs +0 -9
  604. package/dist/lib/types.mjs.map +0 -1
  605. package/dist/lib/utils.js +0 -24
  606. package/dist/lib/utils.js.map +0 -1
  607. package/dist/lib/utils.mjs +0 -19
  608. package/dist/lib/utils.mjs.map +0 -1
  609. package/dist/providers/DeviceSizeWatcher/index.js +0 -72
  610. package/dist/providers/DeviceSizeWatcher/index.js.map +0 -1
  611. package/dist/providers/DeviceSizeWatcher/index.mjs +0 -47
  612. package/dist/providers/DeviceSizeWatcher/index.mjs.map +0 -1
  613. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.js +0 -22
  614. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.js.map +0 -1
  615. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.mjs +0 -20
  616. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.mjs.map +0 -1
  617. package/dist/providers/UISystemProvider.js +0 -197
  618. package/dist/providers/UISystemProvider.js.map +0 -1
  619. package/dist/providers/UISystemProvider.mjs +0 -188
  620. package/dist/providers/UISystemProvider.mjs.map +0 -1
  621. package/dist/providers/index.js +0 -24
  622. package/dist/providers/index.js.map +0 -1
  623. package/dist/providers/index.mjs +0 -3
  624. package/dist/providers/index.mjs.map +0 -1
  625. package/dist/theme.js +0 -333
  626. package/dist/theme.js.map +0 -1
  627. package/dist/theme.mjs +0 -327
  628. package/dist/theme.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/common/interactive/select-with-api.tsx"],"names":["React","debounce","jsx","jsxs","Select","SelectTrigger","SelectValue","SelectBody","useSelectContext","SelectContent","SelectSearch","InfiniteScroll","Spinner","SelectEmptyState","SelectItem","Fragment","SelectGroup"],"mappings":";;;;;;;;;;;;;;AAgHO,SAAS,mBAAA,CAAoB;AAAA;AAAA,EAElC,QAAA;AAAA,EACA,SAAA;AAAA,EACA,iBAAA;AAAA,EACA,UAAA,GAAa,GAAA;AAAA,EACb,kBAAA,GAAqB,EAAA;AAAA,EACrB,qBAAqB,EAAC;AAAA,EACtB,QAAA,GAAW,EAAA;AAAA,EACX,oBAAA,GAAuB,KAAA;AAAA;AAAA,EAEvB,OAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,kBAAA;AAAA,EACA,iBAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,SAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AAAA,EACA,mBAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA;AAAA,EAEA,iBAAA;AAAA;AAAA,EAEA,aAAA;AAAA,EACA,UAAA;AAAA;AAAA,EAEA,GAAG;AACL,CAAA,EAA6B;AAC3B,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,IAAIA,sBAAA,CAAM,QAAA,CAAmB,EAAE,CAAA;AAC/D,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,sBAAA,CAAM,SAAS,KAAK,CAAA;AACtD,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,sBAAA,CAAM,SAAS,KAAK,CAAA;AAC1D,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,sBAAA,CAAM,SAAS,IAAI,CAAA;AACjD,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,sBAAA,CAAM,SAAS,CAAC,CAAA;AACtD,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,sBAAA,CAAM,SAAS,EAAE,CAAA;AACzD,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIA,sBAAA,CAAM,SAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAIA,sBAAA,CAAM,SAAS,KAAK,CAAA;AACtE,EAAA,MAAM,CAAC,kBAAA,EAAoB,qBAAqB,CAAA,GAAIA,sBAAA,CAAM,SAAS,KAAK,CAAA;AAGxE,EAAA,MAAM,cAAA,GAAiB,CAAC,GAAA,KAAwD;AAG9E,IAAA,OAAO,oBAAA,IAAwB,OAAO,GAAA,KAAQ,UAAA,IAAc,IAAI,MAAA,IAAU,CAAA;AAAA,EAC5E,CAAA;AAGA,EAAA,MAAM,WAAWA,sBAAA,CAAM,WAAA;AAAA,IACrB,OAAO,KAAA,EAAe,IAAA,GAAe,CAAA,EAAG,YAAY,KAAA,KAAU;AAC5D,MAAA,IAAI;AACF,QAAA,IAAI,SAAS,CAAA,EAAG;AACd,UAAA,cAAA,CAAe,IAAI,CAAA;AAAA,QACrB,CAAA,MAAO;AACL,UAAA,gBAAA,CAAiB,IAAI,CAAA;AAAA,QACvB;AAEA,QAAA,IAAI,cAAA,CAAe,SAAS,CAAA,EAAG;AAE7B,UAAA,MAAM,eAAA,GAAkB,MAAM,SAAA,CAAU,KAAA,EAAO,MAAM,QAAQ,CAAA;AAE7D,UAAA,IAAI,SAAA,IAAa,SAAS,CAAA,EAAG;AAC3B,YAAA,aAAA,CAAc,gBAAgB,IAAI,CAAA;AAAA,UACpC,CAAA,MAAO;AACL,YAAA,aAAA,CAAc,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,eAAA,CAAgB,IAAI,CAAC,CAAA;AAAA,UAC5D;AAEA,UAAA,UAAA,CAAW,gBAAgB,OAAO,CAAA;AAClC,UAAA,cAAA,CAAe,IAAI,CAAA;AACnB,UAAA,eAAA,CAAgB,KAAK,CAAA;AAAA,QACvB,CAAA,MAAO;AAEL,UAAA,MAAM,YAAA,GAAe,MAAO,SAAA,CAAwC,KAAK,CAAA;AACzE,UAAA,aAAA,CAAc,YAAY,CAAA;AAC1B,UAAA,UAAA,CAAW,KAAK,CAAA;AAChB,UAAA,cAAA,CAAe,CAAC,CAAA;AAChB,UAAA,eAAA,CAAgB,KAAK,CAAA;AAAA,QACvB;AAAA,MACF,SAAS,KAAA,EAAO;AACd,QAAA,OAAA,CAAQ,KAAA,CAAM,wBAAwB,KAAK,CAAA;AAC3C,QAAA,IAAI,SAAA,IAAa,SAAS,CAAA,EAAG;AAC3B,UAAA,aAAA,CAAc,EAAE,CAAA;AAAA,QAClB;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB,CAAA,SAAE;AACA,QAAA,cAAA,CAAe,KAAK,CAAA;AACpB,QAAA,gBAAA,CAAiB,KAAK,CAAA;AAAA,MACxB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,SAAA,EAAW,QAAA,EAAU,oBAAoB;AAAA,GAC5C;AAGA,EAAAA,sBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,CAAC,kBAAA,EAAoB;AACvB,MAAA,YAAA,CAAa,IAAI,CAAA;AACjB,MAAA,qBAAA,CAAsB,IAAI,CAAA;AAC1B,MAAA,QAAA,CAAS,EAAA,EAAI,GAAG,IAAI,CAAA,CAAE,QAAQ,MAAM,YAAA,CAAa,KAAK,CAAC,CAAA;AAAA,IACzD;AAAA,EACF,CAAA,EAAG,CAAC,kBAAkB,CAAC,CAAA;AAGvB,EAAA,MAAM,eAAA,GAAkBA,sBAAA,CAAM,OAAA,CAAQ,MAAM;AAC1C,IAAA,OAAOC,gBAAA,CAAS,CAAC,KAAA,KAAkB;AACjC,MAAA,cAAA,CAAe,CAAC,CAAA;AAChB,MAAA,UAAA,CAAW,IAAI,CAAA;AACf,MAAA,QAAA,CAAS,KAAA,EAAO,GAAG,IAAI,CAAA;AAAA,IACzB,GAAG,UAAU,CAAA;AAAA,EACf,CAAA,EAAG,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAGzB,EAAA,MAAM,QAAA,GAAWD,sBAAA,CAAM,WAAA,CAAY,MAAM;AACvC,IAAA,IAAI,CAAC,aAAA,IAAiB,OAAA,IAAW,cAAA,CAAe,SAAS,CAAA,EAAG;AAC1D,MAAA,uBAAA,CAAwB,oCAAA,EAAsC;AAAA,QAI5D,YAAY,UAAA,CAAW;AAAA,OACxB,CAAA;AAED,MAAA,UAAA,CAAW,MAAM;AACf,QAAA,QAAA,CAAS,YAAA,EAAc,WAAA,GAAc,CAAA,EAAG,KAAK,CAAA;AAAA,MAC/C,GAAG,GAAG,CAAA;AAAA,IACR;AAAA,EACF,CAAA,EAAG,CAAC,QAAA,EAAU,YAAA,EAAc,WAAA,EAAa,eAAe,OAAA,EAAS,UAAA,CAAW,MAAA,EAAQ,SAAS,CAAC,CAAA;AAY9F,EAAA,MAAM,uBAAuB,WAAA,CAAY,YAAA;AACzC,EAAA,MAAM,gBAAA,GAAmBA,sBAAA,CAAM,WAAA,CAAY,MAAM;AAE/C,IAAA,oBAAA,IAAuB;AAAA,EACzB,CAAA,EAAG,CAAC,oBAAoB,CAAC,CAAA;AAGzB,EAAA,MAAM,uBAAuB,WAAA,CAAY,YAAA;AACzC,EAAA,MAAM,mBAAmBA,sBAAA,CAAM,WAAA;AAAA,IAC7B,CAAC,IAAA,KAAkB;AACjB,MAAA,IAAI,CAAC,IAAA,EAAM;AAET,QAAA,oBAAA,CAAqB,IAAI,CAAA;AACzB,QAAA,UAAA,CAAW,MAAM;AACf,UAAA,eAAA,CAAgB,EAAE,CAAA;AAClB,UAAA,cAAA,CAAe,CAAC,CAAA;AAChB,UAAA,UAAA,CAAW,IAAI,CAAA;AACf,UAAA,QAAA,CAAS,EAAA,EAAI,GAAG,IAAI,CAAA;AACpB,UAAA,oBAAA,CAAqB,KAAK,CAAA;AAAA,QAC5B,GAAG,GAAG,CAAA;AAAA,MACR;AACA,MAAA,oBAAA,GAAuB,IAAI,CAAA;AAAA,IAC7B,CAAA;AAAA,IACA;AAAA,MACE,QAAA;AAAA,MACA,oBAAA;AAAA,MACA,oBAAA;AAAA,MACA,eAAA;AAAA,MACA,cAAA;AAAA,MACA;AAAA;AACF,GACF;AAGA,EAAA,MAAM,kBAAkB,WAAA,CAAY,OAAA;AACpC,EAAA,MAAM,cAAcA,sBAAA,CAAM,WAAA;AAAA,IACxB,CAAC,KAAA,KAAe;AAEd,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,oBAAA,CAAqB,IAAI,CAAA;AACzB,QAAA,eAAA,CAAgB,EAAE,CAAA;AAClB,QAAA,QAAA,CAAS,EAAA,EAAI,GAAG,IAAI,CAAA;AAEpB,QAAA,UAAA,CAAW,MAAM,oBAAA,CAAqB,KAAK,CAAA,EAAG,GAAG,CAAA;AAAA,MACnD;AACA,MAAA,eAAA,GAAkB,KAAK,CAAA;AAAA,IACzB,CAAA;AAAA,IACA,CAAC,QAAA,EAAU,eAAA,EAAiB,QAAQ;AAAA,GACtC;AAEA,EAAA,IAAI,oBAAA,IAAwB,cAAA,CAAe,SAAS,CAAA,EAAG;AAErD,IAAA,uBACEE,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EACb,QAAA,kBAAAC,eAAA;AAAA,MAACC,aAAA;AAAA,MAAA;AAAA,QACE,GAAG,WAAA;AAAA,QACJ,YAAA,EAAc,gBAAA;AAAA,QACd,YAAA,EAAc,gBAAA;AAAA,QACd,OAAA,EAAS,WAAA;AAAA,QAET,QAAA,EAAA;AAAA,0BAAAF,cAAA;AAAA,YAACG,oBAAA;AAAA,YAAA;AAAA,cACC,OAAA;AAAA,cACA,SAAA;AAAA,cACA,QAAA;AAAA,cACA,kBAAA;AAAA,cACA,iBAAA;AAAA,cACA,OAAA;AAAA,cACA,IAAA;AAAA,cACA,aAAA;AAAA,cACA,SAAA;AAAA,cACA,IAAA;AAAA,cACA,WAAA;AAAA,cACA,cAAA;AAAA,cACA,mBAAA;AAAA,cACA,WAAA;AAAA,cACA,UAAA;AAAA,cACA,WAAA;AAAA,cACA,UAAA;AAAA,cACA,UAAA;AAAA,cAEA,QAAA,kBAAAH,cAAA,CAACI,sBAAa,QAAA,EAAA,aAAA,EAAc;AAAA;AAAA,WAC9B;AAAA,yCACCC,iBAAA,EAAA,EACC,QAAA,kBAAAL,cAAA;AAAA,YAAC,+BAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAAS,UAAA;AAAA,cACT,WAAW,SAAA,IAAa,WAAA;AAAA,cACxB,SAAA,EAAS,IAAA;AAAA,cACT,mBAAmB,iBAAA,IAAqB,qBAAA;AAAA,cACxC,QAAA;AAAA,cACA,kBAAA;AAAA,cACA,kBAAA;AAAA,cACA,cAAA,EAAgB,eAAA;AAAA,cAEhB,OAAA;AAAA,cACA,aAAA;AAAA,cACA,UAAA,EAAY,QAAA;AAAA,cACZ,YAAA;AAAA,cACA,kBAAA,EAAoB,iBAAA;AAAA,cACpB;AAAA;AAAA,WACF,EACF;AAAA;AAAA;AAAA,KACF,EACF,CAAA;AAAA,EAEJ;AAGA,EAAA,uBACEA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EACb,QAAA,kBAAAC,eAAA;AAAA,IAACC,aAAA;AAAA,IAAA;AAAA,MACE,GAAG,WAAA;AAAA,MACJ,YAAA,EAAc,gBAAA;AAAA,MACd,YAAA,EAAc,gBAAA;AAAA,MACd,OAAA,EAAS,WAAA;AAAA,MAET,QAAA,EAAA;AAAA,wBAAAF,cAAA;AAAA,UAACG,oBAAA;AAAA,UAAA;AAAA,YACC,OAAA;AAAA,YACA,SAAA;AAAA,YACA,QAAA;AAAA,YACA,kBAAA;AAAA,YACA,iBAAA;AAAA,YACA,OAAA;AAAA,YACA,IAAA;AAAA,YACA,aAAA;AAAA,YACA,SAAA;AAAA,YACA,IAAA;AAAA,YACA,WAAA;AAAA,YACA,cAAA;AAAA,YACA,mBAAA;AAAA,YACA,WAAA;AAAA,YACA,UAAA;AAAA,YACA,WAAA;AAAA,YACA,UAAA;AAAA,YACA,UAAA;AAAA,YAEA,QAAA,kBAAAH,cAAA,CAACI,sBAAa,QAAA,EAAA,aAAA,EAAc;AAAA;AAAA,SAC9B;AAAA,uCACCC,iBAAA,EAAA,EACC,QAAA,kBAAAL,cAAA;AAAA,UAAC,+BAAA;AAAA,UAAA;AAAA,YACC,OAAA,EAAS,UAAA;AAAA,YACT,WAAW,SAAA,IAAa,WAAA;AAAA,YACxB,SAAA,EAAS,IAAA;AAAA,YACT,mBAAmB,iBAAA,IAAqB,qBAAA;AAAA,YACxC,QAAA;AAAA,YACA,kBAAA;AAAA,YACA,kBAAA;AAAA,YACA,cAAA,EAAgB,eAAA;AAAA,YAChB,OAAA;AAAA,YACA,aAAA;AAAA,YACA,UAAA,EAAY,QAAA;AAAA,YACZ,YAAA;AAAA,YACA,kBAAA,EAAoB,iBAAA;AAAA,YACpB;AAAA;AAAA,SACF,EACF;AAAA;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;AAEO,SAAS,wBAAA,CAAyB;AAAA;AAAA,EAEvC,QAAA;AAAA,EACA,SAAA;AAAA,EACA,iBAAA;AAAA,EACA,UAAA,GAAa,GAAA;AAAA,EACb,kBAAA;AAAA,EACA,kBAAA;AAAA,EACA,QAAA,GAAW,EAAA;AAAA,EACX,oBAAA,GAAuB,KAAA;AAAA;AAAA,EAEvB,OAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,kBAAA;AAAA,EACA,iBAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,SAAA;AAAA,EACA,IAAA;AAAA,EACA,cAAA;AAAA,EACA,mBAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA;AAAA,EAEA,iBAAA;AAAA;AAAA,EAEA,aAAA;AAAA,EACA,UAAA;AAAA;AAAA,EAEA,GAAG;AACL,CAAA,EAAkC;AAChC,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,IAAIF,sBAAA,CAAM,QAAA,CAAgC,EAAE,CAAA;AAC1E,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,sBAAA,CAAM,SAAS,KAAK,CAAA;AACtD,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,sBAAA,CAAM,SAAS,KAAK,CAAA;AAC1D,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,sBAAA,CAAM,SAAS,IAAI,CAAA;AACjD,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,sBAAA,CAAM,SAAS,CAAC,CAAA;AACtD,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,sBAAA,CAAM,SAAS,EAAE,CAAA;AACzD,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIA,sBAAA,CAAM,SAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAIA,sBAAA,CAAM,SAAS,KAAK,CAAA;AACtE,EAAA,MAAM,CAAC,kBAAA,EAAoB,qBAAqB,CAAA,GAAIA,sBAAA,CAAM,SAAS,KAAK,CAAA;AAGxE,EAAA,MAAM,cAAA,GAAiB,CAAC,GAAA,KAAqE;AAG3F,IAAA,OAAO,oBAAA,IAAwB,OAAO,GAAA,KAAQ,UAAA,IAAc,IAAI,MAAA,IAAU,CAAA;AAAA,EAC5E,CAAA;AAGA,EAAA,MAAM,WAAWA,sBAAA,CAAM,WAAA;AAAA,IACrB,OAAO,KAAA,EAAe,IAAA,GAAe,CAAA,EAAG,YAAY,KAAA,KAAU;AAC5D,MAAA,IAAI;AACF,QAAA,IAAI,SAAS,CAAA,EAAG;AACd,UAAA,cAAA,CAAe,IAAI,CAAA;AAAA,QACrB,CAAA,MAAO;AACL,UAAA,gBAAA,CAAiB,IAAI,CAAA;AAAA,QACvB;AAEA,QAAA,IAAI,cAAA,CAAe,SAAS,CAAA,EAAG;AAE7B,UAAA,MAAM,eAAA,GAAkB,MAAM,SAAA,CAAU,KAAA,EAAO,MAAM,QAAQ,CAAA;AAE7D,UAAA,IAAI,SAAA,IAAa,SAAS,CAAA,EAAG;AAC3B,YAAA,YAAA,CAAa,gBAAgB,IAAI,CAAA;AAAA,UACnC,CAAA,MAAO;AACL,YAAA,YAAA,CAAa,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,eAAA,CAAgB,IAAI,CAAC,CAAA;AAAA,UAC3D;AAEA,UAAA,UAAA,CAAW,gBAAgB,OAAO,CAAA;AAClC,UAAA,cAAA,CAAe,IAAI,CAAA;AACnB,UAAA,eAAA,CAAgB,KAAK,CAAA;AAAA,QACvB,CAAA,MAAO;AAEL,UAAA,MAAM,YAAA,GAAe,MAAO,SAAA,CAAqC,KAAK,CAAA;AACtE,UAAA,YAAA,CAAa,YAAY,CAAA;AACzB,UAAA,UAAA,CAAW,KAAK,CAAA;AAChB,UAAA,cAAA,CAAe,CAAC,CAAA;AAChB,UAAA,eAAA,CAAgB,KAAK,CAAA;AAAA,QACvB;AAAA,MACF,SAAS,KAAA,EAAO;AACd,QAAA,OAAA,CAAQ,KAAA,CAAM,wBAAwB,KAAK,CAAA;AAC3C,QAAA,IAAI,SAAA,IAAa,SAAS,CAAA,EAAG;AAC3B,UAAA,YAAA,CAAa,EAAE,CAAA;AAAA,QACjB;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB,CAAA,SAAE;AACA,QAAA,cAAA,CAAe,KAAK,CAAA;AACpB,QAAA,gBAAA,CAAiB,KAAK,CAAA;AAAA,MACxB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,SAAA,EAAW,QAAA,EAAU,oBAAoB;AAAA,GAC5C;AAGA,EAAAA,sBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,CAAC,kBAAA,EAAoB;AACvB,MAAA,YAAA,CAAa,IAAI,CAAA;AACjB,MAAA,qBAAA,CAAsB,IAAI,CAAA;AAC1B,MAAA,QAAA,CAAS,EAAA,EAAI,GAAG,IAAI,CAAA,CAAE,QAAQ,MAAM,YAAA,CAAa,KAAK,CAAC,CAAA;AAAA,IACzD;AAAA,EACF,CAAA,EAAG,CAAC,kBAAkB,CAAC,CAAA;AAEvB,EAAA,MAAM,oBAAA,GAAuBA,sBAAA,CAAM,OAAA,CAAQ,MAAM;AAC/C,IAAA,OAAOC,gBAAA,CAAS,CAAC,KAAA,KAAkB;AACjC,MAAA,cAAA,CAAe,CAAC,CAAA;AAChB,MAAA,UAAA,CAAW,IAAI,CAAA;AACf,MAAA,QAAA,CAAS,KAAA,EAAO,GAAG,IAAI,CAAA;AAAA,IACzB,GAAG,UAAU,CAAA;AAAA,EACf,CAAA,EAAG,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAGzB,EAAA,MAAM,QAAA,GAAWD,sBAAA,CAAM,WAAA,CAAY,MAAM;AACvC,IAAA,IAAI,CAAC,aAAA,IAAiB,OAAA,IAAW,cAAA,CAAe,SAAS,CAAA,EAAG;AAC1D,MAAA,uBAAA,CAAwB,qCAAA,EAAuC;AAAA,QAI7D,aAAa,SAAA,CAAU;AAAA,OACxB,CAAA;AAED,MAAA,UAAA,CAAW,MAAM;AACf,QAAA,QAAA,CAAS,YAAA,EAAc,WAAA,GAAc,CAAA,EAAG,KAAK,CAAA;AAAA,MAC/C,GAAG,GAAG,CAAA;AAAA,IACR;AAAA,EACF,CAAA,EAAG,CAAC,QAAA,EAAU,YAAA,EAAc,WAAA,EAAa,eAAe,OAAA,EAAS,SAAA,CAAU,MAAA,EAAQ,SAAS,CAAC,CAAA;AAY7F,EAAA,MAAM,uBAAuB,WAAA,CAAY,YAAA;AACzC,EAAA,MAAM,gBAAA,GAAmBA,sBAAA,CAAM,WAAA,CAAY,MAAM;AAE/C,IAAA,oBAAA,IAAuB;AAAA,EACzB,CAAA,EAAG,CAAC,oBAAoB,CAAC,CAAA;AAGzB,EAAA,MAAM,uBAAuB,WAAA,CAAY,YAAA;AACzC,EAAA,MAAM,mBAAmBA,sBAAA,CAAM,WAAA;AAAA,IAC7B,CAAC,IAAA,KAAkB;AACjB,MAAA,IAAI,CAAC,IAAA,EAAM;AAET,QAAA,oBAAA,CAAqB,IAAI,CAAA;AACzB,QAAA,UAAA,CAAW,MAAM;AACf,UAAA,eAAA,CAAgB,EAAE,CAAA;AAClB,UAAA,cAAA,CAAe,CAAC,CAAA;AAChB,UAAA,UAAA,CAAW,IAAI,CAAA;AACf,UAAA,QAAA,CAAS,EAAA,EAAI,GAAG,IAAI,CAAA;AACpB,UAAA,oBAAA,CAAqB,KAAK,CAAA;AAAA,QAC5B,GAAG,GAAG,CAAA;AAAA,MACR;AACA,MAAA,oBAAA,GAAuB,IAAI,CAAA;AAAA,IAC7B,CAAA;AAAA,IACA;AAAA,MACE,QAAA;AAAA,MACA,oBAAA;AAAA,MACA,oBAAA;AAAA,MACA,eAAA;AAAA,MACA,cAAA;AAAA,MACA;AAAA;AACF,GACF;AAGA,EAAA,MAAM,kBAAkB,WAAA,CAAY,OAAA;AACpC,EAAA,MAAM,cAAcA,sBAAA,CAAM,WAAA;AAAA,IACxB,CAAC,KAAA,KAAe;AAEd,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,oBAAA,CAAqB,IAAI,CAAA;AACzB,QAAA,eAAA,CAAgB,EAAE,CAAA;AAClB,QAAA,QAAA,CAAS,EAAA,EAAI,GAAG,IAAI,CAAA;AAEpB,QAAA,UAAA,CAAW,MAAM,oBAAA,CAAqB,KAAK,CAAA,EAAG,GAAG,CAAA;AAAA,MACnD;AACA,MAAA,eAAA,GAAkB,KAAK,CAAA;AAAA,IACzB,CAAA;AAAA,IACA,CAAC,QAAA,EAAU,eAAA,EAAiB,QAAQ;AAAA,GACtC;AAEA,EAAA,IAAI,oBAAA,IAAwB,cAAA,CAAe,SAAS,CAAA,EAAG;AAErD,IAAA,uBACEE,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EACb,QAAA,kBAAAC,eAAA;AAAA,MAACC,aAAA;AAAA,MAAA;AAAA,QACE,GAAG,WAAA;AAAA,QACJ,YAAA,EAAc,gBAAA;AAAA,QACd,YAAA,EAAc,gBAAA;AAAA,QACd,OAAA,EAAS,WAAA;AAAA,QAET,QAAA,EAAA;AAAA,0BAAAF,cAAA;AAAA,YAACG,oBAAA;AAAA,YAAA;AAAA,cACC,OAAA;AAAA,cACA,SAAA;AAAA,cACA,QAAA;AAAA,cACA,kBAAA;AAAA,cACA,iBAAA;AAAA,cACA,OAAA;AAAA,cACA,IAAA;AAAA,cACA,aAAA;AAAA,cACA,SAAA;AAAA,cACA,IAAA;AAAA,cACA,cAAA;AAAA,cACA,mBAAA;AAAA,cACA,WAAA;AAAA,cACA,UAAA;AAAA,cACA,WAAA;AAAA,cACA,UAAA;AAAA,cACA,UAAA;AAAA,cAEA,QAAA,kBAAAH,cAAA,CAACI,sBAAa,QAAA,EAAA,aAAA,EAAc;AAAA;AAAA,WAC9B;AAAA,yCACCC,iBAAA,EAAA,EACC,QAAA,kBAAAL,cAAA;AAAA,YAAC,oCAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAAS,SAAA;AAAA,cACT,WAAW,SAAA,IAAa,WAAA;AAAA,cACxB,SAAA,EAAS,IAAA;AAAA,cACT,mBAAmB,iBAAA,IAAqB,qBAAA;AAAA,cACxC,QAAA;AAAA,cACA,oBAAoB,kBAAA,IAAsB,uBAAA;AAAA,cAC1C,kBAAA;AAAA,cACA,cAAA,EAAgB,oBAAA;AAAA,cAEhB,OAAA;AAAA,cACA,aAAA;AAAA,cACA,UAAA,EAAY,QAAA;AAAA,cACZ,YAAA;AAAA,cACA,kBAAA,EAAoB,iBAAA;AAAA,cACpB;AAAA;AAAA,WACF,EACF;AAAA;AAAA;AAAA,KACF,EACF,CAAA;AAAA,EAEJ;AAGA,EAAA,uBACEA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EACb,QAAA,kBAAAC,eAAA;AAAA,IAACC,aAAA;AAAA,IAAA;AAAA,MACE,GAAG,WAAA;AAAA,MACJ,YAAA,EAAc,gBAAA;AAAA,MACd,YAAA,EAAc,gBAAA;AAAA,MACd,OAAA,EAAS,WAAA;AAAA,MAET,QAAA,EAAA;AAAA,wBAAAF,cAAA;AAAA,UAACG,oBAAA;AAAA,UAAA;AAAA,YACC,OAAA;AAAA,YACA,SAAA;AAAA,YACA,QAAA;AAAA,YACA,kBAAA;AAAA,YACA,iBAAA;AAAA,YACA,OAAA;AAAA,YACA,IAAA;AAAA,YACA,aAAA;AAAA,YACA,SAAA;AAAA,YACA,IAAA;AAAA,YACA,cAAA;AAAA,YACA,mBAAA;AAAA,YACA,WAAA;AAAA,YACA,UAAA;AAAA,YACA,WAAA;AAAA,YACA,UAAA;AAAA,YACA,UAAA;AAAA,YAEA,yCAACC,kBAAA,EAAA,EAAY;AAAA;AAAA,SACf;AAAA,uCACCC,iBAAA,EAAA,EACC,QAAA,kBAAAL,cAAA;AAAA,UAAC,oCAAA;AAAA,UAAA;AAAA,YACC,OAAA,EAAS,SAAA;AAAA,YACT,WAAW,SAAA,IAAa,WAAA;AAAA,YACxB,SAAA,EAAS,IAAA;AAAA,YACT,mBAAmB,iBAAA,IAAqB,qBAAA;AAAA,YACxC,QAAA;AAAA,YACA,oBAAoB,kBAAA,IAAsB,cAAA;AAAA,YAC1C,kBAAA;AAAA,YACA,cAAA,EAAgB,oBAAA;AAAA,YAChB,OAAA;AAAA,YACA,aAAA;AAAA,YACA,UAAA,EAAY,QAAA;AAAA,YACZ,YAAA;AAAA,YACA,kBAAA,EAAoB,iBAAA;AAAA,YACpB;AAAA;AAAA,SACF,EACF;AAAA;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;AAEO,SAAS,YAAA,CACd,SAAA,EACA,UAAA,GAAqB,GAAA,EACrB;AACA,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,IAAIF,sBAAA,CAAM,QAAA,CAAc,EAAE,CAAA;AAC9C,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,sBAAA,CAAM,SAAS,KAAK,CAAA;AACtD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,sBAAA,CAAM,SAAuB,IAAI,CAAA;AAE3D,EAAA,MAAM,eAAA,GAAkBA,sBAAA,CAAM,OAAA,CAAQ,MAAM;AAC1C,IAAA,OAAOC,gBAAA,CAAS,CAAC,KAAA,KAAkB;AACjC,MAAA,YAAA,CAAa,IAAI,CAAA;AACjB,MAAA,QAAA,CAAS,IAAI,CAAA;AACb,MAAA,SAAA,CAAU,KAAK,CAAA,CACZ,IAAA,CAAK,CAAC,MAAA,KAAW;AAChB,QAAA,OAAA,CAAQ,MAAM,CAAA;AAAA,MAChB,CAAC,CAAA,CACA,KAAA,CAAM,CAAC,GAAA,KAAQ;AACd,QAAA,QAAA,CAAS,eAAe,KAAA,GAAQ,GAAA,GAAM,IAAI,KAAA,CAAM,eAAe,CAAC,CAAA;AAChE,QAAA,OAAA,CAAQ,EAAE,CAAA;AAAA,MACZ,CAAC,CAAA,CACA,OAAA,CAAQ,MAAM;AACb,QAAA,YAAA,CAAa,KAAK,CAAA;AAAA,MACpB,CAAC,CAAA;AAAA,IACL,GAAG,UAAU,CAAA;AAAA,EACf,CAAA,EAAG,CAAC,SAAA,EAAW,UAAU,CAAC,CAAA;AAG1B,EAAAD,sBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,eAAA,CAAgB,EAAE,CAAA;AAAA,EACpB,CAAA,EAAG,CAAC,eAAe,CAAC,CAAA;AAEpB,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA,EAAQ;AAAA,GACV;AACF;AAGA,MAAM,uBAAA,GAA0B,CAAC,MAAA,EAAgB,IAAA,KAA8B;AAC7E,EAAA,IAAI,OAAO,WAAW,WAAA,IAAe,MAAA,CAAO,SAAS,QAAA,CAAS,QAAA,CAAS,aAAa,CAAA,EAAG;AAGzF,CAAA;AA4CA,MAAM,kCAAkCA,sBAAA,CAAM,UAAA;AAAA,EAI5C,CACE;AAAA,IACE,SAAA,EAAW,aAAA;AAAA,IACX,iBAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,kBAAA;AAAA,IACA,cAAA;AAAA,IACA,OAAA;AAAA,IACA,aAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,kBAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,EAAE,mBAAA,EAAoB,GAAIQ,uBAAA,EAAiB;AACjD,IAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIR,sBAAA,CAAM,SAAS,EAAE,CAAA;AAG3D,IAAAA,sBAAA,CAAM,UAAU,MAAM;AACpB,MAAA,IAAI,WAAW,mBAAA,EAAqB;AAClC,QAAA,mBAAA,CAAoB,OAAO,CAAA;AAAA,MAC7B;AAAA,IACF,CAAA,EAAG,CAAC,OAAA,EAAS,mBAAmB,CAAC,CAAA;AAGjC,IAAAA,sBAAA,CAAM,UAAU,MAAM;AACpB,MAAA,IAAI,kBAAA,EAAoB;AACtB,QAAA,gBAAA,CAAiB,EAAE,CAAA;AAAA,MACrB;AAAA,IACF,CAAA,EAAG,CAAC,kBAAkB,CAAC,CAAA;AAEvB,IAAA,MAAM,sBAAsBA,sBAAA,CAAM,WAAA;AAAA,MAChC,CAAC,CAAA,KAA2C;AAC1C,QAAA,gBAAA,CAAiB,CAAA,CAAE,OAAO,KAAK,CAAA;AAC/B,QAAA,cAAA,GAAiB,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,MACjC,CAAA;AAAA,MACA,CAAC,cAAc;AAAA,KACjB;AAMA,IAAA,MAAM,UAAA,GAAa,EAAA;AACnB,IAAA,MAAM,eAAA,GAAkB,CAAA;AACxB,IAAA,MAAM,YAAY,eAAA,GAAkB,UAAA;AACpC,IAAA,MAAM,cAAc,IAAA,CAAK,GAAA,CAAI,OAAA,CAAQ,MAAA,IAAU,GAAG,eAAe,CAAA;AACjE,IAAA,MAAM,aAAA,GAAgB,WAAA,GAAc,CAAA,GAAI,WAAA,GAAc,UAAA,GAAa,SAAA;AAEnE,IAAA,uBACEE,cAAA;AAAA,MAACO,oBAAA;AAAA,MAAA;AAAA,QACC,WACE,aAAA,mBACEP,cAAA;AAAA,UAACQ,mBAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAa,iBAAA;AAAA,YACb,KAAA,EAAO,aAAA;AAAA,YACP,QAAA,EAAU;AAAA;AAAA,SACZ,GACE,IAAA;AAAA,QAEN,GAAA;AAAA,QACA,SAAA,EAAW,QAAA,IAAY,OAAA,CAAQ,MAAA,GAAS,CAAA;AAAA,QACxC,OAAA,EAAS,SAAA;AAAA,QACR,GAAG,KAAA;AAAA,QAEJ,QAAA,kBAAAR,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,EAAA,EAAG,wBAAA;AAAA,YACH,SAAA,EAAU,sBAAA;AAAA,YACV,OAAO,EAAE,MAAA,EAAQ,GAAG,aAAa,CAAA,EAAA,CAAA,EAAM,UAAU,MAAA,EAAO;AAAA,YAExD,QAAA,kBAAAA,cAAA;AAAA,cAACS,+BAAA;AAAA,cAAA;AAAA,gBACC,YAAY,OAAA,CAAQ,MAAA;AAAA,gBACpB,IAAA,EAAM,UAAA;AAAA,gBACN,OAAA;AAAA,gBACA,MAAA,kBACET,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uCAAA,EACb,QAAA,kBAAAA,cAAA,CAACU,eAAA,EAAA,EAAQ,IAAA,EAAK,IAAA,EAAK,SAAA,EAAU,cAAA,EAAe,CAAA,EAC9C,CAAA;AAAA,gBAEF,gBAAA,EAAiB,wBAAA;AAAA,gBACjB,eAAA,EAAiB,GAAA;AAAA,gBAEhB,QAAA,EAAA,SAAA,kCACE,KAAA,EAAA,EAAI,SAAA,EAAU,wCACb,QAAA,kBAAAV,cAAA,CAACU,eAAA,EAAA,EAAQ,IAAA,EAAK,IAAA,EAAK,SAAA,EAAU,cAAA,EAAe,GAC9C,CAAA,GACE,OAAA,CAAQ,WAAW,CAAA,mBACrBV,cAAA,CAACW,2BAAiB,CAAA,GAElB,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,qBACXX,cAAA;AAAA,kBAACY,iBAAA;AAAA,kBAAA;AAAA,oBAEC,MAAA;AAAA,oBACA,UAAU,MAAA,EAAQ,OAAA;AAAA,oBAClB,QAAA;AAAA,oBACA,iBAAiB,CAAC,QAAA;AAAA,oBAEjB,QAAA,EAAA,MAAA,EAAQ,QAAQ,MAAA,CAAO;AAAA,mBAAA;AAAA,kBANnB,MAAA,CAAO;AAAA,iBAQf;AAAA;AAAA;AAEL;AAAA;AACF;AAAA,KACF;AAAA,EAEJ;AACF,CAAA;AAEA,+BAAA,CAAgC,WAAA,GAAc,iCAAA;AAG9C,MAAM,uCAAuCd,sBAAA,CAAM,UAAA;AAAA,EAIjD,CACE;AAAA,IACE,SAAA,EAAW,aAAA;AAAA,IACX,iBAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA,EAAS,MAAA;AAAA,IACT,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,kBAAA;AAAA,IACA,cAAA;AAAA,IACA,OAAA;AAAA,IACA,aAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,kBAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,EAAE,mBAAA,EAAoB,GAAIQ,uBAAA,EAAiB;AACjD,IAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIR,sBAAA,CAAM,SAAS,EAAE,CAAA;AAG3D,IAAA,MAAM,kBAAkBA,sBAAA,CAAM,OAAA;AAAA,MAC5B,OACG,MAAA,IAAU,EAAC,EACT,GAAA,CAAI,CAAC,IAAA,KAAS;AACb,QAAA,OAAO,IAAA,CAAK,OAAA,EAAS,GAAA,CAAI,CAAC,OAAA,MAAa;AAAA,UACrC,GAAG,OAAA;AAAA,UACH,WAAW,IAAA,CAAK;AAAA,SAClB,CAAE,CAAA;AAAA,MACJ,CAAC,EACA,IAAA,EAAK;AAAA,MACV,CAAC,MAAM;AAAA,KACT;AAEA,IAAAA,sBAAA,CAAM,UAAU,MAAM;AACpB,MAAA,IAAI,mBAAmB,mBAAA,EAAqB;AAC1C,QAAA,mBAAA,CAAoB,eAAe,CAAA;AAAA,MACrC;AAAA,IACF,CAAA,EAAG,CAAC,eAAA,EAAiB,mBAAmB,CAAC,CAAA;AAGzC,IAAAA,sBAAA,CAAM,UAAU,MAAM;AACpB,MAAA,IAAI,kBAAA,EAAoB;AACtB,QAAA,gBAAA,CAAiB,EAAE,CAAA;AAAA,MACrB;AAAA,IACF,CAAA,EAAG,CAAC,kBAAkB,CAAC,CAAA;AAEvB,IAAA,MAAM,sBAAsBA,sBAAA,CAAM,WAAA;AAAA,MAChC,CAAC,CAAA,KAA2C;AAC1C,QAAA,gBAAA,CAAiB,CAAA,CAAE,OAAO,KAAK,CAAA;AAC/B,QAAA,cAAA,GAAiB,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,MACjC,CAAA;AAAA,MACA,CAAC,cAAc;AAAA,KACjB;AAKA,IAAA,MAAM,UAAA,GAAa,EAAA;AACnB,IAAA,MAAM,iBAAA,GAAoB,EAAA;AAC1B,IAAA,MAAM,eAAA,GAAkB,CAAA;AACxB,IAAA,MAAM,YAAY,eAAA,GAAkB,UAAA;AAEpC,IAAA,MAAM,UAAA,GAAa,MAAA,CAAO,MAAA,CAAO,CAAC,GAAA,EAAK,UAAU,GAAA,GAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,EAAQ,CAAC,CAAA;AAC9E,IAAA,MAAM,oBAAoB,MAAA,CAAO,MAAA;AAGjC,IAAA,MAAM,WAAA,GAAc,UAAA,GAAa,UAAA,GAAa,iBAAA,GAAoB,iBAAA;AAElE,IAAA,MAAM,YAAY,eAAA,GAAkB,UAAA;AAEpC,IAAA,MAAM,gBAAgB,UAAA,GAAa,CAAA,GAAI,KAAK,GAAA,CAAI,WAAA,EAAa,SAAS,CAAA,GAAI,SAAA;AAE1E,IAAA,uBACEE,cAAA;AAAA,MAACO,oBAAA;AAAA,MAAA;AAAA,QACC,WACE,aAAA,mBACEP,cAAA;AAAA,UAACQ,mBAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAa,iBAAA;AAAA,YACb,KAAA,EAAO,aAAA;AAAA,YACP,QAAA,EAAU;AAAA;AAAA,SACZ,GACE,IAAA;AAAA,QAEN,GAAA;AAAA,QACA,SAAA,EAAW,QAAA,IAAY,MAAA,CAAO,MAAA,GAAS,CAAA;AAAA,QACvC,OAAA,EAAS,SAAA;AAAA,QACR,GAAG,KAAA;AAAA,QAEJ,QAAA,kBAAAR,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,EAAA,EAAG,yBAAA;AAAA,YACH,SAAA,EAAU,sBAAA;AAAA,YACV,OAAO,EAAE,MAAA,EAAQ,GAAG,aAAa,CAAA,EAAA,CAAA,EAAM,UAAU,MAAA,EAAO;AAAA,YAExD,QAAA,kBAAAA,cAAA;AAAA,cAACS,+BAAA;AAAA,cAAA;AAAA,gBACC,YAAY,MAAA,CAAO,MAAA;AAAA,gBACnB,IAAA,EAAM,UAAA;AAAA,gBACN,OAAA;AAAA,gBACA,MAAA,kBACET,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uCAAA,EACb,QAAA,kBAAAA,cAAA,CAACU,eAAA,EAAA,EAAQ,IAAA,EAAK,IAAA,EAAK,SAAA,EAAU,cAAA,EAAe,CAAA,EAC9C,CAAA;AAAA,gBAEF,gBAAA,EAAiB,yBAAA;AAAA,gBACjB,eAAA,EAAiB,GAAA;AAAA,gBAEhB,QAAA,EAAA,SAAA,mBACCV,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,wCACb,QAAA,kBAAAA,cAAA,CAACU,eAAA,EAAA,EAAQ,IAAA,EAAK,IAAA,EAAK,WAAU,cAAA,EAAe,CAAA,EAC9C,CAAA,GACE,MAAA,CAAO,WAAW,CAAA,mBACpBV,cAAA,CAACW,uBAAA,EAAA,EAAiB,CAAA,mBAElBX,cAAA,CAAAa,mBAAA,EAAA,EACG,QAAA,EAAA,MAAA,CAAO,GAAA,CAAI,CAAC,OAA4B,QAAA,qBACvCb,cAAA,CAACc,kBAAA,EAAA,EAA8C,KAAA,EAAO,MAAM,IAAA,EACzD,QAAA,EAAA,KAAA,CAAM,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,qBAClBd,cAAA;AAAA,kBAACY,iBAAA;AAAA,kBAAA;AAAA,oBAEC,MAAA;AAAA,oBACA,UAAU,MAAA,EAAQ,OAAA;AAAA,oBAClB,QAAA;AAAA,oBACA,iBAAiB,CAAC,QAAA;AAAA,oBAEjB,QAAA,EAAA,MAAA,EAAQ,QAAQ,MAAA,CAAO;AAAA,mBAAA;AAAA,kBANnB,MAAA,CAAO;AAAA,iBAQf,CAAA,EAAA,EAXe,KAAA,CAAM,OAAO,GAAA,GAAM,QAYrC,CACD,CAAA,EACH;AAAA;AAAA;AAEJ;AAAA;AACF;AAAA,KACF;AAAA,EAEJ;AACF,CAAA;AAEA,oCAAA,CAAqC,WAAA,GAAc,sCAAA","file":"select-with-api.js","sourcesContent":["'use client';\n\nimport React from 'react';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport { Spinner } from '../../components/spinner';\nimport { debounce } from '../../lib/helpers';\nimport {\n Select,\n SelectBody,\n SelectContent,\n SelectEmptyState,\n SelectGroup,\n SelectItem,\n SelectSearch,\n SelectTrigger,\n SelectValue,\n useSelectContext,\n type Option,\n type OptionGroup,\n type SelectContentAutoLayoutProps,\n type SelectContentGroupAutoLayoutProps,\n type SelectProps,\n} from './select';\n\n// Types for API search functions\nexport type ApiSearchFunction<T = Option> = (query: string) => Promise<T[]>;\nexport type ApiSearchGroupFunction = (query: string) => Promise<OptionGroup<Option>[]>;\n\n// Types for API search functions with pagination support\nexport type ApiSearchPaginatedFunction<T = Option> = (\n query: string,\n page: number,\n pageSize: number,\n) => Promise<PaginatedSearchResult<T>>;\n\n// Props for single options API search\nexport interface SelectWithApiSearchProps extends Omit<SelectProps, 'children'> {\n multiple?: boolean;\n searchApi: ApiSearchFunction<Option> | ApiSearchPaginatedFunction<Option>;\n searchPlaceholder?: string;\n debounceMs?: number;\n trackingSearchName?: string;\n trackingSearchData?: Record<string, any>;\n // Pagination props\n pageSize?: number;\n enableInfiniteScroll?: boolean;\n // SelectTrigger props\n isError?: boolean;\n errorText?: string;\n helpText?: string;\n errorTextClassName?: string;\n helpTextClassName?: string;\n asChild?: boolean;\n icon?: React.ReactNode;\n hasRemoveIcon?: boolean;\n className?: string;\n size?: 'default' | 'lg';\n placeholder?: string;\n inputClassName?: string;\n buttonIconClassName?: string;\n classButton?: string;\n classLabel?: string;\n addonBefore?: React.ReactNode;\n addonAfter?: React.ReactNode;\n // Additional content between search and list\n additionalContent?: React.ReactNode;\n // Value renderer for SelectValue\n valueRenderer?: (\n value?: Option[],\n groupValue?: { group?: OptionGroup<Option>[] | undefined; child?: Option[] | undefined },\n ) => React.ReactNode;\n isRequired?: boolean;\n}\n\n// Props for grouped options API search\nexport interface SelectWithApiSearchGroupProps extends Omit<SelectProps, 'children'> {\n multiple?: boolean;\n searchApi: ApiSearchGroupFunction | ApiSearchPaginatedFunction<OptionGroup<Option>>;\n searchPlaceholder?: string;\n debounceMs?: number;\n trackingSearchName?: string;\n trackingSearchData?: Record<string, any>;\n // Pagination props\n pageSize?: number;\n enableInfiniteScroll?: boolean;\n // SelectTrigger props\n isError?: boolean;\n errorText?: string;\n helpText?: string;\n errorTextClassName?: string;\n helpTextClassName?: string;\n asChild?: boolean;\n icon?: React.ReactNode;\n hasRemoveIcon?: boolean;\n className?: string;\n size?: 'default' | 'lg';\n inputClassName?: string;\n buttonIconClassName?: string;\n classButton?: string;\n classLabel?: string;\n addonBefore?: React.ReactNode;\n addonAfter?: React.ReactNode;\n // Additional content between search and list\n additionalContent?: React.ReactNode;\n // Value renderer for SelectValue\n valueRenderer?: (\n value?: Option[],\n groupValue?: { group?: OptionGroup<Option>[] | undefined; child?: Option[] | undefined },\n ) => React.ReactNode;\n isRequired?: boolean;\n}\n\nexport function SelectWithApiSearch({\n // API-specific props\n multiple,\n searchApi,\n searchPlaceholder,\n debounceMs = 300,\n trackingSearchName = '',\n trackingSearchData = {},\n pageSize = 20,\n enableInfiniteScroll = false,\n // SelectTrigger props\n isError,\n errorText,\n helpText,\n errorTextClassName,\n helpTextClassName,\n asChild,\n icon,\n hasRemoveIcon = false,\n className,\n size,\n placeholder,\n inputClassName,\n buttonIconClassName,\n classButton,\n classLabel,\n addonBefore,\n addonAfter,\n // Additional content\n additionalContent,\n // Value renderer\n valueRenderer,\n isRequired,\n // SelectProps (spread the rest)\n ...selectProps\n}: SelectWithApiSearchProps) {\n const [allOptions, setAllOptions] = React.useState<Option[]>([]);\n const [isLoading, setIsLoading] = React.useState(false);\n const [isSearching, setIsSearching] = React.useState(false);\n const [hasMore, setHasMore] = React.useState(true);\n const [currentPage, setCurrentPage] = React.useState(1);\n const [currentQuery, setCurrentQuery] = React.useState('');\n const [isLoadingMore, setIsLoadingMore] = React.useState(false);\n const [shouldResetSearch, setShouldResetSearch] = React.useState(false);\n const [hasInitiallyLoaded, setHasInitiallyLoaded] = React.useState(false);\n\n // Type guard to check if API supports pagination\n const isPaginatedApi = (api: any): api is ApiSearchPaginatedFunction<Option> => {\n // Check if infinite scroll is enabled and the function has at least 2 parameters (query, page)\n // The pageSize parameter might have a default value, so length could be 2 or 3\n return enableInfiniteScroll && typeof api === 'function' && api.length >= 2;\n };\n\n // Function to load data (initial or search)\n const loadData = React.useCallback(\n async (query: string, page: number = 1, resetData = false) => {\n try {\n if (page === 1) {\n setIsSearching(true);\n } else {\n setIsLoadingMore(true);\n }\n\n if (isPaginatedApi(searchApi)) {\n // Use paginated API\n const paginatedResult = await searchApi(query, page, pageSize);\n\n if (resetData || page === 1) {\n setAllOptions(paginatedResult.data);\n } else {\n setAllOptions((prev) => [...prev, ...paginatedResult.data]);\n }\n\n setHasMore(paginatedResult.hasMore);\n setCurrentPage(page);\n setCurrentQuery(query);\n } else {\n // Use simple API (backward compatibility)\n const simpleResult = await (searchApi as ApiSearchFunction<Option>)(query);\n setAllOptions(simpleResult);\n setHasMore(false); // No pagination for simple API\n setCurrentPage(1);\n setCurrentQuery(query);\n }\n } catch (error) {\n console.error('Failed to load data:', error);\n if (resetData || page === 1) {\n setAllOptions([]);\n }\n setHasMore(false);\n } finally {\n setIsSearching(false);\n setIsLoadingMore(false);\n }\n },\n [searchApi, pageSize, enableInfiniteScroll],\n );\n\n // Load initial data - only once\n React.useEffect(() => {\n if (!hasInitiallyLoaded) {\n setIsLoading(true);\n setHasInitiallyLoaded(true);\n loadData('', 1, true).finally(() => setIsLoading(false));\n }\n }, [hasInitiallyLoaded]); // Remove loadData from dependencies\n\n // Debounced search handler\n const debouncedSearch = React.useMemo(() => {\n return debounce((query: string) => {\n setCurrentPage(1);\n setHasMore(true);\n loadData(query, 1, true);\n }, debounceMs);\n }, [loadData, debounceMs]);\n\n // Load more data for infinite scroll\n const loadMore = React.useCallback(() => {\n if (!isLoadingMore && hasMore && isPaginatedApi(searchApi)) {\n logInfiniteScrollAction('Single Options - Loading more data', {\n currentQuery,\n nextPage: currentPage + 1,\n hasMore,\n totalItems: allOptions.length,\n });\n\n setTimeout(() => {\n loadData(currentQuery, currentPage + 1, false);\n }, 100);\n }\n }, [loadData, currentQuery, currentPage, isLoadingMore, hasMore, allOptions.length, searchApi]);\n\n // Do NOT reset search when:\n // - Single select: item is selected\n // - Multiple select: items are selected/deselected\n // - Clear value button is clicked\n //\n // Only reset search when:\n // - Popover closes\n // - Apply button is clicked (for multiple select)\n\n // Handle clear value without resetting search\n const originalOnClearValue = selectProps.onClearValue;\n const handleClearValue = React.useCallback(() => {\n // Do NOT reset search when clear - keep the current search state\n originalOnClearValue?.();\n }, [originalOnClearValue]);\n\n // Reset search when popover closes\n const originalOnOpenChange = selectProps.onOpenChange;\n const handleOpenChange = React.useCallback(\n (open: boolean) => {\n if (!open) {\n // Always reset search when popover closes\n setShouldResetSearch(true);\n setTimeout(() => {\n setCurrentQuery('');\n setCurrentPage(1);\n setHasMore(true);\n loadData('', 1, true);\n setShouldResetSearch(false);\n }, 150); // Small delay to let popover close animation complete\n }\n originalOnOpenChange?.(open);\n },\n [\n loadData,\n originalOnOpenChange,\n setShouldResetSearch,\n setCurrentQuery,\n setCurrentPage,\n setHasMore,\n ],\n );\n\n // Handle apply button for multiple select - reset search when applied\n const originalOnApply = selectProps.onApply;\n const handleApply = React.useCallback(\n (value: any) => {\n // Reset search when apply is clicked for multiple select\n if (multiple) {\n setShouldResetSearch(true);\n setCurrentQuery('');\n loadData('', 1, true);\n // Reset the flag after a brief delay to allow child components to process\n setTimeout(() => setShouldResetSearch(false), 100);\n }\n originalOnApply?.(value);\n },\n [loadData, originalOnApply, multiple],\n );\n\n if (enableInfiniteScroll && isPaginatedApi(searchApi)) {\n // Render with infinite scroll using proper auto-layout structure\n return (\n <div className=\"space-y-2\">\n <Select\n {...selectProps}\n onClearValue={handleClearValue}\n onOpenChange={handleOpenChange}\n onApply={handleApply}\n >\n <SelectTrigger\n isError={isError}\n errorText={errorText}\n helpText={helpText}\n errorTextClassName={errorTextClassName}\n helpTextClassName={helpTextClassName}\n asChild={asChild}\n icon={icon}\n hasRemoveIcon={hasRemoveIcon}\n className={className}\n size={size}\n placeholder={placeholder}\n inputClassName={inputClassName}\n buttonIconClassName={buttonIconClassName}\n classButton={classButton}\n classLabel={classLabel}\n addonBefore={addonBefore}\n addonAfter={addonAfter}\n isRequired={isRequired}\n >\n <SelectValue>{valueRenderer}</SelectValue>\n </SelectTrigger>\n <SelectBody>\n <SelectContentAutoLayoutInfinite\n options={allOptions}\n isLoading={isLoading || isSearching}\n hasSearch\n searchPlaceholder={searchPlaceholder || 'Tìm kiếm...'}\n multiple={multiple}\n trackingSearchName={trackingSearchName}\n trackingSearchData={trackingSearchData}\n onSearchChange={debouncedSearch}\n // Infinite scroll specific props\n hasMore={hasMore}\n isLoadingMore={isLoadingMore}\n onLoadMore={loadMore}\n currentQuery={currentQuery}\n resetSearchKeyword={shouldResetSearch}\n additionalContent={additionalContent}\n />\n </SelectBody>\n </Select>\n </div>\n );\n }\n\n // Render with SelectContentAutoLayout (backward compatibility)\n return (\n <div className=\"space-y-2\">\n <Select\n {...selectProps}\n onClearValue={handleClearValue}\n onOpenChange={handleOpenChange}\n onApply={handleApply}\n >\n <SelectTrigger\n isError={isError}\n errorText={errorText}\n helpText={helpText}\n errorTextClassName={errorTextClassName}\n helpTextClassName={helpTextClassName}\n asChild={asChild}\n icon={icon}\n hasRemoveIcon={hasRemoveIcon}\n className={className}\n size={size}\n placeholder={placeholder}\n inputClassName={inputClassName}\n buttonIconClassName={buttonIconClassName}\n classButton={classButton}\n classLabel={classLabel}\n addonBefore={addonBefore}\n addonAfter={addonAfter}\n isRequired={isRequired}\n >\n <SelectValue>{valueRenderer}</SelectValue>\n </SelectTrigger>\n <SelectBody>\n <SelectContentAutoLayoutInfinite\n options={allOptions}\n isLoading={isLoading || isSearching}\n hasSearch\n searchPlaceholder={searchPlaceholder || 'Tìm kiếm...'}\n multiple={multiple}\n trackingSearchName={trackingSearchName}\n trackingSearchData={trackingSearchData}\n onSearchChange={debouncedSearch}\n hasMore={hasMore}\n isLoadingMore={isLoadingMore}\n onLoadMore={loadMore}\n currentQuery={currentQuery}\n resetSearchKeyword={shouldResetSearch}\n additionalContent={additionalContent}\n />\n </SelectBody>\n </Select>\n </div>\n );\n}\n\nexport function SelectWithApiSearchGroup({\n // API-specific props\n multiple,\n searchApi,\n searchPlaceholder,\n debounceMs = 300,\n trackingSearchName,\n trackingSearchData,\n pageSize = 20,\n enableInfiniteScroll = false,\n // SelectTrigger props\n isError,\n errorText,\n helpText,\n errorTextClassName,\n helpTextClassName,\n asChild,\n icon,\n hasRemoveIcon = false,\n className,\n size,\n inputClassName,\n buttonIconClassName,\n classButton,\n classLabel,\n addonBefore,\n addonAfter,\n // Additional content\n additionalContent,\n // Value renderer\n valueRenderer,\n isRequired,\n // SelectProps (spread the rest)\n ...selectProps\n}: SelectWithApiSearchGroupProps) {\n const [allGroups, setAllGroups] = React.useState<OptionGroup<Option>[]>([]);\n const [isLoading, setIsLoading] = React.useState(false);\n const [isSearching, setIsSearching] = React.useState(false);\n const [hasMore, setHasMore] = React.useState(true);\n const [currentPage, setCurrentPage] = React.useState(1);\n const [currentQuery, setCurrentQuery] = React.useState('');\n const [isLoadingMore, setIsLoadingMore] = React.useState(false);\n const [shouldResetSearch, setShouldResetSearch] = React.useState(false);\n const [hasInitiallyLoaded, setHasInitiallyLoaded] = React.useState(false);\n\n // Type guard to check if API supports pagination\n const isPaginatedApi = (api: any): api is ApiSearchPaginatedFunction<OptionGroup<Option>> => {\n // Check if infinite scroll is enabled and the function has at least 2 parameters (queryquery, page)\n // The pageSize parameter might have a default value, so length could be 2 or 3\n return enableInfiniteScroll && typeof api === 'function' && api.length >= 2;\n };\n\n // Function to load data (initial or search)\n const loadData = React.useCallback(\n async (query: string, page: number = 1, resetData = false) => {\n try {\n if (page === 1) {\n setIsSearching(true);\n } else {\n setIsLoadingMore(true);\n }\n\n if (isPaginatedApi(searchApi)) {\n // Use paginated API\n const paginatedResult = await searchApi(query, page, pageSize);\n\n if (resetData || page === 1) {\n setAllGroups(paginatedResult.data);\n } else {\n setAllGroups((prev) => [...prev, ...paginatedResult.data]);\n }\n\n setHasMore(paginatedResult.hasMore);\n setCurrentPage(page);\n setCurrentQuery(query);\n } else {\n // Use simple API (backward compatibility)\n const simpleResult = await (searchApi as ApiSearchGroupFunction)(query);\n setAllGroups(simpleResult);\n setHasMore(false); // No pagination for simple API\n setCurrentPage(1);\n setCurrentQuery(query);\n }\n } catch (error) {\n console.error('Failed to load data:', error);\n if (resetData || page === 1) {\n setAllGroups([]);\n }\n setHasMore(false);\n } finally {\n setIsSearching(false);\n setIsLoadingMore(false);\n }\n },\n [searchApi, pageSize, enableInfiniteScroll],\n );\n\n // Load initial data - only once\n React.useEffect(() => {\n if (!hasInitiallyLoaded) {\n setIsLoading(true);\n setHasInitiallyLoaded(true);\n loadData('', 1, true).finally(() => setIsLoading(false));\n }\n }, [hasInitiallyLoaded]); // Remove loadData from dependencies\n // Debounced search handler\n const debouncedGroupSearch = React.useMemo(() => {\n return debounce((query: string) => {\n setCurrentPage(1);\n setHasMore(true);\n loadData(query, 1, true);\n }, debounceMs);\n }, [loadData, debounceMs]);\n\n // Load more data for infinite scroll\n const loadMore = React.useCallback(() => {\n if (!isLoadingMore && hasMore && isPaginatedApi(searchApi)) {\n logInfiniteScrollAction('Grouped Options - Loading more data', {\n currentQuery,\n nextPage: currentPage + 1,\n hasMore,\n totalGroups: allGroups.length,\n });\n\n setTimeout(() => {\n loadData(currentQuery, currentPage + 1, false);\n }, 100);\n }\n }, [loadData, currentQuery, currentPage, isLoadingMore, hasMore, allGroups.length, searchApi]);\n\n // Do NOT reset search when:\n // - Single select: item is selected\n // - Multiple select: items are selected/deselected\n // - Clear value button is clicked\n //\n // Only reset search when:\n // - Popover closes\n // - Apply button is clicked (for multiple select)\n\n // Handle clear value without resetting search\n const originalOnClearValue = selectProps.onClearValue;\n const handleClearValue = React.useCallback(() => {\n // Do NOT reset search when clear - keep the current search state\n originalOnClearValue?.();\n }, [originalOnClearValue]);\n\n // Reset search when popover closes\n const originalOnOpenChange = selectProps.onOpenChange;\n const handleOpenChange = React.useCallback(\n (open: boolean) => {\n if (!open) {\n // Always reset search when popover closes\n setShouldResetSearch(true);\n setTimeout(() => {\n setCurrentQuery('');\n setCurrentPage(1);\n setHasMore(true);\n loadData('', 1, true);\n setShouldResetSearch(false);\n }, 150); // Small delay to let popover close animation complete\n }\n originalOnOpenChange?.(open);\n },\n [\n loadData,\n originalOnOpenChange,\n setShouldResetSearch,\n setCurrentQuery,\n setCurrentPage,\n setHasMore,\n ],\n );\n\n // Handle apply button for multiple select - reset search when applied\n const originalOnApply = selectProps.onApply;\n const handleApply = React.useCallback(\n (value: any) => {\n // Reset search when apply is clicked for multiple select\n if (multiple) {\n setShouldResetSearch(true);\n setCurrentQuery('');\n loadData('', 1, true);\n // Reset the flag after a brief delay to allow child components to process\n setTimeout(() => setShouldResetSearch(false), 100);\n }\n originalOnApply?.(value);\n },\n [loadData, originalOnApply, multiple],\n );\n\n if (enableInfiniteScroll && isPaginatedApi(searchApi)) {\n // Render with infinite scroll using proper auto-layout structure\n return (\n <div className=\"space-y-2\">\n <Select\n {...selectProps}\n onClearValue={handleClearValue}\n onOpenChange={handleOpenChange}\n onApply={handleApply}\n >\n <SelectTrigger\n isError={isError}\n errorText={errorText}\n helpText={helpText}\n errorTextClassName={errorTextClassName}\n helpTextClassName={helpTextClassName}\n asChild={asChild}\n icon={icon}\n hasRemoveIcon={hasRemoveIcon}\n className={className}\n size={size}\n inputClassName={inputClassName}\n buttonIconClassName={buttonIconClassName}\n classButton={classButton}\n classLabel={classLabel}\n addonBefore={addonBefore}\n addonAfter={addonAfter}\n isRequired={isRequired}\n >\n <SelectValue>{valueRenderer}</SelectValue>\n </SelectTrigger>\n <SelectBody>\n <SelectContentGroupAutoLayoutInfinite\n options={allGroups}\n isLoading={isLoading || isSearching}\n hasSearch\n searchPlaceholder={searchPlaceholder || 'Tìm kiếm...'}\n multiple={multiple}\n trackingSearchName={trackingSearchName || 'group_search_infinite'}\n trackingSearchData={trackingSearchData}\n onSearchChange={debouncedGroupSearch}\n // Infinite scroll specific props\n hasMore={hasMore}\n isLoadingMore={isLoadingMore}\n onLoadMore={loadMore}\n currentQuery={currentQuery}\n resetSearchKeyword={shouldResetSearch}\n additionalContent={additionalContent}\n />\n </SelectBody>\n </Select>\n </div>\n );\n }\n\n // Render with SelectContentGroupAutoLayout (backward compatibility)\n return (\n <div className=\"space-y-2\">\n <Select\n {...selectProps}\n onClearValue={handleClearValue}\n onOpenChange={handleOpenChange}\n onApply={handleApply}\n >\n <SelectTrigger\n isError={isError}\n errorText={errorText}\n helpText={helpText}\n errorTextClassName={errorTextClassName}\n helpTextClassName={helpTextClassName}\n asChild={asChild}\n icon={icon}\n hasRemoveIcon={hasRemoveIcon}\n className={className}\n size={size}\n inputClassName={inputClassName}\n buttonIconClassName={buttonIconClassName}\n classButton={classButton}\n classLabel={classLabel}\n addonBefore={addonBefore}\n addonAfter={addonAfter}\n isRequired={isRequired}\n >\n <SelectValue></SelectValue>\n </SelectTrigger>\n <SelectBody>\n <SelectContentGroupAutoLayoutInfinite\n options={allGroups}\n isLoading={isLoading || isSearching}\n hasSearch\n searchPlaceholder={searchPlaceholder || 'Tìm kiếm...'}\n multiple={multiple}\n trackingSearchName={trackingSearchName || 'group_search'}\n trackingSearchData={trackingSearchData}\n onSearchChange={debouncedGroupSearch}\n hasMore={hasMore}\n isLoadingMore={isLoadingMore}\n onLoadMore={loadMore}\n currentQuery={currentQuery}\n resetSearchKeyword={shouldResetSearch}\n additionalContent={additionalContent}\n />\n </SelectBody>\n </Select>\n </div>\n );\n}\n\nexport function useApiSearch<T = Option>(\n searchApi: (query: string) => Promise<T[]>,\n debounceMs: number = 300,\n) {\n const [data, setData] = React.useState<T[]>([]);\n const [isLoading, setIsLoading] = React.useState(false);\n const [error, setError] = React.useState<Error | null>(null);\n\n const debouncedSearch = React.useMemo(() => {\n return debounce((query: string) => {\n setIsLoading(true);\n setError(null);\n searchApi(query)\n .then((result) => {\n setData(result);\n })\n .catch((err) => {\n setError(err instanceof Error ? err : new Error('Search failed'));\n setData([]);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, debounceMs);\n }, [searchApi, debounceMs]);\n\n // Load initial data\n React.useEffect(() => {\n debouncedSearch('');\n }, [debouncedSearch]);\n\n return {\n data,\n isLoading,\n error,\n search: debouncedSearch,\n };\n}\n\n// Utility function for enhanced logging\nconst logInfiniteScrollAction = (action: string, data: Record<string, any>) => {\n if (typeof window !== 'undefined' && window.location.pathname.includes('select-demo')) {\n // Debug logging removed\n }\n};\n\n// Types for pagination\nexport interface PaginatedSearchResult<T> {\n data: T[];\n hasMore: boolean;\n nextPage?: number;\n total?: number;\n}\n\n// Base props interface\nexport interface BaseSelectApiProps {\n label?: string;\n multiple?: boolean;\n searchPlaceholder?: string;\n className?: string;\n disabled?: boolean;\n debounceMs?: number;\n trackingSearchName?: string;\n trackingSearchData?: Record<string, any>;\n}\n\n// Extended props for infinite scroll content components\ninterface SelectContentAutoLayoutInfiniteProps\n extends Omit<SelectContentAutoLayoutProps<Option>, 'options'> {\n options: Option[];\n hasMore: boolean;\n isLoadingMore: boolean;\n onLoadMore: () => void;\n currentQuery: string;\n resetSearchKeyword?: boolean;\n}\n\ninterface SelectContentGroupAutoLayoutInfiniteProps\n extends Omit<SelectContentGroupAutoLayoutProps<Option>, 'options'> {\n options: OptionGroup<Option>[];\n hasMore: boolean;\n isLoadingMore: boolean;\n onLoadMore: () => void;\n currentQuery: string;\n resetSearchKeyword?: boolean;\n}\n\n// Infinite scroll version of SelectContentAutoLayout for single options\nconst SelectContentAutoLayoutInfinite = React.forwardRef<\n HTMLDivElement,\n SelectContentAutoLayoutInfiniteProps\n>(\n (\n {\n hasSearch: hasSearchProp,\n searchPlaceholder,\n multiple,\n options,\n isLoading,\n trackingSearchName,\n trackingSearchData,\n onSearchChange,\n hasMore,\n isLoadingMore,\n onLoadMore,\n currentQuery,\n resetSearchKeyword,\n ...props\n },\n ref,\n ) => {\n const { setAvailableOptions } = useSelectContext();\n const [searchKeyword, setSearchKeyword] = React.useState('');\n\n // Auto-populate available options for value normalization\n React.useEffect(() => {\n if (options && setAvailableOptions) {\n setAvailableOptions(options);\n }\n }, [options, setAvailableOptions]);\n\n // Only reset search keyword when explicitly requested\n React.useEffect(() => {\n if (resetSearchKeyword) {\n setSearchKeyword('');\n }\n }, [resetSearchKeyword]);\n\n const onSearchInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchKeyword(e.target.value);\n onSearchChange?.(e.target.value);\n },\n [onSearchChange],\n );\n\n // Calculate dynamic height based on number of items\n // Each item is approximately 48px tall\n // Max 5 items visible = 240px, less than 5 items = actual height\n // Empty state: 240px (same as max to maintain consistent size)\n const itemHeight = 48;\n const maxVisibleItems = 5;\n const minHeight = maxVisibleItems * itemHeight; // 240px minimum for empty state\n const actualItems = Math.min(options.length || 0, maxVisibleItems);\n const dynamicHeight = actualItems > 0 ? actualItems * itemHeight : minHeight;\n\n return (\n <SelectContent\n searchElm={\n hasSearchProp ? (\n <SelectSearch\n placeholder={searchPlaceholder}\n value={searchKeyword}\n onChange={onSearchInputChange}\n />\n ) : null\n }\n ref={ref}\n hasFooter={multiple && options.length > 0}\n loading={isLoading}\n {...props}\n >\n <div\n id=\"infinite-scroll-single\"\n className=\"custom-select-scroll\"\n style={{ height: `${dynamicHeight}px`, overflow: 'auto' }}\n >\n <InfiniteScroll\n dataLength={options.length}\n next={onLoadMore}\n hasMore={hasMore}\n loader={\n <div className=\"flex items-center justify-center py-2\">\n <Spinner size=\"sm\" className=\"text-primary\" />\n </div>\n }\n scrollableTarget=\"infinite-scroll-single\"\n scrollThreshold={0.9}\n >\n {isLoading ? (\n <div className=\"flex items-center justify-center p-2\">\n <Spinner size=\"md\" className=\"text-primary\" />\n </div>\n ) : options.length === 0 ? (\n <SelectEmptyState />\n ) : (\n options.map((option: Option) => (\n <SelectItem\n key={option.value}\n option={option}\n disabled={option?.disable}\n multiple={multiple}\n closeAfterClick={!multiple}\n >\n {option?.name || option.value}\n </SelectItem>\n ))\n )}\n </InfiniteScroll>\n </div>\n </SelectContent>\n );\n },\n);\n\nSelectContentAutoLayoutInfinite.displayName = 'SelectContentAutoLayoutInfinite';\n\n// Infinite scroll version of SelectContentGroupAutoLayout for grouped options\nconst SelectContentGroupAutoLayoutInfinite = React.forwardRef<\n HTMLDivElement,\n SelectContentGroupAutoLayoutInfiniteProps\n>(\n (\n {\n hasSearch: hasSearchProp,\n searchPlaceholder,\n multiple,\n options: groups,\n isLoading,\n trackingSearchName,\n trackingSearchData,\n onSearchChange,\n hasMore,\n isLoadingMore,\n onLoadMore,\n currentQuery,\n resetSearchKeyword,\n ...props\n },\n ref,\n ) => {\n const { setAvailableOptions } = useSelectContext();\n const [searchKeyword, setSearchKeyword] = React.useState('');\n\n // Auto-populate available options for value normalization\n const optionsPropFlat = React.useMemo(\n () =>\n (groups || [])\n .map((item) => {\n return item.options?.map((subItem) => ({\n ...subItem,\n groupName: item.name,\n }));\n })\n .flat(),\n [groups],\n );\n\n React.useEffect(() => {\n if (optionsPropFlat && setAvailableOptions) {\n setAvailableOptions(optionsPropFlat);\n }\n }, [optionsPropFlat, setAvailableOptions]);\n\n // Only reset search keyword when explicitly requested\n React.useEffect(() => {\n if (resetSearchKeyword) {\n setSearchKeyword('');\n }\n }, [resetSearchKeyword]);\n\n const onSearchInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchKeyword(e.target.value);\n onSearchChange?.(e.target.value);\n },\n [onSearchChange],\n );\n\n // Calculate dynamic height based on total number of items (including group headers)\n // Each item is approximately 48px tall, group header is ~32px\n // Empty state: 240px minimum to maintain consistent dropdown size\n const itemHeight = 48;\n const groupHeaderHeight = 32;\n const maxVisibleItems = 5;\n const minHeight = maxVisibleItems * itemHeight; // 240px minimum\n\n const totalItems = groups.reduce((sum, group) => sum + group.options.length, 0);\n const totalGroupHeaders = groups.length;\n\n // Calculate actual height needed\n const totalHeight = totalItems * itemHeight + totalGroupHeaders * groupHeaderHeight;\n // Max height for 5 items\n const maxHeight = maxVisibleItems * itemHeight;\n // Use the smaller of the two, or minHeight for empty state\n const dynamicHeight = totalItems > 0 ? Math.min(totalHeight, maxHeight) : minHeight;\n\n return (\n <SelectContent\n searchElm={\n hasSearchProp ? (\n <SelectSearch\n placeholder={searchPlaceholder}\n value={searchKeyword}\n onChange={onSearchInputChange}\n />\n ) : null\n }\n ref={ref}\n hasFooter={multiple && groups.length > 0}\n loading={isLoading}\n {...props}\n >\n <div\n id=\"infinite-scroll-grouped\"\n className=\"custom-select-scroll\"\n style={{ height: `${dynamicHeight}px`, overflow: 'auto' }}\n >\n <InfiniteScroll\n dataLength={groups.length}\n next={onLoadMore}\n hasMore={hasMore}\n loader={\n <div className=\"flex items-center justify-center py-2\">\n <Spinner size=\"sm\" className=\"text-primary\" />\n </div>\n }\n scrollableTarget=\"infinite-scroll-grouped\"\n scrollThreshold={0.9}\n >\n {isLoading ? (\n <div className=\"flex items-center justify-center p-2\">\n <Spinner size=\"md\" className=\"text-primary\" />\n </div>\n ) : groups.length === 0 ? (\n <SelectEmptyState />\n ) : (\n <>\n {groups.map((group: OptionGroup<Option>, groupIdx: number) => (\n <SelectGroup key={group.name + '-' + groupIdx} title={group.name}>\n {group.options.map((option: Option) => (\n <SelectItem\n key={option.value}\n option={option}\n disabled={option?.disable}\n multiple={multiple}\n closeAfterClick={!multiple}\n >\n {option?.name || option.value}\n </SelectItem>\n ))}\n </SelectGroup>\n ))}\n </>\n )}\n </InfiniteScroll>\n </div>\n </SelectContent>\n );\n },\n);\n\nSelectContentGroupAutoLayoutInfinite.displayName = 'SelectContentGroupAutoLayoutInfinite';\n"]}