@nyuccl/smile 0.2.0-beta.4 → 0.2.0-beta.41

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 (310) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +109 -21
  3. package/dist/runtime/components/builtins/AdvertisementView.d.vue.ts +13 -1
  4. package/dist/runtime/components/builtins/AdvertisementView.vue +7 -3
  5. package/dist/runtime/components/builtins/AdvertisementView.vue.d.ts +13 -1
  6. package/dist/runtime/components/builtins/DebriefView.vue +3 -1
  7. package/dist/runtime/components/builtins/DemographicSurveyView.vue +8 -6
  8. package/dist/runtime/components/builtins/DeviceSurveyView.vue +5 -3
  9. package/dist/runtime/components/builtins/ExpView.vue +4 -2
  10. package/dist/runtime/components/builtins/ExperimentStatusBar.vue +3 -0
  11. package/dist/runtime/components/builtins/FavoriteColor.vue +3 -1
  12. package/dist/runtime/components/builtins/FavoriteNumber.vue +3 -1
  13. package/dist/runtime/components/builtins/InformedConsentModal.vue +5 -3
  14. package/dist/runtime/components/builtins/InformedConsentView.vue +3 -2
  15. package/dist/runtime/components/builtins/InstructionsQuiz.vue +7 -5
  16. package/dist/runtime/components/builtins/InstructionsView.vue +5 -3
  17. package/dist/runtime/components/builtins/LocalDevBanner.vue +16 -0
  18. package/dist/runtime/components/builtins/MTurkRecruitView.vue +4 -3
  19. package/dist/runtime/components/builtins/PresentationModeView.vue +9 -8
  20. package/dist/runtime/components/builtins/StatusBar.vue +7 -4
  21. package/dist/runtime/components/builtins/StudyPreviewText.vue +12 -10
  22. package/dist/runtime/components/builtins/TaskFeedbackSurveyView.vue +3 -1
  23. package/dist/runtime/components/builtins/ThanksView.vue +22 -21
  24. package/dist/runtime/components/builtins/WindowSizerView.vue +5 -3
  25. package/dist/runtime/components/builtins/WithdrawModal.vue +9 -7
  26. package/dist/runtime/components/builtins/WithdrawView.vue +4 -2
  27. package/dist/runtime/components/dev/RecruitmentChooserView.vue +532 -224
  28. package/dist/runtime/components/dev/ResponsiveDeviceContainer.vue +17 -8
  29. package/dist/runtime/components/dev/SmileDevPresentationView.vue +83 -0
  30. package/dist/runtime/components/dev/console/ConfigList.vue +14 -11
  31. package/dist/runtime/components/dev/console/ConsoleConfigPanel.vue +28 -7
  32. package/dist/runtime/components/dev/console/ConsoleDatabaseBrowsePanel.vue +6 -4
  33. package/dist/runtime/components/dev/console/ConsoleLogPanel.vue +68 -23
  34. package/dist/runtime/components/dev/console/DatabaseList.vue +9 -7
  35. package/dist/runtime/components/dev/console/SmileDevConsole.vue +7 -5
  36. package/dist/runtime/components/dev/devicePresets.d.ts +4 -4
  37. package/dist/runtime/components/dev/devicePresets.js +4 -4
  38. package/dist/runtime/components/dev/menu/DevConfigPanel.vue +3 -1
  39. package/dist/runtime/components/dev/menu/ResponsiveDeviceSelect.vue +1 -0
  40. package/dist/runtime/components/dev/menu/SmileDevAppMenu.vue +27 -24
  41. package/dist/runtime/components/dev/navbar/ColorModeButton.vue +5 -3
  42. package/dist/runtime/components/dev/navbar/DatabaseButtonGroup.vue +8 -6
  43. package/dist/runtime/components/dev/navbar/FullScreenButton.vue +4 -2
  44. package/dist/runtime/components/dev/navbar/KeyCommandNotification.vue +1 -1
  45. package/dist/runtime/components/dev/navbar/PanelButtonGroup.d.vue.ts +3 -0
  46. package/dist/runtime/components/dev/navbar/PanelButtonGroup.vue +79 -0
  47. package/dist/runtime/components/dev/navbar/PanelButtonGroup.vue.d.ts +3 -0
  48. package/dist/runtime/components/dev/navbar/ReloadButton.vue +3 -1
  49. package/dist/runtime/components/dev/navbar/ResetButton.vue +3 -1
  50. package/dist/runtime/components/dev/navbar/RouteJumper.vue +9 -5
  51. package/dist/runtime/components/dev/navbar/SmileDevNavBar.vue +19 -27
  52. package/dist/runtime/components/dev/navbar/StepInfoButtonGroup.vue +5 -3
  53. package/dist/runtime/components/dev/navbar/ViewInfoButtonGroup.vue +13 -10
  54. package/dist/runtime/components/dev/presentation/DarkModeButton.vue +5 -3
  55. package/dist/runtime/components/dev/presentation/LogoutButton.vue +2 -1
  56. package/dist/runtime/components/dev/presentation/PresentationModeResetButton.vue +11 -2
  57. package/dist/runtime/components/dev/presentation/PresentationNavBar.d.vue.ts +13 -1
  58. package/dist/runtime/components/dev/presentation/PresentationNavBar.vue +13 -6
  59. package/dist/runtime/components/dev/presentation/PresentationNavBar.vue.d.ts +13 -1
  60. package/dist/runtime/components/dev/presentation/QRCodeButton.vue +4 -2
  61. package/dist/runtime/components/dev/sidebar/AppProgressPanel.vue +23 -21
  62. package/dist/runtime/components/dev/sidebar/ConfigurationVariablesPanel.vue +7 -5
  63. package/dist/runtime/components/dev/sidebar/DatabaseStatusInfoPanel.vue +27 -7
  64. package/dist/runtime/components/dev/sidebar/RandomizationSidebarPanel.vue +9 -5
  65. package/dist/runtime/components/dev/sidebar/SmileDevSideBar.vue +12 -5
  66. package/dist/runtime/components/dev/sidebar/StepDataViewer.d.vue.ts +2 -2
  67. package/dist/runtime/components/dev/sidebar/StepDataViewer.vue +1 -1
  68. package/dist/runtime/components/dev/sidebar/StepDataViewer.vue.d.ts +2 -2
  69. package/dist/runtime/components/dev/sidebar/StepExplorerPanel.vue +13 -8
  70. package/dist/runtime/components/dev/sidebar/StepNode.vue +7 -5
  71. package/dist/runtime/components/dev/sidebar/StudyInfoPanel.vue +3 -2
  72. package/dist/runtime/components/forms/MonthYearDayPicker.vue +1 -0
  73. package/dist/runtime/components/layouts/ConstrainedPage.d.vue.ts +1 -1
  74. package/dist/runtime/components/layouts/ConstrainedPage.vue.d.ts +1 -1
  75. package/dist/runtime/components/layouts/ConstrainedTaskWindow.d.vue.ts +2 -2
  76. package/dist/runtime/components/layouts/ConstrainedTaskWindow.vue +1 -1
  77. package/dist/runtime/components/layouts/ConstrainedTaskWindow.vue.d.ts +2 -2
  78. package/dist/runtime/components/layouts/TitleTwoCol.d.vue.ts +1 -1
  79. package/dist/runtime/components/layouts/TitleTwoCol.vue.d.ts +1 -1
  80. package/dist/runtime/components/layouts/TwoCol.d.vue.ts +1 -1
  81. package/dist/runtime/components/layouts/TwoCol.vue.d.ts +1 -1
  82. package/dist/runtime/components/ui/avatar/Avatar.vue +1 -0
  83. package/dist/runtime/components/ui/avatar/AvatarFallback.vue +1 -0
  84. package/dist/runtime/components/ui/badge/Badge.vue +1 -0
  85. package/dist/runtime/components/ui/badge/index.d.ts +1 -1
  86. package/dist/runtime/components/ui/breadcrumb/BreadcrumbEllipsis.vue +1 -0
  87. package/dist/runtime/components/ui/breadcrumb/BreadcrumbItem.vue +1 -0
  88. package/dist/runtime/components/ui/breadcrumb/BreadcrumbLink.vue +1 -0
  89. package/dist/runtime/components/ui/breadcrumb/BreadcrumbList.vue +1 -0
  90. package/dist/runtime/components/ui/breadcrumb/BreadcrumbPage.vue +1 -0
  91. package/dist/runtime/components/ui/breadcrumb/BreadcrumbSeparator.vue +1 -0
  92. package/dist/runtime/components/ui/button/Button.vue +1 -0
  93. package/dist/runtime/components/ui/button/index.d.ts +2 -2
  94. package/dist/runtime/components/ui/button-group/ButtonGroup.vue +1 -0
  95. package/dist/runtime/components/ui/button-group/ButtonGroupItem.vue +1 -0
  96. package/dist/runtime/components/ui/calendar/Calendar.vue +1 -0
  97. package/dist/runtime/components/ui/calendar/CalendarCell.vue +1 -0
  98. package/dist/runtime/components/ui/calendar/CalendarCellTrigger.vue +1 -0
  99. package/dist/runtime/components/ui/calendar/CalendarGrid.vue +1 -0
  100. package/dist/runtime/components/ui/calendar/CalendarGridRow.vue +1 -0
  101. package/dist/runtime/components/ui/calendar/CalendarHeadCell.vue +1 -0
  102. package/dist/runtime/components/ui/calendar/CalendarHeader.vue +1 -0
  103. package/dist/runtime/components/ui/calendar/CalendarHeading.vue +1 -0
  104. package/dist/runtime/components/ui/calendar/CalendarNextButton.vue +1 -0
  105. package/dist/runtime/components/ui/calendar/CalendarPrevButton.vue +1 -0
  106. package/dist/runtime/components/ui/card/Card.vue +1 -0
  107. package/dist/runtime/components/ui/card/CardAction.vue +1 -0
  108. package/dist/runtime/components/ui/card/CardContent.vue +1 -0
  109. package/dist/runtime/components/ui/card/CardDescription.vue +1 -0
  110. package/dist/runtime/components/ui/card/CardFooter.vue +1 -0
  111. package/dist/runtime/components/ui/card/CardHeader.vue +1 -0
  112. package/dist/runtime/components/ui/card/CardTitle.vue +1 -0
  113. package/dist/runtime/components/ui/checkbox/Checkbox.d.vue.ts +6 -6
  114. package/dist/runtime/components/ui/checkbox/Checkbox.vue +1 -0
  115. package/dist/runtime/components/ui/checkbox/Checkbox.vue.d.ts +6 -6
  116. package/dist/runtime/components/ui/checkbox/index.d.ts +2 -2
  117. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.d.vue.ts +4 -4
  118. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +1 -0
  119. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +4 -4
  120. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.d.vue.ts +3 -3
  121. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue +1 -0
  122. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +3 -3
  123. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.d.vue.ts +1 -1
  124. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue +1 -0
  125. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue.d.ts +1 -1
  126. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue +1 -0
  127. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +1 -0
  128. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.vue +1 -0
  129. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.vue +1 -0
  130. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.d.vue.ts +3 -3
  131. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue +1 -0
  132. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +3 -3
  133. package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +1 -0
  134. package/dist/runtime/components/ui/input/Input.d.vue.ts +4 -4
  135. package/dist/runtime/components/ui/input/Input.vue +1 -0
  136. package/dist/runtime/components/ui/input/Input.vue.d.ts +4 -4
  137. package/dist/runtime/components/ui/label/Label.vue +1 -0
  138. package/dist/runtime/components/ui/multiselect/MultiSelect.d.vue.ts +1 -1
  139. package/dist/runtime/components/ui/multiselect/MultiSelect.vue +1 -0
  140. package/dist/runtime/components/ui/multiselect/MultiSelect.vue.d.ts +1 -1
  141. package/dist/runtime/components/ui/pagination/Pagination.vue +1 -0
  142. package/dist/runtime/components/ui/pagination/PaginationContent.vue +1 -0
  143. package/dist/runtime/components/ui/pagination/PaginationEllipsis.vue +1 -0
  144. package/dist/runtime/components/ui/pagination/PaginationFirst.vue +1 -0
  145. package/dist/runtime/components/ui/pagination/PaginationItem.vue +1 -0
  146. package/dist/runtime/components/ui/pagination/PaginationLast.vue +1 -0
  147. package/dist/runtime/components/ui/pagination/PaginationNext.vue +1 -0
  148. package/dist/runtime/components/ui/pagination/PaginationPrevious.vue +1 -0
  149. package/dist/runtime/components/ui/popover/PopoverContent.d.vue.ts +2 -2
  150. package/dist/runtime/components/ui/popover/PopoverContent.vue +1 -0
  151. package/dist/runtime/components/ui/popover/PopoverContent.vue.d.ts +2 -2
  152. package/dist/runtime/components/ui/progress/Progress.vue +1 -0
  153. package/dist/runtime/components/ui/resizable/ResizableHandle.vue +1 -0
  154. package/dist/runtime/components/ui/resizable/ResizablePanel.d.vue.ts +1 -1
  155. package/dist/runtime/components/ui/resizable/ResizablePanel.vue.d.ts +1 -1
  156. package/dist/runtime/components/ui/resizable/ResizablePanelGroup.vue +1 -0
  157. package/dist/runtime/components/ui/select/Select.d.vue.ts +1 -1
  158. package/dist/runtime/components/ui/select/Select.vue.d.ts +1 -1
  159. package/dist/runtime/components/ui/select/SelectContent.d.vue.ts +2 -2
  160. package/dist/runtime/components/ui/select/SelectContent.vue +1 -0
  161. package/dist/runtime/components/ui/select/SelectContent.vue.d.ts +2 -2
  162. package/dist/runtime/components/ui/select/SelectItem.vue +1 -0
  163. package/dist/runtime/components/ui/select/SelectLabel.vue +1 -0
  164. package/dist/runtime/components/ui/select/SelectScrollDownButton.vue +1 -0
  165. package/dist/runtime/components/ui/select/SelectScrollUpButton.vue +1 -0
  166. package/dist/runtime/components/ui/select/SelectSeparator.vue +1 -0
  167. package/dist/runtime/components/ui/select/SelectTrigger.vue +1 -0
  168. package/dist/runtime/components/ui/separator/Separator.vue +1 -0
  169. package/dist/runtime/components/ui/sheet/SheetContent.d.vue.ts +1 -1
  170. package/dist/runtime/components/ui/sheet/SheetContent.vue +1 -0
  171. package/dist/runtime/components/ui/sheet/SheetContent.vue.d.ts +1 -1
  172. package/dist/runtime/components/ui/sheet/SheetDescription.vue +1 -0
  173. package/dist/runtime/components/ui/sheet/SheetFooter.vue +1 -0
  174. package/dist/runtime/components/ui/sheet/SheetHeader.vue +1 -0
  175. package/dist/runtime/components/ui/sheet/SheetOverlay.vue +1 -0
  176. package/dist/runtime/components/ui/sheet/SheetTitle.vue +1 -0
  177. package/dist/runtime/components/ui/sidebar/Sidebar.d.vue.ts +1 -1
  178. package/dist/runtime/components/ui/sidebar/Sidebar.vue +1 -0
  179. package/dist/runtime/components/ui/sidebar/Sidebar.vue.d.ts +1 -1
  180. package/dist/runtime/components/ui/sidebar/SidebarContent.vue +1 -0
  181. package/dist/runtime/components/ui/sidebar/SidebarFooter.vue +1 -0
  182. package/dist/runtime/components/ui/sidebar/SidebarGroup.vue +1 -0
  183. package/dist/runtime/components/ui/sidebar/SidebarGroupAction.vue +1 -0
  184. package/dist/runtime/components/ui/sidebar/SidebarGroupContent.vue +1 -0
  185. package/dist/runtime/components/ui/sidebar/SidebarGroupLabel.vue +1 -0
  186. package/dist/runtime/components/ui/sidebar/SidebarHeader.vue +1 -0
  187. package/dist/runtime/components/ui/sidebar/SidebarInput.vue +1 -0
  188. package/dist/runtime/components/ui/sidebar/SidebarInset.vue +1 -0
  189. package/dist/runtime/components/ui/sidebar/SidebarMenu.vue +1 -0
  190. package/dist/runtime/components/ui/sidebar/SidebarMenuAction.vue +1 -0
  191. package/dist/runtime/components/ui/sidebar/SidebarMenuBadge.vue +1 -0
  192. package/dist/runtime/components/ui/sidebar/SidebarMenuButton.d.vue.ts +1 -1
  193. package/dist/runtime/components/ui/sidebar/SidebarMenuButton.vue.d.ts +1 -1
  194. package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.d.vue.ts +1 -1
  195. package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.vue +1 -0
  196. package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.vue.d.ts +1 -1
  197. package/dist/runtime/components/ui/sidebar/SidebarMenuItem.vue +1 -0
  198. package/dist/runtime/components/ui/sidebar/SidebarMenuSkeleton.vue +1 -0
  199. package/dist/runtime/components/ui/sidebar/SidebarMenuSub.vue +1 -0
  200. package/dist/runtime/components/ui/sidebar/SidebarMenuSubButton.vue +1 -0
  201. package/dist/runtime/components/ui/sidebar/SidebarMenuSubItem.vue +1 -0
  202. package/dist/runtime/components/ui/sidebar/SidebarProvider.vue +1 -0
  203. package/dist/runtime/components/ui/sidebar/SidebarRail.vue +1 -0
  204. package/dist/runtime/components/ui/sidebar/SidebarSeparator.vue +1 -0
  205. package/dist/runtime/components/ui/sidebar/SidebarTrigger.vue +1 -0
  206. package/dist/runtime/components/ui/sidebar/index.d.ts +1 -1
  207. package/dist/runtime/components/ui/skeleton/Skeleton.vue +1 -0
  208. package/dist/runtime/components/ui/sonner/Sonner.d.vue.ts +4 -4
  209. package/dist/runtime/components/ui/sonner/Sonner.vue.d.ts +4 -4
  210. package/dist/runtime/components/ui/stepper/Stepper.vue +1 -0
  211. package/dist/runtime/components/ui/stepper/StepperDescription.vue +1 -0
  212. package/dist/runtime/components/ui/stepper/StepperIndicator.vue +1 -0
  213. package/dist/runtime/components/ui/stepper/StepperItem.d.vue.ts +1 -1
  214. package/dist/runtime/components/ui/stepper/StepperItem.vue +1 -0
  215. package/dist/runtime/components/ui/stepper/StepperItem.vue.d.ts +1 -1
  216. package/dist/runtime/components/ui/stepper/StepperSeparator.vue +1 -0
  217. package/dist/runtime/components/ui/stepper/StepperTitle.vue +1 -0
  218. package/dist/runtime/components/ui/stepper/StepperTrigger.vue +1 -0
  219. package/dist/runtime/components/ui/switch/Switch.d.vue.ts +2 -2
  220. package/dist/runtime/components/ui/switch/Switch.vue +1 -0
  221. package/dist/runtime/components/ui/switch/Switch.vue.d.ts +2 -2
  222. package/dist/runtime/components/ui/switch/index.d.ts +2 -2
  223. package/dist/runtime/components/ui/table/Table.vue +1 -0
  224. package/dist/runtime/components/ui/table/TableBody.vue +1 -0
  225. package/dist/runtime/components/ui/table/TableCaption.vue +1 -0
  226. package/dist/runtime/components/ui/table/TableCell.vue +1 -0
  227. package/dist/runtime/components/ui/table/TableEmpty.vue +1 -0
  228. package/dist/runtime/components/ui/table/TableFooter.vue +1 -0
  229. package/dist/runtime/components/ui/table/TableHead.vue +1 -0
  230. package/dist/runtime/components/ui/table/TableHeader.vue +1 -0
  231. package/dist/runtime/components/ui/table/TableRow.vue +1 -0
  232. package/dist/runtime/components/ui/tabs/Tabs.vue +1 -0
  233. package/dist/runtime/components/ui/tabs/TabsContent.d.vue.ts +2 -2
  234. package/dist/runtime/components/ui/tabs/TabsContent.vue +1 -0
  235. package/dist/runtime/components/ui/tabs/TabsContent.vue.d.ts +2 -2
  236. package/dist/runtime/components/ui/tabs/TabsList.d.vue.ts +1 -1
  237. package/dist/runtime/components/ui/tabs/TabsList.vue +1 -0
  238. package/dist/runtime/components/ui/tabs/TabsList.vue.d.ts +1 -1
  239. package/dist/runtime/components/ui/tabs/TabsTrigger.d.vue.ts +2 -2
  240. package/dist/runtime/components/ui/tabs/TabsTrigger.vue +1 -0
  241. package/dist/runtime/components/ui/tabs/TabsTrigger.vue.d.ts +2 -2
  242. package/dist/runtime/components/ui/tags-input/TagsInput.d.vue.ts +3 -3
  243. package/dist/runtime/components/ui/tags-input/TagsInput.vue +1 -0
  244. package/dist/runtime/components/ui/tags-input/TagsInput.vue.d.ts +3 -3
  245. package/dist/runtime/components/ui/tags-input/TagsInputInput.vue +1 -0
  246. package/dist/runtime/components/ui/tags-input/TagsInputItem.d.vue.ts +2 -2
  247. package/dist/runtime/components/ui/tags-input/TagsInputItem.vue +1 -0
  248. package/dist/runtime/components/ui/tags-input/TagsInputItem.vue.d.ts +2 -2
  249. package/dist/runtime/components/ui/tags-input/TagsInputItemDelete.vue +1 -0
  250. package/dist/runtime/components/ui/tags-input/TagsInputItemText.vue +1 -0
  251. package/dist/runtime/components/ui/textarea/Textarea.d.vue.ts +4 -4
  252. package/dist/runtime/components/ui/textarea/Textarea.vue +1 -0
  253. package/dist/runtime/components/ui/textarea/Textarea.vue.d.ts +4 -4
  254. package/dist/runtime/components/ui/toggle/Toggle.d.vue.ts +2 -2
  255. package/dist/runtime/components/ui/toggle/Toggle.vue +1 -0
  256. package/dist/runtime/components/ui/toggle/Toggle.vue.d.ts +2 -2
  257. package/dist/runtime/components/ui/toggle/index.d.ts +1 -1
  258. package/dist/runtime/components/ui/toggle-group/ToggleGroup.d.vue.ts +2 -2
  259. package/dist/runtime/components/ui/toggle-group/ToggleGroup.vue +1 -0
  260. package/dist/runtime/components/ui/toggle-group/ToggleGroup.vue.d.ts +2 -2
  261. package/dist/runtime/components/ui/toggle-group/ToggleGroupItem.vue +1 -0
  262. package/dist/runtime/components/ui/tooltip/TooltipContent.d.vue.ts +2 -2
  263. package/dist/runtime/components/ui/tooltip/TooltipContent.vue +1 -0
  264. package/dist/runtime/components/ui/tooltip/TooltipContent.vue.d.ts +2 -2
  265. package/dist/runtime/composables/useAPI.d.ts +2 -2
  266. package/dist/runtime/composables/useAPI.js +6 -11
  267. package/dist/runtime/composables/useViewAPI.d.ts +1 -0
  268. package/dist/runtime/composables/useViewAPI.js +20 -4
  269. package/dist/runtime/composables/useWindowSizer.d.ts +14 -0
  270. package/dist/runtime/composables/useWindowSizer.js +48 -0
  271. package/dist/runtime/core/config.d.ts +78 -48
  272. package/dist/runtime/core/config.js +21 -27
  273. package/dist/runtime/core/stepper/Stepper.d.ts +13 -10
  274. package/dist/runtime/core/stepper/Stepper.js +70 -55
  275. package/dist/runtime/core/stepper/StepperSerializer.js +32 -14
  276. package/dist/runtime/core/timeline/Timeline.js +1 -2
  277. package/dist/runtime/css/main.css +1 -1
  278. package/dist/runtime/css/smile.css +1 -1
  279. package/dist/runtime/layouts/development.vue +38 -78
  280. package/dist/runtime/layouts/experiment.d.vue.ts +7 -10
  281. package/dist/runtime/layouts/experiment.vue +13 -0
  282. package/dist/runtime/layouts/experiment.vue.d.ts +7 -10
  283. package/dist/runtime/layouts/presentation.vue +24 -3
  284. package/dist/runtime/middleware/timeline.global.js +2 -4
  285. package/dist/runtime/pages/[...slug].vue +2 -0
  286. package/dist/runtime/pages/dev/[...slug].vue +2 -0
  287. package/dist/runtime/pages/dev-login.vue +5 -3
  288. package/dist/runtime/pages/presentation/[...slug].vue +2 -0
  289. package/dist/runtime/plugins/dev-sync.client.js +0 -2
  290. package/dist/runtime/plugins/seed.client.js +1 -3
  291. package/dist/runtime/plugins/store-sync.client.js +8 -10
  292. package/dist/runtime/public/images/helpus.png +0 -0
  293. package/dist/runtime/public/images/smile.svg +78 -0
  294. package/dist/runtime/public/images/universitylogo.png +0 -0
  295. package/dist/runtime/server/api/auth/login.post.js +11 -2
  296. package/dist/runtime/server/api/db-info.get.d.ts +5 -0
  297. package/dist/runtime/server/api/db-info.get.js +10 -0
  298. package/dist/runtime/server/api/qr.get.js +1 -2
  299. package/dist/runtime/server/middleware/dev-auth.js +10 -5
  300. package/dist/runtime/stores/log.js +4 -7
  301. package/dist/runtime/stores/smilestore.d.ts +161 -1014
  302. package/dist/runtime/stores/smilestore.js +39 -7
  303. package/dist/runtime/utils/utils.js +7 -0
  304. package/package.json +5 -3
  305. package/dist/runtime/components/dev/navbar/ViewButton.vue +0 -159
  306. package/dist/runtime/pages/info.vue +0 -462
  307. /package/dist/runtime/components/{dev/navbar/ViewButton.d.vue.ts → builtins/LocalDevBanner.d.vue.ts} +0 -0
  308. /package/dist/runtime/components/{dev/navbar/ViewButton.vue.d.ts → builtins/LocalDevBanner.vue.d.ts} +0 -0
  309. /package/dist/runtime/{pages/info.d.vue.ts → components/dev/SmileDevPresentationView.d.vue.ts} +0 -0
  310. /package/dist/runtime/{pages/info.vue.d.ts → components/dev/SmileDevPresentationView.vue.d.ts} +0 -0
