@gcsa/console-react 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/dist/ConsoleHeader.d.ts +9 -0
  2. package/dist/ConsoleHeader.js +21 -0
  3. package/dist/ConsoleHeader.js.map +1 -0
  4. package/dist/ConsolePage.d.ts +8 -0
  5. package/dist/ConsolePage.js +14 -0
  6. package/dist/ConsolePage.js.map +1 -0
  7. package/dist/ConsoleShell.d.ts +23 -0
  8. package/dist/ConsoleShell.js +133 -0
  9. package/dist/ConsoleShell.js.map +1 -0
  10. package/dist/ConsoleSidebar.d.ts +11 -0
  11. package/dist/ConsoleSidebar.js +52 -0
  12. package/dist/ConsoleSidebar.js.map +1 -0
  13. package/dist/GcsaAlert.d.ts +9 -0
  14. package/dist/GcsaAlert.js +24 -0
  15. package/dist/GcsaAlert.js.map +1 -0
  16. package/dist/GcsaAutoComplete.d.ts +15 -0
  17. package/dist/GcsaAutoComplete.js +106 -0
  18. package/dist/GcsaAutoComplete.js.map +1 -0
  19. package/dist/GcsaAvatar.d.ts +8 -0
  20. package/dist/GcsaAvatar.js +13 -0
  21. package/dist/GcsaAvatar.js.map +1 -0
  22. package/dist/GcsaBadge.d.ts +7 -0
  23. package/dist/GcsaBadge.js +8 -0
  24. package/dist/GcsaBadge.js.map +1 -0
  25. package/dist/GcsaBrandMark.d.ts +4 -0
  26. package/dist/GcsaBrandMark.js +21 -0
  27. package/dist/GcsaBrandMark.js.map +1 -0
  28. package/dist/GcsaBreadcrumb.d.ts +9 -0
  29. package/dist/GcsaBreadcrumb.js +20 -0
  30. package/dist/GcsaBreadcrumb.js.map +1 -0
  31. package/dist/GcsaButton.d.ts +8 -0
  32. package/dist/GcsaButton.js +38 -0
  33. package/dist/GcsaButton.js.map +1 -0
  34. package/dist/GcsaCalendar.d.ts +11 -0
  35. package/dist/GcsaCalendar.js +35 -0
  36. package/dist/GcsaCalendar.js.map +1 -0
  37. package/dist/GcsaCard.d.ts +8 -0
  38. package/dist/GcsaCard.js +11 -0
  39. package/dist/GcsaCard.js.map +1 -0
  40. package/dist/GcsaCascader.d.ts +14 -0
  41. package/dist/GcsaCascader.js +91 -0
  42. package/dist/GcsaCascader.js.map +1 -0
  43. package/dist/GcsaChatPanel.d.ts +43 -0
  44. package/dist/GcsaChatPanel.js +180 -0
  45. package/dist/GcsaChatPanel.js.map +1 -0
  46. package/dist/GcsaCheckbox.d.ts +11 -0
  47. package/dist/GcsaCheckbox.js +45 -0
  48. package/dist/GcsaCheckbox.js.map +1 -0
  49. package/dist/GcsaCollapse.d.ts +16 -0
  50. package/dist/GcsaCollapse.js +20 -0
  51. package/dist/GcsaCollapse.js.map +1 -0
  52. package/dist/GcsaConfigProvider.d.ts +13 -0
  53. package/dist/GcsaConfigProvider.js +68 -0
  54. package/dist/GcsaConfigProvider.js.map +1 -0
  55. package/dist/GcsaDataTable.d.ts +119 -0
  56. package/dist/GcsaDataTable.js +508 -0
  57. package/dist/GcsaDataTable.js.map +1 -0
  58. package/dist/GcsaDatePicker.d.ts +16 -0
  59. package/dist/GcsaDatePicker.js +211 -0
  60. package/dist/GcsaDatePicker.js.map +1 -0
  61. package/dist/GcsaDateRangePicker.d.ts +17 -0
  62. package/dist/GcsaDateRangePicker.js +222 -0
  63. package/dist/GcsaDateRangePicker.js.map +1 -0
  64. package/dist/GcsaDateTimePicker.d.ts +13 -0
  65. package/dist/GcsaDateTimePicker.js +300 -0
  66. package/dist/GcsaDateTimePicker.js.map +1 -0
  67. package/dist/GcsaDescriptions.d.ts +9 -0
  68. package/dist/GcsaDescriptions.js +11 -0
  69. package/dist/GcsaDescriptions.js.map +1 -0
  70. package/dist/GcsaDivider.d.ts +4 -0
  71. package/dist/GcsaDivider.js +8 -0
  72. package/dist/GcsaDivider.js.map +1 -0
  73. package/dist/GcsaDrawer.d.ts +15 -0
  74. package/dist/GcsaDrawer.js +68 -0
  75. package/dist/GcsaDrawer.js.map +1 -0
  76. package/dist/GcsaDropdown.d.ts +20 -0
  77. package/dist/GcsaDropdown.js +46 -0
  78. package/dist/GcsaDropdown.js.map +1 -0
  79. package/dist/GcsaEmpty.d.ts +9 -0
  80. package/dist/GcsaEmpty.js +16 -0
  81. package/dist/GcsaEmpty.js.map +1 -0
  82. package/dist/GcsaField.d.ts +11 -0
  83. package/dist/GcsaField.js +26 -0
  84. package/dist/GcsaField.js.map +1 -0
  85. package/dist/GcsaForm.d.ts +13 -0
  86. package/dist/GcsaForm.js +60 -0
  87. package/dist/GcsaForm.js.map +1 -0
  88. package/dist/GcsaFormField.d.ts +16 -0
  89. package/dist/GcsaFormField.js +39 -0
  90. package/dist/GcsaFormField.js.map +1 -0
  91. package/dist/GcsaIcon.d.ts +7 -0
  92. package/dist/GcsaIcon.js +17 -0
  93. package/dist/GcsaIcon.js.map +1 -0
  94. package/dist/GcsaImagePreview.d.ts +8 -0
  95. package/dist/GcsaImagePreview.js +18 -0
  96. package/dist/GcsaImagePreview.js.map +1 -0
  97. package/dist/GcsaInput.d.ts +13 -0
  98. package/dist/GcsaInput.js +76 -0
  99. package/dist/GcsaInput.js.map +1 -0
  100. package/dist/GcsaInputGroup.d.ts +11 -0
  101. package/dist/GcsaInputGroup.js +27 -0
  102. package/dist/GcsaInputGroup.js.map +1 -0
  103. package/dist/GcsaInputNumber.d.ts +18 -0
  104. package/dist/GcsaInputNumber.js +108 -0
  105. package/dist/GcsaInputNumber.js.map +1 -0
  106. package/dist/GcsaLoading.d.ts +24 -0
  107. package/dist/GcsaLoading.js +101 -0
  108. package/dist/GcsaLoading.js.map +1 -0
  109. package/dist/GcsaLoadingMask.d.ts +8 -0
  110. package/dist/GcsaLoadingMask.js +39 -0
  111. package/dist/GcsaLoadingMask.js.map +1 -0
  112. package/dist/GcsaMarkdownRenderer.d.ts +6 -0
  113. package/dist/GcsaMarkdownRenderer.js +32 -0
  114. package/dist/GcsaMarkdownRenderer.js.map +1 -0
  115. package/dist/GcsaMenu.d.ts +16 -0
  116. package/dist/GcsaMenu.js +241 -0
  117. package/dist/GcsaMenu.js.map +1 -0
  118. package/dist/GcsaModal.d.ts +10 -0
  119. package/dist/GcsaModal.js +45 -0
  120. package/dist/GcsaModal.js.map +1 -0
  121. package/dist/GcsaMultiSelect.d.ts +23 -0
  122. package/dist/GcsaMultiSelect.js +149 -0
  123. package/dist/GcsaMultiSelect.js.map +1 -0
  124. package/dist/GcsaPagination.d.ts +17 -0
  125. package/dist/GcsaPagination.js +108 -0
  126. package/dist/GcsaPagination.js.map +1 -0
  127. package/dist/GcsaPopconfirm.d.ts +18 -0
  128. package/dist/GcsaPopconfirm.js +68 -0
  129. package/dist/GcsaPopconfirm.js.map +1 -0
  130. package/dist/GcsaPopover.d.ts +30 -0
  131. package/dist/GcsaPopover.js +65 -0
  132. package/dist/GcsaPopover.js.map +1 -0
  133. package/dist/GcsaPopoverClose.d.ts +6 -0
  134. package/dist/GcsaPopoverClose.js +9 -0
  135. package/dist/GcsaPopoverClose.js.map +1 -0
  136. package/dist/GcsaProgress.d.ts +5 -0
  137. package/dist/GcsaProgress.js +18 -0
  138. package/dist/GcsaProgress.js.map +1 -0
  139. package/dist/GcsaRadioGroup.d.ts +9 -0
  140. package/dist/GcsaRadioGroup.js +37 -0
  141. package/dist/GcsaRadioGroup.js.map +1 -0
  142. package/dist/GcsaResult.d.ts +9 -0
  143. package/dist/GcsaResult.js +14 -0
  144. package/dist/GcsaResult.js.map +1 -0
  145. package/dist/GcsaRow.d.ts +7 -0
  146. package/dist/GcsaRow.js +8 -0
  147. package/dist/GcsaRow.js.map +1 -0
  148. package/dist/GcsaSelect.d.ts +20 -0
  149. package/dist/GcsaSelect.js +117 -0
  150. package/dist/GcsaSelect.js.map +1 -0
  151. package/dist/GcsaSkeleton.d.ts +6 -0
  152. package/dist/GcsaSkeleton.js +19 -0
  153. package/dist/GcsaSkeleton.js.map +1 -0
  154. package/dist/GcsaSpace.d.ts +7 -0
  155. package/dist/GcsaSpace.js +14 -0
  156. package/dist/GcsaSpace.js.map +1 -0
  157. package/dist/GcsaSpin.d.ts +7 -0
  158. package/dist/GcsaSpin.js +16 -0
  159. package/dist/GcsaSpin.js.map +1 -0
  160. package/dist/GcsaStatistic.d.ts +8 -0
  161. package/dist/GcsaStatistic.js +11 -0
  162. package/dist/GcsaStatistic.js.map +1 -0
  163. package/dist/GcsaSteps.d.ts +10 -0
  164. package/dist/GcsaSteps.js +54 -0
  165. package/dist/GcsaSteps.js.map +1 -0
  166. package/dist/GcsaSwitch.d.ts +11 -0
  167. package/dist/GcsaSwitch.js +36 -0
  168. package/dist/GcsaSwitch.js.map +1 -0
  169. package/dist/GcsaTabs.d.ts +15 -0
  170. package/dist/GcsaTabs.js +39 -0
  171. package/dist/GcsaTabs.js.map +1 -0
  172. package/dist/GcsaTag.d.ts +7 -0
  173. package/dist/GcsaTag.js +9 -0
  174. package/dist/GcsaTag.js.map +1 -0
  175. package/dist/GcsaTextarea.d.ts +13 -0
  176. package/dist/GcsaTextarea.js +76 -0
  177. package/dist/GcsaTextarea.js.map +1 -0
  178. package/dist/GcsaTimePicker.d.ts +12 -0
  179. package/dist/GcsaTimePicker.js +221 -0
  180. package/dist/GcsaTimePicker.js.map +1 -0
  181. package/dist/GcsaTimeline.d.ts +5 -0
  182. package/dist/GcsaTimeline.js +19 -0
  183. package/dist/GcsaTimeline.js.map +1 -0
  184. package/dist/GcsaToastStack.d.ts +11 -0
  185. package/dist/GcsaToastStack.js +45 -0
  186. package/dist/GcsaToastStack.js.map +1 -0
  187. package/dist/GcsaTooltip.d.ts +17 -0
  188. package/dist/GcsaTooltip.js +43 -0
  189. package/dist/GcsaTooltip.js.map +1 -0
  190. package/dist/GcsaTransfer.d.ts +11 -0
  191. package/dist/GcsaTransfer.js +95 -0
  192. package/dist/GcsaTransfer.js.map +1 -0
  193. package/dist/GcsaTree.d.ts +17 -0
  194. package/dist/GcsaTree.js +38 -0
  195. package/dist/GcsaTree.js.map +1 -0
  196. package/dist/GcsaTypography.d.ts +8 -0
  197. package/dist/GcsaTypography.js +14 -0
  198. package/dist/GcsaTypography.js.map +1 -0
  199. package/dist/GcsaUpload.d.ts +24 -0
  200. package/dist/GcsaUpload.js +146 -0
  201. package/dist/GcsaUpload.js.map +1 -0
  202. package/dist/hooks/gcsaFormTypes.d.ts +7 -0
  203. package/dist/hooks/useDocumentThemeSync.d.ts +3 -0
  204. package/dist/hooks/useDocumentThemeSync.js +7 -0
  205. package/dist/hooks/useDocumentThemeSync.js.map +1 -0
  206. package/dist/hooks/useGcsaComponentSize.d.ts +5 -0
  207. package/dist/hooks/useGcsaComponentSize.js +21 -0
  208. package/dist/hooks/useGcsaComponentSize.js.map +1 -0
  209. package/dist/hooks/useGcsaFormField.d.ts +26 -0
  210. package/dist/hooks/useGcsaFormField.js +47 -0
  211. package/dist/hooks/useGcsaFormField.js.map +1 -0
  212. package/dist/hooks/useGcsaFormSchema.d.ts +7 -0
  213. package/dist/hooks/useGcsaFormSchema.js +6 -0
  214. package/dist/hooks/useGcsaFormSchema.js.map +1 -0
  215. package/dist/hooks/useGcsaLocale.d.ts +4 -0
  216. package/dist/hooks/useGcsaLocale.js +15 -0
  217. package/dist/hooks/useGcsaLocale.js.map +1 -0
  218. package/dist/hooks/useGcsaPopupZIndex.d.ts +6 -0
  219. package/dist/hooks/useGcsaPopupZIndex.js +18 -0
  220. package/dist/hooks/useGcsaPopupZIndex.js.map +1 -0
  221. package/dist/hooks/useGcsaTextCount.d.ts +16 -0
  222. package/dist/hooks/useGcsaTextCount.js +16 -0
  223. package/dist/hooks/useGcsaTextCount.js.map +1 -0
  224. package/dist/hooks/useGcsaTheme.d.ts +7 -0
  225. package/dist/hooks/useGcsaTheme.js +19 -0
  226. package/dist/hooks/useGcsaTheme.js.map +1 -0
  227. package/dist/hooks/useGcsaZIndex.d.ts +13 -0
  228. package/dist/hooks/useGcsaZIndex.js +37 -0
  229. package/dist/hooks/useGcsaZIndex.js.map +1 -0
  230. package/dist/hooks/useMessage.d.ts +6 -0
  231. package/dist/hooks/useOverlayZIndex.d.ts +8 -0
  232. package/dist/hooks/useOverlayZIndex.js +14 -0
  233. package/dist/hooks/useOverlayZIndex.js.map +1 -0
  234. package/dist/hooks/usePreventHiddenInputScroll.d.ts +13 -0
  235. package/dist/hooks/usePreventHiddenInputScroll.js +124 -0
  236. package/dist/hooks/usePreventHiddenInputScroll.js.map +1 -0
  237. package/dist/icons/iconNames.d.ts +7 -0
  238. package/dist/icons/iconNames.js +24 -0
  239. package/dist/icons/iconNames.js.map +1 -0
  240. package/dist/icons/index.d.ts +2 -0
  241. package/dist/icons/registry.d.ts +3 -0
  242. package/dist/icons/registry.js +58 -0
  243. package/dist/icons/registry.js.map +1 -0
  244. package/dist/icons/svg/alert.svg.js +9 -0
  245. package/dist/icons/svg/alert.svg.js.map +1 -0
  246. package/dist/icons/svg/assets.svg.js +9 -0
  247. package/dist/icons/svg/assets.svg.js.map +1 -0
  248. package/dist/icons/svg/chat.svg.js +8 -0
  249. package/dist/icons/svg/chat.svg.js.map +1 -0
  250. package/dist/icons/svg/check.svg.js +8 -0
  251. package/dist/icons/svg/check.svg.js.map +1 -0
  252. package/dist/icons/svg/chevron-down.svg.js +8 -0
  253. package/dist/icons/svg/chevron-down.svg.js.map +1 -0
  254. package/dist/icons/svg/chevron-left.svg.js +8 -0
  255. package/dist/icons/svg/chevron-left.svg.js.map +1 -0
  256. package/dist/icons/svg/chevron-right.svg.js +8 -0
  257. package/dist/icons/svg/chevron-right.svg.js.map +1 -0
  258. package/dist/icons/svg/chevron-up.svg.js +8 -0
  259. package/dist/icons/svg/chevron-up.svg.js.map +1 -0
  260. package/dist/icons/svg/close.svg.js +6 -0
  261. package/dist/icons/svg/close.svg.js.map +1 -0
  262. package/dist/icons/svg/dashboard.svg.js +8 -0
  263. package/dist/icons/svg/dashboard.svg.js.map +1 -0
  264. package/dist/icons/svg/menu.svg.js +8 -0
  265. package/dist/icons/svg/menu.svg.js.map +1 -0
  266. package/dist/icons/svg/plus.svg.js +6 -0
  267. package/dist/icons/svg/plus.svg.js.map +1 -0
  268. package/dist/icons/svg/result-empty.svg.js +6 -0
  269. package/dist/icons/svg/result-empty.svg.js.map +1 -0
  270. package/dist/icons/svg/settings.svg.js +8 -0
  271. package/dist/icons/svg/settings.svg.js.map +1 -0
  272. package/dist/icons/svg/users.svg.js +11 -0
  273. package/dist/icons/svg/users.svg.js.map +1 -0
  274. package/dist/index.d.ts +151 -0
  275. package/dist/index.js +166 -0
  276. package/dist/index.js.map +1 -0
  277. package/dist/style.css +8028 -0
  278. package/dist/utils/gcsaDateValue.d.ts +25 -0
  279. package/dist/utils/gcsaDateValue.js +60 -0
  280. package/dist/utils/gcsaDateValue.js.map +1 -0
  281. package/dist/utils/gcsaTableColumns.d.ts +19 -0
  282. package/dist/utils/gcsaTableColumns.js +43 -0
  283. package/dist/utils/gcsaTableColumns.js.map +1 -0
  284. package/dist/utils/preserveDrawerScroll.d.ts +2 -0
  285. package/dist/utils/preserveDrawerScroll.js +13 -0
  286. package/dist/utils/preserveDrawerScroll.js.map +1 -0
  287. package/dist/utils/zodValidators.d.ts +21 -0
  288. package/dist/utils/zodValidators.js +35 -0
  289. package/dist/utils/zodValidators.js.map +1 -0
  290. package/package.json +58 -0
  291. package/src/ConsoleHeader.tsx +24 -0
  292. package/src/ConsolePage.tsx +22 -0
  293. package/src/ConsoleShell.tsx +248 -0
  294. package/src/ConsoleSidebar.tsx +61 -0
  295. package/src/GcsaAlert.tsx +29 -0
  296. package/src/GcsaAutoComplete.tsx +163 -0
  297. package/src/GcsaAvatar.tsx +21 -0
  298. package/src/GcsaBadge.tsx +15 -0
  299. package/src/GcsaBrandMark.tsx +18 -0
  300. package/src/GcsaBreadcrumb.tsx +35 -0
  301. package/src/GcsaButton.tsx +44 -0
  302. package/src/GcsaCalendar.tsx +14 -0
  303. package/src/GcsaCard.tsx +21 -0
  304. package/src/GcsaCascader.tsx +121 -0
  305. package/src/GcsaChatPanel.tsx +320 -0
  306. package/src/GcsaCheckbox.tsx +55 -0
  307. package/src/GcsaCollapse.tsx +23 -0
  308. package/src/GcsaConfigProvider.tsx +121 -0
  309. package/src/GcsaDataTable.tsx +779 -0
  310. package/src/GcsaDatePicker.tsx +284 -0
  311. package/src/GcsaDateRangePicker.tsx +310 -0
  312. package/src/GcsaDateTimePicker.tsx +407 -0
  313. package/src/GcsaDescriptions.tsx +22 -0
  314. package/src/GcsaDivider.tsx +7 -0
  315. package/src/GcsaDrawer.tsx +87 -0
  316. package/src/GcsaDropdown.tsx +84 -0
  317. package/src/GcsaEmpty.tsx +27 -0
  318. package/src/GcsaField.tsx +50 -0
  319. package/src/GcsaForm.tsx +82 -0
  320. package/src/GcsaFormField.tsx +67 -0
  321. package/src/GcsaIcon.tsx +21 -0
  322. package/src/GcsaImagePreview.tsx +30 -0
  323. package/src/GcsaInput.tsx +87 -0
  324. package/src/GcsaInputGroup.tsx +32 -0
  325. package/src/GcsaInputNumber.tsx +155 -0
  326. package/src/GcsaLoading.ts +206 -0
  327. package/src/GcsaLoadingMask.tsx +53 -0
  328. package/src/GcsaMarkdownRenderer.tsx +40 -0
  329. package/src/GcsaMenu.tsx +340 -0
  330. package/src/GcsaModal.tsx +68 -0
  331. package/src/GcsaMultiSelect.tsx +246 -0
  332. package/src/GcsaPagination.tsx +194 -0
  333. package/src/GcsaPopconfirm.tsx +104 -0
  334. package/src/GcsaPopover.tsx +131 -0
  335. package/src/GcsaPopoverClose.tsx +11 -0
  336. package/src/GcsaProgress.tsx +18 -0
  337. package/src/GcsaRadioGroup.tsx +42 -0
  338. package/src/GcsaResult.tsx +23 -0
  339. package/src/GcsaRow.tsx +13 -0
  340. package/src/GcsaSelect.tsx +186 -0
  341. package/src/GcsaSkeleton.tsx +19 -0
  342. package/src/GcsaSpace.tsx +17 -0
  343. package/src/GcsaSpin.tsx +25 -0
  344. package/src/GcsaStatistic.tsx +17 -0
  345. package/src/GcsaSteps.tsx +73 -0
  346. package/src/GcsaSwitch.tsx +45 -0
  347. package/src/GcsaTabs.tsx +53 -0
  348. package/src/GcsaTag.tsx +16 -0
  349. package/src/GcsaTextarea.tsx +87 -0
  350. package/src/GcsaTimePicker.tsx +298 -0
  351. package/src/GcsaTimeline.tsx +27 -0
  352. package/src/GcsaToastStack.tsx +67 -0
  353. package/src/GcsaTooltip.tsx +75 -0
  354. package/src/GcsaTransfer.tsx +129 -0
  355. package/src/GcsaTree.tsx +43 -0
  356. package/src/GcsaTypography.tsx +24 -0
  357. package/src/GcsaUpload.tsx +206 -0
  358. package/src/hooks/gcsaFormTypes.ts +23 -0
  359. package/src/hooks/useDocumentThemeSync.ts +6 -0
  360. package/src/hooks/useGcsaComponentSize.ts +24 -0
  361. package/src/hooks/useGcsaFormField.ts +49 -0
  362. package/src/hooks/useGcsaFormSchema.ts +6 -0
  363. package/src/hooks/useGcsaLocale.ts +16 -0
  364. package/src/hooks/useGcsaPopupZIndex.ts +23 -0
  365. package/src/hooks/useGcsaTextCount.ts +44 -0
  366. package/src/hooks/useGcsaTheme.ts +19 -0
  367. package/src/hooks/useGcsaZIndex.ts +60 -0
  368. package/src/hooks/useMessage.ts +7 -0
  369. package/src/hooks/useOverlayZIndex.ts +23 -0
  370. package/src/hooks/usePreventHiddenInputScroll.ts +233 -0
  371. package/src/icons/iconNames.ts +27 -0
  372. package/src/icons/index.ts +8 -0
  373. package/src/icons/registry.ts +38 -0
  374. package/src/icons/svg/alert.svg +4 -0
  375. package/src/icons/svg/assets.svg +4 -0
  376. package/src/icons/svg/chat.svg +3 -0
  377. package/src/icons/svg/check.svg +3 -0
  378. package/src/icons/svg/chevron-down.svg +3 -0
  379. package/src/icons/svg/chevron-left.svg +3 -0
  380. package/src/icons/svg/chevron-right.svg +3 -0
  381. package/src/icons/svg/chevron-up.svg +3 -0
  382. package/src/icons/svg/close.svg +1 -0
  383. package/src/icons/svg/dashboard.svg +3 -0
  384. package/src/icons/svg/menu.svg +3 -0
  385. package/src/icons/svg/plus.svg +1 -0
  386. package/src/icons/svg/result-empty.svg +1 -0
  387. package/src/icons/svg/settings.svg +3 -0
  388. package/src/icons/svg/users.svg +6 -0
  389. package/src/index.ts +166 -0
  390. package/src/utils/gcsaDateValue.ts +99 -0
  391. package/src/utils/gcsaTableColumns.ts +97 -0
  392. package/src/utils/preserveDrawerScroll.ts +20 -0
  393. package/src/utils/zodValidators.ts +45 -0
  394. package/src/vite-env.d.ts +6 -0
