@vived/host 4.12.4 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/AppSandbox/Adapters/devFeaturesEnabledAdapter.js.map +1 -1
- package/dist/cjs/AppSandbox/Adapters/index.js.map +1 -1
- package/dist/cjs/AppSandbox/Adapters/sandboxStateAdapter.js.map +1 -1
- package/dist/cjs/AppSandbox/Adapters/showInspectorAdapter.js.map +1 -1
- package/dist/cjs/AppSandbox/Adapters/startInZSpaceAdapter.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/clearSandboxAppContainer.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/index.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/mountSandboxApp.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/setSandboxAppContainer.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/setSandboxAppState.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/startSandboxApp.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/stopSandboxApp.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/toggleAllowDevFeatures.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/toggleShowInspector.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/toggleStartInZSpace.js.map +1 -1
- package/dist/cjs/AppSandbox/Controller/unmountSandboxApp.js.map +1 -1
- package/dist/cjs/AppSandbox/Entities/AppSandboxEntity.js.map +1 -1
- package/dist/cjs/AppSandbox/Entities/index.js.map +1 -1
- package/dist/cjs/AppSandbox/Factories/setupAppSandbox.js.map +1 -1
- package/dist/cjs/AppSandbox/Mocks/DevFeaturesEnabledPMMock.js.map +1 -1
- package/dist/cjs/AppSandbox/Mocks/MockShowBabylonInspectorUC.js.map +1 -1
- package/dist/cjs/AppSandbox/Mocks/RenderAppPMMock.js.map +1 -1
- package/dist/cjs/AppSandbox/Mocks/ShowInspectorPMMock.js.map +1 -1
- package/dist/cjs/AppSandbox/Mocks/StartInZSpacePMMock.js.map +1 -1
- package/dist/cjs/AppSandbox/Mocks/index.js.map +1 -1
- package/dist/cjs/AppSandbox/PMs/DevFeaturesEnabledPM.js +6 -5
- package/dist/cjs/AppSandbox/PMs/DevFeaturesEnabledPM.js.map +1 -1
- package/dist/cjs/AppSandbox/PMs/SandboxStatePM.js.map +1 -1
- package/dist/cjs/AppSandbox/PMs/ShowInspectorPM.js +6 -5
- package/dist/cjs/AppSandbox/PMs/ShowInspectorPM.js.map +1 -1
- package/dist/cjs/AppSandbox/PMs/StartInZSpacePM.js +6 -5
- package/dist/cjs/AppSandbox/PMs/StartInZSpacePM.js.map +1 -1
- package/dist/cjs/AppSandbox/PMs/index.js.map +1 -1
- package/dist/cjs/AppSandbox/UCs/ShowBabylonInspectorUC.js.map +1 -1
- package/dist/cjs/AppSandbox/UCs/index.js.map +1 -1
- package/dist/cjs/AppSandbox/UCs/submitActivityAssetHandlerSandbox.js.map +1 -1
- package/dist/cjs/AppSandbox/index.js.map +1 -1
- package/dist/cjs/Apps/Adapters/activeAppPMAdapter.js.map +1 -1
- package/dist/cjs/Apps/Adapters/appListPMAdapter.js.map +1 -1
- package/dist/cjs/Apps/Adapters/appPMAdapter.js.map +1 -1
- package/dist/cjs/Apps/Adapters/index.js.map +1 -1
- package/dist/cjs/Apps/Controllers/index.js.map +1 -1
- package/dist/cjs/Apps/Controllers/updateApp.js.map +1 -1
- package/dist/cjs/Apps/Entities/index.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockActiveAppPM.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockAppListPM.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockAppMounterUC.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockAppPM.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockStartAppUC.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockStopAppUC.js.map +1 -1
- package/dist/cjs/Apps/Mocks/MockUpdateAppUC.js.map +1 -1
- package/dist/cjs/Apps/Mocks/index.js.map +1 -1
- package/dist/cjs/Apps/PMs/ActiveAppPM.js.map +1 -1
- package/dist/cjs/Apps/PMs/AppPM.js.map +1 -1
- package/dist/cjs/Apps/PMs/AppsListPM.js.map +1 -1
- package/dist/cjs/Apps/PMs/index.js.map +1 -1
- package/dist/cjs/Apps/UCs/Mounters/MounterUC.js.map +1 -1
- package/dist/cjs/Apps/UCs/Mounters/SandboxMounterUC.js.map +1 -1
- package/dist/cjs/Apps/UCs/Mounters/index.js.map +1 -1
- package/dist/cjs/Apps/UCs/UpdateAppUC.js.map +1 -1
- package/dist/cjs/Apps/UCs/formAppIDWithVersion.js.map +1 -1
- package/dist/cjs/Apps/UCs/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/Adapters/assetPluginPMAdapter.js.map +1 -1
- package/dist/cjs/AssetPlugin/Adapters/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/Controllers/clearAssetPluginContainer.js.map +1 -1
- package/dist/cjs/AssetPlugin/Controllers/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/Controllers/setAssetPluginContainer.js.map +1 -1
- package/dist/cjs/AssetPlugin/Entities/AssetPluginEntity.js.map +1 -1
- package/dist/cjs/AssetPlugin/Entities/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/Factories/setupAssetsPluginForSandbox.js.map +1 -1
- package/dist/cjs/AssetPlugin/Mocks/MockAssetPluginContainerUC.js.map +1 -1
- package/dist/cjs/AssetPlugin/Mocks/MockAssetPluginPM.js.map +1 -1
- package/dist/cjs/AssetPlugin/Mocks/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/PM/AssetPluginPM.js.map +1 -1
- package/dist/cjs/AssetPlugin/PM/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/UCs/AssetPluginContainerUC.js.map +1 -1
- package/dist/cjs/AssetPlugin/UCs/SandboxAssetPluginContainerUC.js.map +1 -1
- package/dist/cjs/AssetPlugin/UCs/index.js.map +1 -1
- package/dist/cjs/AssetPlugin/index.js.map +1 -1
- package/dist/cjs/Assets/Adapters/appAssetListAdapter.js.map +1 -1
- package/dist/cjs/Assets/Adapters/assetAdapter.js.map +1 -1
- package/dist/cjs/Assets/Adapters/assetFileAdapter.js.map +1 -1
- package/dist/cjs/Assets/Adapters/editingAppAssetAdapter.js.map +1 -1
- package/dist/cjs/Assets/Adapters/index.js.map +1 -1
- package/dist/cjs/Assets/Adapters/showArchivedAppAssetAdapter.js.map +1 -1
- package/dist/cjs/Assets/Entities/index.js.map +1 -1
- package/dist/cjs/Assets/Factories/setupAssets.js +14 -0
- package/dist/cjs/Assets/Factories/setupAssets.js.map +1 -0
- package/dist/cjs/Assets/Factories/setupAssetsForSandbox.js.map +1 -1
- package/dist/cjs/Assets/Mocks/AppAssetListPMMock.js.map +1 -1
- package/dist/cjs/Assets/Mocks/AssetFilePMMock.js.map +1 -1
- package/dist/cjs/Assets/Mocks/AssetPMMock.js.map +1 -1
- package/dist/cjs/Assets/Mocks/EditingAppAssetPMMock.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockArchiveAsset.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockDeleteAssetUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockDownloadAssetFileUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockEditAppAssetUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockGetAppAssetsUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockGetAssetBlobURLUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockGetAssetFileUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockGetAssetUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockNewAppAsset.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockNewAssetUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockPrefetchAssets.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockUpdateAppAssetMetaUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/MockUpdateAssetFileUC.js.map +1 -1
- package/dist/cjs/Assets/Mocks/ShowArchivedAppAssetPMMock.js.map +1 -1
- package/dist/cjs/Assets/Mocks/index.js.map +1 -1
- package/dist/cjs/Assets/PMs/AppAssetListPM.js.map +1 -1
- package/dist/cjs/Assets/PMs/AssetFilePM.js +4 -12
- package/dist/cjs/Assets/PMs/AssetFilePM.js.map +1 -1
- package/dist/cjs/Assets/PMs/EditingAppAssetPM.js.map +1 -1
- package/dist/cjs/Assets/PMs/ShowArchivedAppAssetPM.js +6 -6
- package/dist/cjs/Assets/PMs/ShowArchivedAppAssetPM.js.map +1 -1
- package/dist/cjs/Assets/PMs/index.js.map +1 -1
- package/dist/cjs/Assets/UCs/GetAppAssetsUC.js.map +1 -1
- package/dist/cjs/Assets/UCs/PrefetchAssetsUC.js.map +1 -1
- package/dist/cjs/Assets/index.js.map +1 -1
- package/dist/cjs/Cache/Controllers/clearCache.js.map +1 -1
- package/dist/cjs/Cache/Controllers/index.js.map +1 -1
- package/dist/cjs/Cache/Entities/AssetCacheEntity.js.map +1 -1
- package/dist/cjs/Cache/Entities/CacheEntity.js.map +1 -1
- package/dist/cjs/Cache/Entities/ScriptCacheEntity.js.map +1 -1
- package/dist/cjs/Cache/Entities/index.js.map +1 -1
- package/dist/cjs/Cache/Factories/setupCache.js.map +1 -1
- package/dist/cjs/Cache/Mocks/MockCacheEntity.js.map +1 -1
- package/dist/cjs/Cache/Mocks/MockGetAssetFromCacheUC.js.map +1 -1
- package/dist/cjs/Cache/Mocks/MockGetScriptFromCacheUC.js.map +1 -1
- package/dist/cjs/Cache/Mocks/MockStoreAssetInCacheUC.js.map +1 -1
- package/dist/cjs/Cache/Mocks/MockStoreScriptInCacheUC.js.map +1 -1
- package/dist/cjs/Cache/Mocks/index.js.map +1 -1
- package/dist/cjs/Cache/UCs/GetAssetFromCacheUC.js.map +1 -1
- package/dist/cjs/Cache/UCs/GetScriptFromCacheUC.js.map +1 -1
- package/dist/cjs/Cache/UCs/StoreAssetInCacheUC.js.map +1 -1
- package/dist/cjs/Cache/UCs/StoreScriptInCacheUC.js.map +1 -1
- package/dist/cjs/Cache/UCs/index.js.map +1 -1
- package/dist/cjs/Cache/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/Adapters/challengeResultsListAdapter.js.map +1 -1
- package/dist/cjs/ChallengeResults/Adapters/challengeScoreListAdapter.js.map +1 -1
- package/dist/cjs/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.js.map +1 -1
- package/dist/cjs/ChallengeResults/Adapters/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/Entities/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/Factories/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/Factories/setupChallengeResults.js.map +1 -1
- package/dist/cjs/ChallengeResults/Mocks/ChallengeResultsListPMMock.js.map +1 -1
- package/dist/cjs/ChallengeResults/Mocks/MockChallengeScoreListPM.js.map +1 -1
- package/dist/cjs/ChallengeResults/Mocks/MockHasChallengeResultsPM.js.map +1 -1
- package/dist/cjs/ChallengeResults/Mocks/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/PMs/ChallengeScoreListPM.js.map +1 -1
- package/dist/cjs/ChallengeResults/PMs/HasChallengeResultsPM.js +9 -6
- package/dist/cjs/ChallengeResults/PMs/HasChallengeResultsPM.js.map +1 -1
- package/dist/cjs/ChallengeResults/PMs/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/index.js.map +1 -1
- package/dist/cjs/Dialog/Adapters/alertDialogAdapter.js.map +1 -1
- package/dist/cjs/Dialog/Adapters/confirmDialogAdapter.js.map +1 -1
- package/dist/cjs/Dialog/Adapters/dialogQueueAdapter.js.map +1 -1
- package/dist/cjs/Dialog/Adapters/index.js.map +1 -1
- package/dist/cjs/Dialog/Adapters/markDownEditorDialogAdapters.js.map +1 -1
- package/dist/cjs/Dialog/Adapters/spinnerDialogAdapter.js.map +1 -1
- package/dist/cjs/Dialog/Controllers/activeDialogHasClosed.js.map +1 -1
- package/dist/cjs/Dialog/Controllers/index.js.map +1 -1
- package/dist/cjs/Dialog/Entities/Alert.js.map +1 -1
- package/dist/cjs/Dialog/Entities/Confirm.js.map +1 -1
- package/dist/cjs/Dialog/Entities/DialogQueue.js.map +1 -1
- package/dist/cjs/Dialog/Entities/MarkDownEditor.js.map +1 -1
- package/dist/cjs/Dialog/Entities/SelectModel.js.map +1 -1
- package/dist/cjs/Dialog/Entities/Spinner.js.map +1 -1
- package/dist/cjs/Dialog/Entities/index.js.map +1 -1
- package/dist/cjs/Dialog/Factories/alertDialogFactory.js.map +1 -1
- package/dist/cjs/Dialog/Factories/confirmDialogFactory.js.map +1 -1
- package/dist/cjs/Dialog/Factories/index.js.map +1 -1
- package/dist/cjs/Dialog/Factories/markdownDialogEditorFactory.js.map +1 -1
- package/dist/cjs/Dialog/Factories/selectDialogModelFactory.js.map +1 -1
- package/dist/cjs/Dialog/Factories/setupDialogForSandbox.js.map +1 -1
- package/dist/cjs/Dialog/Factories/spinnerDialogFactory.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockAlertDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockConfirmDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockDialogQueuePM.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockMakeAlertDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockMakeConfirmDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockMakeMarkdownDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockMakeSelectModelDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockMakeSpinnerDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockMarkDownEditorDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/MockSpinnerDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/Mocks/index.js.map +1 -1
- package/dist/cjs/Dialog/PMs/AlertDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/PMs/ConfirmDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/PMs/DialogQueuePM.js.map +1 -1
- package/dist/cjs/Dialog/PMs/MarkDownEditorDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/PMs/SpinnerDialogPM.js.map +1 -1
- package/dist/cjs/Dialog/PMs/index.js.map +1 -1
- package/dist/cjs/Dialog/UCs/MakeAlertDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/UCs/MakeConfirmDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/UCs/MakeMarkdownDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/UCs/MakeSelectModelDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/UCs/MakeSpinnerDialogUC.js.map +1 -1
- package/dist/cjs/Dialog/UCs/index.js.map +1 -1
- package/dist/cjs/Dialog/index.js.map +1 -1
- package/dist/cjs/Dispatcher/Entities/HostDispatchEntity.js.map +1 -1
- package/dist/cjs/Dispatcher/Entities/index.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/DispatchEnableFeatureUCMock.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchAppDispatcherUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchIsAuthoringUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchSetStateUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchShowBabylonInspectorUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStartAppUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStartBrowseChannelsUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStartZSpaceUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStopAppUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchStopZSpaceUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatchThemeUC.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockHostDispatcher.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/index.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchDisposeAppUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchEnableFeatureUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchIsAuthoringUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchSetStateUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchShowBabylonInspectorUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchStartAppUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchStartBrowseChannelsUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchStartZSpaceUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchStopAppUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchStopZSpaceUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/DispatchThemeUC.js.map +1 -1
- package/dist/cjs/Dispatcher/UCs/index.js.map +1 -1
- package/dist/cjs/Dispatcher/index.js.map +1 -1
- package/dist/cjs/Dispatcher/setupStandardHostDispatchers.js.map +1 -1
- package/dist/cjs/Events/Types/EventTypes.js.map +1 -1
- package/dist/cjs/Events/Types/PayloadTypes.js.map +1 -1
- package/dist/cjs/Events/Types/index.js.map +1 -1
- package/dist/cjs/Events/index.js.map +1 -1
- package/dist/cjs/Handler/Entities/HostHandler.js.map +1 -1
- package/dist/cjs/Handler/Entities/index.js.map +1 -1
- package/dist/cjs/Handler/UCs/CallbackAssetDTO.js.map +1 -1
- package/dist/cjs/Handler/UCs/CloseAssetSystemPlugin.js.map +1 -1
- package/dist/cjs/Handler/UCs/GetAssetBlobURLHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/GetAssetFolderURLHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/GetAssetMetaHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/GetAssetsForOwnerHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/GetLinkedAssetsHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/GoToNextStateHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/GoToPreviousStateHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/HasNextStateHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/HasPreviousStateHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/IsAssetFetchedHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/IsZSpaceAvailableHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/NewActivityAssetHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/OnAppIsReadyHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/OnStateChangeHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/OnStateCompleteHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/RegisterExternalStyleSheetsHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/RestoreCurrentStateHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/ShowAlertHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/ShowConfirmHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/ShowMarkDownEditorHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/ShowSelectModelHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/ShowSpinnerHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/StartZSpaceHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/StopZSpaceHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/SubmitActivityAssetHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/SubmitLogHandler.js.map +1 -1
- package/dist/cjs/Handler/UCs/index.js.map +1 -1
- package/dist/cjs/Handler/index.js.map +1 -1
- package/dist/cjs/Handler/setupStandardHostHandlers.js.map +1 -1
- package/dist/cjs/Logger/Adapters/fatalErrorAdapter.js.map +1 -1
- package/dist/cjs/Logger/Adapters/forwardLogsToConsoleAdapter.js.map +1 -1
- package/dist/cjs/Logger/Adapters/index.js.map +1 -1
- package/dist/cjs/Logger/Adapters/logSummaryAdapter.js.map +1 -1
- package/dist/cjs/Logger/Controllers/clickDownloadLog.js.map +1 -1
- package/dist/cjs/Logger/Controllers/index.js.map +1 -1
- package/dist/cjs/Logger/Controllers/toggleForwardLogs.js.map +1 -1
- package/dist/cjs/Logger/Entities/LoggerEntity.js.map +1 -1
- package/dist/cjs/Logger/Entities/index.js.map +1 -1
- package/dist/cjs/Logger/Factories/index.js.map +1 -1
- package/dist/cjs/Logger/Factories/setupLoggerForSandbox.js.map +1 -1
- package/dist/cjs/Logger/Mocks/ForwardLogsToConsolePMMock.js.map +1 -1
- package/dist/cjs/Logger/Mocks/LogSummaryPMMock.js.map +1 -1
- package/dist/cjs/Logger/Mocks/MockDownloadLogUC.js.map +1 -1
- package/dist/cjs/Logger/Mocks/MockFatalErrorPM.js.map +1 -1
- package/dist/cjs/Logger/Mocks/index.js.map +1 -1
- package/dist/cjs/Logger/PMs/FatalErrorPM.js.map +1 -1
- package/dist/cjs/Logger/PMs/ForwardLogsToConsolePM.js +6 -5
- package/dist/cjs/Logger/PMs/ForwardLogsToConsolePM.js.map +1 -1
- package/dist/cjs/Logger/PMs/LogSummaryPM.js.map +1 -1
- package/dist/cjs/Logger/PMs/index.js.map +1 -1
- package/dist/cjs/Logger/UCs/DownloadLogUC.js.map +1 -1
- package/dist/cjs/Logger/UCs/index.js.map +1 -1
- package/dist/cjs/Logger/index.js.map +1 -1
- package/dist/cjs/Snackbar/Adapters/index.js.map +1 -1
- package/dist/cjs/Snackbar/Adapters/snackbarAdapter.js.map +1 -1
- package/dist/cjs/Snackbar/Controllers/callActiveSnackbarAction.js.map +1 -1
- package/dist/cjs/Snackbar/Controllers/dismissActiveSnackbar.js.map +1 -1
- package/dist/cjs/Snackbar/Controllers/index.js.map +1 -1
- package/dist/cjs/Snackbar/Controllers/makeSnackbar.js.map +1 -1
- package/dist/cjs/Snackbar/Entities/SnackbarRepo.js.map +1 -1
- package/dist/cjs/Snackbar/Entities/index.js.map +1 -1
- package/dist/cjs/Snackbar/Factories/index.js.map +1 -1
- package/dist/cjs/Snackbar/Factories/setupSnackbar.js.map +1 -1
- package/dist/cjs/Snackbar/Mocks/SnackbarPMMock.js.map +1 -1
- package/dist/cjs/Snackbar/Mocks/index.js.map +1 -1
- package/dist/cjs/Snackbar/PMs/SnackbarPM.js.map +1 -1
- package/dist/cjs/Snackbar/PMs/index.js.map +1 -1
- package/dist/cjs/Snackbar/index.js.map +1 -1
- package/dist/cjs/StateMachine/Adapters/editingStateAdapter.js.map +1 -1
- package/dist/cjs/StateMachine/Adapters/hostStateAdapter.js.map +1 -1
- package/dist/cjs/StateMachine/Adapters/hostStateMachinePMAdapter.js.map +1 -1
- package/dist/cjs/StateMachine/Adapters/index.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/cancelEditing.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/consumeState.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/deleteState.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/duplicateState.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/editActiveState.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/editState.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/editStateName.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/endActivity.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/index.js +1 -0
- package/dist/cjs/StateMachine/Controllers/index.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/newState.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/saveAuthoring.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/savePersistentStates.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/setTransitionDuration.js +13 -0
- package/dist/cjs/StateMachine/Controllers/setTransitionDuration.js.map +1 -0
- package/dist/cjs/StateMachine/Controllers/transitionToState.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/HostEditingStateEntity.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/HostStateEntity.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/HostStateMachine.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/index.js.map +1 -1
- package/dist/cjs/StateMachine/Factories/index.js.map +1 -1
- package/dist/cjs/StateMachine/Factories/setupStateMachineForSandbox.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/CancelEditingUCMock.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/ConsumeStateUCMock.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/EditStateUCMock.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/EndActivityUCMock.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockDeleteStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockDuplicateStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockEditActiveStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockEditStateNameUC.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockHostEditingStateEntity.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockHostStateEntity.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockHostStateMachinePM.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockHostStatePM.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockIsEditingStatePM.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockSaveAuthoringUC.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockTransitionToStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/NewStateUCMock.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/SavePersistentStatesMock.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/index.js.map +1 -1
- package/dist/cjs/StateMachine/PMs/EditingStatePM.js.map +1 -1
- package/dist/cjs/StateMachine/PMs/HostStateMachinePM.js.map +1 -1
- package/dist/cjs/StateMachine/PMs/HostStatePM.js.map +1 -1
- package/dist/cjs/StateMachine/PMs/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/CancelEditing/CancelEditingUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/CancelEditing/CancelSandboxEditingUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/CancelEditing/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/ConsumeState/ConsumeSandboxStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/ConsumeState/ConsumeStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/ConsumeState/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/DeleteStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/DuplicateStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditActiveState/EditActiveSandboxStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditActiveState/EditActiveStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditActiveState/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditState/EditSandboxStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditState/EditStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditState/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditStateNameUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EndActivity/EndActivityUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EndActivity/EndSandboxActivityUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EndActivity/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/NewState/NewSandboxStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/NewState/NewStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/NewState/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/SaveAuthoring/SaveAuthoringSandboxUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/SaveAuthoring/SaveAuthoringUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/SaveAuthoring/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/SavePersistentStates.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/TransitionToState/TransitionToSandboxStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/TransitionToState/TransitionToStateUC.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/TransitionToState/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/setSandboxStatesFromData.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/setSandboxStatesFromStringData.js.map +1 -1
- package/dist/cjs/StateMachine/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Adapter/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Adapter/themeColorAdapter.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/getOnPrimaryColor.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/getOnSurfaceColor.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/getPrimaryColor.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/getSurfaceColor.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/getSurfaceContainerColor.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/index.js +1 -0
- package/dist/cjs/ThemeColors/Controllers/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Controllers/setThemeByName.js +14 -0
- package/dist/cjs/ThemeColors/Controllers/setThemeByName.js.map +1 -0
- package/dist/cjs/ThemeColors/Data/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Entities/HostThemeEntity.js.map +1 -1
- package/dist/cjs/ThemeColors/Entities/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Factories/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Factories/setupTheme.js.map +1 -1
- package/dist/cjs/ThemeColors/Mocks/MockSetThemeUC.js +19 -0
- package/dist/cjs/ThemeColors/Mocks/MockSetThemeUC.js.map +1 -0
- package/dist/cjs/ThemeColors/Mocks/MockThemeColorPM.js.map +1 -1
- package/dist/cjs/ThemeColors/Mocks/index.js +1 -0
- package/dist/cjs/ThemeColors/Mocks/index.js.map +1 -1
- package/dist/cjs/ThemeColors/PM/ThemeColorsPM.js.map +1 -1
- package/dist/cjs/ThemeColors/PM/index.js.map +1 -1
- package/dist/cjs/ThemeColors/UCs/SetThemeUC.js.map +1 -1
- package/dist/cjs/ThemeColors/UCs/index.js.map +1 -1
- package/dist/cjs/ThemeColors/index.js.map +1 -1
- package/dist/cjs/VivedAPI/Controllers/refreshAuthenticatedUser.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/ApiStagePMMock.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockBasicFetchUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockBlobRequestUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockDeleteAssetOnAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockFetchAssetFileFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockFetchAssetMetaFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockFileUpload.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockGetAppFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockGetAssetsForOwnerUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockPatchAssetFileUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockPatchAssetIsArchivedUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockPatchAssetMetaUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockPatchAssetUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockPostNewAssetUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockSignedAuthToken.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/MockUserLoginUC.js.map +1 -1
- package/dist/cjs/VivedAPI/Mocks/UserTokenPMMock.js.map +1 -1
- package/dist/cjs/VivedAPI/PMs/UserTokenPM.js +7 -7
- package/dist/cjs/VivedAPI/PMs/UserTokenPM.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/FetchAssetFileFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/FetchAssetMetaFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/GetAppFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetFileUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetIsArchivedUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetMetaUC.js.map +1 -1
- package/dist/cjs/VivedAPI/UCs/PatchAssetUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Adapters/emulateZSpaceAdapter.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Adapters/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Adapters/zSpaceIsActiveAdapter.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Controllers/index.js +1 -0
- package/dist/cjs/ZSpaceHost/Controllers/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Controllers/setZSpaceIsSupported.js +13 -0
- package/dist/cjs/ZSpaceHost/Controllers/setZSpaceIsSupported.js.map +1 -0
- package/dist/cjs/ZSpaceHost/Controllers/startZSpace.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Controllers/stopZSpace.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Controllers/toggleEmulateZSpace.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Entities/ZSpaceHost.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Entities/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Factories/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Factories/setupZSpaceForSandbox.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/EmulateZSpacePMMock.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/MockStartZSpaceUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/MockStopZSpaceUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/MockXRSession.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/ZSpaceIsActivePMMock.js.map +1 -1
- package/dist/cjs/ZSpaceHost/Mocks/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/PMs/EmulateZSpacePM.js +4 -5
- package/dist/cjs/ZSpaceHost/PMs/EmulateZSpacePM.js.map +1 -1
- package/dist/cjs/ZSpaceHost/PMs/ZSpaceIsActivePM.js +4 -5
- package/dist/cjs/ZSpaceHost/PMs/ZSpaceIsActivePM.js.map +1 -1
- package/dist/cjs/ZSpaceHost/PMs/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/StartZSpace/StartSandboxZSpaceUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/StartZSpace/StartZSpaceUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/StartZSpace/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/StopZSpace/StopSandboxZSpaceUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/StopZSpace/StopZSpaceUC.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/StopZSpace/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/checkForZSpaceSupport.js.map +1 -1
- package/dist/cjs/ZSpaceHost/UCs/index.js.map +1 -1
- package/dist/cjs/ZSpaceHost/index.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/AppSandbox/Adapters/devFeaturesEnabledAdapter.js.map +1 -1
- package/dist/esm/AppSandbox/Adapters/index.js.map +1 -1
- package/dist/esm/AppSandbox/Adapters/sandboxStateAdapter.js.map +1 -1
- package/dist/esm/AppSandbox/Adapters/showInspectorAdapter.js.map +1 -1
- package/dist/esm/AppSandbox/Adapters/startInZSpaceAdapter.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/clearSandboxAppContainer.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/index.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/mountSandboxApp.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/setSandboxAppContainer.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/setSandboxAppState.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/startSandboxApp.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/stopSandboxApp.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/toggleAllowDevFeatures.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/toggleShowInspector.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/toggleStartInZSpace.js.map +1 -1
- package/dist/esm/AppSandbox/Controller/unmountSandboxApp.js.map +1 -1
- package/dist/esm/AppSandbox/Entities/AppSandboxEntity.js.map +1 -1
- package/dist/esm/AppSandbox/Entities/index.js.map +1 -1
- package/dist/esm/AppSandbox/Factories/setupAppSandbox.js.map +1 -1
- package/dist/esm/AppSandbox/Mocks/DevFeaturesEnabledPMMock.js.map +1 -1
- package/dist/esm/AppSandbox/Mocks/MockShowBabylonInspectorUC.js.map +1 -1
- package/dist/esm/AppSandbox/Mocks/RenderAppPMMock.js.map +1 -1
- package/dist/esm/AppSandbox/Mocks/ShowInspectorPMMock.js.map +1 -1
- package/dist/esm/AppSandbox/Mocks/StartInZSpacePMMock.js.map +1 -1
- package/dist/esm/AppSandbox/Mocks/index.js.map +1 -1
- package/dist/esm/AppSandbox/PMs/DevFeaturesEnabledPM.js +7 -6
- package/dist/esm/AppSandbox/PMs/DevFeaturesEnabledPM.js.map +1 -1
- package/dist/esm/AppSandbox/PMs/SandboxStatePM.js.map +1 -1
- package/dist/esm/AppSandbox/PMs/ShowInspectorPM.js +7 -6
- package/dist/esm/AppSandbox/PMs/ShowInspectorPM.js.map +1 -1
- package/dist/esm/AppSandbox/PMs/StartInZSpacePM.js +7 -6
- package/dist/esm/AppSandbox/PMs/StartInZSpacePM.js.map +1 -1
- package/dist/esm/AppSandbox/PMs/index.js.map +1 -1
- package/dist/esm/AppSandbox/UCs/ShowBabylonInspectorUC.js.map +1 -1
- package/dist/esm/AppSandbox/UCs/index.js.map +1 -1
- package/dist/esm/AppSandbox/UCs/submitActivityAssetHandlerSandbox.js.map +1 -1
- package/dist/esm/AppSandbox/index.js.map +1 -1
- package/dist/esm/Apps/Adapters/activeAppPMAdapter.js.map +1 -1
- package/dist/esm/Apps/Adapters/appListPMAdapter.js.map +1 -1
- package/dist/esm/Apps/Adapters/appPMAdapter.js.map +1 -1
- package/dist/esm/Apps/Adapters/index.js.map +1 -1
- package/dist/esm/Apps/Controllers/index.js.map +1 -1
- package/dist/esm/Apps/Controllers/updateApp.js.map +1 -1
- package/dist/esm/Apps/Entities/index.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockActiveAppPM.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockAppListPM.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockAppMounterUC.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockAppPM.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockStartAppUC.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockStopAppUC.js.map +1 -1
- package/dist/esm/Apps/Mocks/MockUpdateAppUC.js.map +1 -1
- package/dist/esm/Apps/Mocks/index.js.map +1 -1
- package/dist/esm/Apps/PMs/ActiveAppPM.js.map +1 -1
- package/dist/esm/Apps/PMs/AppPM.js.map +1 -1
- package/dist/esm/Apps/PMs/AppsListPM.js.map +1 -1
- package/dist/esm/Apps/PMs/index.js.map +1 -1
- package/dist/esm/Apps/UCs/Mounters/MounterUC.js.map +1 -1
- package/dist/esm/Apps/UCs/Mounters/SandboxMounterUC.js.map +1 -1
- package/dist/esm/Apps/UCs/Mounters/index.js.map +1 -1
- package/dist/esm/Apps/UCs/UpdateAppUC.js.map +1 -1
- package/dist/esm/Apps/UCs/formAppIDWithVersion.js.map +1 -1
- package/dist/esm/Apps/UCs/index.js.map +1 -1
- package/dist/esm/AssetPlugin/Adapters/assetPluginPMAdapter.js.map +1 -1
- package/dist/esm/AssetPlugin/Adapters/index.js.map +1 -1
- package/dist/esm/AssetPlugin/Controllers/clearAssetPluginContainer.js.map +1 -1
- package/dist/esm/AssetPlugin/Controllers/index.js.map +1 -1
- package/dist/esm/AssetPlugin/Controllers/setAssetPluginContainer.js.map +1 -1
- package/dist/esm/AssetPlugin/Entities/AssetPluginEntity.js.map +1 -1
- package/dist/esm/AssetPlugin/Entities/index.js.map +1 -1
- package/dist/esm/AssetPlugin/Factories/setupAssetsPluginForSandbox.js.map +1 -1
- package/dist/esm/AssetPlugin/Mocks/MockAssetPluginContainerUC.js.map +1 -1
- package/dist/esm/AssetPlugin/Mocks/MockAssetPluginPM.js.map +1 -1
- package/dist/esm/AssetPlugin/Mocks/index.js.map +1 -1
- package/dist/esm/AssetPlugin/PM/AssetPluginPM.js.map +1 -1
- package/dist/esm/AssetPlugin/PM/index.js.map +1 -1
- package/dist/esm/AssetPlugin/UCs/AssetPluginContainerUC.js.map +1 -1
- package/dist/esm/AssetPlugin/UCs/SandboxAssetPluginContainerUC.js.map +1 -1
- package/dist/esm/AssetPlugin/UCs/index.js.map +1 -1
- package/dist/esm/AssetPlugin/index.js.map +1 -1
- package/dist/esm/Assets/Adapters/appAssetListAdapter.js.map +1 -1
- package/dist/esm/Assets/Adapters/assetAdapter.js.map +1 -1
- package/dist/esm/Assets/Adapters/assetFileAdapter.js.map +1 -1
- package/dist/esm/Assets/Adapters/editingAppAssetAdapter.js.map +1 -1
- package/dist/esm/Assets/Adapters/index.js.map +1 -1
- package/dist/esm/Assets/Adapters/showArchivedAppAssetAdapter.js.map +1 -1
- package/dist/esm/Assets/Entities/index.js.map +1 -1
- package/dist/esm/Assets/Factories/setupAssets.js +11 -0
- package/dist/esm/Assets/Factories/setupAssets.js.map +1 -0
- package/dist/esm/Assets/Factories/setupAssetsForSandbox.js.map +1 -1
- package/dist/esm/Assets/Mocks/AppAssetListPMMock.js.map +1 -1
- package/dist/esm/Assets/Mocks/AssetFilePMMock.js.map +1 -1
- package/dist/esm/Assets/Mocks/AssetPMMock.js.map +1 -1
- package/dist/esm/Assets/Mocks/EditingAppAssetPMMock.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockArchiveAsset.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockDeleteAssetUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockDownloadAssetFileUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockEditAppAssetUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockGetAppAssetsUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockGetAssetBlobURLUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockGetAssetFileUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockGetAssetUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockNewAppAsset.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockNewAssetUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockPrefetchAssets.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockUpdateAppAssetMetaUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/MockUpdateAssetFileUC.js.map +1 -1
- package/dist/esm/Assets/Mocks/ShowArchivedAppAssetPMMock.js.map +1 -1
- package/dist/esm/Assets/Mocks/index.js.map +1 -1
- package/dist/esm/Assets/PMs/AppAssetListPM.js.map +1 -1
- package/dist/esm/Assets/PMs/AssetFilePM.js +4 -12
- package/dist/esm/Assets/PMs/AssetFilePM.js.map +1 -1
- package/dist/esm/Assets/PMs/EditingAppAssetPM.js.map +1 -1
- package/dist/esm/Assets/PMs/ShowArchivedAppAssetPM.js +7 -7
- package/dist/esm/Assets/PMs/ShowArchivedAppAssetPM.js.map +1 -1
- package/dist/esm/Assets/PMs/index.js.map +1 -1
- package/dist/esm/Assets/UCs/GetAppAssetsUC.js.map +1 -1
- package/dist/esm/Assets/UCs/PrefetchAssetsUC.js.map +1 -1
- package/dist/esm/Assets/index.js.map +1 -1
- package/dist/esm/Cache/Controllers/clearCache.js.map +1 -1
- package/dist/esm/Cache/Controllers/index.js.map +1 -1
- package/dist/esm/Cache/Entities/AssetCacheEntity.js.map +1 -1
- package/dist/esm/Cache/Entities/CacheEntity.js.map +1 -1
- package/dist/esm/Cache/Entities/ScriptCacheEntity.js.map +1 -1
- package/dist/esm/Cache/Entities/index.js.map +1 -1
- package/dist/esm/Cache/Factories/setupCache.js.map +1 -1
- package/dist/esm/Cache/Mocks/MockCacheEntity.js.map +1 -1
- package/dist/esm/Cache/Mocks/MockGetAssetFromCacheUC.js.map +1 -1
- package/dist/esm/Cache/Mocks/MockGetScriptFromCacheUC.js.map +1 -1
- package/dist/esm/Cache/Mocks/MockStoreAssetInCacheUC.js.map +1 -1
- package/dist/esm/Cache/Mocks/MockStoreScriptInCacheUC.js.map +1 -1
- package/dist/esm/Cache/Mocks/index.js.map +1 -1
- package/dist/esm/Cache/UCs/GetAssetFromCacheUC.js.map +1 -1
- package/dist/esm/Cache/UCs/GetScriptFromCacheUC.js.map +1 -1
- package/dist/esm/Cache/UCs/StoreAssetInCacheUC.js.map +1 -1
- package/dist/esm/Cache/UCs/StoreScriptInCacheUC.js.map +1 -1
- package/dist/esm/Cache/UCs/index.js.map +1 -1
- package/dist/esm/Cache/index.js.map +1 -1
- package/dist/esm/ChallengeResults/Adapters/challengeResultsListAdapter.js.map +1 -1
- package/dist/esm/ChallengeResults/Adapters/challengeScoreListAdapter.js.map +1 -1
- package/dist/esm/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.js.map +1 -1
- package/dist/esm/ChallengeResults/Adapters/index.js.map +1 -1
- package/dist/esm/ChallengeResults/Entities/index.js.map +1 -1
- package/dist/esm/ChallengeResults/Factories/index.js.map +1 -1
- package/dist/esm/ChallengeResults/Factories/setupChallengeResults.js.map +1 -1
- package/dist/esm/ChallengeResults/Mocks/ChallengeResultsListPMMock.js.map +1 -1
- package/dist/esm/ChallengeResults/Mocks/MockChallengeScoreListPM.js.map +1 -1
- package/dist/esm/ChallengeResults/Mocks/MockHasChallengeResultsPM.js.map +1 -1
- package/dist/esm/ChallengeResults/Mocks/index.js.map +1 -1
- package/dist/esm/ChallengeResults/PMs/ChallengeScoreListPM.js.map +1 -1
- package/dist/esm/ChallengeResults/PMs/HasChallengeResultsPM.js +10 -7
- package/dist/esm/ChallengeResults/PMs/HasChallengeResultsPM.js.map +1 -1
- package/dist/esm/ChallengeResults/PMs/index.js.map +1 -1
- package/dist/esm/ChallengeResults/index.js.map +1 -1
- package/dist/esm/Dialog/Adapters/alertDialogAdapter.js.map +1 -1
- package/dist/esm/Dialog/Adapters/confirmDialogAdapter.js.map +1 -1
- package/dist/esm/Dialog/Adapters/dialogQueueAdapter.js.map +1 -1
- package/dist/esm/Dialog/Adapters/index.js.map +1 -1
- package/dist/esm/Dialog/Adapters/markDownEditorDialogAdapters.js.map +1 -1
- package/dist/esm/Dialog/Adapters/spinnerDialogAdapter.js.map +1 -1
- package/dist/esm/Dialog/Controllers/activeDialogHasClosed.js.map +1 -1
- package/dist/esm/Dialog/Controllers/index.js.map +1 -1
- package/dist/esm/Dialog/Entities/Alert.js.map +1 -1
- package/dist/esm/Dialog/Entities/Confirm.js.map +1 -1
- package/dist/esm/Dialog/Entities/DialogQueue.js.map +1 -1
- package/dist/esm/Dialog/Entities/MarkDownEditor.js.map +1 -1
- package/dist/esm/Dialog/Entities/SelectModel.js.map +1 -1
- package/dist/esm/Dialog/Entities/Spinner.js.map +1 -1
- package/dist/esm/Dialog/Entities/index.js.map +1 -1
- package/dist/esm/Dialog/Factories/alertDialogFactory.js.map +1 -1
- package/dist/esm/Dialog/Factories/confirmDialogFactory.js.map +1 -1
- package/dist/esm/Dialog/Factories/index.js.map +1 -1
- package/dist/esm/Dialog/Factories/markdownDialogEditorFactory.js.map +1 -1
- package/dist/esm/Dialog/Factories/selectDialogModelFactory.js.map +1 -1
- package/dist/esm/Dialog/Factories/setupDialogForSandbox.js.map +1 -1
- package/dist/esm/Dialog/Factories/spinnerDialogFactory.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockAlertDialogPM.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockConfirmDialogPM.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockDialogQueuePM.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockMakeAlertDialogUC.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockMakeConfirmDialogUC.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockMakeMarkdownDialogUC.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockMakeSelectModelDialogUC.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockMakeSpinnerDialogUC.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockMarkDownEditorDialogPM.js.map +1 -1
- package/dist/esm/Dialog/Mocks/MockSpinnerDialogPM.js.map +1 -1
- package/dist/esm/Dialog/Mocks/index.js.map +1 -1
- package/dist/esm/Dialog/PMs/AlertDialogPM.js.map +1 -1
- package/dist/esm/Dialog/PMs/ConfirmDialogPM.js.map +1 -1
- package/dist/esm/Dialog/PMs/DialogQueuePM.js.map +1 -1
- package/dist/esm/Dialog/PMs/MarkDownEditorDialogPM.js.map +1 -1
- package/dist/esm/Dialog/PMs/SpinnerDialogPM.js.map +1 -1
- package/dist/esm/Dialog/PMs/index.js.map +1 -1
- package/dist/esm/Dialog/UCs/MakeAlertDialogUC.js.map +1 -1
- package/dist/esm/Dialog/UCs/MakeConfirmDialogUC.js.map +1 -1
- package/dist/esm/Dialog/UCs/MakeMarkdownDialogUC.js.map +1 -1
- package/dist/esm/Dialog/UCs/MakeSelectModelDialogUC.js.map +1 -1
- package/dist/esm/Dialog/UCs/MakeSpinnerDialogUC.js.map +1 -1
- package/dist/esm/Dialog/UCs/index.js.map +1 -1
- package/dist/esm/Dialog/index.js.map +1 -1
- package/dist/esm/Dispatcher/Entities/HostDispatchEntity.js.map +1 -1
- package/dist/esm/Dispatcher/Entities/index.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/DispatchEnableFeatureUCMock.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchAppDispatcherUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchIsAuthoringUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchSetStateUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchShowBabylonInspectorUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchStartAppUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchStartBrowseChannelsUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchStartZSpaceUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchStopAppUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchStopZSpaceUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatchThemeUC.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockHostDispatcher.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/index.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchDisposeAppUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchEnableFeatureUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchIsAuthoringUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchSetStateUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchShowBabylonInspectorUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchStartAppUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchStartBrowseChannelsUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchStartZSpaceUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchStopAppUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchStopZSpaceUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/DispatchThemeUC.js.map +1 -1
- package/dist/esm/Dispatcher/UCs/index.js.map +1 -1
- package/dist/esm/Dispatcher/index.js.map +1 -1
- package/dist/esm/Dispatcher/setupStandardHostDispatchers.js.map +1 -1
- package/dist/esm/Events/Types/EventTypes.js.map +1 -1
- package/dist/esm/Events/Types/PayloadTypes.js.map +1 -1
- package/dist/esm/Events/Types/index.js.map +1 -1
- package/dist/esm/Events/index.js.map +1 -1
- package/dist/esm/Handler/Entities/HostHandler.js.map +1 -1
- package/dist/esm/Handler/Entities/index.js.map +1 -1
- package/dist/esm/Handler/UCs/CallbackAssetDTO.js.map +1 -1
- package/dist/esm/Handler/UCs/CloseAssetSystemPlugin.js.map +1 -1
- package/dist/esm/Handler/UCs/GetAssetBlobURLHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/GetAssetFolderURLHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/GetAssetMetaHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/GetAssetsForOwnerHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/GetLinkedAssetsHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/GoToNextStateHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/GoToPreviousStateHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/HasNextStateHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/HasPreviousStateHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/IsAssetFetchedHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/IsZSpaceAvailableHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/NewActivityAssetHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/OnAppIsReadyHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/OnStateChangeHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/OnStateCompleteHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/RegisterExternalStyleSheetsHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/RestoreCurrentStateHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/ShowAlertHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/ShowConfirmHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/ShowMarkDownEditorHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/ShowSelectModelHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/ShowSpinnerHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/StartZSpaceHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/StopZSpaceHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/SubmitActivityAssetHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/SubmitLogHandler.js.map +1 -1
- package/dist/esm/Handler/UCs/index.js.map +1 -1
- package/dist/esm/Handler/index.js.map +1 -1
- package/dist/esm/Handler/setupStandardHostHandlers.js.map +1 -1
- package/dist/esm/Logger/Adapters/fatalErrorAdapter.js.map +1 -1
- package/dist/esm/Logger/Adapters/forwardLogsToConsoleAdapter.js.map +1 -1
- package/dist/esm/Logger/Adapters/index.js.map +1 -1
- package/dist/esm/Logger/Adapters/logSummaryAdapter.js.map +1 -1
- package/dist/esm/Logger/Controllers/clickDownloadLog.js.map +1 -1
- package/dist/esm/Logger/Controllers/index.js.map +1 -1
- package/dist/esm/Logger/Controllers/toggleForwardLogs.js.map +1 -1
- package/dist/esm/Logger/Entities/LoggerEntity.js.map +1 -1
- package/dist/esm/Logger/Entities/index.js.map +1 -1
- package/dist/esm/Logger/Factories/index.js.map +1 -1
- package/dist/esm/Logger/Factories/setupLoggerForSandbox.js.map +1 -1
- package/dist/esm/Logger/Mocks/ForwardLogsToConsolePMMock.js.map +1 -1
- package/dist/esm/Logger/Mocks/LogSummaryPMMock.js.map +1 -1
- package/dist/esm/Logger/Mocks/MockDownloadLogUC.js.map +1 -1
- package/dist/esm/Logger/Mocks/MockFatalErrorPM.js.map +1 -1
- package/dist/esm/Logger/Mocks/index.js.map +1 -1
- package/dist/esm/Logger/PMs/FatalErrorPM.js.map +1 -1
- package/dist/esm/Logger/PMs/ForwardLogsToConsolePM.js +7 -6
- package/dist/esm/Logger/PMs/ForwardLogsToConsolePM.js.map +1 -1
- package/dist/esm/Logger/PMs/LogSummaryPM.js.map +1 -1
- package/dist/esm/Logger/PMs/index.js.map +1 -1
- package/dist/esm/Logger/UCs/DownloadLogUC.js.map +1 -1
- package/dist/esm/Logger/UCs/index.js.map +1 -1
- package/dist/esm/Logger/index.js.map +1 -1
- package/dist/esm/Snackbar/Adapters/index.js.map +1 -1
- package/dist/esm/Snackbar/Adapters/snackbarAdapter.js.map +1 -1
- package/dist/esm/Snackbar/Controllers/callActiveSnackbarAction.js.map +1 -1
- package/dist/esm/Snackbar/Controllers/dismissActiveSnackbar.js.map +1 -1
- package/dist/esm/Snackbar/Controllers/index.js.map +1 -1
- package/dist/esm/Snackbar/Controllers/makeSnackbar.js.map +1 -1
- package/dist/esm/Snackbar/Entities/SnackbarRepo.js.map +1 -1
- package/dist/esm/Snackbar/Entities/index.js.map +1 -1
- package/dist/esm/Snackbar/Factories/index.js.map +1 -1
- package/dist/esm/Snackbar/Factories/setupSnackbar.js.map +1 -1
- package/dist/esm/Snackbar/Mocks/SnackbarPMMock.js.map +1 -1
- package/dist/esm/Snackbar/Mocks/index.js.map +1 -1
- package/dist/esm/Snackbar/PMs/SnackbarPM.js.map +1 -1
- package/dist/esm/Snackbar/PMs/index.js.map +1 -1
- package/dist/esm/Snackbar/index.js.map +1 -1
- package/dist/esm/StateMachine/Adapters/editingStateAdapter.js.map +1 -1
- package/dist/esm/StateMachine/Adapters/hostStateAdapter.js.map +1 -1
- package/dist/esm/StateMachine/Adapters/hostStateMachinePMAdapter.js.map +1 -1
- package/dist/esm/StateMachine/Adapters/index.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/cancelEditing.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/consumeState.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/deleteState.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/duplicateState.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/editActiveState.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/editState.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/editStateName.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/endActivity.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/index.js +1 -0
- package/dist/esm/StateMachine/Controllers/index.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/newState.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/saveAuthoring.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/savePersistentStates.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/setTransitionDuration.js +10 -0
- package/dist/esm/StateMachine/Controllers/setTransitionDuration.js.map +1 -0
- package/dist/esm/StateMachine/Controllers/transitionToState.js.map +1 -1
- package/dist/esm/StateMachine/Entities/HostEditingStateEntity.js.map +1 -1
- package/dist/esm/StateMachine/Entities/HostStateEntity.js.map +1 -1
- package/dist/esm/StateMachine/Entities/HostStateMachine.js.map +1 -1
- package/dist/esm/StateMachine/Entities/index.js.map +1 -1
- package/dist/esm/StateMachine/Factories/index.js.map +1 -1
- package/dist/esm/StateMachine/Factories/setupStateMachineForSandbox.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/CancelEditingUCMock.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/ConsumeStateUCMock.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/EditStateUCMock.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/EndActivityUCMock.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockDeleteStateUC.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockDuplicateStateUC.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockEditActiveStateUC.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockEditStateNameUC.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockHostEditingStateEntity.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockHostStateEntity.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockHostStateMachinePM.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockHostStatePM.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockIsEditingStatePM.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockSaveAuthoringUC.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockTransitionToStateUC.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/NewStateUCMock.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/SavePersistentStatesMock.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/index.js.map +1 -1
- package/dist/esm/StateMachine/PMs/EditingStatePM.js.map +1 -1
- package/dist/esm/StateMachine/PMs/HostStateMachinePM.js.map +1 -1
- package/dist/esm/StateMachine/PMs/HostStatePM.js.map +1 -1
- package/dist/esm/StateMachine/PMs/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/CancelEditing/CancelEditingUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/CancelEditing/CancelSandboxEditingUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/CancelEditing/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/ConsumeState/ConsumeSandboxStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/ConsumeState/ConsumeStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/ConsumeState/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/DeleteStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/DuplicateStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditActiveState/EditActiveSandboxStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditActiveState/EditActiveStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditActiveState/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditState/EditSandboxStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditState/EditStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditState/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditStateNameUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EndActivity/EndActivityUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EndActivity/EndSandboxActivityUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EndActivity/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/NewState/NewSandboxStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/NewState/NewStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/NewState/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/SaveAuthoring/SaveAuthoringSandboxUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/SaveAuthoring/SaveAuthoringUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/SaveAuthoring/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/SavePersistentStates.js.map +1 -1
- package/dist/esm/StateMachine/UCs/TransitionToState/TransitionToSandboxStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/TransitionToState/TransitionToStateUC.js.map +1 -1
- package/dist/esm/StateMachine/UCs/TransitionToState/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/setSandboxStatesFromData.js.map +1 -1
- package/dist/esm/StateMachine/UCs/setSandboxStatesFromStringData.js.map +1 -1
- package/dist/esm/StateMachine/index.js.map +1 -1
- package/dist/esm/ThemeColors/Adapter/index.js.map +1 -1
- package/dist/esm/ThemeColors/Adapter/themeColorAdapter.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/getOnPrimaryColor.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/getOnSurfaceColor.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/getPrimaryColor.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/getSurfaceColor.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/getSurfaceContainerColor.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/index.js +1 -0
- package/dist/esm/ThemeColors/Controllers/index.js.map +1 -1
- package/dist/esm/ThemeColors/Controllers/setThemeByName.js +11 -0
- package/dist/esm/ThemeColors/Controllers/setThemeByName.js.map +1 -0
- package/dist/esm/ThemeColors/Data/index.js.map +1 -1
- package/dist/esm/ThemeColors/Entities/HostThemeEntity.js.map +1 -1
- package/dist/esm/ThemeColors/Entities/index.js.map +1 -1
- package/dist/esm/ThemeColors/Factories/index.js.map +1 -1
- package/dist/esm/ThemeColors/Factories/setupTheme.js.map +1 -1
- package/dist/esm/ThemeColors/Mocks/MockSetThemeUC.js +14 -0
- package/dist/esm/ThemeColors/Mocks/MockSetThemeUC.js.map +1 -0
- package/dist/esm/ThemeColors/Mocks/MockThemeColorPM.js.map +1 -1
- package/dist/esm/ThemeColors/Mocks/index.js +1 -0
- package/dist/esm/ThemeColors/Mocks/index.js.map +1 -1
- package/dist/esm/ThemeColors/PM/ThemeColorsPM.js.map +1 -1
- package/dist/esm/ThemeColors/PM/index.js.map +1 -1
- package/dist/esm/ThemeColors/UCs/SetThemeUC.js.map +1 -1
- package/dist/esm/ThemeColors/UCs/index.js.map +1 -1
- package/dist/esm/ThemeColors/index.js.map +1 -1
- package/dist/esm/VivedAPI/Controllers/refreshAuthenticatedUser.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/ApiStagePMMock.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockBasicFetchUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockBlobRequestUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockDeleteAssetOnAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockFetchAssetFileFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockFetchAssetMetaFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockFileUpload.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockGetAppFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockGetAssetsForOwnerUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockPatchAssetFileUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockPatchAssetIsArchivedUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockPatchAssetMetaUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockPatchAssetUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockPostNewAssetUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockSignedAuthToken.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/MockUserLoginUC.js.map +1 -1
- package/dist/esm/VivedAPI/Mocks/UserTokenPMMock.js.map +1 -1
- package/dist/esm/VivedAPI/PMs/UserTokenPM.js +8 -8
- package/dist/esm/VivedAPI/PMs/UserTokenPM.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/FetchAssetFileFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/FetchAssetMetaFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/GetAppFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetFileUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetIsArchivedUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetMetaUC.js.map +1 -1
- package/dist/esm/VivedAPI/UCs/PatchAssetUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/Adapters/emulateZSpaceAdapter.js.map +1 -1
- package/dist/esm/ZSpaceHost/Adapters/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/Adapters/zSpaceIsActiveAdapter.js.map +1 -1
- package/dist/esm/ZSpaceHost/Controllers/index.js +1 -0
- package/dist/esm/ZSpaceHost/Controllers/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/Controllers/setZSpaceIsSupported.js +10 -0
- package/dist/esm/ZSpaceHost/Controllers/setZSpaceIsSupported.js.map +1 -0
- package/dist/esm/ZSpaceHost/Controllers/startZSpace.js.map +1 -1
- package/dist/esm/ZSpaceHost/Controllers/stopZSpace.js.map +1 -1
- package/dist/esm/ZSpaceHost/Controllers/toggleEmulateZSpace.js.map +1 -1
- package/dist/esm/ZSpaceHost/Entities/ZSpaceHost.js.map +1 -1
- package/dist/esm/ZSpaceHost/Entities/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/Factories/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/Factories/setupZSpaceForSandbox.js.map +1 -1
- package/dist/esm/ZSpaceHost/Mocks/EmulateZSpacePMMock.js.map +1 -1
- package/dist/esm/ZSpaceHost/Mocks/MockStartZSpaceUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/Mocks/MockStopZSpaceUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/Mocks/MockXRSession.js.map +1 -1
- package/dist/esm/ZSpaceHost/Mocks/ZSpaceIsActivePMMock.js.map +1 -1
- package/dist/esm/ZSpaceHost/Mocks/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/PMs/EmulateZSpacePM.js +5 -6
- package/dist/esm/ZSpaceHost/PMs/EmulateZSpacePM.js.map +1 -1
- package/dist/esm/ZSpaceHost/PMs/ZSpaceIsActivePM.js +5 -6
- package/dist/esm/ZSpaceHost/PMs/ZSpaceIsActivePM.js.map +1 -1
- package/dist/esm/ZSpaceHost/PMs/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/StartZSpace/StartSandboxZSpaceUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/StartZSpace/StartZSpaceUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/StartZSpace/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/StopZSpace/StopSandboxZSpaceUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/StopZSpace/StopZSpaceUC.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/StopZSpace/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/checkForZSpaceSupport.js.map +1 -1
- package/dist/esm/ZSpaceHost/UCs/index.js.map +1 -1
- package/dist/esm/ZSpaceHost/index.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/types/AppSandbox/PMs/DevFeaturesEnabledPM.d.ts +2 -2
- package/dist/types/AppSandbox/PMs/DevFeaturesEnabledPM.d.ts.map +1 -1
- package/dist/types/AppSandbox/PMs/ShowInspectorPM.d.ts +2 -2
- package/dist/types/AppSandbox/PMs/ShowInspectorPM.d.ts.map +1 -1
- package/dist/types/AppSandbox/PMs/StartInZSpacePM.d.ts +2 -2
- package/dist/types/AppSandbox/PMs/StartInZSpacePM.d.ts.map +1 -1
- package/dist/types/Assets/Factories/setupAssets.d.ts +8 -0
- package/dist/types/Assets/Factories/setupAssets.d.ts.map +1 -0
- package/dist/types/Assets/PMs/ShowArchivedAppAssetPM.d.ts +2 -2
- package/dist/types/Assets/PMs/ShowArchivedAppAssetPM.d.ts.map +1 -1
- package/dist/types/ChallengeResults/PMs/HasChallengeResultsPM.d.ts +2 -2
- package/dist/types/ChallengeResults/PMs/HasChallengeResultsPM.d.ts.map +1 -1
- package/dist/types/Logger/PMs/ForwardLogsToConsolePM.d.ts +2 -2
- package/dist/types/Logger/PMs/ForwardLogsToConsolePM.d.ts.map +1 -1
- package/dist/types/StateMachine/Controllers/index.d.ts +1 -0
- package/dist/types/StateMachine/Controllers/index.d.ts.map +1 -1
- package/dist/types/StateMachine/Controllers/setTransitionDuration.d.ts +3 -0
- package/dist/types/StateMachine/Controllers/setTransitionDuration.d.ts.map +1 -0
- package/dist/types/ThemeColors/Controllers/index.d.ts +1 -0
- package/dist/types/ThemeColors/Controllers/index.d.ts.map +1 -1
- package/dist/types/ThemeColors/Controllers/setThemeByName.d.ts +3 -0
- package/dist/types/ThemeColors/Controllers/setThemeByName.d.ts.map +1 -0
- package/dist/types/ThemeColors/Mocks/MockSetThemeUC.d.ts +11 -0
- package/dist/types/ThemeColors/Mocks/MockSetThemeUC.d.ts.map +1 -0
- package/dist/types/ThemeColors/Mocks/index.d.ts +1 -0
- package/dist/types/ThemeColors/Mocks/index.d.ts.map +1 -1
- package/dist/types/VivedAPI/PMs/UserTokenPM.d.ts +2 -2
- package/dist/types/VivedAPI/PMs/UserTokenPM.d.ts.map +1 -1
- package/dist/types/ZSpaceHost/Controllers/index.d.ts +1 -0
- package/dist/types/ZSpaceHost/Controllers/index.d.ts.map +1 -1
- package/dist/types/ZSpaceHost/Controllers/setZSpaceIsSupported.d.ts +3 -0
- package/dist/types/ZSpaceHost/Controllers/setZSpaceIsSupported.d.ts.map +1 -0
- package/dist/types/ZSpaceHost/PMs/EmulateZSpacePM.d.ts +2 -2
- package/dist/types/ZSpaceHost/PMs/EmulateZSpacePM.d.ts.map +1 -1
- package/dist/types/ZSpaceHost/PMs/ZSpaceIsActivePM.d.ts +2 -2
- package/dist/types/ZSpaceHost/PMs/ZSpaceIsActivePM.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnackbarRepo.js","sourceRoot":"","sources":["../../../../src/Snackbar/Entities/SnackbarRepo.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AppObject,\r\n AppObjectEntity,\r\n AppObjectRepo,\r\n getSingletonComponent\r\n} from \"@vived/core\";\r\n\r\n/**\r\n * Represents a snackbar notification with a message, duration, and optional action\r\n */\r\nexport interface Snackbar {\r\n /** The text message to display in the snackbar */\r\n message: string;\r\n /** How long the snackbar should be displayed before auto-dismissing (in seconds) */\r\n durationInSeconds: number;\r\n /** Optional action button and callback for the snackbar */\r\n snackbarAction?: SnackbarAction;\r\n}\r\n\r\n/**\r\n * Represents an action button for a snackbar\r\n */\r\nexport interface SnackbarAction {\r\n /** The text to display on the action button */\r\n actionButtonText: string;\r\n /** Callback function to execute when the action button is clicked */\r\n action: () => void;\r\n}\r\n\r\n/**\r\n * Observer type for snackbar state changes\r\n */\r\nexport type SnackbarObserver = (snackbar: Snackbar | undefined) => void;\r\n\r\n/**\r\n * Repository for managing snackbar notifications\r\n * Handles creating, displaying, and dismissing snackbars\r\n */\r\nexport abstract class SnackbarRepo extends AppObjectEntity {\r\n static type = \"SnackbarRepo\";\r\n\r\n /**\r\n * Gets the singleton instance of SnackbarRepo\r\n * @param appObjects The application object repository\r\n * @returns The SnackbarRepo instance or undefined if not found\r\n */\r\n static get(appObjects: AppObjectRepo) {\r\n return getSingletonComponent<SnackbarRepo>(SnackbarRepo.type, appObjects);\r\n }\r\n\r\n /**\r\n * Creates and displays a new snackbar notification\r\n * @param message The message to display\r\n * @param snackbarAction Optional action button and callback\r\n * @param durationInSeconds Optional duration in seconds before auto-dismissing\r\n */\r\n abstract makeSnackbar(\r\n message: string,\r\n snackbarAction?: SnackbarAction,\r\n durationInSeconds?: number\r\n ): void;\r\n\r\n /**\r\n * Gets the currently active snackbar, if any\r\n * @returns The current snackbar or undefined if none is active\r\n */\r\n abstract getCurrentSnackbar(): Snackbar | undefined;\r\n\r\n /**\r\n * Dismisses the currently active snackbar, if any\r\n */\r\n abstract dismissActiveSnackbar(): void;\r\n\r\n /**\r\n * Executes the action of the currently active snackbar, if it has one\r\n * Also dismisses the snackbar after executing the action\r\n */\r\n abstract callActiveSnackbarAction(): void;\r\n}\r\n\r\n/**\r\n * Creates a new SnackbarRepo instance\r\n * @param appObject The application object\r\n * @returns A new SnackbarRepo instance\r\n */\r\nexport function makeSnackbarRepo(appObject: AppObject): SnackbarRepo {\r\n return new SnackbarRepoImp(appObject);\r\n}\r\n\r\n/**\r\n * Implementation of SnackbarRepo\r\n * Handles the queue of snackbars and their timing\r\n */\r\nclass SnackbarRepoImp extends SnackbarRepo {\r\n /** Queue of snackbars to display */\r\n private snackbarQueue: Snackbar[];\r\n /** Default duration for snackbars if not specified */\r\n private defaultDurationInSeconds: number;\r\n /** Flag to prevent multiple timing loops from running */\r\n private monitoringSnackbarTime: boolean = false;\r\n\r\n /**\r\n * Creates a new SnackbarRepoImp instance\r\n * @param appObject The application object\r\n * @param defaultDurationInSeconds Default duration for snackbars (default: 4 seconds)\r\n */\r\n constructor(appObject: AppObject, defaultDurationInSeconds: number = 4) {\r\n super(appObject, SnackbarRepo.type);\r\n this.snackbarQueue = [];\r\n this.defaultDurationInSeconds = defaultDurationInSeconds;\r\n this.appObjects.registerSingleton(this);\r\n }\r\n\r\n /**\r\n * Creates and displays a new snackbar notification\r\n * @param message The message to display\r\n * @param snackbarAction Optional action button and callback\r\n * @param durationInSeconds Optional duration in seconds before auto-dismissing\r\n */\r\n makeSnackbar(\r\n message: string,\r\n snackbarAction?: SnackbarAction | undefined,\r\n durationInSeconds?: number | undefined\r\n ): void {\r\n if (message.trim().length === 0) {\r\n this.warn(\"Snackbar must have a message\");\r\n return;\r\n }\r\n\r\n if (snackbarAction && snackbarAction.actionButtonText.trim().length === 0) {\r\n this.warn(\r\n \"If a Snackbar has an action then the action button text cannot be empty\"\r\n );\r\n return;\r\n }\r\n\r\n const duration = durationInSeconds ?? this.defaultDurationInSeconds;\r\n if (duration <= 0) {\r\n this.warn(`${duration} is an invalid duration for a Snackbar`);\r\n return;\r\n }\r\n\r\n const snackbar: Snackbar = {\r\n message,\r\n durationInSeconds: duration,\r\n snackbarAction\r\n };\r\n\r\n this.snackbarQueue.push(snackbar);\r\n this.notifyOnChange();\r\n this.monitorSnackbarTime();\r\n\r\n return;\r\n }\r\n\r\n /**\r\n * Gets the currently active snackbar, if any\r\n * @returns The current snackbar or undefined if none is active\r\n */\r\n getCurrentSnackbar(): Snackbar | undefined {\r\n return this.snackbarQueue.length > 0 ? this.snackbarQueue[0] : undefined;\r\n }\r\n\r\n /**\r\n * Dismisses the currently active snackbar, if any\r\n */\r\n dismissActiveSnackbar(): void {\r\n if (this.snackbarQueue.length > 0) {\r\n this.snackbarQueue.splice(0, 1);\r\n this.notifyOnChange();\r\n }\r\n }\r\n\r\n /**\r\n * Executes the action of the currently active snackbar, if it has one\r\n * Also dismisses the snackbar after executing the action\r\n */\r\n callActiveSnackbarAction(): void {\r\n const currentSnackbar = this.getCurrentSnackbar();\r\n if (currentSnackbar) {\r\n if (currentSnackbar.snackbarAction) {\r\n currentSnackbar.snackbarAction.action();\r\n this.dismissActiveSnackbar();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Monitors the timing of snackbars to auto-dismiss them when their duration expires\r\n * Uses a loop that checks each snackbar's remaining time\r\n */\r\n private async monitorSnackbarTime() {\r\n if (this.monitoringSnackbarTime) {\r\n return;\r\n }\r\n\r\n const loopFrequencyInSeconds: number = 0.1;\r\n this.monitoringSnackbarTime = true;\r\n\r\n while (this.snackbarQueue.length > 0) {\r\n const currentSnackbar = this.getCurrentSnackbar();\r\n if (currentSnackbar) {\r\n let currentTimeout = currentSnackbar.durationInSeconds;\r\n while (\r\n this.getCurrentSnackbar() === currentSnackbar &&\r\n currentTimeout > 0\r\n ) {\r\n // tslint:disable-next-line:no-shadowed-variable\r\n await new Promise((resolve) =>\r\n setTimeout(resolve, loopFrequencyInSeconds * 1000)\r\n );\r\n currentTimeout -= loopFrequencyInSeconds;\r\n }\r\n if (\r\n this.getCurrentSnackbar() === currentSnackbar &&\r\n currentTimeout <= 0\r\n ) {\r\n this.dismissActiveSnackbar();\r\n }\r\n }\r\n }\r\n this.monitoringSnackbarTime = false;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"SnackbarRepo.js","sourceRoot":"","sources":["../../../../src/Snackbar/Entities/SnackbarRepo.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AppObject,\n AppObjectEntity,\n AppObjectRepo,\n getSingletonComponent\n} from \"@vived/core\";\n\n/**\n * Represents a snackbar notification with a message, duration, and optional action\n */\nexport interface Snackbar {\n /** The text message to display in the snackbar */\n message: string;\n /** How long the snackbar should be displayed before auto-dismissing (in seconds) */\n durationInSeconds: number;\n /** Optional action button and callback for the snackbar */\n snackbarAction?: SnackbarAction;\n}\n\n/**\n * Represents an action button for a snackbar\n */\nexport interface SnackbarAction {\n /** The text to display on the action button */\n actionButtonText: string;\n /** Callback function to execute when the action button is clicked */\n action: () => void;\n}\n\n/**\n * Observer type for snackbar state changes\n */\nexport type SnackbarObserver = (snackbar: Snackbar | undefined) => void;\n\n/**\n * Repository for managing snackbar notifications\n * Handles creating, displaying, and dismissing snackbars\n */\nexport abstract class SnackbarRepo extends AppObjectEntity {\n static type = \"SnackbarRepo\";\n\n /**\n * Gets the singleton instance of SnackbarRepo\n * @param appObjects The application object repository\n * @returns The SnackbarRepo instance or undefined if not found\n */\n static get(appObjects: AppObjectRepo) {\n return getSingletonComponent<SnackbarRepo>(SnackbarRepo.type, appObjects);\n }\n\n /**\n * Creates and displays a new snackbar notification\n * @param message The message to display\n * @param snackbarAction Optional action button and callback\n * @param durationInSeconds Optional duration in seconds before auto-dismissing\n */\n abstract makeSnackbar(\n message: string,\n snackbarAction?: SnackbarAction,\n durationInSeconds?: number\n ): void;\n\n /**\n * Gets the currently active snackbar, if any\n * @returns The current snackbar or undefined if none is active\n */\n abstract getCurrentSnackbar(): Snackbar | undefined;\n\n /**\n * Dismisses the currently active snackbar, if any\n */\n abstract dismissActiveSnackbar(): void;\n\n /**\n * Executes the action of the currently active snackbar, if it has one\n * Also dismisses the snackbar after executing the action\n */\n abstract callActiveSnackbarAction(): void;\n}\n\n/**\n * Creates a new SnackbarRepo instance\n * @param appObject The application object\n * @returns A new SnackbarRepo instance\n */\nexport function makeSnackbarRepo(appObject: AppObject): SnackbarRepo {\n return new SnackbarRepoImp(appObject);\n}\n\n/**\n * Implementation of SnackbarRepo\n * Handles the queue of snackbars and their timing\n */\nclass SnackbarRepoImp extends SnackbarRepo {\n /** Queue of snackbars to display */\n private snackbarQueue: Snackbar[];\n /** Default duration for snackbars if not specified */\n private defaultDurationInSeconds: number;\n /** Flag to prevent multiple timing loops from running */\n private monitoringSnackbarTime: boolean = false;\n\n /**\n * Creates a new SnackbarRepoImp instance\n * @param appObject The application object\n * @param defaultDurationInSeconds Default duration for snackbars (default: 4 seconds)\n */\n constructor(appObject: AppObject, defaultDurationInSeconds: number = 4) {\n super(appObject, SnackbarRepo.type);\n this.snackbarQueue = [];\n this.defaultDurationInSeconds = defaultDurationInSeconds;\n this.appObjects.registerSingleton(this);\n }\n\n /**\n * Creates and displays a new snackbar notification\n * @param message The message to display\n * @param snackbarAction Optional action button and callback\n * @param durationInSeconds Optional duration in seconds before auto-dismissing\n */\n makeSnackbar(\n message: string,\n snackbarAction?: SnackbarAction | undefined,\n durationInSeconds?: number | undefined\n ): void {\n if (message.trim().length === 0) {\n this.warn(\"Snackbar must have a message\");\n return;\n }\n\n if (snackbarAction && snackbarAction.actionButtonText.trim().length === 0) {\n this.warn(\n \"If a Snackbar has an action then the action button text cannot be empty\"\n );\n return;\n }\n\n const duration = durationInSeconds ?? this.defaultDurationInSeconds;\n if (duration <= 0) {\n this.warn(`${duration} is an invalid duration for a Snackbar`);\n return;\n }\n\n const snackbar: Snackbar = {\n message,\n durationInSeconds: duration,\n snackbarAction\n };\n\n this.snackbarQueue.push(snackbar);\n this.notifyOnChange();\n this.monitorSnackbarTime();\n\n return;\n }\n\n /**\n * Gets the currently active snackbar, if any\n * @returns The current snackbar or undefined if none is active\n */\n getCurrentSnackbar(): Snackbar | undefined {\n return this.snackbarQueue.length > 0 ? this.snackbarQueue[0] : undefined;\n }\n\n /**\n * Dismisses the currently active snackbar, if any\n */\n dismissActiveSnackbar(): void {\n if (this.snackbarQueue.length > 0) {\n this.snackbarQueue.splice(0, 1);\n this.notifyOnChange();\n }\n }\n\n /**\n * Executes the action of the currently active snackbar, if it has one\n * Also dismisses the snackbar after executing the action\n */\n callActiveSnackbarAction(): void {\n const currentSnackbar = this.getCurrentSnackbar();\n if (currentSnackbar) {\n if (currentSnackbar.snackbarAction) {\n currentSnackbar.snackbarAction.action();\n this.dismissActiveSnackbar();\n }\n }\n }\n\n /**\n * Monitors the timing of snackbars to auto-dismiss them when their duration expires\n * Uses a loop that checks each snackbar's remaining time\n */\n private async monitorSnackbarTime() {\n if (this.monitoringSnackbarTime) {\n return;\n }\n\n const loopFrequencyInSeconds: number = 0.1;\n this.monitoringSnackbarTime = true;\n\n while (this.snackbarQueue.length > 0) {\n const currentSnackbar = this.getCurrentSnackbar();\n if (currentSnackbar) {\n let currentTimeout = currentSnackbar.durationInSeconds;\n while (\n this.getCurrentSnackbar() === currentSnackbar &&\n currentTimeout > 0\n ) {\n // tslint:disable-next-line:no-shadowed-variable\n await new Promise((resolve) =>\n setTimeout(resolve, loopFrequencyInSeconds * 1000)\n );\n currentTimeout -= loopFrequencyInSeconds;\n }\n if (\n this.getCurrentSnackbar() === currentSnackbar &&\n currentTimeout <= 0\n ) {\n this.dismissActiveSnackbar();\n }\n }\n }\n this.monitoringSnackbarTime = false;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Snackbar/Entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B","sourcesContent":["export * from \"./SnackbarRepo\";\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Snackbar/Entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B","sourcesContent":["export * from \"./SnackbarRepo\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Snackbar/Factories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC","sourcesContent":["export * from \"./setupSnackbar\";\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Snackbar/Factories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC","sourcesContent":["export * from \"./setupSnackbar\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupSnackbar.js","sourceRoot":"","sources":["../../../../src/Snackbar/Factories/setupSnackbar.ts"],"names":[],"mappings":";;AAUA,sCAQC;AAjBD,0CAA+C;AAC/C,gCAAwC;AAExC;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,UAAyB;IACrD,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE9C,WAAW;IACX,IAAA,2BAAgB,EAAC,EAAE,CAAC,CAAC;IAErB,MAAM;IACN,IAAA,oBAAc,EAAC,EAAE,CAAC,CAAC;AACrB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"setupSnackbar.js","sourceRoot":"","sources":["../../../../src/Snackbar/Factories/setupSnackbar.ts"],"names":[],"mappings":";;AAUA,sCAQC;AAjBD,0CAA+C;AAC/C,gCAAwC;AAExC;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,UAAyB;IACrD,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE9C,WAAW;IACX,IAAA,2BAAgB,EAAC,EAAE,CAAC,CAAC;IAErB,MAAM;IACN,IAAA,oBAAc,EAAC,EAAE,CAAC,CAAC;AACrB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { makeSnackbarRepo } from \"../Entities\";\nimport { makeSnackbarPM } from \"../PMs\";\n\n/**\n * Sets up the Snackbar feature by creating its entity and presentation manager\n * This is the main entry point for initializing the Snackbar system\n *\n * @param appObjects The application object repository\n */\nexport function setupSnackbar(appObjects: AppObjectRepo): void {\n const ao = appObjects.getOrCreate(\"Snackbar\");\n\n // Entities\n makeSnackbarRepo(ao);\n\n // PMs\n makeSnackbarPM(ao);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnackbarPMMock.js","sourceRoot":"","sources":["../../../../src/Snackbar/Mocks/SnackbarPMMock.ts"],"names":[],"mappings":";;;AAaA,gDAEC;AAdD,kDAA+C;AAE/C,MAAa,cAAe,SAAQ,uBAAU;IAK5C,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,uBAAU,CAAC,IAAI,CAAC,CAAC;QALpC,gBAAW,GAAG,GAAG,EAAE;YACjB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IAIF,CAAC;CACF;AARD,wCAQC;AAED,SAAgB,kBAAkB,CAAC,UAAyB;IAC1D,OAAO,IAAI,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACtE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"SnackbarPMMock.js","sourceRoot":"","sources":["../../../../src/Snackbar/Mocks/SnackbarPMMock.ts"],"names":[],"mappings":";;;AAaA,gDAEC;AAdD,kDAA+C;AAE/C,MAAa,cAAe,SAAQ,uBAAU;IAK5C,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,uBAAU,CAAC,IAAI,CAAC,CAAC;QALpC,gBAAW,GAAG,GAAG,EAAE;YACjB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IAIF,CAAC;CACF;AARD,wCAQC;AAED,SAAgB,kBAAkB,CAAC,UAAyB;IAC1D,OAAO,IAAI,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACtE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { SnackbarPM } from \"../PMs/SnackbarPM\";\n\nexport class SnackbarPMMock extends SnackbarPM {\n vmsAreEqual = () => {\n return true;\n };\n\n constructor(appObject: AppObject) {\n super(appObject, SnackbarPM.type);\n }\n}\n\nexport function makeSnackbarPMMock(appObjects: AppObjectRepo) {\n return new SnackbarPMMock(appObjects.getOrCreate(\"SnackbarPMMock\"));\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Snackbar/Mocks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC","sourcesContent":["export * from \"./SnackbarPMMock\";\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Snackbar/Mocks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC","sourcesContent":["export * from \"./SnackbarPMMock\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnackbarPM.js","sourceRoot":"","sources":["../../../../src/Snackbar/PMs/SnackbarPM.ts"],"names":[],"mappings":";;;AA2CA,wCAEC;AA7CD,sCAKqB;AACrB,2DAAwD;AAexD;;;GAGG;AACH,MAAsB,UAAW,SAAQ,kBAAuB;IAG9D;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,IAAA,4BAAqB,EAAa,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;;AAVH,gCAWC;AAVQ,eAAI,GAAG,YAAY,CAAC;AAY7B;;;;GAIG;AACH,SAAgB,cAAc,CAAC,SAAoB;IACjD,OAAO,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,aAAc,SAAQ,UAAU;IACpC;;OAEG;IACH,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,CAAa,EAAE,CAAa;QACtC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,CAAC,CAAC,iBAAiB,KAAK,CAAC,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAC9D,IAAI,CAAC,CAAC,gBAAgB,KAAK,CAAC,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,UAAU;QAChB,IAAI,KAAK,GAAe;YACtB,OAAO,EAAE,SAAS;YAClB,iBAAiB,EAAE,CAAC;YACpB,gBAAgB,EAAE,SAAS;SAC5B,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,kBAAkB,EAAE,CAAC;QAEzD,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,GAAG;gBACN,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;gBAC7C,gBAAgB,EAAE,QAAQ,CAAC,cAAc;oBACvC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB;oBAC1C,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,wBAAwB;QAC3C,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;GAEG;AACU,QAAA,iBAAiB,GAAe;IAC3C,OAAO,EAAE,SAAS;IAClB,iBAAiB,EAAE,CAAC;IACpB,gBAAgB,EAAE,SAAS;CAC5B,CAAC","sourcesContent":["import {\
|
|
1
|
+
{"version":3,"file":"SnackbarPM.js","sourceRoot":"","sources":["../../../../src/Snackbar/PMs/SnackbarPM.ts"],"names":[],"mappings":";;;AA2CA,wCAEC;AA7CD,sCAKqB;AACrB,2DAAwD;AAexD;;;GAGG;AACH,MAAsB,UAAW,SAAQ,kBAAuB;IAG9D;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,IAAA,4BAAqB,EAAa,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;;AAVH,gCAWC;AAVQ,eAAI,GAAG,YAAY,CAAC;AAY7B;;;;GAIG;AACH,SAAgB,cAAc,CAAC,SAAoB;IACjD,OAAO,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,aAAc,SAAQ,UAAU;IACpC;;OAEG;IACH,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,CAAa,EAAE,CAAa;QACtC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,CAAC,CAAC,iBAAiB,KAAK,CAAC,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAC9D,IAAI,CAAC,CAAC,gBAAgB,KAAK,CAAC,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,UAAU;QAChB,IAAI,KAAK,GAAe;YACtB,OAAO,EAAE,SAAS;YAClB,iBAAiB,EAAE,CAAC;YACpB,gBAAgB,EAAE,SAAS;SAC5B,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,kBAAkB,EAAE,CAAC;QAEzD,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,GAAG;gBACN,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;gBAC7C,gBAAgB,EAAE,QAAQ,CAAC,cAAc;oBACvC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB;oBAC1C,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,wBAAwB;QAC3C,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;GAEG;AACU,QAAA,iBAAiB,GAAe;IAC3C,OAAO,EAAE,SAAS;IAClB,iBAAiB,EAAE,CAAC;IACpB,gBAAgB,EAAE,SAAS;CAC5B,CAAC","sourcesContent":["import {\n AppObject,\n AppObjectPM,\n AppObjectRepo,\n getSingletonComponent\n} from \"@vived/core\";\nimport { SnackbarRepo } from \"../Entities/SnackbarRepo\";\n\n/**\n * View model for snackbar UI components\n * Contains only the properties needed for display\n */\nexport interface SnackbarVM {\n /** Message to display in the snackbar (undefined when no active snackbar) */\n message: string | undefined;\n /** Duration in seconds before the snackbar auto-dismisses */\n durationInSeconds: number;\n /** Text for the action button (undefined when no action) */\n actionButtonText: string | undefined;\n}\n\n/**\n * Presentation Manager for snackbar notifications\n * Transforms data from SnackbarRepo into view models for UI components\n */\nexport abstract class SnackbarPM extends AppObjectPM<SnackbarVM> {\n static type = \"SnackbarPM\";\n\n /**\n * Gets the singleton instance of SnackbarPM\n * @param appObjects The application object repository\n * @returns The SnackbarPM instance or undefined if not found\n */\n static get(appObjects: AppObjectRepo) {\n return getSingletonComponent<SnackbarPM>(SnackbarPM.type, appObjects);\n }\n}\n\n/**\n * Creates a new SnackbarPM instance\n * @param appObject The application object\n * @returns A new SnackbarPM instance\n */\nexport function makeSnackbarPM(appObject: AppObject): SnackbarPM {\n return new SnackbarPMImp(appObject);\n}\n\n/**\n * Implementation of SnackbarPM\n * Manages the view model transformation and updates\n */\nclass SnackbarPMImp extends SnackbarPM {\n /**\n * Gets the cached singleton instance of SnackbarRepo\n */\n private get snackbarRepo() {\n return this.getCachedSingleton<SnackbarRepo>(SnackbarRepo.type);\n }\n\n /**\n * Compares two view models for equality\n * @param a First view model\n * @param b Second view model\n * @returns True if the view models are equal, false otherwise\n */\n vmsAreEqual(a: SnackbarVM, b: SnackbarVM): boolean {\n if (a.message !== b.message) return false;\n if (a.durationInSeconds !== b.durationInSeconds) return false;\n if (a.actionButtonText !== b.actionButtonText) return false;\n return true;\n }\n\n /**\n * Updates the view model based on the current snackbar state\n * Called whenever the snackbar repository changes\n */\n private updateView(): void {\n let model: SnackbarVM = {\n message: undefined,\n durationInSeconds: 0,\n actionButtonText: undefined\n };\n\n const snackbar = this.snackbarRepo?.getCurrentSnackbar();\n\n if (snackbar) {\n model = {\n message: snackbar.message,\n durationInSeconds: snackbar.durationInSeconds,\n actionButtonText: snackbar.snackbarAction\n ? snackbar.snackbarAction.actionButtonText\n : undefined\n };\n }\n\n this.doUpdateView(model);\n }\n\n /**\n * Creates a new SnackbarPMImp instance\n * @param appObject The application object\n */\n constructor(appObject: AppObject) {\n super(appObject, SnackbarPM.type);\n\n this.updateView(); // Initialize the lastVM\n this.snackbarRepo?.addChangeObserver(this.updateView.bind(this));\n this.appObjects.registerSingleton(this);\n }\n}\n\n/**\n * Default empty view model used when no snackbar is active\n */\nexport const defaultSnackbarVM: SnackbarVM = {\n message: undefined,\n durationInSeconds: 0,\n actionButtonText: undefined\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Snackbar/PMs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B","sourcesContent":["export * from \"./SnackbarPM\";\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Snackbar/PMs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B","sourcesContent":["export * from \"./SnackbarPM\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Snackbar/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,gDAA8B;AAC9B,6CAA2B;AAC3B,8CAA4B;AAC5B,0CAAwB;AACxB,wCAAsB","sourcesContent":["export * from \"./Adapters\";\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Snackbar/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,gDAA8B;AAC9B,6CAA2B;AAC3B,8CAA4B;AAC5B,0CAAwB;AACxB,wCAAsB","sourcesContent":["export * from \"./Adapters\";\nexport * from \"./Controllers\";\nexport * from \"./Entities\";\nexport * from \"./Factories\";\nexport * from \"./Mocks\";\nexport * from \"./PMs\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editingStateAdapter.js","sourceRoot":"","sources":["../../../../src/StateMachine/Adapters/editingStateAdapter.ts"],"names":[],"mappings":";;;AACA,0DAI+B;AAElB,QAAA,mBAAmB,GAAuC;IACrE,SAAS,EAAE,wCAAuB;IAClC,SAAS,EAAE,CACT,UAAyB,EACzB,KAAmC,EACnC,EAAE;QACF,MAAM,EAAE,GAAG,+BAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,qBAAqB,EACrB,+BAA+B,CAChC,CAAC;YACF,OAAO;QACT,CAAC;QACD,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,WAAW,EAAE,CACX,UAAyB,EACzB,KAAmC,EACnC,EAAE;QACF,MAAM,EAAE,GAAG,+BAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,qBAAqB,EACrB,+BAA+B,CAChC,CAAC;YACF,OAAO;QACT,CAAC;QACD,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CACF,CAAC","sourcesContent":["import { AppObjectRepo, SingletonPmAdapter } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"editingStateAdapter.js","sourceRoot":"","sources":["../../../../src/StateMachine/Adapters/editingStateAdapter.ts"],"names":[],"mappings":";;;AACA,0DAI+B;AAElB,QAAA,mBAAmB,GAAuC;IACrE,SAAS,EAAE,wCAAuB;IAClC,SAAS,EAAE,CACT,UAAyB,EACzB,KAAmC,EACnC,EAAE;QACF,MAAM,EAAE,GAAG,+BAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,qBAAqB,EACrB,+BAA+B,CAChC,CAAC;YACF,OAAO;QACT,CAAC;QACD,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,WAAW,EAAE,CACX,UAAyB,EACzB,KAAmC,EACnC,EAAE;QACF,MAAM,EAAE,GAAG,+BAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,qBAAqB,EACrB,+BAA+B,CAChC,CAAC;YACF,OAAO;QACT,CAAC;QACD,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CACF,CAAC","sourcesContent":["import { AppObjectRepo, SingletonPmAdapter } from \"@vived/core\";\nimport {\n EditingStatePM,\n EditingStateVM,\n defaultIsEditingStateVM\n} from \"../PMs/EditingStatePM\";\n\nexport const editingStateAdapter: SingletonPmAdapter<EditingStateVM> = {\n defaultVM: defaultIsEditingStateVM,\n subscribe: (\n appObjects: AppObjectRepo,\n setVM: (vm: EditingStateVM) => void\n ) => {\n const pm = EditingStatePM.get(appObjects);\n if (!pm) {\n appObjects.submitError(\n \"editingStateAdapter\",\n \"Unable to find EditingStatePM\"\n );\n return;\n }\n pm.addView(setVM);\n },\n unsubscribe: (\n appObjects: AppObjectRepo,\n setVM: (vm: EditingStateVM) => void\n ) => {\n const pm = EditingStatePM.get(appObjects);\n if (!pm) {\n appObjects.submitError(\n \"editingStateAdapter\",\n \"Unable to find EditingStatePM\"\n );\n return;\n }\n pm.removeView(setVM);\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostStateAdapter.js","sourceRoot":"","sources":["../../../../src/StateMachine/Adapters/hostStateAdapter.ts"],"names":[],"mappings":";;;AACA,oDAA8D;AAEjD,QAAA,gBAAgB,GAA2B;IACtD,SAAS,EAAE,yBAAW,CAAC,SAAS;IAChC,SAAS,EAAE,CACT,EAAU,EACV,UAAyB,EACzB,KAAgC,EAChC,EAAE;QACF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,yBAAW,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,kBAAkB,EAClB,sCAAsC,EAAE,EAAE,CAC3C,CAAC;YACF,OAAO;QACT,CAAC;QAED,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,WAAW,EAAE,CACX,EAAU,EACV,UAAyB,EACzB,KAAgC,EAChC,EAAE;QACF,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,yBAAW,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;CACF,CAAC","sourcesContent":["import { AppObjectRepo, PmAdapter } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"hostStateAdapter.js","sourceRoot":"","sources":["../../../../src/StateMachine/Adapters/hostStateAdapter.ts"],"names":[],"mappings":";;;AACA,oDAA8D;AAEjD,QAAA,gBAAgB,GAA2B;IACtD,SAAS,EAAE,yBAAW,CAAC,SAAS;IAChC,SAAS,EAAE,CACT,EAAU,EACV,UAAyB,EACzB,KAAgC,EAChC,EAAE;QACF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,yBAAW,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,kBAAkB,EAClB,sCAAsC,EAAE,EAAE,CAC3C,CAAC;YACF,OAAO;QACT,CAAC;QAED,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,WAAW,EAAE,CACX,EAAU,EACV,UAAyB,EACzB,KAAgC,EAChC,EAAE;QACF,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,yBAAW,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;CACF,CAAC","sourcesContent":["import { AppObjectRepo, PmAdapter } from \"@vived/core\";\nimport { HostStatePM, HostStateVM } from \"../PMs/HostStatePM\";\n\nexport const hostStateAdapter: PmAdapter<HostStateVM> = {\n defaultVM: HostStatePM.defaultVM,\n subscribe: (\n id: string,\n appObjects: AppObjectRepo,\n setVM: (vm: HostStateVM) => void\n ) => {\n if (!id) {\n return;\n }\n\n const pm = HostStatePM.getById(id, appObjects);\n if (!pm) {\n appObjects.submitError(\n \"hostStateAdapter\",\n `Unable to find HostStatePM for ID: ${id}`\n );\n return;\n }\n\n pm.addView(setVM);\n },\n unsubscribe: (\n id: string,\n appObjects: AppObjectRepo,\n setVM: (vm: HostStateVM) => void\n ) => {\n if (!id) return;\n\n HostStatePM.getById(id, appObjects)?.removeView(setVM);\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostStateMachinePMAdapter.js","sourceRoot":"","sources":["../../../../src/StateMachine/Adapters/hostStateMachinePMAdapter.ts"],"names":[],"mappings":";;;AACA,gCAIgB;AAEH,QAAA,yBAAyB,GACpC;IACE,SAAS,EAAE,+BAAyB;IACpC,SAAS,EAAE,CACT,UAAyB,EACzB,KAAuC,EACvC,EAAE;QACF,MAAM,EAAE,GAAG,wBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,2BAA2B,EAC3B,mCAAmC,CACpC,CAAC;YACF,OAAO;QACT,CAAC;QACD,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,WAAW,EAAE,CACX,UAAyB,EACzB,KAAuC,EACvC,EAAE;QACF,MAAM,EAAE,GAAG,wBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,2BAA2B,EAC3B,mCAAmC,CACpC,CAAC;YACF,OAAO;QACT,CAAC;QACD,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CACF,CAAC","sourcesContent":["import { AppObjectRepo, SingletonPmAdapter } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"hostStateMachinePMAdapter.js","sourceRoot":"","sources":["../../../../src/StateMachine/Adapters/hostStateMachinePMAdapter.ts"],"names":[],"mappings":";;;AACA,gCAIgB;AAEH,QAAA,yBAAyB,GACpC;IACE,SAAS,EAAE,+BAAyB;IACpC,SAAS,EAAE,CACT,UAAyB,EACzB,KAAuC,EACvC,EAAE;QACF,MAAM,EAAE,GAAG,wBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,2BAA2B,EAC3B,mCAAmC,CACpC,CAAC;YACF,OAAO;QACT,CAAC;QACD,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,WAAW,EAAE,CACX,UAAyB,EACzB,KAAuC,EACvC,EAAE;QACF,MAAM,EAAE,GAAG,wBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,2BAA2B,EAC3B,mCAAmC,CACpC,CAAC;YACF,OAAO;QACT,CAAC;QACD,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CACF,CAAC","sourcesContent":["import { AppObjectRepo, SingletonPmAdapter } from \"@vived/core\";\nimport {\n HostStateMachineVM,\n defaultHostStateMachineVM,\n HostStateMachinePM\n} from \"../PMs\";\n\nexport const hostStateMachinePMAdapter: SingletonPmAdapter<HostStateMachineVM> =\n {\n defaultVM: defaultHostStateMachineVM,\n subscribe: (\n appObjects: AppObjectRepo,\n setVM: (vm: HostStateMachineVM) => void\n ) => {\n const pm = HostStateMachinePM.get(appObjects);\n if (!pm) {\n appObjects.submitError(\n \"hostStateMachinePMAdapter\",\n \"Unable to find HostStateMachinePM\"\n );\n return;\n }\n pm.addView(setVM);\n },\n unsubscribe: (\n appObjects: AppObjectRepo,\n setVM: (vm: HostStateMachineVM) => void\n ) => {\n const pm = HostStateMachinePM.get(appObjects);\n if (!pm) {\n appObjects.submitError(\n \"hostStateMachinePMAdapter\",\n \"Unable to find HostStateMachinePM\"\n );\n return;\n }\n pm.removeView(setVM);\n }\n };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/StateMachine/Adapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,8DAA4C;AAC5C,qDAAmC","sourcesContent":["export * from \"./editingStateAdapter\";\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/StateMachine/Adapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,8DAA4C;AAC5C,qDAAmC","sourcesContent":["export * from \"./editingStateAdapter\";\nexport * from \"./hostStateMachinePMAdapter\";\nexport * from \"./hostStateAdapter\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancelEditing.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/cancelEditing.ts"],"names":[],"mappings":";;AAGA,sCASC;AAXD,0EAAuE;AAEvE,SAAgB,aAAa,CAAC,UAAyB;IACrD,MAAM,EAAE,GAAG,iCAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE3C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,EAAE,CAAC,MAAM,EAAE,CAAC;AACd,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"cancelEditing.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/cancelEditing.ts"],"names":[],"mappings":";;AAGA,sCASC;AAXD,0EAAuE;AAEvE,SAAgB,aAAa,CAAC,UAAyB;IACrD,MAAM,EAAE,GAAG,iCAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE3C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,EAAE,CAAC,MAAM,EAAE,CAAC;AACd,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { CancelEditingUC } from \"../UCs/CancelEditing/CancelEditingUC\";\n\nexport function cancelEditing(appObjects: AppObjectRepo) {\n const uc = CancelEditingUC.get(appObjects);\n\n if (!uc) {\n appObjects.submitWarning(\"cancelEditing\", \"Unable to find CancelEditingUC\");\n return;\n }\n\n uc.cancel();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumeState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/consumeState.ts"],"names":[],"mappings":";;AAGA,oCASC;AAXD,uEAAoE;AAEpE,SAAgB,YAAY,CAAC,EAAU,EAAE,UAAyB;IAChE,MAAM,EAAE,GAAG,+BAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE1C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,+BAA+B,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"consumeState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/consumeState.ts"],"names":[],"mappings":";;AAGA,oCASC;AAXD,uEAAoE;AAEpE,SAAgB,YAAY,CAAC,EAAU,EAAE,UAAyB;IAChE,MAAM,EAAE,GAAG,+BAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE1C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,+BAA+B,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { ConsumeStateUC } from \"../UCs/ConsumeState/ConsumeStateUC\";\n\nexport function consumeState(id: string, appObjects: AppObjectRepo) {\n const uc = ConsumeStateUC.get(appObjects);\n\n if (!uc) {\n appObjects.submitWarning(\"consumeState\", \"Unable to find ConsumeStateUC\");\n return;\n }\n\n uc.consume(id);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/deleteState.ts"],"names":[],"mappings":";;AAGA,kCAQC;AAVD,gCAAuC;AAEvC,SAAgB,WAAW,CAAC,EAAU,EAAE,UAAyB;IAC/D,MAAM,EAAE,GAAG,mBAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,gBAAgB,EAAE,8BAA8B,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACrB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"deleteState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/deleteState.ts"],"names":[],"mappings":";;AAGA,kCAQC;AAVD,gCAAuC;AAEvC,SAAgB,WAAW,CAAC,EAAU,EAAE,UAAyB;IAC/D,MAAM,EAAE,GAAG,mBAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,gBAAgB,EAAE,8BAA8B,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACrB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { DeleteStateUC } from \"../UCs\";\n\nexport function deleteState(id: string, appObjects: AppObjectRepo) {\n const uc = DeleteStateUC.get(appObjects);\n if (!uc) {\n appObjects.submitWarning(\"duplicateState\", \"Unable to find DeleteStateUC\");\n return;\n }\n\n uc.deleteState(id);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicateState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/duplicateState.ts"],"names":[],"mappings":";;AAGA,wCAWC;AAbD,8DAA2D;AAE3D,SAAgB,cAAc,CAAC,EAAU,EAAE,UAAyB;IAClE,MAAM,EAAE,GAAG,mCAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,gBAAgB,EAChB,iCAAiC,CAClC,CAAC;QACF,OAAO;IACT,CAAC;IAED,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"duplicateState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/duplicateState.ts"],"names":[],"mappings":";;AAGA,wCAWC;AAbD,8DAA2D;AAE3D,SAAgB,cAAc,CAAC,EAAU,EAAE,UAAyB;IAClE,MAAM,EAAE,GAAG,mCAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,gBAAgB,EAChB,iCAAiC,CAClC,CAAC;QACF,OAAO;IACT,CAAC;IAED,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { DuplicateStateUC } from \"../UCs/DuplicateStateUC\";\n\nexport function duplicateState(id: string, appObjects: AppObjectRepo) {\n const uc = DuplicateStateUC.get(appObjects);\n if (!uc) {\n appObjects.submitWarning(\n \"duplicateState\",\n \"Unable to find DuplicateStateUC\"\n );\n return;\n }\n\n uc.duplicateState(id);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editActiveState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/editActiveState.ts"],"names":[],"mappings":";;AAGA,0CAYC;AAdD,gFAA6E;AAE7E,SAAgB,eAAe,CAAC,UAAyB;IACvD,MAAM,EAAE,GAAG,qCAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,4BAA4B,EAC5B,kCAAkC,CACnC,CAAC;QACF,OAAO;IACT,CAAC;IAED,EAAE,CAAC,eAAe,EAAE,CAAC;AACvB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"editActiveState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/editActiveState.ts"],"names":[],"mappings":";;AAGA,0CAYC;AAdD,gFAA6E;AAE7E,SAAgB,eAAe,CAAC,UAAyB;IACvD,MAAM,EAAE,GAAG,qCAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,4BAA4B,EAC5B,kCAAkC,CACnC,CAAC;QACF,OAAO;IACT,CAAC;IAED,EAAE,CAAC,eAAe,EAAE,CAAC;AACvB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { EditActiveStateUC } from \"../UCs/EditActiveState/EditActiveStateUC\";\n\nexport function editActiveState(appObjects: AppObjectRepo) {\n const uc = EditActiveStateUC.get(appObjects);\n\n if (!uc) {\n appObjects.submitWarning(\n \"editActiveState Controller\",\n \"Unable to find EditActiveStateUC\"\n );\n return;\n }\n\n uc.editActiveState();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/editState.ts"],"names":[],"mappings":";;AAGA,8BASC;AAXD,8DAA2D;AAE3D,SAAgB,SAAS,CAAC,EAAU,EAAE,UAAyB;IAC7D,MAAM,EAAE,GAAG,yBAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEvC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"editState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/editState.ts"],"names":[],"mappings":";;AAGA,8BASC;AAXD,8DAA2D;AAE3D,SAAgB,SAAS,CAAC,EAAU,EAAE,UAAyB;IAC7D,MAAM,EAAE,GAAG,yBAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEvC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { EditStateUC } from \"../UCs/EditState/EditStateUC\";\n\nexport function editState(id: string, appObjects: AppObjectRepo) {\n const uc = EditStateUC.get(appObjects);\n\n if (!uc) {\n appObjects.submitWarning(\"editState\", \"Unable to find EditStateUC\");\n return;\n }\n\n uc.edit(id);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editStateName.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/editStateName.ts"],"names":[],"mappings":";;AAGA,sCAYC;AAdD,4DAAyD;AAEzD,SAAgB,aAAa,CAC3B,IAAY,EACZ,EAAU,EACV,UAAyB;IAEzB,MAAM,EAAE,GAAG,iCAAe,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"editStateName.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/editStateName.ts"],"names":[],"mappings":";;AAGA,sCAYC;AAdD,4DAAyD;AAEzD,SAAgB,aAAa,CAC3B,IAAY,EACZ,EAAU,EACV,UAAyB;IAEzB,MAAM,EAAE,GAAG,iCAAe,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { EditStateNameUC } from \"../UCs/EditStateNameUC\";\n\nexport function editStateName(\n name: string,\n id: string,\n appObjects: AppObjectRepo\n) {\n const uc = EditStateNameUC.getById(id, appObjects);\n if (!uc) {\n appObjects.submitWarning(\"editStateName\", \"Unable to find EditStateNameUC\");\n return;\n }\n\n uc.editStateName(name);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endActivity.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/endActivity.ts"],"names":[],"mappings":";;AAGA,kCAYC;AAdD,oEAAiE;AAEjE,SAAgB,WAAW,CAAC,UAAyB;IACnD,MAAM,EAAE,GAAG,6BAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEzC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,wBAAwB,EACxB,8BAA8B,CAC/B,CAAC;QACF,OAAO;IACT,CAAC;IAED,EAAE,CAAC,GAAG,EAAE,CAAC;AACX,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"endActivity.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/endActivity.ts"],"names":[],"mappings":";;AAGA,kCAYC;AAdD,oEAAiE;AAEjE,SAAgB,WAAW,CAAC,UAAyB;IACnD,MAAM,EAAE,GAAG,6BAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEzC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,wBAAwB,EACxB,8BAA8B,CAC/B,CAAC;QACF,OAAO;IACT,CAAC;IAED,EAAE,CAAC,GAAG,EAAE,CAAC;AACX,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { EndActivityUC } from \"../UCs/EndActivity/EndActivityUC\";\n\nexport function endActivity(appObjects: AppObjectRepo) {\n const uc = EndActivityUC.get(appObjects);\n\n if (!uc) {\n appObjects.submitWarning(\n \"endActivity Controller\",\n \"Unable to find EndActivityUC\"\n );\n return;\n }\n\n uc.end();\n}\n"]}
|
|
@@ -24,6 +24,7 @@ __exportStar(require("./editStateName"), exports);
|
|
|
24
24
|
__exportStar(require("./endActivity"), exports);
|
|
25
25
|
__exportStar(require("./newState"), exports);
|
|
26
26
|
__exportStar(require("./saveAuthoring"), exports);
|
|
27
|
+
__exportStar(require("./setTransitionDuration"), exports);
|
|
27
28
|
__exportStar(require("./transitionToState"), exports);
|
|
28
29
|
__exportStar(require("./savePersistentStates"), exports);
|
|
29
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B;AAC/B,gDAA8B;AAC9B,mDAAiC;AACjC,oDAAkC;AAClC,8CAA4B;AAC5B,kDAAgC;AAChC,gDAA8B;AAC9B,6CAA2B;AAC3B,kDAAgC;AAChC,sDAAoC;AACpC,yDAAuC","sourcesContent":["export * from \"./cancelEditing\";\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B;AAC/B,gDAA8B;AAC9B,mDAAiC;AACjC,oDAAkC;AAClC,8CAA4B;AAC5B,kDAAgC;AAChC,gDAA8B;AAC9B,6CAA2B;AAC3B,kDAAgC;AAChC,0DAAwC;AACxC,sDAAoC;AACpC,yDAAuC","sourcesContent":["export * from \"./cancelEditing\";\nexport * from \"./consumeState\";\nexport * from \"./deleteState\";\nexport * from \"./duplicateState\";\nexport * from \"./editActiveState\";\nexport * from \"./editState\";\nexport * from \"./editStateName\";\nexport * from \"./endActivity\";\nexport * from \"./newState\";\nexport * from \"./saveAuthoring\";\nexport * from \"./setTransitionDuration\";\nexport * from \"./transitionToState\";\nexport * from \"./savePersistentStates\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"newState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/newState.ts"],"names":[],"mappings":";;AAGA,4BASC;AAXD,2DAAwD;AAExD,SAAgB,QAAQ,CAAC,UAAyB;IAChD,MAAM,EAAE,GAAG,uBAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEtC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,EAAE,CAAC,WAAW,EAAE,CAAC;AACnB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"newState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/newState.ts"],"names":[],"mappings":";;AAGA,4BASC;AAXD,2DAAwD;AAExD,SAAgB,QAAQ,CAAC,UAAyB;IAChD,MAAM,EAAE,GAAG,uBAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEtC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,EAAE,CAAC,WAAW,EAAE,CAAC;AACnB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { NewStateUC } from \"../UCs/NewState/NewStateUC\";\n\nexport function newState(appObjects: AppObjectRepo) {\n const uc = NewStateUC.get(appObjects);\n\n if (!uc) {\n appObjects.submitWarning(\"newState\", \"Unable to find NewStateUC\");\n return;\n }\n\n uc.createState();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saveAuthoring.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/saveAuthoring.ts"],"names":[],"mappings":";;AAGA,sCAYC;AAdD,0EAAuE;AAEvE,SAAgB,aAAa,CAAC,UAAyB;IACrD,MAAM,EAAE,GAAG,iCAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE3C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,0BAA0B,EAC1B,gCAAgC,CACjC,CAAC;QACF,OAAO;IACT,CAAC;IAED,EAAE,CAAC,aAAa,EAAE,CAAC;AACrB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"saveAuthoring.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/saveAuthoring.ts"],"names":[],"mappings":";;AAGA,sCAYC;AAdD,0EAAuE;AAEvE,SAAgB,aAAa,CAAC,UAAyB;IACrD,MAAM,EAAE,GAAG,iCAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE3C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,0BAA0B,EAC1B,gCAAgC,CACjC,CAAC;QACF,OAAO;IACT,CAAC;IAED,EAAE,CAAC,aAAa,EAAE,CAAC;AACrB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { SaveAuthoringUC } from \"../UCs/SaveAuthoring/SaveAuthoringUC\";\n\nexport function saveAuthoring(appObjects: AppObjectRepo) {\n const uc = SaveAuthoringUC.get(appObjects);\n\n if (!uc) {\n appObjects.submitWarning(\n \"saveAuthoring Controller\",\n \"Unable to find SaveAuthoringUC\"\n );\n return;\n }\n\n uc.saveAuthoring();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"savePersistentStates.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/savePersistentStates.ts"],"names":[],"mappings":";;AAGA,oDAWC;AAbD,sEAAqE;AAErE,SAAgB,oBAAoB,CAAC,UAAyB;IAC5D,MAAM,EAAE,GAAG,6CAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,sBAAsB,EACtB,uCAAuC,CACxC,CAAC;QACF,OAAO;IACT,CAAC;IAED,EAAE,CAAC,WAAW,EAAE,CAAC;AACnB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"savePersistentStates.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/savePersistentStates.ts"],"names":[],"mappings":";;AAGA,oDAWC;AAbD,sEAAqE;AAErE,SAAgB,oBAAoB,CAAC,UAAyB;IAC5D,MAAM,EAAE,GAAG,6CAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,sBAAsB,EACtB,uCAAuC,CACxC,CAAC;QACF,OAAO;IACT,CAAC;IAED,EAAE,CAAC,WAAW,EAAE,CAAC;AACnB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { SavePersistentStatesUC } from \"../UCs/SavePersistentStates\";\n\nexport function savePersistentStates(appObjects: AppObjectRepo) {\n const uc = SavePersistentStatesUC.get(appObjects);\n if (!uc) {\n appObjects.submitWarning(\n \"savePersistentStates\",\n \"Unable to find SavePersistentStatesUC\"\n );\n return;\n }\n\n uc.saveLocally();\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setTransitionDuration = setTransitionDuration;
|
|
4
|
+
const Entities_1 = require("../Entities");
|
|
5
|
+
function setTransitionDuration(appObjects, duration) {
|
|
6
|
+
const stateMachine = Entities_1.HostStateMachine.get(appObjects);
|
|
7
|
+
if (!stateMachine) {
|
|
8
|
+
appObjects.submitError("setTransitionDuration", "Unable to find HostStateMachine");
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
stateMachine.transitionDuration = duration;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=setTransitionDuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setTransitionDuration.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/setTransitionDuration.ts"],"names":[],"mappings":";;AAGA,sDAcC;AAhBD,0CAA+C;AAE/C,SAAgB,qBAAqB,CACnC,UAAyB,EACzB,QAAgB;IAEhB,MAAM,YAAY,GAAG,2BAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,UAAU,CAAC,WAAW,CACpB,uBAAuB,EACvB,iCAAiC,CAClC,CAAC;QACF,OAAO;IACT,CAAC;IAED,YAAY,CAAC,kBAAkB,GAAG,QAAQ,CAAC;AAC7C,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport { HostStateMachine } from \"../Entities\";\r\n\r\nexport function setTransitionDuration(\r\n appObjects: AppObjectRepo,\r\n duration: number\r\n) {\r\n const stateMachine = HostStateMachine.get(appObjects);\r\n if (!stateMachine) {\r\n appObjects.submitError(\r\n \"setTransitionDuration\",\r\n \"Unable to find HostStateMachine\"\r\n );\r\n return;\r\n }\r\n\r\n stateMachine.transitionDuration = duration;\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitionToState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/transitionToState.ts"],"names":[],"mappings":";;AAGA,8CAYC;AAdD,sFAAmF;AAEnF,SAAgB,iBAAiB,CAAC,OAAe,EAAE,UAAyB;IAC1E,MAAM,EAAE,GAAG,yCAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE/C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,8BAA8B,EAC9B,oCAAoC,CACrC,CAAC;QACF,OAAO;IACT,CAAC;IAED,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\
|
|
1
|
+
{"version":3,"file":"transitionToState.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/transitionToState.ts"],"names":[],"mappings":";;AAGA,8CAYC;AAdD,sFAAmF;AAEnF,SAAgB,iBAAiB,CAAC,OAAe,EAAE,UAAyB;IAC1E,MAAM,EAAE,GAAG,yCAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE/C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,8BAA8B,EAC9B,oCAAoC,CACrC,CAAC;QACF,OAAO;IACT,CAAC;IAED,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\nimport { TransitionToStateUC } from \"../UCs/TransitionToState/TransitionToStateUC\";\n\nexport function transitionToState(stateID: string, appObjects: AppObjectRepo) {\n const uc = TransitionToStateUC.get(appObjects);\n\n if (!uc) {\n appObjects.submitWarning(\n \"transitionToState Controller\",\n \"Unable to find TransitionToStateUC\"\n );\n return;\n }\n\n uc.transitionToState(stateID);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostEditingStateEntity.js","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/HostEditingStateEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import { MemoizedBoolean } from \"@vived/core\";\r\nimport {\r\n getSingletonComponent,\r\n AppObject,\r\n AppObjectEntity,\r\n AppObjectRepo\r\n} from \"@vived/core\";\r\nimport { HostStateEntity, StateDTO } from \"./HostStateEntity\";\r\nimport { HostStateMachine } from \"./HostStateMachine\";\r\n\r\n/**\r\n * HostEditingStateEntity handles the editing workflow for state entities.\r\n *\r\n * This singleton component manages the process of creating new states or editing\r\n * existing states in the host state machine. It tracks changes made during editing,\r\n * maintains the original state for cancellation/rollback, and provides validation.\r\n *\r\n * The component implements a standard editing pattern:\r\n * 1. Start editing (startEditing) or create new (startNewState)\r\n * 2. Make changes to the editingState directly\r\n * 3. Complete with either finishEditing (commit) or cancelEditState (rollback)\r\n *\r\n * This entity is a critical part of the state authoring workflow and works closely\r\n * with HostStateMachine and HostStateEntity.\r\n */\r\nexport abstract class HostEditingStateEntity extends AppObjectEntity {\r\n static type = \"HostEditingStateEntity\";\r\n\r\n /** Whether currently in edit mode for a state */\r\n abstract get isEditing(): boolean;\r\n\r\n /** Whether editing a newly created state (true) or existing state (false) */\r\n abstract get isNewState(): boolean;\r\n\r\n /** The state entity currently being edited, if any */\r\n abstract get editingState(): HostStateEntity | undefined;\r\n\r\n /** Whether changes have been made since starting edit mode */\r\n abstract get somethingHasChanged(): boolean;\r\n\r\n /** Validation message if the current state is invalid, undefined if valid */\r\n abstract stateValidationMessage?: string;\r\n\r\n /**\r\n * Creates a new state entity and begins editing it\r\n * @returns The newly created state entity that's being edited\r\n */\r\n abstract startNewState(): HostStateEntity | undefined;\r\n\r\n /**\r\n * Begins editing an existing state entity\r\n * @param state The state entity to begin editing\r\n */\r\n abstract startEditing(state: HostStateEntity): void;\r\n\r\n /**\r\n * Cancels the current edit operation and reverts any changes\r\n * For new states, removes them from the state machine\r\n * For existing states, reverts to original values\r\n */\r\n abstract cancelEditState(): void;\r\n\r\n /**\r\n * Completes the current edit operation, keeping all changes\r\n * Performs no validation - validation should happen before calling this\r\n */\r\n abstract finishEditing(): void;\r\n\r\n static get(appObjects: AppObjectRepo) {\r\n return getSingletonComponent<HostEditingStateEntity>(\r\n HostEditingStateEntity.type,\r\n appObjects\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Factory function for creating a HostEditingStateEntity instance\r\n * @param appObject The AppObject to associate with this entity\r\n * @returns A new HostEditingStateEntity instance\r\n */\r\nexport function makeHostEditingStateEntity(\r\n appObject: AppObject\r\n): HostEditingStateEntity {\r\n return new HostEditingStateEntityImp(appObject);\r\n}\r\n\r\n/**\r\n * Implementation of the HostEditingStateEntity abstract class\r\n * Manages the state editing workflow and tracks changes\r\n */\r\nclass HostEditingStateEntityImp extends HostEditingStateEntity {\r\n /** Stores the original state data for reverting changes on cancel */\r\n private originalStateData?: StateDTO;\r\n\r\n private _editingState?: HostStateEntity;\r\n get editingState() {\r\n return this._editingState;\r\n }\r\n\r\n get isEditing(): boolean {\r\n return this._editingState !== undefined;\r\n }\r\n\r\n private _isNewState = false;\r\n get isNewState(): boolean {\r\n return this._isNewState;\r\n }\r\n\r\n private _stateValidationMessage?: string | undefined;\r\n get stateValidationMessage(): string | undefined {\r\n return this._stateValidationMessage;\r\n }\r\n set stateValidationMessage(val: string | undefined) {\r\n if (this._stateValidationMessage === val) return;\r\n\r\n this._stateValidationMessage = val;\r\n this.notifyOnChange();\r\n }\r\n\r\n /**\r\n * Reference to the HostStateMachine singleton\r\n * Used for creating and managing states\r\n */\r\n private get hostStateMachine() {\r\n return this.getCachedSingleton<HostStateMachine>(HostStateMachine.type);\r\n }\r\n\r\n /**\r\n * Tracks whether changes have been made to the state being edited\r\n * Uses a memoized value to efficiently notify observers only when value changes\r\n */\r\n private memoizedSomethingHasChanged = new MemoizedBoolean(\r\n false,\r\n this.notifyOnChange\r\n );\r\n get somethingHasChanged(): boolean {\r\n return this.memoizedSomethingHasChanged.val;\r\n }\r\n\r\n /**\r\n * Compares the current state with the original state to detect changes\r\n * Performs deep comparison of all relevant properties\r\n * @returns true if changes were detected, false otherwise\r\n */\r\n private checkForChange = () => {\r\n if (!this._editingState) return false;\r\n if (!this.originalStateData) return true;\r\n\r\n if (this._editingState.name !== this.originalStateData.name) return true;\r\n\r\n if (this._editingState.expectedResponse !== this.originalStateData.response)\r\n return true;\r\n\r\n if (\r\n this._editingState.assets.length !== this.originalStateData.assets.length\r\n )\r\n return true;\r\n let assetsHaveChanged = false;\r\n this._editingState.assets.forEach((currentAssetID, i) => {\r\n const originalAssetId = this.originalStateData!.assets[i];\r\n if (originalAssetId !== currentAssetID) {\r\n assetsHaveChanged = true;\r\n }\r\n });\r\n\r\n if (assetsHaveChanged) {\r\n return true;\r\n }\r\n\r\n const currentDataString = JSON.stringify(this._editingState.stateData);\r\n const originalData = JSON.stringify(this.originalStateData?.data ?? \"\");\r\n if (currentDataString !== originalData) return true;\r\n\r\n return false;\r\n };\r\n\r\n /**\r\n * Observer callback for state changes\r\n * Updates the somethingHasChanged flag when the state being edited changes\r\n */\r\n private onStateEntityChange = (): void => {\r\n this.memoizedSomethingHasChanged.val = this.checkForChange();\r\n };\r\n\r\n /**\r\n * Creates a new state and begins editing it\r\n * @returns The newly created state entity or undefined if creation failed\r\n */\r\n startNewState = (): HostStateEntity | undefined => {\r\n if (!this.hostStateMachine) return;\r\n\r\n this.originalStateData = undefined;\r\n this._isNewState = true;\r\n this._editingState = this.hostStateMachine.createNewState();\r\n this._editingState.addChangeObserver(this.onStateEntityChange);\r\n this.memoizedSomethingHasChanged.val = true;\r\n\r\n return this._editingState;\r\n };\r\n\r\n /**\r\n * Begins editing an existing state\r\n * @param state The state entity to edit\r\n */\r\n startEditing = (state: HostStateEntity): void => {\r\n this._editingState = state;\r\n\r\n this.originalStateData = state.getDTO();\r\n this._editingState.addChangeObserver(this.onStateEntityChange);\r\n\r\n this.notifyOnChange();\r\n };\r\n\r\n /**\r\n * Cancels editing and reverts changes\r\n * For new states, removes them from the state machine\r\n * For existing states, restores the original values\r\n */\r\n cancelEditState = (): void => {\r\n if (!this._editingState) return;\r\n\r\n if (this.originalStateData) {\r\n this._editingState.setDTO(this.originalStateData);\r\n } else {\r\n this.hostStateMachine?.deleteState(this._editingState.id);\r\n }\r\n\r\n this.resetInternalState();\r\n };\r\n\r\n /**\r\n * Completes editing, keeping all changes\r\n * Simply cleans up the internal state without reverting changes\r\n */\r\n finishEditing = (): void => {\r\n this.resetInternalState();\r\n };\r\n\r\n /**\r\n * Resets the internal state after editing is complete\r\n * Cleans up observers and notifies clients of the change\r\n */\r\n private resetInternalState = () => {\r\n if (!this._editingState) return;\r\n\r\n this._isNewState = false;\r\n this._editingState.removeChangeObserver(this.onStateEntityChange);\r\n this._stateValidationMessage = undefined;\r\n this._editingState = undefined;\r\n this.memoizedSomethingHasChanged.val = false;\r\n this.notifyOnChange();\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, HostEditingStateEntity.type);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"HostEditingStateEntity.js","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/HostEditingStateEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import { MemoizedBoolean } from \"@vived/core\";\nimport {\n getSingletonComponent,\n AppObject,\n AppObjectEntity,\n AppObjectRepo\n} from \"@vived/core\";\nimport { HostStateEntity, StateDTO } from \"./HostStateEntity\";\nimport { HostStateMachine } from \"./HostStateMachine\";\n\n/**\n * HostEditingStateEntity handles the editing workflow for state entities.\n *\n * This singleton component manages the process of creating new states or editing\n * existing states in the host state machine. It tracks changes made during editing,\n * maintains the original state for cancellation/rollback, and provides validation.\n *\n * The component implements a standard editing pattern:\n * 1. Start editing (startEditing) or create new (startNewState)\n * 2. Make changes to the editingState directly\n * 3. Complete with either finishEditing (commit) or cancelEditState (rollback)\n *\n * This entity is a critical part of the state authoring workflow and works closely\n * with HostStateMachine and HostStateEntity.\n */\nexport abstract class HostEditingStateEntity extends AppObjectEntity {\n static type = \"HostEditingStateEntity\";\n\n /** Whether currently in edit mode for a state */\n abstract get isEditing(): boolean;\n\n /** Whether editing a newly created state (true) or existing state (false) */\n abstract get isNewState(): boolean;\n\n /** The state entity currently being edited, if any */\n abstract get editingState(): HostStateEntity | undefined;\n\n /** Whether changes have been made since starting edit mode */\n abstract get somethingHasChanged(): boolean;\n\n /** Validation message if the current state is invalid, undefined if valid */\n abstract stateValidationMessage?: string;\n\n /**\n * Creates a new state entity and begins editing it\n * @returns The newly created state entity that's being edited\n */\n abstract startNewState(): HostStateEntity | undefined;\n\n /**\n * Begins editing an existing state entity\n * @param state The state entity to begin editing\n */\n abstract startEditing(state: HostStateEntity): void;\n\n /**\n * Cancels the current edit operation and reverts any changes\n * For new states, removes them from the state machine\n * For existing states, reverts to original values\n */\n abstract cancelEditState(): void;\n\n /**\n * Completes the current edit operation, keeping all changes\n * Performs no validation - validation should happen before calling this\n */\n abstract finishEditing(): void;\n\n static get(appObjects: AppObjectRepo) {\n return getSingletonComponent<HostEditingStateEntity>(\n HostEditingStateEntity.type,\n appObjects\n );\n }\n}\n\n/**\n * Factory function for creating a HostEditingStateEntity instance\n * @param appObject The AppObject to associate with this entity\n * @returns A new HostEditingStateEntity instance\n */\nexport function makeHostEditingStateEntity(\n appObject: AppObject\n): HostEditingStateEntity {\n return new HostEditingStateEntityImp(appObject);\n}\n\n/**\n * Implementation of the HostEditingStateEntity abstract class\n * Manages the state editing workflow and tracks changes\n */\nclass HostEditingStateEntityImp extends HostEditingStateEntity {\n /** Stores the original state data for reverting changes on cancel */\n private originalStateData?: StateDTO;\n\n private _editingState?: HostStateEntity;\n get editingState() {\n return this._editingState;\n }\n\n get isEditing(): boolean {\n return this._editingState !== undefined;\n }\n\n private _isNewState = false;\n get isNewState(): boolean {\n return this._isNewState;\n }\n\n private _stateValidationMessage?: string | undefined;\n get stateValidationMessage(): string | undefined {\n return this._stateValidationMessage;\n }\n set stateValidationMessage(val: string | undefined) {\n if (this._stateValidationMessage === val) return;\n\n this._stateValidationMessage = val;\n this.notifyOnChange();\n }\n\n /**\n * Reference to the HostStateMachine singleton\n * Used for creating and managing states\n */\n private get hostStateMachine() {\n return this.getCachedSingleton<HostStateMachine>(HostStateMachine.type);\n }\n\n /**\n * Tracks whether changes have been made to the state being edited\n * Uses a memoized value to efficiently notify observers only when value changes\n */\n private memoizedSomethingHasChanged = new MemoizedBoolean(\n false,\n this.notifyOnChange\n );\n get somethingHasChanged(): boolean {\n return this.memoizedSomethingHasChanged.val;\n }\n\n /**\n * Compares the current state with the original state to detect changes\n * Performs deep comparison of all relevant properties\n * @returns true if changes were detected, false otherwise\n */\n private checkForChange = () => {\n if (!this._editingState) return false;\n if (!this.originalStateData) return true;\n\n if (this._editingState.name !== this.originalStateData.name) return true;\n\n if (this._editingState.expectedResponse !== this.originalStateData.response)\n return true;\n\n if (\n this._editingState.assets.length !== this.originalStateData.assets.length\n )\n return true;\n let assetsHaveChanged = false;\n this._editingState.assets.forEach((currentAssetID, i) => {\n const originalAssetId = this.originalStateData!.assets[i];\n if (originalAssetId !== currentAssetID) {\n assetsHaveChanged = true;\n }\n });\n\n if (assetsHaveChanged) {\n return true;\n }\n\n const currentDataString = JSON.stringify(this._editingState.stateData);\n const originalData = JSON.stringify(this.originalStateData?.data ?? \"\");\n if (currentDataString !== originalData) return true;\n\n return false;\n };\n\n /**\n * Observer callback for state changes\n * Updates the somethingHasChanged flag when the state being edited changes\n */\n private onStateEntityChange = (): void => {\n this.memoizedSomethingHasChanged.val = this.checkForChange();\n };\n\n /**\n * Creates a new state and begins editing it\n * @returns The newly created state entity or undefined if creation failed\n */\n startNewState = (): HostStateEntity | undefined => {\n if (!this.hostStateMachine) return;\n\n this.originalStateData = undefined;\n this._isNewState = true;\n this._editingState = this.hostStateMachine.createNewState();\n this._editingState.addChangeObserver(this.onStateEntityChange);\n this.memoizedSomethingHasChanged.val = true;\n\n return this._editingState;\n };\n\n /**\n * Begins editing an existing state\n * @param state The state entity to edit\n */\n startEditing = (state: HostStateEntity): void => {\n this._editingState = state;\n\n this.originalStateData = state.getDTO();\n this._editingState.addChangeObserver(this.onStateEntityChange);\n\n this.notifyOnChange();\n };\n\n /**\n * Cancels editing and reverts changes\n * For new states, removes them from the state machine\n * For existing states, restores the original values\n */\n cancelEditState = (): void => {\n if (!this._editingState) return;\n\n if (this.originalStateData) {\n this._editingState.setDTO(this.originalStateData);\n } else {\n this.hostStateMachine?.deleteState(this._editingState.id);\n }\n\n this.resetInternalState();\n };\n\n /**\n * Completes editing, keeping all changes\n * Simply cleans up the internal state without reverting changes\n */\n finishEditing = (): void => {\n this.resetInternalState();\n };\n\n /**\n * Resets the internal state after editing is complete\n * Cleans up observers and notifies clients of the change\n */\n private resetInternalState = () => {\n if (!this._editingState) return;\n\n this._isNewState = false;\n this._editingState.removeChangeObserver(this.onStateEntityChange);\n this._stateValidationMessage = undefined;\n this._editingState = undefined;\n this.memoizedSomethingHasChanged.val = false;\n this.notifyOnChange();\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HostEditingStateEntity.type);\n this.appObjects.registerSingleton(this);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostStateEntity.js","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/HostStateEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import { MemoizedString } from \"@vived/core\";\r\nimport { AppObject, AppObjectEntity, AppObjectRepo } from \"@vived/core\";\r\n\r\n/**\r\n * Defines the types of challenge responses that can be expected in a state\r\n * These represent different feedback mechanisms available to the user\r\n */\r\nexport enum ChallengeResponse {\r\n NONE = \"NONE\", // No specific response expected\r\n SCORE = \"SCORE\", // Numeric score-based response\r\n HIT = \"HIT\", // Binary hit/miss response\r\n MULTIHIT = \"MULTIHIT\", // Multiple hit targets response\r\n PROGRESS = \"PROGRESS\", // Continuous progress response\r\n QUALITY = \"QUALITY\" // Quality-rated response\r\n}\r\n\r\n/**\r\n * Defines the loading states for streaming assets in a state\r\n */\r\nexport enum StreamState {\r\n INIT = \"INIT\", // Initial state before loading\r\n LOADING = \"LOADING\", // Assets are currently loading\r\n READY = \"READY\", // Assets have loaded successfully\r\n ERROR = \"ERROR\" // Error occurred during loading\r\n}\r\n\r\n/**\r\n * Data Transfer Object for serializing/deserializing state data\r\n * Used for persistence, state management, and undo/redo operations\r\n */\r\nexport interface StateDTO {\r\n id: string; // Unique identifier for the state\r\n name: string; // Display name for the state\r\n data: object; // Custom state data - structure depends on app implementation\r\n assets: string[]; // Array of asset IDs referenced by this state\r\n response: string | undefined; // Expected challenge response type\r\n appID: string; // ID of the app this state belongs to\r\n}\r\n\r\n/**\r\n * HostStateEntity represents a single state within a state machine.\r\n *\r\n * Each state contains:\r\n * - Metadata (name, ID)\r\n * - References to assets needed by the state\r\n * - Custom state data specific to the app implementation\r\n * - Expected response type for challenge/interaction\r\n *\r\n * States are managed by the HostStateMachine and can be persisted/restored\r\n * through the DTO pattern.\r\n *\r\n * This is a core component of the VIVED platform's state-based application model,\r\n * allowing apps to define discrete states with specific content and behaviors.\r\n */\r\nexport abstract class HostStateEntity extends AppObjectEntity {\r\n static type = \"HostStateEntity\";\r\n\r\n /** Unique identifier for this state */\r\n abstract get id(): string;\r\n\r\n /** Human-readable name of the state */\r\n abstract name: string;\r\n\r\n /** List of asset IDs required by this state */\r\n abstract assets: string[];\r\n\r\n /** Type of response expected from user interactions in this state */\r\n abstract expectedResponse: ChallengeResponse | undefined;\r\n\r\n /** ID of the app this state belongs to */\r\n abstract appID: string;\r\n\r\n /** Current loading state for streaming assets */\r\n abstract streamState: StreamState;\r\n\r\n /**\r\n * Serializes the state to a plain object for persistence\r\n * @returns StateDTO containing all state data\r\n */\r\n abstract getDTO(): StateDTO;\r\n\r\n /**\r\n * Deserializes from a DTO and updates this state's properties\r\n * @param dto The state data transfer object to apply\r\n */\r\n abstract setDTO(dto: StateDTO): void;\r\n\r\n /**\r\n * Gets the custom state data object\r\n * Structure is specific to the app implementation\r\n */\r\n abstract get stateData(): object;\r\n\r\n /**\r\n * Updates the custom state data object\r\n * @param val New state data object\r\n * @param checkForChange If true, only notifies observers when actual changes occur\r\n */\r\n abstract setStateData(val: object, checkForChange?: boolean): void;\r\n\r\n /**\r\n * Gets an existing HostStateEntity by ID\r\n * @param id The unique identifier for the state\r\n * @param appObjects The app object repository\r\n * @returns The state entity if found, undefined otherwise\r\n */\r\n static get(id: string, appObjects: AppObjectRepo) {\r\n const ao = appObjects.get(id);\r\n return ao?.getComponent<HostStateEntity>(HostStateEntity.type);\r\n }\r\n}\r\n\r\n/**\r\n * Factory function for creating a HostStateEntity instance\r\n * @param appObject The AppObject to associate with this entity\r\n * @returns A new HostStateEntity instance\r\n */\r\nexport function makeHostStateEntity(appObject: AppObject): HostStateEntity {\r\n return new HostStateEntityImp(appObject);\r\n}\r\n\r\n/**\r\n * Implementation of the HostStateEntity abstract class\r\n * Provides concrete implementation of state properties and methods\r\n */\r\nclass HostStateEntityImp extends HostStateEntity {\r\n /**\r\n * The unique identifier for this state\r\n * Derived from the associated AppObject ID\r\n */\r\n get id(): string {\r\n return this.appObject.id;\r\n }\r\n\r\n /**\r\n * Memoized name property with change notification\r\n * Uses MemoizedString to efficiently track changes\r\n */\r\n private memoizedName = new MemoizedString(\"\", this.notifyOnChange);\r\n get name(): string {\r\n return this.memoizedName.val;\r\n }\r\n set name(val: string) {\r\n this.memoizedName.val = val;\r\n }\r\n\r\n /**\r\n * Custom state data object\r\n * This is app-specific data that defines the state behavior\r\n */\r\n private _data = {};\r\n get stateData(): object {\r\n return this._data;\r\n }\r\n\r\n /**\r\n * Updates the state data, optionally checking if it actually changed\r\n * @param val New state data\r\n * @param checkForChange If true, only notifies on actual changes\r\n */\r\n setStateData(val: object, checkForChange?: boolean): void {\r\n let notify = true;\r\n if (checkForChange) {\r\n const currentData = JSON.stringify(this._data);\r\n const newData = JSON.stringify(val);\r\n\r\n if (currentData === newData) {\r\n notify = false;\r\n }\r\n }\r\n\r\n this._data = val;\r\n if (notify) {\r\n this.notifyOnChange();\r\n }\r\n }\r\n\r\n /**\r\n * Array of asset IDs required by this state\r\n * Assets are loaded before the state becomes active\r\n */\r\n private _assets: string[] = [];\r\n get assets() {\r\n return [...this._assets];\r\n }\r\n set assets(val: string[]) {\r\n if (val.length !== this._assets.length) {\r\n this._assets = val;\r\n this.notifyOnChange();\r\n return;\r\n }\r\n\r\n let somethingHasChanged = false;\r\n val.forEach((newAsset, i) => {\r\n const existingAsset = this._assets[i];\r\n if (existingAsset !== newAsset) {\r\n somethingHasChanged = true;\r\n }\r\n });\r\n\r\n if (!somethingHasChanged) {\r\n return;\r\n }\r\n\r\n this._assets = val;\r\n this.notifyOnChange();\r\n }\r\n\r\n /**\r\n * Type of response expected from user interactions\r\n * Determines how challenge results are processed\r\n */\r\n private _expectedResponse: ChallengeResponse | undefined;\r\n get expectedResponse() {\r\n return this._expectedResponse;\r\n }\r\n set expectedResponse(val: ChallengeResponse | undefined) {\r\n if (val === this._expectedResponse) return;\r\n\r\n this._expectedResponse = val;\r\n this.notifyOnChange();\r\n }\r\n\r\n /**\r\n * Serializes state to a data transfer object\r\n * Used for persistence and state management\r\n */\r\n getDTO(): StateDTO {\r\n return {\r\n id: this.id,\r\n assets: [...this._assets],\r\n data: this._data,\r\n name: this.memoizedName.val,\r\n response: this._expectedResponse,\r\n appID: this.appID\r\n };\r\n }\r\n\r\n /**\r\n * Applies state data from a DTO\r\n * Used when restoring state or rolling back changes\r\n * @param dto The data transfer object to apply\r\n */\r\n setDTO(dto: StateDTO): void {\r\n if (dto.id !== this.id) {\r\n this.warn(\"DTO id does not match my ID. Skipping\");\r\n return;\r\n }\r\n\r\n this.setStateData(dto.data, true);\r\n this.assets = [...dto.assets];\r\n this.memoizedName.val = dto.name;\r\n this.memoisedAppID.val = dto.appID;\r\n\r\n if ((Object as any).values(ChallengeResponse).includes(dto.response)) {\r\n this.expectedResponse = dto.response as ChallengeResponse;\r\n } else {\r\n this.expectedResponse = undefined;\r\n }\r\n }\r\n\r\n /**\r\n * ID of the app this state belongs to\r\n * States can only be used with their associated app\r\n */\r\n private memoisedAppID = new MemoizedString(\"\", this.notifyOnChange);\r\n get appID(): string {\r\n return this.memoisedAppID.val;\r\n }\r\n set appID(val: string) {\r\n this.memoisedAppID.val = val;\r\n }\r\n\r\n /**\r\n * Current loading state for streaming assets\r\n * Used to track progress when loading assets for this state\r\n */\r\n private memoizedStreamState = new MemoizedString(\r\n StreamState.INIT,\r\n this.notifyOnChange\r\n );\r\n get streamState(): StreamState {\r\n return this.memoizedStreamState.val as StreamState;\r\n }\r\n set streamState(val: StreamState) {\r\n this.memoizedStreamState.val = val;\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, HostStateEntity.type);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"HostStateEntity.js","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/HostStateEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import { MemoizedString } from \"@vived/core\";\nimport { AppObject, AppObjectEntity, AppObjectRepo } from \"@vived/core\";\n\n/**\n * Defines the types of challenge responses that can be expected in a state\n * These represent different feedback mechanisms available to the user\n */\nexport enum ChallengeResponse {\n NONE = \"NONE\", // No specific response expected\n SCORE = \"SCORE\", // Numeric score-based response\n HIT = \"HIT\", // Binary hit/miss response\n MULTIHIT = \"MULTIHIT\", // Multiple hit targets response\n PROGRESS = \"PROGRESS\", // Continuous progress response\n QUALITY = \"QUALITY\" // Quality-rated response\n}\n\n/**\n * Defines the loading states for streaming assets in a state\n */\nexport enum StreamState {\n INIT = \"INIT\", // Initial state before loading\n LOADING = \"LOADING\", // Assets are currently loading\n READY = \"READY\", // Assets have loaded successfully\n ERROR = \"ERROR\" // Error occurred during loading\n}\n\n/**\n * Data Transfer Object for serializing/deserializing state data\n * Used for persistence, state management, and undo/redo operations\n */\nexport interface StateDTO {\n id: string; // Unique identifier for the state\n name: string; // Display name for the state\n data: object; // Custom state data - structure depends on app implementation\n assets: string[]; // Array of asset IDs referenced by this state\n response: string | undefined; // Expected challenge response type\n appID: string; // ID of the app this state belongs to\n}\n\n/**\n * HostStateEntity represents a single state within a state machine.\n *\n * Each state contains:\n * - Metadata (name, ID)\n * - References to assets needed by the state\n * - Custom state data specific to the app implementation\n * - Expected response type for challenge/interaction\n *\n * States are managed by the HostStateMachine and can be persisted/restored\n * through the DTO pattern.\n *\n * This is a core component of the VIVED platform's state-based application model,\n * allowing apps to define discrete states with specific content and behaviors.\n */\nexport abstract class HostStateEntity extends AppObjectEntity {\n static type = \"HostStateEntity\";\n\n /** Unique identifier for this state */\n abstract get id(): string;\n\n /** Human-readable name of the state */\n abstract name: string;\n\n /** List of asset IDs required by this state */\n abstract assets: string[];\n\n /** Type of response expected from user interactions in this state */\n abstract expectedResponse: ChallengeResponse | undefined;\n\n /** ID of the app this state belongs to */\n abstract appID: string;\n\n /** Current loading state for streaming assets */\n abstract streamState: StreamState;\n\n /**\n * Serializes the state to a plain object for persistence\n * @returns StateDTO containing all state data\n */\n abstract getDTO(): StateDTO;\n\n /**\n * Deserializes from a DTO and updates this state's properties\n * @param dto The state data transfer object to apply\n */\n abstract setDTO(dto: StateDTO): void;\n\n /**\n * Gets the custom state data object\n * Structure is specific to the app implementation\n */\n abstract get stateData(): object;\n\n /**\n * Updates the custom state data object\n * @param val New state data object\n * @param checkForChange If true, only notifies observers when actual changes occur\n */\n abstract setStateData(val: object, checkForChange?: boolean): void;\n\n /**\n * Gets an existing HostStateEntity by ID\n * @param id The unique identifier for the state\n * @param appObjects The app object repository\n * @returns The state entity if found, undefined otherwise\n */\n static get(id: string, appObjects: AppObjectRepo) {\n const ao = appObjects.get(id);\n return ao?.getComponent<HostStateEntity>(HostStateEntity.type);\n }\n}\n\n/**\n * Factory function for creating a HostStateEntity instance\n * @param appObject The AppObject to associate with this entity\n * @returns A new HostStateEntity instance\n */\nexport function makeHostStateEntity(appObject: AppObject): HostStateEntity {\n return new HostStateEntityImp(appObject);\n}\n\n/**\n * Implementation of the HostStateEntity abstract class\n * Provides concrete implementation of state properties and methods\n */\nclass HostStateEntityImp extends HostStateEntity {\n /**\n * The unique identifier for this state\n * Derived from the associated AppObject ID\n */\n get id(): string {\n return this.appObject.id;\n }\n\n /**\n * Memoized name property with change notification\n * Uses MemoizedString to efficiently track changes\n */\n private memoizedName = new MemoizedString(\"\", this.notifyOnChange);\n get name(): string {\n return this.memoizedName.val;\n }\n set name(val: string) {\n this.memoizedName.val = val;\n }\n\n /**\n * Custom state data object\n * This is app-specific data that defines the state behavior\n */\n private _data = {};\n get stateData(): object {\n return this._data;\n }\n\n /**\n * Updates the state data, optionally checking if it actually changed\n * @param val New state data\n * @param checkForChange If true, only notifies on actual changes\n */\n setStateData(val: object, checkForChange?: boolean): void {\n let notify = true;\n if (checkForChange) {\n const currentData = JSON.stringify(this._data);\n const newData = JSON.stringify(val);\n\n if (currentData === newData) {\n notify = false;\n }\n }\n\n this._data = val;\n if (notify) {\n this.notifyOnChange();\n }\n }\n\n /**\n * Array of asset IDs required by this state\n * Assets are loaded before the state becomes active\n */\n private _assets: string[] = [];\n get assets() {\n return [...this._assets];\n }\n set assets(val: string[]) {\n if (val.length !== this._assets.length) {\n this._assets = val;\n this.notifyOnChange();\n return;\n }\n\n let somethingHasChanged = false;\n val.forEach((newAsset, i) => {\n const existingAsset = this._assets[i];\n if (existingAsset !== newAsset) {\n somethingHasChanged = true;\n }\n });\n\n if (!somethingHasChanged) {\n return;\n }\n\n this._assets = val;\n this.notifyOnChange();\n }\n\n /**\n * Type of response expected from user interactions\n * Determines how challenge results are processed\n */\n private _expectedResponse: ChallengeResponse | undefined;\n get expectedResponse() {\n return this._expectedResponse;\n }\n set expectedResponse(val: ChallengeResponse | undefined) {\n if (val === this._expectedResponse) return;\n\n this._expectedResponse = val;\n this.notifyOnChange();\n }\n\n /**\n * Serializes state to a data transfer object\n * Used for persistence and state management\n */\n getDTO(): StateDTO {\n return {\n id: this.id,\n assets: [...this._assets],\n data: this._data,\n name: this.memoizedName.val,\n response: this._expectedResponse,\n appID: this.appID\n };\n }\n\n /**\n * Applies state data from a DTO\n * Used when restoring state or rolling back changes\n * @param dto The data transfer object to apply\n */\n setDTO(dto: StateDTO): void {\n if (dto.id !== this.id) {\n this.warn(\"DTO id does not match my ID. Skipping\");\n return;\n }\n\n this.setStateData(dto.data, true);\n this.assets = [...dto.assets];\n this.memoizedName.val = dto.name;\n this.memoisedAppID.val = dto.appID;\n\n if ((Object as any).values(ChallengeResponse).includes(dto.response)) {\n this.expectedResponse = dto.response as ChallengeResponse;\n } else {\n this.expectedResponse = undefined;\n }\n }\n\n /**\n * ID of the app this state belongs to\n * States can only be used with their associated app\n */\n private memoisedAppID = new MemoizedString(\"\", this.notifyOnChange);\n get appID(): string {\n return this.memoisedAppID.val;\n }\n set appID(val: string) {\n this.memoisedAppID.val = val;\n }\n\n /**\n * Current loading state for streaming assets\n * Used to track progress when loading assets for this state\n */\n private memoizedStreamState = new MemoizedString(\n StreamState.INIT,\n this.notifyOnChange\n );\n get streamState(): StreamState {\n return this.memoizedStreamState.val as StreamState;\n }\n set streamState(val: StreamState) {\n this.memoizedStreamState.val = val;\n }\n\n constructor(appObject: AppObject) {\n super(appObject, HostStateEntity.type);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostStateMachine.js","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/HostStateMachine.ts"],"names":[],"mappings":"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","sourcesContent":["import { generateUniqueID, MemoizedBoolean } from \"@vived/core\";\r\nimport {\r\n getSingletonComponent,\r\n AppObject,\r\n AppObjectEntity,\r\n AppObjectRepo\r\n} from \"@vived/core\";\r\nimport { HostStateEntity, makeHostStateEntity } from \"./HostStateEntity\";\r\n\r\n/**\r\n * HostStateMachine manages a collection of states and controls state transitions.\r\n *\r\n * This singleton component serves as the central controller for the VIVED platform's\r\n * state-based application model. It maintains an ordered collection of states,\r\n * tracks the currently active state, and provides methods for state transitions,\r\n * creation, deletion, and reordering.\r\n *\r\n * The state machine can be used in both runtime and authoring modes:\r\n * - In runtime: For navigating between predefined states in an application\r\n * - In authoring: For creating and organizing states through a content editor\r\n *\r\n * This entity works closely with HostStateEntity (individual states) and\r\n * HostEditingStateEntity (for state authoring).\r\n */\r\nexport abstract class HostStateMachine extends AppObjectEntity {\r\n static type = \"HostStateMachine\";\r\n\r\n /** Array of all state IDs in order */\r\n abstract states: string[];\r\n\r\n /** Total number of states in the machine */\r\n abstract stateCount: number;\r\n\r\n /** ID of the currently active state, if any */\r\n abstract activeState: string | undefined;\r\n\r\n /** ID of the state preceding the active state, if any */\r\n abstract previousState: string | undefined;\r\n\r\n /** ID of the state following the active state, if any */\r\n abstract nextState: string | undefined;\r\n\r\n /** Duration of transition animations between states (in seconds) */\r\n abstract transitionDuration: number;\r\n\r\n /**\r\n * Sets a state as active by its ID\r\n * @param id ID of the state to activate\r\n */\r\n abstract setActiveStateByID: (id: string) => void;\r\n\r\n /**\r\n * Sets a state as active by its position in the states array\r\n * @param index Zero-based index of the state to activate\r\n */\r\n abstract setActiveStateByIndex: (index: number) => void;\r\n\r\n /** Deactivates the current state (no state will be active) */\r\n abstract clearActiveState: () => void;\r\n\r\n /**\r\n * Replaces all states with a new collection\r\n * @param states Array of state entities to use\r\n */\r\n abstract setStates: (states: HostStateEntity[]) => void;\r\n\r\n /** Creates a new empty state and adds it to the end of the states array */\r\n abstract createNewState: () => HostStateEntity;\r\n\r\n /**\r\n * Retrieves a state entity by its ID\r\n * @param id The ID of the state to retrieve\r\n * @returns The state entity or undefined if not found\r\n */\r\n abstract getStateByID: (id: string) => HostStateEntity | undefined;\r\n\r\n /**\r\n * Removes a state from the machine\r\n * @param id ID of the state to remove\r\n */\r\n abstract deleteState: (id: string) => void;\r\n\r\n /** Removes all states from the machine */\r\n abstract deleteAllStates: () => void;\r\n\r\n /**\r\n * Gets the index of a state in the states array\r\n * @param id ID of the state\r\n * @returns Zero-based index or undefined if not found\r\n */\r\n abstract getStateIndex: (id: string) => number | undefined;\r\n\r\n /**\r\n * Checks if a state with the given ID exists in the machine\r\n * @param id ID to check\r\n * @returns true if the state exists, false otherwise\r\n */\r\n abstract hasState: (id: string) => boolean;\r\n\r\n /**\r\n * Factory function for creating state entities\r\n * @param id ID for the new state\r\n * @returns A new HostStateEntity instance\r\n */\r\n abstract stateFactory: (id: string) => HostStateEntity;\r\n\r\n /** Activates the state before the current active state */\r\n abstract setPreviousStateActive: () => void;\r\n\r\n /** Activates the state after the current active state */\r\n abstract setNextStateActive: () => void;\r\n\r\n /**\r\n * Moves a state to a different position in the states array\r\n * @param stateID ID of the state to move\r\n * @param index Destination index\r\n */\r\n abstract setStateIndex: (stateID: string, index: number) => void;\r\n\r\n /**\r\n * Gets the singleton instance of HostStateMachine\r\n * @param appObjects The app object repository\r\n * @returns The HostStateMachine instance\r\n */\r\n static get(appObjects: AppObjectRepo) {\r\n return getSingletonComponent<HostStateMachine>(\r\n HostStateMachine.type,\r\n appObjects\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Factory function for creating a HostStateMachine instance\r\n * @param appObject The AppObject to associate with this entity\r\n * @returns A new HostStateMachine instance\r\n */\r\nexport function makeHostStateMachine(appObject: AppObject): HostStateMachine {\r\n return new HostStateMachineImp(appObject);\r\n}\r\n\r\n/**\r\n * Implementation of the HostStateMachine abstract class\r\n * Provides concrete implementation of state machine functionality\r\n */\r\nclass HostStateMachineImp extends HostStateMachine {\r\n /** Internal storage for state entities */\r\n private _states: HostStateEntity[] = [];\r\n\r\n /** Duration for transitions between states (in seconds) */\r\n transitionDuration = 1;\r\n\r\n /**\r\n * List of all state IDs in order\r\n * @returns Array of state IDs\r\n */\r\n get states() {\r\n return this._states.map((state) => state.id);\r\n }\r\n\r\n /**\r\n * Total number of states in the machine\r\n * @returns Number of states\r\n */\r\n get stateCount(): number {\r\n return this._states.length;\r\n }\r\n\r\n /** ID of the currently active state */\r\n private _activeState: string | undefined;\r\n get activeState() {\r\n return this._activeState;\r\n }\r\n\r\n /**\r\n * ID of the state preceding the active state\r\n * Returns undefined if:\r\n * - No active state\r\n * - Active state is the first state\r\n */\r\n get previousState(): string | undefined {\r\n if (!this._activeState) return undefined;\r\n\r\n const currentIndex = this.getStateIndex(this._activeState);\r\n if (currentIndex === undefined || currentIndex === 0) return undefined;\r\n\r\n return this._states[currentIndex - 1].id;\r\n }\r\n\r\n /**\r\n * ID of the state following the active state\r\n * Returns undefined if:\r\n * - No active state\r\n * - Active state is the last state\r\n */\r\n get nextState(): string | undefined {\r\n if (!this._activeState) return undefined;\r\n\r\n const currentIndex = this.getStateIndex(this._activeState);\r\n if (currentIndex === undefined || currentIndex >= this._states.length - 1)\r\n return undefined;\r\n\r\n return this._states[currentIndex + 1].id;\r\n }\r\n\r\n /**\r\n * Whether the state machine is in authoring mode\r\n * In authoring mode, additional editing features are enabled\r\n */\r\n private memoizedIsAuthoring = new MemoizedBoolean(false, this.notifyOnChange);\r\n get isAuthoring() {\r\n return this.memoizedIsAuthoring.val;\r\n }\r\n set isAuthoring(val: boolean) {\r\n this.memoizedIsAuthoring.val = val;\r\n }\r\n\r\n /** State to initially show in editing mode */\r\n public initialEditingState?: string;\r\n\r\n /**\r\n * Last state data that was being edited\r\n * Used to restore editing state when returning to editor\r\n */\r\n private _lastEditingState: object | undefined;\r\n get lastEditingState(): object | undefined {\r\n return this._lastEditingState;\r\n }\r\n set lastEditingState(val: object | undefined) {\r\n if (this._lastEditingState === undefined && val === undefined) return;\r\n\r\n const lastStateStr =\r\n this.lastEditingState === undefined\r\n ? \"\"\r\n : JSON.stringify(this.lastEditingState);\r\n const valStateStr = val === undefined ? \"\" : JSON.stringify(val);\r\n\r\n if (lastStateStr === valStateStr) return;\r\n\r\n this._lastEditingState = val;\r\n this.notifyOnChange();\r\n }\r\n\r\n /**\r\n * Tracks assets used in previous state for preloading optimization\r\n * Helps optimize asset loading between state transitions\r\n */\r\n private _lastAssets: string[] = [];\r\n get lastAssets(): string[] {\r\n return this._lastAssets;\r\n }\r\n set lastAssets(lastAssets: string[]) {\r\n this._lastAssets = lastAssets;\r\n }\r\n\r\n /** Error message for state validation failures */\r\n public validationErrorMessage?: string;\r\n\r\n /**\r\n * Checks if a state with the given ID exists\r\n * @param id ID to check\r\n * @returns true if state exists, false otherwise\r\n */\r\n hasState = (id: string): boolean => {\r\n const state = this.findStateByID(id);\r\n if (state) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n /**\r\n * Sets the active state by its ID\r\n * @param id ID of the state to activate\r\n */\r\n setActiveStateByID = (id: string): void => {\r\n const state = this.findStateByID(id);\r\n\r\n if (!state) return;\r\n\r\n if (state.id === this._activeState) return;\r\n this._activeState = state.id;\r\n\r\n this.notifyOnChange();\r\n };\r\n\r\n /**\r\n * Sets the active state by its index in the states array\r\n * @param index Zero-based index of the state to activate\r\n */\r\n setActiveStateByIndex = (index: number): void => {\r\n if (index < 0 || index >= this._states.length) return;\r\n\r\n const state = this._states[index];\r\n this.setActiveStateByID(state.id);\r\n };\r\n\r\n /**\r\n * Clears the active state (no state will be active)\r\n */\r\n clearActiveState = (): void => {\r\n if (!this.activeState) return;\r\n\r\n this._activeState = undefined;\r\n this.notifyOnChange();\r\n };\r\n\r\n /**\r\n * Replaces all states with a new collection\r\n * @param states Array of state entities to use\r\n */\r\n setStates = (states: HostStateEntity[]): void => {\r\n this._states = states;\r\n this.notifyOnChange();\r\n };\r\n\r\n /**\r\n * Factory function for creating state entities\r\n * Creates a new AppObject with the given ID and wraps it in a HostStateEntity\r\n * @param id ID for the new state\r\n * @returns A new HostStateEntity instance\r\n */\r\n stateFactory = (id: string): HostStateEntity => {\r\n const ao = this.appObjects.getOrCreate(id);\r\n return makeHostStateEntity(ao);\r\n };\r\n\r\n /**\r\n * Creates a new empty state and adds it to the end of the states array\r\n * @returns The newly created state entity\r\n */\r\n createNewState = (): HostStateEntity => {\r\n const newState = this.stateFactory(generateUniqueID());\r\n\r\n this._states.push(newState);\r\n this.notifyOnChange();\r\n return newState;\r\n };\r\n\r\n /**\r\n * Gets a state entity by its ID\r\n * @param id ID of the state to retrieve\r\n * @returns The state entity or undefined if not found\r\n */\r\n getStateByID = (id: string): HostStateEntity | undefined => {\r\n return this.findStateByID(id);\r\n };\r\n\r\n /**\r\n * Deletes a state from the machine by its ID\r\n * Also disposes the associated AppObject\r\n * @param id ID of the state to delete\r\n */\r\n deleteState = (id: string): void => {\r\n const index = this.getStateIndex(id);\r\n\r\n if (index === undefined) {\r\n return;\r\n }\r\n\r\n const state = this.getStateByID(id);\r\n state?.appObject.dispose();\r\n\r\n this._states.splice(index, 1);\r\n this.notifyOnChange();\r\n };\r\n\r\n /**\r\n * Deletes all states from the machine\r\n * Also disposes all associated AppObjects\r\n */\r\n deleteAllStates = (): void => {\r\n if (this._states.length === 0) return;\r\n\r\n // Dispose all state app objects\r\n this._states.forEach((state) => {\r\n state.appObject.dispose();\r\n });\r\n\r\n this._states = [];\r\n this.clearActiveState();\r\n this.notifyOnChange();\r\n };\r\n\r\n /**\r\n * Gets the index of a state in the states array\r\n * @param id ID of the state\r\n * @returns Zero-based index or undefined if not found\r\n */\r\n getStateIndex = (id: string): number | undefined => {\r\n let index = -1;\r\n\r\n this._states.forEach((state, i) => {\r\n if (state.id === id) {\r\n index = i;\r\n }\r\n });\r\n\r\n if (index >= 0) {\r\n return index;\r\n } else {\r\n return undefined;\r\n }\r\n };\r\n\r\n /**\r\n * Helper method to find a state by ID\r\n * @param id ID to search for\r\n * @returns The state entity or undefined if not found\r\n */\r\n private findStateByID(id: string): HostStateEntity | undefined {\r\n for (const state of this._states) {\r\n if (state.id === id) {\r\n return state;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Activates the state before the current active state\r\n * Does nothing if there is no previous state\r\n */\r\n setPreviousStateActive = (): void => {\r\n if (!this.previousState) return;\r\n\r\n this.setActiveStateByID(this.previousState);\r\n };\r\n\r\n /**\r\n * Activates the state after the current active state\r\n * Does nothing if there is no next state\r\n */\r\n setNextStateActive = (): void => {\r\n if (!this.nextState) return;\r\n\r\n this.setActiveStateByID(this.nextState);\r\n };\r\n\r\n /**\r\n * Moves a state to a different position in the states array\r\n * Used for reordering states in the state machine\r\n * @param stateID ID of the state to move\r\n * @param index Destination index\r\n */\r\n setStateIndex = (stateID: string, index: number): void => {\r\n // Check if the state exists\r\n const state = this.getStateByID(stateID);\r\n if (!state) return;\r\n\r\n // Check if the index is valid\r\n if (index < 0 || index >= this._states.length) return;\r\n\r\n // Get the current index\r\n const currentIndex = this.getStateIndex(stateID);\r\n if (currentIndex === undefined) return;\r\n\r\n // If the index is the same, do nothing\r\n if (currentIndex === index) return;\r\n\r\n // Remove the state from the current position\r\n const stateToMove = this._states.splice(currentIndex, 1)[0];\r\n\r\n // Insert it at the new position\r\n this._states.splice(index, 0, stateToMove);\r\n\r\n // If the moved state was active, update previous and next states\r\n if (stateID === this._activeState) {\r\n this.setActiveStateByID(stateID);\r\n }\r\n\r\n this.notifyOnChange();\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, HostStateMachine.type);\r\n\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"HostStateMachine.js","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/HostStateMachine.ts"],"names":[],"mappings":"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","sourcesContent":["import { generateUniqueID, MemoizedBoolean } from \"@vived/core\";\nimport {\n getSingletonComponent,\n AppObject,\n AppObjectEntity,\n AppObjectRepo\n} from \"@vived/core\";\nimport { HostStateEntity, makeHostStateEntity } from \"./HostStateEntity\";\n\n/**\n * HostStateMachine manages a collection of states and controls state transitions.\n *\n * This singleton component serves as the central controller for the VIVED platform's\n * state-based application model. It maintains an ordered collection of states,\n * tracks the currently active state, and provides methods for state transitions,\n * creation, deletion, and reordering.\n *\n * The state machine can be used in both runtime and authoring modes:\n * - In runtime: For navigating between predefined states in an application\n * - In authoring: For creating and organizing states through a content editor\n *\n * This entity works closely with HostStateEntity (individual states) and\n * HostEditingStateEntity (for state authoring).\n */\nexport abstract class HostStateMachine extends AppObjectEntity {\n static type = \"HostStateMachine\";\n\n /** Array of all state IDs in order */\n abstract states: string[];\n\n /** Total number of states in the machine */\n abstract stateCount: number;\n\n /** ID of the currently active state, if any */\n abstract activeState: string | undefined;\n\n /** ID of the state preceding the active state, if any */\n abstract previousState: string | undefined;\n\n /** ID of the state following the active state, if any */\n abstract nextState: string | undefined;\n\n /** Duration of transition animations between states (in seconds) */\n abstract transitionDuration: number;\n\n /**\n * Sets a state as active by its ID\n * @param id ID of the state to activate\n */\n abstract setActiveStateByID: (id: string) => void;\n\n /**\n * Sets a state as active by its position in the states array\n * @param index Zero-based index of the state to activate\n */\n abstract setActiveStateByIndex: (index: number) => void;\n\n /** Deactivates the current state (no state will be active) */\n abstract clearActiveState: () => void;\n\n /**\n * Replaces all states with a new collection\n * @param states Array of state entities to use\n */\n abstract setStates: (states: HostStateEntity[]) => void;\n\n /** Creates a new empty state and adds it to the end of the states array */\n abstract createNewState: () => HostStateEntity;\n\n /**\n * Retrieves a state entity by its ID\n * @param id The ID of the state to retrieve\n * @returns The state entity or undefined if not found\n */\n abstract getStateByID: (id: string) => HostStateEntity | undefined;\n\n /**\n * Removes a state from the machine\n * @param id ID of the state to remove\n */\n abstract deleteState: (id: string) => void;\n\n /** Removes all states from the machine */\n abstract deleteAllStates: () => void;\n\n /**\n * Gets the index of a state in the states array\n * @param id ID of the state\n * @returns Zero-based index or undefined if not found\n */\n abstract getStateIndex: (id: string) => number | undefined;\n\n /**\n * Checks if a state with the given ID exists in the machine\n * @param id ID to check\n * @returns true if the state exists, false otherwise\n */\n abstract hasState: (id: string) => boolean;\n\n /**\n * Factory function for creating state entities\n * @param id ID for the new state\n * @returns A new HostStateEntity instance\n */\n abstract stateFactory: (id: string) => HostStateEntity;\n\n /** Activates the state before the current active state */\n abstract setPreviousStateActive: () => void;\n\n /** Activates the state after the current active state */\n abstract setNextStateActive: () => void;\n\n /**\n * Moves a state to a different position in the states array\n * @param stateID ID of the state to move\n * @param index Destination index\n */\n abstract setStateIndex: (stateID: string, index: number) => void;\n\n /**\n * Gets the singleton instance of HostStateMachine\n * @param appObjects The app object repository\n * @returns The HostStateMachine instance\n */\n static get(appObjects: AppObjectRepo) {\n return getSingletonComponent<HostStateMachine>(\n HostStateMachine.type,\n appObjects\n );\n }\n}\n\n/**\n * Factory function for creating a HostStateMachine instance\n * @param appObject The AppObject to associate with this entity\n * @returns A new HostStateMachine instance\n */\nexport function makeHostStateMachine(appObject: AppObject): HostStateMachine {\n return new HostStateMachineImp(appObject);\n}\n\n/**\n * Implementation of the HostStateMachine abstract class\n * Provides concrete implementation of state machine functionality\n */\nclass HostStateMachineImp extends HostStateMachine {\n /** Internal storage for state entities */\n private _states: HostStateEntity[] = [];\n\n /** Duration for transitions between states (in seconds) */\n transitionDuration = 1;\n\n /**\n * List of all state IDs in order\n * @returns Array of state IDs\n */\n get states() {\n return this._states.map((state) => state.id);\n }\n\n /**\n * Total number of states in the machine\n * @returns Number of states\n */\n get stateCount(): number {\n return this._states.length;\n }\n\n /** ID of the currently active state */\n private _activeState: string | undefined;\n get activeState() {\n return this._activeState;\n }\n\n /**\n * ID of the state preceding the active state\n * Returns undefined if:\n * - No active state\n * - Active state is the first state\n */\n get previousState(): string | undefined {\n if (!this._activeState) return undefined;\n\n const currentIndex = this.getStateIndex(this._activeState);\n if (currentIndex === undefined || currentIndex === 0) return undefined;\n\n return this._states[currentIndex - 1].id;\n }\n\n /**\n * ID of the state following the active state\n * Returns undefined if:\n * - No active state\n * - Active state is the last state\n */\n get nextState(): string | undefined {\n if (!this._activeState) return undefined;\n\n const currentIndex = this.getStateIndex(this._activeState);\n if (currentIndex === undefined || currentIndex >= this._states.length - 1)\n return undefined;\n\n return this._states[currentIndex + 1].id;\n }\n\n /**\n * Whether the state machine is in authoring mode\n * In authoring mode, additional editing features are enabled\n */\n private memoizedIsAuthoring = new MemoizedBoolean(false, this.notifyOnChange);\n get isAuthoring() {\n return this.memoizedIsAuthoring.val;\n }\n set isAuthoring(val: boolean) {\n this.memoizedIsAuthoring.val = val;\n }\n\n /** State to initially show in editing mode */\n public initialEditingState?: string;\n\n /**\n * Last state data that was being edited\n * Used to restore editing state when returning to editor\n */\n private _lastEditingState: object | undefined;\n get lastEditingState(): object | undefined {\n return this._lastEditingState;\n }\n set lastEditingState(val: object | undefined) {\n if (this._lastEditingState === undefined && val === undefined) return;\n\n const lastStateStr =\n this.lastEditingState === undefined\n ? \"\"\n : JSON.stringify(this.lastEditingState);\n const valStateStr = val === undefined ? \"\" : JSON.stringify(val);\n\n if (lastStateStr === valStateStr) return;\n\n this._lastEditingState = val;\n this.notifyOnChange();\n }\n\n /**\n * Tracks assets used in previous state for preloading optimization\n * Helps optimize asset loading between state transitions\n */\n private _lastAssets: string[] = [];\n get lastAssets(): string[] {\n return this._lastAssets;\n }\n set lastAssets(lastAssets: string[]) {\n this._lastAssets = lastAssets;\n }\n\n /** Error message for state validation failures */\n public validationErrorMessage?: string;\n\n /**\n * Checks if a state with the given ID exists\n * @param id ID to check\n * @returns true if state exists, false otherwise\n */\n hasState = (id: string): boolean => {\n const state = this.findStateByID(id);\n if (state) {\n return true;\n } else {\n return false;\n }\n };\n\n /**\n * Sets the active state by its ID\n * @param id ID of the state to activate\n */\n setActiveStateByID = (id: string): void => {\n const state = this.findStateByID(id);\n\n if (!state) return;\n\n if (state.id === this._activeState) return;\n this._activeState = state.id;\n\n this.notifyOnChange();\n };\n\n /**\n * Sets the active state by its index in the states array\n * @param index Zero-based index of the state to activate\n */\n setActiveStateByIndex = (index: number): void => {\n if (index < 0 || index >= this._states.length) return;\n\n const state = this._states[index];\n this.setActiveStateByID(state.id);\n };\n\n /**\n * Clears the active state (no state will be active)\n */\n clearActiveState = (): void => {\n if (!this.activeState) return;\n\n this._activeState = undefined;\n this.notifyOnChange();\n };\n\n /**\n * Replaces all states with a new collection\n * @param states Array of state entities to use\n */\n setStates = (states: HostStateEntity[]): void => {\n this._states = states;\n this.notifyOnChange();\n };\n\n /**\n * Factory function for creating state entities\n * Creates a new AppObject with the given ID and wraps it in a HostStateEntity\n * @param id ID for the new state\n * @returns A new HostStateEntity instance\n */\n stateFactory = (id: string): HostStateEntity => {\n const ao = this.appObjects.getOrCreate(id);\n return makeHostStateEntity(ao);\n };\n\n /**\n * Creates a new empty state and adds it to the end of the states array\n * @returns The newly created state entity\n */\n createNewState = (): HostStateEntity => {\n const newState = this.stateFactory(generateUniqueID());\n\n this._states.push(newState);\n this.notifyOnChange();\n return newState;\n };\n\n /**\n * Gets a state entity by its ID\n * @param id ID of the state to retrieve\n * @returns The state entity or undefined if not found\n */\n getStateByID = (id: string): HostStateEntity | undefined => {\n return this.findStateByID(id);\n };\n\n /**\n * Deletes a state from the machine by its ID\n * Also disposes the associated AppObject\n * @param id ID of the state to delete\n */\n deleteState = (id: string): void => {\n const index = this.getStateIndex(id);\n\n if (index === undefined) {\n return;\n }\n\n const state = this.getStateByID(id);\n state?.appObject.dispose();\n\n this._states.splice(index, 1);\n this.notifyOnChange();\n };\n\n /**\n * Deletes all states from the machine\n * Also disposes all associated AppObjects\n */\n deleteAllStates = (): void => {\n if (this._states.length === 0) return;\n\n // Dispose all state app objects\n this._states.forEach((state) => {\n state.appObject.dispose();\n });\n\n this._states = [];\n this.clearActiveState();\n this.notifyOnChange();\n };\n\n /**\n * Gets the index of a state in the states array\n * @param id ID of the state\n * @returns Zero-based index or undefined if not found\n */\n getStateIndex = (id: string): number | undefined => {\n let index = -1;\n\n this._states.forEach((state, i) => {\n if (state.id === id) {\n index = i;\n }\n });\n\n if (index >= 0) {\n return index;\n } else {\n return undefined;\n }\n };\n\n /**\n * Helper method to find a state by ID\n * @param id ID to search for\n * @returns The state entity or undefined if not found\n */\n private findStateByID(id: string): HostStateEntity | undefined {\n for (const state of this._states) {\n if (state.id === id) {\n return state;\n }\n }\n\n return undefined;\n }\n\n /**\n * Activates the state before the current active state\n * Does nothing if there is no previous state\n */\n setPreviousStateActive = (): void => {\n if (!this.previousState) return;\n\n this.setActiveStateByID(this.previousState);\n };\n\n /**\n * Activates the state after the current active state\n * Does nothing if there is no next state\n */\n setNextStateActive = (): void => {\n if (!this.nextState) return;\n\n this.setActiveStateByID(this.nextState);\n };\n\n /**\n * Moves a state to a different position in the states array\n * Used for reordering states in the state machine\n * @param stateID ID of the state to move\n * @param index Destination index\n */\n setStateIndex = (stateID: string, index: number): void => {\n // Check if the state exists\n const state = this.getStateByID(stateID);\n if (!state) return;\n\n // Check if the index is valid\n if (index < 0 || index >= this._states.length) return;\n\n // Get the current index\n const currentIndex = this.getStateIndex(stateID);\n if (currentIndex === undefined) return;\n\n // If the index is the same, do nothing\n if (currentIndex === index) return;\n\n // Remove the state from the current position\n const stateToMove = this._states.splice(currentIndex, 1)[0];\n\n // Insert it at the new position\n this._states.splice(index, 0, stateToMove);\n\n // If the moved state was active, update previous and next states\n if (stateID === this._activeState) {\n this.setActiveStateByID(stateID);\n }\n\n this.notifyOnChange();\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HostStateMachine.type);\n\n this.appObjects.registerSingleton(this);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,oDAAkC;AAClC,qDAAmC","sourcesContent":["export * from \"./HostEditingStateEntity\";\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,oDAAkC;AAClC,qDAAmC","sourcesContent":["export * from \"./HostEditingStateEntity\";\nexport * from \"./HostStateEntity\";\nexport * from \"./HostStateMachine\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/StateMachine/Factories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C","sourcesContent":["export * from \"./setupStateMachineForSandbox\";\
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/StateMachine/Factories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C","sourcesContent":["export * from \"./setupStateMachineForSandbox\";\n"]}
|