@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
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ToolFooter — the night glass bar pinned to the bottom of a tool: dark
|
|
5
|
+
* backing over the star field, a hairline on top, safe-area padding when
|
|
6
|
+
* docked as a sheet, rounded corners when floating.
|
|
7
|
+
*
|
|
8
|
+
* `EventStepperFooter` draws this bar for the Previous/Next case; the
|
|
9
|
+
* images and react-query tools each re-drew it for their action bars with
|
|
10
|
+
* a comment saying "matches EventStepperFooter". This is that bar as a
|
|
11
|
+
* container, plus `FooterButton` — the mono uppercase plate button those
|
|
12
|
+
* action bars are made of — and the caption/message lines above the row.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { StyleSheet, Text, TouchableOpacity, View } from "react-native";
|
|
16
|
+
import { night } from "../night/nightTheme.js";
|
|
17
|
+
import { useSafeAreaInsets } from "../../hooks/useSafeAreaInsets.js";
|
|
18
|
+
import { monoFont } from "../fonts.js";
|
|
19
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
|
+
export function ToolFooter({
|
|
21
|
+
children,
|
|
22
|
+
safeArea = true,
|
|
23
|
+
paddingBottom = 12,
|
|
24
|
+
floating = false,
|
|
25
|
+
absolute = false,
|
|
26
|
+
gap = 8,
|
|
27
|
+
style,
|
|
28
|
+
testID
|
|
29
|
+
}) {
|
|
30
|
+
const insets = useSafeAreaInsets();
|
|
31
|
+
const bottom = typeof safeArea === "number" ? safeArea + insets.bottom : safeArea ? paddingBottom + insets.bottom : paddingBottom;
|
|
32
|
+
return /*#__PURE__*/_jsx(View, {
|
|
33
|
+
style: [styles.footer, floating && styles.footerFloating, absolute && styles.footerAbsolute, {
|
|
34
|
+
paddingBottom: bottom,
|
|
35
|
+
gap
|
|
36
|
+
}, style],
|
|
37
|
+
testID: testID,
|
|
38
|
+
children: children
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** A row of footer buttons. */
|
|
43
|
+
export function FooterRow({
|
|
44
|
+
children,
|
|
45
|
+
style
|
|
46
|
+
}) {
|
|
47
|
+
return /*#__PURE__*/_jsx(View, {
|
|
48
|
+
style: [styles.row, style],
|
|
49
|
+
children: children
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/** Tracking caption above a row ("MASS ACTIONS — every image on screen"). */
|
|
54
|
+
export function FooterCaption({
|
|
55
|
+
children,
|
|
56
|
+
style
|
|
57
|
+
}) {
|
|
58
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
59
|
+
style: [styles.caption, style],
|
|
60
|
+
numberOfLines: 1,
|
|
61
|
+
children: children
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** Mono feedback line ("Restored 3 images"). */
|
|
66
|
+
export function FooterMessage({
|
|
67
|
+
children,
|
|
68
|
+
tone = "info",
|
|
69
|
+
style
|
|
70
|
+
}) {
|
|
71
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
72
|
+
style: [styles.message, tone === "muted" && styles.messageMuted, style],
|
|
73
|
+
numberOfLines: 1,
|
|
74
|
+
children: children
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
export function FooterButton({
|
|
78
|
+
label,
|
|
79
|
+
onPress,
|
|
80
|
+
accent = false,
|
|
81
|
+
active = false,
|
|
82
|
+
disabled = false,
|
|
83
|
+
icon,
|
|
84
|
+
flex = true,
|
|
85
|
+
size = "sm",
|
|
86
|
+
testID,
|
|
87
|
+
accessibilityLabel,
|
|
88
|
+
style
|
|
89
|
+
}) {
|
|
90
|
+
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
91
|
+
onPress: onPress,
|
|
92
|
+
disabled: disabled,
|
|
93
|
+
activeOpacity: 0.7,
|
|
94
|
+
accessibilityRole: "button",
|
|
95
|
+
accessibilityLabel: accessibilityLabel ?? label,
|
|
96
|
+
accessibilityState: {
|
|
97
|
+
disabled,
|
|
98
|
+
selected: active
|
|
99
|
+
},
|
|
100
|
+
testID: testID,
|
|
101
|
+
style: [styles.button, flex ? styles.buttonFlex : styles.buttonFixed, size === "md" && styles.buttonMd, active && styles.buttonActive, disabled && styles.disabled, style],
|
|
102
|
+
children: [icon, /*#__PURE__*/_jsx(Text, {
|
|
103
|
+
style: [styles.buttonText, size === "md" && styles.buttonTextMd, accent && !disabled && styles.buttonTextAccent, active && styles.buttonTextActive, disabled && styles.buttonTextDisabled],
|
|
104
|
+
children: label
|
|
105
|
+
})]
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
const styles = StyleSheet.create({
|
|
109
|
+
footer: {
|
|
110
|
+
paddingHorizontal: 12,
|
|
111
|
+
paddingTop: 10,
|
|
112
|
+
// Dark glass over the star field — the same bar EventStepperFooter draws.
|
|
113
|
+
backgroundColor: "rgba(5, 5, 5, 0.92)",
|
|
114
|
+
borderTopWidth: 1,
|
|
115
|
+
borderTopColor: night.color.border
|
|
116
|
+
},
|
|
117
|
+
footerFloating: {
|
|
118
|
+
borderBottomLeftRadius: 14,
|
|
119
|
+
borderBottomRightRadius: 14
|
|
120
|
+
},
|
|
121
|
+
footerAbsolute: {
|
|
122
|
+
position: "absolute",
|
|
123
|
+
left: 0,
|
|
124
|
+
right: 0,
|
|
125
|
+
bottom: 0
|
|
126
|
+
},
|
|
127
|
+
row: {
|
|
128
|
+
flexDirection: "row",
|
|
129
|
+
alignItems: "center",
|
|
130
|
+
gap: 6
|
|
131
|
+
},
|
|
132
|
+
caption: {
|
|
133
|
+
color: night.color.textTertiary,
|
|
134
|
+
fontSize: 9,
|
|
135
|
+
fontWeight: "700",
|
|
136
|
+
letterSpacing: 0.8
|
|
137
|
+
},
|
|
138
|
+
message: {
|
|
139
|
+
color: night.color.info,
|
|
140
|
+
fontSize: 10,
|
|
141
|
+
fontFamily: monoFont
|
|
142
|
+
},
|
|
143
|
+
messageMuted: {
|
|
144
|
+
color: night.color.textTertiary,
|
|
145
|
+
fontFamily: undefined
|
|
146
|
+
},
|
|
147
|
+
button: {
|
|
148
|
+
flexDirection: "row",
|
|
149
|
+
alignItems: "center",
|
|
150
|
+
justifyContent: "center",
|
|
151
|
+
gap: 6,
|
|
152
|
+
paddingVertical: 8,
|
|
153
|
+
// No horizontal padding: six of these share one row on a phone, and the
|
|
154
|
+
// mono uppercase label needs every point it can get before it wraps.
|
|
155
|
+
paddingHorizontal: 0,
|
|
156
|
+
borderRadius: 6,
|
|
157
|
+
backgroundColor: night.color.button,
|
|
158
|
+
borderWidth: StyleSheet.hairlineWidth,
|
|
159
|
+
borderColor: night.color.border
|
|
160
|
+
},
|
|
161
|
+
buttonFlex: {
|
|
162
|
+
flex: 1
|
|
163
|
+
},
|
|
164
|
+
buttonFixed: {
|
|
165
|
+
paddingHorizontal: 10
|
|
166
|
+
},
|
|
167
|
+
buttonMd: {
|
|
168
|
+
paddingVertical: 8
|
|
169
|
+
},
|
|
170
|
+
buttonActive: {
|
|
171
|
+
backgroundColor: night.color.accentSoft,
|
|
172
|
+
borderColor: night.color.accentBorderStrong
|
|
173
|
+
},
|
|
174
|
+
buttonText: {
|
|
175
|
+
fontSize: 10,
|
|
176
|
+
fontWeight: "600",
|
|
177
|
+
color: night.color.textSecondary,
|
|
178
|
+
fontFamily: monoFont,
|
|
179
|
+
textTransform: "uppercase"
|
|
180
|
+
},
|
|
181
|
+
buttonTextMd: {
|
|
182
|
+
fontSize: 11,
|
|
183
|
+
color: night.color.text
|
|
184
|
+
},
|
|
185
|
+
buttonTextAccent: {
|
|
186
|
+
color: night.color.warning
|
|
187
|
+
},
|
|
188
|
+
buttonTextActive: {
|
|
189
|
+
color: night.color.accent
|
|
190
|
+
},
|
|
191
|
+
buttonTextDisabled: {
|
|
192
|
+
color: night.color.textTertiary
|
|
193
|
+
},
|
|
194
|
+
disabled: {
|
|
195
|
+
opacity: 0.4
|
|
196
|
+
}
|
|
197
|
+
});
|
|
@@ -40,4 +40,13 @@ export { PowerToggleButton } from "./PowerToggleButton.js";
|
|
|
40
40
|
export { ExpandedInfoRow, PillBadge } from "./ExpandedInfoRow.js";
|
|
41
41
|
|
|
42
42
|
// EventHistoryViewer components
|
|
43
|
-
export { EventHistoryViewer, ViewToggleCards, DiffModeTabs, CompareBar, EventPickerModal } from "./EventHistoryViewer/index.js";
|
|
43
|
+
export { EventHistoryViewer, ViewToggleCards, DiffModeTabs, CompareBar, EventPickerModal } from "./EventHistoryViewer/index.js";
|
|
44
|
+
export { InfoRow } from "./InfoRow.js";
|
|
45
|
+
export { DetailViewToggle } from "./DetailViewToggle.js";
|
|
46
|
+
export { ChangeRow } from "./ChangeRow.js";
|
|
47
|
+
export { Pill } from "./Pill.js";
|
|
48
|
+
export { ToolFooter, FooterRow, FooterCaption, FooterMessage, FooterButton } from "./ToolFooter.js";
|
|
49
|
+
export { EntityFilterView } from "./EntityFilterView.js";
|
|
50
|
+
export { ToggleRow } from "./ToggleRow.js";
|
|
51
|
+
export { ChipStrip, useChipTap } from "./ChipStrip.js";
|
|
52
|
+
export { ExportPreview, sizeWarningLevel } from "./ExportPreview.js";
|
|
@@ -5,6 +5,7 @@ import { ChevronRight } from "../../icons/index.js";
|
|
|
5
5
|
import { CyberpunkButtonOutline } from "./CyberpunkButtonOutline.js";
|
|
6
6
|
import { CyberpunkIconContainer } from "./CyberpunkIconContainer.js";
|
|
7
7
|
import { gameUIColors } from "../gameUI/index.js";
|
|
8
|
+
import { monoFont } from "../fonts.js";
|
|
8
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
export function CyberpunkSectionButton({
|
|
10
11
|
id: _id,
|
|
@@ -91,14 +92,14 @@ const styles = StyleSheet.create({
|
|
|
91
92
|
fontSize: 14,
|
|
92
93
|
fontWeight: "700",
|
|
93
94
|
letterSpacing: 0.5,
|
|
94
|
-
fontFamily:
|
|
95
|
+
fontFamily: monoFont
|
|
95
96
|
},
|
|
96
97
|
subtitle: {
|
|
97
98
|
fontSize: 12,
|
|
98
99
|
fontWeight: "600",
|
|
99
100
|
marginTop: 1,
|
|
100
101
|
letterSpacing: 0.5,
|
|
101
|
-
fontFamily:
|
|
102
|
+
fontFamily: monoFont,
|
|
102
103
|
opacity: 0.85
|
|
103
104
|
},
|
|
104
105
|
arrowContainer: {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The monospace family, per platform. Defined in `@buoy-gg/floating-tools-core`
|
|
5
|
+
* (the base package — the dial styles need it too, and nothing below shared-ui
|
|
6
|
+
* may import from it) and re-exported here, which is where every tool reads it.
|
|
7
|
+
*/
|
|
8
|
+
export { monoFont } from "@buoy-gg/floating-tools-core";
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { StyleSheet, Text, View, TouchableOpacity, Animated } from "react-native";
|
|
4
4
|
import { ChevronDown, ChevronUp } from "../../../icons/index.js";
|
|
5
5
|
import { gameUIColors } from "../constants/gameUIColors.js";
|
|
6
|
+
import { monoFont } from "../../fonts.js";
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
/**
|
|
8
9
|
* Reusable collapsible section component for Game UI
|
|
@@ -90,7 +91,7 @@ const styles = StyleSheet.create({
|
|
|
90
91
|
title: {
|
|
91
92
|
fontSize: 11,
|
|
92
93
|
color: gameUIColors.primary,
|
|
93
|
-
fontFamily:
|
|
94
|
+
fontFamily: monoFont,
|
|
94
95
|
fontWeight: "700",
|
|
95
96
|
letterSpacing: 2,
|
|
96
97
|
opacity: 0.9
|
|
@@ -98,7 +99,7 @@ const styles = StyleSheet.create({
|
|
|
98
99
|
subtitle: {
|
|
99
100
|
fontSize: 9,
|
|
100
101
|
color: gameUIColors.secondary,
|
|
101
|
-
fontFamily:
|
|
102
|
+
fontFamily: monoFont,
|
|
102
103
|
paddingHorizontal: 4,
|
|
103
104
|
marginTop: 2,
|
|
104
105
|
opacity: 0.7
|
|
@@ -110,7 +111,7 @@ const styles = StyleSheet.create({
|
|
|
110
111
|
},
|
|
111
112
|
badgeText: {
|
|
112
113
|
fontSize: 10,
|
|
113
|
-
fontFamily:
|
|
114
|
+
fontFamily: monoFont,
|
|
114
115
|
fontWeight: "700"
|
|
115
116
|
}
|
|
116
117
|
});
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { Fragment } from "react";
|
|
4
4
|
import { StyleSheet, Text, View, Animated } from "react-native";
|
|
5
5
|
import { gameUIColors } from "../constants/gameUIColors.js";
|
|
6
|
+
import { monoFont } from "../../fonts.js";
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
/**
|
|
8
9
|
* Reusable compact stats display component
|
|
@@ -176,13 +177,13 @@ const styles = StyleSheet.create({
|
|
|
176
177
|
fontSize: 11,
|
|
177
178
|
fontWeight: "700",
|
|
178
179
|
color: gameUIColors.primary,
|
|
179
|
-
fontFamily:
|
|
180
|
+
fontFamily: monoFont,
|
|
180
181
|
letterSpacing: 1.5
|
|
181
182
|
},
|
|
182
183
|
headerSubtitle: {
|
|
183
184
|
fontSize: 8,
|
|
184
185
|
color: gameUIColors.secondary,
|
|
185
|
-
fontFamily:
|
|
186
|
+
fontFamily: monoFont,
|
|
186
187
|
opacity: 0.7
|
|
187
188
|
},
|
|
188
189
|
statusIndicator: {
|
|
@@ -198,7 +199,7 @@ const styles = StyleSheet.create({
|
|
|
198
199
|
statusText: {
|
|
199
200
|
fontSize: 9,
|
|
200
201
|
fontWeight: "600",
|
|
201
|
-
fontFamily:
|
|
202
|
+
fontFamily: monoFont,
|
|
202
203
|
letterSpacing: 0.5
|
|
203
204
|
},
|
|
204
205
|
// Health section
|
|
@@ -211,7 +212,7 @@ const styles = StyleSheet.create({
|
|
|
211
212
|
healthLabel: {
|
|
212
213
|
fontSize: 8,
|
|
213
214
|
color: gameUIColors.secondary,
|
|
214
|
-
fontFamily:
|
|
215
|
+
fontFamily: monoFont,
|
|
215
216
|
letterSpacing: 0.5
|
|
216
217
|
},
|
|
217
218
|
healthBarWrapper: {
|
|
@@ -230,7 +231,7 @@ const styles = StyleSheet.create({
|
|
|
230
231
|
healthPercentage: {
|
|
231
232
|
fontSize: 11,
|
|
232
233
|
fontWeight: "700",
|
|
233
|
-
fontFamily:
|
|
234
|
+
fontFamily: monoFont
|
|
234
235
|
},
|
|
235
236
|
// Stats grid
|
|
236
237
|
statsGrid: {
|
|
@@ -257,20 +258,20 @@ const styles = StyleSheet.create({
|
|
|
257
258
|
cardLabel: {
|
|
258
259
|
fontSize: 11,
|
|
259
260
|
fontWeight: "700",
|
|
260
|
-
fontFamily:
|
|
261
|
+
fontFamily: monoFont,
|
|
261
262
|
letterSpacing: 0.5,
|
|
262
263
|
color: gameUIColors.primary
|
|
263
264
|
},
|
|
264
265
|
cardSubtitle: {
|
|
265
266
|
fontSize: 8,
|
|
266
267
|
color: gameUIColors.secondary,
|
|
267
|
-
fontFamily:
|
|
268
|
+
fontFamily: monoFont,
|
|
268
269
|
opacity: 0.7
|
|
269
270
|
},
|
|
270
271
|
statNumber: {
|
|
271
272
|
fontSize: 16,
|
|
272
273
|
fontWeight: "700",
|
|
273
|
-
fontFamily:
|
|
274
|
+
fontFamily: monoFont,
|
|
274
275
|
minWidth: 28
|
|
275
276
|
},
|
|
276
277
|
valueBlock: {
|
|
@@ -279,7 +280,7 @@ const styles = StyleSheet.create({
|
|
|
279
280
|
percentText: {
|
|
280
281
|
fontSize: 9,
|
|
281
282
|
color: gameUIColors.secondary,
|
|
282
|
-
fontFamily:
|
|
283
|
+
fontFamily: monoFont
|
|
283
284
|
},
|
|
284
285
|
statBar: {
|
|
285
286
|
height: 3,
|
|
@@ -305,7 +306,7 @@ const styles = StyleSheet.create({
|
|
|
305
306
|
bottomStatLabel: {
|
|
306
307
|
fontSize: 7,
|
|
307
308
|
color: gameUIColors.muted,
|
|
308
|
-
fontFamily:
|
|
309
|
+
fontFamily: monoFont,
|
|
309
310
|
letterSpacing: 0.5,
|
|
310
311
|
marginBottom: 1
|
|
311
312
|
},
|
|
@@ -313,7 +314,7 @@ const styles = StyleSheet.create({
|
|
|
313
314
|
fontSize: 11,
|
|
314
315
|
fontWeight: "700",
|
|
315
316
|
color: gameUIColors.primary,
|
|
316
|
-
fontFamily:
|
|
317
|
+
fontFamily: monoFont
|
|
317
318
|
},
|
|
318
319
|
bottomDivider: {
|
|
319
320
|
width: 1,
|
|
@@ -4,6 +4,7 @@ import { useState, useCallback } from "react";
|
|
|
4
4
|
import { StyleSheet, Text, View, TouchableOpacity, Animated } from "react-native";
|
|
5
5
|
import { AlertOctagon, AlertTriangle, ChevronDown, ChevronUp } from "../../../icons/index.js";
|
|
6
6
|
import { gameUIColors } from "../constants/gameUIColors.js";
|
|
7
|
+
import { monoFont } from "../../fonts.js";
|
|
7
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
9
|
/**
|
|
9
10
|
* Reusable issues list component with expandable details
|
|
@@ -186,18 +187,18 @@ const styles = StyleSheet.create({
|
|
|
186
187
|
issueKey: {
|
|
187
188
|
fontSize: 11,
|
|
188
189
|
fontWeight: "600",
|
|
189
|
-
fontFamily:
|
|
190
|
+
fontFamily: monoFont
|
|
190
191
|
},
|
|
191
192
|
issueDesc: {
|
|
192
193
|
fontSize: 10,
|
|
193
194
|
color: gameUIColors.secondary,
|
|
194
|
-
fontFamily:
|
|
195
|
+
fontFamily: monoFont,
|
|
195
196
|
flex: 1
|
|
196
197
|
},
|
|
197
198
|
hint: {
|
|
198
199
|
fontSize: 9,
|
|
199
200
|
color: gameUIColors.muted,
|
|
200
|
-
fontFamily:
|
|
201
|
+
fontFamily: monoFont,
|
|
201
202
|
textAlign: "center",
|
|
202
203
|
marginTop: 8,
|
|
203
204
|
paddingTop: 8,
|
|
@@ -226,14 +227,14 @@ const styles = StyleSheet.create({
|
|
|
226
227
|
detailLabel: {
|
|
227
228
|
fontSize: 10,
|
|
228
229
|
color: gameUIColors.secondary,
|
|
229
|
-
fontFamily:
|
|
230
|
+
fontFamily: monoFont,
|
|
230
231
|
fontWeight: "600",
|
|
231
232
|
width: 70
|
|
232
233
|
},
|
|
233
234
|
detailValue: {
|
|
234
235
|
fontSize: 11,
|
|
235
236
|
color: gameUIColors.primary,
|
|
236
|
-
fontFamily:
|
|
237
|
+
fontFamily: monoFont,
|
|
237
238
|
flex: 1,
|
|
238
239
|
lineHeight: 16
|
|
239
240
|
},
|
|
@@ -248,7 +249,7 @@ const styles = StyleSheet.create({
|
|
|
248
249
|
fixLabel: {
|
|
249
250
|
fontSize: 10,
|
|
250
251
|
color: gameUIColors.info,
|
|
251
|
-
fontFamily:
|
|
252
|
+
fontFamily: monoFont,
|
|
252
253
|
fontWeight: "700",
|
|
253
254
|
marginBottom: 6,
|
|
254
255
|
letterSpacing: 0.5
|
|
@@ -256,7 +257,7 @@ const styles = StyleSheet.create({
|
|
|
256
257
|
fixText: {
|
|
257
258
|
fontSize: 11,
|
|
258
259
|
color: gameUIColors.primary,
|
|
259
|
-
fontFamily:
|
|
260
|
+
fontFamily: monoFont,
|
|
260
261
|
lineHeight: 18,
|
|
261
262
|
backgroundColor: gameUIColors.background + "66",
|
|
262
263
|
padding: 8,
|
|
@@ -272,7 +273,7 @@ const styles = StyleSheet.create({
|
|
|
272
273
|
descText: {
|
|
273
274
|
fontSize: 10,
|
|
274
275
|
color: gameUIColors.secondary,
|
|
275
|
-
fontFamily:
|
|
276
|
+
fontFamily: monoFont,
|
|
276
277
|
marginTop: 4,
|
|
277
278
|
lineHeight: 14
|
|
278
279
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { StyleSheet, Text, View, Animated } from "react-native";
|
|
4
4
|
import { absoluteFill } from "../../../utils/absoluteFill.js";
|
|
5
5
|
import { gameUIColors } from "../constants/gameUIColors.js";
|
|
6
|
+
import { monoFont } from "../../fonts.js";
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
/**
|
|
8
9
|
* Reusable status header component showing system health
|
|
@@ -101,7 +102,7 @@ const styles = StyleSheet.create({
|
|
|
101
102
|
label: {
|
|
102
103
|
fontSize: 13,
|
|
103
104
|
fontWeight: "700",
|
|
104
|
-
fontFamily:
|
|
105
|
+
fontFamily: monoFont,
|
|
105
106
|
letterSpacing: 1.5,
|
|
106
107
|
textShadowOffset: {
|
|
107
108
|
width: 0,
|
|
@@ -112,7 +113,7 @@ const styles = StyleSheet.create({
|
|
|
112
113
|
subtitle: {
|
|
113
114
|
fontSize: 10,
|
|
114
115
|
color: gameUIColors.secondary,
|
|
115
|
-
fontFamily:
|
|
116
|
+
fontFamily: monoFont
|
|
116
117
|
},
|
|
117
118
|
badge: {
|
|
118
119
|
paddingHorizontal: 8,
|
|
@@ -122,7 +123,7 @@ const styles = StyleSheet.create({
|
|
|
122
123
|
badgeText: {
|
|
123
124
|
fontSize: 9,
|
|
124
125
|
fontWeight: "700",
|
|
125
|
-
fontFamily:
|
|
126
|
+
fontFamily: monoFont,
|
|
126
127
|
letterSpacing: 1
|
|
127
128
|
},
|
|
128
129
|
indicators: {
|
package/lib/module/ui/index.js
CHANGED
|
@@ -11,6 +11,9 @@ export * from "./backgrounds/index.js";
|
|
|
11
11
|
// Semantic design tokens for tool surfaces
|
|
12
12
|
export { toolTheme } from "./toolTheme.js";
|
|
13
13
|
|
|
14
|
+
// The monospace family, per platform — never write `fontFamily: monoFont`.
|
|
15
|
+
export { monoFont } from "./fonts.js";
|
|
16
|
+
|
|
14
17
|
// Console UI bits
|
|
15
18
|
export { CyberpunkSectionButton } from "./console/CyberpunkSectionButton.js";
|
|
16
19
|
|
|
@@ -18,4 +21,7 @@ export { CyberpunkSectionButton } from "./console/CyberpunkSectionButton.js";
|
|
|
18
21
|
export * from "./gameUI/index.js";
|
|
19
22
|
|
|
20
23
|
// Otto — the Buoy mascot (see OTTO_PLACEMENT_PLAN.md for where he belongs)
|
|
21
|
-
export * from "./otto/index.js";
|
|
24
|
+
export * from "./otto/index.js";
|
|
25
|
+
|
|
26
|
+
// FlatList presets (tuned window/batch values + the E2E clipping guard)
|
|
27
|
+
export { EVENT_LIST_PRESET, LOG_LIST_PRESET, CLIP_OFFSCREEN_CELLS } from "./listPresets.js";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* FlatList presets for tool lists — the tuned window/batch values and the
|
|
5
|
+
* E2E clipping guard that eleven list sites carried as copy-pasted props.
|
|
6
|
+
*
|
|
7
|
+
* Spread them onto a FlatList: `<FlatList {...EVENT_LIST_PRESET} … />`.
|
|
8
|
+
* A tool that later moves to FlashList changes this file, not eleven.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* `removeClippedSubviews` is off in E2E bundles: clipped rows leave the
|
|
13
|
+
* hierarchy entirely, so a row past the fold reads to the test as "the tool
|
|
14
|
+
* stopped capturing".
|
|
15
|
+
*/
|
|
16
|
+
export const CLIP_OFFSCREEN_CELLS = !(typeof process !== "undefined" && process.env?.EXPO_PUBLIC_E2E);
|
|
17
|
+
/**
|
|
18
|
+
* Event / change / request lists: rows are tall-ish and arrive in bursts.
|
|
19
|
+
* Window and batch values are the "tuned" winner of the buoy-optimize
|
|
20
|
+
* batch run on the network tool (2026-07-06, batch-1783396983529-6l7w).
|
|
21
|
+
*/
|
|
22
|
+
export const EVENT_LIST_PRESET = {
|
|
23
|
+
initialNumToRender: 12,
|
|
24
|
+
maxToRenderPerBatch: 8,
|
|
25
|
+
windowSize: 5,
|
|
26
|
+
updateCellsBatchingPeriod: 50,
|
|
27
|
+
removeClippedSubviews: CLIP_OFFSCREEN_CELLS
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Log tails (console, sentry): rows are short single lines, the list is
|
|
32
|
+
* read from the bottom, and a scroll-to-end must not land on blank cells.
|
|
33
|
+
*/
|
|
34
|
+
export const LOG_LIST_PRESET = {
|
|
35
|
+
initialNumToRender: 30,
|
|
36
|
+
maxToRenderPerBatch: 30,
|
|
37
|
+
windowSize: 21,
|
|
38
|
+
removeClippedSubviews: CLIP_OFFSCREEN_CELLS
|
|
39
|
+
};
|
|
@@ -154,12 +154,14 @@ export function NightChip({
|
|
|
154
154
|
selected,
|
|
155
155
|
onPress,
|
|
156
156
|
disabled,
|
|
157
|
-
icon
|
|
157
|
+
icon,
|
|
158
|
+
testID
|
|
158
159
|
}) {
|
|
159
160
|
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
160
161
|
activeOpacity: 0.7,
|
|
161
162
|
disabled: disabled || !onPress,
|
|
162
163
|
onPress: onPress,
|
|
164
|
+
testID: testID,
|
|
163
165
|
style: [styles.chip, selected ? styles.chipSelected : null, disabled ? styles.chipDisabled : null],
|
|
164
166
|
children: [icon, /*#__PURE__*/_jsx(Text, {
|
|
165
167
|
style: [styles.chipText, selected ? styles.chipTextSelected : null],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { buoyColors, gameUIColors } from "./gameUI/constants/gameUIColors.js";
|
|
4
|
-
|
|
4
|
+
import { monoFont } from "./fonts.js";
|
|
5
5
|
/**
|
|
6
6
|
* Semantic design tokens for dev-tool surfaces — the single documented entry
|
|
7
7
|
* point for custom-tool authors (and, over time, internal tools).
|
|
@@ -61,19 +61,19 @@ export const toolTheme = {
|
|
|
61
61
|
fontWeight: "700",
|
|
62
62
|
color: buoyColors.textMuted,
|
|
63
63
|
letterSpacing: 1.2,
|
|
64
|
-
fontFamily:
|
|
64
|
+
fontFamily: monoFont
|
|
65
65
|
},
|
|
66
66
|
/** Monospace values (keys, ids, payload snippets). */
|
|
67
67
|
mono: {
|
|
68
68
|
fontSize: 11,
|
|
69
69
|
color: buoyColors.textSecondary,
|
|
70
|
-
fontFamily:
|
|
70
|
+
fontFamily: monoFont
|
|
71
71
|
},
|
|
72
72
|
/** Timestamps and fine print. */
|
|
73
73
|
small: {
|
|
74
74
|
fontSize: 9,
|
|
75
75
|
color: buoyColors.textMuted,
|
|
76
|
-
fontFamily:
|
|
76
|
+
fontFamily: monoFont
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
79
|
/** 4-based spacing scale used across tool surfaces. */
|