@@ -0,0 +1,45 @@
1
+ import { jsxs as u, jsx as o } from "react/jsx-runtime";
2
+ import { useRef as h } from "react";
3
+ import { Checkbox as r } from "@ark-ui/react/checkbox";
4
+ import { usePreventHiddenInputScroll as m } from "./hooks/usePreventHiddenInputScroll.js";
5
+ function k({
6
+ checked: n,
7
+ label: c,
8
+ ariaLabel: l,
9
+ disabled: a,
10
+ className: t,
11
+ children: i,
12
+ onCheckedChange: e
13
+ }) {
14
+ const s = h(null);
15
+ return m(s), /* @__PURE__ */ u(
16
+ r.Root,
17
+ {
18
+ ref: s,
19
+ checked: n,
20
+ disabled: a,
21
+ "aria-label": l,
22
+ className: `gcsa-checkbox gcsa-focus-ring${t ? ` ${t}` : ""}`,
23
+ onCheckedChange: (d) => e == null ? void 0 : e(d.checked === !0),
24
+ children: [
25
+ /* @__PURE__ */ o(r.Control, { className: "gcsa-checkbox__box", children: /* @__PURE__ */ o(r.Indicator, { className: "gcsa-checkbox__indicator", children: /* @__PURE__ */ o("svg", { viewBox: "0 0 12 12", width: "10", height: "10", "aria-hidden": "true", children: /* @__PURE__ */ o(
26
+ "path",
27
+ {
28
+ d: "M2 6.2L4.8 9 10 3.2",
29
+ fill: "none",
30
+ stroke: "currentColor",
31
+ strokeWidth: "1.8",
32
+ strokeLinecap: "round",
33
+ strokeLinejoin: "round"
34
+ }
35
+ ) }) }) }),
36
+ c || i ? /* @__PURE__ */ o(r.Label, { className: "gcsa-checkbox__label", children: i ?? c }) : null,
37
+ /* @__PURE__ */ o(r.HiddenInput, {})
38
+ ]
39
+ }
40
+ );
41
+ }
42
+ export {
43
+ k as GcsaCheckbox
44
+ };
45
+ //# sourceMappingURL=GcsaCheckbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GcsaCheckbox.js","sources":["../src/GcsaCheckbox.tsx"],"sourcesContent":["import { useRef, type ReactNode } from 'react';\nimport { Checkbox } from '@ark-ui/react/checkbox';\nimport { usePreventHiddenInputScroll } from './hooks/usePreventHiddenInputScroll';\n\nexport type GcsaCheckboxProps = {\n checked?: boolean;\n label?: string;\n ariaLabel?: string;\n disabled?: boolean;\n className?: string;\n children?: ReactNode;\n onCheckedChange?: (checked: boolean) => void;\n};\n\nexport function GcsaCheckbox({\n checked,\n label,\n ariaLabel,\n disabled,\n className,\n children,\n onCheckedChange\n}: GcsaCheckboxProps) {\n const rootRef = useRef<HTMLLabelElement>(null);\n usePreventHiddenInputScroll(rootRef);\n return (\n <Checkbox.Root\n ref={rootRef}\n checked={checked}\n disabled={disabled}\n aria-label={ariaLabel}\n className={`gcsa-checkbox gcsa-focus-ring${className ? ` ${className}` : ''}`}\n onCheckedChange={details => onCheckedChange?.(details.checked === true)}\n >\n <Checkbox.Control className=\"gcsa-checkbox__box\">\n <Checkbox.Indicator className=\"gcsa-checkbox__indicator\">\n <svg viewBox=\"0 0 12 12\" width=\"10\" height=\"10\" aria-hidden=\"true\">\n <path\n d=\"M2 6.2L4.8 9 10 3.2\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.8\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </Checkbox.Indicator>\n </Checkbox.Control>\n {label || children ? (\n <Checkbox.Label className=\"gcsa-checkbox__label\">{children ?? label}</Checkbox.Label>\n ) : null}\n <Checkbox.HiddenInput />\n </Checkbox.Root>\n );\n}\n"],"names":["GcsaCheckbox","checked","label","ariaLabel","disabled","className","children","onCheckedChange","rootRef","useRef","usePreventHiddenInputScroll","jsxs","Checkbox","details","jsx"],"mappings":";;;;AAcO,SAASA,EAAa;AAAA,EAC3B,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC;AACF,GAAsB;AACpB,QAAMC,IAAUC,EAAyB,IAAI;AAC7C,SAAAC,EAA4BF,CAAO,GAEjC,gBAAAG;AAAA,IAACC,EAAS;AAAA,IAAT;AAAA,MACC,KAAKJ;AAAA,MACL,SAAAP;AAAA,MACA,UAAAG;AAAA,MACA,cAAYD;AAAA,MACZ,WAAW,gCAAgCE,IAAY,IAAIA,CAAS,KAAK,EAAE;AAAA,MAC3E,iBAAiB,CAAAQ,MAAWN,KAAA,gBAAAA,EAAkBM,EAAQ,YAAY;AAAA,MAElE,UAAA;AAAA,QAAA,gBAAAC,EAACF,EAAS,SAAT,EAAiB,WAAU,sBAC1B,UAAA,gBAAAE,EAACF,EAAS,WAAT,EAAmB,WAAU,4BAC5B,UAAA,gBAAAE,EAAC,OAAA,EAAI,SAAQ,aAAY,OAAM,MAAK,QAAO,MAAK,eAAY,QAC1D,UAAA,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAK;AAAA,YACL,QAAO;AAAA,YACP,aAAY;AAAA,YACZ,eAAc;AAAA,YACd,gBAAe;AAAA,UAAA;AAAA,QAAA,EACjB,CACF,GACF,GACF;AAAA,QACCZ,KAASI,IACR,gBAAAQ,EAACF,EAAS,OAAT,EAAe,WAAU,wBAAwB,UAAAN,KAAYJ,EAAA,CAAM,IAClE;AAAA,QACJ,gBAAAY,EAACF,EAAS,aAAT,CAAA,CAAqB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG5B;"}
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ export type GcsaCollapseItem = {
3
+ key: string;
4
+ title: string;
5
+ content?: ReactNode;
6
+ disabled?: boolean;
7
+ };
8
+ export type GcsaCollapseProps = {
9
+ items: GcsaCollapseItem[];
10
+ openKeys?: string[];
11
+ defaultOpenKeys?: string[];
12
+ accordion?: boolean;
13
+ bordered?: boolean;
14
+ onOpenKeysChange?: (keys: string[]) => void;
15
+ };
16
+ export declare function GcsaCollapse({ items, openKeys, defaultOpenKeys, accordion, bordered, onOpenKeysChange }: GcsaCollapseProps): import("react").JSX.Element;
@@ -0,0 +1,20 @@
1
+ import { jsx as c, jsxs as o } from "react/jsx-runtime";
2
+ import { useState as f } from "react";
3
+ function b({ items: n, openKeys: r, defaultOpenKeys: t = [], accordion: d = !1, bordered: i = !0, onOpenKeysChange: a }) {
4
+ const [p, u] = f(t), l = r ?? p;
5
+ function g(s) {
6
+ const e = l.includes(s) ? l.filter((_) => _ !== s) : d ? [s] : [...l, s];
7
+ u(e), a == null || a(e);
8
+ }
9
+ return /* @__PURE__ */ c("div", { className: `gcsa-collapse${i ? " gcsa-collapse--bordered" : ""}`, children: n.map((s) => /* @__PURE__ */ o("section", { className: "gcsa-collapse__item", "data-open": l.includes(s.key) || void 0, children: [
10
+ /* @__PURE__ */ o("button", { type: "button", className: "gcsa-collapse__trigger gcsa-focus-ring", disabled: s.disabled, "aria-expanded": l.includes(s.key), "aria-controls": `gcsa-collapse-${s.key}`, onClick: () => g(s.key), children: [
11
+ /* @__PURE__ */ c("span", { className: "gcsa-collapse__indicator", "aria-hidden": "true", children: l.includes(s.key) ? "−" : "+" }),
12
+ /* @__PURE__ */ c("span", { className: "gcsa-collapse__title", children: s.title })
13
+ ] }),
14
+ l.includes(s.key) ? /* @__PURE__ */ c("div", { id: `gcsa-collapse-${s.key}`, className: "gcsa-collapse__content", role: "region", children: s.content }) : null
15
+ ] }, s.key)) });
16
+ }
17
+ export {
18
+ b as GcsaCollapse
19
+ };
20
+ //# sourceMappingURL=GcsaCollapse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GcsaCollapse.js","sources":["../src/GcsaCollapse.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { useState } from 'react';\n\nexport type GcsaCollapseItem = { key: string; title: string; content?: ReactNode; disabled?: boolean };\nexport type GcsaCollapseProps = { items: GcsaCollapseItem[]; openKeys?: string[]; defaultOpenKeys?: string[]; accordion?: boolean; bordered?: boolean; onOpenKeysChange?: (keys: string[]) => void };\n\nexport function GcsaCollapse({ items, openKeys, defaultOpenKeys = [], accordion = false, bordered = true, onOpenKeysChange }: GcsaCollapseProps) {\n const [internalKeys, setInternalKeys] = useState(defaultOpenKeys);\n const keys = openKeys ?? internalKeys;\n function toggle(key: string) {\n const next = keys.includes(key) ? keys.filter(value => value !== key) : accordion ? [key] : [...keys, key];\n setInternalKeys(next);\n onOpenKeysChange?.(next);\n }\n return <div className={`gcsa-collapse${bordered ? ' gcsa-collapse--bordered' : ''}`}>\n {items.map(item => <section key={item.key} className=\"gcsa-collapse__item\" data-open={keys.includes(item.key) || undefined}>\n <button type=\"button\" className=\"gcsa-collapse__trigger gcsa-focus-ring\" disabled={item.disabled} aria-expanded={keys.includes(item.key)} aria-controls={`gcsa-collapse-${item.key}`} onClick={() => toggle(item.key)}>\n <span className=\"gcsa-collapse__indicator\" aria-hidden=\"true\">{keys.includes(item.key) ? '−' : '+'}</span><span className=\"gcsa-collapse__title\">{item.title}</span>\n </button>\n {keys.includes(item.key) ? <div id={`gcsa-collapse-${item.key}`} className=\"gcsa-collapse__content\" role=\"region\">{item.content}</div> : null}\n </section>)}\n </div>;\n}\n"],"names":["GcsaCollapse","items","openKeys","defaultOpenKeys","accordion","bordered","onOpenKeysChange","internalKeys","setInternalKeys","useState","keys","toggle","key","next","value","jsx","jsxs","item"],"mappings":";;AAMO,SAASA,EAAa,EAAE,OAAAC,GAAO,UAAAC,GAAU,iBAAAC,IAAkB,CAAA,GAAI,WAAAC,IAAY,IAAO,UAAAC,IAAW,IAAM,kBAAAC,EAAA,GAAuC;AAC/I,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAASN,CAAe,GAC1DO,IAAOR,KAAYK;AACzB,WAASI,EAAOC,GAAa;AAC3B,UAAMC,IAAOH,EAAK,SAASE,CAAG,IAAIF,EAAK,OAAO,CAAAI,MAASA,MAAUF,CAAG,IAAIR,IAAY,CAACQ,CAAG,IAAI,CAAC,GAAGF,GAAME,CAAG;AACzG,IAAAJ,EAAgBK,CAAI,GACpBP,KAAA,QAAAA,EAAmBO;AAAA,EACrB;AACA,SAAO,gBAAAE,EAAC,SAAI,WAAW,gBAAgBV,IAAW,6BAA6B,EAAE,IAC9E,UAAAJ,EAAM,IAAI,OAAQ,gBAAAe,EAAC,WAAA,EAAuB,WAAU,uBAAsB,aAAWN,EAAK,SAASO,EAAK,GAAG,KAAK,QAC/G,UAAA;AAAA,IAAA,gBAAAD,EAAC,UAAA,EAAO,MAAK,UAAS,WAAU,0CAAyC,UAAUC,EAAK,UAAU,iBAAeP,EAAK,SAASO,EAAK,GAAG,GAAG,iBAAe,iBAAiBA,EAAK,GAAG,IAAI,SAAS,MAAMN,EAAOM,EAAK,GAAG,GAClN,UAAA;AAAA,MAAA,gBAAAF,EAAC,QAAA,EAAK,WAAU,4BAA2B,eAAY,QAAQ,UAAAL,EAAK,SAASO,EAAK,GAAG,IAAI,MAAM,IAAA,CAAI;AAAA,MAAO,gBAAAF,EAAC,QAAA,EAAK,WAAU,wBAAwB,YAAK,MAAA,CAAM;AAAA,IAAA,GAC/J;AAAA,IACCL,EAAK,SAASO,EAAK,GAAG,IAAI,gBAAAF,EAAC,SAAI,IAAI,iBAAiBE,EAAK,GAAG,IAAI,WAAU,0BAAyB,MAAK,UAAU,UAAAA,EAAK,SAAQ,IAAS;AAAA,EAAA,EAAA,GAJ1GA,EAAK,GAKtC,CAAU,GACZ;AACF;"}
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { GcsaConsoleTheme, GcsaConsoleLocale, GcsaComponentSize } from '@gcsa/console-core';
3
+ export type GcsaConfigProviderProps = {
4
+ theme?: GcsaConsoleTheme;
5
+ /** 界面语言(zh-CN / zh-TW / en-US) */
6
+ locale?: GcsaConsoleLocale;
7
+ /** 是否同步到 document(Portal 浮层)。文档站 demo 应关闭,由 VitePress 全局同步。 */
8
+ syncDocument?: boolean;
9
+ /** 全局控件尺寸(Button / Select / InputGroup / Switch / Table 等) */
10
+ size?: GcsaComponentSize;
11
+ children: ReactNode;
12
+ };
13
+ export declare function GcsaConfigProvider({ theme, locale, syncDocument, size, children }: GcsaConfigProviderProps): import("react").JSX.Element;
@@ -0,0 +1,68 @@
1
+ import { jsx as e, jsxs as R } from "react/jsx-runtime";
2
+ import { useContext as n, useState as l, useRef as b, useMemo as _, useEffect as i } from "react";
3
+ import { createPortal as j } from "react-dom";
4
+ import { GCSA_MESSAGE_DURATION_MS as k } from "@gcsa/console-core";
5
+ import { GcsaConfigProviderContext as p, GcsaMessageContext as L, GcsaThemeContext as O } from "./hooks/useGcsaTheme.js";
6
+ import { GcsaLocaleContext as U } from "./hooks/useGcsaLocale.js";
7
+ import { GcsaRestoreDocumentThemeContext as q } from "./hooks/useDocumentThemeSync.js";
8
+ import { GcsaToastStack as w } from "./GcsaToastStack.js";
9
+ import { GcsaZIndexContext as x, readToastZIndex as v, createGcsaZIndexApi as B } from "./hooks/useGcsaZIndex.js";
10
+ import { GcsaComponentSizeContext as h } from "./hooks/useGcsaComponentSize.js";
11
+ function ee({
12
+ theme: o = "dark",
13
+ locale: C = "zh-CN",
14
+ syncDocument: G = !0,
15
+ size: g,
16
+ children: I
17
+ }) {
18
+ const P = n(p), d = n(x), S = n(h), s = n(q), [T, u] = l([]), [A, Z] = l(() => v()), y = b(0), z = _(
19
+ () => d ?? B(),
20
+ [d]
21
+ ), r = !P && G, E = g ?? S ?? "md", m = () => {
22
+ Z(v());
23
+ }, c = (t, M) => {
24
+ m();
25
+ const f = ++y.current;
26
+ u((a) => [...a, { id: f, message: t, type: M }].slice(-4)), setTimeout(() => {
27
+ u((a) => a.filter((N) => N.id !== f));
28
+ }, k);
29
+ }, D = {
30
+ success: (t) => c(t, "success"),
31
+ error: (t) => c(t, "error"),
32
+ info: (t) => c(t, "info")
33
+ };
34
+ return i(() => {
35
+ !r || typeof document > "u" || document.documentElement.setAttribute("data-gcsa-theme", o);
36
+ }, [o, r]), i(() => {
37
+ m();
38
+ }, []), i(() => {
39
+ if (r)
40
+ return () => {
41
+ if (!(typeof document > "u")) {
42
+ if (s) {
43
+ s();
44
+ return;
45
+ }
46
+ document.documentElement.removeAttribute("data-gcsa-theme");
47
+ }
48
+ };
49
+ }, [r, s]), /* @__PURE__ */ e(p.Provider, { value: !0, children: /* @__PURE__ */ e(x.Provider, { value: z, children: /* @__PURE__ */ e(h.Provider, { value: E, children: /* @__PURE__ */ e(L.Provider, { value: D, children: /* @__PURE__ */ e(O.Provider, { value: o, children: /* @__PURE__ */ R(U.Provider, { value: C, children: [
50
+ /* @__PURE__ */ e("div", { className: "gcsa-console-root", "data-gcsa-theme": o, children: I }),
51
+ typeof document < "u" ? j(
52
+ /* @__PURE__ */ e(
53
+ "div",
54
+ {
55
+ className: "gcsa-portal-scope gcsa-toast-portal",
56
+ "data-gcsa-theme": o,
57
+ style: { zIndex: A },
58
+ children: /* @__PURE__ */ e(w, { toasts: T })
59
+ }
60
+ ),
61
+ document.body
62
+ ) : null
63
+ ] }) }) }) }) }) });
64
+ }
65
+ export {
66
+ ee as GcsaConfigProvider
67
+ };
68
+ //# sourceMappingURL=GcsaConfigProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GcsaConfigProvider.js","sources":["../src/GcsaConfigProvider.tsx"],"sourcesContent":["import { useContext, useEffect, useMemo, useRef, useState, type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\nimport type { GcsaConsoleTheme, GcsaConsoleLocale, GcsaMessageType, GcsaComponentSize } from '@gcsa/console-core';\nimport { GCSA_MESSAGE_DURATION_MS } from '@gcsa/console-core';\nimport {\n GcsaConfigProviderContext,\n GcsaMessageContext,\n GcsaThemeContext\n} from './hooks/useGcsaTheme';\nimport type { GcsaMessageApi } from './hooks/useMessage';\nimport { GcsaLocaleContext } from './hooks/useGcsaLocale';\nimport { GcsaRestoreDocumentThemeContext } from './hooks/useDocumentThemeSync';\nimport { GcsaToastStack } from './GcsaToastStack';\nimport { GcsaZIndexContext, createGcsaZIndexApi, readToastZIndex } from './hooks/useGcsaZIndex';\nimport { GcsaComponentSizeContext } from './hooks/useGcsaComponentSize';\n\nexport type GcsaConfigProviderProps = {\n theme?: GcsaConsoleTheme;\n /** 界面语言(zh-CN / zh-TW / en-US) */\n locale?: GcsaConsoleLocale;\n /** 是否同步到 document(Portal 浮层)。文档站 demo 应关闭,由 VitePress 全局同步。 */\n syncDocument?: boolean;\n /** 全局控件尺寸(Button / Select / InputGroup / Switch / Table 等) */\n size?: GcsaComponentSize;\n children: ReactNode;\n};\n\nexport function GcsaConfigProvider({\n theme = 'dark',\n locale = 'zh-CN',\n syncDocument = true,\n size,\n children\n}: GcsaConfigProviderProps) {\n const parentProvider = useContext(GcsaConfigProviderContext);\n const parentZIndexApi = useContext(GcsaZIndexContext);\n const parentSize = useContext(GcsaComponentSizeContext);\n const restoreDocumentTheme = useContext(GcsaRestoreDocumentThemeContext);\n const [toasts, setToasts] = useState<Array<{ id: number; message: string; type: GcsaMessageType }>>([]);\n const [toastZIndex, setToastZIndex] = useState<number>(() => readToastZIndex());\n const idRef = useRef(0);\n const MAX_TOASTS = 4;\n\n const zIndexApi = useMemo(\n () => parentZIndexApi ?? createGcsaZIndexApi(),\n [parentZIndexApi]\n );\n\n const shouldSyncDocument = !parentProvider && syncDocument;\n const resolvedSize = size ?? parentSize ?? 'md';\n\n const refreshToastZIndex = () => {\n setToastZIndex(readToastZIndex());\n };\n\n const push = (message: string, type: GcsaMessageType) => {\n refreshToastZIndex();\n const current = ++idRef.current;\n setToasts(prev => [...prev, { id: current, message, type }].slice(-MAX_TOASTS));\n setTimeout(() => {\n setToasts(prev => prev.filter(t => t.id !== current));\n }, GCSA_MESSAGE_DURATION_MS);\n };\n\n const api: GcsaMessageApi = {\n success: message => push(message, 'success'),\n error: message => push(message, 'error'),\n info: message => push(message, 'info')\n };\n\n useEffect(() => {\n if (!shouldSyncDocument || typeof document === 'undefined') return;\n document.documentElement.setAttribute('data-gcsa-theme', theme);\n }, [theme, shouldSyncDocument]);\n\n useEffect(() => {\n refreshToastZIndex();\n }, []);\n\n useEffect(() => {\n if (!shouldSyncDocument) return;\n return () => {\n if (typeof document === 'undefined') return;\n if (restoreDocumentTheme) {\n restoreDocumentTheme();\n return;\n }\n document.documentElement.removeAttribute('data-gcsa-theme');\n };\n }, [shouldSyncDocument, restoreDocumentTheme]);\n\n return (\n <GcsaConfigProviderContext.Provider value={true}>\n <GcsaZIndexContext.Provider value={zIndexApi}>\n <GcsaComponentSizeContext.Provider value={resolvedSize}>\n <GcsaMessageContext.Provider value={api}>\n <GcsaThemeContext.Provider value={theme}>\n <GcsaLocaleContext.Provider value={locale}>\n <div className=\"gcsa-console-root\" data-gcsa-theme={theme}>\n {children}\n </div>\n {typeof document !== 'undefined'\n ? createPortal(\n <div\n className=\"gcsa-portal-scope gcsa-toast-portal\"\n data-gcsa-theme={theme}\n style={{ zIndex: toastZIndex }}\n >\n <GcsaToastStack toasts={toasts} />\n </div>,\n document.body\n )\n : null}\n </GcsaLocaleContext.Provider>\n </GcsaThemeContext.Provider>\n </GcsaMessageContext.Provider>\n </GcsaComponentSizeContext.Provider>\n </GcsaZIndexContext.Provider>\n </GcsaConfigProviderContext.Provider>\n );\n}"],"names":["GcsaConfigProvider","theme","locale","syncDocument","size","children","parentProvider","useContext","GcsaConfigProviderContext","parentZIndexApi","GcsaZIndexContext","parentSize","GcsaComponentSizeContext","restoreDocumentTheme","GcsaRestoreDocumentThemeContext","toasts","setToasts","useState","toastZIndex","setToastZIndex","readToastZIndex","idRef","useRef","zIndexApi","useMemo","createGcsaZIndexApi","shouldSyncDocument","resolvedSize","refreshToastZIndex","push","message","type","current","prev","t","GCSA_MESSAGE_DURATION_MS","api","useEffect","jsx","GcsaMessageContext","GcsaThemeContext","jsxs","GcsaLocaleContext","createPortal","GcsaToastStack"],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import { MouseEvent as ReactMouseEvent, MutableRefObject, ReactNode } from 'react';
2
+ import { ColumnDef, SortingState } from '@tanstack/react-table';
3
+ import { GcsaLegacyTableColumn, GcsaPaginationAlign, GcsaPaginationLayoutPart, GcsaTableColumn, GcsaTableColumnInfo, getGcsaTableSortChange } from '@gcsa/console-core';
4
+ export type GcsaDataTableProps<T extends Record<string, unknown>> = {
5
+ data: T[];
6
+ columns?: Array<GcsaTableColumn<T> | ColumnDef<T, unknown>>;
7
+ legacyColumns?: GcsaLegacyTableColumn<T>[];
8
+ total?: number;
9
+ pageSize?: number;
10
+ pageSizeOptions?: number[];
11
+ showPageSize?: boolean;
12
+ showJumper?: boolean;
13
+ pageSizeLabel?: string;
14
+ jumperLabel?: string;
15
+ paginationLayout?: string | GcsaPaginationLayoutPart[];
16
+ paginationAlign?: GcsaPaginationAlign;
17
+ showTotal?: boolean;
18
+ page?: number;
19
+ pagination?: boolean;
20
+ showToolbar?: boolean;
21
+ /** 工具栏是否显示总条数 */
22
+ showCount?: boolean;
23
+ size?: 'sm' | 'md';
24
+ serverSide?: boolean;
25
+ sorting?: SortingState;
26
+ filters?: Record<string, string>;
27
+ defaultSorting?: SortingState;
28
+ defaultFilters?: Record<string, string>;
29
+ loading?: boolean;
30
+ error?: string;
31
+ retryLabel?: string;
32
+ selectable?: boolean | ((row: T, index: number) => boolean);
33
+ selectedRowKeys?: string[];
34
+ columnVisibility?: Record<string, boolean>;
35
+ resizable?: boolean;
36
+ columnWidths?: Record<string, number>;
37
+ treeData?: boolean;
38
+ childrenKey?: keyof T & string;
39
+ treeLazy?: boolean;
40
+ treeHasChildrenKey?: keyof T & string;
41
+ treeHasChildren?: (row: T, index: number) => boolean;
42
+ loadChildren?: (row: T, index: number) => Promise<T[]> | T[];
43
+ treeLoadingText?: string;
44
+ treeLoadErrorText?: string;
45
+ expandedRowKeys?: string[];
46
+ mobileMode?: 'scroll' | 'cards';
47
+ stripe?: boolean;
48
+ bordered?: boolean;
49
+ highlightCurrentRow?: boolean;
50
+ currentRowKey?: string;
51
+ rowClassName?: string | ((row: T, index: number) => string | undefined);
52
+ summary?: (rows: T[]) => Record<string, string | number | null | undefined>;
53
+ summaryLabel?: string;
54
+ apiRef?: MutableRefObject<GcsaDataTableApi<T> | null>;
55
+ rowKey?: (keyof T & string) | ((row: T, index: number) => string);
56
+ height?: string | number;
57
+ maxHeight?: string | number;
58
+ expandable?: boolean;
59
+ defaultExpandAll?: boolean;
60
+ fixedSelection?: boolean;
61
+ selectionColumnWidth?: number;
62
+ expandColumnWidth?: number;
63
+ renderExpandedRow?: (row: T, index: number) => ReactNode;
64
+ toolbar?: ReactNode;
65
+ onPageChange?: (page: number) => void;
66
+ onPageSizeChange?: (pageSize: number) => void;
67
+ onSortingChange?: (sorting: SortingState) => void;
68
+ /** Element-style sort event payload for migration from el-table. */
69
+ onSortChange?: (change: ReturnType<typeof getGcsaTableSortChange>) => void;
70
+ onFiltersChange?: (filters: Record<string, string>) => void;
71
+ onFilterChange?: (filters: Record<string, string>) => void;
72
+ onSelectionChange?: (rows: T[]) => void;
73
+ onSelect?: (rows: T[], row: T) => void;
74
+ onSelectAll?: (rows: T[]) => void;
75
+ onSelectedRowKeysChange?: (keys: string[]) => void;
76
+ onColumnVisibilityChange?: (visibility: Record<string, boolean>) => void;
77
+ onColumnWidthsChange?: (widths: Record<string, number>) => void;
78
+ onExpandedRowKeysChange?: (keys: string[]) => void;
79
+ onCurrentRowKeyChange?: (key: string | undefined) => void;
80
+ onRowClick?: (row: T, index: number, event: ReactMouseEvent<HTMLTableRowElement>) => void;
81
+ onRowDoubleClick?: (row: T, index: number, event: ReactMouseEvent<HTMLTableRowElement>) => void;
82
+ onCellClick?: (row: T, column: string, value: unknown, index: number, event: ReactMouseEvent<HTMLTableCellElement>) => void;
83
+ onCellDoubleClick?: (row: T, column: string, value: unknown, index: number, event: ReactMouseEvent<HTMLTableCellElement>) => void;
84
+ onHeaderClick?: (column: GcsaTableColumnInfo, event: ReactMouseEvent<HTMLTableCellElement>) => void;
85
+ onRowContextMenu?: (row: T, index: number, event: ReactMouseEvent<HTMLTableRowElement>) => void;
86
+ onCellContextMenu?: (row: T, column: string, value: unknown, index: number, event: ReactMouseEvent<HTMLTableCellElement>) => void;
87
+ onLegacyRowClick?: (row: T, column: GcsaTableColumnInfo, event: ReactMouseEvent<HTMLTableRowElement>) => void;
88
+ onLegacyCellClick?: (row: T, column: GcsaTableColumnInfo, cell: HTMLTableCellElement, event: ReactMouseEvent<HTMLTableCellElement>) => void;
89
+ onLegacyRowContextMenu?: (row: T, column: GcsaTableColumnInfo, event: ReactMouseEvent<HTMLTableRowElement>) => void;
90
+ onLegacyCellContextMenu?: (row: T, column: GcsaTableColumnInfo, cell: HTMLTableCellElement, event: ReactMouseEvent<HTMLTableCellElement>) => void;
91
+ onCurrentChange?: (current: T | undefined, previous: T | undefined) => void;
92
+ onExpandChange?: (row: T, expanded: boolean, expandedRows: T[]) => void;
93
+ columnSelector?: (columns: Array<{
94
+ id: string;
95
+ title: string;
96
+ visible: boolean;
97
+ }>, toggle: (id: string) => void) => ReactNode;
98
+ onRetry?: () => void;
99
+ onTreeLoadError?: (error: unknown, row: T, index: number) => void;
100
+ };
101
+ export type GcsaDataTableApi<T extends Record<string, unknown>> = {
102
+ clearSorting: () => void;
103
+ clearFilters: () => void;
104
+ clearSelection: () => void;
105
+ clearExpanded: () => void;
106
+ setRowSelected: (key: string, selected?: boolean) => void;
107
+ setRowExpanded: (key: string, expanded?: boolean) => Promise<void>;
108
+ clearSort: () => void;
109
+ clearFilter: (columnKeys?: string | string[]) => void;
110
+ sort: (prop: string, order: 'ascending' | 'descending' | null) => void;
111
+ toggleRowSelection: (row: T, selected?: boolean) => void;
112
+ toggleAllSelection: () => void;
113
+ toggleRowExpansion: (row: T, expanded?: boolean) => Promise<void>;
114
+ setCurrentRow: (row?: T) => void;
115
+ getSelectionRows: () => T[];
116
+ setScrollTop: (top: number) => void;
117
+ scrollTo: (options: ScrollToOptions | number, y?: number) => void;
118
+ };
119
+ export declare function GcsaDataTable<T extends Record<string, unknown>>({ data, columns, legacyColumns, total, pageSize: pageSizeProp, pageSizeOptions, showPageSize, showJumper, pageSizeLabel, jumperLabel, paginationLayout, paginationAlign, showTotal, page, pagination, showToolbar, showCount, size, serverSide, sorting: controlledSorting, filters: controlledFilters, defaultSorting, defaultFilters, loading, error, retryLabel, selectable, selectedRowKeys, columnVisibility: controlledColumnVisibility, resizable, columnWidths: controlledColumnWidths, treeData, childrenKey, treeLazy, treeHasChildrenKey, treeHasChildren, loadChildren, treeLoadingText, treeLoadErrorText, expandedRowKeys, mobileMode, stripe, bordered, highlightCurrentRow, currentRowKey: controlledCurrentRowKey, rowClassName, summary, summaryLabel, apiRef, rowKey, expandable, height, maxHeight, defaultExpandAll, fixedSelection, selectionColumnWidth, expandColumnWidth, renderExpandedRow, toolbar, onPageChange, onPageSizeChange, onSortingChange, onSortChange, onFiltersChange, onFilterChange, onSelectionChange, onSelect, onSelectAll, onSelectedRowKeysChange, onColumnVisibilityChange, onColumnWidthsChange, onExpandedRowKeysChange, onCurrentRowKeyChange, onRowClick, onRowDoubleClick, onCellClick, onCellDoubleClick, onHeaderClick, onRowContextMenu, onCellContextMenu, onLegacyRowClick, onLegacyCellClick, onLegacyRowContextMenu, onLegacyCellContextMenu, onCurrentChange, onExpandChange, columnSelector, onRetry, onTreeLoadError }: GcsaDataTableProps<T>): import("react").JSX.Element;