@nyuccl/smile 0.2.0-beta.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 (810) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -0
  3. package/dist/module.d.mts +8 -0
  4. package/dist/module.json +9 -0
  5. package/dist/module.mjs +102 -0
  6. package/dist/runtime/components/builtins/AdvertisementView.d.vue.ts +3 -0
  7. package/dist/runtime/components/builtins/AdvertisementView.vue +62 -0
  8. package/dist/runtime/components/builtins/AdvertisementView.vue.d.ts +3 -0
  9. package/dist/runtime/components/builtins/DebriefView.d.vue.ts +22 -0
  10. package/dist/runtime/components/builtins/DebriefView.vue +43 -0
  11. package/dist/runtime/components/builtins/DebriefView.vue.d.ts +22 -0
  12. package/dist/runtime/components/builtins/DemographicSurveyView.d.vue.ts +3 -0
  13. package/dist/runtime/components/builtins/DemographicSurveyView.vue +1206 -0
  14. package/dist/runtime/components/builtins/DemographicSurveyView.vue.d.ts +3 -0
  15. package/dist/runtime/components/builtins/DeviceSurveyView.d.vue.ts +3 -0
  16. package/dist/runtime/components/builtins/DeviceSurveyView.vue +452 -0
  17. package/dist/runtime/components/builtins/DeviceSurveyView.vue.d.ts +3 -0
  18. package/dist/runtime/components/builtins/ExpView.d.vue.ts +3 -0
  19. package/dist/runtime/components/builtins/ExpView.vue +39 -0
  20. package/dist/runtime/components/builtins/ExpView.vue.d.ts +3 -0
  21. package/dist/runtime/components/builtins/ExperimentStatusBar.d.vue.ts +3 -0
  22. package/dist/runtime/components/builtins/ExperimentStatusBar.vue +12 -0
  23. package/dist/runtime/components/builtins/ExperimentStatusBar.vue.d.ts +3 -0
  24. package/dist/runtime/components/builtins/FavoriteColor.d.vue.ts +3 -0
  25. package/dist/runtime/components/builtins/FavoriteColor.vue +57 -0
  26. package/dist/runtime/components/builtins/FavoriteColor.vue.d.ts +3 -0
  27. package/dist/runtime/components/builtins/FavoriteNumber.d.vue.ts +3 -0
  28. package/dist/runtime/components/builtins/FavoriteNumber.vue +57 -0
  29. package/dist/runtime/components/builtins/FavoriteNumber.vue.d.ts +3 -0
  30. package/dist/runtime/components/builtins/InformedConsentModal.d.vue.ts +28 -0
  31. package/dist/runtime/components/builtins/InformedConsentModal.vue +82 -0
  32. package/dist/runtime/components/builtins/InformedConsentModal.vue.d.ts +28 -0
  33. package/dist/runtime/components/builtins/InformedConsentView.d.vue.ts +13 -0
  34. package/dist/runtime/components/builtins/InformedConsentView.vue +127 -0
  35. package/dist/runtime/components/builtins/InformedConsentView.vue.d.ts +13 -0
  36. package/dist/runtime/components/builtins/InstructionsQuiz.d.vue.ts +36 -0
  37. package/dist/runtime/components/builtins/InstructionsQuiz.vue +274 -0
  38. package/dist/runtime/components/builtins/InstructionsQuiz.vue.d.ts +36 -0
  39. package/dist/runtime/components/builtins/InstructionsView.d.vue.ts +3 -0
  40. package/dist/runtime/components/builtins/InstructionsView.vue +58 -0
  41. package/dist/runtime/components/builtins/InstructionsView.vue.d.ts +3 -0
  42. package/dist/runtime/components/builtins/MTurkRecruitView.d.vue.ts +21 -0
  43. package/dist/runtime/components/builtins/MTurkRecruitView.vue +137 -0
  44. package/dist/runtime/components/builtins/MTurkRecruitView.vue.d.ts +21 -0
  45. package/dist/runtime/components/builtins/PresentationModeView.d.vue.ts +93 -0
  46. package/dist/runtime/components/builtins/PresentationModeView.vue +254 -0
  47. package/dist/runtime/components/builtins/PresentationModeView.vue.d.ts +93 -0
  48. package/dist/runtime/components/builtins/StatusBar.d.vue.ts +3 -0
  49. package/dist/runtime/components/builtins/StatusBar.vue +128 -0
  50. package/dist/runtime/components/builtins/StatusBar.vue.d.ts +3 -0
  51. package/dist/runtime/components/builtins/StudyPreviewText.d.vue.ts +21 -0
  52. package/dist/runtime/components/builtins/StudyPreviewText.vue +102 -0
  53. package/dist/runtime/components/builtins/StudyPreviewText.vue.d.ts +21 -0
  54. package/dist/runtime/components/builtins/TaskFeedbackSurveyView.d.vue.ts +3 -0
  55. package/dist/runtime/components/builtins/TaskFeedbackSurveyView.vue +203 -0
  56. package/dist/runtime/components/builtins/TaskFeedbackSurveyView.vue.d.ts +3 -0
  57. package/dist/runtime/components/builtins/ThanksView.d.vue.ts +3 -0
  58. package/dist/runtime/components/builtins/ThanksView.vue +451 -0
  59. package/dist/runtime/components/builtins/ThanksView.vue.d.ts +3 -0
  60. package/dist/runtime/components/builtins/WindowSizerView.d.vue.ts +7 -0
  61. package/dist/runtime/components/builtins/WindowSizerView.vue +94 -0
  62. package/dist/runtime/components/builtins/WindowSizerView.vue.d.ts +7 -0
  63. package/dist/runtime/components/builtins/WithdrawModal.d.vue.ts +56 -0
  64. package/dist/runtime/components/builtins/WithdrawModal.vue +208 -0
  65. package/dist/runtime/components/builtins/WithdrawModal.vue.d.ts +56 -0
  66. package/dist/runtime/components/builtins/WithdrawView.d.vue.ts +3 -0
  67. package/dist/runtime/components/builtins/WithdrawView.vue +99 -0
  68. package/dist/runtime/components/builtins/WithdrawView.vue.d.ts +3 -0
  69. package/dist/runtime/components/dev/RecruitmentChooserView.d.vue.ts +3 -0
  70. package/dist/runtime/components/dev/RecruitmentChooserView.vue +258 -0
  71. package/dist/runtime/components/dev/RecruitmentChooserView.vue.d.ts +3 -0
  72. package/dist/runtime/components/dev/ResponsiveDeviceContainer.d.vue.ts +12 -0
  73. package/dist/runtime/components/dev/ResponsiveDeviceContainer.vue +215 -0
  74. package/dist/runtime/components/dev/ResponsiveDeviceContainer.vue.d.ts +12 -0
  75. package/dist/runtime/components/dev/console/ConfigList.d.vue.ts +26 -0
  76. package/dist/runtime/components/dev/console/ConfigList.vue +106 -0
  77. package/dist/runtime/components/dev/console/ConfigList.vue.d.ts +26 -0
  78. package/dist/runtime/components/dev/console/ConsoleConfigPanel.d.vue.ts +3 -0
  79. package/dist/runtime/components/dev/console/ConsoleConfigPanel.vue +135 -0
  80. package/dist/runtime/components/dev/console/ConsoleConfigPanel.vue.d.ts +3 -0
  81. package/dist/runtime/components/dev/console/ConsoleDatabaseBrowsePanel.d.vue.ts +3 -0
  82. package/dist/runtime/components/dev/console/ConsoleDatabaseBrowsePanel.vue +124 -0
  83. package/dist/runtime/components/dev/console/ConsoleDatabaseBrowsePanel.vue.d.ts +3 -0
  84. package/dist/runtime/components/dev/console/ConsoleLogPanel.d.vue.ts +3 -0
  85. package/dist/runtime/components/dev/console/ConsoleLogPanel.vue +227 -0
  86. package/dist/runtime/components/dev/console/ConsoleLogPanel.vue.d.ts +3 -0
  87. package/dist/runtime/components/dev/console/DatabaseList.d.vue.ts +26 -0
  88. package/dist/runtime/components/dev/console/DatabaseList.vue +110 -0
  89. package/dist/runtime/components/dev/console/DatabaseList.vue.d.ts +26 -0
  90. package/dist/runtime/components/dev/console/SmileDevConsole.d.vue.ts +3 -0
  91. package/dist/runtime/components/dev/console/SmileDevConsole.vue +117 -0
  92. package/dist/runtime/components/dev/console/SmileDevConsole.vue.d.ts +3 -0
  93. package/dist/runtime/components/dev/devicePresets.d.ts +91 -0
  94. package/dist/runtime/components/dev/devicePresets.js +40 -0
  95. package/dist/runtime/components/dev/menu/DevConfigPanel.d.vue.ts +3 -0
  96. package/dist/runtime/components/dev/menu/DevConfigPanel.vue +178 -0
  97. package/dist/runtime/components/dev/menu/DevConfigPanel.vue.d.ts +3 -0
  98. package/dist/runtime/components/dev/menu/ResponsiveDeviceSelect.d.vue.ts +3 -0
  99. package/dist/runtime/components/dev/menu/ResponsiveDeviceSelect.vue +108 -0
  100. package/dist/runtime/components/dev/menu/ResponsiveDeviceSelect.vue.d.ts +3 -0
  101. package/dist/runtime/components/dev/menu/SmileDevAppMenu.d.vue.ts +62 -0
  102. package/dist/runtime/components/dev/menu/SmileDevAppMenu.vue +184 -0
  103. package/dist/runtime/components/dev/menu/SmileDevAppMenu.vue.d.ts +62 -0
  104. package/dist/runtime/components/dev/navbar/CircleProgress.d.vue.ts +15 -0
  105. package/dist/runtime/components/dev/navbar/CircleProgress.vue +26 -0
  106. package/dist/runtime/components/dev/navbar/CircleProgress.vue.d.ts +15 -0
  107. package/dist/runtime/components/dev/navbar/ColorModeButton.d.vue.ts +3 -0
  108. package/dist/runtime/components/dev/navbar/ColorModeButton.vue +33 -0
  109. package/dist/runtime/components/dev/navbar/ColorModeButton.vue.d.ts +3 -0
  110. package/dist/runtime/components/dev/navbar/DatabaseButtonGroup.d.vue.ts +3 -0
  111. package/dist/runtime/components/dev/navbar/DatabaseButtonGroup.vue +86 -0
  112. package/dist/runtime/components/dev/navbar/DatabaseButtonGroup.vue.d.ts +3 -0
  113. package/dist/runtime/components/dev/navbar/FullScreenButton.d.vue.ts +3 -0
  114. package/dist/runtime/components/dev/navbar/FullScreenButton.vue +35 -0
  115. package/dist/runtime/components/dev/navbar/FullScreenButton.vue.d.ts +3 -0
  116. package/dist/runtime/components/dev/navbar/KeyCommandNotification.d.vue.ts +41 -0
  117. package/dist/runtime/components/dev/navbar/KeyCommandNotification.vue +58 -0
  118. package/dist/runtime/components/dev/navbar/KeyCommandNotification.vue.d.ts +41 -0
  119. package/dist/runtime/components/dev/navbar/ReloadButton.d.vue.ts +3 -0
  120. package/dist/runtime/components/dev/navbar/ReloadButton.vue +23 -0
  121. package/dist/runtime/components/dev/navbar/ReloadButton.vue.d.ts +3 -0
  122. package/dist/runtime/components/dev/navbar/ResetButton.d.vue.ts +3 -0
  123. package/dist/runtime/components/dev/navbar/ResetButton.vue +23 -0
  124. package/dist/runtime/components/dev/navbar/ResetButton.vue.d.ts +3 -0
  125. package/dist/runtime/components/dev/navbar/RouteJumper.d.vue.ts +7 -0
  126. package/dist/runtime/components/dev/navbar/RouteJumper.vue +90 -0
  127. package/dist/runtime/components/dev/navbar/RouteJumper.vue.d.ts +7 -0
  128. package/dist/runtime/components/dev/navbar/SmileDevNavBar.d.vue.ts +3 -0
  129. package/dist/runtime/components/dev/navbar/SmileDevNavBar.vue +248 -0
  130. package/dist/runtime/components/dev/navbar/SmileDevNavBar.vue.d.ts +3 -0
  131. package/dist/runtime/components/dev/navbar/StepInfoButtonGroup.d.vue.ts +3 -0
  132. package/dist/runtime/components/dev/navbar/StepInfoButtonGroup.vue +63 -0
  133. package/dist/runtime/components/dev/navbar/StepInfoButtonGroup.vue.d.ts +3 -0
  134. package/dist/runtime/components/dev/navbar/ViewButton.d.vue.ts +3 -0
  135. package/dist/runtime/components/dev/navbar/ViewButton.vue +159 -0
  136. package/dist/runtime/components/dev/navbar/ViewButton.vue.d.ts +3 -0
  137. package/dist/runtime/components/dev/navbar/ViewInfoButtonGroup.d.vue.ts +3 -0
  138. package/dist/runtime/components/dev/navbar/ViewInfoButtonGroup.vue +147 -0
  139. package/dist/runtime/components/dev/navbar/ViewInfoButtonGroup.vue.d.ts +3 -0
  140. package/dist/runtime/components/dev/presentation/DarkModeButton.d.vue.ts +3 -0
  141. package/dist/runtime/components/dev/presentation/DarkModeButton.vue +43 -0
  142. package/dist/runtime/components/dev/presentation/DarkModeButton.vue.d.ts +3 -0
  143. package/dist/runtime/components/dev/presentation/LogoutButton.d.vue.ts +3 -0
  144. package/dist/runtime/components/dev/presentation/LogoutButton.vue +38 -0
  145. package/dist/runtime/components/dev/presentation/LogoutButton.vue.d.ts +3 -0
  146. package/dist/runtime/components/dev/presentation/PresentationModeResetButton.d.vue.ts +7 -0
  147. package/dist/runtime/components/dev/presentation/PresentationModeResetButton.vue +25 -0
  148. package/dist/runtime/components/dev/presentation/PresentationModeResetButton.vue.d.ts +7 -0
  149. package/dist/runtime/components/dev/presentation/PresentationNavBar.d.vue.ts +3 -0
  150. package/dist/runtime/components/dev/presentation/PresentationNavBar.vue +70 -0
  151. package/dist/runtime/components/dev/presentation/PresentationNavBar.vue.d.ts +3 -0
  152. package/dist/runtime/components/dev/presentation/QRCodeButton.d.vue.ts +3 -0
  153. package/dist/runtime/components/dev/presentation/QRCodeButton.vue +66 -0
  154. package/dist/runtime/components/dev/presentation/QRCodeButton.vue.d.ts +3 -0
  155. package/dist/runtime/components/dev/sidebar/AppProgressPanel.d.vue.ts +3 -0
  156. package/dist/runtime/components/dev/sidebar/AppProgressPanel.vue +125 -0
  157. package/dist/runtime/components/dev/sidebar/AppProgressPanel.vue.d.ts +3 -0
  158. package/dist/runtime/components/dev/sidebar/ConfigurationVariablesPanel.d.vue.ts +3 -0
  159. package/dist/runtime/components/dev/sidebar/ConfigurationVariablesPanel.vue +219 -0
  160. package/dist/runtime/components/dev/sidebar/ConfigurationVariablesPanel.vue.d.ts +3 -0
  161. package/dist/runtime/components/dev/sidebar/DatabaseStatusInfoPanel.d.vue.ts +3 -0
  162. package/dist/runtime/components/dev/sidebar/DatabaseStatusInfoPanel.vue +117 -0
  163. package/dist/runtime/components/dev/sidebar/DatabaseStatusInfoPanel.vue.d.ts +3 -0
  164. package/dist/runtime/components/dev/sidebar/RandomizationSidebarPanel.d.vue.ts +3 -0
  165. package/dist/runtime/components/dev/sidebar/RandomizationSidebarPanel.vue +151 -0
  166. package/dist/runtime/components/dev/sidebar/RandomizationSidebarPanel.vue.d.ts +3 -0
  167. package/dist/runtime/components/dev/sidebar/SmileDevSideBar.d.vue.ts +3 -0
  168. package/dist/runtime/components/dev/sidebar/SmileDevSideBar.vue +70 -0
  169. package/dist/runtime/components/dev/sidebar/SmileDevSideBar.vue.d.ts +3 -0
  170. package/dist/runtime/components/dev/sidebar/StepDataViewer.d.vue.ts +22 -0
  171. package/dist/runtime/components/dev/sidebar/StepDataViewer.vue +82 -0
  172. package/dist/runtime/components/dev/sidebar/StepDataViewer.vue.d.ts +22 -0
  173. package/dist/runtime/components/dev/sidebar/StepExplorerPanel.d.vue.ts +3 -0
  174. package/dist/runtime/components/dev/sidebar/StepExplorerPanel.vue +318 -0
  175. package/dist/runtime/components/dev/sidebar/StepExplorerPanel.vue.d.ts +3 -0
  176. package/dist/runtime/components/dev/sidebar/StepNode.d.vue.ts +84 -0
  177. package/dist/runtime/components/dev/sidebar/StepNode.vue +95 -0
  178. package/dist/runtime/components/dev/sidebar/StepNode.vue.d.ts +84 -0
  179. package/dist/runtime/components/dev/sidebar/StudyInfoPanel.d.vue.ts +3 -0
  180. package/dist/runtime/components/dev/sidebar/StudyInfoPanel.vue +17 -0
  181. package/dist/runtime/components/dev/sidebar/StudyInfoPanel.vue.d.ts +3 -0
  182. package/dist/runtime/components/forms/MonthYearDayPicker.d.vue.ts +240 -0
  183. package/dist/runtime/components/forms/MonthYearDayPicker.vue +191 -0
  184. package/dist/runtime/components/forms/MonthYearDayPicker.vue.d.ts +240 -0
  185. package/dist/runtime/components/layouts/CenteredContent.d.vue.ts +22 -0
  186. package/dist/runtime/components/layouts/CenteredContent.vue +14 -0
  187. package/dist/runtime/components/layouts/CenteredContent.vue.d.ts +22 -0
  188. package/dist/runtime/components/layouts/ConstrainedPage.d.vue.ts +55 -0
  189. package/dist/runtime/components/layouts/ConstrainedPage.vue +56 -0
  190. package/dist/runtime/components/layouts/ConstrainedPage.vue.d.ts +55 -0
  191. package/dist/runtime/components/layouts/ConstrainedTaskWindow.d.vue.ts +66 -0
  192. package/dist/runtime/components/layouts/ConstrainedTaskWindow.vue +73 -0
  193. package/dist/runtime/components/layouts/ConstrainedTaskWindow.vue.d.ts +66 -0
  194. package/dist/runtime/components/layouts/TitleTwoCol.d.vue.ts +61 -0
  195. package/dist/runtime/components/layouts/TitleTwoCol.vue +54 -0
  196. package/dist/runtime/components/layouts/TitleTwoCol.vue.d.ts +61 -0
  197. package/dist/runtime/components/layouts/TwoCol.d.vue.ts +59 -0
  198. package/dist/runtime/components/layouts/TwoCol.vue +51 -0
  199. package/dist/runtime/components/layouts/TwoCol.vue.d.ts +59 -0
  200. package/dist/runtime/components/layouts/index.d.ts +1 -0
  201. package/dist/runtime/components/layouts/index.js +5 -0
  202. package/dist/runtime/components/layouts/layoutUtils.d.ts +1 -0
  203. package/dist/runtime/components/layouts/layoutUtils.js +27 -0
  204. package/dist/runtime/components/ui/avatar/Avatar.d.vue.ts +20 -0
  205. package/dist/runtime/components/ui/avatar/Avatar.vue +15 -0
  206. package/dist/runtime/components/ui/avatar/Avatar.vue.d.ts +20 -0
  207. package/dist/runtime/components/ui/avatar/AvatarFallback.d.vue.ts +46 -0
  208. package/dist/runtime/components/ui/avatar/AvatarFallback.vue +21 -0
  209. package/dist/runtime/components/ui/avatar/AvatarFallback.vue.d.ts +46 -0
  210. package/dist/runtime/components/ui/avatar/AvatarImage.d.vue.ts +54 -0
  211. package/dist/runtime/components/ui/avatar/AvatarImage.vue +20 -0
  212. package/dist/runtime/components/ui/avatar/AvatarImage.vue.d.ts +54 -0
  213. package/dist/runtime/components/ui/avatar/index.d.ts +1 -0
  214. package/dist/runtime/components/ui/avatar/index.js +3 -0
  215. package/dist/runtime/components/ui/badge/Badge.d.vue.ts +46 -0
  216. package/dist/runtime/components/ui/badge/Badge.vue +22 -0
  217. package/dist/runtime/components/ui/badge/Badge.vue.d.ts +46 -0
  218. package/dist/runtime/components/ui/badge/index.d.ts +4 -0
  219. package/dist/runtime/components/ui/badge/index.js +21 -0
  220. package/dist/runtime/components/ui/breadcrumb/Breadcrumb.d.vue.ts +20 -0
  221. package/dist/runtime/components/ui/breadcrumb/Breadcrumb.vue +15 -0
  222. package/dist/runtime/components/ui/breadcrumb/Breadcrumb.vue.d.ts +20 -0
  223. package/dist/runtime/components/ui/breadcrumb/BreadcrumbEllipsis.d.vue.ts +20 -0
  224. package/dist/runtime/components/ui/breadcrumb/BreadcrumbEllipsis.vue +20 -0
  225. package/dist/runtime/components/ui/breadcrumb/BreadcrumbEllipsis.vue.d.ts +20 -0
  226. package/dist/runtime/components/ui/breadcrumb/BreadcrumbItem.d.vue.ts +20 -0
  227. package/dist/runtime/components/ui/breadcrumb/BreadcrumbItem.vue +14 -0
  228. package/dist/runtime/components/ui/breadcrumb/BreadcrumbItem.vue.d.ts +20 -0
  229. package/dist/runtime/components/ui/breadcrumb/BreadcrumbLink.d.vue.ts +41 -0
  230. package/dist/runtime/components/ui/breadcrumb/BreadcrumbLink.vue +19 -0
  231. package/dist/runtime/components/ui/breadcrumb/BreadcrumbLink.vue.d.ts +41 -0
  232. package/dist/runtime/components/ui/breadcrumb/BreadcrumbList.d.vue.ts +20 -0
  233. package/dist/runtime/components/ui/breadcrumb/BreadcrumbList.vue +14 -0
  234. package/dist/runtime/components/ui/breadcrumb/BreadcrumbList.vue.d.ts +20 -0
  235. package/dist/runtime/components/ui/breadcrumb/BreadcrumbPage.d.vue.ts +20 -0
  236. package/dist/runtime/components/ui/breadcrumb/BreadcrumbPage.vue +17 -0
  237. package/dist/runtime/components/ui/breadcrumb/BreadcrumbPage.vue.d.ts +20 -0
  238. package/dist/runtime/components/ui/breadcrumb/BreadcrumbSeparator.d.vue.ts +20 -0
  239. package/dist/runtime/components/ui/breadcrumb/BreadcrumbSeparator.vue +19 -0
  240. package/dist/runtime/components/ui/breadcrumb/BreadcrumbSeparator.vue.d.ts +20 -0
  241. package/dist/runtime/components/ui/breadcrumb/index.d.ts +1 -0
  242. package/dist/runtime/components/ui/breadcrumb/index.js +7 -0
  243. package/dist/runtime/components/ui/button/Button.d.vue.ts +57 -0
  244. package/dist/runtime/components/ui/button/Button.vue +22 -0
  245. package/dist/runtime/components/ui/button/Button.vue.d.ts +57 -0
  246. package/dist/runtime/components/ui/button/index.d.ts +5 -0
  247. package/dist/runtime/components/ui/button/index.js +60 -0
  248. package/dist/runtime/components/ui/button-group/ButtonGroup.d.vue.ts +85 -0
  249. package/dist/runtime/components/ui/button-group/ButtonGroup.vue +33 -0
  250. package/dist/runtime/components/ui/button-group/ButtonGroup.vue.d.ts +85 -0
  251. package/dist/runtime/components/ui/button-group/ButtonGroupItem.d.vue.ts +66 -0
  252. package/dist/runtime/components/ui/button-group/ButtonGroupItem.vue +38 -0
  253. package/dist/runtime/components/ui/button-group/ButtonGroupItem.vue.d.ts +66 -0
  254. package/dist/runtime/components/ui/button-group/index.d.ts +1 -0
  255. package/dist/runtime/components/ui/button-group/index.js +2 -0
  256. package/dist/runtime/components/ui/calendar/Calendar.d.vue.ts +237 -0
  257. package/dist/runtime/components/ui/calendar/Calendar.vue +103 -0
  258. package/dist/runtime/components/ui/calendar/Calendar.vue.d.ts +237 -0
  259. package/dist/runtime/components/ui/calendar/CalendarCell.d.vue.ts +46 -0
  260. package/dist/runtime/components/ui/calendar/CalendarCell.vue +27 -0
  261. package/dist/runtime/components/ui/calendar/CalendarCell.vue.d.ts +46 -0
  262. package/dist/runtime/components/ui/calendar/CalendarCellTrigger.d.vue.ts +57 -0
  263. package/dist/runtime/components/ui/calendar/CalendarCellTrigger.vue +39 -0
  264. package/dist/runtime/components/ui/calendar/CalendarCellTrigger.vue.d.ts +57 -0
  265. package/dist/runtime/components/ui/calendar/CalendarGrid.d.vue.ts +38 -0
  266. package/dist/runtime/components/ui/calendar/CalendarGrid.vue +21 -0
  267. package/dist/runtime/components/ui/calendar/CalendarGrid.vue.d.ts +38 -0
  268. package/dist/runtime/components/ui/calendar/CalendarGridBody.d.vue.ts +30 -0
  269. package/dist/runtime/components/ui/calendar/CalendarGridBody.vue +16 -0
  270. package/dist/runtime/components/ui/calendar/CalendarGridBody.vue.d.ts +30 -0
  271. package/dist/runtime/components/ui/calendar/CalendarGridHead.d.vue.ts +38 -0
  272. package/dist/runtime/components/ui/calendar/CalendarGridHead.vue +17 -0
  273. package/dist/runtime/components/ui/calendar/CalendarGridHead.vue.d.ts +38 -0
  274. package/dist/runtime/components/ui/calendar/CalendarGridRow.d.vue.ts +38 -0
  275. package/dist/runtime/components/ui/calendar/CalendarGridRow.vue +21 -0
  276. package/dist/runtime/components/ui/calendar/CalendarGridRow.vue.d.ts +38 -0
  277. package/dist/runtime/components/ui/calendar/CalendarHeadCell.d.vue.ts +38 -0
  278. package/dist/runtime/components/ui/calendar/CalendarHeadCell.vue +21 -0
  279. package/dist/runtime/components/ui/calendar/CalendarHeadCell.vue.d.ts +38 -0
  280. package/dist/runtime/components/ui/calendar/CalendarHeader.d.vue.ts +38 -0
  281. package/dist/runtime/components/ui/calendar/CalendarHeader.vue +21 -0
  282. package/dist/runtime/components/ui/calendar/CalendarHeader.vue.d.ts +38 -0
  283. package/dist/runtime/components/ui/calendar/CalendarHeading.d.vue.ts +35 -0
  284. package/dist/runtime/components/ui/calendar/CalendarHeading.vue +25 -0
  285. package/dist/runtime/components/ui/calendar/CalendarHeading.vue.d.ts +35 -0
  286. package/dist/runtime/components/ui/calendar/CalendarNextButton.d.vue.ts +46 -0
  287. package/dist/runtime/components/ui/calendar/CalendarNextButton.vue +33 -0
  288. package/dist/runtime/components/ui/calendar/CalendarNextButton.vue.d.ts +46 -0
  289. package/dist/runtime/components/ui/calendar/CalendarPrevButton.d.vue.ts +46 -0
  290. package/dist/runtime/components/ui/calendar/CalendarPrevButton.vue +33 -0
  291. package/dist/runtime/components/ui/calendar/CalendarPrevButton.vue.d.ts +46 -0
  292. package/dist/runtime/components/ui/calendar/index.d.ts +12 -0
  293. package/dist/runtime/components/ui/calendar/index.js +12 -0
  294. package/dist/runtime/components/ui/card/Card.d.vue.ts +20 -0
  295. package/dist/runtime/components/ui/card/Card.vue +14 -0
  296. package/dist/runtime/components/ui/card/Card.vue.d.ts +20 -0
  297. package/dist/runtime/components/ui/card/CardAction.d.vue.ts +20 -0
  298. package/dist/runtime/components/ui/card/CardAction.vue +14 -0
  299. package/dist/runtime/components/ui/card/CardAction.vue.d.ts +20 -0
  300. package/dist/runtime/components/ui/card/CardContent.d.vue.ts +20 -0
  301. package/dist/runtime/components/ui/card/CardContent.vue +14 -0
  302. package/dist/runtime/components/ui/card/CardContent.vue.d.ts +20 -0
  303. package/dist/runtime/components/ui/card/CardDescription.d.vue.ts +20 -0
  304. package/dist/runtime/components/ui/card/CardDescription.vue +14 -0
  305. package/dist/runtime/components/ui/card/CardDescription.vue.d.ts +20 -0
  306. package/dist/runtime/components/ui/card/CardFooter.d.vue.ts +20 -0
  307. package/dist/runtime/components/ui/card/CardFooter.vue +14 -0
  308. package/dist/runtime/components/ui/card/CardFooter.vue.d.ts +20 -0
  309. package/dist/runtime/components/ui/card/CardHeader.d.vue.ts +20 -0
  310. package/dist/runtime/components/ui/card/CardHeader.vue +19 -0
  311. package/dist/runtime/components/ui/card/CardHeader.vue.d.ts +20 -0
  312. package/dist/runtime/components/ui/card/CardTitle.d.vue.ts +20 -0
  313. package/dist/runtime/components/ui/card/CardTitle.vue +14 -0
  314. package/dist/runtime/components/ui/card/CardTitle.vue.d.ts +20 -0
  315. package/dist/runtime/components/ui/card/index.d.ts +1 -0
  316. package/dist/runtime/components/ui/card/index.js +7 -0
  317. package/dist/runtime/components/ui/checkbox/Checkbox.d.vue.ts +122 -0
  318. package/dist/runtime/components/ui/checkbox/Checkbox.vue +51 -0
  319. package/dist/runtime/components/ui/checkbox/Checkbox.vue.d.ts +122 -0
  320. package/dist/runtime/components/ui/checkbox/index.d.ts +5 -0
  321. package/dist/runtime/components/ui/checkbox/index.js +35 -0
  322. package/dist/runtime/components/ui/dropdown-menu/DropdownMenu.d.vue.ts +52 -0
  323. package/dist/runtime/components/ui/dropdown-menu/DropdownMenu.vue +20 -0
  324. package/dist/runtime/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +52 -0
  325. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.d.vue.ts +69 -0
  326. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +36 -0
  327. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +69 -0
  328. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.d.vue.ts +195 -0
  329. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue +46 -0
  330. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +195 -0
  331. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuGroup.d.vue.ts +30 -0
  332. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuGroup.vue +16 -0
  333. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuGroup.vue.d.ts +30 -0
  334. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.d.vue.ts +75 -0
  335. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue +32 -0
  336. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue.d.ts +75 -0
  337. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.d.vue.ts +47 -0
  338. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  339. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue.d.ts +47 -0
  340. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioGroup.d.vue.ts +42 -0
  341. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +19 -0
  342. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +42 -0
  343. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.d.vue.ts +67 -0
  344. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +36 -0
  345. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +67 -0
  346. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.d.vue.ts +31 -0
  347. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.vue +18 -0
  348. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.vue.d.ts +31 -0
  349. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.d.vue.ts +20 -0
  350. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.vue +14 -0
  351. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.vue.d.ts +20 -0
  352. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSub.d.vue.ts +35 -0
  353. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  354. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSub.vue.d.ts +35 -0
  355. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.d.vue.ts +180 -0
  356. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue +50 -0
  357. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +180 -0
  358. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.d.vue.ts +64 -0
  359. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  360. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +64 -0
  361. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuTrigger.d.vue.ts +39 -0
  362. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuTrigger.vue +18 -0
  363. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuTrigger.vue.d.ts +39 -0
  364. package/dist/runtime/components/ui/dropdown-menu/index.d.ts +1 -0
  365. package/dist/runtime/components/ui/dropdown-menu/index.js +16 -0
  366. package/dist/runtime/components/ui/input/Input.d.vue.ts +33 -0
  367. package/dist/runtime/components/ui/input/Input.vue +28 -0
  368. package/dist/runtime/components/ui/input/Input.vue.d.ts +33 -0
  369. package/dist/runtime/components/ui/input/index.d.ts +1 -0
  370. package/dist/runtime/components/ui/input/index.js +1 -0
  371. package/dist/runtime/components/ui/label/Label.d.vue.ts +46 -0
  372. package/dist/runtime/components/ui/label/Label.vue +26 -0
  373. package/dist/runtime/components/ui/label/Label.vue.d.ts +46 -0
  374. package/dist/runtime/components/ui/label/index.d.ts +1 -0
  375. package/dist/runtime/components/ui/label/index.js +1 -0
  376. package/dist/runtime/components/ui/multiselect/MultiSelect.d.vue.ts +80 -0
  377. package/dist/runtime/components/ui/multiselect/MultiSelect.vue +98 -0
  378. package/dist/runtime/components/ui/multiselect/MultiSelect.vue.d.ts +80 -0
  379. package/dist/runtime/components/ui/multiselect/index.d.ts +1 -0
  380. package/dist/runtime/components/ui/multiselect/index.js +1 -0
  381. package/dist/runtime/components/ui/pagination/Pagination.d.vue.ts +103 -0
  382. package/dist/runtime/components/ui/pagination/Pagination.vue +30 -0
  383. package/dist/runtime/components/ui/pagination/Pagination.vue.d.ts +103 -0
  384. package/dist/runtime/components/ui/pagination/PaginationContent.d.vue.ts +45 -0
  385. package/dist/runtime/components/ui/pagination/PaginationContent.vue +21 -0
  386. package/dist/runtime/components/ui/pagination/PaginationContent.vue.d.ts +45 -0
  387. package/dist/runtime/components/ui/pagination/PaginationEllipsis.d.vue.ts +38 -0
  388. package/dist/runtime/components/ui/pagination/PaginationEllipsis.vue +24 -0
  389. package/dist/runtime/components/ui/pagination/PaginationEllipsis.vue.d.ts +38 -0
  390. package/dist/runtime/components/ui/pagination/PaginationFirst.d.vue.ts +49 -0
  391. package/dist/runtime/components/ui/pagination/PaginationFirst.vue +27 -0
  392. package/dist/runtime/components/ui/pagination/PaginationFirst.vue.d.ts +49 -0
  393. package/dist/runtime/components/ui/pagination/PaginationItem.d.vue.ts +66 -0
  394. package/dist/runtime/components/ui/pagination/PaginationItem.vue +32 -0
  395. package/dist/runtime/components/ui/pagination/PaginationItem.vue.d.ts +66 -0
  396. package/dist/runtime/components/ui/pagination/PaginationLast.d.vue.ts +49 -0
  397. package/dist/runtime/components/ui/pagination/PaginationLast.vue +27 -0
  398. package/dist/runtime/components/ui/pagination/PaginationLast.vue.d.ts +49 -0
  399. package/dist/runtime/components/ui/pagination/PaginationNext.d.vue.ts +49 -0
  400. package/dist/runtime/components/ui/pagination/PaginationNext.vue +27 -0
  401. package/dist/runtime/components/ui/pagination/PaginationNext.vue.d.ts +49 -0
  402. package/dist/runtime/components/ui/pagination/PaginationPrevious.d.vue.ts +49 -0
  403. package/dist/runtime/components/ui/pagination/PaginationPrevious.vue +27 -0
  404. package/dist/runtime/components/ui/pagination/PaginationPrevious.vue.d.ts +49 -0
  405. package/dist/runtime/components/ui/pagination/index.d.ts +1 -0
  406. package/dist/runtime/components/ui/pagination/index.js +8 -0
  407. package/dist/runtime/components/ui/popover/Popover.d.vue.ts +44 -0
  408. package/dist/runtime/components/ui/popover/Popover.vue +19 -0
  409. package/dist/runtime/components/ui/popover/Popover.vue.d.ts +44 -0
  410. package/dist/runtime/components/ui/popover/PopoverAnchor.d.vue.ts +38 -0
  411. package/dist/runtime/components/ui/popover/PopoverAnchor.vue +17 -0
  412. package/dist/runtime/components/ui/popover/PopoverAnchor.vue.d.ts +38 -0
  413. package/dist/runtime/components/ui/popover/PopoverContent.d.vue.ts +200 -0
  414. package/dist/runtime/components/ui/popover/PopoverContent.vue +56 -0
  415. package/dist/runtime/components/ui/popover/PopoverContent.vue.d.ts +200 -0
  416. package/dist/runtime/components/ui/popover/PopoverTrigger.d.vue.ts +30 -0
  417. package/dist/runtime/components/ui/popover/PopoverTrigger.vue +16 -0
  418. package/dist/runtime/components/ui/popover/PopoverTrigger.vue.d.ts +30 -0
  419. package/dist/runtime/components/ui/popover/index.d.ts +1 -0
  420. package/dist/runtime/components/ui/popover/index.js +4 -0
  421. package/dist/runtime/components/ui/progress/Progress.d.vue.ts +66 -0
  422. package/dist/runtime/components/ui/progress/Progress.vue +28 -0
  423. package/dist/runtime/components/ui/progress/Progress.vue.d.ts +66 -0
  424. package/dist/runtime/components/ui/progress/index.d.ts +1 -0
  425. package/dist/runtime/components/ui/progress/index.js +1 -0
  426. package/dist/runtime/components/ui/resizable/ResizableHandle.d.vue.ts +77 -0
  427. package/dist/runtime/components/ui/resizable/ResizableHandle.vue +37 -0
  428. package/dist/runtime/components/ui/resizable/ResizableHandle.vue.d.ts +77 -0
  429. package/dist/runtime/components/ui/resizable/ResizablePanel.d.vue.ts +101 -0
  430. package/dist/runtime/components/ui/resizable/ResizablePanel.vue +50 -0
  431. package/dist/runtime/components/ui/resizable/ResizablePanel.vue.d.ts +101 -0
  432. package/dist/runtime/components/ui/resizable/ResizablePanelGroup.d.vue.ts +82 -0
  433. package/dist/runtime/components/ui/resizable/ResizablePanelGroup.vue +27 -0
  434. package/dist/runtime/components/ui/resizable/ResizablePanelGroup.vue.d.ts +82 -0
  435. package/dist/runtime/components/ui/resizable/index.d.ts +1 -0
  436. package/dist/runtime/components/ui/resizable/index.js +3 -0
  437. package/dist/runtime/components/ui/select/Select.d.vue.ts +112 -0
  438. package/dist/runtime/components/ui/select/Select.vue +27 -0
  439. package/dist/runtime/components/ui/select/Select.vue.d.ts +112 -0
  440. package/dist/runtime/components/ui/select/SelectContent.d.vue.ts +199 -0
  441. package/dist/runtime/components/ui/select/SelectContent.vue +65 -0
  442. package/dist/runtime/components/ui/select/SelectContent.vue.d.ts +199 -0
  443. package/dist/runtime/components/ui/select/SelectGroup.d.vue.ts +30 -0
  444. package/dist/runtime/components/ui/select/SelectGroup.vue +16 -0
  445. package/dist/runtime/components/ui/select/SelectGroup.vue.d.ts +30 -0
  446. package/dist/runtime/components/ui/select/SelectItem.d.vue.ts +63 -0
  447. package/dist/runtime/components/ui/select/SelectItem.vue +38 -0
  448. package/dist/runtime/components/ui/select/SelectItem.vue.d.ts +63 -0
  449. package/dist/runtime/components/ui/select/SelectItemText.d.vue.ts +30 -0
  450. package/dist/runtime/components/ui/select/SelectItemText.vue +16 -0
  451. package/dist/runtime/components/ui/select/SelectItemText.vue.d.ts +30 -0
  452. package/dist/runtime/components/ui/select/SelectLabel.d.vue.ts +46 -0
  453. package/dist/runtime/components/ui/select/SelectLabel.vue +18 -0
  454. package/dist/runtime/components/ui/select/SelectLabel.vue.d.ts +46 -0
  455. package/dist/runtime/components/ui/select/SelectScrollDownButton.d.vue.ts +38 -0
  456. package/dist/runtime/components/ui/select/SelectScrollDownButton.vue +24 -0
  457. package/dist/runtime/components/ui/select/SelectScrollDownButton.vue.d.ts +38 -0
  458. package/dist/runtime/components/ui/select/SelectScrollUpButton.d.vue.ts +38 -0
  459. package/dist/runtime/components/ui/select/SelectScrollUpButton.vue +24 -0
  460. package/dist/runtime/components/ui/select/SelectScrollUpButton.vue.d.ts +38 -0
  461. package/dist/runtime/components/ui/select/SelectSeparator.d.vue.ts +31 -0
  462. package/dist/runtime/components/ui/select/SelectSeparator.vue +18 -0
  463. package/dist/runtime/components/ui/select/SelectSeparator.vue.d.ts +31 -0
  464. package/dist/runtime/components/ui/select/SelectTrigger.d.vue.ts +66 -0
  465. package/dist/runtime/components/ui/select/SelectTrigger.vue +34 -0
  466. package/dist/runtime/components/ui/select/SelectTrigger.vue.d.ts +66 -0
  467. package/dist/runtime/components/ui/select/SelectValue.d.vue.ts +38 -0
  468. package/dist/runtime/components/ui/select/SelectValue.vue +17 -0
  469. package/dist/runtime/components/ui/select/SelectValue.vue.d.ts +38 -0
  470. package/dist/runtime/components/ui/select/index.d.ts +11 -0
  471. package/dist/runtime/components/ui/select/index.js +11 -0
  472. package/dist/runtime/components/ui/separator/Separator.d.vue.ts +53 -0
  473. package/dist/runtime/components/ui/separator/Separator.vue +25 -0
  474. package/dist/runtime/components/ui/separator/Separator.vue.d.ts +53 -0
  475. package/dist/runtime/components/ui/separator/index.d.ts +1 -0
  476. package/dist/runtime/components/ui/separator/index.js +1 -0
  477. package/dist/runtime/components/ui/sheet/Sheet.d.vue.ts +44 -0
  478. package/dist/runtime/components/ui/sheet/Sheet.vue +19 -0
  479. package/dist/runtime/components/ui/sheet/Sheet.vue.d.ts +44 -0
  480. package/dist/runtime/components/ui/sheet/SheetClose.d.vue.ts +30 -0
  481. package/dist/runtime/components/ui/sheet/SheetClose.vue +16 -0
  482. package/dist/runtime/components/ui/sheet/SheetClose.vue.d.ts +30 -0
  483. package/dist/runtime/components/ui/sheet/SheetContent.d.vue.ts +90 -0
  484. package/dist/runtime/components/ui/sheet/SheetContent.vue +61 -0
  485. package/dist/runtime/components/ui/sheet/SheetContent.vue.d.ts +90 -0
  486. package/dist/runtime/components/ui/sheet/SheetDescription.d.vue.ts +38 -0
  487. package/dist/runtime/components/ui/sheet/SheetDescription.vue +20 -0
  488. package/dist/runtime/components/ui/sheet/SheetDescription.vue.d.ts +38 -0
  489. package/dist/runtime/components/ui/sheet/SheetFooter.d.vue.ts +20 -0
  490. package/dist/runtime/components/ui/sheet/SheetFooter.vue +14 -0
  491. package/dist/runtime/components/ui/sheet/SheetFooter.vue.d.ts +20 -0
  492. package/dist/runtime/components/ui/sheet/SheetHeader.d.vue.ts +20 -0
  493. package/dist/runtime/components/ui/sheet/SheetHeader.vue +14 -0
  494. package/dist/runtime/components/ui/sheet/SheetHeader.vue.d.ts +20 -0
  495. package/dist/runtime/components/ui/sheet/SheetOverlay.d.vue.ts +47 -0
  496. package/dist/runtime/components/ui/sheet/SheetOverlay.vue +26 -0
  497. package/dist/runtime/components/ui/sheet/SheetOverlay.vue.d.ts +47 -0
  498. package/dist/runtime/components/ui/sheet/SheetTitle.d.vue.ts +38 -0
  499. package/dist/runtime/components/ui/sheet/SheetTitle.vue +20 -0
  500. package/dist/runtime/components/ui/sheet/SheetTitle.vue.d.ts +38 -0
  501. package/dist/runtime/components/ui/sheet/SheetTrigger.d.vue.ts +30 -0
  502. package/dist/runtime/components/ui/sheet/SheetTrigger.vue +16 -0
  503. package/dist/runtime/components/ui/sheet/SheetTrigger.vue.d.ts +30 -0
  504. package/dist/runtime/components/ui/sheet/index.d.ts +1 -0
  505. package/dist/runtime/components/ui/sheet/index.js +8 -0
  506. package/dist/runtime/components/ui/sidebar/Sidebar.d.vue.ts +58 -0
  507. package/dist/runtime/components/ui/sidebar/Sidebar.vue +97 -0
  508. package/dist/runtime/components/ui/sidebar/Sidebar.vue.d.ts +58 -0
  509. package/dist/runtime/components/ui/sidebar/SidebarContent.d.vue.ts +20 -0
  510. package/dist/runtime/components/ui/sidebar/SidebarContent.vue +17 -0
  511. package/dist/runtime/components/ui/sidebar/SidebarContent.vue.d.ts +20 -0
  512. package/dist/runtime/components/ui/sidebar/SidebarFooter.d.vue.ts +20 -0
  513. package/dist/runtime/components/ui/sidebar/SidebarFooter.vue +15 -0
  514. package/dist/runtime/components/ui/sidebar/SidebarFooter.vue.d.ts +20 -0
  515. package/dist/runtime/components/ui/sidebar/SidebarGroup.d.vue.ts +20 -0
  516. package/dist/runtime/components/ui/sidebar/SidebarGroup.vue +15 -0
  517. package/dist/runtime/components/ui/sidebar/SidebarGroup.vue.d.ts +20 -0
  518. package/dist/runtime/components/ui/sidebar/SidebarGroupAction.d.vue.ts +38 -0
  519. package/dist/runtime/components/ui/sidebar/SidebarGroupAction.vue +27 -0
  520. package/dist/runtime/components/ui/sidebar/SidebarGroupAction.vue.d.ts +38 -0
  521. package/dist/runtime/components/ui/sidebar/SidebarGroupContent.d.vue.ts +20 -0
  522. package/dist/runtime/components/ui/sidebar/SidebarGroupContent.vue +15 -0
  523. package/dist/runtime/components/ui/sidebar/SidebarGroupContent.vue.d.ts +20 -0
  524. package/dist/runtime/components/ui/sidebar/SidebarGroupLabel.d.vue.ts +38 -0
  525. package/dist/runtime/components/ui/sidebar/SidebarGroupLabel.vue +26 -0
  526. package/dist/runtime/components/ui/sidebar/SidebarGroupLabel.vue.d.ts +38 -0
  527. package/dist/runtime/components/ui/sidebar/SidebarHeader.d.vue.ts +20 -0
  528. package/dist/runtime/components/ui/sidebar/SidebarHeader.vue +15 -0
  529. package/dist/runtime/components/ui/sidebar/SidebarHeader.vue.d.ts +20 -0
  530. package/dist/runtime/components/ui/sidebar/SidebarInput.d.vue.ts +20 -0
  531. package/dist/runtime/components/ui/sidebar/SidebarInput.vue +15 -0
  532. package/dist/runtime/components/ui/sidebar/SidebarInput.vue.d.ts +20 -0
  533. package/dist/runtime/components/ui/sidebar/SidebarInset.d.vue.ts +20 -0
  534. package/dist/runtime/components/ui/sidebar/SidebarInset.vue +20 -0
  535. package/dist/runtime/components/ui/sidebar/SidebarInset.vue.d.ts +20 -0
  536. package/dist/runtime/components/ui/sidebar/SidebarMenu.d.vue.ts +20 -0
  537. package/dist/runtime/components/ui/sidebar/SidebarMenu.vue +15 -0
  538. package/dist/runtime/components/ui/sidebar/SidebarMenu.vue.d.ts +20 -0
  539. package/dist/runtime/components/ui/sidebar/SidebarMenuAction.d.vue.ts +50 -0
  540. package/dist/runtime/components/ui/sidebar/SidebarMenuAction.vue +33 -0
  541. package/dist/runtime/components/ui/sidebar/SidebarMenuAction.vue.d.ts +50 -0
  542. package/dist/runtime/components/ui/sidebar/SidebarMenuBadge.d.vue.ts +20 -0
  543. package/dist/runtime/components/ui/sidebar/SidebarMenuBadge.vue +25 -0
  544. package/dist/runtime/components/ui/sidebar/SidebarMenuBadge.vue.d.ts +20 -0
  545. package/dist/runtime/components/ui/sidebar/SidebarMenuButton.d.vue.ts +82 -0
  546. package/dist/runtime/components/ui/sidebar/SidebarMenuButton.vue +49 -0
  547. package/dist/runtime/components/ui/sidebar/SidebarMenuButton.vue.d.ts +82 -0
  548. package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.d.vue.ts +72 -0
  549. package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.vue +27 -0
  550. package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.vue.d.ts +72 -0
  551. package/dist/runtime/components/ui/sidebar/SidebarMenuItem.d.vue.ts +20 -0
  552. package/dist/runtime/components/ui/sidebar/SidebarMenuItem.vue +15 -0
  553. package/dist/runtime/components/ui/sidebar/SidebarMenuItem.vue.d.ts +20 -0
  554. package/dist/runtime/components/ui/sidebar/SidebarMenuSkeleton.d.vue.ts +23 -0
  555. package/dist/runtime/components/ui/sidebar/SidebarMenuSkeleton.vue +30 -0
  556. package/dist/runtime/components/ui/sidebar/SidebarMenuSkeleton.vue.d.ts +23 -0
  557. package/dist/runtime/components/ui/sidebar/SidebarMenuSub.d.vue.ts +20 -0
  558. package/dist/runtime/components/ui/sidebar/SidebarMenuSub.vue +21 -0
  559. package/dist/runtime/components/ui/sidebar/SidebarMenuSub.vue.d.ts +20 -0
  560. package/dist/runtime/components/ui/sidebar/SidebarMenuSubButton.d.vue.ts +61 -0
  561. package/dist/runtime/components/ui/sidebar/SidebarMenuSubButton.vue +33 -0
  562. package/dist/runtime/components/ui/sidebar/SidebarMenuSubButton.vue.d.ts +61 -0
  563. package/dist/runtime/components/ui/sidebar/SidebarMenuSubItem.d.vue.ts +20 -0
  564. package/dist/runtime/components/ui/sidebar/SidebarMenuSubItem.vue +15 -0
  565. package/dist/runtime/components/ui/sidebar/SidebarMenuSubItem.vue.d.ts +20 -0
  566. package/dist/runtime/components/ui/sidebar/SidebarProvider.d.vue.ts +47 -0
  567. package/dist/runtime/components/ui/sidebar/SidebarProvider.vue +67 -0
  568. package/dist/runtime/components/ui/sidebar/SidebarProvider.vue.d.ts +47 -0
  569. package/dist/runtime/components/ui/sidebar/SidebarRail.d.vue.ts +20 -0
  570. package/dist/runtime/components/ui/sidebar/SidebarRail.vue +31 -0
  571. package/dist/runtime/components/ui/sidebar/SidebarRail.vue.d.ts +20 -0
  572. package/dist/runtime/components/ui/sidebar/SidebarSeparator.d.vue.ts +20 -0
  573. package/dist/runtime/components/ui/sidebar/SidebarSeparator.vue +15 -0
  574. package/dist/runtime/components/ui/sidebar/SidebarSeparator.vue.d.ts +20 -0
  575. package/dist/runtime/components/ui/sidebar/SidebarTrigger.d.vue.ts +13 -0
  576. package/dist/runtime/components/ui/sidebar/SidebarTrigger.vue +22 -0
  577. package/dist/runtime/components/ui/sidebar/SidebarTrigger.vue.d.ts +13 -0
  578. package/dist/runtime/components/ui/sidebar/index.d.ts +28 -0
  579. package/dist/runtime/components/ui/sidebar/index.js +49 -0
  580. package/dist/runtime/components/ui/sidebar/utils.d.ts +8 -0
  581. package/dist/runtime/components/ui/sidebar/utils.js +10 -0
  582. package/dist/runtime/components/ui/skeleton/Skeleton.d.vue.ts +13 -0
  583. package/dist/runtime/components/ui/skeleton/Skeleton.vue +12 -0
  584. package/dist/runtime/components/ui/skeleton/Skeleton.vue.d.ts +13 -0
  585. package/dist/runtime/components/ui/skeleton/index.d.ts +1 -0
  586. package/dist/runtime/components/ui/skeleton/index.js +1 -0
  587. package/dist/runtime/components/ui/sonner/Sonner.d.vue.ts +162 -0
  588. package/dist/runtime/components/ui/sonner/Sonner.vue +36 -0
  589. package/dist/runtime/components/ui/sonner/Sonner.vue.d.ts +162 -0
  590. package/dist/runtime/components/ui/sonner/index.d.ts +1 -0
  591. package/dist/runtime/components/ui/sonner/index.js +1 -0
  592. package/dist/runtime/components/ui/stepper/Stepper.d.vue.ts +95 -0
  593. package/dist/runtime/components/ui/stepper/Stepper.vue +27 -0
  594. package/dist/runtime/components/ui/stepper/Stepper.vue.d.ts +95 -0
  595. package/dist/runtime/components/ui/stepper/StepperDescription.d.vue.ts +38 -0
  596. package/dist/runtime/components/ui/stepper/StepperDescription.vue +21 -0
  597. package/dist/runtime/components/ui/stepper/StepperDescription.vue.d.ts +38 -0
  598. package/dist/runtime/components/ui/stepper/StepperIndicator.d.vue.ts +38 -0
  599. package/dist/runtime/components/ui/stepper/StepperIndicator.vue +31 -0
  600. package/dist/runtime/components/ui/stepper/StepperIndicator.vue.d.ts +38 -0
  601. package/dist/runtime/components/ui/stepper/StepperItem.d.vue.ts +78 -0
  602. package/dist/runtime/components/ui/stepper/StepperItem.vue +42 -0
  603. package/dist/runtime/components/ui/stepper/StepperItem.vue.d.ts +78 -0
  604. package/dist/runtime/components/ui/stepper/StepperSeparator.d.vue.ts +48 -0
  605. package/dist/runtime/components/ui/stepper/StepperSeparator.vue +29 -0
  606. package/dist/runtime/components/ui/stepper/StepperSeparator.vue.d.ts +48 -0
  607. package/dist/runtime/components/ui/stepper/StepperTitle.d.vue.ts +38 -0
  608. package/dist/runtime/components/ui/stepper/StepperTitle.vue +20 -0
  609. package/dist/runtime/components/ui/stepper/StepperTitle.vue.d.ts +38 -0
  610. package/dist/runtime/components/ui/stepper/StepperTrigger.d.vue.ts +48 -0
  611. package/dist/runtime/components/ui/stepper/StepperTrigger.vue +37 -0
  612. package/dist/runtime/components/ui/stepper/StepperTrigger.vue.d.ts +48 -0
  613. package/dist/runtime/components/ui/stepper/index.d.ts +1 -0
  614. package/dist/runtime/components/ui/stepper/index.js +7 -0
  615. package/dist/runtime/components/ui/switch/Switch.d.vue.ts +123 -0
  616. package/dist/runtime/components/ui/switch/Switch.vue +69 -0
  617. package/dist/runtime/components/ui/switch/Switch.vue.d.ts +123 -0
  618. package/dist/runtime/components/ui/switch/index.d.ts +5 -0
  619. package/dist/runtime/components/ui/switch/index.js +33 -0
  620. package/dist/runtime/components/ui/table/Table.d.vue.ts +20 -0
  621. package/dist/runtime/components/ui/table/Table.vue +19 -0
  622. package/dist/runtime/components/ui/table/Table.vue.d.ts +20 -0
  623. package/dist/runtime/components/ui/table/TableBody.d.vue.ts +20 -0
  624. package/dist/runtime/components/ui/table/TableBody.vue +14 -0
  625. package/dist/runtime/components/ui/table/TableBody.vue.d.ts +20 -0
  626. package/dist/runtime/components/ui/table/TableCaption.d.vue.ts +20 -0
  627. package/dist/runtime/components/ui/table/TableCaption.vue +14 -0
  628. package/dist/runtime/components/ui/table/TableCaption.vue.d.ts +20 -0
  629. package/dist/runtime/components/ui/table/TableCell.d.vue.ts +20 -0
  630. package/dist/runtime/components/ui/table/TableCell.vue +19 -0
  631. package/dist/runtime/components/ui/table/TableCell.vue.d.ts +20 -0
  632. package/dist/runtime/components/ui/table/TableEmpty.d.vue.ts +32 -0
  633. package/dist/runtime/components/ui/table/TableEmpty.vue +23 -0
  634. package/dist/runtime/components/ui/table/TableEmpty.vue.d.ts +32 -0
  635. package/dist/runtime/components/ui/table/TableFooter.d.vue.ts +20 -0
  636. package/dist/runtime/components/ui/table/TableFooter.vue +14 -0
  637. package/dist/runtime/components/ui/table/TableFooter.vue.d.ts +20 -0
  638. package/dist/runtime/components/ui/table/TableHead.d.vue.ts +20 -0
  639. package/dist/runtime/components/ui/table/TableHead.vue +19 -0
  640. package/dist/runtime/components/ui/table/TableHead.vue.d.ts +20 -0
  641. package/dist/runtime/components/ui/table/TableHeader.d.vue.ts +20 -0
  642. package/dist/runtime/components/ui/table/TableHeader.vue +14 -0
  643. package/dist/runtime/components/ui/table/TableHeader.vue.d.ts +20 -0
  644. package/dist/runtime/components/ui/table/TableRow.d.vue.ts +20 -0
  645. package/dist/runtime/components/ui/table/TableRow.vue +14 -0
  646. package/dist/runtime/components/ui/table/TableRow.vue.d.ts +20 -0
  647. package/dist/runtime/components/ui/table/index.d.ts +1 -0
  648. package/dist/runtime/components/ui/table/index.js +9 -0
  649. package/dist/runtime/components/ui/table/utils.d.ts +1 -0
  650. package/dist/runtime/components/ui/table/utils.js +3 -0
  651. package/dist/runtime/components/ui/tabs/Tabs.d.vue.ts +91 -0
  652. package/dist/runtime/components/ui/tabs/Tabs.vue +28 -0
  653. package/dist/runtime/components/ui/tabs/Tabs.vue.d.ts +91 -0
  654. package/dist/runtime/components/ui/tabs/TabsContent.d.vue.ts +55 -0
  655. package/dist/runtime/components/ui/tabs/TabsContent.vue +22 -0
  656. package/dist/runtime/components/ui/tabs/TabsContent.vue.d.ts +55 -0
  657. package/dist/runtime/components/ui/tabs/TabsList.d.vue.ts +47 -0
  658. package/dist/runtime/components/ui/tabs/TabsList.vue +26 -0
  659. package/dist/runtime/components/ui/tabs/TabsList.vue.d.ts +47 -0
  660. package/dist/runtime/components/ui/tabs/TabsTrigger.d.vue.ts +55 -0
  661. package/dist/runtime/components/ui/tabs/TabsTrigger.vue +28 -0
  662. package/dist/runtime/components/ui/tabs/TabsTrigger.vue.d.ts +55 -0
  663. package/dist/runtime/components/ui/tabs/index.d.ts +1 -0
  664. package/dist/runtime/components/ui/tabs/index.js +4 -0
  665. package/dist/runtime/components/ui/tags-input/TagsInput.d.vue.ts +174 -0
  666. package/dist/runtime/components/ui/tags-input/TagsInput.vue +41 -0
  667. package/dist/runtime/components/ui/tags-input/TagsInput.vue.d.ts +174 -0
  668. package/dist/runtime/components/ui/tags-input/TagsInputInput.d.vue.ts +56 -0
  669. package/dist/runtime/components/ui/tags-input/TagsInputInput.vue +21 -0
  670. package/dist/runtime/components/ui/tags-input/TagsInputInput.vue.d.ts +56 -0
  671. package/dist/runtime/components/ui/tags-input/TagsInputItem.d.vue.ts +55 -0
  672. package/dist/runtime/components/ui/tags-input/TagsInputItem.vue +27 -0
  673. package/dist/runtime/components/ui/tags-input/TagsInputItem.vue.d.ts +55 -0
  674. package/dist/runtime/components/ui/tags-input/TagsInputItemDelete.d.vue.ts +38 -0
  675. package/dist/runtime/components/ui/tags-input/TagsInputItemDelete.vue +23 -0
  676. package/dist/runtime/components/ui/tags-input/TagsInputItemDelete.vue.d.ts +38 -0
  677. package/dist/runtime/components/ui/tags-input/TagsInputItemText.d.vue.ts +31 -0
  678. package/dist/runtime/components/ui/tags-input/TagsInputItemText.vue +18 -0
  679. package/dist/runtime/components/ui/tags-input/TagsInputItemText.vue.d.ts +31 -0
  680. package/dist/runtime/components/ui/tags-input/index.d.ts +1 -0
  681. package/dist/runtime/components/ui/tags-input/index.js +5 -0
  682. package/dist/runtime/components/ui/textarea/Textarea.d.vue.ts +33 -0
  683. package/dist/runtime/components/ui/textarea/Textarea.vue +26 -0
  684. package/dist/runtime/components/ui/textarea/Textarea.vue.d.ts +33 -0
  685. package/dist/runtime/components/ui/textarea/index.d.ts +1 -0
  686. package/dist/runtime/components/ui/textarea/index.js +1 -0
  687. package/dist/runtime/components/ui/toggle/Toggle.d.vue.ts +114 -0
  688. package/dist/runtime/components/ui/toggle/Toggle.vue +31 -0
  689. package/dist/runtime/components/ui/toggle/Toggle.vue.d.ts +114 -0
  690. package/dist/runtime/components/ui/toggle/index.d.ts +5 -0
  691. package/dist/runtime/components/ui/toggle/index.js +24 -0
  692. package/dist/runtime/components/ui/toggle-group/ToggleGroup.d.vue.ts +144 -0
  693. package/dist/runtime/components/ui/toggle-group/ToggleGroup.vue +42 -0
  694. package/dist/runtime/components/ui/toggle-group/ToggleGroup.vue.d.ts +144 -0
  695. package/dist/runtime/components/ui/toggle-group/ToggleGroupItem.d.vue.ts +76 -0
  696. package/dist/runtime/components/ui/toggle-group/ToggleGroupItem.vue +40 -0
  697. package/dist/runtime/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +76 -0
  698. package/dist/runtime/components/ui/toggle-group/index.d.ts +1 -0
  699. package/dist/runtime/components/ui/toggle-group/index.js +2 -0
  700. package/dist/runtime/components/ui/tooltip/Tooltip.d.vue.ts +79 -0
  701. package/dist/runtime/components/ui/tooltip/Tooltip.vue +23 -0
  702. package/dist/runtime/components/ui/tooltip/Tooltip.vue.d.ts +79 -0
  703. package/dist/runtime/components/ui/tooltip/TooltipContent.d.vue.ts +162 -0
  704. package/dist/runtime/components/ui/tooltip/TooltipContent.vue +50 -0
  705. package/dist/runtime/components/ui/tooltip/TooltipContent.vue.d.ts +162 -0
  706. package/dist/runtime/components/ui/tooltip/TooltipProvider.d.vue.ts +68 -0
  707. package/dist/runtime/components/ui/tooltip/TooltipProvider.vue +17 -0
  708. package/dist/runtime/components/ui/tooltip/TooltipProvider.vue.d.ts +68 -0
  709. package/dist/runtime/components/ui/tooltip/TooltipTrigger.d.vue.ts +38 -0
  710. package/dist/runtime/components/ui/tooltip/TooltipTrigger.vue +17 -0
  711. package/dist/runtime/components/ui/tooltip/TooltipTrigger.vue.d.ts +38 -0
  712. package/dist/runtime/components/ui/tooltip/index.d.ts +1 -0
  713. package/dist/runtime/components/ui/tooltip/index.js +4 -0
  714. package/dist/runtime/composables/useAPI.d.ts +463 -0
  715. package/dist/runtime/composables/useAPI.js +991 -0
  716. package/dist/runtime/composables/useColorMode.d.ts +19 -0
  717. package/dist/runtime/composables/useColorMode.js +292 -0
  718. package/dist/runtime/composables/useStepper.d.ts +19 -0
  719. package/dist/runtime/composables/useStepper.js +71 -0
  720. package/dist/runtime/composables/useTimeline.d.ts +6 -0
  721. package/dist/runtime/composables/useTimeline.js +188 -0
  722. package/dist/runtime/composables/useViewAPI.d.ts +513 -0
  723. package/dist/runtime/composables/useViewAPI.js +965 -0
  724. package/dist/runtime/core/config.d.ts +166 -0
  725. package/dist/runtime/core/config.js +118 -0
  726. package/dist/runtime/core/stepper/StepState.d.ts +332 -0
  727. package/dist/runtime/core/stepper/StepState.js +775 -0
  728. package/dist/runtime/core/stepper/Stepper.d.ts +165 -0
  729. package/dist/runtime/core/stepper/Stepper.js +618 -0
  730. package/dist/runtime/core/stepper/StepperProxy.d.ts +21 -0
  731. package/dist/runtime/core/stepper/StepperProxy.js +57 -0
  732. package/dist/runtime/core/stepper/StepperSerializer.d.ts +29 -0
  733. package/dist/runtime/core/stepper/StepperSerializer.js +234 -0
  734. package/dist/runtime/core/timeline/Timeline.d.ts +101 -0
  735. package/dist/runtime/core/timeline/Timeline.js +495 -0
  736. package/dist/runtime/css/main.css +1 -0
  737. package/dist/runtime/css/smile.css +1 -0
  738. package/dist/runtime/layouts/development.d.vue.ts +10 -0
  739. package/dist/runtime/layouts/development.vue +189 -0
  740. package/dist/runtime/layouts/development.vue.d.ts +10 -0
  741. package/dist/runtime/layouts/experiment.d.vue.ts +13 -0
  742. package/dist/runtime/layouts/experiment.vue +10 -0
  743. package/dist/runtime/layouts/experiment.vue.d.ts +13 -0
  744. package/dist/runtime/layouts/presentation.d.vue.ts +10 -0
  745. package/dist/runtime/layouts/presentation.vue +45 -0
  746. package/dist/runtime/layouts/presentation.vue.d.ts +10 -0
  747. package/dist/runtime/lib/utils.d.ts +1 -0
  748. package/dist/runtime/lib/utils.js +6 -0
  749. package/dist/runtime/middleware/timeline.global.d.ts +21 -0
  750. package/dist/runtime/middleware/timeline.global.js +422 -0
  751. package/dist/runtime/pages/[...slug].d.vue.ts +3 -0
  752. package/dist/runtime/pages/[...slug].vue +40 -0
  753. package/dist/runtime/pages/[...slug].vue.d.ts +3 -0
  754. package/dist/runtime/pages/dev/[...slug].d.vue.ts +3 -0
  755. package/dist/runtime/pages/dev/[...slug].vue +53 -0
  756. package/dist/runtime/pages/dev/[...slug].vue.d.ts +3 -0
  757. package/dist/runtime/pages/dev-login.d.vue.ts +3 -0
  758. package/dist/runtime/pages/dev-login.vue +56 -0
  759. package/dist/runtime/pages/dev-login.vue.d.ts +3 -0
  760. package/dist/runtime/pages/info.d.vue.ts +3 -0
  761. package/dist/runtime/pages/info.vue +462 -0
  762. package/dist/runtime/pages/info.vue.d.ts +3 -0
  763. package/dist/runtime/pages/presentation/[...slug].d.vue.ts +3 -0
  764. package/dist/runtime/pages/presentation/[...slug].vue +65 -0
  765. package/dist/runtime/pages/presentation/[...slug].vue.d.ts +3 -0
  766. package/dist/runtime/plugins/dev-sync.client.d.ts +2 -0
  767. package/dist/runtime/plugins/dev-sync.client.js +26 -0
  768. package/dist/runtime/plugins/seed.client.d.ts +2 -0
  769. package/dist/runtime/plugins/seed.client.js +44 -0
  770. package/dist/runtime/plugins/store-sync.client.d.ts +2 -0
  771. package/dist/runtime/plugins/store-sync.client.js +74 -0
  772. package/dist/runtime/plugins/timeline.client.d.ts +6 -0
  773. package/dist/runtime/plugins/timeline.client.js +10 -0
  774. package/dist/runtime/server/api/auth/login.post.d.ts +2 -0
  775. package/dist/runtime/server/api/auth/login.post.js +29 -0
  776. package/dist/runtime/server/api/auth/logout.post.d.ts +2 -0
  777. package/dist/runtime/server/api/auth/logout.post.js +12 -0
  778. package/dist/runtime/server/api/auth/session.get.d.ts +2 -0
  779. package/dist/runtime/server/api/auth/session.get.js +15 -0
  780. package/dist/runtime/server/api/participants/[id]/private.patch.d.ts +2 -0
  781. package/dist/runtime/server/api/participants/[id]/private.patch.js +20 -0
  782. package/dist/runtime/server/api/participants/[id]/private.post.d.ts +2 -0
  783. package/dist/runtime/server/api/participants/[id]/private.post.js +21 -0
  784. package/dist/runtime/server/api/participants/[id].get.d.ts +2 -0
  785. package/dist/runtime/server/api/participants/[id].get.js +15 -0
  786. package/dist/runtime/server/api/participants/[id].patch.d.ts +2 -0
  787. package/dist/runtime/server/api/participants/[id].patch.js +20 -0
  788. package/dist/runtime/server/api/participants/index.post.d.ts +2 -0
  789. package/dist/runtime/server/api/participants/index.post.js +17 -0
  790. package/dist/runtime/server/api/qr.get.d.ts +2 -0
  791. package/dist/runtime/server/api/qr.get.js +19 -0
  792. package/dist/runtime/server/database/schema.d.ts +235 -0
  793. package/dist/runtime/server/database/schema.js +19 -0
  794. package/dist/runtime/server/middleware/dev-auth.d.ts +2 -0
  795. package/dist/runtime/server/middleware/dev-auth.js +32 -0
  796. package/dist/runtime/server/plugins/migrate.d.ts +2 -0
  797. package/dist/runtime/server/plugins/migrate.js +30 -0
  798. package/dist/runtime/server/tsconfig.json +3 -0
  799. package/dist/runtime/server/utils/db.d.ts +3 -0
  800. package/dist/runtime/server/utils/db.js +21 -0
  801. package/dist/runtime/stores/log.d.ts +37 -0
  802. package/dist/runtime/stores/log.js +211 -0
  803. package/dist/runtime/stores/smilestore.d.ts +8234 -0
  804. package/dist/runtime/stores/smilestore.js +577 -0
  805. package/dist/runtime/utils/randomization.d.ts +57 -0
  806. package/dist/runtime/utils/randomization.js +189 -0
  807. package/dist/runtime/utils/utils.d.ts +19 -0
  808. package/dist/runtime/utils/utils.js +147 -0
  809. package/dist/types.d.mts +3 -0
  810. package/package.json +107 -0
