@godxjp/ui 6.0.0 → 6.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 (434) hide show
  1. package/dist/app/index.d.ts +140 -0
  2. package/dist/app/index.js +38 -0
  3. package/dist/app.prop-IobwLwaM.d.ts +90 -0
  4. package/dist/checkbox-NkFkqsQ8.d.ts +13 -0
  5. package/dist/chunk-2XW7J3EI.js +226 -0
  6. package/dist/chunk-3F2AKYRD.js +416 -0
  7. package/dist/chunk-3KPEZ5CF.js +37 -0
  8. package/dist/chunk-3UGU5TYP.js +89 -0
  9. package/{src/props/registry.ts → dist/chunk-6RA3KSVK.js} +118 -133
  10. package/dist/chunk-7NZFVD24.js +122 -0
  11. package/dist/chunk-7PWBC4BY.js +25 -0
  12. package/dist/chunk-7S7MYFXE.js +61 -0
  13. package/dist/chunk-7WRZG2IG.js +71 -0
  14. package/dist/chunk-B775Y6BE.js +1 -0
  15. package/dist/chunk-BHV2FUOA.js +111 -0
  16. package/dist/chunk-BI3HERR7.js +70 -0
  17. package/dist/chunk-BPSKQUL2.js +68 -0
  18. package/dist/chunk-CDWPQ5RP.js +187 -0
  19. package/dist/chunk-CP2LET6N.js +244 -0
  20. package/dist/chunk-CQBADMFG.js +20 -0
  21. package/dist/chunk-CRERCLIZ.js +33 -0
  22. package/dist/chunk-DU6ZYZRP.js +238 -0
  23. package/dist/chunk-DY5C44UP.js +55 -0
  24. package/dist/chunk-E4HJNQ62.js +117 -0
  25. package/dist/chunk-E76QIYSY.js +93 -0
  26. package/dist/chunk-F7PG4OEV.js +37 -0
  27. package/dist/chunk-GDSVW62T.js +171 -0
  28. package/dist/chunk-H2FHJOLU.js +178 -0
  29. package/dist/chunk-HJEBRCXL.js +55 -0
  30. package/dist/chunk-ICM6XBST.js +16 -0
  31. package/{src/components/data-entry/calendar.tsx → dist/chunk-IK7I3ABN.js} +33 -35
  32. package/dist/chunk-L6J44O74.js +144 -0
  33. package/dist/chunk-LDSLS6HE.js +1 -0
  34. package/dist/chunk-LVNUHUEZ.js +191 -0
  35. package/dist/chunk-M64MVRLS.js +92 -0
  36. package/dist/chunk-NGQW3KEM.js +402 -0
  37. package/dist/chunk-NZ4FOC5N.js +559 -0
  38. package/dist/chunk-PIIRNAXA.js +26 -0
  39. package/dist/chunk-S66TJXJU.js +33 -0
  40. package/dist/chunk-SMLKNECP.js +133 -0
  41. package/dist/chunk-TAHBM3F2.js +66 -0
  42. package/dist/chunk-TO33OY4L.js +150 -0
  43. package/dist/chunk-TO7URV7U.js +51 -0
  44. package/dist/chunk-TOO5AEKL.js +81 -0
  45. package/dist/chunk-U3GHAOIJ.js +299 -0
  46. package/dist/chunk-U7N2A7A3.js +9 -0
  47. package/dist/chunk-UX634MYF.js +123 -0
  48. package/dist/chunk-V6UWJKZF.js +28 -0
  49. package/{src/components/data-entry/input.tsx → dist/chunk-VOHTRR5X.js} +18 -16
  50. package/dist/chunk-WRFKVUPW.js +332 -0
  51. package/dist/chunk-WXW43RK5.js +24 -0
  52. package/{src/components/navigation/tabs.tsx → dist/chunk-XG7XDYIM.js} +46 -53
  53. package/dist/chunk-YFCQKO3B.js +842 -0
  54. package/dist/chunk-ZDWXGWLY.js +73 -0
  55. package/dist/chunk-ZLK5SPT6.js +11 -0
  56. package/dist/chunk-ZS6DTAM2.js +31 -0
  57. package/dist/chunk-ZT5UEUBO.js +1 -0
  58. package/dist/components/admin/index.d.ts +80 -0
  59. package/dist/components/admin/index.js +38 -0
  60. package/dist/components/data-display/badge.d.ts +12 -0
  61. package/dist/components/data-display/badge.js +3 -0
  62. package/dist/components/data-display/card.d.ts +87 -0
  63. package/dist/components/data-display/card.js +2 -0
  64. package/dist/components/data-display/index.d.ts +72 -0
  65. package/dist/components/data-display/index.js +89 -0
  66. package/dist/components/data-display/popover.d.ts +13 -0
  67. package/dist/components/data-display/popover.js +2 -0
  68. package/dist/components/data-display/scroll-area.d.ts +7 -0
  69. package/dist/components/data-display/scroll-area.js +2 -0
  70. package/dist/components/data-display/table.d.ts +10 -0
  71. package/dist/components/data-display/table.js +3 -0
  72. package/dist/components/data-entry/autocomplete.d.ts +16 -0
  73. package/dist/components/data-entry/autocomplete.js +8 -0
  74. package/dist/components/data-entry/calendar.d.ts +16 -0
  75. package/dist/components/data-entry/calendar.js +4 -0
  76. package/dist/components/data-entry/cascader.d.ts +32 -0
  77. package/dist/components/data-entry/cascader.js +13 -0
  78. package/dist/components/data-entry/checkbox.d.ts +13 -0
  79. package/dist/components/data-entry/checkbox.js +4 -0
  80. package/dist/components/data-entry/color-picker.d.ts +16 -0
  81. package/dist/components/data-entry/color-picker.js +6 -0
  82. package/dist/components/data-entry/command.d.ts +69 -0
  83. package/dist/components/data-entry/command.js +3 -0
  84. package/dist/components/data-entry/date-picker.d.ts +16 -0
  85. package/dist/components/data-entry/date-picker.js +8 -0
  86. package/dist/components/data-entry/date-range-picker.d.ts +16 -0
  87. package/dist/components/data-entry/date-range-picker.js +8 -0
  88. package/dist/components/data-entry/index.d.ts +53 -0
  89. package/dist/components/data-entry/index.js +152 -0
  90. package/dist/components/data-entry/input.d.ts +6 -0
  91. package/dist/components/data-entry/input.js +2 -0
  92. package/dist/components/data-entry/label.d.ts +8 -0
  93. package/dist/components/data-entry/label.js +2 -0
  94. package/dist/components/data-entry/radio.d.ts +24 -0
  95. package/dist/components/data-entry/radio.js +4 -0
  96. package/dist/components/data-entry/select.d.ts +18 -0
  97. package/dist/components/data-entry/select.js +3 -0
  98. package/dist/components/data-entry/slider.d.ts +16 -0
  99. package/dist/components/data-entry/slider.js +2 -0
  100. package/dist/components/data-entry/switch.d.ts +17 -0
  101. package/dist/components/data-entry/switch.js +2 -0
  102. package/dist/components/data-entry/textarea.d.ts +6 -0
  103. package/dist/components/data-entry/textarea.js +3 -0
  104. package/dist/components/data-entry/time-picker.d.ts +16 -0
  105. package/dist/components/data-entry/time-picker.js +7 -0
  106. package/dist/components/data-entry/transfer.d.ts +17 -0
  107. package/dist/components/data-entry/transfer.js +11 -0
  108. package/dist/components/data-entry/tree-select.d.ts +26 -0
  109. package/dist/components/data-entry/tree-select.js +13 -0
  110. package/dist/components/data-entry/upload.d.ts +42 -0
  111. package/dist/components/data-entry/upload.js +11 -0
  112. package/dist/components/feedback/alert.d.ts +60 -0
  113. package/dist/components/feedback/alert.js +7 -0
  114. package/dist/components/feedback/dialog.d.ts +64 -0
  115. package/dist/components/feedback/dialog.js +7 -0
  116. package/dist/components/feedback/index.d.ts +16 -0
  117. package/dist/components/feedback/index.js +14 -0
  118. package/dist/components/feedback/sheet.d.ts +24 -0
  119. package/dist/components/feedback/sheet.js +2 -0
  120. package/dist/components/feedback/sonner.d.ts +6 -0
  121. package/dist/components/feedback/sonner.js +1 -0
  122. package/dist/components/general/button.d.ts +20 -0
  123. package/dist/components/general/button.js +2 -0
  124. package/dist/components/general/index.d.ts +6 -0
  125. package/dist/components/general/index.js +2 -0
  126. package/dist/components/layout/index.d.ts +71 -0
  127. package/dist/components/layout/index.js +5 -0
  128. package/dist/components/navigation/dropdown-menu.d.ts +28 -0
  129. package/dist/components/navigation/dropdown-menu.js +2 -0
  130. package/dist/components/navigation/index.d.ts +32 -0
  131. package/dist/components/navigation/index.js +12 -0
  132. package/dist/components/navigation/pagination.d.ts +11 -0
  133. package/dist/components/navigation/pagination.js +7 -0
  134. package/dist/components/navigation/steps.d.ts +12 -0
  135. package/dist/components/navigation/steps.js +3 -0
  136. package/dist/components/navigation/tabs-items.d.ts +12 -0
  137. package/dist/components/navigation/tabs-items.js +3 -0
  138. package/dist/components/navigation/tabs.d.ts +12 -0
  139. package/dist/components/navigation/tabs.js +2 -0
  140. package/dist/components/query/index.d.ts +43 -0
  141. package/dist/components/query/index.js +8 -0
  142. package/dist/components/ui/index.d.ts +57 -0
  143. package/dist/components/ui/index.js +37 -0
  144. package/{src/props/vocabulary/content.prop.ts → dist/content.prop-D1Dd3TAc.d.ts} +16 -20
  145. package/dist/data-display.prop-DNTAzmDy.d.ts +58 -0
  146. package/dist/data-entry.prop-BEGA1lTq.d.ts +323 -0
  147. package/dist/data-table-D1u_rKLK.d.ts +83 -0
  148. package/dist/data.prop-BVvfKC_g.d.ts +41 -0
  149. package/dist/feedback.prop-BmxUlpAW.d.ts +64 -0
  150. package/dist/filter-bar-B7OGFO9S.d.ts +10 -0
  151. package/dist/form/index.d.ts +21 -0
  152. package/dist/form/index.js +4 -0
  153. package/dist/form.prop-BHgpuFFm.d.ts +41 -0
  154. package/dist/format-date-ByyZoqI5.d.ts +51 -0
  155. package/dist/general.prop-D7brMPNL.d.ts +16 -0
  156. package/dist/i18n/index.d.ts +217 -0
  157. package/dist/i18n/index.js +2 -0
  158. package/dist/index.d.ts +53 -0
  159. package/dist/index.js +39 -0
  160. package/dist/inline-C5u6ptJV.d.ts +10 -0
  161. package/dist/interaction.prop-Cdn7wOtq.d.ts +25 -0
  162. package/{src/props/vocabulary/layout.prop.ts → dist/layout.prop-4TCNvyQZ.d.ts} +9 -14
  163. package/dist/layout.prop-C795F0qg.d.ts +112 -0
  164. package/dist/lib/datetime/index.d.ts +31 -0
  165. package/dist/lib/datetime/index.js +1 -0
  166. package/dist/lib/utils.d.ts +5 -0
  167. package/dist/lib/utils.js +1 -0
  168. package/dist/navigation.prop-DpZqcXey.d.ts +78 -0
  169. package/dist/navigation.prop-DxBiClEH.d.ts +20 -0
  170. package/dist/props/components/index.d.ts +27 -0
  171. package/dist/props/components/index.js +1 -0
  172. package/dist/props/index.d.ts +28 -0
  173. package/dist/props/index.js +3 -0
  174. package/dist/props/registry.d.ts +649 -0
  175. package/dist/props/registry.js +1 -0
  176. package/dist/props/vocabulary/index.d.ts +7 -0
  177. package/dist/props/vocabulary/index.js +1 -0
  178. package/dist/query.prop-hIPrk2zI.d.ts +71 -0
  179. package/dist/search-input-uP01rY1L.d.ts +22 -0
  180. package/dist/shared.prop-BNRJc9K0.d.ts +45 -0
  181. package/{src → dist}/styles/control.css +1 -1
  182. package/dist/types-mvzYGrma.d.ts +37 -0
  183. package/dist/use-toast-Dol5bdY3.d.ts +34 -0
  184. package/package.json +234 -68
  185. package/src/app/__tests__/app-provider.test.tsx +0 -232
  186. package/src/app/__tests__/date-format-labels.test.ts +0 -36
  187. package/src/app/__tests__/date-formats.test.ts +0 -44
  188. package/src/app/__tests__/timezones.test.ts +0 -65
  189. package/src/app/app-provider.tsx +0 -227
  190. package/src/app/date-format-labels.ts +0 -21
  191. package/src/app/date-formats.ts +0 -30
  192. package/src/app/index.ts +0 -40
  193. package/src/app/locales.ts +0 -32
  194. package/src/app/request-headers.ts +0 -31
  195. package/src/app/storage.ts +0 -44
  196. package/src/app/time-format-labels.ts +0 -19
  197. package/src/app/time-formats.ts +0 -15
  198. package/src/app/timezones.ts +0 -208
  199. package/src/app/types.ts +0 -39
  200. package/src/app/use-formatting.ts +0 -47
  201. package/src/components/__tests__/accessibility-primitives.test.tsx +0 -65
  202. package/src/components/__tests__/docs-parity.test.ts +0 -41
  203. package/src/components/__tests__/shadcn-release-guardrails.test.ts +0 -71
  204. package/src/components/__tests__/theme-axes-integration.test.tsx +0 -242
  205. package/src/components/admin/index.ts +0 -76
  206. package/src/components/data-display/__tests__/card-table.test.tsx +0 -328
  207. package/src/components/data-display/__tests__/data-display.test.tsx +0 -73
  208. package/src/components/data-display/__tests__/data-table.test.tsx +0 -84
  209. package/src/components/data-display/__tests__/popover.test.tsx +0 -92
  210. package/src/components/data-display/__tests__/scroll-area-collapsible.test.tsx +0 -66
  211. package/src/components/data-display/badge.tsx +0 -27
  212. package/src/components/data-display/card.tsx +0 -194
  213. package/src/components/data-display/code-badge.tsx +0 -28
  214. package/src/components/data-display/collapsible.tsx +0 -5
  215. package/src/components/data-display/data-table.tsx +0 -476
  216. package/src/components/data-display/empty-state.tsx +0 -22
  217. package/src/components/data-display/index.ts +0 -41
  218. package/src/components/data-display/key-value-grid.tsx +0 -46
  219. package/src/components/data-display/popover.tsx +0 -62
  220. package/src/components/data-display/progress-meter.tsx +0 -20
  221. package/src/components/data-display/scan-panel.tsx +0 -16
  222. package/src/components/data-display/scroll-area.tsx +0 -42
  223. package/src/components/data-display/status-badge.tsx +0 -83
  224. package/src/components/data-display/table.tsx +0 -59
  225. package/src/components/data-display/timeline.tsx +0 -42
  226. package/src/components/data-display/tree-list.tsx +0 -42
  227. package/src/components/data-entry/__fixtures__/tree-options.ts +0 -80
  228. package/src/components/data-entry/__tests__/cascader-tree-transfer.test.tsx +0 -417
  229. package/src/components/data-entry/__tests__/checkbox-group.test.tsx +0 -40
  230. package/src/components/data-entry/__tests__/checkbox.test.tsx +0 -20
  231. package/src/components/data-entry/__tests__/date-autocomplete.test.tsx +0 -94
  232. package/src/components/data-entry/__tests__/form-field.test.tsx +0 -49
  233. package/src/components/data-entry/__tests__/input-textarea.test.tsx +0 -38
  234. package/src/components/data-entry/__tests__/label-select.test.tsx +0 -62
  235. package/src/components/data-entry/__tests__/pickers.test.tsx +0 -74
  236. package/src/components/data-entry/__tests__/radio.test.tsx +0 -46
  237. package/src/components/data-entry/__tests__/search-input.test.tsx +0 -32
  238. package/src/components/data-entry/__tests__/switch-field.test.tsx +0 -52
  239. package/src/components/data-entry/__tests__/upload.test.tsx +0 -125
  240. package/src/components/data-entry/autocomplete.tsx +0 -91
  241. package/src/components/data-entry/cascader.tsx +0 -305
  242. package/src/components/data-entry/checkbox-group.tsx +0 -90
  243. package/src/components/data-entry/checkbox.tsx +0 -30
  244. package/src/components/data-entry/choice-field.tsx +0 -27
  245. package/src/components/data-entry/choice-option.ts +0 -20
  246. package/src/components/data-entry/color-picker.tsx +0 -75
  247. package/src/components/data-entry/command.tsx +0 -56
  248. package/src/components/data-entry/country-select.tsx +0 -88
  249. package/src/components/data-entry/date-picker.tsx +0 -69
  250. package/src/components/data-entry/date-range-picker.tsx +0 -75
  251. package/src/components/data-entry/form-field.tsx +0 -59
  252. package/src/components/data-entry/index.ts +0 -62
  253. package/src/components/data-entry/label.tsx +0 -25
  254. package/src/components/data-entry/radio.tsx +0 -109
  255. package/src/components/data-entry/search-input.tsx +0 -103
  256. package/src/components/data-entry/select.tsx +0 -149
  257. package/src/components/data-entry/slider.tsx +0 -38
  258. package/src/components/data-entry/switch-field.tsx +0 -91
  259. package/src/components/data-entry/switch.tsx +0 -24
  260. package/src/components/data-entry/textarea.tsx +0 -12
  261. package/src/components/data-entry/time-picker.tsx +0 -214
  262. package/src/components/data-entry/transfer.tsx +0 -231
  263. package/src/components/data-entry/tree-select-strategy.ts +0 -6
  264. package/src/components/data-entry/tree-select.tsx +0 -279
  265. package/src/components/data-entry/tree-utils.ts +0 -221
  266. package/src/components/data-entry/upload-crop-dialog.tsx +0 -109
  267. package/src/components/data-entry/upload-types.ts +0 -86
  268. package/src/components/data-entry/upload.tsx +0 -498
  269. package/src/components/data-entry/use-upload-draft.ts +0 -93
  270. package/src/components/feedback/__tests__/alert.test.tsx +0 -127
  271. package/src/components/feedback/__tests__/dialog.test.tsx +0 -290
  272. package/src/components/feedback/__tests__/sheet.test.tsx +0 -94
  273. package/src/components/feedback/__tests__/skeleton.test.tsx +0 -25
  274. package/src/components/feedback/__tests__/toast.test.tsx +0 -52
  275. package/src/components/feedback/alert.tsx +0 -167
  276. package/src/components/feedback/dialog.tsx +0 -325
  277. package/src/components/feedback/index.ts +0 -53
  278. package/src/components/feedback/sheet.tsx +0 -130
  279. package/src/components/feedback/skeleton.tsx +0 -95
  280. package/src/components/feedback/sonner.tsx +0 -54
  281. package/src/components/feedback/toaster.tsx +0 -1
  282. package/src/components/feedback/use-toast.ts +0 -62
  283. package/src/components/general/__tests__/button.test.tsx +0 -71
  284. package/src/components/general/button.tsx +0 -61
  285. package/src/components/general/index.ts +0 -2
  286. package/src/components/layout/__tests__/page-container.test.tsx +0 -69
  287. package/src/components/layout/__tests__/page-inset.test.tsx +0 -14
  288. package/src/components/layout/__tests__/stack-inline.test.tsx +0 -39
  289. package/src/components/layout/app-shell.tsx +0 -42
  290. package/src/components/layout/breadcrumb.tsx +0 -35
  291. package/src/components/layout/index.ts +0 -31
  292. package/src/components/layout/inline.tsx +0 -13
  293. package/src/components/layout/menu.tsx +0 -34
  294. package/src/components/layout/mobile-frame.tsx +0 -57
  295. package/src/components/layout/page-container.tsx +0 -81
  296. package/src/components/layout/page-inset.tsx +0 -16
  297. package/src/components/layout/responsive-grid.tsx +0 -14
  298. package/src/components/layout/shell-app.tsx +0 -30
  299. package/src/components/layout/sidebar.tsx +0 -98
  300. package/src/components/layout/split-pane.tsx +0 -16
  301. package/src/components/layout/stack.tsx +0 -13
  302. package/src/components/layout/topbar.tsx +0 -108
  303. package/src/components/navigation/__tests__/app-pickers.test.tsx +0 -118
  304. package/src/components/navigation/__tests__/dropdown-menu.test.tsx +0 -104
  305. package/src/components/navigation/__tests__/navigation.test.tsx +0 -61
  306. package/src/components/navigation/__tests__/pagination-steps-tabs.test.tsx +0 -76
  307. package/src/components/navigation/date-format-picker.tsx +0 -55
  308. package/src/components/navigation/dropdown-menu.tsx +0 -190
  309. package/src/components/navigation/filter-bar.tsx +0 -38
  310. package/src/components/navigation/index.ts +0 -28
  311. package/src/components/navigation/locale-picker.tsx +0 -49
  312. package/src/components/navigation/page-header.tsx +0 -50
  313. package/src/components/navigation/pagination-utils.ts +0 -35
  314. package/src/components/navigation/pagination.tsx +0 -168
  315. package/src/components/navigation/steps.tsx +0 -163
  316. package/src/components/navigation/tabs-items.tsx +0 -69
  317. package/src/components/navigation/time-format-picker.tsx +0 -55
  318. package/src/components/navigation/timezone-picker.tsx +0 -63
  319. package/src/components/query/__tests__/data-state.test.tsx +0 -214
  320. package/src/components/query/__tests__/infinite-prefetch.test.tsx +0 -105
  321. package/src/components/query/__tests__/query-helpers.test.tsx +0 -61
  322. package/src/components/query/data-state.tsx +0 -58
  323. package/src/components/query/index.ts +0 -10
  324. package/src/components/query/infinite-query-state.tsx +0 -99
  325. package/src/components/query/mutation-feedback.tsx +0 -31
  326. package/src/components/query/prefetch-link.tsx +0 -45
  327. package/src/components/query/query-refetch-button.tsx +0 -41
  328. package/src/components/ui/alert-dialog.tsx +0 -1
  329. package/src/components/ui/alert.tsx +0 -1
  330. package/src/components/ui/autocomplete.tsx +0 -1
  331. package/src/components/ui/badge.tsx +0 -1
  332. package/src/components/ui/button.tsx +0 -1
  333. package/src/components/ui/calendar.tsx +0 -1
  334. package/src/components/ui/card.tsx +0 -1
  335. package/src/components/ui/checkbox.tsx +0 -1
  336. package/src/components/ui/color-picker.tsx +0 -1
  337. package/src/components/ui/command.tsx +0 -1
  338. package/src/components/ui/date-picker.tsx +0 -1
  339. package/src/components/ui/date-range-picker.tsx +0 -1
  340. package/src/components/ui/dialog.tsx +0 -1
  341. package/src/components/ui/dropdown-menu.tsx +0 -1
  342. package/src/components/ui/index.tsx +0 -31
  343. package/src/components/ui/input.tsx +0 -1
  344. package/src/components/ui/label.tsx +0 -1
  345. package/src/components/ui/pagination.tsx +0 -1
  346. package/src/components/ui/popover.tsx +0 -1
  347. package/src/components/ui/radio.tsx +0 -1
  348. package/src/components/ui/scroll-area.tsx +0 -1
  349. package/src/components/ui/select.tsx +0 -1
  350. package/src/components/ui/sheet.tsx +0 -1
  351. package/src/components/ui/slider.tsx +0 -1
  352. package/src/components/ui/sonner.tsx +0 -1
  353. package/src/components/ui/switch.tsx +0 -1
  354. package/src/components/ui/table.tsx +0 -1
  355. package/src/components/ui/tabs-items.tsx +0 -1
  356. package/src/components/ui/tabs.tsx +0 -1
  357. package/src/components/ui/textarea.tsx +0 -1
  358. package/src/components/ui/time-picker.tsx +0 -1
  359. package/src/components/ui/upload.tsx +0 -1
  360. package/src/form/__tests__/use-zod-form.test.tsx +0 -97
  361. package/src/form/form-field-control.tsx +0 -44
  362. package/src/form/form-root.tsx +0 -29
  363. package/src/form/index.ts +0 -7
  364. package/src/form/use-zod-form.ts +0 -29
  365. package/src/i18n/__tests__/translate.test.ts +0 -23
  366. package/src/i18n/index.ts +0 -9
  367. package/src/i18n/messages/en.json +0 -171
  368. package/src/i18n/messages/ja.json +0 -171
  369. package/src/i18n/messages/vi.json +0 -171
  370. package/src/i18n/translate.ts +0 -74
  371. package/src/i18n/use-translation.ts +0 -53
  372. package/src/index.ts +0 -3
  373. package/src/lib/__tests__/control-styles.test.ts +0 -78
  374. package/src/lib/__tests__/datetime.test.ts +0 -77
  375. package/src/lib/__tests__/format-date.test.ts +0 -97
  376. package/src/lib/__tests__/format.test.ts +0 -62
  377. package/src/lib/__tests__/theme-tokens-audit.test.ts +0 -176
  378. package/src/lib/__tests__/theme-tokens-css.test.ts +0 -118
  379. package/src/lib/__tests__/token-governance.test.ts +0 -191
  380. package/src/lib/__tests__/variants.test.ts +0 -18
  381. package/src/lib/control-styles.ts +0 -33
  382. package/src/lib/datetime/detect.ts +0 -25
  383. package/src/lib/datetime/format-date.ts +0 -100
  384. package/src/lib/datetime/format.ts +0 -140
  385. package/src/lib/datetime/index.ts +0 -25
  386. package/src/lib/datetime/parse.ts +0 -51
  387. package/src/lib/datetime/sync.ts +0 -48
  388. package/src/lib/format.ts +0 -114
  389. package/src/lib/hooks.ts +0 -54
  390. package/src/lib/utils.ts +0 -6
  391. package/src/lib/variants.ts +0 -40
  392. package/src/props/components/app.prop.ts +0 -99
  393. package/src/props/components/data-display.prop.ts +0 -73
  394. package/src/props/components/data-entry.prop.ts +0 -334
  395. package/src/props/components/feedback.prop.ts +0 -80
  396. package/src/props/components/form.prop.ts +0 -46
  397. package/src/props/components/general.prop.ts +0 -18
  398. package/src/props/components/index.ts +0 -99
  399. package/src/props/components/layout.prop.ts +0 -130
  400. package/src/props/components/navigation.prop.ts +0 -88
  401. package/src/props/components/query.prop.ts +0 -94
  402. package/src/props/index.ts +0 -17
  403. package/src/props/vocabulary/data.prop.ts +0 -46
  404. package/src/props/vocabulary/index.ts +0 -73
  405. package/src/props/vocabulary/interaction.prop.ts +0 -42
  406. package/src/props/vocabulary/navigation.prop.ts +0 -19
  407. package/src/props/vocabulary/shared.prop.ts +0 -59
  408. package/src/test/__tests__/render-loop-guard.test.tsx +0 -38
  409. package/src/test/jest-dom.d.ts +0 -4
  410. package/src/test/render-loop-guard.tsx +0 -50
  411. package/src/test/render.tsx +0 -29
  412. package/src/test/theme-globals.test.ts +0 -77
  413. package/src/test/theme-globals.ts +0 -134
  414. package/src/test/theme-test-utils.tsx +0 -67
  415. /package/{src → dist}/styles/alert-layout.css +0 -0
  416. /package/{src → dist}/styles/badge-layout.css +0 -0
  417. /package/{src → dist}/styles/card-layout.css +0 -0
  418. /package/{src → dist}/styles/data-display-layout.css +0 -0
  419. /package/{src → dist}/styles/density.css +0 -0
  420. /package/{src → dist}/styles/dialog-layout.css +0 -0
  421. /package/{src → dist}/styles/index.css +0 -0
  422. /package/{src → dist}/styles/layout.css +0 -0
  423. /package/{src → dist}/styles/shell-layout.css +0 -0
  424. /package/{src → dist}/styles/table-layout.css +0 -0
  425. /package/{src → dist}/theme/example.service.css +0 -0
  426. /package/{src → dist}/tokens/base.css +0 -0
  427. /package/{src → dist}/tokens/foundation.css +0 -0
  428. /package/{src → dist}/tokens/primitives/badge.css +0 -0
  429. /package/{src → dist}/tokens/primitives/card.css +0 -0
  430. /package/{src → dist}/tokens/primitives/control.css +0 -0
  431. /package/{src → dist}/tokens/primitives/feedback.css +0 -0
  432. /package/{src → dist}/tokens/primitives/layout.css +0 -0
  433. /package/{src → dist}/tokens/primitives/navigation.css +0 -0
  434. /package/{src → dist}/tokens/primitives/table.css +0 -0
