@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,55 @@
1
+ <template>
2
+ <Tabs.Root
3
+ class="gcsa-tabs gcsa-ui-surface"
4
+ :class="variantClass"
5
+ :model-value="value"
6
+ @update:model-value="onChange"
7
+ >
8
+ <Tabs.List class="gcsa-tabs__list">
9
+ <Tabs.Trigger
10
+ v-for="tab in items"
11
+ :key="tab.key"
12
+ :value="tab.key"
13
+ :disabled="tab.disabled"
14
+ class="gcsa-tabs__trigger gcsa-focus-ring"
15
+ >
16
+ {{ tab.label }}
17
+ </Tabs.Trigger>
18
+ <Tabs.Indicator v-if="variant === 'line'" class="gcsa-tabs__indicator" />
19
+ </Tabs.List>
20
+ <Tabs.Content
21
+ v-for="tab in items"
22
+ :key="tab.key"
23
+ :value="tab.key"
24
+ class="gcsa-tabs__content"
25
+ >
26
+ <slot :name="tab.key" />
27
+ </Tabs.Content>
28
+ </Tabs.Root>
29
+ </template>
30
+
31
+ <script setup lang="ts">
32
+ import { computed } from 'vue';
33
+ import { Tabs } from '@ark-ui/vue/tabs';
34
+
35
+ import type { GcsaTabsProps } from '../types/componentProps';
36
+
37
+ defineOptions({ name: 'GcsaTabs' });
38
+
39
+ const props = withDefaults(
40
+ defineProps<GcsaTabsProps>(),
41
+ {
42
+ variant: 'line'
43
+ }
44
+ );
45
+
46
+ const emit = defineEmits<{
47
+ 'update:value': [value: string];
48
+ }>();
49
+
50
+ const variantClass = computed(() => `gcsa-tabs--${props.variant}`);
51
+
52
+ function onChange(value: string) {
53
+ emit('update:value', value);
54
+ }
55
+ </script>
@@ -0,0 +1,13 @@
1
+ <template>
2
+ <span class="gcsa-tag" :class="tone ? `gcsa-tag--${tone}` : undefined">
3
+ <slot />
4
+ </span>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import type { GcsaTagProps } from '../types/componentProps';
9
+
10
+ defineOptions({ name: 'GcsaTag' });
11
+
12
+ defineProps<GcsaTagProps>();
13
+ </script>
@@ -0,0 +1,77 @@
1
+ <template>
2
+ <div
3
+ class="gcsa-text-control gcsa-text-control--textarea"
4
+ :class="[
5
+ sizeClass,
6
+ { 'gcsa-text-control--count': showCounter }
7
+ ]"
8
+ >
9
+ <textarea
10
+ class="gcsa-textarea"
11
+ :value="modelValue"
12
+ :placeholder="placeholder"
13
+ :rows="rows"
14
+ :disabled="disabled"
15
+ :maxlength="maxLength"
16
+ :data-invalid="invalid || undefined"
17
+ :aria-describedby="showCounter ? countId : undefined"
18
+ @input="onInput"
19
+ @blur="onBlur"
20
+ />
21
+ <span
22
+ v-if="showCounter"
23
+ :id="countId"
24
+ class="gcsa-text-control__count"
25
+ :class="{ 'gcsa-text-control__count--near': isNearLimit }"
26
+ aria-live="polite"
27
+ >
28
+ {{ countText }}
29
+ </span>
30
+ </div>
31
+ </template>
32
+
33
+ <script setup lang="ts">
34
+ import { computed, useId } from 'vue';
35
+ import { gcsaControlSizeClass } from '@gcsa/console-core';
36
+ import type { GcsaTextareaProps } from '../types/componentProps';
37
+ import { useGcsaTextCount } from '../composables/useGcsaTextCount';
38
+ import { useGcsaComponentSize } from '../composables/useGcsaComponentSize';
39
+
40
+ defineOptions({ name: 'GcsaTextarea' });
41
+
42
+ const props = withDefaults(defineProps<GcsaTextareaProps>(), {
43
+ modelValue: '',
44
+ placeholder: '',
45
+ rows: 4,
46
+ disabled: false,
47
+ invalid: false,
48
+ maxLength: undefined,
49
+ showCount: undefined,
50
+ countFormatter: undefined
51
+ });
52
+
53
+ const emit = defineEmits<{
54
+ 'update:modelValue': [value: string];
55
+ blur: [event: FocusEvent];
56
+ }>();
57
+
58
+ const resolvedSize = useGcsaComponentSize(() => props.size);
59
+ const sizeClass = computed(() => gcsaControlSizeClass('gcsa-text-control', resolvedSize.value));
60
+ const countId = useId();
61
+
62
+ const { showCounter, countText, isNearLimit } = useGcsaTextCount({
63
+ modelValue: () => props.modelValue,
64
+ maxLength: () => props.maxLength,
65
+ showCount: () => props.showCount,
66
+ formatter: props.countFormatter
67
+ });
68
+
69
+ function onInput(event: Event) {
70
+ emit('update:modelValue', (event.target as HTMLTextAreaElement).value);
71
+ }
72
+
73
+ function onBlur(event: FocusEvent) {
74
+ emit('blur', event);
75
+ props.onBlur?.();
76
+ }
77
+ </script>
@@ -0,0 +1,306 @@
1
+ <template>
2
+ <div ref="root" class="gcsa-time-picker__root">
3
+ <div
4
+ class="gcsa-time-picker__control gcsa-focus-ring"
5
+ :data-invalid="invalid || undefined"
6
+ @click="openPicker"
7
+ >
8
+ <input
9
+ ref="inputRef"
10
+ class="gcsa-time-picker__input"
11
+ type="text"
12
+ inputmode="numeric"
13
+ readonly
14
+ :value="modelValue"
15
+ :placeholder="resolvedPlaceholder"
16
+ :disabled="disabled"
17
+ :aria-invalid="invalid || undefined"
18
+ aria-haspopup="dialog"
19
+ :aria-expanded="open"
20
+ autocomplete="off"
21
+ @focus="openPicker"
22
+ @keydown="onKeydown"
23
+ />
24
+ <button
25
+ type="button"
26
+ class="gcsa-time-picker__trigger gcsa-focus-ring"
27
+ :disabled="disabled"
28
+ :aria-label="messages.timePickerOpen"
29
+ @mousedown.prevent
30
+ @click.stop="openPicker"
31
+ >
32
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
33
+ <circle cx="8" cy="8" r="5.75" stroke="currentColor" stroke-width="1.2" />
34
+ <path d="M8 4.75V8l2.25 1.5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" />
35
+ </svg>
36
+ </button>
37
+ </div>
38
+ <button
39
+ v-if="allowClear && modelValue && !disabled"
40
+ type="button"
41
+ class="gcsa-time-picker__clear"
42
+ :aria-label="messages.timePickerClear"
43
+ @mousedown.prevent
44
+ @click.stop="clearValue"
45
+ >
46
+ ×
47
+ </button>
48
+ <Transition name="gcsa-time-picker-panel">
49
+ <div
50
+ v-if="open && !disabled"
51
+ ref="panelRef"
52
+ class="gcsa-time-picker__panel gcsa-ui-surface"
53
+ :class="{ 'gcsa-time-picker__panel--align-end': alignPanelEnd }"
54
+ role="dialog"
55
+ :aria-label="messages.timePickerSelect"
56
+ >
57
+ <div class="gcsa-time-picker__spinner">
58
+ <div
59
+ ref="hourColumn"
60
+ class="gcsa-time-picker__column"
61
+ role="listbox"
62
+ :aria-label="messages.timeHour"
63
+ @scroll="onColumnScroll('hour', $event)"
64
+ >
65
+ <button
66
+ v-for="hour in hours"
67
+ :key="hour"
68
+ type="button"
69
+ class="gcsa-time-picker__cell"
70
+ :class="{ 'gcsa-time-picker__cell--selected': hour === draftHour }"
71
+ role="option"
72
+ :aria-selected="hour === draftHour"
73
+ @mousedown.prevent
74
+ @click="selectHour(hour)"
75
+ >
76
+ {{ hour }}
77
+ </button>
78
+ </div>
79
+ <div
80
+ ref="minuteColumn"
81
+ class="gcsa-time-picker__column"
82
+ role="listbox"
83
+ :aria-label="messages.timeMinute"
84
+ @scroll="onColumnScroll('minute', $event)"
85
+ >
86
+ <button
87
+ v-for="minute in minutes"
88
+ :key="minute"
89
+ type="button"
90
+ class="gcsa-time-picker__cell"
91
+ :class="{ 'gcsa-time-picker__cell--selected': minute === draftMinute }"
92
+ role="option"
93
+ :aria-selected="minute === draftMinute"
94
+ @mousedown.prevent
95
+ @click="selectMinute(minute)"
96
+ >
97
+ {{ minute }}
98
+ </button>
99
+ </div>
100
+ <div class="gcsa-time-picker__selection" aria-hidden="true" />
101
+ </div>
102
+ <div class="gcsa-time-picker__footer">
103
+ <button
104
+ type="button"
105
+ class="gcsa-time-picker__link"
106
+ :disabled="!nowOption"
107
+ @mousedown.prevent
108
+ @click="selectNow"
109
+ >
110
+ 此刻
111
+ </button>
112
+ <div class="gcsa-time-picker__actions">
113
+ <button type="button" class="gcsa-time-picker__link" @mousedown.prevent @click="cancel">取消</button>
114
+ <button type="button" class="gcsa-time-picker__confirm" @mousedown.prevent @click="confirm">确定</button>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ </Transition>
119
+ </div>
120
+ </template>
121
+
122
+ <script setup lang="ts">
123
+ import {
124
+ gcsaBuildTimeOptions,
125
+ gcsaCurrentTimeOption,
126
+ gcsaResolveTimeDraft,
127
+ gcsaTimePickerHours,
128
+ gcsaTimePickerMinutes,
129
+ gcsaTimePickerScrollIndex,
130
+ gcsaTimePickerScrollTop
131
+ } from '@gcsa/console-core';
132
+ import { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue';
133
+ import type { GcsaTimePickerProps } from '../types/componentProps';
134
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
135
+
136
+ defineOptions({ name: 'GcsaTimePicker' });
137
+
138
+ const messages = useGcsaLocaleMessages();
139
+
140
+ const props = withDefaults(
141
+ defineProps<GcsaTimePickerProps>(),
142
+ {
143
+ modelValue: '',
144
+ step: 60,
145
+ allowClear: true
146
+ }
147
+ );
148
+
149
+ const resolvedPlaceholder = computed(() => props.placeholder ?? messages.value.timePickerPlaceholder);
150
+
151
+ const emit = defineEmits<{ 'update:modelValue': [value: string] }>();
152
+
153
+ const root = ref<HTMLElement | null>(null);
154
+ const panelRef = ref<HTMLElement | null>(null);
155
+ const inputRef = ref<HTMLInputElement | null>(null);
156
+ const hourColumn = ref<HTMLElement | null>(null);
157
+ const minuteColumn = ref<HTMLElement | null>(null);
158
+ const open = ref(false);
159
+ const alignPanelEnd = ref(false);
160
+ const draftHour = ref('00');
161
+ const draftMinute = ref('00');
162
+
163
+ let hourTimer: number | undefined;
164
+ let minuteTimer: number | undefined;
165
+
166
+ const options = computed(() =>
167
+ gcsaBuildTimeOptions({
168
+ min: props.min,
169
+ max: props.max,
170
+ step: props.step
171
+ })
172
+ );
173
+ const hours = computed(() => gcsaTimePickerHours(options.value));
174
+ const minutes = computed(() => gcsaTimePickerMinutes(options.value, draftHour.value));
175
+ const draftValue = computed(() => `${draftHour.value}:${draftMinute.value}`);
176
+ const nowOption = computed(() => gcsaCurrentTimeOption(options.value));
177
+
178
+ function applyDraft(value: string) {
179
+ [draftHour.value, draftMinute.value] = value.split(':');
180
+ }
181
+
182
+ function syncDraft(value = props.modelValue ?? '') {
183
+ applyDraft(gcsaResolveTimeDraft(value, options.value));
184
+ }
185
+
186
+ function scrollColumns() {
187
+ nextTick(() => {
188
+ if (hourColumn.value) {
189
+ hourColumn.value.scrollTop = gcsaTimePickerScrollTop(hours.value.indexOf(draftHour.value));
190
+ }
191
+ if (minuteColumn.value) {
192
+ minuteColumn.value.scrollTop = gcsaTimePickerScrollTop(minutes.value.indexOf(draftMinute.value));
193
+ }
194
+ });
195
+ }
196
+
197
+ function syncPanelAlignment() {
198
+ nextTick(() => {
199
+ if (!root.value) return;
200
+ const rect = root.value.getBoundingClientRect();
201
+ const panelWidth = panelRef.value?.offsetWidth ?? 220;
202
+ const padding = 8;
203
+ alignPanelEnd.value = rect.left + panelWidth > window.innerWidth - padding;
204
+ });
205
+ }
206
+
207
+ function openPicker() {
208
+ if (props.disabled || open.value) return;
209
+ syncDraft();
210
+ open.value = true;
211
+ syncPanelAlignment();
212
+ scrollColumns();
213
+ }
214
+
215
+ function selectHour(hour: string) {
216
+ draftHour.value = hour;
217
+ if (!minutes.value.includes(draftMinute.value)) {
218
+ draftMinute.value = minutes.value[0] ?? '00';
219
+ }
220
+ scrollColumns();
221
+ }
222
+
223
+ function selectMinute(minute: string) {
224
+ draftMinute.value = minute;
225
+ scrollColumns();
226
+ }
227
+
228
+ function onColumnScroll(type: 'hour' | 'minute', event: Event) {
229
+ const element = event.currentTarget as HTMLElement;
230
+ const timer = type === 'hour' ? hourTimer : minuteTimer;
231
+ window.clearTimeout(timer);
232
+ const nextTimer = window.setTimeout(() => {
233
+ const values = type === 'hour' ? hours.value : minutes.value;
234
+ const index = gcsaTimePickerScrollIndex(element.scrollTop, values.length);
235
+ const value = values[index];
236
+ if (type === 'hour' && value) selectHour(value);
237
+ if (type === 'minute' && value) draftMinute.value = value;
238
+ }, 80);
239
+ if (type === 'hour') hourTimer = nextTimer;
240
+ else minuteTimer = nextTimer;
241
+ }
242
+
243
+ function onKeydown(event: KeyboardEvent) {
244
+ if (event.key === 'Escape') {
245
+ cancel();
246
+ return;
247
+ }
248
+ if (event.key === 'Enter') {
249
+ event.preventDefault();
250
+ if (open.value) confirm();
251
+ else openPicker();
252
+ return;
253
+ }
254
+ if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
255
+ event.preventDefault();
256
+ openPicker();
257
+ const index = options.value.indexOf(draftValue.value);
258
+ const delta = event.key === 'ArrowDown' ? 1 : -1;
259
+ syncDraft(options.value[Math.max(0, Math.min(options.value.length - 1, index + delta))]);
260
+ scrollColumns();
261
+ }
262
+ }
263
+
264
+ function confirm() {
265
+ emit('update:modelValue', draftValue.value);
266
+ open.value = false;
267
+ }
268
+
269
+ function cancel() {
270
+ open.value = false;
271
+ syncDraft();
272
+ }
273
+
274
+ function selectNow() {
275
+ if (!nowOption.value) return;
276
+ syncDraft(nowOption.value);
277
+ scrollColumns();
278
+ }
279
+
280
+ function clearValue() {
281
+ emit('update:modelValue', '');
282
+ open.value = false;
283
+ }
284
+
285
+ function onDocumentPointerDown(event: PointerEvent) {
286
+ if (!root.value?.contains(event.target as Node)) cancel();
287
+ }
288
+
289
+ watch(
290
+ () => props.modelValue,
291
+ () => {
292
+ if (!open.value) syncDraft();
293
+ }
294
+ );
295
+
296
+ watch(options, () => {
297
+ if (!open.value) syncDraft();
298
+ });
299
+
300
+ onMounted(() => document.addEventListener('pointerdown', onDocumentPointerDown));
301
+ onBeforeUnmount(() => {
302
+ document.removeEventListener('pointerdown', onDocumentPointerDown);
303
+ window.clearTimeout(hourTimer);
304
+ window.clearTimeout(minuteTimer);
305
+ });
306
+ </script>
@@ -0,0 +1,17 @@
1
+ <template>
2
+ <ol class="gcsa-timeline" :aria-label="messages.timelineLabel">
3
+ <li v-for="item in items" :key="item.key" class="gcsa-timeline__item">
4
+ <span class="gcsa-timeline__rail" aria-hidden="true"><span class="gcsa-timeline__dot" :class="`gcsa-timeline__dot--${item.tone ?? 'primary'}`" /></span>
5
+ <div class="gcsa-timeline__body"><div class="gcsa-timeline__meta"><strong v-if="item.label">{{ item.label }}</strong><time v-if="item.time">{{ item.time }}</time></div><p>{{ item.content }}</p></div>
6
+ </li>
7
+ </ol>
8
+ </template>
9
+
10
+ <script setup lang="ts">
11
+ import type { GcsaTimelineProps } from '../types/componentProps';
12
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
13
+
14
+ defineOptions({ name: 'GcsaTimeline' });
15
+ const messages = useGcsaLocaleMessages();
16
+ defineProps<GcsaTimelineProps>();
17
+ </script>
@@ -0,0 +1,45 @@
1
+ <template>
2
+ <TransitionGroup
3
+ name="gcsa-toast"
4
+ tag="div"
5
+ class="gcsa-toast-region"
6
+ :style="regionStyle"
7
+ aria-live="polite"
8
+ >
9
+ <div
10
+ v-for="toast in toasts"
11
+ :key="toast.id"
12
+ class="gcsa-toast"
13
+ :class="`gcsa-toast--${toast.type}`"
14
+ role="status"
15
+ >
16
+ <span class="gcsa-toast__icon" aria-hidden="true">
17
+ <svg v-if="toast.type === 'success'" width="14" height="14" viewBox="0 0 24 24" fill="none">
18
+ <path d="M20 6 9 17l-5-5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
19
+ </svg>
20
+ <svg v-else-if="toast.type === 'error'" width="14" height="14" viewBox="0 0 24 24" fill="none">
21
+ <path d="M15 9l-6 6M9 9l6 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
22
+ <circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1.75" />
23
+ </svg>
24
+ <svg v-else width="14" height="14" viewBox="0 0 24 24" fill="none">
25
+ <circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1.75" />
26
+ <path d="M12 10v6M12 8h.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
27
+ </svg>
28
+ </span>
29
+ <span class="gcsa-toast__content">{{ toast.message }}</span>
30
+ </div>
31
+ </TransitionGroup>
32
+ </template>
33
+
34
+ <script setup lang="ts">
35
+ import { computed } from 'vue';
36
+ import type { GcsaToastStackProps } from '../types/componentProps';
37
+
38
+ defineOptions({ name: 'GcsaToastStack' });
39
+
40
+ const props = defineProps<GcsaToastStackProps>();
41
+
42
+ const regionStyle = computed(() =>
43
+ props.zIndex == null ? undefined : { zIndex: props.zIndex }
44
+ );
45
+ </script>
@@ -0,0 +1,79 @@
1
+ <template>
2
+ <Tooltip.Root
3
+ :disabled="disabled || !hasContent"
4
+ :open-delay="openDelay"
5
+ :close-delay="closeDelay"
6
+ :positioning="positioningOptions"
7
+ @open-change="(details) => onPopupOpenChange(details.open)"
8
+ >
9
+ <Tooltip.Trigger v-if="hasTriggerSlot" as-child>
10
+ <slot name="trigger" />
11
+ </Tooltip.Trigger>
12
+ <Tooltip.Trigger v-else>
13
+ <GcsaButton variant="secondary">{{ resolvedTriggerLabel }}</GcsaButton>
14
+ </Tooltip.Trigger>
15
+ <GcsaPortal :portalled="portalled">
16
+ <Tooltip.Positioner :style="positionerStyle">
17
+ <Tooltip.Content class="gcsa-tooltip gcsa-ui-surface" :style="contentStyle">
18
+ <span class="gcsa-tooltip__text">
19
+ <slot>{{ content }}</slot>
20
+ </span>
21
+ <Tooltip.Arrow v-if="arrow" class="gcsa-tooltip__arrow">
22
+ <Tooltip.ArrowTip class="gcsa-tooltip__arrow-tip" />
23
+ </Tooltip.Arrow>
24
+ </Tooltip.Content>
25
+ </Tooltip.Positioner>
26
+ </GcsaPortal>
27
+ </Tooltip.Root>
28
+ </template>
29
+
30
+ <script setup lang="ts">
31
+ import { computed, useSlots } from 'vue';
32
+ import { Tooltip } from '@ark-ui/vue/tooltip';
33
+ import { createGcsaPopupPositioning } from '@gcsa/console-core';
34
+ import type { GcsaTooltipProps } from '../types/componentProps';
35
+ import GcsaButton from './GcsaButton.vue';
36
+ import GcsaPortal from './GcsaPortal.vue';
37
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
38
+ import { useGcsaPopupZIndex } from '../composables/useGcsaPopupZIndex';
39
+
40
+ defineOptions({ name: 'GcsaTooltip' });
41
+
42
+ const props = withDefaults(
43
+ defineProps<GcsaTooltipProps>(),
44
+ {
45
+ content: '',
46
+ placement: 'top',
47
+ disabled: false,
48
+ openDelay: 200,
49
+ closeDelay: 100,
50
+ arrow: true,
51
+ portalled: true,
52
+ gutter: 8
53
+ }
54
+ );
55
+
56
+ const messages = useGcsaLocaleMessages();
57
+ const { zIndex: popupZIndex, onOpenChange: onPopupOpenChange } = useGcsaPopupZIndex();
58
+ const resolvedTriggerLabel = computed(() => props.triggerLabel ?? messages.value.hoverToView);
59
+
60
+ const positionerStyle = computed(() =>
61
+ popupZIndex.value == null ? undefined : { zIndex: popupZIndex.value }
62
+ );
63
+
64
+ const contentStyle = computed(() =>
65
+ popupZIndex.value == null ? undefined : { zIndex: popupZIndex.value }
66
+ );
67
+
68
+ const slots: ReturnType<typeof useSlots> = useSlots();
69
+
70
+ const hasTriggerSlot = computed<boolean>(() => Boolean(slots.trigger));
71
+ const hasContent = computed<boolean>(() => Boolean(props.content || slots.default));
72
+
73
+ const positioningOptions = computed(() =>
74
+ createGcsaPopupPositioning({
75
+ placement: props.placement,
76
+ gutter: props.gutter
77
+ })
78
+ );
79
+ </script>
@@ -0,0 +1,50 @@
1
+ <template>
2
+ <div class="gcsa-transfer" :class="{ 'gcsa-transfer--disabled': disabled }">
3
+ <section class="gcsa-transfer__panel" :aria-label="resolvedSourceTitle">
4
+ <header class="gcsa-transfer__header"><span>{{ resolvedSourceTitle }}</span><span>{{ availableItems.length }}</span></header>
5
+ <div class="gcsa-transfer__search"><GcsaInput v-model="sourceQuery" :placeholder="messages.searchPlaceholder" :disabled="disabled" /></div>
6
+ <div class="gcsa-transfer__list" role="listbox" aria-multiselectable="true">
7
+ <button v-for="item in availableItems" :key="item.value" type="button" class="gcsa-transfer__item gcsa-focus-ring" :class="{ 'gcsa-transfer__item--selected': sourceSelected.includes(item.value) }" :disabled="disabled || item.disabled" role="option" :aria-selected="sourceSelected.includes(item.value)" @click="toggleSelected(item.value, 'source')"><span class="gcsa-transfer__check" aria-hidden="true">{{ sourceSelected.includes(item.value) ? '✓' : '' }}</span><span>{{ item.label }}</span></button>
8
+ <span v-if="!availableItems.length" class="gcsa-transfer__empty">{{ messages.noOptions }}</span>
9
+ </div>
10
+ </section>
11
+ <div class="gcsa-transfer__actions"><button type="button" class="gcsa-transfer__action gcsa-focus-ring" :disabled="disabled || !sourceSelected.length" :aria-label="messages.transferMoveRight" @click="moveRight">›</button><button type="button" class="gcsa-transfer__action gcsa-focus-ring" :disabled="disabled || !targetSelected.length" :aria-label="messages.transferMoveLeft" @click="moveLeft">‹</button></div>
12
+ <section class="gcsa-transfer__panel" :aria-label="resolvedTargetTitle">
13
+ <header class="gcsa-transfer__header"><span>{{ resolvedTargetTitle }}</span><span>{{ targetItems.length }}</span></header>
14
+ <div class="gcsa-transfer__search"><GcsaInput v-model="targetQuery" :placeholder="messages.searchPlaceholder" :disabled="disabled" /></div>
15
+ <div class="gcsa-transfer__list" role="listbox" aria-multiselectable="true">
16
+ <button v-for="item in filteredTargetItems" :key="item.value" type="button" class="gcsa-transfer__item gcsa-focus-ring" :class="{ 'gcsa-transfer__item--selected': targetSelected.includes(item.value) }" :disabled="disabled || item.disabled" role="option" :aria-selected="targetSelected.includes(item.value)" @click="toggleSelected(item.value, 'target')"><span class="gcsa-transfer__check" aria-hidden="true">{{ targetSelected.includes(item.value) ? '✓' : '' }}</span><span>{{ item.label }}</span></button>
17
+ <span v-if="!filteredTargetItems.length" class="gcsa-transfer__empty">{{ messages.noOptions }}</span>
18
+ </div>
19
+ </section>
20
+ </div>
21
+ </template>
22
+
23
+ <script setup lang="ts">
24
+ import { computed, ref } from 'vue';
25
+ import type { GcsaTransferProps } from '../types/componentProps';
26
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
27
+ import GcsaInput from './GcsaInput.vue';
28
+
29
+ defineOptions({ name: 'GcsaTransfer' });
30
+
31
+ const messages = useGcsaLocaleMessages();
32
+
33
+ const props = withDefaults(defineProps<GcsaTransferProps>(), { modelValue: () => [], disabled: false });
34
+
35
+ const resolvedSourceTitle = computed(() => props.sourceTitle ?? messages.value.transferSourceTitle);
36
+ const resolvedTargetTitle = computed(() => props.targetTitle ?? messages.value.transferTargetTitle);
37
+
38
+ const emit = defineEmits<{ 'update:modelValue': [keys: string[]]; change: [keys: string[]] }>();
39
+ const sourceSelected = ref<string[]>([]);
40
+ const targetSelected = ref<string[]>([]);
41
+ const sourceQuery = ref('');
42
+ const targetQuery = ref('');
43
+ const targetItems = computed(() => props.options.filter(item => props.modelValue.includes(item.value)));
44
+ const availableItems = computed(() => props.options.filter(item => !props.modelValue.includes(item.value) && item.label.toLowerCase().includes(sourceQuery.value.trim().toLowerCase())));
45
+ const filteredTargetItems = computed(() => targetItems.value.filter(item => item.label.toLowerCase().includes(targetQuery.value.trim().toLowerCase())));
46
+ function toggleSelected(value: string, side: 'source' | 'target') { const selected = side === 'source' ? sourceSelected : targetSelected; const next = selected.value.includes(value) ? selected.value.filter(item => item !== value) : [...selected.value, value]; selected.value = next; }
47
+ function update(next: string[]) { emit('update:modelValue', next); emit('change', next); sourceSelected.value = []; targetSelected.value = []; }
48
+ function moveRight() { update([...props.modelValue, ...sourceSelected.value.filter(value => !props.modelValue.includes(value))]); }
49
+ function moveLeft() { update(props.modelValue.filter(value => !targetSelected.value.includes(value))); }
50
+ </script>