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,118 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useSidebar } from '@/components/sidebar';
3
- import { useDevice } from '@/hooks/useDevice';
4
- import { cn } from '@/lib/utils';
5
- import * as React from 'react';
6
- import { SheetWrapper } from '../../interactive/sheet-wrapper';
7
-
8
- function SidebarSheet({
9
- open,
10
- onClose,
11
- title,
12
- headerClassName,
13
- childrenClassName,
14
- contentClassName,
15
- children,
16
- ...props
17
- }) {
18
- const { isDesktop } = useDevice();
19
- const { config, customWidth, state, isHovered } = useSidebar();
20
- const sidebarWidth = React.useMemo(() => {
21
- if (!isDesktop) return 0;
22
- if (state === "collapsed" && isHovered) {
23
- const width2 = config.width;
24
- return width2.endsWith("rem") ? parseFloat(width2) * 16 : parseFloat(width2);
25
- }
26
- if (state === "collapsed") {
27
- const iconWidth = config.widthIcon;
28
- return iconWidth.endsWith("rem") ? parseFloat(iconWidth) * 16 : parseFloat(iconWidth);
29
- }
30
- if (customWidth) {
31
- return customWidth;
32
- }
33
- const width = config.width;
34
- return width.endsWith("rem") ? parseFloat(width) * 16 : parseFloat(width);
35
- }, [isDesktop, state, config, customWidth, isHovered]);
36
- React.useEffect(() => {
37
- if (!isDesktop || !open) return;
38
- const handleClickOutside = (event) => {
39
- const target = event.target;
40
- if (target.closest("[data-notification-trigger]")) {
41
- return;
42
- }
43
- if (target.closest('[role="dialog"]')) {
44
- return;
45
- }
46
- if (target.closest('[data-sidebar="inset"]')) {
47
- onClose();
48
- return;
49
- }
50
- if (target.closest("[data-sidebar] a")) {
51
- return;
52
- }
53
- if (target.closest("[data-sidebar]")) {
54
- return;
55
- }
56
- onClose();
57
- };
58
- const timeoutId = setTimeout(() => {
59
- document.addEventListener("mousedown", handleClickOutside, true);
60
- }, 100);
61
- return () => {
62
- clearTimeout(timeoutId);
63
- document.removeEventListener("mousedown", handleClickOutside, true);
64
- };
65
- }, [isDesktop, open, onClose]);
66
- const handleInteractOutside = React.useCallback((event) => {
67
- const target = event.target;
68
- if (target.closest("[data-notification-trigger]")) {
69
- event.preventDefault();
70
- return;
71
- }
72
- if (target.closest('[data-sidebar="inset"]')) {
73
- return;
74
- }
75
- if (target.closest("[data-sidebar] a")) {
76
- event.preventDefault();
77
- return;
78
- }
79
- }, []);
80
- return /* @__PURE__ */ jsx(
81
- SheetWrapper,
82
- {
83
- open,
84
- onOpenChange: (isOpen) => {
85
- if (!isOpen) {
86
- onClose();
87
- }
88
- },
89
- modal: !isDesktop,
90
- side: !isDesktop ? "bottom" : "left",
91
- sideOffset: isDesktop ? sidebarWidth : void 0,
92
- showHeader: !!title,
93
- title,
94
- headerClassName,
95
- childrenClassName,
96
- contentClassName: cn(
97
- "p-0 gap-0",
98
- // Mobile styles - with backdrop overlay, full screen height
99
- !isDesktop && `h-[100dvh] !max-h-[100dvh]`,
100
- // Desktop styles - positioned next to sidebar, no backdrop
101
- isDesktop && `!z-[35] !w-[390px]`,
102
- contentClassName
103
- ),
104
- onOpenAutoFocus: (e) => {
105
- if (!isDesktop) {
106
- e.preventDefault();
107
- }
108
- },
109
- onInteractOutside: handleInteractOutside,
110
- ...props,
111
- children
112
- }
113
- );
114
- }
115
-
116
- export { SidebarSheet };
117
- //# sourceMappingURL=sidebar-sheet.mjs.map
118
- //# sourceMappingURL=sidebar-sheet.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/common/display/sidebar/sidebar-sheet.tsx"],"names":["width"],"mappings":"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","file":"sidebar-sheet.mjs","sourcesContent":["'use client';\n\nimport { useSidebar } from '@/components/sidebar';\nimport { useDevice } from '@/hooks/useDevice';\nimport { cn } from '@/lib/utils';\nimport * as React from 'react';\nimport { SheetWrapper, SheetWrapperProps } from '../../interactive/sheet-wrapper';\n\ninterface SidebarSheetProps extends Omit<SheetWrapperProps, 'side' | 'sideOffset' | 'modal'> {\n /**\n * Whether the sheet is open\n */\n open: boolean;\n /**\n * Callback when the sheet should close\n */\n onClose: () => void;\n /**\n * The title of the sheet header\n */\n title?: string;\n /**\n * Custom header class name\n */\n headerClassName?: string;\n /**\n * Custom children container class name\n */\n childrenClassName?: string;\n /**\n * Custom content class name\n */\n contentClassName?: string;\n /**\n * Children content\n */\n children?: React.ReactNode;\n}\n\n/**\n * A reusable sheet component that positions itself next to the sidebar on desktop\n * and slides from bottom on mobile.\n *\n * Features:\n * - Desktop: Slides from left, positioned next to sidebar (no backdrop)\n * - Mobile: Slides from bottom (with backdrop overlay)\n * - Only closes when clicking to the RIGHT of the sheet on desktop\n * - Clicking on sidebar or sheet itself doesn't close it\n * - Clicking on notification trigger button toggles the sheet\n */\nexport function SidebarSheet({\n open,\n onClose,\n title,\n headerClassName,\n childrenClassName,\n contentClassName,\n children,\n ...props\n}: SidebarSheetProps) {\n const { isDesktop } = useDevice();\n const { config, customWidth, state, isHovered } = useSidebar();\n\n // Calculate actual sidebar width based on state and hover\n const sidebarWidth = React.useMemo(() => {\n if (!isDesktop) return 0;\n\n // When sidebar is collapsed but hovering, use expanded width\n if (state === 'collapsed' && isHovered) {\n const width = config.width;\n return width.endsWith('rem') ? parseFloat(width) * 16 : parseFloat(width);\n }\n\n // When sidebar is collapsed (not hovering), use icon width\n if (state === 'collapsed') {\n const iconWidth = config.widthIcon;\n return iconWidth.endsWith('rem') ? parseFloat(iconWidth) * 16 : parseFloat(iconWidth);\n }\n\n // When expanded, use custom width if available, otherwise use config width\n if (customWidth) {\n return customWidth;\n }\n\n const width = config.width;\n return width.endsWith('rem') ? parseFloat(width) * 16 : parseFloat(width);\n }, [isDesktop, state, config, customWidth, isHovered]);\n\n // Handle click outside on desktop (since modal=false doesn't trigger onInteractOutside)\n React.useEffect(() => {\n if (!isDesktop || !open) return;\n\n const handleClickOutside = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n\n // Check if clicking on notification trigger\n if (target.closest('[data-notification-trigger]')) {\n return; // Let the toggle handler deal with it\n }\n\n // Check if clicking inside the sheet\n if (target.closest('[role=\"dialog\"]')) {\n return; // Don't close when clicking inside sheet\n }\n\n // Check if clicking on SidebarContent (data-sidebar=\"inset\") - CLOSE the sheet\n if (target.closest('[data-sidebar=\"inset\"]')) {\n onClose();\n return;\n }\n\n // Check if clicking on sidebar navigation links - ALLOW navigation, pathname change will close sheet\n if (target.closest('[data-sidebar] a')) {\n return; // Allow navigation to proceed\n }\n\n // Check if clicking on other sidebar elements (trigger, rail, etc)\n if (target.closest('[data-sidebar]')) {\n return; // Don't close for other sidebar interactions\n }\n\n // Click outside (to the right of sheet) - close it\n onClose();\n };\n\n // Use capture phase to intercept clicks before they bubble\n // Add small delay to avoid immediate closing when opening\n const timeoutId = setTimeout(() => {\n document.addEventListener('mousedown', handleClickOutside, true);\n }, 100);\n\n return () => {\n clearTimeout(timeoutId);\n document.removeEventListener('mousedown', handleClickOutside, true);\n };\n }, [isDesktop, open, onClose]);\n\n // Custom onInteractOutside handler for mobile (modal=true)\n // This only works on mobile where modal=true\n const handleInteractOutside = React.useCallback((event: Event) => {\n const target = event.target as HTMLElement;\n\n // Check if clicking on the notification trigger button\n if (target.closest('[data-notification-trigger]')) {\n event.preventDefault();\n return;\n }\n\n // Check if clicking on SidebarContent (data-sidebar=\"inset\") - allow close\n if (target.closest('[data-sidebar=\"inset\"]')) {\n // Let default behavior close the sheet\n return;\n }\n\n // Check if clicking on sidebar navigation links - ALLOW navigation, pathname change will close sheet\n if (target.closest('[data-sidebar] a')) {\n event.preventDefault();\n return; // Allow navigation, pathname change will close sheet\n }\n\n // For mobile, let default behavior close the sheet for other clicks\n }, []);\n\n return (\n <SheetWrapper\n open={open}\n onOpenChange={(isOpen) => {\n if (!isOpen) {\n // Call onClose for both mobile and desktop\n // This handles the close button (X) click properly\n onClose();\n }\n }}\n modal={!isDesktop}\n side={!isDesktop ? 'bottom' : 'left'}\n sideOffset={isDesktop ? sidebarWidth : undefined}\n showHeader={!!title}\n title={title}\n headerClassName={headerClassName}\n childrenClassName={childrenClassName}\n contentClassName={cn(\n 'p-0 gap-0',\n // Mobile styles - with backdrop overlay, full screen height\n !isDesktop && `h-[100dvh] !max-h-[100dvh]`,\n // Desktop styles - positioned next to sidebar, no backdrop\n isDesktop && `!z-[35] !w-[390px]`,\n contentClassName,\n )}\n onOpenAutoFocus={(e) => {\n // Prevent auto-focus on desktop to avoid closing sidebar\n if (!isDesktop) {\n e.preventDefault();\n }\n }}\n onInteractOutside={handleInteractOutside}\n {...props}\n >\n {children}\n </SheetWrapper>\n );\n}\n\nexport type { SidebarSheetProps };\n"]}
@@ -1,4 +0,0 @@
1
- 'use strict';
2
-
3
- //# sourceMappingURL=types.js.map
4
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
@@ -1,3 +0,0 @@
1
-
2
- //# sourceMappingURL=types.mjs.map
3
- //# sourceMappingURL=types.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"types.mjs"}
@@ -1,97 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var Image = require('../../assets/Image');
7
- var button = require('../../components/button');
8
- var utils = require('../../lib/utils');
9
- var React = require('react');
10
-
11
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
-
13
- var React__default = /*#__PURE__*/_interopDefault(React);
14
-
15
- const StatusState = ({
16
- type,
17
- title,
18
- subTitle,
19
- buttonAction,
20
- assetsComponent,
21
- wrapperClassName,
22
- titleClassName,
23
- subTitleClassName
24
- }) => {
25
- const states = {
26
- systemError: {
27
- title: "L\u1ED7i h\u1EC7 th\u1ED1ng",
28
- subTitle: "Vui l\xF2ng th\u1EED l\u1EA1i sau b\u1EA1n nh\xE9",
29
- icon: Image.EmptyUnknownErrorImage192,
30
- buttonAction: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { onClick: () => window.location.reload(), className: "mt-3 w-[200px]", children: "T\u1EA3i l\u1EA1i trang" })
31
- },
32
- notFound: {
33
- title: "Kh\xF4ng t\xECm th\u1EA5y th\xF4ng tin",
34
- subTitle: "Nh\u01B0ng v\u1EABn c\xF2n r\u1EA5t nhi\u1EC1u \u0111i\u1EC1u th\xFA v\u1ECB \u0111ang ch\u1EDD b\u1EA1n kh\xE1m ph\xE1",
35
- icon: Image.Empty404NotfoundImage192,
36
- buttonAction: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { onClick: () => window.location.href = "/", className: "mt-3 w-[200px]", children: "V\u1EC1 trang ch\u1EE7" })
37
- },
38
- networkError: {
39
- title: "M\u1EA5t k\u1EBFt n\u1ED1i m\u1EA1ng",
40
- subTitle: "B\u1EA1n vui l\xF2ng ki\u1EC3m tra m\u1EA1ng v\xE0 t\u1EA3i l\u1EA1i trang",
41
- icon: Image.EmptyUnknownErrorImage192,
42
- buttonAction: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { onClick: () => window.location.reload(), className: "mt-3 w-[200px]", children: "T\u1EA3i l\u1EA1i trang" })
43
- },
44
- noData: {
45
- title: "Ch\u01B0a c\xF3 d\u1EEF li\u1EC7u",
46
- subTitle: "Hi\u1EC7n t\u1EA1i ch\u01B0a c\xF3 th\xF4ng tin n\xE0o \u0111\u1EC3 hi\u1EC3n th\u1ECB",
47
- icon: Image.EmptyNothingOtherImage192,
48
- buttonAction: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {})
49
- },
50
- maintenance: {
51
- title: "\u0110ang b\u1EA3o tr\xEC",
52
- subTitle: "H\u1EC7 th\u1ED1ng \u0111ang \u0111\u01B0\u1EE3c n\xE2ng c\u1EA5p, vui l\xF2ng quay l\u1EA1i sau",
53
- icon: Image.EmptyMaintenanceImage192,
54
- buttonAction: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { onClick: () => window.location.href = "/", className: "mt-3 w-[200px]", children: "V\u1EC1 trang ch\u1EE7" })
55
- },
56
- comingSoon: {
57
- title: "S\u1EAFp ra m\u1EAFt",
58
- subTitle: "T\xEDnh n\u0103ng n\xE0y s\u1EBD s\u1EDBm \u0111\u01B0\u1EE3c c\u1EADp nh\u1EADt",
59
- icon: Image.EmptyComingSoonImage192,
60
- buttonAction: /* @__PURE__ */ jsxRuntime.jsx(button.Button, { onClick: () => window.location.href = "/", className: "mt-3 w-[200px]", children: "V\u1EC1 trang ch\u1EE7" })
61
- }
62
- };
63
- const presetState = type ? states[type] : null;
64
- const displayTitle = title ?? presetState?.title;
65
- const displaySubTitle = subTitle ?? presetState?.subTitle;
66
- const displayAssetsComponent = assetsComponent ?? presetState?.icon;
67
- const displayButtonAction = buttonAction ?? presetState?.buttonAction;
68
- const renderAssetsComponent = () => {
69
- if (!displayAssetsComponent) return null;
70
- if (React__default.default.isValidElement(displayAssetsComponent)) {
71
- return displayAssetsComponent;
72
- }
73
- const Component = displayAssetsComponent;
74
- return /* @__PURE__ */ jsxRuntime.jsx(Component, { className: "h-full w-full" });
75
- };
76
- return /* @__PURE__ */ jsxRuntime.jsxs(
77
- "div",
78
- {
79
- className: utils.cn(
80
- "flex h-full w-full flex-col items-center justify-center gap-2",
81
- wrapperClassName
82
- ),
83
- children: [
84
- displayAssetsComponent && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-[150px] w-[150px] items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderAssetsComponent() }) }),
85
- displayTitle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils.cn("text-ink-500s mt-1 text-center text-lg font-medium", titleClassName), children: displayTitle }),
86
- displaySubTitle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils.cn("text-ink-400s text-center text-sm font-medium", subTitleClassName), children: displaySubTitle }),
87
- displayButtonAction && /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: displayButtonAction })
88
- ]
89
- }
90
- );
91
- };
92
- var status_state_default = StatusState;
93
-
94
- exports.StatusState = StatusState;
95
- exports.default = status_state_default;
96
- //# sourceMappingURL=status-state.js.map
97
- //# sourceMappingURL=status-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/common/display/status-state.tsx"],"names":["EmptyUnknownErrorImage192","jsx","Button","Empty404NotfoundImage192","EmptyNothingOtherImage192","Fragment","EmptyMaintenanceImage192","EmptyComingSoonImage192","React","jsxs","cn"],"mappings":"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","file":"status-state.js","sourcesContent":["import {\n Empty404NotfoundImage192,\n EmptyComingSoonImage192,\n EmptyMaintenanceImage192,\n EmptyNothingOtherImage192,\n EmptyUnknownErrorImage192,\n} from '../../assets/Image';\nimport { Button } from '../../components/button';\nimport { cn } from '../../lib/utils';\nimport React, { ComponentType, SVGProps } from 'react';\n\nexport type StatusStateType =\n | 'systemError'\n | 'notFound'\n | 'networkError'\n | 'noData'\n | 'maintenance'\n | 'comingSoon';\n\nexport interface IStatusState {\n // Preset state type - if provided, will use predefined values\n type?: StatusStateType;\n // Custom props - will override preset values if provided\n title?: string | React.ReactNode;\n subTitle?: string | React.ReactNode;\n buttonAction?: React.ReactNode;\n assetsComponent?: React.ComponentType<React.SVGProps<SVGSVGElement>> | React.ReactNode;\n wrapperClassName?: string;\n titleClassName?: string;\n subTitleClassName?: string;\n}\n\nconst StatusState = ({\n type,\n title,\n subTitle,\n buttonAction,\n assetsComponent,\n wrapperClassName,\n titleClassName,\n subTitleClassName,\n}: IStatusState) => {\n const states = {\n systemError: {\n title: 'Lỗi hệ thống',\n subTitle: 'Vui lòng thử lại sau bạn nhé',\n icon: EmptyUnknownErrorImage192,\n buttonAction: (\n <Button onClick={() => window.location.reload()} className=\"mt-3 w-[200px]\">\n Tải lại trang\n </Button>\n ),\n },\n notFound: {\n title: 'Không tìm thấy thông tin',\n subTitle: 'Nhưng vẫn còn rất nhiều điều thú vị đang chờ bạn khám phá',\n icon: Empty404NotfoundImage192,\n buttonAction: (\n <Button onClick={() => (window.location.href = '/')} className=\"mt-3 w-[200px]\">\n Về trang chủ\n </Button>\n ),\n },\n networkError: {\n title: 'Mất kết nối mạng',\n subTitle: 'Bạn vui lòng kiểm tra mạng và tải lại trang',\n icon: EmptyUnknownErrorImage192,\n buttonAction: (\n <Button onClick={() => window.location.reload()} className=\"mt-3 w-[200px]\">\n Tải lại trang\n </Button>\n ),\n },\n noData: {\n title: 'Chưa có dữ liệu',\n subTitle: 'Hiện tại chưa có thông tin nào để hiển thị',\n icon: EmptyNothingOtherImage192,\n buttonAction: <></>,\n },\n maintenance: {\n title: 'Đang bảo trì',\n subTitle: 'Hệ thống đang được nâng cấp, vui lòng quay lại sau',\n icon: EmptyMaintenanceImage192,\n buttonAction: (\n <Button onClick={() => (window.location.href = '/')} className=\"mt-3 w-[200px]\">\n Về trang chủ\n </Button>\n ),\n },\n comingSoon: {\n title: 'Sắp ra mắt',\n subTitle: 'Tính năng này sẽ sớm được cập nhật',\n icon: EmptyComingSoonImage192,\n buttonAction: (\n <Button onClick={() => (window.location.href = '/')} className=\"mt-3 w-[200px]\">\n Về trang chủ\n </Button>\n ),\n },\n };\n\n // Get preset state if type is provided\n const presetState = type ? states[type] : null;\n\n // Use preset values as fallback, allow props to override\n const displayTitle = title ?? presetState?.title;\n const displaySubTitle = subTitle ?? presetState?.subTitle;\n const displayAssetsComponent = assetsComponent ?? presetState?.icon;\n const displayButtonAction = buttonAction ?? presetState?.buttonAction;\n\n // Helper function to render the assets component\n const renderAssetsComponent = () => {\n if (!displayAssetsComponent) return null;\n\n // ✅ Nếu là React element (JSX đã tạo sẵn), render trực tiếp\n if (React.isValidElement(displayAssetsComponent)) {\n return displayAssetsComponent;\n }\n\n // ✅ Nếu là component (chưa render), gọi như component\n const Component = displayAssetsComponent as ComponentType<SVGProps<SVGSVGElement>>;\n return <Component className=\"h-full w-full\" />;\n };\n\n return (\n <div\n className={cn(\n 'flex h-full w-full flex-col items-center justify-center gap-2',\n wrapperClassName,\n )}\n >\n {displayAssetsComponent && (\n <div className=\"flex h-[150px] w-[150px] items-center justify-center\">\n <>{renderAssetsComponent()}</>\n </div>\n )}\n {displayTitle && (\n <div className={cn('text-ink-500s mt-1 text-center text-lg font-medium', titleClassName)}>\n {displayTitle}\n </div>\n )}\n {displaySubTitle && (\n <div className={cn('text-ink-400s text-center text-sm font-medium', subTitleClassName)}>\n {displaySubTitle}\n </div>\n )}\n {displayButtonAction && <>{displayButtonAction}</>}\n </div>\n );\n};\n\nexport { StatusState };\nexport default StatusState;\n"]}
@@ -1,88 +0,0 @@
1
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { EmptyComingSoonImage192, EmptyMaintenanceImage192, EmptyNothingOtherImage192, EmptyUnknownErrorImage192, Empty404NotfoundImage192 } from '../../assets/Image';
3
- import { Button } from '../../components/button';
4
- import { cn } from '../../lib/utils';
5
- import React from 'react';
6
-
7
- const StatusState = ({
8
- type,
9
- title,
10
- subTitle,
11
- buttonAction,
12
- assetsComponent,
13
- wrapperClassName,
14
- titleClassName,
15
- subTitleClassName
16
- }) => {
17
- const states = {
18
- systemError: {
19
- title: "L\u1ED7i h\u1EC7 th\u1ED1ng",
20
- subTitle: "Vui l\xF2ng th\u1EED l\u1EA1i sau b\u1EA1n nh\xE9",
21
- icon: EmptyUnknownErrorImage192,
22
- buttonAction: /* @__PURE__ */ jsx(Button, { onClick: () => window.location.reload(), className: "mt-3 w-[200px]", children: "T\u1EA3i l\u1EA1i trang" })
23
- },
24
- notFound: {
25
- title: "Kh\xF4ng t\xECm th\u1EA5y th\xF4ng tin",
26
- subTitle: "Nh\u01B0ng v\u1EABn c\xF2n r\u1EA5t nhi\u1EC1u \u0111i\u1EC1u th\xFA v\u1ECB \u0111ang ch\u1EDD b\u1EA1n kh\xE1m ph\xE1",
27
- icon: Empty404NotfoundImage192,
28
- buttonAction: /* @__PURE__ */ jsx(Button, { onClick: () => window.location.href = "/", className: "mt-3 w-[200px]", children: "V\u1EC1 trang ch\u1EE7" })
29
- },
30
- networkError: {
31
- title: "M\u1EA5t k\u1EBFt n\u1ED1i m\u1EA1ng",
32
- subTitle: "B\u1EA1n vui l\xF2ng ki\u1EC3m tra m\u1EA1ng v\xE0 t\u1EA3i l\u1EA1i trang",
33
- icon: EmptyUnknownErrorImage192,
34
- buttonAction: /* @__PURE__ */ jsx(Button, { onClick: () => window.location.reload(), className: "mt-3 w-[200px]", children: "T\u1EA3i l\u1EA1i trang" })
35
- },
36
- noData: {
37
- title: "Ch\u01B0a c\xF3 d\u1EEF li\u1EC7u",
38
- subTitle: "Hi\u1EC7n t\u1EA1i ch\u01B0a c\xF3 th\xF4ng tin n\xE0o \u0111\u1EC3 hi\u1EC3n th\u1ECB",
39
- icon: EmptyNothingOtherImage192,
40
- buttonAction: /* @__PURE__ */ jsx(Fragment, {})
41
- },
42
- maintenance: {
43
- title: "\u0110ang b\u1EA3o tr\xEC",
44
- subTitle: "H\u1EC7 th\u1ED1ng \u0111ang \u0111\u01B0\u1EE3c n\xE2ng c\u1EA5p, vui l\xF2ng quay l\u1EA1i sau",
45
- icon: EmptyMaintenanceImage192,
46
- buttonAction: /* @__PURE__ */ jsx(Button, { onClick: () => window.location.href = "/", className: "mt-3 w-[200px]", children: "V\u1EC1 trang ch\u1EE7" })
47
- },
48
- comingSoon: {
49
- title: "S\u1EAFp ra m\u1EAFt",
50
- subTitle: "T\xEDnh n\u0103ng n\xE0y s\u1EBD s\u1EDBm \u0111\u01B0\u1EE3c c\u1EADp nh\u1EADt",
51
- icon: EmptyComingSoonImage192,
52
- buttonAction: /* @__PURE__ */ jsx(Button, { onClick: () => window.location.href = "/", className: "mt-3 w-[200px]", children: "V\u1EC1 trang ch\u1EE7" })
53
- }
54
- };
55
- const presetState = type ? states[type] : null;
56
- const displayTitle = title ?? presetState?.title;
57
- const displaySubTitle = subTitle ?? presetState?.subTitle;
58
- const displayAssetsComponent = assetsComponent ?? presetState?.icon;
59
- const displayButtonAction = buttonAction ?? presetState?.buttonAction;
60
- const renderAssetsComponent = () => {
61
- if (!displayAssetsComponent) return null;
62
- if (React.isValidElement(displayAssetsComponent)) {
63
- return displayAssetsComponent;
64
- }
65
- const Component = displayAssetsComponent;
66
- return /* @__PURE__ */ jsx(Component, { className: "h-full w-full" });
67
- };
68
- return /* @__PURE__ */ jsxs(
69
- "div",
70
- {
71
- className: cn(
72
- "flex h-full w-full flex-col items-center justify-center gap-2",
73
- wrapperClassName
74
- ),
75
- children: [
76
- displayAssetsComponent && /* @__PURE__ */ jsx("div", { className: "flex h-[150px] w-[150px] items-center justify-center", children: /* @__PURE__ */ jsx(Fragment, { children: renderAssetsComponent() }) }),
77
- displayTitle && /* @__PURE__ */ jsx("div", { className: cn("text-ink-500s mt-1 text-center text-lg font-medium", titleClassName), children: displayTitle }),
78
- displaySubTitle && /* @__PURE__ */ jsx("div", { className: cn("text-ink-400s text-center text-sm font-medium", subTitleClassName), children: displaySubTitle }),
79
- displayButtonAction && /* @__PURE__ */ jsx(Fragment, { children: displayButtonAction })
80
- ]
81
- }
82
- );
83
- };
84
- var status_state_default = StatusState;
85
-
86
- export { StatusState, status_state_default as default };
87
- //# sourceMappingURL=status-state.mjs.map
88
- //# sourceMappingURL=status-state.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/common/display/status-state.tsx"],"names":[],"mappings":"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","file":"status-state.mjs","sourcesContent":["import {\n Empty404NotfoundImage192,\n EmptyComingSoonImage192,\n EmptyMaintenanceImage192,\n EmptyNothingOtherImage192,\n EmptyUnknownErrorImage192,\n} from '../../assets/Image';\nimport { Button } from '../../components/button';\nimport { cn } from '../../lib/utils';\nimport React, { ComponentType, SVGProps } from 'react';\n\nexport type StatusStateType =\n | 'systemError'\n | 'notFound'\n | 'networkError'\n | 'noData'\n | 'maintenance'\n | 'comingSoon';\n\nexport interface IStatusState {\n // Preset state type - if provided, will use predefined values\n type?: StatusStateType;\n // Custom props - will override preset values if provided\n title?: string | React.ReactNode;\n subTitle?: string | React.ReactNode;\n buttonAction?: React.ReactNode;\n assetsComponent?: React.ComponentType<React.SVGProps<SVGSVGElement>> | React.ReactNode;\n wrapperClassName?: string;\n titleClassName?: string;\n subTitleClassName?: string;\n}\n\nconst StatusState = ({\n type,\n title,\n subTitle,\n buttonAction,\n assetsComponent,\n wrapperClassName,\n titleClassName,\n subTitleClassName,\n}: IStatusState) => {\n const states = {\n systemError: {\n title: 'Lỗi hệ thống',\n subTitle: 'Vui lòng thử lại sau bạn nhé',\n icon: EmptyUnknownErrorImage192,\n buttonAction: (\n <Button onClick={() => window.location.reload()} className=\"mt-3 w-[200px]\">\n Tải lại trang\n </Button>\n ),\n },\n notFound: {\n title: 'Không tìm thấy thông tin',\n subTitle: 'Nhưng vẫn còn rất nhiều điều thú vị đang chờ bạn khám phá',\n icon: Empty404NotfoundImage192,\n buttonAction: (\n <Button onClick={() => (window.location.href = '/')} className=\"mt-3 w-[200px]\">\n Về trang chủ\n </Button>\n ),\n },\n networkError: {\n title: 'Mất kết nối mạng',\n subTitle: 'Bạn vui lòng kiểm tra mạng và tải lại trang',\n icon: EmptyUnknownErrorImage192,\n buttonAction: (\n <Button onClick={() => window.location.reload()} className=\"mt-3 w-[200px]\">\n Tải lại trang\n </Button>\n ),\n },\n noData: {\n title: 'Chưa có dữ liệu',\n subTitle: 'Hiện tại chưa có thông tin nào để hiển thị',\n icon: EmptyNothingOtherImage192,\n buttonAction: <></>,\n },\n maintenance: {\n title: 'Đang bảo trì',\n subTitle: 'Hệ thống đang được nâng cấp, vui lòng quay lại sau',\n icon: EmptyMaintenanceImage192,\n buttonAction: (\n <Button onClick={() => (window.location.href = '/')} className=\"mt-3 w-[200px]\">\n Về trang chủ\n </Button>\n ),\n },\n comingSoon: {\n title: 'Sắp ra mắt',\n subTitle: 'Tính năng này sẽ sớm được cập nhật',\n icon: EmptyComingSoonImage192,\n buttonAction: (\n <Button onClick={() => (window.location.href = '/')} className=\"mt-3 w-[200px]\">\n Về trang chủ\n </Button>\n ),\n },\n };\n\n // Get preset state if type is provided\n const presetState = type ? states[type] : null;\n\n // Use preset values as fallback, allow props to override\n const displayTitle = title ?? presetState?.title;\n const displaySubTitle = subTitle ?? presetState?.subTitle;\n const displayAssetsComponent = assetsComponent ?? presetState?.icon;\n const displayButtonAction = buttonAction ?? presetState?.buttonAction;\n\n // Helper function to render the assets component\n const renderAssetsComponent = () => {\n if (!displayAssetsComponent) return null;\n\n // ✅ Nếu là React element (JSX đã tạo sẵn), render trực tiếp\n if (React.isValidElement(displayAssetsComponent)) {\n return displayAssetsComponent;\n }\n\n // ✅ Nếu là component (chưa render), gọi như component\n const Component = displayAssetsComponent as ComponentType<SVGProps<SVGSVGElement>>;\n return <Component className=\"h-full w-full\" />;\n };\n\n return (\n <div\n className={cn(\n 'flex h-full w-full flex-col items-center justify-center gap-2',\n wrapperClassName,\n )}\n >\n {displayAssetsComponent && (\n <div className=\"flex h-[150px] w-[150px] items-center justify-center\">\n <>{renderAssetsComponent()}</>\n </div>\n )}\n {displayTitle && (\n <div className={cn('text-ink-500s mt-1 text-center text-lg font-medium', titleClassName)}>\n {displayTitle}\n </div>\n )}\n {displaySubTitle && (\n <div className={cn('text-ink-400s text-center text-sm font-medium', subTitleClassName)}>\n {displaySubTitle}\n </div>\n )}\n {displayButtonAction && <>{displayButtonAction}</>}\n </div>\n );\n};\n\nexport { StatusState };\nexport default StatusState;\n"]}
@@ -1,101 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var utils = require('@/lib/utils');
5
- var React = require('react');
6
- var reactHookForm = require('react-hook-form');
7
- var form = require('../../components/form');
8
-
9
- function _interopNamespace(e) {
10
- if (e && e.__esModule) return e;
11
- var n = Object.create(null);
12
- if (e) {
13
- Object.keys(e).forEach(function (k) {
14
- if (k !== 'default') {
15
- var d = Object.getOwnPropertyDescriptor(e, k);
16
- Object.defineProperty(n, k, d.get ? d : {
17
- enumerable: true,
18
- get: function () { return e[k]; }
19
- });
20
- }
21
- });
22
- }
23
- n.default = e;
24
- return Object.freeze(n);
25
- }
26
-
27
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
-
29
- function AutoFormRoot({ form: form$1, onSubmit, children, className, ...formProps }) {
30
- return /* @__PURE__ */ jsxRuntime.jsx(reactHookForm.FormProvider, { ...form$1, children: /* @__PURE__ */ jsxRuntime.jsx(form.Form, { ...form$1, children: /* @__PURE__ */ jsxRuntime.jsx(
31
- "form",
32
- {
33
- onSubmit: (e) => {
34
- e.stopPropagation();
35
- form$1.handleSubmit(onSubmit)(e);
36
- },
37
- className: utils.cn("space-y-4", className),
38
- ...formProps,
39
- children
40
- }
41
- ) }) });
42
- }
43
- const getFieldError = (formState, name) => {
44
- if (name.includes(".")) {
45
- const paths = name.split(".");
46
- let current = formState.errors;
47
- for (let i = 0; i < paths.length - 1; i++) {
48
- const path = paths[i];
49
- if (!current || !current[path]) return void 0;
50
- current = current[path];
51
- }
52
- const lastPath = paths[paths.length - 1];
53
- if (!current || !current[lastPath]) return void 0;
54
- return current[lastPath].message || current[lastPath].root?.message;
55
- }
56
- return formState.errors[name]?.message || formState.errors[name]?.root?.message;
57
- };
58
- const AutoFormField = ({
59
- name,
60
- label,
61
- description,
62
- children,
63
- className,
64
- disabled,
65
- noShowError,
66
- hidden,
67
- ...props
68
- }) => {
69
- const { control, formState } = reactHookForm.useFormContext();
70
- if (hidden) return;
71
- return /* @__PURE__ */ jsxRuntime.jsx(
72
- form.FormField,
73
- {
74
- control,
75
- name,
76
- render: ({ field }) => {
77
- const errorMessage = getFieldError(formState, name);
78
- return /* @__PURE__ */ jsxRuntime.jsxs(form.FormItem, { className, children: [
79
- label && /* @__PURE__ */ jsxRuntime.jsx(form.FormLabel, { className: "!text-t14m", children: label }),
80
- /* @__PURE__ */ jsxRuntime.jsx(form.FormControl, { children: typeof children === "function" ? children({ ...field, isError: !!errorMessage, errorMessage }) : React__namespace.cloneElement(children, {
81
- ...field,
82
- isError: !!errorMessage && !noShowError,
83
- errorMessage
84
- }) }),
85
- description && (!errorMessage || noShowError) && /* @__PURE__ */ jsxRuntime.jsx(form.FormDescription, { children: description }),
86
- !noShowError && /* @__PURE__ */ jsxRuntime.jsx(form.FormMessage, {})
87
- ] });
88
- },
89
- disabled,
90
- ...props
91
- }
92
- );
93
- };
94
- const AutoForm = Object.assign(AutoFormRoot, {
95
- Field: AutoFormField
96
- });
97
-
98
- exports.AutoForm = AutoForm;
99
- exports.getFieldError = getFieldError;
100
- //# sourceMappingURL=auto-form.js.map
101
- //# sourceMappingURL=auto-form.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/common/forms/auto-form.tsx"],"names":["form","FormProvider","jsx","Form","cn","useFormContext","FormField","jsxs","FormItem","FormLabel","FormControl","React","FormDescription","FormMessage"],"mappings":"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","file":"auto-form.js","sourcesContent":["import { cn } from '@/lib/utils';\nimport * as React from 'react';\nimport { FormProvider, SubmitHandler, useFormContext } from 'react-hook-form';\nimport {\n Form,\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from '../../components/form';\n\n// --- Định nghĩa Type cho Props ---\n\n// Props cho component AutoForm chính\ninterface AutoFormProps extends Omit<React.ComponentProps<'form'>, 'onSubmit'> {\n form: any; // Type form as UseFormReturn with schema type\n onSubmit: SubmitHandler<any>;\n children: React.ReactNode;\n}\n\n// Props cho component AutoForm.Field\ninterface AutoFormFieldProps extends Omit<React.ComponentProps<'div'>, 'children'> {\n name: string; // Bắt buộc phải có name để liên kết với schema\n label?: string;\n description?: string;\n children: React.ReactNode | ((field: any) => React.ReactNode);\n disabled?: boolean;\n noShowError?: boolean;\n hidden?: boolean;\n}\n\n// --- Component AutoForm chính ---\n\nfunction AutoFormRoot({ form, onSubmit, children, className, ...formProps }: any) {\n return (\n <FormProvider {...form}>\n <Form {...form}>\n <form\n onSubmit={(e) => {\n e.stopPropagation();\n form.handleSubmit(onSubmit)(e);\n }}\n className={cn('space-y-4', className)}\n {...formProps}\n >\n {children}\n </form>\n </Form>\n </FormProvider>\n );\n}\n\n// --- Component AutoForm.Field ---\nexport const getFieldError = (formState: any, name: string) => {\n // Nếu name là một đường dẫn lồng nhau (có dấu chấm)\n if (name.includes('.')) {\n const paths = name.split('.');\n let current = formState.errors;\n\n // Duyệt qua các phần của đường dẫn, trừ phần cuối cùng\n for (let i = 0; i < paths.length - 1; i++) {\n const path: string = paths[i] as string;\n if (!current || !current[path]) return undefined;\n current = current[path] as Record<string, any>;\n }\n\n // Lấy thông báo lỗi từ phần cuối cùng\n const lastPath: string = paths[paths.length - 1] as string;\n if (!current || !current[lastPath]) return undefined;\n\n // Trả về thông báo lỗi\n return current[lastPath].message || current[lastPath].root?.message;\n }\n\n // Trường hợp name đơn giản\n return formState.errors[name]?.message || formState.errors[name]?.root?.message;\n};\n\nconst AutoFormField = ({\n name,\n label,\n description,\n children,\n className,\n disabled,\n noShowError,\n hidden,\n ...props\n}: AutoFormFieldProps) => {\n // Lấy context từ FormProvider\n const { control, formState } = useFormContext();\n\n if (hidden) return;\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field }) => {\n const errorMessage = getFieldError(formState, name);\n\n return (\n <FormItem className={className}>\n {label && <FormLabel className=\"!text-t14m\">{label}</FormLabel>}\n <FormControl>\n {typeof children === 'function'\n ? children({ ...field, isError: !!errorMessage, errorMessage })\n : React.cloneElement(children as React.ReactElement, {\n ...field,\n isError: !!errorMessage && !noShowError,\n errorMessage,\n })}\n </FormControl>\n {description && (!errorMessage || noShowError) && (\n <FormDescription>{description}</FormDescription>\n )}\n {!noShowError && <FormMessage />}\n </FormItem>\n );\n }}\n disabled={disabled}\n {...props}\n />\n );\n};\n\n// --- Gán Field vào Root component để tạo thành Compound Component ---\nexport const AutoForm = Object.assign(AutoFormRoot, {\n Field: AutoFormField,\n});\n"]}
@@ -1,78 +0,0 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { cn } from '@/lib/utils';
3
- import * as React from 'react';
4
- import { FormProvider, useFormContext } from 'react-hook-form';
5
- import { Form, FormField, FormItem, FormLabel, FormControl, FormDescription, FormMessage } from '../../components/form';
6
-
7
- function AutoFormRoot({ form, onSubmit, children, className, ...formProps }) {
8
- return /* @__PURE__ */ jsx(FormProvider, { ...form, children: /* @__PURE__ */ jsx(Form, { ...form, children: /* @__PURE__ */ jsx(
9
- "form",
10
- {
11
- onSubmit: (e) => {
12
- e.stopPropagation();
13
- form.handleSubmit(onSubmit)(e);
14
- },
15
- className: cn("space-y-4", className),
16
- ...formProps,
17
- children
18
- }
19
- ) }) });
20
- }
21
- const getFieldError = (formState, name) => {
22
- if (name.includes(".")) {
23
- const paths = name.split(".");
24
- let current = formState.errors;
25
- for (let i = 0; i < paths.length - 1; i++) {
26
- const path = paths[i];
27
- if (!current || !current[path]) return void 0;
28
- current = current[path];
29
- }
30
- const lastPath = paths[paths.length - 1];
31
- if (!current || !current[lastPath]) return void 0;
32
- return current[lastPath].message || current[lastPath].root?.message;
33
- }
34
- return formState.errors[name]?.message || formState.errors[name]?.root?.message;
35
- };
36
- const AutoFormField = ({
37
- name,
38
- label,
39
- description,
40
- children,
41
- className,
42
- disabled,
43
- noShowError,
44
- hidden,
45
- ...props
46
- }) => {
47
- const { control, formState } = useFormContext();
48
- if (hidden) return;
49
- return /* @__PURE__ */ jsx(
50
- FormField,
51
- {
52
- control,
53
- name,
54
- render: ({ field }) => {
55
- const errorMessage = getFieldError(formState, name);
56
- return /* @__PURE__ */ jsxs(FormItem, { className, children: [
57
- label && /* @__PURE__ */ jsx(FormLabel, { className: "!text-t14m", children: label }),
58
- /* @__PURE__ */ jsx(FormControl, { children: typeof children === "function" ? children({ ...field, isError: !!errorMessage, errorMessage }) : React.cloneElement(children, {
59
- ...field,
60
- isError: !!errorMessage && !noShowError,
61
- errorMessage
62
- }) }),
63
- description && (!errorMessage || noShowError) && /* @__PURE__ */ jsx(FormDescription, { children: description }),
64
- !noShowError && /* @__PURE__ */ jsx(FormMessage, {})
65
- ] });
66
- },
67
- disabled,
68
- ...props
69
- }
70
- );
71
- };
72
- const AutoForm = Object.assign(AutoFormRoot, {
73
- Field: AutoFormField
74
- });
75
-
76
- export { AutoForm, getFieldError };
77
- //# sourceMappingURL=auto-form.mjs.map
78
- //# sourceMappingURL=auto-form.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/common/forms/auto-form.tsx"],"names":[],"mappings":";;;;;;AAmCA,SAAS,YAAA,CAAa,EAAE,IAAA,EAAM,QAAA,EAAU,UAAU,SAAA,EAAW,GAAG,WAAU,EAAQ;AAChF,EAAA,2BACG,YAAA,EAAA,EAAc,GAAG,MAChB,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAM,GAAG,IAAA,EACR,QAAA,kBAAA,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,QAAA,EAAU,CAAC,CAAA,KAAM;AACf,QAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,QAAA,IAAA,CAAK,YAAA,CAAa,QAAQ,CAAA,CAAE,CAAC,CAAA;AAAA,MAC/B,CAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,WAAA,EAAa,SAAS,CAAA;AAAA,MACnC,GAAG,SAAA;AAAA,MAEH;AAAA;AAAA,KAEL,CAAA,EACF,CAAA;AAEJ;AAGO,MAAM,aAAA,GAAgB,CAAC,SAAA,EAAgB,IAAA,KAAiB;AAE7D,EAAA,IAAI,IAAA,CAAK,QAAA,CAAS,GAAG,CAAA,EAAG;AACtB,IAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,GAAG,CAAA;AAC5B,IAAA,IAAI,UAAU,SAAA,CAAU,MAAA;AAGxB,IAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,MAAA,GAAS,GAAG,CAAA,EAAA,EAAK;AACzC,MAAA,MAAM,IAAA,GAAe,MAAM,CAAC,CAAA;AAC5B,MAAA,IAAI,CAAC,OAAA,IAAW,CAAC,OAAA,CAAQ,IAAI,GAAG,OAAO,MAAA;AACvC,MAAA,OAAA,GAAU,QAAQ,IAAI,CAAA;AAAA,IACxB;AAGA,IAAA,MAAM,QAAA,GAAmB,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAC,CAAA;AAC/C,IAAA,IAAI,CAAC,OAAA,IAAW,CAAC,OAAA,CAAQ,QAAQ,GAAG,OAAO,MAAA;AAG3C,IAAA,OAAO,QAAQ,QAAQ,CAAA,CAAE,WAAW,OAAA,CAAQ,QAAQ,EAAE,IAAA,EAAM,OAAA;AAAA,EAC9D;AAGA,EAAA,OAAO,SAAA,CAAU,OAAO,IAAI,CAAA,EAAG,WAAW,SAAA,CAAU,MAAA,CAAO,IAAI,CAAA,EAAG,IAAA,EAAM,OAAA;AAC1E;AAEA,MAAM,gBAAgB,CAAC;AAAA,EACrB,IAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,MAAA;AAAA,EACA,GAAG;AACL,CAAA,KAA0B;AAExB,EAAA,MAAM,EAAE,OAAA,EAAS,SAAA,EAAU,GAAI,cAAA,EAAe;AAE9C,EAAA,IAAI,MAAA,EAAQ;AAEZ,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,OAAA;AAAA,MACA,IAAA;AAAA,MACA,MAAA,EAAQ,CAAC,EAAE,KAAA,EAAM,KAAM;AACrB,QAAA,MAAM,YAAA,GAAe,aAAA,CAAc,SAAA,EAAW,IAAI,CAAA;AAElD,QAAA,uBACE,IAAA,CAAC,YAAS,SAAA,EACP,QAAA,EAAA;AAAA,UAAA,KAAA,oBAAS,GAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAU,YAAA,EAAc,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,8BAClD,WAAA,EAAA,EACE,QAAA,EAAA,OAAO,aAAa,UAAA,GACjB,QAAA,CAAS,EAAE,GAAG,KAAA,EAAO,OAAA,EAAS,CAAC,CAAC,YAAA,EAAc,YAAA,EAAc,CAAA,GAC5D,KAAA,CAAM,aAAa,QAAA,EAAgC;AAAA,YACnD,GAAG,KAAA;AAAA,YACH,OAAA,EAAS,CAAC,CAAC,YAAA,IAAgB,CAAC,WAAA;AAAA,YAC5B;AAAA,WACD,CAAA,EACL,CAAA;AAAA,UACC,gBAAgB,CAAC,YAAA,IAAgB,WAAA,CAAA,oBAChC,GAAA,CAAC,mBAAiB,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,UAE/B,CAAC,WAAA,oBAAe,GAAA,CAAC,WAAA,EAAA,EAAY;AAAA,SAAA,EAChC,CAAA;AAAA,MAEJ,CAAA;AAAA,MACA,QAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ,CAAA;AAGO,MAAM,QAAA,GAAW,MAAA,CAAO,MAAA,CAAO,YAAA,EAAc;AAAA,EAClD,KAAA,EAAO;AACT,CAAC","file":"auto-form.mjs","sourcesContent":["import { cn } from '@/lib/utils';\nimport * as React from 'react';\nimport { FormProvider, SubmitHandler, useFormContext } from 'react-hook-form';\nimport {\n Form,\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from '../../components/form';\n\n// --- Định nghĩa Type cho Props ---\n\n// Props cho component AutoForm chính\ninterface AutoFormProps extends Omit<React.ComponentProps<'form'>, 'onSubmit'> {\n form: any; // Type form as UseFormReturn with schema type\n onSubmit: SubmitHandler<any>;\n children: React.ReactNode;\n}\n\n// Props cho component AutoForm.Field\ninterface AutoFormFieldProps extends Omit<React.ComponentProps<'div'>, 'children'> {\n name: string; // Bắt buộc phải có name để liên kết với schema\n label?: string;\n description?: string;\n children: React.ReactNode | ((field: any) => React.ReactNode);\n disabled?: boolean;\n noShowError?: boolean;\n hidden?: boolean;\n}\n\n// --- Component AutoForm chính ---\n\nfunction AutoFormRoot({ form, onSubmit, children, className, ...formProps }: any) {\n return (\n <FormProvider {...form}>\n <Form {...form}>\n <form\n onSubmit={(e) => {\n e.stopPropagation();\n form.handleSubmit(onSubmit)(e);\n }}\n className={cn('space-y-4', className)}\n {...formProps}\n >\n {children}\n </form>\n </Form>\n </FormProvider>\n );\n}\n\n// --- Component AutoForm.Field ---\nexport const getFieldError = (formState: any, name: string) => {\n // Nếu name là một đường dẫn lồng nhau (có dấu chấm)\n if (name.includes('.')) {\n const paths = name.split('.');\n let current = formState.errors;\n\n // Duyệt qua các phần của đường dẫn, trừ phần cuối cùng\n for (let i = 0; i < paths.length - 1; i++) {\n const path: string = paths[i] as string;\n if (!current || !current[path]) return undefined;\n current = current[path] as Record<string, any>;\n }\n\n // Lấy thông báo lỗi từ phần cuối cùng\n const lastPath: string = paths[paths.length - 1] as string;\n if (!current || !current[lastPath]) return undefined;\n\n // Trả về thông báo lỗi\n return current[lastPath].message || current[lastPath].root?.message;\n }\n\n // Trường hợp name đơn giản\n return formState.errors[name]?.message || formState.errors[name]?.root?.message;\n};\n\nconst AutoFormField = ({\n name,\n label,\n description,\n children,\n className,\n disabled,\n noShowError,\n hidden,\n ...props\n}: AutoFormFieldProps) => {\n // Lấy context từ FormProvider\n const { control, formState } = useFormContext();\n\n if (hidden) return;\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field }) => {\n const errorMessage = getFieldError(formState, name);\n\n return (\n <FormItem className={className}>\n {label && <FormLabel className=\"!text-t14m\">{label}</FormLabel>}\n <FormControl>\n {typeof children === 'function'\n ? children({ ...field, isError: !!errorMessage, errorMessage })\n : React.cloneElement(children as React.ReactElement, {\n ...field,\n isError: !!errorMessage && !noShowError,\n errorMessage,\n })}\n </FormControl>\n {description && (!errorMessage || noShowError) && (\n <FormDescription>{description}</FormDescription>\n )}\n {!noShowError && <FormMessage />}\n </FormItem>\n );\n }}\n disabled={disabled}\n {...props}\n />\n );\n};\n\n// --- Gán Field vào Root component để tạo thành Compound Component ---\nexport const AutoForm = Object.assign(AutoFormRoot, {\n Field: AutoFormField,\n});\n"]}