@gcsa/console-vue 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 (557) hide show
  1. package/dist/components/ConsoleHeader.vue.d.ts +18 -0
  2. package/dist/components/ConsoleHeader.vue.js +37 -0
  3. package/dist/components/ConsoleHeader.vue.js.map +1 -0
  4. package/dist/components/ConsoleHeader2.vue.js +5 -0
  5. package/dist/components/ConsoleHeader2.vue.js.map +1 -0
  6. package/dist/components/ConsolePage.vue.d.ts +18 -0
  7. package/dist/components/ConsolePage.vue.js +31 -0
  8. package/dist/components/ConsolePage.vue.js.map +1 -0
  9. package/dist/components/ConsolePage2.vue.js +5 -0
  10. package/dist/components/ConsolePage2.vue.js.map +1 -0
  11. package/dist/components/ConsoleShell.vue.d.ts +40 -0
  12. package/dist/components/ConsoleShell.vue.js +166 -0
  13. package/dist/components/ConsoleShell.vue.js.map +1 -0
  14. package/dist/components/ConsoleShell2.vue.js +5 -0
  15. package/dist/components/ConsoleShell2.vue.js.map +1 -0
  16. package/dist/components/ConsoleSidebar.vue.d.ts +13 -0
  17. package/dist/components/ConsoleSidebar.vue.js +52 -0
  18. package/dist/components/ConsoleSidebar.vue.js.map +1 -0
  19. package/dist/components/ConsoleSidebar2.vue.js +5 -0
  20. package/dist/components/ConsoleSidebar2.vue.js.map +1 -0
  21. package/dist/components/GcsaAlert.vue.d.ts +20 -0
  22. package/dist/components/GcsaAlert.vue.js +32 -0
  23. package/dist/components/GcsaAlert.vue.js.map +1 -0
  24. package/dist/components/GcsaAlert2.vue.js +5 -0
  25. package/dist/components/GcsaAlert2.vue.js.map +1 -0
  26. package/dist/components/GcsaAutoComplete.vue.d.ts +17 -0
  27. package/dist/components/GcsaAutoComplete.vue.js +136 -0
  28. package/dist/components/GcsaAutoComplete.vue.js.map +1 -0
  29. package/dist/components/GcsaAutoComplete2.vue.js +5 -0
  30. package/dist/components/GcsaAutoComplete2.vue.js.map +1 -0
  31. package/dist/components/GcsaAvatar.vue.d.ts +21 -0
  32. package/dist/components/GcsaAvatar.vue.js +23 -0
  33. package/dist/components/GcsaAvatar.vue.js.map +1 -0
  34. package/dist/components/GcsaAvatar2.vue.js +5 -0
  35. package/dist/components/GcsaAvatar2.vue.js.map +1 -0
  36. package/dist/components/GcsaBadge.vue.d.ts +20 -0
  37. package/dist/components/GcsaBadge.vue.js +20 -0
  38. package/dist/components/GcsaBadge.vue.js.map +1 -0
  39. package/dist/components/GcsaBadge2.vue.js +5 -0
  40. package/dist/components/GcsaBadge2.vue.js.map +1 -0
  41. package/dist/components/GcsaBrandMark.vue.d.ts +3 -0
  42. package/dist/components/GcsaBrandMark.vue.js +30 -0
  43. package/dist/components/GcsaBrandMark.vue.js.map +1 -0
  44. package/dist/components/GcsaBrandMark2.vue.js +5 -0
  45. package/dist/components/GcsaBrandMark2.vue.js.map +1 -0
  46. package/dist/components/GcsaBreadcrumb.vue.d.ts +3 -0
  47. package/dist/components/GcsaBreadcrumb.vue.js +37 -0
  48. package/dist/components/GcsaBreadcrumb.vue.js.map +1 -0
  49. package/dist/components/GcsaBreadcrumb2.vue.js +5 -0
  50. package/dist/components/GcsaBreadcrumb2.vue.js.map +1 -0
  51. package/dist/components/GcsaButton.vue.d.ts +23 -0
  52. package/dist/components/GcsaButton.vue.js +34 -0
  53. package/dist/components/GcsaButton.vue.js.map +1 -0
  54. package/dist/components/GcsaButton2.vue.js +5 -0
  55. package/dist/components/GcsaButton2.vue.js.map +1 -0
  56. package/dist/components/GcsaCalendar.vue.d.ts +11 -0
  57. package/dist/components/GcsaCalendar.vue.js +154 -0
  58. package/dist/components/GcsaCalendar.vue.js.map +1 -0
  59. package/dist/components/GcsaCalendar2.vue.js +5 -0
  60. package/dist/components/GcsaCalendar2.vue.js.map +1 -0
  61. package/dist/components/GcsaCard.vue.d.ts +19 -0
  62. package/dist/components/GcsaCard.vue.js +32 -0
  63. package/dist/components/GcsaCard.vue.js.map +1 -0
  64. package/dist/components/GcsaCard2.vue.js +5 -0
  65. package/dist/components/GcsaCard2.vue.js.map +1 -0
  66. package/dist/components/GcsaCascader.vue.d.ts +15 -0
  67. package/dist/components/GcsaCascader.vue.js +114 -0
  68. package/dist/components/GcsaCascader.vue.js.map +1 -0
  69. package/dist/components/GcsaCascader2.vue.js +5 -0
  70. package/dist/components/GcsaCascader2.vue.js.map +1 -0
  71. package/dist/components/GcsaChatPanel.vue.d.ts +61 -0
  72. package/dist/components/GcsaChatPanel.vue.js +291 -0
  73. package/dist/components/GcsaChatPanel.vue.js.map +1 -0
  74. package/dist/components/GcsaChatPanel2.vue.js +5 -0
  75. package/dist/components/GcsaChatPanel2.vue.js.map +1 -0
  76. package/dist/components/GcsaCheckbox.vue.d.ts +22 -0
  77. package/dist/components/GcsaCheckbox.vue.js +71 -0
  78. package/dist/components/GcsaCheckbox.vue.js.map +1 -0
  79. package/dist/components/GcsaCheckbox2.vue.js +5 -0
  80. package/dist/components/GcsaCheckbox2.vue.js.map +1 -0
  81. package/dist/components/GcsaCollapse.vue.d.ts +31 -0
  82. package/dist/components/GcsaCollapse.vue.js +71 -0
  83. package/dist/components/GcsaCollapse.vue.js.map +1 -0
  84. package/dist/components/GcsaCollapse2.vue.js +5 -0
  85. package/dist/components/GcsaCollapse2.vue.js.map +1 -0
  86. package/dist/components/GcsaConfigProvider.vue.d.ts +23 -0
  87. package/dist/components/GcsaConfigProvider.vue.js +103 -0
  88. package/dist/components/GcsaConfigProvider.vue.js.map +1 -0
  89. package/dist/components/GcsaConfigProvider2.vue.js +5 -0
  90. package/dist/components/GcsaConfigProvider2.vue.js.map +1 -0
  91. package/dist/components/GcsaDataTable.vue.d.ts +84 -0
  92. package/dist/components/GcsaDataTable.vue.js +1020 -0
  93. package/dist/components/GcsaDataTable.vue.js.map +1 -0
  94. package/dist/components/GcsaDataTable2.vue.js +5 -0
  95. package/dist/components/GcsaDataTable2.vue.js.map +1 -0
  96. package/dist/components/GcsaDatePicker.vue.d.ts +10 -0
  97. package/dist/components/GcsaDatePicker.vue.js +319 -0
  98. package/dist/components/GcsaDatePicker.vue.js.map +1 -0
  99. package/dist/components/GcsaDatePicker2.vue.js +5 -0
  100. package/dist/components/GcsaDatePicker2.vue.js.map +1 -0
  101. package/dist/components/GcsaDateRangeMonthPanel.vue.d.ts +3 -0
  102. package/dist/components/GcsaDateRangeMonthPanel.vue.js +110 -0
  103. package/dist/components/GcsaDateRangeMonthPanel.vue.js.map +1 -0
  104. package/dist/components/GcsaDateRangeMonthPanel2.vue.js +5 -0
  105. package/dist/components/GcsaDateRangeMonthPanel2.vue.js.map +1 -0
  106. package/dist/components/GcsaDateRangePicker.vue.d.ts +10 -0
  107. package/dist/components/GcsaDateRangePicker.vue.js +252 -0
  108. package/dist/components/GcsaDateRangePicker.vue.js.map +1 -0
  109. package/dist/components/GcsaDateRangePicker2.vue.js +5 -0
  110. package/dist/components/GcsaDateRangePicker2.vue.js.map +1 -0
  111. package/dist/components/GcsaDateTimePicker.vue.d.ts +11 -0
  112. package/dist/components/GcsaDateTimePicker.vue.js +360 -0
  113. package/dist/components/GcsaDateTimePicker.vue.js.map +1 -0
  114. package/dist/components/GcsaDateTimePicker2.vue.js +5 -0
  115. package/dist/components/GcsaDateTimePicker2.vue.js.map +1 -0
  116. package/dist/components/GcsaDescriptions.vue.d.ts +3 -0
  117. package/dist/components/GcsaDescriptions.vue.js +23 -0
  118. package/dist/components/GcsaDescriptions.vue.js.map +1 -0
  119. package/dist/components/GcsaDescriptions2.vue.js +5 -0
  120. package/dist/components/GcsaDescriptions2.vue.js.map +1 -0
  121. package/dist/components/GcsaDivider.vue.d.ts +3 -0
  122. package/dist/components/GcsaDivider.vue.js +15 -0
  123. package/dist/components/GcsaDivider.vue.js.map +1 -0
  124. package/dist/components/GcsaDivider2.vue.js +5 -0
  125. package/dist/components/GcsaDivider2.vue.js.map +1 -0
  126. package/dist/components/GcsaDrawer.vue.d.ts +30 -0
  127. package/dist/components/GcsaDrawer.vue.js +115 -0
  128. package/dist/components/GcsaDrawer.vue.js.map +1 -0
  129. package/dist/components/GcsaDrawer2.vue.js +5 -0
  130. package/dist/components/GcsaDrawer2.vue.js.map +1 -0
  131. package/dist/components/GcsaDropdown.vue.d.ts +26 -0
  132. package/dist/components/GcsaDropdown.vue.js +108 -0
  133. package/dist/components/GcsaDropdown.vue.js.map +1 -0
  134. package/dist/components/GcsaDropdown2.vue.js +5 -0
  135. package/dist/components/GcsaDropdown2.vue.js.map +1 -0
  136. package/dist/components/GcsaEmpty.vue.d.ts +19 -0
  137. package/dist/components/GcsaEmpty.vue.js +39 -0
  138. package/dist/components/GcsaEmpty.vue.js.map +1 -0
  139. package/dist/components/GcsaEmpty2.vue.js +5 -0
  140. package/dist/components/GcsaEmpty2.vue.js.map +1 -0
  141. package/dist/components/GcsaField.vue.d.ts +18 -0
  142. package/dist/components/GcsaField.vue.js +73 -0
  143. package/dist/components/GcsaField.vue.js.map +1 -0
  144. package/dist/components/GcsaField2.vue.js +5 -0
  145. package/dist/components/GcsaField2.vue.js.map +1 -0
  146. package/dist/components/GcsaForm.vue.d.ts +32 -0
  147. package/dist/components/GcsaForm.vue.js +77 -0
  148. package/dist/components/GcsaForm.vue.js.map +1 -0
  149. package/dist/components/GcsaForm2.vue.js +5 -0
  150. package/dist/components/GcsaForm2.vue.js.map +1 -0
  151. package/dist/components/GcsaFormField.vue.d.ts +39 -0
  152. package/dist/components/GcsaFormField.vue.js +54 -0
  153. package/dist/components/GcsaFormField.vue.js.map +1 -0
  154. package/dist/components/GcsaFormField2.vue.js +5 -0
  155. package/dist/components/GcsaFormField2.vue.js.map +1 -0
  156. package/dist/components/GcsaIcon.vue.d.ts +5 -0
  157. package/dist/components/GcsaIcon.vue.js +21 -0
  158. package/dist/components/GcsaIcon.vue.js.map +1 -0
  159. package/dist/components/GcsaIcon2.vue.js +5 -0
  160. package/dist/components/GcsaIcon2.vue.js.map +1 -0
  161. package/dist/components/GcsaImagePreview.vue.d.ts +9 -0
  162. package/dist/components/GcsaImagePreview.vue.js +64 -0
  163. package/dist/components/GcsaImagePreview.vue.js.map +1 -0
  164. package/dist/components/GcsaImagePreview2.vue.js +5 -0
  165. package/dist/components/GcsaImagePreview2.vue.js.map +1 -0
  166. package/dist/components/GcsaInput.vue.d.ts +19 -0
  167. package/dist/components/GcsaInput.vue.js +67 -0
  168. package/dist/components/GcsaInput.vue.js.map +1 -0
  169. package/dist/components/GcsaInput2.vue.js +5 -0
  170. package/dist/components/GcsaInput2.vue.js.map +1 -0
  171. package/dist/components/GcsaInputGroup.vue.d.ts +22 -0
  172. package/dist/components/GcsaInputGroup.vue.js +38 -0
  173. package/dist/components/GcsaInputGroup.vue.js.map +1 -0
  174. package/dist/components/GcsaInputGroup2.vue.js +5 -0
  175. package/dist/components/GcsaInputGroup2.vue.js.map +1 -0
  176. package/dist/components/GcsaInputNumber.vue.d.ts +13 -0
  177. package/dist/components/GcsaInputNumber.vue.js +135 -0
  178. package/dist/components/GcsaInputNumber.vue.js.map +1 -0
  179. package/dist/components/GcsaInputNumber2.vue.js +5 -0
  180. package/dist/components/GcsaInputNumber2.vue.js.map +1 -0
  181. package/dist/components/GcsaLoadingMask.vue.d.ts +3 -0
  182. package/dist/components/GcsaLoadingMask.vue.js +47 -0
  183. package/dist/components/GcsaLoadingMask.vue.js.map +1 -0
  184. package/dist/components/GcsaLoadingMask2.vue.js +5 -0
  185. package/dist/components/GcsaLoadingMask2.vue.js.map +1 -0
  186. package/dist/components/GcsaMarkdownRenderer.vue.d.ts +7 -0
  187. package/dist/components/GcsaMarkdownRenderer.vue.js +35 -0
  188. package/dist/components/GcsaMarkdownRenderer.vue.js.map +1 -0
  189. package/dist/components/GcsaMarkdownRenderer2.vue.js +5 -0
  190. package/dist/components/GcsaMarkdownRenderer2.vue.js.map +1 -0
  191. package/dist/components/GcsaMenu.vue.d.ts +14 -0
  192. package/dist/components/GcsaMenu.vue.js +63 -0
  193. package/dist/components/GcsaMenu.vue.js.map +1 -0
  194. package/dist/components/GcsaMenu2.vue.js +5 -0
  195. package/dist/components/GcsaMenu2.vue.js.map +1 -0
  196. package/dist/components/GcsaMenuNodes.vue.d.ts +9 -0
  197. package/dist/components/GcsaMenuNodes.vue.js +306 -0
  198. package/dist/components/GcsaMenuNodes.vue.js.map +1 -0
  199. package/dist/components/GcsaMenuNodes2.vue.js +5 -0
  200. package/dist/components/GcsaMenuNodes2.vue.js.map +1 -0
  201. package/dist/components/GcsaModal.vue.d.ts +26 -0
  202. package/dist/components/GcsaModal.vue.js +127 -0
  203. package/dist/components/GcsaModal.vue.js.map +1 -0
  204. package/dist/components/GcsaModal2.vue.js +5 -0
  205. package/dist/components/GcsaModal2.vue.js.map +1 -0
  206. package/dist/components/GcsaMultiSelect.vue.d.ts +16 -0
  207. package/dist/components/GcsaMultiSelect.vue.js +235 -0
  208. package/dist/components/GcsaMultiSelect.vue.js.map +1 -0
  209. package/dist/components/GcsaMultiSelect2.vue.js +5 -0
  210. package/dist/components/GcsaMultiSelect2.vue.js.map +1 -0
  211. package/dist/components/GcsaPagination.vue.d.ts +15 -0
  212. package/dist/components/GcsaPagination.vue.js +119 -0
  213. package/dist/components/GcsaPagination.vue.js.map +1 -0
  214. package/dist/components/GcsaPagination2.vue.js +5 -0
  215. package/dist/components/GcsaPagination2.vue.js.map +1 -0
  216. package/dist/components/GcsaPopconfirm.vue.d.ts +29 -0
  217. package/dist/components/GcsaPopconfirm.vue.js +133 -0
  218. package/dist/components/GcsaPopconfirm.vue.js.map +1 -0
  219. package/dist/components/GcsaPopconfirm2.vue.js +5 -0
  220. package/dist/components/GcsaPopconfirm2.vue.js.map +1 -0
  221. package/dist/components/GcsaPopover.vue.d.ts +21 -0
  222. package/dist/components/GcsaPopover.vue.js +138 -0
  223. package/dist/components/GcsaPopover.vue.js.map +1 -0
  224. package/dist/components/GcsaPopover2.vue.js +5 -0
  225. package/dist/components/GcsaPopover2.vue.js.map +1 -0
  226. package/dist/components/GcsaPortal.vue.d.ts +21 -0
  227. package/dist/components/GcsaPortal.vue.js +32 -0
  228. package/dist/components/GcsaPortal.vue.js.map +1 -0
  229. package/dist/components/GcsaPortal2.vue.js +5 -0
  230. package/dist/components/GcsaPortal2.vue.js.map +1 -0
  231. package/dist/components/GcsaProgress.vue.d.ts +5 -0
  232. package/dist/components/GcsaProgress.vue.js +26 -0
  233. package/dist/components/GcsaProgress.vue.js.map +1 -0
  234. package/dist/components/GcsaProgress2.vue.js +5 -0
  235. package/dist/components/GcsaProgress2.vue.js.map +1 -0
  236. package/dist/components/GcsaRadioGroup.vue.d.ts +9 -0
  237. package/dist/components/GcsaRadioGroup.vue.js +61 -0
  238. package/dist/components/GcsaRadioGroup.vue.js.map +1 -0
  239. package/dist/components/GcsaRadioGroup2.vue.js +5 -0
  240. package/dist/components/GcsaRadioGroup2.vue.js.map +1 -0
  241. package/dist/components/GcsaResult.vue.d.ts +19 -0
  242. package/dist/components/GcsaResult.vue.js +37 -0
  243. package/dist/components/GcsaResult.vue.js.map +1 -0
  244. package/dist/components/GcsaResult2.vue.js +5 -0
  245. package/dist/components/GcsaResult2.vue.js.map +1 -0
  246. package/dist/components/GcsaRow.vue.d.ts +20 -0
  247. package/dist/components/GcsaRow.vue.js +19 -0
  248. package/dist/components/GcsaRow.vue.js.map +1 -0
  249. package/dist/components/GcsaRow2.vue.js +5 -0
  250. package/dist/components/GcsaRow2.vue.js.map +1 -0
  251. package/dist/components/GcsaSelect.vue.d.ts +15 -0
  252. package/dist/components/GcsaSelect.vue.js +183 -0
  253. package/dist/components/GcsaSelect.vue.js.map +1 -0
  254. package/dist/components/GcsaSelect2.vue.js +5 -0
  255. package/dist/components/GcsaSelect2.vue.js.map +1 -0
  256. package/dist/components/GcsaSkeleton.vue.d.ts +6 -0
  257. package/dist/components/GcsaSkeleton.vue.js +20 -0
  258. package/dist/components/GcsaSkeleton.vue.js.map +1 -0
  259. package/dist/components/GcsaSkeleton2.vue.js +5 -0
  260. package/dist/components/GcsaSkeleton2.vue.js.map +1 -0
  261. package/dist/components/GcsaSpace.vue.d.ts +18 -0
  262. package/dist/components/GcsaSpace.vue.js +19 -0
  263. package/dist/components/GcsaSpace.vue.js.map +1 -0
  264. package/dist/components/GcsaSpace2.vue.js +5 -0
  265. package/dist/components/GcsaSpace2.vue.js.map +1 -0
  266. package/dist/components/GcsaSpin.vue.d.ts +20 -0
  267. package/dist/components/GcsaSpin.vue.js +29 -0
  268. package/dist/components/GcsaSpin.vue.js.map +1 -0
  269. package/dist/components/GcsaSpin2.vue.js +5 -0
  270. package/dist/components/GcsaSpin2.vue.js.map +1 -0
  271. package/dist/components/GcsaStatistic.vue.d.ts +18 -0
  272. package/dist/components/GcsaStatistic.vue.js +23 -0
  273. package/dist/components/GcsaStatistic.vue.js.map +1 -0
  274. package/dist/components/GcsaStatistic2.vue.js +5 -0
  275. package/dist/components/GcsaStatistic2.vue.js.map +1 -0
  276. package/dist/components/GcsaSteps.vue.d.ts +14 -0
  277. package/dist/components/GcsaSteps.vue.js +77 -0
  278. package/dist/components/GcsaSteps.vue.js.map +1 -0
  279. package/dist/components/GcsaSteps2.vue.js +5 -0
  280. package/dist/components/GcsaSteps2.vue.js.map +1 -0
  281. package/dist/components/GcsaSwitch.vue.d.ts +22 -0
  282. package/dist/components/GcsaSwitch.vue.js +52 -0
  283. package/dist/components/GcsaSwitch.vue.js.map +1 -0
  284. package/dist/components/GcsaSwitch2.vue.js +5 -0
  285. package/dist/components/GcsaSwitch2.vue.js.map +1 -0
  286. package/dist/components/GcsaTabs.vue.d.ts +22 -0
  287. package/dist/components/GcsaTabs.vue.js +61 -0
  288. package/dist/components/GcsaTabs.vue.js.map +1 -0
  289. package/dist/components/GcsaTabs2.vue.js +5 -0
  290. package/dist/components/GcsaTabs2.vue.js.map +1 -0
  291. package/dist/components/GcsaTag.vue.d.ts +18 -0
  292. package/dist/components/GcsaTag.vue.js +19 -0
  293. package/dist/components/GcsaTag.vue.js.map +1 -0
  294. package/dist/components/GcsaTag2.vue.js +5 -0
  295. package/dist/components/GcsaTag2.vue.js.map +1 -0
  296. package/dist/components/GcsaTextarea.vue.d.ts +18 -0
  297. package/dist/components/GcsaTextarea.vue.js +66 -0
  298. package/dist/components/GcsaTextarea.vue.js.map +1 -0
  299. package/dist/components/GcsaTextarea2.vue.js +5 -0
  300. package/dist/components/GcsaTextarea2.vue.js.map +1 -0
  301. package/dist/components/GcsaTimePicker.vue.d.ts +17 -0
  302. package/dist/components/GcsaTimePicker.vue.js +264 -0
  303. package/dist/components/GcsaTimePicker.vue.js.map +1 -0
  304. package/dist/components/GcsaTimePicker2.vue.js +5 -0
  305. package/dist/components/GcsaTimePicker2.vue.js.map +1 -0
  306. package/dist/components/GcsaTimeline.vue.d.ts +3 -0
  307. package/dist/components/GcsaTimeline.vue.js +41 -0
  308. package/dist/components/GcsaTimeline.vue.js.map +1 -0
  309. package/dist/components/GcsaTimeline2.vue.js +5 -0
  310. package/dist/components/GcsaTimeline2.vue.js.map +1 -0
  311. package/dist/components/GcsaToastStack.vue.d.ts +3 -0
  312. package/dist/components/GcsaToastStack.vue.js +96 -0
  313. package/dist/components/GcsaToastStack.vue.js.map +1 -0
  314. package/dist/components/GcsaToastStack2.vue.js +5 -0
  315. package/dist/components/GcsaToastStack2.vue.js.map +1 -0
  316. package/dist/components/GcsaTooltip.vue.d.ts +28 -0
  317. package/dist/components/GcsaTooltip.vue.js +102 -0
  318. package/dist/components/GcsaTooltip.vue.js.map +1 -0
  319. package/dist/components/GcsaTooltip2.vue.js +5 -0
  320. package/dist/components/GcsaTooltip2.vue.js.map +1 -0
  321. package/dist/components/GcsaTransfer.vue.d.ts +12 -0
  322. package/dist/components/GcsaTransfer.vue.js +139 -0
  323. package/dist/components/GcsaTransfer.vue.js.map +1 -0
  324. package/dist/components/GcsaTransfer2.vue.js +5 -0
  325. package/dist/components/GcsaTransfer2.vue.js.map +1 -0
  326. package/dist/components/GcsaTree.vue.d.ts +14 -0
  327. package/dist/components/GcsaTree.vue.js +76 -0
  328. package/dist/components/GcsaTree.vue.js.map +1 -0
  329. package/dist/components/GcsaTree2.vue.js +5 -0
  330. package/dist/components/GcsaTree2.vue.js.map +1 -0
  331. package/dist/components/GcsaTypography.vue.d.ts +21 -0
  332. package/dist/components/GcsaTypography.vue.js +21 -0
  333. package/dist/components/GcsaTypography.vue.js.map +1 -0
  334. package/dist/components/GcsaTypography2.vue.js +5 -0
  335. package/dist/components/GcsaTypography2.vue.js.map +1 -0
  336. package/dist/components/GcsaUpload.vue.d.ts +26 -0
  337. package/dist/components/GcsaUpload.vue.js +160 -0
  338. package/dist/components/GcsaUpload.vue.js.map +1 -0
  339. package/dist/components/GcsaUpload2.vue.js +5 -0
  340. package/dist/components/GcsaUpload2.vue.js.map +1 -0
  341. package/dist/components/gcsaDataTableTypes.d.ts +18 -0
  342. package/dist/composables/gcsaFormTypes.d.ts +9 -0
  343. package/dist/composables/useDocumentThemeSync.d.ts +3 -0
  344. package/dist/composables/useDocumentThemeSync.js +7 -0
  345. package/dist/composables/useDocumentThemeSync.js.map +1 -0
  346. package/dist/composables/useGcsaComponentSize.d.ts +7 -0
  347. package/dist/composables/useGcsaComponentSize.js +26 -0
  348. package/dist/composables/useGcsaComponentSize.js.map +1 -0
  349. package/dist/composables/useGcsaFormField.d.ts +26 -0
  350. package/dist/composables/useGcsaFormField.js +47 -0
  351. package/dist/composables/useGcsaFormField.js.map +1 -0
  352. package/dist/composables/useGcsaFormSchema.d.ts +3 -0
  353. package/dist/composables/useGcsaFormSchema.js +7 -0
  354. package/dist/composables/useGcsaFormSchema.js.map +1 -0
  355. package/dist/composables/useGcsaLocale.d.ts +5 -0
  356. package/dist/composables/useGcsaLocale.js +17 -0
  357. package/dist/composables/useGcsaLocale.js.map +1 -0
  358. package/dist/composables/useGcsaMessage.d.ts +2 -0
  359. package/dist/composables/useGcsaMessage.js +12 -0
  360. package/dist/composables/useGcsaMessage.js.map +1 -0
  361. package/dist/composables/useGcsaPopupZIndex.d.ts +6 -0
  362. package/dist/composables/useGcsaPopupZIndex.js +16 -0
  363. package/dist/composables/useGcsaPopupZIndex.js.map +1 -0
  364. package/dist/composables/useGcsaTextCount.d.ts +17 -0
  365. package/dist/composables/useGcsaTextCount.js +21 -0
  366. package/dist/composables/useGcsaTextCount.js.map +1 -0
  367. package/dist/composables/useGcsaTheme.d.ts +3 -0
  368. package/dist/composables/useGcsaTheme.js +11 -0
  369. package/dist/composables/useGcsaTheme.js.map +1 -0
  370. package/dist/composables/useGcsaZIndex.d.ts +10 -0
  371. package/dist/composables/useGcsaZIndex.js +44 -0
  372. package/dist/composables/useGcsaZIndex.js.map +1 -0
  373. package/dist/composables/useMessage.d.ts +7 -0
  374. package/dist/composables/useMessage.js +5 -0
  375. package/dist/composables/useMessage.js.map +1 -0
  376. package/dist/composables/usePreserveScrollOnFocus.d.ts +4 -0
  377. package/dist/composables/usePreserveScrollOnFocus.js +86 -0
  378. package/dist/composables/usePreserveScrollOnFocus.js.map +1 -0
  379. package/dist/icons/iconNames.d.ts +7 -0
  380. package/dist/icons/iconNames.js +24 -0
  381. package/dist/icons/iconNames.js.map +1 -0
  382. package/dist/icons/index.d.ts +2 -0
  383. package/dist/icons/registry.d.ts +3 -0
  384. package/dist/icons/registry.js +58 -0
  385. package/dist/icons/registry.js.map +1 -0
  386. package/dist/icons/svg/alert.svg.js +9 -0
  387. package/dist/icons/svg/alert.svg.js.map +1 -0
  388. package/dist/icons/svg/assets.svg.js +9 -0
  389. package/dist/icons/svg/assets.svg.js.map +1 -0
  390. package/dist/icons/svg/chat.svg.js +8 -0
  391. package/dist/icons/svg/chat.svg.js.map +1 -0
  392. package/dist/icons/svg/check.svg.js +8 -0
  393. package/dist/icons/svg/check.svg.js.map +1 -0
  394. package/dist/icons/svg/chevron-down.svg.js +8 -0
  395. package/dist/icons/svg/chevron-down.svg.js.map +1 -0
  396. package/dist/icons/svg/chevron-left.svg.js +8 -0
  397. package/dist/icons/svg/chevron-left.svg.js.map +1 -0
  398. package/dist/icons/svg/chevron-right.svg.js +8 -0
  399. package/dist/icons/svg/chevron-right.svg.js.map +1 -0
  400. package/dist/icons/svg/chevron-up.svg.js +8 -0
  401. package/dist/icons/svg/chevron-up.svg.js.map +1 -0
  402. package/dist/icons/svg/close.svg.js +6 -0
  403. package/dist/icons/svg/close.svg.js.map +1 -0
  404. package/dist/icons/svg/dashboard.svg.js +8 -0
  405. package/dist/icons/svg/dashboard.svg.js.map +1 -0
  406. package/dist/icons/svg/menu.svg.js +8 -0
  407. package/dist/icons/svg/menu.svg.js.map +1 -0
  408. package/dist/icons/svg/plus.svg.js +6 -0
  409. package/dist/icons/svg/plus.svg.js.map +1 -0
  410. package/dist/icons/svg/result-empty.svg.js +6 -0
  411. package/dist/icons/svg/result-empty.svg.js.map +1 -0
  412. package/dist/icons/svg/settings.svg.js +8 -0
  413. package/dist/icons/svg/settings.svg.js.map +1 -0
  414. package/dist/icons/svg/users.svg.js +11 -0
  415. package/dist/icons/svg/users.svg.js.map +1 -0
  416. package/dist/index.d.ts +87 -0
  417. package/dist/index.js +172 -0
  418. package/dist/index.js.map +1 -0
  419. package/dist/loading/directive.d.ts +5 -0
  420. package/dist/loading/directive.js +57 -0
  421. package/dist/loading/directive.js.map +1 -0
  422. package/dist/loading/index.d.ts +7 -0
  423. package/dist/loading/index.js +14 -0
  424. package/dist/loading/index.js.map +1 -0
  425. package/dist/loading/service.d.ts +28 -0
  426. package/dist/loading/service.js +106 -0
  427. package/dist/loading/service.js.map +1 -0
  428. package/dist/resolver.d.ts +16 -0
  429. package/dist/resolver.js +16 -0
  430. package/dist/resolver.js.map +1 -0
  431. package/dist/style.css +8028 -0
  432. package/dist/types/componentProps.d.ts +565 -0
  433. package/dist/types/index.d.ts +2 -0
  434. package/dist/types/shared.d.ts +42 -0
  435. package/dist/utils/gcsaDateValue.d.ts +24 -0
  436. package/dist/utils/gcsaDateValue.js +60 -0
  437. package/dist/utils/gcsaDateValue.js.map +1 -0
  438. package/dist/utils/gcsaTableColumns.d.ts +19 -0
  439. package/dist/utils/gcsaTableColumns.js +50 -0
  440. package/dist/utils/gcsaTableColumns.js.map +1 -0
  441. package/dist/utils/zodValidators.d.ts +21 -0
  442. package/dist/utils/zodValidators.js +35 -0
  443. package/dist/utils/zodValidators.js.map +1 -0
  444. package/package.json +67 -0
  445. package/src/components/ConsoleHeader.vue +22 -0
  446. package/src/components/ConsolePage.vue +17 -0
  447. package/src/components/ConsoleShell.vue +206 -0
  448. package/src/components/ConsoleSidebar.vue +61 -0
  449. package/src/components/GcsaAlert.vue +25 -0
  450. package/src/components/GcsaAutoComplete.vue +165 -0
  451. package/src/components/GcsaAvatar.vue +19 -0
  452. package/src/components/GcsaBadge.vue +16 -0
  453. package/src/components/GcsaBrandMark.vue +20 -0
  454. package/src/components/GcsaBreadcrumb.vue +20 -0
  455. package/src/components/GcsaButton.vue +32 -0
  456. package/src/components/GcsaCalendar.vue +39 -0
  457. package/src/components/GcsaCard.vue +20 -0
  458. package/src/components/GcsaCascader.vue +84 -0
  459. package/src/components/GcsaChatPanel.vue +249 -0
  460. package/src/components/GcsaCheckbox.vue +45 -0
  461. package/src/components/GcsaCollapse.vue +51 -0
  462. package/src/components/GcsaConfigProvider.vue +147 -0
  463. package/src/components/GcsaDataTable.vue +1183 -0
  464. package/src/components/GcsaDatePicker.vue +232 -0
  465. package/src/components/GcsaDateRangeMonthPanel.vue +66 -0
  466. package/src/components/GcsaDateRangePicker.vue +208 -0
  467. package/src/components/GcsaDateTimePicker.vue +379 -0
  468. package/src/components/GcsaDescriptions.vue +16 -0
  469. package/src/components/GcsaDivider.vue +11 -0
  470. package/src/components/GcsaDrawer.vue +97 -0
  471. package/src/components/GcsaDropdown.vue +84 -0
  472. package/src/components/GcsaEmpty.vue +28 -0
  473. package/src/components/GcsaField.vue +27 -0
  474. package/src/components/GcsaForm.vue +70 -0
  475. package/src/components/GcsaFormField.vue +53 -0
  476. package/src/components/GcsaIcon.vue +24 -0
  477. package/src/components/GcsaImagePreview.vue +28 -0
  478. package/src/components/GcsaInput.vue +80 -0
  479. package/src/components/GcsaInputGroup.vue +37 -0
  480. package/src/components/GcsaInputNumber.vue +165 -0
  481. package/src/components/GcsaLoadingMask.vue +49 -0
  482. package/src/components/GcsaMarkdownRenderer.vue +49 -0
  483. package/src/components/GcsaMenu.vue +86 -0
  484. package/src/components/GcsaMenuNodes.vue +226 -0
  485. package/src/components/GcsaModal.vue +106 -0
  486. package/src/components/GcsaMultiSelect.vue +197 -0
  487. package/src/components/GcsaPagination.vue +147 -0
  488. package/src/components/GcsaPopconfirm.vue +93 -0
  489. package/src/components/GcsaPopover.vue +121 -0
  490. package/src/components/GcsaPortal.vue +41 -0
  491. package/src/components/GcsaProgress.vue +16 -0
  492. package/src/components/GcsaRadioGroup.vue +45 -0
  493. package/src/components/GcsaResult.vue +23 -0
  494. package/src/components/GcsaRow.vue +16 -0
  495. package/src/components/GcsaSelect.vue +154 -0
  496. package/src/components/GcsaSkeleton.vue +21 -0
  497. package/src/components/GcsaSpace.vue +13 -0
  498. package/src/components/GcsaSpin.vue +25 -0
  499. package/src/components/GcsaStatistic.vue +16 -0
  500. package/src/components/GcsaSteps.vue +30 -0
  501. package/src/components/GcsaSwitch.vue +38 -0
  502. package/src/components/GcsaTabs.vue +55 -0
  503. package/src/components/GcsaTag.vue +13 -0
  504. package/src/components/GcsaTextarea.vue +77 -0
  505. package/src/components/GcsaTimePicker.vue +306 -0
  506. package/src/components/GcsaTimeline.vue +17 -0
  507. package/src/components/GcsaToastStack.vue +45 -0
  508. package/src/components/GcsaTooltip.vue +79 -0
  509. package/src/components/GcsaTransfer.vue +50 -0
  510. package/src/components/GcsaTree.vue +56 -0
  511. package/src/components/GcsaTypography.vue +28 -0
  512. package/src/components/GcsaUpload.vue +154 -0
  513. package/src/components/gcsaDataTableTypes.ts +18 -0
  514. package/src/composables/gcsaFormTypes.ts +30 -0
  515. package/src/composables/useDocumentThemeSync.ts +6 -0
  516. package/src/composables/useGcsaComponentSize.ts +30 -0
  517. package/src/composables/useGcsaFormField.ts +49 -0
  518. package/src/composables/useGcsaFormSchema.ts +6 -0
  519. package/src/composables/useGcsaLocale.ts +18 -0
  520. package/src/composables/useGcsaMessage.ts +10 -0
  521. package/src/composables/useGcsaPopupZIndex.ts +24 -0
  522. package/src/composables/useGcsaTextCount.ts +48 -0
  523. package/src/composables/useGcsaTheme.ts +9 -0
  524. package/src/composables/useGcsaZIndex.ts +62 -0
  525. package/src/composables/useMessage.ts +9 -0
  526. package/src/composables/usePreserveScrollOnFocus.ts +153 -0
  527. package/src/icons/iconNames.ts +27 -0
  528. package/src/icons/index.ts +8 -0
  529. package/src/icons/registry.ts +43 -0
  530. package/src/icons/svg/alert.svg +4 -0
  531. package/src/icons/svg/assets.svg +4 -0
  532. package/src/icons/svg/chat.svg +3 -0
  533. package/src/icons/svg/check.svg +3 -0
  534. package/src/icons/svg/chevron-down.svg +3 -0
  535. package/src/icons/svg/chevron-left.svg +3 -0
  536. package/src/icons/svg/chevron-right.svg +3 -0
  537. package/src/icons/svg/chevron-up.svg +3 -0
  538. package/src/icons/svg/close.svg +1 -0
  539. package/src/icons/svg/dashboard.svg +3 -0
  540. package/src/icons/svg/menu.svg +3 -0
  541. package/src/icons/svg/plus.svg +1 -0
  542. package/src/icons/svg/result-empty.svg +1 -0
  543. package/src/icons/svg/settings.svg +3 -0
  544. package/src/icons/svg/users.svg +6 -0
  545. package/src/index.ts +193 -0
  546. package/src/loading/directive.ts +104 -0
  547. package/src/loading/index.ts +19 -0
  548. package/src/loading/service.ts +216 -0
  549. package/src/resolver.ts +22 -0
  550. package/src/tanstack-table.d.ts +7 -0
  551. package/src/types/componentProps.ts +692 -0
  552. package/src/types/index.ts +2 -0
  553. package/src/types/shared.ts +55 -0
  554. package/src/utils/gcsaDateValue.ts +98 -0
  555. package/src/utils/gcsaTableColumns.ts +92 -0
  556. package/src/utils/zodValidators.ts +45 -0
  557. package/src/vite-env.d.ts +7 -0