@@ -0,0 +1,965 @@
1
+ /**
2
+ * @module useViewAPI
3
+ * @description Creates a view-specific API instance that combines core API functionality with stepper controls
4
+ * @returns {object} A reactive object containing:
5
+ * - All methods and properties from the core API
6
+ * - All methods and properties from the stepper
7
+ */
8
+ import { ref, reactive, computed, watch } from 'vue'
9
+ import { SmileAPI } from './useAPI.js'
10
+ import useSmileStore from '../stores/smilestore.js'
11
+ import { useStepper } from './useStepper.js'
12
+ import { onKeyDown, onKeyPressed, onKeyUp, useMouse, useMousePressed } from '@vueuse/core'
13
+ import useTimeline from './useTimeline.js'
14
+ import { useRoute, useRouter } from '#imports'
15
+ import useLog from '../stores/log.js'
16
+ import config from '../core/config.js'
17
+
18
+ // Singleton instance
19
+ let viewAPIInstance = null
20
+
21
+ /**
22
+ * ViewAPI class extends SmileAPI with view-specific functionality
23
+ * @class
24
+ * @extends SmileAPI
25
+ * @description Extends the core SmileAPI with additional view-specific functionality including:
26
+ * - Stepper controls and state management
27
+ * - Data recording capabilities
28
+ * - Mouse and keyboard event handlers
29
+ */
30
+ class ViewAPI extends SmileAPI {
31
+ constructor(store, logStore, route, router, timeline, runtimeConfig) {
32
+ super(store, logStore, route, router, timeline, runtimeConfig)
33
+
34
+ // Store route as a class property
35
+ this._route = route
36
+
37
+ // Make page reactive using computed — use timeline view name (not Vue Router route.name
38
+ // which is always 'dev-slug' or 'slug' in the catch-all page)
39
+ this._page = computed(() => this.currentRouteName() || this._route.name)
40
+ this._stepper = computed(() => {
41
+ const viewName = this.currentRouteName() || this._route.name
42
+ try {
43
+ const stepper = useStepper(viewName)
44
+ stepper.setOnModify(() => this.updateStepper())
45
+ return stepper
46
+ }
47
+ catch {
48
+ return null
49
+ }
50
+ })
51
+
52
+ // Internal reactive refs
53
+ this._dataAlongPath = ref(null)
54
+ this._path = ref(null)
55
+ this._pathString = ref('')
56
+ this._index = ref(null)
57
+ this._stateMachine = ref(null)
58
+ this._gvars = ref({})
59
+
60
+ // Component registry
61
+ this.componentRegistry = new Map()
62
+
63
+ // Watch for stepper changes and update internal state
64
+ watch(
65
+ this._stepper,
66
+ (newStepper) => {
67
+ this._updateStepperState(newStepper, false) // don't save because it will trigger recursive updates
68
+ },
69
+ { immediate: true, deep: true },
70
+ )
71
+
72
+ // Add keyboard event handlers from VueUse
73
+ this.onKeyDown = onKeyDown
74
+ this.onKeyPressed = onKeyPressed
75
+ this.onKeyUp = onKeyUp
76
+
77
+ // Add mouse event handlers from VueUse
78
+ this.useMouse = useMouse
79
+ this.useMousePressed = useMousePressed
80
+ }
81
+
82
+ /**
83
+ * The underlying state machine instance
84
+ * @name steps
85
+ * @memberof ViewAPI
86
+ * @instance
87
+ * @type {Stepper}
88
+ * @description Provides direct access to the underlying Stepper state machine instance.
89
+ * This allows advanced manipulation of the state machine when needed.
90
+ */
91
+ get steps() {
92
+ if (!this._stepper.value) return null
93
+ return this._stepper.value
94
+ }
95
+
96
+ /**
97
+ * Checks if there is a next step available in the stepper.
98
+ * @returns {boolean} True if there is a next step available, false otherwise.
99
+ * @memberof ViewAPI
100
+ * @instance
101
+ */
102
+ hasNextStep() {
103
+ return this._stepper.value.hasNext()
104
+ }
105
+
106
+ /**
107
+ * Checks if there is a previous step available in the stepper.
108
+ * @returns {boolean} True if there is a previous step available, false otherwise.
109
+ * @memberof ViewAPI
110
+ * @instance
111
+ */
112
+ hasPrevStep() {
113
+ return this._stepper.value.hasPrev()
114
+ }
115
+
116
+ /**
117
+ * Checks if there are any steps in the stepper.
118
+ * Calls on the root stepper to check for steps, avoiding leaf node checks if none exist.
119
+ * @returns {boolean} True if there are steps in the stepper, false otherwise.
120
+ * @memberof ViewAPI
121
+ * @instance
122
+ */
123
+ hasSteps() {
124
+ // has steps calls on the root to find if it has steps
125
+ // if not then no need to check for leafs
126
+ return this._stepper.value.hasSteps()
127
+ }
128
+
129
+ /**
130
+ * Advances to the next step in the stepper.
131
+ * Updates the stepper state if a next step exists.
132
+ * @param {boolean} [resetScroll] - Whether to reset scroll position to top after navigation
133
+ * @returns {object | null} The next state object if one exists, null otherwise
134
+ * @memberof ViewAPI
135
+ * @instance
136
+ */
137
+ goNextStep(resetScroll = true) {
138
+ let next = this._stepper.value.next()
139
+ if (resetScroll) {
140
+ this.scrollToTop()
141
+ }
142
+ if (next !== null) {
143
+ this._updateStepperState(next)
144
+ }
145
+ return next
146
+ }
147
+
148
+ /**
149
+ * Returns to the previous step in the stepper.
150
+ * Updates the stepper state if a previous step exists.
151
+ * @param {boolean} [resetScroll] - Whether to reset scroll position to top after navigation
152
+ * @returns {object | null} The previous state object if one exists, null otherwise
153
+ * @memberof ViewAPI
154
+ * @instance
155
+ */
156
+ goPrevStep(resetScroll = true) {
157
+ let prev = this._stepper.value.prev()
158
+ if (resetScroll) {
159
+ this.scrollToTop()
160
+ }
161
+ if (prev !== null) {
162
+ this._updateStepperState(prev)
163
+ }
164
+ return prev
165
+ }
166
+
167
+ /**
168
+ * Resets the stepper to its first step.
169
+ * Updates the stepper state after resetting to the initial position.
170
+ * @param {boolean} [resetScroll] - Whether to reset scroll position to top after navigation
171
+ * @returns {void}
172
+ * @memberof ViewAPI
173
+ * @instance
174
+ */
175
+ goFirstStep(resetScroll = true) {
176
+ this._stepper.value.reset()
177
+ if (resetScroll) {
178
+ this.scrollToTop()
179
+ }
180
+ this._updateStepperState(this._stepper.value)
181
+ }
182
+
183
+ /**
184
+ * Navigates to a specific step by path.
185
+ * Updates the stepper state after navigating to the specified path.
186
+ * @param {string} path - The path of the step to navigate to (e.g. "trial/block1/step2")
187
+ * @param {boolean} [resetScroll] - Whether to reset scroll position to top after navigation
188
+ * @returns {void}
189
+ * @memberof ViewAPI
190
+ * @instance
191
+ */
192
+ goToStep(path, resetScroll = true) {
193
+ this._stepper.value.goTo(path)
194
+ if (resetScroll) {
195
+ this.scrollToTop()
196
+ }
197
+ this._updateStepperState(this._stepper.value)
198
+ }
199
+
200
+ /**
201
+ * Gets the current step index among leaf nodes in the stepper.
202
+ * The step index represents the position of the current path string
203
+ * within the flattened array of leaf nodes.
204
+ * @returns {number} The zero-based index of the current step, or -1 if not found
205
+ * @memberof ViewAPI
206
+ * @instance
207
+ */
208
+ get stepIndex() {
209
+ const leafNodes = this._stepper.value.leafNodes
210
+ return leafNodes.indexOf(this._pathString.value)
211
+ }
212
+
213
+ /**
214
+ * Gets the current block index in the stepper.
215
+ * The block index represents the position within the current block of steps.
216
+ * @returns {number} The zero-based index within the current block
217
+ * @memberof ViewAPI
218
+ * @instance
219
+ */
220
+ get blockIndex() {
221
+ return this._stepper.value.blockIndex
222
+ }
223
+
224
+ /**
225
+ * Gets the current path as a string representation.
226
+ * The path string is a forward-slash delimited string of step names representing
227
+ * the current location in the stepper (e.g. "trial/block1/step2").
228
+ * @returns {string} The current path string
229
+ * @memberof ViewAPI
230
+ * @instance
231
+ */
232
+ get pathString() {
233
+ return this._pathString.value
234
+ }
235
+
236
+ /**
237
+ * Gets the current path as an array.
238
+ * The path array contains the sequence of step names representing the current
239
+ * location in the stepper (e.g. ['trial', 'block1', 'step2']).
240
+ * @returns {string[]} The current path array
241
+ * @memberof ViewAPI
242
+ * @instance
243
+ */
244
+ get path() {
245
+ return this._path.value
246
+ }
247
+
248
+ /**
249
+ * Gets the total number of leaf nodes in the stepper.
250
+ * This represents the total number of steps in the sequence, excluding any parent/container nodes.
251
+ * @returns {number} The total number of leaf nodes
252
+ * @memberof ViewAPI
253
+ * @instance
254
+ */
255
+ get length() {
256
+ return this._stepper.value.countLeafNodes
257
+ }
258
+
259
+ /**
260
+ * Checks if the current step is the last step in the sequence.
261
+ * This compares the current step index against the total number of steps.
262
+ * @returns {boolean} True if this is the last step, false otherwise
263
+ * @memberof ViewAPI
264
+ * @instance
265
+ */
266
+ isLastStep() {
267
+ return this.stepIndex === this.nSteps - 1
268
+ }
269
+
270
+ /**
271
+ * Checks if the current step is the last step in the current block.
272
+ * This compares the current block index against the total length of the block.
273
+ * @returns {boolean} True if this is the last step in the block, false otherwise
274
+ * @memberof ViewAPI
275
+ * @instance
276
+ */
277
+ isLastBlockStep() {
278
+ return this.blockIndex === this.blockLength - 1
279
+ }
280
+
281
+ /**
282
+ * Gets the number of steps in the current block.
283
+ * This represents the total number of steps at the current level in the stepper hierarchy.
284
+ * @returns {number} The number of steps in the current block
285
+ * @memberof ViewAPI
286
+ * @instance
287
+ */
288
+ get blockLength() {
289
+ return this._stepper.value.blockLength
290
+ }
291
+
292
+ /**
293
+ * Gets the total number of leaf nodes in the stepper.
294
+ * This is an alias for nSteps that represents the total number of steps in the sequence.
295
+ * @returns {number} The total number of leaf nodes
296
+ * @memberof ViewAPI
297
+ * @instance
298
+ * @see nSteps
299
+ */
300
+ get stepLength() {
301
+ return this._stepper.value.countLeafNodes
302
+ }
303
+
304
+ /**
305
+ * Alias for stepLength.
306
+ * Returns the total number of leaf nodes in the stepper.
307
+ * @returns {number} The total number of leaf nodes
308
+ * @memberof ViewAPI
309
+ * @instance
310
+ * @see stepLength
311
+ */
312
+ get nSteps() {
313
+ return this.stepLength
314
+ }
315
+
316
+ /**
317
+ * Persistence Methods
318
+ *
319
+ * These methods provide functionality for storing and accessing variables that persist across browser reloads.
320
+ * Persistence is handled through the stepper's root data store and variables are accessible via the `persist` getter.
321
+ *
322
+ * Available persistence methods:
323
+ * - persist: Getter that provides access to persisted variables stored in stepper root data
324
+ * - persist.isDefined(key): Checks if a persisted variable exists
325
+ * - clearPersist(): Clears all persisted variables
326
+ *
327
+ * Example usage:
328
+ * ```js
329
+ * // Set a persisted value
330
+ * api.persist.myVar = 'some value'
331
+ *
332
+ * // Check if variable exists
333
+ * if (api.persist.isDefined('myVar')) {
334
+ * // Access persisted value
335
+ * console.log(api.persist.myVar)
336
+ * }
337
+ *
338
+ * // Clear all persisted values
339
+ * api.clearPersist()
340
+ * ```
341
+ */
342
+ // Getter for persisted variable that provides access to gvars from stepper root data
343
+ /**
344
+ * Getter that provides access to persisted variables stored in the stepper's root data.
345
+ * Creates a recursive proxy to handle nested object access and updates.
346
+ *
347
+ * @returns {Proxy} A proxy object that provides access to persisted variables with:
348
+ * - get: Returns persisted values and the isDefined() helper method
349
+ * - set: Updates persisted values and triggers stepper update
350
+ * @memberof ViewAPI
351
+ * @instance
352
+ *
353
+ * @example
354
+ * // Set a persisted value
355
+ * api.persist.myVar = 'value'
356
+ *
357
+ * // Get a persisted value
358
+ * const value = api.persist.myVar
359
+ *
360
+ * // Check if variable exists
361
+ * if (api.persist.isDefined('myVar')) {
362
+ * // Variable exists
363
+ * }
364
+ */
365
+ get persist() {
366
+ if (!this._stepper.value.root.data.gvars) {
367
+ this._stepper.value.root.data.gvars = {}
368
+ }
369
+ const self = this // capture the outer this context
370
+
371
+ const isDefined = key => key in this._stepper.value.root.data.gvars
372
+
373
+ const createRecursiveProxy = (target) => {
374
+ return new Proxy(target, {
375
+ get: (target, prop) => {
376
+ if (prop === 'isDefined') {
377
+ return isDefined
378
+ }
379
+ const value = target[prop]
380
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
381
+ return createRecursiveProxy(value)
382
+ }
383
+ return value
384
+ },
385
+ set: (target, prop, value) => {
386
+ target[prop] = value
387
+ setTimeout(() => {
388
+ self.updateStepper()
389
+ }, 2)
390
+ return true
391
+ },
392
+ })
393
+ }
394
+
395
+ return createRecursiveProxy(this._stepper.value.root.data.gvars)
396
+ }
397
+
398
+ /**
399
+ * Clears all persisted variables stored in the stepper's root data.
400
+ * This resets both the internal gvars ref and the stepper's root data gvars to empty objects.
401
+ * @method clearPersist
402
+ * @memberof ViewAPI
403
+ * @instance
404
+ * @returns {void}
405
+ * @example
406
+ * // Clear all persisted variables
407
+ * api.clearPersist()
408
+ */
409
+ clearPersist() {
410
+ this._gvars.value = reactive({})
411
+ this._stepper.value.root.data.gvars = {}
412
+ this._saveStepperState()
413
+ }
414
+
415
+ /**
416
+ * Timing Methods
417
+ *
418
+ * These methods provide functionality for tracking elapsed time during the experiment.
419
+ * Times are stored in the persisted variables (gvars) and can be accessed across steps.
420
+ * Multiple named timers can be running simultaneously.
421
+ *
422
+ * Available timing methods:
423
+ * - startTimer(name): Starts a named timer
424
+ * - isTimerStarted(name): Checks if a timer exists
425
+ * - elapsedTime(name): Gets elapsed time in milliseconds
426
+ * - elapsedTimeInSeconds(name): Gets elapsed time in seconds
427
+ * - elapsedTimeInMinutes(name): Gets elapsed time in minutes
428
+ *
429
+ * @memberof ViewAPI
430
+ */
431
+
432
+ /**
433
+ * Starts a named timer by storing the current timestamp in persisted variables
434
+ * @param {string} [name] - The name of the timer to start
435
+ * @returns {void}
436
+ * @memberof ViewAPI
437
+ * @instance
438
+ */
439
+ startTimer(name = 'default') {
440
+ this.persist[`startTime_${name}`] = Date.now()
441
+ }
442
+
443
+ /**
444
+ * Checks if a named timer has been started
445
+ * @param {string} [name] - The name of the timer to check
446
+ * @returns {boolean} True if the timer exists and has been started, false otherwise
447
+ * @memberof ViewAPI
448
+ * @instance
449
+ */
450
+ isTimerStarted(name = 'default') {
451
+ const timerKey = `startTime_${name}`
452
+ return this.persist.isDefined(timerKey) ? this.persist[timerKey] : false
453
+ }
454
+
455
+ /**
456
+ * Gets the elapsed time in milliseconds since a named timer was started
457
+ * @param {string} [name] - The name of the timer to check
458
+ * @returns {number} Elapsed time in milliseconds
459
+ * @memberof ViewAPI
460
+ * @instance
461
+ */
462
+ elapsedTime(name = 'default') {
463
+ return Date.now() - this.persist[`startTime_${name}`]
464
+ }
465
+
466
+ /**
467
+ * Gets the elapsed time in seconds since a named timer was started
468
+ * @param {string} [name] - The name of the timer to check
469
+ * @returns {number} Elapsed time in seconds
470
+ * @memberof ViewAPI
471
+ * @instance
472
+ */
473
+ elapsedTimeInSeconds(name = 'default') {
474
+ return (Date.now() - this.persist[`startTime_${name}`]) / 1000
475
+ }
476
+
477
+ /**
478
+ * Gets the elapsed time in minutes since a named timer was started
479
+ * @param {string} [name] - The name of the timer to check
480
+ * @returns {number} Elapsed time in minutes
481
+ * @memberof ViewAPI
482
+ * @instance
483
+ */
484
+ elapsedTimeInMinutes(name = 'default') {
485
+ return (Date.now() - this.persist[`startTime_${name}`]) / 60000
486
+ }
487
+
488
+ /**
489
+ * Data Methods
490
+ *
491
+ * These methods provide functionality for storing and retrieving data associated with each step in a view.
492
+ * Data is persisted with each step and can be accessed later when revisiting steps.
493
+ *
494
+ * The data methods include:
495
+ * - stepData: Gets/sets merged data from all steps in the current path (parent blocks + current step)
496
+ * - stepDataLeaf: Gets/sets data for only the current step (leaf node)
497
+ * - dataAlongPath: Gets raw data array for all steps in the current path
498
+ * - queryStepData(): Gets data for all steps, optionally filtered by path pattern
499
+ * - clearCurrentStepData(): Clears data for the current step
500
+ * - clear(): Clears all step data for the current view
501
+ *
502
+ * Data can be accessed and modified through stepData (merged) or stepDataLeaf (current step only):
503
+ * @example
504
+ * // Get merged data from current path (includes parent block data)
505
+ * const data = api.stepData
506
+ *
507
+ * // Get data from only current step
508
+ * const leafData = api.stepDataLeaf
509
+ *
510
+ * // Set data on current step
511
+ * api.stepDataLeaf.response = 'some value'
512
+ *
513
+ * // Get data from all steps matching a path pattern
514
+ * const allData = api.queryStepData('trial/block*')
515
+ *
516
+ * // Clear current step data
517
+ * api.clearCurrentStepData()
518
+ *
519
+ * @memberof ViewAPI
520
+ */
521
+
522
+ /**
523
+ * Gets merged data from all steps in the current path (parent blocks + current step)
524
+ * @returns {object | null} Merged data object containing properties from all steps in current path, or null if no path data exists
525
+ * @memberof ViewAPI
526
+ * @instance
527
+ * @example
528
+ * // Get merged data including parent block data
529
+ * const data = api.stepData
530
+ * console.log(data.blockType) // Access block-level property
531
+ * console.log(data.response) // Access step-level property
532
+ *
533
+ * // Modify data (changes are saved to current step)
534
+ * api.stepData.response = 'new value'
535
+ */
536
+ get stepData() {
537
+ if (!this._dataAlongPath.value) return null
538
+
539
+ const mergedData = computed(() => {
540
+ return this._dataAlongPath.value.reduce((merged, item) => {
541
+ return { ...merged, ...item }
542
+ }, {})
543
+ })
544
+
545
+ const createRecursiveProxy = (obj, path = []) => {
546
+ if (obj === null || typeof obj !== 'object') {
547
+ return obj
548
+ }
549
+
550
+ if (Array.isArray(obj)) {
551
+ return new Proxy(obj, {
552
+ get: (target, prop) => {
553
+ const value = target[prop]
554
+ if (typeof prop === 'string' && !Number.isNaN(Number(prop))) {
555
+ return createRecursiveProxy(value, [...path, prop])
556
+ }
557
+ return value
558
+ },
559
+ set: (target, prop, value) => {
560
+ if (this._stepper.value.currentData) {
561
+ // Navigate to the correct nested location in currentData
562
+ let current = this._stepper.value.currentData
563
+ for (let i = 0; i < path.length; i++) {
564
+ if (current[path[i]] === undefined) {
565
+ current[path[i]] = {}
566
+ }
567
+ current = current[path[i]]
568
+ }
569
+ current[prop] = value
570
+ this._saveStepperState()
571
+ }
572
+ return true
573
+ },
574
+ })
575
+ }
576
+
577
+ return new Proxy(obj, {
578
+ get: (target, prop) => {
579
+ const value = target[prop]
580
+ return createRecursiveProxy(value, [...path, prop])
581
+ },
582
+ set: (target, prop, value) => {
583
+ if (this._stepper.value.currentData) {
584
+ // Navigate to the correct nested location in currentData
585
+ let current = this._stepper.value.currentData
586
+ for (let i = 0; i < path.length; i++) {
587
+ if (current[path[i]] === undefined) {
588
+ current[path[i]] = {}
589
+ }
590
+ current = current[path[i]]
591
+ }
592
+ current[prop] = value
593
+ this._saveStepperState()
594
+ }
595
+ return true
596
+ },
597
+ })
598
+ }
599
+
600
+ return createRecursiveProxy(mergedData.value)
601
+ }
602
+
603
+ /**
604
+ * Gets the data only from the current leaf node of the current path.
605
+ * This is similar to stepData but only includes data from the current leaf node,
606
+ * not the entire path. Works with nested objects and arrays through a proxy.
607
+ * @returns {Proxy|null} A proxy object for the current leaf node's data, or null if no data exists
608
+ * @memberof ViewAPI
609
+ * @instance
610
+ * @example
611
+ * // Get a value from the current leaf node
612
+ * const value = api.stepDataLeaf.myVariable
613
+ *
614
+ * // Set a value in the current leaf node
615
+ * api.stepDataLeaf.myVariable = 'new value'
616
+ *
617
+ * // Work with nested objects
618
+ * api.stepDataLeaf.nested.obj.prop = 123
619
+ *
620
+ * // Work with arrays
621
+ * api.stepDataLeaf.myArray[0] = 'first item'
622
+ */
623
+ get stepDataLeaf() {
624
+ if (!this._stepper.value?.currentData) return null
625
+
626
+ const createRecursiveProxy = (obj) => {
627
+ if (obj === null || typeof obj !== 'object') {
628
+ return obj
629
+ }
630
+
631
+ if (Array.isArray(obj)) {
632
+ return new Proxy(obj, {
633
+ get: (target, prop) => {
634
+ const value = target[prop]
635
+ if (typeof prop === 'string' && !Number.isNaN(Number(prop))) {
636
+ return createRecursiveProxy(value)
637
+ }
638
+ return value
639
+ },
640
+ set: (target, prop, value) => {
641
+ target[prop] = value
642
+ this._stepper.value.currentData[prop] = value
643
+ this._saveStepperState()
644
+ return true
645
+ },
646
+ })
647
+ }
648
+
649
+ return new Proxy(obj, {
650
+ get: (target, prop) => {
651
+ const value = target[prop]
652
+ return createRecursiveProxy(value)
653
+ },
654
+ set: (target, prop, value) => {
655
+ target[prop] = value
656
+ this._stepper.value.currentData[prop] = value
657
+ this._saveStepperState()
658
+ return true
659
+ },
660
+ })
661
+ }
662
+
663
+ return createRecursiveProxy(this._stepper.value.currentData)
664
+ }
665
+
666
+ /**
667
+ * Gets the path data for the current step, with component types resolved from the registry
668
+ * @returns {Array|null} Array of path data objects with resolved component types, or null if no path data exists
669
+ */
670
+ get dataAlongPath() {
671
+ if (this._dataAlongPath.value === null) return null
672
+
673
+ return this._dataAlongPath.value.map((item) => {
674
+ if (item?.type?.__vueComponent) {
675
+ return {
676
+ ...item,
677
+ type: this.componentRegistry.get(item.type.componentName) || {
678
+ template: `<div>Component ${item.type.componentName} not found</div>`,
679
+ },
680
+ }
681
+ }
682
+ return item
683
+ })
684
+ }
685
+
686
+ /**
687
+ * Gets data for all leaf nodes in the stepper, optionally filtered by path pattern.
688
+ * Returns only the data directly associated with each leaf node, without merging parent block data.
689
+ * @param {string|null} [pathFilter] - Optional path pattern to filter nodes (e.g. 'trial/block*')
690
+ * @returns {Array<object>} Array of data objects for each matching leaf node
691
+ * @memberof ViewAPI
692
+ * @instance
693
+ * @example
694
+ * // Get data for all leaf nodes
695
+ * const allLeafData = api.queryStepDataLeaf()
696
+ *
697
+ * // Get data for nodes matching a pattern
698
+ * const trialData = api.queryStepDataLeaf('trial/block*')
699
+ */
700
+ queryStepDataLeaf(pathFilter = null) {
701
+ const matchesFilter = (path, filter) => {
702
+ if (!filter) return true
703
+
704
+ let pattern = filter.replace(/\*/g, '.*')
705
+ pattern = pattern.replace(/[+?^${}()|[\]\\]/g, '\\$&')
706
+ const regex = new RegExp(`^${pattern}`)
707
+ return regex.test(path)
708
+ }
709
+
710
+ const getLeafData = (state) => {
711
+ if (state.isLeaf) {
712
+ if (matchesFilter(state.pathString, pathFilter)) {
713
+ return state.data
714
+ }
715
+ return []
716
+ }
717
+ return state.states.flatMap(getLeafData)
718
+ }
719
+
720
+ return getLeafData(this._stepper.value)
721
+ }
722
+
723
+ /**
724
+ * Gets data for all leaf nodes in the stepper, optionally filtered by path pattern.
725
+ * Returns only the data directly associated with each leaf node, excluding global variables.
726
+ * @param {string|null} pathFilter - Optional path pattern to filter nodes (e.g. 'trial/block*')
727
+ * @returns {Array} Array of data objects for each matching leaf node, with gvars removed
728
+ * @memberof ViewAPI
729
+ * @instance
730
+ * @example
731
+ * // Get data for all leaf nodes
732
+ * const allData = api.queryStepData()
733
+ *
734
+ * // Get data for nodes matching a pattern
735
+ * const trialData = api.queryStepData('trial/block*')
736
+ */
737
+ queryStepData(pathFilter = null) {
738
+ const matchesFilter = (path, filter) => {
739
+ if (!filter) return true
740
+
741
+ let pattern = filter.replace(/\*/g, '.*')
742
+ pattern = pattern.replace(/[+?^${}()|[\]\\]/g, '\\$&')
743
+ const regex = new RegExp(`^${pattern}`)
744
+ return regex.test(path)
745
+ }
746
+
747
+ const getLeafData = (state) => {
748
+ if (state.isLeaf) {
749
+ if (matchesFilter(state.pathString, pathFilter)) {
750
+ // Only return the node's own data, not including root properties
751
+ // eslint-disable-next-line no-unused-vars
752
+ const { gvars: _gvars, ...nodeData } = state.data
753
+ return nodeData
754
+ }
755
+ return []
756
+ }
757
+ return state.states.flatMap(getLeafData)
758
+ }
759
+
760
+ return getLeafData(this._stepper.value)
761
+ }
762
+
763
+ /**
764
+ * Clears all data for the current view's stepper
765
+ * @method clear
766
+ * @memberof ViewAPI
767
+ * @instance
768
+ * @description Removes the stepper state from browser storage, clears the stepper's data subtree,
769
+ * clears the component registry, and saves the cleared state
770
+ * @returns {void}
771
+ * @example
772
+ * // Clear all data for current view
773
+ * api.clear()
774
+ */
775
+ clear() {
776
+ if (this.store.localState.viewSteppers[this._page.value]) {
777
+ const pageData = this.store.localState.viewSteppers[this._page.value].data || {}
778
+ delete pageData.stepperState
779
+ this.store.localState.viewSteppers[this._page.value].data = pageData
780
+
781
+ this._stepper.value.clearSubTree()
782
+ this.componentRegistry.clear()
783
+ }
784
+ this._saveStepperState()
785
+ }
786
+
787
+ /**
788
+ * Clears the data for the current step in the stepper
789
+ * @method clearCurrentStepData
790
+ * @memberof ViewAPI
791
+ * @instance
792
+ * @description Clears only the data for the current step, leaving other step data intact,
793
+ * then saves the updated stepper state
794
+ * @returns {void}
795
+ * @example
796
+ * // Clear data for current step
797
+ * api.clearCurrentStepData()
798
+ */
799
+ clearCurrentStepData() {
800
+ this._stepper.value.clearCurrentStepData()
801
+ this._saveStepperState()
802
+ }
803
+
804
+ /**
805
+ * Records the current step data to the experiment data store
806
+ * @method recordStep
807
+ * @memberof ViewAPI
808
+ * @instance
809
+ * @description Logs the current step data and records it to the experiment data store using recordPageData
810
+ * @returns {void}
811
+ */
812
+ recordStep() {
813
+ this.recordPageData(this.stepData)
814
+ }
815
+
816
+ /**
817
+ * Utility Functions
818
+ *
819
+ * These methods handle updating and saving the reactive state properties of the view:
820
+ * - _updateStepperState: Updates internal reactive refs from stepper data
821
+ * - updateStepper: Public method to trigger stepper state update
822
+ * - _visualizeStateMachine: Creates clean visualization of state machine
823
+ * - _saveStepperState: Persists current stepper state to store
824
+ *
825
+ * The utility functions maintain consistency between the stepper state machine
826
+ * and the reactive view properties that components depend on.
827
+ *
828
+ * @memberof ViewAPI
829
+ */
830
+
831
+ /**
832
+ * Saves the current stepper state to persistent storage
833
+ * @private
834
+ * @method _saveStepperState
835
+ * @memberof ViewAPI
836
+ * @instance
837
+ * @description Persists the current stepper state to storage using the current page name as the key.
838
+ * Only saves if there is an active stepper instance.
839
+ * @returns {void}
840
+ */
841
+ _saveStepperState() {
842
+ if (this._stepper.value) {
843
+ this._stepper.value.save(this._page.value)
844
+ }
845
+ }
846
+
847
+ /**
848
+ * Updates the internal stepper state with new data
849
+ * @private
850
+ * @param {object} data - The new stepper state data
851
+ * @param {object} data.dataAlongPath - Data collected along the current path
852
+ * @param {string} data.currentPathString - String representation of current path
853
+ * @param {string[]} data.currentPath - Array of steps in current path
854
+ * @param {number} data.index - Current step index
855
+ * @param {object} data.data - Stepper data object
856
+ * @param {object} data.data.gvars - Global variables object
857
+ * @param {boolean} [save] - Whether to persist state changes
858
+ * @memberof ViewAPI
859
+ * @instance
860
+ */
861
+ _updateStepperState(data, save = true) {
862
+ this._dataAlongPath.value = data.dataAlongPath
863
+ this._pathString.value = data.currentPathString
864
+ this._path.value = data.currentPath
865
+ this._index.value = data.index
866
+ this._gvars.value = reactive(data.data?.gvars || {})
867
+ this._stateMachine.value = this._visualizeStateMachine()
868
+ if (save) {
869
+ this._saveStepperState()
870
+ }
871
+ }
872
+
873
+ /**
874
+ * Triggers an update of the stepper state
875
+ * @method updateStepper
876
+ * @memberof ViewAPI
877
+ * @instance
878
+ */
879
+ updateStepper() {
880
+ this._updateStepperState(this._stepper.value)
881
+ }
882
+
883
+ /**
884
+ * Creates a clean visualization of the state machine structure
885
+ * @private
886
+ * @returns {object} Processed state machine representation
887
+ * @memberof ViewAPI
888
+ * @instance
889
+ */
890
+ _visualizeStateMachine() {
891
+ const processState = (state, level = 0) => {
892
+ const cleanState = {
893
+ data: state.data,
894
+ path: state.pathString,
895
+ index: state.index,
896
+ isLeaf: state.isLeaf,
897
+ isFirstLeaf: state.isFirstLeaf,
898
+ rows: [],
899
+ }
900
+
901
+ if (state.rows) {
902
+ state.rows.forEach((childState) => {
903
+ cleanState.rows.push(processState(childState, level + 1))
904
+ })
905
+ }
906
+
907
+ return cleanState
908
+ }
909
+
910
+ return processState(this._stepper.value)
911
+ }
912
+ }
913
+
914
+ /**
915
+ * Creates and returns a reactive ViewAPI instance
916
+ * @returns {ViewAPI} A reactive ViewAPI instance with all view-specific functionality
917
+ */
918
+ export default function useViewAPI() {
919
+ if (!viewAPIInstance) {
920
+ const { goNextView, goPrevView, goToView, nextView, prevView } = useTimeline()
921
+ const route = useRoute()
922
+ const router = useRouter()
923
+ const store = useSmileStore()
924
+ const logStore = useLog()
925
+ // eslint-disable-next-line no-undef
926
+ const runtimeConfig = typeof useRuntimeConfig === 'function' ? useRuntimeConfig() : {}
927
+ const timeline = { goNextView, goPrevView, goToView, nextView, prevView }
928
+ viewAPIInstance = new ViewAPI(store, logStore, route, router, timeline, runtimeConfig)
929
+
930
+ // Add shortcuts for arrow keys
931
+ if (config.mode == 'development') {
932
+ /**
933
+ * Handle right arrow key press to advance to next step
934
+ * @listens keydown.ArrowRight
935
+ * @param {KeyboardEvent} e - The keyboard event
936
+ */
937
+ onKeyDown(['ArrowRight'], (e) => {
938
+ e.preventDefault()
939
+ viewAPIInstance.goNextStep()
940
+ })
941
+
942
+ /**
943
+ * Handle left arrow key press to go back to previous step
944
+ * @listens keydown.ArrowLeft
945
+ * @param {KeyboardEvent} e - The keyboard event
946
+ */
947
+ onKeyDown(['ArrowLeft'], (e) => {
948
+ e.preventDefault()
949
+ viewAPIInstance.goPrevStep()
950
+ })
951
+ }
952
+ }
953
+
954
+ return viewAPIInstance
955
+ }
956
+
957
+ /**
958
+ * Resets the ViewAPI instance to null. Used for testing purposes.
959
+ * @private
960
+ * @function _reset
961
+ * @memberof useViewAPI
962
+ */
963
+ useViewAPI._reset = () => {
964
+ viewAPIInstance = null
965
+ }