@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,226 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue';
3
+ import { Collapsible } from '@ark-ui/vue/collapsible';
4
+ import { Menu } from '@ark-ui/vue/menu';
5
+ import { createGcsaPopupPositioning } from '@gcsa/console-core';
6
+ import type { GcsaMenuItem } from '@gcsa/console-core';
7
+ import type { GcsaMenuNodesProps } from '../types/componentProps';
8
+ import GcsaIcon from './GcsaIcon.vue';
9
+ import GcsaTooltip from './GcsaTooltip.vue';
10
+
11
+ defineOptions({ name: 'GcsaMenuNodes' });
12
+
13
+ const props = defineProps<GcsaMenuNodesProps>();
14
+
15
+ const emit = defineEmits<{
16
+ select: [key: string];
17
+ toggle: [key: string, open: boolean];
18
+ }>();
19
+
20
+ const openKeySet = computed(() => new Set(props.openKeys));
21
+ const showTooltips = computed(() => Boolean(props.collapsed) && props.depth === 0);
22
+ const submenuPositioning = createGcsaPopupPositioning({ placement: 'right-start', gutter: 8 });
23
+
24
+ function isBranch(item: GcsaMenuItem) {
25
+ return Boolean(item.children?.length) && item.type !== 'group' && item.type !== 'divider';
26
+ }
27
+
28
+ function itemClass(item: GcsaMenuItem) {
29
+ return {
30
+ 'gcsa-menu__item': true,
31
+ 'gcsa-menu__item--selected': item.key === props.selectedKey,
32
+ 'gcsa-menu__item--disabled': item.disabled,
33
+ 'gcsa-menu__item--submenu': isBranch(item)
34
+ };
35
+ }
36
+
37
+ function onLeafSelect(item: GcsaMenuItem) {
38
+ if (item.disabled || item.type === 'group' || item.type === 'divider' || item.href) return;
39
+ emit('select', item.key);
40
+ }
41
+
42
+ function flattenDropdownItems(items: GcsaMenuItem[]) {
43
+ return items
44
+ .filter(item => item.type !== 'group' && item.type !== 'divider')
45
+ .map(item => ({
46
+ key: item.key,
47
+ label: item.label,
48
+ disabled: item.disabled
49
+ }));
50
+ }
51
+
52
+ function branchContainsSelection(item: GcsaMenuItem, selectedKey: string) {
53
+ if (item.key === selectedKey) return true;
54
+ return item.children?.some(child => child.key === selectedKey) ?? false;
55
+ }
56
+ </script>
57
+
58
+ <template>
59
+ <ul class="gcsa-menu__list" :class="{ 'gcsa-menu__list--nested': depth > 0 }" role="none">
60
+ <li
61
+ v-for="item in items"
62
+ :key="item.key"
63
+ class="gcsa-menu__node"
64
+ :class="{
65
+ 'gcsa-menu__node--group': item.type === 'group',
66
+ 'gcsa-menu__node--divider': item.type === 'divider'
67
+ }"
68
+ role="none"
69
+ >
70
+ <div v-if="item.type === 'divider'" class="gcsa-menu__divider" role="separator" />
71
+
72
+ <div v-else-if="item.type === 'group'" class="gcsa-menu__group-label">
73
+ {{ item.label }}
74
+ </div>
75
+
76
+ <template v-else-if="isBranch(item)">
77
+ <Menu.Root
78
+ v-if="collapsed && mode !== 'horizontal'"
79
+ :positioning="submenuPositioning"
80
+ @select="details => emit('select', details.value)"
81
+ >
82
+ <GcsaTooltip :content="item.label" placement="right" :gutter="10">
83
+ <template #trigger>
84
+ <Menu.Trigger as-child>
85
+ <button
86
+ type="button"
87
+ class="gcsa-menu__item gcsa-menu__item--submenu gcsa-focus-ring"
88
+ :class="{
89
+ 'gcsa-menu__item--selected': branchContainsSelection(item, selectedKey),
90
+ 'gcsa-menu__item--disabled': item.disabled
91
+ }"
92
+ :disabled="item.disabled"
93
+ >
94
+ <span v-if="item.iconKey" class="gcsa-menu__icon" aria-hidden="true">
95
+ <GcsaIcon :name="item.iconKey" />
96
+ </span>
97
+ <span class="gcsa-menu__label">{{ item.label }}</span>
98
+ </button>
99
+ </Menu.Trigger>
100
+ </template>
101
+ </GcsaTooltip>
102
+ <Menu.Positioner>
103
+ <Menu.Content class="gcsa-dropdown gcsa-ui-surface">
104
+ <Menu.Item
105
+ v-for="child in flattenDropdownItems(item.children!)"
106
+ :key="child.key"
107
+ :value="child.key"
108
+ :disabled="child.disabled"
109
+ class="gcsa-dropdown__item"
110
+ >
111
+ <Menu.ItemText>{{ child.label }}</Menu.ItemText>
112
+ </Menu.Item>
113
+ </Menu.Content>
114
+ </Menu.Positioner>
115
+ </Menu.Root>
116
+
117
+ <Collapsible.Root
118
+ v-else-if="mode !== 'horizontal'"
119
+ :open="openKeySet.has(item.key)"
120
+ class="gcsa-menu__submenu"
121
+ @update:open="open => emit('toggle', item.key, open)"
122
+ >
123
+ <Collapsible.Trigger
124
+ class="gcsa-menu__item gcsa-menu__item--submenu gcsa-focus-ring"
125
+ :class="itemClass(item)"
126
+ :disabled="item.disabled"
127
+ :data-selected="item.key === selectedKey ? '' : undefined"
128
+ >
129
+ <span v-if="item.iconKey" class="gcsa-menu__icon" aria-hidden="true">
130
+ <GcsaIcon :name="item.iconKey" />
131
+ </span>
132
+ <span class="gcsa-menu__label">{{ item.label }}</span>
133
+ <span class="gcsa-menu__arrow" aria-hidden="true">
134
+ <GcsaIcon name="chevronLeft" size="sm" />
135
+ </span>
136
+ </Collapsible.Trigger>
137
+ <Collapsible.Content class="gcsa-menu__submenu-panel">
138
+ <GcsaMenuNodes
139
+ :items="item.children!"
140
+ :mode="mode"
141
+ :selected-key="selectedKey"
142
+ :open-keys="openKeys"
143
+ :collapsed="collapsed"
144
+ :depth="depth + 1"
145
+ @select="key => emit('select', key)"
146
+ @toggle="(key, open) => emit('toggle', key, open)"
147
+ />
148
+ </Collapsible.Content>
149
+ </Collapsible.Root>
150
+
151
+ <div v-else class="gcsa-menu__branch">
152
+ <Menu.Root @select="details => emit('select', details.value)">
153
+ <Menu.Trigger as-child>
154
+ <button
155
+ type="button"
156
+ class="gcsa-menu__item gcsa-menu__item--submenu gcsa-focus-ring"
157
+ :class="{
158
+ 'gcsa-menu__item--selected': branchContainsSelection(item, selectedKey),
159
+ 'gcsa-menu__item--disabled': item.disabled
160
+ }"
161
+ :disabled="item.disabled"
162
+ >
163
+ <span class="gcsa-menu__label">{{ item.label }}</span>
164
+ <span class="gcsa-menu__arrow" aria-hidden="true">
165
+ <GcsaIcon name="chevronDown" size="sm" />
166
+ </span>
167
+ </button>
168
+ </Menu.Trigger>
169
+ <Menu.Positioner>
170
+ <Menu.Content class="gcsa-dropdown gcsa-ui-surface">
171
+ <Menu.Item
172
+ v-for="child in flattenDropdownItems(item.children!)"
173
+ :key="child.key"
174
+ :value="child.key"
175
+ :disabled="child.disabled"
176
+ class="gcsa-dropdown__item"
177
+ >
178
+ <Menu.ItemText>{{ child.label }}</Menu.ItemText>
179
+ </Menu.Item>
180
+ </Menu.Content>
181
+ </Menu.Positioner>
182
+ </Menu.Root>
183
+ </div>
184
+ </template>
185
+
186
+ <GcsaTooltip
187
+ v-else
188
+ :content="item.label"
189
+ placement="right"
190
+ :disabled="!showTooltips"
191
+ :gutter="10"
192
+ >
193
+ <template #trigger>
194
+ <a
195
+ v-if="item.href"
196
+ :href="item.href"
197
+ class="gcsa-menu__item gcsa-focus-ring"
198
+ :class="itemClass(item)"
199
+ role="menuitem"
200
+ :aria-current="item.key === selectedKey ? 'page' : undefined"
201
+ >
202
+ <span v-if="item.iconKey" class="gcsa-menu__icon" aria-hidden="true">
203
+ <GcsaIcon :name="item.iconKey" />
204
+ </span>
205
+ <span class="gcsa-menu__label">{{ item.label }}</span>
206
+ </a>
207
+ <button
208
+ v-else
209
+ type="button"
210
+ class="gcsa-menu__item gcsa-focus-ring"
211
+ :class="itemClass(item)"
212
+ role="menuitem"
213
+ :disabled="item.disabled"
214
+ :aria-current="item.key === selectedKey ? 'page' : undefined"
215
+ @click="onLeafSelect(item)"
216
+ >
217
+ <span v-if="item.iconKey" class="gcsa-menu__icon" aria-hidden="true">
218
+ <GcsaIcon :name="item.iconKey" />
219
+ </span>
220
+ <span class="gcsa-menu__label">{{ item.label }}</span>
221
+ </button>
222
+ </template>
223
+ </GcsaTooltip>
224
+ </li>
225
+ </ul>
226
+ </template>
@@ -0,0 +1,106 @@
1
+ <template>
2
+ <Dialog.Root :open="open" lazy-mount unmount-on-exit @update:open="onOpenChange">
3
+ <Teleport to="body">
4
+ <div class="gcsa-portal-scope gcsa-modal-portal" :data-gcsa-theme="theme">
5
+ <Dialog.Backdrop class="gcsa-modal__backdrop" :style="backdropStyle" />
6
+ <Dialog.Positioner class="gcsa-modal__positioner" :style="positionerStyle">
7
+ <Dialog.Content
8
+ class="gcsa-modal__panel gcsa-ui-surface"
9
+ :class="panelClass"
10
+ :style="panelStyle"
11
+ v-bind="panelAttrs"
12
+ >
13
+ <Dialog.CloseTrigger
14
+ v-if="closable"
15
+ class="gcsa-modal__close"
16
+ :aria-label="messages.close"
17
+ >
18
+ <svg width="14" height="14" viewBox="0 0 14 14" fill="none" aria-hidden="true">
19
+ <path
20
+ d="M2 2l10 10M12 2L2 12"
21
+ stroke="currentColor"
22
+ stroke-width="1.5"
23
+ stroke-linecap="round"
24
+ />
25
+ </svg>
26
+ </Dialog.CloseTrigger>
27
+ <header v-if="title || $slots.title" class="gcsa-modal__header">
28
+ <Dialog.Title as-child>
29
+ <div class="gcsa-modal__title">
30
+ <slot name="title">{{ title }}</slot>
31
+ </div>
32
+ </Dialog.Title>
33
+ </header>
34
+ <div class="gcsa-modal__body" :class="{ 'gcsa-modal__body--titled': title || $slots.title }">
35
+ <slot />
36
+ </div>
37
+ <div v-if="$slots.footer" class="gcsa-modal__footer">
38
+ <slot name="footer" />
39
+ </div>
40
+ </Dialog.Content>
41
+ </Dialog.Positioner>
42
+ </div>
43
+ </Teleport>
44
+ </Dialog.Root>
45
+ </template>
46
+
47
+ <script setup lang="ts">
48
+ import { computed, inject, ref, useAttrs, watch, type ComputedRef } from 'vue';
49
+ import { Dialog } from '@ark-ui/vue/dialog';
50
+ import type { GcsaConsoleTheme } from '@gcsa/console-core';
51
+ import type { GcsaModalProps } from '../types/componentProps';
52
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
53
+ import { useGcsaZIndex } from '../composables/useGcsaZIndex';
54
+ import { GCSA_THEME_KEY } from '../composables/useGcsaTheme';
55
+
56
+ defineOptions({ name: 'GcsaModal', inheritAttrs: false });
57
+
58
+ const attrs = useAttrs();
59
+ const panelAttrs = computed(() => {
60
+ const { class: _class, style: _style, ...rest } = attrs;
61
+ return rest;
62
+ });
63
+ const panelClass = computed(() => attrs.class);
64
+ const panelStyle = computed(() => attrs.style);
65
+
66
+ const messages = useGcsaLocaleMessages();
67
+ const injectedTheme = inject<ComputedRef<GcsaConsoleTheme> | null>(GCSA_THEME_KEY, null);
68
+ const theme = computed(() => injectedTheme?.value ?? 'dark');
69
+ const { nextZIndex } = useGcsaZIndex();
70
+ const backdropZ = ref<number>();
71
+ const positionerZ = ref<number>();
72
+
73
+ const props = withDefaults(
74
+ defineProps<GcsaModalProps>(),
75
+ {
76
+ closable: true
77
+ }
78
+ );
79
+
80
+ const emit = defineEmits<{
81
+ 'update:open': [value: boolean];
82
+ }>();
83
+
84
+ watch(
85
+ () => props.open,
86
+ (open) => {
87
+ if (open) {
88
+ backdropZ.value = nextZIndex();
89
+ positionerZ.value = nextZIndex();
90
+ }
91
+ },
92
+ { immediate: true }
93
+ );
94
+
95
+ const backdropStyle = computed(() =>
96
+ backdropZ.value == null ? undefined : { zIndex: backdropZ.value }
97
+ );
98
+
99
+ const positionerStyle = computed(() =>
100
+ positionerZ.value == null ? undefined : { zIndex: positionerZ.value }
101
+ );
102
+
103
+ function onOpenChange(open: boolean) {
104
+ emit('update:open', open);
105
+ }
106
+ </script>
@@ -0,0 +1,197 @@
1
+ <template>
2
+ <Select.Root
3
+ :collection="collection"
4
+ :model-value="selectedValues"
5
+ multiple
6
+ :close-on-select="false"
7
+ :positioning="positioningOptions"
8
+ lazy-mount
9
+ unmount-on-exit
10
+ @update:model-value="onChange"
11
+ @open-change="(details) => onOpenChange(details.open)"
12
+ >
13
+ <Select.Control class="gcsa-select-control gcsa-multi-select">
14
+ <Select.Trigger
15
+ class="gcsa-select-trigger gcsa-multi-select__trigger gcsa-focus-ring"
16
+ :class="triggerSizeClass"
17
+ :data-invalid="invalid || undefined"
18
+ >
19
+ <span class="gcsa-multi-select__value">
20
+ <span v-if="selectedOptions.length === 0" class="gcsa-multi-select__placeholder">
21
+ {{ placeholder }}
22
+ </span>
23
+ <template v-else>
24
+ <GcsaTag
25
+ v-for="option in visibleTags"
26
+ :key="option.value"
27
+ tone="primary"
28
+ class="gcsa-multi-select__tag"
29
+ >
30
+ <span class="gcsa-multi-select__tag-label">{{ option.label }}</span>
31
+ <button
32
+ type="button"
33
+ class="gcsa-multi-select__tag-remove"
34
+ aria-label="remove"
35
+ @pointerdown.stop.prevent
36
+ @click.stop.prevent="removeTag(option.value)"
37
+ >
38
+ <GcsaIcon name="close" size="sm" />
39
+ </button>
40
+ </GcsaTag>
41
+ <GcsaTag
42
+ v-if="hiddenCount > 0"
43
+ tone="primary"
44
+ class="gcsa-multi-select__tag gcsa-multi-select__tag--rest"
45
+ >
46
+ +{{ hiddenCount }}
47
+ </GcsaTag>
48
+ </template>
49
+ </span>
50
+ <Select.Indicator class="gcsa-select-indicator" aria-hidden="true">
51
+ <GcsaIcon name="chevronDown" class="gcsa-select-indicator__icon" />
52
+ </Select.Indicator>
53
+ </Select.Trigger>
54
+ </Select.Control>
55
+ <GcsaPortal :portalled="portalled">
56
+ <Select.Positioner :style="positionerStyle">
57
+ <Select.Content class="gcsa-select-content gcsa-ui-surface" :style="contentStyle">
58
+ <div v-if="isEmpty" class="gcsa-select-empty" role="status">
59
+ <span class="gcsa-select-empty__text">{{ emptyText }}</span>
60
+ </div>
61
+ <template v-else>
62
+ <Select.List class="gcsa-select-list">
63
+ <Select.ItemGroup
64
+ v-for="[groupLabel, groupItems] in collection.group()"
65
+ :key="groupLabel || 'default'"
66
+ class="gcsa-select-group"
67
+ >
68
+ <Select.ItemGroupLabel v-if="groupLabel" class="gcsa-select-group__label">
69
+ {{ groupLabel }}
70
+ </Select.ItemGroupLabel>
71
+ <Select.Item
72
+ v-for="opt in groupItems"
73
+ :key="opt.value"
74
+ :item="opt"
75
+ class="gcsa-select-item"
76
+ >
77
+ <Select.ItemText class="gcsa-select-item__text">{{ opt.label }}</Select.ItemText>
78
+ <Select.ItemIndicator class="gcsa-select-item__check">
79
+ <GcsaIcon name="check" size="sm" class="gcsa-select-item__check-icon" />
80
+ </Select.ItemIndicator>
81
+ </Select.Item>
82
+ </Select.ItemGroup>
83
+ </Select.List>
84
+ <div v-if="showListHint" class="gcsa-select-hint">
85
+ {{ listHintText }}
86
+ </div>
87
+ </template>
88
+ </Select.Content>
89
+ </Select.Positioner>
90
+ </GcsaPortal>
91
+ <Select.HiddenSelect />
92
+ </Select.Root>
93
+ </template>
94
+
95
+ <script setup lang="ts">
96
+ import { computed } from 'vue';
97
+ import { createListCollection } from '@ark-ui/vue/collection';
98
+ import { Select } from '@ark-ui/vue/select';
99
+ import type { GcsaSelectOption, GcsaSelectSize } from '@gcsa/console-core';
100
+ import type { GcsaMultiSelectProps } from '../types/componentProps';
101
+ import { createGcsaPopupPositioning, formatGcsaLocaleMessage, gcsaControlSizeClass } from '@gcsa/console-core';
102
+ import GcsaIcon from './GcsaIcon.vue';
103
+ import GcsaTag from './GcsaTag.vue';
104
+ import GcsaPortal from './GcsaPortal.vue';
105
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
106
+ import { useGcsaPopupZIndex } from '../composables/useGcsaPopupZIndex';
107
+ import { useGcsaComponentSize } from '../composables/useGcsaComponentSize';
108
+
109
+ defineOptions({ name: 'GcsaMultiSelect' });
110
+
111
+ const props = withDefaults(
112
+ defineProps<GcsaMultiSelectProps>(),
113
+ {
114
+ options: () => [],
115
+ listMaxHeight: 280,
116
+ listHintThreshold: 16,
117
+ maxTagCount: 2,
118
+ portalled: true,
119
+ sameWidth: true,
120
+ placement: 'bottom-start'
121
+ }
122
+ );
123
+
124
+ const resolvedSize = useGcsaComponentSize(() => props.size);
125
+ const triggerSizeClass = computed(() => gcsaControlSizeClass('gcsa-select-trigger', resolvedSize.value));
126
+
127
+ const emit = defineEmits<{
128
+ 'update:modelValue': [value: string[]];
129
+ }>();
130
+
131
+ const messages = useGcsaLocaleMessages();
132
+ const { zIndex: popupZIndex, onOpenChange } = useGcsaPopupZIndex();
133
+
134
+ const selectedValues = computed(() => props.modelValue ?? []);
135
+ const hasGroups = computed(() => props.options.some(item => item.group));
136
+
137
+ const collection = computed(() =>
138
+ createListCollection({
139
+ items: props.options,
140
+ itemToValue: item => item.value,
141
+ itemToString: item => item.label,
142
+ isItemDisabled: item => item.disabled ?? false,
143
+ ...(hasGroups.value
144
+ ? {
145
+ groupBy: (item: GcsaSelectOption) => item.group ?? '',
146
+ groupSort: props.groupOrder ?? ('asc' as const)
147
+ }
148
+ : {})
149
+ })
150
+ );
151
+
152
+ const selectedOptions = computed(() =>
153
+ selectedValues.value.map(
154
+ item => props.options.find(opt => opt.value === item) || { label: item, value: item }
155
+ )
156
+ );
157
+
158
+ const visibleTags = computed(() => selectedOptions.value.slice(0, props.maxTagCount));
159
+ const hiddenCount = computed(() =>
160
+ Math.max(0, selectedOptions.value.length - visibleTags.value.length)
161
+ );
162
+
163
+ const positioningOptions = computed(() =>
164
+ createGcsaPopupPositioning({
165
+ placement: props.placement,
166
+ sameWidth: props.sameWidth,
167
+ gutter: 4
168
+ })
169
+ );
170
+
171
+ const showListHint = computed(() => props.options.length >= props.listHintThreshold);
172
+ const listHintText = computed(() =>
173
+ formatGcsaLocaleMessage(messages.value.selectListHint, { count: props.options.length })
174
+ );
175
+ const isEmpty = computed(() => props.options.length === 0);
176
+ const emptyText = computed(() => messages.value.emptyDefault);
177
+
178
+ const contentStyle = computed(() => ({
179
+ '--gcsa-select-list-max-height': `${props.listMaxHeight}px`,
180
+ ...(popupZIndex.value == null ? {} : { zIndex: popupZIndex.value })
181
+ }));
182
+
183
+ const positionerStyle = computed(() =>
184
+ popupZIndex.value == null ? undefined : { zIndex: popupZIndex.value }
185
+ );
186
+
187
+ function onChange(value: string[]) {
188
+ emit('update:modelValue', value ?? []);
189
+ }
190
+
191
+ function removeTag(optionValue: string) {
192
+ emit(
193
+ 'update:modelValue',
194
+ selectedValues.value.filter(item => item !== optionValue)
195
+ );
196
+ }
197
+ </script>
@@ -0,0 +1,147 @@
1
+ <template>
2
+ <div
3
+ class="gcsa-pagination"
4
+ :class="alignClass"
5
+ role="navigation"
6
+ :aria-label="messages.paginationLabel"
7
+ >
8
+ <template v-for="(part, index) in layoutParts" :key="`${part}-${index}`">
9
+ <div v-if="part === 'total'" class="gcsa-pagination__total">
10
+ {{ totalText }}
11
+ </div>
12
+ <div v-else-if="part === 'sizes'" class="gcsa-pagination__size">
13
+ <span>{{ resolvedPageSizeLabel }}</span>
14
+ <GcsaSelect
15
+ class="gcsa-pagination__size-select"
16
+ :model-value="String(pageSize)"
17
+ :options="pageSizeSelectOptions"
18
+ :aria-label="resolvedPageSizeAria"
19
+ @update:model-value="setPageSize(Number($event))"
20
+ />
21
+ </div>
22
+ <button
23
+ v-else-if="part === 'prev'"
24
+ type="button"
25
+ class="gcsa-pagination__btn gcsa-pagination__btn--nav gcsa-focus-ring"
26
+ :disabled="page <= 1"
27
+ @click="setPage(page - 1)"
28
+ >
29
+ {{ messages.paginationPrev }}
30
+ </button>
31
+ <div v-else-if="part === 'pager'" class="gcsa-pagination__pager">
32
+ <template v-for="item in pages" :key="item">
33
+ <span v-if="typeof item !== 'number'" class="gcsa-pagination__ellipsis" aria-hidden="true">…</span>
34
+ <button
35
+ v-else
36
+ type="button"
37
+ class="gcsa-pagination__btn gcsa-focus-ring"
38
+ :class="{ 'gcsa-pagination__btn--active': item === page }"
39
+ @click="setPage(item)"
40
+ >
41
+ {{ item }}
42
+ </button>
43
+ </template>
44
+ </div>
45
+ <button
46
+ v-else-if="part === 'next'"
47
+ type="button"
48
+ class="gcsa-pagination__btn gcsa-pagination__btn--nav gcsa-focus-ring"
49
+ :disabled="page >= totalPages"
50
+ @click="setPage(page + 1)"
51
+ >
52
+ {{ messages.paginationNext }}
53
+ </button>
54
+ <div v-else-if="part === 'jumper'" class="gcsa-pagination__jumper">
55
+ <span>{{ resolvedJumperLabel }}</span>
56
+ <GcsaInputNumber
57
+ class="gcsa-pagination__jumper-input"
58
+ :model-value="page"
59
+ :min="1"
60
+ :max="totalPages"
61
+ :precision="0"
62
+ controls="none"
63
+ @update:model-value="onJumpPage"
64
+ />
65
+ </div>
66
+ </template>
67
+ </div>
68
+ </template>
69
+
70
+ <script setup lang="ts">
71
+ import { computed } from 'vue';
72
+ import {
73
+ formatGcsaLocaleMessage,
74
+ getGcsaPaginationAlignClass,
75
+ getGcsaPaginationItems,
76
+ resolveGcsaPaginationLayout
77
+ } from '@gcsa/console-core';
78
+ import type { GcsaPaginationProps } from '../types/componentProps';
79
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
80
+ import GcsaSelect from './GcsaSelect.vue';
81
+ import GcsaInputNumber from './GcsaInputNumber.vue';
82
+
83
+ defineOptions({ name: 'GcsaPagination' });
84
+
85
+ const messages = useGcsaLocaleMessages();
86
+
87
+ const props = withDefaults(
88
+ defineProps<GcsaPaginationProps>(),
89
+ {
90
+ pageSize: 10,
91
+ pageSizeOptions: () => [10, 20, 50, 100],
92
+ showPageSize: false,
93
+ showJumper: false,
94
+ align: 'right'
95
+ }
96
+ );
97
+
98
+ const resolvedPageSizeLabel = computed(() => props.pageSizeLabel ?? messages.value.paginationPageSize);
99
+ const resolvedJumperLabel = computed(() => props.jumperLabel ?? messages.value.paginationJumper);
100
+ const resolvedPageSizeAria = computed(() => messages.value.paginationPageSizeAria);
101
+
102
+ const emit = defineEmits<{
103
+ 'update:page': [page: number];
104
+ 'update:pageSize': [pageSize: number];
105
+ }>();
106
+
107
+ const totalPages = computed(() => Math.max(1, Math.ceil(props.total / props.pageSize)));
108
+
109
+ const layoutParts = computed(() =>
110
+ resolveGcsaPaginationLayout({
111
+ layout: props.layout,
112
+ showPageSize: props.showPageSize,
113
+ showJumper: props.showJumper
114
+ })
115
+ );
116
+
117
+ const alignClass = computed(() => getGcsaPaginationAlignClass(props.align));
118
+
119
+ const totalText = computed(() => formatGcsaLocaleMessage(messages.value.dataTableTotal, { count: props.total }));
120
+
121
+ const pages = computed(() => {
122
+ return getGcsaPaginationItems(props.page, totalPages.value);
123
+ });
124
+
125
+ function onJumpPage(value: number | null) {
126
+ if (value == null || Number.isNaN(value)) return;
127
+ setPage(value);
128
+ }
129
+
130
+ const pageSizeSelectOptions = computed(() =>
131
+ props.pageSizeOptions.map(size => ({
132
+ value: String(size),
133
+ label: `${size} / 页`
134
+ }))
135
+ );
136
+
137
+ function setPage(next: number) {
138
+ const clamped = Math.min(Math.max(1, next), totalPages.value);
139
+ emit('update:page', clamped);
140
+ }
141
+
142
+ function setPageSize(next: number) {
143
+ if (!props.pageSizeOptions.includes(next) || next === props.pageSize) return;
144
+ emit('update:pageSize', next);
145
+ emit('update:page', 1);
146
+ }
147
+ </script>