cursedbelt 0.0.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/README.md +80 -0
- package/dist/client/convertRequest.d.ts +15 -0
- package/dist/client/convertRequest.d.ts.map +1 -0
- package/dist/client/convertRequest.js +94 -0
- package/dist/client/convertRequest.js.map +1 -0
- package/dist/client/ctgrConfig.d.ts +3 -0
- package/dist/client/ctgrConfig.d.ts.map +1 -0
- package/dist/client/ctgrConfig.js +32 -0
- package/dist/client/ctgrConfig.js.map +1 -0
- package/dist/client/ctgrGuard.d.ts +2 -0
- package/dist/client/ctgrGuard.d.ts.map +1 -0
- package/dist/client/ctgrGuard.js +71 -0
- package/dist/client/ctgrGuard.js.map +1 -0
- package/dist/client/index.d.ts +5 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +12 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/ws.d.ts +37 -0
- package/dist/client/ws.d.ts.map +1 -0
- package/dist/client/ws.js +43 -0
- package/dist/client/ws.js.map +1 -0
- package/dist/core/color.d.ts +15 -0
- package/dist/core/color.d.ts.map +1 -0
- package/dist/core/color.js +33 -0
- package/dist/core/color.js.map +1 -0
- package/dist/core/csv.d.ts +65 -0
- package/dist/core/csv.d.ts.map +1 -0
- package/dist/core/csv.js +55 -0
- package/dist/core/csv.js.map +1 -0
- package/dist/core/ctgr.d.ts +6 -0
- package/dist/core/ctgr.d.ts.map +1 -0
- package/dist/core/ctgr.js +58 -0
- package/dist/core/ctgr.js.map +1 -0
- package/dist/core/layout/aggregate.d.ts +8 -0
- package/dist/core/layout/aggregate.d.ts.map +1 -0
- package/dist/core/layout/aggregate.js +77 -0
- package/dist/core/layout/aggregate.js.map +1 -0
- package/dist/core/layout/field.d.ts +14 -0
- package/dist/core/layout/field.d.ts.map +1 -0
- package/dist/core/layout/field.js +2 -0
- package/dist/core/layout/field.js.map +1 -0
- package/dist/core/layout/grid.d.ts +7 -0
- package/dist/core/layout/grid.d.ts.map +1 -0
- package/dist/core/layout/grid.js +152 -0
- package/dist/core/layout/grid.js.map +1 -0
- package/dist/core/layout/index.d.ts +10 -0
- package/dist/core/layout/index.d.ts.map +1 -0
- package/dist/core/layout/index.js +18 -0
- package/dist/core/layout/index.js.map +1 -0
- package/dist/core/layout/migrate.d.ts +4 -0
- package/dist/core/layout/migrate.d.ts.map +1 -0
- package/dist/core/layout/migrate.js +170 -0
- package/dist/core/layout/migrate.js.map +1 -0
- package/dist/core/layout/resolve.d.ts +23 -0
- package/dist/core/layout/resolve.d.ts.map +1 -0
- package/dist/core/layout/resolve.js +27 -0
- package/dist/core/layout/resolve.js.map +1 -0
- package/dist/core/layout/treeOps.d.ts +11 -0
- package/dist/core/layout/treeOps.d.ts.map +1 -0
- package/dist/core/layout/treeOps.js +68 -0
- package/dist/core/layout/treeOps.js.map +1 -0
- package/dist/core/layout/types.d.ts +97 -0
- package/dist/core/layout/types.d.ts.map +1 -0
- package/dist/core/layout/types.js +21 -0
- package/dist/core/layout/types.js.map +1 -0
- package/dist/core/layout/undoHistory.d.ts +34 -0
- package/dist/core/layout/undoHistory.d.ts.map +1 -0
- package/dist/core/layout/undoHistory.js +53 -0
- package/dist/core/layout/undoHistory.js.map +1 -0
- package/dist/core/layout/version.d.ts +8 -0
- package/dist/core/layout/version.d.ts.map +1 -0
- package/dist/core/layout/version.js +8 -0
- package/dist/core/layout/version.js.map +1 -0
- package/dist/core/media/bgRemoval.d.ts +28 -0
- package/dist/core/media/bgRemoval.d.ts.map +1 -0
- package/dist/core/media/bgRemoval.js +102 -0
- package/dist/core/media/bgRemoval.js.map +1 -0
- package/dist/core/media/format.d.ts +21 -0
- package/dist/core/media/format.d.ts.map +1 -0
- package/dist/core/media/format.js +55 -0
- package/dist/core/media/format.js.map +1 -0
- package/dist/core/media/index.d.ts +8 -0
- package/dist/core/media/index.d.ts.map +1 -0
- package/dist/core/media/index.js +11 -0
- package/dist/core/media/index.js.map +1 -0
- package/dist/core/media/mediaItem.d.ts +16 -0
- package/dist/core/media/mediaItem.d.ts.map +1 -0
- package/dist/core/media/mediaItem.js +35 -0
- package/dist/core/media/mediaItem.js.map +1 -0
- package/dist/core/media/segment.d.ts +80 -0
- package/dist/core/media/segment.d.ts.map +1 -0
- package/dist/core/media/segment.js +248 -0
- package/dist/core/media/segment.js.map +1 -0
- package/dist/core/media/trim.d.ts +29 -0
- package/dist/core/media/trim.d.ts.map +1 -0
- package/dist/core/media/trim.js +58 -0
- package/dist/core/media/trim.js.map +1 -0
- package/dist/core/media/types.d.ts +94 -0
- package/dist/core/media/types.d.ts.map +1 -0
- package/dist/core/media/types.js +12 -0
- package/dist/core/media/types.js.map +1 -0
- package/dist/core/media/validate.d.ts +10 -0
- package/dist/core/media/validate.d.ts.map +1 -0
- package/dist/core/media/validate.js +122 -0
- package/dist/core/media/validate.js.map +1 -0
- package/dist/core/navigation/breadcrumbCompat.d.ts +25 -0
- package/dist/core/navigation/breadcrumbCompat.d.ts.map +1 -0
- package/dist/core/navigation/breadcrumbCompat.js +22 -0
- package/dist/core/navigation/breadcrumbCompat.js.map +1 -0
- package/dist/core/navigation/coverageTest.d.ts +25 -0
- package/dist/core/navigation/coverageTest.d.ts.map +1 -0
- package/dist/core/navigation/coverageTest.js +49 -0
- package/dist/core/navigation/coverageTest.js.map +1 -0
- package/dist/core/navigation/index.d.ts +7 -0
- package/dist/core/navigation/index.d.ts.map +1 -0
- package/dist/core/navigation/index.js +11 -0
- package/dist/core/navigation/index.js.map +1 -0
- package/dist/core/navigation/migrateNavPreferences.d.ts +54 -0
- package/dist/core/navigation/migrateNavPreferences.d.ts.map +1 -0
- package/dist/core/navigation/migrateNavPreferences.js +64 -0
- package/dist/core/navigation/migrateNavPreferences.js.map +1 -0
- package/dist/core/navigation/navigationModel.d.ts +93 -0
- package/dist/core/navigation/navigationModel.d.ts.map +1 -0
- package/dist/core/navigation/navigationModel.js +15 -0
- package/dist/core/navigation/navigationModel.js.map +1 -0
- package/dist/core/navigation/navigationSelectors.d.ts +64 -0
- package/dist/core/navigation/navigationSelectors.d.ts.map +1 -0
- package/dist/core/navigation/navigationSelectors.js +163 -0
- package/dist/core/navigation/navigationSelectors.js.map +1 -0
- package/dist/core/navigation/searchCatalogue.d.ts +24 -0
- package/dist/core/navigation/searchCatalogue.d.ts.map +1 -0
- package/dist/core/navigation/searchCatalogue.js +77 -0
- package/dist/core/navigation/searchCatalogue.js.map +1 -0
- package/dist/core/palette/ShortcutRegistry.d.ts +34 -0
- package/dist/core/palette/ShortcutRegistry.d.ts.map +1 -0
- package/dist/core/palette/ShortcutRegistry.js +53 -0
- package/dist/core/palette/ShortcutRegistry.js.map +1 -0
- package/dist/core/palette/fuzzyRank.d.ts +19 -0
- package/dist/core/palette/fuzzyRank.d.ts.map +1 -0
- package/dist/core/palette/fuzzyRank.js +74 -0
- package/dist/core/palette/fuzzyRank.js.map +1 -0
- package/dist/core/palette/hotkeys.d.ts +29 -0
- package/dist/core/palette/hotkeys.d.ts.map +1 -0
- package/dist/core/palette/hotkeys.js +119 -0
- package/dist/core/palette/hotkeys.js.map +1 -0
- package/dist/core/palette/index.d.ts +4 -0
- package/dist/core/palette/index.d.ts.map +1 -0
- package/dist/core/palette/index.js +9 -0
- package/dist/core/palette/index.js.map +1 -0
- package/dist/core/uiScale/index.d.ts +9 -0
- package/dist/core/uiScale/index.d.ts.map +1 -0
- package/dist/core/uiScale/index.js +9 -0
- package/dist/core/uiScale/index.js.map +1 -0
- package/dist/core/uiScale/scale.d.ts +37 -0
- package/dist/core/uiScale/scale.d.ts.map +1 -0
- package/dist/core/uiScale/scale.js +48 -0
- package/dist/core/uiScale/scale.js.map +1 -0
- package/dist/core/uiScale/uiScaleStore.d.ts +48 -0
- package/dist/core/uiScale/uiScaleStore.d.ts.map +1 -0
- package/dist/core/uiScale/uiScaleStore.js +64 -0
- package/dist/core/uiScale/uiScaleStore.js.map +1 -0
- package/dist/ctgr/base64url.d.ts +9 -0
- package/dist/ctgr/base64url.d.ts.map +1 -0
- package/dist/ctgr/base64url.js +40 -0
- package/dist/ctgr/base64url.js.map +1 -0
- package/dist/ctgr/chunkStore.d.ts +25 -0
- package/dist/ctgr/chunkStore.d.ts.map +1 -0
- package/dist/ctgr/chunkStore.js +126 -0
- package/dist/ctgr/chunkStore.js.map +1 -0
- package/dist/ctgr/codec.d.ts +45 -0
- package/dist/ctgr/codec.d.ts.map +1 -0
- package/dist/ctgr/codec.js +154 -0
- package/dist/ctgr/codec.js.map +1 -0
- package/dist/ctgr/compress.d.ts +3 -0
- package/dist/ctgr/compress.d.ts.map +1 -0
- package/dist/ctgr/compress.js +21 -0
- package/dist/ctgr/compress.js.map +1 -0
- package/dist/ctgr/crc32.d.ts +3 -0
- package/dist/ctgr/crc32.d.ts.map +1 -0
- package/dist/ctgr/crc32.js +24 -0
- package/dist/ctgr/crc32.js.map +1 -0
- package/dist/ctgr/digest.d.ts +2 -0
- package/dist/ctgr/digest.d.ts.map +1 -0
- package/dist/ctgr/digest.js +16 -0
- package/dist/ctgr/digest.js.map +1 -0
- package/dist/ctgr/index.d.ts +9 -0
- package/dist/ctgr/index.d.ts.map +1 -0
- package/dist/ctgr/index.js +14 -0
- package/dist/ctgr/index.js.map +1 -0
- package/dist/ctgr/types.d.ts +65 -0
- package/dist/ctgr/types.d.ts.map +1 -0
- package/dist/ctgr/types.js +22 -0
- package/dist/ctgr/types.js.map +1 -0
- package/dist/ctgr/v0compat.d.ts +28 -0
- package/dist/ctgr/v0compat.d.ts.map +1 -0
- package/dist/ctgr/v0compat.js +129 -0
- package/dist/ctgr/v0compat.js.map +1 -0
- package/dist/data/env/index.d.ts +75 -0
- package/dist/data/env/index.d.ts.map +1 -0
- package/dist/data/env/index.js +149 -0
- package/dist/data/env/index.js.map +1 -0
- package/dist/data/json/index.d.ts +61 -0
- package/dist/data/json/index.d.ts.map +1 -0
- package/dist/data/json/index.js +488 -0
- package/dist/data/json/index.js.map +1 -0
- package/dist/game/core/DisposeRegistry.d.ts +42 -0
- package/dist/game/core/DisposeRegistry.d.ts.map +1 -0
- package/dist/game/core/DisposeRegistry.js +67 -0
- package/dist/game/core/DisposeRegistry.js.map +1 -0
- package/dist/game/core/drawBudget.d.ts +26 -0
- package/dist/game/core/drawBudget.d.ts.map +1 -0
- package/dist/game/core/drawBudget.js +55 -0
- package/dist/game/core/drawBudget.js.map +1 -0
- package/dist/game/core/fixedTimestep.d.ts +38 -0
- package/dist/game/core/fixedTimestep.d.ts.map +1 -0
- package/dist/game/core/fixedTimestep.js +47 -0
- package/dist/game/core/fixedTimestep.js.map +1 -0
- package/dist/game/core/index.d.ts +9 -0
- package/dist/game/core/index.d.ts.map +1 -0
- package/dist/game/core/index.js +8 -0
- package/dist/game/core/index.js.map +1 -0
- package/dist/game/core/inputCollector.d.ts +82 -0
- package/dist/game/core/inputCollector.d.ts.map +1 -0
- package/dist/game/core/inputCollector.js +176 -0
- package/dist/game/core/inputCollector.js.map +1 -0
- package/dist/game/core/resizeCanvas.d.ts +19 -0
- package/dist/game/core/resizeCanvas.d.ts.map +1 -0
- package/dist/game/core/resizeCanvas.js +29 -0
- package/dist/game/core/resizeCanvas.js.map +1 -0
- package/dist/game/react/index.d.ts +3 -0
- package/dist/game/react/index.d.ts.map +1 -0
- package/dist/game/react/index.js +5 -0
- package/dist/game/react/index.js.map +1 -0
- package/dist/game/react/useGameEngine.d.ts +64 -0
- package/dist/game/react/useGameEngine.d.ts.map +1 -0
- package/dist/game/react/useGameEngine.js +77 -0
- package/dist/game/react/useGameEngine.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/ops/test-report/types.d.ts +81 -0
- package/dist/ops/test-report/types.d.ts.map +1 -0
- package/dist/ops/test-report/types.js +13 -0
- package/dist/ops/test-report/types.js.map +1 -0
- package/dist/react/Toast.d.ts +5 -0
- package/dist/react/Toast.d.ts.map +1 -0
- package/dist/react/Toast.js +33 -0
- package/dist/react/Toast.js.map +1 -0
- package/dist/react/charts/AreaChart.d.ts +27 -0
- package/dist/react/charts/AreaChart.d.ts.map +1 -0
- package/dist/react/charts/AreaChart.js +19 -0
- package/dist/react/charts/AreaChart.js.map +1 -0
- package/dist/react/charts/BarChart.d.ts +27 -0
- package/dist/react/charts/BarChart.d.ts.map +1 -0
- package/dist/react/charts/BarChart.js +20 -0
- package/dist/react/charts/BarChart.js.map +1 -0
- package/dist/react/charts/CategoryBars.d.ts +17 -0
- package/dist/react/charts/CategoryBars.d.ts.map +1 -0
- package/dist/react/charts/CategoryBars.js +28 -0
- package/dist/react/charts/CategoryBars.js.map +1 -0
- package/dist/react/charts/CategoryDonut.d.ts +16 -0
- package/dist/react/charts/CategoryDonut.d.ts.map +1 -0
- package/dist/react/charts/CategoryDonut.js +17 -0
- package/dist/react/charts/CategoryDonut.js.map +1 -0
- package/dist/react/charts/ChartFrame.d.ts +19 -0
- package/dist/react/charts/ChartFrame.d.ts.map +1 -0
- package/dist/react/charts/ChartFrame.js +17 -0
- package/dist/react/charts/ChartFrame.js.map +1 -0
- package/dist/react/charts/ChartLegend.d.ts +19 -0
- package/dist/react/charts/ChartLegend.d.ts.map +1 -0
- package/dist/react/charts/ChartLegend.js +11 -0
- package/dist/react/charts/ChartLegend.js.map +1 -0
- package/dist/react/charts/ChartTooltip.d.ts +35 -0
- package/dist/react/charts/ChartTooltip.d.ts.map +1 -0
- package/dist/react/charts/ChartTooltip.js +26 -0
- package/dist/react/charts/ChartTooltip.js.map +1 -0
- package/dist/react/charts/DivergingBars.d.ts +16 -0
- package/dist/react/charts/DivergingBars.d.ts.map +1 -0
- package/dist/react/charts/DivergingBars.js +14 -0
- package/dist/react/charts/DivergingBars.js.map +1 -0
- package/dist/react/charts/DonutChart.d.ts +10 -0
- package/dist/react/charts/DonutChart.d.ts.map +1 -0
- package/dist/react/charts/DonutChart.js +16 -0
- package/dist/react/charts/DonutChart.js.map +1 -0
- package/dist/react/charts/LabeledSeriesChart.d.ts +25 -0
- package/dist/react/charts/LabeledSeriesChart.d.ts.map +1 -0
- package/dist/react/charts/LabeledSeriesChart.js +29 -0
- package/dist/react/charts/LabeledSeriesChart.js.map +1 -0
- package/dist/react/charts/LineChart.d.ts +25 -0
- package/dist/react/charts/LineChart.d.ts.map +1 -0
- package/dist/react/charts/LineChart.js +12 -0
- package/dist/react/charts/LineChart.js.map +1 -0
- package/dist/react/charts/MiniBarChart.d.ts +14 -0
- package/dist/react/charts/MiniBarChart.d.ts.map +1 -0
- package/dist/react/charts/MiniBarChart.js +14 -0
- package/dist/react/charts/MiniBarChart.js.map +1 -0
- package/dist/react/charts/PieChart.d.ts +25 -0
- package/dist/react/charts/PieChart.d.ts.map +1 -0
- package/dist/react/charts/PieChart.js +17 -0
- package/dist/react/charts/PieChart.js.map +1 -0
- package/dist/react/charts/RadialBarChart.d.ts +24 -0
- package/dist/react/charts/RadialBarChart.d.ts.map +1 -0
- package/dist/react/charts/RadialBarChart.js +20 -0
- package/dist/react/charts/RadialBarChart.js.map +1 -0
- package/dist/react/charts/Sparkline.d.ts +20 -0
- package/dist/react/charts/Sparkline.d.ts.map +1 -0
- package/dist/react/charts/Sparkline.js +19 -0
- package/dist/react/charts/Sparkline.js.map +1 -0
- package/dist/react/charts/StackedBars.d.ts +18 -0
- package/dist/react/charts/StackedBars.d.ts.map +1 -0
- package/dist/react/charts/StackedBars.js +15 -0
- package/dist/react/charts/StackedBars.js.map +1 -0
- package/dist/react/charts/StatusDonut.d.ts +7 -0
- package/dist/react/charts/StatusDonut.d.ts.map +1 -0
- package/dist/react/charts/StatusDonut.js +22 -0
- package/dist/react/charts/StatusDonut.js.map +1 -0
- package/dist/react/charts/TimeSeriesChart.d.ts +23 -0
- package/dist/react/charts/TimeSeriesChart.d.ts.map +1 -0
- package/dist/react/charts/TimeSeriesChart.js +26 -0
- package/dist/react/charts/TimeSeriesChart.js.map +1 -0
- package/dist/react/charts/chartTheme.d.ts +21 -0
- package/dist/react/charts/chartTheme.d.ts.map +1 -0
- package/dist/react/charts/chartTheme.js +55 -0
- package/dist/react/charts/chartTheme.js.map +1 -0
- package/dist/react/charts/format.d.ts +12 -0
- package/dist/react/charts/format.d.ts.map +1 -0
- package/dist/react/charts/format.js +111 -0
- package/dist/react/charts/format.js.map +1 -0
- package/dist/react/charts/index.d.ts +13 -0
- package/dist/react/charts/index.d.ts.map +1 -0
- package/dist/react/charts/index.js +23 -0
- package/dist/react/charts/index.js.map +1 -0
- package/dist/react/charts/shared.d.ts +30 -0
- package/dist/react/charts/shared.d.ts.map +1 -0
- package/dist/react/charts/shared.js +13 -0
- package/dist/react/charts/shared.js.map +1 -0
- package/dist/react/charts/tokens.d.ts +56 -0
- package/dist/react/charts/tokens.d.ts.map +1 -0
- package/dist/react/charts/tokens.js +128 -0
- package/dist/react/charts/tokens.js.map +1 -0
- package/dist/react/compat.d.ts +8 -0
- package/dist/react/compat.d.ts.map +1 -0
- package/dist/react/compat.js +31 -0
- package/dist/react/compat.js.map +1 -0
- package/dist/react/components/ActionBar.d.ts +27 -0
- package/dist/react/components/ActionBar.d.ts.map +1 -0
- package/dist/react/components/ActionBar.js +29 -0
- package/dist/react/components/ActionBar.js.map +1 -0
- package/dist/react/components/AddItemsMenu.d.ts +41 -0
- package/dist/react/components/AddItemsMenu.d.ts.map +1 -0
- package/dist/react/components/AddItemsMenu.js +26 -0
- package/dist/react/components/AddItemsMenu.js.map +1 -0
- package/dist/react/components/Alert.d.ts +28 -0
- package/dist/react/components/Alert.d.ts.map +1 -0
- package/dist/react/components/Alert.js +29 -0
- package/dist/react/components/Alert.js.map +1 -0
- package/dist/react/components/AppShell.d.ts +118 -0
- package/dist/react/components/AppShell.d.ts.map +1 -0
- package/dist/react/components/AppShell.js +57 -0
- package/dist/react/components/AppShell.js.map +1 -0
- package/dist/react/components/AutoGrowTextarea.d.ts +31 -0
- package/dist/react/components/AutoGrowTextarea.d.ts.map +1 -0
- package/dist/react/components/AutoGrowTextarea.js +75 -0
- package/dist/react/components/AutoGrowTextarea.js.map +1 -0
- package/dist/react/components/Badge.d.ts +27 -0
- package/dist/react/components/Badge.d.ts.map +1 -0
- package/dist/react/components/Badge.js +41 -0
- package/dist/react/components/Badge.js.map +1 -0
- package/dist/react/components/Button.d.ts +35 -0
- package/dist/react/components/Button.d.ts.map +1 -0
- package/dist/react/components/Button.js +56 -0
- package/dist/react/components/Button.js.map +1 -0
- package/dist/react/components/ButtonGroup.d.ts +11 -0
- package/dist/react/components/ButtonGroup.d.ts.map +1 -0
- package/dist/react/components/ButtonGroup.js +14 -0
- package/dist/react/components/ButtonGroup.js.map +1 -0
- package/dist/react/components/ButtonLink.d.ts +19 -0
- package/dist/react/components/ButtonLink.d.ts.map +1 -0
- package/dist/react/components/ButtonLink.js +13 -0
- package/dist/react/components/ButtonLink.js.map +1 -0
- package/dist/react/components/Card.d.ts +27 -0
- package/dist/react/components/Card.d.ts.map +1 -0
- package/dist/react/components/Card.js +29 -0
- package/dist/react/components/Card.js.map +1 -0
- package/dist/react/components/Checkbox.d.ts +14 -0
- package/dist/react/components/Checkbox.d.ts.map +1 -0
- package/dist/react/components/Checkbox.js +23 -0
- package/dist/react/components/Checkbox.js.map +1 -0
- package/dist/react/components/CodeFieldInput.d.ts +29 -0
- package/dist/react/components/CodeFieldInput.d.ts.map +1 -0
- package/dist/react/components/CodeFieldInput.js +37 -0
- package/dist/react/components/CodeFieldInput.js.map +1 -0
- package/dist/react/components/Collapsible.d.ts +28 -0
- package/dist/react/components/Collapsible.d.ts.map +1 -0
- package/dist/react/components/Collapsible.js +17 -0
- package/dist/react/components/Collapsible.js.map +1 -0
- package/dist/react/components/ColorField.d.ts +21 -0
- package/dist/react/components/ColorField.d.ts.map +1 -0
- package/dist/react/components/ColorField.js +16 -0
- package/dist/react/components/ColorField.js.map +1 -0
- package/dist/react/components/ConfirmDialog.d.ts +25 -0
- package/dist/react/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/react/components/ConfirmDialog.js +29 -0
- package/dist/react/components/ConfirmDialog.js.map +1 -0
- package/dist/react/components/CopyButton.d.ts +40 -0
- package/dist/react/components/CopyButton.d.ts.map +1 -0
- package/dist/react/components/CopyButton.js +33 -0
- package/dist/react/components/CopyButton.js.map +1 -0
- package/dist/react/components/DataTable/CardView.d.ts +18 -0
- package/dist/react/components/DataTable/CardView.d.ts.map +1 -0
- package/dist/react/components/DataTable/CardView.js +23 -0
- package/dist/react/components/DataTable/CardView.js.map +1 -0
- package/dist/react/components/DataTable/DataTable.d.ts +53 -0
- package/dist/react/components/DataTable/DataTable.d.ts.map +1 -0
- package/dist/react/components/DataTable/DataTable.js +86 -0
- package/dist/react/components/DataTable/DataTable.js.map +1 -0
- package/dist/react/components/DataTable/Pagination.d.ts +14 -0
- package/dist/react/components/DataTable/Pagination.d.ts.map +1 -0
- package/dist/react/components/DataTable/Pagination.js +20 -0
- package/dist/react/components/DataTable/Pagination.js.map +1 -0
- package/dist/react/components/DataTable/RowActions.d.ts +13 -0
- package/dist/react/components/DataTable/RowActions.d.ts.map +1 -0
- package/dist/react/components/DataTable/RowActions.js +19 -0
- package/dist/react/components/DataTable/RowActions.js.map +1 -0
- package/dist/react/components/DataTable/SortHeader.d.ts +14 -0
- package/dist/react/components/DataTable/SortHeader.d.ts.map +1 -0
- package/dist/react/components/DataTable/SortHeader.js +15 -0
- package/dist/react/components/DataTable/SortHeader.js.map +1 -0
- package/dist/react/components/DataTable/Toolbar.d.ts +25 -0
- package/dist/react/components/DataTable/Toolbar.d.ts.map +1 -0
- package/dist/react/components/DataTable/Toolbar.js +17 -0
- package/dist/react/components/DataTable/Toolbar.js.map +1 -0
- package/dist/react/components/DataTable/ViewOptionsMenu.d.ts +12 -0
- package/dist/react/components/DataTable/ViewOptionsMenu.d.ts.map +1 -0
- package/dist/react/components/DataTable/ViewOptionsMenu.js +21 -0
- package/dist/react/components/DataTable/ViewOptionsMenu.js.map +1 -0
- package/dist/react/components/DataTable/cells/CellRenderer.d.ts +32 -0
- package/dist/react/components/DataTable/cells/CellRenderer.d.ts.map +1 -0
- package/dist/react/components/DataTable/cells/CellRenderer.js +133 -0
- package/dist/react/components/DataTable/cells/CellRenderer.js.map +1 -0
- package/dist/react/components/DataTable/cells/CodeCell.d.ts +13 -0
- package/dist/react/components/DataTable/cells/CodeCell.d.ts.map +1 -0
- package/dist/react/components/DataTable/cells/CodeCell.js +12 -0
- package/dist/react/components/DataTable/cells/CodeCell.js.map +1 -0
- package/dist/react/components/DataTable/cells/LinkCell.d.ts +12 -0
- package/dist/react/components/DataTable/cells/LinkCell.d.ts.map +1 -0
- package/dist/react/components/DataTable/cells/LinkCell.js +11 -0
- package/dist/react/components/DataTable/cells/LinkCell.js.map +1 -0
- package/dist/react/components/DataTable/cells/PasswordCell.d.ts +12 -0
- package/dist/react/components/DataTable/cells/PasswordCell.d.ts.map +1 -0
- package/dist/react/components/DataTable/cells/PasswordCell.js +21 -0
- package/dist/react/components/DataTable/cells/PasswordCell.js.map +1 -0
- package/dist/react/components/DataTable/index.d.ts +13 -0
- package/dist/react/components/DataTable/index.d.ts.map +1 -0
- package/dist/react/components/DataTable/index.js +12 -0
- package/dist/react/components/DataTable/index.js.map +1 -0
- package/dist/react/components/DataTable/types.d.ts +37 -0
- package/dist/react/components/DataTable/types.d.ts.map +1 -0
- package/dist/react/components/DataTable/types.js +2 -0
- package/dist/react/components/DataTable/types.js.map +1 -0
- package/dist/react/components/DataTable.d.ts +16 -0
- package/dist/react/components/DataTable.d.ts.map +1 -0
- package/dist/react/components/DataTable.js +25 -0
- package/dist/react/components/DataTable.js.map +1 -0
- package/dist/react/components/DiscardConfirmDialog.d.ts +25 -0
- package/dist/react/components/DiscardConfirmDialog.d.ts.map +1 -0
- package/dist/react/components/DiscardConfirmDialog.js +46 -0
- package/dist/react/components/DiscardConfirmDialog.js.map +1 -0
- package/dist/react/components/DiscardConfirmOverlay.d.ts +14 -0
- package/dist/react/components/DiscardConfirmOverlay.d.ts.map +1 -0
- package/dist/react/components/DiscardConfirmOverlay.js +7 -0
- package/dist/react/components/DiscardConfirmOverlay.js.map +1 -0
- package/dist/react/components/DisclosureButton.d.ts +20 -0
- package/dist/react/components/DisclosureButton.d.ts.map +1 -0
- package/dist/react/components/DisclosureButton.js +15 -0
- package/dist/react/components/DisclosureButton.js.map +1 -0
- package/dist/react/components/DismissButton.d.ts +10 -0
- package/dist/react/components/DismissButton.d.ts.map +1 -0
- package/dist/react/components/DismissButton.js +7 -0
- package/dist/react/components/DismissButton.js.map +1 -0
- package/dist/react/components/DragHandle.d.ts +15 -0
- package/dist/react/components/DragHandle.d.ts.map +1 -0
- package/dist/react/components/DragHandle.js +9 -0
- package/dist/react/components/DragHandle.js.map +1 -0
- package/dist/react/components/Drawer.d.ts +34 -0
- package/dist/react/components/Drawer.d.ts.map +1 -0
- package/dist/react/components/Drawer.js +58 -0
- package/dist/react/components/Drawer.js.map +1 -0
- package/dist/react/components/DropIndicator.d.ts +11 -0
- package/dist/react/components/DropIndicator.d.ts.map +1 -0
- package/dist/react/components/DropIndicator.js +18 -0
- package/dist/react/components/DropIndicator.js.map +1 -0
- package/dist/react/components/Dropdown.d.ts +64 -0
- package/dist/react/components/Dropdown.d.ts.map +1 -0
- package/dist/react/components/Dropdown.js +144 -0
- package/dist/react/components/Dropdown.js.map +1 -0
- package/dist/react/components/DropdownMenu.d.ts +34 -0
- package/dist/react/components/DropdownMenu.d.ts.map +1 -0
- package/dist/react/components/DropdownMenu.js +27 -0
- package/dist/react/components/DropdownMenu.js.map +1 -0
- package/dist/react/components/EmojiField.d.ts +17 -0
- package/dist/react/components/EmojiField.d.ts.map +1 -0
- package/dist/react/components/EmojiField.js +18 -0
- package/dist/react/components/EmojiField.js.map +1 -0
- package/dist/react/components/EmptyState.d.ts +18 -0
- package/dist/react/components/EmptyState.d.ts.map +1 -0
- package/dist/react/components/EmptyState.js +11 -0
- package/dist/react/components/EmptyState.js.map +1 -0
- package/dist/react/components/EnvCompare.d.ts +20 -0
- package/dist/react/components/EnvCompare.d.ts.map +1 -0
- package/dist/react/components/EnvCompare.js +31 -0
- package/dist/react/components/EnvCompare.js.map +1 -0
- package/dist/react/components/EnvEditor.d.ts +22 -0
- package/dist/react/components/EnvEditor.d.ts.map +1 -0
- package/dist/react/components/EnvEditor.js +42 -0
- package/dist/react/components/EnvEditor.js.map +1 -0
- package/dist/react/components/Field.d.ts +48 -0
- package/dist/react/components/Field.d.ts.map +1 -0
- package/dist/react/components/Field.js +49 -0
- package/dist/react/components/Field.js.map +1 -0
- package/dist/react/components/FieldInput.d.ts +86 -0
- package/dist/react/components/FieldInput.d.ts.map +1 -0
- package/dist/react/components/FieldInput.js +218 -0
- package/dist/react/components/FieldInput.js.map +1 -0
- package/dist/react/components/FieldLabel.d.ts +23 -0
- package/dist/react/components/FieldLabel.d.ts.map +1 -0
- package/dist/react/components/FieldLabel.js +8 -0
- package/dist/react/components/FieldLabel.js.map +1 -0
- package/dist/react/components/Grid.d.ts +20 -0
- package/dist/react/components/Grid.d.ts.map +1 -0
- package/dist/react/components/Grid.js +15 -0
- package/dist/react/components/Grid.js.map +1 -0
- package/dist/react/components/HoverCard.d.ts +19 -0
- package/dist/react/components/HoverCard.d.ts.map +1 -0
- package/dist/react/components/HoverCard.js +21 -0
- package/dist/react/components/HoverCard.js.map +1 -0
- package/dist/react/components/IconButton.d.ts +14 -0
- package/dist/react/components/IconButton.d.ts.map +1 -0
- package/dist/react/components/IconButton.js +13 -0
- package/dist/react/components/IconButton.js.map +1 -0
- package/dist/react/components/InfoHint.d.ts +24 -0
- package/dist/react/components/InfoHint.d.ts.map +1 -0
- package/dist/react/components/InfoHint.js +43 -0
- package/dist/react/components/InfoHint.js.map +1 -0
- package/dist/react/components/InlineEditableText.d.ts +28 -0
- package/dist/react/components/InlineEditableText.d.ts.map +1 -0
- package/dist/react/components/InlineEditableText.js +65 -0
- package/dist/react/components/InlineEditableText.js.map +1 -0
- package/dist/react/components/Input.d.ts +18 -0
- package/dist/react/components/Input.d.ts.map +1 -0
- package/dist/react/components/Input.js +22 -0
- package/dist/react/components/Input.js.map +1 -0
- package/dist/react/components/JsonEditor.d.ts +59 -0
- package/dist/react/components/JsonEditor.d.ts.map +1 -0
- package/dist/react/components/JsonEditor.js +54 -0
- package/dist/react/components/JsonEditor.js.map +1 -0
- package/dist/react/components/Lightbox.d.ts +17 -0
- package/dist/react/components/Lightbox.d.ts.map +1 -0
- package/dist/react/components/Lightbox.js +18 -0
- package/dist/react/components/Lightbox.js.map +1 -0
- package/dist/react/components/Modal.d.ts +35 -0
- package/dist/react/components/Modal.d.ts.map +1 -0
- package/dist/react/components/Modal.js +54 -0
- package/dist/react/components/Modal.js.map +1 -0
- package/dist/react/components/ModalShell.d.ts +39 -0
- package/dist/react/components/ModalShell.d.ts.map +1 -0
- package/dist/react/components/ModalShell.js +63 -0
- package/dist/react/components/ModalShell.js.map +1 -0
- package/dist/react/components/MultiSelectField.d.ts +28 -0
- package/dist/react/components/MultiSelectField.d.ts.map +1 -0
- package/dist/react/components/MultiSelectField.js +25 -0
- package/dist/react/components/MultiSelectField.js.map +1 -0
- package/dist/react/components/Page.d.ts +23 -0
- package/dist/react/components/Page.d.ts.map +1 -0
- package/dist/react/components/Page.js +24 -0
- package/dist/react/components/Page.js.map +1 -0
- package/dist/react/components/PageBottom.d.ts +62 -0
- package/dist/react/components/PageBottom.d.ts.map +1 -0
- package/dist/react/components/PageBottom.js +87 -0
- package/dist/react/components/PageBottom.js.map +1 -0
- package/dist/react/components/PageContainer.d.ts +8 -0
- package/dist/react/components/PageContainer.d.ts.map +1 -0
- package/dist/react/components/PageContainer.js +12 -0
- package/dist/react/components/PageContainer.js.map +1 -0
- package/dist/react/components/Pagination.d.ts +24 -0
- package/dist/react/components/Pagination.d.ts.map +1 -0
- package/dist/react/components/Pagination.js +48 -0
- package/dist/react/components/Pagination.js.map +1 -0
- package/dist/react/components/Popover.d.ts +23 -0
- package/dist/react/components/Popover.d.ts.map +1 -0
- package/dist/react/components/Popover.js +14 -0
- package/dist/react/components/Popover.js.map +1 -0
- package/dist/react/components/QueryBoundary.d.ts +34 -0
- package/dist/react/components/QueryBoundary.d.ts.map +1 -0
- package/dist/react/components/QueryBoundary.js +28 -0
- package/dist/react/components/QueryBoundary.js.map +1 -0
- package/dist/react/components/RatingField.d.ts +21 -0
- package/dist/react/components/RatingField.d.ts.map +1 -0
- package/dist/react/components/RatingField.js +30 -0
- package/dist/react/components/RatingField.js.map +1 -0
- package/dist/react/components/RenderField.d.ts +16 -0
- package/dist/react/components/RenderField.d.ts.map +1 -0
- package/dist/react/components/RenderField.js +19 -0
- package/dist/react/components/RenderField.js.map +1 -0
- package/dist/react/components/ScrollArea.d.ts +61 -0
- package/dist/react/components/ScrollArea.d.ts.map +1 -0
- package/dist/react/components/ScrollArea.js +67 -0
- package/dist/react/components/ScrollArea.js.map +1 -0
- package/dist/react/components/ScrollToTopButton.d.ts +8 -0
- package/dist/react/components/ScrollToTopButton.d.ts.map +1 -0
- package/dist/react/components/ScrollToTopButton.js +42 -0
- package/dist/react/components/ScrollToTopButton.js.map +1 -0
- package/dist/react/components/SecretInput.d.ts +38 -0
- package/dist/react/components/SecretInput.d.ts.map +1 -0
- package/dist/react/components/SecretInput.js +33 -0
- package/dist/react/components/SecretInput.js.map +1 -0
- package/dist/react/components/Section.d.ts +17 -0
- package/dist/react/components/Section.d.ts.map +1 -0
- package/dist/react/components/Section.js +14 -0
- package/dist/react/components/Section.js.map +1 -0
- package/dist/react/components/SectionHeading.d.ts +12 -0
- package/dist/react/components/SectionHeading.d.ts.map +1 -0
- package/dist/react/components/SectionHeading.js +5 -0
- package/dist/react/components/SectionHeading.js.map +1 -0
- package/dist/react/components/SegmentedControl.d.ts +24 -0
- package/dist/react/components/SegmentedControl.d.ts.map +1 -0
- package/dist/react/components/SegmentedControl.js +14 -0
- package/dist/react/components/SegmentedControl.js.map +1 -0
- package/dist/react/components/Select.d.ts +5 -0
- package/dist/react/components/Select.d.ts.map +1 -0
- package/dist/react/components/Select.js +8 -0
- package/dist/react/components/Select.js.map +1 -0
- package/dist/react/components/SelectField.d.ts +46 -0
- package/dist/react/components/SelectField.d.ts.map +1 -0
- package/dist/react/components/SelectField.js +23 -0
- package/dist/react/components/SelectField.js.map +1 -0
- package/dist/react/components/Skeleton.d.ts +28 -0
- package/dist/react/components/Skeleton.d.ts.map +1 -0
- package/dist/react/components/Skeleton.js +29 -0
- package/dist/react/components/Skeleton.js.map +1 -0
- package/dist/react/components/Spinner.d.ts +14 -0
- package/dist/react/components/Spinner.d.ts.map +1 -0
- package/dist/react/components/Spinner.js +10 -0
- package/dist/react/components/Spinner.js.map +1 -0
- package/dist/react/components/SplitButton.d.ts +36 -0
- package/dist/react/components/SplitButton.d.ts.map +1 -0
- package/dist/react/components/SplitButton.js +24 -0
- package/dist/react/components/SplitButton.js.map +1 -0
- package/dist/react/components/StatTile.d.ts +22 -0
- package/dist/react/components/StatTile.d.ts.map +1 -0
- package/dist/react/components/StatTile.js +27 -0
- package/dist/react/components/StatTile.js.map +1 -0
- package/dist/react/components/Surface.d.ts +37 -0
- package/dist/react/components/Surface.d.ts.map +1 -0
- package/dist/react/components/Surface.js +29 -0
- package/dist/react/components/Surface.js.map +1 -0
- package/dist/react/components/Switch.d.ts +12 -0
- package/dist/react/components/Switch.d.ts.map +1 -0
- package/dist/react/components/Switch.js +13 -0
- package/dist/react/components/Switch.js.map +1 -0
- package/dist/react/components/TagsInput.d.ts +25 -0
- package/dist/react/components/TagsInput.d.ts.map +1 -0
- package/dist/react/components/TagsInput.js +62 -0
- package/dist/react/components/TagsInput.js.map +1 -0
- package/dist/react/components/TextArea.d.ts +10 -0
- package/dist/react/components/TextArea.d.ts.map +1 -0
- package/dist/react/components/TextArea.js +14 -0
- package/dist/react/components/TextArea.js.map +1 -0
- package/dist/react/components/Tooltip.d.ts +32 -0
- package/dist/react/components/Tooltip.d.ts.map +1 -0
- package/dist/react/components/Tooltip.js +32 -0
- package/dist/react/components/Tooltip.js.map +1 -0
- package/dist/react/components/Wizard/ReviewStep.d.ts +26 -0
- package/dist/react/components/Wizard/ReviewStep.d.ts.map +1 -0
- package/dist/react/components/Wizard/ReviewStep.js +42 -0
- package/dist/react/components/Wizard/ReviewStep.js.map +1 -0
- package/dist/react/components/Wizard/Stepper.d.ts +24 -0
- package/dist/react/components/Wizard/Stepper.d.ts.map +1 -0
- package/dist/react/components/Wizard/Stepper.js +24 -0
- package/dist/react/components/Wizard/Stepper.js.map +1 -0
- package/dist/react/components/Wizard/Wizard.d.ts +20 -0
- package/dist/react/components/Wizard/Wizard.d.ts.map +1 -0
- package/dist/react/components/Wizard/Wizard.js +153 -0
- package/dist/react/components/Wizard/Wizard.js.map +1 -0
- package/dist/react/components/Wizard/types.d.ts +71 -0
- package/dist/react/components/Wizard/types.d.ts.map +1 -0
- package/dist/react/components/Wizard/types.js +2 -0
- package/dist/react/components/Wizard/types.js.map +1 -0
- package/dist/react/components/dialog.d.ts +38 -0
- package/dist/react/components/dialog.d.ts.map +1 -0
- package/dist/react/components/dialog.js +38 -0
- package/dist/react/components/dialog.js.map +1 -0
- package/dist/react/components/layout.d.ts +32 -0
- package/dist/react/components/layout.d.ts.map +1 -0
- package/dist/react/components/layout.js +46 -0
- package/dist/react/components/layout.js.map +1 -0
- package/dist/react/components/popoverPlacement.d.ts +40 -0
- package/dist/react/components/popoverPlacement.d.ts.map +1 -0
- package/dist/react/components/popoverPlacement.js +25 -0
- package/dist/react/components/popoverPlacement.js.map +1 -0
- package/dist/react/components/revealOnHover.d.ts +3 -0
- package/dist/react/components/revealOnHover.d.ts.map +1 -0
- package/dist/react/components/revealOnHover.js +3 -0
- package/dist/react/components/revealOnHover.js.map +1 -0
- package/dist/react/confirm.d.ts +25 -0
- package/dist/react/confirm.d.ts.map +1 -0
- package/dist/react/confirm.js +43 -0
- package/dist/react/confirm.js.map +1 -0
- package/dist/react/constants/viewport.d.ts +16 -0
- package/dist/react/constants/viewport.d.ts.map +1 -0
- package/dist/react/constants/viewport.js +16 -0
- package/dist/react/constants/viewport.js.map +1 -0
- package/dist/react/createApiHooks.d.ts +110 -0
- package/dist/react/createApiHooks.d.ts.map +1 -0
- package/dist/react/createApiHooks.js +56 -0
- package/dist/react/createApiHooks.js.map +1 -0
- package/dist/react/emoji/EmojiAutocomplete.d.ts +23 -0
- package/dist/react/emoji/EmojiAutocomplete.d.ts.map +1 -0
- package/dist/react/emoji/EmojiAutocomplete.js +99 -0
- package/dist/react/emoji/EmojiAutocomplete.js.map +1 -0
- package/dist/react/emoji/EmojiPicker.d.ts +32 -0
- package/dist/react/emoji/EmojiPicker.d.ts.map +1 -0
- package/dist/react/emoji/EmojiPicker.js +41 -0
- package/dist/react/emoji/EmojiPicker.js.map +1 -0
- package/dist/react/emoji/emojiSearch.d.ts +22 -0
- package/dist/react/emoji/emojiSearch.d.ts.map +1 -0
- package/dist/react/emoji/emojiSearch.js +49 -0
- package/dist/react/emoji/emojiSearch.js.map +1 -0
- package/dist/react/emoji/index.d.ts +4 -0
- package/dist/react/emoji/index.d.ts.map +1 -0
- package/dist/react/emoji/index.js +4 -0
- package/dist/react/emoji/index.js.map +1 -0
- package/dist/react/hooks/DragHandleIcon.d.ts +12 -0
- package/dist/react/hooks/DragHandleIcon.d.ts.map +1 -0
- package/dist/react/hooks/DragHandleIcon.js +13 -0
- package/dist/react/hooks/DragHandleIcon.js.map +1 -0
- package/dist/react/hooks/dragShared.d.ts +21 -0
- package/dist/react/hooks/dragShared.d.ts.map +1 -0
- package/dist/react/hooks/dragShared.js +2 -0
- package/dist/react/hooks/dragShared.js.map +1 -0
- package/dist/react/hooks/useAutoSizeTextarea.d.ts +19 -0
- package/dist/react/hooks/useAutoSizeTextarea.d.ts.map +1 -0
- package/dist/react/hooks/useAutoSizeTextarea.js +44 -0
- package/dist/react/hooks/useAutoSizeTextarea.js.map +1 -0
- package/dist/react/hooks/useCaretInView.d.ts +22 -0
- package/dist/react/hooks/useCaretInView.d.ts.map +1 -0
- package/dist/react/hooks/useCaretInView.js +32 -0
- package/dist/react/hooks/useCaretInView.js.map +1 -0
- package/dist/react/hooks/useCopyToClipboard.d.ts +11 -0
- package/dist/react/hooks/useCopyToClipboard.d.ts.map +1 -0
- package/dist/react/hooks/useCopyToClipboard.js +31 -0
- package/dist/react/hooks/useCopyToClipboard.js.map +1 -0
- package/dist/react/hooks/useCrossContainerDrag.d.ts +72 -0
- package/dist/react/hooks/useCrossContainerDrag.d.ts.map +1 -0
- package/dist/react/hooks/useCrossContainerDrag.js +202 -0
- package/dist/react/hooks/useCrossContainerDrag.js.map +1 -0
- package/dist/react/hooks/useDebouncedValue.d.ts +7 -0
- package/dist/react/hooks/useDebouncedValue.d.ts.map +1 -0
- package/dist/react/hooks/useDebouncedValue.js +15 -0
- package/dist/react/hooks/useDebouncedValue.js.map +1 -0
- package/dist/react/hooks/useDiscardGuard.d.ts +42 -0
- package/dist/react/hooks/useDiscardGuard.d.ts.map +1 -0
- package/dist/react/hooks/useDiscardGuard.js +44 -0
- package/dist/react/hooks/useDiscardGuard.js.map +1 -0
- package/dist/react/hooks/useDismissibleItems.d.ts +46 -0
- package/dist/react/hooks/useDismissibleItems.d.ts.map +1 -0
- package/dist/react/hooks/useDismissibleItems.js +28 -0
- package/dist/react/hooks/useDismissibleItems.js.map +1 -0
- package/dist/react/hooks/useDndSensors.d.ts +21 -0
- package/dist/react/hooks/useDndSensors.d.ts.map +1 -0
- package/dist/react/hooks/useDndSensors.js +23 -0
- package/dist/react/hooks/useDndSensors.js.map +1 -0
- package/dist/react/hooks/useDragReorder.d.ts +70 -0
- package/dist/react/hooks/useDragReorder.d.ts.map +1 -0
- package/dist/react/hooks/useDragReorder.js +134 -0
- package/dist/react/hooks/useDragReorder.js.map +1 -0
- package/dist/react/hooks/useDragToMove.d.ts +65 -0
- package/dist/react/hooks/useDragToMove.d.ts.map +1 -0
- package/dist/react/hooks/useDragToMove.js +76 -0
- package/dist/react/hooks/useDragToMove.js.map +1 -0
- package/dist/react/hooks/useEscapeKey.d.ts +3 -0
- package/dist/react/hooks/useEscapeKey.d.ts.map +1 -0
- package/dist/react/hooks/useEscapeKey.js +15 -0
- package/dist/react/hooks/useEscapeKey.js.map +1 -0
- package/dist/react/hooks/useHasHover.d.ts +9 -0
- package/dist/react/hooks/useHasHover.d.ts.map +1 -0
- package/dist/react/hooks/useHasHover.js +39 -0
- package/dist/react/hooks/useHasHover.js.map +1 -0
- package/dist/react/hooks/useKeyDown.d.ts +16 -0
- package/dist/react/hooks/useKeyDown.d.ts.map +1 -0
- package/dist/react/hooks/useKeyDown.js +42 -0
- package/dist/react/hooks/useKeyDown.js.map +1 -0
- package/dist/react/hooks/useKeyboardInset.d.ts +12 -0
- package/dist/react/hooks/useKeyboardInset.d.ts.map +1 -0
- package/dist/react/hooks/useKeyboardInset.js +33 -0
- package/dist/react/hooks/useKeyboardInset.js.map +1 -0
- package/dist/react/hooks/useMediaQuery.d.ts +3 -0
- package/dist/react/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/react/hooks/useMediaQuery.js +16 -0
- package/dist/react/hooks/useMediaQuery.js.map +1 -0
- package/dist/react/hooks/useOnlineStatus.d.ts +8 -0
- package/dist/react/hooks/useOnlineStatus.d.ts.map +1 -0
- package/dist/react/hooks/useOnlineStatus.js +27 -0
- package/dist/react/hooks/useOnlineStatus.js.map +1 -0
- package/dist/react/hooks/usePagination.d.ts +49 -0
- package/dist/react/hooks/usePagination.d.ts.map +1 -0
- package/dist/react/hooks/usePagination.js +50 -0
- package/dist/react/hooks/usePagination.js.map +1 -0
- package/dist/react/hooks/useTableSort.d.ts +33 -0
- package/dist/react/hooks/useTableSort.d.ts.map +1 -0
- package/dist/react/hooks/useTableSort.js +72 -0
- package/dist/react/hooks/useTableSort.js.map +1 -0
- package/dist/react/hooks/useWindowResize.d.ts +13 -0
- package/dist/react/hooks/useWindowResize.d.ts.map +1 -0
- package/dist/react/hooks/useWindowResize.js +30 -0
- package/dist/react/hooks/useWindowResize.js.map +1 -0
- package/dist/react/index.d.ts +106 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +110 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/layoutEngine/LayoutCanvas.d.ts +23 -0
- package/dist/react/layoutEngine/LayoutCanvas.d.ts.map +1 -0
- package/dist/react/layoutEngine/LayoutCanvas.js +153 -0
- package/dist/react/layoutEngine/LayoutCanvas.js.map +1 -0
- package/dist/react/layoutEngine/LayoutConfigDialog.d.ts +24 -0
- package/dist/react/layoutEngine/LayoutConfigDialog.d.ts.map +1 -0
- package/dist/react/layoutEngine/LayoutConfigDialog.js +100 -0
- package/dist/react/layoutEngine/LayoutConfigDialog.js.map +1 -0
- package/dist/react/layoutEngine/LayoutRenderer.d.ts +22 -0
- package/dist/react/layoutEngine/LayoutRenderer.d.ts.map +1 -0
- package/dist/react/layoutEngine/LayoutRenderer.js +69 -0
- package/dist/react/layoutEngine/LayoutRenderer.js.map +1 -0
- package/dist/react/layoutEngine/NodeInspector.d.ts +18 -0
- package/dist/react/layoutEngine/NodeInspector.d.ts.map +1 -0
- package/dist/react/layoutEngine/NodeInspector.js +94 -0
- package/dist/react/layoutEngine/NodeInspector.js.map +1 -0
- package/dist/react/layoutEngine/SuggestPanel.d.ts +12 -0
- package/dist/react/layoutEngine/SuggestPanel.d.ts.map +1 -0
- package/dist/react/layoutEngine/SuggestPanel.js +25 -0
- package/dist/react/layoutEngine/SuggestPanel.js.map +1 -0
- package/dist/react/layoutEngine/index.d.ts +9 -0
- package/dist/react/layoutEngine/index.d.ts.map +1 -0
- package/dist/react/layoutEngine/index.js +15 -0
- package/dist/react/layoutEngine/index.js.map +1 -0
- package/dist/react/layoutEngine/registry.d.ts +11 -0
- package/dist/react/layoutEngine/registry.d.ts.map +1 -0
- package/dist/react/layoutEngine/registry.js +46 -0
- package/dist/react/layoutEngine/registry.js.map +1 -0
- package/dist/react/layoutEngine/types.d.ts +81 -0
- package/dist/react/layoutEngine/types.d.ts.map +1 -0
- package/dist/react/layoutEngine/types.js +2 -0
- package/dist/react/layoutEngine/types.js.map +1 -0
- package/dist/react/layoutEngine/useLayoutEditor.d.ts +40 -0
- package/dist/react/layoutEngine/useLayoutEditor.d.ts.map +1 -0
- package/dist/react/layoutEngine/useLayoutEditor.js +98 -0
- package/dist/react/layoutEngine/useLayoutEditor.js.map +1 -0
- package/dist/react/lib/cn.d.ts +4 -0
- package/dist/react/lib/cn.d.ts.map +1 -0
- package/dist/react/lib/cn.js +7 -0
- package/dist/react/lib/cn.js.map +1 -0
- package/dist/react/lib/draftPersistence.d.ts +19 -0
- package/dist/react/lib/draftPersistence.d.ts.map +1 -0
- package/dist/react/lib/draftPersistence.js +50 -0
- package/dist/react/lib/draftPersistence.js.map +1 -0
- package/dist/react/lib/field.d.ts +13 -0
- package/dist/react/lib/field.d.ts.map +1 -0
- package/dist/react/lib/field.js +13 -0
- package/dist/react/lib/field.js.map +1 -0
- package/dist/react/lib/floatingStyles.d.ts +18 -0
- package/dist/react/lib/floatingStyles.d.ts.map +1 -0
- package/dist/react/lib/floatingStyles.js +24 -0
- package/dist/react/lib/floatingStyles.js.map +1 -0
- package/dist/react/lib/form.d.ts +25 -0
- package/dist/react/lib/form.d.ts.map +1 -0
- package/dist/react/lib/form.js +34 -0
- package/dist/react/lib/form.js.map +1 -0
- package/dist/react/lib/store.d.ts +21 -0
- package/dist/react/lib/store.d.ts.map +1 -0
- package/dist/react/lib/store.js +12 -0
- package/dist/react/lib/store.js.map +1 -0
- package/dist/react/media/AutoMaskControls.d.ts +31 -0
- package/dist/react/media/AutoMaskControls.d.ts.map +1 -0
- package/dist/react/media/AutoMaskControls.js +34 -0
- package/dist/react/media/AutoMaskControls.js.map +1 -0
- package/dist/react/media/BrushSizeSlider.d.ts +14 -0
- package/dist/react/media/BrushSizeSlider.d.ts.map +1 -0
- package/dist/react/media/BrushSizeSlider.js +49 -0
- package/dist/react/media/BrushSizeSlider.js.map +1 -0
- package/dist/react/media/ImageEditor.d.ts +14 -0
- package/dist/react/media/ImageEditor.d.ts.map +1 -0
- package/dist/react/media/ImageEditor.js +54 -0
- package/dist/react/media/ImageEditor.js.map +1 -0
- package/dist/react/media/MaskPainter.d.ts +21 -0
- package/dist/react/media/MaskPainter.d.ts.map +1 -0
- package/dist/react/media/MaskPainter.js +599 -0
- package/dist/react/media/MaskPainter.js.map +1 -0
- package/dist/react/media/MediaCatalogueViewer.d.ts +9 -0
- package/dist/react/media/MediaCatalogueViewer.d.ts.map +1 -0
- package/dist/react/media/MediaCatalogueViewer.js +43 -0
- package/dist/react/media/MediaCatalogueViewer.js.map +1 -0
- package/dist/react/media/MediaCell.d.ts +18 -0
- package/dist/react/media/MediaCell.d.ts.map +1 -0
- package/dist/react/media/MediaCell.js +20 -0
- package/dist/react/media/MediaCell.js.map +1 -0
- package/dist/react/media/MediaLightbox.d.ts +22 -0
- package/dist/react/media/MediaLightbox.d.ts.map +1 -0
- package/dist/react/media/MediaLightbox.js +24 -0
- package/dist/react/media/MediaLightbox.js.map +1 -0
- package/dist/react/media/TrimRangeSlider.d.ts +23 -0
- package/dist/react/media/TrimRangeSlider.d.ts.map +1 -0
- package/dist/react/media/TrimRangeSlider.js +59 -0
- package/dist/react/media/TrimRangeSlider.js.map +1 -0
- package/dist/react/media/VideoSlideContent.d.ts +13 -0
- package/dist/react/media/VideoSlideContent.d.ts.map +1 -0
- package/dist/react/media/VideoSlideContent.js +21 -0
- package/dist/react/media/VideoSlideContent.js.map +1 -0
- package/dist/react/media/VideoTrimmer.d.ts +10 -0
- package/dist/react/media/VideoTrimmer.d.ts.map +1 -0
- package/dist/react/media/VideoTrimmer.js +129 -0
- package/dist/react/media/VideoTrimmer.js.map +1 -0
- package/dist/react/media/VirtualizedRows.d.ts +28 -0
- package/dist/react/media/VirtualizedRows.d.ts.map +1 -0
- package/dist/react/media/VirtualizedRows.js +64 -0
- package/dist/react/media/VirtualizedRows.js.map +1 -0
- package/dist/react/media/imageEditorSpec.d.ts +70 -0
- package/dist/react/media/imageEditorSpec.d.ts.map +1 -0
- package/dist/react/media/imageEditorSpec.js +110 -0
- package/dist/react/media/imageEditorSpec.js.map +1 -0
- package/dist/react/media/index.d.ts +11 -0
- package/dist/react/media/index.d.ts.map +1 -0
- package/dist/react/media/index.js +18 -0
- package/dist/react/media/index.js.map +1 -0
- package/dist/react/media/maskGeometry.d.ts +42 -0
- package/dist/react/media/maskGeometry.d.ts.map +1 -0
- package/dist/react/media/maskGeometry.js +66 -0
- package/dist/react/media/maskGeometry.js.map +1 -0
- package/dist/react/media/maskModel.d.ts +65 -0
- package/dist/react/media/maskModel.d.ts.map +1 -0
- package/dist/react/media/maskModel.js +64 -0
- package/dist/react/media/maskModel.js.map +1 -0
- package/dist/react/media/maskRaster.d.ts +40 -0
- package/dist/react/media/maskRaster.d.ts.map +1 -0
- package/dist/react/media/maskRaster.js +126 -0
- package/dist/react/media/maskRaster.js.map +1 -0
- package/dist/react/media/mediaPhoto.d.ts +35 -0
- package/dist/react/media/mediaPhoto.d.ts.map +1 -0
- package/dist/react/media/mediaPhoto.js +53 -0
- package/dist/react/media/mediaPhoto.js.map +1 -0
- package/dist/react/media/types.d.ts +146 -0
- package/dist/react/media/types.d.ts.map +1 -0
- package/dist/react/media/types.js +2 -0
- package/dist/react/media/types.js.map +1 -0
- package/dist/react/media/useIntersectionObserver.d.ts +18 -0
- package/dist/react/media/useIntersectionObserver.d.ts.map +1 -0
- package/dist/react/media/useIntersectionObserver.js +28 -0
- package/dist/react/media/useIntersectionObserver.js.map +1 -0
- package/dist/react/media/videoThumbnailer.d.ts +14 -0
- package/dist/react/media/videoThumbnailer.d.ts.map +1 -0
- package/dist/react/media/videoThumbnailer.js +111 -0
- package/dist/react/media/videoThumbnailer.js.map +1 -0
- package/dist/react/nav/Breadcrumbs.d.ts +44 -0
- package/dist/react/nav/Breadcrumbs.d.ts.map +1 -0
- package/dist/react/nav/Breadcrumbs.js +43 -0
- package/dist/react/nav/Breadcrumbs.js.map +1 -0
- package/dist/react/nav/ColorSwatchGrid.d.ts +19 -0
- package/dist/react/nav/ColorSwatchGrid.d.ts.map +1 -0
- package/dist/react/nav/ColorSwatchGrid.js +21 -0
- package/dist/react/nav/ColorSwatchGrid.js.map +1 -0
- package/dist/react/nav/CommandBar.d.ts +43 -0
- package/dist/react/nav/CommandBar.d.ts.map +1 -0
- package/dist/react/nav/CommandBar.js +19 -0
- package/dist/react/nav/CommandBar.js.map +1 -0
- package/dist/react/nav/HeaderSearch.d.ts +37 -0
- package/dist/react/nav/HeaderSearch.d.ts.map +1 -0
- package/dist/react/nav/HeaderSearch.js +101 -0
- package/dist/react/nav/HeaderSearch.js.map +1 -0
- package/dist/react/nav/HubTileGrid.d.ts +32 -0
- package/dist/react/nav/HubTileGrid.d.ts.map +1 -0
- package/dist/react/nav/HubTileGrid.js +60 -0
- package/dist/react/nav/HubTileGrid.js.map +1 -0
- package/dist/react/nav/NavColorPicker.d.ts +19 -0
- package/dist/react/nav/NavColorPicker.d.ts.map +1 -0
- package/dist/react/nav/NavColorPicker.js +16 -0
- package/dist/react/nav/NavColorPicker.js.map +1 -0
- package/dist/react/nav/NavItemMenu.d.ts +30 -0
- package/dist/react/nav/NavItemMenu.d.ts.map +1 -0
- package/dist/react/nav/NavItemMenu.js +24 -0
- package/dist/react/nav/NavItemMenu.js.map +1 -0
- package/dist/react/nav/PlaceBar.d.ts +36 -0
- package/dist/react/nav/PlaceBar.d.ts.map +1 -0
- package/dist/react/nav/PlaceBar.js +36 -0
- package/dist/react/nav/PlaceBar.js.map +1 -0
- package/dist/react/nav/SearchResults.d.ts +43 -0
- package/dist/react/nav/SearchResults.d.ts.map +1 -0
- package/dist/react/nav/SearchResults.js +26 -0
- package/dist/react/nav/SearchResults.js.map +1 -0
- package/dist/react/nav/SideNav.d.ts +37 -0
- package/dist/react/nav/SideNav.d.ts.map +1 -0
- package/dist/react/nav/SideNav.js +76 -0
- package/dist/react/nav/SideNav.js.map +1 -0
- package/dist/react/nav/SideNavItem.d.ts +28 -0
- package/dist/react/nav/SideNavItem.d.ts.map +1 -0
- package/dist/react/nav/SideNavItem.js +38 -0
- package/dist/react/nav/SideNavItem.js.map +1 -0
- package/dist/react/nav/colors.d.ts +8 -0
- package/dist/react/nav/colors.d.ts.map +1 -0
- package/dist/react/nav/colors.js +31 -0
- package/dist/react/nav/colors.js.map +1 -0
- package/dist/react/nav/filterNavSearch.d.ts +15 -0
- package/dist/react/nav/filterNavSearch.d.ts.map +1 -0
- package/dist/react/nav/filterNavSearch.js +65 -0
- package/dist/react/nav/filterNavSearch.js.map +1 -0
- package/dist/react/nav/index.d.ts +15 -0
- package/dist/react/nav/index.d.ts.map +1 -0
- package/dist/react/nav/index.js +22 -0
- package/dist/react/nav/index.js.map +1 -0
- package/dist/react/nav/navMenuPlacement.d.ts +58 -0
- package/dist/react/nav/navMenuPlacement.d.ts.map +1 -0
- package/dist/react/nav/navMenuPlacement.js +36 -0
- package/dist/react/nav/navMenuPlacement.js.map +1 -0
- package/dist/react/nav/navSearch.d.ts +31 -0
- package/dist/react/nav/navSearch.d.ts.map +1 -0
- package/dist/react/nav/navSearch.js +37 -0
- package/dist/react/nav/navSearch.js.map +1 -0
- package/dist/react/nav/navShared.d.ts +43 -0
- package/dist/react/nav/navShared.d.ts.map +1 -0
- package/dist/react/nav/navShared.js +51 -0
- package/dist/react/nav/navShared.js.map +1 -0
- package/dist/react/nav/partitionAndOrder.d.ts +19 -0
- package/dist/react/nav/partitionAndOrder.d.ts.map +1 -0
- package/dist/react/nav/partitionAndOrder.js +25 -0
- package/dist/react/nav/partitionAndOrder.js.map +1 -0
- package/dist/react/nav/types.d.ts +65 -0
- package/dist/react/nav/types.d.ts.map +1 -0
- package/dist/react/nav/types.js +2 -0
- package/dist/react/nav/types.js.map +1 -0
- package/dist/react/palette/Command.d.ts +25 -0
- package/dist/react/palette/Command.d.ts.map +1 -0
- package/dist/react/palette/Command.js +41 -0
- package/dist/react/palette/Command.js.map +1 -0
- package/dist/react/palette/CommandPalette.d.ts +64 -0
- package/dist/react/palette/CommandPalette.d.ts.map +1 -0
- package/dist/react/palette/CommandPalette.js +205 -0
- package/dist/react/palette/CommandPalette.js.map +1 -0
- package/dist/react/palette/index.d.ts +7 -0
- package/dist/react/palette/index.d.ts.map +1 -0
- package/dist/react/palette/index.js +11 -0
- package/dist/react/palette/index.js.map +1 -0
- package/dist/react/palette/useCommandPalette.d.ts +16 -0
- package/dist/react/palette/useCommandPalette.d.ts.map +1 -0
- package/dist/react/palette/useCommandPalette.js +20 -0
- package/dist/react/palette/useCommandPalette.js.map +1 -0
- package/dist/react/palette/useHotkeys.d.ts +14 -0
- package/dist/react/palette/useHotkeys.d.ts.map +1 -0
- package/dist/react/palette/useHotkeys.js +35 -0
- package/dist/react/palette/useHotkeys.js.map +1 -0
- package/dist/react/palette/useShortcutRegistry.d.ts +4 -0
- package/dist/react/palette/useShortcutRegistry.d.ts.map +1 -0
- package/dist/react/palette/useShortcutRegistry.js +12 -0
- package/dist/react/palette/useShortcutRegistry.js.map +1 -0
- package/dist/react/search/HeaderSearch.d.ts +55 -0
- package/dist/react/search/HeaderSearch.d.ts.map +1 -0
- package/dist/react/search/HeaderSearch.js +107 -0
- package/dist/react/search/HeaderSearch.js.map +1 -0
- package/dist/react/search/SearchResults.d.ts +45 -0
- package/dist/react/search/SearchResults.d.ts.map +1 -0
- package/dist/react/search/SearchResults.js +25 -0
- package/dist/react/search/SearchResults.js.map +1 -0
- package/dist/react/search/index.d.ts +3 -0
- package/dist/react/search/index.d.ts.map +1 -0
- package/dist/react/search/index.js +8 -0
- package/dist/react/search/index.js.map +1 -0
- package/dist/react/spreadsheet/GridCopyPaste.d.ts +28 -0
- package/dist/react/spreadsheet/GridCopyPaste.d.ts.map +1 -0
- package/dist/react/spreadsheet/GridCopyPaste.js +84 -0
- package/dist/react/spreadsheet/GridCopyPaste.js.map +1 -0
- package/dist/react/spreadsheet/SpreadsheetGrid.d.ts +61 -0
- package/dist/react/spreadsheet/SpreadsheetGrid.d.ts.map +1 -0
- package/dist/react/spreadsheet/SpreadsheetGrid.js +31 -0
- package/dist/react/spreadsheet/SpreadsheetGrid.js.map +1 -0
- package/dist/react/spreadsheet/index.d.ts +6 -0
- package/dist/react/spreadsheet/index.d.ts.map +1 -0
- package/dist/react/spreadsheet/index.js +17 -0
- package/dist/react/spreadsheet/index.js.map +1 -0
- package/dist/react/spreadsheet/types.d.ts +42 -0
- package/dist/react/spreadsheet/types.d.ts.map +1 -0
- package/dist/react/spreadsheet/types.js +5 -0
- package/dist/react/spreadsheet/types.js.map +1 -0
- package/dist/react/spreadsheet/useGlideTheme.d.ts +14 -0
- package/dist/react/spreadsheet/useGlideTheme.d.ts.map +1 -0
- package/dist/react/spreadsheet/useGlideTheme.js +113 -0
- package/dist/react/spreadsheet/useGlideTheme.js.map +1 -0
- package/dist/react/spreadsheet/useGridSelection.d.ts +18 -0
- package/dist/react/spreadsheet/useGridSelection.d.ts.map +1 -0
- package/dist/react/spreadsheet/useGridSelection.js +32 -0
- package/dist/react/spreadsheet/useGridSelection.js.map +1 -0
- package/dist/react/styling.d.ts +76 -0
- package/dist/react/styling.d.ts.map +1 -0
- package/dist/react/styling.js +20 -0
- package/dist/react/styling.js.map +1 -0
- package/dist/react/testReport/TestReportViewer.d.ts +25 -0
- package/dist/react/testReport/TestReportViewer.d.ts.map +1 -0
- package/dist/react/testReport/TestReportViewer.js +114 -0
- package/dist/react/testReport/TestReportViewer.js.map +1 -0
- package/dist/react/testReport/index.d.ts +2 -0
- package/dist/react/testReport/index.d.ts.map +1 -0
- package/dist/react/testReport/index.js +2 -0
- package/dist/react/testReport/index.js.map +1 -0
- package/dist/react/toastStore.d.ts +34 -0
- package/dist/react/toastStore.d.ts.map +1 -0
- package/dist/react/toastStore.js +70 -0
- package/dist/react/toastStore.js.map +1 -0
- package/dist/react/uiScale/UiScaleControl.d.ts +15 -0
- package/dist/react/uiScale/UiScaleControl.d.ts.map +1 -0
- package/dist/react/uiScale/UiScaleControl.js +16 -0
- package/dist/react/uiScale/UiScaleControl.js.map +1 -0
- package/dist/react/uiScale/scale.d.ts +37 -0
- package/dist/react/uiScale/scale.d.ts.map +1 -0
- package/dist/react/uiScale/scale.js +48 -0
- package/dist/react/uiScale/scale.js.map +1 -0
- package/dist/react/uiScale/uiScaleStore.d.ts +48 -0
- package/dist/react/uiScale/uiScaleStore.d.ts.map +1 -0
- package/dist/react/uiScale/uiScaleStore.js +64 -0
- package/dist/react/uiScale/uiScaleStore.js.map +1 -0
- package/dist/react/uiScale/useUiScale.d.ts +28 -0
- package/dist/react/uiScale/useUiScale.d.ts.map +1 -0
- package/dist/react/uiScale/useUiScale.js +27 -0
- package/dist/react/uiScale/useUiScale.js.map +1 -0
- package/dist/react/useToasts.d.ts +21 -0
- package/dist/react/useToasts.d.ts.map +1 -0
- package/dist/react/useToasts.js +28 -0
- package/dist/react/useToasts.js.map +1 -0
- package/dist/server/app.d.ts +42 -0
- package/dist/server/app.d.ts.map +1 -0
- package/dist/server/app.js +42 -0
- package/dist/server/app.js.map +1 -0
- package/dist/server/auth/cookie.d.ts +23 -0
- package/dist/server/auth/cookie.d.ts.map +1 -0
- package/dist/server/auth/cookie.js +36 -0
- package/dist/server/auth/cookie.js.map +1 -0
- package/dist/server/auth/csrf.d.ts +43 -0
- package/dist/server/auth/csrf.d.ts.map +1 -0
- package/dist/server/auth/csrf.js +37 -0
- package/dist/server/auth/csrf.js.map +1 -0
- package/dist/server/auth/getOnly.d.ts +21 -0
- package/dist/server/auth/getOnly.d.ts.map +1 -0
- package/dist/server/auth/getOnly.js +28 -0
- package/dist/server/auth/getOnly.js.map +1 -0
- package/dist/server/auth/index.d.ts +12 -0
- package/dist/server/auth/index.d.ts.map +1 -0
- package/dist/server/auth/index.js +15 -0
- package/dist/server/auth/index.js.map +1 -0
- package/dist/server/auth/jwt.d.ts +19 -0
- package/dist/server/auth/jwt.d.ts.map +1 -0
- package/dist/server/auth/jwt.js +57 -0
- package/dist/server/auth/jwt.js.map +1 -0
- package/dist/server/auth/loginThrottle.d.ts +34 -0
- package/dist/server/auth/loginThrottle.d.ts.map +1 -0
- package/dist/server/auth/loginThrottle.js +63 -0
- package/dist/server/auth/loginThrottle.js.map +1 -0
- package/dist/server/auth/middleware.d.ts +15 -0
- package/dist/server/auth/middleware.d.ts.map +1 -0
- package/dist/server/auth/middleware.js +48 -0
- package/dist/server/auth/middleware.js.map +1 -0
- package/dist/server/auth/password.d.ts +15 -0
- package/dist/server/auth/password.d.ts.map +1 -0
- package/dist/server/auth/password.js +66 -0
- package/dist/server/auth/password.js.map +1 -0
- package/dist/server/auth/sessionStore.d.ts +20 -0
- package/dist/server/auth/sessionStore.d.ts.map +1 -0
- package/dist/server/auth/sessionStore.js +222 -0
- package/dist/server/auth/sessionStore.js.map +1 -0
- package/dist/server/auth/totp.d.ts +35 -0
- package/dist/server/auth/totp.d.ts.map +1 -0
- package/dist/server/auth/totp.js +82 -0
- package/dist/server/auth/totp.js.map +1 -0
- package/dist/server/auth/types.d.ts +134 -0
- package/dist/server/auth/types.d.ts.map +1 -0
- package/dist/server/auth/types.js +2 -0
- package/dist/server/auth/types.js.map +1 -0
- package/dist/server/auth/vault.d.ts +28 -0
- package/dist/server/auth/vault.d.ts.map +1 -0
- package/dist/server/auth/vault.js +58 -0
- package/dist/server/auth/vault.js.map +1 -0
- package/dist/server/auth.d.ts +20 -0
- package/dist/server/auth.d.ts.map +1 -0
- package/dist/server/auth.js +20 -0
- package/dist/server/auth.js.map +1 -0
- package/dist/server/context.d.ts +36 -0
- package/dist/server/context.d.ts.map +1 -0
- package/dist/server/context.js +2 -0
- package/dist/server/context.js.map +1 -0
- package/dist/server/ctgr.d.ts +32 -0
- package/dist/server/ctgr.d.ts.map +1 -0
- package/dist/server/ctgr.js +61 -0
- package/dist/server/ctgr.js.map +1 -0
- package/dist/server/db/kysely.d.ts +15 -0
- package/dist/server/db/kysely.d.ts.map +1 -0
- package/dist/server/db/kysely.js +17 -0
- package/dist/server/db/kysely.js.map +1 -0
- package/dist/server/db/plumbingTypes.d.ts +117 -0
- package/dist/server/db/plumbingTypes.d.ts.map +1 -0
- package/dist/server/db/plumbingTypes.js +13 -0
- package/dist/server/db/plumbingTypes.js.map +1 -0
- package/dist/server/errors.d.ts +52 -0
- package/dist/server/errors.d.ts.map +1 -0
- package/dist/server/errors.js +52 -0
- package/dist/server/errors.js.map +1 -0
- package/dist/server/index.d.ts +23 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +46 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/jobs/fireQueue.d.ts +13 -0
- package/dist/server/jobs/fireQueue.d.ts.map +1 -0
- package/dist/server/jobs/fireQueue.js +38 -0
- package/dist/server/jobs/fireQueue.js.map +1 -0
- package/dist/server/jobs/index.d.ts +7 -0
- package/dist/server/jobs/index.d.ts.map +1 -0
- package/dist/server/jobs/index.js +11 -0
- package/dist/server/jobs/index.js.map +1 -0
- package/dist/server/jobs/logger.d.ts +11 -0
- package/dist/server/jobs/logger.d.ts.map +1 -0
- package/dist/server/jobs/logger.js +15 -0
- package/dist/server/jobs/logger.js.map +1 -0
- package/dist/server/jobs/plainjobAdapter.d.ts +20 -0
- package/dist/server/jobs/plainjobAdapter.d.ts.map +1 -0
- package/dist/server/jobs/plainjobAdapter.js +49 -0
- package/dist/server/jobs/plainjobAdapter.js.map +1 -0
- package/dist/server/jobs/polling.d.ts +18 -0
- package/dist/server/jobs/polling.d.ts.map +1 -0
- package/dist/server/jobs/polling.js +63 -0
- package/dist/server/jobs/polling.js.map +1 -0
- package/dist/server/jobs/runner.d.ts +19 -0
- package/dist/server/jobs/runner.d.ts.map +1 -0
- package/dist/server/jobs/runner.js +142 -0
- package/dist/server/jobs/runner.js.map +1 -0
- package/dist/server/jobs/timeout.d.ts +29 -0
- package/dist/server/jobs/timeout.d.ts.map +1 -0
- package/dist/server/jobs/timeout.js +48 -0
- package/dist/server/jobs/timeout.js.map +1 -0
- package/dist/server/jobs/types.d.ts +141 -0
- package/dist/server/jobs/types.d.ts.map +1 -0
- package/dist/server/jobs/types.js +5 -0
- package/dist/server/jobs/types.js.map +1 -0
- package/dist/server/media-bun/ffmpeg.d.ts +58 -0
- package/dist/server/media-bun/ffmpeg.d.ts.map +1 -0
- package/dist/server/media-bun/ffmpeg.js +126 -0
- package/dist/server/media-bun/ffmpeg.js.map +1 -0
- package/dist/server/media-bun/image.d.ts +8 -0
- package/dist/server/media-bun/image.d.ts.map +1 -0
- package/dist/server/media-bun/image.js +97 -0
- package/dist/server/media-bun/image.js.map +1 -0
- package/dist/server/media-bun/index.d.ts +4 -0
- package/dist/server/media-bun/index.d.ts.map +1 -0
- package/dist/server/media-bun/index.js +8 -0
- package/dist/server/media-bun/index.js.map +1 -0
- package/dist/server/media-bun/video.d.ts +17 -0
- package/dist/server/media-bun/video.d.ts.map +1 -0
- package/dist/server/media-bun/video.js +100 -0
- package/dist/server/media-bun/video.js.map +1 -0
- package/dist/server/metrics/metricsBuffer.d.ts +40 -0
- package/dist/server/metrics/metricsBuffer.d.ts.map +1 -0
- package/dist/server/metrics/metricsBuffer.js +37 -0
- package/dist/server/metrics/metricsBuffer.js.map +1 -0
- package/dist/server/metrics/normalizeRoute.d.ts +6 -0
- package/dist/server/metrics/normalizeRoute.d.ts.map +1 -0
- package/dist/server/metrics/normalizeRoute.js +59 -0
- package/dist/server/metrics/normalizeRoute.js.map +1 -0
- package/dist/server/middleware/correlationId.d.ts +10 -0
- package/dist/server/middleware/correlationId.d.ts.map +1 -0
- package/dist/server/middleware/correlationId.js +21 -0
- package/dist/server/middleware/correlationId.js.map +1 -0
- package/dist/server/middleware/errorEnvelope.d.ts +14 -0
- package/dist/server/middleware/errorEnvelope.d.ts.map +1 -0
- package/dist/server/middleware/errorEnvelope.js +30 -0
- package/dist/server/middleware/errorEnvelope.js.map +1 -0
- package/dist/server/middleware/index.d.ts +7 -0
- package/dist/server/middleware/index.d.ts.map +1 -0
- package/dist/server/middleware/index.js +8 -0
- package/dist/server/middleware/index.js.map +1 -0
- package/dist/server/middleware/rateLimit.d.ts +28 -0
- package/dist/server/middleware/rateLimit.d.ts.map +1 -0
- package/dist/server/middleware/rateLimit.js +65 -0
- package/dist/server/middleware/rateLimit.js.map +1 -0
- package/dist/server/middleware/requestLogger.d.ts +30 -0
- package/dist/server/middleware/requestLogger.d.ts.map +1 -0
- package/dist/server/middleware/requestLogger.js +48 -0
- package/dist/server/middleware/requestLogger.js.map +1 -0
- package/dist/server/middleware/securityHeaders.d.ts +30 -0
- package/dist/server/middleware/securityHeaders.d.ts.map +1 -0
- package/dist/server/middleware/securityHeaders.js +45 -0
- package/dist/server/middleware/securityHeaders.js.map +1 -0
- package/dist/server/middleware/zValidator.d.ts +48 -0
- package/dist/server/middleware/zValidator.d.ts.map +1 -0
- package/dist/server/middleware/zValidator.js +76 -0
- package/dist/server/middleware/zValidator.js.map +1 -0
- package/dist/server/migration/runner.d.ts +43 -0
- package/dist/server/migration/runner.d.ts.map +1 -0
- package/dist/server/migration/runner.js +56 -0
- package/dist/server/migration/runner.js.map +1 -0
- package/dist/server/migration/types.d.ts +17 -0
- package/dist/server/migration/types.d.ts.map +1 -0
- package/dist/server/migration/types.js +2 -0
- package/dist/server/migration/types.js.map +1 -0
- package/dist/server/sqlite/backup.d.ts +36 -0
- package/dist/server/sqlite/backup.d.ts.map +1 -0
- package/dist/server/sqlite/backup.js +75 -0
- package/dist/server/sqlite/backup.js.map +1 -0
- package/dist/server/sqlite/fts5.d.ts +105 -0
- package/dist/server/sqlite/fts5.d.ts.map +1 -0
- package/dist/server/sqlite/fts5.js +151 -0
- package/dist/server/sqlite/fts5.js.map +1 -0
- package/dist/server/sqlite/health.d.ts +45 -0
- package/dist/server/sqlite/health.d.ts.map +1 -0
- package/dist/server/sqlite/health.js +53 -0
- package/dist/server/sqlite/health.js.map +1 -0
- package/dist/server/sqlite/index.d.ts +6 -0
- package/dist/server/sqlite/index.d.ts.map +1 -0
- package/dist/server/sqlite/index.js +10 -0
- package/dist/server/sqlite/index.js.map +1 -0
- package/dist/server/sqlite/readonlySql.d.ts +16 -0
- package/dist/server/sqlite/readonlySql.d.ts.map +1 -0
- package/dist/server/sqlite/readonlySql.js +66 -0
- package/dist/server/sqlite/readonlySql.js.map +1 -0
- package/dist/server/sqlite/viewer.d.ts +4 -0
- package/dist/server/sqlite/viewer.d.ts.map +1 -0
- package/dist/server/sqlite/viewer.js +92 -0
- package/dist/server/sqlite/viewer.js.map +1 -0
- package/dist/server/sqlite.d.ts +31 -0
- package/dist/server/sqlite.d.ts.map +1 -0
- package/dist/server/sqlite.js +46 -0
- package/dist/server/sqlite.js.map +1 -0
- package/dist/server/ws/eventBus.d.ts +15 -0
- package/dist/server/ws/eventBus.d.ts.map +1 -0
- package/dist/server/ws/eventBus.js +43 -0
- package/dist/server/ws/eventBus.js.map +1 -0
- package/dist/server/ws/hub.d.ts +21 -0
- package/dist/server/ws/hub.d.ts.map +1 -0
- package/dist/server/ws/hub.js +155 -0
- package/dist/server/ws/hub.js.map +1 -0
- package/dist/server/ws/index.d.ts +6 -0
- package/dist/server/ws/index.d.ts.map +1 -0
- package/dist/server/ws/index.js +8 -0
- package/dist/server/ws/index.js.map +1 -0
- package/dist/server/ws/presence.d.ts +12 -0
- package/dist/server/ws/presence.d.ts.map +1 -0
- package/dist/server/ws/presence.js +21 -0
- package/dist/server/ws/presence.js.map +1 -0
- package/dist/server/ws/room.d.ts +18 -0
- package/dist/server/ws/room.d.ts.map +1 -0
- package/dist/server/ws/room.js +24 -0
- package/dist/server/ws/room.js.map +1 -0
- package/dist/server/ws/types.d.ts +123 -0
- package/dist/server/ws/types.d.ts.map +1 -0
- package/dist/server/ws/types.js +2 -0
- package/dist/server/ws/types.js.map +1 -0
- package/package.json +241 -0
- package/src/styles.css +52 -0
- package/src/theme.css +239 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Drop ~this fraction of `level` per frame, per multiple of target frame time over
|
|
2
|
+
// budget. Recover this much per frame when comfortable. Asymmetric on purpose —
|
|
3
|
+
// shed load fast, restore it gently — so quality doesn't oscillate.
|
|
4
|
+
const DROP_COEFFICIENT = 0.05;
|
|
5
|
+
const RECOVER_PER_FRAME = 0.01;
|
|
6
|
+
/**
|
|
7
|
+
* Adaptive draw-quality governor. Tracks a rolling average of frame times and exposes
|
|
8
|
+
* a `level` games use to scale render cost so a struggling device stays responsive.
|
|
9
|
+
* Replaces the duplicated per-game copies.
|
|
10
|
+
*/
|
|
11
|
+
export function drawBudget(opts = {}) {
|
|
12
|
+
const { targetFps = 60, windowSize = 30 } = opts;
|
|
13
|
+
const targetMs = 1000 / targetFps;
|
|
14
|
+
const samples = [];
|
|
15
|
+
let sum = 0;
|
|
16
|
+
let avgMs = targetMs;
|
|
17
|
+
let level = 1;
|
|
18
|
+
return {
|
|
19
|
+
record(frameMs) {
|
|
20
|
+
if (!Number.isFinite(frameMs) || frameMs < 0)
|
|
21
|
+
return;
|
|
22
|
+
samples.push(frameMs);
|
|
23
|
+
sum += frameMs;
|
|
24
|
+
if (samples.length > windowSize)
|
|
25
|
+
sum -= samples.shift();
|
|
26
|
+
avgMs = sum / samples.length;
|
|
27
|
+
// headroom > 0 → comfortably under budget; < 0 → behind.
|
|
28
|
+
const headroom = targetMs - avgMs;
|
|
29
|
+
if (headroom < 0) {
|
|
30
|
+
// How many target-frames behind we are scales the drop; far behind drops fast.
|
|
31
|
+
level += (headroom / targetMs) * DROP_COEFFICIENT;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
level += RECOVER_PER_FRAME;
|
|
35
|
+
}
|
|
36
|
+
level = clamp01(level);
|
|
37
|
+
},
|
|
38
|
+
get level() {
|
|
39
|
+
return level;
|
|
40
|
+
},
|
|
41
|
+
get fps() {
|
|
42
|
+
if (samples.length === 0)
|
|
43
|
+
return targetFps; // nothing recorded yet → report the target
|
|
44
|
+
return avgMs > 0 ? 1000 / avgMs : targetFps;
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function clamp01(value) {
|
|
49
|
+
if (value < 0)
|
|
50
|
+
return 0;
|
|
51
|
+
if (value > 1)
|
|
52
|
+
return 1;
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=drawBudget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawBudget.js","sourceRoot":"","sources":["../../../src/game/core/drawBudget.ts"],"names":[],"mappings":"AAqBA,mFAAmF;AACnF,gFAAgF;AAChF,oEAAoE;AACpE,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAA0B,EAAE;IACrD,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IAElC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,QAAQ,CAAC;IACrB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO;QACL,MAAM,CAAC,OAAe;YACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;gBAAE,OAAO;YAErD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,GAAG,IAAI,OAAO,CAAC;YACf,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU;gBAAE,GAAG,IAAI,OAAO,CAAC,KAAK,EAAY,CAAC;YAClE,KAAK,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YAE7B,yDAAyD;YACzD,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;YAClC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,+EAA+E;gBAC/E,KAAK,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,gBAAgB,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,iBAAiB,CAAC;YAC7B,CAAC;YACD,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,KAAK;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,GAAG;YACL,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC,CAAC,2CAA2C;YACvF,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface FixedTimestepOptions {
|
|
2
|
+
/** Update rate in Hz (e.g. 60 → a fixed 1/60 s simulation step). */
|
|
3
|
+
hz: number;
|
|
4
|
+
/**
|
|
5
|
+
* Called zero or more times per frame with the fixed timestep in **seconds**
|
|
6
|
+
* (e.g. `1/60 ≈ 0.0167`). Drive all simulation/physics from this `dt` so behaviour
|
|
7
|
+
* is frame-rate independent.
|
|
8
|
+
*/
|
|
9
|
+
onUpdate: (dt: number) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Called exactly once per frame with the interpolation factor `alpha` in `[0, 1)`
|
|
12
|
+
* — the fraction of a step the accumulator is into the next update. Render the
|
|
13
|
+
* visual state as `lerp(prev, current, alpha)` for smooth motion between updates.
|
|
14
|
+
*/
|
|
15
|
+
onRender: (alpha: number) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Maximum simulation steps per frame (default `5`). The "spiral of death" guard:
|
|
18
|
+
* without it, a tab backgrounded for 5 s would try to simulate hundreds of steps
|
|
19
|
+
* in one frame and lock the thread. When the cap is hit the leftover backlog is
|
|
20
|
+
* dropped (time is sacrificed to keep the frame responsive).
|
|
21
|
+
*/
|
|
22
|
+
maxCatchup?: number;
|
|
23
|
+
}
|
|
24
|
+
export interface FixedTimestep {
|
|
25
|
+
/** Advance by the wall-clock delta since the previous frame, in **milliseconds**. */
|
|
26
|
+
step: (deltaMs: number) => void;
|
|
27
|
+
/** Clear the accumulator — call after a pause/resume so the gap isn't simulated. */
|
|
28
|
+
reset: () => void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Creates a fixed-timestep accumulator: the canonical decoupling of a fixed-rate
|
|
32
|
+
* simulation from a variable-rate render. Call {@link FixedTimestep.step} once per
|
|
33
|
+
* animation frame with the wall-clock delta; it invokes `onUpdate(dt)` zero or more
|
|
34
|
+
* times with the fixed `dt`, then `onRender(alpha)` once with the interpolation
|
|
35
|
+
* factor. Replaces the verbatim copies the apps each carried per game.
|
|
36
|
+
*/
|
|
37
|
+
export declare function createFixedTimestep(opts: FixedTimestepOptions): FixedTimestep;
|
|
38
|
+
//# sourceMappingURL=fixedTimestep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixedTimestep.d.ts","sourceRoot":"","sources":["../../../src/game/core/fixedTimestep.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,qFAAqF;IACrF,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,oFAAoF;IACpF,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAwC7E"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a fixed-timestep accumulator: the canonical decoupling of a fixed-rate
|
|
3
|
+
* simulation from a variable-rate render. Call {@link FixedTimestep.step} once per
|
|
4
|
+
* animation frame with the wall-clock delta; it invokes `onUpdate(dt)` zero or more
|
|
5
|
+
* times with the fixed `dt`, then `onRender(alpha)` once with the interpolation
|
|
6
|
+
* factor. Replaces the verbatim copies the apps each carried per game.
|
|
7
|
+
*/
|
|
8
|
+
export function createFixedTimestep(opts) {
|
|
9
|
+
const { hz, onUpdate, onRender, maxCatchup = 5 } = opts;
|
|
10
|
+
if (!(hz > 0))
|
|
11
|
+
throw new Error(`createFixedTimestep: hz must be > 0 (got ${hz})`);
|
|
12
|
+
const stepMs = 1000 / hz;
|
|
13
|
+
const stepSeconds = stepMs / 1000;
|
|
14
|
+
// Repeated `accumulator -= stepMs` accrues float error, so an exact integer multiple
|
|
15
|
+
// (e.g. 100ms at 60hz = 6 steps) can fall a rounding-bit short of the final step.
|
|
16
|
+
// A tiny epsilon recovers the mathematically-correct count without ever firing a
|
|
17
|
+
// spurious step (a real sub-step delta is never within 1e-9 ms of the boundary).
|
|
18
|
+
const threshold = stepMs - 1e-9;
|
|
19
|
+
let accumulator = 0;
|
|
20
|
+
return {
|
|
21
|
+
step(deltaMs) {
|
|
22
|
+
// Guard against NaN, negatives, and the huge delta after a backgrounded tab.
|
|
23
|
+
if (!Number.isFinite(deltaMs) || deltaMs < 0)
|
|
24
|
+
deltaMs = 0;
|
|
25
|
+
accumulator += deltaMs;
|
|
26
|
+
let steps = 0;
|
|
27
|
+
while (accumulator >= threshold && steps < maxCatchup) {
|
|
28
|
+
onUpdate(stepSeconds);
|
|
29
|
+
accumulator -= stepMs;
|
|
30
|
+
steps++;
|
|
31
|
+
}
|
|
32
|
+
// Hit the catch-up cap with backlog remaining → drop it (spiral-of-death guard).
|
|
33
|
+
if (steps >= maxCatchup && accumulator >= threshold) {
|
|
34
|
+
accumulator = 0;
|
|
35
|
+
}
|
|
36
|
+
else if (accumulator < 0) {
|
|
37
|
+
// Epsilon stepping can leave a sub-femtosecond negative residue; floor it.
|
|
38
|
+
accumulator = 0;
|
|
39
|
+
}
|
|
40
|
+
onRender(accumulator / stepMs);
|
|
41
|
+
},
|
|
42
|
+
reset() {
|
|
43
|
+
accumulator = 0;
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=fixedTimestep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixedTimestep.js","sourceRoot":"","sources":["../../../src/game/core/fixedTimestep.ts"],"names":[],"mappings":"AA+BA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA0B;IAC5D,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;IAElF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,qFAAqF;IACrF,kFAAkF;IAClF,iFAAiF;IACjF,iFAAiF;IACjF,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,OAAO;QACL,IAAI,CAAC,OAAe;YAClB,6EAA6E;YAC7E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC,CAAC;YAC1D,WAAW,IAAI,OAAO,CAAC;YAEvB,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,OAAO,WAAW,IAAI,SAAS,IAAI,KAAK,GAAG,UAAU,EAAE,CAAC;gBACtD,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACtB,WAAW,IAAI,MAAM,CAAC;gBACtB,KAAK,EAAE,CAAC;YACV,CAAC;YAED,iFAAiF;YACjF,IAAI,KAAK,IAAI,UAAU,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;gBACpD,WAAW,GAAG,CAAC,CAAC;YAClB,CAAC;iBAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC3B,2EAA2E;gBAC3E,WAAW,GAAG,CAAC,CAAC;YAClB,CAAC;YAED,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,KAAK;YACH,WAAW,GAAG,CAAC,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { DisposeRegistry } from './DisposeRegistry';
|
|
2
|
+
export type { DrawBudget, DrawBudgetOptions } from './drawBudget';
|
|
3
|
+
export { drawBudget } from './drawBudget';
|
|
4
|
+
export type { FixedTimestep, FixedTimestepOptions } from './fixedTimestep';
|
|
5
|
+
export { createFixedTimestep } from './fixedTimestep';
|
|
6
|
+
export type { GamepadSnapshot, InputCollector, InputCollectorOptions, InputSnapshot, PointerSnapshot, } from './inputCollector';
|
|
7
|
+
export { createInputCollector, deadzone } from './inputCollector';
|
|
8
|
+
export { resizeCanvasToDisplaySize } from './resizeCanvas';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/game/core/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EACV,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// cursedbelt/game core — engine-agnostic, zero React, browser-safe to import from a
|
|
2
|
+
// Bun server test. The React host hook lives in `cursedbelt/game/react`.
|
|
3
|
+
export { DisposeRegistry } from './DisposeRegistry';
|
|
4
|
+
export { drawBudget } from './drawBudget';
|
|
5
|
+
export { createFixedTimestep } from './fixedTimestep';
|
|
6
|
+
export { createInputCollector, deadzone } from './inputCollector';
|
|
7
|
+
export { resizeCanvasToDisplaySize } from './resizeCanvas';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/game/core/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,yEAAyE;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAQtD,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { DisposeRegistry } from './DisposeRegistry';
|
|
2
|
+
export interface PointerSnapshot {
|
|
3
|
+
/** Canvas-relative X in CSS pixels. */
|
|
4
|
+
x: number;
|
|
5
|
+
/** Canvas-relative Y in CSS pixels. */
|
|
6
|
+
y: number;
|
|
7
|
+
/** Bitmask of currently-pressed buttons (`PointerEvent.buttons`). */
|
|
8
|
+
buttons: number;
|
|
9
|
+
/** The originating `PointerEvent.pointerId`. */
|
|
10
|
+
id: number;
|
|
11
|
+
/** `'mouse' | 'pen' | 'touch'`. */
|
|
12
|
+
type: string;
|
|
13
|
+
}
|
|
14
|
+
export interface GamepadSnapshot {
|
|
15
|
+
index: number;
|
|
16
|
+
/** Axes with the deadzone already applied. Even indices = X, odd = Y, by convention. */
|
|
17
|
+
axes: number[];
|
|
18
|
+
/** Per-button analogue value in `[0, 1]`. */
|
|
19
|
+
buttons: number[];
|
|
20
|
+
/** Per-button pressed flag. */
|
|
21
|
+
pressed: boolean[];
|
|
22
|
+
}
|
|
23
|
+
export interface InputSnapshot {
|
|
24
|
+
/** The primary (most-recently-active) pointer. */
|
|
25
|
+
pointer: {
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
buttons: number;
|
|
29
|
+
};
|
|
30
|
+
/** `KeyboardEvent.code` → held. Cleared on window blur to avoid stuck keys. */
|
|
31
|
+
keys: Record<string, boolean>;
|
|
32
|
+
/** One entry per active touch contact, canvas-relative. */
|
|
33
|
+
touch: {
|
|
34
|
+
x: number;
|
|
35
|
+
y: number;
|
|
36
|
+
}[];
|
|
37
|
+
/** The first connected gamepad with deadzone-corrected axes, or `null`. */
|
|
38
|
+
gamepad: GamepadSnapshot | null;
|
|
39
|
+
}
|
|
40
|
+
export interface InputCollectorOptions {
|
|
41
|
+
/**
|
|
42
|
+
* Where keyboard listeners attach. Defaults to `window` so the game receives keys
|
|
43
|
+
* without the canvas needing focus. Pass the canvas to scope keys to focus instead.
|
|
44
|
+
*/
|
|
45
|
+
keyboardTarget?: Window | HTMLElement;
|
|
46
|
+
/** Gamepad axis deadzone (default `0.15`). */
|
|
47
|
+
gamepadDeadzone?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Set `canvas.style.touchAction = 'none'` so dragging on a touch device doesn't
|
|
50
|
+
* scroll/zoom the page (default `true`). Restored on dispose.
|
|
51
|
+
*/
|
|
52
|
+
preventTouchScroll?: boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface InputCollector {
|
|
55
|
+
/** A point-in-time copy of all input state — call once per frame. */
|
|
56
|
+
snapshot: () => InputSnapshot;
|
|
57
|
+
/** Subscribe to pointer-down events (mouse/pen/touch unified). */
|
|
58
|
+
onPointerDown: (fn: (e: PointerSnapshot) => void) => void;
|
|
59
|
+
/** Subscribe to pointer-up events. */
|
|
60
|
+
onPointerUp: (fn: (e: PointerSnapshot) => void) => void;
|
|
61
|
+
/** Subscribe to a specific `KeyboardEvent.code`; `down` is `true` on press, `false` on release. */
|
|
62
|
+
onKey: (code: string, fn: (down: boolean) => void) => void;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Applies a radial deadzone to a normalized axis value in `[-1, 1]` and rescales the
|
|
66
|
+
* remainder so output still spans the full range past the threshold (no sudden jump
|
|
67
|
+
* at the deadzone edge). Use for gamepad sticks / analogue inputs.
|
|
68
|
+
*/
|
|
69
|
+
export declare function deadzone(value: number, threshold?: number): number;
|
|
70
|
+
/**
|
|
71
|
+
* Collects raw input state from pointer, keyboard, touch, and gamepad into a single
|
|
72
|
+
* snapshot-able object. Pointer events unify mouse/pen/touch; touch contacts are also
|
|
73
|
+
* surfaced individually in `snapshot().touch`. All listeners attach via the supplied
|
|
74
|
+
* {@link DisposeRegistry}, so they're torn down automatically on engine dispose.
|
|
75
|
+
*
|
|
76
|
+
* Per-game `computeIntent(snapshot)` (mapping raw input → a game-specific action enum)
|
|
77
|
+
* stays in the game — this layer only handles the common collection + deadzone.
|
|
78
|
+
*
|
|
79
|
+
* Browser-only: reads `document`/`window`/`navigator`. Never call from a server file.
|
|
80
|
+
*/
|
|
81
|
+
export declare function createInputCollector(canvas: HTMLCanvasElement, registry: DisposeRegistry, opts?: InputCollectorOptions): InputCollector;
|
|
82
|
+
//# sourceMappingURL=inputCollector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputCollector.d.ts","sourceRoot":"","sources":["../../../src/game/core/inputCollector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,CAAC,EAAE,MAAM,CAAC;IACV,uCAAuC;IACvC,CAAC,EAAE,MAAM,CAAC;IACV,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,wFAAwF;IACxF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,6CAA6C;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,+BAA+B;IAC/B,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,2DAA2D;IAC3D,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClC,2EAA2E;IAC3E,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACtC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,QAAQ,EAAE,MAAM,aAAa,CAAC;IAC9B,kEAAkE;IAClE,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,KAAK,IAAI,CAAC;IAC1D,sCAAsC;IACtC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,KAAK,IAAI,CAAC;IACxD,mGAAmG;IACnG,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;CAC5D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,MAAM,CAKhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,eAAe,EACzB,IAAI,GAAE,qBAA0B,GAC/B,cAAc,CA2JhB"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Applies a radial deadzone to a normalized axis value in `[-1, 1]` and rescales the
|
|
3
|
+
* remainder so output still spans the full range past the threshold (no sudden jump
|
|
4
|
+
* at the deadzone edge). Use for gamepad sticks / analogue inputs.
|
|
5
|
+
*/
|
|
6
|
+
export function deadzone(value, threshold = 0.15) {
|
|
7
|
+
const magnitude = Math.abs(value);
|
|
8
|
+
if (magnitude <= threshold)
|
|
9
|
+
return 0;
|
|
10
|
+
const sign = value < 0 ? -1 : 1;
|
|
11
|
+
return sign * ((magnitude - threshold) / (1 - threshold));
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Collects raw input state from pointer, keyboard, touch, and gamepad into a single
|
|
15
|
+
* snapshot-able object. Pointer events unify mouse/pen/touch; touch contacts are also
|
|
16
|
+
* surfaced individually in `snapshot().touch`. All listeners attach via the supplied
|
|
17
|
+
* {@link DisposeRegistry}, so they're torn down automatically on engine dispose.
|
|
18
|
+
*
|
|
19
|
+
* Per-game `computeIntent(snapshot)` (mapping raw input → a game-specific action enum)
|
|
20
|
+
* stays in the game — this layer only handles the common collection + deadzone.
|
|
21
|
+
*
|
|
22
|
+
* Browser-only: reads `document`/`window`/`navigator`. Never call from a server file.
|
|
23
|
+
*/
|
|
24
|
+
export function createInputCollector(canvas, registry, opts = {}) {
|
|
25
|
+
const { keyboardTarget = typeof window !== 'undefined' ? window : canvas, gamepadDeadzone = 0.15, preventTouchScroll = true, } = opts;
|
|
26
|
+
const keys = {};
|
|
27
|
+
const activePointers = new Map();
|
|
28
|
+
let primary = { x: 0, y: 0, buttons: 0, id: -1, type: 'mouse' };
|
|
29
|
+
let gamepadIndex = null;
|
|
30
|
+
const pointerDownHandlers = [];
|
|
31
|
+
const pointerUpHandlers = [];
|
|
32
|
+
const keyHandlers = new Map();
|
|
33
|
+
function toLocal(e) {
|
|
34
|
+
const rect = canvas.getBoundingClientRect();
|
|
35
|
+
return {
|
|
36
|
+
x: e.clientX - rect.left,
|
|
37
|
+
y: e.clientY - rect.top,
|
|
38
|
+
buttons: e.buttons,
|
|
39
|
+
id: e.pointerId,
|
|
40
|
+
type: e.pointerType,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
// --- Pointer (unifies mouse, pen, touch) ---
|
|
44
|
+
const onPointerMove = (e) => {
|
|
45
|
+
const p = toLocal(e);
|
|
46
|
+
if (activePointers.has(p.id) || p.type !== 'touch')
|
|
47
|
+
primary = p;
|
|
48
|
+
if (activePointers.has(p.id))
|
|
49
|
+
activePointers.set(p.id, p);
|
|
50
|
+
};
|
|
51
|
+
const onPointerDown = (e) => {
|
|
52
|
+
const p = toLocal(e);
|
|
53
|
+
activePointers.set(p.id, p);
|
|
54
|
+
primary = p;
|
|
55
|
+
for (const fn of pointerDownHandlers)
|
|
56
|
+
fn(p);
|
|
57
|
+
};
|
|
58
|
+
const onPointerUp = (e) => {
|
|
59
|
+
const p = toLocal(e);
|
|
60
|
+
activePointers.delete(p.id);
|
|
61
|
+
primary = { ...p, buttons: 0 };
|
|
62
|
+
for (const fn of pointerUpHandlers)
|
|
63
|
+
fn(p);
|
|
64
|
+
};
|
|
65
|
+
const onPointerCancel = (e) => {
|
|
66
|
+
activePointers.delete(e.pointerId);
|
|
67
|
+
};
|
|
68
|
+
addCanvasListener('pointermove', onPointerMove);
|
|
69
|
+
addCanvasListener('pointerdown', onPointerDown);
|
|
70
|
+
addCanvasListener('pointerup', onPointerUp);
|
|
71
|
+
addCanvasListener('pointercancel', onPointerCancel);
|
|
72
|
+
if (preventTouchScroll) {
|
|
73
|
+
const prev = canvas.style.touchAction;
|
|
74
|
+
canvas.style.touchAction = 'none';
|
|
75
|
+
registry.add(() => {
|
|
76
|
+
canvas.style.touchAction = prev;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
// --- Keyboard (window by default; cleared on blur) ---
|
|
80
|
+
const onKeyDown = (e) => {
|
|
81
|
+
if (keys[e.code])
|
|
82
|
+
return; // ignore auto-repeat
|
|
83
|
+
keys[e.code] = true;
|
|
84
|
+
const handlers = keyHandlers.get(e.code);
|
|
85
|
+
if (handlers)
|
|
86
|
+
for (const fn of handlers)
|
|
87
|
+
fn(true);
|
|
88
|
+
};
|
|
89
|
+
const onKeyUp = (e) => {
|
|
90
|
+
if (!keys[e.code])
|
|
91
|
+
return;
|
|
92
|
+
keys[e.code] = false;
|
|
93
|
+
const handlers = keyHandlers.get(e.code);
|
|
94
|
+
if (handlers)
|
|
95
|
+
for (const fn of handlers)
|
|
96
|
+
fn(false);
|
|
97
|
+
};
|
|
98
|
+
const onBlur = () => {
|
|
99
|
+
for (const code of Object.keys(keys)) {
|
|
100
|
+
if (keys[code]) {
|
|
101
|
+
keys[code] = false;
|
|
102
|
+
const handlers = keyHandlers.get(code);
|
|
103
|
+
if (handlers)
|
|
104
|
+
for (const fn of handlers)
|
|
105
|
+
fn(false);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
addTargetListener(keyboardTarget, 'keydown', onKeyDown);
|
|
110
|
+
addTargetListener(keyboardTarget, 'keyup', onKeyUp);
|
|
111
|
+
if (typeof window !== 'undefined')
|
|
112
|
+
addTargetListener(window, 'blur', onBlur);
|
|
113
|
+
// --- Gamepad (connection is evented; state is polled in snapshot) ---
|
|
114
|
+
if (typeof window !== 'undefined') {
|
|
115
|
+
const onConnect = (e) => {
|
|
116
|
+
gamepadIndex = e.gamepad.index;
|
|
117
|
+
};
|
|
118
|
+
const onDisconnect = (e) => {
|
|
119
|
+
if (e.gamepad.index === gamepadIndex)
|
|
120
|
+
gamepadIndex = null;
|
|
121
|
+
};
|
|
122
|
+
addTargetListener(window, 'gamepadconnected', onConnect);
|
|
123
|
+
addTargetListener(window, 'gamepaddisconnected', onDisconnect);
|
|
124
|
+
}
|
|
125
|
+
function readGamepad() {
|
|
126
|
+
if (typeof navigator === 'undefined' || !navigator.getGamepads)
|
|
127
|
+
return null;
|
|
128
|
+
const pads = navigator.getGamepads();
|
|
129
|
+
const pad = gamepadIndex !== null ? pads[gamepadIndex] : pads.find((p) => p != null);
|
|
130
|
+
if (!pad)
|
|
131
|
+
return null;
|
|
132
|
+
return {
|
|
133
|
+
index: pad.index,
|
|
134
|
+
axes: pad.axes.map((a) => deadzone(a, gamepadDeadzone)),
|
|
135
|
+
buttons: pad.buttons.map((b) => b.value),
|
|
136
|
+
pressed: pad.buttons.map((b) => b.pressed),
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
snapshot() {
|
|
141
|
+
const touch = [];
|
|
142
|
+
for (const p of activePointers.values()) {
|
|
143
|
+
if (p.type === 'touch')
|
|
144
|
+
touch.push({ x: p.x, y: p.y });
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
pointer: { x: primary.x, y: primary.y, buttons: primary.buttons },
|
|
148
|
+
keys: { ...keys },
|
|
149
|
+
touch,
|
|
150
|
+
gamepad: readGamepad(),
|
|
151
|
+
};
|
|
152
|
+
},
|
|
153
|
+
onPointerDown(fn) {
|
|
154
|
+
pointerDownHandlers.push(fn);
|
|
155
|
+
},
|
|
156
|
+
onPointerUp(fn) {
|
|
157
|
+
pointerUpHandlers.push(fn);
|
|
158
|
+
},
|
|
159
|
+
onKey(code, fn) {
|
|
160
|
+
const handlers = keyHandlers.get(code);
|
|
161
|
+
if (handlers)
|
|
162
|
+
handlers.push(fn);
|
|
163
|
+
else
|
|
164
|
+
keyHandlers.set(code, [fn]);
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
function addCanvasListener(type, handler) {
|
|
168
|
+
canvas.addEventListener(type, handler);
|
|
169
|
+
registry.add(() => canvas.removeEventListener(type, handler));
|
|
170
|
+
}
|
|
171
|
+
function addTargetListener(target, type, handler) {
|
|
172
|
+
target.addEventListener(type, handler);
|
|
173
|
+
registry.add(() => target.removeEventListener(type, handler));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=inputCollector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputCollector.js","sourceRoot":"","sources":["../../../src/game/core/inputCollector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resize a canvas's backing-store resolution to match its CSS display size times the
|
|
3
|
+
* device pixel ratio, so rendering is crisp on HiDPI screens without stretching.
|
|
4
|
+
*
|
|
5
|
+
* Call this at the top of the render loop. It only writes `canvas.width/height` when
|
|
6
|
+
* they actually changed (writing them is destructive — it clears the canvas and resets
|
|
7
|
+
* the 2D context state), and returns whether a resize happened so the game can update
|
|
8
|
+
* its viewport/projection only when needed.
|
|
9
|
+
*
|
|
10
|
+
* This is deliberately NOT inside `useGameEngine`: backing-store sizing is game-specific
|
|
11
|
+
* (a WebGL game also calls `gl.viewport`, a 2D game may re-scale the context), so the
|
|
12
|
+
* hook stays renderer-agnostic and the game owns its resize policy.
|
|
13
|
+
*
|
|
14
|
+
* @param canvas - The target canvas.
|
|
15
|
+
* @param dpr - Device pixel ratio (defaults to `window.devicePixelRatio`, min 1).
|
|
16
|
+
* @returns `true` if the backing store was resized this call.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resizeCanvasToDisplaySize(canvas: HTMLCanvasElement, dpr?: number): boolean;
|
|
19
|
+
//# sourceMappingURL=resizeCanvas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resizeCanvas.d.ts","sourceRoot":"","sources":["../../../src/game/core/resizeCanvas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,iBAAiB,EACzB,GAAG,GAAE,MAAyE,GAC7E,OAAO,CAUT"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resize a canvas's backing-store resolution to match its CSS display size times the
|
|
3
|
+
* device pixel ratio, so rendering is crisp on HiDPI screens without stretching.
|
|
4
|
+
*
|
|
5
|
+
* Call this at the top of the render loop. It only writes `canvas.width/height` when
|
|
6
|
+
* they actually changed (writing them is destructive — it clears the canvas and resets
|
|
7
|
+
* the 2D context state), and returns whether a resize happened so the game can update
|
|
8
|
+
* its viewport/projection only when needed.
|
|
9
|
+
*
|
|
10
|
+
* This is deliberately NOT inside `useGameEngine`: backing-store sizing is game-specific
|
|
11
|
+
* (a WebGL game also calls `gl.viewport`, a 2D game may re-scale the context), so the
|
|
12
|
+
* hook stays renderer-agnostic and the game owns its resize policy.
|
|
13
|
+
*
|
|
14
|
+
* @param canvas - The target canvas.
|
|
15
|
+
* @param dpr - Device pixel ratio (defaults to `window.devicePixelRatio`, min 1).
|
|
16
|
+
* @returns `true` if the backing store was resized this call.
|
|
17
|
+
*/
|
|
18
|
+
export function resizeCanvasToDisplaySize(canvas, dpr = typeof window !== 'undefined' ? window.devicePixelRatio || 1 : 1) {
|
|
19
|
+
const ratio = dpr > 0 ? dpr : 1;
|
|
20
|
+
const width = Math.max(1, Math.round(canvas.clientWidth * ratio));
|
|
21
|
+
const height = Math.max(1, Math.round(canvas.clientHeight * ratio));
|
|
22
|
+
if (canvas.width !== width || canvas.height !== height) {
|
|
23
|
+
canvas.width = width;
|
|
24
|
+
canvas.height = height;
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=resizeCanvas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resizeCanvas.js","sourceRoot":"","sources":["../../../src/game/core/resizeCanvas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAyB,EACzB,MAAc,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACvD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/game/react/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,WAAW,EACX,UAAU,EACV,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// cursedbelt/game/react — the browser-only React host hook. Reads `document`/`window`;
|
|
2
|
+
// never import this subpath from a Bun server file. The engine-agnostic core (no React,
|
|
3
|
+
// Bun-safe) lives in `cursedbelt/game`.
|
|
4
|
+
export { useGameEngine } from './useGameEngine';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/game/react/index.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,wFAAwF;AACxF,wCAAwC;AAOxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type DependencyList, type RefObject } from 'react';
|
|
2
|
+
import { DisposeRegistry } from '../core/DisposeRegistry';
|
|
3
|
+
/**
|
|
4
|
+
* The handle a {@link GameFactory} returns. The host hook owns its lifecycle:
|
|
5
|
+
* `dispose` runs on true unmount; `pause`/`resume` run on tab hide/show.
|
|
6
|
+
*/
|
|
7
|
+
export interface GameHandle {
|
|
8
|
+
/** Tear down the engine. Called exactly once, on true unmount. */
|
|
9
|
+
dispose(): void;
|
|
10
|
+
/** Optional: called when the tab is hidden (Page Visibility). Cancel your rAF here. */
|
|
11
|
+
pause?(): void;
|
|
12
|
+
/** Optional: called when the tab becomes visible again. Restart your rAF here. */
|
|
13
|
+
resume?(): void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Creates the engine for a freshly-mounted canvas. Receives a {@link DisposeRegistry}
|
|
17
|
+
* for RAII cleanup — register every listener / rAF id / resource you allocate.
|
|
18
|
+
*
|
|
19
|
+
* MUST be referentially stable: define it at module level or wrap it in `useCallback`.
|
|
20
|
+
* (It's read through a ref, so an unstable identity won't restart the engine — but a
|
|
21
|
+
* stale closure could capture old props. Prefer reading live values through refs.)
|
|
22
|
+
*
|
|
23
|
+
* @returns the handle, or a promise of it (async setup — e.g. loading WASM — is fine).
|
|
24
|
+
*/
|
|
25
|
+
export type GameFactory<THandle extends GameHandle> = (canvas: HTMLCanvasElement, registry: DisposeRegistry) => THandle | Promise<THandle>;
|
|
26
|
+
export interface UseGameEngineResult<THandle extends GameHandle> {
|
|
27
|
+
/** Attach to your `<canvas ref={canvasRef} />`. */
|
|
28
|
+
canvasRef: RefObject<HTMLCanvasElement | null>;
|
|
29
|
+
/**
|
|
30
|
+
* The live handle, available after mount (`null` during SSR/init). This is a ref
|
|
31
|
+
* value, NOT reactive — gate UI that needs it on {@link UseGameEngineResult.isReady}.
|
|
32
|
+
*/
|
|
33
|
+
handle: THandle | null;
|
|
34
|
+
/** `true` once the factory has resolved and the engine is running. */
|
|
35
|
+
isReady: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Stable game-engine host hook — the architectural fix for the "game froze, can't
|
|
39
|
+
* click out" bug.
|
|
40
|
+
*
|
|
41
|
+
* The bug: a game's lifecycle `useEffect` listed a context-derived value (typically
|
|
42
|
+
* `authRequest` / `saveNow` from `AuthContext`) in its dep array. When that value's
|
|
43
|
+
* identity churned on an unrelated re-render, React tore down and re-ran the effect —
|
|
44
|
+
* disposing the *live* engine mid-session. A guarded setup (`if (engine) return`) then
|
|
45
|
+
* refused to recreate it, leaving a dead canvas with no way out.
|
|
46
|
+
*
|
|
47
|
+
* The fix, by construction: the `factory` is held in a ref and is **never** an effect
|
|
48
|
+
* dependency. The engine starts once on mount and is disposed once on true unmount.
|
|
49
|
+
* AuthContext can re-render as much as it likes — the engine lifecycle is fully
|
|
50
|
+
* decoupled from React's render cycle. Only the explicit `deps` (true restart triggers
|
|
51
|
+
* like a room id or game mode) re-create the engine.
|
|
52
|
+
*
|
|
53
|
+
* Notes:
|
|
54
|
+
* - **Canvas sizing / DPR is game-specific** and intentionally NOT handled here. Call
|
|
55
|
+
* `resizeCanvasToDisplaySize(canvas)` (from `cursedbelt/game`) in your render loop.
|
|
56
|
+
* - **Page Visibility**: the hook calls `handle.pause?()` on hide and `handle.resume?()`
|
|
57
|
+
* on show. Cancel your rAF in `pause` and restart it in `resume`; pair with
|
|
58
|
+
* `createFixedTimestep`'s `maxCatchup` guard so the post-resume delta can't spiral.
|
|
59
|
+
*
|
|
60
|
+
* @param factory Stable engine constructor (module-level or `useCallback`).
|
|
61
|
+
* @param deps True restart triggers (keep small + stable). Default `[]` = mount-once.
|
|
62
|
+
*/
|
|
63
|
+
export declare function useGameEngine<THandle extends GameHandle>(factory: GameFactory<THandle>, deps?: DependencyList): UseGameEngineResult<THandle>;
|
|
64
|
+
//# sourceMappingURL=useGameEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGameEngine.d.ts","sourceRoot":"","sources":["../../../src/game/react/useGameEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,kEAAkE;IAClE,OAAO,IAAI,IAAI,CAAC;IAChB,uFAAuF;IACvF,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,kFAAkF;IAClF,MAAM,CAAC,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,CAAC,OAAO,SAAS,UAAU,IAAI,CACpD,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,eAAe,KACtB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC,MAAM,WAAW,mBAAmB,CAAC,OAAO,SAAS,UAAU;IAC7D,mDAAmD;IACnD,SAAS,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC/C;;;OAGG;IACH,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,CAAC,OAAO,SAAS,UAAU,EACtD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAC7B,IAAI,GAAE,cAAmB,GACxB,mBAAmB,CAAC,OAAO,CAAC,CAmD9B"}
|