shad-m 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (912) hide show
  1. package/README.md +260 -0
  2. package/dist/assets/Animation/index.d.ts +25655 -0
  3. package/dist/assets/Animation/index.d.ts.map +1 -0
  4. package/dist/assets/Animation/index.js +180 -0
  5. package/dist/assets/Animation/index.js.map +1 -0
  6. package/dist/assets/Animation/index.mjs +79 -0
  7. package/dist/assets/Animation/index.mjs.map +1 -0
  8. package/dist/assets/Icon/index.d.ts +420 -0
  9. package/dist/assets/Icon/index.d.ts.map +1 -0
  10. package/dist/assets/Icon/index.js +2102 -0
  11. package/dist/assets/Icon/index.js.map +1 -0
  12. package/dist/assets/Icon/index.mjs +421 -0
  13. package/dist/assets/Icon/index.mjs.map +1 -0
  14. package/dist/assets/Image/index.d.ts +151 -0
  15. package/dist/assets/Image/index.d.ts.map +1 -0
  16. package/dist/assets/Image/index.js +755 -0
  17. package/dist/assets/Image/index.js.map +1 -0
  18. package/dist/assets/Image/index.mjs +150 -0
  19. package/dist/assets/Image/index.mjs.map +1 -0
  20. package/dist/common/display/countdown.d.ts +26 -0
  21. package/dist/common/display/countdown.d.ts.map +1 -0
  22. package/dist/common/display/countdown.js +68 -0
  23. package/dist/common/display/countdown.js.map +1 -0
  24. package/dist/common/display/countdown.mjs +46 -0
  25. package/dist/common/display/countdown.mjs.map +1 -0
  26. package/dist/common/display/display-field-group.d.ts +59 -0
  27. package/dist/common/display/display-field-group.d.ts.map +1 -0
  28. package/dist/common/display/display-field-group.js +91 -0
  29. package/dist/common/display/display-field-group.js.map +1 -0
  30. package/dist/common/display/display-field-group.mjs +89 -0
  31. package/dist/common/display/display-field-group.mjs.map +1 -0
  32. package/dist/common/display/display-field.d.ts +45 -0
  33. package/dist/common/display/display-field.d.ts.map +1 -0
  34. package/dist/common/display/display-field.js +46 -0
  35. package/dist/common/display/display-field.js.map +1 -0
  36. package/dist/common/display/display-field.mjs +40 -0
  37. package/dist/common/display/display-field.mjs.map +1 -0
  38. package/dist/common/display/display-html-string.d.ts +7 -0
  39. package/dist/common/display/display-html-string.d.ts.map +1 -0
  40. package/dist/common/display/display-html-string.js +52 -0
  41. package/dist/common/display/display-html-string.js.map +1 -0
  42. package/dist/common/display/display-html-string.mjs +30 -0
  43. package/dist/common/display/display-html-string.mjs.map +1 -0
  44. package/dist/common/display/index.d.ts +16 -0
  45. package/dist/common/display/index.d.ts.map +1 -0
  46. package/dist/common/display/index.js +59 -0
  47. package/dist/common/display/index.js.map +1 -0
  48. package/dist/common/display/index.mjs +10 -0
  49. package/dist/common/display/index.mjs.map +1 -0
  50. package/dist/common/display/page-breadcrumb.d.ts +19 -0
  51. package/dist/common/display/page-breadcrumb.d.ts.map +1 -0
  52. package/dist/common/display/page-breadcrumb.js +43 -0
  53. package/dist/common/display/page-breadcrumb.js.map +1 -0
  54. package/dist/common/display/page-breadcrumb.mjs +37 -0
  55. package/dist/common/display/page-breadcrumb.mjs.map +1 -0
  56. package/dist/common/display/page-v2.d.ts +15 -0
  57. package/dist/common/display/page-v2.d.ts.map +1 -0
  58. package/dist/common/display/page-v2.js +58 -0
  59. package/dist/common/display/page-v2.js.map +1 -0
  60. package/dist/common/display/page-v2.mjs +20 -0
  61. package/dist/common/display/page-v2.mjs.map +1 -0
  62. package/dist/common/display/page.d.ts +53 -0
  63. package/dist/common/display/page.d.ts.map +1 -0
  64. package/dist/common/display/page.js +155 -0
  65. package/dist/common/display/page.js.map +1 -0
  66. package/dist/common/display/page.mjs +138 -0
  67. package/dist/common/display/page.mjs.map +1 -0
  68. package/dist/common/display/score-meter.d.ts +22 -0
  69. package/dist/common/display/score-meter.d.ts.map +1 -0
  70. package/dist/common/display/score-meter.js +161 -0
  71. package/dist/common/display/score-meter.js.map +1 -0
  72. package/dist/common/display/score-meter.mjs +140 -0
  73. package/dist/common/display/score-meter.mjs.map +1 -0
  74. package/dist/common/display/sidebar/app-sidebar.d.ts +28 -0
  75. package/dist/common/display/sidebar/app-sidebar.d.ts.map +1 -0
  76. package/dist/common/display/sidebar/app-sidebar.js +114 -0
  77. package/dist/common/display/sidebar/app-sidebar.js.map +1 -0
  78. package/dist/common/display/sidebar/app-sidebar.mjs +92 -0
  79. package/dist/common/display/sidebar/app-sidebar.mjs.map +1 -0
  80. package/dist/common/display/sidebar/index.d.ts +30 -0
  81. package/dist/common/display/sidebar/index.d.ts.map +1 -0
  82. package/dist/common/display/sidebar/index.js +89 -0
  83. package/dist/common/display/sidebar/index.js.map +1 -0
  84. package/dist/common/display/sidebar/index.mjs +81 -0
  85. package/dist/common/display/sidebar/index.mjs.map +1 -0
  86. package/dist/common/display/sidebar/nav-main.d.ts +17 -0
  87. package/dist/common/display/sidebar/nav-main.d.ts.map +1 -0
  88. package/dist/common/display/sidebar/nav-main.js +406 -0
  89. package/dist/common/display/sidebar/nav-main.js.map +1 -0
  90. package/dist/common/display/sidebar/nav-main.mjs +400 -0
  91. package/dist/common/display/sidebar/nav-main.mjs.map +1 -0
  92. package/dist/common/display/sidebar/sidebar-sheet.d.ts +46 -0
  93. package/dist/common/display/sidebar/sidebar-sheet.d.ts.map +1 -0
  94. package/dist/common/display/sidebar/sidebar-sheet.js +140 -0
  95. package/dist/common/display/sidebar/sidebar-sheet.js.map +1 -0
  96. package/dist/common/display/sidebar/sidebar-sheet.mjs +118 -0
  97. package/dist/common/display/sidebar/sidebar-sheet.mjs.map +1 -0
  98. package/dist/common/display/sidebar/types.d.ts +18 -0
  99. package/dist/common/display/sidebar/types.d.ts.map +1 -0
  100. package/dist/common/display/sidebar/types.js +4 -0
  101. package/dist/common/display/sidebar/types.js.map +1 -0
  102. package/dist/common/display/sidebar/types.mjs +3 -0
  103. package/dist/common/display/sidebar/types.mjs.map +1 -0
  104. package/dist/common/display/status-state.d.ts +16 -0
  105. package/dist/common/display/status-state.d.ts.map +1 -0
  106. package/dist/common/display/status-state.js +97 -0
  107. package/dist/common/display/status-state.js.map +1 -0
  108. package/dist/common/display/status-state.mjs +88 -0
  109. package/dist/common/display/status-state.mjs.map +1 -0
  110. package/dist/common/forms/auto-form.d.ts +17 -0
  111. package/dist/common/forms/auto-form.d.ts.map +1 -0
  112. package/dist/common/forms/auto-form.js +101 -0
  113. package/dist/common/forms/auto-form.js.map +1 -0
  114. package/dist/common/forms/auto-form.mjs +78 -0
  115. package/dist/common/forms/auto-form.mjs.map +1 -0
  116. package/dist/common/forms/form-field.d.ts +16 -0
  117. package/dist/common/forms/form-field.d.ts.map +1 -0
  118. package/dist/common/forms/form-field.js +58 -0
  119. package/dist/common/forms/form-field.js.map +1 -0
  120. package/dist/common/forms/form-field.mjs +56 -0
  121. package/dist/common/forms/form-field.mjs.map +1 -0
  122. package/dist/common/forms/form-input-field.d.ts +16 -0
  123. package/dist/common/forms/form-input-field.d.ts.map +1 -0
  124. package/dist/common/forms/form-input-field.js +64 -0
  125. package/dist/common/forms/form-input-field.js.map +1 -0
  126. package/dist/common/forms/form-input-field.mjs +62 -0
  127. package/dist/common/forms/form-input-field.mjs.map +1 -0
  128. package/dist/common/forms/index.d.ts +7 -0
  129. package/dist/common/forms/index.d.ts.map +1 -0
  130. package/dist/common/forms/index.js +22 -0
  131. package/dist/common/forms/index.js.map +1 -0
  132. package/dist/common/forms/index.mjs +5 -0
  133. package/dist/common/forms/index.mjs.map +1 -0
  134. package/dist/common/forms/switch-field.d.ts +19 -0
  135. package/dist/common/forms/switch-field.d.ts.map +1 -0
  136. package/dist/common/forms/switch-field.js +106 -0
  137. package/dist/common/forms/switch-field.js.map +1 -0
  138. package/dist/common/forms/switch-field.mjs +104 -0
  139. package/dist/common/forms/switch-field.mjs.map +1 -0
  140. package/dist/common/interactive/alert-dialog-wrapper.d.ts +41 -0
  141. package/dist/common/interactive/alert-dialog-wrapper.d.ts.map +1 -0
  142. package/dist/common/interactive/alert-dialog-wrapper.js +141 -0
  143. package/dist/common/interactive/alert-dialog-wrapper.js.map +1 -0
  144. package/dist/common/interactive/alert-dialog-wrapper.mjs +119 -0
  145. package/dist/common/interactive/alert-dialog-wrapper.mjs.map +1 -0
  146. package/dist/common/interactive/autocomplete.d.ts +21 -0
  147. package/dist/common/interactive/autocomplete.d.ts.map +1 -0
  148. package/dist/common/interactive/autocomplete.js +178 -0
  149. package/dist/common/interactive/autocomplete.js.map +1 -0
  150. package/dist/common/interactive/autocomplete.mjs +157 -0
  151. package/dist/common/interactive/autocomplete.mjs.map +1 -0
  152. package/dist/common/interactive/copy-tooltip.d.ts +27 -0
  153. package/dist/common/interactive/copy-tooltip.d.ts.map +1 -0
  154. package/dist/common/interactive/copy-tooltip.js +152 -0
  155. package/dist/common/interactive/copy-tooltip.js.map +1 -0
  156. package/dist/common/interactive/copy-tooltip.mjs +143 -0
  157. package/dist/common/interactive/copy-tooltip.mjs.map +1 -0
  158. package/dist/common/interactive/date-field.d.ts +98 -0
  159. package/dist/common/interactive/date-field.d.ts.map +1 -0
  160. package/dist/common/interactive/date-field.js +303 -0
  161. package/dist/common/interactive/date-field.js.map +1 -0
  162. package/dist/common/interactive/date-field.mjs +281 -0
  163. package/dist/common/interactive/date-field.mjs.map +1 -0
  164. package/dist/common/interactive/date-input/date-input.d.ts +12 -0
  165. package/dist/common/interactive/date-input/date-input.d.ts.map +1 -0
  166. package/dist/common/interactive/date-input/date-input.js +68 -0
  167. package/dist/common/interactive/date-input/date-input.js.map +1 -0
  168. package/dist/common/interactive/date-input/date-input.mjs +62 -0
  169. package/dist/common/interactive/date-input/date-input.mjs.map +1 -0
  170. package/dist/common/interactive/date-input/index.d.ts +4 -0
  171. package/dist/common/interactive/date-input/index.d.ts.map +1 -0
  172. package/dist/common/interactive/date-input/index.js +17 -0
  173. package/dist/common/interactive/date-input/index.js.map +1 -0
  174. package/dist/common/interactive/date-input/index.mjs +4 -0
  175. package/dist/common/interactive/date-input/index.mjs.map +1 -0
  176. package/dist/common/interactive/date-input/types.d.ts +17 -0
  177. package/dist/common/interactive/date-input/types.d.ts.map +1 -0
  178. package/dist/common/interactive/date-input/types.js +4 -0
  179. package/dist/common/interactive/date-input/types.js.map +1 -0
  180. package/dist/common/interactive/date-input/types.mjs +3 -0
  181. package/dist/common/interactive/date-input/types.mjs.map +1 -0
  182. package/dist/common/interactive/date-input/use-typed-date.d.ts +17 -0
  183. package/dist/common/interactive/date-input/use-typed-date.d.ts.map +1 -0
  184. package/dist/common/interactive/date-input/use-typed-date.js +478 -0
  185. package/dist/common/interactive/date-input/use-typed-date.js.map +1 -0
  186. package/dist/common/interactive/date-input/use-typed-date.mjs +476 -0
  187. package/dist/common/interactive/date-input/use-typed-date.mjs.map +1 -0
  188. package/dist/common/interactive/date-input/utils.d.ts +5 -0
  189. package/dist/common/interactive/date-input/utils.d.ts.map +1 -0
  190. package/dist/common/interactive/date-input/utils.js +34 -0
  191. package/dist/common/interactive/date-input/utils.js.map +1 -0
  192. package/dist/common/interactive/date-input/utils.mjs +29 -0
  193. package/dist/common/interactive/date-input/utils.mjs.map +1 -0
  194. package/dist/common/interactive/date-picker.d.ts +114 -0
  195. package/dist/common/interactive/date-picker.d.ts.map +1 -0
  196. package/dist/common/interactive/date-picker.js +616 -0
  197. package/dist/common/interactive/date-picker.js.map +1 -0
  198. package/dist/common/interactive/date-picker.mjs +594 -0
  199. package/dist/common/interactive/date-picker.mjs.map +1 -0
  200. package/dist/common/interactive/date-range-input/date-range-input.d.ts +23 -0
  201. package/dist/common/interactive/date-range-input/date-range-input.d.ts.map +1 -0
  202. package/dist/common/interactive/date-range-input/date-range-input.js +82 -0
  203. package/dist/common/interactive/date-range-input/date-range-input.js.map +1 -0
  204. package/dist/common/interactive/date-range-input/date-range-input.mjs +76 -0
  205. package/dist/common/interactive/date-range-input/date-range-input.mjs.map +1 -0
  206. package/dist/common/interactive/date-range-input/index.d.ts +4 -0
  207. package/dist/common/interactive/date-range-input/index.d.ts.map +1 -0
  208. package/dist/common/interactive/date-range-input/index.js +12 -0
  209. package/dist/common/interactive/date-range-input/index.js.map +1 -0
  210. package/dist/common/interactive/date-range-input/index.mjs +3 -0
  211. package/dist/common/interactive/date-range-input/index.mjs.map +1 -0
  212. package/dist/common/interactive/date-range-input/types.d.ts +35 -0
  213. package/dist/common/interactive/date-range-input/types.d.ts.map +1 -0
  214. package/dist/common/interactive/date-range-input/types.js +4 -0
  215. package/dist/common/interactive/date-range-input/types.js.map +1 -0
  216. package/dist/common/interactive/date-range-input/types.mjs +3 -0
  217. package/dist/common/interactive/date-range-input/types.mjs.map +1 -0
  218. package/dist/common/interactive/date-range-input/use-typed-date-range.d.ts +17 -0
  219. package/dist/common/interactive/date-range-input/use-typed-date-range.d.ts.map +1 -0
  220. package/dist/common/interactive/date-range-input/use-typed-date-range.js +602 -0
  221. package/dist/common/interactive/date-range-input/use-typed-date-range.js.map +1 -0
  222. package/dist/common/interactive/date-range-input/use-typed-date-range.mjs +600 -0
  223. package/dist/common/interactive/date-range-input/use-typed-date-range.mjs.map +1 -0
  224. package/dist/common/interactive/date-time-picker.d.ts +86 -0
  225. package/dist/common/interactive/date-time-picker.d.ts.map +1 -0
  226. package/dist/common/interactive/date-time-picker.js +215 -0
  227. package/dist/common/interactive/date-time-picker.js.map +1 -0
  228. package/dist/common/interactive/date-time-picker.mjs +213 -0
  229. package/dist/common/interactive/date-time-picker.mjs.map +1 -0
  230. package/dist/common/interactive/dialog-wrapper.d.ts +34 -0
  231. package/dist/common/interactive/dialog-wrapper.d.ts.map +1 -0
  232. package/dist/common/interactive/dialog-wrapper.js +124 -0
  233. package/dist/common/interactive/dialog-wrapper.js.map +1 -0
  234. package/dist/common/interactive/dialog-wrapper.mjs +102 -0
  235. package/dist/common/interactive/dialog-wrapper.mjs.map +1 -0
  236. package/dist/common/interactive/filter.d.ts +51 -0
  237. package/dist/common/interactive/filter.d.ts.map +1 -0
  238. package/dist/common/interactive/filter.js +287 -0
  239. package/dist/common/interactive/filter.js.map +1 -0
  240. package/dist/common/interactive/filter.mjs +280 -0
  241. package/dist/common/interactive/filter.mjs.map +1 -0
  242. package/dist/common/interactive/index.d.ts +41 -0
  243. package/dist/common/interactive/index.d.ts.map +1 -0
  244. package/dist/common/interactive/index.js +235 -0
  245. package/dist/common/interactive/index.js.map +1 -0
  246. package/dist/common/interactive/index.mjs +24 -0
  247. package/dist/common/interactive/index.mjs.map +1 -0
  248. package/dist/common/interactive/list.d.ts +36 -0
  249. package/dist/common/interactive/list.d.ts.map +1 -0
  250. package/dist/common/interactive/list.js +160 -0
  251. package/dist/common/interactive/list.js.map +1 -0
  252. package/dist/common/interactive/list.mjs +134 -0
  253. package/dist/common/interactive/list.mjs.map +1 -0
  254. package/dist/common/interactive/otp-dialog/index.d.ts +7 -0
  255. package/dist/common/interactive/otp-dialog/index.d.ts.map +1 -0
  256. package/dist/common/interactive/otp-dialog/index.js +35 -0
  257. package/dist/common/interactive/otp-dialog/index.js.map +1 -0
  258. package/dist/common/interactive/otp-dialog/index.mjs +6 -0
  259. package/dist/common/interactive/otp-dialog/index.mjs.map +1 -0
  260. package/dist/common/interactive/otp-dialog/otp-dialog.d.ts +34 -0
  261. package/dist/common/interactive/otp-dialog/otp-dialog.d.ts.map +1 -0
  262. package/dist/common/interactive/otp-dialog/otp-dialog.js +325 -0
  263. package/dist/common/interactive/otp-dialog/otp-dialog.js.map +1 -0
  264. package/dist/common/interactive/otp-dialog/otp-dialog.mjs +303 -0
  265. package/dist/common/interactive/otp-dialog/otp-dialog.mjs.map +1 -0
  266. package/dist/common/interactive/otp-dialog/reducer.d.ts +11 -0
  267. package/dist/common/interactive/otp-dialog/reducer.d.ts.map +1 -0
  268. package/dist/common/interactive/otp-dialog/reducer.js +40 -0
  269. package/dist/common/interactive/otp-dialog/reducer.js.map +1 -0
  270. package/dist/common/interactive/otp-dialog/reducer.mjs +37 -0
  271. package/dist/common/interactive/otp-dialog/reducer.mjs.map +1 -0
  272. package/dist/common/interactive/otp-dialog/types.d.ts +82 -0
  273. package/dist/common/interactive/otp-dialog/types.d.ts.map +1 -0
  274. package/dist/common/interactive/otp-dialog/types.js +15 -0
  275. package/dist/common/interactive/otp-dialog/types.js.map +1 -0
  276. package/dist/common/interactive/otp-dialog/types.mjs +13 -0
  277. package/dist/common/interactive/otp-dialog/types.mjs.map +1 -0
  278. package/dist/common/interactive/otp-dialog/utils.d.ts +17 -0
  279. package/dist/common/interactive/otp-dialog/utils.d.ts.map +1 -0
  280. package/dist/common/interactive/otp-dialog/utils.js +24 -0
  281. package/dist/common/interactive/otp-dialog/utils.js.map +1 -0
  282. package/dist/common/interactive/otp-dialog/utils.mjs +21 -0
  283. package/dist/common/interactive/otp-dialog/utils.mjs.map +1 -0
  284. package/dist/common/interactive/pagination/PaginationSkeleton.d.ts +6 -0
  285. package/dist/common/interactive/pagination/PaginationSkeleton.d.ts.map +1 -0
  286. package/dist/common/interactive/pagination/PaginationSkeleton.js +51 -0
  287. package/dist/common/interactive/pagination/PaginationSkeleton.js.map +1 -0
  288. package/dist/common/interactive/pagination/PaginationSkeleton.mjs +49 -0
  289. package/dist/common/interactive/pagination/PaginationSkeleton.mjs.map +1 -0
  290. package/dist/common/interactive/pagination/index.d.ts +14 -0
  291. package/dist/common/interactive/pagination/index.d.ts.map +1 -0
  292. package/dist/common/interactive/pagination/index.js +235 -0
  293. package/dist/common/interactive/pagination/index.js.map +1 -0
  294. package/dist/common/interactive/pagination/index.mjs +223 -0
  295. package/dist/common/interactive/pagination/index.mjs.map +1 -0
  296. package/dist/common/interactive/pagination/usePagination.d.ts +3 -0
  297. package/dist/common/interactive/pagination/usePagination.d.ts.map +1 -0
  298. package/dist/common/interactive/pagination/usePagination.js +28 -0
  299. package/dist/common/interactive/pagination/usePagination.js.map +1 -0
  300. package/dist/common/interactive/pagination/usePagination.mjs +25 -0
  301. package/dist/common/interactive/pagination/usePagination.mjs.map +1 -0
  302. package/dist/common/interactive/popover-wrapper.d.ts +38 -0
  303. package/dist/common/interactive/popover-wrapper.d.ts.map +1 -0
  304. package/dist/common/interactive/popover-wrapper.js +138 -0
  305. package/dist/common/interactive/popover-wrapper.js.map +1 -0
  306. package/dist/common/interactive/popover-wrapper.mjs +116 -0
  307. package/dist/common/interactive/popover-wrapper.mjs.map +1 -0
  308. package/dist/common/interactive/pressable.d.ts +11 -0
  309. package/dist/common/interactive/pressable.d.ts.map +1 -0
  310. package/dist/common/interactive/pressable.js +84 -0
  311. package/dist/common/interactive/pressable.js.map +1 -0
  312. package/dist/common/interactive/pressable.mjs +62 -0
  313. package/dist/common/interactive/pressable.mjs.map +1 -0
  314. package/dist/common/interactive/select/context.d.ts +6 -0
  315. package/dist/common/interactive/select/context.d.ts.map +1 -0
  316. package/dist/common/interactive/select/context.js +38 -0
  317. package/dist/common/interactive/select/context.js.map +1 -0
  318. package/dist/common/interactive/select/context.mjs +14 -0
  319. package/dist/common/interactive/select/context.mjs.map +1 -0
  320. package/dist/common/interactive/select/index.d.ts +18 -0
  321. package/dist/common/interactive/select/index.d.ts.map +1 -0
  322. package/dist/common/interactive/select/index.js +123 -0
  323. package/dist/common/interactive/select/index.js.map +1 -0
  324. package/dist/common/interactive/select/index.mjs +18 -0
  325. package/dist/common/interactive/select/index.mjs.map +1 -0
  326. package/dist/common/interactive/select/select-body.d.ts +5 -0
  327. package/dist/common/interactive/select/select-body.d.ts.map +1 -0
  328. package/dist/common/interactive/select/select-body.js +89 -0
  329. package/dist/common/interactive/select/select-body.js.map +1 -0
  330. package/dist/common/interactive/select/select-body.mjs +67 -0
  331. package/dist/common/interactive/select/select-body.mjs.map +1 -0
  332. package/dist/common/interactive/select/select-close.d.ts +3 -0
  333. package/dist/common/interactive/select/select-close.d.ts.map +1 -0
  334. package/dist/common/interactive/select/select-close.js +38 -0
  335. package/dist/common/interactive/select/select-close.js.map +1 -0
  336. package/dist/common/interactive/select/select-close.mjs +16 -0
  337. package/dist/common/interactive/select/select-close.mjs.map +1 -0
  338. package/dist/common/interactive/select/select-content-auto-layout.d.ts +5 -0
  339. package/dist/common/interactive/select/select-content-auto-layout.d.ts.map +1 -0
  340. package/dist/common/interactive/select/select-content-auto-layout.js +221 -0
  341. package/dist/common/interactive/select/select-content-auto-layout.js.map +1 -0
  342. package/dist/common/interactive/select/select-content-auto-layout.mjs +199 -0
  343. package/dist/common/interactive/select/select-content-auto-layout.mjs.map +1 -0
  344. package/dist/common/interactive/select/select-content-group-auto-layout.d.ts +5 -0
  345. package/dist/common/interactive/select/select-content-group-auto-layout.d.ts.map +1 -0
  346. package/dist/common/interactive/select/select-content-group-auto-layout.js +411 -0
  347. package/dist/common/interactive/select/select-content-group-auto-layout.js.map +1 -0
  348. package/dist/common/interactive/select/select-content-group-auto-layout.mjs +389 -0
  349. package/dist/common/interactive/select/select-content-group-auto-layout.mjs.map +1 -0
  350. package/dist/common/interactive/select/select-content.d.ts +5 -0
  351. package/dist/common/interactive/select/select-content.d.ts.map +1 -0
  352. package/dist/common/interactive/select/select-content.js +187 -0
  353. package/dist/common/interactive/select/select-content.js.map +1 -0
  354. package/dist/common/interactive/select/select-content.mjs +165 -0
  355. package/dist/common/interactive/select/select-content.mjs.map +1 -0
  356. package/dist/common/interactive/select/select-footer.d.ts +5 -0
  357. package/dist/common/interactive/select/select-footer.d.ts.map +1 -0
  358. package/dist/common/interactive/select/select-footer.js +82 -0
  359. package/dist/common/interactive/select/select-footer.js.map +1 -0
  360. package/dist/common/interactive/select/select-footer.mjs +60 -0
  361. package/dist/common/interactive/select/select-footer.mjs.map +1 -0
  362. package/dist/common/interactive/select/select-item.d.ts +6 -0
  363. package/dist/common/interactive/select/select-item.d.ts.map +1 -0
  364. package/dist/common/interactive/select/select-item.js +214 -0
  365. package/dist/common/interactive/select/select-item.js.map +1 -0
  366. package/dist/common/interactive/select/select-item.mjs +191 -0
  367. package/dist/common/interactive/select/select-item.mjs.map +1 -0
  368. package/dist/common/interactive/select/select-layout.d.ts +8 -0
  369. package/dist/common/interactive/select/select-layout.d.ts.map +1 -0
  370. package/dist/common/interactive/select/select-layout.js +66 -0
  371. package/dist/common/interactive/select/select-layout.js.map +1 -0
  372. package/dist/common/interactive/select/select-layout.mjs +41 -0
  373. package/dist/common/interactive/select/select-layout.mjs.map +1 -0
  374. package/dist/common/interactive/select/select-search.d.ts +8 -0
  375. package/dist/common/interactive/select/select-search.d.ts.map +1 -0
  376. package/dist/common/interactive/select/select-search.js +55 -0
  377. package/dist/common/interactive/select/select-search.js.map +1 -0
  378. package/dist/common/interactive/select/select-search.mjs +33 -0
  379. package/dist/common/interactive/select/select-search.mjs.map +1 -0
  380. package/dist/common/interactive/select/select-states.d.ts +6 -0
  381. package/dist/common/interactive/select/select-states.d.ts.map +1 -0
  382. package/dist/common/interactive/select/select-states.js +57 -0
  383. package/dist/common/interactive/select/select-states.js.map +1 -0
  384. package/dist/common/interactive/select/select-states.mjs +34 -0
  385. package/dist/common/interactive/select/select-states.mjs.map +1 -0
  386. package/dist/common/interactive/select/select-trigger.d.ts +7 -0
  387. package/dist/common/interactive/select/select-trigger.d.ts.map +1 -0
  388. package/dist/common/interactive/select/select-trigger.js +310 -0
  389. package/dist/common/interactive/select/select-trigger.js.map +1 -0
  390. package/dist/common/interactive/select/select-trigger.mjs +286 -0
  391. package/dist/common/interactive/select/select-trigger.mjs.map +1 -0
  392. package/dist/common/interactive/select/select-value.d.ts +5 -0
  393. package/dist/common/interactive/select/select-value.d.ts.map +1 -0
  394. package/dist/common/interactive/select/select-value.js +52 -0
  395. package/dist/common/interactive/select/select-value.js.map +1 -0
  396. package/dist/common/interactive/select/select-value.mjs +30 -0
  397. package/dist/common/interactive/select/select-value.mjs.map +1 -0
  398. package/dist/common/interactive/select/select.css +62 -0
  399. package/dist/common/interactive/select/select.d.ts +4 -0
  400. package/dist/common/interactive/select/select.d.ts.map +1 -0
  401. package/dist/common/interactive/select/select.js +184 -0
  402. package/dist/common/interactive/select/select.js.map +1 -0
  403. package/dist/common/interactive/select/select.mjs +162 -0
  404. package/dist/common/interactive/select/select.mjs.map +1 -0
  405. package/dist/common/interactive/select/types.d.ts +213 -0
  406. package/dist/common/interactive/select/types.d.ts.map +1 -0
  407. package/dist/common/interactive/select/types.js +4 -0
  408. package/dist/common/interactive/select/types.js.map +1 -0
  409. package/dist/common/interactive/select/types.mjs +3 -0
  410. package/dist/common/interactive/select/types.mjs.map +1 -0
  411. package/dist/common/interactive/select/utils.d.ts +8 -0
  412. package/dist/common/interactive/select/utils.d.ts.map +1 -0
  413. package/dist/common/interactive/select/utils.js +31 -0
  414. package/dist/common/interactive/select/utils.js.map +1 -0
  415. package/dist/common/interactive/select/utils.mjs +28 -0
  416. package/dist/common/interactive/select/utils.mjs.map +1 -0
  417. package/dist/common/interactive/select/variants.d.ts +4 -0
  418. package/dist/common/interactive/select/variants.d.ts.map +1 -0
  419. package/dist/common/interactive/select/variants.js +27 -0
  420. package/dist/common/interactive/select/variants.js.map +1 -0
  421. package/dist/common/interactive/select/variants.mjs +25 -0
  422. package/dist/common/interactive/select/variants.mjs.map +1 -0
  423. package/dist/common/interactive/select-chip.d.ts +20 -0
  424. package/dist/common/interactive/select-chip.d.ts.map +1 -0
  425. package/dist/common/interactive/select-chip.js +76 -0
  426. package/dist/common/interactive/select-chip.js.map +1 -0
  427. package/dist/common/interactive/select-chip.mjs +74 -0
  428. package/dist/common/interactive/select-chip.mjs.map +1 -0
  429. package/dist/common/interactive/select-level.d.ts +19 -0
  430. package/dist/common/interactive/select-level.d.ts.map +1 -0
  431. package/dist/common/interactive/select-level.js +236 -0
  432. package/dist/common/interactive/select-level.js.map +1 -0
  433. package/dist/common/interactive/select-level.mjs +230 -0
  434. package/dist/common/interactive/select-level.mjs.map +1 -0
  435. package/dist/common/interactive/select-range.d.ts +30 -0
  436. package/dist/common/interactive/select-range.d.ts.map +1 -0
  437. package/dist/common/interactive/select-range.js +211 -0
  438. package/dist/common/interactive/select-range.js.map +1 -0
  439. package/dist/common/interactive/select-range.mjs +209 -0
  440. package/dist/common/interactive/select-range.mjs.map +1 -0
  441. package/dist/common/interactive/select-with-api.d.ts +97 -0
  442. package/dist/common/interactive/select-with-api.d.ts.map +1 -0
  443. package/dist/common/interactive/select-with-api.js +767 -0
  444. package/dist/common/interactive/select-with-api.js.map +1 -0
  445. package/dist/common/interactive/select-with-api.mjs +758 -0
  446. package/dist/common/interactive/select-with-api.mjs.map +1 -0
  447. package/dist/common/interactive/select.d.ts +3 -0
  448. package/dist/common/interactive/select.d.ts.map +1 -0
  449. package/dist/common/interactive/select.js +15 -0
  450. package/dist/common/interactive/select.js.map +1 -0
  451. package/dist/common/interactive/select.mjs +4 -0
  452. package/dist/common/interactive/select.mjs.map +1 -0
  453. package/dist/common/interactive/sheet-wrapper.d.ts +34 -0
  454. package/dist/common/interactive/sheet-wrapper.d.ts.map +1 -0
  455. package/dist/common/interactive/sheet-wrapper.js +105 -0
  456. package/dist/common/interactive/sheet-wrapper.js.map +1 -0
  457. package/dist/common/interactive/sheet-wrapper.mjs +83 -0
  458. package/dist/common/interactive/sheet-wrapper.mjs.map +1 -0
  459. package/dist/common/interactive/table/enhanced-table.d.ts +5 -0
  460. package/dist/common/interactive/table/enhanced-table.d.ts.map +1 -0
  461. package/dist/common/interactive/table/enhanced-table.js +390 -0
  462. package/dist/common/interactive/table/enhanced-table.js.map +1 -0
  463. package/dist/common/interactive/table/enhanced-table.mjs +388 -0
  464. package/dist/common/interactive/table/enhanced-table.mjs.map +1 -0
  465. package/dist/common/interactive/table/index.d.ts +10 -0
  466. package/dist/common/interactive/table/index.d.ts.map +1 -0
  467. package/dist/common/interactive/table/index.js +83 -0
  468. package/dist/common/interactive/table/index.js.map +1 -0
  469. package/dist/common/interactive/table/index.mjs +68 -0
  470. package/dist/common/interactive/table/index.mjs.map +1 -0
  471. package/dist/common/interactive/table/table-pagination.d.ts +5 -0
  472. package/dist/common/interactive/table/table-pagination.d.ts.map +1 -0
  473. package/dist/common/interactive/table/table-pagination.js +12 -0
  474. package/dist/common/interactive/table/table-pagination.js.map +1 -0
  475. package/dist/common/interactive/table/table-pagination.mjs +10 -0
  476. package/dist/common/interactive/table/table-pagination.mjs.map +1 -0
  477. package/dist/common/interactive/table/types.d.ts +54 -0
  478. package/dist/common/interactive/table/types.d.ts.map +1 -0
  479. package/dist/common/interactive/table/types.js +4 -0
  480. package/dist/common/interactive/table/types.js.map +1 -0
  481. package/dist/common/interactive/table/types.mjs +3 -0
  482. package/dist/common/interactive/table/types.mjs.map +1 -0
  483. package/dist/common/interactive/time-picker.d.ts +74 -0
  484. package/dist/common/interactive/time-picker.d.ts.map +1 -0
  485. package/dist/common/interactive/time-picker.js +313 -0
  486. package/dist/common/interactive/time-picker.js.map +1 -0
  487. package/dist/common/interactive/time-picker.mjs +307 -0
  488. package/dist/common/interactive/time-picker.mjs.map +1 -0
  489. package/dist/common/interactive/types.d.ts +2 -0
  490. package/dist/common/interactive/types.d.ts.map +1 -0
  491. package/dist/common/interactive/types.js +4 -0
  492. package/dist/common/interactive/types.js.map +1 -0
  493. package/dist/common/interactive/types.mjs +3 -0
  494. package/dist/common/interactive/types.mjs.map +1 -0
  495. package/dist/common/pages/page-404.d.ts +3 -0
  496. package/dist/common/pages/page-404.d.ts.map +1 -0
  497. package/dist/common/pages/page-404.js +16 -0
  498. package/dist/common/pages/page-404.js.map +1 -0
  499. package/dist/common/pages/page-404.mjs +11 -0
  500. package/dist/common/pages/page-404.mjs.map +1 -0
  501. package/dist/common/pages/page-500.d.ts +9 -0
  502. package/dist/common/pages/page-500.d.ts.map +1 -0
  503. package/dist/common/pages/page-500.js +30 -0
  504. package/dist/common/pages/page-500.js.map +1 -0
  505. package/dist/common/pages/page-500.mjs +25 -0
  506. package/dist/common/pages/page-500.mjs.map +1 -0
  507. package/dist/components/accordion.d.ts +8 -0
  508. package/dist/components/accordion.d.ts.map +1 -0
  509. package/dist/components/accordion.js +65 -0
  510. package/dist/components/accordion.js.map +1 -0
  511. package/dist/components/accordion.mjs +39 -0
  512. package/dist/components/accordion.mjs.map +1 -0
  513. package/dist/components/alert-dialog.d.ts +33 -0
  514. package/dist/components/alert-dialog.d.ts.map +1 -0
  515. package/dist/components/alert-dialog.js +231 -0
  516. package/dist/components/alert-dialog.js.map +1 -0
  517. package/dist/components/alert-dialog.mjs +197 -0
  518. package/dist/components/alert-dialog.mjs.map +1 -0
  519. package/dist/components/alert.d.ts +13 -0
  520. package/dist/components/alert.d.ts.map +1 -0
  521. package/dist/components/alert.js +97 -0
  522. package/dist/components/alert.js.map +1 -0
  523. package/dist/components/alert.mjs +72 -0
  524. package/dist/components/alert.mjs.map +1 -0
  525. package/dist/components/aspect-ratio.d.ts +4 -0
  526. package/dist/components/aspect-ratio.d.ts.map +1 -0
  527. package/dist/components/aspect-ratio.js +29 -0
  528. package/dist/components/aspect-ratio.js.map +1 -0
  529. package/dist/components/aspect-ratio.mjs +7 -0
  530. package/dist/components/aspect-ratio.mjs.map +1 -0
  531. package/dist/components/avatar.d.ts +7 -0
  532. package/dist/components/avatar.d.ts.map +1 -0
  533. package/dist/components/avatar.js +64 -0
  534. package/dist/components/avatar.js.map +1 -0
  535. package/dist/components/avatar.mjs +39 -0
  536. package/dist/components/avatar.mjs.map +1 -0
  537. package/dist/components/badge.d.ts +12 -0
  538. package/dist/components/badge.d.ts.map +1 -0
  539. package/dist/components/badge.js +72 -0
  540. package/dist/components/badge.js.map +1 -0
  541. package/dist/components/badge.mjs +69 -0
  542. package/dist/components/badge.mjs.map +1 -0
  543. package/dist/components/breadcrumb.d.ts +20 -0
  544. package/dist/components/breadcrumb.d.ts.map +1 -0
  545. package/dist/components/breadcrumb.js +109 -0
  546. package/dist/components/breadcrumb.js.map +1 -0
  547. package/dist/components/breadcrumb.mjs +81 -0
  548. package/dist/components/breadcrumb.mjs.map +1 -0
  549. package/dist/components/button.d.ts +28 -0
  550. package/dist/components/button.d.ts.map +1 -0
  551. package/dist/components/button.js +250 -0
  552. package/dist/components/button.js.map +1 -0
  553. package/dist/components/button.mjs +226 -0
  554. package/dist/components/button.mjs.map +1 -0
  555. package/dist/components/calendar.d.ts +57 -0
  556. package/dist/components/calendar.d.ts.map +1 -0
  557. package/dist/components/calendar.js +681 -0
  558. package/dist/components/calendar.js.map +1 -0
  559. package/dist/components/calendar.mjs +659 -0
  560. package/dist/components/calendar.mjs.map +1 -0
  561. package/dist/components/card.d.ts +12 -0
  562. package/dist/components/card.d.ts.map +1 -0
  563. package/dist/components/card.js +98 -0
  564. package/dist/components/card.js.map +1 -0
  565. package/dist/components/card.mjs +71 -0
  566. package/dist/components/card.mjs.map +1 -0
  567. package/dist/components/carousel.d.ts +23 -0
  568. package/dist/components/carousel.d.ts.map +1 -0
  569. package/dist/components/carousel.js +237 -0
  570. package/dist/components/carousel.js.map +1 -0
  571. package/dist/components/carousel.mjs +208 -0
  572. package/dist/components/carousel.mjs.map +1 -0
  573. package/dist/components/chart.d.ts +63 -0
  574. package/dist/components/chart.d.ts.map +1 -0
  575. package/dist/components/chart.js +252 -0
  576. package/dist/components/chart.js.map +1 -0
  577. package/dist/components/chart.mjs +224 -0
  578. package/dist/components/chart.mjs.map +1 -0
  579. package/dist/components/checkbox.d.ts +18 -0
  580. package/dist/components/checkbox.d.ts.map +1 -0
  581. package/dist/components/checkbox.js +97 -0
  582. package/dist/components/checkbox.js.map +1 -0
  583. package/dist/components/checkbox.mjs +74 -0
  584. package/dist/components/checkbox.mjs.map +1 -0
  585. package/dist/components/chip.d.ts +30 -0
  586. package/dist/components/chip.d.ts.map +1 -0
  587. package/dist/components/chip.js +88 -0
  588. package/dist/components/chip.js.map +1 -0
  589. package/dist/components/chip.mjs +82 -0
  590. package/dist/components/chip.mjs.map +1 -0
  591. package/dist/components/collapsible.d.ts +6 -0
  592. package/dist/components/collapsible.d.ts.map +1 -0
  593. package/dist/components/collapsible.js +33 -0
  594. package/dist/components/collapsible.js.map +1 -0
  595. package/dist/components/collapsible.mjs +9 -0
  596. package/dist/components/collapsible.mjs.map +1 -0
  597. package/dist/components/command.d.ts +81 -0
  598. package/dist/components/command.d.ts.map +1 -0
  599. package/dist/components/command.js +125 -0
  600. package/dist/components/command.js.map +1 -0
  601. package/dist/components/command.mjs +95 -0
  602. package/dist/components/command.mjs.map +1 -0
  603. package/dist/components/context-menu.d.ts +28 -0
  604. package/dist/components/context-menu.d.ts.map +1 -0
  605. package/dist/components/context-menu.js +168 -0
  606. package/dist/components/context-menu.js.map +1 -0
  607. package/dist/components/context-menu.mjs +131 -0
  608. package/dist/components/context-menu.mjs.map +1 -0
  609. package/dist/components/dialog.d.ts +32 -0
  610. package/dist/components/dialog.d.ts.map +1 -0
  611. package/dist/components/dialog.js +192 -0
  612. package/dist/components/dialog.js.map +1 -0
  613. package/dist/components/dialog.mjs +159 -0
  614. package/dist/components/dialog.mjs.map +1 -0
  615. package/dist/components/drawer.d.ts +23 -0
  616. package/dist/components/drawer.d.ts.map +1 -0
  617. package/dist/components/drawer.js +98 -0
  618. package/dist/components/drawer.js.map +1 -0
  619. package/dist/components/drawer.mjs +67 -0
  620. package/dist/components/drawer.mjs.map +1 -0
  621. package/dist/components/dropdown-menu.d.ts +28 -0
  622. package/dist/components/dropdown-menu.d.ts.map +1 -0
  623. package/dist/components/dropdown-menu.js +163 -0
  624. package/dist/components/dropdown-menu.js.map +1 -0
  625. package/dist/components/dropdown-menu.mjs +126 -0
  626. package/dist/components/dropdown-menu.mjs.map +1 -0
  627. package/dist/components/form.d.ts +24 -0
  628. package/dist/components/form.d.ts.map +1 -0
  629. package/dist/components/form.js +123 -0
  630. package/dist/components/form.js.map +1 -0
  631. package/dist/components/form.mjs +94 -0
  632. package/dist/components/form.mjs.map +1 -0
  633. package/dist/components/hover-card.d.ts +7 -0
  634. package/dist/components/hover-card.d.ts.map +1 -0
  635. package/dist/components/hover-card.js +50 -0
  636. package/dist/components/hover-card.js.map +1 -0
  637. package/dist/components/hover-card.mjs +25 -0
  638. package/dist/components/hover-card.mjs.map +1 -0
  639. package/dist/components/input-otp.d.ts +39 -0
  640. package/dist/components/input-otp.d.ts.map +1 -0
  641. package/dist/components/input-otp.js +84 -0
  642. package/dist/components/input-otp.js.map +1 -0
  643. package/dist/components/input-otp.mjs +59 -0
  644. package/dist/components/input-otp.mjs.map +1 -0
  645. package/dist/components/input.d.ts +150 -0
  646. package/dist/components/input.d.ts.map +1 -0
  647. package/dist/components/input.js +858 -0
  648. package/dist/components/input.js.map +1 -0
  649. package/dist/components/input.mjs +831 -0
  650. package/dist/components/input.mjs.map +1 -0
  651. package/dist/components/label.d.ts +6 -0
  652. package/dist/components/label.d.ts.map +1 -0
  653. package/dist/components/label.js +38 -0
  654. package/dist/components/label.js.map +1 -0
  655. package/dist/components/label.mjs +15 -0
  656. package/dist/components/label.mjs.map +1 -0
  657. package/dist/components/lottie.d.ts +63 -0
  658. package/dist/components/lottie.d.ts.map +1 -0
  659. package/dist/components/lottie.js +59 -0
  660. package/dist/components/lottie.js.map +1 -0
  661. package/dist/components/lottie.mjs +49 -0
  662. package/dist/components/lottie.mjs.map +1 -0
  663. package/dist/components/menubar.d.ts +29 -0
  664. package/dist/components/menubar.d.ts.map +1 -0
  665. package/dist/components/menubar.js +195 -0
  666. package/dist/components/menubar.js.map +1 -0
  667. package/dist/components/menubar.mjs +157 -0
  668. package/dist/components/menubar.mjs.map +1 -0
  669. package/dist/components/navigation-menu.d.ts +13 -0
  670. package/dist/components/navigation-menu.d.ts.map +1 -0
  671. package/dist/components/navigation-menu.js +126 -0
  672. package/dist/components/navigation-menu.js.map +1 -0
  673. package/dist/components/navigation-menu.mjs +95 -0
  674. package/dist/components/navigation-menu.mjs.map +1 -0
  675. package/dist/components/pagination.d.ts +29 -0
  676. package/dist/components/pagination.d.ts.map +1 -0
  677. package/dist/components/pagination.js +112 -0
  678. package/dist/components/pagination.js.map +1 -0
  679. package/dist/components/pagination.mjs +84 -0
  680. package/dist/components/pagination.mjs.map +1 -0
  681. package/dist/components/popover.d.ts +7 -0
  682. package/dist/components/popover.d.ts.map +1 -0
  683. package/dist/components/popover.js +63 -0
  684. package/dist/components/popover.js.map +1 -0
  685. package/dist/components/popover.mjs +38 -0
  686. package/dist/components/popover.mjs.map +1 -0
  687. package/dist/components/progress.d.ts +7 -0
  688. package/dist/components/progress.d.ts.map +1 -0
  689. package/dist/components/progress.js +50 -0
  690. package/dist/components/progress.js.map +1 -0
  691. package/dist/components/progress.mjs +27 -0
  692. package/dist/components/progress.mjs.map +1 -0
  693. package/dist/components/radio-group.d.ts +17 -0
  694. package/dist/components/radio-group.d.ts.map +1 -0
  695. package/dist/components/radio-group.js +91 -0
  696. package/dist/components/radio-group.js.map +1 -0
  697. package/dist/components/radio-group.mjs +67 -0
  698. package/dist/components/radio-group.mjs.map +1 -0
  699. package/dist/components/resizable.d.ts +24 -0
  700. package/dist/components/resizable.d.ts.map +1 -0
  701. package/dist/components/resizable.js +59 -0
  702. package/dist/components/resizable.js.map +1 -0
  703. package/dist/components/resizable.mjs +35 -0
  704. package/dist/components/resizable.mjs.map +1 -0
  705. package/dist/components/responsive-popover.d.ts +25 -0
  706. package/dist/components/responsive-popover.d.ts.map +1 -0
  707. package/dist/components/responsive-popover.js +74 -0
  708. package/dist/components/responsive-popover.js.map +1 -0
  709. package/dist/components/responsive-popover.mjs +50 -0
  710. package/dist/components/responsive-popover.mjs.map +1 -0
  711. package/dist/components/scroll-area.d.ts +6 -0
  712. package/dist/components/scroll-area.d.ts.map +1 -0
  713. package/dist/components/scroll-area.js +63 -0
  714. package/dist/components/scroll-area.js.map +1 -0
  715. package/dist/components/scroll-area.mjs +39 -0
  716. package/dist/components/scroll-area.mjs.map +1 -0
  717. package/dist/components/separator.d.ts +5 -0
  718. package/dist/components/separator.d.ts.map +1 -0
  719. package/dist/components/separator.js +47 -0
  720. package/dist/components/separator.js.map +1 -0
  721. package/dist/components/separator.mjs +24 -0
  722. package/dist/components/separator.mjs.map +1 -0
  723. package/dist/components/sheet.d.ts +29 -0
  724. package/dist/components/sheet.d.ts.map +1 -0
  725. package/dist/components/sheet.js +239 -0
  726. package/dist/components/sheet.js.map +1 -0
  727. package/dist/components/sheet.mjs +206 -0
  728. package/dist/components/sheet.mjs.map +1 -0
  729. package/dist/components/sidebar.d.ts +87 -0
  730. package/dist/components/sidebar.d.ts.map +1 -0
  731. package/dist/components/sidebar.js +888 -0
  732. package/dist/components/sidebar.js.map +1 -0
  733. package/dist/components/sidebar.mjs +842 -0
  734. package/dist/components/sidebar.mjs.map +1 -0
  735. package/dist/components/skeleton.d.ts +36 -0
  736. package/dist/components/skeleton.d.ts.map +1 -0
  737. package/dist/components/skeleton.js +153 -0
  738. package/dist/components/skeleton.js.map +1 -0
  739. package/dist/components/skeleton.mjs +127 -0
  740. package/dist/components/skeleton.mjs.map +1 -0
  741. package/dist/components/slider.d.ts +5 -0
  742. package/dist/components/slider.d.ts.map +1 -0
  743. package/dist/components/slider.js +45 -0
  744. package/dist/components/slider.js.map +1 -0
  745. package/dist/components/slider.mjs +22 -0
  746. package/dist/components/slider.mjs.map +1 -0
  747. package/dist/components/sonner.d.ts +4 -0
  748. package/dist/components/sonner.d.ts.map +1 -0
  749. package/dist/components/sonner.js +76 -0
  750. package/dist/components/sonner.js.map +1 -0
  751. package/dist/components/sonner.mjs +71 -0
  752. package/dist/components/sonner.mjs.map +1 -0
  753. package/dist/components/spinner.d.ts +11 -0
  754. package/dist/components/spinner.d.ts.map +1 -0
  755. package/dist/components/spinner.js +59 -0
  756. package/dist/components/spinner.js.map +1 -0
  757. package/dist/components/spinner.mjs +36 -0
  758. package/dist/components/spinner.mjs.map +1 -0
  759. package/dist/components/stepper.d.ts +114 -0
  760. package/dist/components/stepper.d.ts.map +1 -0
  761. package/dist/components/stepper.js +726 -0
  762. package/dist/components/stepper.js.map +1 -0
  763. package/dist/components/stepper.mjs +702 -0
  764. package/dist/components/stepper.mjs.map +1 -0
  765. package/dist/components/switch.d.ts +16 -0
  766. package/dist/components/switch.d.ts.map +1 -0
  767. package/dist/components/switch.js +85 -0
  768. package/dist/components/switch.js.map +1 -0
  769. package/dist/components/switch.mjs +62 -0
  770. package/dist/components/switch.mjs.map +1 -0
  771. package/dist/components/table.d.ts +11 -0
  772. package/dist/components/table.d.ts.map +1 -0
  773. package/dist/components/table.js +91 -0
  774. package/dist/components/table.js.map +1 -0
  775. package/dist/components/table.mjs +62 -0
  776. package/dist/components/table.mjs.map +1 -0
  777. package/dist/components/tabs.d.ts +32 -0
  778. package/dist/components/tabs.d.ts.map +1 -0
  779. package/dist/components/tabs.js +287 -0
  780. package/dist/components/tabs.js.map +1 -0
  781. package/dist/components/tabs.mjs +261 -0
  782. package/dist/components/tabs.mjs.map +1 -0
  783. package/dist/components/textarea.d.ts +21 -0
  784. package/dist/components/textarea.d.ts.map +1 -0
  785. package/dist/components/textarea.js +200 -0
  786. package/dist/components/textarea.js.map +1 -0
  787. package/dist/components/textarea.mjs +174 -0
  788. package/dist/components/textarea.mjs.map +1 -0
  789. package/dist/components/toggle-group.d.ts +13 -0
  790. package/dist/components/toggle-group.d.ts.map +1 -0
  791. package/dist/components/toggle-group.js +67 -0
  792. package/dist/components/toggle-group.js.map +1 -0
  793. package/dist/components/toggle-group.mjs +43 -0
  794. package/dist/components/toggle-group.mjs.map +1 -0
  795. package/dist/components/toggle.d.ts +13 -0
  796. package/dist/components/toggle.d.ts.map +1 -0
  797. package/dist/components/toggle.js +63 -0
  798. package/dist/components/toggle.js.map +1 -0
  799. package/dist/components/toggle.mjs +39 -0
  800. package/dist/components/toggle.mjs.map +1 -0
  801. package/dist/components/tooltip.d.ts +31 -0
  802. package/dist/components/tooltip.d.ts.map +1 -0
  803. package/dist/components/tooltip.js +172 -0
  804. package/dist/components/tooltip.js.map +1 -0
  805. package/dist/components/tooltip.mjs +145 -0
  806. package/dist/components/tooltip.mjs.map +1 -0
  807. package/dist/globals.css +1179 -0
  808. package/dist/hooks/index.d.ts +6 -0
  809. package/dist/hooks/index.d.ts.map +1 -0
  810. package/dist/hooks/index.js +27 -0
  811. package/dist/hooks/index.js.map +1 -0
  812. package/dist/hooks/index.mjs +6 -0
  813. package/dist/hooks/index.mjs.map +1 -0
  814. package/dist/hooks/useCopyToClipboard.d.ts +26 -0
  815. package/dist/hooks/useCopyToClipboard.d.ts.map +1 -0
  816. package/dist/hooks/useCopyToClipboard.js +59 -0
  817. package/dist/hooks/useCopyToClipboard.js.map +1 -0
  818. package/dist/hooks/useCopyToClipboard.mjs +57 -0
  819. package/dist/hooks/useCopyToClipboard.mjs.map +1 -0
  820. package/dist/hooks/useDevice.d.ts +7 -0
  821. package/dist/hooks/useDevice.d.ts.map +1 -0
  822. package/dist/hooks/useDevice.js +20 -0
  823. package/dist/hooks/useDevice.js.map +1 -0
  824. package/dist/hooks/useDevice.mjs +14 -0
  825. package/dist/hooks/useDevice.mjs.map +1 -0
  826. package/dist/hooks/useDialogTracking.d.ts +17 -0
  827. package/dist/hooks/useDialogTracking.d.ts.map +1 -0
  828. package/dist/hooks/useDialogTracking.js +113 -0
  829. package/dist/hooks/useDialogTracking.js.map +1 -0
  830. package/dist/hooks/useDialogTracking.mjs +91 -0
  831. package/dist/hooks/useDialogTracking.mjs.map +1 -0
  832. package/dist/hooks/useIsMounted.d.ts +8 -0
  833. package/dist/hooks/useIsMounted.d.ts.map +1 -0
  834. package/dist/hooks/useIsMounted.js +15 -0
  835. package/dist/hooks/useIsMounted.js.map +1 -0
  836. package/dist/hooks/useIsMounted.mjs +13 -0
  837. package/dist/hooks/useIsMounted.mjs.map +1 -0
  838. package/dist/hooks/usePathname.d.ts +20 -0
  839. package/dist/hooks/usePathname.d.ts.map +1 -0
  840. package/dist/hooks/usePathname.js +85 -0
  841. package/dist/hooks/usePathname.js.map +1 -0
  842. package/dist/hooks/usePathname.mjs +83 -0
  843. package/dist/hooks/usePathname.mjs.map +1 -0
  844. package/dist/icons.d.ts +2 -0
  845. package/dist/icons.d.ts.map +1 -0
  846. package/dist/icons.js +14 -0
  847. package/dist/icons.js.map +1 -0
  848. package/dist/icons.mjs +3 -0
  849. package/dist/icons.mjs.map +1 -0
  850. package/dist/lib/formatCurrency.d.ts +106 -0
  851. package/dist/lib/formatCurrency.d.ts.map +1 -0
  852. package/dist/lib/formatCurrency.js +187 -0
  853. package/dist/lib/formatCurrency.js.map +1 -0
  854. package/dist/lib/formatCurrency.mjs +185 -0
  855. package/dist/lib/formatCurrency.mjs.map +1 -0
  856. package/dist/lib/helpers.d.ts +64 -0
  857. package/dist/lib/helpers.d.ts.map +1 -0
  858. package/dist/lib/helpers.js +171 -0
  859. package/dist/lib/helpers.js.map +1 -0
  860. package/dist/lib/helpers.mjs +157 -0
  861. package/dist/lib/helpers.mjs.map +1 -0
  862. package/dist/lib/index.d.ts +6 -0
  863. package/dist/lib/index.d.ts.map +1 -0
  864. package/dist/lib/index.js +33 -0
  865. package/dist/lib/index.js.map +1 -0
  866. package/dist/lib/index.mjs +6 -0
  867. package/dist/lib/index.mjs.map +1 -0
  868. package/dist/lib/types.d.ts +37 -0
  869. package/dist/lib/types.d.ts.map +1 -0
  870. package/dist/lib/types.js +11 -0
  871. package/dist/lib/types.js.map +1 -0
  872. package/dist/lib/types.mjs +9 -0
  873. package/dist/lib/types.mjs.map +1 -0
  874. package/dist/lib/utils.d.ts +4 -0
  875. package/dist/lib/utils.d.ts.map +1 -0
  876. package/dist/lib/utils.js +24 -0
  877. package/dist/lib/utils.js.map +1 -0
  878. package/dist/lib/utils.mjs +19 -0
  879. package/dist/lib/utils.mjs.map +1 -0
  880. package/dist/providers/DeviceSizeWatcher/index.d.ts +3 -0
  881. package/dist/providers/DeviceSizeWatcher/index.d.ts.map +1 -0
  882. package/dist/providers/DeviceSizeWatcher/index.js +72 -0
  883. package/dist/providers/DeviceSizeWatcher/index.js.map +1 -0
  884. package/dist/providers/DeviceSizeWatcher/index.mjs +47 -0
  885. package/dist/providers/DeviceSizeWatcher/index.mjs.map +1 -0
  886. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.d.ts +13 -0
  887. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.d.ts.map +1 -0
  888. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.js +22 -0
  889. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.js.map +1 -0
  890. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.mjs +20 -0
  891. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.mjs.map +1 -0
  892. package/dist/providers/UISystemProvider.d.ts +68 -0
  893. package/dist/providers/UISystemProvider.d.ts.map +1 -0
  894. package/dist/providers/UISystemProvider.js +197 -0
  895. package/dist/providers/UISystemProvider.js.map +1 -0
  896. package/dist/providers/UISystemProvider.mjs +188 -0
  897. package/dist/providers/UISystemProvider.mjs.map +1 -0
  898. package/dist/providers/index.d.ts +3 -0
  899. package/dist/providers/index.d.ts.map +1 -0
  900. package/dist/providers/index.js +24 -0
  901. package/dist/providers/index.js.map +1 -0
  902. package/dist/providers/index.mjs +3 -0
  903. package/dist/providers/index.mjs.map +1 -0
  904. package/dist/theme.d.ts +10 -0
  905. package/dist/theme.d.ts.map +1 -0
  906. package/dist/theme.js +333 -0
  907. package/dist/theme.js.map +1 -0
  908. package/dist/theme.mjs +327 -0
  909. package/dist/theme.mjs.map +1 -0
  910. package/package.json +252 -0
  911. package/postcss.config.mjs +6 -0
  912. package/tailwind.config.ts +350 -0
