@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
@@ -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