@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.
- package/LICENSE +21 -0
- package/README.md +50 -0
- package/dist/module.d.mts +8 -0
- package/dist/module.json +9 -0
- package/dist/module.mjs +102 -0
- package/dist/runtime/components/builtins/AdvertisementView.d.vue.ts +3 -0
- package/dist/runtime/components/builtins/AdvertisementView.vue +62 -0
- package/dist/runtime/components/builtins/AdvertisementView.vue.d.ts +3 -0
- package/dist/runtime/components/builtins/DebriefView.d.vue.ts +22 -0
- package/dist/runtime/components/builtins/DebriefView.vue +43 -0
- package/dist/runtime/components/builtins/DebriefView.vue.d.ts +22 -0
- package/dist/runtime/components/builtins/DemographicSurveyView.d.vue.ts +3 -0
- package/dist/runtime/components/builtins/DemographicSurveyView.vue +1206 -0
- package/dist/runtime/components/builtins/DemographicSurveyView.vue.d.ts +3 -0
- package/dist/runtime/components/builtins/DeviceSurveyView.d.vue.ts +3 -0
- package/dist/runtime/components/builtins/DeviceSurveyView.vue +452 -0
- package/dist/runtime/components/builtins/DeviceSurveyView.vue.d.ts +3 -0
- package/dist/runtime/components/builtins/ExpView.d.vue.ts +3 -0
- package/dist/runtime/components/builtins/ExpView.vue +39 -0
- package/dist/runtime/components/builtins/ExpView.vue.d.ts +3 -0
- package/dist/runtime/components/builtins/ExperimentStatusBar.d.vue.ts +3 -0
- package/dist/runtime/components/builtins/ExperimentStatusBar.vue +12 -0
- package/dist/runtime/components/builtins/ExperimentStatusBar.vue.d.ts +3 -0
- package/dist/runtime/components/builtins/FavoriteColor.d.vue.ts +3 -0
- package/dist/runtime/components/builtins/FavoriteColor.vue +57 -0
- package/dist/runtime/components/builtins/FavoriteColor.vue.d.ts +3 -0
- package/dist/runtime/components/builtins/FavoriteNumber.d.vue.ts +3 -0
- package/dist/runtime/components/builtins/FavoriteNumber.vue +57 -0
- package/dist/runtime/components/builtins/FavoriteNumber.vue.d.ts +3 -0
- package/dist/runtime/components/builtins/InformedConsentModal.d.vue.ts +28 -0
- package/dist/runtime/components/builtins/InformedConsentModal.vue +82 -0
- package/dist/runtime/components/builtins/InformedConsentModal.vue.d.ts +28 -0
- package/dist/runtime/components/builtins/InformedConsentView.d.vue.ts +13 -0
- package/dist/runtime/components/builtins/InformedConsentView.vue +127 -0
- package/dist/runtime/components/builtins/InformedConsentView.vue.d.ts +13 -0
- package/dist/runtime/components/builtins/InstructionsQuiz.d.vue.ts +36 -0
- package/dist/runtime/components/builtins/InstructionsQuiz.vue +274 -0
- package/dist/runtime/components/builtins/InstructionsQuiz.vue.d.ts +36 -0
- package/dist/runtime/components/builtins/InstructionsView.d.vue.ts +3 -0
- package/dist/runtime/components/builtins/InstructionsView.vue +58 -0
- package/dist/runtime/components/builtins/InstructionsView.vue.d.ts +3 -0
- package/dist/runtime/components/builtins/MTurkRecruitView.d.vue.ts +21 -0
- package/dist/runtime/components/builtins/MTurkRecruitView.vue +137 -0
- package/dist/runtime/components/builtins/MTurkRecruitView.vue.d.ts +21 -0
- package/dist/runtime/components/builtins/PresentationModeView.d.vue.ts +93 -0
- package/dist/runtime/components/builtins/PresentationModeView.vue +254 -0
- package/dist/runtime/components/builtins/PresentationModeView.vue.d.ts +93 -0
- package/dist/runtime/components/builtins/StatusBar.d.vue.ts +3 -0
- package/dist/runtime/components/builtins/StatusBar.vue +128 -0
- package/dist/runtime/components/builtins/StatusBar.vue.d.ts +3 -0
- package/dist/runtime/components/builtins/StudyPreviewText.d.vue.ts +21 -0
- package/dist/runtime/components/builtins/StudyPreviewText.vue +102 -0
- package/dist/runtime/components/builtins/StudyPreviewText.vue.d.ts +21 -0
- package/dist/runtime/components/builtins/TaskFeedbackSurveyView.d.vue.ts +3 -0
- package/dist/runtime/components/builtins/TaskFeedbackSurveyView.vue +203 -0
- package/dist/runtime/components/builtins/TaskFeedbackSurveyView.vue.d.ts +3 -0
- package/dist/runtime/components/builtins/ThanksView.d.vue.ts +3 -0
- package/dist/runtime/components/builtins/ThanksView.vue +451 -0
- package/dist/runtime/components/builtins/ThanksView.vue.d.ts +3 -0
- package/dist/runtime/components/builtins/WindowSizerView.d.vue.ts +7 -0
- package/dist/runtime/components/builtins/WindowSizerView.vue +94 -0
- package/dist/runtime/components/builtins/WindowSizerView.vue.d.ts +7 -0
- package/dist/runtime/components/builtins/WithdrawModal.d.vue.ts +56 -0
- package/dist/runtime/components/builtins/WithdrawModal.vue +208 -0
- package/dist/runtime/components/builtins/WithdrawModal.vue.d.ts +56 -0
- package/dist/runtime/components/builtins/WithdrawView.d.vue.ts +3 -0
- package/dist/runtime/components/builtins/WithdrawView.vue +99 -0
- package/dist/runtime/components/builtins/WithdrawView.vue.d.ts +3 -0
- package/dist/runtime/components/dev/RecruitmentChooserView.d.vue.ts +3 -0
- package/dist/runtime/components/dev/RecruitmentChooserView.vue +258 -0
- package/dist/runtime/components/dev/RecruitmentChooserView.vue.d.ts +3 -0
- package/dist/runtime/components/dev/ResponsiveDeviceContainer.d.vue.ts +12 -0
- package/dist/runtime/components/dev/ResponsiveDeviceContainer.vue +215 -0
- package/dist/runtime/components/dev/ResponsiveDeviceContainer.vue.d.ts +12 -0
- package/dist/runtime/components/dev/console/ConfigList.d.vue.ts +26 -0
- package/dist/runtime/components/dev/console/ConfigList.vue +106 -0
- package/dist/runtime/components/dev/console/ConfigList.vue.d.ts +26 -0
- package/dist/runtime/components/dev/console/ConsoleConfigPanel.d.vue.ts +3 -0
- package/dist/runtime/components/dev/console/ConsoleConfigPanel.vue +135 -0
- package/dist/runtime/components/dev/console/ConsoleConfigPanel.vue.d.ts +3 -0
- package/dist/runtime/components/dev/console/ConsoleDatabaseBrowsePanel.d.vue.ts +3 -0
- package/dist/runtime/components/dev/console/ConsoleDatabaseBrowsePanel.vue +124 -0
- package/dist/runtime/components/dev/console/ConsoleDatabaseBrowsePanel.vue.d.ts +3 -0
- package/dist/runtime/components/dev/console/ConsoleLogPanel.d.vue.ts +3 -0
- package/dist/runtime/components/dev/console/ConsoleLogPanel.vue +227 -0
- package/dist/runtime/components/dev/console/ConsoleLogPanel.vue.d.ts +3 -0
- package/dist/runtime/components/dev/console/DatabaseList.d.vue.ts +26 -0
- package/dist/runtime/components/dev/console/DatabaseList.vue +110 -0
- package/dist/runtime/components/dev/console/DatabaseList.vue.d.ts +26 -0
- package/dist/runtime/components/dev/console/SmileDevConsole.d.vue.ts +3 -0
- package/dist/runtime/components/dev/console/SmileDevConsole.vue +117 -0
- package/dist/runtime/components/dev/console/SmileDevConsole.vue.d.ts +3 -0
- package/dist/runtime/components/dev/devicePresets.d.ts +91 -0
- package/dist/runtime/components/dev/devicePresets.js +40 -0
- package/dist/runtime/components/dev/menu/DevConfigPanel.d.vue.ts +3 -0
- package/dist/runtime/components/dev/menu/DevConfigPanel.vue +178 -0
- package/dist/runtime/components/dev/menu/DevConfigPanel.vue.d.ts +3 -0
- package/dist/runtime/components/dev/menu/ResponsiveDeviceSelect.d.vue.ts +3 -0
- package/dist/runtime/components/dev/menu/ResponsiveDeviceSelect.vue +108 -0
- package/dist/runtime/components/dev/menu/ResponsiveDeviceSelect.vue.d.ts +3 -0
- package/dist/runtime/components/dev/menu/SmileDevAppMenu.d.vue.ts +62 -0
- package/dist/runtime/components/dev/menu/SmileDevAppMenu.vue +184 -0
- package/dist/runtime/components/dev/menu/SmileDevAppMenu.vue.d.ts +62 -0
- package/dist/runtime/components/dev/navbar/CircleProgress.d.vue.ts +15 -0
- package/dist/runtime/components/dev/navbar/CircleProgress.vue +26 -0
- package/dist/runtime/components/dev/navbar/CircleProgress.vue.d.ts +15 -0
- package/dist/runtime/components/dev/navbar/ColorModeButton.d.vue.ts +3 -0
- package/dist/runtime/components/dev/navbar/ColorModeButton.vue +33 -0
- package/dist/runtime/components/dev/navbar/ColorModeButton.vue.d.ts +3 -0
- package/dist/runtime/components/dev/navbar/DatabaseButtonGroup.d.vue.ts +3 -0
- package/dist/runtime/components/dev/navbar/DatabaseButtonGroup.vue +86 -0
- package/dist/runtime/components/dev/navbar/DatabaseButtonGroup.vue.d.ts +3 -0
- package/dist/runtime/components/dev/navbar/FullScreenButton.d.vue.ts +3 -0
- package/dist/runtime/components/dev/navbar/FullScreenButton.vue +35 -0
- package/dist/runtime/components/dev/navbar/FullScreenButton.vue.d.ts +3 -0
- package/dist/runtime/components/dev/navbar/KeyCommandNotification.d.vue.ts +41 -0
- package/dist/runtime/components/dev/navbar/KeyCommandNotification.vue +58 -0
- package/dist/runtime/components/dev/navbar/KeyCommandNotification.vue.d.ts +41 -0
- package/dist/runtime/components/dev/navbar/ReloadButton.d.vue.ts +3 -0
- package/dist/runtime/components/dev/navbar/ReloadButton.vue +23 -0
- package/dist/runtime/components/dev/navbar/ReloadButton.vue.d.ts +3 -0
- package/dist/runtime/components/dev/navbar/ResetButton.d.vue.ts +3 -0
- package/dist/runtime/components/dev/navbar/ResetButton.vue +23 -0
- package/dist/runtime/components/dev/navbar/ResetButton.vue.d.ts +3 -0
- package/dist/runtime/components/dev/navbar/RouteJumper.d.vue.ts +7 -0
- package/dist/runtime/components/dev/navbar/RouteJumper.vue +90 -0
- package/dist/runtime/components/dev/navbar/RouteJumper.vue.d.ts +7 -0
- package/dist/runtime/components/dev/navbar/SmileDevNavBar.d.vue.ts +3 -0
- package/dist/runtime/components/dev/navbar/SmileDevNavBar.vue +248 -0
- package/dist/runtime/components/dev/navbar/SmileDevNavBar.vue.d.ts +3 -0
- package/dist/runtime/components/dev/navbar/StepInfoButtonGroup.d.vue.ts +3 -0
- package/dist/runtime/components/dev/navbar/StepInfoButtonGroup.vue +63 -0
- package/dist/runtime/components/dev/navbar/StepInfoButtonGroup.vue.d.ts +3 -0
- package/dist/runtime/components/dev/navbar/ViewButton.d.vue.ts +3 -0
- package/dist/runtime/components/dev/navbar/ViewButton.vue +159 -0
- package/dist/runtime/components/dev/navbar/ViewButton.vue.d.ts +3 -0
- package/dist/runtime/components/dev/navbar/ViewInfoButtonGroup.d.vue.ts +3 -0
- package/dist/runtime/components/dev/navbar/ViewInfoButtonGroup.vue +147 -0
- package/dist/runtime/components/dev/navbar/ViewInfoButtonGroup.vue.d.ts +3 -0
- package/dist/runtime/components/dev/presentation/DarkModeButton.d.vue.ts +3 -0
- package/dist/runtime/components/dev/presentation/DarkModeButton.vue +43 -0
- package/dist/runtime/components/dev/presentation/DarkModeButton.vue.d.ts +3 -0
- package/dist/runtime/components/dev/presentation/LogoutButton.d.vue.ts +3 -0
- package/dist/runtime/components/dev/presentation/LogoutButton.vue +38 -0
- package/dist/runtime/components/dev/presentation/LogoutButton.vue.d.ts +3 -0
- package/dist/runtime/components/dev/presentation/PresentationModeResetButton.d.vue.ts +7 -0
- package/dist/runtime/components/dev/presentation/PresentationModeResetButton.vue +25 -0
- package/dist/runtime/components/dev/presentation/PresentationModeResetButton.vue.d.ts +7 -0
- package/dist/runtime/components/dev/presentation/PresentationNavBar.d.vue.ts +3 -0
- package/dist/runtime/components/dev/presentation/PresentationNavBar.vue +70 -0
- package/dist/runtime/components/dev/presentation/PresentationNavBar.vue.d.ts +3 -0
- package/dist/runtime/components/dev/presentation/QRCodeButton.d.vue.ts +3 -0
- package/dist/runtime/components/dev/presentation/QRCodeButton.vue +66 -0
- package/dist/runtime/components/dev/presentation/QRCodeButton.vue.d.ts +3 -0
- package/dist/runtime/components/dev/sidebar/AppProgressPanel.d.vue.ts +3 -0
- package/dist/runtime/components/dev/sidebar/AppProgressPanel.vue +125 -0
- package/dist/runtime/components/dev/sidebar/AppProgressPanel.vue.d.ts +3 -0
- package/dist/runtime/components/dev/sidebar/ConfigurationVariablesPanel.d.vue.ts +3 -0
- package/dist/runtime/components/dev/sidebar/ConfigurationVariablesPanel.vue +219 -0
- package/dist/runtime/components/dev/sidebar/ConfigurationVariablesPanel.vue.d.ts +3 -0
- package/dist/runtime/components/dev/sidebar/DatabaseStatusInfoPanel.d.vue.ts +3 -0
- package/dist/runtime/components/dev/sidebar/DatabaseStatusInfoPanel.vue +117 -0
- package/dist/runtime/components/dev/sidebar/DatabaseStatusInfoPanel.vue.d.ts +3 -0
- package/dist/runtime/components/dev/sidebar/RandomizationSidebarPanel.d.vue.ts +3 -0
- package/dist/runtime/components/dev/sidebar/RandomizationSidebarPanel.vue +151 -0
- package/dist/runtime/components/dev/sidebar/RandomizationSidebarPanel.vue.d.ts +3 -0
- package/dist/runtime/components/dev/sidebar/SmileDevSideBar.d.vue.ts +3 -0
- package/dist/runtime/components/dev/sidebar/SmileDevSideBar.vue +70 -0
- package/dist/runtime/components/dev/sidebar/SmileDevSideBar.vue.d.ts +3 -0
- package/dist/runtime/components/dev/sidebar/StepDataViewer.d.vue.ts +22 -0
- package/dist/runtime/components/dev/sidebar/StepDataViewer.vue +82 -0
- package/dist/runtime/components/dev/sidebar/StepDataViewer.vue.d.ts +22 -0
- package/dist/runtime/components/dev/sidebar/StepExplorerPanel.d.vue.ts +3 -0
- package/dist/runtime/components/dev/sidebar/StepExplorerPanel.vue +318 -0
- package/dist/runtime/components/dev/sidebar/StepExplorerPanel.vue.d.ts +3 -0
- package/dist/runtime/components/dev/sidebar/StepNode.d.vue.ts +84 -0
- package/dist/runtime/components/dev/sidebar/StepNode.vue +95 -0
- package/dist/runtime/components/dev/sidebar/StepNode.vue.d.ts +84 -0
- package/dist/runtime/components/dev/sidebar/StudyInfoPanel.d.vue.ts +3 -0
- package/dist/runtime/components/dev/sidebar/StudyInfoPanel.vue +17 -0
- package/dist/runtime/components/dev/sidebar/StudyInfoPanel.vue.d.ts +3 -0
- package/dist/runtime/components/forms/MonthYearDayPicker.d.vue.ts +240 -0
- package/dist/runtime/components/forms/MonthYearDayPicker.vue +191 -0
- package/dist/runtime/components/forms/MonthYearDayPicker.vue.d.ts +240 -0
- package/dist/runtime/components/layouts/CenteredContent.d.vue.ts +22 -0
- package/dist/runtime/components/layouts/CenteredContent.vue +14 -0
- package/dist/runtime/components/layouts/CenteredContent.vue.d.ts +22 -0
- package/dist/runtime/components/layouts/ConstrainedPage.d.vue.ts +55 -0
- package/dist/runtime/components/layouts/ConstrainedPage.vue +56 -0
- package/dist/runtime/components/layouts/ConstrainedPage.vue.d.ts +55 -0
- package/dist/runtime/components/layouts/ConstrainedTaskWindow.d.vue.ts +66 -0
- package/dist/runtime/components/layouts/ConstrainedTaskWindow.vue +73 -0
- package/dist/runtime/components/layouts/ConstrainedTaskWindow.vue.d.ts +66 -0
- package/dist/runtime/components/layouts/TitleTwoCol.d.vue.ts +61 -0
- package/dist/runtime/components/layouts/TitleTwoCol.vue +54 -0
- package/dist/runtime/components/layouts/TitleTwoCol.vue.d.ts +61 -0
- package/dist/runtime/components/layouts/TwoCol.d.vue.ts +59 -0
- package/dist/runtime/components/layouts/TwoCol.vue +51 -0
- package/dist/runtime/components/layouts/TwoCol.vue.d.ts +59 -0
- package/dist/runtime/components/layouts/index.d.ts +1 -0
- package/dist/runtime/components/layouts/index.js +5 -0
- package/dist/runtime/components/layouts/layoutUtils.d.ts +1 -0
- package/dist/runtime/components/layouts/layoutUtils.js +27 -0
- package/dist/runtime/components/ui/avatar/Avatar.d.vue.ts +20 -0
- package/dist/runtime/components/ui/avatar/Avatar.vue +15 -0
- package/dist/runtime/components/ui/avatar/Avatar.vue.d.ts +20 -0
- package/dist/runtime/components/ui/avatar/AvatarFallback.d.vue.ts +46 -0
- package/dist/runtime/components/ui/avatar/AvatarFallback.vue +21 -0
- package/dist/runtime/components/ui/avatar/AvatarFallback.vue.d.ts +46 -0
- package/dist/runtime/components/ui/avatar/AvatarImage.d.vue.ts +54 -0
- package/dist/runtime/components/ui/avatar/AvatarImage.vue +20 -0
- package/dist/runtime/components/ui/avatar/AvatarImage.vue.d.ts +54 -0
- package/dist/runtime/components/ui/avatar/index.d.ts +1 -0
- package/dist/runtime/components/ui/avatar/index.js +3 -0
- package/dist/runtime/components/ui/badge/Badge.d.vue.ts +46 -0
- package/dist/runtime/components/ui/badge/Badge.vue +22 -0
- package/dist/runtime/components/ui/badge/Badge.vue.d.ts +46 -0
- package/dist/runtime/components/ui/badge/index.d.ts +4 -0
- package/dist/runtime/components/ui/badge/index.js +21 -0
- package/dist/runtime/components/ui/breadcrumb/Breadcrumb.d.vue.ts +20 -0
- package/dist/runtime/components/ui/breadcrumb/Breadcrumb.vue +15 -0
- package/dist/runtime/components/ui/breadcrumb/Breadcrumb.vue.d.ts +20 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbEllipsis.d.vue.ts +20 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbEllipsis.vue +20 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbEllipsis.vue.d.ts +20 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbItem.d.vue.ts +20 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbItem.vue +14 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbItem.vue.d.ts +20 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbLink.d.vue.ts +41 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbLink.vue +19 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbLink.vue.d.ts +41 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbList.d.vue.ts +20 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbList.vue +14 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbList.vue.d.ts +20 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbPage.d.vue.ts +20 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbPage.vue +17 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbPage.vue.d.ts +20 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbSeparator.d.vue.ts +20 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbSeparator.vue +19 -0
- package/dist/runtime/components/ui/breadcrumb/BreadcrumbSeparator.vue.d.ts +20 -0
- package/dist/runtime/components/ui/breadcrumb/index.d.ts +1 -0
- package/dist/runtime/components/ui/breadcrumb/index.js +7 -0
- package/dist/runtime/components/ui/button/Button.d.vue.ts +57 -0
- package/dist/runtime/components/ui/button/Button.vue +22 -0
- package/dist/runtime/components/ui/button/Button.vue.d.ts +57 -0
- package/dist/runtime/components/ui/button/index.d.ts +5 -0
- package/dist/runtime/components/ui/button/index.js +60 -0
- package/dist/runtime/components/ui/button-group/ButtonGroup.d.vue.ts +85 -0
- package/dist/runtime/components/ui/button-group/ButtonGroup.vue +33 -0
- package/dist/runtime/components/ui/button-group/ButtonGroup.vue.d.ts +85 -0
- package/dist/runtime/components/ui/button-group/ButtonGroupItem.d.vue.ts +66 -0
- package/dist/runtime/components/ui/button-group/ButtonGroupItem.vue +38 -0
- package/dist/runtime/components/ui/button-group/ButtonGroupItem.vue.d.ts +66 -0
- package/dist/runtime/components/ui/button-group/index.d.ts +1 -0
- package/dist/runtime/components/ui/button-group/index.js +2 -0
- package/dist/runtime/components/ui/calendar/Calendar.d.vue.ts +237 -0
- package/dist/runtime/components/ui/calendar/Calendar.vue +103 -0
- package/dist/runtime/components/ui/calendar/Calendar.vue.d.ts +237 -0
- package/dist/runtime/components/ui/calendar/CalendarCell.d.vue.ts +46 -0
- package/dist/runtime/components/ui/calendar/CalendarCell.vue +27 -0
- package/dist/runtime/components/ui/calendar/CalendarCell.vue.d.ts +46 -0
- package/dist/runtime/components/ui/calendar/CalendarCellTrigger.d.vue.ts +57 -0
- package/dist/runtime/components/ui/calendar/CalendarCellTrigger.vue +39 -0
- package/dist/runtime/components/ui/calendar/CalendarCellTrigger.vue.d.ts +57 -0
- package/dist/runtime/components/ui/calendar/CalendarGrid.d.vue.ts +38 -0
- package/dist/runtime/components/ui/calendar/CalendarGrid.vue +21 -0
- package/dist/runtime/components/ui/calendar/CalendarGrid.vue.d.ts +38 -0
- package/dist/runtime/components/ui/calendar/CalendarGridBody.d.vue.ts +30 -0
- package/dist/runtime/components/ui/calendar/CalendarGridBody.vue +16 -0
- package/dist/runtime/components/ui/calendar/CalendarGridBody.vue.d.ts +30 -0
- package/dist/runtime/components/ui/calendar/CalendarGridHead.d.vue.ts +38 -0
- package/dist/runtime/components/ui/calendar/CalendarGridHead.vue +17 -0
- package/dist/runtime/components/ui/calendar/CalendarGridHead.vue.d.ts +38 -0
- package/dist/runtime/components/ui/calendar/CalendarGridRow.d.vue.ts +38 -0
- package/dist/runtime/components/ui/calendar/CalendarGridRow.vue +21 -0
- package/dist/runtime/components/ui/calendar/CalendarGridRow.vue.d.ts +38 -0
- package/dist/runtime/components/ui/calendar/CalendarHeadCell.d.vue.ts +38 -0
- package/dist/runtime/components/ui/calendar/CalendarHeadCell.vue +21 -0
- package/dist/runtime/components/ui/calendar/CalendarHeadCell.vue.d.ts +38 -0
- package/dist/runtime/components/ui/calendar/CalendarHeader.d.vue.ts +38 -0
- package/dist/runtime/components/ui/calendar/CalendarHeader.vue +21 -0
- package/dist/runtime/components/ui/calendar/CalendarHeader.vue.d.ts +38 -0
- package/dist/runtime/components/ui/calendar/CalendarHeading.d.vue.ts +35 -0
- package/dist/runtime/components/ui/calendar/CalendarHeading.vue +25 -0
- package/dist/runtime/components/ui/calendar/CalendarHeading.vue.d.ts +35 -0
- package/dist/runtime/components/ui/calendar/CalendarNextButton.d.vue.ts +46 -0
- package/dist/runtime/components/ui/calendar/CalendarNextButton.vue +33 -0
- package/dist/runtime/components/ui/calendar/CalendarNextButton.vue.d.ts +46 -0
- package/dist/runtime/components/ui/calendar/CalendarPrevButton.d.vue.ts +46 -0
- package/dist/runtime/components/ui/calendar/CalendarPrevButton.vue +33 -0
- package/dist/runtime/components/ui/calendar/CalendarPrevButton.vue.d.ts +46 -0
- package/dist/runtime/components/ui/calendar/index.d.ts +12 -0
- package/dist/runtime/components/ui/calendar/index.js +12 -0
- package/dist/runtime/components/ui/card/Card.d.vue.ts +20 -0
- package/dist/runtime/components/ui/card/Card.vue +14 -0
- package/dist/runtime/components/ui/card/Card.vue.d.ts +20 -0
- package/dist/runtime/components/ui/card/CardAction.d.vue.ts +20 -0
- package/dist/runtime/components/ui/card/CardAction.vue +14 -0
- package/dist/runtime/components/ui/card/CardAction.vue.d.ts +20 -0
- package/dist/runtime/components/ui/card/CardContent.d.vue.ts +20 -0
- package/dist/runtime/components/ui/card/CardContent.vue +14 -0
- package/dist/runtime/components/ui/card/CardContent.vue.d.ts +20 -0
- package/dist/runtime/components/ui/card/CardDescription.d.vue.ts +20 -0
- package/dist/runtime/components/ui/card/CardDescription.vue +14 -0
- package/dist/runtime/components/ui/card/CardDescription.vue.d.ts +20 -0
- package/dist/runtime/components/ui/card/CardFooter.d.vue.ts +20 -0
- package/dist/runtime/components/ui/card/CardFooter.vue +14 -0
- package/dist/runtime/components/ui/card/CardFooter.vue.d.ts +20 -0
- package/dist/runtime/components/ui/card/CardHeader.d.vue.ts +20 -0
- package/dist/runtime/components/ui/card/CardHeader.vue +19 -0
- package/dist/runtime/components/ui/card/CardHeader.vue.d.ts +20 -0
- package/dist/runtime/components/ui/card/CardTitle.d.vue.ts +20 -0
- package/dist/runtime/components/ui/card/CardTitle.vue +14 -0
- package/dist/runtime/components/ui/card/CardTitle.vue.d.ts +20 -0
- package/dist/runtime/components/ui/card/index.d.ts +1 -0
- package/dist/runtime/components/ui/card/index.js +7 -0
- package/dist/runtime/components/ui/checkbox/Checkbox.d.vue.ts +122 -0
- package/dist/runtime/components/ui/checkbox/Checkbox.vue +51 -0
- package/dist/runtime/components/ui/checkbox/Checkbox.vue.d.ts +122 -0
- package/dist/runtime/components/ui/checkbox/index.d.ts +5 -0
- package/dist/runtime/components/ui/checkbox/index.js +35 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenu.d.vue.ts +52 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenu.vue +20 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +52 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.d.vue.ts +69 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +36 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +69 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.d.vue.ts +195 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue +46 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +195 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuGroup.d.vue.ts +30 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuGroup.vue +16 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuGroup.vue.d.ts +30 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.d.vue.ts +75 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue +32 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuItem.vue.d.ts +75 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.d.vue.ts +47 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuLabel.vue.d.ts +47 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioGroup.d.vue.ts +42 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +19 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +42 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.d.vue.ts +67 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +36 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +67 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.d.vue.ts +31 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.vue +18 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSeparator.vue.d.ts +31 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.d.vue.ts +20 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.vue +14 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuShortcut.vue.d.ts +20 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSub.d.vue.ts +35 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSub.vue.d.ts +35 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.d.vue.ts +180 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue +50 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +180 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.d.vue.ts +64 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +64 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuTrigger.d.vue.ts +39 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuTrigger.vue +18 -0
- package/dist/runtime/components/ui/dropdown-menu/DropdownMenuTrigger.vue.d.ts +39 -0
- package/dist/runtime/components/ui/dropdown-menu/index.d.ts +1 -0
- package/dist/runtime/components/ui/dropdown-menu/index.js +16 -0
- package/dist/runtime/components/ui/input/Input.d.vue.ts +33 -0
- package/dist/runtime/components/ui/input/Input.vue +28 -0
- package/dist/runtime/components/ui/input/Input.vue.d.ts +33 -0
- package/dist/runtime/components/ui/input/index.d.ts +1 -0
- package/dist/runtime/components/ui/input/index.js +1 -0
- package/dist/runtime/components/ui/label/Label.d.vue.ts +46 -0
- package/dist/runtime/components/ui/label/Label.vue +26 -0
- package/dist/runtime/components/ui/label/Label.vue.d.ts +46 -0
- package/dist/runtime/components/ui/label/index.d.ts +1 -0
- package/dist/runtime/components/ui/label/index.js +1 -0
- package/dist/runtime/components/ui/multiselect/MultiSelect.d.vue.ts +80 -0
- package/dist/runtime/components/ui/multiselect/MultiSelect.vue +98 -0
- package/dist/runtime/components/ui/multiselect/MultiSelect.vue.d.ts +80 -0
- package/dist/runtime/components/ui/multiselect/index.d.ts +1 -0
- package/dist/runtime/components/ui/multiselect/index.js +1 -0
- package/dist/runtime/components/ui/pagination/Pagination.d.vue.ts +103 -0
- package/dist/runtime/components/ui/pagination/Pagination.vue +30 -0
- package/dist/runtime/components/ui/pagination/Pagination.vue.d.ts +103 -0
- package/dist/runtime/components/ui/pagination/PaginationContent.d.vue.ts +45 -0
- package/dist/runtime/components/ui/pagination/PaginationContent.vue +21 -0
- package/dist/runtime/components/ui/pagination/PaginationContent.vue.d.ts +45 -0
- package/dist/runtime/components/ui/pagination/PaginationEllipsis.d.vue.ts +38 -0
- package/dist/runtime/components/ui/pagination/PaginationEllipsis.vue +24 -0
- package/dist/runtime/components/ui/pagination/PaginationEllipsis.vue.d.ts +38 -0
- package/dist/runtime/components/ui/pagination/PaginationFirst.d.vue.ts +49 -0
- package/dist/runtime/components/ui/pagination/PaginationFirst.vue +27 -0
- package/dist/runtime/components/ui/pagination/PaginationFirst.vue.d.ts +49 -0
- package/dist/runtime/components/ui/pagination/PaginationItem.d.vue.ts +66 -0
- package/dist/runtime/components/ui/pagination/PaginationItem.vue +32 -0
- package/dist/runtime/components/ui/pagination/PaginationItem.vue.d.ts +66 -0
- package/dist/runtime/components/ui/pagination/PaginationLast.d.vue.ts +49 -0
- package/dist/runtime/components/ui/pagination/PaginationLast.vue +27 -0
- package/dist/runtime/components/ui/pagination/PaginationLast.vue.d.ts +49 -0
- package/dist/runtime/components/ui/pagination/PaginationNext.d.vue.ts +49 -0
- package/dist/runtime/components/ui/pagination/PaginationNext.vue +27 -0
- package/dist/runtime/components/ui/pagination/PaginationNext.vue.d.ts +49 -0
- package/dist/runtime/components/ui/pagination/PaginationPrevious.d.vue.ts +49 -0
- package/dist/runtime/components/ui/pagination/PaginationPrevious.vue +27 -0
- package/dist/runtime/components/ui/pagination/PaginationPrevious.vue.d.ts +49 -0
- package/dist/runtime/components/ui/pagination/index.d.ts +1 -0
- package/dist/runtime/components/ui/pagination/index.js +8 -0
- package/dist/runtime/components/ui/popover/Popover.d.vue.ts +44 -0
- package/dist/runtime/components/ui/popover/Popover.vue +19 -0
- package/dist/runtime/components/ui/popover/Popover.vue.d.ts +44 -0
- package/dist/runtime/components/ui/popover/PopoverAnchor.d.vue.ts +38 -0
- package/dist/runtime/components/ui/popover/PopoverAnchor.vue +17 -0
- package/dist/runtime/components/ui/popover/PopoverAnchor.vue.d.ts +38 -0
- package/dist/runtime/components/ui/popover/PopoverContent.d.vue.ts +200 -0
- package/dist/runtime/components/ui/popover/PopoverContent.vue +56 -0
- package/dist/runtime/components/ui/popover/PopoverContent.vue.d.ts +200 -0
- package/dist/runtime/components/ui/popover/PopoverTrigger.d.vue.ts +30 -0
- package/dist/runtime/components/ui/popover/PopoverTrigger.vue +16 -0
- package/dist/runtime/components/ui/popover/PopoverTrigger.vue.d.ts +30 -0
- package/dist/runtime/components/ui/popover/index.d.ts +1 -0
- package/dist/runtime/components/ui/popover/index.js +4 -0
- package/dist/runtime/components/ui/progress/Progress.d.vue.ts +66 -0
- package/dist/runtime/components/ui/progress/Progress.vue +28 -0
- package/dist/runtime/components/ui/progress/Progress.vue.d.ts +66 -0
- package/dist/runtime/components/ui/progress/index.d.ts +1 -0
- package/dist/runtime/components/ui/progress/index.js +1 -0
- package/dist/runtime/components/ui/resizable/ResizableHandle.d.vue.ts +77 -0
- package/dist/runtime/components/ui/resizable/ResizableHandle.vue +37 -0
- package/dist/runtime/components/ui/resizable/ResizableHandle.vue.d.ts +77 -0
- package/dist/runtime/components/ui/resizable/ResizablePanel.d.vue.ts +101 -0
- package/dist/runtime/components/ui/resizable/ResizablePanel.vue +50 -0
- package/dist/runtime/components/ui/resizable/ResizablePanel.vue.d.ts +101 -0
- package/dist/runtime/components/ui/resizable/ResizablePanelGroup.d.vue.ts +82 -0
- package/dist/runtime/components/ui/resizable/ResizablePanelGroup.vue +27 -0
- package/dist/runtime/components/ui/resizable/ResizablePanelGroup.vue.d.ts +82 -0
- package/dist/runtime/components/ui/resizable/index.d.ts +1 -0
- package/dist/runtime/components/ui/resizable/index.js +3 -0
- package/dist/runtime/components/ui/select/Select.d.vue.ts +112 -0
- package/dist/runtime/components/ui/select/Select.vue +27 -0
- package/dist/runtime/components/ui/select/Select.vue.d.ts +112 -0
- package/dist/runtime/components/ui/select/SelectContent.d.vue.ts +199 -0
- package/dist/runtime/components/ui/select/SelectContent.vue +65 -0
- package/dist/runtime/components/ui/select/SelectContent.vue.d.ts +199 -0
- package/dist/runtime/components/ui/select/SelectGroup.d.vue.ts +30 -0
- package/dist/runtime/components/ui/select/SelectGroup.vue +16 -0
- package/dist/runtime/components/ui/select/SelectGroup.vue.d.ts +30 -0
- package/dist/runtime/components/ui/select/SelectItem.d.vue.ts +63 -0
- package/dist/runtime/components/ui/select/SelectItem.vue +38 -0
- package/dist/runtime/components/ui/select/SelectItem.vue.d.ts +63 -0
- package/dist/runtime/components/ui/select/SelectItemText.d.vue.ts +30 -0
- package/dist/runtime/components/ui/select/SelectItemText.vue +16 -0
- package/dist/runtime/components/ui/select/SelectItemText.vue.d.ts +30 -0
- package/dist/runtime/components/ui/select/SelectLabel.d.vue.ts +46 -0
- package/dist/runtime/components/ui/select/SelectLabel.vue +18 -0
- package/dist/runtime/components/ui/select/SelectLabel.vue.d.ts +46 -0
- package/dist/runtime/components/ui/select/SelectScrollDownButton.d.vue.ts +38 -0
- package/dist/runtime/components/ui/select/SelectScrollDownButton.vue +24 -0
- package/dist/runtime/components/ui/select/SelectScrollDownButton.vue.d.ts +38 -0
- package/dist/runtime/components/ui/select/SelectScrollUpButton.d.vue.ts +38 -0
- package/dist/runtime/components/ui/select/SelectScrollUpButton.vue +24 -0
- package/dist/runtime/components/ui/select/SelectScrollUpButton.vue.d.ts +38 -0
- package/dist/runtime/components/ui/select/SelectSeparator.d.vue.ts +31 -0
- package/dist/runtime/components/ui/select/SelectSeparator.vue +18 -0
- package/dist/runtime/components/ui/select/SelectSeparator.vue.d.ts +31 -0
- package/dist/runtime/components/ui/select/SelectTrigger.d.vue.ts +66 -0
- package/dist/runtime/components/ui/select/SelectTrigger.vue +34 -0
- package/dist/runtime/components/ui/select/SelectTrigger.vue.d.ts +66 -0
- package/dist/runtime/components/ui/select/SelectValue.d.vue.ts +38 -0
- package/dist/runtime/components/ui/select/SelectValue.vue +17 -0
- package/dist/runtime/components/ui/select/SelectValue.vue.d.ts +38 -0
- package/dist/runtime/components/ui/select/index.d.ts +11 -0
- package/dist/runtime/components/ui/select/index.js +11 -0
- package/dist/runtime/components/ui/separator/Separator.d.vue.ts +53 -0
- package/dist/runtime/components/ui/separator/Separator.vue +25 -0
- package/dist/runtime/components/ui/separator/Separator.vue.d.ts +53 -0
- package/dist/runtime/components/ui/separator/index.d.ts +1 -0
- package/dist/runtime/components/ui/separator/index.js +1 -0
- package/dist/runtime/components/ui/sheet/Sheet.d.vue.ts +44 -0
- package/dist/runtime/components/ui/sheet/Sheet.vue +19 -0
- package/dist/runtime/components/ui/sheet/Sheet.vue.d.ts +44 -0
- package/dist/runtime/components/ui/sheet/SheetClose.d.vue.ts +30 -0
- package/dist/runtime/components/ui/sheet/SheetClose.vue +16 -0
- package/dist/runtime/components/ui/sheet/SheetClose.vue.d.ts +30 -0
- package/dist/runtime/components/ui/sheet/SheetContent.d.vue.ts +90 -0
- package/dist/runtime/components/ui/sheet/SheetContent.vue +61 -0
- package/dist/runtime/components/ui/sheet/SheetContent.vue.d.ts +90 -0
- package/dist/runtime/components/ui/sheet/SheetDescription.d.vue.ts +38 -0
- package/dist/runtime/components/ui/sheet/SheetDescription.vue +20 -0
- package/dist/runtime/components/ui/sheet/SheetDescription.vue.d.ts +38 -0
- package/dist/runtime/components/ui/sheet/SheetFooter.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sheet/SheetFooter.vue +14 -0
- package/dist/runtime/components/ui/sheet/SheetFooter.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sheet/SheetHeader.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sheet/SheetHeader.vue +14 -0
- package/dist/runtime/components/ui/sheet/SheetHeader.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sheet/SheetOverlay.d.vue.ts +47 -0
- package/dist/runtime/components/ui/sheet/SheetOverlay.vue +26 -0
- package/dist/runtime/components/ui/sheet/SheetOverlay.vue.d.ts +47 -0
- package/dist/runtime/components/ui/sheet/SheetTitle.d.vue.ts +38 -0
- package/dist/runtime/components/ui/sheet/SheetTitle.vue +20 -0
- package/dist/runtime/components/ui/sheet/SheetTitle.vue.d.ts +38 -0
- package/dist/runtime/components/ui/sheet/SheetTrigger.d.vue.ts +30 -0
- package/dist/runtime/components/ui/sheet/SheetTrigger.vue +16 -0
- package/dist/runtime/components/ui/sheet/SheetTrigger.vue.d.ts +30 -0
- package/dist/runtime/components/ui/sheet/index.d.ts +1 -0
- package/dist/runtime/components/ui/sheet/index.js +8 -0
- package/dist/runtime/components/ui/sidebar/Sidebar.d.vue.ts +58 -0
- package/dist/runtime/components/ui/sidebar/Sidebar.vue +97 -0
- package/dist/runtime/components/ui/sidebar/Sidebar.vue.d.ts +58 -0
- package/dist/runtime/components/ui/sidebar/SidebarContent.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarContent.vue +17 -0
- package/dist/runtime/components/ui/sidebar/SidebarContent.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarFooter.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarFooter.vue +15 -0
- package/dist/runtime/components/ui/sidebar/SidebarFooter.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroup.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroup.vue +15 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroup.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroupAction.d.vue.ts +38 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroupAction.vue +27 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroupAction.vue.d.ts +38 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroupContent.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroupContent.vue +15 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroupContent.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroupLabel.d.vue.ts +38 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroupLabel.vue +26 -0
- package/dist/runtime/components/ui/sidebar/SidebarGroupLabel.vue.d.ts +38 -0
- package/dist/runtime/components/ui/sidebar/SidebarHeader.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarHeader.vue +15 -0
- package/dist/runtime/components/ui/sidebar/SidebarHeader.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarInput.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarInput.vue +15 -0
- package/dist/runtime/components/ui/sidebar/SidebarInput.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarInset.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarInset.vue +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarInset.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenu.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenu.vue +15 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenu.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuAction.d.vue.ts +50 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuAction.vue +33 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuAction.vue.d.ts +50 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuBadge.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuBadge.vue +25 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuBadge.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuButton.d.vue.ts +82 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuButton.vue +49 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuButton.vue.d.ts +82 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.d.vue.ts +72 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.vue +27 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuButtonChild.vue.d.ts +72 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuItem.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuItem.vue +15 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuItem.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSkeleton.d.vue.ts +23 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSkeleton.vue +30 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSkeleton.vue.d.ts +23 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSub.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSub.vue +21 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSub.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSubButton.d.vue.ts +61 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSubButton.vue +33 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSubButton.vue.d.ts +61 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSubItem.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSubItem.vue +15 -0
- package/dist/runtime/components/ui/sidebar/SidebarMenuSubItem.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarProvider.d.vue.ts +47 -0
- package/dist/runtime/components/ui/sidebar/SidebarProvider.vue +67 -0
- package/dist/runtime/components/ui/sidebar/SidebarProvider.vue.d.ts +47 -0
- package/dist/runtime/components/ui/sidebar/SidebarRail.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarRail.vue +31 -0
- package/dist/runtime/components/ui/sidebar/SidebarRail.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarSeparator.d.vue.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarSeparator.vue +15 -0
- package/dist/runtime/components/ui/sidebar/SidebarSeparator.vue.d.ts +20 -0
- package/dist/runtime/components/ui/sidebar/SidebarTrigger.d.vue.ts +13 -0
- package/dist/runtime/components/ui/sidebar/SidebarTrigger.vue +22 -0
- package/dist/runtime/components/ui/sidebar/SidebarTrigger.vue.d.ts +13 -0
- package/dist/runtime/components/ui/sidebar/index.d.ts +28 -0
- package/dist/runtime/components/ui/sidebar/index.js +49 -0
- package/dist/runtime/components/ui/sidebar/utils.d.ts +8 -0
- package/dist/runtime/components/ui/sidebar/utils.js +10 -0
- package/dist/runtime/components/ui/skeleton/Skeleton.d.vue.ts +13 -0
- package/dist/runtime/components/ui/skeleton/Skeleton.vue +12 -0
- package/dist/runtime/components/ui/skeleton/Skeleton.vue.d.ts +13 -0
- package/dist/runtime/components/ui/skeleton/index.d.ts +1 -0
- package/dist/runtime/components/ui/skeleton/index.js +1 -0
- package/dist/runtime/components/ui/sonner/Sonner.d.vue.ts +162 -0
- package/dist/runtime/components/ui/sonner/Sonner.vue +36 -0
- package/dist/runtime/components/ui/sonner/Sonner.vue.d.ts +162 -0
- package/dist/runtime/components/ui/sonner/index.d.ts +1 -0
- package/dist/runtime/components/ui/sonner/index.js +1 -0
- package/dist/runtime/components/ui/stepper/Stepper.d.vue.ts +95 -0
- package/dist/runtime/components/ui/stepper/Stepper.vue +27 -0
- package/dist/runtime/components/ui/stepper/Stepper.vue.d.ts +95 -0
- package/dist/runtime/components/ui/stepper/StepperDescription.d.vue.ts +38 -0
- package/dist/runtime/components/ui/stepper/StepperDescription.vue +21 -0
- package/dist/runtime/components/ui/stepper/StepperDescription.vue.d.ts +38 -0
- package/dist/runtime/components/ui/stepper/StepperIndicator.d.vue.ts +38 -0
- package/dist/runtime/components/ui/stepper/StepperIndicator.vue +31 -0
- package/dist/runtime/components/ui/stepper/StepperIndicator.vue.d.ts +38 -0
- package/dist/runtime/components/ui/stepper/StepperItem.d.vue.ts +78 -0
- package/dist/runtime/components/ui/stepper/StepperItem.vue +42 -0
- package/dist/runtime/components/ui/stepper/StepperItem.vue.d.ts +78 -0
- package/dist/runtime/components/ui/stepper/StepperSeparator.d.vue.ts +48 -0
- package/dist/runtime/components/ui/stepper/StepperSeparator.vue +29 -0
- package/dist/runtime/components/ui/stepper/StepperSeparator.vue.d.ts +48 -0
- package/dist/runtime/components/ui/stepper/StepperTitle.d.vue.ts +38 -0
- package/dist/runtime/components/ui/stepper/StepperTitle.vue +20 -0
- package/dist/runtime/components/ui/stepper/StepperTitle.vue.d.ts +38 -0
- package/dist/runtime/components/ui/stepper/StepperTrigger.d.vue.ts +48 -0
- package/dist/runtime/components/ui/stepper/StepperTrigger.vue +37 -0
- package/dist/runtime/components/ui/stepper/StepperTrigger.vue.d.ts +48 -0
- package/dist/runtime/components/ui/stepper/index.d.ts +1 -0
- package/dist/runtime/components/ui/stepper/index.js +7 -0
- package/dist/runtime/components/ui/switch/Switch.d.vue.ts +123 -0
- package/dist/runtime/components/ui/switch/Switch.vue +69 -0
- package/dist/runtime/components/ui/switch/Switch.vue.d.ts +123 -0
- package/dist/runtime/components/ui/switch/index.d.ts +5 -0
- package/dist/runtime/components/ui/switch/index.js +33 -0
- package/dist/runtime/components/ui/table/Table.d.vue.ts +20 -0
- package/dist/runtime/components/ui/table/Table.vue +19 -0
- package/dist/runtime/components/ui/table/Table.vue.d.ts +20 -0
- package/dist/runtime/components/ui/table/TableBody.d.vue.ts +20 -0
- package/dist/runtime/components/ui/table/TableBody.vue +14 -0
- package/dist/runtime/components/ui/table/TableBody.vue.d.ts +20 -0
- package/dist/runtime/components/ui/table/TableCaption.d.vue.ts +20 -0
- package/dist/runtime/components/ui/table/TableCaption.vue +14 -0
- package/dist/runtime/components/ui/table/TableCaption.vue.d.ts +20 -0
- package/dist/runtime/components/ui/table/TableCell.d.vue.ts +20 -0
- package/dist/runtime/components/ui/table/TableCell.vue +19 -0
- package/dist/runtime/components/ui/table/TableCell.vue.d.ts +20 -0
- package/dist/runtime/components/ui/table/TableEmpty.d.vue.ts +32 -0
- package/dist/runtime/components/ui/table/TableEmpty.vue +23 -0
- package/dist/runtime/components/ui/table/TableEmpty.vue.d.ts +32 -0
- package/dist/runtime/components/ui/table/TableFooter.d.vue.ts +20 -0
- package/dist/runtime/components/ui/table/TableFooter.vue +14 -0
- package/dist/runtime/components/ui/table/TableFooter.vue.d.ts +20 -0
- package/dist/runtime/components/ui/table/TableHead.d.vue.ts +20 -0
- package/dist/runtime/components/ui/table/TableHead.vue +19 -0
- package/dist/runtime/components/ui/table/TableHead.vue.d.ts +20 -0
- package/dist/runtime/components/ui/table/TableHeader.d.vue.ts +20 -0
- package/dist/runtime/components/ui/table/TableHeader.vue +14 -0
- package/dist/runtime/components/ui/table/TableHeader.vue.d.ts +20 -0
- package/dist/runtime/components/ui/table/TableRow.d.vue.ts +20 -0
- package/dist/runtime/components/ui/table/TableRow.vue +14 -0
- package/dist/runtime/components/ui/table/TableRow.vue.d.ts +20 -0
- package/dist/runtime/components/ui/table/index.d.ts +1 -0
- package/dist/runtime/components/ui/table/index.js +9 -0
- package/dist/runtime/components/ui/table/utils.d.ts +1 -0
- package/dist/runtime/components/ui/table/utils.js +3 -0
- package/dist/runtime/components/ui/tabs/Tabs.d.vue.ts +91 -0
- package/dist/runtime/components/ui/tabs/Tabs.vue +28 -0
- package/dist/runtime/components/ui/tabs/Tabs.vue.d.ts +91 -0
- package/dist/runtime/components/ui/tabs/TabsContent.d.vue.ts +55 -0
- package/dist/runtime/components/ui/tabs/TabsContent.vue +22 -0
- package/dist/runtime/components/ui/tabs/TabsContent.vue.d.ts +55 -0
- package/dist/runtime/components/ui/tabs/TabsList.d.vue.ts +47 -0
- package/dist/runtime/components/ui/tabs/TabsList.vue +26 -0
- package/dist/runtime/components/ui/tabs/TabsList.vue.d.ts +47 -0
- package/dist/runtime/components/ui/tabs/TabsTrigger.d.vue.ts +55 -0
- package/dist/runtime/components/ui/tabs/TabsTrigger.vue +28 -0
- package/dist/runtime/components/ui/tabs/TabsTrigger.vue.d.ts +55 -0
- package/dist/runtime/components/ui/tabs/index.d.ts +1 -0
- package/dist/runtime/components/ui/tabs/index.js +4 -0
- package/dist/runtime/components/ui/tags-input/TagsInput.d.vue.ts +174 -0
- package/dist/runtime/components/ui/tags-input/TagsInput.vue +41 -0
- package/dist/runtime/components/ui/tags-input/TagsInput.vue.d.ts +174 -0
- package/dist/runtime/components/ui/tags-input/TagsInputInput.d.vue.ts +56 -0
- package/dist/runtime/components/ui/tags-input/TagsInputInput.vue +21 -0
- package/dist/runtime/components/ui/tags-input/TagsInputInput.vue.d.ts +56 -0
- package/dist/runtime/components/ui/tags-input/TagsInputItem.d.vue.ts +55 -0
- package/dist/runtime/components/ui/tags-input/TagsInputItem.vue +27 -0
- package/dist/runtime/components/ui/tags-input/TagsInputItem.vue.d.ts +55 -0
- package/dist/runtime/components/ui/tags-input/TagsInputItemDelete.d.vue.ts +38 -0
- package/dist/runtime/components/ui/tags-input/TagsInputItemDelete.vue +23 -0
- package/dist/runtime/components/ui/tags-input/TagsInputItemDelete.vue.d.ts +38 -0
- package/dist/runtime/components/ui/tags-input/TagsInputItemText.d.vue.ts +31 -0
- package/dist/runtime/components/ui/tags-input/TagsInputItemText.vue +18 -0
- package/dist/runtime/components/ui/tags-input/TagsInputItemText.vue.d.ts +31 -0
- package/dist/runtime/components/ui/tags-input/index.d.ts +1 -0
- package/dist/runtime/components/ui/tags-input/index.js +5 -0
- package/dist/runtime/components/ui/textarea/Textarea.d.vue.ts +33 -0
- package/dist/runtime/components/ui/textarea/Textarea.vue +26 -0
- package/dist/runtime/components/ui/textarea/Textarea.vue.d.ts +33 -0
- package/dist/runtime/components/ui/textarea/index.d.ts +1 -0
- package/dist/runtime/components/ui/textarea/index.js +1 -0
- package/dist/runtime/components/ui/toggle/Toggle.d.vue.ts +114 -0
- package/dist/runtime/components/ui/toggle/Toggle.vue +31 -0
- package/dist/runtime/components/ui/toggle/Toggle.vue.d.ts +114 -0
- package/dist/runtime/components/ui/toggle/index.d.ts +5 -0
- package/dist/runtime/components/ui/toggle/index.js +24 -0
- package/dist/runtime/components/ui/toggle-group/ToggleGroup.d.vue.ts +144 -0
- package/dist/runtime/components/ui/toggle-group/ToggleGroup.vue +42 -0
- package/dist/runtime/components/ui/toggle-group/ToggleGroup.vue.d.ts +144 -0
- package/dist/runtime/components/ui/toggle-group/ToggleGroupItem.d.vue.ts +76 -0
- package/dist/runtime/components/ui/toggle-group/ToggleGroupItem.vue +40 -0
- package/dist/runtime/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +76 -0
- package/dist/runtime/components/ui/toggle-group/index.d.ts +1 -0
- package/dist/runtime/components/ui/toggle-group/index.js +2 -0
- package/dist/runtime/components/ui/tooltip/Tooltip.d.vue.ts +79 -0
- package/dist/runtime/components/ui/tooltip/Tooltip.vue +23 -0
- package/dist/runtime/components/ui/tooltip/Tooltip.vue.d.ts +79 -0
- package/dist/runtime/components/ui/tooltip/TooltipContent.d.vue.ts +162 -0
- package/dist/runtime/components/ui/tooltip/TooltipContent.vue +50 -0
- package/dist/runtime/components/ui/tooltip/TooltipContent.vue.d.ts +162 -0
- package/dist/runtime/components/ui/tooltip/TooltipProvider.d.vue.ts +68 -0
- package/dist/runtime/components/ui/tooltip/TooltipProvider.vue +17 -0
- package/dist/runtime/components/ui/tooltip/TooltipProvider.vue.d.ts +68 -0
- package/dist/runtime/components/ui/tooltip/TooltipTrigger.d.vue.ts +38 -0
- package/dist/runtime/components/ui/tooltip/TooltipTrigger.vue +17 -0
- package/dist/runtime/components/ui/tooltip/TooltipTrigger.vue.d.ts +38 -0
- package/dist/runtime/components/ui/tooltip/index.d.ts +1 -0
- package/dist/runtime/components/ui/tooltip/index.js +4 -0
- package/dist/runtime/composables/useAPI.d.ts +463 -0
- package/dist/runtime/composables/useAPI.js +991 -0
- package/dist/runtime/composables/useColorMode.d.ts +19 -0
- package/dist/runtime/composables/useColorMode.js +292 -0
- package/dist/runtime/composables/useStepper.d.ts +19 -0
- package/dist/runtime/composables/useStepper.js +71 -0
- package/dist/runtime/composables/useTimeline.d.ts +6 -0
- package/dist/runtime/composables/useTimeline.js +188 -0
- package/dist/runtime/composables/useViewAPI.d.ts +513 -0
- package/dist/runtime/composables/useViewAPI.js +965 -0
- package/dist/runtime/core/config.d.ts +166 -0
- package/dist/runtime/core/config.js +118 -0
- package/dist/runtime/core/stepper/StepState.d.ts +332 -0
- package/dist/runtime/core/stepper/StepState.js +775 -0
- package/dist/runtime/core/stepper/Stepper.d.ts +165 -0
- package/dist/runtime/core/stepper/Stepper.js +618 -0
- package/dist/runtime/core/stepper/StepperProxy.d.ts +21 -0
- package/dist/runtime/core/stepper/StepperProxy.js +57 -0
- package/dist/runtime/core/stepper/StepperSerializer.d.ts +29 -0
- package/dist/runtime/core/stepper/StepperSerializer.js +234 -0
- package/dist/runtime/core/timeline/Timeline.d.ts +101 -0
- package/dist/runtime/core/timeline/Timeline.js +495 -0
- package/dist/runtime/css/main.css +1 -0
- package/dist/runtime/css/smile.css +1 -0
- package/dist/runtime/layouts/development.d.vue.ts +10 -0
- package/dist/runtime/layouts/development.vue +189 -0
- package/dist/runtime/layouts/development.vue.d.ts +10 -0
- package/dist/runtime/layouts/experiment.d.vue.ts +13 -0
- package/dist/runtime/layouts/experiment.vue +10 -0
- package/dist/runtime/layouts/experiment.vue.d.ts +13 -0
- package/dist/runtime/layouts/presentation.d.vue.ts +10 -0
- package/dist/runtime/layouts/presentation.vue +45 -0
- package/dist/runtime/layouts/presentation.vue.d.ts +10 -0
- package/dist/runtime/lib/utils.d.ts +1 -0
- package/dist/runtime/lib/utils.js +6 -0
- package/dist/runtime/middleware/timeline.global.d.ts +21 -0
- package/dist/runtime/middleware/timeline.global.js +422 -0
- package/dist/runtime/pages/[...slug].d.vue.ts +3 -0
- package/dist/runtime/pages/[...slug].vue +40 -0
- package/dist/runtime/pages/[...slug].vue.d.ts +3 -0
- package/dist/runtime/pages/dev/[...slug].d.vue.ts +3 -0
- package/dist/runtime/pages/dev/[...slug].vue +53 -0
- package/dist/runtime/pages/dev/[...slug].vue.d.ts +3 -0
- package/dist/runtime/pages/dev-login.d.vue.ts +3 -0
- package/dist/runtime/pages/dev-login.vue +56 -0
- package/dist/runtime/pages/dev-login.vue.d.ts +3 -0
- package/dist/runtime/pages/info.d.vue.ts +3 -0
- package/dist/runtime/pages/info.vue +462 -0
- package/dist/runtime/pages/info.vue.d.ts +3 -0
- package/dist/runtime/pages/presentation/[...slug].d.vue.ts +3 -0
- package/dist/runtime/pages/presentation/[...slug].vue +65 -0
- package/dist/runtime/pages/presentation/[...slug].vue.d.ts +3 -0
- package/dist/runtime/plugins/dev-sync.client.d.ts +2 -0
- package/dist/runtime/plugins/dev-sync.client.js +26 -0
- package/dist/runtime/plugins/seed.client.d.ts +2 -0
- package/dist/runtime/plugins/seed.client.js +44 -0
- package/dist/runtime/plugins/store-sync.client.d.ts +2 -0
- package/dist/runtime/plugins/store-sync.client.js +74 -0
- package/dist/runtime/plugins/timeline.client.d.ts +6 -0
- package/dist/runtime/plugins/timeline.client.js +10 -0
- package/dist/runtime/server/api/auth/login.post.d.ts +2 -0
- package/dist/runtime/server/api/auth/login.post.js +29 -0
- package/dist/runtime/server/api/auth/logout.post.d.ts +2 -0
- package/dist/runtime/server/api/auth/logout.post.js +12 -0
- package/dist/runtime/server/api/auth/session.get.d.ts +2 -0
- package/dist/runtime/server/api/auth/session.get.js +15 -0
- package/dist/runtime/server/api/participants/[id]/private.patch.d.ts +2 -0
- package/dist/runtime/server/api/participants/[id]/private.patch.js +20 -0
- package/dist/runtime/server/api/participants/[id]/private.post.d.ts +2 -0
- package/dist/runtime/server/api/participants/[id]/private.post.js +21 -0
- package/dist/runtime/server/api/participants/[id].get.d.ts +2 -0
- package/dist/runtime/server/api/participants/[id].get.js +15 -0
- package/dist/runtime/server/api/participants/[id].patch.d.ts +2 -0
- package/dist/runtime/server/api/participants/[id].patch.js +20 -0
- package/dist/runtime/server/api/participants/index.post.d.ts +2 -0
- package/dist/runtime/server/api/participants/index.post.js +17 -0
- package/dist/runtime/server/api/qr.get.d.ts +2 -0
- package/dist/runtime/server/api/qr.get.js +19 -0
- package/dist/runtime/server/database/schema.d.ts +235 -0
- package/dist/runtime/server/database/schema.js +19 -0
- package/dist/runtime/server/middleware/dev-auth.d.ts +2 -0
- package/dist/runtime/server/middleware/dev-auth.js +32 -0
- package/dist/runtime/server/plugins/migrate.d.ts +2 -0
- package/dist/runtime/server/plugins/migrate.js +30 -0
- package/dist/runtime/server/tsconfig.json +3 -0
- package/dist/runtime/server/utils/db.d.ts +3 -0
- package/dist/runtime/server/utils/db.js +21 -0
- package/dist/runtime/stores/log.d.ts +37 -0
- package/dist/runtime/stores/log.js +211 -0
- package/dist/runtime/stores/smilestore.d.ts +8234 -0
- package/dist/runtime/stores/smilestore.js +577 -0
- package/dist/runtime/utils/randomization.d.ts +57 -0
- package/dist/runtime/utils/randomization.js +189 -0
- package/dist/runtime/utils/utils.d.ts +19 -0
- package/dist/runtime/utils/utils.js +147 -0
- package/dist/types.d.mts +3 -0
- package/package.json +107 -0
|
@@ -0,0 +1,775 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @class StepState
|
|
3
|
+
* @description A tree-based state management class for hierarchical navigation.
|
|
4
|
+
*
|
|
5
|
+
* StepState represents a node in a tree structure where each node can have:
|
|
6
|
+
* - A id (string, number, or custom type)
|
|
7
|
+
* - Multiple child states
|
|
8
|
+
* - Associated data
|
|
9
|
+
* - Navigation capabilities (next/prev)
|
|
10
|
+
*
|
|
11
|
+
* Used with StepperStateMachine for higher-level state management.
|
|
12
|
+
*
|
|
13
|
+
* @property {*} _id - The node's unique identifier (used to create a path to this node)
|
|
14
|
+
* @property {StepState[]} _states - Array of child nodes/states
|
|
15
|
+
* @property {number} _currentIndex - Index tracking current position in children
|
|
16
|
+
* @property {number} _depth - Depth of this node in the tree (0 for root)
|
|
17
|
+
* @property {StepState|null} _parent - Reference to parent node
|
|
18
|
+
* @property {StepState} _root - Reference to root node
|
|
19
|
+
* @property {object} _data - Associated data for this node
|
|
20
|
+
*/
|
|
21
|
+
export class StepState {
|
|
22
|
+
/**
|
|
23
|
+
* Creates a new StepState node in a tree structure.
|
|
24
|
+
* @param {*} id - The id for this node. If null, defaults to '/'
|
|
25
|
+
* @param {StepState|null} parent - The parent node. If null, this is a root node
|
|
26
|
+
*
|
|
27
|
+
* This constructor initializes:
|
|
28
|
+
* - id: The node's id (used to create a path to this node)
|
|
29
|
+
* - states: Array of child nodes (also called rows)
|
|
30
|
+
* - currentIndex: Index tracking current position when traversing children
|
|
31
|
+
* - depth: How deep this node is in the tree (0 for root)
|
|
32
|
+
* - parent: Reference to parent node
|
|
33
|
+
* - data: Object to store arbitrary data
|
|
34
|
+
* - root: Reference to root node of the tree
|
|
35
|
+
*/
|
|
36
|
+
constructor(id = null, parent = null) {
|
|
37
|
+
this._id = id === null ? '/' : id
|
|
38
|
+
this._states = []
|
|
39
|
+
this._currentIndex = 0
|
|
40
|
+
this._depth = 0
|
|
41
|
+
if (parent !== null) {
|
|
42
|
+
this._depth = parent.depth + 1
|
|
43
|
+
}
|
|
44
|
+
this._parent = parent
|
|
45
|
+
this._root = parent?._root || this
|
|
46
|
+
this._data = {}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Gets the number of child states in this node
|
|
51
|
+
* @returns {number} The number of child states
|
|
52
|
+
*/
|
|
53
|
+
get length() {
|
|
54
|
+
return this._states.length
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Gets the parent node of this state node
|
|
59
|
+
* @returns {StepState|null} The parent StepState node, or null if this is the root
|
|
60
|
+
*/
|
|
61
|
+
get parent() {
|
|
62
|
+
return this._parent
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Sets the id of this node and updates the data field to include the id
|
|
67
|
+
* @param {*} id - The new id to set
|
|
68
|
+
*/
|
|
69
|
+
set id(id) {
|
|
70
|
+
this._id = id
|
|
71
|
+
// Update or add id in the data field
|
|
72
|
+
this._data = { ...this._data, id }
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Gets the id of this node
|
|
77
|
+
* @returns {*} The node's id
|
|
78
|
+
*/
|
|
79
|
+
get id() {
|
|
80
|
+
return this._id
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Sets the array of child states for this node
|
|
85
|
+
* @param {StepState[]} states - Array of child StepState nodes to set
|
|
86
|
+
*/
|
|
87
|
+
set states(states) {
|
|
88
|
+
this._states = states
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Gets the array of child states for this node
|
|
93
|
+
* @returns {StepState[]} Array of child StepState nodes
|
|
94
|
+
*/
|
|
95
|
+
get states() {
|
|
96
|
+
return this._states
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Sets the current index position in the state sequence
|
|
101
|
+
* @param {number} index - The index position to set
|
|
102
|
+
*/
|
|
103
|
+
set index(index) {
|
|
104
|
+
if (Number.isInteger(index) && index >= 0 && index <= Math.max(0, this._states.length - 1)) {
|
|
105
|
+
this._currentIndex = index
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
throw new Error(`Invalid index: ${index}. Index must be between 0 and ${this._states.length - 1}`)
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Gets the current index position in the state sequence
|
|
114
|
+
* @returns {number} The current index
|
|
115
|
+
*/
|
|
116
|
+
get index() {
|
|
117
|
+
return this._currentIndex
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Gets the index of the parent node of the current leaf.
|
|
122
|
+
* @returns {number|null} The index of the parent node, or null if there is no parent
|
|
123
|
+
*/
|
|
124
|
+
get parentIndex() {
|
|
125
|
+
// If this is the root node, return null
|
|
126
|
+
if (!this._parent) {
|
|
127
|
+
return null
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Return the current index of the parent node
|
|
131
|
+
return this._parent._currentIndex
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Gets the index of the parent node of the current leaf in the state tree.
|
|
136
|
+
* Traverses down from root to find the current leaf node, then returns its parent's index.
|
|
137
|
+
* @returns {number|null} The index of the parent node of the current leaf, or null if there is no parent
|
|
138
|
+
*/
|
|
139
|
+
get blockIndex() {
|
|
140
|
+
// Get the current leaf node
|
|
141
|
+
let current = this._root
|
|
142
|
+
while (current._states.length > 0) {
|
|
143
|
+
current = current._states[current._currentIndex]
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// Return the parent's index
|
|
147
|
+
return current._parent ? current._parent._currentIndex : null
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Gets the number of states in the parent node of the current leaf in the state tree.
|
|
152
|
+
* Traverses down from root to find the current leaf node, then returns its parent's state count.
|
|
153
|
+
* @returns {number} The number of states in the parent node, or 0 if there is no parent
|
|
154
|
+
*/
|
|
155
|
+
get blockLength() {
|
|
156
|
+
// Get the current leaf node
|
|
157
|
+
let current = this._root
|
|
158
|
+
while (current._states.length > 0) {
|
|
159
|
+
current = current._states[current._currentIndex]
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// Return the number of states in the parent node, or 0 if no parent
|
|
163
|
+
return current._parent ? current._parent._states.length : 0
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Setter for data property
|
|
168
|
+
* @param {*} data - The data to store in this node
|
|
169
|
+
*/
|
|
170
|
+
set data(data) {
|
|
171
|
+
this._data = data
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Getter for data property
|
|
176
|
+
* @returns {*} The data stored in this node
|
|
177
|
+
*/
|
|
178
|
+
get data() {
|
|
179
|
+
return this._data
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Gets the root node of the state tree
|
|
184
|
+
* @returns {StepState} The root StepState node
|
|
185
|
+
*/
|
|
186
|
+
get root() {
|
|
187
|
+
return this._root
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Get all child states of the current state.
|
|
192
|
+
* row is just a synonym for child states
|
|
193
|
+
* row lines a bit more with the table metaphor
|
|
194
|
+
*
|
|
195
|
+
* @returns {Array<StepState>} Array of child StepState nodes
|
|
196
|
+
*/
|
|
197
|
+
get rows() {
|
|
198
|
+
return this._states
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Get data from all child states of the current state.
|
|
203
|
+
* row is just a synonym for child states
|
|
204
|
+
* row lines a bit more with the table metaphor
|
|
205
|
+
*
|
|
206
|
+
* @returns {Array} Array of data values from all child states
|
|
207
|
+
*/
|
|
208
|
+
get rowsData() {
|
|
209
|
+
return this._states.map(item => item.data)
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Get data from all child states of the current state.
|
|
214
|
+
*
|
|
215
|
+
* @returns {Array} Array of data values from all child states
|
|
216
|
+
*/
|
|
217
|
+
get statesData() {
|
|
218
|
+
return this._states.map(item => item.data)
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Gets the depth of this node in the tree.
|
|
223
|
+
* @returns {number} The depth of this node
|
|
224
|
+
*/
|
|
225
|
+
get depth() {
|
|
226
|
+
return this._depth
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Gets the maximum depth of the tree beneath this node.
|
|
231
|
+
* @returns {number} The maximum depth of the tree beneath this node
|
|
232
|
+
*/
|
|
233
|
+
get treeDepth() {
|
|
234
|
+
if (this._states.length === 0) {
|
|
235
|
+
return 0 // this is a leaf node
|
|
236
|
+
}
|
|
237
|
+
return Math.max(...this._states.map(state => state.treeDepth)) + 1
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Checks if this node is a leaf node (has no child states).
|
|
242
|
+
* @returns {boolean} True if this node has no child states, false otherwise
|
|
243
|
+
*/
|
|
244
|
+
get isLeaf() {
|
|
245
|
+
return this._states.length === 0
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Checks if this node is the first non-special leaf node in the tree.
|
|
250
|
+
*
|
|
251
|
+
* A leaf node is considered "first" if:
|
|
252
|
+
* 1. It is a leaf node (has no children)
|
|
253
|
+
* 2. It is the leftmost leaf node when traversing the tree
|
|
254
|
+
*
|
|
255
|
+
* @returns {boolean} True if this is the first non-special leaf node, false otherwise
|
|
256
|
+
*/
|
|
257
|
+
get isFirstLeaf() {
|
|
258
|
+
// If this is not a leaf node, return false
|
|
259
|
+
if (!this.isLeaf) {
|
|
260
|
+
return false
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
// Helper function to find leftmost leaf
|
|
264
|
+
const findLeftmostLeaf = (state) => {
|
|
265
|
+
if (state.isLeaf) {
|
|
266
|
+
return state
|
|
267
|
+
}
|
|
268
|
+
return findLeftmostLeaf(state._states[0])
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
// Find first leaf by checking each branch from left
|
|
272
|
+
for (let i = 0; i < this._root._states.length; i++) {
|
|
273
|
+
const leftmostLeaf = findLeftmostLeaf(this._root._states[i])
|
|
274
|
+
// Return true if this is that first leaf
|
|
275
|
+
return leftmostLeaf.pathString === this.pathString
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
return false
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Checks if there is a next state available.
|
|
283
|
+
* @returns {boolean} True if there is a next state, false otherwise
|
|
284
|
+
*/
|
|
285
|
+
hasNext() {
|
|
286
|
+
if (this._states.length === 0) return false
|
|
287
|
+
if (this._currentIndex < this._states.length - 1) return true
|
|
288
|
+
if (this._currentIndex === this._states.length - 1) {
|
|
289
|
+
return this._states[this._currentIndex].hasNext()
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Checks if there is a previous state available.
|
|
295
|
+
* @returns {boolean} True if there is a previous state, false otherwise
|
|
296
|
+
*/
|
|
297
|
+
hasPrev() {
|
|
298
|
+
if (this._states.length === 0) return false
|
|
299
|
+
if (this._currentIndex > 0) return true
|
|
300
|
+
if (this._currentIndex === 0) {
|
|
301
|
+
return this._states[this._currentIndex].hasPrev()
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Checks if this state has any child states.
|
|
307
|
+
* @returns {boolean} True if this state has child states, false otherwise
|
|
308
|
+
*/
|
|
309
|
+
hasSteps() {
|
|
310
|
+
return this._states.length > 0
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Peeks at the next state without moving the current position.
|
|
315
|
+
* @returns {StepState|null} The next state or null if no next state exists
|
|
316
|
+
*/
|
|
317
|
+
peekNext() {
|
|
318
|
+
if (!this.hasNext()) return null
|
|
319
|
+
|
|
320
|
+
const savedIndex = this._currentIndex
|
|
321
|
+
const nextState = this.next()
|
|
322
|
+
this._currentIndex = savedIndex
|
|
323
|
+
|
|
324
|
+
return nextState
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* Peeks at the previous state without moving the current position.
|
|
329
|
+
* @returns {StepState|null} The previous state or null if no previous state exists
|
|
330
|
+
*/
|
|
331
|
+
peekPrev() {
|
|
332
|
+
if (!this.hasPrev()) return null
|
|
333
|
+
|
|
334
|
+
const savedIndex = this._currentIndex
|
|
335
|
+
const prevState = this.prev()
|
|
336
|
+
this._currentIndex = savedIndex
|
|
337
|
+
|
|
338
|
+
return prevState
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Creates a new state instance. This method is used internally to create new states
|
|
343
|
+
* and can be overridden by subclasses to return instances of the subclass.
|
|
344
|
+
* @protected
|
|
345
|
+
* @param {*} id - The id for the new state
|
|
346
|
+
* @param {StepState} parent - The parent state
|
|
347
|
+
* @returns {StepState} A new state instance
|
|
348
|
+
*/
|
|
349
|
+
_createNew(id, parent) {
|
|
350
|
+
return new StepState(id, parent)
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Creates and adds a new child state to this node.
|
|
355
|
+
* If no id is provided, automatically assigns the next available index as the id.
|
|
356
|
+
* @param {*} id - Optional id for the new state. If null, uses states.length
|
|
357
|
+
* @param {*} data - Optional data to associate with the new state
|
|
358
|
+
* @returns {StepState} The newly created child state
|
|
359
|
+
* @throws {Error} If a state with the given id already exists
|
|
360
|
+
*/
|
|
361
|
+
push(id = null, data = null) {
|
|
362
|
+
return this.insert(id, -1, data)
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* Inserts a new state at the specified position in the list of children.
|
|
367
|
+
* Maintains the invariant that we're always pointing to a leaf node.
|
|
368
|
+
* @param {*} id - Optional id for the new state. If null, uses states.length
|
|
369
|
+
* @param {number} index - Position to insert at. Can be positive (0-based) or negative (from end).
|
|
370
|
+
* @param {*} data - Optional data to associate with the new state
|
|
371
|
+
* @returns {StepState} The newly created child state
|
|
372
|
+
* @throws {Error} If a state with the given id already exists
|
|
373
|
+
*/
|
|
374
|
+
insert(id = null, index = 0, data = null) {
|
|
375
|
+
const autoid = id === null ? this._states.length : id
|
|
376
|
+
|
|
377
|
+
// Check for existing state with same id and warn if found
|
|
378
|
+
if (this._states.some(state => state.id === autoid)) {
|
|
379
|
+
throw new Error(`State id already exists in at this node (id: "${autoid}")`)
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
// Check for string in id
|
|
383
|
+
if (String(autoid).includes('/')) {
|
|
384
|
+
throw new Error(`State id cannot contain slashes (id: "${autoid}")`)
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
const state = this._createNew(autoid, this)
|
|
388
|
+
if (data !== null) {
|
|
389
|
+
state.data = data
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
// Handle negative indices
|
|
393
|
+
if (index < 0) {
|
|
394
|
+
index = this._states.length + index + 1
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
// Handle positive indices beyond list length
|
|
398
|
+
if (index > this._states.length) {
|
|
399
|
+
index = this._states.length
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
this._states.splice(index, 0, state)
|
|
403
|
+
|
|
404
|
+
return state
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
/**
|
|
408
|
+
* Resets the traversal state of this node and all its descendants.
|
|
409
|
+
* Sets currentIndex back to 0 for this node,
|
|
410
|
+
* then recursively resets all child nodes.
|
|
411
|
+
*/
|
|
412
|
+
reset() {
|
|
413
|
+
this._currentIndex = 0
|
|
414
|
+
this._states.forEach(state => state.reset())
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* Resets the state machine and navigates to the specified path.
|
|
419
|
+
* If the path points to a leaf node, stays at that leaf.
|
|
420
|
+
* If the path points to a non-leaf node, traverses to its leftmost leaf.
|
|
421
|
+
* @param {Array|string} path - Path to navigate to (array of ids or hyphen-separated string)
|
|
422
|
+
* @throws {Error} If the path doesn't exist
|
|
423
|
+
*/
|
|
424
|
+
goTo(path) {
|
|
425
|
+
// Convert string path to array if needed
|
|
426
|
+
const pathArray = typeof path === 'string' ? path.split('/') : path
|
|
427
|
+
|
|
428
|
+
// Reset the state machine
|
|
429
|
+
this.reset()
|
|
430
|
+
|
|
431
|
+
// Start from root
|
|
432
|
+
let current = this
|
|
433
|
+
|
|
434
|
+
// Navigate through the path
|
|
435
|
+
for (const id of pathArray) {
|
|
436
|
+
// Skip the root '/' id if it's in the path
|
|
437
|
+
if (id === '/') continue
|
|
438
|
+
|
|
439
|
+
// Find the child state with matching id, converting to string for comparison
|
|
440
|
+
const childState = current._states.find(state => String(state.id) === String(id))
|
|
441
|
+
if (!childState) {
|
|
442
|
+
throw new Error(`Invalid path: ${path} (Could not find child with id "${id}" in node "${current.id}")`)
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
// Update current index to point to this child
|
|
446
|
+
current._currentIndex = current._states.indexOf(childState)
|
|
447
|
+
current = childState
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
// If we're at a non-leaf node, traverse to its leftmost leaf
|
|
451
|
+
while (current._states.length > 0) {
|
|
452
|
+
current._currentIndex = 0
|
|
453
|
+
current = current._states[0]
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
/**
|
|
458
|
+
* Moves to the next state in the sequence.
|
|
459
|
+
* @returns {StepState|null} The next state or null if no next state exists
|
|
460
|
+
*/
|
|
461
|
+
next() {
|
|
462
|
+
// Empty state has no next value
|
|
463
|
+
if (this._states.length === 0) return null
|
|
464
|
+
|
|
465
|
+
// Get current node
|
|
466
|
+
const current = this._states[this._currentIndex]
|
|
467
|
+
|
|
468
|
+
// Try to get next value from current state's children
|
|
469
|
+
const nextInCurrent = current.next()
|
|
470
|
+
if (nextInCurrent !== null) {
|
|
471
|
+
return nextInCurrent
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
// Move to next sibling state if available
|
|
475
|
+
this._currentIndex++
|
|
476
|
+
if (this._currentIndex < this._states.length) {
|
|
477
|
+
// When moving to a sibling, traverse to its leftmost leaf
|
|
478
|
+
let leaf = this._states[this._currentIndex]
|
|
479
|
+
while (leaf._states.length > 0) {
|
|
480
|
+
leaf._currentIndex = 0
|
|
481
|
+
leaf = leaf._states[0]
|
|
482
|
+
}
|
|
483
|
+
return leaf
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
// End of sequence reached - stay at last state
|
|
487
|
+
this._currentIndex = this._states.length - 1
|
|
488
|
+
return null
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
/**
|
|
492
|
+
* Moves to the previous state in the sequence.
|
|
493
|
+
* @returns {StepState|null} The previous state or null if no previous state exists
|
|
494
|
+
*/
|
|
495
|
+
prev() {
|
|
496
|
+
// Empty state has no previous value
|
|
497
|
+
if (this._states.length === 0) return null
|
|
498
|
+
|
|
499
|
+
// Get current node
|
|
500
|
+
const current = this._states[this._currentIndex]
|
|
501
|
+
|
|
502
|
+
// Try to get previous value from current state's children
|
|
503
|
+
const prevInCurrent = current.prev()
|
|
504
|
+
if (prevInCurrent !== null) {
|
|
505
|
+
return prevInCurrent
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
// Move to previous sibling
|
|
509
|
+
if (this._currentIndex > 0) {
|
|
510
|
+
this._currentIndex--
|
|
511
|
+
// When moving to a previous sibling, traverse to its rightmost leaf
|
|
512
|
+
let leaf = this._states[this._currentIndex]
|
|
513
|
+
while (leaf._states.length > 0) {
|
|
514
|
+
leaf._currentIndex = leaf._states.length - 1
|
|
515
|
+
leaf = leaf._states[leaf._currentIndex]
|
|
516
|
+
}
|
|
517
|
+
return leaf
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
// No more previous states
|
|
521
|
+
return null
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
/**
|
|
525
|
+
* Gets all leaf node paths in the tree beneath this node.
|
|
526
|
+
* A leaf node is defined as a node that has no children.
|
|
527
|
+
* @returns {string} A slash-separated string of leaf node paths
|
|
528
|
+
*/
|
|
529
|
+
get leafNodes() {
|
|
530
|
+
if (this._states.length === 0) {
|
|
531
|
+
return [this.pathString]
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
return this._states.reduce((leaves, state) => {
|
|
535
|
+
return leaves.concat(state.leafNodes)
|
|
536
|
+
}, [])
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
/**
|
|
540
|
+
* Gets the total number of leaf nodes in the tree beneath this node.
|
|
541
|
+
* A leaf node is defined as a node that has no children.
|
|
542
|
+
* @returns {number} The count of leaf nodes
|
|
543
|
+
*/
|
|
544
|
+
get countLeafNodes() {
|
|
545
|
+
return this.leafNodes.length
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* Gets a child node by its index or id.
|
|
550
|
+
* @param {number|*} identifier - Either the index or id of the child node to find
|
|
551
|
+
* @returns {StepState|null} The found child node, or null if not found
|
|
552
|
+
*/
|
|
553
|
+
getNode(identifier) {
|
|
554
|
+
if (typeof identifier === 'number') {
|
|
555
|
+
return this._states[identifier] || null
|
|
556
|
+
}
|
|
557
|
+
return this._states.find(state => state.id === identifier) || null
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
/**
|
|
561
|
+
* Gets the path from root to this node by walking up the parent chain.
|
|
562
|
+
* Returns an array of ids representing each node's id along the path,
|
|
563
|
+
* excluding the root node ('/').
|
|
564
|
+
* This is distinct from the currentPath property which returns the path from the
|
|
565
|
+
* root to the current selected node by following .index.
|
|
566
|
+
* For example, if we have root -> A -> B -> C, calling getPath() on C returns ['A','B','C']
|
|
567
|
+
* @returns {Array} Array of ids representing the path from root to this node
|
|
568
|
+
*/
|
|
569
|
+
get path() {
|
|
570
|
+
const path = []
|
|
571
|
+
let current = this
|
|
572
|
+
while (current && current.id !== '/') {
|
|
573
|
+
path.unshift(current.id)
|
|
574
|
+
current = current.parent
|
|
575
|
+
}
|
|
576
|
+
return path
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* Gets the path string for this node by walking up the parent chain.
|
|
581
|
+
* Returns a slash-separated string of ids representing each node's id,
|
|
582
|
+
* including the root node ('/').
|
|
583
|
+
* This is distinct from the currentPath property which returns the path from the
|
|
584
|
+
* root to the current selected node by following .index.
|
|
585
|
+
* @returns {string} Slash-separated string representing the path to this node
|
|
586
|
+
*/
|
|
587
|
+
get pathString() {
|
|
588
|
+
return this.path.join('/')
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
/**
|
|
592
|
+
* Gets all unique paths in the tree beneath this node.
|
|
593
|
+
* @returns {Set<string>} Set of all unique paths in the tree
|
|
594
|
+
*/
|
|
595
|
+
get existingPaths() {
|
|
596
|
+
const paths = new Set()
|
|
597
|
+
const collectPaths = (node) => {
|
|
598
|
+
// Only add path if this is a leaf node (no children)
|
|
599
|
+
if (node._states.length === 0 && node !== this._root) {
|
|
600
|
+
paths.add(node.pathString)
|
|
601
|
+
}
|
|
602
|
+
node._states.forEach(collectPaths)
|
|
603
|
+
}
|
|
604
|
+
collectPaths(this)
|
|
605
|
+
return paths
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
/**
|
|
609
|
+
* Gets an array of data objects from all nodes along the current path, from root to leaf.
|
|
610
|
+
* @returns {Array} Array of data objects, where each element is the complete data from a node along the path
|
|
611
|
+
*/
|
|
612
|
+
get dataAlongPath() {
|
|
613
|
+
const dataArray = []
|
|
614
|
+
let current = this
|
|
615
|
+
|
|
616
|
+
// First collect data from root to current node
|
|
617
|
+
const ancestors = []
|
|
618
|
+
while (current.parent !== null) {
|
|
619
|
+
ancestors.unshift(current)
|
|
620
|
+
current = current.parent
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
// Add root node data if it exists and isn't '/' and isn't empty
|
|
624
|
+
if (current.id !== '/' && current.data && Object.keys(current.data).length > 0) {
|
|
625
|
+
dataArray.push(current.data)
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
// Add ancestor data
|
|
629
|
+
ancestors.forEach((node) => {
|
|
630
|
+
if (node.data && Object.keys(node.data).length > 0) {
|
|
631
|
+
dataArray.push(node.data)
|
|
632
|
+
}
|
|
633
|
+
})
|
|
634
|
+
|
|
635
|
+
// Now traverse down through selected children to the leaf
|
|
636
|
+
current = this
|
|
637
|
+
while (current._states.length > 0) {
|
|
638
|
+
current = current._states[current._currentIndex]
|
|
639
|
+
if (current.data && Object.keys(current.data).length > 0) {
|
|
640
|
+
dataArray.push(current.data)
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
return dataArray
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
/**
|
|
648
|
+
* Sets data for a node at the specified path
|
|
649
|
+
* @param {Array|string} path - Path to the node (array of ids or slash-separated string)
|
|
650
|
+
* @param {object} data - Data to associate with the node
|
|
651
|
+
* @throws {Error} If the path doesn't exist
|
|
652
|
+
*/
|
|
653
|
+
setDataAtPath(path, data) {
|
|
654
|
+
// Ensure data is an object (not null, undefined, or an array)
|
|
655
|
+
if (!data || typeof data !== 'object' || Array.isArray(data)) {
|
|
656
|
+
throw new Error('Data must be an object')
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
const pathArray = typeof path === 'string' ? path.split('/') : path
|
|
660
|
+
let current = this
|
|
661
|
+
|
|
662
|
+
for (const id of pathArray) {
|
|
663
|
+
current = current.getNode(id)
|
|
664
|
+
if (!current) {
|
|
665
|
+
throw new Error(`Invalid path: ${path}`)
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
current.data = data
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
/**
|
|
673
|
+
* Returns the current path through the tree as a list of ids
|
|
674
|
+
* @returns {Array} Array of ids representing the current path
|
|
675
|
+
*/
|
|
676
|
+
get currentPath() {
|
|
677
|
+
const path = []
|
|
678
|
+
let current = this._root
|
|
679
|
+
|
|
680
|
+
// Build path from root to current leaf node
|
|
681
|
+
while (current._states.length > 0) {
|
|
682
|
+
current = current._states[current._currentIndex]
|
|
683
|
+
path.push(current.id)
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
return path
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
/**
|
|
690
|
+
* Returns the current path through the tree as a slash-separated string
|
|
691
|
+
* @returns {string} String representation of the current path
|
|
692
|
+
*/
|
|
693
|
+
get currentPathString() {
|
|
694
|
+
return this.currentPath.join('/')
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
/**
|
|
698
|
+
* Returns the data from the current leaf node in the tree
|
|
699
|
+
* @returns {*} The data from the current leaf node
|
|
700
|
+
*/
|
|
701
|
+
get currentData() {
|
|
702
|
+
let current = this._root
|
|
703
|
+
|
|
704
|
+
// Traverse to current leaf node
|
|
705
|
+
while (current._states.length > 0) {
|
|
706
|
+
current = current._states[current._currentIndex]
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
return current.data
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
/**
|
|
713
|
+
* Returns a string representation of the tree structure beneath this node
|
|
714
|
+
* @returns {string} Tree diagram
|
|
715
|
+
*/
|
|
716
|
+
get treeDiagram() {
|
|
717
|
+
const buildDiagram = (node, prefix = '', isLast = true) => {
|
|
718
|
+
// Create the line for current node
|
|
719
|
+
const line = prefix + (isLast ? '└── ' : '├── ') + node.id + '\n'
|
|
720
|
+
|
|
721
|
+
// Calculate new prefix for children
|
|
722
|
+
const childPrefix = prefix + (isLast ? ' ' : '│ ')
|
|
723
|
+
|
|
724
|
+
// Recursively build diagram for children
|
|
725
|
+
const childLines = node.states
|
|
726
|
+
.map((state, index) => buildDiagram(state, childPrefix, index === node.length - 1))
|
|
727
|
+
.join('')
|
|
728
|
+
|
|
729
|
+
return line + childLines
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
// Special case for root node
|
|
733
|
+
if (this.id === '/') {
|
|
734
|
+
return '/' + '\n' + this.states.map((state, index) => buildDiagram(state, '', index === this.length - 1)).join('')
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
return buildDiagram(this)
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
/**
|
|
741
|
+
* Completely clears all states and resets to initial condition
|
|
742
|
+
* Removes all child states and resets all internal properties
|
|
743
|
+
* also clears the data from the current node
|
|
744
|
+
*/
|
|
745
|
+
clear() {
|
|
746
|
+
this.clearSubTree()
|
|
747
|
+
this.clearData()
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
/**
|
|
751
|
+
* Clears all data from the current node by resetting the data object to empty
|
|
752
|
+
* Does not affect child nodes or the structure of the state tree
|
|
753
|
+
*/
|
|
754
|
+
clearData() {
|
|
755
|
+
this._data = {}
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
/**
|
|
759
|
+
* Completely clears all states and resets to initial condition
|
|
760
|
+
* Removes all child states and resets all internal properties
|
|
761
|
+
* does _not_ clear the data from the current node
|
|
762
|
+
*/
|
|
763
|
+
clearSubTree() {
|
|
764
|
+
// Clear all child states recursively
|
|
765
|
+
this._states.forEach((state) => {
|
|
766
|
+
state.clear()
|
|
767
|
+
})
|
|
768
|
+
|
|
769
|
+
// Reset all internal properties
|
|
770
|
+
this._states = []
|
|
771
|
+
this._currentIndex = 0
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
export default StepState
|