@@ -0,0 +1,199 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useDevice } from '@/hooks/useDevice';
3
+ import { TRACKING_TYPE } from '@/lib/types';
4
+ import { useUISystemContext } from '@/providers/UISystemProvider';
5
+ import { debounce } from '@/lib/helpers';
6
+ import * as React from 'react';
7
+ import { Virtuoso } from 'react-virtuoso';
8
+ import { SelectContent } from './select-content';
9
+ import { SelectSearch } from './select-search';
10
+ import { SelectList } from './select-layout';
11
+ import { SelectEmptyState } from './select-states';
12
+ import { SelectItem } from './select-item';
13
+ import { useSelectContext } from './context';
14
+ import { removeDiacritics } from './utils';
15
+
16
+ const defaultItemContentRenderer = ({ multiple, option }) => {
17
+ if (!option?.value) return null;
18
+ return /* @__PURE__ */ jsx(SelectItem, { multiple, option, disabled: option?.disable, children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
19
+ /* @__PURE__ */ jsx("div", { className: "text-foreground text-base", children: option?.name || option.value }),
20
+ option?.description && /* @__PURE__ */ jsx("div", { className: "text-muted-foreground mt-0.5 text-sm", children: option.description })
21
+ ] }) });
22
+ };
23
+ const ItemHeight = 48;
24
+ const ItemHeightWithDescription = 68;
25
+ const VirtualSoEmptyPlaceholder = React.forwardRef((_, ref) => {
26
+ return /* @__PURE__ */ jsx(SelectEmptyState, { ref });
27
+ });
28
+ VirtualSoEmptyPlaceholder.displayName = "VirtualSoEmptyPlaceholder";
29
+ const SelectContentAutoLayout = React.forwardRef(
30
+ ({
31
+ hasSearch: hasSearchProp,
32
+ autoSearch = true,
33
+ multiple,
34
+ options: optionsProps,
35
+ isLoading,
36
+ searchPlaceholder = "T\xECm ki\u1EBFm",
37
+ itemContentRenderer = defaultItemContentRenderer,
38
+ trackingSearchName,
39
+ trackingSearchData,
40
+ onSearchChange,
41
+ additionalContent,
42
+ closeAfterClear,
43
+ ...props
44
+ }, ref) => {
45
+ const { sendTrack } = useUISystemContext();
46
+ const { isDesktop } = useDevice();
47
+ const { setAvailableOptions } = useSelectContext();
48
+ React.useEffect(() => {
49
+ if (optionsProps && setAvailableOptions) {
50
+ setAvailableOptions(optionsProps);
51
+ }
52
+ }, [optionsProps, setAvailableOptions]);
53
+ const [options, setOptions] = React.useState(optionsProps || []);
54
+ const [searchKeyword, setSearchKeyword] = React.useState("");
55
+ const virtuosoRef = React.useRef(null);
56
+ const virtuosoScrollerRef = React.useRef();
57
+ const handleScrollerRef = React.useCallback((ref2) => {
58
+ virtuosoScrollerRef.current = ref2;
59
+ }, []);
60
+ const onSearchChangeInternal = React.useMemo(() => {
61
+ return debounce(async (value2) => {
62
+ const valueSearch = value2.trim();
63
+ if (onSearchChange) {
64
+ onSearchChange(valueSearch);
65
+ return;
66
+ }
67
+ if (!valueSearch) return setOptions(optionsProps);
68
+ const Fuse = (await import('fuse.js')).default;
69
+ const fuseOptions = new Fuse(optionsProps, {
70
+ keys: [
71
+ { name: "name", weight: 0.7 },
72
+ { name: "value", weight: 0.5 },
73
+ { name: "description", weight: 0.3 }
74
+ ],
75
+ threshold: 0.3,
76
+ includeScore: true,
77
+ ignoreLocation: true,
78
+ findAllMatches: true,
79
+ getFn: (obj, path) => {
80
+ const value3 = Fuse.config.getFn(obj, path);
81
+ if (typeof value3 === "string") {
82
+ return removeDiacritics(value3);
83
+ }
84
+ return value3;
85
+ }
86
+ });
87
+ const searchResults = fuseOptions.search(removeDiacritics(valueSearch));
88
+ const newOptions = searchResults.map((item) => item.item);
89
+ setOptions(newOptions);
90
+ !!trackingSearchName && sendTrack?.(trackingSearchName, TRACKING_TYPE.click, {
91
+ search_text: valueSearch,
92
+ search_result: !!newOptions?.length,
93
+ ...trackingSearchData
94
+ });
95
+ }, 300);
96
+ }, [optionsProps, trackingSearchName, trackingSearchData, sendTrack, onSearchChange]);
97
+ const onSearchInputChange = React.useCallback(
98
+ (e) => {
99
+ setSearchKeyword(e.target.value);
100
+ onSearchChangeInternal(e.target.value);
101
+ },
102
+ [onSearchChangeInternal]
103
+ );
104
+ const itemContent = React.useCallback(
105
+ (index) => {
106
+ const item = options?.[index];
107
+ return itemContentRenderer({ multiple, option: item });
108
+ },
109
+ [itemContentRenderer, multiple, options]
110
+ );
111
+ const { value } = useSelectContext();
112
+ const context = React.useMemo(
113
+ () => ({
114
+ searchKeyword
115
+ }),
116
+ [searchKeyword]
117
+ );
118
+ const hasFooter = multiple && !!options && options?.length > 0;
119
+ const virtuosoComponents = React.useMemo(
120
+ () => ({
121
+ List: SelectList,
122
+ EmptyPlaceholder: VirtualSoEmptyPlaceholder
123
+ }),
124
+ []
125
+ );
126
+ const listHeight = React.useMemo(() => {
127
+ const minHeight = 204;
128
+ const hasDescription = options.some((option) => option.description);
129
+ const itemHeight = hasDescription ? ItemHeightWithDescription : ItemHeight;
130
+ const totalHeight = options.length * itemHeight;
131
+ const maxHeight = !isDesktop ? typeof window !== "undefined" ? window.innerHeight * 0.5 : 400 : 250;
132
+ if (options.length === 0) {
133
+ return minHeight;
134
+ }
135
+ return Math.min(totalHeight, maxHeight);
136
+ }, [options, isDesktop]);
137
+ React.useEffect(() => {
138
+ const virtusoScrollerElement = virtuosoScrollerRef.current;
139
+ if (virtusoScrollerElement) {
140
+ const lastValue = value?.[value?.length - 1];
141
+ const lastValueIndex = !lastValue ? 0 : options?.findIndex((item) => item.value === lastValue.value);
142
+ const scrollToIndex = () => {
143
+ const isScrollableList = virtusoScrollerElement?.scrollHeight && virtusoScrollerElement?.clientHeight && virtusoScrollerElement?.scrollHeight > virtusoScrollerElement?.offsetHeight;
144
+ virtuosoRef.current?.scrollToIndex(isScrollableList ? lastValueIndex ?? 0 : 0);
145
+ };
146
+ const rafId = requestAnimationFrame(scrollToIndex);
147
+ return () => {
148
+ cancelAnimationFrame(rafId);
149
+ };
150
+ }
151
+ }, [options]);
152
+ React.useLayoutEffect(() => {
153
+ if (isLoading === false && optionsProps?.length) {
154
+ setOptions(optionsProps);
155
+ }
156
+ }, [isLoading, optionsProps]);
157
+ const handleVirtuosoWheel = React.useCallback((e) => {
158
+ e.stopPropagation();
159
+ }, []);
160
+ return /* @__PURE__ */ jsx(
161
+ SelectContent,
162
+ {
163
+ searchElm: hasSearchProp ? /* @__PURE__ */ jsx(
164
+ SelectSearch,
165
+ {
166
+ placeholder: searchPlaceholder,
167
+ value: searchKeyword,
168
+ onChange: onSearchInputChange
169
+ }
170
+ ) : null,
171
+ additionalContent,
172
+ ref,
173
+ hasFooter,
174
+ loading: isLoading,
175
+ closeAfterClear,
176
+ ...props,
177
+ children: /* @__PURE__ */ jsx("div", { onWheel: handleVirtuosoWheel, children: /* @__PURE__ */ jsx(
178
+ Virtuoso,
179
+ {
180
+ ref: virtuosoRef,
181
+ scrollerRef: handleScrollerRef,
182
+ className: "custom-select-scroll max-h-[50vh] lg:max-h-[250px]",
183
+ style: { height: listHeight },
184
+ data: options,
185
+ itemContent,
186
+ defaultItemHeight: ItemHeight,
187
+ components: virtuosoComponents,
188
+ context
189
+ }
190
+ ) })
191
+ }
192
+ );
193
+ }
194
+ );
195
+ SelectContentAutoLayout.displayName = "SelectContentAutoLayout";
196
+
197
+ export { SelectContentAutoLayout };
198
+ //# sourceMappingURL=select-content-auto-layout.mjs.map
199
+ //# sourceMappingURL=select-content-auto-layout.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/common/interactive/select/select-content-auto-layout.tsx"],"names":["ref","value"],"mappings":"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","file":"select-content-auto-layout.mjs","sourcesContent":["import { useDevice } from '@/hooks/useDevice';\nimport { TRACKING_TYPE } from '@/lib/types';\nimport { useUISystemContext } from '@/providers/UISystemProvider';\nimport { debounce } from '@/lib/helpers';\nimport * as React from 'react';\nimport { ItemContent, Virtuoso, VirtuosoHandle, Components } from 'react-virtuoso';\nimport { SelectContent } from './select-content';\nimport { SelectSearch } from './select-search';\nimport { SelectList } from './select-layout';\nimport { SelectEmptyState } from './select-states';\nimport { SelectItem } from './select-item';\nimport { useSelectContext } from './context';\nimport { removeDiacritics } from './utils';\nimport {\n Option,\n SelectContentAutoLayoutProps,\n SelectVirtuasoContextType,\n ItemContentRendererType,\n} from './types';\n\nconst defaultItemContentRenderer: ItemContentRendererType<Option> = ({ multiple, option }) => {\n if (!option?.value) return null;\n return (\n <SelectItem multiple={multiple} option={option} disabled={option?.disable}>\n <div className=\"flex flex-col\">\n <div className=\"text-foreground text-base\">{option?.name || option.value}</div>\n {option?.description && (\n <div className=\"text-muted-foreground mt-0.5 text-sm\">{option.description}</div>\n )}\n </div>\n </SelectItem>\n );\n};\n\nconst ItemHeight = 48;\nconst ItemHeightWithDescription = 68; // Height when item has description\n\nconst VirtualSoEmptyPlaceholder: Components<Option, SelectVirtuasoContextType>['EmptyPlaceholder'] =\n React.forwardRef((_, ref: React.Ref<HTMLDivElement>) => {\n return <SelectEmptyState ref={ref} />;\n });\n\nVirtualSoEmptyPlaceholder.displayName = 'VirtualSoEmptyPlaceholder';\n\nconst SelectContentAutoLayout = React.forwardRef<\n HTMLDivElement,\n SelectContentAutoLayoutProps<Option>\n>(\n (\n {\n hasSearch: hasSearchProp,\n autoSearch = true,\n multiple,\n options: optionsProps,\n isLoading,\n searchPlaceholder = 'Tìm kiếm',\n itemContentRenderer = defaultItemContentRenderer,\n trackingSearchName,\n trackingSearchData,\n onSearchChange,\n additionalContent,\n closeAfterClear,\n ...props\n },\n ref,\n ) => {\n const { sendTrack } = useUISystemContext();\n const { isDesktop } = useDevice();\n const { setAvailableOptions } = useSelectContext();\n\n // Auto-populate available options for value normalization\n React.useEffect(() => {\n if (optionsProps && setAvailableOptions) {\n setAvailableOptions(optionsProps);\n }\n }, [optionsProps, setAvailableOptions]);\n\n const [options, setOptions] = React.useState<Option[]>(optionsProps || []);\n const [searchKeyword, setSearchKeyword] = React.useState('');\n const virtuosoRef = React.useRef<VirtuosoHandle>(null);\n const virtuosoScrollerRef = React.useRef<HTMLElement>();\n\n const handleScrollerRef = React.useCallback((ref: HTMLElement | Window | null) => {\n virtuosoScrollerRef.current = ref as HTMLElement;\n }, []);\n\n const onSearchChangeInternal = React.useMemo(() => {\n return debounce(async (value: string) => {\n const valueSearch = value.trim();\n\n // If external onSearchChange is provided, use it (for API search)\n if (onSearchChange) {\n onSearchChange(valueSearch);\n return;\n }\n\n // Otherwise, use internal search logic (for static data)\n if (!valueSearch) return setOptions(optionsProps);\n const Fuse = (await import('fuse.js')).default;\n\n const fuseOptions = new Fuse(optionsProps, {\n keys: [\n { name: 'name', weight: 0.7 },\n { name: 'value', weight: 0.5 },\n { name: 'description', weight: 0.3 },\n ],\n threshold: 0.3,\n includeScore: true,\n ignoreLocation: true,\n findAllMatches: true,\n getFn: (obj, path) => {\n const value = Fuse.config.getFn(obj, path);\n if (typeof value === 'string') {\n return removeDiacritics(value);\n }\n return value;\n },\n });\n const searchResults = fuseOptions.search(removeDiacritics(valueSearch));\n const newOptions = searchResults.map((item: any) => item.item);\n setOptions(newOptions);\n !!trackingSearchName &&\n sendTrack?.(trackingSearchName, TRACKING_TYPE.click, {\n search_text: valueSearch,\n search_result: !!newOptions?.length,\n ...trackingSearchData,\n });\n }, 300);\n }, [optionsProps, trackingSearchName, trackingSearchData, sendTrack, onSearchChange]);\n\n const onSearchInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchKeyword(e.target.value);\n onSearchChangeInternal(e.target.value);\n },\n [onSearchChangeInternal],\n );\n\n const itemContent = React.useCallback<ItemContent<Option, any>>(\n (index: number) => {\n const item = options?.[index] as Option;\n return itemContentRenderer({ multiple, option: item });\n },\n [itemContentRenderer, multiple, options],\n );\n\n const { value } = useSelectContext();\n\n const context = React.useMemo<SelectVirtuasoContextType>(\n () => ({\n searchKeyword,\n }),\n [searchKeyword],\n );\n\n const hasFooter = multiple && !!options && options?.length > 0;\n\n const virtuosoComponents = React.useMemo(\n () => ({\n List: SelectList,\n EmptyPlaceholder: VirtualSoEmptyPlaceholder,\n }),\n [],\n );\n\n // Calculate dynamic height based on content\n const listHeight = React.useMemo(() => {\n const minHeight = 204; // Min height for empty state\n\n // Check if any option has description\n const hasDescription = options.some((option) => option.description);\n const itemHeight = hasDescription ? ItemHeightWithDescription : ItemHeight;\n\n const totalHeight = options.length * itemHeight;\n const maxHeight = !isDesktop\n ? typeof window !== 'undefined'\n ? window.innerHeight * 0.5\n : 400\n : 250;\n\n // If no options, use min height for empty state\n if (options.length === 0) {\n return minHeight;\n }\n\n return Math.min(totalHeight, maxHeight);\n }, [options, isDesktop]);\n\n React.useEffect(() => {\n const virtusoScrollerElement = virtuosoScrollerRef.current;\n if (virtusoScrollerElement) {\n const lastValue = value?.[value?.length - 1];\n const lastValueIndex = !lastValue\n ? 0\n : options?.findIndex((item) => item.value === lastValue.value);\n\n const scrollToIndex = () => {\n const isScrollableList =\n virtusoScrollerElement?.scrollHeight &&\n virtusoScrollerElement?.clientHeight &&\n virtusoScrollerElement?.scrollHeight > virtusoScrollerElement?.offsetHeight;\n virtuosoRef.current?.scrollToIndex(isScrollableList ? (lastValueIndex ?? 0) : 0);\n };\n const rafId = requestAnimationFrame(scrollToIndex);\n return () => {\n cancelAnimationFrame(rafId);\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options]);\n\n // Fix case gọi API:\n // Khi đang loading => hiển thị empty state\n // Khi có data => Vẫn đang hiển thị empty state\n React.useLayoutEffect(() => {\n if (isLoading === false && optionsProps?.length) {\n setOptions(optionsProps);\n }\n }, [isLoading, optionsProps]);\n\n // Handle wheel event on Virtuoso to prevent Dialog scroll\n const handleVirtuosoWheel = React.useCallback((e: React.WheelEvent) => {\n e.stopPropagation();\n }, []);\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 additionalContent={additionalContent}\n ref={ref}\n hasFooter={hasFooter}\n loading={isLoading}\n closeAfterClear={closeAfterClear}\n {...props}\n >\n <div onWheel={handleVirtuosoWheel}>\n <Virtuoso\n ref={virtuosoRef}\n scrollerRef={handleScrollerRef}\n className=\"custom-select-scroll max-h-[50vh] lg:max-h-[250px]\"\n style={{ height: listHeight }}\n data={options}\n itemContent={itemContent}\n defaultItemHeight={ItemHeight}\n components={virtuosoComponents}\n context={context}\n />\n </div>\n </SelectContent>\n );\n },\n);\n\nSelectContentAutoLayout.displayName = 'SelectContentAutoLayout';\n\nexport { SelectContentAutoLayout };\n"]}
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ import { Option, SelectContentGroupAutoLayoutProps } from './types';
3
+ declare const SelectContentGroupAutoLayout: React.ForwardRefExoticComponent<SelectContentGroupAutoLayoutProps<Option> & React.RefAttributes<HTMLDivElement>>;
4
+ export { SelectContentGroupAutoLayout };
5
+ //# sourceMappingURL=select-content-group-auto-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-content-group-auto-layout.d.ts","sourceRoot":"","sources":["../../../../src/common/interactive/select/select-content-group-auto-layout.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EAEL,MAAM,EAEN,iCAAiC,EAElC,MAAM,SAAS,CAAC;AA+KjB,QAAA,MAAM,4BAA4B,kHA0QjC,CAAC;AAIF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
@@ -0,0 +1,411 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var useDevice = require('@/hooks/useDevice');
5
+ var helpers = require('@/lib/helpers');
6
+ var types = require('@/lib/types');
7
+ var utils$1 = require('@/lib/utils');
8
+ var UISystemProvider = require('@/providers/UISystemProvider');
9
+ var lucideReact = require('lucide-react');
10
+ var React = require('react');
11
+ var reactVirtuoso = require('react-virtuoso');
12
+ var checkbox = require('../../../components/checkbox');
13
+ var list = require('../list');
14
+ var context = require('./context');
15
+ var selectContent = require('./select-content');
16
+ var selectItem = require('./select-item');
17
+ var selectLayout = require('./select-layout');
18
+ var selectSearch = require('./select-search');
19
+ var selectStates = require('./select-states');
20
+ var utils = require('./utils');
21
+
22
+ function _interopNamespace(e) {
23
+ if (e && e.__esModule) return e;
24
+ var n = Object.create(null);
25
+ if (e) {
26
+ Object.keys(e).forEach(function (k) {
27
+ if (k !== 'default') {
28
+ var d = Object.getOwnPropertyDescriptor(e, k);
29
+ Object.defineProperty(n, k, d.get ? d : {
30
+ enumerable: true,
31
+ get: function () { return e[k]; }
32
+ });
33
+ }
34
+ });
35
+ }
36
+ n.default = e;
37
+ return Object.freeze(n);
38
+ }
39
+
40
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
41
+
42
+ const ItemHeight = 48;
43
+ const ItemHeightWithDescription = 68;
44
+ const VirtualSoEmptyPlaceholder = React__namespace.forwardRef((_, ref) => {
45
+ return /* @__PURE__ */ jsxRuntime.jsx(selectStates.SelectEmptyState, { ref });
46
+ });
47
+ VirtualSoEmptyPlaceholder.displayName = "VirtualSoEmptyPlaceholder";
48
+ function GroupCheckbox({
49
+ group,
50
+ className
51
+ }) {
52
+ const { name, options = [], value: valueOfGroup } = group;
53
+ const { value = [], setValue, groupValue = {}, setGroupValue } = context.useSelectContext();
54
+ let numOfItemChecked = 0;
55
+ const _values = value.map((item) => item.value);
56
+ options.forEach((item) => {
57
+ if (_values?.includes(item.value)) numOfItemChecked++;
58
+ });
59
+ const isChecked = React__namespace.useMemo(() => {
60
+ return numOfItemChecked === options.length && options.length > 0 || !!valueOfGroup && options.length === 0 && groupValue?.group?.map((grVal) => grVal?.value)?.includes(valueOfGroup);
61
+ }, [options, valueOfGroup, groupValue, numOfItemChecked]);
62
+ const hasItemChecked = !isChecked && numOfItemChecked > 0;
63
+ const IndicatorComp = isChecked ? lucideReact.Check : lucideReact.Minus;
64
+ const {
65
+ blockSendTracking,
66
+ keyForName,
67
+ keyForValue,
68
+ sendIfUnCheck,
69
+ trackingData: trackingDataContext,
70
+ trackingIndex,
71
+ trackingName,
72
+ trackingGroupName
73
+ } = React__namespace.useContext(context.SelectTrackingContext);
74
+ const { sendTrack } = UISystemProvider.useUISystemContext() || {};
75
+ const sendTracking = helpers.useCallbackRef((options2, checked) => {
76
+ if (!(trackingName && trackingGroupName) || blockSendTracking) return;
77
+ const optionsFilter = options2.filter((item) => !value.some((elm) => elm.value === item.value));
78
+ if (trackingGroupName) {
79
+ sendTrack?.(trackingGroupName, types.TRACKING_TYPE.click, {
80
+ [keyForName || "name"]: name
81
+ });
82
+ }
83
+ optionsFilter.forEach((item) => {
84
+ const trackingData = {
85
+ ...trackingDataContext || {},
86
+ status: checked ? "checked" : "unchecked",
87
+ [keyForValue || "value"]: item?.value,
88
+ [keyForName || "name"]: item?.name
89
+ };
90
+ sendTrack?.(trackingName, types.TRACKING_TYPE.click, {
91
+ ...trackingData,
92
+ trackingIndex
93
+ });
94
+ });
95
+ });
96
+ const onClickFn = React__namespace.useCallback(() => {
97
+ const optionValues = options.map((item) => item.value);
98
+ if (isChecked) {
99
+ setGroupValue?.((prev = { group: [], child: [] }) => {
100
+ const listGroupItemUnchecked = prev?.group?.filter((item) => item?.value !== valueOfGroup);
101
+ return {
102
+ group: listGroupItemUnchecked,
103
+ child: value?.filter((item) => !optionValues.includes(item.value))?.map((item) => ({ ...item, parentValue: group?.value }))
104
+ };
105
+ });
106
+ setValue?.((prevValue = []) => {
107
+ const listItemUnchecked = prevValue.filter((item) => !optionValues.includes(item.value));
108
+ sendIfUnCheck && sendTracking(listItemUnchecked, false);
109
+ return listItemUnchecked;
110
+ });
111
+ } else {
112
+ setGroupValue?.((prev = { group: [], child: [] }) => {
113
+ const resultGroup = [...prev?.group || []];
114
+ if (!resultGroup?.includes(group)) {
115
+ resultGroup?.push(group);
116
+ }
117
+ const resultChild = [...value];
118
+ const resultValue = resultChild.map((item) => item.value);
119
+ optionValues.forEach((item, index) => {
120
+ if (!resultValue.includes(item)) {
121
+ resultChild.push({ ...options[index], parentValue: group?.value });
122
+ }
123
+ });
124
+ return { group: resultGroup, child: resultChild };
125
+ });
126
+ setValue?.((prevValue = []) => {
127
+ const result = [...prevValue];
128
+ const resultValue = result.map((item) => item.value);
129
+ optionValues.forEach((item, index) => {
130
+ if (!resultValue.includes(item)) {
131
+ const option = options[index];
132
+ if (option) {
133
+ result.push(option);
134
+ }
135
+ }
136
+ });
137
+ sendTracking(result, true);
138
+ return result;
139
+ });
140
+ }
141
+ }, [
142
+ isChecked,
143
+ options,
144
+ sendIfUnCheck,
145
+ sendTracking,
146
+ setValue,
147
+ setGroupValue,
148
+ value,
149
+ group,
150
+ valueOfGroup
151
+ ]);
152
+ return /* @__PURE__ */ jsxRuntime.jsxs(
153
+ list.ListItem,
154
+ {
155
+ activated: isChecked,
156
+ className: utils$1.cn("cursor-pointer space-x-3"),
157
+ size: "normal",
158
+ onClick: onClickFn,
159
+ children: [
160
+ /* @__PURE__ */ jsxRuntime.jsx(
161
+ checkbox.Checkbox,
162
+ {
163
+ checked: isChecked || hasItemChecked,
164
+ indicator: /* @__PURE__ */ jsxRuntime.jsx(IndicatorComp, { color: "#ffffff", className: "h-4 w-4" })
165
+ }
166
+ ),
167
+ /* @__PURE__ */ jsxRuntime.jsx(list.ListItemValueText, { className: utils$1.cn("flex-1 font-medium", className), children: name })
168
+ ]
169
+ }
170
+ );
171
+ }
172
+ const defaultItemContentGroupRenderer = ({
173
+ option,
174
+ multiple,
175
+ inGroupCheckbox,
176
+ group
177
+ }) => {
178
+ if (!option || !option.value) return null;
179
+ return /* @__PURE__ */ jsxRuntime.jsx(
180
+ selectItem.SelectItem,
181
+ {
182
+ className: utils$1.cn({ "pl-6": inGroupCheckbox }),
183
+ multiple,
184
+ option,
185
+ group,
186
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
187
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-foreground text-base", children: option?.name || option.value }),
188
+ option?.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground mt-0.5 text-sm", children: option.description })
189
+ ] })
190
+ }
191
+ );
192
+ };
193
+ const SelectContentGroupAutoLayout = React__namespace.forwardRef(
194
+ ({
195
+ hasSearch: hasSearchProp,
196
+ searchGroup: searchGroupProp,
197
+ autoSearch = true,
198
+ multiple,
199
+ options: optionsProps,
200
+ searchPlaceholder = "T\xECm ki\u1EBFm",
201
+ isGroupCheckbox,
202
+ classNameTitle,
203
+ itemContentRenderer = defaultItemContentGroupRenderer,
204
+ onSearchChange,
205
+ additionalContent,
206
+ closeAfterClear,
207
+ ...props
208
+ }, ref) => {
209
+ const { isDesktop } = useDevice.useDevice();
210
+ const { setAvailableOptions } = context.useSelectContext();
211
+ const [optionsState, setOptionsState] = React__namespace.useState(optionsProps || []);
212
+ const optionsPropFlat = React__namespace.useMemo(
213
+ () => (optionsProps || []).map((item, groupIndex) => {
214
+ return item.options?.map((subItem, index) => ({
215
+ ...subItem,
216
+ groupName: item.name,
217
+ isLastItemInGroup: index === item.options.length - 1
218
+ }));
219
+ }).flat(),
220
+ [optionsProps]
221
+ );
222
+ React__namespace.useEffect(() => {
223
+ if (optionsPropFlat && setAvailableOptions) {
224
+ setAvailableOptions(optionsPropFlat);
225
+ }
226
+ }, [optionsPropFlat, setAvailableOptions]);
227
+ const [searchKeyword, setSearchKeyword] = React__namespace.useState("");
228
+ const [searchKeywordDebounced, setSearchKeywordDebounced] = React__namespace.useState("");
229
+ const [options, setOptions] = React__namespace.useState(optionsPropFlat || []);
230
+ const onSearchChangeInternal = React__namespace.useMemo(() => {
231
+ return helpers.debounce(async (value2) => {
232
+ const valueSearch = value2.trim();
233
+ if (onSearchChange) {
234
+ onSearchChange(valueSearch);
235
+ return;
236
+ }
237
+ if (!valueSearch) {
238
+ setSearchKeywordDebounced("");
239
+ searchGroupProp && setOptionsState(optionsProps);
240
+ setOptions(
241
+ (optionsProps || []).map((item) => {
242
+ return item.options?.map((subItem, index) => ({
243
+ ...subItem,
244
+ groupName: item.name,
245
+ isLastItemInGroup: index === item.options.length - 1
246
+ }));
247
+ }).flat()
248
+ );
249
+ return;
250
+ }
251
+ const Fuse = (await import('fuse.js')).default;
252
+ const fuseOptions = new Fuse(optionsPropFlat, {
253
+ keys: [
254
+ { name: "name", weight: 0.7 },
255
+ { name: "value", weight: 0.5 },
256
+ { name: "description", weight: 0.3 },
257
+ { name: "groupName", weight: 0.4 }
258
+ ],
259
+ threshold: 0.3,
260
+ includeScore: true,
261
+ ignoreLocation: true,
262
+ findAllMatches: true,
263
+ getFn: (obj, path) => {
264
+ const value3 = Fuse.config.getFn(obj, path);
265
+ if (typeof value3 === "string") {
266
+ return utils.removeDiacritics(value3);
267
+ }
268
+ return value3;
269
+ }
270
+ });
271
+ const newOptions = fuseOptions.search(utils.removeDiacritics(valueSearch)).map((item) => item.item);
272
+ const fuseOptionsState = new Fuse(optionsState, {
273
+ keys: [{ name: "name", weight: 1 }],
274
+ threshold: 0.3,
275
+ includeScore: true,
276
+ ignoreLocation: true,
277
+ findAllMatches: true,
278
+ getFn: (obj, path) => {
279
+ const value3 = Fuse.config.getFn(obj, path);
280
+ if (typeof value3 === "string") {
281
+ return utils.removeDiacritics(value3);
282
+ }
283
+ return value3;
284
+ }
285
+ });
286
+ const newOptionsState = fuseOptionsState.search(utils.removeDiacritics(valueSearch)).map((item) => item.item);
287
+ setOptions(newOptions);
288
+ searchGroupProp && setOptionsState(newOptionsState);
289
+ setSearchKeywordDebounced(valueSearch);
290
+ }, 300);
291
+ }, [optionsPropFlat, optionsProps, searchGroupProp, optionsState, onSearchChange]);
292
+ const onSearchInputChange = React__namespace.useCallback(
293
+ (e) => {
294
+ setSearchKeyword(e.target.value);
295
+ onSearchChangeInternal(e.target.value);
296
+ },
297
+ [onSearchChangeInternal]
298
+ );
299
+ const { value } = context.useSelectContext();
300
+ const initialTopMostItemIndex = React__namespace.useMemo(() => {
301
+ const lastValue = value?.[value?.length - 1];
302
+ if (!lastValue) return 0;
303
+ const lastValueIndex = options.findIndex((item) => item.value === lastValue.value);
304
+ return lastValueIndex;
305
+ }, [options, value]);
306
+ const context$1 = React__namespace.useMemo(
307
+ () => ({
308
+ searchKeyword: ""
309
+ }),
310
+ []
311
+ );
312
+ const groupContent = React__namespace.useCallback(
313
+ (groupIndex) => {
314
+ const group = optionsState[groupIndex];
315
+ if (!group) return null;
316
+ if (isGroupCheckbox) {
317
+ return /* @__PURE__ */ jsxRuntime.jsx(GroupCheckbox, { className: classNameTitle, group });
318
+ }
319
+ return /* @__PURE__ */ jsxRuntime.jsx(
320
+ selectLayout.SelectGroupTitle,
321
+ {
322
+ className: utils$1.cn("bg-white py-3 text-base"),
323
+ style: {
324
+ background: !group.name ? "transparent" : void 0,
325
+ height: !group.name ? "1px" : void 0
326
+ },
327
+ children: group.name
328
+ }
329
+ );
330
+ },
331
+ [isGroupCheckbox, optionsState, classNameTitle]
332
+ );
333
+ const itemContent = React__namespace.useCallback(
334
+ (index, _groupIndex) => {
335
+ const group = optionsState[_groupIndex];
336
+ const option = options[index];
337
+ if (!option) return null;
338
+ const isLastGroup = options?.length === index + 1;
339
+ const isLastItem = option?.isLastItemInGroup;
340
+ const selectItemNode = itemContentRenderer({
341
+ multiple,
342
+ option,
343
+ inGroupCheckbox: isGroupCheckbox,
344
+ group
345
+ });
346
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
347
+ selectItemNode,
348
+ isLastItem && !isLastGroup && !searchKeyword && /* @__PURE__ */ jsxRuntime.jsx(selectLayout.SelectSeparator, {})
349
+ ] });
350
+ },
351
+ [isGroupCheckbox, itemContentRenderer, multiple, options, searchKeyword, optionsState]
352
+ );
353
+ const hasFooter = multiple && options.length > 0;
354
+ const listHeight = React__namespace.useMemo(() => {
355
+ const numberGroup = optionsState?.length ?? 0;
356
+ const numberOptions = optionsPropFlat?.length ?? 0;
357
+ const hasDescription = optionsPropFlat?.some((option) => option.description);
358
+ const itemHeight = hasDescription ? ItemHeightWithDescription : ItemHeight;
359
+ const totalHeight = (numberGroup + numberOptions) * itemHeight;
360
+ const maxHeight = !isDesktop ? typeof window !== "undefined" ? window.innerHeight * 0.5 : 400 : 250;
361
+ return Math.min(totalHeight, maxHeight);
362
+ }, [optionsPropFlat, optionsState?.length, isDesktop]);
363
+ const groupCounts = React__namespace.useMemo(
364
+ () => optionsState?.map((item) => item.options.length),
365
+ [optionsState]
366
+ );
367
+ const commonProps = {
368
+ style: {
369
+ height: listHeight
370
+ },
371
+ initialTopMostItemIndex,
372
+ itemContent,
373
+ defaultItemHeight: ItemHeight,
374
+ components: {
375
+ // Scroller: ScrollArea,
376
+ List: selectLayout.SelectList,
377
+ EmptyPlaceholder: VirtualSoEmptyPlaceholder
378
+ },
379
+ context: context$1,
380
+ className: "custom-select-scroll max-h-[50vh] lg:max-h-[250px]"
381
+ };
382
+ const hasSearch = !!searchKeywordDebounced;
383
+ return /* @__PURE__ */ jsxRuntime.jsxs(
384
+ selectContent.SelectContent,
385
+ {
386
+ searchElm: hasSearchProp ? /* @__PURE__ */ jsxRuntime.jsx(
387
+ selectSearch.SelectSearch,
388
+ {
389
+ placeholder: searchPlaceholder,
390
+ value: searchKeyword,
391
+ onChange: onSearchInputChange
392
+ }
393
+ ) : null,
394
+ additionalContent,
395
+ ref,
396
+ hasFooter,
397
+ closeAfterClear,
398
+ ...props,
399
+ children: [
400
+ (!hasSearch || searchGroupProp) && listHeight > 0 && /* @__PURE__ */ jsxRuntime.jsx(reactVirtuoso.GroupedVirtuoso, { ...commonProps, groupCounts, groupContent }),
401
+ hasSearch && !searchGroupProp && listHeight > 0 && /* @__PURE__ */ jsxRuntime.jsx(reactVirtuoso.Virtuoso, { ...commonProps, totalCount: options.length })
402
+ ]
403
+ }
404
+ );
405
+ }
406
+ );
407
+ SelectContentGroupAutoLayout.displayName = "SelectContentGroupAutoLayout";
408
+
409
+ exports.SelectContentGroupAutoLayout = SelectContentGroupAutoLayout;
410
+ //# sourceMappingURL=select-content-group-auto-layout.js.map
411
+ //# sourceMappingURL=select-content-group-auto-layout.js.map