testeranto 0.173.0 → 0.189.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/CNAME +1 -0
- package/README.html +302 -0
- package/README.md +24 -4
- package/dist/common/src/App.js +43 -0
- package/dist/common/src/Node.js +4 -8
- package/dist/common/src/PM/PM_WithEslintAndTsc.js +2 -33
- package/dist/common/src/PM/base.js +4 -5
- package/dist/common/src/PM/layers/base/PM_Base.js +1 -0
- package/dist/common/src/PM/layers/base/components/PageOperations.js +1 -0
- package/dist/common/src/PM/layers/base/components/PageOperations.testeranto.js +1 -0
- package/dist/common/src/PM/layers/linting/components/Linter.js +1 -0
- package/dist/common/src/PM/layers/linting/components/TypeChecker.js +1 -0
- package/dist/common/src/PM/layers/main/components/SidecarManager.js +1 -0
- package/dist/common/src/PM/layers/main/components/TestRunner.js +1 -0
- package/dist/common/src/PM/main.js +248 -150
- package/dist/common/src/PM/node.js +4 -1
- package/dist/common/src/PM/nodeSidecar.js +1 -0
- package/dist/common/src/PM/pure.js +15 -7
- package/dist/common/src/PM/pureSidecar.js +1 -1
- package/dist/common/src/PM/types.js +1 -0
- package/dist/common/src/PM/web.js +6 -2
- package/dist/common/src/Pure.js +1 -5
- package/dist/common/src/Pure.test.js +22 -20
- package/dist/common/src/ReportServerLib.js +11 -5
- package/dist/common/src/build.js +30 -39
- package/dist/common/src/components/SunriseAnimation.js +291 -0
- package/dist/common/src/components/SunriseAnimation.test/interface.js +67 -0
- package/dist/common/src/components/SunriseAnimation.test/types.js +2 -0
- package/dist/common/src/components/TestStatusBadge.js +1 -21
- package/dist/common/src/components/pure/AppFrame.js +20 -0
- package/dist/common/src/components/pure/AppFrame.test/implementation.js +63 -0
- package/dist/common/src/components/pure/AppFrame.test/index.js +14 -0
- package/dist/common/src/components/pure/AppFrame.test/specification.js +25 -0
- package/dist/common/src/components/pure/AppFrame.test/types.js +3 -0
- package/dist/common/src/components/pure/FeaturesReporterView.js +23 -0
- package/dist/common/src/components/pure/FeaturesReporterView.test/implementation.js +84 -0
- package/dist/common/src/components/pure/FeaturesReporterView.test/index.js +14 -0
- package/dist/common/src/components/pure/FeaturesReporterView.test/specification.js +27 -0
- package/dist/common/src/components/pure/FeaturesReporterView.test/types.js +2 -0
- package/dist/common/src/components/pure/ModalContent.js +86 -0
- package/dist/common/src/components/pure/ModalContent.test/implementation.js +33 -0
- package/dist/common/src/components/pure/ModalContent.test/index.js +12 -0
- package/dist/common/src/components/pure/ModalContent.test/specification.js +19 -0
- package/dist/common/src/components/pure/ModalContent.test/types.js +4 -0
- package/dist/common/src/components/pure/ProjectPageView.js +53 -76
- package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +118 -33
- package/dist/common/src/components/pure/ProjectPageView.test/index.js +5 -1
- package/dist/common/src/components/pure/ProjectPageView.test/specification.js +15 -2
- package/dist/common/src/components/pure/ProjectPageView.test/types.js +2 -0
- package/dist/common/src/components/pure/ProjectsPageView.js +66 -0
- package/dist/common/src/components/pure/SettingsButton.js +83 -0
- package/dist/common/src/components/pure/TestPageView.js +134 -0
- package/dist/common/src/components/pure/TestPageView.test/implementation.js +202 -0
- package/dist/common/src/components/pure/TestPageView.test/index.js +15 -0
- package/dist/common/src/components/pure/TestPageView.test/specification.js +26 -0
- package/dist/common/src/components/pure/TestPageView.test/types.js +4 -0
- package/dist/common/src/components/pure/ThemeCard.js +15 -0
- package/dist/common/src/components/stateful/FeaturesReporter.js +59 -0
- package/dist/common/src/components/stateful/ProjectPage.js +100 -0
- package/dist/common/src/components/stateful/ProjectsPage.js +92 -0
- package/dist/common/src/components/stateful/TestPage.js +133 -0
- package/dist/common/src/defaultConfig.js +1 -0
- package/dist/common/src/esbuildConfigs/node.js +1 -3
- package/dist/common/src/esbuildConfigs/web.js +1 -1
- package/dist/common/src/lib/BaseSuite.js +14 -11
- package/dist/common/src/lib/BaseSuite.test/mock.js +0 -11
- package/dist/common/src/lib/BaseSuite.test/test.js +11 -22
- package/dist/common/src/lib/Sidecar.js +1 -0
- package/dist/common/src/lib/abstractBase.js +52 -48
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +0 -6
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +3 -1
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +2 -2
- package/dist/common/src/lib/basebuilder.js +32 -25
- package/dist/common/src/lib/classBuilder.js +2 -0
- package/dist/common/src/lib/core.test/MockCore.js +0 -14
- package/dist/common/src/lib/core.test/core.test.adapter.js +2 -9
- package/dist/common/src/lib/core.test/core.test.implementation.js +3 -7
- package/dist/common/src/lib/index.js +2 -0
- package/dist/common/src/lib/pmProxy.js +208 -100
- package/dist/common/src/lib/pmProxy.test/adapter.js +8 -2
- package/dist/common/src/lib/pmProxy.test/implementation.js +34 -5
- package/dist/common/src/lib/pmProxy.test/mockPMBase.js +9 -0
- package/dist/common/src/mothership/index.js +5 -0
- package/dist/common/src/mothership/test.js +44 -25
- package/dist/common/src/types/features.js +34 -0
- package/dist/common/src/utils/api.js +42 -23
- package/dist/common/src/utils/featureUtils.js +29 -0
- package/dist/common/src/utils/logFiles.js +25 -0
- package/dist/common/src/utils/makePrompt.js +115 -0
- package/dist/common/src/web.html.js +2 -6
- package/dist/common/testeranto.config.js +64 -36
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/App.js +9 -17
- package/dist/module/src/Node.js +4 -8
- package/dist/module/src/PM/PM_WithEslintAndTsc.js +3 -34
- package/dist/module/src/PM/base.js +4 -5
- package/dist/module/src/PM/layers/base/PM_Base.js +1 -0
- package/dist/module/src/PM/layers/base/components/PageOperations.js +1 -0
- package/dist/module/src/PM/layers/base/components/PageOperations.testeranto.js +1 -0
- package/dist/module/src/PM/layers/linting/components/Linter.js +1 -0
- package/dist/module/src/PM/layers/linting/components/TypeChecker.js +1 -0
- package/dist/module/src/PM/layers/main/components/SidecarManager.js +1 -0
- package/dist/module/src/PM/layers/main/components/TestRunner.js +1 -0
- package/dist/module/src/PM/main.js +220 -122
- package/dist/module/src/PM/node.js +4 -1
- package/dist/module/src/PM/nodeSidecar.js +1 -0
- package/dist/module/src/PM/pure.js +15 -7
- package/dist/module/src/PM/pureSidecar.js +1 -1
- package/dist/module/src/PM/types.js +1 -0
- package/dist/module/src/PM/web.js +6 -2
- package/dist/module/src/Pure.js +1 -5
- package/dist/module/src/Pure.test.js +22 -20
- package/dist/module/src/ReportServerLib.js +11 -5
- package/dist/module/src/build.js +25 -37
- package/dist/module/src/components/SunriseAnimation.test/interface.js +32 -1
- package/dist/module/src/components/TestStatusBadge.js +1 -21
- package/dist/module/src/components/pure/AppFrame.js +13 -0
- package/dist/module/src/components/pure/AppFrame.test/implementation.js +57 -0
- package/dist/module/src/components/pure/AppFrame.test/index.js +9 -0
- package/dist/module/src/components/pure/AppFrame.test/specification.js +21 -0
- package/dist/module/src/components/pure/AppFrame.test/types.js +2 -0
- package/dist/module/src/components/pure/FeaturesReporterView.js +16 -0
- package/dist/module/src/components/pure/FeaturesReporterView.test/implementation.js +81 -0
- package/dist/module/src/components/pure/FeaturesReporterView.test/index.js +9 -0
- package/dist/module/src/components/pure/FeaturesReporterView.test/specification.js +23 -0
- package/dist/module/src/components/pure/ModalContent.js +79 -0
- package/dist/module/src/components/pure/ModalContent.test/implementation.js +30 -0
- package/dist/module/src/components/pure/ModalContent.test/index.js +7 -0
- package/dist/module/src/components/pure/ModalContent.test/specification.js +15 -0
- package/dist/module/src/components/pure/ModalContent.test/types.js +3 -0
- package/dist/module/src/components/pure/ProjectPageView.js +54 -77
- package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +118 -33
- package/dist/module/src/components/pure/ProjectPageView.test/index.js +5 -1
- package/dist/module/src/components/pure/ProjectPageView.test/specification.js +15 -2
- package/dist/module/src/components/pure/ProjectPageView.test/types.js +2 -0
- package/dist/module/src/components/pure/ProjectsPageView.js +5 -4
- package/dist/module/src/components/pure/SettingsButton.js +43 -0
- package/dist/module/src/components/pure/TestPageView.js +100 -121
- package/dist/module/src/components/pure/TestPageView.test/implementation.js +166 -0
- package/dist/module/src/components/pure/TestPageView.test/index.js +10 -0
- package/dist/module/src/components/pure/TestPageView.test/specification.js +22 -0
- package/dist/module/src/components/pure/TestPageView.test/types.js +3 -0
- package/dist/module/src/components/pure/ThemeCard.js +8 -0
- package/dist/module/src/components/stateful/FeaturesReporter.js +22 -0
- package/dist/module/src/components/stateful/ProjectPage.js +1 -1
- package/dist/module/src/components/stateful/TestPage.js +25 -11
- package/dist/module/src/defaultConfig.js +1 -0
- package/dist/module/src/esbuildConfigs/node.js +1 -3
- package/dist/module/src/esbuildConfigs/web.js +1 -1
- package/dist/module/src/lib/BaseSuite.js +14 -11
- package/dist/module/src/lib/BaseSuite.test/mock.js +0 -11
- package/dist/module/src/lib/BaseSuite.test/test.js +11 -22
- package/dist/module/src/lib/Sidecar.js +1 -0
- package/dist/module/src/lib/abstractBase.js +52 -48
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +0 -6
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +3 -1
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +1 -1
- package/dist/module/src/lib/basebuilder.js +32 -25
- package/dist/module/src/lib/classBuilder.js +2 -0
- package/dist/module/src/lib/core.test/MockCore.js +0 -14
- package/dist/module/src/lib/core.test/core.test.adapter.js +2 -9
- package/dist/module/src/lib/core.test/core.test.implementation.js +3 -7
- package/dist/module/src/lib/index.js +2 -0
- package/dist/module/src/lib/pmProxy.js +208 -100
- package/dist/module/src/lib/pmProxy.test/adapter.js +8 -2
- package/dist/module/src/lib/pmProxy.test/implementation.js +34 -5
- package/dist/module/src/lib/pmProxy.test/mockPMBase.js +9 -0
- package/dist/module/src/mothership/index.js +5 -0
- package/dist/module/src/mothership/test.js +44 -25
- package/dist/module/src/types/features.js +31 -0
- package/dist/module/src/utils/api.js +41 -21
- package/dist/module/src/utils/featureUtils.js +24 -0
- package/dist/module/src/utils/logFiles.js +21 -0
- package/dist/module/src/utils/makePrompt.js +108 -0
- package/dist/module/src/web.html.js +2 -6
- package/dist/module/testeranto.config.js +64 -36
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/App.css +444 -12
- package/dist/prebuild/App.js +1318 -1053
- package/dist/prebuild/ReportServer.mjs +10 -4
- package/dist/prebuild/build.mjs +88 -104
- package/dist/prebuild/mothership/index.mjs +5 -0
- package/dist/prebuild/run.mjs +360 -232
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/App.d.ts +1 -0
- package/dist/types/{src/PM → PM}/base.d.ts +1 -1
- package/dist/types/PM/layers/main/components/SidecarManager.d.ts +0 -0
- package/dist/types/PM/layers/main/components/TestRunner.d.ts +0 -0
- package/dist/types/{src/PM → PM}/main.d.ts +18 -3
- package/dist/types/{src/PM → PM}/node.d.ts +1 -1
- package/dist/types/{src/PM → PM}/pure.d.ts +7 -4
- package/dist/types/PM/types.d.ts +0 -0
- package/dist/types/{src/PM → PM}/web.d.ts +2 -2
- package/dist/types/ReportServerLib.d.ts +1 -0
- package/dist/types/{src/Types.d.ts → Types.d.ts} +1 -0
- package/dist/types/components/SunriseAnimation.d.ts +5 -0
- package/dist/types/components/SunriseAnimation.test/implementation.d.ts +0 -0
- package/dist/types/components/SunriseAnimation.test/index.d.ts +0 -0
- package/dist/types/components/SunriseAnimation.test/interface.d.ts +11 -0
- package/dist/types/components/SunriseAnimation.test/specification.d.ts +0 -0
- package/dist/types/components/SunriseAnimation.test/types.d.ts +39 -0
- package/dist/types/components/pure/AppFrame.d.ts +9 -0
- package/dist/types/components/pure/AppFrame.test/implementation.d.ts +3 -0
- package/dist/types/components/pure/AppFrame.test/index.d.ts +5 -0
- package/dist/types/components/pure/AppFrame.test/types.d.ts +33 -0
- package/dist/types/components/pure/FeaturesReporterView.d.ts +7 -0
- package/dist/types/{src/components/pure/ProjectPageView.test → components/pure/FeaturesReporterView.test}/index.d.ts +1 -2
- package/dist/types/components/pure/FeaturesReporterView.test/specification.d.ts +3 -0
- package/dist/types/components/pure/FeaturesReporterView.test/types.d.ts +54 -0
- package/dist/types/components/pure/ModalContent.d.ts +7 -0
- package/dist/types/components/pure/ModalContent.test/implementation.d.ts +3 -0
- package/dist/types/components/pure/ModalContent.test/index.d.ts +2 -0
- package/dist/types/components/pure/ModalContent.test/specification.d.ts +3 -0
- package/dist/types/components/pure/ModalContent.test/types.d.ts +45 -0
- package/dist/types/components/pure/ProjectPageView.d.ts +14 -0
- package/dist/types/components/pure/ProjectPageView.test/implementation.d.ts +3 -0
- package/dist/types/components/pure/ProjectPageView.test/index.d.ts +2 -0
- package/dist/types/components/pure/ProjectPageView.test/specification.d.ts +3 -0
- package/dist/types/components/pure/ProjectPageView.test/types.d.ts +57 -0
- package/dist/types/components/pure/ProjectsPageView.d.ts +29 -0
- package/dist/types/components/pure/SettingsButton.d.ts +3 -0
- package/dist/types/components/pure/TestPageView.d.ts +15 -0
- package/dist/types/components/pure/TestPageView.test/implementation.d.ts +11 -0
- package/dist/types/components/pure/TestPageView.test/index.d.ts +32 -0
- package/dist/types/components/pure/TestPageView.test/specification.d.ts +11 -0
- package/dist/types/components/pure/TestPageView.test/types.d.ts +65 -0
- package/dist/types/components/pure/ThemeCard.d.ts +9 -0
- package/dist/types/components/stateful/FeaturesReporter.d.ts +2 -0
- package/dist/types/components/stateful/ProjectPage.d.ts +1 -0
- package/dist/types/components/stateful/ProjectsPage.d.ts +1 -0
- package/dist/types/components/stateful/TestPage.d.ts +1 -0
- package/dist/types/init-docs.d.ts +1 -0
- package/dist/types/{src/lib → lib}/BaseSuite.d.ts +2 -0
- package/dist/types/{src/lib → lib}/abstractBase.d.ts +5 -7
- package/dist/types/{src/lib → lib}/abstractBase.test/MockGiven.d.ts +1 -1
- package/dist/types/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +3 -0
- package/dist/types/{src/lib → lib}/index.d.ts +7 -7
- package/dist/types/{src/lib → lib}/pmProxy.d.ts +3 -3
- package/dist/types/run.d.ts +1 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/types/features.d.ts +7 -0
- package/dist/types/{src/utils → utils}/api.d.ts +1 -5
- package/dist/types/utils/featureUtils.d.ts +6 -0
- package/dist/types/utils/logFiles.d.ts +7 -0
- package/dist/types/utils/makePrompt.d.ts +2 -0
- package/dist/types/{src/web.html.d.ts → web.html.d.ts} +1 -1
- package/docs/index.md +17 -0
- package/docs/testing.prompt.txt +1 -3
- package/docs.html +28 -10
- package/index.d.ts +38 -13
- package/index.html +59 -205
- package/marketing.md +166 -0
- package/package.json +16 -8
- package/scripts/compile-docs.js +24 -14
- package/smil30/SMIL-anim.mod.xsd +163 -0
- package/smil30/SMIL-control.mod.xsd +73 -0
- package/smil30/SMIL-layout.mod.xsd +149 -0
- package/smil30/SMIL-link.mod.xsd +145 -0
- package/smil30/SMIL-media.mod.xsd +1646 -0
- package/smil30/SMIL-metainformation.mod.xsd +45 -0
- package/smil30/SMIL-smiltext.mod.xsd +353 -0
- package/smil30/SMIL-state.mod.xsd +133 -0
- package/smil30/SMIL-struct.mod.xsd +70 -0
- package/smil30/SMIL-timing.mod.xsd +105 -0
- package/smil30/SMIL-transition.mod.xsd +229 -0
- package/smil30/SMIL.xsd +63 -0
- package/smil30/its.xsd +42 -0
- package/smil30/smil-attribs-1.mod.xsd +610 -0
- package/smil30/smil-datatypes-1.mod.xsd +72 -0
- package/smil30/smil-framework-1.mod.xsd +45 -0
- package/smil30/xml.xsd +16 -0
- package/src/App.scss +4 -13
- package/src/App.tsx +11 -25
- package/src/Node.ts +6 -9
- package/src/PM/PM_WithEslintAndTsc.ts +7 -93
- package/src/PM/__tests__/nodeSidecar.testeranto.ts +2 -0
- package/src/PM/base.ts +4 -10
- package/src/PM/layers/base/PM_Base.ts +0 -0
- package/src/PM/layers/base/components/PageOperations.testeranto.ts +0 -0
- package/src/PM/layers/base/components/PageOperations.ts +0 -0
- package/src/PM/layers/linting/components/Linter.ts +0 -0
- package/src/PM/layers/linting/components/TypeChecker.ts +0 -0
- package/src/PM/layers/main/components/SidecarManager.ts +0 -0
- package/src/PM/layers/main/components/TestRunner.ts +0 -0
- package/src/PM/main.ts +266 -140
- package/src/PM/node.ts +6 -1
- package/src/PM/nodeSidecar.ts +1 -0
- package/src/PM/pure.ts +15 -16
- package/src/PM/pureSidecar.ts +1 -1
- package/src/PM/types.ts +0 -0
- package/src/PM/web.ts +7 -2
- package/src/Pure.test.ts +27 -26
- package/src/Pure.ts +1 -9
- package/src/README.md +66 -0
- package/src/ReportServerLib.ts +10 -7
- package/src/Types.ts +1 -0
- package/src/build.ts +28 -54
- package/src/components/{pure/ProjectPageView.test/index.ts → SunriseAnimation.test/index.tsx} +7 -4
- package/src/components/SunriseAnimation.test/interface.ts +49 -0
- package/src/components/SunriseAnimation.test/types.ts +53 -0
- package/src/components/TestStatusBadge.tsx +2 -23
- package/src/components/pure/AppFrame.test/implementation.tsx +72 -0
- package/src/components/pure/AppFrame.test/index.tsx +22 -0
- package/src/components/pure/AppFrame.test/specification.ts +35 -0
- package/src/components/pure/AppFrame.test/types.ts +65 -0
- package/src/components/pure/AppFrame.tsx +29 -0
- package/src/components/pure/FeaturesReporterView.test/implementation.tsx +106 -0
- package/src/components/pure/FeaturesReporterView.test/index.tsx +18 -0
- package/src/components/pure/FeaturesReporterView.test/specification.ts +39 -0
- package/src/components/pure/FeaturesReporterView.test/types.ts +77 -0
- package/src/components/pure/FeaturesReporterView.tsx +37 -0
- package/src/components/pure/ModalContent.test/implementation.tsx +43 -0
- package/src/components/pure/ModalContent.test/index.tsx +15 -0
- package/src/components/pure/ModalContent.test/specification.ts +27 -0
- package/src/components/pure/ModalContent.test/types.ts +72 -0
- package/src/components/pure/ModalContent.tsx +182 -0
- package/src/components/pure/ProjectPageView.test/implementation.tsx +135 -36
- package/src/components/pure/ProjectPageView.test/index.tsx +20 -0
- package/src/components/pure/ProjectPageView.test/specification.ts +15 -2
- package/src/components/pure/ProjectPageView.test/types.ts +57 -13
- package/src/components/pure/ProjectPageView.tsx +155 -121
- package/src/components/pure/ProjectsPageView.tsx +36 -5
- package/src/components/pure/SettingsButton.md +1 -0
- package/src/components/pure/SettingsButton.tsx +66 -0
- package/src/components/pure/TestPageView.test/implementation.ts +194 -0
- package/src/components/pure/TestPageView.test/index.tsx +20 -0
- package/src/components/pure/TestPageView.test/specification.ts +59 -0
- package/src/components/pure/TestPageView.test/types.ts +92 -0
- package/src/components/pure/TestPageView.tsx +272 -283
- package/src/components/pure/ThemeCard.tsx +34 -0
- package/src/components/stateful/FeaturesReporter.tsx +24 -0
- package/src/components/stateful/ProjectPage.tsx +4 -3
- package/src/components/stateful/TestPage.tsx +27 -18
- package/src/defaultConfig.ts +1 -0
- package/src/esbuildConfigs/node.ts +1 -1
- package/src/esbuildConfigs/web.ts +2 -1
- package/src/lib/BaseSuite.test/mock.ts +1 -27
- package/src/lib/BaseSuite.test/test.ts +15 -37
- package/src/lib/BaseSuite.ts +19 -21
- package/src/lib/Sidecar.ts +2 -0
- package/src/lib/abstractBase.test/MockGiven.ts +1 -1
- package/src/lib/abstractBase.ts +72 -56
- package/src/lib/baseBuilder.test/baseBuilder.test.adapter.ts +0 -6
- package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +3 -1
- package/src/lib/baseBuilder.test/baseBuilder.test.mock.ts +27 -17
- package/src/lib/baseBuilder.test/baseBuilder.test.pure.ts +1 -1
- package/src/lib/basebuilder.ts +46 -41
- package/src/lib/classBuilder.ts +3 -0
- package/src/lib/core.test/MockCore.ts +0 -23
- package/src/lib/core.test/core.test.adapter.ts +6 -12
- package/src/lib/core.test/core.test.implementation.ts +7 -10
- package/src/lib/core.ts +2 -0
- package/src/lib/index.ts +9 -8
- package/src/lib/pmProxy.test/adapter.ts +8 -2
- package/src/lib/pmProxy.test/implementation.ts +43 -10
- package/src/lib/pmProxy.test/mockPMBase.ts +11 -0
- package/src/lib/pmProxy.test/types.ts +0 -2
- package/src/lib/pmProxy.ts +224 -92
- package/src/lib/types.ts +2 -0
- package/src/mothership/index.ts +6 -0
- package/src/mothership/test.ts +53 -26
- package/src/style.md +2 -0
- package/src/style.scss +16 -0
- package/src/templates/frontpage.html +54 -0
- package/src/themes.scss +9 -9
- package/src/types/features.ts +38 -0
- package/src/utils/api.ts +59 -29
- package/src/utils/featureUtils.tsx +42 -0
- package/src/utils/logFiles.ts +26 -0
- package/src/utils/makePrompt.ts +148 -0
- package/src/web.html.ts +6 -6
- package/style.css +28 -9
- package/testeranto/App.css +444 -12
- package/testeranto/App.js +1318 -1053
- package/testeranto/bundles/node/core/chunk-JBB5E3XJ.mjs +258 -0
- package/testeranto/bundles/node/core/chunk-L67RWZ4W.mjs +899 -0
- package/testeranto/bundles/node/core/chunk-ZQRRQYS4.mjs +92 -0
- package/testeranto/bundles/node/core/metafile.json +5348 -99
- package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +307 -0
- package/testeranto/bundles/node/core/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +44 -979
- package/testeranto/bundles/node/core/src/lib/classBuilder.test/classBuilder.test.mjs +423 -0
- package/testeranto/bundles/node/core/src/lib/core.test/core.test.mjs +505 -0
- package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +4804 -0
- package/testeranto/bundles/node/core/src/mothership/test.mjs +24588 -0
- package/testeranto/bundles/pure/core/chunk-KHJ35R7C.mjs +997 -0
- package/testeranto/bundles/pure/core/metafile.json +401 -152
- package/testeranto/bundles/pure/core/src/Pure.test.mjs +428 -0
- package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +379 -0
- package/testeranto/bundles/pure/core/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +34 -893
- package/testeranto/bundles/web/core/MPLUSRounded1c-Black-O75GP5JI.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Bold-R524Q5BH.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-ExtraBold-C6GRMYVT.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Light-WKN65Y2C.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Medium-ZC4DWL7C.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Regular-DT6EKZ3S.ttf +0 -0
- package/testeranto/bundles/web/core/MPLUSRounded1c-Thin-YWDNVG6M.ttf +0 -0
- package/testeranto/bundles/web/core/chunk-BADF3AZF.mjs +108 -0
- package/testeranto/bundles/web/core/chunk-BXV27S2S.mjs +6252 -0
- package/testeranto/bundles/web/core/chunk-EIYZKF2C.mjs +223 -0
- package/testeranto/bundles/web/core/chunk-FNXFUNA7.mjs +28528 -0
- package/testeranto/bundles/web/core/chunk-LU364HVS.mjs +3311 -0
- package/testeranto/bundles/web/core/chunk-QWII7WIM.mjs +2281 -0
- package/testeranto/bundles/web/core/chunk-VAYOSMXI.mjs +21775 -0
- package/testeranto/bundles/web/core/metafile.json +17547 -100
- package/testeranto/bundles/web/core/src/components/pure/AppFrame.test/index.css +12105 -0
- package/testeranto/bundles/web/core/src/components/pure/AppFrame.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/components/pure/AppFrame.test/index.mjs +517 -0
- package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.mjs +166 -0
- package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.css +12105 -0
- package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.mjs +93 -0
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.css +12105 -0
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +343 -0
- package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.css +12105 -0
- package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.mjs +483 -0
- package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +15 -0
- package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.mjs +394 -0
- package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.html +1 -5
- package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +54 -890
- package/testeranto/projects.json +0 -1
- package/testeranto/reports/core/config.json +130 -5
- package/testeranto/reports/core/src/Pure.test/pure/exit.log +0 -0
- package/testeranto/reports/core/src/Pure.test/pure/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/Pure.test/pure/message.txt +17 -0
- package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +14 -0
- package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +106 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/error.log +22 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/info.log +4 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/lint_errors.txt +2 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/message.txt +17 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/prompt.txt +18 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/tests.json +57 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/type_errors.txt +55 -0
- package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +56 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +2 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/message.txt +17 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/prompt.txt +16 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/suite-0/given-basicRender/then-4/butThen/features-reporter.png +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/tests.json +76 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/type_errors.txt +80 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/error.log +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/exit.log +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/info.log +4 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/message.txt +17 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/prompt.txt +15 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/suite-0/given-basicRender/then-2/butThen/modal-content.png +0 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/tests.json +42 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/type_errors.txt +65 -0
- package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +33 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +4 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +2 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +17 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +16 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-6/butThen/happy-state.png +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-errorHandling/then-1/butThen/error-state.png +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/tests.json +99 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +91 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/error.log +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/info.log +2 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/message.txt +17 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/prompt.txt +18 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/tests.json +69 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/type_errors.txt +111 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +14 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +31 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +113 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/exit.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/message.txt +17 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +15 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +113 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/debug.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +1 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/exit.log +1 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/info.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/message.txt +17 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +15 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/tests.json +31 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +113 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/warn.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +0 -2
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +16 -1
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +4 -13
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stdout.log +2 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +3 -1
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +19 -28
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/exit.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +0 -2
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +16 -1
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +2 -11
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +19 -28
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/debug.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/error.log +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/exit.log +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/info.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +0 -2
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/message.txt +16 -1
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +4 -13
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +3 -1
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +18 -27
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/warn.log +0 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stdout.log +619 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/tests.json +165 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +140 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/lint_errors.txt +21 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/prompt.txt +19 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/stdout.log +0 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/type_errors.txt +64 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +23 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +0 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +162 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +78 -0
- package/testeranto/reports/core/src/mothership/test/node/exit.log +1 -0
- package/testeranto/reports/core/src/mothership/test/node/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/mothership/test/node/message.txt +17 -0
- package/testeranto/reports/core/src/mothership/test/node/prompt.txt +14 -0
- package/testeranto/reports/core/src/mothership/test/node/stderr.log +27 -0
- package/testeranto/reports/core/src/mothership/test/node/stdout.log +8 -0
- package/testeranto/reports/core/src/mothership/test/node/tests.json +36 -0
- package/testeranto/reports/{staticSite/src/ReportServer.test.ts/index → core/src/mothership/test}/node/type_errors.txt +17 -31
- package/testeranto/reports/core/summary.json +98 -7
- package/testeranto.config.ts +66 -36
- package/tsc.log +392 -260
- package/tsconfig.common.json +4 -2
- package/tsconfig.json +9 -7
- package/tsconfig.module.json +3 -2
- package/tsconfig.types.json +3 -1
- package/videos/download-smil-xsd.sh +29 -0
- package/videos/project0/index.md +72 -0
- package/videos/project0/narration.json +7 -0
- package/videos/project0/narration.ssml +58 -0
- package/videos/project0/package.json +21 -0
- package/videos/project0/presentation.smil +25 -0
- package/videos/project0/smil30/SMIL-anim.mod.xsd +163 -0
- package/videos/project0/smil30/SMIL-anim.mod.xsd.1 +163 -0
- package/videos/project0/smil30/SMIL-anim.mod.xsd.2 +163 -0
- package/videos/project0/smil30/SMIL-control.mod.xsd +73 -0
- package/videos/project0/smil30/SMIL-control.mod.xsd.1 +73 -0
- package/videos/project0/smil30/SMIL-control.mod.xsd.2 +73 -0
- package/videos/project0/smil30/SMIL-layout.mod.xsd +149 -0
- package/videos/project0/smil30/SMIL-layout.mod.xsd.1 +149 -0
- package/videos/project0/smil30/SMIL-layout.mod.xsd.2 +149 -0
- package/videos/project0/smil30/SMIL-link.mod.xsd +145 -0
- package/videos/project0/smil30/SMIL-link.mod.xsd.1 +145 -0
- package/videos/project0/smil30/SMIL-link.mod.xsd.2 +145 -0
- package/videos/project0/smil30/SMIL-media.mod.xsd +1646 -0
- package/videos/project0/smil30/SMIL-media.mod.xsd.1 +1646 -0
- package/videos/project0/smil30/SMIL-media.mod.xsd.2 +1646 -0
- package/videos/project0/smil30/SMIL-metainformation.mod.xsd +45 -0
- package/videos/project0/smil30/SMIL-metainformation.mod.xsd.1 +45 -0
- package/videos/project0/smil30/SMIL-metainformation.mod.xsd.2 +45 -0
- package/videos/project0/smil30/SMIL-smiltext.mod.xsd +353 -0
- package/videos/project0/smil30/SMIL-smiltext.mod.xsd.1 +353 -0
- package/videos/project0/smil30/SMIL-smiltext.mod.xsd.2 +353 -0
- package/videos/project0/smil30/SMIL-state.mod.xsd +133 -0
- package/videos/project0/smil30/SMIL-state.mod.xsd.1 +133 -0
- package/videos/project0/smil30/SMIL-state.mod.xsd.2 +133 -0
- package/videos/project0/smil30/SMIL-struct.mod.xsd +70 -0
- package/videos/project0/smil30/SMIL-struct.mod.xsd.1 +70 -0
- package/videos/project0/smil30/SMIL-struct.mod.xsd.2 +70 -0
- package/videos/project0/smil30/SMIL-timing.mod.xsd +105 -0
- package/videos/project0/smil30/SMIL-timing.mod.xsd.1 +105 -0
- package/videos/project0/smil30/SMIL-timing.mod.xsd.2 +105 -0
- package/videos/project0/smil30/SMIL-transition.mod.xsd +229 -0
- package/videos/project0/smil30/SMIL-transition.mod.xsd.1 +229 -0
- package/videos/project0/smil30/SMIL-transition.mod.xsd.2 +229 -0
- package/videos/project0/smil30/SMIL.xsd +63 -0
- package/videos/project0/smil30/SMIL.xsd.1 +63 -0
- package/videos/project0/smil30/SMIL.xsd.2 +63 -0
- package/videos/project0/smil30/its.xsd +42 -0
- package/videos/project0/smil30/its.xsd.1 +42 -0
- package/videos/project0/smil30/its.xsd.2 +42 -0
- package/videos/project0/smil30/smil-attribs-1.mod.xsd +610 -0
- package/videos/project0/smil30/smil-attribs-1.mod.xsd.1 +610 -0
- package/videos/project0/smil30/smil-attribs-1.mod.xsd.2 +610 -0
- package/videos/project0/smil30/smil-datatypes-1.mod.xsd +72 -0
- package/videos/project0/smil30/smil-datatypes-1.mod.xsd.1 +72 -0
- package/videos/project0/smil30/smil-datatypes-1.mod.xsd.2 +72 -0
- package/videos/project0/smil30/smil-framework-1.mod.xsd +45 -0
- package/videos/project0/smil30/smil-framework-1.mod.xsd.1 +45 -0
- package/videos/project0/smil30/smil-framework-1.mod.xsd.2 +45 -0
- package/videos/project0/smil30/smil-profile-model-1.mod.xsd +1331 -0
- package/videos/project0/smil30/smil-profile-model-1.mod.xsd.1 +1331 -0
- package/videos/project0/smil30/smil-qname-1.mod.xsd +121 -0
- package/videos/project0/smil30/smil-qname-1.mod.xsd.1 +121 -0
- package/videos/project0/smil30/xml.xsd +16 -0
- package/videos/project0/smil30/xml.xsd.1 +16 -0
- package/videos/project0/smil30/xml.xsd.2 +16 -0
- package/videos/project0/smil30.xsd +137 -0
- package/videos/project0/src/audio/metadata.json +5 -0
- package/videos/project0/src/audio/narration.mp3 +0 -0
- package/videos/project0/src/motion-canvas.d.ts +1 -0
- package/videos/project0/src/project.meta +31 -0
- package/videos/project0/src/project.ts +13 -0
- package/videos/project0/src/scenes/example.meta +5 -0
- package/videos/project0/src/scenes/scene1.meta +3 -0
- package/videos/project0/src/scenes/scene1.tsx +129 -0
- package/videos/project0/src/scenes/scene2.tsx +132 -0
- package/videos/project0/src/scenes/scene3.meta +26 -0
- package/videos/project0/src/scenes/scene3.tsx +188 -0
- package/videos/project0/tsconfig.json +4 -0
- package/videos/project0/vite.config.ts +10 -0
- package/videos/trash/output/project.mp4 +0 -0
- package/videos/trash/text.mp4 +0 -0
- package/videos/trash/video/project.tsx +549 -0
- package/videos/trash/video/render.ts +15 -0
- package/videos/trash/vite.config.ts +10 -0
- package/videos/tts.js +109 -0
- package/dist/common/src/components/pure/ProjectPageView.test/adapter.js +0 -20
- package/dist/common/src/lib/dailyAnimation.js +0 -130
- package/dist/module/src/Footer.js +0 -5
- package/dist/module/src/ProjectPage.js +0 -319
- package/dist/module/src/ProjectsPage.js +0 -1
- package/dist/module/src/SettingsButton.js +0 -157
- package/dist/module/src/TestPage.js +0 -271
- package/dist/module/src/TestReport.js +0 -368
- package/dist/module/src/components/pure/ProjectPageView.test/adapter.js +0 -17
- package/dist/module/src/lib/dailyAnimation.js +0 -130
- package/dist/types/src/ReportServerLib.d.ts +0 -2
- package/dist/types/src/components/pure/ProjectPageView.d.ts +0 -14
- package/dist/types/src/components/pure/ProjectPageView.test/adapter.d.ts +0 -3
- package/dist/types/src/components/pure/ProjectPageView.test/types.d.ts +0 -39
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +0 -3
- package/dist/types/testeranto.config.d.ts +0 -3
- package/docs/testing.ai.txt +0 -106
- package/src/Footer.tsx +0 -8
- package/src/Project.scss +0 -1
- package/src/ProjectPage.tsx +0 -459
- package/src/ProjectsPage.tsx +0 -1
- package/src/ReportApp.scss +0 -1
- package/src/SettingsButton.tsx +0 -268
- package/src/TestPage.tsx +0 -476
- package/src/TestReport.scss +0 -24
- package/src/TestReport.tsx +0 -411
- package/src/components/pure/ProjectPageView.test/adapter.ts +0 -21
- package/src/lib/dailyAnimation.ts +0 -147
- package/testeranto/bundles/node/allTests/metafile.json +0 -486
- package/testeranto/bundles/node/allTests/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +0 -1182
- package/testeranto/bundles/node/staticSite/metafile.json +0 -593
- package/testeranto/bundles/node/staticSite/src/ReportServer.test.ts/index.mjs +0 -1594
- package/testeranto/bundles/pure/allTests/metafile.json +0 -626
- package/testeranto/bundles/pure/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +0 -1094
- package/testeranto/bundles/pure/staticSite/metafile.json +0 -8
- package/testeranto/bundles/web/allTests/metafile.json +0 -780
- package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.html +0 -19
- package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +0 -1092
- package/testeranto/bundles/web/staticSite/metafile.json +0 -8
- package/testeranto/reports/allTests/config.json +0 -40
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/bdd_errors.txt +0 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +0 -2
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/logs.txt +0 -33
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +0 -2
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +0 -26
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +0 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +0 -69
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +0 -74
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +0 -2
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +0 -2
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +0 -26
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +0 -74
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/bdd_errors.txt +0 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +0 -2
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/logs.txt +0 -63
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/message.txt +0 -2
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +0 -26
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/suite-0/given-testInitialization/then-0/butThen/hello.txt +0 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +0 -69
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +0 -74
- package/testeranto/reports/allTests/summary.json +0 -23
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/bdd_errors.txt +0 -1
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/logs.txt +0 -32
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/bdd_errors.txt +0 -1
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/logs.txt +0 -61
- package/testeranto/reports/staticSite/config.json +0 -24
- package/testeranto/reports/staticSite/src/ReportServer.test.ts/index/node/lint_errors.txt +0 -5
- package/testeranto/reports/staticSite/src/ReportServer.test.ts/index/node/logs.txt +0 -44
- package/testeranto/reports/staticSite/src/ReportServer.test.ts/index/node/message.txt +0 -2
- package/testeranto/reports/staticSite/src/ReportServer.test.ts/index/node/prompt.txt +0 -23
- package/testeranto/reports/staticSite/summary.json +0 -9
- package/testeranto/reportsnode_build_errors +0 -17
- /package/dist/common/src/{NavBar.js → components/pure/NavBar.js} +0 -0
- /package/dist/{types/src/ReportServer.d.ts → module/src/components/SunriseAnimation.test/types.js} +0 -0
- /package/dist/{types/src/build.d.ts → module/src/components/pure/FeaturesReporterView.test/types.js} +0 -0
- /package/dist/module/src/{NavBar.js → components/pure/NavBar.js} +0 -0
- /package/dist/types/{src/CoreTypes.d.ts → CoreTypes.d.ts} +0 -0
- /package/dist/types/{src/Init.d.ts → Init.d.ts} +0 -0
- /package/dist/types/{src/Node.d.ts → Node.d.ts} +0 -0
- /package/dist/types/{src/NodeSidecar.d.ts → NodeSidecar.d.ts} +0 -0
- /package/dist/types/{src/PM → PM}/PM_WithEslintAndTsc.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/__tests__/nodeSidecar.testeranto.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/__tests__/pureSidecar.testeranto.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/__tests__/webSidecar.testeranto.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/index.d.ts +0 -0
- /package/dist/types/{src/components/SunriseAnimation.test/implementation.d.ts → PM/layers/base/PM_Base.d.ts} +0 -0
- /package/dist/types/{src/components/SunriseAnimation.test/index.d.ts → PM/layers/base/components/PageOperations.d.ts} +0 -0
- /package/dist/types/{src/components/SunriseAnimation.test/interface.d.ts → PM/layers/base/components/PageOperations.testeranto.d.ts} +0 -0
- /package/dist/types/{src/components/SunriseAnimation.test/specification.d.ts → PM/layers/linting/components/Linter.d.ts} +0 -0
- /package/dist/types/{src/lib/dailyAnimation.d.ts → PM/layers/linting/components/TypeChecker.d.ts} +0 -0
- /package/dist/types/{src/PM → PM}/nodeSidecar.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/pureSidecar.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/sidecar.d.ts +0 -0
- /package/dist/types/{src/PM → PM}/webSidecar.d.ts +0 -0
- /package/dist/types/{src/Pure.d.ts → Pure.d.ts} +0 -0
- /package/dist/types/{src/Pure.test.d.ts → Pure.test.d.ts} +0 -0
- /package/dist/types/{src/PureSidecar.d.ts → PureSidecar.d.ts} +0 -0
- /package/dist/types/{src/init-docs.d.ts → ReportServer.d.ts} +0 -0
- /package/dist/types/{src/ReportServer.test.ts → ReportServer.test.ts}/index.d.ts +0 -0
- /package/dist/types/{src/Web.d.ts → Web.d.ts} +0 -0
- /package/dist/types/{src/WebSidecar.d.ts → WebSidecar.d.ts} +0 -0
- /package/dist/types/{src/run.d.ts → build.d.ts} +0 -0
- /package/dist/types/{src/components → components}/TestStatusBadge.d.ts +0 -0
- /package/dist/types/{src/components/pure/ProjectPageView.test → components/pure/AppFrame.test}/specification.d.ts +0 -0
- /package/dist/types/{src/components/pure/ProjectPageView.test → components/pure/FeaturesReporterView.test}/implementation.d.ts +0 -0
- /package/dist/types/{src → components/pure}/NavBar.d.ts +0 -0
- /package/dist/types/{src/defaultConfig.d.ts → defaultConfig.d.ts} +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/consoleDetectorPlugin.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/eslint-formatter-testeranto.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/index.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/inputFilesPlugin.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/nativeImportDetectorPlugin.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/node.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/pure.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/rebuildPlugin.d.ts +0 -0
- /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/web.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/BaseSuite.test/mock.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/BaseSuite.test/node.test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/BaseSuite.test/pure.test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/BaseSuite.test/test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/BaseSuite.test/web.test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/Sidecar.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/MockThen.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/MockWhen.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/adapter.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/implementation.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/index.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/specification.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/abstractBase.test/types.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.adapter.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.implementation.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.mock.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.node.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.specification.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.types.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.web.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/basebuilder.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.adapter.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.implementation.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.specification.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.types.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/classBuilder.test/mock.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.test/MockCore.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.test/core.test.adapter.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.test/core.test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.test/core.test.implementation.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.test/core.test.specification.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/core.test/core.test.types.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/mocks.test.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/adapter.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/implementation.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/index.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/mockPM.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/mockPMBase.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/specification.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/pmProxy.test/types.d.ts +0 -0
- /package/dist/types/{src/lib → lib}/types.d.ts +0 -0
- /package/dist/types/{src/mothership → mothership}/index.d.ts +0 -0
- /package/dist/types/{src/mothership → mothership}/test.d.ts +0 -0
- /package/dist/types/{src/utils → utils}/buildTemplates.d.ts +0 -0
- /package/dist/types/{src/utils → utils}/queue.d.ts +0 -0
- /package/dist/types/{src/utils.d.ts → utils.d.ts} +0 -0
- /package/src/{NavBar.tsx → components/pure/NavBar.tsx} +0 -0
package/dist/prebuild/App.js
CHANGED
|
@@ -472,7 +472,7 @@
|
|
|
472
472
|
}
|
|
473
473
|
}
|
|
474
474
|
}
|
|
475
|
-
var
|
|
475
|
+
var ReactElement2 = function(type, key, ref, self, source, owner, props) {
|
|
476
476
|
var element = {
|
|
477
477
|
// This tag allows us to uniquely identify this as a React Element
|
|
478
478
|
$$typeof: REACT_ELEMENT_TYPE,
|
|
@@ -573,10 +573,10 @@
|
|
|
573
573
|
}
|
|
574
574
|
}
|
|
575
575
|
}
|
|
576
|
-
return
|
|
576
|
+
return ReactElement2(type, key, ref, self, source, ReactCurrentOwner.current, props);
|
|
577
577
|
}
|
|
578
578
|
function cloneAndReplaceKey(oldElement, newKey) {
|
|
579
|
-
var newElement =
|
|
579
|
+
var newElement = ReactElement2(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);
|
|
580
580
|
return newElement;
|
|
581
581
|
}
|
|
582
582
|
function cloneElement8(element, config, children) {
|
|
@@ -625,7 +625,7 @@
|
|
|
625
625
|
}
|
|
626
626
|
props.children = childArray;
|
|
627
627
|
}
|
|
628
|
-
return
|
|
628
|
+
return ReactElement2(element.type, key, ref, self, source, owner, props);
|
|
629
629
|
}
|
|
630
630
|
function isValidElement2(object) {
|
|
631
631
|
return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
|
@@ -972,7 +972,7 @@
|
|
|
972
972
|
}
|
|
973
973
|
return lazyType;
|
|
974
974
|
}
|
|
975
|
-
function
|
|
975
|
+
function forwardRef57(render) {
|
|
976
976
|
{
|
|
977
977
|
if (render != null && render.$$typeof === REACT_MEMO_TYPE) {
|
|
978
978
|
error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).");
|
|
@@ -1085,7 +1085,7 @@
|
|
|
1085
1085
|
}
|
|
1086
1086
|
return dispatcher.useContext(Context2);
|
|
1087
1087
|
}
|
|
1088
|
-
function
|
|
1088
|
+
function useState24(initialState) {
|
|
1089
1089
|
var dispatcher = resolveDispatcher();
|
|
1090
1090
|
return dispatcher.useState(initialState);
|
|
1091
1091
|
}
|
|
@@ -1097,7 +1097,7 @@
|
|
|
1097
1097
|
var dispatcher = resolveDispatcher();
|
|
1098
1098
|
return dispatcher.useRef(initialValue);
|
|
1099
1099
|
}
|
|
1100
|
-
function
|
|
1100
|
+
function useEffect29(create, deps) {
|
|
1101
1101
|
var dispatcher = resolveDispatcher();
|
|
1102
1102
|
return dispatcher.useEffect(create, deps);
|
|
1103
1103
|
}
|
|
@@ -1869,7 +1869,7 @@
|
|
|
1869
1869
|
exports.createElement = createElement$1;
|
|
1870
1870
|
exports.createFactory = createFactory;
|
|
1871
1871
|
exports.createRef = createRef;
|
|
1872
|
-
exports.forwardRef =
|
|
1872
|
+
exports.forwardRef = forwardRef57;
|
|
1873
1873
|
exports.isValidElement = isValidElement2;
|
|
1874
1874
|
exports.lazy = lazy;
|
|
1875
1875
|
exports.memo = memo2;
|
|
@@ -1879,7 +1879,7 @@
|
|
|
1879
1879
|
exports.useContext = useContext16;
|
|
1880
1880
|
exports.useDebugValue = useDebugValue;
|
|
1881
1881
|
exports.useDeferredValue = useDeferredValue;
|
|
1882
|
-
exports.useEffect =
|
|
1882
|
+
exports.useEffect = useEffect29;
|
|
1883
1883
|
exports.useId = useId2;
|
|
1884
1884
|
exports.useImperativeHandle = useImperativeHandle2;
|
|
1885
1885
|
exports.useInsertionEffect = useInsertionEffect;
|
|
@@ -1887,7 +1887,7 @@
|
|
|
1887
1887
|
exports.useMemo = useMemo15;
|
|
1888
1888
|
exports.useReducer = useReducer2;
|
|
1889
1889
|
exports.useRef = useRef22;
|
|
1890
|
-
exports.useState =
|
|
1890
|
+
exports.useState = useState24;
|
|
1891
1891
|
exports.useSyncExternalStore = useSyncExternalStore;
|
|
1892
1892
|
exports.useTransition = useTransition2;
|
|
1893
1893
|
exports.version = ReactVersion;
|
|
@@ -2383,9 +2383,9 @@
|
|
|
2383
2383
|
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") {
|
|
2384
2384
|
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
|
2385
2385
|
}
|
|
2386
|
-
var
|
|
2386
|
+
var React97 = require_react();
|
|
2387
2387
|
var Scheduler = require_scheduler();
|
|
2388
|
-
var ReactSharedInternals =
|
|
2388
|
+
var ReactSharedInternals = React97.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
|
2389
2389
|
var suppressWarning = false;
|
|
2390
2390
|
function setSuppressWarning(newSuppressWarning) {
|
|
2391
2391
|
{
|
|
@@ -3990,7 +3990,7 @@
|
|
|
3990
3990
|
{
|
|
3991
3991
|
if (props.value == null) {
|
|
3992
3992
|
if (typeof props.children === "object" && props.children !== null) {
|
|
3993
|
-
|
|
3993
|
+
React97.Children.forEach(props.children, function(child) {
|
|
3994
3994
|
if (child == null) {
|
|
3995
3995
|
return;
|
|
3996
3996
|
}
|
|
@@ -12437,7 +12437,7 @@
|
|
|
12437
12437
|
}
|
|
12438
12438
|
}
|
|
12439
12439
|
var fakeInternalInstance = {};
|
|
12440
|
-
var emptyRefsObject = new
|
|
12440
|
+
var emptyRefsObject = new React97.Component().refs;
|
|
12441
12441
|
var didWarnAboutStateAssignmentForComponent;
|
|
12442
12442
|
var didWarnAboutUninitializedState;
|
|
12443
12443
|
var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;
|
|
@@ -23514,7 +23514,7 @@
|
|
|
23514
23514
|
(function() {
|
|
23515
23515
|
"use strict";
|
|
23516
23516
|
var hasOwn = {}.hasOwnProperty;
|
|
23517
|
-
function
|
|
23517
|
+
function classNames46() {
|
|
23518
23518
|
var classes = "";
|
|
23519
23519
|
for (var i = 0; i < arguments.length; i++) {
|
|
23520
23520
|
var arg = arguments[i];
|
|
@@ -23532,7 +23532,7 @@
|
|
|
23532
23532
|
return "";
|
|
23533
23533
|
}
|
|
23534
23534
|
if (Array.isArray(arg)) {
|
|
23535
|
-
return
|
|
23535
|
+
return classNames46.apply(null, arg);
|
|
23536
23536
|
}
|
|
23537
23537
|
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
|
|
23538
23538
|
return arg.toString();
|
|
@@ -23555,14 +23555,14 @@
|
|
|
23555
23555
|
return value + newClass;
|
|
23556
23556
|
}
|
|
23557
23557
|
if (typeof module !== "undefined" && module.exports) {
|
|
23558
|
-
|
|
23559
|
-
module.exports =
|
|
23558
|
+
classNames46.default = classNames46;
|
|
23559
|
+
module.exports = classNames46;
|
|
23560
23560
|
} else if (typeof define === "function" && typeof define.amd === "object" && define.amd) {
|
|
23561
23561
|
define("classnames", [], function() {
|
|
23562
|
-
return
|
|
23562
|
+
return classNames46;
|
|
23563
23563
|
});
|
|
23564
23564
|
} else {
|
|
23565
|
-
window.classNames =
|
|
23565
|
+
window.classNames = classNames46;
|
|
23566
23566
|
}
|
|
23567
23567
|
})();
|
|
23568
23568
|
}
|
|
@@ -23609,7 +23609,7 @@
|
|
|
23609
23609
|
if (true) {
|
|
23610
23610
|
(function() {
|
|
23611
23611
|
"use strict";
|
|
23612
|
-
var
|
|
23612
|
+
var React97 = require_react();
|
|
23613
23613
|
var REACT_ELEMENT_TYPE = Symbol.for("react.element");
|
|
23614
23614
|
var REACT_PORTAL_TYPE = Symbol.for("react.portal");
|
|
23615
23615
|
var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
|
|
@@ -23635,7 +23635,7 @@
|
|
|
23635
23635
|
}
|
|
23636
23636
|
return null;
|
|
23637
23637
|
}
|
|
23638
|
-
var ReactSharedInternals =
|
|
23638
|
+
var ReactSharedInternals = React97.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
|
23639
23639
|
function error(format) {
|
|
23640
23640
|
{
|
|
23641
23641
|
{
|
|
@@ -24160,7 +24160,7 @@
|
|
|
24160
24160
|
});
|
|
24161
24161
|
}
|
|
24162
24162
|
}
|
|
24163
|
-
var
|
|
24163
|
+
var ReactElement2 = function(type, key, ref, self, source, owner, props) {
|
|
24164
24164
|
var element = {
|
|
24165
24165
|
// This tag allows us to uniquely identify this as a React Element
|
|
24166
24166
|
$$typeof: REACT_ELEMENT_TYPE,
|
|
@@ -24243,7 +24243,7 @@
|
|
|
24243
24243
|
defineRefPropWarningGetter(props, displayName);
|
|
24244
24244
|
}
|
|
24245
24245
|
}
|
|
24246
|
-
return
|
|
24246
|
+
return ReactElement2(type, key, ref, self, source, ReactCurrentOwner.current, props);
|
|
24247
24247
|
}
|
|
24248
24248
|
}
|
|
24249
24249
|
var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
|
|
@@ -25317,10 +25317,10 @@
|
|
|
25317
25317
|
});
|
|
25318
25318
|
|
|
25319
25319
|
// src/App.tsx
|
|
25320
|
-
var
|
|
25320
|
+
var import_react71 = __toESM(require_react(), 1);
|
|
25321
25321
|
var import_client = __toESM(require_client(), 1);
|
|
25322
25322
|
|
|
25323
|
-
// node_modules/react-router/dist/development/chunk-
|
|
25323
|
+
// node_modules/react-router/dist/development/chunk-ZYFC6VSF.mjs
|
|
25324
25324
|
var React = __toESM(require_react(), 1);
|
|
25325
25325
|
var React2 = __toESM(require_react(), 1);
|
|
25326
25326
|
var React3 = __toESM(require_react(), 1);
|
|
@@ -25588,6 +25588,7 @@
|
|
|
25588
25588
|
pathname,
|
|
25589
25589
|
params,
|
|
25590
25590
|
data: loaderData[route.id],
|
|
25591
|
+
loaderData: loaderData[route.id],
|
|
25591
25592
|
handle: route.handle
|
|
25592
25593
|
};
|
|
25593
25594
|
}
|
|
@@ -27075,7 +27076,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
27075
27076
|
return /* @__PURE__ */ React8.createElement(React8.Fragment, null, dataHrefs.map((href) => /* @__PURE__ */ React8.createElement("link", { key: href, rel: "prefetch", as: "fetch", href, ...linkProps })), moduleHrefs.map((href) => /* @__PURE__ */ React8.createElement("link", { key: href, rel: "modulepreload", href, ...linkProps })), keyedPrefetchLinks.map(({ key, link }) => (
|
|
27076
27077
|
// these don't spread `linkProps` because they are full link descriptors
|
|
27077
27078
|
// already with their own props
|
|
27078
|
-
/* @__PURE__ */ React8.createElement("link", { key, ...link })
|
|
27079
|
+
/* @__PURE__ */ React8.createElement("link", { key, nonce: linkProps.nonce, ...link })
|
|
27079
27080
|
)));
|
|
27080
27081
|
}
|
|
27081
27082
|
function mergeRefs(...refs) {
|
|
@@ -27093,7 +27094,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
27093
27094
|
try {
|
|
27094
27095
|
if (isBrowser) {
|
|
27095
27096
|
window.__reactRouterVersion = // @ts-expect-error
|
|
27096
|
-
"7.
|
|
27097
|
+
"7.8.0";
|
|
27097
27098
|
}
|
|
27098
27099
|
} catch (e) {
|
|
27099
27100
|
}
|
|
@@ -27684,6 +27685,85 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
27684
27685
|
// src/components/stateful/TestPage.tsx
|
|
27685
27686
|
var import_react59 = __toESM(require_react(), 1);
|
|
27686
27687
|
|
|
27688
|
+
// src/utils/logFiles.ts
|
|
27689
|
+
var NODE_LOG_FILES = ["stdout.log", "stderr.log", "exit.log"];
|
|
27690
|
+
var WEB_LOG_FILES = [
|
|
27691
|
+
"info.log",
|
|
27692
|
+
"debug.log",
|
|
27693
|
+
"error.log",
|
|
27694
|
+
"warn.log",
|
|
27695
|
+
"exit.log"
|
|
27696
|
+
];
|
|
27697
|
+
var PURE_LOG_FILES = ["exit.log"];
|
|
27698
|
+
var getLogFilesForRuntime = (runtime) => {
|
|
27699
|
+
switch (runtime) {
|
|
27700
|
+
case "node":
|
|
27701
|
+
return NODE_LOG_FILES;
|
|
27702
|
+
case "web":
|
|
27703
|
+
return WEB_LOG_FILES;
|
|
27704
|
+
case "pure":
|
|
27705
|
+
return PURE_LOG_FILES;
|
|
27706
|
+
default:
|
|
27707
|
+
throw new Error(`Unknown runtime: ${runtime}`);
|
|
27708
|
+
}
|
|
27709
|
+
};
|
|
27710
|
+
|
|
27711
|
+
// src/utils/api.ts
|
|
27712
|
+
var fetchTestData = async (projectName, filepath, runTime) => {
|
|
27713
|
+
const basePath = `reports/${projectName}/${filepath.split(".").slice(0, -1).join(".")}/${runTime}`;
|
|
27714
|
+
try {
|
|
27715
|
+
const logFiles = getLogFilesForRuntime(runTime);
|
|
27716
|
+
console.log("mark2", logFiles);
|
|
27717
|
+
const [testRes, ...logRes] = await Promise.all([
|
|
27718
|
+
fetch(`${basePath}/tests.json`),
|
|
27719
|
+
...logFiles.map((f) => fetch(`${basePath}/${f}`)),
|
|
27720
|
+
fetch(`${basePath}/type_errors.txt`),
|
|
27721
|
+
fetch(`${basePath}/lint_errors.txt`)
|
|
27722
|
+
]);
|
|
27723
|
+
const logs = {
|
|
27724
|
+
"tests.json": await (await fetch(`${basePath}/tests.json`)).json(),
|
|
27725
|
+
"type_errors.txt": await (await fetch(`${basePath}/type_errors.txt`)).text(),
|
|
27726
|
+
"lint_errors.txt": await (await fetch(`${basePath}/lint_errors.txt`)).text(),
|
|
27727
|
+
"exit.log": await (await fetch(`${basePath}/exit.log`)).text()
|
|
27728
|
+
};
|
|
27729
|
+
if (runTime === "node") {
|
|
27730
|
+
logs["stdout.log"] = await (await fetch(`${basePath}/stdout.log`)).text();
|
|
27731
|
+
logs["stderr.log"] = await (await fetch(`${basePath}/stderr.log`)).text();
|
|
27732
|
+
}
|
|
27733
|
+
if (runTime === "web") {
|
|
27734
|
+
logs["info.log"] = await (await fetch(`${basePath}/info.log`)).text();
|
|
27735
|
+
logs["error.log"] = await (await fetch(`${basePath}/error.log`)).text();
|
|
27736
|
+
logs["debug.log"] = await (await fetch(`${basePath}/debug.log`)).text();
|
|
27737
|
+
logs["warn.log"] = await (await fetch(`${basePath}/warn.log`)).text();
|
|
27738
|
+
}
|
|
27739
|
+
if (!testRes.ok) {
|
|
27740
|
+
return {
|
|
27741
|
+
// testData: null,
|
|
27742
|
+
logs,
|
|
27743
|
+
// typeErrors: await logRes[logFiles.length].text(),
|
|
27744
|
+
// lintErrors: await logRes[logFiles.length + 1].text(),
|
|
27745
|
+
error: "Tests did not complete successfully. Please check the build and runtime logs for errors."
|
|
27746
|
+
};
|
|
27747
|
+
}
|
|
27748
|
+
console.log("mark1", logs);
|
|
27749
|
+
return {
|
|
27750
|
+
// testData: await testRes.json(),
|
|
27751
|
+
logs,
|
|
27752
|
+
// typeErrors: await logRes[logFiles.length].text(),
|
|
27753
|
+
// lintErrors: await logRes[logFiles.length + 1].text(),
|
|
27754
|
+
error: null
|
|
27755
|
+
};
|
|
27756
|
+
} catch (err) {
|
|
27757
|
+
return {
|
|
27758
|
+
// testData: null,
|
|
27759
|
+
logs: {},
|
|
27760
|
+
// typeErrors: "",
|
|
27761
|
+
// lintErrors: "",
|
|
27762
|
+
error: `Failed to load test data: ${err instanceof Error ? err.message : String(err)}`
|
|
27763
|
+
};
|
|
27764
|
+
}
|
|
27765
|
+
};
|
|
27766
|
+
|
|
27687
27767
|
// src/components/pure/TestPageView.tsx
|
|
27688
27768
|
var import_react58 = __toESM(require_react(), 1);
|
|
27689
27769
|
|
|
@@ -27841,6 +27921,18 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
27841
27921
|
} = (0, import_react3.useContext)(ThemeContext);
|
|
27842
27922
|
return prefix || prefixes[defaultPrefix] || defaultPrefix;
|
|
27843
27923
|
}
|
|
27924
|
+
function useBootstrapBreakpoints() {
|
|
27925
|
+
const {
|
|
27926
|
+
breakpoints
|
|
27927
|
+
} = (0, import_react3.useContext)(ThemeContext);
|
|
27928
|
+
return breakpoints;
|
|
27929
|
+
}
|
|
27930
|
+
function useBootstrapMinBreakpoint() {
|
|
27931
|
+
const {
|
|
27932
|
+
minBreakpoint
|
|
27933
|
+
} = (0, import_react3.useContext)(ThemeContext);
|
|
27934
|
+
return minBreakpoint;
|
|
27935
|
+
}
|
|
27844
27936
|
function useIsRTL() {
|
|
27845
27937
|
const {
|
|
27846
27938
|
dir
|
|
@@ -29471,12 +29563,81 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29471
29563
|
(0, import_react27.useEffect)(() => () => onUnmount.current(), []);
|
|
29472
29564
|
}
|
|
29473
29565
|
|
|
29474
|
-
// node_modules/react-bootstrap/esm/
|
|
29566
|
+
// node_modules/react-bootstrap/esm/Col.js
|
|
29475
29567
|
var import_classnames20 = __toESM(require_classnames());
|
|
29476
29568
|
var React40 = __toESM(require_react());
|
|
29477
29569
|
var import_jsx_runtime25 = __toESM(require_jsx_runtime());
|
|
29478
29570
|
"use client";
|
|
29479
|
-
|
|
29571
|
+
function useCol({
|
|
29572
|
+
as,
|
|
29573
|
+
bsPrefix,
|
|
29574
|
+
className,
|
|
29575
|
+
...props
|
|
29576
|
+
}) {
|
|
29577
|
+
bsPrefix = useBootstrapPrefix(bsPrefix, "col");
|
|
29578
|
+
const breakpoints = useBootstrapBreakpoints();
|
|
29579
|
+
const minBreakpoint = useBootstrapMinBreakpoint();
|
|
29580
|
+
const spans = [];
|
|
29581
|
+
const classes = [];
|
|
29582
|
+
breakpoints.forEach((brkPoint) => {
|
|
29583
|
+
const propValue = props[brkPoint];
|
|
29584
|
+
delete props[brkPoint];
|
|
29585
|
+
let span;
|
|
29586
|
+
let offset;
|
|
29587
|
+
let order;
|
|
29588
|
+
if (typeof propValue === "object" && propValue != null) {
|
|
29589
|
+
({
|
|
29590
|
+
span,
|
|
29591
|
+
offset,
|
|
29592
|
+
order
|
|
29593
|
+
} = propValue);
|
|
29594
|
+
} else {
|
|
29595
|
+
span = propValue;
|
|
29596
|
+
}
|
|
29597
|
+
const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : "";
|
|
29598
|
+
if (span)
|
|
29599
|
+
spans.push(span === true ? `${bsPrefix}${infix}` : `${bsPrefix}${infix}-${span}`);
|
|
29600
|
+
if (order != null)
|
|
29601
|
+
classes.push(`order${infix}-${order}`);
|
|
29602
|
+
if (offset != null)
|
|
29603
|
+
classes.push(`offset${infix}-${offset}`);
|
|
29604
|
+
});
|
|
29605
|
+
return [{
|
|
29606
|
+
...props,
|
|
29607
|
+
className: (0, import_classnames20.default)(className, ...spans, ...classes)
|
|
29608
|
+
}, {
|
|
29609
|
+
as,
|
|
29610
|
+
bsPrefix,
|
|
29611
|
+
spans
|
|
29612
|
+
}];
|
|
29613
|
+
}
|
|
29614
|
+
var Col = /* @__PURE__ */ React40.forwardRef(
|
|
29615
|
+
// Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
|
|
29616
|
+
(props, ref) => {
|
|
29617
|
+
const [{
|
|
29618
|
+
className,
|
|
29619
|
+
...colProps
|
|
29620
|
+
}, {
|
|
29621
|
+
as: Component4 = "div",
|
|
29622
|
+
bsPrefix,
|
|
29623
|
+
spans
|
|
29624
|
+
}] = useCol(props);
|
|
29625
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Component4, {
|
|
29626
|
+
...colProps,
|
|
29627
|
+
ref,
|
|
29628
|
+
className: (0, import_classnames20.default)(className, !spans.length && bsPrefix)
|
|
29629
|
+
});
|
|
29630
|
+
}
|
|
29631
|
+
);
|
|
29632
|
+
Col.displayName = "Col";
|
|
29633
|
+
var Col_default = Col;
|
|
29634
|
+
|
|
29635
|
+
// node_modules/react-bootstrap/esm/Container.js
|
|
29636
|
+
var import_classnames21 = __toESM(require_classnames());
|
|
29637
|
+
var React41 = __toESM(require_react());
|
|
29638
|
+
var import_jsx_runtime26 = __toESM(require_jsx_runtime());
|
|
29639
|
+
"use client";
|
|
29640
|
+
var Container = /* @__PURE__ */ React41.forwardRef(({
|
|
29480
29641
|
bsPrefix,
|
|
29481
29642
|
fluid = false,
|
|
29482
29643
|
// Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
|
|
@@ -29486,10 +29647,10 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29486
29647
|
}, ref) => {
|
|
29487
29648
|
const prefix = useBootstrapPrefix(bsPrefix, "container");
|
|
29488
29649
|
const suffix = typeof fluid === "string" ? `-${fluid}` : "-fluid";
|
|
29489
|
-
return /* @__PURE__ */ (0,
|
|
29650
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Component4, {
|
|
29490
29651
|
ref,
|
|
29491
29652
|
...props,
|
|
29492
|
-
className: (0,
|
|
29653
|
+
className: (0, import_classnames21.default)(className, fluid ? `${prefix}${suffix}` : prefix)
|
|
29493
29654
|
});
|
|
29494
29655
|
});
|
|
29495
29656
|
Container.displayName = "Container";
|
|
@@ -29599,8 +29760,8 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29599
29760
|
}
|
|
29600
29761
|
|
|
29601
29762
|
// node_modules/@restart/ui/esm/SelectableContext.js
|
|
29602
|
-
var
|
|
29603
|
-
var SelectableContext = /* @__PURE__ */
|
|
29763
|
+
var React42 = __toESM(require_react());
|
|
29764
|
+
var SelectableContext = /* @__PURE__ */ React42.createContext(null);
|
|
29604
29765
|
var makeEventKey = (eventKey, href = null) => {
|
|
29605
29766
|
if (eventKey != null)
|
|
29606
29767
|
return String(eventKey);
|
|
@@ -29609,8 +29770,8 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29609
29770
|
var SelectableContext_default = SelectableContext;
|
|
29610
29771
|
|
|
29611
29772
|
// node_modules/@restart/ui/esm/NavContext.js
|
|
29612
|
-
var
|
|
29613
|
-
var NavContext = /* @__PURE__ */
|
|
29773
|
+
var React43 = __toESM(require_react());
|
|
29774
|
+
var NavContext = /* @__PURE__ */ React43.createContext(null);
|
|
29614
29775
|
NavContext.displayName = "NavContext";
|
|
29615
29776
|
var NavContext_default = NavContext;
|
|
29616
29777
|
|
|
@@ -29641,19 +29802,19 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29641
29802
|
var useIsomorphicEffect_default2 = isDOM2 || isReactNative2 ? import_react32.useLayoutEffect : import_react32.useEffect;
|
|
29642
29803
|
|
|
29643
29804
|
// node_modules/react-bootstrap/esm/NavbarContext.js
|
|
29644
|
-
var
|
|
29805
|
+
var React44 = __toESM(require_react());
|
|
29645
29806
|
"use client";
|
|
29646
|
-
var context2 = /* @__PURE__ */
|
|
29807
|
+
var context2 = /* @__PURE__ */ React44.createContext(null);
|
|
29647
29808
|
context2.displayName = "NavbarContext";
|
|
29648
29809
|
var NavbarContext_default = context2;
|
|
29649
29810
|
|
|
29650
29811
|
// node_modules/react-bootstrap/esm/ListGroup.js
|
|
29651
|
-
var
|
|
29652
|
-
var
|
|
29812
|
+
var import_classnames23 = __toESM(require_classnames());
|
|
29813
|
+
var React49 = __toESM(require_react());
|
|
29653
29814
|
var import_warning2 = __toESM(require_warning());
|
|
29654
29815
|
|
|
29655
29816
|
// node_modules/@restart/ui/esm/Nav.js
|
|
29656
|
-
var
|
|
29817
|
+
var React47 = __toESM(require_react());
|
|
29657
29818
|
var import_react35 = __toESM(require_react());
|
|
29658
29819
|
|
|
29659
29820
|
// node_modules/@restart/ui/node_modules/@restart/hooks/esm/useMergedRefs.js
|
|
@@ -29677,14 +29838,14 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29677
29838
|
var useMergedRefs_default2 = useMergedRefs2;
|
|
29678
29839
|
|
|
29679
29840
|
// node_modules/@restart/ui/esm/TabContext.js
|
|
29680
|
-
var
|
|
29681
|
-
var TabContext = /* @__PURE__ */
|
|
29841
|
+
var React45 = __toESM(require_react());
|
|
29842
|
+
var TabContext = /* @__PURE__ */ React45.createContext(null);
|
|
29682
29843
|
var TabContext_default = TabContext;
|
|
29683
29844
|
|
|
29684
29845
|
// node_modules/@restart/ui/esm/NavItem.js
|
|
29685
|
-
var
|
|
29846
|
+
var React46 = __toESM(require_react());
|
|
29686
29847
|
var import_react34 = __toESM(require_react());
|
|
29687
|
-
var
|
|
29848
|
+
var import_jsx_runtime27 = __toESM(require_jsx_runtime());
|
|
29688
29849
|
var _excluded3 = ["as", "active", "eventKey"];
|
|
29689
29850
|
function _objectWithoutPropertiesLoose4(r, e) {
|
|
29690
29851
|
if (null == r)
|
|
@@ -29749,7 +29910,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29749
29910
|
isActive
|
|
29750
29911
|
}];
|
|
29751
29912
|
}
|
|
29752
|
-
var NavItem = /* @__PURE__ */
|
|
29913
|
+
var NavItem = /* @__PURE__ */ React46.forwardRef((_ref, ref) => {
|
|
29753
29914
|
let {
|
|
29754
29915
|
as: Component4 = Button_default,
|
|
29755
29916
|
active,
|
|
@@ -29760,7 +29921,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29760
29921
|
active
|
|
29761
29922
|
}, options));
|
|
29762
29923
|
props[dataAttr("active")] = meta.isActive;
|
|
29763
|
-
return /* @__PURE__ */ (0,
|
|
29924
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Component4, Object.assign({}, options, props, {
|
|
29764
29925
|
ref
|
|
29765
29926
|
}));
|
|
29766
29927
|
});
|
|
@@ -29768,7 +29929,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29768
29929
|
var NavItem_default = NavItem;
|
|
29769
29930
|
|
|
29770
29931
|
// node_modules/@restart/ui/esm/Nav.js
|
|
29771
|
-
var
|
|
29932
|
+
var import_jsx_runtime28 = __toESM(require_jsx_runtime());
|
|
29772
29933
|
var _excluded4 = ["as", "onSelect", "activeKey", "role", "onKeyDown"];
|
|
29773
29934
|
function _objectWithoutPropertiesLoose5(r, e) {
|
|
29774
29935
|
if (null == r)
|
|
@@ -29785,7 +29946,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29785
29946
|
var noop2 = () => {
|
|
29786
29947
|
};
|
|
29787
29948
|
var EVENT_KEY_ATTR = dataAttr("event-key");
|
|
29788
|
-
var Nav = /* @__PURE__ */
|
|
29949
|
+
var Nav = /* @__PURE__ */ React47.forwardRef((_ref, ref) => {
|
|
29789
29950
|
let {
|
|
29790
29951
|
// Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
|
|
29791
29952
|
as: Component4 = "div",
|
|
@@ -29863,9 +30024,9 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29863
30024
|
needsRefocusRef.current = false;
|
|
29864
30025
|
});
|
|
29865
30026
|
const mergedRef = useMergedRefs_default2(ref, listNode);
|
|
29866
|
-
return /* @__PURE__ */ (0,
|
|
30027
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SelectableContext_default.Provider, {
|
|
29867
30028
|
value: handleSelect,
|
|
29868
|
-
children: /* @__PURE__ */ (0,
|
|
30029
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(NavContext_default.Provider, {
|
|
29869
30030
|
value: {
|
|
29870
30031
|
role,
|
|
29871
30032
|
// used by NavLink to determine it's role
|
|
@@ -29873,7 +30034,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29873
30034
|
getControlledId: getControlledId || noop2,
|
|
29874
30035
|
getControllerId: getControllerId || noop2
|
|
29875
30036
|
},
|
|
29876
|
-
children: /* @__PURE__ */ (0,
|
|
30037
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Component4, Object.assign({}, props, {
|
|
29877
30038
|
onKeyDown: handleKeyDown,
|
|
29878
30039
|
ref: mergedRef,
|
|
29879
30040
|
role
|
|
@@ -29887,12 +30048,12 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29887
30048
|
});
|
|
29888
30049
|
|
|
29889
30050
|
// node_modules/react-bootstrap/esm/ListGroupItem.js
|
|
29890
|
-
var
|
|
29891
|
-
var
|
|
30051
|
+
var import_classnames22 = __toESM(require_classnames());
|
|
30052
|
+
var React48 = __toESM(require_react());
|
|
29892
30053
|
var import_warning = __toESM(require_warning());
|
|
29893
|
-
var
|
|
30054
|
+
var import_jsx_runtime29 = __toESM(require_jsx_runtime());
|
|
29894
30055
|
"use client";
|
|
29895
|
-
var ListGroupItem = /* @__PURE__ */
|
|
30056
|
+
var ListGroupItem = /* @__PURE__ */ React48.forwardRef(({
|
|
29896
30057
|
bsPrefix,
|
|
29897
30058
|
active,
|
|
29898
30059
|
disabled,
|
|
@@ -29923,21 +30084,21 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29923
30084
|
}
|
|
29924
30085
|
const Component4 = as || (action ? props.href ? "a" : "button" : "div");
|
|
29925
30086
|
true ? (0, import_warning.default)(as || !(!action && props.href), "`action=false` and `href` should not be used together.") : void 0;
|
|
29926
|
-
return /* @__PURE__ */ (0,
|
|
30087
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Component4, {
|
|
29927
30088
|
ref,
|
|
29928
30089
|
...props,
|
|
29929
30090
|
...navItemProps,
|
|
29930
30091
|
onClick: handleClick,
|
|
29931
|
-
className: (0,
|
|
30092
|
+
className: (0, import_classnames22.default)(className, bsPrefix, meta.isActive && "active", disabled && "disabled", variant && `${bsPrefix}-${variant}`, action && `${bsPrefix}-action`)
|
|
29932
30093
|
});
|
|
29933
30094
|
});
|
|
29934
30095
|
ListGroupItem.displayName = "ListGroupItem";
|
|
29935
30096
|
var ListGroupItem_default = ListGroupItem;
|
|
29936
30097
|
|
|
29937
30098
|
// node_modules/react-bootstrap/esm/ListGroup.js
|
|
29938
|
-
var
|
|
30099
|
+
var import_jsx_runtime30 = __toESM(require_jsx_runtime());
|
|
29939
30100
|
"use client";
|
|
29940
|
-
var ListGroup = /* @__PURE__ */
|
|
30101
|
+
var ListGroup = /* @__PURE__ */ React49.forwardRef((props, ref) => {
|
|
29941
30102
|
const {
|
|
29942
30103
|
className,
|
|
29943
30104
|
bsPrefix: initialBsPrefix,
|
|
@@ -29956,11 +30117,11 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29956
30117
|
horizontalVariant = horizontal === true ? "horizontal" : `horizontal-${horizontal}`;
|
|
29957
30118
|
}
|
|
29958
30119
|
true ? (0, import_warning2.default)(!(horizontal && variant === "flush"), '`variant="flush"` and `horizontal` should not be used together.') : void 0;
|
|
29959
|
-
return /* @__PURE__ */ (0,
|
|
30120
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Nav_default, {
|
|
29960
30121
|
ref,
|
|
29961
30122
|
...controlledProps,
|
|
29962
30123
|
as,
|
|
29963
|
-
className: (0,
|
|
30124
|
+
className: (0, import_classnames23.default)(className, bsPrefix, variant && `${bsPrefix}-${variant}`, horizontalVariant && `${bsPrefix}-${horizontalVariant}`, numbered && `${bsPrefix}-numbered`)
|
|
29964
30125
|
});
|
|
29965
30126
|
});
|
|
29966
30127
|
ListGroup.displayName = "ListGroup";
|
|
@@ -29969,7 +30130,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29969
30130
|
});
|
|
29970
30131
|
|
|
29971
30132
|
// node_modules/react-bootstrap/esm/Modal.js
|
|
29972
|
-
var
|
|
30133
|
+
var import_classnames29 = __toESM(require_classnames());
|
|
29973
30134
|
|
|
29974
30135
|
// node_modules/dom-helpers/esm/scrollbarSize.js
|
|
29975
30136
|
var size;
|
|
@@ -29997,7 +30158,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
29997
30158
|
}
|
|
29998
30159
|
|
|
29999
30160
|
// node_modules/react-bootstrap/esm/Modal.js
|
|
30000
|
-
var
|
|
30161
|
+
var React60 = __toESM(require_react());
|
|
30001
30162
|
var import_react45 = __toESM(require_react());
|
|
30002
30163
|
|
|
30003
30164
|
// node_modules/dom-helpers/esm/activeElement.js
|
|
@@ -30017,7 +30178,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30017
30178
|
|
|
30018
30179
|
// node_modules/@restart/ui/esm/Modal.js
|
|
30019
30180
|
var import_react43 = __toESM(require_react());
|
|
30020
|
-
var
|
|
30181
|
+
var React52 = __toESM(require_react());
|
|
30021
30182
|
var import_react_dom3 = __toESM(require_react_dom());
|
|
30022
30183
|
|
|
30023
30184
|
// node_modules/@restart/ui/node_modules/@restart/hooks/esm/useUpdatedRef.js
|
|
@@ -30201,7 +30362,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30201
30362
|
var NoopTransition_default = NoopTransition;
|
|
30202
30363
|
|
|
30203
30364
|
// node_modules/@restart/ui/esm/RTGTransition.js
|
|
30204
|
-
var
|
|
30365
|
+
var React50 = __toESM(require_react());
|
|
30205
30366
|
|
|
30206
30367
|
// node_modules/@restart/ui/esm/useRTGTransitionProps.js
|
|
30207
30368
|
var import_react41 = __toESM(require_react());
|
|
@@ -30272,7 +30433,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30272
30433
|
}
|
|
30273
30434
|
|
|
30274
30435
|
// node_modules/@restart/ui/esm/RTGTransition.js
|
|
30275
|
-
var
|
|
30436
|
+
var import_jsx_runtime31 = __toESM(require_jsx_runtime());
|
|
30276
30437
|
var _excluded6 = ["component"];
|
|
30277
30438
|
function _objectWithoutPropertiesLoose7(r, e) {
|
|
30278
30439
|
if (null == r)
|
|
@@ -30286,19 +30447,19 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30286
30447
|
}
|
|
30287
30448
|
return t;
|
|
30288
30449
|
}
|
|
30289
|
-
var RTGTransition = /* @__PURE__ */
|
|
30450
|
+
var RTGTransition = /* @__PURE__ */ React50.forwardRef((_ref, ref) => {
|
|
30290
30451
|
let {
|
|
30291
30452
|
component: Component4
|
|
30292
30453
|
} = _ref, props = _objectWithoutPropertiesLoose7(_ref, _excluded6);
|
|
30293
30454
|
const transitionProps = useRTGTransitionProps(props);
|
|
30294
|
-
return /* @__PURE__ */ (0,
|
|
30455
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Component4, Object.assign({
|
|
30295
30456
|
ref
|
|
30296
30457
|
}, transitionProps));
|
|
30297
30458
|
});
|
|
30298
30459
|
var RTGTransition_default = RTGTransition;
|
|
30299
30460
|
|
|
30300
30461
|
// node_modules/@restart/ui/esm/ImperativeTransition.js
|
|
30301
|
-
var
|
|
30462
|
+
var import_jsx_runtime32 = __toESM(require_jsx_runtime());
|
|
30302
30463
|
function useTransition({
|
|
30303
30464
|
in: inProp,
|
|
30304
30465
|
onTransition
|
|
@@ -30367,20 +30528,20 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30367
30528
|
}
|
|
30368
30529
|
function renderTransition(component, runTransition, props) {
|
|
30369
30530
|
if (component) {
|
|
30370
|
-
return /* @__PURE__ */ (0,
|
|
30531
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RTGTransition_default, Object.assign({}, props, {
|
|
30371
30532
|
component
|
|
30372
30533
|
}));
|
|
30373
30534
|
}
|
|
30374
30535
|
if (runTransition) {
|
|
30375
|
-
return /* @__PURE__ */ (0,
|
|
30536
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ImperativeTransition, Object.assign({}, props, {
|
|
30376
30537
|
transition: runTransition
|
|
30377
30538
|
}));
|
|
30378
30539
|
}
|
|
30379
|
-
return /* @__PURE__ */ (0,
|
|
30540
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(NoopTransition_default, Object.assign({}, props));
|
|
30380
30541
|
}
|
|
30381
30542
|
|
|
30382
30543
|
// node_modules/@restart/ui/esm/Modal.js
|
|
30383
|
-
var
|
|
30544
|
+
var import_jsx_runtime33 = __toESM(require_jsx_runtime());
|
|
30384
30545
|
var _excluded7 = ["show", "role", "className", "style", "children", "backdrop", "keyboard", "onBackdropClick", "onEscapeKeyDown", "transition", "runTransition", "backdropTransition", "runBackdropTransition", "autoFocus", "enforceFocus", "restoreFocus", "restoreFocusOptions", "renderDialog", "renderBackdrop", "manager", "container", "onShow", "onHide", "onExit", "onExited", "onExiting", "onEnter", "onEntering", "onEntered"];
|
|
30385
30546
|
function _objectWithoutPropertiesLoose8(r, e) {
|
|
30386
30547
|
if (null == r)
|
|
@@ -30441,7 +30602,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30441
30602
|
restoreFocus = true,
|
|
30442
30603
|
restoreFocusOptions,
|
|
30443
30604
|
renderDialog,
|
|
30444
|
-
renderBackdrop = (props) => /* @__PURE__ */ (0,
|
|
30605
|
+
renderBackdrop = (props) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", Object.assign({}, props)),
|
|
30445
30606
|
manager: providedManager,
|
|
30446
30607
|
container: containerRef,
|
|
30447
30608
|
onShow,
|
|
@@ -30564,8 +30725,8 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30564
30725
|
className,
|
|
30565
30726
|
tabIndex: -1
|
|
30566
30727
|
});
|
|
30567
|
-
let dialog = renderDialog ? renderDialog(dialogProps) : /* @__PURE__ */ (0,
|
|
30568
|
-
children: /* @__PURE__ */
|
|
30728
|
+
let dialog = renderDialog ? renderDialog(dialogProps) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", Object.assign({}, dialogProps, {
|
|
30729
|
+
children: /* @__PURE__ */ React52.cloneElement(children, {
|
|
30569
30730
|
role: "document"
|
|
30570
30731
|
})
|
|
30571
30732
|
}));
|
|
@@ -30596,8 +30757,8 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30596
30757
|
children: backdropElement
|
|
30597
30758
|
});
|
|
30598
30759
|
}
|
|
30599
|
-
return /* @__PURE__ */ (0,
|
|
30600
|
-
children: /* @__PURE__ */ import_react_dom3.default.createPortal(/* @__PURE__ */ (0,
|
|
30760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, {
|
|
30761
|
+
children: /* @__PURE__ */ import_react_dom3.default.createPortal(/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, {
|
|
30601
30762
|
children: [backdropElement, dialog]
|
|
30602
30763
|
}), container)
|
|
30603
30764
|
});
|
|
@@ -30694,20 +30855,20 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30694
30855
|
var BootstrapModalManager_default = BootstrapModalManager;
|
|
30695
30856
|
|
|
30696
30857
|
// node_modules/react-bootstrap/esm/ModalBody.js
|
|
30697
|
-
var
|
|
30698
|
-
var
|
|
30699
|
-
var
|
|
30858
|
+
var React53 = __toESM(require_react());
|
|
30859
|
+
var import_classnames24 = __toESM(require_classnames());
|
|
30860
|
+
var import_jsx_runtime34 = __toESM(require_jsx_runtime());
|
|
30700
30861
|
"use client";
|
|
30701
|
-
var ModalBody = /* @__PURE__ */
|
|
30862
|
+
var ModalBody = /* @__PURE__ */ React53.forwardRef(({
|
|
30702
30863
|
className,
|
|
30703
30864
|
bsPrefix,
|
|
30704
30865
|
as: Component4 = "div",
|
|
30705
30866
|
...props
|
|
30706
30867
|
}, ref) => {
|
|
30707
30868
|
bsPrefix = useBootstrapPrefix(bsPrefix, "modal-body");
|
|
30708
|
-
return /* @__PURE__ */ (0,
|
|
30869
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Component4, {
|
|
30709
30870
|
ref,
|
|
30710
|
-
className: (0,
|
|
30871
|
+
className: (0, import_classnames24.default)(className, bsPrefix),
|
|
30711
30872
|
...props
|
|
30712
30873
|
});
|
|
30713
30874
|
});
|
|
@@ -30715,20 +30876,20 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30715
30876
|
var ModalBody_default = ModalBody;
|
|
30716
30877
|
|
|
30717
30878
|
// node_modules/react-bootstrap/esm/ModalContext.js
|
|
30718
|
-
var
|
|
30879
|
+
var React54 = __toESM(require_react());
|
|
30719
30880
|
"use client";
|
|
30720
|
-
var ModalContext = /* @__PURE__ */
|
|
30881
|
+
var ModalContext = /* @__PURE__ */ React54.createContext({
|
|
30721
30882
|
onHide() {
|
|
30722
30883
|
}
|
|
30723
30884
|
});
|
|
30724
30885
|
var ModalContext_default = ModalContext;
|
|
30725
30886
|
|
|
30726
30887
|
// node_modules/react-bootstrap/esm/ModalDialog.js
|
|
30727
|
-
var
|
|
30728
|
-
var
|
|
30729
|
-
var
|
|
30888
|
+
var import_classnames25 = __toESM(require_classnames());
|
|
30889
|
+
var React55 = __toESM(require_react());
|
|
30890
|
+
var import_jsx_runtime35 = __toESM(require_jsx_runtime());
|
|
30730
30891
|
"use client";
|
|
30731
|
-
var ModalDialog = /* @__PURE__ */
|
|
30892
|
+
var ModalDialog = /* @__PURE__ */ React55.forwardRef(({
|
|
30732
30893
|
bsPrefix,
|
|
30733
30894
|
className,
|
|
30734
30895
|
contentClassName,
|
|
@@ -30742,12 +30903,12 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30742
30903
|
bsPrefix = useBootstrapPrefix(bsPrefix, "modal");
|
|
30743
30904
|
const dialogClass = `${bsPrefix}-dialog`;
|
|
30744
30905
|
const fullScreenClass = typeof fullscreen === "string" ? `${bsPrefix}-fullscreen-${fullscreen}` : `${bsPrefix}-fullscreen`;
|
|
30745
|
-
return /* @__PURE__ */ (0,
|
|
30906
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", {
|
|
30746
30907
|
...props,
|
|
30747
30908
|
ref,
|
|
30748
|
-
className: (0,
|
|
30749
|
-
children: /* @__PURE__ */ (0,
|
|
30750
|
-
className: (0,
|
|
30909
|
+
className: (0, import_classnames25.default)(dialogClass, className, size2 && `${bsPrefix}-${size2}`, centered && `${dialogClass}-centered`, scrollable && `${dialogClass}-scrollable`, fullscreen && fullScreenClass),
|
|
30910
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", {
|
|
30911
|
+
className: (0, import_classnames25.default)(`${bsPrefix}-content`, contentClassName),
|
|
30751
30912
|
children
|
|
30752
30913
|
})
|
|
30753
30914
|
});
|
|
@@ -30756,20 +30917,20 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30756
30917
|
var ModalDialog_default = ModalDialog;
|
|
30757
30918
|
|
|
30758
30919
|
// node_modules/react-bootstrap/esm/ModalFooter.js
|
|
30759
|
-
var
|
|
30760
|
-
var
|
|
30761
|
-
var
|
|
30920
|
+
var React56 = __toESM(require_react());
|
|
30921
|
+
var import_classnames26 = __toESM(require_classnames());
|
|
30922
|
+
var import_jsx_runtime36 = __toESM(require_jsx_runtime());
|
|
30762
30923
|
"use client";
|
|
30763
|
-
var ModalFooter = /* @__PURE__ */
|
|
30924
|
+
var ModalFooter = /* @__PURE__ */ React56.forwardRef(({
|
|
30764
30925
|
className,
|
|
30765
30926
|
bsPrefix,
|
|
30766
30927
|
as: Component4 = "div",
|
|
30767
30928
|
...props
|
|
30768
30929
|
}, ref) => {
|
|
30769
30930
|
bsPrefix = useBootstrapPrefix(bsPrefix, "modal-footer");
|
|
30770
|
-
return /* @__PURE__ */ (0,
|
|
30931
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Component4, {
|
|
30771
30932
|
ref,
|
|
30772
|
-
className: (0,
|
|
30933
|
+
className: (0, import_classnames26.default)(className, bsPrefix),
|
|
30773
30934
|
...props
|
|
30774
30935
|
});
|
|
30775
30936
|
});
|
|
@@ -30777,16 +30938,16 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30777
30938
|
var ModalFooter_default = ModalFooter;
|
|
30778
30939
|
|
|
30779
30940
|
// node_modules/react-bootstrap/esm/ModalHeader.js
|
|
30780
|
-
var
|
|
30781
|
-
var
|
|
30941
|
+
var import_classnames27 = __toESM(require_classnames());
|
|
30942
|
+
var React58 = __toESM(require_react());
|
|
30782
30943
|
|
|
30783
30944
|
// node_modules/react-bootstrap/esm/AbstractModalHeader.js
|
|
30784
|
-
var
|
|
30945
|
+
var React57 = __toESM(require_react());
|
|
30785
30946
|
var import_react44 = __toESM(require_react());
|
|
30786
|
-
var import_jsx_runtime36 = __toESM(require_jsx_runtime());
|
|
30787
30947
|
var import_jsx_runtime37 = __toESM(require_jsx_runtime());
|
|
30948
|
+
var import_jsx_runtime38 = __toESM(require_jsx_runtime());
|
|
30788
30949
|
"use client";
|
|
30789
|
-
var AbstractModalHeader = /* @__PURE__ */
|
|
30950
|
+
var AbstractModalHeader = /* @__PURE__ */ React57.forwardRef(({
|
|
30790
30951
|
closeLabel = "Close",
|
|
30791
30952
|
closeVariant,
|
|
30792
30953
|
closeButton = false,
|
|
@@ -30799,10 +30960,10 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30799
30960
|
context3 == null || context3.onHide();
|
|
30800
30961
|
onHide == null || onHide();
|
|
30801
30962
|
});
|
|
30802
|
-
return /* @__PURE__ */ (0,
|
|
30963
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", {
|
|
30803
30964
|
ref,
|
|
30804
30965
|
...props,
|
|
30805
|
-
children: [children, closeButton && /* @__PURE__ */ (0,
|
|
30966
|
+
children: [children, closeButton && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(CloseButton_default, {
|
|
30806
30967
|
"aria-label": closeLabel,
|
|
30807
30968
|
variant: closeVariant,
|
|
30808
30969
|
onClick: handleClick
|
|
@@ -30813,9 +30974,9 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30813
30974
|
var AbstractModalHeader_default = AbstractModalHeader;
|
|
30814
30975
|
|
|
30815
30976
|
// node_modules/react-bootstrap/esm/ModalHeader.js
|
|
30816
|
-
var
|
|
30977
|
+
var import_jsx_runtime39 = __toESM(require_jsx_runtime());
|
|
30817
30978
|
"use client";
|
|
30818
|
-
var ModalHeader = /* @__PURE__ */
|
|
30979
|
+
var ModalHeader = /* @__PURE__ */ React58.forwardRef(({
|
|
30819
30980
|
bsPrefix,
|
|
30820
30981
|
className,
|
|
30821
30982
|
closeLabel = "Close",
|
|
@@ -30823,10 +30984,10 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30823
30984
|
...props
|
|
30824
30985
|
}, ref) => {
|
|
30825
30986
|
bsPrefix = useBootstrapPrefix(bsPrefix, "modal-header");
|
|
30826
|
-
return /* @__PURE__ */ (0,
|
|
30987
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(AbstractModalHeader_default, {
|
|
30827
30988
|
ref,
|
|
30828
30989
|
...props,
|
|
30829
|
-
className: (0,
|
|
30990
|
+
className: (0, import_classnames27.default)(className, bsPrefix),
|
|
30830
30991
|
closeLabel,
|
|
30831
30992
|
closeButton
|
|
30832
30993
|
});
|
|
@@ -30835,21 +30996,21 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30835
30996
|
var ModalHeader_default = ModalHeader;
|
|
30836
30997
|
|
|
30837
30998
|
// node_modules/react-bootstrap/esm/ModalTitle.js
|
|
30838
|
-
var
|
|
30839
|
-
var
|
|
30840
|
-
var
|
|
30999
|
+
var React59 = __toESM(require_react());
|
|
31000
|
+
var import_classnames28 = __toESM(require_classnames());
|
|
31001
|
+
var import_jsx_runtime40 = __toESM(require_jsx_runtime());
|
|
30841
31002
|
"use client";
|
|
30842
31003
|
var DivStyledAsH42 = divWithClassName_default("h4");
|
|
30843
|
-
var ModalTitle = /* @__PURE__ */
|
|
31004
|
+
var ModalTitle = /* @__PURE__ */ React59.forwardRef(({
|
|
30844
31005
|
className,
|
|
30845
31006
|
bsPrefix,
|
|
30846
31007
|
as: Component4 = DivStyledAsH42,
|
|
30847
31008
|
...props
|
|
30848
31009
|
}, ref) => {
|
|
30849
31010
|
bsPrefix = useBootstrapPrefix(bsPrefix, "modal-title");
|
|
30850
|
-
return /* @__PURE__ */ (0,
|
|
31011
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Component4, {
|
|
30851
31012
|
ref,
|
|
30852
|
-
className: (0,
|
|
31013
|
+
className: (0, import_classnames28.default)(className, bsPrefix),
|
|
30853
31014
|
...props
|
|
30854
31015
|
});
|
|
30855
31016
|
});
|
|
@@ -30857,21 +31018,21 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
30857
31018
|
var ModalTitle_default = ModalTitle;
|
|
30858
31019
|
|
|
30859
31020
|
// node_modules/react-bootstrap/esm/Modal.js
|
|
30860
|
-
var
|
|
31021
|
+
var import_jsx_runtime41 = __toESM(require_jsx_runtime());
|
|
30861
31022
|
"use client";
|
|
30862
31023
|
function DialogTransition(props) {
|
|
30863
|
-
return /* @__PURE__ */ (0,
|
|
31024
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Fade_default, {
|
|
30864
31025
|
...props,
|
|
30865
31026
|
timeout: null
|
|
30866
31027
|
});
|
|
30867
31028
|
}
|
|
30868
31029
|
function BackdropTransition(props) {
|
|
30869
|
-
return /* @__PURE__ */ (0,
|
|
31030
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Fade_default, {
|
|
30870
31031
|
...props,
|
|
30871
31032
|
timeout: null
|
|
30872
31033
|
});
|
|
30873
31034
|
}
|
|
30874
|
-
var Modal2 = /* @__PURE__ */
|
|
31035
|
+
var Modal2 = /* @__PURE__ */ React60.forwardRef(({
|
|
30875
31036
|
bsPrefix,
|
|
30876
31037
|
className,
|
|
30877
31038
|
style: style2,
|
|
@@ -31007,27 +31168,27 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31007
31168
|
onExited == null || onExited(node);
|
|
31008
31169
|
removeEventListener_default(window, "resize", handleWindowResize);
|
|
31009
31170
|
};
|
|
31010
|
-
const renderBackdrop = (0, import_react45.useCallback)((backdropProps) => /* @__PURE__ */ (0,
|
|
31171
|
+
const renderBackdrop = (0, import_react45.useCallback)((backdropProps) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", {
|
|
31011
31172
|
...backdropProps,
|
|
31012
|
-
className: (0,
|
|
31173
|
+
className: (0, import_classnames29.default)(`${bsPrefix}-backdrop`, backdropClassName, !animation && "show")
|
|
31013
31174
|
}), [animation, backdropClassName, bsPrefix]);
|
|
31014
31175
|
const baseModalStyle = {
|
|
31015
31176
|
...style2,
|
|
31016
31177
|
...modalStyle
|
|
31017
31178
|
};
|
|
31018
31179
|
baseModalStyle.display = "block";
|
|
31019
|
-
const renderDialog = (dialogProps) => /* @__PURE__ */ (0,
|
|
31180
|
+
const renderDialog = (dialogProps) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", {
|
|
31020
31181
|
role: "dialog",
|
|
31021
31182
|
...dialogProps,
|
|
31022
31183
|
style: baseModalStyle,
|
|
31023
|
-
className: (0,
|
|
31184
|
+
className: (0, import_classnames29.default)(className, bsPrefix, animateStaticModal && `${bsPrefix}-static`, !animation && "show"),
|
|
31024
31185
|
onClick: backdrop ? handleClick : void 0,
|
|
31025
31186
|
onMouseUp: handleMouseUp,
|
|
31026
31187
|
"data-bs-theme": dataBsTheme,
|
|
31027
31188
|
"aria-label": ariaLabel,
|
|
31028
31189
|
"aria-labelledby": ariaLabelledby,
|
|
31029
31190
|
"aria-describedby": ariaDescribedby,
|
|
31030
|
-
children: /* @__PURE__ */ (0,
|
|
31191
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Dialog, {
|
|
31031
31192
|
...props,
|
|
31032
31193
|
onMouseDown: handleDialogMouseDown,
|
|
31033
31194
|
className: dialogClassName,
|
|
@@ -31035,9 +31196,9 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31035
31196
|
children
|
|
31036
31197
|
})
|
|
31037
31198
|
});
|
|
31038
|
-
return /* @__PURE__ */ (0,
|
|
31199
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ModalContext_default.Provider, {
|
|
31039
31200
|
value: modalContext,
|
|
31040
|
-
children: /* @__PURE__ */ (0,
|
|
31201
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Modal_default, {
|
|
31041
31202
|
show,
|
|
31042
31203
|
ref: mergedRef,
|
|
31043
31204
|
backdrop,
|
|
@@ -31076,25 +31237,25 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31076
31237
|
});
|
|
31077
31238
|
|
|
31078
31239
|
// node_modules/react-bootstrap/esm/Nav.js
|
|
31079
|
-
var
|
|
31080
|
-
var
|
|
31240
|
+
var import_classnames32 = __toESM(require_classnames());
|
|
31241
|
+
var React63 = __toESM(require_react());
|
|
31081
31242
|
var import_react46 = __toESM(require_react());
|
|
31082
31243
|
|
|
31083
31244
|
// node_modules/react-bootstrap/esm/NavItem.js
|
|
31084
|
-
var
|
|
31085
|
-
var
|
|
31086
|
-
var
|
|
31245
|
+
var React61 = __toESM(require_react());
|
|
31246
|
+
var import_classnames30 = __toESM(require_classnames());
|
|
31247
|
+
var import_jsx_runtime42 = __toESM(require_jsx_runtime());
|
|
31087
31248
|
"use client";
|
|
31088
|
-
var NavItem2 = /* @__PURE__ */
|
|
31249
|
+
var NavItem2 = /* @__PURE__ */ React61.forwardRef(({
|
|
31089
31250
|
className,
|
|
31090
31251
|
bsPrefix,
|
|
31091
31252
|
as: Component4 = "div",
|
|
31092
31253
|
...props
|
|
31093
31254
|
}, ref) => {
|
|
31094
31255
|
bsPrefix = useBootstrapPrefix(bsPrefix, "nav-item");
|
|
31095
|
-
return /* @__PURE__ */ (0,
|
|
31256
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Component4, {
|
|
31096
31257
|
ref,
|
|
31097
|
-
className: (0,
|
|
31258
|
+
className: (0, import_classnames30.default)(className, bsPrefix),
|
|
31098
31259
|
...props
|
|
31099
31260
|
});
|
|
31100
31261
|
});
|
|
@@ -31102,11 +31263,11 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31102
31263
|
var NavItem_default2 = NavItem2;
|
|
31103
31264
|
|
|
31104
31265
|
// node_modules/react-bootstrap/esm/NavLink.js
|
|
31105
|
-
var
|
|
31106
|
-
var
|
|
31107
|
-
var
|
|
31266
|
+
var import_classnames31 = __toESM(require_classnames());
|
|
31267
|
+
var React62 = __toESM(require_react());
|
|
31268
|
+
var import_jsx_runtime43 = __toESM(require_jsx_runtime());
|
|
31108
31269
|
"use client";
|
|
31109
|
-
var NavLink2 = /* @__PURE__ */
|
|
31270
|
+
var NavLink2 = /* @__PURE__ */ React62.forwardRef(({
|
|
31110
31271
|
bsPrefix,
|
|
31111
31272
|
className,
|
|
31112
31273
|
as: Component4 = Anchor_default,
|
|
@@ -31122,21 +31283,21 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31122
31283
|
disabled,
|
|
31123
31284
|
...props
|
|
31124
31285
|
});
|
|
31125
|
-
return /* @__PURE__ */ (0,
|
|
31286
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Component4, {
|
|
31126
31287
|
...props,
|
|
31127
31288
|
...navItemProps,
|
|
31128
31289
|
ref,
|
|
31129
31290
|
disabled,
|
|
31130
|
-
className: (0,
|
|
31291
|
+
className: (0, import_classnames31.default)(className, bsPrefix, disabled && "disabled", meta.isActive && "active")
|
|
31131
31292
|
});
|
|
31132
31293
|
});
|
|
31133
31294
|
NavLink2.displayName = "NavLink";
|
|
31134
31295
|
var NavLink_default = NavLink2;
|
|
31135
31296
|
|
|
31136
31297
|
// node_modules/react-bootstrap/esm/Nav.js
|
|
31137
|
-
var
|
|
31298
|
+
var import_jsx_runtime44 = __toESM(require_jsx_runtime());
|
|
31138
31299
|
"use client";
|
|
31139
|
-
var Nav2 = /* @__PURE__ */
|
|
31300
|
+
var Nav2 = /* @__PURE__ */ React63.forwardRef((uncontrolledProps, ref) => {
|
|
31140
31301
|
const {
|
|
31141
31302
|
as = "div",
|
|
31142
31303
|
bsPrefix: initialBsPrefix,
|
|
@@ -31165,11 +31326,11 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31165
31326
|
cardHeaderBsPrefix
|
|
31166
31327
|
} = cardHeaderContext);
|
|
31167
31328
|
}
|
|
31168
|
-
return /* @__PURE__ */ (0,
|
|
31329
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Nav_default, {
|
|
31169
31330
|
as,
|
|
31170
31331
|
ref,
|
|
31171
31332
|
activeKey,
|
|
31172
|
-
className: (0,
|
|
31333
|
+
className: (0, import_classnames32.default)(className, {
|
|
31173
31334
|
[bsPrefix]: !isNavbar,
|
|
31174
31335
|
[`${navbarBsPrefix}-nav`]: isNavbar,
|
|
31175
31336
|
[`${navbarBsPrefix}-nav-scroll`]: isNavbar && navbarScroll,
|
|
@@ -31188,16 +31349,16 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31188
31349
|
});
|
|
31189
31350
|
|
|
31190
31351
|
// node_modules/react-bootstrap/esm/Navbar.js
|
|
31191
|
-
var
|
|
31192
|
-
var
|
|
31352
|
+
var import_classnames41 = __toESM(require_classnames());
|
|
31353
|
+
var React74 = __toESM(require_react());
|
|
31193
31354
|
var import_react53 = __toESM(require_react());
|
|
31194
31355
|
|
|
31195
31356
|
// node_modules/react-bootstrap/esm/NavbarBrand.js
|
|
31196
|
-
var
|
|
31197
|
-
var
|
|
31198
|
-
var
|
|
31357
|
+
var import_classnames33 = __toESM(require_classnames());
|
|
31358
|
+
var React64 = __toESM(require_react());
|
|
31359
|
+
var import_jsx_runtime45 = __toESM(require_jsx_runtime());
|
|
31199
31360
|
"use client";
|
|
31200
|
-
var NavbarBrand = /* @__PURE__ */
|
|
31361
|
+
var NavbarBrand = /* @__PURE__ */ React64.forwardRef(({
|
|
31201
31362
|
bsPrefix,
|
|
31202
31363
|
className,
|
|
31203
31364
|
as,
|
|
@@ -31205,31 +31366,31 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31205
31366
|
}, ref) => {
|
|
31206
31367
|
bsPrefix = useBootstrapPrefix(bsPrefix, "navbar-brand");
|
|
31207
31368
|
const Component4 = as || (props.href ? "a" : "span");
|
|
31208
|
-
return /* @__PURE__ */ (0,
|
|
31369
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Component4, {
|
|
31209
31370
|
...props,
|
|
31210
31371
|
ref,
|
|
31211
|
-
className: (0,
|
|
31372
|
+
className: (0, import_classnames33.default)(className, bsPrefix)
|
|
31212
31373
|
});
|
|
31213
31374
|
});
|
|
31214
31375
|
NavbarBrand.displayName = "NavbarBrand";
|
|
31215
31376
|
var NavbarBrand_default = NavbarBrand;
|
|
31216
31377
|
|
|
31217
31378
|
// node_modules/react-bootstrap/esm/NavbarCollapse.js
|
|
31218
|
-
var
|
|
31379
|
+
var React65 = __toESM(require_react());
|
|
31219
31380
|
var import_react47 = __toESM(require_react());
|
|
31220
|
-
var
|
|
31381
|
+
var import_jsx_runtime46 = __toESM(require_jsx_runtime());
|
|
31221
31382
|
"use client";
|
|
31222
|
-
var NavbarCollapse = /* @__PURE__ */
|
|
31383
|
+
var NavbarCollapse = /* @__PURE__ */ React65.forwardRef(({
|
|
31223
31384
|
children,
|
|
31224
31385
|
bsPrefix,
|
|
31225
31386
|
...props
|
|
31226
31387
|
}, ref) => {
|
|
31227
31388
|
bsPrefix = useBootstrapPrefix(bsPrefix, "navbar-collapse");
|
|
31228
31389
|
const context3 = (0, import_react47.useContext)(NavbarContext_default);
|
|
31229
|
-
return /* @__PURE__ */ (0,
|
|
31390
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Collapse_default, {
|
|
31230
31391
|
in: !!(context3 && context3.expanded),
|
|
31231
31392
|
...props,
|
|
31232
|
-
children: /* @__PURE__ */ (0,
|
|
31393
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", {
|
|
31233
31394
|
ref,
|
|
31234
31395
|
className: bsPrefix,
|
|
31235
31396
|
children
|
|
@@ -31240,12 +31401,12 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31240
31401
|
var NavbarCollapse_default = NavbarCollapse;
|
|
31241
31402
|
|
|
31242
31403
|
// node_modules/react-bootstrap/esm/NavbarToggle.js
|
|
31243
|
-
var
|
|
31244
|
-
var
|
|
31404
|
+
var import_classnames34 = __toESM(require_classnames());
|
|
31405
|
+
var React66 = __toESM(require_react());
|
|
31245
31406
|
var import_react48 = __toESM(require_react());
|
|
31246
|
-
var
|
|
31407
|
+
var import_jsx_runtime47 = __toESM(require_jsx_runtime());
|
|
31247
31408
|
"use client";
|
|
31248
|
-
var NavbarToggle = /* @__PURE__ */
|
|
31409
|
+
var NavbarToggle = /* @__PURE__ */ React66.forwardRef(({
|
|
31249
31410
|
bsPrefix,
|
|
31250
31411
|
className,
|
|
31251
31412
|
children,
|
|
@@ -31269,13 +31430,13 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31269
31430
|
if (Component4 === "button") {
|
|
31270
31431
|
props.type = "button";
|
|
31271
31432
|
}
|
|
31272
|
-
return /* @__PURE__ */ (0,
|
|
31433
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Component4, {
|
|
31273
31434
|
...props,
|
|
31274
31435
|
ref,
|
|
31275
31436
|
onClick: handleClick,
|
|
31276
31437
|
"aria-label": label,
|
|
31277
|
-
className: (0,
|
|
31278
|
-
children: children || /* @__PURE__ */ (0,
|
|
31438
|
+
className: (0, import_classnames34.default)(className, bsPrefix, !expanded && "collapsed"),
|
|
31439
|
+
children: children || /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", {
|
|
31279
31440
|
className: `${bsPrefix}-icon`
|
|
31280
31441
|
})
|
|
31281
31442
|
});
|
|
@@ -31284,11 +31445,11 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31284
31445
|
var NavbarToggle_default = NavbarToggle;
|
|
31285
31446
|
|
|
31286
31447
|
// node_modules/react-bootstrap/esm/NavbarOffcanvas.js
|
|
31287
|
-
var
|
|
31448
|
+
var React72 = __toESM(require_react());
|
|
31288
31449
|
var import_react52 = __toESM(require_react());
|
|
31289
31450
|
|
|
31290
31451
|
// node_modules/react-bootstrap/esm/Offcanvas.js
|
|
31291
|
-
var
|
|
31452
|
+
var import_classnames39 = __toESM(require_classnames());
|
|
31292
31453
|
|
|
31293
31454
|
// node_modules/@restart/hooks/esm/useMediaQuery.js
|
|
31294
31455
|
var import_react49 = __toESM(require_react());
|
|
@@ -31398,24 +31559,24 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31398
31559
|
var useBreakpoint_default = useBreakpoint;
|
|
31399
31560
|
|
|
31400
31561
|
// node_modules/react-bootstrap/esm/Offcanvas.js
|
|
31401
|
-
var
|
|
31562
|
+
var React71 = __toESM(require_react());
|
|
31402
31563
|
var import_react51 = __toESM(require_react());
|
|
31403
31564
|
|
|
31404
31565
|
// node_modules/react-bootstrap/esm/OffcanvasBody.js
|
|
31405
|
-
var
|
|
31406
|
-
var
|
|
31407
|
-
var
|
|
31566
|
+
var React67 = __toESM(require_react());
|
|
31567
|
+
var import_classnames35 = __toESM(require_classnames());
|
|
31568
|
+
var import_jsx_runtime48 = __toESM(require_jsx_runtime());
|
|
31408
31569
|
"use client";
|
|
31409
|
-
var OffcanvasBody = /* @__PURE__ */
|
|
31570
|
+
var OffcanvasBody = /* @__PURE__ */ React67.forwardRef(({
|
|
31410
31571
|
className,
|
|
31411
31572
|
bsPrefix,
|
|
31412
31573
|
as: Component4 = "div",
|
|
31413
31574
|
...props
|
|
31414
31575
|
}, ref) => {
|
|
31415
31576
|
bsPrefix = useBootstrapPrefix(bsPrefix, "offcanvas-body");
|
|
31416
|
-
return /* @__PURE__ */ (0,
|
|
31577
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Component4, {
|
|
31417
31578
|
ref,
|
|
31418
|
-
className: (0,
|
|
31579
|
+
className: (0, import_classnames35.default)(className, bsPrefix),
|
|
31419
31580
|
...props
|
|
31420
31581
|
});
|
|
31421
31582
|
});
|
|
@@ -31423,15 +31584,15 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31423
31584
|
var OffcanvasBody_default = OffcanvasBody;
|
|
31424
31585
|
|
|
31425
31586
|
// node_modules/react-bootstrap/esm/OffcanvasToggling.js
|
|
31426
|
-
var
|
|
31427
|
-
var
|
|
31428
|
-
var
|
|
31587
|
+
var import_classnames36 = __toESM(require_classnames());
|
|
31588
|
+
var React68 = __toESM(require_react());
|
|
31589
|
+
var import_jsx_runtime49 = __toESM(require_jsx_runtime());
|
|
31429
31590
|
"use client";
|
|
31430
31591
|
var transitionStyles = {
|
|
31431
31592
|
[ENTERING]: "show",
|
|
31432
31593
|
[ENTERED]: "show"
|
|
31433
31594
|
};
|
|
31434
|
-
var OffcanvasToggling = /* @__PURE__ */
|
|
31595
|
+
var OffcanvasToggling = /* @__PURE__ */ React68.forwardRef(({
|
|
31435
31596
|
bsPrefix,
|
|
31436
31597
|
className,
|
|
31437
31598
|
children,
|
|
@@ -31442,7 +31603,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31442
31603
|
...props
|
|
31443
31604
|
}, ref) => {
|
|
31444
31605
|
bsPrefix = useBootstrapPrefix(bsPrefix, "offcanvas");
|
|
31445
|
-
return /* @__PURE__ */ (0,
|
|
31606
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TransitionWrapper_default, {
|
|
31446
31607
|
ref,
|
|
31447
31608
|
addEndListener: transitionEndListener,
|
|
31448
31609
|
in: inProp,
|
|
@@ -31451,9 +31612,9 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31451
31612
|
appear,
|
|
31452
31613
|
...props,
|
|
31453
31614
|
childRef: getChildRef(children),
|
|
31454
|
-
children: (status, innerProps) => /* @__PURE__ */
|
|
31615
|
+
children: (status, innerProps) => /* @__PURE__ */ React68.cloneElement(children, {
|
|
31455
31616
|
...innerProps,
|
|
31456
|
-
className: (0,
|
|
31617
|
+
className: (0, import_classnames36.default)(className, children.props.className, (status === ENTERING || status === EXITING) && `${bsPrefix}-toggling`, transitionStyles[status])
|
|
31457
31618
|
})
|
|
31458
31619
|
});
|
|
31459
31620
|
});
|
|
@@ -31461,11 +31622,11 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31461
31622
|
var OffcanvasToggling_default = OffcanvasToggling;
|
|
31462
31623
|
|
|
31463
31624
|
// node_modules/react-bootstrap/esm/OffcanvasHeader.js
|
|
31464
|
-
var
|
|
31465
|
-
var
|
|
31466
|
-
var
|
|
31625
|
+
var import_classnames37 = __toESM(require_classnames());
|
|
31626
|
+
var React69 = __toESM(require_react());
|
|
31627
|
+
var import_jsx_runtime50 = __toESM(require_jsx_runtime());
|
|
31467
31628
|
"use client";
|
|
31468
|
-
var OffcanvasHeader = /* @__PURE__ */
|
|
31629
|
+
var OffcanvasHeader = /* @__PURE__ */ React69.forwardRef(({
|
|
31469
31630
|
bsPrefix,
|
|
31470
31631
|
className,
|
|
31471
31632
|
closeLabel = "Close",
|
|
@@ -31473,10 +31634,10 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31473
31634
|
...props
|
|
31474
31635
|
}, ref) => {
|
|
31475
31636
|
bsPrefix = useBootstrapPrefix(bsPrefix, "offcanvas-header");
|
|
31476
|
-
return /* @__PURE__ */ (0,
|
|
31637
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(AbstractModalHeader_default, {
|
|
31477
31638
|
ref,
|
|
31478
31639
|
...props,
|
|
31479
|
-
className: (0,
|
|
31640
|
+
className: (0, import_classnames37.default)(className, bsPrefix),
|
|
31480
31641
|
closeLabel,
|
|
31481
31642
|
closeButton
|
|
31482
31643
|
});
|
|
@@ -31485,21 +31646,21 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31485
31646
|
var OffcanvasHeader_default = OffcanvasHeader;
|
|
31486
31647
|
|
|
31487
31648
|
// node_modules/react-bootstrap/esm/OffcanvasTitle.js
|
|
31488
|
-
var
|
|
31489
|
-
var
|
|
31490
|
-
var
|
|
31649
|
+
var React70 = __toESM(require_react());
|
|
31650
|
+
var import_classnames38 = __toESM(require_classnames());
|
|
31651
|
+
var import_jsx_runtime51 = __toESM(require_jsx_runtime());
|
|
31491
31652
|
"use client";
|
|
31492
31653
|
var DivStyledAsH52 = divWithClassName_default("h5");
|
|
31493
|
-
var OffcanvasTitle = /* @__PURE__ */
|
|
31654
|
+
var OffcanvasTitle = /* @__PURE__ */ React70.forwardRef(({
|
|
31494
31655
|
className,
|
|
31495
31656
|
bsPrefix,
|
|
31496
31657
|
as: Component4 = DivStyledAsH52,
|
|
31497
31658
|
...props
|
|
31498
31659
|
}, ref) => {
|
|
31499
31660
|
bsPrefix = useBootstrapPrefix(bsPrefix, "offcanvas-title");
|
|
31500
|
-
return /* @__PURE__ */ (0,
|
|
31661
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Component4, {
|
|
31501
31662
|
ref,
|
|
31502
|
-
className: (0,
|
|
31663
|
+
className: (0, import_classnames38.default)(className, bsPrefix),
|
|
31503
31664
|
...props
|
|
31504
31665
|
});
|
|
31505
31666
|
});
|
|
@@ -31507,21 +31668,21 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31507
31668
|
var OffcanvasTitle_default = OffcanvasTitle;
|
|
31508
31669
|
|
|
31509
31670
|
// node_modules/react-bootstrap/esm/Offcanvas.js
|
|
31510
|
-
var import_jsx_runtime51 = __toESM(require_jsx_runtime());
|
|
31511
31671
|
var import_jsx_runtime52 = __toESM(require_jsx_runtime());
|
|
31512
31672
|
var import_jsx_runtime53 = __toESM(require_jsx_runtime());
|
|
31673
|
+
var import_jsx_runtime54 = __toESM(require_jsx_runtime());
|
|
31513
31674
|
"use client";
|
|
31514
31675
|
function DialogTransition2(props) {
|
|
31515
|
-
return /* @__PURE__ */ (0,
|
|
31676
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(OffcanvasToggling_default, {
|
|
31516
31677
|
...props
|
|
31517
31678
|
});
|
|
31518
31679
|
}
|
|
31519
31680
|
function BackdropTransition2(props) {
|
|
31520
|
-
return /* @__PURE__ */ (0,
|
|
31681
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Fade_default, {
|
|
31521
31682
|
...props
|
|
31522
31683
|
});
|
|
31523
31684
|
}
|
|
31524
|
-
var Offcanvas = /* @__PURE__ */
|
|
31685
|
+
var Offcanvas = /* @__PURE__ */ React71.forwardRef(({
|
|
31525
31686
|
bsPrefix,
|
|
31526
31687
|
className,
|
|
31527
31688
|
children,
|
|
@@ -31585,21 +31746,21 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31585
31746
|
node.style.visibility = "";
|
|
31586
31747
|
onExited == null || onExited(...args);
|
|
31587
31748
|
};
|
|
31588
|
-
const renderBackdrop = (0, import_react51.useCallback)((backdropProps) => /* @__PURE__ */ (0,
|
|
31749
|
+
const renderBackdrop = (0, import_react51.useCallback)((backdropProps) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", {
|
|
31589
31750
|
...backdropProps,
|
|
31590
|
-
className: (0,
|
|
31751
|
+
className: (0, import_classnames39.default)(`${bsPrefix}-backdrop`, backdropClassName)
|
|
31591
31752
|
}), [backdropClassName, bsPrefix]);
|
|
31592
|
-
const renderDialog = (dialogProps) => /* @__PURE__ */ (0,
|
|
31753
|
+
const renderDialog = (dialogProps) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", {
|
|
31593
31754
|
...dialogProps,
|
|
31594
31755
|
...props,
|
|
31595
|
-
className: (0,
|
|
31756
|
+
className: (0, import_classnames39.default)(className, responsive ? `${bsPrefix}-${responsive}` : bsPrefix, `${bsPrefix}-${placement}`),
|
|
31596
31757
|
"aria-labelledby": ariaLabelledby,
|
|
31597
31758
|
children
|
|
31598
31759
|
});
|
|
31599
|
-
return /* @__PURE__ */ (0,
|
|
31600
|
-
children: [!showOffcanvas && (responsive || renderStaticNode) && renderDialog({}), /* @__PURE__ */ (0,
|
|
31760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx_runtime53.Fragment, {
|
|
31761
|
+
children: [!showOffcanvas && (responsive || renderStaticNode) && renderDialog({}), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ModalContext_default.Provider, {
|
|
31601
31762
|
value: modalContext,
|
|
31602
|
-
children: /* @__PURE__ */ (0,
|
|
31763
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Modal_default, {
|
|
31603
31764
|
show: showOffcanvas,
|
|
31604
31765
|
ref,
|
|
31605
31766
|
backdrop,
|
|
@@ -31635,9 +31796,9 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31635
31796
|
});
|
|
31636
31797
|
|
|
31637
31798
|
// node_modules/react-bootstrap/esm/NavbarOffcanvas.js
|
|
31638
|
-
var
|
|
31799
|
+
var import_jsx_runtime55 = __toESM(require_jsx_runtime());
|
|
31639
31800
|
"use client";
|
|
31640
|
-
var NavbarOffcanvas = /* @__PURE__ */
|
|
31801
|
+
var NavbarOffcanvas = /* @__PURE__ */ React72.forwardRef(({
|
|
31641
31802
|
onHide,
|
|
31642
31803
|
...props
|
|
31643
31804
|
}, ref) => {
|
|
@@ -31646,7 +31807,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31646
31807
|
context3 == null || context3.onToggle == null || context3.onToggle();
|
|
31647
31808
|
onHide == null || onHide();
|
|
31648
31809
|
});
|
|
31649
|
-
return /* @__PURE__ */ (0,
|
|
31810
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Offcanvas_default, {
|
|
31650
31811
|
ref,
|
|
31651
31812
|
show: !!(context3 != null && context3.expanded),
|
|
31652
31813
|
...props,
|
|
@@ -31658,20 +31819,20 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31658
31819
|
var NavbarOffcanvas_default = NavbarOffcanvas;
|
|
31659
31820
|
|
|
31660
31821
|
// node_modules/react-bootstrap/esm/NavbarText.js
|
|
31661
|
-
var
|
|
31662
|
-
var
|
|
31663
|
-
var
|
|
31822
|
+
var React73 = __toESM(require_react());
|
|
31823
|
+
var import_classnames40 = __toESM(require_classnames());
|
|
31824
|
+
var import_jsx_runtime56 = __toESM(require_jsx_runtime());
|
|
31664
31825
|
"use client";
|
|
31665
|
-
var NavbarText = /* @__PURE__ */
|
|
31826
|
+
var NavbarText = /* @__PURE__ */ React73.forwardRef(({
|
|
31666
31827
|
className,
|
|
31667
31828
|
bsPrefix,
|
|
31668
31829
|
as: Component4 = "span",
|
|
31669
31830
|
...props
|
|
31670
31831
|
}, ref) => {
|
|
31671
31832
|
bsPrefix = useBootstrapPrefix(bsPrefix, "navbar-text");
|
|
31672
|
-
return /* @__PURE__ */ (0,
|
|
31833
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Component4, {
|
|
31673
31834
|
ref,
|
|
31674
|
-
className: (0,
|
|
31835
|
+
className: (0, import_classnames40.default)(className, bsPrefix),
|
|
31675
31836
|
...props
|
|
31676
31837
|
});
|
|
31677
31838
|
});
|
|
@@ -31679,9 +31840,9 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31679
31840
|
var NavbarText_default = NavbarText;
|
|
31680
31841
|
|
|
31681
31842
|
// node_modules/react-bootstrap/esm/Navbar.js
|
|
31682
|
-
var
|
|
31843
|
+
var import_jsx_runtime57 = __toESM(require_jsx_runtime());
|
|
31683
31844
|
"use client";
|
|
31684
|
-
var Navbar = /* @__PURE__ */
|
|
31845
|
+
var Navbar = /* @__PURE__ */ React74.forwardRef((props, ref) => {
|
|
31685
31846
|
const {
|
|
31686
31847
|
bsPrefix: initialBsPrefix,
|
|
31687
31848
|
expand = true,
|
|
@@ -31719,14 +31880,14 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31719
31880
|
expanded: !!expanded,
|
|
31720
31881
|
expand
|
|
31721
31882
|
}), [bsPrefix, expanded, expand, onToggle]);
|
|
31722
|
-
return /* @__PURE__ */ (0,
|
|
31883
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(NavbarContext_default.Provider, {
|
|
31723
31884
|
value: navbarContext,
|
|
31724
|
-
children: /* @__PURE__ */ (0,
|
|
31885
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(SelectableContext_default.Provider, {
|
|
31725
31886
|
value: handleCollapse,
|
|
31726
|
-
children: /* @__PURE__ */ (0,
|
|
31887
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Component4, {
|
|
31727
31888
|
ref,
|
|
31728
31889
|
...controlledProps,
|
|
31729
|
-
className: (0,
|
|
31890
|
+
className: (0, import_classnames41.default)(className, bsPrefix, expand && expandClass, variant && `${bsPrefix}-${variant}`, bg && `bg-${bg}`, sticky && `sticky-${sticky}`, fixed && `fixed-${fixed}`)
|
|
31730
31891
|
})
|
|
31731
31892
|
})
|
|
31732
31893
|
});
|
|
@@ -31740,17 +31901,58 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31740
31901
|
Toggle: NavbarToggle_default
|
|
31741
31902
|
});
|
|
31742
31903
|
|
|
31904
|
+
// node_modules/react-bootstrap/esm/Row.js
|
|
31905
|
+
var import_classnames42 = __toESM(require_classnames());
|
|
31906
|
+
var React75 = __toESM(require_react());
|
|
31907
|
+
var import_jsx_runtime58 = __toESM(require_jsx_runtime());
|
|
31908
|
+
"use client";
|
|
31909
|
+
var Row = /* @__PURE__ */ React75.forwardRef(({
|
|
31910
|
+
bsPrefix,
|
|
31911
|
+
className,
|
|
31912
|
+
// Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
|
|
31913
|
+
as: Component4 = "div",
|
|
31914
|
+
...props
|
|
31915
|
+
}, ref) => {
|
|
31916
|
+
const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, "row");
|
|
31917
|
+
const breakpoints = useBootstrapBreakpoints();
|
|
31918
|
+
const minBreakpoint = useBootstrapMinBreakpoint();
|
|
31919
|
+
const sizePrefix = `${decoratedBsPrefix}-cols`;
|
|
31920
|
+
const classes = [];
|
|
31921
|
+
breakpoints.forEach((brkPoint) => {
|
|
31922
|
+
const propValue = props[brkPoint];
|
|
31923
|
+
delete props[brkPoint];
|
|
31924
|
+
let cols;
|
|
31925
|
+
if (propValue != null && typeof propValue === "object") {
|
|
31926
|
+
({
|
|
31927
|
+
cols
|
|
31928
|
+
} = propValue);
|
|
31929
|
+
} else {
|
|
31930
|
+
cols = propValue;
|
|
31931
|
+
}
|
|
31932
|
+
const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : "";
|
|
31933
|
+
if (cols != null)
|
|
31934
|
+
classes.push(`${sizePrefix}${infix}-${cols}`);
|
|
31935
|
+
});
|
|
31936
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Component4, {
|
|
31937
|
+
ref,
|
|
31938
|
+
...props,
|
|
31939
|
+
className: (0, import_classnames42.default)(className, decoratedBsPrefix, ...classes)
|
|
31940
|
+
});
|
|
31941
|
+
});
|
|
31942
|
+
Row.displayName = "Row";
|
|
31943
|
+
var Row_default = Row;
|
|
31944
|
+
|
|
31743
31945
|
// node_modules/react-bootstrap/esm/Tab.js
|
|
31744
31946
|
var import_prop_types4 = __toESM(require_prop_types());
|
|
31745
31947
|
|
|
31746
31948
|
// node_modules/@restart/ui/esm/Tabs.js
|
|
31747
|
-
var
|
|
31949
|
+
var React77 = __toESM(require_react());
|
|
31748
31950
|
var import_react55 = __toESM(require_react());
|
|
31749
31951
|
|
|
31750
31952
|
// node_modules/@restart/ui/esm/TabPanel.js
|
|
31751
|
-
var
|
|
31953
|
+
var React76 = __toESM(require_react());
|
|
31752
31954
|
var import_react54 = __toESM(require_react());
|
|
31753
|
-
var
|
|
31955
|
+
var import_jsx_runtime59 = __toESM(require_jsx_runtime());
|
|
31754
31956
|
var _excluded8 = ["active", "eventKey", "mountOnEnter", "transition", "unmountOnExit", "role", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited"];
|
|
31755
31957
|
var _excluded22 = ["activeKey", "getControlledId", "getControllerId"];
|
|
31756
31958
|
var _excluded32 = ["as"];
|
|
@@ -31822,7 +32024,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31822
32024
|
onExited
|
|
31823
32025
|
}];
|
|
31824
32026
|
}
|
|
31825
|
-
var TabPanel = /* @__PURE__ */
|
|
32027
|
+
var TabPanel = /* @__PURE__ */ React76.forwardRef(
|
|
31826
32028
|
// Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
|
|
31827
32029
|
(_ref2, ref) => {
|
|
31828
32030
|
let {
|
|
@@ -31840,11 +32042,11 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31840
32042
|
unmountOnExit,
|
|
31841
32043
|
transition: Transition2 = NoopTransition_default
|
|
31842
32044
|
}] = useTabPanel(props);
|
|
31843
|
-
return /* @__PURE__ */ (0,
|
|
32045
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(TabContext_default.Provider, {
|
|
31844
32046
|
value: null,
|
|
31845
|
-
children: /* @__PURE__ */ (0,
|
|
32047
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(SelectableContext_default.Provider, {
|
|
31846
32048
|
value: null,
|
|
31847
|
-
children: /* @__PURE__ */ (0,
|
|
32049
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Transition2, {
|
|
31848
32050
|
in: isActive,
|
|
31849
32051
|
onEnter,
|
|
31850
32052
|
onEntering,
|
|
@@ -31854,7 +32056,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31854
32056
|
onExited,
|
|
31855
32057
|
mountOnEnter,
|
|
31856
32058
|
unmountOnExit,
|
|
31857
|
-
children: /* @__PURE__ */ (0,
|
|
32059
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Component4, Object.assign({}, tabPanelProps, {
|
|
31858
32060
|
ref,
|
|
31859
32061
|
hidden: !isActive,
|
|
31860
32062
|
"aria-hidden": !isActive
|
|
@@ -31868,7 +32070,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31868
32070
|
var TabPanel_default = TabPanel;
|
|
31869
32071
|
|
|
31870
32072
|
// node_modules/@restart/ui/esm/Tabs.js
|
|
31871
|
-
var
|
|
32073
|
+
var import_jsx_runtime60 = __toESM(require_jsx_runtime());
|
|
31872
32074
|
var Tabs = (props) => {
|
|
31873
32075
|
const {
|
|
31874
32076
|
id: userId,
|
|
@@ -31893,9 +32095,9 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31893
32095
|
getControlledId: (key) => generateChildId(key, "tabpane"),
|
|
31894
32096
|
getControllerId: (key) => generateChildId(key, "tab")
|
|
31895
32097
|
}), [onSelect, activeKey, transition, mountOnEnter, unmountOnExit, generateChildId]);
|
|
31896
|
-
return /* @__PURE__ */ (0,
|
|
32098
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(TabContext_default.Provider, {
|
|
31897
32099
|
value: tabContext,
|
|
31898
|
-
children: /* @__PURE__ */ (0,
|
|
32100
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(SelectableContext_default.Provider, {
|
|
31899
32101
|
value: onSelect || null,
|
|
31900
32102
|
children
|
|
31901
32103
|
})
|
|
@@ -31913,11 +32115,11 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31913
32115
|
}
|
|
31914
32116
|
|
|
31915
32117
|
// node_modules/react-bootstrap/esm/TabContainer.js
|
|
31916
|
-
var
|
|
32118
|
+
var import_jsx_runtime61 = __toESM(require_jsx_runtime());
|
|
31917
32119
|
var TabContainer = ({
|
|
31918
32120
|
transition,
|
|
31919
32121
|
...props
|
|
31920
|
-
}) => /* @__PURE__ */ (0,
|
|
32122
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Tabs_default, {
|
|
31921
32123
|
...props,
|
|
31922
32124
|
transition: getTabTransitionComponent(transition)
|
|
31923
32125
|
});
|
|
@@ -31925,20 +32127,20 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31925
32127
|
var TabContainer_default = TabContainer;
|
|
31926
32128
|
|
|
31927
32129
|
// node_modules/react-bootstrap/esm/TabContent.js
|
|
31928
|
-
var
|
|
31929
|
-
var
|
|
31930
|
-
var
|
|
32130
|
+
var React78 = __toESM(require_react());
|
|
32131
|
+
var import_classnames43 = __toESM(require_classnames());
|
|
32132
|
+
var import_jsx_runtime62 = __toESM(require_jsx_runtime());
|
|
31931
32133
|
"use client";
|
|
31932
|
-
var TabContent = /* @__PURE__ */
|
|
32134
|
+
var TabContent = /* @__PURE__ */ React78.forwardRef(({
|
|
31933
32135
|
className,
|
|
31934
32136
|
bsPrefix,
|
|
31935
32137
|
as: Component4 = "div",
|
|
31936
32138
|
...props
|
|
31937
32139
|
}, ref) => {
|
|
31938
32140
|
bsPrefix = useBootstrapPrefix(bsPrefix, "tab-content");
|
|
31939
|
-
return /* @__PURE__ */ (0,
|
|
32141
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Component4, {
|
|
31940
32142
|
ref,
|
|
31941
|
-
className: (0,
|
|
32143
|
+
className: (0, import_classnames43.default)(className, bsPrefix),
|
|
31942
32144
|
...props
|
|
31943
32145
|
});
|
|
31944
32146
|
});
|
|
@@ -31946,11 +32148,11 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31946
32148
|
var TabContent_default = TabContent;
|
|
31947
32149
|
|
|
31948
32150
|
// node_modules/react-bootstrap/esm/TabPane.js
|
|
31949
|
-
var
|
|
31950
|
-
var
|
|
31951
|
-
var
|
|
32151
|
+
var import_classnames44 = __toESM(require_classnames());
|
|
32152
|
+
var React79 = __toESM(require_react());
|
|
32153
|
+
var import_jsx_runtime63 = __toESM(require_jsx_runtime());
|
|
31952
32154
|
"use client";
|
|
31953
|
-
var TabPane = /* @__PURE__ */
|
|
32155
|
+
var TabPane = /* @__PURE__ */ React79.forwardRef(({
|
|
31954
32156
|
bsPrefix,
|
|
31955
32157
|
transition,
|
|
31956
32158
|
...props
|
|
@@ -31976,11 +32178,11 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31976
32178
|
transition: getTabTransitionComponent(transition)
|
|
31977
32179
|
});
|
|
31978
32180
|
const prefix = useBootstrapPrefix(bsPrefix, "tab-pane");
|
|
31979
|
-
return /* @__PURE__ */ (0,
|
|
32181
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(TabContext_default.Provider, {
|
|
31980
32182
|
value: null,
|
|
31981
|
-
children: /* @__PURE__ */ (0,
|
|
32183
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(SelectableContext_default.Provider, {
|
|
31982
32184
|
value: null,
|
|
31983
|
-
children: /* @__PURE__ */ (0,
|
|
32185
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Transition2, {
|
|
31984
32186
|
in: isActive,
|
|
31985
32187
|
onEnter,
|
|
31986
32188
|
onEntering,
|
|
@@ -31990,10 +32192,10 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
31990
32192
|
onExited,
|
|
31991
32193
|
mountOnEnter,
|
|
31992
32194
|
unmountOnExit,
|
|
31993
|
-
children: /* @__PURE__ */ (0,
|
|
32195
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Component4, {
|
|
31994
32196
|
...rest,
|
|
31995
32197
|
ref,
|
|
31996
|
-
className: (0,
|
|
32198
|
+
className: (0, import_classnames44.default)(className, prefix, isActive && "active")
|
|
31997
32199
|
})
|
|
31998
32200
|
})
|
|
31999
32201
|
})
|
|
@@ -32033,11 +32235,11 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32033
32235
|
});
|
|
32034
32236
|
|
|
32035
32237
|
// node_modules/react-bootstrap/esm/Table.js
|
|
32036
|
-
var
|
|
32037
|
-
var
|
|
32038
|
-
var
|
|
32238
|
+
var import_classnames45 = __toESM(require_classnames());
|
|
32239
|
+
var React80 = __toESM(require_react());
|
|
32240
|
+
var import_jsx_runtime64 = __toESM(require_jsx_runtime());
|
|
32039
32241
|
"use client";
|
|
32040
|
-
var Table = /* @__PURE__ */
|
|
32242
|
+
var Table = /* @__PURE__ */ React80.forwardRef(({
|
|
32041
32243
|
bsPrefix,
|
|
32042
32244
|
className,
|
|
32043
32245
|
striped,
|
|
@@ -32050,8 +32252,8 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32050
32252
|
...props
|
|
32051
32253
|
}, ref) => {
|
|
32052
32254
|
const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, "table");
|
|
32053
|
-
const classes = (0,
|
|
32054
|
-
const table = /* @__PURE__ */ (0,
|
|
32255
|
+
const classes = (0, import_classnames45.default)(className, decoratedBsPrefix, variant && `${decoratedBsPrefix}-${variant}`, size2 && `${decoratedBsPrefix}-${size2}`, striped && `${decoratedBsPrefix}-${typeof striped === "string" ? `striped-${striped}` : "striped"}`, bordered && `${decoratedBsPrefix}-bordered`, borderless && `${decoratedBsPrefix}-borderless`, hover && `${decoratedBsPrefix}-hover`);
|
|
32256
|
+
const table = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("table", {
|
|
32055
32257
|
...props,
|
|
32056
32258
|
className: classes,
|
|
32057
32259
|
ref
|
|
@@ -32061,7 +32263,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32061
32263
|
if (typeof responsive === "string") {
|
|
32062
32264
|
responsiveClass = `${responsiveClass}-${responsive}`;
|
|
32063
32265
|
}
|
|
32064
|
-
return /* @__PURE__ */ (0,
|
|
32266
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", {
|
|
32065
32267
|
className: responsiveClass,
|
|
32066
32268
|
children: table
|
|
32067
32269
|
});
|
|
@@ -32071,7 +32273,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32071
32273
|
Table.displayName = "Table";
|
|
32072
32274
|
var Table_default = Table;
|
|
32073
32275
|
|
|
32074
|
-
// src/NavBar.tsx
|
|
32276
|
+
// src/components/pure/NavBar.tsx
|
|
32075
32277
|
var import_react56 = __toESM(require_react(), 1);
|
|
32076
32278
|
var NavBar = ({
|
|
32077
32279
|
title,
|
|
@@ -32130,63 +32332,78 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32130
32332
|
// src/components/TestStatusBadge.tsx
|
|
32131
32333
|
var import_react57 = __toESM(require_react(), 1);
|
|
32132
32334
|
var TestStatusBadge = (props) => {
|
|
32133
|
-
console.groupCollapsed(`[TestStatusBadge] Rendering for ${props.testName}`);
|
|
32134
|
-
console.log("Raw props:", JSON.parse(JSON.stringify(props)));
|
|
32135
32335
|
const hasTests = props.testsExist !== false;
|
|
32136
32336
|
const testCompleted = props.runTimeErrors !== -1;
|
|
32137
32337
|
const hasRuntimeErrors = props.runTimeErrors > 0;
|
|
32138
|
-
console.log("Status flags:", {
|
|
32139
|
-
hasTests,
|
|
32140
|
-
testCompleted,
|
|
32141
|
-
hasRuntimeErrors,
|
|
32142
|
-
typeErrors: props.typeErrors,
|
|
32143
|
-
staticErrors: props.staticErrors
|
|
32144
|
-
});
|
|
32145
32338
|
let bddStatus;
|
|
32146
32339
|
if (!hasTests) {
|
|
32147
|
-
console.warn("No tests.json found - marking as failed");
|
|
32148
32340
|
bddStatus = { text: "\u274C No Tests", variant: "danger" };
|
|
32149
32341
|
} else if (!testCompleted) {
|
|
32150
|
-
console.warn("Test did not complete (runTimeErrors=-1) - marking as failed");
|
|
32151
32342
|
bddStatus = { text: "\u274C No Tests", variant: "danger" };
|
|
32152
32343
|
} else if (hasRuntimeErrors) {
|
|
32153
|
-
console.warn(`Test failed with ${props.runTimeErrors} runtime errors`);
|
|
32154
32344
|
bddStatus = { text: `\u274C BDD (${props.runTimeErrors})`, variant: "danger" };
|
|
32155
32345
|
} else {
|
|
32156
|
-
console.log("Test passed all runtime checks");
|
|
32157
32346
|
bddStatus = { text: "\u2705 BDD", variant: "success" };
|
|
32158
32347
|
}
|
|
32159
32348
|
if (props.variant === "compact") {
|
|
32160
|
-
console.log("Rendering compact badge:", bddStatus);
|
|
32161
32349
|
console.groupEnd();
|
|
32162
32350
|
return /* @__PURE__ */ import_react57.default.createElement(Badge_default, { bg: bddStatus.variant }, bddStatus.text);
|
|
32163
32351
|
}
|
|
32164
|
-
console.log("Rendering full badge set with:", {
|
|
32165
|
-
bddStatus,
|
|
32166
|
-
typeErrors: props.typeErrors,
|
|
32167
|
-
staticErrors: props.staticErrors
|
|
32168
|
-
});
|
|
32169
|
-
console.groupEnd();
|
|
32170
32352
|
return /* @__PURE__ */ import_react57.default.createElement("div", { className: "d-flex gap-2" }, /* @__PURE__ */ import_react57.default.createElement(Badge_default, { bg: bddStatus.variant }, bddStatus.text));
|
|
32171
32353
|
};
|
|
32172
32354
|
|
|
32173
32355
|
// src/components/pure/TestPageView.tsx
|
|
32174
32356
|
var TestPageView = ({
|
|
32175
|
-
route,
|
|
32176
|
-
setRoute,
|
|
32177
|
-
navigate,
|
|
32178
32357
|
projectName,
|
|
32179
|
-
testName
|
|
32358
|
+
testName,
|
|
32180
32359
|
decodedTestPath,
|
|
32181
32360
|
runtime,
|
|
32182
|
-
testData,
|
|
32183
|
-
logs,
|
|
32184
|
-
typeErrors,
|
|
32185
|
-
lintErrors,
|
|
32186
32361
|
testsExist,
|
|
32187
|
-
errorCounts
|
|
32362
|
+
errorCounts,
|
|
32363
|
+
logs
|
|
32188
32364
|
}) => {
|
|
32189
|
-
|
|
32365
|
+
const [activeTab, setActiveTab] = import_react58.default.useState("tests.json");
|
|
32366
|
+
const renderTestResults = (testData) => {
|
|
32367
|
+
return /* @__PURE__ */ import_react58.default.createElement("div", { className: "test-results" }, testData.givens.map((given, i) => /* @__PURE__ */ import_react58.default.createElement("div", { key: i, className: "mb-4 card" }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "card-header bg-primary text-white" }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "d-flex justify-content-between align-items-center" }, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("h4", null, "Given: ", given.name), given.features && given.features.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "mt-1" }, /* @__PURE__ */ import_react58.default.createElement("small", null, "Features:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, given.features.map((feature, fi) => /* @__PURE__ */ import_react58.default.createElement("li", { key: fi }, feature.startsWith("http") ? /* @__PURE__ */ import_react58.default.createElement("a", { href: feature, target: "_blank", rel: "noopener noreferrer", className: "text-white" }, new URL(feature).hostname) : /* @__PURE__ */ import_react58.default.createElement("span", { className: "text-white" }, feature)))))), given.artifacts && given.artifacts.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "dropdown" }, /* @__PURE__ */ import_react58.default.createElement(
|
|
32368
|
+
"button",
|
|
32369
|
+
{
|
|
32370
|
+
className: "btn btn-sm btn-light dropdown-toggle",
|
|
32371
|
+
type: "button",
|
|
32372
|
+
"data-bs-toggle": "dropdown"
|
|
32373
|
+
},
|
|
32374
|
+
"Artifacts (",
|
|
32375
|
+
given.artifacts.length,
|
|
32376
|
+
")"
|
|
32377
|
+
), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "dropdown-menu dropdown-menu-end" }, given.artifacts.map((artifact, ai) => /* @__PURE__ */ import_react58.default.createElement("li", { key: ai }, /* @__PURE__ */ import_react58.default.createElement(
|
|
32378
|
+
"a",
|
|
32379
|
+
{
|
|
32380
|
+
className: "dropdown-item",
|
|
32381
|
+
href: `reports/${projectName}/${testName.split(".").slice(0, -1).join(".")}/${runtime}/${artifact}`,
|
|
32382
|
+
target: "_blank",
|
|
32383
|
+
rel: "noopener noreferrer"
|
|
32384
|
+
},
|
|
32385
|
+
artifact.split("/").pop()
|
|
32386
|
+
))))))), /* @__PURE__ */ import_react58.default.createElement("div", { className: "card-body" }, given.whens.map((when, j) => /* @__PURE__ */ import_react58.default.createElement("div", { key: `w-${j}`, className: `p-3 mb-2 ${when.error ? "bg-danger text-white" : "bg-success text-white"}` }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "d-flex justify-content-between align-items-start" }, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("strong", null, "When:"), " ", when.name, when.features && when.features.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "mt-2" }, /* @__PURE__ */ import_react58.default.createElement("small", null, "Features:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, when.features.map((feature, fi) => /* @__PURE__ */ import_react58.default.createElement("li", { key: fi }, feature.startsWith("http") ? /* @__PURE__ */ import_react58.default.createElement("a", { href: feature, target: "_blank", rel: "noopener noreferrer" }, new URL(feature).hostname) : feature)))), when.error && /* @__PURE__ */ import_react58.default.createElement("pre", { className: "mt-2" }, when.error))), when.artifacts && when.artifacts.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "ms-3" }, /* @__PURE__ */ import_react58.default.createElement("strong", null, "Artifacts:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, when.artifacts.map((artifact, ai) => /* @__PURE__ */ import_react58.default.createElement("li", { key: ai }, /* @__PURE__ */ import_react58.default.createElement(
|
|
32387
|
+
"a",
|
|
32388
|
+
{
|
|
32389
|
+
href: `reports/${projectName}/${testName.split(".").slice(0, -1).join(".")}/${runtime}/${artifact}`,
|
|
32390
|
+
target: "_blank",
|
|
32391
|
+
className: "text-white",
|
|
32392
|
+
rel: "noopener noreferrer"
|
|
32393
|
+
},
|
|
32394
|
+
artifact.split("/").pop()
|
|
32395
|
+
)))))))), given.thens.map((then, k) => /* @__PURE__ */ import_react58.default.createElement("div", { key: `t-${k}`, className: `p-3 mb-2 ${then.error ? "bg-danger text-white" : "bg-success text-white"}` }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "d-flex justify-content-between align-items-start" }, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("strong", null, "Then:"), " ", then.name, then.features && then.features.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "mt-2" }, /* @__PURE__ */ import_react58.default.createElement("small", null, "Features:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, then.features.map((feature, fi) => /* @__PURE__ */ import_react58.default.createElement("li", { key: fi }, feature.startsWith("http") ? /* @__PURE__ */ import_react58.default.createElement("a", { href: feature, target: "_blank", rel: "noopener noreferrer" }, new URL(feature).hostname) : feature)))), then.error && /* @__PURE__ */ import_react58.default.createElement("pre", { className: "mt-2" }, then.error))), then.artifacts && then.artifacts.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "ms-3" }, /* @__PURE__ */ import_react58.default.createElement("strong", null, "Artifacts:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, then.artifacts.map((artifact, ai) => /* @__PURE__ */ import_react58.default.createElement("li", { key: ai }, /* @__PURE__ */ import_react58.default.createElement(
|
|
32396
|
+
"a",
|
|
32397
|
+
{
|
|
32398
|
+
href: `reports/${projectName}/${testName.split(".").slice(0, -1).join(".")}/${runtime}/${artifact}`,
|
|
32399
|
+
target: "_blank",
|
|
32400
|
+
className: "text-white",
|
|
32401
|
+
rel: "noopener noreferrer"
|
|
32402
|
+
},
|
|
32403
|
+
artifact.split("/").pop()
|
|
32404
|
+
))))))))))));
|
|
32405
|
+
};
|
|
32406
|
+
return /* @__PURE__ */ import_react58.default.createElement(Container_default, { fluid: true, className: "px-0" }, /* @__PURE__ */ import_react58.default.createElement(
|
|
32190
32407
|
NavBar,
|
|
32191
32408
|
{
|
|
32192
32409
|
title: decodedTestPath,
|
|
@@ -32199,35 +32416,6 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32199
32416
|
text: runtime
|
|
32200
32417
|
},
|
|
32201
32418
|
className: "pe-none d-flex align-items-center gap-2"
|
|
32202
|
-
},
|
|
32203
|
-
{
|
|
32204
|
-
to: `#results`,
|
|
32205
|
-
label: /* @__PURE__ */ import_react58.default.createElement(
|
|
32206
|
-
TestStatusBadge,
|
|
32207
|
-
{
|
|
32208
|
-
testName: decodedTestPath,
|
|
32209
|
-
testsExist,
|
|
32210
|
-
runTimeErrors: errorCounts.runTimeErrors,
|
|
32211
|
-
variant: "compact"
|
|
32212
|
-
}
|
|
32213
|
-
),
|
|
32214
|
-
className: !testsExist || errorCounts.runTimeErrors > 0 ? "text-danger fw-bold" : "",
|
|
32215
|
-
active: route === "results"
|
|
32216
|
-
},
|
|
32217
|
-
{
|
|
32218
|
-
to: `#logs`,
|
|
32219
|
-
label: `Runtime logs`,
|
|
32220
|
-
active: route === "logs"
|
|
32221
|
-
},
|
|
32222
|
-
{
|
|
32223
|
-
to: `#types`,
|
|
32224
|
-
label: errorCounts.typeErrors > 0 ? `tsc (\u274C * ${errorCounts.typeErrors})` : "tsc \u2705 ",
|
|
32225
|
-
active: route === "types"
|
|
32226
|
-
},
|
|
32227
|
-
{
|
|
32228
|
-
to: `#lint`,
|
|
32229
|
-
label: errorCounts.staticErrors > 0 ? `eslint (\u274C *${errorCounts.staticErrors}) ` : "eslint \u2705",
|
|
32230
|
-
active: route === "lint"
|
|
32231
32419
|
}
|
|
32232
32420
|
],
|
|
32233
32421
|
rightContent: /* @__PURE__ */ import_react58.default.createElement(
|
|
@@ -32236,8 +32424,8 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32236
32424
|
variant: "info",
|
|
32237
32425
|
onClick: async () => {
|
|
32238
32426
|
try {
|
|
32239
|
-
const promptPath = `testeranto/reports/${projectName}/${
|
|
32240
|
-
const messagePath = `testeranto/reports/${projectName}/${
|
|
32427
|
+
const promptPath = `testeranto/reports/${projectName}/${testName.split(".").slice(0, -1).join(".")}/${runtime}/prompt.txt`;
|
|
32428
|
+
const messagePath = `testeranto/reports/${projectName}/${testName.split(".").slice(0, -1).join(".")}/${runtime}/message.txt`;
|
|
32241
32429
|
const command = `aider --load ${promptPath} --message-file ${messagePath}`;
|
|
32242
32430
|
await navigator.clipboard.writeText(command);
|
|
32243
32431
|
alert("Copied aider command to clipboard!");
|
|
@@ -32251,101 +32439,42 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32251
32439
|
"\u{1F916}"
|
|
32252
32440
|
)
|
|
32253
32441
|
}
|
|
32254
|
-
), /* @__PURE__ */ import_react58.default.createElement(
|
|
32255
|
-
|
|
32256
|
-
|
|
32257
|
-
|
|
32258
|
-
|
|
32259
|
-
|
|
32260
|
-
|
|
32261
|
-
{
|
|
32262
|
-
|
|
32263
|
-
|
|
32264
|
-
className: "
|
|
32265
|
-
}
|
|
32266
|
-
|
|
32267
|
-
|
|
32268
|
-
|
|
32269
|
-
|
|
32270
|
-
|
|
32271
|
-
|
|
32272
|
-
|
|
32273
|
-
|
|
32274
|
-
|
|
32275
|
-
|
|
32276
|
-
|
|
32277
|
-
|
|
32278
|
-
type: "button",
|
|
32279
|
-
"data-bs-toggle": "dropdown"
|
|
32280
|
-
},
|
|
32281
|
-
"Artifacts (",
|
|
32282
|
-
given.artifacts.length,
|
|
32283
|
-
")"
|
|
32284
|
-
), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "dropdown-menu dropdown-menu-end" }, given.artifacts.map((artifact, ai) => /* @__PURE__ */ import_react58.default.createElement("li", { key: ai }, /* @__PURE__ */ import_react58.default.createElement(
|
|
32285
|
-
"a",
|
|
32286
|
-
{
|
|
32287
|
-
className: "dropdown-item",
|
|
32288
|
-
href: `/testeranto/reports/${projectName}/${testName2.split(".").slice(0, -1).join(".")}/${runtime}/${artifact}`,
|
|
32289
|
-
target: "_blank",
|
|
32290
|
-
rel: "noopener noreferrer"
|
|
32291
|
-
},
|
|
32292
|
-
artifact.split("/").pop()
|
|
32293
|
-
))))))), /* @__PURE__ */ import_react58.default.createElement("div", { className: "card-body" }, given.whens.map((when, j) => /* @__PURE__ */ import_react58.default.createElement("div", { key: `w-${j}`, className: `p-3 mb-2 ${when.error ? "bg-danger text-white" : "bg-success text-white"}` }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "d-flex justify-content-between align-items-start" }, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("strong", null, "When:"), " ", when.name, when.features?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "mt-2" }, /* @__PURE__ */ import_react58.default.createElement("small", null, "Features:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, when.features.map((feature, fi) => /* @__PURE__ */ import_react58.default.createElement("li", { key: fi }, feature.startsWith("http") ? /* @__PURE__ */ import_react58.default.createElement("a", { href: feature, target: "_blank", rel: "noopener noreferrer" }, new URL(feature).hostname) : feature)))), when.error && /* @__PURE__ */ import_react58.default.createElement("pre", { className: "mt-2" }, when.error))), when.artifacts?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "ms-3" }, /* @__PURE__ */ import_react58.default.createElement("strong", null, "Artifacts:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, when.artifacts.map((artifact, ai) => /* @__PURE__ */ import_react58.default.createElement("li", { key: ai }, /* @__PURE__ */ import_react58.default.createElement(
|
|
32294
|
-
"a",
|
|
32295
|
-
{
|
|
32296
|
-
href: `/testeranto/reports/${projectName}/${testName2.split(".").slice(0, -1).join(".")}/${runtime}/${artifact}`,
|
|
32297
|
-
target: "_blank",
|
|
32298
|
-
className: "text-white",
|
|
32299
|
-
rel: "noopener noreferrer"
|
|
32300
|
-
},
|
|
32301
|
-
artifact.split("/").pop()
|
|
32302
|
-
)))))))), given.thens.map((then, k) => /* @__PURE__ */ import_react58.default.createElement("div", { key: `t-${k}`, className: `p-3 mb-2 ${then.error ? "bg-danger text-white" : "bg-success text-white"}` }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "d-flex justify-content-between align-items-start" }, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("strong", null, "Then:"), " ", then.name, then.features?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "mt-2" }, /* @__PURE__ */ import_react58.default.createElement("small", null, "Features:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, then.features.map((feature, fi) => /* @__PURE__ */ import_react58.default.createElement("li", { key: fi }, feature.startsWith("http") ? /* @__PURE__ */ import_react58.default.createElement("a", { href: feature, target: "_blank", rel: "noopener noreferrer" }, new URL(feature).hostname) : feature)))), then.error && /* @__PURE__ */ import_react58.default.createElement("pre", { className: "mt-2" }, then.error))), then.artifacts?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "ms-3" }, /* @__PURE__ */ import_react58.default.createElement("strong", null, "Artifacts:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, then.artifacts.map((artifact, ai) => /* @__PURE__ */ import_react58.default.createElement("li", { key: ai }, /* @__PURE__ */ import_react58.default.createElement(
|
|
32303
|
-
"a",
|
|
32304
|
-
{
|
|
32305
|
-
href: `/testeranto/reports/${projectName}/${testName2.split(".").slice(0, -1).join(".")}/${runtime}/${artifact}`,
|
|
32306
|
-
target: "_blank",
|
|
32307
|
-
className: "text-white",
|
|
32308
|
-
rel: "noopener noreferrer"
|
|
32309
|
-
},
|
|
32310
|
-
artifact.split("/").pop()
|
|
32311
|
-
)))))))))))) : /* @__PURE__ */ import_react58.default.createElement(Alert_default, { variant: "warning" }, "No test results found")), /* @__PURE__ */ import_react58.default.createElement(Tab_default.Pane, { eventKey: "logs" }, logs === void 0 ? /* @__PURE__ */ import_react58.default.createElement(Alert_default, { variant: "danger" }, /* @__PURE__ */ import_react58.default.createElement("h4", null, "Logs file missing"), /* @__PURE__ */ import_react58.default.createElement("p", null, "The runtime logs file (logs.txt) was not found."), /* @__PURE__ */ import_react58.default.createElement("p", null, "This suggests the test may not have executed properly.")) : logs === "" ? /* @__PURE__ */ import_react58.default.createElement(Alert_default, { variant: "success" }, /* @__PURE__ */ import_react58.default.createElement("h4", null, "No runtime logs"), /* @__PURE__ */ import_react58.default.createElement("p", null, "The test executed successfully with no log output.")) : /* @__PURE__ */ import_react58.default.createElement("pre", { className: "bg-dark text-white p-3" }, logs)), /* @__PURE__ */ import_react58.default.createElement(Tab_default.Pane, { eventKey: "types" }, typeErrors ? /* @__PURE__ */ import_react58.default.createElement("pre", { className: "bg-dark text-white p-3" }, typeErrors) : /* @__PURE__ */ import_react58.default.createElement(Alert_default, { variant: "warning" }, "No type errors found")), /* @__PURE__ */ import_react58.default.createElement(Tab_default.Pane, { eventKey: "lint" }, lintErrors ? /* @__PURE__ */ import_react58.default.createElement("pre", { className: "bg-dark text-white p-3" }, lintErrors) : /* @__PURE__ */ import_react58.default.createElement(Alert_default, { variant: "warning" }, "No lint errors found")), /* @__PURE__ */ import_react58.default.createElement(Tab_default.Pane, { eventKey: "coverage" }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "coverage-report" }, /* @__PURE__ */ import_react58.default.createElement(Alert_default, { variant: "info" }, "Coverage reports coming soon!"), /* @__PURE__ */ import_react58.default.createElement("div", { className: "coverage-stats" }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "stat-card bg-success text-white" }, /* @__PURE__ */ import_react58.default.createElement("h4", null, "85%"), /* @__PURE__ */ import_react58.default.createElement("p", null, "Lines Covered")), /* @__PURE__ */ import_react58.default.createElement("div", { className: "stat-card bg-warning text-dark" }, /* @__PURE__ */ import_react58.default.createElement("h4", null, "72%"), /* @__PURE__ */ import_react58.default.createElement("p", null, "Branches Covered")), /* @__PURE__ */ import_react58.default.createElement("div", { className: "stat-card bg-info text-white" }, /* @__PURE__ */ import_react58.default.createElement("h4", null, "91%"), /* @__PURE__ */ import_react58.default.createElement("p", null, "Functions Covered"))))))));
|
|
32312
|
-
};
|
|
32313
|
-
|
|
32314
|
-
// src/utils/api.ts
|
|
32315
|
-
var fetchTestData = async (projectName, filepath, runTime) => {
|
|
32316
|
-
const basePath = `reports/${projectName}/${filepath.split(".").slice(0, -1).join(".")}/${runTime}`;
|
|
32317
|
-
try {
|
|
32318
|
-
const [testRes, logsRes, typeRes, lintRes] = await Promise.all([
|
|
32319
|
-
fetch(`${basePath}/tests.json`),
|
|
32320
|
-
fetch(`${basePath}/logs.txt`),
|
|
32321
|
-
fetch(`${basePath}/type_errors.txt`),
|
|
32322
|
-
fetch(`${basePath}/lint_errors.txt`)
|
|
32323
|
-
]);
|
|
32324
|
-
if (!testRes.ok) {
|
|
32325
|
-
return {
|
|
32326
|
-
testData: null,
|
|
32327
|
-
logs: await logsRes.text(),
|
|
32328
|
-
typeErrors: await typeRes.text(),
|
|
32329
|
-
lintErrors: await lintRes.text(),
|
|
32330
|
-
error: "Tests did not complete successfully. Please check the build and runtime logs for errors."
|
|
32331
|
-
};
|
|
32442
|
+
), /* @__PURE__ */ import_react58.default.createElement(Row_default, { className: "g-0" }, /* @__PURE__ */ import_react58.default.createElement(Col_default, { sm: 3, className: "border-end" }, /* @__PURE__ */ import_react58.default.createElement(Nav_default2, { variant: "pills", className: "flex-column" }, Object.keys(logs).map((logName) => {
|
|
32443
|
+
const displayName = logName.replace(".json", "").replace(/_/g, " ");
|
|
32444
|
+
let statusIndicator = null;
|
|
32445
|
+
if (logName === "type_errors.txt" && errorCounts.typeErrors > 0) {
|
|
32446
|
+
statusIndicator = /* @__PURE__ */ import_react58.default.createElement("span", { className: "ms-1" }, "\u274C ", errorCounts.typeErrors);
|
|
32447
|
+
} else if (logName === "lint_errors.txt" && errorCounts.staticErrors > 0) {
|
|
32448
|
+
statusIndicator = /* @__PURE__ */ import_react58.default.createElement("span", { className: "ms-1" }, "\u274C ", errorCounts.staticErrors);
|
|
32449
|
+
} else if (logName === "stderr.log" && errorCounts.runTimeErrors > 0) {
|
|
32450
|
+
statusIndicator = /* @__PURE__ */ import_react58.default.createElement("span", { className: "ms-1" }, "\u274C ", errorCounts.runTimeErrors);
|
|
32451
|
+
} else if (logName === "exit.log" && logs["exit.log"]?.trim() !== "0") {
|
|
32452
|
+
statusIndicator = /* @__PURE__ */ import_react58.default.createElement("span", { className: "ms-1" }, "\u26A0\uFE0F");
|
|
32453
|
+
} else if (logName === "tests.json" && logs["tests.json"]) {
|
|
32454
|
+
statusIndicator = /* @__PURE__ */ import_react58.default.createElement("div", { className: "ms-1" }, /* @__PURE__ */ import_react58.default.createElement(
|
|
32455
|
+
TestStatusBadge,
|
|
32456
|
+
{
|
|
32457
|
+
testName: decodedTestPath,
|
|
32458
|
+
testsExist,
|
|
32459
|
+
runTimeErrors: errorCounts.runTimeErrors,
|
|
32460
|
+
typeErrors: errorCounts.typeErrors,
|
|
32461
|
+
staticErrors: errorCounts.staticErrors,
|
|
32462
|
+
variant: "compact",
|
|
32463
|
+
className: "mt-1"
|
|
32464
|
+
}
|
|
32465
|
+
));
|
|
32332
32466
|
}
|
|
32333
|
-
return {
|
|
32334
|
-
|
|
32335
|
-
|
|
32336
|
-
|
|
32337
|
-
|
|
32338
|
-
|
|
32339
|
-
|
|
32340
|
-
|
|
32341
|
-
|
|
32342
|
-
|
|
32343
|
-
|
|
32344
|
-
typeErrors: "",
|
|
32345
|
-
lintErrors: "",
|
|
32346
|
-
error: `Failed to load test data: ${err instanceof Error ? err.message : String(err)}`
|
|
32347
|
-
};
|
|
32348
|
-
}
|
|
32467
|
+
return /* @__PURE__ */ import_react58.default.createElement(Nav_default2.Item, { key: logName }, /* @__PURE__ */ import_react58.default.createElement(
|
|
32468
|
+
Nav_default2.Link,
|
|
32469
|
+
{
|
|
32470
|
+
eventKey: logName,
|
|
32471
|
+
active: activeTab === logName,
|
|
32472
|
+
onClick: () => setActiveTab(logName),
|
|
32473
|
+
className: "d-flex flex-column align-items-start"
|
|
32474
|
+
},
|
|
32475
|
+
/* @__PURE__ */ import_react58.default.createElement("div", { className: "d-flex justify-content-between w-100" }, /* @__PURE__ */ import_react58.default.createElement("span", { className: "text-capitalize" }, displayName), statusIndicator)
|
|
32476
|
+
));
|
|
32477
|
+
}))), /* @__PURE__ */ import_react58.default.createElement(Col_default, { sm: 9 }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "p-3" }, !testsExist && activeTab === "tests.json" ? /* @__PURE__ */ import_react58.default.createElement(Alert_default, { variant: "danger" }, /* @__PURE__ */ import_react58.default.createElement("h4", null, "Tests did not run to completion"), /* @__PURE__ */ import_react58.default.createElement("p", null, "The test results file (tests.json) was not found or could not be loaded.")) : activeTab === "tests.json" && logs["tests.json"] ? typeof logs["tests.json"] === "string" ? renderTestResults(JSON.parse(logs["tests.json"])) : renderTestResults(logs["tests.json"]) : logs[activeTab] ? /* @__PURE__ */ import_react58.default.createElement("pre", { className: "bg-dark text-white p-3" }, /* @__PURE__ */ import_react58.default.createElement("code", null, typeof logs[activeTab] === "string" ? logs[activeTab] : JSON.stringify(logs[activeTab], null, 2))) : /* @__PURE__ */ import_react58.default.createElement(Alert_default, { variant: "info" }, "No content available for this log")))));
|
|
32349
32478
|
};
|
|
32350
32479
|
|
|
32351
32480
|
// src/components/stateful/TestPage.tsx
|
|
@@ -32361,11 +32490,8 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32361
32490
|
setRoute("results");
|
|
32362
32491
|
}
|
|
32363
32492
|
}, [location.hash]);
|
|
32364
|
-
const [
|
|
32365
|
-
const [
|
|
32366
|
-
const [logs, setLogs] = (0, import_react59.useState)("");
|
|
32367
|
-
const [typeErrors, setTypeErrors] = (0, import_react59.useState)("");
|
|
32368
|
-
const [lintErrors, setLintErrors] = (0, import_react59.useState)("");
|
|
32493
|
+
const [testName, setTestName] = (0, import_react59.useState)("");
|
|
32494
|
+
const [logs, setLogs] = (0, import_react59.useState)({});
|
|
32369
32495
|
const [loading, setLoading] = (0, import_react59.useState)(true);
|
|
32370
32496
|
const [error, setError] = (0, import_react59.useState)(null);
|
|
32371
32497
|
const [testsExist, setTestsExist] = (0, import_react59.useState)(true);
|
|
@@ -32387,11 +32513,16 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32387
32513
|
const fetchData = async () => {
|
|
32388
32514
|
try {
|
|
32389
32515
|
const testResponse = await fetchTestData(projectName, testPath, runtime);
|
|
32390
|
-
|
|
32391
|
-
|
|
32392
|
-
|
|
32393
|
-
|
|
32394
|
-
|
|
32516
|
+
console.log("testResponse", testResponse);
|
|
32517
|
+
const receivedLogs = await testResponse.logs;
|
|
32518
|
+
if (receivedLogs["tests.json"] && typeof receivedLogs["tests.json"] === "string") {
|
|
32519
|
+
try {
|
|
32520
|
+
receivedLogs["tests.json"] = JSON.parse(receivedLogs["tests.json"]);
|
|
32521
|
+
} catch (e) {
|
|
32522
|
+
console.error("Failed to parse tests.json:", e);
|
|
32523
|
+
}
|
|
32524
|
+
}
|
|
32525
|
+
setLogs(receivedLogs);
|
|
32395
32526
|
try {
|
|
32396
32527
|
const summaryResponse = await fetch(`reports/${projectName}/summary.json`);
|
|
32397
32528
|
if (!summaryResponse.ok)
|
|
@@ -32420,6 +32551,8 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32420
32551
|
};
|
|
32421
32552
|
fetchData();
|
|
32422
32553
|
}, []);
|
|
32554
|
+
if (!logs)
|
|
32555
|
+
return /* @__PURE__ */ import_react59.default.createElement("div", null, "loading...");
|
|
32423
32556
|
return /* @__PURE__ */ import_react59.default.createElement(
|
|
32424
32557
|
TestPageView,
|
|
32425
32558
|
{
|
|
@@ -32427,172 +32560,668 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32427
32560
|
setRoute,
|
|
32428
32561
|
navigate,
|
|
32429
32562
|
projectName,
|
|
32430
|
-
testName
|
|
32563
|
+
testName,
|
|
32431
32564
|
decodedTestPath,
|
|
32432
32565
|
runtime,
|
|
32433
|
-
testData,
|
|
32434
32566
|
logs,
|
|
32435
|
-
typeErrors,
|
|
32436
|
-
lintErrors,
|
|
32437
|
-
loading,
|
|
32438
|
-
error,
|
|
32439
32567
|
testsExist,
|
|
32440
|
-
errorCounts
|
|
32441
|
-
summary
|
|
32568
|
+
errorCounts
|
|
32442
32569
|
}
|
|
32443
32570
|
);
|
|
32444
32571
|
};
|
|
32445
32572
|
|
|
32446
|
-
// src/
|
|
32573
|
+
// src/components/stateful/ProjectPage.tsx
|
|
32447
32574
|
var import_react61 = __toESM(require_react(), 1);
|
|
32448
32575
|
|
|
32449
|
-
// src/components/
|
|
32576
|
+
// src/components/pure/ProjectPageView.tsx
|
|
32450
32577
|
var import_react60 = __toESM(require_react(), 1);
|
|
32451
|
-
var
|
|
32452
|
-
|
|
32453
|
-
|
|
32454
|
-
const
|
|
32455
|
-
|
|
32456
|
-
|
|
32457
|
-
|
|
32458
|
-
|
|
32459
|
-
|
|
32460
|
-
|
|
32461
|
-
|
|
32462
|
-
|
|
32463
|
-
|
|
32464
|
-
|
|
32465
|
-
|
|
32466
|
-
|
|
32467
|
-
|
|
32468
|
-
|
|
32578
|
+
var BuildLogViewer = ({ logs, runtime }) => {
|
|
32579
|
+
if (!logs)
|
|
32580
|
+
return /* @__PURE__ */ import_react60.default.createElement(Alert_default, { variant: "info" }, "Loading ", runtime.toLowerCase(), " build logs...");
|
|
32581
|
+
const hasErrors = logs.errors?.length > 0;
|
|
32582
|
+
const hasWarnings = logs.warnings?.length > 0;
|
|
32583
|
+
const [activeTab, setActiveTab] = import_react60.default.useState("summary");
|
|
32584
|
+
return /* @__PURE__ */ import_react60.default.createElement("div", null, /* @__PURE__ */ import_react60.default.createElement(Tab_default.Container, { activeKey: activeTab, onSelect: (k) => setActiveTab(k || "summary") }, /* @__PURE__ */ import_react60.default.createElement(Nav_default2, { variant: "tabs", className: "mb-3" }, /* @__PURE__ */ import_react60.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react60.default.createElement(Nav_default2.Link, { eventKey: "summary" }, "Build Summary")), /* @__PURE__ */ import_react60.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react60.default.createElement(Nav_default2.Link, { eventKey: "warnings" }, hasWarnings ? `\u26A0\uFE0F Warnings (${logs.warnings.length})` : "Warnings")), /* @__PURE__ */ import_react60.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react60.default.createElement(Nav_default2.Link, { eventKey: "errors" }, hasErrors ? `\u274C Errors (${logs.errors.length})` : "Errors"))), /* @__PURE__ */ import_react60.default.createElement(Tab_default.Content, null, /* @__PURE__ */ import_react60.default.createElement(Tab_default.Pane, { eventKey: "summary" }, /* @__PURE__ */ import_react60.default.createElement(Card_default, null, /* @__PURE__ */ import_react60.default.createElement(Card_default.Header, { className: "d-flex justify-content-between align-items-center" }, /* @__PURE__ */ import_react60.default.createElement("h5", null, "Build Summary"), /* @__PURE__ */ import_react60.default.createElement("div", null, hasErrors && /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "danger", className: "me-2" }, logs.errors.length, " Error", logs.errors.length !== 1 ? "s" : ""), hasWarnings && /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "warning", text: "dark" }, logs.warnings.length, " Warning", logs.warnings.length !== 1 ? "s" : ""), !hasErrors && !hasWarnings && /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "success" }, "Build Successful"))), /* @__PURE__ */ import_react60.default.createElement(Card_default.Body, null, /* @__PURE__ */ import_react60.default.createElement("div", { className: "mb-3" }, /* @__PURE__ */ import_react60.default.createElement("h6", null, "Input Files (", Object.keys(logs.metafile?.inputs || {}).length, ")"), /* @__PURE__ */ import_react60.default.createElement(ListGroup_default, { className: "max-h-200 overflow-auto" }, Object.keys(logs.metafile?.inputs || {}).map((file) => /* @__PURE__ */ import_react60.default.createElement(ListGroup_default.Item, { key: file, className: "py-2" }, /* @__PURE__ */ import_react60.default.createElement("code", null, file), /* @__PURE__ */ import_react60.default.createElement("div", { className: "text-muted small" }, logs.metafile.inputs[file].bytes, " bytes"))))), /* @__PURE__ */ import_react60.default.createElement("div", null, /* @__PURE__ */ import_react60.default.createElement("h6", null, "Output Files (", Object.keys(logs.metafile?.outputs || {}).length, ")"), /* @__PURE__ */ import_react60.default.createElement(ListGroup_default, { className: "max-h-200 overflow-auto" }, Object.keys(logs.metafile?.outputs || {}).map((file) => /* @__PURE__ */ import_react60.default.createElement(ListGroup_default.Item, { key: file, className: "py-2" }, /* @__PURE__ */ import_react60.default.createElement("code", null, file), /* @__PURE__ */ import_react60.default.createElement("div", { className: "text-muted small" }, logs.metafile.outputs[file].bytes, " bytes", logs.metafile.outputs[file].entryPoint && /* @__PURE__ */ import_react60.default.createElement("span", { className: "ms-2 badge bg-info" }, "Entry Point"))))))))), /* @__PURE__ */ import_react60.default.createElement(Tab_default.Pane, { eventKey: "warnings" }, hasWarnings ? /* @__PURE__ */ import_react60.default.createElement(Card_default, { className: "border-warning" }, /* @__PURE__ */ import_react60.default.createElement(Card_default.Header, { className: "bg-warning text-white d-flex justify-content-between align-items-center" }, /* @__PURE__ */ import_react60.default.createElement("span", null, "Build Warnings (", logs.warnings.length, ")"), /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "light", text: "dark" }, (/* @__PURE__ */ new Date()).toLocaleString())), /* @__PURE__ */ import_react60.default.createElement(Card_default.Body, { className: "p-0" }, /* @__PURE__ */ import_react60.default.createElement(ListGroup_default, { variant: "flush" }, logs.warnings.map((warn, i) => /* @__PURE__ */ import_react60.default.createElement(ListGroup_default.Item, { key: i, className: "text-warning" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "d-flex justify-content-between" }, /* @__PURE__ */ import_react60.default.createElement("strong", null, warn.location?.file || "Unknown file", warn.location?.line && `:${warn.location.line}`), /* @__PURE__ */ import_react60.default.createElement("small", { className: "text-muted" }, warn.pluginName ? `[${warn.pluginName}]` : "")), /* @__PURE__ */ import_react60.default.createElement("div", { className: "mt-1" }, /* @__PURE__ */ import_react60.default.createElement("pre", { className: "mb-0 p-2 bg-light rounded" }, JSON.stringify(warn)))))))) : /* @__PURE__ */ import_react60.default.createElement(Alert_default, { variant: "info" }, "No warnings found")), /* @__PURE__ */ import_react60.default.createElement(Tab_default.Pane, { eventKey: "errors" }, hasErrors ? /* @__PURE__ */ import_react60.default.createElement(Card_default, { className: "border-danger" }, /* @__PURE__ */ import_react60.default.createElement(Card_default.Header, { className: "bg-danger text-white d-flex justify-content-between align-items-center" }, /* @__PURE__ */ import_react60.default.createElement("span", null, "Build Errors (", logs.errors.length, ")"), /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "light", text: "dark" }, (/* @__PURE__ */ new Date()).toLocaleString())), /* @__PURE__ */ import_react60.default.createElement(Card_default.Body, { className: "p-0" }, /* @__PURE__ */ import_react60.default.createElement(ListGroup_default, { variant: "flush" }, logs.errors.map((err, i) => /* @__PURE__ */ import_react60.default.createElement(ListGroup_default.Item, { key: i, className: "text-danger" }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "d-flex justify-content-between" }, /* @__PURE__ */ import_react60.default.createElement("strong", null, err.location?.file || "Unknown file", err.location?.line && `:${err.location.line}`), /* @__PURE__ */ import_react60.default.createElement("small", { className: "text-muted" }, err.pluginName ? `[${err.pluginName}]` : "")), /* @__PURE__ */ import_react60.default.createElement("div", { className: "mt-1" }, /* @__PURE__ */ import_react60.default.createElement("pre", { className: "mb-0 p-2 bg-light rounded" }, JSON.stringify(err)))))))) : /* @__PURE__ */ import_react60.default.createElement(Alert_default, { variant: "success" }, /* @__PURE__ */ import_react60.default.createElement("h5", null, "No Errors Found"), /* @__PURE__ */ import_react60.default.createElement("p", { className: "mb-0" }, "The build completed without any errors."))))));
|
|
32585
|
+
};
|
|
32586
|
+
var ProjectPageView = ({
|
|
32587
|
+
summary,
|
|
32588
|
+
nodeLogs,
|
|
32589
|
+
webLogs,
|
|
32590
|
+
pureLogs,
|
|
32591
|
+
config,
|
|
32592
|
+
loading,
|
|
32593
|
+
error,
|
|
32594
|
+
projectName,
|
|
32595
|
+
activeTab,
|
|
32596
|
+
setActiveTab
|
|
32597
|
+
}) => {
|
|
32598
|
+
if (loading)
|
|
32599
|
+
return /* @__PURE__ */ import_react60.default.createElement("div", null, "Loading project data...");
|
|
32600
|
+
if (error)
|
|
32601
|
+
return /* @__PURE__ */ import_react60.default.createElement(Alert_default, { variant: "danger" }, "Error: ", error);
|
|
32602
|
+
if (!summary)
|
|
32603
|
+
return /* @__PURE__ */ import_react60.default.createElement(Alert_default, { variant: "warning" }, "No data found for project");
|
|
32604
|
+
const testStatuses = Object.entries(summary).map(([testName, testData]) => {
|
|
32605
|
+
const runTime = config.tests?.find((t) => t[0] === testName)?.[1] || "node";
|
|
32606
|
+
return {
|
|
32607
|
+
testName,
|
|
32608
|
+
testsExist: testData.testsExist !== false,
|
|
32609
|
+
runTimeErrors: Number(testData.runTimeErrors) || 0,
|
|
32610
|
+
typeErrors: Number(testData.typeErrors) || 0,
|
|
32611
|
+
staticErrors: Number(testData.staticErrors) || 0,
|
|
32612
|
+
runTime
|
|
32469
32613
|
};
|
|
32470
|
-
}
|
|
32471
|
-
|
|
32472
|
-
|
|
32473
|
-
|
|
32474
|
-
|
|
32475
|
-
|
|
32476
|
-
cancelAnimationFrame(animationIdRef.current);
|
|
32477
|
-
animationIdRef.current = null;
|
|
32478
|
-
}
|
|
32479
|
-
return;
|
|
32614
|
+
});
|
|
32615
|
+
return /* @__PURE__ */ import_react60.default.createElement(Container_default, { fluid: true }, /* @__PURE__ */ import_react60.default.createElement(
|
|
32616
|
+
NavBar,
|
|
32617
|
+
{
|
|
32618
|
+
title: projectName,
|
|
32619
|
+
backLink: "/"
|
|
32480
32620
|
}
|
|
32481
|
-
|
|
32482
|
-
|
|
32483
|
-
let lastUpdateTime = 0;
|
|
32484
|
-
const animate = (timestamp) => {
|
|
32485
|
-
if (!active)
|
|
32486
|
-
return;
|
|
32487
|
-
const elapsed = (timestamp - startTime) % ANIMATION_DURATION;
|
|
32488
|
-
const progress = elapsed / ANIMATION_DURATION;
|
|
32489
|
-
if (timestamp - lastUpdateTime >= UPDATE_INTERVAL) {
|
|
32490
|
-
const newPos = Math.cos(progress * Math.PI * 2);
|
|
32491
|
-
setPosition(newPos);
|
|
32492
|
-
lastUpdateTime = timestamp;
|
|
32493
|
-
}
|
|
32494
|
-
animationIdRef.current = requestAnimationFrame(animate);
|
|
32495
|
-
};
|
|
32496
|
-
animationIdRef.current = requestAnimationFrame(animate);
|
|
32497
|
-
return () => {
|
|
32498
|
-
if (animationIdRef.current) {
|
|
32499
|
-
cancelAnimationFrame(animationIdRef.current);
|
|
32500
|
-
animationIdRef.current = null;
|
|
32501
|
-
}
|
|
32502
|
-
};
|
|
32503
|
-
}, [active]);
|
|
32504
|
-
const yPos = dimensions.height * (1 - position);
|
|
32505
|
-
const normalizedPos = (position + 1) / 2;
|
|
32506
|
-
if (!active)
|
|
32507
|
-
return null;
|
|
32508
|
-
return /* @__PURE__ */ import_react60.default.createElement("div", { id: "sunrise", style: {
|
|
32509
|
-
width: "100vw",
|
|
32510
|
-
height: "100vh",
|
|
32511
|
-
position: "fixed",
|
|
32512
|
-
top: 0,
|
|
32513
|
-
left: 0,
|
|
32514
|
-
backgroundColor: "transparent",
|
|
32515
|
-
overflow: "hidden",
|
|
32516
|
-
pointerEvents: "none"
|
|
32517
|
-
} }, /* @__PURE__ */ import_react60.default.createElement("div", { id: "daily-bg", style: {
|
|
32518
|
-
position: "absolute",
|
|
32519
|
-
top: 0,
|
|
32520
|
-
left: 0,
|
|
32521
|
-
width: "100%",
|
|
32522
|
-
height: "100%",
|
|
32523
|
-
backgroundColor: "rgba(0,0,0,0.3)",
|
|
32524
|
-
zIndex: -1001
|
|
32525
|
-
} }), "Stars Container", /* @__PURE__ */ import_react60.default.createElement(
|
|
32526
|
-
"div",
|
|
32621
|
+
), /* @__PURE__ */ import_react60.default.createElement(Row_default, { className: "g-0" }, /* @__PURE__ */ import_react60.default.createElement(Col_default, { sm: 3, className: "border-end" }, /* @__PURE__ */ import_react60.default.createElement(Nav_default2, { variant: "pills", className: "flex-column" }, /* @__PURE__ */ import_react60.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react60.default.createElement(
|
|
32622
|
+
Nav_default2.Link,
|
|
32527
32623
|
{
|
|
32528
|
-
|
|
32529
|
-
|
|
32530
|
-
|
|
32531
|
-
perspectiveOrigin: "50% 300%",
|
|
32532
|
-
overflow: "hidden",
|
|
32533
|
-
position: "absolute",
|
|
32534
|
-
top: 0,
|
|
32535
|
-
left: "-50%",
|
|
32536
|
-
width: "200%",
|
|
32537
|
-
height: "50%",
|
|
32538
|
-
zIndex: -1e3,
|
|
32539
|
-
opacity: Math.max(0, 0.5 - normalizedPos * 0.5)
|
|
32540
|
-
}
|
|
32624
|
+
active: activeTab === "tests",
|
|
32625
|
+
onClick: () => setActiveTab("tests"),
|
|
32626
|
+
className: "d-flex flex-column align-items-start"
|
|
32541
32627
|
},
|
|
32542
|
-
/* @__PURE__ */ import_react60.default.createElement(
|
|
32543
|
-
|
|
32544
|
-
|
|
32545
|
-
id: "stars",
|
|
32546
|
-
style: {
|
|
32547
|
-
backgroundRepeat: "repeat",
|
|
32548
|
-
position: "absolute",
|
|
32549
|
-
width: "200%",
|
|
32550
|
-
height: "200%",
|
|
32551
|
-
left: "-50%",
|
|
32552
|
-
bottom: 0,
|
|
32553
|
-
opacity: 0.5,
|
|
32554
|
-
transform: "rotateX(-90deg)"
|
|
32555
|
-
}
|
|
32556
|
-
}
|
|
32557
|
-
)
|
|
32558
|
-
), /* @__PURE__ */ import_react60.default.createElement(
|
|
32559
|
-
"div",
|
|
32628
|
+
/* @__PURE__ */ import_react60.default.createElement("div", { className: "d-flex justify-content-between w-100" }, /* @__PURE__ */ import_react60.default.createElement("span", null, "Tests"), testStatuses.some((t) => t.runTimeErrors > 0) ? /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "danger" }, "\u274C") : testStatuses.some((t) => t.typeErrors > 0 || t.staticErrors > 0) ? /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "warning", text: "dark" }, "\u26A0\uFE0F") : /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "success" }, "\u2713"))
|
|
32629
|
+
)), /* @__PURE__ */ import_react60.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react60.default.createElement(
|
|
32630
|
+
Nav_default2.Link,
|
|
32560
32631
|
{
|
|
32561
|
-
|
|
32562
|
-
|
|
32563
|
-
|
|
32564
|
-
|
|
32565
|
-
|
|
32566
|
-
|
|
32567
|
-
|
|
32568
|
-
|
|
32569
|
-
background: `radial-gradient(50% ${yPos}px, circle, rgba(242,248,247,1) 0%,rgba(249,249,28,1) 3%,rgba(247,214,46,1) 8%,rgba(248,200,95,1) 12%,rgba(201,165,132,1) 30%,rgba(115,130,133,1) 51%,rgba(46,97,122,1) 85%,rgba(24,75,106,1) 100%)`,
|
|
32570
|
-
zIndex: -900,
|
|
32571
|
-
opacity: 0.5
|
|
32572
|
-
}
|
|
32573
|
-
}
|
|
32574
|
-
), /* @__PURE__ */ import_react60.default.createElement(
|
|
32575
|
-
"div",
|
|
32632
|
+
active: activeTab === "node",
|
|
32633
|
+
onClick: () => setActiveTab("node"),
|
|
32634
|
+
className: "d-flex justify-content-between align-items-center"
|
|
32635
|
+
},
|
|
32636
|
+
"Node build logs",
|
|
32637
|
+
nodeLogs?.errors?.length ? /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "danger" }, "\u274C ", nodeLogs.errors.length) : nodeLogs?.warnings?.length ? /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "warning", text: "dark" }, "\u26A0\uFE0F") : null
|
|
32638
|
+
)), /* @__PURE__ */ import_react60.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react60.default.createElement(
|
|
32639
|
+
Nav_default2.Link,
|
|
32576
32640
|
{
|
|
32577
|
-
|
|
32578
|
-
|
|
32579
|
-
|
|
32580
|
-
|
|
32581
|
-
|
|
32582
|
-
|
|
32583
|
-
|
|
32584
|
-
|
|
32585
|
-
zIndex: -800,
|
|
32586
|
-
opacity: Math.max(0, 1 - yPos / dimensions.height)
|
|
32587
|
-
}
|
|
32588
|
-
}
|
|
32589
|
-
), /* @__PURE__ */ import_react60.default.createElement(
|
|
32590
|
-
"div",
|
|
32641
|
+
active: activeTab === "web",
|
|
32642
|
+
onClick: () => setActiveTab("web"),
|
|
32643
|
+
className: "d-flex justify-content-between align-items-center"
|
|
32644
|
+
},
|
|
32645
|
+
"Web build logs",
|
|
32646
|
+
webLogs?.errors?.length ? /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "danger" }, "\u274C ", webLogs.errors.length) : webLogs?.warnings?.length ? /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "warning", text: "dark" }, "\u26A0\uFE0F") : null
|
|
32647
|
+
)), /* @__PURE__ */ import_react60.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react60.default.createElement(
|
|
32648
|
+
Nav_default2.Link,
|
|
32591
32649
|
{
|
|
32592
|
-
|
|
32593
|
-
|
|
32594
|
-
|
|
32595
|
-
|
|
32650
|
+
active: activeTab === "pure",
|
|
32651
|
+
onClick: () => setActiveTab("pure"),
|
|
32652
|
+
className: "d-flex justify-content-between align-items-center"
|
|
32653
|
+
},
|
|
32654
|
+
"Pure build logs",
|
|
32655
|
+
pureLogs?.errors?.length ? /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "danger" }, "\u274C ", pureLogs.errors.length) : pureLogs?.warnings?.length ? /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "warning", text: "dark" }, "\u26A0\uFE0F") : null
|
|
32656
|
+
)))), /* @__PURE__ */ import_react60.default.createElement(Col_default, { sm: 9 }, /* @__PURE__ */ import_react60.default.createElement("div", { className: "p-3" }, activeTab === "tests" ? /* @__PURE__ */ import_react60.default.createElement(Table_default, { striped: true, bordered: true, hover: true }, /* @__PURE__ */ import_react60.default.createElement("thead", null, /* @__PURE__ */ import_react60.default.createElement("tr", null, /* @__PURE__ */ import_react60.default.createElement("th", null, "Test"), /* @__PURE__ */ import_react60.default.createElement("th", null, "Runtime"), /* @__PURE__ */ import_react60.default.createElement("th", null, "Status"), /* @__PURE__ */ import_react60.default.createElement("th", null, "Type Errors"), /* @__PURE__ */ import_react60.default.createElement("th", null, "Lint Errors"))), /* @__PURE__ */ import_react60.default.createElement("tbody", null, testStatuses.map((test) => /* @__PURE__ */ import_react60.default.createElement("tr", { key: test.testName, "data-testid": `test-row-${test.testName}` }, /* @__PURE__ */ import_react60.default.createElement("td", null, /* @__PURE__ */ import_react60.default.createElement("a", { href: `#/projects/${projectName}/tests/${encodeURIComponent(test.testName)}/${test.runTime}` }, test.testName)), /* @__PURE__ */ import_react60.default.createElement("td", null, /* @__PURE__ */ import_react60.default.createElement(Badge_default, { bg: "secondary", className: "ms-2" }, test.runTime)), /* @__PURE__ */ import_react60.default.createElement("td", null, /* @__PURE__ */ import_react60.default.createElement(
|
|
32657
|
+
TestStatusBadge,
|
|
32658
|
+
{
|
|
32659
|
+
testName: test.testName,
|
|
32660
|
+
testsExist: test.testsExist,
|
|
32661
|
+
runTimeErrors: test.runTimeErrors,
|
|
32662
|
+
typeErrors: test.typeErrors,
|
|
32663
|
+
staticErrors: test.staticErrors
|
|
32664
|
+
}
|
|
32665
|
+
)), /* @__PURE__ */ import_react60.default.createElement("td", null, /* @__PURE__ */ import_react60.default.createElement("a", { href: `#/projects/${projectName}/tests/${encodeURIComponent(test.testName)}/${test.runTime}#types` }, test.typeErrors > 0 ? `\u274C ${test.typeErrors}` : "\u2705")), /* @__PURE__ */ import_react60.default.createElement("td", null, /* @__PURE__ */ import_react60.default.createElement("a", { href: `#/projects/${projectName}/tests/${encodeURIComponent(test.testName)}/${test.runTime}#lint` }, test.staticErrors > 0 ? `\u274C ${test.staticErrors}` : "\u2705")))))) : activeTab === "node" ? /* @__PURE__ */ import_react60.default.createElement(BuildLogViewer, { logs: nodeLogs, runtime: "Node" }) : activeTab === "web" ? /* @__PURE__ */ import_react60.default.createElement(BuildLogViewer, { logs: webLogs, runtime: "Web" }) : activeTab === "pure" ? /* @__PURE__ */ import_react60.default.createElement(BuildLogViewer, { logs: pureLogs, runtime: "Pure" }) : null))));
|
|
32666
|
+
};
|
|
32667
|
+
|
|
32668
|
+
// src/components/stateful/ProjectPage.tsx
|
|
32669
|
+
var ProjectPage = () => {
|
|
32670
|
+
const [summary, setSummary] = (0, import_react61.useState)(null);
|
|
32671
|
+
const [nodeLogs, setNodeLogs] = (0, import_react61.useState)(null);
|
|
32672
|
+
const [webLogs, setWebLogs] = (0, import_react61.useState)(null);
|
|
32673
|
+
const [pureLogs, setPureLogs] = (0, import_react61.useState)(null);
|
|
32674
|
+
const [config, setConfig] = (0, import_react61.useState)({});
|
|
32675
|
+
const [loading, setLoading] = (0, import_react61.useState)(true);
|
|
32676
|
+
const [error, setError] = (0, import_react61.useState)(null);
|
|
32677
|
+
const [projectName, setProjectName] = (0, import_react61.useState)("");
|
|
32678
|
+
const navigate = useNavigate();
|
|
32679
|
+
const location = useLocation();
|
|
32680
|
+
const [route, setRoute] = (0, import_react61.useState)("tests");
|
|
32681
|
+
(0, import_react61.useEffect)(() => {
|
|
32682
|
+
const hash = location.hash.replace("#", "");
|
|
32683
|
+
if (hash && ["tests", "node", "web", "pure"].includes(hash)) {
|
|
32684
|
+
setRoute(hash);
|
|
32685
|
+
} else {
|
|
32686
|
+
setRoute("tests");
|
|
32687
|
+
}
|
|
32688
|
+
}, [location.hash]);
|
|
32689
|
+
const { projectName: name } = useParams();
|
|
32690
|
+
(0, import_react61.useEffect)(() => {
|
|
32691
|
+
if (!name)
|
|
32692
|
+
return;
|
|
32693
|
+
setProjectName(name);
|
|
32694
|
+
const fetchData = async () => {
|
|
32695
|
+
try {
|
|
32696
|
+
const [summaryRes, nodeRes, webRes, pureRes, configRes] = await Promise.all([
|
|
32697
|
+
fetch(`reports/${name}/summary.json`),
|
|
32698
|
+
fetch(`bundles/node/${name}/metafile.json`),
|
|
32699
|
+
fetch(`bundles/web/${name}/metafile.json`),
|
|
32700
|
+
fetch(`bundles/pure/${name}/metafile.json`),
|
|
32701
|
+
fetch(`reports/${name}/config.json`)
|
|
32702
|
+
]);
|
|
32703
|
+
const [summaryData, nodeData, webData, pureData, configData] = await Promise.all([
|
|
32704
|
+
summaryRes.ok ? summaryRes.json() : {},
|
|
32705
|
+
nodeRes.ok ? nodeRes.json() : { errors: ["Failed to load node build logs"] },
|
|
32706
|
+
webRes.ok ? webRes.json() : { errors: ["Failed to load web build logs"] },
|
|
32707
|
+
pureRes.ok ? pureRes.json() : { errors: ["Failed to load pure build logs"] },
|
|
32708
|
+
configRes.ok ? configRes.json() : { tests: [] }
|
|
32709
|
+
]);
|
|
32710
|
+
setSummary(summaryData);
|
|
32711
|
+
setNodeLogs(nodeData);
|
|
32712
|
+
setWebLogs(webData);
|
|
32713
|
+
setPureLogs(pureData);
|
|
32714
|
+
setConfig(configData);
|
|
32715
|
+
} catch (err) {
|
|
32716
|
+
setError(err instanceof Error ? err.message : "Unknown error");
|
|
32717
|
+
} finally {
|
|
32718
|
+
setLoading(false);
|
|
32719
|
+
}
|
|
32720
|
+
};
|
|
32721
|
+
fetchData();
|
|
32722
|
+
}, [name]);
|
|
32723
|
+
return /* @__PURE__ */ import_react61.default.createElement(
|
|
32724
|
+
ProjectPageView,
|
|
32725
|
+
{
|
|
32726
|
+
summary,
|
|
32727
|
+
nodeLogs,
|
|
32728
|
+
webLogs,
|
|
32729
|
+
pureLogs,
|
|
32730
|
+
config,
|
|
32731
|
+
loading,
|
|
32732
|
+
error,
|
|
32733
|
+
projectName,
|
|
32734
|
+
activeTab: route,
|
|
32735
|
+
setActiveTab: setRoute
|
|
32736
|
+
}
|
|
32737
|
+
);
|
|
32738
|
+
};
|
|
32739
|
+
|
|
32740
|
+
// src/components/stateful/ProjectsPage.tsx
|
|
32741
|
+
var import_react63 = __toESM(require_react(), 1);
|
|
32742
|
+
|
|
32743
|
+
// src/components/pure/ProjectsPageView.tsx
|
|
32744
|
+
var import_react62 = __toESM(require_react(), 1);
|
|
32745
|
+
var ProjectsPageView = ({
|
|
32746
|
+
projects,
|
|
32747
|
+
summaries,
|
|
32748
|
+
configs,
|
|
32749
|
+
loading,
|
|
32750
|
+
error,
|
|
32751
|
+
navigate
|
|
32752
|
+
}) => {
|
|
32753
|
+
const getStatusIcon = (status) => {
|
|
32754
|
+
switch (status) {
|
|
32755
|
+
case "success":
|
|
32756
|
+
return "\u2705";
|
|
32757
|
+
case "failed":
|
|
32758
|
+
return "\u274C";
|
|
32759
|
+
case "warning":
|
|
32760
|
+
return "\u26A0\uFE0F";
|
|
32761
|
+
default:
|
|
32762
|
+
return "\u2753";
|
|
32763
|
+
}
|
|
32764
|
+
};
|
|
32765
|
+
if (loading)
|
|
32766
|
+
return /* @__PURE__ */ import_react62.default.createElement("div", null, "Loading projects...");
|
|
32767
|
+
if (error)
|
|
32768
|
+
return /* @__PURE__ */ import_react62.default.createElement(Alert_default, { variant: "danger" }, "Error: ", error);
|
|
32769
|
+
return /* @__PURE__ */ import_react62.default.createElement("div", { className: "p-3" }, /* @__PURE__ */ import_react62.default.createElement(NavBar, { title: "Testeranto", backLink: void 0 }), /* @__PURE__ */ import_react62.default.createElement(Table_default, { striped: true, bordered: true, hover: true, responsive: true }, /* @__PURE__ */ import_react62.default.createElement("thead", null, /* @__PURE__ */ import_react62.default.createElement("tr", null, /* @__PURE__ */ import_react62.default.createElement("th", null, "Project"), /* @__PURE__ */ import_react62.default.createElement("th", null, "Tests"), /* @__PURE__ */ import_react62.default.createElement("th", null, "Node"), /* @__PURE__ */ import_react62.default.createElement("th", null, "Web"), /* @__PURE__ */ import_react62.default.createElement("th", null, "Pure"))), /* @__PURE__ */ import_react62.default.createElement("tbody", null, projects.map((project) => /* @__PURE__ */ import_react62.default.createElement("tr", { key: project.name }, /* @__PURE__ */ import_react62.default.createElement("td", null, /* @__PURE__ */ import_react62.default.createElement("a", { href: "#", onClick: (e) => {
|
|
32770
|
+
e.preventDefault();
|
|
32771
|
+
navigate(`/projects/${project.name}`);
|
|
32772
|
+
} }, project.name)), /* @__PURE__ */ import_react62.default.createElement("td", null, /* @__PURE__ */ import_react62.default.createElement("div", { style: { maxHeight: "200px", overflowY: "auto" } }, summaries[project.name] ? Object.keys(summaries[project.name]).map((testName) => {
|
|
32773
|
+
const testData = summaries[project.name][testName];
|
|
32774
|
+
const runTime = configs[project.name]?.tests?.find((t) => t[0] === testName)?.[1] || "node";
|
|
32775
|
+
const hasRuntimeErrors = testData.runTimeErrors > 0;
|
|
32776
|
+
const hasStaticErrors = testData.typeErrors > 0 || testData.staticErrors > 0;
|
|
32777
|
+
return /* @__PURE__ */ import_react62.default.createElement("div", { key: testName }, /* @__PURE__ */ import_react62.default.createElement(
|
|
32778
|
+
"a",
|
|
32779
|
+
{
|
|
32780
|
+
href: `#/projects/${project.name}/tests/${encodeURIComponent(testName)}/${runTime}`
|
|
32781
|
+
},
|
|
32782
|
+
hasRuntimeErrors ? "\u274C " : hasStaticErrors ? "\u26A0\uFE0F " : "",
|
|
32783
|
+
testName.split("/").pop() || testName
|
|
32784
|
+
));
|
|
32785
|
+
}) : /* @__PURE__ */ import_react62.default.createElement("div", null, "Loading tests..."))), /* @__PURE__ */ import_react62.default.createElement("td", null, /* @__PURE__ */ import_react62.default.createElement(
|
|
32786
|
+
"a",
|
|
32787
|
+
{
|
|
32788
|
+
href: `#/projects/${project.name}#node`
|
|
32789
|
+
},
|
|
32790
|
+
getStatusIcon(project.nodeStatus),
|
|
32791
|
+
" Node build logs"
|
|
32792
|
+
)), /* @__PURE__ */ import_react62.default.createElement("td", null, /* @__PURE__ */ import_react62.default.createElement(
|
|
32793
|
+
"a",
|
|
32794
|
+
{
|
|
32795
|
+
href: `#/projects/${project.name}#web`
|
|
32796
|
+
},
|
|
32797
|
+
getStatusIcon(project.webStatus),
|
|
32798
|
+
" Web build logs"
|
|
32799
|
+
)), /* @__PURE__ */ import_react62.default.createElement("td", null, /* @__PURE__ */ import_react62.default.createElement(
|
|
32800
|
+
"a",
|
|
32801
|
+
{
|
|
32802
|
+
href: `#/projects/${project.name}#pure`
|
|
32803
|
+
},
|
|
32804
|
+
getStatusIcon(project.pureStatus),
|
|
32805
|
+
" Pure build logs"
|
|
32806
|
+
)))))));
|
|
32807
|
+
};
|
|
32808
|
+
|
|
32809
|
+
// src/components/stateful/ProjectsPage.tsx
|
|
32810
|
+
var ProjectsPage = () => {
|
|
32811
|
+
const [projects, setProjects] = (0, import_react63.useState)([]);
|
|
32812
|
+
const [summaries, setSummaries] = (0, import_react63.useState)({});
|
|
32813
|
+
const [loading, setLoading] = (0, import_react63.useState)(true);
|
|
32814
|
+
const [error, setError] = (0, import_react63.useState)(null);
|
|
32815
|
+
const [configs, setConfigs] = (0, import_react63.useState)({});
|
|
32816
|
+
const navigate = useNavigate();
|
|
32817
|
+
(0, import_react63.useEffect)(() => {
|
|
32818
|
+
const fetchProjects = async () => {
|
|
32819
|
+
try {
|
|
32820
|
+
const projectsRes = await fetch(`projects.json`);
|
|
32821
|
+
const projectNames = await projectsRes.json();
|
|
32822
|
+
const projectsData = await Promise.all(
|
|
32823
|
+
projectNames.map(async (name) => {
|
|
32824
|
+
const [summaryRes, nodeRes, webRes, pureRes, configRes] = await Promise.all([
|
|
32825
|
+
fetch(`reports/${name}/summary.json`),
|
|
32826
|
+
fetch(`bundles/node/${name}/metafile.json`),
|
|
32827
|
+
fetch(`bundles/web/${name}/metafile.json`),
|
|
32828
|
+
fetch(`bundles/pure/${name}/metafile.json`),
|
|
32829
|
+
fetch(`reports/${name}/config.json`)
|
|
32830
|
+
]);
|
|
32831
|
+
const [summary, nodeData, webData, pureData, configData] = await Promise.all([
|
|
32832
|
+
summaryRes.json(),
|
|
32833
|
+
nodeRes.ok ? nodeRes.json() : { errors: ["Failed to load node build logs"] },
|
|
32834
|
+
webRes.ok ? webRes.json() : { errors: ["Failed to load web build logs"] },
|
|
32835
|
+
pureRes.ok ? pureRes.json() : { errors: ["Failed to load pure build logs"] },
|
|
32836
|
+
configRes.json()
|
|
32837
|
+
]);
|
|
32838
|
+
setSummaries((prev) => ({ ...prev, [name]: summary }));
|
|
32839
|
+
setConfigs((prev) => ({ ...prev, [name]: configData }));
|
|
32840
|
+
return {
|
|
32841
|
+
name,
|
|
32842
|
+
testCount: Object.keys(summary).length,
|
|
32843
|
+
nodeStatus: nodeData.errors?.length ? "failed" : nodeData.warnings?.length ? "warning" : "success",
|
|
32844
|
+
webStatus: webData.errors?.length ? "failed" : webData.warnings?.length ? "warning" : "success",
|
|
32845
|
+
pureStatus: pureData.errors?.length ? "failed" : pureData.warnings?.length ? "warning" : "success"
|
|
32846
|
+
};
|
|
32847
|
+
})
|
|
32848
|
+
);
|
|
32849
|
+
setProjects(projectsData);
|
|
32850
|
+
} catch (err) {
|
|
32851
|
+
setError(err instanceof Error ? err.message : "Unknown error");
|
|
32852
|
+
} finally {
|
|
32853
|
+
setLoading(false);
|
|
32854
|
+
}
|
|
32855
|
+
};
|
|
32856
|
+
fetchProjects();
|
|
32857
|
+
}, []);
|
|
32858
|
+
return /* @__PURE__ */ import_react63.default.createElement(
|
|
32859
|
+
ProjectsPageView,
|
|
32860
|
+
{
|
|
32861
|
+
projects,
|
|
32862
|
+
summaries,
|
|
32863
|
+
configs,
|
|
32864
|
+
loading,
|
|
32865
|
+
error,
|
|
32866
|
+
navigate
|
|
32867
|
+
}
|
|
32868
|
+
);
|
|
32869
|
+
};
|
|
32870
|
+
|
|
32871
|
+
// src/components/pure/AppFrame.tsx
|
|
32872
|
+
var import_react68 = __toESM(require_react(), 1);
|
|
32873
|
+
|
|
32874
|
+
// src/components/pure/SettingsButton.tsx
|
|
32875
|
+
var import_react67 = __toESM(require_react(), 1);
|
|
32876
|
+
|
|
32877
|
+
// src/components/pure/ModalContent.tsx
|
|
32878
|
+
var import_react65 = __toESM(require_react(), 1);
|
|
32879
|
+
|
|
32880
|
+
// src/components/pure/ThemeCard.tsx
|
|
32881
|
+
var import_react64 = __toESM(require_react(), 1);
|
|
32882
|
+
var ThemeCard = ({
|
|
32883
|
+
theme,
|
|
32884
|
+
handleThemeChange,
|
|
32885
|
+
value,
|
|
32886
|
+
title,
|
|
32887
|
+
description,
|
|
32888
|
+
style: style2
|
|
32889
|
+
}) => /* @__PURE__ */ import_react64.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react64.default.createElement(
|
|
32890
|
+
"div",
|
|
32891
|
+
{
|
|
32892
|
+
className: `card theme-card ${theme === value ? "border-primary" : ""}`,
|
|
32893
|
+
onClick: () => handleThemeChange({
|
|
32894
|
+
target: { value }
|
|
32895
|
+
}),
|
|
32896
|
+
style: style2
|
|
32897
|
+
},
|
|
32898
|
+
/* @__PURE__ */ import_react64.default.createElement("div", { className: "card-body text-center p-3" }, /* @__PURE__ */ import_react64.default.createElement("h5", { className: "card-title mb-1" }, title), /* @__PURE__ */ import_react64.default.createElement("p", { className: "small text-muted mb-0" }, description))
|
|
32899
|
+
));
|
|
32900
|
+
|
|
32901
|
+
// src/components/pure/ModalContent.tsx
|
|
32902
|
+
var ModalContent = ({
|
|
32903
|
+
theme,
|
|
32904
|
+
handleThemeChange
|
|
32905
|
+
}) => /* @__PURE__ */ import_react65.default.createElement(import_react65.default.Fragment, null, /* @__PURE__ */ import_react65.default.createElement(Modal_default2.Header, { closeButton: true, className: "border-0" }, /* @__PURE__ */ import_react65.default.createElement(Modal_default2.Title, { className: "d-flex align-items-center" }, /* @__PURE__ */ import_react65.default.createElement("i", { className: "bi bi-palette-fill me-2" }), /* @__PURE__ */ import_react65.default.createElement("span", null, "Settings"))), /* @__PURE__ */ import_react65.default.createElement("div", { className: "alert alert-warning mx-3 mt-2 mb-0" }, /* @__PURE__ */ import_react65.default.createElement("i", { className: "bi bi-exclamation-triangle-fill me-2" }), /* @__PURE__ */ import_react65.default.createElement("strong", null, "Warning:"), ' Themes are an experimental feature. Only "Business casual" is fully supported at this time.'), /* @__PURE__ */ import_react65.default.createElement(Modal_default2.Body, { className: "p-0" }, /* @__PURE__ */ import_react65.default.createElement("div", { className: "p-3" }, /* @__PURE__ */ import_react65.default.createElement("div", { className: "row g-3" }, /* @__PURE__ */ import_react65.default.createElement(
|
|
32906
|
+
ThemeCard,
|
|
32907
|
+
{
|
|
32908
|
+
theme,
|
|
32909
|
+
handleThemeChange,
|
|
32910
|
+
value: "system",
|
|
32911
|
+
title: "9 to 5",
|
|
32912
|
+
description: "Follows your OS theme",
|
|
32913
|
+
style: {
|
|
32914
|
+
background: "linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%)",
|
|
32915
|
+
borderColor: "#adb5bd"
|
|
32916
|
+
}
|
|
32917
|
+
}
|
|
32918
|
+
), /* @__PURE__ */ import_react65.default.createElement(
|
|
32919
|
+
ThemeCard,
|
|
32920
|
+
{
|
|
32921
|
+
theme,
|
|
32922
|
+
handleThemeChange,
|
|
32923
|
+
value: "light",
|
|
32924
|
+
title: "Business casual",
|
|
32925
|
+
description: "Clean & professional",
|
|
32926
|
+
style: {
|
|
32927
|
+
background: "linear-gradient(135deg, #ffffff 0%, #f1f3f5 100%)",
|
|
32928
|
+
borderColor: "#ced4da",
|
|
32929
|
+
color: "#212529",
|
|
32930
|
+
borderWidth: "2px"
|
|
32931
|
+
}
|
|
32932
|
+
}
|
|
32933
|
+
), /* @__PURE__ */ import_react65.default.createElement(
|
|
32934
|
+
ThemeCard,
|
|
32935
|
+
{
|
|
32936
|
+
theme,
|
|
32937
|
+
handleThemeChange,
|
|
32938
|
+
value: "dark",
|
|
32939
|
+
title: "Business formal",
|
|
32940
|
+
description: "Premium & focused",
|
|
32941
|
+
style: {
|
|
32942
|
+
background: "linear-gradient(135deg, #1a1a2e 0%, #16213e 100%)",
|
|
32943
|
+
borderColor: "#4ecdc4",
|
|
32944
|
+
color: "#f8f9fa",
|
|
32945
|
+
borderWidth: "2px"
|
|
32946
|
+
}
|
|
32947
|
+
}
|
|
32948
|
+
), /* @__PURE__ */ import_react65.default.createElement(
|
|
32949
|
+
ThemeCard,
|
|
32950
|
+
{
|
|
32951
|
+
theme,
|
|
32952
|
+
handleThemeChange,
|
|
32953
|
+
value: "light-vibrant",
|
|
32954
|
+
title: "Office Party",
|
|
32955
|
+
description: "Colorful & fun",
|
|
32956
|
+
style: {
|
|
32957
|
+
background: "linear-gradient(135deg, #ff2d75 0%, #00e5ff 100%)",
|
|
32958
|
+
borderColor: "#ffeb3b",
|
|
32959
|
+
color: "#fff"
|
|
32960
|
+
}
|
|
32961
|
+
}
|
|
32962
|
+
), /* @__PURE__ */ import_react65.default.createElement(
|
|
32963
|
+
ThemeCard,
|
|
32964
|
+
{
|
|
32965
|
+
theme,
|
|
32966
|
+
handleThemeChange,
|
|
32967
|
+
value: "dark-vibrant",
|
|
32968
|
+
title: "After Party",
|
|
32969
|
+
description: "Neon nightlife",
|
|
32970
|
+
style: {
|
|
32971
|
+
background: "linear-gradient(135deg, #16213e 0%, #e94560 100%)",
|
|
32972
|
+
borderColor: "#00e5ff",
|
|
32973
|
+
color: "#fff"
|
|
32974
|
+
}
|
|
32975
|
+
}
|
|
32976
|
+
), /* @__PURE__ */ import_react65.default.createElement(
|
|
32977
|
+
ThemeCard,
|
|
32978
|
+
{
|
|
32979
|
+
theme,
|
|
32980
|
+
handleThemeChange,
|
|
32981
|
+
value: "sepia",
|
|
32982
|
+
title: "WFH",
|
|
32983
|
+
description: "Vintage warmth",
|
|
32984
|
+
style: {
|
|
32985
|
+
background: "linear-gradient(135deg, #f4ecd8 0%, #d0b88f 100%)",
|
|
32986
|
+
borderColor: "#8b6b4a",
|
|
32987
|
+
color: "#3a3226"
|
|
32988
|
+
}
|
|
32989
|
+
}
|
|
32990
|
+
), /* @__PURE__ */ import_react65.default.createElement(
|
|
32991
|
+
ThemeCard,
|
|
32992
|
+
{
|
|
32993
|
+
theme,
|
|
32994
|
+
handleThemeChange,
|
|
32995
|
+
value: "light-grayscale",
|
|
32996
|
+
title: "Serious Business",
|
|
32997
|
+
description: "Simple & distraction-free",
|
|
32998
|
+
style: {
|
|
32999
|
+
background: "linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%)",
|
|
33000
|
+
borderColor: "#666",
|
|
33001
|
+
color: "#333",
|
|
33002
|
+
borderWidth: "2px"
|
|
33003
|
+
}
|
|
33004
|
+
}
|
|
33005
|
+
), /* @__PURE__ */ import_react65.default.createElement(
|
|
33006
|
+
ThemeCard,
|
|
33007
|
+
{
|
|
33008
|
+
theme,
|
|
33009
|
+
handleThemeChange,
|
|
33010
|
+
value: "dark-grayscale",
|
|
33011
|
+
title: "Very Serious business",
|
|
33012
|
+
description: "Maximum readability",
|
|
33013
|
+
style: {
|
|
33014
|
+
background: "linear-gradient(135deg, #111 0%, #333 100%)",
|
|
33015
|
+
borderColor: "#ff6b6b",
|
|
33016
|
+
color: "#e0e0e0",
|
|
33017
|
+
borderWidth: "2px"
|
|
33018
|
+
}
|
|
33019
|
+
}
|
|
33020
|
+
), /* @__PURE__ */ import_react65.default.createElement(
|
|
33021
|
+
ThemeCard,
|
|
33022
|
+
{
|
|
33023
|
+
theme,
|
|
33024
|
+
handleThemeChange,
|
|
33025
|
+
value: "daily",
|
|
33026
|
+
title: "Dreaming of PTO",
|
|
33027
|
+
description: "Sunrise, sunset",
|
|
33028
|
+
style: {
|
|
33029
|
+
background: "linear-gradient(135deg, #6eafff 0%, #f9fbf0 100%)",
|
|
33030
|
+
borderColor: "#f7d62e",
|
|
33031
|
+
color: "#00192d"
|
|
33032
|
+
}
|
|
33033
|
+
}
|
|
33034
|
+
), /* @__PURE__ */ import_react65.default.createElement(
|
|
33035
|
+
ThemeCard,
|
|
33036
|
+
{
|
|
33037
|
+
theme,
|
|
33038
|
+
handleThemeChange,
|
|
33039
|
+
value: "protanopia",
|
|
33040
|
+
title: "Protanopia",
|
|
33041
|
+
description: "Red-blind mode",
|
|
33042
|
+
style: {
|
|
33043
|
+
background: "linear-gradient(135deg, #f8f9fa 0%, #e0e8ff 100%)",
|
|
33044
|
+
borderColor: "#3366cc",
|
|
33045
|
+
color: "#333"
|
|
33046
|
+
}
|
|
33047
|
+
}
|
|
33048
|
+
), /* @__PURE__ */ import_react65.default.createElement(
|
|
33049
|
+
ThemeCard,
|
|
33050
|
+
{
|
|
33051
|
+
theme,
|
|
33052
|
+
handleThemeChange,
|
|
33053
|
+
value: "deuteranopia",
|
|
33054
|
+
title: "Deuteranopia",
|
|
33055
|
+
description: "Green-blind mode",
|
|
33056
|
+
style: {
|
|
33057
|
+
background: "linear-gradient(135deg, #f8f9fa 0%, #ffe0e0 100%)",
|
|
33058
|
+
borderColor: "#cc6633",
|
|
33059
|
+
color: "#333"
|
|
33060
|
+
}
|
|
33061
|
+
}
|
|
33062
|
+
), /* @__PURE__ */ import_react65.default.createElement(
|
|
33063
|
+
ThemeCard,
|
|
33064
|
+
{
|
|
33065
|
+
theme,
|
|
33066
|
+
handleThemeChange,
|
|
33067
|
+
value: "tritanopia",
|
|
33068
|
+
title: "Tritanopia",
|
|
33069
|
+
description: "Blue-blind mode",
|
|
33070
|
+
style: {
|
|
33071
|
+
background: "linear-gradient(135deg, #f8f9fa 0%, #e0ffe0 100%)",
|
|
33072
|
+
borderColor: "#00aa66",
|
|
33073
|
+
color: "#333"
|
|
33074
|
+
}
|
|
33075
|
+
}
|
|
33076
|
+
)))));
|
|
33077
|
+
|
|
33078
|
+
// src/components/SunriseAnimation.tsx
|
|
33079
|
+
var import_react66 = __toESM(require_react(), 1);
|
|
33080
|
+
var SunriseAnimation = ({ active }) => {
|
|
33081
|
+
const [position, setPosition] = (0, import_react66.useState)(0);
|
|
33082
|
+
const [dimensions, setDimensions] = (0, import_react66.useState)({ width: 0, height: 0 });
|
|
33083
|
+
const animationIdRef = (0, import_react66.useRef)(null);
|
|
33084
|
+
(0, import_react66.useEffect)(() => {
|
|
33085
|
+
setDimensions({
|
|
33086
|
+
width: window.innerWidth,
|
|
33087
|
+
height: window.innerHeight
|
|
33088
|
+
});
|
|
33089
|
+
const handleResize = () => {
|
|
33090
|
+
setDimensions({
|
|
33091
|
+
width: window.innerWidth,
|
|
33092
|
+
height: window.innerHeight
|
|
33093
|
+
});
|
|
33094
|
+
};
|
|
33095
|
+
window.addEventListener("resize", handleResize);
|
|
33096
|
+
return () => {
|
|
33097
|
+
window.removeEventListener("resize", handleResize);
|
|
33098
|
+
};
|
|
33099
|
+
}, []);
|
|
33100
|
+
const ANIMATION_DURATION = 1e4;
|
|
33101
|
+
const UPDATE_INTERVAL = 50;
|
|
33102
|
+
(0, import_react66.useEffect)(() => {
|
|
33103
|
+
if (!active) {
|
|
33104
|
+
if (animationIdRef.current) {
|
|
33105
|
+
cancelAnimationFrame(animationIdRef.current);
|
|
33106
|
+
animationIdRef.current = null;
|
|
33107
|
+
}
|
|
33108
|
+
return;
|
|
33109
|
+
}
|
|
33110
|
+
console.log("Starting animation with duration:", ANIMATION_DURATION, "ms");
|
|
33111
|
+
let startTime = performance.now();
|
|
33112
|
+
let lastUpdateTime = 0;
|
|
33113
|
+
const animate = (timestamp) => {
|
|
33114
|
+
if (!active)
|
|
33115
|
+
return;
|
|
33116
|
+
const elapsed = (timestamp - startTime) % ANIMATION_DURATION;
|
|
33117
|
+
const progress = elapsed / ANIMATION_DURATION;
|
|
33118
|
+
if (timestamp - lastUpdateTime >= UPDATE_INTERVAL) {
|
|
33119
|
+
const newPos = Math.cos(progress * Math.PI * 2);
|
|
33120
|
+
setPosition(newPos);
|
|
33121
|
+
lastUpdateTime = timestamp;
|
|
33122
|
+
}
|
|
33123
|
+
animationIdRef.current = requestAnimationFrame(animate);
|
|
33124
|
+
};
|
|
33125
|
+
animationIdRef.current = requestAnimationFrame(animate);
|
|
33126
|
+
return () => {
|
|
33127
|
+
if (animationIdRef.current) {
|
|
33128
|
+
cancelAnimationFrame(animationIdRef.current);
|
|
33129
|
+
animationIdRef.current = null;
|
|
33130
|
+
}
|
|
33131
|
+
};
|
|
33132
|
+
}, [active]);
|
|
33133
|
+
const yPos = dimensions.height * (1 - position);
|
|
33134
|
+
const normalizedPos = (position + 1) / 2;
|
|
33135
|
+
if (!active)
|
|
33136
|
+
return null;
|
|
33137
|
+
return /* @__PURE__ */ import_react66.default.createElement("div", { id: "sunrise", style: {
|
|
33138
|
+
width: "100vw",
|
|
33139
|
+
height: "100vh",
|
|
33140
|
+
position: "fixed",
|
|
33141
|
+
top: 0,
|
|
33142
|
+
left: 0,
|
|
33143
|
+
backgroundColor: "transparent",
|
|
33144
|
+
overflow: "hidden",
|
|
33145
|
+
pointerEvents: "none"
|
|
33146
|
+
} }, /* @__PURE__ */ import_react66.default.createElement("div", { id: "daily-bg", style: {
|
|
33147
|
+
position: "absolute",
|
|
33148
|
+
top: 0,
|
|
33149
|
+
left: 0,
|
|
33150
|
+
width: "100%",
|
|
33151
|
+
height: "100%",
|
|
33152
|
+
backgroundColor: "rgba(0,0,0,0.3)",
|
|
33153
|
+
zIndex: -1001
|
|
33154
|
+
} }), "Stars Container", /* @__PURE__ */ import_react66.default.createElement(
|
|
33155
|
+
"div",
|
|
33156
|
+
{
|
|
33157
|
+
id: "starsContainer",
|
|
33158
|
+
style: {
|
|
33159
|
+
perspective: 350,
|
|
33160
|
+
perspectiveOrigin: "50% 300%",
|
|
33161
|
+
overflow: "hidden",
|
|
33162
|
+
position: "absolute",
|
|
33163
|
+
top: 0,
|
|
33164
|
+
left: "-50%",
|
|
33165
|
+
width: "200%",
|
|
33166
|
+
height: "50%",
|
|
33167
|
+
zIndex: -1e3,
|
|
33168
|
+
opacity: Math.max(0, 0.5 - normalizedPos * 0.5)
|
|
33169
|
+
}
|
|
33170
|
+
},
|
|
33171
|
+
/* @__PURE__ */ import_react66.default.createElement(
|
|
33172
|
+
"div",
|
|
33173
|
+
{
|
|
33174
|
+
id: "stars",
|
|
33175
|
+
style: {
|
|
33176
|
+
backgroundRepeat: "repeat",
|
|
33177
|
+
position: "absolute",
|
|
33178
|
+
width: "200%",
|
|
33179
|
+
height: "200%",
|
|
33180
|
+
left: "-50%",
|
|
33181
|
+
bottom: 0,
|
|
33182
|
+
opacity: 0.5,
|
|
33183
|
+
transform: "rotateX(-90deg)"
|
|
33184
|
+
}
|
|
33185
|
+
}
|
|
33186
|
+
)
|
|
33187
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
33188
|
+
"div",
|
|
33189
|
+
{
|
|
33190
|
+
id: "sun",
|
|
33191
|
+
style: {
|
|
33192
|
+
position: "absolute",
|
|
33193
|
+
top: 0,
|
|
33194
|
+
left: "50%",
|
|
33195
|
+
transform: `translateX(-50%) translateY(${yPos}px)`,
|
|
33196
|
+
width: "100%",
|
|
33197
|
+
height: "50%",
|
|
33198
|
+
background: `radial-gradient(50% ${yPos}px, circle, rgba(242,248,247,1) 0%,rgba(249,249,28,1) 3%,rgba(247,214,46,1) 8%,rgba(248,200,95,1) 12%,rgba(201,165,132,1) 30%,rgba(115,130,133,1) 51%,rgba(46,97,122,1) 85%,rgba(24,75,106,1) 100%)`,
|
|
33199
|
+
zIndex: -900,
|
|
33200
|
+
opacity: 0.5
|
|
33201
|
+
}
|
|
33202
|
+
}
|
|
33203
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
33204
|
+
"div",
|
|
33205
|
+
{
|
|
33206
|
+
id: "sunDay",
|
|
33207
|
+
style: {
|
|
33208
|
+
position: "absolute",
|
|
33209
|
+
top: 0,
|
|
33210
|
+
left: 0,
|
|
33211
|
+
width: "100%",
|
|
33212
|
+
height: "50%",
|
|
33213
|
+
background: `radial-gradient(50% ${yPos}px, circle, rgba(252,255,251,0.9) 0%,rgba(253,250,219,0.4) 30%,rgba(226,219,197,0.01) 70%,rgba(226,219,197,0.0) 70%,rgba(201,165,132,0) 100%)`,
|
|
33214
|
+
zIndex: -800,
|
|
33215
|
+
opacity: Math.max(0, 1 - yPos / dimensions.height)
|
|
33216
|
+
}
|
|
33217
|
+
}
|
|
33218
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
33219
|
+
"div",
|
|
33220
|
+
{
|
|
33221
|
+
id: "sunSet",
|
|
33222
|
+
style: {
|
|
33223
|
+
position: "absolute",
|
|
33224
|
+
top: 0,
|
|
32596
33225
|
left: 0,
|
|
32597
33226
|
width: "100%",
|
|
32598
33227
|
height: "50%",
|
|
@@ -32601,7 +33230,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32601
33230
|
opacity: Math.max(0, yPos / dimensions.height - 0.2)
|
|
32602
33231
|
}
|
|
32603
33232
|
}
|
|
32604
|
-
), /* @__PURE__ */
|
|
33233
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
32605
33234
|
"div",
|
|
32606
33235
|
{
|
|
32607
33236
|
id: "sky",
|
|
@@ -32616,7 +33245,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32616
33245
|
opacity: Math.max(0, 1 - yPos / dimensions.height)
|
|
32617
33246
|
}
|
|
32618
33247
|
}
|
|
32619
|
-
), /* @__PURE__ */
|
|
33248
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
32620
33249
|
"div",
|
|
32621
33250
|
{
|
|
32622
33251
|
id: "horizon",
|
|
@@ -32631,7 +33260,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32631
33260
|
opacity: Math.max(0, yPos > dimensions.height / 2 ? (dimensions.height - yPos) / (dimensions.height / 2) + 0.2 : yPos / (dimensions.height / 2))
|
|
32632
33261
|
}
|
|
32633
33262
|
}
|
|
32634
|
-
), /* @__PURE__ */
|
|
33263
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
32635
33264
|
"div",
|
|
32636
33265
|
{
|
|
32637
33266
|
id: "horizonNight",
|
|
@@ -32646,7 +33275,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32646
33275
|
opacity: Math.max(0, (yPos - dimensions.height * 4 / 5) / (dimensions.height - dimensions.height * 4 / 5))
|
|
32647
33276
|
}
|
|
32648
33277
|
}
|
|
32649
|
-
), /* @__PURE__ */
|
|
33278
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
32650
33279
|
"div",
|
|
32651
33280
|
{
|
|
32652
33281
|
id: "moon",
|
|
@@ -32661,7 +33290,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32661
33290
|
opacity: Math.max(0, (yPos - dimensions.height * 9 / 10) / (dimensions.height - dimensions.height * 9 / 10))
|
|
32662
33291
|
}
|
|
32663
33292
|
}
|
|
32664
|
-
), /* @__PURE__ */
|
|
33293
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
32665
33294
|
"div",
|
|
32666
33295
|
{
|
|
32667
33296
|
id: "water",
|
|
@@ -32676,7 +33305,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32676
33305
|
zIndex: -400
|
|
32677
33306
|
}
|
|
32678
33307
|
}
|
|
32679
|
-
), /* @__PURE__ */
|
|
33308
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
32680
33309
|
"div",
|
|
32681
33310
|
{
|
|
32682
33311
|
id: "waterReflectionContainer",
|
|
@@ -32693,7 +33322,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32693
33322
|
transform: `translateY(${dimensions.height - yPos}px)`
|
|
32694
33323
|
}
|
|
32695
33324
|
},
|
|
32696
|
-
/* @__PURE__ */
|
|
33325
|
+
/* @__PURE__ */ import_react66.default.createElement(
|
|
32697
33326
|
"div",
|
|
32698
33327
|
{
|
|
32699
33328
|
id: "waterReflectionMiddle",
|
|
@@ -32710,7 +33339,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32710
33339
|
}
|
|
32711
33340
|
}
|
|
32712
33341
|
)
|
|
32713
|
-
), /* @__PURE__ */
|
|
33342
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
32714
33343
|
"div",
|
|
32715
33344
|
{
|
|
32716
33345
|
id: "waterDistance",
|
|
@@ -32725,7 +33354,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32725
33354
|
opacity: Math.max(0, yPos / dimensions.height + 0.6)
|
|
32726
33355
|
}
|
|
32727
33356
|
}
|
|
32728
|
-
), /* @__PURE__ */
|
|
33357
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
32729
33358
|
"div",
|
|
32730
33359
|
{
|
|
32731
33360
|
id: "darknessOverlaySky",
|
|
@@ -32740,7 +33369,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32740
33369
|
zIndex: -50
|
|
32741
33370
|
}
|
|
32742
33371
|
}
|
|
32743
|
-
), /* @__PURE__ */
|
|
33372
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
32744
33373
|
"div",
|
|
32745
33374
|
{
|
|
32746
33375
|
id: "darknessOverlay",
|
|
@@ -32749,507 +33378,143 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
32749
33378
|
opacity: Math.max(0, (yPos - dimensions.height / 2) / (dimensions.height / 2)),
|
|
32750
33379
|
position: "absolute",
|
|
32751
33380
|
bottom: 0,
|
|
32752
|
-
left: 0,
|
|
32753
|
-
width: "100%",
|
|
32754
|
-
height: "50%",
|
|
32755
|
-
zIndex: -5
|
|
32756
|
-
}
|
|
32757
|
-
}
|
|
32758
|
-
), /* @__PURE__ */ import_react60.default.createElement(
|
|
32759
|
-
"div",
|
|
32760
|
-
{
|
|
32761
|
-
id: "oceanRipple",
|
|
32762
|
-
style: {
|
|
32763
|
-
backgroundImage: "repeating-linear-gradient(175deg, rgba(165,165,165,0.08) 43%,rgba(175,175,175,0.08) 45%,rgba(235,235,235,0.08) 49%,rgba(195,195,195,0.08) 50%,rgba(165,165,165,0.08) 54%)",
|
|
32764
|
-
opacity: 0.5,
|
|
32765
|
-
position: "absolute",
|
|
32766
|
-
left: "0%",
|
|
32767
|
-
bottom: 0,
|
|
32768
|
-
width: "100%",
|
|
32769
|
-
height: "50%",
|
|
32770
|
-
zIndex: -10
|
|
32771
|
-
}
|
|
32772
|
-
}
|
|
32773
|
-
));
|
|
32774
|
-
};
|
|
32775
|
-
var SunriseAnimation_default = SunriseAnimation;
|
|
32776
|
-
|
|
32777
|
-
// src/SettingsButton.tsx
|
|
32778
|
-
var SettingsButton = ({ className }) => {
|
|
32779
|
-
(0, import_react61.useEffect)(() => {
|
|
32780
|
-
return () => {
|
|
32781
|
-
};
|
|
32782
|
-
}, []);
|
|
32783
|
-
const [showModal, setShowModal] = (0, import_react61.useState)(false);
|
|
32784
|
-
const [theme, setTheme] = (0, import_react61.useState)(localStorage.getItem("theme") || "system");
|
|
32785
|
-
const handleThemeChange = (e) => {
|
|
32786
|
-
const newTheme = e.target.value;
|
|
32787
|
-
setTheme(newTheme);
|
|
32788
|
-
localStorage.setItem("theme", newTheme);
|
|
32789
|
-
let themeToApply = newTheme;
|
|
32790
|
-
if (newTheme === "system") {
|
|
32791
|
-
themeToApply = window.matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
32792
|
-
}
|
|
32793
|
-
document.documentElement.setAttribute("data-bs-theme", themeToApply);
|
|
32794
|
-
};
|
|
32795
|
-
return /* @__PURE__ */ import_react61.default.createElement(import_react61.default.Fragment, null, /* @__PURE__ */ import_react61.default.createElement("div", { id: "settings-button" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
32796
|
-
"button",
|
|
32797
|
-
{
|
|
32798
|
-
className: `btn btn-sm btn-outline-secondary ${className}`,
|
|
32799
|
-
onClick: () => setShowModal(true)
|
|
32800
|
-
},
|
|
32801
|
-
/* @__PURE__ */ import_react61.default.createElement("div", { id: "gear-icon-settings" }, "\u2699\uFE0F")
|
|
32802
|
-
)), /* @__PURE__ */ import_react61.default.createElement(SunriseAnimation_default, { active: theme === "daily" }), /* @__PURE__ */ import_react61.default.createElement(Modal_default2, { show: showModal, onHide: () => setShowModal(false), size: "lg" }, /* @__PURE__ */ import_react61.default.createElement(Modal_default2.Header, { closeButton: true, className: "border-0" }, /* @__PURE__ */ import_react61.default.createElement(Modal_default2.Title, { className: "d-flex align-items-center" }, /* @__PURE__ */ import_react61.default.createElement("i", { className: "bi bi-palette-fill me-2" }), /* @__PURE__ */ import_react61.default.createElement("span", null, "Settings"))), /* @__PURE__ */ import_react61.default.createElement("div", { className: "alert alert-warning mx-3 mt-2 mb-0" }, /* @__PURE__ */ import_react61.default.createElement("i", { className: "bi bi-exclamation-triangle-fill me-2" }), /* @__PURE__ */ import_react61.default.createElement("strong", null, "Warning:"), ' Themes are an experimental feature. Only "Business casual" is fully supported at this time.'), /* @__PURE__ */ import_react61.default.createElement(Modal_default2.Body, { className: "p-0" }, /* @__PURE__ */ import_react61.default.createElement("div", { className: "p-3" }, /* @__PURE__ */ import_react61.default.createElement("div", { className: "row g-3" }, /* @__PURE__ */ import_react61.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
32803
|
-
"div",
|
|
32804
|
-
{
|
|
32805
|
-
className: `card theme-card ${theme === "system" ? "border-primary" : ""}`,
|
|
32806
|
-
onClick: () => handleThemeChange({ target: { value: "system" } }),
|
|
32807
|
-
style: {
|
|
32808
|
-
background: "linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%)",
|
|
32809
|
-
borderColor: "#adb5bd"
|
|
32810
|
-
}
|
|
32811
|
-
},
|
|
32812
|
-
/* @__PURE__ */ import_react61.default.createElement("div", { className: "card-body text-center p-3" }, /* @__PURE__ */ import_react61.default.createElement("h5", { className: "card-title mb-0" }, "9 to 5"), /* @__PURE__ */ import_react61.default.createElement("p", { className: "small text-muted mb-0" }, "Follows your OS theme"))
|
|
32813
|
-
)), /* @__PURE__ */ import_react61.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
32814
|
-
"div",
|
|
32815
|
-
{
|
|
32816
|
-
className: `card theme-card ${theme === "light" ? "border-primary" : ""}`,
|
|
32817
|
-
onClick: () => handleThemeChange({ target: { value: "light" } }),
|
|
32818
|
-
style: {
|
|
32819
|
-
background: "linear-gradient(135deg, #ffffff 0%, #f1f3f5 100%)",
|
|
32820
|
-
borderColor: "#ced4da",
|
|
32821
|
-
color: "#212529",
|
|
32822
|
-
borderWidth: "2px"
|
|
32823
|
-
}
|
|
32824
|
-
},
|
|
32825
|
-
/* @__PURE__ */ import_react61.default.createElement("div", { className: "card-body text-center p-3" }, /* @__PURE__ */ import_react61.default.createElement("h5", { className: "card-title mb-1" }, "Business casual"), /* @__PURE__ */ import_react61.default.createElement("p", { className: "small text-muted mb-0" }, "Clean & professional"))
|
|
32826
|
-
)), /* @__PURE__ */ import_react61.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
32827
|
-
"div",
|
|
32828
|
-
{
|
|
32829
|
-
className: `card theme-card ${theme === "dark" ? "border-primary" : ""}`,
|
|
32830
|
-
onClick: () => handleThemeChange({ target: { value: "dark" } }),
|
|
32831
|
-
style: {
|
|
32832
|
-
background: "linear-gradient(135deg, #1a1a2e 0%, #16213e 100%)",
|
|
32833
|
-
borderColor: "#4ecdc4",
|
|
32834
|
-
color: "#f8f9fa",
|
|
32835
|
-
borderWidth: "2px"
|
|
32836
|
-
}
|
|
32837
|
-
},
|
|
32838
|
-
/* @__PURE__ */ import_react61.default.createElement("div", { className: "card-body text-center p-3" }, /* @__PURE__ */ import_react61.default.createElement("h5", { className: "card-title mb-1" }, "Business formal"), /* @__PURE__ */ import_react61.default.createElement("p", { className: "small text-muted mb-0" }, "Premium & focused"))
|
|
32839
|
-
)), /* @__PURE__ */ import_react61.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
32840
|
-
"div",
|
|
32841
|
-
{
|
|
32842
|
-
className: `card theme-card ${theme === "light-vibrant" ? "border-primary" : ""}`,
|
|
32843
|
-
onClick: () => handleThemeChange({ target: { value: "light-vibrant" } }),
|
|
32844
|
-
style: {
|
|
32845
|
-
background: "linear-gradient(135deg, #ff2d75 0%, #00e5ff 100%)",
|
|
32846
|
-
borderColor: "#ffeb3b",
|
|
32847
|
-
color: "#fff"
|
|
32848
|
-
}
|
|
32849
|
-
},
|
|
32850
|
-
/* @__PURE__ */ import_react61.default.createElement("div", { className: "card-body text-center p-3" }, /* @__PURE__ */ import_react61.default.createElement("h5", { className: "card-title mb-1" }, "Office Party"), /* @__PURE__ */ import_react61.default.createElement("p", { className: "small text-muted mb-0" }, "Colorful & fun"))
|
|
32851
|
-
)), /* @__PURE__ */ import_react61.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
32852
|
-
"div",
|
|
32853
|
-
{
|
|
32854
|
-
className: `card theme-card ${theme === "dark-vibrant" ? "border-primary" : ""}`,
|
|
32855
|
-
onClick: () => handleThemeChange({ target: { value: "dark-vibrant" } }),
|
|
32856
|
-
style: {
|
|
32857
|
-
background: "linear-gradient(135deg, #16213e 0%, #e94560 100%)",
|
|
32858
|
-
borderColor: "#00e5ff",
|
|
32859
|
-
color: "#fff"
|
|
32860
|
-
}
|
|
32861
|
-
},
|
|
32862
|
-
/* @__PURE__ */ import_react61.default.createElement("div", { className: "card-body text-center p-3" }, /* @__PURE__ */ import_react61.default.createElement("h5", { className: "card-title mb-1" }, "After Party"), /* @__PURE__ */ import_react61.default.createElement("p", { className: "small text-muted mb-0" }, "Neon nightlife"))
|
|
32863
|
-
)), /* @__PURE__ */ import_react61.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
32864
|
-
"div",
|
|
32865
|
-
{
|
|
32866
|
-
className: `card theme-card ${theme === "sepia" ? "border-primary" : ""}`,
|
|
32867
|
-
onClick: () => handleThemeChange({ target: { value: "sepia" } }),
|
|
32868
|
-
style: {
|
|
32869
|
-
background: "linear-gradient(135deg, #f4ecd8 0%, #d0b88f 100%)",
|
|
32870
|
-
borderColor: "#8b6b4a",
|
|
32871
|
-
color: "#3a3226"
|
|
32872
|
-
}
|
|
32873
|
-
},
|
|
32874
|
-
/* @__PURE__ */ import_react61.default.createElement("div", { className: "card-body text-center p-3" }, /* @__PURE__ */ import_react61.default.createElement("h5", { className: "card-title mb-1" }, "WFH"), /* @__PURE__ */ import_react61.default.createElement("p", { className: "small text-muted mb-0" }, "Vintage warmth"))
|
|
32875
|
-
)), /* @__PURE__ */ import_react61.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
32876
|
-
"div",
|
|
32877
|
-
{
|
|
32878
|
-
className: `card theme-card ${theme === "light-grayscale" ? "border-primary" : ""}`,
|
|
32879
|
-
onClick: () => handleThemeChange({ target: { value: "light-grayscale" } }),
|
|
32880
|
-
style: {
|
|
32881
|
-
background: "linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%)",
|
|
32882
|
-
borderColor: "#666",
|
|
32883
|
-
color: "#333",
|
|
32884
|
-
borderWidth: "2px"
|
|
32885
|
-
}
|
|
32886
|
-
},
|
|
32887
|
-
/* @__PURE__ */ import_react61.default.createElement("div", { className: "card-body text-center p-3" }, /* @__PURE__ */ import_react61.default.createElement("h5", { className: "card-title mb-1" }, "Serious Business"), /* @__PURE__ */ import_react61.default.createElement("p", { className: "small text-muted mb-0" }, "Simple & distraction-free"))
|
|
32888
|
-
)), /* @__PURE__ */ import_react61.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
32889
|
-
"div",
|
|
32890
|
-
{
|
|
32891
|
-
className: `card theme-card ${theme === "dark-grayscale" ? "border-primary" : ""}`,
|
|
32892
|
-
onClick: () => handleThemeChange({ target: { value: "dark-grayscale" } }),
|
|
32893
|
-
style: {
|
|
32894
|
-
background: "linear-gradient(135deg, #111 0%, #333 100%)",
|
|
32895
|
-
borderColor: "#ff6b6b",
|
|
32896
|
-
color: "#e0e0e0",
|
|
32897
|
-
borderWidth: "2px"
|
|
32898
|
-
}
|
|
32899
|
-
},
|
|
32900
|
-
/* @__PURE__ */ import_react61.default.createElement("div", { className: "card-body text-center p-3" }, /* @__PURE__ */ import_react61.default.createElement("h5", { className: "card-title mb-1" }, "Very Serious business"), /* @__PURE__ */ import_react61.default.createElement("p", { className: "small text-muted mb-0" }, "Maximum readability"))
|
|
32901
|
-
)), /* @__PURE__ */ import_react61.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
32902
|
-
"div",
|
|
32903
|
-
{
|
|
32904
|
-
className: `card theme-card ${theme === "daily" ? "border-primary" : ""}`,
|
|
32905
|
-
onClick: () => handleThemeChange({ target: { value: "daily" } }),
|
|
32906
|
-
style: {
|
|
32907
|
-
background: "linear-gradient(135deg, #6eafff 0%, #f9fbf0 100%)",
|
|
32908
|
-
borderColor: "#f7d62e",
|
|
32909
|
-
color: "#00192d"
|
|
32910
|
-
}
|
|
32911
|
-
},
|
|
32912
|
-
/* @__PURE__ */ import_react61.default.createElement("div", { className: "card-body text-center p-3" }, /* @__PURE__ */ import_react61.default.createElement("h5", { className: "card-title mb-1" }, "Dreaming of PTO"), /* @__PURE__ */ import_react61.default.createElement("p", { className: "small text-muted mb-0" }, "Sunrise, sunset"))
|
|
32913
|
-
)), /* @__PURE__ */ import_react61.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
32914
|
-
"div",
|
|
32915
|
-
{
|
|
32916
|
-
className: `card theme-card ${theme === "protanopia" ? "border-primary" : ""}`,
|
|
32917
|
-
onClick: () => handleThemeChange({ target: { value: "protanopia" } }),
|
|
32918
|
-
style: {
|
|
32919
|
-
background: "linear-gradient(135deg, #f8f9fa 0%, #e0e8ff 100%)",
|
|
32920
|
-
borderColor: "#3366cc",
|
|
32921
|
-
color: "#333"
|
|
32922
|
-
}
|
|
32923
|
-
},
|
|
32924
|
-
/* @__PURE__ */ import_react61.default.createElement("div", { className: "card-body text-center p-3" }, /* @__PURE__ */ import_react61.default.createElement("h5", { className: "card-title mb-0" }, "Protanopia"), /* @__PURE__ */ import_react61.default.createElement("p", { className: "small text-muted mb-0" }, "Red-blind mode"))
|
|
32925
|
-
)), /* @__PURE__ */ import_react61.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
32926
|
-
"div",
|
|
32927
|
-
{
|
|
32928
|
-
className: `card theme-card ${theme === "deuteranopia" ? "border-primary" : ""}`,
|
|
32929
|
-
onClick: () => handleThemeChange({ target: { value: "deuteranopia" } }),
|
|
32930
|
-
style: {
|
|
32931
|
-
background: "linear-gradient(135deg, #f8f9fa 0%, #ffe0e0 100%)",
|
|
32932
|
-
borderColor: "#cc6633",
|
|
32933
|
-
color: "#333"
|
|
33381
|
+
left: 0,
|
|
33382
|
+
width: "100%",
|
|
33383
|
+
height: "50%",
|
|
33384
|
+
zIndex: -5
|
|
32934
33385
|
}
|
|
32935
|
-
}
|
|
32936
|
-
|
|
32937
|
-
)), /* @__PURE__ */ import_react61.default.createElement("div", { className: "col-md-4" }, /* @__PURE__ */ import_react61.default.createElement(
|
|
33386
|
+
}
|
|
33387
|
+
), /* @__PURE__ */ import_react66.default.createElement(
|
|
32938
33388
|
"div",
|
|
32939
33389
|
{
|
|
32940
|
-
|
|
32941
|
-
onClick: () => handleThemeChange({ target: { value: "tritanopia" } }),
|
|
33390
|
+
id: "oceanRipple",
|
|
32942
33391
|
style: {
|
|
32943
|
-
|
|
32944
|
-
|
|
32945
|
-
|
|
33392
|
+
backgroundImage: "repeating-linear-gradient(175deg, rgba(165,165,165,0.08) 43%,rgba(175,175,175,0.08) 45%,rgba(235,235,235,0.08) 49%,rgba(195,195,195,0.08) 50%,rgba(165,165,165,0.08) 54%)",
|
|
33393
|
+
opacity: 0.5,
|
|
33394
|
+
position: "absolute",
|
|
33395
|
+
left: "0%",
|
|
33396
|
+
bottom: 0,
|
|
33397
|
+
width: "100%",
|
|
33398
|
+
height: "50%",
|
|
33399
|
+
zIndex: -10
|
|
32946
33400
|
}
|
|
32947
|
-
}
|
|
32948
|
-
|
|
32949
|
-
))))), /* @__PURE__ */ import_react61.default.createElement(Modal_default2.Footer, { className: "border-0" }, /* @__PURE__ */ import_react61.default.createElement(Button_default2, { variant: "btn-primary", onClick: () => setShowModal(false) }, "Done"))));
|
|
33401
|
+
}
|
|
33402
|
+
));
|
|
32950
33403
|
};
|
|
33404
|
+
var SunriseAnimation_default = SunriseAnimation;
|
|
32951
33405
|
|
|
32952
|
-
// src/components/
|
|
32953
|
-
var
|
|
32954
|
-
|
|
32955
|
-
|
|
32956
|
-
var import_react62 = __toESM(require_react(), 1);
|
|
32957
|
-
var BuildLogViewer = ({ logs, runtime }) => {
|
|
32958
|
-
if (!logs)
|
|
32959
|
-
return /* @__PURE__ */ import_react62.default.createElement(Alert_default, { variant: "info" }, "Loading ", runtime.toLowerCase(), " build logs...");
|
|
32960
|
-
const hasErrors = logs.errors?.length > 0;
|
|
32961
|
-
const hasWarnings = logs.warnings?.length > 0;
|
|
32962
|
-
const [activeTab, setActiveTab] = import_react62.default.useState("summary");
|
|
32963
|
-
return /* @__PURE__ */ import_react62.default.createElement("div", null, /* @__PURE__ */ import_react62.default.createElement(Tab_default.Container, { activeKey: activeTab, onSelect: (k) => setActiveTab(k || "summary") }, /* @__PURE__ */ import_react62.default.createElement(Nav_default2, { variant: "tabs", className: "mb-3" }, /* @__PURE__ */ import_react62.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react62.default.createElement(Nav_default2.Link, { eventKey: "summary" }, "Build Summary")), /* @__PURE__ */ import_react62.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react62.default.createElement(Nav_default2.Link, { eventKey: "warnings" }, hasWarnings ? `\u26A0\uFE0F Warnings (${logs.warnings.length})` : "Warnings")), /* @__PURE__ */ import_react62.default.createElement(Nav_default2.Item, null, /* @__PURE__ */ import_react62.default.createElement(Nav_default2.Link, { eventKey: "errors" }, hasErrors ? `\u274C Errors (${logs.errors.length})` : "Errors"))), /* @__PURE__ */ import_react62.default.createElement(Tab_default.Content, null, /* @__PURE__ */ import_react62.default.createElement(Tab_default.Pane, { eventKey: "summary" }, /* @__PURE__ */ import_react62.default.createElement(Card_default, null, /* @__PURE__ */ import_react62.default.createElement(Card_default.Header, { className: "d-flex justify-content-between align-items-center" }, /* @__PURE__ */ import_react62.default.createElement("h5", null, "Build Summary"), /* @__PURE__ */ import_react62.default.createElement("div", null, hasErrors && /* @__PURE__ */ import_react62.default.createElement(Badge_default, { bg: "danger", className: "me-2" }, logs.errors.length, " Error", logs.errors.length !== 1 ? "s" : ""), hasWarnings && /* @__PURE__ */ import_react62.default.createElement(Badge_default, { bg: "warning", text: "dark" }, logs.warnings.length, " Warning", logs.warnings.length !== 1 ? "s" : ""), !hasErrors && !hasWarnings && /* @__PURE__ */ import_react62.default.createElement(Badge_default, { bg: "success" }, "Build Successful"))), /* @__PURE__ */ import_react62.default.createElement(Card_default.Body, null, /* @__PURE__ */ import_react62.default.createElement("div", { className: "mb-3" }, /* @__PURE__ */ import_react62.default.createElement("h6", null, "Input Files (", Object.keys(logs.metafile?.inputs || {}).length, ")"), /* @__PURE__ */ import_react62.default.createElement(ListGroup_default, { className: "max-h-200 overflow-auto" }, Object.keys(logs.metafile?.inputs || {}).map((file) => /* @__PURE__ */ import_react62.default.createElement(ListGroup_default.Item, { key: file, className: "py-2" }, /* @__PURE__ */ import_react62.default.createElement("code", null, file), /* @__PURE__ */ import_react62.default.createElement("div", { className: "text-muted small" }, logs.metafile.inputs[file].bytes, " bytes"))))), /* @__PURE__ */ import_react62.default.createElement("div", null, /* @__PURE__ */ import_react62.default.createElement("h6", null, "Output Files (", Object.keys(logs.metafile?.outputs || {}).length, ")"), /* @__PURE__ */ import_react62.default.createElement(ListGroup_default, { className: "max-h-200 overflow-auto" }, Object.keys(logs.metafile?.outputs || {}).map((file) => /* @__PURE__ */ import_react62.default.createElement(ListGroup_default.Item, { key: file, className: "py-2" }, /* @__PURE__ */ import_react62.default.createElement("code", null, file), /* @__PURE__ */ import_react62.default.createElement("div", { className: "text-muted small" }, logs.metafile.outputs[file].bytes, " bytes", logs.metafile.outputs[file].entryPoint && /* @__PURE__ */ import_react62.default.createElement("span", { className: "ms-2 badge bg-info" }, "Entry Point"))))))))), /* @__PURE__ */ import_react62.default.createElement(Tab_default.Pane, { eventKey: "warnings" }, hasWarnings ? /* @__PURE__ */ import_react62.default.createElement(Card_default, { className: "border-warning" }, /* @__PURE__ */ import_react62.default.createElement(Card_default.Header, { className: "bg-warning text-white d-flex justify-content-between align-items-center" }, /* @__PURE__ */ import_react62.default.createElement("span", null, "Build Warnings (", logs.warnings.length, ")"), /* @__PURE__ */ import_react62.default.createElement(Badge_default, { bg: "light", text: "dark" }, (/* @__PURE__ */ new Date()).toLocaleString())), /* @__PURE__ */ import_react62.default.createElement(Card_default.Body, { className: "p-0" }, /* @__PURE__ */ import_react62.default.createElement(ListGroup_default, { variant: "flush" }, logs.warnings.map((warn, i) => /* @__PURE__ */ import_react62.default.createElement(ListGroup_default.Item, { key: i, className: "text-warning" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "d-flex justify-content-between" }, /* @__PURE__ */ import_react62.default.createElement("strong", null, warn.location?.file || "Unknown file", warn.location?.line && `:${warn.location.line}`), /* @__PURE__ */ import_react62.default.createElement("small", { className: "text-muted" }, warn.pluginName ? `[${warn.pluginName}]` : "")), /* @__PURE__ */ import_react62.default.createElement("div", { className: "mt-1" }, /* @__PURE__ */ import_react62.default.createElement("pre", { className: "mb-0 p-2 bg-light rounded" }, warn.text || warn.message || JSON.stringify(warn))), warn.detail && /* @__PURE__ */ import_react62.default.createElement("div", { className: "mt-1 small text-muted" }, /* @__PURE__ */ import_react62.default.createElement("pre", { className: "mb-0 p-2 bg-light rounded" }, warn.detail))))))) : /* @__PURE__ */ import_react62.default.createElement(Alert_default, { variant: "info" }, "No warnings found")), /* @__PURE__ */ import_react62.default.createElement(Tab_default.Pane, { eventKey: "errors" }, hasErrors ? /* @__PURE__ */ import_react62.default.createElement(Card_default, { className: "border-danger" }, /* @__PURE__ */ import_react62.default.createElement(Card_default.Header, { className: "bg-danger text-white d-flex justify-content-between align-items-center" }, /* @__PURE__ */ import_react62.default.createElement("span", null, "Build Errors (", logs.errors.length, ")"), /* @__PURE__ */ import_react62.default.createElement(Badge_default, { bg: "light", text: "dark" }, (/* @__PURE__ */ new Date()).toLocaleString())), /* @__PURE__ */ import_react62.default.createElement(Card_default.Body, { className: "p-0" }, /* @__PURE__ */ import_react62.default.createElement(ListGroup_default, { variant: "flush" }, logs.errors.map((err, i) => /* @__PURE__ */ import_react62.default.createElement(ListGroup_default.Item, { key: i, className: "text-danger" }, /* @__PURE__ */ import_react62.default.createElement("div", { className: "d-flex justify-content-between" }, /* @__PURE__ */ import_react62.default.createElement("strong", null, err.location?.file || "Unknown file", err.location?.line && `:${err.location.line}`), /* @__PURE__ */ import_react62.default.createElement("small", { className: "text-muted" }, err.pluginName ? `[${err.pluginName}]` : "")), /* @__PURE__ */ import_react62.default.createElement("div", { className: "mt-1" }, /* @__PURE__ */ import_react62.default.createElement("pre", { className: "mb-0 p-2 bg-light rounded" }, err.text || err.message || JSON.stringify(err))), err.detail && /* @__PURE__ */ import_react62.default.createElement("div", { className: "mt-1 small text-muted" }, /* @__PURE__ */ import_react62.default.createElement("pre", { className: "mb-0 p-2 bg-light rounded" }, err.detail))))))) : /* @__PURE__ */ import_react62.default.createElement(Alert_default, { variant: "success" }, /* @__PURE__ */ import_react62.default.createElement("h5", null, "No Errors Found"), /* @__PURE__ */ import_react62.default.createElement("p", { className: "mb-0" }, "The build completed without any errors."))))));
|
|
32964
|
-
};
|
|
32965
|
-
var ProjectPageView = ({
|
|
32966
|
-
summary,
|
|
32967
|
-
nodeLogs,
|
|
32968
|
-
webLogs,
|
|
32969
|
-
pureLogs,
|
|
32970
|
-
config,
|
|
32971
|
-
loading,
|
|
32972
|
-
error,
|
|
32973
|
-
projectName,
|
|
32974
|
-
route,
|
|
32975
|
-
setRoute,
|
|
32976
|
-
navigate
|
|
32977
|
-
}) => {
|
|
32978
|
-
if (loading)
|
|
32979
|
-
return /* @__PURE__ */ import_react62.default.createElement("div", null, "Loading project data...");
|
|
32980
|
-
if (error)
|
|
32981
|
-
return /* @__PURE__ */ import_react62.default.createElement(Alert_default, { variant: "danger" }, "Error: ", error);
|
|
32982
|
-
if (!summary)
|
|
32983
|
-
return /* @__PURE__ */ import_react62.default.createElement(Alert_default, { variant: "warning" }, "No data found for project");
|
|
32984
|
-
const testStatuses = Object.entries(summary).map(([testName2, testData]) => {
|
|
32985
|
-
const runTime = config.tests?.find((t) => t[0] === testName2)?.[1] || "node";
|
|
32986
|
-
return {
|
|
32987
|
-
testName: testName2,
|
|
32988
|
-
testsExist: testData.testsExist !== false,
|
|
32989
|
-
runTimeErrors: Number(testData.runTimeErrors) || 0,
|
|
32990
|
-
typeErrors: Number(testData.typeErrors) || 0,
|
|
32991
|
-
staticErrors: Number(testData.staticErrors) || 0,
|
|
32992
|
-
runTime
|
|
33406
|
+
// src/components/pure/SettingsButton.tsx
|
|
33407
|
+
var SettingsButton = ({ className }) => {
|
|
33408
|
+
(0, import_react67.useEffect)(() => {
|
|
33409
|
+
return () => {
|
|
32993
33410
|
};
|
|
32994
|
-
});
|
|
32995
|
-
|
|
32996
|
-
|
|
32997
|
-
|
|
32998
|
-
|
|
32999
|
-
|
|
33000
|
-
navItems: [
|
|
33001
|
-
{
|
|
33002
|
-
to: `#tests`,
|
|
33003
|
-
label: testStatuses.some((t) => t.runTimeErrors > 0) ? "\u274C Tests" : testStatuses.some((t) => t.typeErrors > 0 || t.staticErrors > 0) ? "\u26A0\uFE0F Tests" : "\u2705 Tests",
|
|
33004
|
-
active: route === "tests",
|
|
33005
|
-
className: testStatuses.some((t) => t.runTimeErrors > 0) ? "text-danger fw-bold" : testStatuses.some((t) => t.typeErrors > 0 || t.staticErrors > 0) ? "text-warning fw-bold" : ""
|
|
33006
|
-
},
|
|
33007
|
-
{
|
|
33008
|
-
to: `#node`,
|
|
33009
|
-
label: nodeLogs?.errors?.length ? "\u274C Node Build" : nodeLogs?.warnings?.length ? "\u26A0\uFE0F Node Build" : "Node Build",
|
|
33010
|
-
active: route === "node",
|
|
33011
|
-
className: nodeLogs?.errors?.length ? "text-danger fw-bold" : nodeLogs?.warnings?.length ? "text-warning fw-bold" : ""
|
|
33012
|
-
},
|
|
33013
|
-
{
|
|
33014
|
-
to: `#web`,
|
|
33015
|
-
label: webLogs?.errors?.length ? "\u274C Web Build" : webLogs?.warnings?.length ? "\u26A0\uFE0F Web Build" : "Web Build",
|
|
33016
|
-
active: route === "web",
|
|
33017
|
-
className: webLogs?.errors?.length ? "text-danger fw-bold" : webLogs?.warnings?.length ? "text-warning fw-bold" : ""
|
|
33018
|
-
},
|
|
33019
|
-
{
|
|
33020
|
-
to: `#pure`,
|
|
33021
|
-
label: pureLogs?.errors?.length ? "\u274C Pure Build" : pureLogs?.warnings?.length ? "\u26A0\uFE0F Pure Build" : "Pure Build",
|
|
33022
|
-
active: route === "pure",
|
|
33023
|
-
className: pureLogs?.errors?.length ? "text-danger fw-bold" : pureLogs?.warnings?.length ? "text-warning fw-bold" : ""
|
|
33024
|
-
}
|
|
33025
|
-
]
|
|
33411
|
+
}, []);
|
|
33412
|
+
const [showModal, setShowModal] = (0, import_react67.useState)(false);
|
|
33413
|
+
(0, import_react67.useEffect)(() => {
|
|
33414
|
+
let themeToApply = theme;
|
|
33415
|
+
if (theme === "system") {
|
|
33416
|
+
themeToApply = window.matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
33026
33417
|
}
|
|
33027
|
-
|
|
33028
|
-
|
|
33029
|
-
|
|
33030
|
-
|
|
33418
|
+
document.documentElement.setAttribute("data-bs-theme", themeToApply);
|
|
33419
|
+
}, []);
|
|
33420
|
+
const [theme, setTheme] = (0, import_react67.useState)(localStorage.getItem("theme") || "system");
|
|
33421
|
+
const handleThemeChange = (e) => {
|
|
33422
|
+
const newTheme = e.target.value;
|
|
33423
|
+
setTheme(newTheme);
|
|
33424
|
+
localStorage.setItem("theme", newTheme);
|
|
33425
|
+
let themeToApply = newTheme;
|
|
33426
|
+
if (newTheme === "system") {
|
|
33427
|
+
themeToApply = window.matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
33031
33428
|
}
|
|
33032
|
-
|
|
33033
|
-
|
|
33429
|
+
document.documentElement.setAttribute("data-bs-theme", themeToApply);
|
|
33430
|
+
};
|
|
33431
|
+
return /* @__PURE__ */ import_react67.default.createElement(import_react67.default.Fragment, null, /* @__PURE__ */ import_react67.default.createElement("div", { id: "settings-button" }, /* @__PURE__ */ import_react67.default.createElement(
|
|
33432
|
+
"button",
|
|
33034
33433
|
{
|
|
33035
|
-
|
|
33036
|
-
|
|
33037
|
-
|
|
33038
|
-
}
|
|
33039
|
-
)), /* @__PURE__ */
|
|
33434
|
+
className: `btn btn-sm btn-outline-secondary ${className}`,
|
|
33435
|
+
onClick: () => setShowModal(true)
|
|
33436
|
+
},
|
|
33437
|
+
/* @__PURE__ */ import_react67.default.createElement("div", { id: "gear-icon-settings" }, "\u2699\uFE0F")
|
|
33438
|
+
)), /* @__PURE__ */ import_react67.default.createElement(SunriseAnimation_default, { active: theme === "daily" }), /* @__PURE__ */ import_react67.default.createElement(Modal_default2, { show: showModal, onHide: () => setShowModal(false), size: "lg" }, /* @__PURE__ */ import_react67.default.createElement(ModalContent, { theme, handleThemeChange }), /* @__PURE__ */ import_react67.default.createElement(Modal_default2.Footer, { className: "border-0" }, /* @__PURE__ */ import_react67.default.createElement(Button_default2, { variant: "btn-primary", onClick: () => setShowModal(false) }, "Done"))));
|
|
33040
33439
|
};
|
|
33041
33440
|
|
|
33042
|
-
// src/components/
|
|
33043
|
-
var
|
|
33044
|
-
|
|
33045
|
-
const [nodeLogs, setNodeLogs] = (0, import_react63.useState)(null);
|
|
33046
|
-
const [webLogs, setWebLogs] = (0, import_react63.useState)(null);
|
|
33047
|
-
const [pureLogs, setPureLogs] = (0, import_react63.useState)(null);
|
|
33048
|
-
const [config, setConfig] = (0, import_react63.useState)({});
|
|
33049
|
-
const [loading, setLoading] = (0, import_react63.useState)(true);
|
|
33050
|
-
const [error, setError] = (0, import_react63.useState)(null);
|
|
33051
|
-
const [projectName, setProjectName] = (0, import_react63.useState)("");
|
|
33052
|
-
const navigate = useNavigate();
|
|
33053
|
-
const location = useLocation();
|
|
33054
|
-
const [route, setRoute] = (0, import_react63.useState)("tests");
|
|
33055
|
-
(0, import_react63.useEffect)(() => {
|
|
33056
|
-
const hash = location.hash.replace("#", "");
|
|
33057
|
-
if (hash && ["tests", "node", "web", "pure"].includes(hash)) {
|
|
33058
|
-
setRoute(hash);
|
|
33059
|
-
} else {
|
|
33060
|
-
setRoute("tests");
|
|
33061
|
-
}
|
|
33062
|
-
}, [location.hash]);
|
|
33063
|
-
const { projectName: name } = useParams();
|
|
33064
|
-
(0, import_react63.useEffect)(() => {
|
|
33065
|
-
if (!name)
|
|
33066
|
-
return;
|
|
33067
|
-
setProjectName(name);
|
|
33068
|
-
const fetchData = async () => {
|
|
33069
|
-
try {
|
|
33070
|
-
const [summaryRes, nodeRes, webRes, pureRes, configRes] = await Promise.all([
|
|
33071
|
-
fetch(`reports/${name}/summary.json`),
|
|
33072
|
-
fetch(`bundles/node/${name}/metafile.json`),
|
|
33073
|
-
fetch(`bundles/web/${name}/metafile.json`),
|
|
33074
|
-
fetch(`bundles/pure/${name}/metafile.json`),
|
|
33075
|
-
fetch(`reports/${name}/config.json`)
|
|
33076
|
-
]);
|
|
33077
|
-
const [summaryData, nodeData, webData, pureData, configData] = await Promise.all([
|
|
33078
|
-
summaryRes.ok ? summaryRes.json() : {},
|
|
33079
|
-
nodeRes.ok ? nodeRes.json() : { errors: ["Failed to load node build logs"] },
|
|
33080
|
-
webRes.ok ? webRes.json() : { errors: ["Failed to load web build logs"] },
|
|
33081
|
-
pureRes.ok ? pureRes.json() : { errors: ["Failed to load pure build logs"] },
|
|
33082
|
-
configRes.ok ? configRes.json() : { tests: [] }
|
|
33083
|
-
]);
|
|
33084
|
-
setSummary(summaryData);
|
|
33085
|
-
setNodeLogs(nodeData);
|
|
33086
|
-
setWebLogs(webData);
|
|
33087
|
-
setPureLogs(pureData);
|
|
33088
|
-
setConfig(configData);
|
|
33089
|
-
} catch (err) {
|
|
33090
|
-
setError(err instanceof Error ? err.message : "Unknown error");
|
|
33091
|
-
} finally {
|
|
33092
|
-
setLoading(false);
|
|
33093
|
-
}
|
|
33094
|
-
};
|
|
33095
|
-
fetchData();
|
|
33096
|
-
}, [name]);
|
|
33097
|
-
return /* @__PURE__ */ import_react63.default.createElement(
|
|
33098
|
-
ProjectPageView,
|
|
33099
|
-
{
|
|
33100
|
-
summary,
|
|
33101
|
-
nodeLogs,
|
|
33102
|
-
webLogs,
|
|
33103
|
-
pureLogs,
|
|
33104
|
-
config,
|
|
33105
|
-
loading,
|
|
33106
|
-
error,
|
|
33107
|
-
projectName,
|
|
33108
|
-
route,
|
|
33109
|
-
setRoute,
|
|
33110
|
-
navigate
|
|
33111
|
-
}
|
|
33112
|
-
);
|
|
33441
|
+
// src/components/pure/AppFrame.tsx
|
|
33442
|
+
var AppFrame = ({ children }) => {
|
|
33443
|
+
return /* @__PURE__ */ import_react68.default.createElement("div", { className: "d-flex flex-column min-vh-100", key: window.location.pathname }, /* @__PURE__ */ import_react68.default.createElement("main", { className: "flex-grow-1 p-3" }, /* @__PURE__ */ import_react68.default.createElement(Container_default, { fluid: true }, children)), /* @__PURE__ */ import_react68.default.createElement("footer", { className: "bg-light py-2 d-flex justify-content-between align-items-center" }, /* @__PURE__ */ import_react68.default.createElement(SettingsButton, null), /* @__PURE__ */ import_react68.default.createElement(Container_default, { className: "text-end", fluid: true }, "made with \u2764\uFE0F and ", /* @__PURE__ */ import_react68.default.createElement("a", { href: "https://www.npmjs.com/package/testeranto" }, "testeranto"))));
|
|
33113
33444
|
};
|
|
33114
33445
|
|
|
33115
|
-
// src/components/stateful/
|
|
33116
|
-
var
|
|
33446
|
+
// src/components/stateful/FeaturesReporter.tsx
|
|
33447
|
+
var import_react70 = __toESM(require_react(), 1);
|
|
33117
33448
|
|
|
33118
|
-
// src/components/pure/
|
|
33119
|
-
var
|
|
33120
|
-
var
|
|
33121
|
-
|
|
33122
|
-
summaries,
|
|
33123
|
-
configs,
|
|
33124
|
-
loading,
|
|
33125
|
-
error,
|
|
33126
|
-
navigate
|
|
33127
|
-
}) => {
|
|
33128
|
-
const getStatusIcon = (status) => {
|
|
33129
|
-
switch (status) {
|
|
33130
|
-
case "success":
|
|
33131
|
-
return "\u2705";
|
|
33132
|
-
case "failed":
|
|
33133
|
-
return "\u274C";
|
|
33134
|
-
case "warning":
|
|
33135
|
-
return "\u26A0\uFE0F";
|
|
33136
|
-
default:
|
|
33137
|
-
return "\u2753";
|
|
33138
|
-
}
|
|
33139
|
-
};
|
|
33140
|
-
if (loading)
|
|
33141
|
-
return /* @__PURE__ */ import_react64.default.createElement("div", null, "Loading projects...");
|
|
33142
|
-
if (error)
|
|
33143
|
-
return /* @__PURE__ */ import_react64.default.createElement(Alert_default, { variant: "danger" }, "Error: ", error);
|
|
33144
|
-
return /* @__PURE__ */ import_react64.default.createElement("div", { className: "p-3" }, /* @__PURE__ */ import_react64.default.createElement(NavBar, { title: "Testeranto", backLink: null }), /* @__PURE__ */ import_react64.default.createElement(Table_default, { striped: true, bordered: true, hover: true, responsive: true }, /* @__PURE__ */ import_react64.default.createElement("thead", null, /* @__PURE__ */ import_react64.default.createElement("tr", null, /* @__PURE__ */ import_react64.default.createElement("th", null, "Project"), /* @__PURE__ */ import_react64.default.createElement("th", null, "Tests"), /* @__PURE__ */ import_react64.default.createElement("th", null, "Node"), /* @__PURE__ */ import_react64.default.createElement("th", null, "Web"), /* @__PURE__ */ import_react64.default.createElement("th", null, "Pure"))), /* @__PURE__ */ import_react64.default.createElement("tbody", null, projects.map((project) => /* @__PURE__ */ import_react64.default.createElement("tr", { key: project.name }, /* @__PURE__ */ import_react64.default.createElement("td", null, /* @__PURE__ */ import_react64.default.createElement("a", { href: "#", onClick: (e) => {
|
|
33145
|
-
e.preventDefault();
|
|
33146
|
-
navigate(`/projects/${project.name}`);
|
|
33147
|
-
} }, project.name)), /* @__PURE__ */ import_react64.default.createElement("td", null, /* @__PURE__ */ import_react64.default.createElement("div", { style: { maxHeight: "200px", overflowY: "auto" } }, summaries[project.name] ? Object.keys(summaries[project.name]).map((testName2) => {
|
|
33148
|
-
const testData = summaries[project.name][testName2];
|
|
33149
|
-
const runTime = configs[project.name].tests.find((t) => t[0] === testName2)[1];
|
|
33150
|
-
const hasRuntimeErrors = testData.runTimeErrors > 0;
|
|
33151
|
-
const hasStaticErrors = testData.typeErrors > 0 || testData.staticErrors > 0;
|
|
33152
|
-
return /* @__PURE__ */ import_react64.default.createElement("div", { key: testName2 }, /* @__PURE__ */ import_react64.default.createElement(
|
|
33153
|
-
"a",
|
|
33154
|
-
{
|
|
33155
|
-
href: `#/projects/${project.name}/tests/${encodeURIComponent(testName2)}/${runTime}`
|
|
33156
|
-
},
|
|
33157
|
-
hasRuntimeErrors ? "\u274C " : hasStaticErrors ? "\u26A0\uFE0F " : "",
|
|
33158
|
-
testName2.split("/").pop()
|
|
33159
|
-
));
|
|
33160
|
-
}) : /* @__PURE__ */ import_react64.default.createElement("div", null, "Loading tests..."))), /* @__PURE__ */ import_react64.default.createElement("td", null, /* @__PURE__ */ import_react64.default.createElement(
|
|
33161
|
-
"a",
|
|
33162
|
-
{
|
|
33163
|
-
href: `#/projects/${project.name}#node`
|
|
33164
|
-
},
|
|
33165
|
-
getStatusIcon(project.nodeStatus),
|
|
33166
|
-
" Node build logs"
|
|
33167
|
-
)), /* @__PURE__ */ import_react64.default.createElement("td", null, /* @__PURE__ */ import_react64.default.createElement(
|
|
33168
|
-
"a",
|
|
33169
|
-
{
|
|
33170
|
-
href: `#/projects/${project.name}#web`
|
|
33171
|
-
},
|
|
33172
|
-
getStatusIcon(project.webStatus),
|
|
33173
|
-
" Web build logs"
|
|
33174
|
-
)), /* @__PURE__ */ import_react64.default.createElement("td", null, /* @__PURE__ */ import_react64.default.createElement(
|
|
33175
|
-
"a",
|
|
33176
|
-
{
|
|
33177
|
-
href: `#/projects/${project.name}#pure`
|
|
33178
|
-
},
|
|
33179
|
-
getStatusIcon(project.pureStatus),
|
|
33180
|
-
" Pure build logs"
|
|
33181
|
-
)))))));
|
|
33449
|
+
// src/components/pure/FeaturesReporterView.tsx
|
|
33450
|
+
var import_react69 = __toESM(require_react(), 1);
|
|
33451
|
+
var FeaturesReporterView = ({ treeData }) => {
|
|
33452
|
+
return /* @__PURE__ */ import_react69.default.createElement("div", { className: "features-reporter" }, /* @__PURE__ */ import_react69.default.createElement("h1", null, "File Structure"), /* @__PURE__ */ import_react69.default.createElement("div", { className: "tree-container" }, treeData.map((project) => /* @__PURE__ */ import_react69.default.createElement("div", { key: project.name, className: "project" }, /* @__PURE__ */ import_react69.default.createElement("h3", null, project.name), /* @__PURE__ */ import_react69.default.createElement("ul", { className: "file-tree" }, project.children?.map((file) => renderFile(file)))))));
|
|
33182
33453
|
};
|
|
33454
|
+
function renderFile(node) {
|
|
33455
|
+
return /* @__PURE__ */ import_react69.default.createElement("li", { key: node.name }, /* @__PURE__ */ import_react69.default.createElement("span", null, node.name), node.children && /* @__PURE__ */ import_react69.default.createElement("ul", null, node.children.map((child) => renderFile(child))));
|
|
33456
|
+
}
|
|
33183
33457
|
|
|
33184
|
-
// src/
|
|
33185
|
-
|
|
33186
|
-
|
|
33187
|
-
|
|
33188
|
-
|
|
33189
|
-
|
|
33190
|
-
|
|
33191
|
-
|
|
33192
|
-
|
|
33458
|
+
// src/types/features.ts
|
|
33459
|
+
function buildTree(projects) {
|
|
33460
|
+
return projects.map((projectName) => ({
|
|
33461
|
+
name: projectName,
|
|
33462
|
+
type: "project",
|
|
33463
|
+
children: [{
|
|
33464
|
+
name: "src",
|
|
33465
|
+
type: "file",
|
|
33466
|
+
children: [{
|
|
33467
|
+
name: "components",
|
|
33468
|
+
type: "file",
|
|
33469
|
+
children: [{
|
|
33470
|
+
name: "pure",
|
|
33471
|
+
type: "file",
|
|
33472
|
+
children: [
|
|
33473
|
+
{ name: "AppFrame.test", type: "file", path: "src/components/pure/AppFrame.test" },
|
|
33474
|
+
{ name: "FeaturesReporterView.test", type: "file", path: "src/components/pure/FeaturesReporterView.test" },
|
|
33475
|
+
{ name: "ProjectPageView.test", type: "file", path: "src/components/pure/ProjectPageView.test" }
|
|
33476
|
+
]
|
|
33477
|
+
}]
|
|
33478
|
+
}, {
|
|
33479
|
+
name: "lib",
|
|
33480
|
+
type: "file",
|
|
33481
|
+
children: [{
|
|
33482
|
+
name: "baseBuilder.test",
|
|
33483
|
+
type: "file",
|
|
33484
|
+
path: "src/lib/baseBuilder.test"
|
|
33485
|
+
}]
|
|
33486
|
+
}]
|
|
33487
|
+
}]
|
|
33488
|
+
}));
|
|
33489
|
+
}
|
|
33490
|
+
|
|
33491
|
+
// src/components/stateful/FeaturesReporter.tsx
|
|
33492
|
+
var FeaturesReporter = () => {
|
|
33493
|
+
const [treeData, setTreeData] = (0, import_react70.useState)([]);
|
|
33494
|
+
(0, import_react70.useEffect)(() => {
|
|
33193
33495
|
const fetchProjects = async () => {
|
|
33194
33496
|
try {
|
|
33195
|
-
const
|
|
33196
|
-
|
|
33197
|
-
|
|
33198
|
-
|
|
33199
|
-
|
|
33200
|
-
|
|
33201
|
-
|
|
33202
|
-
fetch(`bundles/web/${name}/metafile.json`),
|
|
33203
|
-
fetch(`bundles/pure/${name}/metafile.json`),
|
|
33204
|
-
fetch(`reports/${name}/config.json`)
|
|
33205
|
-
]);
|
|
33206
|
-
const [summary, nodeData, webData, pureData, configData] = await Promise.all([
|
|
33207
|
-
summaryRes.json(),
|
|
33208
|
-
nodeRes.ok ? nodeRes.json() : { errors: ["Failed to load node build logs"] },
|
|
33209
|
-
webRes.ok ? webRes.json() : { errors: ["Failed to load web build logs"] },
|
|
33210
|
-
pureRes.ok ? pureRes.json() : { errors: ["Failed to load pure build logs"] },
|
|
33211
|
-
configRes.json()
|
|
33212
|
-
]);
|
|
33213
|
-
setSummaries((prev) => ({ ...prev, [name]: summary }));
|
|
33214
|
-
setConfigs((prev) => ({ ...prev, [name]: configData }));
|
|
33215
|
-
return {
|
|
33216
|
-
name,
|
|
33217
|
-
testCount: Object.keys(summary).length,
|
|
33218
|
-
nodeStatus: nodeData.errors?.length ? "failed" : nodeData.warnings?.length ? "warning" : "success",
|
|
33219
|
-
webStatus: webData.errors?.length ? "failed" : webData.warnings?.length ? "warning" : "success",
|
|
33220
|
-
pureStatus: pureData.errors?.length ? "failed" : pureData.warnings?.length ? "warning" : "success"
|
|
33221
|
-
};
|
|
33222
|
-
})
|
|
33223
|
-
);
|
|
33224
|
-
setProjects(projectsData);
|
|
33225
|
-
} catch (err) {
|
|
33226
|
-
setError(err instanceof Error ? err.message : "Unknown error");
|
|
33227
|
-
} finally {
|
|
33228
|
-
setLoading(false);
|
|
33497
|
+
const response = await fetch("testeranto/projects.json");
|
|
33498
|
+
if (!response.ok)
|
|
33499
|
+
throw new Error("Failed to fetch projects");
|
|
33500
|
+
const projectNames = await response.json();
|
|
33501
|
+
setTreeData(buildTree(projectNames));
|
|
33502
|
+
} catch (error) {
|
|
33503
|
+
console.error("Error loading projects:", error);
|
|
33229
33504
|
}
|
|
33230
33505
|
};
|
|
33231
33506
|
fetchProjects();
|
|
33232
33507
|
}, []);
|
|
33233
|
-
return /* @__PURE__ */
|
|
33234
|
-
ProjectsPageView,
|
|
33235
|
-
{
|
|
33236
|
-
projects,
|
|
33237
|
-
summaries,
|
|
33238
|
-
configs,
|
|
33239
|
-
loading,
|
|
33240
|
-
error,
|
|
33241
|
-
navigate
|
|
33242
|
-
}
|
|
33243
|
-
);
|
|
33508
|
+
return /* @__PURE__ */ import_react70.default.createElement(FeaturesReporterView, { treeData });
|
|
33244
33509
|
};
|
|
33245
33510
|
|
|
33246
33511
|
// src/App.tsx
|
|
33247
33512
|
var App = () => {
|
|
33248
|
-
return /* @__PURE__ */
|
|
33513
|
+
return /* @__PURE__ */ import_react71.default.createElement(HashRouter, null, /* @__PURE__ */ import_react71.default.createElement(AppFrame, null, /* @__PURE__ */ import_react71.default.createElement(Routes, null, /* @__PURE__ */ import_react71.default.createElement(Route, { path: "/", element: /* @__PURE__ */ import_react71.default.createElement(ProjectsPage, null) }), /* @__PURE__ */ import_react71.default.createElement(Route, { path: "/projects/:projectName", element: /* @__PURE__ */ import_react71.default.createElement(ProjectPage, null) }), /* @__PURE__ */ import_react71.default.createElement(Route, { path: "/projects/:projectName/tests/*", element: /* @__PURE__ */ import_react71.default.createElement(TestPage, null) }), /* @__PURE__ */ import_react71.default.createElement(Route, { path: "/projects/:projectName#:tab", element: /* @__PURE__ */ import_react71.default.createElement(ProjectPage, null) }), /* @__PURE__ */ import_react71.default.createElement(Route, { path: "/features-reporter", element: /* @__PURE__ */ import_react71.default.createElement(FeaturesReporter, null) }))));
|
|
33249
33514
|
};
|
|
33250
33515
|
if (typeof window !== "undefined") {
|
|
33251
33516
|
window.App = App;
|
|
33252
|
-
window.React =
|
|
33517
|
+
window.React = import_react71.default;
|
|
33253
33518
|
window.ReactDOM = import_client.default;
|
|
33254
33519
|
}
|
|
33255
33520
|
})();
|
|
@@ -33336,9 +33601,9 @@ object-assign/index.js:
|
|
|
33336
33601
|
@license MIT
|
|
33337
33602
|
*)
|
|
33338
33603
|
|
|
33339
|
-
react-router/dist/development/chunk-
|
|
33604
|
+
react-router/dist/development/chunk-ZYFC6VSF.mjs:
|
|
33340
33605
|
(**
|
|
33341
|
-
* react-router v7.
|
|
33606
|
+
* react-router v7.8.0
|
|
33342
33607
|
*
|
|
33343
33608
|
* Copyright (c) Remix Software Inc.
|
|
33344
33609
|
*
|
|
@@ -33350,7 +33615,7 @@ react-router/dist/development/chunk-C37GKA54.mjs:
|
|
|
33350
33615
|
|
|
33351
33616
|
react-router/dist/development/index.mjs:
|
|
33352
33617
|
(**
|
|
33353
|
-
* react-router v7.
|
|
33618
|
+
* react-router v7.8.0
|
|
33354
33619
|
*
|
|
33355
33620
|
* Copyright (c) Remix Software Inc.
|
|
33356
33621
|
*
|