@godxjp/ui 6.0.0 → 6.0.1

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/dist/types-mvzYGrma.d.ts +37 -0
  182. package/dist/use-toast-Dol5bdY3.d.ts +34 -0
  183. package/package.json +233 -67
  184. package/src/app/__tests__/app-provider.test.tsx +0 -232
  185. package/src/app/__tests__/date-format-labels.test.ts +0 -36
  186. package/src/app/__tests__/date-formats.test.ts +0 -44
  187. package/src/app/__tests__/timezones.test.ts +0 -65
  188. package/src/app/app-provider.tsx +0 -227
  189. package/src/app/date-format-labels.ts +0 -21
  190. package/src/app/date-formats.ts +0 -30
  191. package/src/app/index.ts +0 -40
  192. package/src/app/locales.ts +0 -32
  193. package/src/app/request-headers.ts +0 -31
  194. package/src/app/storage.ts +0 -44
  195. package/src/app/time-format-labels.ts +0 -19
  196. package/src/app/time-formats.ts +0 -15
  197. package/src/app/timezones.ts +0 -208
  198. package/src/app/types.ts +0 -39
  199. package/src/app/use-formatting.ts +0 -47
  200. package/src/components/__tests__/accessibility-primitives.test.tsx +0 -65
  201. package/src/components/__tests__/docs-parity.test.ts +0 -41
  202. package/src/components/__tests__/shadcn-release-guardrails.test.ts +0 -71
  203. package/src/components/__tests__/theme-axes-integration.test.tsx +0 -242
  204. package/src/components/admin/index.ts +0 -76
  205. package/src/components/data-display/__tests__/card-table.test.tsx +0 -328
  206. package/src/components/data-display/__tests__/data-display.test.tsx +0 -73
  207. package/src/components/data-display/__tests__/data-table.test.tsx +0 -84
  208. package/src/components/data-display/__tests__/popover.test.tsx +0 -92
  209. package/src/components/data-display/__tests__/scroll-area-collapsible.test.tsx +0 -66
  210. package/src/components/data-display/badge.tsx +0 -27
  211. package/src/components/data-display/card.tsx +0 -194
  212. package/src/components/data-display/code-badge.tsx +0 -28
  213. package/src/components/data-display/collapsible.tsx +0 -5
  214. package/src/components/data-display/data-table.tsx +0 -476
  215. package/src/components/data-display/empty-state.tsx +0 -22
  216. package/src/components/data-display/index.ts +0 -41
  217. package/src/components/data-display/key-value-grid.tsx +0 -46
  218. package/src/components/data-display/popover.tsx +0 -62
  219. package/src/components/data-display/progress-meter.tsx +0 -20
  220. package/src/components/data-display/scan-panel.tsx +0 -16
  221. package/src/components/data-display/scroll-area.tsx +0 -42
  222. package/src/components/data-display/status-badge.tsx +0 -83
  223. package/src/components/data-display/table.tsx +0 -59
  224. package/src/components/data-display/timeline.tsx +0 -42
  225. package/src/components/data-display/tree-list.tsx +0 -42
  226. package/src/components/data-entry/__fixtures__/tree-options.ts +0 -80
  227. package/src/components/data-entry/__tests__/cascader-tree-transfer.test.tsx +0 -417
  228. package/src/components/data-entry/__tests__/checkbox-group.test.tsx +0 -40
  229. package/src/components/data-entry/__tests__/checkbox.test.tsx +0 -20
  230. package/src/components/data-entry/__tests__/date-autocomplete.test.tsx +0 -94
  231. package/src/components/data-entry/__tests__/form-field.test.tsx +0 -49
  232. package/src/components/data-entry/__tests__/input-textarea.test.tsx +0 -38
  233. package/src/components/data-entry/__tests__/label-select.test.tsx +0 -62
  234. package/src/components/data-entry/__tests__/pickers.test.tsx +0 -74
  235. package/src/components/data-entry/__tests__/radio.test.tsx +0 -46
  236. package/src/components/data-entry/__tests__/search-input.test.tsx +0 -32
  237. package/src/components/data-entry/__tests__/switch-field.test.tsx +0 -52
  238. package/src/components/data-entry/__tests__/upload.test.tsx +0 -125
  239. package/src/components/data-entry/autocomplete.tsx +0 -91
  240. package/src/components/data-entry/cascader.tsx +0 -305
  241. package/src/components/data-entry/checkbox-group.tsx +0 -90
  242. package/src/components/data-entry/checkbox.tsx +0 -30
  243. package/src/components/data-entry/choice-field.tsx +0 -27
  244. package/src/components/data-entry/choice-option.ts +0 -20
  245. package/src/components/data-entry/color-picker.tsx +0 -75
  246. package/src/components/data-entry/command.tsx +0 -56
  247. package/src/components/data-entry/country-select.tsx +0 -88
  248. package/src/components/data-entry/date-picker.tsx +0 -69
  249. package/src/components/data-entry/date-range-picker.tsx +0 -75
  250. package/src/components/data-entry/form-field.tsx +0 -59
  251. package/src/components/data-entry/index.ts +0 -62
  252. package/src/components/data-entry/label.tsx +0 -25
  253. package/src/components/data-entry/radio.tsx +0 -109
  254. package/src/components/data-entry/search-input.tsx +0 -103
  255. package/src/components/data-entry/select.tsx +0 -149
  256. package/src/components/data-entry/slider.tsx +0 -38
  257. package/src/components/data-entry/switch-field.tsx +0 -91
  258. package/src/components/data-entry/switch.tsx +0 -24
  259. package/src/components/data-entry/textarea.tsx +0 -12
  260. package/src/components/data-entry/time-picker.tsx +0 -214
  261. package/src/components/data-entry/transfer.tsx +0 -231
  262. package/src/components/data-entry/tree-select-strategy.ts +0 -6
  263. package/src/components/data-entry/tree-select.tsx +0 -279
  264. package/src/components/data-entry/tree-utils.ts +0 -221
  265. package/src/components/data-entry/upload-crop-dialog.tsx +0 -109
  266. package/src/components/data-entry/upload-types.ts +0 -86
  267. package/src/components/data-entry/upload.tsx +0 -498
  268. package/src/components/data-entry/use-upload-draft.ts +0 -93
  269. package/src/components/feedback/__tests__/alert.test.tsx +0 -127
  270. package/src/components/feedback/__tests__/dialog.test.tsx +0 -290
  271. package/src/components/feedback/__tests__/sheet.test.tsx +0 -94
  272. package/src/components/feedback/__tests__/skeleton.test.tsx +0 -25
  273. package/src/components/feedback/__tests__/toast.test.tsx +0 -52
  274. package/src/components/feedback/alert.tsx +0 -167
  275. package/src/components/feedback/dialog.tsx +0 -325
  276. package/src/components/feedback/index.ts +0 -53
  277. package/src/components/feedback/sheet.tsx +0 -130
  278. package/src/components/feedback/skeleton.tsx +0 -95
  279. package/src/components/feedback/sonner.tsx +0 -54
  280. package/src/components/feedback/toaster.tsx +0 -1
  281. package/src/components/feedback/use-toast.ts +0 -62
  282. package/src/components/general/__tests__/button.test.tsx +0 -71
  283. package/src/components/general/button.tsx +0 -61
  284. package/src/components/general/index.ts +0 -2
  285. package/src/components/layout/__tests__/page-container.test.tsx +0 -69
  286. package/src/components/layout/__tests__/page-inset.test.tsx +0 -14
  287. package/src/components/layout/__tests__/stack-inline.test.tsx +0 -39
  288. package/src/components/layout/app-shell.tsx +0 -42
  289. package/src/components/layout/breadcrumb.tsx +0 -35
  290. package/src/components/layout/index.ts +0 -31
  291. package/src/components/layout/inline.tsx +0 -13
  292. package/src/components/layout/menu.tsx +0 -34
  293. package/src/components/layout/mobile-frame.tsx +0 -57
  294. package/src/components/layout/page-container.tsx +0 -81
  295. package/src/components/layout/page-inset.tsx +0 -16
  296. package/src/components/layout/responsive-grid.tsx +0 -14
  297. package/src/components/layout/shell-app.tsx +0 -30
  298. package/src/components/layout/sidebar.tsx +0 -98
  299. package/src/components/layout/split-pane.tsx +0 -16
  300. package/src/components/layout/stack.tsx +0 -13
  301. package/src/components/layout/topbar.tsx +0 -108
  302. package/src/components/navigation/__tests__/app-pickers.test.tsx +0 -118
  303. package/src/components/navigation/__tests__/dropdown-menu.test.tsx +0 -104
  304. package/src/components/navigation/__tests__/navigation.test.tsx +0 -61
  305. package/src/components/navigation/__tests__/pagination-steps-tabs.test.tsx +0 -76
  306. package/src/components/navigation/date-format-picker.tsx +0 -55
  307. package/src/components/navigation/dropdown-menu.tsx +0 -190
  308. package/src/components/navigation/filter-bar.tsx +0 -38
  309. package/src/components/navigation/index.ts +0 -28
  310. package/src/components/navigation/locale-picker.tsx +0 -49
  311. package/src/components/navigation/page-header.tsx +0 -50
  312. package/src/components/navigation/pagination-utils.ts +0 -35
  313. package/src/components/navigation/pagination.tsx +0 -168
  314. package/src/components/navigation/steps.tsx +0 -163
  315. package/src/components/navigation/tabs-items.tsx +0 -69
  316. package/src/components/navigation/time-format-picker.tsx +0 -55
  317. package/src/components/navigation/timezone-picker.tsx +0 -63
  318. package/src/components/query/__tests__/data-state.test.tsx +0 -214
  319. package/src/components/query/__tests__/infinite-prefetch.test.tsx +0 -105
  320. package/src/components/query/__tests__/query-helpers.test.tsx +0 -61
  321. package/src/components/query/data-state.tsx +0 -58
  322. package/src/components/query/index.ts +0 -10
  323. package/src/components/query/infinite-query-state.tsx +0 -99
  324. package/src/components/query/mutation-feedback.tsx +0 -31
  325. package/src/components/query/prefetch-link.tsx +0 -45
  326. package/src/components/query/query-refetch-button.tsx +0 -41
  327. package/src/components/ui/alert-dialog.tsx +0 -1
  328. package/src/components/ui/alert.tsx +0 -1
  329. package/src/components/ui/autocomplete.tsx +0 -1
  330. package/src/components/ui/badge.tsx +0 -1
  331. package/src/components/ui/button.tsx +0 -1
  332. package/src/components/ui/calendar.tsx +0 -1
  333. package/src/components/ui/card.tsx +0 -1
  334. package/src/components/ui/checkbox.tsx +0 -1
  335. package/src/components/ui/color-picker.tsx +0 -1
  336. package/src/components/ui/command.tsx +0 -1
  337. package/src/components/ui/date-picker.tsx +0 -1
  338. package/src/components/ui/date-range-picker.tsx +0 -1
  339. package/src/components/ui/dialog.tsx +0 -1
  340. package/src/components/ui/dropdown-menu.tsx +0 -1
  341. package/src/components/ui/index.tsx +0 -31
  342. package/src/components/ui/input.tsx +0 -1
  343. package/src/components/ui/label.tsx +0 -1
  344. package/src/components/ui/pagination.tsx +0 -1
  345. package/src/components/ui/popover.tsx +0 -1
  346. package/src/components/ui/radio.tsx +0 -1
  347. package/src/components/ui/scroll-area.tsx +0 -1
  348. package/src/components/ui/select.tsx +0 -1
  349. package/src/components/ui/sheet.tsx +0 -1
  350. package/src/components/ui/slider.tsx +0 -1
  351. package/src/components/ui/sonner.tsx +0 -1
  352. package/src/components/ui/switch.tsx +0 -1
  353. package/src/components/ui/table.tsx +0 -1
  354. package/src/components/ui/tabs-items.tsx +0 -1
  355. package/src/components/ui/tabs.tsx +0 -1
  356. package/src/components/ui/textarea.tsx +0 -1
  357. package/src/components/ui/time-picker.tsx +0 -1
  358. package/src/components/ui/upload.tsx +0 -1
  359. package/src/form/__tests__/use-zod-form.test.tsx +0 -97
  360. package/src/form/form-field-control.tsx +0 -44
  361. package/src/form/form-root.tsx +0 -29
  362. package/src/form/index.ts +0 -7
  363. package/src/form/use-zod-form.ts +0 -29
  364. package/src/i18n/__tests__/translate.test.ts +0 -23
  365. package/src/i18n/index.ts +0 -9
  366. package/src/i18n/messages/en.json +0 -171
  367. package/src/i18n/messages/ja.json +0 -171
  368. package/src/i18n/messages/vi.json +0 -171
  369. package/src/i18n/translate.ts +0 -74
  370. package/src/i18n/use-translation.ts +0 -53
  371. package/src/index.ts +0 -3
  372. package/src/lib/__tests__/control-styles.test.ts +0 -78
  373. package/src/lib/__tests__/datetime.test.ts +0 -77
  374. package/src/lib/__tests__/format-date.test.ts +0 -97
  375. package/src/lib/__tests__/format.test.ts +0 -62
  376. package/src/lib/__tests__/theme-tokens-audit.test.ts +0 -176
  377. package/src/lib/__tests__/theme-tokens-css.test.ts +0 -118
  378. package/src/lib/__tests__/token-governance.test.ts +0 -191
  379. package/src/lib/__tests__/variants.test.ts +0 -18
  380. package/src/lib/control-styles.ts +0 -33
  381. package/src/lib/datetime/detect.ts +0 -25
  382. package/src/lib/datetime/format-date.ts +0 -100
  383. package/src/lib/datetime/format.ts +0 -140
  384. package/src/lib/datetime/index.ts +0 -25
  385. package/src/lib/datetime/parse.ts +0 -51
  386. package/src/lib/datetime/sync.ts +0 -48
  387. package/src/lib/format.ts +0 -114
  388. package/src/lib/hooks.ts +0 -54
  389. package/src/lib/utils.ts +0 -6
  390. package/src/lib/variants.ts +0 -40
  391. package/src/props/components/app.prop.ts +0 -99
  392. package/src/props/components/data-display.prop.ts +0 -73
  393. package/src/props/components/data-entry.prop.ts +0 -334
  394. package/src/props/components/feedback.prop.ts +0 -80
  395. package/src/props/components/form.prop.ts +0 -46
  396. package/src/props/components/general.prop.ts +0 -18
  397. package/src/props/components/index.ts +0 -99
  398. package/src/props/components/layout.prop.ts +0 -130
  399. package/src/props/components/navigation.prop.ts +0 -88
  400. package/src/props/components/query.prop.ts +0 -94
  401. package/src/props/index.ts +0 -17
  402. package/src/props/vocabulary/data.prop.ts +0 -46
  403. package/src/props/vocabulary/index.ts +0 -73
  404. package/src/props/vocabulary/interaction.prop.ts +0 -42
  405. package/src/props/vocabulary/navigation.prop.ts +0 -19
  406. package/src/props/vocabulary/shared.prop.ts +0 -59
  407. package/src/test/__tests__/render-loop-guard.test.tsx +0 -38
  408. package/src/test/jest-dom.d.ts +0 -4
  409. package/src/test/render-loop-guard.tsx +0 -50
  410. package/src/test/render.tsx +0 -29
  411. package/src/test/theme-globals.test.ts +0 -77
  412. package/src/test/theme-globals.ts +0 -134
  413. package/src/test/theme-test-utils.tsx +0 -67
  414. /package/{src → dist}/styles/alert-layout.css +0 -0
  415. /package/{src → dist}/styles/badge-layout.css +0 -0
  416. /package/{src → dist}/styles/card-layout.css +0 -0
  417. /package/{src → dist}/styles/control.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
