@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,379 @@
1
+ <template>
2
+ <DatePicker.Root
3
+ :open="open"
4
+ :model-value="pickerValue"
5
+ :locale="resolvedLocale"
6
+ :start-of-week="startOfWeek"
7
+ :positioning="positioningOptions"
8
+ :close-on-select="false"
9
+ :disabled="disabled"
10
+ :invalid="invalid"
11
+ :min="minDateValue"
12
+ :max="maxDateValue"
13
+ :format="formatDateValue"
14
+ :parse="parseDateValue"
15
+ @update:open="onOpenChange"
16
+ @update:model-value="onDateDraftChange"
17
+ >
18
+ <DatePicker.Control class="gcsa-date-picker__control" :data-invalid="invalid || undefined">
19
+ <DatePicker.Input
20
+ class="gcsa-date-picker__input gcsa-input"
21
+ :placeholder="resolvedPlaceholder"
22
+ readonly
23
+ />
24
+ <DatePicker.Trigger
25
+ class="gcsa-date-picker__trigger gcsa-focus-ring"
26
+ :aria-label="messages.openCalendar"
27
+ >
28
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
29
+ <rect x="2" y="3" width="12" height="11" rx="1.5" stroke="currentColor" stroke-width="1.2" />
30
+ <path d="M2 6.5h12M5.5 1.5v2M10.5 1.5v2" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" />
31
+ </svg>
32
+ </DatePicker.Trigger>
33
+ </DatePicker.Control>
34
+ <GcsaPortal>
35
+ <DatePicker.Positioner class="gcsa-date-picker__positioner">
36
+ <DatePicker.Content class="gcsa-date-picker__content gcsa-datetime-picker__content gcsa-ui-surface">
37
+ <div class="gcsa-datetime-picker__body">
38
+ <div class="gcsa-datetime-picker__calendar">
39
+ <DatePicker.View view="day">
40
+ <DatePicker.Context v-slot="dp">
41
+ <div class="gcsa-datetime-picker__header">
42
+ <button
43
+ type="button"
44
+ class="gcsa-datetime-picker__nav gcsa-focus-ring"
45
+ :aria-label="messages.prevYear"
46
+ @mousedown.prevent
47
+ @click="dp.focusYear(dp.focusedValue.year - 1)"
48
+ >
49
+ «
50
+ </button>
51
+ <DatePicker.PrevTrigger
52
+ class="gcsa-datetime-picker__nav gcsa-focus-ring"
53
+ :aria-label="messages.prevMonth"
54
+ >
55
+
56
+ </DatePicker.PrevTrigger>
57
+ <div class="gcsa-datetime-picker__title">{{ formatMonthTitle(dp.focusedValue) }}</div>
58
+ <DatePicker.NextTrigger
59
+ class="gcsa-datetime-picker__nav gcsa-focus-ring"
60
+ :aria-label="messages.nextMonth"
61
+ >
62
+
63
+ </DatePicker.NextTrigger>
64
+ <button
65
+ type="button"
66
+ class="gcsa-datetime-picker__nav gcsa-focus-ring"
67
+ :aria-label="messages.nextYear"
68
+ @mousedown.prevent
69
+ @click="dp.focusYear(dp.focusedValue.year + 1)"
70
+ >
71
+ »
72
+ </button>
73
+ </div>
74
+ <DatePicker.Table class="gcsa-date-picker__table">
75
+ <DatePicker.TableHead>
76
+ <DatePicker.TableRow>
77
+ <DatePicker.TableHeader
78
+ v-for="(weekDay, weekDayIndex) in dp.weekDays"
79
+ :key="weekDay.short ?? weekDayIndex"
80
+ class="gcsa-date-picker__weekday"
81
+ >
82
+ {{ weekDay.short }}
83
+ </DatePicker.TableHeader>
84
+ </DatePicker.TableRow>
85
+ </DatePicker.TableHead>
86
+ <DatePicker.TableBody>
87
+ <DatePicker.TableRow v-for="(week, weekIndex) in dp.weeks" :key="weekIndex">
88
+ <DatePicker.TableCell
89
+ v-for="day in week"
90
+ :key="day.toString()"
91
+ :value="day"
92
+ class="gcsa-date-picker__cell"
93
+ >
94
+ <DatePicker.TableCellTrigger class="gcsa-date-picker__day gcsa-focus-ring">
95
+ {{ day.day }}
96
+ </DatePicker.TableCellTrigger>
97
+ </DatePicker.TableCell>
98
+ </DatePicker.TableRow>
99
+ </DatePicker.TableBody>
100
+ </DatePicker.Table>
101
+ </DatePicker.Context>
102
+ </DatePicker.View>
103
+ </div>
104
+ <div class="gcsa-datetime-picker__time">
105
+ <div class="gcsa-datetime-picker__time-title">{{ messages.selectTime }}</div>
106
+ <div class="gcsa-time-picker__spinner gcsa-datetime-picker__spinner">
107
+ <div
108
+ ref="hourColumn"
109
+ class="gcsa-time-picker__column"
110
+ role="listbox"
111
+ :aria-label="messages.selectTime"
112
+ @scroll="onColumnScroll('hour', $event)"
113
+ >
114
+ <button
115
+ v-for="hour in hours"
116
+ :key="hour"
117
+ type="button"
118
+ class="gcsa-time-picker__cell"
119
+ :class="{ 'gcsa-time-picker__cell--selected': hour === draftHour }"
120
+ role="option"
121
+ :aria-selected="hour === draftHour"
122
+ @mousedown.prevent
123
+ @click="selectHour(hour)"
124
+ >
125
+ {{ hour }}
126
+ </button>
127
+ </div>
128
+ <div
129
+ ref="minuteColumn"
130
+ class="gcsa-time-picker__column"
131
+ role="listbox"
132
+ :aria-label="globalMessages.timeMinute"
133
+ @scroll="onColumnScroll('minute', $event)"
134
+ >
135
+ <button
136
+ v-for="minute in minutes"
137
+ :key="minute"
138
+ type="button"
139
+ class="gcsa-time-picker__cell"
140
+ :class="{ 'gcsa-time-picker__cell--selected': minute === draftMinute }"
141
+ role="option"
142
+ :aria-selected="minute === draftMinute"
143
+ @mousedown.prevent
144
+ @click="selectMinute(minute)"
145
+ >
146
+ {{ minute }}
147
+ </button>
148
+ </div>
149
+ <div
150
+ ref="secondColumn"
151
+ class="gcsa-time-picker__column"
152
+ role="listbox"
153
+ :aria-label="globalMessages.timeSecond"
154
+ @scroll="onColumnScroll('second', $event)"
155
+ >
156
+ <button
157
+ v-for="second in seconds"
158
+ :key="second"
159
+ type="button"
160
+ class="gcsa-time-picker__cell"
161
+ :class="{ 'gcsa-time-picker__cell--selected': second === draftSecond }"
162
+ role="option"
163
+ :aria-selected="second === draftSecond"
164
+ @mousedown.prevent
165
+ @click="selectSecond(second)"
166
+ >
167
+ {{ second }}
168
+ </button>
169
+ </div>
170
+ <div class="gcsa-time-picker__selection" aria-hidden="true" />
171
+ </div>
172
+ </div>
173
+ </div>
174
+ <div class="gcsa-datetime-picker__footer">
175
+ <button
176
+ type="button"
177
+ class="gcsa-datetime-picker__now"
178
+ @mousedown.prevent
179
+ @click="selectNow"
180
+ >
181
+ {{ messages.now }}
182
+ </button>
183
+ <button type="button" class="gcsa-datetime-picker__confirm" @mousedown.prevent @click="confirm">
184
+ {{ globalMessages.confirm }}
185
+ </button>
186
+ </div>
187
+ </DatePicker.Content>
188
+ </DatePicker.Positioner>
189
+ </GcsaPortal>
190
+ </DatePicker.Root>
191
+ </template>
192
+
193
+ <script setup lang="ts">
194
+ import { computed, nextTick, ref, watch } from 'vue';
195
+ import { DatePicker, parseDate } from '@ark-ui/vue/date-picker';
196
+ import type { DateValue } from '@ark-ui/vue/date-picker';
197
+ import {
198
+ gcsaTimePickerScrollIndex,
199
+ gcsaTimePickerScrollTop,
200
+ getGcsaLocaleMessages,
201
+ getGcsaStartOfWeek,
202
+ createGcsaPopupPositioning,
203
+ type GcsaConsoleLocale
204
+ } from '@gcsa/console-core';
205
+ import type { GcsaDateTimePickerProps } from '../types/componentProps';
206
+ import GcsaPortal from './GcsaPortal.vue';
207
+ import { useGcsaLocale } from '../composables/useGcsaLocale';
208
+ import {
209
+ gcsaDatePickerFormat,
210
+ gcsaDatePickerParse,
211
+ gcsaDateValueToOutputString,
212
+ gcsaJoinDateTime,
213
+ gcsaNormalizeDateBoundary,
214
+ gcsaSplitDateTime,
215
+ gcsaStringToDateValues
216
+ } from '../utils/gcsaDateValue';
217
+
218
+ defineOptions({ name: 'GcsaDateTimePicker' });
219
+
220
+ const positioningOptions = createGcsaPopupPositioning({ fitViewport: true });
221
+
222
+ const props = defineProps<GcsaDateTimePickerProps>();
223
+
224
+ const emit = defineEmits<{
225
+ 'update:modelValue': [value: string];
226
+ }>();
227
+
228
+ const configLocale = useGcsaLocale();
229
+ const resolvedLocale = computed(() => props.locale ?? configLocale.value);
230
+ const messages = computed(() => getGcsaLocaleMessages(resolvedLocale.value).datePicker);
231
+ const globalMessages = computed(() => getGcsaLocaleMessages(resolvedLocale.value));
232
+ const startOfWeek = computed(() => getGcsaStartOfWeek(resolvedLocale.value));
233
+ const resolvedPlaceholder = computed(() => props.placeholder ?? messages.value.placeholderDateTime);
234
+
235
+ const open = ref(false);
236
+ const draftDate = ref('');
237
+ const draftHour = ref('00');
238
+ const draftMinute = ref('00');
239
+ const draftSecond = ref('00');
240
+ const hourColumn = ref<HTMLElement | null>(null);
241
+ const minuteColumn = ref<HTMLElement | null>(null);
242
+ const secondColumn = ref<HTMLElement | null>(null);
243
+
244
+ let hourTimer: number | undefined;
245
+ let minuteTimer: number | undefined;
246
+ let secondTimer: number | undefined;
247
+
248
+ const hours = computed(() => Array.from({ length: 24 }, (_, index) => String(index).padStart(2, '0')));
249
+ const minutes = computed(() => Array.from({ length: 60 }, (_, index) => String(index).padStart(2, '0')));
250
+ const seconds = computed(() => Array.from({ length: 60 }, (_, index) => String(index).padStart(2, '0')));
251
+
252
+ const pickerValue = computed(() => gcsaStringToDateValues(draftDate.value, 'date'));
253
+ const displayValue = computed(() => props.modelValue ?? '');
254
+
255
+ const minDateValue = computed(() => {
256
+ const normalized = gcsaNormalizeDateBoundary(gcsaSplitDateTime(props.min).date, 'date');
257
+ return normalized ? parseDate(normalized) : undefined;
258
+ });
259
+ const maxDateValue = computed(() => {
260
+ const normalized = gcsaNormalizeDateBoundary(gcsaSplitDateTime(props.max).date, 'date');
261
+ return normalized ? parseDate(normalized) : undefined;
262
+ });
263
+
264
+ function formatMonthTitle(value: DateValue) {
265
+ return `${value.year} - ${String(value.month).padStart(2, '0')}`;
266
+ }
267
+
268
+ function draftTimeValue() {
269
+ return `${draftHour.value}:${draftMinute.value}:${draftSecond.value}`;
270
+ }
271
+
272
+ function applyTimeParts(time: string) {
273
+ const [hour = '00', minute = '00', second = '00'] = time.split(':');
274
+ draftHour.value = hour.padStart(2, '0');
275
+ draftMinute.value = minute.padStart(2, '0');
276
+ draftSecond.value = second.padStart(2, '0').slice(0, 2);
277
+ }
278
+
279
+ function formatDateValue(date: DateValue, details: { locale: string; timeZone: string }) {
280
+ const datePart = gcsaDatePickerFormat(date, details, 'date');
281
+ if (!datePart) return displayValue.value;
282
+ return gcsaJoinDateTime(datePart, draftTimeValue());
283
+ }
284
+
285
+ function parseDateValue(value: string, details: { locale: string; timeZone: string }) {
286
+ const { date, time } = gcsaSplitDateTime(value);
287
+ if (time) applyTimeParts(time);
288
+ return gcsaDatePickerParse(date, details, 'date');
289
+ }
290
+
291
+ function syncDraftFromValue(value = props.modelValue) {
292
+ const { date, time } = gcsaSplitDateTime(value);
293
+ draftDate.value = date;
294
+ applyTimeParts(time);
295
+ }
296
+
297
+ function scrollColumns() {
298
+ nextTick(() => {
299
+ if (hourColumn.value) {
300
+ hourColumn.value.scrollTop = gcsaTimePickerScrollTop(hours.value.indexOf(draftHour.value));
301
+ }
302
+ if (minuteColumn.value) {
303
+ minuteColumn.value.scrollTop = gcsaTimePickerScrollTop(minutes.value.indexOf(draftMinute.value));
304
+ }
305
+ if (secondColumn.value) {
306
+ secondColumn.value.scrollTop = gcsaTimePickerScrollTop(seconds.value.indexOf(draftSecond.value));
307
+ }
308
+ });
309
+ }
310
+
311
+ function onOpenChange(nextOpen: boolean) {
312
+ if (props.disabled) return;
313
+ open.value = nextOpen;
314
+ if (nextOpen) {
315
+ syncDraftFromValue();
316
+ scrollColumns();
317
+ }
318
+ }
319
+
320
+ function onDateDraftChange(value: DateValue[]) {
321
+ draftDate.value = gcsaDateValueToOutputString(value?.[0], 'date');
322
+ }
323
+
324
+ function selectHour(hour: string) {
325
+ draftHour.value = hour;
326
+ scrollColumns();
327
+ }
328
+
329
+ function selectMinute(minute: string) {
330
+ draftMinute.value = minute;
331
+ scrollColumns();
332
+ }
333
+
334
+ function selectSecond(second: string) {
335
+ draftSecond.value = second;
336
+ scrollColumns();
337
+ }
338
+
339
+ function onColumnScroll(type: 'hour' | 'minute' | 'second', event: Event) {
340
+ const element = event.currentTarget as HTMLElement;
341
+ const timers = { hour: hourTimer, minute: minuteTimer, second: secondTimer };
342
+ const timer = timers[type];
343
+ window.clearTimeout(timer);
344
+ const nextTimer = window.setTimeout(() => {
345
+ const values = type === 'hour' ? hours.value : type === 'minute' ? minutes.value : seconds.value;
346
+ const index = gcsaTimePickerScrollIndex(element.scrollTop, values.length);
347
+ const value = values[index];
348
+ if (type === 'hour' && value) selectHour(value);
349
+ if (type === 'minute' && value) selectMinute(value);
350
+ if (type === 'second' && value) selectSecond(value);
351
+ }, 80);
352
+ if (type === 'hour') hourTimer = nextTimer;
353
+ else if (type === 'minute') minuteTimer = nextTimer;
354
+ else secondTimer = nextTimer;
355
+ }
356
+
357
+ function selectNow() {
358
+ const now = new Date();
359
+ draftDate.value = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')}`;
360
+ draftHour.value = String(now.getHours()).padStart(2, '0');
361
+ draftMinute.value = String(now.getMinutes()).padStart(2, '0');
362
+ draftSecond.value = String(now.getSeconds()).padStart(2, '0');
363
+ scrollColumns();
364
+ }
365
+
366
+ function confirm() {
367
+ if (!draftDate.value) return;
368
+ emit('update:modelValue', gcsaJoinDateTime(draftDate.value, draftTimeValue()));
369
+ open.value = false;
370
+ }
371
+
372
+ watch(
373
+ () => props.modelValue,
374
+ () => {
375
+ if (!open.value) syncDraftFromValue();
376
+ },
377
+ { immediate: true }
378
+ );
379
+ </script>
@@ -0,0 +1,16 @@
1
+ <template>
2
+ <div class="gcsa-descriptions gcsa-ui-surface">
3
+ <div v-for="item in items" :key="item.label" class="gcsa-descriptions__row">
4
+ <div class="gcsa-descriptions__label">{{ item.label }}</div>
5
+ <div class="gcsa-descriptions__value">{{ item.value }}</div>
6
+ </div>
7
+ </div>
8
+ </template>
9
+
10
+ <script setup lang="ts">
11
+ import type { GcsaDescriptionsProps } from '../types/componentProps';
12
+
13
+ defineOptions({ name: 'GcsaDescriptions' });
14
+
15
+ defineProps<GcsaDescriptionsProps>();
16
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <hr class="gcsa-divider" />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import type { GcsaDividerProps } from '../types/componentProps';
7
+
8
+ defineOptions({ name: 'GcsaDivider' });
9
+
10
+ defineProps<GcsaDividerProps>();
11
+ </script>
@@ -0,0 +1,97 @@
1
+ <template>
2
+ <Dialog.Root :open="open" lazy-mount unmount-on-exit @update:open="onOpenChange">
3
+ <Dialog.Backdrop class="gcsa-drawer__backdrop" :style="backdropStyle" />
4
+ <Dialog.Positioner
5
+ :class="['gcsa-drawer__positioner', `gcsa-drawer__positioner--${placement}`]"
6
+ :style="positionerStyle"
7
+ >
8
+ <Dialog.Content
9
+ :class="['gcsa-drawer__panel', 'gcsa-ui-surface', `gcsa-drawer__panel--${placement}`]"
10
+ >
11
+ <Dialog.CloseTrigger
12
+ v-if="closable"
13
+ class="gcsa-drawer__close"
14
+ :aria-label="messages.close"
15
+ >
16
+ <svg width="14" height="14" viewBox="0 0 14 14" fill="none" aria-hidden="true">
17
+ <path
18
+ d="M2 2l10 10M12 2L2 12"
19
+ stroke="currentColor"
20
+ stroke-width="1.5"
21
+ stroke-linecap="round"
22
+ />
23
+ </svg>
24
+ </Dialog.CloseTrigger>
25
+ <header v-if="title" class="gcsa-drawer__header">
26
+ <Dialog.Title as-child>
27
+ <div class="gcsa-drawer__title">{{ title }}</div>
28
+ </Dialog.Title>
29
+ </header>
30
+ <div
31
+ ref="bodyRef"
32
+ class="gcsa-drawer__body"
33
+ :class="{ 'gcsa-drawer__body--titled': title }"
34
+ >
35
+ <slot />
36
+ </div>
37
+ <div v-if="$slots.footer" class="gcsa-drawer__footer">
38
+ <slot name="footer" />
39
+ </div>
40
+ </Dialog.Content>
41
+ </Dialog.Positioner>
42
+ </Dialog.Root>
43
+ </template>
44
+
45
+ <script setup lang="ts">
46
+ import { computed, ref, watch } from 'vue';
47
+ import { Dialog } from '@ark-ui/vue/dialog';
48
+ import type { GcsaDrawerProps } from '../types/componentProps';
49
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
50
+ import { usePreserveScrollOnFocus } from '../composables/usePreserveScrollOnFocus';
51
+ import { useGcsaZIndex } from '../composables/useGcsaZIndex';
52
+
53
+ defineOptions({ name: 'GcsaDrawer' });
54
+
55
+ const messages = useGcsaLocaleMessages();
56
+ const bodyRef = ref<HTMLElement | null>(null);
57
+ const { nextZIndex } = useGcsaZIndex();
58
+ const backdropZ = ref<number>();
59
+ const positionerZ = ref<number>();
60
+
61
+ const props = withDefaults(
62
+ defineProps<GcsaDrawerProps>(),
63
+ {
64
+ closable: true,
65
+ placement: 'right'
66
+ }
67
+ );
68
+
69
+ const emit = defineEmits<{
70
+ 'update:open': [value: boolean];
71
+ }>();
72
+
73
+ usePreserveScrollOnFocus(bodyRef, computed(() => props.open));
74
+
75
+ watch(
76
+ () => props.open,
77
+ (open) => {
78
+ if (open) {
79
+ backdropZ.value = nextZIndex();
80
+ positionerZ.value = nextZIndex();
81
+ }
82
+ },
83
+ { immediate: true }
84
+ );
85
+
86
+ const backdropStyle = computed(() =>
87
+ backdropZ.value == null ? undefined : { zIndex: backdropZ.value }
88
+ );
89
+
90
+ const positionerStyle = computed(() =>
91
+ positionerZ.value == null ? undefined : { zIndex: positionerZ.value }
92
+ );
93
+
94
+ function onOpenChange(open: boolean) {
95
+ emit('update:open', open);
96
+ }
97
+ </script>
@@ -0,0 +1,84 @@
1
+ <template>
2
+ <span class="gcsa-dropdown-anchor" :class="rootClass">
3
+ <Menu.Root
4
+ :positioning="positioningOptions"
5
+ @select="onSelect"
6
+ @open-change="(details) => onOpenChange(details.open)"
7
+ >
8
+ <Menu.Trigger v-if="hasTriggerSlot" as-child>
9
+ <slot name="trigger" />
10
+ </Menu.Trigger>
11
+ <Menu.Trigger v-else>
12
+ <GcsaButton variant="secondary">{{ resolvedTriggerLabel }}</GcsaButton>
13
+ </Menu.Trigger>
14
+ <GcsaPortal :portalled="portalled">
15
+ <Menu.Positioner class="gcsa-dropdown-positioner" :style="positionerStyle">
16
+ <Menu.Content class="gcsa-dropdown gcsa-ui-surface" :style="contentStyle">
17
+ <Menu.Item
18
+ v-for="item in items"
19
+ :key="item.key"
20
+ :value="item.key"
21
+ :disabled="item.disabled"
22
+ class="gcsa-dropdown__item"
23
+ >
24
+ <Menu.ItemText>{{ item.label }}</Menu.ItemText>
25
+ </Menu.Item>
26
+ </Menu.Content>
27
+ </Menu.Positioner>
28
+ </GcsaPortal>
29
+ </Menu.Root>
30
+ </span>
31
+ </template>
32
+
33
+ <script setup lang="ts">
34
+ import { computed, useAttrs, useSlots } from 'vue';
35
+ import { Menu } from '@ark-ui/vue/menu';
36
+ import { createGcsaPopupPositioning } from '@gcsa/console-core';
37
+ import type { GcsaDropdownProps } from '../types/componentProps';
38
+ import GcsaButton from './GcsaButton.vue';
39
+ import GcsaPortal from './GcsaPortal.vue';
40
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
41
+ import { useGcsaPopupZIndex } from '../composables/useGcsaPopupZIndex';
42
+
43
+ defineOptions({ name: 'GcsaDropdown', inheritAttrs: false });
44
+
45
+ const attrs = useAttrs();
46
+ const rootClass = computed(() => attrs.class);
47
+
48
+ const props = withDefaults(
49
+ defineProps<GcsaDropdownProps>(),
50
+ {
51
+ placement: 'bottom-start',
52
+ portalled: true,
53
+ gutter: 4
54
+ }
55
+ );
56
+
57
+ const messages = useGcsaLocaleMessages();
58
+ const { zIndex: popupZIndex, onOpenChange } = useGcsaPopupZIndex();
59
+ const resolvedTriggerLabel = computed(() => props.triggerLabel ?? messages.value.menu);
60
+ const hasTriggerSlot = computed(() => Boolean(useSlots().trigger));
61
+
62
+ const positionerStyle = computed(() =>
63
+ popupZIndex.value == null ? undefined : { zIndex: popupZIndex.value }
64
+ );
65
+
66
+ const contentStyle = computed(() =>
67
+ popupZIndex.value == null ? undefined : { zIndex: popupZIndex.value }
68
+ );
69
+
70
+ const positioningOptions = computed(() =>
71
+ createGcsaPopupPositioning({
72
+ placement: props.placement,
73
+ gutter: props.gutter
74
+ })
75
+ );
76
+
77
+ const emit = defineEmits<{
78
+ select: [key: string];
79
+ }>();
80
+
81
+ function onSelect(details: { value: string }) {
82
+ emit('select', details.value);
83
+ }
84
+ </script>
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <div class="gcsa-empty gcsa-ui-surface">
3
+ <div class="gcsa-empty__icon" aria-hidden="true">
4
+ <slot name="icon">
5
+ <GcsaIcon name="resultEmpty" />
6
+ </slot>
7
+ </div>
8
+ <div class="gcsa-empty__title">{{ resolvedTitle }}</div>
9
+ <div v-if="description" class="gcsa-empty__desc">{{ description }}</div>
10
+ <div v-if="$slots.action" class="gcsa-empty__action">
11
+ <slot name="action" />
12
+ </div>
13
+ </div>
14
+ </template>
15
+
16
+ <script setup lang="ts">
17
+ import { computed } from 'vue';
18
+ import { useGcsaLocaleMessages } from '../composables/useGcsaLocale';
19
+ import type { GcsaEmptyProps } from '../types/componentProps';
20
+ import GcsaIcon from './GcsaIcon.vue';
21
+
22
+ defineOptions({ name: 'GcsaEmpty' });
23
+
24
+ const props = defineProps<GcsaEmptyProps>();
25
+
26
+ const messages = useGcsaLocaleMessages();
27
+ const resolvedTitle = computed(() => props.title ?? messages.value.emptyDefault);
28
+ </script>
@@ -0,0 +1,27 @@
1
+ <template>
2
+ <Field.Root class="gcsa-field" :invalid="isInvalid">
3
+ <Field.Label v-if="label" class="gcsa-field__label">
4
+ {{ label }}
5
+ <span v-if="required" class="gcsa-field__required" aria-hidden="true">*</span>
6
+ </Field.Label>
7
+ <slot />
8
+ <Transition name="gcsa-field-feedback">
9
+ <Field.HelperText v-if="hint && !error" class="gcsa-field__hint" role="note">{{ hint }}</Field.HelperText>
10
+ </Transition>
11
+ <Transition name="gcsa-field-feedback">
12
+ <Field.ErrorText v-if="error" class="gcsa-field__error" role="alert">{{ error }}</Field.ErrorText>
13
+ </Transition>
14
+ </Field.Root>
15
+ </template>
16
+
17
+ <script setup lang="ts">
18
+ import { computed } from 'vue';
19
+ import { Field } from '@ark-ui/vue/field';
20
+ import type { GcsaFieldProps } from '../types/componentProps';
21
+
22
+ defineOptions({ name: 'GcsaField' });
23
+
24
+ const props = defineProps<GcsaFieldProps>();
25
+
26
+ const isInvalid = computed(() => props.invalid ?? Boolean(props.error));
27
+ </script>