@buoy-gg/shared-ui 7.0.33 → 7.0.35
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/lib/commonjs/JsModal.js +57 -22
- package/lib/commonjs/dataViewer/CyberpunkInput.js +3 -2
- package/lib/commonjs/dataViewer/DataTreeActionBar.js +3 -2
- package/lib/commonjs/dataViewer/DataTreeActionDock.js +2 -1
- package/lib/commonjs/dataViewer/DiffSummary.js +4 -3
- package/lib/commonjs/dataViewer/LiveExplorer.js +11 -10
- package/lib/commonjs/dataViewer/SplitDiffViewer.js +10 -9
- package/lib/commonjs/dataViewer/ThemedSplitView.js +12 -11
- package/lib/commonjs/dataViewer/ValueEditModal.js +6 -5
- package/lib/commonjs/dataViewer/VirtualizedDataExplorer.js +4 -3
- package/lib/commonjs/dataViewer/tree/TreeDiffViewer.js +15 -14
- package/lib/commonjs/hooks/index.js +26 -0
- package/lib/commonjs/hooks/safe-area-impl.js +1 -1
- package/lib/commonjs/hooks/useChangeLog.js +55 -0
- package/lib/commonjs/hooks/useEventStoreEvents.js +65 -0
- package/lib/commonjs/hooks/usePersistedState.js +45 -10
- package/lib/commonjs/icons/index.js +533 -1
- package/lib/commonjs/index.js +143 -0
- package/lib/commonjs/license/FreeAccountPrompt.js +2 -1
- package/lib/commonjs/license/LicenseEntryModal.js +2 -1
- package/lib/commonjs/storage/definePersistedSetting.js +67 -0
- package/lib/commonjs/storage/index.js +8 -1
- package/lib/commonjs/stores/ChangeLog.js +197 -0
- package/lib/commonjs/stores/createToolStore.js +175 -0
- package/lib/commonjs/stores/index.js +15 -1
- package/lib/commonjs/sync/toolSyncAdapter.js +63 -0
- package/lib/commonjs/sync/wireForm.js +172 -0
- package/lib/commonjs/tools/defineTool.js +79 -0
- package/lib/commonjs/ui/components/ChangeRow.js +111 -0
- package/lib/commonjs/ui/components/ChipStrip.js +94 -0
- package/lib/commonjs/ui/components/ClipboardHintBanner.js +2 -1
- package/lib/commonjs/ui/components/CompactRow.js +3 -2
- package/lib/commonjs/ui/components/DataInspector.js +3 -2
- package/lib/commonjs/ui/components/DetailView.js +2 -1
- package/lib/commonjs/ui/components/DetailViewToggle.js +130 -0
- package/lib/commonjs/ui/components/DevToolsCard.js +3 -1
- package/lib/commonjs/ui/components/DynamicFilterView.js +8 -7
- package/lib/commonjs/ui/components/EntityFilterView.js +355 -0
- package/lib/commonjs/ui/components/EventHistoryViewer/CompareBar.js +5 -4
- package/lib/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.js +2 -1
- package/lib/commonjs/ui/components/EventHistoryViewer/EventPickerModal.js +5 -4
- package/lib/commonjs/ui/components/EventStepperFooter.js +4 -3
- package/lib/commonjs/ui/components/ExpandablePopover.js +12 -4
- package/lib/commonjs/ui/components/ExpandedInfoRow.js +3 -2
- package/lib/commonjs/ui/components/ExportPreview.js +174 -0
- package/lib/commonjs/ui/components/FilterComponents.js +2 -1
- package/lib/commonjs/ui/components/InfoRow.js +91 -0
- package/lib/commonjs/ui/components/ModalHeader.js +40 -7
- package/lib/commonjs/ui/components/Pill.js +115 -0
- package/lib/commonjs/ui/components/ToggleRow.js +116 -0
- package/lib/commonjs/ui/components/ToolFooter.js +205 -0
- package/lib/commonjs/ui/components/index.js +100 -1
- package/lib/commonjs/ui/console/CyberpunkSectionButton.js +3 -2
- package/lib/commonjs/ui/fonts.js +12 -0
- package/lib/commonjs/ui/gameUI/components/GameUICollapsibleSection.js +4 -3
- package/lib/commonjs/ui/gameUI/components/GameUICompactStats.js +12 -11
- package/lib/commonjs/ui/gameUI/components/GameUIIssuesList.js +9 -8
- package/lib/commonjs/ui/gameUI/components/GameUIStatusHeader.js +4 -3
- package/lib/commonjs/ui/index.js +32 -2
- package/lib/commonjs/ui/listPresets.js +43 -0
- package/lib/commonjs/ui/night/primitives.js +3 -1
- package/lib/commonjs/ui/toolTheme.js +4 -3
- package/lib/commonjs/utils/snapshotProviderKit.js +167 -0
- package/lib/commonjs/utils/stateTools.js +160 -0
- package/lib/module/JsModal.js +57 -22
- package/lib/module/dataViewer/CyberpunkInput.js +3 -2
- package/lib/module/dataViewer/DataTreeActionBar.js +3 -2
- package/lib/module/dataViewer/DataTreeActionDock.js +2 -1
- package/lib/module/dataViewer/DiffSummary.js +4 -3
- package/lib/module/dataViewer/LiveExplorer.js +11 -11
- package/lib/module/dataViewer/SplitDiffViewer.js +10 -9
- package/lib/module/dataViewer/ThemedSplitView.js +12 -11
- package/lib/module/dataViewer/ValueEditModal.js +6 -5
- package/lib/module/dataViewer/VirtualizedDataExplorer.js +5 -4
- package/lib/module/dataViewer/tree/TreeDiffViewer.js +15 -15
- package/lib/module/hooks/index.js +3 -1
- package/lib/module/hooks/safe-area-impl.js +1 -1
- package/lib/module/hooks/useChangeLog.js +50 -0
- package/lib/module/hooks/useEventStoreEvents.js +61 -0
- package/lib/module/hooks/usePersistedState.js +44 -10
- package/lib/module/icons/index.js +27 -2
- package/lib/module/index.js +11 -1
- package/lib/module/license/FreeAccountPrompt.js +2 -2
- package/lib/module/license/LicenseEntryModal.js +3 -3
- package/lib/module/storage/definePersistedSetting.js +63 -0
- package/lib/module/storage/index.js +2 -1
- package/lib/module/stores/ChangeLog.js +192 -0
- package/lib/module/stores/createToolStore.js +171 -0
- package/lib/module/stores/index.js +3 -1
- package/lib/module/sync/toolSyncAdapter.js +58 -0
- package/lib/module/sync/wireForm.js +159 -0
- package/lib/module/tools/defineTool.js +74 -0
- package/lib/module/ui/components/ChangeRow.js +106 -0
- package/lib/module/ui/components/ChipStrip.js +91 -0
- package/lib/module/ui/components/ClipboardHintBanner.js +2 -1
- package/lib/module/ui/components/CompactRow.js +3 -2
- package/lib/module/ui/components/DataInspector.js +3 -2
- package/lib/module/ui/components/DetailView.js +2 -1
- package/lib/module/ui/components/DetailViewToggle.js +125 -0
- package/lib/module/ui/components/DevToolsCard.js +3 -1
- package/lib/module/ui/components/DynamicFilterView.js +8 -7
- package/lib/module/ui/components/EntityFilterView.js +351 -0
- package/lib/module/ui/components/EventHistoryViewer/CompareBar.js +6 -5
- package/lib/module/ui/components/EventHistoryViewer/DiffModeTabs.js +3 -2
- package/lib/module/ui/components/EventHistoryViewer/EventPickerModal.js +6 -5
- package/lib/module/ui/components/EventStepperFooter.js +4 -3
- package/lib/module/ui/components/ExpandablePopover.js +12 -4
- package/lib/module/ui/components/ExpandedInfoRow.js +3 -2
- package/lib/module/ui/components/ExportPreview.js +169 -0
- package/lib/module/ui/components/FilterComponents.js +2 -2
- package/lib/module/ui/components/InfoRow.js +87 -0
- package/lib/module/ui/components/ModalHeader.js +40 -7
- package/lib/module/ui/components/Pill.js +111 -0
- package/lib/module/ui/components/ToggleRow.js +112 -0
- package/lib/module/ui/components/ToolFooter.js +197 -0
- package/lib/module/ui/components/index.js +10 -1
- package/lib/module/ui/console/CyberpunkSectionButton.js +3 -2
- package/lib/module/ui/fonts.js +8 -0
- package/lib/module/ui/gameUI/components/GameUICollapsibleSection.js +4 -3
- package/lib/module/ui/gameUI/components/GameUICompactStats.js +12 -11
- package/lib/module/ui/gameUI/components/GameUIIssuesList.js +9 -8
- package/lib/module/ui/gameUI/components/GameUIStatusHeader.js +4 -3
- package/lib/module/ui/index.js +7 -1
- package/lib/module/ui/listPresets.js +39 -0
- package/lib/module/ui/night/primitives.js +3 -1
- package/lib/module/ui/toolTheme.js +4 -4
- package/lib/module/utils/snapshotProviderKit.js +156 -0
- package/lib/module/utils/stateTools.js +154 -0
- package/lib/typescript/commonjs/JsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/CyberpunkInput.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/DataTreeActionBar.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/DataTreeActionDock.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/DiffSummary.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/LiveExplorer.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/SplitDiffViewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/ThemedSplitView.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/ValueEditModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/index.d.ts +3 -1
- package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/commonjs/hooks/useChangeLog.d.ts +38 -0
- package/lib/typescript/commonjs/hooks/useChangeLog.d.ts.map +1 -0
- package/lib/typescript/commonjs/hooks/useEventStoreEvents.d.ts +25 -0
- package/lib/typescript/commonjs/hooks/useEventStoreEvents.d.ts.map +1 -0
- package/lib/typescript/commonjs/hooks/usePersistedState.d.ts +34 -5
- package/lib/typescript/commonjs/hooks/usePersistedState.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/index.d.ts +4 -1
- package/lib/typescript/commonjs/icons/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +6 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/license/FreeAccountPrompt.d.ts.map +1 -1
- package/lib/typescript/commonjs/license/LicenseEntryModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/storage/definePersistedSetting.d.ts +39 -0
- package/lib/typescript/commonjs/storage/definePersistedSetting.d.ts.map +1 -0
- package/lib/typescript/commonjs/storage/index.d.ts +1 -0
- package/lib/typescript/commonjs/storage/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/stores/ChangeLog.d.ts +100 -0
- package/lib/typescript/commonjs/stores/ChangeLog.d.ts.map +1 -0
- package/lib/typescript/commonjs/stores/createToolStore.d.ts +92 -0
- package/lib/typescript/commonjs/stores/createToolStore.d.ts.map +1 -0
- package/lib/typescript/commonjs/stores/index.d.ts +2 -0
- package/lib/typescript/commonjs/stores/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/sync/toolSyncAdapter.d.ts +66 -0
- package/lib/typescript/commonjs/sync/toolSyncAdapter.d.ts.map +1 -0
- package/lib/typescript/commonjs/sync/wireForm.d.ts +100 -0
- package/lib/typescript/commonjs/sync/wireForm.d.ts.map +1 -0
- package/lib/typescript/commonjs/tools/defineTool.d.ts +100 -0
- package/lib/typescript/commonjs/tools/defineTool.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ChangeRow.d.ts +52 -0
- package/lib/typescript/commonjs/ui/components/ChangeRow.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ChipStrip.d.ts +41 -0
- package/lib/typescript/commonjs/ui/components/ChipStrip.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ClipboardHintBanner.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/CompactRow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/DataInspector.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/DetailView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/DetailViewToggle.d.ts +36 -0
- package/lib/typescript/commonjs/ui/components/DetailViewToggle.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/DevToolsCard.d.ts +8 -1
- package/lib/typescript/commonjs/ui/components/DevToolsCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/DynamicFilterView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/EntityFilterView.d.ts +51 -0
- package/lib/typescript/commonjs/ui/components/EntityFilterView.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/EventHistoryViewer/CompareBar.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/EventHistoryViewer/EventPickerModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/EventStepperFooter.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ExpandablePopover.d.ts +5 -1
- package/lib/typescript/commonjs/ui/components/ExpandablePopover.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ExpandedInfoRow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ExportPreview.d.ts +48 -0
- package/lib/typescript/commonjs/ui/components/ExportPreview.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/FilterComponents.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/InfoRow.d.ts +33 -0
- package/lib/typescript/commonjs/ui/components/InfoRow.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ModalHeader.d.ts +31 -1
- package/lib/typescript/commonjs/ui/components/ModalHeader.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/Pill.d.ts +38 -0
- package/lib/typescript/commonjs/ui/components/Pill.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ToggleRow.d.ts +33 -0
- package/lib/typescript/commonjs/ui/components/ToggleRow.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ToolFooter.d.ts +69 -0
- package/lib/typescript/commonjs/ui/components/ToolFooter.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/index.d.ts +9 -0
- package/lib/typescript/commonjs/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/console/CyberpunkSectionButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/fonts.d.ts +7 -0
- package/lib/typescript/commonjs/ui/fonts.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/gameUI/components/GameUICollapsibleSection.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/gameUI/components/GameUICompactStats.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/gameUI/components/GameUIIssuesList.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/gameUI/components/GameUIStatusHeader.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +2 -0
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/listPresets.d.ts +28 -0
- package/lib/typescript/commonjs/ui/listPresets.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/night/primitives.d.ts +3 -1
- package/lib/typescript/commonjs/ui/night/primitives.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/toolTheme.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/snapshotProviderKit.d.ts +81 -0
- package/lib/typescript/commonjs/utils/snapshotProviderKit.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/stateTools.d.ts +44 -0
- package/lib/typescript/commonjs/utils/stateTools.d.ts.map +1 -0
- package/lib/typescript/module/JsModal.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/CyberpunkInput.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/DataTreeActionBar.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/DataTreeActionDock.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/DiffSummary.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/LiveExplorer.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/SplitDiffViewer.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/ThemedSplitView.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/ValueEditModal.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
- package/lib/typescript/module/hooks/index.d.ts +3 -1
- package/lib/typescript/module/hooks/index.d.ts.map +1 -1
- package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/module/hooks/useChangeLog.d.ts +38 -0
- package/lib/typescript/module/hooks/useChangeLog.d.ts.map +1 -0
- package/lib/typescript/module/hooks/useEventStoreEvents.d.ts +25 -0
- package/lib/typescript/module/hooks/useEventStoreEvents.d.ts.map +1 -0
- package/lib/typescript/module/hooks/usePersistedState.d.ts +34 -5
- package/lib/typescript/module/hooks/usePersistedState.d.ts.map +1 -1
- package/lib/typescript/module/icons/index.d.ts +4 -1
- package/lib/typescript/module/icons/index.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +6 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/license/FreeAccountPrompt.d.ts.map +1 -1
- package/lib/typescript/module/license/LicenseEntryModal.d.ts.map +1 -1
- package/lib/typescript/module/storage/definePersistedSetting.d.ts +39 -0
- package/lib/typescript/module/storage/definePersistedSetting.d.ts.map +1 -0
- package/lib/typescript/module/storage/index.d.ts +1 -0
- package/lib/typescript/module/storage/index.d.ts.map +1 -1
- package/lib/typescript/module/stores/ChangeLog.d.ts +100 -0
- package/lib/typescript/module/stores/ChangeLog.d.ts.map +1 -0
- package/lib/typescript/module/stores/createToolStore.d.ts +92 -0
- package/lib/typescript/module/stores/createToolStore.d.ts.map +1 -0
- package/lib/typescript/module/stores/index.d.ts +2 -0
- package/lib/typescript/module/stores/index.d.ts.map +1 -1
- package/lib/typescript/module/sync/toolSyncAdapter.d.ts +66 -0
- package/lib/typescript/module/sync/toolSyncAdapter.d.ts.map +1 -0
- package/lib/typescript/module/sync/wireForm.d.ts +100 -0
- package/lib/typescript/module/sync/wireForm.d.ts.map +1 -0
- package/lib/typescript/module/tools/defineTool.d.ts +100 -0
- package/lib/typescript/module/tools/defineTool.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ChangeRow.d.ts +52 -0
- package/lib/typescript/module/ui/components/ChangeRow.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ChipStrip.d.ts +41 -0
- package/lib/typescript/module/ui/components/ChipStrip.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ClipboardHintBanner.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/CompactRow.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/DataInspector.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/DetailView.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/DetailViewToggle.d.ts +36 -0
- package/lib/typescript/module/ui/components/DetailViewToggle.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/DevToolsCard.d.ts +8 -1
- package/lib/typescript/module/ui/components/DevToolsCard.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/DynamicFilterView.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/EntityFilterView.d.ts +51 -0
- package/lib/typescript/module/ui/components/EntityFilterView.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/EventHistoryViewer/CompareBar.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/EventHistoryViewer/EventPickerModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/EventStepperFooter.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ExpandablePopover.d.ts +5 -1
- package/lib/typescript/module/ui/components/ExpandablePopover.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ExpandedInfoRow.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ExportPreview.d.ts +48 -0
- package/lib/typescript/module/ui/components/ExportPreview.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/FilterComponents.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/InfoRow.d.ts +33 -0
- package/lib/typescript/module/ui/components/InfoRow.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ModalHeader.d.ts +31 -1
- package/lib/typescript/module/ui/components/ModalHeader.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Pill.d.ts +38 -0
- package/lib/typescript/module/ui/components/Pill.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ToggleRow.d.ts +33 -0
- package/lib/typescript/module/ui/components/ToggleRow.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ToolFooter.d.ts +69 -0
- package/lib/typescript/module/ui/components/ToolFooter.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/index.d.ts +9 -0
- package/lib/typescript/module/ui/components/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/console/CyberpunkSectionButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/fonts.d.ts +7 -0
- package/lib/typescript/module/ui/fonts.d.ts.map +1 -0
- package/lib/typescript/module/ui/gameUI/components/GameUICollapsibleSection.d.ts.map +1 -1
- package/lib/typescript/module/ui/gameUI/components/GameUICompactStats.d.ts.map +1 -1
- package/lib/typescript/module/ui/gameUI/components/GameUIIssuesList.d.ts.map +1 -1
- package/lib/typescript/module/ui/gameUI/components/GameUIStatusHeader.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +2 -0
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/listPresets.d.ts +28 -0
- package/lib/typescript/module/ui/listPresets.d.ts.map +1 -0
- package/lib/typescript/module/ui/night/primitives.d.ts +3 -1
- package/lib/typescript/module/ui/night/primitives.d.ts.map +1 -1
- package/lib/typescript/module/ui/toolTheme.d.ts.map +1 -1
- package/lib/typescript/module/utils/snapshotProviderKit.d.ts +81 -0
- package/lib/typescript/module/utils/snapshotProviderKit.d.ts.map +1 -0
- package/lib/typescript/module/utils/stateTools.d.ts +44 -0
- package/lib/typescript/module/utils/stateTools.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
import React, { memo } from "react";
|
|
11
11
|
import { View, Text, StyleSheet } from "react-native";
|
|
12
|
+
import { monoFont } from "../ui/fonts.js";
|
|
12
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
14
|
/**
|
|
14
15
|
* DiffSummary displays a summary bar showing diff statistics.
|
|
@@ -112,17 +113,17 @@ const styles = StyleSheet.create({
|
|
|
112
113
|
},
|
|
113
114
|
icon: {
|
|
114
115
|
fontSize: 11,
|
|
115
|
-
fontFamily:
|
|
116
|
+
fontFamily: monoFont,
|
|
116
117
|
fontWeight: "700"
|
|
117
118
|
},
|
|
118
119
|
count: {
|
|
119
120
|
fontSize: 10,
|
|
120
|
-
fontFamily:
|
|
121
|
+
fontFamily: monoFont,
|
|
121
122
|
fontWeight: "600"
|
|
122
123
|
},
|
|
123
124
|
label: {
|
|
124
125
|
fontSize: 9,
|
|
125
|
-
fontFamily:
|
|
126
|
+
fontFamily: monoFont,
|
|
126
127
|
opacity: 0.9
|
|
127
128
|
}
|
|
128
129
|
});
|
|
@@ -35,7 +35,7 @@ import { CopyButton as SharedCopyButton } from "../ui/components/CopyButton.js";
|
|
|
35
35
|
import { ChevronRight, ChevronDown, Trash } from "../icons/index.js";
|
|
36
36
|
import { CyberpunkInput } from "./CyberpunkInput.js";
|
|
37
37
|
import { updateNestedDataByPath, deleteNestedDataByPath } from "./nestedPath.js";
|
|
38
|
-
|
|
38
|
+
import { monoFont } from "../ui/fonts.js";
|
|
39
39
|
/**
|
|
40
40
|
* How the explorer writes into whatever owns the data. The tree never mutates
|
|
41
41
|
* anything itself — every edit is handed to the host through this.
|
|
@@ -654,7 +654,7 @@ const styles = StyleSheet.create({
|
|
|
654
654
|
clearButtonText: {
|
|
655
655
|
fontSize: 12,
|
|
656
656
|
fontWeight: "700",
|
|
657
|
-
fontFamily:
|
|
657
|
+
fontFamily: monoFont
|
|
658
658
|
},
|
|
659
659
|
expanderIcon: {
|
|
660
660
|
width: 18,
|
|
@@ -741,7 +741,7 @@ const styles = StyleSheet.create({
|
|
|
741
741
|
fontSize: 10,
|
|
742
742
|
fontWeight: "600",
|
|
743
743
|
marginRight: 4,
|
|
744
|
-
fontFamily:
|
|
744
|
+
fontFamily: monoFont,
|
|
745
745
|
letterSpacing: 0.4
|
|
746
746
|
},
|
|
747
747
|
labelTextFocused: {
|
|
@@ -757,14 +757,14 @@ const styles = StyleSheet.create({
|
|
|
757
757
|
color: night.color.textTertiary,
|
|
758
758
|
fontSize: 10,
|
|
759
759
|
fontWeight: "400",
|
|
760
|
-
fontFamily:
|
|
760
|
+
fontFamily: monoFont,
|
|
761
761
|
opacity: 0.7
|
|
762
762
|
},
|
|
763
763
|
pageRangeText: {
|
|
764
764
|
color: night.color.textSecondary,
|
|
765
765
|
fontSize: 10,
|
|
766
766
|
fontWeight: "600",
|
|
767
|
-
fontFamily:
|
|
767
|
+
fontFamily: monoFont
|
|
768
768
|
},
|
|
769
769
|
flexRowGapItemsCenter: {
|
|
770
770
|
flexDirection: "row",
|
|
@@ -817,11 +817,11 @@ const styles = StyleSheet.create({
|
|
|
817
817
|
textNumber: {
|
|
818
818
|
color: night.color.text,
|
|
819
819
|
fontWeight: "600",
|
|
820
|
-
fontFamily:
|
|
820
|
+
fontFamily: monoFont
|
|
821
821
|
},
|
|
822
822
|
textString: {
|
|
823
823
|
color: night.color.text,
|
|
824
|
-
fontFamily:
|
|
824
|
+
fontFamily: monoFont
|
|
825
825
|
},
|
|
826
826
|
flexRowGapFullWidth: {
|
|
827
827
|
flexDirection: "row",
|
|
@@ -838,7 +838,7 @@ const styles = StyleSheet.create({
|
|
|
838
838
|
fontWeight: "600",
|
|
839
839
|
fontSize: 9,
|
|
840
840
|
minWidth: 50,
|
|
841
|
-
fontFamily:
|
|
841
|
+
fontFamily: monoFont,
|
|
842
842
|
letterSpacing: 0.4,
|
|
843
843
|
opacity: 0.8
|
|
844
844
|
},
|
|
@@ -851,7 +851,7 @@ const styles = StyleSheet.create({
|
|
|
851
851
|
flex: 1,
|
|
852
852
|
color: night.color.text,
|
|
853
853
|
fontWeight: "400",
|
|
854
|
-
fontFamily:
|
|
854
|
+
fontFamily: monoFont,
|
|
855
855
|
fontSize: 12,
|
|
856
856
|
paddingVertical: 6,
|
|
857
857
|
paddingHorizontal: 10,
|
|
@@ -885,7 +885,7 @@ const styles = StyleSheet.create({
|
|
|
885
885
|
fontWeight: "700",
|
|
886
886
|
textTransform: "uppercase",
|
|
887
887
|
letterSpacing: 0.8,
|
|
888
|
-
fontFamily:
|
|
888
|
+
fontFamily: monoFont
|
|
889
889
|
},
|
|
890
890
|
toggleBadgeTrue: {
|
|
891
891
|
backgroundColor: night.color.accent + "1A",
|
|
@@ -914,7 +914,7 @@ const styles = StyleSheet.create({
|
|
|
914
914
|
color: night.color.textSecondary,
|
|
915
915
|
fontSize: 10,
|
|
916
916
|
fontWeight: "600",
|
|
917
|
-
fontFamily:
|
|
917
|
+
fontFamily: monoFont,
|
|
918
918
|
letterSpacing: 0.4,
|
|
919
919
|
minWidth: 60,
|
|
920
920
|
flexShrink: 0
|
|
@@ -13,6 +13,7 @@ import { View, Text, ScrollView, StyleSheet } from "react-native";
|
|
|
13
13
|
import { computeLineDiff, DiffType } from "./lineDiff.js";
|
|
14
14
|
import { DiffSummary } from "./DiffSummary.js";
|
|
15
15
|
import { devToolsDefaultTheme } from "./diffThemes.js";
|
|
16
|
+
import { monoFont } from "../ui/fonts.js";
|
|
16
17
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
18
|
/**
|
|
18
19
|
* SplitDiffViewer displays a side-by-side diff comparison.
|
|
@@ -281,13 +282,13 @@ function createDynamicStyles(theme, height) {
|
|
|
281
282
|
fontSize: 12,
|
|
282
283
|
fontWeight: "700",
|
|
283
284
|
color: theme.accentColor || theme.unchangedText,
|
|
284
|
-
fontFamily:
|
|
285
|
+
fontFamily: monoFont,
|
|
285
286
|
letterSpacing: 0.5
|
|
286
287
|
},
|
|
287
288
|
themeDescription: {
|
|
288
289
|
fontSize: 10,
|
|
289
290
|
color: theme.unchangedText,
|
|
290
|
-
fontFamily:
|
|
291
|
+
fontFamily: monoFont,
|
|
291
292
|
marginTop: 2,
|
|
292
293
|
opacity: 0.8
|
|
293
294
|
},
|
|
@@ -311,7 +312,7 @@ function createDynamicStyles(theme, height) {
|
|
|
311
312
|
fontSize: 10,
|
|
312
313
|
fontWeight: "700",
|
|
313
314
|
color: theme.accentColor || theme.unchangedText,
|
|
314
|
-
fontFamily:
|
|
315
|
+
fontFamily: monoFont,
|
|
315
316
|
letterSpacing: 0.5,
|
|
316
317
|
textTransform: "uppercase"
|
|
317
318
|
},
|
|
@@ -355,7 +356,7 @@ function createDynamicStyles(theme, height) {
|
|
|
355
356
|
},
|
|
356
357
|
lineNumber: {
|
|
357
358
|
fontSize: 9,
|
|
358
|
-
fontFamily:
|
|
359
|
+
fontFamily: monoFont,
|
|
359
360
|
color: theme.lineNumberText
|
|
360
361
|
},
|
|
361
362
|
marker: {
|
|
@@ -368,7 +369,7 @@ function createDynamicStyles(theme, height) {
|
|
|
368
369
|
},
|
|
369
370
|
markerText: {
|
|
370
371
|
fontSize: 10,
|
|
371
|
-
fontFamily:
|
|
372
|
+
fontFamily: monoFont,
|
|
372
373
|
fontWeight: "600"
|
|
373
374
|
},
|
|
374
375
|
contentCell: {
|
|
@@ -381,12 +382,12 @@ function createDynamicStyles(theme, height) {
|
|
|
381
382
|
},
|
|
382
383
|
content: {
|
|
383
384
|
fontSize: 10,
|
|
384
|
-
fontFamily:
|
|
385
|
+
fontFamily: monoFont,
|
|
385
386
|
lineHeight: 16
|
|
386
387
|
},
|
|
387
388
|
wordDiff: {
|
|
388
389
|
fontSize: 10,
|
|
389
|
-
fontFamily:
|
|
390
|
+
fontFamily: monoFont
|
|
390
391
|
},
|
|
391
392
|
separator: {
|
|
392
393
|
height: 20,
|
|
@@ -397,7 +398,7 @@ function createDynamicStyles(theme, height) {
|
|
|
397
398
|
separatorText: {
|
|
398
399
|
fontSize: 8,
|
|
399
400
|
color: theme.separatorText,
|
|
400
|
-
fontFamily:
|
|
401
|
+
fontFamily: monoFont,
|
|
401
402
|
letterSpacing: 2
|
|
402
403
|
},
|
|
403
404
|
emptyState: {
|
|
@@ -409,7 +410,7 @@ function createDynamicStyles(theme, height) {
|
|
|
409
410
|
fontSize: 11,
|
|
410
411
|
color: theme.emptyStateText,
|
|
411
412
|
fontStyle: "italic",
|
|
412
|
-
fontFamily:
|
|
413
|
+
fontFamily: monoFont
|
|
413
414
|
}
|
|
414
415
|
});
|
|
415
416
|
}
|
|
@@ -18,6 +18,7 @@ import { TimestampDeltaBar } from "./TimestampDeltaBar.js";
|
|
|
18
18
|
import { describeTimestampDeltas } from "./timestampDiff.js";
|
|
19
19
|
import { JsonStringNotice } from "./JsonStringNotice.js";
|
|
20
20
|
import { decodeJsonStringPair } from "./jsonStringValue.js";
|
|
21
|
+
import { monoFont } from "../ui/fonts.js";
|
|
21
22
|
|
|
22
23
|
/** Rendering options (the shape storage's DiffOptionsPanel edits). */
|
|
23
24
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -469,13 +470,13 @@ function createDynamicStyles(theme, scrollEnabled) {
|
|
|
469
470
|
fontSize: 12,
|
|
470
471
|
fontWeight: "700",
|
|
471
472
|
color: theme.accentColor || theme.unchangedText,
|
|
472
|
-
fontFamily:
|
|
473
|
+
fontFamily: monoFont,
|
|
473
474
|
letterSpacing: 0.5
|
|
474
475
|
},
|
|
475
476
|
themeDescription: {
|
|
476
477
|
fontSize: 10,
|
|
477
478
|
color: theme.unchangedText,
|
|
478
|
-
fontFamily:
|
|
479
|
+
fontFamily: monoFont,
|
|
479
480
|
marginTop: 2,
|
|
480
481
|
opacity: 0.8
|
|
481
482
|
},
|
|
@@ -499,7 +500,7 @@ function createDynamicStyles(theme, scrollEnabled) {
|
|
|
499
500
|
fontSize: 10,
|
|
500
501
|
fontWeight: "700",
|
|
501
502
|
color: theme.accentColor || theme.unchangedText,
|
|
502
|
-
fontFamily:
|
|
503
|
+
fontFamily: monoFont,
|
|
503
504
|
letterSpacing: 0.5,
|
|
504
505
|
textTransform: "uppercase"
|
|
505
506
|
},
|
|
@@ -543,7 +544,7 @@ function createDynamicStyles(theme, scrollEnabled) {
|
|
|
543
544
|
},
|
|
544
545
|
lineNumber: {
|
|
545
546
|
fontSize: 9,
|
|
546
|
-
fontFamily:
|
|
547
|
+
fontFamily: monoFont,
|
|
547
548
|
color: theme.lineNumberText
|
|
548
549
|
},
|
|
549
550
|
marker: {
|
|
@@ -556,7 +557,7 @@ function createDynamicStyles(theme, scrollEnabled) {
|
|
|
556
557
|
},
|
|
557
558
|
markerText: {
|
|
558
559
|
fontSize: 10,
|
|
559
|
-
fontFamily:
|
|
560
|
+
fontFamily: monoFont,
|
|
560
561
|
fontWeight: "600"
|
|
561
562
|
},
|
|
562
563
|
contentCell: {
|
|
@@ -569,12 +570,12 @@ function createDynamicStyles(theme, scrollEnabled) {
|
|
|
569
570
|
},
|
|
570
571
|
content: {
|
|
571
572
|
fontSize: 10,
|
|
572
|
-
fontFamily:
|
|
573
|
+
fontFamily: monoFont,
|
|
573
574
|
lineHeight: 16
|
|
574
575
|
},
|
|
575
576
|
wordDiff: {
|
|
576
577
|
fontSize: 10,
|
|
577
|
-
fontFamily:
|
|
578
|
+
fontFamily: monoFont
|
|
578
579
|
},
|
|
579
580
|
summaryBar: {
|
|
580
581
|
flexDirection: "row",
|
|
@@ -592,7 +593,7 @@ function createDynamicStyles(theme, scrollEnabled) {
|
|
|
592
593
|
},
|
|
593
594
|
summaryText: {
|
|
594
595
|
fontSize: 10,
|
|
595
|
-
fontFamily:
|
|
596
|
+
fontFamily: monoFont,
|
|
596
597
|
fontWeight: "700"
|
|
597
598
|
},
|
|
598
599
|
separator: {
|
|
@@ -604,7 +605,7 @@ function createDynamicStyles(theme, scrollEnabled) {
|
|
|
604
605
|
separatorText: {
|
|
605
606
|
fontSize: 8,
|
|
606
607
|
color: theme.separatorText,
|
|
607
|
-
fontFamily:
|
|
608
|
+
fontFamily: monoFont,
|
|
608
609
|
letterSpacing: 2
|
|
609
610
|
},
|
|
610
611
|
foldHeader: {
|
|
@@ -618,7 +619,7 @@ function createDynamicStyles(theme, scrollEnabled) {
|
|
|
618
619
|
},
|
|
619
620
|
foldHeaderText: {
|
|
620
621
|
fontSize: 10,
|
|
621
|
-
fontFamily:
|
|
622
|
+
fontFamily: monoFont,
|
|
622
623
|
letterSpacing: 0.5
|
|
623
624
|
},
|
|
624
625
|
emptyState: {
|
|
@@ -630,7 +631,7 @@ function createDynamicStyles(theme, scrollEnabled) {
|
|
|
630
631
|
fontSize: 11,
|
|
631
632
|
color: theme.emptyStateText,
|
|
632
633
|
fontStyle: "italic",
|
|
633
|
-
fontFamily:
|
|
634
|
+
fontFamily: monoFont
|
|
634
635
|
}
|
|
635
636
|
});
|
|
636
637
|
}
|
|
@@ -32,6 +32,7 @@ import { absoluteFill } from "../utils/absoluteFill.js";
|
|
|
32
32
|
import { macOSColors } from "../ui/gameUI/index.js";
|
|
33
33
|
import { night } from "../ui/night/nightTheme.js";
|
|
34
34
|
import { breadcrumb, typeLabel } from "./treeActions.js";
|
|
35
|
+
import { monoFont } from "../ui/fonts.js";
|
|
35
36
|
|
|
36
37
|
/**
|
|
37
38
|
* How this value gets edited. Driven by the value's own type, which is also
|
|
@@ -270,12 +271,12 @@ const styles = StyleSheet.create({
|
|
|
270
271
|
color: macOSColors.semantic.warning,
|
|
271
272
|
fontSize: 10,
|
|
272
273
|
fontWeight: "700",
|
|
273
|
-
fontFamily:
|
|
274
|
+
fontFamily: monoFont
|
|
274
275
|
},
|
|
275
276
|
path: {
|
|
276
277
|
color: night.color.textTertiary,
|
|
277
278
|
fontSize: 11,
|
|
278
|
-
fontFamily:
|
|
279
|
+
fontFamily: monoFont
|
|
279
280
|
},
|
|
280
281
|
/** Caps the panel's height so a huge blob can't push the buttons off-screen. */
|
|
281
282
|
fieldScroll: {
|
|
@@ -290,7 +291,7 @@ const styles = StyleSheet.create({
|
|
|
290
291
|
paddingHorizontal: 12,
|
|
291
292
|
paddingVertical: 10,
|
|
292
293
|
fontSize: 14,
|
|
293
|
-
fontFamily:
|
|
294
|
+
fontFamily: monoFont
|
|
294
295
|
},
|
|
295
296
|
inputMultiline: {
|
|
296
297
|
minHeight: 110,
|
|
@@ -314,7 +315,7 @@ const styles = StyleSheet.create({
|
|
|
314
315
|
color: night.color.danger,
|
|
315
316
|
fontSize: 11,
|
|
316
317
|
lineHeight: 16,
|
|
317
|
-
fontFamily:
|
|
318
|
+
fontFamily: monoFont
|
|
318
319
|
},
|
|
319
320
|
actions: {
|
|
320
321
|
flexDirection: "row",
|
|
@@ -373,7 +374,7 @@ const styles = StyleSheet.create({
|
|
|
373
374
|
color: night.color.textTertiary,
|
|
374
375
|
fontSize: 16,
|
|
375
376
|
fontWeight: "700",
|
|
376
|
-
fontFamily:
|
|
377
|
+
fontFamily: monoFont
|
|
377
378
|
},
|
|
378
379
|
boolTextActive: {
|
|
379
380
|
color: macOSColors.semantic.warning
|
|
@@ -8,8 +8,9 @@ import { night } from "../ui/night/nightTheme.js";
|
|
|
8
8
|
import { CopyButton } from "../ui/components/CopyButton.js";
|
|
9
9
|
import { ChevronRight } from "../icons/index.js";
|
|
10
10
|
import { IndentGuidesOverlay } from "./IndentGuidesOverlay.js";
|
|
11
|
-
import {
|
|
11
|
+
import { monoFont } from "../ui/fonts.js";
|
|
12
12
|
// Stable constants to prevent re-renders [[memory:4875251]]
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
13
14
|
const HIT_SLOP_10 = {
|
|
14
15
|
top: 10,
|
|
15
16
|
bottom: 10,
|
|
@@ -174,7 +175,7 @@ const STABLE_STYLES = StyleSheet.create({
|
|
|
174
175
|
fontSize: 12,
|
|
175
176
|
fontWeight: "500",
|
|
176
177
|
// font-medium
|
|
177
|
-
fontFamily:
|
|
178
|
+
fontFamily: monoFont,
|
|
178
179
|
marginRight: 8,
|
|
179
180
|
flexShrink: 1
|
|
180
181
|
},
|
|
@@ -184,12 +185,12 @@ const STABLE_STYLES = StyleSheet.create({
|
|
|
184
185
|
fontSize: 12,
|
|
185
186
|
fontWeight: "500",
|
|
186
187
|
// font-medium
|
|
187
|
-
fontFamily:
|
|
188
|
+
fontFamily: monoFont,
|
|
188
189
|
flexShrink: 1
|
|
189
190
|
},
|
|
190
191
|
valueText: {
|
|
191
192
|
fontSize: 12,
|
|
192
|
-
fontFamily:
|
|
193
|
+
fontFamily: monoFont,
|
|
193
194
|
flex: 1,
|
|
194
195
|
color: gameUIColors.primaryLight // text-gray-300
|
|
195
196
|
},
|
|
@@ -19,7 +19,7 @@ import React, { useMemo, useState, useEffect, useRef } from "react";
|
|
|
19
19
|
import { View, Text, ScrollView, StyleSheet, TouchableOpacity } from "react-native";
|
|
20
20
|
import { gameUIColors, night } from "@buoy-gg/shared-ui";
|
|
21
21
|
import { isAbsent } from "../lineDiff.js";
|
|
22
|
-
|
|
22
|
+
import { monoFont } from "../../ui/fonts.js";
|
|
23
23
|
// ============================================
|
|
24
24
|
// TYPES & INTERFACES
|
|
25
25
|
// ============================================
|
|
@@ -785,16 +785,16 @@ const styles = StyleSheet.create({
|
|
|
785
785
|
summaryIcon: {
|
|
786
786
|
fontSize: 14,
|
|
787
787
|
fontWeight: "700",
|
|
788
|
-
fontFamily:
|
|
788
|
+
fontFamily: monoFont
|
|
789
789
|
},
|
|
790
790
|
summaryCount: {
|
|
791
791
|
fontSize: 13,
|
|
792
792
|
fontWeight: "600",
|
|
793
|
-
fontFamily:
|
|
793
|
+
fontFamily: monoFont
|
|
794
794
|
},
|
|
795
795
|
summaryLabel: {
|
|
796
796
|
fontSize: 11,
|
|
797
|
-
fontFamily:
|
|
797
|
+
fontFamily: monoFont,
|
|
798
798
|
opacity: 0.9
|
|
799
799
|
},
|
|
800
800
|
scrollView: {
|
|
@@ -818,7 +818,7 @@ const styles = StyleSheet.create({
|
|
|
818
818
|
},
|
|
819
819
|
lineNumberText: {
|
|
820
820
|
fontSize: 11,
|
|
821
|
-
fontFamily:
|
|
821
|
+
fontFamily: monoFont,
|
|
822
822
|
textAlign: "right"
|
|
823
823
|
},
|
|
824
824
|
marker: {
|
|
@@ -830,7 +830,7 @@ const styles = StyleSheet.create({
|
|
|
830
830
|
},
|
|
831
831
|
markerText: {
|
|
832
832
|
fontSize: 12,
|
|
833
|
-
fontFamily:
|
|
833
|
+
fontFamily: monoFont,
|
|
834
834
|
fontWeight: "600"
|
|
835
835
|
},
|
|
836
836
|
content: {
|
|
@@ -851,33 +851,33 @@ const styles = StyleSheet.create({
|
|
|
851
851
|
},
|
|
852
852
|
expandIcon: {
|
|
853
853
|
fontSize: 11,
|
|
854
|
-
fontFamily:
|
|
854
|
+
fontFamily: monoFont,
|
|
855
855
|
fontWeight: "600"
|
|
856
856
|
},
|
|
857
857
|
colon: {
|
|
858
858
|
fontSize: 12,
|
|
859
|
-
fontFamily:
|
|
859
|
+
fontFamily: monoFont,
|
|
860
860
|
marginHorizontal: 4
|
|
861
861
|
},
|
|
862
862
|
key: {
|
|
863
863
|
fontSize: 11,
|
|
864
|
-
fontFamily:
|
|
864
|
+
fontFamily: monoFont,
|
|
865
865
|
fontWeight: "500",
|
|
866
866
|
opacity: 0.9
|
|
867
867
|
},
|
|
868
868
|
value: {
|
|
869
869
|
fontSize: 11,
|
|
870
|
-
fontFamily:
|
|
870
|
+
fontFamily: monoFont,
|
|
871
871
|
maxWidth: "80%"
|
|
872
872
|
},
|
|
873
873
|
arrow: {
|
|
874
874
|
fontSize: 12,
|
|
875
|
-
fontFamily:
|
|
875
|
+
fontFamily: monoFont,
|
|
876
876
|
fontWeight: "600"
|
|
877
877
|
},
|
|
878
878
|
badge: {
|
|
879
879
|
fontSize: 11,
|
|
880
|
-
fontFamily:
|
|
880
|
+
fontFamily: monoFont,
|
|
881
881
|
fontWeight: "600",
|
|
882
882
|
marginLeft: 8
|
|
883
883
|
},
|
|
@@ -889,19 +889,19 @@ const styles = StyleSheet.create({
|
|
|
889
889
|
},
|
|
890
890
|
emptyIcon: {
|
|
891
891
|
fontSize: 48,
|
|
892
|
-
fontFamily:
|
|
892
|
+
fontFamily: monoFont,
|
|
893
893
|
opacity: 0.2,
|
|
894
894
|
marginBottom: 12
|
|
895
895
|
},
|
|
896
896
|
emptyTitle: {
|
|
897
897
|
fontSize: 14,
|
|
898
|
-
fontFamily:
|
|
898
|
+
fontFamily: monoFont,
|
|
899
899
|
fontWeight: "600",
|
|
900
900
|
marginBottom: 4
|
|
901
901
|
},
|
|
902
902
|
emptySubtitle: {
|
|
903
903
|
fontSize: 12,
|
|
904
|
-
fontFamily:
|
|
904
|
+
fontFamily: monoFont,
|
|
905
905
|
opacity: 0.6
|
|
906
906
|
}
|
|
907
907
|
});
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
export { useFilterManager } from "./useFilterManager.js";
|
|
4
|
-
export { usePersistedState } from "./usePersistedState.js";
|
|
4
|
+
export { usePersistedState, resetPersistedStateCache } from "./usePersistedState.js";
|
|
5
|
+
export { useChangeLog, useSubscribedValue } from "./useChangeLog.js";
|
|
6
|
+
export { useEventStoreEvents } from "./useEventStoreEvents.js";
|
|
5
7
|
export { useSafeAreaInsets } from "./useSafeAreaInsets.js";
|
|
6
8
|
export { getSafeAreaInsets } from "./useSafeAreaInsets.js";
|
|
7
9
|
export { useDeviceInfo, getDeviceInfo, logDeviceInfo } from "./useDeviceInfo.js";
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* React bindings for `ChangeLog` — what useReduxActions, useZustandStateChanges
|
|
5
|
+
* and useJotaiAtomChanges each re-derived: seed state from the log, subscribe
|
|
6
|
+
* for the lifetime of the component, hold a filter, memoize the filtered
|
|
7
|
+
* list, and expose clear / pause / lookup.
|
|
8
|
+
*
|
|
9
|
+
* Tool-specific stats and registries (stores, atoms) compose on top — see
|
|
10
|
+
* `useSubscribedValue` for the registry half.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
14
|
+
export function useChangeLog(log, options = {}) {
|
|
15
|
+
const [items, setItems] = useState(() => log.getAll());
|
|
16
|
+
const [filter, setFilter] = useState(() => options.initialFilter ?? {});
|
|
17
|
+
const [isEnabled, setIsEnabled] = useState(() => log.getEnabled());
|
|
18
|
+
useEffect(() => log.subscribe(setItems), [log]);
|
|
19
|
+
const filterItems = options.filterItems;
|
|
20
|
+
const filteredItems = useMemo(() => filterItems ? filterItems(items, filter) : items, [items, filter, filterItems]);
|
|
21
|
+
const clear = useCallback(() => {
|
|
22
|
+
log.clear();
|
|
23
|
+
}, [log]);
|
|
24
|
+
const toggleCapture = useCallback(() => {
|
|
25
|
+
const next = !isEnabled;
|
|
26
|
+
log.setEnabled(next);
|
|
27
|
+
setIsEnabled(next);
|
|
28
|
+
}, [log, isEnabled]);
|
|
29
|
+
const getById = useCallback(id => log.getById(id), [log]);
|
|
30
|
+
return {
|
|
31
|
+
items,
|
|
32
|
+
filteredItems,
|
|
33
|
+
filter,
|
|
34
|
+
setFilter,
|
|
35
|
+
isEnabled,
|
|
36
|
+
toggleCapture,
|
|
37
|
+
clear,
|
|
38
|
+
getById
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Hold a value that a store pushes through a `(value) => void` listener —
|
|
44
|
+
* a registry of stores, atoms, sources. Seeded synchronously from `read`.
|
|
45
|
+
*/
|
|
46
|
+
export function useSubscribedValue(read, subscribe) {
|
|
47
|
+
const [value, setValue] = useState(read);
|
|
48
|
+
useEffect(() => subscribe(setValue), [subscribe]);
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* React bindings for a `BaseEventStore` — what useRouteEvents and
|
|
5
|
+
* useStorageEvents each hand-rolled: subscribe while enabled (which
|
|
6
|
+
* auto-starts the store's capture), coalesce bursts onto one animation
|
|
7
|
+
* frame so a storm of writes is one commit instead of one per emission,
|
|
8
|
+
* select/limit the list, and report whether capture is live.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { useCallback, useEffect, useState } from "react";
|
|
12
|
+
export function useEventStoreEvents(store, options = {}) {
|
|
13
|
+
const {
|
|
14
|
+
enabled = true,
|
|
15
|
+
maxEvents = 500,
|
|
16
|
+
select
|
|
17
|
+
} = options;
|
|
18
|
+
const [events, setEvents] = useState([]);
|
|
19
|
+
// Tracked locally so it updates reactively with the subscription.
|
|
20
|
+
const [isActive, setIsActive] = useState(enabled);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
if (!enabled) {
|
|
23
|
+
setIsActive(false);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Frame-coalesced: bursts land as ONE commit per frame instead of one
|
|
28
|
+
// per emission — the dominant live-churn cost measured on the network
|
|
29
|
+
// tool (tool-bench 2026-07-06).
|
|
30
|
+
let rafId = null;
|
|
31
|
+
let pending = null;
|
|
32
|
+
const unsubscribe = store.subscribeToEvents(all => {
|
|
33
|
+
pending = all;
|
|
34
|
+
if (rafId != null) return;
|
|
35
|
+
rafId = requestAnimationFrame(() => {
|
|
36
|
+
rafId = null;
|
|
37
|
+
if (!pending) return;
|
|
38
|
+
let next = pending;
|
|
39
|
+
pending = null;
|
|
40
|
+
if (select) next = select(next);
|
|
41
|
+
if (next.length > maxEvents) next = next.slice(0, maxEvents);
|
|
42
|
+
setEvents(next);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
setIsActive(true);
|
|
46
|
+
return () => {
|
|
47
|
+
unsubscribe();
|
|
48
|
+
if (rafId != null) cancelAnimationFrame(rafId);
|
|
49
|
+
// Not setting isActive=false here: a dependency change re-subscribes
|
|
50
|
+
// immediately, and that is not "stopped".
|
|
51
|
+
};
|
|
52
|
+
}, [store, enabled, maxEvents, select]);
|
|
53
|
+
const clearEvents = useCallback(() => {
|
|
54
|
+
store.clearEvents();
|
|
55
|
+
}, [store]);
|
|
56
|
+
return {
|
|
57
|
+
events,
|
|
58
|
+
clearEvents,
|
|
59
|
+
isActive
|
|
60
|
+
};
|
|
61
|
+
}
|