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,64 @@
|
|
|
1
|
+
// One-time, idempotent preference migration. The IA overhaul re-groups the old
|
|
2
|
+
// 8-hub layout into 6 domains; this remaps the user's saved nav/hub customizations
|
|
3
|
+
// (order, hidden, per-row colors) onto the new ids so nothing resets. The *mapping*
|
|
4
|
+
// (old key → new domain id) is app-supplied data (only the app knows its old hubs);
|
|
5
|
+
// the runner is the framework's. Idempotent via a version stamp — it runs on every
|
|
6
|
+
// cold load but no-ops once `version` is current, so colors/hidden the user set
|
|
7
|
+
// AFTER migrating are never clobbered.
|
|
8
|
+
/** Bump when the migration logic or the prefs shape changes. */
|
|
9
|
+
export const CURRENT_NAV_PREFS_VERSION = 1;
|
|
10
|
+
const uniq = (xs) => [...new Set(xs)];
|
|
11
|
+
/** Merge two tile-pref blocks (union hidden, concat+dedupe order, later colors win). */
|
|
12
|
+
function mergeTilePrefs(a, b) {
|
|
13
|
+
return {
|
|
14
|
+
order: uniq([...(a?.order ?? []), ...(b.order ?? [])]),
|
|
15
|
+
hidden: uniq([...(a?.hidden ?? []), ...(b.hidden ?? [])]),
|
|
16
|
+
colors: { ...(a?.colors ?? {}), ...(b.colors ?? {}) },
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Migrate legacy nav prefs onto the new model. Idempotent: returns `old` untouched
|
|
21
|
+
* when it's already at {@link CURRENT_NAV_PREFS_VERSION}. Otherwise remaps via
|
|
22
|
+
* `options.keyMap`, drops domain-level keys whose target isn't a real domain in
|
|
23
|
+
* `model`, merges consolidated hubs, and stamps the version.
|
|
24
|
+
*/
|
|
25
|
+
export function migrateNavPreferences(old, model, options = {}) {
|
|
26
|
+
// Already migrated → no-op (don't reset user choices made post-migration).
|
|
27
|
+
if (old && typeof old.version === 'number' && old.version >= CURRENT_NAV_PREFS_VERSION) {
|
|
28
|
+
return old;
|
|
29
|
+
}
|
|
30
|
+
const keyMap = options.keyMap ?? {};
|
|
31
|
+
const remap = (k) => keyMap[k] ?? k;
|
|
32
|
+
const domainIds = new Set((model?.domains ?? []).map((d) => d.id));
|
|
33
|
+
const legacy = (old ?? {});
|
|
34
|
+
// Domain order: remap each old route id → domain id, dedupe, keep only real domains.
|
|
35
|
+
const order = uniq((legacy.nav?.order ?? []).map(remap)).filter((id) => domainIds.has(id));
|
|
36
|
+
// Hidden domains: remap, dedupe, keep only real domains.
|
|
37
|
+
const hidden = uniq((legacy.hiddenNavRoutes ?? []).map(remap)).filter((id) => domainIds.has(id));
|
|
38
|
+
// Domain colors: remap keys, keep only real domains (last write wins on collision).
|
|
39
|
+
const colors = {};
|
|
40
|
+
for (const [k, v] of Object.entries(legacy.nav?.colors ?? {})) {
|
|
41
|
+
const id = remap(k);
|
|
42
|
+
if (domainIds.has(id))
|
|
43
|
+
colors[id] = v;
|
|
44
|
+
}
|
|
45
|
+
// Hub tile prefs: remap hub key → domain id, merging when two hubs consolidate.
|
|
46
|
+
const hubs = {};
|
|
47
|
+
for (const [oldHub, prefs] of Object.entries(legacy.hubs ?? {})) {
|
|
48
|
+
const id = remap(oldHub);
|
|
49
|
+
if (!domainIds.has(id))
|
|
50
|
+
continue; // a hub with no surviving domain home is dropped
|
|
51
|
+
hubs[id] = mergeTilePrefs(hubs[id], prefs);
|
|
52
|
+
}
|
|
53
|
+
const result = { version: CURRENT_NAV_PREFS_VERSION };
|
|
54
|
+
if (order.length)
|
|
55
|
+
result.order = order;
|
|
56
|
+
if (hidden.length)
|
|
57
|
+
result.hidden = hidden;
|
|
58
|
+
if (Object.keys(colors).length)
|
|
59
|
+
result.colors = colors;
|
|
60
|
+
if (Object.keys(hubs).length)
|
|
61
|
+
result.hubs = hubs;
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=migrateNavPreferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrateNavPreferences.js","sourceRoot":"","sources":["../../../src/core/navigation/migrateNavPreferences.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Visibility / eligibility gate carried by a domain or item. The model only stores
|
|
3
|
+
* the *flags*; the consuming app injects a {@link GateFn} that decides what they
|
|
4
|
+
* mean (is the user authed, do they hold the role, is the GET-only "ctgr" mode on).
|
|
5
|
+
* Gates are inherited: an item inside a gated-out domain never surfaces.
|
|
6
|
+
*/
|
|
7
|
+
export interface NavGate {
|
|
8
|
+
/** Only visible when signed in. */
|
|
9
|
+
requiresAuth?: boolean;
|
|
10
|
+
/** Only visible when signed out (public/marketing routes). */
|
|
11
|
+
requiresNoAuth?: boolean;
|
|
12
|
+
/** Visible only to users holding ONE of these roles (e.g. `['admin','owner']`). */
|
|
13
|
+
requiredRoles?: string[];
|
|
14
|
+
/** Hidden while the GET-only ("ctgr") session mode is active (write-heavy tools). */
|
|
15
|
+
hiddenInCtgr?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A navigable leaf. `path` references a route (a `routeMeta` path in ca); use a
|
|
19
|
+
* `#tab=…` suffix for an in-page tab target (`/tools#tab=curl`) — the selectors
|
|
20
|
+
* strip the hash for route matching but keep it for navigation.
|
|
21
|
+
*/
|
|
22
|
+
export interface NavItem {
|
|
23
|
+
/** Stable unique key — the React key AND the key prefs (order/hide/color) store by. */
|
|
24
|
+
id: string;
|
|
25
|
+
/** Route destination. `#tab=…` addresses an in-page tab. */
|
|
26
|
+
path: string;
|
|
27
|
+
/** Display label (side nav row, hub tile title, breadcrumb leaf, search hit). */
|
|
28
|
+
label: string;
|
|
29
|
+
/** Icon *name* from the app's icon set (resolved to a node by the React layer). */
|
|
30
|
+
icon?: string;
|
|
31
|
+
/** Short description — hub-tile subtitle + search snippet. */
|
|
32
|
+
description?: string;
|
|
33
|
+
/** Auth / role / ctgr gate (see {@link NavGate}). */
|
|
34
|
+
gate?: NavGate;
|
|
35
|
+
/**
|
|
36
|
+
* Registered for coverage + deep-link reachability, but **never surfaced** in the
|
|
37
|
+
* side nav, hub tiles, search, or palette. For routes reachable only by a shared
|
|
38
|
+
* link, a notification, or a WS invite (Shared Space, `/watch/:type/:id`, auth
|
|
39
|
+
* routes, `/set-initial-password`, admin deep-links). Use deliberately — it is not
|
|
40
|
+
* a way to dodge the coverage test for a real, discoverable feature.
|
|
41
|
+
*/
|
|
42
|
+
deepLinkOnly?: true;
|
|
43
|
+
/** Extra match terms for search / palette (synonyms, old names, abbreviations). */
|
|
44
|
+
keywords?: string[];
|
|
45
|
+
}
|
|
46
|
+
/** A labeled cluster of items inside a domain (a sub-section of a hub landing). */
|
|
47
|
+
export interface NavGroup {
|
|
48
|
+
/** Stable unique key (within the model). */
|
|
49
|
+
id: string;
|
|
50
|
+
/** Section heading shown on the hub landing; omit-able visually when there's one. */
|
|
51
|
+
label: string;
|
|
52
|
+
items: NavItem[];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* A top-level **place** — the browsable backbone (the UX north-star's small fixed
|
|
56
|
+
* place-set: Today / Library / People / Calendar / Play + a role-gated Operate; see
|
|
57
|
+
* `react/components/SHELL.md`). It is itself navigable (its `path` is the place
|
|
58
|
+
* landing) and owns the groups of items shown there. The shell renders these as the
|
|
59
|
+
* slim desktop place rail (`SideNav`) and the mobile capture-forward `PlaceBar`.
|
|
60
|
+
*/
|
|
61
|
+
export interface NavDomain {
|
|
62
|
+
/** Stable unique key — prefs (order/hide/color) for the side-nav rail store by it. */
|
|
63
|
+
id: string;
|
|
64
|
+
/** Display label (side-nav row + hub landing title + breadcrumb root). */
|
|
65
|
+
label: string;
|
|
66
|
+
/** Icon *name* (required — domains always show an icon in the rail). */
|
|
67
|
+
icon: string;
|
|
68
|
+
/** The hub landing page path. */
|
|
69
|
+
path: string;
|
|
70
|
+
/** Domain-wide gate — inherited by every group/item under it. */
|
|
71
|
+
gate?: NavGate;
|
|
72
|
+
groups: NavGroup[];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* The complete IA tree. `domains` are the browsable backbone; `ungrouped` items are
|
|
76
|
+
* registered + searchable (and reachable by palette) but live under no domain hub —
|
|
77
|
+
* use it for cross-cutting destinations (Settings, Profile) or for `deepLinkOnly`
|
|
78
|
+
* routes that need coverage without a hub home.
|
|
79
|
+
*/
|
|
80
|
+
export interface NavigationModel {
|
|
81
|
+
domains: NavDomain[];
|
|
82
|
+
ungrouped?: NavItem[];
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Injected by the app: decides whether a gated node is visible *right now* (auth
|
|
86
|
+
* state, the user's roles, the ctgr GET-only mode). Pure — the selectors call it for
|
|
87
|
+
* every domain/item, so it must be cheap and side-effect-free. An undefined gate
|
|
88
|
+
* (no restrictions) is always visible.
|
|
89
|
+
*/
|
|
90
|
+
export type GateFn = (gate?: NavGate) => boolean;
|
|
91
|
+
/** The trivial gate — everything is visible. Default for selectors + unguarded apps. */
|
|
92
|
+
export declare const allowAllGate: GateFn;
|
|
93
|
+
//# sourceMappingURL=navigationModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigationModel.d.ts","sourceRoot":"","sources":["../../../src/core/navigation/navigationModel.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,mCAAmC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qFAAqF;IACrF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,uFAAuF;IACvF,EAAE,EAAE,MAAM,CAAC;IACX,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,mFAAmF;AACnF,MAAM,WAAW,QAAQ;IACvB,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,sFAAsF;IACtF,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;AAEjD,wFAAwF;AACxF,eAAO,MAAM,YAAY,EAAE,MAAmB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// The single navigation source of truth — a declarative Information-Architecture
|
|
2
|
+
// tree (Domain → Group → Item) every nav surface derives from: the side nav, hub
|
|
3
|
+
// landing tiles, breadcrumbs, the universal-search catalogue, and the command
|
|
4
|
+
// palette. Authoring a feature into the model is the *only* way to surface it, so
|
|
5
|
+
// the historical "four hand-maintained lists drift out of sync → features get
|
|
6
|
+
// buried" bug is structurally impossible (the coverage test enforces it in CI).
|
|
7
|
+
//
|
|
8
|
+
// This module is **React-free and routing-free** (it ships from `cursedbelt/nav`):
|
|
9
|
+
// items carry icon *names* (strings) and *paths* (strings), never components or
|
|
10
|
+
// `<Link>`s, so the same model is consumed by client components, server tests, and
|
|
11
|
+
// the coverage test alike. The React layer (`cursedbelt/react`) resolves icon names
|
|
12
|
+
// to nodes and paths to navigation.
|
|
13
|
+
/** The trivial gate — everything is visible. Default for selectors + unguarded apps. */
|
|
14
|
+
export const allowAllGate = () => true;
|
|
15
|
+
//# sourceMappingURL=navigationModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigationModel.js","sourceRoot":"","sources":["../../../src/core/navigation/navigationModel.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,iFAAiF;AACjF,8EAA8E;AAC9E,kFAAkF;AAClF,8EAA8E;AAC9E,gFAAgF;AAChF,EAAE;AACF,mFAAmF;AACnF,gFAAgF;AAChF,mFAAmF;AACnF,oFAAoF;AACpF,oCAAoC;AAkGpC,wFAAwF;AACxF,MAAM,CAAC,MAAM,YAAY,GAAW,GAAG,EAAE,CAAC,IAAI,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type GateFn, type NavDomain, type NavGroup, type NavItem, type NavigationModel } from './navigationModel';
|
|
2
|
+
/**
|
|
3
|
+
* Normalize a path for route *matching* — drop the query string, the hash (the
|
|
4
|
+
* `#tab=…` in-page target), and a trailing slash. `'/'` stays `'/'`. Used so a tab
|
|
5
|
+
* variant (`/tools#tab=curl`) matches the base route (`/tools`) and `/lists/`
|
|
6
|
+
* matches `/lists`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function normalizeNavPath(path: string): string;
|
|
9
|
+
/** A flattened, gated catalogue entry — a leaf plus where it lives (for grouping). */
|
|
10
|
+
export interface SearchCatalogueEntry extends NavItem {
|
|
11
|
+
/** Owning domain id (absent for ungrouped items). */
|
|
12
|
+
domainId?: string;
|
|
13
|
+
/** Owning domain label — groups search results + is itself matched. */
|
|
14
|
+
domainLabel?: string;
|
|
15
|
+
/** Owning group id (absent for domain landings + ungrouped items). */
|
|
16
|
+
groupId?: string;
|
|
17
|
+
/** Owning group label. */
|
|
18
|
+
groupLabel?: string;
|
|
19
|
+
}
|
|
20
|
+
/** One link in a breadcrumb trail — a coerced domain or item (always navigable). */
|
|
21
|
+
export interface NavCrumb {
|
|
22
|
+
id: string;
|
|
23
|
+
label: string;
|
|
24
|
+
path: string;
|
|
25
|
+
icon?: string;
|
|
26
|
+
}
|
|
27
|
+
/** The ordered domains visible under `gate` — the side-nav rail backbone. */
|
|
28
|
+
export declare function deriveSideNavDomains(model: NavigationModel, gate?: GateFn): NavDomain[];
|
|
29
|
+
/**
|
|
30
|
+
* Every visible (gated, non-`deepLinkOnly`) item of `domain`, flattened across its
|
|
31
|
+
* groups — for a simple HubTileGrid. Returns `[]` if the domain itself is gated out.
|
|
32
|
+
*/
|
|
33
|
+
export declare function deriveDomainItems(domain: NavDomain, gate?: GateFn): NavItem[];
|
|
34
|
+
/**
|
|
35
|
+
* The visible groups of `domain` (each with its visible items; empty groups
|
|
36
|
+
* dropped) — for a *grouped* hub landing that shows section headings. Returns `[]`
|
|
37
|
+
* if the domain is gated out.
|
|
38
|
+
*/
|
|
39
|
+
export declare function deriveDomainGroups(domain: NavDomain, gate?: GateFn): NavGroup[];
|
|
40
|
+
/** Look up a domain by id (gated). */
|
|
41
|
+
export declare function deriveDomain(model: NavigationModel, domainId: string, gate?: GateFn): NavDomain | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* The ancestor chain for `path` — for Breadcrumbs. A domain landing yields
|
|
44
|
+
* `[domain]`; an item yields `[domain, item]`; an ungrouped item yields `[item]`.
|
|
45
|
+
* Matches the raw path first (so a `#tab=…` variant resolves to its own leaf), then
|
|
46
|
+
* falls back to the normalized base path. Returns `[]` when nothing matches.
|
|
47
|
+
*/
|
|
48
|
+
export declare function deriveBreadcrumbTrail(model: NavigationModel, path: string, gate?: GateFn): NavCrumb[];
|
|
49
|
+
/**
|
|
50
|
+
* The flat list of searchable destinations — every visible (gated,
|
|
51
|
+
* non-`deepLinkOnly`) domain landing + item, each tagged with its domain/group so
|
|
52
|
+
* results can be grouped. Drives HeaderSearch's instant pages layer *and* the
|
|
53
|
+
* command palette; replaces every hand-listed search catalogue (so a feature is
|
|
54
|
+
* findable the moment it's registered).
|
|
55
|
+
*/
|
|
56
|
+
export declare function deriveSearchCatalogue(model: NavigationModel, gate?: GateFn): SearchCatalogueEntry[];
|
|
57
|
+
/**
|
|
58
|
+
* Every path registered in the model (domain landings + all items + ungrouped),
|
|
59
|
+
* INCLUDING `deepLinkOnly` items — that's the point: a `deepLinkOnly` route is still
|
|
60
|
+
* "registered", so it satisfies coverage. De-duplicated. Consumed by the coverage
|
|
61
|
+
* test ({@link createCoverageTest}).
|
|
62
|
+
*/
|
|
63
|
+
export declare function deriveAllPaths(model: NavigationModel): string[];
|
|
64
|
+
//# sourceMappingURL=navigationSelectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigationSelectors.d.ts","sourceRoot":"","sources":["../../../src/core/navigation/navigationSelectors.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,sFAAsF;AACtF,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,oFAAoF;AACpF,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAeD,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,IAAI,GAAE,MAAqB,GAC1B,SAAS,EAAE,CAEb;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,GAAE,MAAqB,GAAG,OAAO,EAAE,CAG3F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,GAAE,MAAqB,GAAG,QAAQ,EAAE,CAK7F;AAED,sCAAsC;AACtC,wBAAgB,YAAY,CAC1B,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAqB,GAC1B,SAAS,GAAG,SAAS,CAGvB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAqB,GAC1B,QAAQ,EAAE,CA8BZ;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,IAAI,GAAE,MAAqB,GAC1B,oBAAoB,EAAE,CA8BxB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,EAAE,CAQ/D"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
// Pure derivations off the {@link NavigationModel}. Every nav surface (side nav,
|
|
2
|
+
// hub tiles, breadcrumbs, search catalogue, palette, the coverage test) reads the
|
|
3
|
+
// model exclusively through these — there is no second list to keep in sync. They
|
|
4
|
+
// import nothing from React, so they run identically in the client, in a server
|
|
5
|
+
// test, and in the CI coverage check.
|
|
6
|
+
import { allowAllGate, } from './navigationModel';
|
|
7
|
+
/**
|
|
8
|
+
* Normalize a path for route *matching* — drop the query string, the hash (the
|
|
9
|
+
* `#tab=…` in-page target), and a trailing slash. `'/'` stays `'/'`. Used so a tab
|
|
10
|
+
* variant (`/tools#tab=curl`) matches the base route (`/tools`) and `/lists/`
|
|
11
|
+
* matches `/lists`.
|
|
12
|
+
*/
|
|
13
|
+
export function normalizeNavPath(path) {
|
|
14
|
+
// Null-safe: a nav selector must never throw (a breadcrumb derivation crashing
|
|
15
|
+
// white-screens the whole page). Coerce a missing/non-string path to ''.
|
|
16
|
+
const s = typeof path === 'string' ? path : '';
|
|
17
|
+
let p = (s.split('#')[0] ?? '').split('?')[0]?.trim() ?? '';
|
|
18
|
+
if (p.length > 1 && p.endsWith('/'))
|
|
19
|
+
p = p.slice(0, -1);
|
|
20
|
+
return p || '/';
|
|
21
|
+
}
|
|
22
|
+
const domainCrumb = (d) => ({
|
|
23
|
+
id: d.id,
|
|
24
|
+
label: d.label,
|
|
25
|
+
path: d.path,
|
|
26
|
+
icon: d.icon,
|
|
27
|
+
});
|
|
28
|
+
const itemCrumb = (it) => ({
|
|
29
|
+
id: it.id,
|
|
30
|
+
label: it.label,
|
|
31
|
+
path: it.path,
|
|
32
|
+
icon: it.icon,
|
|
33
|
+
});
|
|
34
|
+
/** The ordered domains visible under `gate` — the side-nav rail backbone. */
|
|
35
|
+
export function deriveSideNavDomains(model, gate = allowAllGate) {
|
|
36
|
+
return (model?.domains ?? []).filter((d) => gate(d.gate));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Every visible (gated, non-`deepLinkOnly`) item of `domain`, flattened across its
|
|
40
|
+
* groups — for a simple HubTileGrid. Returns `[]` if the domain itself is gated out.
|
|
41
|
+
*/
|
|
42
|
+
export function deriveDomainItems(domain, gate = allowAllGate) {
|
|
43
|
+
if (!gate(domain.gate))
|
|
44
|
+
return [];
|
|
45
|
+
return domain.groups.flatMap((g) => g.items).filter((it) => !it.deepLinkOnly && gate(it.gate));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The visible groups of `domain` (each with its visible items; empty groups
|
|
49
|
+
* dropped) — for a *grouped* hub landing that shows section headings. Returns `[]`
|
|
50
|
+
* if the domain is gated out.
|
|
51
|
+
*/
|
|
52
|
+
export function deriveDomainGroups(domain, gate = allowAllGate) {
|
|
53
|
+
if (!gate(domain.gate))
|
|
54
|
+
return [];
|
|
55
|
+
return domain.groups
|
|
56
|
+
.map((g) => ({ ...g, items: g.items.filter((it) => !it.deepLinkOnly && gate(it.gate)) }))
|
|
57
|
+
.filter((g) => g.items.length > 0);
|
|
58
|
+
}
|
|
59
|
+
/** Look up a domain by id (gated). */
|
|
60
|
+
export function deriveDomain(model, domainId, gate = allowAllGate) {
|
|
61
|
+
const d = (model?.domains ?? []).find((x) => x.id === domainId);
|
|
62
|
+
return d && gate(d.gate) ? d : undefined;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The ancestor chain for `path` — for Breadcrumbs. A domain landing yields
|
|
66
|
+
* `[domain]`; an item yields `[domain, item]`; an ungrouped item yields `[item]`.
|
|
67
|
+
* Matches the raw path first (so a `#tab=…` variant resolves to its own leaf), then
|
|
68
|
+
* falls back to the normalized base path. Returns `[]` when nothing matches.
|
|
69
|
+
*/
|
|
70
|
+
export function deriveBreadcrumbTrail(model, path, gate = allowAllGate) {
|
|
71
|
+
// Null-safe (see normalizeNavPath): a consumer that hasn't wired the model/path yet
|
|
72
|
+
// must get an empty trail, never a crash — a breadcrumb derivation throwing
|
|
73
|
+
// white-screens the whole page. Degrade gracefully on a missing model or path.
|
|
74
|
+
if (!model || !Array.isArray(model?.domains ?? []))
|
|
75
|
+
return [];
|
|
76
|
+
const safe = typeof path === 'string' ? path : '';
|
|
77
|
+
const raw = safe.trim();
|
|
78
|
+
const target = normalizeNavPath(safe);
|
|
79
|
+
// Two passes so an EXACT path wins over a merely-normalized one: `/tools#tab=curl`
|
|
80
|
+
// must resolve to the Curl tab leaf, not be shadowed by the `/tools` domain landing
|
|
81
|
+
// (which also normalizes to `/tools`). Within a pass, the domain landing is checked
|
|
82
|
+
// before its items so the bare `/tools` route yields `[Tools]`, not a tab leaf.
|
|
83
|
+
const find = (match) => {
|
|
84
|
+
for (const domain of model?.domains ?? []) {
|
|
85
|
+
if (!gate(domain.gate))
|
|
86
|
+
continue;
|
|
87
|
+
if (match(domain.path))
|
|
88
|
+
return [domainCrumb(domain)];
|
|
89
|
+
for (const group of domain.groups) {
|
|
90
|
+
for (const item of group.items) {
|
|
91
|
+
if (gate(item.gate) && match(item.path))
|
|
92
|
+
return [domainCrumb(domain), itemCrumb(item)];
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
for (const item of model.ungrouped ?? []) {
|
|
97
|
+
if (gate(item.gate) && match(item.path))
|
|
98
|
+
return [itemCrumb(item)];
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
};
|
|
102
|
+
return find((p) => p === raw) ?? find((p) => normalizeNavPath(p) === target) ?? [];
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The flat list of searchable destinations — every visible (gated,
|
|
106
|
+
* non-`deepLinkOnly`) domain landing + item, each tagged with its domain/group so
|
|
107
|
+
* results can be grouped. Drives HeaderSearch's instant pages layer *and* the
|
|
108
|
+
* command palette; replaces every hand-listed search catalogue (so a feature is
|
|
109
|
+
* findable the moment it's registered).
|
|
110
|
+
*/
|
|
111
|
+
export function deriveSearchCatalogue(model, gate = allowAllGate) {
|
|
112
|
+
const out = [];
|
|
113
|
+
for (const domain of model?.domains ?? []) {
|
|
114
|
+
if (!gate(domain.gate))
|
|
115
|
+
continue;
|
|
116
|
+
out.push({
|
|
117
|
+
id: domain.id,
|
|
118
|
+
path: domain.path,
|
|
119
|
+
label: domain.label,
|
|
120
|
+
icon: domain.icon,
|
|
121
|
+
domainId: domain.id,
|
|
122
|
+
domainLabel: domain.label,
|
|
123
|
+
});
|
|
124
|
+
for (const group of domain.groups) {
|
|
125
|
+
for (const item of group.items) {
|
|
126
|
+
if (item.deepLinkOnly || !gate(item.gate))
|
|
127
|
+
continue;
|
|
128
|
+
out.push({
|
|
129
|
+
...item,
|
|
130
|
+
domainId: domain.id,
|
|
131
|
+
domainLabel: domain.label,
|
|
132
|
+
groupId: group.id,
|
|
133
|
+
groupLabel: group.label,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
for (const item of model.ungrouped ?? []) {
|
|
139
|
+
if (item.deepLinkOnly || !gate(item.gate))
|
|
140
|
+
continue;
|
|
141
|
+
out.push({ ...item });
|
|
142
|
+
}
|
|
143
|
+
return out;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Every path registered in the model (domain landings + all items + ungrouped),
|
|
147
|
+
* INCLUDING `deepLinkOnly` items — that's the point: a `deepLinkOnly` route is still
|
|
148
|
+
* "registered", so it satisfies coverage. De-duplicated. Consumed by the coverage
|
|
149
|
+
* test ({@link createCoverageTest}).
|
|
150
|
+
*/
|
|
151
|
+
export function deriveAllPaths(model) {
|
|
152
|
+
const paths = new Set();
|
|
153
|
+
for (const domain of model?.domains ?? []) {
|
|
154
|
+
paths.add(domain.path);
|
|
155
|
+
for (const group of domain.groups)
|
|
156
|
+
for (const item of group.items)
|
|
157
|
+
paths.add(item.path);
|
|
158
|
+
}
|
|
159
|
+
for (const item of model.ungrouped ?? [])
|
|
160
|
+
paths.add(item.path);
|
|
161
|
+
return [...paths];
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=navigationSelectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigationSelectors.js","sourceRoot":"","sources":["../../../src/core/navigation/navigationSelectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SearchCatalogueEntry } from './navigationSelectors';
|
|
2
|
+
/** A query hit with its computed relevance score (higher = better). */
|
|
3
|
+
export interface CatalogueHit extends SearchCatalogueEntry {
|
|
4
|
+
score: number;
|
|
5
|
+
}
|
|
6
|
+
/** Hits bucketed under a domain (or under "" for ungrouped), preserving rank order. */
|
|
7
|
+
export interface CatalogueResultGroup {
|
|
8
|
+
/** Domain id, or `''` for ungrouped destinations. */
|
|
9
|
+
key: string;
|
|
10
|
+
/** Domain label, or `'Pages'` for ungrouped. */
|
|
11
|
+
label: string;
|
|
12
|
+
items: CatalogueHit[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Filter + rank a catalogue by `query`. Empty/blank query → `[]` (the instant layer
|
|
16
|
+
* shows nothing until the user types). Stable: equal scores keep catalogue order.
|
|
17
|
+
*/
|
|
18
|
+
export declare function rankCatalogue(catalogue: SearchCatalogueEntry[], query: string): CatalogueHit[];
|
|
19
|
+
/**
|
|
20
|
+
* Rank + bucket hits by owning domain (ungrouped under a "Pages" group), capping the
|
|
21
|
+
* total to `limit`. Groups appear in first-hit order; within a group, by rank.
|
|
22
|
+
*/
|
|
23
|
+
export declare function groupCatalogueHits(catalogue: SearchCatalogueEntry[], query: string, limit?: number): CatalogueResultGroup[];
|
|
24
|
+
//# sourceMappingURL=searchCatalogue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchCatalogue.d.ts","sourceRoot":"","sources":["../../../src/core/navigation/searchCatalogue.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,uEAAuE;AACvE,MAAM,WAAW,YAAa,SAAQ,oBAAoB;IACxD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uFAAuF;AACvF,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AA8BD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAW9F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,oBAAoB,EAAE,EACjC,KAAK,EAAE,MAAM,EACb,KAAK,SAAK,GACT,oBAAoB,EAAE,CAaxB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// Pure matcher + grouper for the instant client-side "pages" search layer. Ranks a
|
|
2
|
+
// derived catalogue ({@link deriveSearchCatalogue}) against a query and buckets the
|
|
3
|
+
// hits by their owning domain. Kept pure + framework-free so it's unit-testable and
|
|
4
|
+
// shared by HeaderSearch and (task 14) the command palette. The palette upgrades the
|
|
5
|
+
// *ranking* to uFuzzy; this is the dependency-free baseline both can fall back to.
|
|
6
|
+
const norm = (s) => s.toLowerCase().trim();
|
|
7
|
+
/**
|
|
8
|
+
* Score one entry against a normalized query. Returns `0` for no match. Ranking
|
|
9
|
+
* favours, in order: exact label, label prefix, label word-boundary, label
|
|
10
|
+
* substring, then keyword / group / domain / path / description hits — so "env"
|
|
11
|
+
* surfaces "Env Sets" above a page that merely mentions environments.
|
|
12
|
+
*/
|
|
13
|
+
function scoreEntry(entry, q) {
|
|
14
|
+
const label = norm(entry.label);
|
|
15
|
+
if (label === q)
|
|
16
|
+
return 100;
|
|
17
|
+
if (label.startsWith(q))
|
|
18
|
+
return 80;
|
|
19
|
+
// word-boundary: a query that starts any word in the label ("col" → "Format **Col**…")
|
|
20
|
+
if (label.split(/[\s/&·-]+/).some((w) => w.startsWith(q)))
|
|
21
|
+
return 65;
|
|
22
|
+
if (label.includes(q))
|
|
23
|
+
return 50;
|
|
24
|
+
for (const kw of entry.keywords ?? []) {
|
|
25
|
+
const k = norm(kw);
|
|
26
|
+
if (k === q || k.startsWith(q))
|
|
27
|
+
return 45;
|
|
28
|
+
if (k.includes(q))
|
|
29
|
+
return 35;
|
|
30
|
+
}
|
|
31
|
+
if (entry.groupLabel && norm(entry.groupLabel).includes(q))
|
|
32
|
+
return 25;
|
|
33
|
+
if (entry.domainLabel && norm(entry.domainLabel).includes(q))
|
|
34
|
+
return 20;
|
|
35
|
+
if (norm(entry.path).includes(q))
|
|
36
|
+
return 15;
|
|
37
|
+
if (entry.description && norm(entry.description).includes(q))
|
|
38
|
+
return 10;
|
|
39
|
+
return 0;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Filter + rank a catalogue by `query`. Empty/blank query → `[]` (the instant layer
|
|
43
|
+
* shows nothing until the user types). Stable: equal scores keep catalogue order.
|
|
44
|
+
*/
|
|
45
|
+
export function rankCatalogue(catalogue, query) {
|
|
46
|
+
const q = norm(query);
|
|
47
|
+
if (!q)
|
|
48
|
+
return [];
|
|
49
|
+
const scored = [];
|
|
50
|
+
for (const entry of catalogue) {
|
|
51
|
+
const score = scoreEntry(entry, q);
|
|
52
|
+
if (score > 0)
|
|
53
|
+
scored.push({ ...entry, score });
|
|
54
|
+
}
|
|
55
|
+
// Stable sort by score desc — Array.prototype.sort is stable in modern engines, so
|
|
56
|
+
// equal scores retain catalogue (authoring) order.
|
|
57
|
+
return scored.sort((a, b) => b.score - a.score);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Rank + bucket hits by owning domain (ungrouped under a "Pages" group), capping the
|
|
61
|
+
* total to `limit`. Groups appear in first-hit order; within a group, by rank.
|
|
62
|
+
*/
|
|
63
|
+
export function groupCatalogueHits(catalogue, query, limit = 20) {
|
|
64
|
+
const hits = rankCatalogue(catalogue, query).slice(0, limit);
|
|
65
|
+
const groups = new Map();
|
|
66
|
+
for (const hit of hits) {
|
|
67
|
+
const key = hit.domainId ?? '';
|
|
68
|
+
let bucket = groups.get(key);
|
|
69
|
+
if (!bucket) {
|
|
70
|
+
bucket = { key, label: hit.domainLabel ?? 'Pages', items: [] };
|
|
71
|
+
groups.set(key, bucket);
|
|
72
|
+
}
|
|
73
|
+
bucket.items.push(hit);
|
|
74
|
+
}
|
|
75
|
+
return [...groups.values()];
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=searchCatalogue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchCatalogue.js","sourceRoot":"","sources":["../../../src/core/navigation/searchCatalogue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** A registered keyboard shortcut — its binding plus how it reads in the palette. */
|
|
2
|
+
export interface ShortcutEntry {
|
|
3
|
+
/** Short name of the thing it acts on (e.g. `'Board'`). */
|
|
4
|
+
label: string;
|
|
5
|
+
/** Binding in tinykeys format (`'$mod+k'`, `'alt+b'`) — also the registry key. */
|
|
6
|
+
keys: string;
|
|
7
|
+
/** What the shortcut does, shown as the palette row's description (e.g. `'Open the board'`). */
|
|
8
|
+
action: string;
|
|
9
|
+
}
|
|
10
|
+
type Listener = () => void;
|
|
11
|
+
/**
|
|
12
|
+
* Keyed by `keys`, so registering the same binding twice replaces it (last write wins
|
|
13
|
+
* — no duplicate rows) and a feature can re-register on every mount idempotently.
|
|
14
|
+
*/
|
|
15
|
+
export declare class ShortcutRegistry {
|
|
16
|
+
private entries;
|
|
17
|
+
private listeners;
|
|
18
|
+
private snapshot;
|
|
19
|
+
/** Add or replace the shortcut for `entry.keys`. */
|
|
20
|
+
register(entry: ShortcutEntry): void;
|
|
21
|
+
/** Remove the shortcut bound to `keys` (no-op if absent). */
|
|
22
|
+
unregister(keys: string): void;
|
|
23
|
+
/** Every registered shortcut, in insertion order. Stable until the next mutation. */
|
|
24
|
+
getAll(): ShortcutEntry[];
|
|
25
|
+
/** Subscribe to registry changes (returns an unsubscribe). Powers the live palette list. */
|
|
26
|
+
subscribe(listener: Listener): () => void;
|
|
27
|
+
/** Drop every shortcut (mainly for tests / teardown). */
|
|
28
|
+
clear(): void;
|
|
29
|
+
private commit;
|
|
30
|
+
}
|
|
31
|
+
/** The app-wide shortcut registry singleton. */
|
|
32
|
+
export declare const shortcutRegistry: ShortcutRegistry;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=ShortcutRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShortcutRegistry.d.ts","sourceRoot":"","sources":["../../../src/core/palette/ShortcutRegistry.ts"],"names":[],"mappings":"AASA,qFAAqF;AACrF,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,QAAQ,CAAuB;IAEvC,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKpC,6DAA6D;IAC7D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,qFAAqF;IACrF,MAAM,IAAI,aAAa,EAAE;IAIzB,4FAA4F;IAC5F,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI;IAKzC,yDAAyD;IACzD,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,MAAM;CAIf;AAED,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// A tiny global registry of the app's keyboard shortcuts — the single source of truth
|
|
2
|
+
// that BOTH the keybinding layer (`useHotkeys`) and the command palette read from. An
|
|
3
|
+
// app registers a shortcut once; the palette can then list "Board → ⌥B" in its
|
|
4
|
+
// cold-state reference without the binding and its documentation drifting apart.
|
|
5
|
+
//
|
|
6
|
+
// Register in a mount effect (never at module load) so the palette's list reflects the
|
|
7
|
+
// shortcuts actually wired up for the current screen; the registry notifies subscribers
|
|
8
|
+
// on every change so a mounted palette stays live as shortcuts come and go.
|
|
9
|
+
/**
|
|
10
|
+
* Keyed by `keys`, so registering the same binding twice replaces it (last write wins
|
|
11
|
+
* — no duplicate rows) and a feature can re-register on every mount idempotently.
|
|
12
|
+
*/
|
|
13
|
+
export class ShortcutRegistry {
|
|
14
|
+
entries = new Map();
|
|
15
|
+
listeners = new Set();
|
|
16
|
+
// A frozen snapshot, rebuilt only on mutation, so `getAll()` is referentially stable
|
|
17
|
+
// between changes — required for `useSyncExternalStore` to not loop.
|
|
18
|
+
snapshot = [];
|
|
19
|
+
/** Add or replace the shortcut for `entry.keys`. */
|
|
20
|
+
register(entry) {
|
|
21
|
+
this.entries.set(entry.keys, entry);
|
|
22
|
+
this.commit();
|
|
23
|
+
}
|
|
24
|
+
/** Remove the shortcut bound to `keys` (no-op if absent). */
|
|
25
|
+
unregister(keys) {
|
|
26
|
+
if (this.entries.delete(keys))
|
|
27
|
+
this.commit();
|
|
28
|
+
}
|
|
29
|
+
/** Every registered shortcut, in insertion order. Stable until the next mutation. */
|
|
30
|
+
getAll() {
|
|
31
|
+
return this.snapshot;
|
|
32
|
+
}
|
|
33
|
+
/** Subscribe to registry changes (returns an unsubscribe). Powers the live palette list. */
|
|
34
|
+
subscribe(listener) {
|
|
35
|
+
this.listeners.add(listener);
|
|
36
|
+
return () => this.listeners.delete(listener);
|
|
37
|
+
}
|
|
38
|
+
/** Drop every shortcut (mainly for tests / teardown). */
|
|
39
|
+
clear() {
|
|
40
|
+
if (this.entries.size === 0)
|
|
41
|
+
return;
|
|
42
|
+
this.entries.clear();
|
|
43
|
+
this.commit();
|
|
44
|
+
}
|
|
45
|
+
commit() {
|
|
46
|
+
this.snapshot = [...this.entries.values()];
|
|
47
|
+
for (const listener of this.listeners)
|
|
48
|
+
listener();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** The app-wide shortcut registry singleton. */
|
|
52
|
+
export const shortcutRegistry = new ShortcutRegistry();
|
|
53
|
+
//# sourceMappingURL=ShortcutRegistry.js.map
|