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,36 @@
|
|
|
1
|
+
import { type GateFn, type NavigationModel } from '../../core/navigation';
|
|
2
|
+
import { type NavNavigationProps } from './navShared';
|
|
3
|
+
export interface PlaceBarProps extends NavNavigationProps {
|
|
4
|
+
/** The navigation model — the small fixed *place-set* is `model.domains`. */
|
|
5
|
+
model: NavigationModel;
|
|
6
|
+
/** Visibility gate (auth/role/ctgr). Default: everything visible. */
|
|
7
|
+
gate?: GateFn;
|
|
8
|
+
/** Current route — the active place lights up. */
|
|
9
|
+
activeHref?: string;
|
|
10
|
+
/** Dynamic per-place badge (unread dot), keyed by domain id. */
|
|
11
|
+
badges?: Record<string, number | string>;
|
|
12
|
+
/**
|
|
13
|
+
* Universal capture — the raised centre FAB. Capture-forward is the whole point of
|
|
14
|
+
* the mobile shell (§7): speaking/typing a capture beats hunting a hamburger. Omit
|
|
15
|
+
* to render the place-set without a FAB.
|
|
16
|
+
*/
|
|
17
|
+
onCapture?: () => void;
|
|
18
|
+
/** Accessible label for the capture FAB. Default `'Capture'`. */
|
|
19
|
+
captureLabel?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Max places shown in the thumb zone (the rest stay reachable via the command
|
|
22
|
+
* spine). The spatial floor is deliberately small (§6). Default `5`.
|
|
23
|
+
*/
|
|
24
|
+
max?: number;
|
|
25
|
+
className?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The mobile **capture-forward bottom bar** — the reimagined phone home (UX north-star
|
|
29
|
+
* §7), replacing the old hamburger → `translate-x` drawer. The small fixed place-set
|
|
30
|
+
* rides the thumb zone, split around a **raised centre capture FAB**, so the two most
|
|
31
|
+
* frequent phone actions (go to a place / capture a thought) are both one thumb-tap —
|
|
32
|
+
* never hidden behind a menu. Renders from the one `navigationModel` registry, so it
|
|
33
|
+
* can never drift from the desktop rail or the search catalogue.
|
|
34
|
+
*/
|
|
35
|
+
export declare function PlaceBar({ model, gate, activeHref, badges, onCapture, captureLabel, max, linkComponent, onNavigate, onAfterNavigate, resolveIcon, className, }: PlaceBarProps): import("react").JSX.Element;
|
|
36
|
+
//# sourceMappingURL=PlaceBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaceBar.d.ts","sourceRoot":"","sources":["../../../src/react/nav/PlaceBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,MAAM,EAEX,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAyB,KAAK,kBAAkB,EAAyB,MAAM,aAAa,CAAC;AAEpG,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACvD,6EAA6E;IAC7E,KAAK,EAAE,eAAe,CAAC;IACvB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACzC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAmB,EACnB,UAAU,EACV,MAAM,EACN,SAAS,EACT,YAAwB,EACxB,GAAO,EACP,aAAa,EACb,UAAU,EACV,eAAe,EACf,WAAW,EACX,SAAS,GACV,EAAE,aAAa,+BA0Cf"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Plus } from 'lucide-react';
|
|
3
|
+
import { allowAllGate, deriveSideNavDomains, } from '../../core/navigation';
|
|
4
|
+
import { cn } from '../lib/cn';
|
|
5
|
+
import { isPathWithin, NavLink, navAccent, renderIcon } from './navShared';
|
|
6
|
+
/**
|
|
7
|
+
* The mobile **capture-forward bottom bar** — the reimagined phone home (UX north-star
|
|
8
|
+
* §7), replacing the old hamburger → `translate-x` drawer. The small fixed place-set
|
|
9
|
+
* rides the thumb zone, split around a **raised centre capture FAB**, so the two most
|
|
10
|
+
* frequent phone actions (go to a place / capture a thought) are both one thumb-tap —
|
|
11
|
+
* never hidden behind a menu. Renders from the one `navigationModel` registry, so it
|
|
12
|
+
* can never drift from the desktop rail or the search catalogue.
|
|
13
|
+
*/
|
|
14
|
+
export function PlaceBar({ model, gate = allowAllGate, activeHref, badges, onCapture, captureLabel = 'Capture', max = 5, linkComponent, onNavigate, onAfterNavigate, resolveIcon, className, }) {
|
|
15
|
+
const places = deriveSideNavDomains(model, gate).slice(0, Math.max(0, max));
|
|
16
|
+
const navProps = { linkComponent, onNavigate, onAfterNavigate, resolveIcon };
|
|
17
|
+
// Split the place-set so the capture FAB sits dead-centre in the thumb arc.
|
|
18
|
+
const mid = Math.ceil(places.length / 2);
|
|
19
|
+
const left = places.slice(0, mid);
|
|
20
|
+
const right = places.slice(mid);
|
|
21
|
+
const renderPlace = (place) => (_jsx(PlaceTab, { place: place, active: isDomainActive(place, activeHref), badge: badges?.[place.id], ...navProps }, place.id));
|
|
22
|
+
return (_jsxs("nav", { "data-cb-placebar": '', "aria-label": 'Places', className: cn('flex items-stretch justify-around gap-1 px-2 py-1', className), children: [left.map(renderPlace), onCapture && (_jsx("div", { className: 'flex shrink-0 items-center justify-center', children: _jsx("button", { type: 'button', "data-cb-capture": '', "aria-label": captureLabel, onClick: onCapture, className: '-mt-5 grid size-14 place-items-center rounded-full bg-accent-solid text-white shadow-lg transition-colors hover:bg-accent-solid-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-solid focus-visible:ring-offset-2 focus-visible:ring-offset-background', children: _jsx(Plus, { className: 'size-6', "aria-hidden": 'true' }) }) })), right.map(renderPlace)] }));
|
|
23
|
+
}
|
|
24
|
+
/** A place is active when the route is its landing or lives within it (rail-consistent). */
|
|
25
|
+
function isDomainActive(domain, activeHref) {
|
|
26
|
+
if (isPathWithin(domain.path, activeHref))
|
|
27
|
+
return true;
|
|
28
|
+
return domain.groups.some((g) => g.items.some((it) => isPathWithin(it.path, activeHref)));
|
|
29
|
+
}
|
|
30
|
+
function PlaceTab({ place, active, badge, linkComponent, onNavigate, onAfterNavigate, resolveIcon, }) {
|
|
31
|
+
const accent = navAccent(undefined);
|
|
32
|
+
const icon = renderIcon(resolveIcon, place.icon);
|
|
33
|
+
const showBadge = badge != null && badge !== 0;
|
|
34
|
+
return (_jsxs(NavLink, { path: place.path, linkComponent: linkComponent, onNavigate: onNavigate, onAfterNavigate: onAfterNavigate, ariaCurrent: active ? 'page' : undefined, className: cn('relative flex min-w-0 flex-1 flex-col items-center justify-center gap-0.5 rounded-md px-1 py-1.5 text-xs font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring', active ? '' : 'text-muted-foreground hover:bg-muted hover:text-foreground'), style: active ? { color: accent } : undefined, children: [_jsxs("span", { className: 'relative grid size-6 place-items-center [&_svg]:size-5', "aria-hidden": 'true', children: [icon, showBadge && (_jsx("span", { className: 'absolute -right-1.5 -top-1 min-w-3.5 rounded-full bg-destructive px-1 text-[0.625rem] font-bold leading-4 text-destructive-foreground', children: typeof badge === 'number' && badge > 99 ? '99+' : badge }))] }), _jsx("span", { className: 'max-w-full truncate', children: place.label })] }));
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=PlaceBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaceBar.js","sourceRoot":"","sources":["../../../src/react/nav/PlaceBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type NavNavigationProps } from './navShared';
|
|
3
|
+
/** One result hit — a page (from the catalogue) or a content record (from server). */
|
|
4
|
+
export interface SearchResultRow {
|
|
5
|
+
id: string;
|
|
6
|
+
path: string;
|
|
7
|
+
label: string;
|
|
8
|
+
/** Secondary line (e.g. owning domain/group, or a snippet). */
|
|
9
|
+
sub?: string;
|
|
10
|
+
/** Model icon *name* (resolved via `resolveIcon`). */
|
|
11
|
+
icon?: string;
|
|
12
|
+
/** Pre-resolved icon node (server rows that supply their own glyph). */
|
|
13
|
+
iconNode?: ReactNode;
|
|
14
|
+
/** Trailing node (e.g. a type chip / count). */
|
|
15
|
+
badge?: ReactNode;
|
|
16
|
+
}
|
|
17
|
+
/** A labeled bucket of rows (a domain's pages, or a server content type). */
|
|
18
|
+
export interface SearchResultGroup {
|
|
19
|
+
key: string;
|
|
20
|
+
label: string;
|
|
21
|
+
icon?: ReactNode;
|
|
22
|
+
items: SearchResultRow[];
|
|
23
|
+
}
|
|
24
|
+
export interface SearchResultsProps extends NavNavigationProps {
|
|
25
|
+
groups: SearchResultGroup[];
|
|
26
|
+
/** Id of the keyboard-highlighted row (drives `aria-selected` + the active style). */
|
|
27
|
+
activeId?: string;
|
|
28
|
+
/** Prefix for each option's DOM id (so a combobox input can set aria-activedescendant). */
|
|
29
|
+
optionIdPrefix?: string;
|
|
30
|
+
/** Shown when there are no groups/rows. */
|
|
31
|
+
emptyContent?: ReactNode;
|
|
32
|
+
className?: string;
|
|
33
|
+
}
|
|
34
|
+
/** Build the stable DOM id for a row option (shared with the combobox input). */
|
|
35
|
+
export declare const searchOptionId: (prefix: string, rowId: string) => string;
|
|
36
|
+
/**
|
|
37
|
+
* The grouped, keyboard-navigable results panel for {@link HeaderSearch} — sections
|
|
38
|
+
* for instant "Pages" (from the nav catalogue) and any server "Content" groups. Each
|
|
39
|
+
* row navigates via the shared {@link NavLink}; the `activeId` row is visually
|
|
40
|
+
* highlighted + `aria-selected` for arrow-key navigation driven by the search input.
|
|
41
|
+
*/
|
|
42
|
+
export declare function SearchResults({ groups, activeId, optionIdPrefix, emptyContent, linkComponent, onNavigate, onAfterNavigate, resolveIcon, className, }: SearchResultsProps): import("react").JSX.Element | null;
|
|
43
|
+
//# sourceMappingURL=SearchResults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchResults.d.ts","sourceRoot":"","sources":["../../../src/react/nav/SearchResults.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAW,KAAK,kBAAkB,EAAc,MAAM,aAAa,CAAC;AAE3E,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gDAAgD;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iFAAiF;AACjF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,WAA6B,CAAC;AAE1F;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,QAAQ,EACR,cAAyB,EACzB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,eAAe,EACf,WAAW,EACX,SAAS,GACV,EAAE,kBAAkB,sCAwEpB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../lib/cn';
|
|
3
|
+
import { NavLink, renderIcon } from './navShared';
|
|
4
|
+
/** Build the stable DOM id for a row option (shared with the combobox input). */
|
|
5
|
+
export const searchOptionId = (prefix, rowId) => `${prefix}-opt-${rowId}`;
|
|
6
|
+
/**
|
|
7
|
+
* The grouped, keyboard-navigable results panel for {@link HeaderSearch} — sections
|
|
8
|
+
* for instant "Pages" (from the nav catalogue) and any server "Content" groups. Each
|
|
9
|
+
* row navigates via the shared {@link NavLink}; the `activeId` row is visually
|
|
10
|
+
* highlighted + `aria-selected` for arrow-key navigation driven by the search input.
|
|
11
|
+
*/
|
|
12
|
+
export function SearchResults({ groups, activeId, optionIdPrefix = 'search', emptyContent, linkComponent, onNavigate, onAfterNavigate, resolveIcon, className, }) {
|
|
13
|
+
const hasResults = groups.some((g) => g.items.length > 0);
|
|
14
|
+
if (!hasResults) {
|
|
15
|
+
return emptyContent ? (_jsx("div", { className: cn('p-6 text-center', className), children: emptyContent })) : null;
|
|
16
|
+
}
|
|
17
|
+
return (_jsx("div", { className: cn('flex flex-col', className), role: 'listbox', "aria-label": 'Search results', children: groups.map((group) => group.items.length === 0 ? null : (_jsxs("div", { className: 'py-1', children: [_jsxs("p", { className: 'flex items-center gap-1.5 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-muted-foreground', children: [group.icon && _jsx("span", { className: '[&_svg]:size-3.5', children: group.icon }), group.label] }), _jsx("div", { children: group.items.map((row) => {
|
|
18
|
+
const active = row.id === activeId;
|
|
19
|
+
const icon = row.iconNode ?? renderIcon(resolveIcon, row.icon);
|
|
20
|
+
return (_jsx("div", { id: searchOptionId(optionIdPrefix, row.id), role: 'option', "aria-selected": active,
|
|
21
|
+
// Focus stays on the combobox input (aria-activedescendant points
|
|
22
|
+
// here); the option is programmatically focusable, never a Tab stop.
|
|
23
|
+
tabIndex: -1, children: _jsxs(NavLink, { path: row.path, linkComponent: linkComponent, onNavigate: onNavigate, onAfterNavigate: onAfterNavigate, className: cn('flex w-full items-center gap-3 px-3 py-2 text-left text-sm transition-colors', active ? 'bg-muted text-foreground' : 'text-foreground hover:bg-muted'), children: [icon && (_jsx("span", { className: 'grid size-5 shrink-0 place-items-center text-muted-foreground [&_svg]:size-4', "aria-hidden": 'true', children: icon })), _jsxs("span", { className: 'min-w-0 flex-1', children: [_jsx("span", { className: 'block truncate font-medium', children: row.label }), row.sub && (_jsx("span", { className: 'block truncate text-xs text-muted-foreground', children: row.sub }))] }), row.badge != null && (_jsx("span", { className: 'shrink-0 text-xs text-muted-foreground', children: row.badge }))] }) }, row.id));
|
|
24
|
+
}) })] }, group.key))) }));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=SearchResults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchResults.js","sourceRoot":"","sources":["../../../src/react/nav/SearchResults.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type GateFn, type NavigationModel, type NavPreferences } from '../../core/navigation';
|
|
3
|
+
import { type NavNavigationProps } from './navShared';
|
|
4
|
+
export interface SideNavProps extends NavNavigationProps {
|
|
5
|
+
/** The single navigation model — the side-nav rail is `model.domains`. */
|
|
6
|
+
model: NavigationModel;
|
|
7
|
+
/** Current route — a domain lights up when active or an ancestor of the route. */
|
|
8
|
+
activeHref?: string;
|
|
9
|
+
/** Visibility gate (auth/role/ctgr). Default: everything visible. */
|
|
10
|
+
gate?: GateFn;
|
|
11
|
+
/** Per-user customization (order/hide/color). When `onPrefsChange` is set, rows
|
|
12
|
+
* gain a drag handle + a `⋮` menu (hide/recolor) + a restore-hidden control. */
|
|
13
|
+
prefs?: NavPreferences;
|
|
14
|
+
onPrefsChange?: (next: NavPreferences) => void;
|
|
15
|
+
/** Icon-rail mode (icon + tooltip only) — used on narrow desktop. */
|
|
16
|
+
collapsed?: boolean;
|
|
17
|
+
/** Dynamic per-domain badge (unread count, etc.), keyed by domain id. */
|
|
18
|
+
badges?: Record<string, number | string>;
|
|
19
|
+
/** App slot above the list (logo / brand). */
|
|
20
|
+
header?: ReactNode;
|
|
21
|
+
/** App slot below the list (theme toggle / avatar). */
|
|
22
|
+
footer?: ReactNode;
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The side-navigation rail — the browsable backbone, rendered entirely from the
|
|
27
|
+
* {@link NavigationModel}'s domains (never a hand-maintained list). Each row is a
|
|
28
|
+
* navigable domain hub with an active highlight; in `collapsed` mode it's an
|
|
29
|
+
* icon-rail with a tooltip label. When an app wires `onPrefsChange`, rows become
|
|
30
|
+
* drag-reorderable (keyboard + touch via the shared dnd-kit hook) and gain a `⋮`
|
|
31
|
+
* menu to hide or recolor them, with hidden domains restorable from a footer control.
|
|
32
|
+
*
|
|
33
|
+
* Consumed by `AppShell` (which renders it inside the desktop sidebar AND the mobile
|
|
34
|
+
* drawer); also usable standalone.
|
|
35
|
+
*/
|
|
36
|
+
export declare function SideNav({ model, activeHref, gate, linkComponent, onNavigate, onAfterNavigate, resolveIcon, prefs, onPrefsChange, collapsed, badges, header, footer, className, }: SideNavProps): import("react").JSX.Element;
|
|
37
|
+
//# sourceMappingURL=SideNav.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SideNav.d.ts","sourceRoot":"","sources":["../../../src/react/nav/SideNav.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AACjD,OAAO,EAIL,KAAK,MAAM,EAEX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAIL,KAAK,kBAAkB,EAIxB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,YAAa,SAAQ,kBAAkB;IACtD,0EAA0E;IAC1E,KAAK,EAAE,eAAe,CAAC;IACvB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;qFACiF;IACjF,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC/C,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACzC,8CAA8C;IAC9C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,uDAAuD;IACvD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,UAAU,EACV,IAAmB,EACnB,aAAa,EACb,UAAU,EACV,eAAe,EACf,WAAW,EACX,KAAK,EACL,aAAa,EACb,SAAiB,EACjB,MAAM,EACN,MAAM,EACN,MAAM,EACN,SAAS,GACV,EAAE,YAAY,+BA4Fd"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { GripVertical, Plus } from 'lucide-react';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { allowAllGate, CURRENT_NAV_PREFS_VERSION, deriveSideNavDomains, } from '../../core/navigation';
|
|
5
|
+
import { Popover } from '../components/Popover';
|
|
6
|
+
import { Tooltip } from '../components/Tooltip';
|
|
7
|
+
import { useDragReorder } from '../hooks/useDragReorder';
|
|
8
|
+
import { cn } from '../lib/cn';
|
|
9
|
+
import { NavItemMenu } from './NavItemMenu';
|
|
10
|
+
import { isPathWithin, NavLink, navAccent, rankBySavedOrder, renderIcon, } from './navShared';
|
|
11
|
+
/**
|
|
12
|
+
* The side-navigation rail — the browsable backbone, rendered entirely from the
|
|
13
|
+
* {@link NavigationModel}'s domains (never a hand-maintained list). Each row is a
|
|
14
|
+
* navigable domain hub with an active highlight; in `collapsed` mode it's an
|
|
15
|
+
* icon-rail with a tooltip label. When an app wires `onPrefsChange`, rows become
|
|
16
|
+
* drag-reorderable (keyboard + touch via the shared dnd-kit hook) and gain a `⋮`
|
|
17
|
+
* menu to hide or recolor them, with hidden domains restorable from a footer control.
|
|
18
|
+
*
|
|
19
|
+
* Consumed by `AppShell` (which renders it inside the desktop sidebar AND the mobile
|
|
20
|
+
* drawer); also usable standalone.
|
|
21
|
+
*/
|
|
22
|
+
export function SideNav({ model, activeHref, gate = allowAllGate, linkComponent, onNavigate, onAfterNavigate, resolveIcon, prefs, onPrefsChange, collapsed = false, badges, header, footer, className, }) {
|
|
23
|
+
const domains = deriveSideNavDomains(model, gate);
|
|
24
|
+
const hiddenIds = prefs?.hidden ?? [];
|
|
25
|
+
const visible = rankBySavedOrder(domains.filter((d) => !hiddenIds.includes(d.id)), (d) => d.id, prefs?.order);
|
|
26
|
+
const hiddenDomains = domains.filter((d) => hiddenIds.includes(d.id));
|
|
27
|
+
const canCustomize = Boolean(onPrefsChange) && !collapsed;
|
|
28
|
+
const setPref = (patch) => onPrefsChange?.({ version: CURRENT_NAV_PREFS_VERSION, ...prefs, ...patch });
|
|
29
|
+
const reorder = useDragReorder({
|
|
30
|
+
items: visible,
|
|
31
|
+
getKey: (d) => d.id,
|
|
32
|
+
onReorder: (next) => setPref({ order: next.map((d) => d.id) }),
|
|
33
|
+
axis: 'y',
|
|
34
|
+
handle: true,
|
|
35
|
+
disabled: !canCustomize,
|
|
36
|
+
});
|
|
37
|
+
const navProps = { linkComponent, onNavigate, onAfterNavigate, resolveIcon };
|
|
38
|
+
const renderRow = (domain, drag) => (_jsx(DomainRow, { domain: domain, active: isDomainActive(domain, activeHref), color: prefs?.colors?.[domain.id], badge: badges?.[domain.id], collapsed: collapsed, canCustomize: canCustomize, drag: drag, onHide: () => setPref({ hidden: [...hiddenIds, domain.id] }), onColor: (color) => {
|
|
39
|
+
const colors = { ...(prefs?.colors ?? {}) };
|
|
40
|
+
if (color)
|
|
41
|
+
colors[domain.id] = color;
|
|
42
|
+
else
|
|
43
|
+
delete colors[domain.id];
|
|
44
|
+
setPref({ colors });
|
|
45
|
+
}, ...navProps }, domain.id));
|
|
46
|
+
return (_jsxs("nav", { "data-cb-sidenav": '', "aria-label": 'Primary', className: cn('flex h-full flex-col', collapsed ? 'w-16' : 'w-full', className), children: [header && _jsx("div", { className: 'shrink-0 border-b border-border px-3 py-4', children: header }), _jsx("div", { className: 'min-h-0 flex-1 overflow-y-auto p-2', children: canCustomize ? (_jsx(reorder.DragContext, { children: _jsx("ul", { className: 'space-y-0.5', children: visible.map((domain) => (_jsx(reorder.Sortable, { itemKey: domain.id, children: (api) => (_jsx("li", { ref: api.setNodeRef, style: api.style, children: renderRow(domain, api) })) }, domain.id))) }) })) : (_jsx("ul", { className: 'space-y-0.5', children: visible.map((domain) => (_jsx("li", { children: renderRow(domain) }, domain.id))) })) }), (footer || (canCustomize && hiddenDomains.length > 0)) && (_jsxs("div", { className: 'shrink-0 space-y-2 border-t border-border px-3 py-3', children: [canCustomize && hiddenDomains.length > 0 && (_jsx(RestoreHiddenMenu, { domains: hiddenDomains, resolveIcon: resolveIcon, onRestore: (id) => setPref({ hidden: hiddenIds.filter((x) => x !== id) }) })), footer] }))] }));
|
|
47
|
+
}
|
|
48
|
+
/** A domain is active when the route is its landing or lives within it. */
|
|
49
|
+
function isDomainActive(domain, activeHref) {
|
|
50
|
+
if (isPathWithin(domain.path, activeHref))
|
|
51
|
+
return true;
|
|
52
|
+
return domain.groups.some((g) => g.items.some((it) => isPathWithin(it.path, activeHref)));
|
|
53
|
+
}
|
|
54
|
+
function DomainRow({ domain, active, color, badge, collapsed, canCustomize, drag, onHide, onColor, linkComponent, onNavigate, onAfterNavigate, resolveIcon, }) {
|
|
55
|
+
const accent = navAccent(color);
|
|
56
|
+
const icon = renderIcon(resolveIcon, domain.icon);
|
|
57
|
+
const link = (_jsxs(NavLink, { path: domain.path, linkComponent: linkComponent, onNavigate: onNavigate, onAfterNavigate: onAfterNavigate, ariaCurrent: active ? 'page' : undefined, title: collapsed ? domain.label : undefined, className: cn('group/navrow relative flex items-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring', collapsed ? 'size-10 justify-center' : 'w-full gap-3 px-3 py-2', active ? 'bg-muted' : 'text-foreground hover:bg-muted'), style: active ? { color: accent } : undefined, children: [active && !collapsed && (_jsx("span", { "aria-hidden": 'true', className: 'absolute inset-y-1.5 left-0 w-0.5 rounded-full', style: { backgroundColor: accent } })), icon && (_jsx("span", { className: 'grid size-5 shrink-0 place-items-center [&_svg]:size-5', "aria-hidden": 'true', children: icon })), !collapsed && _jsx("span", { className: 'flex-1 truncate text-left', children: domain.label }), !collapsed && badge != null && badge !== 0 && (_jsx("span", { className: 'rounded-full bg-destructive px-1.5 py-0.5 text-xs font-bold text-destructive-foreground', children: typeof badge === 'number' && badge > 99 ? '99+' : badge }))] }));
|
|
58
|
+
// Icon-rail: just the icon link with a portal tooltip carrying the label.
|
|
59
|
+
if (collapsed) {
|
|
60
|
+
return (_jsx(Tooltip, { content: domain.label, side: 'right', mobile: 'off', children: link }));
|
|
61
|
+
}
|
|
62
|
+
// Expanded: the link + (when customizing) a reveal-on-hover drag handle + kebab.
|
|
63
|
+
return (_jsxs("div", { className: 'group/navitem relative flex items-center', children: [_jsx("div", { className: 'min-w-0 flex-1', children: link }), canCustomize && (_jsxs("div", { className: 'absolute right-1 flex items-center gap-0.5 opacity-0 transition-opacity focus-within:opacity-100 group-hover/navitem:opacity-100', children: [_jsx("button", { type: 'button', "aria-label": `Reorder ${domain.label}`, ref: drag?.setActivatorNodeRef, ...drag?.handleProps,
|
|
64
|
+
// tabIndex AFTER the spread so it overrides dnd-kit's tabIndex=0: the grip
|
|
65
|
+
// is a pointer affordance only and must NOT be a Tab stop, so keyboard
|
|
66
|
+
// users tab cleanly through the nav links (a11y gotcha #NavItemMenu).
|
|
67
|
+
tabIndex: -1, className: 'inline-flex size-6 cursor-grab items-center justify-center rounded text-muted-foreground hover:text-foreground', children: _jsx(GripVertical, { className: 'size-4' }) }), _jsx(NavItemMenu, { label: domain.label, color: color, onColor: onColor, onHide: onHide })] }))] }));
|
|
68
|
+
}
|
|
69
|
+
function RestoreHiddenMenu({ domains, resolveIcon, onRestore, }) {
|
|
70
|
+
const [open, setOpen] = useState(false);
|
|
71
|
+
return (_jsx(Popover, { open: open, onOpenChange: setOpen, align: 'start', arrow: false, className: 'w-52', trigger: _jsxs("button", { type: 'button', className: 'flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground', children: [_jsx(Plus, { className: 'size-3.5' }), `Show hidden (${domains.length})`] }), children: _jsx("ul", { className: 'flex flex-col gap-0.5', children: domains.map((d) => (_jsx("li", { children: _jsxs("button", { type: 'button', onClick: () => {
|
|
72
|
+
onRestore(d.id);
|
|
73
|
+
setOpen(false);
|
|
74
|
+
}, className: 'flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-foreground transition-colors hover:bg-muted', children: [renderIcon(resolveIcon, d.icon) && (_jsx("span", { className: 'grid size-4 place-items-center [&_svg]:size-4', "aria-hidden": 'true', children: renderIcon(resolveIcon, d.icon) })), _jsx("span", { className: 'truncate', children: d.label })] }) }, d.id))) }) }));
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=SideNav.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SideNav.js","sourceRoot":"","sources":["../../../src/react/nav/SideNav.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ElementType, type ReactNode } from 'react';
|
|
2
|
+
import { type StyleableProps } from '../styling';
|
|
3
|
+
import type { NavEntry } from './types';
|
|
4
|
+
export type SideNavItemSlot = 'root' | 'link' | 'active' | 'inactive' | 'menuActive' | 'icon' | 'label' | 'trailing' | 'menu';
|
|
5
|
+
export interface SideNavItemProps extends StyleableProps<SideNavItemSlot> {
|
|
6
|
+
entry: NavEntry;
|
|
7
|
+
collapsed?: boolean;
|
|
8
|
+
/** Element/component for the link (default `<a>`; pass a router `Link`). */
|
|
9
|
+
linkComponent?: ElementType;
|
|
10
|
+
/** Fired on activation (e.g. close the mobile drawer). */
|
|
11
|
+
onNavigate?: () => void;
|
|
12
|
+
/** Recolor/hide callbacks — omit both to render the row without a kebab menu. */
|
|
13
|
+
onColor?: (entry: NavEntry, color: string | undefined) => void;
|
|
14
|
+
onHide?: (entry: NavEntry, hidden: boolean) => void;
|
|
15
|
+
/** App-specific actions appended inside the kebab menu. */
|
|
16
|
+
menuExtras?: (entry: NavEntry) => ReactNode;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* One side-nav row: a link (`icon + label`) with an active highlight and an
|
|
20
|
+
* optional accent (a left inset bar + icon tint from `entry.color`). Collapses to
|
|
21
|
+
* an icon rail on desktop. A hover-revealed kebab (sibling of the link, so it
|
|
22
|
+
* never navigates) recolors/hides the row + hosts `menuExtras`. The active-state
|
|
23
|
+
* look is its own slot so each app themes it (emerald, accent, …). While that kebab
|
|
24
|
+
* menu is open the row rings itself and pins the kebab visible, and the popover
|
|
25
|
+
* names the row — so the detached popover is never mistaken for another item's.
|
|
26
|
+
*/
|
|
27
|
+
export declare const SideNavItem: ({ entry, collapsed, linkComponent: Link, onNavigate, onColor, onHide, menuExtras, classNames, styles, unstyled, }: SideNavItemProps) => import("react").JSX.Element;
|
|
28
|
+
//# sourceMappingURL=SideNavItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SideNavItem.d.ts","sourceRoot":"","sources":["../../../src/react/nav/SideNavItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAEvF,OAAO,EAAkC,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,MAAM,GACN,OAAO,GACP,UAAU,GACV,MAAM,CAAC;AAEX,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,eAAe,CAAC;IACvE,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,iFAAiF;IACjF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,2DAA2D;IAC3D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,SAAS,CAAC;CAC7C;AAWD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GAAI,mHAWzB,gBAAgB,gCA6FlB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { REVEAL_ON_HOVER } from '../components/revealOnHover';
|
|
4
|
+
import { cx, resolveClass, resolveStyle } from '../styling';
|
|
5
|
+
import { NavItemMenu } from './NavItemMenu';
|
|
6
|
+
const LINK_BASE = 'flex h-10 items-center gap-3 rounded-lg pl-3 pr-2 text-sm font-medium transition';
|
|
7
|
+
const ACTIVE_DEFAULT = 'bg-gray-100 text-gray-900 dark:bg-gray-800 dark:text-gray-100';
|
|
8
|
+
const INACTIVE_DEFAULT = 'text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-800';
|
|
9
|
+
// While this row's kebab menu is open, ring the row so it's unmistakable which item
|
|
10
|
+
// the (portal-rendered, detached) popover belongs to.
|
|
11
|
+
const MENU_ACTIVE_DEFAULT = 'ring-2 ring-inset ring-gray-300 dark:ring-gray-600';
|
|
12
|
+
/**
|
|
13
|
+
* One side-nav row: a link (`icon + label`) with an active highlight and an
|
|
14
|
+
* optional accent (a left inset bar + icon tint from `entry.color`). Collapses to
|
|
15
|
+
* an icon rail on desktop. A hover-revealed kebab (sibling of the link, so it
|
|
16
|
+
* never navigates) recolors/hides the row + hosts `menuExtras`. The active-state
|
|
17
|
+
* look is its own slot so each app themes it (emerald, accent, …). While that kebab
|
|
18
|
+
* menu is open the row rings itself and pins the kebab visible, and the popover
|
|
19
|
+
* names the row — so the detached popover is never mistaken for another item's.
|
|
20
|
+
*/
|
|
21
|
+
export const SideNavItem = ({ entry, collapsed, linkComponent: Link = 'a', onNavigate, onColor, onHide, menuExtras, classNames, styles, unstyled, }) => {
|
|
22
|
+
const { href, label, icon, active, color, trailing, title } = entry;
|
|
23
|
+
const hasMenu = Boolean(onColor && onHide) && !collapsed;
|
|
24
|
+
const [menuOpen, setMenuOpen] = useState(false);
|
|
25
|
+
const activeClass = resolveClass(ACTIVE_DEFAULT, classNames?.active, unstyled);
|
|
26
|
+
const inactiveClass = resolveClass(INACTIVE_DEFAULT, classNames?.inactive, unstyled);
|
|
27
|
+
const menuActiveClass = resolveClass(MENU_ACTIVE_DEFAULT, classNames?.menuActive, unstyled);
|
|
28
|
+
const linkClass = resolveClass(cx(LINK_BASE, collapsed && 'md:justify-center', hasMenu && 'pr-9', active ? activeClass : inactiveClass, menuOpen && menuActiveClass), classNames?.link, unstyled);
|
|
29
|
+
// Accent bar is structural (inline box-shadow) so it doesn't shift the row.
|
|
30
|
+
const linkStyle = resolveStyle(color && !active ? { boxShadow: `inset 3px 0 0 0 ${color}` } : {}, styles?.link, unstyled);
|
|
31
|
+
const targetProps = Link === 'a' ? { href } : { to: href };
|
|
32
|
+
const iconStyle = color && !active ? { color } : undefined;
|
|
33
|
+
return (_jsxs("div", { className: resolveClass('group relative', classNames?.root, unstyled), children: [_jsxs(Link, { ...targetProps, onClick: onNavigate, title: collapsed ? (title ?? label) : undefined, className: linkClass, style: linkStyle, children: [_jsx("span", { className: resolveClass('shrink-0 text-lg', classNames?.icon, unstyled), style: iconStyle, children: icon }), _jsx("span", { className: resolveClass(cx('grow truncate', collapsed && 'md:hidden'), classNames?.label, unstyled), children: label }), trailing && (_jsx("span", { className: resolveClass(cx('shrink-0', collapsed && 'md:hidden'), classNames?.trailing, unstyled), children: trailing }))] }), hasMenu && (_jsx("span", { className: resolveClass(cx('absolute right-1 top-1/2 -translate-y-1/2', REVEAL_ON_HOVER, 'focus-within:opacity-100',
|
|
34
|
+
// Keep the kebab on-screen while its menu is open (else the hover-reveal
|
|
35
|
+
// fades the very button the popover points back to).
|
|
36
|
+
menuOpen && 'opacity-100'), classNames?.menu, unstyled), children: _jsx(NavItemMenu, { label: label, headerIcon: icon, color: color, onColor: (c) => onColor?.(entry, c), onHide: () => onHide?.(entry, true), onOpenChange: setMenuOpen, children: menuExtras?.(entry) }) }))] }));
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=SideNavItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SideNavItem.js","sourceRoot":"","sources":["../../../src/react/nav/SideNavItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAwD,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,EAAuB,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA4B5C,MAAM,SAAS,GACb,kFAAkF,CAAC;AACrF,MAAM,cAAc,GAAG,+DAA+D,CAAC;AACvF,MAAM,gBAAgB,GACpB,2EAA2E,CAAC;AAC9E,oFAAoF;AACpF,sDAAsD;AACtD,MAAM,mBAAmB,GAAG,oDAAoD,CAAC;AAEjF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,SAAS,EACT,aAAa,EAAE,IAAI,GAAG,GAAG,EACzB,UAAU,EACV,OAAO,EACP,MAAM,EACN,UAAU,EACV,UAAU,EACV,MAAM,EACN,QAAQ,GACS,EAAE,EAAE;IACrB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IACzD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,YAAY,CAAC,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrF,MAAM,eAAe,GAAG,YAAY,CAAC,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC5F,MAAM,SAAS,GAAG,YAAY,CAC5B,EAAE,CACA,SAAS,EACT,SAAS,IAAI,mBAAmB,EAChC,OAAO,IAAI,MAAM,EACjB,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EACpC,QAAQ,IAAI,eAAe,CAC5B,EACD,UAAU,EAAE,IAAI,EAChB,QAAQ,CACT,CAAC;IACF,4EAA4E;IAC5E,MAAM,SAAS,GAAG,YAAY,CAC5B,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,mBAAmB,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EACjE,MAAM,EAAE,IAAI,EACZ,QAAQ,CACT,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,SAAS,GAA8B,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtF,OAAO,CACL,eAAK,SAAS,EAAE,YAAY,CAAC,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,aACxE,MAAC,IAAI,OACC,WAAW,EACf,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/C,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,aAEhB,eACE,SAAS,EAAE,YAAY,CAAC,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,EACvE,KAAK,EAAE,SAAS,YAEf,IAAI,GACA,EACP,eACE,SAAS,EAAE,YAAY,CACrB,EAAE,CAAC,eAAe,EAAE,SAAS,IAAI,WAAW,CAAC,EAC7C,UAAU,EAAE,KAAK,EACjB,QAAQ,CACT,YAEA,KAAK,GACD,EACN,QAAQ,IAAI,CACX,eACE,SAAS,EAAE,YAAY,CACrB,EAAE,CAAC,UAAU,EAAE,SAAS,IAAI,WAAW,CAAC,EACxC,UAAU,EAAE,QAAQ,EACpB,QAAQ,CACT,YAEA,QAAQ,GACJ,CACR,IACI,EACN,OAAO,IAAI,CACV,eACE,SAAS,EAAE,YAAY,CACrB,EAAE,CACA,2CAA2C,EAC3C,eAAe,EACf,0BAA0B;gBAC1B,yEAAyE;gBACzE,qDAAqD;gBACrD,QAAQ,IAAI,aAAa,CAC1B,EACD,UAAU,EAAE,IAAI,EAChB,QAAQ,CACT,YAED,KAAC,WAAW,IACV,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,IAAI,EAChB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EACnC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EACnC,YAAY,EAAE,WAAW,YAExB,UAAU,EAAE,CAAC,KAAK,CAAC,GACR,GACT,CACR,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** A curated palette of saturated, light/dark-friendly accent colors. */
|
|
2
|
+
export declare const NAV_COLORS: readonly ["#f43f5e", "#f97316", "#f59e0b", "#10b981", "#14b8a6", "#3b82f6", "#8b5cf6", "#ec4899"];
|
|
3
|
+
/**
|
|
4
|
+
* Relative-luminance contrast pick: returns a near-black or near-white that reads
|
|
5
|
+
* against `hex`, so a solid swatch of ANY chosen color keeps a legible glyph.
|
|
6
|
+
*/
|
|
7
|
+
export declare const readableTextOn: (hex: string) => string;
|
|
8
|
+
//# sourceMappingURL=colors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/react/nav/colors.ts"],"names":[],"mappings":"AAIA,yEAAyE;AACzE,eAAO,MAAM,UAAU,mGASb,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAU5C,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Accent-color palette + contrast helper shared by the nav toolkit (sidebar
|
|
2
|
+
// rows, the kebab menu, and hub tiles). Moved here from the apps' hand-copied
|
|
3
|
+
// `ColorPicker`/`HubTileColorPicker` so there's one palette/one luminance pick.
|
|
4
|
+
/** A curated palette of saturated, light/dark-friendly accent colors. */
|
|
5
|
+
export const NAV_COLORS = [
|
|
6
|
+
'#f43f5e', // rose
|
|
7
|
+
'#f97316', // orange
|
|
8
|
+
'#f59e0b', // amber
|
|
9
|
+
'#10b981', // emerald
|
|
10
|
+
'#14b8a6', // teal
|
|
11
|
+
'#3b82f6', // blue
|
|
12
|
+
'#8b5cf6', // violet
|
|
13
|
+
'#ec4899', // pink
|
|
14
|
+
];
|
|
15
|
+
/**
|
|
16
|
+
* Relative-luminance contrast pick: returns a near-black or near-white that reads
|
|
17
|
+
* against `hex`, so a solid swatch of ANY chosen color keeps a legible glyph.
|
|
18
|
+
*/
|
|
19
|
+
export const readableTextOn = (hex) => {
|
|
20
|
+
const m = /^#?([0-9a-f]{6})$/i.exec(hex.trim());
|
|
21
|
+
if (!m)
|
|
22
|
+
return '#ffffff';
|
|
23
|
+
const n = Number.parseInt(m[1], 16);
|
|
24
|
+
const [r, g, b] = [(n >> 16) & 255, (n >> 8) & 255, n & 255].map((c) => {
|
|
25
|
+
const s = c / 255;
|
|
26
|
+
return s <= 0.03928 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;
|
|
27
|
+
});
|
|
28
|
+
const luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
29
|
+
return luminance > 0.5 ? '#111827' : '#ffffff';
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../src/react/nav/colors.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,8EAA8E;AAC9E,gFAAgF;AAEhF,yEAAyE;AACzE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,OAAO;CACV,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE;IACpD,MAAM,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrE,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAClB,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;IACvD,OAAO,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { NavSearchItem } from './types';
|
|
2
|
+
/** A group of search results — `groupLabel` is the owning hub (omit = top-level). */
|
|
3
|
+
export interface NavSearchGroup {
|
|
4
|
+
groupLabel?: string;
|
|
5
|
+
items: NavSearchItem[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Filter + rank + group a search catalogue by `query`. Case-insensitive; matches
|
|
9
|
+
* the label, the owning-hub label, and keywords. Items are ordered by match
|
|
10
|
+
* quality (then catalogue order); groups are ordered top-level first, then hubs in
|
|
11
|
+
* the order they first appear in the catalogue. An empty query returns `[]`.
|
|
12
|
+
* Pure + testable — the one genuinely new bit of logic in the nav toolkit.
|
|
13
|
+
*/
|
|
14
|
+
export declare const filterNavSearch: (items: NavSearchItem[], query: string) => NavSearchGroup[];
|
|
15
|
+
//# sourceMappingURL=filterNavSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterNavSearch.d.ts","sourceRoot":"","sources":["../../../src/react/nav/filterNavSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,qFAAqF;AACrF,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAqBD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,aAAa,EAAE,EAAE,OAAO,MAAM,KAAG,cAAc,EAkCrF,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
const escapeRegExp = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
2
|
+
/**
|
|
3
|
+
* Match quality (lower is better), or `null` for no match:
|
|
4
|
+
* 0 label starts with the query · 1 query at a word boundary in the label ·
|
|
5
|
+
* 2 substring in the label · 3 only matches the hub label or a keyword.
|
|
6
|
+
*/
|
|
7
|
+
const scoreMatch = (item, q) => {
|
|
8
|
+
const label = item.label.toLowerCase();
|
|
9
|
+
if (label.startsWith(q))
|
|
10
|
+
return 0;
|
|
11
|
+
if (new RegExp(`\\b${escapeRegExp(q)}`).test(label))
|
|
12
|
+
return 1;
|
|
13
|
+
if (label.includes(q))
|
|
14
|
+
return 2;
|
|
15
|
+
const extra = [item.groupLabel, ...(item.keywords ?? [])]
|
|
16
|
+
.filter((s) => Boolean(s))
|
|
17
|
+
.map((s) => s.toLowerCase());
|
|
18
|
+
if (extra.some((h) => h.includes(q)))
|
|
19
|
+
return 3;
|
|
20
|
+
return null;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Filter + rank + group a search catalogue by `query`. Case-insensitive; matches
|
|
24
|
+
* the label, the owning-hub label, and keywords. Items are ordered by match
|
|
25
|
+
* quality (then catalogue order); groups are ordered top-level first, then hubs in
|
|
26
|
+
* the order they first appear in the catalogue. An empty query returns `[]`.
|
|
27
|
+
* Pure + testable — the one genuinely new bit of logic in the nav toolkit.
|
|
28
|
+
*/
|
|
29
|
+
export const filterNavSearch = (items, query) => {
|
|
30
|
+
const q = query.trim().toLowerCase();
|
|
31
|
+
if (!q)
|
|
32
|
+
return [];
|
|
33
|
+
const matched = [];
|
|
34
|
+
items.forEach((item, i) => {
|
|
35
|
+
const score = scoreMatch(item, q);
|
|
36
|
+
if (score !== null)
|
|
37
|
+
matched.push({ item, i, score });
|
|
38
|
+
});
|
|
39
|
+
// Remember each group's first catalogue appearance for stable group ordering.
|
|
40
|
+
const firstSeen = new Map();
|
|
41
|
+
for (const { item, i } of matched) {
|
|
42
|
+
if (!firstSeen.has(item.groupLabel))
|
|
43
|
+
firstSeen.set(item.groupLabel, i);
|
|
44
|
+
}
|
|
45
|
+
// Bucket items (already in best-match order) by group.
|
|
46
|
+
const buckets = new Map();
|
|
47
|
+
for (const { item } of [...matched].sort((a, b) => a.score - b.score || a.i - b.i)) {
|
|
48
|
+
const bucket = buckets.get(item.groupLabel);
|
|
49
|
+
if (bucket)
|
|
50
|
+
bucket.push(item);
|
|
51
|
+
else
|
|
52
|
+
buckets.set(item.groupLabel, [item]);
|
|
53
|
+
}
|
|
54
|
+
// Order hubs by first appearance; the top-level (undefined) group always leads.
|
|
55
|
+
// (Don't sort `undefined` as an array element — Array.sort hoists it to the end
|
|
56
|
+
// without consulting the comparator.)
|
|
57
|
+
const hubKeys = [...buckets.keys()]
|
|
58
|
+
.filter((k) => k !== undefined)
|
|
59
|
+
.sort((a, b) => (firstSeen.get(a) ?? 0) - (firstSeen.get(b) ?? 0));
|
|
60
|
+
const orderedKeys = buckets.has(undefined)
|
|
61
|
+
? [undefined, ...hubKeys]
|
|
62
|
+
: hubKeys;
|
|
63
|
+
return orderedKeys.map((groupLabel) => ({ groupLabel, items: buckets.get(groupLabel) ?? [] }));
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=filterNavSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterNavSearch.js","sourceRoot":"","sources":["../../../src/react/nav/filterNavSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from '../../core/navigation';
|
|
2
|
+
export { Breadcrumbs, type BreadcrumbsProps, ItemBreadcrumbs, type ItemBreadcrumbsProps, } from './Breadcrumbs';
|
|
3
|
+
export { ColorSwatchGrid, type ColorSwatchGridProps } from './ColorSwatchGrid';
|
|
4
|
+
export { CommandBar, type CommandBarProps } from './CommandBar';
|
|
5
|
+
export { NAV_COLORS, readableTextOn } from './colors';
|
|
6
|
+
export { HeaderSearch, type HeaderSearchProps } from './HeaderSearch';
|
|
7
|
+
export { HubTileGrid, type HubTileGridProps } from './HubTileGrid';
|
|
8
|
+
export { NavColorPicker, type NavColorPickerProps } from './NavColorPicker';
|
|
9
|
+
export { NavItemMenu, type NavItemMenuProps } from './NavItemMenu';
|
|
10
|
+
export { filterNavSearch, type NavSearchItem, type NavSearchItemGroup, } from './navSearch';
|
|
11
|
+
export { type IconResolver, isPathWithin, NavLink, type NavLinkProps, type NavNavigationProps, } from './navShared';
|
|
12
|
+
export { PlaceBar, type PlaceBarProps } from './PlaceBar';
|
|
13
|
+
export { type SearchResultGroup, type SearchResultRow, SearchResults, type SearchResultsProps, searchOptionId, } from './SearchResults';
|
|
14
|
+
export { SideNav, type SideNavProps } from './SideNav';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/nav/index.ts"],"names":[],"mappings":"AAQA,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,YAAY,EACjB,YAAY,EACZ,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,aAAa,EACb,KAAK,kBAAkB,EACvB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// cursedbelt/react nav toolkit — the from-scratch navigation components that all
|
|
2
|
+
// derive from the single `cursedbelt/nav` registry (the IA tree): the side-nav rail,
|
|
3
|
+
// hub-tile grid, breadcrumbs, color picker, and universal search. Authoring a feature
|
|
4
|
+
// into the model is the only way to surface it (the coverage test enforces it), so
|
|
5
|
+
// the historical four-list drift is designed out. For convenience this barrel also
|
|
6
|
+
// re-exports the React-free contract + selectors so an app can import the whole nav
|
|
7
|
+
// surface from `cursedbelt/react`; the contract alone lives at `cursedbelt/nav`.
|
|
8
|
+
export * from '../../core/navigation';
|
|
9
|
+
export { Breadcrumbs, ItemBreadcrumbs, } from './Breadcrumbs';
|
|
10
|
+
export { ColorSwatchGrid } from './ColorSwatchGrid';
|
|
11
|
+
export { CommandBar } from './CommandBar';
|
|
12
|
+
export { NAV_COLORS, readableTextOn } from './colors';
|
|
13
|
+
export { HeaderSearch } from './HeaderSearch';
|
|
14
|
+
export { HubTileGrid } from './HubTileGrid';
|
|
15
|
+
export { NavColorPicker } from './NavColorPicker';
|
|
16
|
+
export { NavItemMenu } from './NavItemMenu';
|
|
17
|
+
export { filterNavSearch, } from './navSearch';
|
|
18
|
+
export { isPathWithin, NavLink, } from './navShared';
|
|
19
|
+
export { PlaceBar } from './PlaceBar';
|
|
20
|
+
export { SearchResults, searchOptionId, } from './SearchResults';
|
|
21
|
+
export { SideNav } from './SideNav';
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/nav/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,qFAAqF;AACrF,sFAAsF;AACtF,mFAAmF;AACnF,mFAAmF;AACnF,oFAAoF;AACpF,iFAAiF;AAEjF,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,WAAW,EAEX,eAAe,GAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,eAAe,GAGhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,YAAY,EACZ,OAAO,GAGR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAGL,aAAa,EAEb,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAC"}
|