@@ -39,8 +39,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
39
39
  required: false;
40
40
  };
41
41
  }>> & Readonly<{}>, {
42
- asChild: boolean;
43
42
  loop: boolean;
43
+ asChild: boolean;
44
44
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
45
45
  type __VLS_Slots = {
46
46
  default?: ((props: {}) => any) | undefined;
@@ -1,4 +1,5 @@
1
1
  <script setup>
2
+ import { cn } from "../../../lib/utils";
2
3
  import { reactiveOmit } from "@vueuse/core";
3
4
  import { TabsList } from "reka-ui";
4
5
  const props = defineProps({
@@ -39,8 +39,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
39
39
  required: false;
40
40
  };
41
41
  }>> & Readonly<{}>, {
42
- asChild: boolean;
43
42
  loop: boolean;
43
+ asChild: boolean;
44
44
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
45
45
  type __VLS_Slots = {
46
46
  default?: ((props: {}) => any) | undefined;
@@ -6,7 +6,7 @@ type __VLS_WithSlots<T, S> = T & (new () => {
6
6
  });
7
7
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8
8
  value: {
9
- type: (StringConstructor | NumberConstructor)[];
9
+ type: (NumberConstructor | StringConstructor)[];
10
10
  required: true;
11
11
  };
12
12
  disabled: {
@@ -27,7 +27,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
27
27
  };
28
28
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
29
29
  value: {
30
- type: (StringConstructor | NumberConstructor)[];
30
+ type: (NumberConstructor | StringConstructor)[];
31
31
  required: true;
32
32
  };
33
33
  disabled: {
@@ -1,4 +1,5 @@
1
1
  <script setup>
2
+ import { cn } from "../../../lib/utils";
2
3
  import { reactiveOmit } from "@vueuse/core";
3
4
  import { TabsTrigger, useForwardProps } from "reka-ui";
4
5
  const props = defineProps({
@@ -6,7 +6,7 @@ type __VLS_WithSlots<T, S> = T & (new () => {
6
6
  });
7
7
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8
8
  value: {
9
- type: (StringConstructor | NumberConstructor)[];
9
+ type: (NumberConstructor | StringConstructor)[];
10
10
  required: true;
11
11
  };
12
12
  disabled: {
@@ -27,7 +27,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
27
27
  };
28
28
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
29
29
  value: {
30
- type: (StringConstructor | NumberConstructor)[];
30
+ type: (NumberConstructor | StringConstructor)[];
31
31
  required: true;
32
32
  };
33
33
  disabled: {
@@ -78,8 +78,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
78
78
  required: false;
79
79
  };
80
80
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
81
- "update:modelValue": (...args: any[]) => void;
82
81
  invalid: (...args: any[]) => void;
82
+ "update:modelValue": (...args: any[]) => void;
83
83
  addTag: (...args: any[]) => void;
84
84
  removeTag: (...args: any[]) => void;
85
85
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -156,13 +156,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
156
156
  required: false;
157
157
  };
158
158
  }>> & Readonly<{
159
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
160
159
  onInvalid?: ((...args: any[]) => any) | undefined;
160
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
161
161
  onAddTag?: ((...args: any[]) => any) | undefined;
162
162
  onRemoveTag?: ((...args: any[]) => any) | undefined;
163
163
  }>, {
164
- required: boolean;
165
164
  disabled: boolean;
165
+ required: boolean;
166
166
  asChild: boolean;
167
167
  addOnPaste: boolean;
168
168
  addOnTab: boolean;
@@ -1,4 +1,5 @@
1
1
  <script setup>
2
+ import { cn } from "../../../lib/utils";
2
3
  import { reactiveOmit } from "@vueuse/core";
3
4
  import { TagsInputRoot, useForwardPropsEmits } from "reka-ui";
4
5
  const props = defineProps({
@@ -78,8 +78,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
78
78
  required: false;
79
79
  };
80
80
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
81
- "update:modelValue": (...args: any[]) => void;
82
81
  invalid: (...args: any[]) => void;
82
+ "update:modelValue": (...args: any[]) => void;
83
83
  addTag: (...args: any[]) => void;
84
84
  removeTag: (...args: any[]) => void;
85
85
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -156,13 +156,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
156
156
  required: false;
157
157
  };
158
158
  }>> & Readonly<{
159
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
160
159
  onInvalid?: ((...args: any[]) => any) | undefined;
160
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
161
161
  onAddTag?: ((...args: any[]) => any) | undefined;
162
162
  onRemoveTag?: ((...args: any[]) => any) | undefined;
163
163
  }>, {
164
- required: boolean;
165
164
  disabled: boolean;
165
+ required: boolean;
166
166
  asChild: boolean;
167
167
  addOnPaste: boolean;
168
168
  addOnTab: boolean;
@@ -1,4 +1,5 @@
1
1
  <script setup>
2
+ import { cn } from "../../../lib/utils";
2
3
  import { reactiveOmit } from "@vueuse/core";
3
4
  import { TagsInputInput, useForwardProps } from "reka-ui";
4
5
  const props = defineProps({
@@ -6,7 +6,7 @@ type __VLS_WithSlots<T, S> = T & (new () => {
6
6
  });
7
7
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8
8
  value: {
9
- type: (ObjectConstructor | StringConstructor)[];
9
+ type: (StringConstructor | ObjectConstructor)[];
10
10
  required: true;
11
11
  };
12
12
  disabled: {
@@ -27,7 +27,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
27
27
  };
28
28
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
29
29
  value: {
30
- type: (ObjectConstructor | StringConstructor)[];
30
+ type: (StringConstructor | ObjectConstructor)[];
31
31
  required: true;
32
32
  };
33
33
  disabled: {
@@ -1,4 +1,5 @@
1
1
  <script setup>
2
+ import { cn } from "../../../lib/utils";
2
3
  import { reactiveOmit } from "@vueuse/core";
3
4
  import { TagsInputItem, useForwardProps } from "reka-ui";
4
5
  const props = defineProps({
@@ -6,7 +6,7 @@ type __VLS_WithSlots<T, S> = T & (new () => {
6
6
  });
7
7
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8
8
  value: {
9
- type: (ObjectConstructor | StringConstructor)[];
9
+ type: (StringConstructor | ObjectConstructor)[];
10
10
  required: true;
11
11
  };
12
12
  disabled: {
@@ -27,7 +27,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
27
27
  };
28
28
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
29
29
  value: {
30
- type: (ObjectConstructor | StringConstructor)[];
30
+ type: (StringConstructor | ObjectConstructor)[];
31
31
  required: true;
32
32
  };
33
33
  disabled: {
@@ -1,4 +1,5 @@
1
1
  <script setup>
2
+ import { cn } from "../../../lib/utils";
2
3
  import { reactiveOmit } from "@vueuse/core";
3
4
  import { X } from "lucide-vue-next";
4
5
  import { TagsInputItemDelete, useForwardProps } from "reka-ui";
@@ -1,4 +1,5 @@
1
1
  <script setup>
2
+ import { cn } from "../../../lib/utils";
2
3
  import { reactiveOmit } from "@vueuse/core";
3
4
  import { TagsInputItemText, useForwardProps } from "reka-ui";
4
5
  const props = defineProps({
@@ -6,11 +6,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
6
6
  required: false;
7
7
  };
8
8
  defaultValue: {
9
- type: (StringConstructor | NumberConstructor)[];
9
+ type: (NumberConstructor | StringConstructor)[];
10
10
  required: false;
11
11
  };
12
12
  modelValue: {
13
- type: (StringConstructor | NumberConstructor)[];
13
+ type: (NumberConstructor | StringConstructor)[];
14
14
  required: false;
15
15
  };
16
16
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -21,11 +21,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
21
21
  required: false;
22
22
  };
23
23
  defaultValue: {
24
- type: (StringConstructor | NumberConstructor)[];
24
+ type: (NumberConstructor | StringConstructor)[];
25
25
  required: false;
26
26
  };
27
27
  modelValue: {
28
- type: (StringConstructor | NumberConstructor)[];
28
+ type: (NumberConstructor | StringConstructor)[];
29
29
  required: false;
30
30
  };
31
31
  }>> & Readonly<{
@@ -1,4 +1,5 @@
1
1
  <script setup>
2
+ import { cn } from "../../../lib/utils";
2
3
  import { useVModel } from "@vueuse/core";
3
4
  const props = defineProps({
4
5
  class: { type: null, required: false },
@@ -6,11 +6,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
6
6
  required: false;
7
7
  };
8
8
  defaultValue: {
9
- type: (StringConstructor | NumberConstructor)[];
9
+ type: (NumberConstructor | StringConstructor)[];
10
10
  required: false;
11
11
  };
12
12
  modelValue: {
13
- type: (StringConstructor | NumberConstructor)[];
13
+ type: (NumberConstructor | StringConstructor)[];
14
14
  required: false;
15
15
  };
16
16
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -21,11 +21,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
21
21
  required: false;
22
22
  };
23
23
  defaultValue: {
24
- type: (StringConstructor | NumberConstructor)[];
24
+ type: (NumberConstructor | StringConstructor)[];
25
25
  required: false;
26
26
  };
27
27
  modelValue: {
28
- type: (StringConstructor | NumberConstructor)[];
28
+ type: (NumberConstructor | StringConstructor)[];
29
29
  required: false;
30
30
  };
31
31
  }>> & Readonly<{
@@ -97,12 +97,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
97
97
  }>> & Readonly<{
98
98
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
99
99
  }>, {
100
- variant: any;
101
- required: boolean;
102
100
  size: any;
103
101
  disabled: boolean;
102
+ required: boolean;
104
103
  defaultValue: boolean;
105
104
  asChild: boolean;
105
+ variant: any;
106
106
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
107
107
  type __VLS_Slots = {
108
108
  default?: ((props: {
@@ -1,4 +1,5 @@
1
1
  <script setup>
2
+ import { cn } from "../../../lib/utils";
2
3
  import { reactiveOmit } from "@vueuse/core";
3
4
  import { Toggle, useForwardPropsEmits } from "reka-ui";
4
5
  import { toggleVariants } from ".";
@@ -97,12 +97,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
97
97
  }>> & Readonly<{
98
98
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
99
99
  }>, {
100
- variant: any;
101
- required: boolean;
102
100
  size: any;
103
101
  disabled: boolean;
102
+ required: boolean;
104
103
  defaultValue: boolean;
105
104
  asChild: boolean;
105
+ variant: any;
106
106
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
107
107
  type __VLS_Slots = {
108
108
  default?: ((props: {
@@ -1,5 +1,5 @@
1
1
  export { default as Toggle } from "./Toggle.vue.js";
2
2
  export const toggleVariants: (props?: ({
3
3
  variant?: "default" | "outline" | null | undefined;
4
- size?: "default" | "sm" | "lg" | null | undefined;
4
+ size?: "default" | "lg" | "sm" | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -131,10 +131,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
131
131
  }>> & Readonly<{
132
132
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
133
133
  }>, {
134
- required: boolean;
134
+ loop: boolean;
135
135
  disabled: boolean;
136
+ required: boolean;
136
137
  asChild: boolean;
137
- loop: boolean;
138
138
  rovingFocus: boolean;
139
139
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
140
140
  type __VLS_Slots = {
@@ -1,4 +1,5 @@
1
1
  <script setup>
2
+ import { cn } from "../../../lib/utils";
2
3
  import { reactiveOmit } from "@vueuse/core";
3
4
  import { ToggleGroupRoot, useForwardPropsEmits } from "reka-ui";
4
5
  import { provide } from "vue";
@@ -131,10 +131,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
131
131
  }>> & Readonly<{
132
132
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
133
133
  }>, {
134
- required: boolean;
134
+ loop: boolean;
135
135
  disabled: boolean;
136
+ required: boolean;
136
137
  asChild: boolean;
137
- loop: boolean;
138
138
  rovingFocus: boolean;
139
139
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
140
140
  type __VLS_Slots = {
@@ -1,4 +1,5 @@
1
1
  <script setup>
2
+ import { cn } from "../../../lib/utils";
2
3
  import { reactiveOmit } from "@vueuse/core";
3
4
  import { ToggleGroupItem, useForwardProps } from "reka-ui";
4
5
  import { inject } from "vue";
@@ -47,7 +47,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
47
47
  required: false;
48
48
  };
49
49
  collisionPadding: {
50
- type: (ObjectConstructor | NumberConstructor)[];
50
+ type: (NumberConstructor | ObjectConstructor)[];
51
51
  required: false;
52
52
  };
53
53
  arrowPadding: {
@@ -120,7 +120,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
120
120
  required: false;
121
121
  };
122
122
  collisionPadding: {
123
- type: (ObjectConstructor | NumberConstructor)[];
123
+ type: (NumberConstructor | ObjectConstructor)[];
124
124
  required: false;
125
125
  };
126
126
  arrowPadding: {
@@ -1,4 +1,5 @@
1
1
  <script setup>
2
+ import { cn } from "../../../lib/utils";
2
3
  import { reactiveOmit } from "@vueuse/core";
3
4
  import { TooltipArrow, TooltipContent, TooltipPortal, useForwardPropsEmits } from "reka-ui";
4
5
  defineOptions({
@@ -47,7 +47,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
47
47
  required: false;
48
48
  };
49
49
  collisionPadding: {
50
- type: (ObjectConstructor | NumberConstructor)[];
50
+ type: (NumberConstructor | ObjectConstructor)[];
51
51
  required: false;
52
52
  };
53
53
  arrowPadding: {
@@ -120,7 +120,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
120
120
  required: false;
121
121
  };
122
122
  collisionPadding: {
123
- type: (ObjectConstructor | NumberConstructor)[];
123
+ type: (NumberConstructor | ObjectConstructor)[];
124
124
  required: false;
125
125
  };
126
126
  arrowPadding: {
@@ -20,8 +20,8 @@ export default function useAPI(): SmileAPI;
20
20
  * @property {object} private - Private data from store
21
21
  * @property {object} all_data - Combined private and public data
22
22
  * @property {object} all_config - Combined bro, dev, github and main configs
23
- * @property {Object} urls - Global URL configurations
24
- * @property {Object} log - Logging methods interface
23
+ * @property {object} urls - Global URL configurations
24
+ * @property {object} log - Logging methods interface
25
25
  */
26
26
  export class SmileAPI {
27
27
  /**
@@ -20,11 +20,11 @@ import { useRoute, useRouter, useRuntimeConfig, useNuxtApp } from '#imports'
20
20
  import useSmileStore from '../stores/smilestore.js'
21
21
  import useLog from '../stores/log.js'
22
22
  import useTimeline from './useTimeline.js'
23
- import * as _seedrandom from 'seedrandom'
23
+ import seedrandom from 'seedrandom'
24
24
  import { v4 as uuidv4 } from 'uuid'
25
- import * as _sha256 from 'crypto-js/sha256'
26
- import * as _Base64url from 'crypto-js/enc-base64'
27
- import * as _stringify from 'json-stable-stringify'
25
+ import sha256 from 'crypto-js/sha256'
26
+ import Base64url from 'crypto-js/enc-base64'
27
+ import stringify from 'json-stable-stringify'
28
28
  import {
29
29
  randomInt,
30
30
  shuffle,
@@ -33,11 +33,6 @@ import {
33
33
  fakerDistributions,
34
34
  } from '../utils/randomization.js'
35
35
 
36
- const seedrandom = _seedrandom.default || _seedrandom
37
- const sha256 = _sha256.default || _sha256
38
- const Base64url = _Base64url.default || _Base64url
39
- const stringify = _stringify.default || _stringify
40
-
41
36
  /**
42
37
  * SmileAPI class provides core functionality for SMILE experiments
43
38
  * @class
@@ -55,8 +50,8 @@ const stringify = _stringify.default || _stringify
55
50
  * @property {object} private - Private data from store
56
51
  * @property {object} all_data - Combined private and public data
57
52
  * @property {object} all_config - Combined bro, dev, github and main configs
58
- * @property {Object} urls - Global URL configurations
59
- * @property {Object} log - Logging methods interface
53
+ * @property {object} urls - Global URL configurations
54
+ * @property {object} log - Logging methods interface
60
55
  */
61
56
  export class SmileAPI {
62
57
  /**
@@ -34,6 +34,7 @@ declare class ViewAPI extends SmileAPI {
34
34
  _stateMachine: import("vue").Ref<null, null>;
35
35
  _gvars: import("vue").Ref<{}, {}>;
36
36
  componentRegistry: Map<any, any>;
37
+ _appContext: import("vue").AppContext | undefined;
37
38
  onKeyDown: typeof onKeyDown;
38
39
  onKeyPressed: typeof onKeyPressed;
39
40
  onKeyUp: typeof onKeyUp;
@@ -5,7 +5,7 @@
5
5
  * - All methods and properties from the core API
6
6
  * - All methods and properties from the stepper
7
7
  */
8
- import { ref, reactive, computed, watch } from 'vue'
8
+ import { ref, reactive, computed, watch, getCurrentInstance } from 'vue'
9
9
  import { SmileAPI } from './useAPI.js'
10
10
  import useSmileStore from '../stores/smilestore.js'
11
11
  import { useStepper } from './useStepper.js'
@@ -57,9 +57,13 @@ class ViewAPI extends SmileAPI {
57
57
  this._stateMachine = ref(null)
58
58
  this._gvars = ref({})
59
59
 
60
- // Component registry
60
+ // Component registry (deprecated - now stored on the Stepper's _componentRegistry)
61
+ // Kept for backwards compatibility but no longer populated
61
62
  this.componentRegistry = new Map()
62
63
 
64
+ // Capture the Vue app context for resolving globally registered components
65
+ this._appContext = getCurrentInstance()?.appContext
66
+
63
67
  // Watch for stepper changes and update internal state
64
68
  watch(
65
69
  this._stepper,
@@ -672,10 +676,22 @@ class ViewAPI extends SmileAPI {
672
676
 
673
677
  return this._dataAlongPath.value.map((item) => {
674
678
  if (item?.type?.__vueComponent) {
679
+ const name = item.type.componentName
680
+ // Try stepper's component registry first (captures user-imported components)
681
+ const stepperRegistry = this._stepper.value?._componentRegistry
682
+ let resolved = stepperRegistry?.get(name)
683
+ // Fallback to globally registered components (Nuxt auto-imports)
684
+ if (!resolved && this._appContext) {
685
+ const globalResolved = this._appContext.components?.[name]
686
+ || this._appContext.app?.component?.(name)
687
+ if (globalResolved) {
688
+ resolved = globalResolved
689
+ }
690
+ }
675
691
  return {
676
692
  ...item,
677
- type: this.componentRegistry.get(item.type.componentName) || {
678
- template: `<div>Component ${item.type.componentName} not found</div>`,
693
+ type: resolved || {
694
+ template: `<div>Component ${name} not found</div>`,
679
695
  },
680
696
  }
681
697
  }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Monitors the viewport size and updates `browserEphemeral.tooSmall`.
3
+ *
4
+ * @param {{ useDeviceContainer?: boolean }} options
5
+ * - useDeviceContainer: when true, checks against the responsive device
6
+ * container dimensions (for the development layout). When false or
7
+ * omitted, checks against the browser window dimensions.
8
+ * @returns {{ showAggressiveOverlay: import('vue').ComputedRef<boolean> }}
9
+ */
10
+ export default function useWindowSizer({ useDeviceContainer }?: {
11
+ useDeviceContainer?: boolean;
12
+ }): {
13
+ showAggressiveOverlay: import("vue").ComputedRef<boolean>;
14
+ };
@@ -0,0 +1,48 @@
1
+ import { computed, onMounted, onUnmounted, ref } from 'vue'
2
+ import useAPI from './useAPI.js'
3
+
4
+ /**
5
+ * Monitors the viewport size and updates `browserEphemeral.tooSmall`.
6
+ *
7
+ * @param {{ useDeviceContainer?: boolean }} options
8
+ * - useDeviceContainer: when true, checks against the responsive device
9
+ * container dimensions (for the development layout). When false or
10
+ * omitted, checks against the browser window dimensions.
11
+ * @returns {{ showAggressiveOverlay: import('vue').ComputedRef<boolean> }}
12
+ */
13
+ export default function useWindowSizer({ useDeviceContainer = false } = {}) {
14
+ const api = useAPI()
15
+
16
+ const windowWidth = ref(typeof window !== 'undefined' ? window.innerWidth : 0)
17
+ const windowHeight = ref(typeof window !== 'undefined' ? window.innerHeight : 0)
18
+
19
+ function updateWindowDimensions() {
20
+ windowWidth.value = window.innerWidth
21
+ windowHeight.value = window.innerHeight
22
+ }
23
+
24
+ onMounted(() => {
25
+ updateWindowDimensions()
26
+ window.addEventListener('resize', updateWindowDimensions)
27
+ })
28
+
29
+ onUnmounted(() => {
30
+ window.removeEventListener('resize', updateWindowDimensions)
31
+ })
32
+
33
+ const effectiveWidth = computed(() => {
34
+ return useDeviceContainer ? api.store.dev.deviceWidth : windowWidth.value
35
+ })
36
+
37
+ const effectiveHeight = computed(() => {
38
+ return useDeviceContainer ? api.store.dev.deviceHeight : windowHeight.value
39
+ })
40
+
41
+ const showAggressiveOverlay = computed(() => {
42
+ const val = api.isBrowserTooSmall(effectiveWidth.value, effectiveHeight.value)
43
+ api.store.browserEphemeral.tooSmall = val
44
+ return val
45
+ })
46
+
47
+ return { showAggressiveOverlay }
48
+ }