@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,11 @@
1
+ import { ReactNode } from 'react';
2
+ import { GcsaComponentSize } from '@gcsa/console-core';
3
+ export type GcsaInputGroupProps = {
4
+ disabled?: boolean;
5
+ invalid?: boolean;
6
+ size?: GcsaComponentSize;
7
+ className?: string;
8
+ addon?: ReactNode;
9
+ children?: ReactNode;
10
+ };
11
+ export declare function GcsaInputGroup({ disabled, invalid, size, className, addon, children }: GcsaInputGroupProps): import("react").JSX.Element;
@@ -0,0 +1,27 @@
1
+ import { jsxs as t, jsx as a } from "react/jsx-runtime";
2
+ import { useGcsaComponentSize as c } from "./hooks/useGcsaComponentSize.js";
3
+ function l({
4
+ disabled: n = !1,
5
+ invalid: s = !1,
6
+ size: p,
7
+ className: i,
8
+ addon: o,
9
+ children: r
10
+ }) {
11
+ const u = c(p);
12
+ return /* @__PURE__ */ t(
13
+ "div",
14
+ {
15
+ className: `gcsa-input-group gcsa-input-group--${u}${n ? " gcsa-input-group--disabled" : ""}${s ? " gcsa-input-group--invalid" : ""}${i ? ` ${i}` : ""}`,
16
+ "data-invalid": s || void 0,
17
+ children: [
18
+ /* @__PURE__ */ a("div", { className: "gcsa-input-group__control", children: r }),
19
+ o ? /* @__PURE__ */ a("div", { className: "gcsa-input-group__addon", children: o }) : null
20
+ ]
21
+ }
22
+ );
23
+ }
24
+ export {
25
+ l as GcsaInputGroup
26
+ };
27
+ //# sourceMappingURL=GcsaInputGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GcsaInputGroup.js","sources":["../src/GcsaInputGroup.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport type { GcsaComponentSize } from '@gcsa/console-core';\nimport { useGcsaComponentSize } from './hooks/useGcsaComponentSize';\n\nexport type GcsaInputGroupProps = {\n disabled?: boolean;\n invalid?: boolean;\n size?: GcsaComponentSize;\n className?: string;\n addon?: ReactNode;\n children?: ReactNode;\n};\n\nexport function GcsaInputGroup({\n disabled = false,\n invalid = false,\n size,\n className,\n addon,\n children\n}: GcsaInputGroupProps) {\n const resolvedSize = useGcsaComponentSize(size);\n return (\n <div\n className={`gcsa-input-group gcsa-input-group--${resolvedSize}${disabled ? ' gcsa-input-group--disabled' : ''}${invalid ? ' gcsa-input-group--invalid' : ''}${className ? ` ${className}` : ''}`}\n data-invalid={invalid || undefined}\n >\n <div className=\"gcsa-input-group__control\">{children}</div>\n {addon ? <div className=\"gcsa-input-group__addon\">{addon}</div> : null}\n </div>\n );\n}\n"],"names":["GcsaInputGroup","disabled","invalid","size","className","addon","children","resolvedSize","useGcsaComponentSize","jsxs","jsx"],"mappings":";;AAaO,SAASA,EAAe;AAAA,EAC7B,UAAAC,IAAW;AAAA,EACX,SAAAC,IAAU;AAAA,EACV,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AACF,GAAwB;AACtB,QAAMC,IAAeC,EAAqBL,CAAI;AAC9C,SACE,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,sCAAsCF,CAAY,GAAGN,IAAW,gCAAgC,EAAE,GAAGC,IAAU,+BAA+B,EAAE,GAAGE,IAAY,IAAIA,CAAS,KAAK,EAAE;AAAA,MAC9L,gBAAcF,KAAW;AAAA,MAEzB,UAAA;AAAA,QAAA,gBAAAQ,EAAC,OAAA,EAAI,WAAU,6BAA6B,UAAAJ,EAAA,CAAS;AAAA,QACpDD,IAAQ,gBAAAK,EAAC,OAAA,EAAI,WAAU,2BAA2B,aAAM,IAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGxE;"}
@@ -0,0 +1,18 @@
1
+ import { GcsaComponentSize, GcsaInputNumberControls } from '@gcsa/console-core';
2
+ export type GcsaInputNumberProps = {
3
+ value?: number | null;
4
+ min?: number;
5
+ max?: number;
6
+ step?: number;
7
+ precision?: number;
8
+ placeholder?: string;
9
+ disabled?: boolean;
10
+ invalid?: boolean;
11
+ size?: GcsaComponentSize;
12
+ /** both: 左右加减;right: 输入框在左、加减在右;none: 隐藏加减 */
13
+ controls?: GcsaInputNumberControls;
14
+ className?: string;
15
+ onBlur?: () => void;
16
+ onValueChange?: (value: number | null) => void;
17
+ };
18
+ export declare function GcsaInputNumber({ value, min, max, step, precision, placeholder, disabled, invalid, size, controls, className, onBlur, onValueChange }: GcsaInputNumberProps): import("react").JSX.Element;
@@ -0,0 +1,108 @@
1
+ import { jsx as o, jsxs as m, Fragment as g } from "react/jsx-runtime";
2
+ import { useMemo as y } from "react";
3
+ import { gcsaControlSizeClass as P } from "@gcsa/console-core";
4
+ import { useGcsaLocaleMessages as U } from "./hooks/useGcsaLocale.js";
5
+ import { useGcsaComponentSize as $ } from "./hooks/useGcsaComponentSize.js";
6
+ function K({
7
+ value: t,
8
+ min: r,
9
+ max: c,
10
+ step: d = 1,
11
+ precision: f = 0,
12
+ placeholder: S,
13
+ disabled: p,
14
+ invalid: j,
15
+ size: z,
16
+ controls: u = "both",
17
+ className: G,
18
+ onBlur: l,
19
+ onValueChange: i
20
+ }) {
21
+ const I = $(z), N = U(), k = t == null || Number.isNaN(t) ? "" : String(t), A = y(
22
+ () => t != null && r != null && t <= r,
23
+ [t, r]
24
+ ), D = y(
25
+ () => t != null && c != null && t >= c,
26
+ [t, c]
27
+ );
28
+ function b(n) {
29
+ let s = n;
30
+ if (f != null) {
31
+ const e = 10 ** f;
32
+ s = Math.round(s * e) / e;
33
+ }
34
+ return r != null && (s = Math.max(r, s)), c != null && (s = Math.min(c, s)), s;
35
+ }
36
+ function w(n) {
37
+ const s = n.trim();
38
+ if (!s) return null;
39
+ const e = Number(s);
40
+ return Number.isNaN(e) ? t ?? null : b(e);
41
+ }
42
+ function x() {
43
+ const n = t ?? r ?? 0;
44
+ i == null || i(b(n + d));
45
+ }
46
+ function F() {
47
+ const n = t ?? c ?? 0;
48
+ i == null || i(b(n - d));
49
+ }
50
+ const L = [
51
+ "gcsa-input-number",
52
+ P("gcsa-input-number", I),
53
+ p ? "gcsa-input-number--disabled" : void 0,
54
+ `gcsa-input-number--controls-${u}`,
55
+ G
56
+ ].filter(Boolean).join(" "), a = {
57
+ className: u === "none" ? "gcsa-input-number__input gcsa-input gcsa-input-number__input--plain" : "gcsa-input-number__input gcsa-input",
58
+ type: "text",
59
+ inputMode: "decimal",
60
+ value: k,
61
+ placeholder: S,
62
+ disabled: p,
63
+ "data-invalid": j || void 0,
64
+ onChange: (n) => i == null ? void 0 : i(w(n.target.value)),
65
+ onBlur: (n) => {
66
+ l == null || l();
67
+ }
68
+ }, _ = /* @__PURE__ */ o(
69
+ "button",
70
+ {
71
+ type: "button",
72
+ className: "gcsa-input-number__btn",
73
+ disabled: p || A,
74
+ "aria-label": N.inputNumberDecrease,
75
+ onClick: F,
76
+ children: "−"
77
+ }
78
+ ), M = /* @__PURE__ */ o(
79
+ "button",
80
+ {
81
+ type: "button",
82
+ className: "gcsa-input-number__btn",
83
+ disabled: p || D,
84
+ "aria-label": N.inputNumberIncrease,
85
+ onClick: x,
86
+ children: "+"
87
+ }
88
+ );
89
+ return /* @__PURE__ */ m("div", { className: L, children: [
90
+ u === "both" ? /* @__PURE__ */ m(g, { children: [
91
+ _,
92
+ /* @__PURE__ */ o("input", { ...a }),
93
+ M
94
+ ] }) : null,
95
+ u === "right" ? /* @__PURE__ */ m(g, { children: [
96
+ /* @__PURE__ */ o("input", { ...a }),
97
+ /* @__PURE__ */ m("div", { className: "gcsa-input-number__controls", children: [
98
+ _,
99
+ M
100
+ ] })
101
+ ] }) : null,
102
+ u === "none" ? /* @__PURE__ */ o("input", { ...a }) : null
103
+ ] });
104
+ }
105
+ export {
106
+ K as GcsaInputNumber
107
+ };
108
+ //# sourceMappingURL=GcsaInputNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GcsaInputNumber.js","sources":["../src/GcsaInputNumber.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport type { GcsaComponentSize, GcsaInputNumberControls } from '@gcsa/console-core';\nimport { gcsaControlSizeClass } from '@gcsa/console-core';\nimport { useGcsaLocaleMessages } from './hooks/useGcsaLocale';\nimport { useGcsaComponentSize } from './hooks/useGcsaComponentSize';\n\nexport type GcsaInputNumberProps = {\n value?: number | null;\n min?: number;\n max?: number;\n step?: number;\n precision?: number;\n placeholder?: string;\n disabled?: boolean;\n invalid?: boolean;\n size?: GcsaComponentSize;\n /** both: 左右加减;right: 输入框在左、加减在右;none: 隐藏加减 */\n controls?: GcsaInputNumberControls;\n className?: string;\n onBlur?: () => void;\n onValueChange?: (value: number | null) => void;\n};\n\nexport function GcsaInputNumber({\n value,\n min,\n max,\n step = 1,\n precision = 0,\n placeholder,\n disabled,\n invalid,\n size,\n controls = 'both',\n className,\n onBlur,\n onValueChange\n}: GcsaInputNumberProps) {\n const resolvedSize = useGcsaComponentSize(size);\n const messages = useGcsaLocaleMessages();\n const displayValue = value == null || Number.isNaN(value) ? '' : String(value);\n\n const isAtMin = useMemo(\n () => value != null && min != null && value <= min,\n [value, min]\n );\n const isAtMax = useMemo(\n () => value != null && max != null && value >= max,\n [value, max]\n );\n\n function clamp(next: number): number {\n let result = next;\n if (precision != null) {\n const factor = 10 ** precision;\n result = Math.round(result * factor) / factor;\n }\n if (min != null) result = Math.max(min, result);\n if (max != null) result = Math.min(max, result);\n return result;\n }\n\n function parseInput(raw: string): number | null {\n const trimmed = raw.trim();\n if (!trimmed) return null;\n const num = Number(trimmed);\n if (Number.isNaN(num)) return value ?? null;\n return clamp(num);\n }\n\n function stepUp() {\n const base = value ?? min ?? 0;\n onValueChange?.(clamp(base + step));\n }\n\n function stepDown() {\n const base = value ?? max ?? 0;\n onValueChange?.(clamp(base - step));\n }\n\n const rootClassName = [\n 'gcsa-input-number',\n gcsaControlSizeClass('gcsa-input-number', resolvedSize),\n disabled ? 'gcsa-input-number--disabled' : undefined,\n `gcsa-input-number--controls-${controls}`,\n className\n ]\n .filter(Boolean)\n .join(' ');\n\n const inputProps = {\n className:\n controls === 'none'\n ? 'gcsa-input-number__input gcsa-input gcsa-input-number__input--plain'\n : 'gcsa-input-number__input gcsa-input',\n type: 'text' as const,\n inputMode: 'decimal' as const,\n value: displayValue,\n placeholder,\n disabled,\n 'data-invalid': invalid || undefined,\n onChange: (event: React.ChangeEvent<HTMLInputElement>) =>\n onValueChange?.(parseInput(event.target.value)),\n onBlur: (event: React.FocusEvent<HTMLInputElement>) => {\n onBlur?.();\n void event;\n }\n };\n\n const decreaseButton = (\n <button\n type=\"button\"\n className=\"gcsa-input-number__btn\"\n disabled={disabled || isAtMin}\n aria-label={messages.inputNumberDecrease}\n onClick={stepDown}\n >\n −\n </button>\n );\n\n const increaseButton = (\n <button\n type=\"button\"\n className=\"gcsa-input-number__btn\"\n disabled={disabled || isAtMax}\n aria-label={messages.inputNumberIncrease}\n onClick={stepUp}\n >\n +\n </button>\n );\n\n return (\n <div className={rootClassName}>\n {controls === 'both' ? (\n <>\n {decreaseButton}\n <input {...inputProps} />\n {increaseButton}\n </>\n ) : null}\n {controls === 'right' ? (\n <>\n <input {...inputProps} />\n <div className=\"gcsa-input-number__controls\">\n {decreaseButton}\n {increaseButton}\n </div>\n </>\n ) : null}\n {controls === 'none' ? <input {...inputProps} /> : null}\n </div>\n );\n}\n"],"names":["GcsaInputNumber","value","min","max","step","precision","placeholder","disabled","invalid","size","controls","className","onBlur","onValueChange","resolvedSize","useGcsaComponentSize","messages","useGcsaLocaleMessages","displayValue","isAtMin","useMemo","isAtMax","clamp","next","result","factor","parseInput","raw","trimmed","num","stepUp","base","stepDown","rootClassName","gcsaControlSizeClass","inputProps","event","decreaseButton","jsx","increaseButton","jsxs","Fragment"],"mappings":";;;;;AAuBO,SAASA,EAAgB;AAAA,EAC9B,OAAAC;AAAA,EACA,KAAAC;AAAA,EACA,KAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,eAAAC;AACF,GAAyB;AACvB,QAAMC,IAAeC,EAAqBN,CAAI,GACxCO,IAAWC,EAAA,GACXC,IAAejB,KAAS,QAAQ,OAAO,MAAMA,CAAK,IAAI,KAAK,OAAOA,CAAK,GAEvEkB,IAAUC;AAAA,IACd,MAAMnB,KAAS,QAAQC,KAAO,QAAQD,KAASC;AAAA,IAC/C,CAACD,GAAOC,CAAG;AAAA,EAAA,GAEPmB,IAAUD;AAAA,IACd,MAAMnB,KAAS,QAAQE,KAAO,QAAQF,KAASE;AAAA,IAC/C,CAACF,GAAOE,CAAG;AAAA,EAAA;AAGb,WAASmB,EAAMC,GAAsB;AACnC,QAAIC,IAASD;AACb,QAAIlB,KAAa,MAAM;AACrB,YAAMoB,IAAS,MAAMpB;AACrB,MAAAmB,IAAS,KAAK,MAAMA,IAASC,CAAM,IAAIA;AAAA,IACzC;AACA,WAAIvB,KAAO,SAAMsB,IAAS,KAAK,IAAItB,GAAKsB,CAAM,IAC1CrB,KAAO,SAAMqB,IAAS,KAAK,IAAIrB,GAAKqB,CAAM,IACvCA;AAAA,EACT;AAEA,WAASE,EAAWC,GAA4B;AAC9C,UAAMC,IAAUD,EAAI,KAAA;AACpB,QAAI,CAACC,EAAS,QAAO;AACrB,UAAMC,IAAM,OAAOD,CAAO;AAC1B,WAAI,OAAO,MAAMC,CAAG,IAAU5B,KAAS,OAChCqB,EAAMO,CAAG;AAAA,EAClB;AAEA,WAASC,IAAS;AAChB,UAAMC,IAAO9B,KAASC,KAAO;AAC7B,IAAAW,KAAA,QAAAA,EAAgBS,EAAMS,IAAO3B,CAAI;AAAA,EACnC;AAEA,WAAS4B,IAAW;AAClB,UAAMD,IAAO9B,KAASE,KAAO;AAC7B,IAAAU,KAAA,QAAAA,EAAgBS,EAAMS,IAAO3B,CAAI;AAAA,EACnC;AAEA,QAAM6B,IAAgB;AAAA,IACpB;AAAA,IACAC,EAAqB,qBAAqBpB,CAAY;AAAA,IACtDP,IAAW,gCAAgC;AAAA,IAC3C,+BAA+BG,CAAQ;AAAA,IACvCC;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG,GAELwB,IAAa;AAAA,IACjB,WACEzB,MAAa,SACT,wEACA;AAAA,IACN,MAAM;AAAA,IACN,WAAW;AAAA,IACX,OAAOQ;AAAA,IACP,aAAAZ;AAAA,IACA,UAAAC;AAAA,IACA,gBAAgBC,KAAW;AAAA,IAC3B,UAAU,CAAC4B,MACTvB,KAAA,gBAAAA,EAAgBa,EAAWU,EAAM,OAAO,KAAK;AAAA,IAC/C,QAAQ,CAACA,MAA8C;AACrD,MAAAxB,KAAA,QAAAA;AAAA,IAEF;AAAA,EAAA,GAGIyB,IACJ,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAU;AAAA,MACV,UAAU/B,KAAYY;AAAA,MACtB,cAAYH,EAAS;AAAA,MACrB,SAASgB;AAAA,MACV,UAAA;AAAA,IAAA;AAAA,EAAA,GAKGO,IACJ,gBAAAD;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAU;AAAA,MACV,UAAU/B,KAAYc;AAAA,MACtB,cAAYL,EAAS;AAAA,MACrB,SAASc;AAAA,MACV,UAAA;AAAA,IAAA;AAAA,EAAA;AAKH,SACE,gBAAAU,EAAC,OAAA,EAAI,WAAWP,GACb,UAAA;AAAA,IAAAvB,MAAa,SACZ,gBAAA8B,EAAAC,GAAA,EACG,UAAA;AAAA,MAAAJ;AAAA,MACD,gBAAAC,EAAC,SAAA,EAAO,GAAGH,GAAY;AAAA,MACtBI;AAAA,IAAA,EAAA,CACH,IACE;AAAA,IACH7B,MAAa,UACZ,gBAAA8B,EAAAC,GAAA,EACE,UAAA;AAAA,MAAA,gBAAAH,EAAC,SAAA,EAAO,GAAGH,GAAY;AAAA,MACvB,gBAAAK,EAAC,OAAA,EAAI,WAAU,+BACZ,UAAA;AAAA,QAAAH;AAAA,QACAE;AAAA,MAAA,EAAA,CACH;AAAA,IAAA,EAAA,CACF,IACE;AAAA,IACH7B,MAAa,SAAS,gBAAA4B,EAAC,SAAA,EAAO,GAAGH,GAAY,IAAK;AAAA,EAAA,GACrD;AAEJ;"}
@@ -0,0 +1,24 @@
1
+ export type GcsaLoadingOptions = {
2
+ target?: HTMLElement | string;
3
+ body?: boolean;
4
+ fullscreen?: boolean;
5
+ lock?: boolean;
6
+ text?: string;
7
+ background?: string;
8
+ customClass?: string;
9
+ visible?: boolean;
10
+ closed?: () => void;
11
+ };
12
+ export type GcsaLoadingInstance = {
13
+ readonly visible: boolean;
14
+ readonly text: string;
15
+ readonly $el: HTMLElement;
16
+ setText: (text: string) => void;
17
+ close: () => void;
18
+ };
19
+ declare function LoadingService(options?: GcsaLoadingOptions): GcsaLoadingInstance | undefined;
20
+ /** Imperative loading API(对齐 Element Plus / panel-web `Loading.service`) */
21
+ export declare const GcsaLoading: {
22
+ service: typeof LoadingService;
23
+ };
24
+ export default LoadingService;
@@ -0,0 +1,101 @@
1
+ import { createElement as g } from "react";
2
+ import { createRoot as f } from "react-dom/client";
3
+ import { GcsaLoadingMask as b } from "./GcsaLoadingMask.js";
4
+ let l;
5
+ function u() {
6
+ if (typeof document > "u") return 3200;
7
+ const e = [
8
+ getComputedStyle(document.documentElement).getPropertyValue("--gcsa-z-loading").trim(),
9
+ getComputedStyle(document.documentElement).getPropertyValue("--z-overlay-loading").trim(),
10
+ getComputedStyle(document.documentElement).getPropertyValue("--gcsa-z-toast").trim()
11
+ ];
12
+ for (const t of e) {
13
+ const n = Number.parseInt(t, 10);
14
+ if (Number.isFinite(n))
15
+ return t === e[2] ? n + 200 : n;
16
+ }
17
+ return 3200;
18
+ }
19
+ function y(e) {
20
+ let t;
21
+ typeof e.target == "string" ? t = document.querySelector(e.target) || document.body : t = e.target || document.body;
22
+ const n = t === document.body && (e.fullscreen ?? !0), o = t === document.body || e.body ? document.body : t;
23
+ return { target: t, parent: o, fullscreen: n };
24
+ }
25
+ function v(e, t, n) {
26
+ e.classList.add("gcsa-loading-parent--relative"), (t || !n) && e.classList.add("gcsa-loading-parent--hidden");
27
+ const o = Number.parseInt(e.getAttribute("data-gcsa-loading-number") || "0", 10) + 1;
28
+ e.setAttribute("data-gcsa-loading-number", String(o));
29
+ }
30
+ function p(e) {
31
+ const t = Number.parseInt(e.getAttribute("data-gcsa-loading-number") || "1", 10) - 1;
32
+ t <= 0 ? (e.removeAttribute("data-gcsa-loading-number"), e.classList.remove("gcsa-loading-parent--relative"), e.classList.remove("gcsa-loading-parent--hidden")) : e.setAttribute("data-gcsa-loading-number", String(t));
33
+ }
34
+ function x(e, t, n, o) {
35
+ if (t.fullscreen) {
36
+ e.style.position = "fixed", e.style.inset = "0", e.style.zIndex = String(u());
37
+ return;
38
+ }
39
+ if (n === document.body && o !== document.body) {
40
+ const c = o.getBoundingClientRect(), s = document.documentElement.scrollTop || document.body.scrollTop, a = document.documentElement.scrollLeft || document.body.scrollLeft;
41
+ e.style.position = "absolute", e.style.top = `${c.top + s}px`, e.style.left = `${c.left + a}px`, e.style.width = `${c.width}px`, e.style.height = `${c.height}px`, e.style.zIndex = String(u());
42
+ return;
43
+ }
44
+ e.style.position = "absolute", e.style.inset = "0", e.style.zIndex = String(u());
45
+ }
46
+ function L(e = {}) {
47
+ if (typeof window > "u") return;
48
+ const { target: t, parent: n, fullscreen: o } = y(e), c = e.lock ?? !1;
49
+ if (o && l)
50
+ return l;
51
+ const s = document.createElement("div");
52
+ s.classList.add("gcsa-loading-host"), o && s.classList.add("gcsa-loading-host--fullscreen");
53
+ const a = f(s), r = {
54
+ visible: !1,
55
+ text: e.text || "",
56
+ background: e.background,
57
+ customClass: e.customClass,
58
+ fullscreen: o
59
+ }, d = () => {
60
+ a.render(
61
+ g(b, {
62
+ text: r.text,
63
+ background: r.background,
64
+ customClass: r.customClass,
65
+ fullscreen: r.fullscreen,
66
+ visible: r.visible
67
+ })
68
+ );
69
+ };
70
+ d();
71
+ const m = {
72
+ get visible() {
73
+ return r.visible;
74
+ },
75
+ get text() {
76
+ return r.text;
77
+ },
78
+ get $el() {
79
+ return s;
80
+ },
81
+ setText(i) {
82
+ r.text = i, d();
83
+ },
84
+ close() {
85
+ r.visible = !1, d(), window.setTimeout(() => {
86
+ var i;
87
+ a.unmount(), s.remove(), p(n), o && (l = void 0), (i = e.closed) == null || i.call(e);
88
+ }, 260);
89
+ }
90
+ };
91
+ return v(n, c, o), n.appendChild(s), x(s, { fullscreen: o }, n, t), window.requestAnimationFrame(() => {
92
+ r.visible = !0, d();
93
+ }), o && (l = m), m;
94
+ }
95
+ const w = {
96
+ service: L
97
+ };
98
+ export {
99
+ w as GcsaLoading
100
+ };
101
+ //# sourceMappingURL=GcsaLoading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GcsaLoading.js","sources":["../src/GcsaLoading.ts"],"sourcesContent":["import { createElement } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { GcsaLoadingMask } from './GcsaLoadingMask';\n\nexport type GcsaLoadingOptions = {\n target?: HTMLElement | string;\n body?: boolean;\n fullscreen?: boolean;\n lock?: boolean;\n text?: string;\n background?: string;\n customClass?: string;\n visible?: boolean;\n closed?: () => void;\n};\n\nexport type GcsaLoadingInstance = {\n readonly visible: boolean;\n readonly text: string;\n readonly $el: HTMLElement;\n setText: (text: string) => void;\n close: () => void;\n};\n\ntype ServiceState = {\n visible: boolean;\n text: string;\n background?: string;\n customClass?: string;\n fullscreen: boolean;\n};\n\nlet fullscreenInstance: GcsaLoadingInstance | undefined;\n\nfunction readOverlayLoadingZIndex(): number {\n if (typeof document === 'undefined') return 3200;\n const candidates = [\n getComputedStyle(document.documentElement).getPropertyValue('--gcsa-z-loading').trim(),\n getComputedStyle(document.documentElement).getPropertyValue('--z-overlay-loading').trim(),\n getComputedStyle(document.documentElement).getPropertyValue('--gcsa-z-toast').trim()\n ];\n for (const value of candidates) {\n const parsed = Number.parseInt(value, 10);\n if (Number.isFinite(parsed)) {\n return value === candidates[2] ? parsed + 200 : parsed;\n }\n }\n return 3200;\n}\n\nfunction resolveTarget(options: GcsaLoadingOptions) {\n let target: HTMLElement;\n if (typeof options.target === 'string') {\n target = (document.querySelector(options.target) as HTMLElement) || document.body;\n } else {\n target = options.target || document.body;\n }\n\n const fullscreen = target === document.body && (options.fullscreen ?? true);\n const parent = target === document.body || options.body ? document.body : target;\n\n return { target, parent, fullscreen };\n}\n\nfunction addParentClass(parent: HTMLElement, lock: boolean, fullscreen: boolean) {\n parent.classList.add('gcsa-loading-parent--relative');\n if (lock || !fullscreen) {\n parent.classList.add('gcsa-loading-parent--hidden');\n }\n\n const count = Number.parseInt(parent.getAttribute('data-gcsa-loading-number') || '0', 10) + 1;\n parent.setAttribute('data-gcsa-loading-number', String(count));\n}\n\nfunction removeParentClass(parent: HTMLElement) {\n const count = Number.parseInt(parent.getAttribute('data-gcsa-loading-number') || '1', 10) - 1;\n if (count <= 0) {\n parent.removeAttribute('data-gcsa-loading-number');\n parent.classList.remove('gcsa-loading-parent--relative');\n parent.classList.remove('gcsa-loading-parent--hidden');\n } else {\n parent.setAttribute('data-gcsa-loading-number', String(count));\n }\n}\n\nfunction positionMask(\n hostEl: HTMLElement,\n options: { fullscreen?: boolean },\n parent: HTMLElement,\n target: HTMLElement\n) {\n if (options.fullscreen) {\n hostEl.style.position = 'fixed';\n hostEl.style.inset = '0';\n hostEl.style.zIndex = String(readOverlayLoadingZIndex());\n return;\n }\n\n if (parent === document.body && target !== document.body) {\n const rect = target.getBoundingClientRect();\n const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n const scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;\n hostEl.style.position = 'absolute';\n hostEl.style.top = `${rect.top + scrollTop}px`;\n hostEl.style.left = `${rect.left + scrollLeft}px`;\n hostEl.style.width = `${rect.width}px`;\n hostEl.style.height = `${rect.height}px`;\n hostEl.style.zIndex = String(readOverlayLoadingZIndex());\n return;\n }\n\n hostEl.style.position = 'absolute';\n hostEl.style.inset = '0';\n hostEl.style.zIndex = String(readOverlayLoadingZIndex());\n}\n\nfunction LoadingService(options: GcsaLoadingOptions = {}): GcsaLoadingInstance | undefined {\n if (typeof window === 'undefined') return undefined;\n\n const { target, parent, fullscreen } = resolveTarget(options);\n const lock = options.lock ?? false;\n\n if (fullscreen && fullscreenInstance) {\n return fullscreenInstance;\n }\n\n const mountNode = document.createElement('div');\n mountNode.classList.add('gcsa-loading-host');\n if (fullscreen) {\n mountNode.classList.add('gcsa-loading-host--fullscreen');\n }\n\n const root = createRoot(mountNode);\n const state: ServiceState = {\n visible: false,\n text: options.text || '',\n background: options.background,\n customClass: options.customClass,\n fullscreen\n };\n\n const paint = () => {\n root.render(\n createElement(GcsaLoadingMask, {\n text: state.text,\n background: state.background,\n customClass: state.customClass,\n fullscreen: state.fullscreen,\n visible: state.visible\n })\n );\n };\n\n paint();\n\n const instance: GcsaLoadingInstance = {\n get visible() {\n return state.visible;\n },\n get text() {\n return state.text;\n },\n get $el() {\n return mountNode;\n },\n setText(value: string) {\n state.text = value;\n paint();\n },\n close() {\n state.visible = false;\n paint();\n window.setTimeout(() => {\n root.unmount();\n mountNode.remove();\n removeParentClass(parent);\n if (fullscreen) {\n fullscreenInstance = undefined;\n }\n options.closed?.();\n }, 260);\n }\n };\n\n addParentClass(parent, lock, fullscreen);\n parent.appendChild(mountNode);\n positionMask(mountNode, { fullscreen }, parent, target);\n\n window.requestAnimationFrame(() => {\n state.visible = true;\n paint();\n });\n\n if (fullscreen) {\n fullscreenInstance = instance;\n }\n\n return instance;\n}\n\n/** Imperative loading API(对齐 Element Plus / panel-web `Loading.service`) */\nexport const GcsaLoading = {\n service: LoadingService\n};\n\nexport default LoadingService;\n"],"names":["fullscreenInstance","readOverlayLoadingZIndex","candidates","value","parsed","resolveTarget","options","target","fullscreen","parent","addParentClass","lock","count","removeParentClass","positionMask","hostEl","rect","scrollTop","scrollLeft","LoadingService","mountNode","root","createRoot","state","paint","createElement","GcsaLoadingMask","instance","_a","GcsaLoading"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export type GcsaLoadingMaskProps = {
2
+ text?: string;
3
+ background?: string;
4
+ customClass?: string;
5
+ fullscreen?: boolean;
6
+ visible?: boolean;
7
+ };
8
+ export declare function GcsaLoadingMask({ text, background, customClass, fullscreen, visible }: GcsaLoadingMaskProps): import("react").JSX.Element | null;
@@ -0,0 +1,39 @@
1
+ import { jsx as a, jsxs as n } from "react/jsx-runtime";
2
+ import { GcsaBrandMark as g } from "./GcsaBrandMark.js";
3
+ import { useGcsaLocaleMessages as t } from "./hooks/useGcsaLocale.js";
4
+ function f({
5
+ text: s = "",
6
+ background: e,
7
+ customClass: i,
8
+ fullscreen: l = !1,
9
+ visible: r = !0
10
+ }) {
11
+ const o = t();
12
+ if (!r) return null;
13
+ const c = e ? { backgroundColor: e } : void 0, d = [
14
+ "gcsa-loading-mask",
15
+ l ? "gcsa-loading-mask--fullscreen" : "",
16
+ i || ""
17
+ ].filter(Boolean).join(" ");
18
+ return /* @__PURE__ */ a(
19
+ "div",
20
+ {
21
+ className: d,
22
+ style: c,
23
+ role: "status",
24
+ "aria-live": "polite",
25
+ "aria-label": s || o.loading,
26
+ children: /* @__PURE__ */ n("div", { className: "gcsa-loading-spinner", children: [
27
+ /* @__PURE__ */ n("div", { className: "gcsa-loading-spinner__stage", children: [
28
+ /* @__PURE__ */ a("div", { className: "gcsa-loading-spinner__ring", "aria-hidden": "true" }),
29
+ /* @__PURE__ */ a(g, { className: "gcsa-loading-spinner__logo" })
30
+ ] }),
31
+ s ? /* @__PURE__ */ a("p", { className: "gcsa-loading-spinner__text", children: s }) : null
32
+ ] })
33
+ }
34
+ );
35
+ }
36
+ export {
37
+ f as GcsaLoadingMask
38
+ };
39
+ //# sourceMappingURL=GcsaLoadingMask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GcsaLoadingMask.js","sources":["../src/GcsaLoadingMask.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport { GcsaBrandMark } from './GcsaBrandMark';\nimport { useGcsaLocaleMessages } from './hooks/useGcsaLocale';\n\nexport type GcsaLoadingMaskProps = {\n text?: string;\n background?: string;\n customClass?: string;\n fullscreen?: boolean;\n visible?: boolean;\n};\n\nexport function GcsaLoadingMask({\n text = '',\n background,\n customClass,\n fullscreen = false,\n visible = true\n}: GcsaLoadingMaskProps) {\n const messages = useGcsaLocaleMessages();\n\n if (!visible) return null;\n\n const maskStyle: CSSProperties | undefined = background\n ? { backgroundColor: background }\n : undefined;\n\n const className = [\n 'gcsa-loading-mask',\n fullscreen ? 'gcsa-loading-mask--fullscreen' : '',\n customClass || ''\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div\n className={className}\n style={maskStyle}\n role=\"status\"\n aria-live=\"polite\"\n aria-label={text || messages.loading}\n >\n <div className=\"gcsa-loading-spinner\">\n <div className=\"gcsa-loading-spinner__stage\">\n <div className=\"gcsa-loading-spinner__ring\" aria-hidden=\"true\" />\n <GcsaBrandMark className=\"gcsa-loading-spinner__logo\" />\n </div>\n {text ? <p className=\"gcsa-loading-spinner__text\">{text}</p> : null}\n </div>\n </div>\n );\n}\n"],"names":["GcsaLoadingMask","text","background","customClass","fullscreen","visible","messages","useGcsaLocaleMessages","maskStyle","className","jsx","jsxs","GcsaBrandMark"],"mappings":";;;AAYO,SAASA,EAAgB;AAAA,EAC9B,MAAAC,IAAO;AAAA,EACP,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,SAAAC,IAAU;AACZ,GAAyB;AACvB,QAAMC,IAAWC,EAAA;AAEjB,MAAI,CAACF,EAAS,QAAO;AAErB,QAAMG,IAAuCN,IACzC,EAAE,iBAAiBA,MACnB,QAEEO,IAAY;AAAA,IAChB;AAAA,IACAL,IAAa,kCAAkC;AAAA,IAC/CD,KAAe;AAAA,EAAA,EAEd,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAAD;AAAA,MACA,OAAOD;AAAA,MACP,MAAK;AAAA,MACL,aAAU;AAAA,MACV,cAAYP,KAAQK,EAAS;AAAA,MAE7B,UAAA,gBAAAK,EAAC,OAAA,EAAI,WAAU,wBACb,UAAA;AAAA,QAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,+BACb,UAAA;AAAA,UAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,8BAA6B,eAAY,QAAO;AAAA,UAC/D,gBAAAA,EAACE,GAAA,EAAc,WAAU,6BAAA,CAA6B;AAAA,QAAA,GACxD;AAAA,QACCX,IAAO,gBAAAS,EAAC,KAAA,EAAE,WAAU,8BAA8B,aAAK,IAAO;AAAA,MAAA,EAAA,CACjE;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,6 @@
1
+ export type GcsaMarkdownRendererProps = {
2
+ content: string;
3
+ inline?: boolean;
4
+ className?: string;
5
+ };
6
+ export declare function GcsaMarkdownRenderer({ content, inline, className }: GcsaMarkdownRendererProps): import("react").JSX.Element;
@@ -0,0 +1,32 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { useRef as d, useEffect as f } from "react";
3
+ import { renderGcsaMarkdown as p } from "@gcsa/console-core";
4
+ function _({
5
+ content: n,
6
+ inline: c = !1,
7
+ className: l
8
+ }) {
9
+ const a = d(null);
10
+ f(() => {
11
+ const o = a.current;
12
+ o && o.querySelectorAll("table").forEach((e) => {
13
+ var s, t;
14
+ if ((s = e.parentElement) != null && s.classList.contains("gcsa-markdown__table-wrap")) return;
15
+ const r = document.createElement("div");
16
+ r.className = "gcsa-markdown__table-wrap", (t = e.parentNode) == null || t.insertBefore(r, e), r.appendChild(e);
17
+ });
18
+ }, [n]);
19
+ const m = ["gcsa-markdown", c ? "gcsa-markdown--inline" : "", l].filter(Boolean).join(" ");
20
+ return /* @__PURE__ */ i(
21
+ "div",
22
+ {
23
+ ref: a,
24
+ className: m,
25
+ dangerouslySetInnerHTML: { __html: p(n) }
26
+ }
27
+ );
28
+ }
29
+ export {
30
+ _ as GcsaMarkdownRenderer
31
+ };
32
+ //# sourceMappingURL=GcsaMarkdownRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GcsaMarkdownRenderer.js","sources":["../src/GcsaMarkdownRenderer.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { renderGcsaMarkdown } from '@gcsa/console-core';\n\nexport type GcsaMarkdownRendererProps = {\n content: string;\n inline?: boolean;\n className?: string;\n};\n\nexport function GcsaMarkdownRenderer({\n content,\n inline = false,\n className\n}: GcsaMarkdownRendererProps) {\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n root.querySelectorAll('table').forEach((table) => {\n if (table.parentElement?.classList.contains('gcsa-markdown__table-wrap')) return;\n const wrapper = document.createElement('div');\n wrapper.className = 'gcsa-markdown__table-wrap';\n table.parentNode?.insertBefore(wrapper, table);\n wrapper.appendChild(table);\n });\n }, [content]);\n\n const classNames = ['gcsa-markdown', inline ? 'gcsa-markdown--inline' : '', className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div\n ref={rootRef}\n className={classNames}\n dangerouslySetInnerHTML={{ __html: renderGcsaMarkdown(content) }}\n />\n );\n}\n"],"names":["GcsaMarkdownRenderer","content","inline","className","rootRef","useRef","useEffect","root","table","_a","wrapper","_b","classNames","jsx","renderGcsaMarkdown"],"mappings":";;;AASO,SAASA,EAAqB;AAAA,EACnC,SAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,WAAAC;AACF,GAA8B;AAC5B,QAAMC,IAAUC,EAA8B,IAAI;AAElD,EAAAC,EAAU,MAAM;AACd,UAAMC,IAAOH,EAAQ;AACrB,IAAKG,KACLA,EAAK,iBAAiB,OAAO,EAAE,QAAQ,CAACC,MAAU;;AAChD,WAAIC,IAAAD,EAAM,kBAAN,QAAAC,EAAqB,UAAU,SAAS,6BAA8B;AAC1E,YAAMC,IAAU,SAAS,cAAc,KAAK;AAC5C,MAAAA,EAAQ,YAAY,8BACpBC,IAAAH,EAAM,eAAN,QAAAG,EAAkB,aAAaD,GAASF,IACxCE,EAAQ,YAAYF,CAAK;AAAA,IAC3B,CAAC;AAAA,EACH,GAAG,CAACP,CAAO,CAAC;AAEZ,QAAMW,IAAa,CAAC,iBAAiBV,IAAS,0BAA0B,IAAIC,CAAS,EAClF,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAKT;AAAA,MACL,WAAWQ;AAAA,MACX,yBAAyB,EAAE,QAAQE,EAAmBb,CAAO,EAAA;AAAA,IAAE;AAAA,EAAA;AAGrE;"}
@@ -0,0 +1,16 @@
1
+ import { GcsaMenuItem, GcsaMenuMode } from '@gcsa/console-core';
2
+ export type { GcsaMenuItem, GcsaMenuMode } from '@gcsa/console-core';
3
+ export type GcsaMenuProps = {
4
+ items: GcsaMenuItem[];
5
+ selectedKey?: string;
6
+ defaultSelectedKey?: string;
7
+ openKeys?: string[];
8
+ defaultOpenKeys?: string[];
9
+ mode?: GcsaMenuMode;
10
+ collapsed?: boolean;
11
+ className?: string;
12
+ onSelectedKeyChange?: (key: string) => void;
13
+ onSelect?: (key: string) => void;
14
+ onOpenKeysChange?: (keys: string[]) => void;
15
+ };
16
+ export declare function GcsaMenu({ items, selectedKey, defaultSelectedKey, openKeys, defaultOpenKeys, mode, collapsed, className, onSelectedKeyChange, onSelect, onOpenKeysChange }: GcsaMenuProps): import("react").JSX.Element;