@@ -0,0 +1,56 @@
1
+ <template>
2
+ <div class="gcsa-tree" role="tree" :aria-multiselectable="multiple">
3
+ <div v-if="!nodes.length" class="gcsa-tree__empty" role="status">{{ messages.emptyDefault }}</div>
4
+ <TreeNode v-for="(node, index) in nodes" :key="node.key" :node="node" :depth="0" :position="index + 1" :set-size="nodes.length" :expanded-keys="expandedKeys" :selected-keys="selectedKeys" :multiple="multiple" @toggle="toggleExpanded" @select="selectNode" />
5
+ </div>
6
+ </template>
7
+
8
+ <script setup lang="ts">
9
+ import { computed, defineComponent, h, ref, watch, type PropType } from 'vue';
10
+ import type { GcsaTreeNode, GcsaTreeProps } from '../types/componentProps';
11
+ import GcsaIcon from './GcsaIcon.vue';
12
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
13
+
14
+ const messages = useGcsaLocaleMessages();
15
+
16
+ const props = withDefaults(defineProps<GcsaTreeProps>(), { nodes: () => [], multiple: false });
17
+ const emit = defineEmits<{ 'update:expandedKeys': [keys: string[]]; 'update:selectedKeys': [keys: string[]]; select: [node: GcsaTreeNode] }>();
18
+ const internalExpandedKeys = ref<string[]>(props.expandedKeys ?? []);
19
+ const internalSelectedKeys = ref<string[]>(props.selectedKeys ?? []);
20
+ const expandedKeys = computed(() => props.expandedKeys ?? internalExpandedKeys.value);
21
+ const selectedKeys = computed(() => props.selectedKeys ?? internalSelectedKeys.value);
22
+ watch(() => props.expandedKeys, value => { if (value) internalExpandedKeys.value = value; });
23
+ watch(() => props.selectedKeys, value => { if (value) internalSelectedKeys.value = value; });
24
+ function toggleExpanded(key: string) {
25
+ const next = expandedKeys.value.includes(key) ? expandedKeys.value.filter(value => value !== key) : [...expandedKeys.value, key];
26
+ if (props.expandedKeys === undefined) internalExpandedKeys.value = next;
27
+ emit('update:expandedKeys', next);
28
+ }
29
+ function selectNode(node: GcsaTreeNode) {
30
+ if (node.disabled) return;
31
+ const next = props.multiple ? (selectedKeys.value.includes(node.key) ? selectedKeys.value.filter(value => value !== node.key) : [...selectedKeys.value, node.key]) : [node.key];
32
+ if (props.selectedKeys === undefined) internalSelectedKeys.value = next;
33
+ emit('update:selectedKeys', next);
34
+ emit('select', node);
35
+ }
36
+
37
+ const TreeNode = defineComponent({
38
+ name: 'GcsaTreeNode',
39
+ props: { node: { type: Object as PropType<GcsaTreeNode>, required: true }, depth: { type: Number, required: true }, position: { type: Number, required: true }, setSize: { type: Number, required: true }, expandedKeys: { type: Array as PropType<string[]>, required: true }, selectedKeys: { type: Array as PropType<string[]>, required: true }, multiple: { type: Boolean, required: true } },
40
+ emits: ['toggle', 'select'],
41
+ setup(nodeProps, { emit: nodeEmit }) {
42
+ const hasChildren = computed(() => Boolean(nodeProps.node.children?.length));
43
+ const expanded = computed(() => nodeProps.expandedKeys.includes(nodeProps.node.key));
44
+ const selected = computed(() => nodeProps.selectedKeys.includes(nodeProps.node.key));
45
+ const childrenId = `gcsa-tree-children-${nodeProps.node.key}`;
46
+ return (): ReturnType<typeof h> => h('div', { class: 'gcsa-tree__branch', role: 'treeitem', 'aria-level': nodeProps.depth + 1, 'aria-posinset': nodeProps.position, 'aria-setsize': nodeProps.setSize, 'aria-expanded': hasChildren.value ? expanded.value : undefined }, [
47
+ h('div', { class: 'gcsa-tree__node', style: { paddingInlineStart: `${nodeProps.depth * 20 + 8}px` }, 'data-selected': selected.value || undefined, 'data-expanded': hasChildren.value ? expanded.value : undefined, 'data-leaf': !hasChildren.value || undefined }, [
48
+ hasChildren.value ? h('button', { type: 'button', class: 'gcsa-tree__toggle gcsa-focus-ring', 'aria-label': expanded.value ? 'Collapse' : 'Expand', 'aria-expanded': expanded.value, 'aria-controls': childrenId, onClick: () => nodeEmit('toggle', nodeProps.node.key) }, [h(GcsaIcon, { name: 'chevronDown', size: 'sm', class: ['gcsa-tree__caret', expanded.value && 'gcsa-tree__caret--expanded'] })]) : h('span', { class: 'gcsa-tree__spacer' }),
49
+ h('button', { type: 'button', class: 'gcsa-tree__label gcsa-focus-ring', disabled: nodeProps.node.disabled, onClick: () => nodeEmit('select', nodeProps.node) }, nodeProps.node.label),
50
+ hasChildren.value && !expanded.value ? h('span', { class: 'gcsa-tree__summary', 'aria-label': `${nodeProps.node.children!.length} 项` }, `${nodeProps.node.children!.length} 项`) : null
51
+ ]),
52
+ hasChildren.value && expanded.value ? h('div', { id: childrenId, class: 'gcsa-tree__children', role: 'group' }, nodeProps.node.children!.map((child, index) => h(TreeNode, { node: child, depth: nodeProps.depth + 1, position: index + 1, setSize: nodeProps.node.children!.length, expandedKeys: nodeProps.expandedKeys, selectedKeys: nodeProps.selectedKeys, multiple: nodeProps.multiple, onToggle: (key: string) => nodeEmit('toggle', key), onSelect: (childNode: GcsaTreeNode) => nodeEmit('select', childNode) }))) : null
53
+ ]);
54
+ }
55
+ });
56
+ </script>
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <div class="gcsa-ui-surface" :class="classes">
3
+ <slot />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { computed } from 'vue';
9
+
10
+ import type { GcsaTypographyProps } from '../types/componentProps';
11
+
12
+ defineOptions({ name: 'GcsaTypography' });
13
+
14
+ const props = withDefaults(
15
+ defineProps<GcsaTypographyProps>(),
16
+ {
17
+ variant: 'text',
18
+ level: 3
19
+ }
20
+ );
21
+
22
+ const classes = computed(() => {
23
+ if (props.variant === 'title') {
24
+ return `gcsa-typography gcsa-typography-title gcsa-typography-title--l${props.level}`;
25
+ }
26
+ return 'gcsa-typography gcsa-typography-text';
27
+ });
28
+ </script>
@@ -0,0 +1,154 @@
1
+ <template>
2
+ <div class="gcsa-upload" :class="{ 'gcsa-upload--disabled': disabled, 'gcsa-upload--dragging': dragging }">
3
+ <input
4
+ ref="inputRef"
5
+ type="file"
6
+ class="gcsa-upload__native"
7
+ :accept="accept"
8
+ :multiple="multiple"
9
+ :webkitdirectory="directory || undefined"
10
+ :disabled="disabled"
11
+ @change="onNativeChange"
12
+ />
13
+ <div
14
+ class="gcsa-upload__dropzone"
15
+ role="button"
16
+ tabindex="0"
17
+ @click="openPicker"
18
+ @keydown.enter.prevent="openPicker"
19
+ @keydown.space.prevent="openPicker"
20
+ @dragenter.prevent="onDragEnter"
21
+ @dragover.prevent="onDragEnter"
22
+ @dragleave.prevent="dragging = false"
23
+ @drop.prevent="onDrop"
24
+ >
25
+ <span class="gcsa-upload__icon" aria-hidden="true">
26
+ <GcsaIcon name="plus" />
27
+ </span>
28
+ <span class="gcsa-upload__title">{{ resolvedButtonLabel }}</span>
29
+ <p v-if="resolvedHint" class="gcsa-upload__hint">{{ resolvedHint }}</p>
30
+ </div>
31
+ <ul v-if="files.length" class="gcsa-upload__list">
32
+ <li v-for="(file, index) in files" :key="`${file.name}-${index}`" class="gcsa-upload__item">
33
+ <span class="gcsa-upload__name">{{ file.name }}</span>
34
+ <span class="gcsa-upload__size">{{ formatSize(file.size) }}</span>
35
+ <span v-if="statuses.get(file) === 'uploading'" class="gcsa-upload__status" role="status">{{ resolvedUploadingLabel }} {{ progress.get(file) ?? 0 }}%</span>
36
+ <span v-else-if="statuses.get(file) === 'error'" class="gcsa-upload__status gcsa-upload__status--error" role="alert">{{ resolvedUploadErrorLabel }}</span>
37
+ <div v-if="statuses.get(file) === 'uploading'" class="gcsa-upload__progress" aria-hidden="true"><span :style="{ width: `${progress.get(file) ?? 0}%` }" /></div>
38
+ <button v-if="statuses.get(file) === 'error'" type="button" class="gcsa-upload__retry gcsa-focus-ring" :disabled="disabled" @click="uploadFile(file)">{{ resolvedRetryLabel }}</button>
39
+ <button
40
+ type="button"
41
+ class="gcsa-upload__remove gcsa-focus-ring"
42
+ :disabled="disabled"
43
+ :aria-label="messages.uploadRemoveFile"
44
+ @click="removeAt(index)"
45
+ >
46
+ {{ messages.remove }}
47
+ </button>
48
+ </li>
49
+ </ul>
50
+ </div>
51
+ </template>
52
+
53
+ <script setup lang="ts">
54
+ import { computed, ref } from 'vue';
55
+ import type { GcsaUploadProps } from '../types/componentProps';
56
+ import GcsaIcon from './GcsaIcon.vue';
57
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
58
+
59
+ defineOptions({ name: 'GcsaUpload' });
60
+
61
+ const props = withDefaults(
62
+ defineProps<GcsaUploadProps>(),
63
+ {
64
+ files: () => [],
65
+ multiple: false,
66
+ drag: false,
67
+ directory: false
68
+ }
69
+ );
70
+
71
+ const messages = useGcsaLocaleMessages();
72
+ const resolvedButtonLabel = computed(() => props.buttonLabel ?? messages.value.uploadSelectFile);
73
+ const resolvedHint = computed(() => props.hint || (props.drag ? resolvedDragLabel.value : undefined));
74
+ const resolvedDragLabel = computed(() => props.dragLabel ?? messages.value.uploadDragHint);
75
+ const resolvedUploadingLabel = computed(() => props.uploadingLabel ?? messages.value.uploadUploading);
76
+ const resolvedUploadErrorLabel = computed(() => props.uploadErrorLabel ?? messages.value.uploadFailed);
77
+ const resolvedRetryLabel = computed(() => props.retryLabel ?? messages.value.uploadRetry);
78
+
79
+ const emit = defineEmits<{
80
+ 'update:files': [files: File[]];
81
+ 'upload-start': [file: File];
82
+ 'upload-success': [file: File];
83
+ 'upload-error': [details: { file: File; error: unknown }];
84
+ }>();
85
+
86
+ const inputRef = ref<HTMLInputElement | null>(null);
87
+ const dragging = ref(false);
88
+ const statuses = ref(new Map<File, 'uploading' | 'success' | 'error'>());
89
+ const progress = ref(new Map<File, number>());
90
+
91
+ function openPicker() {
92
+ inputRef.value?.click();
93
+ }
94
+
95
+ function onDragEnter() {
96
+ if (!props.drag || props.disabled) return;
97
+ dragging.value = true;
98
+ }
99
+
100
+ function onNativeChange(event: Event) {
101
+ const input = event.target as HTMLInputElement;
102
+ const picked = Array.from(input.files ?? []);
103
+ input.value = '';
104
+ if (!picked.length) return;
105
+
106
+ acceptFiles(picked);
107
+ }
108
+
109
+ function onDrop(event: DragEvent) {
110
+ dragging.value = false;
111
+ if (!props.drag || props.disabled) return;
112
+ acceptFiles(Array.from(event.dataTransfer?.files ?? []));
113
+ }
114
+
115
+ function acceptFiles(picked: File[]) {
116
+ if (!picked.length || props.disabled) return;
117
+ const valid = props.maxSize == null ? picked : picked.filter(file => file.size <= props.maxSize!);
118
+ let next = props.multiple ? [...props.files, ...valid] : valid.slice(0, 1);
119
+ if (props.maxCount != null) next = next.slice(0, props.maxCount);
120
+ emit('update:files', next);
121
+ if (props.upload) next.filter(file => valid.includes(file)).forEach(uploadFile);
122
+ }
123
+
124
+ async function uploadFile(file: File) {
125
+ if (!props.upload) return;
126
+ statuses.value = new Map(statuses.value).set(file, 'uploading');
127
+ progress.value = new Map(progress.value).set(file, 0);
128
+ emit('upload-start', file);
129
+ try {
130
+ await props.upload(file, percent => {
131
+ const next = Math.max(0, Math.min(100, Math.round(percent)));
132
+ progress.value = new Map(progress.value).set(file, next);
133
+ props.onProgress?.(file, next);
134
+ });
135
+ statuses.value = new Map(statuses.value).set(file, 'success');
136
+ progress.value = new Map(progress.value).set(file, 100);
137
+ emit('upload-success', file);
138
+ } catch (error) {
139
+ statuses.value = new Map(statuses.value).set(file, 'error');
140
+ emit('upload-error', { file, error });
141
+ }
142
+ }
143
+
144
+ function removeAt(index: number) {
145
+ const next = props.files.filter((_, i) => i !== index);
146
+ emit('update:files', next);
147
+ }
148
+
149
+ function formatSize(bytes: number): string {
150
+ if (bytes < 1024) return `${bytes} B`;
151
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
152
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
153
+ }
154
+ </script>
@@ -0,0 +1,18 @@
1
+ export type GcsaDataTableApi<T extends Record<string, unknown>> = {
2
+ clearSorting: () => void;
3
+ clearFilters: () => void;
4
+ clearSelection: () => void;
5
+ clearExpanded: () => void;
6
+ setRowSelected: (key: string, selected?: boolean) => void;
7
+ setRowExpanded: (key: string, expanded?: boolean) => Promise<void>;
8
+ clearSort: () => void;
9
+ clearFilter: (columnKeys?: string | string[]) => void;
10
+ sort: (prop: string, order: 'ascending' | 'descending' | null) => void;
11
+ toggleRowSelection: (row: T, selected?: boolean) => void;
12
+ toggleAllSelection: () => void;
13
+ toggleRowExpansion: (row: T, expanded?: boolean) => Promise<void>;
14
+ setCurrentRow: (row?: T) => void;
15
+ getSelectionRows: () => T[];
16
+ setScrollTop: (top: number) => void;
17
+ scrollTo: (options: ScrollToOptions | number, y?: number) => void;
18
+ };
@@ -0,0 +1,30 @@
1
+ import type { FormApi } from '@tanstack/vue-form';
2
+ import type { useForm } from '@tanstack/vue-form';
3
+
4
+ export type GcsaFormValues = Record<string, unknown>;
5
+
6
+ type VueUseFormReturn = ReturnType<typeof useForm>;
7
+
8
+ /**
9
+ * Form instance used by GcsaForm / GcsaFormField.
10
+ * Validator generics are relaxed so schema-backed forms remain assignable.
11
+ */
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ export type GcsaFormApi = FormApi<
14
+ GcsaFormValues,
15
+ any,
16
+ any,
17
+ any,
18
+ any,
19
+ any,
20
+ any,
21
+ any,
22
+ any,
23
+ any,
24
+ any,
25
+ any
26
+ > &
27
+ Pick<
28
+ VueUseFormReturn,
29
+ 'Field' | 'FormGroup' | 'useSelector' | 'useStore' | 'Subscribe'
30
+ >;
@@ -0,0 +1,6 @@
1
+ import type { InjectionKey } from 'vue';
2
+
3
+ /** Docs / app may provide this to restore document theme after ConfigProvider unmounts. */
4
+ export const GCSA_RESTORE_DOCUMENT_THEME_KEY: InjectionKey<() => void> = Symbol(
5
+ 'gcsa-restore-document-theme'
6
+ );
@@ -0,0 +1,30 @@
1
+ import { computed, inject, provide, toValue, type ComputedRef, type InjectionKey, type MaybeRefOrGetter } from 'vue';
2
+ import {
3
+ GCSA_DEFAULT_COMPONENT_SIZE,
4
+ resolveGcsaButtonSize,
5
+ resolveGcsaComponentSize,
6
+ type GcsaButtonSize,
7
+ type GcsaComponentSize
8
+ } from '@gcsa/console-core';
9
+
10
+ export const GCSA_COMPONENT_SIZE_KEY: InjectionKey<ComputedRef<GcsaComponentSize>> =
11
+ Symbol('gcsa-component-size');
12
+
13
+ export function useGcsaComponentSizeConfig(): GcsaComponentSize {
14
+ const configSize = inject(GCSA_COMPONENT_SIZE_KEY);
15
+ return configSize?.value ?? GCSA_DEFAULT_COMPONENT_SIZE;
16
+ }
17
+
18
+ export function useGcsaComponentSize(propSize?: MaybeRefOrGetter<GcsaComponentSize | undefined>) {
19
+ const configSize = useGcsaComponentSizeConfig();
20
+ return computed(() => resolveGcsaComponentSize(toValue(propSize), configSize));
21
+ }
22
+
23
+ export function useGcsaButtonSize(propSize?: MaybeRefOrGetter<GcsaButtonSize | undefined>) {
24
+ const configSize = useGcsaComponentSizeConfig();
25
+ return computed(() => resolveGcsaButtonSize(toValue(propSize), configSize));
26
+ }
27
+
28
+ export function provideGcsaComponentSize(size: ComputedRef<GcsaComponentSize>) {
29
+ provide(GCSA_COMPONENT_SIZE_KEY, size);
30
+ }
@@ -0,0 +1,49 @@
1
+ import type { FieldApi } from '@tanstack/vue-form';
2
+
3
+ /** TanStack FieldApi with relaxed generics for field binding helpers. */
4
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
+ export type GcsaAnyFieldApi = FieldApi<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
6
+
7
+ export function gcsaTextFieldBindings(field: GcsaAnyFieldApi) {
8
+ const error = field.state.meta.errors[0];
9
+ return {
10
+ modelValue: field.state.value as string,
11
+ invalid: Boolean(error),
12
+ onBlur: () => field.handleBlur(),
13
+ 'onUpdate:modelValue': (value: string) => field.handleChange(value)
14
+ };
15
+ }
16
+
17
+ export function gcsaBooleanFieldBindings(field: GcsaAnyFieldApi) {
18
+ return {
19
+ modelValue: Boolean(field.state.value),
20
+ 'onUpdate:modelValue': (value: boolean) => field.handleChange(value)
21
+ };
22
+ }
23
+
24
+ export function gcsaRadioFieldBindings(field: GcsaAnyFieldApi) {
25
+ const error = field.state.meta.errors[0];
26
+ return {
27
+ modelValue: (field.state.value as string) ?? '',
28
+ invalid: Boolean(error),
29
+ 'onUpdate:modelValue': (value: string) => field.handleChange(value)
30
+ };
31
+ }
32
+
33
+ export function gcsaNumberFieldBindings(field: GcsaAnyFieldApi) {
34
+ const error = field.state.meta.errors[0];
35
+ return {
36
+ modelValue: field.state.value as number | null,
37
+ invalid: Boolean(error),
38
+ onBlur: () => field.handleBlur(),
39
+ 'onUpdate:modelValue': (value: number | null) => field.handleChange(value)
40
+ };
41
+ }
42
+
43
+ export function gcsaFieldError(field: GcsaAnyFieldApi) {
44
+ return field.state.meta.errors[0] as string | undefined;
45
+ }
46
+
47
+ export function gcsaFieldInvalid(field: GcsaAnyFieldApi) {
48
+ return field.state.meta.errors.length > 0;
49
+ }
@@ -0,0 +1,6 @@
1
+ import type { InjectionKey } from 'vue';
2
+ import type { ZodObject, ZodTypeAny } from 'zod';
3
+
4
+ export const GCSA_FORM_SCHEMA_KEY: InjectionKey<ZodObject<Record<string, ZodTypeAny>>> = Symbol(
5
+ 'gcsa-form-schema'
6
+ );
@@ -0,0 +1,18 @@
1
+ import { computed, inject, type ComputedRef } from 'vue';
2
+ import {
3
+ GCSA_DEFAULT_LOCALE,
4
+ getGcsaLocaleMessages,
5
+ type GcsaConsoleLocale
6
+ } from '@gcsa/console-core';
7
+
8
+ export const GCSA_LOCALE_KEY = Symbol('gcsa-locale');
9
+
10
+ export function useGcsaLocale(): ComputedRef<GcsaConsoleLocale> {
11
+ const locale = inject<ComputedRef<GcsaConsoleLocale> | null>(GCSA_LOCALE_KEY, null);
12
+ return computed(() => locale?.value ?? GCSA_DEFAULT_LOCALE);
13
+ }
14
+
15
+ export function useGcsaLocaleMessages() {
16
+ const locale = useGcsaLocale();
17
+ return computed(() => getGcsaLocaleMessages(locale.value));
18
+ }
@@ -0,0 +1,10 @@
1
+ import { inject } from 'vue';
2
+ import { GCSA_MESSAGE_KEY, type GcsaMessageApi } from './useMessage';
3
+
4
+ export function useGcsaMessage(): GcsaMessageApi {
5
+ const api = inject(GCSA_MESSAGE_KEY);
6
+ if (!api) {
7
+ throw new Error('useGcsaMessage must be used within GcsaConfigProvider');
8
+ }
9
+ return api;
10
+ }
@@ -0,0 +1,24 @@
1
+ import { ref, type Ref } from 'vue';
2
+ import { useGcsaZIndex } from './useGcsaZIndex';
3
+
4
+ export function useGcsaPopupZIndex(): {
5
+ zIndex: Ref<number | undefined>;
6
+ claimZIndex: () => number;
7
+ onOpenChange: (open: boolean) => void;
8
+ } {
9
+ const { nextZIndex } = useGcsaZIndex();
10
+ const zIndex = ref<number>();
11
+
12
+ function claimZIndex() {
13
+ zIndex.value = nextZIndex();
14
+ return zIndex.value;
15
+ }
16
+
17
+ function onOpenChange(open: boolean) {
18
+ if (open) {
19
+ claimZIndex();
20
+ }
21
+ }
22
+
23
+ return { zIndex, claimZIndex, onOpenChange };
24
+ }
@@ -0,0 +1,48 @@
1
+ import { computed, type MaybeRefOrGetter, toValue } from 'vue';
2
+
3
+ export type GcsaTextCountFormatter = (info: {
4
+ value: string;
5
+ count: number;
6
+ maxLength?: number;
7
+ }) => string;
8
+
9
+ export function useGcsaTextCount(options: {
10
+ modelValue: MaybeRefOrGetter<string | undefined>;
11
+ maxLength?: MaybeRefOrGetter<number | undefined>;
12
+ showCount?: MaybeRefOrGetter<boolean | undefined>;
13
+ formatter?: GcsaTextCountFormatter;
14
+ }) {
15
+ const showCounter = computed(() => {
16
+ const max = toValue(options.maxLength);
17
+ const explicit = toValue(options.showCount);
18
+
19
+ if (explicit === true) return true;
20
+ if (explicit === false) return false;
21
+ return max != null;
22
+ });
23
+
24
+ const count = computed(() => toValue(options.modelValue)?.length ?? 0);
25
+
26
+ const countText = computed(() => {
27
+ const value = toValue(options.modelValue) ?? '';
28
+ const current = count.value;
29
+ const max = toValue(options.maxLength);
30
+
31
+ if (options.formatter) {
32
+ return options.formatter({ value, count: current, maxLength: max });
33
+ }
34
+
35
+ if (max != null) {
36
+ return `${current}/${max}`;
37
+ }
38
+
39
+ return String(current);
40
+ });
41
+
42
+ const isNearLimit = computed(() => {
43
+ const max = toValue(options.maxLength);
44
+ return max != null && count.value >= max * 0.9;
45
+ });
46
+
47
+ return { showCounter, count, countText, isNearLimit };
48
+ }
@@ -0,0 +1,9 @@
1
+ import { inject, type ComputedRef } from 'vue';
2
+ import type { GcsaConsoleTheme } from '@gcsa/console-core';
3
+
4
+ export const GCSA_THEME_KEY = Symbol('gcsa-theme');
5
+
6
+ export function useGcsaTheme(): GcsaConsoleTheme {
7
+ const theme = inject<ComputedRef<GcsaConsoleTheme>>(GCSA_THEME_KEY);
8
+ return theme?.value ?? 'dark';
9
+ }
@@ -0,0 +1,62 @@
1
+ import { inject, provide, type InjectionKey } from 'vue';
2
+
3
+ export type GcsaZIndexApi = {
4
+ next: () => number;
5
+ };
6
+
7
+ export const GCSA_Z_INDEX_KEY: InjectionKey<GcsaZIndexApi> = Symbol('gcsa-z-index');
8
+
9
+ const FALLBACK_INITIAL = 2000;
10
+ const FALLBACK_TOAST = 1300;
11
+ const Z_INDEX_STEP = 2;
12
+
13
+ function readCssZIndex(token: string, fallback: number): number {
14
+ if (typeof document === 'undefined') return fallback;
15
+ const raw = getComputedStyle(document.documentElement).getPropertyValue(token).trim();
16
+ const parsed = Number.parseInt(raw, 10);
17
+ return Number.isFinite(parsed) ? parsed : fallback;
18
+ }
19
+
20
+ export function readToastZIndex(): number {
21
+ const toast = readCssZIndex('--gcsa-z-toast', Number.NaN);
22
+ const overlay = readCssZIndex('--z-overlay-toast', Number.NaN);
23
+ const candidates = [toast, overlay, FALLBACK_TOAST].filter(value => Number.isFinite(value));
24
+ return Math.max(...candidates);
25
+ }
26
+
27
+ function createZIndexApi(initial: number): GcsaZIndexApi {
28
+ let current = initial;
29
+ return {
30
+ next() {
31
+ current += Z_INDEX_STEP;
32
+ return current;
33
+ }
34
+ };
35
+ }
36
+
37
+ function readInitialZIndex(): number {
38
+ if (typeof document === 'undefined') return FALLBACK_INITIAL;
39
+ const root = document.documentElement;
40
+ const initial = getComputedStyle(root).getPropertyValue('--gcsa-z-index-initial').trim();
41
+ const parsedInitial = Number.parseInt(initial, 10);
42
+ if (Number.isFinite(parsedInitial)) return parsedInitial;
43
+ const modal = getComputedStyle(root).getPropertyValue('--gcsa-z-modal').trim();
44
+ const parsedModal = Number.parseInt(modal, 10);
45
+ return Number.isFinite(parsedModal) ? parsedModal : FALLBACK_INITIAL;
46
+ }
47
+
48
+ export function provideGcsaZIndex(initial?: number): GcsaZIndexApi {
49
+ const api = createZIndexApi(initial ?? readInitialZIndex());
50
+ provide(GCSA_Z_INDEX_KEY, api);
51
+ return api;
52
+ }
53
+
54
+ export function useGcsaZIndex() {
55
+ const api = inject(GCSA_Z_INDEX_KEY, null);
56
+
57
+ function nextZIndex() {
58
+ return api?.next() ?? FALLBACK_INITIAL + Z_INDEX_STEP;
59
+ }
60
+
61
+ return { nextZIndex };
62
+ }
@@ -0,0 +1,9 @@
1
+ import type { InjectionKey } from 'vue';
2
+
3
+ export type GcsaMessageApi = {
4
+ success: (message: string) => void;
5
+ error: (message: string) => void;
6
+ info: (message: string) => void;
7
+ };
8
+
9
+ export const GCSA_MESSAGE_KEY: InjectionKey<GcsaMessageApi> = Symbol('gcsa-message');