@@ -0,0 +1,41 @@
1
+ import * as React from 'react';
2
+ import { C as ColumnAlignProp, S as SortDirectionProp } from './interaction.prop-Cdn7wOtq.js';
3
+ import { T as TableDensityProp } from './layout.prop-4TCNvyQZ.js';
4
+
5
+ /**
6
+ * Data & collection prop types.
7
+ * @see docs/PROPS-VOCABULARY.md#data-collections
8
+ */
9
+
10
+ /** Generic row identifier extractor for tables with selection. */
11
+ type GetRowIdProp<T> = (row: T) => string;
12
+ /** Row click navigation handler. */
13
+ type OnRowClickProp<T> = (row: T) => void;
14
+ /** Column definition for DataTable. */
15
+ type ColumnDefProp<T> = {
16
+ key: string;
17
+ header: React.ReactNode;
18
+ render?: (row: T) => React.ReactNode;
19
+ sortable?: boolean;
20
+ width?: string;
21
+ align?: ColumnAlignProp;
22
+ };
23
+ /** Set of selected row IDs. */
24
+ type SelectedIdsProp = Set<string>;
25
+ /** Selection change callback. */
26
+ type OnSelectChangeProp = (next: Set<string>) => void;
27
+ /** Table density change callback. */
28
+ type OnTableDensityChangeProp = (density: TableDensityProp) => void;
29
+ /** Sort change callback — undefined clears sort. */
30
+ type OnSortChangeProp = (sort: {
31
+ key: string;
32
+ direction: SortDirectionProp;
33
+ } | undefined) => void;
34
+ /** Search debounce callback. */
35
+ type OnSearchChangeProp = (query: string) => void;
36
+ /** Filter bar reset handler. */
37
+ type OnClearFiltersProp = () => void;
38
+ /** Whether any filter is active — shows "Clear all". */
39
+ type HasActiveFiltersProp = boolean;
40
+
41
+ export type { ColumnDefProp as C, GetRowIdProp as G, HasActiveFiltersProp as H, OnClearFiltersProp as O, SelectedIdsProp as S, OnRowClickProp as a, OnSearchChangeProp as b, OnSelectChangeProp as c, OnSortChangeProp as d, OnTableDensityChangeProp as e };
@@ -0,0 +1,64 @@
1
+ import * as React from 'react';
2
+ import { H as HandlerProp, a as ClassNameProp, e as OpenProp, d as OnOpenChangeProp, P as PendingProp, C as ChildrenProp } from './shared.prop-BNRJc9K0.js';
3
+ import { T as TitleProp, D as DescriptionProp, b as ConfirmLabelProp, C as CancelLabelProp, I as IconProp } from './content.prop-D1Dd3TAc.js';
4
+ import { b as ConfirmVariantProp, A as AlertVariantProp } from './interaction.prop-Cdn7wOtq.js';
5
+
6
+ /** Feedback component prop types — @see docs/COMPONENTS.md#feedback */
7
+
8
+ /** @see Dialog.Confirm */
9
+ type DialogConfirmProp = {
10
+ open: OpenProp;
11
+ onOpenChange: OnOpenChangeProp;
12
+ title: TitleProp;
13
+ description?: DescriptionProp;
14
+ confirmLabel?: ConfirmLabelProp;
15
+ cancelLabel?: CancelLabelProp;
16
+ variant?: ConfirmVariantProp;
17
+ /** Type-to-confirm friction — enables destructive flow (GitHub/Stripe style). */
18
+ confirmPhrase?: string;
19
+ onConfirm: HandlerProp;
20
+ keepOpenOnConfirm?: boolean;
21
+ pending?: PendingProp;
22
+ };
23
+ /** @see Alert */
24
+ type AlertQueryErrorProp = {
25
+ error: unknown;
26
+ onRetry?: HandlerProp;
27
+ className?: ClassNameProp;
28
+ };
29
+ /** @see Alert */
30
+ type AlertProp = React.HTMLAttributes<HTMLDivElement> & {
31
+ variant?: AlertVariantProp;
32
+ /** Pass `false` to hide the default variant icon. */
33
+ icon?: IconProp | false;
34
+ onDismiss?: HandlerProp;
35
+ className?: ClassNameProp;
36
+ children?: ChildrenProp;
37
+ };
38
+ /** @see AlertTitle */
39
+ type AlertTitleProp = React.HTMLAttributes<HTMLParagraphElement> & {
40
+ className?: ClassNameProp;
41
+ children?: ChildrenProp;
42
+ };
43
+ /** @see AlertContent — groups title + description; pairs with {@link AlertActions}. */
44
+ type AlertContentProp = React.HTMLAttributes<HTMLDivElement> & {
45
+ className?: ClassNameProp;
46
+ children?: ChildrenProp;
47
+ };
48
+ /** @see AlertDescription */
49
+ type AlertDescriptionProp = React.HTMLAttributes<HTMLParagraphElement> & {
50
+ className?: ClassNameProp;
51
+ children?: ChildrenProp;
52
+ };
53
+ /** @see AlertActions */
54
+ type AlertActionsProp = React.HTMLAttributes<HTMLDivElement> & {
55
+ className?: ClassNameProp;
56
+ children?: ChildrenProp;
57
+ };
58
+ /** @see SkeletonRows */
59
+ type SkeletonRowsProp = {
60
+ rows?: number;
61
+ columns?: number;
62
+ };
63
+
64
+ export type { AlertActionsProp as A, DialogConfirmProp as D, SkeletonRowsProp as S, AlertContentProp as a, AlertDescriptionProp as b, AlertProp as c, AlertQueryErrorProp as d, AlertTitleProp as e };
@@ -0,0 +1,10 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { a as PageHeaderProp } from './layout.prop-C795F0qg.js';
3
+ import { F as FilterBarProp, a as FilterGroupProp } from './navigation.prop-DpZqcXey.js';
4
+
5
+ declare function PageHeader({ title, description, breadcrumb, actions, className }: PageHeaderProp): react_jsx_runtime.JSX.Element;
6
+
7
+ declare function FilterBar({ onClear, hasActiveFilters, className, children, }: FilterBarProp): react_jsx_runtime.JSX.Element;
8
+ declare function FilterGroup({ label, className, children }: FilterGroupProp): react_jsx_runtime.JSX.Element;
9
+
10
+ export { FilterBar as F, PageHeader as P, FilterGroup as a };
@@ -0,0 +1,21 @@
1
+ import { FieldValues, DefaultValues, UseFormReturn } from 'react-hook-form';
2
+ import { z } from 'zod';
3
+ import { U as UseZodFormOptionsProp, b as FormRootProp, a as FormFieldControlProp } from '../form.prop-BHgpuFFm.js';
4
+ export { F as FieldErrorMessageProp, c as UseZodFormReturnProp, Z as ZodSchemaProp } from '../form.prop-BHgpuFFm.js';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import 'react';
7
+ import '../shared.prop-BNRJc9K0.js';
8
+
9
+ /**
10
+ * Mandatory form hook — wraps react-hook-form + @hookform/resolvers/zod (Zod 4).
11
+ */
12
+
13
+ declare function useZodForm<TFieldValues extends FieldValues>(schema: z.ZodType<TFieldValues, FieldValues>, options?: Omit<UseZodFormOptionsProp<TFieldValues>, "defaultValues"> & {
14
+ defaultValues?: DefaultValues<TFieldValues>;
15
+ }): UseFormReturn<TFieldValues>;
16
+
17
+ declare function FormRoot<TFieldValues extends FieldValues>({ form, onSubmit, children, className, id, }: FormRootProp<TFieldValues>): react_jsx_runtime.JSX.Element;
18
+
19
+ declare function FormFieldControl<TFieldValues extends FieldValues>({ name, label, required, helper, className, children, }: FormFieldControlProp<TFieldValues>): react_jsx_runtime.JSX.Element;
20
+
21
+ export { FormFieldControl, FormFieldControlProp, FormRoot, FormRootProp, UseZodFormOptionsProp, useZodForm };
@@ -0,0 +1,4 @@
1
+ export { FormFieldControl, FormRoot, useZodForm } from '../chunk-7WRZG2IG.js';
2
+ import '../chunk-F7PG4OEV.js';
3
+ import '../chunk-7PWBC4BY.js';
4
+ import '../chunk-U7N2A7A3.js';
@@ -0,0 +1,41 @@
1
+ import * as React from 'react';
2
+ import { FieldValues, FieldPath, UseFormReturn, UseFormProps } from 'react-hook-form';
3
+ import { z } from 'zod';
4
+ import { E as ErrorProp, L as LabelProp, R as RequiredProp, b as HelperProp, I as IdProp } from './shared.prop-BNRJc9K0.js';
5
+
6
+ /** Form module prop types — react-hook-form + Zod 4 only. */
7
+
8
+ /** Schema passed to useZodForm — must be Zod 4 object schema. */
9
+ type ZodSchemaProp<T extends z.ZodType = z.ZodType> = T;
10
+ /** Options for useZodForm (resolver injected automatically). */
11
+ type UseZodFormOptionsProp<TFieldValues extends FieldValues> = Omit<UseFormProps<TFieldValues>, "resolver">;
12
+ /** Return type of useZodForm. */
13
+ type UseZodFormReturnProp<TFieldValues extends FieldValues> = UseFormReturn<TFieldValues>;
14
+ /** @see FormRoot */
15
+ type FormRootProp<TFieldValues extends FieldValues> = {
16
+ form: UseZodFormReturnProp<TFieldValues>;
17
+ onSubmit: (values: TFieldValues) => void | Promise<void>;
18
+ children: React.ReactNode;
19
+ className?: string;
20
+ id?: IdProp;
21
+ };
22
+ /** @see FormFieldControl */
23
+ type FormFieldControlProp<TFieldValues extends FieldValues> = {
24
+ name: FieldPath<TFieldValues>;
25
+ label: LabelProp;
26
+ required?: RequiredProp;
27
+ helper?: HelperProp;
28
+ className?: string;
29
+ children: (field: {
30
+ id: string;
31
+ name: string;
32
+ value: unknown;
33
+ onChange: (...args: unknown[]) => void;
34
+ onBlur: () => void;
35
+ ref: React.Ref<HTMLInputElement>;
36
+ }) => React.ReactNode;
37
+ };
38
+ /** Mapped field error from RHF — displayed via FormField error slot. */
39
+ type FieldErrorMessageProp = ErrorProp;
40
+
41
+ export type { FieldErrorMessageProp as F, UseZodFormOptionsProp as U, ZodSchemaProp as Z, FormFieldControlProp as a, FormRootProp as b, UseZodFormReturnProp as c };
@@ -0,0 +1,51 @@
1
+ import { Locale } from 'date-fns';
2
+ import { h as AppLocale, j as AppTimeFormat, g as AppDateFormat } from './types-mvzYGrma.js';
3
+
4
+ type FormatDatetimeOptions = {
5
+ locale?: Locale | AppLocale;
6
+ timezone?: string;
7
+ timeFormat?: AppTimeFormat;
8
+ dateFormat?: AppDateFormat;
9
+ };
10
+ /** Date-only from calendar picker — uses Y/M/D in app timezone. */
11
+ declare function formatCalendarDate(value: Date | null | undefined, options?: FormatDatetimeOptions): string;
12
+ /** Date-only from ISO instant or `yyyy-MM-dd` string — date part in app timezone. */
13
+ declare function formatAppDate(value: string | Date | null | undefined, options?: FormatDatetimeOptions): string;
14
+ /** Date + time in app timezone. */
15
+ declare function formatAppDateTime(value: string | Date | null | undefined, options?: FormatDatetimeOptions): string;
16
+ /** Time from ISO instant in app timezone. */
17
+ declare function formatAppTime(value: string | Date | null | undefined, options?: FormatDatetimeOptions): string;
18
+ /** Long date (PPP) in app timezone. */
19
+ declare function formatAppDateLong(value: string | Date | null | undefined, options?: FormatDatetimeOptions): string;
20
+ /** Relative time — instant-based; locale from context. */
21
+ declare function formatAppRelative(value: string | Date | null | undefined, options?: Pick<FormatDatetimeOptions, "locale">): string;
22
+ /** Format canonical HH:mm (24h storage) for display per timeFormat + locale. */
23
+ declare function formatTimeOfDay(hhmm: string | null | undefined, options?: FormatDatetimeOptions): string;
24
+
25
+ type FormatDateKind = "auto" | "date" | "datetime" | "time" | "long" | "relative" | "calendar";
26
+ /** Infer display kind from raw value — ISO date, HH:mm, or instant. */
27
+ declare function detectFormatDateKind(value: string | Date): Exclude<FormatDateKind, "auto">;
28
+ declare function isDateOnlyString(value: string): boolean;
29
+
30
+ type FormatDateOptions = FormatDatetimeOptions & {
31
+ /**
32
+ * Output preset. Default `auto` detects ISO date / HH:mm / instant.
33
+ * Locale, timezone, and 12h|24h fall back to AppProvider when omitted.
34
+ */
35
+ kind?: FormatDateKind;
36
+ /** Treat `Date` as calendar pick (react-day-picker) — not an instant. */
37
+ calendar?: boolean;
38
+ };
39
+ /**
40
+ * **Single entry point** for all date/time display in GX apps.
41
+ *
42
+ * - Defaults: locale, timezone, timeFormat from AppProvider (`syncDatetimeContext`)
43
+ * - Optional overrides: `{ timezone: "Asia/Tokyo" }` per call
44
+ * - Auto-detect: `"2026-05-01"` → date, `"14:30"` → time, ISO instant → datetime
45
+ * - International patterns: ISO 8601 date (`yyyy-MM-dd`) + ISO datetime (`yyyy-MM-dd HH:mm`)
46
+ */
47
+ declare function formatDate(value: string | Date | null | undefined, options?: FormatDateOptions): string;
48
+ /** True when value looks like a displayable date/time (string or valid Date). */
49
+ declare function isFormatDateValue(value: unknown): value is string | Date;
50
+
51
+ export { type FormatDateKind as F, type FormatDateOptions as a, type FormatDatetimeOptions as b, formatAppDateLong as c, detectFormatDateKind as d, formatAppDateTime as e, formatAppDate as f, formatAppRelative as g, formatAppTime as h, formatCalendarDate as i, formatDate as j, formatTimeOfDay as k, isDateOnlyString as l, isFormatDateValue as m };
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { A as AsChildProp, c as OnClickProp, D as DisabledProp } from './shared.prop-BNRJc9K0.js';
3
+ import { a as ButtonVariantProp, B as ButtonSizeProp } from './interaction.prop-Cdn7wOtq.js';
4
+
5
+ /** Foundation component prop types — @see docs/COMPONENTS.md#foundation */
6
+
7
+ /** @see Button */
8
+ type ButtonProp = React.ButtonHTMLAttributes<HTMLButtonElement> & {
9
+ variant?: ButtonVariantProp;
10
+ size?: ButtonSizeProp;
11
+ asChild?: AsChildProp;
12
+ onClick?: OnClickProp;
13
+ disabled?: DisabledProp;
14
+ };
15
+
16
+ export type { ButtonProp as B };
@@ -0,0 +1,217 @@
1
+ import { h as AppLocale, j as AppTimeFormat, g as AppDateFormat } from '../types-mvzYGrma.js';
2
+ import * as react_day_picker from 'react-day-picker';
3
+ import { DayPickerProps } from 'react-day-picker';
4
+ import * as date_fns from 'date-fns';
5
+
6
+ var common = {
7
+ cancel: "Hủy",
8
+ "continue": "Tiếp tục",
9
+ "delete": "Xóa",
10
+ error: "Đã xảy ra lỗi",
11
+ working: "Đang xử lý…",
12
+ retry: "Thử lại",
13
+ search: "Tìm kiếm",
14
+ clearSearch: "Xóa tìm kiếm",
15
+ clearFilters: "Xóa bộ lọc",
16
+ first: "Đầu",
17
+ next: "Tiếp →",
18
+ selectedCount: "{count} đã chọn",
19
+ typeToConfirm: "Nhập {phrase} để xác nhận"
20
+ };
21
+ var dataEntry = {
22
+ datePicker: {
23
+ placeholder: "Chọn ngày"
24
+ },
25
+ dateRangePicker: {
26
+ placeholder: "Chọn khoảng ngày"
27
+ },
28
+ timePicker: {
29
+ placeholder: "Chọn giờ",
30
+ hour: "Giờ",
31
+ minute: "Phút",
32
+ typeLabel: "Nhập giờ HH:mm"
33
+ },
34
+ searchInput: {
35
+ placeholder: "Tìm kiếm…"
36
+ },
37
+ autocomplete: {
38
+ placeholder: "Tìm hoặc chọn…",
39
+ empty: "Không tìm thấy kết quả"
40
+ },
41
+ colorPicker: {
42
+ ariaLabel: "Chọn màu"
43
+ },
44
+ upload: {
45
+ dropzoneLabel: "Tải file lên",
46
+ dropzoneHint: "Kéo thả file vào đây, hoặc bấm để chọn",
47
+ dropzoneMeta: "Upload vào temp — promote khi lưu form",
48
+ buttonLabel: "Chọn file",
49
+ addImage: "Thêm ảnh",
50
+ uploading: "Đang tải lên…",
51
+ pendingReplace: "Ảnh mới",
52
+ pendingReplaceHint: "Ảnh mới đang chờ — lưu form để áp dụng",
53
+ avatarLabel: "Ảnh đại diện",
54
+ change: "Đổi",
55
+ removeAvatar: "Xóa ảnh",
56
+ markedForDelete: "Ảnh sẽ bị xóa khi bạn lưu",
57
+ undo: "Hoàn tác",
58
+ cropTitle: "Cắt ảnh",
59
+ cropZoom: "Thu phóng",
60
+ cropConfirm: "Dùng ảnh này"
61
+ },
62
+ cascader: {
63
+ placeholder: "Chọn…",
64
+ searchPlaceholder: "Tìm kiếm…",
65
+ empty: "Không có kết quả"
66
+ },
67
+ treeSelect: {
68
+ placeholder: "Chọn…",
69
+ searchPlaceholder: "Tìm kiếm…",
70
+ empty: "Không có dữ liệu",
71
+ expand: "Mở rộng",
72
+ collapse: "Thu gọn"
73
+ },
74
+ transfer: {
75
+ source: "Nguồn",
76
+ target: "Đích",
77
+ searchPlaceholder: "Tìm kiếm…",
78
+ empty: "Không có dữ liệu",
79
+ moveRight: "Chuyển sang đích",
80
+ moveLeft: "Chuyển về nguồn"
81
+ }
82
+ };
83
+ var feedback = {
84
+ errorPanel: {
85
+ title: "Không tải được nội dung này"
86
+ },
87
+ genericError: "Đã xảy ra lỗi. Vui lòng thử lại."
88
+ };
89
+ var navigation = {
90
+ localePicker: {
91
+ ariaLabel: "Ngôn ngữ"
92
+ },
93
+ timezonePicker: {
94
+ ariaLabel: "Múi giờ"
95
+ },
96
+ timeFormatPicker: {
97
+ ariaLabel: "Định dạng giờ"
98
+ },
99
+ dateFormatPicker: {
100
+ ariaLabel: "Định dạng ngày"
101
+ },
102
+ pagination: {
103
+ ariaLabel: "Phân trang",
104
+ prev: "Trang trước",
105
+ next: "Trang sau",
106
+ page: "Trang {page}",
107
+ pageSize: "Số dòng mỗi trang",
108
+ pageSizeOption: "{size} / trang",
109
+ total: "Tổng {total} mục"
110
+ }
111
+ };
112
+ var locale = {
113
+ vi: "Tiếng Việt",
114
+ en: "English",
115
+ ja: "日本語"
116
+ };
117
+ var timeFormat = {
118
+ "24h": "24 giờ",
119
+ "12h": "12 giờ (SA/CH)"
120
+ };
121
+ var dateFormat = {
122
+ iso: "ISO (yyyy-MM-dd)",
123
+ dmy: "Ngày / Tháng / Năm",
124
+ mdy: "Tháng / Ngày / Năm"
125
+ };
126
+ var timezone = {
127
+ "Asia/Ho_Chi_Minh": "Việt Nam (HCM)",
128
+ "Asia/Tokyo": "Nhật Bản (Tokyo)",
129
+ "Asia/Bangkok": "Thái Lan (Bangkok)",
130
+ "Asia/Singapore": "Singapore",
131
+ "Asia/Seoul": "Hàn Quốc (Seoul)",
132
+ "Asia/Shanghai": "Trung Quốc (Shanghai)",
133
+ "Asia/Taipei": "Đài Loan (Taipei)",
134
+ "Asia/Hong_Kong": "Hồng Kông",
135
+ UTC: "UTC",
136
+ "Europe/London": "Anh (London)",
137
+ "America/Los_Angeles": "Mỹ (Los Angeles)",
138
+ "America/New_York": "Mỹ (New York)"
139
+ };
140
+ var dataTable = {
141
+ selectAll: "Chọn tất cả các dòng",
142
+ selectRow: "Chọn dòng {id}",
143
+ bulkActions: "Thao tác hàng loạt",
144
+ densityCompact: "Gọn",
145
+ densityComfortable: "Thoải mái",
146
+ densitySwitch: "Chuyển sang mật độ {density}",
147
+ rowActions: "Thao tác dòng"
148
+ };
149
+ var status = {
150
+ active: "Đang hoạt động",
151
+ completed: "Hoàn thành",
152
+ delivered: "Đã giao",
153
+ done: "Xong",
154
+ permanent: "Vĩnh viễn",
155
+ succeeded: "Thành công",
156
+ draft: "Nháp",
157
+ pending: "Chờ xử lý",
158
+ scheduled: "Đã lên lịch",
159
+ sending: "Đang gửi",
160
+ temporary: "Tạm thời",
161
+ bounced: "Bị trả lại",
162
+ cancelled: "Đã hủy",
163
+ deleted: "Đã xóa",
164
+ failed: "Thất bại",
165
+ "private": "Riêng tư",
166
+ internal: "Nội bộ",
167
+ "public": "Công khai",
168
+ ASSIGNMENT_STATUS_ACTIVE: "Đang hoạt động",
169
+ ASSIGNMENT_STATUS_SUSPENDED: "Tạm ngưng",
170
+ ASSIGNMENT_STATUS_TERMINATED: "Chấm dứt"
171
+ };
172
+ var query = {
173
+ loadMore: "Tải thêm"
174
+ };
175
+ var vi = {
176
+ common: common,
177
+ dataEntry: dataEntry,
178
+ feedback: feedback,
179
+ navigation: navigation,
180
+ locale: locale,
181
+ timeFormat: timeFormat,
182
+ dateFormat: dateFormat,
183
+ timezone: timezone,
184
+ dataTable: dataTable,
185
+ status: status,
186
+ query: query
187
+ };
188
+
189
+ type Messages = typeof vi;
190
+ declare const MESSAGE_CATALOG: Record<AppLocale, Messages>;
191
+ type MessageKey = string;
192
+ type TranslateParams = Record<string, string | number>;
193
+ /** Resolve a dot-path message with fallback locale chain. */
194
+ declare function translate(locale: AppLocale, fallbackLocale: AppLocale, key: MessageKey, params?: TranslateParams): string;
195
+ /** Non-React translate using module-synced locale (see `syncI18nLocale`). */
196
+ declare function translateCurrent(key: MessageKey, params?: TranslateParams): string;
197
+ declare function syncI18nLocale(locale: AppLocale, fallbackLocale: AppLocale): void;
198
+ /** Reset for tests. */
199
+ declare function resetI18nLocale(): void;
200
+
201
+ type DayPickerLocale = NonNullable<DayPickerProps["locale"]>;
202
+ declare function useTranslation(): {
203
+ locale: AppLocale;
204
+ fallbackLocale: AppLocale;
205
+ t: (key: MessageKey, params?: TranslateParams) => string;
206
+ };
207
+ /** date-fns + react-day-picker locales + datetime prefs from AppProvider. */
208
+ declare function usePickerLocales(dayPickerOverride?: DayPickerLocale): {
209
+ locale: AppLocale;
210
+ timezone: string;
211
+ timeFormat: AppTimeFormat;
212
+ dateFormat: AppDateFormat;
213
+ dateFnsLocale: date_fns.Locale;
214
+ dayPickerLocale: Partial<react_day_picker.DayPickerLocale>;
215
+ };
216
+
217
+ export { MESSAGE_CATALOG, type MessageKey, type Messages, type TranslateParams, resetI18nLocale, syncI18nLocale, translate, translateCurrent, usePickerLocales, useTranslation };
@@ -0,0 +1,2 @@
1
+ export { usePickerLocales, useTranslation } from '../chunk-3F2AKYRD.js';
2
+ export { MESSAGE_CATALOG, resetI18nLocale, syncI18nLocale, translate, translateCurrent } from '../chunk-YFCQKO3B.js';
@@ -0,0 +1,53 @@
1
+ export { B as BreadcrumbItem } from './navigation.prop-DxBiClEH.js';
2
+ export { I as InlineProp, P as PageContainerProp, P as PageContainerProps, a as PageHeaderProp, f as StackProp } from './layout.prop-C795F0qg.js';
3
+ export { F as FilterBar, a as FilterGroup, P as PageHeader } from './filter-bar-B7OGFO9S.js';
4
+ export { I as Inline, P as PageContainer, S as Stack } from './inline-C5u6ptJV.js';
5
+ export { C as ColumnDef, D as DataTable, a as Density, E as EmptyState, K as KeyValueGrid, S as StatusBadge } from './data-table-D1u_rKLK.js';
6
+ export { F as FormField, S as SearchInput } from './search-input-uP01rY1L.js';
7
+ export { L as LegacyToastOptions, S as SkeletonCard, a as SkeletonDetail, b as SkeletonRows, c as SkeletonTable, t as toast, u as useToast } from './use-toast-Dol5bdY3.js';
8
+ export { DataState, InfiniteQueryState, MutationFeedback, PrefetchLink, QueryRefetchButton, flattenItemPages } from './components/query/index.js';
9
+ export { Alert, AlertActions, AlertContent, AlertDescription, AlertQueryError, AlertTitle } from './components/feedback/alert.js';
10
+ export { Upload, useUploadDraft } from './components/data-entry/upload.js';
11
+ export { Cascader } from './components/data-entry/cascader.js';
12
+ export { TreeSelect } from './components/data-entry/tree-select.js';
13
+ export { Transfer } from './components/data-entry/transfer.js';
14
+ export { Tabs, TabsContent, TabsList, TabsTrigger } from './components/navigation/tabs.js';
15
+ export { TabsItems } from './components/navigation/tabs-items.js';
16
+ export { Pagination } from './components/navigation/pagination.js';
17
+ export { Steps } from './components/navigation/steps.js';
18
+ export { Dialog, DialogConfirm, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from './components/feedback/dialog.js';
19
+ export { Toaster } from './components/feedback/sonner.js';
20
+ export { formatBytes, formatCurrency, formatDateLong, formatDateTime, formatRelative, humanError, shortId, useDebouncedValue, useTimeoutFlag } from './components/admin/index.js';
21
+ export { FormFieldControl, FormRoot, useZodForm } from './form/index.js';
22
+ export { F as FieldErrorMessageProp, a as FormFieldControlProp, b as FormRootProp, U as UseZodFormOptionsProp, c as UseZodFormReturnProp, Z as ZodSchemaProp } from './form.prop-BHgpuFFm.js';
23
+ export { cn } from './lib/utils.js';
24
+ export { B as collectUploadCommitActions, E as createUploadItem } from './data-entry.prop-BEGA1lTq.js';
25
+ export { j as formatDate } from './format-date-ByyZoqI5.js';
26
+ import './shared.prop-BNRJc9K0.js';
27
+ import 'react';
28
+ import './content.prop-D1Dd3TAc.js';
29
+ import './layout.prop-4TCNvyQZ.js';
30
+ import 'react/jsx-runtime';
31
+ import './navigation.prop-DpZqcXey.js';
32
+ import './data.prop-BVvfKC_g.js';
33
+ import './interaction.prop-Cdn7wOtq.js';
34
+ import './data-display.prop-DNTAzmDy.js';
35
+ import 'sonner';
36
+ import './query.prop-hIPrk2zI.js';
37
+ import '@tanstack/react-query';
38
+ import 'react-router-dom';
39
+ import './general.prop-D7brMPNL.js';
40
+ import './feedback.prop-BmxUlpAW.js';
41
+ import '@radix-ui/react-tabs';
42
+ import '@radix-ui/react-dialog';
43
+ import '@radix-ui/react-alert-dialog';
44
+ import 'react-hook-form';
45
+ import 'zod';
46
+ import 'clsx';
47
+ import '@radix-ui/react-checkbox';
48
+ import '@radix-ui/react-radio-group';
49
+ import '@radix-ui/react-slider';
50
+ import '@radix-ui/react-switch';
51
+ import 'react-day-picker';
52
+ import 'date-fns';
53
+ import './types-mvzYGrma.js';
package/dist/index.js ADDED
@@ -0,0 +1,39 @@
1
+ export { FormFieldControl, FormRoot, useZodForm } from './chunk-7WRZG2IG.js';
2
+ import './chunk-LDSLS6HE.js';
3
+ export { DataState, InfiniteQueryState, MutationFeedback, PrefetchLink, QueryRefetchButton, flattenItemPages } from './chunk-LVNUHUEZ.js';
4
+ export { PageContainer, Stack } from './chunk-WRFKVUPW.js';
5
+ export { FilterBar, FilterGroup, PageHeader } from './chunk-H2FHJOLU.js';
6
+ import './chunk-TO33OY4L.js';
7
+ export { Pagination } from './chunk-GDSVW62T.js';
8
+ export { Steps } from './chunk-L6J44O74.js';
9
+ export { TabsItems } from './chunk-BPSKQUL2.js';
10
+ export { Tabs, TabsContent, TabsList, TabsTrigger } from './chunk-XG7XDYIM.js';
11
+ export { Upload, collectUploadCommitActions, createUploadItem, useUploadDraft } from './chunk-NZ4FOC5N.js';
12
+ import './chunk-UX634MYF.js';
13
+ import './chunk-CRERCLIZ.js';
14
+ export { SearchInput, Transfer, useDebouncedValue, useTimeoutFlag } from './chunk-U3GHAOIJ.js';
15
+ export { TreeSelect } from './chunk-2XW7J3EI.js';
16
+ export { SkeletonCard, SkeletonDetail, SkeletonRows, SkeletonTable, toast, useToast } from './chunk-M64MVRLS.js';
17
+ export { Toaster } from './chunk-TO7URV7U.js';
18
+ export { Cascader } from './chunk-CP2LET6N.js';
19
+ import './chunk-SMLKNECP.js';
20
+ import './chunk-E76QIYSY.js';
21
+ import './chunk-CQBADMFG.js';
22
+ import './chunk-V6UWJKZF.js';
23
+ export { DataTable, EmptyState, KeyValueGrid, StatusBadge } from './chunk-NGQW3KEM.js';
24
+ import './chunk-PIIRNAXA.js';
25
+ import './chunk-DY5C44UP.js';
26
+ import './chunk-3KPEZ5CF.js';
27
+ import './chunk-ZS6DTAM2.js';
28
+ import './chunk-ICM6XBST.js';
29
+ export { Alert, AlertActions, AlertContent, AlertDescription, AlertQueryError, AlertTitle } from './chunk-E4HJNQ62.js';
30
+ export { formatBytes, formatCurrency, formatDateLong, formatDateTime, formatRelative, humanError, shortId } from './chunk-7S7MYFXE.js';
31
+ export { Inline } from './chunk-S66TJXJU.js';
32
+ export { Dialog, DialogConfirm, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from './chunk-DU6ZYZRP.js';
33
+ import './chunk-VOHTRR5X.js';
34
+ import './chunk-HJEBRCXL.js';
35
+ export { FormField } from './chunk-F7PG4OEV.js';
36
+ import './chunk-7PWBC4BY.js';
37
+ import './chunk-3F2AKYRD.js';
38
+ export { formatDate } from './chunk-YFCQKO3B.js';
39
+ export { cn } from './chunk-U7N2A7A3.js';
@@ -0,0 +1,10 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { P as PageContainerProp, f as StackProp, I as InlineProp } from './layout.prop-C795F0qg.js';
3
+
4
+ declare function PageContainer({ title, subtitle, extra, footer, breadcrumb, density, variant, stickyFooter, children, className, }: PageContainerProp): react_jsx_runtime.JSX.Element;
5
+
6
+ declare function Stack({ gap, className, children, ...props }: StackProp): react_jsx_runtime.JSX.Element;
7
+
8
+ declare function Inline({ gap, className, children, ...props }: InlineProp): react_jsx_runtime.JSX.Element;
9
+
10
+ export { Inline as I, PageContainer as P, Stack as S };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Interaction & visual variant prop types.
3
+ * @see docs/PROPS-VOCABULARY.md#interaction-variants
4
+ */
5
+ /** Button visual style. */
6
+ type ButtonVariantProp = "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
7
+ /** Button size preset. */
8
+ type ButtonSizeProp = "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg";
9
+ /** Dialog confirm button emphasis. */
10
+ type ConfirmVariantProp = "default" | "destructive";
11
+ /** Badge / status pill color mapping key. */
12
+ type StatusToneProp = "default" | "success" | "warning" | "destructive" | "muted";
13
+ /** Inline Alert banner — default maps to informational tone. */
14
+ type AlertVariantProp = "default" | "destructive" | "warning" | "success";
15
+ /** Sort direction for table columns. */
16
+ type SortDirectionProp = "asc" | "desc";
17
+ /** Table column text alignment. */
18
+ type ColumnAlignProp = "left" | "center" | "right";
19
+ /** Active sort state on DataTable. */
20
+ type SortStateProp = {
21
+ key: string;
22
+ direction: SortDirectionProp;
23
+ };
24
+
25
+ export type { AlertVariantProp as A, ButtonSizeProp as B, ColumnAlignProp as C, SortDirectionProp as S, ButtonVariantProp as a, ConfirmVariantProp as b, SortStateProp as c, StatusToneProp as d };
@@ -2,24 +2,19 @@
2
2
  * Layout & spacing prop types.
3
3
  * @see docs/PROPS-VOCABULARY.md#layout--density
4
4
  */
5
-
6
5
  /** Page-level density — affects padding, control heights across PageContainer subtree. */
7
- export type PageDensityProp = "compact" | "default" | "comfortable";
8
-
6
+ type PageDensityProp = "compact" | "default" | "comfortable";
9
7
  /** Page shell layout — orthogonal to PageDensityProp. */
10
- export type PageContainerVariantProp = "default" | "narrow" | "flush" | "ghost";
11
-
8
+ type PageContainerVariantProp = "default" | "narrow" | "flush" | "ghost";
12
9
  /** Vertical stack gap between block-level children. */
13
- export type StackGapProp = "xs" | "sm" | "md" | "lg" | "xl";
14
-
10
+ type StackGapProp = "xs" | "sm" | "md" | "lg" | "xl";
15
11
  /** Horizontal inline gap between row items. */
16
- export type InlineGapProp = "xs" | "sm" | "md" | "lg";
17
-
12
+ type InlineGapProp = "xs" | "sm" | "md" | "lg";
18
13
  /** DataTable row density — NOT the same as PageDensityProp. */
19
- export type TableDensityProp = "compact" | "comfortable";
20
-
14
+ type TableDensityProp = "compact" | "comfortable";
21
15
  /** @deprecated Alias — use PageDensityProp. Kept for lib/variants compat. */
22
- export type DensityProp = PageDensityProp;
23
-
16
+ type DensityProp = PageDensityProp;
24
17
  /** @deprecated Alias — use StackGapProp. */
25
- export type GapProp = StackGapProp;
18
+ type GapProp = StackGapProp;
19
+
20
+ export type { DensityProp as D, GapProp as G, InlineGapProp as I, PageContainerVariantProp as P, StackGapProp as S, TableDensityProp as T, PageDensityProp as a };