@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,70 @@
1
+ <template>
2
+ <form class="gcsa-form" @submit.prevent="submit">
3
+ <slot :form="form" />
4
+ <div v-if="showActions" class="gcsa-form__actions">
5
+ <GcsaButton native-type="submit" :loading="form.state.isSubmitting" :disabled="form.state.isSubmitting">
6
+ {{ resolvedSubmitLabel }}
7
+ </GcsaButton>
8
+ <GcsaButton
9
+ variant="secondary"
10
+ native-type="button"
11
+ :disabled="form.state.isSubmitting"
12
+ @click="form.reset()"
13
+ >
14
+ {{ resolvedResetLabel }}
15
+ </GcsaButton>
16
+ </div>
17
+ </form>
18
+ </template>
19
+
20
+ <script setup lang="ts">
21
+ import { computed, provide } from 'vue';
22
+ import { useForm } from '@tanstack/vue-form';
23
+ import type { GcsaFormProps } from '../types/componentProps';
24
+ import GcsaButton from './GcsaButton.vue';
25
+ import { GCSA_FORM_SCHEMA_KEY } from '../composables/useGcsaFormSchema';
26
+ import { useGcsaLocale, useGcsaLocaleMessages } from '../composables/useGcsaLocale';
27
+ import { zodFormValidator } from '../utils/zodValidators';
28
+
29
+ defineOptions({ name: 'GcsaForm' });
30
+
31
+ const props = withDefaults(
32
+ defineProps<GcsaFormProps>(),
33
+ {
34
+ showActions: true
35
+ }
36
+ );
37
+
38
+ const messages = useGcsaLocaleMessages();
39
+ const locale = useGcsaLocale();
40
+ const resolvedSubmitLabel = computed(() => props.submitLabel ?? messages.value.formSubmit);
41
+ const resolvedResetLabel = computed(() => props.resetLabel ?? messages.value.formReset);
42
+
43
+ if (props.schema) {
44
+ provide(GCSA_FORM_SCHEMA_KEY, props.schema);
45
+ }
46
+
47
+ const form = useForm({
48
+ defaultValues: props.defaultValues,
49
+ validators: props.schema
50
+ ? {
51
+ onSubmit: zodFormValidator(props.schema, locale.value)
52
+ }
53
+ : undefined,
54
+ onSubmit: async ({ value }) => {
55
+ if (props.schema) {
56
+ const parsed = props.schema.safeParse(value);
57
+ if (!parsed.success) return;
58
+ await props.onSubmit?.(parsed.data as Record<string, unknown>);
59
+ return;
60
+ }
61
+ await props.onSubmit?.(value as Record<string, unknown>);
62
+ }
63
+ });
64
+
65
+ function submit() {
66
+ form.handleSubmit();
67
+ }
68
+
69
+ defineExpose({ form });
70
+ </script>
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <component :is="form.Field" :name="name" :validators="validators">
3
+ <template #default="{ field }">
4
+ <GcsaField
5
+ :label="label"
6
+ :hint="hint"
7
+ :error="gcsaFieldError(field)"
8
+ :invalid="gcsaFieldInvalid(field)"
9
+ :required="required"
10
+ >
11
+ <slot :field="field" :bindings="bindings(field)" />
12
+ </GcsaField>
13
+ </template>
14
+ </component>
15
+ </template>
16
+
17
+ <script setup lang="ts">
18
+ import { computed, inject } from 'vue';
19
+ import type { FieldApi } from '@tanstack/vue-form';
20
+ import type { GcsaFormFieldProps } from '../types/componentProps';
21
+ import GcsaField from './GcsaField.vue';
22
+ import { GCSA_FORM_SCHEMA_KEY } from '../composables/useGcsaFormSchema';
23
+ import {
24
+ gcsaBooleanFieldBindings,
25
+ gcsaFieldError,
26
+ gcsaFieldInvalid,
27
+ gcsaTextFieldBindings
28
+ } from '../composables/useGcsaFormField';
29
+ import { zodFieldValidators } from '../utils/zodValidators';
30
+ import { useGcsaLocale } from '../composables/useGcsaLocale';
31
+
32
+ defineOptions({ name: 'GcsaFormField' });
33
+
34
+ const props = withDefaults(
35
+ defineProps<GcsaFormFieldProps>(),
36
+ {
37
+ fieldType: 'text',
38
+ required: false
39
+ }
40
+ );
41
+
42
+ const schema = inject(GCSA_FORM_SCHEMA_KEY, null);
43
+ const locale = useGcsaLocale();
44
+
45
+ const validators = computed(() => {
46
+ if (!schema) return undefined;
47
+ return zodFieldValidators(schema, props.name, locale.value);
48
+ });
49
+
50
+ function bindings(field: FieldApi<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>) {
51
+ return props.fieldType === 'boolean' ? gcsaBooleanFieldBindings(field) : gcsaTextFieldBindings(field);
52
+ }
53
+ </script>
@@ -0,0 +1,24 @@
1
+ <template>
2
+ <span
3
+ class="gcsa-icon gcsa-nav-icon"
4
+ :class="sizeClass"
5
+ aria-hidden="true"
6
+ v-html="svg"
7
+ />
8
+ </template>
9
+
10
+ <script setup lang="ts">
11
+ import { computed } from 'vue';
12
+ import { getGcsaIconSvg } from '../icons';
13
+ import type { GcsaIconProps } from '../types/componentProps';
14
+
15
+ const props = withDefaults(
16
+ defineProps<GcsaIconProps>(),
17
+ {
18
+ size: 'md'
19
+ }
20
+ );
21
+
22
+ const svg = computed(() => getGcsaIconSvg(props.name));
23
+ const sizeClass = computed(() => (props.size === 'sm' ? 'gcsa-icon--sm' : undefined));
24
+ </script>
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <Dialog.Root :open="modelValue" lazy-mount unmount-on-exit @update:open="value => emit('update:modelValue', value)">
3
+ <Dialog.Backdrop class="gcsa-image-preview__backdrop" />
4
+ <Dialog.Positioner class="gcsa-image-preview__positioner">
5
+ <Dialog.Content class="gcsa-image-preview__content" :aria-label="messages.imagePreview">
6
+ <Dialog.CloseTrigger class="gcsa-image-preview__close" :aria-label="messages.imagePreviewClose">
7
+ <GcsaIcon name="close" size="sm" />
8
+ </Dialog.CloseTrigger>
9
+ <img class="gcsa-image-preview__image" :src="src" :alt="resolvedAlt" draggable="false" @error="emit('error')" />
10
+ </Dialog.Content>
11
+ </Dialog.Positioner>
12
+ </Dialog.Root>
13
+ </template>
14
+
15
+ <script setup lang="ts">
16
+ import { computed } from 'vue';
17
+ import { Dialog } from '@ark-ui/vue/dialog';
18
+ import type { GcsaImagePreviewProps } from '../types/componentProps';
19
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
20
+ import GcsaIcon from './GcsaIcon.vue';
21
+
22
+ defineOptions({ name: 'GcsaImagePreview' });
23
+
24
+ const props = defineProps<GcsaImagePreviewProps>();
25
+ const messages = useGcsaLocaleMessages();
26
+ const resolvedAlt = computed(() => props.alt ?? messages.value.imagePreview);
27
+ const emit = defineEmits<{ 'update:modelValue': [value: boolean]; error: [] }>();
28
+ </script>
@@ -0,0 +1,80 @@
1
+ <template>
2
+ <div
3
+ class="gcsa-text-control gcsa-text-control--input"
4
+ :class="[
5
+ sizeClass,
6
+ { 'gcsa-text-control--count': showCounter }
7
+ ]"
8
+ >
9
+ <input
10
+ class="gcsa-input"
11
+ :value="modelValue"
12
+ :type="type"
13
+ :placeholder="placeholder"
14
+ :disabled="disabled"
15
+ :readonly="readonly || undefined"
16
+ :maxlength="maxLength"
17
+ :data-invalid="invalid || undefined"
18
+ :aria-describedby="showCounter ? countId : undefined"
19
+ @input="onInput"
20
+ @blur="onBlur"
21
+ />
22
+ <span
23
+ v-if="showCounter"
24
+ :id="countId"
25
+ class="gcsa-text-control__count"
26
+ :class="{ 'gcsa-text-control__count--near': isNearLimit }"
27
+ aria-live="polite"
28
+ >
29
+ {{ countText }}
30
+ </span>
31
+ </div>
32
+ </template>
33
+
34
+ <script setup lang="ts">
35
+ import { computed, useId } from 'vue';
36
+ import { gcsaControlSizeClass } from '@gcsa/console-core';
37
+ import type { GcsaInputProps } from '../types/componentProps';
38
+ import { useGcsaTextCount } from '../composables/useGcsaTextCount';
39
+ import { useGcsaComponentSize } from '../composables/useGcsaComponentSize';
40
+
41
+ defineOptions({ name: 'GcsaInput' });
42
+
43
+ const props = withDefaults(defineProps<GcsaInputProps>(), {
44
+ modelValue: '',
45
+ type: 'text',
46
+ placeholder: '',
47
+ disabled: false,
48
+ readonly: false,
49
+ invalid: false,
50
+ maxLength: undefined,
51
+ showCount: undefined,
52
+ countFormatter: undefined
53
+ });
54
+
55
+ const emit = defineEmits<{
56
+ 'update:modelValue': [value: string];
57
+ blur: [event: FocusEvent];
58
+ }>();
59
+
60
+ const resolvedSize = useGcsaComponentSize(() => props.size);
61
+ const sizeClass = computed(() => gcsaControlSizeClass('gcsa-text-control', resolvedSize.value));
62
+ const countId = useId();
63
+
64
+ const { showCounter, countText, isNearLimit } = useGcsaTextCount({
65
+ modelValue: () => props.modelValue,
66
+ maxLength: () => props.maxLength,
67
+ showCount: () => props.showCount,
68
+ formatter: props.countFormatter
69
+ });
70
+
71
+ function onInput(event: Event) {
72
+ if (props.readonly) return;
73
+ emit('update:modelValue', (event.target as HTMLInputElement).value);
74
+ }
75
+
76
+ function onBlur(event: FocusEvent) {
77
+ emit('blur', event);
78
+ props.onBlur?.();
79
+ }
80
+ </script>
@@ -0,0 +1,37 @@
1
+ <template>
2
+ <div
3
+ class="gcsa-input-group"
4
+ :class="[
5
+ `gcsa-input-group--${resolvedSize}`,
6
+ {
7
+ 'gcsa-input-group--disabled': disabled,
8
+ 'gcsa-input-group--invalid': invalid
9
+ }
10
+ ]"
11
+ :data-invalid="invalid || undefined"
12
+ >
13
+ <div class="gcsa-input-group__control">
14
+ <slot />
15
+ </div>
16
+ <div v-if="$slots.addon" class="gcsa-input-group__addon">
17
+ <slot name="addon" />
18
+ </div>
19
+ </div>
20
+ </template>
21
+
22
+ <script setup lang="ts">
23
+ import type { GcsaInputGroupProps } from '../types/componentProps';
24
+ import { useGcsaComponentSize } from '../composables/useGcsaComponentSize';
25
+
26
+ defineOptions({ name: 'GcsaInputGroup' });
27
+
28
+ const props = withDefaults(
29
+ defineProps<GcsaInputGroupProps>(),
30
+ {
31
+ disabled: false,
32
+ invalid: false
33
+ }
34
+ );
35
+
36
+ const resolvedSize = useGcsaComponentSize(() => props.size);
37
+ </script>
@@ -0,0 +1,165 @@
1
+ <template>
2
+ <div
3
+ class="gcsa-input-number"
4
+ :class="[
5
+ sizeClass,
6
+ { 'gcsa-input-number--disabled': disabled },
7
+ `gcsa-input-number--controls-${controls}`
8
+ ]"
9
+ >
10
+ <template v-if="controls === 'both'">
11
+ <button
12
+ type="button"
13
+ class="gcsa-input-number__btn"
14
+ :disabled="disabled || isAtMin"
15
+ :aria-label="messages.inputNumberDecrease"
16
+ @click="stepDown"
17
+ >
18
+
19
+ </button>
20
+ <input
21
+ class="gcsa-input-number__input gcsa-input"
22
+ type="text"
23
+ inputmode="decimal"
24
+ :value="displayValue"
25
+ :placeholder="placeholder"
26
+ :disabled="disabled"
27
+ :data-invalid="invalid || undefined"
28
+ @change="onInputChange"
29
+ @blur="onBlur"
30
+ />
31
+ <button
32
+ type="button"
33
+ class="gcsa-input-number__btn"
34
+ :disabled="disabled || isAtMax"
35
+ :aria-label="messages.inputNumberIncrease"
36
+ @click="stepUp"
37
+ >
38
+ +
39
+ </button>
40
+ </template>
41
+
42
+ <template v-else-if="controls === 'right'">
43
+ <input
44
+ class="gcsa-input-number__input gcsa-input"
45
+ type="text"
46
+ inputmode="decimal"
47
+ :value="displayValue"
48
+ :placeholder="placeholder"
49
+ :disabled="disabled"
50
+ :data-invalid="invalid || undefined"
51
+ @change="onInputChange"
52
+ @blur="onBlur"
53
+ />
54
+ <div class="gcsa-input-number__controls">
55
+ <button
56
+ type="button"
57
+ class="gcsa-input-number__btn"
58
+ :disabled="disabled || isAtMin"
59
+ :aria-label="messages.inputNumberDecrease"
60
+ @click="stepDown"
61
+ >
62
+
63
+ </button>
64
+ <button
65
+ type="button"
66
+ class="gcsa-input-number__btn"
67
+ :disabled="disabled || isAtMax"
68
+ :aria-label="messages.inputNumberIncrease"
69
+ @click="stepUp"
70
+ >
71
+ +
72
+ </button>
73
+ </div>
74
+ </template>
75
+
76
+ <template v-else>
77
+ <input
78
+ class="gcsa-input-number__input gcsa-input gcsa-input-number__input--plain"
79
+ type="text"
80
+ inputmode="decimal"
81
+ :value="displayValue"
82
+ :placeholder="placeholder"
83
+ :disabled="disabled"
84
+ :data-invalid="invalid || undefined"
85
+ @change="onInputChange"
86
+ @blur="onBlur"
87
+ />
88
+ </template>
89
+ </div>
90
+ </template>
91
+
92
+ <script setup lang="ts">
93
+ import { computed } from 'vue';
94
+ import { gcsaControlSizeClass } from '@gcsa/console-core';
95
+ import type { GcsaInputNumberProps } from '../types/componentProps';
96
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
97
+ import { useGcsaComponentSize } from '../composables/useGcsaComponentSize';
98
+
99
+ defineOptions({ name: 'GcsaInputNumber' });
100
+
101
+ const props = withDefaults(
102
+ defineProps<GcsaInputNumberProps>(),
103
+ {
104
+ step: 1,
105
+ precision: 0,
106
+ controls: 'both'
107
+ }
108
+ );
109
+
110
+ const resolvedSize = useGcsaComponentSize(() => props.size);
111
+ const sizeClass = computed(() => gcsaControlSizeClass('gcsa-input-number', resolvedSize.value));
112
+
113
+ const emit = defineEmits<{
114
+ 'update:modelValue': [value: number | null];
115
+ blur: [event: FocusEvent];
116
+ }>();
117
+
118
+ const messages = useGcsaLocaleMessages();
119
+
120
+ const displayValue = computed(() =>
121
+ props.modelValue == null || Number.isNaN(props.modelValue) ? '' : String(props.modelValue)
122
+ );
123
+
124
+ const isAtMin = computed(() => props.modelValue != null && props.min != null && props.modelValue <= props.min);
125
+ const isAtMax = computed(() => props.modelValue != null && props.max != null && props.modelValue >= props.max);
126
+
127
+ function clamp(value: number): number {
128
+ let next = value;
129
+ if (props.precision != null) {
130
+ const factor = 10 ** props.precision;
131
+ next = Math.round(next * factor) / factor;
132
+ }
133
+ if (props.min != null) next = Math.max(props.min, next);
134
+ if (props.max != null) next = Math.min(props.max, next);
135
+ return next;
136
+ }
137
+
138
+ function parseInput(raw: string): number | null {
139
+ const trimmed = raw.trim();
140
+ if (!trimmed) return null;
141
+ const num = Number(trimmed);
142
+ if (Number.isNaN(num)) return props.modelValue ?? null;
143
+ return clamp(num);
144
+ }
145
+
146
+ function onInputChange(event: Event) {
147
+ const raw = (event.target as HTMLInputElement).value;
148
+ emit('update:modelValue', parseInput(raw));
149
+ }
150
+
151
+ function onBlur(event: FocusEvent) {
152
+ emit('blur', event);
153
+ props.onBlur?.();
154
+ }
155
+
156
+ function stepUp() {
157
+ const base = props.modelValue ?? props.min ?? 0;
158
+ emit('update:modelValue', clamp(base + props.step));
159
+ }
160
+
161
+ function stepDown() {
162
+ const base = props.modelValue ?? props.max ?? 0;
163
+ emit('update:modelValue', clamp(base - props.step));
164
+ }
165
+ </script>
@@ -0,0 +1,49 @@
1
+ <template>
2
+ <div
3
+ v-show="isVisible"
4
+ class="gcsa-loading-mask"
5
+ :class="[customClass, { 'gcsa-loading-mask--fullscreen': fullscreen }]"
6
+ :style="maskStyle"
7
+ role="status"
8
+ aria-live="polite"
9
+ :aria-label="ariaLabel"
10
+ >
11
+ <div class="gcsa-loading-spinner">
12
+ <div class="gcsa-loading-spinner__stage">
13
+ <div class="gcsa-loading-spinner__ring" aria-hidden="true" />
14
+ <GcsaBrandMark class="gcsa-loading-spinner__logo" />
15
+ </div>
16
+ <p v-if="displayText" class="gcsa-loading-spinner__text">{{ displayText }}</p>
17
+ </div>
18
+ </div>
19
+ </template>
20
+
21
+ <script setup lang="ts">
22
+ import { computed, unref, type CSSProperties, type Ref } from 'vue';
23
+ import type { GcsaLoadingMaskProps } from '../types/componentProps';
24
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
25
+ import GcsaBrandMark from './GcsaBrandMark.vue';
26
+
27
+ defineOptions({ name: 'GcsaLoadingMask' });
28
+
29
+ const messages = useGcsaLocaleMessages();
30
+
31
+ const props = defineProps<GcsaLoadingMaskProps>();
32
+
33
+ const isVisible = computed(() => {
34
+ if (props.visible === undefined) return true;
35
+ return unref(props.visible);
36
+ });
37
+
38
+ const displayText = computed(() => {
39
+ if (!props.text) return '';
40
+ return unref(props.text);
41
+ });
42
+
43
+ const ariaLabel = computed(() => displayText.value || messages.value.loading);
44
+
45
+ const maskStyle = computed((): CSSProperties | undefined => {
46
+ if (!props.background) return undefined;
47
+ return { backgroundColor: props.background };
48
+ });
49
+ </script>
@@ -0,0 +1,49 @@
1
+ <template>
2
+ <div
3
+ ref="rootRef"
4
+ class="gcsa-markdown"
5
+ :class="{ 'gcsa-markdown--inline': inline }"
6
+ v-html="html"
7
+ />
8
+ </template>
9
+
10
+ <script setup lang="ts">
11
+ import { computed, nextTick, onMounted, ref, watch } from 'vue';
12
+ import { renderGcsaMarkdown } from '@gcsa/console-core';
13
+
14
+ import type { GcsaMarkdownRendererProps } from '../types/componentProps';
15
+
16
+ defineOptions({ name: 'GcsaMarkdownRenderer' });
17
+
18
+ const props = withDefaults(
19
+ defineProps<GcsaMarkdownRendererProps>(),
20
+ {
21
+ inline: false
22
+ }
23
+ );
24
+
25
+ const rootRef = ref<HTMLElement | null>(null);
26
+
27
+ const html = computed(() => renderGcsaMarkdown(props.content));
28
+
29
+ function wrapTablesInContainer(root: HTMLElement | null) {
30
+ if (!root) return;
31
+ root.querySelectorAll('table').forEach((table) => {
32
+ if (table.parentElement?.classList.contains('gcsa-markdown__table-wrap')) return;
33
+ const wrapper = document.createElement('div');
34
+ wrapper.className = 'gcsa-markdown__table-wrap';
35
+ table.parentNode?.insertBefore(wrapper, table);
36
+ wrapper.appendChild(table);
37
+ });
38
+ }
39
+
40
+ watch(html, async () => {
41
+ await nextTick();
42
+ wrapTablesInContainer(rootRef.value);
43
+ });
44
+
45
+ onMounted(async () => {
46
+ await nextTick();
47
+ wrapTablesInContainer(rootRef.value);
48
+ });
49
+ </script>
@@ -0,0 +1,86 @@
1
+ <script setup lang="ts">
2
+ import { computed, ref, watch } from 'vue';
3
+ import type { GcsaMenuProps } from '../types/componentProps';
4
+ import GcsaMenuNodes from './GcsaMenuNodes.vue';
5
+
6
+ defineOptions({ name: 'GcsaMenu' });
7
+
8
+ const props = withDefaults(
9
+ defineProps<GcsaMenuProps>(),
10
+ {
11
+ mode: 'vertical',
12
+ collapsed: false
13
+ }
14
+ );
15
+
16
+ const emit = defineEmits<{
17
+ 'update:selectedKey': [key: string];
18
+ select: [key: string];
19
+ 'update:openKeys': [keys: string[]];
20
+ }>();
21
+
22
+ const innerSelectedKey = ref(props.selectedKey ?? props.defaultSelectedKey ?? '');
23
+ const innerOpenKeys = ref<string[]>(props.openKeys ?? props.defaultOpenKeys ?? []);
24
+
25
+ watch(
26
+ () => props.selectedKey,
27
+ value => {
28
+ if (value !== undefined) innerSelectedKey.value = value;
29
+ }
30
+ );
31
+
32
+ watch(
33
+ () => props.openKeys,
34
+ value => {
35
+ if (value !== undefined) innerOpenKeys.value = value;
36
+ }
37
+ );
38
+
39
+ watch(
40
+ () => props.collapsed,
41
+ value => {
42
+ if (value) {
43
+ innerOpenKeys.value = [];
44
+ emit('update:openKeys', []);
45
+ }
46
+ }
47
+ );
48
+
49
+ const modeClass = computed(() => `gcsa-menu--${props.mode}`);
50
+ const collapsedClass = computed(() => (props.collapsed ? 'gcsa-menu--collapsed' : ''));
51
+ const ariaOrientation = computed(() => (props.mode === 'horizontal' ? 'horizontal' : 'vertical'));
52
+
53
+ function onSelect(key: string) {
54
+ innerSelectedKey.value = key;
55
+ emit('update:selectedKey', key);
56
+ emit('select', key);
57
+ }
58
+
59
+ function onToggle(key: string, open: boolean) {
60
+ const next = open
61
+ ? [...new Set([...innerOpenKeys.value, key])]
62
+ : innerOpenKeys.value.filter(item => item !== key);
63
+ innerOpenKeys.value = next;
64
+ emit('update:openKeys', next);
65
+ }
66
+ </script>
67
+
68
+ <template>
69
+ <nav
70
+ class="gcsa-menu gcsa-ui-surface"
71
+ :class="[modeClass, collapsedClass]"
72
+ role="menu"
73
+ :aria-orientation="ariaOrientation"
74
+ >
75
+ <GcsaMenuNodes
76
+ :items="items"
77
+ :mode="mode"
78
+ :selected-key="innerSelectedKey"
79
+ :open-keys="innerOpenKeys"
80
+ :collapsed="collapsed"
81
+ :depth="0"
82
+ @select="onSelect"
83
+ @toggle="onToggle"
84
+ />
85
+ </nav>
86
+ </template>