@@ -1,38 +0,0 @@
1
- import { describe, expect, it, vi } from "vitest";
2
- import { render, screen } from "@testing-library/react";
3
- import * as React from "react";
4
- import { RenderLoopGuard, withRenderLoopGuard } from "../render-loop-guard";
5
-
6
- function BadCounter() {
7
- const [, bump] = React.useState(0);
8
- bump(1);
9
- return <div>loop</div>;
10
- }
11
-
12
- describe("RenderLoopGuard", () => {
13
- it("passes for stable components", () => {
14
- render(
15
- <RenderLoopGuard maxRenders={10} label="Stable">
16
- <p>ok</p>
17
- </RenderLoopGuard>,
18
- );
19
- expect(screen.getByText("ok")).toBeInTheDocument();
20
- });
21
-
22
- it("throws when render count exceeds maxRenders", () => {
23
- const errorSpy = vi.spyOn(console, "error").mockImplementation(() => undefined);
24
- expect(() =>
25
- render(
26
- <RenderLoopGuard maxRenders={5} label="BadCounter">
27
- <BadCounter />
28
- </RenderLoopGuard>,
29
- ),
30
- ).toThrow(/Possible infinite render loop|Too many re-renders/i);
31
- errorSpy.mockRestore();
32
- });
33
-
34
- it("withRenderLoopGuard wraps StrictMode", () => {
35
- render(withRenderLoopGuard(<span data-testid="child">child</span>, { maxRenders: 10 }));
36
- expect(screen.getByTestId("child")).toBeInTheDocument();
37
- });
38
- });
@@ -1,4 +0,0 @@
1
- // Loads @testing-library/jest-dom's matcher augmentation onto vitest's `expect`
2
- // (toBeInTheDocument, toHaveAttribute, …) for type-checking. Picked up via the
3
- // tsconfig `include: ["src"]` glob. Self-contained — see docs/DEVELOPMENT.md §5.
4
- import "@testing-library/jest-dom/vitest";
@@ -1,50 +0,0 @@
1
- import * as React from "react";
2
-
3
- /**
4
- * Test-only guard that surfaces runaway re-render loops as a clear error instead
5
- * of a hung test. Counts its own renders; once they exceed `maxRenders` it throws,
6
- * so an effect/state loop in the tree under test fails fast and legibly.
7
- *
8
- * Self-contained (no external tooling dependency) — see docs/DEVELOPMENT.md §5.
9
- */
10
- const DEFAULT_MAX_RENDERS = 50;
11
-
12
- export type RenderLoopGuardProps = {
13
- children: React.ReactNode;
14
- /** Render budget before the guard throws. */
15
- maxRenders?: number;
16
- /** Optional label included in the error for easier triage. */
17
- label?: string;
18
- };
19
-
20
- export function RenderLoopGuard({
21
- children,
22
- maxRenders = DEFAULT_MAX_RENDERS,
23
- label,
24
- }: RenderLoopGuardProps): React.ReactElement {
25
- const renders = React.useRef(0);
26
- renders.current += 1;
27
-
28
- if (renders.current > maxRenders) {
29
- throw new Error(
30
- `Possible infinite render loop${label ? ` in "${label}"` : ""}: ` +
31
- `exceeded ${maxRenders} renders.`,
32
- );
33
- }
34
-
35
- return <>{children}</>;
36
- }
37
-
38
- export type RenderLoopGuardOptions = Pick<RenderLoopGuardProps, "maxRenders" | "label">;
39
-
40
- /** Wrap a UI element in the guard (inside StrictMode, to surface loops sooner). */
41
- export function withRenderLoopGuard(
42
- ui: React.ReactElement,
43
- options?: RenderLoopGuardOptions,
44
- ): React.ReactElement {
45
- return (
46
- <React.StrictMode>
47
- <RenderLoopGuard {...options}>{ui}</RenderLoopGuard>
48
- </React.StrictMode>
49
- );
50
- }
@@ -1,29 +0,0 @@
1
- import * as React from "react";
2
- import { render, type RenderOptions, type RenderResult } from "@testing-library/react";
3
- import { MemoryRouter } from "react-router-dom";
4
- import { withRenderLoopGuard } from "./render-loop-guard";
5
- import { AppProvider } from "../app/app-provider";
6
-
7
- function AllProviders({ children }: { children: React.ReactNode }) {
8
- return (
9
- <AppProvider persist={false} defaultLocale="vi" fallbackLocale="en">
10
- <MemoryRouter>{children}</MemoryRouter>
11
- </AppProvider>
12
- );
13
- }
14
-
15
- export type RenderWithUiOptions = Omit<RenderOptions, "wrapper"> & {
16
- loopGuard?: boolean | { maxRenders?: number; label?: string };
17
- };
18
-
19
- export function renderWithUi(ui: React.ReactElement, options?: RenderWithUiOptions): RenderResult {
20
- const { loopGuard = true, ...renderOptions } = options ?? {};
21
- const guardedUi =
22
- loopGuard === false ? ui : withRenderLoopGuard(ui, loopGuard === true ? undefined : loopGuard);
23
-
24
- return render(guardedUi, { wrapper: AllProviders, ...renderOptions });
25
- }
26
-
27
- export * from "@testing-library/react";
28
- export { default as userEvent } from "@testing-library/user-event";
29
- export { RenderLoopGuard, withRenderLoopGuard } from "./render-loop-guard";
@@ -1,77 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import {
3
- DENSITY_CLASS,
4
- DENSITY_GLOBALS,
5
- FONT_SIZE_GLOBALS,
6
- PRIMARY_COLOR_GLOBALS,
7
- PRIMARY_COLOR_VARS,
8
- themeGlobalsToClassName,
9
- themeGlobalsToCssVars,
10
- } from "./theme-globals";
11
-
12
- describe("themeGlobalsToCssVars", () => {
13
- describe("primaryColor presets", () => {
14
- it.each(PRIMARY_COLOR_GLOBALS)(
15
- "preset %s defines primary, ring, accent, foreground",
16
- (preset) => {
17
- const vars = PRIMARY_COLOR_VARS[preset];
18
- expect(vars["--primary"]).toMatch(/^\d+ \d+% \d+%$/);
19
- expect(vars["--ring"]).toMatch(/^\d+ \d+% \d+%$/);
20
- expect(vars["--accent"]).toMatch(/^\d+ \d+% \d+%$/);
21
- expect(vars["--accent-foreground"]).toMatch(/^\d+ \d+% \d+%$/);
22
- expect(vars["--primary-foreground"]).toBe("0 0% 100%");
23
- },
24
- );
25
-
26
- it("maps partner orange to Tailwind hsl aliases", () => {
27
- expect(themeGlobalsToCssVars({ primaryColor: "partner" })).toMatchObject({
28
- "--primary": "24 95% 53%",
29
- "--accent": "24 95% 95%",
30
- "--color-primary": "hsl(24 95% 53%)",
31
- "--color-ring": "hsl(24 95% 53%)",
32
- "--color-accent": "hsl(24 95% 95%)",
33
- "--color-accent-foreground": "hsl(24 95% 28%)",
34
- });
35
- });
36
-
37
- it("defaults to GodX navy when primaryColor omitted", () => {
38
- const vars = themeGlobalsToCssVars({});
39
- expect(vars["--color-primary"]).toBe("hsl(211 73% 15%)");
40
- expect(vars["--color-ring"]).toBe("hsl(24 99% 46%)");
41
- expect(vars["--accent"]).toBe("24 99% 95%");
42
- });
43
- });
44
-
45
- describe("fontSize scale", () => {
46
- it.each(FONT_SIZE_GLOBALS)("fontSize=%s produces stable output", (fontSize) => {
47
- const vars = themeGlobalsToCssVars({ fontSize });
48
- expect(vars).toBeTypeOf("object");
49
- });
50
-
51
- it("scales typography for sm and lg", () => {
52
- expect(themeGlobalsToCssVars({ fontSize: "sm" })["--font-size-sm"]).toBe("0.8125rem");
53
- expect(themeGlobalsToCssVars({ fontSize: "lg" })["--font-size-sm"]).toBe("0.9375rem");
54
- });
55
-
56
- it("default fontSize does not override --font-size-sm", () => {
57
- expect(themeGlobalsToCssVars({ fontSize: "default" })).not.toHaveProperty("--font-size-sm");
58
- });
59
- });
60
-
61
- it("merges fontSize + primaryColor in one object", () => {
62
- const vars = themeGlobalsToCssVars({ fontSize: "lg", primaryColor: "crm" });
63
- expect(vars["--font-size-base"]).toBe("1.0625rem");
64
- expect(vars["--primary"]).toBe("262 83% 58%");
65
- expect(vars["--color-primary"]).toBe("hsl(262 83% 58%)");
66
- });
67
- });
68
-
69
- describe("themeGlobalsToClassName", () => {
70
- it.each(DENSITY_GLOBALS)("density %s maps to ui-density-* class", (density) => {
71
- expect(themeGlobalsToClassName({ density })).toBe(DENSITY_CLASS[density]);
72
- });
73
-
74
- it("defaults density to ui-density-default", () => {
75
- expect(themeGlobalsToClassName({})).toBe(DENSITY_CLASS.default);
76
- });
77
- });
@@ -1,134 +0,0 @@
1
- import type { CSSProperties } from "react";
2
- import type { PageDensityProp } from "../props/vocabulary/layout.prop";
3
-
4
- /** Density toolbar → `ui-density-*` class (same as PageContainer density). */
5
- export const DENSITY_GLOBALS = [
6
- "compact",
7
- "default",
8
- "comfortable",
9
- ] as const satisfies readonly PageDensityProp[];
10
-
11
- export type DensityGlobal = (typeof DENSITY_GLOBALS)[number];
12
-
13
- export const DENSITY_CLASS: Record<DensityGlobal, string> = {
14
- compact: "ui-density-compact",
15
- default: "ui-density-default",
16
- comfortable: "ui-density-comfortable",
17
- };
18
-
19
- export const DENSITY_CLASS_NAMES = Object.values(DENSITY_CLASS);
20
-
21
- /** Scales typography tokens — mirrors app `theme.css` overrides. */
22
- export const FONT_SIZE_GLOBALS = ["sm", "default", "lg"] as const;
23
- export type FontSizeGlobal = (typeof FONT_SIZE_GLOBALS)[number];
24
-
25
- const FONT_SIZE_VARS: Record<FontSizeGlobal, Record<string, string>> = {
26
- sm: {
27
- "--font-size-xs": "0.6875rem",
28
- "--font-size-sm": "0.8125rem",
29
- "--font-size-base": "0.9375rem",
30
- "--font-size-lg": "1rem",
31
- "--font-size-xl": "1.125rem",
32
- "--font-size-2xl": "1.25rem",
33
- },
34
- default: {},
35
- lg: {
36
- "--font-size-xs": "0.8125rem",
37
- "--font-size-sm": "0.9375rem",
38
- "--font-size-base": "1.0625rem",
39
- "--font-size-lg": "1.1875rem",
40
- "--font-size-xl": "1.3125rem",
41
- "--font-size-2xl": "1.625rem",
42
- },
43
- };
44
-
45
- /** Brand primary presets — HSL components (no `hsl()` wrapper), like `theme.css`. */
46
- export const PRIMARY_COLOR_GLOBALS = ["brand", "crm", "logistics", "partner", "slate"] as const;
47
- export type PrimaryColorGlobal = (typeof PRIMARY_COLOR_GLOBALS)[number];
48
-
49
- export const PRIMARY_COLOR_LABELS: Record<PrimaryColorGlobal, string> = {
50
- brand: "GodX Navy",
51
- crm: "CRM Violet",
52
- logistics: "Logistics Teal",
53
- partner: "Partner Orange",
54
- slate: "HQ Slate",
55
- };
56
-
57
- /** Primary, focus ring, and tinted accent mirror service theme.css overrides. */
58
- export const PRIMARY_COLOR_VARS: Record<PrimaryColorGlobal, Record<string, string>> = {
59
- brand: {
60
- "--primary": "211 73% 15%",
61
- "--primary-foreground": "0 0% 100%",
62
- "--ring": "24 99% 46%",
63
- "--accent": "24 99% 95%",
64
- "--accent-foreground": "24 99% 28%",
65
- },
66
- crm: {
67
- "--primary": "262 83% 58%",
68
- "--primary-foreground": "0 0% 100%",
69
- "--ring": "262 83% 58%",
70
- "--accent": "262 83% 96%",
71
- "--accent-foreground": "262 83% 28%",
72
- },
73
- logistics: {
74
- "--primary": "173 80% 36%",
75
- "--primary-foreground": "0 0% 100%",
76
- "--ring": "173 80% 36%",
77
- "--accent": "173 80% 94%",
78
- "--accent-foreground": "173 80% 22%",
79
- },
80
- partner: {
81
- "--primary": "24 95% 53%",
82
- "--primary-foreground": "0 0% 100%",
83
- "--ring": "24 95% 53%",
84
- "--accent": "24 95% 95%",
85
- "--accent-foreground": "24 95% 28%",
86
- },
87
- slate: {
88
- "--primary": "215 25% 27%",
89
- "--primary-foreground": "0 0% 100%",
90
- "--ring": "215 25% 27%",
91
- "--accent": "215 25% 94%",
92
- "--accent-foreground": "215 25% 20%",
93
- },
94
- };
95
-
96
- export type ThemeGlobals = {
97
- density?: DensityGlobal;
98
- fontSize?: FontSizeGlobal;
99
- primaryColor?: PrimaryColorGlobal;
100
- };
101
-
102
- function hslFromComponents(components: string): string {
103
- return `hsl(${components})`;
104
- }
105
-
106
- /** CSS vars for :root — includes Tailwind @theme `--color-*` aliases. */
107
- export function themeGlobalsToCssVars(globals: ThemeGlobals): Record<string, string> {
108
- const fontSize = globals.fontSize ?? "default";
109
- const primaryColor = globals.primaryColor ?? "brand";
110
- const primary = PRIMARY_COLOR_VARS[primaryColor];
111
-
112
- return {
113
- ...FONT_SIZE_VARS[fontSize],
114
- "--primary": primary["--primary"],
115
- "--primary-foreground": primary["--primary-foreground"],
116
- "--ring": primary["--ring"],
117
- "--accent": primary["--accent"],
118
- "--accent-foreground": primary["--accent-foreground"],
119
- "--color-primary": hslFromComponents(primary["--primary"]),
120
- "--color-primary-foreground": hslFromComponents(primary["--primary-foreground"]),
121
- "--color-ring": hslFromComponents(primary["--ring"]),
122
- "--color-accent": hslFromComponents(primary["--accent"]),
123
- "--color-accent-foreground": hslFromComponents(primary["--accent-foreground"]),
124
- };
125
- }
126
-
127
- export function themeGlobalsToStyle(globals: ThemeGlobals): CSSProperties {
128
- return themeGlobalsToCssVars(globals);
129
- }
130
-
131
- export function themeGlobalsToClassName(globals: ThemeGlobals): string {
132
- const density = globals.density ?? "default";
133
- return DENSITY_CLASS[density];
134
- }
@@ -1,67 +0,0 @@
1
- import * as React from "react";
2
- import { render, type RenderOptions, type RenderResult } from "@testing-library/react";
3
- import { MemoryRouter } from "react-router-dom";
4
- import { AppProvider } from "../app/app-provider";
5
- import type { AppProviderProp } from "../props/components/app.prop";
6
- import {
7
- DENSITY_CLASS,
8
- themeGlobalsToCssVars,
9
- type FontSizeGlobal,
10
- type PrimaryColorGlobal,
11
- } from "./theme-globals";
12
- import { densityClass } from "../lib/variants";
13
- import type { PageDensityProp } from "../props/vocabulary/layout.prop";
14
-
15
- export type ThemeTestOptions = {
16
- density?: PageDensityProp;
17
- fontSize?: FontSizeGlobal;
18
- primaryColor?: PrimaryColorGlobal;
19
- app?: Partial<AppProviderProp>;
20
- };
21
-
22
- type RenderWithThemeOptions = Omit<RenderOptions, "wrapper"> &
23
- ThemeTestOptions & {
24
- initialEntries?: string[];
25
- };
26
-
27
- /** Renders UI under density + brand tokens — mirrors preview theme globals. */
28
- export function ThemeTestRoot({
29
- children,
30
- density = "default",
31
- fontSize = "default",
32
- primaryColor = "brand",
33
- app,
34
- }: React.PropsWithChildren<ThemeTestOptions>) {
35
- const style = themeGlobalsToCssVars({ density, fontSize, primaryColor }) as React.CSSProperties;
36
- return (
37
- <div className={densityClass[density]} style={style}>
38
- <AppProvider persist={false} defaultLocale="vi" fallbackLocale="en" {...app}>
39
- <MemoryRouter>{children}</MemoryRouter>
40
- </AppProvider>
41
- </div>
42
- );
43
- }
44
-
45
- export function renderWithTheme(
46
- ui: React.ReactElement,
47
- options?: RenderWithThemeOptions,
48
- ): RenderResult {
49
- const {
50
- density = "default",
51
- fontSize = "default",
52
- primaryColor = "brand",
53
- app,
54
- ...renderOptions
55
- } = options ?? {};
56
-
57
- return render(ui, {
58
- wrapper: ({ children }) => (
59
- <ThemeTestRoot density={density} fontSize={fontSize} primaryColor={primaryColor} app={app}>
60
- {children}
61
- </ThemeTestRoot>
62
- ),
63
- ...renderOptions,
64
- });
65
- }
66
-
67
- export { DENSITY_CLASS, densityClass };
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes